unicode-math icon indicating copy to clipboard operation
unicode-math copied to clipboard

unicode-math ignores/overrides intlimits option of amsmath package

Open micoloretan opened this issue 1 year ago • 1 comments

Description

If unicode-math is loaded after amsmath, the latter package's 'intlimits' option no longer appears to have the desired effect.

Add info or delete as appropriate:

  • Relevant for XeTeX and LuaTeX

Minimal example demonstrating the issue

\documentclass{article}
\usepackage[intlimits]{amsmath}
\usepackage{unicode-math}
\begin{document}
\[
\int_0^1 
\]
\end{document}

Further details

micoloretan avatar Oct 06 '24 13:10 micoloretan

Hi, @micoloretan.

Problem

It is a common issue. The issue is the unicode-math package redefines operator limits. Namely, it has the list which contains operators with no limits:

338 \tl_set:Nn \l_@@_nolimits_tl
339 {
340 \int\iint\iiint\iiiint\oint\oiint\oiiint
341 \intclockwise\varointclockwise\ointctrclockwise\sumint
342 \intbar\intBar\fint\cirfnint\awint\rppolint
343 \scpolint\npolint\pointint\sqint\intlarhk\intx
344 \intcap\intcup\upint\lowint
345 }

Workarounds

You can remove a specific operator by \removenolimits{\operator} (e.g. \removenolimits{\int}).

For instance,

\documentclass[20pt]{extarticle}
\usepackage[intlimits]{amsmath}
\usepackage{unicode-math}

\removenolimits{\int} % To check to (un)comment this line

\begin{document}
    \[
        \int_a^b f(x)dx
    \]
\end{document}

OR

You can set up limits by \operator\limits_lim1^lim2 manually.

For instance,

\documentclass[20pt]{extarticle}
\usepackage[intlimits]{amsmath}
\usepackage{unicode-math}

\begin{document}
    \[
        \int_a^b f(x)dx
    \]

    \[
        \int\limits_a^b f(x)dx
    \]
\end{document}

Rendered Examples

Before

After

Credit

Learn More

  • https://ctan.org/pkg/unicode-math?lang=en
  • https://ctan.org/pkg/amsmath?lang=en
  • https://tex.stackexchange.com/questions/103921/integral-limits-with-amsmath-in-lualatex

AtaarSatag avatar Jun 05 '25 07:06 AtaarSatag