Ale*_*kov 5 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}}
Run Code Online (Sandbox Code Playgroud)
有时我希望修改Notebook外观并设置其他内容Options.例如,我喜欢评论Plain而不是Bold:
SetOptions[EvaluationNotebook[],
AutoStyleOptions -> {"CommentStyle" -> {FontWeight -> Plain,
FontColor -> GrayLevel[0.6`], ShowAutoStyles -> False,
ShowSyntaxStyles -> False, AutoNumberFormatting -> False}}]
Run Code Online (Sandbox Code Playgroud)
现在Options[EvaluationNotebook[]]还将返回我设置的新选项.
但有时我希望恢复默认行为并删除其他内容Options.我怎样才能做到这一点?
伊戈尔的回答几乎是正确的。删除设置的选项
SetOptions[EvaluationNotebook[],
AutoStyleOptions -> {"CommentStyle" -> {FontWeight -> Plain,
FontColor -> GrayLevel[0.6`], ShowAutoStyles -> False,
ShowSyntaxStyles -> False, AutoNumberFormatting -> False}}]
Run Code Online (Sandbox Code Playgroud)
你需要跑
SetOptions[EvaluationNotebook[],
AutoStyleOptions -> {"CommentStyle" -> Inherited}]
Run Code Online (Sandbox Code Playgroud)
但这仅适用于标准选项并且具有默认继承值(如果是单元格,则来自封闭部分或笔记本,如果是笔记本,则来自样式表)。如果你自己做出选择怎么办,例如
Protect[HiddenData];
SetOptions[EvaluationNotebook[], HiddenData -> {"here's a string"}]
Run Code Online (Sandbox Code Playgroud)
我不知道如何以编程方式删除此选项。
实际上,要删除上面创建的 HiddenData 选项,我可以使用类似的东西
NotebookPut[DeleteCases[NotebookGet[EvaluationNotebook[]],
$CellContext`HiddenData -> _],
EvaluationNotebook[]]
Run Code Online (Sandbox Code Playgroud)
向导先生询问如何删除所有用户设置的笔记本选项。假设这意味着所有选项都无法继承,那么我相信以下内容应该有效:
NotebookPut[
With[{nb = NotebookGet[EvaluationNotebook[]], opts = Options[Notebook][[All, 1]]},
Prepend[Select[Rest@nb, MemberQ[opts, First[#]] &], First@nb]],
EvaluationNotebook[]]
Run Code Online (Sandbox Code Playgroud)
但也许有一些与样式表相关的选项被我忽略了......
如果他的意思是如何恢复系统的默认笔记本选项 - 那么您可以删除所有笔记本选项:
NotebookPut[Notebook[First@NotebookGet[EvaluationNotebook[]]],
EvaluationNotebook[]]
Run Code Online (Sandbox Code Playgroud)