用括号将数字对齐时出现问题

用括号将数字对齐时出现问题

英语不是我的母语,但我会尽力解释我的问题。

我的问题是 L 和 T 列之间有额外的间距,这显然是在我以科学模式输入数字时出现的。有没有办法让科学数字像这样,用逗号对齐,并使列间距更正常(更小)?

前言:

\documentclass[12pt,twoside]{report}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage[a4paper,width=150mm,top=25mm,bindingoffset=6mm]{geometry}
\usepackage{amsmath}
\sisetup{input-symbols = ()}

表格代码:

\begin{table}[ht]\centering
\caption[caption]{caption}\label{reg_basis1}
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\sisetup{table-space-text-post = \sym{***}}

\begin{tabular}{l*{5}{S[table-align-text-post=false]}}
\toprule
\multicolumn{1}{l}{\textbf{}}&\multicolumn{1}{c}{\textbf{L}}&
\multicolumn{1}{c}{\textbf{T}}&\multicolumn{1}{c}{\textbf{n}}&
\multicolumn{1}{c}{\textbf{\(R^{2}\)}}&
\multicolumn{1}{c}{\textbf{Justert $R^{2}$}}\\
\midrule
1997 - 2008 & 0.207 \sym{***} & 3.5\num{1e-4} \sym{***} & {623} & 0.27 & 0.21  \\
            & (0.049)         & (0.8\num{1e-4})         &       &      &       \\
        \addlinespace
2009 - 2015 &&&&&  \\
            &&&&&  \\
        \addlinespace
\bottomrule
\multicolumn{5}{l}{\footnotesize Estimerte standardavvik er gitt i parenteser}\\
\multicolumn{5}{l}{\footnotesize \sym{*} $p<0.05$, \sym{**} $p<0.01$, \sym{***} \  $p<0.001$}\\
\end{tabular}
\end{table}

我希望这里有人有时间回答我。我尝试过搜索/谷歌搜索,但没有找到任何可以解决我的问题的具体方法。

答案1

我认为你的主要问题是(圆)括号用来包围数字,因为它们也用作命令的自然输入,\num以指示数字的错误。这就是为什么您必须通过将(圆)括号放入花括号中来保护它们。

(我不会使用您的解决方案并将其添加到input-symbols,因为这可能会导致一些不良的副作用,我还没有对此进行测试。)

然后得到正确的间距是非常简单的,并且已经回答了例如这里将列中可以找到的“元素”提供给说明符的选项,S例如table-format。(请查看siunitx手册 v2.6 的第 47 页表 25)。

看一下下面的代码,我对其进行了一点缩减,以免分散对主表格的注意力。

\documentclass[border=2mm]{standalone}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
        \def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
        \sisetup{
            table-align-text-post=false,
        }
    \begin{tabular}{
        l
        S[table-format=1.3,   table-space-text-pre={(},table-space-text-post={\sym{***}}]
        S[table-format=1.1e-1,table-space-text-pre={(},table-space-text-post={\sym{***}}]
        S[table-format=3]
        S[table-format=1.2]
        S[table-format=1.2]
        }
            \toprule
                      & {\textbf{L}}    & {\textbf{T}}   & {\textbf{n}}
                                                               & {\textbf{$R^{2}$}}
                                                                      & {\textbf{Justert $R^{2}$}} \\
            \midrule
        1997 -- 2008  & 0.207 \sym{***} & 3e-4 \sym{***} & 623 & 0.27 & 0.21 \\
                      & {(}0.049{)}     & {(}0.8e-4{)}   &     &      &      \\
                \addlinespace
        2009 -- 2015  &                 &                &     &      &      \\
                      &                 &                &     &      &      \\
                \addlinespace
            \bottomrule
        \multicolumn{5}{l}{\footnotesize Estimerte standardavvik er gitt i parenteser}\\
        \multicolumn{5}{l}{\footnotesize
            \sym{*}   $p < \num{0.05}$,
            \sym{**}  $p < \num{0.01}$,
            \sym{***} $p < \num{0.001}$}\\
    \end{tabular}
\end{document}

该图显示了上述代码的结果

相关内容