LaTeX Extra > LaTeX Strukturen > Breite von Tabellen


Eine relative oft gestellte Frage aus dem Bereich der Tabellen Fragen, ist die Frage danach wie man einen Tabelle so breit wie eine Seite machen kann. Wobei sich oft die Frage anschließt, ob mit dem Ausdruck breit wie eine Seite die Textbreite oder die Breite Papiers gemeint ist. Aus naheliegenden Gründen sollte die Breite des Textes immer kleiner wie die Papierbreite sein. Davon abgesehen gibt es bei der Frage nur noch ein Detail zu klären, wurde die Tabelle bereits gesetzt? Ob die Tabelle bereits existiert ist wesentlich für die Wahl der Lösung.

Neue Tabelle setzen die so breit wie eine Seite ist

Um eine neue Tabelle so zu setzen, dass sie so breit ist wie eine Seite gibt es mehrere Möglichkeiten.

tabular*

Bei tabular* handelt es sich um der LaTeX Standardumgebungen für Tabellen. Im Gegensatz zu der tabular Umgebung ist es bei tabular* möglich eine Breite für die Tabelle anzugeben. Im ersten Beispiel sieht man das Verhalten bei einer Tabellenbreite die auf die Breite des Textes gesetzt wurde. Und im zweiten Beispiel, das Ergebnis bei einer Breite die der Papierbreite entspricht.

...
\begin{document}
...
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}rclp{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular*}
...
\end{document}
\begin{document}
...
\begin{tabular*}{\paperwidth}{@{\extracolsep{\fill}}rclp{4cm}}
%\begin{tabularx}{\textwidth}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular*}
...
\end{document}

Auch wenn es bei dem ersten Beispiel zu der tabular* gerade noch so geklappt hat, eine halbwegs passable Tabelle zu setzen, sollte diese Umgebung außerhalb von Beispielen nicht verwendet werden. Alternativen dazu stellen die Umgebung tabularx beziehungsweise tabulary aus den jeweils gleichnamigen Pakten dar.

tabularx

Das Paket tabularx enthält eine gleichnamige Umgebung tabularx bei welcher auch die Breite der Tabelle festgelegt werden kann. Auch hier wurde im ersten Beispiel die Textbreite und im zweiten die Papierbreite als Gesamtbreite der Tabelle verwendet.

...
\usepackage{tabularx}
...
\begin{document}
...
\begin{tabularx}{\textwidth}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabularx}
...
\end{document}
...
\usepackage{tabularx}
...
\begin{document}
...
\begin{tabularx}{\paperwidth}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabularx}
...
\end{document}

tabulary

Das Paket tabulary enthält eine gleichnamige Umgebung tabulary bei welcher auch die Breite der Tabelle festgelegt werden kann. Auch hier wurde im ersten Beispiel die Textbreite und im zweiten die Papierbreite als Gesamtbreite der Tabelle verwendet. Hier war interessant, dass beide Varianten das gleiche Ergebnis lieferten.

...
\usepackage{tabulary}
...
\begin{document}
...
\begin{tabulary}{\textwidth}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabulary}
...
\end{document}
...
\usepackage{tabulary}
...
\begin{document}
...
\begin{tabulary}{\paperwidth}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabulary}
...
\end{document}

Eine bereits bestehende Tabelle auf Seitenbreite anpassen

Um eine bereits bestehende Tabelle in ihrer Größe zu verändern kann man entweder den Befehl resizebox, aus dem graphicx Paket, oder adjustbox Umgebung aus dem gleichnamigen Paket adjustbox verwenden.

...
\usepackage[a4paper]{geometry}
\usepackage{graphicx}
...
\begin{document}
...
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}

\bigskip

\resizebox{\textwidth}{!}{
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}}

\bigskip 

\resizebox{\paperwidth}{!}{
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}}
...
\end{document}

Der Unterschied zwischen dem Befehl resizebox und der Umgebung adjustbox ist, das resizebox die ganze Tabelle als Argument nimmt, was bei der Verwendung von manchen Befehlen innerhalb der Tabelle zu Problemen führen kann.

...
\usepackage[a4paper]{geometry}
\usepackage{adjustbox}
...
\begin{document}
...
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}

\bigskip
\begin{adjustbox}{width=\textwidth}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{adjustbox}

\bigskip 

\begin{adjustbox}{width=\paperwidth}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{adjustbox}
...
\end{document}

Über die Schriftgrößen Befehle die Größe der Tabelle beeinflussen

Eine weiter Möglichkeit die Größe einer Tabelle zu verändern sind die Befehle für die Schriftgröße beziehungsweise die daraus abgeleiteten Umgebungen.

\documentclass{article}
...
\usepackage[a4paper, top=5mm]{geometry}
...
\begin{document}
\pagestyle{empty}
\begin{tiny}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{tiny}
\bigskip

\begin{scriptsize}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{scriptsize}
\bigskip

\begin{footnotesize}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{footnotesize}
\bigskip

\begin{small}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{small}
\bigskip

\begin{normalsize}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{normalsize}
\bigskip

\begin{large}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{large}
\bigskip

\begin{Large}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{Large}
\bigskip

\begin{LARGE}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{LARGE}
\bigskip

\begin{huge}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{huge}
\bigskip

\begin{Huge}
\begin{tabular}{r|c|l|p{4cm}}
\hline
1. Spalte & 2. Spalte & 3. Spalte & 4. Spalte \\
\hline
Hier kommt noch & mehr Text & auch wenn er & mit der Lösung nichts zu tun hat.\\
\end{tabular}
\end{Huge}
\bigskip
...
\end{document}

Zusammenfassung

Sowohl neue wie auch bestehende Tabellen können auf einfach Art in ihrer Größe verändert werden. Je nachdem welche Methode verwendet wird, erfolgt auch eine Anpassung der Schriftgröße.