在用阿拉伯語編寫的文檔中插入英文章節

在用阿拉伯語編寫的文檔中插入英文章節

我想在使用包用阿拉伯語編寫的書的末尾插入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

這顯然是loss-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}

相關內容