Linux その6 伊藤敏 先月お約束をしたghostscriptのメイクをしましょう.なお,ghostscripの実行ファイルは'gs'と言います. 自分のディレクトリにexports と言うディレクトリを作ります.ここで,いろいろなプログラムをメイクします. % cd <- 自分のホームディレクトリのトップ(/home/itou)に戻る % mkdir exports % cd exports ghostscriptのメイクを行うディレクトリghostを作ります. % mkdir ghost % cd ghost 以下の必要なファイルをコピーします. ghostscript-2.6.1.tar.gz ghostscript-2.6.1.fix-01.gz ghostscript-2.6.1.fix-02.gz ghostscript-2.6.1.fix-03.gz ghostscript-2.6.1.fix-04.gz gs261j10.tar.gz jgs261Plx.diff.gz 始めにghostscript-2.6.1.tar.gzの展開をし,作られたディレクトリ gs261に移ります. % tar zxvf ghostscript-2.6.1.tar.gz % cd gs261 パッチをあてます. % zcat ../ghostscript-2.6.1.fix-01.gz | patch -s % zcat ../ghostscript-2.6.1.fix-02.gz | patch -s % zcat ../ghostscript-2.6.1.fix-03.gz | patch -s % zcat ../ghostscript-2.6.1.fix-04.gz | patch -s 日本語用のパッチをファイルを展開して,パッチをあてます. % tar zxvf ../gs261j10.tar.gz % patch -p0 < gs261j.diff Linux用のパッチをあてます. % zcat ../jgs261Plx.diff.gz | patch -p1 これで,パッチ関係は全て当てました.ここから,メークする詳しい方法はgs261j.eucに日本語で書いてあります.参考にして下さい.組み込むプリンタドライバのセットをします.ここでは,キャノンのBJ10とLaser Shot,NECのPR201を組み付けます.詳しくはgs261(現ディレクトリ)の下にdriversと言うディレクトリがあり,その下に各プリンタのドライバソフトがあります.その中の解説を参照して下さい.BJ10はgdev10v,Laser Shotはgdevlips,PR201はgdevp201です. メークするファイルをコピーします. # cp unix-gcc.mak Makefile BJ10の設定用のファイルを現ディレクトリにコピーし,Makefileへ追加します. # cp drivers/gdev10v/gdev10v.c . # cat drivers/gdev10v/gdev10v.mak >> Makefile PR201用のファイルを現ディレクトリにコピーし,Makefileへ追加します. # cp drivers/gdevp201/gdevp201.c . # cat drivers/gdevp201/gdevp201.mak >> Makefile Laser Shot用のファイル現ディレクトリにコピーし,Makefileへ追加します. # cp drivers/gdevlips/gdevlips.c . # cp drivers/gdevlips/gdevxprn.c . # cp drivers/gdevlips/gdevxprn.h . # cp drivers/gdevlips/gdevpsiz.c . # cat drivers/gdevlips/gdevlips.mak >> Makefile Makefileの一部(約116行目から127行目まで)をリスト1のように編集します. *** リスト1 Makefileの修正 116行目から # Choose the language feature(s) to include. See gs.mak for details. FEATURE_DEVS=filter.dev dps.dev level2.dev kanji.dev \ kfpcf.dev kfzeit.dev kfztbez.dev kfvflib.dev <- kfvflib.dev を追加 # Choose the device(s) to include. See devs.mak for details. DEVICE_DEVS=x11.dev linux.dev pr201.dev bj10v.dev bj10vh.dev lips.dev lips2.devlips3.dev DEVICE_DEVS7=pcxmono.dev pcxgray.dev pcx16.dev pcx256.dev tiffg3.dev DEVICE_DEVS8=bmpmono.dev bmp16.dev bmp256.dev bmp16m.dev gifmono.dev gif8.dev DEVICE_DEVS9=pbm.dev pbmraw.dev pgm.dev pgmraw.dev ppm.dev ppmraw.dev bit.dev 途中略 ファイルの終りの方のPC98関係 ### ----------------- The NEC PC-PR201 printer device ----------------- ### pr201_=gdevp201.$(OBJ) gdevprn.$(OBJ) pr201.dev: $(pr201_) $(SHP)gssetdev pr201 $(pr201_) gdevp201.$(OBJ): gdevp201.c $(PDEVH) # $(CCC) -DPC9801 gdevp201.c <- ここをコメントにする(行頭に#を付ける) *** リスト1 終り ******************************* ここでは,プリンタドライバの他に画像ドライバもたくさん付け加えました. ではメークしましょう. % make 10分から15分待つとコンパイルが終了します. % ls -l gs とするとgsが出来ているはずです.インストールをする時にはルートの権限で行わなければなりません.ここで,必ずrootに成っておきましょう.出来上がった gs という実行ファイルを /usr/local/binの下にinstallします. # strip gs <- デッバグ情報を切捨ててスリムにする # cp gs /usr/local/bin/. コンソール画面でもgsが使えるようにpermission(実行権)の設定をします。 # chmod u+s /usr/local/bin/gs つぎに,日本語フォントの設定をします。 # cd /usr/local/lib/ghostscript/kanji # rm -rf kconfig.ps # ln -s pcf.ps kconfig.ps さて,きちんと日本語が表示できるかどうか試しましょう. # gs article9.ps これで,日本国憲法第9条の前文が新しくオープンしたウインドウに表示されたでしょうか.ここではx11用のフォント(pcf)を用いております.期待した程美しくありません.そこで,もうすこし綺麗なフォントを使うことにします.現状ではハードディスク上にMS-Windowsと共存しているはずです.そこで,MS-WindowsのTrue Typeフォントを使う設定をしましょう.ハードディスクの節約にはなります.出来ればツァイトの書体クラブフォントを購入して,セットするのが一番綺麗かも知れません.DOS,MS-Windowsの領域へのアクセスは先月に述べたように,/etc/fstab で指定することにより,起動時からマウントされます./dos/cにMS-Windowsがインストールされている領域がマウントされているとして話を進めます. msmincho.ttfとmsgothic.ttfをgsのフォントとして設定します.フォントを置くディレクトリTrueTypeを作ります. # mkdir /usr/share/fonts/TrueType MS-Windowsのmsmincho.ttfとmsgothic.ttfからシンボリックリンクを張ります. # ln -s /dos/c/windows/system/msmincho.ttf /usr/share/fonts/TrueType # ln -s /dos/c/windows/system/msgothic.ttf /usr/share/fonts/TrueType フォントとして使えるように設定 # cd /usr/share/fonts/TrueType # ttindex msmincho.ttf # ttindex msgothic.ttf # chmod -R a+r /usr/share/fonts/TrueType gs側の設定 # cd /usr/local/lib/ghostscript/kanji # rm kconfig.ps # ln -s vflib.ps kconfig.ps つぎに/usr/etcにあるvfontcapファイルをリスト2の様に変更します. # cd /usr/etc # cp vfontcap vfontcap.orig ********* list 2 ******* start ******* リスト1 gsでMS-Windowsのtruetype フォントを使う /usr/etc/vfontcap #### #### PRIMITIVE FONTS #### ### SONY VECTOR FONTS r_sony_mincho|Sony Vector Font (Mincho):\ :ft=sony:\ :ff=/usr/local/font/devnwp533/Mincho.vfont: r_sony_gothic|Sony Vector Font (Gothic):\ :ft=sony:\ :ff=/usr/local/font/devnwp533/Gothic.vfont: ### ZEIT "SYOTAI CLUB" FONTS r_zeit_mincho|Zeit "SYOTAI CLUB" Vector Font (Mincho):\ :ft=zeit:\ :ff=/usr/share/fonts/zeit/mincho: r_zeit_gothic|Zeit "SYOTAI CLUB" Vector Font (gothic):\ :ft=zeit:\ :ff=/usr/share/fonts/zeit/gothic: r_zeit_gothicMH|Zeit "SYOTAI CLUB" Vector Font (maru gothic H):\ :ft=zeit:\ :ff=/usr/share/fonts/zeit/asiya24: r_zeit_textbook|Zeit "SYOTAI CLUB" Vector Font (textbook):\ :ft=zeit:\ :ff=/usr/local/font/syotai_club/aska: ### WATANABE FONT IN "SYOTAI CLUB" FORMAT r_watanabe_mincho|Watanabe "SYOTAI CLUB" Vector Font (mincho):\ :ft=zeit:\ :ff=/usr/share/fonts/zeit/mincho: ### ZEIT "JG FONT" r_jg_textbook|Zeit "JG FONT" Vector Font (textbook):\ :ft=jg:\ :ff=/usr/local/font/jg_font/zkyo0by: r_jg_mouhitsu|Zeit "JG FONT" Vector Font (mouhitsu):\ :ft=jg:\ :ff=/usr/local/font/jg_font/zmou0by: ### MS-Windows 3.1 True Type fonts <- 追加 r_ms_mincho|MS-Windows 3.1 TrueType Font (Mincho) :\ <- 追加 :ft=truetype:\ <- 追加 :ff=/usr/share/fonts/TrueType/msmincho: <- 追加 r_ms_gothic|MS-Windows 3.1 TrueType Font (Gothic) :\ <- 追加 :ft=truetype:\ <- 追加 :ff=/usr/share/fonts/TrueType/msgothic: <- 追加 ### ### CORRECTED ### ms_mincho:\ <- 追加 :fc=r_ms_mincho: <- 追加 ms_gothic:\ <- 追加 :fc=r_ms_gothic: <- 追加 sony_mincho:\ :fc=r_sony_mincho: sony_gothic:\ :fc=r_sony_gothic: zeit_mincho:\ :ox#10:oy#-5:fx#105:fy#105:\ :fc=r_zeit_mincho: zeit_gothic:\ :ox#20:oy#0:fx#105:fy#108:\ :fc=r_zeit_gothic: zeit_gothicMH:\ :ox#10:yo#10:fx#105:fy#103:\ :fc=r_zeit_gothicMH: zeit_textbook:\ :ox#20:oy#-10:fx#108:fy#105:\ :fc=r_zeit_textbook: watanabe_mincho:\ :ox#5:oy#0:fx#116:fy#117:\ :fc=r_watanabe_mincho: jg_textbook:\ :ox#60:oy#40:fx#108:fy#108:\ :fc=r_jg_textbook: jg_mouhitsu:\ :ox#70:oy#50:fx#107:fy#115:\ :fc=r_jg_mouhitsu: #### #### COMPOUND FONTS #### comic|Kanji is Gothic, kana is mincho; Used in comics:\ :ft=compound:\ :kj=ztgoth:kn=ztmin:sy=ztmin: ### ### BIT OPERATION FONTS ### minstar:\ :ft=bitop:\ :op=LDSBS217aXDDS:fo=min:sf=min: ### ALIASES #min:\ # :fc=sony_mincho: #goth:\ # :fc=sony_gothic: #ztmin:\ # :fc=zeit_mincho: #ztgoth:\ # :fc=zeit_gothic: #ztmgo:\ # :fc=zeit_gothicMH: #zttxt:\ # :fc=zeit_textbook: #wmin:\ # :fc=watanabe_mincho: #jgtxt:\ # :fc=jg_textbook: #goth:\ # :fc=zeit_gothicMH: #min:\ # :fc=zeit_mincho: goth:\ <- 変更 ** :fc=ms_gothic: <- 変更 ** min:\ <- 変更 ** :fc=ms_mincho: <- 変更 ** ### FLAVORED FONTS minsl:\ :sl#10:fc=min: minfr:\ :th:fr:fc=min: gothsl:\ :sl#10:fc=goth: gothfr:\ :th:fr:fc=goth: ztgothsl:\ :sl#10:fc=ztgoth: ztgothfr:\ :fr:fc=ztgoth: ztgothrv:\ :rv:fc=ztgoth: ztgothro:\ :ro#1:fc=ztgoth: zttxtth:\ :th:fc=zttxt: zttxtsl:\ :sl#10:fc=zttxt: jgtxtsl:\ :sl#10:fc=jgtxt: jgtxtrv:\ :rv:fc=jgtxt: ## ## FOR VFLIB TESTING ## # SONY FONT TEST-SONY: :fc=sony_mincho: TEST-SONY-slR: :sl#10:fc=sony_mincho: TEST-SONY-slL: :sl#-10:fc=sony_mincho: TEST-SONY-fr: :fr:fc=sony_mincho: TEST-SONY-rx: :rx:fc=sony_mincho: TEST-SONY-ry: :ry:fc=sony_mincho: TEST-SONY-rv: :rv:fc=sony_mincho: TEST-SONY-roI: :ro#1:fc=sony_mincho: TEST-SONY-roII: :ro#2:fc=sony_mincho: TEST-SONY-roIII::ro#3:fc=sony_mincho: # SYOTAI-CLUB FONT TEST-ZEIT: :fc=zeit_mincho: TEST-ZEIT-slR: :sl#10:fc=zeit_mincho: TEST-ZEIT-slL: :sl#-10:fc=zeit_mincho: TEST-ZEIT-fr: :fr:fc=zeit_mincho: TEST-ZEIT-rx: :rx:fc=zeit_mincho: TEST-ZEIT-ry: :ry:fc=zeit_mincho: TEST-ZEIT-rv: :rv:fc=zeit_mincho: TEST-ZEIT-roI: :ro#1:fc=zeit_mincho: TEST-ZEIT-roII: :ro#2:fc=zeit_mincho: TEST-ZEIT-roIII::ro#3:fc=zeit_mincho: # JG FONT TEST-JG: :fc=jg_textbook: TEST-JG-slR: :sl#10:fc=jg_textbook: TEST-JG-slL: :sl#-10:fc=jg_textbook: TEST-JG-fr: :fr:fc=jg_textbook: TEST-JG-rx: :rx:fc=jg_textbook: TEST-JG-ry: :ry:fc=jg_textbook: TEST-JG-rv: :rv:fc=jg_textbook: TEST-JG-roI: :ro#1:fc=jg_textbook: TEST-JG-roII: :ro#2:fc=jg_textbook: TEST-JG-roIII: :ro#3:fc=jg_textbook: # TRUETYPE FONT TEST-TT: :fc=tt_mincho: TEST-TT-slR: :sl#10:fc=TT_mincho: TEST-TT-slL: :sl#-10:fc=tt_mincho: TEST-TT-fr: :fr:fc=tt_mincho: TEST-TT-rx: :rx:fc=tt_mincho: TEST-TT-ry: :ry:fc=tt_mincho: TEST-TT-rv: :rv:fc=tt_mincho: TEST-TT-roI: :ro#1:fc=tt_mincho: TEST-TT-roII: :ro#2:fc=tt_mincho: TEST-TT-roIII: :ro#3:fc=tt_mincho: ************ リスト2 ****** end *********** 新しい,JEのvfontcapは「変更 **」の部分だけ変えるだけで済みます.さて,これで設定は終りです.rootからlogoutをしてgsのヘルプを表示させます. % gs -h としてください. 図1のようにx11の他にpr201やbj10v等が組み込まれているのが表示されるはずです. *** 図1 ghostscriptの組み込みドライバとヘルプ Ghostscript version 2.6.1 (5/28/93) Copyright (C) 1990-1993 Aladdin Enterprises, Menlo Park, CA. Usage: gs [switches] [file1.ps file2.ps ...] Available devices: x11 linux pr201 bj10v bj10vh lips lips2 lips3 pcxmono pcxgray pcx16 pcx256 tiffg3 bmpmono bmp16 bmp256 bmp16m gifmono gif8 pbm pbmraw pgm pgmraw ppm ppmraw bit Most frequently used switches: (you can use # in place of =) @ treat file like part of the command line (to get around DOS command line limit) -d[=] define name as token, or null if no token given -f read this file even if its name begins with - or @ -gx set width and height (`geometry'), in pixels -I add prefix to search path -q `quiet' mode, suppress most messages -r set resolution, in pixels per inch -s= define name as string -sDEVICE= select initial device -sOutputFile= select output file: embed %d for page #, - means stdout, use |command to pipe `-' alone as a file name means read from stdin non-interactively. For more complete information, please read the use.doc file. ********* figure 1 end ********** では % gs article9.ps として見ましょう.いかがですが,からからとハードディスクの音がして,先程見た憲法の前文がきれいなフォントで表示さるはずです. 早速PR201に印刷をして見ましょう. % gs -sDEVICE=pr201 -sOutPutFile=/dev/lp1 article9.ps BJ10Vへ印刷の場合は'pr201'を'bj10v'に変更します. 美しいカラーの tiger.psやモノクロのgolfer.psなどのポストスクリプトファイルのサンプルファイルが /usr/local/lib/ghostscript/examples ディレクトリにあります.今回紹介のプリンタドライバはカラーには対応しておりませんが,キャノンのbjシリーズやエプソンのmj-700C,さらにヒューレトパッカードのdj560jなどのカラープリンタに対応したドライバが有志の手で作られ発表されています.今回紹介したpr201やbj10vを組み込む方法でメイクをし直すことでカラープリンタにも対応することが出来ます. さて,上で書いた方法ではgsで印刷中はktermがgsの印刷で独占されています.そこで,先月紹介したテキストファイルの印刷と同じようにプリンタデーモンに印刷を任せましょう./etc/printcapにリスト3の内容を追加します.suでrootになって ***** list 3 ***** リスト3 /etc/printcapへの追加 ps|pspr|psp2|pspr201|psp201:\ :lp=/dev/lp1:\ :sd=/usr/spool/lp1:sh:\ :if=/usr/local/bin/pspr201-filter: ******* list 3 end *********** そして, /etc/printcap の中で指定した/usr/local/bin/pspr201-filterを作ります./usr/local/bin/pspr201-filter にリスト4を打ち込みます. ***** list 4 ******** start ****** リスト2 /usr/local/bin/pspr201-filteフィルタ #!/bin/sh /usr/local/bin/gs -q -sSAFER -sDEVICE=pr201 -dNOPAUSE -SOutputFile=- - ****** list 4 ******* end ****** さらに, /usr/local/bin/pspr201-filter に実行属性を付けておきます. # chmod +x /usr/local/bin/pspr201-filter rootからlogoutしたら, % lpr -Pps /usr/local/lib/ghostscript/examples/tiger.ps とタイプして見て下さい.虎の見事な絵がバックグランドで印刷されるはずです.皆さんの使っているプリンタがPR201でない場合は,リスト2の -sDEVICE=pr201 のpr201の部分を変更して下さい. これで,ポストスクリプトファイルがDOS,MS-Windowsで普通に使っているプリンタに印刷できるようになりました.そこで,先月のexample.texを印刷しましょう.すでに,example.dviファイルは出来上がっていますから,このdviファイルをポストスクリプトファイルに変換します.JEをインストールするとjdvi2kpsと言うファイル名(dviファイルからpsファイルを作る)から内容が想像できるプログラムが入っております.そこで % jdvi2kps example.dvi > example.ps [/usr/local/lib/tex/jdvi2.ps][1] [2] とします.表示から,2ページ出力されたことが分かります.これで,example.psをgsを使って印刷できます. % lpr -Pps example.ps jdvi2kpsはいろいろなオプションを持っており,man jdvi2kpsとすることによりオプションや機能が日本語で表示されます.主なオプションを表1に示します. ************ Table 1 ****** start **** ** 表1 jdvi2kpsのオプション -f 開始ページの指定 -t 終了ページの指定 -pe 偶数ページのみ出力 -po 奇数ページのみ出力 (-pe,-poの組合せにより両面印刷が可能) -l 出力を横長に (texファイルの中でlandscapを指定した時利用) -d 解像度の指定 -mirror 鏡像の出力 ******* Table 1 ****** end ********* では,普通の文章だけのテキストファイル(プレーンテキストと呼ばれる)をそれなりに綺麗に印刷するには,わざわざTeXで文章を作らなければならないのでしょうか?実は大変便利なプログラムが存在します.plain2と言うソフトです.プレーンテキストからTeX用のファイルに変換をしてくれます.リスト5のファイルをplain2test.txtとして作りましょう. *********** list 5 **** start ******* リスト5 plain2のテスト用ファイル plain2test.txt テスト用ファイル これはプレーンテキストをTeX用のファイルに変換するplain2のテスト用ファイルです.大変便利です.筆者がまだTeXのコマンドが良く分からない時代には大変重宝しました. ********* list 5 end ******** これを,TeXに変換します. % plain2 -tex plain2test.txt > plain2test.tex plain2test.texの中身はリスト6の様に変換されております. ********* list 6 ******* start ******** リスト4 plain2による変換例 plain2test.tex \documentstyle[12pt]{jarticle} \setcounter{secnumdepth}{6} \setcounter{tocdepth}{6} \topsep=0.1cm \parsep=0.1cm \itemsep=0.0cm \newenvironment{nquote}[1]% {\list{}{\leftmargin=#1}\item[]}% {\endlist} \begin{document} \par テスト用ファイル \medskip \par これはプレーンテキストをTeX用のファイルに変換するplain2のテスト用ファイルです.大変便利です.筆者がまだTeXのコマンドが良く分からない時代には大変重宝しました. \end{document} ********** list 6 end ******* これをjlatexでコンパイルして,xdviで表示すると図2のようになります. ** 図2 plain2test.dvi ********** 印刷用ファイル(palin2text.ps):PLAIN2TE.PS 以上の手順をまとめると, プレーンテキスト plain2 でTeXファイルへ test.txt plain2 -tex test.txt > test.tex TeXファイル jlatex で dviファイルへ test.tex jlatex test.tex dviファイル xdvi でx11に表示,jdvi2kpsでpsファイルへ test.dvi xdvi test.dvi jdvi2kps test.dvi > test.ps psファイル gsでx11に表示,プリンタに印刷 test.ps gs test.ps lpr -Pps test.ps では,先月の紹介を始めた表計算ソフトのxspreadをもうすこし使って見ましょう.グラフをいくつか描いて見ます.図3は名古屋の最高気温と最低気温を月別に,記録したワークシートです.ここで,「/Graph-Type-Line」を選択します.X軸には「X」を選択してカラムAを行番号1から12までを入力します.同様にY軸としてA,BにHigherとLowerを選んで,設定します.「View」で図4のグラフが描かれます.線グラフが描かれます. 図5は地球温暖化の原因物質と言われる二酸化炭素などの大気中の存在量を円グラフで表したものとそれを作るワークシートです.xspreadにより描かれるグラフは実際は背景が黒色ですが,ここでは見やすくするために反転させております. *** 図3 xspreadのワークシート ****(temperature-s.tif):TEMPER-S.TIF *** 図4 Lineグラフの例 *********(temperature-g.tif):TEMPER-G.TIF *** 図5 円グラフの例とワークシート *****(polution2.tif):POLUTION.TIF その他に,三角関数を列に計算をしてグラフに表示させるなど,DOS,MS-Windowsで使っていた表計算ソフトと基本的に同じ様に使えます.表2にxspreadの持っている関数をまとめておきます. ****** Table 2********* 表2 xsreadの関数 @INDEX @LOOKUP @STINDEX 数学関数 @CEIL @HYPOT @MIN @RND @EXP @LN @NVAL @SQRT @FABS @LOG @PI @FLOOR @MAX @POW 三角関数 @ACOS @ATAN2 @RTD @ASIN @COS @SIN @ATAN @DTR @TAN 統計関数 @AVG @MAX @PROD @SUM @COUNT @MIN @STDDEV 文字処理関数 @EQS @STON @SUBSTR @FMT @SVAL 時間関係 @DATE @HOUR @MONTH @SECOND @DAY @MINUTE @NOW @YEAR 財務関係関数 @FV @PMT @PV 特殊関数 @EXT ********** Table 2 end ******** xspreadの使い心地はいかがですか.実験データなどの整理にはプログラムを組むよりずーと簡単で使いやすいと思います.しかし,使い勝手とかプレゼンティーションに使うには少し無理があります.そこで,理工系ユーザ向きの表計算ソフトならではの使い方を紹介しましょう. xspreadの上で偏微分方程式を解きます.練習のために2次元のラプラス方程式を解きましょう. d2u/dx2 + d2u/dy2 = 0 これを差分化すると uij=1/4 ( ui-1,j + ui+1,j + ui,j-1 + ui,j+1 ) これはui,jは上下左右の平均値に等しいという関係です. これを表計算ソフトの上に表すには,真中のセルに上下左右の平均値を入れる式を代入し,それを考える領域全体にコピーします.そして,境界を処理して再計算をすれば,差分化された式が解けたことになります.紙面が限られておりますので,訳が分からない説明になりましたが,詳しくは拙著の「Lotus1-2-3による理工系シミュレーション入門」(CQ出版)9章を参照して下さい. 具体例で見ましょう.負の電極と正の電極,そしてアースを配置した場合の各場所での電位を計算したワークシートが図6です.各セル内には図7に示すように,隣接するセルの値を参照するように設定します.境界条件は左端の例だけを示しました.第1種境界条件は1,0,-1などの数値をそのまま代入します.また,このワークシートは自動計算をしない様に「Ctrl+t」の中から「a:auto」を選んで,「Automatic recalculation disabled.(自動再計算をしない)」にします.セルへの入力が済んだら,「@」を押すことで再計算が実行されます.図6に示した結果は何回か「@」を押した結果です.そして,この数値が計算された電位です.これをgnuplotで等電位線として描きましょう. 数値をそのままファイルの出力します./FW "electric.dat"(出力ファイル名) A0:I19(出力範囲) として,electric.datにこのマトリックス状のデータを出します.このマトリックス状になっていたデータをgnuplotで表示するために,Muleで加工して,gnu-ele.datとします.あとはgnuplotを起動して,次のようにすると gnuplot> set view 0,0,, gnuplot> set contour gnuplot> set cntrparam level 40 gnuplot> set cntrparam bspline gnuplot> set cntrparam points 80 gnuplot> splot "gnu-ele.dat" with dots 図8のように,等電位線が描かれます.綺麗に色分けされて表示されます. *** 図6 電位計算のワークシート ******(electric-s.tif):ELECTRIC.TIF *** 図7 セルに入れる隣接セルの参照と境界条件処理 ***(partial.ps):PARTIAL.PS *** 図8 gnuplotによる等電位線グラフ ******(gnu-ele.tif):GNU-ELE.TIF