図書館で奥村晴彦著『[改訂第5版]LaTeX2e美文書作成入門』を目にしたことが直接のきっかけでした。TeXの名前はインターネットの普及以前から知っていましたが触る機会もなく現在に至ります。
動機は数式や化学式の表現ですが、そのうちワープロで使い勝手の良いものが出てくると思っていましたし、科学論文を書くわけでもないので後回しにしてきたわけです。
この本が目に入ったもう一つの理由は奥村晴彦さんの名前をウェブページから知っていたことでした。借りてきたあと、彼のページを改めてみると、現在は第7版がでています。
奥村晴彦・黒木裕介『[改訂第7版]LaTeX2e(ラテック・ツー・イー)美文書作成入門』
TeXの発音はテックまたはテフとされます。私は最初に人から聞いた音がテフなのでそちら派なのですが、ギリシャ語由来なのでフはfuでなく喉の摩擦音なのだそうです。そのように発音するとクと近いのですが、聞き取りにくいので、人に説明する時に高い確率で聞き返されます。そうすると唇の摩擦でfuと言っちゃいますね。
TeX Wiki(奥村晴彦さんのところから)
Debian でのTeX 環境の構築(Youhei SASAKI's official site)
当方のDebianは現在 Debian 9 (strech)。用意されているパッケージマネージャに依存して入れることにする。
TeX はいろいろ複雑だが、linuxでのキーワードは texlive 。
texlive-full ですべて入るというものの、様子見のため関連を見ながら少しずつ入れていく。synapticの履歴です。赤字がインストールを指示したもの。その他は関連で自動的に入ったもの
(1)
Commit Log for Sun Dec 16 01:21:56 2018 以下のパッケージがインストールされました: fonts-lmodern (2.004.5-3) fonts-texgyre (20160520-1) libfile-homedir-perl (1.00-1) libfile-which-perl (1.21-1) libptexenc1 (2016.20160513.41080.dfsg-2+deb9u1) libsynctex1 (2016.20160513.41080.dfsg-2+deb9u1) libtexlua52 (2016.20160513.41080.dfsg-2+deb9u1) libtexluajit2 (2016.20160513.41080.dfsg-2+deb9u1) libyaml-tiny-perl (1.70-1) libzzip-0-13 (0.13.62-3.1) lmodern (2.004.5-3) prosper (1.00.4+cvs.2007.05.01-4.1) ps2eps (1.68+binaryfree-2) t1utils (1.39-2) tex-common (6.06) tex-gyre (20160520-1) texlive (2016.20170123-5) texlive-base (2016.20170123-5) texlive-binaries (2016.20160513.41080.dfsg-2+deb9u1) texlive-extra-utils (2016.20170123-5) texlive-font-utils (2016.20170123-5) texlive-fonts-recommended (2016.20170123-5) texlive-fonts-recommended-doc (2016.20170123-5) texlive-generic-recommended (2016.20170123-5) texlive-latex-base (2016.20170123-5) texlive-latex-base-doc (2016.20170123-5) texlive-latex-recommended (2016.20170123-5) texlive-latex-recommended-doc (2016.20170123-5) texlive-pictures (2016.20170123-5) texlive-pictures-doc (2016.20170123-5) texlive-pstricks (2016.20170123-5) texlive-pstricks-doc (2016.20170123-5) tipa (2:1.3-20)
(2)
Commit Log for Sun Dec 16 01:31:14 2018 以下のパッケージがインストールされました: fonts-arphic-bkai00mp (2.10-15) fonts-arphic-bsmi00lp (2.10-17) fonts-arphic-gbsn00lp (2.11-15) fonts-arphic-gkai00mp (2.11-15) fonts-baekmuk (2.2-11) fonts-ipaexfont-gothic (00301-3) fonts-ipaexfont-mincho (00301-3) fonts-sil-padauk (2.80-2) fonts-unfonts-core (1.0.2-080608-13) fonts-unfonts-extra (1.0.2-080608+dfsg-6) latex-cjk-all (4.8.4+git20150701-2) latex-cjk-chinese (4.8.4+git20150701-2) latex-cjk-chinese-arphic-bkai00mp (1.23) latex-cjk-chinese-arphic-bsmi00lp (1.23) latex-cjk-chinese-arphic-gbsn00lp (1.23) latex-cjk-chinese-arphic-gkai00mp (1.23) latex-cjk-common (4.8.4+git20150701-2) latex-cjk-japanese (4.8.4+git20150701-2) latex-cjk-japanese-wadalab (0.20050817-17) latex-cjk-korean (4.8.4+git20150701-2) latex-cjk-thai (4.8.4+git20150701-2) texlive-lang-chinese (2016.20170123-5) texlive-lang-cjk (2016.20170123-5) texlive-lang-japanese (2016.20170123-5) texlive-lang-korean (2016.20170123-5) texlive-lang-other (2016.20170123-5)
(3)
Commit Log for Sun Dec 16 01:37:54 2018 以下のパッケージがインストールされました: texlive-science (2016.20170123-5) texlive-science-doc (2016.20170123-5)
(4)
Commit Log for Sun Dec 16 01:47:21 2018 以下のパッケージがインストールされました: texlive-luatex (2016.20170123-5)
(5)
Commit Log for Sun Dec 16 01:49:34 2018 以下のパッケージがインストールされました: preview-latex-style (11.90-1) texlive-generic-extra (2016.20170123-5) texlive-latex-extra (2016.20170123-5) texlive-latex-extra-doc (2016.20170123-5) texlive-xetex (2016.20170123-5)
GUIでメニューにアイコンができるわけでなく、端末からコマンドを探してみる。
texで始まるコマンドの検索
adachi@debian64:~$ tex[\t][\t] tex texdiff texhash texluajit tex4ebook texdirflatten texliveonfly texluajitc tex4ht texdoc texloganalyser texosquery texcount texdoctk texlua texdef texfot texluac
texは起動するが使い方がわからない
plaで始まるコマンドの検索
adachi@debian64:~$ pla[\t][\t] platex player
本に従い、.texファイルを作ってplatexに食わせてみる。
adachi@debian64:~$ cat test.tex
\documentclass{article}
\begin{document}
Hello, \TeX!
\[ \int dx = x + C. \]
\end{document}
で実行。
adachi@debian64:~$ platex test.tex This is e-pTeX, Version 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (TeX Live 2016/Debian) (preloaded format=platex) restricted \write18 enabled. entering extended mode (./test.tex pLaTeX2e <2016/11/29> (based on LaTeX2e <2017/01/01> patch level 3) Babel <3.9r> and hyphenation patterns for 12 language(s) loaded. (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2014/09/29 v1.4h Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)) No file test.aux. [1] (./test.aux) ) Output written on test.dvi (1 page, 380 bytes). Transcript written on test.log.
dviができている。
adachi@debian64:~$ ll test.* -rw-r--r-- 1 adachi adachi 8 12月 16 14:31 test.aux -rw-r--r-- 1 adachi adachi 380 12月 16 14:31 test.dvi -rw-r--r-- 1 adachi adachi 934 12月 16 15:00 test.log -rw-r--r-- 1 adachi adachi 92 12月 16 14:24 test.tex
またまた本に従い、dvipdfmを使うとpdfファイルになる。
adachi@debian64:~$ dvipdfm test test -> test.pdf [1] 4530 bytes written
ただし、dvipdfなんたらというのがいくつかあって、--helpでは違いがわからん
adachi@debian64:~$ dvipdf[\t][\t] dvipdf dvipdfm dvipdfmx dvipdft
おまけにpdfにしなくても、GUIファイルマネージャからdviファイルをドキュメントビュアーで開くことができる。呼び出されるのは、Evince。
『Evince はシンプルで複数ページ対応の文書ビューアです。PostScript (PS), Encapsulated PostScript (EPS), DjVu, DVI, Portable Document Format (PDF), XML Paper Specification (XPS) ファイルの表示と印刷ができます。 対応している文書であれば、テキスト検索、テキストのクリップボードへのコピー、 ハイパーテキスト移動、目次ブックマークも可能です。』
次はEvinceによる表示の一部をキャプチャしたものです。(大部分が白紙なので一部の紹介にします...)

