1

更一般的问题是:如何在样式选项中执行内核计算,以及如何在其样式选项之一(例如 CellFrameLabels)中访问单元格的内容。

我想做的是将 CellFrameLabels 基于单元格的 CellTags 的内容,并在样式表中定义 CellFrameLabels。从Getting CellDingbat to remember its state between Mathematica session我看到内核计算可以在单元格样式选项中使用动态和控件完成,但是如何引用当前正在格式化的单元格?格式化操作是否有某种等同于 EvaluationCell 的东西?我意识到即使有“FormattedCell”之类的东西,我也可能无法使用SelectionMove[EvaluationNotebook[],All,FormattedCell],但我希望你能明白我想要得到什么。我尝试使用 CurrentValue,但我得到了 $Failed。


我很抱歉缺乏明确性。我将在这里部分回答我的问题,以此来说明我想要完成的工作。但是,我真正想要的是样式表代码,它可以实时给出与单元格样式相同的结果。

NotebookFind[EvaluationNotebook[], "TAG1", All, CellTags];
SetOptions[NotebookSelection[],
  CellFrameLabels->{{Cell[TextData[{"T1"}],CellBaseline->Baseline,BaseStyle->Text],
      Inherited},{Inherited, Inherited}}];
NotebookFind[EvaluationNotebook[], "TAG2", All, CellTags];
SetOptions[NotebookSelection[],
  CellFrameLabels->{{Cell[TextData[{"T2"}],CellBaseline->Baseline,BaseStyle->Text],
      Inherited},{Inherited, Inherited}}];

我可以在样式表中根据单元格自己的标签设置 CellFrameLabels 的值,就像在上面的代码中所做的那样(在上面的代码中,通过事后对笔记本中的每个单元格进行迭代)?也许这是不可能的。只是问问而已。

4

0 回答 0