
この例を考えてみましょう
\documentclass{report}
\begin{document}
Some text
\medskip
\textbf{Mini title}
\medskip
\nopagebreak
Some more text
\end{document}
「ミニタイトル」と「その他のテキスト」の間の改ページを回避するにはどうすればよいですか。\nopagebreak
この目的のために調査していますが、役に立ちません。
答え1
私は\medbreak
LaTeX からコマンドをコピーして を作成しました\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}