Jupyter Notebook を pdf として保存する

(弘大 JupyterHub で)作成した(日本語を含む)Notebook を pdf  として保存またはダウンロードするには,どうしたらいいかという問題。

お勧め:「印刷プレビュー」を使う

一番のおすすめはこれ。まず,pdf に変換したい Notebook を開き,JupyterHub の「ファイル」メニューから「印刷プレビュー」を選択し,印刷用の表示ウインドウを出す。このウインドウを,Web ブラウザの「印刷」機能を使って,印刷するとみせかけて「PDF として保存」する

参考:「名前をつけてダウンロード」から「PDF via LaTeX」

特にお勧めするものではないが,JupyterHub の「ファイル」メニューから「名前をつけてダウンロード」の「PDF via LaTeX」を選んで,PDF  ファイルとしてダウンロードすることも可能である。(LaTeX ファイルに変換して,それをタイプセットして PDF にするので,時間がかかる。)

日本語を含む Notebook についても「PDF via LaTeX」が機能するように,弘大 JupyterHub では,以下のような設定を施している。

日本語対応の xelatex が必要なので,まず,TeX Live のフルインストール。(実際には,sudo apt install texlive-lang-japanese texlive-xetex だけで良い。)

sudo apt install curl -y
cd ~/Downloads
curl -OL http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar xvfz install-tl-unx.tar.gz
cd install-tl-202*****/
sudo ./install-tl

pandoc は必要。弘大 JupyterHub では Notebook 内の図が svg なので,svg -> pdf 変換に inkscape も必要。)

sudo apt install pandoc inkscape -y
cd /usr/local/lib/python3.8/dist-packages/nbconvert/templates/latex/
sudo cp article.tplx article.tplx.orig
sudo vi article.tplx
  変更部分は以下の通り:
  $ diff article.tplx article.tplx.orig 
  16c16
  < \documentclass[xelatex,ja=standard]{bxjsarticle}
  ---
  > \documentclass[11pt]{article}

参考: