目录中的页码以不同的语言/文字显示

目录中的页码以不同的语言/文字显示

我正在用卡纳达语排版一本书,一切都运行正常。

这本书包含许多章节和几个前言文件。按照惯例,我将前言的页码设置为罗马数字,将正文的页码设置为阿拉伯数字。阿拉伯页码被渲染为卡纳达语数字,输出结果与预期一致。但是,前言的页码toc也是卡纳达语数字,而不是英语。

重新contentsname定义也不起作用。

这里是MWE

\documentclass{book}

\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{kannada}
\setmainfont{Noto Sans Kannada}
\newfontfamily{\english}{Noto Sans}

\newcommand{\kannadanumeral}[1]{%
  \kannadadigits{\number\csname c@#1\endcsname}}
%
\renewcommand{\thechapter}{\kannadanumeral{chapter}}
\renewcommand{\thepage}{\kannadanumeral{page}}

\renewcommand{\contentsname}{ಪರಿವಿಡಿ}   % this is not working

% We will define some fancy page styles here
\usepackage{fancyhdr}
  \pagestyle{fancy}
  \fancyhf{}          % Empty every style
  \fancyhead[LO, LE]{\leftmark}

\begin{document}

\rfoot{\english\roman{page}}
\fancypagestyle{plain}{%
    \fancyhead{}
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0.4pt}
    \rfoot{\english\roman{page}}
}
\tableofcontents

\chapter*{ಮುನ್ನುಡಿ}
\addcontentsline{toc}{chapter}{ಮುನ್ನುಡಿ}

ಕರ್ನಾಟಕ ನಾಡು ಮತ್ತು ಆ ನಾಡಿನ ಜನ ಹಾಗೂ ಅವರಾಡುವ ಭಾಷೆ. 

\chapter{ಇತಿಹಾಸ}
%\pagenumbering{arabic}
\setcounter{page}{1}
\rfoot{\kannadanumeral{page}}
\fancypagestyle{plain}{%
    \fancyhead{}      % clear all header fields
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0.4pt}
    \rfoot{{\kannadanumeral{page}}}
}

ಅಶೋಕನ ಬ್ರಾಹ್ಮೀ ಲಿಪಿ ಉತ್ತರಕ್ಕೆ ಕಾಲಸಿ ಮತ್ತು ಭಾರತ-ನೇಪಾಲ ಗಡಿಯಲ್ಲಿರುವ ರುಮ್ಮಿಂದೈಯಿಂದ ದಕ್ಷಿಣಕ್ಕೆ ಮೈಸೂರುವರೆಗೂ ಪೂರ್ವಕ್ಕೆ ಒರಿಸ್ಸದಿಂದ ಪಶ್ಚಿಮಕ್ಕೆ ಜುನಾಗಢ ಮತ್ತು ಮುಂಬಯಿವರೆಗೂ ದೊರೆತ ಅಶೋಕ ಸಾಮ್ರಾಟನ ಧರ್ಮಶಾಸನಗಳಲ್ಲಿ ಕಂಡುಬರುತ್ತದೆ. ಈ ಲಿಪಿಯು ಅಶೋಕನ ಕಾಲದಲ್ಲಿ ಪ್ರಚಲಿತವಿದ್ದ ಪಾಕೃತ ಬಾಷೆಯಾಗಿ ಉಪಯೋಗಿಸಲ್ಪಟ್ಟಿದೆ.

{\english This is some text in English.}

\chapter{ಪರಿಣಾಮ}

ಕನ್ನಡ ಲಿಪಿಯ ಒಂದು ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ಪ್ರಾಚೀನಕಾಲದಿಂದಲೂ ಕಾಗುಣಿತಾಕ್ಷರದ ಹೃಸ್ವ ಮತ್ತು ದೀರ್ಘ ಎ ಮತ್ತು ಏ ಕಾರಗಳನ್ನು ಹಾಗೂ ಒ ಮತ್ತು ಓ ಕಾರಗಳನ್ನು ಒಂದೇ ಸಂಜ್ಞೆಯಿಂದ ಸೂಚಿಸುತ್ತಿದ್ದು ಅವುಗಳಲ್ಲಿಯ ಹೃಸ್ವ ಮತ್ತು ದೀರ್ಘ ವರ್ಣಗಳ ಭೇದವನ್ನು ಸಂದರ್ಭಾನುಸಾರವಾಗಿ ತಿಳಿದುಕೊಳ್ಳಬೇಕಾಗಿತ್ತು.

