Feladatmegoldások
Az alábbiakban számos makrót fogok bemutatni. A lista nem teljes, hiszen eddig olyan feladatokat oldottam meg, amiket saját magam fontosnak tartottam. Semmi sem lehet tökéletes, a makrók sem azok. Ezek „robotok”, mindig mindent pontosan ugyanúgy hajtanak végre, gyakran a kimeneti eredmény sem az lesz, amit vártunk. Ahol ilyen – előre látható – probléma várható, ott azt igyekszem jelezni. Újabb ötleteket szívesen látunk.
HOGYAN SZERVEZZÜK MAKRÓINKAT?
Különböző feladat megoldására sok makrónk lesz. Észben tartani sem könnyű, nemhogy ésszerűen kezelni is tudjuk azokat. A dokumentumok formázásánál több féle módon oldhatjuk meg a munkát (az egyéni dolog, mit tekintünk üdvösnek), és mindegyiknek van előnye, no meg hátránya is (ahogy az már lenni szokott).
Az egyik megoldás, hogy minden egyes feladatra rendelkezünk egy-egy makróval. Ennek az előnye az, hogy pontosan kézben tudjuk tartani a makró által elvégzett feladatokat, viszonylag könnyen visszatérhetünk az előző változatú dokumentumhoz, ha esetleg nem azt kaptuk, amit vártunk. Hátránya, hogy sokkal lassabban haladunk, rossz esetben több tíz, vagy száz makróból kell választanunk, emlékezve arra is, melyik mit is csinál.
A másik megoldás, hogy egyes, jól behatárolt feladatsorra egy olyan makrót hozunk létre, amit több, kisebb makróból állítottunk össze. Ez nem rossz például egy dokumentum legalapvetőbb, egységes formára hozásához. Előnye, hogy gyorsabban haladunk; hátránya, hogy mondjuk öt formázást követően – ha valami nem úgy mutat, mint vártunk – sokkal nehezebb visszatérni a kezdő dokumentumhoz.
Mindkét esetre javaslom a „Tanácsok” közül egyik-másik megfogadását. A makrók kezelésének elegánsabb megoldása pedig lehet egy újabb poszt tárgya :-)
Példa makrók
A megadott példa makrók általában egy-egy feladat végrehajtására készültek (kivéve a legutolsót). A makrókon belül megjegyzésekkel (ezek az aposztróf utáni sorok) igyekeztem világossá tenni: mi, miért van.
Oldaltörések eltávolítása
A Word alap esetben automatikusan töri az oldalakat, ezzel nem kell foglalkozni, mivel az nem jelenik meg magában az eredeti szövegfájlban. Ugyanakkor gyakran találunk olyan szöveget, amiben kézi oldaltöréssel vannak oldaldobások. Ez nem feltétlenül jó, ezek eltávolítására szolgál ez a makró. Viszont ez eltávolít minden kézi oldaltörést. Ha azt szeretnénk, hogy minden fejezet új oldalon kezdődjön, azt nekünk kell kézzel utólag bevinnünk.
Itt találjuk.
Feltételes elválasztójelek eltávolítása
Gyakran található szövegekben feltételes elválasztás, főleg ott, ahol eredetileg is be volt állítva az elválasztás (a feltételes elválasztással igazában szebb sorkizárt szövegek alakíthatóak ki). Van egy nem törhető elválasztójel kategória is, ez lehetővé teszi, hogy pontosan az ott megjelölt helyen válasszon el a Word, ahol szeretnénk (elég ritka). Az e-könyveknél sokkal célszerűbb megszabadulni az elválasztó jelektől, erre szolgál ez a makró.
Itt találjuk.
Tabulátor jelek eltávolítása
A rosszul kialakított szövegekben fordul elő gyakran (pl. a bekezdés első sorának behúzására). Gyakran fordul elő OCR-ezett szövegeknél is. Igazában nincs rá szükség (ha megfelelően alakítjuk ki a bekezdéseket), eltávolításukra szolgál ez a makró.
Itt található.
Nem törhető szóközök cseréje szóközre
Nem törhető szóköz elsősorban web oldalak Wordbe másolásakor fordul elő, de jellemző az OCR-ezett anyagokra is. A gondolatjeleket leszámítva elvileg nincs rájuk szükség, „sima” szóközökre cserélésüket oldja meg ez a makró.
Itt található.
Bekezdésjelek előtti és utáni szóközök eltávolítása
Gyakran fordul elő, még saját gépelés esetén is (véletlenül). Későbbi makrós formázásokhoz fontos, hogy a bekezdésjel előtt és után ne álljon szóköz. Erre szolgál ez a makró, és
itt található.
Kézi sortörés eltávolítása 1
Gyakran fordul elő (például a
MEK-nél is), hogy a fejezeteken belül logikailag elkülönülő részeket egy plusz bekezdés beírással – jelen esetben kézi sortöréssel – különítik el. Ez a makró cseréli az ilyen sortörést bekezdésjelre minden bekezdésjel után. Nem fogja ugyanakkor bántani a sorok végén levő kézi sortörés jeleket (ami meg jellemző a pdf-ből Wordbe átültetett dokumentumoknál, esetleg OCR-ezett anyagoknál), és
itt található. Ez utóbbiak eltávolítására más makrót kell használni.
Kézi sortörés eltávolítása 2
Az előző problémás esetben használható. Akkor működik igazán jól, ha a kézi sortörés nem csak minden (vagy majdnem minden) sor végén van, hanem egy plusz ilyen sortöréssel oldották meg a bekezdések elválasztását egymástól. Ha nem így lenne, akkor bizony a bekezdés végeket magunknak kell kézzel megjelölni. A makró
itt található.
Üres sorok eltávolítása
Ez a makró gyakorlatilag az egynél több bekezdésjelet távolítja el.
Itt található.
Gondolatjel beállítás
Jó tudni a következőket: több féle jel létezik.
- = kötőjel, elválasztójel (diviz, hyphen)
– = gondolatjel, félkvírtmínusz (en dash)
— = nagykötőjel, kvirtmínusz (em dash)
A legutóbbi (nagykötőjel) magyar nyelvű folyószövegben nem használható – a magyar helyesírás szabályai szerint! Tehát érdemes eltávolítani.
Ez a makró ellenőrzi a kötőjeleket és nagykötőjelet (nem a Word-bélit, mert ott valamiért a gondolatjelet nevezik nagykötőjelnek, a nagykötőjelet meg hosszú kötőjelnek). Lecseréli gondolatjelre, plusz kiegészíti azt egy nem törhető szóközzel. Ez azért fontos, mert a szövegszerkesztők (Word, OOo), hajlamosak a párbeszédeket felsorolássá alakítani. Jó esetben (ha nincs valamiért szóköz a kötőjel után) nem bántja a kötőjelet például az „e” kérdőszócskánál, illetve a szópároknál (pl. ici-pici stb.). A vesszővel végződő elválasztójelre is működik.
Itt található.
Írásjelek előtti szóköz eltávolítása
Gyakran előfordul, a makró
itt található. Az alábbi írásjelek esetén működik: pont, vessző, pontosvessző, kettőspont, kérdőjel és felkiáltójel.
Zárójelek szóközmentesítése
Elég gyakran előforduló hiba még nem OCR-ezett anyagoknál is. A makró
itt található. A „hagyományos” és szögletes zárójeleknél működik.
Többszörös szóköz eltávolítás
Ez a makró az egynél több szóközt távolítja el, tehát például a több szóközzel jelölt bekezdés behúzásokat is. Érdemes azután lefuttatni, ha olyan makrót használtunk előtte, ami valamilyen jelet, vagy betűt szóközre cserélt. Figyelem! Ha bekezdésjelünk van több szóközzel az elején, abból a bekezdésjel előtt egy szóköz megmarad (tehát utána érdemes futtatni a bekezdésjel előtti és utáni szóköz eltávolítót).
Itt található. A makró annyiban különleges, hogy a „white space” karaktereket keresi és cseréli egy szóközre, tehát – elvileg – minden nem törhető szóközt, valamint a billentyűzetről a Tab gombbal bevitt tabulátorok szóközeit is eltávolítja (mivel mindegyik valamilyen módon szóköz), de egy szóköz itt is marad.
Bekezdések formázása 1
A bekezdések formázása nem egyszerű feladat automatizálási szempontból. Nagyon sok féle bekezdés létezik, a formázási lehetőségek is számosak.
Ez a makró abból indul ki, hogy a fejezet, alfejezet címek általában nem tartalmaznak a cím végén írásjeleket (ellenpélda: Gárdonyi Géza Egri csillagok Első rész Hol terem a magyar vitéz?). Tehát nem minden esetben ad jó eredményt. A makró tanulmányozása azonban igen hasznos lehet.
Úgy működik, hogy először lecseréljük az írásjelekkel végződő (esetünkben a pont, kettőspont, felkiáltó-, kérdőjel és három pont) bekezdések bekezdésjeleit egy nem nagyon használt karakter kombinációra (ha mégis lenne ilyen kombináció, akkor cseréljük másra); majd a bekezdésjelre végződő bekezdéseket (sorokat) középre igazítjuk. Ezt követően visszaállítjuk az előzőekben lecserélt bekezdésjeleket, és sorkizárttá tesszük a bekezdéseket, az első sorokat pedig behúzzuk 0,7 cm-re. A sortávolság egyszeres (szimpla) lesz, a bekezdések előtt és után a térköz 0. És rögtön látni fogjuk, ha valamelyik bekezdés végéről lemaradt például a pont…
Itt megtalálható.
Bekezdések formázása 2
Ez az előző makró egyszerűsített változata, tehát ésszerűbben használható. Abban különbözik az előzőtől, hogy csak azokat a bekezdéseket teszi sorkizárttá, és húzza be, melyeknek a végén a korábban már felsorolt írásjelek vannak. Az összes többi változatlan marad, azokat kézzel kell formázni.
Itt található.
Betűtípus beállítás 1
Ez a legegyszerűbb makró, és
itt található. Kijelöli a teljes dokumentumot, majd azt az általunk választott betűtípusra állítja (esetünkben ez a Gentium Book Classic lesz). Nem változtatja meg a font többi formázását: maradnak az eredeti betűméretek, a dőlt, félkövér stb. formázások. Ezzel minden egyéb font is eltűnik a dokumentumból, még véletlenül sem marad más típus a dokumentumban. Tehát, ha más font típus is volt a dokumentumban (például kódrészlet, vagy idézet, stb.), azt kézzel kell utólag beállítani.
Betűtípus beállítás 2
Hasonló az előbbihez, azzal a különbséggel, hogy a betűméret is változik: 13 pontos lesz. A cserélt font többi formázása nem változik. Ha a fejezet-, alfejezetcímek betűmérete más volt, azt is kézzel kell utólag beállítani.
Itt található.
Egy formázási alap példa
Ez a makró egy komplexebb feladatsort valósít meg a korábban felsorolt makrók sorba állításával. Remélhetőleg sok dokumentumban megfelelően használható, kielégítő végeredménnyel. Nem kell megijedni, ha a dokumentumban például nincsenek kézi oldaltörések, vagy feltételes elválasztó jelek: ha a makró ilyet nem talál, akkor nem is fog tenni semmit. Lássuk, mit is valósít meg:
- Eltávolítja az oldaltöréseket.
- Eltávolítja a feltételes és nem törhető elválasztó jeleket.
- A nem törhető szóközöket szóközre cseréli.
- A kézi sortöréseket szóközökre, a dupla kézi sortöréseket bekezdésjelre cseréli.
- A felesleges szóközöket eltávolítja.
- A bekezdésjelek előtti és utáni szóközöket eltávolítja.
- Eltávolítja a zárójeleknél levő és írásjelek előtti szóközöket.
- Eltávolítja a felesleges (üres) bekezdéseket.
- A kötőjeleket gondolatjelre cseréli, a sor/bekezdés elején levők pluszban egy nem törhető szóközt kapnak.
- Megformázza az írásjelekre végződő bekezdéseket: a bekezdés előtt és után nincs térköz; az első sor behúzása 0,7 cm, és a bekezdés sorkizárt lesz. A sorok távolsága egyes (szimpla).
- A teljes dokumentumra betűtípust állít, ami Gentium Book Classic és 13 pont méretű lesz, de az egyéb betűformázások változatlanul maradnak.
Ha a felsoroltak hasonlóságot mutatnak Dworkyll olvtárs által javasolt egységesítési javaslatokkal, az nem a véletlen műve…
Végszó
A makrók sok tekintetben megkönnyítik a munkát, biztosítják a figyelmetlenségből, fáradtságból adódó tévesztések számának jelentős csökkentését. Azonban egy komolyabb írásos anyag szerkesztésénél a kézi munka mindenképpen megmarad, elkerülni nem lehet. Nem lehet makrót írni például a helytelen ragozás, mondatszerkezet javítására (pontosabban: nem egyszerű). Komolyabb programozási tudással nagyon bonyolult, összetett programokat lehet makróba tenni, de ez nem volt a célom (nem is nagyon lennék alkalmas rá).
Első nekibuzdulásból körülbelül ennyit terveztem megosztani a blog közösségével. A kísérletező kedvűek nyugodtan ügyködhetnek, kísérletezhetnek. Azt hiszem, senki sem fogja megróni őket, ha eredményeiket közkinccsé teszik. És bízom benne, sikerült néhány olvtársunknak segítenem, könnyebbé, egyszerűbbé tenni dokumentumaik formázásának időrabló munkáját.
Tehát: kalandorok ne kíméljenek bennünket!
Végül: a linkek behelyezésekor úgy gondoltam, azok a feltötött TXT fájlokra fognak mutatni, és le lehet tölteni. Erre úgy működnek, hogy a rákattintásukkor megnyílik a fájl (legalábbis nálam). Ekkor úgy kell eljárni, hogy jelöljük ki a korábbi részben leírtak szerinti részt, majd illesszük be az "üres" makróba.
De ki lehet jelölni az egészet, másolás, megnyitni a például a Jegyzettömböt, majd beilleszteni az egészet. Ezt követően el lehet menteni a példafájlt.
Utolsó kommentek