Как удалить ненужные опции из Блокнота []? - PullRequest
5 голосов
/ 07 марта 2011

По умолчанию 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 ]

3 голосов
/ 08 марта 2011

Игорь ответил почти правильно. Чтобы удалить параметры, установленные

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

Я не знаю, как программно удалить эту опцию.


Edit:

На самом деле, чтобы удалить созданную выше опцию HiddenData, я могу использовать что-то вроде

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

Редактировать 2:

Мистер Мастер спросил, как удалить все установленные пользователем параметры ноутбука. Предполагая, что это означает, что все параметры не могут быть унаследованы, я считаю, что должно работать следующее:

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[]]
2 голосов
/ 07 марта 2011

(1) Выберите Format -> Options Inspector (или Shift+Ctrl+O в Windows)

(2) Для двух полей рядом с «Показать значения параметров» выберите Notebook и as text

(3) Выделите и удалите весь текст в поле ниже

(4) Нажмите Apply

После понимания NotebookGet, я считаю, что это работает для полного сброса настроек.

NotebookPut[
 Notebook@First@NotebookGet[EvaluationNotebook[]],
 EvaluationNotebook[]]
1 голос
/ 07 марта 2011

Использование:

SetOptions[EvaluationNotebook[], Background -> Inherited]

Игорь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...