\chapter{ಕನ್ನಡದ ಶುದ್ಧಾಕ್ಷರಗಳ ವಿಧಗಳು}

ಕೇಶಿರಾಜನ ಪ್ರಕಾರ ಕನ್ನಡ ಶುದ್ಧಗೆಯಲ್ಲಿ ಐದು ವಿಧಗಳು. ಅವುಗಳು ಕ್ರಮವಾಗಿ : ಸ್ವರ ಅಕ್ಷರಗಳು, ವರ್ಗೀಯ ವ್ಯಂಜನ ಅಕ್ಷರಗಳು, ಅವರ್ಗೀಯ ವ್ಯಂಜನ ಅಕ್ಷರಗಳು, ಯೋಗವಾಹ ಅಕ್ಷರಗಳು, ದೇಶಿಯ ಅಕ್ಷರಗಳು. ಆದರೆ ಕನ್ನಡ ಪಠ್ಯಾನುಸಾರ ಪ್ರಾಥಮಿಕ ಮತ್ತು ಮಾಧ್ಯಮಿಕ ತರಗತಿಯ ವಿದ್ಯಾರ್ಥಿಗಳು ಒಟ್ಟು ಕನ್ನಡ ಅಕ್ಷರಗಳನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಗ್ರಹಿಸಿಕೊಂಡಿದ್ದಾರೆ. 

\end{document}

我附上了该问题的屏幕截图。

在此处输入图片描述

如何在目录中正确获取页码?此外,如何更改contentsname

答案1

以下是阅读polyglossia的文档的结果,因此我推荐。我的指导思想是尽可能使用 LaTeX 提供的工具,并且polyglossia只有在无法避免时才手动干预。

为此,您需要正确设置语言配置。这意味着英语应该是“其他”语言,并且您应该Script在指定字体时指定此类内容。我怀疑Kannada可能是默认设置,但也有默认设置,Kannada v.2而且直接指定它似乎更容易。

然后,您就可以访问诸如 之类的内容\localnumeral*{<counter>}。但是,您不想\thepage在序言中以这种方式定义,因为您希望在文档的第一部分使用罗马数字。因此,请为此设置编号,然后切换到卡纳达语。这意味着您只需要一个plain定义,正确的内容就会写入.toc

您还需要将内容名称的重新定义移到之后\begin{document},并polyglossia建议仅在加载所有包后配置语言。(这与 形成对比babel,在 中,通常尽快执行此操作会更好。)

\documentclass{book}
% ateb: https://tex.stackexchange.com/a/699800/ i gwestiwn mas: https://tex.stackexchange.com/q/699797/    
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{fancyhdr}

% polyglossia says configure languages after all package loaded
\setdefaultlanguage{kannada}
\setotherlanguage[variant=british]{english}% or american or whatever
\setmainfont[Script=Kannada]{Noto Sans Kannada}
\newfontfamily{\englishfont}{Noto Sans}

\renewcommand{\thechapter}{\localnumeral*{chapter}}

% We will define some fancy page styles here
\pagestyle{fancy}
\fancyhf{}          % Empty every style
\fancyhead[LO, LE]{\leftmark}
  
\fancypagestyle{plain}{%
  \fancyhf{}%
  \renewcommand{\headrulewidth}{0pt}%
  \renewcommand{\footrulewidth}{0.4pt}%
  \rfoot{\thepage}%
}

\begin{document}
\renewcommand{\contentsname}{ಪರಿವಿಡಿ}   % this is not working
\frontmatter
\pagenumbering{roman}
\renewcommand* \thepage  {\textenglish{\roman{page}}}

\tableofcontents

\chapter*{ಮುನ್ನುಡಿ}
\addcontentsline{toc}{chapter}{ಮುನ್ನುಡಿ}

