我用 LaTeX 写了一篇数学论文,使用了.sty
我编写的自定义文件(基本上定义了一些数学命令,并导入了带有数学符号和字体的包),我想将其转换为独立的、简单的 HTML 文件。我尝试了许多转换器,例如 lwarp、LateXML、latex2html 和 htlatex,但我并不满意。主要是因为它们不能使数学看起来正确。lwarp 很接近,因为它将数学保存为 SVG,但由于某种原因,图像看起来很糟糕,有很多剪辑,并且由于某种原因有很多 HTML 代码。latex2html 做得很好,但生成的 HTML 看起来很复杂。我的最终目标是将 HTML 发布在 WordPress.com 帖子中,所以我担心生成的 HTML 会因为某种原因不被接受。(我知道一个名为 latex2wp 的程序,但阅读 README 表明它可能不起作用,因为我使用align
。)
有一个组合非常接近我想要的:pandoc 和 GladTeX。Pandoc 可以将文件转换.tex
为 GladTeX 友好的 HTML 文件,然后我可以运行 GladTeX 来获取以图像形式显示的公式,并且图像看起来不错。诚然,显示样式公式的居中存在问题,但这很容易修复,即使不能修复也没什么大不了的。
我遇到的问题是没有公式编号;pandoc 插入的链接丑陋、不透明,不利于阅读,而且每当我引用公式时,这些链接似乎都不起作用(例如“如果你查看 (1),你会看到 x=1”,或其他类似的东西)。其他转换器可以正确编号,但 pandoc 不行。你可以将某些内容专门放入 pandoc 中以尝试获得编号,但这样文档就不再是真正的 latex 了。
那么,有没有一个好的乳胶到 HTML 转换器可以完成所有工作?但公式,哪个会生成一个 GladTeX 友好的 HTML 文件供我运行 GladTeX?
答案1
有很多方法可以在网络上显示数学。理论上,最好的方法应该是 MathML,一种特殊的数学 XML 标记。唯一的问题是它只受 Firefox 支持,例如在 Chrome 中不起作用。可以使用 MathJax 添加对其他浏览器的支持,但速度可能会有点慢。我也不确定您是否能够修改 WordPress 网站以包含 MathJax。您可以使用tex4ht
以下命令尝试这种方法:
make4ht -u filename.tex "mathml,mathjax"
另一种方法是将数学内容保留为 TeX 源并使用 MathJax 进行渲染。MathJax 的问题仍然存在。此外,它不支持自定义命令,您需要为它们提供配置:
make4ht -u filename.tex "mathjax"
此方法也适用于 KaTeX,它比 MathJax 更快,但它支持的命令少很多,而且似乎不支持自定义命令。
最安全、最快捷的方法是使用图像进行数学运算。缺点是它看起来不太好,尤其是对于内联数学运算。要使用 实现这一点tex4ht
,请尝试以下命令:
make4ht -u filename.tex "svg,pic-m+,pic-align,pic-equation"
它要求图片为SVG格式,需要常见的数学命令($...$
、\[ ...\]
)和环境才能转换成图片。
还有其他需要用图形表示数学环境的选项,请参阅tex4ht 选项。
我不太了解 GladTeX,但它似乎将 LaTeX 片段转换为图像,而这对于这种方法来说并不是必需的。
由于您没有显示任何代码,因此我无法更具体,但一般来说,您需要稍微配置一下转换才能获得良好的结果。
答案2
您好,我建议您在 lwarp 中使用 MathJax 选项而不是 svg 选项,大多数浏览器都支持该选项。我试过了,它对数学公式的兼容性很好。