虚拟全书 > 笔记本和文档 > 文本输入和输出 > 文本格式的框符表示 >

文本格式的框符表示

Mathematica 中的所有文本和图形格式最终是用框符的嵌套集合来表示的. 通常这些框符中的元素对应于要放在二维相对位置处的对象.
这里是对应于表达式 的框符.
In[1]:=
Click for copyable input
Out[1]=
DisplayForm 表明这些框符是如何显示的.
In[2]:=
Click for copyable input
Out[2]//DisplayForm=
DisplayForm[boxes]表明 boxes 被显示的格式

表明被显示的框符的格式.

将3个字符串在一行中显示.
In[3]:=
Click for copyable input
Out[3]//DisplayForm=
将一个字符串作为另一个字符串的下标.
In[4]:=
Click for copyable input
Out[4]//DisplayForm=
将两个下标框符放在一行.
In[5]:=
Click for copyable input
Out[5]//DisplayForm=
"text"原样的文本
RowBox[{a,b,...}]一行框符或字符串
GridBox[{{a1,b1,...},{a2,b2,...},...}]
一个框符网
SubscriptBox[a,b]下标
SuperscriptBox[a,b]上标
SubsuperscriptBox[a,b,c]上下标
UnderscriptBox[a,b]底标
OverscriptBox[a,b]顶标
UnderoverscriptBox[a,b,c]顶底标
FractionBox[a,b]分式
SqrtBox[a]平方根
RadicalBox[a,b]b  次方根

一些基本的框符类型.

分式嵌套于根式内.
In[6]:=
Click for copyable input
Out[6]//DisplayForm=
将上标放在一个下标对象上.
In[7]:=
Click for copyable input
Out[7]//DisplayForm=
一个对象同时具有上下标.
In[8]:=
Click for copyable input
Out[8]//DisplayForm=
FrameBox[box]box 的周围加边框
GridBox[list,RowLines->True]GridBox 内的行间加线条
GridBox[list,ColumnLines->True]GridBox 内的列间加线条
GridBox[list,RowLines->{True,False}]
仅在第一行下面加线条

插入边框和网格线.

给分式加边框.
In[9]:=
Click for copyable input
Out[9]//DisplayForm=
在阵列的行与列之间都加线条.
In[10]:=
Click for copyable input
Out[10]//DisplayForm=
在它的外围再加边框.
In[11]:=
Click for copyable input
Out[11]//DisplayForm=
StyleBox[boxes,options]按指定选项的设置显示 boxes
StyleBox[boxes,"style"]按指定样式显示 boxes

修改框符的外观.

StyleBoxStyle 的选项相同,区别在于 Style 是一个高层函数,应用于表达式中决定其显示方式,而StyleBox 是对应的低层函数,表示框符的自身结构.
字符串 用斜体显示.
In[12]:=
Click for copyable input
Out[12]//DisplayForm=
按当前笔记本中节标题的样式显示 .
In[13]:=
Click for copyable input
Out[13]//DisplayForm=
使用节标题样式,但字符为灰色.
In[14]:=
Click for copyable input
Out[14]//DisplayForm=
如果使用的是 Mathematica 的笔记本前端,则可以用菜单项直接改变屏幕上显示的样式和外观,但这些改变在内部仍将通过插入适当的 StyleBox 对象而记录下来.
FormBox[boxes,form]用与指定格式有关的规则解释 boxes
InterpretationBox[boxes,expr]boxes 当作表达式 expr 的表示形式
TagBox[boxes,tag]tag 引导 boxes 的解释
ErrorBox[boxes]指出错误并不再对 boxes 进行解释

控制框符的解释.

显示具有上标的 .
In[15]:=
Click for copyable input
Out[15]//DisplayForm=
通常将它解释成一个幂.
In[16]:=
Click for copyable input
Out[16]//InputForm=
重新将它作为具有上标的 .
In[17]:=
Click for copyable input
Out[17]//DisplayForm=
但现在按照 InterpretationBox 中的指定,将它解释为 .
In[18]:=
Click for copyable input
Out[18]//InputForm=
在编辑 InterpretationBox 中给出的框符时,无法保证解释框符给出的解释仍是正确的. 于是,Mathematica 就提供了许多选项使用户对 InterpretationBox 对象的选择和编辑进行控制.
选项
默认值
EditableAutomatic是否允许对内容进行编辑
SelectableTrue是否允许对内容进行选择
DeletableTrue是否允许对框符进行删除
DeletionWarningFalse是否在框符被删除时发出警告
BoxAutoDeleteFalse当内容修改后是否除去这个框符
StripWrapperBoxesFalse是否在 TagBoxboxes 内除去 StyleBox

InterpretationBox 和相关框符的选项.

TagBox 对象用于存储不显示的信息,这些信息被解释框符的规则使用. 一般地,TagBox 中的 tag 是一个符号,给出对应于 boxes 的表达式的头部. 如果仅编辑这个表达式中的变量,由 TagBox 指定的解释很可能是适当的. 因此,Editable->TrueTagBox 的默认设置.
Mathematica 用于解释框符的规则一般不考察 StyleBox 等对象定义的格式细节. 这样在不使用 False 时,红色的 与普通的黑色 没有区别.
一般情况下,红色的 与普通的 同样对待.
In[19]:=
Click for copyable input
Out[19]=
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF