diff --git a/sections/german/12/12.md b/sections/german/12/12.md deleted file mode 100644 index 2bd0d1b..0000000 --- a/sections/german/12/12.md +++ /dev/null @@ -1,206 +0,0 @@ -
-
-

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ürzelBedeutung
llinksbündige Spalte
czentrierte Spalte
rrechtsbü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             & C++17              \\\\
-        Java    & James Gosling     & 1998             & 13                 \\\\
-        Python  & Guido van Rossum  & 1991             & 3.8.0              \\\\
-        \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

- -
-
diff --git a/slides.yml b/slides.yml index b6a4146..d95ec9f 100644 --- a/slides.yml +++ b/slides.yml @@ -10,4 +10,5 @@ - chapter-09 - chapter-10 - chapter-11 +- chapter-12 diff --git a/slides/chapter-12.de.md b/slides/chapter-12.de.md new file mode 100644 index 0000000..616b2b5 --- /dev/null +++ b/slides/chapter-12.de.md @@ -0,0 +1,232 @@ +@slide(layout=chapter-slide) + +@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ürzelBedeutung
llinksbündige Spalte
czentrierte Spalte
rrechtsbü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 + +@todo +Doppel-Plus in der Tabelle kaputt + +@content +``` {.hljs .lang-tex} +\begin{table}[h] + \begin{tabular}{lrcl} \toprule + Sprache & Autor & Erscheinungsjahr & Aktuelle Version \\ + \midrule + C++ & Bjarne Stroustrup & 1985 & C++17 \\ + Java & James Gosling & 1998 & 13 \\ + Python & Guido van Rossum & 1991 & 3.8.0 \\ + \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{