子图包中的图片列表中的编号错误

子图包中的图片列表中的编号错误

我在以下 MWE 的图表列表中得到了错误的子图编号。

如果我删除该FIGTOPCAP选项或将其放在\caption顶部,问题就解决了,但我想保留它们。有什么想法吗?

\documentclass{book}
\usepackage[tight,FIGTOPCAP]{subfigure}
\setcounter{lofdepth}{2}

\begin{document}
\listoffigures

\begin{figure}
    \frame{
        \begin{minipage}[t]{0.4\textwidth}
            PIC 1
        \end{minipage}
    }
    \caption[Short Caption]{Long Caption}
\end{figure}

\begin{figure}
    \subfigure[Sub-caption A]{\label{LabelA}%
        \frame{
            \begin{minipage}[t]{0.4\textwidth}
                PIC 2A
            \end{minipage}
        }%
    }
    \hfill
    \subfigure[Sub-caption B]{\label{labelB}%
        \frame{
            \begin{minipage}[t]{0.4\textwidth}
                PIC 2B
            \end{minipage}
        }%
    }%
    \caption[General Short Caption]{General Long Caption\label{GenLabel}}
\end{figure}
\end{document}

答案1

subfigure软件包早已被宣布为过时。使用后继软件包可以得到正确的输出subfig(请注意,必须使用\subfloat而不是\subfigure\subtable); 是\captionsetup从文档中提取的,以模拟旧选项。

\documentclass{book}

\usepackage{subfig}
\captionsetup[subfloat]{position=top,
  farskip=10pt,topadjust=0pt,captionskip=10pt,
  nearskip=10pt,margin=10pt}

\setcounter{lofdepth}{2}

\begin{document}
\listoffigures

\begin{figure}
\framebox[0.4\textwidth]{PIC 1}
\caption[Short Caption]{Long Caption}
\end{figure}

\begin{figure}
\subfloat[Sub-caption A]{\label{LabelA}%
  \framebox[0.4\textwidth]{PIC 2A}%
}%
\hfill
\subfloat[Sub-caption B]{\label{labelB}%
  \framebox[0.4\textwidth]{PIC 2A}%
}

\caption[General Short Caption]{General Long Caption\label{GenLabel}}
\end{figure}
\end{document}

以下是“图片列表”

在此处输入图片描述

这是包含子浮点数的部分

在此处输入图片描述

答案2

选项FIGTOPCAP(和FIGBOTCAP) 控制常规标题以及子图标题的设置。在您的示例中,子图的标题被分配给第一个图形,因为它们出现在第一个图形之后和第二个图形之前\caption

subfigure此包提供了三个所谓的“标志”(→subfigure手动的, 4.5“将标题对齐到图表上方”,第 23 页及后续页):

  • \subfiguretopcaptrue
  • \subfiguretopcapfalse
  • \figuretopcaptrue

不可否认,我不能完全理解手册中的解释和示例;解决方案是删除选项FIGTOPCAP并使用\subfiguretopcaptrue(最好在序言中),因为它确实按照说明书上说的做。

代码

\documentclass{book}
\usepackage[tight]{subfigure}
\subfiguretopcaptrue
\setcounter{lofdepth}{2}

\begin{document}
\listoffigures

\begin{figure}
    \frame{
        \begin{minipage}[t]{0.4\textwidth}
            PIC 1
        \end{minipage}
    }
    \caption[Short Caption]{Long Caption}
\end{figure}

\begin{figure}
    \subfigure[Sub-caption A]{\label{LabelA}%
        \frame{
            \begin{minipage}[t]{0.4\textwidth}
                PIC 2A
            \end{minipage}
        }%
    }
    \hfill
    \subfigure[Sub-caption B]{\label{labelB}%
        \frame{
            \begin{minipage}[t]{0.4\textwidth}
                PIC 2B
            \end{minipage}
        }%
    }%
    \caption[General Short Caption]{General Long Caption\label{GenLabel}}
\end{figure}
\end{document}

输出

在此处输入图片描述

相关内容