Wiki 문법 - LaTeX 문법요소

백슬래시, 중괄호쌍, begin-end

  1. 백슬래시 `\`
    • 명령, 선언 등과 같은 제어문자열(ControlSequences)을 시작한다.
  2. 중괄호쌍 `{`,`}`
    • 일정한 범위의 텍스트를 중괄호로 묶어주면 하나의 단위로 취급된다.
    • 중괄호쌍은 일련의 명령, 선언을 포함할 수도 있다.
    • LaTeX에서 명령 형식의 인자(argument)를 나타내기 위해 쓰인다.
    • `\bgroup`..`\egroup`과 내용상 거의 비슷하다.
  3. begin-end 쌍. `\begin{<name>}`, `\end{<name>}`
    • 이러한 형식을 LaTeX에서는 `<name>` 환경(environment)이라 한다. 텍스트의 일부나 명령, 선언 등이 올 수 있고, 환경의 시작과 마지막에 이 영역의 텍스트에 대하여 적용할 명령을 별도로 정의할 수 있다.

지시어(instructions)

  1. 단일문자명령
    • 단일문자명령이란, 백슬래시로 시작하지 않지만 특별한 의미를 갖는 것들이다. 예를 들면 &는 array 및 tabular 환경 등에서 칼럼 분리를 의미한다. 틸데(~)는 두 문자 사이를 분할하지 못하도록 묶는 역할을 한다. 단일 문자 지시자들은 대부분 특별한 CategoryCode를 가진다.
  2. 단일단어지시어
    • LaTeX의 설계상 사용자가 `\begin`이나 `\end`로 시작하는 어떤 명령을 정의하였을 때 이상하게 동작하는 것을 경험해보았을 것이다. `if`, `begin`, `end` 등이 명령의 시작이 되면 그 명령은 특별한 뜻을 가지므로, 사용자는 이런 단어로 시작하는 사용자 명령을 작성하지 않아야 한다.

명령, 선언, 환경

  1. 명령과 선언(ControlSequences)
    • 명령과 선언이란, 에스케이프 문자(`\`)로 시작하고 문자(Letter) 아닌 것이 오면 끝나는 문자열을 가리키는 말이다. 예를 들어, \abcdef9 에서, 마지막의 9는 CategoryCode가 letter가 아니므로 그 바로 앞 문자인 abcdef까지를 하나의 명령 시퀀스로 해석한다.
  2. LaTeX에서 명령과 선언
    • LaTeX에서는 명령(command)이라는 말과 선언(declarations)이라는 말을 구별해서 쓸 때가 있다. 둘 사이의 구별은 주로 인자를 갖느냐 갖지 않느냐의 차이이다. 예를 들어 두꺼운 글꼴을 쓰도록 하는 방법은 두 가지가 있는데, 하나는 `\textbf{……..}`와 같은 '명령' 형식을 사용하는 것이고, 다른 하나는 `\bf` 또는 `\bfseries`라는 선언 형식을 사용하는 것이다. 선언은 인자 없이 그 뒤에 오는 모든 텍스트에 영향을 미친다. 선언형을 사용했을 때 다시 normal text로 돌아가기 위해서는 적절한 위치에서 글꼴 바꾸는 명령을 다시 지정해야 할 것이다.
  3. 환경
    • 환경은 `\begin{<name>}`으로 시작하여 `\end{<name>}`으로 끝나는 텍스트의 일부를 말한다. 예를 들어 다음과 같은 환경의 정의는,
      • {{{ \begin{myenvironment} here comes the text \end{myenvironment} }}}

`myenvironment`라는 이름의 환경이 된다. TeX 내부적으로는 LaTeX의 환경이 시작될 때, `\csname <name> \endcsname`을 부르고, 환경이 끝날 때 `\csname end<name> \endcsname`을 부른다. 그러므로, `\myenvironment`라는 명령과 `\endmyenvironment`라는 두 개의 TeX명령이 정의되는 것이다. 이 각각의 명령은 다른 ControlSequences를 포함하고 있어서 텍스트에 일정한 작용을 가하거나 모양을 변경하거나 할 수 있다.

 가장 중요한 환경은 `document` 환경이다. 모든 LaTeX 문서는 `\begin{document}`와 `\end{document}`라는 환경 속에 그 주된 내용이 놓이도록 설계되어 있다.

1. 'LaTeX에서 사용할 수 있는 명령, 선언, 환경'

 문서 작성자가 사용할 수 있는 명령, 선언, 환경은 네 종류이다.
 1. LaTeX-built-in commands etc.
  LaTeX 자체에서 정의하고 있는 명령, 선언, 환경들이다.
 1. Package-add-on commands etc.
  개별적인 패키지들이 정의하고 있는 명령 등이다. `\usepackage` 명령에 의하여 패키지를 로드하면 사용할 수 있다.
 1. 사용자 정의 명령 등
  문서의 [Preamble]이나 사용자 자신의 스타일에서 정의되는 명령 등이다.
 1. Original TeX commands

명령어 유효범위

명령어 유효범위(scope of an instruction)란 주어진 명령어가 영향을 미치는 영역을 말한다.

* 명령(command)의 유효범위 : 인자(argument)로 주어진 범위(왼쪽 중괄호(`\bgroup`)에서 오른쪽 중괄호(`\egroup`))에만 영향을 미친다. * 선언(declaration)의 유효범위 : 선언이 이루어진 위치가 포함된 `\bgroup`에 짝이 맞는 `\egroup`까지 영향을 미친다. 만약 선언이 이루어진 위치 이전에 `\bgroup`이 없다면 주어진 선언을 무력화하는 다른 선언이 나오지 않는 한 문서의 끝까지 영향을 미친다.

만약 다른 환경(environment) 안에서 선언이 이루어졌다면, 환경이 시작되는 부분에 `\bgroup`이 있는 것과 동일하게 취급된다. 즉, 그 환경이 끝나는 시점에서 선언은 효력이 종료된다. 선언 이전에 다른 `\bgroup`이 없는 경우란, document 환경 안에 있는 것과 동일하므로, `\end{document}`까지 효력이 있다고 볼 수 있다.

* 환경(environment)의 유효범위 : 환경은 그 시작 위치와 종료 위치가 `\begin`과 `\end`로 주어지므로, 그 범위 내에서만 유효하다.