Előző oldal: Úsztatott objektumok, ábrák, táblázatok
Egy szinttel feljebb: Szövegformázás

Saját parancsok és környezetek

Azt már a könyv eleje óta tudod, hogy a LaTeX számára a dokumentum megformázához szükséges információkat LaTeX parancsokkal adhatod meg. Ez akkor válik csak kényelmetlenné, ha sokszor kell ugyanazokat a parancsokat beírnod egy speciális rész formázásához. Természetesen a LaTeX ezt a problémát is megoldja. A sokszor használt parancssorozatok végrehajtására egy új parancsot definiálhatsz, és a hosszú gépelés helyett elég az új parancsot beírnod. Sőt, saját környezetek definiálására is lehetőséged van, mint azt látni fogod.

Tulajdonképpen a LaTeX-hez készített bővítések is új parancsok és környezetek gyűjteményei. Így akár az olvasó is készíthet LaTeX kiegészítéseket, bár természetesen ez közel sem olyan egyszerű. Ahhoz, hogy saját makrócsomagokat írj, nagyon sok parancsot kell ismerned, sőt esetenként még a TeX belső működését is meg kell értened. De ha nem vállalkozol ilyen nagy munkára, akkor is hasznosnak fogod találni a következőket.

Parancsok

Új parancsot a  

\newcommand{parancs neve}[paraméterek száma]{definíció}

paranccsal hozhatsz létre. Két kötelező paramétert kell megadnod, a parancs nevét és definícióját. A parancs nevének '\' karakterrel kell kezdődnie.



Természetesen olyan parancsokat is megadhatsz, amelyek paraméterek feldolgozására is képesek. A paraméterek számát egy opcionális paraméterben adhatod meg. Ha ez a paraméter elmarad, az azt jelenti, hogy a definiálandó parancsnak nincsen paramétere. Az egyes paraméterekre a parancs definíciójában a #szám formában hivatkozhatsz, ahol szám a paraméter sorszáma. Íme egy példa:



Ha a \newcommand parancsban megadott parancsnév már létezik, akkor a LaTeX hibajelzést ad, nem engedi felülírni azt. Ha egy már létező parancsnevet szeretnél felülírni, akkor használd a \renewcommand parancsot, ennek szintaktikája a \newcommand paranccsal megegyezik, de megengedi a már létező parancsok felülírását. Esetleg szükséged lehet a \providecommand parancsra is, ez is ugyanúgy működik, mint a \newcommand, de ha a definiálni kívánt parancs már létezik, akkor a LaTeX az új denifíciót figyelmen kívül hagyja.

Környezetek

Természetesen új környezetek definiálása is lehetőséged van. Ez a parancsok definiálásához hasonló módon történik. Egy új környezet definiálásakor meg kell adnod a környezet nevét, és a környezet kezdetekor és végekor végrehajtandó parancsokat. A környezet kezdetekor végrehajtásra kerülő parancsoknak adhatunk át paramétereket is, a megszokott módon.  

\newenvironment{környezet}[paraméterek száma]{kezdetkor}{végén}

A kezdetkor parancsokat a \begin{környezet} parancskor, a végén parancsokat pedig az \end{környezet} sornál hajtja végre a LaTeX.



A parancsokhoz hasonlóan, a környezetek újradefiniálására létezik egy parancs, a \renewenvironment, szintaktikája megegyezik a \newenviromnent parancséval. Ennek segítségével megváltoztathatjuk a LaTeX beépített környezeteit.


flu@ludens.elte.hu