6.6 KiB
6.6 KiB
🗒️
Tabellen
Grundstruktur
Für typografisch schöne Tabellen nutzen wir das Paket booktabs.
\usepackage{booktabs}
\begin{table}[position]
\begin{tabular}{Spaltendefinition}
% Tabelleninhalt
\end{tabular}
\caption{Tabellenunterschrift}
\end{table}
Die Positionierung erfolgt analog zu Grafiken.
Spaltendefinitionen
\begin{tabular}{lrcl}
% Tabelleninhalt
\end{tabular}
| Kürzel | Bedeutung |
|---|---|
| l | linksbündige Spalte |
| c | zentrierte Spalte |
| r | rechtsbündige Spalte |
Hinweis: Vertikale Trennlinien und doppelte horizontale Linien sind unter Typograph\*innen nicht gern gesehen.
Tabelleninhalt
\begin{tabular}{lll}
\toprule
Spalte 1 & Spalte 2 & Spalte 3 \\\\
\midrule
Inhalt a & Inhalt b & Inhalt c \\\\
Inhalt e & Inhalt f & Inhalt g \\\\
Inhalt i & Inhalt j & Inhalt k \\\\
\bottomrule
\end{tabular}
- Zellen werden durch
&abgetrennt. - Zeilen werden durch zwei Backslashes beendet.
\toprule,\midruleund\bottomrulestrukturieren die Tabelle.
Die gesamte Tabelle
\begin{table}[h]
\begin{tabular}{lrcl} \toprule
Sprache & Autor & Erscheinungsjahr & Aktuelle Version \\\\
\midrule
C++ & Bjarne Stroustrup & 1985 & ISO/IEC 14882:2017 \\\\
Java & James Gosling & 1998 & 12.0.1 \\\\
Python & Guido van Rossum & 1991 & 3.7.3 \\\\
\bottomrule
\end{tabular}
\caption{Bekannte Programmiersprachen}
\end{table}
Besonders lange Tabellen
Tabellen, die über mehrere Seiten gehen, werden von tabular einfach abgeschnitten. Die Lösung bietet hier das Paket longtable:
\usepackage{longtable}
\begin{longtable}{lll}
% Tabelleninhalt
\caption{Untertitel}
\label{tab:bsptab1}
\end{longtable}
Hinweise zu longtable
\begin{longtable}{lll}
% Tabelleninhalt
\caption{Untertitel}
\label{tab:bsptab1}
\end{longtable}
- Die
longtable-Umgebung vereint dietabular-Umgebung und dietable-Umgebung. - Untertitel und Label können deshalb direkt unter dem Tabelleninhalt stehen.
- Die Features von
booktabsstehen auch inlongtablezur Verfügung, sofern das Paketbooktabseingebunden ist.
Besonders breite Tabellen
Sollte die Tabelle einmal zu breit für eine Seite werden, können einzelne Seiten auch im Querformat dargestellt werden:
\usepackage{lscape}
\begin{landscape}
\begin{table}[h]
\begin{tabular}{lll}
% Tabelleninhalt
\end{tabular}
\end{table}
\end{landscape}
Weiterführendes Beispiel
\begin{table}[h]
\begin{tabular}{llr}
\toprule
Struktur & \multicolumn{2}{l}{Zeitkomplexität für Zugriff} \\ \cmidrule(r){2-3}
& Average & Worst \\
\midrule
Stack & $\mathcal{O}(n)$ & $\mathcal{O}(n)$ \\
Binärbaum & $\mathcal{O}(log(n))$ & $\mathcal{O}(log(n))$ \\
AVL-Baum & $\mathcal{O}(log(n))$ & $\mathcal{O}(log(n))$ \\
\bottomrule
\end{tabular}
\end{table}
Vereinfachung
Der Tables Generator ist ein wunderbares Werkzeug, um schnell Tabellen verschiedener Formate zu erstellen.