Änderung Citation Style Thema ist als GELÖST markiert

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


Sam85
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Do 13. Feb 2020, 21:17

Änderung Citation Style

Beitrag von Sam85 »

Hallo,

ich habe eine Frage wenn ich den Citation Style eines bestimmten Elements, in meinem Fall "online" verändern will. Wie gehe ich da vor? Aktuell wird "author, usera, year, page" ausgegeben. Es soll aber "url, urldate" ausgegeben werden. Betrifft jedoch nur die Onlinequelle. Kann ich das explizit manipulieren?

Freue mich über eine Rückmeldung. Dankeschön.

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

Re: Änderung Citation Style

Beitrag von MoeWe »

Grundsätzlich hängt das davon ab, wie Du Deine Zitate zur Zeit erstellst. Mit biblatex ist das Vorgehen gänzlich anders als mit BibTeX-basierten Lösungen. Wenn Du konkrete Hilfe möchtest, dann müsstest Du uns schon mehr über Deine Zitate verraten. Am besten in Form eines Minimalbeispiels.

Solltest Du biblatex nutzen, dann würde ich Dir den Ansatz, der am Ende von https://tex.stackexchange.com/a/457321/35864 beschrieben ist, vorschlagen. Der erlaubt es, die Zitatausgabe typspezifisch zu verändern. Ob und wie das bei Dir genau funktioniert, ist aus der Ferne natürlich schwer zu sagen.

Ich persönlich halte es aber für Unfug, @online-Quellen so anders zu behandeln als andere Quellen. Auch die Autor*innen von @online-Quellen verdienen es, genannt zu werden. Ferner ist es gerade bei diesen Quellen ein Segen, wenn Autor*innen und Titel bekannt sind, denn dann hat man, falls die URL irgendwann einmal ins Leere Laufen sollte, immerhin noch ein paar Anhaltspunkte, nach denen man suchen kann. Ferner habe ich zu oft den Eindruck, dass das Aufteilen von Internetquellen und "normalen Quellen" ein Aufteilen in weniger vertrauenswürdige und vertrauenswürdige Quellen sein soll. Das wird im Allgemeinen aber weder ersteren gerecht, noch können letztere den Anspruch nur aufgrund der Form erfüllen.

Sam85
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Do 13. Feb 2020, 21:17

Re: Änderung Citation Style

Beitrag von Sam85 »

Hallo MoeWe,

du hast den Nagel auf den Kopf getroffen. Für meine Thesis werden zwei Verzeichnisse geführt, 1x Literatur und 1x Internetquellen (ist von der Fakultät vorgegeben). Ja die Zitierweise ist mir auch neu, ich zeige dir mal den exemplarischen Vordruck aus der Richtlinie. Grundsätzlich würde ich sogar sagen, der Stil soll mit einer "If" Klausel versehen werden, falls wie du erwähnt hast, die Internetquelle einen Autor hat. Das Beispiel ist mit einem oder versehen, ich schätze das man wählen kann. Das Beispiel sieht gut aus, werde ich mir mal anschauen und versuchen zu implementieren. Ja ich verwende Biblatex mit Biber Backend. Zu den Internetquellen: Wir sind angehalten, Screenshots von Internetquellen mitzugeben, gerade wegen der Nachverfolgbarkeit. Auch das mit dem Vertrauenswürdig und weniger Vertrauenswürdig ist vmtl. ein Grund für die Trennung. Eine wissenschaftliche Arbeit soll ja nicht den Focus oder Spiegel noch Wikipedia als Quelle verwenden. Ich denke das Vertrauen beruht hier auf die Qualität der Quellen. Danke für deinen Input.

Online Citation
Online Citation

Sam85
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Do 13. Feb 2020, 21:17

Re: Änderung Citation Style

Beitrag von Sam85 »

Hi ,

ich habe nebenläufig mal eine Frage. Wenn ich im Literaturverzeichnis für die Onlinequelle eine Wenn Klausel einbinden möchte, wie gehe ich da vor? Bin leider nicht wirklich in der Materie und hatte nur eine Vorlage gefunden und würde diese jetzt soweit abändern. Ggf. kann mir jemand erklären was bei dem Code passiert. Was löst das "mkbibparens" aus und das "#1" an den diversen Stellen.

