hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 » »  
Martin Fischer  M  p
Beiträge: 11740
14. Nov 2007, 09:22
Beitrag #1 von 21
Bewertung:
(24372 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Liege ich mit meiner Vermutung richtig, daß InDesign per GREP mit "\s" nicht wie versprochen "alle Leerräume" findet, sondern nur den normalen Wortzwischenraum und den Tabulator?

Als workaround benutze ich statt "\s" folgenden Ausdruck, um alle Leerräume zu finden:
"[~m~>~>~f~|~S~s~<~/~.~3~4~%\s]".

Finde ich damit wirklich alle oder sind jemandem noch weitere bekannt?
Eventuell auch ein anderer workaround?

Viele Grüße
Martin Top
 
X
pixxxelschubser p
Beiträge: 1499
14. Nov 2007, 10:16
Beitrag #2 von 21
Beitrag ID: #322283
Bewertung:
(24277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Hallo Martin,

ob dein Ausdruck alles findet - ich weiss es nicht.

Aber er sieht schön aus Sly


[~m~>~>~f~|~S~s~<~/~.~3~4~%\s]

viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


als Antwort auf: [#322270] Top
 
Martin Fischer  M  p
Beiträge: 11740
14. Nov 2007, 10:33
Beitrag #3 von 21
Beitrag ID: #322288
Bewertung:
(24261 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Hans-Jürgen,

so gefällt mir der Ausdruck schon recht gut.
Du hast Dir einige Mühe gegeben:

[red][~m[/red][#ff4400]~>~[/#][#ff6600]>~f[/#][#ff9900]~|[/#][#ffcc00]~S[/#][#ffe900]~s[/#][#ffcc00]~<[/#][#ff9900]~/~[/#][#ff6600].~3[/#][#ff4400]~4~[/#][red]%\s][/red]

;-)


Allerdings würde er mir in der schlichteren Art wie "\#" (= alle Leerräume) noch besser gefallen.

Viele Grüße
Martin
als Antwort auf: [#322283] Top
 
pixxxelschubser p
Beiträge: 1499
14. Nov 2007, 10:46
Beitrag #4 von 21
Beitrag ID: #322291
Bewertung:
(24257 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Martin

Antwort auf: Allerdings würde er mir in der schlichteren Art wie "\#" (= alle Leerräume) noch besser gefallen.


Dann würden bestimmt gleich die andere Fraktion angetigert kommen: Wir hätten gern, dass die Suchabfrage nur alle "normalen" Leerzeichen berücksichtigt!

Oder: Ja, alle Leerräume ist schon oK, aber das Achtelgeviert möchte ich nicht mit auswählen… !

Bei der Vielzahl der möglichen Varianten ist die jetzige Methodik vielleicht nicht die, die Dir am Besten gefällt. Aber es dürfte die flexibelste Lösung sein
:-) oder :-( ?

viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


als Antwort auf: [#322288] Top
 
Marco Morgenthaler S
Beiträge: 2474
14. Nov 2007, 12:53
Beitrag #5 von 21
Beitrag ID: #322328
Bewertung:
(24229 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Hallo Martin

Interessante Beobachtung und offenbar ein Bug, denn \s sollte laut Indesign-Hilfe und Peter Kahrels Short Cuts über GREP alle Leerzeichen finden, also neben dem normalen Leerschlag, Tab und Absatzende auch alle anderen Leerräume (Geviert, Halbgeviert usw.).

Übrigens funktioniert im Text-Reiter ^w (das Pendant zu \s im GREP-Reiter) einwandfrei.

Vielleicht kann jemand mit einer englischsprachigen Indesign-Version den Bug verifizieren, oder gilt der Fehler nur für die deutsche Version?

Ein Fall für den Feature request / Bug report. Hast du das dort schon gemeldet?

Gruss Marco

PS: Habe den Bug an Adobe weitergeleitet > http://www.adobe.com/...ex.cfm?name=wishform

iMac 3.06 GHz | 8 GB RAM | OS X 10.6.8 | Indesign 7.0.4 (CS5 Design Premium) | CS6 Design Standard | www.manuseum.ch
als Antwort auf: [#322291]
(Dieser Beitrag wurde von Marco Morgenthaler am 14. Nov 2007, 13:05 geändert)
Top
 
Marco Morgenthaler S
Beiträge: 2474
14. Nov 2007, 14:30
Beitrag #6 von 21
Beitrag ID: #322347
Bewertung:
(24195 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Martin
Zitat Finde ich damit wirklich alle oder sind jemandem noch weitere bekannt?


Nach deinen eigenen Recherchen gibt es doch an die 30 Leerzeichen, vgl. http://www.hilfdirselbst.ch/..._P210345.html#210345

Jetzt bin ich gespant auf deinen neuen GREP-Ausdruck =;o)

iMac 3.06 GHz | 8 GB RAM | OS X 10.6.8 | Indesign 7.0.4 (CS5 Design Premium) | CS6 Design Standard | www.manuseum.ch
als Antwort auf: [#322270] Top
 
Martin Fischer  M  p
Beiträge: 11740
14. Nov 2007, 15:08
Beitrag #7 von 21
Beitrag ID: #322363
Bewertung:
(24181 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Marco,

danke für Deinen Hinweis.
Du wirst lachen, auf diese Liste bin ich gestern in einem ganz anderen Zusammenhang gestoßen.


> Jetzt bin ich gespant auf deinen neuen GREP-Ausdruck =;o)

Ich glaube, ich laß da lieber mal Adobe ran.
"\s" sollte wirklich alle Leerräume ansprechen.

Viele Grüße
Martin
als Antwort auf: [#322347] Top
 
Peter Kahrel p
Beiträge: 182
14. Nov 2007, 15:50
Beitrag #8 von 21
Beitrag ID: #322386
Bewertung:
(24166 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Martin,

In my (English) version of Indesign, \s captures all white space, including returns (\r). If you're using it in a script, maybe you forgot to escape the backslash:

...findGrep = "\\s";

If this is in the UI, it would indeed be a bug of the German version.

Peter
als Antwort auf: [#322363]
(Dieser Beitrag wurde von Peter Kahrel am 14. Nov 2007, 15:52 geändert)
Top
 
pixxxelschubser p
Beiträge: 1499
14. Nov 2007, 15:57
Beitrag #9 von 21
Beitrag ID: #322391
Bewertung:
(24162 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Hallo Martin,

Zitat Allerdings würde er mir in der schlichteren Art wie "\#" (= alle Leerräume) noch besser gefallen.

Mit dem Suchergebnis könnte man alle Arten von Leerzeichen durch einen Wortabstand ersetzen. Gibt es noch andere Verwendungsmöglichkeiten?

viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


als Antwort auf: [#322288] Top
 
Martin Fischer  M  p
Beiträge: 11740
14. Nov 2007, 16:10
Beitrag #10 von 21
Beitrag ID: #322398
Bewertung:
(24157 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Peter,

I did try it in the UI with "\s" and in a script with "\\s".
But with this expression I couldn't find something like "~>" (thin space).

I have detected this while writing some lines for FindChangeByList.jsx.
The following lines should put a thin space between a single or two character(s) followed by a dot followed by a single or two character(s) followed by a dot. (e.g. "e.g." -> "e.|g."; "J.Ch. Peirce" -> "J.|Ch. Peirce", "B. C. E." -> "B.|C.|E.", ...)

Code
grep	{findWhat:"\\<([\\u\\l]{1,2}\\.)[~m~>~>~f~|~S~s~<~/~.~3~4~%\\s]?([\\u\\l]{1,2}\\.)"}	{changeTo:"$1~<$2"}	{includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false}	z. B. -> z.B.; z. Fs. -> z.Fs. 
grep {findWhat:"(\\u{1,2}\\.)[~m~>~>~f~|~S~s~<~/~.~3~4~%\\s]?([\\u\\l]{1,2}\\.)[~m~>~>~f~|~S~s~<~/~.~3~4~%\\s]?([\\u\\l]{1,2}\\.)"} {changeTo:"$1~<$2~<$3"} {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} H. L. J. -> H.L.J.


As you told that \s captures all white space in the english version of ID, this seems to be a bug in the german version.

Viele Grüße
Martin
als Antwort auf: [#322386]
(Dieser Beitrag wurde von Martin Fischer am 14. Nov 2007, 16:16 geändert)
Top
 
Martin Fischer  M  p
Beiträge: 11740
14. Nov 2007, 16:14
Beitrag #11 von 21
Beitrag ID: #322400
Bewertung:
(24153 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Hans-Jürgen,

mein Beispiel, wie ich es versuchte, für FindChangeByList.jsx auszudrücken, siehst Du oben.

Nach Abarbeitung der ersten Zeile kam es vor, daß z.B. aus "J.C.B." das herauskam: "J.|B.C.".
Oder aus "J. B. C." das: "J.|B. C."

Im nächsten Durchgang sollte er diese Kombination aus drei Zeichen mit folgendem Punkt und kein Leerzeichen oder irgendeines bearbeiten, so daß aus J.|B.C."und aus "J.|B. C." das wird: "J.|B.|C.".

Viele Grüße
Martin
als Antwort auf: [#322391]
(Dieser Beitrag wurde von Martin Fischer am 14. Nov 2007, 16:20 geändert)
Top
 
Peter Kahrel p
Beiträge: 182
14. Nov 2007, 16:51
Beitrag #12 von 21
Beitrag ID: #322408
Bewertung:
(24135 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Martin,

Maybe I don't understand you properly, but you could insert those spaces with just one expression:

find: (?<=\u)\.(?=\u\.)
replace: .&#8201;~<

Peter
als Antwort auf: [#322400] Top
 
Martin Fischer  M  p
Beiträge: 11740
14. Nov 2007, 16:57
Beitrag #13 von 21
Beitrag ID: #322410
Bewertung:
(24132 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Peter,

oh!
I will give it a try.
But first I have to ride my scooter (thru the snow).

Thanks
Martin
als Antwort auf: [#322408] Top
 
Peter Kahrel p
Beiträge: 182
14. Nov 2007, 17:01
Beitrag #14 von 21
Beitrag ID: #322413
Bewertung:
(24128 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


That replace expression should be jus .~< (I don't know where that unicode value came from).

Peter
als Antwort auf: [#322410] Top
 
Marco Morgenthaler S
Beiträge: 2474
14. Nov 2007, 17:01
Beitrag #15 von 21
Beitrag ID: #322414
Bewertung:
(24126 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

GREP: Alle Leerräume


Hallo Martin

Deine Vorgaben sollten durch folgenden GREP-Ausdruck erfüllt sein:

Suchen nach: ((?<=\b[\l\u])|(?<=\b[\l\u]{2}))\.(?=[\l\u]{1,2}\.)
Ändern in: .~<

Der GREP-Ausdruck findet also einen Punkt, wenn vorher eine Wortgrenze \b und ein oder zwei Buchstaben [\l\u] stehen (aufgedröselt in zwei Look behind ?<= mit Oder-Verknüpfung |) UND nachher (Look ahead ?=) ein oder zwei Buchstaben [\l\u]{1,2} und ein Punkt \. folgen. Die Gruppe {1,2} funktioniert im Look behind nicht, deshalb die Aufteilung mit «oder».

Bei meinem Test hat’s funktioniert: u.a. z.B. e.g. A.B.C. J.Ch. usw. Bei J.Chr. (drei Buchstaben) müsste der GREP-Ausdruck angepasst werden (zusätzliche ODER-Schleife im Look behind und {1,3} im Look ahead).

Gruss Marco

@Peter: (?<=\u)\.(?=\u\.) works well with uppercase letters only (A.B.C.), but not for u.a., e.g., z.B., J.Ch. etc.

iMac 3.06 GHz | 8 GB RAM | OS X 10.6.8 | Indesign 7.0.4 (CS5 Design Premium) | CS6 Design Standard | www.manuseum.ch
als Antwort auf: [#322400]
(Dieser Beitrag wurde von Marco Morgenthaler am 14. Nov 2007, 17:16 geändert)
Top
 
« « 1 2 » »  
X