我正在使用pylatex和python数量软件包来创建格式化的pdf,并且希望能够编写如下内容:
我的自定义文字和数学公式:F = 1.982×10 ^ 20 N
我可以使用pylatex的doc.append()添加文本,也可以使用它添加'quantities'值,但是我不知道如何在同一个字符串中同时包含这两个值。即能够执行以下操作:
doc.append("My custom text and the math: {}".format(math))
doc.append似乎包含一个noescape命令,导致输出为:
My custom text and the math: Math([’F=’, Quantity(array(1.98201661e+20) * N)])
代替:
My custom text and the math: F = 1.982 × 10^20 N
这是pylatex数量示例的示例代码,后跟一行我自己的代码。
G = pq.constants.Newtonian_constant_of_gravitation
moon_earth_distance = 384400 * pq.km
moon_mass = 7.34767309e22 * pq.kg
earth_mass = 5.972e24 * pq.kg
moon_earth_force = G * moon_mass * earth_mass / moon_earth_distance**2
q1 = Quantity(moon_earth_force.rescale(pq.newton),
options={'round-precision': 4, 'round-mode': 'figures'})
math = Math(data=['F=', q1])
doc.append("My custom text and the math: {}".format(math))
我发现我可以通过更改为以下内容来手动进行操作:
math = Math(data=['F=', q1], inline=True)
然后执行:
doc.append("Test text")
doc.append(math)
doc.append("and moretext")
但是我想要一些不那么麻烦的东西,让我像这样写它:
doc.append("My custom text and the math: {}".format(math))