Duplikat zu: Ist es möglichen einen manuellen Zeilenumbruch in einer Zelle einer longtable vorzunehmen?


Hallo,

Anbei mein Quellcode:

Open in Online-Editor
\documentclass[preview,border=0pt]{standalone}
\begin{document}
\begin{tabular}{|*{4}{l|}}

Material Parameter & Description & Unit S35573 EN: Zeilenumbruch & Source\\ \hline
\(a_{sk}\) & Rz & \(n_{pl,x}\) & \(n_{pl,y}\) \(n_{pl,y}\) \(n_{pl,y}\) \(n_{pl,y}\)  \\ \hline
111 & 222 & 333 & 444 \\ \hline
111 & 222 & 333 & 444 \\ \hline
111 & 222 & 333 & 444 \\ \hline
\end{tabular}
\end{document}

Wie erzwinge in der ersten Zeile in der dritten Spalte einen Zeilenumbruch nach EN:? Wie erzwinge in der zweiten Zeile in der vierten Spalte Zeilenumbrüche nach \(n_{pl,y}\) und \(n_{pl,y}\) und \(n_{pl,y}\) ?

Danke

gefragt 27 Mär '15, 10:39

bayernfan's gravatar image

bayernfan
2181014
Akzeptiert-Rate: 0%

bearbeitet 27 Mär '15, 11:03

saputello's gravatar image

saputello
11.1k174365

1

Es kam mir von Anfang an so vor, als wäre die Frage nicht neu. Tatsächlich habe ich nun ein eindeutiges Duplikat dazu gefunden. Eigentlich sollte ich meine Antwort hier deshalb auch eher löschen.

(27 Mär '15, 11:04) saputello

Die Frage wurde aus folgenden Grund "Duplikat einer anderen Frage" geschlossen saputello 27 Mär '15, 11:02


Die Spaltentypen l, r und c unterstützen selbst keine Zeilenumbrüche, das tut nur der Spaltentyp p und davon abgeleitete Spaltentypen von Paketen wie tabularx. Genau die Verwendung des Spaltentyps p oder eines solchen Pakets ist daher eine übliche Lösung. Benötigt man allerdings gar keine automatischen, sondern nur manuelle Umbrüche gibt es zwei weitere Möglichkeiten. Zum einen kann man den Umbruch über eine neue Tabellenzeile realisieren:

Open in Online-Editor
\documentclass[preview,border=0pt]{standalone}
\begin{document}
\begin{tabular}{|*{4}{l|}}

Material Parameter & Description & Unit S35573 EN: & Source\\
                   &             &  Zeilenumbruch  &       \\
\hline
\(a_{sk}\) & Rz & \(n_{pl,x}\) & \(n_{pl,y}\) \\
           &    &              & \(n_{pl,y}\) \\
           &    &              & \(n_{pl,y}\) \\
           &    &              & \(n_{pl,y}\) \\
\hline
111 & 222 & 333 & 444 \\ \hline
111 & 222 & 333 & 444 \\ \hline
111 & 222 & 333 & 444 \\ \hline
\end{tabular}
\end{document}

Zum anderen kann man in der Zelle selbst erneut eine Tabelle verwenden:

Open in Online-Editor
\documentclass[preview,border=0pt]{standalone}
\begin{document}
\begin{tabular}{|*{4}{l|}}

Material Parameter & Description & \begin{tabular}{@{}c@{}}Unit S35573 EN:\\Zeilenumbruch\end{tabular} & Source\\
\hline
$a_{sk}$ & Rz & $n_{pl,x}$ & $\begin{array}{@{}l@{}} n_{pl,y}\\ n_{pl,y}\\ n_{pl,y} \\ n_{pl,y} \\\end{array}$ \\
\hline
111 & 222 & 333 & 444 \\ \hline
111 & 222 & 333 & 444 \\ \hline
111 & 222 & 333 & 444 \\ \hline
\end{tabular}
\end{document}

Alternativ zu tabular oder array kann man auch mit Paketen wie varwidth arbeiten.

Nebenbei bemerkt sei darauf hingewiesen, dass Rahmen und Tabellenzellen typographisch sehr ungünstig sind. Meist profitiert die Lesbarkeit aber auch die Optik von Tabellen erheblich davon, wenn man diese stark reduziert:

Open in Online-Editor
\documentclass[preview,border=0pt]{standalone}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{*{4}{l}}
\toprule
Material Parameter & Description & \begin{tabular}{@{}c@{}}Unit S35573 EN:\\Zeilenumbruch\end{tabular} & Source\\
\midrule
$a_{sk}$ & Rz & $n_{pl,x}$ & $\begin{array}[t]{@{}l@{}} n_{pl,y}\\ n_{pl,y}\\ n_{pl,y} \\ n_{pl,y} \\\end{array}$ \\
111 & 222 & 333 & 444 \\
111 & 222 & 333 & 444 \\
111 & 222 & 333 & 444 \\
\bottomrule
\end{tabular}
\end{document}

Ich habe bei dieser Gelegenheit auch gleich noch gezeigt, wie man die vertikale Ausrichtung über das optionale Argument von tabular oder array beeinflussen kann. Zu weiteren Möglichkeiten der vertikalen Ausrichtung siehe beispielsweise: Wie kann ich innerhalb einer Tabellenzelle vertikal zentrieren?.

Permanenter link

beantwortet 27 Mär '15, 10:56

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 27 Mär '15, 11:02

@saputello danke für deine bisherigen Antworten. Ich möchte jetzt meine Frage aufgrund deiner Erklärung ein wenig abändern.... Ich will eine tabularx Umgebung verwenden. Wie du vorhin erklärt hast passieren dort die Zeilenumbrüche automatisch. Wie kann ich trotzdem im tabularx einen Zeilenumbruch manuell festlegen? Funktioniert das überhaupt? Oder muss ich deine Lösungsvorschläge in der tabular Umgebung verwenden? Ich hoffe ich stifte keine Verwirrung bzw. ich hoffe ich habe deine Erklärung nicht irgendwie missverstanden. Danke

(27 Mär '15, 12:55) bayernfan
2

@bayernfan: Zum einen gilt das Prinzip: Neue Frage nie als Kommentar oder Antwort, sondern immer als neue Frage. Zum anderen aber ist auch diese Frage bereits unter eben der Frage beantwortet, zu der Deine Frage ein Duplikat ist. Es gibt sogar bereits noch min. eine weitere Frage, bei der das beantwortet wird. Eventuell kennt das Thema tabularx weitere. Vielleicht solltest Du Dir einfach etwas Zeit nehmen, um nicht in der Hektik entscheidendes zu übersehen.

(27 Mär '15, 13:02) saputello

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×256
×45

gestellte Frage: 27 Mär '15, 10:39

Frage wurde gesehen: 19,087 Mal

zuletzt geändert: 27 Mär '15, 13:29