A LaTeX Course.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

446 lines
11 KiB

\documentclass{latexkurs}
\subtitle{Tabellen, Bilder und Verweise}
\date{2015-11-23}
\begin{document}
\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!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{}\hfill\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: