# Bibliography with biblatex: how to create additional labels using authoryear-style?

I've got a problem with my bibliography. I'm working with biblatex using authoryear-style. I did some modifications for my semester paper, but there's still one problem left: I'd like to display additionally the last name(s) of the author and the year in the bibliography (just as in the continuous text). Both last name and year should be formatted bold. Here's an example:

In the continuous text: Test (Bögelsack et al. 1985).

In the bibliography:

Bögelsack et al. 1985

Bögelsack, G.; Kallenbach, E.; Linnemann, G. (1985): Roboter in der Gerätetechnik. Heidelberg: A. Hüthig. isbn: 3778510428.

Here's my .tex:

\documentclass{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[style=authoryear, maxcitenames=2, firstinits=true, uniquename=init, backend=biber]{biblatex}
\usepackage{filecontents}

\AtBeginBibliography{%
\DeclareFieldFormat{title}{#1\isdot}
\DeclareNameFormat{sortname}{
\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
\usebibmacro{name:andothers}}
}

\begin{filecontents}{Label.bib}
@book{Bogelsack.1985,
author = {B{\"o}gelsack, G. and Kallenbach, Eberhard and Linnemann, Gerhard},
year = {1985},
title = {Roboter in der Ger{\"a}tetechnik},
publisher = {A. H{\"u}thig},
isbn = {3778510428}
}
\end{filecontents}

\begin{document}

Test (\cite{Bogelsack.1985}).

\printbibliography

\end{document}


I spent many hours searching on the web to find a solution, but I didn't find anything about this topic. Does anybody have an idea?

• Welcome to TeX.sx! Oct 21 '13 at 10:27
• Hi Guido, Thank you very much for your rapid response! That's exactly what I wanted!!! Best regards, Tom
– Tom
Oct 21 '13 at 11:47
• Now I've got a further question. Is it possible to display "a, b, c" after the lableyear (in case that I've got the same author and the same lableyear more than once)? Thanks in advance!
– Tom
Oct 24 '13 at 17:01
• Thank you, Guido! Is it possible to set a counter like "maxbibnames=2" in the begentry-macro? Something like "maxlabelnames=2"? At the moment it displays "Warnecke et al." for a book with two authors. I want to display "Warnecke & Williams". Thanks in advance!
– Tom
Oct 31 '13 at 11:57

To achieve the desired result the simplest way is to redefine the begentry hook to print the labelname and labelyear.

\renewbibmacro{begentry}{%
\textbf{\printnames[][-\value{liststop}]{labelname}~\printfield{labelyear}\printfield{extrayear}}\\}


EDIT inserted \printfield{extrayear} to handle the case of multiple labels with the same combination of author-year.

Since this question was asked biblatex-ext has been released. The styles of that bundle offer a built-in solution for this question with the introcite option. You can read more about this option in §4.2. Style-specific options of the biblatex-ext documentation.

With introcite=plain and two small redefinitions we should be there.

The code in the MWE has been modernised to make use of newer biblatex features.

\documentclass[ngerman]{scrartcl}

\usepackage{babel}
\usepackage[autostyle, german=quotes]{csquotes}
\usepackage[backend=biber, style=ext-authoryear,
introcite=plain,
maxcitenames=2, giveninits=true, uniquename=init,]{biblatex}

\renewcommand*{\introcitepunct}{\newline}
\DeclareFieldFormat{bbx@introcite}{\mkbibbold{#1}}

\DeclareNameAlias{sortname}{family-given}

\DeclareDelimAlias*[bib]{finalnamedelim}{multinamedelim}

\DeclareFieldFormat{title}{#1\isdot}