Hacker News new | ask | show | jobs
by jahewson 2658 days ago
MathML was created specifically because TeX is not a standard, has no definition, has only one “true” implementation and does not capture enough structure of an equation to be a useful interchange format. Even ignoring syntax, the AST of TeX does not represent the underlying equation particularly well - just enough to use to as input to a typesetting system which behaves exactly the way that TeX does, e.g \sum has no way to specify what is being summed over (it’s irrelevant for typesetting in TeX - though not in general).

Math typesetting is hard and stretchy characters in particular are not an easy fit into the browser layout model. It’s not been a priority for browser vendors. Hopefully that will change.

3 comments

>\sum has no way to specify what is being summed over

I could usually tell you what was being summed over by reading the _ subscripts and ^ superscripts. However the thing written under the sigma is not always formal, nor should it be: oftentimes it will be an abbreviation of a fairly elaborate conditional that is described elsewhere in the text. Please, don't treat typesetting languages like they're programming languages where the computer has to be able to execute the formulas you write, we want to keep our close interweaving with natural language.

This comment sums up perfectly why it is such a failure. We don't want to run the frigging formulas! Typesetting is the point! Stop making it do everything, it will end up doing nothing!
There are two variants of MathML: semantic MathML (which does capture enough structure of an equation, and sees very very little use) and presentational MathML (which doesn't, but is much easier to author, and accounts for almost all MathML usage). There's no real difference in usefulness between presentational MathML and TeX.
The verbosity of MathML makes it completely impractical to type as working mathematician. It’s not just a small difference; it’s completely ridiculous.