Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

2_programmation:macros:commande_etoilee [2021/09/03 16:18] (Version actuelle)
bdumont Repérage doublon
Ligne 1: Ligne 1:
 +====== Comment définir une commande étoilée? ======
 +
 +FIXME Fusionner avec [[2_programmation:​macros:​commande_etoilee3|Comment définir une commande étoilée ?]]
 +
 +La commande ''​\@ifstar''​ permet d'​appeler une commande ou sa version étoilée en fonction du contexte. Elle figure au début de la définition de la commande, et est suivie immédiatement par deux noms de commande : celle implémentant la version étoilée, puis celle implémentant la version non étoilée. Voici un exemple illustrant cette utilisation :
 +
 +<code latex>
 +\documentclass{article}
 +\usepackage[utf8]{inputenc}
 +\usepackage[T1]{fontenc}
 +
 +\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}
 +</​code>​
 +
 +<​latexdoc>​
 +\documentclass[french]{article}
 +\usepackage[utf8]{inputenc}
 +\usepackage[T1]{fontenc}
 +
 +\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
 +
 +\pagestyle{empty}
 +\begin{document}
 +\macro{42}
 +\macro*{7*9}
 +\end{document}
 +</​latexdoc>​
 +
 +<note warning>
 +La plupart du temps, les commandes sont définies dans un fichier ''​sty'',​ mais si jamais vous avez besoin d'​utiliser ''​\@ifstar''​ dans un fichier ''​tex'',​ comme pour le cas ci-dessus, il ne faut pas oublier les commandes ''​\makeatother''​ et ''​\makeatletter''​. Voir la question « [[2_programmation:​macros:​makeatletter_et_makeatother|À quoi servent \makeatletter et \makeatother ?]] » pour plus de précisions.
 +</​note>​
 +
 +{{htmlmetatags>​metatag-keywords=(LaTeX,​commande,​étoile,​ifstar,​makeatletter,​makeatother)
 +metatag-og:​title=(Comment définir une commande étoilée)
 +metatag-og:​site_name=(FAQ LaTeX francophone)
 +}}
  
2_programmation/macros/commande_etoilee.txt · Dernière modification: 2021/09/03 16:18 par bdumont
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0