2010-05-04 11 views
26

Ich helfe einem Kollegen bei seiner Doktorarbeit und wir müssen die Bibliographie am Ende jedes Kapitels präsentieren.LaTeX: Bibliographie nach Kapitel

Die Frage ist: hat jemand ein minimales Arbeitsbeispiel für diesen Fall mit Latex + Bibtex?

Die aktuelle Dokumentstruktur, die wir verwenden, ist die folgende:

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

Wo main.tex Pakete enthalten, Dokument Erklärungen, Makros und \include s für jedes Kapitel. biblio.bib ist die nur bibtex Datei (ich denke, es ist einfacher, alle Zitate an einem Ort zu haben).

Wir haben gesucht und versucht mit verschiedenen Latex-Pakete, Lesen und Befolgen ihrer Dokumentation. Insbesondere, bibitems und chapterbib.

bibitems erzeugt erfolgreich bu*.aux Dateien, aber wenn für jeden einzelnen von ihnen bibtex ausgeführt wird, tritt ein Fehler auf, da kein \bibdata Element in der Datei .aux ist.

chapterbib erzeugt auch eine .aux Datei, aber bibtex endet mit einem Fehler, verursacht durch mehrere \bibliography{file} in den .tex-Dateien (eine pro Kapitel) verwenden.

Einige Kollegen schlugen vor, für jedes Kapitel eine separate Bibtex-Datei zu verwenden, was in Zukunft zu einem Wartungsproblem führen könnte, wenn dieselben Veröffentlichungen in verschiedenen Kapiteln zitiert werden.

Wir möchten diese Dokumentstruktur, wenn möglich, weiterhin beibehalten. Also, wenn jemand etwas Licht auf dieses Problem werfen könnte, werden wir es zu schätzen wissen.

Danke.


Update: MWE gefunden Dank Habi für die Hilfe, hier ein funktionierendes Beispiel ist:

Mit der Dokumentstruktur oben erwähnt:

% 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} 
} 

Schließlich erzeugen die Dokument:

#!/bin/bash 
latex main.tex 
for auxfile in chap*.aux 
do 
    bibtex `basename $auxfile .aux` 
done 
latex main.tex 
latex main.tex 
+0

Wenn Sie ein funktionierendes Beispiel erstellen möchten, glaube ich, dieses Zeug in zu TeXnicCenter gebaut wird, ein Fenster IDE für TeX-Dokumente. –

+0

chapterbibs Problem könnte gelöst werden, indem man eine \ bibliography nur in main.tex einfügt, oder? –

+2

Ich würde schwören, dass wir das schon mal gemacht haben ... und nach * viel * Suche finde ich http://stackoverflow.com/questions/2503555/using-latex-how-can-i-have-a-list- Of-Referenzen-am-Ende-jedes-Abschnittes. Wütend.Keine Schande für das OP, dass man * das * Duplikat nicht gefunden hat. – dmckee

Antwort

11

vor einiger Zeit habe ich schnell ein paar Notizen auf chapterbib notiert. helfen sie dir?

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

+0

Ja, das hat mir geholfen, obwohl der bibtex Befehl nicht die '.aux' Erweiterung verwenden sollte. Ich werde die Frage aktualisieren, um den MWE bereitzustellen. – YuppieNetworking

+0

danke für den heads-up. Ich habe meine Notizen aktualisiert :) – Habi

+0

Dieser Link funktioniert nicht mehr – Addman

Verwandte Themen