JupyterLab ToCの手順
この質問にはすでに多くの良い答えがありますが、JupyterLabでノートブックを適切に機能させるために微調整が必要になることがよくあります。この回答は、JupyterLabで作業し、JupyterLabからエクスポートするときに、ノートブックにToCを含める方法の詳細を説明するために書きました。
サイドパネルとして
jupyterlab-TOCの拡張は、CAN番号見出し、崩壊セクション、および(デモについては、以下のGIFを参照されたい)のナビゲーションのために使用されることがサイドパネルとして目次を追加します。次のコマンドでインストールします
jupyter labextension install @jupyterlab/toc
セルとしてノートに
現時点では、これはMatt Danchoの回答のように手動で行うか、toc2 jupyterノートブック拡張機能を介して自動的に行うことができます
、クラシックノートブックインターフェイスのます。
最初に、jupyter_contrib_nbextensionsバンドルの一部としてtoc2をインストールします。
conda install -c conda-forge jupyter_contrib_nbextensions
次に、JupyterLabを起動して、 Help --> Launch Classic Notebook
、を追加するノートブックを開きます。ツールバーのtoc2記号をクリックしてフローティングToCウィンドウを表示し(見つからない場合は下のgifを参照)、歯車アイコンをクリックして、[ノートブックのToCセルを追加]チェックボックスをオンにします。ノートブックを保存すると、JupyterLabで開いたときにToCセルが表示されます。挿入されたセルは、htmlが含まれているマークダウンセルであり、自動的には更新されません。
toc2のデフォルトオプションは、クラシックノートブック起動ページの[Nbextensions]タブで構成できます。たとえば、見出しに番号を付けたり、ToCをサイドバーとして固定したりすることを選択できます(個人的には見た目がすっきりしているようです)。
エクスポートされたHTMLファイル
nbconvert
エクスポートされたHTMLをフォーマットする方法のルールに従って、ノートブックをHTMLにエクスポートするために使用できます。上記のtoc2
拡張機能は、と呼ばれるエクスポート形式を追加しますhtml_toc
。これはnbconvert
、コマンドラインから直接使用できます(toc2
拡張機能のインストール後)。
jupyter nbconvert file.ipynb --to html_toc
# Append `--ExtractOutputPreprocessor.enabled=False`
# to get a single html file instead of a separate directory for images
シェルコマンドは感嘆符を前に付けることでノートブックのセルに追加できる!
ので、この行をノートブックの最後のセルに貼り付け、[すべてのセルを実行]をクリックすると、常にToCが生成されたHTMLファイルを作成できます(またはあなたが望むどんな出力nbconvert
)このようにして、jupyterlab-toc
作業中にノートブックをナビゲートして、エクスポートされた出力でToCを取得できます(従来のノートブックインターフェイスを使用する必要はありません)。
上記のようにデフォルトのtoc2オプションを設定しても、の形式は変更されないことに注意してくださいnbconver --to html_toc
。メタデータを.ipynbファイルに書き込むには、クラシックノートブックインターフェイスでノートブックを開く必要があります(nbconvertはエクスポート時にメタデータを読み取ります)または、JupyterLabサイドバーの[ノートブックツール]タブから手動でメタデータを追加できます。お気に入り:
"toc": {
"number_sections": false,
"sideBar": true
}
GUI駆動のアプローチを好む場合は、クラシックノートブックを開いてクリックできるはずですFile --> Save as HTML (with ToC)
(ただし、このメニュー項目は私には使用できなかったことに注意してください)。
上記のgifは、拡張機能のそれぞれのドキュメントからリンクされています。