단락 사이의 페이지 나누기를 방지하는 방법

단락 사이의 페이지 나누기를 방지하는 방법

예를 들어 책 장의 시작 부분에 "인용 및 속성"과 같은 것을 조판하고 싶습니다. 다음과 같아야 합니다.

CHAPTER TITLE

       This  is an  introductory quote.
       It's stylistically questionable,
       but it's a fun LaTeX exercise.

                         -- said by  me

Now starts the main body text, which is not rele-
vant to this question. It just goes on and on and
on and on.
    It just looks like ordinary text.  You do not
have to keep reading.

이를 위해 다음과 같이 사용되는 환경과 명령이 있습니다.

\section{Chapter Title}

\begin{fooquote}
This is an introductory quote % etc. etc.
\quoteattribution{-- said by me}
\end{fooquote}

질문:저작자와 인용문 본문 사이에 페이지 나누기가 없음을 어떻게 보장할 수 있나요? 페이지 나누기가 있어도 상관없습니다.이내에하지만 인용문과 저작자 표시 사이에 하나도 있어서는 안 됩니다.

필요한 경우 전체 설정을 변경해 드리겠습니다. 내 경우에는 이렇습니다.

\newenvironment{fooquote}%
{ \bgroup
  \let\oldend=\end
  \def\end##1{\oldend{##1}\csname @afterindentfalse\endcsname
                          \csname @afterheading\endcsname}
  \begin{quote}%
  \itshape%
}{%
  \end{quote}
  \egroup
}
\newcommand{\quoteattrib}[1]{\normalfont\flushright#1}

답변1

실제로 제공된 예제 문서가 있다면 대답하기가 훨씬 쉬울 것입니다. 조각에 대해서는 설명하기가 훨씬 어렵지만

\newenvironment{fooquote}%
{ \bgroup
  \let\oldend=\end
  \def\end##1{\oldend{##1}\csname @afterindentfalse\endcsname
                          \csname @afterheading\endcsname}
  \begin{quote}%
  \itshape%
}{%
  \end{quote}
  \egroup
}
\newcommand{\quoteattrib}[1]{\normalfont\flushright#1}

환경 은 이미 그룹 \bgroup \egroup이므로 필요하지 않으며 공백 문자도 도입됩니다.fooquote{ \bgroup

재정 \end의(실제로는 다소 위험함)가 너무 이른 것으로 보이므로 \end중첩된 환경, 특히 quote환경에 영향을 미칠 것입니다. 당신은 그것을 활성화하고 싶기 때문에 fooquote(내 생각에) 정의의 끝 코드 끝 부분에 있어야 합니다.

flushright환경 형식으로 의도되었으며 선언 형식은 다음과 같지만 \raggedleft한 줄이라면 아마도 \hspace{\fill}. \nopagebreak페이지의 다른 부분에 유연성이 있는 한 해당 시점에서 페이지 나누기를 방지하기에 충분해야 합니다.

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

\documentclass{book}

\makeatletter
\newenvironment{fooquote}{%
  \begin{quote}%
  \itshape
}{%
  \end{quote}%
\par
\aftergroup\@afterindentfalse
\aftergroup\@afterheading
\ignorespacesafterend
}
\newcommand{\quoteattrib}[1]{\par\nopagebreak\normalfont\hspace*{\fill}#1\par}

\makeatother

\begin{document}

\chapter{CCC}

\begin{fooquote}
red yellow blue
\quoteattrib{me}
\end{fooquote}

One two three. One two three. One two three. One two three.
One two three. One two three. One two three. One two three.
One two three. One two three. One two three. One two three.

One two three. One two three. One two three. One two three.
One two three. One two three. One two three. One two three.
One two three. One two three. One two three. One two three.

\end{document}

관련 정보