
Como posso evitar uma quebra de página após uma lista interna quando ela é imediatamente seguida pelo final de uma lista externa?
Devem ser permitidas quebras de página em outras partes de ambas as listas.
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}
Responder1
Para evitar uma quebra de página após uma lista interna quando ela é imediatamente seguida pelo final de uma lista externa, você pode usar o \filbreak
comando após a lista interna e antes do texto que a segue. O \filbreak
comando incentiva uma quebra de página nesse ponto, evitando uma quebra entre as listas interna e externa. Aqui está uma versão atualizada do seu 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}
Neste exemplo, adicionei \filbreak
após o \endlist
comando no listb
ambiente. Isso ajudará a evitar uma quebra de página após a lista interna quando ela for imediatamente seguida pelo final da lista externa.