使用 siunitx 格式化表格:括号和符号的问题

使用 siunitx 格式化表格:括号和符号的问题

我基本上需要创建一个回归表,其中一行是系数,第二行是括号中的 t 统计量。但是,当 t 统计量为负时,我遇到了问题。当我编译代码时,我得到了一个错误符号标记错误。这是我使用的代码:

\documentclass[12pt,a4paper,twoside]{article}
\usepackage[french,german,english]{babel}                      
\usepackage{array}
\usepackage{multirow}
\usepackage{amsmath, amssymb,mathrsfs}  
\usepackage{siunitx}
\sisetup{
input-symbols = {()},
group-digits  = false,
explicit-sign
}

\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{l S S}
&\multicolumn{1}{c}{Proportion taken}&\multicolumn{1}{c}{Decision category}\\

Coefficient   &      -0.116** &      0.711** \\
t-test & (-0.23094) & (3223.3)\\

\end{tabular}
\end{table}

\end{document}

如果我将 -0.23094 改为 0.23094,它可以正常工作,但是当我包含符号时​​则不行。

答案1

\sisetup{parse-numbers=false}关闭表格环境中的数字解析器。然后数字将以“给定”的数学模式打印。

\documentclass[12pt,a4paper,twoside]{article}
\usepackage[T1]{fontenc}
\usepackage[french,german,english]{babel}                      
\usepackage{array}
\usepackage{multirow}
\usepackage{amsmath, amssymb,mathrsfs}  
\usepackage{siunitx}
\sisetup{
input-symbols = {()},
group-digits  = false,
explicit-sign
}

\begin{document}
\begin{table}[ht]
\centering
\sisetup{parse-numbers=false}
\begin{tabular}{l S S}
  &\multicolumn{1}{c}{Proportion taken}&\multicolumn{1}{c}{Decision category}\\
  Coefficient   &      -0.116** &      0.711** \\
  t-test & (-0.23094) & (3223.3)\\
\end{tabular}
\end{table}

\end{document}

在此处输入图片描述

答案2

这个选项就是input-symbols = {()}导致“放错标志令牌”错误的因素。

不过我建议不是设置parse-numbers = false为解决这个问题,因为它禁用了siunitx四舍五入和数字分组功能,并且改变了星号的外观(正如你从中看到的那样埃塞克斯的截图)。

相反,你应该在列表中不包含括号input-symbol。这是我的建议:

\documentclass{article}

\usepackage{booktabs}
\usepackage{siunitx}
\sisetup{
    detect-all,
    round-integer-to-decimal = true,
    group-digits             = true,
    group-minimum-digits     = 4,
    group-separator          = {\,},
    table-align-text-pre     = false,
    table-align-text-post    = false,
    input-signs              = + -,
    input-symbols            = {*} {**} {***},
    input-open-uncertainty   = ,
    input-close-uncertainty  = ,
    retain-explicit-plus
}

\begin{document}

\begin{center}
  \begin{tabular}
    {@{}
     l
     S[table-format=+1.5, table-space-text-pre={**}, table-space-text-post={-**}]
     S[table-format=-4.3, table-space-text-pre={**}, table-space-text-post={-**}]
     @{}
    }
    \toprule
                & {Proportion taken} & {Decision category} \\
    \midrule
    Coefficient & -0.116**           &    0.711**          \\
    $t$-test    & (-0.23094)         & (3223.3)            \\
    \bottomrule
  \end{tabular}
\end{center}

\end{document}

编译结果如下:

使用 siunitx 的 LaTeX 示例表

答案3

我会这样做:

\documentclass{article}

\usepackage{booktabs}
\usepackage{siunitx}
\sisetup{
  input-symbols         = {()},
  group-digits          = false,
  table-space-text-post = **,
  explicit-sign
}

\begin{document}

\begin{center}
  \begin{tabular}{l S[table-format = -1.5] S[table-format = 4.3]}
   \toprule
                & {Proportion taken} & {Decision category} \\
   \midrule
    Coefficient & -0.116**           &    0.711**          \\
    $t$-test    & -0.23094           & 3223.3              \\
   \bottomrule
  \end{tabular}
\end{center}

\end{document}

输出

注意使用table-space-text-post = **以获得正确的垂直对齐。

此外,由于“-”列中\multicolumn包围的条目会自动居中,因此不需要居中通过。{}S

相关内容