[Tex/LaTex] Hyperref link to bibliography entry

bibliographiescitinghyperreflinks

Is it possible to create a link to a particular bibliography item?

I'm hoping for something like:

This \hyperref[MyKey]{link} takes you to the same place as \cite{MyKey}.

A full (non-working) MWE:

\documentclass{article}
\usepackage[colorlinks,allcolors=red]{hyperref}

\begin{document}
This \hyperref[MyKey]{link} takes you to the same place as \cite{MyKey} does.

\begin{thebibliography}{9}

\bibitem{MyKey} Anne Author, Thoughts, 3001.

\end{thebibliography}
\end{document}

Best Answer

A simple solution is to set a \hypertarget in the bibliography item. The syntax is quite simple: Create the target with

\hypertarget{MyTargetKey}{}

and create a link to the target with

\hyperlink{MyTargetKey}{link text}

Everything put together:

\documentclass{article}
\usepackage[colorlinks,allcolors=red]{hyperref}

\begin{document}
This \hyperlink{MyTargetKey}{link} takes you to the same 
place as \cite{MyKey} does.

\begin{thebibliography}{9}

\bibitem{MyKey} \hypertarget{MyTargetKey}{} Anne Author, Thoughts, 3001.

\end{thebibliography}
\end{document}

If you work e.g. with BibLaTeX, this gets even more hackish, but still works. You can set the target in the author field.

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
    @BOOK{MyKey,
        AUTHOR    = {Author, \hypertarget{MyKeyH}{Anne}},
        TITLE     = {Thoughts},
        YEAR      = {3001},
    }
\end{filecontents*}

\documentclass{article}
\usepackage[colorlinks,allcolors=red]{hyperref}
\usepackage[backend=biber]{biblatex}

\addbibresource{\jobname.bib}

\begin{document}
This \hyperlink{MyKeyH}{link} takes you to the same place as \cite{MyKey} does.

\printbibliography

\end{document}

This is not a particularly nice solution, but I am not aware of a direct, elegant way.

Related Question