Kategorie-Archiv: Tabellen in LaTeX

Tabellen gestalten, erzeugen, …

Große Schriftstücke mit LaTeX bewältigen – Teil 5: Tabellen mit Überschriften, Label und Verzeichnis richtig erstellen

Das Einfügen von Abbildungen mit Unterschrift und Verzeichnis hatte ich bereits im letzten Artikel erklärt. Jetzt widmen wir uns den Tabellen.
Hier gibt es noch zusätzliche Schwierigkeiten, da Abbildungen üblichweise nicht über mehrere Seiten verlaufen, Tabellen aber schon über mehrere Seiten gehen können. Aber eins nach dem anderen.

Um eine einfache Tabelle ohne Überschriften, Label oder sonstiges einzufügen, kann der Befehl

\begin{tabular}{c c c}
Text & Text & Text \\
\end{tabular}

verwendet werden.

Mit dem Zusatz {c c c} werden die Anzahl der Spalten und die Textausrichtung innerhalb der Spalten definiert. Die Anzahl der gelisteten „Definitionen“ (hier c) bestimmt die Anzahl der Spalten. Für eine Rahmenline wird das Sonderzeichen | zusätzlich eingefügt. Entweder {c | c | c} für einen Rahmen zwischen den Spalten oder {| c | c | c |} für einen zusätzlichen Rahmen um die Tabelle herum. Hier werden lediglich die vertikalen Rahmenlinien definiert, die horizontalen Rahmenlinien werden dann innerhalb der Tabelle definiert. Es sind diverse Möglichkeiten der Textausrichtung verfügbar:
c = center (zentrierte Textausrichtung)
l = lefthand (linksbündige Textausrichtung)
r = righthand (rechtsbündige Textausrichtung)
p = parbox (Boxerstellung mit linksbündiger Textausrichtung und einem Zeilenumbruch innerhalb der definierten Spaltenbreite p{x cm})

Innerhalb der Tabelle wird durch das & eine neue Spalte angefangen und durch \\ eine neue Zeile.
Die horizontale Rahmenlinie wird mit \hline eingefügt.
Wenn Spalten zusammengefasst werden sollen, kann dies mit \multicolumn{4}{l}{ } gemacht werden. In der ersten Klammer wird angegeben wie viele Spalten zusammengefasst werden, in der zweiten mit welcher Textausrichtung die Zelle beschrieben wird und in der dritten welcher Inhalt dargestellt werden soll. Vorsicht! Wenn Rahmenlinien eingefügt sind, werden diese durch \multicolumn unterbrochen, bei einer „Leerzeile“ empfehle ich daher “ & & & \\“ als Leerzeile zu verwenden, dann sieht das mit den Rahmenlinien schicker aus.

Wozu das hilfreich ist? Beispielsweise um die Texte eines Lebenslaufes richtig anzuordnen. In Spalten und Zeilen können ohne Rahmenlinien sämtliche Informationen einheitlich und bündig aufgelistet werden. Hier ein Beispiel dazu:


\begin{document}
\pagestyle{empty}

\section*{Bewerbungsmappe für Referenz}
\vspace{3cm}
\begin{center}
\includegraphics[width=6cm]{Bewerbungsfoto}\\
\textbf{Name}
\end{center}
\newpage

\section*{Anschreiben}
\newpage

\section*{Lebenslauf}
\begin{tabular}{p{5cm} p{12cm}}
Name& \\
Vorname& \\
Adresse& Straße/Hausnummer\\
& PLZ Ort\\
& \\
Telefon& \\
E-Mail& \\
Geburtsdatum& \\
Geburtsort& \\
& \\
\underline{\bfseries{Berufserfahrung}}& \\
& \\
\underline{\bfseries{Studium}}& \\
& \\
\underline{\bfseries{Ausbildung}}& \\
& \\
\underline{\bfseries{Schulabschluss}}& \\
& \\
\underline{\bfseries{Sprachkenntnisse}}& \\
& \\
Deutsch& Muttersprache\\
Englisch& \\
Spanisch& \\
& \\
\underline{\bfseries{EDV – Kenntnisse}}& \\
& \\
\underline{\bfseries{Persönliche Interessen}}& \\
& \\
\end{tabular}
\end{document}

Das Ganze sieht dann so aus:
CV_bsp

