3.5. Makrá - veľká prednosť TeXu

\define \nazov{obsah} nám umožňuje definovať si vlastné skratky - makrá. Odteraz kdekoľvek v texte použijeme \nazov, bude namiesto slova \nazov dosadený len (!!!) obsah zložených zátvoriek (bez samotných zátvoriek). Preto pozor na zmeny fontov, použitie skratiek v exponentoch, ... vo vnútri zátvoriek. Napr. \define\dos{\it definície|_|} Po zavolaní \dos zostane zapnutá kurzíva ... dáva:

\define\dos{\it definície } Po zavolaní \dos zostane zapnutá kurzíva\dots\rm

Ak sa chceme vyhnúť predchádzajúcim kolíziam, je lepšie použiť dvojité zátvorky \define \nazov{{obsah}} . Potom sa bude so skratkou \nazov zaobchádzať ako s jedným znakom a môžeme použiť i $2^\nazov$ . Pokiaľ chceme nejakú skratku používať vo vnútri i mimo matematický mód, je nutné definovať ju pomocou \define \ga{{ \text {$\alpha$}}}. Kdekoľvek v texte teraz môžeme použiť \ga , čo dáva

$\alpha$

Kontrolsolvo \text je povolené v nematematickom móde (v ktorom len vytlačí obsah zátvorky) i v matematickom móde, v ktorom môže automaticky meniť i veľkosť písma v indexoch a exponentoch. Makrá je možné písať i s parametrami - formálnymi argumentami (môže ich byť maximálne 9). Napr. \define\zlom#1 #2#3{$\frac{#1_1#1_2\dots#1_n}{#2_1#2_2#\dots#2_n}#$} , ak použijeme \zlom a bc , dostaneme

\define\zlom#1 #2#3{$\frac{#1_1#1_2\dots#1_n}{#2_1#2_2\dots#2_n}#3$} \zlom a bc

ak potrebujeme viacznakový parameter \zlom a {bc}d dáva

\define\zlom#1 #2#3{$\frac{#1_1#1_2\dots#1_n}{#2_1#2_2\dots#2_n}#3$} \zlom a {bc}d

Ak však použijeme \zlom abc , budeme upozornení na nesprávne použitie tejto definície, pretože pre TeX je znak (rôzny od #) za formálnym argumentom oddeľovačom, ktorým musí byť skutočný parameter zakončený. Ak teda nechceme používať žiadne oddeľovače, je nutné písať parametre #1#2... za sebou bez akéhokoľvek znaku (i bez medzery). Napr. \define \praha#1**{{\it #1\/}} potom použitie ``\praha Praha je najkrajšie mesto** Európy.'' dáva

\define\praha#1**{{\it #1\/}} ``\praha Praha je najkrajšie mesto** Európy.''

ale ak použijeme ``\praha Praha je najkrajšie mesto* Európy.'' dostaneme chybovú hlášku. Definícia môže byť umiestnená kdekoľvek v texte, ovšem kvôli správnemu medzerovaniu je dobré to robiť na zvláštnom riadku a každé \define ukončiť %. Napr. Mám veľmi \define \a {abeceda } rada TeX. sa na výstupe objavia za slovom veľmi dve medzery. Definície sú platné len v bloku, v ktorom sú uvedené, napr. {\define\p{Praha } \p je pekná.} , ale pri použití \p mimo zátvoriek budeme upozornení, že TeX slovo \p nepozná. \redefine \pouzity{\novy} sa používa na predefinovanie významu skratiek, ktoré boli TeXom alebo užívateľom definované skôr (v našom prípade \pouzity). Odteraz \pouzity bude mať význam \novy. Ak chceme "obsah" kontrolslova \pouzity zachovať, musíme predtým použiť \predefine \novy{\stary}; obsah skratky \stary bude mať i skratka \novy. Napr. \predefine\bund{\b}\redefine\b{\beta} , lebo \b už bolo v TeXu definované.