줄 간격(setspace)

이 페이지에서는 본문 줄간격(leading)을 넓히거나 좁히는 방법을 다룹니다. 결론부터 말하면, 논문이나 학위논문에서 “더블 스페이스”가 필요할 때는 길이를 직접 건드리기보다 setspace 패키지\onehalfspacing / \doublespacing 을 쓰는 편이 더 쉽고 안전합니다. 먼저 밑바탕이 되는 \baselineskip\baselinestretch, 저수준 명령인 \linespread 를 살펴본 뒤, setspace 의 깔끔한 지정법으로 넘어갑니다.

모델: baselineskip 과 baselinestretch

줄간격은 실제로 한 줄의 베이스라인(글자가 놓이는 보이지 않는 기준선)에서 다음 줄의 베이스라인까지의 거리입니다. 이 거리는 \baselineskip 이라는 길이에 저장되며, LaTeX 가 현재 글자 크기에 맞추어 자동으로 정합니다. 기본적으로 \baselineskip 은 글자 크기의 약 1.2배 입니다(10pt 글자라면 약 12pt). 즉 줄 사이에는 처음부터 적당한 여유가 들어 있으며, 줄들이 붙어 있는 상태가 아닙니다.

\baselineskip 에 곱해지는 배율\baselinestretch 입니다. 이것은 길이가 아니라 명령(숫자 매크로) 이며 기본값은 1.0 입니다. 실제 줄간격은 \baselineskip × \baselinestretch 로 정해집니다. 다만 주의할 점이 있습니다. \baselinestretch 를 바꾸어도 그 값은 다음 글꼴 전환이 일어날 때에야 반영됩니다. 프리앰블에서 설정하면 문서 시작 시 글꼴 선택이 일어나므로 괜찮지만, 본문 중간에서 바꿀 때는 조심해야 합니다(아래 참고).

저수준 \linespread 와 그 함정

커널이 제공하는 저수준 명령은 \linespread{배율} 입니다. 내부적으로는 말 그대로 \renewcommand{\baselinestretch}{배율} 이며, \baselinestretch 를 다시 정의할 뿐입니다. 그래서 다음 글꼴 전환 전까지는 아무 효과가 없다 는 성질도 그대로 이어받습니다. 프리앰블에 두면 문서 전체에 적용되지만, 본문 안에서 쓰면 적용하고 싶은 범위 뒤에 현재 글꼴을 다시 선택하는 명령 \selectfont 를 호출해야 합니다.

latex
% プリアンブルに置けば文書全体に効く
\linespread{1.3}   % 約 1.5 倍相当の行間

% 本文の途中で変えるなら \selectfont が要る
{\linespread{1.6}\selectfont
  この段落だけ行間を広げる。\par}

두 번째 함정도 있습니다. \linespread{1.5} 는 “1.5배 줄간격”을 만들지 않습니다. 배율은 이미 글자 크기의 약 1.2배인 \baselineskip 에 곱해지므로, 눈에 보이는 줄간격은 글자 크기 × 1.2 × 배율이 됩니다. 널리 쓰이는 기준으로는 이른바 더블 스페이스(줄간격이 글자 크기의 약 2배) 에는 배율 1.6 안팎이, 1.5줄 간격 에는 1.3 안팎이 필요합니다(1.2 × 1.6 ≈ 1.9, 1.2 × 1.3 ≈ 1.56). 이처럼 “배율”과 “실제 보이는 간격”이 어긋나는 점이 \linespread 를 직접 쓸 때 가장 큰 혼란의 원인입니다.

추천 방법: setspace 패키지

표준적인 해결책은 setspace 패키지입니다(Geoffrey Tobin, Robin Fairbairns 작성, 현재는 David Carlisle 등이 유지 관리). \usepackage{setspace} 를 불러오면 줄간격을 선언 으로 전환하는 명령을 쓸 수 있습니다. 단일 줄간격이 기본값 이며, 다음 세 가지만 기억해도 대부분 충분합니다.

  • \singlespacing — 단일 줄간격(표준 줄간격).
  • \onehalfspacing — 1.5줄 간격.
  • \doublespacing — 더블 스페이스(두 줄 간격 상당).

