此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

2.8.11 格式中的细节调节

Mathematica 中提供了大量的可选项以调节表达式格式设置中的细节. 在大部分情况下,这些选项的默认值是相当合理的. 但有时所处理的表达式 的特点需要改变这些可选项.

单元网 (GridBox )的可选项

建立数字阵列

GridBox 的所有选项取默认值下,这个阵列如何显示的方式

Out[2]//DisplayForm=

各列中的元素右对齐

Out[3]//DisplayForm=

前两列左对齐,后一列右对齐

Out[4]//DisplayForm=

在各列中留空格

Out[5]//DisplayForm=

令各列有相同的宽度

Out[6]//DisplayForm=

一般情况下,GridBox 按每行中当前出现的字形为字符留出空格. 但用 RowMinHeight->0 可将行安排得紧一些

Out[7]//DisplayForm=

ColumnAlignments可选项

在建立复杂表格时,表中各元素对齐方式的仔细控制是重要的.设置 ColumnAlignments->"c" 告诉 Mathematica 在排列每列的元素时将元素中出 现的第一个 c 对齐.选择 ColumnAlignments->"." 时,数字将按照其小数 点对齐. Mathematica 还提供了一个特殊字符 \[AlignmentMarker] ,它可以被输入为 AliasIndicatoramAliasIndicator . 这个字符不明确显示,但可以插入表中的元素内以表示 这些元素在什么位置对齐.

Alignments可选项

这是 GridBox 中一行元素的默认对齐

Out[8]//DisplayForm=

这是每个元素下部对齐的结果

Out[9]//DisplayForm=

在通常的文本中相继的字符均字按基准线对齐. mx 等大部分字母,基准线 与底部重合. 一般来讲,基准线就是主要部分的底部,例如在大部分字型中, gy下降到基准线之下.

用默认设置 RowAlignments->Baseline 对齐字符

Out[10]//DisplayForm=

按底部对齐时的排列

Out[11]//DisplayForm=

在通常的文本中,单元序列和字符一样按基准线对齐.对不同类型的单元, 基准线简单地取作单元主要元素的基准线. 例如,上标单元  的基准线.
对一个 FractionBox  , 分数线定义了单元的轴线, 在文本的一个字符中,仍然可以定义一轴线,对+和(等对称字符, 它是通过字符中心的线. 分数单元的基准线与轴线的距离和文本中当前 字符的基准线到字符轴线的距离相同.
GridBox,可以用 GridBaseline 选项去指定基准线的位置, 可能的设置与 RowAlignments 相同. 默认的是轴线,它使得 GridBox 的中心与它所在文本的轴线对齐.

GridBaseline 选项指定 GridBox 的基准线

Out[12]//DisplayForm=

ButtonBox 的格式选项

这里产生了一个外表与对话框中的元素类似的按纽

Out[13]//DisplayForm=

用行和列均无间隔的 ButtonBox 对象设置调色板

Out[14]//DisplayForm=

在一个 GridBox 中按纽展开成相互对齐的格式

Out[15]//DisplayForm=

这里下面的按纽没有展开

Out[16]//DisplayForm=

2.10.6 节将讨论怎样设置 ButtonBox 对象的行为.

距离的单位

各种宽度的空格字符

输入 x+y 后,Mathematica 立即将它转化为 RowBox[{"x","+","y"}]. 当 RowBox 输出时,Mathematica 就在它的各个元素间加适当的空格. 一般地在 + 等运算符前后加较大的空格,在 x 等非运算符前后加较小的空格. 明确插入空格字符可修改这些空格的大小. 正空格字符可以加大距离, 负空格字符可以缩小距离.

Mathematica 一般在 +, - 等运算符前后加较大的空格

Out[17]//DisplayForm=

可以明确插入正负空格字符以改变间隔

Out[18]//DisplayForm=

Mathematica中禁止自动定位

在相继的两个字符间加相同的空格

Out[19]//DisplayForm=

将一个表达式显示在屏幕上时,在笔记本前端中可以交互地对元素 的位置进行细致的调节.一般地 ControlKeyLeftModified RightModified, ControlKeyLeftModified RightModified, ControlKeyLeftModified RightModified, ControlKeyLeftModified RightModified ]将所选择的 元素按当前屏幕的刻度调节一个象素. 这种调节在 Mathematica 中用 AdjustmentBox.

