如果这个问题不允许,我很抱歉...我试图理解编译(使用 xelatex)后 LaTeX 日志文件中输出的一些警告。其中一个与字体大小有关:
LaTeX Font Warning: Font shape `OMS/cmsy/m/n' in size <30> not available
(Font) size <24.88> substituted on input line XYZ.
我想了解这里发生了什么以及为什么会发生。我没有在任何地方加载此字体“OMS/cmsy”... LaTeX 从哪里获取它?此外,为什么它经常替换如此奇怪的尺寸(例如 24.88)?
同样的事情也会发生在我未明确加载的其他字体上,例如 OT1/cmr 或 OMS/cmsy...为什么 LaTeX 使用这些字体并用它们替换大小?
答案1
LaTeX 相当古老,一开始仅使用离散大小的字体来节省内存和磁盘空间。因此,许多较旧的字体定义文件包含仅使用此大小的字体的指令,并且如果请求其他大小,它们会触发大小替换。例如,在 OT1cmr.fd 中您可以找到:
\DeclareFontShape{OT1}{cmr}{m}{n}%
{<5><6><7><8><9><10><12>gen*cmr%
<10.95>cmr10%
<14.4>cmr12%
<17.28><20.74><24.88>cmr17}{}
这些数字是 1.2 的倍数:12=10*1.2
,14.4= 1.2*12
,17.28 = 1.2*14.4
。
我不知道您在哪里加载此类字体,因为您没有提供示例,但您可以通过加载 fix-cm 来避免大多数消息:
\RequirePackage{fix-cm} %avoid size substituation
\documentclass{article}
\begin{document}
\fontsize{30pt}{30pt} \selectfont xxx %
\end{document}