大多数地方都给出了表格中单元格合并的示例。但是,我找不到如下所示的复杂方式的单元格合并。这个问题可能总结了所有可能的合并方法,可以作为所有未来关于单元格合并问题的参考。如果需要,专家可以添加更多复杂内容。
答案1
这是您的表格的扩展副本,并添加了一些\multirow
s(来自multirow
包裹)只是因为你问了一些“更复杂”的细胞结构:
\documentclass{article}
\usepackage{multirow}% http://ctan.org/pkg/multirow
\begin{document}
\sffamily
\begin{tabular}{|*{6}{p{2cm}|}}
\hline
1a & 2a & 3a & \multicolumn{2}{l|}{4a, 5a} & 6a \\ \hline
1b & \multicolumn{2}{l|}{2b, 3b} & 4b & 5b & 6b \\ \hline
1c & 2c & 3c & 4c, 4d & 5c & 6c \\ \cline{1-3}\cline{5-6}
1d, 1e & 2d & 3d & & 5d & 6d \\ \cline{2-6}
& 2e & 3e & 4e & 5e & \\ \cline{1-5}
1f & \multicolumn{2}{l|}{\multirow{2}*{2f, 3f, 2g, 3g}} & 4f & 5f & \multirow{-2}*{6e, 6f}\\ \cline{1-1}\cline{4-6}
1g & \multicolumn{2}{l|}{} & 4g & 5g & 6g \\ \hline
\multicolumn{2}{|l|}{1h, 2h} & 3h & 4h & 5h & 6h \\ \hline
\end{tabular}
\end{document}
有些事情需要注意tabular
在这种构造
- 如果你的列类型非常相似,你可以使用
*{<num>}{<col spec>}
格式来复制<col spec>
总共<num>
次数的格式; - 使用时
\multicolumn{<num>}{<col spec>}{<stuff>}
,需要在<col spec>
,因为单一规则中的“开始”垂直规则tabular
属于前一个单元格(除非您从第一列跨越); \multirow{<num>}
允许使用负数<num>
,这将使条目垂直提升到行的中间<num>
。如果<num>
为正数,则条目将被删除。当您有彩色行时,提升很有用,因为颜色是逐行设置的。因此,您可能希望完成某些上行颜色的设置,并将条目\multirow
“放入”其中。为此,您需要一个负数<num>
。
答案2
与。{NiceTabular}
nicematrix
\documentclass{article}
\usepackage{geometry}
\usepackage{nicematrix}
\begin{document}
\sffamily
\parindent0pt
\begin{NiceTabular}{*{6}{w{l}{2cm}}}[hvlines]
1a & 2a & 3a & \Block{1-2}{} 4a, 5a & & 6a \\
1b & \Block{1-2}{} 2b, 3b & & 4b & 5b & 6b \\
1c & 2c & 3c & \Block{2-1}{} 4c, 4d & 5c & 6c \\
\Block{2-1}{} 1d, 1e & 2d & 3d & & 5d & 6d \\
& 2e & 3e & 4e & 5e & \Block{2-1}{6e, 6f} \\
1f & \Block[l]{2-2}{2f, 3f, 2g, 3g} && 4f & 5f & \\
1g & & & 4g & 5g & 6g \\
\Block{1-2}{} 1h, 2h & & 3h & 4h & 5h & 6h \\
\end{NiceTabular}
\end{document}