Hallo Hans
Das Problem mit harten Zeilenschaltungen (oder Absatzmarken) lässt sich einfach lösen. Mit dem Grep-Modifizierer
(?s) wird der gesamte Textabschnitt durchsucht (single line mode), das heisst, der Platzhalter
. trifft auch Umbruchzeichen. Ich habe den Grep entsprechend ergänzt (s. unten)
Für das AFZ am Anfang eines Textabschnitts braucht es einen eigenen Grep (s. unten, Grep Nr. 1).
Bei meinen Tests ergab sich auch, dass die Leerräume bei AFZ im französischen Satz (als Option: « blabla », Leerraum z. B. Achtelgeviert) in einem separaten Durchgang am Schluss eingesetzt werden sollten.
Zuerst also alle AFZ am Anfang eines Textabschnitts paarweise ändern, wobei die Leerschläge entfernt werden (Grep 1).
Dann alle AFZ innerhalb des Textes paarweise ändern, auch hier werden die Leerschläge entfernt (Grep 2).
Falls gewünscht werden am Schluss die gewünschten Leerräume (hier Achtelgeviert) bei den Guillemets («blabla») hinzugefügt (« blabla »).
Die Greps im Einzelnen:
1_AFZ am Anfang eines Textabschnitts (?s)\A["]\s?(.+?)\s?["](?![\w]) Ersetzen:
~{$1~} 2_AFZ im Text Suchen:
(?s)(?<=[\s\r\n\t([])["]\s?(.+?)\s?["](?![\w]) Ersetzen:
~{$1~} 3_Franz. AFZ mit Leeraum (hier Achtelgeviert) Suchen:
(?<=«)(\S[^«]+)(?=») Ersetzen:
~<$1~< Es ist wichtig, dass die Reihenfolge der Greps im Skript immer eingehalten wird (1–2–3), das heisst Grep 2 darf nicht ausgeführt werden, ohne dass Grep 1 vorher angewendet wurde. Grep 3 darf erst ausgeführt werden, wenn Grep 1 und 2 vorher zum Einsatz kamen. Da Grep 3 als Option im Skript eingebaut ist, muss bei aktivierter Option gewährleistet sein, dass immer zuerst Grep 1 und Grep 2 ausgeführt werden (dies gilt auch bei mehrmaliger Anwendung des Skripts bei einem Dokument, etwa nach Neuimport von zusätzlichem Text).
Noch eine Anmerkung zum Begriff «Chevron»: Bei Wikipedia gelten die Guillemets mit den Spitzen nach innen (»…«) als Chevrons (
https://de.wikipedia.org/wiki/Guillemets). Ich würde einfach den Begriff (französische) Guillemets verwenden (wie im Guide du typographe romand), ganz klar wäre natürlich die Verwendung der AFZ selbst («…»), sodass eindeutig ist, ob die Spitzen nach innen oder aussen zeigen.
Das wärs; ich hoffe, dass meine Greps nun funktionieren. Ein ergänztes Testdokument habe ich angehängt.
Gruss, Marco