Comment gérer des abréviations ?#

La notion d’abréviation recouvre plusieurs cas, décrits ci-après.

1.  Des abréviations dans le code#

1.1.  Avec l’extension xspace#

permet simplement de définir des commandes qui peuvent raccourcir la saisie au clavier de textes courts et sécuriser aussi cette saisie en ayant une fois pour toute une version bien écrite à un endroit du document. Prenons l’exemple de l’expression « Inégalité de Bienaymé-Tchebychev ». Voici un code qui, intuitivement, devrait répondre au besoin.

\documentclass[french]{article}
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page

  \newcommand{\InBT}{inégalité de Bienaymé-Tchebychev}

\begin{document}
Parlons donc de l'\InBT. L'\InBT est une inégalité de concentration...
\end{document}

L’exemple ci-dessus montre que notre commande gère mal l’espacement après elle (du moins, elle suit la méthode usuelle de Une solution pourrait alors consister à insérer une espace dans la commande. Ce qui donne le résultat suivant :

\documentclass[french]{article}
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page

  \newcommand{\InBT}{inégalité de Bienaymé-Tchebychev }

\begin{document}
Parlons donc de l'\InBT. L'\InBT est une inégalité de concentration...
\end{document}

Là, c’est l’espace avant le point qui est gênante. De fait, pour traiter ce point, il existe ici deux possibilités :

  • ajouter {} immédiatement après le nom de la commande ;

  • utiliser l’extension xspace. Cet extension crée une commande \xspace qui gère l’espacement après votre commande.

\documentclass[french]{article}
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{xspace}

  \newcommand{\InBT}{inégalité de Bienaymé-Tchebychev}
  \newcommand{\InBTc}{inégalité de Bienaymé-Tchebychev\xspace}

\begin{document}
Parlons donc de l'\InBT{}. L'\InBT{} est une inégalité de concentration...

Parlons donc de l'\InBTc. L'\InBTc est une inégalité de concentration...
\end{document}

2.  Des abréviations dans le texte#

2.1.  Avec l’extension abbrevs#

L’extension abbrevs permet d’avoir une mécanique d’abréviation dans le code mais aussi dans le texte :

  • elle gère l’espacement qui doit être placé après la commande ;

  • et elle permet également de définir des abréviations qui s’adaptent : elles sont développées d’une certaine façon la première fois qu’elles sont utilisées, et d’une autre façon ensuite.

Voici un exemple d’utilisation :

\documentclass[french]{article}
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{abbrevs}

  \newabbrev\InBT{Inégalité de Bienaymé-Tchebychev (IBT)}[IBT]

\begin{document}
Parlons donc de l'\InBT. L'\InBT est une inégalité de concentration...
\end{document}

Ici (et ce n’est pas systématique), nous nous retrouvons avec le problème vu précédemment : un espacement mal géré après la commande ! Pour ce cas, l’extension xspace n’est d’aucune aide. Il faut modifier le code de l’extension abbrevs en rédéfinissant une mécanique interne (voir pour plus détail les sources en bas de cette page).

\documentclass[french]{article}
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{abbrevs}

  \newabbrev\InBT{Inégalité de Bienaymé-Tchebychev (IBT)}[IBT]

  \makeatletter
  \renewcommand\maybe@space@{%
    % \@tempswatrue % <= le code d'origine
    \maybe@ictrue   % <= la correction apportée
    \expandafter   \@tfor
    \expandafter \reserved@a
    \expandafter :%
    \expandafter =%
                 \nospacelist
                 \do \t@st@ic
    % \if@tempswa % <= le code d'origine
    \ifmaybe@ic   % <= la correction apportée
      \space
    \fi
  }
  \makeatother

\begin{document}
Parlons donc de l'\InBT. L'\InBT est une inégalité de concentration...
\end{document}

2.2.  Des acronymes, avec des listes d’acronymes#

L’extension acronym permet de placer une liste des acronymes utilisés dans le document, et de s’assurer que tous sont écrits au moins une fois sous forme développée.

2.3.  Des abréviations avec une mise en exposant#

La commande \textsuperscript permet d’obtenir un exposant sans passer en mode mathématique. Il est également possible de définir une nouvelle commande \abrev qui compose son argument en texte petit et surélevé. Les deux méthodes sont illustrées dans l’exemple ci-dessous.

\documentclass[french]{article}
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page

  \newcommand{\abrev}[1]{\raisebox{1ex}{\footnotesize #1}}

\begin{document}
Voici un premier \abrev{test}, ainsi qu'un second \textsuperscript{test}.
\end{document}