备注:
- 以下所列的解决方法仅仅是解决【jupyter 在导出pdf】过程中的某一个具体问题。
- 建议阅读完整篇记录后再动手。
- 持续更新
写在前边
打算将 jupyter 笔记导出为pdf,另存为pdf格式,报错如下,提示要先安装xelatex。
官网上查到转换为其他格式需要安装依赖,我以为只装一个xelatex,没想到要装一堆东西。奔着偷懒的原则,网上搜搜看,发现简单粗暴的方法:ctrl + P 直接打印页面为pdf,但是有些输出信息(字体比较小)直接看不清,效果差强人意。
jupyter输出信息 打印为pdf效果方法1[1]
步骤
- 安装依赖包:pip install -U notebook-as-pdf
- cmd修改chrome: pyppeteer-install
进入jupyter lab,打开笔记本,选择Save And Export notebook As,会出现如下命令,点击【PdfViaHTML】,即可保存为pdf。
PdfViaHTML有时会出现【500 interval erroe】只需尝试几次就好,或者直接使用命令行:jupyter-nbconvert --to PDFviaHTML example.ipynb
效果
整个notebook的内容被打印在一个页面上,又长又丑。
只有一页方法2[2]
步骤:
安装官网的说明,安装如下所有的依赖:【nbconvert】、【pandoc】、【pyppeteer】、以及【TeX】,前两个安装很简单,直接pip install命令即可,第三安装参考方法1[3],而【TeX】的安装,若是Windows系统,需安装【MikTex】总之,按照官网一步步来就行。
可以直接另存为pdf效果:
效果不错,但……中文字符没有显示
方法3
参考网上一篇博文[4]
步骤:
-
将ipynb编译为tex:jupyter nbconvert --to latex notebook.ipynb
-
编辑tex文件,在tex文件开头添加如下语句:
-
\usepackage{fontspec, xunicode, xltxtra}
\setmainfont{Microsoft YaHei}
\usepackage{ctex} -
将tex文件转为pdf:xelatex notebook.tex
效果
效果可以接受,但如果每一次导出都重复上述步骤,繁琐不简洁;另外此方法导出的pdf没有书签
最近更新:2021-12-02