![将页码样式从阿拉伯文改为罗马文无效](https://linux22.com/image/385618/%E5%B0%86%E9%A1%B5%E7%A0%81%E6%A0%B7%E5%BC%8F%E4%BB%8E%E9%98%BF%E6%8B%89%E4%BC%AF%E6%96%87%E6%94%B9%E4%B8%BA%E7%BD%97%E9%A9%AC%E6%96%87%E6%97%A0%E6%95%88.png)
我想在论文中使用罗马数字和阿拉伯数字。文档的主要语言是阿拉伯语,我使用命令\pagenumbering
来更改页码的样式。我尝试了大多数添加命令\clearpage
或的解决方案\cleardoublepage
,但不起作用,但是重新定义plain
页面样式,如
命令 \pagenumbering 无法更改数字样式从阿拉伯数字变为罗马数字,但它会影响目录情况很糟糕,这里是目录 目录**:如何更改不同级别的重新定义命令 \@tocrmarg 和 \@pnumwidth(章节、秒、..)。
本文件的主要语言为阿拉伯。如何将页码从阿拉伯数字更改为罗马数字,而无需重新定义“普通”页面样式。这是 MWC:
\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[LAE, T1]{fontenc}
\usepackage[arabic, english]{babel}
\renewcommand{\I}[1] {\if@farsi\FarsiEncoding\else\ArabicEncoding\fi\textLR{#1}}%
\renewcommand{\EI}[1]{\textLR{\FarsiEncoding \textLR{#1}}}%
\renewcommand \thechapter {\textLR{\arabic{chapter}}}
\TOCLanguage{arabic} % arabic is the main language
\newcommand\lr[1]{\textLR{#1}}
\newcommand\rl[1]{\textRL{#1}}
\begin{document}
\selectlanguage{arabic}
\pagenumbering{roman}
\chapter*{الملخص}
الملخص العربي
\chapter*{\lr{Abstract}}
\textLR{ English abstract\ldots}
\chapter*{كلمة الشكر}
نص باللغة العربية
\tableofcontents
\listoffigures
\listoftables
\cleardoublepage
\pagenumbering{arabic}
\chapter{تجريب}
نص باللغة العربية\\
\end{document}
答案1
您无需使用存在很多问题的旧方法来插入包,就可以使用xelatex
。
这里您的示例使用polyglossia
(内部调用包bidi
来适应许多常用包从右到左的书写)
% compile with xelatex
\documentclass[a4paper,12pt]{report}
\usepackage{polyglossia}
\setdefaultlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\begin{document}
\pagenumbering{Roman}
\chapter*{الملخص}
الملخص العربي
\chapter*{Abstract}
\LR{ English abstract\ldots}
\chapter*{كلمة الشكر}
نص باللغة العربية
\tableofcontents
\listoffigures
\listoftables
\cleardoublepage
\pagenumbering{arabic}
\chapter{تجريب}
نص باللغة العربية\\
\end{document}