无需代码即可将笔记本导出为 pdf

新手上路,请多包涵

我有一个很大的笔记本,上面有很多数字和文字。我想将其转换为 html 文件。但是,我不想导出代码。我正在使用以下命令

ipython nbconvert --to html notebook.ipynb

但是这个选项也会导出代码。有没有办法在没有代码的情况下将笔记本转换为 html?

原文由 aloha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 475
2 个回答

我发现 这篇 文章很有趣,它解释了如何删除输入列:

您必须在与要转换的笔记本相同的目录中创建一个名为“hidecode.tplx”的模板文件,并在其中添加这些行:

     ((*- extends 'article.tplx' -*))

((* block input_group *))
    ((*- if cell.metadata.get('nbconvert', {}).get('show_code', False) -*))
        ((( super() )))
    ((*- endif -*))
((* endblock input_group *))

运行此命令后,它将使用 pdfLatex 通过 latex 将笔记本转换为 pdf 格式:

 jupyter nbconvert --to pdf --template hidecode Example.ipynb

或者如果你想编辑你可以将它转换为 .tex 文档并使用 pdfLatex 将它放在 pdf 中:

 jupyter nbconvert --to latex --template hidecode Example.ipynb

编辑 2018 年 9 月:

ipython nbconvert 已弃用。它将被替换为 jupyter nbconvert :因此我们将命令 ipython 替换为 jupyter

2021 年 2 月编辑:( 这是我在这里的最佳答案,所以让我来处理)

在 @Mrule 评论之后添加 –no-input 标志将使其在没有模板的情况下工作……

 jupyter nbconvert --to latex --no-input Example.ipynb

PS:如果你有问题说:

找不到与 tcolorbox.sty 相关的 LaTeX 错误

请参考 本指南 更新您的 tex 安装和 这个问题

原文由 Espoir Murhabazi 发布,翻译遵循 CC BY-SA 4.0 许可协议

我在 SO 中寻找同样的问题,最终以一种非常直接的方式出现:

假设使用 Firefox(57) + Win7

  1. 运行 Jupyter notebook 并在浏览器中下载 notebook:File->Download as->HTML,您将获得一个包含代码和输出的 html 页面。
  2. 使用浏览器打开导出的 HTML 并使用密钥激活浏览器控制台 F12
  3. 在控制台中运行以下命令:
    document.querySelectorAll("div.input").forEach(function(a){a.remove()})

  1. 该代码删除了所有输入 div DOM。然后 right mouse button 并选择“页面另存为”并保存“完整页面”(不是单页)。

  2. 您将在 Windows 中获得一个带有关联文件夹的页面。通过压缩 html 页面然后提取以取消绑定关联来使用技巧。文件夹没用。

  3. 现在它是一个没有代码的单个 html 页面。您可以重新分发它或将其打印为 PDF。

如果您使用的不是 Firefox 或 Windows,请调整以上 3-6 个步骤。

原文由 Boying 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题