pylatex: количество, переданное в строку - PullRequest
0 голосов
/ 27 февраля 2019

Я использую pylatex и пакеты количеств python для создания форматированного PDF и хочу написать что-то вроде:

Мой пользовательский текст и математика: F = 1.982 × 10 ^ 20 N

Я могу использовать pylatex doc.append (), чтобы добавить текст, и я могу использовать его, чтобы добавить значение «количеств», но я не знаю, как использовать оба в одной строке.т.е. быть в состоянии сделать что-то вроде:

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))
...