如何使用 Babel 对页眉和页脚使用一致的语言?

如何使用 Babel 对页眉和页脚使用一致的语言?

我有一份希伯来语文档,其中包含一些英语部分,我正在使用该fancyhdr包来添加页眉和页脚。我将其\begin{otherlanguage}{english} \end{otherlanguage}用于我的英语部分。问题是,由于此环境基本上是这样的\selectlanguage{english},如果我的文本跨越多页,那么页眉和页脚也会更改为英语,我不喜欢这样。主要语言是希伯来语,即使页面恰好是英语,页眉和页脚也应始终使用希伯来语。这是一个 MWE:

\documentclass[a4paper, 12pt]{article}

\usepackage[bidi=basic, layout=tabular]{babel}

\babelprovide[main, import, alph=letters, Alph=letters]{hebrew}
\babelprovide[import]{english}

\babelfont[hebrew]{rm}{David CLM}
\babelfont[hebrew]{sf}{David CLM}

\usepackage{geometry}
\usepackage{blindtext}

\geometry{left=1cm, right=1cm, top=2cm, bottom=2cm}
\setlength{\headheight}{15pt}

\makeatletter
\newif\if@RTL \@RTLtrue
\makeatother

\usepackage{fancyhdr}
\chead{שלום 1}
\lhead{}
\rhead{}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\pagestyle{fancy}

\begin{document}
\begin{otherlanguage}{english}
    \Blindtext[5][3]
\end{otherlanguage}
\end{document}

这个问题导致我的希伯来语页眉消失,因为英语模式不使用希伯来语字体(也不应该使用)。这个问题的另一个副作用是,如果您访问的页面超过一位数字(增加参数\Blindtext即可看到这一点),那么页脚中的页码也会反转:它显示的不是第 10 页,而是第 01 页。

无论选择哪种语言,如何将页眉和页脚配置为同一种语言?

答案1

这种情况有时会发生,因此babel提供了包选项headfoot来处理它:

\usepackage[bidi=basic, layout=tabular, headfoot=hebrew]{babel}

相关内容