23 april 2018

CO2 etc. GREP anno 2018: met een nieuwe Positive Lookbehind!

.
In mijn boek en ook op dit blog heb je kunnen lezen hoe je met behulp van een GREP-stijl snel de 2 achter CO2 en NO2 en tussen H2O subscript kunt zetten.
Daarnaast kun je snel acroniemen in kleinkapitaal zetten met een GREP-stijl.

Probleem was een tekst waar ook acroniemen met een - en _ voorkwamen alsmede iets als PDF12 en PNG01.



Als we de GREP voor acroniemen uitbreiden naar cijfers in de naam hebben we het probleem dat ook CO en NO etc. kleinkapitaal gezet gaan worden.

Ik moest dus een uitzondering maken voor CO, HO, NO, deze moesten worden 'rechtgezet' naar gewone kapitalen.

Daarnaast was de uitdaging om zoveel mogelijk in één uitdrukking te zetten, dus NO2, CO2 en H2O in één definitie.

Met hulp van de Facebook GREP-groep kwam ik uit op:

Voor acroniemen:

\<\u[\u_\d-]+\>

Voor subscript zetten van de 2 in CO2, NO2 en H2O:

(?<=[CN]O)2|(?<=H)2(?=O)

Voor corrigeren naar kapitaal van CO, NO en H2O:

[CN]O2|H2O

Tenslotte ook voor vierkante meter nog eentje:

(?<=m)2





Maar...


Er bestaat sinds een aantal CC versies nu ook een andere vorm voor de Positive Lookbehind (?<=) namelijk de simpelere \K.
De \K moet echter achter de uitdrukking komen!

Zo kunnen we nu de NO2, H2O en CO2 nog verder versimpelen naar:

([CN]O)\K2|(H)\K2(?=O)

Oftwel:
Of CO of NO:
[CN]O
Kijk achter naar een 2:
\K2
of (het teken | ) een H gevolgd door een O, kijk achter de H voor de 2:
|(H)\K2(?=O)

Dat kan ook bij vierkante meter:
de m moet los staan, dus een begin en eind van woord, en dan gevolgd door een 2:

\bm\K2\b

 \b betekent Woordgrens en is een 'variant van begin/eind woord \< en \>

Overigens:

De haakjes zijn vaak handig om de GREP te kunnen lezen 'in stukjes', maar ze zijn niet echt altijd nodig. We kunnen dus ook rustig schrijven:

[CN]O\K2|H\K2(?=O)

Ook kun je hier een woordgrens toevoegen (net iets netter wellicht)

 \b[CN]O\K2\b|\bH\K2(?=O\b)

Ook kun je hier een woordgrens toevoegen (net iets netter:)

\b\u\u+\b





Die \K is er vanaf versie CC 2014.

Niet alleen is \K simpeler, het blijkt ook sneller. Bovendien maakt het kortere GREP's mogelijk, vergelijk maar eens:

((?<=map)|(?<=figure)|(?<=table))\s\d+


of: 

(map|figure|table)\s\K\d+ 






13 april 2018

WordPress artikelen in InDesign halen

.
Veelgevraagd en Adobe heeft er ooit zelfs eens aan gedacht dit te gaan doen (maar toen gebeurde er weer eens niets) is een link tussen WordPress en InDesign. In dit geval gaat het om het binnenhalen van artikelen vanuit WordPress in InDesign.

Heame Ulrich heeft er een script voor gemaakt!

Meer info hier: (Duits).
https://www.publishingblog.ch/press2id/


























4 april 2018

Regelafstand: op hele alinea! Een valkuil bij wijzigen van de voorkeur...

.
Niemand die begrijpt waarom, maar Indesign heeft als standaard voorkeur dat regelafstand géén eigenschap is van een alinea maar van geselecteerde tekst. Inderdaad, dat was bij PageMaker zo maar QuarkXPress deed dat beter.
Afijn, als je de standaard voorkeur gebruikt dan moet je wanneer je 'handmatig' de regelafstand verandert alle tekst van de alinea selecteren; dat heeft als nadeel dat wanneer je niet alles selecteert je verschillende regelafstand in dezelfde alinea kan hebben, slecht!





Dus standaard zet je de voorkeur beter op Regelafstand op gehele alinea's toepassen. Dan hoef je met de cursor alleen maar ergens in de alinea te staan en zal de regelafstand op de alinea als geheel toegepast en dus overal hetzelfde zijn in die alinea.






Maar...

Stel dat je een ouder document hebt waar de voorkeur ooit uit stond. Dan kan de regelafstand ongelijk zin binnen een alinea als er niet goed is opgelet, een 'foute' alinea.
Verander je nu de voorkeur naar Regelafstand op gehele alinea's toepassen dan wordt dit niet automatisch gecorrigeerd in deze 'foute' alinea!
In de 'foute alinea' gaan staan en nogmaals op de stijl klikken of de regelafstand in het regelpaneel wijzigen laat de foute regelafstand gewoon staan.
Dat komt omdat de oude voorkeur er voor zorgt dat de regelafstand nog steeds een teksteigenschap is in de 'foute' alinea en dat dit gezien wordt als een lokale overschrijving die overeind blijft!
Je ziet echter geen plusje naast de alineastijl staan dat de lokale overschrijving aangeeft!






Je moet lokale opmaak dus verwijderen: Alt-Shift-klik op de stijlnaam of klik op het P-symbool onderaan het Alineastijlen-venster om de lokale opmaak te verwijderen: je ziet nu dat de regelafstand gelijk getrokken wordt in de hele alinea.