特殊文字
Mathematica には数学表記やその他の表記で使うための非常に多くの特殊文字が組み込まれている.「名前付き文字のリスト」に特殊文字の一覧があるので参考にするとよい.
特殊文字のひとつひとつには\[Infinity]のような固有の呼名が付けられている.また,よく使われる特殊文字には早く呼び出せるように短縮名(エイリアス)が割り当てられている.エイリアスにはEscinfEscのような呼名の短縮形が使われる.「式の入出力に関するオプション」にあるノートブックオプションのInputAliasesを使って,独自のエイリアスを作ることもできる.
TeXの標準言語で提供される特殊文字なら,TeXに基づいたエイリアスを使い呼び出せるようになっている.例えば,\[Infinity]を入力するにはエイリアスEsc\inftyEscを使えばよい.Mathematica では,さらに,SGMLとHTML規格で使われる名前に基づいたエイリアス,例えば,Esc∞Escもサポートされる.
さらに,多くのコンピュータに搭載されている標準オペレーティングシステムでは特殊文字を入力するため特殊な組合せキーが提供される.例えば,Macintoshコンピュータでは,ほとんどのフォントでOption+5の組合せキーを押すと
が入力できる.ノートブック用フロントエンドを使っている場合,定義さえしてあればこのような組合せキーがいつでも使える.また,テキスト型インターフェースを使っている場合でも,$CharacterEncodingに適切な値をセットしておけば組合せキーが使えるようになる.
| • 完全名を使う.(例 :\[Infinity]) |
| • エイリアスを使う.(例 :EscinfEsc) |
| • TeXのエイリアスを使う.(例 :Esc\inftyEsc) |
| • SGMLまたはHTMLのエイリアスを使う.(例 :Esc∞Esc) |
| • パレット上のボタンをクリックする. |
| • オペレーティングシステムの提供する組合せキーを使う. |
ノートブックでは,キーボードから入力する普通の文字と同じように特殊文字が使える.特殊文字は普通の文章にはもちろんのこと,Mathematica に入力する数式やコマンドにも使ってよい.
Mathematica の式で使うとき,特殊文字によっては特別な意味を持つものがある.例えば,
はMathematica のPiを意味し,
は関係演算子
として機能する.また,
は関数Unionの機能を持つ.
| In[1]:= |
| Out[1]= |
| In[2]:= |
| Out[2]= |
| In[3]:= |
| Out[3]= |
普通の文字でもEや
のように数式処理上の特別な意味を持つものもあるが,そのほとんどは意味を持たない.特殊文字の場合も同じである.
つまり,例えば,
と
は特別な意味を持つが,
と
は持たない.
このことは
と
についてユーザ定義の関数を設けることを許す.
| In[4]:= |
| Out[4]= |
| In[5]:= |
| In[6]:= |
| Out[6]= |
や
のような文字は単なる文字としてキーボードにある
や
の普通のアルファベット文字のように扱われる.
一方,
や
のような文字は演算子として扱われる.Mathematica ではこれらの特殊文字に特別な意味付けをしていないが,それでも,Mathematica の文法に準じた使い方をしなければならない.
| In[7]:= |
| Out[7]= |
| In[8]:= |
| In[9]:= |
| Out[9]= |
入力式が Mathematica でどう解釈されるか,その詳細は標準形(StandardForm )を使っているか慣用形(TraditionalForm)を使っているかでも違う.また,解釈ボックス(InterpretationBox )等の構成体に与えた付加情報によっても違ってくる.
特殊文字にすでに組み込まれている規則をMakeExpressionを使い無効とする新規則を設けてやらない限り,Mathematica は特殊文字に同じ基本的な文法上の性質を割り当てる.
特殊文字が Mathematica の入力としてどう解釈されるかは,それに割り当てられた文法的特性による.また,その特性は,特殊文字で構築した式の構造をも決める.さらに,この特性は特殊文字の表示書式にも影響を与える.例えば,文字が演算子として作用するなら,文字の両側には補助的なスペースが挿入される.普通の文字ならスペースは挿入されない.
特殊文字を使うときは,目的にあったものかどうかをよく確かめてから使うとよい.表示上似たような文字がいくつかあるが,それぞれ違ったものである.
まぎらわしい特殊文字に総和のための演算子
すなわち\[Sum]がある.この文字は表示上,文字の
すなわち\[CapitalSigma]に非常によく似ている.
それでも,
のギリシャアルファベットに比べて演算子
はどちらかというと簡素に描かれ形式的な形を持つ.また,
は総和の演算子であれば,総和式の大きさにより文字の大きさが調整される.ギリシャ文字としての
は現行フォントの大きさしか取らない.
\[CapitalAlpha]と
の場合,両方とも文字として扱われるが,Mathematica では異なった文字として扱う.また,フォントを変えたりすれば,極めて違う形で表示される.
| In[10]:= |
| Out[10]= |
伝統的な数学の記述では演算子に普通のアルファベットが使われる.例えば,積分で使う微分記号
にある
がそれに対応する.
正確で一様な文法を維持するために,少なくとも標準形(StandardForm)では普通の
と微分演算子である
は分けて使われる.
特殊文字である
と\[DifferentialD]は微分を行う演算子である.この特殊文字はエイリアスEscddEscを使っても入力できる.
| In[11]:= |
| Out[11]= |
Mathematica への入力成分としてアルファベットやそれに類似した文字があるとき,それらは通常,変数や関数等の名前を表すものとして扱われる.また,演算子があると,それに対応した関数が構築されなければならない.そのとき取られる手順として,演算子として機能する特殊文字の完全名が抽出され,構築する関数の名前に当てられる.
| In[12]:= |
Out[12]//FullForm= | |
| In[13]:= |
Out[13]//FullForm= | |
上述の演算子名と関数名の間に見られる関係に従い,Mathematica の組込み関数,例えば
を意味する特殊文字は組込み関数の名前を持つ.いくつかの例を見てみよう.特殊文字
は名前が\[Divide]で,組込み関数Divideに関連付けられている.また,特殊文字
は,\[Implies]の名前を持ち,組込み関数Impliesに関連付けられている.
演算子となるものを除き,特殊文字には可能な限り慣用的な名前が付いている.Mathematica 内の別の記述と混同しないように.特殊文字の多くはそれらの表示の形を説明するような名前を持つ.
には\[CirclePlus]の名前が付けられている.
のような機能的な名前ではない.また,
には名前\[TildeTilde]が付いている.
ではない.
文字の中には同じように表示されるが全く違った演算子を表すものもある.例として\[Times]と\[Cross]がある.\[Times]は掛け算の関数Timesを表すためにあるが,\[Cross]はベクトルの外積を計算する関数Crossに対応している.また,Mathematica の表示技法の正確性を反映して,\[Cross]の表示形
は\[Times]の表示形
に比べて,やや小さく描かれる.
| In[14]:= |
| Out[14]= |
| In[15]:= |
| Out[15]= |
| In[16]:= |
| Out[16]= |
\[And]と\[Wedge]を比べてみよう.\[And]は後者に比べやや大きめに描かれ組込み関数Andに関係付けられる.一方,\[Wedge]は表示形を表すような名前を持つが,特殊な意味は持たない.
| In[17]:= |
Out[17]//FullForm= | |
数学表記の演算子として普通使われる特殊文字の中にはキーボードの普通の文字に表示上よく似たものがある.例として,キーボードにあるハット記号
に似ている
すなわち\[Wedge]がある.
Mathematica ではハット記号
はベキ乗として解釈される.一方,
は汎用のWedge関数として扱われる.キーボードの文字に類似した特殊文字がある場合,規約で特殊文字のエイリアスにはキーボードの文字が充てられる.例えば,\[Wedge]のエイリアスはEsc^Escとされる.
| In[18]:= |
| Out[18]= |
キーボードで入力できる演算子を表すために特殊文字を使うときは,上記の規約に関連した規約が使われる.つまり,キーボードの文字が特殊文字のエイリアスに充てられる.例として,
または\[Rule]を表すEsc->Escがある.また,Esc&&Escは
または\[And]を表す.
| In[19]:= |
Out[19]//FullForm= | |
類似する文字の中で最も異なった働きを持つものに垂直バー記号がある.
表示形 | 名前 | エイリアス | 意味 |
| x|y | | | Alternatives[x,y] | |
| x | \[VerticalSeparator] | Esc|Esc | VerticalSeparator[x,y] |
| x|y | \[VerticalBar] | Esc | VerticalBar[x,y] |
| \[LeftBracketingBar] | Escl|Esc | BracketingBar[x] | |
| \[RightBracketingBar] | Escr|Esc |
\[VerticalBar]のエイリアスはEsc
|Escである.また,より頻繁に使われる\[VerticalSeparator]のエイリアスはEsc|Escである.Mathematica では,似通った文字には似通ったエイリアスがよく与えられている.また,より一般的でない文字に対しては,エイリアスの先頭にスペースを加える,という有効な規約がある.
| EscnnnEsc | 一般的な文字に使う組込み型のエイリアス |
| Esc | 類似しているが一般的ではない文字に使う組込み型のエイリアス |
| Esc.nnnEsc | Mathematica セッションで定義される大域的なエイリアス |
| Esc,nnnEsc | 特定のノートブックで定義されるエイリアス |
ノートブック用フロントエンドを使っている場合,特殊文字に対してユーザ定義のエイリアスを与えることができる.必要ならば,組込み済みのエイリアスを上書きする形で定義してもよい.規約では,ユーザ定義のエイリアスはコンマで始まることになっている.
特殊文字に対してどんなエイリアスを使おうが,その文字がファイル等に保存されるときは常に完全名が使われることに注意が必要である.




