evitar quebra de página algumas linhas após a figura

evitar quebra de página algumas linhas após a figura

Estou escrevendo um documento que consiste no formato repetido: texto, figura e depois um parágrafo maior. Como posso evitar uma quebra de páginaentretanto do texto quanto figuredos ambientes, embora não remova a capacidade de quebrar automaticamente a páginadentro deo corpo do segundo texto?

\nopagebreaknão parece ter nenhum efeito no figuremeio ambiente. (E presumo que confiná-lo a minipagenão permitiria quebra de página neste segundo parágrafo.)

Estou bem com espaços em branco no final de uma página, mas prefiro que cada grupo repetido não comece necessariamente em uma nova página.

Responder1

Pode ser que o que o OP esteja procurando seja simplesmente uma versão, digamos, do centerambiente que proíbe quebras de página acima e abaixo de si mesmo; isso é fácil de realizar. Por exemplo, o MWE a seguir define um ambiente nomeado centernopagebreaksque redefine localmente os parâmetros apropriados e, em seguida, invoca o centerambiente.

Observação:Ao testar este exemplo, notei que o \captionofcomando insere um ponto de interrupção legalentrea figura e sua legenda. Eu compensei isso agrupando tudo em um minipageambiente, mas isso não é um bug?

\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}

Não acho que seja significativo mostrar o resultado; em vez disso, você deve descomentar os comandos de diagnóstico e verificar se as penalidades relatadas no arquivo de transcrição estão corretas.

informação relacionada