在这问题,我们学习如何使用array
包在数学模式下拥有一个数组列:
\newcolumntype{L}{>{$}l<{$}}
但是,对于符号表(带单位),如果我可以对 进行同样的操作,那就方便了\si{...}
。然而,
\newcolumntype{U}{>{\si{}l<{}}}
也不
\newcolumntype{U}{>{\si\{}l<{\}}}
似乎有效(我试图{
在那个版本中逃避),当我用这个表尝试时:
\begin{tabular}{U}
\newton\per\meter
\end{tabular}
我得到了错误
! Undefined control sequence.
\newton ->\ERROR
l.29 \newton
\per\meter
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
对于每个使用的单位。有办法吗?
答案1
该siunitx
包不再s
为此目的提供 -type 列,因为一般来说,单位应该位于列标题中。该collcell
包也可用于实现相同的效果
\documentclass{article}
\usepackage{siunitx}
\usepackage{collcell}
\begin{document}
\begin{tabular}{ls>{\collectcell\si}c<{\endcollectcell}}
1 & \newton & \newton \\
2 & \metre & \metre \\
\end{tabular}
\end{document}
如果您愿意的话,可以将其全部包装到新的列类型中……
答案2
该列类型已经存在,它被称为
s
您无法像尝试那样从列中拾取参数,您需要一些技巧或使用一个包(我记不起他的名字了),它可以收集列中每个单元格的内容并将它们提供给宏
请注意:从siunitx
版本 3开始s
,列已不再需要使用,请参阅新siunitx
手册。