我有许多图表(目前是 8 个)描述了算法的不同阶段,每个图表都在自己的图形环境中,并附有标题和我在文本中引用的标签(描述相当长,目前有 6 页)。但是,这些图片非常相似,将它们放在“算法 4.2,步骤 42”等简短标题下的图形列表中是愚蠢的。
我正在寻找一种解决方案,它不会在图表列表中放置许多类似的条目,但仍允许引用至少第一个图表,并使它们全部感觉像是一系列的一部分。
例如,我们可以像子图一样对图表进行编号,即“图 4.2a”,但将它们保存在不同的图形环境中,然后仅将第一个图形作为“4.2”放入图表列表中。
更好的是,也许我们可以在图形列表中放入一个范围,例如“图 4.2-4.9”或“图 4.2a-4.2h”。
我真的不知道如何让它看起来好看,所以我也愿意接受不同的解决方案。谢谢你的帮助!
(我没有提供最小示例,因为它会很长并且不包含任何特殊内容。但是,如果您想让我提供一个,我会对其进行编辑。)
答案1
我认为在 LoF 中添加诸如“图 4.2-4.9”之类的范围不是一个好主意,因为除非所有八个图都出现在同一个页面上(即 LoF 中出现的页面),否则它可能会产生歧义。尝试使用 LoF 中的页面范围来规避这种情况可能会更糟,因为可能在该范围的某个页面中没有出现浮动。
\ContinuedFloat
以下是一个建议,使用caption
包。只有一系列步骤中的“主要”浮点数才会在 LoF 中产生条目;在\caption
该系列的后续浮点数中使用空的可选参数可确保不会在 LoF 中产生任何条目。还可以为后续浮点数声明一个特殊标签(在我的示例代码中,每个浮点数都有一个标签,形式为“图 # (Cont.)”,但您可以根据需要进行更改),以明确指定它是一系列的延续。
\documentclass[openany]{book}% openany just for the example
\usepackage[a6paper]{geometry}% just for the example
\usepackage{caption}
\DeclareCaptionLabelFormat{continued}{#1~#2 (Cont.)}
\captionsetup[ContinuedFloat]{labelformat=continued}
\begin{document}
\listoffigures
\chapter{A test chapter}
\clearpage% just for the example
\begin{figure}
\caption{First Algorithm---Step 1}
\end{figure}
\begin{figure}
\ContinuedFloat
\caption[]{First Algorithm---Step 2}
\end{figure}
\begin{figure}
\ContinuedFloat
\caption[]{First Algorithm---Step 3}
\end{figure}
\begin{figure}
\caption{Second Algorithm---Step 1}
\end{figure}
\begin{figure}
\ContinuedFloat
\caption[]{Second Algorithm---Step 2}
\end{figure}
\begin{figure}
\ContinuedFloat
\caption[]{Second Algorithm---Step 3}
\end{figure}
\begin{figure}
\ContinuedFloat
\caption[]{Second Algorithm---Step 4}
\end{figure}
\end{document}
最终的 LOF 如下:
包含算法步骤的页面: