使用 tabularx 和多列的表格中的小数对齐

使用 tabularx 和多列的表格中的小数对齐

在我的硕士论文中,我想创建回归表,表中的数字按小数点对齐。

下面是一个 MWE,可以让您了解我所说的内容:

\documentclass[10pt,a4paper]{article}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{siunitx}
\begin{document}
\begin{table}
\caption{MWE without multicolumn elements.}
\begin{tabularx}{\textwidth}{XSSSS} % S: align by decimal point (part of the siunitx package)  
\toprule
1&2&3&4&5\\
\midrule  
1 & 94.90 & 5.10 & 0.00 & 0.00 \\  
2 & 4.08 & 88.78 & 6.80 & 0.34 \\  
3 & 0.00 & 4.08 & 91.84 & 4.08 \\  
4 & 1.02 & 0.51 & 5.61 & 92.86 \\  
\bottomrule
\end{tabularx}
Note: bla bla bla bla.
\end{table}
\end{document}

上述代码产生以下结果: 在此处输入图片描述

我对这个结果非常满意,但如果我添加\mulitcolumn像以下 MWE 中的区域,编译过程将不起作用:

\documentclass[10pt,a4paper]{article}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{siunitx}
\author{Name of the author}
\begin{document}
\begin{table}
\caption{MWE without multicolumn elements.}
\begin{tabularx}{\textwidth}{XSSSS} % S: align by decimal point (part of the siunitx package)  
\toprule
&\multicolumn{2}{c}{Subset 1}& \multicolumn{2}{c}{Subset 2}\\
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
& 1\_PR\_bin & 2\_PR\_log & 3\_RE\_bin & 4\_RE\_log \\ 
\midrule  
1 & 94.90 & 5.10 & 0.00 & 0.00 \\  
2 & 4.08 & 88.78 & 6.80 & 0.34 \\  
3 & 0.00 & 4.08 & 91.84 & 4.08 \\  
4 & 1.02 & 0.51 & 5.61 & 92.86 \\  
\bottomrule
\end{tabularx}
Note: bla bla bla bla.
\end{table}
\end{document}

谁能帮我解决这个问题?非常感谢您的帮助!!

答案1

您的表头值以数字开头,但这些值可能不应该是常规列对齐的一部分。\multicolumn如果您不转义这些值,即使没有,您也会看到奇怪的结果:

& {1\_PR\_bin} & {2\_PR\_log} & {3\_RE\_bin} & {4\_RE\_log} \\ 

我还建议siunitx使用可选参数告诉每列有多少位数字S

\begin{tabularx}{\textwidth}{X*4{S[table-format = 2.2]}} % S: align by decimal point (part of the siunitx package)  
\toprule
&\multicolumn{2}{c}{Subset 1}& \multicolumn{2}{c}{Subset 2}\\
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
& {1\_PR\_bin} & {2\_PR\_log} & {3\_RE\_bin} & {4\_RE\_log} \\ 
\midrule  
1 & 94.90 & 5.10 & 0.00 & 0.00 \\  
2 & 4.08 & 88.78 & 6.80 & 0.34 \\  
3 & 0.00 & 4.08 & 91.84 & 4.08 \\  
4 & 1.02 & 0.51 & 5.61 & 92.86 \\  
\bottomrule
\end{tabularx}

相关内容