Tausend Dank, das sah auf Anhieb schon gut aus, bringt aber doch Probleme. Hier der Vorher-nachher-Vergleich: die Verlinkung klappt gut, aber mit aufeinanderfolgenden, gleichen Autoren hat er immer noch so seine Probleme...
Zusätzlich kommt noch ein Problem mit Aufzählungen dazu, siehe ganz unten.
Das Minimalbeispiel für den rechten Teil sieht so aus:
Code:
\documentclass[final,ngerman]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{filecontents}
\begin{filecontents}{literatur.bib}
@BOOK{Szyperski2002a,
title = {Component Software: Beyond Object-Oriented Programming},
year = {2002},
author = {Clemens Szyperski},
}
@BOOK{Szyperski2002b,
title = {Component Software: Beyond Object-Oriented Programming},
year = {2002},
author = {Clemens Szyperski},
}
\end{filecontents}
% link color
\usepackage[pdftex,natural,dvipsnames]{xcolor}
\xdefinecolor{dblue}{rgb}{0,.1,.5}
%% hyperref + link color
\usepackage[pdftex,bookmarks,colorlinks]{hyperref}
\hypersetup{citecolor=dblue,linkcolor=dblue}
%% biblatex
\usepackage[style=authoryear-comp]{biblatex}
\bibliography{literatur}
% comma separating author-year
\renewcommand*{\nameyeardelim}{\addcomma\space}
% using brackets for parencite [Doe et al., 2001]
\renewcommand*{\mkbibparens}[1]{{\ifcitation{\bibleftbracket#1\bibrightbracket}%
{\bibleftparen#1\bibrightparen}}}
\renewbibmacro*{cite}{% Adapted from cite macro in authoryear.cbx
\printtext[bibhyperref]{% Enclose cite macro output in hyperlink
\DeclareFieldAlias{bibhyperref}{default}% Prevent nested hyperlinks
\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\addspace}}
{\printnames{labelname}%
\setunit{\nameyeardelim}}%
\usebibmacro{cite:labelyear+extrayear}}
{\usebibmacro{cite:shorthand}}}}
\DeclareCiteCommand{\textcite}% Adapted from \textcite command in authoryear.cbx
{\boolfalse{cbx:parens}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{% Enclose textcite macro output in hyperlink
\DeclareFieldAlias{bibhyperref}{default}% Prevent nested hyperlinks
\usebibmacro{textcite}%
\iffieldundef{postnote}% Include closing parenthesis if no postnote
{\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}}
{}}}
{\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}%
\multicitedelim}
{\iffieldundef{postnote}
{}
{\usebibmacro{textcite:postnote}}}
\begin{document}
a. parencite: \parencite{Szyperski2002a}\\
a. textcite: \textcite{Szyperski2002a}\\
\medskip
b. textcite: \textcite{Szyperski2002b}\\
b. parencite: \parencite{Szyperski2002b}\\
\medskip
a. parencite: \parencite{Szyperski2002a}\\
b. parencite: \parencite{Szyperski2002b}\\
a. textcite: \textcite{Szyperski2002a}\\
b. textcite: \textcite{Szyperski2002b}\\
\medskip
a,b. parencite: \parencite{Szyperski2002a,Szyperski2002b}\\
\printbibliography[title=Literaturverzeichnis]
\end{document}
Lesezeichen