À l'intérieur d'un fichier, j'ai des sections qui comprennent différents documents numérotés. Pour pouvoir modifier leur emplacement sans reprendre leur numérotation, j'ai créé un compteur ad hoc. Problème : je n'ai pas réussi à trouver le moyen de le réinitialiser à chaque nouvelle section.

\documentclass{article}    
       \newcounter{Doc}
       \addtocounter{Doc}{1}  
\begin{document}    
    \section{}

    Doc. \theDoc{} \stepcounter{Doc}

    Doc. \theDoc{} \stepcounter{Doc}

    \section{}

    Doc. \theDoc{} \stepcounter{Doc}

    Doc. \theDoc{} \stepcounter{Doc}

    \section{}

    Doc. \theDoc{} \stepcounter{Doc}

    Doc. \theDoc{} \stepcounter{Doc}

\end{document}

Allez : j'abuse. Je suppose en effet qu'il y a très probablement moyen d'inclure dans l'appel \theDoc l'abréviation « Doc. » (donc avant le numéro).

Posée 17 Aoû '21, 22:38

fred02840's gravatar image

fred02840
4.2k30164189
Taux d'acceptation : 16%

Modifiée 17 Aoû '21, 22:50

2

Si vous abusez, il conviendrait sans doute que vous désabusassiez… :-) Plus sérieusement, ce n'est pas ce que fait \newcounter{Doc}[section] ?

(17 Aoû '21, 22:58) Bernard Bernard's gravatar image

Pour remettre le compteur à zéro au début de chaque section, tu peux le définir avec

\newcounter{Doc}[section]

Le problème, c'est que ça remet le compteur à 0, et non à 1. Pour éviter ça, vu l'utilisation que tu fais de \theDoc, tu pourrais inclure le \stepcounter dans \theDoc avant d'afficher sa valeur. Pour en plus ajouter l'abbréviation « Doc. », ça donnerait :

\renewcommand\theDoc{\stepcounter{Doc}Doc.~\arabic{Doc}}

Lien permanent

Publiée 17 Aoû '21, 22:53

nmarkey's gravatar image

nmarkey
1.4k29
Taux d'acceptation : 45%

Modifiée 18 Aoû '21, 09:33

Parfait. Pour mémoire (la mienne…), dans le préambule, à la place de

\newcounter{Doc}{section] \renewcommand\theDoc{\stepcounter{Doc}Doc.~\arabic{Doc}}

Et appel avec \theDoc{}

(18 Aoû '21, 02:03) fred02840 fred02840's gravatar image
1

@nmarkey et @fred02840. \thedoc et \theDoc ne sont pas pareilles. Pourquoi ne pas définir une toute petite nouvelle commande au lieu de redéfinir une des standards?

(18 Aoû '21, 09:02) touhami touhami's gravatar image

@touhami c'est vrai, autant conserver la définition de \theDoc et utiliser un autre nom pour la définition ci-dessus.

(18 Aoû '21, 09:36) nmarkey nmarkey's gravatar image

Il serait mieux, à mon avis d'utiliser cleverref pour incorporer automatiquement l'abréviation « Doc. » lors d'une référence croisée, plutôt que de l'incorporer à l'affichage du compteur fourni par \theDoc.

(18 Aoû '21, 14:58) Bernard Bernard's gravatar image

@Bernard cleverref, c'est autre chose.

(18 Aoû '21, 22:16) touhami touhami's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.