
Ich habe ein Makro wie folgt deklariert:
\newcommand{\itemcell}[1]{%
\begin{tabular}[t]{@{}l@{}}#1\end{tabular}
}
Allerdings habe ich jetzt Probleme damit, weil es keinen automatischen Zeilenumbruch mehr zulässt. Siehe das folgende Beispiel:
\begin{longtable}{p{4cm}p{1.5cm}p{1.2cm}p{1.2cm}p{1.2cm}p{\dimexpr\columnwidth-9.1cm-12\tabcolsep\relax}}
\toprule
Title 1 & Title 2 & Title 3 & Title 4 & Title 5 & Title 6 \\
\midrule
a & b & c & d & e & \itemcell{This is a very long description which won't fit in 1 line, it should break, but it won't\\And this is a second line} \\
\bottomrule
\end{longtable}
Der Inhalt \itemcell{}
wird am Ende der Spalte nicht umbrochen, Überfüllung hbox
im Eingang.
Wie kann ich dieses Makro anordnen, um das Standardverhalten wiederherzustellen?
Antwort1
p
Spalten erlauben Zeilenumbrüche, daher wird das Makro überhaupt nicht benötigt. Verwenden Sie einfach
\begin{longtable}{p{4cm}p{1.5cm}p{1.2cm}p{1.2cm}p{1.2cm}p{\dimexpr\columnwidth-9.1cm-12\tabcolsep\relax}}
\toprule
Title 1 & Title 2 & Title 3 & Title 4 & Title 5 & Title 6 \\
\midrule
a & b & c & d & e &
This is a very long description which won't fit in 1 line, it should break, but it won't
And this is a second line\\
\bottomrule
\end{longtable}
In einer c
Spalte können Sie lokal die verschachtelte Tabelle verwenden, um mehrere Zeilen mit manuellem Zeilenumbruch zuzulassen, aber Ihre Definition fügt unerwünschte Leerzeichen hinzu, da ein%
\newcommand{\itemcell}[1]{%
\begin{tabular}[t]{@{}l@{}}#1\end{tabular}%%%%
}