[Tex/LaTex] Link to equation and change text

cross-referencingequationshyperref

I am interested in linking to an equation – but being able to change the text.

I had thought I could combine this answer and this answer, but I cannot seem to get it to work.

I have attempted a variety of syntaxes similar to

\hyperref[eq:name]{my text describing the equation here}

but I cannot seem to get it to work.


This is the code I am currently using (well my equation is considerably more complicated but I have the same problem here)

\begin{align*} 
 y = x\label{testp}
\end{align*}
\hyperref[testp]{generalized form}

I get the following warning

LaTeX Warning: Hyper reference `testp' on page 4 undefined on input line 108.

Best Answer

For this it is easiest to use a \hypertarget and \hyperlink combination since you technically don't have a "counter that you can reference" - this is provided by \refstepcounter, which marks a position that you can hyperlink to:

enter image description here

\documentclass{article}
\usepackage{amsmath,hyperref}% http://ctan.org/pkg/{amsmath,hyperref}
% Taken from https://tex.stackexchange.com/a/17138/5764
\makeatletter
\newcommand{\labeltarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
\makeatother
\begin{document}
\begin{align*}
  y = x \labeltarget{testp}
\end{align*}
\hyperlink{testp}{generalized form}
\end{document}

Since \hypertarget sets its target at the baseline, it has to be raised for any practical application. See \hypertarget seems to aim a line too low.