我想解析LaTeX公式并直接将它们用作SymPy表达式。换句话说,我需要的是类似于同情的东西:
from sympy import sympify
f = sympify('x^2 + sin(y) + 1/2')
print f
但是可以将LaTeX表达式(字符串)作为输入,例如:
f = latex_sympify('\frac{x}{1+x}')
鉴于sympify能够将带有常规数学表达式的字符串转换为SymPy对象,如果有任何东西可以将LaTeX转换为常规数学表达式,我想这会有所作为 - 但我更愿意在Python中做所有事情。
任何建议都将不胜感激。
答案 0 :(得分:7)
看看这个Latex - > Sympy转换器,它适用于Latex的一个大子集:
答案 1 :(得分:3)
我会看一下将latex转换为mathml的工具,例如(通过谷歌搜索):http://www.mathtowebonline.com/
然后您可以处理由此产生的XML。但是,您应该小心地将结果解释为数学表达式。这些工具可以保证文本表示是相同的,但操作数与其运算符的包围(分组)可能不是您所期望的。一般来说,你会看到更少的嵌套。我们按惯例解释为嵌套的彼此相邻的运算符将简单地转换为XML格式的兄弟元素。如果你试图将其解释为公式,那么还有一些工作要做(以正确的方式恢复嵌套结构)。
答案 2 :(得分:0)
您可以使用latex2sympy2
from latex2sympy2 import latex2sympy
f = r"\frac{x}{1+x}"
latex2sympy(f)