ちゃんとした題:WindowsでLuaLaTeXの最小環境を構築してみる
こんにちは。油断すると$\TeX$を「テックス」と呼んでしまうすずともです。
僕の持ち運び用PC「初代SurfaceBook SSD128GB」。容量が少ないので約7.5GBもあるTeX Live fullスキームなんて入りません。それどころか空き容量0バイトで死にたくなりました。
ということで、この記事ではWindows上でLuaLaTeXを使ってLaTeXのPDFを作成する最小環境を構築してみようという記事です。
まぁ、ちょっとめんどくさいのでPCの容量がある人はTex Liveのfullスキーム入れた方が早いし問題ない気がします。
最小環境とは
この記事での最小環境の定義を、
Tex Liveのインストーラでminimamスキームを選択し、後から必要なパッケージのみをインストールすることでLuaLaTeXが書ける環境
としておきます。(つまり最小容量ってことかな。)
達成条件
自分は日本人なので、日本語組版が行えることを前提とします。
したがって、LuaTeX-jaの使い方に載っている以下の典型的なソースtest.tex
からPDFが作成できれば、最小環境の構築が出来たということにします。
\documentclass{ltjsarticle}
\usepackage{luatexja} % ltjclasses, ltjsclasses を使うときはこの行不要
\begin{document}
\section{はじめてのLua\TeX-ja}
ちゃんと日本語が出るかな?
\subsection{出たかな?}
長い文章を入力するとちゃんと右端のところで折り返されるかな?
大丈夫そうな気がするけど.ちょっと不安だけど何事も挑戦だよね.
\end{document}
結論
とっととLuaLaTeXを使えるようにしてレポート書きたい人もいると思うので、先に結論を書いておきます。
① Tex Live 2021をminimamスキームでインストールする
② Tex Live Managerで以下のパッケージをインストールする。
etoolbox
harunoaji
infwarerr
latex-bin
ltxcmds
luatexja
pdftexcmds
xkeyval
③ 以下のコマンドでPDF作成
$ lualatex test.tex
④ 以下のようなPDFが作成されれば目的達成!
⑤ VSCodeで書きたい人は以下の記事を参考にどうぞ! |
順序に沿ってやってみる
ここからは、上記の結論がどうやって出たかを一つずつ見ていってるだけなので暇な人は一緒にやってみてね!
TeX Live 2021のインストール
上記URLからインストーラをダウンロードします。
自分の環境ではinstall-tl-windows.exe
がきちんと起動しなかった(ミラーリポジトリの選択から一向に進まない)ので、install-tl.zip
をダウンロードしてきました。
install-tl.zip
を解凍して、中にあるinstall-tl-windows.bat
を実行します。
しばらくすると、下記のような画面が出てくると思います。
初期設定のままでは、必要なディスク容量(MB): 7434
となっている通り、約7.5GBも容量をパクパクしてしまいます。
今回は「最小環境」なので、左下の高度な設定
からスキーム
をminimalスキーム
に変更します。
これで必要なディスク容量が203MBまで減りました!オプションは弄らない方がいいみたいなので、TeXworksのチェックだけ外した状態にしてインストールします。
203MBなのですぐに終わりますね!
現在の状態の確認
インストール先のtexliveフォルダは343MB。
こんな感じで、ざっとコマンド実行してみた感じtex
とluatex
が使えてそうですね。肝心のlualatex
は使えないのでTeX Live Managerを使ってインストールしてみましょう。
LuaLaTexを使えるようにする
Tex Live Managerからlatex-bin
パッケージを検索してインストールします。
依存するパッケージは勝手に入れてくれるので、チェックするのはlatex-bin
だけでOKです。
lualatex
コマンドを実行するとなにか表示されてるので使えそうな予感がします。
なので、とりあえずコンパイル。
$ lualatex test.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021/W32TeX)
restricted system commands enabled.
**
! End of file on the terminal... why?
PS C:\Users\kamekyame\Documents\GithubProject\tex-test> lualatex test.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021/W32TeX)
restricted system commands enabled.
(./test.tex
LaTeX2e <2021-06-01> patch level 1
L3 programming layer <2021-07-12>
! LaTeX Error: File `ltjsarticle.cls' not found.
ltjsarticle.cls
がないと怒られます。
luatexja
のインストール
ltjsarticle
はLuaTex-jaに入っているので、luatexja
パッケージをインストールします。
そして、とりあえずコンパイル。
$ lualatex test.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021/W32TeX)
(中略)
! LaTeX Error: File `ltxcmds.sty' not found.
今度はltxcmds.sty
がないと怒られます。
ltxcmds
のインストール
ltxcmds
パッケージをインストールします。
そして、とりあえずコンパイル。
$ lualatex test.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021/W32TeX)
(中略)
LaTeX Error: File `pdftexcmds.sty' not found.
Errorが消えるまで繰り返す
.sty
がないよと言われたら、その名前のパッケージがないということなので、検索してインストール→実行→エラー→インストール→実…
としていきましょう。
ってことで、pdftexcmds
パッケージのインストール。
そして、とりあえずコン(ry
$ lualatex test.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021/W32TeX)
(中略)
! LaTeX Error: File `infwarerr.sty' not found.
infwarerr
パッケージのイン(ry
そしてとりあ(ry
$ lualatex test.tex
This is (ry
! LaTeX Error: File `xkeyval.sty' not found.
xkeyval
の(ry
そして(ry
$ luala(ry
! LaTeX Error: File `etoolbox.sty' not found.
etoolbox
(ry
そ(ry
$ lualatex test.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021/W32TeX)
(中略)
luaotfload | db : Reload initiated (formats: otf,ttf,ttc); reason: File not found: "HaranoAjiMincho-Regular.otf".
おっ。なんか違うエラーが出てきましたね。これはHaranoAjiMincho-Regular.otf
がないといわれていますね。
原ノ味フォント
LuaTeX-jaではデフォルトで原ノ味フォントを使用します。これもTeX Live Managerからインストールできます。
haranoaji
パッケージをインストールしましょう。(ちょっと容量が大きいけど日本語フォントなのでしょうがないところはある…)
余談ですが、原ノ味フォントの名前の由来、おもしろいですね。
「原ノ味」というのは、 源ノフォントからグリフやテーブルが抜けていることを表すために 「氵(さんずい)」を取り、 AJ1 をもじって AJI にして 音から「味」という字をあてたものです。
引用元:原ノ味フォントGithub
余談はこのくらいにして、コンパイル。
$ lualatex test.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021/W32TeX)
(中略)
Output written on test.pdf (1 page, 21344 bytes).
Transcript written on test.log.
Output written on test.pdf
って出来てるんじゃね!!
PDFの確認
test.pdf
を開くと、
おおっ。無事出力されてそうですね!
texliveフォルダの容量
最終的なtexliveフォルダの容量は395MB。原ノ味フォントいれた割には少ない気がするけど、まぁいいか。
もしかして別のとこに入ってたりするのだろうか。
まぁこれだったら僕の持ち運び用よわよわSSD128GBの初代SurfaceBookでも容量気にならなさそうですね!
気になったこと
一応、PDF出力まで出来たので、条件達成です!
とはいえ、試行錯誤してるうちに気になったことがあったのでメモがてらに残しておきます。
- lualatexコマンドを使うのに
latex-bin
を入れる必要があるのか。(というかlatex-bin
でなぜlualatexコマンドが使えるようになるのか) - たくさんパッケージをインストールしたけど、もしかして依存関係で一発インストール出来る別のパッケージorインストール順序があったのか
- ~~
\usepackage{luatexja}
が無くてもコンパイルできたが、必要ないのか(コメントにはltjclasses
とltjsclasses
を使うときにはこの行不要と書いてあったが…)~~どうも、ltjsclasses
はltjsarticle/ltjsreport/ltjsbook
の総称のようです。つまり、今回はltjsarticle
を使っているのでコメント通り不要ということでした。 - 原ノ味フォントではなく、自分の環境に既に入っている源ノ角フォントやNotoフォントは使えないのか
- 友人はWSL上で環境構築してて、どうやらLinuxの方のコンパイルが結構早いと聞いたが実際どうなのか。
- 自分がこれからLaTeXを勉強するため無知なだけだが、目次や図番号、参考文献などのパッケージがLuaLaTeXで使えるものがあるのか
- 日本語組版には
collection-langjapanese
を入れよという記事をよく見る(UpLaTeXなどの環境構築で)が無くても別にいいのか。それとも今後問題が出てくるのか
ざっと出した感じこのような気になることが出てきました。
だれか知っている方いたらコメントなどで教えて下さるとうれしいです。(まぁそもそもLaTeXまともに知らんのにこんな記事書くなって話ですけど…)
VSCodeで使う
やっぱりエディタはVSCodeしか勝たんってことで、~~VSCodeで使う方法を紹介したいのですが、これはまた別記事ということにしておきます。でき次第この記事にもリンク貼っておきますね。~~VSCodeでの環境構築を別記事にまとめました。よかったらこちらもどうぞ