书籍类别 - `\frontmatter` 中的卡纳达语页码

书籍类别 - `\frontmatter` 中的卡纳达语页码

我点击了这个链接(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 提供的代码片段,该代码片段引入了卡纳达语数字而不是阿拉伯语数字。如果卡纳达语单词有误,请原谅。我看不懂这种语言。

相关内容