是否可以在jupyter笔记本中将`print`输出显示为LaTeX?

问题描述 投票:0回答:4

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

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 笔记本,因此我可以在

markdown
单元格中使用 $ 运算符来创建 LaTeX 公式。

我的问题是,是否可以使用Python代码生成输出,使其被理解为LaTeX公式并以这样的方式打印:

感谢大家的回复。

python python-3.x jupyter-notebook latex ipython
4个回答
45
投票

IPython.display

display
 函数与 
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''
 字符串的使用,它将把反斜杠视为文字反斜杠,而不将它们视为转义字符。

找到解决方案

这里


16
投票
这是另一个解决方案,可以让您更轻松地包含文本和数学: 将 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$ """))
    

2
投票
(没有足够的声誉来评论 JMann 答案下面的讨论)

要转义格式字符串中的 LaTeX 大括号,您可以将大括号加倍。例如

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

0
投票
这可以使用 jupyprint 包来完成:

https://pypi.org/project/jupyprint/

您可以使用以下代码:

import jupyprint as jp jp.jupyprint("$\\text{Dims}: 13.49\\times2.25m$") jp.jupyprint("$\\text{Area}: 302.99m^2$") jp.jupyprint("$\\text{Volume}: 90.92m^3$")

Here is how it looks.

© www.soinside.com 2019 - 2024. All rights reserved.