我希望列中的文本按 amssymb 中的符号对齐\pm
。我知道有一个名为 siunitx 的包,它允许在表格中使用“S”作为列参数进行小数对齐,如下所示:\begin{tabular}{|cSr|}
。当您使用该包时:\usepackage{siunitx}
有没有与此相当的标志\pm
?也许使用相同的包或另一个包?对齐的简单选项是将第一列右调整,r
将\pm
右侧的列左调整,但这不是我想要的。
例子:
\begin{tabular}{l|X|r}
\toprule
{Name} & {Value} & {Unit} \\
\midrule
Ab & {$1500,0 \pm 0,5$} & Kg \\
Cd & {$4,9 \pm 0,1$} & s \\
Ef & {$209$ \pm 2$} & m \\
\bottomrule
\end{tabular}
我只是想知道:对于对齐符号的表格环境,是否存在参数“X”,\pm
如果是,您需要使用什么包才能调用它?
答案1
该siunitx
包支持这一点:
\documentclass{article}
\usepackage{siunitx,booktabs}
\sisetup{
separate-uncertainty,
output-decimal-marker={,},
}
\begin{document}
\begin{tabular}{l S[table-format=4.1(1)] s}
\toprule
Name & {Value} & {Unit} \\
\midrule
Ab & 1500,0 \pm 0,5 & kg \\
Cd & 4,9 \pm 0,1 & s \\
Ef & 209 \pm 2 & m \\
\bottomrule
\end{tabular}
\end{document}
答案2
根据具体情况,但至少在这种情况下,可以使用 TABstack:
\documentclass{article}
\usepackage{booktabs,tabularx,tabstackengine}
\begin{document}
\begin{tabular}{l|c|r}
\toprule
{Name} & {Value} & {Unit} \\
\midrule
\Centerstack[l]{Ab \\ Cd\\ Ef} &
\ensurestackMath{\alignCenterstack{
1500,0 \pm& 0,5\\4,9 \pm& 0,1\\209 \pm& 2}} &
\Centerstack[r]{Kg \\s \\ m}\\
\bottomrule
\end{tabular}
\end{document}