2014-06-27 8 views
0

Я не знаю, где найти и настроить файл конфигурации, чтобы Mathematica вставлял ClearAll ["Global` *"] в начале каждого нового ноутбука. Как я могу это сделать, вместо того, чтобы вводить его каждый раз, когда я открываю новый ноутбук?ClearAll ["Global` *"] автоматическая вставка

ответ

0

AFAIK нет возможности изменить новый Ноутбук по умолчанию. Но можно добавить пользовательскую комбинацию клавиш и/или команду меню, которая создаст новый блокнот, который будет содержать все, что вам нужно. Например, вы можете добавить пункт меню «Новый мой ноутбук» в подменю «Файл -> Создать» и назначить Ctrl+Shift+N сочетание клавиш для его оценки (эта модификация будет сохраняться только в течение текущего FrontEndSession), оценив следующее (взято из here и here):

FrontEndExecute[ 
FrontEnd`AddMenuCommands[ 
    "New", {MenuItem["My new Notebook", 
    System`KernelExecute[ 
    CreateDocument[ExpressionCell[[email protected]["Global`*"], "Input"]]], 
    FrontEnd`MenuKey["N", FrontEnd`Modifiers -> {"Control", "Shift"}], 
    System`MenuEvaluator -> Automatic]}]] 

Теперь нажатие Ctrl+Shift+N откроется новое окно Notebook с "Input" клетки, уже содержащей ClearAll["Global`*"]. Если вы замените FrontEnd`Modifiers -> {"Control", "Shift"} на FrontEnd`Modifiers -> {"Command"}, комбинация клавиш будет Alt+N.

Информация о том, как сделать это изменение постоянным, можно найти в this MathGroups должность:

Вы можете полностью восстановить меню с помощью ...

FrontEndExecute [FrontEnd`ResetMenusPacket [{Automatic}] ]

Вы получите некоторое уродливое мерцание, но это сработает. Вы также можете поместить в функцию AddMenuCommands в переднем конце init.m, который может быть найден где-то на пути, указанном в параметре ConfigurationPath. В в этом случае файл init.m будет выполняться FE при запуске, не ядро, и поэтому не имеет значения, сколько ядер вы запускаете или выйти.

Так что вам нужно создать файл init.m в одном из путей, заданных параметром ConfigurationPath:

Options[$FrontEnd, ConfigurationPath][[1, 2]] 
{FrontEnd`FileName[{$InstallationDirectory, "Configuration", "FrontEnd"}], 
FrontEnd`FileName[{$UserBaseDirectory, "Autoload", _, "Configuration", "FrontEnd"}], 
FrontEnd`FileName[{$BaseDirectory, "Autoload", _, "Configuration", "FrontEnd"}], 
FrontEnd`FileName[{$InstallationDirectory, "AddOns", "Autoload", _, "Configuration", "FrontEnd"}]} 

Некоторые из этих путей содержат пустой (_), который недокументированное, но, по-видимому, означает любое имя (я еще не проверил это).

Другой способ сделать это изменение постоянным - отредактировать файл MenuSetup.tr, но это not recommended.

P.S. Я рекомендую вам в будущем, чтобы задать свои Mathematica на вопросы о связанных выделенном месте, где они будут получать больше внимания:

https://mathematica.stackexchange.com/