siunitx 明显与 cmbright 发生冲突

siunitx 明显与 cmbright 发生冲突

我最近升级了一台旧机器,在旧机器上使用siunitxcmbright软件包来获得无衬线字体。然而,这会为设备产生略微粗体(更粗体)的字体,而事实并非如此: siunitxs 字体稍微粗一些

我希望我已经实现了代码的必要改进,即SI通过 进行交换qty。因此,我使用 pdflatex (mwe) 运行以下代码:

\documentclass{article}
\usepackage{siunitx}
\usepackage{cmbright}
\begin{document}
\qty{5}{\m} vs. 5m
\end{document}

答案1

siunitx检测到您正在使用无衬线字体并切换到\mathsf,而 cmbright 不会设置它,因此仍然为cmss。您可以强制 siunitx 再次使用\mathrm

\documentclass{article}
\usepackage{siunitx}
\AtBeginDocument{\sisetup{unit-font-command = \mathrm}} 
\usepackage{cmbright}
\begin{document}
\qty{5}{\m} vs. 5m
\end{document}

在此处输入图片描述

答案2

只需声明\mathsf它应该是什么。由于某些原因,cmbright无法声明它。

\documentclass{article}
\usepackage{siunitx}
\usepackage{cmbright}

\DeclareMathAlphabet{\mathsf}{OT1}{\familydefault}{m}{n}

\begin{document}

\qty{5}{\m} vs. 5m

\end{document}

在此处输入图片描述

相关内容