憑依モードでは、ちょっと複雑なメカニズムを使って 憑依式(embedded formula)の取扱いモードを設定します。 それはモードを指定する注釈をファイルに付加するのですが、 ファイル全体のモードを一括指定したり、特定の式にのみ指定したりできます。 後者の場合は、憑依時に異なるモードが指定できます。
憑依時に m f (分数モード) や d s (科学記法)のような モード設定コマンドを与えると、 憑依モードは式開始デリミタの直前に次のような行を付け加えます。
% [calc-mode: fractions: t] % [calc-mode: float-format: (sci 0)]
Calc は埋込み式(embedded formula)を解析するときに、 式の前方にあるこのようなモード指定注釈をスキャンし、 Calc バッファのモードをそれに合わせます。 ファイル中に明示的に指定されていないモードは変りません。 Calc は前方方向に次のような行までスキャンし続け、 無ければファイル先頭までスキャンします。
% [calc-defaults]
この行は、モード設定の異なる領域の境界に置いてバリヤにしたり、 またスキャンが遅いと感じたら、適当な場所にこの行を置いておく手もあります。
ファイル中に、同種のモードについての異なる指定注釈がある時は、 式より前方で直近の指定が採用されます。 式より後方の指定注釈は無効です(ただし後述するグローバル指定は有効)。
スキャンは行頭の `%' に関係なく、 カギ括弧に囲まれたテキストだけを探します。 モード設定注釈は、望みのコンテキストに合わせたスタイルに変えられます。 注釈スタイルの変え方は、憑依モードのカスタマイズ 参照 。 文法を知っていれば、ユーザーが自分でファイルに書込めます。 文法を知るいちばん簡単な方法は、一度 Calc に書かせてそれを観察することです。
式のすぐ上に、すでに設定注釈が付いているモードに対して変更コマンドを与えると、 Calc は対立する設定注釈をまた加えるのではなく、 先行する設定注釈を修正します。
モード設定注釈はコロンで区切られた3つの部分からなります。 (コロンの後のスペースは省略可能です。) 最初はモード設定の種類、2番目はモードの名称、3番目はモードの値であって リスプ記号か数かリスト形式で表現されます。 最初と2番目の部分が認識できない設定注釈は無視されます。 3番目の値はその型や範囲が適正かどうか確認されません。 もし手動で書込む場合は、注意して正しい値を与えないと、結果は予想できません。 モード設定注釈は大文字小文字を区別します。
憑依モードが起動している間、
Calc スタックのモードラインに Local
が現れます。
これは、モード設定コマンドの生成する設定注釈が
憑依中の式(または式集合)に「ローカル」であることを示します。
m R (calc-mode-record-mode
) コマンドは、
違った種類の設定注釈を生成させます。
m R を繰返し打つと、可能なモードを循環します。
LocEdit
モードと LocPerm
モードは、
それぞれ次のような設定注釈を生成します。
% [calc-edit-mode: float-format: (sci 0)] % [calc-perm-mode: float-format: (sci 5)]
1番目の設定注釈の種類は、その式に憑依中の間のみ有効です。 2番目の注釈の種類は、その式に憑依中でない時に有効です。 「アクティブか否か」つまり Calc がその式を認識しているか否かは、 ここでは関係ありません。
Global
モードは次のような設定注釈を生成し、
ファイルの末尾に加えます。
% [calc-global-mode: fractions t]
グローバル・モードの設定注釈はファイル全体の式に影響し、 ファイル中の何処に置かれてもかまいません。 これを利用すれば、モード設定をどこか邪魔にならないところに集めて管理できます。 ただし、設定がファイル中の全ての式について同一である必要があります。
M-# e と打って式に憑依させると、 ローカルな設定注釈を新規にスキャンします。 式の上に手動で設定注釈を書込んだあとは、 それを認識させるためにこのコマンドを使ってください。 M-# u で更新する場合もローカル設定の再スキャンを行います。 しかし、グローバル設定の再スキャンを行うのは M-# a だけです。
設定の効果が制限されるもうひとつのケースは、 ローカル設定注釈を書込んだ式のあとに別の式が続く場合です。 下の例で、1番目の式がアクティブな時に d s コマンドを使いました。 しかし、たとえスキャン規則によって `(sci 0)' が適用されても、 2番目の式はそのスタイルを変えません。
% [calc-mode: float-format: (sci 0)] 1.23e2 456.
2番目の式まで下りていって、そこで M-# u を打ち、 新しい設定注釈の存在を式に知らせなければなりません。
さらに2種類の設定記録モードが m R によって選択可能です。
Save
モードでは Calc スタックのモードラインに
Save
が表示され、モード設定が編集中ファイルではなく
Emacs 初期化ファイル `~/.emacs' に永久記録されます
(憑依モード以外でも機能します)。
無記録モードでは、Calc スタックのモードラインに
Save
も Local
も表示されず、
設定注釈を何ら生成しません。
憑依モードが発動されていない時、
Save
以外の設定記録モードは無効です。
Go to the first, previous, next, last section, table of contents.
利用度数