This is my first time posting a question here so please excuse some mistakes. What I want to do is to cite something with its original publication year and have it appear as such in my bibliography. I am using BibLaTeX with the following options:
\usepackage[style=authoryear-icomp, bibstyle=authoryear-comp]{biblatex}
To get my citation label to show the origyear
I was happy to find the following solution:
\DeclareLabelyear{\field{origyear}\field{year}}
This gives me the original publication date in citations, if available. Sadly, the bibliography does not include this label, but the year
field, so that I cite "lastname (1891) and my bibliography has an entry much like
lastname, first (2002): titel...
for example. To accommodate for this I did the following:
\AtEveryBibitem{%
\iffieldundef{origyear}{%
\printnames{author} (\printdate)\addcolon\addspace
}{%
\setunit*{\addspace}%
\printtext[]{\printnames{author} (\printorigdate)\addcolon\addspace}%
}%
\clearname{author}%
\clearfield{year}}
So, now I have the right label, meaning my bibliography entry is
lastname, firstname (1981): titel...
but the actual publication date is lost. I would like something like
lastname, firstname (1981): titel... published in booktitel (or whatever) 2002..."
Two questions come to mind here:
- is there an easier way to get to where I am at, that is why does the
\DeclareLabelyear
not change the label in my bibliography, too? - how do I include the actual publication date in my bibliography as well, and where?
(Perhaps a third question would also make sense at this point:
- does the citation style I have in mind make any sense in the first place, or should I just go with something like the APA suggests and have a (1981/2002) label in citations and my bibliography?)
EDIT: I was told to include a minimum working example, so here it comes (hopefully sufficient):
\documentclass[]{scrartcl}
\usepackage{csquotes}
\usepackage[backend=biber,
style=authoryear-icomp,
bibstyle=authoryear-comp,
]{biblatex}
\addbibresource{bibliography.bib}
\defbibenvironment{bibliography}
{\list
{}
{\setlength{\leftmargin}{\bibhang}%
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist}
{\item}
\DeclareNameFormat{author}{%
\ifthenelse{\value{listcount}=1}
{\textsc{#1}%
\ifblank{#3}{}{\addcomma\space \textsc{#3}}}
{\ifblank{#3}{}{\textsc{#3}\space}%
\textsc{#1}}%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addcomma\space}
{}}
\AtEveryBibitem{%
\iffieldundef{origyear}{%
\printnames{author} (\printdate)\addcolon\addspace
}{%
\setunit*{\addspace}%
\printtext[]{\printnames{author} (\printorigdate)\addcolon\addspace}%
}%
\clearname{author}%
\clearfield{year}}
\DeclareLabelyear{\field{origyear}\field{year}}
\begin{document}
Some text \cite{Frege.2002a}, some text \cite{Frege.2002b}.
\printbibliography
\end{document}
This is everything (as far as I see) that may have to do with my problem. Of course, here is my .bib
entry:
@incollection{Frege.2002c,
author = {Frege, Gottlob},
title = {{\"U}ber Sinn und Bedeutung},
pages = {23--46},
bookpaginationtype = {page},
volume = {4},
publisher = {Vandenhoeck {\&} Ruprecht},
isbn = {978-3-525-30603-1},
series = {Sammlung Philosophie},
editor = {Textor, Mark},
booktitle = {Funktion - Begriff - Bedeutung},
year = {2002},
origdate = {1892},
location = {G{\"o}ttingen},
number = {4}
}
@incollection{Frege.2002b,
author = {Frege, Gottlob},
title = {Funktion und Begriff},
pages = {2--22},
bookpaginationtype = {page},
volume = {4},
publisher = {Vandenhoeck {\&} Ruprecht},
isbn = {978-3-525-30603-1},
series = {Sammlung Philosophie},
editor = {Textor, Mark},
booktitle = {Funktion - Begriff - Bedeutung},
year = {2002},
origdate = {1891},
location = {G{\"o}ttingen},
number = {4}
}
Additionally you can see from this that this problem concerns an @incollection
entry, but I would like to fix it generally.
Best Answer
All of the standard author-year styles use the
authoryear
bibliography style, which has an additional option calledmergedate
. Its various settings are explained in example 50 of the biblatex documentation. To uselabelyear
in place ofyear
in the bibliography ditch your\AtEveryBibitem
hook and just load biblatex with one of the following:Alternatively you can redefine the
date+extrayear
bibliography macro:The next release will include some improvements to
mergedate
so that the author-year styles make consistent use oflabelyear
and year labels can be defined with greater flexibility via\DeclareLabeldate
.