-2 - みる会図書館


検索対象: UNIX MAGAZINE 1996年2月号
254件見つかりました。

1. UNIX MAGAZINE 1996年2月号

リスト 6 矢印を描こう beginchar ( 0 , 10pt#, 10pt#, 0 ) ; path p , p ロ ; pair last; pickup pencircle scaled 0 ・ 2pt ; z0 = ( 0 , の ; z2 p = zO{right}.. zl . 2 ; 0f P ; p3 = pl rotated ー 150 shifted 1 t ; p2 = pl rotated 150 shifted last ・ 図 5 矢印が描けた endchar ・ draw p ; draw p2 ; draw p3 ; p3 = pl rotated ー 150 shifted last ; p2 = pl rotated 150 shifted last ; pl = pO scaled lpt ; dir angle direction infinity pO ( 0 , 0 ) last = point infinity of p; save p; path p[ ] ; save last; pair last; グループ内で使用するので、 save 命令でイ描隻します。 そして、必要な部分をコピーします。変数 last と p は endgroup enddef ・ begingroup, def arrow (expr pp) を作りましよう。ます、芻を作ります。 このプログラムから必要な部分だけを抜き出してマクロ ントが生成されます ) 。 この点でできたプログラムがリスト 6 です ( 図 5 のフォ p3 = pl rotated -150 shifted 1 t ; p2 = pl rotated 150 shifted 1 ” t ; p0 scaled lpt; dir angle direction infinity 0f pp; p0 = ( 0 , 0 ) ー point infinity 0f pp; pl last UNIX MAGAZINE 1996.2 METAFONT の遊び方 11 リスト 7 矢印を描くマクロ def arrow(expr size , a, pp) begingroup ; save last ; pair last; path p ロ ; p; last = point infinity of pp , ( 0 , 0 ) p0 dir angle direction infinity of pp; pl = pO scaled size; p2 = pl rotated ( 180 ー ( a / 2 ) ) shifted last ; p3 = pl rotated ー ( 180 ー ( a / 2 ) ) shifted last ; pp & p2 & reverse p2 & p3 & reverse p3 endgroup endde f ; リスト 8 矢印マクロを吏ってみる beginchar ( 0 , 10pt#, 10pt#, 0 ) ; path p ロ ; pickup pencircle scaled 0.2pt ; z0 zl z2 z3 z4 pl p2 ( w / 2 , の ; z0{right} .. zl .. z2 ; z2 .. z3 .. 24 ; draw arrow(1pt,60,p1)& arrow(l .5Pt,45,P2) ; endchar ・ 最後に、矢印の角度と大きさを引数として指定できるよ うに書き換えておしまいです ( リスト 7 ) 。最後の行の re- verse は、逆のパスを生成する命令です。つまり、最後の 行は与・えられたパスの終点から、、行って帰って行って帰っ て " を繰り返しているのです。 なぜ最後に帰るのかって ? 恐 Mi の片道切符みたいて怖 いからです。 この矢印マクロを使った例がリスト 8 です。、、行って帰 った " 理由が、これて分かりますね。パスの接続 ( & ) をし たかったからなのです。 ) 帰って ~ ~ いよ ~ ノ 0 ( ーヾン一くン ' ヾン ) ( しらさき・ひろお 大阪大学 ) 139

2. UNIX MAGAZINE 1996年2月号

予算は Keep Low/ 恒例 / 第 3 回謝恩キャンべーン CalI./ ( 3 月 31 日まで全ハードティスク対象 ) しタイプ JT タイプ IGB :73 000 既 WIGJT-I IGB 2GB 4GB 69 ′ 000 円 ◆ ( 税別 ) 89 ′ 000 円 ( 税別 ) ■ 1.08GB 外付け F - SCS ト 2 平均シークタイム 10ms ・ 1.05GB 外付け F - SCS ト 2 ( 1 年保証 ) WIGJT-S:I. 05GB 本製品は IBM 製の 平均シークタイム 9ms ドライプを使用 129 ′ 000 円 ( 税別 ) ー 2. IGB 外付け F - SCS ト 2 W2GJT-S:2.1GB 平均シークタイム 9ms 189 ′ 000 円 ( 税別 ) ■ 4.2GB 外付け F - SCS ト 2 W4GL-S : 42G B 平均シークタイム 9ms MOBILE タイプ T タイプ 高性能 / 高信頼性 & 低価格のプランド fo 「 SPARC, SGI, HP, 旧 Metc ロ大容量 / 高速シリーズ (Sea ate Hawk 内蔵平均シークタイム 9ms ) 価格 ( 税別 ) 保証 型番 1.05G B WIGJT-S 98 , 000 円 ドライフ 5 年、筺体 2 年 W2GJT-S 2. IGB 138 , 000 円 ドライプ 5 年、筺体 2 年 4.2G B W4GL-S 225 , 08 円 ドライプ 5 年、筺体 2 年 W6GS-S 6.3GB 345 , 08 円 ドライフ 5 年、筺体 2 年 ドライプ 5 年、筺体 2 年 435 , 08 円 W8GT-S 8.4GB ロ大容量 / 超高速シリーズ (Sea ate Barracuda 内蔵平均シークタイム 8ms ) 2. IGB 165 , 08 円 ドライプ 5 年、筺体 2 年 W2GL-SB W4GL-SB 4.2GB 255 , 08 円 ドライプ 5 年、筺体 2 年 405 , 08 円 W6GT-S B 6.3GB ドライプ 5 年、筺体 2 年 495 , 08 円 W8GT-SB 8.4G B トライプ 5 年、筺体 2 年 ロ低価格 / 大容量シリーズ ( 5.25 " Sea ate Elite 内蔵平均シークタイム llms ) トライプ 5 年、筺体 2 年 W9G5S-SE 9.09GB 528 , 08 円 W18G5T-SE 18.18GB 998 , 08 円 ドライプ 5 年、筺体 2 年 ロ着脱式ティスクユニッ MOB に E シリーズ″ (Sea ate Hawk 内蔵平均シークタイム 9ms ) 110 , 08 円 WIGMOBILE-S 1.05GB ドライプ、筺体とも 2 年 ( 1. GB 着脱用ティスクバック 1 台付き、ティスクバック単体は . 円 ) W2GMOBlLE-S 2.1 GB 165 , 08 円 トライプ、筺体とも 2 年 ( 2 」 G 日着脱用ティスクバック 1 台付き、ティスクバック単体は 135 旧 ) ロ DAT TAPE 外付けユニット 価格 ( 税別 ) 保証 型番 容 量 8 ~ 16GB 199 , 000 円ドライプ、篋体とも 1 年 WDT-1533A テープ及びクリーニングテープは別途 ロ 8mmTAPE 外付けユニット 7 ~ 35GB WEXB-8505XL 358 000 円ドライプ、筺体とも 1 年 テープ及びクリーニングテープは別途 ロ 6 倍速 CD - ROM 外付けユニット WCDJL-6X 115000 円ドライプ、筺体とも 1 年 SCSI ケープル及びターミネータは標準で付いています。 SPARC station 用にフォーマットされていますが、再フォーマット ヴれは他の WS や PC でも御使用になれます。 SPARC station 用システム管理ツー丿レ「 TOOLMAN VI. 1 」が全ての W シリーズに無償で付いています。 更に特典 ( S 朝 a ⅱ sl. 0.1 / 2.3 以上、 Open Windows 版 ) これさえあれ ば面倒なシステム管理 ( デバイス追加等 ) がワンタッチで OK 。 ■その他周辺機器 : SPARC , SGI 用追加メモリーキット等につきまし てはお問い合わせ下さい。 注 : 記憶容量はフォーマット後です。注 : 価格及び仕様は予告なく変更することかあります。 ※搬入据付調整が必要な場合は別途有料です。 ( 基本技術料金¥ 50.000 ) 遠方の場合は旅費 / 宿泊費を別途請求させていただきます。 ※送料は無料。 ( 但し一部有料の地域がこさいますのでこ確認下さい。 ) ※会社名、商品名は各社の商標または登録商標です。 回株式会社ウすントウ 〒 564 大阪府吹田市豊津町 1-31 ヨシタケヒル 8F TEL : 06-339-8773 FAX ・ 06-339-8774 正社員募集 ( 技術 / 営業職 : 30 歳迄 ) 詳細はお電話でお問い合わせ下さい。 資料請求 No. 039 WindOW lnc

3. UNIX MAGAZINE 1996年2月号

METAFONT の遊び方 11 リスト 3 星を描くプログラム ( その 1 ) 0 ← 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 19 : 20 : mode—setup ; def star (expr z, size, thickness) begingroup p; path p ロ ; (O,1)—-((0,1)rotated ー 36 scaled thickness)——((O,1)rotated ー 72 ) ; pO = pl = pO scaled (size/2) ; p2 = pl rotated ー 72 ; p3 = p2 rotated ー 72 ; p4 = p3 rotated ー 72 ; p5 = p4 rotated ー 72 ; ()l & p2 & p3 & p4 & p5 endgroup enddef ; for cc=l step 1 until 9 : cycle) shifted z beginchar (cc, 10pt#, 10pt#, 0 ) ; pickup pencircle scaled 0.4pt ; drav star( (w/2, れ / 2 ) , 10pt, cc/10); endchar ; endfor ; end; 令を使っていますが、なんとなく分かりますれ 図 3 第 2 和言・ 60 太さ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 フォント ☆ ☆ ☆ 0 0 ←やせすぎ ←要ダイエット 論外 いわゆる犀形 ( ☆ ) にするための太さは 0.38 くらいが 適当なようです。ひさしぶりに連立 2 次方程式などを解い て、 METRFONT プログラムを書くよりも疲れてしまい ました。 第 2 マクロ このマクロの重川乍は、次のように言しましよう。 「最初に座標を定義する。次に、その座標を引数としてパ ス定義マクロを実行すると、その座標の周りに新しいコン トロール・ポイントが定義さ星形になるように配置さ UNIX MAGAZINE 1996.2 72 。 れる。パス生成マクロを実行すると、それらを結ぶパスを 135 クロもそのようにしようというわけです。 2 レや 2 などが自動第勺に定義されましたここで作るマ のサフィックスを指定して実行しました。その結果として、 してください。 penp 。 s 命令の引数も票ではなく、座標 座標 2 のサフィックス ( 添え字 ) を書いていることに注意 第 1 引数にコントロール・ポイントそのものではなく、 star(), 10pt, 0.38 ) ; 義されるようにします。 新しいコントロール・ポイント 21 。から 21J が自重加勺に定 図 3 を見てください。たとえは、次の命令を実行すると、 生成する」

4. UNIX MAGAZINE 1996年2月号

図 2 第 1 案の言・ ( 0 , 0 ) 72 。 このパスを回転させる 半径 1 の円 begingroup く文のリスト〉く式〉 endgroup たとえば、ここでェ = “と仮定します。このとき、次 の式の値はどうなるでしようか。 begingroup x : = x + 1 ; x endgroup + begingroup x : =2x ; x endgroup 簡単ですね。それでは次に進みましよう。 加算するので、引冬的な値は ( 肪十 3 ) になります。 ( 2 佖十 2 ) となります。そして、最初の式と 2 番目の式を です。次のグループではェの値が 2 倍さその結果は なります。グループカ鮗了したときのェの値も十 1 ) まず、最初のグルーフ。か実行さその値は十 1 ) に 星を描く 134 めます。 最初に、図 2 の泉部分のパスをどのように描くかを決 第 1 案のマクロ を書いてみましよう。 どちらもおもしろいトピックを含むので、両方のマクロ で用いられていたガ去です。 は、 1995 年 9 月号て紹介した penpos と penstroke 第 1 案のようにすれば、すぐに星カ甘苗けます。第 2 案 draw starpath( 中心 ) ; star( 中心 , 大きさ , 太さ ) ; 第 2 案 : パスの定義と描画とを分ける draw star( 中心 , 大きさ , 太さ ) ; 第 1 案 . 耐妾パスを返す 最初に、マクロをどのように利用するかを決めます。 定義してみます。 グルーピングの練習として、星の輪郭を求めるマクロを 星の大きさは引数て快めるので、点 A の座標はとりあ えす ( 0 , 1 ) とします。点 B の座標を変化させると、星が 太ったりやせたりします。これはおもしろそうなので、引 数で袂められるようにしましよう。値を、、 0 から 1 のあい だにある " と決めると、座標は次のようにして求めること かできます。点 C もい賺に求めます。 A = ( 0 , 1 ) ; B = ( 0 , 1 ) rotated ー 36 scaled 太さ ; C = ( 0 , 1 ) rotated ー 72 ; これでパスが定義できます。これを pO というパス型の 変数に代入します。 p0 = ( 0 , 1 ) ー ー ( ( 0 , 1 ) rotated ー 36 scaled 太さ ) ー ( ( 0 , 1 ) rotated ー 72 ) ; 次に、このパスを拡大します。マクロの引数には星の直 径をえることにしましよう。 pl = p0 scaled ( 直径 / 2 ) ; あとはこのパスを回転したものを求め、合計 5 つのパス をつなぎます。そこで、次のようなマクロを定義します。 path p[ ] ; begingroup def star (expr 2 , size, thickness p() = ( 0 , 1 ) ーー ((o,l)rotated ー ((0,1)rotated ー 72 ) ; pl = p0 scaled (size/2); p2 = pl rotated ー 72 ; p3 = p2 rotated ー 72 ; p4 = p3 rotated ー 72 ; p5 = p4 rotated ー 72 ; ()l & p2 & p3 & p4 & p5 ー endgroup enddef ・ 最後のパスを連結している行に いのが重要なポイントです。これは、 UNIX MAGAZINE 1996.2 いてみましよう ( リスト 3 ) 。まだ説明していない for 命 このマクロを用いて、ヒトデ ( ? ) が太っていく様子を描 は描画命令になります。 は、、パス " ですから、、、誰か " とはパス型の変数、あるい ループのタ誰かに渡すのです。このグループの言 1 算結果 ミコロンがない行をこのグルーフ。全体の言 t. 算結果としてグ り、グループのなかでごそごそと言 1 算したあと、最後のセ ルーピング」の節て見した機能を利用しています。つま ー 36 scaled thickness) ( セミコロン ) がな 「式のなかで使うグ cycle ) shifted 2

