使用sympy的latex()函数而不计算输入

时间:2015-02-16 14:47:34

标签: math python-3.x latex sympy

我想从sympy表达式获取乳胶输出而不计算表达式。例如,如果我做乳胶((2 + 3)/ 7),输出将是5/7(使用乳胶),但我所追求的是它只用胶乳输出(2 + 3)/ 7。像这样:\ frac {2 + 3} {7}

4 个答案:

答案 0 :(得分:3)

您可以尝试使用关键字evaluate=False

来表达同意
>>> latex(S('(2+3)/7',evaluate=False))
'\\frac{1}{7} \\left(2 + 3\\right)'

答案 1 :(得分:0)

(作为另一个答案更好地添加)

不要忘记模式选项:

>>> e = S('(2+3)/7', evaluate=False)
>>> latex(e,mode='inline')
'$\\left(2 + 3\\right) / 7$'
>>> latex(e,mode='plain')
'\\frac{1}{7} \\left(2 + 3\\right)'
>>> latex(e,mode='equation')
'\\begin{equation}\\frac{1}{7} \\left(2 + 3\\right)\\end{equation}'
>>> latex(e,mode='equation*')
'\\begin{equation*}\\frac{1}{7} \\left(2 + 3\\right)\\end{equation*}'

答案 2 :(得分:0)

也许你正在寻找fold_short_frac选项?

>>> latex(S('(2+3)/7',evaluate=False), fold_short_frac=True)
'\\left(2 + 3\\right) / 7'

另外,不确定你的意思是评价=假不适用于穆尔。也许你可以举一个例子。

>>> S('2*3',evaluate=False)
2*3
>>> S('2*3/7',evaluate=False)
2*3/7

答案 3 :(得分:0)

您可以手动调整long_frac_ratio

  

long_frac_ratio:分子宽度与分子宽度的允许比率   在我们开始分解长分数之前分母的宽度。   默认值为2.

>>> latex(e,long_frac_ratio=3)
'\\frac{2 + 3}{7}'