段落間の改ページを避けるには、間に\medskipを入れます。

段落間の改ページを避けるには、間に\medskipを入れます。

この例を考えてみましょう

\documentclass{report}
\begin{document}
Some text

\medskip
\textbf{Mini title}
\medskip

\nopagebreak
Some more text
\end{document}

「ミニタイトル」と「その他のテキスト」の間の改ページを回避するにはどうすればよいですか。\nopagebreakこの目的のために調査していますが、役に立ちません。

答え1

私は\medbreakLaTeX からコマンドをコピーして を作成しました\mednobreak。 は\nopagebreakと を実行します\medskip。 は、次の段落の最初の行を に添付します\textbf{Mini title}。 効果を確認するには、マークされた行をコメント化します。

\documentclass{report}
\usepackage{lipsum}
\def\mednobreak{\par\ifdim\lastskip<\medskipamount
  \removelastskip\nopagebreak\medskip\fi}
\begin{document}
\lipsum[1-4]
\lipsum[2]

another line % comment to see difference

\medskip
\textbf{Mini title}
\mednobreak
\lipsum[1]
\end{document}

答え2

明示的なフォント変更コマンドの使用は避けてください。

セクション見出しコマンドを使用すると、マークアップはより柔軟になり、LaTeXは見出しの後にページ区切りを許可しないように自動的に処理します。

\documentclass{report}
\begin{document}
Some text

\vspace{40\baselineskip}% heading and text stay on this page
%\vspace{41\baselineskip}% heading and text go to next page

Some text

\subsection*{Mini title}

Some more text
\end{document}

答え3

needspaceパッケージをロードしてディレクティブを発行することをお勧めします

\Needspace*{3\baselineskip}

最初の指令の直前\medskip


完全な MWE (最小限の動作例):

\documentclass{report}
\usepackage{needspace}
\begin{document}
\dots 

Some text

\Needspace*{3\baselineskip}
\medskip
\textbf{Mini title}
\medskip

Some more text
\end{document}

関連情報