使用 @{}c@{} 和多列时错位

使用 @{}c@{} 和多列时错位

当我在表声明中使用 @{}c@{} 限制表的列并同时使用多列时,会出现重复的错误。我举一个例子。

\begin{table}
\begin{tabular}{ @{}l@{} || @{}c@{} | @{}c@{} |@{}c@{} || @{}c@{} | @{}c@{} | @{}c@{} || @{}c@{} | @{}c@{} |@{}c@{} }
$h$&\multicolumn{3}{c||}{TITLE1} & \multicolumn{ 3 }{c||}{TITLE2} & \multicolumn{3}{c}{TITLE3} \\ \hline 
Domain& bbb& aaa& CCCCC& bbb& aaa& ccc& bbb& aaa& ccc\\ \hline \hline 
NAME &\textbf{1}&\textbf{1}&\textbf{1}&61.2&\textbf{20.3}&33.7&12012.8&\textbf{3622.3}&\textbf{3622.3}\\ \hline 
\end{tabular}
\end{table}

正如您在 TITLE1 和 TITLE2 的对应关系中所看到的,垂直线未对齐。

我该如何修复?这是一个很小的错位,但我想修复它。

答案1

这是 default 的一个错误\multicolumn。如果您加载\usepackage{array}它,问题就会得到解决。

在此处输入图片描述


不过,我个人推荐另一种解决方法。

如果你想删除每列周围的空格,你最好使用

\setlength{\tabcolsep}{0pt}

而不是@{}针对每个列类型发送垃圾邮件。

\documentclass{article}


\begin{document}

\setlength{\tabcolsep}{0pt}
\begin{table}
\begin{tabular}{ l || c | c | c || c | c | c || c | c | c }

$h$&\multicolumn{3}{c||}{TITLE1} & \multicolumn{ 3 }{c||}{TITLE2} & \multicolumn{3}{c}{TITLE3} \\ \hline 
Domain& bbb& aaa& CCCCC& bbb& aaa& ccc& bbb& aaa& ccc\\ \hline \hline 
NAME &\textbf{1}&\textbf{1}&\textbf{1}&61.2&\textbf{20.3}&33.7&12012.8&\textbf{3622.3}&\textbf{3622.3}\\ \hline 
\end{tabular}
\end{table}

\end{document}

现在所有东西都完美对齐,并且空间也消失了,无需任何额外的包裹。

在此处输入图片描述

相关内容