11 de julio de 2014

LaTeX - Generar la bibliografía en español con BibTeX

BibTeX es una herramienta para generar la bibliografía en LaTeX automáticamente, muy útil cuando tienes un gran número de referencias bibliográficas o de uso muy frecuente. Recomiendo usar JabRef para gestionar tus listas bibliográficas ya que es gratuito y multiplataforma.

Traducir la bibliografía al español

Flexbib es un sistema que consta de un paquete para LaTeX (flexbib.sty) y un archivo de estilo para BibTeX (flexbib.bst) con el que se puede traducir al idioma español ciertas partículas que aparecen en las listas bibliográficas (and, and others, in, edition, etc.).
Más información en :
http://www.latex.um.es/retazos/leccion_15/flexbib.html

Descarga e instalación

La web del autor para descargar el paquete y estilo de bibliografía flexbib es:
http://www.latex.um.es/retazos/leccion_15/soft.html
En el enlace anterior también se explica como hacer la instalación, la forma sencilla es copiar los archivos spanishbst.tex, flexbib.sty y flexbib.bst en la misma carpeta del archivo .tex que vas a compilar.

Cambio de comillas españolas por inglesas

Las comillas latinas « » que flexbib introduce son las correctas en español, según la Real Academia de la Lengua. Pero los que vivimos en latinoamérica, particularmente en México, utilizamos las de origen anglosajón “ ”.
El comando que controla el formato de las comillas se llama \enquote, como se indica en la documentación de flexbib. Modificar el comportamiento es simplemente redefinir el comando \enquote; mediante, por ejemplo: \renewcommand{\enquote}[1]{``#1''}

Ejemplo

El código:
\documentclass[12pt]{report}
\usepackage[spanish]{babel}
\usepackage[plain]{flexbib}
\begin{document}
\section*{Las citas en el texto}
...\cite{conejo2011} ...\cite{galindo2009}
\bibliography{bibliografia}
\bibliographystyle{flexbib}
\end{document}
produce:
Página 1
Página 2
Note que modifiqué flexbib para cambiar las comillas españolas « » por anglosajonas “ ”. Descarga el ejemplo aquí.


Visualiza el ejemplo online en writeLaTeX.