ASCIIMathJax Test Page

The ASCIIMath input jax for MathJax makes ASCIIMath work in ALL browsers!

To use this method, just add the following line somewhere on your HTML page (nothing to download, nothing to install!):


<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/2.0-latest/MathJax.js?config=TeX-MML-AM_HTMLorMML-full"> </script>

Note: This method also works in many blogs and course management systems (e.g. Blackboard). Just switch your editor to HTML-source view and paste in this line, then use ASCIIMath or LaTeX for your math formulas. (If the webeditor filters out script tags, then this unfortunately won't work.)

Many thanks to David Lippman and Davide Cervone for converting ASCIIMathML.js to a MathJax input jax.

Example: Solving the quadratic equation. Suppose `ax^2+b x+c=0` and `a!=0`. We first divide by `a` to get `x^2+b/a x+c/a=0`. Then we complete the square and obtain `x^2+b/a x+(b/(2a))^2-(b/(2a))^2+c/a=0`. 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 subtract `b/(2a)` from both sides and simplify to get the two solutions: `x_(1,2)=(-b+-sqrt(b^2 - 4a c))/(2a)`

Here is the text that was typed in:

Example: Solving the quadratic equation.
Suppose `ax^2+b x+c=0` and `a!=0`. We first divide by `a` to get `x^2+b/a x+c/a=0`. 

Then we complete the square and obtain `x^2+b/a x+(b/(2a))^2-(b/(2a))^2+c/a=0`. 
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 subtract `b/(2a)` from both sides and simplify to get the two solutions: 
`x_(1,2)=(-b+-sqrt(b^2 - 4a c))/(2a)`

To see an example of dynamic ASCIIMathJax, try the Calculator.

Here are a few more examples:

Type this See that Comment
x^2+y_1+z_12^34 `x^2+y_1+z_12^34` subscripts as in TeX, but numbers are treated as a unit
sin^-1(x) `sin^-1(x)` function names are treated as constants
d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h `d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h` complex subscripts are bracketed, displayed under lim
\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} `\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}` standard LaTeX notation is an alternative
f(x)=sum_(n=0)^oo(f^((n))(a))/(n!)(x-a)^n `f(x)=sum_(n=0)^oo(f^((n))(a))/(n!)(x-a)^n` f^((n))(a) must be bracketed, else the numerator is only `a`
f(x)=\sum_{n=0}^\infty\frac{f^{(n)}(a)}{n!}(x-a)^n `f(x)=\sum_{n=0}^\infty\frac{f^{(n)}(a)}{n!}(x-a)^n` standard LaTeX produces the same result
int_0^1f(x)dx `int_0^1f(x)dx` subscripts must come before superscripts
[[a,b],[c,d]]((n),(k)) `[[a,b],[c,d]]((n),(k))` matrices and column vectors are simple to type
x/x={(1,if x!=0),(text{undefined},if x=0):} `x/x={(1,if x!=0),(text{undefined},if x=0):}` piecewise defined functions are based on matrix notation
a//b `a//b` use // for inline fractions
(a/b)/(c/d) `(a/b)/(c/d)` with brackets, multiple fraction work as expected
a/b/c/d `a/b/c/d` without brackets the parser chooses this particular expression
((a*b))/c `((a*b))/c` only one level of brackets is removed; * gives standard product
sqrt sqrt root3x `sqrt sqrt root3x` spaces are optional, only serve to split strings that should not match
<< a,b >> and {:(x,y),(u,v):} `<< a,b >> and {:(x,y),(u,v):}` angle brackets and invisible brackets
(a,b]={x in RR | a < x <= b} `(a,b]={x in RR | a < x <= b}` grouping brackets don't have to match
abc-123.45^-1.1 `abc-123.45^-1.1` non-tokens are split into single characters,
but decimal numbers are parsed with possible sign
hat(ab) bar(xy) ulA vec v dotx ddot y `hat(ab) bar(xy) ulA vec v dotx ddot y` accents can be used on any expression
bb{AB3}.bbb(AB].cc(AB).fr{AB}.tt[AB].sf(AB) `bb{AB3}.bbb(AB].cc(AB).fr{AB}.tt[AB].sf(AB)` font commands; can use any brackets around argument
stackrel"def"= or \stackrel{\Delta}{=}" "("or ":=) `stackrel"def"= or \stackrel{\Delta}{=}" "("or ":=)` symbols can be stacked
{::}_(\ 92)^238U `{::}_(\ 92)^238U` prescripts simulated by subsuperscripts

ASCIIMathML Peter Jipsen, Chapman University, February 2012 Valid HTML 4.01!