## A MathML Progress Report: More Light Than Shadow 84

An anonymous reader writes

*"Recent reports of MathML's demise have been greatly exaggerated. Given the amount of marketing dollars companies like Apple, Google, and Microsoft have spent trying to convince a buying public to purchase their wares as educational tools, you'd think they'd deliver more than lip service by now. MathJax team member, Peter Krautzberger, has compiled a great overview of the current state of MathML, the standard for mathematical content in publishing work flows, technical writing, and math software: "20 years into the web, math and science are still second class citizens on the web. While MathML is part of HTML 5, its adoption has seen ups and downs but if you look closely you can see there is more light than shadow and a great opportunity to revolutionize educational, scientific and technical communication.""*
## MathML is horrible (Score:3, Insightful)

Have you ever tried to write anything in it?

It doesn't flow for shit. Compare that to (La)TeX, where it flows not completely naturally, but it makes sense and actually writes in the order it will be, and mostly the order it's said when you say it.

All the visual equation editors I have seen, including MathML editors, are utter crap. There's a reason why even Wikipedia uses it: http://en.wikipedia.org/wiki/Help:Displaying_a_formula [wikipedia.org] .

## Re: (Score:3)

It doesn't flow for shit. Compare that to (La)TeX, where it flows not completely naturally, but it makes sense and actually writes in the order it will be, and mostly the order it's said when you say it.

And tools like tex4ht [tug.org] make translation of LaTeX to html a breeze. You get the best of both worlds, with nice LaTeX documents (from which Postscript or dvi or PDF etc. can also be made) translated to html. It will even generate jsMath [union.edu] if you want.

## Re: (Score:3)

HTML and XML in general are horrible too if you're writing anything remotely complex by hand. But we use these kinds of formats because they are expressively powerful, unambiguous to a parser, and amenable to various kinds of analysis and transformations.

If you want to write docs yourself, rather than writing everything in HTML/XML + CSS it makes sense to write in another syntax and convert it, especially if you're doing regular everyday things; this is what Markdown, wiki syntax, etc are about. Similarly,

## Re: (Score:1)

## Mozilla can't even do math in PDF (Score:3)

Mozilla's PDF renderer has trouble with larger math symbols [mozilla.org], like sigmas and integrals.

Typical open source bug handling - reported in May 2013, somebody whines that that the test case for the bug is too big, someone else provides more details, bug is marked as confirmed, somebody tries it on OS-X, where it works, someone else demonstrates the failure with a small test case, posts screenshots, and shows that the PDF works on Linux Firefox but not Windows Firefox. After six months, zero progress on fixing it.

## Re:Mozilla can't even do math in PDF (Score:4, Funny)

Does it run on linux? yes

So, What is your problem?

## Re:Mozilla can't even do math in PDF (Score:5, Insightful)

After six months, zero progress on fixing it.

As usual, you've got to find someone who develops for Windows and is sufficiently interested to work on the bug. As it is a rendering problem, working on another platform and cross-compiling won't work, and the Windows API is sufficiently different to make it much easier to be a specialist rather than a cross-platform guy. I'd guess that if someone were willing to commit some money (some sort of targeted bug bounty) to pay for the fix, it would get done sooner.

It's not magic. (Or rather it is, but we're all the magicians.)

## Re: (Score:2)

mozillas moneyflow says that it's some sort of magic ;).. magic of moolah.

## Re: (Score:3)

Typical open source bug handling - whingingYou're taking a dig at open source, but the only thing to compare it to is closed source. Let me quote some more of your comment:

somebody tries it on OS-X, where it works, someone else demonstrates the failureYou mean somebody actually did something? This is so far ahead of most typical closed source bug reporting which is usually drawn from one of these options:

1. *tumbleweed*

2. Oh yeah, it is a bug. Wait for the next version.

3. Oh yeah it is a bug. Upgrade to th

## Re: (Score:3, Insightful)

Typical open source bug handling ...

As oppossed to commercial bug handling? On more than one occaision i have had problems in our systems, and traced the bug down to a bug in the commercial vendor product. From both Oracle and Microsoft we have got the response which was essentially "Yeah, its a bug. We have no plans to fix it, so tough luck buddy." To give another slighly different example, I had an issue displaying IBM Cognos produced excel spreadsheets on blackberry devices, and traced it down to them not bothering to follow the microsoft

## Re: (Score:3)

