包 expex 子示例中的天城文计数器

包 expex 子示例中的天城文计数器

我需要包裹中的天城文计数器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视为提供子示例的计数器与其标签之间映射的函数。它接受四个值:charnumber或。使用将为您提供 LaTeX 中的等效值,但由于 ExPex 没有使用来实现它,因此romannumber它不适用于重新定义或之类的语言定义。和值是不言自明的。值告诉 ExPex 查阅有序字符列表来构造标签。这是非拉丁字母的推荐解决方案。listchar\alph\alph\alphpolyglossiababelnumberromannumberlist

ExPex 还使用了一种有点特殊的方法来指定标签和参考格式。这些是键labelformatfullrefformatlabelformat提供了用于格式化标签的模板,其中A是标签的替代。因此,使用labelformat=A.表示在标签后加上句点。如果您希望标签带括号,则可以指定labelformat=(A)例如。

fullrefformat指定标签的引用将如何显示(使用 ExPex 的内置\getref系统(不是通常的 LaTeX\label\ref系统)。)fullrefformat键提供用于格式化引用的模板,其中 X 代表示例编号,A 代表子示例标签。由于标签包含句点(labelformat=A.),但我们通常不希望标签的引用包含.,因此我们将指定fullrefformatXA

\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}

代码输出

相关内容