\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
涉及符号位置的选项,例如nosumlimits
或intlimits
,因为所有符号都被重新定义。
您可以使用(尚未记录的)功能\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
方式更灵活,因为它允许使用\displaylimits
for\iint
但不允许使用 for \int
。