FataleCommandes et paquets

Commande déjà définie

! LaTeX Error: Command \XXX already defined.

Ce que signifie cette erreur

Vous avez utilisé \newcommand pour définir une commande qui existe déjà. LaTeX refuse d'écraser silencieusement les commandes existantes, ce qui évite des bogues de redéfinition difficiles à diagnostiquer.

Causes courantes

  • Utilisation de \newcommand pour une commande définie par un paquet chargé
  • La même commande est définie deux fois dans votre document
  • Deux paquets définissent le même nom de commande

Comment corriger

Utilisez \renewcommand à la place de \newcommand si vous souhaitez volontairement remplacer une commande existante. Si le conflit oppose deux paquets, chargez-les dans un ordre différent ou employez la technique \let pour sauvegarder puis restaurer l'original.

Exemples de code

Provoque l'erreur
\documentclass{article}
\usepackage{amsmath}

% \text is already defined by amsmath
\newcommand{\text}[1]{\textit{#1}}

\begin{document}
Hello
\end{document}
Corrigé
\documentclass{article}
\usepackage{amsmath}

% Use \renewcommand to override safely
\renewcommand{\text}[1]{\textit{#1}}

\begin{document}
Hello
\end{document}

Erreurs apparentées

Testez la correction en direct

Collez votre LaTeX dans le playground et compilez instantanément.