下表中,为什么列前的双线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