03.05.2013 Views

nIDug Magazine 06 zomer 2011 - InDesign User Group

nIDug Magazine 06 zomer 2011 - InDesign User Group

nIDug Magazine 06 zomer 2011 - InDesign User Group

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Grip op GREP GREP is niet moeilijk<br />

Dat is eenvoudig na te gaan: typ \d+ in het<br />

Zoeken naar: vak en druk op Zoeken; nu worden<br />

niet alleen individuele cijfers gevonden maar alle<br />

series opeenvolgende cijfers.<br />

Met deze jokers en het herhalingsteken +<br />

kunnen we al een aantal interessante dingen<br />

doen. Een naam vinden we door te zoeken naar<br />

twee opeenvolgende woorden die met een<br />

hoofdletter beginnen: \u\l+\s\u\l+.<br />

Deze GREP-uitdrukking zegt “zoek een hoofdletter<br />

(\u) gevolgd door een of meer kleine letters<br />

(\u+), gevolgd door een spatie (\s) en een hoofdletter<br />

die op zijn beurt door een serie kleine letters<br />

wordt gevolgd”.<br />

Deze GREP is te eenvoudig omdat hij namen<br />

vindt die de vorm Roxann Voss hebben: twee<br />

opeenvolgende woorden die met een hoofdletter<br />

beginnen. Namen met voorvoegsels zoals<br />

Bastiaan van Zwieten worden niet gevonden<br />

– zodadelijk zullen we zien hoe je die wel kunt<br />

vinden. Acronymen zoals PTT en NAVO vind je<br />

door te zoeken naar \u\u+, met andere woorden,<br />

series van twee of meer opeenvolgende<br />

hoofdletters. Een nogal speciale joker is de punt:<br />

die vindt alles behalve het alineateken. Je kunt<br />

dat makkelijk in beeld brengen: typ alleen .+<br />

(een punt gevolgd door +) in het Zoeken naar:<br />

vak en druk op Zoeken. Zoals je ziet wordt een<br />

alinea in het document geselecteerd. Druk op<br />

Verder zoeken en de volgende alinea wordt<br />

geselecteerd.<br />

! Er is sprake van een bug: de . joker stopt ook<br />

na een voetnoot. Het voetnootnummer<br />

wordt wel geselecteerd, maar de rest van de<br />

alinea niet. We zitten al sinds CS3 met deze<br />

bug, en hij is in CS5.5 nog steeds niet<br />

verholpen.<br />

<strong>nIDug</strong> MAGAZINE <strong>06</strong> <strong>zomer</strong> <strong>2011</strong><br />

Zelf jokers maken<br />

De jokers die we tot nu toe hebben gezien zijn<br />

al zeer nuttig. Maar je kunt ook zelf jokers maken<br />

door één of meer letters en/of standaardjokers<br />

te combineren in een zogenaamde tekenset.<br />

Op die manier kunnen we bijvoorbeeld het<br />

bereik van de bestaande jokers een beetje uitbreiden.<br />

Een paar voorbeelden maken dat duidelijk.<br />

Eerder zagen we dat \d+ getallen vindt.<br />

Een mogelijke tekortkoming is dat die uitdrukking<br />

getallen met duizendscheiders en decimale<br />

punten slechts gedeeltelijk vindt. Om die<br />

getallen correct te vinden, willen we een joker<br />

hebben die cijfers, punten, en komma’s vindt.<br />

Een tekenset definieer je door alles wat je wilt<br />

vinden tussen rechte haken te zetten. In ons<br />

voorbeeld is de tekenset [\d.,] – met andere<br />

woorden, een cijfer, een punt, of een komma.<br />

Speciale tekens vinden<br />

Een aantal tekens hebben een speciale betekenis<br />

in GREP. De rechte haken worden bijvoorbeeld<br />

gebruikt voor tekensets en de plus is het herhalingsteken.<br />

Maar wat als u naar zulke tekens<br />

wilt zoeken in een tekst? U moet ze dan laten<br />

voorafgaan door een backslash: met \+, \[ en \]<br />

zoekt u een plusteken, een rechte haak openen<br />

en een rechte haak sluiten. Alle speciale tekens<br />

moeten door een backslash worden voorafgegaan<br />

als u ze wilt zoeken.<br />

Typ deze tekenset in het Zoeken naar: | Find<br />

