InDesign en GREP voor netter zinsverloop: minder redactiewerk

InDesign en GREP maken een sterke combinatie om je teksten te controleren. Je kunt er automatisch redactiewerk mee doen. In deze pagina leg ik je uit wat mij irriteert en wat ik heel eenvoudig kan oplossen. De zinnen die beginnen met een kort woord, waarbij dat woord dan aan het eind van de regel staat en de rest van de zin op de volgende regel. Een zin die begint met U, of We, De, Een, Het, enzovoorts. Zou het niet aardig zijn als InDesign deze herkent, en vanzelf de spatie achter dit eerste woord van de zin samen met dat woord instelt op ‘niet afbreken’? Dat is best te doen.

Eerst tekenstijl aanmaken in InDesign

Eerst maak je een tekenstijl aan die letters bijeen houdt. Dat kun je doen door te kiezen voor ‘Geen onderbreking’ bij de eigenschappen van een nieuwe tekenstijl. In het flyoutmenu rechts van de bliksem in het besturingspalet heet deze functie overigens ‘Niet Afbreken’.

indesign en grep

Deze tekenstijl pas je toe op de volgende situatie (stel het in bij GREP in je alineastijl-definitie):

((?<=[\.\?\!]s).\s)|((?<=[\.\?\!]s)..\s)|((?<=[\.\?\!]s)...\s)

Dat is nogal een hoop instructie, maar het werkt wèl. Je kunt de code vanaf hier ook gewoon kopiëren en plakken. InDesign en GREP vinden automatisch de zinnen die beginnen met een woord van 1, 2, of 3 tekens (.  .. en … gevolgd door een willekeurige spatie \s). In het voorbeeld zijn die gemarkeerd met groen. Op die tekens met die spatie er achter wordt de tekenstijl ‘BijeenHouden’ toegepast. Maar alleen maar als die woorden het begin van een nieuwe zin markeren. Een nieuwe zin is er een die voorafgegaan is door een andere zin. Een markering voor het einde van een andere zin is dat die eindigt op een punt, vraagteken of uitroepteken gevolgd door een willekeurige spatie. Het voorafgaan is gedefinieerd door (?<=), waarbij de blauwe tekst steeds staat voor wàt er aan vooraf gaat: een punt, een vraagteken of een uitroepteken.
Het is raar dat het kan, maar profiteer er van!

GREP in InDesign

 

Kortere manier om InDesign en GREP te combineren

Ooit heeft een bezoeker van mijn website hier eens naar gekeken. Hij reageerde: “wat doe je moeilijk. Die code kan toch veel korter?” Het kan inderdaad nog korter: in plaats van die lange regel kun je ook kiezen voor

(?<=[\.\?\!]\s).{1,3}\s

Nu is het aantal tekens (1, 2 of 3) met een willekeurige spatie er achter gewoon vervangen door .{1,3}\s

En nog beter: ook met aanhalingstekens

In het bovenstaande voorbeeld hou je geen rekening met uitspraken in de tekst, die vaak worden voorzien van aanhalingstekens. En dan kan een uitspraak die begint met “U… toch nog verkeerd uitpakken. Hoe los je dat op? Door de code nog verder aan te passen. InDesign en GREP to the rescue!

(?<=[\.\?\!("|')?]\s)("|')?.{1,3}\s

Nu kan een voorgaande zin dus ook een uitspraak zijn. De aanhalingstekens staan dan achter de punt, het uitroepteken of het vraagteken. En de nieuwe zin die begint met een kort woord kan óók een uitspraak zijn.

Grep gebruiken bij Zoeken & Wijzigen om de content te veranderen

Je houdt natuurlijk wel dat de tekst het zelfde blijft: je past er alleen maar andere vormgeving op toe. De tekenstijl kan bij sommige export wel meegenomen worden (ePub bijvoorbeeld) zodat je in de CSS van je vloeibare ePub nog een instructie nodig hebt om dit ook in de ePub goed te laten gaan. Denk bijvoorbeeld aan whitespace: nowrap. Maar je kunt ook argumenten hebben om de tekst echt aan te passen. Er staat dan een vaste spatie in de tekst, in plaats van een gewone spatie met andere vormgeving. Met InDesign en GREP wordt de code dan:

([\.\?\!])(\s)(.{1,3})(\s)

Dat is de code voor de tekst waar je naar zoekt. Dat is het einde van een zin, een willekeurige spatie, een woord van 1 tot 3 tekens, en een willekeurige spatie. Al deze ‘units’ zijn omgeven door ronde haakjes. Daardoor kunnen ze als aparte eenheid gevonden worden. Wij kunnen dan zelf bepalen wat daar mee moet gebeuren. In bovenstaand voorbeeld zijn er dus vier ‘units’. Alleen de laatste willen we dan veranderen, want die moet een vaste spatie worden. De code daarvoor is ~S. Omdat we de eerste drie ‘units’ niet kwijt willen, kun je die aanduiden met $1, $2, $3.

$1$2$3~S

Je kunt helaas niet een Zoek&Wijzig opdracht maken waar nog misschien een extra unit in zit. Zoek&Wijzig in InDesign is heel rechtlijnig. Als je een zoekopdracht wilt waarin ook de optionele aanhalingtekens worden gevonden, moet je daar aparte zoekopdrachten voor maken: zowel voor aanhalingstekens openen als sluiten.

Er staan meerdere artikelen over GREP op mijn website. Gebruik bovenin het zoekvenster, of bekijk dit artikel over hoe je ‘vierkante meter’ automatisch goed kunt zetten.



Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

Onderwerpen