환경의 마지막 세 줄에서 페이지 나누기를 방지하는 방법은 무엇입니까?

환경의 마지막 세 줄에서 페이지 나누기를 방지하는 방법은 무엇입니까?

환경을 만들고 싶습니다. 해당 콘텐츠는 마지막 단락의 마지막 세 줄에서 페이지 나누기를 허용해서는 안 됩니다.

환경 내부 텍스트의 마지막 세 줄이 페이지 테두리에 도달하면 페이지 나누기는 아래쪽에서 네 번째 줄 다음에 발생해야 합니다.

환경 외부에서는 페이지 나누기의 일반적인 동작을 변경해서는 안 됩니다.

환경에는 일반 텍스트만 포함되지만 왼쪽과 오른쪽의 여백이 늘어납니다. 일부 인라인 수학 방정식도 발생할 수 있지만 그게 전부입니다.

\documentclass{scrartcl}

\usepackage{lipsum}

\newenvironment{env}{%
    \begin{addmargin}{2em}%
}{%
    \end{addmargin}
}%


\begin{document}
\lipsum[1-3]

\begin{env}
    \lipsum[1]
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This last lines should not be broken to the next page.
    This last lines should not be broken to the next page.
    This last lines should not be broken to the next page.
\end{env}
\end{document}

편집하다:

내가 무엇을 달성하려고 하는지 명확하게 말할 수 있는지 잘 모르겠습니다. 일반적으로 마지막 줄이 정확히 어디에서 시작될지 알 수 없습니다. 대신, 이는 과부를 방지하는 것과 비슷하지만 단락의 마지막 줄이 다음 페이지로 넘어가는 것을 방지할 뿐만 아니라 환경 내부의 마지막 세 줄의 텍스트가 {env}실제 페이지나 페이지에서 항상 함께 유지됩니다. 다음 페이지.

답변1

당신이 사용할 수있는 \widowpenalties; ~와 함께

\widowpenalties 3 10000 10000 0

마지막 세 줄 사이에는 10000의 페널티를 추가하고 이전 줄 사이에는 페널티를 추가하지 않습니다. 또한보십시오단락 내에서 페이지 나누기를 방지하는 방법은 무엇입니까?

\documentclass{scrartcl}

\usepackage{lipsum}

\newenvironment{env}
 {\begin{addmargin}{2em}\widowpenalties 3 10000 10000 0 }
 {\end{addmargin}}


\begin{document}
\lipsum[1-3]

\begin{env}
    \lipsum[1]
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This last lines should not be broken to the next page.
    This last lines should not be broken to the next page.
    This last lines should not be broken to the next page.
\end{env}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보