Bibliografías en LaTeX

Como en todo, no hay una única manera de hacerlo. Normalmente si se trata de una bibliografía corta y no estamos interesados en reutilizar los datos bibliográficos la elección habitual es escribirla “a mano” mediante el comando \thebibliography. Para utilizar datos bibliográficos reutilizables, largos o complejos es preferible emplear la utilidad BibTeX.

El manejo de la bibliografía es semejante al de las referencias, de lo cual ya hemos hablado. En ambos casos, cada registro bibliográfico tiene una etiqueta. Cuando, en una determinada posición del texto, queremos hacer referencia a un registro, hacemos uso del comando \cite{etiqueta}. LaTeX ya se encarga de colocar el número o referencia que corresponde a esa entrada y, en el apartado de bibliografía, coloca los datos de la entrada. En caso de que queramos escribir los datos pero no queremos poner una referencia en el texto, utilizamos \nocite{etiqueta}.

El entorno \thebibliography

\begin{thebibliography}{n}
\bibitem{etiqueta}datos

\end{thebibliography}

donde etiqueta es la etiqueta que identifica la entrada y datos son los datos de la entrada. Por ejemplo:

\begin{thebibliography}{9}
\bibitem{Knuth}D. E. Knuth, “The TeXbook”, Addison–Wesley, 1984
\end{thebibliography}

BibTeX

BibTeX es un entorno más complejo para tratar bibliografía, pero es extremadamente útil y fácil de usar. Además, permite reutilizar los ficheros de bibliografía que escribamos para otros
proyectos.

En primer lugar, generamos un fichero al que pondremos un nombre con extensión .bib; por ejemplo mibiblio.bib. En nuestro caso podría contener lo siguiente:
@book{Knuth,
author=”Donald E. Knuth”,
title=”The {T}e{X}book”,
publisher=”Addison–Wesley”,
year=1984,
}

El campo @book nos indica qué tipo de registro es. Hay muchos: para libros, artículos, tesis, manuales, etc. Consulta la documentación de BibTeX para conocerlos. Knuth es la etiqueta que identifica el registro que luego citaremos con \cite. El resto del archivo está claro qué es. Puede sorprender el uso de {} en el título. Esto se debe a que BibTeX maneja automáticamente las mayúsculas y minúsculas: el la forma de indicarle que no debe modificar lo que va dentro, pues de lo contrario lo pondrá en letras minúsculas..

En el documento en el que queremos poner la bibliografía debemos incluir las siguientes líneas:
\bibliographystyle{estilo}
\bibliography{mibiblio.bib}


Donde estilo es el tipo de estilo que queremos para nuestra bibliografía. Hay varios estilos predefinidos (consulta el manual) y puedes crear los tuyos propios. Yo suelo utilizar el estilo plain que ordena las entradas alfabéticamente y las referencias son numéricas. en cuanto al comando \bibliography{mibiblio.bib} debemos colocarlo allí donde queramos insertar la bibliografía.

Vale ¿y ahora? Pues hay que compilar el documento: latex documento. Pero no sale la bibliografía. ¿Por qué? Porque en esta primera pasada LaTeX ha ido recogiendo las citas bibliográficas (los \cite y \nocite que has puesto) y los ha puesto en un fichero auxiliar. Ahora debes ejecutar bibtex documento (¡ojo! no bibtex mibiblio). Ahora BibTeX lee el fichero auxiliar y coge las entradas del fichero bibliográfico y genera ya el índice bibliográfico con las entradas utilizadas. Si ahora ejecutas de nuevo latex documento LaTeX se encontrará el índice bibligráfico ya generado y lo inserta donde toca. Esta secuencia de comandos solo debe ser repetida cada vez que cambies la bibliografía.

Fuente: SalvaDigital.

Anuncios

~ por inforlandia en julio 24, 2008.

