Is it possible to make a reference to the page where a figure is rendered?

I would like to write something like

see figure~\ref{figure-xyz} on page NN

where NN will automatically be maintained by LaTeX. The figure that prompted my question is almost a page so it may be floated further in the doc.

I suppose it's possible, after all the figure-to-page mapping is generated by \listoffigures.

see figure~\ref{figure-xyz} on page~\pageref{figure-xyz}

Also see the varioref package which lets you write see figure~\vref{figure-xyz} which will automatically add the "on page NN" iff the figure is not on the current page.

  • Excellent, thank you. I didn't know about the varioref package, it's very handy. – wishihadabettername Aug 23 '10 at 2:47
  • 3
    Note: according to variosref documentation, you do not need to add unbreakable space ~ before \vref. Any ordinary space will be converted into an unbreakable space. – Ricardo Cruz May 16 '15 at 12:12

Just use \pageref{}, so in your case:

see figure \ref{figure-xyz} on page \pageref{figure-xyz}
  • 18
    Please do not omit the ~. Without it, it could happen, that figure is placed at the end of the line and the number \ref{} at the beginning of the next line. ~ inserts an unbreakable space so that the number can't be divided from figure which is good typography. Same for ~\cite etc. – Mensch Sep 4 '12 at 23:31
  • @Mensch I wish I had known that before! – Andrea May 12 at 9:37

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.