von MoeWe » Mo 26. Apr 2021, 22:53
Dass es hier notwendig ist, die temporäre .bbl-Datei zu löschen oder Biber auszuführen, liegt daran, dass LaTeX die .bib-Datei nicht direkt einliest, sondern sie von Biber einlesen und in ein LaTeX-lesbares Format bringen lässt. Daher ist auch die Kompilationssequenz LaTeX, Biber, LaTeX, LaTeX notwendig.
Grob passiert dabei Folgendes: Im ersten LaTeX-Lauf schreibt LaTeX in die .bcf-Datei, welche Einträge aus der .bib-Datei benötigt werden und sagt Biber, wie sie sortiert werden sollen. Biber liest dann die von LaTeX geschriebene .bcf-Datei ein und findet darauf basierend die passenden Einträge in der .bib-Datei, sortiert sie, bereitet sie für LaTeX auf und schreibt die Daten in die .bbl-Datei. Im nächsten LaTeX-Lauf kann LaTeX dann die Daten aus der .bbl-Datei lesen. Ganz wunderbar erklärt ist das in https://tex.stackexchange.com/q/63852/35864.
Mit diesem Schema im Hinterkopf sollte klar sein, dass es nach der Korrektur der .bib-Datei nicht ausreicht, LaTeX neu laufen zu lassen. Es muss auch zwingend Biber ausgeführt werden, damit die aktualisierte .bib-Datei neu eingelesen wird. Sonst bleiben in der .bbl-Datei einfach die alten, fehlerhaften Daten stehen. Erst nach einem Biber-Lauf mit der korrigierten .bib-Datei kann ein weiterer LaTeX-Lauf Erfolg haben.
Manchmal ist es so, dass ein zu früh durch einen Fehler abgebrochener LaTeX-Lauf zu einer kaputten .bcf-Datei führt, mit der Biber nichts anfangen kann. Dann läuft Biber nicht. Solche Probleme lassen sich meist gut dadurch umgehen, dass man einfach alle temporären Dateien (.aux, .bbl und .bcf) löscht und den gesamten Zyklus LaTeX, Biber, LaTeX, LaTeX laufen lässt. Sollten dabei Fehler auftreten, sollten sie dann aber sofort behoben werden (und nach der Fehlerkorrektur wieder alle temporären Dateien gelöscht werden). Dieses Verfahren kann zwar etwas länger dauern als die Optimalstrategie, ist aber einfacher durchzuführen, da es ganz mechanisch ist, und klappt eigentlich immer.
----
Wenn ein Autor bei Dir GmbH \& Co. beinhaltet, denk daran, den ganzen Firmennamen in ein zusätzliches Paar Klammern zu setzen, damit Biber nicht versucht, ihn als Personennamen mit Vor- und Nachname zu verstehen.
Also
author = {{Acme GmbH \& Co. KG}},
statt {Acme GmbH \& Co. KG},
---
Die Option language=ngerman, tut wahrscheinlich nicht, was Du erwartest. Sie hat nur in Verbindung mit autolang eine Wirkung. Höchstwahrscheinlich brauchst Du die Option aber eh nicht: biblatex passt sich automatisch an die Dokumentensprache (das ist bei Dir ngerman) an.
Da nameyeardelim seit gut fünf Jahren ein context-sensitive delimiter ist, sollte \renewcommand*{\nameyeardelim}{\addcomma\space} durch
\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
ersetzt werden.
Dass es hier notwendig ist, die temporäre `.bbl`-Datei zu löschen oder Biber auszuführen, liegt daran, dass LaTeX die `.bib`-Datei nicht direkt einliest, sondern sie von Biber einlesen und in ein LaTeX-lesbares Format bringen lässt. Daher ist auch die Kompilationssequenz LaTeX, Biber, LaTeX, LaTeX notwendig.
Grob passiert dabei Folgendes: Im ersten LaTeX-Lauf schreibt LaTeX in die `.bcf`-Datei, welche Einträge aus der `.bib`-Datei benötigt werden und sagt Biber, wie sie sortiert werden sollen. Biber liest dann die von LaTeX geschriebene `.bcf`-Datei ein und findet darauf basierend die passenden Einträge in der `.bib`-Datei, sortiert sie, bereitet sie für LaTeX auf und schreibt die Daten in die `.bbl`-Datei. Im nächsten LaTeX-Lauf kann LaTeX dann die Daten aus der `.bbl`-Datei lesen. Ganz wunderbar erklärt ist das in https://tex.stackexchange.com/q/63852/35864.
Mit diesem Schema im Hinterkopf sollte klar sein, dass es nach der Korrektur der `.bib`-Datei nicht ausreicht, LaTeX neu laufen zu lassen. Es muss auch zwingend Biber ausgeführt werden, damit die aktualisierte `.bib`-Datei neu eingelesen wird. Sonst bleiben in der `.bbl`-Datei einfach die alten, fehlerhaften Daten stehen. Erst nach einem Biber-Lauf mit der korrigierten `.bib`-Datei kann ein weiterer LaTeX-Lauf Erfolg haben.
Manchmal ist es so, dass ein zu früh durch einen Fehler abgebrochener LaTeX-Lauf zu einer kaputten `.bcf`-Datei führt, mit der Biber nichts anfangen kann. Dann läuft Biber nicht. Solche Probleme lassen sich meist gut dadurch umgehen, dass man einfach alle temporären Dateien (`.aux`, `.bbl` und `.bcf`) löscht und den gesamten Zyklus LaTeX, Biber, LaTeX, LaTeX laufen lässt. Sollten dabei Fehler auftreten, sollten sie dann aber sofort behoben werden (und nach der Fehlerkorrektur wieder alle temporären Dateien gelöscht werden). Dieses Verfahren kann zwar etwas länger dauern als die Optimalstrategie, ist aber einfacher durchzuführen, da es ganz mechanisch ist, und klappt eigentlich immer.
----
Wenn ein Autor bei Dir `GmbH \& Co.` beinhaltet, denk daran, den ganzen Firmennamen in ein zusätzliches Paar Klammern zu setzen, damit Biber nicht versucht, ihn als Personennamen mit Vor- und Nachname zu verstehen.
Also
```
author = {{Acme GmbH \& Co. KG}},
```
statt `{Acme GmbH \& Co. KG},`
---
Die Option `language=ngerman,` tut wahrscheinlich nicht, was Du erwartest. Sie hat nur in Verbindung mit `autolang` eine Wirkung. Höchstwahrscheinlich brauchst Du die Option aber eh nicht: `biblatex` passt sich automatisch an die Dokumentensprache (das ist bei Dir `ngerman`) an.
Da `nameyeardelim` seit gut fünf Jahren ein [i]context-sensitive delimiter[/i] ist, sollte `\renewcommand*{\nameyeardelim}{\addcomma\space}` durch
```
\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
```
ersetzt werden.