OldSlav-0.1d 修正

|

OldSlav 古代教会スラヴ語 LaTeX パッケージについて,TeX Q & A でいくつかやりとりがあって,その過程で問題点の対応を行った。ここのところ頻繁にリリースを繰り返すはめになってしまった。

OldSlav SlavTeX フォントは教会スラヴ語の文字だけを定義している。英字・数字は含まれない。このため,原稿に英字・数字を書くと期待どおりに出力されないばかりか,セクション番号やノンブルにも不具合をきたしてしまう。後者の問題をなんとかユーザが意識しなくてもよいよう調整するのに,いろいろ試行錯誤し手間取ってしまったのである。

はじめはページスタイルにも手を入れなければならないと思い込んだのが間違いであった。LaTeX では文書クラスファイルのなかで plain, headings などのページスタイルを定義しており,ユーザの指定で柱やノドの様式を出力し分けることができる。まず OldSlav で組むと数字が出ないので,ここを直さなくちゃと必死でページスタイルを修正していたのである。しかしページスタイルはクラスファイルごとに微妙に異なるし,これをいちいちカバーしていると切りがない。思い悩んでシンプルな方法に落ち着いた。TeX のプロからすれば当たり前と言われそうだけど。

Babel 用の教会スラヴ語言語定義 oldchurchslavonic.ldf にある一連の \extrasoldchurchslavonic マクロに対し,次のように付け加えれば解決した。

\let\latin@arabic\@arabic
\def\oldchurchslavonic@arabic#1{%
  \textlatin{\number #1}}
\addto\extrasoldchurchslavonic{%
  \let\@arabic\oldchurchslavonic@arabic}
\addto\noextrasoldchurchslavonic{%
  \let\@arabic\latin@arabic}

まず既存の \@arabic アラビア数字出力命令を保存しておき,\extrasoldchurchslavonic によって教会スラヴ語環境ではラテン文字フォントを明示する \@arabic に挿げ替える。教会スラヴ語環境から抜けるときは \noextrasoldchurchslavonic でもとの定義に戻しておくわけだ。Babel を使わない場合の教会スラヴ語スタイルである oldslav.sty にも同じような切替えを入れた。

\extras言語名」マクロは Babel が提供するインタフェースで,この場合,教会スラヴ語が選択されたときに呼ばれる処理を記述できる仕掛けである。「\noextras言語名」マクロには,逆に当該言語から抜け出るときに行うべき処理を書く。Babel はさすがよく考えられた多言語基盤であると改めて納得した。

Moon Calendar

Profile

ISAO YASUDA。システムエンジニア。神奈川県在住。昭和 30 年代を懐かしむオヤジ。ロシアに興味があります。
[more], [About our site]

Notice

この文書はフィクションであり,実在する個人,団体等とは一切関係ありません。

R-18 指定サイトです。そのうち「18 歳以上ですか」の認証を入れる予定です。

文書の記述内容は無保証です。不適切な表現があればコメントにてご指摘ください。

コメント,トラックバックは,現在,運用を停止しています。ご意見等ありましたら isao@yasuda.homeip.net 宛電子メールにてお願いします。

Links

About this entry

Written by isao at 2006年9月 9日 15:41.

Previous: Perl 詩

Next: 恩田陸『三月は深き紅の淵を』

Recent Entries in Main Index.
All Entries in Archive Index.

February 2012

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
Powered by Movable Type 4.1 blog counter