如何在IPython Notebook的单元格输出的左上角删除红色的“out[N]”文本?

8

我正在使用nbconvert生成尽可能接近精美期刊文章的内容。

我已经成功地使用自定义的nbconvert模板隐藏了输入代码。现在文档看起来非常好。

但是我不知道如何抑制输出单元格左上角明亮的红色“out[x]”语句。是否有任何设置或技巧能够去除这个呢?

谢谢,

John

3个回答

5

%%HTML <style> div.prompt {display:none} </style>

这将隐藏输入和输出提示

请注意,这仅在您的浏览器中生效,笔记本本身并没有被修改,而且nbconvert仍然可以像以前一样工作。

如果您希望在nbconvert后的代码中也有这个效果,只需将<style>div.prompt {display:none}</style>放在一个原始NBConvert单元格中即可。


这在jupyter lab中不起作用,有什么想法如何在jupyter lab中隐藏它? - nk abram

2
根据您使用的IPython版本,有更多或更少的hackish方法来删除Out[ ]提示符。
IPython 1.x
假设您使用latex_article基础和一个自定义模板(sphinx_template.tplx),其中已删除输入块,则可能如下所示。
((* extends 'latex_article.tplx' *))
((* block input *))
((* endblock input *))
((* block output_group *))
   % Add remainer of the document contents below.
   ((* for output in cell.outputs *))
        ((( render_output(output) )))
   ((* endfor *))
((* endblock *))

要最终去除提示,您需要使用Sphinx样式的simple模式,因此像这样使用它:ipython nbconvert --to latex --SphinxTransformer.output_style=simple --template=sphinx_template.tplx test.ipynb IPython Master 在IPython主分支中添加了其他单元格样式,请参见PR4112。如何使用这些样式在example1examples2中有所展示。
总之,这里的模板(bw_python.tplx)可以看起来是这样的(带有输入)。
((= This line selects the cell style. =))
((* set cell_style = 'style_bw_python.tplx' *))

((= This line inherits from the built in template that you want to use. =))
((* extends 'latex_article.tplx' *))

这是不带额外选项使用的,因此命令为:ipython nbconvert --to=latex --template=bw_python.tplx test.ipynb

太好了,谢谢。我有ipython主程序,并使用nbconvert_examples / citations存储库中引文模板的修改版本,添加了一些行以删除图形的输入代码。因此,只需要像上面那样添加((* set cell_style = 'style_bw_python.tplx' *))即可。直接从笔记本到论文的工作流程现在几乎已经就位... - J Grif
如果我的答案解决了您的问题,您可以接受它来结束这个问题。 - Jakob

0
您可以使用IPython.display.display来显示值。这将防止单元格输出。此外,使用%%capture魔术命令,可以防止任何剩余输出(警告、错误等)被呈现。
对于导出器,您可以传递exclude_input=True来隐藏所有输入单元格。
一个例子:
%%capture --no-display

import logging
from IPython.display import display

logging.warning("this warning is captured and not displayed")
display(1+1)

将显示2没有任何Out[1]或警告。

然后,您可以使用以下命令将笔记本导出为不带任何输入单元格的格式:

nbconvert.export(exporter, 'notebook.ipynb', exclude_input=True)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接