我需要包裹中的天城文计数器expex
。
%!TeX TS-Program=xelatex
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{marathi}
\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Shobhika}
\usepackage{expex}
\begin{document}
\pex
\a\begingl
\gla रामः आम्रफलम् खादति//
\glb राम आंबा खातो//
\glft राम आंबा खातो.//
\endgl
\a\begingl
\gla रामः आम्रफलम् खादति//
\glb राम आंबा खातो//
\glft राम आंबा खातो.//
\endgl
\xe
\end{document}
这会产生不错的输出,但不幸的是,第二级项目是英文的。我想要梵文计数器。(अ、आ、इ、ई、उ、ऊ、ए、ऐ、ओ、औ、अं、अः)如何实现?
答案1
ExPex 允许您为标签列表规定项目列表,因此我们可以简单地定义一个labeltype
调用devanagari
并将其设置为相应的 alpha 标签列表。我使用了大写 alpha 标签的宽度参数;这可能不适用于 Devanagari 标签,因此请labelwidth
相应地调整。
可以将keylabelgen
视为提供子示例的计数器与其标签之间映射的函数。它接受四个值:char
、number
或。使用将为您提供 LaTeX 中的等效值,但由于 ExPex 没有使用来实现它,因此romannumber
它不适用于重新定义或之类的语言定义。和值是不言自明的。值告诉 ExPex 查阅有序字符列表来构造标签。这是非拉丁字母的推荐解决方案。list
char
\alph
\alph
\alph
polyglossia
babel
number
romannumber
list
ExPex 还使用了一种有点特殊的方法来指定标签和参考格式。这些是键labelformat
和fullrefformat
。labelformat
提供了用于格式化标签的模板,其中A
是标签的替代。因此,使用labelformat=A.
表示在标签后加上句点。如果您希望标签带括号,则可以指定labelformat=(A)
例如。
键fullrefformat
指定标签的引用将如何显示(使用 ExPex 的内置\getref
系统(不是通常的 LaTeX\label
和\ref
系统)。)fullrefformat
键提供用于格式化引用的模板,其中 X 代表示例编号,A 代表子示例标签。由于标签包含句点(labelformat=A.
),但我们通常不希望标签的引用包含.
,因此我们将指定fullrefformat
为XA
。
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{marathi}
\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{ITF Devanagari}
\usepackage{expex}
\usepackage{etoolbox}
\makeatletter
\makeatother
\definelabeltype{devanagari}
{labelgen=list,labellist={अ, आ, इ, ई, उ, ऊ, ए, ऐ, ओ, औ, अं, अः},
labelformat=A.,fullrefformat=XA,labelalign=left,labelwidth=.92em}
\begin{document}
\lingset{labeltype=devanagari}
\pex
\a\begingl
\gla रामः आम्रफलम् खादति//
\glb राम आंबा खातो//
\glft राम आंबा खातो.//
\endgl
\a\begingl
\gla रामः आम्रफलम् खादति//
\glb राम आंबा खातो//
\glft राम आंबा खातो.//
\endgl
\xe
\end{document}