如何以编程方式在 Jupyter 笔记本中生成降价输出?

How to programmatically generate markdown output in Jupyter notebooks?

我想在 Jupyter notebook 中为 类 写一份报告。我想计算一些东西,生成一些结果并将它们包含在降价中。我可以将单元格的输出设置为 markdown 吗?
我想要这样的命令:print '$\phi$' 来生成 phi 符号,就像在 markdown 中一样。
换句话说,我想要一个用 markdown 制作的模板,并插入笔记本中编写的程序生成的值。重新计算笔记本应该会生成新的结果和新的降价,并插入这些新值。这个软件可以吗,还是我需要自己替换值?

你想要的功能在IPython.display module.

from IPython.display import display, Markdown, Latex
display(Markdown('*some markdown* $\phi$'))
# If you particularly want to display maths, this is more direct:
display(Latex('\phi'))

您基本上是在要求两种不同的东西:

  1. Markdown 单元格输出代码结果。

    I'd like to count some stuff, generate some results and include them in markdown. [...] I'd like to have a template in markdown and insert values generated by the program in the notebook

  2. 输出markdown的代码单元格

    I'd like such command: print '$\phi$' to generate phi symbol, just like in markdown.

因为 2. 已经被 涵盖了(基本上:使用 Latex()Markdown()IPython.display 导入),我将专注于第一个:


1。带有插入变量的 Markdown 模板

使用 Jupyter 扩展 Python Markdown 实际上可以完全按照您的描述进行操作。

Installation instructions can be found on the github page of nbextensions. Make sure you'll enable the python markdown extension using a jupyter command or the extension configurator

通过扩展,可以通过 {{var-name}} 访问变量。此类降价模板的示例如下所示:

Python Code in Markdown Cells

The variable a is {{a}}

You can also embed LateX: {{b}} in here!

Even images can be embedded: {{i}}

当然所有变量或图像abi都应该在前面的代码中设置。当然,您也可以在不使用 print 命令的情况下使用 Markdown-Latex 风格的表达式(如 $\phi$)。此图片来自扩展程序的 wiki,展示了功能。


有关此功能被集成到 ipython/jupyter 的更多信息在 ipython and jupyter 的问题跟踪器中讨论。

作为对托马斯回答的补充。呈现降价标记的另一种更简单的方法是使用 IPython.display 模块中的 display_markdown 函数:

from IPython.display import display_markdown

display_markdown('''## heading
- ordered
- list

The table below:
| id |value|
|:---|----:|
| a  |  1  |
| b  |  2  |
''', raw=True)

输出如下: