\documentclass[12pt]{article}
\usepackage[letterpaper,margin=1in]{geometry}
\usepackage{booktabs}
\usepackage{siunitx}
\newcolumntype{T}[1]{S[table-format=#1]}
\begin{document}
\noindent
\begingroup % localize scope of the next instruction
\setlength\tabcolsep{0pt} % let LaTeX figure out intercol. sapce
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}
c *{3}{T{2.1}T{2.1}T{3.0}} }
\toprule
$N_p$ & \multicolumn{3}{c}{method_1}
& \multicolumn{3}{c}{method_2}
& \multicolumn{3}{c}{method_3} \\
\cmidrule{2-4} \cmidrule{5-7} \cmidrule{8-10}
& {parameter_1} & {parameter_2} & {parameter_3} &
{parameter_1} & {parameter_2} & {parameter_3} &
{parameter_1} & {parameter_2} & {parameter_3} \\
\midrule
10 & 13.6 & 98.4 & 113 & 12.4 & 98.7 & 285 & 12.3 & 98.7 & 411 \\
15 & 8.4 & 99.4 & 135 \\
20 & 6.2 & 99.7 & 140 \\
\bottomrule
\end{tabular*}
\endgroup
\end{document}
我看到下面这张漂亮的表格,它完全符合我想要创建的内容。不幸的是,有一个区别,我总共有 5 个方法,但只有 2 个参数需要填写值。我对表格还不太熟悉,所以我无法相应地调整此代码片段。任何帮助都非常感谢。
答案1
答案与草图相符吗
此外,包\cmidrule
的命令booktabs
允许使用括号中的可选参数( )
来指定应该在哪一侧减少:
\cmidrule(r){3-8} \cmidrule(r){9-14} \cmidrule{15-18}
会缩短前两个规则的右端。您还可以在括号中添加金额,即(r{10pt})
并选择两侧(lr)
, (l{5pt}r{10pt})
。
\documentclass{article}
\usepackage{array, booktabs}
\begin{document}
\setlength{\arrayrulewidth}{.8pt}
\newcommand{\mc}[1]{\multicolumn{2}{c}{Method.#1}}
\begin{table}
\caption{Table showing Feature 5's Functional Tests}
% \hspace*{-0.5in}
\begin{tabular}{ccccccccccc}\toprule
Np &
\mc{1}&
\mc{2}&
\mc{3}&
\mc{4}&
\mc{5} \\
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\cmidrule(lr){6-7}
\cmidrule(lr){8-9}
\cmidrule(lr){10-11}
& pm1&pm2&pm1&pm2&pm1&pm2&pm1&pm2&pm1&pm2\\
\midrule
20&A&A&A&A&A&A&A&A&A&A\\
40&A&A&A&A&A&A&A&A&A&A\\
60&A&A&A&A&A&A&A&A&A&A\\
\bottomrule
\end{tabular}
\end{table}
\end{document}