IPython / Jupyter下载为PDF样式

时间:2015-12-06 17:05:13

标签: pdf latex ipython jupyter jupyter-notebook

想象一下,在Jupyter编辑器中编辑一个典型的IPython(4.x)笔记本, notebook.ipynb 。在浏览器中预览时,代码,图形和降价将完全按照您的喜好呈现。

然后你“通过LaTeX下载PDF”并得到一些略有不同的东西:

  1. 已添加居中的标题/日期标题。
  2. 字体现在是serif而不是sans serif。
  3. 章节标题已编号。
  4. 我想将默认输出更改为“你所看到的就是你得到的”。特别是:我不想要标题标题;我不想在我的节标题上编号;我想要无衬线字体(代码块看起来更好,没有恕我直言)。如何使用LaTeX自定义 template.tplx 文件和/或 jupyter_nbconvert_config.py 配置执行此操作?

    我不介意使用jupyter nbconvert命令,但我的第一选择是浏览器中的一键式解决方案。

    谢谢!

2 个答案:

答案 0 :(得分:2)

您可以从命令行(在同一目录中)在笔记本文件上运行以下命令:

ipython nbconvert --to latex notebook.ipynb

这将生成一个tex文件,然后您可以使用乳胶编辑器(如Texmaker)打开该文件。在那里,您可以编辑乳胶代码以符合您想要的任何样式(即更改字体,更改边距,更改编号等)。最后,将tex转换为pdf(大多数乳胶编辑器都有此工具)。

当然,这不是一个自动化的解决方案,但它允许进行详细的更改和自定义,因此您的最终pdf将完全按照您的要求出现。

答案 1 :(得分:1)

您正在寻找的是使用不同的乳胶模板。 有关更多详细信息,请参阅此帖子。

Changing style of PDF-Latex output through IPython Notebook conversion

基本上,您需要在/nbconvert/templates/latex目录中编辑tplx文件。

我还在学习乳胶,但我确实设法将我的文档的默认字体更改为San-Serif,方法是将\renewcommand{\familydefault}{\sfdefault}添加到我的article.tplx文件中。

像这样:

((* block docclass *))
\renewcommand{\familydefault}{\sfdefault}
\documentclass{article}
((* endblock docclass *))
相关问题