조판 프로그램과 워드 프로세서

종이 위에 인쇄될 내용을 구성하는 일을 조판이라고 부릅니다. 과거에는 사람이 활자를 일일히 손으로 놓아 인쇄할 원판을 만들었다고 합니다. TeX은 이 일을 대신 해 주는 컴퓨터 프로그램입니다.

워드프로세서와 조판 프로그램은 비슷한 것으로 생각되기 쉽지만, 이들 둘 사이에는 분명하게 다른 점이 있습니다. 워드프로세서는 사용자가 문서를 입력하는 일에 상당한 촛점이 맞춰져 있습니다. 이에 반해, 조판 프로그램은 고품질의 문서를 인쇄할 수 있도록 하기 위해 여러 가지 기능들이 제공됩니다.

대부분의 워드프로세서는 입력을 도와주는 많은 기능을 갖고 있습니다. 매킨토시 컴퓨터가 처음으로 시작한 WYSIWYG 개념이나, 또는 맞춤법 검사 기능에 의한 자동 오자 교정, 문서의 뼈대를 구성하는 것을 도와주는 아우트라인 프로세서 등이 몇 가지 예가 될 것입니다. 한편, 워드프로세서는 문서를 인쇄하기 위한 여러 가지 기능도 함께 제공합니다. 예를 들어 여러 가지 글꼴의 지원, 문단 포맷 기능, 또한 쪽 모양의 설정 등이 그 몇 가지 예가 될 것입니다.

그러나, 오늘날 널리 쓰이는 워드 프로세서들이 인쇄한 문서와 사람의 손이 조판한 문서를 비교하면 그 질(quality)에서 많은 차이가 있습니다. 조판에서는 고려되어야 되는 요소가 매우 많습니다. 예를 들어, 보기 좋고 읽기 좋은 문서를 만드려면 글자 사이의 간격이나 인접한 줄들에서의 여백의 양 같은 것들이 매우 정밀하고 섬세하게 조절되어야 합니다. 같은 라틴 문자 o라도, 뒤에 오는 글자가 o이냐 y이냐에 따라 글자 간의 여백이 조금 달라져야 합니다. 이런 것들은 비전문가에게는 별 큰 문제가 아닌 것 같아 보이지만, 조판된 문서의 질을 결정하는 중요한 요소들입니다. TeX은 문서를 조판할 때 워드프로세서가 하지 못하는 이와 같은 여러 가지 섬세한 조절을 행합니다.

TeX이 하는 일 중 한 가지를 살펴보도록 하겠습니다, 하나의 문단은 여러 개의 줄로 나뉘어 종이에 인쇄됩니다. 각 줄은 고정된 페이지 폭에 맞도록 단어 사이의 여백 크기가 조절되어 종이 위에 놓여집니다. 이러한 과정을 줄바꿈(line breaking)이라고 부릅니다. 이 때에, 이웃한 줄들에서의 단어 사이 여백 양이 너무 많이 다르면 그리 보기 좋지 않은 인쇄 결과가 얻어집니다. TeX은 보기 좋은 결과를 얻기 위해, 한 문단 안에서 가능한 모든 줄바꿈 위치를 고려하여 여백 크기 차이를 최대한 줄이도록 최적화 과정을 거칩니다. 대부분의 워드 프로세서들 - 많은 사람들이 우수하다고 인정하는 것들을 포함하여 - 은 이러한 점을 전혀 고려하지 않습니다.

잘 알려져 있는 TeX의 우수한 기능 중의 하나가 수식 처리입니다. TeX은 보통의 워드프로세서들에 비해 수식을 보기 좋고 깨끗하게 표시합니다. 이런 점 역시 조판 프로그램에 의한 인쇄 결과가 우수하다는 한 가지 예가 될 수 있습니다. 더우기, 다른 워드프로세서로는 표현할 수 없는 수식들도 TeX으로 처리할 수 있는 경우가 많이 있습니다.

워드 프로세서와 달리, 조판 프로그램은 보다 여러 가지 미세한 요소들을 고려하여 출력 결과를 생성합니다. 이를 다른 말로 표현한 것이 "고품위의 출력 결과를 얻는다"는 것입니다.

그러면, 왜 워드프로세서의 WYSIWYG 개념과 TeX의 섬세한 조판 기능을 결합한 프로그램은 없는 것일까요? 어러 가지 이유를 생각할 수 있겠지만, 아마도 가장 큰 이유 중의 하나는 오늘날 널리 사용되는 컴퓨터의 처리 속도가 그러한 일을 하기 충분하게 빠르지 못하다는 사실일 것입니다. 보다 빠른 컴퓨터가 등장하고 또한 소프트웨어 개발 기술이 발전하면 언젠가는 TeX과 같은 고품질의 조판 결과를 WYSIWIG 으로 보면서 편집할 수 있는 시대가 올 것입니다.

TeX은 조판 프로그램입니다.


(C) 차재춘, 1996년 8월 22일