表,siunitx,渲染 + 符号

表,siunitx,渲染 + 符号

我有一张表格,其中的数字格式为siunitx。在一列中,我的值显示一种方法相对于另一种方法有所改善(或恶化)。为了清楚地说明我在这里给出了一个增量,我想明确显示正值的 + 字符(仅限该列)。但是,当我在代码中写入它时,它不会被呈现。

最小工作示例:

\documentclass[ngerman]{scrbook}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{l *{3}{S[table-format=2.2]}}
    \hline
    {\textbf{Data}} &
    {\textbf{Baseline}} &
    {\textbf{Magic}} &
    {\textbf{$\Delta$}} \\ \hline
    Data A & 34.56 & 45.67 & +11.11 \\ % + character not rendered :(
    Data B & 76.54 & 98.76 & +22,22 \\
    Data C & 45.67 & 34.56 & -11,11 \\ \hline
\end{tabular}
\end{document}

给出:

表格示例

相反,我希望在最后一栏中显示+11.11和。如有任何提示,不胜感激。+22.22

答案1

你要retain-explicit-plus

\documentclass[ngerman]{scrbook}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{l *{3}{S[table-format=2.2,retain-explicit-plus]}}
    \hline
    {\textbf{Data}} &
    {\textbf{Baseline}} &
    {\textbf{Magic}} &
    {\textbf{$\Delta$}} \\ \hline
    Data A & 34.56 & 45.67 & +11.11 \\ % + character not rendered :(
    Data B & 76.54 & 98.76 & +22,22 \\
    Data C & 45.67 & 34.56 & -11,11 \\ \hline
\end{tabular}
\end{document}

在此处输入图片描述

答案2

托比约恩已经解释了如何修复该问题,但我会将表格排版如下:

\documentclass{scrbook}

\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{center}
\begin{tabular}{
       l
  *{2}{S[table-format = 2.2]}
       S[table-format = -2.2, retain-explicit-plus]
}
  \toprule
    \multicolumn{1}{c}{{\textbf{Data}}} &
    {\textbf{Baseline}}                 &
    {\textbf{Magic}}                    &
    {$\Delta$}                      \\
  \midrule
    Data~A & 34.56 & 45.67 & +11.11 \\
    Data~B & 76.54 & 98.76 & +22.22 \\
    Data~C & 45.67 & 34.56 & -11.11 \\
  \bottomrule
\end{tabular}
\end{center}

\end{document}

输出1

请注意使用table-format = -2.2(而不是table-format = 2.2)来使最后一列正确居中。

另外,请注意使用booktabs在表格中获得正确的水平线。

更新

如果您还想要一个粗体增量,您可以使用以下命令:

\documentclass{scrbook}

\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{center}
\begin{tabular}{
       l
  *{2}{S[table-format = 2.2]}
       S[table-format = -2.2, retain-explicit-plus]
}
  \toprule
    \multicolumn{1}{c}{{\textbf{Data}}} &
    {\textbf{Baseline}}                 &
    {\textbf{Magic}}                    &
    {$\mathbf{\Delta}$}             \\
  \midrule
    Data~A & 34.56 & 45.67 & +11.11 \\
    Data~B & 76.54 & 98.76 & +22.22 \\
    Data~C & 45.67 & 34.56 & -11.11 \\
  \bottomrule
\end{tabular}
\end{center}

\end{document}

输出2

相关内容