Next: , Previous: Debugging with TeX, Up: Catching Mistakes


F.3 texinfo-show-structureの使用

Texinfoファイルの,ノード,章,セクション,そしてサブセクションの記録追 跡は,常に簡単なわけではありません.これは,他人が書いたTexinfoファイル を修正追加している場合は,特に真になります.

GNU EmacsのTexinfoモードでは,texinfo-show-structureコマンドは, 構造を指定する@-コマンドで始まる全ての行をリストアップします. @chapter@section@appendix等です.引数(対話的 な場合は,前置引数C-u)を用いることで,コマンドは@node 行も表示します.texinfo-show-structureコマンドは,Texinfoモードで C-c C-sに,デフォルトでバインドされています.

行は,‘*Occur*’と呼ばれるバッファに,階層レベルで字下げされて表示さ れます.例えば以下は,このマニュアルでのtexinfo-show-structureを 実行したものが生成したものの一部になります.

     Lines matching "^@\\(chapter \\|sect\\|subs\\|subh\\|
     unnum\\|major\\|chapheading \\|heading \\|appendix\\)"
     in buffer texinfo.texi.
     ...
     4177:@chapter Nodes
     4198:    @heading Two Paths
     4231:    @section Node and Menu Illustration
     4337:    @section The @code{@@node} Command
     4393:        @subheading Choosing Node and Pointer Names
     4417:        @subsection How to Write an @code{@@node} Line
     4469:        @subsection @code{@@node} Line Tips
     ...

これは,texinfo.txiファイルの4337,4393,そして4417行が,それぞれ @section@subheading,そして@subsectionで始まっ ていることを告げています.カーソルを‘*Occur*’ウィンドウに移動した場 合,Texinfoファイルで対応する場所にジャンプするため,行の一つにカーソル を置き,C-c C-cコマンド(occur-mode-goto-occurrence)を使用す ることで可能となります.occur-mode-goto-occurrenceに関する詳細は, See Using Occur.

*Occur*’ウィンドウの最初の行は,texinfo-heading-patternで指 定された正規表現(regular expression)の記述です.この正規表現は, texinfo-show-structureが探すパターンです.詳細は,See Using Regular Expressions.

texinfo-show-structureコマンドを呼び出すとき,Emacsはバッファ全体 の構造を表示します.バッファの一部のみ,例えば一つの章の構造を見たい場合, 領域をマークするためC-x n n (narrow-to-region)コマンドを使 用してください.(See Narrowing.)これ は,上記の生成で使用された例の方法です.(再びバッファ全体を見るため, C-x n w (widen)を使用してください.)

C-u C-c C-sと入力して,前置引数を用いて texinfo-show-structureを呼び出す場合,@chapter@sectionのような@-サインコマンドで始まる行と同様に, @nodeで始まる行をリストアップします.

*Occur*’ウィンドウのリストを見ることで,Texinfoファイルの構造を思 い出すことが可能です.そして,間違った名前のノードや飛ばしたセクションが ある場合,ミスを修正することが可能です.