TeX

최근 편집: 2022년 12월 26일 (월) 11:49
인쇄용 판은 더 이상 지원되지 않으며 렌더링 오류가 있을 수 있습니다. 브라우저 북마크를 업데이트해 주시고 기본 브라우저 인쇄 기능을 대신 사용해 주십시오.


미국 스탠퍼드대학교의 컴퓨터과학과 교수인 도널드 커누스(Donald Knuth) 교수가 만든 문서 조판 시스템.

역사

1969년에 처음 출간되어 지금도 컴퓨터과학계의 명저로 읽히고 있는 저서 <The Art of Computer Programming>의 제2판 개정 작업을 하던 도중, 당시 금속 활자 인쇄를 대체한 사진 식자로 조판된 책의 교정본을 1977년 3월에 전달 받은 커누스 교수는 그 조판 품질이 너무 형편없어서 깊은 빡침을 느낀다. 결국 커누스 교수는 당시 초기 단계였던 디지털 출력 시스템을 자신의 책 조판에 활용할 목적으로 직접 TeX을 개발했다. 그리고 수많은 이공계 학생들이 TeX의 난이도에 깊은 빡침을 느끼고 있다.

특징

문서를 만드는 건지 프로그래밍을 하는 건지

흔히 쓰는 WYSIWYG 방식 워드프로세서와는 달리 HTML처럼 명령어를 사용하여 텍스트 및 문서의 모양을 잡으며, 이를 컴파일해서 DVI라는 자체 전자 문서 포맷을 생성한다. 최근에는 DVI 대신 PDF를 곧바로 만드는 PDFTeX이 널리 쓰이고 있다. 일반 텍스트 편집기라면 무엇이든 쓸 수 있으나 TeX 편집에 쓰기 좋은 전용 편집기, 또는 텍스트 편집기의 플러그인도 많이 나와 있다. 프로그램 컴파일을 할 때처럼 TeX도 컴파일 도중에 문제가 있으면 경고를 내거나 심지어 에러를 내면서 조판이 중단되기도 한다.

커누스 교수가 만든 그대로의 TeX을 보통 'PlainTeX'이라고 하는데, 극악의 난이도 때문에 정말 쓰기 어렵다. TeX을 쓰는 대다수 사람들은 TeX을 기반으로 좀 더 쓰기 편하게하지만 여전히 빡친다. IQ 200 용에서 IQ 180 용으로 쉬워진 것? 만든 LaTeX을 사용한다.

프로그래밍을 하듯이 수십에서 백여가지 이상의 명령어를 알아야 하며 컴파일을 해야만 조판 결과를 알 수 있기 때문에 난이도가 높은 반면, 확정성이 대단히 좋고 문서를 아주 정확하게 만들 수도 있다. 예를 들어 그림 크기를 본문의 폭의 80%가 되게 지정해 놓는 것이 가능한데,[1] 나중에 용지 크기나 여백이 변할 때에 그림의 크기도 자동으로 변경된다.

강력한 수식 편집 기능

무엇보다도 가장 큰 특징은 수식 입력이다. 커누스 교수가 TeX을 만든 이유 중 하나도 복잡한 수식 조판을 편리하게 하기 위해서다. TeX의 수식 입력 방식은 손에 익으면 마우스의 도움이 필요한 마이크로소프트 오피스 식의 입력 방식보다 훨씬 빠르고 논리적이다. 그리고 품질이 굉장히 좋다. 미국수학회에서는 이러한 TeX의 장점을 살려서 원래의 TeX에는 없었지만 수학 논문 작성에 필요한 수많은 기호와 문자를 추가시킨 AMS-TeX을 만들었다. 그 때문에 이공계, 특히 수학 논문을 개제하는 저널이나 학회, 대학교에서는 반드시 TeX으로 논문을 제출하도록 요구하는 경우가 많다.

글꼴 처리

커누스 교수는 글꼴 처리를 위해서 메타폰트(METAFONT)라는 자체적인 벡터 글꼴 포맷을 만들었다. 과거에는 메타폰트로부터 여러 가지 해상도와 크기를 가진 비트맵 글꼴 세트를 미리 생성하고 이를 갖다 쓰는 식으로 처리했다. 지금이야 벡터 글꼴에서 바로바로 비트맵 글꼴을 뽑아내지만 1970년대의 컴퓨터 속도라는 게 과연 어느 정도인지 상상해 보라. 처음에 비트맵 글꼴을 만드는 데 시간이 엄청나게 오래, 그러니까 하루를 꼬박 잡아먹긴 했지만 그 이후에는 여러 가지 크기의 비트맵 글꼴을 바로 뽑아먹으면 되니 속도에 도움이 되었다.

컴퓨터 속도가 충분히 빨라지고, 트루타입 같은 벡터 글꼴이 널리 쓰이면서부터는 트루타입에서 비트맵 글꼴을 생성하는 도구들이 등장했다. 최근에는 아예 컴퓨터에 설치된 트루타입 또는 오픈타입 등의 글꼴을 바로 갖다 쓸 수 있는 XeTeX 엔진이 등장하면서 글꼴을 활용하기가 훨씬 쉬워졌다.

기타

TeX의 메이저 버전은 3이다. 1989년에 버전 3이 나온 이후로는 마이너 업그레이드만 하고 있는데, 최신 버전은 3.14159265다. 어디서 많이 본 것 같지 않은가? 맞다. 원주율이다. 마이너 업그레이드가 이루어질 때마다 원주율에 맞춰서 뒤에 숫자가 하나 붙는다. 그러니까 14159265번 수정된 게 아니라 8번 수정된 거다. 1989년에 나온 프로그램이 겨우 8번 수정되었다니, 엄청나게 버그가 없고 안정된 프로그램이다.

출처

  1. LaTeX 명령어를 쓰면 \includegraphics[width=.8\textwidth]{picture.png}와 같은 방법으로 그와 같이 할 수 있다.