Biblatex et les notes de bas de page

dimanche 13 février 2011, par jps29

En Histoire, pour construire sa bibliographie, il est indispensable d’indiquer le nombre de pages des ouvrages et les pages de début et de fin d’un article ou d’une contribution dans un ouvrage collectif. J’ai donc intégré dans mon fichier bibtex un champ "Pages" pour cela. Mais cela a une conséquence dans les notes de bas de page : la pagination totale apparaît, juste avant la page de référence de la citation. Le résultat n’est pas satisfaisant, comme on peut le constater ici :

J’ai longtemps cherché une solution sur le net. J’en ai trouvé une première.

\DeclareFieldFormat{pages}{
       \iffieldundef{postnote}{\mkpageprefix[bookpagination]{#1}}{}
}

L’astuce a été trouvé ici.

Cela correspondait à mes attentes pour les notes de bas de page mais, par contre, le formatage de la bibliographie ne fonctionnait plus correctement. Les pages s’inscrivaient ainsi : « p. XX » au lieu de « XX p. ». J’ai donc abandonné cette solution.

Heureusement, j’ai mis à jours Biblatex avec Tex Live Utility. J’ai maintenant la version 1.1b, en date du 4 février 2011 du génial outil de Philipp Lehman.

La nouvelle version a introduit différents nouveaux réglages, comme il l’explique dans la documentation :

citepages=suppress unconditionally suppresses the pages/pagetotal fields in citations, regardless of the postnote:
Author. “Title.” In: Book.
Author. “Title.” In: Book, a note.
Author. “Title.” In: Book, p. 125.

citepages=omit suppresses the pages/pagetotal in the third case only. They are still printed if there is no postnote or if the postnote is not a number or range:
Author. “Title.” In: Book, pp. 100–150.
Author. “Title.” In: Book, pp. 100–150, a note.
Author. “Title.” In: Book, p. 125.

Pour arriver au bon affichage, il suffit d’ajouter, avec l’appel au paquet Biblatex, citepages=suppress ou citepages=omit :

\usepackage[style=verbose-trad3,
                %backend=biber,
                citepages=suppress,
                hyperref]{biblatex}

Enfin la situation est réglée :

Messages

  • Bonjour,

    Merci de cette information que m’intéresse au plus au point. Est-ce que tu pourrais mettre un ECM complet qui fonctionne chez toi en guise d’exemple... parce que ça marche pas chez moi.
    D’avance merci !

    • Voici un ECM avec quelques ouvrages de ma biblio. Il marche parfaitement chez moi :

      \documentclass[a4paper,12pt,french]{article}
      \usepackage[utf8]{inputenc}
      \usepackage[T1]{fontenc}
      \usepackage{lmodern}
      \usepackage{babel}
      \usepackage{lipsum}

      % mon style de citation
      \newenvironment{macitation}{%
      \medskip%
      \small%
      \begin{quote}%
      \footnotesize%
      }{%
      \end{quote}%
      \normalsize%
      \par%
      \smallskip%
      }


      \usepackage{csquotes}

      \usepackage{filecontents}
      \begin{filecontents}{\jobname.bib}

      @inbook{fnc01,
                      Author = {Collectif},
                      Booktitle = {Une enqu{\^e}te sur le communisme},
                      Date-Added = {2009-01-01 20:57:44 +0100},
                      Date-Modified = {2009-10-31 07:42:21 +0100},
                      Keywords = {sourcefnc,fnc,contribution},
                      Pages = {41--56},
                      Publisher = {Spes},
                      Title = {Propagande communiste, socialiste et antireligieuse dans un d{\'e}partement de l'Ouest},
                      Year = {1937}
      }

      @book{kerbaul05,
              Address = {Bagnolet},
              Author = {Kerbaul, Eug{\`e}ne},
              Date-Added = {2008-06-15 10:31:45 +0200},
              Date-Modified = {2008-05-17 16:50:47 +0200},
              Keywords = {source},
              Publisher = {chez l'Auteur},
              Title = {Chronique d'une section communiste de province, Brest, janvier 1935-janvier 1943},
              Pagetotal = {288},
              Ville = {Bagnolet},
              Year = {1992}
      }

      @book{bonafoux01,
              Address = {Paris},
              Author = {Bonafoux-Verrax, Corinne},
              Date-Added = {2007-11-24 18:45:22 +0100},
              Date-Modified = {2008-12-27 19:05:48 +0100},
              Keywords = {2guerres,FNC},
              Pagetotal = {658},
              Publisher = {Fayard},
              Title = {\`A la droite de Dieu, La F{\'e}d{\'e}ration nationale catholique, 1924-1944},
              Ville = {Paris},
              Year = {2004}
      }

      @book{kerbaul01,
              Address = {Bagnolet},
              Author = {Kerbaul, Eug{\`e}ne},
              Date-Added = {2007-11-24 18:48:32 +0100},
              Date-Modified = {2009-12-16 23:12:28 +0100},
              Keywords = {source},
              Pagetotal = {288},
              Publisher = {chez l'Auteur},
              Shorttitle = {1270 militants du Finist{\`e}re},
              Title = {1270 militants du Finist{\`e}re (1918-1945). Dictionnaire biographique de militants ouvriers du Finist{\`e}re {\'e}largi {\`a} des combattants de mouvements populaires de R{\'e}sistance},
              Ville = {Bagnolet},
              Year = {1985}}

      @book{kerbaul02,
              Address = {Bagnolet},
              Author = {Kerbaul, Eug{\`e}ne},
              Date-Added = {2007-11-24 18:48:32 +0100},
              Date-Modified = {2009-12-16 23:12:49 +0100},
              Keywords = {source},
              Pagetotal = {64},
              Publisher = {chez l'auteur},
              Shorttitle = {1485 militants du Finist{\`e}re},
              Title = {1485 militants du Finist{\`e}re, 1918-1956. Dictionnaire biographique de militants ouvriers. Cahier de mise {\`a} jour no 1},
              Year = {1988}}

      @book{kerbaul03,
              Address = {Bagnolet},
              Author = {Kerbaul, Eug{\`e}ne},
              Date-Added = {2007-11-24 18:48:32 +0100},
              Date-Modified = {2009-12-16 23:13:16 +0100},
              Keywords = {source},
              Pagetotal = {64},
              Publisher = {chez l'auteur},
              Schorttitle = {1640 militants du Finist{\`e}re},
              Title = {1640 militants du Finist{\`e}re, 1918-1945. Dictionnaire biographique de militants ouvriers. Cahier de mise {\`a} jour no 2},
              Year = {1988}}

      @book{lochu01,
              Address = {Quimperl\'e},
              Author = {Lochu,Ren{\'e}},
              Date-Added = {2007-11-24 18:45:22 +0100},
              Date-Modified = {2010-04-09 23:17:38 +0200},
              Keywords = {finistere},
              Pagetotal = {210},
              Publisher = {\'Editions La Digitale},
              Shorttitle = {Libertaires, mes compagnons de Brest},
              Title = {Libertaires, mes compagnons de Brest et d'ailleurs},
              Ville = {Quimperl{\'e}},
              Year = {1983}}
             
      @book{guengant01,
              Address = {Brest},
              Author = {Guengant,Jean-Yves},
              Date-Added = {2008-05-16 14:40:58 +0200},
              Date-Modified = {2008-05-16 15:02:55 +0200},
              Keywords = {{\'e}lite,Brest},
              Pagetotal = {474},
              Publisher = {\'Editions Armeline},
              Shorttitle = {Brest et la Franc-Ma{\c c}onnerie},
              Title = {Brest et la Franc-Ma{\c c}onnerie, Les amis de Sully, des origines {\`a} nos jours},
              Year = {2008}}
             
      @book{boulouque01,
              Address = {Paris},
              Author = {Boulouque,Sylvain and Liaigre,Franck},
              Date-Added = {2011-02-16 22:41:15 +0100},
              Date-Modified = {2011-02-16 22:43:21 +0100},
              Keywords = {PC},
              Pagetotal = {261},
              Publisher = {Calmann-L{\'e}vy},
              Title = {Les listes noires du PCF},
              Year = {2008}}


      \end{filecontents}
      %

      %%% Toutes les données pour la bibliographie %%%%

      \usepackage[style=verbose-trad3,
                      citepages=suppress,
                      hyperref]{biblatex}
                     
      \bibliography{\jobname}

      % ibid en italique

      \renewcommand*{\mkibid}{\emph}

      %%%%%%% fin réglages bibliographie

      \title{Titre}

      \author{Jean-Paul \textsc{Sénéchal}}
      \date{\today}

      \begin{document}
             
      \maketitle


      \section{Un}

      \lipsum[1] Blabla\footcite[43]{fnc01}. \lipsum[1] Blabla\footcite[42]{fnc01}. \lipsum[2] Blabla\footcite[52--53]{fnc01}.


      \section{Deux}

      \lipsum[1] Blabla\footcite[63]{kerbaul05}. \lipsum[1]


      \begin{macitation}
              \lipsum[1] Blabla\footcite[126]{lochu01}.
      \end{macitation}



      Blabla\footcite[Nous renvoyons à l'étude très minutieuse consacrée à cette loge : ]{guengant01}. Blabla\footcite[Le contenu des pièces «sociales » et satiriques est jugé d'un niveau affligeant et pas seulement sur le plan politique par Eugène Kerbaul.][204]{kerbaul01}.

      \section{Trois}

      Blabla\footcite[31]{kerbaul01}. \lipsum[1] Blabla. Voir plus précisément \cite[92--93]{boulouque01}.

      \section*{Conclusion}

      \lipsum[1] Blabla\footcite{bonafoux01}.

      \printbibliography
      \end{document}

      En espérant que cela puisse te servir. Si tu as besoin d’aide supplémentaire, dans la limite de mes minces compétences, il ne faut pas hésiter. J’ai ramé assez longtemps avec ce problème pour être content que la solution puisse servir à d’autres.

  • Merci de ta réponse. Je cherche aussi depuis pas mal de temps, et je suis content à l’idée de résoudre ce problème.
    Par contre, lorsque je compile ton ECM chez moi, ça ne fonctionne pas. J’ai un message d’erreur qui me dit que l’option citepages=suppress n’est pas définit (\blx@processoption). Du coup, j’ai l’impression que ça vient de biblatex. Comment fait-tu pour connaître la version de biblatex que tu utilises ?
    Sinon, tu as peut-être d’autres idées...

    • Je suis sur Mac et j’ai donc installé MacTex, dernière version. Régulièrement je remets à jour les paquets avec l’utilitaire « TeX Live Utility » qui est installé dans un dossier « Tex », lui-même dans le dossier « Applications ».

      Cet utilitaire te permet d’avoir accès à chaque paquet dans la fenêtre « Manage Packages » tu sélectionnes le paquet qui t’intéresse puis « Show info » et tu as tous les fichiers, les documents en pdf.

      En cliquant sur le document pdf, j’ai l’information sur la version. La mienne est la version 1.1b du 4 février 2011.

      Autre solution. J’utilise « Textmate » pour écrire ma thèse. C’est un outil génial mais qui n’existe que sur Mac. Tu places ton curseur sur le paquet et tu appelles la documentation pdf du paquet avec les touches « ^H ». C’est encore plus rapide que la première solution.

      Voilà. Si tu n’est pas sur Mac, sans lancer une guerre de religion, je compatis mais j’ignore comment arriver au même résultat, si ce n’est qu’il faut aller regarder dans le fichier Nomdetonfichier.log, le numéro de version de chaque paquet y est indiqué.

      Quant à moi, il me reste quelques soucis à éliminer comme la mention de direction dans un ouvrage collectif.

  • Salut,

    J’ai enfin réussit à installer la même version que toi de Biblatex (et de etoolbox). Du coup, ça fonctionne. Par contre, je suis obligé d’uitliser pagetotal ou non pages comme champ de mes références bibtex pour que ça me cite le nombre de pages total. En tout cas, c’est ok. Merci de ton aide.
    A plus

  • Je viens de tester :

    - si je met suppress, cela supprime systématiquement les numéros de pages, même si je n’ia pas de post note (quand je veux citer l’article en entier par exemple)
    - si je met omit, cela supprime que si je n’ai pas de postenote ou que la postenote n’est pas un nombre de page. Mais si je souhaite avoir un numéro de page tout en conservant un poste note (par exemple : \cite[2, article au demeurant fort intéressant.]{Amsler1997}) cela ne fonctionne pas. J’ai encore mon numéro de page de la BDD qui est conservé. De même si je fais \cite[\pno~2, article au demeurant fort intéressant.]{Amsler1997}.

    Cette solution ne me convient donc pas. Dommage, car elle était plus simple que la mienne :(.

    Mais pour adapter votre solution à votre cas, il suffit je pense d’utiliser \mkpagetotal plutôt que \mkpageprefix (en fait il faudrait fouiller le fichier de style pour voir quelle est la commande appellée par défaut, et dans quel ordre)

    Voir en ligne : http://geeekographie.maieul.net

    • La solution serait de mettre quand même :

      \usepackage[style=verbose-trad3,
                     citepages=suppress,
                     hyperref]{biblatex}

      Et quand on veut indiquer une référence bibliographique complète en note de bas de page de mettre par exemple :

      \footnote{\fullcite{bonafoux01}} au lieu de \footnote{bonafoux01} .

      Comme cela la pagination de l’ouvrage ou de l’article apparaît. Au fait, puisque vous êtes bien plus pointu que moi sur SPIP, j’en profite pour vous demander comment supprimer (si c’est possible) l’espace pirate qui s’insère après avoir fermé la balise <code> , comme ici avant la virgule.

    • bon, pour le <code> je vois toujours pas ce qui provoque cela chez vous.

      sinon la solution consiste effectivement à mettre une virgule ou un espace insécable.

      Assez étrange. Je vais essayer de documenter cela sur mon site un de ces quatres et de virer l’ancienne astuce.

      Voir en ligne : http://blog.maieul.net

Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message