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

14. Making and Preventing Breaks

보통, 한개의 Texinfo 파일은 TeX과 Info formatting 명령중 하나에 의해 처리된다. 줄, 문단, 그리고 페이지를 나누는 일은 어떤 특정 형태의 출력에서만 ‘잘못된’ 곳에서 발생하기도 한다. 텍스트가 인쇄된 매뉴얼과 Info 파일 모두에서 제대로 보이는 지 확인해야 한다.

예를 들어, 인쇄된 매뉴얼에서, 페이지 나눔은 어색하게 예제의 중간에서 일어나기도 한다; 이렇게 되지 않게 하려면, 텍스트를 grouping 명령을 써서 두 페이지에 걸쳐 쪼개지는 것을 막는다. 반대로, 보통의 경우 페이지 나눔이 일어나지 않을 위치에서 페이지가 나눠지게 하고 싶을 때도 있다. 다행히도, 이와 같은 문제는 자주 일어나지 않는다. 이런 문제가 일어날 때만, 나누는 명령, 나누는 것을 막는 명령, 그리고 페이지 수 메기는 명령을 쓴다.

나누는 명령은 줄이나 문단이 나눠지게 한다:

@*

줄을 나눈다.

@sp n

n개의 빈줄을 넣는다.

@-

무조건 하이픈을 넣는다.

@hyphenation{hy-phen-a-ted words}

hy-phen-a-ted words에 하이픈 위치를 정의한다.

줄이 나눠지는 것을 막는 명령은 텍스트가 한 줄에 있도록 한다:

@w{text}

text가 두줄에 걸쳐 나눠져서, 하이픈이 붙는 것을 막는다.

Info 파일은 페이지가 없기 때문에 페이지 번호를 메기는 명령은 인쇄물의 경우에만 적용된다.

@page

인쇄물에서 새로운 페이지를 시작한다.

@group

한개의 인쇄된 페이지에 나타나야 할 텍스트를 함께 나타나도록 한다.

@need mils

이만큼 충분한 페이지가 없으면 새로운 페이지를 시작한다.


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

14.1 @*: Generate Line Breaks

@* 명령은 인쇄된 매뉴얼과 Info 매뉴얼 모두의 경우 줄을 나누도록 한다.

예를 들어,

 
이 줄은 @* 두 군데에서 @*나눠진다.

는 다음을 만든다.

 
이 줄은 
 두 군데에서 
나눠진다.

(첫번째 @* 명령 다음의 공간은 제대로 다음 줄로 옮겨진다.)

@* 명령은 파일의 copyright 페이지에 사용된다:

 
This is edition 2.0 of the Texinfo documentation,@*
and is for …

이 경우에, @* 명령은 TeX이 이 줄을 페이지 전체로 못생기게 늘리는 것을 막는다.

주의: @* 명령 다음에 중괄호를 쓰지 않는다: 필요가 없다.

@* 명령이 있는 문단의 끝에 @refill 명령을 쓰지 말라; 이렇게 하면, 줄이 바뀐 다음에 문단이 다시 fill되어 줄을 바꾼 효과가 없어진다.


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

14.2 @- and @hyphenation: Helping TeX hyphenate

TeX의 하이픈 붙이는 알고리즘은 대부분의 경우 아주 훌륭하지만, 가끔씩 쓸만한 하이픈 위치를 놓친다. (또는, 더 가끔 있는 일이지만, 하이픈을 잘못 붙이기도 한다.) 그래서, 잘 쓰이지 않는 어휘를 쓴 문서나, 인쇄물을 잘 조정하려고 할 때, TeX을 도와주고 싶을 때가 있다. Texinfo는 이런 경우를 위해 다음 두개의 명령이 있다:

@-

임의의 하이픈을 넣는다. 즉, TeX이 하이픈을 넣을 수 있는 위치이다 (하지만, 넣을 필요는 없다). 이것은 TeX이 하이픈 넣을 위치를 놓쳐서 overful hbox가 바생했을 경우 특히 유용하다 (see section Overfull “hboxes”). TeX은 @-가 들어 있는 단어에 어떤 하이픈 표시도 집어넣지 않을 것이다.

@hyphenation{hy-phen-a-ted words}

TeX에게 hy-phen-a-ted words를 어떻게 하이픈을 붙이는 지 알려준다. 이와같이 하이픈을 붙일 수 있는 각 지점에 ‘-’를 쓴다. 예를 들어:

 
@hyphenation{man-u-script man-u-scripts}

