python - 在 sympy Latex 中将系数渲染为分数

标签 python latex sympy

我想渲染分数乘以积分。我尝试过:

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}'

看起来很糟糕:

bad_latex

是否可以像这样将分数保留为系数?

good_latex

可以使用 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/

相关文章:

python - 具有 "depends_on"的属性特征

python - 带有字符串的 Pandas Dataframe 上的逻辑

latex - 获取小节以在 LaTeX 的目录中列出

python - 符号计算中基本代数假设的双向识别

sympy - 如何为多个变量声明具有多个限制的 sympy Piecewise

python - 可以以编程方式创建电子书吗?

python - 当元组列表中相同项目的值是字符串时,对它们的值求和

emacs - 使用 Emacs 编辑 LaTeX - 搜索未使用的\ref

python - 我可以从 python 中获取以物理单位(厘米、像素、点)打印的字符串长度吗?

python - 仅将 sympy 矩阵的上三角值从 numpy.triu() 复制到数组中?