当内部列表紧接着外部列表的末尾时,如何防止内部列表后出现分页符?
两个列表内的其他地方应该允许分页。
平均能量损失
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\newenvironment{lista}{%
\list{}{}%
\item\relax
}{%
Prevent page break before here.
\endlist
}
\newenvironment{listb}{%
\list{}{}%
\item\relax
}{%
\endlist
}
\begin{document}
\vspace*{7.5cm plus 1cm}
\begin{lista}
\begin{listb}
\lipsum[4]
\end{listb}
Permit page break before here.
\begin{listb}
\lipsum[4]
\end{listb}
\end{lista}
\end{document}
答案1
为了防止在内部列表后面紧跟着外部列表结尾时出现分页符,您可以\filbreak
在内部列表之后、其后的文本之前使用该命令。该\filbreak
命令鼓励在该位置进行分页,从而防止内部列表和外部列表之间出现中断。以下是您的 MWE 的更新版本:
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\newenvironment{lista}{%
\list{}{}%
\item\relax
}{%
Prevent page break before here.
\endlist
}
\newenvironment{listb}{%
\list{}{}%
\item\relax
}{%
\endlist\filbreak % Use \filbreak to prevent a page break after the inner list
}
\begin{document}
\vspace*{7.5cm plus 1cm}
\begin{lista}
\begin{listb}
\lipsum[4]
\end{listb}
\lipsum[1-2] % This text follows the inner list
\end{lista}
\end{document}
在此示例中,我在环境中的命令\filbreak
后添加了。这将有助于防止在内部列表紧随外部列表末尾时在内部列表后出现分页符。\endlist
listb