软件包 unicode-math 错误:数学范围内的命令 `\epsilon` 不是(unicode-math) 命令

软件包 unicode-math 错误:数学范围内的命令 `\epsilon` 不是(unicode-math) 命令

每当我尝试以下命令时,都会收到此错误:

\documentclass{article}

\usepackage[no-math]{fontspec}
\usepackage{unicode-math}
\setmainfont{Old Standard}
\setmathfont{OldStandard-Regular.otf}
\setmathfont[range=\epsilon]{OldStandard-Italic.otf}


\begin{document}
    Does this work? $\epsilon$
\end{document}

Package unicode-math Error: Command \epsilon in math range is not(unicode-math) commands

我当前的字体\epsilon默认无法处理,所以我尝试使用另一种具有该符号的字体中的该符号。

答案1

\epsilon命令对于来说有点太复杂了range=,因为它会检查您当前正在使用的数学字母。

选项range=实际上想要的是“符号定义unicode-math,或者软件包手册中记录的其他几种格式。在这种情况下,数学斜体 epsilon 是\mitepsilon。所以—对于 OpenType 数学字体-[range=\mitepsilon]会工作。

但是,如果你尝试在这里用这个字体来做这件事,它将无法工作,\mitepsilon因为

答案2

此代码适用于 XeLaTeX 和 LuaLaTeX(使用我的 TeX Live 2022 发行版):

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{OldStandard-Regular.otf}
\begin{document}
    Does this work? $\epsilon$
\end{document}

在此处输入图片描述

但没有实际的通过命令加载数学字体时\setmathfont,它使用默认数学字体,即 Latin Modern Math。我不知道这些旧标准字体是否有合适的数学字体(从印刷角度来看)……在这种情况下,您应该使用它。

相关内容