打印iPython笔记本的最佳方式

时间:2017-05-17 13:55:55

标签: printing jupyter-notebook ipython-notebook pdflatex

打印iPython笔记本(.ipynb)的最佳方法是什么,该笔记本包含大量数字/图表,照片和带有水平滚动条的代码?我已经尝试将它们转换为HTML,幻灯片,PDF等,但都没有产生合适的输出。例如,幻灯片具有超大字体/缩放,使得一个页面中不超过5行文本。我尝试过GitPrint,但这只适用于markdown(md)文件。我尝试将ipynb转换为tex并使用pdflatex转换为PDF,但是存在很多错误,我一直遇到问号提示({{1} })。当我通过它们输入时,输出不包含照片。那么这里最好的方法是什么?我不关心扩展,只是看起来很好(如?)在纸上。

3 个答案:

答案 0 :(得分:1)

您可以使用nbconvert将ipynb文件转换为HTML,问题是:如何打印HTML文件?与打印ipynb文件相比,打印HTML文件会容易得多。

命令是这样的:

jupyter nbconvert --to html filename.ipynb

答案 1 :(得分:0)

我认为我发现了一个不错的解决方案,因为我遇到了同样的问题。对于Jupyter笔记本(.pdf格式)的美观打印输出,以供学习和学习使用(作为演讲幻灯片),我建议使用Web浏览器进行打印(Chrome:Print = Ctrl + P)

结果:一种美观的文档,其中包含嵌入Jupyter笔记本中的所有代码和图片。

tl:dr 避免在Jupyter笔记本选项内进行任何转换;直接从网络浏览器中打印。

答案 2 :(得分:0)

最简单灵活的方法是使用CSS。 例如,将以下代码放入单元格中并运行。我将删除所有代码块和输出块。通过这种方式,您可以控制所需的内容。

%%html
 <style>
 div.input {
      display: none;
      padding: 0;
    }

    div.output_prompt {
      display: none;
      padding: 0;
    }

    div.text_cell_render {
      padding: 1pt;
    }

    div#notebook p,
    div#notebook,
    div#notebook li,
    p {
      font-size: 11pt;
      line-height: 135%;
      margin: 0;
    }

    .rendered_html h1,
    .rendered_html h1:first-child {
      font-size: 16pt;
      margin: 7pt 0;
    }

    .rendered_html h2,
    .rendered_html h2:first-child {
      font-size: 14pt;
      margin: 6pt 0;
    }

    .rendered_html h3,
    .rendered_html h3:first-child {
      font-size: 13pt;
      margin: 6pt 0;
    }

    div.output_subarea {
      padding: 0;
    }
 </syle>