使用 unicode 数学时,数学符号会消失

使用 unicode 数学时,数学符号会消失

最近,我想使用 unicode-math 来引入更易于区分的希腊字母(例如粗体)。但是,我似乎无法让它发挥作用。这是我的 MWE:

\documentclass{standalone}
\usepackage{unicode-math} % Must be loaded after amsmath.

%\setmathfont{Asana Math} % No matter what I select here
\setmathfont{XITS Math}
\begin{document}
$$
\alpha, \beta, \lambda
$$
\end{document}

无论我选择哪种数学字体,希腊字母都不会显示,并且日志包含如下行:

Missing character: There is no 

答案1

如果没有该varwidth选项,standalone文档将排版在水平框中,并且$$只意味着一个空的数学公式。因此\alpha\beta\gamma正在文本模式下排版。根据 LuaTeX 团队的精确选择,文本模式下的数学符号没有引发错误并尝试使用当前字体排版符号(对应的字符)。

换句话说,你发现了另一个永远不使用$$LaTeX 的好理由。\[...\]你收到了不同的错误消息:

! LaTeX Error: Bad math environment delimiter.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.9 \]

并不真地非常有帮助,但也许它可以帮助你找到真正的解决方案。

但是,使用\[...\]varwidth选项不会产生想要的结果。

正确的方法如下:

\documentclass{standalone}
\usepackage{unicode-math} % Must be loaded after amsmath.

%\setmathfont{Asana Math}
\setmathfont{XITS Math}
\begin{document}
$\displaystyle
\alpha, \beta, \lambda
$
\end{document}

相关内容