유승훈

Jupyter notebook 커스터마이징(theme, font..) 본문

languages/Python

Jupyter notebook 커스터마이징(theme, font..)

seunghuni96 2021. 6. 21. 01:06

이번 글은 Jupyter notebook을 커스터마이징 하는 방법에 대해서 소개해보고자 합니다.

흰 배경을 오래 보다보면 머리가 아프다거나, 다크 모드에서 글씨가 더 잘보이는 경우 등 자신이 보기 편한 방식으로 변경해주는  것이 좋다고 생각합니다.

 

Jupyter notebook의 커스터마이징은 기본적으로 jupyterthemes 라는 패키지를 사용하는데요,

이 글을 통해 어떤 방식으로 커스터마이징 하는지를 간단히 이해한 뒤에, 필요한 옵션을 패키지의 Github Repo에서 찾아 적용해가며 자신에게 가장 잘 맞는 환경을 설정하시면 좋을 것 같습니다.

 

dunovank/jupyter-themes

Custom Jupyter Notebook Themes. Contribute to dunovank/jupyter-themes development by creating an account on GitHub.

github.com

 

pip install jupyterthemes

pip install --upgrade jupyterthemes

먼저 pip를 통해 jupyterthemes를 설치해주거나, 기존에 설치되어 있는 경우에는 업데이트를 한번 해줍니다.

 

제일 기본적인 Jupyter notebook의 테마입니다.  새 노트북을 만들듯 New를 누르고, Interpreter가 아니라 가장 밑에 있는 Terminal을 클릭해줍니다.

 

Jupyter notebook내의 Terminal에 들어왔습니다. 가장 먼저 테마에 대해서 알아봅시다.

 

jt -l 명령어를 통해 현재 사용가능한 모든 테마들의 이름을 볼 수 있습니다. Repository의 Screens 폴더에 있는 예시와 구글에 테마를 검색해보면 어떤 스타일인지를 볼 수 있습니다. jt -t 테마명을 입력하면 해당 테마로 변경이 가능합니다.

jt -t grade3 -f hack -fs 12 -cellw 1080 -altp -tf hack -T

제가 사용하고 있는 테마는 다음과 같습니다. jt로 jupyter notebook의 테마를 변경한다는 것을 선언한 뒤, -옵션명 옵션값의 조합을 나열하는 형식입니다. 옵션에 따로 크기, 넓이 같은 옵션값이 필요하지 않은 경우에는 바로 다음 -옵션명을 입력해주면 됩니다. 예시에 입력된 코드를 간단하게 정리하면,

 

코드 설명
-t grade3 -t는 테마 설정 옵션으로, grade3 테마로 변경.
-f hack -f는 코드의 폰트를 설정하는 옵션으로 hack 폰트로 변경.
-fs 12 -fs는 -f로 설정한 코드의 폰트 크기를 설정하는 옵션으로,
기본값인 11에서 12로 변경한다. 
-cellw 1080 -cellw는 셀의 넓이를 설정하는 옵션으로,
기본값인 980에서 더 넓은 1080으로 변경한다.
-altp Terminal을 검은화면만 남긴다.
-tf hack -tf는 텍스트와 마크다운의 폰트를 설정하는 옵션으로,
코드와 동일한 hack 폰트로 변경한다.
-T -T는 toolbar를 보일 수 있도록 하는 옵션

 

바뀐 Jupyter notebook의 테마입니다. 테마, 폰트, 폰트크기 바뀐 것을 볼 수 있습니다. 이외에도 옵션이 다양하기 때문에, 적당히 바꿔가면서 마음에 드는 옵션을 찾으면 좋을 것 같습니다. 개인적으론 마크다운의 한글 폰트 지원이 안되는 것이 살짝 아쉽습니다. 방법이 없는 것 같지는 않은데, 나중에 또 정리해서 올려보도록 하겠습니다.

 

jt -r

jt -r 명령어를 통해 변경했던 모든 설정을 초기화하고 다시 할 수도 있습니다.

 

(추가) jupytertheme 패키지에 있는 폰트가 아니라 D2Coding과 같은 다른 폰트를 사용하고자 할 때는 

 

Jupyter Notebook 폰트 변경

CSS를 사용하지 않고 jt -t [theme] -f[ font] 명령어를 통해 특정 Font(D2Coding)로 설정하는 방법을 소개합니다.

velog.io

이 글에 정리된 방법을 사용했습니다.

 

Comments