まず、Texは組版システムで、laTeXがそれを元にした文書処理システムであるという。
縦書きや禁則などの日本語処理を加えたものがpTeX, plaTeXとなる。古くからあるソフトなので歴史的にいろいろ拡張があり、Unicode対応のupTeX, LuaTeX, LuajitTeX, XeTeX などの派生も多い。1994年からの新版は後ろに2εがついて、LaTeX2eなどがある。
TeXliveはその集大成のものらしいが、含まれるコマンドの使い分けが明確でない。
組版システムだけで使わないという前提なのかlaがつかないで文書処理までこなすものがあったり、デバイスに依存しないdviファイルを作ってからpdfに再変換するということをせずに、一気にpdf作成までやってしまうものもある。
| 組版システム | 文書処理システム | 説明 |
|---|---|---|
| TeX | LaTeX | |
| pTeX | pLaTeX | 日本語化(縦書、禁則)(→e-pTeX) |
| upTeX | upLaTeX | 内部を Unicode化(→e-pTeX)\documentclass[uplatex]{jsarticle} |
| LuaTeX | LuaLaTeX | Unicode に完全対応 |
| LuajitTeX | LuajitLaTeX | Unicode に完全対応 |
| XeTeX | XeLaTeX | Unicode に完全対応。xdvipdfmx でpdfまで |
| pdfTeX | - | 直接pdfまで |
platex test.tex のコマンドで、This is e-pTeX, Version 3.14159265...から表示が始まり、platex コマンドは e-pTeX に関連づけられている。
コマンドとその種類は1対1で対応しているわけではないようだ。
そこで考えられるコマンドを起動して初期メッセージ This is の後ろを調べる。
| comm. | disc. | Version | rest. |
|---|---|---|---|
| tex | TeX | Version 3.14159265 (TeX Live 2016/Debian) (preloaded format=tex) | |
| latex | pdfTeX | Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=latex) | restricted \write18 enabled. |
| ptex | pTeX | Version 3.14159265-p3.7.1 (utf8.euc) (TeX Live 2016/Debian) (preloaded format=ptex) | restricted \write18 enabled. |
| platex | e-pTeX | Version 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (TeX Live 2016/Debian) (preloaded format=platex) | restricted \write18 enabled. |
| eptex | e-pTeX | Version 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (TeX Live 2016/Debian) (preloaded format=eptex) | restricted \write18 enabled. |
| uptex | upTeX | Version 3.14159265-p3.7.1-u1.21 (utf8.uptex) (TeX Live 2016/Debian) (preloaded format=uptex) | restricted \write18 enabled. |
| uplatex | e-upTeX | Version 3.14159265-p3.7.1-u1.21-161114-2.6 (utf8.uptex) (TeX Live 2016/Debian) (preloaded format=uplatex) | restricted \write18 enabled. |
| euptex | e-upTeX | Version 3.14159265-p3.7.1-u1.21-161114-2.6 (utf8.uptex) (TeX Live 2016/Debian) (preloaded format=euptex) | restricted \write18 enabled. |
| etex | pdfTeX | Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=etex) | restricted \write18 enabled. |
| xetex | XeTeX | Version 3.14159265-2.6-0.99996 (TeX Live 2016/Debian) (preloaded format=xetex) | restricted \write18 enabled. |
| xelatex | XeTeX | Version 3.14159265-2.6-0.99996 (TeX Live 2016/Debian) (preloaded format=xelatex) | restricted \write18 enabled. |
| luatex | LuaTeX | Version 0.95.0 (TeX Live 2016/Debian) | restricted system commands enabled. |
| lualatex | LuaTeX | Version 0.95.0 (TeX Live 2016/Debian) | restricted system commands enabled. |
| luajittex | LuajitTeX | Version 0.95.0 (TeX Live 2016/Debian) | restricted system commands enabled. |
this is ...部分を中心にまとめ直すと、
| comm. | disc. | |
|---|---|---|
| tex | TeX | |
| latex | etex | pdfTeX |
| ptex | pTeX | |
| platex | eptex | e-pTeX |
| uptex | upTeX | |
| uplatex | euptex | e-upTeX |
| xetex | xelatex | XeTeX |
| luatex | lualatex | LuaTeX |
| luajittex | LuajitTeX | |
platexがBoldなのは、\documentclass{jarticle} を冠したファイルではこれしか使えなかったから。次のような表示になる。
latex This file needs format `pLaTeX2e' but this is `LaTeX2e'.
ptex Undefined control sequence. l.1 \documentclass {jarticle}
uptex Undefined control sequence. l.1 \documentclass {jarticle}
uplatex LaTeX Error: Encoding scheme `JY1' unknown.
xetex Undefined control sequence. l.1 \documentclass {jarticle}
luatex Undefined control sequence. l.1 \documentclass {jarticle}
luajittex I can't find the format file `luajittex.fmt'!
うまく行くものでpdfまで作った記録。test.texの時は「article」だった。今回のは「jarticle」変換中の出力にpLaTeX2eが見える。
adachi@debian64:~/Documents/m12$ platex test2.tex This is e-pTeX, Version 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (TeX Live 2016/Debian) (preloaded format=platex) restricted \write18 enabled. entering extended mode (./test2.tex pLaTeX2e <2016/11/29> (based on LaTeX2e <2017/01/01> patch level 3) Babel <3.9r> and hyphenation patterns for 12 language(s) loaded. (/usr/share/texlive/texmf-dist/tex/platex/base/jarticle.cls Document Class: jarticle 2016/11/22 v1.7b Standard pLaTeX class (/usr/share/texlive/texmf-dist/tex/platex/base/jsize10.clo)) (./test2.aux) [1] (./test2.aux) ) Output written on test2.dvi (1 page, 1008 bytes). Transcript written on test2.log.
dviはevinceで開けないが、pdfにすれば開ける
adachi@debian64:~/Documents/m12$ dvipdfm test2.dvi test2.dvi -> test2.pdf [1] 3025 bytes written
元の.texファイルは
\documentclass{jarticle}
\begin{document}
コンピュータ分野で1024バイトを1キロバイトという習慣があるのは知っている。
しかし、キロが10$^3$であることをさしおいて教科書に記述することではない。
教科書によっては普通は$10^3$であることを説明していないものすらある。これはまずい。
国際単位系に基づき1000倍ごとに接頭語が決められているとをまずきちんと説明すべきことだと思う。
\end{document}
Debian上なので文字コードは当然utf-8です。
pdfをevinceで開いて100%表示(A4設定になっていると思われる)で、横の余白をそのままに上下をカットしたスクリーンショット。

