# TeX4ht

TeX4ht is a system for converting documents written in TeX/LaTeX/ConTeXt/etc. to HTML, various XML flavors, braille, etc., optionally using MathML.

### Features

• it supports most LaTeX packages and custom commands, including: BibLaTeX, TikZ, Fontspec
• it supports various input formats, apart from LaTeX: PythonTeX, RMarkdown and other formats supported by Knitr and Pandoc
• extensive support for modification of the output
• output formats include HTML 5, ODT and Docbook
• math can be exported to MathML, MathJax or pictures
• publishing webpages from Overleaf

### Tools

• make4ht - build system for TeX4ht.
• tex4ebook - ePub and ePub3 export using TeX4ht.

### Basic invocation for modern output

TeX4ht can be invoked in several ways. The original way is to use the htlatex command. To convert a LaTeX source file.tex to HTML5 that uses UTF-8, with MathML:

$htlatex file.tex "xhtml,html5,mathml,charset=utf-8" " -cunihtf -utf8"  N.B. That command line has three arguments, the second two given inside shell quotes; the last argument starts with a space. More details on calling conventions. An easier way is to use make4ht (see its documentation for more). The following command produces the same output as the previous one, HTML5 in UTF-8 encoding with MathML: $ make4ht file.tex "mathml"


If you want to have MathJax (rather than the browser) rasterize the MathML:

$make4ht file.tex "mathml,mathjax"  But perhaps the best method of all is to insert LaTeX into the HTML output, and have MathJax rasterize the LaTeX: $ make4ht file.tex "mathjax"


This has the additional advantage (thanks to MathJax) that right-clicking on any equation in the HTML brings up a menu offering to provide the source for the equation.

### Bug reports

Bug reports are welcome by email or by submission to the bug database. Please include a complete source document and the exact program invocation, as well as what goes wrong. To fix the problem we need to be able to reproduce it. If the problem remains unresolved, please submit it to the bug db, so it won't be forgotten.

### Development status

We continue to install updates in the tex4ht development source and propagate them to TeX, although we have not made a full release in tex4ht. Some development changes remain solely in the source repository.

TeX4ht was created by Eitan Gurari at Ohio State University. Eitan died unexpectedly in June 2009; we extend our sympathies to his family, and dedicate future work on the project to his memory.

With the encouragement and support of Eitan's family, Michal Hoftich, Karl Berry, and others have continued to work on TeX4ht. Involvement by other volunteers, from bug reports to major new development, is welcome and needed.

No full post-Eitan release has been made to date. This continues to be a work in progress.

### ChangeLog

Latest changes (full ChangeLog):

 2022-09-26 tex4ht-fonts-modern.tex ( ./tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/mathkerncmssi/mathkerncmssi.htf ): added support for the Sansmathaccent font. tex4ht-4ht.tex (usepackage.4ht, lua-widow-control-hooks.4ht): added support for the Lua-widow-control package. 2022-09-22 tex4ht-html4.tex (html4.4ht): use CSS grid for description list based enumerate environments. tex4ht-html4.tex (html4.4ht): prevent reseting of list environments that are placed inside multicols environment. https://tex.stackexchange.com/q/659089/2891