Discussion:
multiintegral error
TEDY
2007-03-12 01:35:34 UTC
Permalink
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.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.506 ...d{\iint}{\DOTSI\protect\MultiIntegral{2}}

Your command was ignored.
Type I <command> <return> to replace it with another command,
or <return> to continue without it.


! LaTeX Error: Command \iiint already defined.
Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.507 ...{\iiint}{\DOTSI\protect\MultiIntegral{3}}

Your command was ignored.
Type I <command> <return> to replace it with another command,
or <return> to continue without it.


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?
--
Sincerely Yours,

Tedy Tirtawidjaja
Philip G. Ratcliffe
2007-03-12 09:26:33 UTC
Permalink
Post by TEDY
I was compile a document with LaTeX. I used amsmath package.
! 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.
Loading...