多列命令导致列错位

多列命令导致列错位

我有以下生成表的代码

\begin{tabular}{|c|c|c|c|} \hline
    \multicolumn{4}{|c|}{A} \\ \hline
    \multicolumn{2}{|c}{B} & \multicolumn{2}{|c|}{C} \\ \hline 
       D & E & F & G \\ \hline
         &   &   &   \\ \hline
\end{tabular}

除了列对齐存在非常小的偏移(见下图)之外,它运行良好。我不明白为什么会发生这种情况。有人知道解决办法吗?

列对齐错误


编辑:一个简单的修复:将分隔符从 C 标签的开头移动到 B 标签的结尾。

\begin{tabular}{|c|c|c|c|} \hline
    \multicolumn{4}{|c|}{A} \\ \hline
    \multicolumn{2}{|c|}{B} & \multicolumn{2}{c|}{C} \\ \hline 
       D & E & F & G \\ \hline
         &   &   &   \\ \hline
\end{tabular}

答案1

我找到了自己问题的答案。看来(正如 Werner 指出的那样),由于\multicolumn允许每个单元格有独立的垂直规则,分隔符的位置|将改变整个表格的外观,如上图所示。

解决办法是确保对齐字符的位置一致。稍微修改一下原来的代码,改为

\begin{tabular}{|c|c|c|c|} \hline
    \multicolumn{4}{|c|}{A} \\ \hline
    \multicolumn{2}{|c|}{B} & \multicolumn{2}{c|}{C} \\ \hline 
       D & E & F & G \\ \hline
         &   &   &   \\ \hline
\end{tabular}

产生以下(对齐)表格:

在此处输入图片描述

相关内容