KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
Your domestic life may be harmonious.
FrontPage › Preamble
전문(前文) 혹은 전처리 부

한글LaTeX 길잡이에는 전문(前文)이라 하였으며, lshort-kr에서는 `전처리부'라고 번역 하였다.

TeX에서는
  • $$\mbox{\LaTeX} 2.09$$에서는 \documentstyle ~ \begin{document}까지를 말하며
  • $$\LaTeXe$$에서는 \documentclass ~ \begin{document}까지를 말한다.

Q&A

Q1 \documentclass 전에는 다른 명령이 올 수 없나요? A. 올 수 있습니다. LaTeX이란 결국 latex.fmt에 미리 정의된 양식(명령)을 이용해서 tex을 부르는 것이므로 tex이 순차적으로 명령을 수행한다면 LaTeX 명령과 상충이 없는 한 \documentclass 전에라도 다른 명령이 올 수 있을 것입니다. (그러나 현실적으로 그다지 많을 것 같지는 않군요.) 예를 들자면 문서에 에러가 있더라도 그냥 죽~ 컴파일하라는 \nonstopmode 명령이라든지, 또는 PDFLaTeX이 실행되고 있는지를 확인하기 위한 트릭으로 많이 쓰는,
 \ifx\pdfout\undefined
 \documentclass{article}
 \usepackage[dvipdfm]{graphicx}
 \else
 \documentclass{article}
 \usepackage[pdftex]{graphicx}
 \usepackage{thumbpdf}
 \fi
와 같은 처리가 있을 수 있습니다. 위의 예제는 PDFLaTeX이 실행되는 것이 아니면 dvipdfm 옵션으로 graphicx 패키지를 포함하여 문서를 만들고 PDFLaTeX이 실행된다면 pdftex 옵션으로 graphicx 패키지를 포함하여 문서를 만들라는 정도의 뜻입니다.

Q2 Preamble에 올 수 있는 명령이 따로 정해져 있습니까? A. LaTeX 명령 중에는 Preamble에만 올 수 있는 명령이 있습니다. 예를 들면 \usepackage와 같은 명령은 Preamble에만 와야 합니다. 또 문서를 포함할 때 쓰는 명령 중에서 \includeonly는 Preamble에만 나와야 하지만 \include와 같은 명령은 Preamble에 올 수 없습니다. 대신 \input 명령은 Preamble과 본문 어디에서든 괜찮습니다.

Preamble에서 할 수 있지만 해서는 안되는 일

만약 쓰고 있는 논문이 혼자서 인쇄/출판하고 혼자서 열람할 것이 아니라 다른 사람이 만든 논문과 합쳐서 프로시딩을 만들거나 책을 만드는 데 쓰일 수 있다면, 다음과 같은 일은 되도록 하지 않는 것이 좋다.

  1. 장/절 명령의 형식, 우선순위를 바꾸거나 장/절 명령의 외양(글꼴 등)을 변형하는 일
  2. 강제로 페이지를 설정하는 일
  3. 페이지 레이아웃을 영향을 줄 수 있는 모든 일. 예를 들면 좌우여백의 재설정, 행간의 재설정 등.
  4. Figure, Table의 Caption의 모양을 바꾸는 일
  5. Figure, Table 등 floating objects 들의 위치를 강제로 할당하는 일

위에 든 일들은 자신만의 스타일 파일로 만들어서 활용하는 것이 좋고, 예컨대, \usepackage{mystyle} 이 한 줄만 제외하면 표준적인 문서 형식을 복원할 수 있도록 충분히 주의해서 문서를 작성하는 것이 필요하다. 그러나 좀더 간소한 표현을 위해서 자신이 줄여쓴 adhoc한 명령은 mystyle에 포함할 것이 아니라 preamble에 그냥 두는 편이 나은데, 요컨대 mystyle을 제외했을 때 컴파일이 불가능하도록 해서는 안될 것이다. 어떤 의미에서는, 일체의 사용자 명령을 사용하지 않고, 표준 클래스나 미리 제공된 클래스에서 제공되는 명령만을 쓰거나, 부득이한 경우 레이아웃에 영향을 미치지 않는 사용자 명령을 쓰는 것이, 가장 바람직하다.



^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-04-12 23:42:55
Processing time 0.0365 sec