図の後の2行で改ページしないようにする

図の後の2行で改ページしないようにする

テキスト、図、そして大きな段落という繰り返し形式で構成される文書を作成しています。ページ区切りを防ぐにはどうすればよいですか。テキストとfigure環境の両方で、ページを自動的に分割する機能を削除せずに内で2番目のテキストの本文ですか?

\nopagebreak環境の後には何の効果もないようです。(そして、これを に限定すると、この 2 番目の段落でページ分割が許可されないfigureと思います。)minipage

ページの最後に空白があっても問題ありませんが、各繰り返しグループが必ずしも新しいページで始まる必要はないと思います。

答え1

おそらく、OP が探しているのは、たとえば、centerその上と下での改ページを禁止する環境の単なるバージョンです。これは簡単に実現できます。たとえば、次の MWE は、centernopagebreaks適切なパラメーターをローカルで再定義してから環境を呼び出す、という名前の環境を定義しますcenter

注記:\captionofこの例をテストしているときに、コマンドが有効なブレークポイントを挿入することに気付きました。図とそのキャプション。私はすべてを環境にラップすることでこれを補いましたがminipage、これはバグではないでしょうか?

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{mwe}

\makeatletter
\newenvironment*{centernopagebreaks}{%
  \@beginparpenalty \@M
  \@endparpenalty   \@M
  \@itempenalty     \@M
  \center
}{\endcenter}
\makeatother

\begin{document}
\lipsum[2]
\begin{centernopagebreaks}
    \begin{minipage}[b]{\textwidth}
        \centering
        \includegraphics{image}
        \par\special{comment: Why no penalty below write and rule?}
        \captionof{figure}{An image}
        \label{fig;img}
    \end{minipage}
\end{centernopagebreaks}
\lipsum[1]

% % If you can read the logging info provided by (core) TeX,
% % uncomment the following lines to check the penalties.
% \showboxbreadth = 1000
% \showboxdepth = 5
% \showlists
\end{document}

出力を表示することに意味があるとは思いません。むしろ、診断コマンドのコメントを解除し、トランスクリプト ファイルに報告されたペナルティが正しいことを確認する必要があります。

関連情報