特殊字符
Mathematica 内部建立了大量的特殊字符用于数学和其它符号. "字符名称列表" 给出了完整的列表.
每个特殊字符被赋以全名,例如 \[Infinity]. 更多常见的特殊字符还被赋以别名,例如 EscinfEsc. 用户可以使用 "表达式输入和输出选项" 中讨论的 InputAliases 笔记本选项设置其它别名.
对于在
标准用语中支持的特殊字符,Mathematica 也允许使用基于 TeX 名称的别名. 例如,可以使用别名 Esc\inftyEsc 来输入 \[Infinity]. Mathematica 还支持基于SGML和HTML中使用的名称的别名,如 Esc∞Esc.
许多计算机系统的标准系统软件还支持按键组合来输入某些特殊字符. 例如,在 Macintosh 中 Option+5 将生成
. 在笔记本前端,Mathematica 自动地允许用户使用有效的特殊键组合. 在文本界面中,用户可以通过对 $CharacterEncoding 设置适当的值使 Mathematica 接收这样的按键组合.
| • 使用全名,例如 \[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 和
中,某些对 Mathematica 来说有直接含义. 但大多数没有含义. 对特殊字符这同样也是对的.
因此,例如,
和
对 Mathematica 有一个直接含义,而
和
没有直接含义.
| In[4]:= |
| Out[4]= |
| In[5]:= |
| In[6]:= |
| Out[6]= |
字符,如
和
被 Mathematica 作为和普通键盘字母,如
或
,一样的字母进行处理.
但是,字符,如
和
被 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]= |
传统的数学符号中偶然使用普通字母作为算符. 例如,在积分中字母
作为微分算符,如积分中出现的
一样.
为了使 Mathematica 有精确的和一致的句法. 必须至少在 StandardForm 中区分普通字母
和微分算符
.
Mathematica 解决这个问题的方法是使用特殊字符
或者 \[DifferentialD] 作为微分算符. 这个可以用别名 EscddEsc来输入.
| In[11]:= |
| Out[11]= |
当字母或者类似字母的形式出现在 Mathematica 输入时,它们被作为符号名称处理. 但是当算符出现时,函数必须对应于这些算符来构造. 在几乎所有的情况下,Mathematica 所做的事情是处理函数,该函数的名称是作为算符出现的特殊字符的全名.
| In[12]:= |
Out[12]//FullForm= | |
| In[13]:= |
Out[13]//FullForm= | |
按照算符名和函数名的对应,代表 Mathematica 内部函数的特殊字符,如
具有对应于这些函数的名称. 例如,
被命名为 \[Divide],它对应于 Mathematica 的内部函数 Divide,而
被命名为 \[Implies],对应于内部函数Implies.
然而,一般情况下, Mathematica 特殊字符被命名为尽可能一般化,以便不损害不同的使用. 最常见的是,字符被命名主要根据其外观. 因此,字符
被命名为 \[CirclePlus],而不是
,而
被命名为 \[TildeTilde] ,而不是
.
有一些字符看起来相似,但是代表不同的算符. 例如,\[Times] 和 \[Cross]. \[Times] 对应于普通的乘法 Times 函数; \[Cross] 对应于向量叉积函数 Cross. \[Cross] 的符号
比 \[Times]的符号
小一些,这是根据数学排印中的使用.
| In[14]:= |
| Out[14]= |
| In[15]:= |
| Out[15]= |
| In[16]:= |
| Out[16]= |
在 \[And] 和 \[Wedge] 的例子中,\[And] 算符——写的大一些——相应于 Mathematica 的内部函数 And,而\[Wedge] 算符基于字符的外观有一个一般的名称,它与内部函数没有关系.
| In[17]:= |
Out[17]//FullForm= | |
常在数学表示法中用作算符的一些特殊字符看起来与普通的键盘字符相似. 例如,
或 \[Wedge] 看起来很像标准键盘字符
.
Mathematica 把键盘上的
解释为幂. 而把
解释为一般的 Wedge 函数. 在特殊字符与键盘字符相似的情况下,习惯上使用普通键盘字符作为特殊字符的别名. 例如,Esc^Esc 是 \[Wedge] 的别名.
| In[18]:= |
| Out[18]= |
一个相关的惯例是当特殊字符被用来代表能用普通键盘字符打出的算符时,这些字符被用作特殊字符的别名. 例如,Esc->Esc 是
或 \[Rule]的别名,而 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 常常给相似的字符以相似的别名;一般惯例是,不常用的字符的别名,开头有一个空格.
Mathematica 笔记本前端允许用户对特殊字符建立自己的别名,也可以覆盖内部别名. 习惯上自定义的别名在开头使用点号或者逗号.




