Zotero et LaTeX
La rédaction du blog Zotero francophone est très heureuse d’accueillir un billet invité de Raphaël Grolimund sur un sujet qui nous tient à cœur et pour lequel nous apprécions particulièrement son expertise, l’interaction entre Zotero et LaTeX. Nous espérons convaincre les utilisateurs de LaTeX d’adopter Zotero, et réciproquement.
Contrairement à LibreOffice, OpenOffice.org ou Microsoft Word, LaTeX n’est pas un traitement de texte. Il s’agit d’un langage et d’un système de composition de documents basé sur TeX datant des années 1980. La rédaction d’un document en LaTeX nécessite donc l’utilisation d’un langage de balisage et de commandes spécifiques, ce qui explique sans doute qu’il n’a pas percé dans le grand public. LaTeX est avant tout destiné à la rédaction de documents scientifiques et techniques, mais même dans le monde scientifique, selon les données publiées par Bosman et Kramer (2016), il n’est utilisé que par 18% des chercheurs. C’est dans les sciences exactes et l’ingénierie qu’il est principalement utilisé (> 40% des chercheurs dans ces domaines l’utilisent), toujours selon Bosman et Kramer (2016).
L’interaction entre Zotero et LaTeX est donc différente de celle que Zotero a avec un traitement de texte. Dans cet article, nous allons voir en quoi, pourquoi et comment concilier Zotero et LaTeX, et comment résoudre les principales difficultés que vous pouvez rencontrer. Notez que ces considérations sont valables pour les diverses variantes de LaTeX (XeLaTeX, LuaTex…).
Nous vous proposons donc le programme suivant :
- LaTeX et BibTeX
- Zotero vs BibTeX : avantage Zotero
- Zotero vs BibTeX : avantage BibTeX
- Le meilleur de LaTeX et Zotero avec BetterBibTex
- Nouveautés liées à l’écriture collaborative
- Pour découvrir LaTeX
- Références
Commençons donc par nous familiariser avec LaTeX.
LaTeX et BibTeX
Lorsqu’il rédige un document LaTeX, l’utilisateur édite un fichier TeX (dont l’extension est .tex). Il y insère le texte et les commandes. Cela ressemble à ça:
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\title{Titre de l’article}
\author{nom de l’auteur}
\date{\today}
\begin{document}
\maketitle
\begin{abstract}
Résumé du document
\end{abstract}
\section{Introduction}
blablabla … \cite{kramer_innovations_2016}
\section{Deuxième section}
blablabla … \cite{mittelbach_latex_2009}
\bibliographystyle{plain}
\bibliography{references}
\end{document}
Il n’est pas nécessaire de décortiquer la totalité de ce code. Seuls 3 éléments sont nécessaires pour comprendre comment travailler avec LaTeX et Zotero :
- le premier est
\cite{...}
qui correspond à une citation dans le texte ; - le second est
\bibliography{...
} qui indique l’emplacement de la bibliographie (généralement en fin de document) ; - le dernier élément à comprendre est
\bibliographystyle{...}
, qui correspond au style utilisé pour formater les citations et la bibliographie.
Ces éléments suffisent presque toujours à aider un utilisateur qui rencontre des problèmes avec sa bibliographie dans un document LaTeX… même si vous n’êtes pas vous-mêmes un utilisateur LaTeX :-).
Pour pouvoir citer des références, LaTeX s’appuie sur un fichier BibTeX (dont l’extension est .bib). Ainsi, la commande \bibliography{references}
fait appel à un fichier BibTeX intitulé « references.bib ». Seules les références présentes dans ce fichier peuvent être introduites dans le fichier LaTeX. Un fichier BibTeX contient des références qui ressemblent à ça :
address = {Boston},
edition = {2nd ed., 9th print},
series = {Addison-Wesley series on tools and techniques for computer typesetting},
title = {The LATEX companion},
isbn = {0-201-36299-6},
language = {anglais},
publisher = {Addison-Wesley},
author = {Mittelbach, Frank and Goossens, Michel and Braams, Johannes and Detig, Christine and Rahtz, Sebastian},
year = {2009},
}
La référence ci-dessus est celle d’un livre, elle commence donc par @book
. Pour décrire un article, BibTeX commence par @article
; pour une thèse, par @phdthesis
etc. BibTeX connaît 14 types de documents (Patashnik 1988, pp. 8-9). Par ailleurs, chaque référence possède une clé BibTeX unique (mittelbach_latex_2009
dans cet exemple), utilisée dans l’appel de citation \cite{...}
.
Un fichier BibTeX est compréhensible par un humain, mais il est avant tout fait pour être lu par un logiciel. Zotero sait lire et créer un fichier BibTeX. Pour comprendre comment les références contenues dans le fichier BibTeX sont insérées dans un document LaTeX, il faut revenir une minute au fonctionnement de LaTeX. LaTeX utilisant des balises et des commandes, il faut compiler le tout pour produire le document final à chaque fois qu’on procède à une modification. La fig. 1 présente schématiquement les 4 étapes de la compilation.
Détaillons brièvement ces 4 étapes :
- LaTeX extrait les appels de citation (les commandes
\cite{...}
) du fichier .tex et les liste dans un fichier .aux temporaire ; - LaTeX cherche dans le fichier .bib les références correspondant aux appels de citation listés dans le fichier .aux (en se basant sur les clés BibTeX), leur applique un style (défini dans le fichier .bst) et les stocke dans un fichier .bbl temporaire ;
- LaTeX reprend les références listées dans le fichier .bbl, ainsi que la bibliographie résultante et les intègre dans le texte ;
- finalement, LaTeX passe en revue tout le document une dernière fois afin de mettre à jour les numéro de page, index, etc.
Aujourd’hui, le fichier qui découle de ce processus est un PDF, mais ça n’est pas forcément toujours le cas.
Zotero vs BibTeX : avantage Zotero
Dans tous les cas, pour insérer des références et/ou une bibliographie dans un document LaTeX, il faut un fichier BibTeX. Il existe plusieurs manières de créer un fichier BibTeX : à la main (compliqué, long et risqué), export au format BibTeX depuis une plateforme (méthode standard) ou… Zotero. Comme indiqué plus haut, Zotero sait lire et créer un fichier BibTeX, et il existe plusieurs avantages à utiliser Zotero par rapport à la méthode standard.
Zotero offre plusieurs fonctionnalités dont BibTeX est nativement dépourvu, parmi lesquelles nous retenons les suivantes.
Diversité des types de documents
Au-delà d’une base bibliographique des publications que vous souhaitez citer, Zotero vous permet de constituer une base documentaire riche, référençant une grande diversité de types de document (du rapport au billet de blog en passant par la présentation). Vous pouvez ainsi référencer et gérer l’ensemble de vos documents (ceux que vous lisez et ceux que vous produisez) au moyen d’une seule application et d’un seul mode d’organisation.
Récupération d’une référence (et du PDF associé) d’un seul clic
Dans BibTeX, la récupération d’une référence passe par l’export au format .bib proposé sur la plateforme, suivi d’un ajout dans le fichier .bib déjà présent sur l’ordinateur où toutes les références sont regroupées (sauf si c’est pour un nouveau projet).
Zotero, lui, vous permet de faire d’une pierre deux coups en téléchargeant automatiquement le PDF d’un article en même temps que sa référence. Le tout en un seul clic ! Deux conditions doivent toutefois être réunies pour ce faire :
- vous avez bien activé cette fonctionnalité dans les Préférences > Générales de Zotero, en cochant l’item Joindre automatiquement les fichiers PDF associés lors de l’enregistrement d’un document ;
- vous avez bien accès à l’article, c’est-à-dire que le PDF est présent sur la plateforme que vous visitez et vous y avez accès (par abonnement ou parce qu’il s’agit d’un article en libre accès).
Zotero ne se limitant pas aux plateformes scientifiques et techniques, il est également compatible avec un plus grand nombre de sources que BibTeX.
Gestion des PDFs et des fichiers joints
BibTeX ne peut pas contenir des fichiers PDFs. Le lien vers un fichier peut y être enregistré, mais Zotero, lui, stocke le PDF et peut même proposer des solutions plus efficaces. Le module complémentaire ZotFile facilite grandement l’organisation des fichiers joints : ajout automatique du dernier fichier téléchargé à une référence, renommage automatique et intelligent des fichiers selon une syntaxe paramétrable, enregistrement des fichiers dans un dossier déterminé (en dehors du dossier zotero\storage), etc.
Synchronisation
Zotero vous permet de synchroniser votre bibliothèque entre différents ordinateurs, et de bénéficier d’une version en ligne de votre bibliothèque. Si la synchronisation intégrale d’une bibliothèque (références + fichiers joints) n’est pas triviale (voir notre précédent billet “Bibliothèque de groupe”), la synchronisation des références seules est très simple à configurer depuis l’onglet Synchronisation des Préférences de Zotero.
Collaboration
BibTeX, tout comme LaTeX, n’a pas été créé à la base pour être un outil collaboratif. Travailler à plusieurs sur un fichier BibTeX passe par son dépôt sur un disque partagé (sans possibilité d’être plusieurs à l’éditer en même temps) ou par un dépôt git (ce qui requiert des compétences particulières). Depuis sa version 2 (sortie en février 2010), Zotero, est quant à lui un outil polyvalent, offrant de multiples modalités pour collaborer (voir notre précédent billet “Bibliothèque de groupe”). Collaborer signifie parfois adopter les outils de ses collaborateurs, et si les vôtres utilisent Word ou LibreOffice vous pourrez toujours utiliser les extensions de traitement de texte de Zotero.
Bonus
Zotero offre enfin quelques fonctionnalités d’un usage marginal mais fort profitables. La Copie rapide vous permet ainsi d’insérer très facilement une référence formatée selon le style bibliographique de votre choix dans la zone de texte d’un autre logiciel (courriel par exemple), d’un simple glisser-déposer de la référence depuis votre bibliothèque Zotero.
À l’image de Firefox, Zotero est également un logiciel modulaire. Si une fonction lui manque, il est possible de créer un module complémentaire pour l’ajouter.
Zotero vs BibTeX : avantage BibTeX
Cependant, Zotero ne peut pas remplacer toutes les fonctions de BibTeX dans la gestion des références dans un document LaTeX. BibTeX reste nécessaire pour articuler entre eux Zotero et LaTeX. Parmi les fonctions que Zotero ne gère, il y a en premier lieu les clés BibTeX.
address = {Boston},
edition = {2nd ed., 9th print},
series = {Addison-Wesley series on tools and techniques for computer typesetting},
title = {The LATEX companion},
isbn = {0-201-36299-6},
language = {anglais},
publisher = {Addison-Wesley},
author = {Mittelbach, Frank and Goossens, Michel and Braams, Johannes and Detig, Christine and Rahtz, Sebastian},
year = {2009},
}
La clé BibTeX (mittelbach_latex_2009
ci-dessus) est obligatoire et doit apparaître au début de la référence. Elle n’a pas de forme imposée, même si les espaces et les ponctuations y sont interdits. Beaucoup d’utilisateurs LaTeX souhaitent pouvoir manipuler cette clé. Or, elle est absente dans Zotero.
Un deuxième exemple de manipulation facile à faire dans BibTeX et compliquée dans Zotero : les modifications de masse.
Un éditeur de texte étant suffisant pour modifier un fichier BibTeX, il est facile d’effectuer des “rechercher-remplacer” dans l’ensemble de ses références. Une telle fonction n’existe pas dans Zotero.
Le meilleur de LaTeX et Zotero avec BetterBibTeX
Comment concilier les avantages de Zotero et de LaTeX? Revenons un moment sur le schéma de compilation d’un document LaTeX pour y intégrer Zotero.
Comme vous pouvez le voir dans la fig. 3, Zotero n’interagit pas directement avec le fichier TeX. Il produit le fichier BibTeX nécessaire à l’insertion des citations et références dans LaTeX, mais ne peut donc pas influencer leur mise en forme. Le style de citation est géré dans le fichier .bst. Les fichiers CSL de Zotero ne servent donc à rien lorsqu’on travaille avec LaTeX.
Pour créer un fichier BibTeX depuis Zotero, il faut exporter des références, une collection ou toute la bibliothèque d’un clic droit > Exporter… Notez que la clé BibTeX est créé à la volée lors de l’export.
L’inconvénient avec cette méthode, c’est qu’il faut refaire la manipulation à chaque fois qu’une modification est apportée à la bibliothèque Zotero. Heureusement, un module complémentaire résout ce problème : BetterBibTeX. Ce module (compatible Zotero 5) permet que les modifications apportées dans sa bibliothèque Zotero soient répercutées automatiquement dans le fichier BibTeX. Notez que l’inverse n’est pas vrai : les modifications apportées dans le fichier BibTeX ne sont pas “remontées” dans Zotero.
L’export automatique peut être sélectif : vous pouvez choisir d’alimenter votre fichier .bib à partir de votre bibliothèque toute entière, ou seulement à partir d’une collection.
Pour paramétrer BetterBibTeX, rendez-vous dans Préférences > onglet BetterBibTeX. La fig. 5 présente la boîte de paramétrage de BetterBibTeX (notez qu’il s’agit de l’interface dans Zotero 4). Parmi les nombreux paramètres qui peuvent être personnalisés, notons seulement que le format de la clé BibTeX peut être modifié ici. Sans indication contraire de l’utilisateur, BetterBibTeX se repose sur le comportement par défaut de Zotero (1er auteur, 1er mot du titre, année comme dans l’exemple mittelbach_latex_2009
).
Nouveautés liées à l’écriture collaborative
Depuis quelques années, de nouveaux outils ont fait leur apparition. Ils permettent de rédiger des articles scientifiques collaborativement, en ligne et Zotero s’y intègre très bien. ShareLaTeX et OverLeaf ont besoin d’un fichier BibTeX, car ce sont en fait des éditeurs LaTeX en ligne. Authorea crée également des documents LaTeX, mais peut, lui, intégrer des références de Zotero grâce à la Copie rapide présentée dans les “Bonus”. Cela nécessite toutefois un réglage préalable : il faut définir BibTeX comme format d’export par défaut dans Préférences > Exportation (cf. fig. 6).
Comme elle n’exige pas des utilisateurs de maîtriser les commandes LaTeX, la plateforme Authorea permet à des utilisateurs de LaTeX de collaborer avec des utilisateurs de Word en toute transparence. Mais ça c’est une autre histoire…
Pour découvrir LaTeX
Si votre curiosité a été piquée par LaTeX, voici quelques lectures et un cours pour vous y mettre:
Références citées
Remerciements
Un grand merci à la rédaction du blog Zotero francophone pour l’invitation à écrire ce billet, pour leur soutien et leurs suggestions lors de la rédaction.
OpenEdition vous propose de citer ce billet de la manière suivante :
Raphaël Grolimund (2 novembre 2017). Zotero et LaTeX. Le blog Zotero francophone. Consulté le 5 décembre 2024 à l’adresse https://doi.org/10.58079/vdwe
Hi, I don’t mind Robin Wilson (creator of Autozotbib) getting a mention, but Better BibTeX was based on neither the code nor the idea of Autozotbib (I am the author of Better BibTeX).
Hi,
Thank you for your comment, and sorry for the mistake, it has been fixed in the post.
Best,
Frédérique
No worries whatsoever
I forgot to mention you. Sorry for that.
Merci d’avoir corrigé, Frédérique!
(I will continue to use English, because my French is laughably bad) For my users, it is more important to know about BBT than it is to know about Emiliano Heyns; it’s not important to me that I get my name out. And it is true that Robin had export before I did, but BBTs export is a natural outflow of the scheduling and caching system I already had in place, and the autoexport I have and the autoexport Robin had work in substantially different ways, also from the user perspective.
Also, BBT is no longer being finalized, it is ready for Zotero 5. Not a critique but this post is one of the first hits for BBT in French and it would be a shame that people thought it wasn’t available for Z5.
*also*, thanks to the efforts of Aymeric Fassier, BBT is now available in French
Thanks for all these extra details Emiliano! I’ve re-corrected the post to take it into account (deletion of your name, notification of compatibily with Z5).
Je découvre cet article. Merci. Je suis cependant étonné que vous présentiez bibtex et pas biblatex, que je recommande pourtant chaudemmetn, spécifiquement en sciences humaines, car il est bien plus puissant que bibtex (et que zotero pour certains réglages de styles et pour la capacité d’héritage de champs).
D’autant plus que j’en parle dans mon livre (que vous citez) et zoterobetterbibtex permet de faire du biblatex
Bonjour,
Dans la mesure où cet article est une introduction pour les non-initiés, j’ai choisi de ne pas entrer dans les détails. BibTeX est donc à comprendre au sens “fichier dont l’extension est .bib”.
Du point de vue de Zotero, le fonctionnement général, que ce soit avec BibTeX ou BibLaTeX, est le même. Il s’agissait avant tout de montrer comment LaTeX et Zotero s’articulent et non de faire un tutoriel expliquant toutes les manières de les faire fonctionner ensemble.
Cela pourrait faire l’objet d’un futur article.
Merci pour cette suggestion!
Raphaël Grolimund
je comprend la logique, mais malheurusement je passe mon temps à aider des personnes qui n’arrvient pas à avoir leur affichage correct parce que les formateurs LaTeX les ont initiés à bibtex et pas à biblatex…. et j’aurais donc préféré que cela soit au moins évoqué 😉
(En plus, il semble me souvenir que better-bibtex doit être configuré pour biblatex)
Je vous comprends.
Nous développerons probablement cela dans un article plus approfondi sur Better BibTeX.
Bonjour,
Je suis une utilisatrice convaincue de Zotero et je vais me lancer dans la rédaction de ma thèse sous Latex. Problème, on m’a conseillé d’utiliser Jabref, car il était plus compatible que Zotero avec latex, ce qui me chiffonne. J’étais ravie de tomber sur votre article MAIS quand j’essaie d’installer better bib latex, je suis bloquée. Firefox refuse de laisser installer le fichier (fichier corrompu). J’ai pourtant la version standalone la plus récente ainsi que le module firefox. J’ai essayé de passer par Chrome, et là je me retrouve avec un dossier .zip dont je ne sais pas quoi faire. Avez vous été confronté à ce problème ? Sauriez vous comment utiliser le dossier .zip depuis zotero standalone ?
Je vous remercie,
Anaïs.
Bonsoir Anaïs,
Tout d’abord, il est faux de dire que JabRef est plus compatible avec LaTeX que Zotero. Tous les deux vous fournissent le fichier BibTeX (.bib) dont LaTeX a besoin pour intégrer les appels de citations dans le texte et références à la fin du document.
Avez-vous pu réalisé toutes les étapes de l’installation (https://retorque.re/zotero-better-bibtex/installation/) ou rencontrez-vous un problème avant la fin ?
Avez-vous bien choisi le fichier .xpi au moment du téléchargement (clic-droit > Enregistrer la cible du lien sous…) ?
Bien à vous,
Raphaël
Bonjour, et merci beaucoup pour ce billet !
Je rencontre toutefois une difficulté, à laquelle je n’ai malheureusement pas trouvé de réponse.
Lorsque je cite une référence dans mon document LateX, après avoir exporté ma bibliographie depuis Zotero, le fichier final présente mes références comme elles ont été moissonnées par Zotero : tous les champs se reportent donc dans ma bibliographie (ISBN, dépôt légal, langue de la ressource, formats des livres etc.). Du coup, mes différentes références et ma bibliographie ne se trouve pas normée …
Ce problème vient-il de Zotero (à savoir, dois-je “nettoyer” tous les champs manuellement, ce qui serait long et fastidieux), ou bien cela vient d’une manip’ à effectuer sur mon fichier .tex ?
Merci d’avance pour votre réponse, vous m’enlèveriez une belle épine du pied.
Bien à vous, et merci pour le travail que vous effectuez
Bonjour,
Votre problème ne se rapporte pas à Zotero. Pour définir suivre une norme précise, il convient de le préciser dans la “balise” \bibliographystyle{plain} (remplacé plain par le style voulu) comme expliqué sur http://www.bibtex.org/Using/.
Vous pouvez trouver le fichier de style sur le site de l’éditeur ou sur https://ctan.org/, mais sachez que ce n’est pas aussi facile que de naviguer dans le dépôt de styles de Zotero (https://zotero.org/styles).
Bien à vous,
Raphaël
Merci beaucoup pour votre réponse, c’est en effet plus clair pour moi.
J’ai en effet je ne sais pas si cela convient à ma pratique actuelle. Je tente de générer une bibliographie au sens classique du terme : il n’y a pas de références donnés dans un corps de texte, j’essaye simplement d’avoir un PDF de 5 pages avec simplement une bibliographie.
Pour simplifier la chose, j’ai créé dans mon fichier .tex plusieurs entrées \section avec les différentes disciplines ou découpage chronologique. Puis, sous forme de puces, j’ajoute ensuite mes références une à une, histoire d’avoir une bibliographie complète. Concrètement, cela ressemble à ça :
\section*{a) Ouvrages généraux}
\item \cite{Alexandrian1995}
\item \cite{ARIES}
\item \cite{BINET}
\item \cite{Bonnet2001}
\item \cite{BONNARD1999}
\item \cite{CABANTOUS2020}
\item \cite{Camille2012}
\item \cite{Rosaz2004}
\item \cite{DORLIN2009}
\item \cite{Duby1991}
La commande \bibliographystyle n’est valable – sauf erreur de ma part – pour appeler la bibliographie en fin de document, et ne permet pas une souplesse pour structurer par thème / chronologie la bibliographie. D’où le plus de Jabref sur la gestion des champs simplifiés dans mon cas, et le fait que Zotero récole tous les champs. Je ne sais pas si je suis très clair ! En tout cas si vous avez une idée je suis preneur … Je sais que ce blog Hypothèses n’est pas un forum d’entraide, mais je lance quand même une bouteille à la mer
Bien à vous
La balise \cite sert à citer dans le texte. C’est la balise \bibliography{nom_du_fichier_bib} qui sert à générer la bibliographie. La balise \bibliographystyle{nom_du_style} définit l’affichage du contenu de \bibliography.
Pour créer une bibliographie découpée par thème, il faut utiliser plusieurs fichiers BibTeX (.bib).
Bien à vous,
Raphaël
Bonjour,
Je tenais tout d’abord à vous remercier de la qualité de votre article.
Je n’arrive toujours pas à intégrer une biblio extraite de Z5 avec BetterBibTex dans TeXstudio. J’ai bien un fichier .Bib mais comment intégrer en biblio dans TeXstudio svp ?
D’avance merci.
Fred.
Bonjour,
L’ajout d’une bibliographie dans un document LaTeX se fait par l’ajout des 2 lignes suivantes (ici, le fichier BibTeX s’appelle nomdufichier.bib):
\bibliographystyle{plain}
\bibliography{nomdufichier}
Si par contre, vous voulez utiliser votre bibliothèque de références dans TeXstudio, c’est le fichier .bib qui fait office de bibliothèque. Il n’y a pas forcément d’interface graphique pour gérer les références dans LaTeX.
Bien à vous.
Raphaël
Bonjour Je cherche à modifier la clé de citation dans zotéro. J’ai essayé de le faire dans préférence>bibtext>clé de citation. J’ai modifié pour avoir [auth:lower][year] mais au final rien ne se modifie dans zotéro, le format par défaut reste et même si je ferme zotéro. Merci pour votre aide
Bonjour,
Avez-vous suivi ces instructions ? https://retorque.re/zotero-better-bibtex/citing/#configurable-citekey-generator
Je pense tout particulièrement à la phrase suivante: “If you want your keys to update after a pattern change you will have to select your references, right-click, and select
Refresh
.”Bien à vous,
Raphaël