再び悩ましい状態に

次世代の TeX / LaTeX 環境をどうしようか、あれこれ document を読みながら考えているのだが、これが実は結構悩ましい。

次世代の TeX / LaTeX 環境としてぱっと頭に浮かぶのは、

  • XeTeX / XeLaTeX
  • LuaTeX / LuaLaTeX
  • ConTeXt (w LuaTeX)
という感じだろう。ConTeXt を使う気は今のところないので、早い話が XeTeX か LuaTeX か、という話である。

日本語環境ということで考えると、LuaTeX-ja プロジェクトが存在する以上、LuaTeX を選択するのが現実的なのは言うまでもない。しかし、LuaTeX と XeTeX を比較した場合、ひとつだけ僕が問題に感ずることがあって、それは polyglossia のことである。

polyglossia は、多言語を XeTeX 上で扱うためのパッケージである。従来の TeX / LaTeX 業界では、この目的にはもっぱら babel が用いられていたが、polyglossia はこの後継とでも言うべき存在である。有用なパッケージで、日本語に関しては九州大学の岩瀬則夫氏が、babel の japanese パッケージに相当する gloss-japanese.ldf と gloss-nihongo.ldf を『XeTeX を使ってみよう(事故で全部消してしまったのでサービス停止中)』で公開されている。

僕は polyglossia の存在を知った当初、これが LuaLaTeX でも使えるだろうと思い込んで喜んだ。しかし……残念ながら、少なくとも現状では polyglossia は XeLaTeX でしか使えないようなのだ。ググってみると、海外でも polyglossia を LuaLaTeX で使いたい、というニーズはあるようなのだが……

じゃあ素直に babel を使えばいいじゃないか、という話になるかもしれない。たしかに babel は LuaLaTeX 上で使えるのだが、japanese パッケージは LaTeX2ε での使用しか考慮されていない。どうやら、LuaLaTeX で多言語環境(日本語を含めて)を享受したいなら、polyglossia を LuaTeX でも動作するようにするか、japanese パッケージを LuaLaTeX + LuaTeX-ja の環境下で使えるように書き換えるかするしかない、ということのようだ。むう。まあ、自力で細々と始めてみましょうか……

まず、babel で japanese.ldf を使った場合に出るエラーをチェックすると、

(/usr/local/texlive/2011/texmf-dist/tex/platex/japanese/japanese.ldf

Package babel Warning: No hyphenation patterns were loaded for
(babel) the language `Japanese'
(babel) I will use the patterns loaded for \language=0 instead.


! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.
...

l.53 \newif\if西
暦 \西暦true%
?
……と出て止まる。これって……アレじゃないの? platex とかではプリミティブに日本語の文字を使っても OK だったけど、LuaTeX ではダメ……ってこと?

ということで、japanese.ldf を見てみると……

\newif\if西暦 \西暦true%
\def\西暦{\西暦true}%
\def\和暦{\西暦false}%
……この辺りからの記述で、
  • \if西暦
  • \西暦
  • \和暦
が登場してくるのだけど、とりあえずこれらを、
  • \if西暦 → \ifSeireki
  • \西暦 → \Seireki
  • \和暦 → \Wareki
のように置換する。ついでに、このファイルを japanesedash.ldf とすることにして、マクロ中の japanese という文字列を japanesedash に置換する。これを japanesedash.ldf という名前で保存して、/usr/local/texlive/texmf-local/tex/platex/japanesedash 辺りに置くことにする。

まさかこれだけで……いや、これだけでいいのである。これを行った後、LuaLaTeX + babel で japanese が(japanesedash という名前に変わっているわけだが)使えるようになったことを確認している。ということで、当面はこれでしのぐことにしようと思う。

2012/04/27(Fri) 12:37:01 | コンピュータ&インターネット

Re:再び悩ましい状態に

この投稿に刺激されて、babel-japanese の新版を作成いたしました。
http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2102
TeX Live でも夕方には利用可能になるでしょう。
texjporg(2016/12/18(Sun) 08:42:14)
Tittle: Name:

Profile

T.T.Ueda
Tamotsu Thomas UEDA

茨城県水戸市生まれ。

横山大観がかつて学んだ小学校から、旧水戸城址にある中学、高校と進学。この頃から音楽を趣味とするようになる。大学は、学部→修士→博士の各課程に在籍し、某省傘下の研究所に就職、その2ヵ月後に学位を授与される(こういう経緯ですが最終学歴は博士課程「修了」です)。職場の隣の小学校で起こった惨劇は未だに心に深く傷を残している。

その後某自動車関連会社の研究法人で国の研究プロジェクトに参画、プロジェクト終了後は数年の彷徨を経て、某所で教育関連業務に従事。

New Entries

Comment

Categories

Archives(898)

Link

Search

Free

e-mail address:
e-mail address