siunitx 使用错误的 \mathrm 与 eulervm 和 mathpazo

siunitx 使用错误的 \mathrm 与 eulervm 和 mathpazo

通过同时加载 mathpazo 和 eulervm,使用 siunitx 时单位将以 euler mathfont 书写,而不是以 upright roman 字体书写。即使明确设置了sisetup

unit-math-rm=\mathrm

我使用的是 Mac TexLive 2016,所有软件包都已更新。在数学模式下定期使用时,它按预期工作。因此,使用\mathrm时一定存在一些问题。siunitx\mathrm

梅威瑟:

\documentclass{article}
\usepackage{mathpazo}
%commenting eulervm out prints units right again
\usepackage[euler-digits]{eulervm}
\usepackage{siunitx}

\begin{document}
\SI{5}{m/s}
\end{document}

使用 eulervm

而不是

无 eulervm

答案1

这是“设计使然”:eulervm设置\mathnormal与非常不同的字母\mathrmsiunitx所以

\sisetup{math-rm = \mathnormal}

在文档的开头除非用户已将其从标准值 更改\mathrm。您可以在文档开头覆盖此设置:

\documentclass{article}
\usepackage{siunitx}
\usepackage{eulervm}
\AtBeginDocument{\sisetup{math-rm = \mathrm}}
\begin{document}
\SI{5}{m/s} $5\nobreak\,\mathrm{m}/\mathrm{s}$
\end{document}

相关内容