这是我的 MWE:
% \RequirePackage{fix-cm}
\documentclass{article}
% \usepackage{lmodern}
% \usepackage[T1]{fontenc}
% \usepackage[OT1]{fontenc}
\begin{document}
\sffamily\textit{Hi!}
\sffamily\textit{Hi!}
\end{document}
它输出一个警告:
LaTeX Font Warning: Font shape `OT1/cmss/m/it' in size <10> not available
(Font) Font shape `OT1/cmss/m/sl' tried instead on input line 7.
所以我添加了fix-cm
,同样的事情。还有[OT1]{fontenc}
,有或没有fix-cm
,都是一样的。因此,cmss/m/it
用替换cmss/m/sl
似乎是一件值得警告的事情。
所以现在我改回[T1]{fontenc}
我通常使用的(fix-cm
暂时没有)。pdf 输出基本相同 - 两种变体看起来仍然完全相同。但警告完全消失了,除了这个信息:
LaTeX Font Info: Try loading font information for T1+cmss on input line 7.
如果我fix-cm
重新添加,我至少会得到更有意义的信息:
LaTeX Font Info: Font shape `T1/cmss/m/it' in size <10> not available
(Font) Font shape `T1/cmss/m/sl' tried instead on input line 7.
lmodern
顺便说一句,有、有 或没有fix-cm
、有T1
或 的情况非常相似OT1
:
LaTeX Font Info: Font shape `T1/lmss/m/it' in size <10> not available
(Font) Font shape `T1/lmss/m/sl' tried instead on input line 7.
或者
LaTeX Font Info: Font shape `OT1/lmss/m/it' in size <10> not available
(Font) Font shape `OT1/lmss/m/sl' tried instead on input line 7.
lmodern
那么,是什么原因使得使用 T1(显然还有)替换字体比使用 OT1更容易被接受呢?
答案1
当你切换到 T1 编码时,LaTeX 将加载t1cmss.fd
字体定义文件,其中包含以下行
\EC@family{T1}{cmss}{m}{sl}{ecsi}
也就是说,倾斜cmss
只是重新映射到ecsi
(来自 cm-super 的斜体),并且由于它已被映射,因此您不会收到警告。