パレットの作成
パレットはキーボードの拡張のようなものである.パレットを使うとタイプセット文字を入力したり,ノートブックにスタイルを付けたり,評価を実行したり等,Wolframシステムで多くのアクションを実行することができる.他のノートブックと同様に,パレットもメニュー項目あるいはプログラムを使って作成することができる.
CreatePalette[expr] | expr を含むパレットノートブックをフロントエンドで作成し,開く |
PaletteNotebook[{cell1,cell2,…}] | フロントエンドで操作することのできるパレットノートブックのインセル表現 |
パレットノートブックには独特の特性がある.パレットノートブックを現行選択のノートブックとすることはできるが,通常InputNotebookにはなり得ない.このため,パレットはフロントエンドのキーボード入力の対象となるノートブックへの操作を行うことができる.詳細は「カーネルからのノートブック操作」を参照のこと.
CreatePalette[expr]は expr を含む保存されていないパレットノートブックを作成し,それを別のウィンドウで開く.パレットを保存するためには,ウィンドウを閉じ,保存ダイアログが現れたらファイルを保存する.あるいはNotebookSaveを使ってプログラムでパレットノートブックを保存する.
以下はPasteButtonを使って記号を入力ノートブックにペーストするパレットである.PasteButtonはパレットで使えるよう特別に設計されたボタンである.これは挿入点で内容を直接入力ノートブックにペーストする.これをRawBoxesと一緒に使うと,PasteButtonは未解釈のボックスを入力ノートブックにペーストする.
また,PaletteNotebookを使ってパレットノートブックのインセル表現を作成することもできる.ボタンをクリックするかCreatePaletteでPaletteNotebook式をラップすると,そのノートブックを含む別のウィンドウをフロントエンドで開くことができる.
π ∞ ° × ÷ ≠ ≤ ≥ ∈ ∍ ¬ ∧ ∨ ⋃ ⋂
次のパレットは,フロントエンドトークンを使ってアクティブなノートブックにスタイル付きのセルを挿入する.フロントエンドトークンは,通常メニューを使って行うようにカーネル内からフロントエンドコマンドを実行する.フロントエンドトークンのリストは「フロントエンドトークン」を参照のこと.
CreatePaletteはデフォルトで,通常のパレットの外観と動作に適するようにオプションが設定されたノートブックを作成する.しかし,MagnificationやDynamicUpdating等のオプションも便利であるかもしれない.
1. これらのオプションをプログラムで設定する場合は,上記のオプションのそれぞれをCreatePalette文の中で指定する.以下がその例である.
CreatePalette[expr,Magnification->1.0,DynamicUpdating->True]
注意:DynamicUpdating->Trueの設定は,パレットの機能が完全にデバッグされ,すぐに使える状態になるまで行ってはならない.この設定では,フロントエンドがバグを含む可能性があるかどうか分からない動的評価を放棄することができないからである.
2. オプションインスペクタを使ってこれらのオプションを設定する場合は,パレットを選んでからオプションインスペクタを開く.
ノートブック設定 ▶ 表示設定で,グローバル設定の継承を避けるようにMagnificationを明示的に設定する.
セル設定 ▶ 評価設定でDynamicUpdating->Trueと明示的に設定し,ユーザのフロントエンドで動的更新が無効になっていてもDynamicが有効になるようにする.
パレットを保存したい場合,パレットウィンドウの閉じるボタンをクリックするとパレットを保存するかどうかを尋ねられる.NotebookSaveを使ってプログラムでパレットノートブックを保存することもできる.
パレットをインストールする最も簡単な方法は,パレット ▶ パレットのインストールのWolfram言語の項目のインストールダイアログでソースファイル,パレット名,インストールディレクトリを入力しOKをクリックすることである.
パレットはWolframシステムアプリケーションの一部としてインストールすることもできる.アプリケーションにパレットを加えるためには,アプリケーションフォルダ内にFrontEnd\Palettes\ディレクトリを作成し,この場所にパレットを保存する.例えばパレットMyPalette.nbは,MyApplication\FrontEnd\Palettes\に置く.
依存オープナビュー
Dynamicの第2引数は,もう一方のオープナビューの状態を制御して,一度に1つのオープナビューだけが開いたままでいるようにするために使うことができる.
パレットの状態はTaggingRulesを使って追跡および制御することもできる.動的変数とは異なり,TaggingRulesはフロントエンドにより自動的にキャッシュされるため,インストールされているパレットはたとえ保存不可だとしても複数のフロントエンドセッションに渡りそのコントロールオブジェクト状態を覚えておくことができる.このドキュメントではこれ以上は触れないが,チュートリアル「パレットの状態の保存と追跡」で詳細と例題をご覧いただきたい.
関数の適用と評価
次の多項式を考えてみる.式をハイライトし,上のパレットのExpand[]を選ぶ.Wolfram言語は選択範囲に関数を適用し,結果となる式をその場で評価する.