我想将 LaTeX 转换为 HTML。很久以前(在我写论文的时候,2000 年!),我使用过 Hacha 和 Hevea... 但显然,它们不再维护,尤其是 Windows 版本。最近,Google 向我推荐了 tex4ht,但似乎该项目也处于停滞状态(该网站表示很快就会有图像管理的机会,但那是在 2014 年,从那时起就再也没有了),而且记录不全。
因此我的问题是:是否有最新的解决方案可以将 LaTeX 转换为与 Windows 兼容的 HTML?我需要的选项是:
- 使用 CSS
- 将文档剪切成多个文件
- 允许使用图片进行导航(上一个、上一个、下一个)
- 与Windows兼容
答案1
确实,主页tex4ht
和文档似乎已经过时了,但项目本身仍然活跃,这一点可以从提交历史和邮件列表。例如,我们最近添加了 MathJax 输出支持。
自从原作者去世后,CTAN 上的完整发行版也确实没有更新过,但更新直接进入 TeX 发行版,因此无需手动安装发行版,这将是一个相当复杂的过程。运行更新所需的一切都tex4ht
包含在 TeX Live 中。
目前,我正在研究新文档,这应该比现在的状态有很大的改善。
关于您的问题,所有这些都应该可以通过 实现tex4ht
。它为您的文档生成基本的 CSS,还允许在生成的 HTML 中包含自定义 CSS。它支持将文档拆分为章节、部分等单独的文件。当您使用 TL 时,它可以在 Windows 上运行,但 Miktex 也可以运行。
以下文件myconfig.cfg
将按部分拆分文章:
\Preamble{xhtml,2}
\Configure{AddCss}{test.css}
\Css{body{background-color:green;}}
\Configure{crosslinks}{}{}{\includegraphics{next.png}}{\includegraphics{prev.png}}{}{}{}{\includegraphics{up.jpg}}
\begin{document}
\EndPreamble
2
使用命令中使用的选项请求拆分\Preamble
。\Css
命令可用于简单的 CSS 指令,而\Configure{AddCss}
需要包含外部 CSS 文件。\Configure{crosslinks}
需要图片作为上一页、下一页和首页的链接。
可以使用以下命令请求编译该文件:
make4ht -uc myconfig.cfg filename.tex
制作4小时是的构建系统tex4ht
,它应该代替命令htlatex
。
答案2
潘多克是处理 LaTeX 领域的新手输入,并且开发非常活跃,每隔几周就会发布新版本。(它可以处理 LaTeX输出自成立以来)。适用于 Windows,而且也是最近的……
Pandoc 可以处理多种输入格式:
echo $(pandoc --list-input-formats)
commonmark creole docbook docx epub gfm haddock html jats json latex \
markdown markdown_github markdown_mmd markdown_phpextra markdown_strict \
mediawiki muse native odt opml org rst t2t textile tikiwiki twiki vimwiki
它可以将每个输入转换为以下输出格式:
echo $(pandoc --list-output-formats)
asciidoc beamer commonmark context docbook docbook4 docbook5 docx \
dokuwiki dzslides epub epub2 epub3 fb2 gfm haddock html html4 html5 icml \
jats json latex man markdown markdown_github markdown_mmd \
markdown_phpextra markdown_strict mediawiki ms muse native odt \
opendocument opml org plain pptx revealjs rst rtf s5 slideous slidy tei \
texinfo textile zimwiki
几乎可以针对每一种格式以适当的方式处理这些输出的详细样式:对于基于 HTML 的输出(包括 EPUB 或 Slidy、DZSlides、Slideous、Reveal.JS 和 S5 幻灯片),您可以应用 CSS,对于 ODT 或 DOCX,您可以使用reference.docx
或reference.odt
从中克隆样式,对于 LaTeX,您可以自定义文档模板等。
Pandoc 的工作方式非常模块化:它首先用专门的读者组件,将其转换为自己的内部格式,native
,然后依次转换native
使用适当的Writer
成分。
LaTeX 的阅读器组件是Text.Pandoc.Readers.LaTeX
。下面是其最近(2019 年 11 月)发布的 v2.5 中的更新日志摘录,证明了其对相关组件的积极维护和开发:
文本.Pandoc.阅读器.LaTeX
清理了维度参数的处理。允许小数点、前空格。
不允许逐字参数等。
允许括号选项前有空格。允许
表格中 \ 后的可选参数。
改进 \tiny、\scriptsize 等的解析。解析为原始,但要知道这些字体更改命令不带参数。
不过,我无法评论 Pandocs 阅读对专门的 LaTeX 功能和环境的支持范围。这取决于您来决定和评估。也许,甚至很可能,tex4ht
或者HaVeA
仍然更好。但我相信您手头已经有一些 LaTeX 文档可以快速测试:
pandoc \
--from=latex \
--to=html \
--output=my.html
或者更短一些,但应用您自己选择的 CSS:
pandoc \
-f latex \
-t html \
--css=my.css \
--output=my.html