Jupyter Notebook

最近搞机器学习用到了Jupyter Notebook.

作为一个实时记事本,有时需要将内容导出为PDF.

但是,Jupyter Notebook自带的File -> Download as -> PDF via Latex,需要Pandoc和XeLatex支持,否则会出现错误.

以下是Windows下的操作步骤

不在意非得用PDF via Latex可以直接去看最后一种方法

安装Pandoc和XeLatex

1.安装Pandoc

Pandoc是一个可以方便地对不同格式文档进行转换的包,你可以通过在pip install pandoc很方便的获取它,或者你可以在官网下载

事实上,如果你是通过Anaconda安装的Jupyter Notebook的话,Pandoc本身已经被集成了,因此你并不需要重新安装.

2.安装MikTex

MikTex是Windows下常见的LaTex支持(当然你也可以在Mac或者Linux上安装).

MikTex官网下载安装它.

注意,为了让Jupyter Notebook能够使用MikTex,你必须将它添加到PATH里.



也就是安装目录的下的\miktex\bin\x64(当然32位版的就是\x86)

安装之后在cmd测试一下xelatex能否使用

中文支持

因为默认模板的问题,通过Download as->PDF via Latex直接导出的文档会缺失中文,可以通过以下方法解决

  • 导出为.tex再转化为PDF

    1. 在网页中选择File ->Download as -> LaTex

    2. 修改tex,增加中文支持

    在\documentclass{article}后面插入
       \usepackage{fontspec, xunicode, xltxtra}
    \setmainfont{Microsoft YaHei}
    3. 在cmd下通过`latex`命令生成PDF

这种方法可能会存在换行错误,而且需要手动调整图片.

  • 修改默认模板

    1.在Anaconda的安装目录下找到lib/python3.6/site-packages/nbconvert/templates/latex/中的article.tplx

    打开后修改为
      ((* block docclass *))
\documentclass[11pt]{article}
\usepackage{xeCJK} %引入之前安装的xecjk包
((* endblock docclass *))

用HTML导出(推荐)

通过上面两种方法,可以成功通过Latex导出PDF,但是,这样导出的文档对于Markdown等的格式支持不是很好.

此外,导出为HTML不需要其他依赖,并且对中文支持也很好.

这是网页中的Markdown效果



这是导出后的PDF

因此,为了保留原有的格式,可以先导出为HTML,再用浏览器打印为PDF.

这是导出后HTML的效果



选择打印机为Microsoft Print to PDF



注意!这里一定要将页边距设置为无,否则会出现排版错误.



打印出PDF的效果



可以看到效果还是不错的.

参考

Jupyter Notebook PDF输出的中文支持

jupyter notebook导出pdf并支持中文

Jupyter Notebook 导出PDF与Latex中文支持的更多相关文章

  1. 【原创】JavaFx程序解决Jupyter Notebook导出PDF不显示中文

    0.ATTENTION!!! JavaFx里是通过Java调用控制台执行的的jupyter和xelatex指令, 这些个指令需要在本地安装Jupyter和MikTeX之后才能正常在电脑上运行 1.[问 ...

  2. Jupyter Notebook PDF输出的中文支持

    Jupyter Notebook是什么 Jupyter Notebook是ipython Notebook 的升级.Jupyter能够将实时代码,公式,可视化图表以Cell的方式组织在一起,形成一个对 ...

  3. php导出pdf,dompdf中文字体乱码解决办法(特别是代码迁移引起的乱码)

    dompdf\lib\fonts\dompdf_font_family_cache.php记住这个文件里面存放的是字体生成的缓存,迁移时如果覆盖了这个文件会导致乱码而且很难找到出错的地方,相信我... ...

  4. latex中文支持ubuntu

    latex安装: sudo apt install texlive-full 中文字体安装: sudo apt-get install latex-cjk-all      字体包中包含bsmi,bk ...

  5. Redmine 甘特图导出 PDF 和 PNG 中文乱码问题

    Redmine使用了RMagick来处理图片,fpdf处理PDF,并在调用时设定了字体PDF中文字体 redmine 中关于PDF字体设置的代码 case pdf_encoding           ...

  6. Jupyter notebook 转 pdf [完整转换]

  7. jupyter notebook 目录配置、导出 tex 和 pdf 及中文支持

    环境:macbook pro, mactex, jupyter notebook, brew 安装pandoc从而支持格式转换为tex: brew install pandoc 修改tex artic ...

  8. Jupyter Notebook通过latex输出pdf

    主要步骤 1.将ipynb编译成tex ipython nbconvert --to latex Example.ipynb 2. 修改tex,增加中文支持 在\documentclass{artic ...

  9. jquery插件导出excel和pdf(解决中文乱码问题)

    参考文件:http://jackyrong.iteye.com/blog/2169683 https://my.oschina.net/aruan/blog/418980 https://segmen ...

随机推荐

  1. Laravel 如何在blade文件中使用Vue组件

    Laravel 如何在blade文件中使用Vue组件 1. 安装laravel/ui依赖包 composer require laravel/ui 2.生成vue基本脚手架 php artisan u ...

  2. Python实用笔记 (24)面向对象高级编程——使用@property

    这显然不合逻辑.为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数: clas ...

  3. 洛谷 P2296 【寻找道路】

    这道题真的很女少啊 言归正传: 这道题其实就是考验的思路,读题后,我们发现对于某个点他所连接的点必须连接终点,那么我们直接反向存图,从终点进行bfs,可以找到未连接的点,然后对这些点所连接的点进行标记 ...

  4. 五.数据库同步,创建django用户,用户登陆过程

    (1)配置数据库 项目目录/settings.py是一个普通的python模块,每项配置都是一key/value 数据库的配置是以dict的形式存放在这个模块中,key名为:DATABASES DAT ...

  5. JavaScript动画实例:递归分形图动态展示

    在“JavaScript图形实例:SierPinski三角形” 和“JavaScript图形实例:Levy曲线及其变形”等文章中我们介绍了通过递归生成分形图形的方法.我们可以将绘制的分形图形每隔一定的 ...

  6. Meta标签大全_web开发常用meta整理

    meta标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务. 必要属性 属性 值 描 ...

  7. 给大家分享一下less的使用几个技巧

    1.层级关系 让这个box范围内的全部包进来,这样的话就完美的进行调节,再也不用到处找第几行第几个,我刚才在哪个位置给覆盖了.一看便知! .box{ width: %; height: 300px; ...

  8. [POJ3977] Subet(二分枚举)

    解题报告 前置知识:折半查找法(二分法) 顾名思义,折半就是把一组数据(有序)分成两半,判断我们要找的key值在哪一半当中,不断重复该操作直至找到目标key值,这玩意说白了就是二分的另一个名字. 解决 ...

  9. Python-日期格式化

    1.基本方法 获取当前日期:time.time() 获取元组形式的时间戳:time.local(time.time()) 格式化日期的函数(基于元组的形式进行格式化): (1)time.asctime ...

  10. centos7-修改默认python为3

    安装必要工具 yum-utils: $ sudo yum install yum-utils 使用yum-builddep为Python3构建环境,安装缺失的软件依赖,使用下面的命令会自动处理.$ s ...