
Хотя разрывы страниц обычно не допускаются после \subsection
команд, я столкнулся с одним из них с пакетом ExPex. Если кто-то знает этот пакет конкретно, конкретный вопрос будет приветствоваться. Однако мне также интересно любое более общее решение, которое, возможно, охватит многие случаи, когда я не уверен, что находится в макросе.
На данный момент я размещаю все на мини-странице; хотя мне кажется, что должен быть способ сделать это лучше.
\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}
решение1
Из документации: "\exbreak вставляется в начало каждого блока \ex или \pex.". \exbreak
вставляет штраф, который сообщает TeX, что это хорошее место для прерывания. Вы можете переопределить этот штраф (локально или навсегда, его значение по умолчанию -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}
решение2
У меня нет опыта работы с ExPex
пакетом, но \ex
добавьте 2.7ex plus .4ex minus .4ex
выше элемент, так что, похоже, LaTeX находит здесь хорошее место для разрыва страницы.
Одно из решений, которое приходит мне в голову, — это начать раздел (первый абзац) с пустого поля, например \hbox{}
, а затем использовать опцию aboveexskip
, чтобы уменьшить дополнительный пробел до 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}