Wolfram mathematica 如何从笔记本[]中删除不必要的选项?

Wolfram mathematica 如何从笔记本[]中删除不必要的选项?,wolfram-mathematica,Wolfram Mathematica,默认情况下,笔记本[]有一小组选项: In[4]:= Options[EvaluationNotebook[]] Out[4]= {FrontEndVersion -> "7.0 for Microsoft Windows (32-bit) (February 18, 2009)", StyleDefinitions -> "Default.nb", WindowMargins -> {{0, Automatic}, {Automatic, 0}}, Win

默认情况下,
笔记本[]
有一小组
选项

In[4]:= Options[EvaluationNotebook[]]

Out[4]= {FrontEndVersion -> 
  "7.0 for Microsoft Windows (32-bit) (February 18, 2009)", 
 StyleDefinitions -> "Default.nb", 
 WindowMargins -> {{0, Automatic}, {Automatic, 0}}, 
 WindowSize -> {616, 537}}
有时我希望修改
笔记本
外观并设置其他
选项
。例如,我希望注释是
普通的
,而不是
粗体的

SetOptions[EvaluationNotebook[], 
 AutoStyleOptions -> {"CommentStyle" -> {FontWeight -> Plain, 
     FontColor -> GrayLevel[0.6`], ShowAutoStyles -> False, 
     ShowSyntaxStyles -> False, AutoNumberFormatting -> False}}]
现在
Options[EvaluationNotebook[]
将返回我设置的新选项

但有时我希望恢复默认行为并删除附加的
选项
。我该怎么做

(1)选择
格式->选项检查器
(或在Windows上选择
Shift+Ctrl+O

(2) 对于“显示选项值”旁边的两个字段,选择
笔记本
作为文本

(3) 选择并删除下面框中的所有文本

(4) 单击应用

在理解NotebookGet之后,我相信这适用于完整选项重置

NotebookPut[
 Notebook@First@NotebookGet[EvaluationNotebook[]],
 EvaluationNotebook[]]
使用:


伊戈尔的答案几乎是正确的。删除由设置的选项的步骤

SetOptions[EvaluationNotebook[], 
 AutoStyleOptions -> {"CommentStyle" -> {FontWeight -> Plain, 
     FontColor -> GrayLevel[0.6`], ShowAutoStyles -> False, 
     ShowSyntaxStyles -> False, AutoNumberFormatting -> False}}]
你需要跑步

SetOptions[EvaluationNotebook[], 
 AutoStyleOptions -> {"CommentStyle" -> Inherited}]
但这只适用于标准选项和默认继承选项(如果是单元格,则来自封闭部分或笔记本,如果是笔记本,则来自样式表)。如果你自己做出选择怎么办

Protect[HiddenData];
SetOptions[EvaluationNotebook[], HiddenData -> {"here's a string"}]
我不知道如何以编程方式删除此选项


编辑: 实际上,要删除上面创建的HiddenData选项,我可以使用

NotebookPut[DeleteCases[NotebookGet[EvaluationNotebook[]], 
                        $CellContext`HiddenData -> _], 
            EvaluationNotebook[]]

编辑2: Mr向导询问如何删除所有用户设置的笔记本选项。假设这意味着所有无法继承的选项,那么我认为以下选项应该有效:

NotebookPut[
 With[{nb = NotebookGet[EvaluationNotebook[]], opts = Options[Notebook][[All, 1]]}, 
  Prepend[Select[Rest@nb, MemberQ[opts, First[#]] &], First@nb]], 
 EvaluationNotebook[]]
但是可能有一些与样式表相关的选项我忽略了

如果他指的是如何恢复系统默认的笔记本选项,那么您可以删除所有笔记本选项:

NotebookPut[Notebook[First@NotebookGet[EvaluationNotebook[]]], 
            EvaluationNotebook[]]

有没有一种方法可以通过编程来实现这一点?好问题!我得考虑一下。我倾向于手工做这些事情,因为我不经常做。这似乎不起作用。也就是说,样式化的评论保持样式化。谢谢。使用
NotebookGet
/
NotebookPut
的方法对我来说是全新的。您如何使用此方法删除所有用户设置的笔记本选项?@Mr.Wizard:问得好。请参见编辑2.。@Mr.Wizard:我指的是格式上的差异,这些差异没有实际效果。我想这是一个数学短语。想想在中使用的Mod[]操作符。在一个物理系统中,如果你的对称性改变了数学的形式,而不是物理的形式,你可以说某些东西是相同的“模对称变换”。
NotebookPut[Notebook[First@NotebookGet[EvaluationNotebook[]]], 
            EvaluationNotebook[]]