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