Petunjuk ToC JupyterLab
Sudah ada banyak jawaban bagus untuk pertanyaan ini, tetapi sering kali memerlukan penyesuaian agar berfungsi dengan baik dengan notebook di JupyterLab. Saya menulis jawaban ini untuk merinci kemungkinan cara memasukkan ToC di notebook saat bekerja dan mengekspor dari JupyterLab.
Sebagai panel samping
The jupyterlab-toc ekstensi menambahkan TOC sebagai panel samping yang judul jumlah kaleng, bagian runtuh, dan akan digunakan untuk navigasi (lihat gif di bawah ini untuk demo). Instal dengan perintah berikut
jupyter labextension install @jupyterlab/toc
Di notebook sebagai sel
Saat ini, ini dapat dilakukan secara manual seperti dalam jawaban Matt Dancho, atau secara otomatis melalui ekstensi notebook toc2 jupyter
di antarmuka notebook klasik.
Pertama, instal toc2 sebagai bagian dari bundel jupyter_contrib_nbextensions :
conda install -c conda-forge jupyter_contrib_nbextensions
Lalu, luncurkan JupyterLab, buka Help --> Launch Classic Notebook
, dan buka notebook tempat Anda ingin menambahkan ToC. Klik simbol toc2 di toolbar untuk menampilkan jendela ToC mengambang (lihat gif di bawah jika Anda tidak dapat menemukannya), klik ikon roda gigi dan centang kotak "Tambahkan sel ToC notebook". Simpan notebook dan sel ToC akan ada di sana saat Anda membukanya di JupyterLab. Sel yang dimasukkan adalah sel penurunan harga dengan html di dalamnya, itu tidak akan diperbarui secara otomatis.
Opsi default toc2 dapat dikonfigurasi di tab "Nbextensions" di halaman peluncuran buku catatan klasik. Misalnya, Anda dapat memilih nomor tajuk dan mengaitkan ToC sebagai bilah samping (yang menurut saya pribadi terlihat lebih bersih).
Dalam file HTML yang diekspor
nbconvert
dapat digunakan untuk mengekspor notebook ke HTML mengikuti aturan tentang cara memformat HTML yang diekspor. The toc2
ekstensi yang disebutkan di atas menambahkan format ekspor yang disebut html_toc
, yang dapat digunakan langsung dengan nbconvert
dari baris perintah (setelah toc2
perpanjangan telah terinstal):
jupyter nbconvert file.ipynb --to html_toc
# Append `--ExtractOutputPreprocessor.enabled=False`
# to get a single html file instead of a separate directory for images
Ingatlah bahwa perintah shell dapat ditambahkan ke sel notebook dengan diawali dengan tanda seru !
, sehingga Anda dapat menempelkan baris ini di sel terakhir notebook dan selalu memiliki file HTML dengan ToC yang dibuat saat Anda menekan "Jalankan semua sel" ( atau hasil apa pun yang Anda inginkan nbconvert
). Dengan cara ini, Anda dapat menggunakan jupyterlab-toc
untuk menavigasi notebook saat Anda bekerja, dan masih mendapatkan ToC dalam output yang diekspor tanpa harus menggunakan antarmuka notebook klasik (untuk puritan di antara kita).
Perhatikan bahwa mengonfigurasi opsi toc2 default seperti dijelaskan di atas, tidak akan mengubah format nbconver --to html_toc
. Anda perlu membuka notebook di antarmuka notebook klasik agar metadata dapat ditulis ke file .ipynb (nbconvert membaca metadata saat mengekspor) Atau, Anda dapat menambahkan metadata secara manual melalui tab Alat Notebook dari sidebar JupyterLab, misalnya sesuatu Suka:
"toc": {
"number_sections": false,
"sideBar": true
}
Jika Anda lebih suka pendekatan berbasis GUI, Anda harus dapat membuka buku catatan klasik dan mengklik File --> Save as HTML (with ToC)
(meskipun perhatikan bahwa item menu ini tidak tersedia untuk saya).
Gif di atas ditautkan dari dokumentasi masing-masing ekstensi.