如何对齐第二行的列名?

如何对齐第二行的列名?

这是我的示例和代码。

在此处输入图片描述

\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}

相关内容