我想渲染分数乘以积分。我尝试过:
from sympy import *
x, h = symbols("x h")
(2/h) * Integral(x**2, (x, 0, 1))
生成的 latex 是:
'\\frac{2 \\int\\limits_{0}^{h} x^{2}\\, dx}{h}'
看起来很糟糕:
是否可以像这样将分数保留为系数?
可以使用 sympy live 轻松重现此内容。感谢您的帮助。
最佳答案
正如 @Stelios 指出的那样,您可以使用未求值的 Mul 来使表达式按您想要的方式显示。为了避免重新输入表达式,并将 Integral 之外的所有内容都拉到前面,您可以使用以下命令:
>>> latex(Mul(*eq.as_independent(Integral, as_Add=False),evaluate=False))
\frac{2}{h} \int\limits_{0}^{1} x^{2}\, dx
as_independent
方法分隔独立于某事物的项或因子 - 在本例中为 Integral。未评估的 Mul 将它们重新组合在一起,但阻止它们重新排序。
关于python - 在 sympy Latex 中将系数渲染为分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57236487/