À quoi servent les commandes “\newcommand” et “\renewcommand”?
Ces deux commandes servent à (re)définir des commandes. Il est nécessaire de savoir si la macro que l'on définit existait ou pas, afin de savoir laquelle de ces deux commandes utiliser.
La syntaxe est la même pour les deux commandes, à savoir :
\newcommand{nom}[nbparam][defaut]{definition}
Le premier argument obligatoire est le nom de la commande, qui commencera
obligatoirement par une contre-oblique. Le premier argument optionnel indique,
s'il y en a, le nombre d'arguments que prendra la commande que l'on définit.
Si le deuxième argument optionnel est présent, il indique que le premier
argument de la commande nouvellement définie est optionnel, et donne sa
valeur s'il était absent. Le deuxième argument obligatoire de
\newcommand
est la définition proprement dite de la commande. Dans
cette définition, on peut faire référence aux arguments avec le symbole
#
: #1
indique le premier argument (même s'il est optionnel),
#2
le deuxième, jusqu'à #9
. Il ne peut y avoir plus de 9 arguments.
\newcommand
vérifie qu'il n'existe pas déjà une commande portant le même nom
que ce que vous lui demandez. Dans le cas où la commande existe déjà, il émet une erreur
et la compilation du document s'arrête.
Pour redéfinir une commande, utilisez \renewcommand
, qui remplacera (sans erreur)
la définition existante.
\providecommand
. Si la commande existait
déjà, elle n'est pas modifiée.