Next: Previewing LaTeX fragments, Previous: Subscripts and superscripts, Up: Embedded LaTeX

Going beyond symbols and sub- and superscripts, a full formula language is
needed. Org mode can contain LaTeX math fragments, and it supports ways
to process these for several export backends. When exporting to LaTeX,
the code is obviously left as it is. When exporting to HTML, Org invokes the
MathJax library (see Math formatting in HTML export) to process and display the math^{1}. Finally, it can also
process the mathematical expressions into images^{2} that can be displayed in a browser or in
DocBook documents.

LaTeX fragments don't need any special marking at all. The following snippets will be identified as LaTeX source code:

- Environments of any kind
^{3}. The only requirement is that the`\begin`

statement appears on a new line, preceded by only whitespace. - Text within the usual LaTeX math delimiters. To avoid conflicts with
currency specifications, single ‘
`$`’ characters are only recognized as math delimiters if the enclosed text contains at most two line breaks, is directly attached to the ‘`$`’ characters with no whitespace in between, and if the closing ‘`$`’ is followed by whitespace, punctuation or a dash. For the other delimiters, there is no such restriction, so when in doubt, use ‘`\(...\)`’ as inline math delimiters.

For example:

\begin{equation} % arbitrary environments, x=\sqrt{b} % even tables, figures \end{equation} % etc If $a^2=b$ and \( b=2 \), then the solution must be either $$ a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \].

If you need any of the delimiter ASCII sequences for other purposes, you
can configure the option `org-format-latex-options`

to deselect the
ones you do not wish to have interpreted by the LaTeX converter.

LaTeX processing can be configured with the variable
`org-export-with-LaTeX-fragments`

. The default setting is `t`

which means `MathJax` for HTML, and no processing for DocBook, ASCII and
LaTeX backends. You can also set this variable on a per-file basis using one
of these lines:

#+OPTIONS: LaTeX:t Do the right thing automatically (MathJax) #+OPTIONS: LaTeX:dvipng Force using dvipng images #+OPTIONS: LaTeX:nil Do not process LaTeX fragments at all #+OPTIONS: LaTeX:verbatim Verbatim export, for jsMath or so

[1] If you plan to use
this regularly or on pages with significant page views, you should install
`MathJax` on your own
server in order to limit the load of our server.

[2] For this to work
you need to be on a system with a working LaTeX installation. You also
need the `dvipng` program or the `convert`, respectively available
at http://sourceforge.net/projects/dvipng/ and from the
`imagemagick` suite. The LaTeX header that will be used when
processing a fragment can be configured with the variable
`org-format-latex-header`

.

[3] When `MathJax` is used, only the
environment recognized by `MathJax` will be processed. When
`dvipng` is used to create images, any LaTeX environments will be
handled.