Using the authoryear style, I want to cite works of two authors as A & B and more as A, et al., while listing authors as a A, b B and c C in the bibliography. Also, the whole citation should be a hyperlink, instead of just the year.
To that end I redefined the cite macro:
\renewbibmacro*{cite}{\printtext[bibhyperref]
{\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\iffieldundef{label}
{\printfield[citetitle]{labeltitle}}
{\printfield{label}}\setunit{\addspace}}
{\renewcommand*{\finalnamedelim}{ \& }%
\printnames[][-\ifnumgreater{\value{listtotal}}{2}{1}{2}]{labelname}%
\setunit{\nameyeardelim}}%
\iffieldundef{labelyear}{}{\printfield{labelyear}\printfield{extrayear}}}
{\printfield{shorthand}}}}
Is there a more robust way to do this, some options I missed, or a CBX that does this already?
maxcitenamesandmaxbibnameswork as expected. Please provide a complete minimal working example. – Marco Daniel Apr 06 '13 at 15:16\citebut at\usebibmacro{cite}. – pascal Apr 06 '13 at 15:39