o.J. bei \citeyear

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: o.J. bei \citeyear

Re: o.J. bei \citeyear

von MoeWe » Sa 20. Jun 2020, 20:26

Für Zitate dieser Bauart gibt es den Befehl \textcite. Wenn Du wirklich mal einen Befehl brauchst, der nur das labeldate ausgibt, dann kannst Du Dir in Analogie zu \citedate etwas eigenes bauen.

\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{hyperref}
\usepackage[backend=biber, style=authoryear, dashed=false]{biblatex}

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

\DeclareCiteCommand{\citelabeldate}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\printlabeldate}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand*{\citelabeldate}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\printlabeldateextra}
  {\multicitedelim}
  {\usebibmacro{postnote}}


\begin{filecontents*}{\jobname.bib}
@online{mustermann,
  author      = {Max Mustermann},
  shortauthor = {MM},
  title       = {Titel},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
  \parencite{mustermann}

  nach \textcite{mustermann}

  wenn's sein muss \citelabeldate*{mustermann}
  
  \parencite{knuth:ct:b,knuth:ct:c}
  
  Achtung! \citelabeldate*{knuth:ct:b,knuth:ct:c} vs \citelabeldate{knuth:ct:b,knuth:ct:c}

  \printbibliography
\end{document}

o.J. bei \citeyear

von Gast » Sa 20. Jun 2020, 20:12

Sofern das Jahr nicht angegeben wird, wird über \DeclareLabeldate im Literaturverzeichnis und bei zitieren o.J. angegeben. Nun möchte ich gerne nach jemanden zitieren, sodass ausgegeben wird: nach Mustermann (o.J). Probiert habe ich das mittels: nach \citeauthor{mustermann} (\citeyear{mustrmann}). Dabei erhalte ich zwar in der Klammer, die passende Verlinkung zum Literaturverzeichnis, jedoch ein leeres Feld. Manuelle Eingabe von o.J fällt aufgrund der Verlinkung weg.
Wie kann ich das umsetzen?

\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{hyperref
\usepackage[backend=biber, style=authoryear, dashed=false]{biblatex}

\DeclareLabeldate{
	\field{date}
	\field{year}
	\field{eventdate} 
	\field{origdate}
	\literal{nodate}
} % o.J bei keiner Angabe von Jahr

\begin{filecontents*}{\jobname.bib}
@online{mustermann,
  author      = {Max Mustermann},
  shortauthor = {MM},
  title       = {Titel},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
  \parencite{mustermann}

nach \citeauthor{mustermann} (\citeyear{mustermann})

  \printbibliography
\end{document}

Nach oben