Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
2_programmation:macros:start [2021/04/04 12:02] yannick.tanguy Correction du titre. |
2_programmation:macros:start [2021/10/21 13:56] bdumont [Problèmes généraux] Ajout liens |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Commandes et environnements ====== | ====== Commandes et environnements ====== | ||
+ | |||
+ | FIXME Compléter (et sans doute réorganiser) le sommaire. | ||
+ | |||
+ | FIXME Indiquer systématiquement les solutions avec \NewDocumentCommand. | ||
+ | |||
+ | ===== Bonnes pratiques de programmation ===== | ||
+ | |||
+ | [[2_programmation:macros:utiliser_des_commandes_plain_en_latex|Pourquoi éviter d'utiliser des primitives TeX ou des commandes Plain TeX avec LaTeX ?]] (en particulier : [[2_programmation:macros:preferer_newcommand_a_def|Pourquoi préférer \newcommand à \def?]]) | ||
+ | |||
+ | [[2_programmation:macros:bien_nommer_ses_macros_et_environnements|Comment bien nommer ses commandes et environnements ?]] | ||
+ | |||
+ | [[[[2_programmation:macros:caractere_pourcent_dans_les_macros|Pourquoi y a-t-il tant de “%” dans le code des macros ?]] (ou : comment bien utiliser le signe ''%'' pour éviter d'introduire des espaces indésirables dans son document) | ||
+ | |||
+ | |||
+ | ===== Définir de nouvelles commandes avec les outils fournis par LaTeX ===== | ||
+ | |||
+ | [[2_programmation:macros:cette_commande_est_elle_definie|Comment tester si une commande est déjà définie ?]] | ||
+ | |||
+ | [[2_programmation:macros:commande_newcommand|(Re)définir des commandes basiques avec \newcommand et \renewcommand]] | ||
+ | |||
+ | [[2_programmation:macros:etoiler_ses_newcommand|Quand doit-on utiliser la version étoilée de \newcommand ?]] | ||
+ | |||
+ | [[2_programmation:macros:arguments_optionnels_comme_pour_section|Comment définir des arguments optionnels comme ceux de \section ?]]\\ | ||
+ | Concerne les arguments optionnels qui prennent comme valeur par défaut un des arguments fournis par l'utilisateur. | ||
+ | Pour les arguments optionnels dont la valeur par défaut est toujours la même, voir [[2_programmation:macros:commande_newcommand|ici]]. | ||
+ | |||
+ | [[2_programmation:macros:commande_etoilee3|Comment définir une commande étoilée ?]]\\ | ||
+ | FIXME fusionner avec [[2_programmation:macros:commande_etoilee|Comment définir une commande étoilée?]] | ||
+ | et [[2_programmation:macros:definir_des_variantes_etoilees|Définir des variantes étoilées des commandes et environnements]] | ||
+ | |||
+ | [[2_programmation:macros:makeatletter_et_makeatother|À quoi servent “\makeatletter” et “\makeatother” ?]] | ||
+ | |||
+ | [[2_programmation:macros:commande_newenvironment|Définir des environnements avec \newenvironment et \renewenvironment]] | ||
+ | |||
+ | |||
+ | ===== Définir de nouvelles commandes avec les primitives de TeX ===== | ||
+ | |||
+ | [[2_programmation:macros:cette_commande_est_elle_definie|Comment tester si une commande est déjà définie ?]] | ||
+ | |||
+ | [[2_programmation:macros:que_sont_les_macros|Comment définir des commandes basiques avec les primitives de TeX ?]] | ||
+ | |||
+ | [[2_programmation:macros:definir_une_macro_a_partir_d_un_argument|Comment créer une commande qui permet de définir de nouvelles commandes en les nommant d'après un argument ?]] | ||
+ | |||
+ | [[2_programmation:macros:delimiteurs_speciaux|Comment utiliser d'autres délimiteurs que les crochets et les accolades dans une commande ?]] | ||
+ | |||
+ | ===== Comprendre la définition des macros TeX ou LaTeX existantes ===== | ||
+ | |||
+ | [[2_programmation:macros:obtenir_la_definition_des_commandes_latex|Obtenir la définition d'une commande]] | ||
+ | |||
+ | [[2_programmation:macros:makeatletter_et_makeatother|À quoi servent “\makeatletter” et “\makeatother” ?]] (ou : à quoi sert l'arobase dans le nom de certaines commandes?) | ||
+ | |||
+ | [[2_programmation:macros:abreviations_internes_de_latex|Que signifient certaines commandes sous forme abrégée ?]] | ||
+ | |||
+ | ===== Problèmes généraux ===== | ||
+ | |||
+ | [[2_programmation:macros:surcharger_une_commande|Comment enrichir la définition d'une commande déjà existante sans la redéfinir entièrement ?]] | ||
+ | |||
+ | [[2_programmation:macros:definir_une_macro_a_l_interieur_d_une_autre_macro|Comment définir des commandes à l'intérieur de la définition d'autres commandes ?]]\\ | ||
+ | FIXME Fusionner avec [[2_programmation:macros:definir_une_macro_latex_a_l_interieur_d_une_autre_macro|Defining LaTeX commands within other commands]] | ||
+ | |||
+ | [[2_programmation:macros:definir_une_macro_a_plus_de_9_arguments|Comment dépasser la limite des 9 arguments pour une commande ?]] | ||
+ | |||
+ | [[2_programmation:macros:arguments-cle-valeur|Comment définir des arguments clé-valeur ?]] | ||
+ | |||
+ | [[2_programmation:macros:commande_special|Passer directement une commande à un pilote avec \special]] | ||
+ | |||
+ | ===== Trucs et astuces ===== | ||
+ | |||
+ | [[2_programmation:macros:ignorespacesafterend|Comment éviter l'espace insérée après un environnement personnalisé?]] | ||
+ | |||
+ | [[2_programmation:macros:afficher_les_deux_derniers_chiffres_de_l_annee|Comment n'afficher que les deux derniers chiffres de l'année ?]] | ||
+ | |||
+ | [[2_programmation:macros:comparer_une_chaine_a_jobname|Comment comparer \jobname à quelque chose ?]] | ||
+ | |||
+ | [[2_programmation:macros:commande_ensuremath|Forcer l'utilisation du mode mathématique avec \ensuremath]] | ||
+ | |||
+ | |||
+ | |||
+ | |||