每当我尝试以下命令时,都会收到此错误:
\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。我不知道这些旧标准字体是否有合适的数学字体(从印刷角度来看)……在这种情况下,您应该使用它。