番号が出るべき所に ??(文献なら [?])が表示されたら、相互参照が未解決です。原因はほぼ——コンパイル回数の不足、\label の欠落・綴り違い、または \label の位置ミス。さらに、ラベルの重複は別の警告を出します。
?? の意味
\ref/\pageref は 前回の実行 が書いた .aux を読みます。だから初回(やラベルを足した直後)は値が分からず ?? になり、ログに「Rerun to get cross-references right」と出ます。\cite も同様に [?] になります。対処はもう一度コンパイル——通算 2 回(latexmk 等のビルドツールは自動でやってくれます)。2 回流しても ?? が残るなら、それは本当にラベルが見つからない状態です。
ラベルが見つからない
\ref{x}に対応する\label{x}が 無い/綴り違い。- 図表では
\labelを\captionの直後(float の中)に置く——前や外だと番号がずれて章番号などを拾う。 - 文献が
[?]のまま →bibtex/biberを実行して再コンパイル、またはキーが.bibに無い。 - ラベルは一貫した接頭辞(
fig:・sec:・eq:)で付けると整理・検索しやすい。
latex
\begin{figure}
\includegraphics{fig.pdf}
\caption{グラフ}
\label{fig:graph} % \caption の直後に / right after \caption
\end{figure}
... 図~\ref{fig:graph} を参照。ラベルの重複
LaTeX Warning: Label 'x' multiply defined は、同じ \label{x} が 2 か所にある警告で、参照先が曖昧になります。ラベルを一意に(接頭辞や連番で)しましょう。コピー&ペーストで複製したラベルが原因のことが多いです。