我有一个表格,其中第一个单元格是 2 列 2 行单元格。在这个单元格中,有一些\huge
文本,我希望它们在这个 2 列 2 行单元格现在跨越的空间中顶部对齐。这是一个简单的例子:
\begin{tabular}{c|p{3cm}|c|l}
\hline
\multicolumn{2}{l}{\multirow[t]{2}{*}{{\huge Large Text}}} & X & Foo \\
\hline
\multicolumn{2}{l}{} & Y & Bar \\[1ex]
\hline
X & Baz & Z & Fuzz
\end{tabular}
得出的结果如下:
请注意,我插入了所有水平线和垂直线只是为了显示列/行边框的位置。multirow
文档声称[t]
我指定的应该会导致顶部对齐,但显然有些问题。我希望“大文本”与“X Foo”顶部对齐。
还要注意,我需要将“X”/“Y”/“Z”和“Foo”/“Bar”/“Fuzz”对齐,所以我不能将makecell
“大文本”的所有内容都放入一个单元格中。
这里有上百万个与多行和多列组合相关的问题,但我找不到一个遇到与我一样的过高对齐问题的问题。如果我错过了一些,我很抱歉,请给我指明正确的方向!
答案1
该[t]
选项使基线对齐,但有一个可能的技巧:\multirow
接受带有小数部分的行数(通过反复试验确定),所以如果我理解得清楚的话,这段代码就可以完成你想要的操作:
\documentclass{article}
\usepackage{array, multirow}
\begin{document}
\begin{table}
\begin{tabular}{c|p{3cm}|c|l}
\hline
\multicolumn{2}{l}{\multirow{1.8}{*}{{\huge Large Text}}} & X & Foo \\
\cline{3-4}
\multicolumn{2}{l}{} & Y & Bar \\[1ex]
\hline
X & Baz & Z & Fuzz
\end{tabular}
\end{table}
\end{document}