答案1
我的评论的扩展。\enlargethispage
可能会有所帮助,但不幸的是它并不是万能的灵丹妙药。
% enlargeprob.tex SE 637686
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\enlargethispage{1\baselineskip} %% extends text by one line
%\enlargethispage{2\baselineskip} %% extends text by two lines, bumping into the footer
%\enlargethispage{3\baselineskip} %% extends text by three lines, overprinting the footer
\lipsum[1-6]
\end{document}
答案2
虽然您肯定没有使用标准\section
,但由于没有 MWE,我不得不凑合(您的里程可能会有所不同)。如果没有特殊处理,任何超过的内容38\baselineskip
都会强制分页。
主要问题是多列会在前后添加额外的空间。删除这些空间的一种方法是将其放入 minipage 中,以吸收顶部和底部的空间。
\documentclass[letterpaper]{article}
\usepackage{multicol}
\usepackage{showframe}
\begin{document}
\noindent\rule{\textwidth}{39\baselineskip}
\section{Section}\everypar{}% disable \@afterheading
\hrule
\noindent\begin{minipage}{\textwidth}
\begin{multicols}{4}
\begin{itemize}
\item a
\item b
\item c
\item d
\end{itemize}
\end{multicols}\end{minipage}
\hrule
\end{document}