python识别latex公式_在python中将latex代码转换为mathml或svg代码

关于SVGLaTeX:

我想说你可以在你的电脑上使用它作为一个python脚本(非webbased)[edit:not as it is],但它不能满足你的要求“不安装额外的东西”,因为我认为你需要一个latex发行版。在

关于MathML与SVG:

将Latex转换为mathml(我只能找到基于Web的解决方案)与将Latex转换为SVG不同,因为mathml更像是对数学源(如Latex source)的描述,SVG是一种存储排版公式的格式,如PDF。在

从LateX生成SVG比将LateX转换为MathML要复杂得多,前者(据我所知)最终总是使用Knuts-TeX程序。因此,如果你不安装任何LateX[编辑:或远程使用],你就必须转换为MathML。[希望其他人知道一个工具。我不熟悉JavaScript。它能从控制台运行吗?]. 在

编辑:

从LateX生成SVG的Python脚本(沿着SVGLatex/eqtexsvg的行):from subprocess import call

import sys, re

if not len(sys.argv) == 2:

print "usage: tex2svg input_file.tex"

exit(1)

tex_name = sys.argv[1]

svg_name = tex_name[:-4] + ".svg"

ps_name = tex_name[:-4] + ".ps"

dvi_name = tex_name[:-4] + ".dvi"

if call(["latex", tex_name]): exit(1)

if call(["dvips", "-q", "-f", "-e", "0", "-E", "-D", "10000", "-x", "1000", "-o", ps_name, dvi_name]): exit(1)

if call(["pstoedit", "-f", "plot-svg", "-dt", "-ssp", ps_name, svg_name]): exit(1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值