Jupyter Notebook是很好的数据科学创作环境,是非常方便的Python代码编辑器。jupyter提供导出的格式有.py、.html、.md、.pdf等。目前用其导出包含中文的pdf会遇到很多坑,网上也有一些解决方案,大致分为两种方式,一是安装 pandoc并不断根据报错提示安装sty文件,不是很有效,另一种是安装MiKTeX并改LaTeX文件。本文主要讲第二种方式。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,安装过程还是耗费些时间的。安装过程中其实就在自动地安装一些sty模块了,简化了自己安装的步骤。安装MiKTeX的部分过程

下载安装完成之后的步骤是:

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}

注意的是,目前(2019年8月)下载的MiKTeX 通过上面语句编译生成的tex会缺少一句\usepackage{ctex} ,所以如果在\setmainfont{Microsoft YaHei}缺了对ctex的引用的话,就需要加上 \usepackage{ctex} 。修改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的效果

有可能跑xelatex yourNotebookName.tex会遇到如下问题:LaTeX里字体形状不符合要求,会改为默认字体,于是中文全部消失了,这种情况需要加上ctex的支持。运行提示LaTeX里字体形状不符合要求增加对ctex的支持

之后就正常导出包含中文的pdf文件了。

另外从ipynb文件变成pdf文件还可以采用的方式有:打开ipynb文件后在浏览器直接选择打印;

导出markdown在Typora软件中选择导出为PDF;

这三种方式生成的PDF效果对比如下图:

可看出,文中这种导出LaTeX再变成PDF是很实用的。

注:2,查了一下ctex的资料:CTeX 中文套装在 MiKTeX 的基础上增加了对中文的完整支持。

jupyter notebook代码导出_Jupyter Notebook导出包含中文的pdf_亲测有效相关推荐

  1. jupyter 改注释字体_Jupyter Notebook主题字体设置及自动代码补全

    安装# Jupyter Notebook 用久了就离不开了,然而自带的主题真的不忍直视.为了视力着想,为了自己看起来舒服,于是折腾了一番..在 github 上发现了一个 jupyter-themes ...

  2. jupyter notebook python环境_jupyter Notebook环境搭建

    1.什么是jupyter notebook jupyter notebook是一种 Web 应用,能让用户将说明文本.数学方程.代码和可视化内容全部组合到一个易于共享的文档中.它可以直接在代码旁写出叙 ...

  3. jupyter notebook python插件_Jupyter notebook一款非常好用的python IDE

    Jupyter是什么 随着人工智能的兴起,python已经逐渐成为一种主流的程序语言.安装了python之后,有许多的IDE可供选择,我之前使用过spyder,pycharm,sublime,等等,感 ...

  4. python notebook怎么运行_jupyter notebook简单使用教程

    1.jupyter notebook简介 jupyter notebook是一个在线编辑器,可以在网页上编辑程序,在编辑的过程中,每次编辑一行代码就可以运行一行代码,运行的结果也可以显示在代码的下方, ...

  5. 自定义notebook扩展插件_Jupyter notebook安装扩展插件

    css伪类的展现 常见的伪类选择器 :link :hover :active :visited 如果为以上几个伪类赋予相同css属性名,不同的css属性值 Nginx下安装PIP监控软件 wget h ...

  6. doc和docx转换html,word转html (包含doc和docx),亲测有用

    org.apache.poi poi 3.15 org.apache.poi ooxml-schemas 1.4 org.apache.poi poi-ooxml 3.15 org.apache.po ...

  7. python更改保存路径,Jupyter Notebook更改保存文件的默认路径(方法汇总,亲测有效)...

    Jupyter Notebook更改保存文件的默认路径(方法汇总,亲测有效) Jupyter Notebook更改保存文件的默认路径(方法汇总,亲测有效) 一.找到默认的文件保存地址 1.先创建一个文 ...

  8. python jupyter notebook怎么调字体大小_jupyter notebook中显示字体如何调整?

    如何调整Jupyter Notebook样式? 1. 安装网页插件Stylus 该方法与许大森的回答相同,即安装Chrome插件Stylish(此插件已经下架,请使用同作者的替代插件Stylus),然 ...

  9. Mac上Jupyter notebook代码补全

    1.安装jupyter扩展插件Nbextensions库 # python -m pip install jupyter_contrib_nbextensions # jupyter contrib ...

最新文章

  1. ios 如何在cell中去掉_IOS之表视图单元格删除、移动及插入
  2. 基于OpenCV实战:提取中心线
  3. 基于队列的生产消费设计java_生产者-消费者设计模式
  4. Flex 学习笔记 动态设置itemRenderer
  5. python随机抽号_随手小代码——Python 从集合中随机抽取元素
  6. hive Illegal Operation state transition from CLOSED to ERROR的处理
  7. 摇一摇 声音 html5,HTML5摇一摇以及音频播放问题优化总结
  8. Java Web实现信息管理
  9. JEECG 商业版本最近新增什么功能啦?
  10. 查看tar文件的顶层目录
  11. ipqc的工作流程图_IPQC流程图
  12. JavaScript 的等式对照表
  13. 16.卷2(进程间通信)---Sun RPC
  14. 【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
  15. php读取excel 报错_php读取excel文件
  16. 怎么查看和下载高清谷歌卫星地图
  17. ffmpeg历史版本下载
  18. 客户端安装SP3补丁包失败
  19. Mac大小写切换需长按caps lock键解决办法
  20. 2020apple教育优惠购买策略

热门文章

  1. python 系统学习笔记(十二)---os os.path os.walk
  2. 如何更好阅读源代码 .
  3. 2019南昌网络赛  I. Yukino With Subinterval 树状数组套线段树
  4. PHP全栈学习笔记27
  5. CSS3实现一束光划过图片、和文字特效
  6. 【一些简单的jQuery选择器】
  7. Javascript启动LINUX的x86模拟器
  8. 搜索连接字符串存储过程【原创】
  9. 关于java中getClass()和getSuperClass()的讲解
  10. idea输入法候选区不跟随光标