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