我得到了同样的错误在这个问题中,但是我之前已经从该subfig
软件包切换subcaption
到了。我正尝试在 Linux 上重新编译一个 TeX 文件,而之前在 OS X 上这个文件是没问题的。
所以我在我的课程文件中找到了这个:
% \usepackage{subfig} % --- this replaces subfigure
\usepackage{subcaption} % --- this replaces subfig
我查看了subcaption
文档,在§3.4.4 中确实提到了该\subfloat
命令。
阅读有关此问题的其他 Stackexchange 帖子,我发现很多人subcaption
认为不是定义subfloat
,而其他人则坚持认为做获取该命令。我的解释是,这可能subfloat
是特定版本的一部分subcaption
,后来可能被删除了?
答案1
这个旧代码……
\begin{figure}
\centering
\subfloat[sub-caption1]{
\includegraphics{...}
\label{fig:sub1}
}
\subfloat[sub-caption2]{
\centering\includegraphics{...}
\label{fig:sub2}
}
\caption{main caption}
\label{fig:main}
\end{figure}
…可以粗略地重写为
\begin{figure}
\centering
\begin{subfigure}{0.48\textwidth}
\centering\includegraphics{...}
\caption{sub-caption1}\label{fig:sub1}
\end{subfigure}
\begin{subfigure}{0.48\textwidth}
\centering\includegraphics{...}
\caption{sub-caption2}\label{fig:sub2}
\end{subfigure}
\caption{main caption}
\label{fig:main}
\end{figure}
请注意,您必须找到合适的宽度参数并使用附加\centering
命令,否则标题现在是左对齐的。