ASCIIMathJax: Simple ASCII math notation

Thanks to MathJax, ASCIIMath now works in most browsers

To use ASCIIMathJax on a HTML page, just copy the following line and add it to your webpage (usually in the <head> element):

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

Then place all mathematical expressions on the page between left-quotes: `...`

To see this Type 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 a similar 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),("undefined",if x=0):}` `x/x={(1,if x!=0),("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 (work well in IE)
`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

If you are familiar with MathML, you can appreciate that this ASCII input form is less verbose and more readable. If you are familiar with LaTeX, this is still somewhat less cluttered. ASCIIMath input notation is close to graphing calculator notation, so that it can be used on webpages, emails and in computer algebra systems without having to learn another specialized syntax. Here is a list of all symbols (PDF):

Operations
TypeSee
+`+`
-`-`
*`*`
**`**`
//`//`
\\`\\ `
xx`xx`
-:`-:`
@`@`
o+`o+`
ox`ox`
o.`o.`
sum`sum`
prod`prod`
^^`^^`
^^^`^^^`
vv`vv`
vvv`vvv`
nn`nn`
nnn`nnn`
uu`uu`
uuu`uuu`
Relations
TypeSee
=`=`
!=`!=`
< `<`
>`>`
<=`<=`
>=`>=`
-<`-<`
>-`>-`
in`in`
!in`notin`
sub`sub`
sup`sup`
sube`sube`
supe`supe`
-=`-=`
~=`~=`
~~`~~`
prop`prop`

Accents

TypeSee
hat x`hat x`
bar x`bar x`
ul x`ul x`
vec x`vec x`
dot x`dot x`
ddot x`ddot x`
Logical
TypeSee
and`and`
or`or`
not`not`
=>`=>`
if`if`
iff`iff`
AA`AA`
EE`EE`
_|_`_|_`
TT`TT`
|--`|--`
|==`|==`

Brackets

TypeSee
(`(`
)`)`
[`[`
]`]`
{`{`
}`}`
<<`<<`
>> `>>`
{:`{:`
:}`{::}`
Miscellaneous
TypeSee
int`int`
oint`oint`
del`del`
grad`grad`
+-`+-`
O/`O/`
oo`oo`
aleph`aleph`
/_`/_`
:.`:.`
|...||`...`|
|cdots||`cdots`|
vdots`vdots`
ddots`ddots`
|\ ||`\ `|
|quad||`quad`|
diamond`diamond`
square`square`
|__`|__`
__|`__|`
|~`|~`
~|`~|`
CC`CC`
NN`NN`
QQ`QQ`
RR`RR`
ZZ`ZZ`
Functions
TypeSee
sin`sin`
cos`cos`
tan`tan`
csc`csc`
sec`sec`
cot`cot`
sinh`sinh`
cosh`cosh`
tanh`tanh`
log`log`
ln`ln`
det`det`
dim`dim`
lim`lim`
mod`mod`
gcd`gcd`
lcm`lcm`
min`min`
max`max`

Fonts

TypeSee
bb A`bb A`
bbb A`bbb A`
cc A`cc A`
tt A`tt A`
fr A`fr A`
sf A`sf A`
Arrows
TypeSee
uarr`uarr`
darr`darr`
rarr`rarr`
->`->`
|->`|->`
larr`larr`
harr`harr`
rArr`rArr`
lArr`lArr`
hArr`hArr`

Greek

TypeSee
Delta`Delta`
Gamma`Gamma`
Lambda`Lambda`
Omega`Omega`
Phi`Phi`
Pi`Pi`
Psi`Psi`
Sigma`Sigma`
Theta`Theta`
Xi`Xi`
Greek
TypeSee
alpha`alpha`
beta`beta`
chi`chi`
delta`delta`
epsilon`epsilon`
eta`eta`
gamma`gamma`
iota`iota`
kappa`kappa`
lambda`lambda`
mu`mu`
nu`nu`
omega`omega`
phi`phi`
varphi`varphi`
pi`pi`
psi`psi`
rho`rho`
sigma`sigma`
tau`tau`
theta`theta`
upsilon`upsilon`
xi`xi`
zeta`zeta`


Peter Jipsen --- February 2014 --- Chapman University