Afficher le nombre d’entrées dans une bibliographie

dimanche 12 août 2012, mise à jour lundi 18 novembre 2019, par Maïeul
Suivre la vie du site RSS 2.0 Forum

J’ai récemment répondu à une question d’une personne qui souhaitait afficher le nombre d’entrée d’une bibliographie, mais sans afficher cette bibliogaphie.

Le problème

La personne avait une base de donnée bibliographique avec le champ keyword rempli, pour distinguer plusieurs projets. Il souhaitait ensuite afficher le nombre d’entrées pour chaque projets, mais ne pas afficher la bibliographie du projet, ou en tout cas, pas tout de suite. Cependant, il voulait pouvoir utiliser les options de sélections d’entrée, par exemple :

\nocite{*}
\printbibliography[keyword=projetx]
\printbibliography[keyword=projety]

Ceci afficher les entrées ayant (respectivement) le mot clef projetx et le mot clef projet2. La personne souhaitait compter simplement le nombre d’entrées pour chacun des mots.

Principe de solution

Le principe de la solution est le suivant :

  • avoir un compteur \refs qui enregistrerait le nombre d’entrée par catégorie.
  • avoir un nouveau type de bibliographie finale qui se contenterait d’incrémenter le compteur à chaque entrée, puis d’afficher le valeur du compteur, sans pour autant afficher les entrées.

Mise en place

Dans le préambule, mettre :

  • L. 1 : création du compteur refs.
  • L. 2 : nous allons utiliser des commandes avec des @ dans le nom : nous avons besoin de \makeatletter.
  • L. 3 : définition d’un nouveau type de bibliographie finale, appelée counter :
    • Au début de cette bibliographie :
      • L. 4 : réinitialisation du compteur refs.
      • L. 5 : modification de la commande appelée pour afficher l’entrée : nous ne voulons pas afficher d’entrée.
    • L. 7 : à la fin de la bibliographie, affichage du compteur.
    • L. 8 : à chaque entrée, incrémentation du compteur.
  • L. 9 : plus besoin d’utiliser @ dans les noms de commandes.

On consultera le manuel de biblatex pour plus de détails sur l’utilisation de \defbibenvironment.

Il faut également permettre de ne pas avoir de titre à la bibliographie :

\defbibheading{counter}{}

Utilisation

Pour afficher le nombre d’entrées liées au mot projetx, il suffit d’utiliser :

Nous avons \printbibliography[env=counter,heading=counter] entrées pour le mot projetx.

Et si notre mot projetx à 2 entrées, cela donne :

Nous avons 2 entrées pour le mot projetx.

P.-S.

Quelqu’un a suggéré d’utiliser \AtDataInput. Je pense effectivement que cela pourrait être mieux, mais peut poser des problèmes si on utiliser des sous-entrées bibliographiques que l’on ne veut pas avoir dans le total des bibliographies. À tester donc.

Le problème notamment est si l’on a beaucoup de test à faire : il faut les répéter selon deux syntaxes différentes : dans la bibliographie finale et dans le AtDataInput.

Pour ceux qui souhaite afficher le totale directement après la bibliographie, utilisez la contribution "Compter le nombre d’entrées dans une bibliographie".

Vos commentaires

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Acheter XeLaTeX appliqué aux sciences humaines

À propos

Titulaire d’un doctorat en théologie et d’un doctorat en histoire, sous la direction conjointe de Frédéric Amsler et d’Élisabeth_Malamut, je commence à partir du 1er août 2017 un travail d’édition critique des Actes de Barnabé.

Dans le cadre de la rédaction de mon mémoire de master puis de ma thèse de doctorat, j’ai été emmené à utiliser LaTeX, et j’ai donc décider de partager mes techniques. En effet, au cours de mes premiers apprentissages, j’ai découvert que les ressources indiquant les outils pour l’utilisation de LaTeX en sciences humaines étaient rares. Ceci m’a conduit à maintenir ou créer plusieurs packages LaTeX et à donner plusieurs formations.

J’ai reçu en 2018 le prix DANTE e.V pour mon travail autour de LaTeX, en particulier autour de reledmac et reledpar.

Par ailleurs, je suis membre actif de la communauté SPIP, au sein de laquelle j’administre le site Spip-Contrib. Je propose sur ce site quelques notes sur SPIP, en général à destination de webmestre.

Il m’arrive également de faire un petit peu de Python, de temps en temps.

Enfin, je tiens un blog de réflexions politiques et religieuses.

Maïeul