Differences from Actual TeX
Since MathJax renders for the web and TeX is a print layout engine, there are natural limitations to which parts of TeX can be supported in a reasonable way. Accordingly, there are several differences between “real” TeX/LaTeX systems and MathJax’s TeX Input.
First and foremost, the TeX input processor implements only the
math-mode macros of TeX and LaTeX, not the text-mode macros. MathJax
expects that you will use standard HTML tags to handle formatting the
text of your page; MathJax only handles the mathematics. So, for
example, MathJax does not implement \emph
or
\begin{enumerate}...\end{enumerate}
or other text-mode macros or
environments. You must use HTML to handle such formatting tasks. If
you need a LaTeX-to-HTML converter, you should consider other options.
There are two exception to this rule. First, MathJax supports the
\ref
macro outside of math-mode. Second, MathJax supports some
macros that add text within math-mode (such as \text{}
) as well as
$...$
and \(...\)
to switch back into math-mode, along with
\$
to escape a dollar sign. MathJax does not perform other macros
inside these text blocks, however, in general. So, for example,
\text{some \textbf{bold} text}
will produce the output “some
\textbf{bold} text”, not “some bold text”.
There is an extension (new in version 3.1) that implements a number
of text-mode macros within the \text{}
macro and other ones that
produce text-mode material. See the textmacros
documentation for details.
Second, some features in MathJax might be necessarily limited. For
example, MathJax only implements a limited subset of the array
environment’s preamble; i.e., only the l
, r
, c
, and |
characters alongside :
for dashed lines — everything else is
ignored.