我在表格中有一些长行,我用它\makecell
来添加换行符。通常这可以正常工作(垂直居中文本并扩展单元格以适合),但我需要在多行内这样做,并且单元格不会扩展以适合文本。下面是显示行为以及输出的 MWB。
我尝试在多行命令内部和外部使用表格环境,但无法正常工作。我还尝试使用{c|p{2cm}|c|c|}
并指定多行命令中的列宽。有一件事确实有效,那就是使用 指定每行的高度\\[8pt]
,但文本不会垂直居中。
理想情况下,我希望有一种解决方案,其中单元格尺寸是自动的,我只需要手动指定换行符,但任何解决方案都可以。第二张图片是我想要的输出(在 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}
答案1
和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}