LaTeX: bibliographie par chapitre
j'aide un collègue avec sa thèse de doctorat et nous avons besoin de présenter la bibliographie à la fin de chaque chapitre.
La question est: est-ce que quelqu'un a un exemple de travail minimal pour ce cas en utilisant latex+bibtex?
la structure actuelle des documents que nous utilisons est la suivante:
main.tex
chap1.tex
chap2.tex
...
chapn.tex
biblio.bib
Où main.tex
contient des paquets, des déclarations de documents, des macros et include
s pour chaque chapitre. biblio.bib
est le fichier bibtex (je pense qu'il est plus facile d'avoir toutes les citations en un seul endroit).
nous avons cherché et essayé avec différents paquets latex, en lisant et en suivant leur documentation. Plus précisément, bibitems et chapterbib.
bibitems génère avec succès bu*.aux
les fichiers, mais quand bibtex est lancé pour chacun d'eux, une erreur se produit car il n'y a pas de bibdata
dans l'élément .aux
fichier.
chapterbib génère aussi un .aux
fichier, mais bibtex se termine avec une erreur causée par l'utilisation de plusieurs bibliography{file}
dans le .tex
fichiers (un par chapitre).
certains collaborateurs ont suggéré d'utiliser un fichier bibtex séparé pour chaque chapitre, ce qui pourrait être un problème de maintenance à l'avenir en citant les mêmes publications dans des chapitres différents.
nous aimerions continuer d'avoir cette structure de document, si possible. Donc, si quelqu'un pouvait jeter un peu de lumière à ce problème, nous apprécierons il.
Merci.
mise à jour: MWE found Merci à Habi pour son aide, voici un exemple pratique:
Avec la structure du document mentionné ci-dessus:
% 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}
}
Enfin, pour générer le document:
#!/bin/bash
latex main.tex
for auxfile in chap*.aux
do
bibtex `basename $auxfile .aux`
done
latex main.tex
latex main.tex
2 réponses
il y a quelque temps, j'ai rapidement noté quelques notes sur le chapterbib. - ils vous aider?