TeX/Manual

サンスクリット語

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)を用いました.

上の方法とは別の方法を使う

pxcjkcatパッケージを使わない

\usepackage[prefernoncjk]{pxcjkcat}の代わりに次のようにします.

\kcatcode`á=15% ラテン1補助(U+0080以降)
\kcatcode`Ā=15% ラテン文字拡張A(U+0100以降)
\kcatcode`ƀ=15% ラテン文字拡張B(U+0180以降)
\kcatcode`Ḁ=15% ラテン文字拡張追加(U+1E00以降)

ucsパッケージを使わない

プリアンブルを次のようにします.

\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の行を毎回コピーしてくるのは面倒なので,自分でパッケージを作っておくとよいでしょう.


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS