我在显示积分的负限值时遇到问题。
我的代码是 Python 语言的:
f"Use substitution to evaluate the definite integral $_\\displaystyle\\int_{stra}^{strb} {latex(f)}\\,dx$_."
显示如下:
附加信息:
latex(f)
返回sympy.latex(f)
f = c*x*((d*x**2)+e)**g
stra
是变量的字符串版本,它是和a
之间的整数。-3
3
strb
是变量的字符串版本,它是和b
之间的整数。-5
5
- 我将变量制作成字符串来查看是否会产生差异,因为当变量是整数时它会执行相同的操作。
答案1
答案2
自 Python 3.6 起f 字符串f
(以或为前缀的字符串文字F
)通过包含替换字段(由花括号分隔的表达式)提供了一种在字符串文字中嵌入表达式的方法{}
。从文档:
字符串中花括号外面的部分将按字面意思处理,但双花括号
{{
或}}
将被相应的单花括号替换。
因此,如果您想将表达式插入到包含文字花括号字符的字符串文字中,那么您将需要三组括号,正如@projetmbc 在评论中指出的那样。
无需转换a
为b
字符串。
平均能量损失
积分.py
import sympy
x = sympy.symbols('x')
a, b, c, d, e, g = -6, -3, 4, 17, 9, 3
f = c*x*((d*x**2) + e)**g
src = fr"""\documentclass{{standalone}}
\begin{{document}}
Use substitution to evaluate the definite integral
$\displaystyle\int_{{{a}}}^{{{b}}} {sympy.latex(f)}\,dx$.
\end{{document}}"""
with open('integral.tex', mode='w') as fobj:
print(src, file=fobj)
当运行上述 Python 脚本时,它会生成以下文件:
积分.tex
\documentclass{standalone}
\begin{document}
Use substitution to evaluate the definite integral
$\displaystyle\int_{-6}^{-3} 4 x \left(17 x^{2} + 9\right)^{3}\,dx$.
\end{document}
其结果为: