[GastForen Programme Print/Bildbearbeitung Adobe InDesign und noch eine GREP-Frage

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

und noch eine GREP-Frage

former
Beiträge gesamt: 164

29. Jun 2011, 12:01
Beitrag # 1 von 4
Bewertung:
(1497 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

hier: http://www.hilfdirselbst.ch/..._P467147.html#467147 wurde von Marco Morgenthaler der Suchstring \((?!.)|(?<!.)\) aufgeführt. Das Thema würde ich gerne noch einmal aufgreifen.
Und zwar geht es mir im Prinzip um die Probleme, die der Autor selbst schon angesprochen hat (http://www.hilfdirselbst.ch/..._P467155.html#467155): Der aufgeführte GREP findet zuverlässig Klammern, die ein anderes Zeichenformat haben, als das Zeichen davor oder danach. Ich suche jedoch eine Erweiterung des Strings, die zwei weitere Umstände zusätzlich berücksichtigt:
1. Es sollten nur die Klammern gefunden werden, die einen vollständig anders gesetzten Text enthalten. D.h. nur, wenn alles in der Klammer kursiv ist, soll der GREP anschlagen. Also bei
(Goethes Faust)
soll auch die erste Klammer nicht gefunden werden. Ist so eine Abfrage möglich?
2. (Würde in einer Lösung von 1. auch inbegriffen sein.) Es kommt vor, dass am Ende des Textes in der Klammer eine Fußnote steht, die gewöhnlich auch nicht in der Grundschrift, sondern meist hochgestellt gesetzt ist. Hier hält der GREP ebf. an. Wenn sich das zusätzlich noch vermeiden ließe, könnte man wohl "alle ändern" klicken und hätte alle gewünschten Klammern kursiviert. Gibt es da vielleicht eine Erweiterung des Suchstrings, die das ausschließt?
Oder andere Frage: Das Script in besagtem Beitrag hatte den Status noch nicht getestet. Ich würde es testen (falls inzwischen nicht bereits geschehen?), weiß aber nicht genau, ob es für meine Punkte zuträfe, bzw. was genau es eigentlich macht.

Gruß
Jan
X

und noch eine GREP-Frage

Marco Morgenthaler
Beiträge gesamt: 2474

29. Jun 2011, 12:54
Beitrag # 2 von 4
Beitrag ID: #474729
Bewertung:
(1476 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jan

«Es sollten nur die Klammern gefunden werden, die einen vollständig anders gesetzten Text enthalten.»

Eine einfache Grep-Abfrage ist nicht möglich. Du musst zuerst dem Kursivtext und den Klammern ein gemeinsames Merkmal verpassen, z. B. eine Zeichenfarbe.

Weise also allen Klammern die Zeichenfarbe Rot zu (per S&E), ebenfalls allen kursiven Textstellen (am einfachsten via Zeichenformat).
Nun findet die folgende Grep-Abfrage alle Klammerausdrücke mit vollständig kursivem Text:

Suchen: \([^)]+\)
Format suchen: Rot
Format ersetzen: Kursiv

Am Schluss alles wieder auf [Schwarz].

Das Fussnotenproblem musst du gesondert angehen. Der folgende Grep findet alle FN-Verweisziffern innerhalb von Klammern:
Suchen: ~F(?=[^(]*\))

Hier must du von Fall zu Fall entscheiden, ob die Klammern manuell kursiviert werden sollen.

Gruss, Marco

[EDIT] Weitere nützliche Greps, um FN innerhalb von Klammern zu finden:

\((?=[^)]+~F)
Findet öffnende Klammer, wenn ein FN-Verweis innerhalb der Klammer folgt.

(?<=~F)\)
Findet schliessende Klammer, wenn unmittelbar davor ein FN-Verweis steht.

\([^)]+~F[^)]*\)
Findet den gesamten Klammerausdruck (inkl. Klammern), wenn innerhalb der Klammern irgendwo ein FN-Verweis steht.


als Antwort auf: [#474719]
(Dieser Beitrag wurde von Marco Morgenthaler am 29. Jun 2011, 13:08 geändert)

und noch eine GREP-Frage

former
Beiträge gesamt: 164

29. Jun 2011, 15:16
Beitrag # 3 von 4
Beitrag ID: #474762
Bewertung:
(1440 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marco,

das hab ich mir schon fast gedacht, dass das "nur" über einen Umweg geht. Die Idee mit der roten Farbe hatten wir ja zuletzt schon bei der Suche nach fehlenden "Gänsefüßchen" trefflich praktiziert. Und grundsätzlich wäre ich das hier auch wieder so angegangen; den entscheidenden Such-String hätte ich allerdings selbst nicht herausbekommen. Also: Es hat wieder bestens funktioniert. Vielen Dank!
Nur noch mal aus Neugier: Das ungeteste Script aus dem erwähnten älteren Beitrag, macht das dasselbe? Wäre das Script grundsätzlich ebenfalls eine Option?

Viele Grüße,
Jan


als Antwort auf: [#474729]

und noch eine GREP-Frage

Martin Fischer
  
Beiträge gesamt: 12732

29. Jun 2011, 15:33
Beitrag # 4 von 4
Beitrag ID: #474768
Bewertung:
(1433 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das erwähnte Skript prüft die Zeichen vor und nach Kursivstellungen.

Ist das Zeichen davor in einer zuvor definierten Zeichenmenge enthalten, dann wird es ebenfalls kursiv gestellt. Dasselbe gilt für das Zeichen danach. Die Umsetzung davor oder danach erfolgt unabhängig von der jeweils entgegengesetzten Zeichen (die Klammer vor dem kursiven Text wird unabhängig davon, ob hinten eine weiter Klammer folgt, umgesetzt).

Freilich wäre das Skript um die Bedingung zu erweitern, dass die Kursivstellung nur dann erfolgt, wenn sowohl vor als auch nach der Kursivstellung ein Zeichen aus einer bestimmten Menge (z.B. nur die Klammern) enthalten ist.


als Antwort auf: [#474762]
(Dieser Beitrag wurde von Martin Fischer am 29. Jun 2011, 15:35 geändert)
X