Hi,

ich beziehe mich auf diesen Beitrag: https://texwelt.de/wissen/fragen/8834/texstudio-automatische-worterganzung

Leider bekomme ich es nicht hin, eine Zeichenfolge automatisch zu ersetzen. Was ich möchte:

Z.B. 12mm ersetzen in \SI{12}{\mili\metre}

oder 123cm in \SI{123}{\centi\metre}

oder 123cm2 in \SI{123}{\centi\metre\squared}

Über Hilfe würde ich mich freuen.

VG Andreas

gefragt 26 Nov '18, 12:18

rivella's gravatar image

rivella
292
Akzeptiert: 0%

bearbeitet 17 Dez '18, 17:51

Henri's gravatar image

Henri
14.4k53138


Für solche Ersetzungen kann man Reguläre Ausdrücke (engl: regular expressions) verwenden. Diese aktiviert man, indem man im Ersetzen-Dialog, den Schalter mit »Reg« betätigt.

alt text

Nun wollen wir 12mm durch \SI{12}{\mili\metre} ersetzen, wobei die 12 natürlich variabel sein darf. Dafür verwenden wir im Suchen-Feld

([0-9]+)mm

Das bedeutet, finde alle Muster mit einer oder mehr Ziffern [0-9]+, gefolgt von mm und speichere die Ziffern in der ersten Gruppe ().

Im Ersetzen-Feld verwenden wir dann

\\SI{\1}{\\milli\\metre}

wobei wir den umgekehrten Schrägstrich durch doppeln »schützen« müssen. Den Inhalt der ersten Gruppe bekommen wir mit \1.

alt text

Nach einem Druck auf »Ersetzen« erhalten wir das gewünschte Ergebnis.

alt text

Für die anderen beiden brauchen wir die folgenden Ausdrücke:

Muster                                    Suchen           Ersetzen
123cm2 in \SI{123}{\centi\metre\squared}  ([0-9]+)cm[0-9]  \\SI{\1}{\\centi\\metre\\squared}
123cm in \SI{123}{\centi\metre}           ([0-9]+)cm       \\SI{\1}{\\centi\\metre}

Dabei ist wichtig, dass man zuerst 123cm2 ersetz und dann 123cm, da ja 123cm ein Teil von 123cm2 ist.

Permanenter link

beantwortet 17 Dez '18, 18:14

Henri's gravatar image

Henri
14.4k53138

bearbeitet 17 Dez '18, 18:17

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×48
×19
×8

Frage gestellt: 26 Nov '18, 12:18

Frage wurde angeschaut: 992 Mal

Zuletzt aktualisiert: 17 Dez '18, 18:17