Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
2_programmation:macros:start [2021/04/04 12:02]
yannick.tanguy Correction du titre.
2_programmation:macros:start [2021/10/21 13:56] (Version actuelle)
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]]
 +
 +
 +
 +
  
2_programmation/macros/start.1617530529.txt.gz · Dernière modification: 2021/04/04 12:02 par yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0