В TeXStudio нажатие ALT+ DELв макросе LaTeX, подобном этому, в \macroname{content}
то время как курсор стоит перед первым {
, приведет к удалению всего, кроме его content
(как показано ниже).
Поместите курсор (точку) непосредственно перед первой фигурной скобкой:
Нажмите ALT+ DELи вы получите:
Как этого добиться в Emacs?
Обновление
Согласно пояснениям Т.Веррона, существует проблема, связанная с C-c C-f C-d
ошибкой несбалансированной скобки при выполнении в некоторых макросах в LaTeX. Рассмотрим приведенный ниже пример:
выдает эту ошибку:
up-list: Scan error: "Unbalanced parentheses", 8074, 1
. \ textenglish {} относится к пакету полиглоссия.
Как избавиться от этого предостережения?
TeX-font-list
) или нет. Например, попробуйте с помощью\section
или\footnote
, AUCTeX знает об этих макросах и подсвечивает их, ноC-c C-f C-d
будет жаловаться на несбалансированные скобки.TeX-font-list
чтобы включить мои недавно введенные макросы, это остается неоптимальным обходным путем. В противном случае, я не знаю, какие prvents имеют функцию eLISP, чтобы справиться с этим!Ответы:
Попробуйте эту функцию:
Ограничение: не работает с дословными макросами. Эта функция выдаст ошибку (
Wrong type argument: integer-or-marker-p, nil
), если универсальный аргумент будет больше, чем число макросов, заключающих точку.Привязать функцию к вашему любимому ярлыку. Например
связать это M-DEL.
Если ваш буфер имеет (
!
есть точка)тогда C-2 M-DELдаст тебе
источник
(gr1(gr2(gr3(gr4))))
вы подразумеваете под префиксом,C-u
то 2 даст мне(gr1(gr2))
:? если это так, это должно быть блестяще. Я надеюсь, у вас было время, чтобы сделать это.M-DEL
как в TexStudio. Спасибо.gr3
в вашем случае. Смотрите обновленный ответ. Вы можете осуществить то , что вы предложили, обернувdotimes
вокругwhen
оригинальной версии ответа.Из узла AUCTeX по изменению шрифта :
источник
\emph{\randommacro{test}}
удаления\emph
).Вот простая функция для удаления содержащего макроса в точке:
Следовательно, с
*
точки зрения:Учитывая вышеупомянутую функцию, это одна строка, чтобы удалить все макросы в точке:
Следовательно, снова с
*
точкой:источник