Hallo, Hans!
(und alle anderen interessierten Mitleser)
Noch etwas weiter ausgeholt zur Erklärung des oben vorgestellten Skriptansatzes:
Die Reihenfolge der eingebundenen Absatzformate im Array allParagraphStyles entspricht exakt* der Reihenfolge der in der Absatzpalette aufgelisteten Absatzformate (von oben nach unten). Unabhängig von deren Verschachtelungstiefe in Absatzformatgruppen.
*Ergänzt mit dem sonst unsichtbaren Absatzformat "[Kein Absatzformat]" zu Beginn der Reihenfolge.
Das kannst Du (könnt ihr) ja mal testen, wenn ihr Absatzgruppen und Absatzformate verschiebt und das Skript dann anschließend noch mal laufen lasst.
Die while-Schleife zu Beginn des Skripts prüft den parent des Absatzformats.
Solange der einer Absatzformatgruppe entspricht arbeitet sich die Schleife zurück über deren parent, bis die Bedingung nicht mehr erfüllt wird. Ein Zähler läuft mit, der die Verschachtelungstiefe um eine Zahl höher setzt, je mehr Verschachtelungen erkannt werden.
Diese Ergebnisse werden in ein Array gespeichert, das dann weiter unten benutzt wird, um den Ergebnistext mit einer entsprechenden Anzahl von Tabulatoren zu versorgen.
Dieser Ergebnistext mündet schließlich in eine InDesign-Tabelle, die die Abhängigkeiten der Absatzformate von den Absatzformatgruppen tabellarisch anzeigt.
Das Skript könnte noch ergänzt werden:
1. Der Ergebnistext könnte noch ausgeweitet werden auf andere Eigenschaften des Absatzformats (hier nur Name des Absatzformats und Name der Absatzformatgruppe in dem das Absatzformat steckt – falls vorhanden)
2. Die Absatzformatnamen könnten beispielsweise mit dem gelisteteten Absatzformat formatiert werden. Bei benutzten GREP-Styles könnte allerdings ein falscher optischer Eindruck entstehen, was das betreffende Absatzformat in der Formatierung leisten kann.
3. Kosmetik: Die Spaltenbreite aller Spalten der Ergebnistabelle könnte minimiert werden.
4. UI für das Skript, um nur bestimmte Absatzformate in die Tabelle zu schreiben
5. UI für das Skript, um gewünschte Eigenschaften des gewählten Absatzformats zu listen
(Viel Arbeit die Punkte 1-5 alle auszuführen ;-) )
Für die Zeichenformate sollte ein ähnliches Skript möglich sein. Allerdings wird's da möglicherweise schwieriger bildlich darzustellen, welche Formatierung das betreffende Zeichenformat da eigentlich vornimmt. Da kann es ja Abhängigkeiten zu bestimmten Absatzformaten geben, die mit Schriften an anderer Absatzformate nicht funktionieren.
Beispiel: ich habe als einzige Formatierung "Bold Cond Subhead" eingestellt und meine Ergebnistabelle ist nicht mit einer Schrift formatiert, die diesen Schriftschnitt aufweist. Siehe auch die Verwendung von GREP-Styles in Absatzformaten weiter oben.
als Antwort auf: [#536133]