如何将ipynb文件转换为pdf文件
事情起因:
基本我所有的code以及代码注释,以及出图说明都统一放在jupyter notebook中,
代码注释,或者文档说明,实际上就是markdown所做的那一切,都是在markdown中写的;
代码的话,其实就是切换解释器,内核,基本上都在jupyter中;
所以我基本上图文相关的一切,无论是工作还是学习,都是以ipynb格式数据保存的。
1,jupyter notebook自带的export格式转换功能:
以上面这篇ipynb格式的jupyter notebook为例,
基本上会遇到这个报错,但是实际上我们安装了xelatex(TeX),当然安装Tex可以参考我之前的博客教程来:用vscode写latex-1_本地 latex-CSDN博客
这一块暂时搁置!!!
①Tex我是按照官网Quick install - TeX Live - TeX Users Group安装的,但是安装了之后还是有问题,像上面那样报错,但是实际上Tex已经添加到环境变量中了
②可以按照我上面那篇我之前的博客来处理
③很多python库pip安装的时候看似安装成功,对应的requirements看似already satisfied,但是实际上很多库都是安装失败了,一般都需要再次安装,强制安装,即使用
pip install soupsieve --force-reinstall
当然也有可能是因为其中出现了一些无效字符也就是invalid character
所以基本上是转pdf的时候会失败;
如果是转html的话:格式上是没问题的
当然实际上转换过程实际上就是执行了一个jupyter nbconvert命令
2,使用jupyter nbconvert转换命令
(1)转换为html格式:
jupyter nbconvert /data1/project/ZFP_block/PTM/test1.ipynb --to html
其实本质上就是jupyter自带的export,而且转换也没有问题
(2)转换为pdf格式:
jupyter nbconvert /data1/project/ZFP_block/PTM/test1.ipynb --to pdf
虽然转换过程是没有问题的,但是转换之后的文件是不成功的,也就是有问题的,图片文字之类的都会出现顺序问题、内容缺失问题,
code chunk部分的还好,但是markdown部分的文字或者是图片就很容易丢失。
更遭的就是和1中的export一样的报错:
——》
所以现在的方案:
就是jupyter的export或者是jupyter的nbconvert命令,首先转换为html格式,再从html转换为pdf格式;
后者转换有很多方法,建议找到一种损失比最小的方法,如果仅仅只是网页ctrl+p打印的话,格式排版上会有很多问题
3,或者走latex那一套