
通常、コマンドの後に改ページは許可されませんが\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 がここでページ区切りに適した場所を見つけるようです。
頭に浮かぶ解決策の 1 つは、セクション (最初の段落) をたとえば空のボックスで開始し\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}