TeX은 이 단어를 만나면 지정된 하이픈 위치만을 사용하므로, 가능한 모든 하이픈 위치를 지정해야 한다.

Info 출력은 하이픈이 붙지 않으므로, 이 명령은 Info에서 아무 효과가 없다.


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

14.3 @w{text}: Prevent Line Breaks

@w{text}text를 출력하고, text 사이에 줄이 나눠지지 않도록 막는다.

@w 명령을 써서 긴 이름이나 구절이 어쩌다가 줄의 끝에 나와서 TeX이 자동으로 하이픈으로 나누지 못하도록 한다.

 
You can copy GNU software from @w{@samp{ftp.gnu.ai.mit.edu}}.

는 다음을 만든다.

You can copy GNU software from ‘ftp.gnu.ai.mit.edu’.

주의: @w 명령이 들어 있는 문단의 끝에 @refill 명령을 쓰면 안된다; 그러면 그 문단은 다시 fill되고, @w 명령의 효과가 없어진다.


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

14.4 @sp n: Insert Blank Lines

@sp n으로 시작하고, 이 명령만 있는 줄은 n개의 빈 줄을 인쇄된 매뉴얼과 Info 파일 모두에 출력한다. @sp는 또 문단이 나뉘는 것을 막는다. 예를 들어,

 
@sp 2

는 두개의 빈 줄을 만든다.

@sp 명령은 표지에 가장 많이 쓰인다.


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

14.5 @page: Start a New Page

@page는 인쇄된 매뉴얼에서 새로운 페이지를 시작한다. 이 명령은 Info 파일은 페이지가 없기 때문에 아무 효과가 없다. @page 명령은 Texinfo 파일의 @titlepage 부분에서 저작권 페이지를 시작하는 데 자주 스인다.


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

14.6 @group: Prevent Page Breaks

@group 명령은 (한줄에 단독으로 쓴다) @example이나 비슷한 구조 내에 쓰여서 나눠지지 않는 수직 그룹을 만든다. 이 그룹은 전체가 인쇄물의 한 페이지에 들어간다. 이 그룹은 @end group이 단독으로 들어간 줄에 의해 끝난다. 이 두 줄은 그 자체는 아무 출력도 내지 않고, Info 파일에서는 아무 효과가 없다.

@grop은 여러가지 종류의 문맥에 따라 쓰일 수 있지만, 현재 구현한 것은 @example과 그 변형, 또 @display, @format, @fulshleft, 그리고 @flufhright뿐이다. See section Quotations and Examples. (이 모든 명령들의 공통점은 입력의 각 한줄 한줄이 한줄씩의 출력을 낸다는 것이다.) 그 외의 경우, @group은 수직의 공백을 이상하게 낼 것이다.

이 formatting에 필요한 것은 다음과 같이 써야 한다는 것을 뜻한다:

 
@example
@group
…
@end group
@end example

@group@end group 명령은 @example@end example 명령 사이에 쓴다.

@group 명령은 예제를 한 페이지 내에 나오도록 하는데 가장 많이 쓰인다. 이 Texinfo 매뉴얼에서 100개 이상의 예제는 @group@end group으로 둘러싸여 있다.

그룹을 끝내는 것을 잊으면 TeX을 실행할 때 이상하고 이해할 수 없는 애러 메세지를 보게 될 지도 모른다. 이것은 TeX이 Texinfo 파일의 나머지 부분을 한 페이지에 넣으려고 하고, 상당히 많은 텍스트가 처리되기 전까지는 애러 메세지를 내지 않기 때문이다. TeX에서 이해 못할 애러 메세지를 보면, @end group이 빠졌는지를 알아보는 게 가장 먼저 해야 할 원칙이다.


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

14.7 @need mils: Prevent Page Breaks

@need n이 들어 있는 줄은 만약 현재 페이지에 n mils(천분의 일인치)보다 조금 남아 있다면 인쇄된 매뉴얼에서 새로운 페이지를 시작한다. 인자 n 주위에 중괄호를 쓰지 않는다. Info 파일은 페이지가 없기 때문에 @need 명령은 Info 파일에서는 아무 효과가 없다.

이 문단의 앞에는 @need 명령이 있어서 현재 페이지가 800 mils보다 조금 남아 있다면 TeX이 새로운 페이지를 시작하도록 한다. 다음과 같다:

 
@need 800
이 문단의 앞에는 …

@need 명령은 고아(인쇄된 페이지의 맨 아래에 한개의 줄만 남은 경우)를 막는데 유용하게 쓰인다.


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

This document was generated by Autobuild on July 8, 2017 using texi2html 1.82.