子标题:从 lof 中删除页码

子标题:从 lof 中删除页码

我使用captionsubcaption包,如下例所示:

\documentclass{article}

\usepackage{caption}
\usepackage{subcaption}

\captionsetup[subfigure]{list=true}

\begin{document}
\listoffigures

\begin{figure}[!ht]
\centering
\begin{subfigure}{.5\linewidth}
\centering
A
\caption{test subfigure}
\end{subfigure}%
\begin{subfigure}{.5\linewidth}
\centering
B
\caption{another test subfigure}
\end{subfigure}
\caption{A figure with subfigures}
\end{figure}

\end{document}

我如何从图表列表中删除子图的页码?(在我的文档中,子图始终与“主图”位于同一页)

PS:tocloft 似乎与 caption/subcaption 包不兼容

答案1

这个办法似乎有效。

首先,tocloft使用选项加载该包subfigure,就像您正在使用该subfigure包一样。

\usepackage[subfigure]{tocloft}

现在,由于在这种情况下tocloft没有声明计数器lofdepth,我们明确声明它并将其设置为 2:

\newcounter{lofdepth}
\setcounter{lofdepth}{2}

此时,我们只需添加以下行

\cftpagenumbersoff{subfigure}

删除子图的页码。

完成 MWE:

\documentclass{article}

%\usepackage{caption}
\usepackage{subcaption}

\captionsetup[subfigure]{list=true}

\usepackage[subfigure]{tocloft}

\newcounter{lofdepth}
\setcounter{lofdepth}{2}

\cftpagenumbersoff{subfigure}


\begin{document}
\listoffigures

\clearpage

\begin{figure}[!ht]
\centering
\begin{subfigure}{.5\linewidth}
\centering
A
\caption{test subfigure}
\end{subfigure}%
\begin{subfigure}{.5\linewidth}
\centering
B
\caption{another test subfigure}
\end{subfigure}
\caption{A figure with subfigures}
\end{figure}

\end{document} 

输出:

enter image description here

相关内容