如何在 latex 或 xetex 中获取天城文数字

如何在 latex 或 xetex 中获取天城文数字

如何在xetex或中获取天城体数字latex(特别是在枚举环境中)?

我可以使用 unicode 来编写天城体文本,但是无法在章节编号、枚举环境等中获取天城体数字。

以下是我正在使用的的基本代码:

\documentclass{article}

\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{hindi}
\setotherlanguage{english}
\setmainfont[Script=Devanagari]{Nakula}

\begin{document}

\section{Section Heading}

देवनागरी

Same English Text

१ २ ३ ४ ५ ६ ७ ८ ९ ०

\begin{enumerate}
    \item   This is first
    \item   देवनागरी
\end{enumerate}

\end{document}           

使用 xetex 编译上述文档的输出

我正在使用 xetex(Ubuntu 12.04 上的默认设置)进行编译。

答案1

目前没有将所有数字更改为梵文的界面。但是你可以定义自己的:

\documentclass{article}

\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{hindi}
\setotherlanguage{english}

\setmainfont[Script=Devanagari]{Nakula}

\newcommand{\devanagarinumeral}[1]{%
  \devanagaridigits{\number\csname c@#1\endcsname}}

% renew all representation of counters
\renewcommand{\thesection}{\devanagarinumeral{section}}
\renewcommand{\thepage}{\devanagarinumeral{page}}
\renewcommand{\theenumi}{\devanagarinumeral{enumi}}

\begin{document}

\section{\foreignlanguage{english}{Section Heading}}

देवनागरी

\foreignlanguage{english}{Some English Text}

१ २ ३ ४ ५ ६ ७ ८ ९ ०

\begin{enumerate}
    \item   \foreignlanguage{english}{This is first}
    \item   देवनागरी
\end{enumerate}

\end{document}

\@arabic一个更冒险的做法是改变(用阿拉伯数字代表计数器的内部命令)的含义:

\makeatletter
\def\@arabic#1{\expandafter\devanagaridigits\expandafter{\number#1}}
\makeatother

这将使您免于重新定义所有需要的计数器表示,但可能会破坏依赖于的包\@arabic

在此处输入图片描述

答案2

有这样一个映射,使用 Mapping=devanagarinumerals 作为字体特性。此映射自 2007 年 7 月起存在,最初随 velthuis 包分发,现在包含在 xetex-devanagari 中。

相关内容