Hi I ve got this error message

Runaway argument?
\x@protect \[\protect \[  \@nil  \@ifpackageloaded {amstex}{\def \@tempa \ETC.
Paragraph ended before \@tempa was complete.
<to be read again> \par 
 l.435 \newenvironment{proof}[1][\proofname]{\par

while compiling this in XeLaTex





What seems to be the pbm?

1 Answer 1


polyglossia (or a package it loads) makes \[ robust but amsthm isn't expecting that. If you reset the original definition, things work better,





(I removed redundant packages from the example)

  • David, it works. The original definition of what does the combination of \let\zz[\let\zzz] reset?
    – agozar
    Aug 28, 2013 at 15:38
  • @agozar it saves the definition of \[ in \zz and \] in \zzz (the z names are just arbitrary local names) and then restores them after polyglossia, setting \[ back to \zz which is its original definition, and same for \] Aug 28, 2013 at 15:46
  • @ggll that isn't a comment anyone can act on. Which packages? Also which format as the situation has changed since this answer, latex now makes \[ robust by default. Probably best to ask a new question on teh sit ewith a complete example that shows the problem rather than comment on an old answer. Sep 16, 2015 at 15:39
  • 1
    getting the same error without using polyglossia: solved by loading amsthm after amsmath as advised here: tex.stackexchange.com/questions/164892/…
    – ggll
    Sep 16, 2015 at 15:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .