在文档中间更改主要家庭文件——有没有更好的方法?

在文档中间更改主要家庭文件——有没有更好的方法?

我使用 Monotype Ehrhardt 作为正文,但使用 Computer Modern¹ 作为示例输出。我遇到了一个问题,当 Computer Modern 是默认文本时,输出例程恰好被激活。这反过来导致我的页眉设置为 CM 而不是 Ehrhardt。(这更令人惊讶,因为我只在组内请求 CM,实际上通常是在框内。)

我最终在之后添加了这个\SetMainFont

\edef\DocumentBodyFont{%
   \noexpand\def\noexpand\f@series{\f@series}%     
   \noexpand\def\noexpand\f@family{\f@family}%     
   \noexpand\def\noexpand\f@encoding{\f@encoding}%     
   \noexpand\def\noexpand\f@shape{\f@shape}%     
   \noexpand\def\noexpand\f@size{\f@size}%
   \noexpand\selectfont
 }

这让我可以输入\DocumentBodyFont页眉并得到我预期的结果,但我想知道是否有更好的方法(我不得不假设我不是唯一遇到这种事情的人)。

为了完整起见,下面是我用于切换到 lmr 以获得 LaTeX 输出示例的宏的相关部分:

\def\rmdefault{lmr}\fontfamily{lmr}\selectfont
\def\bfdefault{bx}%

我怀疑第一行可能存在一些冗余 —— 其中一些代码的日期早于 fontspec 并且几乎晚于 NFSS。

  1. 实际上是拉丁现代。

相关内容