fontenc 包应该在字体包之前还是之后加载?

fontenc 包应该在字体包之前还是之后加载?

我似乎记得在某处读到过fontenc应该在软件包加载字体之前或之后加载,但我记不清是哪个了。我看不出在加载字体之前和之后加载字体有什么区别。是我读错了,还是有一个首选的软件包加载顺序,为什么?

答案1

指南是我回答这类问题时的标准参考书。以下是它对此事的全部论述:

警告注意:如果您希望使用除“cmr”系列之外的 T1 编码字体,那么您可能需要在加载 fontenc 之前加载选择字体的包(例如 times)(这可以防止系统尝试加载“cmr”系列中的任何 T1 编码字体)。

换句话说,加载顺序中不存在影响最终输出的(非病理性)依赖关系。但是,编译效率可能在一个方向上低于另一个方向。我过去常常加载字体,fontenc但由于我从未注意到任何负面影响,因此仅仅为了代码整洁,现在在加载字体之前将其与其他编码代码合并在一起。

答案2

过去

\usepackage[T1]{fontenc}

在任何其他字体包之前,因为它可能会触发 LaTeX 尝试加载 Computer Modern 字体的 T1 版本;现在我相信这不是问题,因为 EC 字体是默认安装的(即使您可能不想将它们与现在存在的 Latin Modern 一起使用)。

不过,为了安全起见,最好还是遵循这种做法,先加载字体包,然后再切换编码。

相关内容