what: vak, druk op Zoeken | Find, en je ziet dat nu<br />

ook getallen zoals 12.345,67 worden gevonden.<br />

Als je geldbedragen wilt zoeken, kun je simpelweg<br />

een kastlijntje (~=) toevoegen: [\d.,~=].<br />

Met €[\d.,~=]+ vind je ook bedragen voorafgegaan<br />

door het Euro-symbool, zoals €3.543,–.<br />

Je kunt meer dan één tekenset in een zoekopdracht<br />

opnemen. Om bijvoorbeeld geldbedragen<br />

in Euro’s, ponden, en dollars te zoeken,<br />

kun je deze GREP gebruiken: [€£$][\d.,~=]+.<br />

Tekensets zijn reuze handig. Hier zijn nog een<br />

paar voorbeelden:<br />

Klinkers: [aeiou]<br />

Staartletters: [gjpqy]<br />

Stokletters: [bdfhklt]<br />

Even terugkomend op ons voorbeeld van de<br />

GREP-uitdrukking om namen te vinden, welke<br />

nog aangescherpt moest worden.<br />

Eerder gaven we als voor beeld \u\l+, waarmee<br />

we een hoofdletter vinden die gevolgd wordt<br />

door één of meer kleine letters. Het zal duidelijk<br />

zijn dat je daarmee geen dubbele namen vindt<br />

zoals Jan-Pieter en Hooites-Meursing.<br />

Om die namen ook te vinden, zeggen we dat<br />

een naam bestaat uit een hoofdletter gevolgd<br />

door kleine letters en eventueel een streepje en<br />

een hoofdletter: \u[-\l\u]+. Om voor- en achternaam<br />

te vinden, gebruiken we de volgende<br />

uitdrukking:<br />

\u[-\l\u]+ // Naam<br />

\s // spatie<br />

\u[-\l\u]+ // Naam<br />

! Als zoekopdrachten aan de lange kant<br />

worden, verdelen we ze voor de duidelijkheid<br />

van dit artikelover meerdere regels. Dit kun je<br />

in <strong>InDesign</strong> niet doen, daar moet alles achter<br />

elkaar! Wat na de schuine strepen komt, is<br />

commentaar: dat moet je niet typen. Neem<br />

alleen over wat vet is.<br />

Ten slotte kunnen tekensets ook worden<br />

gebruikt om zoekopdrachten ongevoelig te<br />

maken voor het onderscheid tussen hoofdletters<br />

en kleine letters.<br />

Tekensets: valstrik<br />

Wanneer u een streepje in een tekenset opneemt,<br />

moet u dat als eerste teken opnemen.<br />

Een streepje tussen twee tekens wordt door<br />

<strong>InDesign</strong> beschouwd als een reeks: [A-Z] vindt<br />

alle hoofdletters. [-AZ] daarentegen vindt<br />

slechts drie tekens: streepje, A en Z.<br />

De uitdrukking figuur vindt alleen figuur, niet<br />

Figuur. Om beide spellingen te vinden kun je<br />

[Ff]iguur gebruiken.<br />

Deze toepassing van tekensets kan ook worden<br />

gebruikt om sommige alternatieve spellingen<br />

te vinden. Met [kc]omma, bijvoorbeeld, vind je<br />

komma en komma; met pra[ck]tisch vind je<br />

practisch en praktisch. De beperking hier is dat<br />

de variatie slechts één teken kan zijn. In de<br />

paragraaf Alternatieven, verderop, laten we zien<br />

hoe je wat meer uitgebreide alternatieven kunt<br />

vinden.<br />

Dit alles verbetert weliswaar het zoeken naar<br />

namen, maar we kunnen nog steeds Bastiaan<br />

van Zwieten niet vinden. In het volgende stuk<br />

komt alles bij elkaar.<br />

Niets: een soort joker?<br />

Een teken dat misschien ten onrechte nooit als<br />

joker wordt beschouwd is het vraagteken. Dit<br />

geeft aan dat het teken vóór het vraagteken<br />

niet aanwezig hoeft te zijn. Een paar voorbeelden<br />

laten zien hoe handig dit is. Je hebt namen<br />

zoals Jansen en Janssen. Om beide spellingen<br />

met één zoekopdracht te vinden, gebruiken we<br />

Janss?en: de s die vóór het vraagteken staat,<br />

20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!