smashoperator 使用 Linux Libertine O 制作黑线

smashoperator 使用 Linux Libertine O 制作黑线

当我使用将主字体设置为“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}

相关内容