答案1
这是一个解决方案book.cls
间隙由\chapter
命令(实际上是 \@chapter`)引入,使用
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
每次设置新章节时,即设置相关.lof
或.lot
文件的垂直空间(间隙!)。
可以通过 来解决这个问题\xpatchcmd{}
,将 中的命令替换\@chapter
为“无”。
\documentclass{book}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\@chapter}{%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
}{}{}{}
\makeatother
\begin{document}
\listoffigures
\chapter{First}
\begin{figure}
\caption{Dummy figure}
\end{figure}
\begin{figure}
\caption{Dummy figure}
\end{figure}
\chapter{Second}
\begin{figure}
\caption{Dummy figure}
\end{figure}
\end{document}
答案2
如果您正在使用 KOMA-Script 类(scrbook
或srcreprt
),您可以使用该选项listof=nochaptergap
来禁用间隙:
\documentclass[listof=nochaptergap]{scrbook}
\usepackage[ngerman]{babel}
\begin{document}
\listoffigures
\chapter{First}
\captionof{figure}{Eine Abbildung}
\captionof{figure}{Eine zweite Abbildung}
\chapter{Second}
\captionof{figure}{Eine Abbildung im zweiten Kapitel}
\end{document}