Você carrega um par de pacotes, e o segundo relata que um dos comandos definidos já está presente. Por exemplo, tanto
txfonts quanto amsmath definem um comando \iint
(e \iiint
e assim por diante); então,
produz uma cadeia de mensagens de erro da forma:... \usepackage{txfonts} \usepackage{amsmath}
Como regra geral, coisas que o amsmath define são bem definidas; porém, existe um bom motivo para usar a versão txfonts do! LaTeX Error: Command \iint already defined. Or name \end... illegal, see p.192 of the manual.
\iint
— as fontes tx associadas tem um símbolo de integral duplo que não precisa ser “simulado” da maneira como o amsmath faz. No caso de você estar carregando vários pacotes de símbolos, cada um dos quais definindo um mesmo símbolo, é provavel que você tenha esse problema de forma acentuada (\euro
é uma vítima comum).
Há casos semelhantes onde um pacote redefine o comando de outro, mas nenhum erro ocorre porque o pacote que está redefinindo não usa o
\newcommand
. Geralmente, nesse caso, você só nota a mudança porque você presume a definição dada pelo primeiro pacote. Os pacotes
amsmath–txfonts são esse par;
txfonts não provoca erros.
Você pode lidar com o problema salvando e restaurando o comando. Programadores de macro talvez façam isso por eles mesmos; para o resto de nós, existe o pacote savesym. A sequência
resolve, restaurando a versão amsmath do comando e fazendo a versão txfonts do comando disponível como\usepackage{savesym} \usepackage{amsmath} \savesymbol{iint} \usepackage{txfonts} \restoresymbol{TXF}{iint}
\TXFiint
.
Não há muita documentação sobre o savesym : os únicos comandos são \savesymbol
e \restoresymbol
, como dito acima.
This question on the Web: http://latex.net.br/faq/FAQ-alreadydef.html
Do you have any question? Ask on: latex.net.br - we love qood questions!