»User Guide
Text based document generation

ASCIIMath is a clever JavaScript written by Peter Jipsen that dynamically transforms mathematical formulae written in a wiki-like plain text markup to MathML markup which is displayed as standard mathematical notation by the Web Browser. See Appendix E in the AsciiDoc User Guide for more details.

The AsciiDoc xhtml11 backend supports ASCIIMath — it links the ASCIIMath script and escapes ASCIIMath delimiters and special characters to yield valid XHTML. To use ASCIIMath:

  1. Include the -a asciimath command-line option when you run asciidoc(1).

  2. Enclose ASCIIMath formulas inside math or double-dollar passthroughs or in math passthrough blocks.

Here’s the AsciiDoc source that generated this page.

  • When you use the asciimath:[] inline macro you need to escape ] characters in the formulas with a backslash, escaping is unnecessary if you use the double-dollar macro (for examples see the second formula below).

  • See the ASCIIMath website for ASCIIMath documentation and the latest version.

  • If the formulas don’t appear to be correct you probably need to install the correct math fonts (see the ASCIIMath website for details).

  • See the LaTeXMathML page if you prefer to use LaTeX math formulas.

A list of example formulas:

  • `[[a,b],[c,d]]((n),(k))`

  • `x/x={(1,if x!=0),(text{undefined},if x=0):}`

  • `d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h`

  • `sum_(i=1)\^n i=(n(n+1))/2`$ and bold `int_0\^(pi/2) sinx\ dx=1`

  • `(a,b]={x in RR : a < x <= b}`

  • `x^2+y_1+z_12^34`

The first three terms factor to give `(x+b/(2a))^2=(b^2)/(4a^2)-c/a`.


Now we take square roots on both sides and get `x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a)`. Finally we move the `b/(2a)` to the right and simplify to get the two solutions: `x_(1,2)=(-b+-sqrt(b^2-4ac))/(2a)`.