\documentclass{jsarticle} にした場合は以下のようになる。こちらはDebianのファイルマネージャ(Nautilus)でプレビューされないのが気になる。

必要ないと思うが、作成時の画面の表示
adachi@debian64:~/Documents/m12$ platex test2.tex This is e-pTeX, Version 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (TeX Live 2016/Debian) (preloaded format=platex) restricted \write18 enabled. entering extended mode (./test2.tex pLaTeX2e <2016/11/29> (based on LaTeX2e <2017/01/01> patch level 3) Babel <3.9r> and hyphenation patterns for 12 language(s) loaded. (/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jsarticle.cls Document Class: jsarticle 2017/01/13 okumura, texjporg (/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jslogo.sty)) (./test2.aux) [1] (./test2.aux) ) Output written on test2.dvi (1 page, 936 bytes). Transcript written on test2.log. adachi@debian64:~/Documents/m12$ dvipdfm test2.dvi test2.dvi -> test2.pdf [1] 2998 bytes written
エラーの中で、Undefined control sequence. l.1 \documentclass {jarticle}...などとあったので、documentclassの書き方で使えるようになるものがあるかと考えて調べているうち縦書きがあった。同じものを{tarticle}として変換してみる。
\documentclass{tarticle}
\begin{document}
コンピュータ分野で1024バイトを1キロバイトという習慣があるのは知っている。
しかし、キロが10$^3$であることをさしおいて教科書に記述することではない。
教科書によっては普通は$10^3$であることを説明していないものすらある。これはまずい。
国際単位系に基づき1000倍ごとに接頭語が決められているとをまずきちんと説明すべきことだと思う。
\end{document}
スクリーンショットは同様に上下をカットした。長音符、句点、1024は良いとして、1キロバイトなど、このままでは実用に耐えない。いろいろ設定をすれば直るかもしれないが、句読点や長音符がデフォルトで解決できていないなら、先は遠い。

