原稿用紙、その後
原稿用紙マクロが使えるようになった、ということで、一例として、原民喜の『夏の花』の一節を版組みしてみることにした……のだが、冒頭に出てくる:
わが愛する者よ請う急ぎはしれで、「獐」(ノロ)という漢字が出てこない。うーむ。これは OTF パッケージを使う必要がありそうだ。
香わしき山々の上にありて、獐の
ごとく小鹿のごとくあれ
原稿用紙マクロは、桝目に文字を合わせるために独自のフォントメトリックを使っている。OTF パッケージも独自のフォントメトリックを使っているので、そのまま OTF パッケージを使用しようとすると、文字の配列が無茶苦茶になってしまうのだが、otf.sty を読み込むときのオプションに noreplace というのがあって、これを指定しておくと、フォントメトリックはそのままにして、文字を \UTF{} や \CID{} で読み込むことができる。
ということで、やってみると……あれれ?とエラーが出て処理が中断する。うーむ、これは原稿用紙マクロのせいなのかもしれないけれど、気になるのはふたつ。ひとつは、明らかに otf.sty を読み込んだところでこのエラーが出ている、ということ。そして、中括弧に起因するエラー、というのは、いわゆるネストを出入りするようなルーチンを書くときに、しばしば発生するものだ、ということ。ひょっとして、これは otf.sty の問題なのではないだろうか、と考えた。(/usr/local/texlive/2011/texmf-dist/tex/platex/japanese-otf-uptex/otf.sty
! Too many }'s.
l.139 ^^I}
otf.sty で、フォントメトリックの置換を行っているルーチンを見たが、ちょっと見ただけではよく分からない。では、原稿用紙マクロ以外でこのような現象が発生することがないのか、ちょっと試してみたところ……
これを platex で処理すると……同じエラーが出るではないか。しかも、article では出るのに、jarticle や jsarticle では出ない。うーん……\documentclass{article}
\usepackage[noreplace]{otf}
\begin{document}
これは OTF パッケージのテストです。
\end{document}
ということで、思い切って TeX wiki で聞いてみたのがこれだ。原因はやはり、replace に関わるネストにあるようで、皆さんコーディングを検討して下さった。まずは感謝の意をここに表したい。
いくつかの改善案のひとつを基に otf.sty を書き換えると、article の場合も原稿用紙マクロの場合もうまくいくことが分かった。勿論、jarticle や jsarticle でもうまくいく。やはり、三人寄れば文殊の智恵とはよくも言ったもので、 TeX マクロに慣れている人の助けを借りるべきときは、こうやってお願いしてみるのが早道なのかもしれない。
(後記)ここで書かれている問題に関して改善された OTF パッケージ ver. 1.7b5 がリリースされた。齋藤修三郎氏の迅速な対応に対し、ここに深く感謝の意を表するものである。TeX Live 収録のパッケージも修正されたとのこと(CTAN の announcement)だが、現時点では CTAN や TUG のサーバでも反映されていない模様。少し気長に待つべきなのか? 余談だけれど、英語で Mr. Ueda と書かれたのは久しぶりのような気がする……知ってれば当然 Dr. Ueda とか Prof. Ueda とか書くだろうけれど、まあご存知なくて当然か。