我在用着
\cleardoublepage
\renewcommand{\lstlistlistingname}{Quellcodeverzeichnis}
\enlargethispage{\baselineskip} %EITHER
\lstlistoflistings
\enlargethispage{\baselineskip} %OR THIS
\addcontentsline{toc}{chapter}{Quellcodeverzeichnis}
\cleardoublepage
但这个方法不管用:我在新页面上只得到了一个列表引用。它有一个新的章节编号,因此中间可能有一个空行。这就是为什么我还尝试增加\enlargethispage{3\baselineskip}
: 也不管用。有什么想法吗?谢谢!
答案1
您的问题似乎是将列表挤在一页中;这两种方法都不起作用:
\enlargethispage
before\lstlistoflistings
仅放大列表前面的页面,因为\lstlistoflistings
发出\cleardoublepage
命令;\enlargethispage
之后\lstlistoflistings
会放大列表的第二页,这是没用的。
这是一个解决方法:
\begingroup
\cleardoublepage
\let\cleardoublepage\relax
\enlargethispage{\baselineskip}
\lstlistoflistings
\endgroup
我们预先发出\cleardoublepage
,然后使命令成为无操作,要求放大页面,然后打印列表。组的末尾恢复 的先前含义\cleardoublepage
。
另一种方法是说
\lstlistoflistings
\addtocontents{lol}{\protect\enlargethispage{\baselineskip}}
它将添加下次排版列表所需的命令。第一次编译后,所有内容都应就位。如果列表列表位于文档末尾,请\addtocontents
在之后立即发出命令\begin{document}
。