物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

Windows Jupyter Lab をPDF化するとき日本語が出力されない問題を解決

JupyterファイルをそのままPDF化すると、日本語(2バイト文字)が出力されない。出力されるように、テンプレートのdocumentclassを変更する。

jupyter --path

で出力されるパス

data:
    C:\Users\Masahiro\AppData\Roaming\jupyter
    C:\Users\Masahiro\AppData\Roaming\Python\share\jupyter
    c:\users\masahiro\appdata\local\programs\python\python38\share\jupyter (ココ)
    C:\ProgramData\jupyter

からたどれる "C:\Users\Masahiro\AppData\Local\Programs\Python\Python38\share\jupyter\nbconvert\templates\latex\index.tex.j2" を編集する。

((*- block docclass -*))
\documentclass[11pt]{article}
((*- endblock docclass -*))

これを

((*- block docclass -*))
\documentclass[xelatex,ja=standard]{bxjsarticle}
((*- endblock docclass -*))

に変更すれば良い。

参照

qiita.com


過去の記事。以下の方法は現在(2022/08/24)使えない。

日本語用のパッケージやフォントを追加する。

具体的には、%LOCALAPPDATA%\Programs\Python\Python38\Lib\site-packages\nbconvert\templates\latex\ 内の style_jupyter.tplx article.tplx base.tplx を修正する。

article.tplx base.tplx は、

\documentclass[11pt]{article}
% ->
\documentclass[11pt]{bxjsarticle}

style_jupyter.tplx

    \usepackage[breakable]{tcolorbox}
% ->
    \usepackage{fontspec}
    \usepackage{zxjatype}
    \setjamainfont{ipam.ttf}
    \setjasansfont{ipag.ttf}
    \setjamonofont{ipag.ttf}
    \usepackage{xltxtra}
    \usepackage[breakable]{tcolorbox}
% 以下略

これで、Export Notebook As...からExport Notebook to PDF

これで、日本語を含むJupyter NotebookをPDF化できた。

参考にしたのは下記の文献。

nixeneko.hatenablog.com