Probleme mit Zitaten und LitVerzeichnis ohne Datum

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


max
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Fr 30. Okt 2015, 14:02
Wohnort: Mainz

Probleme mit Zitaten und LitVerzeichnis ohne Datum

Beitrag von max »

Hallo liebes golatex-Forum,
heute ist mein Problem, dass ich bemerkt habe, dass in meinem Dokument die Jahreszahlen von Internetquellen falsch verwendet werden. Eine Internetquelle, die kein Feld date hat, nutzt stattdessen das Feld urldate, welches das Abrufdatum dokumentiert. Das ist natürlich absolut nicht gewollt.
Da ich meine Literatur mit der Literaturverwaltung Zotero verwalte möchte ich ungern mit dem Workaround
date = {o.J.}
arbeiten, da dies für mich bedeutet, dass ich die von Zotero erstellte .bib-Datei nachträglich manuell bearbeiten muss - und zwar nach jedem Export für alle Quellen ohne Datumsangabe.

edit: Zotero akzeptiert die Eingabe von o.J. im Datumsfeld nicht und lässt das Feld dennoch frei

Weiterhin wird in Buchquellen statt "o.J." "o.D." angegeben. Damit könnte ich ja noch leben - vllt können wir das ja mit in diesem Ticket gemeinsam abfrühstücken?

Die Ausgabe des Kompilierens des Minimalbeispiels sieht dann so aus:
Bild
Herzlichen Dank schonmal für die diesmalige Hilfe!

Mein Minimalbsp:
\documentclass[fontsize=12pt,paper=a4,abstracton,bibliography=totoc]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}
%---------------
%BIBLATEX-KRAMS
%---------------
\usepackage[%
backend=biber,
style=authoryear-icomp,
sortcites=true,
dashed=false,
pagetracker=true,
maxnames=2,
minnames=2,
isbn=false,
doi=false,
]{biblatex}
\setcounter{biburllcpenalty}{7000}
\setcounter{biburlucpenalty}{8000}
\renewcommand{\postnotedelim}{\addcolon\addspace}
\DeclareFieldFormat{postnote}{#1}
\renewcommand{\labelnamepunct}{\addcolon\addspace}
\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}
\newbibmacro*{url+urldate+date}{%
  \printfield{url}%
  \iffieldundef{urlyear}
  {}
  {\setunit*{.\par\nobreak}%
  \iffieldundef{year}
  {}
  {\printtext{erstellt am: \printdate}%
  \setunit{\addsemicolon\space}% 
  \printtext[urldate]{\printurldate}}}
}
\AtEveryBibitem{%
  \clearfield{note}%
}
\AtEveryBibitem{%
  \clearfield{pagetotal}%
}
\AtEveryBibitem{%
  \clearfield{titleaddon}%
}
\usepackage{url}
\begin{filecontents}{literatur.bib}
@book{rawls_eine_2014,
  address = {Frankfurt am Main},
  author = {Rawls, John},
  edition = {19},
  title = {Eine Theorie der Gerechtigkeit},
  year = 2014
}
@book{autor_titel_????,
	location = {Mainz},
	edition = {5},
	title = {Titel},
	pagetotal = {98},
	author = {{Autor}}
}
@online{solides_internet_????,
	title = {internet},
	url = {http://www.dasinternet.de},
	author = {{Solides Impressum}},
	urldate = {2017-03-07}
}
\end{filecontents}
\bibliography{literatur}
\begin{document}
Text \autocites[5]{rawls_eine_2014}\\
Text \autocites{solides_internet_????}\\
Text \autocite[3]{autor_titel_????}\\
\printbibliography[title=Literaturverzeichnis]
\include{erklaerung}
\end{document}

Gast

Beitrag von Gast »

Du kannst das Verhalten mit
\DeclareLabeldate{%
  \field{date}
  \field{year}
  \field{eventdate}
  \field{origdate}
  \literal{nodate}
}
abschalten, dann werden nur noch die aufgeführten Felder für das Datum herangezogen, nicht aber urldate das standardmäßig dort auf vorletzter Stelle steht.

"o.J." gibt es mit
\DefineBibliographyStrings{german}{nodate = {{}o\adddot J\adddot},}
Das Makro url+urldate+date, das Du selbst definierst, wird in dem gezeigten Minimalbeispiel nicht verwendet uns sieht etwas gewöhnungsbedürftig aus. Was möchtest Du denn damit erreichen?

Dein Minimalbeispiel mit den genannten Änderungen und ein paar kleinen Modifikationen für die Lesbarkeit (kannst Du ja übernehmen, wenn Du möchtest).
\documentclass[fontsize=12pt,paper=a4,abstracton,bibliography=totoc]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}
%---------------
%BIBLATEX-KRAMS
%---------------
\usepackage[%
backend=biber,
style=authoryear-icomp,
sortcites=true,
dashed=false,
pagetracker=true,
maxnames=2,
minnames=2,
isbn=false,
doi=false,
]{biblatex}
\setcounter{biburllcpenalty}{7000}
\setcounter{biburlucpenalty}{8000}

\renewcommand*{\postnotedelim}{\addcolon\addspace}
\DeclareFieldFormat{postnote}{#1}

\renewcommand{\labelnamepunct}{\addcolon\addspace}

\DefineBibliographyStrings{german}{nodate = {{}o\adddot J\adddot},}

\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}


\AtEveryBibitem{%
  \clearfield{note}%
  \clearfield{pagetotal}%
  \clearfield{titleaddon}%
}


\DeclareLabeldate{%
  \field{date}
  \field{year}
  \field{eventdate}
  \field{origdate}
  \literal{nodate}
}

\begin{filecontents}{\jobname.bib}
@book{rawls_eine_2014,
  address = {Frankfurt am Main},
  author = {Rawls, John},
  edition = {19},
  title = {Eine Theorie der Gerechtigkeit},
  year = 2014,
}
@book{autor_titel_????,
   location = {Mainz},
   edition = {5},
   title = {Titel},
   pagetotal = {98},
   author = {{Autor}},
}
@online{solides_internet_????,
   title = {internet},
   url = {http://www.dasinternet.de},
   author = {{Solides Impressum}},
   urldate = {2017-03-07},
}
@online{solides_internet_2010,
   title = {internet},
   url = {http://example.edu},
   date = {2010-04-05},
   author = {{Solides Impressum}},
   urldate = {2017-03-07},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Text \autocites[5]{rawls_eine_2014}\\
Text \autocites{solides_internet_????}\\
Text \autocite[3]{autor_titel_????,solides_internet_2010}\\
\printbibliography[title=Literaturverzeichnis]
\include{erklaerung}
\end{document}

max
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Fr 30. Okt 2015, 14:02
Wohnort: Mainz

Beitrag von max »

Anonymous hat geschrieben: Das Makro url+urldate+date, das Du selbst definierst, wird in dem gezeigten Minimalbeispiel nicht verwendet uns sieht etwas gewöhnungsbedürftig aus. Was möchtest Du denn damit erreichen?
Vielen Dank für deine Hilfe - mit dem Code bekomme ich die gewünschte Ausgabe.
Was das o.g. Makro einmal bewirken sollte kann ich nicht rekonstruieren. Ich vermute, dass es mit dem Versuch ein Problem zu lösen seinen Weg aus dem Internet in meine Präambel gefunden hat. Jedenfalls sieht die Bibliographie auch ohne das Makro so aus wie sie sollte ;-)

Danke auch fürs Aufräumen der Präambel, das sieht schon deutlich besser aus!

Beste Grüße
Max

Antworten