请考虑以下示例:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}[h!]
\centering
\caption{Foo}
\begin{tabular}{rr@{\hskip 3em}rr@{\hskip 6em}rr@{\hskip 3em}rr}
\toprule
\multicolumn{4}{c}{Foo} & \multicolumn{4}{c}{Bar}\\
\cmidrule(lr){1-4}\cmidrule(lr){5-8}
\multicolumn{2}{c}{Foobar} & \multicolumn{2}{c}{Foobuzz} & \multicolumn{2}{c}{BarFoo} &
\multicolumn{2}{c}{BarFuzz} \\
\cmidrule(lr){1-2}\cmidrule(lr){3-4}\cmidrule(lr){5-6}\cmidrule(lr){7-8}
A & B & C & D & E & F & G & H\\
\midrule
1 & 1 & 0.01 & 0.000001 & 1 & 128 & 1 & 1--1 \\
2 & 3 & 0.1 & 0.000003 & 2 & 256 & 2 & 1--2 \\
3 & 1 & 1 & 0.00001 & 3 & 512 & 3 & 1--3 \\
4 & 3 & 10 & 0.00003 & 4 & 1024 & & \\
5 & 1 & 100 & 0.0001 & 5 & 2048 & & \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
我有两个主要组 Foo 和 Bar,我想用一些列空间将它们分开。然后,在这些组中,我还有子组 Foobar、FooBuzz、BarFoo 和 BarFuzz,我也想将它们分开一点。然后,我想在下面使用一条线来显示保持在一起的内容。现在,似乎 命令\cmidrule
没有将我的列间距视为列之间的空间,而是将其视为列的一部分(如果您明白我的意思)。事实上,似乎\multicolumn
也犯了这个错误。我怎样才能在列之间留出空间,并将其视为\cmidrule
和之间的空间\multicolumn
?
答案1
你必须考虑列间距还在相关的\multicolumn
s 中,并在 的修剪值中考虑到它\cmidrule
。这是一个可能的代码 \ 我加载了caption
包,以便在上面的标题和表格之间留出合理的间距:
\documentclass{article}
\usepackage{booktabs, caption, array}
\begin{document}
\begin{table}[h!]
\centering
\caption{Foo}
\begin{tabular}{rr@{\hskip 3em}rr@{\hskip 6em}rr@{\hskip 3em}rr}
\toprule
\multicolumn{4}{c@{\hskip 6em}}{Foo} & \multicolumn{4}{c}{Bar}\\
\cmidrule(lr{5.75em}){1-4}\cmidrule(l{-0.15em}r){5-8}
\multicolumn{2}{c@{\hskip 3em}}{Foobar} & \multicolumn{2}{c@{\hskip 6em}}{Foobuzz} & \multicolumn{2}{c@{\hskip 3.5em}}{BarFoo} &
\multicolumn{2}{c!{\hskip 0.5em}}{BarFuzz} \\
\cmidrule(lr{2.75em}){1-2}\cmidrule(lr{5.85em}){3-4}\cmidrule(l{-0.15em}r{2.75em}){5-6}\cmidrule(l{-0.05em}r){7-8}
A & B & C & D & E & F & G & H\\
\midrule
1 & 1 & 0.01 & 0.000001 & 1 & 128 & 1 & 1--1 \\
2 & 3 & 0.1 & 0.000003 & 2 & 256 & 2 & 1--2 \\
3 & 1 & 1 & 0.00001 & 3 & 512 & 3 & 1--3 \\
4 & 3 & 10 & 0.00003 & 4 & 1024 & & \\
5 & 1 & 100 & 0.0001 & 5 & 2048 & & \\
\bottomrule
\end{tabular}
\end{table}
\end{document}