我怎样才能将操作员字体更改为无衬线字体?和包裹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
。此外,您必须使用xelatex
或lualatex
。
答案2
在里面unicode-math 的下一个版本将会有一个界面:
\setmathfontface\mathfoo{texgyrechorus-mediumitalic.otf}
\setoperatorfont\mathfoo
如果您认为有更好的方法,请提出来:)
答案3
自 2021 年起,您可以将操作员字体更改为其他字体\mathrm
,例如,
\setoperatorfont\mathsf
或者您可以\mathrm
使用 来更改字体\setmathrm
。如果您使用\mathrm
within \boldmath
,您可能还需要\setboldmathrm
。