关于 latex 默认使用的字体有很多问题。但是我没能找到我正在寻找的字体。具体来说,我正在寻找 latex 在生成类似以下内容时使用的字体:
即数学模式中使用的字符。
具体来说,我不太关注数字,而是关注那种n
。使用斜体拉丁现代数学,其中,如果我理解正确的话,是默认的数学字体,我得到以下内容:
这显然与乳胶复制的结果不同(即上面的第一张图片)。
latex 使用什么字体来产生上述字符n
?我在哪里可以找到它?
答案1
如果你运行测试文件
\documentclass{article}
\usepackage{lmodern}
\begin{document}
\showoutput
$n=2$
\end{document}
查看日志文件,你会发现
....\mathon
....\OML/lmm/m/it/10 n
....\glue(\thickmuskip) 2.77771 plus 2.77771
....\OT1/lmr/m/n/10 =
....\penalty 500
....\glue(\thickmuskip) 2.77771 plus 2.77771
....\OT1/lmr/m/n/10 2
....\mathoff
你会看到,实际上使用了两种不同的字体:\OML/lmm/m/it/10
和\OT1/lmr/m/n/10
。现在的问题是:身体的字体正在被使用吗?
至少有两种方法可以发现它:一种是从命令行执行,
cat $(kpsewhich omllmm.fd)
显示
% This file belongs to the Latin Modern package. The work is released
% under the GUST Font License. See the MANIFEST-Latin-Modern.txt and
% README-Latin-Modern.txt files for the details. For the most recent version of
% this license see http://www.gust.org.pl/fonts/licenses/GUST-FONT-LICENSE.txt
% or http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt
\ProvidesFile{omllmm.fd}[2009/10/30 v1.6 Font defs for Latin Modern]
\DeclareFontFamily{OML}{lmm}{\skewchar\font127 }
\DeclareFontShape{OML}{lmm}{m}{it}%
{<-5.5> lmmi5 <5.5-6.5> lmmi6
<6.5-7.5> lmmi7 <7.5-8.5> lmmi8
<8.5-9.5> lmmi9 <9.5-11> lmmi10
<11-> lmmi12
}{}
\DeclareFontShape{OML}{lmm}{b}{it}{%
<-6> lmmib5
<6-8> lmmib7
<8-> lmmib10
}{}
\DeclareFontShape{OML}{lmm}{bx}{it}%
{<->ssub*lmm/b/it}{}
\endinput
查找{OML}{m}{it}
和 10pt 的规格,我们找到lmmi10
。对于其他字体,我们这样做
cat $(kpsewhich ot1lmr.fd)
我们看到(仅显示相关部分)
\DeclareFontShape{OT1}{lmr}{m}{n}%
{<-5.5> rm-lmr5 <5.5-6.5> rm-lmr6
<6.5-7.5> rm-lmr7 <7.5-8.5> rm-lmr8
<8.5-9.5> rm-lmr9 <9.5-11> rm-lmr10
<11-15> rm-lmr12
<15-> rm-lmr17
}{}
所以字体是rm-lmr10
。
第二种方式:修改测试文件为
\documentclass{article}
\usepackage{lmodern}
\begin{document}
\showoutput
$n=2$
\texttt{\fontname\csname OML/lmm/m/it/10\endcsname}
\texttt{\fontname\csname OT1/lmr/m/n/10\endcsname}
\end{document}
输出将是
但是,您可能希望使用 OpenType 字体。然后再次修改测试文件,使其
\documentclass{article}
\usepackage{unicode-math}
\begin{document}
\showoutput
$n=2$
\end{document}
在文件上运行 LuaLaTeX 后,日志文件将显示
....\EU2/latinmodern-math.otf(0)/m/n/10