7. Les commandes

Table des matières

Suivant

Précédent

 7.1 Commande simple
 7.2 Arguments d'une commande
 7.3 Argument optionnel d’une commande
 7.4 Attention aux espaces
 7.5 Avantages
 7.6 Redéfinition d'une commande

La commande constitue l'un des principaux composants de LaTeX. Chaque commande est identifiée par un nom unique qui doit commencer par le caractère \ et se poursuivre par une séquence de lettres. Remarquons que les minuscules et les majuscules sont considérées comme différentes par LaTeX.

7.1 Commande simple

L'utilisateur peut créer des commandes supplémentaires qui lui permettront, par exemple, d'abréger l'écriture de son texte. Supposons que vous rédigez un rapport sur la comparaison de trois produits pharmaceutiques dont l'un d'eux est pourvu d'un nom complexe, mettons ''Truc machine 500mg effervescent''. Vous devez bien entendu indiquer le nom complet chaque fois que vous faites référence à ce produit et cela est très fatiguant. LaTeX vous permet de simplifier fortement la rédaction du rapport en définissant une commande courte qui, chaque fois qu'elle sera insérée dans le document, sera remplacée à la compilation par le texte associé.

La définition d'une commande de nom nom et de texte associé texte se fait au moyen de la ligne
\newcommand{nom}{texte}
qui peut se trouver dans le préambule ou dans le texte du document. Nous conseillons cependant de regrouper les définitions de commande dans le préambule afin de pouvoir facilement les retrouver pour d'éventuelles modifications. Nous suggérons d'utiliser les possibilités de commentaires de LaTeX pour bien organiser le préambule.

Dans le cas de notre produit pharmaceutique, nous avons la ligne
\newcommand{\truc}{Truc machine 500mg effervescent}
si on décide de nommer la commande par \truc.

7.2 Arguments d'une commande

L'instruction \newcommand admet également un paramètre optionnel qui permet de spécifier le nombre d'arguments de la commande définie. On a alors
\newcommand{nom}[nargs]{texte}
nargs est ce paramètre optionnel qui doit être un nombre entier entre 1 et 9. Pour faire référence à ces arguments qui seront spécifiés entre accolades après le nom de la commande lors de l'appel, on utilise les caractères #n n est le numéro de l'argument.

Dans notre exemple, on pourrait faire du poids (le nombre 500), un argument de la commande. On aurait alors
\newcommand{\truca}[1]{Truc machine #1mg effervescent}
et le nom du produit serait obtenu par l'instruction \truca{500} On peut encore définir la commande \truc qui évitera l'introduction du paramètre supplémentaire au moyen de l'instruction suivante
\newcommand{\truc}{\truca{500}}
Remarquons que dans les deux cas, la commande \truc produit le même effet dans le document mais dans le deuxième exemple, on est plus général dans le sens où on peut facilement placer le même nom de produit mais qui n'aurait qu'un poids de 250.

7.3Argument optionnel d’une commande

Certaines commandes de LaTeX peuvent avoir un argument optionnel qui est alors spécifié entre crochets. Par exemple, la commande \documentclass introduite précédemment peut avoir différentes options de style facultatives.

Il est également possible de créer ses propres commandes qui auront au maximum un argument optionnel. Pour cela, on utilise un deuxième argument optionnel à la commande \newcommand.
\newcommand{nom}[nargs][défaut]{texte}
défaut est la valeur qui sera attribuée au premier argument (spécifié par #1 dans le texte) s’il n’est pas précisé.

Supposons par exemple que l’on désire créer une commande permettant d’abréger l’écriture de x1,...,xn x devra être spécifié mais n pourra être omis. On peut alors écrire la définition
\newcommand{\seq}[2][n]{$#2_1,\ldots,#2_#1$}
Ainsi définie, la commande \seq{x} donnera la formule précisée ci-dessus et \seq[k]{y} produira y1,...,yk.

7.4 Attention aux espaces

Il faut faire attention avec l'utilisation des commandes car LaTeX ignore un espace qui suit immédiatement la commande lors de sont insertion dans le texte vu qu'il considère que celui-ci indique la fin de son nom. Par exemple, le texte
\LaTeX est génial.
 produira un résultat où il manque un espace après LaTeX. Comme un espace ou dix, cela revient au même, il est inutile de mettre plusieurs espaces car ça produira un texte identique. Pour forcer un espace après une commande, il suffit d'insérer la commande \ (un antislash suivit directement d'un espace) juste dernière le nom de la commande. Pour produire le texte désiré, on introduit l'instruction
\LaTeX\ est génial.

7.5 Avantages

En plus de l'avantage de réduire la frappe, il y a la facilité de modification et la sûreté de ne jamais faire de faute dans le texte. En effet, supposons que le produit que vous analysez soit un produit en développement dont le nom n'était pas encore bien fixé et qui vient de changer. Si vous avez rédigé le document en tapant chaque fois le nom complet, il vous faudra le remplacer partout dans le rapport alors que si vous avez défini une commande, vous le modifiez une seule fois.

De plus, comme il n'est tapé qu'une seule fois, il est aisé de vérifier son orthographe à cet endroit et vous avez l'assurance qu'il sera identique partout.

7.6 Redéfinition d'une commande

Pour en terminer avec les commandes, il nous faut encore envisager une instruction qui peut parfois porter à confusion. Celle-ci permet de redéfinir une commande c'est-à-dire de définir une commande qui possède un nom déjà existant. Cette instruction procède exactement comme \newcommand et sa syntaxe est
\renewcommand{nom}[nargs]{texte}
Si une telle ligne est placée dans le document, tout appel à cette commande dans le texte qui suit sera un appel à cette nouvelle définition, la précédente n'existant plus.

Nous déconseillons l'utilisation de cette instruction sauf éventuellement dans le préambule. Dans ce dernier cas en effet, la commande produira le même résultat tout au long de ce document.

Table des matières

Précédent

Suivant

Conception et réalisation : Frédéric Geraerds
Consultez l'historique de ce guide.
Dernière modifcation le 29/09/97
Commentaire avec mention du site LaTeX.

Picture