I am having a problem which is unfortunately quite specific.
Using biber and hyperref, I was trying to use the author’s name as a hyperref reference, too (not only the year) which is similar to bibtex/natbib.
In general, I think it looks quite nice but there is a problem when trying to reference the same author twice in a row:

What I would like to have when citing the same authors twice is the same output as in 4) but using \parencite or \textcite instead of \citeauthor and then \citeyear.
My code for producing the output above:
\documentclass{scrartcl}
\usepackage[backend=biber, style=apa]{biblatex}
\addbibresource{Bib.bib}
\usepackage{hyperref}
\usepackage{xcolor}
\hypersetup{
colorlinks,
linkcolor={red!50!black},
citecolor={blue!50!black},
urlcolor={blue!80!black}
}
\input{biberhyperlink.tex}
\begin{document}
First citations \parencite{Meltzer.Richard.1981} work quite nicely \parencite{Facchini.2018}.
However, when citing one author \parencite{Meltzer.Richard.1981} a second time in a row \parencite{Meltzer.Richard.1983}, it does not.
\textcite{Meltzer.Richard.1981} and \textcite{Meltzer.Richard.1983} does not work properly either.
\citeauthor{Meltzer.Richard.1981} (\citeyear{Meltzer.Richard.1981}) and \citeauthor{Meltzer.Richard.1983} (\citeyear{Meltzer.Richard.1983}) would work as a workaround.
\end{document}
Where the biberhyperlink.tex file defines the modified functions. I took them from other tex stackexchange questions (hyperlink name with biblatex authoryear and hyperlinking author names in biblatex when using \citeauthor) as noted below. I would guess there is a mistake but cannot figure it out myself:
% https://tex.stackexchange.com/questions/1687/hyperlink-name-with-biblatex-authoryear
\DeclareCiteCommand{\cite}
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{cite}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\cite}
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{citeyear}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\parencite}[\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{cite}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\parencite}[\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{citeyear}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\footcite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{ \usebibmacro{cite}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{cite}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\textcite}
{\boolfalse{cbx:parens}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{textcite}}}
{\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}%
\multicitedelim}
{\usebibmacro{textcite:postnote}}
% https://tex.stackexchange.com/questions/75902/hyperlinking-author-names-in-biblatex-when-using-citeauthor
\DeclareCiteCommand{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printtext[bibhyperref]{\printnames{labelname}}}
{\multicitedelim}
{\usebibmacro{postnote}}
For reproduction purposes, this is my bib file Bib.bib:
@article{Facchini.2018,
author = {Facchini, Francois},
year = {2018},
title = {{What Are the Determinants of Public Spending? An Overview of the Literature}}
}
@article{Meltzer.Richard.1981,
author = {Meltzer, Allan H. and Richard, Scott F.},
year = {1981},
title = {{A Rational Theory of the Size of Government}}
}
@article{Meltzer.Richard.1983,
author = {Meltzer, Allan H. and Richard, Scott F.},
year = {1983},
title = {{Tests of a Rational Theory of the Size of Government}}
}
If there is no solution to this problem, I would have to use the workaround shown in 4) but obviously, I would prefer a simpler solution.
\citeauthorand\citeyearcommands as linked citations in addition to your code? Example:\item \citeauthor{Meltzer.Richard.1981}'s (\citeyear{Meltzer.Richard.1981}) model shows\dots– FF0497 Jun 30 '21 at 19:08\citeyearis the wrong command here (butbiblatex-apauses a slightly unusual definition, which means that it actually does the right thing here). You should use\parencite*. (Answer updated with the code for those commands.) – moewe Jun 30 '21 at 19:20