\caption 内的 \label 会引发错误。如果在 \caption 之后,对它的引用指向章节而不是图号

\caption 内的 \label 会引发错误。如果在 \caption 之后,对它的引用指向章节而不是图号

我正在使用tufte-book文档类在 Overleaf 中撰写文档。

我遇到一个问题,当我引用图形时。\ref{}它没有给我图形本身的编号,而是给了我图形所在部分的编号。这个问题以前出现过,但通常给出的解决方案是——“将\label \caption--- 对我来说没有任何变化。

起作用的是将 放在\label里面\caption,如下例所示:

\begin{figure}
  \centering
  \includegraphics{img.eps}
  \caption{\label{fig:myimg}Example caption}
\end{figure}

这解决了\ref问题,但是 Overleaf 给了我一个错误消息(尽管它可以正常编译 PDF):

未定义控制序列。@iiminipage 的参数有多余的}。失控参数?

图像标签:未定义的控制序列。@iiminipage 的参数有一个多余的}。失控参数?

这是 MWE。我使用 XeLaTeX 在 Overleaf 上运行它。

重要提示:我正在导入该subfigure包。我在这里没有使用它,但我在实际文档中使用它,我发现删除它可以解决问题!所以一定是它导致了问题,但为什么呢?

\documentclass[a4paper]{tufte-book}

\usepackage{subfigure} 

% add numbers to chapters, sections, subsections, subsubsections
\setcounter{secnumdepth}{4}

\begin{document}


Hello world.

\section{A section}

\subsection{A subsection}

See figure~\ref{fig:my_label}?

\subsection{A subsection}

\begin{figure}
    \centering
    \includegraphics{helix.pdf}
    \caption{Caption}
    \label{fig:my_label}
\end{figure}


\end{document}

输出:

上述代码的输出。这是一个包含一些部分和一张图片的虚拟文档。

答案1

用该subfigure包替换该subfig包解决了这两个问题!

我不仅可以将标签保留在标题内(例如\caption{\label{fig:myimg}Example caption}),就像我所做的那样,没有 Overleaf 错误消息,我还可以将它们留在\caption\ref作品之后(例如\caption{Example caption}\label{fig:myimg})。

相关内容