Makrá v OpenOffice.org 5/IX. – Formátovanie dokumentu 1

Július Pastierik  /  17. 01. 2007, 00:00

Po dlhšom čase sa znovu vrátime k formátovaniu dokumentu s tým, že si všetky podmienky pre jeho formátovanie nastavíme v jednom dialógovom okne. Pravdaže, podľa toho následne upravíme aj príslušné funkcie a procedúry.

V minulom dieli nášho seriálu sme ukončili možnosti vstupov v dialógoch. Teraz si na niekoľkých praktických príkladoch ukážeme, ako tieto dialógy využijeme v praxi. Ako prvý príklad si zoberieme formátovanie dokumentov, ktoré sme tu už mali veľmi často, aby sme uzavreli aj túto časť nášho seriálu.

Najprv si znovu spomeňme, čo všetko sme vo formátovaní dokázali zatiaľ naprogramovať. V prvom rade to bolo odstraňovanie viacnásobných medzier (a to nielen v texte, ale aj na začiatku či na konci odstavcov). Ďalej sme si ukázali odstraňovanie nadbytočných medzier pri interpunkčných znamienkach (a naopak aj ich vkladaniu, ak chýbali) a zátvorkách. Nie malú časť formátovania dokumentu sme venovali nahrádzaniu zalomiteľných medzier za nezalomiteľné medzery za jednoznakovými predložkami a spojkami (so špecifickým problémom okolo spojky „a“), za a pred akademickými titulmi, v číslach a pod.

Venovali sme sa aj problematike automatického nahrádzania zalomiteľných medzier za nezalomiteľné priamo počas písania jednoznakových predložiek a spojok a vkladaniu tzv. pružnej nezalomiteľnej medzery, čo sa nám podarilo pomocou znaku „Word Joiner“. Nakoniec sme si ukázali jednoduchú formu ukladania nášho nastavenia do konfiguračných súborov (tejto časti sa budeme venovať ešte podrobnejšie).

Ako vidíme, problematika formátovania dokumentov, ktorej sme sa doteraz venovali je naozaj široká a preto si aj záverečné práce rozdelíme do viacerých etáp. Dnes sa budeme venovať návrhu dialógu „Formátovanie dokumentov“. Pravdaže, nebudeme sa teraz venovať vlastnému vkladaniu jednotlivých prvkov, ale si ich v krátkosti iba vymenujeme, aby sme sa nabudúce mohli na ne odvolávať.

Nezalomiteľné medzery

V rámci nezalomiteľných medzier si tieto rozdelíme na tri skupiny. Prvá sa bude venovať jednoznakovým spojkám a predložkám. Tu si zadefinujeme dve zaškrtávacie políčka „Za_predlozkami“ a „Za_spojkou_a“ a dve dvojice prepínacích políčok. Prvou dvojicou „NBSP1“ a „WJ1“ budeme určovať typ nezalomiteľnej medzery (NBSP – „Non Break Space“, WJ – „Word Joiner“) a druhou dvojicou „On_line“ a „Off_line“ budeme určovať, či sa bude nezalomiteľná medzera vkladať priamo počas písania textu, alebo iba vtedy, keď spustíme celé formátovanie dokumentu.

Ďalej si v rámci skupiny nezalomiteľných medzier zadefinujeme zaškrtávacie políčko „Za_titulmi“, ktorým budeme určovať, či sa majú zameniť zalomiteľné medzery za a pred akademickými titulmi. K tomuto tlačidlu ďalej zadefinujeme dvojicu prepínacích políčok „NBSP2“ a „WJ2“, ktorej význam je taký istý, ako pri spojkách a predložkách, akurát sa týka akademických titulov.

Posledné – tretie zaškrtávacie políčko v rámci skupiny nezalomiteľných medzier bude „Za_cislami“ bude určovať, či budeme vkladať nezalomiteľné medzery za jednociferné čísla, medzi číslice v rámci telefónnych čísliel, medzi čísla a merné jednotky a medzi čísla v dátumoch. K tomu zadefinujeme poslednú dvojicu prepínacích políčok „NBSP3“ a „WJ3“ pre určenie typu nezalomiteľnej predložky. Pravdaže, kto chce, môže si túto časť rozdeliť podrobnejšie – podľa jednotlivých typov (jednociferné čísla, čísla a merné jednotky…), ale to už necháme na každého používateľa podľa toho, ak to potrebuje osobitne riešiť.

