KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
A truly wise man never plays leapfrog with a Unicorn.
FrontPage › LaTeX문법요소
LaTeX Macro 언어의 문법 요소.

백슬래시, 중괄호쌍, 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까지를 하나의 명령 시퀀스로 해석한다.
    /!\ 그 때문에 재미있는 상황이 생겨나는데, 예를 들어 다음과 같은 경우,
    \thisisanarbitrarycommand \newcontrolsequences
    
    와 같은 구문에서, thisisanarbitrarycommand 다음의 공백(space)이 "letter아닌 것"에 해당하여, 이 명령은 thisisanarbitrarycommand까지만 명령시퀀스로 이해된다. 그리고 그 다음 공백은 여러 개가 오더라도 무시한다. 위와 같은 구문에서는 두 개의 명령 사이에 아무런 공백도 없는 것으로 처리될 것이다. 그러나,
    \thisisanarbitrarycommand{} \newcontrolsequenses
    
    에서는 중괄호가 왔으므로, 닫는 중괄호 다음의 공백 하나가 하나의 스페이스로 처리될 것이다.
    명령의 인자(argument)는 중괄호({}) 안에 온다.

  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}라는 환경 속에 그 주된 내용이 놓이도록 설계되어 있다.

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

명령어 유효범위

명령어 유효범위(scope of an instruction)란 주어진 명령어가 영향을 미치는 영역을 말한다.
  • 명령(command)의 유효범위
    : 인자(argument)로 주어진 범위(왼쪽 중괄호(\bgroup)에서 오른쪽 중괄호(\egroup))에만 영향을 미친다.
  • 선언(declaration)의 유효범위
    : 선언이 이루어진 위치가 포함된 \bgroup에 짝이 맞는 \egroup까지 영향을 미친다. 만약 선언이 이루어진 위치 이전에 \bgroup이 없다면 주어진 선언을 무력화하는 다른 선언이 나오지 않는 한 문서의 끝까지 영향을 미친다. 만약 다른 환경(environment) 안에서 선언이 이루어졌다면, 환경이 시작되는 부분에 \bgroup이 있는 것과 동일하게 취급된다. 즉, 그 환경이 끝나는 시점에서 선언은 효력이 종료된다. 선언 이전에 다른 \bgroup이 없는 경우란, document 환경 안에 있는 것과 동일하므로, \end{document}까지 효력이 있다고 볼 수 있다.
  • 환경(environment)의 유효범위
    : 환경은 그 시작 위치와 종료 위치가 \begin\end로 주어지므로, 그 범위 내에서만 유효하다.

\global 지시자

  • 변수의 정의와 재정의(\def)에 \global을 지시하면 유효범위가 전체 문서로 확대된다.
  • \setlength에 의한 길이 변수의 재정의는 언제나 global하다.


<to be continued...>



^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-02-24 01:22:44
Processing time 0.0458 sec