AttachCell

AttachCell[expr]

expr 作为一个单元附加到当前在计算的单元上.

AttachCell[obj,expr]

expr 作为一个单元附加到笔记本、单元或框符对象 obj 上.

AttachCell[obj,expr,pos]

指明附加单元应该在相对 obj 的位置 pos 处.

AttachCell[obj,expr,pos,dist]

指明附加单元应距位置 pos 一段距离 dist.

AttachCell[obj,expr,pos,dist,opos]

为附加单元赋值,使得 expr 中的位置 opos 在距位置 pos 一段距离 dist 的地方.

AttachCell[cellobj,expr,"Inline"]

指明附加单元应在 cellobj 底部和其底边之间的位置.

更多信息和选项

  • 附加单元只在当前显示版本的笔记本中,但不会随着笔记本保存.
  • AttachCell[obj,] 仅在对象 obj 存在的情况下有作用.
  • 附加单元有效部署,其中只有控制有效.
  • AttachCell 在成功的情况下会返回附加单元的 CellObject,否则返回 $Failed. 可通过在该 CellObject 上调用 NotebookDelete 可销毁得到的附加单元对象.
  • 如果 expr 是一个原始 Cell 表达式,TextCellExpressionCell,则其会被解释为合适类型的单元. 任何其他表达式会被看做等价于 ExpressionCell[expr].
  • obj 可以是下列类型的表达式之一:
  • BoxObject[]附加到指定框对象所占据的矩形区域;附加的单元与其父框一起滚动
    CellObject[]附加到指定单元对象所占据的矩形区域;附加的单元与其父单元一起滚动
    NotebookObject[]附加到笔记本窗口本身的矩形区域;无论滚动位置如何,附加的单元都固定在窗口中
    NotebookSelection[NotebookObject[]]附加到笔记本中当前选择的矩形区域;即使选择稍后发生变化,附加的单元仍保持在文档的相对位置
  • 附加单元可以通过指定一个附加单元或包含在附加单元内的对象 obj 进行嵌套.
  • 多次调用 AttachCell 可将多个单元附加到 obj 上.
  • 附加单元的展示通常会覆盖母笔记本的其他内容,且范围不会延伸到母笔记本窗口外. 若附加点在笔记本内滚动,则附加单元也会随之滚动.
  • 位置参数 posopos 可使用下列值:
  • Center中心
    Left左侧中心
    Right右侧中心
    Top顶部中心
    Bottom底部中心
    {hor,ver}hor 指定的水平位置和由 ver 指定的垂直位置
  • 还可以为 pos 指定下列附加值:
  • "CellBracket"可由其自身指定或作为 pos 的水平分量附加到顶层单元的单元框上
    "Inline"附加在顶层单元下并将下方的单元格挤出
  • 距离 dist 可通过下列方式指定:
  • Automatic定位在边界上
    None定位在中心
    d离边界 d 个单位
    Scaled[d]离边界一个比例距离
    Absolute[d]离边界一个绝对距离
    Offset[{dx,dy},d]距离 d 有一个偏移
  • AttachCell[obj,expr] 等价于 AttachCell[obj,expr,{Center,Bottom},Automatic,Automatic].
  • 附加单元会和内嵌单元以同样的方式从 obj 中继承格式.
  • 若条件中的任意一项 condi 发生,则 AttachCell[,RemovalConditions->{cond1,cond2,}] 自动移除附加单元. 可能的条件包括:
  • "EvaluatorQuit"单元的默认核退出
    "MouseExit"鼠标离开区域
    "MouseClickOutside"点击在区域外注册
    "ParentChanged"母对象以任何方式被编辑
    "SelectionExit"选择行为离开该区域
  • 一些移除条件定义了一个区域,在这个区域外采取操作会移除附加单元. 这个区域包括了 objexpr 占用的一些屏幕空间. 如果同样地 obj 是一个附加单元,则 obj 的区域也会被包括. 如果有单元附加到 expr 上,则该区域会延展到包含所有嵌套附加内容的范围.
  • 如果 obj 是一个顶层单元,则该区域包括单元格边框. 在单元下方的单元插入点选择会被看做是在区域内的一个选择.

范例

打开所有单元关闭所有单元

基本范例  (4)

附加一个包括输入单元给定文本的单元:

删除附加单元:

设置 "Inline" 布局,则附加单元会将笔记本当前的内容挤出:

将附加单元展示在附加单元的右侧:

将附加单元的右上角对其单元边框的顶部:

范围  (3)

使用 EvaluationBox 将单元附加到一个按钮上:

AttachCell 可以将一个单元附加到附加单元上:

删除被附加单元也会删除附加在其上的单元:

将单元附加到笔记本上:

推广和延伸  (2)

当单元显示时自动创建一个附加单元:

使用 InheritScope 将一个附加单元的 DynamicModule 连接到其附件的 DynamicModule 上:

选项  (2)

RemovalConditions  (2)

默认情况下,附加单元会在其附加的对象存在的情况下一直存在:

这个单元只能通过 NotebookDelete 的操作进行删除:

创建一个附加单元,当你点击附加外区域的时候,该单元会关闭:

创建一个附加单元,当其附加到的单元被编辑时,该附加单元关闭:

属性和关系  (1)

设置 AttachedCellTrue,则 Cells 可发现附加的单元:

互动范例  (1)

在使用控制棒交互时附加动态内容:

巧妙范例  (2)

在单元边框周围显示自定义评价指标:

在单元边框周围显示评价过程:

Wolfram Research (2020),AttachCell,Wolfram 语言函数,https://reference.wolfram.com/language/ref/AttachCell.html (更新于 2024 年).

文本

Wolfram Research (2020),AttachCell,Wolfram 语言函数,https://reference.wolfram.com/language/ref/AttachCell.html (更新于 2024 年).

CMS

Wolfram 语言. 2020. "AttachCell." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/AttachCell.html.

APA

Wolfram 语言. (2020). AttachCell. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/AttachCell.html 年

BibTeX

@misc{reference.wolfram_2024_attachcell, author="Wolfram Research", title="{AttachCell}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/AttachCell.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_attachcell, organization={Wolfram Research}, title={AttachCell}, year={2024}, url={https://reference.wolfram.com/language/ref/AttachCell.html}, note=[Accessed: 22-November-2024 ]}