Wolfram mathematica 指定级别上每个组唯一的上下文

Wolfram mathematica 指定级别上每个组唯一的上下文,wolfram-mathematica,mathematica-frontend,mathematica-7,Wolfram Mathematica,Mathematica Frontend,Mathematica 7,Mathematica的最新版本通过以下方式为每个单元格组提供唯一的$Context: 评估>笔记本的默认上下文>每个单元格组的唯一性 这是一个吸引人的概念,但我发现它无法使用,因为我的代码跨越多个单元格组 我想为特定级别的单元格组指定一个唯一的上下文,例如每个部分,但不是每个子部分或子子部分的单独上下文 解决方案需要在创建新的单元格组时影响它们。您应该能够通过修改笔记本的样式表来实现这一点。您可以使用选项CellContext设置上下文。mma文档这样做是为了将示例上下文限制为单元格组。您

Mathematica的最新版本通过以下方式为每个单元格组提供唯一的
$Context

  • 评估>笔记本的默认上下文>每个单元格组的唯一性
这是一个吸引人的概念,但我发现它无法使用,因为我的代码跨越多个单元格组

我想为特定级别的单元格组指定一个唯一的上下文,例如每个
部分
,但不是每个
子部分
子子部分
的单独上下文


解决方案需要在创建新的单元格组时影响它们。

您应该能够通过修改笔记本的样式表来实现这一点。您可以使用选项
CellContext
设置上下文。mma文档这样做是为了将示例上下文限制为单元格组。

您可以通过手动分组单元格来实现这一点,而不是依赖自动分组机制。在相关笔记本中,使用菜单项Cell/Grouping/Manual Grouping启用手动分组。现在,当您输入节、子节等时,它们将不会自动分组。选择要在单个组中的单元格,并使用菜单项“Cell/Grouping/group cells/group Together”。现在它们已经分组了,您可以将CellContext设置为CellGroup,它们将一起发挥作用。

但是哪些单元格组呢?你是说我只能影响某个级别的单元格组,而不会影响该级别的子组吗?如果你选择“CellContext->”yourNameHere“ToString[SectionNumber]”倒勾“在输入单元的定义中,我认为它应该工作。唯一的问题是获取SectionNumber,据我所知,SectionNumber隐藏在
计数器框[“section”]
元素中,我不知道如何从中提取数字。Sjoerd,你也请上传一个以这种方式设置的笔记本或样式表。@mr.wizard你错过了我答案的微妙措辞:“你应该能够…”;-)。但我(不时地)在做这件事,主要的问题是如何获得部门编号。我有一个问题要问。我明白了。谢谢你花时间在这件事上!这似乎不是我想要的(我只是尝试过),手动分组太乱了。花环,你能上传一个你认为我想要的笔记本文件吗?两个人投了赞成票,所以要么对他们有效,要么他们不明白我想完成什么。@Mr.Wizard请看一看。注意,我的答案不能完全满足你的需要,因为我需要手动干预新的单元格组需要。您能描述一下这些单元格上下文的一些可能用途吗?@magma帮助本身就是一个很好的例子。通过使每个单元格组具有唯一的上下文,您可以(在大多数情况下)安全地评估示例,避免它们相互干扰,或干扰您自己的笔记本。我希望能够在我自己的笔记本中有类似的行为,解决一系列相关但上下文独立的主题或问题,同时保留使用小节等来组织这些主题的代码的能力。