如何根据 \pm 而不是根据点对齐数字?每行还应具有不同的小数位数。
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{table}
\caption{}
\centering
\small
\sisetup{separate-uncertainty}
\begin{tabular}{lS[table-format = 5.4(1)]}
\hline\hline\noalign{\smallskip}
Parameter & Value \\
\noalign{\smallskip}\hline\noalign{\smallskip}
A & 26.5 \pm 2.0 \\
B & 11.102 \pm 1.2 \\
C & 53839 \pm 550 \\
D & 0.5863 \pm 0.016 \\
\noalign{\smallskip}\hline\noalign{\smallskip}
\end{tabular}
\end{table}
\end{document}
答案1
作为这个答案建议,S
包提供的列siunitx
仅带有某些对齐功能,主要将数字调整为小数点分隔符,这不是您想要的。
因此,我建议您调整上面链接的答案,并在不使用包的情况下手动进行对齐siunitx
。由于我不知道您希望如何对齐符号后面的数字\pm
,因此我提供了以下两种替代解决方案。我还建议您查看包booktabs
:
\documentclass{article}
%\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{ l r @{\,\( \pm \)\,} r }
\toprule
{Parameter} & \multicolumn{2}{c}{Value} \\
\midrule
A & 26.5 & 2.0 \\
B & 11.102 & 1.2 \\
C & 53839 & 550 \\
D & 0.5863 & 0.016 \\
\bottomrule
\end{tabular}
\bigskip
\begin{tabular}{ l r @{\,\( \pm \)\,} l }
\toprule
{Parameter} & \multicolumn{2}{c}{Value} \\
\midrule
A & 26.5 & 2.0 \\
B & 11.102 & 1.2 \\
C & 53839 & 550 \\
D & 0.5863 & 0.016 \\
\bottomrule
\end{tabular}
\end{document}
答案2
我不知道是否siunitx
已经实现了任何功能来将数字集中在不确定标记周围。也许它已经实现了,但我不知道。我能想到的唯一解决方法是将数字分成两列以获得效果。您仍然可以使用siunitx
将数字四舍五入到小数点后几位。除此之外,siunitx
不需要
\documentclass{article}
\usepackage{siunitx}
\newcommand\ustrut{\rule{0pt}{12pt}}
\newcommand\lstrut{\rule[-6pt]{0pt}{12pt}}
\begin{document}
\begin{table}
\sisetup{
round-mode=figures,
round-precision=3,
table-alignment-mode=none,
separate-uncertainty,
}
\caption{}
\centering
\small
\begin{tabular}{
l
S[table-number-alignment=right]
@{\(\;\pm\;\)}
S[table-number-alignment=left]
}
\hline\hline
\ustrut Parameter & \multicolumn{2}{c}{Value\lstrut}\\
\hline\ustrut
A & 26.5 & 2.0 \\
B & 11.102 & 1.2 \\
C & 53839 & 550 \\
D & 0.5863 & 0.016 \lstrut \\
\hline
\end{tabular}
\end{table}
\end{document}