[texhax] multiintegral error

Philip G. Ratcliffe philip.ratcliffe at uninsubria.it
Mon Mar 12 10:26:33 CET 2007

> I was compile a document with LaTeX. I used amsmath package. 
> The result has error like this :
> ! LaTeX Error: Command \iint already defined.
>                Or name \end... illegal, see p.192 of the manual.
> [snip]
> Because that error, I cannot write multiintegral very well. 
> Instead of amsmath, I also use  amsbsy,amssymb. Is there any 
> possibility that those error appear because collision between 
> those packages?  I don't know how to fix this problem; can 
> anyone here help me? 

Firstly, all the packages you mention belong to the "ams" set and I don't
believe the authors were silly enough to make them incompatible (although
amstex would probably clash, but shouldn't be used anyway here).

Secondly, there are various other packages that define \iint, \iiint & co.
and I can only assume you are using one of them - although you (unhelpfully)
don't say!

There are various possible solutions:

1. drop any clashing packages that you don't need (they probably are indeed
redundant anyway);

2. change the order of package loading (i.e., put amsmath first) - this
however will overwrite the amsmath definition;*

3. keep the amsmath as the last package and for every offending command
insert, e.g., \let\iint\relax just BEFORE loading it (i.e., AFTER loading
the others).

Cheers, Phil

* To explain this point, note that only amsmath makes the definitions the
"correct" way (i.e. using \newcommand); the others all use \def, which
affords NO protection against multiple and possibly conflicting definitions.

More information about the texhax mailing list