Calc 2.02 は `calc.el' とか `calc-ext.el' のような名前の付いた GNU Emacs Lisp ファイル群の一式として配布されています。 その中には `calc.texinfo' も含まれていて、 オンライン文書と印刷文書の両方を生成できます。
Calc のインストールは、以下の簡単なステップに従うだけです。 さらに追加の情報は、後続の節で各ステップが詳細に論じられています。
touch
コマンドを使って
サイズゼロのファイルをあらかじめ生成してください。)
texinfo-format-buffer
コマンドを使用します。
make
ユーティリティは、
カレントディレクトリの `Makefile' を見て、
install
とか public
とかいう「ターゲット」に対し
どの Unix コマンドが対応するか調べます。
もしあなたのシステムに make
が無ければ、
あなたは自分で `Makefile' を調べ、
対応するコマンドを手動で実行しなければなりません。
これで Calc はインストールされ、使えるようになりました!
Calc バージョン 1.07 かそれ以前を持っている人は、
Calc 2.00 の構成が全く違っていることに気付くでしょう。
例えば、今日 Calc 2.00 は多数の部品にあらかじめ分割されて配布されていますが、
以前はインストール手順の途中で分割していました。
また、いくつか新しい関数が autoload されねばならず、
M-# キーは calc
ではなく calc-dispatch
にバインドされます。
一番簡単なアップグレード方法は、
古い Calc ファイル群を削除して、
ゼロから Calc 2.00 を上記の手順どおりにインストールすることです。
このとき `make public'/`make private' は
自分の `.emacs' または `default' ファイルの中に
新しいコマンドを追加していますから、
古い Calc の autoload
や global-set-key
コマンド群は
このあと自分で削除してください。
バージョン 1.07 からの変更情報は、 配布に含まれる `README' や `README.prev' ファイルを見てください。 (FTP または テープ配布版にのみ含まれる `README.prev' は、 2.00 以前の変更を記述しています。)
システムの `default' ファイルは上書き保護されている場合があるので、
あなたが Emacs の管理者でなければ
`make public' コマンドが実行できないかもしれません。
この場合は、Emacs 管理者にこのコマンドを実行してもらわなければなりません。
(Calc のホームディレクトリに cd
して、
`make public' とタイプするだけです。)
`make public' コマンドが `default' にコマンド群を書加えるのと同様に、
`make private' コマンドは全く同じものをあなたの `.emacs' ファイルに加えます。
あなたのシステムの Emacs 管理者が、
このコマンドをいきなり実行する事を懸念するなら、
そのかわり彼/彼女に `.emacs' から必要なテキストをコピーしてもらうという
手もあります。
(その個所がすぐ見つけられるように、
"Commands added by calc-private-autoloads
on (date and time)." という
コメントが付いています。)
Calc のコードは、 バイトコンパイルされるとパフォーマンスが最大化するように書かれています。 その副作用として、 バイトコンパイルされなければ極端にパフォーマンスが劣化します。 このため、Calc の使用を試みる前にコンパイルしておくことは必須です。 ファイル `calc-maint.el' 中の関数 `calc-compile' は、 全ての Calc ソースファイルについて Emacs バイトコンパイラを走らせます。 (つまり、 カレントディレクトリ中のファイル名が `calc*.el' という形式のファイル および `macedit.el' について M-x byte-compile-file を実行します。)
いくつかのファイルが既にコンパイル済みで、以来変更されてない事を検出すれば、
calc-compile
はそれらのファイルをリコンパイルせずに済ませます。
また calc-compile
コマンドは、
単位表(The Units Table 参照 )や
組込みの書替え規則(セレクションを用いて式を再整理する 参照 )のように、
後で必要になるいくつかのテーブルをあらかじめ作成します。
さもなければ、そういった機能が使用されるたびに
表を毎回再作成することになってしまいます。
`make compile' シェルコマンドは、
Emacs を起動して calc-compile
を実行する簡便な方法です。
M-# を押した際の Calc の読込方法を Emacs に教えるために、 個人的インストールなら `.emacs' に、 公的インストールならシステムの `lisp/default' ファイルに 以下の行を書加えます。 `make private' と `make public' コマンドは それぞれ対応する処理を行います。 (ちなみに `make' は `make private' を、 `make install' は `make public' を実行します。)
(autoload 'calc-dispatch "calc" "Calculator Options" t) (autoload 'full-calc "calc" "Full-screen Calculator" t) (autoload 'full-calc-keypad "calc" "Full-screen X Calculator" t) (autoload 'calc-eval "calc" "Use Calculator from Lisp") (autoload 'defmath "calc" nil t t) (autoload 'calc "calc" "Calculator Mode" t) (autoload 'quick-calc "calc" "Quick Calculator" t) (autoload 'calc-keypad "calc" "X windows Calculator" t) (autoload 'calc-embedded "calc" "Use Calc from any buffer" t) (autoload 'calc-embedded-activate "calc" "Activate =>'s in buffer" t) (autoload 'calc-grab-region "calc" "Grab region of Calc data" t) (autoload 'calc-grab-rectangle "calc" "Grab rectangle of data" t)
Calc ファイル群のインストール先が Emacs の `lisp/' ディレクトリではない場合、 その場所を指定するため次のようなコマンドを追加する必要があります。 この例では、 ファイル群を `/usr/gnu/src/calc-2.00' というディレクトリに置いています。
(setq load-path (append load-path (list "/usr/gnu/src/calc-2.00")))
`make public' と `make private' コマンドはこの処理も行います
(指定するパスとしてカレントディレクトリを指定します)。
Calc を新しい場所に移動したら、
`make public' か `make private' を再実行して
その新しい場所を load-path
に追加してください。
calc-dispatch
用の autoload
コマンドは、
M-# をタイプした時に `calc.elc' を読込みます。
これは Calc が動作するために唯一絶対必要な autoload
です。
他のは M-# をタイプする前に使いたくなるかもしれない
コマンドや機能のためのものです。
特に、full-calc
と full-calc-keypad
は「単独」オペレーション
(単独オペレーション 参照 )をサポートするために autoload され、
calc-eval
と defmath
は他のEmacs Lisp プログラムが
Calc の機能を利用できるようにする(Calling Calc from Your Lisp Programs 参照 )ためにautoload されます。
calc-embedded-activate
は、
憑依モードのファイルが読込まれるなりすぐ Calc を呼べるようにする
(憑依モードにおける割付け 参照 ) ための autoload です。
`calc-misc.elc' や `calc-alg.elc' のようないろいろな Calc 構成ファイル全てのためにいちいち autoload
コマンドを書く必要はありません。
主ファイルの `calc.elc' には、
このために必要な全ての autoload
コマンドが含まれています。
(実際にはスペースの節約のため、 `calc.elc' は構成ファイルの一部と `calc-ext.elc' だけを自動読込し、 今度は `calc-ext.elc' が構成ファイルの残りを自動読込します。 これによって Calc の読込みは初期には少し早くなりますが、 全体からみれば同じ事です。)
この自動読込み機構は、
全ての構成ファイルが load-path
に存在すると見なしています。
`make public' と `make private' コマンドは load-path
を
設定しますが、
普通でないインストールのために Calc は他にいくつかの戦略を持っています。
Calc が読込まれたとき、
与えられた load-path
に構成ファイルが見つからなかったら、
元の calc-dispatch
を autoload
したファイル名をチェックします。
もしそのファイル名がディレクトリ情報を含んでいれば、
Calc はそのディレクトリを load-path
に追加します。
(autoload 'calc-dispatch "calc-2.00/calc" "Calculator" t)
`/usr/gnu/src/emacs/lisp' というディレクトリが load-path
にあって、
上記の autoload
が `/usr/gnu/src/emacs/lisp/calc-2.00/calc.elc'
という名前のファイルを見つけたとしましょう。
すると、Calc は立上がったときに
`/usr/gnu/src/emacs/lisp/calc-2.00' を load-path
に追加して
後で構成ファイルを見つけられるようにします。
上記のやり方で構成ファイルを見つけられなかった場合、
Calc は変数 calc-autoload-directory
をチェックします。
これは初期値 nil
ですが、
Calc のホームディレクトリを格納して、
構成ファイルを確実に見つけさせることができます。
もし autoload
機構がうまく働かず、
Calc の部品が必要なときに読込めない場合は、
全ての `.el' ファイルを結合して一つの大きなファイルにする手があります。
結合の順序は、まず `calc.el', 次に `calc-ext.el',
そして順不同で他のファイル群にしてください。
この合併 Calc は読込みに少々時間がかかりますが、
普通の Calc と同様に動作するはずです。
Calc は通常 M-# キーにバインドされています。 このキーバインドを設定するには、 `.emacs' か `lisp/default' ファイルに下記のコマンドを含めてください。 (この操作はそれぞれ `make private' か `make public' によって 自動的に実行されます。)
(global-set-key "\e#" 'calc-dispatch)
実のところ、
calc-dispatch
は様々な 2 ストロークコマンドの
プリフィックスとして働きます。
便利だが使っていないファンクションキーがもしあれば、
そこに calc-dispatch
をバインドしてもかまいません。
calc
や quick-calc
のような特定の Calc 関数を
他の便利なファンクションキーにバインドすることもできます。
たとえ calc-dispatch
を他のキーにバインドする場合でも、
できればさらに M-# にもバインドするのがベストです。
Calc マニュアル全編において M-# を指定しているので、
そのとおり動かなければ初心者ユーザーを混乱させるでしょう。
もう一つのキーバインディング問題は DEL キーです。
Emacs のインストール方針によっては、
他の異なるキー(例えば backspace)がこの目的に割り当てられています。
Calc は普通キーマップ全体を調べ、
DEL キーには calc-pop
コマンドというように、
全てのキーに定義を割当てます。
しかしながらこれは時間がかかるでしょう。
変数 calc-scan-for-dels
を nil
に設定すれば、
現実の DEL キーだけを calc-pop
に割当てる事ができます。
これは Calc の読込みを速めるでしょう。
`macedit.el' ファイルは edit-kbd-macro
という名前の
便利な Emacs 拡張機能を含んでいます。
これを使えば、
キーボードマクロを人が読みやすい形式で編集できるようになります。
Calc の Z E コマンドは、これを利用して
キーボードマクロによって定義されたユーザーコマンドを編集します。
これを autoload するために次のコマンドを含めます。
(autoload 'edit-kbd-macro "macedit" "Edit Keyboard Macro" t) (autoload 'edit-last-kbd-macro "macedit" "Edit Keyboard Macro" t) (autoload 'read-kbd-macro "macedit" "Read Keyboard Macro" t)
`make public' と `make private' コマンドはこの操作を実行します。
Calc の可視化コマンドは GNUPLOT プログラムを利用します。
GNUPLOT があるものの、`gnuplot' 以外のコマンドで呼出さねばならないときは、
Lisp 変数 calc-gnuplot-name
を適切に設定する必要があります。
グラフの正しい表示やハードコピーを得るにはそれぞれ、
変数 calc-gnuplot-plot-command
や calc-gnuplot-print-command
を
適切に変更する必要があるかもしれません。
Calc の説明書(このマニュアル)は、
`calc.texinfo' という名前のファイルで配布されます。
これをオンラインマニュアルとしてフォーマットするには、
`make info'(makeinfo
プログラムを使用)
または `make texinfo'(Emacs 内で走る texinfmt.el
プログラムを使用)
とタイプしてください。
前者のコマンドが動くならそちらを推奨します。
そのほうが速くて見栄えのよい結果が得られます。
makeinfo
プログラムは"Copying"や"Interactive Tutorial"ノードの
矛盾を報告します。
これらのメッセージは無視してください。
この結果、名前が `calc.info' で始まるファイル群ができます。 これらの最初のファイルである `calc.info' 自身への参照を、 Info システムの `dir' ファイルに追加すると良いでしょう。 (`dir' ファイルに登録してもしなくても、 M-# i コマンドで `calc.info' にアクセスできるので、 これは必須ではありません。)
calc-info-filename
という Lisp 変数があって、
Calc オンラインマニュアルの Info ファイル名を保持しています。
デフォルトの値は "calc.info"
で、
Info ファイル群を Emacs の `info/' ディレクトリか、
load-path
に登録されたディレクトリに入れると正しく動作します。
もし他の場所に置く場合は、
`.emacs' か `lisp/default' ファイル内で次のように設定します。
(setq calc-info-filename ".../calc.info")
ただし `...' は Info ファイル群を置いたディレクトリを表します。 通常のインストール手順に従った場合、この設定は必要ありません。
`make info' や `make texinfo' コマンドは、 `calc.texinfo' と `calc.info' のタイムスタンプを比較して、 後者のほうが古かったり存在しない場合のみ適切なプログラムを起動します。
Calc マニュアルは非常に大きいので、印刷は本当に必要な場合だけにするべきです。
このマニュアルを印刷するには、TeX 組版プログラム
(これはスタンフォード大学の Donald Knuth によるフリープログラムです)および
`texindex' プログラム, `texinfo.tex' ファイルが必要で、
どれも texinfo2
パッケージの一部として FSF から入手できます。
550ページにのぼる巨大な Calc マニュアルを印刷するには、 `make tex' とタイプします。 このコマンドはマニュアルを TeX に 2回通して参照が正しく通るようにします。 ("overfull box"の警告を受けても心配しないで無視してください。)
この結果、`calc.dvi' という装置非依存のファイルができあがり、 これをあなたのシステムのやり方で印刷します。 大抵のシステムでは、次のようなコマンドです。
lpr -d calc.dvi
マニュアルは両面印刷して製本することを想定しているので、
各関数とキーシーケンスの欄外見出しは通常ページの左右に交互に現われます。
`calc.texinfo' ファイルの先頭付近に、
\bumpoddpages
マクロの定義部分を見つけることができます。
そこに欄外見出しを常に同じ側に置いたりする場合の代替定義も書いておくので、
片面印刷にしたい場合は定義を切替えてください。
人によっては Calc マニュアルが大きすぎて扱いにくいと感じます。
実際、TeX のバージョンによってはメモリが足りません。
そこで Calc には calc-split-manual
コマンドがあって、
`calc.texinfo' ファイルをチュートリアルとリファレンスの 2つに分割します。
(訳注: このコマンドはファイル名チェックを行うので、
日本語訳の `calc-jp.texinfo' では動きません。
ファイル名を `calc.texinfo' にしてしまえば動きますが、
訳者は分割後の参照のチェックをした事がありません。)
一番簡単にこれを行うには、
`make tex' の代わりに `make tex2' とタイプします。
すると、2つの小さめのファイル、
`calctut.dvi' と `calcref.dvi' ができます。
前者にマニュアルのチュートリアル部分、後者にリファレンス部分を含みます。
両方とも、「Calc 入門」の章とライセンス情報を含みます。
印刷後はディスクスペースを節約するために、 `calctut.*' や `calcref.*' を削除してもかまいません。 しかし将来のパッチに備えて `calc.texinfo' は削除しないでください。 `make tex2' コマンドはこれらの操作全てを行います。
`make textut' コマンドは、Calc チュートリアル編のみをフォーマットして `calctut.dvi' を作成しますが `calcref.dvi' は作成しません。 同様に、`make texref' は Calc リファレンス編のみをフォーマットします。
最後に、calc-split-summary
というコマンドは、
印刷に適した Calc サマリー部分だけを切出します。
`make tex' のかわりに `make summary' とタイプしてください。
生成される `calcsum.dvi' ファイルは、印刷しても 20 ページ弱程度です。
先の `make tex' コマンドが残すキー・インデックスファイル
`calc.ky' が存在していたら、
`make summary' コマンドはその情報を使って
サマリーにページ番号の列を挿入します。
`make isummary' コマンドは `make summary' に似ていますが、 通常のマニュアルに代用するよう意図されたサマリーを作ります。 (両方のサマリーは同一ですが、ページ番号の列の有無が異なります。) 完全なマニュアルを作るには、`make tex' と `make isummary' を実行し、 できあがった 2つの `.dvi' ファイルを印刷して、 `calc.dvi' のサマリーを破棄し `calcsum.dvi' のものに差換えてください。 それから、マニュアルの最後に印刷される目次を 普通は先頭(表紙の後)に移すことも忘れないでください。
TeX を持っていなければ、 サマリーをプレーンテキストとして印刷する手もあります。 Info ファイルの"Summary" ノードへ行き、 M-x print-buffer とタイプしてください(Calc サマリー 参照 )。
設定の必要があるかもしれないもう一つの変数は calc-settings-file
で、
m m や Z P のようなコマンドが「永久」定義をストアする
ファイルの名前を格納します。
デフォルトの値は "~/.emacs"
です。
calc-settings-file
が ".emacs"
という文字列を含まず、
かつ変数 calc-loaded-settings-file
が nil
の場合、
Calc 起動時にあなたの設定ファイルを(存在すれば)自動的に読込みます。
あなたの Calc のインストール状態をテストするために、 Emacs を新たに起動して M-# c とタイプし、 autoload とキーバインディングを確認してください。 M-# i をタイプして、 Calc がその Info 文書を見つけられることを確認してください。 q を押して Info システムを終了し、 M-# c を押して再度 Calc に入ってください。 20 S とタイプして サイン 20度 を計算してください。 これは拡張モジュールの autoload テストです。 結果は 0.342020143326 になるはずです。 最後に、M-# c をもう一度押して Calc を終了できることを確認してください。
GNUPLOT インターフェイスもテストしてみましょう。 ' [0 .. 360], sin(x) RET g f とタイプして、 サインカーブをプロットしてください。 プロットを見終わったら g q とタイプしてください。
もう Calc は準備 OK です。 Calc チュートリアルで実習したければ、M-# t を押して始めてください。
(上の文章は、Calc 配布ディレクトリ中の Calc マニュアルと INSTALL ファイルの両方に書かれています。)
Go to the first, previous, next, last section, table of contents.
利用度数