我如何确保列表不会被拆分?如果要拆分,我希望整个列表移动到下一页,有效地一次性移动所有内容。我的意思是列表之后的任何文本都必须保留在列表之后。
答案1
您可以将lstlisting
环境包装在minipage
环境中以禁止分页符:
\begin{minipage}{\textwidth}
\begin{lstlisting}
content
\end{lstlisting}
\end{minipage}
但是,当列表不适合时,这可能会导致列表前的页面上出现较大的空白。将列表变成带有标题和标签的浮动,并在文本中使用\ref
afigure
或等引用它会更好table
。这可以使用以下方法完成:
\begin{lstlisting}[float,caption=<Caption text>,label=<label>]
content
\end{lstlisting}
然后\ref{<label>}
在文本中使用。
这当然会让.tex
文件中列表后面的文本出现在最终文档中列表前面,而您不想看到的内容则不会出现。正如所述,更好的样式是调整您的文档以适应这一点。
答案2
\begin{framed} \begin{lstlisting} 或 \lstinputlisting{...} \end{lstlisting} \end{framed}