siunitx:关闭对齐的粗体单个数字单元格

siunitx:关闭对齐的粗体单个数字单元格

有一个包含数值的表,我想要实现:

  1. 自动将数字分组为三组
  2. 以粗体突出显示某些单元格

但是不需要对齐。为了实现第一个,我使用Ssiunitx的列,结合table-parse-only包选项关闭对齐。

现在我正为第二点而苦恼。解决方案来自siunitx:粗体单个数字单元格建议如下:

\usepackage{etoolbox,siunitx}
\robustify\bfseries
\sisetup{detect-weight=true,detect-inline-weight=math}

\begin{document}
\begin{tabular}{SS}
1111.11 & \bfseries 1111.11 \\
\end{tabular}
\end{document}

但是,一旦我添加table-parse-only选项,第二个单元格就不再是粗体了。我也可以这样写:

1111.11 & {\bfseries 1111.11} \\

然后第二个单元格变为粗体,但自动分组被关闭。

我怎样才能简单地创建具有自动分组且无对齐的数字表,以便我可以以粗体突出显示某些单元格?

答案1

对于一次性单元格,您可以随时使用\multicolumn如下命令

\multicolumn{1}{c}{\bfseries \num{11111.11}}

为了方便起见,可以将其打包成宏\tbnum

\newcommand{\tbnum}[1]{\multicolumn{1}{c}{\bfseries \num{#1}}}

示例输出

\documentclass{article}

\usepackage{etoolbox,siunitx}
\robustify\bfseries
\sisetup{table-parse-only,detect-weight=true,detect-inline-weight=text}

\newcommand{\tbnum}[1]{\multicolumn{1}{c}{\bfseries \num{#1}}}

\begin{document}

\begin{tabular}{SS}
  11111.11 & \multicolumn{1}{c}{\bfseries \num{11111.11}} \\
  11111.11 & \tbnum{11111.11} \\
\end{tabular}

\end{document}

相关内容