siunitx:保护文本行不被格式化为数字?

siunitx:保护文本行不被格式化为数字?

siunitx软件包对于我格式化包含数字的表格已经非常有帮助,现在我在论文的几乎每个表格中都使用 S 列。

但是有一个问题:在表格的标题行中(在 toprule 和 midrule 之间),有文本、变量和单位,当格式化列时,它们经常会产生错误,S[...]所以我必须手动用圆括号将每一个文本括起来}

我想知道:有没有办法从 S 列格式中排除整行表格并将其标记为“文本”(就好像每个单元格都写在“{}”中)?

答案1

表格所基于的TeX\halign基元是面向列的。因此,行操作的实现并不容易。因此,目前的答案是,没有一种简单的方法可以实现您想要的效果。我当然会考虑可能的方法。

答案2

这可以通过 tabularray 包中的选项 guard 来实现。手册提供了以下示例。

\documentclass[border=6pt]{standalone}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}
\begin{document}
\begin{tblr}{
  hlines, vlines,
  colspec={Q[si={table-format=3.2},c]Q[si={table-format=3.2},c]},
  row{1} = {guard}
}
   Head  & Head   \\
  111    & 111    \\
    2.1  &   2.2  \\
   33.11 &  33.22 \\
\end{tblr}
\end{document}

例子

相关内容