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

标签 python parsing svg latex mathml

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

附言。我找到了这个 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 文本(试试看)。

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

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

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

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

关于python - 在python中将 latex 代码转换为mathml或svg代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9588261/

相关文章:

python - 如何从Python代码中清除交互式IPython控制台的屏幕

python - 没有版本检查或 `six`,如何使用 `except MyError, e:`和 `except MyError as e`来与Python 2&3一起使用?

Python 子测试参数

php - 如何解析数据中包含换行符的 Excel CSV 数据?

html - 如何提高 svg 模糊性能(在 Safari 中)?

html - 链接 SVG 图像的最佳方式是什么?

python - 使用 Python 的语法分析器并从树中构建文件

c# - 日期字符串无法解析为有效的日期时间

c - 如何将命令行参数中的数字解析为两个数组

javascript - 使用 Internet Explorer 生成动态 SVG