理系分野では縦書きは避けたいので、とりあえずは現状確認でこれ以上踏み込まない。ちなみに、数式が出てくる縦書きの本は買わない。
Tex wiki のLaTeX入門/発展編にupLaTeX の説明があって、
\documentclass[uplatex,...]{jsarticle}
と[uplatex]を加えればよいということなので、やってみます。
uはunicodeですが、JIS 第一・第二水準に含まれない文字も気にせず使えるということのようです(unicode対応というだけだとファイルの文字コードがunicode系でもよいというだけの可能性もあります)。
adachi@debian64:~/Documents/m12$ uplatex test4.tex This is e-upTeX, Version 3.14159265-p3.7.1-u1.21-161114-2.6 (utf8.uptex) (TeX Live 2016/Debian) (preloaded format=uplatex) restricted \write18 enabled. entering extended mode (./test4.tex pLaTeX2e <2016/11/29u01> (based on LaTeX2e <2017/01/01> patch level 3) Babel <3.9r> and hyphenation patterns for 12 language(s) loaded. (/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jsarticle.cls Document Class: jsarticle 2017/01/13 okumura, texjporg (/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jslogo.sty)) (./test4.aux) [1] (./test4.aux) ) Output written on test4.dvi (1 page, 1820 bytes). Transcript written on test4.log.
dvipdfmも今回はx付きのdvipdfmxにしました。
dvipdfmでも実際にはdvipdfmxが走っているということですが。
adachi@debian64:~/Documents/m12$ dvipdfmx test4.dvi test4.dvi -> test4.pdf [1 dvipdfmx:warning: CMap has higher supplement number than CIDFont: Ryumin-Light dvipdfmx:warning: Some chracters may not be displayed or printed. char=0x2000b(131083) Tried to set a nonexistent character in a virtual font char=0x2123d(135741) Tried to set a nonexistent character in a virtual font char=0x20bb7(134071) Tried to set a nonexistent character in a virtual font] 6593 bytes written
jsarticle指定なので、同様に成功します。
結論はJIS X 0213で追加された文字の一部は表示される。使用するフォントを変更すれば(そしてフォントを埋め込めば他のPCでも)全部表示できるかもしれないが、今の所不明。
JISX0208にない文字と言ってもいろいろなので、検証します。
まず、このページのなかで[と]の間の文字が見えていない場合はそもそも説明に無理があります。
\documentclass[uplatex]{jsarticle}
\begin{document}
コンピュータ分野で1024バイトを1キロバイトという習慣があるのは知っている。
しかし、キロが10$^3$であることをさしおいて教科書に記述することではない。
教科書によっては普通は$10^3$であることを説明していないものすらある。これはまずい。
国際単位系に基づき1000倍ごとに接頭語が決められているとをまずきちんと説明すべきことだと思う。\\
■(1)JIS X 0213:2004で例示字形が変更されたものの例\\
U+845B:[葛] ヒか人か\\
U+914B:[酋] ツノか八か\\
■(2)JIS X 0213で追加された(JISX0208にない)文字の例\\
U+2460:[①] 丸に1\\
U+24D0:[ⓐ] 丸にa\\
U+5721:[圡] 土の横線の間に点\\
U+9DD7:[鷗] 品 1983以前のJISX0208になく0213に存在\\
U+9D0E:[鴎] メ 1983以降のJISX0208ではこれ\\
■(3)JIS X 0213で追加され、unicodeでサロゲートペアを使う文字の例\\
U+2000B:[𠀋] 丈の上に点\\
U+2123D:[𡈽] 土の上に点\\
■(4)JIS X 0213にはなく、unicodeでサロゲートペアを使う文字の例\\
U+20BB7:[𠮷] 土吉
\end{document}
出来上がったpdfを見ると

