web-dev-qa-db-fra.com

LaTeX: bibliographie par chapitre

J'aide un collègue dans sa thèse de doctorat et nous devons présenter la bibliographie à la fin de chaque chapitre.

La question est: Quelqu'un at-il un exemple de travail minimal pour ce cas en utilisant latex + bibtex?

La structure de document actuelle que nous utilisons est la suivante:

main.tex
chap1.tex
chap2.tex
...
chapn.tex
biblio.bib

main.tex contient des packages, des déclarations de documents, des macros et \includes pour chaque chapitre. biblio.bib est le fichier bibtex seulement (je pense qu'il est plus facile d'avoir toutes les citations au même endroit).

Nous avons cherché et essayé avec différents packages latex, lisant et suivant leur documentation. Plus précisément, bibitems et chapterbib.

bibitems a réussi à générer bu*.aux fichiers, mais lors de l'exécution de bibtex pour chacun d'eux, une erreur se produit car il n'y a pas de \bibdata élément dans le .aux fichier.

chapterbib génère également un .aux fichier, mais bibtex se termine par une erreur provoquée par l'utilisation de plusieurs \bibliography{file} dans le .tex fichiers (un par chapitre).

Certains collègues ont suggéré d'utiliser un fichier bibtex distinct pour chaque chapitre, ce qui pourrait être un problème de maintenance à l'avenir en citant les mêmes publications dans différents chapitres.

Nous aimerions continuer à avoir cette structure de document, si possible. Donc, si quelqu'un peut faire la lumière sur ce problème, nous l'apprécierons.

Merci.


Mise à jour: MWE trouvé Merci à Habi pour l'aide, voici un exemple de travail:

Avec la structure du document mentionnée 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
29

il y a quelque temps, j'ai rapidement noté quelques notes sur Chapterbib. vous aident-ils?

http://wiki.davidhaberthuer.ch/latex#chapterbib

11
Habi

Celui-ci est un TeX FAQ item :

Une bibliographie distincte pour chaque "chapitre" d'un document peut être fournie avec le paquet chapterbib (qui vient avec un tas d'autres bonnes choses bibliographiques). Le package vous permet une bibliographie différente pour chaque \included fichier (c'est-à-dire que, malgré le nom du package, la disponibilité des bibliographies est liée aux fichiers source des composants du document plutôt qu'aux chapitres qui structurent logiquement le document). [...]

2
Kilian Foth