Suffix nach edition Thema ist als GELÖST markiert

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


andré01
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Suffix nach edition

Beitrag von andré01 »

Hallo,
seit knapp 2 Wochen beschäftige ich mich intensiver mit LaTeX und bin begeistert und habe nach Recherchen fast alles einstellen können. Eine Frage habe ich, die mir recht einfach scheint, doch habe ich nach Recherchen keine Antwort gefunden. Ganz einfach möchte ich im Bibliotheksverzeichnis nach der Ausgabe des edition-Feldes ein Komma gesetzt haben.

Eine Zahl wird im Feld Edition mit der Standardeinstellung als "X. Aufl." ausgeben. Enthält das Feld einen Text statt einer Zahl (z.B. "5th edition"), erfolgt die Ausgabe des Textes mit einem anschließenden Punkt. Das ist richtig vom Verhalten. Doch wie erhalte ich danach ein Komma in folgender Weise:

  • nach der Abkürzung "Aufl." ein zusätzliches Komma
  • nach ausgeschriebenen Text statt des Punktes ein Komma

Beispiel:

Jetzige Ausgabe:
Nachname1, V. (2016). Ein interessanter Titel. 6. Aufl. Freiburg: Sonnenverlag.
Nachname2, V. (2020). Ein noch interessanterer Titel. 5th edition. Stockholm: Mond-
verlag

Gewünschte Ausgabe:
Nachname1, V. (2016). Ein interessanter Titel. 6. Aufl., Freiburg: Sonnenverlag.
Nachname2, V. (2020). Ein noch interessanterer Titel. 5th edition, Stockholm: Mond-
verlag

Hier ein Minimalbsp:

Code: Alles auswählen

\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage[style=authoryear, firstinits=true, uniquename=false]{biblatex}
\addbibresource{Bib.bib}
\begin{document}
Zitat 1: \cite{Nachname1}
Zitat 2: \cite{Nachname2}
\printbibliography
\end{document}

Die bib-Datei:

Code: Alles auswählen

% Encoding: UTF-8

@Book{Nachname1,
  author    = {Vorname1 Nachname1},
  date      = {2016},
  title     = {Ein interessanter Titel},
  edition   = {6},
  publisher = {Sonnenverlag},
  address   = {Freiburg},
}

@Book{Nachname2,
  author    = {Vorname2 Nachname2},
  date      = {2020},
  title     = {Ein noch interessanterer Titel},
  edition   = {5th edition},
  publisher = {Mondverlag},
  address   = {Stockholm},
}

@Comment{jabref-meta: databaseType:biblatex;}

(Falls die Frage aufkommt: Die anderen Feldausgaben haben auch ein Komma und ist konsistent, ist hier jedoch weggelassen wegen des Minimalbeispiels).

Wenn hier jemand einen Tip hat, bin ich dankbar.

Viele Grüße, André


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

Re: Suffix nach edition

Beitrag von MoeWe »

Gemischte Zeichensetzung ist mit biblatex nicht immer ganz einfach. Die beste Lösung hängt von den genauen Vorstellungen ab, gerade wenn noch zusätzliche Felder eine Rolle spielen können.

Normalerweise fügt biblatex zwischen den meisten Feldern einfach ein \newunit ein, das letztendlich \newunitpunct als Interpunktion ausgibt. Standardmäßig ist \newunitpunct \addperiod\space deswegen bekommst Du zwischen den meisten Elementen im Literaturverzeichnis einen Punkt. Wenn Du \newunitpunct mit \renewcommand*{\newunitpunct}{\addcomma\space} zu einem Komma umdefinierst, bekommst Du an den meisten Stellen jetzt Kommas.

Um Doppelzeichensetzung zu vermeiden, arbeitet biblatex mit einem punctuation buffer. Dabei wird die Zeichensetzung nicht direkt vorgenommen, sondern das gewünschte Zeichen wird mit \setunit in einem Puffer zwischengespeichert, der erst ausgegeben wird, wenn das nächste Feld ausgegeben wird. Der Puffer kann immer nur ein Zeichen beinhalten und wird von nachfolgenden Zeichensetzungsbefehlen überschrieben. Das führt dazu, dass biblatex ein natürliches Konzept von Zeichensetzung vor einem Feld hat, aber kein so natürliches Konzept von Zeichensetzung nach einem Feld (wenn zwischendurch Felder fehlen können). Es gibt ein paar Befehle wie \setunit* und \priuntunit, die dabei behilflich sein können, lokal so etwas wie Zeichensetzung nach einem Feld nachzubilden. Aufgrund der modularen Struktur der biblatex-Ausgabe ist es nicht ganz trivial, mit diesen Mitteln über weitere Strecken hinweg denselben Effekt zu erreichen.

