@slide(layout=chapter-slide) @number 11 @title Tabellen @slide(layout=content-only) @title Grundstruktur 🗒️ @content Für typografisch schöne Tabellen nutzen wir das Paket `booktabs`. ``` {.hljs .lang-tex} \usepackage{booktabs} ``` ``` {.hljs .lang-tex} \begin{table}[] \begin{tabular}{} % Tabelleninhalt \end{tabular} \caption{} \end{table} ``` Die Positionierung erfolgt analog zu Grafiken. @slide(layout=content-and-preview) @title Spaltendefinitionen @content ``` {.hljs .lang-tex} \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. @preview ![](svg/chapter-12/tabelle-beispiel-crop.svg){.thin-padding} @slide(layout=content-and-preview) @title Tabelleninhalt @content ``` {.hljs .lang-tex} \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. * ++ Reihen werden durch ›`\\`‹ beendet. * ++ `\toprule`, `\midrule` und `\bottomrule` strukturieren die Tabelle. @preview ![](svg/chapter-12/tabelle-inhalt-beispiel-crop.svg){.thin-padding} @slide(layout=wide-content) @title Die gesamte Tabelle @content ``` {.hljs .lang-tex} \begin{table}[h] \begin{tabular}{lrcl} \toprule Sprache & Autor & Erscheinungsjahr & Dateiendung \\ \midrule C++ & Bjarne Stroustrup & 1985 & .cpp \\ Java & James Gosling & 1998 & .java \\ Python & Guido van Rossum & 1991 & .py \\ \bottomrule \end{tabular} \caption{Bekannte Programmiersprachen} \end{table} ```

Mit `@{}` vor und nach einer Spaltendefinition wird der umgebende Weißraum unterdrückt.

`\begin{tabular}{@{}lrcl@{}}` beschränkt die Linien auf die Breite des Tabelleninhalts.

@slide(layout=content-only) @title Besonders lange Tabellen @content Tabellen, die über eine Seite hinaus gehen, werden von `tabular` einfach abgeschnitten. Die Lösung bietet hier das Paket `longtable`: ``` {.hljs .lang-tex} \usepackage{longtable} ``` ``` {.hljs .lang-tex} \begin{longtable}{} % Tabelleninhalt \caption{} \label{