Paul commented "TeX doesn't specify its rendering in detail either except via 
the code itself. In other words, the only proper rendering of TeX is that done 
by TeX itself."

Actually Appendix G of The TeXbook describes how TeX lays out math. The Office 
math layout 
program<https://blogs.msdn.microsoft.com/murrays/2006/11/14/lineservices/> uses 
the algorithms therein, which is why the results look so much like TeX. The 
actual code is completely different from TeX’s, but the layout principles are 
generally the same.

It’s good to have this discussion. Clearly Presentation MathML is used a lot 
for interchanging math zones between programs. Also I haven’t given up on the 
idea of the browsers rendering MathML well natively. If IE ever succeeds, it’ll 
likely look like TeX, since both IE and Edge use 
LineServices<https://blogs.msdn.microsoft.com/murrays/2006/11/14/lineservices/>.
 And it should be way faster than Java script code.

My main complaints about Presentation MathML are 1) lack of an explicit n-ary 
element (for integrals, summations, products, etc.) and 2) lack of document 
level math 
properties<https://blogs.msdn.microsoft.com/murrays/2008/10/27/default-document-math-properties/>,
 like default math font. Also Presentation MathML depends too much on proper 
use of <mrow>, which wouldn’t even be needed if the elements were all “prefix” 
elements like <mfrac> and <mfenced>. But infix notation can be translated to 
prefix notation, a good example being conversion of the linear 
format<http://www.unicode.org/notes/tn28/UTN28-PlainTextMath-v3.pdf> to the 
OMML<https://blogs.msdn.microsoft.com/murrays/2006/10/06/mathml-and-ecma-math-omml/>-like
 internal format for LineServices. Similarly RichEdit’s MathML reader converts 
using the rich-text string 
stack<https://msdn.microsoft.com/en-us/library/windows/desktop/hh768736(v=vs.85).aspx>
 originally developed for the linear format.

The bottom line is that MathML isn’t perfect, but it’s a widely used standard 
and gets the job done. As such, it’s hardly a failure. And it’s nicely 
supported on the web thanks to MathJax.

Murray


_______________________________________________
Wikidata-tech mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-tech

Reply via email to