36 そろそろ TEX 乗り換えるかな -- upLaTeX と LuaLaTeX-ja を試す

学科では、学生の MacBook に MacTeX をインストールして配布しているのだが、 TeXShop で ptex2pdf を使いましょう、となっていて (今でも本当にそうなのかな?)、 私もそれに習えをしていたけれど、いいかげん窮屈になってきたので、 乗り換えを考えよう。

upLaTeX か LuaLaTeX かなあ。


upLaTeX を試す

TEX upTeX, upLaTeX - TeX Wiki にあるようにやってみた。
kumo.tex

/Users/mk/.tex-inputs/kumo.tex.tex
こうやってPDFにする
uplatex kumo.tex
dvipdfmx kumo.dvi

Unicode OK と縦書きを見せたい、と言う例なのだろうけれど、 横書きならば ujarticle とかするのかな。

自分が持っている長め(300ページくらいの講義ノート)の文書を組版してみよう。
cp complex2022.tex complex2022u.tex
vi complex2022u.tex
(jarticle を ujarticle に直す)
uplatex complex2022u.tex
uplatex complex2022u.tex
upbibtex complex2022u
upmendex complex2022u
uplatex complex2022u.tex
dvipdfmx -d 5 -O 2 complex2022u.dvi
特に問題ないみたいだ。upLaTeX への乗り換えは簡単そう。 もう個人的にはこちらに乗り換えるのかな。

pLATEX から upLATEXへ乗り換えるときの要点

(2022/9/17追記) 「[改訂新版]upLaTeXを使おう」 というのを見つけた。

(2022/9/18追記) latex2html は ujarticle は知らない、という。
cd /usr/local/share/lib/latex2html/styles
sudo cp -p jarticle.perl ujarticle.perl
cd -
とするのは乱暴すぎる?


(2022/9/25) しばらく使ってみて。


LuaLaTeX を試す

「LuaTeX-ja の使い方¶」 を参考にやってみる。

LuaLaTeX-ja と言うのを使うのかな。 TeX Live を使っているならば既にインストールされているはず、らしい。 信じて前進する。

testluatex.tex
\documentclass{ltjsarticle}
\usepackage{luatexja} % ltjclasses, ltjsclasses を使うときはこの行不要
\begin{document}
\section{はじめてのLua\TeX-ja}
ちゃんと日本語が出るかな?
\subsection{出たかな?}
長い文章を入力するとちゃんと右端のところで折り返されるかな?
大丈夫そうな気がするけど.ちょっと不安だけど何事も挑戦だよね.
\end{document}

なんか、読むと使うのが不安になる(笑)。 documentclass で指定できるのは、 ltjsclassesltjclasses があるが、 将来的にどうなるか決まっていないとか。

和文フォントは原ノ味フォントが埋め込まれるとか。

とりあえず
lualatex testluatex.tex
これでちゃんと pdf ファイルができる。大丈夫だったよ。

次にフォントの指定をする例を試す。
testluatex2.tex
\documentclass{ltjsarticle}

\usepackage{luatexja-fontspec}

\setmainfont[Ligatures=TeX]{TeXGyreTermes}
\setsansfont[Ligatures=TeX]{TeXGyreHeros}

\setmainjfont[BoldFont=HaranoAjiMincho-Bold]{HaranoAjiMincho-Regular}
\setsansjfont{HaranoAjiGothic-Medium}

\newjfontfamily\jisninety[CJKShape=JIS1990]{HaranoAjiMincho-Regular}

\begin{document}

mainのフォント.{\bfseries boldのフォント.}{\sffamily\gtfamily sansのフォント.}

通常の「辻」.{\jisninety JIS90字形の「辻」.}

{\fontspec{M+ 1c}\jfontspec{M+ 1c} ここはM$^{\mbox{+}}$フォントで出力.}

\end{document}

なんだか難しそう。

できるかな?
lualatex testluatex2.tex
これは次のようなエラーになった。
luaotfload | db : Reload initiated (formats: otf,ttf,ttc); reason: Font "M+1c" not found.
luaotfload | resolve : sequence of 3 lookups yielded nothing appropriate.

! Package fontspec Error: The font "M+1c" cannot be found.

原因はそのものズバリで M+1c というフォントがインストールされていないこと。

「美しいフリーフォント M+ FONTS の種類が多すぎてわかりにくいので比較してみた」 によると M+ OUTLINE FONTS | DOWNLOAD から mplus-TESTFLIGHT-059.tar.xz を入手せよ、とあるけれど、WWWサイトが無くなっている。

https://osdn.net/projects/mplus-fonts/releases/62344から https://osdn.net/projects/mplus-fonts/downloads/62344/mplus-TESTFLIGHT-063a.tar.xzを入手した。

mplus-TESTFLIGHT-063a.tar.xz を展開して、 .ttf を選択して(面倒なので全部選択して)インストールした。 今度は
lualatex testluatex2.tex
が正常に終了した。結果は

大丈夫らしい。

(TeXLive 全部入れてると細かいことに悩まないで済むのは楽だな。)


追記: ファイル拡張子が .xz のファイルの展開は、 macOS ではサポートされていないみたい?? ネットを見ると、色々なフリーソフトを使う方法が説明されている。 例えば xzcat を使ってやってみよう。これは MacPorts を使うと
sudo port install xz
でインストールされる。
tar xJf mplus-TESTFLIGHT-063a.tar.xz
とすると mplus-TESTFLIGHT-063a というディレクトリィが現れる。

ところが…実は現在の macOS では、 mplus-TESTFLIGHT-063a.tar.xz は、 macOS のアーカイブユーティリティでも展開できるみたい。
% mdfind アーカイブユーティリティ.app
/System/Library/CoreServices/Applications/Archive Utility.app
アーカイブユーティリティの実体は /System/Library/CoreServices/Applications/Archive Utility.app にある。

参考: MacOS adds XZ-compression support


(2022/10/16追記) 上では lualatex コマンドを使って組版したが、 TeXShop でファイルを開くと、自動的に判定されて、 \fbox{タイプセット} ボタンを押すだけでちゃんと処理できることに気づいた。 当たり前なのかもしれないが便利で嬉しい。

桂田 祐史