- Łukasz Stelmach – Java JBoss Linux - http://blog.stelmisoft.pl -

Tworzenie prezentacji przy użyciu LaTeX cz. 3: budowa prezentacji

We wcześniejszych wpisach przedstawiłem w jaki sposób utworzyć szkielet prezentacji w LaTeXu. Teraz czas na utworzenie właściwych slajdów. Od razu uprzedzę, znajdą się tu tylko same podstawowe informacje, akurat to co było mi potrzebne do utworzenia prezentacji o Subversion.

Konstrukcja slajdu

Slajdy w klasie Beamer są zawarte między dwoma tagami: \begin{frame} oraz \end{frame}. Tylko to co zostanie umieszczone pomiędzy nimi zostanie wzięte pod uwagę i na tej podstawie zostaną wygenerowane slajdy.

Generalnie wynikiem pojedynczej ramki (frame) jest utworzenie pojedynczego slajdu w pliku PDF. Nie zawsze jednak tak będzie, istnieją polecenia, których użycie spowoduje wygenerowanie większej ilości slajdów.

I tak wygląda podstawowy slajd:

[4]

Przykładowy slajd w LaTeXu

Jego definicja:

237
238
239
240
241
242
243
244
245
246
247
248
249
250
\begin{frame}[c]{Kiedy blokowanie jest potrzebne}
  Model kopiuj -- modyfikuj -- scal sprawdza się bardzo
  dobrze przy założeniu, że mamy do czynienia z plikami
  tekstowymi, które są łatwe w zarządzaniu i sprawdzaniu
  co się zmieniło.

  \pause

  W przypadku pracy z plikami binarnymi, których nie da się
  łatwy czy też nawet automatyczny sposób scalić, przydatne
  może być blokowanie plików przed rozpoczęciem ich
  modyfikacji.

\end{frame
}

Slajd ten jest zbudowany w nastepujący sposób:

Wypunktowania na slajdach

Jednym z najczęściej używanych elementów prezentacji są różnego rodzaju wypunktowania. W przypadku tworzenia prezentacji mamy można zdefiniować ich trzy rodzaje:

Lista wartości

Przykładowy wygląd listy wartości:

LaTeX - lista wartości [5]

LaTeX - lista wartości

I kod który odpowiada za wygenerowanie tej strony:

73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
\begin{frame}{Czym jest repozytorium}
    \begin{itemize}
        \item [6] scentralizowany system współdzielenia danych
        \item [6] operacje jakie można wykonać na repozytorium:
        \begin{itemize}
            \item [6] dodawanie plików
            \item [6] usuwanie plików
            \item [6] zmiany nazwy pliku
            \item [6] przeniesienie pliku do innego katalogu
            \item [6] zmiana właściwości
        \end{itemize}
        \item [6] historia zmian
        \item [6] odczyt danych przez klienta
    \end{itemize}
\end{frame
}

Nowe elementy, które się pojawiły:

Jak widać, listy można także zagnieżdżać poprzez ponowne rozpoczęcie definicji listy numerowanej. Jeżeli z jakiś powodów chcemy wyświetlić część elementów listy, lub wyświetlać je po kolei, to zawsze można w odpowiednim miejscu dodać polecenie \pause.

Lista numerowana

Tworzenie list numerowanych wygląda praktycznie tak samo jak tworzenie zwykłej listy (zmienia się tylko jej typ). Tak wygląda slajd w wybranym temacie:

LaTeX - lista numerowana [7]

LaTeX - lista numerowana

I kod odpowiedzialny za jego wygenrowanie:

129
130
131
132
133
134
135
136
137
138
\begin{frame}{Zablokuj -- zmodyfikuj -- odblokuj}{Schemat działania}
    \begin{itemize}
        \item [6] sposób działania:
        \begin{enumerate}
            \item [6] zablokuj plik
            \item [6] zmodyfikuj plik
            \item [6] odblokuj plik
        \end{enumerate}
    \end{itemize}
\end{frame
}

Elementy nowe:

Listy z wartościami definiowanymi

Można także stworzyć listę, w której będzie się podawało definicję, która jest opisywana:

