# Table reference

I wrote a long table with a label in a tex file and \input it into my main tex file. The reference in the main tex file to the table, however, does not show the numbering of the table but the one of the next table that are written directly in the main tex file. All long tables that are written directly in the main tex file have correct references. How to fix my problem? Must the label be defined in the same tex file as its reference?

The label is \label{tab:yy}, and the reference is \ref{tab:yy}, and every table has a distinct label.

-
If you have not already done so, check for spelling and coping errors in the \label's. Also for duplicate \labels. I've been stymied by that kind of thing once or twice. –  dmckee Mar 19 '10 at 16:01
The label is \label{tab:yy}, and the reference is \ref{tab:yy}, and every table has a distinct label. –  Tim Mar 19 '10 at 16:34
I had the same error! Unless I moved the label inside the caption, I was getting all kinds of wacky errors on the referenced tables and figures! Thank goodness I found this conversation!!! SO: moral of the story, just put the \label{uniquelabelhere} inside the caption affiliated with the intended referenced figure or table! –  user12866 Mar 22 '12 at 23:26
One of the stupidities of LaTeX. I never understood why, but as a matter of fact you have to put the caption above the label, e.g. \caption{Picture} \label{pic} otherwise LaTeX will get it wrong. –  Minamoto May 7 '12 at 20:58
The \label macro always labels the last thing which increased a counter. If you put it before \caption you are labeling usually the last sectioning command. This makes perfectly sense and is not a stupidity. This fact is also usually mentioned in many beginner texts about LaTeX. –  Martin Scharrer May 7 '12 at 21:43
show 1 more comment

## migrated from stackoverflow.comSep 14 '11 at 11:45

This question came from our site for professional and enthusiast programmers.

This may or may not help, but I've had similar problems with figure references where the figure number inserted into the text in place of the \ref command was wrong. I managed to solve it by putting the \label inside the figure's \caption, viz:

\begin{figure}
\caption{Some caption.\label{fig:some-figure}}
\includegraphics{some-figure.eps}
\end{figure}

It's difficult to say more without a more extensive example of what's going wrong, though!

-
Thanks! It works. I put \label just before \end when it did not work. Why is this? –  Tim Mar 19 '10 at 17:06
@Tim: I'm not entirely sure! If anyone else could answer this I'd be interested to hear. –  Will Vousden Mar 19 '10 at 17:07

Could it be that you need to rerun (La)TeX in order to imbed the new .aux file with the updated references?

OK, not that.

Could you post a minimal example that fails?

Sorry, don't know why @Will's answer works. Neither of my two bibles (the memoir manual and the Guide to LaTeX2e) says anything. The examples from there show \label{} coming right after \caption{}, not inside it.

???

-
Thanks! But no matter how many times latex command is run, the numbering is still wrong. –  Tim Mar 19 '10 at 15:48
See the answer of Will. Do you know why? –  Tim Mar 19 '10 at 18:06

In my case I solved it by writing \caption and \label together.

\caption{Test table}
\label{tb:testTable}
-
@random: Your edit made it worse instead of better. In LaTeX-code shouldn't be any HTML tags. –  Paŭlo Ebermann Aug 17 '11 at 1:04
That's what you get for kludging through and not using the toolbar by hacking in HTML tags to display code. @pau –  random Aug 17 '11 at 1:15