Odstraňovanie nadbytočných medzier a pod.

Druhá veľká skupina, ktorú si nastavíme bude sada zaškrtávacích políčok, ktorými určíme, čo chceme v dokumente opraviť pri jeho formátovaní. Budú to tieto tlačidlá:
„Zrus_medzery“ – pomocou tohto zaškrtávacieho okienka určíme, že sa budú vymazávať viacnásobné medzery vo vnútri textu.
„Zrus_okraje“ – pomocou tohto zaškrtávacieho okienka určíme, že sa budú vymazávať viacnásobné medzery na začiatku a na konci odstavcov. Možno sa teraz čudujete, prečo túto možnosť uvádzam ako osobitnú – veď na začiatku odstavca by sa medzery nemali používať. Je to síce pravda, ale nie vždy ich vymazanie je vyhovujúce… napríklad ak si skopírujete zdrojový text programu, ktorý máte napísaný prehľadne tak, že príkazy, ktoré sú vnorené do vnútra iného príkazu máte posunuté vpravo, tak máte na začiatku odstavca práve medzery – a vtedy ich tam aj potrebujete ponechať (osobne túto možnosť musím používať aj pri písaní článkov o programovaní makier v OpenOffice.org). Z podobných dôvodov sa tu nachádzajú aj ďalšie nastavenia, ktoré môžu využiť iní používatelia.
„Zrus_zatvorky“ – pomocou tohto zaškrtávacieho okienka určíme, že sa budú vymazávať medzery za ľavými a pred pravými zátvorkami.
„Zrus_uvodzovky“ – pomocou tohto zaškrtávacieho okienka určíme, že sa budú vymazávať medzery za dolnými a pred hornými úvodzovkami.
„Zrus_interpunkcie“ – pomocou tohto zaškrtávacieho okienka určíme, že sa budú vymazávať medzery medzi textom a interpunkčným znamienkom (čiarka, bodka, ...).
„Zrus_odstavce“ – posledným zaškrtávacím okienkom z tejto skupiny nastavíme odstránenie všetkých prázdnych odstavcov. Tejto voľbe sme sa venovali iba v rámci popisu regulárnych výrazov, teraz si ju však aj naprogramujeme.

Vkladanie medzier

Posledná skupina sa venuje vkladaniu chýbajúcich medzier za interpunkčné znamienka. Na toto miesto si vložíme dve zaškrtávacie tlačidlá:
„Vloz_bodku“ – pomocou tohto zaškrtávacieho okienka určíme, či sa budú vkladať chýbajúce medzery za znak bodky. Aj tento prípad je špecifický a to preto, lebo niekedy nám toto nevyhovuje – konkrétne v prípade, že v texte používame názov „OpenOffice.org“, kde za znakom bodky medzera nie je. Pretože sa jedná o oficiálny názov, nemôžeme ho meniť podľa pravidiel typografie. Pravdaže, dalo by sa to vyriešiť aj tak, že medzery vložíme všade a potom pri tomto texte ich nazad vymažeme – je to však nepohodlné a navyše nesystémové riešenie, pretože takýchto výnimiek môže byť viac. Zatiaľ preto necháme riešenie iba v tomto tvare a prípadné vhodnejšie riešenie si necháme niekedy nabudúce, resp. na domácu úlohu.
„Vloz_interpunkciu“ – pomocou tohto zaškrtávacieho okienka určíme, či sa budú vkladať chýbajúce medzery za ostatné interpunkčné znamienka.

Na koniec nezabudneme vložiť aj dve tlačidlá – tlačidlo pre potvrdenie zadaných údajov „OK“ a tlačidlo pre zrušenie zadaných zmien „CANCEL“.

Na budúce: Počiatočná inicializácia dialógu zo súboru, alebo ako to urobiť tak, aby každý používateľ mohol mať vlastné nastavenia.

Formátovanie dokumentu

Neprehliadnite: