在 python 中将 Latex 代码转换为 mathml 或 svg 代码

2024-04-25

是否有任何 python 代码允许获取乳胶代码(用于方程)并将其解析为 mathml 或 svg 代码?一个以字符串(latex 代码)作为参数并输出字符串(svg 或 mathml 代码)的简单函数将是完美的。

附言。我找到了这个http://svgkit.sourceforge.net/SVGLaTeX.html http://svgkit.sourceforge.net/SVGLaTeX.html但它是一个基于网络的项目,不知道如何使用它。

编辑:或任何语言(不是强制性的Python),或至少一个可以通过命令行简单执行的exe文件(无需安装额外的东西)。


您可以在不安装任何东西的情况下执行此操作:

import urllib
import urllib2

def latex2svg(latexcode):
    """
    Turn LaTeX string to an SVG formatted string using the online SVGKit
    found at: http://svgkit.sourceforge.net/tests/latex_tests.html
    """
    txdata = urllib.urlencode({"latex": latexcode})
    url = "http://svgkit.sourceforge.net/cgi-bin/latex2svg.py"
    req = urllib2.Request(url, txdata)
    return urllib2.urlopen(req).read()

print latex2svg("2+2=4")
print latex2svg("\\frac{1}{2\\pi}")

该脚本调用您提到的 SVGKit 服务器,该服务器负责将 LaTeX 转换为 SVG 的工作。它返回 SVG 文本(尝试一下)。

请注意,与任何依赖第三方 Web 应用程序的解决方案一样,

  1. 这假设您有可靠的互联网连接

  2. 它的性能取决于您的连接速度和服务器的速度

  3. 这依赖于第三方网站保持一致(如果他们将其删除,或者格式发生显着变化,则无需调整,这将不再有效)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python 中将 Latex 代码转换为 mathml 或 svg 代码 的相关文章

随机推荐