34 .ipynb を PDF に変換してみる     初めて LuaLaTeX-ja を使ってみる

最近、ゼミ関係でたくさん .ipynb を作っている (岡本・柳澤 [1] で興味がある話題を説明してみなさい、 という軽いノリのゼミをしている)。 MarkDown 形式で TEX 風の数式がすいすい使えて、便利ですね。


すべての学生が .ipynb 使えるわけではないので、PDF にしたい。

LATEX に変換する
jupyter nbconvert --to latex kakuritsu.ipynb

この Mac には jupyterlab_pygments がないと叱られた。はいはい。

MacPorts でインストール
sudo port install py314-pygments
sudo port install py314-jupyterlab_pygments

これは失敗する。
pdfplatex kakuritsu.tex

あ、pdftex ないと言われる。それはそうだ。lualatex にするんだっけ?

lualatex kakuritsu

あ、一応 pdf できたけれど、日本語の文字が抜けている。えーと。

LuaTeX-ja の使い方

.tex の先頭を次のようにする。
\documentclass[11pt]{ltjsarticle}
\usepackage{luatexja}

再度挑戦
lualatex kakuritsu
できた!

最初に変換した .ipynb は ChatGPT に作ってもらったものなので、 \author{ChatGPT} とした。

Makefile にこういうことを書く
.SUFFIXES: .ipynb .tex .pdf
.tex.pdf:
	lualatex $<
.ipynb.tex:
	jupyter nbconvert --to latex $<
	./modify_head.pl $@

ここで modify_head.pl はかなりいいい加減に作った Perl スクリプト。
modify_head.pl
#!/opt/local/bin/perl -pi~
s/\\documentclass\[11pt\]\{article\}/\\documentclass[11pt]\{ltjsarticle\}\\usepackage\{luatexja\}/

しばらく、過去に作った .ipynb を PDF に変換する作業をしてみることにする。



桂田 祐史