如何从Notebook []中删除不必要的选项?

时间:2011-03-07 09:53:02

标签: wolfram-mathematica

默认情况下Notebook[]有一小组Options

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}}

有时我希望修改Notebook外观并设置其他Options。例如,我希望评论为Plain而不是Bold

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

现在Options[EvaluationNotebook[]]也将返回我设置的新选项。

但有时我希望恢复默认行为并删除其他Options。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:3)

伊戈尔的回答几乎是正确的。删除

设置的选项
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:

Wizard先生询问如何删除所有用户设置的笔记本选项。假设这意味着所有无法继承的选项,那么我认为以下内容应该有效:

NotebookPut[
 With[{nb = NotebookGet[EvaluationNotebook[]], opts = Options[Notebook][[All, 1]]}, 
  Prepend[Select[Rest@nb, MemberQ[opts, First[#]] &], First@nb]], 
 EvaluationNotebook[]]

但也许有一些与StyleSheet相关的选项我忽略了......

如果他的意思是你如何回到系统的默认笔记本选项 - 那么你可以删除所有笔记本选项:

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

答案 1 :(得分:2)

(1)选择Format -> Options Inspector(或Windows上的Shift+Ctrl+O

(2)对于“显示选项值”旁边的两个字段,请选择Notebookas text

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

(4)点击Apply

在了解NotebookGet之后,我相信这适用于全部选项重置。

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

答案 2 :(得分:1)

使用:

SetOptions[EvaluationNotebook[], Background -> Inherited]

伊戈尔