包含星号并使用 siunitx 时的列对齐

包含星号并使用 siunitx 时的列对齐

当我必须考虑统计表中的(重要性)星号时,我很难对齐多列对象。我使用 table-space-text-post ={***} 命令来确保表格水平条覆盖数字 - 否则星号会超出表格的 \toprule。但这会导致另一个问题:受 table-space-text-post 影响的单元格内的标题和其他文本未与统计数据正确对齐(即所有包含在 \multicolumn 环境中的文本)。顺便说一句,我使用 \sisetup 命令来确保括号内的图形也正确对齐,这似乎有效。这是我目前拥有的代码:

\documentclass{article}
\usepackage{booktabs,caption}
\captionsetup[table]{font=large}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro
\usepackage{adjustbox}
\usepackage{rotating}
\usepackage[flushleft]{threeparttable}

% *****************************************************************
% siunitx
% *****************************************************************
\usepackage{siunitx} 
\sisetup{group-separator = {,}, group-four-digits,
        detect-mode,
        tight-spacing           = true,
        input-signs             = ,
        input-symbols           = ,
        input-open-uncertainty  = ,
        input-close-uncertainty = ,
        table-align-text-pre    = false,
        table-space-text-pre    = (,
        } % centering in tables

\begin{document}

\begin{tabular}{l S[table-format=1.3, table-space-text-post ={***}]} \toprule \toprule
Text &       \mc{abc}  \\
\midrule \\
T &  0.444***   \\
& ( 0.111) \\ \addlinespace
Constant &  0.888*** \\
& ( 0.222) \\ \addlinespace
Observations & \mc{99,999} \\
R-square &  0.123 \\
\bottomrule \bottomrule
\end{tabular}
\end{document}

我如何才能正确地将列与文本、统计数据和星号对齐?如果您看到下面的表格(这是上述代码的结果),标题“abc”和“99,999”数字与数字和星号一起对齐(好像数字和星号是一个对象)。我希望标题只与数字对齐,而忽略星号。任何帮助都将不胜感激。

在此处输入图片描述

答案1

问题在于您使用的是c列,这实际上消除了siunitx处理数字的任何能力。因此,您需要S为多列命令使用一列,然后S为该列中的奇数修复该列的参数。在这种情况下,您可以指定

\multicolumn{1}{S[table-format=2]}{99999}

以获得您想要的对齐。

\documentclass{article}
\usepackage{booktabs,caption}
\captionsetup[table]{font=large}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro

% *****************************************************************
% siunitx
% *****************************************************************
\usepackage{siunitx} 
\sisetup{group-separator = {,}, group-four-digits,
        detect-mode,
        tight-spacing           = true,
        input-signs             = ,
        input-symbols           = ,
        input-open-uncertainty  = ,
        input-close-uncertainty = ,
        table-align-text-pre    = false,
        table-space-text-pre    = (,
        } % centering in tables

\begin{document}

\begin{tabular}{l S[table-format=1.3, table-space-text-post ={***}]} \toprule \toprule
Text &       \mc{abc}  \\
\midrule \\
T &  0.444***   \\
& ( 0.111) \\ \addlinespace
Constant &  0.888*** \\
& ( 0.222) \\ \addlinespace
Observations & \multicolumn{1}{S[table-format=2]}{99999}\\
R-square &  0.123 \\
\bottomrule \bottomrule
\end{tabular}
\end{document}

代码输出

相关内容