我使用caption
和subcaption
包,如下例所示:
\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}
输出: