
Wie kann ich einen Seitenumbruch nach einer inneren Liste verhindern, wenn unmittelbar darauf das Ende einer äußeren Liste folgt?
Seitenumbrüche an anderen Stellen innerhalb beider Listen sollten zulässig sein.
MWE
\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}
Antwort1
Um einen Seitenumbruch nach einer inneren Liste zu verhindern, wenn unmittelbar darauf das Ende einer äußeren Liste folgt, können Sie den \filbreak
Befehl nach der inneren Liste und vor dem darauf folgenden Text verwenden. Der \filbreak
Befehl fordert an dieser Stelle einen Seitenumbruch an und verhindert so einen Umbruch zwischen der inneren und der äußeren Liste. Hier ist eine aktualisierte Version Ihres 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}
In diesem Beispiel habe ich \filbreak
nach dem \endlist
Befehl in der listb
Umgebung hinzugefügt. Dadurch wird ein Seitenumbruch nach der inneren Liste vermieden, wenn unmittelbar darauf das Ende der äußeren Liste folgt.