| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
この章では,様々な高度なInfoコマンドを記述しています.(スタンドアローン のInfoリーダを使用している場合,それ特有の追加コマンドがあり,それらは GNU Infoのいくつかの章で説明されています.)
この章では,Texinfoファイルとは異なるInfoの書き方を記述しています.(し かし,Infoファイルと印刷されたマニュアル、HTMLやDocBookのような書式な どで生成することが可能なので,ほとんどの状況ではTexinfoファイルを書く 方がいいでしょう.)See Texinfo: The GNU Documentation Format
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
より容易に動き回るれるようになる Info コマンドには以下のものがあります.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
ノードの名前を知っている場合,g,名前,RETと入力することでそ
こに移動することが可能です.このため,gTopRETでこのファイル
の`Top'と呼ばれるノードへ移動します.(これはtと同じです.1.8 中級Infoコマンド
を参照してください.) gExpertRETでここへ戻って
きます.EmacsではgでコマンドInfo-goto-nodeを実行します.
mとは異なり,gでは省略を使用できません.しかし,補完は可能な ので,TABを入力して部分的なノード名を完全なものにすることが可能で す.
他のファイルのノードへ移動するため,ノード名の前に,カッコ内にファイル名 を含めることが可能です.このため,g(dir)TopRETでInfoディレク トリノードへ移動し,それはファイル`dir'の`Top'ノードです.同様 に,g(emacs)TopRETでEmacsのマニュアルのトップノードに移動し ます.
ノード名`*'はファイル全体を指定します.そのため,g*RET と入力することで現在のファイルの全てを見たり,g(FILENAME)RET で他のファイルの全てを見ることが可能です.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
システムが要求するそれぞれの入力文字がいやな場合,コマンド1,
2,3,4,...,9の使用を好むでしょう.それらは,
引数と供に使用されているmコマンドの短いものです.1は現在のノー
ドメニューの最初のものに行きます.2は2番目の項目に行く等となってい
ます.スタンドアローンのInfoリーダでは0で最後のメニュー項目まで移
動します.これで,存在するたくさんの項目を数える必要が無くなります.
Enacsでは数字のキーはコマンドInfo-nth-menu-itemを実行します.
画面が複数のフォントをサポートしていて,EmacsのInfoモードをInfoファイル を読むために使用している場合,5番目のメニュー項目に対する`*'が目立 つように,色が付いていたり,下線が引かれていたりするような他の属性があり, 9番目の項目も同様になっています.これで,項目に対して使用されている番号 をひと目で見ることが容易になります.
端末によっては,色も下線もサポートしていません.実際に項目を数える必要が ある場合,その代わりにmを使用して名前を指定したり,メニュー間を素 早く移動するためにTABを使用した方が良いでしょう.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
Infoコマンドeで,Infoモードから普通のEmacs編集モードに変更し,それ
で現在のノードのテキストを編集することが可能になります.Infoに切替えるた
め,C-c C-cと入力してください.eコマンドは,変数
Info-enable-editがnilでない場合のみ利用可能です.
eコマンドはEmacsでのみ動作し,そこではコマンドInfo-editを実
行します.スタンドアローンのInfoリーダではInfoファイルを変数可能にするこ
とはできないので,eを入力するとノードの終りに移動します.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
内部のノード間を移動するコマンドで,マニュアル全体や大きな部分を読むこと が可能になります.しかし,マニュアルの情報をできるだけ早く見つける必要が あり,それを探すノードは何かを知らない場合はどうでしょう?これは,マニュ アルをリファレンスとして利用していたり,プログラムの使用を開始する 前にマニュアル全体を読むのが非現実的な場合に生じます.
Infoには,素早く探すための強力な検索機能があります.マニュアルの索引やそ のテキストを検索することが可能です.
マニュアルで記述されているものに関連しているほとんどの主題は索引にされて いるので,最初に索引を検索すべきでしょう.iコマンドで,主題を入力 するように促され,索引で主題を検索します.入力した主題の索引項目が見つか る場合,索引項目が指し示しているノードに移動します.探している問題がそこ に記述されているかどうかを調べるためノードを見るべきでしょう.そうでなけ れば,主題に一致している追加の索引項目に移動するため,,を一回以上 入力してください.
iコマンドでは,文字列の一部として入力した文字列が含まれるす べての索引項目が見つかります.一致するたびに,Infoは見つかった索引項目の 全体をエコーエリアに表示します.索引項目全体のテキストで探しているものに 関連しているかどうかを決定するのに十分な情報が得られることも多いので,そ のノードを表示してみる前に,Emacsがエコーエリアに表示したものを読むこと を我々は推奨します.
iは文字列の一部から検索するので,索引でどのように綴られているかが 不確かな場合でも主題を検索することが可能です.例えば,入力の一部を補完 (complete)する(例えば,TABを入力するとき)コマンドに適切なものを探 したいと仮定します."complete","completion",そして"completing"に ついて記述している索引を得たい場合,icompletRETと入力するこ とが可能でしょう.
プログラムを説明しているInfoドキュメントでは,プログラムが提供しているコ マンド,オプション,そしてキーの組み合わせが索引にあるでしょう.コマンド, オプション,またはキーの記述を探している場合,iでトピックの入力を 促されているとき,その名前を入力してください.例えば,C-fキーが行 なうことの記述を読みたい場合,iC-fRETを入力してください.こ こで,C-fは3つのリテラル文字`C',`-',そしてfのこ とで,C-fに割り当てられているコマンドを実行するためにEmacs内部で入 力する"Control-f"のコマンドキーではありません.
Emacsでは,iでコマンドInfo-indexを実行します.
sコマンドで,ファイル全体から文字列を検索することが可能になります. それは,必要場合は次のノードに切り替えます.sに続き探す文字列を入 力し,RETで終了します.同じ文字列を再度検索するため,sに続け てRETを入力します.ファイルのノードはファイルにある順番で探され, それは,メニューのツリー構造と`next'ポインタの順番に関連している必 要はありません.しかし通常は,2つの順番はそんなに異なりません.あらゆる 状況で,ヘッダが見えない場合(sでカーソルを文字があるところに移動し ても,そこはノードの最初ではないので,これは生じます),到着したノードを 判定するためbを実行することが可能です.
Emacsでは,Meta-sはsと同じです.これは検索コマンドとして
M-sを使用している,他のGNUパッケージとの互換性のためです.s
とM-sはどちらもEmacsでコマンドInfo-searchを実行します.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
新しいトピックをInfoディレクトリのリストに追加するため,以下のようにする 必要があります.
Usually, the way to create the nodes is with Texinfo (see Texinfo: The GNU Documentation Format); this has the advantage that you can also make a printed manual or HTML from them. You would use the `@dircategory' and `@direntry' commands to put the manual into the Info directory. However, if you want to edit an Info file manually and install it manually, here is how. 通常,ノードを作る方法としてTexinfoを用います (see Texinfo: The GNU Documentation Format).これには, 印刷されたマニュアルや HTML を作成することもできるという利点もあります. マニュアルとInfoディレクトリに追加に置くために、`@dircategory' と `@direntry' を使うことになるだろう。しかし, Infoファイルを編集して、それを自分でインストールしたい場合,以下の方法があります.
新しいノードを,既存のドキュメントファイルや,新しいものに書き込むこと が可能です.それは,その前に`^_'文字が存在し(ユーザは見えません.この ノードには1つありますが,あなたは見ることができません),それは,`^_', `^L'("フォームフィード"),またはファイルの終りのいずれかで終了する必要 があります.(2)
ノードを開始する`^_'には,改行または`^L'と改行を続ける必要があ り,その後にノードのヘッダ行を続けます.ヘッダ行には(Infoで見つかるよう に)ノード名を与える必要があり,`Next',`Previous',そして `Up'ノード(存在する場合は全て)をの名前を述べる必要があります.御覧 のように,このノードの`Up'ノードはノード`Expert Info'です. `Next'ノードは`Menus'です.
キーワードNode,Next,Previous,そしてUpは,あら ゆる順番で,ヘッダ行のどこにでも書いてもかまいませんが,推奨される順番は この文のものです.それぞれのキーワードには,コロン,スペース,そしてタブ を続け,その後に適切な名前を続ける必要があります.名前はタブ,カンマ,ま たは改行で終了してもかまいません.スペースでは終了しません.ノード名には スペースを含めてもかまいません.名前の大文字小文字の違いは重要ではありま せん.
ノード名には2つの形式が有ります.現在のファイルのノードは,ノードの最初 の行の`Node: '後に現われるもので命名されています.例えば,このノー ドの名前は`Add'です.他のファイルのノードは,このノードの `(info)Add'の様に,`(filename)node-within-file'で 命名されています.ファイル名が"./"で始まる場合,それは現在のディレクト リと相対的になります.それ以外の場合,それはあなたのサイトの標準的なInfo ディレクトリから開始して相対的なものになります.名前 `(filename)Top'は,`(filename)'で省略することが可 能です.慣習で,名前`Top'は,単一ファイルでの"最上位の"ノードに使 用されます -- その`Up'ノードはファイルの外部を指し示します. `Directory'ノードは`(dir)'で,それはサイトにインストールされて いるすべてのInfoドキュメントをリストしている大きなメニューを保持している ファイル`dir'を指し示します.`Directory'でリストアップされてい るドキュメントファイルの`Top'ノードには,その中に`Up: (dir)' が有るでしょう.
ノード名*は特別です.それはファイル全体を参照します.そのため, g*は現在のファイル全体を表示します.ノード*を使用することで, ファイルをツリーのノードに組織化しない,時代遅れの形式にすることを可能に します.
ノード自身の名前を述べる`Node:'の名前には,Infoがノードを探すとき, ファイル名が存在することを予期していないので,ファイル名を含めてはいけま せん.`Next',`Previous',そして`Up'の名前ではそれらを含 めてもかまいません.このノードで,`Up'ノードは同じファイルに有るの で,それを使用する必要は有りません.
このファイルのノードには,ヘッダ行にファイル名があることに注意してくださ い.ファイル名はInfoで無視されますが,それらは,ユーザがノードを識別する 助けとなるコメントとして提供されています.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
Info階層のすべてのノードには,メニューを持たせてもかまいません -- それはサブノードのリストです.mコマンドで,端末から読み込まれたト ピックに対して現在のノードのメニューを検索します.
メニューは`* Menu:'で始まる行で開始します.行の残りはコメント です.行の先頭から`* 'で始まる全ての行は,単一のトピックをリスト アップします.トピックの名前 -- このトピックを選択するため,ユーザが mコマンドに与える必要がある引数 -- は,星型(アスタリスク)とスペー スの直後にあり,コロン,スペース,そしてタブが続き,そしてそのトピック を述べているノード名が続きます.`Next',`Previous',そして `Up'が続くノード名に似ているノード名は,タブ,カンマ,または改行 で終端してもかまいません.それは,ピリオドで終端してもかまいません.
ノード名とトピック名が同じ場合,2度名前を与える代わりに,省略の`* name::'を使用してもかまいません(そして,それがメニューが乱雑にな るのを抑えるので,可能なときはいつでもそれを使用すべきです).
トピック名の先頭付近がお互いに異なるようにトピック名を選択することは思慮 深いことです -- これで,ユーザは短い省略の入力が可能になります.長いメ ニューでは,最小限受容できる省略となる,それぞれの項目名の初めを大文字化 することは良い考えです(長いメニューとは,5つ以上の項目のものです).
ノードのメニューでリストアップされているノードは,(メニューのあるノード) の"サブノード"と呼ばれ,(メニューのあるノード自身は)それら(サブノード) の"上位"になります.(サブノードは)それぞれ,上位への`Up:'を示すも のがあるべきです.(サブメニューの)全てを見たい人が,メニューに何度も訪れ る必要がないように,全てまたはほとんどのサブノードが`Next'と `Previous'ポインタで並ぶように整列すると役に立つことも多いでしょう.
Infoディレクトリは,ノード`(dir)Top'の単純なメニューです -- すなわ ち,ファイル`.../info/dir'のノード`Top'です.その他のあらゆる メニューと全く同じようなメニューに,新しい項目を書くことが可能です.Info ディレクトリは,`info'と呼ばれるファイルディレクトリと同じでは ありません.Infoのファイルの多くは,そのファイルディレクトリに存 在しますが,必須ではないこともあります.そして,そのディレクトリのファイ ルがInfoディレクトリのノードに自動的にリストアップされないこともあります.
また,Infoノードグラフは,"階層的"だと主張されていますが,実際それは 任意の方向に向いたグラフにもなり得ます.共有されている構造とポイ ンタサイクルは完全に利用可能になっていて,表現の意味として適切な場合はそ れらが使用可能です.ファイルの全てのノードが,連結されている構造となる形 式にする必要はありません.実際このファイルには,2つの連結されているコン ポーネントがあります.あなたはその中の1つにいて,それはノード`Top' の下にあります.それ以外はhコマンドで行くノード`Help'を含んで います.実際,ごみ収集人がいないので,サブ構造を示さなくても困った問題は ありませんが,しかしこのようなサブ構造は,今まで誰もその存在を見つけるこ とができないので,どちらかと言うと無用です.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
相互参照は,行の先頭に書かれている必要があるメニュー項目と異なり,テキス トのどこにでも書くことが可能です.相互参照は,`*'の代わりに `*note'があること以外,メニュー項目のように見えます.それは, `)'がノード名の一部にあることも多いので,`)'で終端することは できません.括弧で相互参照を囲みたい場合,ピリオドを最初に用いて 終端してください.相互参照ポインタの2つの例は以下のようになります.
*Note details: commands. (See *note 3: Full Proof.) |
これらは単なる例です.それが"導く"場所は実際には存在しません!
2.7.1 The node reached by the cross reference in Info Target of a cross-reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
これは,`Cross'と命名されている相互参照で到着するノードです.
このノードは,相互参照で到着することを目的とした特殊なもので,ほとんどの 相互参照は,Infoドキュメントの構造のどこか遠くに"属している"場所があり ます.そのため,このノードに来たところへ戻るための`Next', `Previous',または`Up' へのリンクがあることを期待することはで きません.一般的に,l (el)コマンドがそこへ戻る唯一の方法です.
>> 相互参照でやってきたノードに戻るためにlを入力してください. |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
Infoから出てこれまでしていたことに戻るため,Quitするためにq
を入力してください.これはEmacsでInfo-exitを実行します.
これがInfoの使用上の基本コースの最後です.Infoドキュメントでの移動方法と, メニューや相互参照をたどる方法を既に学んできました.これで,新しいパッケー ジを学ぶときに新しいユーザが行なう,マニュアルの最初から最後まで読む準備 ができています.
それ以外のInfoコマンドは,マニュアルで何かを素早く探すときに役に立ちま す-- すなわち,マニュアルをチュートリアルとしてではなくリファレンスと して使用する必要があるときです.検索コマンドも同じように学んで欲しいと いう気持ちもあります.今そうしたい場合,この相互参照 2.2 指定した主題が述べてあるInfoドキュメントを探す をたどってください.
更にもう一つのコマンドの組は,熟練ユーザに対して意味があります.Infoのド キュメントのディレクトリノードを探すと見つかるはずです.それらを見つける ことは,通常の方法でInfoを使用するための良い練習になるでしょう.
>> Infoディレクトリノードに移動するためにdを入力してください.そし て,Infoのノードと利用可能なそれ以外のヘルプを見るために,mInfo とリターンを入力してください. |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
大きなInfoファイルにタグ表を与えることで,ノードへのアクセスを速くするこ とが可能です.プログラムのタグ表と異なり,Infoファイルのタグ表はファイル 自身に存在し,Infoがファイルを読み込むときはいつでも自動的に使用されます.
タグ表を作成するため,Emacs Infoモードを使用しているファイルのノードへ
行 き,M-x Info-tagifyを入力してください.ファイルを保存するため,
C-x C-sを使用する必要があります.Texinfoパッケージの一部の
makeinfoコマンドで生成されたInfoファイルは,常に最初にタグ表が
あります.
一度Infoファイルにタグ表を持たせると,それが最新であることを確かめる必要
があります.(Texinfoソースを編集するのではなく)Infoファイルを直接編集し,
テキストが削除される結果として,タグ表が記録している位置からノードがファ
イルの中で千文字以上移動される場合,Infoはもはやそのノードを見つけること
ができないでしょう.タグ表を更新するため,再びInfo-tagify コマン
ドを使用してください.
Infoファイルのタグ表はファイルの終わりにあり,以下のようになっています.
^_^L Tag Table: File: info, Node: Cross-refs^?21419 File: info, Node: Tags^?22145 ^_ End Tag Table |
ノードごとに1行を含んでいて,この行が,(ノード名の直後で終る)ノードヘッ ダの初めの部分,`DEL'文字,そしてファイル内でのノードを開始する文字 の位置を含んでいることに注意してください.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
Infoファイルを作成するとき,他のノードからのポインタを作成しているときに ノード名を簡単に忘れてしまうものです.ノードに対して間違った名前を書いた 場合,誰かがInfoを使用してポインタへの移動を試みるまで発見されません. Infoファイルの照合は,すべてのノードへのポインタを調査して,無効なポイン タを報告する自動的な処理です.すべての`Next',`Previous',そし て`Up'は,すべてのメニュー項目とすべての相互参照として調査されます. 更に,`Previous'を示すものを持たない`Next'すべてが報告されます. 他のファイルへのポインタの調査は大変遅いので,ファイル内の中のポインタの み調査されます.しかし,それらは通常ほとんどありません.
Infoファイルを調査するため,ファイルのノードを見ている間に,Emacs
Info モードでM-x Info-validateをしてください.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |
以下の変数で,EmacsでのInfoモードの動作を修正してもかまいません.1つま たは複数のこれらの値を,対話的に,または`~/.emacs'初期化ファイル で設定してもかまいません.See The GNU Emacs Manual.スタンド アローンのInfoリーダプログラムには,GNU Info に記述されている独自の変 数セットがありま す.
Info-directory-list
nil(デフォルトディレクトリを試します)です.初期化
されていない場合は,それを初期化するためにInfoはユーザ変数INFOPATH
を使用し,環境変数INFOPATHが無い場合は,
Info-default-directory-listを使用します.
EmacsのInfoモードとスタンドアローンのInfoで,Infoが検索するディレクトリ
のリストをカスタマイズしたい場合,両方のプログラムに適用される
INFOPATH環境変数を設定するのが最も良い方法です.
Info-additional-directory-list
Info-fontify
nilではない値に設定されるとき,Infoファイルの強調が利用可能です.
デフォルトはtです.info-node,info-xref,
info-header-xref, info-header-node, info-menu-5,
info-menu-header と info-title-n-face
(Nはセクションレベルで,1から4の間の数です),概観をカスタマイズするため,
M-x customize-face RET face RETと入力してくださ い --
faceはここでリストアップされているものの一つになります.
Info-hide-note-references
nil に設定することで,
この機能を完全に無効にすることができます.この変数をnil でも
tでもない値に設定すると,中間の振舞い,役立つすべてのテキストは
表示するが限定的な用途しかないテキストは隠すようになります.
Info-scroll-prefer-subnodes
nil でない値に設定すると,SPC と BACKSPACE (あるい
は DEL)キーをメニューで入力すると,最後か最初までスクロールする
前にサブノードへ移動します.例えば,ノードのメニューがスクリーンに表わ
れると,次に入力する SPC でメニューに含まれるサブノードへ移動で
きます.このオプションをnilに設定すると,スタンドアローンのInfo
リーダと似た動作になります.つまり,現在のノードの最後で入力した時のみ
最初のサブノードへ移動します.デフォルトは nilです.
Info-enable-active-nodes
nilでない値が設定されているとき,ノードに関連付けされたLispコード
をInfoが実行すること可能にします.Lispコードはノードが選択されたとき実行
されます.実行されるLispコードにはノードデリミタ(`DEL'文字)と以下の
ような`execute: 'タグを続けるべきです.
^_execute: (message "This is an active node!") |
Info-enable-edit
nilに設定し,`e'(Info-edit)コマンドを利用不可にします.
nilでない値では,それが可能です.See 節 Edit
| [ << ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] |