当我使用该软件包时\usepackage{euler}
,\usepackage{unicode-math}
不会使用 Euler 字体,而是使用默认数学字体。如果我删除该unicode-math
软件包,则 Euler 字体将按预期使用。
euler
那么同时使用和有什么问题unicode-math
?此外,我只能假设这也会发生在其他数学字体上,所以我不得不猜测这是一个unicode-math
包的问题,因此我不得不问,发生了什么?
答案1
该unicode-math
包选择一种 OpenType 数学字体,并覆盖所有旧式数学字体。这样加载旧式字体包就不会中断unicode-math
。
有OpenType 版本的 Euler兼容unicode-math
。请参阅这个答案有关如何使用它的更多详细信息。在许多文档中,\setmathfont{Neo Euler}[Scale=MatchLowercase]
只要您将字体下载到 TeX 可以找到的目录中,一个简单的就足够了,但我在那里给出了更强大的答案,以防您需要它不包含的任何字形。(不幸的是,Hermann Zapf 不再与我们同在,无法再画画了。)
fontspec
您可以通过不加载来将旧式数学字体与 OpenType 文本字体一起使用unicode-math
。该mathastext
包有一种简单的方法可以将数学模式中的字母设置为主文本字体。或者,您可以使用mathfont
将 OpenType 或 TrueType 字体中的字母与传统数学字体中的符号相结合。
如果您想要使用unicode-math
旧字体中的一些符号,您可以用 以传统方式重新定义它们\AtBeginDocument{\DeclareMathSymbol ...}
。您需要\AtBeginDocument
钩子,以便您的定义在 之后生效unicode-math
并取代它。