阿拉伯语 ldf (babel) 的页码问题

阿拉伯语 ldf (babel) 的页码问题

我有这个例子,作为arabic第二语言\pagenumbering{roman}不要将页码格式更改为罗马数字

评论

如果我们删除章节标题,就可以更改页码。

\documentclass[12pt]{report}
\usepackage[T1]{fontenc}
%\usepackage[french]{babel}
\usepackage[arabic,french]{babel}

\begin{document}

\pagenumbering{roman}
 %\renewcommand{\thepage}{foo} 

\chapter{First chap} % problem does not appear if we remove chapter headings
\section{First sec}

\newpage
text 
\newpage
text 

\end{document}

答案1

对阿拉伯语的支持pdftex是一个单独的包 ( arabi)。请参阅https://ctan.org/pkg/arabi。我认为它主要针对大多数阿拉伯语文档,因此如果布局代码发生变化,我不会感到惊讶。但是,对于短文本(几个单词),定义一个简单的宏很容易:

\documentclass[12pt]{report}
\usepackage[LAE,T1]{fontenc}

\usepackage[spanish, bidi=default]{babel}

\newcommand\usearabic[1]{{\fontencoding{LAE}\selectfont\beginR#1\endR}}

\begin{document}

Text \usearabic{اثنين ثلاثة} text \usearabic{ثلاثة} text.

\end{document}

答案2

在文件中,arabicore.sty我们可以找到重新定义\ps@plain\ps@myheadings其中\ps@headings包括重新定义\thepage命令

\let\SAV@ps@plain\ps@plain
\let\SAV@ps@myheadings\ps@myheadings
\let\SAV@ps@headings\ps@headings
%
\def\ps@plain{\ps@empty%
\gdef\thepage{\protect\if@rlmain\protect\I{\number\c@page}%
\protect\else\protect\textLR{\number\c@page}%
\protect\fi}%
\SAV@ps@plain}
%
\def\ps@myheadings{\ps@empty%
\gdef\thepage{%
\protect\if@rlmain\protect\I{\number\c@page}%
\protect\else\protect\textLR{\number\c@page}%
\protect\fi}%
\SAV@ps@myheadings}
%
\def\ps@headings{\ps@empty%
\gdef\thepage{%
\protect\if@rlmain\protect\I{\number\c@page}%
\protect\else\protect\textLR{\number\c@page}%
\protect\fi}%
\SAV@ps@headings}

我们需要使用以下方法恢复宏的初始定义

\let\ps@plain\SAV@ps@plain
\let\ps@myheadings\SAV@ps@myheadings
\let\ps@headings\SAV@ps@headings

例如变成

\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[arabic,french]{babel}

\begin{document}

\makeatletter
\let\ps@plain\SAV@ps@plain
\let\ps@myheadings\SAV@ps@myheadings
\let\ps@headings\SAV@ps@headings
\makeatother

\renewcommand{\thepage}{foo}
%\pagenumbering{roman}

\chapter{First chap}
\section{First sec}

\newpage
text 
\newpage
text 

\end{document}

相关内容