ಕರ್ನಾಟಕ ನಾಡು ಮತ್ತು ಆ ನಾಡಿನ ಜನ ಹಾಗೂ ಅವರಾಡುವ ಭಾಷೆ. 

\mainmatter
\pagenumbering{arabic}
\renewcommand* \thepage {\localnumeral*{page}}

\chapter{ಇತಿಹಾಸ}


ಅಶೋಕನ ಬ್ರಾಹ್ಮೀ ಲಿಪಿ ಉತ್ತರಕ್ಕೆ ಕಾಲಸಿ ಮತ್ತು ಭಾರತ-ನೇಪಾಲ ಗಡಿಯಲ್ಲಿರುವ ರುಮ್ಮಿಂದೈಯಿಂದ ದಕ್ಷಿಣಕ್ಕೆ ಮೈಸೂರುವರೆಗೂ ಪೂರ್ವಕ್ಕೆ ಒರಿಸ್ಸದಿಂದ ಪಶ್ಚಿಮಕ್ಕೆ ಜುನಾಗಢ ಮತ್ತು ಮುಂಬಯಿವರೆಗೂ ದೊರೆತ ಅಶೋಕ ಸಾಮ್ರಾಟನ ಧರ್ಮಶಾಸನಗಳಲ್ಲಿ ಕಂಡುಬರುತ್ತದೆ. ಈ ಲಿಪಿಯು ಅಶೋಕನ ಕಾಲದಲ್ಲಿ ಪ್ರಚಲಿತವಿದ್ದ ಪಾಕೃತ ಬಾಷೆಯಾಗಿ ಉಪಯೋಗಿಸಲ್ಪಟ್ಟಿದೆ.

\textenglish{This is some text in English.}

\chapter{ಪರಿಣಾಮ}

ಕನ್ನಡ ಲಿಪಿಯ ಒಂದು ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ಪ್ರಾಚೀನಕಾಲದಿಂದಲೂ ಕಾಗುಣಿತಾಕ್ಷರದ ಹೃಸ್ವ ಮತ್ತು ದೀರ್ಘ ಎ ಮತ್ತು ಏ ಕಾರಗಳನ್ನು ಹಾಗೂ ಒ ಮತ್ತು ಓ ಕಾರಗಳನ್ನು ಒಂದೇ ಸಂಜ್ಞೆಯಿಂದ ಸೂಚಿಸುತ್ತಿದ್ದು ಅವುಗಳಲ್ಲಿಯ ಹೃಸ್ವ ಮತ್ತು ದೀರ್ಘ ವರ್ಣಗಳ ಭೇದವನ್ನು ಸಂದರ್ಭಾನುಸಾರವಾಗಿ ತಿಳಿದುಕೊಳ್ಳಬೇಕಾಗಿತ್ತು.

\chapter{ಕನ್ನಡದ ಶುದ್ಧಾಕ್ಷರಗಳ ವಿಧಗಳು}

ಕೇಶಿರಾಜನ ಪ್ರಕಾರ ಕನ್ನಡ ಶುದ್ಧಗೆಯಲ್ಲಿ ಐದು ವಿಧಗಳು. ಅವುಗಳು ಕ್ರಮವಾಗಿ : ಸ್ವರ ಅಕ್ಷರಗಳು, ವರ್ಗೀಯ ವ್ಯಂಜನ ಅಕ್ಷರಗಳು, ಅವರ್ಗೀಯ ವ್ಯಂಜನ ಅಕ್ಷರಗಳು, ಯೋಗವಾಹ ಅಕ್ಷರಗಳು, ದೇಶಿಯ ಅಕ್ಷರಗಳು. ಆದರೆ ಕನ್ನಡ ಪಠ್ಯಾನುಸಾರ ಪ್ರಾಥಮಿಕ ಮತ್ತು ಮಾಧ್ಯಮಿಕ ತರಗತಿಯ ವಿದ್ಯಾರ್ಥಿಗಳು ಒಟ್ಟು ಕನ್ನಡ ಅಕ್ಷರಗಳನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಗ್ರಹಿಸಿಕೊಂಡಿದ್ದಾರೆ. 

\end{document}

带有罗马数字和卡纳达数字的目录页

主文档中的章节标题带有本地化编号

相关内容