Я экспериментирую с дизайном логотипов в Mathematica (8 или выше), используя интерфейс ноутбука, и я хочу изменить формулу генерации A LOT. Проблема в том, что я знаю только SHIFT + ENTER, что заставляет меня выпрыгнуть из моей текущей ячейки и потерять свою позицию.
Есть ли способ оценить текущую ячейку, не покидая ее и не теряя в ней свою позицию? Итак: оцените ячейку и вернитесь обратно внутрь той же ячейки в том же положении, в котором я нажал SHIFT + ENTER при .
То, что я однажды использовал, было примерно таким:
a = Exp[1.994 \[Pi]/(3 I)];
b = Nest[{#, a #, a\[Conjugate] #, #} &, 1, 5];
{Re[#], Im[#]} & /@
Accumulate[
Flatten[{0, a b, a\[Conjugate] b, -b}]] // {\[Rho]\[Chi], # //
Line} & // Graphics
NotebookFind[EvaluationNotebook[], "E" <> "xp", Previous];
но я надеюсь, что есть еще одна комбинация клавиш или что-то еще. что я не знаю.
Edit:
a = Exp[(*1*)1.994 \[Pi]/(3 I)];
b = Nest[{#, a #, a\[Conjugate] #, #} &, (*2*)1, (*3*)5];
{Re[#], Im[#]} & /@
Accumulate[
Flatten[{0, a b, a\[Conjugate] b, -b}]] // {\[Rho]\[Chi], # //
Line} & // Graphics
Do[NotebookFind[EvaluationNotebook[], "(*1*)", Previous], {2}];
- приятное небольшое улучшение моего решения, частично предложенное Крисом Денгеном.
Редактировать 2:
NotebookFind[EvaluationNotebook[], "(*1*)", EvaluationCell]
Это решает:
- они работают только с ячейками, которые производят одну или известное количество выходных ячеек
EvaluationCell редко документируется, так что трудно его найти, на самом деле я наткнулся на него. Используя EvaluationCell, поиск начинается сверху (исключая конструкцию Do дважды), так как мы не получаем выходную ячейку, расположенную ниже по экрану.
Что еще предстоит решить:
- необходимо проводить ручное ведение ячеек (бухгалтерия на уровне ячеек), чтобы приземлиться в достопримечательностях
- использование маркеров посадки на основе комментариев загромождает ячейки ввода
Примечание
Это вопрос о том, чтобы не потерять текущую позицию, если нажать клавишу SHIFT + ВВОД внутри ячейки ноутбука Mathematica. Это не о содержании или манипулировании. Извините, что не разъяснил это в начале.
Временное примечание
Теперь попробуем следующее:
- использовать обработчики событий для определения альтернативной комбинации клавиш оценки
- при запуске найдите способ сохранить точное положение клавиатуры в текущей ячейке ввода
- оценка текущей входной ячейки
- восстановить позицию в текущей ячейке ввода
Я внутренне надеюсь, что какая-то функция может просто позаботиться о сохранении / восстановлении, случайно будучи оптимистичной. Будучи реалистичным, я сначала надеюсь, что смогу найти способ добраться до текущей позиции клавиатуры. Будем следить здесь, если что-нибудь материализуется из моей попытки.