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

Vertikale Trennlinien und doppelte horizontale Linien sind unter Typograph\*innen nicht gern gesehen und sollten vermieden werden.

---

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}
---

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}

Durch @{} vor und nach der Spaltendefinition werden die horizontalen Linien auf die Breite des Textes beschränkt. Beispiel: \begin{tabular}{@{}lrcl@{}}

---

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}{<spaltendefinition>}
    % Tabelleninhalt
    \caption{<tabellenunterschrift>}
    \label{<label>}
\end{longtable}
---

Hinweise zu longtable

\begin{longtable}{<spaltendefinition>}
    % Tabelleninhalt
    \caption{<tabellenunterschrift>}
    \label{<label>}
\end{longtable}
---

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}[<position>]
        \begin{tabular}{<spaltendef.>}
            % 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}

🔗 Dokumentation zu Booktabs

---

Vereinfachung

Der Tables Generator ist ein wunderbares Werkzeug, um schnell Tabellen verschiedener Formate zu erstellen.

---

Tabellen setzen