Emacs の快適編集機能を使ってコマンドを書きそれを Gnuplot に送ることができます。 なんと、コマンドの補完、色付けまでできるんです。XEmacs でも動きます。なんか凄そう でした。(^^;。
gnuplot HOW-TOの発見に伴い、加筆、修正。Linux の場合、インストールが簡単に。
Gnuplot を用意します。ここでは日本語 EPS 出力に対応している山賀さんの を使います。 GNUPLOT 日本語化・機能拡張 (PLUS-enhanced) パッチ公式サイトから入手、インストール しておいて下さい。Windows の人はバイナリを、Linux の人は RPM とかを探せば 楽です。
次に Gnuplot-mode を入手します。Bruce Ravel さんのGnuplot Mode for Emacs から gnuplot-mode.tar.gz をもらってきます。これを適当なディレクトリに解凍します。
Linux の人は関係ありません。インストールと設定へ お進みください。
解凍したディレクトリに configure スクリプトがありますが、ここでは無視し て使いません。解凍してできるディレクトリの中の Win9x ディレクトリの中に ある pgnuplot.c をコンパイルします。これは、wgnuplot.exe と Gnuplot-mode の橋渡しをする機能(パイプ機能)を提供してくれます。Cygwin の GCC または Borland C++ Compiler 5.5 を使う場合を対象に説明します。LSI C 試食版 では試してません。対した事してないし大丈夫でしょ。(いかん、説明が 丁寧過ぎる(--;;)。
まず、pgnuplot.c を修正。1行目の
#include <windows.h>
の後に以下を追加。
#include <io.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
FULLPATH を設定します。wgnuplot.exe がある場所を
指定します。
#define FULLPATH "./wgnuplot.exe"
この場合、同じディレクトリに wgnuplot.exe があると指定しています。./ を除けば 検索 PATH を探してくれるでしょう。
ではコンパイル。bash 窓(Cygwin) なり、DOS プロンプトを開いて pgnuplot.c があるディレクトリに移動しておきます。まず GCC の場合。
gcc -o pgnuplot pgnuplot.c -luser32 -s
Borland C++ Compiler の場合。(自信なし。まぁ動いてるから良いか(^^;;。 誰か詳しい人教えてください)。
bcc32.exe pgnuplot.c
とすると、
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland pgnuplot.c: 警告 W8057 pgnuplot.c 106: パラメータ 'argc' は一度も使用されない(関数 main ) Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
のような警告が出るけど大丈夫。
私の Borland C++ Compiler の設定ファイル "インストールしたディレクトリ /Bcc55/Bin/bcc32.cfg" の中身は以下のとおりです。全然凝ってません。
-I"c:\Borland\Bcc55\include" -L"c:\Borland\Bcc55\lib"
Linux の人は nosrc.rpm がgnuplot HOW-TOで手に入るので利用してみてはいかがでしょうか。使い方も簡単に説明されています。
以下、rpm を使わない人と Windows の人のための説明。
gnuplot.el と gnuplot-gui.el を load-path の通ったディレクトリにコピーします。
付属文書に従い、.emacs に以下のような設定を追加します。for MS windows となっているところは MS Windows の人だけ設定する。pgnuplot.exe の場所を きちんと指定してください。wgnuplot.exe の場所じゃなくて pgnuplot.exe の 場所だということに注意。wgnuplot.exe は pgnuplot.c で指定した場所に置い ておく。
;;; ================================================================
;;; Lines enabling gnuplot-mode
;; move the files gnuplot.el to someplace in your lisp load-path or
;; use a line like
;; (setq load-path (append (list "/path/to/gnuplot") load-path))
;; these lines enable the use of gnuplot mode
(autoload 'gnuplot-mode "gnuplot" "gnuplot major mode" t)
(autoload 'gnuplot-make-buffer "gnuplot" "open a buffer in gnuplot mode" t)
;; this line automatically causes all files with the .gp extension to
;; be loaded into gnuplot mode
(setq auto-mode-alist (append '(("\\.gp$" . gnuplot-mode)) auto-mode-alist))
;; This line binds the function-9 key so that it opens a buffer into
;; gnuplot mode
;(global-set-key [(f9)] 'gnuplot-make-buffer)
;; for MS windows
(add-hook 'gnuplot-load-hook
'(lambda ()
(setq gnuplot-program
"c:/root/usr/local/bin/pgnuplot.exe")))
;;; end of line for gnuplot-mode
;;; ================================================================
まず、Gnuplot を起動します。次に Emacs 上で M-x gnuplot-make-buffer とします。plot.gp というバッファができますね。
plot x
と書いてその行の末尾で C-c C-l とすると、y = x のグラフが表示されるはず です。詳しい使い方は gpelcard.ps を見ましょう。ちょっとだけ書いておきま す。。C-c C-r リージョンを実行。M-C-i(M-tab) gnuplotのコマンドを補完。 補完は info (gnuplot.info) がインストールされていないと使えない。Gnuplot ver. 3.7 対応の info (英語) が同梱されているので適当なディレクトリにコピー して、dir ファイルを編集しておきましょう。(## C-c C-c から生成されるコマ ンドが間違っているような気がするのは気のせいでしょうか。(^^;;)。
ちょっと使った限りでは、日本語も問題なく通りました(pgnuplot.exe も含めて)。 う〜ん、ちょっと尻切れとんぼな説明だったかなぁ。
最後に参考となるサイト、参考文献をまとめておきます。
Gnuplot に関する Web ページは大量にあります。特に有益と思ったところだけ紹介。 他はリンクを辿るか、Googleとかで検索 して下さいな。
Gnuplot Mode についてのリンク。少ない。(^^;;。つーか、Web で検索すると大半が 古い情報で、Windows を対象としていないんだよね。良いところがあったら教えて 下さい。
次は、Gnuplot 自体の使い方についてのリンク集。
1冊だけですが。(^^;;