使用多种数学字体会导致分隔符出现字符和间距问题

使用多种数学字体会导致分隔符出现字符和间距问题

我使用 Pagella 作为我的主要数学字体,但使用 MnSymbol 作为 \mathcal 字体,这产生了奇怪的交互。

下面的代码

\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmathfont{texgyrepagella-math.otf}
\setmathfont[range={cal}]{MnSymbol}
\begin{document}
 $\big||a| - |b|\big|\leq|a-b|$
\end{document}

编译为

基础代码

关于答案我之前遇到的 unicode-math 范围功能问题, 我试过

\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmathfont{texgyrepagella-math.otf}
\setmathfont[range={cal}]{MnSymbol}
\setmathfont[range={up,it,tt,bb,frak, scr}]{texgyrepagella-math.otf}  %% NEW
\begin{document}
 $\big||a| - |b|\big|\leq|a-b|$
\end{document}

这虽然改善了情况,但也留下了一些难以理解的空间: 努力改善现状

我希望这个不等式看起来像这样(通过完全不使用 MnSymbol 来实现,但我希望它用于我的数学!)

期望输出

\big注意:在此示例中,即使不使用解决方法,用\left和替换显式\right也会给出正确的输出。但这\left. \frac12 \right)会为左分隔符提供相同的奇怪字形(尽管解决方法消除了这一点!)。

答案1

用于\setmathfontface设置\mathXX字体:

\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmathfont{texgyrepagella-math.otf}
\setmathfontface\mathcal{MnSymbol}[]

\begin{document}
 $\mathcal{A} \big||a| - |b|\big|\leq|a-b|$
\end{document}

在此处输入图片描述

相关内容