타이포그래피와 LaTeX: 줄간격 조정하기

오늘의 덕질 시간입니다.

포인트 (point)

타이포그래피에서 가장 기본이 되는 것은 길이의 단위이다. 흔히들 사용하는 cm나 inch는 조판을 위해서 사용하기엔 많이 길다. 그래서 조판에서는 포인트(point 혹은 pt)라는 단위를 사용한다. 1 pt는 1/72 inch 혹은 0.3528mm에 해당된다.

LaTeX에서는 1 pt의 길이가 조금 다른데, 1/72.27 inch에 해당하는 길이이다.

포인트 이 외에도 사용목적에 따라 여러가지 길이의 단위가 많다. 예를 들어 em이나 px.

폰트 크기 (font size)

문서에서 폰트 크기는 10 pt, 11 pt, 12 pt 따위가 가장 널리 쓰인다. 타이포그래피에서 폰트사이즈의 의미는 그다지 엄밀하게 정해져있지 않은 것 같다. 어떤 폰트의 크기를 정의할 수 있는 길이는 여러가지가 있는데 아래 그림을 참조하자.

 

가장 중요한 것은 baseline이라고 하는 기준선이다. 기준선에서 아래로 더 깊이 떨어지는 글자(g, y 따위)가 있고, 위로 올라가는 글자(N, h, l 따위)가 있다. 또 x 처럼 위로 올라가지도 아래로 내려가지도 않는 작은 글자도 있다. (글자체에서 x의 높이를 x-height라고 부른다.) 타이포그래피에서 사용하는 폰트와 관련된 여러가지 용어는 “Anatomy of the letterforms”라는 문서를 참고하자.

그러면 폰트 크기는 뭘까? 10 pt 라는 길이는 무엇을 의미하는 것일까? 가장 높은 지점인 asender와 가장 낮은 지점인 descender 사이의 길이일까? 일리는 있으나, 꼭 그렇지는 않다. 대체로 ascender보다 조금 더 높은 지점과 descender보다 조금 더 낮은 지점 사이의 길이를 폰트 크기로 부르는 듯 하다.

LaTeX에서 기본 폰트로 지정 되어 있는 ‘Computer Modern‘이라고 하는 폰트에서는 ‘괄호’의 길이가 폰트 크기로 정의되어 있다.

 

LaTeX에서 Computer Modern 폰트 10pt 크기

 

LaTeX에서는 baseline에 위치하는 reference 점으로부터 가장 높은 곳 까지의 높이를 height라고 하고, 가장 낮은 곳 까지의 길이를 depth라고 한다. 위의 그림에서 보듯이 7.5 pt + 2.5 pt = 10 pt 이므로 폰트의 크기는 10 pt 가 된다. 위의 그림에서는 ‘괄호’가 가장 높고 낮게 뻗어있으므로 전체 box의 height와 depth는 ‘괄호’의 것이다. LaTeX에서 글자마다  height와 depth는 — 당연하게도 — 다 다르다. 아래의 그림을 참고하자.

y와 h. 글자마다 다른 height와 depth (Computer Modern 폰트 10pt 크기)

height와 depth를 더한 값을 totalheight 라고 부른다.

 

줄간격 (line space)

그렇다면 줄간격이라는 것은 도대체 무엇일까? 줄과 줄 사이의 글자들 사이의 간격이라고 말할 수 있지만, 엄밀하게는 윗줄과 아랫줄의 baseline의 사이 간격의 길이가 줄간격이다. LaTeX에서는 \baselineskip이라고 부른다.

줄간격, \baselineskip

이 줄간격을 어떻게 정하느냐에 따라 single-space, double-space 등으로 바꿀 수 있다.  하지만 single-space와 double-space가 엄밀하게 무엇을 의미하는지는 정해져 있지 않은 듯 하다. 사용자와 조판 소프트웨어에 따라 일관성 없이 정해져있다. LaTeX에서는 setspace라는 패키지의 기능을 사용하기를 권한다.

LaTeX에서 \baselineskip을 조정하는 방법은 여러가지가 있겠지만, \linespace{...} 명령어를 사용하는 것이 좋다. Computer Modern 10pt의 경우 기본 \baselineskip은 12pt로 길이가 정해져있다. 이 기준 길이에 비례해서 줄간격을 늘리거나 줄일 수 있는데,

\linespace{1.0}
\linespace{2.0}
\linespace{0.8
}

