[GastForen Programme Print/Bildbearbeitung Adobe InDesign Absätze vor/nach AF suchen

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

Absätze vor/nach AF suchen

MichaelP
Beiträge gesamt: 268

26. Jan 2021, 07:29
Beitrag # 1 von 9
Bewertung:
(5564 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen!

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?
.

(Dieser Beitrag wurde von MichaelP am 26. Jan 2021, 07:35 geändert)
X

Absätze vor/nach AF suchen

Martin Fischer
  
Beiträge gesamt: 12778

26. Jan 2021, 08:29
Beitrag # 2 von 9
Beitrag ID: #578445
Bewertung:
(5549 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Michael,

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:
Code
Suchen: \r 
Ändern in: $0###
(### dient als Ausdruck, der sonst nirgends im Text vorkommt; wenn doch, muß ein anderer Ausdruck gewählt werden)


Für den zweiten Schritt:
Code
Suche: ^### (ggf. mit Formatierungsangaben) 
Ändern in: (gewünschte Formatierung)


Im dritten Schritt werden einfach die Marken ^### wieder gelöscht.
Code
Suchen: ^### 
Ändern in: (nix)



Beispiel:

Markiere alle Absätze nach dem Absatzformat U1:
Code
Suchen: \r 
(kombiniert mit Formatierung AF U1)
Ändern in: $0###


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.


als Antwort auf: [#578443]
(Dieser Beitrag wurde von Martin Fischer am 26. Jan 2021, 08:29 geändert)

Absätze vor/nach AF suchen

MichaelP
Beiträge gesamt: 268

26. Jan 2021, 12:06
Beitrag # 3 von 9
Beitrag ID: #578448
Bewertung:
(5479 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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?
.


als Antwort auf: [#578445]

Absätze vor/nach AF suchen

Martin Fischer
  
Beiträge gesamt: 12778

26. Jan 2021, 13:10
Beitrag # 4 von 9
Beitrag ID: #578449
Bewertung:
(5451 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.


als Antwort auf: [#578448]
(Dieser Beitrag wurde von Martin Fischer am 26. Jan 2021, 13:11 geändert)

Absätze vor/nach AF suchen

Ollymac
Beiträge gesamt: 234

26. Jan 2021, 13:17
Beitrag # 5 von 9
Beitrag ID: #578450
Bewertung:
(5448 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

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


als Antwort auf: [#578448]

Absätze vor/nach AF suchen

MichaelP
Beiträge gesamt: 268

26. Jan 2021, 17:33
Beitrag # 6 von 9
Beitrag ID: #578456
Bewertung:
(5389 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Nebenbei bemerkt gibt es gewichtige Gründe gegen "leere" Absätze zur Gestaltung von vertikalen Abständen.


Deswegen will ich sie ja auch eliminieren. Das beschriebene System findet und markiert solche Leerzeilen, aber nicht in Abhängigkeit des nachfolgenden AFs.

Die typische Folge sieht so aus:

- Textabsatz
- Leerzeile (soll gelöscht werden)
- Überschrift
- Textabsatz

Es gibt aber auch:

- Textabsatz
- Leerzeile (soll erhalten bleiben)
- Textabsatz

Damit stößt die beschriebene Behelfskonstruktion wohl an ihre Grenzen.
.


als Antwort auf: [#578449]

Absätze vor/nach AF suchen

pixxxelschubser
Beiträge gesamt: 1708

26. Jan 2021, 17:54
Beitrag # 7 von 9
Beitrag ID: #578457
Bewertung:
(5372 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ein umsichtiger Einsatz von „Abstand nach" (eventuell in einem zusätzlichen AF) würde dir nicht weiterhelfen?

Denn wie gesagt: Leerzeilen sind ein generelles NoGo. Und manchmal „rutschen“ diese Leerzeilen auch mal an den Seitenanfang - ungeschickt.


als Antwort auf: [#578456]

Absätze vor/nach AF suchen

Martin Fischer
  
Beiträge gesamt: 12778

26. Jan 2021, 20:29
Beitrag # 8 von 9
Beitrag ID: #578461
Bewertung:
(5337 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,

nach meinem Vorschlag oben könntest Du das so lösen:

1. Leerzeilen durch Markierung ersetzen:
Code
Suchen: (?<=\r)\r+ 
Ersetzen: ###


2. Markierung bei Überschrift löschen:
Code
Suchen: ^###  
(mit Formatierung AF Überschrift)
Ersetzen: [nix]


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:
Code
Suchen: ^###  
(ohne Formatierung)
Ersetzen: \r



als Antwort auf: [#578456]

Absätze vor/nach AF suchen

MichaelP
Beiträge gesamt: 268

27. Jan 2021, 10:23
Beitrag # 9 von 9
Beitrag ID: #578465
Bewertung:
(5199 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.
.


als Antwort auf: [#578461]
X