在用阿拉伯语编写的文档中插入英文章节

在用阿拉伯语编写的文档中插入英文章节

我想在使用该包用阿拉伯语编写的书的末尾插入一polyglossia章用英语编写的章节。我尝试使用\selectlanguage{english}此包提供的命令执行此操作,但使用 xelatex 进行编译时出现以下错误:

! Undefined control sequence. <argument> \MakeUppercase {\ifnum \c@secnumdepth >\m@ne \if@mainmatter \@cha...

我怎样才能实现我的目标?

我给出了 .tex 文件,产生了以下错误消息:

\documentclass[12pt]{book}

\usepackage{polyglossia}

\setdefaultlanguage{arabic}
\setotherlanguage{english}

\setmainfont{Times New Roman}   %% Choose any font
\newfontfamily\englishfont{Times New Roman}

\begin{document}

\selectlanguage{english}
\chapter{An english chapter}

\end{document}

答案1

这显然是 gloss-arabic.ldf 中的一个错误。它将 \MakeUppercase “还原”为未定义的命令。

\documentclass[12pt]{book}
\makeatletter 
 \let\orig@MakeUppercase\MakeUppercase
\makeatother 
\usepackage{polyglossia}

\setdefaultlanguage{arabic}
\setotherlanguage{english}

\setmainfont{Times New Roman}   %% Choose any font
\newfontfamily\englishfont{Times New Roman}

\begin{document}
\selectlanguage{english}
\chapter{An english chapter}

\end{document}

相关内容