Macros et programmation
Définir des macrosDéfinir des commandes (\newcommand): \newcommand{\x}[n]{...}・Arg optionnel [par défaut]・\providecommand・\DeclareRobustCommand・Redéfinir des commandes (\renewcommand): \renewcommand・Redefining existant・\let・Macros avec arguments: #1... #9・Compte d'arguments [n]・Par défaut・Limites des arguments de macro: Jusqu'à 9 args・commandes Fragile・\protect・Macros pratiques: Raccourcis courants・commandes Robust・Jusqu’où utiliser les macros: Équilibre avec lisibilité・macros sémantiques・Nommer les commandes: commandes Starred・Éviter les affrontementsEnvironnements personnalisés (\newenvironment)\newenvironment・\renewenvironment・Environnements avec argsCompteurs et longueurs\newcounter・\setcounter・\addtocounter・\value・\stepcounter・\newlength・\setlength・\addtolengthxparse (\NewDocumentCommand)\NewDocumentCommand・Arg Spec (m o s)・\IfNoValueTFexpl3 / couche LaTeX3\ExplSyntaxOn・\cs_new:Npn・\tl_set:Nn・\seq_ / \prop_・\clist_・l3 modulesAides à la programmationetoolbox / ifthen / calc: \newtoggle・\ifdef・\ifblank・\AtBeginDocument・\appto・\pretocmd・Interfaces clé-valeur (pgfkeys): \pgfkeys・.store in・Handlers・\pgfqkeysCodes de catégorie et \makeatletter\catcode・\makeatletter・\makeatother・Commandes avec @Création de packages et de classesÉcrire des fichiers de style: .sty structure・\ProvidesPackage・\newcommand・Écrire un package: \ProvidesPackage・\RequirePackage・fichier .sty・\DeclareOption