我是这个论坛的新手。
我在页码样式方面遇到了问题。我使用 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}