我在 方面遇到了麻烦\multicolumn
。在第二行中,包含 的单元格9
应该具有相同的大小。我该如何实现这一点?
\documentclass{article}
\begin{document}
\begin{center}
\begin{tabular}{|c|cccccc|}
\hline
\textbf{faz} & \multicolumn{6}{c|}{18}\\
\hline
\textbf{bar} & \multicolumn{3}{c|}{9} & \multicolumn{3}{c|}{9}\\
\hline
\textbf{baz} & \multicolumn{2}{c|}{6} & \multicolumn{2}{c|}{6} & \multicolumn{2}{c|}{6}\\
\hline
\end{tabular}
\end{center}
\end{document}
答案1
是的,这种行为很奇怪,但有一个解释。由于您\multicolumn
在列对齐规范的第二部分中使用 s 取消了 6 列定义,因此 LaTeX 不知道表格的该部分应该如何对齐。
我的建议是插入一条虚线,其中没有任何内容,横跨整个表格宽度,包括每个列条目。然后跳回(垂直)排版表格的其余部分。这将确保 LaTeX 知道有 6 列要以 6/3-3/2-2-2 的\multicolumn
方式拆分。
这是经过更正的最小示例:
\documentclass{article}
\begin{document}
\begin{center}
\begin{tabular}{|c|cccccc|}
\hline
\multicolumn{1}{c}{} & & & & & & \\[\dimexpr-\normalbaselineskip-\arrayrulewidth]% Correct for mis-alignment
\textbf{faz} & \multicolumn{6}{c|}{18}\\
\hline
\textbf{bar} & \multicolumn{3}{c|}{9} & \multicolumn{3}{c|}{9}\\
\hline
\textbf{baz} & \multicolumn{2}{c|}{6} & \multicolumn{2}{c|}{6} & \multicolumn{2}{c|}{6}\\
\hline
\end{tabular}
\end{center}
\end{document}