jupyter notebook代码导出_jupyter notebook导出pdf并支持中文
发布日期:2021-06-24 12:49:47 浏览次数:2 分类:技术文章

本文共 1467 字,大约阅读时间需要 4 分钟。

Jupyter Notebook是很好的数据科学创作环境,反正我做数据分析的项目或小练习的时候,基本都是在用jupyter notebook(原先是叫ipython notebook,所以现在文件后缀还是.ipynb),以前不怎么用到导出pdf功能,然后要用的时候就遇到很多坑了。jupyter提供导出的格式有.py、.html、.md、.pdf等。

jupyter notebook支持的导出格式

从效果来看,网页中notebook的渲染是最好看的,导出的html对代码和超链接失真严重。在网页上点Download as -> PDF via LaTex的时候先是说缺少Pandoc库,于是pip install pandoc,之后不再说缺少这个库了,而是

nbconvert failed: pdflatex not found on PATH 或者 nbconvert failed: PDF creating failed, captured latex output。查了一些资料后改用命令行,要避免'xelatex' 不是内部或外部命令,也不是可运行的程序或批处理文件,需要先安装MiKTeX,在其官网下载后,Windows版一路next安装就行,安装包有190MB,安装过程还是耗费些时间的,下载安装完成之后的步骤是:

1, ipynb文件编译为tex

在命令行中定位到要转换的jupyter文件的路径下,输入

jupyter nbconvert --to latex yourNotebookName.ipynb

编译ipynb文件为LaTeX文件

在文件目录下就可以看到一个叫yourNotebookName.tex的LaTeX文件了。

2, 手动编辑latex文件

为了能支持输出中文,需要改一下tex文件,在编辑器(我用的是Notepad++)打开刚才生成的LaTeX文件,

在\documentclass{article}(没有这一句就在\documentclass[11pt]{ctexart} 的后面插入下面的语句)后面插入

\usepackage{fontspec, xunicode, xltxtra}

\setmainfont{Microsoft YaHei}

修改latex文件

3, 转latex为pdf

随后在命令行下输入:(我演示文件用的是GeoCluster.tex)

xelatex yourNotebookName.tex

命令行转latex为pdf

之前没有运行过xelatex,首次运行会安装一些依赖文件,会慢一些,最后运行完毕:

运行完xelatex命令

可以在文件夹下看到输出的文件:

最后文件夹下的结果

.ipynb 是我们的jupyter文件

.tex 是由jupyter notebook文件生成的

.pdf 是我们最后的目标文件由.tex文件生成

.log、.out、.aux是LaTex生成pdf的一些输出和日志

总结一下,从jupyter notebook生成pdf文件需要的依赖项还是比较多的,Windows下安装MiKTeX才能用xelatex命令。生成步骤是先把ipynb文件编译为LaTex,然后为了支持中文修改一下lex文件,最后转换为pdf文件。

最后效果如下,虽然还是比不上网页端.ipynb的直接渲染效果,但比起导出的html等格式,更好地作为展示格式。

生成pdf的效果

欢迎关注本人公众号,有更多有趣内容和资料:

lyns-sailing.png

转载地址:https://blog.csdn.net/weixin_32825467/article/details/112881926 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python滤波器处理数据的优点_Python气象数据处理与绘图(16):去趋势与滤波
下一篇:python 快速排序 非递归_非递归全排列 python实现

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月08日 14时07分02秒