JupyterLab 导出中文 PDF 方案
JupyterLab 本身是支持导出 PDF 的,只需要安装 LaTeX 和 Pandoc 环境,JupyterLab 的 nbconvert 组件就可以将 notebook 导出为 PDF 格式。其基本原理是通过 Pandoc 将 notebook 转换为 LaTeX 格式,再经过 LaTeX 编译得到最终的 PDF 文件。然而问题是,JupyterLab 默认的 LaTeX 模板不支持中文,导致无法正常导出中文 PDF 文档。
解决方法也很简单,只需要安装 nb-tmpl-ctex
包:
python -m pip install nb-tmpl-ctex
即可使用如下命令转换成带有中文的 PDF:
jupyter nbconvert example.ipynb --to pdf --template ctex
如果需要在 Jupyter 网页导出时自动使用 CTeX 模板,需要在 ~/.jupyter/jupyter_nbconvert_config.py
将模板设置为默认:
c.LatexExporter.template_name = "ctex"
nb-tmpl-ctex
的基本原理是使用了自定义的模板,在模板中导入了 ctex
宏包。如果有更多自定义的需求,可以仿照 nb-tmpl-ctex
包进行更深入的自定义设置。