LaTEX 无法引用图形。使用 texstudio 作为编辑器

LaTEX 无法引用图形。使用 texstudio 作为编辑器

我有下图:

    \begin{figure}[h!]
        \begin{center}
            \includegraphics[scale=1]{image/a.pdf}
            \caption{a}
        \end{center}
        \label{fig:a}
    \end{figure}

并在文本中间的某处调用它:

\ref{fig:a}

pdf 中的输出仅显示为:

Figure ??

我必须改变什么?

编辑:我将命令\lable{fig:a}上移:

    \begin{figure}[h!]

        \begin{center}
            \includegraphics[scale=1]{image/a.pdf}
            \caption{a}
            \label{fig:a}
        \end{center}

    \end{figure}

答案1

您的代码存在几个问题。首先你不应该使用center环境,而\centering应该将单个图形居中。然后你应该注意:\label应该始终与要标记的元素位于同一组级别,并且位于该元素后面(或有时位于其内部)。这里的\label应该指的是 的计数器\caption。因此\label通常应放置在 后面\caption

\documentclass{article}
\usepackage{mwe}
\begin{document}
  See figure~\ref{fig:a}.
  \begin{figure}
    \centering
    \includegraphics{example-image}
    \caption{a}
    \label{fig:a}
  \end{figure}
\end{document}

尽管如此,在第一次运行 LaTeX 后你仍然会得到??

??

这是因为\label只将标签信息写入 -file ,而 LaTeX 在下次运行 LaTeX时aux从 -file 读取它。因此总是显示上次运行 LaTeX 的信息,而不是当前运行 LaTeX 的信息。aux\begin{document}\ref

第二次运行 LaTeX 后,你会看到:

供参考

因此,如果添加新标签,则始终需要至少运行两次 LaTeX 才能查看参考文献中的标签信息。

相关内容