5. UNIX MAGAZINE 1996年2月号

Sun/H 懃 ワークステーション用 拡グモリー ・ SPARC station 5 •SPARC station ELC•IPX 16MB •SPARC station SLC ・ ELC 4M 日 ・ 3 / 60 ・ 3 / 80 ・ SPA 日 C station 1 4M 日 BSPARC serve 「 600MP 64 、 256M 日 •SPARC CENTER 32 ー 256MB BSPARC station 330 ・ 370 ・ 390 82MB •SPARC station 2 ・ 1 ・ 1 十ヨ PC 16MB EPARC station 10 ・ 20 16 、 64MB ・ SPARC classic ・ LX 8 、 32MB 8 、 32MB ・ 4 / 470 ・ 4 / 490 32 、 128MB ■ 4 / 110 16MB ・ 3 / 50 4 、 8MB APOLLO COMPUTER (HP) ■ DN3010A ・ 3500 ・ 3550 ・ 4000 ・ 4500 4 、 8M 日 ■ DN5500 16M 日 ■ HP9000 / 7XX ・ 8XX ・ 9XX ■ HP9000 / 4XX ・ 3XX 4 、 8 、 16 、 32M 日 MACINTOSH ・ NeXT •MAC ・ POWE 日 BOOK ・ QIJADRA •NeXTcube ・ station NEWS •NEWS 721 ・ 1400 ・ 1500 4MB •NEWS 1600 ・ 1700 ・ 3460 4M 日 •NEWS 3260 ・ 3470 16MB SPARC トータルサプライ フルコンバチ / 低価格 / 高信頼 / SSIO / 20 CPIJ モジュールアップグレード Hype 「 SPARC/Supe 「 SPARC SSI , 1 十 , 2 マサーホードアップグレード SS5 / 85 , SS5 / 1 10 同等性能 SPARC station 完全互換機 SPARC CPU アップグレード ノトドティスク及び周辺機器 •SUN/SPARC station 対応ー GB— •MACINTOSH 対応日 ~ ・ SONY/NEWS 対応ー GB— ■ HP9000 / 400 ・ 700 対応ー GB— ◎光磁気 8 側 , DAT バックアップシステム ※記載されている会社名または製品名は、各社の商標または登録商標です - ※アフターケアには万全を期しております : ・お気軽にお問い合せ下さい。 信頼と実績の電子機器商社 Est.1 955 商式 〒 103 東京都中央区日本橋 3 ー 13 ーⅢ油脂工業会館 ) 営業第 2 部担当 / 須賀 TEL ( 03 ) 3274 ー 2433 FAX ( 03 ) 327 ト 8023 資料請求 No. 00C 126 をファイル名の最後に付け加えるだけですが、 DOS で は、、 . fra " の拡張子に変更します。 DOS で使う場合は、図 1 ー d を # でコメントアウトし、逆に 1- e の知直の # を外し てください。 ( 6 ) ハ 2 ・ 09 モード諚 I*TEX 2.09 モードでの重川乍をデフォルトにしたい場合 は、図 l-f の変数に、、 1 " を指定します。 コマンドとマニュアルのインストール ps2frag コマンドをユーサーが使用可能なディレクトリ に、マニュアルページをユーサーが参照可能なディレクト リにインストールします。 % cp ps2frag /usr/local/bin % chmod 755 /usr/10ca1/bin/ps2frag % cp ps2frag.1 /usr/local/man/man 1 使用方法 psfrag には、 2.09 互換モードがあります。た だし、このモードでは EPS ファイルの処理形態や指定の デフォルト値などが異なるのて注意しましよう。 ps2frag コマンドの使用方法 ps2frag コマンドは、引数に EPS ファイル名を指定し て実行します ( 複数のファイル名も指定できます ) 。 % ps2frag example ・ eps ps2frag コマンドは、 GS を使って文字列に関する 情報を抽出します。そして、それを %PSfragBegin と %PSfragEnd の 2 つのコメント行て悃み、 PS のコメント 形式でファイルの麪頁部分に書き込みます ( 図 2 ) 。したが って、 EPS ファイルを更新したら、そのつど ps2frag コ マンドを実行してください。この処理を忘れないように Makefile を利用してもいいでしよう。 ps2frag コマンドでは、次の引数カ甘旨定できます。 -f : すでに ps2frag て処理されたファイルを強制的に再 処理します。 ー 209 : IATEX 2.09 互換モードで動作します。このモード では、 psfrag の処理に必要な情報が別のファイルに書 き出されます。 -2e :IMVfX2E モードで新川乍します。このモードでは、 ps- UNIX MAGAZINE 1996.2

