入力式の評価法をカスタマイズできるように,出力式の表示書式もカスタマイズできる.カーネルから式が出力される前に書式変更関数
Format[expr]が適用される.
Format[expr]にカスタム書式をあらかじめ指定しておけば,式の表示様式を自由に変えれる.具体的には,指定したい書式をボックスオブジェクト等で構成し,書式変更関数
Format[expr]に割り当てておく.関数が出力式に適用されると,ボックス形の書式に対応した数学記号等が使われ式がカスタム表示される.
このように,書式変更関数
Formatを個別に定義しておくことで,特定の式を別の形で表示できる.さらに,特定の要素に対応した書式変換法をプログラムに記述しておき,プログラム全体を書式変更関数に割り付けておけば,より複雑な変換が実現できる.
出力する式にいくつも演算子がある場合,どの演算子の引数をカッコでくくる必要があるのだろうか.また,どうやって見分けるのだろう.実は,演算子の評価優先度に応じてカッコが使われることになっている(
「式の特殊な入力法」を参照のこと).デフォルトの優先順位が適当でない場合は,関数
PrecedenceFormを使い演算子の優先度が変えられる.指定可能な優先度は1から1000のレベルで,高い値ほど高い優先度を意味し,また,カッコが不要になる方向である.
Format[expr]で式
expr に対応した変換書式を定義すると,現行の出力表記が標準的な出力表記のいずれかである限り変換書式は有効である.また,
Format[expr, form]を使えば表記法を限定した上で式
expr の書式変換ができる.