使用 XeLaTeX 或 LuaLaTeX 进行编译时,amsmath intlimits 选项不适用于 STIX2 字体

使用 XeLaTeX 或 LuaLaTeX 进行编译时,amsmath intlimits 选项不适用于 STIX2 字体
\documentclass{minimal}

\usepackage[intlimits]{amsmath}
\usepackage{unicode-math}
\setmathfont{STIX Two Math}

\begin{document}
\[
    \int_{a}^{b}\qquad% doesn't work
    \int\displaylimits_{a}^{b}% works
\]
\end{document}

有人能解释一下为什么使用 XeLaTeX 或 LuaLaTeX 编译时 amsmath intlimits 选项不想与 STIX2Math 字体一起使用吗?

在 amsmath.sty 的第 42 行,我们得到

\DeclareOption{intlimits}{\let\ilimits@\displaylimits}

628

\renewcommand{\int}{\DOTSI\intop\ilimits@}

那么为什么示例代码中只有上述第二个能按预期工作?

答案1

unicode-math不尊重amsmath涉及符号位置的选项,例如nosumlimitsintlimits,因为所有符号都被重新定义。

您可以使用(尚未记录的)功能\removenolimits

\documentclass{article}

\usepackage[intlimits]{amsmath}
\usepackage{unicode-math}

\removenolimits{\int\iint}

\begin{document}
\[
\int_{a}^{b} \iint_a^b
\]
\end{document}

在参数中\removenolimits你应该列出所有应该受影响的命令。

在此处输入图片描述

实际上这种unicode-math方式更灵活,因为它允许使用\displaylimitsfor\iint但不允许使用 for \int

相关内容