为什么我的多列单元格周围的线条未对齐?

为什么我的多列单元格周围的线条未对齐?

下表中,为什么列前的双线diff不通?我猜都是multicolumn{1}错的?我该如何修复?

\begin{table}
\centering
\begin{tabular}{|l||c|c|c|c|c|c||r|}\hline

\multicolumn{1}{|c||}{} &
\multicolumn{3}{c|}{Model 1} &
\multicolumn{3}{c|}{Model 2}  &
\multicolumn{1}{||r|}{}\\

\multicolumn{1}{|c||}{Task} &
\multicolumn{1}{c}{(a)} &
\multicolumn{1}{c}{(b)} &
\multicolumn{1}{c|}{(c)} &
\multicolumn{1}{c}{(a)} &
\multicolumn{1}{c}{(b)} &
\multicolumn{1}{c}{(c)} &
\multicolumn{1}{||r|}{diff}\\\hline

Foo     & 1 & 2 & 3 & A & B & C & + \\
Bar     & 1 & 2 & 3 & A & B & C & + \\\hline

\end{tabular}
\caption{whatever}\label{tab:whatever}
\end{table}

丑陋的桌子

答案1

A\multicolumn覆盖正确的表格标题定义的单元格的行设置,但第一的单元格,它会覆盖右边的左线设置。

\begin{tabular}{|l||c|c|c|c|c|c||r|}\hline

\multicolumn{1}{|c||}{} &
\multicolumn{3}{c|}{Model 1} &
\multicolumn{3}{c||}{Model 2}  &
\multicolumn{1}{r|}{}\\

\multicolumn{1}{|c||}{Task} &
\multicolumn{1}{c}{(a)} &
\multicolumn{1}{c}{(b)} &
\multicolumn{1}{c|}{(c)} &
\multicolumn{1}{c}{(a)} &
\multicolumn{1}{c}{(b)} &
\multicolumn{1}{c||}{(c)} &
\multicolumn{1}{r|}{diff}\\\hline

Foo     & 1 & 2 & 3 & A & B & C & + \\
Bar     & 1 & 2 & 3 & A & B & C & + \\\hline

\end{tabular}

答案2

这不是对你问题的回答(其他人也这样做了)。不过,我认为你可以按照 booktabs 包中的建议制作出更好看的表格。

\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{lccccccc}
\toprule
&\multicolumn{3}{c}{Model 1}&\multicolumn{3}{c}{Model 2}&\\
\cmidrule(lr){2-4}\cmidrule(lr){5-7}
Tack & (a) & (b) & (c) & (a) & (b) & (c) & diff\\
\midrule
Foo & 1 & 2 & 3 & A & B & C & $+$\\
Bar & 1 & 2 & 3 & A & B & C & $+$\\
\bottomrule
\end{tabular}
\end{document}

替代文本

答案3

解决问题的一种方法是将部分代码更改为以下几行。

\multicolumn{1}{|c||}{} &
\multicolumn{3}{c|}{Model 1} &
\multicolumn{3}{c||}{Model 2}  &
\\

\multicolumn{1}{c||}{(c)} &
\multicolumn{1}{r|}{diff}\\\hline

相关内容