You load a pair of packages, and the second reports that one of the
commands it defines is already present. For example, both the
txfonts and amsmath define a command \iint
(and \iiint
and so on); so
produces a string of error messages of the form:... \usepackage{txfonts} \usepackage{amsmath}
As a general rule, things that amsmath defines, it defines well; however, there is a good case for using the txfonts version of! LaTeX Error: Command \iint already defined. Or name \end... illegal, see p.192 of the manual.
\iint
— the associated tx fonts have a
double integral symbol that doesn’t need to be “faked” in the way
amsmath does. In the case that you are loading several
symbol packages, every one of which defines the same symbol, you are
likely to experience the problem in a big way (\euro
is a common
victim).
There are similar cases where one package redefines another’s command,
but no error occurs because the redefining package doesn’t use
\newcommand
. Often, in such a case, you only notice the change
because you assume the definition given by the first package. The
amsmath–txfonts packages are just such a pair;
txfonts doesn’t provoke errors.
You may deal with the problem by saving and restoring the command. Macro programmers may care to do this for themselves; for the rest of us, there’s the package savesym. The sequence:
does the job; restoring the amsmath version of the command, and making the txfonts version of the command available as\usepackage{savesym} \usepackage{amsmath} \savesymbol{iint} \usepackage{txfonts} \restoresymbol{TXF}{iint}
\TXFiint
.
Documentation of savesym doesn’t amount to much: the only
commands are \savesymbol
and \restoresymbol
, as noted above.
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=alreadydef