Freitag, 4. Mai 2012

LaTeX Tabelle Zeilenumbruch in einer Zelle

Tabelle sind bei LaTeX eine ständige Quelle von Fragen. Eine relativ oft gestellte Frage ist die, wie bekommt man einen Zeilenumbruch in einer Tabelle oder um genauer zu sein in Tabellenzelle hin.

Das Problem

Wenn man die Standardtabellen von LaTeX nutzt, gibt es keinen automatischen Zeilenumbruch innerhalb einer Zelle. Vielmehr muß man sich Tricks wie dem einfügen von zusätzlichen Zeile bedienen, um den Eindruck zu erwecken, das die Tabelle einen Zeilenumbruch hat.

Die Lösung

Wesentlich eleganter läßt sich das Problem unter Verwendung des Pakets tabularx lösen. Dabei kann den Tabellen eine feste Breite zugeordnet werden. Die Breite wird dabei in pt (Punkten) oder cm angegeben. Wenn der Eintrag einer Zelle nun breiter ist als diese vorgegebene Zellenbreite erfolgt ein automatischer Umbruch.

Beispiel

\begin{tabularx}{8cm}{|X|X|X|X|}
\hline
In dieser Tabelle & hat jede Zelle genau die & gleich Breite & nämlich gerade 2cm \\
\hline
Und wie man & dabei leicht erkennen kann & reicht diese Breite nicht bei allen & Spalten aus um den gesamten Text darzustellen. \\
\hline
\end{tabularx}

Ausgabe

Bei diesem Beispiel haben alle Spalten die gleiche Breite gehabt.Da für alle der Wert X gesetzt wurde. Aber man muß nicht allen Spalten die gleiche Breite (X) zuweisen, wie die folgende Abwandlung des Beispiels zeigt.

\begin{tabularx}{\textwidth}{|X|l|r|c|}
\hline
In dieser Tabelle & hat jede Zelle genau die & gleich Breite & nämlich gerade 2cm \\
\hline
Und wie man & dabei leicht erkennen kann & reicht diese Breite nicht bei allen & Spalten aus um den gesamten Text darzustellen. \\
\hline
\end{tabularx}

Verweise

Tabularx Paket
line break within table cell

Keine Kommentare:

Kommentar veröffentlichen