Literaturverzeichnis wird nicht angezeigt

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Eicer

Literaturverzeichnis wird nicht angezeigt

Beitrag von Eicer »

Hallo Forum,
ich möchte mit folgendem Beispielcode (aus dem Netz übernommen) ein Literaturverzeichnis einfügen:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[style=alphabetic ]{biblatex}
\addbibresource{Literatur}
\begin{document}
\pagestyle{empty}
Die exakte Herleitung kann in \cite[S. 83]{Prager1961} nachgelesen werden.\\
\printbibliography
\end{document}

Die Literatur.bib sieht wie folgt aus:
@Article{Prager1961,
author = {W. Prager},
title = {An Elementary Discussion of Definitions of Stress Rate},
journal = {Division of Applied Mathematics},
year = {1961},
}

Der Code läuft ohne Probleme durch. Im Dokument steht dann folgendes:
Die exakte Herleitung kann in [Prager1961] nachgelesen werden.

Aber das Verzeichnis wird nicht angezeigt. Was mache ich falsch?

Vielen Dank im voraus,
Eicer


MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Literaturverzeichnis wird nicht angezeigt

Beitrag von MoeWe »

Der Befehl \addbibresource erwartet als Argument den Dateinamen Deiner Literaturdatenbank mit Dateiendung. Also brauchen wir

\addbibresource{Literatur.bib}

wenn die Datei Literatur.bib heißt.

Möglicherweise war es das schon. Wenn es auch mit \addbibresource{Literatur.bib} noch keine korrekten Zitate und kein Literaturverzeichnis gibt, dann liegt das wahrscheinlich daran, dass Biber nicht (richtig) aufgerufen wurde.

Um ein Dokument mit Literaturverzeichnis richtig zu kompilieren, reicht es nicht aus, nur LaTeX (oder pdfLaTeX, LuaLaTeX, XeLaTeX, ...) laufen zu lassen. Man muss auch ein Helferprogramm für das Literaturverzeichnis aufrufen. Das ist entweder BibTeX oder Biber. Dein Code nutzt biblatex, daher solltest Du Biber verwenden. Ein kompletter Kompilationszyklus sollte LaTeX, Biber, LaTeX, LaTeX umfassen. Eine wunderbare Erklärung mit mehr Details findest Du bei https://tex.stackexchange.com/q/63852/35864.

Viele Editoren haben eine Funktion, die ein Helferprogramm für das Literaturverzeichnis laufen lässt. Oftmals ist die aber auf BibTeX eingestellt. Du musst Deinen Editor auf Biber umstellen. Wie das geht steht bei https://www.texwelt.de/fragen/1909/wie- ... nem-editor und https://tex.stackexchange.com/q/154751/35864

---

Da biblatex das "S." für die Seitenzahlen automatisch hinzufügt, kann man es in \cite[83]{Prager1961} auch weglassen.

Ferner sollte man im Fließtext eigentlich nie \\ verwenden. Ein Absatz wird mit einer leeren Zeile oder \par beendet. Innerhalb eines Absatzes sollten im Allgemeinen keine manuellen Umbrüche forciert werden. In Tabellen und Matheumgebungen hat \\ seinen Platz, aber in normalem Text ist es eigentlich immer fehl am Platze (und kann für unschöne Umbrüche und Warnungen sorgen).

Ferner gehört bei einem @article eigentlich immer auch volume und Seitenzahl angegeben. Das journal scheint mir nicht ganz richtig gewesen zu sein.

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[style=alphabetic]{biblatex}

