アラビア語で書かれた文書に英語の章を挿入する

アラビア語で書かれた文書に英語の章を挿入する

パッケージを使用してアラビア語で書かれた本の最後に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}

関連情報