Current itex2MML Version: 1.3.5 (2/29/2008) [download]
Here is a list of all the TeX commands currently implemented in itex2MML. Most should be familiar to users of AMSLaTeX (and, I hope, represent their most commonly-used commands). Some are derived from WebTeX.
All of these commands work only within equation-mode. Inline equations are demarcated by $…$. Display equations are demarcated by $$…$$ or \[…\]. You cannot nest equations: i.e. $$…\text{foo $…$ bar}…$$ is not allowed.
Users should be aware of two main differences between itex and TeX:
- In itex,
$pin$is a single token, which is translated into<mi>pin</mi>in MathML.
$p i n$, on the other hand, is three tokens, which is translated into<mi>p</mi><mi>i</mi><mi>n</mi>in MathML. TeX makes no distinction between these two. - It is possible (though probably not recommended) to insert MathML markup inside itex equations. So "<" and ">" are significant. To obtain a less-than or greater-than sign, you should use
\ltor\gt, respectively.
Environments
\begin{env}…\end{env}
where env is one of
matrix,
pmatrix,
bmatrix,
Bmatrix,
vmatrix,
Vmatrix,
smallmatrix,
cases,
aligned,
gathered,
split,
svg
The SVG Environment
\begin{svg} ... \end{svg}
allows you to embed snippets of SVG in itex equations. To assist in Instiki's LaTeX export feature, you can also include a graphicx command:
\begin{svg} ... \end{svg} \includegraphics[width=...]{foo}
where foo.pdf is a file containing a PDF version of the graphic. In itex, the \includegraphics command is defined as a NOOP, and the SVG is embedded in the MathML output. In Instiki's LaTeX export, the opposite is true: the svg environment is a NOOP, and the \includegraphics command is included in the output.
WebTeX-style Arrays and Array Options†
\array-
\arrayopts-
\collayout,\colalign,\rowalign,\align,\equalcols,\equalrows,\collines,\rowlines,\frame,\padding \rowopts-
\colalign,\rowalign \cellopts-
\colalign,\rowalign,\rowspan,\colspan
Greek Letters
\alpha,
\beta,
\gamma,
\delta,
\epsilon,
\backepsilon,
\varepsilon,
\zeta,
\eta,
\theta,
\vartheta,
\iota,
\kappa,
\varkappa,
\lambda,
\mu,
\nu,
\xi,
\omicron,
\pi,
\varpi,
\rho,
\varrho,
\sigma,
\varsigma,
\tau,
\upsilon,
\phi,
\varphi,
\chi,
\psi,
\omega,
\Alpha,
\Beta,
\Gamma,
\Delta,
\Zeta,
\Eta,
\Theta,
\Iota,
\Kappa,
\Lambda,
\Mu,
\Nu,
\Xi,
\Pi,
\Rho,
\Sigma,
\Tau,
\Upsilon ( = \Upsi),
\Phi,
\Psi,
\Omega,
\digamma,
\mho
Log-like Symbols
\arccos,
\arcsin,
\arctan,
\arg,
\cos,
\cosh,
\cot,
\coth,
\csc,
\deg,
\det,
\dim,
\exp,
\gcd,
\inf,
\hom,
\ker,
\lg,
\lim,
\liminf,
\limsup,
\ln,
\log,
\max,
\min,
\mod*,
\pmod*,
\Pr,
\sec,
\sin,
\sinh,
\sup,
\tan,
\tanh
Arrows
\rightarrow ( = \to),
\longrightarrow,
\Rightarrow ( = \implies),
\hookrightarrow ( = \embedsin),
\mapsto ( = \map),
\leftarrow,
\longleftarrow,
\Leftarrow ( = \impliedby),
\hookleftarrow,
\leftrightarrow,
\Leftrightarrow,
\Longleftrightarrow ( = \iff),
\nearrow ( = \nearr),
\nwarrow ( = \nwarr),
\searrow ( = \searr),
\swarrow ( = \swarr),
\neArrow ( = \neArr),
\nwArrow ( = \nwArr),
\seArrow ( = \seArr),
\swArrow ( = \swArr),
\darr,
\Downarrow,
\uparr,
\Uparrow,
\downuparrow ( = \duparr = \updarr),
\Updownarrow,
\leftsquigarrow,
\rightsquigarrow,
\leftrightsquigarrow,
\upuparrows,
\rightleftarrows,
\rightrightarrows,
\dashleftarrow,
\dashrightarrow,
\curvearrowleft,
\curvearrowbotright,
\downdownarrows,
\leftleftarrows,
\leftrightarrows,
\righttoleftarrow,
\lefttorightarrow,
\circlearrowleft,
\circlearrowright
All arrows are somewhat stretchy. But the "long" versions (\longrightarrow, \longleftarrow, \Longleftrightarrow) are currently not implemented in Mozilla/Firefox.
Delimiters
(,
),
[,
],
\langle ( = \lang),
\rangle ( = \rang),
\lbrace ( = \{),
\rbrace ( = \}),
\lceil, \rceil,
\lfloor,
\rfloor,
\uparrow,
\downarrow,
\updownarrow,
\vert ( = |),
\Vert ( = \|),
/
In TeX, delimiters are non-stretchy, by default. Stretchy delimiters are obtained with \left<delim> and \right<delim>. Each \left<delim> must be matched with a corresponding \right<delim>. If you don't want a visible matching delimiter, you can match with the invisible delimiters, \left. and \right. .
Fixed-size large delimiters are generated with the modifiers \big,\Big,\bigg,\Bigg,
\bigl,\Bigl,\biggl,\Biggl,
and
\bigr,\Bigr,\biggr,\Biggr. For example, \Biggr) generates a very large (3×natural size) right parenthesis; \bigl\vert generates a large (1.2×natural size) left vertical bar.
Operators
\amalg,
\angle,
\measuredangle,
\sphericalangle,
\approx,
\approxeq,
\thickapprox,
\asymp,
\backslash,
\because,
\between,
\bottom (= \bot),
\boxminus ( = \minusb)
\boxplus ( = \plusb),
\boxtimes ( = \timesb),
\bowtie,
\bullet,
\cap ( = \intersection),
\cup ( = \union),
\cdot,
\clubsuit,
\diamondsuit,
\heartsuit,
\spadesuit,
\circ,
\bigcirc,
\cong,
\ncong,
\dagger,
\ddagger,
\dashv,
\Vdash,
\vDash,
\nvDash,
\VDash,
\nVDash,
\vdash,
\nvdash,
\Vvdash,
\Diamond,
\diamond,
\div,
\equiv,
\nequiv,
\eqcirc,
\neq ( = \ne),
\Bumpeq,
\bumpeq,
\circeq,
\doteq,
\doteqdot,
\fallingdotseq,
\risingdotseq,
\exists,
\nexists,
\flat,
\forall,
\frown,
\gt,
\ngtr,
\gg,
\ggg,
\geq ( = \ge),
\ngeq,
\geqq,
\ngeqq,
\geqslant,
\ngeqslant,
\eqslantgtr,
\gneq,
\gneqq,
\gnapprox,
\gnsim,
\gtrapprox,
\gtrsim,
\gtrdot,
\gtreqless,
\gtreqqless,
\gtrless,
\gvertneqq,
\in,
\notin,
\ni,
\notni,
\lhd,
\unlhd,
\lt,
\nless,
\ll,
\lll,
\leq ( = \le),
\nleq,
\leqq,
\nleqq,
\leqslant,
\nleqslant,
\eqslantless,
\lessapprox,
\lessdot,
\lesseqgtr,
\lesseqqgtr,
\lessgtr,
\lesssim,
\lnapprox,
\lneq,
\lneqq,
\lnsim,
\ltimes,
\lvertneqq,
\lozenge,
\blacklozenge,
\mid ( = \shortmid),
\nmid,
\nshortmid,
\models,
\multimap,
\nabla ( = \Del),
\natural,
\not ( = \neg),
\odot,
\odash ( = \circleddash),
\otimes,
\oplus,
\parallel,
\nparallel,
\shortparallel,
\nshortparallel,
\partial,
\Perp ( = \Vbar),
\perp,
\pitchfork,
\pm,
\mp,
\prec,
\nprec,
\precapprox,
\precnapprox,
\preceq,
\npreceq,
\preccurlyeq,
\curlyeqprec,
\precsim,
\precnsim,
\prime,
\backprime,
\propto,
\varpropto,
\rhd,
\unrhd,
\rtimes,
\setminus,
\smallsetminus,
\sharp,
\sim,
\nsim,
\backsim,
\simeq,
\backsimeq,
\thicksim,
\smile,
\subset,
\nsubset,
\subseteq,
\nsubseteq,
\subseteqq,
\nsubseteqq,
\subsetneq,
\subsetneqq,
\varsubsetneq,
\varsubsetneqq,
\Subset,
\succ,
\nsucc,
\succeq,
\nsucceq,
\succapprox,
\succnapprox,
\succcurlyeq,
\curlyeqsucc,
\succsim,
\succnsim,
\supset,
\nsupset,
\supseteq,
\nsupseteq,
\supseteqq,
\supsetneq,
\supsetneqq,
\varsupsetneq,
\varsupsetneqq,
\Supset,
\square ( = \Box),
\blacksquare (= \qed),
\sqcup,
\sqcap,
\sqsubset,
\sqsubseteq,
\sqsupset,
\sqsupseteq,
\star,
\bigstar,
\therefore,
\times,
\top,
\triangle,
\triangledown,
\triangleleft,
\triangleright,
\blacktriangle,
\blacktriangledown,
\bigtriangleup,
\bigtriangledown,
\uplus,
\vee,
\wedge,
\wr
In keeping with AMSLaTeX, rather than MathML's conventions, \smallsetminus ( = U+FE68) is designated as a small (non-stretchy) reverse solidus, \backslash is a reverse solidus ( = U+05C). \setminus ( = U+2216) is stretchy.
Symbols
\aleph,
\beth,
\ell,
\hbar,
\Im,
\imath,
\jmath,
\eth,
\Re,
\wp,
\infty ( = \infinity)
\empty ( = \emptyset = \varnothing)
Dots
\dots,
\ldots,
\cdots,
\ddots,
\udots,
\vdots
Large Math Operators and Integrals
\bigcup ( = \Union),
\bigcap ( = \Intersection),
\bigodot,
\bigoplus ( = \Oplus),
\bigotimes ( = \Otimes),
\bigsqcup,
\biguplus,
\bigwedge ( = \Wedge),
\bigvee ( = \Vee),
\coprod ( = \coproduct),
\prod ( = \product),
\sum,
\int ( = \integral),
\iint ( = \doubleintegral),
\iiint ( = \tripleintegral),
\iiiint ( = \quadrupleintegral),
\oint ( = \conint = \contourintegral)
Sizes and Styles
\displaystyle,
\textstyle,
\textsize,
\scriptsize,
\scriptscriptsize,
\mathit,
\mathbf ( = \boldsymbol),
\mathrm,
\mathbb,
\mathfrak ( = \mathfr),
\mathcal,
\text
Spaces
\, ( = \thinspace),
\: ( = \medspace),
\; ( = \thickspace),
\quad,
\qquad,
\! ( = \negspace),
\phantom,
\space†
Accents
\bar,
\overline ( = \closure = \widebar),
\vec,
\widevec,
\dot,
\ddot,
\tilde,
\widetilde,
\check,
\widecheck,
\hat,
\widehat
\slash
Fractions, Sub/Superscripts and Roots
\frac,
\tfrac,
\binom,
\over,
\atop,
\substack,
\overbrace,
\underbrace,
\underset,
\overset (=\stackrel),
\underoverset‡,
\tensor†,
\multiscripts†,
\sqrt,
\root†,
\operatorname (=\mathop)
Colours
\color{colourspec} changes the current foreground colour. colourspec is either
- an HTML named-colour:
aqua,black,blue,fuchsia,gray,green,lime,maroon,navy,olive,purple,red,silver,teal,white, oryellow- or is an RGB colour value:
#rgbor#rrggbb, wherergborrrggbbis a 3- or 6-digit hexadecimal number.#000000is black,#FFFFFFis white, and#1AC=#11AACC.
As an example, $a { b \color{red} c \color{#0F0} d } e$ will render a, b and e in the default colour (usually black), c in red and d in green.
The alternate LaTeX syntax, involving specifying a colour model, e.g.
\color[cmyk]{0, 0.1, 0.5, 0.3}
is not supported.
A new command, \bgcolor{colourspec}, works the same way, but changes the current background colour.
Interactivity
\href{url}{expression}- Turns a mathematical expression into a clickable link. This makes use of Xlink.
\statusline{message}{expression}- Displays the message text in the browser's status-line, when the user clicks on the mathematical expression. Does not seem to work in Mozilla/Firefox.
\fghilight{colourspec}{expression}( =\fghighlight)\bghilight{colourspec}{expression}( =\bghighlight)†- Deprecated, and will be dropped from a future version of itex2MML. Change the foreground/background colour of an expression when the user clicks on it. The current implementation uses deprecated MathML 1.0 attributes (which do not seem to be supported by current browsers). The suggested MathML 2.0 replacements are highly non-portable. Use CSS+Javascript instead.
\toggle{expression1}{expression2}- Toggle between these two expressions when the user clicks on them.
Equation Numbering
While itex2MML, the stream filter, does not provide such facilities, various tools built around it, like the itex2MML MovableType plugin and Maruku provide enhanced features, such as equation-numbering and cross-referencing. $$...$$ produces an unnumbered equation. \[...\] produces a numbered equation. Optionally, \[...\] can contain a label
\[...\label{foo}...\]
You can then refer back to this equation by (eq:foo) or \eqref{foo}. These are automatically turned into hyperlinks.
* Yeah, yeah, I know …
† MathML-inspired WebTeX extension.
‡ \underoverset{subscript}{superscript}{symbol}