【问题标题】:Is it possible to show `print` output as LaTeX in jupyter notebook?是否可以在 jupyter 笔记本中将“打印”输出显示为 LaTeX?
【发布时间】:2018-07-03 12:21:34
【问题描述】:

我正在编写一个非常简单的脚本来计算椭圆体的面积和体积以及其他一些东西。我正在展示我的输出,如下所示:

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 公式并以如下方式打印:

感谢所有回复。

【问题讨论】:

标签: python python-3.x jupyter-notebook latex ipython


【解决方案1】:

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

【讨论】:

  • 注意卷曲的乳胶括号和 f 弦!例如rf'Dims: ${13.49}m \times{2.2544:5.2}\sqrt{Hz}$' 必须是 rf'Dims: ${13.49}m \times{2.2544:5.2}'r'\sqrt{Hz}$'。 :)
  • f 字符串中似乎根本不允许使用反斜杠
【解决方案2】:

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

【讨论】:

  • 确实有效,感谢您的回答。没想到竟然这么直观,这么简单。
猜你喜欢
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 1970-01-01
  • 2017-03-21
  • 2022-07-26
  • 2015-12-10
  • 1970-01-01
  • 2014-10-19
相关资源
最近更新 更多