带有 scrreprt 的 \listoffigures 没有分页符

带有 scrreprt 的 \listoffigures 没有分页符

我列出了三个列表:\listoffigures\listoftables\lstlistoflistings。但是每个列表都在一个新页面上。我不想在每个列表后都设置分页符,而是希望将这三个列表都列在一页上。

经过一番谷歌搜索,我发现此行为与文档类有关。我的文档正在使用scrreprt,我无法(不想)更改类型。

如果我没记错的话,我需要重写/覆盖这些命令来删除分页符。但我不知道该怎么做。

答案1

一种方法是放松\clearpage,即在被调用时不执行任何操作。

其他可能性(不在这里):重新定义命令\listoftables等,并删除\clearpage其中的内容或使用etoolbox包来修补它们或 LariFaRi 评论中的链接中给出的答案。

当然,如果内容列表包含太多条目,一页就放不下。

\documentclass[paper=a4,12pt]{scrreprt}

\usepackage{listings}
\usepackage{hyperref}


\begin{document}

\let\LaTeXStandardClearpage\clearpage
\let\clearpage\relax  % Do nothing when a \clearpage command appears 
\listoffigures
\listoftables
\lstlistoflistings

\let\clearpage\LaTeXStandardClearpage % Return to the old definition


\chapter{First}

\begin{figure}

\caption{Dummy figure}
\end{figure}

\newpage

\begin{table}

\caption{Dummy table}

\end{table}





\chapter{Second}
\section{First}

\begin{lstlisting}[language=C, caption={Hello World in C}]
#include <stdio.h>

\int main( void )
{
 printf("Hello World\n");
 return(0);
}


\end{lstlisting}

\end{document}

在此处输入图片描述

相关内容