我现在正在编写一个教育软件。这是一种针对学校学生的在线测试。我使用我的编辑器来汇总问题,我需要数学功能,因此我需要使用这个编辑器,其他编辑器非常简单,没有这个编辑器那么智能和强大。
但是,编辑器将输出结果输出到 Mathml,现在这个 Mathml 还包含样式标签和正文。因此,我发现将其存储到数据库中不可行。因此,我尝试将 Mathml 转换为 LaTeX。
由于我正在使用 Python Django 开发项目,因此我需要一个可以为我进行转换的 Python 库。我搜索了许多库,但它们只是将文本转换为 Mathml 或将文本转换为 LaTeX。如果有人知道这一点,请告诉我。
如果有人有将 Mathml 转换为 LaTeX 的其他解决方案,请帮帮我。
答案1
xslt 位于https://github.com/davidcarlisle/web-xslt/tree/master/pmml2tex合理地完成了从 mathml 制作 tex 的工作用于打印它用于生成 MathML 规范中的许多示例图像,以及通过 latex 生成的规范的 PDF 版本。
然而,它实际上并不是为生成档案或可编辑乳胶而设计的,因此它生成的 tex 标记很混乱。
尽管它仍然可能会给你一个开始,但说实话需要 latex 而不是 mathml 的原因并不那么清楚。
答案2
你可以尝试这样做数学转换器做:
import os
from lxml import etree
def mathml2latex_yarosh(equation):
""" MathML to LaTeX conversion with XSLT from Vasil Yaroshevich """
xslt_file = os.path.join('mathconverter', 'xsl_yarosh', 'mmltex.xsl')
dom = etree.fromstring(equation)
xslt = etree.parse(xslt_file)
transform = etree.XSLT(xslt)
newdom = transform(dom)
return unicode(newdom)
mathml = """<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<mfrac>
<mrow><mi>x</mi></mrow>
<mrow><mi>y</mi></mrow>
</mfrac>
</mrow>
</math>"""
tex = mathml2latex_yarosh(mathml)
print tex
結果是$\frac{x}{y}$
。