Math Typesetting, Mathematica, MathML (2010)

By Xah Lee. Date: . Last updated: .

Here's a linear algebra notes i wrote in 1998, using Mathematica version 3, with much math typesetting. linearAlgebraNotes.nb.

Mathematica 7 convert it to PDF very well. See: linearAlgebraNotes.pdf.

Surprisingly, when converting to HTML, it actually generated a valid html 〔see HTML Correctness and Validators (2008)〕 with valid CSS. See: linearAlgebraNotes.html

But further, it also exported to XML+MathML well: linearAlgebraNotes.xml.zip (can be viewed with Firefox 3.6.12). Very well done!

Mathematica linear algebra 2010-11-29
Mathematica linear algebra 2010-11-29

A note about Mathematica's typesetting. Mathematica's typesetting capabilities is best on this earth. It was invented with Mathematica version 3 in 1996. It's not just a inert incomprehensible code as in TeX. For example, typing 1/Sqrt[x^2 + y^3], press a button, then it gets rendered into a 2-dimensional math notation. Yet, Mathematica understands it as a live math expression. When writing math, you don't need to learn some inane specialized formatting language. You just type as you code in a computer language.

Also, whatever complex math expressions are automatically formatted, meaning, automatically wrapped. All these capabilities, i'd attribute to 2 very simple ideas:

  1. A 100% regular nested syntax (as in lisp; but lisp's syntax has many irregularities. 〔see Fundamental Problems of Lisp, Syntax Irregularity (2008)
  2. Typesetting based on regular markup. (as in MathML)

Today, most mathematicians and engineers still use the TeX/LaTeX mumbo jumbo. And much of open source offerings are based on TeX. 〔see Tools to Display Math on Web〕 〔see The TeX Pestilence: Why TeX LaTeX Sucks〕 MathML was a great idea (with much input from Wolfram Research), but it's a decade now and it's still practically not usable.