GetHelpBrowserLocationMetaTag Rest LinkTrail Tags First Null
此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)
 /

2.8.12 单元的字符串表示

Mathematica 中提供了用字符串表示单元的紧凑形式,这在 输入, 输出作为普通文本的指定单元时特别方便.

这里产生了一个表示 SuperscriptBoxInputForm 字符串

这里产生一个 SuperscriptBox

ToExpressionSuperscriptBox 解释为幂

Out[3]//FullForm=

重要的是区分表示原始单元的形式和表示单元含义的形式.

这里对应一个原始的 SuperscriptBox

这里对应于 SuperscriptBox 所表示的幂

此表达式产生的是一个幂

Out[6]//FullForm=

区别原始的单元和它代表的表达式

将一个 StandardForm 单元拷贝到文本编辑器或其它程序时,Mathematica 自动产生一 个 \!\( ... \) 形式.这样做的目的是以后要将这个形式贴到 Mathematica 时, StandardForm 原来的内容就自动产生.如果没有 \!,得到的仅是对应于这些内容的 原始单元.
在默认设置下,贴到 Mathematica 的 \!\( ... \) 形式自动按二维显示. 从键盘 直接输入的 \!\( ... \) 形式用 Edit 菜单中的 Make 2D 项二维形式显示.

在字符串中嵌套二维单元结构

Mathematica 通常把出现在一个字符串中 \( ... \) 的形式当字符序列处理. 当插入 \! 后,Mathematica 把它按所代表的单元处理. 用这种方式可以 把单元结构嵌入通常的字符串中.

Mathematica 将它当作通常字符串处理

\! 告诉 Mathematica 这个字符串含有一些单元

可以将单元与通常文本混用

单元的输入形式

Mathematica 要求单元的输入包含在 \( 和 \) 内. 但在最外层的 \(和 \) 内 还可以再用 \( 和 \) 以进行分组.

这里通常的括号用来分组

Out[10]//DisplayForm=

设有括号分组就不一样

Out[11]//DisplayForm=

\( 和 \) 指定了分组,但不明确出现括号

Out[12]//DisplayForm=

内部的 \( 和 \) 产生了 RowBox 结构

Mathematica 中输入 aa+bb 时,开始将 aa,+ 和 bb 当作分离的记号. 当 \( 和 \) 输入单元结构时也产生同样的分离记号. 但在单元内, 每一个记号是一个字符串,而不是它的原始形式.

RowBoxaa, + 和 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=

在笔记本前端,可以用 ControlKeyLeftModified*RightModifiedControlKeyLeftModified8RightModified 得到一个对话框,在这个框中,可以像在 \* 后一样输入原始单元.

控制输入的解释方式

StandardForm 单元中,这个按 StandardForm 解释,产生一个乘积

\ `告诉 MathematicaTraditionalForm 解释

当从笔记本拷贝一个单元的内容到文本编辑器等程序时,\`一般不出现. 但从一个单元到另一个单元复制时,一般需要包含 \ `以便所有内容能被正确地 解释.