LaTeX 명령과 환경 사용하기
명령의 인수, 선택 설정, begin–end 환경을 문법에 맞게 읽는 방법을 알아봅니다.
이 문서의 내용
LaTeX의 문법이 눈에 익으면 소스의 문제를 훨씬 쉽게 찾을 수 있습니다. 명령은 동작을 수행하고, 인수는 내용을 전달하며, 환경은 일정 구간에 규칙을 적용합니다. 패키지는 기본 형식에 없는 정의를 추가합니다.
명령을 왼쪽에서 오른쪽으로 읽기#
대부분의 명령은 백슬래시로 시작합니다. 필수 인수는 중괄호, 선택 설정은 대괄호를 씁니다.
\section{Method}에는 필수 인수 하나가 있습니다.\documentclass[11pt]{article}는 필수 클래스 이름 앞에 선택 설정을 추가합니다.\includegraphics[width=0.7\linewidth]{figures/result.pdf}는 키–값 옵션과 필수 파일 경로를 사용합니다.%뒤부터 그 소스 줄의 끝까지는 주석이 되어 LaTeX가 무시합니다.
옵션은 해당 명령이나 패키지에서 정의했을 때만 의미가 있습니다. 중괄호와 대괄호를 바꾼다고 필수 인수가 선택 인수가 되지는 않습니다.
범위와 환경의 짝 맞추기#
중괄호는 적용 범위도 제한합니다. {\small calibration data}에서 글자 크기 변경은 닫는 중괄호까지만 적용됩니다. 환경은 \begin{name}으로 시작하고 반드시 같은 이름의 \end{name}으로 끝나야 합니다.
\documentclass[11pt]{article}
\usepackage[margin=30mm]{geometry} % page layout package
\newcommand{\dataset}{\textsc{RiverFlow}}
\begin{document}
We evaluated the model on the \dataset{} data set.
\begin{quote}
Reproducible analysis begins with a clearly defined data set.
\end{quote}
The full text is normal size; {\small this qualification is smaller}.
\end{document}결과에는 30 mm 여백, 재사용 가능한 작은 대문자 데이터 세트 이름, 들여쓴 인용문, 한 구절에만 적용된 글자 크기 변경이 나타납니다. 문서 전체에서 쓰는 \newcommand 정의는 처음 사용하기 전에 불러올 수 있도록 프리앰블에 두세요. 이는 파일 구성에 관한 권장 사항이지, 모든 명령을 반드시 프리앰블에서 정의해야 한다는 문법 규칙은 아닙니다. \dataset{}의 빈 중괄호는 뒤따르는 공백 전에 명령을 끝냅니다. 이 중괄호가 없으면 TeX가 뒤따르는 공백을 명령의 일부로 처리해 출력에서 생략할 수 있습니다.
잘못된 형태 알아보기#
LaTeX는 빠진 경계를 계속 찾기 때문에 다음 오류가 실제 원인보다 뒤의 줄에서 나타나기도 합니다.
| 잘못된 소스 | 올바른 소스 | 이유 |
|---|---|---|
\textbf{Key result |
\textbf{Key result} |
필수 인수를 닫는 중괄호가 필요합니다. |
\begin{quote} ... \end{quotation} |
\begin{quote} ... \end{quote} |
환경 이름이 정확히 일치해야 합니다. |
\includegraphics{width=5cm}[plot.pdf] |
\includegraphics[width=5cm]{plot.pdf} |
옵션은 필수 인수보다 앞에 옵니다. |
50% of samples |
50\% of samples |
이스케이프하지 않은 %는 그 줄의 나머지를 주석으로 만듭니다. |
“Undefined control sequence”는 보통 명령의 철자가 틀렸거나, 필요한 패키지를 불러오지 않았거나, 명령 정의가 너무 뒤에 있다는 뜻입니다. 패키지를 무작정 추가하지 말고 먼저 어떤 명령인지 확인한 다음 정의되지 않은 명령 안내를 참고하세요.
프리앰블에 \newcommand{\species}{\textit{E. coli}}를 추가하고 예제에서 \species{}를 두 번 사용해 보세요. 컴파일한 뒤 두 곳이 함께 바뀌는지 확인합니다. 이어서 문서 구조를 학습하세요.
