nIDug Magazine 06 zomer 2011 - InDesign User Group
nIDug Magazine 06 zomer 2011 - InDesign User Group
nIDug Magazine 06 zomer 2011 - InDesign User Group
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