我正在用卡纳达语排版一本书,一切都运行正常。
这本书包含许多章节和几个前言文件。按照惯例,我将前言的页码设置为罗马数字,将正文的页码设置为阿拉伯数字。阿拉伯页码被渲染为卡纳达语数字,输出结果与预期一致。但是,前言的页码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}