After six months, zero progress on fixing it.

According to the bug, it was fixed in an upstream pull request [github.com] yesterday. Given the usual rate at which upstream pdf.js updates are landed for downstream Firefox, it's very likely the fix will be in Firefox 28. Of course, you can confirm it's fixed in a development build of pdf.js whenever you want: https://github.com/mozilla/pdf.js#browser-extensions [github.com]

## Re: (Score:1)

Typical open source bug handling - ... After six months, zero progress on fixing it.

LOOP

CASE

1. It's open source, fix it yourself

2. You are at liberty to pay someone else to fix it, with the understanding that the result is open source.

3. If you don't believe in money then CYCLE.

END

8-)

## Re: (Score:2)

## Re:MathML is Retarding (Score:4, Insightful)

While MathML can be used to describe stuff related directly to computation (like for example 1+2+3+...+n written with the big sigma symbol) more often is used for things that aren't computations and don't have a program equivalent (or at least not a useful one).

Try to use a program to communicate some abstract theorem you just discovered.

## Re: (Score:2)

Actually, the Curry-Howard correspondence means that every proof can be translated into a program (and vice versa as long as you're working with the right computational model).

Of course the programs you get when translating the proof of a normal theorem won't be things like "use the machine add instruction to add two native floating point numbers" - instead they'll be e.g. some lengthy computation in a typed lambda calculus with extra control instructions [acm.org], which you can run on a computer with the right inte

## Re: (Score:2)

There are many cases where the symbolic formula is much simpler than the equivalent program. Take any matrix factorization for example (QR, LU, SVD, etc), the programs to obtain them are rather complex (take a look at a good implementation of the divide and conquer algorithm for eigenvalue decomposition), while the equivalent formula is nothing more than 3 or 4 characters.

## MathML in WebKit (Score:5, Informative)

And here's an article about MathML in WebKit from another source. http://www.maths-informatique-jeux.com/blog/frederic/?post/2013/10/12/Funding-MathML-Developments-in-Gecko-and-WebKit [maths-info...e-jeux.com]

Note that Google removed MathML from their hostile fork of WebKit, Blink.

## Re: (Score:1)

Except that when I view that page in Chrome, I see the equations, and rightclicking them brings up a MathML specific menu.

So someones not being accurate here.

## Re: (Score:2)

I stand corrected, thats JS doing that.

## Seems a bit verbose (Score:5, Insightful)

Maybe it's just because I'm unfamiliar with MathML, but this seems like a *very* verbose way of writing equations. One of the examples in the article is the quadratic formula:

<mtd><mrow>

<mi>x</mi><mo>=</mo>

<mfrac>

<mrow><mo>-</mo><mi>b</mi><mo>±</mo>

<msqrt><mrow><msup><mi>b</mi><mn>2</mn></msup><mo>-</mo><mn>4</mn><mi>a</mi><mi>c</mi></mrow></msqrt></mrow>

<mrow><mn>2</mn><mi>a</mi></mrow>

</mfrac>

</mrow></mtd>

That's 236 characters (ignoring whitespace) to write a 13 character equation, which is around 5% efficiency. Maybe that doesn't matter so much for bandwidth, but forget writing it by hand. (When would you do that? Well, commenting on web forums, for one thing...) Granted, there's some text formatting, but does every character really needs a separate tag around it?

## Re: (Score:1)

ASCIIMathML can help if you're just generating HTML.

## Re:Seems a bit verbose (Score:4, Funny)

Hmmm. What we need is a formula translator language. Maybe we can call it "Fortran" for short. I better copyright the idea before somebody else does.

## Re: (Score:2)

Granted, there's some text formatting, but does every character really needs a separate tag around it?

I believe the aim is to precisely mark up the semantic meaning of each of the symbols. For example, the

acfrom your formula is described as being two separate identifiers that are (implicitly) multiplied together (<mi>a</mi><mi>c</mi>), rather than a single multi-character identifier (<mi>ac</mi>), which addresses what is otherwise one of the major problems with more complex formulæ; ambiguity over what exactly the variables are.But did it need to be so verbose? De

## Re: (Score:1)

"mi" stands for "math italics". Semantic? Appearance?

"identifier", not "italics". Semantic.

"mrow" stands for "math row"? Semantic? Layout?

Rows are semantic in algebra.

## Re: (Score:1)

Except that is already wrapped in a mfrac tag, that expects two things within it to be the numerator and denominator. Doesn't matter if you use mrow, or mn for a simpler fraction. The semantics are there, it just comes down to boilerplate XML structure needed to specify the parts of the fraction, via an implicit order instead of creating new tags specifically for the two halves. There are plenty of other examples that are just layout, such as changing font to represent vectors, or using the munderover la

## Re:Seems a bit verbose (Score:5, Interesting)

That's 236 characters (ignoring whitespace) to write a 13 character equation...

Compared to 2539 bytes for the gif [wikimedia.org] currently used on Wikipedia. That's a 90% improvement.

## Re: (Score:2)

Yes but people who write maths are used to doing it LaTex, where it would take about 30 characters:

\frac{-b\pm\sqrt{b^2-4ac}}{2a}

## Re: (Score:2)

Yes, and therein lies all the reasoning you need.

LaTeX: Easy to write by hand, plenty of converters to output to a widely usable format, i.e. gif

MathML: Trivial to process with widely available XML parsers, unambiguous and easy to work with computationally and trivial to generate automatic output with a computer also.

Different tools, different use cases. Plenty of room for both in the world. Both are great technologies.

## Re: (Score:2)

Maybe it's just because I'm unfamiliar with MathML, but this seems like a *very* verbose way of writing equations. One of the examples in the article is the quadratic formula:

<mtd><mrow> <mi>x</mi><mo>=</mo> <mfrac> <mrow><mo>-</mo><mi>b</mi><mo>±</mo> <msqrt><mrow><msup><mi>b</mi><mn>2</mn></msup><mo>-</mo><mn>4</mn><mi>a</mi><mi>c</mi></mrow></msqrt></mrow> <mrow><mn>2</mn><mi>a</mi></mrow> </mfrac> </mrow></mtd>Now compare it with LaTeX: x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}. 31 characters. I know which I'd rather write. Or read.

