Comment définir des commandes ?#

est un processeur de macros : il compose le texte au fur et à mesure en développant chaque commande (ou macro) qu’il trouve. Les commandes peuvent inclure des instructions à lui-même, en plus de la simple génération de texte à laquelle on peut s’attendre.

Les commandes sont une bonne chose car elles permettent à l’utilisateur de manipuler des documents en fonction du contexte. Par exemple, la commande \emph{texte} de produit un texte en italique. Mais si elle est utilisée dans un texte déjà en italique, elle produit un texte en romain (dans les deux cas, cela fait met en valeur le texte que la commande encadre). Mieux, vous pouvez changer le comportement de cette commande en changeant sa définition, par exemple faire en sorte qu’elle produise un texte en gras, un texte en couleur ou un texte souligné. Et ce comportement sera alors appliqué à tout votre document !

Le format des commandes#

Les noms de commande débutent traditionnellement par un \ suivi d’une séquence de lettres, qui peuvent être majuscules ou minuscules. Ils peuvent également être « n’importe quel caractère unique », ce qui permet toutes sortes de bizarreries (intégrées à la plupart des ensembles de commandes , tel “”\ “” (\ suivi d’une espace) signifiant « insérer une espace ici »).

Les commandes de définition#

La programmation de commandes peut être parfois compliquée mais, réduite à sa plus simple expression, elle est assez intuitive :

% !TEX noedit
\def\truc{élément d'intérêt majeur}

Cette instruction remplace chaque commande \truc par le texte « élément d’intérêt majeur ». La commande \def est, de fait, la syntaxe Plain pour définir les commandes. Pour sa part, propose une commande \newcommand qui permet de prendre un peu plus de précaution pour l’utilisateur mais qui fait fondamentalement la même chose :

% !TEX noedit
\newcommand{\truc}{élément d'intérêt majeur}

Les commandes avec des arguments#

Les commandes peuvent avoir des arguments. Représentés par la notation # suivi d’un chiffre dans les commandes de définitions, ces derniers vont s’insérer aux emplacements indiqués lors du développement de la commande :

\def\truc#1{élément vraiment #1}
Un \truc{exceptionnel}.

En , cette définition serait écrite de la manière suivante :

\newcommand{\truc}[1]{élément vraiment #1}
Un \truc{génial}.

Vous aurez remarqué que les arguments ci-dessus étaient entre accolades « {} ». Il s’agit là de la manière normale de taper des arguments, bien que soit extrêmement flexible, et vous pouvez trouver toutes sortes d’autres façons de passer des arguments (si nécessaire).

Apprendre à faire des commandes#

L’écriture de commandes peut devenir rapidement très compliquée. Si vous êtes un programmeur débutant en ou , il est conseillé d’observer des exemples de code de commande ou de lire des manuels pratiques (sur TeX ou sur LaTeX). Ceci dit, plus vous voudrez modifier le comportement de base de , plus vous devrez analyser des sources avancées comme le TeXbook.


Source : What are (TeX) macros