日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2023/12/20 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jupyter notebook代码导出_Jupyter Notebook导出包含中文的pdf_亲测有效 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Jupyter Notebook是很好的數(shù)據(jù)科學(xué)創(chuàng)作環(huán)境,是非常方便的Python代碼編輯器。jupyter提供導(dǎo)出的格式有.py、.html、.md、.pdf等。目前用其導(dǎo)出包含中文的pdf會(huì)遇到很多坑,網(wǎng)上也有一些解決方案,大致分為兩種方式,一是安裝 pandoc并不斷根據(jù)報(bào)錯(cuò)提示安裝sty文件,不是很有效,另一種是安裝MiKTeX并改LaTeX文件。本文主要講第二種方式。Jupyter Notebook支持的導(dǎo)出格式

從效果來(lái)看,網(wǎng)頁(yè)中notebook的渲染是最好看的,導(dǎo)出的html對(duì)代碼和超鏈接失真嚴(yán)重。在網(wǎng)頁(yè)上點(diǎn)Download as -> PDF via LaTex的時(shí)候先是說(shuō)缺少Pandoc庫(kù),于是pip install pandoc,之后不再說(shuō)缺少這個(gè)庫(kù)了,而是

nbconvert failed: pdflatex not found on PATH 或者 nbconvert failed: PDF creating failed, captured latex output。查了一些資料后改用命令行,要避免'xelatex' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件,需要先安裝MiKTeX,在其官網(wǎng)下載后,Windows版一路next安裝就行,安裝包有190MB,安裝過(guò)程還是耗費(fèi)些時(shí)間的。安裝過(guò)程中其實(shí)就在自動(dòng)地安裝一些sty模塊了,簡(jiǎn)化了自己安裝的步驟。安裝MiKTeX的部分過(guò)程

下載安裝完成之后的步驟是:

1, ipynb文件編譯為tex

在命令行中定位到要轉(zhuǎn)換的jupyter文件的路徑下,輸入

jupyter nbconvert --to latex yourNotebookName.ipynb編譯ipynb文件為L(zhǎng)aTeX文件

在文件目錄下就可以看到一個(gè)叫yourNotebookName.tex的LaTeX文件了。

2, 手動(dòng)編輯latex文件

為了能支持輸出中文,需要改一下tex文件,在編輯器(我用的是Notepad++)打開(kāi)剛才生成的LaTeX文件,

在\documentclass{article}(沒(méi)有這一句就在\documentclass[11pt]{ctexart} 的后面插入下面的語(yǔ)句)后面插入

\usepackage{fontspec, xunicode, xltxtra}

\setmainfont{Microsoft YaHei}

注意的是,目前(2019年8月)下載的MiKTeX 通過(guò)上面語(yǔ)句編譯生成的tex會(huì)缺少一句\usepackage{ctex} ,所以如果在\setmainfont{Microsoft YaHei}缺了對(duì)ctex的引用的話,就需要加上 \usepackage{ctex} 。修改latex文件

3, 轉(zhuǎn)LaTex為PDF

隨后在命令行下輸入:(我演示文件用的是GeoCluster.tex)

xelatex yourNotebookName.tex命令行轉(zhuǎn)latex為pdf

如果之前沒(méi)有運(yùn)行過(guò)xelatex,首次運(yùn)行會(huì)安裝一些依賴文件,會(huì)慢一些,最后運(yùn)行完畢:運(yùn)行完xelatex命令

可以在文件夾下看到輸出的文件:文件夾下的輸出結(jié)果

其中:.ipynb 是我們的jupyter文件

.tex 是由jupyter notebook文件生成的

.pdf 是我們最后的目標(biāo)文件由.tex文件生成

.log、.out、.aux是LaTex生成pdf的一些輸出和日志

總結(jié)一下,從jupyter notebook生成pdf文件需要的依賴項(xiàng)還是比較多的,Windows下安裝MiKTeX才能用xelatex命令。生成步驟是先把ipynb文件編譯為L(zhǎng)aTex,然后為了支持中文修改一下lex文件,最后轉(zhuǎn)換為pdf文件。

最后效果如下,雖然還是比不上網(wǎng)頁(yè)端.ipynb的直接渲染效果,但比起導(dǎo)出的html等格式,更好地作為展示格式。生成pdf的效果

有可能跑xelatex yourNotebookName.tex會(huì)遇到如下問(wèn)題:LaTeX里字體形狀不符合要求,會(huì)改為默認(rèn)字體,于是中文全部消失了,這種情況需要加上ctex的支持。運(yùn)行提示LaTeX里字體形狀不符合要求增加對(duì)ctex的支持

之后就正常導(dǎo)出包含中文的pdf文件了。

另外從ipynb文件變成pdf文件還可以采用的方式有:打開(kāi)ipynb文件后在瀏覽器直接選擇打印;

導(dǎo)出markdown在Typora軟件中選擇導(dǎo)出為PDF;

這三種方式生成的PDF效果對(duì)比如下圖:

可看出,文中這種導(dǎo)出LaTeX再變成PDF是很實(shí)用的。

注:2,查了一下ctex的資料:CTeX 中文套裝在 MiKTeX 的基礎(chǔ)上增加了對(duì)中文的完整支持。

總結(jié)

以上是生活随笔為你收集整理的jupyter notebook代码导出_Jupyter Notebook导出包含中文的pdf_亲测有效的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。