von MoeWe » Fr 26. Jun 2020, 07:41
Es ging hier ja am Ende ein bisschen durcheinander, aber es gibt mindestens zwei Dinge, die man hier beachten muss.
Das Argument von \bibliography ist der Dateiname der .bib-Datei ohne die Dateiendung .bib. Das heißt, es muss \bibliography{Litverzeichnis} heißen und nicht *\bibliography{Litverzeichnis.bib}.
Soweit ich weiß, hat TeX live die eigentlich inkorrekte Eingabe mit Dateiendung schon seit längerer Zeit akzeptiert. MikTeX macht das seit erst seit kurzer Zeit (https://github.com/MiKTeX/miktex/issues/541), auf alten Systemen wird mit *\bibliography{Litverzeichnis.bib} die gwünschte Datei nicht gefunden, da BibTeX auf die Suche nach Litverzeichnis.bib.bib geht.
BibTeX wird nicht auf der .bib-Datei ausgeführt, stattdessen läuft es über die .aux-Datei des Hauptdokuments. Es gibt tatsächlich zwei valide Möglichkeiten, BibTeX aufzurufen.
Dateiendungslos als bibtex <Dateiname der Haupt-.tex-Datei>, also z.B. bibtex ma, wenn Deine Hauptdatei ma.tex heißt. In einigen Editoren wäre die richtige Einstellung hierfür bibtex %.
Mit .aux-Dateiendung als bibtex <Dateiname der Haupt-.tex-Datei>.aux, also z.B. bibtex ma.aux, wenn Deine Hauptdatei ma.tex heißt. In einigen Editoren wäre die richtige Einstellung hierfür bibtex %.aux.
Insbesondere sollte BibTeX also nicht auf der max.tex laufen. Damit ist die Einstellung bibtex %.tex, die oben zwischendurch gezeigt war, falsch. Ebenso war bibtex "Litverzeichnis" falsch, da dort BibTeX auf der .bib-Datei ausgeführt wurde.
Man sollte im Hinterkopf behalten, dass es nicht nach jeder Änderung in der .tex-Datei nötig ist, den vollen Zyklus LaTeX, BibTeX, LaTeX, LaTeX durchlaufen zu lassen. Solange die Bibliographieeinstellungen, Zitate und die .bib-Datei unverändert bleiben, kommt man mit LaTeX, LaTeX oder vielleicht sogar nur einem einfachen LaTeX-Lauf aus. Es ist also etwas ineffizient den vollen Zyklus als die Stanard-Kompiliermethode anzugeben. Wohl aber geht man dabei auf Nummer sicher, was gerade am Anfang auch nicht verkehrt ist.
Möglicherweise hat Dein Editor eine Heuristik, die zu erkennen versucht, ob ein BibTeX-Lauf notwendig ist. Nach meiner Erfahrung funktioniert das nicht immer zu 100%. Für vollautomatisches Kompilieren, das meist die richtigen Entscheidungen trifft, kann ich latexmk empfehlen.
Es ging hier ja am Ende ein bisschen durcheinander, aber es gibt mindestens zwei Dinge, die man hier beachten muss.
1. Das Argument von `\bibliography` ist der Dateiname der `.bib`-Datei *ohne* die Dateiendung `.bib`. Das heißt, es muss `\bibliography{Litverzeichnis}` heißen und *nicht* *`\bibliography{Litverzeichnis.bib}`.
Soweit ich weiß, hat TeX live die eigentlich inkorrekte Eingabe mit Dateiendung schon seit längerer Zeit akzeptiert. MikTeX macht das seit erst seit kurzer Zeit (https://github.com/MiKTeX/miktex/issues/541), auf alten Systemen wird mit *`\bibliography{Litverzeichnis.bib}` die gwünschte Datei nicht gefunden, da BibTeX auf die Suche nach `Litverzeichnis.bib.bib` geht.
2. BibTeX wird nicht auf der `.bib`-Datei ausgeführt, stattdessen läuft es über die `.aux`-Datei des Hauptdokuments. Es gibt tatsächlich zwei valide Möglichkeiten, BibTeX aufzurufen.
[list]
[*]Dateiendungslos als `bibtex <Dateiname der Haupt-.tex-Datei>`, also z.B. `bibtex ma`, wenn Deine Hauptdatei `ma.tex` heißt. In einigen Editoren wäre die richtige Einstellung hierfür `bibtex %`.
[*]Mit `.aux`-Dateiendung als `bibtex <Dateiname der Haupt-.tex-Datei>.aux`, also z.B. `bibtex ma.aux`, wenn Deine Hauptdatei `ma.tex` heißt. In einigen Editoren wäre die richtige Einstellung hierfür `bibtex %.aux`.
[/list]
Insbesondere sollte BibTeX also nicht auf der `max.tex` laufen. Damit ist die Einstellung `bibtex %.tex`, die oben zwischendurch gezeigt war, falsch. Ebenso war `bibtex "Litverzeichnis"` falsch, da dort BibTeX auf der `.bib`-Datei ausgeführt wurde.
Man sollte im Hinterkopf behalten, dass es nicht nach jeder Änderung in der `.tex`-Datei nötig ist, den vollen Zyklus LaTeX, BibTeX, LaTeX, LaTeX durchlaufen zu lassen. Solange die Bibliographieeinstellungen, Zitate und die `.bib`-Datei unverändert bleiben, kommt man mit LaTeX, LaTeX oder vielleicht sogar nur einem einfachen LaTeX-Lauf aus. Es ist also etwas ineffizient den vollen Zyklus als die Stanard-Kompiliermethode anzugeben. Wohl aber geht man dabei auf Nummer sicher, was gerade am Anfang auch nicht verkehrt ist.
Möglicherweise hat Dein Editor eine Heuristik, die zu erkennen versucht, ob ein BibTeX-Lauf notwendig ist. Nach meiner Erfahrung funktioniert das nicht immer zu 100%. Für vollautomatisches Kompilieren, das meist die richtigen Entscheidungen trifft, kann ich `latexmk` empfehlen.