
나는 컨퍼런스 소책자를 위한 여러 초록을 정리하고 있습니다. 그 중 일부는 너무 길어서 페이지 나누기가 발생합니다.
소책자 레이아웃을 마친 후 초록을 편집하여 더 짧게 만들고 각 초록이 한 페이지만 차지하도록 할 예정이지만 지금은 초록을 편집하고 싶습니다.힘각 초록은 현재 페이지 아래에서 텍스트가 "번짐"을 의미하더라도 자체 페이지 내에 유지됩니다.
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}