如果使用@
-operator来调整两列之间的空间,则\cmidrule
需要提供修剪的宽度,否则规则/线看起来会很糟糕。
为什么会这样?说实话,我宁愿不这样做,因为这很耗时。另外,在指定两列之间的空间时,为什么前一列下面的线会更短?
(注:这种用法\cmidrule
取自这里。
图片
平均能量损失
\documentclass[
11pt
]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{
booktabs,
}
\begin{document}
\begin{center}
\begin{tabular}{lrrrrrr}
\toprule
Words & Series01 & Series02 & Series03 & Series04 & Series05 & Series06\\
\cmidrule(r){1-1}
\cmidrule(lr){2-2}
\cmidrule(lr){3-3}
\cmidrule(lr){4-4}
\cmidrule(lr){5-5}
\cmidrule(lr){6-6}
\cmidrule(l){7-7}
B & 24 & 25 & 15 & 2 & 0 & 9 \\
A & 7 & 21 & 17 & 1 & 0 & 5 \\
B & 24 & 12 & 29 & 26 & 27 & 22 \\
A & 0 & 12 & 14 & 22 & 24 & 2 \\
B & 22 & 8 & 8 & 25 & 24 & 1 \\
A & 29 & 6 & 21 & 14 & 21 & 10 \\
B & 29 & 1 & 13 & 12 & 2 & 11 \\
A & 24 & 18 & 16 & 22 & 19 & 23 \\
B & 18 & 7 & 12 & 1 & 1 & 9 \\
A & 6 & 24 & 10 & 30 & 7 & 15 \\
\bottomrule
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{lrrrr@{\hspace{2pt}}lrr}
\toprule
Words & Series01 & Series02 & Series03 & Series04 & \footnotemark{} & Series05 & Series06\\
\cmidrule(r){1-1}
\cmidrule(lr){2-2}
\cmidrule(lr){3-3}
\cmidrule(lr){4-4}
\cmidrule(lr){5-5}
\cmidrule(lr){6-6}
\cmidrule(lr){7-7}
\cmidrule(l){8-8}
B & 24 & 25 & 15 & 2 & & 0 & 9 \\
A & 7 & 21 & 17 & 1 & & 0 & 5 \\
B & 24 & 12 & 29 & 26 & & 27 & 22 \\
A & 0 & 12 & 14 & 22 & & 24 & 2 \\
B & 22 & 8 & 8 & 25 & & 24 & 1 \\
A & 29 & 6 & 21 & 14 & & 21 & 10 \\
B & 29 & 1 & 13 & 12 & & 2 & 11 \\
A & 24 & 18 & 16 & 22 & & 19 & 23 \\
B & 18 & 7 & 12 & 1 & & 1 & 9 \\
A & 6 & 24 & 10 & 30 & & 7 & 15 \\
\bottomrule& &
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{lrrrr@{\hspace{2pt}}lrr}
\toprule
Words & Series01 & Series02 & Series03 & Series04 & \footnotemark{} & Series05 & Series06\\
\cmidrule(r){1-1}
\cmidrule(lr){2-2}
\cmidrule(lr){3-3}
\cmidrule(lr){4-4}
\cmidrule(lr{0.125em}){5-5}
\cmidrule(lr){6-6}
\cmidrule(lr){7-7}
\cmidrule(l){8-8}
B & 24 & 25 & 15 & 2 & & 0 & 9 \\
A & 7 & 21 & 17 & 1 & & 0 & 5 \\
B & 24 & 12 & 29 & 26 & & 27 & 22 \\
A & 0 & 12 & 14 & 22 & & 24 & 2 \\
B & 22 & 8 & 8 & 25 & & 24 & 1 \\
A & 29 & 6 & 21 & 14 & & 21 & 10 \\
B & 29 & 1 & 13 & 12 & & 2 & 11 \\
A & 24 & 18 & 16 & 22 & & 19 & 23 \\
B & 18 & 7 & 12 & 1 & & 1 & 9 \\
A & 6 & 24 & 10 & 30 & & 7 & 15 \\
\bottomrule& &
\end{tabular}
\end{center}
\end{document}
答案1
您这样做的原因是修剪\cmidrule
后的行距下一列缩短了固定宽度。在您的 MWE 中,您已将到下一列的标准距离最小化,因此修剪行向左移动(如果您写20pt
,您就会明白我的意思)。
这里最明显的解决方案是使用\midrule
所有这些修剪规则。看起来好多了。
假设您确实需要这个额外的列,我建议您不要改变列之间的距离,而是将\footnotemark
向左移动并进行一些字距调整。这不会被 识别booktabs
。如果您愿意,您可以为额外的列指定一个固定的宽度,以稍微减小它的大小。
最后一种解决方案是删除空白列,并设置\footnotemark
其所属的位置。最后一个例子如果使用 中的S
居中列,效果会更好siunitx
。
% arara: pdflatex
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{booktabs}
\begin{document}
\begin{center}
\begin{tabular}{lrrrrrr}
\toprule
Words & Series01 & Series02 & Series03 & Series04 & Series05 & Series06\\
\midrule
B & 24 & 25 & 15 & 2 & 0 & 9 \\
\bottomrule
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{lrrrrlrr}
\toprule
Words & Series01 & Series02 & Series03 & Series04 & \kern-2.6ex\footnotemark{} & Series05 & Series06\\
\cmidrule(r){1-1}
\cmidrule(lr){2-2}
\cmidrule(lr){3-3}
\cmidrule(lr){4-4}
\cmidrule(l){5-5}
\cmidrule(lr){7-7}
\cmidrule(l){8-8}
B & 24 & 25 & 15 & 2 & & 0 & 9 \\
\bottomrule
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{lrrrrrr}
\toprule
Words & Series01 & Series02 & Series03 & Series04\footnotemark{} & Series05 & Series06\\
\cmidrule(r){1-1}
\cmidrule(lr){2-2}
\cmidrule(lr){3-3}
\cmidrule(lr){4-4}
\cmidrule(lr){5-5}
\cmidrule(lr){6-6}
\cmidrule(l){7-7}
B & 24 & 25 & 15 & 2 & 0 & 9 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
更新:
我最喜欢的版本(如果我喜欢这些片段的话)将是这样的:
\begin{center}
\begin{tabular}{lrrrrrr}
\toprule
Words & Series01 & Series02 & Series03 & Series04\makebox[0pt]{\kern+1ex\footnotemark} & Series05 & Series06\\
\cmidrule(r){1-1}
\cmidrule(lr){2-2}
\cmidrule(lr){3-3}
\cmidrule(lr){4-4}
\cmidrule(lr){5-5}
\cmidrule(lr){6-6}
\cmidrule(l){7-7}
B & 24 & 25 & 15 & 2 & 0 & 9 \\
\bottomrule
\end{tabular}
\end{center}
诀窍是将脚注标记的宽度设置为零,这样就会产生等距的列。但是,您必须添加一些字距调整才能获得正确的水平距离。