Accueil > LaTeX > Beamer > Beamer et référence bibliographique complète

Beamer et référence bibliographique complète

lundi 27 mai 2013, par Maïeul

Beamer est le module de création de diaporama avec LaTeX. Or, il peut être utile d’indiquer une référence bibliographique complète dans une diapositive, pour permettre à ses auditeurs de la recopier.

Toutefois, si vous utilisez le mécanisme de couche pour afficher vos référence, vous risquez de les trouver abrégées. Voici comment résoudre le problème.

Le problème

Soit les références bibliographiques suivantes :

@book{Rouquette2012,
	Address = {Tampere},
	Author = {Maïeul Rouquette},
	Publisher = {Atramenta},
	Title = {(Xe)LaTeX appliqué aux sciences humaines},
	Year = {2012}}

@book{Leal2012,
	Address = {Rome},
	Author = {Jerónimo Leal and Gianluca Pignalberi},
	Publisher = {Compomat},
	Subtitle = {Guida alla composizione con il proprio computer},
	Title = {Edizioni Critiche},
	Year = {2012}}

Soit le fichier contenant le code suivant :

\documentclass{beamer}
\usepackage{fontspec,xunicode,polyglossia}
\setmainlanguage{french}
\usepackage[citestyle=verbose]{biblatex}

\bibliography{ztest}
\begin{document}
\begin{frame}
\begin{itemize}
	\item<1->\cite{Rouquette2012}
	\item<2->\cite{Leal2012}
\end{itemize}
\end{frame}
\end{document}

Cela signifie que je souhaite que ma première diapositive affiche d’abord la référence de l’ouvrage de Rouquette [1], et ensuite celle de Léal, en deux étapes.

Diaporama avec références complètes

À la compilation, nous disposons de la diapositive contenant les deux couches suivantes :

Première diapositive avec référence complète
Seconde diapositive avec référence incomplète

Comme vous pouvez constater, les références de la seconde diapositive sont abrégées, alors que nous les souhaiterions complètes.

Explication et résolution du problème

Par défaut, BibLaTeX abrège les références bibliographiques après le premier appel, et ce, même si on utilise le style "verbose".

Or, la première couche de la diapositive a appelé toutes les références de la diapositive, même si elle n’en a affiché qu’une.

Il faut donc demander à BibLaTeX d’afficher les références bibliographiques de manière complètes, dans tout les cas.

Si on fouille le fichier verbose.cbx, on trouve les lignes suivantes :

\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{cite:postnote}}

Ce qui signifie que la commande \cite fait appel à la macro cite.

Et cette macro est ainsi définie, dans le même fichier :

\newbibmacro*{cite}{%
  \usebibmacro{cite:citepages}%
  \ifciteseen
    {\iffieldundef{shorthand}
       {\usebibmacro{cite:short}}
       {\usebibmacro{cite:shorthand}}}
    {\usebibmacro{cite:full}}}

La commande \ifciteseen vérifie si la référence courante a déjà été vue. Si oui, elle fait appel à la macro cite:shorthand ou cite:short, selon que le champ shorthand existe ou non, et si non, elle fait appel à la macro cite:full.

Il nous suffit donc de redéfinir la macro \cite dans le préambule, pour ne plus appeler que cite:full.

\renewbibmacro*{cite}{%
  \usebibmacro{cite:citepages}%
    {\usebibmacro{cite:full}}}
Diaporama avec références incomplètes

Et c’est ainsi que l’on obtient nos références complètes sur toutes les couches.

Première diapositive avec référence complète
Seconde diapositive avec référence complète

[1Ne gâchons pas notre narcissisme...

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