siunitx 包在表中不起作用

siunitx 包在表中不起作用

我无法让siunitx包中的特殊表格列工作。数字显示在普通l列中,但不显示在特殊S列中。这是我的最小示例:

\documentclass[12pt,letterpaper]{article}
\usepackage{siunitx}
\begin{document}
    \num{1.445e12}
    \begin{tabular}{|l|S[tabformat=1.5e12,tabnumalign=left]|}
        \hline
        \num{1.445e12} & \num{1.445e12} \\
        \hline
        \num{95}       & \num{95}       \\
        \hline
    \end{tabular}
\end{document}

结果在这里

预览

不仅指数运算在表格单元格中不起作用,而且数字甚至没有左对齐。使用pdflatex和会产生相同的结果xelatex

答案1

S提供的列类型siunitx会自动将单元格的内容设置为 的参数\num。因此您的定义等于:

\num{\num{95}}

失败了。如果您希望单元格不被解释,\num您可以将单元格放在额外的花括号中{TITLE}

请注意,一些选项的名称已被更改。该包会产生如下错误

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! siunitx error: "version-1-option"
! 
! Version 1 option 'tabnumalign' detected.
! 
! See the siunitx documentation for further information.
! 
! For immediate help type H <return>.
!...............................................  

文档siunitx在附加表中列出了所有更改。请参阅第 8.1 节从版本 1 升级。

OLD          ==> NEW
tabformat    ==> table-format
tabnumalign  ==> table-number-alignment

顺便说一句:避免在表格内使用垂直线,并尽量少用水平线。

相关内容