Espaces et ponctuations dans les commandes LaTeX

Connaître la syntaxe des commandes

Les commandes vous permettent de changer la mise en forme et la mise en page de vos documents LaTeX. Leur syntaxe est toujours la même, elles commencent par une contre-oblique \ et se termine par une espace. Voici un exemple simple : \indent. Si la commande possède un argument, celui-ci est placé entre les accolades : \textit{Mots en italique}.

Comprendre l’utilisation des espaces et des ponctuations simple après les commandes

Une espace après la commande

Prenons l’exemple de la commande qui permet d’insérer le logo de LaTeX dans un document. Sa syntaxe est très simple : \LaTeX. Voyons son utilisation dans une courte phrase :

J'utilise \LaTeX pour rédiger.

Voici l’affichage obtenu :

Vous voyez que le logo LaTeX est « collé » au mot suivant, « pour ». C’est tout à fait normal, car comme nous venons de le voir précédemment, l’espace qui suit LaTeX est interprété comme la fin de la commande. Donc il est en quelque sorte « mangé » par la syntaxe.

Une ponctuation simple après la commande

Dans le cas où une ponctuation simple suit immédiatement une commande, celle-ci est conservée par la syntaxe. Voyons ces exemples avec une virgule et un point :

J'utilise \LaTeX, pour rédiger.
J'utilise \LaTeX.

Voici l’affichage obtenu :

Dans ces cas, la typographie est parfaitement respectée, il n’y a aucun problème.

Gérer les espaces après les commandes

Voyons maintenant comment gérer les espaces après le nom d’une commande.

La première possibilité est d’ajouter une paire d’accolades vides de tout contenu. Nous allons ajouter un argument inexistant à la commande : J'utilise \LaTeX{} pour rédiger.. Cette solution est préconisée par Leslie Lamport, le concepteur de LaTeX.

La deuxième solution est d’insérer un contre-oblique et une espace après le nom de la commande : J'utilise \LaTeX\ pour rédiger.. Cette « commande » (contre-oblique et espace) est nommée un espace de contrôle.

Enfin, vous pouvez aussi utiliser la syntaxe qui permet de limiter la portée d’une commande, en la plaçant entre accolades : J'utilise {\LaTeX} pour rédiger..

Dans tous les cas, vous obtiendrez un affichage correct :

Gérer les espaces dans les commandes personnalisées

Utiliser la syntaxe adéquate

Vous le savez, vous pouvez créer vos propres commandes avec la commande \newcommand. Dans ce cas, se pose aussi la problématique des espaces qui suivent l’utilisation des commandes personnalisées dans le document.

Voyons cet exemple d’une nouvelle commande personnalisée :

\newcommand{\adn}{acide désoxyribonucléique}

Et voici son utilisation dans le document :

Il faut tester l'\adn très rapidement.

Voici l’affichage obtenu :

Nous avons la même problématique que précédemment. Et donc les solutions sont les mêmes :

Il faut tester l'\adn{} très rapidement.
Il faut tester l'\adn\ très rapidement.
Il faut tester l'{\adn} très rapidement.

Et le résultat sera celui escompté :

L’insertion d’une ponctuation simple après l’utilisation de la commande personnalisée donne les mêmes résultats que précédemment.

Il faut tester l'\adn.
Il faut tester l'\adn, très rapidement.

Voici l’affichage obtenu :

Utiliser un package

Pour éviter tous ces problèmes d’espace et de ponctuation après le nom des nouvelles commandes personnalisées, vous pouvez choisir d’utiliser un package qui va gérer lui-même cette problématique. Ce package c’est xspace (https://ctan.org/pkg/xspace).

Il faut bien sûr le déclarer dans le préambule : \usepackage{xspace}. Puis, dans la nouvelle commande personnalisée, vous ajoutez la commande \xspace là où la gestion des espaces et des ponctuations se pose :

\newcommand{\ADN}{acide désoxyribonucléique\xspace}

Ensuite, il suffit d’utiliser la nouvelle commande personnalisée, « sans se poser de questions ». C’est le package qui s’occupe de tout :

Il faut tester l'\ADN très rapidement.
Il faut tester l'\ADN.

Voici l’affichage obtenu :

La syntaxe des commandes et les solutions

Nous venons de rappeler les principes d’écriture des commandes et des nouvelles commandes personnalisées, et les solutions qui existent pour pallier tous les problèmes. Maintenant, vous avez toutes les cartes en main pour rédiger vos commandes dans vos documents LaTeX.