まず、JIS X 0208が第一水準、第二水準を定めたものです。JIS X 0213で第三・四水準を追加し、unicodeに取り込まれています。WindowsでShift_JISといえば0208の時代のもの、unicodeといえば0213に対応したものという意味になります。細かく言えば正しくはないのですが。
\documentclass{jsarticle} の代わりに \documentclass{ltjsarticle} を使用すれば、使えるとのこと。試してみます。
adachi@debian64:~/Documents/m12$ lualatex test5.tex
This is LuaTeX, Version 0.95.0 (TeX Live 2016/Debian)
restricted system commands enabled.
(./test5.tex
LaTeX2e <2017/01/01> patch level 3
(using write cache: /home/adachi/.texlive2016/texmf-var/luatex-cache/generic)(u
sing read cache: /var/lib/texmf/luatex-cache/generic /home/adachi/.texlive2016/
texmf-var/luatex-cache/generic)
luaotfload | main : initialization completed in 0.310 seconds
Babel <3.9r> and hyphenation patterns for 1 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls
Document Class: ltjsarticle 2017/01/23 ltjsclasses
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/luatexja.sty
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
(/usr/share/texlive/texmf-dist/tex/luatex/luatexbase/luatexbase.sty
(/usr/share/texlive/texmf-dist/tex/luatex/ctablestack/ctablestack.sty))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/luatex-loader.sty
(/usr/share/texlive/texmf-dist/scripts/oberdiek/oberdiek.luatex.lua)))
(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex))))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/atbegshi.sty)
(/usr/share/texlive/texmf-dist/tex/latex/everyhook/everyhook.sty
(/usr/share/texlive/texmf-dist/tex/latex/svn-prov/svn-prov.sty)
(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty))(save cache: /h
ome/adachi/.texlive2016/texmf-var/luatexja/ltj-cid-auto-adobe-japan1.lua)(save
cache: /home/adachi/.texlive2016/texmf-var/luatexja/ltj-cid-auto-adobe-japan1.l
uc) (/usr/share/texlive/texmf-dist/tex/luatex/luatexja/ltj-base.sty)
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/tuenc.def)
(/usr/share/texlive/texmf-dist/tex/latex/ms/everysel.sty)
ABD: EverySelectfont initializing macros)
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty(compili
ng luc: /var/lib/texmf/luatex-cache/generic/fonts/otl/lmroman10-regular.luc)(lo
ad luc: /home/adachi/.texlive2016/texmf-var/luatex-cache/generic/fonts/otl/lmro
man10-regular.luc)(save cache: /home/adachi/.texlive2016/texmf-var/luatexja/ext
ra_lmroman10-regular.lua)(save cache: /home/adachi/.texlive2016/texmf-var/luate
xja/extra_lmroman10-regular.luc)(compiling luc: /var/lib/texmf/luatex-cache/gen
eric/fonts/otl/fonts-japanese-mincho.luc)(compiling luc: /home/adachi/.texlive2
016/texmf-var/luatex-cache/generic/fonts/otl/fonts-japanese-mincho.luc)(save: /
home/adachi/.texlive2016/texmf-var/luatex-cache/generic/fonts/otl/fonts-japanes
e-mincho.lua)(save: /home/adachi/.texlive2016/texmf-var/luatex-cache/generic/fo
nts/otl/fonts-japanese-mincho.luc)(save cache: /home/adachi/.texlive2016/texmf-
var/luatexja/extra_fonts-japanese-mincho.lua)(save cache: /home/adachi/.texlive
2016/texmf-var/luatexja/extra_fonts-japanese-mincho.luc)
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/jfm-ujisv.lua)
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua))
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty)
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.sty
(/usr/share/texlive/texmf-dist/tex/latex/filehook/filehook.sty))))
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/luatexja-compat.sty(save cac
he: /home/adachi/.texlive2016/texmf-var/luatexja/ltj-jisx0208.luc)))(compiling
luc: /var/lib/texmf/luatex-cache/generic/fonts/otl/lmroman8-regular.luc)(compil
ing luc: /home/adachi/.texlive2016/texmf-var/luatex-cache/generic/fonts/otl/lmr
oman8-regular.luc)(save: /home/adachi/.texlive2016/texmf-var/luatex-cache/gener
ic/fonts/otl/lmroman8-regular.lua)(save: /home/adachi/.texlive2016/texmf-var/lu
atex-cache/generic/fonts/otl/lmroman8-regular.luc)(save cache: /home/adachi/.te
xlive2016/texmf-var/luatexja/extra_lmroman8-regular.lua)(save cache: /home/adac
hi/.texlive2016/texmf-var/luatexja/extra_lmroman8-regular.luc)
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jslogo.sty))
No file test5.aux.
ABD: EverySelectfont initializing macros [1{/var/lib/texmf/fonts/map/pdftex/upd
map/pdftex.map}] (./test5.aux))
(see the transcript file for additional information)
3592 words of node memory still in use:
7 hlist, 1 vlist, 5 rule, 93 glue, 21 kern, 1 glyph, 1140 attribute, 41 glue
_spec, 63 attribute_list, 1 write, 10 user_defined nodes
avail lists: 1:4,2:20597,3:144,4:47,5:12,6:998,7:787,8:548,9:74,10:9,11:4
</usr/share/texmf/fonts/opentype/public/lm/lmroman10-regular.otf></usr/share/fo
nts/truetype/fonts-japanese-mincho.ttf></usr/share/texlive/texmf-dist/fonts/typ
e1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-dist/fonts/type1/publ
ic/amsfonts/cm/cmr7.pfb>
Output written on test5.pdf (1 page, 161855 bytes).
Transcript written on test5.log.
出来上がったpdfを見ると

