[XeTeX] Conflicts between AMS document classes and polyglossia

Ross Moore ross at ics.mq.edu.au
Fri Dec 26 06:26:37 CET 2008

Hi Rémy,

On 26/12/2008, at 1:40 AM, Rémy Oudompheng wrote:

> Hi,
> I am experiencing problems compiling documents using AMS document
> classes (such as amsart), using a standard setup of TeXLive (TeXLive
> 2008 packages from ArchLinux).
> For example, the following file :
> \documentclass{amsart}
> \usepackage[english]{polyglossia}
> \begin{document}
> \title{Title}
> \author{Author}
> \maketitle
> Several words.
> \newpage
> More words.
> \end{document}
> fails with the following error :
> ! Use of \protect doesn't match its definition.
> <argument> ...orespaces }\protect \MakeUppercase
>                                                   {Author}
> l.11 \end{document}
> ?
> Removing the option for the polyglossia package seems to remove the
> error. How can I work around this problem ?

Interesting problem.
It occurs because  polyglossia  scans the contents of the
left & right header marks, inserting \protect commands
to allow safer expansion within macros.

However, there is a piece of coding that  AMS  classes use
which is not safe against this strategy.

lines 622--626 of  amsart.cls  are as follows:

   \toks4{\def\\{ \ignorespaces}}% defend against questionable usage

These are more robustly written as:

%  \toks4{\def\\{ \ignorespaces}}% defend against questionable usage
     \@nx\markboth{\@nx\protect at backslash

using a new internal macro \protect at backslash  defined as:

%% RRM --- added 2008/12/26
\def\protect at backslash{%
  \expandafter\def\noexpand\\{ \ignorespaces}}

Now your example works fine both with and without using
  polyglossia.sty , and it should not adversely affect
other documents with the  amsart  document class.

Note that  amsproc.cls   also would profit from this kind of edit.

> Regards,
>   Rémy Oudompheng.

Hope this helps,


Ross Moore                                       ross at maths.mq.edu.au
Mathematics Department                           office: E7A-419
Macquarie University                             tel: +61 (0)2 9850 8955
Sydney, Australia  2109                          fax: +61 (0)2 9850 8114

More information about the XeTeX mailing list