269 lines
11 KiB
XML
269 lines
11 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||
<!DOCTYPE html
|
||
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
||
"tuteurs://DTD/tml.dtd">
|
||
<html>
|
||
<head>
|
||
<title>Bibliographie</title>
|
||
</head>
|
||
<body>
|
||
|
||
<h1>Faire une bibliographie avec BibTeX</h1>
|
||
|
||
<h2>Pourquoi BibTeX ?</h2>
|
||
|
||
<p>Il peut sembler bizarre de devoir recourir à un programme externe pour
|
||
générer quelques lignes de texte à la fin d'un mémoire. Néanmoins
|
||
l'intérêt de BibTeX apparaitra très rapidement à l'utilisateur désireux
|
||
de construire sa bibliographie au fur et à mesure de la rédaction du
|
||
texte, tout en respectant les conventions, par exemple dans le cas d'une
|
||
thèse...</p>
|
||
|
||
<p>De plus, la plupart des bibliographies d'ouvrages scientifiques se
|
||
doivent d'être au format BibTeX, afin de ne pas voir à taper les entrées
|
||
bibliographiques, mais de pouvoir utiliser les bases de données
|
||
existantes.</p>
|
||
|
||
<p>
|
||
Enfin, BibTeX c'est la possibilité de changer l'ordre utilisé dans la
|
||
bibliographie (alphabétique, chronologique, thématique, ordre de
|
||
citation dans le texte) sans tout retaper. Il est également possible de
|
||
changer l'apparence (le titre en italique ou entre guillements ?),
|
||
l'ordre des éléments dans une référence (le prénom avant ou après le
|
||
nom ?, le titre avant ou après la revue ?), là encore sans grand effort.
|
||
</p>
|
||
|
||
<h2>Le principe</h2>
|
||
|
||
<p>BibTeX va chercher ses références dans une base de données que
|
||
l'utilisateur crée, de manière très simple, en attribuant une
|
||
« étiquette » à chaque référence, puis en remplissant un certain nombre
|
||
de champs (auteurs, titre, revue, année, éditeur, etc.). Cette base de
|
||
donnée est stockée sous forme de fichier texte, avec comme extension
|
||
<code>.bib</code>. Elle peut être commune à plusieurs documents LaTeX,
|
||
comme on le verra plus tard.</p>
|
||
|
||
<p>Lorsque l'utilisateur veut citer une référence dans le fichier LaTeX,
|
||
il appelle l'étiquette qui identifie cette référence dans le fichier
|
||
<code>.bib</code>, par la commande <code>\cite{}</code>. Lors de la
|
||
compilation du fichier par LaTeX, la liste des références demandées
|
||
s'inscrit alors dans le fichier <code>.aux</code> correspondant. On peut
|
||
alors lancer BibTeX, qui fera le lien entre les requêtes du document et
|
||
la base de données, en générant au passage un fichier <code>.bbl</code>,
|
||
qui sera, lui, spécifique au document LaTeX tel qu'on vient de le
|
||
compiler.</p>
|
||
|
||
<p>Enfin, une nouvelle compilation via LaTeX sera nécessaire pour
|
||
afficher correctement la bibliographie ainsi que les renvois du
|
||
texte.</p>
|
||
|
||
<h2>En pratique</h2>
|
||
|
||
<h3>Construire la base de données</h3>
|
||
|
||
<h4>Exemple</h4>
|
||
|
||
<p>Voici un extrait de base de données :</p>
|
||
|
||
<pre>
|
||
@article{Johnson,
|
||
author = {Edgar G. Johnson and Alfred O. Nier},
|
||
title = {Angular Aberrations in Sector Shaped
|
||
Electromagnetic Lenses for Focusing Beams of Charged Particles},
|
||
journal = {Physical Review},
|
||
volume = {91},
|
||
number = {1},
|
||
month = {jul},
|
||
year = {1953}
|
||
}
|
||
|
||
@phdthesis{Zoran,
|
||
author = {Zoran Racic},
|
||
title = {\'Etude et essais du spectromètre à plasma {DYMIO}
|
||
de la mission {MARS 96}},
|
||
publisher = {Université Pierre et Marie Curie},
|
||
year = {1996}
|
||
}
|
||
</pre>
|
||
|
||
<p>Toute entrée commence par un <code>@</code>, suivi par un descripteur
|
||
(imposé par le type de document <code>article</code>, <code>book</code>,
|
||
<code>inproceedings</code>, etc.). Entre
|
||
accolades, se trouve l'étiquette, puis les champs, composés d'un
|
||
sous-descripteur et de la valeur de celui ci, entre accolades. <em>Les
|
||
champs sont séparés par des virgules,</em> l'oubli de celles ci étant
|
||
vraisemblablement la source d'erreurs la plus courante !</p>
|
||
|
||
<p><em>A priori</em>, BibTeX s'occupe des majuscules, et n'hésite pas à en
|
||
supprimer si tel est son bon plaisir. Il y a moyen de lui faire savoir
|
||
qui c'est le chef, en enfermant les mots qu'on désire laisser en
|
||
majuscule entre accolades. Cependant, la meilleure solution est de ne
|
||
pas placer ces accolades et de modifier le style de bibliographie ou
|
||
d'en changer s'il ne vous convient pas. Les commandes TeX sont autorisées.</p>
|
||
|
||
<p>N'hésitez pas à fournir un maximum d'informations, BibTeX s'arrangera
|
||
pour tout faire rentrer (ou donnera des messages d'avertissement s'il en
|
||
manque...), et les champs inconnus seront ignorés si nécessaire.</p>
|
||
|
||
<p>Sauvegardez le fichier sous un nom se terminant par
|
||
<code>.bib</code></p>
|
||
|
||
<h4>Liste des types de document et des champs disponibles</h4>
|
||
|
||
<p>
|
||
La table suivante résume les types et les champs couramment connus.
|
||
</p>
|
||
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<td>
|
||
Types de documents
|
||
</td>
|
||
<td>
|
||
Champs
|
||
</td>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td><code>article</code></td> <td><code>address</code></td></tr>
|
||
<tr><td><code>book</code></td> <td><code>annote</code></td></tr>
|
||
<tr><td><code>booklet</code></td> <td><code>author</code></td></tr>
|
||
<tr><td><code>conference</code></td> <td><code>booktitle</code></td></tr>
|
||
<tr><td><code>inbook</code></td> <td><code>chapter</code></td></tr>
|
||
<tr><td><code>incollection</code></td> <td><code>crossref</code></td></tr>
|
||
<tr><td><code>inproceedings</code></td> <td><code>edition</code></td></tr>
|
||
<tr><td><code>manual</code></td> <td><code>editor</code></td></tr>
|
||
<tr><td><code>mastersthesis</code></td> <td><code>howpublished</code></td></tr>
|
||
<tr><td><code>misc</code></td> <td><code>institution</code></td></tr>
|
||
<tr><td><code>phdthesis</code></td> <td><code>journal</code></td></tr>
|
||
<tr><td><code>proceedings</code></td> <td><code>month</code></td></tr>
|
||
<tr><td><code>techreport</code></td> <td><code>note</code></td></tr>
|
||
<tr><td><code>unpublished</code></td> <td><code>number</code></td></tr>
|
||
<tr><td></td> <td><code>organization</code></td></tr>
|
||
<tr><td></td> <td><code>pages</code></td></tr>
|
||
<tr><td></td> <td><code>publisher</code></td></tr>
|
||
<tr><td></td> <td><code>school</code></td></tr>
|
||
<tr><td></td> <td><code>series</code></td></tr>
|
||
<tr><td></td> <td><code>title</code></td></tr>
|
||
<tr><td></td> <td><code>type</code></td></tr>
|
||
<tr><td></td> <td><code>volume</code></td></tr>
|
||
<tr><td></td> <td><code>year</code></td></tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<p>
|
||
<code>author</code> est le champ utilisé pour saisir la liste des
|
||
auteurs sous la forme <code><var>prénom</var> <var>nom</var></code> ou
|
||
<code><var>nom</var>, <var>prénom</var></code>.
|
||
</p>
|
||
|
||
<div class="attention">
|
||
Les auteurs doivent être séparés par <code>and</code> et surtout pas
|
||
une virgule.
|
||
</div>
|
||
|
||
<p>
|
||
Pour les articles (type <code>article</code>), les champs importants
|
||
sont <code>author</code>, <code>title</code>, <code>journal</code>,
|
||
<code>year</code>, <code>pages</code> (les champs <code>volume</code> et
|
||
<code>number</code> peuvent eux aussi servir). Pour les livres (type
|
||
<code>book</code>) on prendra garde à donner la maison d'édition à
|
||
l'aide du champ <code>publisher</code> et non <code>editor</code> (les
|
||
éditeurs d'un ouvrage collectif) ou <code>edition</code> (le numéro de
|
||
réédition). L'adresse de la maison d'édition est donnée par
|
||
<code>address</code>. Le type <code>misc</code> sert de fourre-tout
|
||
quand aucune catégorie ne semble correspondre à un document (un
|
||
manuscrit par exemple), tous les champs peuvent être utilisés, mais
|
||
pensez à ajouter soit <code>howpublished</code> soit une
|
||
<code>note</code> explicative. <code>inbook</code> et les autres types
|
||
dont le nom commence par <code>in</code> désignent des chapitres (le
|
||
numéro du chapitre sera précisé via le champ <code>chapter</code> et les
|
||
pages concernées par <code>pages</code>) ou des paragraphes dans un
|
||
livre (le titre pourra être précisé avec <code>booktitle</code>), etc.
|
||
Le champ <code>crossref</code> permet de faire référence audit livre
|
||
s'il est présent lui aussi dans la bibliographie. Les documents
|
||
académiques (<code>mastersthesis</code> et <code>phdthesis</code>)
|
||
pourront intégrer <code>school</code> ou <code>institution</code> pour
|
||
renseigner l'université.
|
||
</p>
|
||
|
||
<h3>Afficher la biblio dans le document LaTeX</h3>
|
||
|
||
<p>À l'emplacement prévu dans le fichier .tex, insérez les lignes :</p>
|
||
|
||
<pre>
|
||
\bibliographystyle{plain}
|
||
\bibliography{stlong}
|
||
</pre>
|
||
|
||
<p><code>\bibliographystyle</code> permet de choisir le style de
|
||
bibliographie.</p>
|
||
|
||
<p><code>\bibliography</code> permet d'indiquer quelle base de données
|
||
doit être utilisée. On indique le nom du fichier, sans l'extension
|
||
<code>.bib</code></p>
|
||
|
||
<h3>Créer une entrée « Bibliographie » dans la table des matières</h3>
|
||
|
||
<p>
|
||
Utilisez le package <code>tocbibind</code>, capable de créer des entrées
|
||
pour la bibliographie, l'index et aussi la table des matières (!), les
|
||
listes des figures et des tables. Ces trois derniers éléments
|
||
n'étant pas du meilleur effet, on lui pourra passer les options
|
||
<code>nottoc</code>, <code>notlof</code> et <code>notlot</code>.
|
||
</p>
|
||
|
||
<pre>
|
||
\usepackage[nottoc, notlof, notlot]{tocbibind}
|
||
</pre>
|
||
|
||
<h3>Citer une référence dans le texte</h3>
|
||
|
||
<p>LaTeX n'affiche pas toutes les références contenues dans la base de
|
||
données, seulement celles qui sont citées dans le texte. Par conséquent, il
|
||
est normal à ce stade de ne rien voir s'afficher... La commande à
|
||
utiliser pour citer une référence est tout simplement</p>
|
||
|
||
<pre>\cite{<var>label</var>}</pre>
|
||
|
||
<p class="continue">où <var>label</var> est l'étiquette attribuée lors de
|
||
la construction de la base de données dans le fichier <tt>.bib</tt>. Dans le style <code>plain</code>,
|
||
cette commande apparaît alors dans le fichier <code>.dvi</code> sous la
|
||
forme <code>[<var>X</var>]</code>, où <var>X</var> est le numéro utilisé dans la bibliographie,
|
||
ou un <b>???</b> si l'étiquette est erronée, ou qu'il manque une
|
||
compilation de LaTeX ou de BibTeX.</p>
|
||
|
||
<p>On peut néanmoins faire apparaître une référence dans la bibliographie
|
||
sans la citer explicitement dans le texte, à l'aide de la commande :</p>
|
||
|
||
<pre>\nocite{<var>label</var>}</pre>
|
||
|
||
<p>
|
||
Un cas particulier est <code>\nocite{*}</code> qui dit à BibTeX
|
||
d'inclure dans la bibliographie toutes les références, citées dans le
|
||
corps du texte ou non.
|
||
</p>
|
||
|
||
<h3>Compilation(s)</h3>
|
||
|
||
<p>Il ne reste plus qu'à compiler le tout :</p>
|
||
|
||
<pre>
|
||
latex <var>mon_fichier</var>.tex
|
||
bibtex <var>mon_fichier</var>
|
||
latex <var>mon_fichier</var>.tex
|
||
</pre>
|
||
|
||
<div class="attention">Ce n'est ni le fichier <code>.bib</code> ni
|
||
le fichier <code>.tex</code> qu'on indique à BibTeX, mais le fichier
|
||
<code>.aux</code> produit dans la première compilation du fichier
|
||
<code>.tex</code>. Cependant, comme l'indique la commande ci-dessus,
|
||
cela fonctionne quand même si on ne précise pas l'extension.</div>
|
||
|
||
|
||
<div class="metainformation"> Auteur : Frédéric Meynadier (2001, 2005).
|
||
Dernière modification le <date value="$Date: 2005-12-02 16:18:40 $" />
|
||
par Josselin Noirel </div>
|
||
|
||
</body> </html>
|