Citer une référence complète avec BibLaTeX

Dans ce billet, je vais vous donner la méthode pour pouvoir donner une référence complète (ou presque) à n’importe quel endroit d’un document (beamer par exemple), et ce grâce à BibLaTeX. BibLaTeX se veut être une réimplémentation et une fusion des outils de bibliographie fournis par LaTeX et BibTeX.

En ce qui concerne la façon de citer des références externes lors d’une présentation, il existe deux écoles : la première consiste à attendre la fin de la présentation pour lister l’ensemble des références. Chez la seconde, on donne à chaque citation la référence complète, ce qui permet donc de s’affranchir de la table des références en fin de présentation. C’est bien sûr les adeptes de cette dernière qui trouverons, je l’espère, intérêt à ce billet.

Exemple

Pour vous figurer le résultat cherché :
Exemple d'utilisation de BibLaTeX

Packages requis

Il vous faudra bien sûr charger le package biblatex, mais aussi csquote (qui permettra une mise en forme correcte des guillemets) :

\usepackage{csquotes}
\usepackage[bibstyle=authoryear,
            style=authoryear,
            backend=bibtex]{biblatex}

L’option style, vous vous en doutez, donnera le style de biblio, de la même manière qu’avec BibTeX. L’option bibstyle ne traite que du style des références. L’option backend indique quel compilateur sera utilisé pour la biblio, nous utiliserons ici bibtex (voir plus bas).

Utilisation

La structure ne change pas par rapport à BibTeX, donc vous retrouverez toutes les commandes habituelles, et votre .bib reste le même. Déjà une bonne nouvelle.

Chargement du .bib

Dans le préambule :

\bibliography{Biblio.bib}

Commandes de base

La commande tant convoitée est donc la suivante : \fullcite{}
Une autre commande utile est celle qui permet de mettre les références dans une note en bas de page : \footfullcite{}

Personnalisation de la commande fullcite

En l’état, si vous utilisez cette commande, alors la totalité des champs renseignés dans votre .bib seront affichés, y compris le DOI, l’ISBN, les notes etc. Je vous conseille donc de vous affranchir de ces informations surnuméraires :

\usepackage[doi=false,
            isbn=false,
            url=false,
            bibstyle=authoryear,
            style=authoryear,
            backend=bibtex]{biblatex}

Malgré cela, il se peut que vous trouviez encore BibLaTeX un peu trop gourmand en place. On peut donc être plus restrictif encore :

\AtEveryCitekey{\clearfield{title}
                \clearfield{note}
                \clearfield{pages}
                \clearlist{location}
                \clearlist{publisher}
                \clearname{editor}}

Affichage des références

La commande \printbibliography à l’endroit où vous souhaitez la voir apparaitre suffira.

Notes en bas de frame (et non en bas de block)

La commande \footfullcite est simplement une fusion des commandes \fullcite et \footnote. Par défaut, dans un block, les notes restent dans le block. Si vous souhaitez les sortir en bas de frame, alors je vous conseille l’astuce suivante (qui marche dans la plupart des cas) :

\renewcommand{\footfullcite}[1]{footnote[frame]{\fullcite{#1}}}

Sachez toutefois que les notes en bas de pages sont peu compatibles avec les overlays.

Choix du séparateur entre les références

Petit bonus : si vous êtes insatisfaits du séparateur entre les références. Exemple si vous voulez une référence par ligne :

\renewcommand*{\multicitedelim}{\\}

Pour résumer

Voici donc un exemple minimal qui regroupe toutes les notions évoquées ci-dessus :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
\documentclass[svgnames,smaller]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}		% Fontes modernes pour Adobe. Recommandé
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
 
\usepackage{csquotes}
\usepackage[doi=false,isbn=false,note=false,url=false,bibstyle=authoryear,style=authoryear,backend=bibtex]{biblatex}
 
\AtEveryCitekey{\clearfield{title}\clearfield{note}\clearfield{pages}\clearlist{location}\clearlist{publisher}\clearname{editor}}
\bibliography{Biblio.bib}
\renewcommand*{\multicitedelim}{\\}
 
\renewcommand{\footfullcite}[1]{\footnote[frame]{\fullcite{#1}}}
\def\bibfont{\tiny}			% Réduit la taille de la police dans les références biblio
 
\beamertemplatenavigationsymbolsempty	% vire le menu de navigation, qui va nous lourder sinon.
 
\begin{document}
	\begin{frame}
		\begin{block}{Exemple minimal dans un bloc}
			Exemple de citation simple\footfullcite{Auteur1} et de citation multiple\footfullcite{Auteur2,Auteur3}
		\end{block}
	\end{frame}
	\begin{frame}
		\printbibliography
	\end{frame}
\end{document}

Compilation

Comme je l’ai dit plus haut, vous ne serez pas dépaysé. Pour rappel, cela donne donc :

pdflatex document.tex
bibtex document
pdflatex document.tex
pdflatex document.tex

Installation de BibLaTeX sous Linux

Si l’installation est automatique sur MikTeX, elle l’est moins sous TeX Live. Elle se fait en fait en installant avec votre gestionnaire de paquet préféré le paquet « biber ».

Pour aller plus loin

Je vous conseille la lecture de la fiche de Bébert sur BibLaTeX. Vous trouverez aussi la documentation complète sur le TeX Catalogue de Jussieu.

 

Bonne compilation !

Citer une référence complète avec BibLaTeX
4 (80 %) 5 votes
  • Jonas

    Bonjour, malgré mes recherches sur internet je n’ai rien trouvé.
    Serait-il possible de ne pas afficher les DOI et URL lorsque l’on cite une entrée bibliographique en note de bas de page, mais que les DOI et URL apparaissent dans la partie bibliographie du document (il s’agit d’une thèse).

    Par avance merci

    Jonas

    • Salut !
      J’ai enfin trouvé un peu de temps pour réfléchir à ton problème. En fait il suffit d’autoriser globalement les DOI, mais demander à ne pas les afficher lors des citations. Donc tu commences par virer doi=false en option de biblatex, et puis tu mets
      AtEveryCitekey{clearfield{note}}
      Et voilà !

  • Jonas

    Salut Dorian !
    Merci beaucoup de m’avoir répondu et surtout merci pour cette solution qui fonctionne au poil !! Je l’ai utilisé pour les DOI et les URL. Tout fonctionne impec, les DOI et URL ne s’affichent pas dans les notes de bas de page, mais apparaissent dans la bibliographie 😉

    Merci

  • Bugneurone

    Merci beaucoup pour cet article et cette solution simple ! Depuis le temps que je cherche, ça me sauve (la veille de ma présentation ! ^^)
    Je me permets juste de faire remarquer: il me semble qu’il y a une petite erreur dans le code du paragraphe « Notes en bas de frame (et non en bas de block) ». Il me semble qu’il manque le «  » avant le footnote[frame]

    Merci encore en tout cas !

  • Hakim

    Merci pour cet article, il m’a beaucoup aidé à afficher les références en bas de page. Cependant, j’ai changé de machine, j’ai tout mit sur mon pc portable de même distribution linux et même version latex, pour pouvoir travailler sur mes présentations durant les vacances, j’ai le message d’erreur suivant:

    p, li { white-space: pre-wrap; }

    ! Package keyval Error: note undefined.

    J’ai décortiqué le fichier latex, et apparement le probleme vient de la ligne suivante:

    usepackage[doi=false,isbn=false,note=false,url=false,bibstyle=authoryear,style=authoryear,backend=bibtex]{biblatex}

    Quelqu’un à une idée?