pdfTex:\operatorname 带有 Computer Modern Roman

pdfTex:\operatorname 带有 Computer Modern Roman

我使用的是默认字体 Computer Modern Roman,并尝试使其\operatorname正常工作。问题是它看起来与普通文本相同。这个问题:LuaLaTeX:未加载 lmodern 包时,\operatorname 内无字距调整展示了在 LuaTex 中解决此问题的方法。

我如何在 pdfTex 中实现这一点?

例子

\documentclass{report}

% Math packages
\usepackage{mathtools}
\usepackage{amsfonts}
\usepackage{amssymb}

\begin{document}
    $foo$ foo $\operatorname{foo}$
\end{document}

enter image description here

在上图中,最后两个单词看起来不应该相同。

如果你切换默认字体,例如:\renewcommand*\rmdefault{bch}。你将得到以下结果:

enter image description here

我不想改变默认字体,我只是想显示\operatorname区别。

答案1

amsmath 宏\operatorname设计为使用与 相同的字体\DeclareMathOperator

事实上,此字体在 LaTeX 和 AMSmath 源代码(更准确地说是 fontmath.ltx 或 amsopn.sty)中都是硬编码的,以使用所谓的“运算符”数学字体。这是通过

\def\operator@font{\mathgroup\symoperators}

您可以自定义\operator@font(包mathastext可以做到)。但如您所见,您应该引用(PDFTeX 中为 16)数学字体系列之一(\mathgroup在 LaTeX 中,在 TeX 中)。此外,您还将影响所有通过用户定义的命令或预定义的\fam命令,例如,它们使用更直接的方法,但仍有硬编码。\DeclareMathOperator\sin\cos\operator@font

相关内容