【问题标题】:IPython/ Jupyter download as PDF stylingIPython/ Jupyter 下载为 PDF 样式
【发布时间】:2015-12-06 17:05:12
【问题描述】:

想象一下在 Jupyter 编辑器中编辑一个典型的 IPython (4.x) 笔记本 notebook.ipynb。在浏览器中预览时,代码、图表和 Markdown 会以您喜欢的方式呈现。

但是你“通过 LaTeX 下载为 PDF”并得到一些稍微不同的东西:

  1. 已添加居中的标题/日期标题。
  2. 字体现在是衬线而不是无衬线。
  3. 章节标题已编号。

我想将默认输出更改为“所见即所得”。特别是:我不想要标题;我不想在我的部分标题上编号;我想要无衬线字体(恕我直言,代码块看起来更好)。如何使用 LaTeX 自定义 template.tplx 文件和/或 jupyter_nbconvert_config.py 配置来做到这一点?

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

谢谢!

【问题讨论】:

标签: pdf latex ipython jupyter jupyter-notebook


【解决方案1】:

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

ipython nbconvert --to latex notebook.ipynb

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

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

【讨论】:

  • 我在 macOS 上做过这个。我将它转换为 .tex 并且我的系统正在使用 MacTex/LaTeXIT。我在 LaTeXIT 中打开了 tex 文件,我看到了很多东西,但与字体无关。首先,所有内容几乎都无法阅读。我可以看到我想要更改字体的行的一部分,但是如何更改字体?
【解决方案2】:

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

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 *))

【讨论】:

  • 这行得通。但它只会改变降价的样式。如何为代码单元更改它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-23
  • 2016-05-12
  • 2017-03-01
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
相关资源
最近更新 更多