siunitx:括号中的数字存在对齐问题

siunitx:括号中的数字存在对齐问题

下面给出的示例在括号中的小数点后第四位出现了奇怪的偏移。有趣的是,这个问题仅在我将 Miktex 2.8 更新为 Miktex 2.9 后才出现。我不知道是什么导致了第二行最后一个小数点的轻微偏移。

在此处输入图片描述

这是上述输出的代码。

\documentclass[12pt]{article}

\usepackage{amsfonts}
\usepackage{amsmath,array}
\usepackage[detect-all]{siunitx}
\usepackage[margin=1 in]{geometry}
\usepackage{booktabs, longtable}
\usepackage[english]{babel}

\begin{document}
\begin{table}[htbp]
\footnotesize
 \centering

\sisetup{input-symbols=(), table-figures-integer = 3, table-figures-decimal = 4, table-number-alignment = center} 

\begin{tabular}{lSSSSSS}

\toprule
            & {\bf (A)} & {\bf (B)} & {\bf (C)} & {\bf (D)} & {\bf (E)} & {\bf (F)} \\
\hline \midrule
     & 0.0016*** & 0.0013*** & 0.0015*** & 0.0015*** & 0.0009** & 0.0009** \\
          & (0.0005) & (0.0005) & (0.0006) & (0.0006) & (0.0004) & (0.0005) \\
     &       &       &       & 0.1324*** & 0.1202*** & 0.1203*** \\
          &       &       &       & (0.0131) & (0.0118) & (0.0118) \\
 &       &       &       & -0.0549*** & -0.0569*** & -0.0569*** \\
          &       &       &       & (0.0023) & (0.0024) & (0.0024) \\
    \hline \bottomrule
    \end{tabular}
\end{table}
\end{document}

答案1

我可能会像这样设置表格:

\sisetup{
  input-symbols         = (),
  table-format          = -1.5,
  table-space-text-post = ***,
  table-align-text-post = false,
  group-digits          = false
}

将设置***为文本并添加适当的表格格式(一个符号,小数点前一位数字,小数点后 5 位数字(也包括右括号))应该能够使列之间的间距正确。该选项将下table-align-text-post = false一个移动***到数字。

在您的示例中,***右侧列中的和减号几乎看起来互相接触,并且在最后一列中***表格线突出。

在此处输入图片描述

完整示例:

\documentclass[12pt]{article}

\usepackage{amsfonts}
\usepackage{amsmath,array}
\usepackage[detect-all]{siunitx}
\usepackage[margin=1 in]{geometry}
\usepackage{booktabs, longtable}
\usepackage[english]{babel}

\begin{document}

\begin{table}[htbp]
\footnotesize\centering
\sisetup{
  input-symbols         = (),
  table-format          = -1.5,
  table-space-text-post = ***,
  table-align-text-post = false,
  group-digits          = false
} 
\begin{tabular}{lSSSSSS}
 \toprule
  & {\bfseries(A)} & {\bfseries(B)} & {\bfseries(C)} & {\bfseries(D)}  & {\bfseries(E)}  & {\bfseries(F)} \\
 \hline \midrule
  & 0.0016*** & 0.0013*** & 0.0015*** & 0.0015***  & 0.0009**   & 0.0009** \\
  & (0.0005)  & (0.0005)  & (0.0006)  & (0.0006)   & (0.0004)   & (0.0005) \\
  &           &           &           & 0.1324***  & 0.1202***  & 0.1203*** \\
  &           &           &           & (0.0131)   & (0.0118)   & (0.0118) \\
  &           &           &           & -0.0549*** & -0.0569*** & -0.0569*** \\
  &           &           &           & (0.0023)   & (0.0024)   & (0.0024) \\
 \hline \bottomrule
\end{tabular}
\end{table}
\end{document}

答案2

您需要添加group-digits=false到其中\sisetup以获得:

在此处输入图片描述

笔记:

  • 的使用group-decimal-digits=false似乎可以与 一起使用MikTeX 2.8,但事实并非TeXLive 2011如此,应避免。

答案3

您也可以parse-numbers = false,在 中使用\sisetup

\documentclass[12pt]{article}

\usepackage{amsfonts}
\usepackage{amsmath,array}
\usepackage[detect-all]{siunitx}
\usepackage[margin=1in]{geometry} 
\usepackage{booktabs, longtable}
\usepackage[english]{babel}

\begin{document}
\begin{table}[htbp]
\footnotesize
 \centering

\sisetup{parse-numbers = false,input-symbols=(), table-figures-integer = 3, table-figures-decimal=4, table-number-alignment=center}   

\begin{tabular}{lSSSSSS} 

\toprule
            & {\bf (A)} & {\bf (B)} & {\bf (C)} & {\bf (D)} & {\bf (E)} & {\bf (F)} \\
\hline \midrule
     & 0.0016*** & 0.0013*** & 0.0015*** & 0.0015*** & 0.0009** & 0.0009** \\
          & (0.0005) & (0.0005) & (0.0006) & (0.0006) & (0.0004) & (0.0005) \\
     &       &       &       & 0.1324*** & 0.1202*** & 0.1203*** \\
          &       &       &       & (0.0131) & (0.0118) & (0.0118) \\
 &       &       &       & -0.0549*** & -0.0569*** & -0.0569*** \\
          &       &       &       & (0.0023) & (0.0024) & (0.0024) \\
    \hline \bottomrule
    \end{tabular}
\end{table}
\end{document}

在此处输入图片描述

相关内容