您當前的位置:首頁 > 書法

為Jupyter Notebook新增目錄

作者:由 張三 發表于 書法時間:2022-01-01

最近從R的RMarkdown,轉到了Python的Jupyter Notebook。 在使用RStudio生成RMarkdown的時候, 可以新增目錄(Table of Contents, TOC)。 可別小看這個功能, 當分析資料, 有很多步驟或者結果的時候, 經常需要在各個分析或者結果之間切換, 如果靠滑鼠上下翻頁來尋找想要的內容, 將會非常沒有效率。 在RStudio可以新增一個目錄, 目錄裡面的內容根據RMarkdown每一個標題自動生成。 這樣只需要點選目錄裡面相應的內容, 就可以很快的跳到RMarkdown對應的地方。

很可惜的是, 預設Jupyter Notebook是沒有生成目錄這個功能的。 注意啊, 我說的是“預設”, 否則這篇文章寫到這裡就結束了。

下面我們要用到 Jupyter notebook extensions, 你可以理解成是Jupyter安裝各種plugins的擴充套件, 其中有一個plugins叫toc2, 可以為Jupyter Notebook提供目錄。 效果見下圖

為Jupyter Notebook新增目錄

TOC的大小和位置可以隨意改變, 也支援對每個標題自動編號。

為Jupyter Notebook新增目錄

下面講講如何安裝

第一步, 安裝 Jupyter Notebook

這個是必須的。 如果還沒安裝的話, 建議安裝 anaconda

第二步, 安裝Jupyter Notebook extensions

conda install -c conda-forge jupyter_contrib_nbextensions

第三步, 開啟toc2外掛

執行Jupyter Notebook, 在開啟的Notebook介面裡, 你會發現多了一個Nbextensions,點選這個tab, 會有如下介面

為Jupyter Notebook新增目錄

勾選Table of Contents (有的版本是toc2)。 然後建立或者開啟一個Jupter Notebook

第四步, 生成目錄

在Notebook上面選項中,多了一個生成目錄圖示, 如下圖中最右邊的圖示。

為Jupyter Notebook新增目錄

點選這個圖示就會生成一個目錄。 在Notebook裡新增標題(也就是用###生成的Markdown內容)會自動新增到目錄裡面。 在目錄上面, 有個小的n圖示, 這表示自動對每個標題編號, 點選這個圖示可以開啟或者關閉這個功能。

差不多就這樣了, 你可以統TOC管理你的Notebook, 使你的資料分析變得更有條理。

這個TOC早期功能有個坑爹的bug, 開啟這個功能之後, Notebook將不能儲存, 不論是自動還是手動都不能儲存。 所以當你開啟這個功能後, 試試是否可以儲存你的Notebook, 如果不行的話, 說明你使用的是比較老的版本。 解決方案是用pip直接安裝Github上的最新版本, 具體安裝方法見這裡。

標簽: notebook  jupyter  目錄  圖示  安裝