Latex:Make\listoffigures看起来像\ listoftables或\ lstlistoflistings

Aet*_*ius 5 latex listings

在我的表格列表和数据列表之后,我的文档末尾有一个列表清单.让我烦恼的是它们看起来一样,除了列表清单之外没有在章节之间留下线条间隙.

我有一个很好的谷歌周围,人们问了同样的问题,但似乎没有任何回应.

他们有什么理由看起来不一样,看起来简洁明了吗?

ear*_*arl 8

这样做的原因是\chapter命令添加了图表列表(lof)和表格(批次)列表中章节之间的垂直间距,而且列表清单(lol)根本没有这样的规定.

如何解决这个问题取决于你正在使用的文档类.如果您使用的是优秀的memoir类,则已经提供了用于此目的的钩子:

\renewcommand{\memchapinfo}[4]{%
  \addtocontents{lol}{\protect\addvspace{10pt}}}
Run Code Online (Sandbox Code Playgroud)

如果您的商品信息出现在附录中,则会挂钩\memappchapinfo而不是\memchapinfo.(有关可用挂钩列表,请参阅回忆录手册第18.25节.)

如果你没有使用memoir,你通常需要挂钩你的班级\@chapter命令.这可能看起来像,例如:

\makeatletter
\let\my@chapter\@chapter
\renewcommand*{\@chapter}{%
  \addtocontents{lol}{\protect\addvspace{10pt}}%
  \my@chapter}
\makeatother
Run Code Online (Sandbox Code Playgroud)

您可以通过检查与.lol文档对应的文件,轻松检查用于生成lol的内容.例如,如果您的文档是base.tex,请查看base.lol.你应该看到类似的东西:

\contentsline {lstlisting}{...}{...}
\contentsline {lstlisting}{...}{...}
\addvspace {10pt}
\contentsline {lstlisting}{...}{...}
Run Code Online (Sandbox Code Playgroud)

请注意将\addvspace内容行与不同章节分开.

由于用于在章节之间插入间距的实际代码也取决于文档类,因此将实际\addvspace命令调整为与您.lof.lot文件中的相同.