LaTeX: 두 판 사이의 차이

내위키
43번째 줄: 43번째 줄:
==패키지==
==패키지==


LaTeX을 강력하게 만들어 주는 기능이 바로 패키지다. 수천 수만 가지의 패키지로 온갖 확장기능을 쓸 수 있다. 기존 [[워드프로세서]]나  [[전자출판]] 프로그램으로는 초 고난이도의 작업이 필요한 것을 패키지로 허탈하게 간단하게 만들 수도 있다. MusicTeX으로는 품질이 뛰어난 악보를 조판할 수도 있고, TikZ로는 여러 가지 수학 그래프를 그릴 수 있다.<ref>사실 TikZ가 제공하는 기능은 그 정도를 훨씬 뛰어넘는다. 심지어 클래스와 인터페이스를 동원한 객체지향 프로그래밍까지 가능다. 이 패키지의 매뉴얼이 무려 1,165 페이지다. 더 이상 설명이 [[必要韓紙]]?</ref> Beamer로는 프레젠테이션 파일을 만들 수 있다. 문제는 하도 패키지가 많다 보니 내가 원하는 기능을 제공하는 패키지가 무엇인지를 찾는 것도 일이라는 점이다. 열심히 검색해서 내가 필요한 패키지를 찾아야 한다.
LaTeX을 강력하게 만들어 주는 기능이 바로 패키지다. 수천 수만 가지의 패키지로 온갖 확장기능을 쓸 수 있다. 기존 [[워드프로세서]]나  [[전자출판]] 프로그램으로는 초 고난이도의 작업이 필요한 것을 패키지로 허탈하게 간단하게 만들 수도 있다. MusicTeX으로는 품질이 뛰어난 악보를 조판할 수도 있고, TikZ로는 여러 가지 수학 그래프를 그릴 수 있다.<ref>사실 TikZ가 제공하는 기능은 그 정도를 훨씬 뛰어넘는다. 심지어 클래스와 인터페이스를 동원한 객체지향 프로그래밍까지 가능하다. 이 패키지의 매뉴얼이 무려 1,165 페이지다. 더 이상 설명이 [[必要韓紙]]?</ref> Beamer로는 프레젠테이션 파일을 만들 수 있다. 문제는 하도 패키지가 많다 보니 내가 원하는 기능을 제공하는 패키지가 무엇인지를 찾는 것도 일이라는 점이다. 열심히 검색해서 내가 필요한 패키지를 찾아야 한다.


==서두==
==서두==

2015년 6월 9일 (화) 21:15 판

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 매개변수는 말 그대로 여러 가지 옵션을 설정할 수 있는 곳이다. 종이 크기, 글자의 기본 크기, 양면/단면 레이아웃과 같은 여러 가지 기본 레이아웃을 조절할 수 있다.

  • 9pt, 10pt, 11pt, 12pt : 기본 글자 크기를 조절한다. 이 옵션에 따라 글자 크기 명령으로 바뀌는 글자 크기도 달라진다.
  • oneside, twoside : 레아아웃을 단면으로 할지 양면 맞보기로 할지를 정한다. 양면으로 하면 좌우 여백이 바깥쪽과 안쪽 여백으로 바뀌고 기본 페이지 번호 매기는 것도 좌우 페이지에 맞게 좌우로 배치된다.
  • a4apaper, letter... : 용지 크기를 정한다. 경이로운 용지 크기 옵션이 있으나, 이 위키의 여백이 충분하지 않아 옮기지는 않는다.

패키지

LaTeX을 강력하게 만들어 주는 기능이 바로 패키지다. 수천 수만 가지의 패키지로 온갖 확장기능을 쓸 수 있다. 기존 워드프로세서전자출판 프로그램으로는 초 고난이도의 작업이 필요한 것을 패키지로 허탈하게 간단하게 만들 수도 있다. MusicTeX으로는 품질이 뛰어난 악보를 조판할 수도 있고, TikZ로는 여러 가지 수학 그래프를 그릴 수 있다.[1] Beamer로는 프레젠테이션 파일을 만들 수 있다. 문제는 하도 패키지가 많다 보니 내가 원하는 기능을 제공하는 패키지가 무엇인지를 찾는 것도 일이라는 점이다. 열심히 검색해서 내가 필요한 패키지를 찾아야 한다.

서두

본문

각주

  1. 사실 TikZ가 제공하는 기능은 그 정도를 훨씬 뛰어넘는다. 심지어 클래스와 인터페이스를 동원한 객체지향 프로그래밍까지 가능하다. 이 패키지의 매뉴얼이 무려 1,165 페이지다. 더 이상 설명이 必要韓紙?