latex-course/lectures/lecture-07-beamer.tex

477 lines
10 KiB
TeX

\documentclass{latexkurs}
\subtitle{Präsentationen}
\date{\dateEighthLecture}
\begin{document}
\maketitle
\begin{frame}
\frametitle{Ziel dieses Abschnittes}
\onslide<+->
\begin{itemize}
\item Erstellung von Präsentationen mit \LaTeX\texttt{-beamer}
\item \enquote{Vieles, was Powerpoint kann} (nur schöner)
\item Fallstricke und Tipps zur Erstellung von Präsentationen mit \LaTeX
\end{itemize}
\onslide<+->
\bigskip
Mehr Details in der Dokumentation von \texttt{beamer} (\texttt{texdoc
beamer}).
\end{frame}
\section{\LaTeX\texttt{-beamer}}
\begin{frame}
\frametitle{Was ist und was soll \LaTeX-\texttt{beamer}?}
\onslide<1->
\begin{wrapfigure}{r}{3cm}
\onslide<3->{%
\includegraphics[width=\linewidth,keepaspectratio]{pics/till-tantau}
\rotatebox{90}{%
\scalebox{0.3}{\url{http://www.tcs.uni-luebeck.de/mitarbeiter/tantau/}}}}
\end{wrapfigure}
~
\begin{itemize}
\item<2-> \LaTeX-\texttt{beamer} ist eine Dokumentenklasse für das Erstellen von
Präsentationen mit \LaTeX
\item<3-> Entwickelt von Till Tantau, weiter betreut von Joseph Wright and Vedran
Miletić
\item<4-> Verbindet Präsentationen mit der typographischen Qualität von \TeX
\item<5-> Weit verbreitet in der akademischen Welt (und darüber hinaus?)
\item<6-> Präsentationen ähnlich zu anderen Systemen (meist aber etwas
\enquote{statischer})
\item<7-> Einfach zu bedienen
\end{itemize}
\end{frame}
\section{Grundaufbau einer Präsentation mit \LaTeX\texttt{-beamer}}
% We define a new frame environment here, so we can use `\end{frame}' in
% listings on the slides (otherwise beamer will look for `\end{frame}' as the
% end of the current frame, and will get confused by the `\end{frame}' in the
% code listing).
\newenvironment{slide}
{\begin{frame}[fragile,environment=slide]}
{\end{frame}}
% Hm, vielleicht mal die Dokumentenklasse erwähnen … ?
\begin{slide}
\frametitle{Frames}
\onslide<+->
Einzelne Folien werden mit \lstinline!\begin{frame}! \dots \lstinline!\end{frame}!
erzeugt:
\begin{lstlisting}
\begin{frame}
\frametitle{Frames}
$\dots$
\end{frame}
\end{lstlisting}
\onslide<+->
Hinter \lstinline!\begin{frame}! können noch Optionen in \lstinline![...]! angegeben
werden:
\begin{itemize}
\item \lstinline!label=$\textit{name}$!, um einzelnen Folien Label zu geben
\item \lstinline{fragile}, falls die Folie \lstinline{verbatim}-Text oder Listings
enthält
\item \lstinline{plain}, falls die Folie keine Kopf- und Fußzeile haben soll
\item \lstinline{shrink}, \lstinline{squeeze}, \lstinline{b}, \lstinline{c},
\lstinline{t}, \dots
\end{itemize}
\end{slide}
\begin{slide}
\frametitle{Teile einer Folie}
\onslide<+->
Eine Folie hat in \texttt{beamer} folgende Bestandteile
\begin{itemize}
\item Kopf- und Fußzeile
\item Linke und rechte Sidebar
\item Navigationsleiste
\item Navigationssymbole
\item Logo
\item Folientitle
\item Hintergrund
\item Inhalt
\end{itemize}
\onslide<+->
Alle diese Komponenten lassen sich mit Hilfe von \textit{Templates} anpassen. (siehe
Dokumentation und auch später)
\onslide<+->
\begin{Beispiel}
\begin{lstlisting}
\setbeamertemplate{navigation symbols}{}
\end{lstlisting}
deaktiviert die Navigationssymbole in der Präsentation.
\end{Beispiel}
\end{slide}
\section{Overlays}
\begin{slide}
\frametitle{Overlay-Kommandos}
\onslide<+->
Beamer stellt verschiedene Möglichkeiten bereit, \textit{overlays} zu erzeugen, welche
dann als aufeinander folgenden Seiten im erzeugten Dokument dargestellt werden:
\onslide<+->
\begin{itemize}
\item \lstinline{\pause}
\item \lstinline{\onslide}
\item \lstinline{\uncover}
\item \lstinline{\visible}, \lstinline{\invisible}
\item \lstinline{\only}
\item \lstinline{\alt}, \lstinline{\temporal}, \lstinline{onlyenv},
\lstinline{overprint}, \lstinline{altenv}, \lstinline{overlayarea}, \dots
\end{itemize}
\onslide<+->
Mit Hilfe von \lstinline{\pause} können einzelne Abschnitte nacheinander aufgedeckt
werden.
\onslide<+->
Alle anderen Anweisungen werden durch \emph{Overlay-Spezifikationen} gesteuert.
\end{slide}
\begin{slide}
\frametitle{Overlay-Spezifikationen}
\onslide<+->
\begin{Beispiele}
\begin{lstlisting}
\onslide<2-4>{Ich bin ein Text}
\end{lstlisting}
erscheint auf Folien 2 bis 4 (inklusive); Text nimmt aber Platz ein, auch wenn er
nicht gezeigt wird
\onslide<+->
\begin{lstlisting}
\onslide<2->{Ich bin noch ein Text}
\end{lstlisting}
erscheint auf Folie 2 und bleibt bis zum Ende
\onslide<+->
\begin{lstlisting}
\onslide<-4>{Text Text Text}
\end{lstlisting}
erscheint von Anfang an, verschwindet dann aber auf Folie 5
\onslide<+->
\begin{lstlisting}
\onslide<2->
Kreativität darf man hier nicht erwarten \dots
\end{lstlisting}
Alles nach dieser Anweisung wird erst ab Folie 2 angezeigt.
\end{Beispiele}
\end{slide}
\begin{slide}
\frametitle{Overlay-Spezifikationen}
\onslide<+->
\begin{block}{\textcolor{red}{Problem}}
Die explizite Angabe von Folien-Nummern ist unhandlich.
\end{block}
\onslide<+->
Aber es geht auch ohne!
\onslide<+->
\begin{Beispiele}
\begin{lstlisting}
\onslide<+->
\end{lstlisting}
Alles, was dieser Anweisung folgt, wird auf der \emph{nächsten} Folie aufgedeckt.
\onslide<+->
\begin{lstlisting}
\onslide<+->{Teeeeeeeext}
\end{lstlisting}
Der Text wird auf der folgenden Folie angezeigt.
\onslide<+->
\begin{lstlisting}
\onslide<.->{Texxxxxxxxxt}
\end{lstlisting}
Der Text wird auf der \emph{aktuellen} Folie mit angezeigt. (sinnvoll mit
\lstinline{\alert} statt \lstinline{\onslide})
\end{Beispiele}
\end{slide}
\begin{slide}
\frametitle{Weitere Anweisungen mit Overlay-Spezifikationen}
\onslide<+->
\begin{Beispiele}
\begin{lstlisting}
\alert<2>{ACHTUNG!}
\end{lstlisting}
Zeigt \alert<.>{ACHTUNG!} auf Folie 2 hervorgehoben an.
\onslide<+->
\begin{lstlisting}
\item<+-> Noch ein Text ohne Sinn
\end{lstlisting}
Zeigt den entsprechenden Punkt auf der nächsten Folie an
\begin{overprint}[\linewidth]
\onslide<+| handout:0>
\begin{lstlisting}
\begin{itemize}
\item<+-> Foo
\item<+-> Bar
\item<+-> Baz
\end{itemize}
\end{lstlisting}
\onslide<+-| handout:1>
\begin{lstlisting}
\begin{itemize}[<+->]
\item Foo
\item Bar
\item Baz
\end{itemize}
\end{lstlisting}
\end{overprint}
\end{Beispiele}
\end{slide}
\section{Strukturierungen}
\lstset{morekeywords=[1]{titlepage}}
\begin{slide}
\frametitle{Titelfolie}
Mit
\begin{lstlisting}
\frame{\titlepage}
\frame[plain]{\titlepage}
\frame[plain]{\maketitle}
\maketitle
\end{lstlisting}
\onslide<+->
Die Kommandos \lstinline{\author}, \lstinline{\title}, \lstinline{\subtitle},
\lstinline{\date} funktionieren wie gewohnt.
\onslide<+->
Darüber hinaus gibt es noch \lstinline{\institute}, \lstinline{\titlegraphic},
\lstinline{\subject}, \lstinline{\keywords}.
\end{slide}
\begin{slide}
\frametitle{Abschnitte}
\onslide<+->
Abschnitte werden wie \LaTeX\ üblich mit \lstinline{\section}, \dots\ angelegt
\begin{lstlisting}
\section{Overlays}
\end{lstlisting}
\onslide<+->
Je nach Theme wird dies dann in den Kopf- oder Fußzeilen der Folien angezeigt.
\end{slide}
\begin{slide}
\frametitle{Inhaltsverzeichnis}
\onslide<1->
Einfach wie üblich mit
\begin{lstlisting}
\tableofcontents
\end{lstlisting}
\onslide<2->{\tableofcontents}
\end{slide}
\begin{slide}
\frametitle{Inhaltsverzeichnis}
\onslide<1->
Optionen sind auch möglich
\begin{lstlisting}
\tableofcontents[currentsection]
\end{lstlisting}
\onslide<2->{\tableofcontents[currentsection]}
\end{slide}
\begin{slide}
\frametitle{Inhaltsverzeichnis}
\onslide<+->
\begin{lstlisting}
\AtBeginSection{%
\tableofcontents[currentsection]
}
\end{lstlisting}
zeigt bei jedem neuen Abschnitt an, wo man sich gerade in der Präsentation befindet.
\end{slide}
\begin{slide}
\frametitle{Blöcke}
\onslide<+->
Einträge auf einer Folie können in \emph{Blöcken} gruppiert werden:
\begin{lstlisting}
\begin{block}{Titel}
Text Text Text
\end{block}
\end{lstlisting}
\onslide<+->
\begin{block}{Titel}
Text Text Text
\end{block}
\onslide<+->
Je nach Theme können die Blöcke auch Schatten haben:
\setbeamertemplate{blocks}[rounded][shadow=true]
\begin{block}{Titel}
Text Text Text
\end{block}
\setbeamertemplate{blocks}[rounded][shadow=false]
\onslide<+->
Vordefinierte Blöcke: \texttt{Satz}, \texttt{Beweis}, \texttt{Beispiel}, \dots
\end{slide}
\section{Anderes}
\begin{frame}[fragile]
\frametitle{Farben und Aussehen einstellen}
\onslide<+->
\LaTeX-\texttt{beamer} bietet viele Möglichkeiten, das Aussehen anzupassen.
Hier nur beispielhaft die (veralteten) Einstellungen für diesen Vortrag:
\onslide<+->
\begin{lstlisting}
\usetheme{CambridgeUS}
\setbeamertemplate{blocks}[rounded][shadow=false]
\setbeamertemplate{items}{\raisebox{0.3ex}{%
\tikz[scale=0.13]%
\draw[fill] (0,0) -- (0,1) -- (0.9,0.5) -- cycle;}}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamerfont{title}{series=\bfseries}
\end{lstlisting}
\onslide<+->
Viel mehr in der Dokumentation!
\end{frame}
\begin{slide}
\frametitle{Schnelleres Übersetzen}
\onslide<+->
\begin{block}{\textcolor{red}{Problem}}
Mit steigender Zahl von Folien wird die Übersetzung merklich langsamer.
\end{block}
\onslide<+->
\begin{block}{\textcolor{green!50!black}{Lösung}}
Nur die Folien übersetzen, die aktuell benötigt werden:
\begin{lstlisting}
% in der Präambel
\includeonlyframes{current}
% im Dokument
\begin{frame}[label=current]
...
\end{frame}
\end{lstlisting}
\end{block}
\end{slide}
\begin{slide}
\frametitle{Handouts}
\onslide<+->
\begin{block}{\enquote{\textcolor{red}{Problem}}}
Handouts erstellen.
\end{block}
\onslide<+->
Mit
\begin{lstlisting}
\documentclass[handout]{beamer}
\mode<handout>{%
\usepackage{pgfpages}
\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
}
\end{lstlisting}
\onslide<+->
Es sind dann eventuell kleine Anpassungen im Dokument nötig.
\end{slide}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% TeX-engine: luatex
%%% ispell-local-dictionary: "de_DE"
%%% End:
% LocalWords: Navigationssymbole Slides Slide Frame