Evitar quebra de página após uma subseção

Evitar quebra de página após uma subseção

Embora quebras de página normalmente não sejam permitidas após \subsectioncomandos, estou encontrando uma com o pacote ExPex. Se alguém conhecer esse pacote especificamente, uma pergunta específica seria bem-vinda. Também estou interessado em qualquer solução mais geral, que talvez cubra muitos casos em que não tenho certeza do que está na macro.

Por enquanto estou colocando tudo em uma minipágina; parece que deveria haver uma maneira melhor de fazer isso.

\documentclass[10pt]{book}
\usepackage{expex,lipsum}
\begin{document}
\lipsum[1-4]\lipsum[4]
\subsection{My heading}
\ex
\begingl
\gla Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam consectetuer mollis dolor. Quisque malesuada nulla sed pede volutpat pulvinar. Aliquam metus. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. //
\endgl
\xe
\end{document}

Responder1

Da documentação: "\exbreak é inserido no início de cada bloco \ex ou \pex.". \exbreakinsere uma penalidade que diz ao TeX que aqui é um bom lugar para quebrar. Você poderia redefinir esta penalidade (localmente ou para sempre, seu valor padrão é -50):

\documentclass[10pt]{book}
\usepackage{expex} 
\usepackage{lipsum}
\begin{document}
\lipsum[1-4]\lipsum[4]
\renewcommand\lingexbreakpenalty{10000}
\subsection{My heading}

\ex 
\begingl
\gla Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam consectetuer mollis dolor. Quisque malesuada nulla sed pede volutpat pulvinar. Aliquam metus. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. //
\endgl
\xe
\end{document}

Responder2

Não tenho experiência com o ExPexpacote, mas \exadicionei 2.7ex plus .4ex minus .4exacima do item, então parece que o LaTeX encontra aqui um bom lugar para uma quebra de página.

Uma solução que me vem à cabeça é iniciar a seção (primeiro parágrafo) com uma caixa vazia, por exemplo \hbox{}, e depois usar a opção aboveexskipde reduzir o espaço extra para 0pt:

\documentclass[10pt]{book}
\usepackage{expex,lipsum}
\begin{document}
\lipsum[1-4]\lipsum[4]
\subsection{My heading}
\hbox{}\ex[aboveexskip=0pt]
\begingl
\gla Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam consectetuer mollis dolor. Quisque malesuada nulla sed pede volutpat pulvinar. Aliquam metus. Morbi turpis arcu, egestas congue, condimentum quis, tristique cursus, leo. //
\endgl
\xe
\end{document}

informação relacionada