Comment gérer les espaces après une macro ?

* Pour forcer LaTeX à introduire un espace après une macro, il suffit de faire suivre son appel d'un backslash (\). Exemple : texte \oe\ texte \oe, texte texte \oe texte \oe, texte %%%% fin exemple %%%% * Pour que LaTeX gère lui même les espaces, il suffit d'utiliser systématiquement les caractères {}. Exemple : texte \oe{} texte \oe{}, texte \oe{}uf %%%% fin exemple %%%% * On peut également définir une macro TeX \keepspace : %%%% debut macro %%%% \def\keepspace{\ifnum\catcode`\ =10 \let\next\keepspacebis \else \let\next\relax \fi \next} \def \keepspacebis{\obeyspaces \afterassignment\keepspaceaux\let\next= } {\obeyspaces% \gdef\keepspaceaux{% \ifx \next\space\let\next\ignorespaces\fi% \catcode`\ =10\relax\next}} %%%% %%%% fin macro %%%% puis l'utiliser dans une autre définition de macro. Exemple : \newcommand{\macro}{\textit{blablabla}\keepspace} %%%% fin exemple %%%% * Le package 'xspace' intègre ces définitions qui lui permette de gérer automatiquement l'espace après une macro suivant le contexte. Exemple : \documentclass{report} \usepackage{french,xspace} \pagestyle{empty} \newcommand{\macro}{aaaaa\xspace} \begin{document} \macro bbbb \macro, bbbb \end{document} %%%% fin exemple %%%% Remarque : à noter que le package xspace est conforme aux règles de typographie anglo-saxones donc la gestion des caractères de ponctuation composés tels que : où ; ne sera pas correcte en français. La solution consiste alors à utiliser le blanc insécable qui de toutes façons est recommandé dans ce cas : \macro~: blabla. On peut également se créer son propre package 'fxspace'.