![如何使用 XeLaTeX 使页码以印地语数字而不是阿拉伯数字显示?](https://linux22.com/image/288792/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20XeLaTeX%20%E4%BD%BF%E9%A1%B5%E7%A0%81%E4%BB%A5%E5%8D%B0%E5%9C%B0%E8%AF%AD%E6%95%B0%E5%AD%97%E8%80%8C%E4%B8%8D%E6%98%AF%E9%98%BF%E6%8B%89%E4%BC%AF%E6%95%B0%E5%AD%97%E6%98%BE%E7%A4%BA%EF%BC%9F.png)
我有一份文档,其中大部分内容为阿拉伯语文本,少量内容为英语文本。输出中显示的页码为阿拉伯数字(1、2、3 等),而不是输出中正文部分第一句中显示的所需印地语数字。
如何修复?
笔记:
如果有人能帮助我将阿拉伯语环境中的英文文本缩进到左侧而不是像输出中那样缩进到右侧,我也会很感激。
MWE 代码
\documentclass[oneside,18pt]{scrartcl}
\usepackage{fontspec}
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\usepackage{arabxetex}
%=====================End of Preamble ===================================
\begin{document}
\begin{arab}[voc]
\bigskip
هنا مجمل النص باللغة العربية، ثم مجموعة ارقام باللغة العربية: 1، 2، 3، الخ. ارقام الصفحات ليست كهذه الارقام، ما الذي ينبغي عمله لكي تظهر ارقام الصفحات بهذا الشكل ايضا؟
رقم الصفحة ظهر كارقام هندي.
\noindent\textLR{1, 2, 3, etc are called Arabic numbers, while the numbers above are called Hindi numbers.}
\end{arab}
\end{document}
MWE 输出 [正文部分]
MWE 输出 [页码部分]
答案1
您可以退出arab
环境并返回英文排版规则。
我通常使用polyglossia
包来为我处理这个问题,但我们可以\thepage
自己重新定义并添加Mapping=arabicdigits
其他\arabicfont
选项。
\documentclass[oneside,18pt]{scrartcl}
\usepackage{fontspec}
\newfontfamily\arabicfont[Script=Arabic,Mapping=arabicdigits]{Amiri} % arabicdigits devanagaridigits bengalidigits farsidigits thaidigits
\usepackage{arabxetex}
\renewcommand{\thepage}{\arabicfont\arabic{page}}
\addtocounter{page}{122}
\parindent=0pt
%\addtolength{\textheight}{-7.5in} % For purpose of the post.
\begin{document}
\begin{arab}[voc]
هنا مجمل النص باللغة العربية، ثم مجموعة ارقام باللغة العربية: 1، 2، 3، الخ. ارقام الصفحات ليست كهذه الارقام، ما الذي ينبغي عمله لكي تظهر ارقام الصفحات بهذا الشكل ايضا؟
رقم الصفحة ظهر كارقام هندي.
\end{arab}
1, 2, 3, etc are called Arabic numbers, while the numbers above are called Hindi numbers.
\end{document}