Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |
2_composition:texte:renvois:detecter_qu_un_label_est_vide [2021/01/19 13:01] – Renommage des sections de base: correction des liens internes. yannick.tanguy | 3_composition:texte:renvois:detecter_qu_un_label_est_vide [2021/11/29 22:56] (Version actuelle) – Correction de la mise en forme. yannick.tanguy |
---|
====== Comment savoir si une étiquette n'est pas définie ? ====== | ====== Comment savoir si une étiquette n'est pas définie? ====== |
| |
Au moment de l'exécution de votre code <latex>\LaTeX</latex>, vous pourriez souhaiter savoir si une étiquette n'est pas définie (même si c'est un état transitoire et que <latex>\LaTeX</latex> gère assez bien cette situation). | Au moment de l'exécution de votre code <latex>\LaTeX</latex>, vous pourriez souhaiter savoir si une étiquette n'est pas définie (même si c'est un état transitoire et que <latex>\LaTeX</latex> gère assez bien cette situation). |
* et les deux autres arguments sont les commandes qui seront exécutées si l'étiquette est non définie (''cas-non-déf'') ou si elle est définie (''cas-déf''). | * et les deux autres arguments sont les commandes qui seront exécutées si l'étiquette est non définie (''cas-non-déf'') ou si elle est définie (''cas-déf''). |
| |
Notez que toute commande qui intègre ''\@ifundefined'' est naturellement [[2_composition:macros:c_est_quoi_la_protection|fragile]]. Pour la protéger, consultez la question « [[2_composition:macros:c_est_quoi_la_protection|À quoi sert la « protection » ?]] ». | Notez que toute commande qui intègre ''\@ifundefined'' est naturellement [[2_programmation:syntaxe:c_est_quoi_la_protection|fragile]]. Pour la protéger, consultez la question « [[2_programmation:syntaxe:c_est_quoi_la_protection|À quoi sert la « protection » ?]] ». |
| |
Si vous suivez cette piste, vous ne soucierez peut-être pas de l'avertissement de <latex>\LaTeX</latex> concernant les étiquettes non définies à la fin du document. Cependant, si vous y trouvez un intérêt, ajoutez la commande ''\G@refundefinedtrue'' dans l'argument ''cas-non-déf''. | Si vous suivez cette piste, vous ne soucierez peut-être pas de l'avertissement de <latex>\LaTeX</latex> concernant les étiquettes non définies à la fin du document. Cependant, si vous y trouvez un intérêt, ajoutez la commande ''\G@refundefinedtrue'' dans l'argument ''cas-non-déf''. |
| |
Enfin, bien sûr, rappelez-vous que vous avez affaire à des commandes internes. En cas de doute, consultez la question : « [[2_composition:macros:makeatletter_et_makeatother|À quoi servent \makeatletter et \makeatother ?]] ». | Enfin, bien sûr, rappelez-vous que vous avez affaire à des commandes internes. En cas de doute, consultez la question : « [[2_programmation:macros:makeatletter_et_makeatother|À quoi servent \makeatletter et \makeatother ?]] ». |
| |
===== Avec l'extension labelcas ===== | ===== Avec l'extension “labelcas” ===== |
| |
Tout ce qui précède peut être évité en utilisant l'extension [[ctanpkg>labelcas|labelcas]] : elle fournit des commandes permettant de d'agir différemment selon l'état d'une étiquette, ou des états d'une liste d'étiquettes. Cette extension, un peu compliquée, s'avère assez puissante. | Tout ce qui précède peut être évité en utilisant l'extension [[ctanpkg>labelcas]] : elle fournit des commandes permettant de d'agir différemment selon l'état d'une étiquette, ou des états d'une liste d'étiquettes. Cette extension, un peu compliquée, s'avère assez puissante. |
| |
----- | ----- |