你的图片太宽了,无法在一行中并排显示。如果多个子图片
不能放在同一行中,latex会自动换行。你需要为每个包含的图形子图片
指定宽度,使它们的总宽度小于\textwidth
参数,例如:
\begin{figure}
\centering
\subfigure[]{\includegraphics[width=0.24\textwidth]{monalisa.jpg}}
\subfigure[]{\includegraphics[width=0.24\textwidth]{monalisa.jpg}}
\subfigure[]{\includegraphics[width=0.24\textwidth]{monalisa.jpg}}
\subfigure[]{\includegraphics[width=0.24\textwidth]{monalisa.jpg}}
\caption{(a) blah (b) blah (c) blah (d) blah}
\label{fig:foobar}
\end{figure}
如果你将宽度设置得太高,例如width=0.5\textwidth
就会导致我认为是你的问题。
虽然这个问题已经问了很久,但@gehbiszumeis提供的解决方案对我不起作用,我仍然得到了每个子图的正常图注。因此,如果还有人遇到与我相同的问题,请按照这里的教程进行操作:
\begin{figure}
\centering
\begin{subfigure}{.24\textwidth}
\centering
\includegraphics[width=.95\linewidth]{FIRST IMAGE}
\caption{}
\label{SUBFIGURE LABEL 1}
\end{subfigure}
\begin{subfigure}{.24\textwidth}
\centering
\includegraphics[width=.95\linewidth]{SECOND IMAGE}
\caption{}
\label{SUBFIGURE LABEL 2}
\end{subfigure}
\begin{subfigure}{.24\textwidth}
\centering
\includegraphics[width=.95\linewidth]{THIRD IMAGE}
\caption{}
\label{SUBFIGURE LABEL 3}
\end{subfigure}
\begin{subfigure}{.24\textwidth}
\centering
\includegraphics[width=.95\linewidth]{FOURTH IMAGE}
\caption{}
\label{SUBFIGURE LABEL 4}
\end{subfigure}
\caption{FIGURE CAPTION}
\label{FIGURE LABEL}
\end{figure}
\begin{figure}
\centering
\subfigure(a){\includegraphics[width=0.24\textwidth]{monalisa.jpg}}
\subfigure(b){\includegraphics[width=0.24\textwidth]{monalisa.jpg}}
\subfigure(c){\includegraphics[width=0.24\textwidth]{monalisa.jpg}}
\subfigure(d){\includegraphics[width=0.24\textwidth]{monalisa.jpg}}
\caption{(a) blah (b) blah (c) blah (d) blah}
\label{fig:foobar}
\end{figure}
\usepackage{subfigure}
而不是\usepackage{subcaption}
。如果使用 subcaption,代码将会出现你描述的错误。更多细节请参见这里。 - gehbiszumeis