Créer ses macros

Introduction

On peut faciliter l'écriture des document en créant des macros. Par exemple, plutot qu'écrire le nom complet d'un institut ou d'une méthode, on peut écrire un sigle et au moment de la compilation, LaTeX remplacera cette commande par le texte équivalent. Par exemple :

\newcommand\cad{c'est-à-dire}

Cette ligne crée une nouvelle commande, \cad, qui sera automatiquement remplacée lors de la compilation par le texte « c'est-à-dire ». Remarquez que LaTeX proteste si la commande que vous définissez existe déjà.

Gestion des espaces après la commande

Après toute commande dont le nom est composé de lettres (comme \LaTeX, par exemple et à l'inverse de \$), les espaces sont ignorées. Par conséquent, si vous voulez que votre macro soit suivie d'une espace dans le résultat final, utilisez l'une des méthodes suivantes :

Le Maître du Monde, \cad{} moi, …
Le Maître du Monde, \cad\ moi, ...
Le Maître du Monde, {\cad} moi, ...

Ce serait une très mauvaise idée de mettre une espace dans la définition de la macro, car vous auriez toujours une espace, y compris avant une ponctuation.

Vous pouvez utiliser le package xspace pour remédier à cette nécessité. Dans le préambule, ajoutez : \usepackage{xspace} Ensuite, écrivez vos macros de la façon suivante :

\newcommand\cad{c'est-à-dire\xspace}

La commande \xspace teste ce qui suit la commande : si c'est une ponctuation ou { ou }, elle ne fera rien; dans les autres cas, elle ajoute une espace. Une conséquence de ce fonctionnement est qu'une \footnote suivant \cad va produire une espace inopportune. Elle peut être évitée en tapant

(...) \cad{}\footnote{Ma note de pied de page} (...)

Exercice 1

Lorsqu'on écrit des formules mathématiques, on est parfois confrontés à un nombre croissant de variables qui nous amène à vouloir revoir nos notation pour plus de clareté.

Exercice 2

On veut spécifier une largeur pour toutes les images d'un document

Commandes avec paramètres

La commande

\newcommand{\Nom}[nbparam]{définition}

définit une macro-commande \Nom pouvant accepter nbparam paramètres et effectuant les actions énumérées dans définition.

Par exemple, pour afficher du texte en bleu (ajouter le package color en entête \usepackage{color}):

\definecolor{bluelight}{rgb}{0.82,0.82, 0.9}

\newcommand{\bluetxt}[1]{\color{bluelight}{#1}}

Exercice 3

Créer un commande \smallit qui met du texte en gras et en italique. Utilisez cette commande pour mettre en évidence des parties du texte de votre document.

Exercice 4

Faire une commande qui écrit Prénom et Nom séparés par un espace insécable ( ~ est l'espace insécable), et avec le nom écrit en petites capitales.

Exercice 5

Lisez le code suivant. Expliquez ce qu'il fait et tester le.

\newcommand{\questioncorrige}[2]
{
\textbf{\textcolor{blue}
{\underline{Question:}#1~?}
}
\textbf{\textcolor{green}
{\underline{Solution:}#2}
}
}

Exercice 6

Exercice 7

Lisez le code suivant et expliquez le. Puis testez le.

\newcommand{\propriete}[1]
{
\fbox{
\begin{minipage}{18cm}
\textbf{\color{blue}\textcolor{red}{Propriété:}\\#1}
\end{minipage}
}
}

Liens

Allez voir ces sites pour plus de détails