ボックス形テキスト表記
テキスト表記の式は,究極的にすべてボックスの集合として表せる.ボックスとは二次元的に相対配置されるオブジェクトを指す.

の式を表すボックスである.
| Out[1]= |  |
Out[2]//DisplayForm= |
| |  |
ボックスの表示
Out[3]//DisplayForm= |
| |  |
Out[4]//DisplayForm= |
| |  |
Out[5]//DisplayForm= |
| |  |
| "text" | 文字列 |
| RowBox[{a,b,...}] | ボックスの行あるいは文字列  |
| GridBox[{{a1,b1,...},{a2,b2,...},...}] |
| ボックスの配列  |
| SubscriptBox[a,b] | 下付き文字ボックス  |
| SuperscriptBox[a,b] | 上付き文字ボックス  |
| SubsuperscriptBox[a,b,c] | 上付き下付き文字ボックス  |
| UnderscriptBox[a,b] | 真下付き文字ボックス  |
| OverscriptBox[a,b] | 真上付き文字ボックス  |
| UnderoverscriptBox[a,b,c] | 真上真下付き文字ボックス  |
| FractionBox[a,b] | 分数ボックス  |
| SqrtBox[a] | 平方根ボックス  |
| RadicalBox[a,b] | b 次根  |
基本的なボックス
根号の中に分数を入れるためボックスをネストさせる.
Out[6]//DisplayForm= |
| |  |
文字書式ボックスを組み合せ,上付き文字を下付き文字の後に付ける.
Out[7]//DisplayForm= |
| |  |
1つのボックスで,上付き文字と下付き文字を一括で作る.
Out[8]//DisplayForm= |
| |  |
罫線
Out[9]//DisplayForm= |
| |  |
配列の列と列の間,そして,行と行の間に罫線を引く.
Out[10]//DisplayForm= |
| |  |
Out[11]//DisplayForm= |
| |  |
| StyleBox[boxes,options] | ボックス boxes に書式を適用する |
| StyleBox[boxes,"style"] | ボックス boxes にスタイルを適用する |
ボックスの書式変更
StyleBoxの条件設定の仕方はStyleと同じである.両者の違いは,Styleが式の表示方法を決定するよう式に対して適用される高レベル関数であるのに対し,StyleBoxは根底にあるボックス構造においてそれに対応する低レベル関数であるという点である.
Out[12]//DisplayForm= |
| |  |
今度は,文字列を現在のノートブックに登録されている見出し用スタイルで表示させる.
Out[13]//DisplayForm= |
| |  |
見出し用スタイルを使うが,文字は灰色で表示させる.
Out[14]//DisplayForm= |
| |  |
ノートブック用フロントエンドを使っている場合,スタイルや表示書式はメニューを介して直接変更できる.それでも内部では,書式変更があるたびにStyleBoxのオブジェクトが挿入される.
| FormBox[boxes,form] | ボックス boxes に表記 に関連した規則を適用する |
| InterpretationBox[boxes,expr] | ボックス boxes が指定式 expr を表すものと解釈する |
| TagBox[boxes,tag] | ボックス boxes にタグ tag を関連付けて解釈する |
| ErrorBox[boxes] | エラーの旨を告げ,ボックス boxes の解釈処理を停止する |
ボックスの解釈

に上付き文字を付けて表示する.
Out[15]//DisplayForm= |
| |  |
Out[16]//InputForm= |
| |  |

に上付き文字が付いて表示される.
Out[17]//DisplayForm= |
| |  |
Out[18]//InputForm= |
| |  |
InterpretationBoxにあるボックスを編集してしまうと,解釈用情報が不正になってしまうかもしれない.これを防ぐためにInterpretationBoxオブジェクトの選択や編集を制限するオプションが各種用意されている.
InterpretationBoxと関連するボックスのオプション
TagBoxを使うと,ボックスの内容を解釈しやすくする情報を付加しておくことが可能である.例えば,ボックス boxes に対応する式の頭部を tag という関数にするには,TagBox[boxes, tag]と指定する.オブジェクトを編集しても,それが引数だけなら,オブジェクトと関数の関連付けは残るのでTagBoxは引き続き的確であると解釈できる.ボックスを編集可能にしておくため,Editable->Trueのデフォルトの条件が事実上TagBoxに与えられている.
各種の規則がボックスの内容に適用され,式の解釈が行われる.規則の適用において,通常,StyleBoxオブジェクト等の書式指定は無視される.このため,StripWrapperBoxes->Falseの条件があらかじめ設定していなければ,例えば,文字色が赤でも
なら文字色が黒の普通の
と同じにみなされてしまう.
文字色が赤でも,

は通常,普通の黒の

と同じに扱われる.
| Out[19]= |  |