升级我的 MikTeX 安装(几天前)将我的siunitx
软件包更新到版本 v2.8(2020/02/20)。今天,我观察到@the egreg 的回答现在产生的结果与之前产生的结果不同。
以下 MWE
\documentclass[11pt]{standalone}
\usepackage{siunitx}
\sisetup{detect-weight,
table-format=2.2}
\usepackage{etoolbox}
\renewrobustcmd{\bfseries}{\fontseries{b}\selectfont}
\newcommand{\B}{\bfseries} % <-- schortcut
\begin{document}
\begin{tabular}{ |S[mode=text] | S |}
12.34 & 12.34 \\
\B 12.34 &\B 12.34 \\
\end{tabular}
\end{document}
应该返回第一列和第二列中数字的不同对齐方式,但它们是相同的。在第一列中,粗体数字的数字宽度应该与其上方的罗马数字的宽度相同。第二列的情况也如下所示。
我是否遗漏了什么?
答案1
在新版 latex 中,\bfseries 的处理方式已经发生改变。如果你想要切换到 b 而不是 bx,你可以这样做:
\documentclass[11pt]{standalone}
\usepackage{siunitx}
\sisetup{detect-weight,
table-format=2.2}
\usepackage{etoolbox}
\DeclareFontSeriesDefault[rm]{bf}{b}
\newcommand\B{\bfseries}
\begin{document}
abc \textbf{ab}
\begin{tabular}{ |S[mode=text] | S |}
12.34 & 12.34 \\
\B 12.34 &\B 12.34 \\
\end{tabular}
\end{document}
请注意,这也会影响表格外的粗体字体。如果不希望出现这种情况,则应将开关集成到 \B 命令中,这样该命令就应该变得健壮