Сочетание клавиш для выхода из ядра в Mathematica 5 и 7? - PullRequest
2 голосов
/ 06 февраля 2011

Here - это объяснение того, как определить пользовательское сочетание клавиш для выхода из ядра выбранной записной книжки путем изменения файла KeyEventTranslations.tr. Этот файл расположен по умолчанию (под Windows) для Mathematica 5.2 в папке

C:\Program Files\Wolfram Research\Mathematica\5.2\SystemFiles\FrontEnd\TextResources\Windows

и для Mathematica 7.0.1 в папке

C:\Program Files\Wolfram Research\Mathematica\7.0\SystemFiles\FrontEnd\TextResources\Windows

В этом файле после EventTranslations[{ я добавил строку:

Item[KeyEvent["q", Modifiers -> {Control}],FrontEndExecute[FrontEndToken[SelectedNotebook[],"EvaluatorQuit",Automatic]]]

Но, к сожалению, после перезапуска Mathematica ярлык Control+q не работает на обеих версиях.

Более того, в Mathematica 7.0.1 выполняется команда

FrontEndExecute[FrontEndToken[SelectedNotebook[], "EvaluatorQuit", Automatic]]

и нажатие «Выйти» приводит к ошибке приложения и закрытию FrontEnd с потерей всех несохраненных изменений (я использую Windows 2000).

Что я делаю не так?

РЕДАКТИРОВАТЬ: Проблема была в пропущенной запятой после добавления Item[...] (спасибо Велизарию). Вот правильная строка для добавления к KeyEventTranslations.tr:

Item[KeyEvent["q", Modifiers -> {Control}],FrontEndExecute[FrontEndToken[SelectedNotebook[],"EvaluatorQuit",Automatic]]],

Теперь ярлык Control+q хорошо работает как в Mathematica 5.2, так и в 7.0.1. Но вышеупомянутая ошибка с «ошибкой приложения» все еще появляется (не при использовании ярлыка, а только при оценке FrontEndExecute[FrontEndToken[SelectedNotebook[], "EvaluatorQuit", Automatic]] в записной книжке).

1 Ответ

2 голосов
/ 06 февраля 2011

This answer и соответствующие комментарии могут помочь вам.

НТН!

Кстати ... Я сделал то же самое в v7, и это сработало. На какой версии у вас проблемы?

Просто примечание: будьте очень осторожны с синтаксисом Убедитесь, что каждый элемент [Keyevent заканчивается запятой, кроме последней.

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