使用 XeTeX 时在天城语中编号

使用 XeTeX 时在天城语中编号

我一直在使用 XeTeX 排版 Devanāgarī 文档,效果很好。但我遇到了一个问题,每当我使用 \section、\begin{enumerate}、\footnote 等命令或任何生成编号的命令时,编号都会以罗马字母显示。比如 1、2、3,但我想在 Devanāgarī 中使用,比如 १、२、३、४ .... 有什么可能的方法/最佳实践来实现这一点吗?

附言:一旦修复,这也可以用于其他印度文字。

答案1

一个更好更简单的解决方案是使用包polyglossia

\usepackage{polyglossia}
\setdefaultlanguage{hindi}

这应该足以启用天城文数字。(印地语是正确的语言吗?我猜是这样的。根据文献记载,polyglossia它至少有正确的数字。)

答案2

您可以按如下方式创建自己的编号样式:

\newcommand*\devanagari[1]{\expandafter\@devanagari\csname c@#1\endcsname}

\newcommand*\@devanagari[1]{%
  \ifcase#1\or १\or २\or ३\or ४\or ५\or ६\or ७\or ८\or ९\fi}

由于此代码使用@命令中的字符,因此如果包文件中没有此代码,则需要将其放在\makeatletter此代码之前。最好将其放在\makeatother其后面,以将字符代码切换@回其默认设置。

然后,您可以像使用其他任何编号样式一样使用此编号样式(例如\arabic\roman)。例如,要设置脚注编号,请执行以下操作:

\renewcommand*\thefootnote{\devanagari{footnote}}

要更改第一级枚举样式,请执行以下操作:

\renewcommand*\theenumi{\devanagari{enumi}}

相关内容