Für wissenschaftliche Arbeiten wird die Erstellung von Tabellen schon etwas komplexer. Abgesehen von einer Tabellenüberschrift, soll die Tabelle auch im Fließtext referenziert werden können, ohne die Referenz durch neu eingefügte Tabellen ungültig zu machen. Die korrekte Nummerierung und Referenzierung von Tabellen und Abbildungen war in Word bei meiner Bachelorarbeit ein reiner Krampf. „Fehler Textmarke“ ploppte bei jeder Kleinigkeit auf. Neu zwischengefügte Tabellen oder Abbildungen wurden mitten drin einfach mit einer neuen Nummer belegt, anstatt mit der richtigen und gelöschte Tabellen haben nicht bewirkt, dass nachfolgende Tabellen neu nummeriert wurden. Es war zum Heulen.
LaTeX ist an dieser Stelle angenehmer. Ein erneutes Kompilieren bewirkt, dass die Nummerierung aktualisiert wird. Keine verdrehten Zahlenreihenfolgen und keine Textmarkenfehler im Verzeichnis.

Die Definition all dieser tollen Eigenschaften ist gar nicht mal so dramatisch:


\begin{table}[h!]
\caption[Kurzform der Überschrift für das Verzeichnis]{Lange Tabellenüberschrift für den Fließtext}
\label{tab:Ref}
\centering
\begin{tabular}[h!]{p{6.5cm} | p{2.3cm} | p{2.5cm} | p{2.3cm}}
\multicolumn{4}{l}{ } \\
Überschrift Spalte 1 & Überschrift Spalte 2 & Überschrift Spalte 3 & Überschrift Spalte 4\\
\hline
\hline
& & & \\
Text & Text & Text & Text \\
\hline
Text & Text & Text & Text \\
\hline
Text & Text & Text & Text \\
\hline
\hline
\end{tabular}
\end{table}

Innerhalb von \begin{table} und \end{table} werden alle Parameter definiert, wie die Überschrift im Fließtext und im Verzeichnis, der Referenzname und die Positionierung der Tabelle im Fließtext. Es ist möglich mit \caption{Überschrift} eine Tabellenüberschrift festzulegen, die dann sowohl im Fließtext, als auch im Verzeichnis gleich auftaucht. Bei wissenschaftlichen Texten ist es allerdings oftmals so, dass Tabellenüberschriften ziemlich lang werden und mehrzeilige Überschriften im Verzeichnis störend wirken. In diesem Fall kann mit \caption[Kurzform]{Langform} eine kurze Überschrift für das Verzeichnis und eine lange für den Fließtext definiert werden. Die Referenz zu einer Tabelle wird mit einem Label hergestellt. Für Abbildungen hieß es \label{Ref} und für Tabellen gibt es zur Differenzierung einen Zusatz \label{tab:Ref}. Die Positionierung erfolgt ohne Angaben linksbündig und dort, wo LaTeX meint es intelligent einfügen zu wollen. Sollte eine konkrete Position vorgesehen werden, auch wenn anschließend die Seite nicht optimal ausgenutzt wird, kann \begin{table}[h!] verwendet werden. Das [h!] bewirkt, dass die Tabelle erzwungen here! eingesetzt wird. Ich mag zentrierte Tabellen im Fließtext, deswegen füge ich zusätzlich \centering ein.

Mit dem Befehl \listoftables kann dann auch noch ein Tabellenverzeichnis eingefügt werden und wir sind schon fertig:

Tab_bsp

Im Fließtext kann dann mit \ref{tab:Ref} auf die Tabelle referenziert werden. Hier wird lediglich die Referenz angegeben, d.h. die Ausgabe für \ref{tab:Ref} ist hier „1“. Für die Referenz „Tabelle 1“ muss dementsprechend vor dem Befehl noch „Tabelle \ref{tab:Ref}“ geschrieben werden.

Nun zum letzten Schritt. Nicht nur Tabellenüberschriften können ungeahnte Ausmaße annehmen, auch Tabellen können seitenlang werden. Der Seitenumbruch ist in den bisher vorgestellten Tabellen nicht vorgesehen. Eine „zu lange“ Tabelle würde also einfach am unteren Rand der Seite abgeschnitten werden und der Rest wird nicht mehr dargestellt.

Für einen Seitenumbruch muss die Tabelle entweder unterbrochen und neu angefangen werden

\begin{tabular}{c c c} ... \end{tabular}
\newpage
\begin{tabular}{c c c} ... \end{tabular}

oder das Paket \usepackage{longtable} kann verwendet werden. Mit der entsprechenden Definition \begin{longtable} und \end{longtable} wird dann bei Erreichen des unteren Seitenrandes automatisch ein Seitenumbruch erzeugt.

Während der Masterarbeit bekam ich hier allerdings mit longtable ein Problem mit Aufzählungen in einer Tabelle mit Seitenumbruch. Für das Einfügen von Aufzählungen wurde einfach nicht dargestellt.