我有一个figure
带有多个的subfigures
。figure
有一个\caption
,这在 中很混乱List of Figures
。我更喜欢\captions
在每个 上都放\subfigures
。我目前使用的代码是:
\begin{figure}[htpb]
\centering
\subfigure[]{
\includegraphics[width=.45\columnwidth]{../Images/GloveOfDoom/RFIDTag_Testing_Side_s}
}
\caption{My caption!}
\end{figure}
这有效。但是,当我将 a 放在\caption
任何 中时\subfigures
,使用这个例子作为参考,我收到了错误:
\begin{figure}[htpb]
\centering
\subfigure[]{
\caption{Subfloat caption dies with error.}
\includegraphics[width=.45\columnwidth]{../Images/GloveOfDoom/RFIDTag_Testing_Side_s}
}
\caption{My caption!}
\end{figure}
我收到的错误:
<../Images/GloveOfDoom/RFIDTag_Testing_Side_s.jpg, id=4, 520.94624pt x 347.2975
pt> <use ../Images/GloveOfDoom/RFIDTag_Testing_Side_s.jpg>
Overfull \hbox (7.1944pt too wide) in paragraph at lines 51--51
[]\OT1/cmr/m/n/9 ()
! Extra }, or forgotten \endgroup.
\@subfloat ...use {c@\@captype }\m@ne \fi \egroup
l.51 }
! Extra }, or forgotten \endgroup.
\@endfloatbox ...pagefalse \outer@nobreak \egroup
\color@endbox
l.53 \end{figure}
! Too many }'s.
\color@endbox ->\color@endgroup \egroup
l.53 \end{figure}
! LaTeX Error: \begin{document} ended by \end{figure}.
当我注释掉包含添加的行时\caption
,一切都编译成功并且看起来正常。我该如何修复这个问题?我不知道在哪里查看,也不知道为什么会发生这种情况。
显示此错误的一个最小示例是:
% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
\documentclass[11pt]{report} % use larger type; default would be 10pt
%\usepackage{refcheck}
\usepackage[pdftex]{graphicx}
\usepackage[utf8]{inputenc} % set input encoding (not needed with XeLaTeX)
\usepackage{array} % for better arrays (eg matrices) in maths
\usepackage{color} % Colorize code listings
\usepackage{fixltx2e}
\usepackage{geometry} % to change the page dimensions
\usepackage{hyperref}
\usepackage{listings} % Code listings
\usepackage{mathtools} % Math Equations
\usepackage{mdwlist}
\usepackage{paralist} % very flexible & customisable lists (eg. enumerate/itemize, etc.)
\usepackage{rotating}
\usepackage{setspace}
\usepackage{subfigure}
\geometry{a4paper} % or letterpaper (US) or a5paper or....
\linespread{1.5}
\begin{document}
\begin{figure}[htpb]
\centering
\subfigure[]{
\caption{Subfloat caption dies with error.}
\includegraphics[width=.45\columnwidth]{../Images/GloveOfDoom/RFIDTag_Testing_Side_s}
}
\caption{My caption!}
\end{figure}
}
\end{document}
答案1
您应该只使用一个figure
环境:
\begin{figure}
\centering
\begin{minipage}[b]{.45\textwidth}
\includegraphics[width=\textwidth]{A}
\caption{First caption}\label{first}
\end{minipage}\hfill
\begin{minipage}[b]{.45\textwidth}
\includegraphics[width=\textwidth]{B}
\caption{Second caption}\label{second}
\end{minipage}
\end{figure}
水平对齐方式可以变化。如果两个字幕的行数不同,则垂直对齐方式可能会出现一些问题。
答案2
因此,您遇到的错误与我smallmatrix
在 中使用环境时遇到的错误相同caption
。构造图表列表的方法是使用
\caption[short text for the list]
{complete description, that's 3 lines long below the image}
这也解决了内联数学的问题,即您只在第二个参数中使用内联数学。
查看您的软件包,您可能会考虑切换到subcaption
,因为subfigure
已经过时了,例如参见此处\subfigure 和 \subfloat 之间有什么区别?。