拉丁现代数学 (LM Math) 的用例

拉丁现代数学 (LM Math) 的用例

自 2011 年 7 月起,LM Math 已发布测试版。有些人似乎对此很兴奋。 这发布公告声明本新闻稿

...完成了 Computer Modern 系列字体的现代化...如果没有 Comupter Modern 系列的数学字体,现代化就不完整

我理解使用 lmodern 的许多原因文本字体:

据我所知,这些优点都不适用于 LM Math 字体。所以我的问题是,为什么 GUST 团队觉得有必要制作新的数学字体?据我所知,他们在发布公告中引用的唯一优点是它们“现代”,但我找不到“新”的令人信服的论据。我为什么要使用较新、测试较少的字体(如果它与其他 LM 字体相似,则可能不如 bluesky/ams/y&y CM 那样暗示性强)?

据我所知,这是在早期的测试版本中,因此没有太多(任何?)伴随字体的文档或基本原理也就不足为奇了,但我希望这里有人知道它们的原因。

编辑:我仔细看了看,发现我安装的包裹lm,版本 2.004,2009 年 10 月 30 日已经包含数学字体。在 LaTeX 中,我可以默认使用它们\usepackage{lmodern},也可以不使用它们\usepackage[nomath]{lmodern}自述文件说这 20 种数学字体“目前是 PL 数学字体的副本”,大概是指这些字体。因此,据推测,这个新的 LM Math 版本将用其他字体替换这些 PL 数学字体。因此,除了我关于 bluesky/ams/y&y CM 数学有什么问题的问题之外,我还想知道:PL 数学字体有什么问题?

答案1

LM Math 字体以 OTF Math 格式提供。因此,它们可与unicode-mathConTeXt Mk IV 一起使用。因此,您最终可以在使用 Xe/LuaTeX +unicode-math或 ConTeXt 时使用 LM(因为 LM + STIX Math 看起来很糟糕)。据推测他们还添加了其他符号,因为 Unicode 定义了许多 CM 数学字体中没有的数学符号。

当我读到公告时,如果没有支持 OTF 的 TeX 引擎,您就无法使用字体。因此,使用 pdflatex 时,您无论如何都必须继续使用旧字体(请参阅评论以了解此声明的限定条件)。

答案2

让我对此提供不同的看法。这更多地与启用 unicode 的数学排版为何有用的事实有关,但也说明了为什么 opentype 数学字体会有所帮助。

ConTeXt 可让您出口TeX 文档到 XML。在这样的导出中,数学被导出到 MathML。

使用 opentype 数学字体可以让你查看最终的插入 pdf 的字形,并在导出的 MathML 中使用它。例如,$\Gamma$通常排版为直立的,将导出为<math><mi>0x0393</mi></math>。但是,如果您设置了适当的选项,使大写希腊字母排版为斜体,则$\Gamma$导出为<math><mi>0x1D6E4</mi></math>。导出函数不关心如何将 映射$\Gamma$到适当的字体字形。它只是使用导出的 MathML 中最终字形的 opentype 插槽。

当然,它仍然是可能的使用 Type1 字体实现这样的导出。但是,在这种情况下,导出函数需要了解从宏(或输入字符)到 unicode 插槽的映射。因此,宏包需要实现两个映射:(i) 输入字符到字体字形;(ii) 输入字符到 opentype 位置。使用 opentype 数学字体,这两个映射合并为一个。因此,即使是 type1 数学字体也会在 ConTeXt MkIV 中动态转换为伪 opentype 数学字体。

还可以(尽管目前尚未实现)将转换后的 MathML 嵌入 pdf 文件,以便屏幕阅读器正确读取数学表达式。这将提高 TeX 文档的可访问性。另一个优点是,如果您从 pdf 复制数学表达式并将其粘贴到文本文件中,则生成的 MathML 将被粘贴。将其包装在适当的环境中,然后您可以再次使用 TeX 编译表达式并恢复原始数学表达式。(ConTeXt 有一个用于排版 MathML 的模块;我还没有检查 LaTeX XML 包是否允许排版 MathML)。这类似于使用适当的 cmap 文件,以便您可以复制和粘贴文本。

使用 opentype 数学字体可以更轻松地实现此类功能。当然,如果您想要一个好看的 PDF,您需要一个好的(最好是免费的)数学字体。目前它们供不应求;因此,新的 opentype 数学字体是一个受欢迎的补充。

相关内容