Comment définir une commande étoilée?

$\Reponse$ La commande \@ifstar permet d'appeler une macro ou sa version étoilée en fonction du contexte. Elle figure au début de la définition de la macro, et est suivie immédiatement par deux noms de macros : celle implémentant la version étoilée, puis celle implémentant la version non étoilée. L'exemple~\vref{ex=cmdetoilee} peut-il être plus clair ?

La plupart du temps, les macros sont définies dans un fichier sty, mais si jamais vous avez besoin d'utiliser \@ifstar dans un fichier tex, comme pour la concision de l'exemple~\vref{ex=cmdetoilee}, il ne faut pas oublier les makeatother et makeatletter. Voir la question~\vref{qu=makeat} pour plus de précisions.

Définition d'une commande étoilée\label{ex=cmdetoilee}

\documentclass{article}
\newcommand{\starmacro}[1]
  {j'ai une étoile et le paramètre #1}
\newcommand{\nostarmacro}[1]
  {je n'ai pas d'étoile et le paramètre #1}
\makeatletter
\newcommand{\macro}{\@ifstar\starmacro\nostarmacro}
\makeatother
\begin{document}
\macro{42}
 
\macro*{7*9}
\end{document}
composition/macros/commande_etoilee.txt · Dernière modification: 2018/12/09 11:10 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0