Я экспериментирую с дизайнами логотипов в Mathematica (8 или выше), используя интерфейс ноутбука, и я хочу изменить генерирующую формулу LOT. Проблема в том, что я знаю только SHIFT + ENTER, что заставляет меня прыгать за пределы моей текущей ячейки и потерять свою позицию.
Есть ли способ оценить текущую ячейку, не покидая ее и потеряв в ней позицию? Итак: Оцените ячейку и верните внутри ту же ячейку в точной позиции, на которую я нажал SHIFT + ВВОД на.
То, что я когда-то использовал, было по строкам:
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];
но я надеюсь, что есть еще одна комбинация клавиш или sth. что я не знаю.
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 + ENTER внутри ячейки ноутбука Mathematica. Речь идет не о содержании или манипуляции. Извините за то, что вы не поняли это в начале.
Временная заметка
Теперь попробуйте следующее:
- использовать обработчики событий для определения альтернативной комбинации клавиш оценки.
- при срабатывании найдите способ сохранения точной позиции клавиатуры в текущей ячейке ввода
- оценить текущую ячейку ввода
- восстановить позицию в текущей ячейке ввода
Я внутренне надеюсь, что какая-то функция может просто позаботиться о магазине/восстановлении, если быть оптимистом. Будучи реалистичным, я в первую очередь надеюсь, что смогу даже найти способ получить текущую позицию клавиатуры. Будет следить за этим, если что-то материализуется из моей попытки.