# Typesetting Math

Mathematics presents a number of special challenges for typesetting.

- It uses a different font from text;
- It is not usually line-oriented;
- It uses complicated alignments and spacings; and
- It uses a number of special symbols.

_{0}) + f'(x

_{0})(x-x

_{0}) + (f''(x

_{0})/2)(x-x

_{0})

^{2}+ ...

_{n=0}

^{∞}(1/n!)f

^{(n)}(x

_{0})(x-x

_{0})

^{n}.

In the 1990s, the W3C put forth a standard for Math Markup Language (MathML) with the idea of supporting mathematical typesetting using the Extensible Markup Language (XML) standard. When HTML5 was formulated, it included MathML as part of the standard. Using MathML, the above equations could appear as follows: $$\begin{array}{cc}f\left(x\right)=& {\displaystyle f\left({x}_{0}\right)+{f}^{\prime}\left({x}_{0}\right)+\frac{{f}^{\prime \prime}\left({x}_{0}\right)}{2}{\left(x-{x}_{0}\right)}^{2}}\\ =& {\displaystyle \sum _{n=0}^{\infty}\frac{{f}^{\left(n\right)}\left({x}_{0}\right)}{n!}{\left(x-{x}_{0}\right)}^{n}}\end{array}$$ We can see that this looks better... in Firefox. No other browsers implemented the standard - they just ignored it. Moreover, if you look at the code, it will be clear that it would only be reasonable to create using some specialized editor. For these and other reasons, MathML is largely an interesting historical artifact now.

In the second decade of the 21^{st} century,
we use MathJax to typeset math on-line. MathJax is a
Javascript
suite together with a collection of fonts that
allow various markup languages to be presented.
MathJax is an example of a
polyfill.
MathJax can interpret MathML, but it can also translate
LaTeX, which is easy to create.
Thus, the only remaining reason to use MathML is
for the structure it provides.