[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
makeinfo
는 Texinfo 파일을 Info 파일로 변환하는 유틸리티이다;
texinfo-format-region
과 texinfo-format-buffer
는 똑같은
일을 하는 GNU Emacs의 함수이다.
Texinfo 파일은 @setfilename
줄이 시작부분에 있어야 한다. 그렇지
않으면 Info 포매팅 명령이 실패할 것이다.
Info 시스템에 Info 파일을 설치하는 법에 관한 정보는, Installing an Info File.
makeinfo
유틸리티는 Emacs 포매팅 명령보다 더 빨리 Texinfo
파일에서 Info 파일을 만들어 내고, 더 나은 애러 메세지를 낸다.
makeinfo
를 추천한다. makeinfo
는 Emacs와 관계없는 C
프로그램이다. makeinfo
를 사용하는데 Emacs를 실행할 필요가 없다.
즉, Emacs를 돌리기에는 너무 작은 기계에서도 makeinfo
를 쓸 수
있다. makeinfo
를 다음 세가지 중에 한가지 방법으로 실행할 수
있다: 운영 체제의 셸에서 실행, Emacs 내의 셸에서 실행, 또는 Emacs의
TExinfo mode에서 키 명령을 타이프하기.
texinfo-format-region
과 texinfo-format-buffer
명령은
makeinfo
를 쓰지 못할 때 유용하다. 또, 어떤 환경에서는, 작은
리전(region)이나 버퍼(buffer)는 makeinfo
보다 더 빨리 포맷한다.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
makeinfo
from a ShellTexinfo 파일에서 Info 파일을 만들려면, makeinfo
다음에 Texinfo
파일의 이름을 타이프한다. 즉, Bison의 Info 파일을 만들려면, 셸에 다음을
타이프한다.
makeinfo bison.texinfo |
(M-x shell을 Emacs내에서 타이프해서 셸을 실행할 수 있다.)
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
makeinfo
makeinfo
명령은 여러개의 옵션을 받아들인다. 대부분의 경우,
옵션은 줄바꿈 열(fill column)을 지정하거나, 각주 스타일을 지정하는 데
쓰인다. 각 명령행 옵션은 ‘--’가 앞에 붙는 단어이거나, ‘-’가
앞에 붙는 한개의 알파벳이다. 긴 옵션의 이름은 해당되는 옵션이 유일하게
하나만 있다면 줄여 써도 된다.
예를 들어, 줄바꿈 열(fill column)을 68열로 하는 ‘bison.texinfo’의 Info 파일을 만드려면 다음 셸 명령을 쓸 수 있다:
makeinfo --fill-column=68 bison.texinfo |
다음과 같이, 두개 이상의 옵션을 연속해서 쓸 수도 있다:
makeinfo --no-split --fill-column=70 … |
이 명령은 Info 파일을 매우 길지도 모르는 한개의 파일로 만들고, 줄 바꿈 열(fill column)을 70으로 맞춘다.
옵션은 다음과 같다:
-D var
변수 var가 정의되도록 한다. 이것은 Texinfo 파일 안에 @set
var
를 쓴 것과 동일하다.
--error-limit=limit
종료하기 전에 (더이상 계속할 필요가 없다는 가정하에) makeinfo
가
알려주는 애러의 최대 갯수를 지정한다; 기본값은 100이다.
--fill-column=width
한 줄에 들어갈 최대의 열의 갯수를 지정한다; 이것은 줄의 오른쪽 끝이 된다. 열에 채우는(fill) 문단들은 이 폭 안에 들어가게 된다. (열에 채우기(fill)는 연속된 줄을 나눠서 줄바꿈 열(fill column)으로 지정된 숫자와 같거나 더 작은 줄들로 만드는 작업이다. 줄들은 단어 사이에서 나누어 진다.) 기본값은 72이다.
--footnote-style=style
각주 스타일을 style로 한다. 스타일은 end node 스타일을 쓰려면
‘end’이고, separate node 스타일을 쓰려면 ‘separate’이다. 이
옵션으로 지정되는 값은 Texinfo 파일 내에 @footnotestyle
명령으로
(see section Footnotes) 지정된 값을 다시 지정한다. 각주 스타일이
‘separate’이면, makeinfo
는 현재 노드(node)의 각주들이 들어
있는 새로운 노드(node)를 만든다. 각주 스타일이 ‘end’이면,
makeinfo
는 각주를 현재 노드(node)의 끝에 놓는다.
--force
보통, 입력 파일에 애러가 있으면, 출력 파일은 만들어 지지 않는다. 이 옵션을 주면, 출력 파일을 만든다.
--help
모든 사용가능한 옵션을 나열하는 사용법 메세지를 표시하고, 성공적으로 종료한다.
-I dir
dir
을 @include
명령을 써서 포함하는 파일을 찾는 데 쓰는
디렉토리 리스트에 추가한다. 기본적으로 makeinfo
는 현재
디렉토리만을 찾는다.
--no-headers
출력에 메뉴나 노드 줄을 포함하지 않는다. 이렇게 하면 꼭 필요한 노드와 메뉴가 없기 때문에 Info로 읽을 수 없는 ASCII 파일이 만들어 진다. 이 기능은 ‘INSTALL’ 파일처럼 메뉴얼의 특정 부분을 따로 뽑아내서 배포본에 포함시킬 때 유용하다.
--no-split
makeinfo
의 파일 쪼개는 기능을 쓰지 않는다. 기본적으로, 큰 출력
파일은 (크기가 70 킬로바이트보다 큰 경우) 약 50 킬로바이트 정도의 작은
파일들로 쪼개진다.
--no-pointer-validate
--no-validate
makeinfo
의 포인터 확인(pointer-validation) 기능을 없앤다. 보통,
Texinfo 파일이 처리된 후에는, 상호 참조를 알아낼 수 있도록 하는 등
모순이 없는지 체크하게 된다. See section Pointer Validation.
--no-warn
경고 메세지를 내지 않는다 (하지만, 애러 메세지는 낸다). 만약에 작성하고 있는 파일에서, Texinfo 상호참조의 예제가 있거나 존재하지 않는 노드(node)에 대해 참조하면 이 옵션이 필요하다.
--no-number-footnotes
자동으로 각주에 번호를 다는 기능을 없앤다. 기본적으로,
makeinfo
는 한 노드(node)의 각주에 대해서 차례대로 번호를 매기고,
각 노드(node)가 시작할 때 각주 번호를 다시 1에서부터 시작하도록 한다.
--output=file
-o file
Texinfo 소스내의 @setfilename
명령으로 정의한
(see section @setfilename
) 파일 대신에 file로 출력을 한다. 만약
file이 ‘-’이면, 출력은 표준 출력(standard output)이 되고,
‘--no-split’ 옵션이 있는 것처럼 동작한다.
-P dir
@include
의 디렉토리 탐색 리스트의 앞에 dir
를 추가한다.
자세한 것은 ‘-I’를 보라.
--paragraph-indent=indent
문단 들여쓰기 스타일을 indent로 맞춘다. 이 옵션에서 맞추는 값은
Texinfo 파일에서 @paragraphindent
명령으로
(see section Paragraph Indenting) 결정된 값을 무시한다. indent의 값은
다음과 같이 해석된다:
문단이 시작할 때의 들여쓰기를 유지한다.
들여쓰기를 전부 없앤다.
각 문단을 이 숫자만큼의 공백만큼 들여쓴다.
--reference-limit=limit
makeinfo
가 경고를 내지 않고 만들 수 있는 노드내의 참조의 갯수를
지정한다. 노드가 이 숫자보다 더 많은 참조가 있으면, makeinfo
는
참조를 만들기는 하지만, 경고를 낼 것이다. 기본값은 1000이다.
-U var
var가 정의되지 않도록 한다. 이것은 Texinfo 파일 내에
@clear var
를 쓴 것과 같다 (see section @set
, @clear
, and @value
).
--verbose
makeinfo
가 무엇을 하는지에 대해 알려주는 메세지를 표시하도록
한다. 보통 makeinfo
는 애러나 경고가 있을 때만 메세지를 출력한다.
--version
버전 번호를 출력하고, 성공적으로 종료한다.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
포인터 확인(pointer-validation) 기능을 없애지 않으면, makeinfo
는
최종 Info 파일이 올바른지를 확인한다. 대부분, 이 기능은 실제로 존재하는
노드(node)에 대해 참조했는지 확인하는 것이다. 다음은 정확히 무엇을
확인하는지에 대한 리스트이다:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
makeinfo
inside Emacsmakeinfo-region
이나 makeinfo-buffer
명령으로 GNU Emacs의
Texinfo 모드에서 makeinfo
를 실행할 수 있다. Texinfo 모드에서, 이
명령은 기본값으로 C-c C-m C-r과 C-c C-m C-b로 실행한다.
makeinfo-region
이나 makeinfo-buffer
를 실행할 때, Emacs는
파일 이름을 물어보고, 기본적으로 Emacs에서 편집중인 파일 이름을
제공한다. <RET>을 눌러서 makeinfo
를 시작하기 전에, 이 기본
파일이름을 미니버퍼(minibuffer)에서 원하는 대로 편집할 수 있다.
Emacs의 makeinfo-region
과 makeinfo-buffer
명령은
makeinfo
프로그램을 임시 셸 버퍼(buffer)에서 실행한다.
makeinfo
가 애러를 찾아 내면, Emacs는 애러 메세지를 그 임시
버퍼(buffer)에서 출력한다.
애러 메세지는 C-x `(next-error
)를 눌러서 알아낼 수 있다.
이 명령은 Texinfo 소스에서 makeinfo
가 애러가 있다고 찾아내는
부분으로 Emacs가 커서를 옮기도록 한다. next-error
명령의
사용법에 대한 더 많은 정보는, See (emacs)Compilation section ‘Running make
or Compilers Generally’ in The GNU Emacs Manual.
또, makeinfo
가 실행되고 있는 셸을 없애거나, 셸 버퍼가 가장 최근의
출력을 보여주도록 할 수 있다.
makeinfo-region
이나 makeinfo-buffer
로 현재 실행되고 있는
makeinfo
를 중단시킨다.
makeinfo
셸 버퍼가 가장 최근의 출력을 보여주도록 한다.
(이에 대응되는 명령으로 TeX 실행을 중단시키고, 다시 가운데로 맞추는 명령은 C-c C-t C-k과 C-c C-t C-l이다. See section Formatting and Printing in Texinfo Mode.)
M-x edit-options나 M-x set-variable 명령, 혹은 ‘.emacs’
초기 파일내에서 변수를 지정하는 방법으로, makeinfo-options
변수를
지정해서 makeinfo
의 옵션을 지정할 수 있다.
예를 들어, 다음을 ‘.emacs’ 파일에 넣을 수 있다.
(setq makeinfo-options "--paragraph-indent=0 --no-split --fill-column=70 --verbose") |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
texinfo-format…
CommandsGNU Emacs의 Texinfo 모드에서, Texinfo 파일의 일부 혹은 전부를
texinfo-format-region
명령으로 포매팅할 수 있다. 이 명령은 현재
리전(region)을 포매팅하고, 포맷된 텍스트를 ‘*Info Region*’이라는
임시 버퍼(buffer)에 표시한다.
비슷하게, 버퍼를 texinfo-format-buffer
명령으로 포매팅한다. 이
명령은 새로운 버퍼를 만들고, 그 안에 Info 파일을 만든다. C-x
C-s를 타이프하면 Info 파일을 Texinfo 파일의 처음에 있는
@setfilename
줄에서 지정한 이름으로 저장할 것이다.
texinfo-format-region
texinfo-format-buffer
texinfo-format-region
과 texinfo-format-buffer
명령은
몇가지 애러를 체크하고, 포매팅애러를 찾는데 더 도움을 줄 것이다. 이
과정은 부록에 설명되어 있다; Formatting Mistakes. 하지만,
makeinfo
프로그램이 대부부 더 빠르고, 더 애러를 잘 찾는다
(see section Running makeinfo
inside Emacs).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
batch-texinfo-format
과 Emacs의 batch 모드를 써서 Texinfo 파일을
포매팅할 수 있다. 셸에서 Emacs를 batch 모드로 실행시키고, Emacs내에
셸으ㄹ 포함시킨다. (See (emacs)Command Switches section ‘Command Line Switches and Arguments’ in The GNU Emacs Manual.)
다음은 현재 디렉토리에서 ‘.texinfo’로 끝나는 모든 파일을 포매팅하는 셸 명령이다.
emacs -batch -funcall batch-texinfo-format *.texinfo |
설령 이 파일들을 포매팅하던 중에 애러가 나더라도 Emacs는 이 명령행에 포함된 모든 파일을 처리할 것이다.
위에서 보여진 것과 같이 batch-texinfo-format
명령은 Emacs에서
batch 모드로만 실행하라; 이 명령은 interactive하지 않다. 이 명령은 끝날
때 batch 모드의 Emacs를 종료시킨다
batch-texinfo-format
은 makeinfo
가 없거나 여러개의 Texinfo
파일을 한번에 포매팅할 때 편리하다. batch 모드를 쓸 때, 새로운 Emacs
프로세스를 만든다. 그래서, 현재 실행중인 Emacs와는 상관없고, 계속 현재
Emacs에서 작업할 수 있다. (texinfo-format-region
이나
texinfo-format-buffer
를 실행할 때, 이 명령이 끝날 때까지는 절대로
Emacs를 쓸 수 없다.)
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
만약 Texinfo 파일이 30000 바이트가 넘는다면,
texinfo-format-buffer
명령은 자동으로 이 Info 파일에 대한 tag
테이블을 만든다; makeinfo
는 언제나 tag 테이블을 만든다. tag
table을 이용해, Info는 tag table웸없는 것보다 훨씬 빨리 노드 사이를
이동할 수 있다.
또, Texinfo 파일이 70000 바이트가 넘으면, texinfo-format-buffer
와
makeinfo
는 큰 Info 파일을 50000바이트정도의 작은
간접(indirect) 서브파일(subfile)로 나눈다. 큰 파일을 작은 파일로
나누면 Emacs는 전체 Info 파일을 읽을려고 큰 버퍼(buffer)를 만들 필요가
없게 된다; 대신, Emacs는 필요한 파일만 읽어들일 수 있는 메모리만
사용한다. (쪼개는 기능이 없을 때, Info 파일은 크기가 작아야 했고, 작은
Info 파일로부터 한개의 큰 인쇄된 매뉴얼을 만들기 위해 include file
기능을 만들었다. 자세한 정보는 See section Include Files. 파일 포함하기는
아직도 The Emacs Lisp Reference Manual과 같은 매우 큰 문서의
경우에 사용되고 있다. 이 매뉴얼에서 각 장은 별도의 파일로 구성되어
있다.)
파일이 쪼개졌을 때, Info는 tag 테이블과 쪼개진 파일들의 참조만 담고 있는 짤막한 파일을 만든다. 이 쪼개진 파일들을 간접(indirect) 파일이라고 한다.
이 쪼개진 파일들은 @setfilename
명령에서 지정된 파일 이름 뒤에
‘-1’, ‘-2’, ‘-3’ 등을 덧붙인 이름으로 만들어
진다. 이 원래 파일의 짤막한 버전은 @setfilename
에서 지정된
이름을 계속해서 사용한다.
예를 들어, 이 문서를 쓰는 도중에, Info 파일은 ‘test-texinfo’로 저장되었고, 그 파일은 다음과 같이 보인다:
Info file: test-texinfo, -*-Text-*- produced by texinfo-format-buffer from file: new-texinfo-manual.texinfo ^_ Indirect: test-texinfo-1: 102 test-texinfo-2: 50422 test-texinfo-3: 101300 ^_^L Tag table: (Indirect) Node: overview^?104 Node: info file^?1271 Node: printed manual^?4853 Node: conventions^?6855 … |
(하지만 ‘test-texinfo’는 여기 보인 것보다 더 많은 노드(node)가 있다.) 각 쪼개진 간접 파일, ‘test-texinfo-1’, ‘test-texinfo-2’, 그리고 ‘test-texinfo-3’은 이 파일에서 ‘Indirect:’라는 줄 뒤에 열거된다. tag 테이블은 ‘Tag table:’ 이라는 줄 뒤에 열거된다.
간접 파일의 리스트에서, 파일 이름 뒤에 오는 숫자는 앞의 간접 파일의 바이트 수를 계속해서 더한 값이고, 파일 그 자체의 크기나, tag 테이블이나, 각 파일의 퍼미션 따위가 절대 아니다. tag 테이블에서 노드 이름 뒤에 오는 숫자는 노드가 시작하는 위치를 처음부터 몇번째 바이트에 있는지로 나타낸다.
texinfo-format-buffer
를 써서 Info 파일을 만들었을 경우,
Info-validate
명령을 쓸 수도 있다. (makeinfo
명령은
자체적으로 이런 훌륭한 작업을 한다. Info-validate
이 필요없다.)
하지만, M-x Info-validate을 간접 파일에 대해 할 수 없다. 어떻게
파일이 쪼개지지 않도록 하고, 어떻게 노드의 구조를 확인하도록 하는지에
대한 정보는, Running Info-validate
.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Autobuild on February 7, 2019 using texi2html 1.82.