LaTeX: Warnungen zu „Undefinierten Zitaten“

LaTeX: Warnungen zu „Undefinierten Zitaten“

Beim Ausführen dieses Beispielcodes:

\documentclass[11pt,a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[onehalfspacing]{setspace}
\usepackage{natbib}

\begin{document}

Hello World \cite{greenwood_theoretical_2016}

\end{document}

\bibliography{Bibliography}
\bibliographystyle{plain}

Ich erhalte immer wieder die Warnung:

„Zitat greenwood_theoretical_2016 auf Seite 1 undefiniert in Eingabezeile 10“

und die Verweise sind gekennzeichnet als '?' im Dokument.

Ich verwende Sublime Text 3.2 unter LaTeXToolsmacOS High Sierra.
Der Builder ist auf 'Basic' also es läuft:

pdflatex
bibtex
pdflatex
pdflatex

Ich habe meine Bibliographie aus Zotero exportiert (Format: Bibtex; Kodierung: UTF-8) und die Datei „Bibliography.bib“ (die sich im selben Verzeichnis befindet) überprüft. Die Zitate scheinen korrekt zu sein (Beispiel):

@article{greenwood_theoretical_2016,
title = {Theoretical, contemporary observational and palaeo-perspectives on ice sheet hydrology: {Processes} and products},
volume = {155},
issn = {0012-8252},
shorttitle = {Theoretical, contemporary observational and palaeo-perspectives on ice sheet hydrology},
url = {http://www.sciencedirect.com/science/article/pii/S0012825216300095},
doi = {10.1016/j.earscirev.2016.01.010},
urldate = {2018-12-05},
journal = {Earth-Science Reviews},
author = {Greenwood, Sarah L. and Clason, Caroline C. and Helanow, Christian and Margold, Martin},
month = apr,
year = {2016},
keywords = {Geomorphology, Esker, Meltwater, Review, Hydrology, Channel, Glacier, Ice Sheet},
pages = {1--27}

Verwenden vonbiblatexstattdessen natbibgibt es mir die Bezeichnung der Referenz in eckigen Klammern, d. h.

Hallo Welt [greenwood_theoretical_2016]

Ich habe auch versucht, verschiedene Stile zu verwenden, aber nichts hat sich geändert.

Ich weiß, dass es dazu viele Fragen gab, aber hier scheint nichts zu funktionieren.

Antwort1

In Ihrem angegebenen Code gibt es einige Probleme:

  1. Die Aufrufreihenfolge \bibliographystylesollte \bibliographyin Deinem Code geändert werden (Style First!).
  2. Beim Laden natbibsollten Sie besser Stil verwenden plainnat, anstattplain
  3. Du hast \end{document}vor dem Aufruf das Literaturverzeichnis. Das bedeutet, dass der Code danach \end{document}nicht ausgeführt wird.

Bitte verwenden Sie den folgenden Code:

\RequirePackage{filecontents}
\begin{filecontents*}{Bibliography.bib}
@article{greenwood_theoretical_2016,
  title = {Theoretical, contemporary observational and palaeo-perspectives 
           on ice sheet hydrology: {Processes} and products},
  volume = {155},
  issn = {0012-8252},
  shorttitle = {Theoretical, contemporary observational and 
  palaeo-perspectives on ice sheet hydrology},
  url = {http://www.sciencedirect.com/science/article/pii/S0012825216300095},
  doi = {10.1016/j.earscirev.2016.01.010},
  urldate = {2018-12-05},
  journal = {Earth-Science Reviews},
  author = {Greenwood, Sarah L. and Clason, Caroline C. and Helanow, 
            Christian and Margold, Martin},
  month = apr,
  year = {2016},
  keywords = {Geomorphology, Esker, Meltwater, Review, Hydrology, 
              Channel, Glacier, Ice Sheet, Read Level 3},
  pages = {1--27},
}
\end{filecontents*}


\documentclass[11pt,a4paper]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[onehalfspacing]{setspace}

\usepackage{natbib}


\begin{document}

Hello World \cite{greenwood_theoretical_2016}

\bibliographystyle{plainnat} % plain
\bibliography{Bibliography} % Bibliography

\end{document}

und sehen Sie das erwartete Ergebnis:

Ergebnis mit Bibtex

Wenn Sie die Bibliografie nummerieren möchten, fügen Sie die folgende Option numbershinzu natbib:

\usepackage[numbers]{natbib}

Der richtige Code zum Kompilieren biblatexist

\documentclass[11pt,a4paper]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[onehalfspacing]{setspace}

\usepackage{csquotes}
\usepackage[%
  natbib=true, % <=======================================
  backend=biber, % <=====================================
]{biblatex}
\addbibresource{Bibliography.bib} % Bibliography <=======


\begin{document}

Hello World \cite{greenwood_theoretical_2016}

\printbibliography

\end{document}

mit dem Ergebnis:

Bildbeschreibung hier eingeben

Antwort2

Der Teil der ursprünglichen Antwort hier, in dem es heißt: „Ich bin fast sicher, dass der Befehl \bibliographystyle{plain}vor dem Befehl stehen sollte \bibliography{Bibliography}“, ist nicht wirklich korrekt, da die Bibtex-Kompilierung separat durchgeführt wird und daher nur die AUX-Datei verwendet wird, die bereits die Informationen zum Bibliografiestil enthält. (Danke @barbarabeeton und @moewe ...) Natürlich werden die Programmiergewohnheiten immer noch dazu führen, dass mehr Leute es vor dem Druckbefehl hinzufügen, da der Code für Menschen besser lesbar ist, wenn er sagt: „Holen Sie sich einen Stil und drucken Sie ihn aus“ ... als „Drucken Sie ihn aus ... Ah! und vergessen Sie nicht ... ich brauche es in diesem Stil!“ :P

Nicht getestet, aber ich bin fast sicher, dass der Befehl \bibliographystyle{plain}vor dem Befehl stehen sollte \bibliography{Bibliography}und am wichtigsten (da bin ich mir sicher), dass beide Befehle vor dem \end{document}Befehl stehen sollten.

Bitte probieren Sie es aus und antworten Sie, wenn es in Ordnung ist.

verwandte Informationen