From 0f647aec003e2178c3d61374eb71f5daab001594 Mon Sep 17 00:00:00 2001 From: Julius Freudenberger Date: Tue, 23 Sep 2025 23:14:06 +0200 Subject: [PATCH] Add section about tables and longtable --- aufbaukurs.tex | 102 +++++++++++++++++++++++++++++- codebeispiele/table-float.tex | 9 +++ codebeispiele/table-longtable.tex | 13 ++++ codebeispiele/table-simple.tex | 7 ++ codebeispiele/table-tabularx.tex | 7 ++ 5 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 codebeispiele/table-float.tex create mode 100644 codebeispiele/table-longtable.tex create mode 100644 codebeispiele/table-simple.tex create mode 100644 codebeispiele/table-tabularx.tex diff --git a/aufbaukurs.tex b/aufbaukurs.tex index 13cd797..7bfd7a7 100644 --- a/aufbaukurs.tex +++ b/aufbaukurs.tex @@ -4,7 +4,7 @@ \usepackage{graphicx} \graphicspath{{./graphics/}} \usepackage[ngerman,english]{babel} -\usepackage{longtable,capt-of,fvextra,csquotes} +\usepackage{tabularx,longtable,capt-of,fvextra,csquotes} \MakeOuterQuote{"} \usepackage{wrapfig,rotating} \usepackage[normalem]{ulem} @@ -101,6 +101,106 @@ \tableofcontents \end{frame} +\section{Tabellen} + +\begin{frame}{Setzen von Tabellen} + \begin{itemize} + \item Tabellen haben eigene Syntax in \LaTeX + \item Ausrichtung einzelner Spalten kann individuell festgelegt werden + \item Linien können für jede Spalte/Zeile individuell festgelegt werden + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Beispieltabelle} + \begin{columns} + \begin{column}{.49\textwidth} + \input{codebeispiele/table-simple.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/table-simple.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{Setzen von Tabellen} + \begin{itemize} + \item Spaltentrennung + \begin{itemize} + \item Spalten werden in jeder Zeile durch \verb|&| getrennt + \item muss nicht zwingend untereinander stehen, sieht aber aufgeräumt im Code aus $\rightarrow$ hat keine Auswirkung auf die Formatierung der Tabelle + \end{itemize} + \item Zeilentrennung + \begin{itemize} + \item jede Zeile endet \emph{zwingend} mit \verb|\\| + \item Linie wird mit \verb|\hline| erstellt + \item muss zwischen allen Zeilen gesetzt werden, wo eine Linie auftauchen soll + \end{itemize} + \item Zweiter Parameter + \begin{itemize} + \item gibt an, wie viele Spalten es gibt und wie sie ausgerichtet sind + \begin{itemize} + \item \verb|c| -- centered + \item \verb|l| -- left + \item \verb|r| -- right + \end{itemize} + \item \verb/|/ gibt an, ob die Spalten durch eine Linie getrennt werden sollen + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{Beschriftung einer Tabelle} + \begin{columns} + \begin{column}{.45\textwidth} + \input{codebeispiele/table-float.tex} + \end{column} + \begin{column}{.5\textwidth} + \inputminted{latex}{codebeispiele/table-float.tex} + \end{column} + \end{columns} + \vspace{1em} + \begin{itemize} + \centering + \item gleiche Platzierungsregeln wie bei anderen Floats gelten + \end{itemize} +\end{frame} + + +\begin{frame}[fragile]{Einschränkungen von tabular} + \begin{itemize} + \item Wenn der Text zu lang ist, wird kein Zeilenumbruch gesetzt + \begin{itemize} + \item Abhilfe: Spalte mit \verb|p{...cm}| deklarieren oder + \item \verb|\usepackage{tabularx}| + \end{itemize} + \item Tabellen mit \verb|tabular| können keine Seitenumbrüche + \begin{itemize} + \item Lange Tabellen werden am Ende der Seite einfach abgeschnitten + \item Lösung: \verb|longtable| + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame}[fragile]{tabularx} + \begin{columns} + \begin{column}{.35\textwidth} + \input{codebeispiele/table-tabularx.tex} + \end{column} + \begin{column}{.55\textwidth} + \inputminted{latex}{codebeispiele/table-tabularx.tex} + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{longtable} + \inputminted{latex}{codebeispiele/table-longtable.tex} +\end{frame} + +\begin{frame}{Beispiel für longtable} + \input{codebeispiele/table-longtable.tex} +\end{frame} + +\section{} + \begin{frame}[fragile]{Weitere Verzeichnisse} \begin{itemize} \item automatisch aktualisierendes Inhaltsverzeichnis sowie Verzeichnisse für Abbildungen, Codelistings (Abkürzungen, Stichwörter, Bibliographie, \dots) diff --git a/codebeispiele/table-float.tex b/codebeispiele/table-float.tex new file mode 100644 index 0000000..5eaa5b9 --- /dev/null +++ b/codebeispiele/table-float.tex @@ -0,0 +1,9 @@ +\begin{table} + \begin{tabular}{c|c|c} + Hallo & Beispiel & Ende \\ + \hline + Dies & ist & Zeile 2 \\ + \end{tabular} + \caption{Beispieltabelle mit + Beschriftung} +\end{table} diff --git a/codebeispiele/table-longtable.tex b/codebeispiele/table-longtable.tex new file mode 100644 index 0000000..f76d173 --- /dev/null +++ b/codebeispiele/table-longtable.tex @@ -0,0 +1,13 @@ +\begin{longtable}{c|c} + Wird \emph{nur} auf der & ersten Seite oben gezeigt \\ + \endfirsthead + Wird auf \emph{jeder} & Seite oben gezeigt \\ + % Funktioniert nur leider in Präsentationen nicht + \endhead + Wird auf \emph{jeder} & Seite unten gezeigt \\ + \endfoot + Wird \emph{nur} auf der & letzten Seite unten gezeigt \\ + \endlastfoot + Normaler & Inhalt \\ + der & Tabelle \\ +\end{longtable} diff --git a/codebeispiele/table-simple.tex b/codebeispiele/table-simple.tex new file mode 100644 index 0000000..3e86918 --- /dev/null +++ b/codebeispiele/table-simple.tex @@ -0,0 +1,7 @@ +\begin{tabular}{|l|c|r|} + \hline + Hallo & Beispiel & Ende \\ + \hline + Dies & ist & Zeile 2 \\ + \hline +\end{tabular} diff --git a/codebeispiele/table-tabularx.tex b/codebeispiele/table-tabularx.tex new file mode 100644 index 0000000..6adcd0b --- /dev/null +++ b/codebeispiele/table-tabularx.tex @@ -0,0 +1,7 @@ +\begin{tabularx}{\textwidth}{X|X|X} + % X sorgt für Umbruch + % und "stretcht" die Spalte + Hallo & Beispieltext & Ende \\ + \hline + Dies & ist & Zeile 2 \\ +\end{tabularx}