latex-course/lectures/lecture-02-basics-2.tex

452 lines
11 KiB
TeX

\documentclass{latexkurs}
\subtitle{Tabellen, Bilder und Verweise}
\date{\dateThirdLecture}
\begin{document}
\maketitle
\begin{frame}
\frametitle{Ziel dieses Abschnitts}
\begin{itemize}
\item Tabellen
\item Bilder einbinden (nicht erstellen!)
\item Abbildungen
\item Verweise innerhalb eines Dokuments
\end{itemize}
\end{frame}
\section{Tabellen}
\begin{frame}[fragile]
\frametitle{Tabellen}
\onslide<1->
\LaTeX\ stellt die Grundfunktionalität für Tabellen bereit
\begin{columns}
\begin{column}{0.4\linewidth}
\begin{block}<3->{}
\begin{lstlisting}
\begin{tabular}{lr|c||l}
\hline
11 & 22 & 33 & 44 \\
\hline\hline
5 & 6 & 7 & 8 \\
9 & 0 & 1 & 2 \\
\hline
\end{tabular}
\end{lstlisting}
\end{block}
\end{column}
\begin{column}{0.5\linewidth}
\centering
\onslide<2->{%
\begin{tabular}{lr|c||l}
\hline
11 & 22 & 33 & 44 \\
\hline\hline
5 & 6 & 7 & 8 \\
9 & 0 & 1 & 2 \\
\hline
\end{tabular}
}
\end{column}
\end{columns}
\begin{itemize}
\item<4-> \lstinline!{lr|c||l}! ist das \emph{Tabellenformat}
\item<5-> Spalten werden mit \lstinline|&| unterteilt
\item<6-> Zeilen werden mit \lstinline|\\| beendet
\item<7-> \lstinline|\hline| ergibt eine horizontale Linie
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Tabellen}
\onslide<+->
\begin{itemize}
\item<+-> Tabellenformat
\onslide<+->
\begin{itemize}
\item \lstinline|c| ergibt eine zentrierte Spalte
\item \lstinline|r| ergibt eine rechtsbündige Spalte
\item \lstinline|l| ergibt eine linksbündige Spalte
\item \lstinline!p{5cm}! ergibt eine Spalte der Breite 5cm
\item \lstinline!|! ergibt eine vertikale Linie
\end{itemize}
\item<+-> \lstinline!\cline{4-7}! ergibt eine vertikale Linie von Spalte 4 bis Spalte 7
\item<+-> \lstinline!\multicolumn{3}{|c|}{Inhalt}! formatiert die nächsten drei Spalten
im Format \lstinline!|c|! mit \lstinline!Inhalt!
\end{itemize}
\onslide<+->
\medskip
\begin{center}
\begin{tabular}{|lr|c|p{2cm}|}
Hier & geht's & RUND! & \dots \\
\hline\hline
1 & 2 & \multicolumn{2}{c}{ DreiDreiDrei! } \\
\cline{2-3}
4 & 5 & 6 & 7
\end{tabular}
\end{center}
\end{frame}
\begin{frame}[fragile]
\frametitle{Tabellenlayout (modern)}
\onslide<+->
Schönere Tabellenstriche mittels
\begin{lstlisting}
\usepackage{booktabs}
\end{lstlisting}
\onslide<+->
\bigskip
Dann:
\begin{columns}
\begin{column}{0.55\linewidth}
\begin{lstlisting}
\begin{tabular}{l|cr}
\toprule
Tabelle & Kopf & Kopf \\
\midrule
Zeile & Zelle & Zelle \\
Zeile & Zelle & Zelle \\
\bottomrule
\end{tabular}
\end{lstlisting}
\end{column}
\begin{column}{0.45\linewidth}
\centering
\begin{tabular}{l|cr}
\toprule
Tabelle & Kopf & Kopf \\
\midrule
Zeile & Zelle & Zelle \\
Zeile & Zelle & Zelle \\
\bottomrule
\end{tabular}
\end{column}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Pakete für Tabellen}
\onslide<+->
Es gibt eine Reihe von nützlichen Paketen für Tabellen
\begin{itemize}
\item \lstinline!array! für erweiterte Tabellenformate (und kleine Korrekturen)
\item \lstinline!tabularx! für noch mehr Tabellenformate
\item \lstinline!tabu! für noch noch mehr Tabellenformate
\item \lstinline!longtable! für Tabellen, die über mehrere Seiten gehen
\item \dots
\end{itemize}
\end{frame}
\section{Bilder einbinden}
\begin{frame}[fragile]
\frametitle{Bilder einbinden}
\onslide<+->
\begin{itemize}
\item Einbinden von Graphiken in \LaTeX\ mit Hilfe des Pakets \texttt{graphicx}
\item Befehl
\begin{lstlisting}
\includegraphics[\textit{Optionen}]{\textit{Bildname}}
\end{lstlisting}
\end{itemize}
\onslide<+->
\begin{Beispiel}
\begin{lstlisting}
\centerline{\includegraphics[width=0.3\linewidth]{bild.jpg}}
\end{lstlisting}
ergibt
\centerline{\includegraphics[width=0.3\linewidth]{pics/bild.jpg}}
\end{Beispiel}
\end{frame}
\begin{frame}[fragile]
\frametitle{Optionen zum Einbinden von Graphiken}
\onslide<+->
Oft verwendete Optionen von \lstinline{\includegraphics} sind
\begin{itemize}
\item \texttt{width}, \texttt{height} für Breite und Höhe
\item \texttt{keepaspectratio}, so dass nach Angabe von Breite und Höhe
das Bild korrekt skaliert wird
\item \texttt{scale} zur Skalierung des Bildes
\item \texttt{angle} zur Angabe eines Drehwinkels
\item \texttt{origin} zur Angabe des Drehpunktes
\end{itemize}
\onslide<+->
\begin{Beispiel}
\begin{lstlisting}
\centerline{\includegraphics[scale=1.2,origin=cc,
angle=42]{bild.jpg}}
\end{lstlisting}
\centerline{\includegraphics[scale=1.2,origin=cc,angle=42]{pics/bild.jpg}}
\end{Beispiel}
\end{frame}
\begin{frame}[fragile]
\frametitle{Weitere Befehle aus \texttt{graphicx}}
\onslide<+->
\begin{itemize}[<+->]
\item Drehen von Inhalten mit
\lstinline!\rotatebox[$\textit{Optionen}$]{$\textit{Winkel}$}{$\textit{Inhalt}$}!
\onslide<+->
\begin{lstlisting}
\rotatebox[origin=lB]{-30}{TextTextTextText}
\end{lstlisting}
\rotatebox[origin=lB]{-30}{TextTextTextText}
\item \lstinline!\resizebox{$\textit{Breite}$}{$\textit{Höhe}$}{$\textit{Text}$}!
\onslide<+->
\begin{lstlisting}
\resizebox{1cm}{.4cm}{Hier ist es eng...}
\end{lstlisting}
\resizebox{1cm}{.4cm}{Hier ist es eng...}
\item \lstinline!\scalebox{$\textit{horizontal}$}[$\textit{vertikal}$]{$\textit{Text}$}!
\onslide<+->
\begin{lstlisting}
\scalebox{3}[-1]{Breitergehtnicht}
\end{lstlisting}
\scalebox{3}[-1]{Breitergehtnicht}
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Ausblick: Grafiken erstellen}
\begin{center}
\begin{tikzpicture}[
thick,
>=stealth',
dot/.style = {
draw,
fill = white,
circle,
inner sep = 0pt,
minimum size = 4pt
}
]
\coordinate (O) at (0,0);
\draw[->] (-0.3,0) -- (8,0) coordinate[label = {below:$x$}] (xmax);
\draw[->] (0,-0.3) -- (0,5) coordinate[label = {right:$f(x)$}] (ymax);
\path[name path=x] (0.3,0.5) -- (6.7,4.7);
\path[name path=y] plot[smooth] coordinates {(-0.3,2) (2,1.5) (4,2.8) (6,5)};
\scope[name intersections = {of = x and y, name = i}]
\fill[gray!20] (i-1) -- (i-2 |- i-1) -- (i-2) -- cycle;
\draw (0.3,0.5) -- (6.7,4.7) node[pos=0.8, below right] {Sekante};
\draw[red] plot[smooth] coordinates {(-0.3,2) (2,1.5) (4,2.8) (6,5)};
\draw (i-1) node[dot, label = {above:$P$}] (i-1) {} -- node[left,yshift=-3pt]
{$f(x_0)$} (i-1 |- O) node[dot, label = {below:$x_0$}] {};
\path (i-2) node[dot, label = {above:$Q$}] (i-2) {} -- (i-2 |- i-1)
node[dot] (i-12) {};
\draw (i-12) -- (i-12 |- O) node[dot,
label = {below:$x_0 + \varepsilon$}] {};
\draw[blue, <->] (i-2) -- node[right] {$f(x_0 + \varepsilon) - f(x_0)$}
(i-12);
\draw[blue, <->] (i-1) -- node[below] {$\varepsilon$} (i-12);
\path (i-1 |- O) -- node[below] {$\varepsilon$} (i-2 |- O);
\draw[gray] (i-2) -- (i-2 -| xmax);
\draw[gray, <->] ([xshift = -0.5cm]i-2 -| xmax) -- node[fill = white]
{$f(x_0 + \varepsilon)$} ([xshift = -0.5cm]xmax);
\endscope
\end{tikzpicture}
\end{center}
\onslide<2->{mit \textcolor{red}{Ti\textit{k}Z} $\leadsto$ später!}
\vfill
\hbox{\tiny\url{http://www.texample.net/tikz/examples/linear-regression/}}
\end{frame}
\section{Abbildungen}
\begin{frame}[fragile]
\frametitle{Abbildungen}
\begin{itemize}
\item<+-> Größere Bilder und Tabellen werden mittels \emph{Gleitumgebungen} gesetzt:
\onslide<+->
\begin{lstlisting}
\begin{figure}
$\dots$
\caption{Bildunterschrift}
\end{figure}
\end{lstlisting}
\onslide<+->
\LaTeX\ platziert dann die Bilder auf der aktuellen oder auf einer der folgenden Seiten.
\item<+-> Für Tabellen gibt es die spezielle \texttt{table}-Umgebung.
\item<+-> Verzeichnisse für Abbildungen und Tabellen mit \lstinline!\listoffigures! und
\lstinline!\listoftables!.
\item<+-> Nützliches Paket: \lstinline!float!.
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Platzierung von Abbildungen}
\onslide<+->
Die Platzierung wird durch die entsprechenden \textit{Optionen} angegeben:
\onslide<+->
\begin{description}
\item[h] Platzierung an der aktuellen Stelle
\item[t] Platzierung oben auf einer Seite
\item[b] Platzierung unten auf einer Seite
\item[p] Platzierung auf einer extra Seite
\end{description}
\onslide<+->
Optionen können gemischt werden.
\onslide<+->
\begin{lstlisting}
\begin{figure}[tp]
Diese \enquote{Abbildung} erscheint entweder ober auf
einer Seite, oder auf einer extra Seite.
\caption{Bildunterschrift}
\end{figure}
\end{lstlisting}
\end{frame}
\section{Referenzieren}
\begin{frame}[fragile]
\frametitle{Verweise im Dokument}
\onslide<+->
\LaTeX\ erlaubt die automatische Erstellung von Verweisen innerhalb des Dokuments
\begin{itemize}
\item<+-> mit dem Befehl \lstinline!\label{label-name}! wird ein \emph{Label} im Dokument
gesetzt
\item<+-> mit dem Befehl \lstinline!\ref{label-name}! wird auf dieses Label verwiesen
\end{itemize}
\onslide<+->
\begin{lstlisting}
\section{Einführung}
\label{sec:introduction}
Das Problem, welches wir behandeln wollen, ist wichtig!
\section{Das Problem}
Siehe Abschnitt~\ref{sec:introduction}!
\end{lstlisting}
\onslide<+->
\emph{Wichtig}: Zweimaliges Übersetzen notwendig!
\end{frame}
\begin{frame}[fragile]
\frametitle{Platzierung von Labeln}
\onslide<+->
Die Formatierung von \lstinline!\ref{label-name}! hängt von dem Verweis ab.
\onslide<+->
\begin{lstlisting}
\section{Abschnitt}
\label{sec:section} % Verweis auf Abschnittsnummer
\begin{enumerate}
\item\label{item:1} Eintrag % Verweis auf Einzelpunkt
\end{enumerate}
\begin{figure}
$\dots$
\caption{\label{figure} Bildunterschrift}
% Verweis auf Abbildung
\end{figure}
\end{lstlisting}
\onslide<+->
Verweis auf die Seitenzahl mit \lstinline!\pageref{label-name}!.
\end{frame}
\begin{frame}[fragile]
\frametitle{Nützliche Pakete}
\onslide<+->
Es gibt einige nützliche Pakete, die Verweise besser formatieren können
\begin{itemize}
\item<+-> \lstinline!ntheorem! gibt den Befehl \lstinline!\thref{thm:main-theorem}!,
welcher automatisch den Typ der Aussage hinzufügt (Satz~5.1, Lemma~5.1, Bemerkung~5.1,
\dots)
\item<+-> \lstinline!cleveref! gibt \lstinline!\cref! und weitere Befehle, welche
automatisch den Typ der Referenz hinzufügen
\item<+-> \lstinline!varioref! gibt \lstinline!\vref!, \lstinline!\vpageref!, und
weitere, welche intelligente Formatierungen abhängig vom Abstand zwischen Referenz und
Verweis erlauben
\end{itemize}
\end{frame}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% TeX-engine: luatex
%%% ispell-local-dictionary: "de_DE"
%%% End: