
Я хочу вставить в конец книги, написанной на арабском языке с использованием 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}