Unter der Annahme, dass Du wirklich nur ein Komma nach der Auflage möchtest, auch wenn noch viel mehr Informationen in einem Eintrag vorhanden sind, könnte z.B. das Folgende funktionieren. Mit biblatex-ext können wir die Auflage direkt vor dem Verlag positionieren. Dann können wir \setunit* nutzen, um lokal Zeichensetzung nach einem Feld zu approximieren (neben den entsprechenden Abschnitten in der Dokumentation gibt es auch bei TeX.SX einige Beiträge zu \setunit und Co. https://tex.stackexchange.com/q/538920/35864, https://tex.stackexchange.com/q/409148/35864).

Code: Alles auswählen

\documentclass[12pt,ngerman]{scrartcl}
\usepackage{babel}
\usepackage[style=ext-authoryear, firstinits=true, uniquename=false]{biblatex}

\renewbibmacro*{edition}{}

\renewbibmacro*{pubinstorg+location+date}[1]{%
  \printfield{edition}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \iflistundef{#1}
    {\setunit*{\locdatedelim}}
    {\setunit*{\locpubdelim}}%
  \printlist{#1}%
  \setunit*{\pubdatedelim}%
  \usebibmacro{date}%
  \newunit}

\begin{filecontents}{\jobname.bib}
@book{Nachname1,
  author    = {Vorname1 Nachname1},
  date      = {2016},
  title     = {Ein interessanter Titel},
  edition   = {6},
  publisher = {Sonnenverlag},
  address   = {Freiburg},
}
@book{Nachname2,
  author    = {Vorname2 Nachname2},
  date      = {2020},
  title     = {Ein noch interessanterer Titel},
  edition   = {5th edition},
  publisher = {Mondverlag},
  address   = {Stockholm},
}
@book{elk,
  author    = {Anne Elk},
  editor    = {Annie Hacker},
  title     = {A Theory on Brontosauruses},
  year      = {1972},
  publisher = {Monthy \& Co.},
  location  = {London},
  url       = {https://example.edu/~elk/bronto.pdf},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Zitat 1: \cite{Nachname1}
Zitat 2: \cite{Nachname2}
\cite{elk}
\printbibliography
\end{document}

Wenn Dein eigentliches Ziel aber gar nicht ist, nur nach edition ein Komma zu bekommen, sondern die Idee eigentlich war, überall Kommas zu haben, außer nach Name und Jahr und nach dem Titel, dann müsste das anders aussehen. Den Unterschied kann man beispielsweise sehen, wenn man Werke zitiert, die außer einer Autorin noch eine Herausgeberin haben. Oder eine URL.


andré01
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Re: Suffix nach edition

Beitrag von andré01 »

Sehr herzlich danke ich für die ausführliche und detaillierte Antwort.
Es zeigt, dass die Frage oder das Anliegen doch nicht ganz so trivial ist.
Mein Anliegen ist tatsächlich ein Komma nur nach dem Eintrag der Edition. Mit der Uni habe ich allerdings geklärt, dass da auch ein Punkt stehen kann - es wird sinnvollerweise nicht so eng gesehen, solange das Verzeichnis konsistent ist. Somit belasse ich es bei dem Punkt statt einem Komma.
Aus technischer Neugierde probiere ich die Hinweise jedoch demnächst gerne aus - ich muss mich dazu in den Links noch etwas einlesen.
Somit herzlichen Dank nochmal.


andré01
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 12. Nov 2020, 10:09
Wohnort: Hamburg

Re: Suffix nach edition

Beitrag von andré01 »

Und danke für den Code. Es funktioniert!
Verstehen tue ich diese noch nicht. Ich arbeite mich ein.
Herzlichen Dank!


Antworten