在 TeX 中输入梵文

在 TeX 中输入梵文

我想在我的论文中输入梵文引文。我已经从 CTAN 下载了“skt”包。我也安装了texlive-full。但我无法遵循如何合并此包的后续步骤。我正在使用 Ubuntu,尽管网上和这个网站上提到了很多解决方案,但我仍然无法遵循。有人能给出如何操作的分步程序吗?例如,我想将以下内容输入为引文

成人和儿童的性行为
成人性行为 性交时

提前感谢您的帮助!

答案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}

输出如下:

在此处输入图片描述

供您参考,这是使用 Ubuntu 14.04 编译的,并完整安装了 Texlive-2015(不是官方存储库中的那个)。

编辑

使用 XeLaTeX 编译(其他未测试)。

答案2

为了完整起见,下面介绍了如何使用该skt包来完成此操作。

请注意,我不推荐这样做。这个skt包是过时的。它诞生于 XeTeX 和 LuaTeX 之前的时代,那时还没有免费且易于使用的 Unicode 字体,而且 ASCII 输入才是常态。这个包很有可能无法与您需要的其他包很好地兼容,可能会出现问题,而且现在可能比它带来的麻烦还要多。

不过,它曾经是一个很好的软件包,我非常喜欢它的输出。我也偏爱只使用 ASCII 的输入,但问题是skt需要预处理。

无论如何,请按照以下方法操作。

你创建一个.skt文件,不是一个.tex文件。该.tex文件将由预处理器生成。.skt不过,该文件看起来就像一个普通.tex文件。您必须加载skt包:

\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

其结果为:

在此处输入图片描述

PS:你原来的梵文有一个错误。व्र्ज弗尔贾应该是巴贾

答案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 一起使用。我现在正在指导印度理工学院海得拉巴分校的一个技术学士项目,Aditya 正在努力修改 skt 包以使其更加用户友好(接受更长的文本序列,并直接从梵文库语音基本 (ascii) 编码接收输入)。我们打算提交结果以集成到 texlive 中。欢迎提供任何提示。

相关内容