Take the 2-minute tour ×

This is the preamble to a book I'm editing:


Trying to compile this document yields the error:

LaTeX Error: Command \proof already defined.

This error only occurred after the inclusion of amsthm in the above list, which I need for one of the chapters. Obviously amsthm is clashing with some other package in the list, but I have no way of finding which one (the other packages are needed for other chapters anyway).

Is there any way of telling LaTeX to ignore the definition of proof from amsthm, thus hopefully resolving the conflict?

Edit: The class I'm using is monog3, which is provided to me by Oxford University Press. I don't know if I can share its contents, but I have checked and it does contain the conflicting definition:

\def\proof{\trivlist \item[\hskip \labelsep{\bf Proof\ }]}

With this in mind, is there a way to get around the clash?

share|improve this question
This works for me. If you're using TeX Live, I suggest you do an update: tlmgr update --all (I just did that myself.) –  Marc van Dongen Feb 8 '12 at 15:29
Welcome to TeX.sx! Please take a look at advice on creating a minimal working example (MWE), as this may well help you isolate the issue you have. –  Joseph Wright Feb 8 '12 at 15:33
Please, show what class you're using. Probably it's defining \proof. –  egreg Feb 8 '12 at 15:35
@MarcvanDongen I've tried this. It didn't help (but thanks for pointing this out anyway, I definitely needed to update). –  Edward Grefenstette Feb 8 '12 at 16:19
@egreg There is indeed a clash at class level. I've edited the post above. –  Edward Grefenstette Feb 8 '12 at 16:19
add comment

1 Answer

up vote 14 down vote accepted

If the class defines either a macro or an environment called proof, add the instructions \let\proof\relax and \let\endproof\relax before loading amsthm.

share|improve this answer
That doesn't seem to do the trick. Same error is popping up :-( –  Edward Grefenstette Feb 8 '12 at 15:25
If your document class is defining "proof" then the above line from David has to go before loading amsthm (not after). –  Frank Mittelbach Feb 8 '12 at 16:12
@FrankMittelbach That solved it! –  Edward Grefenstette Feb 8 '12 at 16:23
@EdwardGrefenstette You got several people trying to help you and it took a long time to solve your problem. In the end only you knew what was going on because you didn't suply a minimal example. For future reference, please provide one, it will save us all some time.... –  Marc van Dongen Feb 8 '12 at 22:55
This just saved me. –  Jayesh Badwaik Sep 22 '13 at 4:25
add comment

Your Answer


