von MoeWe » Di 8. Dez 2020, 23:06
Der Unterschied hängt damit zusammen, dass \DeclareFieldFormat es mit dem optionalen Argument ermöglicht, ein spezielles Format nur für bestimmte Eintragstypen auszuwählen. So findet sich in biblatex.def z.B.
\DeclareFieldFormat{volume}{\bibstring{volume}~#1}% volume of a book
\DeclareFieldFormat[article,periodical]{volume}{#1}% volume of a journal
was das Format für das volume-Feld eines @articles oder @periodicals anders definiert als für alle anderen Typen.
Wenn Du jetzt \DeclareFieldFormat{volume}{...} nutzt, überschreibt das nur die Definition in der ersten Zeile, die typspezifischen Einstellungen für @article und @periodical aus der zweiten Zeile bleiben unberührt. Um die zu überschreiben, musst Du den Typ explizit angeben, also \DeclareFieldFormat[article,periodical]{volume}{...}.
Die gesternte Variante \DeclareFieldFormat*{volume}{...} setzt explizit alle typspezifischen Einstellungen zurück und nimmt dann erst die Neudefinition vor. Das bedeutet, dass die neue Einstellung für alle Eintragstypen dieselbe ist - unabhängig von eventuell zuvor eingestellten typspezifischen Definitionen.
Warum das für title relevant ist, ist in https://tex.stackexchange.com/q/462133/35864 gezeigt. title nutzt typspezifische Formate, daher muss zum nachhaltigen und vollständigen Zurücksetzen des Formats \DeclareFieldFormat* zum Einsatz kommen. Bei journaltitle hingegen findet in biblatex.def keine Differenzierung nach Typen statt, daher reicht die ungesternte Variante \DeclareFieldFormat aus, \DeclareFieldFormat* geht aber natürlich auch und sorgt für dasselbe Resultat.
Der Unterschied hängt damit zusammen, dass `\DeclareFieldFormat` es mit dem optionalen Argument ermöglicht, ein spezielles Format nur für bestimmte Eintragstypen auszuwählen. So findet sich in `biblatex.def` z.B.
```
\DeclareFieldFormat{volume}{\bibstring{volume}~#1}% volume of a book
\DeclareFieldFormat[article,periodical]{volume}{#1}% volume of a journal
```
was das Format für das `volume`-Feld eines `@article`s oder `@periodical`s anders definiert als für alle anderen Typen.
Wenn Du jetzt `\DeclareFieldFormat{volume}{...}` nutzt, überschreibt das nur die Definition in der ersten Zeile, die typspezifischen Einstellungen für `@article` und `@periodical` aus der zweiten Zeile bleiben unberührt. Um die zu überschreiben, musst Du den Typ explizit angeben, also `\DeclareFieldFormat[article,periodical]{volume}{...}`.
Die gesternte Variante `\DeclareFieldFormat*{volume}{...}` setzt explizit alle typspezifischen Einstellungen zurück und nimmt dann erst die Neudefinition vor. Das bedeutet, dass die neue Einstellung für alle Eintragstypen dieselbe ist - unabhängig von eventuell zuvor eingestellten typspezifischen Definitionen.
Warum das für `title` relevant ist, ist in https://tex.stackexchange.com/q/462133/35864 gezeigt. `title` nutzt typspezifische Formate, daher muss zum nachhaltigen und vollständigen Zurücksetzen des Formats `\DeclareFieldFormat*` zum Einsatz kommen. Bei `journaltitle` hingegen findet in `biblatex.def` keine Differenzierung nach Typen statt, daher reicht die ungesternte Variante `\DeclareFieldFormat` aus, `\DeclareFieldFormat*` geht aber natürlich auch und sorgt für dasselbe Resultat.