ノートブックの操作
Wolfram言語式としてのセル | オプションのスタイルと継承 |
Wolfram言語式としてのノートブック | セルのオプション |
カーネルからのノートブック操作 | テキストとフォントのオプション |
カーネルからのフロントエンド操作 | 式の入出力に関するオプション |
フロントエンドトークン | ノートブックのオプション |
フロントエンドにおけるノートブックコマンドの実行 | フロントエンドのグローバルなオプション |
セルの構造 |
Wolfram言語の他のオブジェクトと同様に,ノートブックのセルやノートブック自体も,最終的にはすべてWolfram言語の式として表される.標準的なノートブックフロントエンドでは,メニューからセルを式で表示を選ぶことによって,セルを表す式を表示させることができる.
メニュー項目セルを式で表示 | セルの表示をWolfram言語の式に変換する.またその逆 |
Ctrl+* または Ctrl+8 (既存のセル間で) | Wolfram言語の式でセルの入力を行うためのダイアログボックスを表示させる |
ノートブックフロントエンドにおけるCell式の取扱い
Cell[contents,"style"] | スタイル付きのセル |
Cell[contents,"style",options] | オプションを指定したセル |
Cell[contents,"style1","style2",…,options] | 複数のスタイルを持ったセル |
"Title" | ノートブックの題名 |
"Section" | Sectionのヘッディング |
"Subsection" | Subsectionのヘッディング |
"Text" | 普通のテキスト |
"Input" | Wolfram言語入力 |
"Output" | Wolfram言語出力 |
オプション
|
デフォルト値
| |
CellFrame | False | セルを枠で囲むかどうか |
Background | Automatic | セル表示領域の背景色 |
Editable | True | セル内容の編集を許可するかどうか |
TextAlignment | Left | セルにおけるテキストの位置 |
FontSize | 12 | フォントのサイズ |
CellTags | {} | セルに付けるタグ |
標準的なノートブックフロントエンドには,セルのオプションを変更するいくつかの方法が用意されている.テキストの大きさや色を変える等の簡単な変更には,それぞれの目的に合ったメニューがある.一般にはフロントエンドに組み込まれた「オプションインスペクタ」を使うことができる.これは書式メニューのオプションインスペクタを選ぶと現れる.
■ メニューにより,特定のオプションの設定値を変更する. |
■ 「オプションインスペクタ」により,すべてのオプションのデフォルト値の参照と変更を行う. |
■ セルを表す式をテキストとして編集する. |
■ 特定のスタイルによってすべてのセルの設定値を変更する. |
オプションはセルごとに変更することができるが,また,特定のスタイルのノートブックのすべてのセルのオプションを一括変更したい場合もある.そのような場合には,フロントエンドのメニュースタイルシートの編集を使って,ノートブックに関連づけたカスタムスタイルシートを作成することができる.次に,スタイルシートの制御を使い,変更しようとするセルに対応するスタイルシートのセルにおいてオプションを変更する.
Notebook[{
Cell["Section heading", "Section"],
Cell["Some text.", "Text"],
Cell["More text.", "Text"]}]
個々のセルと同様に,Wolframシステムのノートブックにもオプションを与えることができる.標準のノートブックフロントエンドでは,オプションインスペクタを使ってこれらのオプションを確認し,また変更することができる.
オプション
|
デフォルト値
| |
WindowSize | {nx,ny} | ノートブックを表示するウィンドウのサイズ(単位はピクセル) |
WindowFloating | False | ウィンドウを最も手前に配置 |
WindowToolbars | {} | ウィンドウ上端のツールバー |
ShowPageBreaks | False | ノートブックを印刷したときにどこで改ページされるかを表示 |
CellGrouping | Automatic | セルのグループ化方法 |
Evaluator | "Local" | ノートブックで式の評価に使うカーネル |
Saveable | True | ノートブックを保存可能にする |
オプション設定がSaveable->Falseであるノートブックは,常に別名で保存メニュー項目を使って保存することができるが,保存メニューには反応せず,ノートブックを閉じるときにも保存するかどうかを尋ねない.
ノートブックのオプションの他に,セルのオプションをノートブックに与えることもできる.そうすると,そのオプションはノートブックのすべてのセルについてのデフォルト値となる.特定のセルに明示的にオプションを指定すること,あるいは明示的にそのオプションに優先するような指定のスタイルを使うことによって,これをデフォルト値に優先させることができる.
Notebook[{
Cell["Section heading", "Section"],
Cell["Some text.", "Text"]},
WindowToolbars->{"RulerBar"}]
Notebook[{
Cell["Section heading", "Section"],
Cell["Some text.", "Text"]},
Background->GrayLevel[.7]]
Wolframシステムを離れて,ノートブックのファイルをテキストとして見ると,ファイルにはノートブックを表す式が書かれている.したがってノートブックを作るひとつの方法は,その式をファイルに書き出すことである.
Wolframシステムで作成されたノートブックファイルには,Wolframシステムがこれを速く読み込めるように付加情報が書かれている.この付加情報は,(*…*) の形のコメントとして記述されており,ノートブックに書かれている本当の式に影響を及ぼさない.
NotebookOpen["file.nb"] | ノートブックファイルをフロントエンドに開く |
NotebookPut[expr] | 式 expr に対応するノートブックをフロントエンドに生成する |
NotebookGet[obj] | フロントエンドに開いているノートブックに対応するノートブック式を取り出す |
NotebookOpenでフロントエンドに開かれたノートブックは,他のノートブックと同様に対話的に使うことができる.ただし,NotebookOpenを使うには,ファイルにノートブックが式として書かれている必要がある.一方,NotebookPutの場合は,カーネルに作られたノートブックの式から直接そのノートブックフロントエンドに表示される.
ノートブックに簡単な操作を施すには,ノートブックフロントエンドの対話的な機能で十分であろう.しかし,より複雑な,あるいは一定の手順の操作を行うには,カーネルによってノートブックを直接操作するのが便利である.
Notebooks[] | 開いているすべてのノートブックのリスト |
Notebooks["name"] | 指定された名前で開いているすべてのノートブックのリスト |
InputNotebook[] | タイプする入力の対象となるノートブック |
EvaluationNotebook[] | 評価中のノートブック |
ButtonNotebook[] | 評価を開始させるボタンを含むノートブック |
Wolfram言語カーネルは,フロントエンドに開いているノートブックを,ノートブックオブジェクトとして認識する.このオブジェクトの書式はNotebookObject[fe,id]である.ここで,NotebookObjectの最初の引数は,ノートブックが属するフロントエンドオブジェクト(FrontEndObject)を示し,最後の引数は,ノートブックに順に割り当てられる固有の番号を示す.
NotebookGet[obj] | ノートブックオブジェクト obj に対応するノートブック式を生成する |
NotebookPut[expr,obj] | 式 expr をノートブックオブジェクト obj に対応するノートブックに変換する |
NotebookPut[expr] | 式 expr を選択されているノートブックに変換する |
特定のノートブックにたくさんの操作を行うには,NotebookGetによってノートブックを1つの式としてカーネルに取り込むのが便利である.しかし1つのノートブックに少しずつ操作を加える場合には,ノートブックをフロントエンドに残しておいて,カーネルから個々にコマンドをフロントエンドに送って所定の操作を行うのがよい.
Options[obj] | ノートブックオブジェクト obj に対応したノートブックに設定されているすべてのオプションを列挙する |
Options[obj,option] | 特定のオプションの値を返す |
AbsoluteOptions[obj,option] | 指定された設定がAutomaticであっても,オプションの 絶対的な値を返す |
CurrentValue[obj,option] | option の値を返し設定する |
SetOptions[obj,option->value] | オプションを設定する |
以下のようにすると,現在選ばれているノートブックのWindowSizeオプションの設定が与えられる:
CurrentValueで簡単な割当てを使い,オプションを変更する:
開かれているすべてのノートブックにおいて,フロントエンドは常に現在の選択値を保持している.選択値とは,例えばある範囲のテキストや,1つのセル全体等である.選択範囲はスクリーン上で通常反転表示される.選択範囲はまた,文字と文字の間やセルとセルの間であることもあり,それぞれ垂直または水平のカーソル線で示される.
SelectionMove[obj,Next,unit] | 選択値を指定する単位で次へ移動する |
SelectionMove[obj,Previous,unit] | 選択値を前へ移動する |
SelectionMove[obj,After,unit] | 選択値を指定する単位で現在値の直後に移動する |
SelectionMove[obj,Before,unit] | 選択値を現在値の直前に移動する |
SelectionMove[obj,All,unit] | 選択範囲を現在値の全部に広げる |
Character | 文字 |
Word | ワード |
Expression | 式 |
TextLine | テキストの行 |
TextParagraph | 段落 |
GraphicsContents | グラフィックスの内容 |
Graphics | グラフィックス |
CellContents | セルの内容 |
Cell | セル |
CellGroup | セルグループ |
EvaluationCell | 評価中のセル |
ButtonCell | 評価を実行したボタンセル |
GeneratedCell | 評価中に生成されたセル |
Notebook | ノートブック |
NotebookFind[obj,data] | ノートブックにおいて現行の選択範囲をデータで指定される次の部分に移動させる |
NotebookFind[obj,data,Previous] | 前の指定部分に移動させる |
NotebookFind[obj,data,All] | データが指定する部分をノートブック全体で検索する |
NotebookFind[obj,data,dir,elems] | セル中の指定する要素を dir 方向に検索する |
NotebookFind[obj,"text",IgnoreCase->True] | |
大文字・小文字の区別なしで検索する |
文字 を探す.見付からないので失敗($Failed)と表示され,選択範囲はそのままである:
CellContents | セルの内容 |
CellStyle | セルのスタイルの名前 |
CellLabel | セルに割り当てられたラベル |
CellTags | セルに付けられた検索用タグ |
{elem1,elem2,…} | リストによる上記要素の列記 |
NotebookFindに指定可能な検索要素
大きなノートブックでは,セルにタグを付けておくと便利である.タグは通常表示されないが,これをキーワードとして,NotebookFindによって検索することができる.タグは,フロントエンドで対話的に指定することもでき,またセルにオプションCellTagsを使って明示的に指定することもできる.
NotebookLocate["tag"] | 選択されているノートブックにおいて指定されたタグの付いたセルを見付ける |
NotebookLocate[{"file","tag"}] | 必要に応じて,別のノートブックを開いてそれに移動する |
NotebookLocateは,一般にノートブックにおいてハイパーリンクを追うときにWolfram言語により呼び出される関数である.メニュー項目の挿入 ▶ ハイパーリンクは,所定のハイパーリンクボタンに対応するスクリプトの一部として適切なNotebookLocateを設定する.
NotebookWrite[obj,data] | データ data をノートブックにおける現在の選択物に書き込む |
NotebookApply[obj,data] | data をノートブックに書き込み,現在の選択物を data の中の第1のに挿入する |
NotebookDelete[obj] | ノートブックにおける現在の選択物を除去する |
NotebookRead[obj] | ノートブックにおける現在の選択物に対応する式を読み取る |
NotebookWrite[obj,data]はフロントエンドにおけるペーストに似ている.つまり,ノートブック中の選択範囲を要素 data に置き換える.選択範囲がセルなら,NotebookWrite[obj,data]は,そのセルを data に置き換える.しかし,挿入点がセルとセルの間にあるときは,NotebookWrite[obj,data]は適切な新規セルを生成する.
NotebookWrite[obj,data]は選択されているオブジェクトを捨てて,その位置に data を挿入する.しかし,特にパレットを設定するとき等,まず data の部分に選択されているオブジェクトを挿入し,これをペーストする方が都合のよい場合がある.これは selection placeholders とNotebookApplyを使うことによって実現できる.この記号""(∖[SelectionPlaceholder]またはEscsplEscと入力すれば得られる)が data に初めて現れると,NotebookApplyはこれに現在の選択範囲を代入する.
SelectionEvaluate[obj] | 選択されている式をその位置で評価する |
SelectionCreateCell[obj] | 選択されているオブジェクトを持つセルを作る |
SelectionEvaluateCreateCell[obj] | 評価した後,新たなセルを作りそこに結果を入れる |
SelectionAnimate[obj] | 選択されているグラフィックスをアニメーションにする |
SelectionAnimate[obj,t] | アニメーションを 秒間続行する |
SelectionEvaluateは,ノートブックからオブジェクトを選び出し,それを評価するためにカーネルに送る.ただし,SelectionEvaluateで返される結果は,もとの選択範囲を上書きする.SelectionCreateCellを使えば,通常のWolframシステムセッションのように,生成される結果を順に記録しておくことができる.
選択されているセルの内容にFactorを作用させる:
NotebookWriteやSelectionEvaluate等の関数では,デフォルトで,挿入されてオブジェクトの直後が新たな選択位置になる.その後,SelectionMoveを使って選択位置を移動することができる.一方,NotebookWriteやSelectionEvaluateのような関数では第3の引数を与えることによって,関数が評価された後の選択位置を指定することができる.
NotebookWrite[obj,data,sel] | ノートブックに data を挿入し,選択位置を sel で指定される位置に移す |
NotebookApply[obj,data,sel] | 選択物を data 中の に挿入して置換し,選択位置を sel で指定される位置に移す |
SelectionEvaluate[obj,sel] | 選択範囲を評価し,選択位置を sel で指定される位置に移す |
SelectionCreateCell[obj,sel] | 新たなセルに選択物を書き出し,選択位置を sel 指定される位置に移す |
SelectionEvaluateCreateCell[obj,sel] | 選択されている式を評価し,新たにセルに結果を書き出し,選択位置を sel で指定される位置に移す |
After | 挿入されたオブジェクトの直後を選択範囲とする (デフォルト) |
Before | 挿入されたオブジェクトの直前を選択範囲とする |
All | 挿入されたオブジェクトそのものを選択範囲とする |
Placeholder | 挿入されたデータ中の最初のを選択範囲とする |
None | 現在の選択範囲をそのまま残す |
選択されている式にFactorIntegerを適用する.評価はしない:
Options[obj,option] | ノートブック全体に関するオプションの設定値を返す |
Options[NotebookSelection[obj],option] | |
選択されているノートブックのオプションの設定値を返す | |
SetOptions[obj,option->value] | ノートブック全体に関するオプションの値を設定する |
SetOptions[NotebookSelection[obj],option->value] | |
選択されているノートブックのオプションの値を設定する |
CreateWindow[] | 新たなノートブックを作る |
CreateWindow[options] | 指定されたオプションを持つ新たなノートブックを作る |
NotebookOpen["name"] | ファイルとして保存されているノートブックを開く |
NotebookOpen["name",options] | ファイルとして保存されているノートブックを,指定したオプション付きで開く |
SetSelectedNotebook[obj] | 選択されているノートブックを設定値とする |
NotebookPrint[obj] | ノートブックをプリンタに出力する |
NotebookPrint[obj,"file"] | ノートブックをPostScript形式でファイルに書き出す |
NotebookPrint[obj,"!command"] | ノートブックのPostScript形式を外部プログラムコマンドに引き渡す |
NotebookSave[obj] | 選択されているノートブックをファイルに保存する |
NotebookSave[obj,"file"] | 選択されているノートブックを新たなファイルに保存する |
NotebookClose[obj] | ノートブックを閉じる |
CreateWindow[]を実行すると,画面上に空のノートブックが現れる.
SetSelectedNotebookやNotebookOpen等のコマンドの実行は,フロントエンドに表示ウィンドウの変更を指示する.表示させないでノートブックの操作を行いたいこともあるだろう.そのような場合は,NotebookOpenやCreateWindowにオプションVisible->Falseを設定すればよい.
$FrontEnd | 現在使用中のフロントエンド |
Options[$FrontEnd,option] | フロントエンドの大域オプションの設定値を返す |
AbsoluteOptions[$FrontEnd,option] | オプションの絶対的な設定を返す |
SetOptions[$FrontEnd,option->value] | フロントエンドのオプションを再設定する |
CurrentValue[$FrontEnd, option] | オプション値を返し,割当ての左辺に使われたときはオプションの設定を許可する |
オプション
|
デフォルト値
| |
NotebookBrowseDirectory | (システム依存) | ノートブックファイルを開いたり保存したりするデフォルトディレクトリ |
NotebookPath | (システム依存) | ノートブックを検索するパス |
Language | "English" | テキストのデフォルトによる言語 |
MessageOptions | (設定値のリスト) | ヘルプや警告メッセージの扱い方オプション |
NotebookWriteを使うことによって,キーボードで入力できる普通のテキストはすべてカーネルから直接入力できる.FrontEndTokenExecuteを使うと,フロントエンドが実行できるコマンドをカーネルから送り出すことができる.これらにはメニューコマンドも含まれる.
FrontEndTokenExecute["name"] | コマンドをフロントエンドで実行する |
"Indent" | 選択されている行をタブ1つ分インデントする |
"NotebookStatisticsDialog" | ノートブックの編集状況を統計化し,結果をダイアログボックスにおいて一覧表で表示する |
"OpenCloseGroup" | セルのグループを開け閉めする |
"CellSplit" | 挿入点があるセルを2分する |
"DuplicatePreviousInput" | 前の入力を新たなセルにコピーする |
"FindDialog" | 検索ダイアログを呼び出す |
"ColorSelectorDialog" | 色の指定ダイアログを呼び出す |
"GraphicsAlign" | 選択中のグラフィックスを配置合せする |
"CompleteSelection" | 選択された文字列を入力として完成する |
FrontEndTokenは引数をフロントエンドトークンとして認識するカーネルコマンドである.FrontEndExecuteは引数をフロントエンドに送り実行させるカーネルコマンドである.例えば,以下のコマンドでは新規ノートブックが作成される.
FrontEndExecuteは引数としてリストを取ることができるので,1回の評価で複数のトークンを実行することが可能である.下のコマンドを評価すると,フロントエンドは新規ノートブックを作成した後にクリップボードの内容をそのノートブックにペーストする.
単純なフロントエンドトークンと複合フロントエンドトークン
単純なトークン
単純なトークンの場合,FrontEndTokenは1つか2つの引数を取ることができる.
引数が2つの場合,FrontEndTokenの引数はNotebookObjectとフロントエンドトークンでなければならない.例えば,現在の評価を含むノートブックを保存するには,FrontEndTokenの第1引数はノートブックオブジェクトのEvaluationNotebook,第2引数はフロントエンドトークンの"Save"になる.
コマンドFrontEndTokenExecute[token]を使って引数が1つの単純なトークンを実行することもできる.これは,FrontEndExecute[FrontEndToken[token]]と同等である.
複合トークン
複合トークンは,動作のいくつかの面を制御するトークンパラメータを持つ.複合トークンの場合,FrontEndTokenの3つの引数は,NotebookObject,フロントエンドトークン,指定されたトークンパラメータでなければならない.
NotebookWrite[obj,data]等のコマンドを実行すると,データの挿入は実際にはフロントエンドによって行われる.しかし普通はコマンド自体を評価するためと,適切な要求をフロントエンドに送るためにカーネルが必要となる.それでも,コマンドによってはフロントエンドだけで実行できるものもあり,カーネルは必要とされない.
NotebookWrite[obj,data] | カーネルが実行するNotebookWrite |
FrontEnd`NotebookWrite[obj,data] | フロントエンドが実行するNotebookWrite |
Wolfram言語は,コマンドはカーネルで実行されるものか,フロントエンドで実行されるものか,コンテキストで区別する.カーネルのコマンドはSystem`コンテキストにあり,フロントエンドコマンドはFrontEnd`コンテキストにある.
FrontEndExecute[expr] | 式 expr をフロントエンドで実行する |
ノートブックの複雑な操作を行うプログラムを書く場合は,プログラムは主にカーネルで実行させるしかない.しかし,ボタンのクリックで実行できる単純な操作は,カーネルを起動しなくても,フロントエンドだけで所定のコマンドを実行することができる.
Cell[contents,"style"] | 一定のスタイルのセル |
Cell[contents,"style1","style2",…] | 複数のスタイルを持つセル |
Cell[contents,"style",options] | オプションが指定されたセル |
"text" | テキスト |
TextData[{text1,text2,…}] | 異なるスタイルの複数のテキスト |
BoxData[boxes] | フォーマットされたWolframシステムの式 |
GraphicsData["type",data] | グラフィックスまたはサウンド |
OutputFormData["itext","otext"] | InputFormおよびOutputFormで生成された式 |
RawData["data"] | セルを式で表示で得られたセル |
CellGroupData[{cell1,cell2,…},Open] | セルの開いたグループ |
CellGroupData[{cell1,cell2,…},Closed] | セルの閉じたグループ |
StyleData["style"] | セルのスタイル |
標準のノートブックフロントエンドでは,オプションインスペクタメニュー項目を使って,任意のレベルのオプションを調べたり設定したりすることができる.特定のレベルにオプションが指定されていなければ,そのオプションには1つ上のレベルのオプション値が継承される.したがって,例えばあるセルにCellFrameオプションが設定されていなければ,そのセルのあるノートブックのすべてのセルにグローバルに設定されている値が使われる.
その結果,ノートブック全体にCellFrame->Trueを設定すれば,そのノートブックのすべてのセルは枠で囲まれる.ただし,特定のセルに対して,あるいはそのセル自体に明示的に別の設定があれば,それが優先される.
Wolframシステムノートブックを使おうとする目的によって,ノートブックのそれぞれに異なる基本的なデフォルトスタイルを選ぶことが望ましい.標準のノートブックフロントエンドでは,スタイルシートメニューから異なるスタイルシートを選ぶことも,スタイルシートの編集メニュー項目を使うこともできる.
"StandardReport" | 日常用,レポート用スタイル |
"NaturalColor" | 日常用のカラフルなスタイル |
"Outline" | アイディアをアウトラインするためのスタイル |
"Notepad" | テキストドキュメントを扱うためのスタイル |
基本的なデフォルトスタイルのそれぞれによって別々のスタイルが提供される.従って,例えばNotepadスタイルシートはテキストドキュメントを扱うことを意図しているので,提供されるスタイルの数は限られている.
オプション
|
デフォルト値
| |
ScreenStyleEnvironment | "Working" | スクリーンへの表示のために使うスタイル環境 |
PrintingStyleEnvironment | "Printout" | 印刷出力のために使うスタイル環境 |
ある特定の基本的デフォルトスタイルについても,Wolframシステムは2つの異なるスタイルを持っている.ひとつは画面表示用で,もうひとつはプリンタ出力用である.画面表示とプリンタ出力に別々のスタイルを設定できることにより,解像度の低いディスプレイと高解像度のプリンタとのそれぞれにスタイルを最適化することができる.
"Working" | 画面表示のスタイル |
"Presentation" | プレゼンテーション用の画面表示スタイル |
"Condensed" | 広い範囲を見たいときの縮小画面表示スタイル |
"Slideshow" | スライド用の画面表示スタイル |
"Printout" | プリンタ出力スタイル |
実際にWolframシステムは,スタイル定義セルを使ってスタイルの定義を行う.このセルはスタイルシートノートブックとして独立に与えられるか,特定のノートブックにオプションとして含まれる.どちらの場合も,標準のノートブックフロントエンドのスタイルシートの編集メニュー項目を使って,スタイル定義にアクセスすることができる.
Wolfram言語はセルに極めて多くのオプションを提供する.フロントエンドのオプションインスペクタメニュー項目から,それらすべてのオプションにアクセスできる.オプションは,個々のセルのレベルに直接設定することもできるし,上位のレベルに設定して下位のレベルに継承させることもできる.
オプション
|
代表的なデフォルト値
| |
CellDingbat | None | セルを強調するためのマーク |
CellFrame | False | セルを囲む枠 |
Background | None | セルの背景色 |
ShowCellBracket | True | セルブラケットの表示 |
Magnification | 1. | セルを表示するときの拡大率 |
CellOpen | True | セルを開いて内容を表示する |
オプション
|
代表的なデフォルト値
| |
CellMargins | {{7,0},{4,4}} | セルの内容が取る余白をプリンタのポイント数で表す |
CellFrameMargins | 8 | セルの縁が内側に取る余白 |
CellElementSpacings | 規則のリスト | セルの要素の配置を決める詳細 |
CellBaseline | Baseline | セルの中のテキストのベースライン |
オプションCellMarginsはセルの周りの上下左右の余白を設定するのに使われる.左右の余白は,フロントエンドのメニュー項目ツールバー ▶ ルーラーを選ぶと表示されるルーラーのマージンストップを使って,対話的に設定することができる.
いかなるオプションも,それがセルの四隅を参照するときは,Wolfram言語は{{左,右},{下,上}}の形で指定する約束になっている.上 と下 に0でない数を指定すると,CellMarginsはセルの上と下にそれだけの余白を取る.値は常にプリンタのポイント数で指定する.
Wolframシステムノートブックのほとんどすべての特性は何らかのオプションによって制御できる.もっと詳細に関する特性の代表はCellElementSpacings等の複数のオプションの集合である.これらのオプションはWolfram言語のルールのリストとして与えられ,サブオプションの列にそれぞれの値を決めるものである.サブオプションの名前は記号でなく,普通,文字列である.
Wolframシステムでは,テキストの中にセルを埋め込むことができる.オプションCellBaselineは,埋め込まれたセルとその前後のテキストとのベースラインの上下関係を決める.GridのオプションBaselinePositionと全く同様に,オプションCellBaselineはセルのどこをベースラインとみなすかを指定する.
この位置関係はCellBaseline->Bottomと指定することによって実行される:
オプション
|
代表的なデフォルト値
| |
CellLabel | "" | セルのラベル |
ShowCellLabel | True | セルのラベルの表示 |
CellLabelAutoDelete | True | セルが編集されたときにラベルを消去する |
CellTags | {} | セルのタグ |
ShowCellTags | False | セルのタグの表示 |
ConversionRules | {} | 外部への変換ルール |
普通のWolframシステムセッションで,カーネルの計算の入力と出力には順にIn[n]:=とOut[n]=のラベルが付けられる.オプションShowCellLabelはこの入出力ラベルを表示するかしないかを決める.オプションCellLabelAutoDeleteは,セルの内容が修正されたときセルのラベルを消去するかしないかを決める.これによってIn[n]:=とOut[n]=のラベルが正しい順の計算を反映することになる.
セルタグは普通キーワードやその他の属性をセルに割り当てるのに使われる.これはNotebookFind.のような関数で検索することができる.Wolframシステムノートブックにおけるハイパーリンクで,検索先を指定するにはこのセルタグを使う.
オプションConversionRulesは,"TeX"->data のようなルールのリストを与えることによって,セルの内容を外部に引き渡すときにフォーマットを変換する様式を指定する.これは,外部のファイルを読み込んでそれをWolframシステムのフォーマットに変換したセル等で,もとのフォーマットを保存しておきたいときに特に役に立つ.
オプション
|
代表的なデフォルト値
| |
Deletable | True | セルをフロントエンドから対話的に消去可能 |
Copyable | True | セルをコピーすることが可能 |
Selectable | True | セルの内容を選択することが可能 |
Editable | True | セルの内容を編集することが可能 |
Deployed | False | セルのユーザインターフェースがアクティブであるかどうか |
オプションDeletable,Copyable,Selectable,Editableは,対話的に対応する操作が可能であるかどうかを指定する.ノートブックのレベルでこの設定をFalseにすると,それに含まれるすべてのセルをプロテクトすることができる.
Deployedでは,セルの内容がユーザインターフェースであるかのように扱える.ユーザインターフェースでは,通常ラベルは選択不可能であり,ボタン等のコントロールは使えても編集はできない.Deployedはセル内部の特定の要素に設定することもできるので,例えば,Manipulateは,それが含まれるセルのDeployedオプションがFalseになっていても,常に出力を配備することができる.
オプション
|
代表的なデフォルト値
| |
Evaluator | "Local" | 式の評価を行うカーネル |
Evaluatable | False | セルの内容を評価可能にするかどうか |
CellAutoOverwrite | False | 新たな出力が古い出力結果を上書きするようにするかどうか |
GeneratedCell | False | そのセルがカーネルによって生成されたかどうか |
InitializationCell | False | ノートブックを開くとそのセルが自動的に評価されるようにするかどうか |
Wolfram言語では,それぞれのセルを別々のカーネルで評価させるようにできる.しかしほとんどの場合,Evaluatorオプションはフロントエンドのカーネル環境設定メニュー項目を使ってノートブックあるいはグローバルレベルに設定される.
Wolfram言語の出力を表現するセルのスタイルでは,オプションCellAutoOverwriteは通常Trueに設定されている.これによって,対応する入力を再び評価すると,以前の計算によって得られている結果は消去されて新たな結果が上書きされる.
オプションGeneratedCellは,フロントエンドによって対話的に作られたセルでなく,フロントエンドが外部から指令を受けて作られたセルに設定される.従って,例えばカーネルが返す結果あるいは二次的出力の書かれたセルはGeneratedCell->Trueと設定される.ノートブックを直接操作することを意図したNotebookWrite,NotebookApply等の低レベル関数により生成されたセルでは,GeneratedCell オプションは設定されない.
オプション
|
代表的なデフォルト値
| |
PageBreakAbove | Automatic | そのセルのすぐ上で改ページ |
PageBreakWithin | Automatic | そのセルの途中で改ページ |
PageBreakBelow | Automatic | そのセルのすぐ下で改ページ |
GroupPageBreakWithin | Automatic | そのセルグループの途中で改ページを許す |
画面に表示されているノートブックは連続的にスクロールできる.しかし,ノートブックを印刷するときはどこで改ページするかを決めなければならない.改ページの設定がAutomaticであると,Wolframシステムは必要に応じて改ページを行う.一方Trueは必ず改ページが行われ,Falseではその反対である.
オプションPageBreakAboveおよびPageBreakBelowを使って設定した改行は,スライドショーのスライドの改ページも決定する.スライドショーを作成する場合,通常各スライドがどこで始まるかを指定する特別な名前のスタイルを持つセルを使う.このスタイルに改ページオプションのいずれかを設定することができる.
オプション
|
代表的なデフォルト値
| |
PageWidth | WindowWidth | ページの幅 |
TextAlignment | Left | テキストの揃え位置 |
TextJustification | 0 | テキストを行にフィットさせるためにどれだけの伸張を許すか |
Hyphenation | False | ハイフンを付けるかどうか |
ParagraphIndent | 0 | 段落のインデントをポイントで表す |
強制改行を含まない長い文は,Wolframシステムが自動的に折り返す.オプションPageWidthは,このときのそれぞれの行の長さを指定する.
WindowWidth | 画面上のウィンドウの幅 |
PaperWidth | プリントしたときのページの幅 |
Infinity | 無限大(改行なし) |
n | 幅をプリンタのポイント単位で表す |
ページ幅PageWidthに関するオプション
オプションTextAlignmentはテキストの改行の揃え方を指定する.Wolframシステムは普通スペースや句読点で改行するので,それぞれの行の長さは一定でない.その結果,段落の端は揃わないことになる.Wolframシステムでは,スペースを調整してそれぞれの行の長さを等しくすることができる.オプションTextJustificationを設定して,行がどのくらい延び縮みしてもよいかの割合を指定できる.TextJustification->1とすると「完全揃え」となる.つまり,行の長さはすべて厳密に等しい.
テキストの揃え位置TextAlignmentのオプション
TextAlignment->Centerでテキストは中央揃えとなる:
TextJustification->1では,語間スペースが調整されて行の長さが一定になる:
TextJustification->0.5では,不揃いは減るものの行の長さは厳密に一定にはならない:
Hyphenation->Trueとすると,テキストにハイフンが付く.
Wolframシステムに複数行に渡る文を書くとき,リターンキーを押すとそれは段落の終りとみなされる.段落の初めのインデント(字下げ)の大きさは,オプションParagraphIndentによって設定される.その量を負の数にすると,初めの行は2行目以降よりも左に飛び出る.
LineSpacing->{c,0} | 各行の高さが行の内容の高さの c 倍になる |
LineSpacing->{0,n} | 各行の高さがプリンタの n ポイントに等しくなる |
LineSpacing->{c,n} | 各行の高さが内容の高さの c 倍と,プリンタの n ポイントの和に等しくなる |
ParagraphSpacing->{c,0} | 段落間のスペースをフォントの高さの c 倍余分に取る |
ParagraphSpacing->{0,n} | 段落間のスペースをプリンタの n ポイント余分に取る |
ParagraphSpacing->{c,n} | 段落間のスペースをフォントの高さの c 倍とプリンタの n ポイントの和だけ余分に取る |
デフォルトの設定LineSpacing->{1,1}のテキスト.行間のスペースが1ポイント余分に取られている:
LineSpacing->{1,5}では,テキストは上下に緩くなる:
LineSpacing->{2,0}では,テキストは1行おきとなる:
LineSpacing->{1,-2}では,行間が詰まる:
オプション
|
代表的なデフォルト値
| |
FontFamily | "Courier" | フォントのファミリ |
FontSubstitutions | {} | フォント代用に使うフォントファミリ |
FontSize | 12 | フォントサイズのポイント数 |
FontWeight | "Bold" | フォントの太さ |
FontSlant | "Plain" | フォントの傾斜 |
FontTracking | "Plain" | フォント間の幅の伸縮 |
FontColor | GrayLevel[0] | 文字の色 |
Background | GrayLevel[1] | 文字の背景色 |
FontWeight->"Plain" | text のようなフォント |
FontWeight->"Bold" |
text のようなフォント
|
FontWeight->"ExtraBold" | text のようなフォント |
FontSlant->"Oblique" | text のようなフォント |
Wolframシステムでは,かなり詳細にフォントを使い分けることができる.しかし,場合によってはフォントに要求するファミリとスタイルの組合せが使っているコンピュータに存在しないことがある.その場合Wolframシステムは,これに最も近いと思われるものを選ぶ.加えて,FontPostScriptName等の補足的なオプションがあり,Wolframシステムが適切なフォントを探し出せるようにすることができる.さらに,FontSubstitutionsにルールのリストを与え,フォントを代用するときに使うフォントファミリを指定することができる.
普通のテキストには極めて多種のフォントを選ぶことができる.しかし,技術的な特殊文字やギリシャ文字については選択の範囲は狭い.Wolframシステムは,それが使うすべての特殊文字のフォントを持っている.それには3つの種類があり,それぞれ普通形(Timesに対応する),等幅(Courierに対応する),サンセリフ(Helveticaに対応する)である.
一定のテキストフォントに対して,Wolframシステムはそれに最もマッチする特殊文字を選ぶ.ユーザは,オプションFontPropertiesに"FontSerifed"や"FontMonospaced"を指定するルールを与えることによってこれを補佐することができる.さらに,"FontEncoding"にルールを与えることによって,明示的にフォントのコードを指定することができる.
オプション
|
代表的なデフォルト値
| |
AutoIndent | Automatic | Return文字挿入後のインデントを自動的にするかどうか |
DelimiterFlashTime | 0.3 | 閉じカッコを入力したときにフラッシュする時間(秒) |
ShowAutoStyles | True | 文法および他の構成体の注釈を自動表示するかどうか |
ShowCursorTracker | True | カーソル位置がジャンプするときの目の誘導のため楕円状のスポットを瞬間表示するかどうか |
ShowSpecialCharacters | True | 閉じカッコ]を入力したときに∖[Name]を対応する特殊文字に変換するかどうか |
ShowStringCharacters | True | 文字列を表す"を表示するかどうか |
SingleLetterItalics | False | 1文字の記号をイタリック体で表示するかどうか |
ZeroWidthTimes | False | 幅0の文字で掛け算を表すかどうか |
InputAliases | {} | EscnameEscエイリアスの追加 |
InputAutoReplacements | {"->"->"",…} | 入力の際自動的に変換される文字列 |
AutoItalicWords | {} | 自動的にイタリック体にする文字列 |
LanguageCategory | "NaturalLanguage" | スペルチェックやハイフン付け用にセルに含まれる言語の種類の仮定 |
StandardFormのデフォルトオプションの入力セルに書き込んだ式:
Wolfram言語にはよく使用される特殊文字のエイリアスが多く組み込まれている.InputAliasesにより,任意の特殊文字あるいは他のWolfram言語入力の独自のエイリアスを追加することができる."name"->expr 形式の規則ではEscnameEscが入力後直ちに expr で置換されるように指定する.
エイリアスは明示的なEsc文字により区切られている.InputAutoReplacementsオプションによりある種の入力文字列は明示的な区切り文字がない場合でも直ちに置換されるよう指定できる.例えば,デフォルトで->は直ちにに置換される."seq"->"rhs"のような規則を与えることによって,入力中に seq がトークンとして表示された場合は直ちに rhs に置換される.
"NaturalLanguage" | 英語のような自然言語 |
"Mathematica" | Wolfram言語入力 |
"Formula" | 数式 |
None | スペルチェックやハイフン付けをしない |
LanguageCategoryを設定してスペルチェックやハイフン付けを制御する
LanguageCategoryオプションにより,セルに含まれる内容の形式の仮定をWolfram言語に指示することができる.これによりスペルや構造のチェックの方法やハイフン使用の方法が決定される.
GridBox[data,opts] | グリッドボックスに適用するオプション |
StyleBox[boxes,opts] | boxes にあるすべてのボックスに適用するオプション |
Cell[contents,opts] | contents にあるすべてのボックスに適用するオプション |
Cell[contents,GridBoxOptions->opts] | contents にあるすべてのGridBoxオブジェクトに対するデフォルトのオプション |
「式のテキスト形入出力」で述べたように,Wolfram言語には式の表示に関するたくさんのオプションがある.StyleBox[boxes,opts]を使って,複数のボックスにこのオプションを設定することができる.また,StyleBoxで設定できるオプションは,Cellオブジェクトにも,あるいはNotebook全体にも設定できる.したがって,例えばBackgroundやLineIndentのようなオプションは個々のStyleBoxにもセル全体にも指定することができる.
例えばGridBoxのように,特定の型のボックスにのみ当てはまるオプションもある.普通これらのオプションは個々のGridBoxに必要に応じて指定する.しかし,特定のセルに含まれるすべてのGridBoxにこれらのオプションを一括して設定すると便利なこともある.これはセル全体にオプションGridBoxOptionsとして与えれば,これらの設定がデフォルトとなる.
Wolfram言語は,XXXBoxという名前のボックスのほとんどに,そのボックスタイプに対するデフォルトのオプション設定を指定することのできるセルオプション XXXBoxOptionsを提供する.オプションを取るボックスタイプは,XXXスタイルを定義することでスタイルシートでそのオプションを設定することもできる.Wolframシステムに付属のスタイルシートは,そのようなスタイルを多数定義している.
■ メニュー項目オプションインスペクタを使って対話的に設定する. |
■ カーネルのコマンドSetOptions[obj,options] を実行する. |
■ CreateWindow[options]でオプション指定の新しいノートブックを作る. |
オプション
|
通常のデフォルト値
| |
StyleDefinitions | "Default.nb" | ノートブックの基本的なスタイルシート |
ScreenStyleEnvironment | "Working" | 画面に表示するときのスタイル |
PrintingStyleEnvironment | "Printout" | プリンタで印刷するときのスタイル |
特定のノートブックにスタイルオプションを与える際に,Wolframシステムが別のノートブックのスタイルを使うようにしたり,あるいはスタイルを定義するNotebook式を明示的に読み込むようにできる.
オプション
|
通常のデフォルト値
| |
CellGrouping | Automatic | セルのグループ化 |
ShowPageBreaks | False | ノートブックをプリントするときの改ページの位置の表示 |
NotebookAutoSave | False | ひとつひとつの出力につき,自動的にノートブックを保存する |
CellGrouping->Automaticの設定では,そのスタイルに従ってセルはグループ化される:
CellGrouping->Manualの設定では,手でセルをグループ化しなければならない:
オプション
|
通常のデフォルト値
| |
DefaultNewCellStyle | "Input" | ノートブックに新しく作られるセルのデフォルトスタイル |
DefaultDuplicateCellStyle | "Input" | すでにあるセルが自動的に複製されるときのデフォルトスタイル |
オプション
|
通常のデフォルト値
| |
Editable | True | 編集可能 |
Selectable | True | 選択可能 |
Deletable | True | 消去可能 |
ShowSelection | True | 現行選択範囲をハイライトするかどうか |
Background | GrayLevel[1] | 背景色 |
Magnification | 1 | 表示の拡大率 |
PageWidth | WindowWidth | ページの幅 |
オプションBackgroundをノートブックのレベルで与えたノートブック:
オプション
|
代表的なデフォルト値
| |
Visible | True | 画面上に見える |
WindowSize | {Automatic,Automatic} | ウィンドウの幅と高さ(ポイント数) |
WindowMargins | Automatic | ウィンドウの周りの余白 |
WindowFrame | "Normal" | ウィンドウの枠 |
WindowElements | {"StatusArea",…} | ウィンドウに含む要素 |
WindowTitle | Automatic | ウィンドウのタイトル |
WindowFloating | False | すべてのウィンドウの最も手前 |
WindowClickSelect | True | クリックで選択される |
DockedCells | {} | ウィンドウ上部のドック部分の内容を指定するセルのリスト |
WindowSizeはウィンドウの大きさを指定する.WindowMarginsは画面上のどこにウィンドウをおくかの指定をする.WindowMargins->{{left,right},{bottom,top}}によって,画面上でウィンドウの周りに取られる余白をピクセルで指定する.普通このうちの2つを指定し,他はAutomaticとするが,これは使っているディスプレイによって余白が自動的に決められる.
WindowClickSelectは,ウィンドウがパレットのように動作するようにするかどうかを決める主要なオプションである.パレットとは一般に,それ自体を選択する必要のあるウィンドウというよりも,他のウィンドウに作用する内容を含むウィンドウである.また,パレットには通常WindowFloating->TrueやWindowFrame->"Palette"等の別のオプション設定がある.
DockedCellsを使うと,ウィンドウ上部に残しておきたいどのような内容を指定することもできる.DockedCellsオプションは,通常カスタムツールバーを定義するのに使われる.デフォルトスタイルシートの多くには,特定の環境で定義されたDockedCellsオプションがあり,スライドショーの提示やパッケージファイルの編集等の目的のツールバーが作成できる.
"Normal" | 普通のウィンドウ |
"Palette" | パレットウィンドウ |
"ModelessDialog" | モードレスダイアログボックス |
"ModalDialog" | モーダルダイアログボックス |
"ThinFrame" | 細い枠で囲んだ普通のウィンドウ |
"Frameless" | 枠なしのウィンドウ |
"Generic" | 一般的な縁のウィンドウ |
ウィンドウの枠(WindowFrame)指定のオプション
Wolframシステムではさまざまな型のウィンドウを使うことができる.それぞれの型のウィンドウの表示形態はコンピュータによって異なるが,一般的な形式は共通である.WindowFrameはウィンドウの枠の型を指定する.WindowElementsはウィンドウに取り入れる特定の要素のリストである.
"StatusArea" | StatusArea等により出力されるステータスメッセージを表示する領域 |
"MagnificationPopUp" | リサイズボックス |
"HorizontalScrollBar" | 水平移動スクロールバー |
"VerticalScrollBar" | 垂直移動スクロールバー |
標準のノートブックフロントエンドでは多様でグローバルなオプションを設定することができる.これらのオプションの値はデフォルトで「初期設定ファイル」に保存されていて,Wolframシステムを起動するたびに読み込まれる.これらのオプションには,環境設定ダイアログを使って操作できる設定がすべて含まれている.
スタイルの定義 | 新しいノートブックのデフォルトのスタイル定義 |
ファイルの保管場所 | ノートブックとシステムファイルの検索パス |
データのエキスポート設定 | さまざまなフォーマットでのデータの書出し |
コード規格設定 | 特殊記号のコード |
言語設定 | テキストに使う言語 |
メッセージ設定 | Wolframシステムによって生成されたメッセージの取扱い |
ダイアログ設定 | ダイアログボックスの選択値 |
システム設定 | システムの環境設定 |
カーネルからOptions[$FrontEnd,name]を使ってフロントエンドのグローバルオプションにアクセスできる.しかし,多くの場合,フロントエンドの「オプションインスペクタ」を使って対話的にこれらのオプションを設定する.