ebd. bei \parencite UND \citeauthor{} (\citeyear{})

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


jackcha
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Di 12. Mär 2013, 13:13

ebd. bei \parencite UND \citeauthor{} (\citeyear{})

Beitrag von jackcha »

Hallo,

ich habe gerade mit Entsetzen festgesellt, dass meine ebd. Angaben von Biblatex nicht richtig ausgeben werden. Ich verwende sowohl den Befehl \parencite also auch "\citeauthor{} (\citeyear{})".
Kann ich irgendwie einstellen, dass auch \citeauthor und \citeyear einen Effekt auf \parencite haben? Also, wenn Ich A zitiere, dann AutorB (JahrB) und dann wieder A, darf nirgends ebd. stehen... Genau das passiert aber...

Hier ein Minimalbeispiel:
\documentclass{scrartcl} 

\usepackage[%
backend=bibtex,
bibencoding=ascii,
%backend=bibtex,
style=authoryear-ibid, 
pagetracker=true,
ibidpage=true,
backrefstyle=three+,
maxcitenames=3, 
maxbibnames=99,
doi=false,isbn=false,
sortcites=true]{biblatex}


\addbibresource{LitDaten.bib}
\usepackage{filecontents}  
\begin{filecontents}{LitDaten.bib}
@BOOK{Rost2005,
   AUTHOR = {Rost, Detlef H.},
   YEAR = {2005},
   TITLE = {Interpretation und Bewertung pädagogisch-psychologischer Studien - },
   EDITION = {2. überarb. u. erw. A.},
   ISBN = {978-3-825-28306-3},
   PUBLISHER = {Beltz},
   ADDRESS = {Langensalza},
}
@BOOK{Hoff2001,
   AUTHOR = {Rost, Detlef H.},
   YEAR = {2001},
   TITLE = {Interpretation und Bewertung pädagogisch-psychologischer Studien - },
   EDITION = {2. überarb. u. erw. A.},
   ISBN = {978-3-825-28306-3},
   PUBLISHER = {Beltz},
   ADDRESS = {Langensalza},
}
\end{filecontents} 

\begin{document}

Obwohl hier ein Zitat von A \parencite[vgl.][20]{Rost2005} und hier eins von B \citeauthor{Hoff2001} (\citeyear[][]{Hoff2001}) wird jetzt wieder ebd. angezeigt \parencite[vgl.][20]{Rost2005},  obwohl \citeauthor{Hoff2001} (\citeyear[][]{Hoff2001}) dazwischen war.

\end{document}
Es wäre super genial, wenn das zu beheben wäre, sonst wird das viel manuelle Umarbeitung...

Gast

\textcite

Beitrag von Gast »

Ich denke, du suchst eigentlich den Befehl
\textcite
(siehe [d]biblatex[/d], S. 85).

Zum Beispiel
\documentclass{article}
\usepackage[style=authoryear-ibid]{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}
\parencite{geer} und \textcite{worman}
\end{document} 
Man kann dafür sorgen, dass \citeauthor und \citeyear (mit Sternchen: \citeyear* bekommt man übrigens auch den Buchstaben) sich auch an der Zitationsverfolgung (das ist mein Versuch citation tracking zu übersetzen), beteiligen, das hat aber auch Nachteile.

So würde ein einfaches \cite nach einem \citeauthor (ohne zusätzliches \citeyear) "ibid." geben.
In einem Satz wie "\Citeauthor{wilde} schrieb nette Bücher, wie etwa \cite{wilde}." würde das zu fürchterlicher Verwirrung führen, denn mit den unten angegebenen Modifikationen bekommt man dann: "Wilde schrieb nette Bücher, wie etwa ibid." Aber soweit ich weiß, hat Oscar Wilde kein Buch namens "ibid." geschrieben.

\citeyear, \citeauthor sind lediglich dazu da, den Autor oder das Jahr einer Publikation auszugeben, etwa um etwas über den Autor zu schreiben, oder das Publikationsjahr zu erwähnen, ohne nachschauen zu müssen.
Um ein Werk zu zitieren, sollte man stets die "echten" Zitationsbefehle (\cite, \parencite, \textcite, \footcite, ...) nutzen.

Die nötigen Redefinition wären
\DeclareCiteCommand{\citeauthor}
 {\usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printnames{labelname}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand*{\citeauthor}
  {\usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printnames[][1-1]{labelname}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\citetitle}
  {\usebibmacro{prenote}}
  {\ifciteindex
     {\indexfield{indextitle}}
     {}%
   \printfield[citetitle]{labeltitle}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand*{\citetitle}
  {\usebibmacro{prenote}}
  {\ifciteindex
     {\indexfield{indextitle}}
     {}%
   \printfield[citetitle]{title}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\citeyear}
  {\usebibmacro{prenote}}
  {\printfield{year}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand*{\citeyear}
 {\usebibmacro{prenote}}
  {\printfield{year}\printfield{extrayear}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
[/i]

jackcha
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Di 12. Mär 2013, 13:13

Beitrag von jackcha »

DANKE für die ausgezeichnete Antwort! \textcite ist genau das, was ich gesucht und viel zu lange übergangen habe...

sorry für den Umstand mit dem umfangreichen Code!

Antworten