Freue mich auf eine Antwort. Danke schön.
literatur online
	if no author
		url, "Zugriff am" urldate
	else
		author (usera, year): title, <url> (date) ["Zugriff" urldate] 
\xpatchbibdriver{online}
  {\usebibmacro{organization+location+date}\newunit\newblock}
  {}
  {}{}

%Literaturverzeichnis: Online
\DeclareFieldFormat[online]{date}{\mkbibparens{#1}}
\DeclareFieldFormat{urldate}{[\langde{Zugriff}\langen{Access}\addspace{#1}]}
\DeclareFieldFormat[online]{url}{<\url{#1}>}
\renewbibmacro*{url+urldate}
	{
  		\usebibmacro{url}
  		\ifentrytype{online}
    		{
    			\setunit*{\addspace}
     			\iffieldundef{year}
       				{\printtext[date]{}}
       				{\usebibmacro{date}}
   			}
    	{}
  		\setunit*{\addspace}
  		\usebibmacro{urldate}
  	}
Und so ähnlich wird es dann wohl bei der Citation auch aussehen.
citation online
	if no author
		url, "Zugriff am" urldate.
	else		
		author, usera, year, page.

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

Re: Änderung Citation Style

Beitrag von MoeWe »

Grundsätzlich kannst Du mit \iffieldundef{<field>}{<true>}{<false>}, \iflistundef{<field>}{<true>}{<false>}, \ifnameundef{<field>}{<true>}{<false>} je nach Typ des relevanten Feldes (siehe biblatex-Anleitung, insbes. §2.2 Entry Fields) prüfen, ob ein Feld leer/nicht vorhanden ist. Für author also
\ifnameundef{author}
  {no author}
  {yes, there is an author}
Oftmals ist es in biblatex gar nicht unbedingt nötig, mit viel \iffieldundef zu hantieren, da die Zeichensetzung beispielsweise durch einen zusätzlichen Mechanismus vom Vorhandensein konkreter Felder abgekoppelt werden kann. In Deinem Fall wird man aber um den Befehl wohl kaum herumkommen.

\mkbibparens{<text>} erzeugt die Ausgabe "(<text>)", fügt also um das Argument einfach runde Klammern ein. (Das stimmt nicht ganz: Wenn sich um die runden Klammern weitere von biblatex kontrollierte Klammern befinden, dann alternieren runde und eckige Klammern.)

Im Kontext von \DeclareFieldFormat ist #1 der Inhalt des relevanten Feldes. Das field format wird später genutzt, um die Ausgabe des Feldes zu kontrollieren. Wenn dort also \mkbibparens{#1}, dann wird dieses Feld später in Klammern ausgegeben.

Der Codeblock
\renewbibmacro*{url+urldate}
	{
  		\usebibmacro{url}
  		\ifentrytype{online}
    		{
    			\setunit*{\addspace}
     			\iffieldundef{year}
       				{\printtext[date]{}}
       				{\usebibmacro{date}}
   			}
    	{}
  		\setunit*{\addspace}
  		\usebibmacro{urldate}
  	}
hat einige Merkwürdigkeiten.

Zunächst muss man bei LaTeX wissen, dass Zeilenenden wie normale Leerzeichen behandelt werden. Das bedeutet, dass ein Zeilenende ein Leerzeichen in der Ausgabe verursachen kann. In Definition wie in \renewbibmacro ist das oftmals nicht gewünscht. Bei biblatex ist es im hier sicher nicht gewünscht, da in diesem Kontext nur \setunit und Kollegen Zeichensetzung vornehmen sollten. Siehe auch https://tex.stackexchange.com/q/7453/35864

Ferner tut \printtext[date]{} nichts Vernünftiges. Bei ansonsten korrekter Nutzung ist das \iffieldundef{year} vor \usebibmacro{date} eh nicht notwendig, da \usebibmacro{date} von sich aus, nichts tut, wenn kein Datum (also kein year) da ist.

Ich würde eher bei
\renewbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \ifentrytype{online}
    {\setunit*{\addspace}%
     \usebibmacro{date}}
    {}
  \setunit*{\addspace}%
  \usebibmacro{urldate}}
rauskommen.

Sam85
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Do 13. Feb 2020, 21:17

Re: Änderung Citation Style

Beitrag von Sam85 »

Hi Moewe,

ich hab mich gestern Nacht auch etwas damit auseinander gesetzt und muss dir bei vielem zustimmen :).
Die Vorlage habe ich von hier: (habe bisher nur kleine Dinge geändert wie Doppelpunkt und so schnick schnack, weil es im Großen und Ganzen stimmig ist).
https://github.com/andygrunwald/FOM-LaTeX-Template

Wenn ich das hier richtig verstanden habe dann kann damit die Bibliography "Url und Urldate" überschrieben werden.
Und als erstes die "url" und zwar nur wenn es sich um einen "online" eintrag handelt. Dann wird zuerst ein Leerzeichen eingefügt und dann eine wenn Klausel auf das "year" angewendet. Wenn also das "year" nicht definiert ist, ich nehme an leer ist, dann soll "date" ausgegeben werden, andernfalls nicht. Dann wieder Leerzeichen und "urldate". Deute ich den Code richtig?
\renewbibmacro*{url+urldate}
	{
  		\usebibmacro{url}
  		\ifentrytype{online}
    		{
    			\setunit*{\addspace}
     			\iffieldundef{year}
       				{\printtext[date]{}}
       				{\usebibmacro{date}}
   			}
    	{}
  		\setunit*{\addspace}
  		\usebibmacro{urldate}
  	}
 
Das mit dem \ifnameundef werde ich gleich mal testen, danach habe ich gesucht. Danke schön.

Edit:
Zu den %: d.h. am Ende einer Zeile, die in der Nächsten fortgesetzt wird, muss um ein Leerzeichen zu vermeiden, das % gesetzt werden? Gilt das nur für Kontext innerhalb der {}?

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

Re: Änderung Citation Style

Beitrag von MoeWe »

Mit \renewbibmacro*{url+urldate} definierst Du ein Bibmakro namens url+urldate um. Normalerweise wird dieses Makro im Literaturverzeichnis von allen Typen verwendet. (Jeder Typ hat einen eigenen bibliography driver, der bestimmt, wie die Ausgabe im Literaturverzeichnis aussieht. Ein bibliography driver ruft meist eine Anzahl an Bibmakros auf, um die Ausgabe zu erledigen. Siehe z.B. den aktuellen @online-driver, standard.bbx, Z. 469-500. Das url+urldate-Makro wird standardmäßig universell verwendet.) Das bedeutet, dass Du dadurch die Ausgabe der URL und des Abrufdatums im Literaturverzeichnis anpasst.

Der gezeigte Code definiert das standardmäßig (in biblatex.def, Z. 2924-2929) als
\newbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addspace}%
     \usebibmacro{urldate}}}
definierte Makro etwas um.

Noch immer wird die URL ausgegeben (unabhängig vom Typ). Dann wird - nur für @online (mit \ifentrytype{online}{<true>}{<false>}) - nach einem Leerzeichen auch das date, also das Publikationsdatum, ausgegeben. (Wie gesagt ist das \printtext[date]{} nicht sinnvoll, da es nichts tut. \printtext[<format>]{<text>} gibt den gegebenen Text <text> im Format <format> aus. In der hier genutzten Eingabe ist <text> leer. Das ist ein Sonderfall, auf den biblatex extra testet und in dem gar nichts passiert. Das \iffieldundef{year} kann man sich ebenfalls sparen, da \usebibmacro{date} clever genug ist, nichts zu tun, wenn das Datum nicht definiert ist.) Schließlich kommt für alle Typen wieder ein Leerzeichen und dann das Abrufdatum.

Mit year und date muss man ein bisschen aufpassen. Die beziehen sich auf das gleiche, nämlich das Publikationsdatum. Zunächst ist es so, dass in der Eingabe - in der .bib-Datei - sowohl year als auch date valide Felder sind. year ist dabei als mit BibTeX-Stilen abwärtskompatible Alternative für date gedacht. Man kann nicht beide gleichzeitig haben! Im biblatex-Code, wie Du in hier schreibst, gibt es kein Feld date. Dort wird date in einzelne Datumsbestandteile aufgeschlüsselt. Wie das genau passiert, muss man nicht wissen, wenn man einfach \usebibmacro{date} oder \printdate nutzt, um das Datum auszugeben. Was man aber wissen sollte, ist, dass es im Allgemeinen nicht sinnvoll ist, Code einzuführen, der date und year in Bibmakros zu unterscheiden versucht. Mit \iffieldundef{year} testet man, ob ein Datum vorhanden ist (egal ob es in der Eingabe date oder year war). \printfield{year} sollte man nicht nutzen, da es nicht für alle Eingaben korrekt funktioniert, \printfield{date} funktioniert gar nicht, da es auf der LaTeX-Seite kein Feld date gibt. Stattdessen nimmt man - wie oben erwähnt - \printdate und Co. (hier in Form von [t]\usebibmacro{date}[/tt] das als \printdate definiert ist).

Zu den fehlenden %: Die Regeln von TeX sind hier nicht ganz trivial. Für eine korrekte Antwort möchte ich wie oben auf https://tex.stackexchange.com/q/7453/35864 und die dort genannten weiterführenden Links verweisen. (Wenn Dir eine deutsche Version lieber ist, sieh Dir https://texwelt.de/fragen/16/ an.)

In Text ist es normalerweise gewünscht, dass ein Zeilenende ein Leerzeichen ist. Schließlich liest man ein Zeilenende wie ein Leerzeichen und es wäre unpraktisch und kontraintuitiv, explizit Leerzeichen vor dem Zeilenende einfügen zu müssen, um sie im Text erscheinen zu lassen. In Makrodefinitionen ist es häufig nicht gewollt, dass alle Zeilenenden (die oftmals für eine bessere Übersicht im Code eingeführt wurden) ein Leerzeichen produzieren. Daher muss dort oft ein % stehen. Das hat jetzt nichts unbedingt damit zu tun, ob man sich innerhalb geschweifter Klammern befindet oder nicht (obwohl man sich bei Makrodefinitionen eigentlich immer innerhalb von geschweiften Klammern befindet).

Nun ist es so, dass biblatex dadurch wie es Zeichensetzung handhabt (idealerweise mit \setunit und Co.), in einigen Situationen einen zusätzlichen Schutz vor ungewollten Leerzeichen eingebaut hat. Daher ist es sehr gut möglich, dass eine Vielzahl von (eigentlich) fehlenden % kein Problem verursachen. Es ist aber dennoch eine gute Idee, sich mit den Regeln für % vertraut zu machen und sie korrekt zu setzen. Denn alles kann auch biblatex nicht.

Sam85
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Do 13. Feb 2020, 21:17

Re: Änderung Citation Style

Beitrag von Sam85 »

Hi,
hab mich jetzt länger nicht damit beschäftigen können und wollte das mit dem if clause endlich unterbringen.
Ich war der Ansicht, es sollte reichen das true abzufangen weil das false bestimmt das ursprüngliche Ergebnis darstellt. Leider klappt das nicht. Mein Plan ist, ifentrytype ist online dann ifnameundef nur die URL und das Datum. Wie setze ich das richtig um?

Freue mich über Input.
\ifentrytype{online}
	{%
		\ifnameundef{author}	
			{%
		\usebibmacro{url}
		\usebibmacro{urldate}
			}{}%
	}{}

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

Re: Änderung Citation Style

Beitrag von MoeWe »

Ein so kurzer Code-Ausschnitt ist leider bei weitem nicht genug, um ein Urteil treffen zu können. So ist mir überhaupt nicht klar, in welchem Kontext dieser Code aufgerufen wird. Treffende Hilfe in einem solchen Fall bräuchte ein Minimalbeispiel.

Grundsätzlich tut der gezeigte Code nur etwas, wenn der aktuell verarbeitete Eintrag ein @online-Eintrag ohne author ist. Dann gibt er erst die URL (mit \usebibmacro{url}, das standardmäßig als \newbibmacro*{url}{\printfield{url}} definiert ist) und dann das Abrufdatum (mit \usebibmacro{urldate}, das standardmäßig als \newbibmacro*{urldate}{\printurldate} definiert ist) aus. An der Stelle sollte ich erwähnen, das Zeichensetzung (auch Leerzeichen) innerhalb von \bibmacros (und auch dazwischen) nicht direkt, sondern immer mit \setunit und Freunden erfolgen sollte. Daher ist die Standarddefinition von url+urldate auch
\newbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addspace}%
     \usebibmacro{urldate}}}
