the - みる会図書館


検索対象: UNIX MAGAZINE 1992年7月号
40件見つかりました。

1. UNIX MAGAZINE 1992年7月号

図 28 Subject バッフアで describe-mode を実行 ( 一部 ) SubJect M0de : Major mode for reading articles in this newsgroup. A11 normal editing commands are turned off . lnstead, these commands are available : SPC Scr011 to the next page of the current article. The next unread article is selected automatically at the end of the message ・ DEL Scr011 to the previous page of the current article. RET Scr011 up ()r down) one line the current article. Ⅱ Move tO the next unread article . p Move tO the previous ・ unread article. N Move tO the next article . P Move tO the previous article . ESC C—n Move to the next article which has the same subject as the CUrrent . ESC C—p Move to the previous article which has the same subJ ect as the current article . \ \ [gnus—Subject—next—unread-same-subj ect] Move tO the next unread article which has the same subject as the current . \ \ [gnus—subject—prev—unread-same—subject] Move tO the previous unread article which has the same subject as the current article . C—c C—n Sc て 011 to the next digested message of the current article. C—c C—p Scr011 to the previous digested message of the current article. C—n Move tO the next subject. C—p Move to the previous subJ ect . ESC n Move to the next unread subJect . User customizable variables : gnus—large-newsgroup The number of articles which indicates a large newsgroup. If the number Of articles in a newsgroup IS greater than the value , the number 0f articles to be selected is asked for. If the glven value N is positive, the 1ast N articles is selected. If N is negative, the first N articles are selected. An empty string means to select a11 articles . 図 29 Article ノヾッフアで describe-mode を実行 Artic1e Mode : MaJ0r mode for browsing through an article. A11 normal editing commands are turned off . lnstead, these commands are available : \\{gnus—Artic1e—mode—map} VariOUS ooks fO て customization: gnus—Artic1e—mode—h00k Entry t0 this mode calls the value vith Ⅱ 0 arguments, if that iS Ⅱ on ー取 il . gnus—Artic1e¯prepare—h00k Ca11ed with no arguments after an article is prepared fo て reading if that va1ue is Ⅱ 0 ⅡーⅡ i1. 図 33 gnus-version の実彳デ麦 GNUS 3 . 14 . 1 ; NNTP 3.10 ; NNSPOOL 1 . 10 ; MHSPOOL 1.5 図 34 nnspoo レヾッケージを使わない場・合の gnus-version の実行後 GNUS 3 . 14 . 1 ; NNTP 3.10 ; MHSPOOL 1 . 5 UNIX MAGAZINE 1992.7 ernacs 入門 //。、/ 125

2. UNIX MAGAZINE 1992年7月号

