Jupyter Notebook PDF輸出的中文支持


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM