当我使用字体规格将主字体设置为“Linux Libertine O”,该smashoperator
命令(以及mathclap
和朋友)在破碎的下标上方产生一条黑线(带有路特克斯)。
\documentclass{minimal}
\usepackage{mathtools}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\begin{document}
\[
\smashoperator{\sum_{i \in \mathrm{longidentifier}}} f(i)
\]
\end{document}
其他字体(如 Times New Roman 或 Linux Biolinum O)不会出现此问题。有解决方法吗?
答案1
我认为问题归结为以下几点。但我不能说是字体还是二进制文件(xetex 也有这个问题)出了问题,因为我不知道\radical0
(use by mathtools
) 应该做什么,以及为什么它会受到操作员字体更改的影响。
我认为最好的办法是询问的作者mathtools
。
\documentclass{article}
\usepackage[no-math]{fontspec}
\setmainfont{Linux Libertine O}
\ExplSyntaxOn
\DeclareSymbolFont{operators}\g_fontspec_encoding_tl\g_fontspec_mathrm_tl\mddefault\updefault
\ExplSyntaxOff
\pagestyle{empty}
\begin{document}
$\radical0 a$
\end{document}