Dem solltest Du folgen, indem Du nicht ein Leerzeichen erzeugst, indem Du nach \usebibmacro{url} das Zeilenende nicht kommentierst, sondern \setunit nimmst. Bei Dir also in etwa
\ifentrytype{online}
  {\ifnameundef{author}	
    {\usebibmacro{url}%
     \iffieldundef{urlyear}
       {}
       {\setunit*{\addspace}%
        \usebibmacro{urldate}}}
    {}}
  {}

Sam85
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 56
Registriert: Do 13. Feb 2020, 21:17

Re: Änderung Citation Style

Beitrag von Sam85 »

Hi MoeWe,

ich vermute das ist der gesamte Kontext was die Literaturangaben betrifft. Wie gesagt, ich habe das Beispiel von hier https://github.com/andygrunwald/FOM-LaTeX-Template und nur minimale Anpassung vorgenommen.
\usepackage[
backend=biber,
style=ext-authoryear-ibid, % Auskommentieren und nächste Zeile einkommentieren, falls "Ebd." (ebenda) nicht für sich-wiederholende Fussnoten genutzt werden soll.
%style=ext-authoryear,
maxcitenames=3,	% mindestens 3 Namen ausgeben bevor et. al. kommt
maxbibnames=999,
mergedate=false,
date=iso,
seconds=true, %werden nicht verwendet, so werden aber Warnungen unterdrückt.
urldate=iso,
innamebeforetitle,
dashed=false,
autocite=footnote,
doi=false,
useprefix=true, % 'von' im Namen beachten (beim Anzeigen)
mincrossrefs = 1
]{biblatex}%iso dateformat für YYYY-MM-DD

