Table numbering mismatch in caption and in text
What the reference is actually pointing to is the \caption
because this is where the relevant counter is \refstepcounter
ed. That is, until LaTeX has read the caption, the label will point to the last thing "visible" to the label/ref mechanism. In this case, this is the subsection heading.
So put the label after the counter and it should work as expected.
How the reference/label mechanism works is like this:
- Various things (like
\section
,\begin{equation}
and\caption
) use\refstepcounter
to move a counter forward and this makes that counter's value the thing that\label
notices. - When you
\label
something, it writes stuff to the.aux
file to the effect of "If you see this\ref
, print a suitably formatted version of the counter's current value." - Things like
equation
will tell\label
to pay attention to the equation counter while you're inside the environment. This is also true oftable
. So labels outside the environment will point to the section again.
So when you put the \label
before the \caption
, \label
is set to refer to the last thing that set it, which is the subsection. So the label has to go after the caption and before the end of the environment for it to properly refer to the table.
Here is a little example to highlight the points above:
\documentclass{article}
\begin{document}
\stepcounter{section} % So that the labels have different values
\section{Example}
\begin{table}
\centering
\begin{tabular}{cc}
a&b\\
c&d
\end{tabular}
\label{tab:wrong}
\caption{This is a table}
\label{tab:right}
\end{table}
\label{tab:doublewrong}
\begin{equation}
x=y
\end{equation}
\label{eq:foo}
Here is some text and a reference to the section: \ref{eq:foo}.
Here are references to the section (\ref{tab:wrong},\ref{tab:doublewrong}) and the table (\ref{tab:right})
\end{document}
You should always put \label
after \caption
, for example
...
\end{tabular}
\caption{Določanje prioritet mojstrov znotraj registra AHB0\_EXTPRIO \cite[str.~507]{lpc3141datasheet}.}
\label{tab:2}