[Jupyter notebook] Table of Contents (TOC) 넣기
파이썬 코딩 시 가장 많이 사용되는 편집기가 아마 jupyter notebook일 것이다. cell별로 코딩을 실행할 수 있어 디버깅을 하며 코딩을 완성시키기 좋기 때문이다. 하지만 주피터 노트북은 코딩이 길어지면 많은 cell들 때문에 다소 산만해질 수 있다. 이것을 일목요연하게 정리하기 위해서는 목록, 즉, table of content (TOC)를 넣어주면 코딩이 길어져도 그 흐름을 한눈에 파악할 수 있다.
이 포스팅에서는 TOC를 넣는 두 가지 방법에 대해서 소개하도록 하겠다.
TOC 유형 1
첫 번째 유형은 주피터 노트북 상단에 TOC를 넣는 것이다.
아래의 첫 번째 박스를 가장 첫 번째 cell에 넣는다. 물론 cell의 유형은 Markdown으로 바꾸어 주어야 한다.
### Table of Contents in this notebook
* [Chapter 1](#chapter1)
* [Section 1.1](#section_1_1)
* [Section 1.2](sSection_1_2)
* [Section 1.2.1](#section_1_2_1)
* [Section 1.2.2](#section_1_2_2)
* [Section 1.2.3](#section_1_2_3)
* [Chapter 2](#chapter2)
* [Section 2.1](#section_2_1)
* [Section 2.2](#section_2_2)
위와 같이 설정한 후 코딩 시 아래와 같이 추가하면서 위의 설정과 페어링 해주면 된다.
### Chapter 1 <a class="anchor" id="chapter1"></a>
#### Section 1.1 <a class="anchor" id="section_1_1"></a>
#### Section 1.2 <a class="anchor" id="section_1_2"></a>
##### Section 1.2.1 <a class="anchor" id="section_1_2_1"></a>
##### Section 1.2.2 <a class="anchor" id="section_1_2_2"></a>
##### Section 1.2.3 <a class="anchor" id="section_1_2_3"></a>
### Chapter 2 <a class="anchor" id="chapter2"></a>
#### Section 2.1 <a class="anchor" id="section_2_1"></a>
#### Section 2.2 <a class="anchor" id="section_2_2"></a>
아래와 같이 TOC가 설정된다.
(출처) 상단에 TOC 배치하기
TOC 유형 2 (사이드 배치, recommended)
첫 번째 방법은 별도의 패키지 설치 없이 바로 TOC를 적용할 수 있다는 장점이 있는 반면, 코딩의 목록을 한눈에 조망하려면 어쩔 수 없이 스크롤을 가장 위로 올려야 한다는 단점이 있다. 이것은 여간 불편한 점이 아닐 수 없다. 코딩을 조망하려고 TOC를 넣었는데, 그것을 보려면 다시 코딩의 맨 위로 올라가야 한다니 말이다.
이것을 보완한 것이 이 두 번째 방법이다. 이것은 TOC를 사이드에 배치해 스크롤의 위치와 상관없이 항상 모든 목록을 볼 수 있게 해 준다. 이것은 큰 장점이다. 이 설정을 위해서 몇 가지 패키지를 설치해 주어야 한다. 길지 않아 천천히 따라오면 쉽게 사이드 TOC를 넣어 줄 수 있다.
Step 1
우선 pip 패키지로 jupyter_nbextensions_configurator를 설치해준다.
pip install jupyter_nbextensions_configurator
or
Conda의 환경에서 작업하고 있다면 아래와 같이 설치할 수 있다
conda install -c conda-forge jupyter_nbextensions_configurator
Step 2
다음으로 설치한 notebook 확장자를 Jupyter 서버에 등록해준다.
jupyter nbextensions_configurator enable --user
아래와 같이 실행된다.
Step 3
다음으로 jupyter_contrib_nbextensions를 설치한다. 이 확장자에는 여러 개발자가 만든 다양한 jupyter notebook 확장 프로그램이 포함되어 있다. 여기에는 Table of Contents(2) 확장자도 있다.
pip install jupyter_contrib_nbextensions
Step 4
설치를 했으면 서버에 등록하여 활성화해 준다.
jupyter contrib nbextension install --user
Step 5
jupyter notebook 서버 재실행하고 Table of Contents(2) 확장자를 활성화한다.
jupyter notebook
Nbextensions탭이 생긴 것을 확인한다.
여러 항목 중에 Table of Contents (2)를 체크한다.
체크를 해주면 관련 parameter 설정 창이 나타난다. 가장 위에 있는 Automatically number notebook's sections를 체크한다.
Final Step
이제 다 왔다. 코딩을 열고 Toogle Toolbar 메뉴에서 가장 오른쪽에 있는 목록을 체크해주면 아래와 같이 왼쪽에 TOC가 나타난다. 목록의 항목을 클릭하여 내비게이션도 가능하다.
해피 코딩~!!
'Programming > Tips' 카테고리의 다른 글
[M1 맥북] GPU에서 tensorflow 실행하기 (tensorflow 2.5 설치) (7) | 2021.08.15 |
---|---|
[matplotlib] plt.boxplot 박스색 바꾸기 (0) | 2021.06.05 |
[Arm64] M1 맥북에 tensorflow 2.4 설치하기 (conda 환경) (1) | 2021.04.27 |
[Jupyter notebook] 코드 접기 (codefolding) 설정하기 (0) | 2021.04.19 |
[seaborn] 그림의 폰트 사이즈 바꾸기 (0) | 2020.11.02 |
댓글