在天城文和 IAST 脚本中创建 anudatta、svarita 和“double-svarita”的输入是什么?
我发现梵文的 Anudatta 和 svarita:
“-” 代表 anudatta
“!”为了 svarita。
但还有以下问题:
在天城文中“double-svarita”的输入是什么?
对于 Itrans,这些输入不起作用,该选择哪一个?
我使用以下脚本。我想在梵文和 IAST 上添加上述重音符号(anudatta、swarita 和 double svarita)。如果您对更好的布局也有建议,请告诉我。
\documentclass[a4paper,12pt]{article}
\usepackage{ifxetex}
\RequireXeTeX
\usepackage{xltxtra}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainfont[Script=Devanagari,Mapping=../tec/iast]{Sanskrit2003}
\setlength{\parindent}{0mm}
\newcommand\devtext{\catcode`\^=11
\catcode`\~=11
\fontspec[Script=Devanagari,Mapping=itrans-dvn]{Sanskrit2003}}
\newcommand\iast{\catcode`\^=11
\catcode`\~=11
\fontspec[Script=Greek,Mapping=itrans-iast]{Linux Libertine O}}
\begin{document}
{\devtext
OM nama!ste rudra ma-nyava! u-tota- iSha!ve- namaH.
nama!ste astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H..
}
{\iast
OM nama!ste rudra ma-nyava! u-tota- iSha!ve- namaH.
nama!ste astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H..
}
\end{document}
答案1
问题是关于 (TECkit) “映射” ,例如和iast
,它们包含在 TeX 发行版中。(例如,如果您使用的是 MacTeX-2017,则在里面。)itrans-dvn
itrans-iast
/usr/local/texlive/2017/texmf-dist/fonts/misc/xetex/fontmapping/
简短的回答是,尽管其中一些映射包含获取U+0951 DEVANAGARI STRESS SIGN UDATTA
和的方法U+0952 DEVANAGARI STRESS SIGN ANUDATTA
,但这些映射都不包含 double-svarita 的任何内容(我猜你的意思是U+1CDA VEDIC TONE DOUBLE SVARITA
)。因此,如果你迫切需要使用这些映射,你必须
- 编辑
.map
其中包含的文件(或添加新文件),然后 - 运行
teckit_compile
该.map
文件以生成.tec
文件,
然后就可以使用它了。
我认为,比使用这些映射更好的方法是直接在文件中输入梵文字符.tex
。有各种软件和网站可以更轻松地输入梵文字符,从输入法到可以从中复制梵文的音译器。最好使用其中一种,而不要使用 TeX 来解决输入音译问题。
答案2
最简单\最快的方法是创建重音和声调的宏,在乳胶代码中使用宏,它们将在映射过程中保持不变,因为映射文件对声调一无所知。但请注意:deva 映射文件需要进行调整(我还不知道如何调整)。
(A)要回答所问的问题,(1)更改为具有 的字体double svarita
,例如Shobhika Regular
;(2)直接添加双 svarita:从字符映射中复制粘贴 ᳚ 字形;或者像这样在音译方案中直接通过其代码点编号(^^^^1cda
)插入字形:nama!ste^^^^1cda
。
(B)回答由此产生的另一个问题:
映射文件需要调整。
नम॑ः 在音译映射环境之外正常工作
但不在里面:
映射itrans-dvn
是将重叠的字形字符串类集按特定顺序折叠在一起,并大概将它们与后续字形正确连接隔离开来。(它与正则表达式有关。对我来说,需要一段时间才能解开。)(此外,我注意到我的浏览器 + 此页面也没有正确地塑造它们。)
对于音译文本,itrans-iast
映射定义了 svarita 和 anudatta 的输入别名,即!
和-
:
Define anudatta U+002D ; -
Define svarita U+0021 ; !
但它们不执行任何操作。因此:将 复制到itrans-iast.map
TeX 可以找到的地方(例如,当前文件夹)。调用该文件并在文件的itrans-iast2.map
第一行后添加以下两行:pass(Unicode)
pass(Unicode)
svarita > U+0951
anudatta > U+0952
然后使用 进行编译Teckit_compile itrans-iast2
以生成itrans-iast2.tec
二进制文件。然后进入您的 latex 代码并更改Mapping=itrans-iast
为Mapping=itrans-iast2
。
(或者,您也可以直接输入它们:nama^^^^0951ste^^^^1cda astu^^^^0952 dhanva^^^^0951ne bA^^^^0952hubhyA^^^^0951mu^^^^0952ta te^^^^0952nama^^^^0951^^^^0903
。或者使用宏作为快捷方式。
将它们定义为:
\newcommand\svarita{^^^^0951}
\newcommand\anudatta{^^^^0952}
\newcommand\doublesvarita{^^^^1cda}
像这样使用它们,注意空格:
\Paragraph{nama\svarita ste\doublesvarita\ rudra ma\anudatta nyava\svarita\ u\anudatta tota\anudatta\ iSha\svarita ve\anudatta\ namaH. \\
nama\svarita ste\doublesvarita\ astu\anudatta\ dhanva\svarita ne bA\anudatta hubhyA\svarita mu\anudatta ta te\anudatta\ nama\svarita H}
平均能量损失
\documentclass[12pt,varwidth,border=6pt]{standalone}
\usepackage{fontspec}
\newcommand\mysktfont{Shobhika Regular}
\newfontface\fplain{\mysktfont}% no mapping
\newcommand\devtext{
\fontspec[Script=Devanagari,Mapping=itrans-dvn2]{\mysktfont}}%mapping transliteration to Devanagari
\newcommand\iast{
\fontspec[Mapping=itrans-iast2]{\mysktfont}} %mapping transliteration to IAST transliteration scheme
\newcommand{\Paragraph}[1]{\devtext{#1}
\par\medskip
{\iast{#1}}}
\begin{document}
\fplain
नम॑ः
\Paragraph{
nama!ste^^^^1cda rudra ma-nyava! u-tota- iSha!ve- namaH. \\
nama!ste^^^^1cda astu- dhanva!ne bA-hubhyA!mu-ta te- nama!H
}
\end{document}