调节一个单元的位置

B 前加空格,B 之后减空格

Out[20]//DisplayForm=

通过仔细地调节,可以上两个字符重合

Out[21]//DisplayForm=

AdjustmentBox 中的左右边幅的单位用 em,上下边幅的单位用 x-heights. 通过正值边幅可以加大此处单元的距离,用负值可以消去一些空格 使单元靠紧.在 RowBox 中,竖直方向的对齐按基准线进行,而在 FractionBoxOverscriptBox 中对齐则按上下边幅进行.

给单元留出空位,但不显示它们

在排列输出的不同元素时,可以在 StyleBox 中用 ShowContents->False 给单元留下空位,但不显示它们.

Y 留出空格,但不显示它

Out[22]//DisplayForm=

大部分字符的尺寸是由它们所用的字形确定的,这些字形是由 StyleBox 中的 FontSize 确定的. 但也有一些特殊的可扩字符,它们的大小即使在 某一个字形内也会改变. 例如括号,默认设置它能扩张以便 包含它所含的表达式.

默认括号可以扩张以覆盖它所含的表达式

Out[23]//DisplayForm=

控制可扩张字符的 StyleBox 可选项

在简单的 RowBox 中的括号按默认情况扩张以覆盖出现在 RowBox 内元素

Out[24]//DisplayForm=

一些可扩张的字符按默认状态只能扩张到一定的尺寸

Out[25]//DisplayForm=

这里指定在 StyleBox 中的字符可任意扩张到所需要的大小

Out[26]//DisplayForm=

在默认情况下,可扩张字符对称性地增长

Out[27]//DisplayForm=

设置 SpanSymmetric->False 可允许可扩张字 符非对称地增长

Out[28]//DisplayForm=

笔记本前端提供了空位字符菜单,它允许改变当前所选字符扩张的特征.

可扩张字符的默认特征

顶部的括号按默认设置扩张到覆盖 OverscriptBox

Out[29]//DisplayForm=

右箭头水平扩张以覆盖它所在的列

Out[30]//DisplayForm=

上箭头同时扩张以覆盖它所在的行

Out[31]//DisplayForm=

控制下标位置和大小的StyleBox选项

设置 SuperscriptBox 对象 的嵌套

默认设置中相继的上标逐渐变小

Out[33]//DisplayForm=

令所有层次的上标同样大小

Out[34]//DisplayForm=

相继的上标逐渐变小,但仅小到 5 点尺寸

Out[35]//DisplayForm=

Mathematica 按照上, 下标出现的环境优化它们的位置. 当需要排列几种不同 的上下标时,就要使用 ScriptBaselineShifts 选项去明确指定每个移位的距离.

第 2 个下标比第一个下标稍微向下移了一点

Out[36]//DisplayForm=

Mathematica 对两个下标进行相同的移位

Out[37]//DisplayForm=

UnderoverscriptBox及相应单元的可选项

求和的上下限通常是作为顶底标处理的

当和式以较小的形式出现时,上下限就作为上下标处理

这里 lowhigh 直接在 XX 之上和之下显示

Out[40]//DisplayForm=

这里将它们移到上, 下标的位置

Out[41]//DisplayForm=

LimitsPositioning->Automatic 与单元中第一个变量是 \[Sum]] 或 \[Product]LimitsPositioning->True 一样.可以通过设置LimitsPositioningTokens 选项来指定 这些字符的集合.

单元中的分行选项

当处理长表达式时,不可避免地要出现多行. 许多单元在分行 显示时改变它们的显示特性.

在一行显示分式

这个分式显示在几行之中

MultilineFunction 去指定一个单元是否要多行显示. 设置 MultilineFunction->None 禁止一个单元分行.
可以用 \[NoBreak] 和 \[NonBreakingSpace] 字符去控制表达式 的分行,Mathematica 会尽量避免在这些地方分行. 可以明确插入 \[NewLine] 字符令 Mathematica 分行,在笔记本前端中,只要简单地 用一个回车即可.默认的设置是回车后的下一行自动缩进. 但缩进的多少 在这一行开始后不再改变. 插入 \[IndentingNewLine] 字符可以让 Mathematica 在一行所出现环境的基础上保持适当缩进水平.

控制分行的字符

这里是第一层次上的换行

这里的换行发生在很深的层次