[XeTeX] Conflicts between AMS document classes and polyglossia

David M. Jones dmj at ams.org
Sat Dec 27 03:51:03 CET 2008


If you want a quick-and-dirty fix, you can patch the definition of
\maketitle like this:

\def\maketitle{\par
  \@topnum\z@ % this prevents figures from falling at the top of page 1
  \@setcopyright
  \thispagestyle{firstpage}% this sets first page specifications
  \uppercasenonmath\shorttitle
  \ifx\@empty\shortauthors \let\shortauthors\shorttitle
  \else \andify\shortauthors
  \fi
  \@maketitle at hook
  \begingroup
  \@maketitle
  \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}%
  %REMOVED%\toks4{\def\\{ \ignorespaces}}% defend against questionable usage
  \edef\@tempa{%
    \@nx\markboth{%REMOVED%\the\toks4
      \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}%
  \@tempa
  \endgroup
  \c at footnote\z@
  \@cleartopmattertags
}

Either put that code in a file called something like myamspatches.sty
and use \usepackage to include it, or put it in the preamble of your
document surrounded by \makeatletter and \makeatother.

The same patch applies to amsproc.cls; amsbook.cls doesn't have the
problem.

I believe this is a genuine bug in the AMS classes and we will have to
patch it in the next release.

Cheers,
David M. Jones
Publications Technical Specialist
American Mathematical Society
http://www.ams.org/

> From: oudomphe at clipper.ens.fr (=?iso-8859-1?Q?R=E9my?= Oudompheng)
> Date: Thu, 25 Dec 2008 15:40:32 +0100
> Organization: Debian GNU/Linux site
> Reply-To: Unicode-based TeX for Mac OS X and other platforms <xetex at tug.org>
> 
> 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 ?
> 
> Regards,
>   Rémy Oudompheng. 
> 
> _______________________________________________
> XeTeX mailing list
> postmaster at tug.org
> http://tug.org/mailman/listinfo/xetex


More information about the XeTeX mailing list