GREP-Fundstellen auflisten

von Martin Fischer am 5.05.10 22:24 in Text

listGrepFounds.jsx

Link zur Ursprungsdiskussion im Forum

In [CS4 Javascript] Silbentrennungen kontrollieren wurden Skriptstudien zum Auflisten von Trennstellen in einer Palette vorgestellt und diskutiert.

Gerd fragte in seinem Beitrag nach der Einlösung des Versprechens, etwas Ähnliches für die Treffer von GREP-Suchvorgängen zu entwickeln.

Auf der Basis von listHyphenedWords.jsx hier nun eine Studie zum Auflisten von GREP-Fundstellen.

Vorbereitung
Das Skript greift auf die Suchkriterien in der GREP-Suchen Palette zurück (ich wollte das Rad mit all seinen Einstellungsmöglichkeiten nicht für einen komplexen Dialog neu erfinden).
Dort sind die zu suchenden Eigenschaften (z.B. \<\w*f[li]\w*\> (Format suchen: + Ligatur) für die Suche nach Wörtern mit fl- und fi-Ligaturen) vor dem Start des Skripts einzutragen.


Der für die Suche angegebene GREP-Ausdruck wird in der Palette in einem editierbaren Textfeld angezeigt.
Dort kann der GREP-Ausdruck geändert werden.
Nach Bestätigung der Änderung mit Return wird die Suche mit diesem (veränderten) GREP ausgeführt.

Beim Start des Skripts wird ein Suchbereich ermittelt.
– Nichts ausgewählt: durchsuche das gesamte Dokument
– Text oder Textrahmen ausgewählt: nach Betätigung Suche beschränken auf ausgewählten Text bzw. Textrahmen
– Einfügemarke platziert: nach Bestätigung Suche beschränken auf ausgewählten Textabschnitt.

Dieser Suchbereich wird in der Palette oben eingeblendet.
Solange die Palette geöffnet ist und das Skript nicht neu gestartet wurde, bleibt dieser Suchbereich gültig, auch wenn sich inzwischen – etwa durch Sprung zu einem Treffer – die Auswahl verändert hat!

Das Skript listet die Treffer (mit vorangestellter Angabe der Seite) auf.
Ein Mausklick auf einen Treffer in der Palette zoomt die Fundstelle heran.


Es ist möglich, dass sich Änderungen im Text (z.B. an der Fundstelle) störend auf die Adressierung der Fundstelle aus der Palette heraus auswirken können. Das wird sich in der Praxis zeigen. ;-)



Dieses Skript ist nur für Premium-Member sichtbar.
Premium-Member werden oder einloggen und diese Seite neu laden.



Skript ist lauffähig in:
InDesign Version CS4
InDesign Version CS5