%weitere Anpassungen für BibLaTex
\input{skripte/modsBiblatex2018}
\usepackage{xpatch}

\setlength\bibhang{1cm}

%%% Weitere Optionen
%\boolitem[false]{citexref} %Wenn incollection, inbook, inproceedings genutzt wird nicht den zugehörigen parent auch in Literaturverzeichnis aufnehmen

%Aufräumen, die Felder werden laut Leitfaden nicht benötigt.
\AtEveryBibitem{
	\ifentrytype{book}
		{
		    \clearfield{issn}
		    \clearfield{doi}
		    \clearfield{isbn}
		    \clearfield{url}
		    \clearfield{eprint}
		}{}
	\ifentrytype{collection}
		{
			\clearfield{issn}
			\clearfield{doi}
			\clearfield{isbn}
			\clearfield{url}
			\clearfield{eprint}
		}{}
	\ifentrytype{incollection}
		{
			\clearfield{issn}
			\clearfield{doi}
			\clearfield{isbn}
			\clearfield{url}
			\clearfield{eprint}
		}{}
	\ifentrytype{article}
		{
			\clearfield{issn}
			\clearfield{doi}
			\clearfield{isbn}
			\clearfield{url}
			\clearfield{eprint}
		}{}
	\ifentrytype{inproceedings}
		{
			\clearfield{issn}
			\clearfield{doi}
			\clearfield{isbn}
			\clearfield{url}
			\clearfield{eprint}
		}{}
	\ifentrytype{online}
		{
			\clearfield{location}
			\clearfield{urltime}
			\clearfield{organization}
		}{}
}

