Jupyter Notebook是什么

Jupyter Notebook是ipython Notebook 的升级。Jupyter能够将实时代码,公式,可视化图表以Cell的方式组织在一起,形成一个对代码友好的笔记本。Jupyter同时支持Markdown语法和LaTeX语法,可以有效输出富文本方式的PDF文档

了解更多: Jupyter Notebook

Jupyter Notebook Users Manual

安装Jupyter Notebook

官方推荐的标准流程:How to Install Jupyter Notebook

我自己是按照下面的顺序安装的,缺少支持的话,pip install xxxxxx

  1. 安装python
  2. 安装ipython by pip pip install ipython
  3. 安装Jupyter by pip pip install jupyter
  4. 安装pandoc
  5. 安装MiKTex

中文支持

Jupyter NoteBook 导出PDF需要Latex支持,但由于默认模版的设定,Latex无法识别中文无法导出。为了解决这个问题,需要将ipynb转为tex,然后修改tex内容,最后由xelatex生成PDF文件。

  • 将ipynb编译为tex

    ipython nbconvert --to latex Example.ipynb
  • 修改tex,增加中文支持

在\documentclass{article}后面插入

  • \usepackage{fontspec, xunicode, xltxtra}
    \setmainfont{Microsoft YaHei}
  • 编译tex,生成pdf
  • xelatex Example.tex

注:这种方式生成的pdf无法进行自动换行!

推荐选择另一种方法——直接修改tex模版文件

用文本编辑器打开article.tplx (\Python27\Lib\site-packages\nbconvert\templates\latex\),修改为\documentclass{ctexart}。

生成的pdf如下:百度文库

感谢

本文的解决思路来源于

  1. IPython Notebook 转成 LaTeX 时的中文问题解决方案
  2. 使用XeLaTeX/XeTeX编译中文文档
  3. Ctex宏包
  4. Changing style of PDF-Latex output through IPython Notebook conversion

已知的问题

插入的图片在用xelatex编译时会自动设定为页面宽度。

解决方法:修改tex,加入合适的缩放比例。

\includegraphics{figpath}

修改为:

\includegraphics[scale = .5]{figpath}

想更了解Latex,推荐阅读包老师的 LaTeX Notes

Jupyter Notebook PDF输出的中文支持的更多相关文章

  1. Jupyter Notebook 导出PDF与Latex中文支持

    Jupyter Notebook 最近搞机器学习用到了Jupyter Notebook. 作为一个实时记事本,有时需要将内容导出为PDF. 但是,Jupyter Notebook自带的File -&g ...

  2. jupyter notebook安装/代码补全/支持golang 踩坑记

    安装(不要用root) 安装anaconda3,然后ln -s bin目录下的jupyter命令到/usr/bin目录下 生成密码备用 敲ipython进入交互终端 In [1]: from note ...

  3. Jupyter Notebook通过latex输出pdf

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

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

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

  5. Python学习笔记——jupyter notebook 入门和中文pdf输出方案

    简单粗暴的安装 对于懒人而言,我还是喜欢直接安装python的集成开发环境 anaconda 多个内核控制 jupyter官网 1). 同时支持python2 和python 3 conda crea ...

  6. IPython与Jupyter notebook 安装与配置,插件扩展,主题,PDF输出

    基于 python2.7.13 32-bit版本安装 1.安装pyreadline https://pypi.python.org/pypi/pyreadline 下载对应的32位版本 安装Micro ...

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

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

  8. VS Code Python 全新发布!Jupyter Notebook 原生支持终于来了!

    VS Code Python 全新发布!Jupyter Notebook 原生支持终于来了! 北京时间 2019 年 10 月 9 日,微软发布了全新的 VS Code Python 插件,带来了众多 ...

  9. R语言输出pdf时,中文乱码处理

    本文转载自:https://blog.csdn.net/hongweigg/article/details/47907555 1.使用基础包,使用函数pdf()输出 在使用pdf()函数时,要输出中文 ...

随机推荐

  1. 4071: [Apio2015]巴邻旁之桥

    Description 一条东西走向的穆西河将巴邻旁市一分为二,分割成了区域 A 和区域 B. 每一块区域沿着河岸都建了恰好 1000000001 栋的建筑,每条岸边的建筑都从 0 编号到 10000 ...

  2. PPT2010小技巧 教你如何快捷抠图

    相信不少人在做PPT时,都有想插入个漂亮个性图案的想法,但是往往手头上的图片都不太令人满意,需要“裁剪”一下才能达不到自己想要的效果.这时大部分人可能会PS,但是相比起今天要分享给大家的方法,步骤就显 ...

  3. 使用Runnable接口创建线程-3

    实现Runnable接口的类必须使用Thread类的实例才能创建线程.通过Runnable接口创建线程分为两步: 1. 将实现Runnable接口的类实例化. 2. 建立一个Thread对象,并将第一 ...

  4. bzoj 1576: [Usaco2009 Jan]安全路经Travel 树链剖分

    1576: [Usaco2009 Jan]安全路经Travel Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 665  Solved: 227[Sub ...

  5. 降维(一)----说说主成分分析(PCA)的源头

    降维(一)----说说主成分分析(PCA)的源头 降维系列: 降维(一)----说说主成分分析(PCA)的源头 降维(二)----Laplacian Eigenmaps --------------- ...

  6. 导入旧版本Android项目时的“Unable to resolve target ‘android

    在Ecplise + ATD + Android SDK的开发中,导入旧版本的Android项目时,往往会出现类似的如下错误 Error:Unable to resolve target 'andro ...

  7. 最全的微软msdn原版windows系统镜像和office下载地址集锦

    随着windows的发展,越来越多的人都热衷于微软的原版系统下载了,相比之前的版本比如winxp版本,windows vista/win7/win8/win8.1/win10后来的版本在安装方面也比较 ...

  8. ASPX在Debug模式下直接link原始CSS而非Bundle后的CSS

    由于对CSS做了bundle, debug的时候修改原始css文件不会直接反映到浏览器中, 效率较低. 于是我想在debug的时候直接link原始CSS. 很简单. <% #if DEBUG % ...

  9. 关于Azure Auto Scale的高级属性配置

    Auto Sacle是一种自动化管理云服务负载的功能,系统可以根据预先制定的规则,在满足条件的情况下对计算实例的数量进行增减从而可以用来优化使用Azure的计算资源,可以适用于Cloud Servic ...

  10. Flash加载网页内容

    import flash.net.URLLoader; var m_loader:URLLoader = new URLLoader(); m_loader.addEventListener(Even ...