From 24bf51a60f687f4dfdcc241a781f0f44bcbdcc4a Mon Sep 17 00:00:00 2001 From: Christian Kremitzl Date: Fri, 27 Mar 2020 00:54:44 +0100 Subject: [PATCH] onpoint conversion and english translation for chapter 12. --- sections/german/12/12.md | 206 -------- slides.yml | 1 + slides/chapter-12.de.md | 232 +++++++++ slides/chapter-12.en.md | 231 +++++++++ svg/chapter-12/tabelle-beispiel-crop.svg | 375 ++++++++++++++ svg/chapter-12/tabelle-beispiel-orig.svg | 375 ++++++++++++++ svg/chapter-12/tabelle-beispiel.tex | 25 + .../tabelle-fortgeschritten-beispiel-crop.svg | 0 .../tabelle-fortgeschritten-beispiel-orig.svg | 0 .../tabelle-fortgeschritten-beispiel.tex | 0 .../tabelle-inhalt-beispiel-crop.svg | 0 .../tabelle-inhalt-beispiel-orig.svg | 0 .../chapter-12/tabelle-inhalt-beispiel.tex | 0 .../table-advanced-example-crop.svg | 330 +++++++++++++ .../table-advanced-example-orig.svg | 330 +++++++++++++ svg/chapter-12/table-advanced-example.tex | 24 + svg/chapter-12/table-content-example-crop.svg | 249 ++++++++++ svg/chapter-12/table-content-example-orig.svg | 249 ++++++++++ svg/chapter-12/table-content-example.tex | 23 + .../chapter-12}/table-example-crop.svg | 466 +++++++++--------- .../chapter-12}/table-example-orig.svg | 464 +++++++++-------- .../12 => svg/chapter-12}/table-example.tex | 7 +- .../chapter-12}/tables-generator.png | Bin 23 files changed, 2899 insertions(+), 688 deletions(-) delete mode 100644 sections/german/12/12.md create mode 100644 slides/chapter-12.de.md create mode 100644 slides/chapter-12.en.md create mode 100644 svg/chapter-12/tabelle-beispiel-crop.svg create mode 100644 svg/chapter-12/tabelle-beispiel-orig.svg create mode 100644 svg/chapter-12/tabelle-beispiel.tex rename sections/german/12/table-advanced-example-crop.svg => svg/chapter-12/tabelle-fortgeschritten-beispiel-crop.svg (100%) rename sections/german/12/table-advanced-example-orig.svg => svg/chapter-12/tabelle-fortgeschritten-beispiel-orig.svg (100%) rename sections/german/12/table-advanced-example.tex => svg/chapter-12/tabelle-fortgeschritten-beispiel.tex (100%) rename sections/german/12/table-content-example-crop.svg => svg/chapter-12/tabelle-inhalt-beispiel-crop.svg (100%) rename sections/german/12/table-content-example-orig.svg => svg/chapter-12/tabelle-inhalt-beispiel-orig.svg (100%) rename sections/german/12/table-content-example.tex => svg/chapter-12/tabelle-inhalt-beispiel.tex (100%) create mode 100644 svg/chapter-12/table-advanced-example-crop.svg create mode 100644 svg/chapter-12/table-advanced-example-orig.svg create mode 100644 svg/chapter-12/table-advanced-example.tex create mode 100644 svg/chapter-12/table-content-example-crop.svg create mode 100644 svg/chapter-12/table-content-example-orig.svg create mode 100644 svg/chapter-12/table-content-example.tex rename {sections/german/12 => svg/chapter-12}/table-example-crop.svg (75%) rename {sections/german/12 => svg/chapter-12}/table-example-orig.svg (75%) rename {sections/german/12 => svg/chapter-12}/table-example.tex (79%) rename {sections/german/12 => svg/chapter-12}/tables-generator.png (100%) 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}
-
    -
  • Zellen werden durch »&« abgetrennt.
  • -
  • Zeilen werden durch zwei Backslashes beendet.
  • -
  • \toprule, \midrule und \bottomrule strukturieren die Tabelle.
  • -
-
-
- -
-
- ---- - -
-
-

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}
-
    -
  • Die longtable-Umgebung vereint die tabular-Umgebung und die table-Umgebung.
  • -
  • Untertitel und Label können deshalb direkt unter dem Tabelleninhalt stehen.
  • -
  • Die Features von booktabs stehen auch in longtable zur Verfügung, sofern das Paket booktabs eingebunden ist.
  • -
-
-
- ---- - -
-
-

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

-
    -
  • Bindet die Dateien seitenaufbau.tex und schriften.tex ein.
  • -
  • Tabelle 6 in Abschnitt 7 veranschaulicht die vordefinierten Schriftgrade. Fügt eine zusätzliche **rechtsbündige Spalte** ein, in der ihr die Schriftgrößen durchnummeriert.
  • -
  • Fügt außerdem eine **Überschriftenzeile** ein, die ihr per `\midrule` vom Rest der Tabelle trennt. Die Spaltenüberschriften können zum Beispiel »Nr.«, »Befehl« und »Beispiel« heißen.
  • -
-
-
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{