使用相同的 Markdown 渲染将 Jupyter Notebook 导出为 PDF

Export Jupyter Notebook to PDF With Same Markdown Rendering

问题
我的笔记本完全是 Markdown,我想将它导出为具有与 JupyterLab 显示相同的 Markdown 渲染的 PDF。但是,常规的 PDF 导出会将其转换为 LaTex,然后再转换为 PDF,它看起来完全不像我想要的格式。我宁愿每次要将笔记本导出为 PDF 时都不必手动编辑 Tex 文件,尤其是大文件非常耗时。

导出到 WebPDF 看起来更接近我想要的结果,但是,页面大小到处都是,我希望它是 Letter 大小(8.5 x 11 英寸)。

问题
如何控制 WebPDF 导出的页面大小?

加分题
是否有可能让 PDF 看起来像它在 JupyterLab Markdown 渲染上的样子,包括深色主题? (将页面打印成 PDF 效果很差,所有的文本都变成了图片)

好吧,我对这个问题有点困惑,但我会尽力回答这个问题。

首先,我想向您介绍pandoc。 Pandoc 是一个文档转换系统。这将让您控制如何将 markdown 转换为 pdf 或 pandoc 转换为的任何其他所需格式。对于额外的格式控制,pandoc 支持模板。这将允许您准确自定义在导出时如何处理该文档。

现在来解决您的页面大小问题。我认为您不能仅通过降价来控制它,但是如果您使用 pandoc 则可以。这可以通过在 markdown 文件中添加一些 LaTeX 代码来完成。您可以找到有关如何使用 LaTeX 控制页面大小的信息 here. Once you add this LaTeX code, you can convert to pdf using pandoc and a pandoc template。 Pandoc 提供了许多可以正常工作的默认模板。以下是用于执行此转换的命令示例:

pandoc /filepath/doc_name.md -o doc_name.pdf --template /file_path/pandoc-templates/default.latex

奖金问题: 您可以制作自定义 pandoc 模板来复制在 JupyterLab Markdown 中完成的任何格式设置和渲染。我不太熟悉 JuypterLabs,但是制作 pandoc 模板还不错,而且 pandoc 提供了很好的可用文档 here.