TeX でサンスクリット語を入力する

TeX でサンスクリット語を入力する

論文にサンスクリットの引用文を入れたいです。CTAN から「skt」パッケージをダウンロードしました。texlive-fullインストールもしました。しかし、このパッケージを組み込む方法のその後の手順に従うことができません。私は Ubuntu を使用していますが、ネットやこのサイトで多くの解決策が紹介されているにもかかわらず、まだ従うことができません。誰か、その方法について段階的な手順を教えてもらえませんか? たとえば、引用文として以下を入力したいです。

このサイトでは、
さまざまなタイプのWebサイトを扱っています。

ご協力ありがとうございます!

答え1

あなたの期待をよく理解しているのであれば、英語で書かれた文書の中にサンスクリット語の引用文が含まれているということですね。このためには、パッケージを使用してpolyglossia、文書のメイン言語 (英語) とその他のサブ言語 (ここではサンスクリット語など) を定義できます。あなたの場合、サンスクリット語のフォントも宣言する必要があります。その可能性は ですdevanagarifont

これは、あなたのニーズに合うと思われる最小限の動作例です。

\documentclass[12pt]{article}

\usepackage{fontspec}
\usepackage{polyglossia}

\setmainlanguage{english}
\setotherlanguages{sanskrit} %% or other languages

\newfontfamily\devanagarifont[Script=Devanagari]{Lohit Devanagari}

\begin{document}
The main text is in English, and you can add sanskrit quote...

\begin{sanskrit}
सर्वधर्मान् परित्यज्य मामेकं शरणं व्र्ज

अहं त्वां सर्वपापेभ्यो मोक्षयिष्यामि मा शुचः
\end{sanskrit}
\end{document}

出力は以下のようになります。

ここに画像の説明を入力してください

ちなみに、これは Texlive-2015 (公式リポジトリのものではありません) をフルインストールした Ubuntu 14.04 を使用してコンパイルされました。

編集

XeLaTeX でコンパイルされています (その他はテストされていません)。

答え2

完全を期すために、パッケージを使用してこれを行う方法を次に示しますskt

これはお勧めしません。このsktパッケージは時代錯誤です。XeTeX や LuaTeX が登場する前の時代、Unicode フォントを無料で簡単に使用できず、ASCII のみの入力が標準だった時代のものです。このパッケージは、必要な他のパッケージとうまく連携しない危険性があり、何かが壊れる可能性があり、今となってはおそらく価値よりもトラブルのほうが大きいでしょう。

しかし、かつては良いパッケージであり、その出力も気に入っています。私は ASCII のみの入力も好みですが、問題はskt前処理が必要になることです。

とにかく、やり方は次の通りです。

ファイルを作成すると.sktないファイル.tex.texファイルはプリプロセッサによって生成されます。.sktただし、ファイルは通常のファイルとまったく同じように見えます.texsktパッケージをロードする必要があります。

\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[margin=1.8cm]{geometry}
\geometry{a4paper}
\usepackage[parfill]{parskip}
\usepackage{amsmath}
\usepackage{skt}

\begin{document}

\textit{Bhagavad-G\={\i}t\={a}} 18:66:

{\skt sarvadharmaan parityajya maameka.m "sara.na.m vraja | \\
  aha.m tvaa.m sarvapaapebhyo mok.sayi.syaami maa "suca.h || 66 ||}

\begin{enumerate}\itshape

  \setcounter{enumi}{65}

  \item
  Sarvadharm\={a}n parityajya m\={a}m eka\d{m} \'{s}ara\d{n}a\d{m} vraja; \\
  Aha\d{m} tv\={a}\d{m} sarvap\={a}pebhyo mok\d{s}ayi\d{s}y\={a}mi m\={a}     
  \'{s}uca\d{h}.

\end{enumerate}

\end{document}

これは私のファイルですanswer.skt。形式も機能も普通のファイルであることがわかります.tex

したがって、ドキュメント ファイルの名前を に変更しfoo.skt、 を削除する必要がありますfoo.tex

それから私は走った

skt answer.skt

IDE がこれをサポートしているとは思えないため、おそらくこのコマンドはターミナルから実行する必要があります。また、.sktファイルに適切な構文の強調表示などが行われない可能性が高いことに注意する必要があります。

answer.tex次のようなファイルが生成されます。

\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[margin=1.8cm]{geometry}
\geometry{a4paper}
\usepackage[parfill]{parskip}
\usepackage{amsmath}
\usepackage{skt}

\begin{document}

\textit{Bhagavad-G\={\i}t\={a}} 18:66:

{\skt .sa;vRa;Da;ma;Ra;n,a :pa;i8a:=+tya:j1ya ma;a;mea;k\ZH{-12}{M} Za:=+NMa
v.ra:ja \ZS{12}@A \\
 A;h\ZH{-6}{M} tva;Ma .sa;vRa;pa;a;pea;Bya;ea ma;ea;[a;Y4a;ya;Sya;a;Y6a;ma
ma;a Zua;.caH\ZS{4} \ZS{12}@A\ZS{6}@A 66 \ZS{12}@A\ZS{6}@A}

\begin{enumerate}\itshape

  \setcounter{enumi}{65}

  \item
  Sarvadharm\={a}n parityajya m\={a}m eka\d{m} \'{s}ara\d{n}a\d{m} vraja; \\
  Aha\d{m} tv\={a}\d{m} sarvap\={a}pebhyo mok\d{s}ayi\d{s}y\={a}mi m\={a}     
  \'{s}uca\d{h}.

\end{enumerate}

\end{document}

sktつまり、プリプロセッサは、人間が読み書きできるユーザーフレンドリな構文を、LaTeX が実際に読み取れる形式に変換するだけであることがわかります(sktもちろん、パッケージがロードされている限り)。

その時初めて私は走った

pdflatex ./answer.tex

これによって次のものが生成されます:

ここに画像の説明を入力してください

追伸: 元のサンスクリット語に間違いがあります。ヴルジャव्रज であるべきヴラジャ

答え3

 \documentclass[12pt]{article}
 \usepackage{fontspec}
 \usepackage[english]{babel} 
 \newfontfamily\sanskrit[Script=Devanagari]{Lohit Devanagari}
 \begin{document}
 The main text is in English, and you can add sanskrit quote...

 \begin{quotation}\sanskrit
        सर्वधर्मान् परित्यज्य मामेकं शरणं व्र्ज

        अहं त्वां सर्वपापेभ्यो मोक्षयिष्यामि मा शुचः
 \end{quotation}
 \end{document}

ここに画像の説明を入力してください

答え4

skt パッケージは、ヴェーダのアクセントを含む非常に美しいデーヴァナーガリー文字を生成します。これは、注意深く書かれた写本で行われていたように、簡単に異なる色でレンダリングできます。私はいつもこれを使用していますが、texlive 2018 でもまだ動作します。私は現在、IIIT ハイデラバードの技術学士プロジェクトを監督しており、Aditya は skt パッケージをよりユーザーフレンドリーに改訂する作業を行っています (より長いテキスト シーケンスを取得し、Sanskrit Library Phonetic basic (ascii) エンコードから直接入力を受け取ります)。私たちは、結果を texlive に統合するために提出するつもりです。ヒントがあれば歓迎します。

関連情報