避免 bfseries 在 siunitx 中加粗 \pm

避免 bfseries 在 siunitx 中加粗 \pm

我正在使用 siunitx 成功地将我的列内容沿着以下方向对齐\pm

\begin{table}[b]
    \centering  
    \robustify\bfseries
    \begin{tabular}{
            c       S[detect-weight, table-format=1.1(1)]}
        \toprule
        Header1 & {Header2} \\
                    & {Sub} \\
        \midrule
        A2          & -6,2 \pm 1,3 \\
        A3          & 4,8 \pm 1,7 \\
        A7          & \bfseries 5,7 +- 2,0 \\
        A12         & 5,9 \pm 2,1 \\        
        \bottomrule
    \end{tabular}
    \caption{Caption.}
    \label{table:mwe}
\end{table}

桌子

此外,我想指出一个使用 的特殊数据集\bfseries,它恰好也会将 +- 符号加粗,这并不是有意为之。我想避免这种情况,因为加粗的 +- 内没有其他信息,而且 +- 符号的大小也会增加。有什么想法不指向列分隔符的方向吗?

答案1

您还可以使用b字体系列以便数字具有相同的大小。

\documentclass{article}
\usepackage{siunitx,etoolbox,booktabs}

\sisetup{separate-uncertainty}

\begin{document}

\begin{table}

\centering
\renewrobustcmd{\bfseries}{\fontseries{b}\selectfont}
\renewcommand{\pm}{\mathbin{\mbox{\unboldmath$\mathchar"2206$}}}

\begin{tabular}{
  c
  S[detect-weight, table-format=-1.1(1),mode=text]
}
\toprule
Header1 & {Header2} \\
        & {Sub} \\
\midrule
A2          & -6,2 \pm 1,3 \\
A3          & 4,8 \pm 1,7 \\
A7          & \bfseries 5,7 +- 2,0 \\
A12         & 5,9 \pm 2,1 \\        
\bottomrule
\end{tabular}

\caption{Caption.}
\label{table:mwe}

\end{table}

\end{document}

在此处输入图片描述

更新

上述内容在版本 3 中不再有效siunitx。需要一些更复杂的东西,不是为了取消\pm符号的粗体,而是为了获得非扩展粗体。

\documentclass{article}
\usepackage{siunitx,booktabs}

% this is only necessary for Computer Modern
\DeclareMathVersion{tablebold}
\SetSymbolFont{operators}{tablebold}{OT1}{cmr} {b}{n}
\SetSymbolFont{letters}  {tablebold}{OML}{cmm} {b}{it}
\SetSymbolFont{symbols}  {tablebold}{OMS}{cmsy}{b}{n}
\ExplSyntaxOn
\keys_set:nn { siunitx / series-version-mapping } { b = tablebold }
\ExplSyntaxOff
%%%

\sisetup{separate-uncertainty}

\begin{document}

\begin{table}

\centering

% a couple of local redefinitions
\RenewDocumentCommand{\pm}{}{\mathbin{\mbox{\mathversion{normal}$\mathchar"2206$}}}
\newcommand{\B}{\fontseries{b}\selectfont} % for brevity

\begin{tabular}{
  c
  S[detect-weight,table-format=-1.1(1)]
}
\toprule
Header1 & {Header2} \\
        & {Sub} \\
\midrule
A2          &   -6,2 \pm 1,3 \\
A3          &    4,8 \pm 1,7 \\
A7          & \B 5,7 +-  2,0 \\
A12         &    5,9 +-  2,1 \\        
\bottomrule
\end{tabular}

\caption{Caption.}
\label{table:mwe}

\end{table}

\end{document}

输出与以前相同。

答案2

我会将 pm 切换回正常字体,对齐已经被粗体数字破坏,因此不会造成额外的损害

\documentclass{article}

\usepackage[separate-uncertainty = true]{siunitx}
\usepackage{booktabs}

\begin{document}


\begin{table}[b]
    \centering  
%    \bfseries
    \begin{tabular}{
            c       S[detect-weight, table-format=1.1(1)]}
        \toprule
        Header1 & {Header2} \\
                    & {Sub} \\
        \midrule
        A2          & -6,2 \pm 1,3 \\
        A3          & 4,8 \pm 1,7 \\
        A7          & \bfseries 5,7 {\normalfont$\pm$} 2,0 \\
        A12         & 5,9 \pm 2,1 \\        
        \bottomrule
    \end{tabular}
    \caption{Caption.}
    \label{table:mwe}
\end{table}

\end{document}

相关内容