在 Jupyter Notebook 演示文稿中隐藏代码

use*_*463 5 python jupyter-notebook

我有一个 jupyter 笔记本,它是 markdown 和代码的混合体。最后我想将其呈现为 pdf 报告并隐藏代码。我仍然想看到代码的输出、图表和表格,我只是不想在最终报告中看到代码。我发现下面的帖子包含以下代码,如果将其添加到笔记本中,则会创建一个切换按钮,可用于隐藏或显示输入代码。问题是我的报告顶部有一个切换按钮。有谁知道如何做到这一点?

邮政:

http://chris-said.io/2016/02/13/how-to-make-polish-jupyter-presentations-with-optional-code-visibility/

代码:

<script>
  function code_toggle() {
    if (code_shown){
      $('div.input').hide('500');
      $('#toggleButton').val('Show Code')
    } else {
      $('div.input').show('500');
      $('#toggleButton').val('Hide Code')
    }
    code_shown = !code_shown
  }

  $( document ).ready(function(){
    code_shown=false;
    $('div.input').hide()
  });
</script>
<form action="javascript:code_toggle()"><input type="submit" id="toggleButton" value="Show Code"></form>
Run Code Online (Sandbox Code Playgroud)

Lou*_*ies 4

您可以通过创建自定义 nbconvert 模板轻松实现您想要的目标。这意味着您的实时笔记本仍然可以显示输入,但当您转换为 pdf 时,它会隐藏输入。

创建一个扩展标准 Latex 模板的模板文件article.tplx(Latex 模板也用于 pdf 转换)

自定义.tplx:

% Inherit from the article.tplx
((* extends 'article.tplx' *))

% remove inputs
((* block input_group *))
((* endblock input_group *))
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令转换您的笔记本

jupyter nbconvert --template=custom.tplx --to=pdf your_notebook.ipynb

以下是有关使用自定义模板的文档:http://nbconvert.readthedocs.io/en/latest/customizing.html#Custom-Templates