LaTeX → HTML (tex4ht/make4ht/lwarp/LaTeXML)

有时你希望把 LaTeX 输出成 网页 而不是 PDF:为了可访问性、Web 发布或电子书。LaTeX → HTML 的转换工具各有所长:tex4ht(通过易用前端 make4ht)、lwarpLaTeXML。本页说明如何选择。

tex4ht 与 make4ht

tex4ht 是经典的 LaTeX→HTML/XML 转换器,调用方式如 htlatex file.tex "html5,mathml,…"。它很强大,但直接驱动有些繁琐。make4ht(Michal Hoftich 编写)为它提供了友好的 构建前端make4ht file.tex。默认输出 HTML5,并可用 Lua 构建文件细调(运行 bibtex、后处理、处理图片等)。优先使用 make4ht,而不是直接用 htlatex。

terminal
make4ht file.tex     # tex4ht の手軽な front-end(HTML5 既定)/ friendly front-end
# 生の tex4ht なら / raw tex4ht:
htlatex file.tex "html5,mathml,charset=utf-8"

lwarp

lwarp(Brian Dunn 编写)采用另一种路线:它运行 真正的 LaTeX,并 直接生成 HTML5,因此能以高保真支持 500 多个宏包和类。数学公式可变成 SVG 图像或 MathJax。加入 \usepackage{lwarp},用 pdflatex 编译,再运行 lwarpmk html(texlua 脚本会自动处理多步构建)。它适合使用许多宏包的文档。

terminal
% プリアンブルに / in the preamble:  \usepackage{lwarp}
lwarpmk html         # 多段処理を自動化 / automates the build

LaTeXML

LaTeXML(Bruce Miller,NIST)会把 LaTeX 解析为 语义 XML,再转换为 HTML5 + MathML(也支持 ePub、JATS)。分两步:先 latexml,再 latexmlpost。它的 数学 → MathML 最稳健,arXiv 也用它提供论文的 HTML 版本。当文档数学很多、需要语义化且可访问的输出时,这是最强选择。

terminal
latexml --dest=file.xml file.tex
latexmlpost --dest=file.html file.xml   # → HTML5 + MathML

该选哪一个

  • 快速生成 HTMLmake4ht(tex4ht)。
  • 许多宏包、高保真lwarp
  • 数学很多、MathML、语义 XML(arXiv 路线)LaTeXML