我点击了这个链接(xelatex 中的卡纳达语页码) 以卡纳达语获取章节、部分和页码。但是,一个具体问题是,页码\front matter
显示为方框。通常,它们显示为罗马数字。这需要转换为卡纳达语数字。我应该怎么做才能得到它?
请提供意见。问候。
答案1
我使用了以下代码使用天城文字母对枚举环境和页面进行编号生成अ
、आ
、इ
、ई
等作为 中的页码\frontmatter
。
\makeatletter
% Always use Devanagari consonants for alph/Alph/roman/Roman styles.
\def\devanagari@alph#1{%
\ifcase#1\or अ\or आ\or इ\or ई\or उ\or ऊ\or ए\or ऐ\or ओ\or औ\or
\else\@ctrerr\fi}
\let\@alph\devanagari@alph
\let\@Alph\devanagari@alph
\let\@roman\devanagari@alph
\let\@Roman\devanagari@alph
\makeatother
我通过将单词“devanagari”替换为“kannada”对其进行了定制...
\makeatletter
% Always use Kannada vowels for alph/Alph/roman/Roman styles.
\def\kannada@alph#1{%
\ifcase#1\or ಅ\or ಆ\or ಇ\or ಈ\or ಉ\or ಊ\or ಋ\or ಋ\or ಎ\or ಏ\or ಐ\or ಒ\or ಓ\or ಔ\or ಅಂ\or ಅಃ\or
\else\@ctrerr\fi}
\let\@alph\kannada@alph
\let\@Alph\kannada@alph
\let\@roman\kannada@alph
\let\@Roman\kannada@alph
\makeatother
...并得到了期望的结果!!
非常感谢@ShreevatsaR 提供精彩的代码片段以及精彩的解释。
这是我的MWE
:
\documentclass{book}
\usepackage{polyglossia}
\newfontfamily\kannadafont{Noto Sans Kannada}[Script=Kannada]
\setmainlanguage[numerals=Kannada]{kannada}
\makeatletter
%---
\def\kannadadigits#1{\expandafter\@kannada@digits #1@}
\def\@kannada@digits#1{%
\ifx @#1% terminate
\else % ೦೧೨೩೪೫೬೭೮೯
\ifcase#1೦\or೧\or೨\or೩\or೪\or೫\or೬\or೭\or೮\or೯\fi
\expandafter\@kannada@digits
\fi
}
%---
\def\kannadanumber#1{%
\kannadadigits{\number#1}%
}
%---
\let\@arabic\kannadanumber%
%---
\makeatother
\makeatletter
% Always use Kannada vowels for alph/Alph/roman/Roman styles.
\def\kannada@alph#1{%
\ifcase#1\or ಅ\or ಆ\or ಇ\or ಈ\or ಉ\or ಊ\or ಋ\or ಋ\or ಎ\or ಏ\or ಐ\or ಒ\or ಓ\or ಔ\or ಅಂ\or ಅಃ\or
\else\@ctrerr\fi}
\let\@alph\kannada@alph
\let\@Alph\kannada@alph
\let\@roman\kannada@alph
\let\@Roman\kannada@alph
\makeatother
\begin{document}
\chapter{ಕನ್ನಡ}
\section{ಕನ್ನಡ}
ಕಖಗಘ
\subsection{ಕನ್ನಡ}
ಕಖಗಘ
\kannadanumber{132 456 987}
೦೧೨೩೪೫೬೭೮೯
\section{ಕಖಗಘ}
\today
\subsection{ಕಖಗಘ}
\section{ಕಖಗಘ}
ಕಖಗಘ\footnote{ಕಖಗಘ} ಕಖಗಘ\footnote{ಕಖಗಘ} ಕಖಗಘ\footnote{ಕಖಗಘ}
\end{document}
感谢@Cicada 提供的代码片段,该代码片段引入了卡纳达语数字而不是阿拉伯语数字。如果卡纳达语单词有误,请原谅。我看不懂这种语言。