프리앰블에 한 줄만 쓰면 문서 전체에 적용됩니다. 임의의 배율이 필요하면 \setstretch{1.6} 을 사용해 \baselinestretch 에 해당하는 값을 직접 지정합니다(\setstretch{1} 은 단일, \setstretch{1.5} 는 대략 1.5줄, \setstretch{2} 는 대략 두 줄).

document.tex
\documentclass[12pt]{article}
\usepackage{setspace}
\doublespacing            % 文書全体をダブルスペースに
% \onehalfspacing         % 1.5 行送りにするならこちら
% \setstretch{1.6}        % 任意の倍率
\begin{document}
本文がダブルスペースで組まれます。
\end{document}

setspace 가 적용하는 배율은 \linespread 처럼 고정된 값이 아니라 본문 기본 글자 크기(10pt / 11pt / 12pt)에 맞추어 조정 됩니다. 아래 표는 \onehalfspacing\doublespacing 이 내부적으로 설정하는 \baselinestretch 값입니다(Computer Modern 계열 글꼴에 맞춘 값이며, 클래스 옵션으로 지정한 크기를 따릅니다).

본문 크기\onehalfspacing\doublespacing
10pt1.251.667
11pt1.2131.618
12pt1.2411.655

핵심은 \doublespacing\baselineskip 을 정확히 두 배로 만드는 명령이 아니라는 것 입니다. 배율은 대략 1.6–1.7 이며, 이렇게 해서 *보이는* 줄간격이 글자 크기의 약 두 배가 됩니다. 학위논문 규정의 “더블 스페이스”는 보통 이 \doublespacing(줄간격이 글자 크기의 약 두 배)을 뜻하며, \baselineskip 을 문자 그대로 두 배로 만든다는 뜻은 아닙니다.

setspace 의 장점: 각주·캡션·플로트는 단일 간격 유지

setspace 를 \linespread 보다 권하는 가장 큰 이유는 넓히면 안 되는 부분까지 넓히지 않는다는 점 입니다. 원시적인 \linespread(즉 \baselinestretch) 는 본문, 각주, 그림/표 캡션을 모두 함께 늘려 버립니다. 그러나 조판 관례상 각주, 캡션, 별행 수식 주변은 단일 간격 으로 두는 것이 좋습니다.

setspace 는 이 부분을 직접 처리합니다. 문서에는 “더블 스페이싱은 각주와 플로트(그림·표) 안에서는 꺼진다” 고 명시되어 있습니다. 내부적으로 각주 텍스트(\@footnotetext)와 플로트(\@xfloat) 안에서 \baselinestretch 를 단일 간격으로 되돌리고, 단일 간격의 quote 환경도 제공합니다. 그래서 본문만 넓어지고 각주와 캡션은 자동으로 촘촘하게 유지됩니다.

일부 영역만 줄간격 바꾸기

문서의 일부만 줄간격을 바꾸려면 선언을 { ... } 그룹 안에서 지역적으로 쓰거나, setspace 가 제공하는 환경 을 사용합니다. 선언과 대응하여 지역 영역에는 singlespace, onehalfspace, doublespace 환경 이 있고, 임의 배율에는 spacing 환경(\begin{spacing}{2.5})을 쓸 수 있습니다. onehalfspacedoublespace 는 줄간격을 *늘리는* 용도이므로, 이미 더블 스페이스인 문서 안에서 onehalfspace 를 쓰는 것은 의도된 사용이 아닙니다.

다음은 본문은 더블 스페이스로 두고, 긴 인용문만 단일 줄간격으로 되돌리는 예입니다.

document.tex
\documentclass[12pt]{article}
\usepackage{setspace}
\doublespacing                 % 本文はダブルスペース
\begin{document}
本文はダブルスペースで組まれる。続いて引用を置く。

\begin{singlespace}            % この引用だけ単独スペースに
  ここは長めの引用なので、行間を詰めて単独スペースで組む。
  引用ブロックは本文より行間を狭くするのが一般的。
\end{singlespace}

引用のあとは、また本文のダブルスペースに戻る。
\end{document}

주의할 점도 있습니다. 줄간격을 “좁히기” 위해 \baselineskip 자체를 직접 건드리는 것은 피하는 편이 좋습니다. 글자 크기가 바뀌면 \baselineskip 이 다시 설정되어 지정이 사라집니다. 줄간격은 \baselinestretch / setspace 를 통해 배율로 조작하는 것이 크기 변경에도 따라가므로 더 안전합니다.