emacs 入門 図 27 Newsgroup バッフアで describe-mode を実行 ( 一部 ) Newsgroup M0de : Major mode for reading network news . A11 normal editing commands are turned off . lnstead, these commands are available : SPC Read articles in this newsgroup ・ If an NNTP server is preceded by a C010 Ⅱ such as ( : Mai1 ' , the user' s 1 Revert this buffer . C Mark a11 articles in this newsgroup as read. Mark a11 articles as read , preserving marked articles . U Unsubscribe from (subscribe (0) the specified newsgroup. u Unsubscribe from (subscribe (0) this newsgroup ・ Move point t0 the end of this buffer . く Move point tO the beginning of this buffer. DO an 1 ncremental search f orward . C—p Move tO the previous newsgroup. C—n Move to the next newsgroup ・ Move tO the previous unread nevsgroup. Move tO the next unread newsgroup ・ Move tO the specified newsgroup. Se1ect this nevsgroup ・ C p n DIRECTORY is used as a news SP001. The variable is initialized value is a string such as ( : DIRECTORY ' , the user ' s private Specifies the name 0f the host running the NNTP server . If its gnus—nntp—server User : characters. Otherwise , they are ignored. File na.mes Of articles consiSt Of 0 Ⅱ ly numeric possible t0 read mail stored in MH folders or articles saved by GNUS. private directory ¯/Mai1 ) is used as a nevs SP001. This makes it from the NNTPSERVER environment variable . gnus—nntp—service Specifies a NNTP service name . , It is usually "nntp' or 119. forces GNUS to use a 10Ca1 news SP001 if the variable gnus—nntp—server ' is set tO the 10Ca1 hOSt name . Ni1 表示します。 図 30 ~ 32 はそれぞれ、 ・ Newsgroup ノヾッファ ・ Subject ノヾッファ ・ Article2< ッファ で℃ -c C-i" を入力したときの表示です。 なおせます。あとは、バージョンアップされても、これらの さえ憶えておけば、いつだってドキュメントに戻って調べ バージョンが違っても、、、 ? 〃と、℃ー h m ク、℃ -c C ー 1 〃 は振れないわ。 あらあら、もう手の内はさらけ出してしまった。無い袖 日本語は ! ! 」 「何よこれ ! 英語を読めっていうの ? 日本語はないの、 124 キーバインドが変わらないことを祈るだけ。 ところで、自分が使っている gnus のバージョンはどう やって調べればよいのでしようか。ソースファイルを見る、 ですって ? そんなことまでしなくても、 M—X gnuS—VerSlOn コマンドを実行するか、 ノヾッフアで、 Newsgroup ノヾッフアか Subject を入力すれば、エコー行にバージョン番号が表示されます。 gnus は 4 つの独立したノヾッケージ gnus 、 nntp 、 nnspool 、 mhspool を使います。 gnus-version コマンド は、それぞれのバージョンを表示してくれます ( 図 33 ) 。 news の設定によっては、これらのパッケージのすべて UNIX MAGAZINE 1992.7

3. UNIX MAGAZINE 1992年7月号

連載 /An lntroduction t0 X Window System 図 3 Xcms. txt の例 * Samp1e C010r Name Database * DESCRIPTI ON Xcms . txt * NAME software . arising out Of or in connection vith the use 0 て performance Of this vhether in an action Of contract , negligence or other tortious action, any damages vhatsoever resulting from IOSS Of use , data 0 て profits , * Tektronix be liable fo て any special , indirect 0 て consequential damages or a11 implied varranties 0f merchantability and fitness , in Ⅱ 0 event sha11 Tektronix disclaims a11 varranties 臂土 t regard to this softvare , including vithout specific , vritten p て 10 て permission. in advertising 0 て publicity pertaining tO distribution Of the software supporting dOC ・ umentation, and that the name Of Tektronix not be used * bOth that copyright notice and this permission notice appear 土Ⅱ * provided that the above copyright notice appear in a11 copies and that * documentation for any purpose and vithout fee is hereby granted, * Permission to use , copy, modify, and distribute this softvare and its A11 Rights Reserved (c) Copyright 1990 1991 Tektronix lnc. brown CIEXYZ : 0 .08443233 / 0.06011398 / 0.01840693 navy CIEXYZ : 0.06713718 / 0.03366278 / 0.31293880 navy blue CIEXYZ : 0.06713718 / 0.03366278 / 0 .31293880 cornflover blue CIEXYZ: 0.05658276 / 0.04476296 / 0.17063955 cadet blue CIEXYZ : 0 .22601070 / 0 .28905571 / 0.47233452 aquamarine CIEXYZ : 0.34672401 / 0.54832153 / 0.44658871 b1ue CIEXYZ : 0 .279962 / 0.160195 / 1 .210705 green CIEXYZ : 0.321204 / 0.660070 / 0.159833 red CIEXYZ : 0 .371298 / 0 .201443 / 0 .059418 XCMS_COLORDB_START 0.1 delimited from the C010 て specification by one or more tabs. version number Of the format/syntax used in this fi1e. The C010 て name is Anything before this is assumed tO be C0皿 . ents. The " 0.1 ” indicates the As you can see , the start 0f the database is indicated by "XCMS—COLORDB—START" . tO the corresponding C010 て name. There are no claims that these C010 て specifications are or s れ 0 Ⅱ Id be bound This device—independent C010 て name database is provided just as an example. grayO TekHVC : 0 .0 / 0.0 / 0.0 gray10 TekHVC : 0.0 / 10.0 / 0.0 gray20 TekHVC: 0.0 / 20.0 / 0.0 gray30 TekHVC : 0.0 / 30.0 / 0.0 gray40 TekHVC : 0.0 / 40 ー 0 / 0.0 gray50 TekHVC: 0.0 / 50.0 / 0.0 gray60 TekHVC: 0.0 / 60.0 / 0.0 gray70 TekHVC: 0.0 / 70.0 / 0.0 gray80 TekHVC: 0.0 / 80.0 / 0.0 gray90 TekHVC: 0.0 / 90.0 / 0.0 gray100 TekHVC : 0 . 0 / 100.0 / 0.0 XCMS_COLORDB_END ックを目的としていますが、この種の関数を活用するプロ グラマーには参考になることもあると思います。 UNIX MAGAZINE 1992.7 XCMS> quit されます。なお、 xcmstest を終了するには、 と実行すると、 xcms で利用できるコマンドの一覧が表示 XCMS> list % xcmstest とします。ただし、 xlib の XCMS 関係の機能を知らない と手も足も出ません。せめて気分だけでも、というわけで はありませんが、 mit/demos/xcmstest/tc ディレクトリ には、テスト手順を記述したファイルがありますので、 % xcmstest —echo く dir/tc/testl などと試してみると、典型的な色の扱いを窺い知ることが できるでしよう ( 図 4 ) 。 MIT からの配布ソースには、 このほかにプログラマー 145

4. UNIX MAGAZINE 1992年7月号

図 32 Article / ヾッフアで gnus-lnfo-find-mode を実行 、 DEL ・ Scroll text Art icle Cotmands Fi1e äile: gnus N0de: Scr011 text Of the current window ( 、 gnus-Article—prev—page') ・ Of the current window ( 、 gnus-Artic1e—next—page') ・ ln the Artic1e buffer the f0110Wi れ g comnands are available: Article CO 府れ ds Prev: Subject Comands, Up: Top, Next: KILL\ : ー、、 1 川Ⅲ 1 い、 ( 、 gnus—Ar t ic le-pp—ar t ic le つ . Retur れ tO the previous article from the referenced article 0 ( 、 gnus-Article—refer-article ・ ) . Refer tO article by the Message-ID 010Se tO the point たとえば、 Subject バッフアでは読んだ記事の先頭に D マ スグループや記事の状態を表すためのマークが付きます。 Newsgroup' ヾッフアや Subject ノヾッフアには、 マークの意味を悟る 図 34 は nnspoo レヾッケージを使用しない場合の例です。 使わないパッケージのバージョン番号は表示されません。 nnspoo レヾッケージは使わないでしよう。そんなときは、 を使うわけではありません。たとえば、 NNTP 利用型なら 126 えましよう。 ennacs 入門 図 30 Newsgroup/ ヾッフアで gnus-lnfo-find-mode を実行 äile: gnus NOde: Newsgroup Cormands, prev: Buffers Of 犯 S , Up: TOP, Next: ject Comnands Newsgroup Cormands The Newsgroup buffer is intended tO show newsgroups wh ich are tO and contain unread articles. Unsubscribed newsgroups 0 「 newsgroups containing れ 0 unread articles are not usually displayed in the buffer. Cotmands for browsi れ g through newsgroups, selecting newsgroups tO read, and maintaining newsgroups 0 in this chapter. ークが付きました今度は、これらのマークの意味を憶 Sub\ ☆ ☆ Browsing Newsgroups: ☆ Selecting a Newsgroup: ☆ Maintenance : ☆ Exiting GNUS: ☆ Other Neysgroup Comnands C-c TAB Brows ing throueh newsgroups. Selecting a newsgroup tO read articles. Haintaining newsgroups. How to exit GNUS . Other miscellaneous cormnands 図引 Subject バッフアで gnus-lnfo-find-mode を実彳テ "ile: gnus NOde: Subject Connands, Prev: Newsgroup Cotmands' Up: TOP' Next. Subject Cormands ticle Corrrnands the messages and most Other cormands 0 れ articles can done in the which is usually up automatically when necessary. Sc 「 011i れ g Of held there. , Messages Of articles are displayed in the Article buffer 1 れ a newsgroup and tO help you know what kind Of discussions are being The Subject buffer is intended tO show interesting headers Of articles Subject buffer . ☆ Reading Articles: ☆ Searching Artic1es: ☆ Referencing Articles: ☆ Saving Articles: ☆ Sorti れ g Headers: ☆ F0110wup and Rep1y: ☆ Exiting Newsgroup ・ 9 「 1 : 二トい 1 、 日 0 to read articles. Searching for articles. Referencing parent articles. Saving articles in your favorite fO ロ閲 t. How to exit the current newsgroup. F0110wup and reply comnands. Sorti れ g subjects and other headers. ますは、 Newsgroup バッフアのマークについて 0News- group バッフアでは、行の 1 文字目と 2 文字目にマークが 付きます。 1 文字目は、 このニュースグループは読まない〃 というマークです。何も表示されていなけれは、そのグル ープの記事を読むように設定されています。つまりく SPC 〉 を押し続けたとき、そのグループの記事を表示します。と ころが図 35 のように、 1 文字目が U 〃のグループの記事 は読みません。この状態だと、く SPC 〉を押し続けたときに そのグループは飛ばして、次のグループの記事を表示しま す。 特定のニュースグループを読まないようにするには、 Newsgroup バッフアの対応するグループにカーソルを移 動し ( 図 36 ) 、 を入力してください。読まないグループ〃マークが付いた でしょ ( 図 37 ) 。 それでは、ヾ読まないグループ〃をもう 1 度読みたくなっ たら・・・・・・。やはり、、、 u ′′を入力してください。今度は、ヾ読 「えー、それしゃあ二度と復活できないのお ? 」 されません ( 図 38 ) 。 いたグループは、次回から Newsgroup バッフアには表示 でも、ちょっとご注意。ヾ読まないグループ〃マークの付 マンドはトグル重川乍をします。 まないグループ〃マークが外れます。このように u コ UNIX MAGAZINE 1992.7 1 されます。もとに戻すには小文字の、 グループ〃も、この L コマンドを実行するともれなく表示 39 ) 。ふだんは表示されていないヾ読んでいない記事のない ループも含めた、すべてのグループが表示されました ( 図 を押してください。、、読まないグループ〃マークの付いたグ ます。 list の、 も申し開きはできません。・・・・・・が、 gnus は堂々と弁明でき さすがに、そんなインターフェイスだとお叱りを受けて

5. UNIX MAGAZINE 1992年7月号

emaCS 入門 図 45 gnus-Subject-sort-by-author の実彳テ前 4785 : + [ 23 : barmar@think.] Re : The cost of SW patents 4789 : [ 36:art@Cayman. CO] 4796 : [ 13:barmar@think. ] 4790 : [ 23 : chased@rbbb. E] 4786 : [ 39 : schnoor@bigbi] Re : Data Genera1 Aviion and GNU software 4787 : [ 6 : lee@sol. cs. wm] Where to get GNU C compiler for pc (OS2/MSDOS) 4788 : [ 14 : larrym@soul.t] Questions about i960 support [ 25 : piggy@gargoyl] Re : The cost of SW patents 4791 : 4792 : [ 13 : ro Ⅱ aldl@cs . mu] Am29050 cross-asm, a. out . h 4793 : [ 13 : slhpv@cc . usu. ] Joining the League? 4794 : [ 25:kstagg@cs.was] 4798 : [ 30:matthew@cs . uq] 4799 : [ 24 : scs@lokkur . de] 4800 : [ 34:vai1@tegra. CO] 4795 : [ 11 : etnkna@hisoy2] 01e0 ? 4797 : [ 23 : barmar@think.] Patents vs non-profit use (was Re : Joining Leag$ the 4801 : [ 10 :mbk@lyapunov.] New free languages? (M2? M3?) 4802 : [ 438 : a11987239neXt ] Spanish translation of the GPL (version 2 ) 4804 : [ 34 : e—sink@uiuc . e] 4803 : [ 46 : jeffrey@algor] Binary 0 Ⅱ ly Archives Considered HeIpfu1 図 46 gnus-Subject-sort-by-author の実彳テ後 4802 : [ 438 : a1198723@Ⅱ ext ] Spanish translation of the GPL (version 2 ) 4804 : [ 34:e-sink@uiuc . e] 4785 : [ 23 : barmar@think. ] Re : The cost of SW patents 4789 : [ 36 :art@Cayman. CO] 4796 : [ 13 : barmar@think. ] 4790 : [ 23 : chased@rbbb. E] [ 23 : barmar@think. ] Patents vs non—profit use (was Re : Joining Leag$ 4797 : t he 4795 : [ 11 : etnkna@hisoy2] 01e0 ? [ 46 : j effrey@algor] 4803 : Binary 0 Ⅱ 1y Archives Considered He1pfu1 4788 : [ 14 : larrym@soul.t] Questions about i960 support 4787 : [ 6:1ee9S01. cs . wm] Where tO get GNU C compiler for PC(OS2/MSDOS) 10 : mbk@lyapunov.] New free languages? (M2? M3?) 4801 : 25 : piggy@gargoyl] Re: The cost of SW patents 4791 : 13 : ronaldl@cs . mu] Am29050 cross—asm, a. out . h 4792 : 4786 : [ 39 : schnoor@bigbi] Re : Data Genera1 Aviion and GNU software 4793 : [ 13 : slhpv@cc.usu.] J0ining the League? 4794 : [ 25 : kstagg@cs.was] 4798 : [ 30:matthew@cs . uq] 4799 : [ 24:scs@10kkur . de] 4800 : [ 34 : vail@tegra. CO] ニュースシステムには、、イクスパイアー・デート〃とい ースシステムの管理者に訊ねてください。 うものがあります。世界中から集まってくるニュースです 「そんなの困るしゃない。あの記事はすっと保存しておこ から、届いたものをすべて溜めこんでしまうと大変なこと うと思ってたのに・ どうしてくれるのよ ! 」 になります。そこで、古くなった記事は定期的に消去する 仕組みになっているのです。この消去するまでの日数が なんて怒ってみたところで、覆水盆に返らずと申します。 expire date" です。 消えてしまったものは、槍が降ろうがディスクを振ろうが expire date を何日間にするかは、そのサイトの都合に 復活できません。その代わり二度と同し事故が起きないよ よります。貧乏な ( ? ) サイトでは 2 ~ 3 日で消すでしよう うに、記事を保存するコマンドをお見せいたしましよう。 し、ディスクを買う ( 置き場所を確保する ) 資金が潤沢なサ 記事を自分の手許に保存しておきたいときは、 Subject イトでは、消さすにすべての記事を保存しておくかもしれ バッフアの記事に対応する行にカーソルがある状態で、 ません。 expire date が何日に設定されているかは、 130 UNIX MAGAZINE 1992.7

6. UNIX MAGAZINE 1992年7月号

気楽に LJN Ⅸ、かっこよく X 0 ワード単位で削除 tIndO コマンド実行の中止 このリストのなかで、知っているととくに便利なのが C-g です。 Emacs を使っていると、いつの間にか妙な キーを押してしまい、画面に見たこともないコマンドの メッセージか表示されて慌てることがあります。こんなと きは、落ち着いて C-g をタイプしてください。このコマ ンドは実行中のコマンドを中止するものなので、たいてい は、 Quit" というメッセージが表示されてもとの状態に戻 るはずです。 Emacs のカスタマイス これまでに説明した kterm や twm などには設定ファ イルがあり、それを自分で変更すれば好みに合わせてカス タマイズできるようになっていました。 Emacs もこの例 にもれす、個人用の設定ファイルを作ることが可能です。 Emacs の場合、自分のホームディレクトリに . emacs というファイルがあると、それを読み込んで必要な初期設 定をおこないます。 . emacs の例を挙げておきましよう。 (string—equal " Vt100 " termname) (string¯equal "kterm" termname) (string—equal "xterm" termname)) (let ( (the—table (make—string 128 0 ) ) ) (let ()i 0 ) ) (while ( く i 128 ) (aset the—table i 土 ) (setq i ( 1 + i)))) Swap and DEL (aset the—table ? \ 177 ?\*h) (aset the-table ? \ ? \ 177 ) (setq keyboard-translate—table the—table)) ) ) これは Lisp という言語で書かれているので、知らない 人にはかなり取っ付きにくいでしよう ( そういう私も素 人ですが・・・・・・ ) 。一番手つ取り早いのは、先輩や友人から . emacs ファイルをもらい、必要なところだけコピーする ガ去です。 Emacs の使い方について簡単に紹介しましたが、もっ と詳しく知りたい方は、本誌に連載中の「 Nemacs 入門」 や bit 別冊『 GNU Emacs マニュアル』 (Richard Stall- man 著、竹内有阯隹・天毎良治監訳、共立出か参考にな ります。また、 Emacs ではオンラインて使い方のチュー トリアルを見ることかできます ( 、、 C ー h (")o チュートリ アルを見れば、この記事を読まなくても ( ? ) だいたいの使 い方は理解できるでしよう。 次回は、 Emacs からのニュースの読み方や rIVfX ファイ ルの作り方などを紹介する予定です。それまでに Emacs をしつかり使いこんで、せめてカーソル移動くらいは自在 にできるようにしておいてくださいれ GNUEmacs start up file set load path (setq load-path (cons "/usr/local/emacs/lisp" load-path) ) (setq load—path (cons "/usr/local/emacs/lisp. 10Ca1 " load-path) ) メモを見る 特集の 1 回目で、ファイルの中身を見るためのコマンド として、 cat と more を紹介しました。ファイルを見る だけなら、わざわざェデイタを起動しなくてもこれだけで 十分といえます。しかし、 cat はあっという間にスクロー ルしてしまいますし、 more も ps ax ー more' のよう にコマンドの出力をパイフ。でつなぐと、逆スクロールして くれないことがあります。 こでは cat や more 以外の便利なコマンド そこで、 をいくっか紹介します。たくさんあるので、どれを使った (setq load—path (cons (expand—file—name /emacs/lisp" ) load—path) ) default new buffer mode is "TEXT" (setq default—major—mode ' text—mode) exchange CTL—H and DEL (let ((termname (getenv "TERM")) ) ()f ()r (string—equal "ibmapa16" termname) 41 UNIX MAGAZINE 1992.7

7. UNIX MAGAZINE 1992年7月号

UN Ⅸへの招待⑩ 発生しないよう、努力します。このために、単語間に空白 を 1 つ置くだけでなく、場合によっては 2 つ、あるいはそ 印 1 1 れ以上の空白を置きます。たとえば、次のようになります。 The ma 」 0 て vord processing t001 used with the UNIX is the nroff package. nroff package produces output that can directly % れて off data—3 1 五 e maJ0r word processing t001 used with the IJNIX is the nroff package. . e nroff package produces output that can directly 1 行目の行末に注目してください。空白が 2 つ追加され ています。 では最後の約束ごとです。一見当り前のことですが見落 としやすいので注意してください。 ◆行頭にピリオド (. ) があると、それ以降は nroff コマン ドであると解釈する nroff コマンドは、 ( ほとんどすべてが ) 、、 . 〃で始まって おり、かならす行の先頭に記述します。 nroff は、入力を読 み込んで行頭のツ〃を検出すると、それ以降を nroff コマ ンドとして解釈するのです。したがって、うつかり行頭に % echo test ー nroff ー vc . 1 ー prof Ⅱ e に以下の記述をおこないます。 もし、団 . ito てをⅵにするのなら、 . pl 1 % cat data-4 〃を置いてしまうと、 % nroff data—4 の大きさを 1 行 65 文字 ( バイト ) 、 1 ページ 66 行とするこ nroff ではとくに指定しないかぎり、出力する 1 ページ nroff コマンドーベージの大きさ の nroff コマンドの実行例を見ていくことにしましよう。 約束ごとは、こんなところでしようか。では、それぞれ はありませんが、この約束も忘れないようにしてください。 いコマンドはヾ黙って〃無視するのです ) 。たいしたことで のテキスト中には現れていません ( nroff は、自分が知らな file の行 ) は、 nroff コマンドであると解釈され、実行結果 のようになってしまいます。ここでは、 2 行目 (. mh ー pro - もし、盟 ito てをⅵにするのなら、 とになっています。 % nroff 大きなファイルの名前一 awk '{print le Ⅱ取 $ 0 ) } ' などを実行して、確認してみてください。最初のコマンド では 1 ページあたりの行数が、 2 番目のコマンドでは 1 行 の文字数が分かるはすです。 さて、以下の nroff コマンドを使用すれは、 1 行の文字 数と 1 ページの行数が変更できます。 Ⅱ 1 行の文字数を文字にする pl / 1 ページの行数を / 行にする nroff は、テキストの内容が 1 ページに満たなかったと き、残った行と同数の改行コードを付加します。 1 ページ は 66 行もあるので、テキストが短いと空白行がページの 下部にたくさん付いてしまいます。メールのメッセージを 164 清書するときは . pl を使い、ページあたりの行数を短くし たほうが効率的です ( 私はよく、 . pl 1 とします。こうすれ ば、よけいな空白が付かすにすむからです。しかし、これ による弊害も若干あります ) 。 nroff コマンドー空白行 前述したように、 nroff ではユーザーが入力した空白行 を、そのまま清書結果に残します。しかしユーザーが複数 の空白行を必要とするとき、それを全部入力せすにすむよ うに、空白行を置くためのコマンドとして、 ・ SP れ UNIX MAGAZINE 1992.7

8. UNIX MAGAZINE 1992年7月号

ワークステーションのおと一 リスト 1 \newcommand の定義 \def\newcommand#l{\@ifnextchar [{\@argdef#l}{\@argdef#l [ 0 ] } } \def\renewcommand#l{\edef\@tempa{\expandafter\@cdr\string #l\@nil}\@ifundefined{\@tempa}{\@latexerr{\string#l\space undefined}\@ehc }{}\@ifnextchar [{\@reargdef#l}{\@reargdef#l [ 0 ] } } \long\def\@argdef#l [ # 2 ] #3{\@ifdefinab1e #l{\@reargdef#l [ # 2 ] { # 3 } } } 版、 \mc というマクロがあればアスキー版と判断すれはよ いのです。 とすれば、マクロカ症義されているかどうかを判断する ガ去をみつければよいわけです。 cpp でいうと、次のよう な感しになります。 #if defined(\dm) NTT 版だよ アスキー版だよ #endif defined() を捜せ さっそく、愛用の『 for the lmpatient 』を開い てみたのですが、そのものすばりはありません。 \ifx と いう難しそうなのを使えばできそうですが、私の手に負え るようなイせ勿ではなさそうです。 ふと思いついて、『 I kX 』を開いてみました。そのも のずばりではありませんが、 \newcommand のことを思い 出したのです。 \newcommand は、新たなマクロを定義す るコマンドですが、たしか既存のものと同名のマクロを定 義しようとするとエラーになるはずです。 \newcommand の説明のところを開くと、やつばり「すでに存在するも のと同名のコマンドを定義しようとするとエラーになる」 と書いてあります。ということは、 \newcommand のなか で、マクロが定義されているかどうかを判断しているはず そこで、 IXIbX のソースである latex. tex を開いて、 \newcommand の定義のあたりをのてみました ( リスト 1 参照 ) 。 なんとなく、 \@ifundefined と \@ifdefinable が 怪しそうです。 latex. tex を捜すと、 \@ifundefined{NAME}{YES}{NO} If \NAME is undefined then it executes YES , otherwxse it executes NO . More precisely, true if \NAME either #else 68 undefined or = \relax. \@ifdefinable \NAME {YES} Executes YES if the user is a110wed to define \NAME, otherwise it gives an error . The user can define \NAME if \@ifundefined{NAME} is true , ' NAME' / = 'relax' and the first three letters Of ' NAME ' are not ' end' という説明がみつかりました。どうやら、目指すものは \@ifundefined のようです。 こまでくれば簡単 \@ifundefined を使って \mc が定義されているかど うかを調べ、適当に処理をすればよさそうです。 \makeatletter \@ifundefined{mc}{ \documentstyle{j—report} % NTT-JTeX \documentstyle{jreport} % ASCII—JTeX \def\dg{\gt} \def\dm{\mc}} \makeatother これて大丈夫です。ただし、 @ ( アットマーク ) は通 常の I*TFfX の文書中ではマクロ名として使えません。 そこで、 \@ifundefined の前後を \makeatletter と \makeatother で囲む必喫があります。 今月は、「ワークステーションのおと」というよりは、 「い TEX のおと」になってしまいましたれ ( さかした・しゅう ASTEC) UNIX MAGAZINE 1992.7

9. UNIX MAGAZINE 1992年7月号

lnterview with Clifford Stoll ■ Stoll ・ セキュリティを問題にする声か強まっています。ともかく、さまざまなかたちで反響が かげで DEC が VMS のセキュリティを強化しましたね。 UNIX サイドでは、 Mach の そうだ、『カッコウ・・ 』が何年カに映画化されるかもしれません。それから、本のお は使うな」というわけです。 の相談ですが、そんなときはどう答えるかお分かりでしよう ? 「プート以外では TFTP ところです。週に 1 回は誰かが助けを求めてきます。たとえば TFTP がらみのトラブル りませんし・・・・・。率直な話、コンピュータ・セキュリティについてはうんざりといった この竹ロ頁しているかぎり、コンピュータ・セキュリティなどに脳まされる必要はあ まあ、そんなことをやってますが、毎日わすかでもいいから印するようにしています。 AZINE で Macintosh の話をしてもおもしろいと思う人は少ないでしようカら 解析のプログラミングもやっています。このことはもっと話したいけど、 UNIXMAG- いだろうかと思っています。それから、 Macintosh の System 7 でちょっとしたテキスト 電話会社か料金を請求してくることですが、実験なのですからできれば無料にしてくれな そうなれは自宅で TI が使えるし、きわめて広いバンド幅妾続が実現できます。問題は 話会社が、自宅とバークレイをつなぐ光ファイバーを敷設してくれればいいのですが・・・ 信の実験もやってます。バークレイを中心に光ファイバーで接続しようという話です。電 『カッコウ・・・・・・』のおかげであちこちから講演依頼があります。そう、それからデータ通 いま話した本の執筆のほかに、 いくっかやっていることはありますが、そうですね、 うか ? 本誌最後の質問ですが、現在、具体的にはどのようなお仕事をなさっておられるのでしょ あるのには正直いって驚いています。 Clifford Stoll ード・スミソニアン天文物理研究所の高エネルギー天文物 理研究科に所属。 1973 年、ニューヨーク州 . 立大学物理哮利卒業。 1980 年、アリゾナ大学で天文学博士号取得。天体望遠鏡研究所、 ローレンス・バークレイ研究所勤務を経て現職。ジョンホプキンス 大学で天体望遠鏡用の画像処理ソフトウェアの開発に携わったほ か、 Keck 天文台 ( ハワイ ) の光学望遠鏡の言 t にも参加した。 1986 ~ 87 年、 LBL のコンピュータに侵入した西ドイツ ( 当 時 ) のクラッカーの正体を突き止め、その経験を綴った "The Cuckoo's Egg ” ( 邦訳「カッコウはコンピュータに卵を産む』草 思社 ) が大ベストセラーになった。また、この事件についての詳細 な報告 "StaIking The Wily Hacker ”が Cornm 社れ乞 c を 0 れ 可 the ACM 誌 1988 年 5 月号に掲載されている。 現在、ハップル望遠鏡 (Hubble Space Telescope) に関する "Big Sky Big TeIescope ”を執筆中。 趣味はキルト刺繍と自転車、錬金術にも興味がある。 1950 年、 ューヨーク州生 UNIX MAGAZINE 1992.7 95

10. UNIX MAGAZINE 1992年7月号

実現します ネットワーク・コンヒ云。 ーイ 0 め U 朝翩肥物山貰ト Pe 0 ロ面を A れ 5 、 既℃ ludls い d ご、山ⅱ町 0 NCD X ターミナル : 利用者全員にネットワーク 内のすべての資源への アクセスを可能にします。 ・ 40 れ 1 2 ・ 2 X ウインドウ・ターミナルは節約型で実現しま魂 利用者だけが知っている NCD の素晴らしさ ! ! たくさんのコンヒ。ュータへマルチ・ウインドウの機能て : 多くの もしあなたがネットワーク・コンヒ。ューティングに賛同されるなら、 私たちは喜んて、お手伝いをいたします NCD は世界のマーケッ ューザを案内します。拡張性は非常にシンカレて、す。もしもネ トリーダなのて、す。利用者の要求に合う製品を用意し、価格 ットワークの処理パワーが低下し始めたらネットワークにリソー スを追加しさえすればいいのて、す。机の上の X ターミナルを交 / 性能比はベスト ( しかも商品すべての互換性を完璧に実 換する必要は一切ないのて、す。そうすることて、最新のテクノロ 現しています。我々はネットワーク・コンヒ。ューティングのより一 ジーとパフォーマンスを常に満喫て、きるのて、す。そうて、すネット 層の充実に向かって今後とも継続して開発 / サポートを行な ワークの概念の中にコストセービングの観点をも強調したいの います。 て、す。 株式会社日本 NCD 〒 102 東京都千代田区平河町ト 1 ー 1 TEL: ( 03 ) 5276-2411 FAX: ( 03 ) 5276 ー 2412 THE NETvVORK THE COMPUTER. NCD14c 14 インチ・カラー ( 1024 x 768 ) 68020 2 グラフィックス ASIC NCD 資料請求 N 。 035