6. UNIX MAGAZINE 1996年2月号

ワークステーションのおと一・ UNIX MAGAZINE 1996.2 ハードディスクは 6 ~ 7 万円ですが、 4GB のハードディ こうなると、投資効率カ墹題になってきます。 2GB の れることになりました。 SPARCstation 5 に 9 台、 NWS ー 5000 に 8 台も接続さ 次々に追加していったところ、 2GB のハードディスクが きます。プロジェクトの要求に応してハードディスクを ハードディスクは約 6 ~ 7 万円 ( ドライプのみ ) で購入で ってきました。 1995 年 12 月の時点で、 2GB の SCSI の急漣な普及により、ハードディスクの価格が急激に下が そもそも : 見できなかったのです。ところが、描丘の PC ですから、大きなファイルシステムがはしいと思っても、 イルサーバーに何台も接続することはできませんでした。 ドディスクはひどく高価 ( たしか 50 万円以 E) で、ファ 4.1.4 ) によるものです。 2 ~ 3 年前までは、 2GB のハー 使用している引・算機の OS (NEWS-OS 4.2 と SunOS 最大でも 2GB という制限は、ファイルサーバーとして するほうカ硬利です。 が、効率を考えると 1 つの大きなファイルシステムを利用 ん、それぞれ別のファイルシステムを使ってもいいのです なり大きなファイルシステムが必要になるのです。もちろ るわけではなく、並行して進められます。したがって、か 要があります。そして、これらの開発も順々におこなわれ 9.0. x と 10. x 、そして SGI の IRIX 5. x などでも動く必 く、最低でも SunOS 4.1. x と Solaris 2. x 、 HP-UX の ア、 1 つの OS の上て動けばそれでいいというわけではな らです。つまり、蜷丘のソフトウェアは 1 つのハードウェ は、マルチ・プラットホームへの対応が当り前になったか 発するソフトウェアが大きくなったからです。もう 1 つ 時代になったものです。原因の 1 つは簡単なことで、開 2GB のファイルシステムか狭いとは、なかなかすごい 近くにまで達している。 2. コリジョンの割合が、昼間のピーク時ではなんと 10 % トには狭い。 1. ファイルシステムが最大 2GB で、大規模なプロジェク ると、次の 2 つの問題点か浮かび上がってきました。 せん。ューザーの声を聞いたりシステムの状況を調べてみ 善にあたっては、ます現状を十分に孑当屋しなければなりま すく高速で、保守しやすいものにすることにしました。改 そこで、システムとネットワークを見直し、より使いや スクは 8 ~ 9 万円で買えるのです。つまり、 2GB のハー ドディスクでは IGB あたり 1 万円の損になってしまい ます。けちな私としては、これはなんとかしなくてはなり ません。 金額以、タ ) 問題もあります。 2GB のハードディスクを 並べると、当然ですが 4GB の倍の台数が必要になります。 となると、壊れるものも 2 倍に増えます。もちろん、ハー ドディスク本体はそれなりに壊れることがありますが、さ らに間題なのは、ケースの電源やファンが壊れやすい点で す。勤務先では、この 1 年で 10 台は壊れているでしょ う。ファンが壊れると、本体か熱でやられてしまう場合も あるので困った問題です。 さいわい、オンライン・バックアッフ用のソフトウェア を使っているので、ファイルか完全に失われてしまう事態 は避けられましたが、いすれにせよ復旧にはかなりの時間 がかかります ( テープから 2GB のデータを戻すのに、半 日はかかります ) 。 最近、私は Solaris 2.5 十 Online DiskSuite 4.0 をファイルサーバーにすることを検討し始めました。 So- laris 2.5 なら、 2GB の壁はありません。さらに、 Online DiskSuite 4.0 を使えば、 RAID 5 をソフトウェアで実 現できます。これなら、ハードディスクの嵂章にも迅速に 対応できるようになります。 新しい OS にすればいいというものではないでしよう が、伏て我慢するより、よい結果カ咄るような気がして います。 おや、締切りの時間が来てしまいました。ネットワーク の話は、次号に回しましよう。 93 ( さかした・しゅう ASTEC)

7. UNIX MAGAZINE 1996年2月号

連載 /lnside DVI → PS 図 1 ps2frag 彦正 # Set $platform to your system type. Use ALL CAPITALS. $platform = 'UNIX' ・ # Va1id choices are : UNIX DOS (a) # You _may— vant to hard—code these values , but if $platform is # set properly it i11 be unnecessary. write to. ln UNIX, ) $ $ ' is replaced by the process ID. tmpname the name Of a temporary file that PSfrag can read or PATHSEP the character used to separate elements in your PATH. the name Of the GhostScript program ・ GS if DIRSEP the directory separator. ( $platform eq 'UNIX' ) { $GS = gs $PATHSEP = , ・ , ・ $tmpname = 'ps2frag. $ $ $DIRSEP elsif ( $platform eq 'DOS' ) { $GS = ' gS386. exe $PATHSEP = , ・ , $tmpname = ' ps2frag ・ tmp' ; $DIRSEP = (b) } else { # The default location of the PS2FRAG file . The environment die "Unknown platform: $platform (should be 'UNIX' or 'DOS')\n" # variable PS2FRAG i11 override this value . $PS2FRAG = ' /usr/10ca1/1ib/texmf/dvips/ps2frag. ps ' ← (c) # Choose the way you would LaTeX-2.09—sty1e psfrag files to be # named by uncommenting the appropriate line . sub fragfile { (e) (d) example ・ eps ーー > example. frag ()r example. fra for DOS) . = 'frag example. eps ー > example. epsfrag (will not work for DOS! ) local($-) # If you want ps2frag to run in LaTeX—2.09 mode by default , # change the value 0f $ m0de209 t0 ' 1 ) $ m0de209 = 0 ; (f) # This line 100kS at the name under which the program was run ・ # If it is 'ps2psfrag' , it assumes that LaTeX-2.09 compatibility # is desired , since that was the 01d name used on UNIX . Comment # this out if you don't want it . $ m0de209 1 if $platform eq 'UNIX' & & $ 0 /ps2psfrag/ ; 定されていますが、 PerI 5 でも問題なく処理できるよう です。 Perl は、 prep.ai.mit.edu をはしめとする各地の GNU ソフトウェア配伺サイトから入手できます。 archie などて探して、できるだけ近い戸励、ら入手してください。 (2)UNIX/DOS のキ諚 この連載を読んでいる人の大半は UNIX のユーサーだ と思います。この部分は、デフォルトで UNIX 用と指定 されているので通常は修正は不要です。ただし、 DOS で も使いたい場合は図 l-a の部分を修正してください。 (3)GS の指定 UNIX MAGAZINE 1996.2 使用する GS のコマンド名を詩ヾます。名前が gs 以外 に変更されている場合は、変数 $GS に正しいコマンド名 を設定します ( 図 l-b)o (4)ps2frag. ps の諚 ps2frag. ps をインストールしたパスを石忍します。デ フォルトの設定と異なる場合は、変数 $PS2FRAG を正し いパス名に書き換えます ( 図 l-c)o ( 5 ) ファイル拡好の指定 い TEX2.09 スタイルの ps 仕 ag ファイル名は、 EPS フ ァイルの名前をもとに生成されます。 UNIX では、、 frag" 125

