Accueil > LaTeX > BibLaTeX > Afficher le nombre d’entrées dans une bibliographie

Afficher le nombre d’entrées dans une bibliographie

dimanche 12 août 2012, par Maïeul

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.


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".

Messages

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)