请查看下面的屏幕截图。我遇到了一个问题,LaTeX 会将 放在\section
页面的最末端。到目前为止,我通过使用\newpage
但解决了这个问题我刚刚了解到这是完全错误的。
我将memoir
文档类与listings
包一起使用作为代码示例。屏幕截图中的页面是这样生成的:
\section{Substitute (find and replace) "foo" with "bar" on each line}
\begin{lstlisting}
awk '{ sub(/foo/,"bar"); print }'
\end{lstlisting}
....
\section{Substitute "foo" with "bar" only on lines that contain "baz"}
\begin{lstlisting}
awk '/baz/ { gsub(/foo/, "bar") }; { print }'
\end{lstlisting}
...
\section
有人知道如果 s 位于最底部,如何让它们始终转到新页面吗?
答案1
needspace
包提供了 \needspace 和 \Needspace 宏,用于在当前页面上请求一定量的空间来存储以下内容。
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{needspace}
\usepackage{listings}
\lstset{frame=single}
\usepackage{lipsum}
\begin{document}
\lipsum[1-6]
\Needspace*{10\baselineskip}% you need a vertical space of 10 times \baselineskip for the following section.
\section{Something}
\begin{lstlisting}
hello world !
hello universe !
\end{lstlisting}
\end{document}