数学模式下字母中使用的字符是什么?

数学模式下字母中使用的字符是什么?

关于 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 

答案2

似乎 latex 在数学模式下使用的默认字体不是 latin modern,这是我错误地理解的,例如,这个答案,而是计算机现代衬线,斜体形式(编辑:这并不完全正确,请参阅下面的评论)

该字体可以在源码,并产生以下输出:

在此处输入图片描述

以及所有其他正确的字母。可以使用简单的拉丁现代数学(例如可下载)来重现该数字这里):

在此处输入图片描述

对于等号,还有一些我不知道的其他字体正在使用。

相关内容