LaTeX - lista definiowanych wartości [8]

LaTeX - lista definiowanych wartości

Kod, który definiuje tę stronę:

340
341
342
343
344
345
346
347
\begin{frame}{Budowa repozytorium}
    Zalecany podział repozytorium na katalogi:
    \begin{description}[\texttt [9]{branches}]
        \item [6][\texttt [9]{trunk}] aktualna wersja danych (np. bieżący rozwój projektu)
        \item [6][\texttt [9]{branches}] poszczególne odgałęzienia projektu
        \item [6][\texttt [9]{tags}] oznakowane wersje
    \end{description}
\end{frame
}

Wstawienie grafiki

Kolejnym elementem często umieszczanym w prezentacjach są rożnego rodzaju obrazki. W prezentacji wyglądają one tak:

LaTeX - grafika na slajdzie [10]

LaTeX - grafika na slajdzie

Kod, który generuje ten slajd:

98
99
100
101
102
103
\begin{frame}{Współdzielenie plików}{Pobranie plików z repozytorium}
    \begin{figure}[t]
        \includegraphics [11][height=0.62\textheight,keepaspectratio=true,clip=true,trim=0 0 0 100]{img/wsp_plik_1.png}
        \caption [12]{Użytkownicy pobierają plik z repozytorium}
    \end{figure}
\end{frame
}

Znaczenie nowych elementów:

Tworzenie ramek

Można na prezentacji także umieszczać rożnego rodzaju ramki pozwalające na grupowanie informacji znajdujących się na slajdzie.

LaTeX - tworzenie ramek [13]

LaTeX - tworzenie ramek

I kod pozwalający na wygenerowanie tego slajdu:

329
330
331
332
333
334
335
336
337
338
\begin{frame}{Utworzenie repozytorium}
    \begin{block}{Linia poleceń}
        \texttt [9]{svnadmin create NoweRepozytorium}
    \end{block}
    \begin{block}{TortoiseSVN}
        \begin{figure}
            \includegraphics [11][scale=0.45,keepaspectratio=true]{img/20_tortoise_create_new_repository.png}
        \end{figure}
    \end{block}
\end{frame
}

Jak widać, za utworzenie ramki odpowiada konstrukcja \begin{block}{Linia poleceń}. Pozwala ona na zdefiniowanie ramki oraz jej tytułu.

Pojawia się także dodatkowa opcja w polecenie \includegraphics [11]: scale=0.45. Pozwala ona na skalowanie obrazka o zadaną wielkość.

Wstawienie fragmentów kodu

Przy normalnym używaniu LaTeXa musimy uważać na obecność znaków specjalnych, które są w odpowiedni sposób przez niego interpretowane. Czasem istnieje potrzeba wstawienia fragmentu np. kodu źródłowego, który zawiera pokaźna ilość tych znaków specjalnych (np. przykład użycia jakiejś metody w LaTeXu). Przydatna wtedy jest możliwość wyłączenia interpretacji tekstu jako poleceń Tex.

LaTeX - wyłączenie interpretacji poleceń TeX [14]

LaTeX - wyłączenie interpretacji poleceń TeX

I kod źródłowy, który pozwala na wygenerowanie powyższego slajdu:

445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
\begin{frame}[fragile]{Konflikty związane z plikami}{Zmiany w wewnątrz pliku}
    W przypadku wystąpienia tego rodzaju konfliktu w pliku
    źródłowym można znaleźć następujące linie:
   
    \begin{verbatim}
        < <<<<<< nazwa pliku
        twoje zmiany       
        =======
        kod pobrany z repozytorium
        >>>>>>> nr rewizji
    \end{verbatim}
   
    Można teraz tak zmodyfikować plik, aby najlepiej
    odzwierciedlał stan faktyczny.
\end{frame
}

Na co zwrócić uwagę:

Przykładowy projekt – prezentacja Subversion

Powyższe informacje wystarczyły mi do utworzenia prezentacji o Subversion. Poniżej link zarówno do pliku PDF z prezentacją, jak i do jej źródeł w LaTeXu:

Źródła