Ich habe immer wieder gleichlautende Aufgaben: 1. Löschen einer einzelnen Absatzmarke nach (bzw. vor) einem bestimmten AF (Überschrift). 2. Zuweisen eines bestimmten AF nach einem bestimmten AF.
Lassen sich diese Aufgaben via GREP lösen? Wie müsste die Syntax aussehen? . Grüße von Michael
_______________
Schönheit ist das Weglassen von Überflüssigem. (Michelangelo)
(Dieser Beitrag wurde von MichaelP am 26. Jan 2021, 07:35 geändert)
das sollte sich jeweils in zwei/drei Durchgängen erledigen lassen. Im ersten Durchgang setzt Du eine Marke (z.B. nach einem Absatz mit einem bestimmten Absatzformat) und im zweiten greifst Du auf diese Marke zurück und weist z.B. ein bestimmtes Absatzformat zu.
Der Grundausdruck für den ersten Schritt:
Für den zweiten Schritt:
Im dritten Schritt werden einfach die Marken ^### wieder gelöscht.
Beispiel:
Markiere alle Absätze nach dem Absatzformat U1:
Nach "Alles ersetzen" sitzt am Anfang jedes Absatzes nach U1 die Marke ###· Nun kannst Du entweder mit allen Marken, unabhängig von der Formatierung etwas anfangen oder nach Kombinationen dieser Marke mit weiteren Eigenschaften (AF) suchen.
Über diese Methode (die sich freilich per Skript automatisieren lässt; sollte auch über FindChangeByList.jsx umzusetzen sein) weise ich z.B. allen Absätzen nach der AF-Gruppe "Überschriften", die mit dem Standardabsatzformat (Grundschrift mit Erstzeileneinzug) ausgezeichnet sind, ein Absatzformat "Grundschrift stumpf" (ohne Erstzeileneinzug) zu. Alle Absätze aus der AF-Gruppe Überschriften mit dieser Marke bekommen den Abstand davor abgezogen (auf 0 zurückgesetzt).
Das sollte sich auch auf Deine Aufgabenstellung zum Löschen von einzelnen Absatzmarken nach bzw. vor bestimmten AFs ausbauen lassen.
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 26. Jan 2021, 08:29 geändert)
Lieben Dank, Martin, für die rasche und detaillierte Antwort. Hätt ich eigentlich auch ohne GREP-Kenntnisse drauf kommen können. Ich setze die Abfrage übrigens auch für den gleichen Zweck ein: Stumpfer Absatzbeginn nach Überschrift.
Eine Frage habe ich aber doch noch: Wie lösche ich eine Leerzeile (2 Absatzmarken zu 1) vor einem durch AF bestimmten Absatz? Ist das mit lookahead zu lösen? . Grüße von Michael
_______________
Schönheit ist das Weglassen von Überflüssigem. (Michelangelo)
Das kannst Du m.W. auch nur mit einer Behelfskonstruktion mit Markern wie oben angegeben erledigen, weil eine Kombination eines GREPs mit einer AF-Formatierung über mehrere Absatzmarken hinweg, die mit unterschiedlichen AF ausgezeichnet sind, hier nicht funktioniert.
Eine Idee – zwei Schritte vor, einen wieder zurück (musst selbst ausprobieren): 1. Ersetze alle leeren Absätze nach einem Absatz durch eine Markierung. 2. Lösche die Markierung bei bestimmten AF und 3. ersetze die verbleibenden Markierungen durch doppelte Absatzmarken.
Suchen: (?<=\r)\r+ Ersetzen: ###
Gut möglich, dass dies auch weniger umständlich geht.
Nebenbei bemerkt gibt es gewichtige Gründe gegen "leere" Absätze zur Gestaltung von vertikalen Abständen: Das bestraft einen spätestens bei einem Spaltenumbruch an der "falschen" Stelle.
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 26. Jan 2021, 13:11 geändert)
da leere Absätze in einem «sauberen» Dokument eher nicht vorkommen sollten, hat Adobe eine vordefinierte Abfrage namens «Entferne Leerabsätze» mitgeliefert. Falls du nur bestimmte Leerabsätze löschen möchtest, funktioniert dies mit den von Martin genannten Zwischenschritten (z.B. fummle vor den mit AF definierten Absatz einen zusätzlichen Absatz, der ein einzigartiges Sonderzeichen enthält und löschen in einem zweiten Schritt den Leerabsatz zusammen mit dem eben erstellten).
Ciao Olly -- -- -- -- -- Mac mini M2 Pro, macOS Sonoma (14.4), Adobe CC, FrameMaker 10
Deswegen will ich sie ja auch eliminieren. Das beschriebene System findet und markiert solche Leerzeilen, aber nicht in Abhängigkeit des nachfolgenden AFs.
nach meinem Vorschlag oben könntest Du das so lösen:
1. Leerzeilen durch Markierung ersetzen:
2. Markierung bei Überschrift löschen:
3. Andere Markierungen kombiniert mit bestimmten AF durch neue AF ersetzen, die auf dem ersteren AF basieren, abweichend aber einen Abstand oben in Höhe einer Zeile haben. Dann bist Du ohne harte Leerzeilen sicherer bei Umbruchverschiebungen unterwegs.
Alternativ nach Deiner Methode mit harten Leerzeilen:
Danke für die Nachhilfe, Martin. Beim bloß theoretischen Durchspielen hatte ich nicht bedacht, dass die Marke ### ja in Folgezeile geschrieben wird und dort per Formatsuche differenziert werden kann.
Noch eine Frage zur "Abstandsphilosophie": besser vor oder besser nach?
Bei Einzelüberschriften zwischen Absätzen ist das unerheblich. Komplexer wird es beim Zusammentreffen mehrerer Überschriftsebenen, von denen wenigstens eine Ebene beim Zeilenabstand über das Grundlinienraster hinausgeht. Je nach Ein- und Mehrzeiligkeit solcher Überschriften entstehen dann verschiedene Abstände zu Folgeabsätzen/-überschriften. Sind da abgeleitete AFe das Mittel der Wahl? Im Inhaltsverzeichnis könnte man ja verschiedene AFe wieder zu einer Ebene zusammenführen. . Grüße von Michael
_______________
Schönheit ist das Weglassen von Überflüssigem. (Michelangelo)