1

I am trying to link the Author Name.

\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}

@article{mcintosh1997rhythmic,
  title={Rhythmic auditory-motor facilitation of gait patterns in patients with Parkinson's disease.},
  author={McIntosh, Gerald C and Brown, Susan H and Rice, Ruth R and Thaut, Michael H},
  journal={Journal of Neurology, Neurosurgery \& Psychiatry},
  volume={62},
  number={1},
  pages={22--26},
  year={1997},
  publisher={BMJ Publishing Group Ltd}
}

\end{filecontents}


\documentclass[british]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}

\usepackage{csquotes}
\usepackage[%
  style=authoryear, 
  backend=biber, 
  maxcitenames=2,
  giveninits % <========================================================
]{biblatex}
\addbibresource{\jobname.bib} % \jobname to use the bib file created with filecontents
\DeclareNameAlias{sortname}{family-given}

\usepackage[unicode,colorlinks,citecolor=blue]{hyperref} % <============
\renewcommand*{\nameyeardelim}{\addcomma\space}

\newcommand{\mycite}[1]{\citeauthor{#1}'s \citeyear{#1}} % <============

\DeclareCiteCommand{\citeauthor} % <====================================
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printtext[bibhyperref]{\printnames{labelname}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}


\begin{document}

According to \citeauthor{mcintosh1997rhythmic}'s studies \autocite*{mcintosh1997rhythmic}, blablabla 

\mycite{mcintosh1997rhythmic} ->        McIntosh et al. (1990)\\
\textcite{mcintosh1997rhythmic}   ->        McIntosh et al. (1997)\\
\parencite{mcintosh1997rhythmic}  ->        (McIntosh et al., 1997)\\
\printbibliography
\end{document}

The output:

enter image description here

Only the year is link. The author name does not link it.

1

To get what you want you need to add the following code to your preamble:

\DeclareCiteCommand{\citeyear} % <======================================
    {}
    {(\bibhyperref{\printdate})}
    {\multicitedelim}
    {}

\DeclareCiteCommand{\parencite} % <=====================================
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \printtext[bibhyperref]{(\usebibmacro{cite}})}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\makeatletter
\let\abx@macro@textciteOrig\abx@macro@textcite
\renewbibmacro{textcite}{% <============================================
   \bibhyperref{%
   \let\bibhyperref\relax\relax%
   \abx@macro@textciteOrig%
   }%
}%
\makeatother

This code changes the commands \citeyear, \parencite and \textcite to add the hyperlink and brackets () if needed.

Please see the following complete MWE

\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}

@article{mcintosh1997rhythmic,
  title={Rhythmic auditory-motor facilitation of gait patterns in patients with Parkinson's disease.},
  author={McIntosh, Gerald C and Brown, Susan H and Rice, Ruth R and Thaut, Michael H},
  journal={Journal of Neurology, Neurosurgery \& Psychiatry},
  volume={62},
  number={1},
  pages={22--26},
  year={1997},
  publisher={BMJ Publishing Group Ltd}
}
\end{filecontents}


\documentclass[british]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}

\usepackage{csquotes}
\usepackage[%
  style=authoryear, 
  backend=biber, 
  maxcitenames=2,
  giveninits
]{biblatex}
\addbibresource{\jobname.bib} % \jobname to use the bib file created with filecontents
\DeclareNameAlias{sortname}{family-given}

\usepackage[unicode,colorlinks,citecolor=blue]{hyperref}
\renewcommand*{\nameyeardelim}{\addcomma\space}

\newcommand{\mycite}[1]{\citeauthor{#1}'s \citeyear{#1}}

\DeclareCiteCommand{\citeauthor}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printtext[bibhyperref]{\printnames{labelname}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\citeyear} % <======================================
    {}
    {(\bibhyperref{\printdate})}
    {\multicitedelim}
    {}

\DeclareCiteCommand{\parencite} % <=====================================
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \printtext[bibhyperref]{(\usebibmacro{cite}})}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\makeatletter
\let\abx@macro@textciteOrig\abx@macro@textcite
\renewbibmacro{textcite}{% <============================================
   \bibhyperref{%
   \let\bibhyperref\relax\relax%
   \abx@macro@textciteOrig%
   }%
}%
\makeatother


\begin{document}

According to \citeauthor{mcintosh1997rhythmic}'s studies 
\autocite*{mcintosh1997rhythmic}, blablabla 

\verb|\mycite|: \mycite{mcintosh1997rhythmic} ->        McIntosh et al. (1990) 

\verb|\textcite|: \textcite{mcintosh1997rhythmic}   ->        McIntosh et al. (1997) 

\verb|\parencite|: \parencite{mcintosh1997rhythmic}  ->        (McIntosh et al., 1997) 

\printbibliography
\end{document}

and its result:

resulting bibliography

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.