[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11. Lists and Tables

Texinfo에 리스트와 표를 만드는 몇가지 방법이 있다. 리스트는 bullet이 붙을 수도 있고, 번호가 붙을 수도 있다; 두열의 표는 첫번째 열의 항목을 highlight할 수 있다; 여러줄의 표도 지원된다.

Texinfo는 리스트나 표안의 텍스트를 자동으로 들여쓰고, 번호 붙은 리스트에는 자동으로 번호를 붙인다. 후자의 기능은 번호를 손수 고칠 필요없이 리스트를 수정할 수 있기 때문에 유용하다.

번호 붙은 리스트와 표는 적절한 @-명령을 줄이 시작할때 쓰면 시작하고 그에 해당되는 @end 명령을 한줄에 단독으로 쓰면 끝난다. 표와 번호 없는 리스트 명령은 시작하는 @-명령의 같은 줄에 formatting 관련 정보를 써야 한다.

예를 들어, @enumerate 명령으로 번호붙은 리스트를 시작하고, @end enumerate 명령으로 리스트를 끝낸다. 번호 없는 리스트는 @itemize 명령으로 시작하고, 그 다음에 @bullet와 같은 포매팅 명령을 넣고, 리스트를 끝낼 때는 @end itemize 명령을 쓴다.

리스트의 각 항목 앞에 @item이나 @itemx 명령을 쓴다.


다음은 여러가지 종류의 표와 리스트의 번호 없는 리스트이다.


다음은 같은 항목으로 구성된 번호 있는 리스트이다.

  1. bullet이 있거나 없는 번호 없는 리스트.
  2. 번호나 알파벳을 사용한 번호 있는 리스트.
  3. highlighting된 두열로 된 표.

그리고 다음은 역시 같은 항목과 그에 해당되는 @-명령으로 구성된 두열로 된 표이다:

@itemize

bullet이 있거나 없는 번호 없는 리스트.

@enumerate

번호나 알파벳을 사용한 번호 있는 리스트.

@table
@ftable
@vtable

highlighting된 두열로 된 표.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.1 Making an Itemized List

@itemize 명령은 드려쓰기된 문단의 연속을 만들어 낸다. bullet이나 그 외의 표시는 이런 표시가 필요한 각 문단의 시작부분의 왼쪽 공백 안에 쓰여진다.

번호 없는 리스트는 줄이 시작할 때 @itemize를 써서 시작한다. 그 명령 다음에 같은 줄에, 표시할 문자나 Texinfo 명령을 쓴다. 보통, @itemize 다음에 @bullet을 쓰지만, @mnius나, 그 외 Info 파일에서 한개의 문자로 나타나게 될 심볼을 쓸 수도 있다. (@bullet이나 @minus@itemize 명령 다음에 쓸 때, ‘{}’는 생략해도 된다.)

들여쓴 문단의 글은 @itemize 다음부터, @end itemize 줄까지 쓰여진다.

공백에 표시가 붙을 각 문단 앞에, @item라고 줄을 쓴다. 이 줄에 다른 어떤 글도 쓰지 않는다.

보통, @item 앞에 빈 줄을 넣어야 한다. 이렇게 하면, Info 파일에서 빈 줄을 넣는다. (TeX은 빈 줄을 넣든 넣지 않든 줄 사이에 알맞은 공백을 넣는다.) 항목들이 아주 간단한 경우가 아니면, 빈 줄을 넣은 리스트가 더 좋아 보인다.

다음은 @itemize 사용의 예와, 이 예에 의해 만들어 지는 출력물이다. @bullet은 Info에서 ‘*’를 만들고, TeX에서 둥근 점을 만든다는 것에 주목하라.

 
@itemize @bullet
@item
Some text for foo.

@item
Some text
for bar.
@end itemize

이 예는 다음을 만든다:

번호 없는 리스트는 다른 번호 없는 리스트 안에 포함될 수 있다. 다음은 bullet으로 표시되는 리스트 안에 포함된 dash로 표시되는 리스트이다.

 
@itemize @bullet
@item
First item.

@itemize @minus
@item
Inner item.

@item
Second inner item.
@end itemize

@item
Second outer item.
@end itemize

이 예는 다음을 만든다:


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.2 Making a Numbered or Lettered List

@enumerate은 각 항목에 붙는 레이블이 bullet이 아닌 연속된 숫자나 알파벳이라는 점을 제외하고는 @itemize와 동일하다 (see section @itemize).

@enumerate 명령을 줄이 시작할 때 쓴다. 이 명령은 인수가 필요없지만, 선택사항으로 한개의 숫자나 알파벳을 받아들인다. 이 옵셔닝 없으면 리스트를 ‘1’부터 시작한다. ‘3’과 같이 숫자를 인수로 주면,, 이 명령은 리스트를 그 숫자부터 시작한다. ‘a’ 혹은 ‘A’같이 대문자 혹은 소문자의 알파벳이라면, 이 명령은 그 문자로 시작하는 리스트를 시작한다.

번호붙은 리스트의 텍스트는 번호 없는 리스트를 쓸 때와 마찬가지로 쓴다: @item을 한줄에 단독으로 번호 붙이고 싶은 문장이 시작하는 곳 바로 앞에 쓴다. @item으로 시작하는 줄에는 어떤 텍스트도 쓰지 않는다.

리스트의 항목들 사이에 빈줄을 넣어야 한다. 이렇게 해야 Info 파일이 더 읽기 쉬워진다.

다음은 인수가 없는 @enumerate의 예이다.

 
@enumerate
@item
Underlying causes.

@item
Proximate causes.
@end enumerate

이것은 다음을 만든다.

  1. Underlying causes.
  2. Proximate causes.

다음은 3의 인수를 가진 예이다.

 
@enumerate 3
@item
Predisposing causes.

@item
Precipitating causes.

@item
Perpetuating causes.
@end enumerate

이것은 다음을 만든다:

  1. Predisposing causes.
  2. Precipitating causes.
  3. Perpetuating causes.

다음은 @enumerate의 여러가지에 대한 요약이다. 이 요약은 @enumreatea 인수를 붙여서 만들었다.

  1. @enumerate

    인수가 없으면, 1부터 시작하는 버호가 붙여진 리스트를 만든다.

  2. @enumerate positive-integer

    (양수의) 번호 인수를 받으면, 그 번호로 번호 붙은 리스트를 시작한다. 이 기능은 다른 텍스트 때문에 끊긴 리스트를 다시 시작할 때 쓸 수 있다.

  3. @enumerate upper-case-letter

    인수를 대문자 알파벳으로 쓰면, 알파벳으로 표시되고, 그 대문자 알파벳으로 시작하는 리스트를 시작한다.

  4. @enumerate lower-case-letter

    인수를 소문자 알파벳으로 쓰면, 알파벳으로 표시되고, 그 소문자 알파벳으로 시작하는 리스트를 시작한다.

또 번호 붙여진 리스트를 outline에서처럼 겹겹이 쓸 수도 있다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.3 Making a Two-column Table

@table@itemize와 비슷하지만 (see section @itemize), 각 항목에 대해 이름이나 머리말을 달 수 있다. @table 명령은 두개의 열로 된 표를 만들 때 쓰이고, 특히 용어 해설, 설명 제시, 그리고 커맨드라인 옵션 요약에 유용하다.

@table 명령을 줄이 시작할 때 쓰고, 같은 줄에 @code, @samp, @var, 혹은 @kbd같은 Texinfo “indicating” 명령을 쓴다 (see section Indicating Definitions, Commands, etc.). 이 명령들은 보통 중괄호 안에 인수가 오지만, 이 경우에는 @item이 인수를 제공하기 때문에 인수 없이 명령어의 이름만을 쓴다. 이 명령어는 첫번째 열에 가게 될 텍스트에 적용되고, 어떻게 그 텍스트가 highlight될 것인지 결정한다. 예를 들어, @code는 첫번째 열의 텍스트를 @code 명령으로 highlight하게 할 것이다. (커맨드라인 옵션의 @table에는 @code를 추천한다.)

@table의 인수로 @asis 명령을 쓸 수도 있다. @asis는 아무것도 하지 않는 명령이다; 이 명령을 @table 뒤에 쓰면, TeX과 Info 포맷팅 명령은 첫번째 열의 항목들을 어떤 highlighting도 하지 않은 채로(“as is”) 출력할 것이다.

(@table 명령은 여기에 열거된 것 이외의 명령들과 사용해도 된다. 하지만, 중괄호 안에 인수를 받는 명령만 쓸 수 있다.)

각 표 항목을 줄이 시작할 때 @item 명령을 써서 시작한다. @item 명령과 같은 줄에 첫번재 열에 들어갈 텍스트를 쓰낟. 두번째 열에 들어갈 텍스트를 @item 줄 아래에 쓴다. (두번째 열을 비워두고 싶으면 아무것도 쓰지 않아도 된다.) supporting 텍스트는 원하는 만큼 많은 줄로 써도 된다. 심지어 여러개의 문단으로 써도 된다. 하지만, 첫번째 열에는 @item과 같은 줄에 쓰여진 텍스트만 쓰여진다.

보통, @item 앞에 빈줄을 넣어야 한다. 이렇게 하면 Info 파일에서 빈 줄이 들어간다. 표의 항목들이 아주 간단한 경우를 제외하고, 빈줄을 넣는 것이 더 좋게 보인다.

예를 들어, 다음 표는 첫번째 열을 @samp 명령으로 highlight한다.

 
@table @samp
@item foo
This is the text for
@samp{foo}.

@item bar
Text for @samp{bar}.
@end table

이것은 다음을 만든다:

foo

This is the text for ‘foo’.

bar

Text for ‘bar’.

한개의 텍스트에 대해 두개 혹은 세개의 항목 이름을 쓰고 싶으면, @itemx 명령을 쓴다. (See section @itemx.)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.3.1 @ftable and @vtable

@ftable@vtable 명령은 @ftable은 첫번째 열을 자동으로 함수 색인에 넣고, @vtable은 자동으로 표의 첫번째 열을 변수 색인에 넣는다는 것을 제외하고는 @table과 같다. 일ㄴ 기능은 색인을 만드는 작업을 간단하게 해 준다. @item 명령과 같은 줄에 있는 항목만 색인으로 처리된다. @item 명령과 같은 줄에 있는 항목만이 색인 처리되고, 그 줄에 나타난 것으로 색인처리된다. See section Creating Indices, for more information about indices.

@ftable이나 @vtable은 줄이 시작할 때 @-명령을 써서 시작하고, 같은 줄에 @code와 같은 Texinfo 명령을 인수로 넣는다; @table에서 하는 것과 마찬가지이다; 그리고 표를 끝낼 때 @end ftable이나 @end vtable 명령을 한 줄에 단독으로 쓴다.

앞의 절에서 @table의 예를 보라.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.3.2 @itemx

@itemx 명령은 표 안에서 같은 항목에 대해 첫번째 열에 두개 혹은 그 이상을 ㅆ고 싶을 때 쓴다. 이때 각각은 다른 줄에 쓰여진다. 첫번째는 @item을 쓴다; @itemx는 언제나 @item 명령 다음에 나온다. @itemx 명령은 인수로 받는 첫번째 컬럼의 텍스트 위에 세로로 공백을 넣지 않는 다는 점을 빼고는 @item과 완전히 동일하다.

예를 들어,

 
@table @code
@item upcase
@itemx downcase
These two functions accept a character or a string as
argument, and return the corresponding upper case (lower
case) character or string.
@end table

이것은 다음을 만든다:

upcase
downcase

These two functions accept a character or a string as argument, and return the corresponding upper case (lower case) character or string.

(이 예는 두개의 열이 있는 표에서 여러줄의 supporting 텍스트가 나오는 것을 보여준다.)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.4 Multi-column Tables

@multitable로 각각의 열마다 원하는 폭을 지정할 수 있는 몇개의 열이라도 가능한 표를 만들 수 있다.

바로 @multitable 줄 위에서 열의 폭들을 지정하고, 실제 표의 각 열들을 @item 명령 다음에 각 열을 @tab 명령으로 구분해서 쓴다. 마지막으로, @end multitable은 표를 끝낸다. 아래의 절들에서 자세히 설명한다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.4.1 Multitable Column Widths

여러개의 열을 가진 표의 열들의 폭을 지정하는 방법은 두가지가 있다; 줄 길이의 비율로 선택하는 법과; prototype 줄을 써주는 방법이다. 두가지 방법을 섞어 쓰는 것은 지원하지 않는다. 모든 경우에, 폭은 @multitable 명령과 같은 줄 위에서 지정된다.

  1. 줄 길이의 비율로 열의 폭을 지정하려면, 다음과 같이 @multitable 명령 다음에 @columnfractions를 스고, 심진수(1보다 작다고 가정된다)를 쓴다.
     
    @multitable @columnfractions .33 .33 .33
    

    위의 예처럼 이 비율은 더해서 정확히 1.0이 될 필요는 없다. 이것을 이용해서 전체 줄 길이가 필요없는 표를 만들 수도 있다.

  2. prototype row를 지정하려면, 각 열의 @multitable 명령 다음에 가장 긴 항목을 중괄호 안에 쓴다. 예를 들어:
     
    @multitable {some text for column one} {for column two}
    

    첫번째 열은 ‘some text for column one’을 typeset했을 때의 폭이 되고, 두번재 열은 ‘for column two’의 폭을 가진 열이 된다.

    prototype 항목은 실제로 표에 나타날 필요가 없다.

    이 예에서는 간단한 텍스트를 사용했지만, prototype 항목은 Teixnfo 명령도 포함할 수 있다. @code와 같은 markup 명령은 특히 유용한 것 같다.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.4.2 Multitable Rows

열들의 폭을 지정한 @multitable 명령 다음에(앞 절을 보라), 이 표의 body에서 @item으로 각 열을 시작한다. 그리고 각 열의 항목들을 @tab으로 구분한다. 표의 body 내에서 줄을 바꿔도 상관 없고, 필요한 만큼 소스 파일에서 줄을 바꿔도 된다.

다음은 여러개의 열을 가진 표의 완전한 예이다 (이 텍스트는 The GNU Emacs Manual에서 왔다, see (emacs)Split Window section ‘Splitting Windows’ in The GNU Emacs Manual):

 
@multitable @columnfractions .15 .45 .4
@item Key @tab Command @tab Description
@item C-x 2
@tab @code{split-window-vertically}
@tab Split the selected window into two windows,
with one above the other.
@item C-x 3
@tab @code{split-window-horizontally}
@tab Split the selected window into two windows
positioned side by side.
@item C-Mouse-2
@tab
@tab In the mode line or scroll bar of a window,
split that window.
@end multitable

이것은 다음을 만든다:

KeyCommandDescription
C-x 2split-window-verticallySplit the selected window into two windows, with one above the other.
C-x 3split-window-horizontallySplit the selected window into two windows positioned side by side.
C-Mouse-2In the mode line or scroll bar of a window, split that window.

[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Autobuild on June 15, 2016 using texi2html 1.82.