我查看了几个关于如何在 LaTeX 中编写梵文文本的答案。我的理解是,我需要使用 skt 或 dn 对文件进行预处理(dn 似乎给我带来了一些问题,它会在文档的其他地方生成一些奇怪的字符,所以我想坚持使用 skt)。如何使用 Windows 终端执行此操作?我正在使用 TexMaker + MikTeX(pdflatex)。任何帮助都非常感谢。
事实上,我的文档中只需要一句话 - वसुधैव कुटुम्बकम् 如果有人可以生成用于 skt 的 tex 可解析格式,那将非常有用。提前致谢!
答案1
我设法找到了解决方案。
- 下列的这个答案,我从下载了skt.c文件这里。
- 因为我使用的是 Windows,所以我从这里获取 gcc 编译器。
- 在 Windows 命令行中,更新以下路径这个答案。
创建一个如下所示的 sample.skt 文件,其中包含对梵文句子的简单音译。我不得不参考第 19 页(१९)的音译方案skt 文档写一些特殊字母,例如“टु”。我不得不写“.t”,而不是“t”或“T”或“th”。
\documentclass[12pt]{article} \pagestyle{plain} \usepackage[margin=1.8cm]{geometry} \geometry{a4paper} \usepackage[parfill]{parskip} \usepackage{amsmath} \usepackage{skt} \begin{document} {\skt vasudhaiva ku.tumbakam} \end{document}
将.skt文件放在与skt.c文件相同的路径下,运行命令提示符,输入gcc -v确认MinGW的安装,然后简单输入:
skt sample.skt sample.tex
在同一路径下会生成一个名为sample.tex的文件,下面是生成的.tex文件。
\documentclass[12pt]{article} \pagestyle{plain} \usepackage[margin=1.8cm]{geometry} \geometry{a4paper} \usepackage[parfill]{parskip} \usepackage{amsmath} \usepackage{skt} \begin{document} {\skt va;sua;DEa;va k\ZH{-12}{u}+:f\ZH{-12}{u};m1ba;k+:m,a} \end{document}
字体质量不佳,正如 Ulrike Fischer 在我的原始问题的评论中提到的那样。因此,您最好添加高分辨率图像。但如果有人想添加更多文本,这可能是一种可行的方法。
答案2
如果您可以使用 XeLaTeX 或 LuaLaTeX 代替 PDFLaTeX,则可以使用 或 以 Unicode 输入天城babel
文polyglossia
。
否则,如果您只需要插入一个简短的段落,您可以将其编译为独立的 PDF 并将其包含在内。
如果您首先在 XeLaTeX 或支持 HarfBuzz 的 LuaLaTeX 版本中编译此文件:
%% This document requires LuaLaTeX 1.12.0 or higher, or XeLaTeX.
\tracinglostchars=2 % Warn if the current font lacks a character.
\documentclass{standalone}
\usepackage{polyglossia}
\ifLuaTeX
\defaultfontfeatures{ Scale=MatchUppercase, Renderer=HarfBuzz }
\else
\defaultfontfeatures{Scale=MatchUppercase}
\fi
\setdefaultlanguage{sanskrit}
\newfontfamily\sanskritfont{Shobhika}[
Script = Devanagari,
Language = Sanskrit]
\begin{document}
वसुधैव कुटुम्बकम्
\end{document}
您将获得以下 PDF 作为输出:
将其另存为vasudhaiva.pdf
,现在您可以制作一个符合 PDFLaTeX 的新 PDF:
\documentclass{article}
\usepackage[paperwidth=10cm,
paperheight=3cm]{geometry} % Solely to format the MWE for TeX.SX.
\usepackage{cmap} % For copying from PDF.
\usepackage{graphicx} % For \includegraphics
\usepackage{lmodern} % Or your font of choice.
\newlength{\Hheight}
\newcommand\vasudhaiva{%
\settoheight{\Hheight}{H}% Not quite enough, because of ascenders.
\includegraphics[height=1.25\Hheight]{vasudhaiva.pdf}}
\begin{document}
\textit{Vasudhaiva Kutumbakam}
(\vasudhaiva)
is Sanskrit for, “The World is one family.”\footnote{Footnote size: \vasudhaiva.}
\end{document}
您可以使用任何支持天城文的 OpenType 字体,它可以缩放,您甚至可以从 PDF 中复制和粘贴文本。
由于这是一张单张图片,所以不会出现任何换行。如果您愿意忍受更多麻烦来实现自动换行,您可以为每个单词创建 PDF 文件,并包含每个单词,用 分隔。\
如果这样做,您可能需要添加\vphantom{सुधै}
以确保 PDF 文件具有相同的高度和深度。