連載 /An lntroduction to X Window System Quit コマンド領域 三一 Fi1e Stattß : NO し ncniified unnaned. 「 i Fi1e: Di 「 ec し。「 9 : 図 2 F ⅱ e のメニュー 142 ディレクトリやファイルの変更をおこなわずに、このメ ◇ Cancel きます。 Directory と同様にキー入力します。 読込み、格納の対象となるファイル名の表示、変更がで ◇ File マウスカーソルを移動し、キー入力します。 変更ができます。変更したいときは、このボタンの上に ファイルの編集をおこなうカレントディレクトリの表小、 ◇ Directory 選択するポップアップ・メニューか現れます ( 図 2 ) 。 され、左ボタンをクリックすると、さらに下記の機能を す。マウスの右ボタンをクリックするとファイルに格納 図形の格納や読込みなどのファイル操作をおこないま File を、もとの場所に貼り込むことができます。 直前にカット & ペーストでバッフアに格納された図形 Paste 再描画できます。文書ェデイタの L と同様の機能です。 キャンバス上の図形表示がおかしくなった場合、これで Redraw 取り消せます。 誤って消去 / 変更 / 追加したとき、その直後ならはこれで Undo 態にします。 キャンバスに描かれたすべての図形を消去して、白紙状 Delete ALL のとき、左マウスポタンを押すと、強制終了します。 まいませんか ? 〃というメッセージが表示されます。 いない状態で Quit を選択すると、、、本当に終了してもか xfig を終了します。図形の編集後、ファイルに格納して 図 3 Export のメニュー HagnificationX: 0 「 ie . a し ion : Language: De 「 aul し 0 . p . FiIe: 円朮 . FiIe: 100 landscape PS unnaned. ps ニューを終了します。 ◇ Save ファイルに図形を格納します。もし、同名のファイルが すでにある場合は、石薩忍を求めてきます。 ◇ Load ファイルから図形を読み込み、それまでの編集内容と置 き換えます。 ◇ Merge Load それまでの編集内容に追加するかたちでファイルから図 形を読み込みます。 Export 図形のファイルへの保存や、その形式などを設定します。 右ボタンをクリックするとファイルに格納さ左ボタ ンをクリックすると、さらに下記の機能を選択するポッ プアップ・メニューが現れます ( 図 3 ) 。 Magnification ◇ 出力系言言、の変換時に拡大 / 縮小したいときは、この 部分に倍率を書き込みます。 ◇ Onentation 出力時に、用紙に対する出力方向を選びます。横長の Landscape と、縦長の Portrait があります。 ◇ Language 出力に利用する言語を選びます。初期設定では、 ps つま り PostScript 形式に設定されています。なお、これらの 出力言語に変換する場合は、 TransFig として提供される 変換プログラムを間接的に呼び出すので、これらのツー ルが用意されていないと出力できません。 ◇ DefauIt 〇 utput File 出力ファイル名カ甘旨定されないときに使われるファイル 名を設定します。 ◇〇 utput File 出力先のファイル名を設定します。 UNIX MAGAZINE 1992 ユ 1
emacs 入門 図 33 vehicle ドキュメントのメニューを追加 Fi1e: dir NOde: Top This is the top of the INFO tree This (the Directory node) gives a menu of major topics . Typing "d" returns here, "q" exits, ” ? " lists a11 INFO conmands, "h ・ ☆ lnfo: ( i れ fO ) . れ tatiO れ browsing system. ☆ Menu: The list Of major topics 0 れ the next line. PLEASE ADD WCUMnqTATION TO THIS TREE. (See INFO topic first . ) 0t0. eives a primer for first-timers, "mTexinfo く Return>" visits Texinfo topic, 図 34 lnfo-validate コマンドでみつかったエラーを表示 node node node node node node " 八輪車” , invalid Up: 輪がある ”ニ輪車第 invalid Up: 輪がある ニ輪車髫 invalid Previous : 輪がある 輪がない " invalid Next : 輸がある ” top ” , invalid menu item 輪がある : 輪がある 肩車ー , Dup1icate node—name ☆ Emacs: (emacs). ☆ N は cs : (nemacs). ☆ Texinfo: (texinfo) . The exte れ sible self-docurenting text editor. Japa れ ese version Of 新は cs. With 0n2 source file, make either a printed manual (through TeX) or an InfO file (through texinfo) . Fu11 documentation in this rrenu item. ☆ Vehic1e: (vehicle) . Verious vehicles . - Ⅱ E 口に よい Ed い FiIe appears valid と表示さ不審な点があれは図 34 のように * prob- lems ⅲ info fine * バッフアに忠告が表小されます。 新しいメニューを追加したら、メッセージに出たお言葉 にしたがってすみやかに、℃ー c C-c" (M-x lnfo-cease- edit ) しましよう。途中でファイルを保存するかどうか訊か れるので、ディレクトリを確認して返事をしてください。 これですべての作業は終了です。 lnfo で存分に vehicle ドキュメントを楽しんでください。図 35 に一連の入力操 作をまとめました。 122 (dir)Top ノードへ vehicle メニューを追加する M—x lnfo—cease—edit M—x lnfo—edit Eva1 : (setq lnfo-enable-edit t) M—X Eva1—expression M—X lnfo—directory 5. (dir)Top に vehicle を登録する M—x save—buffer 4. vehicle をセープする " vehicle ファイルができる M—x texinfo—format—buffer 3. texinfo ファイルから info ファイルへ変換する Find file: vehicle . texinfo M—x find-file 2. ファイルを読み込む % nemacs 1. Nemacs を起動する 図 35 texinfo を info ドキュメントにする手順 た文書整形システムの明 X を使います。その柔軟性がもて texinfo をプリンタで印刷するには、 Knuth 先生か作っ V 印刷マニュアルができるまで はやされて、 UNIX の世界ではもうすっかりお馴染みです ね。実際の操作やコマンドについては、この連載の第 6 回 ( 1991 年 7 月号 ) も参考にしてください。 texinfo から印刷マニュアルへ texinfo のソースを印刷したマニュアルにするまでには、 かなり困難な道のりがあります。 texinfo を info に変換す るときには Nemacs のなかだけに閉しられていて、ほか のシステムの助けを必要としませんでした。しかし、 tex ⅲ - fo を印刷するには、 X というこれまた複雑で巨大なシス テムに頼らなけれはなりません。さらに、 ・システムのインストールが難しい ・プリンタの種類によって印刷方法が異なる などの問題以外に、組織によっては制度上の壁があるかも しれません。たとえば、 Nemacs 管理者 : このファイルを "I X のディレクトリに 置きたいのですが。 事務担当者 : では、まずこちらの申請書に、担当者の名前 と日付、申請事項と理由、ファイル名、ファイルサイ ズ、ディレクトリ名を記入していただいて、申請者、担 当者、課長、部長の印を押して提出してください。 Nemacs 管理者 : はあ。で、いっ許可が出るんですか ? 事務担当者 : 2 週間の掲示後、賛否を投書していただい て、そののち部長会議で決裁されます。 Nemacs 管理者 : 部長会議っていつ開かれるんですか ? 事務担当者 : 毎月 5 日です。 Nemacs 管理者 : ( げつ、 1 カ月後ゃんけ ) あの一、いつも X を管理してた xx さんは ? 事務担当者 : 人事異動で転勤になりましたので、いまは総 務が管理を引き継いでいます。 まあ、実際にはこれほど悲惨ではないでしようが・ とにかく、 texinfo ファイルを X に通さなくては何も 0 UNIX MAGAZINE 1992.11
図幻 infO ファイルと texinfo ファイ丿レ lnfo file: vehicle, ・ info ファイル Fi1e: vehicle NOde: TOP, prev: (dir) ThiS file documents venous vehicles . from file: vehicle . tex produced by texinfo—format—buffer 輪のない乗り物 * がない : : * 報がある : ・輸がある乗り物 Fi1e: vehicle N0de: 輪がない , Up . ・ t exinfo ファイル Top, , Up. Next : (dir) 輪がある \input texinfo @c —*—texinfo—*— This file documents verious vehicles . @ifinfo @end iftex @f ina1 out @iftex .com/ent %**end Of header (This is for running Texinfo on a region ・ ) set chapt ernevpage 0dd @smallbook @settitle Vehic1e 1 . 0 @setfilename /usr/lib/emacs/info/vehicle .com/ent %**start Of header (This is fO て running Texinfo 0 Ⅱ a reglon. ) @center @tit1efont{Vehic1e} @sp 11 @titlepage @end ifinfo @sp 4 @center by M. Arai @sp 2 @center Edition 1 . 0 @sp 2 @center Sep 1992 @end titlepage (dir) , @node Top , .com/ent node—name , @menu (dir) next , 輪のない乗り物 * 輪がない : : * 輪がある : : 輪がある乗り物 @end menu 報がない , 輪がある , @node .com/ent node—name , , preVIOtlS , , Top prevxous , up 図 22 (dir)Top ノードに書かれた Texinfo のメニュー項目 * Texinfo: (texinfo) . With one source file , make either a printed manual (through TeX) or an lnfo file (through texinfo) . F Ⅱ 11 documentation in this menu item UNIX MAGAZINE 1992 ユ 1 emacs 入門 ,// 、、、 v/ 117
ernacs 入門 山だってもう怖くはありません ( 図 28 ) 。シェル・スクリプ 実際の変更方法は、 トを仕掛けておけば ( 図 29 ) 、思い残すことなく・・ ・ info ディレクトリの dir ファイルを読み込んで編集 女の子 : ねー、飲みにいかない ? ・ lnfo なりの流儀で変更 僕 : いいとも ) の 2 通りがありますが、ここでは lnfo 流で対処しましょ そして数分後・・ つ。手順は次のとおりです。 t 算機 : file system full. file system full. file sys- 1. まず lnfo を起動して (dir)T 叩ノードを表示する。 ・・も一、ほんまに誰かおらへんのお。ディス tem full. ・ 1 気または、 lnfo-directory コマンドで (dir) Top ノード クが溢れたんやで。なんとかして一な、ぶんぶん。 へ移動する。 2. lnfo バッフアの編集許可をもらう。 dir ファイルにドキュメントを登録 3. lnfo-edit コマンドを実行して、バッフアを編集状態に やっと仕上げの第 3 段階に到達できました。最後は lnfo する。 の大親分ノード (dir)T 叩に挨拶して、新しいドキュメン 4. dir ファイルにメニューを追加する。 トを子分にしてもらいましよう。これはとっても簡単で、 5. lnfo-cease-edit コマンドを実行して、編集モードを 図 30 のように dir ファイルの、 抜ける。 * Menu: The 1ist of これから説明する操作は、 1 や 1' 以外は lnfo のノードを よりも後ろに、周囲を真似てメニュー項目を追加してくだ 編集する一般的なガ去です。ドキュメントを追加するとき はかりでなく、普通のノードの編集にも利用してください。 図 29 texinfo から info を自動作成する状態 % sh texinf02info *. texinfo Formatting Inf0 file . Formatting InfO file : /usr/lib/emacs/info/vehicle Formatting Inf0 file ... done . Wrote /usr/lib/emacs/info/vehicle 一三日 図 30 ( dir ) Top へ新しいドキュメントを登録する Fi1e : dir N0de : Top This is the top Of the INFO tree This (the Directory node) gives a menu Of major topics ・ Typing returns here , 可 exits , " ? " lists a11 INFO commands, "h" glves a primer for first¯timers , "mTexinfo く Return>" visits Texinfo topic , et c . PLEASE ADD DOCUMENTATION TO THIS TREE. (See INFO topic first. ) * Menu: The 1ist Of maJOr topics beglns 0 Ⅱ the next line. * lnfo : (info) . Documentation brovsxng system. * Emacs : (emacs) . The extensible self—documenting text editor. * Nemacs: (nemacs) . Japanese Of Emacs. * Texinfo: (texinfo) . With 0 取 e source file , make either a printed manual (through TeX) or an InfO file (through texinfo) . Fu11 documentation in this menu item . * Vehic1e : (vehicle) . Verious vehicles . 120 UNIX MAGAZINE 1992 ユ 1
連載 / / 凵 Language¯ % morelong—file—name ,dont—want—to—type—it—aga in morelong—file—name , dont—want—to—type—it—again Command not found . とやってしまっても、 % iS more で意図したコマンドを実行してくれます。 % rmlong—file—name ,dont—want—to—type—it—again rmlong—file—name ,dont—want—to—type—it—agaln : Command not found . の場合も、 % iS rm で大丈夫です。 % alias ls ー 1 'ls ー 1 ' ですね。これでうつかり、 % ls ー 1 と入力しても、ちゃんとファイルのリストを出力して くれます。 ・第 2 案 history substitution を使ってあとからス ペースを入れてやる。 たとえは、 % alias vi2 ' \ ト 1 :s/vi/vi / ' と仕掛けを作っておきます。 % vilong—file—name ,dont—vant—to—type—it—agaln vilong—file—name , dont—want—to—type—it ー agalli : Command not found. とやってしまっても、 % vi2 と打つだけで、、 v 土が viu' になり、 めでたくエディ タカ位ち上がってくれます。 ・第 3 案第 2 案の一殳イし と仕掛けておきます ()s は insert space 窈。 [ 参考文献 ] [ 1 ] A. V. Aho, J. E. Hopcroft and J. D. UIIman, “ D 佖 Structures 佖れ d ス 0 口 ms ” , Addison-Wesley 1983 ( 邦訳 : 大野義夫、『データ構造とアルゴリズム』、培風館、 1987 ) [ 2 ] D. E. Knuth, “ The ス可 Computer Programming, bl. 3 , So 0 れ d Sea 几れ 9 ” , Addison-Wesley 1973 [ 3 ] B. W.Kernighan and P. J. Plauger, “ So wa T00 な” BeII TeIephone Lab. 1976 ( 邦訳 : オ哥す泉、『ソフトウェ ア作お、共立出版、 1981 ) so 「 tl ( パプルソ ート ) リスト 1 十 { - 1 . ). 十り 十 cd 十 ・ 1 1 1 ・ 1 Z - 上 Ⅱ V V •H X 0 END { 83 UNIX MAGAZINE 1992 ユ 1
図 20 xpr の結果を gs で見る monkey% xpr —portrait —output kterm2. ps kterm2. xwd します。 これを使って kterm2. xwd を変換するには次のように マニュアル xpr(l) を参照してください ) 。 ど、より詳しいオプションの説明についてはオンライン・ ションを付けたはうがよいでしよう ( 用紙のサイス指定な ズを変更するほうが多いですから、つねに -portrait オプ だん使っているのカ長のウインドウなら、用紙のサイ 変換すると、 90 度横に寝た出力となってしまいます。ふ 長いほうに合わせます。したがって、横長のウインドウを プションで快めます。何も指定しないと、プリンタ用紙の 出力のスタイルは、 -portrait あるいは -landscape オ ションを省略すると標準出力が使われます。 xwd ファイル名を省略すると標準入力、 -output オプ Cxwd ファイル名 ] xpr [—portrait] [-landscape] C¯output ファイル名 ] ます。 マットへの変換もできます。使い方は次のようになってい 40 monke y% 得られた PostScript ファイルは gs (GhostScript) な どで呪ることもできます ( 図 20 ) 。 ・といいたいところですが、 これでめでたしめでたし・・ I などに貼り込むと、位置がすれることがあります。 じつは、 PostScript にもいくつか不頁があって、 I*Tb,X などで使用する PostScript ファイルは、 EPS (Encap- sulated PostScript) と呼ばれるフォーマットを想定し ています。 EPS の詳しい説明は割愛しますが、、、 xpr で 得られる PostScript ファイルが EPS ではないために 思ったようにい (IEX に貼り込めないことがある " のです。 xpr で得られた PostScript ファイルを EPS フォー マットに変換するには、 pstoepsi というツールを使いま す。このツールはフリーソフトウェアで、 X にイ寸属してい るものではありません。ないときは、管理者さんにお願い してみるとよいでしよう。 pstoepsi の使い方はごく簡単で、 pstoepsi [ —gs ー—news ] [-strip] く file>. ps く file> . epsi となっています。このコマンド自体はシェル・スクリプト で、ほかのツールを呼び出して EPS に変換します。 gs を 用いて変換する場合は、 -gs オプションを付けて実行しま す。 -strip オプションは、もとの ( つまり、 EPS でない ) PostScript ファイルのヘッダを取り除く、という竹喋を おこなうので、通常は指定したほうがよいでしよう。また ファイルの指定は、 EPS でないファイル、および変換さ れた EPS ファイルの拡張子はそれそソ蹊、、 . ps . ePS1 と決められているのて気をつけなければなりません。 kterm2. ps を変換すると、次のようになります。 monkey% pstoepsi —gs —strip kterm2. ps kterm2 ・ epsi Usage : (file) ppmNrun converts file. ps t0 file . ppm (single page) , (multi page) ・ or file . lppm, file . 2ppm, N is # of bits per pixel ( 1 , 8 , or 24 ) . Examp1es : (golfer) ppmlrun (escher) ppm8run Optiona1 commands you can give first : horiz-DPI vert—DPI ppmsetdensity (dirname/) ppmsetprefix page—num ppmsetfirstpagenumber GS>Writing kterm2 ・ ppm GS >monkey% . or . UNIX MAGAZINE 1992.11
emaCS 入門 ノード 5 ファイルヘッダ 図 5 ーっのファイルに複数のノードが書かれている いっきに 3 つも無理だって ? では忘れたときのために対 こまでのコマンドは、すぐに憶えられましたね。ん、 します。 p を入力してください。また、親ノードへ戻るには u を入力 次のノードへ移動するには n 、前のノードへ移動するには ノードからノードへ移動するには、キー入力一発です。 ノード間の移動 している部分だけを表示してもらうのです ( 図 7 ) 。 態にするために、 Narrow モードさんにお願いして、注目 示とは違いますね。 lnfo では特定のノードだけを読める状 ファイル本が見えてしまいます。これしゃあ lnfo の表 に find-file コマンドで読み込むと、図 6 に示したとおり 図 6 は vehicle ドキュメントの内容です。いつものよう 別な区切り文字 ( C ーー ) で分離されています ( 図 5 ) 。 図 6 vehicle ドキュメントの内容 lnfo file: vehicle, produced by texinfo—format—buffer from file: vehicle . texinfo This file vehicles . Fi1e: vehicle N0de: Top, prev: (dir) , Up: * 輪がない : : 輪のない乗り物 * 報がある : : 輪がある乗り物 Fi1e: vehicle Node: 輪がない , Up: 輪がない乗り物 108 Top , Next : (dir) 輪がある 図 7 カレントノードだけを Narrow モードで表示する ファイノレヘッダ ふだんはけして表示されない ノード 5 表示しない 表示しない <—現在注目しているノードだけ表示する UNIX MAGAZINE 1992 ユ 1 にはどうせ移動できないのですから。これで親、兄弟ノー それでも心配はご無用。ヘッダに書かれていないノード ないノードがあるんだけど・・ 「でも、ときどき Up とか Previous とかが、書かれてい なら憶えていられそうですね。 です。コマンド名も next とか prev とか up なので、これ u lnfo-up p lnfo-prev Ⅱ lnfo-next になります。これらのキーに対応するコマンド名は、 ています。それぞれの 1 文字目がさきはどの移動コマンド ダを見てください。 Next や Previous 、 Up などと書かれ を忘れてしまったら、ノードの 1 行目に書かれているヘッ 策を伝授しましよう。もし万が一あなたが n とか p とか u
ernacs 入門 5 行目の、、@ sma Ⅱ b 。。 k 〃は、デフォルトよりすこし小さ めの本にします。 texinfo の印刷の標準サイズは、 8.5x 1 linch ( ほば A4 判 ) ですが、この指定があると 7 x 9. 25inch(IiIt B5 判 ) になります。 6 行目のゞ@setchapternewpage od 卍は、章の先頭 を奇数ベージから書き出す指定です。ツにやさしい〃運 動を実践していて、白紙を出すと始末書ものだという会社 ではこの行を削除してください。 X による整形、 1 回目 いよいよ texinfo. texinfo を整形しましよう。 Nemacs からでも jtex を使うことはできますが、ここではシェル上 で実行させます。 あなたのサイトで X がインストールされていること を確認してから、 % Jtex texinfo. texinfo を実行してください。 texinfo. dvi 、 texinfo. cp 、 texinfo. fn 、そのほかにも FI X 関連のファイルがいくっかできま す。 図 37 索引ファイルのソート ・ソート前の索引ファイル ( te 刈 nfo. 叩 ) 表ー索引ファイルのカテゴリーと拡張子 カテゴリー 概念 (Concept) 関数 (Function) 変数 (Variab1e) プログラム (Program) キーワード (Key) データ型 (Data Type) 索引ファイル 拡張子 をソートして出力します。ソート後のファイルの名前は、 texindex は X が出力した索引ファイルを読み、内容 を使ってソートしてやりましよう。 Nemacs とともに提供されるシェルコマンド texindex のままではちょっと使いものになりません。そこで、 これらの索引は残念ながらソートされていないので、そ からです。索引のカテゴリーは、全部で 6 不頁あります俵 は、 texinfo では索引をカテゴリーごとに分けて出力する これらは索引ファイルです。索引ファイルが複数個あるの texinfo. cp や texinfo. fn は見慣れないファイルですが、 \entry {Overview 0f Texinf0}{3}{Overview 0f Texinf0} \entry {Texinfo overviev}{3}{Texinfo overview} \entry {Characteristics Of the lnfO file}{4}{Characteristics Of the lnfO file} \entry {InfO file characteristics}{4}{lnf0 file characteristics} \entry {Printed manual characteristics}{5}{Printed manual characteristics} \entry {Characteristics , printed manua1}{5}{Characteristics, printed manual} {Genera1 syntactic conventions}{6}{Genera1 syntactic conventions} {Syntactic conventions}{6}{Syntactic conventions} \entry \entry UNIX MAGAZINE 1992.11 \entry {Catching nistakes}{77} \entry {Catching 、 e て ro て s vith TeX Formatting}{80} \entry {Catching -errors vith InfO Formatting}{77} \initial {C} \entry {Bu11ets , inserting}{65} \entry {Breaks 洫 a paragraph}{54} \entry {Breaks in a ユ ine}{53} \entry {Braces , inserting}{63} \entry {Beginning 1ine Of a Texinfo fi1e}{16} \entry {Beginning a Texinf0 fi1e}{15} \entry {Bad1y referenced nodes}{83} \initial {B} \entry {{\sf \char ' 100}-Command Syntax}{87} \initial {{\sf \char ' 100 } } ・ソート後の索引ファイル (texinfo.cps)
図 20 lnfo-goto-node コマンドでファイル全体を表示させた状態 磊棗 from file: vehicle. tex produced by texinfo-format—buffer unfO file: vehicle, This file documents verious vehicles . 日 le : vehicle Node: かない : ・ ☆かある : Fi1e: vehicle Node: ー u I : い TOP, Prev: (dir), Up: (dir) がない , Up: Top, Next: 輸かある たとえば、 vehicle の、、肩車〃ノードにいる状態から、 と記慮すればよいでしよう。 、、飛び先としてすべてのノードを指定する〃 ルドカードの * 、つまり、 これって、すいぶん唐突なインターフェイスですが、ワイ てもいいよ〃モードになり、ファイル全体を表示します。 、、 * 〃を指定すれば、、、ちょっとだけ見せますクモードから、、見 う 1 つの使い方です。 lnfo-goto-node のノード名として そんなあなたをお助けするのが、 lnfo-goto-node のも なんて、想像しただけでもイライラ虫がわいてしまいます。 すったどりながら、ノードごとに検索コマンドを実行する れないので役に立ちません。かといって、階層構造を 1 つ ward コマンドでは、カレントノードの範囲しか捜してく そうな部分をくまなく捜そうと思っても、 search ー for- も、見えている範囲内だけです。あるキーワードに関係し Got0 node : * く CR 〉 M—x lnfo—goto—node ード名を表示していた左のほうが、 一方、モードラインはどうなるかというと、これまでノ た info ファイルのヘッタ部分です。 モードライン。ファイルの先頭付近は、これまで隠れてい このときのチェックポイントは、ファイルの先頭付近と す ( 図 2 の。 を実行すれば、 vehicle が、、見てもいいよ〃モードになりま (JJJ- :lnfo) (vehicle)* になりました。次にモードラインの右のほうに目をやると、 UNIX MAGAZINE 1992 ユ 1 emacs 入門 のように、あいかわらす lnfo モードのままです。く SPC 〉や く DEL > でスクロールできるし、ほかの、、 lnfo ー☆◎・☆クコ マンドだってしつかり動きます。 これまでの g コマンドの働きから類推すれば、カレント ノードとは別のファイルも、、見てもいいよ〃モードにでき そうですね。 vehicle の、、肩車クノードにいる状態で、 M—x lnfo—goto—node Goto node : (Nemacs) *()R 〉 を試してください。今度は、 Nemacs のドキュメントが、、見 てもいいよ〃モードになったでしよう。 、、見てもいいよ〃モードから、、ちょっとだけ見せますクモ ードへは、 ・ lnfo-goto-node で * 以外のノード名を指定 lnfo-follow-reference の実行 ・ lnfo-last コマンドの実行 、という手段で戻れます。 検索 前の節で、、、 lnfo は検索に不便だねクと、ちらっと書きま した。でも、この訴訟ばやりのご時世に、変な噂を立てて しまうと lnfo さんから名誉毀損で訴えられかねません。 いまのうちに慌ててフォローしておきましよう。 ついています。 search の、 しつは、 lnfo にはすべてのノードを捜し回る検索機能が search (regexp) : ロ を実行してください。このとき、エコー行には、 M-x lnfo-search を叩くか、 というメッセージが表示されます。 ( ピリオド ) を捜そうとして、 で入力してねクという意味なので注意してください。 (regexp) とあるのは、、、正規表現 (regular expression) 115 なんて指定すると、嬉しくもなんともない結果になります。 ・く CR 〉 Search (regexp) :
図引 (dir)Top ノード i le : d i r NOde: Top This is the top Of the INFO tree This (the Directory れ 0d0 ) gives a menu of major topics. Typing "d" returns here, ー q" exits, ” ? ” lists a11 INFO corrrnands, “Ⅳ 価 ☆ lnfo: (info) . D0052 れ t io れ browsing system. ☆ Henu: The list Of れ旧 jo ー topics 0 れ the next line. - PLEASE ADD WC 【屑日打 ATION TO THIS TREE. (See INFO topic first. ) etc . gives a primer fO 「 first-timers, "mTexinfo く Return>" visits TexinfO topic, emacs 入門 /,へ〉/ ” ? ” lists a11 INFO conrnands, "h" Typing "d" returns here, "q" exits, This (the Directory node) gives a menu Of 第旧」 or topics. This is the top 0f the INFO tree N0de: Top äile: dir 図 32 f0 ー edit を実行したときの旧 fO / ヾッファ ☆ lnfo: (info) . bocumentation browsing system. ☆ Henu: The list Of major topics begins 0 れ the next li れ e. - PLEASE ADD @CUMÜITATION TO THIS TREE. (See INFO topic first . ) etc . gives a primer fO 「 first-timers. "mTexinfo く Return>" visits Texinfo topiC' ☆ Emacs: ( 旧 cs ) . ☆ Nemacs: ( れ emacs ) . ☆ Texinfo: (texinfo) . 丁 he extensible 921f - docu れれ ting text editor. Japanese version Of EmacS. ☆ Emacs: ( 印 nacs ) . ☆ Nemacs: (nemacs) . ☆ Texinfo: (texinfo) . The 0 t 円虐 ible self-documenting text editO 「 . Japanese version Of E 第 C . With 0 れ e source file, make either a pri れ ted manual (through TeX) or an lnfo file (through texinfo) . Fu11 d001 第れ tation in this nenu item. ☆ Vehic1e: (vehicle) . Verious vehicles. Loading info ... done ます、 ( dir ) T 叩ノードへ移動し ( 図 31 ) 、新しいドキュ メントをメニューの先頭に追加したいのですが、 lnfo バッ ね。 が示すとおり、 read-only です。これでは編集できません フアはモードライン、 次は、 lnfo-edit コマンドの実行です。 lnfo バッフアで を実行してください。これで、編集許可がとれました。 Eva1 : (setq lnfo—enable—edit t) く CR> M—X そこで、編集を始める前に、 てあります。もちろん、デフォルトでは nil です。 lnfo-enable-edit 変数が nil なら編集できないようにし ので、間違って編集したらさあ大変。そこで安全のために、 lnfo が呼び出すドキュメントは、みんなで共有している うには下準備が必要です。 通に編集できるようになります。ただ、このコマンドを使 lnfo ー edit を実行するとバッフアが編集モードになり、普 そこで用意されているのが lnfo ー edit コマンドです。 しまいます。 てしまうし、適当な文字を入力すれば、、ピー〃と叱られて lnfo モードなので、く SPC 〉文字を入力すればスクロールし ん。バッフアへ書き込めるようになっても、あいかわらす すればすむのでしようか。いいえ、そうは問屋が卸しませ では、 toggle-read-only コマンドで編集できるように UNIX MAGAZINE 1992 ユ 1 を叩くか、 edit の、 With 0n0 source file, make either a printed manual (through TeX) or an lnfO file (through texinfo) . Full d00 Ⅳれ t 合 tion in this rnenu item. ☆ GDB 4.5 : (gdb. info) . The source-level C debugger ・ Editing: Ty ト沼 C—C C-C t0 return t0 infO M—X lnfo—edit を実行してください。図 32 はそのときの状態です。モード ラインとエコー行のメッセージを見てください。モードラ インの左端に出ていた、 マークはなくなりましたね。これでバッフアが read ー only ではなくなりました。 ほかにも、あちこち変更されています。 ノヾッフアの種類 NInfo → ノヾッファ名 (dir)Top メジャーモード lnfo → NEmac s *info* lnfo Edit ただし、 . マイナーモードの Narrow モードは変わらな いので、カーソルはカレントノードを越えられません。 工コー行には、 「 lnfo へ戻るには C-c C-c を叩け」 というメッセージが出ていますね。これは心に留めておき ましよう。 次はいよいよメニューの追加です。ドキュメント名とフ ァイル名を適切な場所に追加してください ( 図 33 ) 。ここで 書き間違えると、 lnfo は正しく動いてくれません。 (dir) T 叩ノードにはあまり関係がないのですが、 、、間違っていないかな〃 と不安になったら、 lnfo-validate コマンドを利用してく ださい。このコマンドはノードのつながり方や、クロス・ リファレンスを表すポインタの整合性を自動的にチェッ クしてくれます。 正しければ工コー行に、 121