Literaturverzeichnis mit Natbib
Posted by quark007 | Posted in Fehler, LaTeX | Posted on 01-08-2013-05-2008
0
Im Zuge meiner Diplomarbeit war es nötig ein Literaturverzeichnis anzulegen, mit allen zitierten Stellen sowie Quellen für Abbildungen oder Literaturwerten. Zunächst habe ich versucht das ganze mit dem LaTeX-eigenen bibtex zu erledigen, was mich jedoch schnell an die Grenzen gebracht hat. Vorallem die möglichen Zitierstile haben den Wechsel auf ein anderes Paket notwendig gemacht. Für Naturwissenschaftler hat sich natbib als Alternative als sehr umfangreich und passend erwiesen. Eingebunden wird das Paket wie jedes andere auch mit
\usepackage[OPTIONEN]{natbib}
Die möglichen Optionen sind folgende (auch gut nachzulesen hier):
- round (standard) runde Klammern um Zitat-
- square für eckige Klammern
- curly für geschwungene Klammern
- angle für spitze Klammern
- semicolon (standard) Separator mehrerer Referenzen ist ein Semicolon
- colon das selbe wie semicolon, lediglich ältere Version der Option
- comma für Komma als Separator
- authoryear (standard) für „Autor [Jahr]“-Zitatstil
- numbers für numerische Zitate
- super für beschreibende Zitierung, wie in der Zeitschrift Nature
- sort sortiert Mehrfach-Zitate in der Reihenfolge der Referenzierung im Text auch im Literaturverzeichnis (3, 4, 5, 6, 15)
- sort&compress wie sort jedoch werden die Mehrachzitate versucht zu komprimieren wie z.B. (3-6, 15)
- compress es wird versucht zu komprimieren, ohne die Reihenfolge im Literaturverzeichnis / Bibliothek zu verändern
- longnamesfirst beim ersten Referenzieren jedes Zitates werden alle Autoren ausgegeben, bei den Nachfolgenden nur die gekürzte
- sectionbib definiert die Ausgabe von \thebibliography als \section* anstelle von \chapter*; nur gültig in einem \chapter und in Verbindung mit dem chapterbib Paket
- nonamebreak behält alle Autorennamen in einer Zeile; kann übervolle Boxen hervorrufen, aber auch Probleme mit hyperref
- merge erlaubt das * prefix in Zitat-keys in der Bibliothek und das Zusammenführen mehrerer Referenzen im Literaturverzeichnis
- elide Verknüpft Referenzen mit fast identischem Inhalt in der Bibliothek anhand des Unterschieds Mr. (Xxy et al. 2012, 2013)
- mcite damit wird das Zusammenführen von Zitaten unterbunden
Wenn man sich diese Parameter erst ein mal überlegt hat, geht es an das erstellen der Literaturbibliothek. Das ist am Besten auf folgender Seite nachzulesen: http://de.wikibooks.org/wiki/LaTeX-Kompendium:_Schnellkurs:_Erstellen_eines_Literaturverzeichnisses. Hilfreich dabei können auch Journal-Seiten sein, auf denen man häufig den Bib-Eintrag direkt exportieren kann, z.B. auf http://onlinelibrary.wiley.com unter „Export citation for this article„. Den in dem Bib-File enthaltenen Content einfach in die eigenen Bibliothek übernehmen und schon kann los zitiert werden.
Dafür biete natbib auch verschiedene Optionen, wie oben schon zu lesen war (authoryear, numbers, super). Dafür bieten sich die folgenden Zitierkommandos an:
- citet[vor][nach]{Zitat-Key}
- citep[vor][nach]{Zitat-Key}
Das sind die wohl am meisten verwendeten Anweisungen zum zitieren. Der Unterschied besteht in der Art und Weise der Darstellung. Je nach eingestelltem Zitierstil ändert sich auch die Anzeige. Als Beispiel mit dem authoryear-Stil sind unten zwei Ergebnisse gezeigt
Prof. Dr. Mustemann et al. (2013) [Prof. Dr. Mustemann et al. (2013)]
Die Variante citet ist somit für ein zitieren im Fließtext gedacht. So lässt sich leicht der Autor auch in einen Satz einbauen. citep hingegen ist für den Einsatz als Quelle gedacht, die nicht im Fließtext sondern eher am Ende eines Abschnitts oder unter einer Grafik einbunden wird.
Natbib bietet noch viele weitere Möglichkeiten zum zitieren, die ich hier aber nicht alle aufzeigen will. Wer weitere Informationen dazu braucht bemühe bitte folgende Internetseiten:
- http://merkel.zoneo.net/Latex/natbib.php
- http://en.wikibooks.org/wiki/LaTeX/More_Bibliographies#Natbib
- http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management#Natbib
Bei der Nutzung von natbib haben sich bei mir feinige Fehler aufgetan, die ich mit ein wenig Internetrecherche beheben konnte.
Fehler mit nicht im Klammern befindlichen Zitate
! Argument of \NAT@@citetp has an extra }. <inserted text> \par l.3 ...wline Quelle: \citet[p. 122]}}{4}{figure.2}
Der Fehler resultierte aus folgenden Codezeilen:
\begin{figure}[htbp] \centering \includegraphics[width=0.8\textwidth]{images/image} \caption[Beschreibung der Grafik für das Grafikverzeichnis \newline Quelle: \citet[p. 123]{BIBeintrag} ]{Beschreibung unterhalb der Grafik} \label{abb:image} \end{figure}\FloatBarrier
Auf dieser Seite habe ich eine Lösung für den Fehler gefunden: Wenn man den Zitierbefehl nochmal in geschweifte Klammern packt ( „{ \citet[p. 123]{BIBeintrag} }“ ), versteht natbib auch was es machen soll. Auch das kompilierte Ergebnis sieht wie gewünscht aus.
Fehler bei Author-Time Zitaten bei falscher Bibliothek
Package natbib Error: Bibliography not compatible with author-year citations. (natbib) Press <return> to continue in numerical citation style.
Wenn in den natbib-Optionen beim Laden des Paketes die Zitierweise „authoryear“ angegeben ist, ist es nicht mehr möglich alle Stile für das Literaturverzeichnis zu verwenden. Ich hatte es versucht mit dem SIAM-Paket für das Literaturverzeichnis und „authoryear“ für den Zitierstil, aber das funktioniert angeblich nicht, auch wenn jeder BIB-Eintrag einen Autor und ein Jahr angegeben hat.
Funktioniert hat das ganze mit „\bibliographystyle{plainnat}“ auch wenn das Literaturverzeichnis nicht ganze meinen Vorstellungen entspricht. Ich könnte natürlich noch die Vorlagen der Stile anpassen, das ist mir jedoch zu zeitaufwendig.
NACHTRAG 1
Da ich mich mit den gefundenen Zitierstilen doch nicht anfreunden konnte, habe ich mir die von Science verwendeten Stile hier herunter geladen. Dann funktioniert natürlich auch natbib nicht mehr, weil scicite.sty die normale cite Umgebung nutzt. Außerdem ist es wichtig, die Dateien scicite.sty und Science.bst an die richtigen Orte zu legen. Diese sind folgende:
- für sty im MikTex bzw Distributionsordner „/tex/latex/scicite.sty“
- für bst im MikTex bzw Distributionsordner „/bibtex/bst/natbib/Science.bst“
eingebunden wird das Paket wie folgt:
\usepackage[superscript]{scicite}
wobei damit schon die Referenzierung als Hochzahl mit integriert ist. Genaueren Informationen zu den Optionen sind in der scicite.sty am unteren Ende zu finden. Außerdem sollte auch der Literaturverzeichnis-Stil auf „Science“ gestellt werden. Die Einbindung des Literaturverzeichnisses aus der Bibliotheksdatei „literatur“ sieht dann z.B. wie folgt aus:
\renewcommand{\refname} {Literaturverzeichnis} \bibliographystyle{Science} \bibliography{literatur}
wobei die Anweisung \renewcommand die Überschrift vom Englischen Standard ins Deutsche „Literaturverzeichnis“ übersetzt.