2.8.12 单元的字符串表示Mathematica 中提供了用字符串表示单元的紧凑形式,这在 输入, 输出作为普通文本的指定单元时特别方便. 这里产生了一个表示 SuperscriptBox 的 InputForm 字符串
Out[1]= |  |
这里产生一个 SuperscriptBox
Out[2]= |  |
ToExpression 将 SuperscriptBox 解释为幂 Out[3]//FullForm=
 |
重要的是区分表示原始单元的形式和表示单元含义的形式. 这里对应一个原始的 SuperscriptBox
Out[4]= |  |
这里对应于 SuperscriptBox 所表示的幂
Out[5]= |  |
此表达式产生的是一个幂 Out[6]//FullForm=
 |
区别原始的单元和它代表的表达式 将一个 StandardForm 单元拷贝到文本编辑器或其它程序时,Mathematica 自动产生一 个 \!\( ... \) 形式.这样做的目的是以后要将这个形式贴到 Mathematica 时, StandardForm 原来的内容就自动产生.如果没有 \!,得到的仅是对应于这些内容的 原始单元. 在默认设置下,贴到 Mathematica 的 \!\( ... \) 形式自动按二维显示. 从键盘 直接输入的 \!\( ... \) 形式用 Edit 菜单中的 Make 2D 项二维形式显示. 在字符串中嵌套二维单元结构 Mathematica 通常把出现在一个字符串中 \( ... \) 的形式当字符序列处理. 当插入 \! 后,Mathematica 把它按所代表的单元处理. 用这种方式可以 把单元结构嵌入通常的字符串中. Mathematica 将它当作通常字符串处理
Out[7]= |  |
\! 告诉 Mathematica 这个字符串含有一些单元
Out[8]= |  |
可以将单元与通常文本混用
Out[9]= |  |
单元的输入形式 Mathematica 要求单元的输入包含在 \( 和 \) 内. 但在最外层的 \(和 \) 内 还可以再用 \( 和 \) 以进行分组. 这里通常的括号用来分组 Out[10]//DisplayForm=
 |
设有括号分组就不一样 Out[11]//DisplayForm=
 |
\( 和 \) 指定了分组,但不明确出现括号 Out[12]//DisplayForm=
 |
内部的 \( 和 \) 产生了 RowBox 结构
Out[13]= |  |
在 Mathematica 中输入 aa+bb 时,开始将 aa,+ 和 bb 当作分离的记号. 当 \( 和 \) 输入单元结构时也产生同样的分离记号. 但在单元内, 每一个记号是一个字符串,而不是它的原始形式. RowBox 将 aa, + 和 bb 分离成字符串 Out[14]//FullForm=
 |
+ 前后的空格按默认情况被取消 Out[15]//FullForm=
 |
\ 插入一个空格 Out[16]//FullForm=
 |
这里是两个嵌套 RowBox Out[17]//FullForm=
 |
即使给定的字符串不对应于完整的 Mathematica 表达式,也形成同样的单元结构 Out[18]//FullForm=
 |
在 \( ... \) 序列内,可以用\建立象 \^ 和 \@. 一类的单元.对其它类型 的单元需要用 \* 的 Mathematica 常用输入. 这里产生一个 StyleBox Out[19]//DisplayForm=
 |
这里产生一个 StyleBox Out[20]//DisplayForm=
 |
\* 的作用像退出一样: 即使在 \( ... \) 序列内,也可以输入常用的 Mathematica 语句,且在 \* 后仍可以输入一个含 \( ... \) 的序列. 可以改变嵌套的 \* 和 \( ... \) . 在 \( ... \) 外要加引号 Out[21]//DisplayForm=
 |
在笔记本前端,可以用  * 或  8 得到一个对话框,在这个框中,可以像在 \* 后一样输入原始单元. 控制输入的解释方式 在 StandardForm 单元中,这个按 StandardForm 解释,产生一个乘积
Out[22]= |  |
\ `告诉 Mathematica 用 TraditionalForm 解释
Out[23]= |  |
当从笔记本拷贝一个单元的内容到文本编辑器等程序时,\`一般不出现. 但从一个单元到另一个单元复制时,一般需要包含 \ `以便所有内容能被正确地 解释.
|