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, 18:18

rivella's gravatar image

rivella
2923
Akzeptiert-Rate: 0%

bearbeitet 17 Dez '18, 23:51

Henri's gravatar image

Henri
15.7k133943


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 18 Dez '18, 00:14

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 18 Dez '18, 00:17

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×76
×25
×9

gestellte Frage: 26 Nov '18, 18:18

Frage wurde gesehen: 6,216 Mal

zuletzt geändert: 18 Dez '18, 00:17