8. UNIX MAGAZINE 1996年2月号

立 ewS ・ 2 / 1996 •HP おもな特徴は以下のとおり。 1 ) CPU は、 C100 が PA ー 7200 ( 100MHz ) 、 C110 が PA ー 7200 (120MHz) 2 ) 主記億は 32MB ( 最大 512MB ) 3 ) HD は 2GB ( 最大 6GB) 4 ) OS は HP—UX 9.05 / 07 、 10.01 以上 5) 外形寸法 (HXWXD) は 13.8X54X 44.7cm 、重量は 16.7kg 価格は、 C100 が 314 万 7 , 000 円、 C110 が 371 万 7 , 000 円。 デスクトップ WS 日本ヒューレット・パッカード (Tel ワークステーションクの「モデル C100 」 と「同 C110 」の販売を開始した。 、、 HP 9000 C クラス・ 0120 ー 081565 ) は、 ◆おもな仕様 C P U キャッシュ ( 命令 / データ ) SPECint92 S PECfp92 主記憶 H D グラフィックス スロット C100 C110 PA -7200 ( 100MHz ) PA -7200 ( 120MHz) 256 / 256KB 140 224 167 269 32MB ( 最大 512MB ) 2GB ( 最大 6GB) Artist 、 HCRX-8/24/8Z 、 VISUALIZE-8/24/48 EISA X 3 、 GSC x 4 SCSI-2 、 F/W/D SCSI-2 、 RS232C 、 セントロニクス、オーディオ HP-UX 9.05 / 07 、 10.01 以上 1 , 280 X 1 , 024 、 17/20inch 13.8 X 54 X 44.7cm 16.7kg ディスプレイ 外形寸法 (H x W x D) 重量 PA-7200 使用の HITACHI 9000V シリーズ イ第一 - にニをにをりに物こ 0 な強に 4 1 鑿ー談ーー強 ! ま 7 多 0 80MHz 、 100S—Tiny が 100MHz 3 ) 主記憶は 32MB ( 最大 128MB ) 4 ) HD は IGB ( 最大 2GB) 5 ) 標準で PC 互換内蔵 FDD 6 ) I/F は、シリアル ><2 、パラレル、 Eth- ernet 、 SCSI—2 7 ) オプションで、拡張スロット EISA/ ISA か CD—ROM 8 ) 解像度は 1 , 024X 768 / 1 , 280X 1 , 024 で、 256 色表示。 2D/3D グラフィックス・ア クセラレータをもっ 9 ) OS は HP—UX 9.0 / 10.0 10 ) HP—UX の追加ソフトウェアとして 日立付加機構を添付 価格は、主記憶 32MB 、 IGB HD 、 15 inch カラ—CRT 、キーポード、マウスで、 日立製作所 (TeI 03 ー 3763 ー 2411 ) は、 を追加し、販売を開始した。 、、 HITACHI 9000V シリーズ〃に小型デ おもな特徴は以下のとおり。 スクトップ 2 機種「 V715 / 80S ー Tiny 」 ◆ V715 / 80S ー Tiny 、同 100S—Tiny 「同 100S—Tiny 」と、 PA ー 7200 を使用し 1 ) 従来機よりイ料責で約 25 % 小型化 たハイエンド 2 機種「 VJ100 」「 VJ110 」 2 ) CPU は PA—7100LC で、 80S—Tiny が ◆おもな仕様 モデル V715/80S-Tiny V715 / 100S - Ti Ⅱ y C P U PA-7100LC クロック周波数 80MHz 100MHz キャッシュメモリ ( 命令 / データ ) M Flops SPECint92 SPECfp92 主記憶 ( 最大 ) 内蔵 HD ( 最大 ) 内蔵リムーバブル装置 VJ110 120MHz VJ100 100M Hz PA -7200 256 / 256KB 128 / 128KB 27 97 34 117 144 57 168 269 40 139 222 123 128MB ( 512MB ) 2GB(6GB) FDD 、 CD-ROM 、 DAT シリアル X 2 、ノヾラレノレ Ethernet( 10B ” e5 / T ) SCSI-2 x 2 、 16bit オーディオ EISA x 3 、 ISA X 3 1 , 280 x 1 , 024 ( 256 色 ) 17inch カラー 13.8 X 54 X 48.3cm 21. lkg ( 最大構成 ) 32MB ( 128MB ) 1GB(2GB) FDD シリアル X 2 、ノヾラレノレ Ethernet( 10Base-T) SCSI-2 、 16bit オーディオ EISA/ISA ( もしくは CD-ROM) 1 , 024 X 768 、 1 , 280 X 1 , 024 ( 256 色 ) 15/17inch カラー 26 X 7.2 X 35cm 5.5kg ( 標準構成 ) 拡張スロット グラフィックス C R T 外形寸法 (H x W x D) 重量 1 UNIX MAGAZINE 1996.2