## Re: (Score:2)

Now compare it with LaTeX: x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}. 31 characters. I know which I'd rather write. Or read.

Yeah, I was wondering about LaTeX when I wrote my comment. I don't see why we can't just have something like <math eq="x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}"> and let the browser convert it to whatever internal format it likes.

## Re: (Score:2)

Maybe it's just because I'm unfamiliar with MathML, but this seems like a *very* verbose way of writing equations.

Yeah, it's pretty horrible. The only way to write (presentation) MathML is to generate it automatically from a sane input format, either a GUI or something like LaTeX.

We'd still deal with the inconvenience if it were universally supported by browsers -- but 15 years after MathML was conceived, it still isn't.

## Bloat vs Flexibility (Score:4, Interesting)

I'm sure this will get modded down but why does MathML need to built into the browser? It's only used on some very small percentage of pages so why bloat the browsers with something almost no pages need. Especially since the JavaScript implementation works just fine. Even better the JavaScript implementation can be updated and modified at any pace the MathML proponents want where as that's not true with built in implementations. The markup is the same regardless so what's the need for it to be built in ?

## Re: (Score:2)

It's only used on some very small percentage of pages

When you can't count on support for it being there,

of courseyou're not going to write pages using it! What people actually use is a (La)TeX fragment to image converter, which sucks but at least is known to deliver readable output. Even if it isn't computer-readable.## Re: (Score:2)

But you can count on it. You add one script tag and you're done. Saying that because it requires JavaScript will prevent it probably false since the lots of the web requires JavaScript. Tons of developers are using tags that requires JavaScript. Check out AngularJS for just one example

## Re: (Score:1)

## Re: (Score:2)

But it is not java script generated content, it is java script generated rendering. The conent is either in TeX or in MathML. Unlike images, that are rendered server side.

## Re: (Score:2)

You can "count on" building in a very large external renderer library, and then even besides the overhead of that, MathJax is ~9x slower than native even with the fastest JavaScript engines.

Most sites would rather count on using images than deal with that.

## Re: (Score:2)

You could say the same for video.

## It's Dead, Jim (Score:1)

HTML5 is seems to be headed the same way as VRML and the Dodo Bird. Vendors are squabbling like Congress over the details, and there are some security worries over some of it's features.

What are the Vegas odds on it? I'd like to put some money down.

## Re:It's Dead, Jim [typos] (Score:1)

Sorry about the typos. What HTML 5 really needs are a grammar checker :-)

