LaTeX サンスクリット語パッケージ skt を Mac OS X にインストールして使ってみた。Charles Wikner 氏によるものである。デーヴァナーガリー文字と,学術論文で用いられるラテン翻字表記とを出力することができる。入力は 7-bit アスキーコードで行う方式なので pTeX でも利用できる。
CTAN: language/sanskrit/ から関連ファイル一式をダウンロードして,TeX ツリーに TDS に従って格納し,skt.
サンスクリットなどインド系言語の 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.
% 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 プリプロセッサで処理する前の原稿 skt-test.skt は以下のとおりである。
% Sanskrit LaTeX package skt sample code: skt-test.skt % coded by isao yasuda. % - preprocess: skt skt-test.skt skt-test.tex % - compile: pdflatex skt-test \documentclass[a4paper,12pt]{article} \usepackage[T1]{fontenc} \usepackage[larger,iitalic,uitalic]{skt} \pagestyle{empty} {\skt [0- 1+ 2+ 6+ 7+ 8+ 9+ 10+]} \begin{document} {\sktX Devanaagarii} \verb+{\+\verb+sktb te_ja_svi naa_vadhii!tamastu|}+\hspace{2mm} {\sktb te_ja_svi naa_vadhii!tamastu|} \vspace{1em} \textbf{Basic Transliteration} {\skt [6+]} \verb+{\+\verb+sktx te_ja_svi naa_vadhii!tamastu|}+\hspace{.8mm} {\sktx te_ja_svi naa_vadhii!tamastu|} \vspace{1em} \textbf{Sample Text from} {\sktX .Rgveda 10..125..} \vspace{.5em} \hspace*{10mm}% \begin{minipage}{122mm} \addtolength{\parskip}{2mm} \renewcommand{\baselinestretch}{1.1} {\skt [40+ 44+] a_ha.m ru_drebhi_rvasu!bhi"scaraamya_hamaa!di_tyairu_ta vi_"svade!vai.h|\\ a_ha.m mi_traavaru!.no_bhaa bi!bharmya_hami!ndraa_gnii a_hama_"svino_bhaa|| 1|| a_ha.m soma!maaha_nasa!.m bibharmya_ha.m tva.s.taa!ramu_ta puu_.sa.na_.m bhaga!m|\\ a_ha.m da!dhaami_ dravi!.na.m ha_vi.sma!te supraa_vye"3 yaja!maanaaya sunva_te|| 2|| a_ha.m raa.s.trii! sa_.mgama!nii_ vasuu!naa.m ciki_tu.sii! pratha_maa ya_j~niiyaa!naam|\\ taa.m maa! de_vaa vya!dadhu.h puru_traa bhuuri!sthaatraa_.m bhuuryaa!ve_"saya!ntiim|| 3|| mayaa_ so anna!matti_ yo vi_pa"sya!ti_ ya.h praa.ni!ti_ ya ii!.m "s.r_.notyu_ktam|\\ a_ma_ntavo_ maa.m ta upa! k.siyanti "sru_dhi "sru!ta "sraddhi_va.m te! vadaami|| 4||} {\skt a_hame_va sva_yami_da.m va!daami_ ju.s.ta!.m de_vebhi!ru_ta maanu!.sebhi.h|\\ ya.m kaa_maye_ ta.mta!mu_gra.m k.r!.nomi ta.m bra_hmaa.naa_.m taam.r.si_.m ta.m su!me_dhaam|| 5|| a_ha.m ru_draaya_ dhanu_raa ta!nomi brahma_dvi.se_ "sara!ve_ hanta_vaa u!|\\ a_ha.m janaa!ya sa_ma!da.m k.r.nomya_ha.m dyaavaa!p.rthi_vii aa vi!ve"sa|| 6|| a_ha.m su!ve pi_tara!masya muu_rdhanmama_ yoni!ra_psva"1nta.h sa!mu_dre|\\ tato_ vi ti!.s.the_ bhuva_naanu_ vi"svo_taamuu.m dyaa.m va_r.sma.nopa! sp.r"saami|| 7|| a_hame_va vaata! iva_ pra vaa!myaa_rabha!maa.naa_ bhuva!naani_ vi"sva!|\\ pa_ro di_vaa pa_ra e_naa p.r!thivyaitaava!tii mahi_naa sa.m ba!bhuuva|| 8||[40-43-] } \end{minipage} \end{document}
skt パッケージの命令,記法などの入力仕様詳細は添付の sktdoc.ps を参照。結構難しいかもしれないが,宗教学やインド学でサンスクリットをきちんと組みたいと思う研究者にとって,素晴らしい文房具となるはずである。ArabTeX といい,この skt といい,研究者の情熱が伝わってくる労作である。LaTeX 文化の奥の深さを思い知らされる。