LaTeX: 두 판 사이의 차이
(→클래스) |
(→본문) |
||
58번째 줄: | 58번째 줄: | ||
==본문== | ==본문== | ||
실제 내용이 들어가는 곳이다. {{LaTeX|\begin{document} ... \end{document}}} 사이에 있는 내용만 실제 출력 결과에 나타난다. | |||
{{각주}} | {{각주}} |
2015년 6월 15일 (월) 05:45 판
출판물에는 [math]\displaystyle{ \LaTeX }[/math]라고 써야 정확하다. 라텍, 또는 레이텍이라고 있는 것이 보통.
TeX을 기반으로 컴퓨터 과학자 레슬리 램포트(Leslie Lamport)가 만든 조판 프로그램이자 문서 마크업 언어. TeX이 워낙에 극악의 난이도를 자랑하디 보니 좀 쉽게 쓸 수 있도록 만든 것이다. 그 덕택에 난이도는 극악에서 차악으로. TeX을 만든 도널드 커누스 교수도 컴퓨터 과학계에서는 전설은 아니고 레전드급이지만 레슬리 램포트도 '분산 컴퓨팅'의 아버지라는 말을 들을 정도로 출중한 컴퓨터 과학자다. 둘 다 컴퓨터 과학계의 최고 영예로 손꼽히는 앨런튜링상을 받았다. 그런 천재들이 만들었으니 괴랄하게 어렵지. 지금은 레슬리 램포트는 손을 떼고 팀 체제로 개발을 진행하고 있다.
TeX을 쓰는 사람들 가운데 대다수는 LaTeX을 쓰고 있다. 이후 ConTeXt와 같이 TeX 기반 문서 마크업 언어들이 여럿 나왔지만 워낙에 사용자가 광범위하고 많은 패키지 및 스타일 파일이 나와 있는지라 LaTeX의 아성을 깨고 있지는 못하다. 앞으로도 깨질 일은 없을 듯. 그러나 LaTeX3 팀이 만들고 있는 그 괴랄한 명령어 체제를 생각한다면 윈도우 비스타나 윈도우 8 꼴이 날 지도.
많은 이공계 학회, 특히 수학 관련 학회는 TeX, 그 가운데 대개 LaTeX으로 쓴 논문만 받는다. 특히 미국수학회(AMS)가 여러 가지 수학 관련 기호를 보강한 AMS-LaTeX은 수학계에서는 표준이나 마찬가지다. 최근에는 MS워드로 만든 것도 받긴 하지만 LaTeX을 더 선호하는 이공계 학회가 많은데, MS워드로 받다 보면 저자들마다 해 놓은 게 제각각이라서 하나의 저널에 맞추기도 힘들고, 특히 수식이 많이 섞여 있으면 정렬이나 번호 매기기, 색인을 비롯한 여러 가지 부분에서 애로사항이 꽃핀다. LaTeX은 규칙이 어느 정도 딱 정해져 있으므로 손이 덜 간다. LaTeX을 쓰면 저자가 죽어나고 MS워드를 쓰면 편집자가 죽어난다.
특징
구조적 문서
구조적인 글쓰기를 할 때에는 최강이다. LaTeX이 제공하는 명령어들이 구조적인 글쓰기를 유도하기 때문에, LaTeX을 애용하다 보면 자연스럽게 구조가 잘 짜여진 글을 쓰고 싶어진다. 그렇게 쓰고는 싶은데 능력이 안 되면 어쩔 수 없고.
패키지
LaTeX을 강력하게 만들어 주는 기능이 바로 패키지다. 수천 수만 가지의 패키지로 온갖 확장기능을 쓸 수 있다. 기존 워드프로세서나 전자출판 프로그램으로는 초 고난이도의 작업이 필요한 것을 패키지로 허탈하게 간단하게 만들 수도 있다. MusicTeX으로는 품질이 뛰어난 악보를 조판할 수도 있고, TikZ로는 여러 가지 수학 그래프를 그릴 수 있다.[1] Beamer로는 프레젠테이션 파일을 만들 수 있다. 문제는 하도 패키지가 많다 보니 내가 원하는 기능을 제공하는 패키지가 무엇인지를 찾는 것도 일이라는 점이다. 열심히 검색해서 내가 필요한 패키지를 찾아야 한다.
문서의 구조
LaTeX 문서는 최소한 다음과 같은 구조를 가지고 있어야 한다.
\documentclass{article} % 문서의 클래스를 설정하는 부분, article 말고도 report, book, memoir, beamer, 그밖에도 여러 클래스들이 있다.
% 여기에 각종 패키지와 옵션, 설정이 들어간다. 이곳을 서두(preamble)라고 한다.
\begin{document}
% 여기에 본문이 들어간다.
\end{document}
클래스
LaTeX은 문서 클래스를 결정하는 \documentclass[options]{class}
명령이 가장 앞에 나와야 한다. class 매개변수에 따라서 문서의 기본 모양이나 구조가 결정된다. 물론 나중에 명령어나 패키지로 바꿀 수는 있지만 일단 기본 골격을 잡고 시작하는 것이다. 기본으로 다음과 같은 네 가지 클래스가 제공된다.
- article :
- report :
- letter: 편지를 위한 클래스.
- book : 책을 만들 때 쓰는 클래스. 기본 레아아웃이 양면 마주보기이고 머리글이나 바닥글을 비롯한 그밖의 레이아웃 요소도 여기에서 맞춰서 설정된다.
그밖에도 좀 더 편리한 기능을 제공하는 확장된 클래스도 있다.
- memoir : 기본 클래스보다 훨씬 많은 조절 기능과 확장 기능을 제공하는 클래스. 어지간한 문서는 이 클래스 하나면 만능에 가깝다.
그러니 당연히 매뉴얼이 두꺼워질 수밖에. - oblivoir : memoir를 기반으로 좀 더 쓰기 쉽게 만들고, 한글에 관련된 편리한 기능들을 추가시킨 클래스.
options 매개변수는 말 그대로 여러 가지 옵션을 설정할 수 있는 곳이다. 종이 크기, 글자의 기본 크기, 양면/단면 레이아웃과 같은 여러 가지 기본 레이아웃을 조절할 수 있다. 여러 개의 옵션을 쓸 때에는 쉼표(,)로 구분한다.
- 9pt, 10pt, 11pt, 12pt : 기본 글자 크기를 조절한다. 이 옵션에 따라 글자 크기 명령으로 바뀌는 글자 크기도 달라진다.
- oneside, twoside : 레아아웃을 단면으로 할지 양면 맞보기로 할지를 정한다. 양면으로 하면 좌우 여백이 바깥쪽과 안쪽 여백으로 바뀌고 기본 페이지 번호 매기는 것도 좌우 페이지에 맞게 좌우로 배치된다.
- a4apaper, letter... : 용지 크기를 정한다.
LaTeX에는 경이로운 용지 크기 옵션들이 있으나, 이 위키의 여백이 충분하지 않아 옮기지는 않는다.
서두
서두(preamble)는 문서 전역에 영향을 미치는 각종 설정을 한다. 패키지를 읽어들이고, 문서에 적용되는 자세한 레이아웃을 설정하고, 기본 글꼴을 바꾸기도 하고, 새로운 명령어 또는 환경을 만들거나 기존의 명령어/환경을 고칠 수도 있다. 이러한 명령 또는 설정 가운데에는 본문 안에서 해도 되는 것들이 많지만 본문에 섞기보다는 서두에 모아서 정리하는 것이 훨씬 관리하기 쉽다.
본문
실제 내용이 들어가는 곳이다. \begin{document} ... \end{document
} 사이에 있는 내용만 실제 출력 결과에 나타난다.