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.
\begin{tabular}{lrcl}
% Tabelleninhalt
\end{tabular}
| Kürzel | Bedeutung |
|---|---|
| l | linksbündige Spalte |
| c | zentrierte Spalte |
| r | rechtsbündige Spalte |
Vertikale Trennlinien und doppelte horizontale Linien sind unter Typograph\*innen nicht gern gesehen und sollten vermieden werden.
\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}
&« abgetrennt.\toprule, \midrule und \bottomrule strukturieren die 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}
Durch @{} vor und nach der Spaltendefinition werden die horizontalen Linien auf die Breite des Textes beschränkt.
Beispiel: \begin{tabular}{@{}lrcl@{}}
Tabellen, die über mehrere Seiten gehen, werden von tabular einfach abgeschnitten. Die Lösung bietet hier das Paket longtable:
\usepackage{longtable}
\begin{longtable}{<spaltendefinition>}
% Tabelleninhalt
\caption{<tabellenunterschrift>}
\label{<label>}
\end{longtable}
longtable\begin{longtable}{<spaltendefinition>}
% Tabelleninhalt
\caption{<tabellenunterschrift>}
\label{<label>}
\end{longtable}
longtable-Umgebung vereint die tabular-Umgebung und die table-Umgebung.booktabs stehen auch in longtable zur Verfügung, sofern das Paket booktabs eingebunden ist.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}[<position>]
\begin{tabular}{<spaltendef.>}
% Tabelleninhalt
\end{tabular}
\end{table}
\end{landscape}
\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}
Der Tables Generator ist ein wunderbares Werkzeug, um schnell Tabellen verschiedener Formate zu erstellen.