I'm writing a scientific report and it's required that the first reference to any figure or table (not to equations or sections) in the text is set bold like this:


Is there a package for this kind of task?

The acronym package does something similar giving the full description of an acronym when it's used for the first time, so I guess it's not a too special problem.

1 Answer 1


The following works:

enter image description here

    \nfss@text{\reset@font\bfseries ??}%
    \@latex@warning{Reference `#3' on page \thepage \space
    \expandafter\ifx\csname used@#1\endcsname\relax
      \expandafter\global\expandafter\def\csname used@#1\endcsname{used}%
      {\bfseries\expandafter#2#1\null}% Formatting of first reference
  \caption{A figure}\label{fig:figure}
See Figure~\ref{fig:figure}. The same reference to Figure~\ref{fig:figure}.

It modifies the macro \@setref which is called from \ref to decide whether a reference exists or not. The formatting is based on a condition to check whether a newly defined macro used@<label> exists or not.

Formatting of the first reference is set using \bfseries and can be modified to suit.

  • Thanks for your prompt and detailed answer. Could you modify the example so that the ref{} command prints Fig. x instead of only the number and is still bold for the first time? Sorry for not having been specific enough in my question.
    – Deve
    Mar 15, 2012 at 10:20
  • 1
    @Deve: this would require some package (like, AFAIR, cleveref), since in "vanilla" LaTeX you always have to supply the "Ref.~" part yourself. Don't have time to implement it now, if nobody answers (which is unlikely), I'll try to do it tomorrow.
    – mbork
    Mar 15, 2012 at 12:23

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.