278 lines
11 KiB
Markdown
278 lines
11 KiB
Markdown
---
|
||
title: "Citer ses références et créer une bibliographie avec LaTeX et Zotero"
|
||
date: Automne 2024
|
||
creation_date: 2023-03-24T08:25:47+0100
|
||
id: 20230324082557
|
||
logo:
|
||
- ../medias/latex-logo.svg
|
||
- ../medias/zotero-logo.svg
|
||
lang: fr
|
||
bibliography: references.json
|
||
csl: heg-iso-690.csl
|
||
nocite: '@*'
|
||
link-citations: true
|
||
---
|
||
|
||
## Objectifs
|
||
|
||
Au terme de cet atelier, vous serez en mesure de :
|
||
|
||
- Comprendre ce qu'est un fichier `.bib`.
|
||
- Connaître la structure d'une référence.
|
||
- Créer ou de générer un fichier `.bib`.
|
||
- Charger les paquets nécessaires dans le préambule pour configurer BibLaTeX.
|
||
- Utiliser les commandes BibLaTeX pour :
|
||
- Définir le style de citation et de bibliographie.
|
||
- Insérer une citation et un appel de citation.
|
||
- Insérer une bibliographie.
|
||
- Compiler le document final.
|
||
|
||
:::{#licence}
|
||
![Logo de la licence CC BY-SA 4.0][1] \
|
||
[CC BY-SA 4.0][2] --- [Sources][3]
|
||
:::
|
||
|
||
<!-- références -->
|
||
|
||
[1]: ./static/by-sa.svg
|
||
[2]: https://creativecommons.org/licenses/by-sa/4.0/deed.fr "Texte de la licence en français"
|
||
[3]: https://git.milhit.ch/igor/biblatex-zotero "Projet git du document"
|
||
|
||
## Principes généraux {#first-section}
|
||
|
||
> « Dans LaTeX il faut distinguer le langage de balisage, le système de
|
||
> composition et la *distribution*. » [@fauchieFabriquesPublicationLaTeX2020]
|
||
|
||
Pour générer des documents avec LaTeX, il faut :
|
||
|
||
- Rédiger un document dans un fichier `.tex` à l'aide du *langage de balisage*,
|
||
afin de le structurer.
|
||
- Compiler ce fichier avec un *système (ou moteur) de composition*, par exemple
|
||
LaTeX, PdfLaTeX ou XeLaTeX.
|
||
|
||
Pour disposer d'un tel système de composition, le plus souvent on installe un
|
||
*environnement ou une distribution* LaTeX, par exemple TeX Live pour Linux,
|
||
MacTex pour Mac OS ou MiKTeX pour Windows[^0]. Il est aussi possible
|
||
d'installer des distributions plus minimales, comme `tectonic` ou TinyTeX[^6].
|
||
|
||
Afin de faciliter la collaboration ou pour s'éviter une installation parfois
|
||
laborieuse, des services en ligne sont préférés, comme
|
||
<https://www.overleaf.com/>.
|
||
|
||
Enfin, un éditeur est nécessaire pour travailler sur les sources (le ou les
|
||
fichiers `.tex`). N'importe quel éditeur de texte suffit, mais des aides comme
|
||
la coloration syntaxique, la complétion des commandes ou la gestion de la
|
||
compilation autrement que dans une console sont très utiles. Parmi une liste
|
||
plutôt riche, les éditeurs suivants peuvent être mentionnés :
|
||
|
||
- Texmaker, libre, multiplatforme, <https://www.xm1math.net/texmaker/>.
|
||
- TeXworks, libre, multiplatforme, <https://www.tug.org/texworks/>.
|
||
- Visual Studio Code, gratuit, multiplatforme,
|
||
<https://code.visualstudio.com/>, avec les extensions nécessaires.
|
||
|
||
Afin de pouvoir insérer des citations et créer des bibliographies avec LaTeX,
|
||
un fichier contenant les références bibliographiques est nécessaire. Il s'agit
|
||
d'un fichier dont l'extension est `.bib`, ce qui correspond :
|
||
|
||
- soit à la structure BibTeX,
|
||
- soit à la structure Biber pour BibLaTeX.
|
||
|
||
Ce fichier `.bib` se place le plus souvent dans le même dossier que le document
|
||
`.tex` de travail, mais il est possible de le placer n'importe où et de
|
||
préciser le chemin où il se trouve.
|
||
|
||
<!-- références -->
|
||
|
||
[^0]: Voir le site <https://www.latex-project.org/get/>.
|
||
[^6]: Voir le site <https://tectonic-typesetting.github.io> ou
|
||
le site <https://yihui.org/tinytex/>.
|
||
|
||
### BibTeX VS BibLaTeX
|
||
|
||
BibTex est le logiciel historique pour la gestion des références et des
|
||
bibliographies dans un document `.tex`. Il est aussi le plus souvent mentionné
|
||
dans les exigences des éditeurs scientifiques. Pourtant, ce logiciel n'est plus
|
||
développé depuis de plusieurs décennies et n'offre pas facilement les
|
||
fonctionnalités auxquelles nous pouvons nous attendre actuellement.
|
||
|
||
Aussi Biber (et BibLaTeX) est fortement conseillé et c'est pourquoi il n'est
|
||
question que de cette option dans ce document. Il est plus récent et évolue
|
||
encore constamment. En ne chargeant que le paquet `biblatex`, il est possible
|
||
de définir le type d'appel de citation (notes en bas de page, numéro,
|
||
auteur-date, etc.) et différents style de bibliographies.
|
||
|
||
Débuter avec BibLaTeX n'empêche pas de passer à BibTeX ensuite, si nécessaire.
|
||
|
||
## Structure d'une référence dans un fichier `.bib`
|
||
|
||
Une référence dans un fichier `.bib` au format BibLaTeX ressemble à cela :
|
||
|
||
```bib
|
||
@book{sauvayreMethodesEntretienSciences2013,
|
||
location = {Paris},
|
||
title = {Les méthodes de l'entretien en sciences sociales},
|
||
isbn = {978-2-10-057970-9},
|
||
series = {Psycho sup. Psychologie sociale},
|
||
pagetotal = {138},
|
||
publisher = {Dunod},
|
||
author = {Sauvayre, Romy},
|
||
date = {2013},
|
||
keywords = {Enquêtes sociologiques, Entretiens, Sociologie},
|
||
}
|
||
```
|
||
|
||
La première ligne définit le type de document, sous la forme `@type` (`@book`,
|
||
`@article`, `@phdthesis`, etc.). Puis, après l'ouverture d'accolade, suit la
|
||
clé de citation (*Citekey*), c'est-à-dire l'identifiant unique de la référence
|
||
qui sera indiquée dans le document `.tex`, afin d'insérer une référence. \
|
||
Les lignes suivantes correspondent aux champs de la référence, sous la forme
|
||
`champ = {valeur}`, séparés par une virgule.
|
||
|
||
La documentation BibLaTeX détaille l'ensemble des types et des champs
|
||
[@lehmanBiblatexPackageProgrammable2023, p. 7]. Une *cheatsheet* les liste
|
||
également [voir @reesBibLaTeXBiberCheat2017].
|
||
|
||
Il est possible de créer et de mettre à jour un fichier `.bib` à la main, à
|
||
l'aide d'un éditeur de texte. Un grand nombre de bases de données, de sites de
|
||
revues ou de catalogues de bibliothèques permettent de télécharger une ou
|
||
plusieurs références dans un fichier `.bib`, mais le plus souvent dans la
|
||
structure BibTeX et non pas BibLaTeX.
|
||
|
||
Mais il est recommandé de déléguer la gestion du fichier `.bib` à un logiciel
|
||
de gestion de références bibliographiques, comme JabRef[^1] ou Zotero[^2].
|
||
L'intérêt de ces logiciels est d'éviter les erreurs et d'automatiser en partie
|
||
l'ajout de références dans sa base de données.
|
||
|
||
<!-- références -->
|
||
|
||
[^1]: Logiciel multiplatforme et libre, BibTeX et Biber natif. <https://www.jabref.org/>
|
||
[^2]: Logiciel multiplatforme et libre. <https://www.zotero.org/>
|
||
|
||
## Créer un fichier `.bib` via Zotero
|
||
|
||
Avec Zotero, il est possible de générer un fichier `.bib` :
|
||
|
||
- À partir d'une sélection de références.
|
||
- En sélectionnant une collection, une sous-collection ou la bibliothèque
|
||
entière.
|
||
|
||
Il suffit de :
|
||
|
||
- Sélectionner l'ensemble désiré.
|
||
- Faire un clic-droit et sélectionner *Exporter la collection / les documents*.
|
||
- Choisir le format BibTeX ou BibLaTeX.[^3]
|
||
|
||
Ce procédé très simple a néanmoins un inconvénient : le fichier créé est
|
||
statique. Il ne sera pas mis à jour automatiquement si la collection est
|
||
complétée, ou si les références sont corrigées dans Zotero. Il faudra générer à
|
||
nouveau et écraser le fichier `.bib` pour qu'il soit à jour.
|
||
|
||
[^3]: Il est également possible d'exporter une bibliothèque au format
|
||
BibTeX depuis d'autres logiciels bibliographiques, notamment
|
||
EndNote. Pour cela, dans ce dernier, il faut aller dans les options
|
||
de styles *Tools / Output Styles / Open Style Manager* et cocher le
|
||
style *BibTeX Export*. Une fois cela fait, il faut cliquer sur *File
|
||
Export*, sélectionner le style *BibTeX Export* et sauvegarder le
|
||
fichier au format `.bib`.
|
||
|
||
### L'extension *Better BibTeX for Zotero*
|
||
|
||
L'extension *Better BibTeX for Zotero* résout deux problèmes des fichiers
|
||
`.bib` générés par Zotero :
|
||
|
||
1. Elle permet d'exporter **un fichier `.bib` dynamique, c'est-à-dire que le
|
||
contenu de celui-ci sera mis à jour automatiquement lorsque la collection
|
||
correspondante dans Zotero sera modifiée**. Pour cela, il faut choisir le
|
||
format d'exportation *Better BibTeX* ou *Better BibLaTeX* et sélectionner
|
||
l'option *Garder à jour*. (Figure 1) \
|
||
1. Elle permet de **modifier une clé de citation (citekey) manuellement ou de
|
||
créer un format de citekey par défaut.**
|
||
|
||
![Fenêtre de dialogue de Better BibTex](../medias/better-bibtex-a-jour.png)
|
||
|
||
Pour installer l'extension (au format `.xpi`) *Better BibTeX* :
|
||
|
||
- Se rendre sur <https://github.com/retorquere/zotero-better-bibtex/releases/latest>.
|
||
- Télécharger le fichier `Zotero-better-bibtex-X.X.X.xpi`.
|
||
- Dans Zotero, choisir le menu *Outils / Extensions*. (Figure 2) \
|
||
- Cliquer sur la roue crantée en haut à droite et sélectionner *Install Add-on
|
||
from file*. (Figure 3) \
|
||
- Sélectionner le fichier téléchargé.
|
||
|
||
![Menu « outils » de Zotero](../medias/menu-outils.png)
|
||
|
||
![Installer un fichier `.xpi`](../medias/install-add-on.png)
|
||
|
||
### Autres fonctionnalités de Better BibTeX
|
||
|
||
*Better BibTeX* propose des fonctionnalités plus avancées :
|
||
|
||
- Création et gestion de clés uniques.
|
||
- Conversion des caractères UTF-8 et des éventuels balisages HTML
|
||
présents dans les références.
|
||
- Génération de champs supplémentaires absents de Zotero.
|
||
- Création de types de documents n'existant pas dans Zotero.
|
||
|
||
Ces fonctionnalités ne seront pas décrites en détail dans ce document.
|
||
Les informations supplémentaires à ce sujet sont disponibles sur le site
|
||
<https://retorque.re/zotero-better-BibTeX/>.
|
||
|
||
## Configurer la compilation
|
||
|
||
Pour générer le fichier PDF à partir des sources `.tex` et `.bib`, il est
|
||
nécessaire de configurer le système de composition que l'on va utiliser. Il
|
||
peut être appelé en ligne de commande dans une console ou, à l'inverse, pris en
|
||
charge presque entièrement par une plateforme comme Overleaf. Et entre les
|
||
deux, des éditeurs de texte dédiés à LaTeX offrent un certain nombre d'options
|
||
de compilation ou de composition.
|
||
|
||
L'exemple donné ci-dessous est adapté à l'exercice et à l'utilisation de
|
||
l'éditeur Texmaker, mais le principe est similaire dans les différents
|
||
environnement.
|
||
|
||
Dans Texmaker, la fonction pour lancer BibTeX ou Biber est la même. Il faut
|
||
donc lui préciser lequel on utilise :
|
||
|
||
1. Menu Options.
|
||
1. Configurer Texmaker.
|
||
1. Dans l'onglet *Commandes*, chercher l'entrée *Bib(la)tex* et entrer
|
||
`biber %`. (Figure 4) \
|
||
|
||
![Configuer Biber pour BibLaTeX dans Texmaker](../medias/texmaker-biber.png)
|
||
|
||
Lorsque l'on compile avec des références bibliographiques, il est nécessaire de
|
||
le faire quatre fois :
|
||
|
||
1. XeLaTeX.
|
||
1. Biber.
|
||
1. XeLaTeX.
|
||
1. XeLaTeX.
|
||
1. Afficher le PDF.
|
||
|
||
Heureusement Texmaker permet de configure une *Compilation rapide* qui lance
|
||
automatiquement ces quatre itérations :
|
||
|
||
1. Menu Options.
|
||
1. Configurer Texmaker.
|
||
1. Onglet *Compil rapide*.
|
||
1. Choisir la suite de commande à lancer.
|
||
|
||
Dans le cas de l'exercice présenté, une bonne solution est d'utiliser XeLaTeX.
|
||
Pour cela, il faut choisir l'option *Utilisateur* et utiliser l'assistant.
|
||
|
||
![Assistant de configuration de compil rapide](../medias/compil-rapide-assistant.png)
|
||
|
||
Puis, dans l'assistant, sélectionner les commandes à ajouter, une à une, dans
|
||
l'ordre.
|
||
|
||
![Ajout des commandes dans l'assistant](../medias/compil-rapide-liste.png)
|
||
|
||
Les services web comme Overleaf ou les outils comme `tectonic`[^5] prennent
|
||
eux-mêmes en charge ce genre de complexité.
|
||
|
||
[^5]: Voir <https://tectonic-typesetting.github.io>. L'intérêt de `tectonic`
|
||
est qu'il s'occupe de télécharger à la volée des logiciels nécessaires en
|
||
fonction de ce qui est indiqué dans le préambule, ce qui évite d'installer une
|
||
distribution de LaTeX volumineuse. À l'exception de Biber qui doit être
|
||
installé sur le système.
|