Bibliografías múltiples con LaTeX: bibliografía tras cada capitulo con Flexbib

Para un trabajo grupal de un curso de LPIC1 que estoy realizando necesitaba insertar una bibliografía al finalizar cada capitulo, y no quería dejar de utilizar Flexbib para BibTeX por las virtudes que ya comenté en esta entrada. Entre otras cosas, Flexbib permite:

  • Un traducción de las partículas and, in, editors, etc. de acuerdo con el idioma seleccionado. Este es el punto más importante, puesto que podemos tener partículas «y», «en», «editores» para nuestro idioma.
  • Seleccionar un modelo de cita numérico o un modelo autor-año sin necesidad de hacer cambios en el argumento de bibliographystyle bibliografía
  • Cuando el número de autores es superior a dos puede elegirse si se utilizan todos los autores o sólo el primero seguido del grupo «y otros», o lo que corresponda según el idioma en el modelo de citas autor-año.
  • Es posible seleccionar el tipo de letra utilizado para los autores y los títulos
  • Las bases de datos añaden a los campos estándard nuevos campos como abstract, comment, url, isbn, mrnumber, translator que son gestionados por flexbib.

Para poder tener una bibliografía al finalizar cada capítulo, hacemos uso del paquete bibtopic. Lo primero que vamos a hacer es hacer una copia de los .bib necesarios y guardarlos también en otra ubicación, por si acaso. En nuestro ejemplo, vamos a tener dos capítulos y por tanto, dos .bib, uno llamado bibliodebian.bib y otro llamado biblioubuntu.bib. Ahora eliminamos todos los intentos de creación de varias bibliografías en nuestro directorio de trabajo:

  1. rm *.aux
  2. rm *.bbl
  3. rm *.blg

Añadimos bibtopic a la lista de paquetes a usar:
[Latex]
usepackage{bibtopic}
[/Latex]

Piponazo me informa que este paquete tiene dependencias del paquete texlive-bibtex-extra, yo lo tendría ya instalado, pero el que no lo tenga, debe hacerlo:

  1. sudo apt-get install texlive-bibtex-extra

En mi caso, yo estructuro cada capitulo con su chapter, section y subsection variados dentro de un include{fichero}. Antes de estos include vamos a definir el estilo de bibliografía a flexbib:

[Latex]
bibliographystyle{flexbib}
[/Latex]

Seguidamente, es donde viene lo importante, nuestro include{fichero} que contiene el cuerpo del primer capítulo, lo vamos a encerrar entre el siguiente código:

[latex]
begin{btSect}{bibliodebian} % Aquí es donde se le indica el primer fichero .bib
include{debian} % Aquí tenemos nuestro primer contenido con chapter, section, subsection y demás
btPrintAll % Aquí le estamos diciendo que imprima todas las entradas de bibliodebian.bib, aunque no estén citadas
end{btSect} % Fin del código que engloba la primera bibliografía
[/latex]

Y análogamente, para el segundo capítulo:

[Latex]
begin{btSect}{biblioubuntu} % Aquí es donde se le indica el segundo fichero .bib
include{ubuntu} % Aquí tenemos nuestro segundo contenido con chapter, section, subsection y demás
btPrintAll % Aquí le estamos diciendo que imprima todas las entradas de biblioubuntu.bib, aunque no estén citadas
end{btSect} % Fin del código que engloba la segunda bibliografía
[/Latex]

En lugar de que se imprima en cada bibliografía de cada capítulo todas las entradas del .bib asociado, podemos desear que se impriman sólo las que han sido citadas. En este caso en lugar de btPrintAll utilizaremos el comando btPrintCited.

El siguiente paso es compilar con PDFLaTeX el código del documento. Si usamos una GUI como Kile, se nos informará de lo siguiente:

«Package bibtopic Warning: Please (re)run BibTeX on the file(s):

(bibtopic) principal1
(bibtopic) principal2
(bibtopic) and after that rerun LaTeX.»

Para hacer lo que se nos pide, nos movemos al directorio de trabajo y escribimos en una consola:

  1. bibtex principal1
  2. bibtex principal2

Una vez hecho esto, recompilamos con PDFLaTeX y ahora sí, cada uno de los dos capítulos tendrá al final su bibliografía.

Enlace: Airminded

A 1 persona le gusta esta entrada

5 pensamientos en “Bibliografías múltiples con LaTeX: bibliografía tras cada capitulo con Flexbib

  1. Me viene de perlas para el documento que estoy haciendo para la obtención del DEA :D. Solo una cosita que se te ha olvidado comentar. Para poder usar el paquete que indicas hay que instalar el paquete texlive-bibtex-extra en Ubuntu/Debian.

  2. Gracias por la referencia, solo que bibtopic no anda bien usando lyx, problemas al hacer biblio multipartes. No se si haz usado biblatex, si lo haz usado, te pederia una ayuda en bibliografia multipartes.

  3. Lo siento, he usado Flexbib para BibTex porque entiendo que es el mejor que hay en castellano. Y haciéndolo de la forma que indico en el post, no he tenido ningún problema. Lyx no está mal, pero no es mi tipo de herramienta 😛

  4. Me has ayudado mucho con esta explicación pero tengo una pregunta.

    Imagina esta situación: Quiero que uno de mis «include» tenga su propia bibliografía así que lo rodeo del código como tú has explicado.
    Pero también quiero tener una bibliografía global al documento.
    Si hago esto no funciona:

    \begin{btSect}{biblio_android}
    \include{cap3}
    \section{References from Android’s books}
    \btPrintCited
    \end{btSect}

    \def\bibname{Referencias}
    \bibliography{biblio}

    ¿No son compatibles los comandos btSect y bibliography?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *