最近,我注意到 OpenType 版本的 Latin Modern Math(以下简称 LM Math)中的脚本字母与 Computer Modern(也称为\mathcal
)中的脚本字母不匹配。LM Math 中提供的拉丁脚本似乎是 Euler 脚本字体的倾斜变体。我不知道为什么会做出这样的设计决定。
来自网站:
拉丁现代数学 (LM Math) 字体完成了由 Donald E. Knuth 设计和编程的 Computer Modern 字体系列的现代化。
[...]
LM 和 LM Math 合在一起现在可以被视为 Computer Modern 的完整后代。
这让我更加困惑。LM Math 被宣传为 Computer Modern 的继承者,但却打破了脚本字体的风格。
为什么字体开发人员选择 Euler 而不是 Computer Modern 作为拉丁文字?
下面您可以找到一些示例来自己比较一下。
电脑现代
\documentclass{article}
\begin{document}
$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
\end{document}
欧拉
\documentclass{article}
\usepackage{eulervm}
\begin{document}
$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
\end{document}
LM 数学
\documentclass{article}
\usepackage{unicode-math}
\begin{document}
$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
\end{document}
答案1
这是设计选择。在 TUGboat 第 37 卷(2016 年)第 3 期中,https://www.tug.org/TUGboat/Contents/contents37-3.html,在文章中“GUST 电子铸造字体项目”,第 317-336 页,字体的作者在第 326 页写道:
然而,我们必须承认,我们对 Computer Modern 书法字体并不是特别满意。在我们看来,设计得更令人愉悦的是著名的 Euler 家族的书法字母。因此,我们决定将字形从 Euler 字体(略微倾斜)转移到 LM Math 字体。
答案2
推测:计算机现代符号的文字及其后继者拉丁现代符号的文字均未提供 MATH 表所需的符号。OMS 编码不提供小写文字。欧拉提供。因此,文字符号取自欧拉,而不是拉丁现代符号。
您显示的 Latin Modern 字体只是 Latin Modern 字体中的一种。具体来说,它不是用于\mathcal
传统字体的字体。
\documentclass{article}
\usepackage{cfr-lm}
\begin{document}
$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
\end{document}
lmodern
可以通过加载或不使用任何包来获得相同的结果,方法是使用
\fontencoding{OMS}\fontfamily{lmsy}\selectfont
为了符合数学 opentype 字体的资格,Latin Modern Math 必须提供完整的数学表,而这需要大量的脚本字体和数学字母 - 比 Computer Modern 或从中衍生的 Latin Modern 的 type1 版本所提供的还要多。
出于这个原因,拉丁现代数学的开发人员还基于 Computer Modern 以外的字体创建了此字体的一些元素。这包括书法和 fraktur 字体,正如您所说,它们基于 Euler。(这在自述) 我从 README 中猜到,拉丁现代符号所基于的计算机现代符号衍生的字体可以在拉丁现代数学中使用,但预计可以作为 来访问\mathscr
。
数学 OTF 字体应包含一个特殊表 MATH,该表在机密 Microsoft 文档“MATH 表和用于数学处理的 OpenType 功能”中进行了描述。此外,它们还应包含大量特殊字符(请参阅“Unicode 技术报告草案”
25. UNICODE 对数学的支持”作者:Barbara Beeton、Asmus Freytag 和 Murray Sargent III)。特别是,数学 OTF 字体是
预计包含以下脚本:基本衬线脚本(常规、粗体、斜体和粗斜体)、书法脚本(常规和粗体)、双击脚本、花体脚本(常规和粗体)、无衬线脚本(常规、粗体、倾斜和粗倾斜)以及等宽脚本。
基本字体显然是拉丁现代字体。不过,有些字体借用自其他字体(但当前选择可能会有所变化),但都属于“TeX 圈”:
书法和花体字母摘录自著名的欧拉家族(http://en.wikipedia.org/wiki/AMS_Euler(英文):
双击脚本摘自 Alan Jeffrey 的 bbold 字体(http://www.tug.org/texlive/Contents/live/texmf-dist/doc/latex/bbold/bbold.pdf)
无衬线和等宽字母摘录自 Latin Modern Sans 和 Latin Modern Mono 字体(http://www.gust.org.pl/projects/e-foundry/latin-modern);无衬线粗体希腊符号(已提及的“Unicode 技术报告 #25”要求)是使用 DE Knuth 的字体源并进行了一些手动调整后准备的
但是,的正常和粗体使用与unicode-math
相同的字体。查看 FontForge 中的字体,它包含多个基于欧拉的脚本副本,但没有拉丁现代符号脚本副本。但是,我猜根据“衬线脚本”,它们只是罗马字体。\mathscr
\mathcal
使用欧拉符号而非拉丁现代符号的一个原因是,后者只包含大写字母,但 MATH 表要求两种字母都包含大写字母。因此,计算机现代符号或拉丁现代符号中没有小写字母的模型。这似乎是促使决定用欧拉符号替代的合理猜测。欧拉符号提供了 Knuth 的 OMS 编码所没有的东西:小写字母。