# movablelimits attribute on munderover/munder/mover?

From: Frédéric WANG <fred.wang@free.fr>
Date: Mon, 06 Jan 2014 12:35:40 +0100
Message-ID: <52CA950C.8020103@free.fr>
To: "www-math@w3.org" <www-math@w3.org>
Hi all,

This is a well-known problem in MathJax but I don't think it has ever
been reported to the Math WG... Basically, some TeX commands like \lim,
\max, etc have "movablelimits": in display mode they should render as
munderover but in inline mode as msubsup. But in MathML, only <mo>
operators can have this property. So the code generated by MathJax is

<munder>
<mo movablelimits="true">max</mo>
<mi>a</mi>
</munder>

Other TeX-to-MathML converters such as itex2MML tries to use
<mi>max</mi> but they have to decide at conversion time if
msubsup/munderover should be used according to the display style of the
current subexpression. The disadvantage of this approach (besides making
generation slightly harder) is that if one modifies the display style
(e.g. by setting the display attribute via Javascript, or copying the
MathML source code and editing it somewhere else...) then the
msubsup/munderover descendants won't be updated automatically.

So my first question is: what is the markup recommended by the Math WG
for these TeX commands: <mo> or <mi>? My understanding is that it is
<mi>, so this leads to the second question: would it be possible to add
a "movablelimits" attribute to the munderover/munder/mover elements to
address this use case? The default value will be "false" and the value
won't be taken from mstyle ancestors (see issues that I reported in the
past with that element and the similarity with the accent attribute). I
think this would be relatively easy to implement for MathML layout