9. UNIX MAGAZINE 1996年2月号

連載 /PERL ADVISOR ー① pr int $max ; $max = $F [ 2 ] if $max く $F [ 2 ] ; @F = split / : / ; chop ; 関数 open() は、読込みのためにオープンした /etc/ open (PASSWD , "ypcat passwd い ) ; # ! /usr/bin/perl 修正すればよい。 NIS を使っている場合は、次のようにほんの数文字を passwd を指すファイルハンドルを作る。 96 外する必要がある。 $F [ 2 ] が閾値 ( たとえは 30000 ) を そこで、最刻直の計算から一定の閾値を超えるものを除 は nobody というューサー ID があるにちがいない。 のような結果がたて続けに出力されたら、そのシステムに 号をもつ nobody と呼はれるユーザー ID がある。 65535 OS のような ) システムには、極端に大きなユーサー ID 番 実行してみれば分かるが、 ( 私がテストに使った sun- 正しい番号をみつけることかできる。 適切なコマンドに引数として渡せば、正しい番号か、ほば ( バッククオート ) て括り、 たら、このスクリプトを、、 トリに置けばいい。新しいユーサー ID 番号が必要になっ ビットを立てて、コマンド検索パスに含まれるディレク このスクリプトをファイルに保存し、ファイルの実行 print $max + 1 ; $max = $F [ 2 ] if $max く $F [ 2 ] ; @F = spl it / : / ; chop ; while ( く PASSWD>) { open(PASSWD , "/etc/passwd" ) ; # ! /usr/bin/perl る。そこで、 print 文をループの外に移動させる。 しいのは、表示された最後の番号より 1 つ大きい番号であ ューサー ID 番号を連続して出力する。しかし、本当にほ これらのプログラムは、それまでにみつかった最大の きに用いたパイプを連想させる。 分かる。これは、このプログラムのコマンド行版を書くと コマンドからの出力であることは、そのあとに続く、、にで イルであるかのように扱ってくれる。ファイル名ではなく 都合のいいことに、 perl はコマンドからの出力をファ 超えたら、 $max に代入しないようにしなけれはならない。 したがって、 if 文はもうすこし複雑になる。 # ! /usr/bin/perl open (PASSWD , "/etc/passwd" ) ; while ( く PASSWD>) { chop ; @F = split / : / ; $max = $F [ 2 ] if $F [ 2 ] く 30000 and $max く $F [ 2 ] ; print $max + 1 ; こまでくるのにだいぶ手間どったが、できたコードは わすか 10 行に収まっている。長くなってもいいのなら、 コマンド行から実行する形式に戻すこともできる。 perl -aF: -lne '$m = $F[2] if $F[2] く 30000 and $m く $F[2] ; END { print $m + 1 } ' /etc/passwd このコードの気ガ利いている点は、上のスクリプトでお こなっているループとそれか終了したあとの処理を、一Ⅱ スイッチと END 文でうまく実行しているところだ。 PerI についての情報の入手先 USENET のニュースグループ comp. lang. perl には、 Larry Wall ( と私 ) を含む PerI のべテランたちが頻繁に 参加している (FAQ も定期的に投稿されているので参考 にするといい ) 。 USENET に簡単にアクセスできない人 は、 perl-users-request@virginia.edu に電子メールを 送り、メーリングリストへの参加を申し込もう。 17 年以止にわたってコンピュータ・サイエンスにかかわり、全米各地で、 UNIX のコンサルティングや Perl に関する砂幵をおこなっている。著書 に fLearning PerlJ ( 邦訳 : 藤嘉雪・訳「ネノ ) ての perIJ ソフレヾン ク ) 、 CProgramming perlJ (Larry wall との共著。邦訳 : 丘藤嘉 雪訳 rperl プログラミンみソフトバンク ) がある。 perl や UNIX に関 する質間やコメントは、 http://www.teleport ・ com/-merlyn/で受 け付けている。 「 SimpIe Perl Basics 」 UNIX REVIEW 1995 年 3 月号より ◎ 1995 , UNIX REVIEW (). S. A. ) ■ Randal L. Schwartz UNIX MAGAZINE 1996.2

10. UNIX MAGAZINE 1996年2月号

連載 /lnside DVI → PS—@ 日本語 PostScript キットを使った dvips が適当でしょ う。 dvi2ps-j や jdvi2kps では問題があるようです。そ こで、今回は dvips を使って説明します。 ・ Ghostscript (GS) ps2frag スクリプトのなかで GS を使用しています。 GS については、この連載でも何回か説明したので、 こでは触れません。 インストール方法 psfrag のインストールの手順について説明します。 マニュアルの印刷 ます、配布に含まれるマニュアルを印刷します。 IMbX で書かれたマニュアル pfgguide. tex と、 UNIX のオンライン・マニュアル psfrag. 1 があります。すで に pfgguide. tex を dvips で変換した PS ファイル pfguide. ps も用意されているので、インストールして IMbX て処理できるようにしなくても、この PS ファイ ルを印刷するだけですみます。 ファイルの展開 psfrag で I*TEX 側に必喫なファイルは、 psfrag ・ ins と いうファイルにまとめられています。これを、次のように して IMVfX で処理すると docstrip ユーティリテイか起 動さオ psfrag ・ sty と epsf. sty 、 ps2frag ・ ps の 3 つ のファイルに展開されます。 % latex psfrag. ins このうち、 epsf. sty は従来の dvips 用 epsf. sty を置き 換えるためのものですが、内部で epsfig. sty をロードし ているだけです。 上のコマンドを実行すると次のように訊かれますが、 UNIX で利用する場合はファイル拡張子の制約がないの で、、 y " と入力します。 Can your system recognize 10ng fi1e names? Specifica11y, can it handle file extensions Of more than three letters? (Unix can, MS- DOS cannot. ) P1ease answer 'y' for yes and for no below . \answer=y このあとで生成される psfrag. log というログファイル はイなので、消してください。 124 アスキー日本語び 3.1415 p2.1.4 新しいアスキー日本語 ' IbX がリリースされました。 これまでのアスキー日本語 ' I は、旧バージョンの rIbX をもとに作られていたので、 rIbX 3.0 以降をベースとした IATEX % の日本言当ヒは困難でした。今回、 3.1415 にも とづいた prIVfX 2.1 が ( 徊友されました。 これで、ようやくアスキー日本語 ' I でも I*TEX2E が 使えるようになりました。同時に、 I を日本言群ヒした ÅBTEX2E もリリースされています。 ただし、今回から prIbX のみのリリースになり、横組専用の 日本語 rIbX はサポートされないことになりました。なお、今 回は日本言群ヒの基本的部分に大きな変更はありません。 ひさびさの大幅なバージョンアップとあって、まだバグカヾ替 んでいるようで、ネットニュースな当ンヾグ情報がときどき流 れています。このバージョンに移行する人は、しばらくのあい だは重要な情報を見逃さないように注意しましよう。 アスキー日本語 ' IbX 窈青報は次の URL から入手できます。 これも、、チェックするとよいでしよう。 http://www.ascii.co ・ jp/pb/ptex/index. html マクロファイルのインストール 展開された psfrag. sty と epsf. sty を I*TFfX のマクロ ファイル用ディレクトリにインストールします。 PS ファイルのインストール PS ファイル ps2frag. ps を、 d ⅵ p 引里のファイルか、 収められているディレクトリ ( たとえは、 /usr/local/lib /texmf/dvips) にインストールします。 ps2frag の修正 Perl スクリプト ps2frag を、自分の竟に合わせて修 正します。ただし、 UNIX システムを利用していて、コマ ンドやマクロをデフォルトのディレクトリにインストール している場合は、はとんど修正する必要はありません。 (l)perl ディレクトリ認 perl コマンドの置かれているディレクトリは、 ps2frag スクリプトの知頁の行で指定されています。 # ! /usr/local/bin/perl perl のインストールされているディレクトリが上に示 した場所と違うときは修正します。 perl がインストールされていないのなら、インストー ルしてください。マニュアルには Perl 4 を使うように指 UNIX MAGAZINE 1996.2