====== Comment utiliser des étiquettes comme des valeurs de compteur? ====== Les étiquettes sont des sources alléchantes de « nombres » : leur utilisation la plus courante, après tout, est simplement de composer un nombre. Cependant, leur simplicité apparente est trompeuse. Ainsi, par exemple, les extensions [[ctanpkg>babel|babel]] et [[ctanpkg>hyperref|hyperref]] modifient la définition de ''\ref'' et ''\pageref'', ce qui empêche le bon fonctionnement de la commande suivante : \setcounter{compte}{\ref{truc}} Aussi, cette technique ne devrait pas être utilisée. D'autant qu'il existe une solution. ===== Avec l'extension refcount ===== L'extension [[ctanpkg>refcount]] (écrite par l'auteur de [[ctanpkg>hyperref]]) fournit quatre commandes, dont l'utilisation est assez intuitive pour qui connaît les commandes usuelles de manipulation des compteurs. Par exemple : \usepackage{refcount} ... \label{truc} ... \setcounterref{compte}{truc} Les trois autres commandes sont ''\addtocounterref'', ''\setcounterpageref'' et ''\addtocounterpageref''. L'extension fournit également une commande ''\getrefnumber{⟨//étiquette//⟩}'' qui peut être utilisée là où une valeur numérique est nécessaire. Par example : ... \footnote{blabla...\label{unenote}} ... \footnotemark[\getrefnumber{unenote}] Cela vous permet de faire apparaître plusieurs fois un même renvoi à une note de bas de page. Bien entendu, l'extension met également à disposition une commande ''\getpagerefnumber''. Accesoirement, ces commandes pourraient être utilisées par une personne déterminée à ne pas utiliser [[ctanpkg>changepage]] pour déterminer si [[3_composition:texte:pages:savoir_si_on_est_sur_une_page_paire_ou_impaire|une page est paire ou impaire]]. Toutefois, il semble peu intéressant de ne pas recourir à une solution clé en main. ----- //Source :// [[faquk>FAQ-labelcount|Using labels as counter values]] {{htmlmetatags>metatag-keywords=(LaTeX,latex,macros,programming) metatag-og:title=(Comment utiliser des étiquettes comme des valeurs de compteur) metatag-og:site_name=(FAQ LaTeX francophone) }}