使用数字将分数转换为使用\\ frac {} {} Latex格式的字符串

时间:2015-09-15 08:06:14

标签: python latex sympy

有没有办法转换以这种格式编写的字符串: str = "9+3/3+6/2"

到一个看起来像这样的Latex字符串: "9 + \frac{3}{3} + \frac{6}{2}"

sympy.latex(str)返回原始字符串时,如果我传递sympy.latex(9+3/3+6/2),则返回评估值13。

1 个答案:

答案 0 :(得分:2)

您可以在创建 SymPy 对象时使用参数 evaluate = False ,这可以防止对表达式进行评估:

In [1]: expr = sympify("9+3/3+6/2", evaluate=False)

In [2]: expr
Out[2]: 
3   6    
- + - + 9
3   2    

In [3]: latex(expr)
Out[3]: '\\frac{3}{3} + \\frac{6}{2} + 9'

In [4]: print (latex(expr))
\frac{3}{3} + \frac{6}{2} + 9