## LaTex plugin (Score:2, Insightful)

Is there some reason they're not using LaTeX. The computers now are warp speed fast and powerful versus the speed available when LaTeX was written. Write a LaTeX plugin already, problem solved.

How did Scotty put it, "The more they overthink the plumbing, the easier it is to stop up the drain." I believe it was Star Trek III: The Search for Spock.

## Re: (Score:1)

Well, several reasons ...

First of all, latex is a macro language whose goal is to typeset documents, not render web-pages: it is based upon the tex engine and several of its extensions (nowadays I feel very confortable with luatex and I really enjoy the extra flexibility it provides). Its goal is to compose pages (encapsulating some of the typographic best practices in an algorithmic form), not just to write math.

The syntax of tex math mode is an handy way to write formulas and feels very natural (at least

## Re: (Score:1)

For a human?

Absolutely nothing: I actually sort of like the example, even if you would need at least

\catcode`/=0 /def/implies{/Leftrightarrow}

somewhere in your file for the "/implies" to work ;))

This is exactly one of the problems I was pointing out: too much flexibility is not so good in this case.

For a computer?

Well, a computer can do a good job to print that out, also; as I said, mathjax does render such an expression (provided you do not use external macros, etc. etc.) within a

web page. Actually

## Re: (Score:1)

Not really; if you are a professional mathematician, then you almost definitely have a good and fluent command of latex; as such the issue of a GUI is hardly relevant (and it feels "natural" to write equations in a certain way)

If on the other hand you just want to write some formulas on your web page, then I concur that latex might be the wrong technology and it is also a technology which is not so easy to integrate with GUI tools as soon as what you want to do is non-trivial (speaking of which I would like

## Re: (Score:2)

LaTeX may look good, but it's old and inelegant technology.

The real ironic part is that TeX was written by a guy who contributed a lot to the field of programming languages, grammars and parsing, but its grammar is horrible.

## Re: (Score:1)

Acttually LaTeX has not been written by Donald Knuth, but it is a macro language built upon TeX by Leslie Lamport (which is also a very remarkable computer scientist, but I suppose he is not who you were thinking about).

Yes, the grammar is horrible, but once the basics of the language are mastered it feels quite a natural setting where to write text; if you want to implement a program in it, on the other hand, things are not so "easy". Look at http://stackoverflow.com/questions/2968411/ive-heard-that-latex [stackoverflow.com]

## Re: LaTex plugin (Score:2)

Maybe you should read the comments you reply to. I clearly said Knuth invented TeX, not LaTeX.

## Only smells funny? (Score:2)

We've been waiting for math rendering support in HTML for slightly over 15 years (MathML came out in 1998, and there was HTML 3 math before that).

We've given up. Both the scientific and the higher education communities are using PDF almost exclusively, and our respective userbases (fellow scientists and students) have accepted PDF as the format of choice. At the same time, PDF support in browsers and on tablets has become good enough to make that a reasonable proposition.

But yeah, let's write blog pos

## Re: (Score:2)

Things are changing a little bit. Elsevier offer HTML+MathJax at least for the journals that I've used. MathJax (a JS library) makes things quite a bit easier in that you can use LaTeX and have it automatically rendered to MathML, picking up \begin{align}\end{align}s and such in your HTML.

## JSON (Score:2)

I guess someone will have to invent a MathJSON to make MathML acceptable for the hipsters.

## A lot of misunderstanding in this thread. (Score:5, Interesting)

Again, the problem is NOT a problem of AUTHORSHIP. Authorship is easy. It's a problem of DISPLAY. And it is a serious and important problem to be solved. The web was invented to share scientific information. Education on the web is huge--and growing. Academic publishers, mathematical software, and software shims that display math in a browser all use MathML extensively. It's a ubiquitous technology precisely because it fills a need in the industry, and it fills it well. What's more, MathML is important for an accessible web.

PDF is clearly not good enough for digital consumption. PDF is great for print but totally sucks for screens. MathJax is amazing (as are the people behind it), but it is a huge, complicated, and inefficient solution to the problem of math in the browser. The author of the linked article in the submission works on MathJax professionally and is advocating MathML support in the browser. That should tell you something. (In fact, MathJax itself uses MathML both internally and as an input/output format.)

## Re: (Score:2)

Wished I had mod points to give you. This is exactly the issue at hand, and the confusion on display in this thread is very discouraging.