multicolumn 如何分配列宽?

multicolumn 如何分配列宽?

我想制作一个看起来像下面左侧 MWE 的前两行的表格,但我得到的却是像右侧一样间距不等的列。这种现象的原因是什么?如何避免?

\documentclass{article}
\begin{document}

\begin{tabular}{|c|c|c|c|}
\hline
1&\multicolumn{2}{|c|}{23}&4\\
\hline
\multicolumn{2}{|c|}{12}&\multicolumn{2}{c|}{34}\\
\hline
&&&\\
\hline
\end{tabular}

\begin{tabular}{|c|c|c|c|}
\hline
1&\multicolumn{2}{|c|}{23}&4\\
\hline
\multicolumn{2}{|c|}{12}&\multicolumn{2}{c|}{34}\\
\hline
\end{tabular}
\end{document}

在此处输入图片描述

答案1

如果跨越条目比它跨越的列宽,那么只扩展最后一个跨越列。这通常看起来很隐蔽,最好确保正常单元格的自然宽度比跨越单元格的自然宽度宽。

您的示例更加扭曲,因为第二列根本没有使用,所以 teX 会对其进行优化,使其远离计算。如果您的实际表格中有一行包含所有四个条目,那么您会得到更好的结果。

\documentclass{article}
\begin{document}

\begin{tabular}{|c|c|c|c|}
\hline
1&\multicolumn{2}{|c|}{23}&4\\
\hline
\multicolumn{2}{|c|}{12}&\multicolumn{2}{c|}{34}\\
\hline
&&&\\
\hline
\end{tabular}

\bigskip

\begin{tabular}{|c|c|c|c|}
\hline
1&\multicolumn{2}{|c|}{23}&4\\
\hline
\multicolumn{2}{|c|}{12}&\multicolumn{2}{c|}{34}\\
\hline
\end{tabular}

\bigskip

\begin{tabular}{|c|c|c|}
\hline
1&\multicolumn{1}{|c|}{23}&4\\
\hline
\multicolumn{1}{|c|}{12}&\multicolumn{2}{c|}{34}\\
\hline
\end{tabular}

\bigskip

\begin{tabular}{|c|c|c|c|}
\hline
1&\multicolumn{2}{c|}{23}&4\\
\hline
\multicolumn{2}{|c|}{12}&\multicolumn{2}{c|}{34}\\
\hline
\omit&&&
\end{tabular}

\end{document}

在此处输入图片描述

相关内容