TeXStudio überschreibt das zweite `\`, nachdem eine Klammer automatisch geschlossen wurde (`\{\text\}` wird zu `\{\text}`)

TeXStudio überschreibt das zweite `\`, nachdem eine Klammer automatisch geschlossen wurde (`\{\text\}` wird zu `\{\text}`)

Generell möchte ich, dass TeXStudio meine Klammern schließt (einschließlich {}), aber bei der Verwendung dieser Funktion tritt immer dasselbe Problem auf (insbesondere im Mathematikmodus): Angenommen, ich möchte etwas wie schreiben, $\{\hfill\}$ignoriert TeXStudio immer die zweite \(weil es sie während des Eintippens überschreibt) und erzeugt den Code $\{\hfill}$. Es gibt offensichtlich eine sehr einfache Problemumgehung für dieses Problem (indem man immer ein Leerzeichen nach der geöffneten Klammer einfügt), aber ich frage mich, ob es eine Möglichkeit gibt, das \Überschreiben der zweiten zu verhindern (in ALLEN Fällen), weil ich für diese Funktion einfach keine Verwendung habe und sie sich immer in meinen Arbeitsablauf einmischt und mich behindert. Ich habe bereits die Eigenschaften durchgescrollt (auch die erweiterten Eigenschaften), aber noch nichts Nützliches gefunden (abgesehen davon, die gesamte „Klammer-schließen-Funktion“ in der Autovervollständigung zu deaktivieren).

Ich wäre für jeden Vorschlag sehr dankbar.

Antwort1

Dagegen kann man derzeit wenig tun. Die einzigen Möglichkeiten sind entweder den kompletten Ausdruck einzutippen oder den Platzhalter der schließenden Klammer ( Ctrl + Shift + K) zu entfernen.

Die wichtigste Regel für das automatische Einfügen von Klammern ist, dass es bei fortlaufender Eingabe transparent sein sollte. Wenn Sie beispielsweise die Sequenz eingeben \{sometext\}, sollte der Text im Editor genau derselbe sein.

Wenn Sie einen Backslash eingeben sometext, befinden Sie sich in diesem Moment in einem mehrdeutigen Zustand. TXS kann nicht wissen, ob Sie einfach mit der schließenden Klammer fortfahren möchten oder ob Sie einen anderen Befehl eingeben möchten. Daher ist die beste Annahme, die wir treffen können, die erstere. Diese Mehrdeutigkeit kann erst später behoben werden. Derzeit verwendet TXS den spätestmöglichen Zeitpunkt zur Wiederherstellung; d. h. Sie tippen weiter, fügen einen Backslash und eine schließende Klammer ein, die überschrieben werden. Die Wiederherstellung der Annahme aufgrund der Mehrdeutigkeit funktioniert also nur, wenn Sie tatsächlich die vollständige Sequenz eingeben.

Prinzipiell wäre es möglich, schon früher wiederherzustellen. Sobald Sie hin Ihrem Beispiel das eingeben, \{\|}könnte \{\h|\}der überschriebene Teil des Trennzeichens (das |die Position des Cursors markiert) wieder eingefügt werden. Dies würde jedoch zusätzliche interne Logik erfordern, die derzeit nicht implementiert ist.

verwandte Informationen