推荐方式(XeTeX 和 Unicode 字体)

推荐方式(XeTeX 和 Unicode 字体)

我想用 latex 写印地语

艾特里公园 的人们 |

我正在使用 devanagri 包,我想使用命令 {\dn .............} 将其放入文档中。如果有人可以将上述行翻译成梵文,那么我可以将它们放入空白处并使其工作。此外,如果有像谷歌翻译这样的现成工具,如果有人能指出这一点,那将很有帮助

答案1

简答:对于问题中的文字,您可以使用:

{\dn m\?r\? mAtA aOr EptA ko smEp\0t.}

以下是较长的答案。


推荐方式(XeTeX 和 Unicode 字体)

一般来说,要在 (La)TeX 中输入天城文,最好使用支持 Unicode 的引擎,如 XeTeX [或 LuaTeX,但 LuaTeX 对印度语(以及大多数非拉丁语)脚本的支持相当差]。例如,你可以使用 编译以下内容xelatex

\documentclass{article}
\usepackage{fontspec}
\newfontfamily\hindifont{Noto Sans Devanagari}[Script=Devanagari] % Use any Devanagari font on your system

\begin{document}
This is Latin script and {\hindifont यह है देवनागरी}.
\end{document}

使用 XeTeX 输出

或者,如果您有大量印地语文本,为了获得更好的结果,建议polyglossia也使用该包(用于连字符和其他特定于语言的规则):

\documentclass{article}
\usepackage{polyglossia} % Automatically loads fontspec
\setmainlanguage{english}
\setotherlanguages{hindi}
\newfontfamily\hindifont{Noto Sans Devanagari}[Script=Devanagari] % Use any Devanagari font on your system

\begin{document}
This is Latin script and \texthindi{यह है देवनागरी}.
\end{document}

已弃用但仍有效的方法(非 Unicode 字体)

如果由于某种原因您无法使用 XeTeX,那么您可以使用旧devanagari包。这需要两次传递。首先,您将所有内容输入到一个.dn(不是.tex)文件中,其中包含 Devanagari 部分{\dn ...},并使用 Velthuis 编码 Devanagari 文本。(调用texdoc velthuis以读取手册了解详情。)然后你运行devnag这个.dn文件,创建一个.tex文件。然后你编译这个.tex文件。

例如,对于问题中的文本,您可以创建一个.dn文件:

\documentclass{article}
\usepackage{devanagari}

\begin{document}
This is English. {\dn mere maataa aura pitaa ko samarpita|} English again.
\end{document}

devnag然后在此文件上运行文件.dn将生成以下.tex文件:

\def\DevnagVersion{2.17}\documentclass{article}
\usepackage{devanagari}

\begin{document}
This is English. {\dn m\?r\? mAtA aOr EptA ko smEp\0t.} English again.
\end{document}

现在你可以用以下方法编译此文件pdflatex,得到:

dn/pdflatex

工具

  • 要从天城文转换为所需的 Velthuis 音译(例如从मेरे माता और पिता को समर्पित{\dn mere maataa aura pitaa ko samarpita},您可以使用这个工具是我很久以前写的(或者只是从文档中学习约定并手动输入)。
  • 要从.dn文件转到文件.tex,您需要devnag安装 TeX Live 附带的处理器。如果您使用的是其他发行版,它可能有不同的名称,或者您可能需要自己编译
  • 要直接从天城文转换为\dn约定格式并跳过前两个步骤(例如从मेरे माता और पिता को समर्पित到 ){\dn m\?r\? mAtA aOr EptA ko smEp\0t.},您可以使用Python 脚本我为几个月前的另一个答案

相关内容