Wenn Sie in TeXStudio in einem LaTeX-Makro wie diesem ALT+ drücken, während der Cursor kurz vor dem ersten steht, werden alle Elemente außer dem (wie unten gezeigt) gelöscht . DEL\macroname{content}
{
content
Setzen Sie den Cursor (Punkt) kurz vor die erste geschweifte Klammer:
Drücken Sie ALT+ DELund Sie erhalten:
Wie erreicht man das in Emacs?
Update
Nach der Klarstellung von T.Verron gibt es ein Problem, C-c C-f C-d
da es sich über einen Fehler in einer unausgeglichenen Klammer beschwert, wenn es in einigen Makros in LaTeX ausgeführt wird. Betrachten Sie das folgende Beispiel:
löst diesen Fehler aus :
up-list: Scan error: "Unbalanced parentheses", 8074, 1
. \ textenglish {} gehört zum Polyglossia-Paket.
Wie kann man diese Einschränkung loswerden?
TeX-font-list
) oder nicht. Versuchen Sie es beispielsweise mit\section
oder\footnote
, AUCTeX kennt diese Makros und schreibt sie,C-c C-f C-d
beschwert sich jedoch über unausgeglichene Klammern.TeX-font-list
, um meine neu eingeführten Makros einzuschließen, bleibt dies eine suboptimale Problemumgehung. Ansonsten weiß ich nicht, welche Prvents eine eLISP-Funktion haben, um damit umzugehen!Antworten:
Versuchen Sie diese Funktion:
Einschränkung: Funktioniert nicht mit wörtlichen Makros. Diese Funktion gibt einen error (
Wrong type argument: integer-or-marker-p, nil
) aus, wenn das universelle Argument größer als die Anzahl der Makros ist, die den Punkt einschließen.Binden Sie die Funktion an Ihre bevorzugte Verknüpfung. Beispielsweise
um es zu binden M-DEL.
Wenn Ihr Puffer hat (
!
ist Punkt)dann C-2 M-DELwirst du geben
quelle
(gr1(gr2(gr3(gr4))))
mit einem Präfix gemeint ist,C-u
dann 2 gibt es mir :(gr1(gr2))
? Wenn es so ist, muss das brillant sein. Ich hoffe du hattest die Zeit es zu tun.M-DEL
in TexStudio zu mögen. Vielen Dank.gr3
in Ihrem Fall nur das zweite Makro zu löschen . Siehe die aktualisierte Antwort. Sie können implementieren , was Sie durch Umwickeln ein vorgeschlagenesdotimes
umwhen
von der ursprünglichen Version der Antwort.Vom AUCTeX-Handbuchknoten zum Ändern der Schriftart :
quelle
\emph{\randommacro{test}}
gelöscht wird\emph
).Hier ist eine einfache Funktion, um das enthaltende Makro an Punkt zu entfernen:
Daher mit
*
als Punkt:In Anbetracht der obigen Funktion ist es ein Einzeiler, alle Makros an Punkt zu entfernen:
Daher noch einmal mit
*
als Punkt:quelle