LaTeX
TeX을 기반으로 컴퓨터 과학자 레슬리 램포트(Leslie Lamport)가 만든 조판 프로그램이자 문서 마크업 언어. TeX이 워낙에 극악의 난이도를 자랑하디 보니 좀 쉽게 쓸 수 있도록 만든 것이다. 그 덕택에 난이도는 극악에서 차악으로. TeX을 만든 도널드 커누스 교수도 컴퓨터 과학계에서는 전설은 아니고 레전드급이지만 레슬리 램포트도 '분산 컴퓨팅'의 아버지라는 말을 들을 정도로 출중한 컴퓨터 과학자다. 둘 다 컴퓨터 과학계의 최고 영예로 손꼽히는 앨런튜링상을 받았다. 그런 천재들이 만들었으니 괴랄하게 어렵지. 지금은 레슬리 램포트는 손을 떼고 팀 체제로 개발을 진행하고 있다.
TeX을 쓰는 사람들 가운데 대다수는 LaTeX을 쓰고 있다. 이후 ConTeXt와 같이 TeX 기반 문서 마크업 언어들이 여럿 나왔지만 워낙에 사용자가 광범위하고 많은 패키지 및 스타일 파일이 나와 있는지라 LaTeX의 아성을 깨고 있지는 못하다. 앞으로도 깨질 일은 없을 듯. 그러나 LaTeX3 팀이 만들고 있는 그 괴랄한 명령어 체제를 생각한다면 윈도우 비스타나 윈도우 8 꼴이 날 지도.
많은 이공계 학회, 특히 수학 관련 학회는 TeX, 그 가운데 대개 LaTeX으로 쓴 논문만 받는다. 특히 미국수학회(AMS)가 여러 가지 수학 관련 기호를 보강한 AMS-LaTeX은 수학계에서는 표준이나 마찬가지다. 최근에는 MS워드로 만든 것도 받긴 하지만 LaTeX을 더 선호하는 이공계 학회가 많은데, MS워드로 받다 보면 저자들마다 해 놓은 게 제각각이라서 하나의 저널에 맞추기도 힘들고, 특히 수식이 많이 섞여 있으면 정렬이나 번호 매기기, 색인을 비롯한 여러 가지 부분에서 애로사항이 꽃핀다. LaTeX은 규칙이 어느 정도 딱 정해져 있으므로 손이 덜 간다. LaTeX을 쓰면 저자가 죽어나고 MS워드를 쓰면 편집자가 죽어난다.
문서의 구조
LaTeX 문서는 최소한 다음과 같은 구조를 가지고 있어야 한다.
\documentclass{article} % 문서의 클래스를 설정하는 부분, article 말고도 report, book, memoir, beamer, 그밖에도 여러 클래스들이 있다.
% 여기에 각종 패키지와 옵션, 설정이 들어간다. 이곳을 서두(preamble)라고 한다.
\begin{document}
% 여기에 본문이 들어간다.
\end{document}
클래스
LaTeX은 문서 클래스를 결정하는 \documentclass[options]{class}
명령이 가장 앞에 나와야 한다. class 매개변수에 따라서 문서의 기본 모양이나 구조가 결정된다. 물론 나중에 명령어나 패키지로 바꿀 수는 있지만 일단 기본 골격을 잡고 시작하는 것이다. 기본으로 다음과 같은 네 가지 클래스가 제공된다.
- article :
- report :
- letter:
- book :
그밖에도 좀 더 편리한 기능을 제공하는 확장된 클래스도 있다.
- memoir :
- oblivoir :
options 매개변수는 말 그대로 여러 가지 옵션을 설정할 수 있는 곳이다.
패키지
LaTeX을 강력하게 만들어 주는 기능이 바로 패키지다. 수천 수만 가지의 패키지로 온갖 확장기능을 쓸 수 있다. 기존 워드프로세서나 전자출판 프로그램으로는 초 고난이도의 작업이 필요한 것을 패키지로 허탈하게 간단하게 만들 수도 있다. MusicTeX으로는 품질이 뛰어난 악보를 조판할 수도 있고, TikZ로는 여러 가지 수학 그래프를 그릴 수 있다.[1] Beamer로는 프레젠테이션 파일을 만들 수 있다. 문제는 하도 패키지가 많다 보니 내가 원하는 기능을 제공하는 패키지가 무엇인지를 찾는 것도 일이라는 점이다. 열심히 검색해서 내가 필요한 패키지를 찾아야 한다.