LaTeX 에서 section 따위를 쓰면 다음 첫 문단은 들여쓰기 하지 않는다. 들여쓰기 하는 이유는 직전 문단과 구별하기 위해선데 직전 문단이 절 제목이고 게다가 수직 간격도 들어가 있어서 문단 구별의 실익이 없는 것이다.
가끔 절 제목 다음이 아니더라도 한 문단만 들여쓰기를 배제하고 싶을 때가 있다. 가령 글의 흐름이 크게 바뀌는 지점이라 수직 간격을 주었기에 다음 한 문단만 들여쓰기 하지 않고 두 번째 문단부터 들여쓰기 하고 싶다면 어떻게 할까? 여기 간단한 해법이 있다.
\def\threestarbreak{% \bigbreak\centerline{*\hskip.1\linewidth *\hskip.1\linewidth *}\bigbreak \everypar{{\setbox0\lastbox}\everypar{}}% }
별표 세 개를 일정 간격으로 늘어놓아 글의 흐름을 구분하는 명령이다. 위 코드의 세번째 줄에 해답이 담겨있다.
\everypar
는
문단을 시작할 때마다 실행되는 토큰열을 선언한다.
{\setbox0\lastbox}
는 lastbox—문단 시작시 직전 박스는 indent 박스다—를
지워버리는 일을 한다(크누스의 The TeXbook 에 이런 트릭이 소개되어 있다).
따라서 들여쓰기가 취소된다.
그런데 그후 즉시
\everypar{}
를 선언했으므로 두 번째 문단부터는
들여쓰기가 그대로 살아있게 된다.
KTUG 한국 텍 사용자 그룹