처럼 쓰면 된다. 물론 1.0은 기본값 12 pt라는 의미이고 2.0은 12 pt 의 두 배인 24 pt, 0.8은 12 pt * 0.8을 한 9.6 pt라는 의미이다. (\linespace{2.0}setspace 패키지의 \doublespace를 의미하는 것은 아니다.)

 

줄간격 정밀하게 조정하기

1인치 높이 속에 6줄을 정확하게 넣고 싶다고 하자. 우선 Computer Modern 10pt에서 알파벳 소문자, 대문자로만 이루어진 문단을 보자.

\linespace{1.0} 혹은 \baselineskip=12pt

여섯줄을 경우에 문단의 전체 높이가 (66.94444 + 1.94444)pt = 68.8888 pt로 1인치에 해당하는 72.27 pt 보다 짧다. \linespace{...}의 factor 값을 1.0보다 크게 해서 공간을 더 늘려야 한다.

여섯줄로 이루어진 문단 전체의 높이를 72.27 pt에 맞추기 위해서 \baselineskip 값이 어떤 값이어야 하는지 알아보자. 다음의 식으로 나타낼 수 있다.

(height of 'h') + 5 * \baselineskip + (depth of 'y') = 72.27 pt

알파벳 h의 height는 6.94444 pt 이고, 알파벳 y의 depth는 1.94444 pt 이므로, \baselineskip 값은 12.676224 pt 이어야 한다. 기본 \baselineskip은 Computer Modern 10pt의 경우 12pt로 정해져있기 때문에 이에 대한 비율을 구하면

12.676224 pt / 12 pt = 1.056352

그러므로 \linespace{1.056352} 이라고 입력하면 된다. 그 결과는 다음과 같다.

\linespace{1.056352} 혹은 \baselineskip=12.676224 pt

여섯줄의 문단은 그 전체 높이가 (70.32549+1.94444) pt = 72.26993 pt가 되었다. 1인치는 정확히 72.27pt이어야 하는데, 조금의 오차가 발생한다. 아마 LaTeX에서 다룰 수 있는 소숫점의 길이는 그리 길지 않은 것 같다.

추가 고려 사항

위의 예에서는 알파벳 소문자 대문자로만 이루어진 경우를 다루었다. 하지만 앞서 말했듯이 괄호는 알파벳보다 더 길고, 수식 번호를 사용하는 등의 경우에는 괄호는 필수적이다. 위의 마지막 예에서 괄호를 여기저기 넣어보자.

\linespace{1.056352} 혹은 \baselineskip=12.676224 pt

같은 \baselineskip값이지만, 전체 높이가 (70.88104+2.5) pt = 73.38104 pt로 늘어났다. 여러가지 문장부호, 윗첨자(superscript), 아랫첨자(subscript), 수식 등이 들어가면 height와 depth가 변할 수 있다. 만일 height와 depth가 가장 짧은 문자들로만 이루어진 문장이라면, 전체 높이가 가장 짧을 것이다. 다음과 같은 경우를 고려해볼 수 있다.

\linespace{1.056352} 혹은 \baselineskip=12.676224 pt

동일한 \baselineskip값에서 전체 높이가 67.88658 pt 밖에 되지 않는다. 하지만, 이런 높이가 낮은 문자들로만 이루어진 문장을 볼 수 있을 확률은 거의 0에 가깝다고 할 수 있을 것이다.

NSF Grant Proposal Guide (GPG)

미국의 과학재단(National Science Foundation 혹은 NSF)에서는 제안서의 글자 크기와 줄간격에 대한 엄밀한 규정을 마련해 두었다. Grant Proposal Guide(GPG)라고 불리는 문서의 Chapter 2를 참고하자.

2. Proposal Margin and Spacing Requirements 

The proposal must conform to the following requirements:

a. Use one of the following typefaces identified below:

  • Arial9, Courier New, or Palatino Linotype at a font size of 10 points or larger;
  • Times New Roman at a font size of 11 points or larger; or
  • Computer Modern family of fonts at a font size of 11 points or larger.

A font size of less than 10 points may be used for mathematical formulas or equations, figures, table or diagram captions and when using a Symbol font to insert Greek letters or special characters. PIs are cautioned, however, that the text must still be readable.

b. No more than six lines of text within a vertical space of one inch.

c. Margins, in all directions, must be at least an inch.

 

9Macintosh users also may use Helvetica and Palatino typefaces.

