在HTML中将Latex转换为MathML

3

我正在尝试将嵌入在HTML文档中(旨在与Javascript shim一起使用)的LaTeX代码转换为MathML。Pandoc似乎是一个很好的工具。可以参考这个例子:http://pandoc.org/demos.html

pandoc input.html -s --latexmathml -o output.html

没有对文件进行任何更改。我甚至创建了一个裸的空白HTML文件,包含各种文本表达式以进行测试;输出没有变化。我错过了什么?

http://math.etsu.edu/LaTeXMathML/ 这个由Pandoc链接的网站似乎显示了独立情况的文档,但是它使用JS shim而不是直接输出MathML。(我认为它让浏览器动态渲染MathML,但实际上并没有将其输出到文件中) 它还缺少一些基本功能,例如带有 \begin{equation} 的单行函数。

我花了几个小时搜索完成此操作的方法。有什么想法吗?唯一完全工作的解决方案我发现是https://www.mathtowebonline.com/这个网站。还有一个名为latex2mathml的python模块,但它也缺少大部分规范。

1个回答

6
您需要使用--mathml标志(而不是--latexmathml标志)来生成MathML,并启用tex_math_dollars扩展名以读取美元符号之间的数学公式:
$ echo '<p>$$x = 4$$</p>' | pandoc -f html+tex_math_dollars -t html --mathml
<p>
  <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
      <mrow><mi>x</mi><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">x = 4</annotation>
    </semantics>
  </math>
</p>

或者你最好使用像snuggleTeXLaTeXMathML.js这样的东西...


另一个选择是使用 mathjax-node - Peter Krautzberger
谢谢。从Pandoc文档中看来,它应该能够像我使用的示例一样解析LaTeX到MathML。 LaTeXMathML.js链接是我在Q中发布的旧版本。(该页面链接到其顶部附近的新版本)。最佳前进路线似乎是使用我链接的Web程序的独立版本:http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl。它实际上看起来相当不错,完整且有良好的文档! - Turtles Are Cute
1
@TurtlesAreCute,使用Pandoc从HTML中提取LaTeX数学公式确实是可能的。我已经在上面更正了我的答案。 - mb21

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接