Update 07/2020:
The code bellow is not needed anymore. TeX4ht has now full support for the MathJax output. The equivalent of the code bellow is this:
make4ht filename.tex "mathml,mathjax"
If you want to keep your LaTeX math as plain text, use just:
make4ht filename.tex "mathjax"
make4ht
is replacement for htlatex
that converts to HTML5 and UTF-8 by default, so no special configurations as in the old answer are necessary.
Original answer:
You can use TeX4ht
. It can output math as mathml
which can be then displayed with mathjax
. You can also configure html
header to load mathjax
script from mathjax's cdn
:
\Preamble{xhtml,mathml}
\Configure{VERSION}{}
\Configure{DOCTYPE}{\HCode{<!DOCTYPE html>\Hnewline}}
\Configure{HTML}{\HCode{<html>\Hnewline}}{\HCode{\Hnewline</html>}}
\Configure{@HEAD}{}
\Configure{@HEAD}{\HCode{<meta charset="UTF-8" />\Hnewline}}
\Configure{@HEAD}{\HCode{<meta name="generator" content="TeX4ht
(http://www.cse.ohio-state.edu/\string~gurari/TeX4ht/)" />\Hnewline}}
\Configure{@HEAD}{\HCode{<link
rel="stylesheet" type="text/css"
href="\expandafter\csname aa:CssFile\endcsname" />\Hnewline}}
\Configure{@HEAD}{\HCode{<script type="text/javascript"\Hnewline
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"\Hnewline
></script>\Hnewline}}
\Configure{@HEAD}{\HCode{<style type="text/css">\Hnewline
.MathJax_MathML {text-indent: 0;}\Hnewline
</style>\Hnewline}}
\begin{document}
\EndPreamble
With this config file, we request to output math as mathml
, then configure html
header so resulting file is html5
. Save it as for example ht5mjlatex.cfg
and then call from command line:
htlatex filename.tex "ht5mjlatex.cfg, charset=utf-8" " -cunihtf -utf8"
or you can use William F. Hammond's script (at bottom of the page)