防止 \setmathfont 对 \overline 的影响

防止 \setmathfont 对 \overline 的影响

这是一个最小的例子。

\documentclass[12pt]{article}
\usepackage{unicode-math,mathtools}
\setmathfont{xits-math.otf}
%\setmathfont[range={scr,bfscr}]{latinmodern-math.otf}
\begin{document}
\[ \overline{\symup{X}} \]
\end{document}

屏幕

第一个结果带有第二个\setmathfont注释,而第二个结果没有注释。我不明白为什么第二个命令会影响结果,而它的影响通常仅限于 scr 和 bfscr。

答案1

这是 的一个已知弱点unicode-math:它需要从最后声明的字体中进行数学排版的几个参数。一个简单的解决方法是再次加载具有空范围的主字体:

\documentclass[12pt]{article}
\usepackage{unicode-math,mathtools}

\setmathfont{xits-math.otf}
\setmathfont[range={scr,bfscr}]{latinmodern-math.otf}
\setmathfont[range={}]{xits-math.otf}

\begin{document}
\[ \overline{\symup{X}} \]
\end{document}

在此处输入图片描述

相关内容