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

ful*_*hex 69 python ipython jupyter jupyter-notebook

我想在Jupyter笔记本上写一个类的报告.我想算一些东西,生成一些结果并将它们包含在降价中.我可以将单元格的输出设置为标记为降价吗?
我想要这样的命令:print '$\phi$'生成phi符号,就像降价一样.
换句话说,我想在markdown中创建一个模板,并插入由笔记本中编写的程序生成的值.重新计算笔记本应该生成新结果并插入新值的新降价.这是可能的,或者我需要自己更换值吗?

Tho*_*s K 94

您想要的功能在IPython.display模块中.

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'))
Run Code Online (Sandbox Code Playgroud)

  • 我得到的是对象而不是打印:`<IPython.core.display.Markdown object>` (3认同)
  • 非常感谢,我想这应该对我有很大帮助。请问,有没有办法用代码隐藏单元格?我的意思是,当我“编译”降价单元时,“代码”消失,只有编译后的降价输出可见。我希望能够重复此操作,但使用“display_markdown”函数。 (2认同)
  • 不幸的是,您的代码对我不起作用,它不会产生任何输出。 (2认同)
  • 现在确实有效了,谢谢。是否有隐藏单元格的命令,以便我可以生成此降价,并且其行为就像正常的降价单元一样? (2认同)
  • 之前评论中的链接不再起作用,现在可以在以下网址找到扩展名:https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/master/src/jupyter_contrib_nbextensions/nbextensions/hide_input (2认同)

Hon*_*ear 26

你基本上要求两件事:

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

    我想算一些东西,生成一些结果并将它们包含在降价中.[...]我想在markdown中一个模板,并在笔记本中插入程序生成的

  2. 代码单元输出降价

    我想要这样的命令:print '$\phi$'生成phi符号,就像降价一样.

由于2.已经被另一个答案所涵盖(基本上:使用Latex()Markdown()从中导入IPython.display),我将重点关注第一个答案:


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

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

安装说明可以在nbextensions的github页面上找到.确保使用jupyter命令扩展配置程序启用python markdown扩展.

通过扩展,可以通过访问变量{{var-name}}.这种降价模板的示例可能如下所示:

Markdown单元格中的Python代码

变量a是{{a}}

你也可以在这里嵌入LateX:{{b}}!

甚至可以嵌入图像:{{i}}

当然,所有的变量或图像a,b,i应该在前面的代码中设置.当然,您也可以在$\phi$没有print命令的情况下使用Markdown-Latex风格的表达式(如).此图像来自扩展的维基,展示了该功能.

来自wiki的例子


ipythonjupyter的问题跟踪器中讨论了有关集成到ipython/jupyter中的此功能的更多信息.


fee*_*per 11

作为托马斯答案的补充。渲染 Markdown 标记的另一种更简单的方法是使用模块display_markdown中的函数IPython.display

from IPython.display import display_markdown

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

The table below:

| id |value|
|:---|----:|
| a  |  1  |
| b  |  2  |
''', raw=True)
Run Code Online (Sandbox Code Playgroud)

输出如下:

在此输入图像描述

使用示例可以在Google Colab Notebook上找到