hilfdirselbst.ch
Facebook Twitter gamper-media

Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Grep (?<=\s)\s+ - für mehrfache Leerstellen

 



-hans-
Beiträge: 385

22. Feb 2012, 13:20

Beitrag #1 von 7
Bewertung:

(634 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep (?<=\s)\s+ - für mehrfache Leerstellen


Hallo beisammen,

für unsere Zeitungsproduktionen wäre es ein schönes – und des öfteren gewünschtes – Feature mit dem nestedGrepStyle (?<=\s)\s+ und entsprechendem Zeichenformat doppelte oder mehrfache Leerstellen abzufangen.

Dazu müsste ich den Grepstil natürlich an jedes Absatzformat hängen.


Meine Frage dazu:
Gibt es Erfahrungen vor allem auch bzgl. Geschwindigkeit damit?
Textlängen so bis max. 10 000 Zeichen pro Story, einseitige Dokumente, bis ca. 10 Stories pro Seite.

Besten Dank

Hans-Gerd Claßen
Lieben Gruß

Hans-Gerd Claßen
Top

Uwe Laubender p
Beiträge: 1968

22. Feb 2012, 13:33

Beitrag #2 von 7
Beitrag ID: #490498

Bewertung:

(620 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep (?<=\s)\s+ - für mehrfache Leerstellen


Hallo, Hans-Gerd!
Mich würde interessieren, was das Zeichenformat ausrichten soll. Ersetzen mit "Nichts" kannst Du ja nicht über den GREP-Stil. Also doppelte Absatzzeichen zum Beispiel lassen sich damit nur schwer kaschieren.

Ich hätte auch (leichte) Bedenken wegen der Geschwindigkeit. Eigentlich keine, wenn das der einzige GREP-Stil bleibt und nichts Komplizierteres dazukommt.

Warum willst Du nicht einfach mit GREP Suchen/Ersetzen die überflüssigen Zeichen wirklich löschen?
*****
Mit herzlichem Gruß,
Uwe Laubender

als Antwort auf: [#490497] Top

-hans-
Beiträge: 385

22. Feb 2012, 14:27

Beitrag #3 von 7
Beitrag ID: #490506

Bewertung:

(595 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep (?<=\s)\s+ - für mehrfache Leerstellen


Hi,

den Tipp gab's mal von Herrn Blatner: http://indesignsecrets.com/...with-grep-styles.php

Bei dem Zeichenformat wird halt die horizontale Skalierung einfach auf 1% gesetzt und die Zeichenfarbe aufkeine gestellt.

Smart an der Sache ist halt, dass die "Doppelten" live ausgeblendet werden. Suchen und ersetzen wird "gerne" permanent ausgeführt ... ;-)

Lieben Gruß

Hans-Gerd Claßen
Lieben Gruß

Hans-Gerd Claßen

als Antwort auf: [#490498] Top

Martin Fischer  M  p
Beiträge: 9674

22. Feb 2012, 15:00

Beitrag #4 von 7
Beitrag ID: #490512

Bewertung:

(581 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep (?<=\s)\s+ - für mehrfache Leerstellen


Hallo Hans,

danke für den Tipp.

Dafür musst Du halt sicherstellen, dass Erstzeileneinzüge nicht mit einem Spezialleerzeichen bzw. Tab umgesetzt sind.

Was die Performance angeht testest Du diesen GREP-Stil am Besten selbst unter den realen Bedingungen vor Ort. Da bekommst Du genauere Ergebnisse als bei der Interpretation von unseren Vermutungen/Behauptungen. ;-)

Nach meinen Beobachtungen macht sich die Bremswirkung bei Verwendung mehrerer GREP-Stile hauptsächlich bei Ersetze-Vorgängen bemerkbar.
Und diese suchst Du ja mit den GREP-Stilen möglichst vermeidbar zu machen. ;-)


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#490506]

(Dieser Beitrag wurde von Martin Fischer am 22. Feb 2012, 15:20 geändert)
Top

-hans-
Beiträge: 385

22. Feb 2012, 15:50

Beitrag #5 von 7
Beitrag ID: #490520

Bewertung:

(556 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep (?<=\s)\s+ - für mehrfache Leerstellen


Ups, stimmt ja \s = Leerzeichen oder tab ...

Gut das ich vorher gepostet habe ;-)

Hier noch ein Script dass allen Absatzformaten im vordersten Dokument den nestedGrepStyle zuweist ...

Code
var _ps = app.documents.firstItem().allParagraphStyles;    
for (var i = 1; i < _ps.length; i++) {

var pStyle = _ps[i]
with( pStyle.nestedGrepStyles.add() )
{
appliedCharacterStyle = app.activeDocument.characterStyles.itemByName('ZF_DoppelteLeerstellen') //Zeichenformat wäre noch zu erstellen ...
grepExpression = '(?<= ) +'
}
}


Lieben Gruß

Hans-Gerd Claßen
Lieben Gruß

Hans-Gerd Claßen

als Antwort auf: [#490512] Top

Uwe Laubender p
Beiträge: 1968

22. Feb 2012, 15:53

Beitrag #6 von 7
Beitrag ID: #490521

Bewertung:

(556 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep (?<=\s)\s+ - für mehrfache Leerstellen


Antwort auf [ -hans- ] Bei dem Zeichenformat wird halt die horizontale Skalierung einfach auf 1% gesetzt und die Zeichenfarbe aufkeine gestellt.


Hallo, Hans-Gerd!
Dachte mir bereits so etwas. Hat aber den entscheidenden Nachteil, dass nach "Kopieren/Einfügen" in andere Dateien mit Absatzformaten ohne den GREP-Stil die unschönen Problemstellen wieder auftauchen.

Sollten mehrere überflüssige Leerschläge gehäuft stehen (besonders am Beginn eines Absatzes), nützt Dir das Zeichenformat auch nichts mehr. Der Text sieht dann trotzdem unschön aus.

Der GREP-Stil ist also nur ein wenig Kosmetik…
*****
Mit herzlichem Gruß,
Uwe Laubender

als Antwort auf: [#490506] Top

Quarz  M  p
Beiträge: 2418

22. Feb 2012, 16:09

Beitrag #7 von 7
Beitrag ID: #490525

Bewertung:

(541 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep (?<=\s)\s+ - für mehrfache Leerstellen


Hallo Hnas-Gerd,

ich mach so etwas mit FindChangeByList;
und zwar mit folgendem Code:

//---- double Space + Punkt + Komma -----
grep {findWhat:"(((?<= ) +)|((?<=\\.)\\.+)|((?<=,),+))"} {} {}

Gruß
Quarz

-------------------------------------------
Win7/64 Prof. | InDesign CS5 7.04


als Antwort auf: [#490521] Top


Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Grep (?<=\s)\s+ - für mehrfache Leerstellen


^