马拉地语的页码样式

马拉地语的页码样式

我是这个论坛的新手。

我在页码样式方面遇到了问题。我使用 xelatex 引擎来处理马拉地语和梵文脚本的文档。

在 book-document-class 中,当我使用 \frontmatter 和 \mainmatter 命令时,frontmatter 中的页面以罗马数字编号。

在马拉地语书籍印刷传统中,前言使用的编号样式是“文字数字”,例如 एक、दोन、तीन...

我在讨论中发现了类似的问题及其解决方案这一页

那里建议的解决方案可以对我的问题进行一些修改。例如,我可以按照讨论中所示更改定义,如下所示

\def\devanagari@alph#1{% \ifcase#1\or क\or ख\or ग\or घ\or ङ\or च\or छ\or ज\or झ\or ञ\or ट\or ठ\or ड\or ढ\or ण\or त\or थ\or द\or ध\or न\or प\or फ\or ब\or भ\or > म\or य\or र\or ल\or व\or श\or ष\or स\or ह\else\@ctrerr\fi}

而不是 क, ख, ग... 我可能会使用 एक, दोन, तीन...

但在那种情况下,我还会在枚举中得到एक、दोन、तीन,这是不可取的。

请建议针对上述情况可以采取什么措施。

答案1

由于您可能在其他地方需要“数字作为单词”,因此定义一个新的格式化命令来执行此操作是有意义的,然后使用它来格式化前言中的计数器。我已经使用您在问题中提供的前三个单词启动了命令。显然您需要填写其余部分。我已经从链接的问题中删除了其他计数器的重新定义。如果您需要它们,只需将它们放回去即可。

\documentclass[oneside]{book}
\usepackage{fontspec}
\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Sanskrit 2003}
\makeatletter
% Modify this to use your "numbers in words".
\newcommand*{\devanagari@words}[1]{%
 \ifcase#1\or एक\or दोन\or तीन\or घ\or ङ\or च\or छ\or ज\or झ\or ञ\or
  ट\or ठ\or ड\or ढ\or ण\or त\or थ\or द\or ध\or न\or प\or फ\or ब\or भ\or म\or
   य\or र\or ल\or व\or श\or ष\or स\or ह\else\@ctrerr\fi}
% Now define a new formatting macro
\newcommand*{\devanagariwords}[1]{\expandafter\devanagari@words\csname c@#1\endcsname}
\makeatother


\begin{document}

\frontmatter
\renewcommand{\thepage}{\devanagariwords{page}}
\tableofcontents
\listoftables

\mainmatter
\chapter{सङ्ग्रहः}
\begin{table}[tbp]
\caption{A table}
\end{table}
\begin{enumerate}
  \item प्रथमम्
  \begin{enumerate}
    \item द्वितीयम्
    \begin{enumerate}
      \item तृतीयम्
      \begin{enumerate}
        \item चतुर्थम्
      \end{enumerate}
    \end{enumerate}
  \end{enumerate}
\end{enumerate}

\end{document}

相关内容