LaTeXを使ってサンスクリット語(ラテン文字転写)を出力する簡単な例です.Unicodeでアクセント記号つき文字を入力し,uplatexで処理します.アクセント記号つき文字の入力方法については次のページを見てください.
以下の例ではucsパッケージとtipaパッケージを使います.TeX Liveなど比較的新しいTeXのシステムには標準で含まれています.古いシステムの場合は自分でインストールする必要があるかもしれません.あるいは最新のTeX Live(2016年4月現在TeX Live 2015が最新)をインストールしてしまった方が簡単かもしれません.
uplatexでは長音記号付文字などを欧文扱いするためにkcatcodeの設定をする必要がありますが,pxcjkcatパッケージを使うと簡単に設定することができます.古典サンスクリット語の場合,オプションはprefernoncjkがよいでしょう.
\documentclass[uplatex]{jsarticle} \usepackage[prefernoncjk]{pxcjkcat} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{tipa} \DeclareUnicodeCharacter{7772}{\textsubdot{\=R}} \DeclareUnicodeCharacter{7773}{\textsubdot{\=r}} \begin{document} \begin{verse} āsīd rājā, nalo nāma, vīrasenasuto balī,\\ upapanno guṇair iṣṭai, rūpavān, aśvakovidaḥ. \end{verse} \end{document}
これを次のように処理します.
$ uplatex input.tex $ dvipdfmx input.dvi
入力は「ṛ」とするが,出力は「r̥」にしたい,という場合,次のようにします.古典サンスクリット語の場合と比べて\DeclareUnicodeCharacterの行が変わっていますので注意してください.
\documentclass[uplatex]{jsarticle} \usepackage[prefernoncjk]{pxcjkcat} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{tipa} \DeclareUnicodeCharacter{7770}{\textsubring{R}} \DeclareUnicodeCharacter{7771}{\textsubring{r}} \DeclareUnicodeCharacter{7772}{\textsubring{\=R}} \DeclareUnicodeCharacter{7773}{\textsubring{\=r}} \begin{document} \begin{verse} atha tāṁ, vayasi prāpte, dāsīnāṁ samalaṁkṛtam\\ śataṁ, śataṁ sakhīnāṁ ca, paryupāsac, chacīm iva. \end{verse} \end{document}
入力も出力も「r̥」にするにはファイルを変換するか,ucsのcombineオプションを有効にする必要がありますが,ここでは省略します.
古典サンスクリット語の場合と同様です.
\documentclass[uplatex]{jsarticle} \usepackage[prefernoncjk]{pxcjkcat} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{tipa} \DeclareUnicodeCharacter{7772}{\textsubdot{\=R}} \DeclareUnicodeCharacter{7773}{\textsubdot{\=r}} \begin{document} \begin{verse} agním īḷe puróhitaṃ,\\ yajñásya devám ṛtvíjam,\\ hótāraṃ ratnadh\textacutemacron{a}tamam.\\ \end{verse} KṚ-, kṛ-, KṜ-, kṝ-. \end{document}
ā́(長くて鋭アクセントの置かれたa)などはそのまま入力しても処理できないので,ファイルを変換するか,ucsのcombineオプションを有効にする必要があります.少し難しい操作が必要なので,ここではtipaパッケージの記法(\textacutemacron)を用いました.
\usepackage[prefernoncjk]{pxcjkcat}の代わりに次のようにします.
\kcatcode`á=15% ラテン1補助(U+0080以降) \kcatcode`Ā=15% ラテン文字拡張A(U+0100以降) \kcatcode`ƀ=15% ラテン文字拡張B(U+0180以降) \kcatcode`Ḁ=15% ラテン文字拡張追加(U+1E00以降)
プリアンブルを次のようにします.
\documentclass[uplatex]{jsarticle} \usepackage[prefernoncjk]{pxcjkcat} \usepackage[utf8]{inputenc} \usepackage{tipa} \usepackage{newunicodechar} \newunicodechar{ṇ}{\d{n}} \newunicodechar{ṣ}{\d{s}} \newunicodechar{ṭ}{\d{t}} \newunicodechar{ḍ}{\d{d}} \newunicodechar{ḥ}{\d{h}} \newunicodechar{ṃ}{\d{m}} \newunicodechar{ṁ}{\.{m}} \newunicodechar{ḷ}{\textsubring{l}} \newunicodechar{Ṛ}{\textsubring{R}} \newunicodechar{ṛ}{\textsubring{r}} \newunicodechar{Ṝ}{\textsubring{\=R}} \newunicodechar{ṝ}{\textsubring{\=r}}
必要に応じて\newunicodecharの行を増やしていきます.\newunicodecharの行を毎回コピーしてくるのは面倒なので,自分でパッケージを作っておくとよいでしょう.