未定义控制序列 \label

未定义控制序列 \label

我正在尝试运行以下脚本

\documentclass[•]{article}
\usepackage{subfigure}

\begin{document}
\begin{figure}[htp]
  \begin{center}
    \subfigure[Original image]{\label{fig:edge-a}\includegraphics[scale=0.75]{1}}
    \subfigure[After Laplace edge detection]{\label{fig:edge-b}\includegraphics[scale=0.75]{3}} \\
    \subfigure[After Sobel edge detection]{\label{fig:edge-c}\includegraphics[scale=0.75]{2}}
  \end{center}
  \caption{Various edge detection algorithms}
  \label{fig:edge}
\end{figure}
\end{document}

该脚本的基础是此链接作者在其中解释了如何放置多个图形,并分别为每个图形和整个图形集添加局部和全局标题。唯一的区别是我使用自己的图像和自己的序言(链接没有提供)。

当我运行它时出现以下错误:

! 未定义控制序列。\label {fig:edge-a}\includegraphics[scale=0.75]{1} ...ig:edge-a}\includegraphics[scale=0.75]{1}}

为什么会出现这种情况? \label 控制序列不是独立于任何 usepackage 吗? 我该如何解决这个问题?

答案1

你得到的错误是

! Undefined control sequence.
<argument> \label {fig:edge-a}\includegraphics 
                                               [scale=0.75]{1}
l.7 ...fig:edge-a}\includegraphics[scale=0.75]{1}}

这表明未定义的控制序列是\includegraphics。这是因为你没有

\usepackage{graphicx}

请注意,subfigure几年前已被弃用,其后继者是subfig;该命令\subfigure应更改为\subfloat

\documentclass{article}
\usepackage{subfig}
\usepackage{graphicx}

\begin{document}

\begin{figure}[htp]
  \centering
    \subfloat[Original image]{\label{fig:edge-a}\includegraphics[scale=0.75]{1}}
    \subfloat[After Laplace edge detection]{\label{fig:edge-b}\includegraphics[scale=0.75]{3}} \\
    \subfloat[After Sobel edge detection]{\label{fig:edge-c}\includegraphics[scale=0.75]{2}}
  \caption{Various edge detection algorithms}
  \label{fig:edge}
\end{figure}

\end{document}

使用\centering,而不是center环境。

相关内容