python-3.x 是否可以在jupyter notebook中将`print`输出显示为LaTeX?

2eafrhcq  于 2023-03-24  发布在  Python
关注(0)|答案(3)|浏览(165)

我写了一个非常简单的脚本来计算椭圆体的面积和体积以及其他一些东西。我展示了我的输出,像这样打印出来:

print('Dims: {}x{}m\nArea: {}m^2\nVolume: {}m^3'.format(a, round(b,2), P, V))

什么,当然,给出了这个输出(与样本数据):

Dims: 13.49x2.25m
Area: 302.99m^2
Volume: 90.92m^3

正如我之前所写的,我使用的是jupyter notebook,所以我可以在markdown单元格中使用$运算符来创建LaTeX公式。
我的问题是,是否有可能使用Python代码生成输出***,以一种将其理解为LaTeX公式并以这样的方式打印的方式:

感谢所有的回复。

jei2mxaa

jei2mxaa1#

IPython.displaydisplay函数与Math对象一起使用:

from IPython.display import display, Math
display(Math(r'Dims: {}x{}m \\ Area: {}m^2 \\ Volume: {}m^3'.format(a, round(b,2), P, V)))

请注意,使用了Latex风格的\\换行符和r''字符串,它将反斜杠作为字面反斜杠,而不是将它们视为转义字符。
here

ltqd579y

ltqd579y2#

这里有另一个解决方案,让你更容易地包括文本和数学:使用Markdown和r(这样反斜杠就不会变成转义字符)以及f字符串来插入值。

from IPython.display import display, Markdown

a = 13.49
b = 2.2544223
P = 302.99
V = 90.02

display(Markdown(
   rf"""
Dims: ${a}m \times{b:5.2}m$

Area: ${P}m^2$

Volume: ${V}m^3$
"""))
oxf4rvwz

oxf4rvwz3#

(don没有足够的声誉来评论JMann回答下面的讨论)
要转义格式字符串中的LaTeX花括号,可以将花括号加倍。

rf"NEP $\Nu_{{photon}}$: {calc_nep(T):.3f} $\frac{{W}}{{ \sqrt{{Hz}} }}$."

相关问题