줄 나누기와 페이지 조정

LaTeX의 줄 나누기와 페이지 나누기는 뛰어나지만 때로는 도움이 필요합니다. 하이픈이 들어가지 않는 단어를 고치고, 줄바꿈을 강제하거나 금지하며, 홀로 남은 줄(widow 또는 orphan)을 밀어내는 일입니다. 이 페이지는 그 도구 모음입니다. 다만 마지막 수단입니다. 수동 줄바꿈을 넣기보다 먼저 문장을 조금 고치는 편이 더 안전합니다.

하이픈 처리

LaTeX는 언어별 패턴을 사용해 자동으로 하이픈 처리를 합니다. 특정 단어만 조정하려면 \- 를 씁니다(discretionary hyphen: man\-u\-script처럼 필요한 경우에만 그 위치에서 끊음). 전역 예외는 프리앰블에 \hyphenation{man-u-script ...} 로 적습니다(-로 허용 위치 표시). hyphenat 패키지는 URL, 이미 하이픈이 있는 단어, 하이픈 처리 비활성화 등 더 세밀한 제어를 제공합니다. 패턴은 언어별이며 babel이 적절한 것을 활성화합니다.

latex
\hyphenation{man-u-script data-base}   % 例外をプリアンブルで / exceptions in the preamble
... man\-u\-script ...                  % \- は任意ハイフン / discretionary hyphen

줄 나누기 — \\ / \linebreak / \sloppy

\\ 는 강제 줄바꿈(문단과 표 안에서), \newline 은 본문 줄바꿈, \linebreak[n](n은 0–4, 4는 강제)은 그 줄을 양끝 정렬한 채 끊고, \nolinebreak[n] 는 줄바꿈을 금지합니다. 계속 overfull이 나는 문단은 \sloppy … \fussy(또는 sloppypar 환경)로 감싸면 LaTeX가 단어 간격을 넓혀 여백 밖으로 나가는 것을 피합니다. 문서 전체가 아니라 국소적으로 쓰세요. 페이지는 \pagebreak[n] / \nopagebreak[n], \newpage, \clearpage(float도 비움)를 사용합니다.

latex
{\sloppy この段落だけ語間を緩める。 \par}   % 局所的に / locally
\linebreak[4]   % 行分割を強制(両端揃え)/ force a justified break

Widow와 orphan

widow 는 문단의 마지막 줄이 페이지 맨 위에 한 줄만 남는 것이고, orphan(club line)은 문단의 첫 줄이 페이지 맨 아래에 한 줄만 남는 것입니다. 페널티를 높여 피합니다. \clubpenalty(orphan)와 \widowpenalty(widow)는 기본값이 모두 1000이며, 10000으로 설정하면 강하게 피합니다. 특정 페이지만 고칠 때는 \enlargethispage{\baselineskip}로 한 줄만큼 높이거나, \raggedbottom으로 페이지 하단 높이의 불균일을 허용합니다(기본 \flushbottom은 높이를 맞추려고 늘입니다).

latex
\clubpenalty=10000              % オーファンを強く回避 / strongly avoid orphans
\widowpenalty=10000             % ウィドウを強く回避 / strongly avoid widows
\enlargethispage{\baselineskip} % このページを1行分高く / one line taller here