我正在尝试弄清楚如何转换数学方程的MathML表示,并将其转换为该数学方程的LaTeX表示。举个例子。
<math>
<mrow>
<mfrac>
<mrow><mi>x</mi></mrow>
<mrow><mi>y</mi></mrow>
</mfrac>
</mrow>
</math>..。是一个简单的堆积分数,它的LaTeX表示将是...
\frac{x}{y}我可以保证MathML没有表示标记,因为我是动态构造MathML字符串的,并且我控制MathML元素的插入方式/位置;MathML字符串只是数学公式的纯结构。
所以我的问题是,有没有Java/JavaScript库可以接受像上面这样的MathML输入字符串,并生成相应的LaTeX字符串?我不希望自己写这个解析器。如果不是Java/JavaScript,有没有可以做到这一点的库呢?
如果没有,那么对于如何编写自己的解析器这个问题有什么建议吗?从哪里开始,要考虑的事情,资源,等等?
更新
多亏了Optimal Cynic,我才能使用this Java library做我想做的事情。然而,它并不完美,但我可以很容易地修改它,让它工作得很好。然而,我仍然希望看到这在JavaScript中完成。那么有没有用JavaScript写的类似这样的工具呢?如果没有,我将求助于自己翻译。
注意:我正在使用MathJax在页面上呈现MathML,但是MathJax目前不支持从MathML到LaTeX的转换。它只能从LaTeX转到MathML。
发布于 2011-07-06 04:59:17
试试http://www.tilman.de/programme/mathparser/anleitung_en.html --它是用Java编写的,源代码可以找到。
发布于 2011-07-06 05:09:39
XSLT、SAX解析器或DOM解析器有什么问题?
SAX和DOM解析器的绑定适用于所有主要语言(几乎所有其他语言也是如此)。我推荐使用函数式语言进行DOM解析,但口味不同。
XSLT是一种为处理XML而设计的函数式语言。
发布于 2014-01-14 23:48:00
我也遇到过类似的问题,而url中提供的数学解析器对我来说根本不起作用。
我使用XSLT MathML Library和Saxon-HE将LaTeX转换为XSLT MathML Library,但是由于XSLT库是纯Saxon-HE,任何MathML转换工具都可以处理它。输出并不总是完美的,但它给了我比在stackexchange网络中提到的web-xslt更好的结果。
与saxon一起使用命令行:
saxon -o output.tex input.mml xsltml_2.1.2/mmltex.xslhttps://stackoverflow.com/questions/6587864
复制相似问题