使用 sympy 的 latex() 函数而不计算输入
Using sympy's latex() function without calculating the input
我想在不计算表达式的情况下从 sympy 表达式获取乳胶输出。例如,如果我执行 latex((2+3)/7) 输出将是 5/7(使用 latex),但我所追求的是它只输出 (2+3)/7 with latex。像这样:\frac{2+3}{7}
你可以尝试用关键字 evaluate=False
:
简化表达式
>>> latex(S('(2+3)/7',evaluate=False))
'\frac{1}{7} \left(2 + 3\right)'
(最好添加为另一个答案)
不要忘记模式选项:
>>> 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*}'
也许 fold_short_frac 选项就是您要找的?
>>> latex(S('(2+3)/7',evaluate=False), fold_short_frac=True)
'\left(2 + 3\right) / 7'
此外,不确定您所说的 evaluate=False 不适用于 Mul 是什么意思。或许你可以举个例子。
>>> S('2*3',evaluate=False)
2*3
>>> S('2*3/7',evaluate=False)
2*3/7
您可以手动调整long_frac_ratio
long_frac_ratio: The allowed ratio of the width of the numerator to the
width of the denominator before we start breaking off long fractions.
The default value is 2.
>>> latex(e,long_frac_ratio=3)
'\frac{2 + 3}{7}'
我想在不计算表达式的情况下从 sympy 表达式获取乳胶输出。例如,如果我执行 latex((2+3)/7) 输出将是 5/7(使用 latex),但我所追求的是它只输出 (2+3)/7 with latex。像这样:\frac{2+3}{7}
你可以尝试用关键字 evaluate=False
:
>>> latex(S('(2+3)/7',evaluate=False))
'\frac{1}{7} \left(2 + 3\right)'
(最好添加为另一个答案)
不要忘记模式选项:
>>> 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*}'
也许 fold_short_frac 选项就是您要找的?
>>> latex(S('(2+3)/7',evaluate=False), fold_short_frac=True)
'\left(2 + 3\right) / 7'
此外,不确定您所说的 evaluate=False 不适用于 Mul 是什么意思。或许你可以举个例子。
>>> S('2*3',evaluate=False)
2*3
>>> S('2*3/7',evaluate=False)
2*3/7
您可以手动调整long_frac_ratio
long_frac_ratio: The allowed ratio of the width of the numerator to the width of the denominator before we start breaking off long fractions. The default value is 2.
>>> latex(e,long_frac_ratio=3)
'\frac{2 + 3}{7}'