Auf der von Johannes verlinkten Seite war der Hinweis mir darauf nicht deutlich genug (vielleicht habe ich heute aber auch einfach nur Tomaten auf den Augen), das Problem hier ist die Nutzung von \mkbibnamelast. Dieser Befehl heißt heute \mkbibnamefamily. Du brauchst also
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
Im neuen System solltest Du auch
\DeclareNameAlias{sortname}{family-given}
statt \DeclareNameAlias{sortname}{last-first} schreiben.
Mit der aktuellen Version 3.4 von
biblatex funktioniert Dein Beispiel übrigens wieder wie gewünscht, aber es gibt Warnungen, die darauf hinweisen, dass Du die hier vorgeschlagenen Änderungen vornehmen solltest:
Package biblatex Warning hat geschrieben:Attempt to redefine deprecated \mkbibnamelast, please use \mkbibnamefamily instead. Using \mkbibnamefamily.
MWE
\documentclass[a4paper, 11pt, headsepline]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[backend=biber, natbib=true, dashed=false, style=authoryear, maxcitenames=2, sorting=nty]{biblatex}
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand*{\finalnamedelim}{\space\&\space}
\DefineBibliographyStrings{ngerman}{andothers={et\addabbrvspace al\adddot}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\parencite{sigfridsson}.
\printbibliography
\end{document}
(Ich bin mir nicht ganz sicher, wie Du die bibcategory "books" in Deinem Dokument zu benutzen gedenkst, aber vielleicht kann man das auch etwas leichter haben, z.B. durch Filterung nach type, dann musst Du nicht alles manuell basteln.)
Auf der von Johannes verlinkten Seite war der Hinweis mir darauf nicht deutlich genug (vielleicht habe ich heute aber auch einfach nur Tomaten auf den Augen), das Problem hier ist die Nutzung von [tt]\mkbibnamelast[/tt]. Dieser Befehl heißt heute [tt]\mkbibnamefamily[/tt]. Du brauchst also
[code]\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}[/code]
Im neuen System solltest Du auch
[code]\DeclareNameAlias{sortname}{family-given}[/code]
statt [tt]\DeclareNameAlias{sortname}{last-first}[/tt] schreiben.
Mit der aktuellen Version 3.4 von [p]biblatex[/p] funktioniert Dein Beispiel übrigens wieder wie gewünscht, aber es gibt Warnungen, die darauf hinweisen, dass Du die hier vorgeschlagenen Änderungen vornehmen solltest:
[quote="Package biblatex Warning"]Attempt to redefine deprecated [tt]\mkbibnamelast[/tt], please use [tt]\mkbibnamefamily[/tt] instead. Using [tt]\mkbibnamefamily[/tt].[/quote]
MWE
[code]\documentclass[a4paper, 11pt, headsepline]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[backend=biber, natbib=true, dashed=false, style=authoryear, maxcitenames=2, sorting=nty]{biblatex}
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand*{\finalnamedelim}{\space\&\space}
\DefineBibliographyStrings{ngerman}{andothers={et\addabbrvspace al\adddot}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\parencite{sigfridsson}.
\printbibliography
\end{document}[/code]
(Ich bin mir nicht ganz sicher, wie Du die bibcategory "books" in Deinem Dokument zu benutzen gedenkst, aber vielleicht kann man das auch etwas leichter haben, z.B. durch Filterung nach [tt]type[/tt], dann musst Du nicht alles manuell basteln.)