我有几个大图,我使用命令将它们分成几页\subfloat
。我希望图中的每一页都显示图号,但完整的标题应该只显示在最后一页。只有完整的标题才应该出现在图列表中。以下代码显示了一个最小(不)工作示例:
\documentclass[a4paper,11pt,oneside,openany]{book}
\usepackage{graphicx}
\usepackage{float}
\usepackage{subfloat}
\usepackage{subfig}
\usepackage[hidelinks]{hyperref}
\begin{document}
\listoffigures
\begin{figure}
\caption{}
\end{figure}
\begin{figure}[!htpb]
\centering
\subfloat[]{%
\includegraphics[scale=1]{}
}\\
\subfloat[]{%
\includegraphics[scale=1]{}
}\\
\caption{}
\end{figure}
\begin{figure}
\centering
\ContinuedFloat
\subfloat[]{%
\includegraphics[scale=1]{}
}\\
\subfloat[]{%
\includegraphics[scale=1]{}
}\\
\caption{}
\end{figure}
\begin{figure}
\centering
\ContinuedFloat
\subfloat[]{%
\includegraphics[scale=1]{}
}\\
\caption{}
\label{fig:intensitystructureplots}
\end{figure}
\end{document}
但是,在hyperref
包含包的情况下,包含子浮点的图形的编号如下:组的第一个图形编号为图 2(正确),然后是图 1,然后是图 0。所有三个浮点在表格列表中都有一个条目。关闭hyperref
解决了数字递减的问题,现在所有图形都标记为图 2,但是命令链接的三个图形\ContinuedFloat
都在图形列表表中有一个条目,而实际上应该只列出最后一个,因为它们都是同一张图形的一部分。使用该\phantomcaption
命令会从图形列表中删除条目,但也会从图形中删除标签。
答案1
不幸的是,hyperref
内部支持subfig
已中断。另请参阅:
...
我知道的唯一解决方案是切换到我的包subcaption
[1]:
\documentclass[a4paper,11pt,oneside,openany]{book}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\usepackage[hidelinks]{hyperref}
\begin{document}
\listoffigures
\begin{figure}
\caption{}
\end{figure}
\begin{figure}[!htpb]
\centering
\subcaptionbox{}{%
\includegraphics[scale=1]{}
}\\
\subcaptionbox{}{%
\includegraphics[scale=1]{}
}\\
\caption[]{}
\end{figure}
\begin{figure}
\centering
\ContinuedFloat
\subcaptionbox{}{%
\includegraphics[scale=1]{}
}\\
\subcaptionbox{}{%
\includegraphics[scale=1]{}
}\\
\caption[]{}
\end{figure}
\begin{figure}
\centering
\ContinuedFloat
\subcaptionbox{}{%
\includegraphics[scale=1]{}
}\\caption{}
\label{fig:intensitystructureplots}
\end{figure}
\end{document}
(可以使用 来抑制 LOF 条目\caption[]{...}
。)
[1] 很抱歉这么无耻地自我宣传,但hyperref
中的支持中断subfig
是我写这篇文章的主要原因之一subcaption
。