Säännöllisesti tyylitelty lista InDesignilla

Sain jokin aikaa sitten eteeni erään yhdistyksen pienemmän puoleisen historiikin ladontatyön. Ryhdyin tehtävään käynnistämällä vanhan tutun työkaluni InDesign-ohjelmiston. Ensi töikseni aloin laatia ladontaa helpottavia tyylejä, joita käyttämällä tekstin erilaisten tyylittelyjen simulointi käy käden käänteessä, mikäli tulee tarvetta muotoilla ulkoasua oikolukujen jälkeen. Jo ensimmäisellä tekstin silmäilyllä panin merkille monet nimilistat, jotka koostuivat jäsenen nimestä ja päivämäärästä sekä muista tiedoista samalla rivillä. Jokainen arvo oli oikeaoppisesti erotettu toisistaan tabuloinnilla eli arvojen välissä oli siis tabulointimerkki, jolla listat saatiin näyttämään ryhdikkäiltä kunkin arvon ollessa omassa sarakkeessaan.

Nimilistojen tyylittelyssä ei alkuun näyttänyt olleen mitään erikoista. Tyylimäärittelyyn riitti oikeastaan vain sarkainkohtien sijoittelu oikeille paikoilleen. Aivan näin helpoksi listojen tyylittely ei sitten kuitenkaan osoittautunut. Listan ensimmäisessä sarakkeessa ollut henkilön nimi piti näet lihavoida muiden arvojen pysyessä ennallaan. Nimilistoja oli kymmenittäin siellä täällä pitkin historiikin tekstiä, ja ymmärsin heti, etten voi käsin alkaa lihavoida yksitellen jopa sataa nimeä. Sellainen rupeama olisi ollut hidasta ja työlästä, joten päätin tehdä säännöllisen tyylittelyn listoille. Alla on malli nimilistasta fiktiivisillä henkilönimillä.

Teuvo Testaaja       1.12.2004  puheenjohtaja
Kalle Kokeilija      14.5.1998  sihteeri
Harri Harjoittelija  26.9.2012  taloudenhoitaja

Englanninkielisessä InDesignissani on erittäin voimakas ja käyttökelpoinen niin sanottu GREP Style -ominaisuus. Toiminto löytyy tyylejä määriteltäessä omalta välilehdeltään, ja sen käyttö vaatii jonkun verran tavallista enemmän tietoa, joka lähentelee ohjelmointia. Kyse on ohjelmoinnista tutuista säännöllisistä lausekkeista, joita kutsutaan englanninkielisellä termillä regular expression. Lyhenne GREP tulee englanninkielen sanoista globally search a regular expression and print, ja se on Unix-tyyppisistä käyttöjärjestelmistä tuttu komentorivityökalu, jolla etsitään säännöllisiä lausekkeita hyödyntäen arvoja esimerkiksi tekstitiedostosta. InDesign hyödyntää samaa menetelmää eli säännöllisiä lausekkeita ja etsii tekstistä lauseketta vastaavia tekstinosia. Kun etsitty tekstinpätkä löytyy, muotoilee ohjelma löydetyn fragmentin halutulla tyylillä.

GREP-tyylin määrittely InDesignissa on kaksiosainen. Ensin luodaan merkkityyli, jota sovelletaan löydökseen. Merkkityyli eli character style on tavallinen InDesign-tyyli, jossa voidaan monipuolisesti määritellä merkin tyylittely. Minun tapauksessa tekstiä tarvitsi ainoastaan lihavoida, joten tein uuden merkkityylin, joka yksinkertaisesti vain lihavoi tekstin eikä tee mitään muuta. GREP-tyylin luonnin toinen vaihe onkin sitten astetta haasteellisempi, sillä siinä kirjoitetaan varsinainen säännöllinen lauseke, jolla muotoiltava teksti etsitään. InDesignissa on jonkun verran säännöllisen lausekkeen rakentamista helpottavia valmiita arvoja, mutta ohjelmointitaidoista on tässä vaiheessa suurta apua. Alla on malli säännöllisestä lausekkeestani, jolla toteutin nimilistoissa olleiden nimien automaattisen lihavoinnin ilman käsityötä.

^.*?(\t)

Lyhyesti selitettynä ensimmäinen eli hattumerkki etsii rivin alkupään. Piste tarkoittaa mitä tahansa merkkiä, joka seuraa tästä eteenpäin. Tähtimerkki puolestaan kertoo, että merkkejä saa olla miten paljon tahansa tai ei yhtään. Kysymysmerkki heti tähtimerkin perässä muuttaa tähden merkitystä siten, että edeltävä merkkikuvio saa esiintyä vain kertaalleen. Suluissa oleva kenoviivan ja t-kirjaimen yhdistelmä tarkoittaa tabulointi- eli sarkainmerkkiä. Tässä lausekkeessa siis etsitään rivin alusta alkaen mitä tahansa merkkejä aina ensimmäiseen vastaan tulevaan tabulointimerkkiin saakka. Kun tällainen tekstinpätkä on löytynyt, muotoillaan se määritellyllä tyylillä eli tässä tapauksessa teksti lihavoidaan. Lopputuloksena on nimilista, jossa henkilöiden nimet on lihavoitu.

Teuvo Testaaja       1.12.2004  puheenjohtaja
Kalle Kokeilija      14.5.1998  sihteeri
Harri Harjoittelija  26.9.2012  taloudenhoitaja

GREP-tyyli helpotti olennaisesti ladontatyötäni. Minun tarvitsi vain merkitä listat niille määritellyllä tyylillä, ja GREP-tyylittely teki hienosäädöt. Koska jokainen henkilönimi päättyi aina tabulointimerkkiin, toimi säännöllinen lauseke juuri niin kuin pitikin. Käytännöllisesti katsoen GREP-tyylillä voi tehdä melkein ihmeitä. Rajana on vain mielikuvitus ja ohjelmointitaidot.

Julkaistu lauantaina 25.2.2017 klo 9:32 avainsanoilla InDesign ja ohjelmointi.

Edellinen
Tusinan luvut - osa 2
Seuraava
Battle Beast - Bringer of Pain