references - LaTeX: bibliografía por capítulo.
como ordenar la bibliografia en latex (2)
Ese es un FAQ:
Estoy ayudando a un colega con su tesis doctoral y debemos presentar la bibliografía al final de cada capítulo.
La pregunta es: ¿Alguien tiene un ejemplo mínimo de trabajo para este caso con latex + bibtex?
La estructura actual del documento que utilizamos es la siguiente:
main.tex
chap1.tex
chap2.tex
...
chapn.tex
biblio.bib
Donde main.tex
contiene paquetes, declaraciones de documentos, macros y /include
s para cada capítulo. biblio.bib
es el único archivo bibtex (creo que es más fácil tener todas las citas en un solo lugar).
Hemos buscado y probado diferentes paquetes de látex, leyendo y siguiendo su documentación. En concreto, bibitems y chapterbib.
bibitems genera con éxito archivos bu*.aux
, pero al ejecutar bibtex para cada uno de ellos, se produce un error porque no hay ningún elemento /bibdata
en el archivo .aux
.
chapterbib también genera un archivo .aux
, pero bibtex termina con un error causado por el uso de múltiples /bibliography{file}
en los archivos .tex
(uno por capítulo).
Algunos colaboradores sugirieron usar un archivo bibtex separado para cada capítulo, lo que podría ser un problema de mantenimiento en el futuro al citar las mismas publicaciones en diferentes capítulos.
Nos gustaría seguir teniendo esta estructura de documentos, si es posible. Entonces, si alguien puede arrojar algo de luz sobre este problema, lo apreciaremos.
Gracias.
Actualización: MWE encontrado Gracias a Habi por la ayuda, aquí hay un ejemplo práctico:
Con la estructura documental mencionada anteriormente:
% main.tex
/documentclass{report}
/usepackage{url}
/usepackage{natbib}
/usepackage{chapterbib}
/begin{document}
/include{chap1}
/include{chap2}
% other chapters ...
/end{document}
% chap1.tex
/chapter{one chapter}
text~/cite{paper1}
text~/cite{paper2}
% don''t forget:
/bibliographystyle{plainnat}
/bibliography{biblio}
% chap2.tex
/chapter{another chapter}
text~/cite{paper2, paper3}
% don''t forget, again:
/bibliographystyle{plainnat}
/bibliography{biblio}
% biblio.bib
@Article{paper1,
author = {John Smith},
title = {A title},
journal = {A Journal},
year = {2010}
}
@Article{paper2,
author = {John Doe},
title = {A paper},
journal = {Another journal},
year = {2009}
}
@Article{paper3,
author = {Yuppie Networking},
title = {My paper},
journal = {The best journal},
year = {2000}
}
Finalmente, para generar el documento:
#!/bin/bash
latex main.tex
for auxfile in chap*.aux
do
bibtex `basename $auxfile .aux`
done
latex main.tex
latex main.tex
Hace algún tiempo rápidamente he anotado algunas notas en chapterbib. te ayudan