À quoi servent ''makeatletter'' et ''makeatother''?

$\Reponse$ Dans un document, le caractère @ est traité comme un chiffre ou un symbole de ponctuation. En particulier, il ne peut pas apparaître dans le nom d'une macro.

Mais de nombreuses commandes contiennent ce caractère dans leurs noms. Ces commandes sont normalement des commandes « internes » qui ne doivent pas être modifiées dans le document. Si l'on souhaite néanmoins modifier ou définir une telle commande, il faut, au préalable, dire à \LaTeX de considérer le @ comme une lettre, afin qu'il puisse être utilisé dans les noms de commandes. C'est le rôle de \makeatletter. Pour revenir à l'état initial, on utilisera la commande \makeatother.

À l'intérieur d'un package, le @ est toujours considéré comme une lettre, il est donc inutile d'utiliser \makeatletter pour définir des commandes dont le nom contient un @.

composition/macros/makeatletter_et_makeatother.txt · Dernière modification: 2018/12/09 11:16 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0