단락이 시작된 페이지와 같은 페이지에 강제로 유지되도록 합니다.

단락이 시작된 페이지와 같은 페이지에 강제로 유지되도록 합니다.

나는 컨퍼런스 소책자를 위한 여러 초록을 정리하고 있습니다. 그 중 일부는 너무 길어서 페이지 나누기가 발생합니다.

소책자 레이아웃을 마친 후 초록을 편집하여 더 짧게 만들고 각 초록이 한 페이지만 차지하도록 할 예정이지만 지금은 초록을 편집하고 싶습니다.각 초록은 현재 페이지 아래에서 텍스트가 "번짐"을 의미하더라도 자체 페이지 내에 유지됩니다.

LaTeX에서 이것이 가능합니까?

답변1

\filbreak(TeXbook, 111페이지)을 사용할 수 있습니다 .

일반 TeX이 페이지 구성을 위해 제공하는 가장 흥미로운 매크로는 입니다 \filbreak. 이는 대략적으로 "뒤에 추가 사본을 위한 공간이 없으면 여기에서 페이지를 나누고 하단을 빈 공간으로 채우십시오 \filbreak." 라는 의미입니다. 따라서 \filbreak모든 문단의 끝에 배치하고 문단이 너무 길지 않으면 모든 페이지 나누기가 문단 사이에 발생하고 TeX는 각 페이지에 가능한 한 많은 문단을 맞춥니다. 의 정확한 의미 \filbreak

\vfil\penalty-200\vfilneg

부록 B에 따르면; TeX 기본 요소의 이 간단한 조합은 원하는 결과를 생성합니다. 에서 중단이 발생하면 \penalty-200앞의 내용은 \vfil페이지 하단을 공백으로 채우고 \vfilneg중단 후에는 삭제됩니다. 그러나 페널티에서 휴식을 취하지 않으면 \vfil과 는 \vfilneg서로를 취소하고 아무런 효과가 없습니다.

구현은 다음과 같습니다.

\documentclass{article}
\usepackage{lipsum} % for mock text

\newenvironment{abs}[2]
 {% #1 = title, #2 = author
  \par\vspace{\bigskipamount}\filbreak
  {\centering\textbf{#1}\par\vspace{1ex}\textit{#2}\par\vspace{1ex}}%
 }
 {\par}

\begin{document}

\begin{abs}{A title}{John Doe}
\lipsum*[1][1-3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[2][1-3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[1][1-3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[2][1-3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[3-5]
\end{abs}

\end{document}

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

관련 정보