7 comentarios to “Bibliografías en LaTeX”

  1. Hola, enhorabuena por la página, tiene cosas muy útiles. Tengo una pregunta sobre la “equivalencia” entre los editores de Windows y Linux. Hice parte del proyecto con Kile y ahora tengo que reabrirlo para completarlo, el problema es que ya no tengo Linux y no me veo capaz de instalarlo en mi pc. Me he descargado el MiKTeX y claro, no compila algo escrito en Kile con lo que no puedo recuperar el archivo. Existe algún editor equivalente al Kile en Windows??
    No sé muy bien si lo he dicho bien, apenas sé de informática con lo que no me extrañaría que esto sonara a burrada
    gracias!!

  2. Hola, gracias por lo de la página… aunque me falta tiempo intento añadir cosillas cada vez que puedo.

    Bueno, pues, realmente, cada vez que creo un pdf con latex desde linux no suelo cambiar. Aunque es verdad que cuando cambias a Windows, por ejemplo, aparecen caracteres extraños y por eso no compila. Esos símbolos extraños corresponden a caracteres especiales (á, é, ñ, …) y aparecen debido a que la codificación de ficheros en Windows y Linux es distinta. Lo que yo he visto hacer es recorrer todo el documento y cambiarlos por su caracter verdadero, aunque la verdad es que puede ser una paliza si el documento es muy grande. Sino, se me ocurre que mires si para, por ejemplo, la “á” siempre se sustituye por el mismo caracter. Si es así sólo tendrás que hacer un Buscar -> reeplazar todos, y listo, no?

    Espero te haya servido de ayuda…

  3. Yo he encontrado que los editores de latex para Windows (latexeditor y texniccenter) no le llegan ni a los tobillos a Kile. Especialmente en el soporte para español. Eso dicho, no importa con qué hayas hecho tu archivo original, al final es sólo un simple archivo de texto con extensión de archivo .tex en teoría, puedes editarlo en un editor de texto cualquiera (como el bloc de notas y no un procesador de textos como Word) y debería compilar bien. Notepad++ es un buen editor de textos que resalta la sintaxis de latex muy bien (por supuesto, no te autocompleta los comandos de latex, esos los tienes que conseguir por otro lado).

    En cuanto a la codificación, es cierto, si lo hiciste en linux, probablemente está en UTF-8 y si lo hiciste en Windows es ISO 8859-1. No te preocupes, no tienes que ir por todo el texto reemplazando cosas. Hay dos opciones.

    1. Si no tienes que cambiar nada en el texto y sólo deseas compilarlo de nuevo. Es decir que no hay conflicto entre codificaciones anterior y actual (porque no estás escribiendo nada nuevo) sólo tienes que cambiar la codificación con que latex procesa tu documento, agregando esta línea a tu preambulo:

    \usepackage[utf8]{inputenc} % Si fue hecho en Linux

    o

    \usepackage[ansinew]{inputenc} % Si fue hecho en Windows

    2. Si tienes que cambiar el texto, lo más fácil es ir a Notepad++ (en windows) o a Kile (en Linux) y abrir tu archivo. Luego crear un nuevo documento de texto (.tex) y en codificación (o encoding) seleccionar por el que lo quieres cambiar. En tu caso, vas a tener el original que abriste en utf-8 y el nuevo lo cambias por ISO 8859-1. Después vas al original y copias todo el texto, luego vas al nuevo y lo pegas. Voilá, cambiaste el texto de codificación y no te tuviste que preocupar de cambiar ninguna tilde. Ahora sólo graba tu nuevo documento y borra el anterior.

    Aunque soy linuxero de corazón, ya le cambié la codificación de Kile a ISO 8859-1 para que sea compatible con Windows, en el penoso caso que tenga que cambiarme. Buen blog, saludos.

  4. Una excelente herramienta para crear el archivo .bib es Kbib. Lo dificil acerca de BibTeX es recordar qué poner para cada tipo de entrada. Kbib te la simplifica poniéndote todo en botones y menús más amigables, sin embargo, tu archivo .bib está al fácil alcance y lo puedes analizar, incluso desde Kbib. Además, si tienes Kile abierto al mismo tiempo, al presionar el botón “citar” te pone en donde esté el cursor en Kile el codigo correspondiente a la entrada seleccionada en Kbib.

    Yo no sé en donde estás cómo es, pero aquí se ha vuelto muy popular el uso de las normas bibliográficas APA. Encontré un muy buen paquete que se encarga de eso, y además es traducible al español. Solo debes poner este archivo:

    http://web.reed.edu/cis/Help/LaTeX/images/apa-good.bst.zip

    que viene de este sitio:

    http://web.reed.edu/cis/Help/LaTeX/bibtexstyles.html

    en el directorio donde está tu documento en .tex Hay que asegurarse que uno tiene instalado el paquete natbib de CTAN agregar al preambulo:

    \usepackage{natbib}

    y al final del documento

    \bibliographystyle{apa-good}
    \bibliography{tuarchivoBibTeX} % No es necesario “.bib”

    Por último, abre los comentarios del archivo apa-good, para ver como hacer las citas en texto de varios tipos: nombre y año entre paréntesis, sólo nombre de un autor y et. al. para el resto, nombre de todos los autores explícitamente y un montón de combinaciones. Ah sí, el archivo apa-good hay que editarlo para que esté en español. Para estar seguro de que todo sale bien, en los acentos no ponerlos del teclado sino con el código latex, como á = \'{a} é = \'{e} etc. Lo mismo va para el archivo .bib se ahorra uno dolores de cabeza y se puede usar el archivo en todos lados.

    un ejemplo de cita en texto sería \citet{knuth08}

    Vale la pena.

  5. Buenas, en primer lugar quiero felicitarte y darte las gracias por tu blog. A ver te explico, estoy trabajando con kile y con kbibtex. Como verás soy español, y tengo serios problemas para que la bibliografia salga en español, por ejemplo edicion en vez de edition. En windows no tenia problema copiaba el archivo aplain.bst del paquete babel spanish o algo asi compilaba y ya sta. Pero aquí no se como hacer que busque ese archivo porque pongo aplain y me sale error, incluso he llegado a copiar el archivo en la misma carpeta pero nada. En kbibtex hay una opcion q tengo seleccionada q es español—plain pq no tiene aplain. SAbes como conseguir que salga en español! muchas gracias

  6. Gracias por tu informaci´on, me ha servido de ayuda para aprender sobre la bibliografia en latex.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s

 
A %d blogueros les gusta esto: