[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
この章は,Infoファイルの作成とインストールの方法を述べます.ファイルの書 式自身の一般的な情報は,See section Infoファイル.
20.1 Infoファイルの作成 | ||
20.2 Infoファイルのインストール |
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
makeinfo
は,TexinfoファイルをInfoファイル,HTMLファイル,またはプ
レーンテキストに変換するプログラムです.texinfo-format-region
と,
texinfo-format-buffer
は,TexinfoをInfoに変換するGNU Emacsの関数で
す.
InfoファイルをInfoシステムにインストールする情報は,see section Infoファイルのインストール.
20.1.1 makeinfo の利点 | makeinfo provides better error checking.
| |
20.1.2 シェルからmakeinfo を実行する | How to run makeinfo from a shell.
| |
20.1.3 makeinfo のオプション | Specify fill-column and other options. | |
20.1.4 ポインタの照合 | How to check that pointers point somewhere. | |
20.1.5 Emacs内部でmakeinfo を実行する | How to run makeinfo from Emacs.
| |
20.1.6 texinfo-format… コマンド | Two Info formatting commands written
in Emacs Lisp are an alternative
to makeinfo .
| |
20.1.7 書式化のバッチ処理 | How to format for Info in Emacs Batch mode. | |
20.1.8 タグファイルとスプリットファイル | How tagged and split files help Info to run better. | |
20.1.9 HTMLの生成 | Generating HTML output. |
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
makeinfo
の利点makeinfo
ユーティリティは,Emacs書式化コマンドより速くTexinfoソー
スファイルからInfoファイルを作成し,より良いエラーメッセージを提供してい
ます.我々はそれを勧めています.makeinfo
はEmacsから独立したCプロ
グラムです.makeinfo
を使用するためにEmacsを実行する必要はなく,そ
のことは,Emacsを実行するには余りに非力なマシンでもmakeinfo
が実行
可能だということを意味しています.makeinfo
は,三つの内の一つの方
法で実行可能です.それらは,オペレーティングシステムのシェルから,Emacs
のシェルから,またはEmacsのTexinfoモードでC-c C-m C-rやC-c
C-m C-bコマンドを入力する方法です.
texinfo-format-region
とtexinfo-format-buffer
コマンドは,
makeinfo
を実行不可能なとき役に立ちます.また,状況によって短い領
域やバッファをmakeinfo
より速く書式化します.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
makeinfo
を実行するTexinfoファイルからInfoファイルを作成するため,makeinfo
に続けて,
Texinfoファイルの名前を入力してください.このため,BisonのInfoファイルを
作成するためには,シェルで以下のように入力します.
makeinfo bison.texinfo |
(M-x shellの入力で,Emacs内部でシェルを実行可能です.)
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
makeinfo
のオプションmakeinfo
コマンドはいくつかのオプションをとります.最もよく使用さ
れるオプションは,列を補充する値を設定するためのものと,脚注スタイルを指
定するために使用するものです.それぞれのコマンド行のオプションは,
‘--’ を前に置いた単語,または,‘-’を前に置いた文字です.長いオ
プション名は,唯一に決まる程長い場合は省略可能です.
例えば以下のシェルコマンドで,それそれの段の文字列を68文字で補充する ‘bison.texinfo’に対するInfoファイルを作成するために,以下のようなシェ ルコマンドを使用することが可能でしょう.
makeinfo --fill-column=68 bison.texinfo |
二つ以上のオプションを,以下のように続けて書くことが可能です.
makeinfo --no-split --fill-column=70 … |
これは,Infoファイルを,一つのおそらく大変長いファイルにまとめ,一段の文 字数を70文字に設定します.
オプションは,以下のとおりです.
-D var
変数varを定義します.これは,Texinfoファイルでの@set
var
と同じです(see section @set
,@clear
,そして@value
).
--commands-in-node-names
ノード名で@
コマンドを許可します.おそらくTeXで実装できないの
で推奨しません.また,makeinfo
も非常に遅くなります.また,このオ
プションは‘--no-validate’が使用されているときも無視されます.詳細は,
See section ポインタの照合.
--docbook
InfoではなくDocBook出力を生成します.
--enable-encoding
‘@documentencoding’を元に,Infoやプレーンテキスト出力にアクセント 付の文字と特殊文字を出力します.
--error-limit=limit
-e limit
終了までにmakeinfo
が報告するエラーの数の最大値を設定します(続けて
も意味が無いでしょう).デフォルトは100です
--fill-column=width
-f width
一段の最大文字数を指定します.これは行の右端です.おそらくこの幅で補充す るでしょう.(補充とは,段を補充し,指定した数と同じまたはそれより短い長 さにするため,行を切ったり繋げたりする処理です.行は単語で切られます.) デフォルト値は72です.‘--html’では無視されます.
--footnote-style=style
-s style
脚注の形式をstyleに設定します.ノードの終りの形式のための
‘end’,またはノードを分ける形式の‘separate’のいずれかです.こ
のオプションで設定した値は,Texinfoファイルで@footnotestyle
コマ
ンド(see section 脚注)で設定した値に優先します.脚注形式が
‘separate’のとき,makeinfo
は現在のノードで見つかった脚注を含
む新しいノードを作成します.脚注形式が‘end’のとき,makeinfo
は現在のノードの終りに脚注の参照を置きます.‘--html’では無視されま
す.
--force
-F
通常,入力ファイルにエラーがある場合,出力ファイルは作成されません.この オプションを用いると,出力ファイルが提供されます.
--help
-h
利用可能なオプションをリストアップした使用方法のメッセージを出力し,正し く終了します.
--html
Infoではなく,HTML出力物を生成します.See section HTMLの生成. デフォルト で,HTML出力はソースのノードごとに一つの出力ファイルに分割し,トップレベ ルのInfoファイルの名前を用いたサブディレクトリに分割した出力を書き込みま す.
-I dir
@include
コマンドを使用してインクルードしているファイルを見つける
ためのディレクトリ検索リストに,dirを追加します.デフォルトで,
makeinfo
はカレントディレクトリのみを探します.dirが与えられ
ていない場合,カレントディレクトリ‘.’が追加されます.dirでは,
通常のパスの分離文字(Unixの‘:’,MS-DOS/MS-Windowsの‘;’)で分割
されている複数のディレクトリのリストが可能だということに注意してください.
--ifhtml
--ifinfo
--ifplaintext
--iftex
--ifxml
指定されたフォーマットに対し,該当する出力フォーマットを生成していない場 合でも‘@ifformat’と‘@format’コマンドを処理します. 例えば,‘--iftex’が指定されている場合,‘@iftex’と ‘@tex’ブロックが読み込まれます.これは,出力を後処理するとき役に立 つはずです.
--macro-expand=file
-E file
指名されたファイルに,全てのマクロを展開したTexinfoソースを出力します.
通常,マクロの展開の結果はmakeinfo
内部で使用された後に削除されま
す.このオプションは,@macro
をサポートしていない古いバージョンの
‘texinfo.tex’を使用している場合,texi2dvi
で使用されます.
--no-headers
Info出力に対し,出力にメニューやノードの分離行を含めません.この結果は, (例えば)添付することなく電子メールで送付したり,(‘INSTALL’ファイル のように)配布物に含めたりすることが可能な,単純なプレーンテキストファイ ルになります.
HTML出力に対しても同様にメニューは削除されます.そして‘--no-split’ も指定している場合,それぞれのノードのトップへのナビゲーションリンクは含 めません(これらはデフォルトの状況での分割された出力に含められることもあ りません).See section HTMLの生成.
どちらの状況でも,デフォルトで標準出力に書き出します(‘-o’で優先さ せることも可能です).
--no-ifhtml
--no-ifinfo
--no-ifplaintext
--no-iftex
--no-ifxml
指定されたフォーマットに対し,該当する出力フォーマットを生成している場合 でも‘@ifformat’と‘@format’コマンドを処理しません. 例えば,‘---no-ifhtml’が指定されている場合,‘@ifhtml’と ‘@html’ブロックは読み込まれません.
--no-split
makeinfo
での分割ステージを抑制します.デフォルトで,大きな出力ファ
イル(70kバイトより大きいサイズ)はより小さいサブファイルに分割されます.
Info出力に対しそれぞれ約50kバイトになります.HTML出力に対し,それぞれの
ファイルは一つのノードを含みます(see section HTMLの生成).
--no-pointer-validate
--no-validate
makeinfo
のポインタの有効化のステージを抑制します.これは,
@novalidate
コマンドでも可能です(see section Use TeX).通
常はTexinfoファイルが処理された後,相互参照が解決されていることを確かめ
るなどのため,一貫性の調査が行われます.See section ポインタの照合.
--no-warn
警告メッセージ(エラーメッセージではない)を抑制します.作成したファ イルにTexinfoの相互参照の例がある場合と,実際には存在しないノードの参照 がある場合にこうしたいもしれません.
--number-sections
印刷されたマニュアルでの,章,セクション,そして付録の番号を出力します.
--no-number-footnotes
自動的な脚注への番号付けを抑制します.デフォルトでmakeinfo
は,単
一ノード内のそれぞれの脚注に順番に番号付けを行い,それぞれのノードの開始
時に現在の脚注番号を1にリセットします.
--output=file
-o file
出力を,Texinfoソースで見つかる@setfilename
コマンドで指定したファ
イル名ではなく,fileに指定します(see section @setfilename
:出力ファイル名を設定する).file
が‘-’の場合は出力は標準出力になり,‘--no-split’が暗黙に指定さ
れます.分割されれたHTML出力では,fileはすべてのHTMLファイルが書き
込まれるディレクトリの名前になります(see section HTMLの生成).
-P dir
@include
に対するディレクトリ検索リストの前にdirを追加しま
す.dirが与えられない場合,カレントディレクトリ‘.’が前に追加
されます.詳細は‘-I’を参照してください.
--paragraph-indent=indent
-p indent
段落の字下げ形式をindentに設定します.このオプションで設定した値は,
Texinfoファイルで@paragraphindent
コマンドで設定した値に優先しま
す(see section 段落の字下げ).indentの値は,以下のように解釈されま
す.
段落の開始で,あらゆる字下げを保存します.
既存の字下げを削除します.
それぞれの段落を,num個の空白で字下げします.
--reference-limit=limit
-r limit
makeinfo
が警告を報告せずに作成する,ノード参照数の値を設定します.
ノードにこの数以上の参照がある場合,makeinfo
は参照を作成しますが
警告を報告します.デフォルトは1000です.
--split-size=num
Infoファイルを最大num文字に保ちます.デフォルトは50,000文字です.
-U var
varを未定義にします.これは,Texinfoファイルでの@clear
var
と同じです(see section @set
,@clear
,そして@value
).
--verbose
makeinfo
に,行っていることのメッセージを表示させます.通常
makeinfo
は,エラーや警告がある場合のみメッセージを出力します.
--version
-V
バージョンナンバーを出力し,正しく終了します.
--xml
InfoではなくXML出力を生成します.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
‘--no-validate’オプションやソースファイルでの@novalidate
コ
マンド(see section Use TeX)でポインタの照合を抑制しない場合,
makeinfo
は最終的なInfoファイルの一貫性を調べます.ほとんどこれは,
参照したノードが本当に存在していることを確かめることを意味します.調べる
ものの完全なリストは以下のようになります.
Texinfoドキュメントには,ノード定義で@value
と
@definfoenclose
のようなコマンドを使用したり,矛盾した相互参照に
対する照合のフェーズで失敗するものもあります.以下の例を考えます.
@set nodename Node 1 @node @value{nodename}, Node 2, Top, Top This is node 1. @node Node 2, , Node 1, Top This is node 2. |
ここで,ノード“Node 1”はその単語と@value
の両方で参照されます.
デフォルトでは,ノード名が出力ファイルに書かれるまでは完全に展開されない
ので,そのような場合makeinfo
は失敗します.常に一貫してノード参照
するべきです.例えば上の例では,二番目の@node
行にも
@value
があるべきです.しかし,理由があって矛盾したノード名の参
照をする必要があり,makeinfo
がファイルの有効化に失敗した場
合,makeinfo
がドキュメントで見つかる全てのノード名を展開するよう
な負荷の高い作業を実行をするよう,‘--commands-in-node-names’オプショ
ンを使用することが可能です.しかしこれは,プログラムがかなり遅くなります.
変換時間の2倍の増加が,Jargonファイルのような大きなファイルで測定されま
した.
@node
ディレクティブでの@
-コマンドのサポートは,自由に使
える程には一般的に十分ではありません.例えば上の例では,ドキュメントのど
こかでnodename
が再定義される場合,たとえ
‘--commands-in-node-names’をオプションを呼び出していても
makeinfo
は変換に失敗します.
‘--no-validate’が与えられた場合,‘--commands-in-node-names’は 効果がありません.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
makeinfo
を実行するmakeinfo-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はファ
イル名のためプロンプトを出し,デフォルトとして訪問されたファイルの名前を
提示します.希望があれば,makeinfo
処理を始める<RET>を押す前に,
ミニバッファのデフォルトファイル名を編集できます.
Emacsのmakeinfo-region
とmakeinfo-buffer
コマンドは,一時的
なシェルバッファでmakeinfo
プログラムを実行します.makeinfo
がエラーを見つけた場合,Emacsはエラーメッセージを一時的なバッファに表示
します.
C-x `(next-error
)の入力で,エラーメッセージを解析することが
可能です.これでEmacsは,makeinfo
がエラーとしたTexinfoソースの行
にカーソルを移動します.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 Texinfoモードでの書式化と印刷.)
M-x edit-optionsやM-x set-variableコマンドで
makeinfo-options
変数を設定することや,‘.emacs’初期化ファイル
で変数を設定することで,makeinfo
に対するオプションを指定できます.
例えば,以下のように‘.emacs’ファイルに書きます.
(setq makeinfo-options "--paragraph-indent=0 --no-split --fill-column=70 --verbose") |
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
texinfo-format…
コマンドGNU EmacsのTexinfoモードでtexinfo-format-region
コマンドを使用して,
Texinfoファイルの一部または全体を書式化することが可能です.これは,現在
の領域を書式化し,‘*Info Region*’と呼ばれる一時的なバッファに書式化
されたテキストを表示します.
同様に,texinfo-format-buffer
コマンドでバッファを書式化します.こ
のコマンドは新しいバッファを作成し,その中にInfoファイルを生成します.
C-x C-sと入力すると,Texinfoの最初の方の@setfilename
行で指
定された名前でInfoファイルを保存します.
texinfo-format-region
texinfo-format-buffer
texinfo-format-region
とtexinfo-format-buffer
コマンドは,い
くつかのエラー調査を提供し,その他の関数は,書式化のエラーを見つける上で
それ以上の助けとなるものを提供するはずです.これらの手続きは付録で記述さ
れています.書式化の失敗を参照してください.しかし,
makeinfo
プログラムはより速い場合が多く,より多くのエラー調査を提
供します(see section Emacs内部でmakeinfo
を実行する).
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
batch-texinfo-format
とEmacsバッチモードを使用して,Texinfoファイ
ルをInfoファイルに書式化することが可能です.Emacsの内部シェルを含む,あ
らゆるシェルからバッチモードで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モードだけ
で実行してください.それは対話的ではありません.成功するとバッチモードの
Emacsを強制終了します.
batch-texinfo-format
は,makeinfo
がない場合と,一度に複数の
Texinfoファイルを書式化したい場合に便利です.バッチモードを使用するとき,
新しいEmacsプロセスを作成します.これは現在のEmacsとは無関係なので,そこ
で仕事を続けることが可能です.(texinfo-format-region
や
texinfo-format-buffer
を実行しているときは,コマンドが終了するまで
他のこと行なうためEmacsを使用することは不可能です.)
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
Texinfoファイルが30,000バイト以上の場合,texinfo-format-buffer
は
Infoファイルに対し自動的にタグ表を作成します.makeinfo
は,常にタ
グ表を作成します.タグ表(tag table)を用いることで,Infoは新しいノー
ドへ他より速く移動可能です.
さらに,Texinfoファイルが70,000バイト以上の場合,
texinfo-format-buffer
とmakeinfo
は,大きなInfoファイルをそ
れぞれ50,000バイト程度のより小さい間接的な(indirect)サブファイルに
分割します.大きなファイル全体を保持する大きなバッファをEmacsが作成しな
くてもよいように,大きなファイルは小さなファイルに分割されます.代わりに
Emacsは,分割された小さなファイルが必要とするだけのメモリを確保します.
このようにして,EmacsはInfo実行中のメモリの無駄を避けます.(分割が実装さ
れる前は,Infoファイルは常に短いままになっていて,インクルードファ
イル(include files)は小さなInfoファイルから単一の大きな印刷マニュアルを
作成する方法として設計されていました.詳細はSee section インクルードファイル. イン
クルードファイルは,The Emacs Lisp Reference Manualのような,大変
大きなドキュメントのためにまだ使用されて,そこでは,それぞれの章は別々の
ファイルになっています.)
ファイルが分割されるとき,Info自身は,タグ表と分割されたファイルへの参照 を含む元ファイルの短縮バージョンを利用します.分割されたファイルは, 間接的な(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’ファイルは,ここで見るよりはるかに多くのノー ドがあります.)それぞれの分割された間接的なファイル‘test-texinfo-1’, ‘test-texinfo-2’,そして‘test-texinfo-3’は,このファイルの ‘Indirect:’以下の行でリストアップされます.タグ表は,‘Tag table:’以下の行でリストアップされます.
間接的なファイルのリストで,ファイル名に続く番号は前の間接的なファイルに 累積バイト数を記録し,ファイルリスト自身のバイト数,タグ表,またはそれぞ れのファイルの許可テキストは記録しません.タグ表では,ノード名に続く数は ノードの開始位置を(分割されていない)出力の最初からのバイトを記録します.
Infoファイルを作成するためtexinfo-format-buffer
を使用している場合,
Info-validate
コマンドを実行したくなるかもしれません.
(makeinfo
コマンドはそれ自身良い仕事をするので,
Info-validate
は不要です.)しかし,M-x Info-validateノード
チェックコマンドを,間接ファイルでは使用することは不可能です.ファイルを
分割から避ける方法や,ノードの構造の有効化の方法の情報は,Info-validate
の実行を参照してください.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
Info書式での出力を生成するだけでなく,‘--html’オプションを使用して, (例えば)ウェブサイトに配置するために,HTMLフォーマットで出力を生成するこ とが可能です.デフォルトで,HTML出力はノードのレベルで分割されています.
分割時に,HTML出力ファイルはサブディレクトリに書き出されます.サブディレ
クトリは,拡張子が削除された@setfilename
の名前に一致して命名され
ます.例えば,@setfilename emacs.info
に対するHTML出力は,
‘emacs’という名前のサブディレクトリに書き出されます.何らかの理由で
ディレクトリが作成できない場合,‘emacs.html’のようにディレクトリ名
に‘.html’が追加されます(Infoファイルは,例えば‘texinfo’のよう
に拡張子無しで命名されることもあるので,これは必要です).
‘name.html’ディレクトリも作成できない場合,makeinfo
は
あきらめます.あらゆる状況で,ディレクトリのトップレベルの出力ファイルは,
常に‘index.html’と命名されます.
分割されない出力(--no-split
)は,@setfilename
や
--outfile
によって命名されます.ドキュメントを跨ったノード参照は,
分割されないHTMLではサポートされていません.
@ifhtml
コマンドで印が付いているされたTexinfo入力は,
‘--html’オプションが供給されたときだけ出力物を生成します.
@html
でマークアップされた入力は,そのまま出力に渡されます(HTMLで
特別重要な,入力の‘<’,‘>’と‘&’文字の,通常のエスケープ文
字は抑制されます.)‘--xml’オプションと,@ifxml
と
@xml
セクションと同様です.
‘--footnote-style’オプションは,HTML出力では現在は無視されます.脚 注は出力ファイルの終りにリンクされます.
生成されたHTMLはほとんど標準的です(いわゆる,HTML 2.0, RFC-1866).例外と
して,HTML 3.2の表が,@multitable
コマンドで生成されますが,表を
サポートしていないブラウザでも分解可能なようにタグ付けされています.
‘<html>’属性のHTML 4 ‘lang’属性も使用されます.ブラウザの互換
性の問題があるmakeinfo
でエラーが無かった実行結果の出力を,バグと
して報告してください.
ナビゲーションバーが,Info出力に似たものとしてノードの始まりに挿入されま
す.‘--no-headers’オプションは,‘--no-split’を使用している場合,
これを抑制します.分割された出力物のヘッダの<link>
の要素は,Lynx
とHTML 1.0の機能で実装されているEmacs W3のようなブラウザで,info
のようなナビゲートをサポートしています.他のドキュメントに対する
‘@xref’コマンドは,他のドキュメントがHTML 形式で利用可能であるとし
て生成され,同じHTMLドキュメントツリーの‘../<info-document>/’にイン
ストールされます.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
Infoファイルは,通常‘info’ディレクトリに置かれます.Infoファイルを, スタンドアローンのInfoプログラムやEmacs組込みのInfoリーダーを使用して読 むことが可能です.(Infoの紹介は,See info: (info-ja)Top.)
20.2.1 ディレクトリファイル‘dir’ | The top level menu for all Info files. | |
20.2.2 新しいInfoファイルをリストアップする | Listing a new Info file. | |
20.2.3 他のディレクトリのInfoファイル | How to specify Info files that are located in other directories. | |
20.2.4 Infoディレクトリファイルのインストール | How to specify what menu entry to add to the Info directory. | |
20.2.5 install-info の呼び出し | install-info options.
|
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
Infoを動作させるため,‘info’ディレクトリには,Infoシステムのための トップレベルディレクトリを提供するファイルを含める必要があります.慣習的 に,このファイルは‘dir’と呼ばれます.(このファイルの場所は,Emacsで Infoモードに入るためC-h iと入力し,‘info’ディレクトリへのパス 名を見るためC-x C-fを入力すると分かります.)
‘dir’ファイルはそれ自身がInfoファイルです.それは,システム全ての Infoファイルに対するトップレベルメニューを含んでいます.メニューは以下の ようになってます.
* Menu: * Info: (info). Documentation browsing system. * Emacs: (emacs). The extensible, self-documenting text editor. * Texinfo: (texinfo). With one source file, make either a printed manual using @TeX{} or an Info file. … |
これらのメニューの項目のそれぞれが,丸カッコに名前があるInfoファイルの ‘Top’ノードを示します.(Infoはノード名を指定されない場合,‘Top’ノードへ 行くので,このメニュー項目は‘Top’ノードを指定する必要はありません. See section Nodes in Other Info Files.)
このため,‘Info’項目は‘info’ファイルの‘Top’ノードを示し, ‘Emacs’項目は‘emacs’ファイルの‘Top’ノードを示します.
それぞれのInfoファイルでは,‘Top’ノードの‘Up’ポインタはdir
ファイ
ルへの参照です.例えば,Emacsマニュアルの‘Top’ノードの行は,Infoファイル
では以下のようになっています.
File: emacs Node: Top, Up: (DIR), Next: Distrib |
この状況では,‘dir’ファイル名は大文字で書かれています — それは, 大文字または小文字で書くことが可能です.これは一般に真ではなく, ‘dir’の場合だけ特別です.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
新しいInfoファイルをシステムに加えるため,‘info’ディレクトリの ‘dir’ファイルのメニューを加える,メニュー項目を書く必要があります. 例えばGDBのドキュメントを加える場合,以下の新しい項目を書きます.
* GDB: (gdb). The source-level C debugger. |
メニュー項目の最初の部分はメニュー項目名でコロンが続きます.二番目の部分 はInfoファイル名で,丸カッコの中にあり,ピリオドが続きます.三番目の部分 は記述です.
Infoファイルの名前には,‘.info’拡張子があることが多いです.そのため, GDBのInfoファイルは‘gdb’または‘gdb.info’と呼んでもかまわないで しょう.Infoリーダープログラムは,自動的に‘.info’の有無の両方を試し ます.(15)バラバラになるのを避けるために,メニュー項目に明示的 に‘.info’を書かない方が良いでしょう.例えばGDBメニュー項目は,ファ イル名に‘gdb.info’ではなく‘gdb’だけを使用すべきです.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
Infoファイルが‘info’ディレクトリに無い場合,その場所を指定する三つ の方法があります.
Info-directory-list
変数にそのディレクトリ名の指定を加えてください.
この変数は,Emacsに‘dir’ファイルを探す場所を伝えます(ファイルは
‘dir’と名付ける必要があります).Emacsは,それぞれリストアップされた
ディレクトリからの,‘dir’と名付けられたファイルをマージします.
(Emacsバージョン18では,Info-directory
変数で一つのディレクトリ名
のみ設定することが可能です.)
INFOPATH
環境変数で指定してください.(この環境変数を設定した人だけ,
この方法で指定した場所のInfoファイルを見つけることができます.)
例えば,‘/home/bob/info’ディレクトリのテストファイルにたどり着くよ うに,標準‘dir’ファイルのメニューに,以下のように項目を加えることも 可能でしょう.
* Test: (/home/bob/info/info-test). Bob's own test file. |
この状況では,‘info-test’ファイルの絶対的なファイル名は,メニュー項 目の二番目の部分に書かれます.
別の方法として,‘.emacs’ファイルに以下のように書くことも可能でしょ う.
(require 'info) (setq Info-directory-list (cons (expand-file-name "/home/bob/info") Info-directory-list)) |
これは,Emacsにシステムの‘dir’ファイルを,‘/home/bob/info’ディ
レクトリの‘dir’ファイルとマージするよう伝えます.このためInfoは,
‘/home/bob/info/dir’ファイルのメニュー項目のように,
‘/home/bob/info/info-test’ファイルをリストアップします.Emacsは,
M-x infoを最初に実行したときのみマージするので,既にinfo
を
実行しているEmacsのセッションでInfo-directory-list
設定したい場合,
Emacsに‘dir’ファイルを再構成させるため(setq Info-dir-contents
nil)
する必要があります.
最後に,‘.cshrc’,‘.profile’や,‘autoexec.bat’のような,
シェルのスタートアップファイルでINFOPATH
環境変数を設定することで
Infoに探す場所を伝えることが可能です.シェルコマンドインタプリタとして
sh
やbash
のようなBourne互換シェルを使用している場合,
INFOPATH
環境変数を‘.profile’初期化ファイルで設定します.しか
し,csh
やtcsh
を使用している場合,‘.cshrc’初期化ファイ
ルで変数を設定します.MS-DOS/MS-Windowsシステムでは,INFOPATH
を
‘autoexec.bat’ファイルかレジストリで設定する必要があります.それぞ
れのシェルで構文は異なります.
INFOPATH
変数を以下のようにして設定します.
setenv INFOPATH .:~/info:/usr/local/emacs/info |
INFOPATH=.:$HOME/info:/usr/local/emacs/info export INFOPATH |
set INFOPATH=.;%HOME%/info;c:/usr/local/emacs/info |
‘.’は,通常カレントディレクトリを示します.Emacsは,INFOPATH
環境変数をEmacs自身のInfo-directory-list
変数の初期化に使用します.
スタンドアローンのInfoリーダーは,INFOPATH
変数でリストアップされた
あらゆるディレクトリの‘dir’という名のファイルを,‘(dir)Top’と
呼ばれるノードに現れる単一のメニューにマージします.
しかし,INFOPATH
を設定しても,最後の文字がコロン
(17)の
場合,これはデフォルトの(compiled-in)パスに置換されます.これは,全ての
標準の場所をリストアップすること無く,新しいディレクトリでデフォルトのパ
スを増やす方法となります.例えば以下のようにします(sh
構文使用).
INFOPATH=/local/info: export INFOPATH |
これで,‘/local/info’が最初で,それから標準ディレクトリを探します. 最初や二重のコロンは,特別扱いしません.
Info-directory-list
やINFOPATH
で利用する独自の‘dir’ファ
イルを作成するとき,既存の‘dir’ファイルをコピーから初め,‘*
Menu:’以下のテキストを必要な項目で置換するのが最も簡単な方法です.その方
法では,Infoが必要とする句読点と特別なCTRL-_文字が残ります.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
Infoファイルをシステムにインストールするとき,プログラム
install-info
をInfoディレクトリファイル‘dir’の更新に使用する
ことが可能です.通常,パッケージのmakefileは,Infoファイルを適切なインス
トール先にコピーした直後にinstall-info
を実行します.
Infoファイルがinstall-info
で動作するように,コマンド
@dircategory
と@direntry
…@end direntry
を,
Texinfoソースファイルに含めます.Infoディレクトリファイルに加えるメニュー
項目を指定するため,@direntry
を使用してください.このマニュアル
でこれらのコマンドを使用している例は以下のようになります.
@dircategory Texinfo documentation system @direntry * Texinfo: (texinfo). The GNU documentation format. * install-info: (texinfo)Invoking install-info. … … @end direntry |
これでInfoファイルに生成されたものは,以下のようになります.
INFO-DIR-SECTION Texinfo documentation system START-INFO-DIR-ENTRY * Texinfo: (texinfo). The GNU documentation format. * install-info: (texinfo)Invoking install-info. … … END-INFO-DIR-ENTRY |
install-info
プログラムは,Infoファイルのこれらの行を見て,そして
なすべきことを知ることになります.
常に@direntry
と@dircategory
コマンドを,Texinfo入力の最初
に,最初の@node
コマンドの前で使用してください.入力ファイルの後
の方で使用する場合,install-info
はそれらに注意を払いません.
@dircategory
をTexinfoソースファイルで1回以上使用する場合,それぞ
れの使用されたものは‘current’カテゴリーを指定します.それに続く
@direntry
コマンドはそのカテゴリーを追加します.
@dircategory
に対するカテゴリを選択するとき,http://www.gnu.org/directoryを考慮することを推奨します.プロ
グラムがそこにリストアップされていない場合や,間違っていたり不完全なまま
リストアップされている場合,カテゴリ名が同期をとれるように,ディレクトリ
管理者(bug-directory@gnu.org)にその状況を報告してください.
以下はその例です.
Emacs Localization Printing Software Libraries |
インストールされるすべてのプログラムのそれぞれの‘Invoking’ノードは,
@direntry
に対応すべきです.これで,伝統的なman
システム
のように,実行可能なそれぞれのプログラムに対するドキュメントを,ユーザは
容易に見つけることができます.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
install-info
の呼び出しinstall-info
は,InfoファイルからInfoシステムのトップレベルの
‘dir’ファイルにメニュー項目を挿入します(‘dir’ファイルの動作の
説明は,前のセクションを参照してください).それは,ソフトウェアのインス
トールの一部として,またシステムのマニュアル全体に対し,‘dir’ファイ
ルを構築するときよく実行されます.構文は以下のようになります.
install-info [option]… [info-file [dir-file]] |
info-fileやdir-fileを指定しない場合,(以下で述べる)それらを
定義するオプションが必要です.コンパイル時のデフォルトは無く,標準入力は
使用しません.install-info
は,呼び出し毎に一つのInfoファイルのみ
読み込み,一つの‘dir’にのみ書き込みます.
dir-file(が指定されていても)存在しない場合,install-info
は
(項目の無い)dir-fileを可能な場合は作成します.
入力ファイルが,gzip
で圧縮されている場合(see (gzip)Invoking gzip section ‘Invoking gzip’ in Gzip),install-info
は自動的に読み込みのために解凍し
ます.そして,dir-fileが圧縮されている場合も,install-info
は自動的に変更を書き込んだ後,圧縮された状態にします.dir-file自身
が無い場合,install-info
は‘dir-file.gz’を開こうとしま
す.
オプションです.
--delete
dir-fileからinfo-fileの項目を削除します.dir-fileの項 目のファイル名はinfo-fileにする必要があります(その中の,オプション の‘.info’は例外です).新しい項目は挿入しません.
--dir-file=name
-d name
Infoディレクトリファイルのファイル名を指定します.これは,dir-file 引数を使用することと同じです.
--entry=text
-e text
Infoディレクトリ項目としてtextを挿入します.textは,Infoメ ニュー項目行にゼロ以上の空白で始まる行を追加した書式にすべきです.一つ以 上の項目を指定する場合,全て追加されます.項目を指定しない場合,Infoファ イル自身の情報から決定します.
--help
-h
基本的な使用方と,利用可能な全てのオプションをリストアップした使用方法メッ セージを表示し,正しく終了します.
--info-file=file
-i file
ディレクトリにインストールするInfoファイルを指定します.info-file 引数の使用と同じです.
--info-dir=dir
-D dir
‘dir’が位置するディレクトリを指定します. ‘--dir-file=dir/dir’と同じです.
--item=text
‘--entry=text’と同じです.Infoディレクトリ項目は,実際にはメ ニュー項目です.
--quiet
警告を抑制します.
--remove
-r
‘--delete’と同じです.
--section=sec
-s sec
このファイルの項目を,ディレクトリのセクションsecに書きます.一つ以 上のセクションを指定した場合,Infoファイル自身の情報から決定されます.
--version
-V
バージョン情報を表示し,正しく終了します.
[ << ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
この文書は新堂 安孝によって2009年9月22日にtexi2html 1.82を用いて生成されました。