%Kein Punkt am Ende des Literaturverzeichnisses
\renewcommand*{\finentrypunct}{}

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

\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\DeclareDelimFormat{titleyeardelim}{\newunitpunct}

%Namen kursiv schreiben
\renewcommand*{\mkbibnamefamily}{\mkbibemph}
\renewcommand*{\mkbibnamegiven}{\mkbibemph}
\renewcommand*{\mkbibnamesuffix}{\mkbibemph}
\renewcommand*{\mkbibnameprefix}{\mkbibemph}

% Die Trennung mehrerer Autorennamen erfolgt durch Kommata.
% siehe Beispiele im Leitfaden S. 16
% Die folgende Zeile würde mit Semikolon trennen
%\DeclareDelimFormat{multinamedelim}{\addsemicolon\addspace}

%Delimiter für mehrere und letzten Namen gleich setzen
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DeclareNameAlias{default}{family-given}

%Nach Namen sortieren
\DeclareNameAlias{sortname}{default}  

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{translatortype}{\mkbibparens{#1}}
\DeclareDelimFormat{translatortypedelim}{\addspace}
\DeclareDelimFormat[bib,biblist]{innametitledelim}{\addcomma\space}

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

\xpatchbibdriver{online}
  {\usebibmacro{organization+location+date}\newunit\newblock}
  {}
  {}{}

%Literaturverzeichnis: Online
\DeclareFieldFormat[online]{date}{\mkbibparens{#1}}
\DeclareFieldFormat[online]{url}{<\url{#1}>}
\DeclareFieldFormat[online]{urldate}{[{Zugriff}\addspace{#1}]}

\renewbibmacro*{url+urldate}
	{%
  		\usebibmacro{url}%
  		\ifentrytype{online}
    		{
    			\setunit*{\addspace}%
     			\iffieldundef{year}
       				{\printtext[date]{}}
       				{\usebibmacro{date}}
   			}{}
 		\setunit*{\addspace}%
  		\usebibmacro{urldate}
  	}

%\renewbibmacro*{url+urldate}{%
%	\usebibmacro{url}%
%	\ifentrytype{online}
%	{\setunit*{\addspace}%
%		\usebibmacro{date}}
%	{}
%	\setunit*{\addspace}%
%	\usebibmacro{urldate}}

%\ifentrytype{online}
%	{%
%		\ifnameundef{author}	
%			{%
%		\usebibmacro{url}
%		\usebibmacro{urldate}
%			}{}%
%	}{}

%Verhindern, dass bei mehreren Quellen des gleichen Autors im gleichen Jahr
%Buchstaben nach der Jahreszahl angezeigt werden wenn sich das Keyword in usera unterscheidet.
\DeclareExtradate{
  \scope{
    \field{labelyear}
    \field{year}
    }
    \scope{
      \field{usera}
     }
}

%% Anzeige des Jahres nach dem Stichwort (usera) im Literaturverzeichnis
%% Wenn das Jahr bei Online-Quellen nicht explizit angegeben wurde, wird nach
%% dem Stichwort 'o. J.' ausgegeben. Nach der URL steht dann 'keine
%% Datumsangabe'. Ist das Jahr definiert, wird es an beiden Stellen ausgegeben.
%% Das Zugriffsdatum (urldate) spielt hier keine Rolle.
%% Für Nicht-Online-Quellen wird nichts geändert.
\renewbibmacro*{date+extradate}{%
  \printtext[parens]{%
    \printfield{usera}%
    \setunit{\printdelim{titleyeardelim}}%
    \ifentrytype{online}
       {\setunit*{\addspace\addcomma\addspace}%
         \iffieldundef{year}
           {\bibstring{nodate}}
       {\printlabeldateextra}}%
       {\printlabeldateextra}}}

%% Anzeige des Jahres nach dem Stichwort (usera) in der Fussnote
%% das Stichwort hat der Aufrufer hier schon ausgegeben.
%% siehe auch Kommentar zu: \renewbibmacro*{date+extradate}
\renewbibmacro*{cite:labeldate+extradate}{%
    \ifentrytype{online}
       {\setunit*{\addspace\addcomma\addspace}%
         \iffieldundef{year}
           {\bibstring{nodate}}
       {\printlabeldateextra}}%
       {\printlabeldateextra}}

%Abkürzungen Literaturverzeichnis
\DefineBibliographyStrings{german}
	{
	  	nodate    	= {o\adddot\addspace J\adddot},
	 	andothers 	= {et\addabbrvspace al\adddot}
	}

\DefineBibliographyStrings{english}
	{
		nodate    	= {n\adddot\addspace d\adddot},
	  	andothers 	= {et\addabbrvspace al\adddot}
	}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[notfield=translator, final]
      \step[notfield=editor, final]
      \step[fieldset=author, fieldvalue={{{\langde{o\noexpand\adddot\addspace V\noexpand\adddot}\langen{Anon}}}}]
    }
    \map{
      \pernottype{online}
      \step[fieldset=location, fieldvalue={\langde{o\noexpand\adddot\addspace O\noexpand\adddot}\langen{s\noexpand\adddot I\noexpand\adddot}}]
    }
  }
}

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\printdelim{nonametitledelim}}}
       {\printnames{labelname}%
        \setunit{\printdelim{nametitledelim}}}%
     \printfield{usera}%
     \setunit{\printdelim{titleyeardelim}}%
     \usebibmacro{cite:labeldate+extradate}}
    {\usebibmacro{cite:shorthand}}}

    \renewcommand*{\jourvoldelim}{\addcomma\addspace}% Trennung zwischen journalname und Volume. Sonst Space; Laut Leitfaden richtig
    %Aufgrund der Änderung bzgl des Issues 169 in der thesis_main.tex musste ich die Zeile auskommentieren. Konnte aber das Verhalten, dass die Fußnoten grün sind, im nachhinein nicht feststellen.
    %\hypersetup{hidelinks} %sonst sind Fußnoten grün. Dadurch werden Links allerdings nicht mehr farbig dargestellt

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\jourvoldelim}%
  \iffieldundef{series}
    {}
    {\setunit*{\jourserdelim}%
     \printfield{series}%
     \setunit{\servoldelim}}%
  \iffieldundef{volume}
    {}
    {\printfield{volume}}
  \iffieldundef{labelyear}
  {}
  {
  (\thefield{year}) %Ansonsten wird wenn kein Volume angegeben ist ein Komma vorangestellt
  }
  \setunit*{\addcomma\addspace Nr\adddot\addspace}
  \printfield{number}
  \iffieldundef{eid}
  {}
  {\printfield{eid}}
}

