10 juli 2010

GREP: geen los woord laatste regel alinea


Je kunt al instellen bij afbreek-opties dat een woord dat als laatste in een alinea staat niet mag worden afgebroken.
Nog mooier is het volgens sommigen als er sowieso niet een 'los' woord op de laatste regel van een alinea staat.

Je kunt dit oplossen door een vaste spatie te zetten tussen het voorlaatste woord en het laatste woord van een alinea (samen met de optie laatste woord afbreken uit te zetten in de afbreek-opties levert dit mooie typografie op).

Hoe dat snel te doen? Met en GREP zoek/vervang actie!

Zoek naar deze GREP:

\s(?=[\w[:punct:]]+$)



Vervang met deze GREP:
~S


Wel dan weer goed opletten of de uitlijning en afbrekingen geen nare 'gaten' in je tekst veroorzaken, soms is een 'los' woord acceptabeler dan een lelijke rechterkantlijn...






4 opmerkingen:

Wim Ruberg zei

Mooie Grep Frans. Ik gebruikte hem al een tijdje.
Misschien is de volgende ook een goede voor in je blog.

Het komt wel eens voor dat men korte, eerste woorden van een nieuwe zin niet aan het eind van de zetbreedte/regel wil (uiteraard niet in blokvorm).

Ik heb hierop het volgende gevonden:

SRCH: (?<=["'\?\!\.]_)(\w{1,6})_
REPL: $1~S

N.B. Underscore karakter = spatie.

Uiteraard kun je de minimale en maximale lengte van dat korte woord binnen de accolade's definiëren. Ik heb het minimum op 1 staan omdat ik dit ook in Engelse teksten gebruik.

Wim Ruberg zei

Het is ook mogelijk( misschien wel beter) om een spatie te zoeken met een ongedocumenteerde GREP code: \p{space_separator} waaronder ALLE spaties, behalve TAB en RETURN vallen.

F vd Geest DTP & Graphic Design zei

Bedankt Wim! Dat zijn goeie tips, ik heb ze meteen hier in InDesign gezet!

Wim Ruberg zei

Het komt nogal eens voor dat er tussen het laatste woord-karakter en een alinea-einde één of meer spaties staan (veel bij geïmporteerde teksten) en dan werkt het niet goed.

De volgende werkt in dit geval wel:
(alleen de \s* is tussengevoegd)

SRCH: \s(?=[\w[:punct:]]+\s*$)
REPL: ~S