tabu
的文档承诺它可以将一S
列(来自siunitx
)嵌入到另一X
列中,语法如下:X[c]{S[...]}
。
当siunitx
需要v2.5e
采取v2.5f
解决方法时:https://tex.stackexchange.com/a/70323/82186
对于较新的siunitx
版本(最新版本为v3.0.16
),此解决方法不再有效。
是否有可能tabu
与另一个黑客再次合作?
以下是采用过时解决方法的 MNWE:
\documentclass{article}
\usepackage{expl3}
\usepackage{tabu}
\usepackage{siunitx}
\ExplSyntaxOn
\cs_new_eq:NN \siunitx_table_collect_begin:Nn \__siunitx_table_collect_begin:Nn
\ExplSyntaxOff
\begin{document}
\begin{tabu}{cX[c]{S[explicit-sign=+]}}
a & 1 \\
b & 2.2 \\
c & 3.33 \\
\end{tabu}
\end{document}
以下是它产生的错误:
! Argument of \__siunitx_table_collect_begin:w has an extra }.
<inserted text>
\par
l.13 \begin{tabu}{XX[c]{S[explicit-sign=+]}}
答案1
你可以tabu
用新的 LaTeX3 包替换过时的包tabularray
siunitx
。在软件包2021L 版本中添加了对软件包的支持tabularray
。(已提交给 CTAN,需要一两天才能到达 TeX Live。)
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}
\begin{document}
\begin{tblr}{cX[c,si={explicit-sign=+}]}
a & 1 \\
b & 2.2 \\
c & 3.33 \\
\end{tblr}
\end{document}