![\setmathfont 范围有错误吗?](https://linux22.com/image/364203/%5Csetmathfont%20%E8%8C%83%E5%9B%B4%E6%9C%89%E9%94%99%E8%AF%AF%E5%90%97%EF%BC%9F.png)
我正在使用 XeLaTeX 和 unicode-math 以及 Libertinus Math 字体。有些符号缺失,因此我使用范围命令。然后我在大括号旁边看到一个不需要的十字符号。这是一个 MWE。
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Libertinus Math}
\setmathfont[range={\rightrightarrows,\twoheadrightarrow}]{xits-math.otf}
% The seemingly useleess command below is needed for a different known bug
\setmathfont[range={\int}]{Libertinus Math}
\begin{document}
\[
\Bigl\{\Bigr\}
\]
\end{document}
上面评论中的已知错误:Unicode-math 更改超出范围的字体
有人知道这是否是已知的错误吗?有解决方案吗?
编辑:我刚刚找到了一个解决方法这里. 有没有“更清洁”的解决方案?
答案1
您可以重置 delcode:
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Libertinus Math}
\setmathfont[range={\rightrightarrows,\twoheadrightarrow}]{xits-math.otf}
% The seemingly useleess command below is needed for a different known bug
\setmathfont[range={\int}]{Libertinus Math}
\ExplSyntaxOn
\__um_set_delcode:nnn {operators} {`\.} {\c_zero}
\ExplSyntaxOff
\begin{document}
\[
\Bigl\{\Bigr\}
\]
\end{document}
但是如果在 unicode-math(或 xetex,如果它表明 xetex 有错误)中纠正这个问题会更好。