.. _tex-differences: ########################### 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 :ref:`tex-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. |-----|