工具栏简介

Wolfram 语言的独特的符号体系使用户可以轻松地将任意外观和行为的工具栏添加到 Wolfram 系统笔记本中.

标尺

标尺是用来设置选中单元的文本边幅和单元名称以及关键字的缩进的一个工具. 通过在 窗口 菜单中选择 显示标尺 或者通过使用笔记本选项 WindowToolbars,可以把笔记本标尺添加到笔记本中.

WindowToolbars->"RulerBar"用来显示边幅设置标尺的笔记本选项值
窗口 显示标尺用于切换笔记本顶部的标尺显示的菜单项

显示标尺.

例如,通过运行 SetOptions[EvaluationNotebook[],WindowToolbars->"RulerBar"],在当前笔记本中会出现标尺.

停驻单元

停驻单元在笔记本顶部显示为一个工具栏或者通栏标题,并且视为已部署单元处理.

DockedCells->cells这个笔记本选项给出显示为笔记本顶部的停驻单元的列表

停驻单元.

虽然在 cells 中可以包括任何单元类型,我们建议只有具有单元样式 的单元类型才可以使用. 样式 确保单元的行为与工具栏类似.

在当前笔记本中实现停驻单元的一种方法是使用SetOptions[EvaluationNotebook[],DockedCells->cells].

下面是包含一个字符串的停驻单元的一个简单的例子.

In[11]:=
Click for copyable input

下面的例子包含以 TraditionalForm 形式表示的数学表达式 .

In[12]:=
Click for copyable input

控件对象(如行为菜单、弹出菜单、按钮、输入栏等)也可以在停驻单元中使用. 创建工具栏内容,并且使用ToBoxes 对其进行封装,以便自动生成前端框符结构. 然后把 ToBoxes 表达式放入 CellBoxData 中. 例如,下面的输入创建了一个行为菜单工具栏,它把一个带有选定样式的单元放在插入点的位置上.

In[9]:=
Click for copyable input
In[10]:=
Click for copyable input

如果工具栏元素之间的间距是静态的,停驻单元中的某些元素在特定窗口宽度时可能变为隐藏的. 这可以通过缩放Grid 中项目的大小解决. 下面的例子包括了一个标签和 ButtonBar.

In[11]:=
Click for copyable input
In[12]:=
Click for copyable input

在笔记本中可以包括多个停驻单元.

In[13]:=
Click for copyable input

扩展范例

文字处理工具栏

这个范例包括设置文本对齐和间距、打开字体对话框、打印对话框和 参考资料中心 的按钮. 在这个例子中,每个工具栏元素是分别生成的,然后在最后利用 ToBoxesCreateWindow 语句中将其转化为框符.

下面是控制笔记本文本的间距和对齐的一列按钮.
In[14]:=
Click for copyable input
Out[14]=
这个按钮打开 字体 对话框并且设置文本选择的格式化选项.
In[15]:=
Click for copyable input
Out[15]=
这个按钮打开系统打印对话框,可以用来打印笔记本.
In[16]:=
Click for copyable input
Out[16]=
这个按钮打开 参考资料中心.
In[17]:=
Click for copyable input
Out[17]=
下面是工具栏中的按钮的标签:
In[20]:=
Click for copyable input
Out[20]=
下面是一个新笔记本中的完全工具栏:
In[21]:=
Click for copyable input
Click for copyable input

装饰性的工具栏

图像也可作为停驻单元. 如下所示,将一个 1399×24 像素的图像作为装饰性的停驻单元,就像在许多样式表中看到的一样.

In[22]:=
Click for copyable input
In[23]:=
Click for copyable input

在样式表中定义工具栏

停驻单元也可以在样式表而非单个笔记本中定义. 例如,带有 NaturalColor 样式表的笔记本在每个笔记本的顶部都有如下的停驻单元.

11.gif

样式表的 DockedCells 选项值存储在一个样式表笔记本的笔记本样式定义单元中. 如要添加一个停驻单元,首先打开一个样式表笔记本. 如果该单元在样式表中不存在,创建一个带有 Cell[StyleData["Notebook"]] 形式的新单元,并且把它放在笔记本顶端.

12.gif

通过把笔记本样式定义单元更新为如下形式 Cell[StyleData["Notebook"],DockedCells->{cells}],就可以把停驻单元 cells 添加到样式表中. 例如,输出上面的例子中的单元.

In[2]:=
Click for copyable input

去掉输出单元的格式,并且将单元笔记本复制到笔记本样式定义单元中,作为 DockedCells 的选项值.

14.gif

最后,选择 单元 显示表达式 来重新格式化笔记本样式定义单元.

15.gif

任何带有这个样式表的新笔记本都将包括该停驻单元.