Die Bezeichnung "Globaldefinition", die ich in Ermangelung eines besseren Namens genutzt habe, hat vielleicht ein paar falsche Konnotationen und ist daher etwas unglücklich.
Grundsätzlich hast Du Dir das System so vorzustellen. Jeder
delimiter hat normalerweise eine kontextlose Definition und mögliche weitere kontext-abhängige weitere Definitionen, die z.B. wie in
\DeclareDelimFormat{nametitledelim}{\addcomma\space}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\labelnamepunct}
\DeclareDelimFormat[textcite]{nametitledelim}{\addspace}
aussehen können.
Jedes Mal, wenn der
delimiter zum Einsatz kommt, prüft
biblatex ob es eine Definition für den gerade aktiven Kontext gibt. Wenn ja, dann wird die ausgegeben, wenn nein, fallen wir auf die kontextlose Definition zurück.
Praktisch heißt das, dass die kontextlose Definition nur zum Einsatz kommt, wenn es keine eigene Definition für den aktuellen Kontext gibt. Diese Definition ist also nicht "global" in dem Sinne, dass sie für alle Kontexte gelten oder diese gar überschreiben würde.
In dem Beispiel hier gibt es immer die Definition
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\labelnamepunct}
im
bib-Kontext. Wenn Du jetzt
\DeclareDelimFormat{nametitledelim}{\addcolon\space}
sagst, dann wird die kontextlose Definition zwar geändert, die bereits vorhandene Definition im
bib-Kontext bleibt, wie sie ist, und findet auch immer noch Anwendung, wenn
nametitledelim im Literaturverzeichnis benötigt wird. In dem Beispiel hier zeigt sich der Doppelpunkt nur bei
\parencite, denn sowohl das Literaturverzeichnis als auch
\textcite haben eine kontextspezifische Definition, die Vorrang hat.
\documentclass{scrartcl}
\usepackage[backend=biber, style=authortitle]{biblatex}
\DeclareDelimFormat{nametitledelim}{\addcolon\space}
\addbibresource{biblatex-examples.bib}
\begin{document}
Alles gut \parencite{nussbaum}
uh-oh \textcite{nussbaum}
\printbibliography
\end{document}
Wenn es mal nötig sein sollte, alle kontext-spezifischen Definitionen zu löschen, dann gibt es dafür die gesternte Variante
\DeclareDelimFormat*. Warum es keine so gute Idee ist, die ohne Hintergrundwissen anzuwenden, siehst Du in
\documentclass{scrartcl}
\usepackage[backend=biber, style=authortitle]{biblatex}
\DeclareDelimFormat*{nametitledelim}{\addcolon\space}
\addbibresource{biblatex-examples.bib}
\begin{document}
Alles gut \parencite{nussbaum}
uh-oh \textcite{nussbaum}
\printbibliography
\end{document}
Das ganze System ist übrigens völlig analog zu den typspezifischen Feldformaten. Siehe z.B.
https://tex.stackexchange.com/q/462133/35864.
Der zitierte Abschnitt in der
biblatex-Dokumentation geht zumindest in der aktuellen englischen Version noch weiter
The commands in this section may be redefined with \renewcommand in the
document preamble. Those marked as ‘Context Sensitive’ in the margin can also be
customised with \DeclareDelimFormat and are printed with \printdelim (§ 3.12.2).
Für die
context-sensitive delimiters würde ich aber dringend von
\renewcommand abraten. Obwohl es wie oben erklärt "mehr oder weniger" geht. (Daher
wird da etwas ergänzt.)
Die Bezeichnung "Globaldefinition", die ich in Ermangelung eines besseren Namens genutzt habe, hat vielleicht ein paar falsche Konnotationen und ist daher etwas unglücklich.
Grundsätzlich hast Du Dir das System so vorzustellen. Jeder [i]delimiter[/i] hat normalerweise eine kontextlose Definition und mögliche weitere kontext-abhängige weitere Definitionen, die z.B. wie in
[code]
\DeclareDelimFormat{nametitledelim}{\addcomma\space}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\labelnamepunct}
\DeclareDelimFormat[textcite]{nametitledelim}{\addspace}
[/code]
aussehen können.
Jedes Mal, wenn der [i]delimiter[/i] zum Einsatz kommt, prüft [tt]biblatex[/tt] ob es eine Definition für den gerade aktiven Kontext gibt. Wenn ja, dann wird die ausgegeben, wenn nein, fallen wir auf die kontextlose Definition zurück.
Praktisch heißt das, dass die kontextlose Definition nur zum Einsatz kommt, wenn es keine eigene Definition für den aktuellen Kontext gibt. Diese Definition ist also nicht "global" in dem Sinne, dass sie für alle Kontexte gelten oder diese gar überschreiben würde.
In dem Beispiel hier gibt es immer die Definition
[code]\DeclareDelimFormat[bib,biblist]{nametitledelim}{\labelnamepunct}[/code]
im [tt]bib[/tt]-Kontext. Wenn Du jetzt
[code]\DeclareDelimFormat{nametitledelim}{\addcolon\space}[/code]
sagst, dann wird die kontextlose Definition zwar geändert, die bereits vorhandene Definition im [tt]bib[/tt]-Kontext bleibt, wie sie ist, und findet auch immer noch Anwendung, wenn [tt]nametitledelim[/tt] im Literaturverzeichnis benötigt wird. In dem Beispiel hier zeigt sich der Doppelpunkt nur bei [tt]\parencite[/tt], denn sowohl das Literaturverzeichnis als auch [tt]\textcite[/tt] haben eine kontextspezifische Definition, die Vorrang hat.
[code]
\documentclass{scrartcl}
\usepackage[backend=biber, style=authortitle]{biblatex}
\DeclareDelimFormat{nametitledelim}{\addcolon\space}
\addbibresource{biblatex-examples.bib}
\begin{document}
Alles gut \parencite{nussbaum}
uh-oh \textcite{nussbaum}
\printbibliography
\end{document}
[/code]
Wenn es mal nötig sein sollte, alle kontext-spezifischen Definitionen zu löschen, dann gibt es dafür die gesternte Variante [tt]\DeclareDelimFormat*[/tt]. Warum es keine so gute Idee ist, die ohne Hintergrundwissen anzuwenden, siehst Du in
[code]
\documentclass{scrartcl}
\usepackage[backend=biber, style=authortitle]{biblatex}
\DeclareDelimFormat*{nametitledelim}{\addcolon\space}
\addbibresource{biblatex-examples.bib}
\begin{document}
Alles gut \parencite{nussbaum}
uh-oh \textcite{nussbaum}
\printbibliography
\end{document}
[/code]
Das ganze System ist übrigens völlig analog zu den typspezifischen Feldformaten. Siehe z.B. https://tex.stackexchange.com/q/462133/35864.
Der zitierte Abschnitt in der [tt]biblatex[/tt]-Dokumentation geht zumindest in der aktuellen englischen Version noch weiter
[quote]
The commands in this section may be redefined with [tt]\renewcommand[/tt] in the
document preamble. Those marked as ‘Context Sensitive’ in the margin can also be
customised with [tt]\DeclareDelimFormat[/tt] and are printed with [tt]\printdelim[/tt] (§ 3.12.2).
[/quote]
Für die [i]context-sensitive delimiters[/i] würde ich aber dringend von [tt]\renewcommand[/tt] abraten. Obwohl es wie oben erklärt "mehr oder weniger" geht. (Daher [url=https://github.com/plk/biblatex/commit/21377d94cab8f7de210ef7efce812d2006667fe7]wird da[/url] [url=https://github.com/plk/biblatex/commit/2a36dd3f25818374a287a606ffc51cd2e52c8064]etwas ergänzt[/url].)