2017-01-07 74 views
2

我试图将HTML文档中嵌入的乳胶代码(用于使用Javascript填充)转换为MathML。 Pandoc看起来是一个很棒的工具。以下示例:http://pandoc.org/demos.html,将胶乳转换为HTML中的MathML

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

生成文件没有变化。我甚至用各种文本表达式做了一个准备空白的HTML文件来测试;输出没有变化。我错过了什么?

http://math.etsu.edu/LaTeXMathML/此网站链接到Pandoc,似乎显示独立案例的文档,但它使用JS填充而不是直接输出MathML。 (我认为它的浏览器呈现动态呈现的MathML,但实际上并没有将其输出到文件中)。它也缺少一些基本功能,如\ begin {equation}中的自身行功能。

我花了几个小时的搜索方式来完成此操作。有任何想法吗?我找到的唯一全面解决方案是https://www.mathtowebonline.com/此网站。还有一个名为latex2mathml的python模块,但它也缺少大规模的规范。

回答

4

你需要的--mathml标志(不--latexmathml标志)来生成MathML和阅读美元符号之间的数学启用tex_math_dollars extension:你最好使用像服用点snuggleTeX

$ 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> 

也许或LaTeXMathML.js ...

+0

另一种选择是使用[mathjax-node](https://github.com/mathjax/MathJax-node)。 –

+0

谢谢。从Pandoc文档看来,它应该能够将latex解析为MathML,就像我使用的示例一样。 LaTeXMathML.js链接是我在Q中发布的一个旧版本(该页面链接到顶部附近的较新版本)。看来,最好的路线是使用我链接的Web程序的独立版本:http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl。它实际上看起来相当不错,完整并且记录良好! –

+1

@TurtlesAreCute它确实有可能从pandoc中从html中提取胶乳数学,我在上面更正了我的答案。 – mb21