使用 siunitx 表格格式的正确方法

使用 siunitx 表格格式的正确方法

我的问题类似于siunitx:在表格中按小数点对齐数字不适用于粗体或斜体数字,但我想将格式应用于某一行或特定单元格,而不是整个列。我无法应用建议的答案来siunitx解释粗体或颜色宏。

该软件包文档的第 9.4 节siunitx提到

建议使用 e-TeX 保护机制来防止表格单元格中宏的扩展

但我仍然不知道如何正确地做到这一点。我尝试应用建议的内容这里没有成功:

\documentclass{article}
\usepackage{booktabs}
\usepackage{etoolbox}
\robustify\bfseries
\usepackage{siunitx,xcolor}
\sisetup{detect-weight=true, detect-inline-weight=text, locale = FR}

\begin{document}

\begin{tabular}{l S S}
        \toprule
        \textbf{Foo} & \textbf{Col1} & \textbf{Col2}  \\
        \midrule
        foo1 & 11.1 & 11.1\\
        foo2 & 222.2 & 222.2\\
        \textbf{foo3}  & \textbf{3.333} & \textbf{3.333}\\
        foo4  & 4 & 4\\
        foo5  & 555.55 & \textcolor{gray}{555.55}\\
        foo6 & 6.00 & 6.00\\
        \bottomrule
\end{tabular}

\end{document}

表格示例

感谢您的帮助。

答案1

感谢@Joseph Wright 的评论,我使用\bfseries而不是\textbf,而\color不是\textcolor(根本没有括号):

\documentclass{article}
\usepackage{booktabs}
\usepackage{siunitx,xcolor}
\sisetup{detect-weight=true, detect-inline-weight=text, locale = FR}

\begin{document}

\begin{tabular}{l S S}
        \toprule
        \textbf{Foo} & \textbf{Col1} & \textbf{Col2}  \\
        \midrule
        foo1 & 11.1 & 11.1\\
        foo2 & 222.2 & 222.2\\
        \textbf{foo3}  & \bfseries 3.333 & \bfseries 3.333\\
        foo4  & 4 & 4\\
        foo5  & 555.55 & \color{gray} 555.55\\
        foo6 & 6.00 & 6.00\\
        \bottomrule
\end{tabular}

\end{document}

在此处输入图片描述

相关内容