@slide(layout=chapter-slide) @number 10 @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 Mehr Komfort @content Der [Tables Generator](https://tablesgenerator.com/) ist ein wunderbares Werkzeug, um schnell Tabellen verschiedener Formate zu erstellen. [![](svg/chapter-12/tables-generator.png)](https://tablesgenerator.com/) @slide(layout=task) @task-number 10 @title Tabellen setzen @content * Die Liste in der Datei `exercises/tables/tables.tex` enthält Infos zu ein paar Lehrveranstaltung an der Fakultät WIAI. * Wandelt die Liste in eine **Tabelle** um. * Die Tabelle soll Spalten für den *Namen*, das *Kürzel* und das *Semester* der Vorlesungen haben. * Fügt außerdem eine **zentrierte Spalte** ganz links in der Tabelle hinzu, in der ihr die Lehrveranstaltungen **nummeriert**. @slide(layout=extra-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{