LoginSignup
2
1

More than 5 years have passed since last update.

Jupyter Notebook で TOC(2) のオプションが利かない?

Posted at

結論

*.ipynb ファイルの後ろの方、オプションを収めたオブジェクトを修正する。

notebook.ipynb
{
 "metadata": {
  "toc": {
   "number_sections": true,
   "skip_h1_title": true
  }
 }
}

以下、蛇足。

Jupyter Notebook は便利だね

Jupyter Notebook はとっても便利。

Python を使っていて、作業メモを残しておきたいなら文句なくオススメ。
markdown 記法に慣れているとか、数式を埋め込みたいなら、特に。
(UMLのような図も埋め込めるとさらに良いのだけど)

さらに、extentions を使うともっと書きやすくなるし便利になる。

…なんだけど、ちょっとハマったのでメモ。

Table of Contents (2) 拡張は便利だね

それぞれのノートで、Markdown セル内の heading 行(行頭が # で始まる行)から、自動的に目次を作成してくれる拡張機能。
いろいろオプションがあるが、番号を振ってくれる機能が便利。

  • Automatically number notebook's sections: heading 行に章番号を振る。
  • Skip h1 headings from numbering: # が 1 個の行には番号を振らず、2個ある行から番号を振る。

上の二つをオンにすると、

# Title of Notebook
## the 1st chapter
### the First Section
### the Second Section
## the 2nd chapter
### the Third Section

このように書いたノートが、

Title of Notebook
1. the 1st chapter
1.1 the First Section
1.2 the Second Section
2. the 2nd chapter
2.1 the Third Section

のように表示される。

オプションが利かない?

TOC(2) 拡張を有効にしてノートを開くと、ノートのタイトルも含めてすべての heading 行に番号が振られる。
Auto numbering オプションがデフォルトでオンになっているためだ。

タイトルには番号を振りたくないので、TOC(2) 拡張のオプションを眺めて、Skip h1 headings をみつけてオンに切替えた。
ところが、依然としてタイトルに番号がついている。
Cell → Run All としても、File → Close and Halt としてから開きなおしても、Jupyter Notebook を再起動しても変わらない。
他のページを開いてみたり、新しいページをつくってみると、ちゃんとタイトル行には番号がない。
どうやら、ブラウザ上でノートをいじっても関係ないらしい。

そこで、*.ipynb ファイルをエディタで開いてみると、オプションの値らしきものが保管されているのを見つけた。

notebook.ipynb
{
 "metadata": {
  "toc": {
   "number_sections": true,
   "skip_h1_title": true
  }
 }
}

これらの値は、ノートを最初に保存したときに TOC(2) 拡張のオプションが保存され、その後は更新されないらしい。
テキストエディタで直してやると、思い通り、タイトルから番号がなくなった。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1