将页码样式从阿拉伯文改为罗马文无效

将页码样式从阿拉伯文改为罗马文无效

我想在论文中使用罗马数字和阿拉伯数字。文档的主要语言是阿拉伯语,我使用命令\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}

相关内容