항목 a에서는 사용할 수 있는 폰트의 종류와 크기를 정해두었다. LaTeX 사용자는 대체로 Computer Modern 폰트를 사용할 테니 11 pt 폰트를 사용해야 한다.

항목 b에서는 1인치 공간 내에 들어간 줄 수가 여섯줄을 초과할 수 없다고 되어있다. LaTeX에서 정의된 기본 줄간격을 사용하면 넉넉하게 이 규정을 맞출 수 있다.

제안서를 쓰다보면 글이 길어지기는 경우가 다반사다. 페이지수를 줄이기 위해서 고쳐쓰기를 수십번 반복하다보면 이제 제안서는 더이상 쳐다보기 싫어지는 순간이 온다. 그 순간 줄간격을 줄여서 페이지수를 줄이려는 유혹에 빠진다. 그렇다면 얼마까지 줄일 수 있을까? 줄간격을 너무 줄이면 줄일수록 문서의 가독성이 급격히 떨어지지만, 정해진 규정을 어기지 않고 최대한 줄이고자 한다면 얼마까지 줄일 수 있을까?

위의 예에서는 10 pt 폰트 크기를 사용했지만, 이제 11 pt 폰트 크기를 사용해야한다. 알아야 할 것들:

  • 11 pt 알파벳 h의 height
  • 11 pt 알파벳 g의 depth
  • 11 pt 에서 — 정확히는 \documentclass[11pt]{article} 에서 정의된 — 기본 \baselineskip

다음의 LaTeX 코드를 실행하면 모든 정보를 얻을 수 있다.

\documentclass[11pt]{article}
\usepackage{layouts}
\begin{document
}
\the\baselineskip % 기본 \baselineskip 값을 출력한다.
%
\drawfontframelabel{ g x N h }
\end{document
}

Computer Modern 11 pt

앞의 예제와 같은 방식으로 새로운 \baselineskip값을 계산하면:

(height of 'h') + 5 * \baselineskip + (depth of 'g') = 72.27 pt

12.507334 pt 라는 값을 얻는다. 이 값을 기본값인 13.6 pt로 나누면 0.9196569117647059 pt 라는 값을 얻으므로 다음의 명령어를 사용한다.

\linespread{0.9196569117647059}

Computer Modern 11pt, \linespread{0.9196569117647059} 혹은 \baselineskip=12.507334pt

여섯줄로 이루어진 문단의 전체 높이는 (70.14116+2.12917) = 72.27033 pt 이다.

괄호나 수식등의 알파벳 이외의 것들이 들어가면 줄의 height와 depth가 늘어날테고,  1인치 안에 들어가는 줄의 수는 그만큼 줄어들테니 규정을 어기지 않고 사용할 수 있는 가장 작은 값은 \linespread{0.9196569117647059}이라는 결론이다.

 

기타

대부분의 경우 폰트는 한가지 폰트 크기에서 — 추측컨데, 가장 자주 사용되는 10 pt나 11 pt 크기에서 — 디자인을 한 다음, 실제 문서에서 사용할 때는 확대 혹은 축소하여 사용한다. 10 pt 에서 디자인된 폰트를 5 pt 크기로 쓰려면 50% 축소하는 식이다.

LaTeX에서 사용하는 Computer Modern 폰트의 경우에는 각 폰트 크기별로 디자인이 따로 되어 있다. 5 pt 크기와 10 pt 크기를 50% 축소한 것을 비교해보자.

클릭하면 크게 볼 수 있다.

위가 5 pt 크기로 디자인 된 폰트(cmr5)이고, 아래는 10 pt 크기로 디자인 된 폰트(cmr10)을 50% 축소시킨 것이다. 폰트 크기가 작아지면 가독성이 떨어지므로, 위의 그림에서 볼 수 있듯이 작은 크기에서도 최소한의 가독성을 확보하기 위해 폰트를 옆으로 조금씩 늘려놓았다.

 

( 사용된 LaTeX 코드)

 

한글 타이포그래피와 TeX에 대해서는 “한글의 가독성과 ko.TEX 의 타이포그래피”라는 훌륭한 글을 읽어주세요. 한글 문서를 TeX으로 만들려면 ko.TeX을 사용하면 되는데, http://wiki.ktug.org/wiki/wiki.php/처음시작하기 페이지를 잘 읽어보면 됩니다. “ko.TeX 설명서”도 열심히 읽어야 합니다.

You may also like...

Leave a Reply

Your email address will not be published.