Trennzeichen nur vor URL von Punkt zu Komma ändern Thema ist als GELÖST markiert

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


peci

Trennzeichen nur vor URL von Punkt zu Komma ändern

Beitrag von peci »

Anbei mein Minimalbeispiel:
\usepackage[style=authoryear-ibid, backend=biber]{biblatex}
\DefineBibliographyStrings{ngerman}{ 
	andothers = {{et\,al\adddot}},             
}
\addbibresource{references.bib}
\DeclareFieldFormat{title}{#1\isdot}
\DeclareFieldFormat{citetitle}{#1\isdot}
\DeclareFieldFormat{journaltitle}{#1\isdot}
\DeclareFieldFormat[article]{title}{{#1}}
\usepackage{url}
\urlstyle{same}
\DeclareFieldFormat{url}{online abrufbar unter\addcolon\space\url{#1}}
...
\printbibliography
Quelle in Bib:
@online{kuerzel, 
	author  = {{Author}},  
	year = {2008},
	title   = {{Titel}},
	subtitle = {Untertiel},
	url     = {http://url.de}, 
	urldate = {2022-01-01}, 
}
Nun hätte ich gerne, dass nur vor der URL das Trennzeichen ein Komma ist, überall sonst soll ein Punkt bleiben.
Die Ausgabe soll also sein:
Author(2008). Titel. Untertitel, online abrufbar unter: https://url.de (besucht am 01.01.2022).

Könnte mir jemand auf die Sprünge helfen, wie ich das am besten umsetze? Vielen Dank schon einmal im Voraus!

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

Re: Trennzeichen nur vor URL von Punkt zu Komma ändern

Beitrag von MoeWe »

Hier bietet sich eine Änderung des zuständigen Bibmacros an. Standardmäßig käme auch hier vor url+urldate ein \newunit/\setunit{\newunitpunct}, das die Standardzeichensetzung (also einen Punkt) ausgibt. Wenn wir innerhalb des Makros selbst ein Komma setzen, dann wir das am Ende ausgegeben.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear-ibid, backend=biber]{biblatex}

\DefineBibliographyStrings{ngerman}{
  urlfrom   = {online abrufbar unter},
  andothers = {et\,al\adddot},
}

\DeclareFieldFormat*{title}{#1\isdot}
\DeclareFieldFormat*{citetitle}{#1\isdot}
\DeclareFieldFormat{journaltitle}{#1\isdot}

\urlstyle{same}
\DeclareFieldFormat{url}{\bibstring{urlfrom}\addcolon\space\url{#1}}
\renewbibmacro*{url+urldate}{%
  \setunit{\addcomma\space}%
  \usebibmacro{url}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addspace}%
     \usebibmacro{urldate}}}

\begin{filecontents}{\jobname.bib}
@online{kuerzel,
  author   = {{Author}},
  year     = {2008},
  title    = {Titel},
  subtitle = {Untertitel},
  url      = {http://url.de},
  urldate  = {2022-01-01},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson,kuerzel}

\printbibliography
\end{document}
Für den Beispieleintrag lässt sich die gleiche Ausgabe auch mit völlig anderen Mitteln herstellen. Nämlich indem man die Standardzeichensetzung sowie einige spezielle andere Zeichen ändert. Das hat aber für andere Einträge mit mehr vorhandenen Feldern ganz andere Auswirkungen.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear-ibid, backend=biber]{biblatex}

\DefineBibliographyStrings{ngerman}{
  urlfrom   = {online abrufbar unter},
  andothers = {et\,al\adddot},
}

\renewcommand*{\newunitpunct}{\addcomma\space}

\DeclareDelimFormat[bib]{nametitledelim}{\addperiod\space}

\renewcommand*{\subtitlepunct}{\addperiod\space}
\DeclareFieldFormat*{title}{#1\isdot}
\DeclareFieldFormat*{citetitle}{#1\isdot}
\DeclareFieldFormat{journaltitle}{#1\isdot}

\urlstyle{same}
\DeclareFieldFormat{url}{\bibstring{urlfrom}\addcolon\space\url{#1}}


\begin{filecontents}{\jobname.bib}
@online{kuerzel,
  author   = {{Author}},
  year     = {2008},
  title    = {Titel},
  subtitle = {Untertitel},
  url      = {http://url.de},
  urldate  = {2022-01-01},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson,kuerzel}

\printbibliography
\end{document}

peci

Re: Trennzeichen nur vor URL von Punkt zu Komma ändern

Beitrag von peci »

Hallo,

tausend Dank für die super schnelle Antwort.
Ich habe mich für die erste Variante entschieden, sie macht genau das was ich möchte, und hat mir nebenher noch einiges beigebracht... vielen Dank!

Die zweite Variante funktioniert, wie du sagst, aber das bringt dann wiederum die anderen Entry Types durcheinander.

Perfekt, vielen Dank noch einmal!

Antworten