我正在尝试了解使用图形时遇到的特定错误subfloat
。MWE 可重现该错误:
\documentclass{article}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\centering
\subfloat[][A]{\includegraphics[width=0.5\textwidth]{example-image-a}\label{fig:1a}}
\subfloat[\label{fig:1b}][B]{\includegraphics[width=0.5\textwidth]{example-image-b}}
\caption[abc]{abcdefg}\label{fig:stuff}
\end{figure}
\end{document}
产生以下消息:
./mwe.tex:11: Undefined control sequence.
<argument> ...sub\@captype }}}{\caption@subreffmt
{\@nameuse {p@sub\@captype...
l.11 ...textwidth]{example-image-a}\label{fig:1a}}
?
如果我移动第一个子浮点数 A 的标签[]
(就像对子浮点数 B 所做的那样),该示例将编译。subcaption
从 MWE 中删除也会删除错误,而无需对 MWE 进行进一步更改,因此我不清楚这是否可能是子标题中的错误,或者是我不理解的子浮点数标签应该如何放置的惯例。
答案1
不要将包subfig
与 一起加载subcaption
。实际上,由于subcaption
加载caption
,因此行
\usepackage{subcaption}
足够了。
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\centering
\subfloat[][A]{\includegraphics[width=0.5\textwidth]{example-image-a}\label{fig:1a}}
\subfloat[\label{fig:1b}][B]{\includegraphics[width=0.5\textwidth]{example-image-b}}
\caption[abc]{abcdefg}\label{fig:stuff}
\end{figure}
\end{document}