Ich habe einige lange Zeilen in einer Tabelle und verwende sie, \makecell
um Zeilenumbrüche einzufügen. Normalerweise funktioniert das gut (der Text wird vertikal zentriert und die Zelle entsprechend erweitert), aber ich brauche das innerhalb einer Mehrfachzeile und die Zelle wird nicht entsprechend erweitert. Unten sehen Sie ein MWB, das das Verhalten zusammen mit der Ausgabe zeigt.
Ich habe versucht, innerhalb und außerhalb der Mehrfachzeile eine tabellarische Umgebung zu verwenden, aber das hat nicht funktioniert. Ich habe auch versucht, {c|p{2cm}|c|c|}
die Breite der Spalte im Mehrfachzeilenbefehl zu verwenden und anzugeben. Eine Möglichkeit, die funktioniert hat, war die Angabe der Höhe jeder Zeile mit \\[8pt]
, aber dann ist der Text nicht vertikal zentriert.
Idealerweise hätte ich gerne eine Lösung, bei der die Zellenabmessungen automatisch sind und ich nur die Zeilenumbrüche manuell angeben muss, aber jede Lösung ist geeignet. Das zweite Bild ist die gewünschte Ausgabe (erstellt in Excel).
\documentclass{article}
\usepackage{multirow}
\usepackage{makecell}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
\multirow{2}{*}{\makecell{Line 1\\Line 2}} & \multirow{2}{*}{\makecell{Line 1\\Line 2\\Line 3}} & \multicolumn{2}{c|}{Wide Line} \\
\cline{3-4}
& & A & B \\
\hline
\end{tabular}
\end{table}
\end{document}
Antwort1
Mit tabularray
:
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{table}
\centering
\begin{tblr}{colspec={*4c}, vlines, hlines, hspan=even, vspan=even}
\SetCell[r=2]{c}{Line 1\\Line 2} & \SetCell[r=2]{c}{Line 1\\Line 2\\Line 3} & \SetCell[c=2]{c}{Wide Line} & \\
& & A & B \\
\end{tblr}
\end{table}
\end{document}