LaTeX サンスクリット語パッケージ skt を Mac OS X にインストールして使ってみた。Charles Wikner 氏によるものである。デーヴァナーガリー文字と、学術論文で用いられるラテン翻字表記とを出力することができる。入力は 7-bit アスキーコードで行う方式なので pTeX でも利用できる。
CTAN: language/sanskrit/ から関連ファイル一式をダウンロードして、TeX ツリーに TDS に従って格納し、skt.map マップ登録を行えば TeX 環境の組み込みは終わりである。
サンスクリットなどインド系言語の TeX パッケージは複雑怪奇なアクセントの記述のためにプリプロセッサで TeX 原稿の前処理を行うものが多く、このパッケージも skt というプリプロッサが添付されている。次にこれを C でコンパイルし、実行バイナリをパスの通った場所にインストールしておく。
% cc -ansi -g -o skt skt.c % su -m # cp -i skt /usr/local/teTeX/bin # exit % rehash
プリプロセッサ skt はそのままでもよいが、私のマシンのコンパイラ(Mac OS X gcc 4.0.0, FreeBSD gcc 3.4.2)で作成した実行バイナリでは、ファイル名指定の引数を省略すると入力/出力ファイルの問い合わせで無限ループに陥る。気難しい scanf 関数を使っているオリジナルのコードを fgets 関数で書き換え、パッチ skt-2.2.patch を作ってみた。これを適用してコンパイルすると、きちんと動作するようになるはずである。
% patch < skt-2.2.patch % cc -ansi -g -o skt skt.c
パッケージの読み込み指示はプリアンブルで次のように記述しておく。オプションは利用する書体指定であり、larger, xitalic, iitalic, titalic, uitalic が選択できる。
\usepackage[larger,iitalic,uitalic]{skt}
原稿をたとえば xxxx.skt という名前で準備したのち、skt プリプロセッサで処理する。この結果生成される xxxx.tex を (p)latex でコンパイルする。次の例は添付のドキュメントを処理し、dvips, ghostscript によって pdf まで生成している。
% skt sktdoc.skt sktdoc.tex % latex sktdoc % latex sktdoc % dvips sktdoc -o % ps2pdf sktdoc.ps sktdoc.pdf
多言語環境などで他のパッケージとともに使うと、問題があった。skt.sty (パッケージスタイルファイル) の \ZH などの定義が \newcommand で定義されており、他のパッケージとコントロール・シーケンス名が重複すると、エラーとなってしまうのである。私の環境では、奇しくも自作の教会スラヴ語パッケージ OldSlav との間でこの状況に陥った。そこで、skt.sty をカンレトディレクトリにコピーしてきて、\newcommand を \renewcommand に書き換えてやると、うまくコンパイルできた。skt.sty を手直ししたくない場合は、OldSlav の \ZH を使わない前提で、まず babel を読み込んだあとで OldSlav の \ZH を無効にする指定 (\let\ZH=\relax) を行いその直後に skt.sty を読み込めばよい。
\usepackage[oldchurchslavonic,...,
nippon]{babel}% babel oldchurchslavonic 指定
\let\ZH=\relax% OldSlav \ZH 無効化
\usepackage[larger,iitalic,uitalic]{skt}% skt 読み込み
タイプセット例は次のとおり。デーヴァナーガリーとラテン翻字表記、リグ・ヴェーダの一節から。サンスクリット語をさまざまな言語とともに私がタイプセットしてみたサンプルもここにリンクしておく。
skt パッケージの命令、記法などの入力仕様詳細は添付の sktdoc.ps を参照。結構難しいかもしれないが、宗教学やインド学でサンスクリットをきちんと組みたいと思う研究者にとって、素晴らしい文房具となるはずである。ArabTeX といい、この skt といい、研究者の情熱が伝わってくる労作である。LaTeX 文化の奥の深さを思い知らされる。

Comments