在 LaTeX 中,当我在数学模式下输入符号时\tan
,\inf
它们会使用普通文本字体,而我希望它们使用 Times 字体,而不更改文本的主字体和数学字体,因为它们都不是 Times。我该怎么做?
答案1
这真的很简单。添加
\makeatletter
\DeclareSymbolFont{timesoperators}{OT1}{ztmcm}{m}{n}
\def\operator@font{\mathgroup\symtimesoperators}
\makeatother
到文档前言部分。然后查看丑陋的输出并删除这四行。;-)
答案2
一些巫术,因为有人刚刚告诉我他们在这里查找了解决方案,但对他们不起作用fontspec
。(因为 egreg 使用了传统的字体编码,只要你坚持使用不带重音的拉丁字母和数字,这些编码就非常容易移植,它不支持fontspec
缩放命令。)
当使用fontspec
或 时unicode-math
,对数类运算符的默认字体是\mathrm
,您可以使用 进行更改,例如:
\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont{TeX Gyre Heros}
\setmathrm{TeX Gyre Termes}
\begin{document}
The sine is \(\sin x\) and the infinimum is \(\inf S\).
\end{document}
如果你想要改变仅有的操作员字体并不管\mathrm
,unicode-math
有一个\setoperatorfont
命令:
\documentclass{article}
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont{TeX Gyre Heros}
\newfontface\timesfont{TeX Gyre Termes}[Ligatures={Common,TeX}]
\setoperatorfont\timesfont
\begin{document}
The sine is \(\sin x\) and the infinimum is \(\inf S\).
\end{document}