i i “Lokar-tex” — 2010/6/1 — 11:46 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 15 (1987/1988) Številka 6 Strani 326–330 Matija Lokar: TeX Ključne besede: matematika, računalništvo, obdelava besedil, ureje- valnik teksta TeX. Elektronska verzija: http://www.presek.si/15/915-Lokar-tex.pdf c© 1988 Društvo matematikov, fizikov in astronomov Slovenije c© 2010 DMFA – založništvo Vse pravice pridržane. Razmnoževanje ali reproduciranje celote ali posameznih delov brez poprejšnjega dovoljenja založnika ni dovo- ljeno. Ste si kdaj želeli , da bi sami izdajali časopis? Ste se kdaj jezil i, ko ste po- skušali lepo natipkati matematično formulo? Rešitev problema je povsem preprosta. Imeti morate strica v tiskar- ni ali pa računalnik , tiskalnik in seveda primeren program. Pred kakšnega po l leta sem končno prišel do verjetno najboljšega programa za urejanje besedila. To je program, ki ga je napisal sloviti Donald E. Knuth, profesor na univerzi v Standfordu . Imenuje se TEX. Ime izhaja iz začetnih črk grške besede tehne (TEX . oo ), kar pomeni ročna spretnost, obrt, umetnost in se tako tudi izgovarja . Programa ne smemo mešati s podobnim programom firme Honeywell z imenom TEX. Kot pove že samo ime programa, je namenjen predvsem za pisanje tehni- čnih besedil. V njih ponavadi ka, mrgoli formul, grških črk oo ' S pomočjo tega programa naši pisni izdelki skoraj nič ne zaostajajo za tistimi, ki jih pripravljajo v tiskarni. Videz pa je seveda odvisen od seznanjenosti z možnostmi programa in od kvalitete tiskalnika. Knuth je rezultate svojega petle- tnega dela na področju računalniške obdelave teksta objavil v seriji petih knjig Computers SO Typesetting. Prva nosi naslov TEX Book in je prav- zaprav priročnik za uporabo programa. Vendar to niso suhoparna navodila, kot smo jih običajno vajeni pri takih 326 izde lk ih . Je bolj učbenik in zelo zani- mivo napisan . Druga knjiga je sam pro- gram (TEX: the Program) v pascalu. Lahko mirno sedete za računalnik in si program vtipkate. Seveda če ste pripra- vljeni stipkati 594 strani! Tretji del z naslovom The MET AFONTbook je na- vodilo za uporabo programa META- FONT, ki omogoča generiranje zna- kov in definiranje različnih abeced . To sploh ni tako preprosto, kot si mogoče misli bralec, ki uspešno uporablja č, š in ž na svojem računalniku. Knuthovi programi namreč delujejo povsem ne- odvisno od enote, ki jo uporabljamo za izpis. To je lahko poljuben tiskal- nik, zaslon .oo Več o tem kasneje. Vsa- ka črka mora biti lepa tudi v kurzivni, povečani, poudarjeni in ne vem še kakšni obl iki . Tako je vsak znak opisan kar s 60 parametri . Če ste uspešno vtipka li TEX, se boste mogoče lotili še programa METAFONT . Najdete ga v četrti knji - gi. Za tolažbo naj vam povem, da je knjiga okoli 40 strani krajša od druge. V peti knjigi, Computer Modern Type- faces, vas Knuth popelje v načine defi- niranja znakov, v njihovo zgodovino, pojasni probleme, ki so nastopili pri delu na obeh programih, in razloži, zakaj so določene rešitve takšne, kakršne so. Kako pa TEX sploh uporabljamo? Samo delo lahko razdelimo na več faz. T EX je v bistvu specializirani prevajal- nik, le da teksta ne predela v strojno nih kontrolnih ukazov. Omogoča pa tudi definiranje novih, če jih potrebu- jemo. Osnovna verzija T EX-a pozna pet osnovnih tipov črk. abcdefghijklm abcdefghi}klm tJ6cdel,lijilm I.bcdefCh1jkl.a abcdefghlJJdm Blanted "olie roman tJPlWriter bold kodo, marveč v obliko, primerno za izpis . Najprej pripravimo tekst z ureje- valnikom besedil, ki ga najpogosteje uporabljamo. Med tekst vnesemo kontrolne ukaze. To so bodisi kontrol- ne besede ali pa kontrolni znaki. Kontrolni ukazi služijo za oblikovanje besedila, omogočajo izpis posebnih simbolov... Pomešani so z drugim tekstom in se začno s simbolom \ . Tako z \ p i dobimo grško črko pi, z \infty simbol za neskončnost ... Pri tipkanju teksta se moramo zavedati, da Med njimi preklapljamo s kontrol - imajo znaki { , } , \ , /> , ~ , _ , .$ nimi besedami \rm, \sl, \it, \tt in \bf. poseben pomen in če jih želimo Poleg tega imamo na voljo različne ve- uporabiti, jih moramo pisati drugače. likosti črk. Običajno so črke velikosti Program pozna v osnovni obliki (t.i. 10 točk, z uporabo ukazov \sevenrm čisti TEX) okoli 900 vnaprej definira- in \fiverm pa teks postaja manjii in manjJi ln mallj.) IB mallj') lJI llIa1lJ'1. Seveda tekst lahko tudi poveča- ime nabora znakov na datoteki > mo. Preprosto naložimo nabor znakov, scaled < faktor >. Faktor je celo povečan za ustrezni faktor. Tako z število, ki predstavlja povečavo ukazom \font\ at < velikost> poimenuje- povečujemo znake enakomerno (v mo poljuben nabor znakov v željeni geometrijskem zaporedju), imamo za velikosti. Kadar ga želimo uporabiti, faktor vnaprej definirane vrednosti ga naložimo z \. \magstep < i >, kjer je i med O in Drug način povečevanja znakov je 5. Tako povečujemo < i > krat. relativno povečanje glede na osnovno V spodnji tabeli imamo osnovni velikost. Tako imamo na voljo ukaz nabor znakov povečan za 1.2, 1.44, \font\' = < 1.728 in 2.074-krat. a b e d e t g a lj k l m a o p r e t a v s abcdefghijklmnoprstuvz abcdefghijklmnoprstuvz abcdefghijklmnopr 327 Celotni tekst lahko povečamo ozi - roma zmanjšamo tudi bolj preprosto . Na začetku teksta uporabimo ukaz \magnification = < faktor >. Ukazov je, kot smo že omenili, res veliko. Vendar se uporabe osnovnih ukazov hitro privadimo in tako je tipkanje zapletenega teksta dokaj hitro. Odveč je seveda omeniti, da pro- gram sam skrbi za poravnavo robov besedila, zamikanje novih odstavkov, številčenje strani, zna pisati opombe pod črto, razbijati tekst v stolpce, pi - sati naglase ... Ustavimo se še malo pri pisanju matematičnih formul. Tu je program res mojstrsko narejen in je pisanje za- pletenih klobas, ki j ih včasih srečamo v besedilu, povsem preprosto . Formule pišemo tako, da jih napišemo med $$ . Če uporabimo $ $ ,bo formula za- pisana v novi vrsti in centrirana . Kot podobni programi vsebuje tudi indekse in eksponente. Vendar je tudi ta kos 'spodobneje' napisan kot v drugih pro- gramih. Tako TEX pazi na take stvari, kot je npr. dejstvo, da morajo biti in- deksi pri določenih črkah malo za- maknjeni . Večina programov tako na- piše pi ,namesto PI Preprosto je tudi pisanje indeksiranih eksponentov, indeksov od indeksov od indeksov ... od indeksov, ki se morajo proporcionalno manjšati. Tako ~t" zapišemo kot $$2A{2 A[ 2A{ 2Ax}}}$$ Pogeljmo si še nekaj zanimiv ih formul. I $\sqrt 2$ $\ sqr t.Ix+2}$ $\xA{ \overline {m+n}$ $\sqrt {xA3+\sqrt \ a l pha }$ $ \root 3 \ of 2$ Zanimivo je tudi, da nam pri pi- postavljati presledkov . Zato je bolje, sanju formul ni potrebno skrbeti za da za to skrbi program sam. Seveda presledke . Knuth je namreč mnenja, lahko to možnost s primernim ukazom da večina tako ali tako ne zna pravilno izklopimo. 328 Matematiki veli ko uporab ljajo naglase nad črkami . S tem poudari jo relacije med posameznimi matemati· čnimi objekti in se izognejo preveli ki uporabi indeksov. Tako či st i TE X pozna naslednje znake: Matematične fo rmu le so lahko tudi veliko zapletenejše. Program oprav i tudi z njimi . $$x+y A 2 \over k+1$$ $$x \pm y\mp z$$ $$x \subset y \subseteq z$$ $$n+1 \ choos e 3$$ $\hat a$ a $\check a' 4 $\Ulde a' ti $\acutea$ et '\".ave a' ~ '\dot a' li '\ddot a' ii $\breve a$ ~ $\bar a' II '\vec a$ il Z+y2 k+l z+,ttr z:l:'=fJ' r(z) n!.(y) ZC'~J 3 ~Z: (n:l) $$ \lirn Irivt.o \ i nfty h _ n {\rrn\ ex i s ts J \ iff \ l i rns up {n\to\ inftyJx_n = \ l i rninf_ {n\ to\ i nft y Jx_ n$$ lim z. exlsts <==> lim sup z. =lim inIz. 329.-00 .-00.-00 $$\lim {x\to O}{\sin x\over x }=l$$ mu Um-=l .~ ~ Ker lahko matematične for m ule upo rabn iku za to ni potrebno skrbeti. rastejo , mora program poznat i način , Črte nad koreni so dovolj dolge , kako določene simbole povečat i. Spet ulomki pravilno izp isani ... $$ \sqrt l l+\sqrt l l+\sqrt l l+\sqrt ( l+\ in tOftl lx \ over 2 } dx }}}}$$ 1+ 1+ 1+ $$\ l eft( \sum {k=l }An A k \right$$ Tudi matrike je s TEX-om preprosto p isati: $$A=\pmatrix{~{ 11 }&a_{12 }&\ldots&a_{ln}\cr a {21}&a {22}&\ l dot s &a {2n} \ cr \vdots&\ vdo ts&\ddots \vdots \cr a {ml} &a {m2 }&\ldots&a {mn }\cr }$$ 330 ( 4U IJ12 A = IJ21 IJ22· .· .· . 0'"1 0"'2 /JI. )IJ2.. .. .. . •• • Oma Typing Math Formulas Kako, oblikovanje formul da je težko? 331