movablelimits attribute on munderover/munder/mover?

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 
engines that already support mo@movablelimits...

-- 
Frédéric Wang
MathML Crowdfunding: ulule.com/mathematics-ebooks

Received on Monday, 6 January 2014 11:36:10 UTC