首先我要道歉,如果我花足够的时间玩游戏和阅读手册siunitx
,我可能能够解决这个问题。但大约一个小时后我还是没有找到答案。
我有一个表格环境和一个 S 列。我希望此列中的所有数字都被 () 包围并以斜体显示(尽管 () 本身不会以斜体显示)。我希望在 的对齐功能siunitx
仍在运行的情况下实现这一点。
我尝试过bracket-numbers=true
结合[...,open-bracket=(, close-bracket=),...]
siunitx 包选项中的定义来使用该选项。即使对于独立数字,\num[bracket-numbers=true]{12345}
这似乎也没有提供括号。
对于斜体部分,我可以将我的数字放在列中的 \textit{1.2345} 中,这样可以工作,但在我看来缺乏优雅,例如,它不保持指定的对齐方式,只是将其视为文本。
有谁有解决方案吗?非常感谢
答案1
第二种方法
这种方法避免滥用数字的性质!
\documentclass{article}
\usepackage{siunitx}
\DeclareRobustCommand\tnote[1]{\textsuperscript{\emph{#1}}}
\begin{document}
\begin{tabular}{
S[math-rm=\mathit]
S[math-rm=\mathit,table-format=1.3,table-align-text-post = false,
input-open-uncertainty=,input-close-uncertainty=]
}
1&(1.23)\tnote{a}\\
2&(2.012)\tnote{b}
\end{tabular}
\end{document}
第一种方法
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{
S[math-rm=\mathit]
S[math-rm=\mathit,table-format=2.3,input-symbols=()]
}
1&(1.23)\\
2&(2.012)
\end{tabular}
\end{document}
这是对 egreg 解决方案的轻微改进。我目前想不出自动包含括号的方法。
(该bracket-numbers
选项涉及输出可能产生歧义的情况,因此使用括号来保持其在数学上正确。)
答案2
尝试这个:
\begin{tabular}{S[math-rm=\mathit]
>{{(}}S[math-rm=\mathit,
table-format=1.3]<{{)}}}
1&1.232\\
2&2.012
\end{tabular}