% Postnote ist der Text in der zweiten eckigen Klammer bei einem Zitat
% wenn es keinen solchen Eintrag gibt, dann auch nicht ausgeben, z.B. 'o. S.'
% Wenn man das will, kann man das 'o. S.' ja explizit angeben. Andernfalls steht
% sonst auch bei Webseiten 'o. S.' da, was laut Leitfaden nicht ok ist.
\renewbibmacro*{postnote}{%
  \setunit{\postnotedelim}%
  \iffieldundef{postnote}
    {} %{\printtext{\langde{o.S\adddot}\langen{no page number}}}
    {\printfield{postnote}}}

% Abstand bei Änderung Anfangsbuchstabe ca. 1.5 Zeilen
\setlength{\bibinitsep}{0.75cm}

% nur in den Zitaten/Fussnoten den Vornamen abkürzen (nicht im
% Literaturverzeichnis)

\DeclareDelimFormat{nonameyeardelim}{\addcomma\space}
\DeclareDelimFormat{nameyeardelim}{\addcomma\space}

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
    {\printtext[bibhyperref]{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\printdelim{nonameyeardelim}}}
      {\toggletrue{abx@bool@giveninits}%
        \printnames[family-given]{labelname}%
        \setunit{\printdelim{nameyeardelim}}}%
      \printfield{usera}%
      \setunit{\printdelim{titleyeardelim}}%
     \usebibmacro{cite:labeldate+extradate}}}}
   {\usebibmacro{cite:shorthand}}}

Antworten