这是我的示例和代码。
\begin{table}[H]
\begin{tabular}{lrrrr}
\toprule
\multirow{2}[3]{*}{Method} & \multicolumn{2}{c}{group} & \multicolumn{2}{c}{variable} \\
\cmidrule(l){2-3} \cmidrule(l){4-5}
& rate & size & rate & size \\
\midrule
s = 1/2 & 0.7668 (0.0058) & 8.78 (0.086) & 0.7184 (0.0067) & 11.07 (0.098) \\
s = 1/4 & 0.7768 (0.0066) & 12.81 (0.099) & 0.6732 (0.0063) & 15.29 (0.103) \\
\bottomrule
\end{tabular}
\end{table}
我的问题很简单。我希望第二行的列名(rate、size)居中,而表格中的数字右对齐。我该如何实现?此外,如何使用cmidrule
,尤其是它的第一个选项有什么用?我尝试更改为\cmidrule{lr}
和cmidrule{r}
,但对我来说似乎没什么区别。
谢谢您的帮助。
答案1
\multicolumnn
也可以用于单身的列来覆盖列规范。的第一个参数
\cmidrule
指定了一些修剪。示例使用(lr)
。然后你会看到,右侧的线也更短了。
例子:
\documentclass{article}
\usepackage{booktabs}
\usepackage{multirow}
\begin{document}
\begin{table}
\begin{tabular}{lrrrr}
\toprule
\multirow{2}[3]{*}{Method} & \multicolumn{2}{c}{group} &
\multicolumn{2}{c}{variable} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
& \multicolumn{1}{c}{rate}
& \multicolumn{1}{c}{size}
& \multicolumn{1}{c}{rate}
& \multicolumn{1}{c}{size} \\
\midrule
s = 1/2 & 0.7668 (0.0058) & 8.78 (0.086) & 0.7184 (0.0067) & 11.07 (0.098)
\\
s = 1/4 & 0.7768 (0.0066) & 12.81 (0.099) & 0.6732 (0.0063) & 15.29 (0.103)
\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
借助“makecell˙package”非常简单:
代码:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{multirow,booktabs,makecell}
\renewcommand\theadfont{\normalfont}
\begin{document}
\begin{table}
\begin{tabular}{lrrrr}
\toprule
\multirow{2}[3]{*}{Method} & \multicolumn{2}{c}{group} & \multicolumn{2}{c}{variable} \\
\cmidrule(l){2-3} \cmidrule(l){4-5}
& \thead{rate} & \thead{size} & \thead{rate} & \thead{size} \\
\midrule
s = 1/2 & 0.7668 (0.0058) & 8.78 (0.086) & 0.7184 (0.0067) & 11.07 (0.098) \\
s = 1/4 & 0.7768 (0.0066) & 12.81 (0.099) & 0.6732 (0.0063) & 15.29 (0.103) \\
\bottomrule
\end{tabular}
\end{table}
\end{document}