土吉以外はうまく行っている。つまり JIS X 0213 の範囲で完全対応。
下の表で、documentclassに記述のあるものが使える。日本語対応状況は備考に示したとおり。数式に使うつもりで始めたが日本語対応だけで一区切り付ける。
documentclassについては入門書がarticleから始めていたので、名前が近いものを挙げているが、コマンドごとに対応に細かな違いがあり詳しくは調査していない。
文書にオプションを加えたり、設定ファイルを書き換えたりして調整できることもあるらしいが、ここまでの調査ではDebianのデフォルトでの状態で述べている。
| hogetex | with"la" | documentclass | testfile | 内部で使用? | command-file | 備考 | |
|---|---|---|---|---|---|---|---|
| tex | UCS | latex | {article} | test.tex | pdfTeX,LaTeX2e | ->pdftex | 英数のみ |
| ptex | UCS | platex | {jsarticle} | test2.tex | e-pTeX,pLaTeX2e | ->eptex | JISX0208 |
| etex | UCS | - | - | - | - | - | |
| eptex | UCS | - | - | - | - | - | |
| uptex | UCS | uplatex | [uplatex]{jsarticle} | test4.tex | e-upTeX,pLaTeX2e | ->euptex | JISX0213(サロゲートペアなど一部不対応) |
| euptex | UCS | - | - | - | - | - | |
| xetex | UCS | xelatex | [xelatex,ja=standard]{bxjsreport} | testx.tex | XeTex,LaTeX2e | ->xetex | JISX0213(丸数字など一部不対応),pdfまで作る |
| luatex | UCS | lualatex | {ltjsarticle} | test5.tex | LuaTeX,LaTeX2e | ->luatex | JISX0213対応,pdfまで作る |
"la"のつかないhogetexはdocumentclassなどの構文を理解しないので"Undefined control sequence"とメッセージを吐いて止まる(UCS)。laのついたコマンドとの対応のために書いておく。
しかし、laのついたコマンドがついていないコマンドへのシンボリックリンクになっていることが多い。
「testfile」はテストに使った.texファイル名。
「内部で使用?」はメッセージ中に現れる"*tex*"な名前。
LuajitTeX は Lua のJIT(Just-In-Time Compiler:その場で機械語へコンパイル)版とのことで、うまく動かすにはもう少し調べる必要があり、表に入れなかった。
日本語対応は文字コードだけではない。英字と日本の文字が混在する文書でのバランスであるとか、禁則処理やルビなどもある。古いバージョンを使い込んだ場合に貯まるノウハウや設定ファイルやひよっとしたら改良版などがあれば、新しいものに切り替えないほうが楽。めったに使わない文字のために切り替える必然はない。過去の文書が使えなくなったり崩れたりするのは困る。
その意味では歴史あるjsarticleとpLaTex2eを使うuplatexが、どこでも動き安定しているように予想できる。utf-8のファイルでよいし、丸付き数字・英字が安心して使える。
しかし、これからのことを考えると LuaTeX-ja があることで LuaTeX が取って代わる可能性がある。
ただし、今の所ここで書いた表層的な実験と勘だけが根拠だ。