有一个包含数值的表,我想要实现:
- 自动将数字分组为三组
- 以粗体突出显示某些单元格
但是不需要对齐。为了实现第一个,我使用S
siunitx的列,结合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}