Abbildungen und Tabellen sperrt man in Gleitumgebungen, die automatisch oben oder unten auf der Seite erscheinen, damit sie nicht den Textfluss unterbrechen. Zusätzlich versieht man sie mit einer Bild- beziehungsweise Tabellenunterschrift und einer Marke, um sich im laufenden Text darauf beziehen zu können.
Das Inhaltsverzeichnis wird üblicherweise durch eine Liste von Abbilundgen und Tabellen ergänzt.
\begin{document} … \tableofcontents \listoffigures \listoftables … \end{document}
Die Objekte werden automatisch durchnummeriert und erscheinen
zusammen mit ihrer Unterschrift im jeweiligen Verzeichnis.
Mit \ref{Label}
verweist man im Text auf
auf ein Gleitobjekt. Jede Marke sollte mindestens einen Verweis haben.
Das Paket graphicx erlaubt
das Einbinden externer Vektor- und Pixelgrafiken. Der Befehl
\includegraphics{File}
fügt die Grafik an der entsprechenden Stelle ein. Vektorgrafiken
sollten im
PDF- oder
SVG-Format vorliegen, Pixelgrafiken im
PNG- oder
JPEG-Format.
\usepackage{graphicx} … \begin{figure} \centering \includegraphics[width=\textwidth]{File} \caption{Text} \label{fig:Label} \end{figure}
Manchmal muß man ganzseitige Bilder und Tabellen im Querformat
präsentierten. Dies ermöglicht das Paket
rotating mit den Umgebungen
sidewaysfigure
und sidewaystable
:
\usepackage{rotating} … \begin{sidewaysfigure} \includegraphics[width=\textwidth]{File} \caption{Text} \end{sidewaysfigure}
Einfache Tabellen setzt man in eine tabular
-Umgebung.
\usepackage{booktabs} … \begin{table} \centering \begin{tabular}{ColumnFormat} … \end{tabular} \caption{Text} \label{tab:Label} \end{table}
Das Spaltenformat legt die Anzahl und Ausrichtung der Spalten fest.
Zellen werden mit &
getrennt,
Zeilen mit \\
beendet.
\multicolumn{Number}{ColumnFormat}{Text}
fasst benachbarte Zellen zusammen.
l
r
c
X
Y
p{Width}
D{.}{,}{-1}
{\columncolor[ColorSpace]{Value}}
|
||
@{Trennzeichen}
Für professionelle Publikationen verzichtet man auf senkrechte Trennlinien und verwendet die Linien und Abstandshalter aus dem Paket booktabs.
\usepackage{booktabs} … \begin{table} \begin{tabular}{llD{.}{,}{-1}} \toprule & \multicolumn{2}{c}{Überschrift} \\ \cmidrule{2-3} Artikel & Art & \multicolumn{1}{r}{Preis} \\ \midrule Fnord & toll & 123.12 \\ Snafu & fein & 11.00 \\ \addlinespace Summe & & 134.12 \\ \bottomrule \end{tabular} \caption{Text} \label{tab:Marke} \end{table}
Heraus kommte dabei in etwa folgende Tabelle:
Überschrift | ||
Artikel | Art | Preis |
Fnord | toll | 123.12 |
Snafu | fein | 11.00 |
Summe | 134.12 |
Mit Hilfe des Pakets dcolumn kann man auch eigene Spaltenformate festlegen oder Spalten an einem Dezimaltrenner ausrichten. Häufig verwendete Formate legt man in der Präambel fest:
\newcolumntype{d}{D{Trennzeichen}{Symbol}{Decimals}} \newcolumntype{Y}{>{\raggedright\arraybackslash}X}
Das Paket longtable ermöglicht das Erstellen von mehrseitigen Tabellen.
Das Paket tabularx beherrscht flexible Spalten mit mehrzeilige Zellen, um eine feste Breite zu erreichen.
Das Paket algorithm
definiert die algorithm
-Umgebung,
die sich analog zu den Umgebungen für Abbildungen und Tabellen
verhält. Der Befehl \listofalgorithms
fügt sogar ein entsprechendes Inhaltsverzeichnis ein. Da das Paket
nicht internationalisiert ist, sollte man in der Präambel sowohl
einen deutschen Titel für die Unterschrift als
auch für das Verzeichnis festlegen:
\usepackage{algorithm} \floatname{algorithm}{Algorithmus} \renewcommand{\listalgorithmname}{Liste der Algorithmen} … \begin{document} … \tableofcontents \listoffigures \listofalgorithms … \begin{algorithm} … \end{algorithm} … \end{document}
Das Paket algorithmic
ergänzt dieses mit der algorithmic
-Umgebung
orthogonal um die Möglichkeit, Algorithmen formal zu notieren.
Dieser zeigt beispielsweise den Bubblesort:
\usepackage{algorithmic} … \begin{algorithm} \begin{algorithmic}[1] \REQUIRE{list $a$ of length $l$} \ENSURE{$a_i < a_{i+1} \forall i=0,\ldots,l-1$} \FOR{$i = l; i > 0; i--$} \FOR{$j = 0; j < i; j++$} \IF{$a_j > a_{j+1}$} \STATE $T \leftarrow a_j$ \STATE $a_j \leftarrow a_{j+1}$ \STATE $a_{j+1} \leftarrow T$ \ENDIF \ENDFOR \ENDFOR \end{algorithmic} \caption{Bubblesort} \label{alg:bubblesort} \end{algorithm}
Das Paket listings erleichtert das wörtliche einbinden von Programmcode. Zunächste definiert man in der Präambel die standardmäßig zu verwendende Programmiersprache und Standardeinstellungen für diese Sprache:
\usepackage{listings} \lstloadlanguages{[Dialect]Language} \lstset{language=[Dialect]Language,tabsize=4,basicstyle=\ttfamily} … \begin{document} … Jedes C-Programm beginnt mit der Funktion \lstinline|int main (int argc, char * argv[])|. Hier ein Minimalbeispiel: \lstinputlisting{hello.c} … \end{document}
\lstinline[Options]|Text|
\lstinputlisting[Options]{File}
\begin{lstlisting}[Options]…\end{lstlisting}