w3c / mathml-core

MathML Core draft
https://w3c.github.io/mathml-core
36 stars 14 forks source link

Vertical alignment of large operators #250

Open ronkok opened 2 months ago

ronkok commented 2 months ago

I propose an addition to MathML Core specification Section 3.2.4.3 Layout of operators.

Currently, part 2 addresses operators with the stretchy and symmetric attribute and specifies that their vertical alignment should be adjusted. So far, so good.

Part 3 addresses operators with the largeop attribute and has nothing to say about their vertical alignment. That is a mistake. An operator with the largeop and symmetric attributes should, when display = block, also have their vertical alignment adjusted around the math axis.

We can see existing issues at the intersection of

All of those characters are listed in the MathML operator dictionary as having the attributes: symmetric, largeop, and movablelimits. STIX TWO places the large glyph of those characters above the baseline. They felt they could do that because LaTeX always centers them vertically. That seems reasonable; otherwise why have a symmetric attribute?

For an example in the wild, I can point you here.

davidcarlisle commented 2 months ago

Thanks for the comment. It is certainly the case that firefox (or tex) centering of the symbol looks much better than the current baseline alignment in Chrome.

We discussed this on a recent Working Group call. It would be most helpful if you could provide a Pull Request to the spec so that symmetric applied to bigop (as well as stretchy) characters. Then we could review the details. Otherwise given our current backlog of issues, it may not get addressed immediately, although it certainly seems a valid coment and we have added the needs specification update label.