\compare{bibtex-vs-biber}
BibTeX ou Biber
Ce sont deux processeurs de bibliographie pour LaTeX, mais leurs compromis sont fondamentalement différents. Ce guide couvre la prise en charge de l'Unicode, le tri, les performances et le moment où chaque backend est le bon choix.
- Un modèle de revue ou d'éditeur l'exige
- Vous utilisez le style de citation natbib
- Votre bibliographie ne contient que du texte ASCII
- La vitesse de compilation maximale est une priorité
- Les noms d'auteurs contiennent des caractères non ASCII
- Vous démarrez un nouveau projet (choix par défaut recommandé)
- Vous avez besoin d'un tri alphabétique tenant compte de la locale
- Vous voulez des champs étendus : doi, url, langid, eprint
\section{Ce que fait chaque outil}
Le rôle d'un processeur de bibliographie
Ni BibTeX ni Biber ne sont des paquets LaTeX : ce sont des programmes externes invoqués entre les passes de compilation LaTeX. Ils lisent votre base .bib, résolvent les citations, trient les entrées et écrivent un fichier .bbl formaté que LaTeX lit à la passe suivante.
BibTeX
bibtex main
Écrit par Oren Patashnik et publié en 1985 avec LaTeX 2.09, BibTeX est le processeur de bibliographie d'origine. Il utilise des fichiers de style .bst écrits dans un langage à pile pour contrôler la mise en forme de la sortie.
- Entrée ASCII uniquement par conception
- Très rapide, quelle que soit la taille de la base
- Exigé par natbib et la plupart des styles de revues
- .bst styles are notoriously hard to write
Biber
biber main
Écrit en Perl par Philip Kime et publié en 2009, Biber est le backend recommandé pour le paquet biblatex. Il utilise un algorithme de classement Unicode (UCA) en Perl pour le tri et prend en charge l'UTF-8 nativement sur toute la chaîne de traitement.
- Prise en charge complète de l'UTF-8, aucun échappement nécessaire
- Tri selon l'algorithme de classement Unicode
- Champs étendus : doi, url, langid, eprint
- Héritage complet des champs de références croisées
\subsection{Matrice des fonctionnalités}
Comparaison côte à côte
\begin{examples}
Comparaison de fichiers .bib
La même entrée de base de données en BibTeX classique et en BibLaTeX + Biber. Notez comment Biber prend en charge l'UTF-8 directement ainsi que des champs supplémentaires.
% Classic BibTeX .bib — special characters need manual escaping
@article{einstein1905,
author = {Einstein, Albert},
title = {Zur Elektrodynamik bewegter {K\"orper}},
journal = {Annalen der Physik},
year = {1905},
volume = {17},
pages = {891--921},
}
@book{knuth1986,
author = {Knuth, Donald E.},
title = {The {\TeX}book},
publisher = {Addison-Wesley},
year = {1986},
isbn = {0-201-13447-0},
}% BibLaTeX .bib — Biber handles UTF-8 natively, no escaping needed
@article{einstein1905,
author = {Einstein, Albert},
title = {Zur Elektrodynamik bewegter Körper},
journal = {Annalen der Physik},
year = {1905},
volume = {17},
pages = {891--921},
doi = {10.1002/andp.19053221004},
langid = {german},
}
@book{knuth1986,
author = {Knuth, Donald E.},
title = {The {\TeX}book},
publisher = {Addison-Wesley},
year = {1986},
location = {Reading, MA},
isbn = {0-201-13447-0},
}Prise en charge de l'Unicode
BibTeX
BibTeX traite les fichiers source en ASCII 8 bits. Les auteurs dont le nom comporte des accents (Müller, Björk, Nguyen) doivent être écrits M\"uller, Bj\"ork, etc. Oublier un caractère d'échappement provoque une sortie corrompue ou une erreur bibtex.
Biber
Biber lit les fichiers .bib en UTF-8. Vous écrivez directement Müller, Björk, Nguyễn. Aucun échappement. Les éditeurs et les outils de contrôle de version gèrent naturellement ces fichiers.
Tri
BibTeX
BibTeX trie les entrées selon les valeurs d'octets ASCII brutes. Les majuscules sont donc triées avant les minuscules, et les caractères accentués (ä, ö, ü) après Z, et non à leur place alphabétique naturelle. Pour des bibliographies uniquement en anglais, la différence est invisible ; pour un travail multilingue, elle peut produire un mauvais ordre.
Biber
Biber implémente l'algorithme de classement Unicode (UCA) et tient compte de la locale. Ä est classé avec A, Ö avec O, et vous pouvez indiquer sortlocale=de_DE pour les règles allemandes, sv_SE pour le suédois, etc.
\subsection{Guide de migration}
Migrer de BibTeX vers Biber
Le format de fichier .bib reste le même : les changements concernent votre préambule LaTeX et les commandes de citation.
% Switching bibliography backend: BibTeX → Biber + BibLaTeX
% REMOVE these (BibTeX-style):
% \bibliographystyle{plain} ← remove from preamble
% \bibliography{refs} ← remove from document body
% ADD this to the preamble:
\usepackage[
backend=biber, % use Biber processor (not bibtex)
style=authoryear, % citation style: authoryear, numeric, alphabetic…
sorting=nyt, % sort by: name, year, title
urldate=iso, % ISO 8601 dates for URL fields
]{biblatex}
\addbibresource{refs.bib} % replaces \bibliography{}
% Then in the document body:
% \parencite{einstein1905} → (Einstein, 1905)
% \textcite{knuth1986} → Knuth (1986)
% \printbibliography → full reference list
% Compile order:
% pdflatex main.tex → biber main → pdflatex main.tex → pdflatex main.tex\bibliographystyle{plain}biblatex contrôle le style de citation via ses propres options : bibliographystyle n'est pas nécessaire
\bibliography{refs}This call at the end of your document is replaced by \printbibliography
\usepackage[backend=biber, style=authoryear]{biblatex}Déclarez biblatex dans le préambule ; backend=biber sélectionne Biber comme processeur
\addbibresource{refs.bib}Replaces \bibliography{}; note the .bib extension is required here
\cite{key} → \parencite{key}biblatex uses \parencite (parenthetical) and \textcite (inline) by convention
\printbibliographyÀ placer à la fin du document, à l'endroit où vous voulez imprimer la liste des références
Compilez avec la bibliographie en quelques secondes
FormaTeX exécute automatiquement la compilation multipasse : pdflatex → biber → pdflatex. Aucune installation TeX locale requise.

