\compare{bibtex-vs-biber}

BibTeX frente a Biber

Ambos son procesadores de bibliografía para LaTeX, pero toman decisiones de diseño fundamentalmente distintas. Esta guía cubre la compatibilidad con Unicode, la ordenación, el rendimiento y cuándo conviene cada backend.

BibTeX— clásico, rápidoBiber— Unicode, moderno
Use BibTeX cuando…
  • Una plantilla de revista o editorial lo exige
  • Usa el estilo de cita de natbib
  • Su bibliografía contiene solo texto ASCII
  • La máxima velocidad de compilación es una prioridad
Use Biber cuando…
  • Los nombres de autor contienen caracteres que no son ASCII
  • Empieza un proyecto nuevo (opción predeterminada recomendada)
  • Necesita una ordenación alfabética que tenga en cuenta la configuración regional
  • Desea campos extendidos: doi, url, langid, eprint

\section{Qué hace cada herramienta}

La función de un procesador de bibliografía

Ni BibTeX ni Biber son paquetes de LaTeX: son programas externos que se invocan entre las pasadas de compilación de LaTeX. Leen su base de datos .bib, resuelven las citas, ordenan las entradas y escriben un archivo .bbl con formato que LaTeX lee en la siguiente pasada.

BibTeX

bibtex main

Escrito por Oren Patashnik y publicado en 1985 junto con LaTeX 2.09, BibTeX es el procesador de bibliografía original. Usa archivos de estilo .bst escritos en un lenguaje basado en pilas para controlar el formato de salida.

  • Entrada solo ASCII por diseño
  • Muy rápido con bases de datos de cualquier tamaño
  • Lo exigen natbib y la mayoría de los estilos de revistas
  • .bst styles are notoriously hard to write

Biber

biber main

Escrito en Perl por Philip Kime y publicado en 2009, Biber es el backend recomendado para el paquete biblatex. Usa un Algoritmo de Ordenación Unicode (UCA) basado en Perl y admite UTF-8 de forma nativa en todo el pipeline de procesamiento.

  • Compatibilidad total con UTF-8, sin necesidad de escapes
  • Ordenación con el Algoritmo de Ordenación Unicode
  • Campos extendidos: doi, url, langid, eprint
  • Herencia completa de campos de referencia cruzada

\subsection{Matriz de características}

Comparación lado a lado

Característica
BibTeX
Biber
Entrada Unicode
Solo ASCII (escape manual)
UTF-8 nativo
Algoritmo de ordenación
Orden de bytes ASCII
Algoritmo de Ordenación Unicode
Rendimiento
Muy rápido
Más lento con bases de datos grandes
Funciona con
natbib, estilos plain
solo biblatex
Campos extendidos
Ignorados o con errores
doi, url, langid, eprint…
Cross-references
Básica
Herencia completa de campos
Internacionalización
Escape manual en LaTeX
Compatibilidad nativa con la configuración regional
Plantillas de revistas
La mayoría requiere BibTeX
Proyectos nuevos, plantillas propias

\begin{examples}

Comparación de archivos .bib

La misma entrada de base de datos en BibTeX clásico frente a BibLaTeX + Biber. Observe cómo Biber admite UTF-8 directamente y campos adicionales.

BibTeX
% 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 + Biber
% 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},
}

Compatibilidad con Unicode

BibTeX

BibTeX procesa los archivos fuente como ASCII de 8 bits. Los autores con nombres acentuados (Müller, Björk, Nguyen) deben escribirse como M\"uller, Bj\"ork, etc. Olvidar un carácter de escape provoca una salida distorsionada o un error de bibtex.

Biber

Biber lee los archivos .bib como UTF-8. Usted escribe Müller, Björk, Nguyễn directamente. Sin escapes. Los editores y las herramientas de control de versiones manejan los archivos de forma natural.

Ordenación

BibTeX

BibTeX ordena las entradas usando valores de bytes ASCII sin procesar. Esto significa que las mayúsculas se ordenan antes que las minúsculas y que los caracteres acentuados (ä, ö, ü) quedan después de la Z, no en su posición alfabética natural. En bibliografías solo en inglés la diferencia es invisible; en trabajos multilingües puede producir un orden incorrecto.

Biber

Biber implementa el Algoritmo de Ordenación Unicode (UCA) y tiene en cuenta la configuración regional. Ä se ordena con A, Ö con O, y puede especificar sortlocale=de_DE para las reglas del alemán, sv_SE para el sueco, y así sucesivamente.

\subsection{Guía de migración}

Migrar de BibTeX a Biber

El formato del archivo .bib sigue siendo el mismo: los cambios están en su preámbulo de LaTeX y en los comandos de cita.

Migración del preámbulo
% 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
Eliminar
\bibliographystyle{plain}

biblatex controla el estilo de cita mediante sus propias opciones: no se necesita bibliographystyle

Eliminar
\bibliography{refs}

This call at the end of your document is replaced by \printbibliography

Añadir
\usepackage[backend=biber, style=authoryear]{biblatex}

Declare biblatex en el preámbulo; backend=biber selecciona Biber como procesador

Añadir
\addbibresource{refs.bib}

Replaces \bibliography{}; note the .bib extension is required here

Reemplazar
\cite{key} → \parencite{key}

biblatex uses \parencite (parenthetical) and \textcite (inline) by convention

Añadir
\printbibliography

Colóquelo al final del documento, donde desee que se imprima la lista de referencias

BibTeX y Biber, ambos compatibles

Compile con bibliografía en segundos

FormaTeX ejecuta la compilación de varias pasadas de forma automática: pdflatex → biber → pdflatex. No requiere instalación local de TeX.