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. Java 声明和访问控制(一) 数组的声明 private可以修饰类吗

    数组的声明: int []a[] = new int[4][];//是正确的 int[] array = new int[2]{1,2};//是错误的 数组的长度是不可改变的,不能通过任何方式改变大小 ...

  2. Java运算符(一)equals方法与“==”

    超类Object的equals只是比较两者之间的引用对象是否相同,这一点跟操作符“==”是一样的. 在基本数据类型中,“==”用于比较两者之间的值(内容)是否相等. 在引用类型中,“==”用于比较两者 ...

  3. Spring中的事务管理详解

    在这里主要介绍Spring对事务管理的一些理论知识,实战方面参考上一篇博文: http://www.cnblogs.com/longshiyVip/p/5061547.html 1. 事务简介: 事务 ...

  4. SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-003-@Conditional根据条件生成bean及处理profile

    一.用@Conditional根据条件决定是否要注入bean 1. package com.habuma.restfun; public class MagicBean { } 2. package ...

  5. 如何用Python从本地将一个文件备份到Google Drive

    1.要有一个Google App账号: 这个可以上网上去申请,申请地址为:https://developers.google.com/appengine/?hl=zh-cn 2.创建一个Google ...

  6. 【pm2】

    告别node-forever,拥抱PM2 pm2及forever模块是目前较常用的nodejs进程守护模块,前者更常用些.功能也更强大(提供负载).其原理主要是pm2开启一个主进程,另行再开子进程运行 ...

  7. SharePoint 2010 母版页制作的简单介绍

    转:http://www.cnblogs.com/jianyus/archive/2012/01/11/2319621.html 1.  首先打开SharePoint Designer 2010,找到 ...

  8. linux下阅读源代码的工具

    说来真是惭愧呀.一直在用VIM 做开发.却不知道VI 里还有这么好使的工具.以前一直都是用: find -type f -print | xargs grep -i **** 在源代码里查找. 原来L ...

  9. (转载)PHP解析URL并得到URL中的参数

    (转载)http://my.oschina.net/liuhui1990/blog/42232 <?php //例举一个URL格式的字符串: $str = 'http://test.com/te ...

  10. Minimum Window Substring &&& Longest Substring Without Repeating Characters 快慢指针,都不会退,用hashmap或者其他结构保证

    1 public class Solution { public static int lengthOfLongestSubstring(String s) { char[] arr = s.toCh ...