1

Consider the following MWE, with a .tex file made of:

\documentclass[xcolor={svgnames},hyperref={colorlinks,allcolors=Blue}]{beamer}

\usepackage[style=authoryear-comp,backend=biber,natbib,hyperref=true]{biblatex}

\addbibresource{References.bib}

\begin{document}

\begin{frame}
\citet{serrano} is a great paper!
\citeauthor{serrano}'s \citeyearpar{serrano} paper is great!
\end{frame}

\begin{frame}
\printbibliography
\end{frame}

\end{document}

And a .bib file called References.bib containing

@article{serrano,
   author = "Roberto Serrano",
   title = "Reinterpreting the Kernel",
   journal = "Journal of Economic Theory",
   volume = "77",
   number = "1",
   pages = "58 -- 80",
   year = "1997",
   url = "https://doi.org/10.1006%2Fjeth.1997.2314"
}

As you can see in the image below, using \citet{serrano} produces a clickable blue link. However, using \citeauthor{serrano}'s \citeyearpar{serrano} does not. It looks inconsistent and, apparently, I can't sort this on my own. Hence, could anyone please tell me how make \citeyearpar{serrano} clickable and therefore blue?

enter image description here

PS: I place this question in Beamer because this behavior does not seem to occur neither in standard articles nor KOMA Script ones (at least not with my current full preamble).

Thank you all very much for your time.

2

In your case you need to add the following code:

\DeclareCiteCommand{\citeyearpar}
    {}
    {\mkbibparens{\bibhyperref{\printdate}}}
    {\multicitedelim}
    {}

With the complete MWE

\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{serrano,
   author = "Roberto Serrano",
   title = "Reinterpreting the Kernel",
   journal = "Journal of Economic Theory",
   volume = "77",
   number = "1",
   pages = "58 -- 80",
   year = "1997",
   url = "https://doi.org/10.1006%2Fjeth.1997.2314"
}
\end{filecontents}


\documentclass[%
  xcolor={svgnames},
  hyperref={colorlinks,allcolors=Blue}
]{beamer}

\usepackage[%
  style=authoryear-comp,
  backend=biber,
  natbib,
  hyperref=true
]{biblatex}
\addbibresource{\jobname.bib}

\DeclareCiteCommand{\citeyearpar}
    {}
    {\mkbibparens{\bibhyperref{\printdate}}}
    {\multicitedelim}
    {}


\begin{document}

\begin{frame}
\citet{serrano} is a great paper!
\citeauthor{serrano}'s \citeyearpar{serrano} paper is great!
\end{frame}

\begin{frame}
\printbibliography
\end{frame}

\end{document}

you get what you want:

enter image description here

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.