대학원 입학 전, 학부인턴으로 연구실에 들어왔을 때 교수님께서 가장 먼저 시키신 일 중 하나가 LaTeX문서 작성이었다. LaTeX은 수식이 많이 들어가는 문서를 작성하는데 주로 쓰이는 문서 작성 도구인데, 아직은 익숙치 않다보니 늘 생소하고 어렵게만 느껴진다. 특히 나의 경우에는 수식이 많이 들어가는 분야를 연구하고 있고, 곧 논문도 써야하는 만큼 LaTeX을 잘 다뤄야겠다고 생각하여 LaTeX에 대해 제대로 공부해보기로 했다. 특히 LATEX 2ε 입문을 많이 참고하였다.

LaTeX 이란?

  • LaTeX은 TeX에서 확장되어 여러가지 기능이 붙은 문서 작성 도구이며 ‘레이텍’이라고 발음한다.
  • TeX은 Donald E. Knuth가 수식을 넣은 문서를 작성하던 중 적당한 시스템이 없어 직접 개발한 언어다.
  • 마크업 언어처럼 프로그래밍을 하듯 문서를 작성한다.

LaTeX의 장점

  • 문서의 레이아웃에 대해 걱정하지 않아도 된다. 제대로만 작성하면 알아서 다 해준다.
  • 수식이 포함된 문서 작성에 매우 용이하다. 실제로, 논문은 물론이고 수학 교과서까지 만든다.
  • 복잡한 문서 구조도 간단히 작성할 수 있다.

LaTeX의 단점

  • 완전히 새로운 레이아웃을 설계하기 어렵다.
  • 체계적이지 않은 문서를 작성하기 어렵다.

LaTeX 기본 사항

공백

  • 빈 칸이나 탭과 같은 공백(white space)은 모두 스페이스(space)로 처리된다.
  • 여러개의 연속된 공백 문자도 하나의 스페이스로 처리된다.
  • 행의 첫 공백 문자는 무시된다.
  • 한번의 줄바꿈(linebreak) 역시 하나의 공백 문자로 처리된다.
  • 빈 줄은 문단 띄울 수 있다.
  • 빈 줄이 여러개라도 한 줄만 띄워진다.

특수문자

  • 여느 프로그래밍 언어와 같이, 기호들은 각각의 의미를 갖고 있다.
  • 그대로 텍스트화 하려면 \를 앞에 붙여줘야 한다.
  • ex) \# \$ \% \^{} \& \_ \{ \} \~{}
  • 백슬래시를 텍스트로 표기하기 위해서는 \\이 아니다. \\은 다음 줄로 넘어가는 것을 의미한다.
  • 백슬래시를 입력하고 싶다면 \textbackslash을 이용하면 된다.

LaTeX 명령

  • 대소문자를 구분한다.
  • \으로 시작하여 문자(letter)으로 구성된 이름을 가지며, 공백이나 숫자 혹은 ‘문자가 아닌 것’으로 끝나는 구성이다.
  • 혹은 \ 뒤에 딱 한개의 ‘문자가 아닌 것’으로 구성되어 있다.
  • 명령 다음의 공백문자는 무시된다. 공백을 쓰고 싶다면 명령 뒤에 {}을 사용해야 한다.
  • 인자가 필요한 경우도 있다. 인자는 {}안에 들어가게 된다.

주석

  • 주석처리하고자 하는 부분 앞에 %을 붙이면 %뒤부터 그 줄의 끝까지는 주석처리된다.
  • 긴 줄을 주석처리하고 싶다면 \usepackage{verbatim}한 후, \begin{comment} 주석 처리하고자 하는 글들 \end{comment} 과 같은 방식으로도 할 수 있다.

문서 클래스

  • 앞서, LaTeX 문서는 \documentclass{...}으로 시작해야 한다. 지금 작성하고자 하는 문서가 어떤 종류인지 알리는 것이다.
  • 구체적으로 documentclass 명령을 살펴보자면, \documentclass[options]{class}으로 표현해야 하는데, 이때 class인자가 만들어질 문서의 유형이다. option인자는 문서 클래스를 사용자의 의도에 맞게 조절하는 데 쓰인다. 여러 개의 옵션을 넣고싶다면 쉼표로 구분해주면 된다.
  • 문서 클래스의 종류는 article, book, report 등이 있다.
  • 문서 옵션의 종류로는 10pt, a4paper, twoside 등이 있다.

패키지

  • 패키지 사용은 \usepackage[options]{package}으로 할 수 있다.
  • package는 패키지의 이름을 가리킨다.
  • options는 패키지가 수행해야 할 특정 기능을 나타내는 지시어들을 말한다.

쪽양식(page style)

  • 머리글과 바닥글의 조합을 쪽 양식이라고 한다.
  • LaTeX은 세가지 기본 스타일(plain, headings, empty)을 제공한다.
  • \pagestyle{style} 을 통해 설정 가능하다.

참고