我正在使用 siunitx 来对齐表格中的小数。问题是,出于某种原因,它不允许我输入字母e
。其他字母,例如a
都可以。
这是我正在使用的代码。
\usepackage{multirow}
\usepackage[detect-all]{siunitx}
\begin{table}[]
\begin{tabular}{@{}c S[table-format=2.1] S[table-format=2.1] @{}}
header & a & e \\
a & 32.4 & 12.2 \\
c & 0.1 & 3.4 \\
\end{tabular}
\end{table}
这是我得到的结果。我原本希望在标题行中看到 和 。但是,我只得到a
了。e
a
我收到的唯一错误消息是Invalid numerical input 'e'
。如何修复此问题?谢谢!
答案1
siunitx
S
除非设置了选项,否则将解析类型列的内容parse-numbers=false
——您发布的代码片段中并非如此。因此,字母d
、e
和j
将导致崩溃,除非它们出现在数字表达式中,例如1e5
、2d7
或-j
。(在第三个示例中,j
被视为一种对虚数(又名)进行编码的方式i
。)根据具体情况,字母g
也可以被解释为具有特殊含义。
siunitx
近年来,已经变得足够智能,能够弄清楚诸如cat
和之类的输入fly
不可能代表数字,因此应将其视为纯文本。顺便说一句,这种智能就是为什么在代码片段的某个单元格中不会引起问题的原因。但是,由于编写和a
并不那么困难,请养成将非数字术语(它们在列的标题单元格中出现的频率相当高)括在花括号中的习惯。这样,您肯定已经消除了有关如何处理标题单元格中的文本的所有不确定性。{cat}
{fly}
S