TemplateBox
TemplateBox[{box1,box2,…},tag]
是一个底层结构,参数化框 boxi 的显示和计算.
TemplateBox["key1"expr1,"key2"expr2,…,tag]
允许使用可能是框或不是框的任意表达式.
更多信息和选项
- TemplateBox 的参数是插入函数,创建一个新的框表达式用于显示或计算. 选项 DisplayFunction 指定用于显示结构框的函数,InterpretationFunction 指定用于计算的函数.
- 如果 TemplateBox 的 tag 是一个字符串,那么样式会被用于 TemplateBox.
- 可以给出以下选项:
-
BaseStyle {} 使用的样式 CopyFunction Automatic 将 boxi 组装成复制到剪贴板时使用的框结构的纯函数 DisplayFunction None 把 boxi 集成于用于显示的框结构中的纯函数 Editable Automatic 是否允许 boxi 被编辑 InterpretationFunction Automatic 把 boxi 集成于用于计算的框结构中的纯函数 Selectable Automatic 是否允许 boxi 被单独选择 SyntaxForm Automatic 出于解析目的应如何解释该框 Tooltip None 当鼠标移到框上时显示的工具提示条 TooltipStyle {} 工具提示条的样式规范 TooltipDelay 0. 显示工具提示条前延迟多久 - DisplayFunction,InterpretationFunction 与 CopyFunction 只接受允许简单重排和代入框结构的纯函数. 函数不在 Wolfram 语言内核中计算,也不支持标准的内核功能.
- 如果使用 TemplateBox 的关联形式,则纯函数可以使用 Slot["keyi"] 或 # keyi 来引用 expri.
- 出现在 Dynamic 或控件(例如 Slider 或 Checkbox)的主参数中的纯函数的参数将被有效地视为DynamicModule 变量.
- 如果 DisplayFunction 在样式表中被指定,当样式表改变时,所有 TemplateBox 的显示例子会统一改变.
- TemplateBox 的一个重要特征是,用户可编辑、可互动的对象只是 TemplateBox 的框符参数,而不能编辑 DisplayFunction 中的框符.
- CopyFunctionAutomatic 表示 Edit ▶ Copy 应该使用由 DisplayFunction 或 InterpretationFunction 生成的框,具体取决于 TextClipboardType 选项的值.
- 你可以编写使用 TemplateBox 的 MakeBoxes 和 MakeExpression 规则以便于定义新的符号.
- 如果 TemplateBox 不能支持任意框表达式作为参数,一般可使用选项 Editable->False 来阻止用户编辑参数.
范例
打开所有单元关闭所有单元基本范例 (3)
范围 (1)
使用 InterpretationFunction 控制模板的计算方式:
推广和延伸 (1)
非框形式的值可以与 InterpretationBox 一起用作解释的一部分:
选项 (11)
DisplayFunction (1)
DisplayFunction 覆盖任何从样式表继承到的 DisplayFunction:
Editable (1)
默认情况下,TemplateBox 的内容是可编辑的:
SelectableFalse 将使得无法编辑框的任何单个参数:
InterpretationFunction (2)
Selectable (1)
默认情况下,TemplateBox 的内容是可选的:
SelectableFalse 将使得无法选择框的任何单个参数:
SyntaxForm (1)
SyntaxForm 可用于设置作为操作符的 TemplateBox 的优先级:
可能存在的问题 (2)
导致无效框结构的 DisplayFunction 会产生错误:
文本
Wolfram Research (2008),TemplateBox,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TemplateBox.html (更新于 2020 年).
CMS
Wolfram 语言. 2008. "TemplateBox." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/TemplateBox.html.
APA
Wolfram 语言. (2008). TemplateBox. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TemplateBox.html 年