LuaJITTeX / LuaJITLaTeX ですが、どうもこの先、特に日本語の文書処理に関しては使えないということになりそうです。というのも、LuaJIT が基にしている Lua 5.3 において UTF-8 の取り扱いに問題があるようで、2019年以来、luajitlatex で日本語文書を処理できない状態が続いています。これに関しては texlive の方でもどうこうするということはないようで、既に Windows 版では luajitlatex.exe が削除されています。
巨大なフォントファイルを使う日本語の場合、LuaJITLaTeX を使うメリットは大きいものがありますが、欧米圏ではそのようなニーズはないわけです。ですから、少なくとも現状において、ここに書かれていることは obsolete ということになってしまいました。luatex-ja を使用される方々も、基本的には luatex / lualatex を使用するということでご理解下さい。
LuaTeX-ja を使っているときなど、platex を使用しているときと比較して、その遅さに閉口させられることが少なくありません。当然、これは Lua を組み込んでいるからなのですが、Lua の実行時に機械語にコンパイル、実行を行う LuaJIT を使用した LuaJITTeX が、TeX Live には収録されています。
となれば、これを有効に使って LuaLaTeX を活用したいところです。Windows 版の TeX Live の場合は、luajitlatex.exe が収録されているので、従来 lualatex コマンドを使用していたところをそのまま luajitlatex に置き換えればよいだけです。
ところが、Linux 版や Mac OS 版の TeX Live には luajitlatex という名前の実行形式のファイルは収録されていません。そこで、ここでは Linux 版や Mac OS 版の TeX Live での luajitlatex の利用法について補足しておきます。
これは当然と言えば当然なのですが、まずは TeX Live のインストール、設定を済ませておきましょう。
設定の第一歩は fmtutil.cnf を探すことです。これは、TeX Live のセッティングができているならば、
で path が出てきます。$ kpsewhich fmtutil.cnf
fmtutil.cnf に修正を加えます。
(bash 等の場合)のようにすると楽に開けるでしょう。私はこういうときには vi (vim) を使用しますが、御自分で管理用に使っているエディタを使っていただければ OK です。 "luajitlatex" という文字列で検索をかけると、この辺りに飛ぶと思います。$ sudo vi `kpsewhich fmtutil.cnf`
この赤字の部分でコメントアウトされているわけですが、赤字箇所を削除して、この行を効力のある状態にしてセーブしておきます。# from latex-bin: latex pdftex language.dat -translate-file=cp227.tcx *latex.ini pdflatex pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini lualatex luatex language.dat,language.dat.lua lualatex.ini #! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini # # from lollipop: lollipop tex - lollipop.ini #
セーブしたら、下記コマンドを実行します。
すると、luajitlatex.fmt が作成され、luajitlatex を使用する準備が整いました。$ sudo fmtutil-sys --byfmt luajitlatex
あとは、~/.bashrc 等に alias を設定しておきます。
alias luajitlatex='luajittex --fmt=luajitlatex.fmt'
のように実行するか、一度ログアウトする等して、この alias を有効にすれば、lualatex の代わりに luajitlatex を使用することができるようになります。$ . ~/.bashrc