加载 unicode-math 后更改运算符字体

加载 unicode-math 后更改运算符字体

我怎样才能将操作员字体更改为无衬线字体?包裹unicode-math装好了没?

以下代码只有在没有该包的情况下才有效:

\documentclass{article}
%\usepackage{unicode-math}
\DeclareSymbolFont{sfoperators}{OT1}{cmss}{m}{n}
\SetSymbolFont{sfoperators}{bold}{OT1}{cmss}{b}{n}
\makeatletter
    \renewcommand{\operator@font}{\mathgroup\symsfoperators}
\makeatother

\begin{document}
    $\sin x$
\end{document}

答案1

我认为对于使用该软件包的操作员来说,使用无衬线字体的正确方法unicode-math如下:

\documentclass{article}

\usepackage{unicode-math}

\ExplSyntaxOn
\makeatletter
\renewcommand{\operator@font}{\um_switchto_mathsf:}
\makeatother
\ExplSyntaxOff

\begin{document}
  $\sin{x}$
\end{document}

除非您使用包,否则这将不起作用unicode-math。此外,您必须使用xelatexlualatex

答案2

在里面unicode-math 的下一个版本将会有一个界面:

\setmathfontface\mathfoo{texgyrechorus-mediumitalic.otf}
\setoperatorfont\mathfoo

如果您认为有更好的方法,请提出来:)

答案3

自 2021 年起,您可以将操作员字体更改为其他字体\mathrm,例如,

\setoperatorfont\mathsf

或者您可以\mathrm使用 来更改字体\setmathrm。如果您使用\mathrmwithin \boldmath,您可能还需要\setboldmathrm

相关内容