\begin{filecontents}[force]{\jobname.bib}
@article{Prager1961,
  author     = {William Prager},
  title      = {An Elementary Discussion of Definitions of Stress Rate},
  journal    = {Quarterly of Applied Mathematics},
  volume     = {18},
  number     = {4},
  pages      = {403-407},
  year       = {1961},
  url        = {https://www.ams.org/journals/qam/1961-1 ... 6567-4.pdf},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Die exakte Herleitung kann in \cite[83]{Prager1961} nachgelesen werden.

\printbibliography
\end{document}

Eicer

Re: Literaturverzeichnis wird nicht angezeigt

Beitrag von Eicer »

Hallo MoeWe,
vielen Dank für die schnelle Antwort. \addbibresource mit Endung hat leider keine Besserung gebracht.

Ich nutze TeXworks, dort war "pdfLaTeX+MakeIndex+BibTex" aktiv. Biber war schon konfiguriert. Wenn ich aber auf Biber umstelle, erhalte ich als Fehlermeldung:
INFO - This is Biber 2.16
INFO - Logfile is 'Test3.blg'
ERROR - Cannot find 'Test3.bcf'!
INFO - ERRORS: 1

Die restl. Hinweise von Dir sind im Moment noch nicht relevant, da ich hier nur ein Beispiel aus dem Internet kopiert habe, um ein Minimalbeispiel zu erzeugen. Wenn ich endlich das Verzeichnis angezeigt bekomme, dann werde ich die einzelnen Zitate durchgehen und prüfen, ob ich dort alles richtig gemacht habe.

Viele Grüße,
Eicer


MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Literaturverzeichnis wird nicht angezeigt

Beitrag von MoeWe »

Die Fehlermeldung sollte eigentlich nur auftreten, wenn Biber aufgerufen wird, ohne vorher LaTeX aufgrufen zu haben. Wie in https://tex.stackexchange.com/q/63852/35864 wunderbar erklärt, muss zunächst LaTeX (pdfLaTeX, LuaLaTeX, XeLaTeX, ...), dann Biber und dann wieder LaTeX, LaTeX ausgeführt werden.

Die gezeigte Fehlermeldung bekommt man, wenn Biber die vom vorherigen LaTeX-Lauf erzeugte Hilfsdatei, über die LaTeX mit Biber kommuniziert, nicht finden kann.

Wenn die Voreinstellung "pdfLaTeX+MakeIndex+BibTex" war, stell erst auf pdfLaTeX um, lass das laufen, dann auf Biber, laufen lassen, und dann wieder auf pdfLaTeX (zwei mal laufe lassen). Du musst diesen vollen Zyklus nicht jedes Mal durchlaufen, wenn Du dein Dokument änderst, normalerweise sagt Dir LaTeX in der .log-Datei, wenn weitere Läufe notwendig sind. Die Faustregel ist, dass Biber laufen muss, wenn Du etwas an den Zitaten oder der .bib-Datei geändert hast.

Es gibt automatisierte Tools wie latexmk, die mit sehr komplexen Heuristiken erkennen, ob Biber laufen muss oder nicht, und alle benötigen Programmaufrufe selbst veranlassen.


Eicer

Re: Literaturverzeichnis wird nicht angezeigt

Beitrag von Eicer »

Hallo MoeWe,
ich habe zwischenzeitlich noch etwas gegoogelt. Wenn ich latex, biber, latex über die Konsole manuell aufrufe, dann funktioniert es jetzt. Über TeXworks scheint es automatisiert nicht zu funktionieren, weil dort BibTex statt Biber aufgerufen wird.
Aber jetzt weiß ich ja, wie ich vorgehen muss. Vielen Dank für die Hilfe.

Viele Grüße,
Eicer


Grummelgast

Re: Literaturverzeichnis wird nicht angezeigt

Beitrag von Grummelgast »

Eicer hat geschrieben:
Sa 17. Apr 2021, 17:52

Über TeXworks scheint es automatisiert nicht zu funktionieren, weil dort BibTex statt Biber aufgerufen wird.

In den wichtigen Hinweisen gibt es auch einen Link, unter dem der Aufruf von biber aus dem Editor unter anderem auch für TeXworks erklärt wird. Es lohnt sich also durchaus, die wichtigen Hinweise, die es hier in mehreren Foren gibt, zu lesen.


MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Literaturverzeichnis wird nicht angezeigt

Beitrag von MoeWe »

Bei mir führt der Knopf "pdfLaTeX+MakeIndex+BibTex" in TeXworks standardmäßig texify aus. texify ist ein kleines Automatisierungsprogramm, das LaTeX und weitere Hilfsprogramme ausführt, so häufig ausführt, bis alle Querverweise etc. richtig aufgelöst werden können.

texify kann zwar auch Biber statt BibTeX laufen lassen, hat dafür – soweit ich weiß – aber keine Option, sondern lässt das nur über Umgebungsvariablen lösen. Ich habe keine Ahnung, wie man TeXworks dazu bekommt, für bestimmte Programmaufrufe bestimmte Umgebungsvariablen zu setzen, daher ist das eventuell etwas umständlich. Tatsächlich bin ich auch sonst kein großer Fan von texify da die Fehlermeldungen dort manchmal noch kryptischer sind als von TeX eh schon gewohnt.

Daher würde ich normalerweise dazu raten, einfach "pdfLaTeX" und "Biber" (oder "BibTeX") selbst in TeXworks in dem Drop-Down-Menü neben dem grünen Kompilierknopf auszuwählen und nach Bedarf laufen zu lassen. Wer mehr Automatisierung möchte, sehe sich arara oder latexmk an (bei arara muss man die gewünschten Kompilationsschritte selbst angeben, latexmk hat eine Heuristik, die die meisten Dinge selbst erkennt). Aber von der Kommandozeile geht es natürlich auch.


Antworten