TEX kezdőlépések [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

´ GYONGYI, ¨ BUJDOSO FAZEKAS ATTILA TEX ˝ EP ´ ESEK ´ KEZDOL

A k¨ onyvet a szerz˝ ok az emTEX 3.0a rendszerrel t¨ ordelt´ek Lektor´ alta: Mikl´ os Dezs˝ o V´edjegyek: TEX az American Mathematical Society bejegyzett v´edjegye PCTEX a Personal TEX bejegyzett v´edjegye AMS-TEX az American Mathematical Society bejegyzett v´edjegye

METAFONT az Addison-Wesley Publishing Company bejegyzett v´edjegye HP LaserJet ´es HP DeskJet a Hewlett Packard Company bejegyzett v´edjegyei Felhaszn´ alt irodalom: D.E. Knuth: The TEXbook M.D. Spivak: The Joy of TEX V. Eijkhout: TEX by Topic D. Salamon: NTG’s Advanced TEX course: Insights & Hindsights Fadgyas T., Mikl´ os D.:MATEX Az emTEX programrendszer dokument´ aci´ oja Nyelvi lektor: Bujdos´ o S´ andorn´e Bor´ıt´ o ´es tipogr´ afiai terv: Katulic L´ aszl´ o A bels˝ o c´ımoldal rajzait k´esz´ıtette: B´ek´esi J´ ozsef S´ andor

´ Gyo ¨ ngyi, Fazekas Attila c Bujdoso

Kiadja a Tertia Kiad´ o Felel˝ os vezet˝ o: Tam´ as Zsuzsanna ISBN 963 85129 5 4

Sok szeretettel, tisztelettel ´es nagyon sok k¨ osz¨ onettel Ilosvay Ferencnek

Tartalomjegyz´ek El˝osz´o

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1. A plainTEX

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Bevezet˝ o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1. Alapvet˝o tudnival´ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.1. A TEX haszn´alata v´azlatosan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.2. Bet˝ uk ´es jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.3. Parancsok, parancsszavak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.4. Bet˝ ut´ıpusok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.5. M´ert´ekegys´egek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.6. Nagy´ıt´asok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.7. Csoportok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.8. Dobozok (boxok) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.9. Ragaszt´ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.10. M´ odok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.11. Sz´aml´al´ ok, m´ert´ekek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2. Oldalak l´etrehoz´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 ´ 2.1. Ekezetes ´es speci´alis bet˝ uk, ligat´ ur´ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.2. Sz´ ok¨ oz¨ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.3. Kurz´ıv kiegyenl´ıt´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.4. A bekezd´es alakja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.5. Speci´alis bekezd´esek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.6. Elv´alaszt´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.7. Az oldal alakja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.8. Fejl´ec, l´abl´ec, oldalsz´amoz´as, l´abjegyzet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.8.1. Fejl´ec, l´ abl´ec, oldalsz´ amoz´ as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.8.2. L´ abjegyzet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3. Matematikai sz¨ovegek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.1. Matematikai m´ od . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2. Matematikai karakterek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2.1. G¨ or¨ og bet˝ uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.2.2. Bin´er oper´ atorok (m˝ uveleti jelek) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.2.3. Rel´ aci´ os jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.2.4. Tov´ abbi rel´ aci´ os jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.2.5. Egy´eb matematikai jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.2.6. A pontok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.2.7. Kalligrafikus bet˝ uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.2.8. R´egi ´ır´ asm´ od´ u sz´ amok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Matematikai karakterekr˝ ol – m´ask´eppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Indexek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 ´ Ekezetek matematikai m´ odban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.5.1. Egyszer˝ u ´ekezetek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.5.2. Eg´esz formul´ akra vonatkoz´ o ´ekezetek . . . . . . . . . . . . . . . . . . . . . . . . 63 3.6. V´altoztathat´ o m´eret˝ u jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.7. Nagyoper´atorok, f¨ uggv´enyek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.7.1. Nagyoper´ atorok (szumma, integr´ al stb.) . . . . . . . . . . . . . . . . . . . . . 65 3.7.2. F¨ uggv´enynevek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.7.3. Gy¨ okjelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.8. T¨ ortek, t¨ ort jelleg˝ u kifejez´esek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.9. M´atrixok, esetsz´etv´alaszt´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.9.1. M´ atrixok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.9.2. Esetsz´etv´ alaszt´ as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.10. Egyenletek illeszt´ese, egyenletsz´amoz´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.11. Sz¨ oveg matematikai m´ odban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.12. V´ızszintes helykihagy´as, o ¨sszeh´ uz´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.12.1. Helykihagy´ as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 ¨ 3.12.2. Osszeh´ uz´ as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.13. Sort¨ or´es sz¨ ovegk¨ ozi matematikai m´ odban . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.14. M´eretek matematikai m´ odban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4. T´abl´azatok, dobozok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.1. A dobozokr´ ol r´eszletesebben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.1.1. V´ızszintes dobozok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.1.2. F¨ ugg˝ oleges dobozok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.2. Kit¨ olt˝ o ´es vonalh´ uz´ o parancsok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.2.1. Kit¨ olt˝ o parancsok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.2.2. Vonalh´ uz´ o parancsok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.3. Illeszt´esek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.3.1. Oszlopos elhelyez´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.4. T´abl´azatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.4.1. Form´ atumsor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.4.2. Sorelemek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.4.3. T´ abl´ azat v´ızszintes vonalak n´elk¨ ul . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.4.4. T´ abl´ azat elhelyez´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5. Makr´ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.1. Egyszer˝ u makr´ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.2. Param´eteres makr´ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.3. Makr´ ok defini´al´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.4. Felt´eteles utas´ıt´asok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.5. Makr´ ok kifejt´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6. Mintaoldalak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.3. 3.4. 3.5.

2. Az AMS-TEX

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Bevezet˝ o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 I. Alapparancsok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 1. A sz¨oveg m´od parancsai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 1.1. Lapbe´all´ıt´asok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 1.2. Az ´ekezetek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 1.3. Egy´eb bet˝ uk, jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 1.4. Sz´ ok¨ oz¨ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 1.5. Soremel´es, lapdob´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 1.6. F¨ ugg˝ oleges helykihagy´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 1.7. V´ızszintes helykihagy´as, o ¨sszeh´ uz´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 1.8. Helykihagy´as ´abr´anak, k´epnek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 2. Matematikai m´od . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 2.1. Sz¨ oveg a matematikai m´ odban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 2.2. Egyenletek sz´amoz´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 2.2.1. Hivatkoz´ as egyenletre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 2.3. Formul´ak keretez´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 2.4. T¨ ortek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 2.4.1. Egyszer˝ u t¨ ortek, binomi´ alis egy¨ utthat´ ok . . . . . . . . . . . . . . . . . . . . . . 119 2.4.2. L´ anct¨ ortek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 2.5. Gy¨ ok¨ os kifejez´esek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 2.6. Pontok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 2.7. Al´a- ´es f¨ ol´eh´ uz´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 2.8. Karakter(ek) k´eplet al´a ´es f¨ ol´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 ¨ 2.9. Osszetett indexel´esek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 2.10. Karakter(ek) karakter(ek) mell´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 2.11. Nyilak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 2.12. Kommutat´ıv diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 2.13. M´atrixok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 2.13.1. Z´ ar´ ojeles m´ atrixutas´ıt´ asok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 2.13.2. Z´ ar´ ojel n´elk¨ uli m´ atrixutas´ıt´ as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 2.13.3. M´ atrix sz¨ ovegben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 2.13.4. H´ezagosan kit¨ olt¨ ott m´ atrixok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 2.13.5. M´ atrix form´ atum´ anak megad´ asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 2.14. T¨ obbsoros formul´ak elhelyez´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 2.14.1. K¨ oz¨ os tulajdons´ agok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 2.14.2. Formula k´et sorban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 2.14.3. K¨ oz´epre helyezett egyenletek egym´ as alatt . . . . . . . . . . . . . . . . . . . 135 2.14.4. Egy illeszt´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 2.14.5. Illeszt´es t¨ obb helyen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

2.15. 2.16. 2.17. 2.18. 2.19. 2.20.

Esetsz´etv´alaszt´as, a Cases formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K¨ ozbesz´ urt sz¨ oveg formul´ak illeszt´es´en´el . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sz¨ oveg egyenlet mell´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sor- ´es lapt¨ or´es matematikai m´ odban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F¨ ugg˝ oleges helykihagy´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M´eretek ´at´all´ıt´asa matematikai m´ odban . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

139 139 140 141 142 143

II. A st´ılusf´ajl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 1. A cikk szerkezete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 1.1. Be´all´ıt´asok, defin´ıci´ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 1.2. A c´ım r´esz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 1.3. A cikk bels˝ o tagol´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 1.3.1. A fejezet c´ıme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 1.3.2. Szakasz c´ıme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 1.3.3. Kiemelt sz¨ ovegr´esz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 1.3.4. Nem kiemelt, egys´egesen kezelt sz¨ ovegr´esz . . . . . . . . . . . . . . . . . . . 150 1.3.5. Lista ´ır´ asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 2. A l´abjegyzet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 3. Az irodalomjegyz´ek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 3.1. Az irodalomjegyz´ek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 3.2. Hivatkoz´as irodalomjegyz´ekre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

III. F¨ uggel´ek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 1. M´odos´ıt´asok, adal´ekok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 1.1. Matematikai ´ekezetek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 1.2. R´egi ´ır´asm´ od´ u sz´amok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 1.3. G¨ or¨ og bet˝ uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 1.4. G´ ot bet˝ uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 1.5. Kalligrafikus bet˝ uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 1.6. K¨ ov´er matematikai karakterek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 1.6.1. Bet˝ uk, sz´ amok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 1.6.2. Szimb´ olumok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 1.7. Bin´er oper´atorok (m˝ uveleti jelek) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 1.8. Rel´aci´ os jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 1.9. Tov´abbi, extra jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 1.10. V´altoztathat´ o m´eret˝ u jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 1.11. Nyilak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 1.12. Nagyoper´aP torok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 1.12.1. A -hoz hasonl´ o nagyoper´ atorok . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 1.12.2. Az integr´ aljelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 1.13. Oper´atornevek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 1.13.1. Defini´ alt oper´ atornevek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 ´ 1.13.2. Uj oper´ atornevek ´ır´ asa, defini´ al´ asa . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

´ karakterek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 2. Uj 2.1. G¨ or¨ og bet˝ uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 2.2. H´eber bet˝ uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 2.3. Duplasz´ar´ u bet˝ uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 2.4. K¨ ul¨ onf´ele jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 2.5. Bin´er oper´atorok (m˝ uveleti jelek) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 2.6. Rel´aci´ os jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 2.7. Neg´alt rel´aci´ os jelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 2.8. Nyilak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 2.9. Neg´alt nyilak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 3. Cirill bet˝ uk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 4. Mintaoldal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

3. Az emTEX programrendszer

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

Bevezet˝ o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 I. Install´al´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 1. F´ajlkiterjeszt´esek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 2. Az emTEX els˝o haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 3. Az eszk¨ozmeghajt´ok be´all´ıt´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

II. Ford´ıt´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 1. A tex.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

III. Megtekint´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 1. A dviscr.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 1.1. A program interakt´ıv haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 1.2. A program be´all´ıt´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 ¨ 1.2.1. Uzeneteket ad´ o opci´ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 1.2.2. Lapkezel˝ o opci´ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 1.2.3. T¨ uk¨ orm´eretre vonatkoz´ o opci´ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 1.2.4. T¨ obboldalas nyomtat´ as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 1.2.5. Font opci´ ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 1.2.6. Nagy´ıt´ as ´es felbont´ as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 1.2.7. Alk¨ onyvt´ arakra ´es fontnevekre vonatkoz´ o opci´ ok . . . . . . . . . . . . . 200 1.2.8. Fonthelyettes´ıt´esi f´ ajl szerkezete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 1.2.9. Tov´ abbi opci´ ok, konfigur´ aci´ os a ´llom´ any . . . . . . . . . . . . . . . . . . . . . . 202 1.2.10. Hiba´erz´ekenys´eg be´ all´ıt´ asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

IV. Nyomtat´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 1. A dvihplj.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 2. A dvidot.exe program opci´oi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

3. A dvimsp.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 4. A pcltomsp.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

V. Fontok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 1. 2. 3. 4. 5. 6. 7.

Az mfjob.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Az .mfj f´ajl szerkezete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Az mf.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 A gftopk.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 A gftopxl.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Egy´eb konverzi´os programok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 A fontlib.exe haszn´alata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 7.1. Opci´ ok le´ır´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 7.2. M˝ uveletek (oper´aci´ ok) le´ır´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

VI. Egy´eb lehet˝ os´egek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 1. Egyszer˝ ubb grafikus a´br´ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 2. Grafika beilleszt´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 3. Felhaszn´al´oi u ¨ zenetek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Index

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

El˝ osz´ o

A

˝ k´ z elso erd´ es, ami felmer¨ ulhet az olvas´oban, hogy mi is a TEX. Megpr´ob´aljuk r¨oviden v´azolni. A TEX egy olyan fejlett programoz´asi lehet˝os´egekkel ell´atott sz¨ovegt¨ordel˝o ´es -szed˝o program, amely lehet˝ov´e teszi, hogy a´tlagos felhaszn´al´o tetsz˝oleges sz¨oveget m˝ uv´eszi m´odon, nyomdai min˝os´egben a´ll´ıtson el˝o saj´at sz´am´ıt´og´ep´en. A TEX-et Donald E. Knuth, a m´elt´an vil´agh´ır˝ u matematikus fejlesztette ki a hatvanas ´evek k¨ozep´en. A legenda szerint egyik k¨onyv´enek k´ezirat´aval elment egy nyomd´aba azzal a k´ıv´ans´aggal, hogy k¨onyve jelenjen meg bel´athat´o id˝on bel¨ ul. Erre a nyomda szakembere valahogy ´ıgy v´alaszolt: Ha valaki ennyire okos, szedje ki otthon saj´at munk´aj´at!”. ” Knuth a PC-n haszn´alhat´o rendelkez´esre a´ll´o sz¨ovegszed˝o programokat nem tal´alta megfelel˝o min˝os´eg˝ unek, ´ıgy hozz´afogott egy olyan program meg´ır´as´ahoz, amellyel PC-n, minden nyomdai eszk¨oz n´elk¨ ul egyszer˝ uen lehet matematikai k´epletekkel, formul´akkal tark´ıtott sz¨oveget nyomdai min˝os´egben el˝oa´ll´ıtani. Hossz´ u fejleszt˝o munka sor´an elk´esz¨ ult a TEX els˝o, Pascal nyelven ´ır´odott v´altozata. uk latin bet˝ us a´tirata (ejtsd tech), amely A TEX” n´ev a τεχ g¨or¨og bet˝ ” a g¨or¨og m˝ uv´eszet sz´o kezdete. Az E” bet˝ u ejtetts´ege a TEX lehet˝os´egeire ” utal. A 60-as ´evek k¨ozep´en ´ırt programot Knuth term´eszetesen tov´abbfejlesztette. Az´ota a TEX t¨obb v´altozata is elk´esz¨ ult, amelyek alapk¨ovetelm´enyk´ent ugyan´ ugy teljes´ıtik a tesztfeladatok kiszed´es´et, mint az els˝o v´altozat. A fejleszt˝ok mindv´egig eleget tettek Knuth k´ıv´ans´againak, azaz a TEX alapfiloz´ofi´aja nem v´altozott, a verzi´osz´ama pedig π-hez tart. Ezen sorok ´ır´asakor az aktu´alis verzi´osz´am: 3.14.

14

˝ szo ´ Elo

A TEX el˝ onyei – Nyitotts´ag. Ez abb´ol ad´odik, hogy a TEX egy programoz´asi nyelv: a felhaszn´al´o szabadon programozhatja, minden be´all´ıt´ast megv´altoztathat. Lehet˝os´egei gyakorlatilag korl´atlanok. (Erre p´elda a kotta´ır´asra alkalmas MusicTEX, a TEX-ben meg´ırt BASIC interpreter ´es a Reversi j´at´ek.) – Matematikai formul´akkal gazdagon ell´atott sz¨oveget nagyon egyszer˝ u vele szedni. (Ez a kijelent´es a TEX-et alig ismer˝ok k¨or´eben nagy felz´ udul´ast eredm´enyezhet, de r¨ogt¨on cs¨okken az ellen´erz´es, ha valamilyen m´as programmal akarj´ak ugyanezt megoldani.) Mivel igen nagy a TEX h´ıveinek sz´ama, akik magukat – s f˝oleg m´asok o˝ket – TEXnician-nak nevezik, a megoldatlan probl´em´ak csak r¨ovid ideig maradnak megoldatlanok. Nem profitorient´alt emberekr˝ol l´ev´en sz´o, a programok 70–80%-a szabad szoftver, azaz ingyen megkaphat´o a nemzetk¨ozi TEX-szerverekr˝ol. Ennek viszont h´atr´anya az aluldokument´alts´ag. – A hozz´a szervesen kapcsol´od´o karakterk´esz´ıt˝o programcsomag seg´ıts´eg´evel b´armilyen u ´ j karakter elk´esz´ıthet˝o igen r¨ovid id˝o alatt. – K¨ ul¨onb¨oz˝o t´ıpus´ u g´epekre (IBM PC kompatibilis, Machintosh, VAX, Sun stb.) k´ esz¨ ult futtathat´o v´altozata, sok oper´aci´os rendszer alatt (DOS, OS/2, Unix, Linux, VMS stb.) ford´ıthat´o a gyakorlatilag ugyanolyan forr´ask´od´ u sz¨oveg. – Minden latinbet˝ us nyelvre haszn´alhat´o, de term´eszetesen nem csak ezekre. L´etezik m´ar t¨obbek k¨oz¨ott h´eber, cirill, koreai, k´ınai, jap´an, arab, kor´an, tamil ´es elf (l´asd J. R. Tolkien: A gy˝ ur˝ uk ura) nyelvekre is v´altozata. – Gyakorlatilag tetsz˝oleges nyomtat´on (m´atrix-, tintasugaras, l´ezernyomtat´o ´es PostScript nyomtat´o) kinyomtathat´o, ´es k´epes k¨ozvetlen¨ ul nyomdai f´enyszed˝ot is vez´erelni. – Megfelel˝o kieg´esz´ıt˝okkel szinte b´armilyen feladatra felk´esz´ıthet˝o. P´eldak´ent a k´emiai sz¨ovegek, kott´ak ´es keresztrejtv´enyek szed´es´et eml´ıthetj¨ uk meg. – M˝ uk¨odik egy szervezet, a TUG (TEX Users Group), amely az eredm´enyeket konferenci´akon, foly´oiratban (TUGboat) ´es az elektronikus rendszereken teszi el´erhet˝ov´e a TEXel˝ok sz´am´ara. A fentiek alapj´an l´athatjuk, hogy a TEX egy nagy bonyolults´ag´ u rendszer, aminek teljes ismertet´es´ere kev´es ember v´allalkozhatna. A TEX-r˝ol igen kev´es magyar nyelv˝ u le´ır´as jelent meg eddig, ezt a hi´any hivatott valamelyest p´otolni ez a m˝ u.

˝ szo ´ Elo

15

A k¨onyv h´arom fejezetre tagol´odik, amelyek l´enyeg´eben k¨ ul¨on-k¨ ul¨on is haszn´alhat´ok. Az els˝o fejezet az els˝o l´ep´esekben ny´ ujt nagy seg´ıts´eget a TEX programoz´asi nyelv´enek megismer´es´eben. A m´asodik fejezet egy matematikai makr´ocsomag, az AMS-TEX haszn´alat´at ismerteti. A harmadik fejezet pedig az emTEX programrendszer haszn´alat´at ´es install´al´as´at ´ırja le.

Debrecen, 1995. november 12.

A szerz˝ ok

e k¨ onyv nem tank¨ onyv. C´elj´ at akkor ´ern´e el, ha lenne legal´ abb egy ´ert˝ o olvas´ oja, akinek ´elvezetet ny´ ujtana.” ”

...

WITTGENSTEIN, Logikai-filoz´ ofiai ´ertekez´es (1918)

¨ ONETET ¨ KOSZ MONDUNK Ilosvay Ferencnek, aki megismertette, megszerettette vel¨ unk a TEX-et, ´es igen sokat seg´ıtett a kezdeti botladoz´ asokn´ al. ´ s Dezso ˝ nek, hogy elv´ Dr. Miklo allalta k¨ onyv¨ unk lektor´ al´ as´ at, az ezt k¨ ovet˝ o lelkiismeretes munk´ aj´ at, sz´ amos javaslat´ at, tan´ acs´ at, amelyekkel nagyban seg´ıtette mun´nak a k¨ k´ ankat. Tov´ abb´ a k¨ osz¨ onj¨ uk Dr. Bui Van Thanh-nak ´es Dr. Kis B ´ ela onyv ´ır´ as´ anak kezdet´en adott sok remek o ¨tlet´et. Azon t´ amogat´ oinknak, akik anyagi ´es erk¨ olcsi t´ amogat´ asukkal hozz´ aj´ arultak munk´ ank ´th La ´szlo ´ nak (Addison-Wesley), Marek Lewinsonnak siker´ehez: Dr. Horva ´nya ´nak (Harcourt Brace), a Kereskedelmi Bank Rt. Universitas Alap´ıtva ´ ´ valamint a Kossuth Lajos Tudomanyegyetem Matematikai es Informatikai Int´ ezet´ enek. ´rsasa ´g emet (Dante) ´es a Lengyel (GUST) TEX-Ta A Holland (NT G), a N´ tagjainak az inform´ aci´ ok´ert, a lehet˝ os´egek´ert ´es az o ¨szt¨ onz´es´ert, valamint egyetem¨ unk hallgat´ oinak ´es oktat´ oinak az inspir´ aci´ o´ert, ami nagy szerepet j´ atszott e k¨ onyv meg´ır´ as´ aban. ´ nak a k¨ A Tertia Kiado onyv¨ unk megjelentet´es´ebe fektetett sok energi´ a´ert ´es bizalom´ert, valamint a k¨ oz¨ os munka alatt kialak´ıtott alkot´ o szellemi ´es bar´ ati l´egk¨ or´ert. ´ Sa ´ndorn´ Bujdoso enak, ´edesany´ amnak, k¨ onyv¨ unk nyelvi lektor´ al´ asa alatt tan´ us´ı´ ´ ´ ´ tott kitart´ as´ a´ert ´es eredm´enyes munk´ aj´ a´ert, valamint B ekesi Jozsef Sandornak e p´ ar kedves figur´ a´ert, amivel tal´ an ´elvezhet˝ obb´e tudtuk tenni e k¨ onyvet. Mindazoknak, akik anyagi ´es erk¨ olcsi t´ amogat´ asukkal hozz´ aj´ arultak e k¨ onyv megjelen´es´ehez. V´egezet¨ ul saj´ at magunknak, hogy volt lelkesed´es¨ unk e k¨ onyv meg´ır´ as´ ahoz ´es el´eg kitart´ asunk a megjelentet´es´ehez.

ACKNOWLEDGEMENTS We would like to thank Mr. Ferenc Ilosvay who first introduced and made us like TEX and helped a lot at the teething troubles. ˝ Miklo ´ s for his conscientious work, several pieces We also thank our lector Dr. Dezso of advice helpful criticism which helped to improve the work. Furthermore we thank Dr. Bui Van Than and Dr. B´ ela Kis for their many helpful suggestions given at the beginning. ´szlo ´ Horva ´th (Addison-Wesley), Marek LewinWe are indebted also to Dr. La son (Harcourt Brace), the Universitas Foundation of Kereskedelmi Bank Rt. and the Institute of Mathematics and Informatics of Lajos Kossuth University for their financial and moral support. We wish to thank a lot of people at the Dutch (NT G), German (Dante) and Polish (GUST) TEX Users Groups for the given information, possibilities, and the encouragement from our colleagues and students which played a great role in writing this book. We would like to express our special thanks Tertia Publishing House for devoting the big amount their energy to publish our book and having confidence in us, above these for the creative intellectual and friendly atmosphere evolved during the collective work. ´ , my mother, for her persistent and ´ndorn´ e Bujdoso We are indebted to Mrs. Sa ´ zsef B´ successful work in checking the book linguistically. We also thank Mr. Jo ek´ esi for the kind illustrations which may make our book more enjoyable. We would like to thank everybody who contribute to the publishing with their financial and moral support. Finally we would like to thank ourselves for our enthusiasm in writing and persistence in publishing this book.

1 A plainTEX

Bevezet˝ o A TEX rendszer m˝ uk¨od´es´enek meg´ert´es´et megk¨onny´ıtend˝o az al´abbiakban v´azlatosan ismertetj¨ uk annak fel´ep´ıt´es´et.

A fenti a´br´an l´athatjuk, hogy a TEX tex.exe nev˝ u programja egy kor´abban l´etrehozott forr´asnyelv˝ u a´llom´anyb´ol k´esz´ıt egy .dvi (DeVice Independent) a´llom´anyt. A ford´ıt´ as sor´an a k´eperny˝on k¨ ul¨onb¨oz˝o u ¨ zeneteket kapunk, ´es k¨ozben keletkezik egy .log a´llom´any is. Ezek seg´ıts´eg´evel szerezhet¨ unk inform´aci´ot a ford´ıt´as sikeress´eg´er˝ol, illetve az esetleges hib´akr´ol.

22

plainTEX

˝ Bevezeto

Itt szeretn´enk kihangs´ ulyozni a TEX azon l´enyeges tulajdons´ag´at, hogy mind a .tex mind a .dvi a´llom´any eszk¨ozf¨ uggetlen. Ez azt jelenti, hogy ezeket az a´llom´anyokat b´armilyen TEX implement´aci´on (´es az el˝osz´o alapj´an tudjuk, hogy vannak sz´ep sz´ammal) mindenfajta konvert´al´as n´elk¨ ul felhaszn´alhatjuk tov´abbi munk´ankhoz. A forr´asnyelv˝ u sz¨ovegben haszn´alhat´o parancsok ´es szed´esre vonatkoz´o jellemz˝ok t¨obbs´eg´enek ´ertelmez´esekor a TEX a forr´asnyelv˝ u a´llom´anyon k´ıv¨ ul, egy t˝ole f¨ uggetlen¨ ul l´etez˝o form´ atum-´ allom´ anyt is haszn´al. ´Igy a ford´ıt´ashoz minden esetben sz¨ uks´eges egy form´atum-´allom´any is. Ezek az a´llom´anyok az .fmt kiterjeszt´ est viselik. Ha a ford´ıt´as sor´an nem adunk meg m´ast, a TEX automatikusan a plain.fmt-t haszn´alja. A ford´ıt´as sor´an a sz¨oveg szed´es´ehez sz¨ uks´eges – az egyes karakterek m´eret´ere vonatkoz´o – inform´aci´okat a TEX az adott karakterk´eszlethez (fonthoz) tartoz´o metrikus a ´llom´ anyb´ ol olvassa ki. (Ezek az a´llom´anyok .tmf kiterjeszt´es˝ uek.) A .dvi a´llom´any a bet˝ uk k´ep´et nem tartalmazza. Ennek k¨osz¨onhet˝oen az a´llom´any m´erete csak kis m´ert´ekben t´er el a forr´as´allom´any´et´ol. A ford´ıt´as sor´an nyert .dvi a´llom´anyt k¨ ul¨onb¨oz˝o seg´edprogramokkal megjelen´ıthetj¨ uk a sz´am´ıt´og´ep monitor´an, vagy olyan a´llom´anyokat k´esz´ıthet¨ unk bel˝ole, ami k¨ozvetlen¨ ul – a TEX rendszer n´elk¨ ul is – k´epes nyomtat´okat, plottereket, nyomdai f´enyszed˝o berendez´eseket vez´erelni. Mind a megtekint´es, mind a nyomtat´ as sor´an az eszk¨ozmeghajt´ok a .dvi a´llom´anyban tal´alhat´o fonthivatkoz´asok alapj´an a .gf, a .pk ´es a .pxl kiterjeszt´es˝ u a´llom´anyokban t´arolt bet˝ uk´epeket elhelyezik a kimeneti a´llom´anyban. A TEX rendszerhez tartozik egy METAFONT nev˝ u programrendszer is, amivel ebben a k¨onyvben r´eszletesen nem foglalkozunk. Ennek a seg´ıts´eg´evel k´esz´ıthet¨ unk u ´ j karaktereket. Ezen karakterek tipogr´afiai megjelen´es´et az .mf forr´as´allom´anyban ´ırhatjuk le, aminek a ford´ıt´asa sor´an keletkeznek a .tfm ´es a .gf a´llom´anyok. Itt megjegyezz¨ uk, hogy a METAFONT program ford´ıt´as sor´an – a TEX .fmt a´llom´any´ahoz hasonl´oan – haszn´al egy .bas kiterjeszt´es˝ u, a ford´ıt´as k¨or¨ ulm´enyeit meghat´aroz´o a´llom´anyt. Ez az u ´ n. b´azis. A gener´al´as sor´an keletkezett .gf a´llom´anyb´ol k¨ ul¨onb¨oz˝o seg´edprogramok seg´ıts´eg´evel k´esz´ıthet¨ unk .pxl vagy .pk a´llom´anyokat. A TEX hordozhat´os´ag´ara jellemz˝o, hogy a .tfm ´es a karakterk´epet tartalmaz´o a´llom´anyok egyar´ant f¨ uggetlenek az implement´aci´ot´ol.

˝k ´ 1.2. Betu es jelek

plainTEX

23

1. Alapvet˝ o tudnival´ ok 1.1. A TEX haszn´alata v´azlatosan Az els˝o l´ep´es az, hogy k´esz´ıt¨ unk egy egyszer˝ u sz¨ovegszerkeszt˝ovel egy sz¨oveget. A TEX-nek nincs saj´at sz¨ovegszerkeszt˝oje, ez´ert v´alasztanunk kell munk´ankhoz egyet. Ez legyen olyan, amely nem helyez rejtett vez´erl˝o karaktereket a f´ajlba, ugyanis ezek m´odos´ıthatj´ak a TEX m˝ uk¨od´es´et! Ebben a f´ajlban lesz a megszerkesztend˝o sz¨oveg¨ unk, amely a sz¨ovegb˝ol ´es a sz¨ovegben elhelyezett TEX-parancsokb´ol (l´asd k´es˝obb), p´eld´aul sz¨ovegform´az´o parancsokb´ol a´ll. Ezt a f´ajlt forr´asf´ajlnak h´ıvjuk. Kiterjeszt´esnek c´elszer˝ u .tex-et adni, pl. elso.tex. P´eld´aul: Ez biztosan sikeres lesz. \bye,

ahol a \bye a sz¨oveg¨ unk v´eg´et jelz˝o TEX-parancs, aminek mindig szerepelnie kell a form´azand´o sz¨oveg ut´an. Ebb˝ol a TEX programmal egy form´azott sz¨oveget k´esz´ıthet¨ unk: C:\TEX>tex elso

amelyet a TEX egy – az eredetivel megegyez˝o nev˝ u, azonban .dvi kiterjeszt´es˝ u – f´ajlba ´ır ki. Eset¨ unket v´eve ez egy elso.dvi elnevez´es˝ u f´ajl lesz. Ekkor m´eg nem l´atjuk a sz¨oveg¨ unk nyomtat´asi k´ep´et. Ennek a k´odolt f´ajlnak az alapj´an a lemezen l´ev˝o karakterekb˝ol k¨ ul¨onb¨oz˝o programok seg´ıts´eg´evel jelen´ıthetj¨ uk meg k´eperny˝on, nyomtathatjuk ki pap´ırra, filmre. K´eperny˝on megn´ezni p´eld´aul a k¨ovetkez˝ok´eppen (a megl´ev˝o v.bat f´ajl seg´ıts´eg´evel) lehet: ...\TEX>v elso

Nyomtat´as pl. HP LaserJet nyomtat´ora, ha rendelkez´es¨ unkre a´ll a prthplj.bat f´ajl: ...\TEX>prthplj elso

A k´eperny˝on val´o megjelen´ıt´esr˝ol ´es a nyomtat´asr´ol r´eszletesen ´ırunk a k¨onyv harmadik r´esz´eben.

1.2. Bet˝ uk ´es jelek A forr´asf´ajlba ´ırhat´o karaktereket kezel´es¨ uk alapj´an az al´abbi h´arom csoportba sorolhatjuk: Bet˝ uk, sz´amok: Ebbe a csoportba tartoznak az angol a´b´ec´e kis- ´es nagybet˝ ui, valamint a sz´amjegyek, amelyek nyomtat´asban v´altozatlanul jelennek meg. Koldusopera 1928

24

plainTEX

˝ tudnivalo ´k 1 Alapveto

eredm´enye: Koldusopera 1928

Fontos: Ne keverj¨ uk o¨ssze az l” bet˝ ut az 1”-es sz´ammal, az o” ´es O” bet˝ ut ” ” ” ” a 0” sz´ammal! Ennek egyik oka, hogy ´ır´ask´ep¨ uk jelent˝osen k¨ ul¨onb¨ozik. Ez ” f˝oleg matematikai formul´akn´al igaz, hiszen nem mindegy, hogy x=o vagy x=0. A m´asik nagyon fontos ok az, hogy sok helyen a bet˝ uket ´es a sz´amokat a TEX megk¨ ul¨onb¨ozteti, m´as jelent´est ´es tulajdons´agokat rendel hozz´ajuk. Ez´ert sok helyen nem helyettes´ıthet˝ok egym´assal, mert a ford´ıt´as hiba¨ uzenettel le´allhat, vagy teljesen m´as eredm´enyt kaphatunk, mint amit szerett¨ unk volna. Vez´erl˝o karakterek: Vannak olyan karakterek, amelyeket a forr´asf´ajlba beg´epelve hat´asukra a TEX nem az adott karaktert fogja megjelen´ıteni, hanem valamilyen m˝ uveletet fog v´egezni. Jelent´es¨ ukr˝ol ´es m˝ uk¨od´es¨ ukr˝ol k´es˝obb – a megfelel˝o helyeken – r´eszletesen sz´o lesz. Ezek a karakterek a k¨ovetkez˝ok: \ { } $ % ^ _ & ~ #

Megjelen´ıt´es¨ uket nyomtat´asban a parancsok t´argyal´as´an´al mutatjuk be (l´ asd 1.3. Parancsok, parancsszavak). Billenty˝ uzet egy´eb jelei: Ide tartoznak a fentebb fel nem sorolt jelek, amelyek a billenty˝ uzetr˝ol k¨ozvetlen¨ ul bevihet˝ok, ´es a sz¨ovegekben gyakran el˝ofordulnak. Ezek nagy r´esze olyan, hogy ugyanazt a jelet eredm´enyezi a kiszedett sz¨ovegben is. Ilyenek p´eld´aul a szokv´anyos ´ır´asjelek: : . , ? !. Ebbe a csoportba sorolhat´ok m´eg a @ * ( ) [ ] - + = / ‘ ’ " jelek is. P´eld´aul: ‘Koldusopera’ (Bertolt Brecht, 1928)

eredm´enye: ‘Koldusopera’ (Bertolt Brecht, 1928)

A * beg´epel´ese ugyancsak csillagot eredm´enyez, azonban egy kicsit emelt helyzetben*. Ennek oka az, hogy ezt a jelet sz¨ovegben a´ltal´aban megjel¨ol´esre haszn´aljuk, nem pedig szorz´asjelk´ent. A " jel eredm´enye ”, amib˝ol l´atszik, hogy a "rossz" ´ır´asm´oddal kapunk egy igencsak ”rossz” ´ır´ask´epet. Dupla id´ez˝ojelek alkalmaz´as´ara a ‘‘helyes’’ ´ form´at aj´anljuk (l´ asd 2.1. Ekezetes ´es speci´alis bet˝ uk, ligat´ ur´ak), aminek eredm´enye “helyes” lesz. Vannak azonban olyan jelek is, amelyek ugyan nem vez´erl˝o karakterek, de a forr´asf´ajlba beg´epelve (ha nem matematikai m´odban vagyunk – l´asd k´es˝obb) nyomtat´asban esetleg teljesen m´as jelet eredm´enyeznek. Ilyenek a , -, |

karakterek, amelyek nyomtat´asi k´epe: ¡, ¿, - (k¨ ot˝ ojel), — (hossz´ u gondolatjel).

1.3. Parancsok, parancsszavak

plainTEX

25

K¨ ul¨on figyelmet ´erdemel a sz´ ok¨ oz. Ha k´et sz´o k¨oz¨ott van legal´abb egy sz´ok¨oz, az pontosan egy sz´ok¨oz megjelen´es´et eredm´enyezi a nyomtatott sz¨ovegben. A fenti szab´aly al´ol a legfontosabb h´arom kiv´etel: ha a sz´ok¨oz bet˝ ukb˝ol a´ll´o parancsot k¨ovet (l´ asd 1.3. Parancsok, parancsszavak); ha a sz´ok¨oz matematikai m´odban van (l´ asd 3. Matematikai sz¨ovegek), ebben a k´et esetben nem jelenik meg; ha a sz´ok¨oz¨ok sz´ama olyan sok, hogy a forr´asf´ajlban egy u ¨ res sort eredm´enyez (l´ asd 2.4. A bekezd´es alakja), ut´ana u ´ j bekezd´est kapunk. A forr´asf´ajlban u ´ j sorba ´ır´as annyi, mintha egy sz´ok¨ozt ´ırn´ank a sz¨ovegbe. Ha azonban hagyunk egy vagy t¨obb u ¨ res sort, az m´ar m´as sz¨ovegform´az´asi utas´ıt´as a TEX sz´am´ara: azt jelenti, hogy u ´j bekezd´es k¨ovetkezik. A sz´ok¨oz¨okh¨oz hasonl´oan u ´ gy is fogalmazhatunk, hogy ha legal´abb egy u ¨ res sort hagyunk egy adott helyen, az egy u ´ j bekezd´est eredm´enyez a nyomtatott sz¨ovegben.

1.3. Parancsok, parancsszavak Ha megn´ezz¨ uk a billenty˝ uzetet, l´athatjuk, hogy sokkal kevesebb billenty˝ u van, mint amennyi jelet, szimb´olumot meg akarunk jelen´ıteni. Hogy ez ne legyen probl´ema, illetve hogy a sz¨oveg¨ unk form´az´as´at is meg tudjuk oldani, rendelkez´es¨ unkre a´llnak a TEX parancsai. E c´elb´ol egy karakternek, a \ ”-nek, ” kit¨ untetett szerepe van: a \ ut´an ´ırt karaktersorozatot a TEX parancsnak ´ertelmezi, melynek hat´as´ara valamilyen form´az´asi vagy karakterki´ır´asi m˝ uveletet v´egez. P´eld´aul, ha beg´epelj¨ uk a \TeX

parancsot a forr´asf´ajlunkba, hat´as´ara megjelenik a TEX” logo. ” Egy m´asik p´elda: ∗

P\’olya Gy\"orgy ,

ahol a TEX a \’ ´es \" parancsokkal az ´ekezeteket teszi r´a az o˝t k¨ovet˝o bet˝ ukre. Eredm´enye: P´olya Gy¨orgy”. ” A \ -t k¨ovet˝o karakter alapj´an a TEX-parancsok k´et csoportba sorolhat´ok: 1. Ha a \ -t bet˝ u k¨ oveti, parancssz´onak veszi a TEX a \-t˝ol az els˝o nem bet˝ u karakterig terjed˝o bet˝ usorozatot (p´eld´aul a \TeX parancs). A TEX bet˝ un az angol a´b´ec´e 52 bet˝ uj´et ´erti: A...Z ´es a...z. Parancsszavakban a kis- ´es nagybet˝ uk megk¨ ul¨onb¨oztetettek, ami azt jelenti, hogy p´eld´aul m´as lesz az eredm´enye a \gamma (γ ) ´es a \Gamma (Γ) parancsoknak. A nem bet˝ u karakter a´ltal´aban egy sz´ok¨oz, ami ebben az esetben parancshat´arol´o karakter, nem pedig megjelen´ıtend˝o sz´ok¨oz: Ez a \TeX logo.

Eredm´enye: Ez a TEXlogo. ∗ Az jel itt ´es a tov´ abbiakban egy sz´ ok¨ ozt jelent. Kezdetben ezzel a jellel szeretn´enk hangs´ ulyozni az adott helyre egy sz´ ok¨ oz be´ır´ as´ at.

26

˝ tudnivalo ´k 1 Alapveto

plainTEX

Ebben az esetben akkor sem jelenik meg sz´ok¨oz, ha a forr´asf´ajlban t¨obb sz´ok¨ozt is hagyunk a parancs ut´an. Ez sokszor praktikus is, p´eld´aul a TEXnika sz´o” megjelen´ıt´ese eset´en: \TeX nika. Ha azonban sz¨ uks´eg van a sz´ok¨ozre, ” azt jelezn¨ unk kell a TEX-nek. Erre egy m´od a \ parancs haszn´alata: Ez a \TeX\ logo.

Eredm´enye: Ez a TEX logo.

Ha nem sz´ok¨oz, hanem valamilyen egy´eb jel a´ll a parancs ut´an – p´eld´aul a \TeX-ben” eset´ eben – a \ ut´ani els˝o nem bet˝ u karakter a -, ´ıgy a parancssz´o ” itt csak a \TeX (eredm´enye TEX).

2. Ha a \ -t nem bet˝ u k¨oveti, hanem valamilyen egy´eb karakter, a parancs csak abb´ol az egyetlen jelb˝ol fog a´llni. P´eld´aul \"o esetben az o m´ar nem tartozik a parancshoz. Ilyen m´odon lehet a vez´erl˝o karaktereket is megjelen´ıteni: \% eredm´ enyezi a % jelet, \$ a $ jelet stb. Ebbe a csoportba tartozik a \ parancs is.

1.4. Bet˝ ut´ıpusok Munk´ank sor´an gyakran sz¨ uks´eg¨ unk van arra, hogy megv´altoztassuk a sz¨ovegben a bet˝ ut´ıpust. Ha p´eld´aul egyes szavakat kiemelten akarunk megjelen´ıteni, mert fontos, vagy ha nyomat´ekosabb kiemel´est szeretn´enk, k¨ ov´ eren szedett bet˝ uket ´ırunk. A TEX-ben egy-egy 256 karakterb˝ol a´ll´o karakterk´eszletet nevez¨ unk bet˝ uk´eszletnek (angolul font-nak). Egy bizonyos bet˝ uk´eszletet a hozz´atartoz´o parancs be´ır´as´aval tudunk haszn´alatba venni. A fenti bet˝ ut´ıpusv´alt´asokat a k¨ovetkez˝ok´eppen lehet megoldani: szavakat \it kiemelten \rm akarunk . . . \bf k\"ov\’eren \rm szedett

A plainTEX a k¨ovetkez˝o parancsokat k´ın´alja a bet˝ uk´eszlet megv´altoztat´as´ara: Parancsa \rm \sl \it \bf \tt

Jellege antikva bet˝ uk (ez az alap t´ıpus) d˝olt kurz´ıv k¨ov´er ´ır´og´ep t´ıpus

Angol elnevez´ese Roman Slanted Italic Bold extended Typewriter Type

Ezek k¨oz¨ ul az antikva az, amelyik a legjobb a sz¨ovegt¨orzs szed´es´ere, mert hosszabb sz¨oveg ezzel olvashat´o a legk¨onnyebben. Ha valamilyen hosszabb sz¨ovegr´eszt (p´eld´aul egy bekezd´esnyi id´ezetet, vagy egy t´etel sz¨oveg´et) ki akarunk emelni, legjobb a d˝olt t´ıpust (slanted) haszn´alni, mert j´ol olvashat´o, ´es j´o hat´asfok´ u a kiemel´ese. A kurz´ıv (italic) bet˝ ut´ıpust ink´ abb csak egy-egy sz´ o kiemel´es´ere haszn´ aljuk, mert – mint itt l´ athat´ o – a bet˝ uk rajzolata m´ as.

˝t´ıpusok 1.4. Betu

plainTEX

27

Ez nagyon j´o egy-egy sz´o kiemel´ese eset´en, mert nagyobb elt´er˝os´ege az antikv´at´ol szembe¨ otl˝ obb´e teszi a sz´ot. A k¨ov´er (bold extended) bet˝ ut´ıpus legink´abb c´ımek, c´ımszavak ´ır´as´an´al haszn´alatos, m´ıg az ´ır´og´ep t´ıpust ritk´an, f˝oleg sz´am´ıt´astechnikai k´ezik¨onyvekben a beg´epelend˝o karaktersorozat szed´es´ere (mint fentebb: \rm, \tt) haszn´aljuk. A fent ismertetett bet˝ ut´ıpusok mindegyike proporcion´alis, kiv´eve az ´ır´og´ep t´ıpust, amelyben minden karakternek azonos sz´eless´eg˝ u a doboza. A proporcion´alis t´ıpus teh´at azt jelenti, hogy a k¨ ul¨onb¨oz˝o karaktereknek k¨ ul¨onb¨oz˝o sz´eless´eg˝ u a doboza, amely a harmonikus k¨ ulalak el´er´es´ehez elengedhetetlen¨ ul fontos. A TEX-ben ez al´ol az elv al´ol kiv´etelt k´epeznek a bet˝ uk´eszletek sz´amjegyei, amelyeket sz´and´ekosan egyforma sz´eless´eg˝ uekre terveztek annak ´erdek´eben, hogy t´abl´azatos form´aban egyszer˝ ubb legyen a megjelen´ıt´es¨ uk. A k¨onnyebb olvashat´os´ag ´erdek´eben teh´at a sz¨oveg¨ unk legnagyobb r´esze az antikva bet˝ ut´ıpussal ´ır´odik. Ha azonban valahol megv´altoztatjuk a bet˝ ut´ıpust, van egy m´od, hogy ne kelljen mindig vissza´all´ıtani az alap bet˝ ut´ıpust az \rm paranccsal: kapcsos z´ar´ojelbe kell tenn¨ unk a bet˝ ut´ıpusv´alt´o parancsot a megv´altoztatand´o sz¨ovegr´esszel egy¨ utt. A fenti p´eld´at ezek alapj´an k´enyelmesebb az al´abbi m´odon, szavakat {\it kiemelten} akarunk . . . {\bf k\"ov\’eren} szedett

z´ar´ojelezetten ´ırni. A z´ar´ojelek itt egy-egy csoportot” hat´aroznak meg, ame” lyekr˝ol k¨ ul¨on fejezet sz´ol (l´ asd 1.7. Csoportok). A haszn´alt bet˝ uk gyakran nemcsak k¨ ul¨onb¨oz˝o t´ıpus´ uak, hanem k¨ ul¨onb¨oz˝o m´eret˝ uek is. Az alap´ertelmezett bet˝ unagys´ag a TEX-ben a 10 pontos – amelylyel ebben a k¨onyvben a p´eld´ak szed´ese k´esz¨ ult. A fent felsorolt parancsok is 10 pontos bet˝ uket eredm´enyeznek. Sz¨ uks´eg van azonban kisebb bet˝ ukre is: a l´abjegyzeteket jobb kisebb (8 vagy 9 pontos) bet˝ ukkel ´ırni, az indexek szint´en kisebbek (Az els˝o szint˝ u indexek 7, a m´asodik ´es ann´al magasabb szint˝ uek 5 pontosak.) stb. Bemutat´ok´ent a bet˝ uk´eszletek nagys´agai a k¨ovetkez˝ok: 10 pontos, 9 pontos,

8 pontos, 7 pontos,

.

6 pontos, 5 pontos

A legkisebb bet˝ um´eret 5 pont. El˝oredefini´alt parancs a TEX-ben azonban csak p´ar bet˝ ut´ıpusra ´es m´eretre van. P´eld´aul az \rm bet˝ ut´ıpusnak csak h´arom m´eret˝ u v´altozat´ara van parancs a plainTEX-ben: \tenrm (10 pontos), \sevenrm (7 pontos), \fiverm (5 pontos), m´ıg az \it bet˝ ut´ıpusnak csak a \tenit v´altozata a´ll rendelkez´es¨ unkre. Ha ezekt˝ol elt´er˝o m´eret˝ uekre is sz¨ uks´eg¨ unk van, meg kell adnunk az u ´ jonnan haszn´aland´o parancsot ´es hozz´a azt, hogy melyik bet˝ ut´ıpust ´es bet˝ um´eretet jelentse. Ehhez tudnunk kell a k¨ovetkez˝oket: Minden bet˝ ut´ıpusnak minden m´eretben egy-egy f´ajl felel meg, hivatkozni r´ajuk a f´ajlok nev´evel lehet. P´eld´aul az alap bet˝ ut´ıpusnak cmr10 a neve, ahol a cm a Computer Modern”, az r a Roman” ´es a 10 a 10 pontos” jellemz˝ok ” ” ” r¨ovid´ıt´ese. Ha l´abjegyzetet ´ırunk, ´es annak a bet˝ um´erete 8 pontos, akkor a cmr8 nev˝ u bet˝ uk´eszletre van sz¨ uks´eg¨ unk. Ha be´ırjuk a \font\nyolcas=cmr8

28

˝ tudnivalo ´k 1 Alapveto

plainTEX

sort, a k´es˝obbiekben a \nyolcas parancs be´ır´asa 8 pontos ´ır´ast eredm´enyez:

antikva

bet˝ ukkel val´o

8 pontos {\nyolcas antikva}

Vigy´ azat! Itt is ´erv´enyesek a parancsok neveire vonatkoz´o szab´alyok, u ´ gyhogy ne pr´ob´alkozzunk \rm9, \rm8 stb. parancsnevekkel (l´ asd 1.3. Parancsok, parancsszavak)! A f´ajlok neveib˝ol egy-k´et r¨ovid´ıt´es: b Bold sl Slanted csc Caps and Small Caps

bx Bold Extended ti Text Italic ss Sans serif

Ezekb˝ol a r¨ovid´ıt´esekb˝ol n´eha kett˝o is szerepelhet egy n´evben, ami a k´et tulajdons´ag jelenl´et´ere utal. ´Igy a cmbxti10 k¨ ov´ er, d˝ olt ´ es 10 pontos. ´ Erdemes megeml´ıteni a fenti t´abl´azat m´eg ismeretlen angol neveinek magyar megfelel˝oit: A Bold f´elk¨ov´er, a Caps and Small Caps t´ıpus kis kapit´alis vagy Kapit¨alchen, a Sans Serif pedig azt jelenti, hogy talpatlan bet˝ u. Azt, hogy milyen f´ajlok a´llnak rendelkez´es¨ unkre, a . . . TEX\TFM k¨onyvt´arban tudjuk megn´ezni. A fent le´ırt parancs a´ltal´anos alakja: \fonthhivatkoz´ asi n´evi=h f´ ajl nevei

Ha nagyobb m´eret˝ u bet˝ ukre van sz¨ uks´eg¨ unk, n´ezel˝odhet¨ unk a TFM k¨onyvt´arban, mert lehets´eges, hogy 10 pontosn´al nagyobb m´eretben is rendelkez´es¨ unkre a´ll a k´ıv´ant bet˝ ut´ıpus (pl. cmr17). Ha nem tal´alunk, folyamodhatunk a nagy´ıtott v´altozat haszn´alat´ahoz: Alaphelyzetben a bet˝ uk´eszleteknek maximum 7 m´erete a´ll rendelkez´es¨ unkre, amib˝ol 6 nagy´ıtott v´altozat. Ha nagy´ıtott v´altozat´at szeretn´enk haszn´alni egy adott bet˝ uk´eszletnek, a fenti parancsdefini´al´as kieg´esz¨ ul a nagy´ıt´as m´ert´ek´enek megad´as´aval: \fonthhivatkoz´ asi n´evi=h f´ ajl nevei scaledhm´ert´eki

vagy \fonthhivatkoz´ asi n´evi=h f´ ajl nevei at hpont m´ereti

K´et p´elda: \font\nagyvastag=cmbx10 scaled\magstep1 \font\nagyobbvastag=cmbx10 at 14.4pt

Bet¨olt´es ut´an b´arhol haszn´alhatjuk a sz¨ovegben: {\nagyvastag nagyobb} {\nagyobbvastag m\’egnagyobb}.

A nagy´ıt´asokn´al vigy´azni kell a m´ert´ekekre (l´ asd 1.6. Nagy´ıt´asok).

1.5. M´ ert´ ekegys´ egek

plainTEX

29

1.5. M´ert´ekegys´egek N´eha sz¨ uks´eg¨ unk van arra, hogy megmondjuk a TEX-nek, hogy mekkora helyet hagyjon ki, vagy hogy milyen hossz´ uak legyenek a sorok stb. P´eld´aul 1 cmes f¨ ugg˝oleges helykihagy´ast eredm´enyez a \vskip 1cm parancs. A szed´est¨ uk¨or v´ızszintes m´eret´et pedig a \hsize=6in paranccsal a´ll´ıthatjuk 6 inch-esre. A TEX t¨obbfajta m´ert´ekegys´eget is tud haszn´alni, mint a fentebb eml´ıtett kett˝o. Ezeknek a r¨ovid a´ttekint´ese k¨ovetkezik most. A n´alunk szok´asos centim´eter” ´es millim´eter” mellett haszn´alhat´o t¨obbek ” ” k¨oz¨ott a f˝oleg angol nyelvter¨ uleteken elterjedt pica” ´es inch” is. Minden ” ” m´ert´ekegys´eg k´et bet˝ us r¨ovid´ıt´essel ´ırand´o: mm pt dd in bp

millim´eter pont (point) didot point h¨ uvelyk (inch) nagy pont (big point)

cm pc cc sp

centim´eter pica cicer´o osztott pont (scaled point)

A m´ert´ekegys´egek a´tv´alt´asai: 1 1 1 1 1

pt pc in cm cc

= = = = =

pt 1 12 72,27 28,4528 12,84

pc 0,08333 1 6,0225 2,371 1,07

in 0,01384 0,16608 1 0,3937 0,1777

cm 0,035146 0,42175 2,54 1 0,4513

bp 0,99626 11,9552 72 28,348 12,792

dd 0,93458 11,215 67,542 23 147,7 12

cc 0,07788 0,93456 5,6284 2,216 1

sp 65 536 786 432 4 736 287 1 864 680 841489

N´eh´any p´elda a megad´asra: 6 cm 0.31246in .31246in

20pt + 5,34 pc - 5,34 pc

A fentiekb˝ol l´athat´ok a k¨ovetkez˝ok: – a sz´am ´es a m´ert´ekegys´eg k¨oz¨ott hagyhat´o sz´ok¨oz, de nem k¨otelez˝o, – ha 0 ´es 1 k¨oz¨otti sz´amot ´ırunk, az ´ert´ektelen 0 elhagyhat´o, – a tizedes pont ´es tizedes vessz˝ o egyar´ant alkalmazhat´o, – haszn´alhat´o a + ´es a - jel, – nem hagyhat´o sz´ok¨oz sem a sz´am sz´amjegyei, sem a m´ert´ekegys´eg k´et bet˝ uje k¨oz¨ott. A tov´abbiakban a m´ert´ekegys´eggel ell´atott sz´amot dimenzi´ onak fogjuk h´ıvni, ahol ilyet kell megadni, ott a hdimeni” jel¨ol´est haszn´aljuk. P´eld´aul a szed´es” t¨ uk¨or v´ızszintes m´eret´enek megad´asakor a k¨ovetkez˝ot l´athatjuk: \hsize=hdimeni

ahol a hdimeni hely´ere ´ırhatunk p´eld´aul 6in”-et vagy 12cm”-t stb. Ha valahol ” ” valamire null´at akarunk megadni, ott is k¨otelez˝o valamilyen m´ert´ekegys´eget ´ırni (pl. 0pt), mert k¨ ul¨onben a TEX hib´at jelez.

30

plainTEX

˝ tudnivalo ´k 1 Alapveto

A fent haszn´alt m´ert´ekegys´egeket abszol´ ut m´ert´ekegys´egeknek h´ıvjuk. A jelz˝ore az´ert van sz¨ uks´eg, mert vannak relat´ıv m´ert´ekegys´egek is, ez az em ´es az ex: 1 em az aktu´ alis bet˝ uk´eszlet M” bet˝ uj´enek a sz´eless´ege, ” 1 ex az aktu´ alis bet˝ uk´eszlet x” bet˝ uj´enek a magass´aga.

” A magukban hordozott m´eret att´ol f¨ ugg, hogy mekkora az aktu´alis bet˝ uk´eszlet x” illetve M” bet˝ uje. ” ” Ha egy param´eternek adtunk ´ert´eket (pl. \hsize=6in), akkor ez a param´eter a tov´abbiakban u ´ gy haszn´alhat´o, mint egy dimenzi´o. P´eld´aul a \vsize=\hsize

´ert´ekad´asn´al a szed´est¨ uk¨or f¨ ugg˝oleges m´erete akkora lesz, mint annak m´ar kor´abban megadott v´ızszintes m´erete. Ha megadtunk valamilyen nagy´ıt´ast (l´ asd 1.6. Nagy´ıt´asok), p´eld´aul \magnification=\magstep1

a m´eretek a megadott nagy´ıt´asi m´ert´eknek megfelel˝oen szint´en n˝onek, amenynyiben a fenti m´odokon adtuk meg o˝ket. Ha p´eld´aul volt a nagy´ıtott cikkben egy \vskip.5cm-es helykihagy´as, az a v´egleges form´aj´aban 0,5 · 1,2 = 0,6 cm-es helykihagy´ast eredm´enyez. Ha azonban u ´ gy szeretn´enk megadni egy m´eretet, hogy az a nagy´ıt´assal m´ar ne v´altozzon, haszn´alnunk kell a true” sz´ocsk´at, ” amit a sz´am ´es a m´ert´ekegys´eg k¨oz´e kell ´ırni: \hsize = 6 true in

ekkor a nagy´ıt´as m´ert´ek´et˝ol f¨ uggetlen¨ ul a szed´est¨ uk¨or v´ızszintes m´erete 6 inch lesz.

1.6. Nagy´ıt´asok A plainTEX-nek a 10 pontos az alap´ertelmezett bet˝ um´erete, azonban sokszor sz¨ uks´eges, hogy enn´el nagyobb bet˝ um´eretet kapjunk. Ezt a plainTEX-ben egyetlen paranccsal el´erhetj¨ uk. Ha a f´ajl elej´ere azt ´ırjuk, hogy \magnification=1200

akkor minden, ami a f´ajlban szerepel 20%-kal nagyobb lesz, mert minden m´eret megszorz´odik 1,2-del. ´Igy a bet˝ uk 12 pontosak lesznek, ´es minden megadott m´eret is (hacsak nem k¨ot¨ott¨ uk le a true sz´ocsk´aval) megszorz´odik 1,2-del, azaz, ha volt egy 5 cm-es helykihagy´as, az az outputban 6 cm-k´ent jelenik meg. Nem ´ırhatunk \magnification=2000-et, amellyel minden a k´etszeres´ere n˝one, ha nincsenek meg a dupla m´eret˝ u bet˝ uk. Alaphelyzetben csak 7 fajta m´eretben vannak meg a bet˝ uk: 0, 21 , 1, 2, 3, 4, 5. Azt, hogy ezek milyen m´eretet takarnak, u ´ gy lehet kisz´am´ıtani, hogy hm´eret i × 1,2k , ahol a k = 0, 1 ıt´ast a konkr´et sz´ammal akarjuk megadni, a sz´am 2 , 1, 2, 3, 4, 5. Ha a nagy´ kisz´am´ıt´as´anak m´odja: 1,2k × 1000. Ha p´eld´aul kettes nagy´ıt´ast szeretn´enk,

´sok 1.6. Nagy´ıta

plainTEX

31

be´ırhatjuk, hogy \magnification=1440. Sz´amolgatni azonban nem k´enyelmes, u ´ gyhogy a sz´amok helyett haszn´alhatjuk a \magnification\magstep0 (ez az alap´ ertelmezett) \magnification\magstephalf \magnification\magstep1 \magnification\magstep2 vagy a 3, esetleg a 4 vagy az 5

form´ak k¨oz¨ ul a sz¨ uks´egeset. Mint azt fentebb eml´ıtett¨ uk, a nagy´ıt´assal nemcsak a bet˝ um´eret, hanem minden nagy´ıt´odik, azaz minden megadott m´eret (dimenzi´o) is. Ez a´ltal´aban igen k´enyelmes, mert a sort´avols´ag, a f¨ ugg˝oleges helykihagy´asok, mint minden, a bet˝ uk n¨oveked´es´enek ar´any´aban n˝onek. Vannak azonban olyan esetek, amikor ez k´enyelmetlenn´e v´alik. Ilyen eset p´eld´aul, ha pontosan 5 cm helyet szeretn´enk kihagyni egy k´epnek, holott az eg´esz sz¨oveg¨ unk nagy´ıtva van mondjuk a kettes (1,44-os) nagy´ıt´assal, vagy ha pontosan 6 inch sz´eles v´ızszintes lapm´eretet szeretn´enk. Teh´at ha meg akarunk adni valamilyen v´egleges m´eretet, csak annyi a teend˝onk, hogy a m´eret megad´as´an´al a sz´am ´es a m´ert´ekegys´ege k¨oz´e be´ırjuk a true sz´ocsk´at: \vskip 5 true cm \hsize=6truein

A true sz´ocska el˝ott, illetve ut´an nem sz¨ uks´eges sz´ok¨ozt hagyni. Ha nem az eg´esz sz¨oveg¨ unket szeretn´enk nagy´ıtani, csak egy-egy c´ımet szeretn´enk nagyobb bet˝ ukkel ´ırni, lehet˝os´eg van egy-egy karakterk´eszlet nagy´ıtott v´altozat´anak a bet¨olt´es´ere is. P´eldak´ent a 10 pontos antikva karakterk´eszlet kettes nagy´ıt´as´ u v´altozat´anak h´aromf´ele bet¨olt´es´et mutatjuk be: \font\elso=cmr10 scaled\magstep2 \font\masodik=cmr10 at 14.4pt \font\harmadik=cmr10 at 14.4truept

Mindh´arom esetben az alap bet˝ ut´ıpus 14,4 pontos v´altozat´at t¨olt¨ott¨ uk be. Vigy´azni kell azonban akkor, ha nemcsak az egyes karakterk´eszleteket nagy´ıtottuk, hanem mellette az eg´esz sz¨oveget is: \magnification\magstep1 \font\elso=cmr10 scaled\magstep2 \font\masodik=cmr10 at 14.4pt \font\harmadik=cmr10 at 14.4 true pt

Ekkor ugyanis a nagy´ıt´asok o¨sszead´odnak, ha nem a v´egleges nagy´ıt´asi m´eretet adtuk meg: az \elso-vel ´es \masodik-kal jelzett karakterk´eszlet a 10 pontos karakterk´eszlet h´armas (1,23 -szoros) nagy´ıt´as´at fogja adni. Ha egy f´ajlban p´eld´aul a \magnification\magstepk ´es a \font\elso=cmr10 scaled\magstep` nagy´ıt´asok szerepelnek, akkor a k + ` nagy´ıt´as´ u karakterk´eszletet haszn´alja a TEX, amib˝ol az k¨ovetkezik, hogy a k + ` o¨sszegnek egyenl˝onek kell lennie 0, 1 eszlet nagy´ıt´as´an´al a v´egleges m´eretet 2 , 1, 2, 3, 4 vagy 5-tel! Ha a karakterk´ adtuk meg, mint a \harmadik eset´eben, a nagy´ıt´as a v´egleges m´eretet jelenti, azaz a 2-es nagy´ıt´as´ u v´altozat t¨olt˝odik be.

32

˝ tudnivalo ´k 1 Alapveto

plainTEX

1.7. Csoportok Munk´ank sor´an sokszor sz¨ uks´eges, hogy a sz¨oveg¨ unkben valamilyen okb´ol egy r´eszt m´ask´eppen kezelj¨ unk, mint a t¨obbit. Ilyen eset p´eld´aul, ha egy c´ımet k¨oz´epen akarunk elhelyezni, vagy egy-k´et sz´ot m´asfajta bet˝ ut´ıpussal szeretn´enk megjelen´ıteni. Ilyenkor meg kell tudnunk adni a k¨ ul¨on kezelend˝o csoport elej´et ´es v´eg´et. Erre a c´elra a plainTEX-ben k´et csoporthat´ arol´ o karakter van kijel¨olve, a { ´es a } karakterek, amelyekkel a csoport elej´et, illetve v´eg´et adhatjuk meg. A csoportokr´ol m´ar t¨ort´ent eml´ıt´es az el˝oz˝o fejezetekben, p´eld´aul a bet˝ ut´ıpusokn´al, amikor is egy bet˝ ut´ıpusv´alt´as csak addig van hat´assal a sz¨ovegre, am´ıg meg nem v´altoztatjuk, vagy am´ıg az o˝t tartalmaz´o csoportot le nem z´arjuk – ´ıgy csoporton k´ıv¨ ul a parancsnak nincs hat´asa. A csoportoknak ezen tulajdons´aga m´as esetekben is ´erz´ekelhet˝o. P´eld´aul ha egy parancsot (l´ asd 5. Makr´ok) egy csoporton bel¨ ul defini´alunk, az a csoporton k´ıv¨ ul ismeretlen lesz, hacsak erre k¨ ul¨on utas´ıt´ast nem adunk. A csoportok ismerete ´es haszn´alata ´eppen olyan fontos a TEX-ben, mint m´as programoz´asi nyelvekben. A haszn´alati szab´alyok is hasonl´ok: – a csoportok tetsz˝oleges m´elys´egben egym´asba a´gyazhat´ok, – a´tlapol´as a csoportok k¨oz¨ott nem megengedett, – a be´agyaz´o csoport be´all´ıt´asai, defin´ıci´oi a be´agyazott csoportokban ´erv´enyesek, m´ıg ez visszafel´e csak akkor igaz, ha erre k¨ ul¨on utas´ıt´ast adunk, – minden megnyitott csoportot le kell z´arni. A csoport fogalom nagyon fontos a TEX-et haszn´al´ok sz´am´ara, ugyanis a TEX minden form´az´o parancsa valamilyen kapcsolatban van a csoportokkal. N´ezz¨ uk p´eld´aul a \centerline parancsot, amely az o˝t k¨ovet˝o csoportot k¨oz´epre helyezi! Ha a parancsot k¨ovet˝o els˝o karakter a { z´ar´ojel, akkor megkeresi ennek a p´arj´at, ´es a k¨oz´ej¨ uk es˝o sz¨ovegr´eszt v´ızszintesen a lap k¨ozep´ere helyezi: \centerline{Ez \bf majd k\"oz\’epen lesz.}Ez m\’ar nem,

Az eredm´enyben l´athat´o, hogy csak az adott csoportban l´ev˝o sz¨oveget helyezi k¨oz´epre, ´es a bet˝ ut´ıpusv´alt´as – a \bf – is csak csoporton bel¨ ul hat: Ez majd k¨ oz´ epen lesz.

Ez m´ar nem, ´es a bet˝ ut´ıpus sem k¨ov´er. (A parancssz´o ut´an nem sz¨ uks´eges sz´ok¨ozt kihagyni, mert a { nem bet˝ u.) Vigy´aznunk kell arra, hogy ha a \centerline parancsot k¨ ovet˝o legels˝o karakter nem a {, akkor a csoportnak a parancsot k¨ovet˝o els˝ok´ent beolvasott dolgot fogja venni. Azaz egy \centerline Ez k\"oz\’epen lesz? megad´ as eset´en lapk¨oz´epre csak az E bet˝ ut fogja helyezni, m´ıg \centerline \bf Ez k\"oz\’epen lesz? eset´en l´athat´oan semmit, mert az els˝ok´ent beolvasott dolog egy bet˝ ut´ıpusv´alt´as, ami – mivel o¨nmag´aban a´ll egy csoportban – semmire nem fejti ki hat´as´at. Egy p´elda a be´agyaz´asra: \centerline{Ez \bf majd {\it k\"oz\’epen} lesz.}

1.7. Csoportok

plainTEX

33

ahol a k¨oz´epre helyezend˝o sz¨ovegben kijel¨olt¨ unk egy csoportot (jelen esetben egy sz´ot), amelynek a bet˝ ut´ıpus´at megv´altoztattuk: Ez majd k¨ oz´epen lesz.

Ha megfigyelj¨ uk, l´athatjuk, hogy a \centerline ´es p´eld´aul a \bf parancsok hat´asmechanizmusa k¨ ul¨onb¨oz˝o: m´ıg a \centerline az o˝t k¨ovet˝o csoportra hat, addig a \bf az o˝t tartalmaz´o csoport tov´abbi r´esz´en fejti ki hat´as´at. Sok esetben a parancsok jelleg´eb˝ol k¨ovetkeztethet¨ unk haszn´alati m´odj´ara is. Erre az al´abbi szempontok ny´ ujtanak n´emi t´ampontot. – A \centerline tev´ekenys´ege egy adott mennyis´eg˝ u sz¨oveg (esetleg egyetlen karakter) k¨oz´epre helyez´ese. Ez azt jelenti, nagy a val´osz´ın˝ us´ege, hogy nem a h´atral´ev˝o teljes sz¨oveget akarjuk egy sorba k¨oz´epre helyezni. Ilyenkor meg kell adni a k¨oz´epre helyezend˝o csoport v´eg´et. A csoport elej´et pedig az´ert kell megadni, hogy inform´aljam a ford´ıt´ot arr´ol, nem egyetlen karakterb˝ ol a ´ll´ o csoporttal kell foglalkoznia. – A \bf parancs azonban csup´an” a bet˝ ut´ıpus megv´altoztat´as´at jelenti, ” amib˝ol ´erezhetj¨ uk, hogy ez a parancs ak´ar az o˝t k¨ovet˝o teljes sz¨ovegre is vonatkozhat. Ilyen esetekben a parancs hat´asa ´erv´enyben marad mindaddig, am´ıg egy m´asik, a bet˝ ut´ıpust megv´altoztat´o paranccsal meg nem sz¨ untetj¨ uk, vagy m´ıg a parancsot tartalmaz´o csoportot le nem z´arjuk. Nagyon fontos, hogy ha megnyitottunk egy csoportot, azt a sz¨ uks´eges helyen z´arjuk is le! A csoportz´ar´o } jel hi´anya okozza a leggyakoribb TEXhib´at. (Gondoljunk arra, hogy ha egy oldalnyi sz¨oveget akarunk egy sorban v´ızszintesen k¨oz´epre helyeztetni . . . !) Vannak olyan parancsok is, amelyek nemcsak az o˝t k¨ovet˝o els˝o, hanem k´et vagy kett˝on´el t¨obb, meghat´arozott sz´am´ u csoportra vonatkoznak. Ilyen p´eld´aul a \t parancs, amely a k¨ovetkez˝o k´et karakterre tesz k¨oz¨os ´ekezetet: \t oolah eredm´ enye o olah”, vagy a l´abjegyzetn´el \footnote*{Az els\H o ” csoport . . . a sz\"ovege.}∗, a m´ asodik l´abjegyzet viszont m´ar \footnote{**}{A le´ ırtakb´ ol . . . kell tenni.}. ∗∗ Az u ¨ res csoportnak is van jelent˝os´ege. P´eld´aul, ha a l´abjegyzetnek nem akarunk jelet adni: \footnote{}{Jel n´elk\"uli l\’abjegyzet.}. Egy m´asik eset, amikor a TEX egy parancsa ut´ani sz´ok¨oz elnyel´es´et” szeretn´enk kiker¨ ulni ” (l´ asd 1.3. Parancsok, parancsszavak): a \TeX{} egy. Ez ut´obbit megoldhatjuk u ´ gy is, hogy a parancsot tessz¨ uk z´ar´ojelbe: a {\TeX} egy vagy az ismert a \TeX\ egy m´ odon. A fentebb t´argyalt { ´es } csoporthat´arol´o jeleken k´ıv¨ ul van m´as lehet˝os´eg¨ unk is csoportok elhat´arol´as´ara. Egyik ezek k¨oz¨ ul a \bgroup ´es az \egroup parancsok haszn´alata, amelyek megfelelnek a { ´es a } csoporthat´arol´o jeleknek. A haszn´alatbeli elt´er´es az, hogy ezen parancsok – ellent´etben a z´ar´ojelekkel ∗ Az

els˝ o csoport lesz a l´ abjegyzet jele, a m´ asodik a sz¨ ovege. le´ırtakb´ ol kider¨ ul, hogy ha a l´ abjegyzet jele nem egy karakterb˝ ol a ´ll, azokat is z´ ar´ ojelbe kell tenni.

∗∗ A

34

plainTEX

˝ tudnivalo ´k 1 Alapveto

– makr´odefin´ıci´okban k¨ ul¨on-k¨ ul¨on is szerepelhetnek. Makr´okifejt´es ut´an a \bgroup egyen´ ert´ek˝ u a { nyit´o z´ar´ojellel, az \egroup pedig a z´ar´o } z´ar´ojellel. Ez t¨obbek k¨oz¨ott azzal a k¨ovetkezm´ennyel j´ar, hogy a \bgroup . . . } . . . { . . . \egroup – esetleg hib´ as f´ajlr´eszlet – eset´en a ford´ıt´o nem fog hiba¨ uzenetet k¨ uldeni. Ha ezt a hibalehet˝os´eget ki szeretn´enk ker¨ ulni, haszn´alhatjuk a \begingroup, \endgroup p´ art, amelyek szint´en haszn´alhat´ok k¨ ul¨on-k¨ ul¨on makr´odefin´ıci´okban, de a csoport-´atlapol´asokat nem engedik meg, azaz ilyen esetekben ford´ıt´as k¨ozben hiba¨ uzenetet kapunk.

1.8. Dobozok (boxok) A TEX a lapokat u ´ gy hozza l´etre, hogy a karaktereket egy nagyobb egys´egbe rakja egym´as mell´e, al´a, azt´an ezeket egy m´eg nagyobb egys´egbe rakja egym´as mell´e, al´a, ´es ´ıgy tov´abb. Ezeket a strukt´ ur´akat dobozoknak (box) nevezz¨ uk, a k¨ozt¨ uk l´ev˝o dolgot pedig ragaszt´ onak (glue). A doboz k´etdimenzi´os strukt´ ura, amelynek h´arom param´etere van: van sz´eless´ege (width), alapvonalt´ol (l´ asd 2.4. A bekezd´es alakja) sz´am´ıtott magass´aga (height) ´es alapvonalt´ol sz´am´ıtott m´elys´ege (depth). Minden karakter egy-egy dobozban van, ´es egy sor l´etrehoz´as´an´al a karakterek dobozait helyezi a TEX egym´as mell´e egy nagyobb dobozba. Ennek a nagyobb doboznak is kialakul ´ıgy a h´arom param´etere, majd ezeket a dobozokat fogja egym´as al´a helyezni, amely sor´an kialakulnak a bekezd´esek, majd a legnagyobb doboz, a lap. A dobozok k¨oz¨ott ragaszt´o van, ami a dobozok t´avol´ıt´as´at, illetve k¨ozel´ıt´es´et teszi lehet˝ov´e az alap´ertelmezett ´ert´ekt˝ol. A felhaszn´al´o maga is adhat meg dobozokat, m´erettel ´es tartalommal egy¨ utt. A \hbox paranccsal v´ızszintes, a \vbox paranccsal f¨ ugg˝oleges dobozokat k´esz´ıthet¨ unk. A \hbox a v´ızszintes doboz angol megfelel˝oj´enek, a horizontal ” box”-nak, a \vbox az angol vertical box” azaz f¨ ugg˝oleges doboz elnevez´esnek ” a r¨ovid´ıt´es´eb˝ol sz´armazik. Megad´asuk p´eld´aul: \hbox{horizont\’alis doboz} \vbox{vertik\’alis doboz}

Mindk´et doboz rendelkezik mindh´arom m´erettel (sz´eless´eg, magass´ag, m´elys´eg). Mindk´et esetben a doboz magass´aga ´es m´elys´ege a doboztartalom maxim´alis magass´ag´aval, illetve m´elys´eg´evel egyenl˝o. A doboz sz´eless´ege a \hbox eset´en a doboztartalom term´eszetes sz´eless´eg´evel egyezik meg, a \vbox sz´eless´ege pedig a \hsize-ban t´arolt szed´est¨ uk¨or-sz´eless´eggel (l´ asd 2.7. Az oldal alakja) egyenl˝o. Bels˝o tulajdons´agaik k¨ ul¨onb¨oz˝oek: a \hbox-ban horizont´alis (lesz˝ uk´ıtett), a \vbox-ban vertik´alis m´od van (l´ asd 1.10. M´odok). Olyan dobozt is megadhatunk, amelynek a´ltalunk meghat´arozott m´erete van: \hbox to hdimeni{hdoboztartalomi } illetve: \vbox to hdimeni{hdoboztartalomi }.

Az els˝o esetben a doboz v´ızszintes, a m´asodikban a doboz f¨ ugg˝oleges m´eret´et adhatjuk meg.

´k 1.9. Ragaszto

plainTEX

35

Minden dobozba rakhatunk t¨obb dobozt is, ahol a benne l´ev˝o dobozokat a \hbox egym´as mellett, a \vbox egym´as alatt fogja elhelyezni: \vbox{\hbox{els\H o sor} \hbox{m\’asodik} \hbox{harmadik.}}

Eredm´enye: els˝ o sor m´ asodik harmadik.

Term´eszetesen itt is lehet a dobozoknak m´eretet adni. A dobozokr´ol m´eg lesz sz´o t¨obb helyen, mert ez igen fontos r´esze a TEXnek, s a TEX-hel foglalkoz´ok s˝ ur˝ un fognak vele dolgozni (l´ asd 4. T´abl´azatok, dobozok).

1.9. Ragaszt´ok A dobozok egym´as al´a illetve mell´e illeszt´ese nem egyszer˝ u feladat. Ha ´ır´og´eppel ´ırunk egy sz¨oveget, az egyes sorok r¨ovidebbek vagy hosszabbak att´ol f¨ ugg˝oen, hogy a k¨ovetkez˝o sz´o kif´er-e a sor v´eg´ere vagy sem. Itt a sz´ok¨oz¨ok egyforma m´eret˝ uek, ami lehet˝ov´e tenn´e a sorok egyforma hossz´ us´ag´ ura val´o g´epel´es´et, ha tudn´ank el˝ore, hogy h´any sz´ok¨ozt kellene sz´etosztanunk az adott sor szavai k¨oz¨ott. A sz´etoszt´as azonban ritk´an lehetne egyenletes. F˝oleg akkor v´alik neh´ezz´e a dolog, ha az egyes karakterek nem egyforma sz´eless´eg˝ uek. Ha sz´ep k¨ ullem˝ u oldalakat szeretn´enk, ezt a probl´em´at valamilyen m´odon ki kell k¨ usz¨ob¨olni. Ennek megold´as´ara haszn´al a TEX egy k¨ ul¨onleges t¨olt˝o-k¨ot˝o anyagot, amit ragaszt´ onak (angolul glue) h´ıvunk. Amikor a TEX nagy dobozokat k´esz´ıt a v´ızszintes illetve f¨ ugg˝oleges dobozok sorozat´ab´ol, a dobozok k¨oz¨ott rendszerint ragaszt´o van. A ragaszt´onak h´arom jellemz˝oje van: helykihagy´ asa, ny´ ujthat´ os´ aga ´es o ¨sszenyomhat´ os´ aga. N´ezz¨ uk egyszer˝ us´eg kedv´e´ert most csak a v´ızszintes esetet! A sz¨oveg szerkeszt´es´en´el a TEX beolvassa a dobozokat, ´es kisz´amolja a dobozok alkotta sorozat term´eszetes sz´eless´eg´et, azaz azt a m´eretet, amelyet a karakterek sz´eless´ege ´es a v´ızszintes helykihagy´asok adnak. Ha ez nem felel meg a sz¨ uks´eges v´ızszintes sorhossznak, felhaszn´alja a ragaszt´ok ny´ ujthat´os´ag´at vagy o¨sszenyomhat´os´ag´at, az egyes ragaszt´ok ny´ ujthat´os´agi illetve o¨sszenyomhat´os´agi param´etereinek ar´any´aban. Tegy¨ uk fel, hogy van n´egy dobozunk s k¨oz¨ott¨ uk h´arom k¨ ul¨onb¨oz˝o ragaszt´o! Doboz Ragaszt´ o sz´el1 5 hely2 9 ny´ ujt3 3 o ¨ssze4 1

Doboz Ragaszt´ o sz´el 6 hely 9 ny´ ujt 6 o ¨ssze 2

Doboz Ragaszt´ o Doboz sz´el 3 hely 12 sz´el 8 ny´ ujt 0 o ¨ssze 0

Ahol 1 sz´eless´eg, 2 helykihagy´ as, 3 ny´ ujthat´ os´ ag, 4 o ¨sszenyomhat´ os´ ag.

36

plainTEX

˝ tudnivalo ´k 1 Alapveto

Ebben az esetben a dobozok ´es ragaszt´ok term´eszetes sz´eless´ege o¨sszesen 52 egys´eg. Ha azonban a TEX-nek ezt egy 58 egys´eg sz´eless´eg˝ u v´ızszintes dobozban kell elhelyeznie, a ragaszt´okat o¨sszesen 6 egys´eggel kell megny´ ujtania. Itt most 3 + 6 + 0 = 9 egys´eg az o¨sszny´ ujthat´os´ag, ekkor a TEX minden ny´ ujthat´os´agi egys´eget megszoroz 6/9-del, hogy el´erje a 6 egys´egnyi ny´ ujt´ast. Az els˝o el˝ofordul´asn´al teh´at a ragaszt´o 9 + (6/9) × 3 = 11 egys´eg sz´eless´eg˝ uv´e v´alik, a m´asodikn´al 9 + (6/9) × 6 = 12 egys´eg˝ uv´e, a harmadikn´al viszont 12 egys´eg marad a ny´ ujthatatlans´ag miatt. Ezzel megkaptuk az 58 egys´eg sz´eless´eget. Ha azonban a TEX k´enytelen egy 51 egys´eg sz´eless´eg˝ u dobozban elhelyezni a fenti tartalmat, 1 egys´eggel o¨ssze kell nyomnia a ragaszt´okat. Itt h´arom o¨sszenyomhat´os´agi egys´eg a´ll rendelkez´esre, ami miatt az els˝o el˝ofordul´asn´al (1/3) × 1 = 1/3-dal, a m´asodikn´al (1/3) × 2 = 2/3-dal fogja o¨sszenyomni a ragaszt´ot. A harmadik o¨sszenyomhat´os´aga 0, teh´at sz´eless´ege marad 12. A TEX a ragaszt´ot soha nem nyomja jobban o¨ssze, mint a megadott o¨szszenyomhat´os´aga. A ny´ ujthat´os´aggal m´ask´eppen b´anik: megengedi ugyan a korl´atlan ny´ ujthat´os´agot, azonban nem sz´ıvesen ny´ ujtja a ragaszt´ot nagyobbra a megadott ny´ ujthat´os´ag´an´al. A ragaszt´o term´eszetes sz´eless´ege ugyanis az a m´eret, amellyel a k¨ ulalak a legjobb, a ny´ ujthat´os´aga az a maxim´alis ´ert´ek, amellyel megn¨ovelve a term´eszetes sz´eless´eget a k¨ ulalak m´eg elfogadhat´o, az o¨sszenyomhat´os´aga pedig az a maxim´alis ´ert´ek, amellyel cs¨okkentve a term´eszetes sz´eless´eget, a k¨ ulalak m´eg nem v´alik elfogadhatatlann´a. A felhaszn´al´o maga is adhat meg ragaszt´okat minden param´eter´evel egy¨ utt. P´eld´aul f¨ ugg˝oleges ragaszt´ot adhatunk meg a \vskip illetve a \vglue parancsokkal, amelyek f¨ ugg˝oleges helykihagy´asra alkalmasak, v´ızszintes helykihagy´asra a \hskip ´es \hglue parancsok szolg´alnak. A \vskip szed´est¨ uk¨or tetej´ere illetve alj´ara ker¨ ulve elt˝ unik, m´ıg a \vglue-val megadott helykihagy´as a szed´est¨ uk¨or tetej´en ´es alj´an is megjelenik. Hasonl´o a helyzet a \hskip ´es \hglue eset´ eben, ahol a sor elej´en ´es v´eg´en a \hskip-pel megadott helykihagy´as elt˝ unik, m´ıg a \hglue-val megadott nem. P´eld´aul \vskip hragaszt´o i m´odon, ahol a hragaszt´o i param´etereinek megad´asa: hdimeni

plushdimeni minushdimeni

ahol a kezd˝o hdimeni a term´eszetes sz´eless´ege, a plus hdimeni a ny´ ujthat´os´aga, a minushdimeni pedig az o¨sszenyomhat´os´aga. A plus hdimeni ´es a minushdimeni elhagyhat´o. Vannak v´egtelen¨ ul kiny´ ujthat´o ragaszt´ok is. P´eld´aul, ha adott egy doboz, melyben az el˝obbi n´egy dobozunk el´e, illetve ut´an tesz¨ unk egy-egy v´egtelen¨ ul kiny´ ujthat´o ragaszt´ot, a n´egy doboz k¨oz¨otti ragaszt´oknak megmarad a term´eszetes sz´eless´ege, az o¨sszes ny´ ujt´as a k´et v´egtelen¨ ul kiny´ ujthat´o ragaszt´on t¨ort´enik. Eredm´eny¨ ul a n´egy kis doboz a nagy doboz k¨ozep´en fog elhelyezkedni. Ilyen v´egtelen¨ ul kiny´ ujthat´o ragaszt´o p´eld´aul a \hfil ´es a \hfill, amelyeknek term´eszetes sz´eless´ege 0 pt, azonban v´egtelen¨ ul ny´ ujthat´ok. A TEX-nek t¨obb v´egtelen¨ ul ny´ ujthat´o ragaszt´oja van. Ilyen v´ızszintes ragaszt´ok a \hfil ´es a \hfill. Ezek k¨oz¨ ul a m´asodik er˝osebb, ami azt jelenti, hogy ha egyszerre vannak jelen valahol, a \hfill fog v´egtelen¨ ul ny´ ulni, a

´k 1.9. Ragaszto

plainTEX

37

\hfil pedig egy´ altal´an nem. Ha t¨obb azonos ragaszt´o van egy dobozban, a ny´ ujt´as egyenletesen oszlik meg k¨oz¨ott¨ uk. F¨ ugg˝oleges esetre ugyan´ıgy a \vfil ´es \vfill haszn´alhat´o. N´eh´any p´elda a v´ızszintes esetekre, ahol egy-egy v´ızszintes lapsz´eless´eg˝ u dobozban helyezz¨ uk el a sz¨oveget: \hbox \hbox \hbox \hbox \hbox

to\hsize{Ez balra van illesztve.\hfil} to\hsize{\hfil Ez k\"oz\’epre.\hfil} to\hsize{\hfil Ez jobbra.} to\hsize{Az eleje balra,\hfil a v\’ege jobbra.} to\hsize{Itt h\’arom helyen\hfil oszlik meg\hfil a sz\"oveg.}

Ez balra van illesztve. Ez k¨ oz´epre. Az eleje balra, Itt h´ arom helyen

oszlik meg

Ez jobbra. a v´ege jobbra. a sz¨ oveg.

V´ızszintes ´es f¨ ugg˝oleges esetre egyar´ant rendelkez´es¨ unkre a´ll egy-egy v´egtelen¨ ul ny´ ujthat´o ´es egyben v´egtelen¨ ul o¨sszenyomhat´o ragaszt´o is: \hss, \vss. A v´egtelen¨ ul o¨sszenyomhat´o” itt azt jelenti, hogy p´eld´aul egy t´ ultel´ıtett \hbox ” eset´en a ford´ıt´o nem jelez hib´at, azaz enged´elyezett a sz¨oveg dobozb´ol val´o kiny´ ul´asa, ha a dobozban szerepel a \hss utas´ıt´as. Erre egy p´elda a k¨ovetkez˝o: Ez itt egy\vbox{\hbox to5pt{\hss fura\hss} \hbox to5pt{\hfil}}strukt\’ura.

ahol tulajdonk´eppen ´ıgy elrejtett¨ uk a fura” sz´onak a sz´eless´eg´et, ´ıgy a fenti ” f´ajlr´eszlet eredm´enye: fura Ez itt egy strukt´ ura.

A v´egtelen¨ ul o¨sszenyomhat´o ragaszt´ok csak dobozokon bel¨ ul haszn´alhat´ok, azaz a \hss csak \hbox-ban, a \vss pedig csak \vbox-ban. Ha egy megadott m´eret˝ u doboz – amelyik dobozokat ´es v´egtelen¨ ul ny´ ujthat´o ragaszt´o(ka)t tartalmaz – kisebb, mint tartalm´anak term´eszetes sz´eless´ege, k´et eset lehets´eges: – Ha a \hfil, \hfill illetve a \vfil, \vfill parancsok valamelyik´et haszn´altuk, a ford´ıt´asn´al hiba¨ uzenetet kapunk a t´ ult¨olt¨otts´eg m´eret´er˝ol ´es hely´er˝ol p´eld´aul Overfull \hbox (28.6112pt too wide) detected at line 3

Ez esetben a kinyomtathat´o f´ajlban a t´ ult¨olt¨ott doboz v´eg´en megjelenik egy fekete t´eglalap. Ezen jelz´es letilthat´o az \overfullrule=0pt utas´ıt´assal. Ha a \vbox a t´ ultel´ıtett: Overfull \vbox (6.94444pt too high) detected at line 3

sz¨oveggel.

38

plainTEX

˝ tudnivalo ´k 1 Alapveto

– Ha a \hss vagy a \vss parancsot haszn´altuk, nem kapunk ford´ıt´asn´al hiba¨ uzenetet ezen ragaszt´ok v´egtelen o¨sszenyomhat´os´aga miatt. M´eg egy fontos tudnival´o: A TEX az ´ır´asjelek (.,!?:) ut´an – mint az el is v´arhat´o t˝ole – nagyobb sz´ok¨ozt hagy, mint egy´eb helyeken. R´aad´asul ezeknek a sz´ok¨oz¨oknek nagyobb a ny´ ujthat´os´aga ´es kisebb az o¨sszenyomhat´os´aga is (l´ asd 2.2. Sz´ok¨oz¨ok). Ezt a nagyobb helykihagy´ast ´es ny´ ujthat´os´agot letilthatjuk a \frenchspacing parancs be´ır´as´aval, az alap´ertelmezett be´all´ıt´asokat vissza´all´ıthatjuk a \nofrenchspacing paranccsal.

1.10. M´odok A TEX a sz¨oveg form´az´asa k¨ozben k¨ ul¨onb¨oz˝o a´llapotokba, m´odokba” ker¨ ul, ” melyeket – legal´abbis r´eszben – sz¨ uks´eges ismern¨ unk. Hat ilyen m´od van: – Vertik´alis (f¨ ugg˝oleges) m´od: A legnagyobb f¨ ugg˝oleges egys´eg, a lap ´ep´ıt´ese. – Bels˝o vertik´alis m´od: vbox-ok bels˝o strukt´ ur´aj´anak kialak´ıt´asa. – Horizont´alis (v´ızszintes) m´od: Egy-egy bekezd´es k´esz´ıt´ese. – Lesz˝ uk´ıtett horizont´alis m´od: hbox-ok ´ep´ıt´ese. – Sz¨ovegk¨ozi matematikai m´od: Matematikai formula elhelyez´ese egy horizont´alis list´aban. – Kiemelt (displayed) matematikai m´od: Matematikai formula elhelyez´ese egy k¨ ul¨on sorba, ideiglenesen megszak´ıtva az aktu´alis bekezd´est. A legt¨obb esetben nem sz¨ uks´eges tudnunk, hogy egy adott helyen milyen m´odban van a TEX. Sok esetben viszont tiszt´aban kell lenn¨ unk vele, mivel a k¨ ul¨onb¨oz˝o m´odokban m´as-m´as parancsokat haszn´alhatunk, egyes parancsok pedig m´ask´eppen viselkednek k¨ ul¨onb¨oz˝o m´odokban. Tekints¨ unk egy p´eldasz¨oveget: \centerline{Egy kis mese} \vskip3mm Egyszer volt, hol nem volt, volt egyszer egy kir\’alyfi, aki . . .

Indul´askor a TEX vertik´alis m´odban van. A \centerline parancs hat´as´ara ideiglenesen a vertik´alisb´ol a´tt´er horizont´alis, majd lesz˝ uk´ıtett horizont´alis m´odba a c´ım elk´esz´ıt´es´eig. (A ki´ırand´o karakterek dobozait egym´as mell´e teszi, ahol sz¨ uks´eges, egy sz´ok¨ozt hagy, melyek az adott dobozban egyforma nagys´ag´ uak.) Ennek befejeztekor visszat´er vertik´alis m´odba. (A lapon elhelyezi v´ızszintesen k¨oz´epen a k´ıv´ant sz¨oveget.) Itt v´egrehajt egy f¨ ugg˝oleges helykihagy´o utas´ıt´ast, majd a bekezd´es els˝o bet˝ uj´enek hat´as´ara, ami itt ´eppen az E bet˝ u, a´tt´er horizont´alis m´odba, hogy a bekezd´est elk´esz´ıtse (A bekezd´es els˝o sor´at egy adott m´erettel beljebb kezdi; sorokra t¨ordeli a sz¨oveget, ha az nem f´er el egy sorban; megcsin´alja a k´etoldali sorkiegyenl´ıt´est, amelynek ´erdek´eben szavakat v´alaszt el ´es a sz´ok¨oz¨ok nagys´ag´at v´altoztatja a megadott kereten bel¨ ul; stb.). A bekezd´es ut´an ism´et visszat´er vertik´alis m´odba. A k´et horizont´alis m´od k¨oz¨ott tal´an a legszembet˝ un˝obb s az egyik legfontosabb k¨ ul¨onbs´eg: m´ıg a horizont´alis m´odban a TEX v´egez sorokra t¨ordel´est, addig a lesz˝ uk´ıtett horizont´alis m´odban nem. A k¨onnyebb elk¨ ul¨on´ıthet˝os´eg

´ dok 1.10. Mo

plainTEX

39

miatt ezut´an a horizont´alis m´odot nevezz¨ uk paragrafus m´ odnak, a lesz˝ uk´ıtett horizont´alis m´odot pedig sz¨ oveg (vagy text) m´ odnak ! Ezeket az elnevez´eseket a k´es˝obbiekben haszn´alni fogjuk. Nincs semmi gond a bekezd´es k´esz´ıt´essel mindaddig, am´ıg egy olyan parancs nem ker¨ ul a bekezd´es legelej´ere, amely esetleg vertik´alis ´es horizont´alis m´odban egyar´ant m˝ uk¨odik, csak ´eppen m´ask´eppen. Ilyen p´eld´aul a \hbox parancs. Ha a bekezd´est a \hbox paranccsal kezdj¨ uk, nem azt tapasztaljuk, amit v´artunk: a hbox-ot, ha az vertik´alis m´odban van (Nem bels˝o vertik´alis m´odban!), a TEX egy o¨n´all´o bekezd´esk´ent kezeli, aminek k¨ovetkezt´eben a \hbox tartalma ut´ani o¨sszes minden egy u ´ j bekezd´esben fog szerepelni: \hbox{Ez az els\H o,} ez a k\"ovetkez\H o bekezd\’es.

k´epe nem az, amit els˝o r´an´ez´esre v´arn´ank: Ez az els˝ o, ez a k¨ ovetkez˝ o bekezd´es.

Ez a probl´ema kik¨ usz¨ob¨olhet˝o, ha egy olyan paranccsal kezdj¨ uk a bekezd´est, aminek ilyen esetben nincsen megjelen´esi form´aja, viszont hat´as´ara a TEX a vertik´alis m´odb´ol horizont´alisba t´er a´t. Ilyen parancs p´eld´aul az \indent parancs, amely norm´al esetben annyi helyet hagy ki, mint a bekezd´esek els˝o sor´anak beljebb kezd´ese, de a bekezd´es elej´en nem jelenti a beljebb kezd´es megdupl´az´as´at. Haszn´alhatjuk a \noindent parancsot is, amely parancs a bekezd´es els˝o sor´anak beljebb kezd´es´et tiltja le az adott helyen. Ezek valamelyik´et haszn´alva a doboz m´ar olyan sz´eles lesz, mint a tartalma, s az ut´ana l´ev˝o sz¨oveg nem a k¨ovetkez˝o bekezd´esben, hanem a doboz ut´ani sorban fog megjelenni. A matematikai m´od elk¨ ul¨on´ıt´ese ´es ismerete nagyon fontos. Sok parancs nem m˝ uk¨odik matematikai ´es nem-matematikai m´odban egyar´ant. R´aad´asul a matematikai m´odnak is k´et fajt´aja van, amelyeket ism´et csak sz¨ uks´eges elk¨ ul¨on´ıteni: a sz¨oveg k¨ozbeni k´epletek, jelek szed´es´ere haszn´alhat´o sz¨ ovegk¨ ozi matematikai m´ od ´es a k¨ ul¨on sorban k¨oz´epen megjelen´ıtend˝o formul´ak szed´es´ere, elhelyez´es´ere alkalmas kiemelt (vagy displayed) matematikai m´ od. Az el˝obbit a $ jel nyitja ´es z´arja, az ut´obbit pedig a $$ dupla jel. Minden matematikai karaktert matematikai m´odban kell szedni m´eg akkor is, ha az matematikai m´od n´elk¨ ul is ki´ırhat´o, mert a matematikai jelek megjelen´ıt´es´ehez a TEX m´as karakterk´eszletet haszn´al, mint a sz¨oveg szed´es´ehez. N´ezz¨ unk k´et p´eld´at! Tekintve a nulla ´ert´ek´et f(b)=c+d . . . Tekintve a nulla ´ert´ek´et f (b) = c + d . . .

Ugye m´ast jelent a k´et sor?! A m´asodik sort ´ıgy ´ırtuk: Tekintve $a$ nulla e ´rt´ ek´ et $f(b)=c+d$\dots

Itt az els˝o $ jel megnyitja a matematikai m´odot, a m´asodik pedig lez´arja, ut´ana pedig ism´et horizont´alis m´od lesz ´erv´enyben. Ha k´et $ jel szerepel

40

˝ tudnivalo ´k 1 Alapveto

plainTEX

egym´as ut´an, a horizont´alis m´odot ideiglenesen felf¨ uggeszti. P\’eld\’aul a $$k=2r\pi$$ hat\’asa: P´ eld´aul a k = 2rπ

hat´asa: k¨oz´epre kiszedett formula lesz el˝ore meghat´arozott t´avols´agra a bekezd´es t¨obbi r´esz´et˝ol. Ezek a kiemelt formul´ak a´ltal´aban a bekezd´es, s˝ot a mondat egy r´esz´et alkotj´ak. Ezekben az esetekben sem a kiemelt matematikai m´odot megnyit´o $$ dupla jel el˝ott, sem a kiemelt matematikai m´odot z´ar´o $$ dupla jel ut´an nem tan´acsos u ¨ res sort hagyni. Az u ¨ res sor ugyanis t´avols´agn¨ovel˝o hat´as´ u lehet, ami ezekben az esetekben rontja az ´ır´ask´epet. Csak akkor hagyjunk u ¨ res sort, ha val´oban u ´ j bekezd´est akarunk nyitni! Magukr´ol a matematikai m´odokr´ol ´es a k´et matematikai m´od k¨oz¨otti k¨ ul¨onbs´egekr˝ol r´eszletesen a matematikai sz¨ovegek szed´es´en´el lesz sz´o (l´ asd 3. Matematikai sz¨ovegek).

1.11. Sz´aml´al´ok, m´ert´ekek Sokszor sz¨ uks´eges, hogy valamilyen sz´aml´al´ot (pl. \pageno) vagy m´eretet (pl. \vsize) a ´t´all´ıtsunk. Ezek a sz´amokat tartalmaz´o sz´aml´al´ok ´es a m´ereteket tartalmaz´o m´ert´ekek a TEX-ben a v´ altoz´ ok szerep´et t¨oltik be, amelyeknek ´ert´ekeket adhatunk. A sz´aml´al´ok ´es a m´ert´ekek k¨oz¨ott fontos k¨ ul¨onbs´eget tenn¨ unk, mert a sz´aml´al´oknak csak sz´amokat adhatunk meg ´ert´ekk´ent, a m´ert´ekeknek pedig csak m´ert´ekegys´eggel ell´atott sz´amokat (m´er˝osz´amokat), amelyeket ebben a k¨onyvben mindenhol hdimeni-nel jel¨ol¨ unk. El˝osz¨or bemutatjuk a´ltal´anosan, majd egy-egy konkr´et p´eld´an szeml´eltetve mindk´et fajta v´altoz´o eset´eben az ´ert´ekad´ast: hsz´ aml´ al´ o i=hsz´ ami

(pl. \pageno=5), (pl. \hsize=6in).

hm´ ert´eki=hdimeni

El˝ofordul azonban, hogy valamelyiknek az aktu´alis ´ert´ek´et akarjuk n¨ovelni vagy cs¨okkenteni. N¨ovel´esre illetve cs¨okkent´esre az \advance parancs haszn´alhat´o, m´ıg eg´esz sz´ammal val´o szorz´asra a \multiply, eg´esz sz´ammal val´o oszt´asra pedig a \divide parancs: \advancehsz´ aml´ al´ oi h \multiply sz´ aml´ al´ oi h i \divide sz´ aml´ al´ o

byhsz´ ami h by sz´ ami h by sz´ ami

\advancehm´ert´ek i \multiplyhm´ert´ek i \dividehm´ert´ek i

byhm´er˝ osz´ ami byhm´er˝ osz´ ami byhm´er˝ osz´ ami

A hsz´ami illetve a hm´er˝osz´ami hely´ere nemcsak sz´am, illetve m´ert´ekegys´eggel ell´atott sz´am ´ırhat´o, hanem a megfelel˝o t´ıpussal rendelkez˝o, m´ar l´etez˝o v´altoz´o is.

´mla ´ lo ´ k, m´ 1.11. Sza ert´ ekek

plainTEX

41

P´eld´aul: \advance\pageno by1 \advance\voffset by-2truecm vagy \advance\voffset by\hoffset

ahol az els˝o sor az aktu´alis oldalsz´amot n¨oveli meg 1-gyel, a m´asodik pedig a \voffset (l´ asd 2.7. Az oldal alakja) v´altoz´o (param´eter) ´ert´ek´et cs¨okkenti le 2 cm-rel, a harmadik a \voffset ´ert´ek´et v´altoztatja meg a \hoffset v´altoz´o

aktu´alis ´ert´ek´evel. Mint a fenti p´eld´aban l´athatjuk, negat´ıv ´ert´ek is ´ırhat´o a by kulcssz´ o ut´an. A v´altoz´o aktu´alis ´ert´ek´et a \the paranccsal lehet ki´ıratni. Abban az esetben, ha sz´amr´ol van sz´o, haszn´alhatjuk a \number parancsot is. P´eld´aul az aktu´alis lapsz´amot a \the\pageno vagy a \number\pageno form´aban tudjuk a kiszedett sz¨ovegben megjelen´ıteni. V´altoz´okat mi is l´etre tudunk hozni, amelyre p´eld´aul automatikus fejezetsz´amoz´askor lehet sz¨ uks´eg¨ unk. V´altoz´ok l´etrehoz´asa (deklar´al´asa) az al´abbi m´odon t¨ort´enhet: \newcounthaz u ´j sz´ aml´ al´ o nevei \newdimenhaz u ´j m´ert´ek nevei

Kezd˝o´ert´ek¨ uk l´etrehoz´asuk ut´an 0, illetve 0 pt. Haszn´alat szempontj´ab´ol nincs k¨ ul¨onbs´eg a plainTEX-ben m´ar l´etrehozott ´es az a´ltalunk defini´alt v´altoz´ok k¨oz¨ott. A k¨ovetkez˝okben p´eld´at mutatunk be egy sz´aml´al´o l´etrehoz´as´ara, kezd˝o´ert´ekad´asra, ´ert´ek´enek n¨ovel´es´ere ´es ´ert´ek´enek ki´ırat´as´ara: \newcount\fejezetszam \fejezetszam=1 ... \advance\fejezetszam by 1 \the\fejezetszam

42

´sa 2 Oldalak l´ etrehoza

plainTEX

2. Oldalak l´etrehoz´asa ´ 2.1. Ekezetes ´es speci´alis bet˝ uk, ligat´ ur´ak A kor´abbi fejezetekben l´athattuk, hogy a TEX a ford´ıt´as sor´an egy norm´al sz¨oveges f´ajlt dolgoz fel. Ez az a´llom´any a form´azand´o sz¨ovegen k´ıv¨ ul a form´az´ast meghat´aroz´o parancsokat is tartalmazza. Ezeket a parancsokat a \ jel vezeti be. Ezzel magyar´azhat´o, hogy a \ jel el˝ofordul´asa a sz¨ovegben nem a k´ep´enek a megjelen´es´et eredm´enyezi a kiszedett sz¨ovegben, hanem egy parancs kezdet´et jelzi a ford´ıt´o sz´am´ara. Vannak m´as jelek is, amelyek szint´en a ford´ıt´oprogram sz´am´ara szolg´altatnak inform´aci´ot. Ezek a k¨ovetkez˝ok: $, #, %, &, {, }, ^, , ~. Ha a fenti jelek valamelyike a form´az´asra sz´ant sz¨ovegben is szerepel, akkor azok helyett parancsokat kell haszn´alnunk. Ezek a fenti felsorol´as sorrendj´eben a k¨ovetkez˝ok: \$∗, \#, \%, \&, $\backslash$, $\{$, $\}$, \^, \ , \~. Figyelmesen kell b´anni a +, -, *, =, /, >, < jelekkel. Amennyiben ezek el˝ofordulnak a form´azand´o sz¨ovegben, akkor a +, -, *, =, /, ¿, ¡ ´ır´ask´epet eredm´enyezik. Szebb ´ır´ask´epet kapunk (a < ´es a > jel eset´en pedig a k´ıv´ant k´epet), ha a fenti jeleket $ jelek k¨oz´e ´ırjuk. Ennek hat´as´ara a k¨ovetkez˝o k´epet kapjuk: +, −, ∗, =, /, >, 0pt eset´en az adott bekezd´es(ek) marg´oj´at a \leftskip jobbra, a \rightskip balra mozgatja, m´ıg hdimeni < 0pt eset´ en a \leftskip balra, a \rightskip pedig jobbra mozgatja. A hdimeni = 0pt-s be´all´ıt´as az eredeti marg´oviszonyokat a´ll´ıtja vissza. A \narrower parancs a \leftskip ´es a \rightskip param´eterek ´ert´ek´et a \parindent aktu´ alis ´ert´ek´evel n¨oveli meg. A k¨ovetkez˝o ´ır´ask´epet Ez egy bekezd´es, amelynek mind a bal, mind a jobb marg´ oja beljebb van h´ uzva. Ez a t¨ oltel´eksz¨ oveg pedig csak az´ert ´ır´ odott, hogy a bekezd´esnek legyen legal´ abb h´ arom sora.

az al´abbi m´odon kaphatjuk meg: {\narrower Ez egy bekezd\’es, amelynek mind a . . . legyen legal\’abb h\’arom sora.\par}

A sz¨ovegtagol´asra, lista´ır´asra leggyakrabban haszn´alt parancsok az \item{hjel i}hsz¨ ovegi ´ es az \itemitem{hjel i}hsz¨ ovegi.

Mindk´et parancs a z´ar´ojelek k¨oz¨ott megadott jelet a bekezd´es sz¨oveg´enek els˝o sor´ahoz illeszti. Az \item-mel form´azott bekezd´es minden sor´aban \parindent lesz a bal oldali beh´ uz´as m´ert´eke. Az \itemitem parancs eset´en a beh´ uz´as m´ert´eke a \parindent k´etszeres´evel egyenl˝o. N´ezz¨ unk ezekre is egy-egy p´eld´at! \item{--} Egyszeres beh\’uz\’as. Ez itt . . . \’ertelmeset. \itemitem{--} K\’etszeres beh\’uz\’as. Ide . . .

A fenti TEX-f´ajlr´eszlet eredm´enyek´ent a k¨ovetkez˝o ´ır´ask´epet kapjuk: – Egyszeres beh´ uz´ as. Ez itt egy m´ asik t¨ oltel´eksz¨ oveg. Ide is ki kellett tal´ alni valami ´ertelmeset. – K´etszeres beh´ uz´ as. Ide m´ ar nem siker¨ ult kital´ alni semmi ´ertelmeset, u ´gyhogy csak a fentieket ism´etelhetj¨ uk.

´lis bekezd´ 2.5. Specia esek

plainTEX

49

2.5. Speci´alis bekezd´esek A legegyszer˝ ubb esetek: \centerline{} Az ut´ ana k¨ovetkez˝o {}-be ´ırt sz¨oveget k¨oz´epre illeszti. \leftline{} Az ut´ ana ´ırt sz¨oveget a sor bal oldal´ahoz illeszti. \rightline{} A sz¨ oveget jobbra illeszti.

Mivel ez mind egy-egy bekezd´es, miel˝ott a megfelel˝o parancsot kiadjuk, le kell z´arni az el˝oz˝o bekezd´est! Ha enn´el bonyolultabb szerkezet˝ u, egy sorb´ol a´ll´o bekezd´est akarunk l´etrehozni, akkor a \line{} parancsot haszn´alhatjuk. Ez a parancs az ut´ana megadott sz¨oveget egy teljes sorban h´ uzza sz´et, ´ıgy pl. \line{Ez egy sorban sz´ et lesz h´ uzva.}

eredm´enyek´eppen az Ez

egy

sorban

sz´et

lesz

h´ uzva.

sort kapjuk. Ilyen sorokat a´ltal´aban nem akarunk l´etrehozni, de sz¨ uks´eg lehet arra, hogy pl. a sor k´et sz´el´en helyezz¨ unk el valami sz¨oveget. P´eld´aul a k¨ovetkez˝o hat´ast Bal oldal

Jobb oldal

az al´abbi \line{Bal oldal\hfil Jobb oldal}

alakkal ´erhetj¨ uk el. Term´eszetesen a \line-ra is igaz, hogy az el˝oz˝o bekezd´est le kell z´arnunk. A TEX seg´ıts´eg´evel bonyolultabb szerkezet˝ u bekezd´eseket is l´etrehozhatunk. Ehhez a \hangindent=hdimeni ´es \hangafter=hsz´ami valamint a \parshape parancsok a´llnak rendelkez´es¨ unkre. A \hangindent meghat´arozza egyr´eszt azt, hogy a bekezd´es melyik oldal´an, m´asr´eszt pedig azt, hogy mekkora lesz a beh´ uz´as m´ert´eke. A \hangafter pedig azt hat´arozza meg, hogy a \hangindent-ben megadott beh´ uz´as a bekezd´es mely soraira fog vonatkozni. Ha a hdimeni pozit´ıv vagy nulla, akkor az adott bekezd´es bal marg´oja ennyivel fog beljebb h´ uz´odni. Ha ez negat´ıv, akkor az adott bekezd´es jobb marg´oja beljebb fog h´ uz´odni a m´er˝osz´am abszol´ ut ´ert´ek´evel. Ha a \hangafter ut´an megadott hsz´ami pozit´ıv vagy nulla, akkor a beh´ uz´as a bekezd´es (hsz´ami + 1)-edik sor´at´ol lesz ´erv´enyes. Ha a sz´am negat´ıv, akkor a bekezd´es els˝o |hsz´ami| sor´ara lesz ´erv´enyes a beh´ uz´as, a t¨obbire viszont nem. A plainTEX-ben az alap´ert´ekek: \hangindent=0pt, \hangafter=1. P´eldak´ent tekints¨ uk a k¨ovetkez˝o k´et gyakori probl´ema egy-egy lehets´eges megold´as´at! Sokszor el˝ofordul, hogy list´at akarunk ´ırni, de az \item-ben a c´ımsz´o sz´am´ara fenntartott hely nem elegend˝o. Megoldhatn´ank u ´ gy is a probl´em´at, hogy k´esz´ıt¨ unk egy sokszoros item”-et, ekkor viszont a c´ımsz´ohoz tartoz´o ”

50

´sa 2 Oldalak l´ etrehoza

plainTEX

sz¨ovegr´esznek m´ar nagyon keskeny ter¨ ulet jut. Erre egy megold´ast ad a fenti parancsok alkalmaz´asa: Malacka: Igen, F¨ ules, ´es hoztam neked egy l´egg¨ omb¨ ot. F¨ ules: L´egg¨ omb¨ ot?! . . . Azt mondtad: l´egg¨ omb¨ ot? Azt a nagy bubor´ekot gondolod, ami olyan sz´ınes, ´es fel szokt´ ak f´ ujni?! . . . Mulats´ ag ´es o ¨r¨ om ´es vidul´ as . . . ´es ´enek ´es t´ anc, hipp-hopp, heje-huja . . . azt akarod mondani?∗

A fenti hat´ast az al´abbi m´odon ´ert¨ uk el: \hangindent=\parindent \hangafter=1\noindent Malacka: Igen, F\"ules, . . . \par \hangindent=\parindent \hangafter=1\noindent F\"ules: L\’egg\"omb\"ot?! . . .

A m´asik eset, amikor a sz¨oveg jobb oldal´an szeretn´enk egy a´br´at elhelyezni, amelynek a helyet ki kell hagynunk. A m´eretei alapj´an tudjuk, hogy a bekezd´es els˝o h´arom sor´anak jobb marg´oj´at 4 cm-rel kellene beljebb h´ uzni. Ezt a k¨ovetkez˝ok´eppen ´erhetj¨ uk el: \hangindent=-4cm \hangafter=-3

A \parshape=n i1 `1 · · · in `n parancs seg´ıts´eg´evel bonyolultabb szerkezet˝ u bekezd´eseket is l´etrehozhatunk. Az n a vez´erelt sorok sz´am´at, i 1 , . . . , in a sorok beljebb kezd´eseinek m´ert´ekeit, ` 1 , . . . , `n a sorok hosszait hat´arozz´ak meg. Ha a bekezd´es n-n´el t¨obb sorb´ol a´ll, az utols´o sorvez´erl´es ´erv´enyes az n-edik sort´ol kezdve a bekezd´es utols´o sor´aig. L´assunk egy p´eld´at! Ez egy specia ´lis alak´ u bekezd´es lesz, ahol az els˝ o sor 2.1 cm, a m´ asodik 4.8 cm, a harmadik 6.8 cm hossz´ u, a negyedikt˝ ol elkezdve az o ¨sszes sor 7.8 cm hossz´ u lenne.

Ezt a hat´ast a k¨ovetkez˝ok´eppen ´erhetj¨ uk el: \parshape=4 4.3cm 2.1cm 3cm 4.8cm 2cm 6.8cm 1.5cm 7.8cm \noindent Ez egy speci\’alis alak\’u bekezd\’es lesz, ahol . . .

Ha az egy bekezd´esre vonatkoz´o be´all´ıt´asokat t¨obb bekezd´esre is szeretn´enk alkalmazni, az illet˝o parancs(ok) minden bekezd´es el´e t¨ort´en˝o be´ır´asa helyett haszn´alhatjuk az \everypar={hparancsoki} ∗ A.

A. Milne: Micimack´ o

´laszta ´s 2.6. Elva

plainTEX

51

utas´ıt´ast, amely a z´ar´ojelek k¨oz¨ott l´ev˝o parancsokat ´es be´all´ıt´asokat hozz´af˝ uzi az aktu´alis csoporton bel¨ uli bekezd´esekhez. P´eld´aul a kor´abbi p´eld´aban l´athat´o \hangindent, \hangafter parancsok minden egyes bekezd´es el´e t¨ort´en˝o be´ır´as´at kiv´althatjuk az \everypar haszn´alat´aval az al´abbi m´odon: Mazsola: T´enyleg az \everypar az a parancs, amelyik besz´ ur egy tokenlist´ at minden bekezd´es sz¨ ovege el´e? Tigrincs: Nan´ a, kis bar´ atom! H´ at mi m´ as lehetne? Te m´eg ezt sem tudtad?! Az iskol´ aban nem magyar´ azt´ ak ezt el nekTEX?

melynek forr´assz¨ovegbeli form´aja: \everypar{\hangindent=\parindent\hangafter=1} \noindent Mazsola: T\’enyleg az . . . el\’e?\par \smallskip \noindent Tigrincs: Nan\’a, kis bar\’atom! . . . nek\TeX?!\par

2.6. Elv´alaszt´as A TEX program alkalmas arra, hogy az a´ltalunk elk´esz´ıtett sz¨ovegben tal´alhat´o szavak elv´alaszt´asait felv´allalja. Az elv´alaszt´asi szab´alyok eredetileg az angol nyelvhez k´esz¨ ultek, ez´ert sajnos a magyar szavakat id˝onk´ent helytelen¨ ul v´alasztja el, vagy az ´ekezetes karakterek miatt egy´altal´an nem tudja elv´alasztani. Ilyen esetben "Overfull hbox..." hiba¨ uzenetet kapunk. Ezekben a kritikus szavakban megjel¨olhetj¨ uk az elv´alaszt´asi pontokat a \- paranccsal (p´eld´aul Ma\-gyar\-or\-sz\’ag). A TEX ezeken a helyeken pr´ob´alja megoldani az elv´alaszt´ast. A legnagyobb probl´em´at a kett˝oz¨ott k´etjegy˝ u bet˝ uk elv´alaszt´asa okozza. P´eld´aul, a kalap´accsal” sz´o elv´alaszt´asa sor´an el˝ofordulhat, hogy ” a TEX a kalap´acc-sal elv´alaszt´ast fogja el˝oa´ll´ıtani. Ennek a hib´anak a kik¨ usz¨ob¨ol´es´ehez a TEX biztos´ıt egy eszk¨ozt, amellyel az elv´alaszt´as helyes m´odj´at a k¨ovetkez˝o form´aban kell megadni: ka\-la\-p\’a\discretionary{cs-}{cs}{ccs}al.

Ez a \discretionary{helv´ alaszt´ asi pont el˝ otti sz¨ ovegi} {helv´ alaszt´ asi pont ut´ ani sz¨ ovegi} {helv´ alaszt´ as mentes sz¨ ovegi}

parancs megjel¨oli, hogy a sz¨oveget hol lehet elv´alasztani, ´es ebben az esetben milyen sz¨ovegnek kell az elv´alaszt´as helye el˝ott ´es ut´an el˝ofordulnia. Harmadikk´ent meg kell adnunk, hogy milyen legyen az elv´alaszt´as mentes alak, ha a ford´ıt´o nem k´ıv´anja a sz¨oveget ezen a ponton elv´alasztani. El˝ofordulhat, hogy a sz¨ovegben sokszor szerepl˝o szavakat a TEX-nek gyakran el kellene v´alasztania, azonban a TEX azt helytelen¨ ul v´alasztja el. Ilyenkor

52

plainTEX

´sa 2 Oldalak l´ etrehoza

nem sz¨ uks´eges annak minden egyes el˝ofordul´as´an´al megjel¨olni az elv´alaszt´asi pontokat, hanem elegend˝o azt egyszer be´ırni a \hyphenation{hsz´ olistai}

parancs z´ar´ojelei k¨oz´e, a -” jellel megjel¨olve az elv´alaszt´asi pontokat. A ” z´ar´ojelek k¨oz¨ott t¨obb sz´o is megadhat´o, egym´ast´ol sz´ok¨ozzel elv´alasztva. Sajnos a list´aba nem ´ırhat´o olyan sz´o, amely parancsot tartalmaz. Egy p´elda ilyen elv´alaszt´asi sz´ot´ar megad´as´ara: \hyphenation{Sztra-csa-tel-la ugyan-az ugyan-az-zal ugyan-azt izom-em-ber}

A TEX az elv´alaszt´asokat a sz¨oveg kiegyenl´ıt´es´evel egy¨ utt k´et menetben v´egzi. Az els˝o menetben a bekezd´eseket u ´ gy pr´ob´alja sorokra t¨orni, hogy nem v´egez elv´alaszt´asokat. Ennek a sikertelens´eg´et egy sz´am jellemzi, amely ann´al nagyobb, min´el sikertelenebb volt a pr´ob´alkoz´as. Ha ez a sz´am nem haladja meg a \pretolerance parancsban t´arolt ´ert´eket (alap´ertelmez´es 100), akkor az els˝o menet sikeres volt. Ha az els˝o menet nem volt sikeres, akkor a szavak elv´alaszt´asa ut´an pr´ob´alja elv´egezni a kiegyenl´ıt´est u ´ gy, hogy a sikertelens´eg m´ert´eke ne haladja meg a \tolerance parancsban t´arolt ´ert´eket (alap´ertelmez´es 200). P´eld´aul, ha a \pretolerance=10000 ´ert´eket a´ll´ıtjuk be, akkor nagyon ritk´an fog elv´alaszt´ast v´egezni a TEX. Ha keskeny ter¨ uletre szeretn´enk sz¨oveg¨ unket kiszedni, ´erdemes megtenni a \pretolerance=-1 ´ es a \tolerance=-1 be´all´ıt´asokat.

2.7. Az oldal alakja A sz¨oveg megjelen´es´et meghat´arozza az, hogy h´any sor f´er el egy lapon, ´es milyen hossz´ uak ezek a sorok. A sorok hossz´at (azaz a szed´est¨ uk¨or sz´eless´eg´et) a \hsize parancs seg´ıts´eg´evel a´ll´ıthatjuk be. Alap´ert´eke a plainTEX eset´en \hsize=6.5in. A lapt¨ orzs f¨ ugg˝oleges m´eret´et a \vsize parancs seg´ıts´eg´evel a´ll´ıthatjuk be. Az alap´ertelmez´es \vsize=8.9in. A \vsize ´es a \hsize a´ltal meghat´arozott lapt¨orzsbe fogja a TEX a sz¨oveget bet¨ordelni, ezek ut´an fogja a fejl´ecet ´es a l´abl´ecet e ter¨ ulet f¨ol´e, illetve al´a helyezni. Alap´ertelmez´esben a lapt¨orzs a fizikai lapon u ´ gy helyezkedik el, hogy annak bal fels˝o sarka a fizikai lap tetej´et˝ol ´es bal sz´el´et˝ol egyar´ant egy-egy inch t´avols´agra van. Ha ezen v´altoztatni akarunk, akkor azt a \hoffset, \voffset parancsokkal tehetj¨ uk meg. P´eld´aul a \hoffset=.5in ´es \voffset=0.7in be´all´ıt´asok hat´as´ara a lapt¨orzs 0.5 inch-csel jobbra, ´es 0.7 inch-csel lefel´e fog eltol´odni. Negat´ıv ´ert´ekek megad´asa eset´en ellent´etes ir´any´ u mozgat´ast ´er¨ unk el. El˝ofordulhat, hogy haszn´alunk olyan makr´ogy˝ ujtem´enyt, amelyben ezeknek a param´etereknek m´ar van valamilyen ´ert´ek megadva. Ekkor, ha v´altoztatni akarjuk a kiszedett oldalak hely´et a pap´ırlapon, ´erdemesebb az \advance\hoffset byhdimeni \advance\voffset byhdimeni

form´aban megv´altoztatni ezeket az ´ert´ekeket (l´ asd 1.11. Sz´aml´al´ok, m´ert´ekek).

´bl´ ´moza ´s 2.8.1. Fejl´ ec, la ec, oldalsza

plainTEX

53

A lapt¨orzs fels˝o sz´ele ´es az adott oldalra es˝o els˝o bekezd´es k¨oz¨otti t´avols´agot (ragaszt´o param´etereit) a \topskip= hdimeni parancs seg´ıts´eg´evel a´ll´ıthatjuk be. Alap´ertelmez´esben ´ert´eke 0 pt. A f¨ ugg˝oleges helykihagy´asra haszn´alhatjuk a \smallskip (3 pt), \medskip (6 pt), \bigskip (12 pt) parancsokat. Haszn´alhatjuk a \vskip= hragaszt´o i ´es a \vglue=hragaszt´ o i parancsokat, ha a fentiekt˝ ol elt´er˝o nagys´ag´ u helykihagy´asra van sz¨ uks´eg¨ unk. Az itt eml´ıtett mindegyik parancs automatikusan lez´arja az aktu´alis bekezd´est. Ha egy lapot be szeretn´enk fejezni, akkor ezt az \eject parancs be´ır´as´aval tehetj¨ uk meg. Ha kev´es sort tartalmaz az ´ıgy lez´art lap, akkor a \vfill\eject parancsokat kell alkalmazni a lap alultel´ıtetts´eg´enek elker¨ ul´ese v´egett. Egy u ¨ res lap l´etrehoz´as´anak legegyszer˝ ubb m´odja az \eject\null\vfil\eject.

2.8. Fejl´ec, l´abl´ec, oldalsz´amoz´as, l´abjegyzet ´ LABL ´ EC, ´ OLDALSZAMOZ ´ ´ 2.8.1. FEJLEC, AS Egy oldal h´arom f˝o r´eszb˝ol a´ll: az eddig t´argyalt lapt¨orzsb˝ol, a lapt¨orzs f¨ol¨ott elhelyezked˝o fejl´ecb˝ol ´es a lapt¨orzs alatti l´abl´ecb˝ol. Ebben a fejezetben megismerked¨ unk a fejl´ec ´es l´abl´ec haszn´alat´aval. Alap´ertelmez´esben a fejl´ec u ¨ res, a l´abl´ecben k¨oz´epre igaz´ıtva jelenik meg a lapsz´am. Ez a lapsz´amoz´as a \nopagenumbers paranccsal kapcsolhat´o ki. A \headline{} ´es a \footline{} paranccsal lehet a fejl´ecet ´es a l´abl´ecet felt¨olteni sz¨oveggel. Mindkett˝o egy-egy v´ızszintes, aktu´alis lapsz´eless´eg˝ u doboz. Alap´ertelmez´es a \headline{\hfil}, \footline{\hss\tenrm\folio\hss}.

A \folio az a parancs, amely az aktu´alis oldalsz´amot megjelen´ıti. A TEX az oldalak sz´amol´as´ahoz a \pageno nev˝ u sz´aml´al´ot haszn´alja, amelynek kezd˝o´ert´eke alap´ertelmez´esben 1, ´es a TEX ezt minden kiszedett oldal ut´an abszol´ ut ´ert´ekben eggyel automatikusan megn¨oveli. A sz´aml´al´o ´ert´ek´et megv´altoztathatjuk \pageno=hsz´ami m´odon. Ez az a´t´all´ıt´as az aktu´alis oldalt´ol kezdve lesz ´erv´enyes. Abban az esetben, ha a hsz´ami negat´ıv, a \folio parancs ezen sz´aml´al´o abszol´ ut ´ert´ek´enek megfelel˝o r´omai sz´amot fog megjelen´ıteni. Nagyon gyakori ig´eny, hogy olyan fejl´ecet k´esz´ıts¨ unk, ahol a p´aratlan ´es p´aros oldalakon m´as sz¨oveg jelenik meg, ´es a lapsz´amoz´as a p´aratlan oldalakon jobbra, a p´aros oldalakon balra van illesztve. Erre p´eldak´ent megadjuk a k¨ovetkez˝o megold´ast: \nopagenumbers \headline{\ifodd\pageno\rightheadline\else\leftheadline\fi} \def\rightheadline{% \hbox to\hsize{\eightrm\hfil h jobb oldali sz¨ ovegi\hfil}% \llap{\hbox{\folio}}}

54

plainTEX

´sa 2 Oldalak l´ etrehoza

\def\leftheadline {\rlap {\hbox{\tenrm\folio}}% {\hbox to\hsize{\eightrm\hfil hbal oldali sz¨ ovegi\hfil}}}

A fenti sorokat a f´ajl elej´ere be´ırva minden megkezdett p´aratlan oldalsz´am´ u oldalon a h jobb oldali sz¨ovegi, ´es minden megkezdett p´aros oldalsz´am´ u oldalon a hbal oldali sz¨ovegi, valamint a lapsz´am fog megjelenni jobbra, illetve balra illesztve. Annak ´erdek´eben, hogy a fenti p´eld´aban a k¨oz´epre illesztett sz¨ovegek val´oban a v´ızszintesen lapk¨oz´epen jelenjenek meg, haszn´alnunk kellett k´et – eddig m´eg nem t´argyalt – parancsot, melyek az \llap ´es az \rlap. Mindk´et parancs k´et dobozt helyez egym´asra (Nem egym´as f¨ol´e!!) az al´abbi m´odon: Az \llap a bal oldali doboz jobb sz´el´ehez illeszti a jobb oldali doboz jobb sz´el´et, az \rlap parancs pedig az els˝o doboz bal sz´el´ehez illeszti a m´asodik doboz bal sz´el´et. Ez nemcsak az a´ltalunk megadott dobozokra, hanem csoportokra, illetve karakterekre is igaz. N´ezz¨ unk n´eh´any p´eld´at, l— / — l/ l— / l/ —

amelyeket a k¨ovetkez˝ok´eppen adtunk meg! l\hbox{|\llap /} l\hbox{/\llap |} l\hbox{\rlap|/} l\hbox{\rlap/|}

´ 2.8.2. LABJEGYZET Lehet˝os´eg van l´abjegyzetek l´etrehoz´as´ara is a \footnote parancs seg´ıts´eg´evel. Ennek szintaktik´aja: \footnoteha l´ abjegyzet jelei{ha l´ abjegyzet sz¨ ovegei}

Ennek hat´as´ara a parancs megad´asa hely´en megjelenik a jel, a lap alj´an pedig a jel ´es a megadott sz¨oveg. A l´abjegyzetet a t¨obbi sz¨ovegt˝ol egy v´ızszintes vonal v´alasztja el*. Pl. az el˝oz˝o mondat v´eg´en azt ´ırtuk, hogy \footnote*{Ez egy l´ abjegyzet.}. Van egy olyan parancs is a plainTEX-ben, a \vfootnote, amelyik csak az als´o r´esz´et k´esz´ıti el a l´abjegyzetnek. Erre sz¨ uks´eg lehet, ha a sz¨ovegben nem akarunk jelet megjelen´ıteni, vagy ha alul ´es fel¨ ul nem egyform´an akarjuk jel¨olni a l´abjegyzetet, p´eld´aul fel¨ ul indexk´ent, alul nem. Ez ut´obbira p´elda a \sajatlab parancs, amelyet az al´abbiak szerint defini´alhatunk (l´ asd 5. Makr´ok): \def\sajatlab#1#2{${}^{#1}$\vfootnote{#1}{#2}}

Haszn´alata ugyanolyan, mint a \footnote-´e. * Ez egy l´abjegyzet.

´d 3.1. Matematikai mo

plainTEX

55

3. Matematikai sz¨ ovegek 3.1. Matematikai m´od A TEX, mint l´athattuk az el˝oz˝okben, sok egyszer˝ u sz¨ovegform´az´o parancsot tartalmaz, amelyekkel bonyolult form´atumokat is ki lehet alak´ıtani. Azonban ez nemcsak foly´o sz¨ovegekre igaz, hanem matematikai formul´akkal tark´ıtottakra is. Az alapgondolat az, hogy sok egyszer˝ u paranccsal k¨onnyed´en lehessen bonyolult form´atumokat is l´etrehozni. Mint m´ar a m´odokat le´ır´o fejezetn´el (l´ asd 1.10. M´odok) l´athattuk, k´et ∗ k¨ ul¨onb¨oz˝o matematikai m´od van . Sz¨ ovegk¨ ozi matematikai m´ odra val´o a´tt´er´es a $ jellel lehets´eges, ´es ugyenezzel a jellel lehet visszat´erni sz¨oveg m´odra: $x$, eredm´enye x, vagy $-2x+y$ eredm´enye −2x + y . T¨obb dolog miatt fontos, hogy a matematikai kifejez´eseket a matematikai m´ od felhaszn´al´as´aval ´ırjuk. N´eh´any fontos t´enyez˝o: – Matematikai m´odban a bet˝ uk d˝olt bet˝ ut´ıpussal ´ır´odnak, ami a k¨onnyebb ´ertelmezhet˝os´eget teszi lehet˝ov´e (l´ asd 1.10. M´odok). – M´as a bet˝ uk egym´ashoz illeszt´es´enek a m´odja. Matematikai m´odban: P araf f in (ami = P a2 rf 2 in), sz¨ oveg m´odban: Paraffin illetve Paraffin. – Egyes beg´epelt karaktereknek m´as a k´epe matematikai, ´es m´as sz¨oveg m´odban (pl. a -, jelek k´epe sz¨oveg m´odban -, ¡, ¿, m´ıg matematikai m´odban −, ). – A matematikai karaktereket megjelen´ıt˝o parancsok csak matematikai m´odban m˝ uk¨odnek (pl. a $\pm$, ami a ± jelet ´ırja ki). – Ha matematikai m´odot haszn´alunk, nem sz¨ uks´eges pontosan ismern¨ unk a matematikai helykihagy´asok bonyolult rendj´et. Ha megn´ezz¨ uk a fenti p´eld´at, a $-2x+y$ a´ltalunk ´ırt formul´aban a + jel el˝ott ´es ut´an nem hagytunk ki helyet, azonban a TEX tudja, hogy ez itt m˝ uveleti jel, teh´at sz¨ uks´eges el˝otte ´es ut´ana helykihagy´as, m´ıg a - ut´an nem hagy ki helyet, mivel az ott l´athat´oan nem m˝ uveleti, hanem el˝ojel. Ez csak egyetlen p´elda a sokb´ol. – A matematikai m´odban a´ltalunk hagyott sz´ok¨oz¨oket a TEX nem veszi figyelembe, hanem a sz´am´ara meghat´arozott helykihagy´asokat v´egzi el. Ennek alapj´an a fenti formul´at ´ırhattuk volna $- 2 x+y$ vagy $- 2x +y$ vagy $ - 2 x + y $ stb. m´odon is, az eredm´eny mindig a −2x + y elrendez´es marad. – Nemcsak a helykihagy´asnak vannak k¨ ul¨on szab´alyai a matematikai k´epletekn´el, hanem az elv´alaszt´asnak is, hiszen p´eld´aul az f (x, y, z ) ($f(x,y,z)$) kifejez´esben a vessz˝ok ut´an – ellent´etben a foly´o sz¨oveggel – nem illik u ´j sort kezdeni. Mindezt tudja a TEX, s ennek alapj´an fogja elv´egezni a sorokra t¨ordel´est. ∗ A k´ et matematikai m´ odnak sok k¨ oz¨ os tulajdons´ aga van. Ha ezekr˝ ol esik sz´ o, a k´et matematikai m´ odot nem sz¨ uks´eges megk¨ ul¨ onb¨ oztetni, ´ıgy ekkor a matematikai m´ od elnevez´est haszn´ aljuk.

56

¨ vegek 3 Matematikai szo

plainTEX

Van a matematikai m´odnak egy m´asik fajt´aja is, ez a kiemelt matematikai m´ od (l´ asd 1.10. M´odok), amit a $$ dupla jel nyit ´es z´ar. Ezt a m´odot alkalmazva a $$ . . . $$ jelek k¨oz´e z´artak a bekezd´est˝ol kiss´e elt´avol´ıtva, k¨oz´epen jelennek meg. Pl. a $$x+y=z$$ forma az x+y+z

megjelen´est eredm´enyezi. Elt´er´esek a sz¨ovegk¨ozi matematikai m´odt´ol: – Automatikusan hagy ki a k´eplet alatt ´es f¨ol¨ott helyet. Ezeket a t´avols´agokat az \abovedisplayskip=hdimeni (f¨ol¨otte) ´es a \belowdisplayskip= hdimeni (alatta) lehet be´all´ıtani glob´alisan, ha ezeket az ´ert´ekad´asokat a f´ajl elej´ere ´ırjuk; ´es egy-egy formul´ara lok´alisan, ha a kiemelt matematikai m´odon bel¨ ulre ´ırjuk. – V´ızszintesen a lap k¨ozep´ere helyezi el a formul´at. – Egyes illeszt˝o parancsok csak kiemelt matematikai m´odban alkalmazhat´ok (l´asd k´es˝obb). – Egyenletjelet lehet tenni a formula mell´e a lap jobb, illetve bal oldal´ahoz illesztve (l´ asd 3.10. Egyenletek illeszt´ese, egyenletsz´amoz´as). – Egyes jelek m´erete kiemelt matematikai m´odban nagyobb, mint sz¨ovegk¨ozi matematikai m´odban, ´es a formul´ak elhelyez´ese is k¨ ul¨onb¨ozhet (l´asd k´es˝obb). Arra minden esetben vigy´azzunk, hogy a megnyitott matematikai m´odot z´arjuk is le! (A sz¨ovegk¨ozi matematikai m´odot csak a $ jellel, kiemelt matematikai m´odot csak a $$ dupla jellel lehet lez´arni.) A TEX hib´at jelez, ha ´eszleli, hogy a matematikai m´odot m´ar le kellett volna z´arni. Ekkor ugyan lez´arja, de ez val´osz´ın˝ uleg nem ott fog t¨ort´enni, ahol mi szerett¨ uk volna. Ilyen esetben jobb a ford´ıt´asb´ol kil´epni, a hib´at korrig´alni. Ugyancsak hib´at jelez, ha tal´al egy olyan parancsot vagy jelet, amelyet csak matematikai m´odban lehet haszn´alni, de elfelejtett¨ uk megnyitni. Ebben az esetben is ´erdemesebb a ford´ıt´as folytat´asa el˝ott a hib´at kijav´ıtani.

3.2. Matematikai karakterek A matematikai sz¨ovegekben sok olyan jel haszn´alatos, ami egy´eb sz¨ovegekben nem, vagy csak nagyon ritk´an. Ezek ki´ırat´o parancsait a TEX-ben csak matematikai m´odban lehet haszn´alni. Ide tartoznak p´eld´aul a g¨or¨og bet˝ uk. Mivel ezek a jelek a billenty˝ uzetr˝ol k¨ozvetlen¨ ul nem g´epelhet˝ok be, parancsok seg´ıts´eg´evel jelen´ıthet˝ok meg. A parancsok k¨onnyen megjegyezhet˝ok, ugyanis ezek az adott karakterek nev´enek angol helyes´ır´as szerinti megfelel˝oi vagy azok r¨ovid´ıt´esei. A karakterek neveinek felsorol´as´an´al nem ´ırjuk ki a $ jeleket, de mindegyikre ´erv´enyes, hogy csak matematikai m´odban haszn´alhat´o. L´enyeges, hogy minden karaktert helyesen haszn´aljunk, azaz ne keverj¨ uk o¨ssze az  g¨or¨og bet˝ ut az ∈ eleme jellel, a φ g¨or¨og bet˝ ut az u ¨ res halmaz ∅ jel´evel, a rel´aci´os jeleket a h , i z´ar´ojelekkel stb.

´torok (mu ˝veleti jelek) 3.2.2. Bin´ er opera

plainTEX

57

¨ OG ¨ BETUK ˝ 3.2.1. GOR A g¨or¨og kisbet˝ uk parancsai a bet˝ uk neveinek angol megfelel˝oi. Egyes bet˝ uknek van egy v´altozat (variety)” p´arja (pl.  ´es ε), term´eszetesen mindkett˝o hasz” n´alhat´o. \alpha \beta \gamma \delta \epsilon \varepsilon \zeta \eta \theta \vartheta

α β γ δ  ε ζ η θ ϑ

\iota \kappa \lambda \mu \nu \xi o \pi \varpi \rho

ι κ λ µ ν ξ o π $ ρ

\varrho \sigma \varsigma \tau \upsilon \phi \varphi \chi \psi \omega

% σ ς τ υ φ ϕ χ ψ ω

A fentiek alapj´an a technika g¨or¨og sz´o r¨ovid´ıt´es´et, ami τ χ (´es a TEX neve), u ´ gy ´ırhatjuk, hogy $\tau\epsilon\chi$. A g¨or¨og nagybet˝ uk k¨oz¨ ul csak n´eh´anyra van k¨ ul¨on parancs (a t¨obbire a megfelel˝o latin nagybet˝ ut haszn´alhatjuk): \Gamma \Delta \Theta \Lambda

Γ ∆ Θ Λ

\Xi \Pi \Sigma \Upsilon

Ξ Π Σ Υ

\Phi \Psi \Omega

Φ Ψ Ω

´ OPERATOROK ´ ˝ 3.2.2. BINER (MUVELETI JELEK) A standard +, −, /, ∗ jelek a billenty˝ uzetr˝ol beg´epelhet˝ok a +, -, / ´es * jelekkel. A t¨obbi (plainTEX-ben l´etez˝o) m˝ uveleti jelre az al´abbi parancsok a´llnak rendelkez´esre: \pm \mp \setminus \cdot \times \ast \star \diamond \circ \bullet \div

± \cap ∓ \cup \ \uplus · \sqcap × \sqcup ∗ \triangleleft ? \triangleright  \wr ◦ \bigcirc • \bigtriangleup ÷ \bigtriangledown

∩ ∪ ] u t / . o

4 5

\vee \lor \wedge \land \oplus \ominus \otimes \oslash \odot \dagger \ddagger \amalg

∨ ∨ ∧ ∧ ⊕ ⊗ † ‡ q

Amennyiben a TEX u ´ gy ´ıt´eli meg, hogy az adott jel val´oban m˝ uveleti jel, annak mindk´et oldal´an hagy egy megfelel˝o helyet, ellenkez˝o esetben nem: $2\pm\varepsilon=\pm\beta$ eredm´ enye 2 ± ε = ±β . (Ez al´ol kiv´etel a / jel, mert ez el˝ott ´es ut´an automatikusan nem hagy ki helyet.) Ha valamilyen okb´ol el szeretn´enk hagyni a m˝ uveleti jelek k¨or¨ uli helykihagy´ast, a m˝ uveleti jelet

58

¨ vegek 3 Matematikai szo

plainTEX

kapcsos z´ar´ojelek k¨oz´e kell tenni: $2{\pm}\varepsilon{=}{\pm}\beta$ eredm´enye 2±ε=±β .

´ OS ´ JELEK 3.2.3. RELACI A , : , = jelek a billenty˝ uzeten megtal´alhat´ok. A t¨obbire az al´abbi parancsok vannak: \leq \le \prec \preceq \ll \subset \subseteq \sqsubseteq \in \vdash \smile \frown

≤ ≤ ≺   ⊂ ⊆ v ∈ ` ^ _

\geq \ge \succ \succeq \gg \supset \supseteq \sqsupseteq \ni \owns \dashv \mid

≥ ≥    ⊃ ⊇ w 3 3 a |

\equiv \sim \simeq \asymp \approx \cong \bowtie \propto \models \doteq \perp \parallel

≡ ∼ '  ≈ ∼ =

./ ∝ |= .

=

⊥ k

B´armelyik jelet a´t lehet h´ uzni a \not parancs seg´ıts´eg´evel, pl., ha $\not\sim$-et ´ırunk, akkor 6∼-t kapunk. Haszn´alhatjuk azonban a \not\in helyett a \notin, a \not= helyett a \ne vagy \neq parancsokat. A rel´aci´os jelek el˝ott ´es ut´an is hagy ki helyet a TEX csak´ ugy, mint a m˝ uveleti jelekn´el n + 1 ≤ k . Letilthat´o a helykihagy´as a { } z´ar´ojelek seg´ıts´eg´evel: az $n+1{\le}k$ m´odon ´ırt kifejez´es n + 1≤k form´aj´ u lesz. Lehet˝oleg ne haszn´aljuk a \mid ( oszthat´o”) jelet a \vert vagy | (abszo” l´ ut ´ert´ek jel) helyett, sem a \parallel ( p´arhuzamos”) jelet a \Vert vagy \| ” ( norma”) jel helyett (l´ asd 3.2.5. Egy´eb matematikai jelek)! ” ´ ´ OS ´ JELEK 3.2.4. TOVABBI RELACI Az el˝oz˝oeken k´ıv¨ ul m´eg sz¨ uks´eges az al´abbi rel´aci´os jelek parancsainak ismerete: \uparrow \downarrow \updownarrow \nearrow \searrow \longrightarrow \longleftarrow \longleftrightarrow \Longrightarrow \Longleftarrow \Longleftrightarrow

↑ ↓ l % & −→ ←− ←→ =⇒ ⇐= ⇐⇒

\Uparrow \Downarrow \Updownarrow \nwarrow \swarrow \rightarrow \leftarrow \leftrightarrow \Rightarrow \Leftarrow \Leftrightarrow

⇑ ⇓ m . → ← ↔ ⇒ ⇐ ⇔

3.2.5. Egy´ eb matematikai jelek

\longmapsto \hookrightarrow \rightharpoonup \rightharpoondown \rightleftharpoons

plainTEX

7 → − ,→ * + * )

\mapsto \hookleftarrow \leftharpoonup \leftharpoondown

59

7 → ←( )

A \rightarrow parancs helyett haszn´alhatjuk az ugyanolyan jelet eredm´enyez˝o \to parancsot, a \leftarrow helyett pedig a \gets parancsot. A \Longleftrightarrow parancs helyett n´ eha jobb, ha annak \iff v´altozat´at alkalmazzuk, mert ez ut´obbi nagyobb helyet hagy ki maga el˝ott ´es ut´an: $a+b\Longleftrightarrow c=d$ eredm´ enye a + b ⇐⇒ c = d, ugyanez az \iff-fel ´ırva a + b ⇐⇒ c = d. ´ MATEMATIKAI JELEK 3.2.5. EGYEB Vannak olyan jelek, melyek egyik fenti csoportba sem sorolhat´ok: \aleph \hbar \imath \jmath \ell \wp \Re \Im \partial \prime \S \P

ℵ ¯h ı  ` ℘ < = ∂ 0 § ¶

\infty \emptyset \nabla \surd \top \bot \angle \triangle \backslash \vert \Vert

∞ ∅ ∇ √ > ⊥ 6

4 \ | k

\forall \exists \neg \flat \natural \sharp \clubsuit \diamondsuit \heartsuit \spadesuit \dag \ddag

∀ ∃ ¬ [ \ ] ♣ ♦ ♥ ♠ † ‡

A | ´es k jelek \vert ´es \Vert parancsai helyett haszn´alhat´o a | jel ´es a \| parancs. Lehet˝ oleg ne haszn´aljuk a \mid ( oszthat´o”) jelet a \vert vagy | ” (abszol´ ut ´ert´ek jel) helyett, sem a \parallel ( p´arhuzamos”) jelet a \Vert vagy ” \| ( norma”) jel helyett! Ennek egyik oka a rel´ aci´os jel k¨or¨ uli helykihagy´as,

” m´asik pedig az, hogy a rel´aci´os jel ut´an enged´elyezett a sort¨or´es. A formula a \mid-et haszn´alva a´ttekinthetetlenebb´e v´alhat: 3 | x + 2 | + | x | −2 | x + 1 |= 0, mint a \vert vagy | jeleket haszn´ alva: $3|x+2|+|x|-2|x+1|=0$ eset´en 3|x + 2| + |x| − 2|x + 1| = 0. A fels˝o indexben szerepl˝o \prime helyett haszn´alhat´o a ’, ugyanis a d 00 beg´epel´ese egy kicsit hosszadalmas $d^{\prime\prime}$ m´odon. R¨ovid´ıtett v´altozata: $d’’$, az eredm´eny ugyanaz (d 00 ). Vigy´azzunk, nem haszn´alhat´o a k´et ’ helyett az " jel! A fentiek k¨oz¨ ul n´egy parancs haszn´alhat´o matematikai m´odon k´ıv¨ ul is. Ezek az \S, a \P, a \dag ´es a \ddag parancsok.

60

¨ vegek 3 Matematikai szo

plainTEX

3.2.6. A PONTOK Sok matematikai kifejez´es tartalmazza a . . . h´arom pontot. Nem a legc´elszer˝ ubb ilyen esetben h´arom pontot ´ırni, mert nem az lesz az eredm´eny, amit v´arunk: ..., ugyanis a pontok ´ıgy k¨ozvetlen¨ ul egym´as mellett helyezkednek el. Az \ldots ´es a \cdots parancsok megfelel˝o t´avols´agot hagynak a pontok k¨oz¨ott. Az \ldots a pontokat az alapvonalra, m´ıg a \cdots a pontokat k¨oz´epre illeszti: $a_{i,1}+a_{i,2}+\cdots +a_{i,n}\quad i=1,2,\ldots ,\ell $ ai,1 + ai,2 + · · · + ai,n

i = 1, 2, . . . , `

Az \ldots helyett haszn´alhatjuk a \dots parancsot, amely annyiban t´er el, hogy sz¨oveg m´odban is haszn´alhat´o. A szorz´asjel (·) ki´ırat´as´ara a \cdot parancsot haszn´aljuk.

˝ 3.2.7. KALLIGRAFIKUS BETUK Az u ´ n. kalligrafikus nagybet˝ uk a \cal parancs seg´ıts´eg´evel a´ll´ıthat´ok el˝o. Pl. $\cal Y$ hat´ as´ara egy Y nyomtat´odik ki. A \cal parancs bet˝ uk´eszletv´alt´o parancs, ´ıgy a´t´all´ıt´asig, illetve az aktu´alis csoport lez´ar´as´aig hat: $ {\cal AB}\ne AB$

−→ AB 6= AB

A kalligrafikus nagybet˝ uk: ABCDE F GHI J KLMN OP QRS T U V W Z X Y

´ ´IRASM ´ ´ U ´ SZAMOK ´ 3.2.8. REGI OD Lehet˝os´eg van az \oldstyle parancs seg´ıts´eg´evel forma ´es elhelyez´es tekintet´eben r´egi ´ır´asm´od´ u sz´amjegyek ki´ırat´as´ara. A PLAIN \oldstyle parancsa bet˝ uk´eszletv´alt´o parancs, ´ıgy a´t´all´ıt´asig, illetve az aktu´alis csoport lez´ar´as´aig fejti ki hat´as´at: $ {\oldstyle 8000}= 8000$

−→  = 8000

A r´egi ´ır´asm´od´ u sz´amjegyek: $ {\oldstyle 0123456789}$

−→



Haszn´alhat´o egyar´ant matematikai ´es sz¨oveg m´odban.

˝ l – ma ´sk´ 3.3. Matematikai karakterekro eppen

plainTEX

61

3.3. Matematikai karakterekr˝ol – m´ask´eppen Amikor egy sz¨ovegben matematikai m´odba l´ep¨ unk a´t, a TEX a karaktereket t¨obb k¨ ul¨onb¨oz˝o karakterk´eszletb˝ol v´alasztja, s˝ot m´eg az sem biztos, hogy ugyanazt a karaktert mindig ugyanonnan fogja venni. Ha matematikai m´odon bel¨ ul akarunk k¨ ul¨onb¨oz˝o karakterk´eszletekb˝ol k¨ ul¨onb¨oz˝o karaktereket haszn´alni, nem elegend˝o csak az aktu´alis bet˝ ut´ıpust megv´altoztatni. Ez azzal magyar´azhat´o, hogy a bet˝ ut´ıpus megad´asa o¨nmag´aban nem hat´arozza meg egy´ertelm˝ uen, hogy a karakter aktu´alis kiv´alaszt´asa melyik karakterk´eszletb˝ol t¨ort´enik. A probl´em´anak k´etf´ele megold´asa is van. Az els˝o az, hogy az u ´ n. aktu´alis karaktercsal´adot v´altoztatjuk meg. Ez a \famhsz´ami parancs kiad´as´aval t¨ort´enhet. Egy csal´adba h´arom bet˝ um´eret tartozik, egy alapm´eret˝ u \displaystyle, egy indexm´eret˝ u \scriptstyle ´es egy index indexe m´eret˝ u \scriptscriptstyle. Az aktu´alis csal´ad megfelel˝o m´eret˝ u v´altozat´at az ut´ana eml´ıtett paranccsal lehet kiv´alasztani. Ha indexet ´ırunk, akkor mindig ´ertelemszer˝ uen v´altozik a kiv´alasztott bet˝ ut´ıpus. A legfontosabb csal´adok: 0 antikva 1 matematikai alapsz¨ ovegekhez 2 matematikai szimb´ olumok 3 matematikai szimb´ olumok kib˝ov´ıt´ese ´es v´altoztathat´o m´eret˝ u jelek 4 kurz´ıv bet˝ uk 5 d˝ olt bet˝ uk 6 f´ elk¨ov´er bet˝ uk 7 g´ ep´ır´as Ezt azonban ritk´an haszn´aljuk, ink´abb alkalmazunk olyan parancsokat, amelyek nemcsak a bet˝ ut´ıpust, hanem a csal´adot is v´altoztatj´ak. Ilyenek a PLAINben defini´alt \rm, \bf, \it, \sl ´es \tt parancsok. N´eha alkalmazunk olyan parancsot is, amelyik csak csal´adot v´alt, ilyen a \cal. A m´asik lehet˝os´eg az, hogy a´tl´ep¨ unk nem matematikai m´odba. Ezt u ´ gy tehetj¨ uk meg, hogy a kiv´alasztott sz¨ovegr´eszt \hbox{ }-ba rakjuk. Ilyenkor a karakter-kiv´alaszt´asokra ugyanazok a szab´alyok ´erv´enyesek, mint nem matematikai m´odban a´ltal´aban. Lehet˝os´eg van olyan tetsz˝oleges karakter ki´ırat´as´ara, amelyik benne van valamelyik csal´adhoz tartoz´o karakterk´eszletben. A szintaktika: \mathchar"hcsal´ ad i hkarakteri,

ahol a hcsal´ad i egy hexadecim´alis sz´amjegyet jelent, a hkarakteri hely´ere pedig a karakter k´odja ker¨ ul hexadecim´alisan. P´eld´aul ha $\mathchar "645$ -¨ ot ´ırunk, akkor E-t kapunk.

A " a hexadecim´alis sz´amot vezeti be.

62

¨ vegek 3 Matematikai szo

plainTEX

3.4. Indexek Az eddig mintak´ent bemutatott formul´ak nem tartoztak a bonyolultabb kifejez´esekhez. N´ezz¨ uk, hogyan lehet ´ep´ıtkezni! Ennek legegyszer˝ ubb, s tal´an o leggyakrabban haszn´alatos esete a fels˝ indexek ´ ır´ a sa. A T X-hel, sok m´as E als´ o szed˝oprogrammal ellent´etben, nagyon k¨onnyen ´es helyesen tudjuk szedni az indexeket. Matematikai m´odban fels˝o indexet a ^, als´o indexet az _ seg´ıts´eg´evel ´ırhatunk: x2 megad´asa $x^2$ m´odon, x2 megad´asa $x_2$ m´odon lehets´eges. Mindk´et jel csak az o˝t k¨ovet˝o egyetlen karaktert vagy a ^, _ jelet k¨ozvetlen¨ ul k¨ovet˝o kapcsos z´ar´ojelek a´ltal meghat´arozott csoportot fogja indexbe tenni. N´eh´any p´elda arra, hogyan lehet bonyolultabb strukt´ ur´akat l´etrehozni ezzel a k´et egyszer˝ u jellel: −→

x32 = x32

(3) $M_{i,j}^{n+1}$

−→

n+1 Mi,j

(4) $a^{2^2}=p_{qr}$

−→

a2 = pqr

(5) $M_{a_i^2}^{b ^3_j}$

−→

Ma2j

(6) $(1+(1+(1+a^2)^2)^2)^2$

−→

(1 + (1 + (1 + a 2 )2 )2 )2

(1) $x^3_2=x_2^3$ (2) $a ^ 2M _ i

$

−→

(7) ${(1+{(1+{(1+a^2)}^2)}^2)}^2$ −→ (8) $\Gamma _{ij}{}^{kl}{}_{mn}$

−→

a 2 Mi 2

b3 i

2 2 2

(1 + (1 + (1 + a 2 ) ) ) Γij kl mn

Az (1) p´eld´aban l´athatjuk, hogy b´arminek lehet als´o ´es fels˝o indexe egyszerre, ´es az indexek megad´as´anak sorrendje felcser´elhet˝o. A forr´assz¨ovegben a´ltalunk hagyott sz´ok¨oz¨ok itt sem j´atszanak szerepet (l´asd (2)). L´enyeges szerepe van itt is a csoportok haszn´alat´anak (l´asd (3), (4) p´elda), ugyanis a TEX sz´am´ara egy´ertelm˝ unek kell lennie, hogy melyik formula melyiknek az indexe – mivel az index helyzete ´es m´erete m´as, mint az index indexe eset´eben. A p_q_r jel¨ ol´est a TEX nem fogadja el, hiszen ´ıgy nem egy´ertelm˝ u, hogy mi minek az indexe. A csoportok megjel¨ol´ese alapj´an a k¨ovetkez˝o esetek lehets´egesek m´eg a p´eld´aban l´athat´on k´ıv¨ ul: $p_{q_r}$ (p qr ), ${p_q}_r$ (pq r ). A (6) ´es (7) p´ eld´aban azt az esetet l´athatjuk, amikor a csoportjel¨ol´eseket felhaszn´alva sokkal a´ttekinthet˝obb´e v´alik a formula. Az utols´o p´eld´aban a Γ-nak van t¨obb als´o indexe, m´asr´eszt a fels˝o index helye is m´as, mint alaphelyzetben. Itt van u ´ jabb jelent˝os´ege az u ¨ res csoportnak, amelynek felhaszn´al´as´aval l´atsz´olag t¨obb als´o, illetve fels˝o indexet is tudunk egy jelhez ´ırni. A p´eld´akb´ol j´ol l´athat´o, hogy a TEX az indexk´ent megadott karaktereket meghat´arozott helyre teszi, meghat´arozott m´erettel. K´et indexm´eret l´etezik: az index (7 pt) ´es az index indexe (m´asodik szint˝ u index) m´eret (5 pt). A tov´abbi szint˝ u indexek m´erete az olvashat´os´ag megtart´as´anak ´erdek´eben a m´asodik szint˝ u index m´eret´evel egyezik meg, csak helyzete v´altozik.

´ltoztathato ´ m´ ˝ jelek 3.6. Va eretu

plainTEX

63

´ 3.5. Ekezetek matematikai m´odban ˝ EKEZETEK ´ 3.5.1. EGYSZERU ´ Ekezetek ´ır´as´ara matematikai m´odban nem haszn´alhat´ok azok a parancsok, amelyek sz¨oveg m´odban. Helyett¨ uk az al´abbiakat alkalmazhatjuk: \hat x

x ˆ

\check x

x ˇ

\tilde x

x ˜

\acute x

x ´

\grave x

x `

\dot x



\ddot x

x ¨

\breve x

x ˘

\bar x

x ¯

\vec x

~x

´ ´ ´ EKEZETEK ´ 3.5.2. EGESZ FORMULAKRA VONATKOZO Az itt felsorolt ´ekezetek a´ltal´aban formul´akra vonatkoznak, de egyeseket egyetlen karakterre is haszn´aljuk. Ilyen p´eld´aul, amikor az M ($\overline M$) ¯ ($\bar M$). hangs´ ulyosabb fel¨ ulvon´ast eredm´enyez, mint az M \widehat {xyz} \widetilde {xyz} \overline {m+n} \underline {m*n} \overleftarrow {A-B/C} \overrightarrow {A+B} \overbrace {x+y+z} \underbrace {x+y}

3.6. V´altoztathat´o m´eret˝ u jelek

xd yz

xg yz

m+n

m∗n ←−−−−−− A − B/C −−−−→ A+B z }| { x+y+z

x+y | {z }

Matematikai formul´akban az a´ttekinthet˝os´eg ´es az egy´ertelm˝ us´eg miatt n´eha sz¨ uks´eges, hogy a k¨ ul¨onb¨oz˝o z´ar´ojelek ´es egy´eb hat´arol´o jelek ( delimiterek”) ” t¨obb k¨ ul¨onb¨oz˝o m´eretben szerepeljenek, illetve hogy legyen bel˝ol¨ uk ak´armilyen nagy is. Az ilyen v´altoztathat´o m´eret˝ u jelek a k¨ovetkez˝ok: ( )

( )

[ ]

[ ]

64

¨ vegek 3 Matematikai szo

plainTEX

\{ \}



\rangle



\langle

/



\backslash \vert

\lgroup



(

\arrowvert

\rgroup

)

\Arrowvert

\rmoustache \lmoustache \lfloor \rfloor \lceil \rceil

\Vert

    

\bracevert \uparrow \downarrow \Uparrow



\Downarrow



\updownarrow



\Updownarrow

/





  w w     x   y ~ w w  x y ~ 

(Itt is haszn´alhat´o a \vert helyett a |, illetve a \Vert helyett a \|.) M´eret¨ uket be´all´ıthatjuk a \bigl \Bigl \biggl \Biggl

\bigm \Bigm \biggm \Biggm

\bigr \Bigr \biggr \Biggr

parancsok seg´ıts´eg´evel. Az oszlopban fel¨ ulr˝ol lefel´e haladva, haszn´alva a parancsokat, a nagy´ıtott jel m´erete n˝o. A m´eretek: 

(·)

! 

A bal oldali oszlopban l´ev˝oket bal hat´arol´ojel nagy´ıt´as´ara haszn´aljuk, a k¨oz´eps˝o oszlopbelieket formula k¨ozep´en l´ev˝o jelek nagy´ıt´as´ara (a hat´arol´ojel el˝ott ´es ut´an helykihagy´ast eredm´enyeznek), a jobb oldaliakat jobb hat´arol´ojelek nagy´ıt´as´ara. P´eld´aul: $\Biggl \{x\in {H}\Bigm \vert x^2-3x>0\Biggr \}$

eredm´enyek´ent (

x ∈ H x2 − 3x > 0

)

keletkezik. Ezeknek l´etezik az m”-es v´altozathoz hasonl´o \big, \Big, \bigg, ” \Bigg v´ altozata is, csak ezek nem eredm´enyeznek helykihagy´ast a nagy´ıtott jel el˝ott ´es ut´an. Dinamikus m´eretv´altoztat´asi lehet˝os´eget biztos´ıt a \left \right parancsp´ar. Mindk´et parancs ut´an meg kell adni egy hat´arol´ojelet, ami lehet u ´ n.

´torok (szumma, integra ´l stb.) 3.7.1. Nagyopera

plainTEX

65

u ¨res hat´ arol´ ojel (nuldelimiter) is (plainTEX eset´eben ez a .”), a TEX az ´ıgy ” k¨or¨ ulhat´arolt formul´ahoz fogja igaz´ıtani a hat´arol´ojelek m´eret´et. Teh´at $$ \phi(n)=\left(\sum_{i=1}^n \exp\left\{-i^2\right\}\right) $$

eredm´enyek´ent n X

φ(n) =

i=1



exp −i

2



!

ad´odik. Ezek ´erz´ekenyebb parancsok, mint az el˝oz˝oek, ugyanis nem szerepelhetnek egym´as n´elk¨ ul, ´es r´aad´asul a \left ´es \right parancsoknak azonos csoportban kell lenni¨ uk. A nuldelimiter haszn´alata: $$ \phi(n)=\left(\sum_{i=1}^n \exp\left.-i^2\right\}\right. $$

ugyanolyan nagys´ag´ u jeleket eredm´enyez, ahol kell: φ(n) =

n X i=1

exp −i2



Ha a h, i z´ar´ojelekre nagy´ıtva van sz¨ uks´eg¨ unk, a nagy´ıt´o parancs ut´an haszn´alhatjuk a jeleket a \langle, \rangle parancsok helyett: $$\left< \left(\overline M’\right)^2\right>$$    0 2 M

3.7. Nagyoper´atorok, f¨ uggv´enyek ´ ´ STB.) 3.7.1. NAGYOPERATOROK (SZUMMA, INTEGRAL Az egyik legegyszer˝ ubb olyan eset, amikor a fentiek ismerete nem elegend˝o, a nagyoper´atorok” esete. A nagyoper´atorok a k¨ovetkez˝ok ∗ : ” \sum \int \prod

P R Q

\bigsqcup \bigvee \bigwedge

F W V

∗ A nagyoper´ atorokat bemutat´ o t´ abl´ azatban a jeleknek a sz¨ ovegk¨ ozi matematikai m´ od´ u m´erete l´ athat´ o (l´ asd 3.14. M´eretek matematikai m´ odban).

66

¨ vegek 3 Matematikai szo

plainTEX

\oint \coprod \bigcap \bigcup

H

\bigodot \bigotimes \bigoplus \biguplus

` T S

J N L U

Ezeket u ´ gy haszn´alhatjuk, hogy az als´o, ill. fels˝o hat´arokra vonatkoz´o inform´aci´okat az als´o, ill. fels˝o indexk´ent ´ırjuk a ^ ´es _ jeleket haszn´alva. Ez sz¨ovegk¨ozi matematikai m´odban indexk´ent jelenik meg, kiemelt matematikai m´odban az illet˝o nagyoper´ator” al´a, ill. f¨ol´e ker¨ ul (kiv´eve az \int-n´el). A ” fenti alap´ertelmez´est megv´altoztathatjuk a \limits ´es a \nolimits parancsok seg´ıts´eg´evel, amelyeket az oper´ator parancsa ut´an, az els˝o indexel˝o jel el´e kell ´ırni. P´eld´aul: $$ \sum_{i=1}^n\int_a^bf_i(x)dx= \int\limits_a^b\sum\nolimits_{i=1}^nf_i(x)dx. $$

Hat´asa: n Z X i=1

b

fi (x)dx = a

Zb X

n i=1

fi (x)dx.

a

Sz¨ovegk¨ozi matematikai m´odban viszont azt kell jel¨oln¨ unk, hogy az indexet al´a illetve f¨ol´e tegye az oper´atornak: ∞ S

Ai

i=0

megad´asa: $\bigcup\limits_{i=0}^\infty A_i$

A nagyoper´atorokhoz hasonl´o tulajdons´ag´ u az \overbrace ´es az \underbrace parancs is: $$ \overbrace {x+y+z}^{\ge 0} \hbox { \’es } \underbrace {x-y-z}_{

\divideontimes



\boxminus

u

\dotplus



\boxtimes

r

\smallsetminus

e

\Cap



\boxplus

d

\Cup

n

\ltimes

Z

\barwedge

o

\rtimes

Y

\veebar

h

\leftthreetimes

[

\doublebarwedge

i

\rightthreetimes



\circleddash

f

\curlywedge

~

\circledast

g

\curlyvee

}

\circledcirc

|

\intercal



\centerdot

\boxdot

2.6. Rel´aci´os jelek 5

\leqq

=

\geqq

6

\leqslant

>

\geqslant

0

\eqslantless

1

\eqslantgtr

.

\lesssim

&

\gtrsim

/

\lessapprox

'

\gtrapprox

l

\lessdot

m

\gtrdot



\lll



\ggg



\lessgtr



\gtrless

Q

\lesseqgtr

R

\gtreqless

S

\lesseqqgtr

T

\gtreqqless

v

\backsim



\thicksim

w

\backsimeq



\thickapprox

j

\subseteqq

k

\supseteqq

b

\Subset

c

\Supset

@

\sqsubset

A

\sqsupset

4

\preccurlyeq


0>\beta_2$. A $\lambda_0$-oszt´ alyba tartoz´ o pontok val´ osz´ ın s´ eg´ enek v´ altoz´ as´ at a k¨ ovetkez k´ eppen defini´ aljuk: $$ \multline

4 Mintaoldal

AMS-TEX 177

Q_{x,y}^{(r)}(\lambda_0)= \beta_3\sum_{i=1}^4\sum_{k=0}^3\Big[P_{x+i,y}^{(r)} (\lambda_0)\cdot C\bigl((x,y),1,(x+i,y),k\bigr) \cdot M_i\cdot N_i\\+P_{x-i,y}^{(r)} (\lambda_0)\cdot C\bigl((x,y),1,(x-i,y),k\bigr)\cdot m_i \cdot n_i\Big], \endmultline $$ ahol $$ \align M_i&=\cases \gamma, &\text{ha } (x+i,y) \text{ v´ azpont}\\ 1 , &\text{egy´ ebk´ ent} \endcases \\ m_i&=\cases \gamma, &\text{ha } (x-i,y) \text{ v´ azpont}\\ 1 , &\text{egy´ ebk´ ent} \endcases \\ N_0&=1 \\ N_i&=\cases 1 , &\text{ha }N_{i-1}=1\text{ e ´s }(x+i,y) \text{ nem h´ att´ erpont}\\ 0 , &\text{k¨ ul¨ onben} \endcases \\ n_0&=1\cr n_i&=\cases 1 , &\text{ha }n_{i-1}=1\text{ e ´s }(x-i,y) \text{ nem h´ att´ erpont}\\ 0 , &\text{k¨ ul¨ onben.} \endcases \endalign $$ Az $M_i$ e ´s $m_i$ e ´rt´ ekeit arra haszn´ aljuk, hogy n¨ ovelj¨ uk azon pontok hat´ as´ at, amelyek m´ ar v´ azpontnak bizonyultak. Az $N_i$ e ´s $n_i$ letiltja azon pontok hat´ as´ at, amelyek nincsenek k¨ ozvetlen kapcsolatban az $(x,y)$ koordin´ at´ aj´ u ponttal. A $Q_{x,y}^{(r)}(\lambda_1)$, $Q_{x,y}^{(r)}(\lambda_2)$ e ´s

178 A S-T X M E

4 Mintaoldal

$Q_{x,y}^{(r)}(\lambda_3)$ hasonl´ ok´ eppen defini´ alhat´ o. Ezek ut´ an: $$ P_{x,y}^{(r+1)}(\lambda_k)= \frac{P_{x,y}^{(r)}(\lambda_k)\bigl(1+Q_{x,y}^{(r)} (\lambda_k)\bigr)} {\sum_{h=0}^4 P_{x,y}^{(r)}(\lambda_h) \bigl(1+Q_{x,y}^{(r)}(\lambda_h)\bigr)}. $$ Megmutathat´ o, hogy az iter´ aci´ o konvergens, ha $\beta_3$ e ´s a $\gamma\geq 1$ az egyes iter´ aci´ ok sor´ an egyre kisebb e ´rt´ ekeket vesznek fel. Az iter´ aci´ os folyamat eppen konvergenci´ aj´ anak apr´ o anom´ ali´ ait k¨ ul¨ onb¨ oz k´ korrig´ al\-hat\-juk. Erre a szerz k a \cite{26}-ban k¨ u\-l¨ on\-b¨ o\-z m´ od\-sze\-re\-ket aj´ anlanak. ... \enddocument

4 Mintaoldal

AMS-TEX 179

15

Az elj´ ar´ as sor´ an minden egyes iter´ aci´ oban minden pont val´ osz´ın˝ us´eg´et ki kell igaz´ıtani. Ahhoz, hogy ezt megtehess¨ uk, ki kell sz´ amolni szomsz´edainak o ¨sszhat´ as´ at. Ha az (x, y) koordin´ at´ aj´ u pont egyszer˝ u ´es nem v´egpont, akkor v´eg¨ ul t¨ or¨ olni fogjuk. Ez´ert k´ıv´ anatos n¨ ovelni a h´ att´erhez tartoz´ as´ anak val´ osz´ın˝ us´eg´et. Ha az (x, y) v´eg-, izol´ alt vagy o ¨sszek¨ ot˝ o pont, akkor v´ azpont, ´ıgy kisebb val´ osz´ın˝ us´eggel tartozik a h´ att´erhez. Ha (x, y) koordin´ at´ aj´ u pont bels˝ o pont, akkor nem tudjuk, hogy v´ azpont lesz-e vagy sem, ´es ´ıgy annak a val´ osz´ın˝ us´eg´et, hogy a h´ att´erhez tartozik, nem v´ altoztatjuk meg. A fenti meggondol´ asok alapj´ an annak a val´ osz´ın˝ us´eg´et, hogy az (x, y) koordin´ at´ aj´ u pont az r-edik iter´ aci´ oban a h´ att´erhez tartozik, a k¨ ovetkez˝ ok´eppen defini´ alt egy¨ utthat´ oval v´ altoztatjuk meg:  u, nem v´egpont   β1 , ha (x, y) egyszer˝ Q(r) x,y (λ4 ) =

 

0, ha bels˝ o pont β2 , egy´ebk´ent,

ahol β1 > 0 > β2 . A λ0 -oszt´ alyba tartoz´ o pontok val´ osz´ın˝ us´eg´enek v´ altoz´ as´ at a k¨ ovetkez˝ ok´eppen defini´ aljuk: Q(r) x,y (λ0 ) = β3

3 h 4 X X i=1 k=0

 (r) Px+i,y (λ0 ) · C (x, y), 1, (x + i, y), k · Mi · Ni i  (r) + Px−i,y (λ0 ) · C (x, y), 1, (x − i, y), k · mi · ni ,

ahol γ, 1,  γ, = 1, =1  1, = 0, =1  1, = 0,

Mi = mi N0 Ni n0 ni



ha (x + i, y) v´ azpont egy´ebk´ent ha (x − i, y) v´ azpont egy´ebk´ent ha Ni−1 = 1 ´es (x + i, y) nem h´ att´erpont k¨ ul¨ onben ha ni−1 = 1 ´es (x − i, y) nem h´ att´erpont k¨ ul¨ onben.

Az Mi ´es mi ´ert´ekeit arra haszn´ aljuk, hogy n¨ ovelj¨ uk azon pontok hat´ as´ at, amelyek m´ ar v´ azpontnak bizonyultak. Az Ni ´es ni letiltja azon pontok hat´ as´ at, ame(r) lyek nincsenek k¨ ozvetlen kapcsolatban az (x, y) koordin´ at´ aj´ u ponttal. A Q x,y (λ1 ), (r) (r) Qx,y (λ2 ) ´es Qx,y (λ3 ) hasonl´ ok´eppen defini´ alhat´ o. Ezek ut´ an:  (r) (r) Px,y (λk ) 1 + Qx,y (λk ) (r+1) . Px,y (λk ) = 4  P (r) (r) Px,y (λh ) 1 + Qx,y (λh ) h=0

Megmutathat´ o, hogy az iter´ aci´ o konvergens, ha β3 ´es a γ ≥ 1 az egyes iter´ aci´ ok sor´ an egyre kisebb ´ert´ekeket vesznek fel. Az iter´ aci´ os folyamat konvergenci´ aj´ anak apr´ o anom´ ali´ ait k¨ ul¨ onb¨ oz˝ ok´eppen korrig´ alhatjuk. Erre a szerz˝ ok a [26]-ban k¨ ul¨ onb¨ oz˝ o m´ odszereket aj´ anlanak. 14

3 Az emTEX programrendszer

Bevezet˝ o A TEX sz¨ovegform´az´o rendszer implement´al´asa t¨obb oper´aci´os rendszerre elk´esz¨ ult. P´eldak´eppen eml´ıthetj¨ uk a DOS, OS/2, VMS, Unix ´es Linux alatti verzi´okat. Az egyes kereskedelmi verzi´ok mellett a TEX rendszernek megjelentek szabadszoftver v´altozatai is. Ebben a fejezetben az egyik a´ltal´anosan elterjedt szoftvercsomagot, az emTEX 3.0a DOS-os verzi´oj´at k´ıv´anjuk ismertetni. Itt – hasonl´ok´eppen a kor´abbi fejezetekhez – csak a legfontosabb tudnival´okat foglaljuk o¨ssze. Tov´abbi inform´aci´ot a csomagban tal´alhat´o dokument´aci´os a´llom´anyok tartalmaznak. Az emTEX rendszer elnevez´es´enek k´et kezd˝obet˝ uje k´esz´ıt˝oj´enek – Eberhard Mattesnek ([email protected]) – monogramja. Azon felhaszn´al´ok, akik a komplett rendszert szeretn´ek megszerezni, a k¨ovetkez˝o ftp c´ımen tal´alhatj´ak azt meg: ftp.uni-stuttgart.de. A program ´ır´oj´anak mind¨ossze annyi kik¨ot´ese van, hogy a rendszert teljes terjedelm´eben, v´altoztat´as n´elk¨ ul adjuk tov´abb. A rendszer helyfoglal´asa a karakterk´eszletek n´elk¨ ul (tov´abbiakban fontok) 6 db 5 41 inch-es HD-s lemez. Az emTEX rendszer a k¨ovetkez˝o komponensekb˝ol a´ll: • TEX rendszer • LaTEX makr´ ocsomag a TEX rendszerhez • METAFONT rendszer fontok k´ esz´ıt´es´ehez • DVIDRV nyomtat´ o- ´es k´eperny˝okezel˝o seg´edprogramok • A LaTEX-ben haszn´ alhat´o a´br´ak k´esz´ıt´es´et megk¨onny´ıt˝o TEXCad rajzol´oprogram

´ la ´s I. Installa

184 emT X E

I. Install´al´as Ha a teljes emTEX rendszer a rendelkez´es¨ unkre a´ll, akkor az install´al´as k¨onnyen megtehet˝o. Az egyes lemezeken tal´alhat´o t¨om¨or´ıtett a´llom´anyok a k¨onyvt´arszerkezet l´etrehoz´as´ahoz sz¨ uks´eges inform´aci´okat is tartalmazz´ak, ez´ert mindo¨ssze annyi a teend˝o, hogy a kicsomagol´as sor´an a PKUNZIP-et -d opci´oval kell megh´ıvni a k¨ovetkez˝o alakban: PKUNZIP -d ht¨ om¨ or´ıtett a ´llom´ anyi C:\

Az install´al´as sor´an a k¨ovetkez˝o k¨onyvt´arak keletkeznek: \EMTEX \EMTEX\DOC \EMTEX\DOC\ENGLISH \EMTEX\DOC\GERMAN \EMTEX\DOC\GR180 \EMTEX\DOC\GR300 \EMTEX\DOC\GR360 \EMTEX\TEXFMTS \EMTEX\BTEXFMTS \EMTEX\TFM \EMTEX\TEXINPUT \EMTEX\BIBINPUT \EMTEX\MFINPUT \EMTEX\MFBASES \EMTEX\BMFBASES \EMTEX\MFJOB \EMTEX\REMOVE

Programok, batch ´es konfigur´aci´os a´llom´anyok Dokument´aci´os a´llom´anyok Angol nyelv˝ u dokument´aci´os a´llom´anyok N´emet nyelv˝ u dokument´aci´os a´llom´anyok 180 dpi-s grafikus a´llom´anyok a dvidrv.dvi-hez 300 dpi-s grafikus a´llom´anyok a dvidrv.dvi-hez 360 dpi-s grafikus a´llom´anyok a dvidrv.dvi-hez TEX form´atum-´allom´anyok ´es a tex.poo bigTEX form´atum-´allom´anyok ´es a tex.poo .tfm f´ ajlok TEX makr´ogy˝ ujtem´enyek Bibliogr´afiai adatb´azis a BibTEX-hez (LaTEX) Forr´as´allom´anyok a METAFONT sz´am´ara METAFONT alapf´ ajlok (b´azisok) ´es az mf.poo bigMETAFONT alapf´ajlok (b´azisok) ´es az mf.poo .mfj f´ ajlok (METAFONT) A REMOVE program haszn´alat´ahoz sz¨ uks´eges a´llom´anyok

Az install´al´as ut´an a k¨ovetkez˝o DOS k¨ornyezeti v´altoz´okat kell be´all´ıtani: SET SET SET SET SET SET

TEXINPUT TFM TEXFMT BTEXFMT TEXTFM BIBINPUT

=C:\EMTEX\TEXINPUT =C:\EMTEX\TFM =C:\EMTEX\TEXFMTS =C:\EMTEX\BTEXFMTS =C:\EMTEX\TFM =C:\EMTEX\BIBINPUT

SET SET SET SET

MFINPUT MFBAS BMFBAS MFJOB

=C:\EMTEX\MFINPUT =C:\EMTEX\MFBASES =C:\EMTEX\BMFBASES =C:\EMTEX\MFJOB

(A bigTEX haszn´alat´ahoz)

(A LaTEX haszn´alat´ahoz) A METAFONT haszn´alata eset´en m´eg a k¨ovetkez˝oket is be kell a´ll´ıtani:

(A bigMETAFONT haszn´alat´ahoz)

´ la ´s I. Installa

emTEX 185

A DOS k¨ornyezeti v´altoz´ok be´all´ıt´as´anak legegyszer˝ ubb m´odja, hogy a fenti sorok k¨oz¨ ul a sz¨ uks´egeseket elhelyezz¨ uk az autoexec.bat f´ajlban a fent megadott form´aban. A k¨ornyezeti v´altoz´ok nevei az alap´ertelmez´esben hasonl´o nev˝ u k¨onyvt´arakban tal´alhat´o a´llom´anyok k¨onyvt´arszerkezetbeli hely´et adj´ak meg. P´eld´aul a TEXINPUT k¨ornyezeti v´altoz´o a TEX seg´ıts´eg´evel leford´ıthat´o a´llom´anyok hely´et adja meg. Ez ´ertelemszer˝ uen m´odos´ıthat´o, illetve b˝ov´ıthet˝o. N´ezz¨ unk erre egy p´eld´at! Szeretn´enk a saj´at TEX forr´asnyelv˝ u a´llom´anyainkat a \SAJAT k¨onyvt´arban, a rendszerhez adott a´llom´anyokat tov´abbra is az \EMTEX\TEXINPUT k¨ onyvt´arban t´arolni. Ebben az esetben a TEXINPUT k¨ornyezeti v´altoz´o alkalmas be´all´ıt´asa a k¨ovetkez˝o lesz: SET TEXINPUT=C:\EMTEX\TEXINPUT;C:\SAJAT

Ennek a be´all´ıt´asnak a hat´asa az lesz a rendszer m˝ uk¨od´es´ere, hogy ha a TEX ford´ıt´o nem tal´alja a forr´as´allom´anyt az aktu´alis k¨onyvt´arban, akkor a megadott k´et k¨onyvt´arban pr´ob´alja megkeresni. A keres´es sorrendje a megad´as sorrendj´evel egyezik meg. A k¨ornyezeti v´altoz´ok megad´asa mellett m´eg a PATH-t is m´odos´ıtanunk kell u ´ gy, hogy az \EMTEX k¨onyvt´ar beleker¨ ulj¨on az el´er´esi u ´ tvonalba. Erre a legegyszer˝ ubb m´od a PATH=%PATH%;C:\EMTEX

sor elhelyez´ese az autoexec.bat-ban legutols´o sork´ent. (Ha az emTEX rendszert nem a C: meghajt´ora install´altuk, akkor a fenti megad´asok ´ertelemszer˝ uen m´odosulnak.) Gyakran el˝ofordul, hogy a k¨ornyezeti v´altoz´ok l´etrehoz´as´ahoz az oper´aci´os rendszernek nem a´ll rendelkez´esre elegend˝o hely. Ebben az esetben helyezz¨ uk el a config.sys f´ajlban a SHELL=C:\DOS\command.com C:\DOS /E:1024 /P

m´odon megadott sort! Ezzel azt ´erj¨ uk el, hogy a k¨ornyezeti v´altoz´ok t´arol´as´ahoz sz¨ uks´eges ter¨ ulet m´erete 1024 b´ajtra a´ll´ıt´odik be. Ha ez a sor m´ar l´etezik, vagy ez a m´eret is kicsinek bizonyul, akkor csak a megfelel˝o param´eter ´ertelemszer˝ u m´odos´ıt´as´at kell v´egrehajtanunk. Ha az install´al´as ut´an az emTEX valamelyik modulj´at t¨or¨olni k´ıv´anjuk, akkor felhaszn´alhatjuk a rendszer azon saj´atoss´ag´at, hogy minden modulhoz tartozik egy .rem kiterjeszt´es˝ u a´llom´any, amely a modulhoz tartoz´o f´ajlok list´aj´at tartalmazza. Egy seg´edprogram, a remove.exe ezeket az a´llom´anyokat felhaszn´alva v´egzi el a modulok t¨orl´es´et. P´elda: REMOVE C:\EMTEX\REMOVE\lkurz.rem C:\

A fenti p´elda t¨orli az lkurz.rem a´llom´any a´ltal meghat´arozott f´ajlokat. Az emTEX szoftvercsomag nem tartalmazza a haszn´alat´ahoz sz¨ uks´eges fontokat. Ezeket saj´at magunknak kell legener´alni. Ezt a munk´at meg´ uszhatjuk, ha valamilyen forr´asb´ol meg tudjuk szerezni a legener´alt fontokat. A gener´al´ashoz sz¨ uks´eges ismereteket a Fontok fejezetben (l´ asd V. Fontok) tal´alhatjuk meg.

186 emT X E

´jlkiterjeszt´ 1 Fa esek

1. F´ajlkiterjeszt´esek A friss´eben install´alt rendszer¨ unk kipr´ob´al´asa el˝ott u ´ gy ´erezz¨ uk, hogy sz¨ uks´eges egy r¨ovid o¨sszefoglal´ot adnunk az emTEX a´ltal haszn´alt szabv´anyos f´ajlkiterjeszt´esekr˝ol. Ez valamilyen m´ert´ekben seg´ıt eligazodni a hatalmas m´eret˝ u f´ajlt¨omegben. .aux A LaTEX munka-f´ ajlja .bas Alapf´ ajl a METAFONT-hoz .bbl A BibTEX kimeneti a ´llom´anya .bgi Borland Graphics Interface (A TEXCad haszn´ alja.) .bib Bibliogr´ afiai adatb´azis a BibTEX-hez ´ .blg Atmeneti a´llom´any (BibTEX) .bst Bibliogr´ afiai st´ılus a BibTEX-hez .bug Hibajegyz´ ek .ch Cseref´ajl .chr A .pxl f´ ajl olvashat´o form´aja (PXTOCH ´es CHTOPX) .cmd Batch-f´ ajl (OS/2) .cnf Konfigur´ aci´os f´ajl a DVIDRV seg´edprogramokhoz ´ .dlg Atmeneti a ´llom´any (DVIDRV) .dot Param´ eter a´llom´any a DVIDOT programhoz .dvi Eszk¨ ozf¨ uggetlen (DeVice Independent) kimeneti a´llom´any .err Hiba¨ uzeneteket ´es figyelmeztet´eseket tartalmaz´o f´ajl (DVIDRV) .fli Fontk¨ onyvt´ar f´ajl DVIDRV-hez .fmt Form´ atumf´ajl a TEX-hez .gf A METAFONT a´ltal gener´alt font´allom´any .gft A GFTYPE standard kimenete .glo LaTEX kimeneti a ´llom´any \glossary-hoz .hlp On-line help .idx Index bejegyz´ esek (a LaTEX a´ltal l´etrehozva) .ilg A MAKEINDEX program a ´tmeneti a´llom´anya .ind A MAKEINDEX a ´ltal l´etrehozott bejegyz´esek .lof LaTEX kimeneti a ´llom´any \listoffigures-h¨oz ´ .log Atmeneti a ´llom´any (TEX ´es METAFONT) .lot LaTEX kimeneti a ´llom´any a \listoftables-h¨oz .mac TEXCad makr´ of´ajl .mf Fontok forr´ask´od´ u f´ajlja .mfj Bemeneti a ´llom´any az MFJOB programhoz .mft St´ılusf´ ajl a METAFONT-hoz .msp Grafikus f´ ajl .opt TEXCad param´ eterei .ovl Overlay f´ ajl .pic A TEXCad a ´ltal l´etrehozott k´eple´ır´as .pk T¨om¨or´ıtett fontf´ajl .pkt A PKTYPE kimenet´ enek standard kiterjeszt´ese .pl A .tfm f´ajl olvashat´o form´aja

˝ haszna ´lata 2 Az emTEX elso

.poo .pxl .rem .sty .sub .tcp .tex .tfm .toc .ver .vf .vpl .web

emTEX 187

Pool f´ajl az INITEX ´es INIMF sz´am´ara Fontf´ajl Listaf´ajl a REMOVE programhoz St´ılusf´ajlok Fonthelyettes´ıt´esi f´ajl (DVIDRV) TEX k´odlap TEX forr´as´allom´any Font m´eretez´es Munka-f´ajl a LaTEX-hez Programverzi´ok list´aja (TEXCad) Virtu´alis font (DVIDRV, VFTOVP ´es VPtoVF) Olvashat´o form´aja a .vf f´ajloknak (VFTOVP ´es VPTOVF) WEB forr´ as´allom´any (TANGLE ´es WEAVE)

2. Az emTEX els˝ o haszn´alata Sikeres install´al´as ut´an elk´esz´ıthetj¨ uk els˝o dokumentumunkat. Hozzunk l´etre egy TEX forr´as´allom´anyt valamilyen alkalmas editorral (ME, NE, QEDIT stb.)! Ez a f´ajl tartalmazza az elk´esz´ıtend˝o sz¨oveget ´es egy´eb, a vez´erl´est elv´egz˝o makr´okat. Ezekr˝ol az el˝oz˝o fejezetekben r´eszletesebben olvashattunk. T´etelezz¨ uk fel, hogy van egy elso.tex f´ajlunk, amely a k¨ovetkez˝o sorokat tartalmazza! Ebben a f\’ajlban csak k\’et sor van. \bye

Egy .tex a´llom´anyt a tex.exe program seg´ıts´eg´evel ford´ıthatunk le. Ez a k¨ovetkez˝ok´eppen t¨ort´enik: TEX elso.tex

Ennek hat´as´ara a k´eperny˝on a k¨ovetkez˝o inform´aci´o jelenik meg: This is emTeX, Version 3.0 [3a] (no format preloaded) **elso.tex (elso.tex [1] ) Output written on elso.dvi (1 page, 264 bytes). Transcript written on elso.log.

A fenti u ¨ zenet alapj´an l´athatjuk, hogy dokumentumunk csup´an egyetlen oldalb´ol a´ll. A TEX a ford´ıt´as eredm´eny´et az elso.dvi a´llom´anyba ´ırta ki. A TEX [holdalsz´ami ] alakban jelzi, hogy mely oldalakat k´esz´ıtette el. Ha valamelyik oldal elk´esz´ıt´ese sor´an hib´at tal´al a ford´ıt´o, akkor hibajelz´est vagy figyelmeztet´est k¨ uld, ´es az esetek t¨obbs´eg´eben interakt´ıv beavatkoz´ast is lehet˝ov´e tesz. Az elso.dvi a´llom´any mellett m´eg keletkezik egy elso.log a´llom´any is. Ebben az esetben ez a k¨ovetkez˝o tartalm´ u: This is emTeX, Version 3.0 [3a] (preloaded format=plain 92.10.14) 15 APR 1993 21:28 **elso.tex (elso.tex [1] ) Output written on elso.dvi (1 page, 264 bytes).

¨ zmeghajto ´ k bea ´ll´ıta ´sa 3 Az eszko

188 emT X E

Ez az a´llom´any a ford´ıt´assal kapcsolatos inform´aci´okat tartalmazza, amely nagy seg´ıts´eget ny´ ujt a hibakeres´esben ´es -jav´ıt´asban. A .dvi a´llom´any egy speci´alis eszk¨ozf¨ uggetlen a´llom´any. Ezt seg´edprogrammal megtekinthetj¨ uk a k´eperny˝on, vagy kinyomtathatjuk nyomtat´on. Ha a munk´ank eredm´eny´et szeretn´enk a monitoron megtekinteni, akkor a k¨ovetkez˝ok´eppen kell elj´arnunk: V elso.dvi

Ennek a parancsnak az eredm´enye egy grafikus fel¨ ulet megjelen´ese a monitoron, ahol l´athatjuk a dokumentumunk egyetlen oldal´at. Ez a megtekint˝o program egy sokr´et˝ u szolg´altat´ast ny´ ujt´o program. A szolg´altat´asair´ol – hasonl´ok´eppen az emTEX m´as komponenseir˝ol – a k´es˝obbiekben r´eszletesebben fogunk ´ırni. (Az´ert el˝ozetesen azt el´aruljuk, hogy a Q lenyom´as´aval l´ephet¨ unk ki a programb´ol.) Ha els˝o munk´ankat szeretn´enk l´ezernyomtat´on is kinyomtatni, ezt a k¨ovetkez˝o paranccsal tehetj¨ uk meg: PRTHPLJ elso

Ennek hat´as´ara a k´eperny˝on a megszokott form´aj´ uu ¨ zenet jelenik meg: dvihplj -- Version 1.4d -- Copyright (c) 1988-1991 by Eberhard Mattes [1] 3593 bytes of printer memory used

Ennek hat´as´ara egy elso.lj a´llom´any keletkezik, ami az oper´aci´os rendszerb˝ol az emTEX rendszert˝ol f¨ uggetlen¨ ul kinyomtathat´o. Ez p´eld´aul megtehet˝o a k¨ovetkez˝o paranccsal: COPY elso.lj /B PRN

Az elk¨ovetkez˝o fejezetekben a programrendszer egyes komponenseit fogjuk r´eszletesen ismertetni. A programok haszn´alat´ara vonatkoz´o ismeretek mellett a rendszer finom hangol´as´at” lehet˝ov´e tev˝o k¨ornyezeti v´altoz´ok ´es opci´ok ” be´all´ıt´as´ar´ol is fogunk sz´olni.

3. Az eszk¨ ozmeghajt´ ok be´all´ıt´asa Az eszk¨ozmeghajt´ok haszn´alat´ahoz a k¨ovetkez˝o k¨ornyezeti v´altoz´ok be´all´ıt´asa sz¨ uks´eges m´eg: DVIDRVINPUT DVIDRVFONTS DVIDRVGRAPHS

A .dvi f´ajlokat tartalmaz´o k¨onyvt´ar el´er´esi u ´ tja, A fontk¨onyvt´ar (.fli) f´ajlokat tartalmaz´o k¨onyvt´ar el´er´esi u ´ tja, A grafikus a´llom´anyokat tartalmaz´o k¨onyvt´ar el´er´esi u ´ tja.

Ezen k¨ornyezeti v´altoz´ok be´all´ıt´asa sz¨ uks´egtelen, ha az eszk¨ozmeghajt´okat a v.bat, prthplj.bat ´es msplj.bat programok seg´ıts´eg´evel haszn´aljuk. (Az msplj.bat a dvimsp.exe program haszn´ alat´at k¨onny´ıti meg.)

´lata 1 A tex.exe haszna

emTEX 189

II. Ford´ıt´as 1. A tex.exe haszn´alata Az emTEX programcsomag ford´ıt´asra hat programot k´ın´al fel. Ezek a k¨ovetkez˝ok: tex.exe, tex286.exe, texp.exe, btex.exe, btex286.exe ´es btexp.exe. A b” bet˝ uvel kezd˝od˝o programok az u ´ gynevezett bigTEX csal´adba tartoznak, ” amelyek sok makr´odefin´ıci´ot haszn´al´o TEX-´allom´anyok ford´ıt´as´ara szolg´alnak. (Ez´ert a ford´ıt´as lassul´as´aval kell sz´amolnunk.) Azok a programok, amelyeknek neve p” bet˝ ure v´egz˝odik, az OS/2 alatt v´edett m´odban futtathat´ok, ´es ” v´egezet¨ ul amelyeknek neve 286-ra v´egz˝odik, AT286-os vagy ann´al fejlettebb g´epeken futtathat´ok. Mivel napjainkban az XT g´epek helyett szinte mindenhol legal´abb AT286-os g´epeket haszn´alnak, azt javasoljuk, hogy a tex.exe ´es a btex.exe programok t¨orl´ese ut´an a tex286.exe ´es btex286.exe programokat nevezz¨ uk a´t tex.exe ´es btex.exe n´evre. A TEX ford´ıt´o parancssoros alakja∗ a k¨ovetkez˝o: TEX [hopci´ atum-´ allom´ anyi] hinput-f´ ajl i [hopci´ oki] oki] [&h form´

Az opci´okat a - vagy a / jel seg´ıts´eg´evel kell bevezetni. Az opci´ok kis- ´es nagybet˝ us alakjai k¨oz¨ott nincs k¨ ul¨onbs´eg. Az opci´okat megadhatjuk az EMTEXOPT DOS k¨ ornyezeti v´altoz´o seg´ıts´eg´evel is. Ebben az esetben a parancssorban tal´alhat´o opci´ok v´egrehajt´asa el˝ott veszi figyelembe a ford´ıt´o a k¨ornyezeti v´altoz´oban megadottakat. P´eldak´ent, ha a ford´ıt´ast egy batch-program seg´ıts´eg´evel v´egezz¨ uk, akkor ´erdemes a k¨ovetkez˝o sort elhelyezni az autoexec.bat f´ajlban: SET EMTEXOPT=/b

Most n´ezz¨ uk meg, hogy milyen lehet˝os´egeket biztos´ıtanak az opci´ok! 7 A sz¨ oveg´allom´anyt 7-bites a´llom´anyk´ent kezeli. Ezt az opci´ot haszn´alhatjuk r´egebbi sz¨ovegszerkeszt˝ok a´llom´anyainak kezel´es´ehez (WordStar). 8 A sz¨ oveg´allom´anyt 8-bites a´llom´anyk´ent kezeli. Ez az opci´o csak az INITEX opci´ oval haszn´alhat´o egy¨ utt. Ennek sor´an az .fmt f´ajl u ´ gy m´odosul, hogy a TEX k´epes lesz 8-bites a´llom´anyokat is kezelni. (Ez az opci´o u ´ jdons´agot jelent a kor´abbi TEX-verzi´okhoz, p´eld´aul a PCTEX-hez k´epest.) a Automatikus editorind´ıt´ as. Az a opci´o ´es az editor neve k¨oz¨ott : vagy := vagy = jel szerepelhet. c A c opci´ o ´es a f´ajl neve k¨oz¨ott :, := vagy = jel szerepelhet. Ez az opci´o az INITEX-hel haszn´alhat´o egy¨ utt. A f´ajl egy speci´alis form´atum´ u t´abl´azat, amely megadja, hogy a 128–254 k´od´ u karaktereket hogyan ´ertelmezi a ford´ıt´o. Ennek seg´ıts´eg´evel lehet el´erni, hogy a CWI szabv´any´ u karaktereket a TEX automatikusan ´ertelmezni tudja. ∗ A fejezet h´ atral´ev˝ o r´esz´eben a programok parancssoros alakj´ anak megad´ as´ aban a [ ´es a ] jelek az opcionalit´ ast fejezik ki, azaz az a ´ltaluk k¨ ozrez´ art r´eszek elhagyhat´ ok.

´lata 1 A tex.exe haszna

190 emT X E

b d e i m n o r

Batch-¨ uzemm´od A LIM-et nem haszn´alja a ford´ıt´o. B´armilyen hiba eset´en a ford´ıt´as meg´all. INITEX

Mem´oriakioszt´as megad´asa A ford´ıt´asi hib´ak nem okoznak programmegszak´ıt´ast. 8-bites output. Ez az opci´o csak az INITEX-hel egy¨ utt haszn´alhat´o. Alap´ertelmez´esben a TEX az 1–8, 11, 14–31 k´od´ u karaktereket a´tkonvert´alja 127-es k´od´ uv´a, ami ´erv´enytelen karakterk´ent van defini´alva. Ezt az alap´ertelmez´est lehet kikapcsolni ezzel az opci´oval. Csak az INITEX-hel egy¨ utt haszn´alhat´o. s Scroll u ¨ zemm´od Az m opci´ot a k¨ovetkez˝o mem´oriater¨ uletek megad´as´ara lehet haszn´alni: Opci´o mn# mf# mp# ms# mt#

Mem´oriater¨ ulet szemantikai m´eret font mem´oria m´erete pool mem´oria m´erete ment´esi ter¨ ulet m´erete pattern mem´oria m´erete

Lehets´eges ´ert´ekei 20–3000 5000–65500 20000–65500 1000–16000 5000–65500

Alap´ert´ek 40 32766 50000 600 10000

A # jellel egy sz´amot jel¨ol¨ unk, amely a megadott tartom´anyon bel¨ ul van. Ahogy kor´abban eml´ıtett¨ uk, az emTEX-et nyugodtan haszn´alhatjuk 8bites a´llom´anyok ford´ıt´as´ara is. Ezt az teszi lehet˝ov´e, hogy a program a 128–254 k´od´ u karaktereket valamilyen, el˝ore megadott makr´oval helyettes´ıti a ford´ıt´as els˝o menet´eben. Ezzel a lehet˝os´eggel megoldhatjuk azt, hogy a magyar sz¨ovegekben az ´ekezetes bet˝ uket a CWI vagy valamilyen m´as szabv´anynak megfelel˝oen ´ırjuk be, ´es ne ´ekezetes´ıt˝o parancsok seg´ıts´eg´evel. P´eld´aul \’a helyett a m´odos´ıt´as ut´an ´ırhatunk egyszer˝ uen a´-t is. Ehhez k´esz´ıten¨ unk kell egy k¨ot¨ott form´atum´ u f´ajlt, amely azt adja meg, hogy bizonyos karaktereket milyen karakterekkel vagy parancsokkal k´ıv´anunk helyettes´ıteni. Ezen t´abl´azat alapj´an az emTEX u ´ gy fogja m´odos´ıtani a megadott .fmt a´llom´anyt, hogy minden ford´ıt´as el˝ott, egy el˝ofeldolgoz´o elj´ar´asban a 128–254 k´od´ u karaktereket automatikusan helyettes´ıti a megadott karakterekkel vagy parancsokkal. N´ezz¨ unk egy p´eld´at egy ilyen t´abl´azat megad´as´ara! ^^80 ^^81 ^^82 ^^83 ^^84 ^^85 ^^86 ^^87 ^^88 ^^89

-> -> -> -> -> -> -> -> -> ->

\^S \"u \’e \^C \"a \^H \v{u} \^G \^s \^c

^^96 ^^97 ^^98 ^^99 ^^9a ^^9b ^^9c ^^9d ^^a0 ^^a1

-> -> -> -> -> -> -> -> -> ->

\H{u} \’U \H{U} \"O \"U \o{} \pounds{} \O{} \’a \’\i{}

^^c7 ^^d2 ^^d3 ^^d4 ^^d6 ^^d7 ^^d8 ^^de ^^e0 ^^e1

-> -> -> -> -> -> -> -> -> ->

\ A \^E \"E \‘E \’I \^I \"I \‘I \’O \ss{}

´lata 1 A tex.exe haszna

^^8a ^^8b ^^8c ^^8d ^^8e ^^8f ^^90 ^^91 ^^92 ^^93 ^^94 ^^95

-> -> -> -> -> -> -> -> -> -> -> ->

\^h \v{U} \^g \’I \"A \’A \’E \ss{} \AE{} \H{o} \"o \’O

emTEX 191

^^a2 ^^a3 ^^a4 ^^a5 ^^a6 ^^a7 ^^b5 ^^b6 ^^b7 ^^b8 ^^bd ^^c6

-> -> -> -> -> -> -> -> -> -> -> ->

\’o \’u \ n \ N \b{a} \H{O} \’A \^A \‘A \copyright{} \hbox{\rm\rlap/c} \~a

^^e2 ^^e3 ^^e4 ^^e5 ^^e9 ^^ea ^^eb ^^ec ^^ed ^^f4 ^^f5

-> -> -> -> -> -> -> -> -> -> ->

\H{O} \‘O \ o \ O \’U \H{U} \‘U \’y \’Y \P{} \S{}

Ezt az a´llom´anyt k¨onnyen l´etrehozhatjuk tetsz˝oleges sz¨ovegszerkeszt˝ovel. Az elv nagyon egyszer˝ u. A kicser´elend˝o karakter k´odja szerepel k´et darab ^ jel ut´ an hexadecim´alis alakban. Ezt sz´ok¨oz, -> ´es u ´ jra sz´ok¨oz k¨oveti, amely ut´an a helyettes´ıt´est adhatjuk meg. Az a´llom´any minden sora egyetlen k´odot ´ır le. (Itt csak a kisebb helyfoglal´as miatt haszn´altuk a h´arom oszlopos megjelen´ıt´est.) A fenti t´abl´azat a teljes magyar karakterk´eszlet bevitel´et egyszer˝ us´ıti le a fentebb eml´ıtett m´odon. T´etelezz¨ uk fel, hogy ez az a´llom´any rendelkez´es¨ unkre a´ll magyar.txt n´even! Ezt a k¨ovetkez˝o paranccsal le kell ford´ıtani: MAKETCP -c magyar.txt magyar.tcp

Ennek hat´as´ara keletkezik egy magyar.tcp a´llom´any, amely az u ´ gynevezett TEX Code Page a ´llom´any. (Megeml´ıtj¨ uk, hogy a fenti parancsban c opci´o helyett d opci´ot alkalmazva egy kor´abban leford´ıtott a´llom´anyt tudunk visszaford´ıtani sz¨oveges f´ajll´a.) Ezek ut´an, ha valamelyik form´atum-´allom´anyt szeretn´enk a´talak´ıtani oly m´odon, hogy ezen t´abl´azat a´ltal le´ırt cser´eket t´amogassa, akkor a k¨ovetkez˝o m´odon kell inicializ´alnunk a TEX-et. P´eld´aul a plain.fmt m´odos´ıt´as´at a k¨ovetkez˝ok´eppen v´egezhetj¨ uk el: TEX -i -c:magyar plain -o \dump

A parancs v´egrehajt´asa ut´an egy plain.fmt f´ajl j¨on l´etre, amely a magyar.tcp a ´ltal meghat´arozott automatikus karaktercser´eket t´amogatja. Ez a lehet˝os´eg bizonyos ´ertelemben korl´atozza a TEX a´llom´anyok hordozhat´os´ag´at, ugyanis mindenki u ´ gy b´anik a fels˝o 127 karakterrel, ahogy j´onak l´atja. Rendelkez´es¨ unkre a´ll egy olyan seg´edprogram, amelynek seg´ıts´eg´evel ezeket a cser´eket egy .tex a´llom´anyon mindk´et ir´anyban el tudjuk v´egezni. Ez a texconv.exe program. A parancssoros alakja a k¨ovetkez˝o: TEXCONV hopci´ oi htcp-f´ ajl i [hinput-f´ ajl i [houtput-f´ ajl i]]

Az opci´o a vagy e lehet. Az els˝o esetben a b˝ov´ıtett ASCII k´od´ u karaktereket helyettes´ıti a megfelel˝o karakterekkel vagy makr´okkal. A m´asodik esetben ennek a ford´ıtottj´at v´egzi el. P´eldak´ent oldjuk meg azt a probl´em´at, hogy egy TEX a´llom´anyt szeretn´enk elk¨ uldeni egy ismer˝os¨ unknek, aki m´as kioszt´asban haszn´alja a b˝ov´ıtett karakterk´eszletet! Az a´llom´anyunk neve

192 emT X E

´lata 1 A tex.exe haszna

elso.tex, a kioszt´ ast pedig a magyar.tcp a´llom´anyban t´aroljuk.

Ekkor a k¨ovetkez˝o parancs seg´ıts´eg´evel olyan f´ajlt kapunk, amely az o˝ rendszer´en is hib´atlanul fog m˝ uk¨odni: TEXCONV -a magyar.tcp elso.tex kimenet.tex

Ha a tex.exe program parancssoros alakj´aban el´er´esi utat kell megadnunk, akkor a \ jelek el˝ofordul´as´at a / jellel kell helyettes´ıten¨ unk. Ha a ford´ıt´oprogram hib´at tal´al a ford´ıt´as sor´an, akkor a´tkapcsol beviteli m´odba. Ebben az u ¨ zemm´odban lehet˝os´eg¨ unk van arra, hogy az E parancs seg´ıts´eg´evel egy editort ind´ıthassunk el. Ebben az EMTEXED k¨ornyezeti v´altoz´o seg´ıts´eg´evel kell meghat´aroznunk az editor nev´et ´es azt, hogy a sz¨ uks´eges inform´aci´okat hogyan vegye a´t a ford´ıt´ot´ol. A %1 a hib´as sor sorsz´am´at, a %2 a .tex, a %3 a .log f´ ajlt jel¨oli. Ha m´ask´eppen nem hat´arozunk, akkor a param´eter´atad´as %1, %2, %3 alakban t¨ort´enik meg. N´ezz¨ unk egy p´eld´at! Az EMTEXED k¨ornyezeti v´altoz´o ´ert´eke legyen a k¨ovetkez˝o! SET EMTEXED =C:\QEDIT\Q %%2 -n%%1

A ford´ıt´ast a texed.bat batch-´allom´any seg´ıts´eg´evel v´egezve – amelynek tartalma lent l´athat´o – lehet˝ov´e v´alik az editor h´ıv´asa a hib´as sorra val´o poz´ıcion´al´assal egy¨ utt. @echo off if exist C:\TMP\texed2.bat del C:\TMP\texed2.bat TEX /a=C:\TMP\texed2.bat %1 %2 %3 %4 %5 %6 %7 %8 %9 if exist C:\TMP\texed2.bat call C:\TMP\texed2.bat

Ez a batch-program l´etrehoz egy texed2.bat f´ajlt, amelybe lehelyez´esre ker¨ ul az EMTEXED a´ltal meghat´arozott editor neve ´es a sz¨ uks´eges param´eterek. A k¨ornyezeti v´altoz´o megad´asa sor´an a %% jel arra utal, hogy a % jel is lehelyez´esre ker¨ ul. Ha a TEX ford´ıt´ot batch-programban akarjuk haszn´alni, akkor tudnunk kell arr´ol, hogy a k¨ovetkez˝o hibak´odokat haszn´alja: 0 1 2 3

eredm´enyes fut´as, figyelmeztet´es, hiba vagy programmegszak´ıt´as, bels˝o hiba.

Ha a ford´ıt´o megh´ıv´asakor nem adunk meg form´atum-´allom´anyt, akkor automatikusan a plain.fmt-t haszn´alja a program. Ha m´as form´atumot akarunk haszn´alni, akkor annak explicite szerepelnie kell a parancssorban. Ezek a form´atum-´allom´anyok hat´arozz´ak meg t¨obbek k¨oz¨ott az elv´alaszt´asi szab´alyokat ´es a kiegyenl´ıt´es k´ep´et is. Van k´et form´atum-f´ajl speci´alisan a n´emet nyelv kezel´es´ehez. Ez a plaing.fmt illetve az lplaing.fmt a PLAIN illetve LaTEX haszn´al´ok sz´am´ara. A magyar sz¨oveg szed´es´ehez ezeket aj´anljuk, ugyanis a n´emet elv´alaszt´as ´es kiegyenl´ıt´es jobban k¨ozel´ıti a magyart, mint az angol. A TEX a´ltal l´etrehozott ideiglenes a´llom´anyok hely´et a TMP k¨ornyezeti v´altoz´o seg´ıts´eg´evel hat´arozhatjuk meg.

´lata 1.1. A program interakt´ıv haszna

emTEX 193

III. Megtekint´es 1. A dviscr.exe haszn´alata 1.1. A program interakt´ıv haszn´alata A kor´abbiakban azt l´attuk, hogy egy .dvi f´ajlt a v.bat seg´ıts´eg´evel n´ezhet¨ unk meg. Val´oj´aban ez egy olyan batch-program, amely a dviscr.exe programot h´ıvja meg. Ebben a fejezetben ismertetni szeretn´enk a dviscr.exe billenty˝ ukombin´aci´oit, amelyek a dokumentum interakt´ıv megtekint´es´et seg´ıtik el˝o. [Ctrl]+[C] vagy [Q] [←] [→] [↑] [↓] [4] [6] [8] [2] vagy [Space] [Home] [7] [1] vagy [End] [PgUp] vagy [9] [PgDn] vagy [3] [Ctrl]+[←] [Ctrl]+[→] [Ctrl]+[PgUp] [Ctrl]+[PgDn] [I] [D] [H] [F]

Kil´ep´es a programb´ol. Balra mozgatja az ablakot a k´eperny˝o sz´eless´eg´enek fel´evel. Jobbra mozgatja az ablakot a k´eperny˝o sz´eless´eg´enek fel´evel. Felfel´e mozgatja az ablakot a k´eperny˝o magass´ag´anak fel´evel. Lefel´e mozgatja az ablakot a k´eperny˝o magass´ag´anak fel´evel. Elmozgatja az ablakot balra a k´eperny˝o sz´eless´eg´evel. Elmozgatja az ablakot jobbra a k´eperny˝o sz´eless´eg´evel. Elmozgatja az ablakot felfel´e a k´eperny˝o magass´ag´aval. Elmozgatja az ablakot lefel´e a k´eperny˝o magass´ag´aval. Ugr´as a [H] a´ltal defini´alt kezd˝opoz´ıci´ora. Elmozgatja az ablakot a dokumentum bal fels˝o sark´aba. Elmozgatja az ablakot a dokumentum bal als´o sark´aba. Lapoz´as az el˝oz˝o oldalra.

Lapoz´as a k¨ovetkez˝o oldalra. Az ablakot elmozgatja a lap bal sz´el´ehez. Az ablakot elmozgatja a lap jobb sz´el´ehez. Ugr´as az els˝o oldalra. Ugr´as az utols´o oldalra. A k´ep invert´al´asa. A k´eperny˝o friss´ıt´ese. Az aktu´alis poz´ıci´o kijel¨ol´ese kezd˝opoz´ıci´ov´a. A nyilak seg´ıts´eg´evel t¨ort´en˝o mozg´as nagys´ag´at cs¨okkenti. Eredm´enyek´ent a nyilak seg´ıts´eg´evel kisebb l´ept´ekben mozgathatjuk ¨ az ablakot a lapon. Osszesen hat fokozata van. [C] A nyilak seg´ıts´ eg´evel t¨ort´en˝o mozg´as nagys´ag´at n¨oveli. Eredm´enyek´ent a nyilak seg´ıts´eg´evel nagyobb l´ept´ekben mozgathatjuk ¨ az ablakot a lapon. Osszesen hat fokozata van. [G] Ugr´ as a megadott sorsz´am´ u oldalra.

194 emT X E

´lata 1 A dviscr.exe haszna

[O] Visszat´ er´es az el˝oz˝o k´eperny˝o oldalra. A [G], a [P], az [S] a [Ctrl]+[PgUp] vagy a [Ctrl]+[PgDn] ut´ an haszn´alhat´o. Az esz-

[P]

[R] [Ctrl]+[R] [S]

[W]

[U]

[+] [-] [Alt]+[G]

[Alt]+[S]

[T]

[K]

k¨ozmeghajt´o az utols´o 20 oldalt tartja nyilv´an. Megjelen´ıt´es sor´an a vonalz´o a´ltal megjel¨olt poz´ıci´o ker¨ ul k¨oz´epre. Ugr´as megadott oldalsz´am´ u oldalra. Az oldalsz´am tartalmazhat a k´es˝obb eml´ıt´esre ker¨ ul˝o form´aban * karaktert is. P´eld´aul: 1.*.5 . A vonalz´o be- illetve kikapcsol´asa a k´eperny˝on. A vonalz´o sk´al´aj´anak ki- illetve bekapcsol´asa. Sz¨oveg keres´ese. A keres´es az aktu´alis oldal ut´ani oldalon kezd˝odik. Ha a f´ajl v´eg´eig sikertelen a keres´es, akkor az els˝o oldalt´ol az aktu´alis oldalig folytatja. A keres´est az [Esc] billenty˝ u megnyom´as´aval lehet megszak´ıtani. Ha a promptn´al nem adunk meg sz¨oveget, akkor a kor´abbi keres´est ism´etli meg. A keres´es megk¨ ul¨onb¨ozteti a kis- ´es nagybet˝ uket, azonban a sz´ok¨oz¨oket ´es k¨ot˝ojeleket nem veszi figyelembe, tov´abb´a a TEX paranccsal megjelen´ıthet˝o karaktereit nem tudjuk ilyen m´odon megkeresni. Eredm´enyes keres´es eset´en a vonalz´o a keresett sz¨oveg els˝o karakter´enek referenciapontj´ara helyez˝odik. A kurzormozgat´o billenty˝ uk hat´as´at a´ll´ıtja be. A vonalz´o bekapcsol´asa ut´an a kurzormozgat´o billenty˝ uk a vonalz´ot mozgatj´ak. Bekapcsol´asa eset´en a vonalz´ot a [Ctrl]+[←], a [Ctrl]+[→], a [Home] ´es az [End] billenty˝ uk seg´ıts´eg´evel mozgathatjuk. Az [F] ´ es a [C] hat´asai is megv´altoznak. A felhaszn´alt m´ert´ekegys´eg cser´eje egy z´art rendszerben. Az [U] seg´ıts´eg´evel el˝ore, a [Ctrl]+[U]-val pedig visszafel´e haladhatunk a list´aban. Ez a m´ert´ekegys´eg a st´atusz sorban ´es a vonalz´oban ker¨ ul felhaszn´al´asra. Nagy´ıt´as Kicsiny´ıt´es A sz¨ urkes´egi fokozatok be´all´ıt´asa. K´et sz´amjegyet adhatunk meg v´alaszk´ent az 1, . . . ,8 tartom´anyb´ol. Ez az ox# ´es oy# opci´okkal (l´ asd III.1.2.9. Tov´abbi opci´ok, konfigur´aci´os a´llom´any) ekvivalens. Ugyanaz, mint a kor´abbiakban, csak ez a lap m´eret´et a´ll´ıtja be. Ez az sx# ´es sy# opci´oknak (l´ asd III.1.2.9. Tov´abbi opci´ok, konfigur´aci´os a´llom´any) felel meg. Transzform´aci´o megad´asa. R´eszletesebben l´asd a tr# opci´o le´ır´as´an´al (l´ asd III.1.2.3. T¨ uk¨orm´eretre vonatkoz´o opci´ok). A megfelel˝o sz´amot kell csak megadni. Koordin´ata-transzform´aci´o bekapcsol´asa. Ha a lap a k´eperny˝on a´tesett valamilyen transzform´aci´on, akkor a kurzormozgat´o billenty˝ uk hat´asa is a´tesik a megfelel˝o transzform´aci´on.

Adatbevitel eset´en, ha a st´atusz sor be van kapcsolva, akkor a [Backspace] ´es a [←] billenty˝ uk seg´ıts´eg´evel jav´ıthatunk, az [Esc]-pel pedig megszak´ıthatjuk a bevitelt. A bevitelt az [Enter]-rel kell lez´arni.

´ll´ıta ´sa 1.2. A program bea

emTEX 195

Ha nincsen bekapcsolva a st´atusz sor (os#), akkor hangjelz´esek t´aj´ekoztatnak arr´ol, hogy elkezd˝od¨ott illetve befejez˝od¨ott az adatbevitel. A st´atusz sor a k¨ovetkez˝o inform´aci´okat tartalmazza: – A st´atusz sorban az R bet˝ u azt jelenti, hogy a kurzormozgat´o billenty˝ uk a vonalz´ot mozgatj´ak, a W pedig azt jelenti, hogy a k´eperny˝on l´athat´o lap mozog. – Gxy ´es Sxy alakban l´athat´o, hogy az ox#, oy#, sx# ´es sy# milyen ´ert´ekeket kapott. – K¨oz´epen megjelenik a megjelen´ıtend˝o lapok k¨oz¨ ul az adott lap sorsz´ama ´es az oldalsz´am is. – L´athat´ok az ablak bal fels˝o sark´anak koordin´at´ai, amelyek alap´ertelmez´esben x=0pt y=0pt ´ert´ek˝ uek. Ezt a kijelz´est m´odos´ıthatj´ak a transzform´aci´ok, m´ert´ekegys´eg be´all´ıt´asok ´es a vonalz´o be- ´es kikapcsolt volta. – A * jelzi, hogy valamilyen folyamat v´egrehajt´as alatt a´ll.

1.2. A program be´all´ıt´asa A kor´abbiakban azt l´attuk, hogy az elk´esz´ıtett .dvi f´ajlt a v.bat program seg´ıts´eg´evel n´ezhetj¨ uk meg. Val´oj´aban ez egy olyan batch-program, amely a dviscr.exe programot h´ıvja meg a megfelelel˝ o opci´okkal, melynek parancssoros alakja a k¨ovetkez˝o: DVISCR [hopci´ oki ] hinput-f´ ajl i [hopci´ oki]

Ha elmulasztottuk az opci´okat vagy az input-f´ajl nev´et megadni, a program lehet˝os´eget biztos´ıt ezek p´otl´as´ara interakt´ıv bevitel form´aj´aban. Ha az opci´okra val´o r´ak´erdez´es sor´an egyszer˝ uen [Enter]-t nyomunk, a program az opci´ok alap´ert´ekeit fogja haszn´alni. Azonban az input-f´ajl nevek´ent egy l´etez˝o f´ajl nev´et kell magadnunk. A k¨ovetkez˝okben r´eszletesen ismertetj¨ uk az egyes opci´okat ´es azok hat´as´at. A DVISCR /? parancs hat´as´ara a program ki´ırja a legfontosabb opci´okat ´es alap´ertelmezett ´ert´ek¨ uket: dviscr -- Version 1.4d -- Copyright (c) 1988-1990 by Eberhard Mattes Usage: DVISCR [options] input file [options] /? Show options /?? Show all options /v# Verbosity level [2] /m# Override magnification [-] /l# Left margin [1in] /t# Top margin [1in] /z+ Last page first [off] /2* Two-sided printing [-] /b* Begin page [*] /e* End page [*] /n# Number of pages [-] /k# Skip pages [-] /tr# Transformation [0] /fb Batch mode [off] /fc Change mode [off] /hx# Left margin for display [1in] /hy# Top margin for display [1in] /White black [off] /+ Black on white [on] /s# Scaling [1] /o# Gray pixel size

Ha tov´abbi opci´okra vagyunk k´ıv´ancsiak, a DVISCR /?? parancs hat´as´ara a program minden opci´ot ki´ır a k´eperny˝ore.

196 emT X E

´lata 1 A dviscr.exe haszna

Egy speci´alis opci´o a // . Ha ezt haszn´aljuk, a program megk´erdezi a tov´abbi opci´okat. Ezt akkor haszn´aljuk, ha az opci´ok megad´as´ahoz hosszabb sor kell, mint amit a DOS megenged. A leggyakrabban haszn´alt opci´okat megadhatjuk egy u ´ n. opci´o-f´ajlban is. A tov´abbiakban r´eszletesen ismertetj¨ uk a haszn´alhat´o opci´okat. A le´ır´as sor´an a k¨ovetkez˝o jel¨ol´eseket fogjuk haszn´alni: # Egy sz´ am m´ert´ekegys´eggel vagy m´ert´ekegys´eg n´elk¨ ul. + Ez azt jelenti, hogy az opci´ o egy kapcsol´o, amely a - jel seg´ıts´eg´evel kikapcsolhat´o, a + seg´ıts´eg´evel pedig bekapcsolhat´o. * Egy´ eb argumentumot jel¨ol. Egy opci´o ´es argumentuma k¨oz¨ott nem lehet u ¨ res hely, de a j´ol megszokott :, := vagy = jelek szerepelhetnek k¨oz¨ott¨ uk. P´eld´aul: /t:=5mm. Minden opci´o vagy / jellel vagy - jellel kezd˝odik. E jelek ut´an a program tudja, hogy opci´o vagy opci´ok egy sorozata k¨ovetkezik. Abban az esetben viszont, ha elmulasztottuk az opci´okat megadni a parancssorban, ´es a program fut´asa alatt vissz¨ uk be azokat, akkor / illetve - jeleket nem kell haszn´alni. Az opci´ok k¨oz¨ott lehetnek sz´ok¨oz¨ok.

¨ ´ OPCIOK ´ 1.2.1. UZENETEKET ADO ? R¨ ovid inform´aci´os k´eperny˝o a leggyakrabban haszn´alt opci´okr´ol. ?? Teljes inform´ aci´os k´eperny˝o az o¨sszes opci´or´ol. c? A cx# ´ es cy# opci´ok a´ltal be´all´ıthat´o ´ert´ekekr˝ol. ad inform´aci´ot. Alap´ertelmez´es ci=0 cx=0in cy=0in. v# Hiba´ erz´ekenys´eg be´all´ıt´asa. ˝ OPCIOK ´ 1.2.2. LAPKEZELO A k¨ovetkez˝o opci´ok kiv´alasztj´ak a kinyomtatand´o lapokat. Nem v´eletlen¨ ul besz´el¨ unk lapokr´ol oldalak helyett. Itt j´ol jegyezz¨ uk meg, hogy k´et k¨ ul¨onb¨oz˝o fogalmat haszn´alunk: ezek az oldal ´es a lap! Oldalon azt az oldalt ´ertj¨ uk, amely a TEX-hel val´o ford´ıt´as ut´an j¨on l´etre, azaz DVI oldal, a lap pedig egy fizikai pap´ırlap, amelyre ak´ar t¨obb DVI oldalt is r´a lehet nyomtatni. b* Az els˝ o megjelen´ıtend˝o lap. Maxim´alisan 10 sz´amot lehet megadni egy-egy ponttal elv´alasztva. Ezek rendre a \count0, \count1,...,\count9 regiszterekbe ker¨ ulnek a´t. Ezen regiszterek haszn´alat´aval el´erhetj¨ uk, hogy fejezet, alfejezet vagy egy´eb strukt´ ura szerinti megtekint´est is meg tudjunk adni. Ha valahol szerepel egy csillag karakter, az egy adott poz´ıci´on tetsz´es szerinti sz´amot, illetve abban az esetben, ha ez az utols´o a megad´asban, akkor az o¨sszes hi´anyz´o h´atral´ev˝o sz´amot helyettes´ıti. e* Az utols´ o megjelen´ıtend˝o lap. A param´eterez´ese ugyanolyan, mint a b opci´o´e. Ez az opci´o ´es a b opci´o egy¨ utt alkalmas arra, hogy az a´llom´anyunk egy adott r´eszlet´et tekints¨ uk meg. 2* P´ aros illetve p´aratlan sorsz´am´ u lapok megtekint´ese. Ezzel az opci´oval k´et menetben lehet egy adott a´llom´anyt megtekinteni. A p´aratlan oldalakat a 2o, a p´arosakat a 2e opci´o seg´ıts´eg´evel.

¨ ko ¨ rm´ ´ opcio ´k 1.2.3. Tu eretre vonatkozo

emTEX 197

k# Azon lapok darabsz´ ama, amelyek a f´ajl elej´en helyezkednek el, ´es nem

akarjuk megjelen´ıteni. Alap´ert´eke nulla. n# Megjelen´ıt´ esre ker¨ ul˝o lapok darabsz´ama z+ Ezen kapcsol´ o bekapcsolt a´llapota az a´llom´any ford´ıtott sorrendben

t¨ort´en˝o megjelen´ıt´es´et teszi lehet˝ov´e. Alap´ertelmez´es a kikapcsolt a´llapot. Miel˝ott a tov´abbi opci´okat ismertetn´enk, k´et p´eld´aval szeml´eltetj¨ uk az eddigiek haszn´alat´at ´es hat´as´at: V proba /2e /b4 /e10

Ennek hat´as´ara a k´eperny˝on megtekinthetj¨ uk a proba.dvi a´llom´any [4], [6], [8] ´ es [10] oldal´at. V proba /k3 /2o /e10

Ennek hat´as´ara a k´eperny˝on megtekinthetj¨ uk a proba.dvi a´llom´any [7] ´es [9] oldal´at.

¨ ORM ¨ ´ ´ OPCIOK ´ 1.2.3. TUK ERETRE VONATKOZO A k¨ovetkez˝o opci´ok a lap t¨ uk¨orm´eret´et adj´ak meg. Itt nem az oldalak t¨ uk¨orm´eret´er˝ol van sz´o. Egyszer˝ uen u ´ gy k´epzelhetj¨ uk el, mint az oldalak lev´ag´as´at. A lev´ag´as ut´an hi´anyozhatnak sz¨ovegr´eszek a DVI oldalakb´ol. h# A megjelen´ıtend˝ o t¨ uk¨orm´eret magass´aga w# A megjelen´ıtend˝ o t¨ uk¨orm´eret sz´eless´ege l# Bal oldali marg´ o be´all´ıt´asa. Ha a param´eter pozit´ıv, akkor a fizikai lapsz´elhez k´epest jobbra helyezi el az u ´ j marg´ot. Negat´ıv ´ert´ek eset´en ´ertelemszer˝ uen a megadott m´ert´ekegys´egnek megfelel˝oen balra helyezi el az u ´ j marg´ot. Alap´ertelmez´ese 1 inch. la# A bal marg´ o igaz´ıt´asa. Ha az /l0/la0 opci´okat haszn´aljuk, akkor a kinyomtatand´o oldal a lap bal sz´el´en a´ll. Az la# opci´o felhaszn´al´as´aval az /l opci´oval be´all´ıtott v´ızszintes eltol´asi m´ert´eket finom´ıthatjuk. Pontosabban megfogalmazva: az l=hdimenzi´o1 i ´es az la=hdimenzi´o2 i m´odon megadott opci´ok hat´as´ara a kinyomtatand´o oldal a lap bal sz´el´et˝ol hdimenzi´ o1 i −hdimenzi´ o2 i m´ ert´ekkel jobbra tol´odik el. Ennek az opci´onak az alap´ert´eke f¨ ugg a grafikus meghajt´ot´ol. Itt vegy¨ uk figyelembe, hogy a nyomtat´o be´all´ıt´as´at´ol ill. be´all´ıthat´os´ag´at´ol f¨ ugg˝oen egy cs´ık maradhat a lap bal sz´el´en, melyre a nyomtat´o nem k´epes nyomtatni! Az emTEX programcsomagban tal´alhat´o adjust.dvi f´ ajlt az /l0/la0 opci´okkal nyomtassuk ki! A kinyomtatott lapon egy fekete t´eglalap jelenik meg. A fekete t´eglalapt´ol balra es˝o cs´ıkra m´ar nem lehet nyomtatni. A lap bal sz´el´enek a fekete t´eglalapt´ol val´o t´avols´ag´ab´ol vonjunk le az 1 inch-et. Ezt az eredm´enyt haszn´alva az la# opci´o param´eterek´ent kapjuk a pontos marg´obe´all´ıt´ast. t# Fels˝ o marg´o be´all´ıt´asa. Az ´ertelmez´ese hasonl´o, mint az l#-´e. ta# Fels˝ o marg´o igaz´ıt´asa. Az ´ertelmez´ese hasonl´o, mint az la# opci´o´e.

´lata 1 A dviscr.exe haszna

198 emT X E

tr# Transzform´ aci´ok. Forgat´as ´es/vagy t¨ ukr¨oz´es. A DVISCR al´abbi transz-

form´aci´okat tudja v´egrehajtani az eredeti k´epen: 0 helybenhagy´as, 1 90◦ -os forgat´as az o´ramutat´o j´ar´as´aval ellent´etes ir´anyba, 2 forgat´as 180◦ -kal, 3 forgat´as 270◦ -kal az o´ramutat´o j´ar´as´aval ellent´etes ir´anyba, 4 t¨ ukr¨oz´es a f˝oa´tl´ora, 5 t¨ ukr¨oz´es a f¨ ugg˝oleges tengelyre, 6 t¨ ukr¨oz´es a mell´ek´atl´ora, 7 t¨ ukr¨oz´es a v´ızszintes tengelyre. Illusztr´aci´ok´ent tekints¨ uk a k¨ovetkez˝o a´br´at, amelyen l´athat´o az egyes transzform´aci´ok hat´asa!

tr0

tr1

tr2

tr3

tr7

tr4

tr5

tr6

¨ ´ 1.2.4. TOBBOLDALAS NYOMTATAS Lehet˝os´eg van t¨obb oldal egy lapon t¨ort´en˝o megjelen´ıt´es´ere. A k¨ovetkez˝o opci´ok ezt a c´elt szolg´alj´ak. cf# Az elhelyez´ esi index kezd˝o´ert´eke (alap´ertelmez´es 1). Az index ´ert´eke minden egyes oldal ut´an eggyel n¨ovekszik. cp# Az elhelyez´ esi index v´eg´ert´eke. Amikor az elhelyez´esi index el´eri a v´eg´ert´eket, akkor automatikusan vissza´all´ıt´odik 1-re. ci# Kiv´ alasztja a cx# ´es cy# ´ert´ekek k¨oz¨ ul a megfelel˝ot. Ez tulajdonk´eppen egy szelektor opci´o, amely akkor engedi ´erv´enyes¨ ulni a k¨ozvetlen¨ ul m¨og¨otte a´ll´o cx# ´es cy# opci´okat, ha az elhelyez´esi index ´ert´eke megegyezik a ci#-ben szerepl˝o param´eterrel. cx# V´ızszintes eltol´ asi ´ert´ek megad´asa. Ha az elhelyez´esi index megegyezik ezen cx# el˝ott elhelyezked˝o ci# opci´oban szerepl˝o param´eter ´ert´ek´evel, akkor v´egrehajtja ezt a v´ızszintes eltol´ast. cy# F¨ ugg˝oleges eltol´asi ´ert´ek, hasonl´o, mint a cx#.

´s ´ ´s 1.2.6. Nagy´ıta es felbonta

emTEX 199

Egy oldal egy lapra t¨ort´en˝o kinyomtat´as´ahoz el´eg egy pontot megadni a lapon. Egy pont teh´at egy poz´ıci´ot jelent a lapon, amely a kinyomtatand´o oldal bal fels˝o sarka lesz. Annyi poz´ıci´ot kell megadni, ah´any oldalt akarunk kinyomtatni egy lapra. Tulajdonk´eppen t¨obb oldal egy lapra val´o kinyomtat´asa annyit jelent, hogy az egym´asut´ani DVI oldalakat megfelel˝o poz´ıci´okra rakjuk. Egy pontot egy koordin´atap´arral adhatunk meg. A poz´ıci´ok megad´as´ara szolg´alnak a ci# cx# cy# opci´ok. Itt ci# a poz´ıci´o sorsz´ama, a cx# ´es cy# pedig annak koordin´at´ai. Maxim´alisan 16 oldalt lehet kinyomtatni egy pap´ırlapra. T¨obb oldal egy lapra t¨ort´en˝o nyomtat´as´an´al az elhelyez´esi indexnek igen fontos ´ szerepe van. Az index minden ´ert´eke egy-egy poz´ıci´onak felel meg. Ugy tekinthetj¨ uk az indexet, mint az oldal index´et: arra a poz´ıci´ora fog ker¨ ulni az oldal, amelynek a sorsz´ama megegyezik az oldal index´evel.

´ 1.2.5. FONT OPCIOK fb Batch-¨ uzemm´od. Ha egy fontot nem tal´al meg a bet¨olt´es sor´an, akkor megpr´ob´alja az 1000-es nagy´ıt´as´at megtal´alni ´es azt bet¨olteni. Ha azt sem tal´alja meg, akkor megpr´ob´alja a cmr10-et a megadott m´eretben bet¨olteni. Ha ez sem lehets´eges, akkor a cmr10-et fogja haszn´alni 1000es nagy´ıt´asban. Ha ez is eredm´enytelen, akkor a program fut´asa megszakad. A grafikus a´llom´any hi´anya is a programfut´as megszakad´as´at okozza. fc Miel˝ ott egy fontot vagy grafikus a´llom´anyt bet¨olt, a f´ajl neve kicser´elhet˝o. fi Interakt´ıv u ¨ zemm´od. (Alap´ertelmez´es.) Ha egy fontot vagy grafikus a´llom´anyt nem tal´al, akkor megk´erdezi a felhaszn´al´ot, hogy hol ´es milyen n´even tal´alhat´o a hi´anyz´o a´llom´any. fl# Font bet¨ olt´esi hat´ar. Az eszk¨ozmeghajt´o minden haszn´alt fontnak a param´etereit beolvassa, ami nem l´epheti t´ ul ezen opci´oban meghat´arozott mem´oriakapacit´ast. Ha -1-et adunk meg mem´oriam´eretk´ent, akkor csak azokat a fontokat olvassa be, amelyek felt´etlen¨ ul fontosak. fs# Fontsk´ al´az´as. Az ´ert´eknek 1 ´es 8 k¨oz´e kell esnie. A megjelen´ıt´esre ker¨ ul˝o karakterek m´eret´et befoly´asolja. L´enyeg´eben az t¨ort´enik, hogy egy fsx# sz´eless´eg˝ u, fsy# magass´ag´ u t´eglalap egy ponttal helyettes´ıt˝odik. Ha ez egy n´egyzet, akkor csak az fs# opci´ot kell megadni. fsx# Fontsk´ al´az´as be´all´ıt´asa. Csak a v´ızszintes m´eretet a´ll´ıtja be. fsy# Fontsk´ al´az´as be´all´ıt´asa. Csak a f¨ ugg˝oleges m´eretet a´ll´ıtja be. ´ ES ´ FELBONTAS ´ 1.2.6. NAGY´ITAS m# Nagy´ıt´ asi m´ert´ek a .dvi f´ajlra. A m´ert´eknek 1000 ´es 16 000 k¨oz´e kell esnie. Az 1000 jelenti a norm´al m´eretet. A leggyakrabban haszn´alt nagy´ıt´asi m´ert´ekekre a h, 0, . . . , 5 szimb´olumokat is haszn´alhatjuk, amelyek a \magstephalf, \magstep0, \magstep1 . . . stb. nagy´ıt´asokat ´ jelentik. Ujra hangs´ ulyozzuk, hogy az ´ıgy megadott nagy´ıt´asi m´ert´ekek sem b´ır´alj´ak fel¨ ul a f´ajlban megadottakat, hanem hozz´ajuk ad´odnak.

200 emT X E

´lata 1 A dviscr.exe haszna

r# A DVISCR felbont´ as´at a´ll´ıtja be. Alap´ertelmez´es a 300 dpi. Ezzel egy-

idej˝ uleg a´ll´ıthatjuk be a v´ızszintes ´es f¨ ugg˝oleges felbont´as m´er˝osz´am´at. rx# A DVISCR v´ızszintes felbont´ asi egy¨ utthat´oj´at a´ll´ıtja be. ry# A DVISCR f¨ ugg˝oleges felbont´asi egy¨ utthat´oj´at a´ll´ıtja be. rf# Be´ all´ıtja a fontok felbont´asi m´ert´ek´et. Az argumentum dpi-ben ´ertend˝o. Ha az rf# hi´anyzik, akkor az r# opci´oval o¨sszhangban t¨olti be a

fontokat. rg# Be´ all´ıtja a grafikus a´llom´anyok felbont´asi m´ert´ek´et. Az argumentum dpi-ben ´ertend˝o. Ha az rg# opci´o hi´anyzik, akkor a felbont´as m´ert´ek´et az r# opci´o hat´arozza meg.

¨ ´ ´ FONTNEVEKRE VONATKOZO ´ OPCIOK ´ 1.2.7. ALKONYVT ARAKRA ES p@* Ezzel az opci´ oval meghat´arozhatjuk, hogy az opci´o-f´ajlt – ezt gyakran konfigur´aci´os a´llom´anynak nevezik – hol keresse a DVISCR. Ha ezen a helyen nem tal´alja, akkor az oper´aci´os rendszerben be´all´ıtott PATH-t haszn´alja fel. Alap´ertelmez´es az \EMTEX\TEXINPUT k¨onyvt´ar. Ha t¨obb k¨onyvt´arat akarunk megadni, akkor az egyes u ´ tvonalakat pontosveszsz˝ovel kell elv´alasztani egym´ast´ol. pd* Ezzel az opci´ oval adhatjuk meg, hogy hol tal´alhat´o a .dvi a´llom´anyok k¨onyvt´ara. Ha a vizsg´alt .dvi a´llom´anyt nem tal´alja az aktu´alis k¨onyvt´arban, akkor az itt megadott helyen keresi. Alap´ertelmez´es az \EMTEX\TEXINPUT k¨ onyvt´ar. Ha nem adunk meg .dvi a´llom´anynevet (¨ ures bevitel), akkor texput.dvi az alap´ertelmezett n´ev. pg* A grafikus a ´llom´anyok k¨onyvt´ar´at hat´arozza meg. Ha az aktu´alis k¨onyvt´arban nem tal´alja a keresett f´ajlt, akkor megpr´ob´alja megkeresni ezen opci´o a´ltal meghat´arozott helyen. Az alap´ertelmezett k¨onyvt´ar az \EMTEX\TEXINPUT. T¨ obb k¨onyvt´arat is megadhatunk. A k¨onyvt´arn´evben szerepelhet k´et speci´alis szimb´olum, a $s ´es a $r. A $s jellel a PXL t´ıpus´ u m´eretmegad´ast lehet egyszer˝ us´ıteni. (A felbont´as dpi-ben elosztva 5-tel.) A $r a felbont´ast dpi-ben m´eri. pv* A .vf f´ ajlokat (virtu´alis fontok) tartalmaz´o k¨onyvt´ar megad´asa. A .vf f´ajlokat csak ebben a k¨onyvt´arban keresi a program. Alap´ertelmez´es nincs. T¨obb k¨onyvt´arat is megadhatunk. pf* A fontokat tartalmaz´ o f´ajlok k¨onyvt´ar´anak megad´as´ara szolg´al ez az opci´o. Itt is haszn´alhatjuk a $r vagy a $s speci´alis szimb´olumokat. T¨obb k¨onyvt´arat is megadhatunk. pt* A a ´tmeneti a´llom´any neve. Alap´ertelmez´es az, hogy az aktu´alis k¨onyvt´arban keletkezik egy .dlg kiterjeszt´es˝ u a´llom´any. Az a´llom´any neve az eszk¨ozmeghajt´o neve, ´ıgy ebben az esetben ez dviscr.dlg. pl* Annak a fontk¨ onyvt´arnak a neve el´er´esi u ´ ttal, amit haszn´alunk. Ilyen fontk¨onyvt´ar a FONTLIB nevezet˝ u program seg´ıts´eg´evel hozhat´o l´etre. A fontk¨onyvt´arat tartalmaz´o a´llom´any kiterjeszt´ese .fli. pw* Ez az opci´ o meghat´arozza, hogy az adott eszk¨ozmeghajt´o hova ´ırja az u ´ gynevezett fontlib response” a´llom´anyt. Ez a sz¨oveges a´llom´any ” inform´aci´ot tartalmaz a legener´aland´o fontokr´ol.

´jl szerkezete 1.2.8. Fonthelyettes´ıt´ esi fa

emTEX 201

ps* Fonthelyettes´ıt´ esi f´ajl neve. Alap´ertelmez´es, hogy nincs ilyen f´ajl. Ezzel

az a´llom´annyal lehet meghat´arozni, hogy a hi´anyz´o fontok helyett milyen fontokat haszn´aljon az eszk¨ozmeghajt´o.

´ FAJL ´ 1.2.8. FONTHELYETTES´ITESI SZERKEZETE Egy el˝ore megszerkesztett fonthelyettes´ıt´esi f´ajl megad´as´aval lehet utas´ıtani az eszk¨ozmeghajt´okat (pl. a DVISCR) a fonthelyettes´ıt´esre. T´etelezz¨ uk fel, hogy van egy elso.tex sz¨ovegf´ajlunk, ´es ebben a f´ajlban am* fontokat haszn´altunk a sz¨oveg szed´es´ehez! A ford´ıt´as sor´an egy elso.dvi f´ajl j¨on l´etre, ´es ezt akarjuk megtekinteni. El˝ofordulhat, hogy a fontk´eszletben m´ar nincsenek am* fontok, helyett¨ uk cm* fontok vannak. Szerkessz¨ unk h´at egy fonthelyettes´ıt´esi f´ajlt font.sub n´ even! % Ez egy fonthelyettes´ ıt´ esi f´ ajl amr10 -> cmr10 %amr10 helyett cmr10 amti10 -> cmti10 %amti10 helyett cmti10 ambx10 -> cmbx10 %ambx10 helyett cmbx10 amsl10 -> cmsl10 %amsl10 helyett cmsl10

Ezut´an a k¨ovetkez˝o utas´ıt´assal lehet ind´ıtani a megtekint´est: DVISCR /psfont.sub elso

Az eredm´eny elfogadhat´o, b´ar nem m´elt´o a TEX-hez. Ez az´ert van, mert fut´as sor´an a TEX az am*.tfm f´ajlok alapj´an rakta o¨ssze a karakterek dobozait, ezek a .dvi f´ajlban m´ar r¨ogz´ıtettek, ´es az am*.tfm-ek nem azonosak a cm*.tfmekkel. A fonthelyettes´ıt´esi f´ajl a k¨ovetkez˝o alak´ u sorokat tartalmazhatja: h font i hm´ eret i h font i hm´ eret i

-> -> ->

h font i hm´ eret i h font i hm´ eret i

%p´ eld´ aul am* -> cm* %p´ eld´ aul 1410 -> 1440 %p´ eld´ aul cmr10 1000 -> cmr12 1200

L´athatjuk, hogy el˝obb a r´egi font nev´et, ut´ana egy sz´ok¨ozt, ezut´an egy k¨ot˝ojelet ´es egy nagyobb (>) jelet, majd u ´ jra egy sz´ok¨ozt ´es v´eg¨ ul az u ´ j font nev´et kell be´ırni. Egy ´erdekes fonthelyettes´ıt´est ´erhet¨ unk el az u ´ n. feh´er (white) illetve fekete (black) fontokkal. Bizonyos sz¨ovegr´eszek t¨orl´es´ere illetve a´th´ uz´as´ara szolg´alnak. Ezek a k¨ovetkez˝o form´aban szerepelhetnek a fonthelyettes´ıt´esi f´ajlban: h font i h font i

-> ->

h font i h font i

/w /b

%kit¨ orl´ es %fekete dobozokat rak

Vigy´azat! Ha egy fontot vagy feh´er” vagy fekete” fonttal cser´elt¨ unk ” ” ki, akkor az m´ar nem v´altoztathat´o vissza. A k¨ovetkez˝o sorban egy p´eld´at l´athatunk a /b alkalmaz´as´ara. Ez egy sz¨oveg, amiben a k¨ovetkez˝o k´et sz´ot kit¨or¨olt¨ uk: Nagy utaz´as

´lata 1 A dviscr.exe haszna

202 emT X E

´ ´ ´ OS ´ ALLOM ´ ´ 1.2.9. TOVABBI OPCIOK, KONFIGURACI ANY - Feh´ er el˝ot´er, fekete h´att´er. Ez az alap´ertelmez´es. + Fekete el˝ ot´er, feh´er h´att´er. hx# A v´ızszintes ´ es hy# a f¨ ugg˝oleges kezd˝opoz´ıci´o megad´asa Alap´ertelmez´es 1 inch. Ezek a be´all´ıt´asok azt hat´arozz´ak meg, hogy a lap melyik r´esze ker¨ ul megjelen´ıt´esre. A /hx0 /hy0 be´all´ıt´assal a lap bal fels˝o sarka ker¨ ul a k´eperny˝o bal fels˝o sark´aba. o# Sz¨ urkes´egi fokozatokkal val´o megjelen´ıt´es. Egy ponttal helyettes´ıti a k´eperny˝on a dokumentum x∗y m´eret˝ u t´eglalapj´at. Ezzel az opci´oval az x´ es y ´ert´ek´et a´ll´ıthatjuk egyszerre. Ezzel befoly´asolhatjuk a k´eperny˝on megjelen˝o lap m´eret´et. Az ´ert´ek 1 ´es 8 k¨oz¨otti. Legnagyobb m´eret˝ u megjelen´ıt´est 1 mellett kapunk. Csak VGA ´es EGA k´artya eset´en haszn´alhat´o. ox# Ugyanaz, mint az o opci´ o. Elt´er´es az, hogy csak az x m´eretet befoly´asolja. oy# Ugyanaz, mint az o opci´ o. Elt´er´es az, hogy csak az y m´eretet befoly´asolja. ocp# A keret sz´ıne. Alap´ ertelmez´es z¨old. A sz´ınk´od 0 ´es 15 k¨oz¨otti sz´am. ocr# A vonalz´ o sz´ıne. Alap´ertelmez´es z¨old. A sz´ınk´od 0 ´es 15 k¨oz¨otti sz´am. ocs# A st´ atusz sor sz´ıne. Alap´ertelmez´es z¨old. A sz´ınk´od 0 ´es 15 k¨oz¨otti sz´am. ocr+ Ez a kapcsol´ o azt hat´arozza meg, hogy a vonalz´o indul´askor bekapcsolt vagy kikapcsolt a´llapotban legyen. Alap´ertelmez´es a bekapcsolt a´llapot. os+ A st´ atusz sor be- illetve kikapcsol´as´at meghat´aroz´o kapcsol´o. Alap´ertelmez´es a bekapcsolt a´llapot. Ha a st´atusz sor ki van kapcsolva, akkor a rendszer hangjelz´essel k´ıs´eri minden adatbevitel kezdet´et ´es v´eg´et. ou* A vonalz´ on ´es a st´atusz sorban haszn´alatos m´ert´ekegys´eg be´all´ıt´asa. Alap´ertelmez´es: pt. s# A megjelen´ıtett lap m´ eret´enek cs¨okkent´ese. A k´eperny˝on megjelen˝o k´eppont sx# ´es sy# darab dokumentumpontb´ol tev˝odik o¨ssze. A k´et param´etert egyszerre ezzel az opci´oval a´ll´ıthatjuk. Az ´ert´eknek 1 ´es 8 k¨oz¨ott kell lennie, bele´ertve a hat´arokat is. Min´el nagyobb a megadott param´eter, ann´al nagyobb felbont´asban l´athatjuk a dokumentumot. sy# A megjelen˝ o k´ep f¨ ugg˝oleges m´eret´enek be´all´ıt´asa. A be´all´ıtott ´ert´eknek 1 ´es 8 k¨oz´e kell esnie, bele´ertve a hat´arokat is. sx# A megjelen˝ o k´ep v´ızszintes m´eret´enek be´all´ıt´asa. A be´all´ıtott ´ert´eknek 1 ´es 8 k¨oz´e kell esnie, bele´ertve a hat´arokat is. oa# Video adapter t´ıpus´ anak be´all´ıt´asa. A be´all´ıt´asi ´ert´ekek a k¨ovetkez˝ok lehetnek (Alap´ertelmez´es: 0): 0 1 2 3 4

Automatikus szelekci´o CGA 640×200 EGA 640×350 vagy 640×200 VGA 640×480 HGC 720×348

10 11 12 13 14

MDS Genius 728×1008 EGA 640×200, 16 sz´ın EGA 640×350, 16 sz´ın EGA 640×350, 16/64 sz´ın VGA 640×480, 16 sz´ın

´ll´ıta ´sa 1.2.10. Hiba´ erz´ ekenys´ eg bea

5 6 7 8 9

GENOA SuperEGA 800×600 Paradise VGA 800×600 Video Seven VGA 800×600 Tseng Labs EVA 800×600 HP Vectra 640×400

emTEX 203

15 16 17 18 19

VGA 640×480, 16/64 sz´ın VGA 640×480, 16/2 18 sz´ın EGA 640×350, 2 sz´ın VGA 640×480, 2 sz´ın Olivetti M24 640×400

u* Ezen opci´ o az alap m´ert´ekegys´eg be´all´ıt´as´ara szolg´al. Az itt be´all´ıtott

m´ert´ekegys´eg elhagyhat´o a m´er˝osz´amok ut´an. mm pt dd in bp

millim´eter pont (point) didot point h¨ uvelyk (inch) nagy pont (big point)

cm pc cc sp

centim´eter pica cicer´o osztott pont (scaled point)

Minden m´ert´ekegys´eget kisbet˝ uvel kell megadni. Most k´et tippet szeretn´enk adni a felhaszn´al´oknak arra, hogy hogyan konfigur´alhatj´ak saj´at ´ızl´es¨ uknek megfelel˝oen a dviscr.exe k´eperny˝os megtekint˝o rendszert. El˝osz¨or egy k´etoldalas megtekint´ere szolg´al´o param´eterez´est aj´anlunk, amelyet ´erdemes v2.bat n´even elk´esz´ıteni, ´es ´ıgy tetsz˝oleges a´llom´any k´et oldal´at egyszerre megtekinthetj¨ uk. @ECHO OFF DVISCR @lj.cnf /ptc:\TMP\dviscr.dlg /s2 /o4 /cp2 /ci1 /cx0cm /ci2 /cx19cm /ocr=9 /ocp=9 /ocs=11 /w42cm /fl=-1 %1 %2 %3 %4 %5 %6 %7 %8

(A batch-f´ajlban a param´eterek egy sorba ´ırand´ok.) Az lj.cnf egy konfigur´aci´os f´ajl neve, amely soronk´ent egy-egy opci´ot tartalmazhat. A konfigur´aci´os f´ajl a @ jel seg´ıts´eg´evel h´ıvhat´o. A m´asik a´llom´any a v.bat olyan m´odos´ıt´asa, amely hossz´ u idej˝ u tapasztalatunkat tartalmazza: @ECHO OFF DVISCR @lj.cnf /ptc:\TMP\dviscr.dlg /ox4 /oy3 /s1 /ocr=9 /ocp=9 /ocs=11 /pgC:\ABRAK /fl=-1 %1 %2 %3 %4 %5 %6 %7 %8 %9

´ EKENYS ´ ´ BEALL ´ ´ITASA ´ 1.2.10. HIBAERZ EG A hiba´erz´ekenys´eg be´all´ıt´asa lehet˝ov´e teszi, hogy a DVISCR haszn´alata sor´an korl´atozzuk a k´eperny˝on ´es az a´tmeneti a´llom´anyban keletkez˝o u ¨ zenetek sz´am´at. Az ´erz´ekenys´eget a v opci´o ut´an a´ll´o 0 ´es 5 k¨oz´e es˝o sz´am hat´arozza meg. Az alap´ertelmez´es 2. Az al´abbiakban egy kicsit r´eszletesebben le´ırjuk az egyes szintek a´ltal szolg´altatott inform´aci´okat: v0 Csak a fat´ alis hib´akat ´es a legsz¨ uks´egesebb inform´aci´okat jelzi ki. v1 A kor´ abbi szolg´altat´as b˝ov¨ ul az oldalsz´amokkal ´es a batch-¨ uzemm´odhoz sz¨ uks´eges sorsz´aminform´aci´okkal.

´lata 1 A dviscr.exe haszna

204 emT X E

v2 A kor´ abbiakhoz k´epest u ´ jdons´ag a fontok bet¨olt´es´ere szolg´al´o inform´aci´o megjelen´ıt´ese ´es a .dvi a´llom´anyokban a \special{} utas´ıt´assal

elhelyezett megjegyz´esek megjelen´ıt´ese. v3 Minden figyelmeztet´ es ´es minden \special{} parancsra vonatkoz´o in-

form´aci´o megjelenik. v4 A fontokat tartalmaz´ o a´llom´anyok nevei teljes el´er´esi u ´ ttal megjelen-

nek a feldolgoz´as sor´an, ´es a mem´oriaig´enyre vonatkoz´o statisztikai inform´aci´ok is. v5 A fontokban elhelyezett megjegyz´ esek is megjelennek a k´eperny˝on. A DVISCR eszk¨ozmeghajt´o haszn´alata sor´an keletkezik egy a´tmeneti a´llom´any, amely alap´ertelmez´es alapj´an az aktu´alis k¨onyvt´arban dviscr.dlg n´even j¨on l´etre. Az ebben az a´llom´anyban megjelen˝o inform´aci´o mennyis´eg´et a fent eml´ıtett opci´ok nem befoly´asolj´ak. A p´elda kedv´e´ert most a kor´abban elk´esz´ıtett elso.dvi a´llom´any megtekint´ese sor´an a v5 opci´o hat´as´ara a k´eperny˝on megjelen˝o inform´aci´okat k¨oz¨olj¨ uk. ’ TeX output 1993.04.17:1943’ Loading font cmr10 scaled 1000 (c:\emtex\pixel.lj\lj.fli [cmr10]) Loading page pointers... 1 input page, 1 output page. [1] Memory usage: Page buffers 1 5006 Sorted page buffers 1 5006 Sorted page index 1836 14688 Position stack 2 56 Font table 1 74 Font indices 1 10 Page list 1 50 Characters 128 3584 Raster data 17 264 Virtual fonts 0 0 VF characters 0 0 VF macros 0 0 Cache 0 0 Graphics 0 0 Lines 0 0 Font library directories 0 0 Band buffer 0 0 TOTAL 28738 Number of deallocations:

0

´lata 1 A dvihplj.exe haszna

emTEX 205

IV. Nyomtat´as A TEX sz¨ovegform´az´o rendszer fel van k´esz´ıtve arra, hogy az elk´esz´ıtett dokumentumot a nyomtat´ok lehet˝o legsz´elesebb csal´adj´an nyomtathassuk ki. Ezek k¨oz¨ ul szeml´eltet´esk´ent n´eh´anyat megeml´ıt¨ unk: HP LaserJet+, HP LaserJet II, HP LaserJet III, HP DeskJet, HP DeskJet+, Kyocera F-1010, NEC P6, P7, P2200, EPSON LQ, FX ´ es RX, Panasonic KX-P1124, Apple Imagewriter, C.ITOH 8510A, Tandy DMP-130.

1. A dvihplj.exe haszn´alata Az els˝o p´eld´aban a nyomtat´ast a prthplj.bat a´llom´any seg´ıts´eg´evel v´egezt¨ uk el, amely a dvihplj.exe eszk¨ozmeghajt´ot h´ıvja meg a megfelel˝o opci´okkal. Ebben a r´eszben a fenti eszk¨ozmeghajt´o olyan lehet˝os´egeit soroljuk fel, amelyekr˝ol kor´abban m´eg nem volt sz´o. Term´eszetesen a teljess´eg kedv´e´ert megeml´ıtj¨ uk azokat is, amelyek m´ar szerepeltek. A dvihplj.exe a´llom´any parancssoros alakja: DVIHPLJ [hopci´ oki] hinput-f´ ajl i [hopci´ oki ] houtput-f´ ajl i [hopci´ oki]

A kor´abban ismertetett opci´ok jegyz´eke: ? n# la# cp# fd#

?? z+ t# cx# r#

c? h# ta# cy# rx#

v# l# tr# fb ry#

b* s# w# fc fs#

e* sy# cf# fi fsx#

2* sx# ci# fl# fsy#

k# l# pg* rg# m#

pv* ps* pf // pl*

u* pw*z p@* pd* pt*

Most k´et tippet szeretn´enk adni a dvihplj.exe program konfigur´al´as´ahoz. Az els˝o alkalommal egy k´etoldalas nyomtat´ast val´os´ıtunk meg, amely j´ol haszn´alhat´o kisebb m´eret˝ u, f¨ uzet alak´ u dokumentumok k´esz´ıt´es´ehez. @echo off DVIHPLJ @lj.cnf /pt:C:\TMP\dvihplj.dlg /l1cm /ci2 /cx12cm /cp2 /cf1 /tr1 %2 %3 %4 %5 %6 %7 %8 %9 /po=%1.lj %1

A m´asik a´llom´any a prthplj.bat olyan m´odos´ıt´asa, amely munk´ank sor´an hasznosnak bizonyult: @echo off DVIHPLJ @lj.cnf /pt:C:\TMP\dvihplj.dlg %2 %3 %4 %5 %6 %7 %8 %9 /po=%1.lj %1

A dvihplj.exe azon opci´oi, amelyek a dviscr.exe programn´al nem haszn´alhat´ok: pi* A printer inicializ´ aci´os a´llom´any megad´asa. po* Ez a ´ll´ıtja be az output-f´ajl nev´et. Ha a programot output-f´ajl n´elk¨ ul h´ıvjuk meg, akkor az input-f´ajl nev´et fogja haszn´alni. Alap´ertelmez´es

206 emT X E

´i 2 A dvidot.exe program opcio

az, hogy nincs megadva kimeneti a´llom´anyn´ev. Az output-f´ajl neve helyett megadhatunk k¨ozvetlen¨ ul eszk¨oznevet is. P´eld´aul a /po=prn megad´as´aval nem f´ajlba, hanem k¨ozvetlen¨ ul nyomtat´ora nyomtatunk. oc# Az ideiglenes font t¨ orl´ese a # lap kinyomtat´asa ut´an. Ha a printernek nincs elegend˝o mem´ori´aja az o¨sszes font t´arol´as´ara, akkor ezzel az opci´oval megpr´ob´alhatjuk cs¨okkenteni a felhaszn´alt mem´ori´at. Alap´ertelmez´es a 0, ami azt jelenti, hogy nem t¨orli a fontokat. od+ A nyomtat´ o t´ıpusa HP DeskJet. oi+ Printer inicializ´ al´as. Alap´ertelmez´es a bekapcsolt a´llapot. Ha bekapcsolt a´llapotban van, akkor minden nyomtat´as ut´an inicializ´alja a printert. ok+ A nyomtat´ o t´ıpusa Kyocera F-1010. of# Be´ all´ıtja a font azonos´ıt´ok sz´am´anak kezd˝o´ert´ek´et. Az alap´ertelmez´es 0, el´erhet˝o ´ert´ekek 0 ´es 32736 k¨oz´e esnek, bele´ertve a hat´arokat is. om# A printer mem´ oria m´erete. Be´all´ıtja az el´erhet˝o mem´oria m´eret´et a printeren. Alap´ertelmez´es 394. M´ert´ekegys´eg Kb´ajtban ´ertend˝o. Ha ezt az ´ert´eket 0-ra a´ll´ıtjuk, akkor nem teszteli a mem´oria-t´ ulcsordul´ast. Ez az opci´o ´erv´enytelen akkor, ha az od be van kapcsolva. np# Minden egyes oldalt # alkalommal nyomtat ki. Az alap´ ertelmez´es np1. nf# Minden kor´ abban kiv´alasztott oldalt # alkalommal kinyomtat. P´eld´aul ha van egy dokumentumunk, amely k´et oldalt tartalmaz, akkor az /np2 /nf3 opci´ ok hat´as´ara: [1] [1] [2] [2] [1] [1] [2] [2] [1] [1] [2] [2] oldalak ker¨ ulnek kinyomtat´asra. Ha az a´ltalunk megadott nyomtat´asi opci´ok k¨ovetkezt´eben egy lapon t¨obb oldalnyi inform´aci´o jelenik meg, akkor err˝ol u ´ gy ´ertes¨ ul¨ unk, hogy az ugyanazon lapra ker¨ ul˝o oldalak oldalsz´ama k¨oz¨os sz¨ogletes z´ar´ojelben jelenik meg.

2. A dvidot.exe program opci´ oi Ha a v´alasztott ´es a´ltalunk haszn´alt nyomtat´o m´atrixnyomtat´o, akkor a dvidot.exe meghajt´ ot kell haszn´alnunk. Ennek a programnak a parancssoros alakja ´es a benne haszn´alatos opci´ok nagym´ert´ekben megegyeznek a dvihplj.exe ismertet´ ese sor´an felsoroltakkal. Az elt´er´eseket most ismertetj¨ uk: Hi´anyoznak a k¨ovetkez˝o opci´ok: pi*, po*, oc#, od+, oi+, ok+, of#, om#. A k¨ovetkez˝o u ´ j opci´ok csak a dvidot.exe program eset´en haszn´alatosak: ox+ Az outputot egyenesen a COM1, COM2, COM3 vagy COM4 portra k¨ uldi. Az ox+ automatikusan ´erv´enytelen´ıt minden m´as outputot. Ha az ox- ´erv´enyes, akkor az output DOS funkci´oh´ıv´as seg´ıts´eg´evel hajt´odik v´egre. s+ Minden sort k´ et menetben ´ır ki. Ha ez az opci´o be van kapcsolva, akkor els˝o menetben a p´aratlan index˝ u pixeleket, m´asodik menetben pedig a p´aros index˝ ueket nyomtatja ki. Alap´ertelmez´es a kikapcsolt a´llapot. hf# Pap´ırm´ eret be´all´ıt´asa. Ha a pap´ırm´eretet 0-ra a´ll´ıtjuk be, akkor a h# opci´o a´ltal be´all´ıtott ´ert´ek lesz ´erv´enyben.

´lata 3 A dvimsp.exe haszna

emTEX 207

s+ Lass´ uu ¨ zemm´od. Az s+ seg´ıts´eg´evel t¨ort´en˝o nyomtat´as eset´en egyir´any-

ban t¨ort´enik csak a nyomtat´as, ellenkez˝o esetben mindk´et ir´anyban. Alap´ertelmez´es az s-. Minden egyes m´atrixnyomtat´o t´ıpushoz a makedot.exe program seg´ıts´eg´evel el kell k´esz´ıten¨ unk a param´eter a´llom´anyt is. Err˝ol kis szerepe miatt nem ´ırunk.

3. A dvimsp.exe haszn´alata Ez az eszk¨ozmeghajt´o arra alkalmas, hogy tetsz˝oleges .dvi a´llom´anyb´ol grafikus a´llom´anyt hozzunk l´etre. ´Igy ezt a k´es˝obbiekben b´armilyen grafikus programcsomaggal feldolgozhatjuk. A program parancssoros alakja a k¨ovetkez˝o: DVIMSP [hopci´ oki ] hinput-f´ ajl i [hopci´ oki] houtput-f´ ajl i [hopci´ oki ]

Az opci´ok t¨obbs´eg´et m´ar megismert¨ uk a dvihplj.exe ismertet´ese sor´an. Ez´ert a kor´abbiakhoz hasonl´oan csak az elt´er´eseket ismertetj¨ uk. Hi´anyz´o opci´ok: 2, s#, sx#, sy#, pi, po, oc#, od+, oi+, ok+, of#, np#, nf#. Csak a dvimsp.exe programhoz haszn´alhat´o opci´ok: + Megjelen´ıt´ es fekete alapon feh´errel. - Megjelen´ıt´ es feh´er alapon feket´evel. o* Be´ all´ıtja a keletkez˝o grafikus a´llom´any t´ıpus´at. A Windows 1.x t´ıpus´ u .msp f´ ajlt az o1, a Windows 2.x t´ıpus´ u .msp f´ajlt pedig az o2 (alap´ertelmez´es) opci´o seg´ıts´eg´evel a´ll´ıthatjuk el˝o. Ezen fel¨ ul .pcx a´llom´anyt is el˝o lehet a´ll´ıtani az op opci´o seg´ıts´eg´evel. om+ A lehet˝ o legkisebb m´eret˝ u a´llom´any l´etrehoz´as´at lehet ezzel az opci´oval

el˝o´ırni. Ez tulajdonk´eppen az ´ert´ektelen dokumentumsz´elek lev´ag´as´at jelenti. ow+ A grafikus k´ ep sz´eless´eg´et automatikusan a k¨ovetkez˝o 16-tal oszthat´o ´ert´ekre a´ll´ıtja be. Az alap´ertelmez´es ennek az opci´onak a kikapcsolt a´llapota. Ez az´ert sz¨ uks´eges, mert nagyon sok program csak az ilyen tulajdons´ag´ u .msp a´llom´anyt tudja kezelni. A .pcx a´llom´anyok eset´en ez a kerek´ıt´es” automatikus. ” Az input-f´ajl a .dvi f´ajl. A kimenet mehet f´ajlba vagy k¨ozvetlen¨ ul nyomtat´ora is. Ha az input-f´ajl nev´et elhagyjuk, akkor az a texput.dvi lesz. Az output-f´ajl alap´ertelmezett kiterjeszt´ese .msp (o1 vagy o2 eset´en) vagy .pcx (op eset´en) lesz.

208 emT X E

´lata 4 A pcltomsp.exe haszna

4. A pcltomsp.exe haszn´alata Gyakran sz¨ uks´eg¨ unk lehet arra, hogy egy nyomtathat´o a´llom´anyt beszerkeszsz¨ unk a k´esz¨ ul˝o dokumentumunkba. Ez az ig´eny leggyakrabban olyan grafikai programokn´al fordul el˝o, amelyek nem teszik lehet˝ov´e, hogy az elk´esz¨ ult munk´ankat – a k´es˝obbi beszerkeszt´es ´erdek´eben – valamilyen szabv´anyos grafikai a´llom´anyk´ent elments¨ uk. Mind¨ossze lemezre vagy k¨ozvetlen¨ ul a nyomtat´ora hajland´ok kinyomtatni azt. P´eldak´ent a FoxGraph programot eml´ıthetj¨ uk, amely grafikonok k´esz´ıt´es´ere kiv´al´oan alkalmas, azonban a fent eml´ıtett gyenges´eggel rendelkezik. A rendszer seg´edprogramjai k¨oz¨ott tal´alhat´o pcltomsp.exe szolg´al arra, hogy a nyomtat´asra k´esz¨ ult .pcl f´ajlokat (HP LaserJet ´es DeskJet nyomtat´ok a´ltal haszn´alatos a´llom´anyok) visszaalak´ıtsa .msp vagy .pcx szabv´anyos grafikus f´ajlokk´a. Ezeket m´ar k¨ozvetlen¨ ul beszerkeszthetj¨ uk a dokumentumunkba. (A beszerkeszt´esr˝ol r´eszleteiben a VI.2. fejezetben olvashatunk (l´ asd VI.2. Grafika beilleszt´ese).) A vissza´all´ıt´as csak akkor lesz sikeres, ha a .pcl f´ajl csak grafikus nyomtat´ovez´erl˝o parancsokat tartalmaz. A program parancssoros alakja a k¨ovetkez˝o: PCLTOMSP /qrw /o* hinput-f´ ajl i houtput-f´ ajl i

A haszn´alhat´o opci´ok jegyz´eke: o1 o2 op q r w

A kimen˝o f´ajl r´egi .msp form´atum´ u (Windows 1.x). A kimen˝o f´ajl u ´ j .msp form´atum´ u (Windows 2.x). Ez az alap´ertelmez´es. A kimen˝o f´ajl .pcx form´atum´ u lesz. A program u ¨ zenet n´elk¨ ul fut. A grafikus a´llom´any az eredeti k´ep inverz´et fogja tartalmazni. Olyan grafikus a´llom´anyt hoz l´etre, amelyben a t´arolt k´ep sz´eless´ege 16-tal oszthat´o.

A q, r ´es w opci´ok b´armilyen kombin´aci´oja megengedett. Az egyes opci´okat sz´ok¨oz n´elk¨ ul, k¨ozvetlen¨ ul egym´as ut´an kell ´ırni tetsz˝oleges sorrendben. A legels˝ot a / jellel kell bevezetni. Az elhagyott opci´ok az a´ltaluk megjel¨olt hat´as hi´any´at fogj´ak eredm´enyezni. A form´atumra vonatkoz´o opci´ok k¨oz¨ ul legfeljebb egyet adhatunk meg, bevezet˝o / jellel. Ha egyet sem adunk meg, akkor az ekvivalens azzal az esettel, amikor az o2-t adjuk meg.

´lata 1 Az mfjob.exe haszna

emTEX 209

V. Fontok Az emTEX rendszer alapki´ep´ıt´esben nem tartalmazza a fontf´ajlokat, ezeket a felhaszn´al´onak kell legener´alnia. Ha esetleg valaki a legener´alt fontokat is meg tudja szerezni, akkor mentes¨ ul ezen munka al´ol. Az egyes eszk¨ozmeghajt´ok a fontokat a .pxl ´es a .pk alak´ u a´llom´anyokb´ol k´epesek bet¨olteni. Ezen t´ ul speci´alis alak´ u .fli f´ajlok olvas´as´ara is k´epesek. Ezen f´ajlok haszn´alat´aval feldolgoz´asi id˝ot ´es lemezter¨ uletet is megtakar´ıthatunk. Err˝ol m´eg a k´es˝obbiekben lesz sz´o. A fontok gener´al´as´at legk¨onnyebben az mfjob.exe program seg´ıts´eg´evel tehetj¨ uk meg.

1. Az mfjob.exe haszn´alata Ez a program automatikusan gener´alja a fontokat a mf.exe, gftopxl.exe ´es gftopk.exe programok seg´ıts´ eg´evel.

Haszn´alata: MFJOB hmfj-f´ ajl i [hopci´ oki] [hmakr´ o i=hdefin´ıci´ o i] MFJOB /s [hopci´ oki]

Az hmfj-f´ajl i a metafont-job f´ajl neve. Az alap´ertelmezett kiterjeszt´es az .mfj. A haszn´alhat´o opci´ok le´ır´asa: 2 A gener´ al´as sor´an az mf.exe helyett az mf286.exe programot h´ıvja meg. a Minden fontot legener´ al, amit az .mfj f´ajl el˝o´ır. Alap´ertelmez´es szerint csak a nem l´etez˝o .pk, .tfm a´llom´anyokat gener´aln´a le. b A gener´ al´as sor´an a bmf.exe programot haszn´alja. Ez a bigMETAFONT. d Nem haszn´ alja az expanded mem´ori´at. ´ enytelen´ıti a METAFONT a´ltal tal´alt hib´akat. Amikor a METAFONT i Erv´

program valamilyen hib´at fedez fel, akkor visszat´er´eskor nem nulla ´ert´eket ad vissza, ami az mfjob.exe program azonnali megszak´ıt´as´at eredm´enyezi. Ha az i opci´ot haszn´aljuk, akkor nem szak´ıtja meg a program fut´as´at, de az mfjob.log f´ajlba elhelyezi a sz¨ uks´eges inform´aci´okat. n Nem gener´ al fontokat, csak megjelen´ıti a parancsokat. pv* Be´ all´ıtja az alap´ertelmezett meghajt´ot.

210 emT X E

´jl szerkezete 2 Az .mfj fa

2. Az .mfj f´ajl szerkezete A f´ajl tartalmazhat kommenteket, amelyeket – ak´arcsak a TEX-ben – a % karakterrel kell bevezetni, ´es innen a sor v´eg´eig tal´alhat´o karakterek a megjegyz´es r´esz´et alkotj´ak. Ha a % jel [ ] z´ar´ojeleken bel¨ ul tal´alhat´o, akkor nem megjegyz´est ind´ıt. (Figyelem! Itt a [ ´es a ] jelek nem az opcionalit´ast jel¨olik.) P´eldak´ent tekints¨ unk egy small.mfj f´ajlt! % % small.mfj % { base=cm; font=cmr10; mag=1; mode=hplaser[300]; output=pk[C:\EMTEX\PIXEL.LJ\$rDPI]; }

A f´ajl tartalmaz egy blokkot, amelyet a {} z´ar´ojelek z´arnak k¨ozre. A deklar´aci´ok ´es makr´ok csak a blokkon bel¨ ul haszn´alhat´ok. Elemezz¨ uk r´eszletesebben a f´ajl szerkezet´et! A font vagy fonts kulcssz´o a legener´aland´o font vagy fontok neveit vezeti be. Minden egyes nevet a k¨ovetkez˝ot˝ol sz´ok¨ozzel vagy sorv´egjellel kell elhat´arolni, ´es pontosvessz˝ovel kell z´arni a list´at. A fontok nevei a k¨ovetkez˝o speci´alis karaktereket tartalmazhatj´ak: ?, * , # (egy vagy t¨obb sz´amjegy helyettes´ıt´es´ere szolg´al). A mag vagy mags kulcssz´o a nagy´ıt´asi ar´anyokat vezeti be, amelyek a gener´al´askor sz¨ uks´egesek. A sz´amnak 0.1 ´es 1000 k¨oz´e kell esnie. A speci´alis nagy´ıt´asi ar´anyokat helyettes´ıthetj¨ uk s0, sh, s1, . . . , s9 szimb´olumokkal. Minden nagy´ıt´asi m´ert´eket sz´ok¨ozzel vagy sorv´egjellel kell elv´alasztani egym´ast´ol. A list´at pontosvessz˝ovel kell lez´arni. A mode deklar´alja azt az eszk¨ozt, amelynek a sz´am´ara a fontot gener´aljuk. A mode nevet k¨oveti a v´ızszintes felbont´asi egy¨ utthat´o (dpi-ben) [ ] jelek k¨oz¨ott. A deklar´aci´o pontosvessz˝ovel z´arul. Egy blokk csak egy mode deklar´aci´ot tartalmazhat. Az output kulcssz´o hat´arozza meg, hogy milyen k¨onyvt´arban ´es milyen t´ıpus´ u a´llom´anyok keletkeznek. A t´ıpusok a k¨ovetkez˝ok lehetnek: .pxl, .pk, .gf, .log ´ es .tfm. A k¨onyvt´arnevekben a k¨ovetkez˝o speci´alis szimb´olumok szerepelhetnek: %r, $r, %s, $s. Minden egyes listaelemet sz´ok¨ozzel v´alasztunk el egym´ast´ol, ´es pontosvessz˝ovel z´arjuk a list´at. A base opci´o hat´arozza meg, hogy a METAFONT program milyen b´azist haszn´al a gener´al´as sor´an. A deklar´aci´o a k¨ovetkez˝o alakot o¨ltheti: base=cm vagy base=plain. A deklar´aci´ot pontosvessz˝o k¨oveti. Term´eszetesen nem alapki´ep´ıt´es˝ u fontok m´as b´azist is haszn´alhatnak.

´jl szerkezete 2 Az .mfj fa

emTEX 211

A k¨ovetkez˝okben HP LaserJet+ ´es Epson FX-80 nyomtat´ok sz´am´ara cmr10 ´ es cmbx10 fontok gener´al´as´ara l´athatunk p´eld´at 1-es ´es 1.2-es nagy´ıt´asban. % % example.mfj % { base=cm; fonts=cmr10 cmbx10; mags=s0 s1; { mode=hplaser[300]; output=pk[C:\EMTEX\PIXEL.LJ\PXL$s]; } { mode=epsonfx[240]; output=pk[C:\EMTEX\PIXEL.FX\PXL$s]; } } MFJ deklar´ aci´okat tartalmaz´o f´ajlok is bet¨olthet˝ok a k¨ovetkez˝ok´eppen: input [hn´evi];

Lehet˝os´eg van makr´ok haszn´alat´ara is. Makr´okat parancssorban vagy egy .mfj f´ ajlban lehet defini´alni a k¨ovetkez˝ok´eppen: def hmakr´ o i=[hdefin´ıci´ o i]; redef hmakr´ o i=[hdefin´ıci´ o i];

Ha egy makr´o t¨obbf´elek´eppen is defini´alva van, akkor csak az els˝o defin´ıci´o ker¨ ul haszn´alatra. (A parancssor a legels˝o defin´ıci´os ter¨ ulet.) Ha egy makr´ot a k´es˝obbi defin´ıci´o szempontj´ab´ol u ´ jra kellene defini´alni, akkor haszn´alhatjuk a redef utas´ıt´ast. N´ezz¨ unk egy p´eld´at a makr´ok kifejt´es´ere! def x=[mag=2;redef x=[mag=4;];mag=3;x;mag=5]; x;

Kifejtve: mag=2;mag=3;mag=4;mag=5 Egy makr´o kifejt´es´enek sorrendj´et a [ ] z´ar´ojelek hat´arozz´ak meg. Egy p´elda: % % x.mfj % input [modes]; def s=[1];

212 emT X E

´lata 3 Az mf.exe haszna

def f=[cmr10]; { fonts=f; mags=s; m; }

Itt a modes.mfj a k¨ovetkez˝o tartalm´ u: % % modes.mfj % def lj=[mode=hplaser[300]; output=pk[C:\NEWFONTS\PIXEL.LJ\%rDPI]; tfmlog]; def fx=[mode=epsonfx[240]; output=pk[C:\NEWFONTS\PIXEL.FX\%rDPI]; tfmlog]; def m=[lj]; def tfmlog=[output=tfm[C:\NEWFONTS\TFM] log[C:\NEWFONTS\LOG];];

Az mfjob.exe a f´ajlokat az aktu´alis k¨onyvt´arban keresi, ha ott nem tal´alja, akkor azokban a k¨onyvt´arakban pr´ob´alja megtal´alni, melyeket az MFINPUT k¨ornyezeti v´altoz´o hat´aroz meg. Az \EMTEX\MFINPUT ´es az \EMTEX\MFJOB az alap´ertelmezett k¨onyvt´arak. Az mfjob.exe m˝ uk¨od´es´ehez a k¨ovetkez˝o programok sz¨ uks´egesek: mfjob.exe, mf.exe, mfjob1.ovl, gftopk.exe, mfjob2.ovl, gftopxl.exe. Az outputj´at ´es az ideiglenes a´llom´anyait az aktu´alis k¨onyvt´arban helyezi el. Az o¨sszes standard font legener´al´as´ahoz az all.mfj f´ajlt kell haszn´alni a k¨ovetkez˝o alakban: MFJOB all

Arra val´o tekintettel, hogy az mfjob.exe program haszn´alja az mf.exe, gftopxl.exe ´ es gftopk.exe programokat, ezek haszn´alat´at is a´ttekintj¨ uk.

3. Az mf.exe haszn´alata A METAFONT programnak is hat k¨ ul¨onb¨oz˝o verzi´oja k´esz¨ ult el. Ezek a k¨ovetkez˝ok: [hopci´oki] [&hb´azisi] [hinput-f´ajl i] [hMF parancsoki] (XT) mf [ mf286 hopci´ oki] [&hb´ azisi] [hinput-f´ ajl i] [hMF parancsoki] (AT286) h i h i h [ opci´ok ] [& b´azis ] [ input-f´ajl i] [hMF parancsoki] (OS/2) mfp [hopci´oki] [&hb´azisi] [hinput-f´ajl i] [hMF parancsoki] (XT) bmf bmf286 [hopci´ oki] [&hb´ azisi] [hinput-f´ ajl i] [hMF parancsoki] (AT286) [hopci´oki] [&hb´azisi] [hinput-f´ajl i] [hMF parancsoki] (OS/2) bmfp A DOS grafikus k´eperny˝o CGA, EGA ´es VGA k´arty´an ´erhet˝o csak el.

´lata 3 Az mf.exe haszna

emTEX 213

A haszn´alhat´o opci´ok: 8 A 128–254 k¨ oz¨otti karaktereket is ´ertelmezi a feldolgozand´o f´ajlban. a* Ez az opci´ o adja meg annak az editornak a nev´et, amelynek h´ıv´asa au-

tomatikus. A megad´asi m´odr´ol r´eszletesebben a TEX hasonl´o opci´oj´an´al olvashatunk (l´ asd II.1 A tex.exe haszn´alata). b Batch-m´ od d A program nem haszn´ alja az expanded mem´ori´at. e Hiba eset´ en a v´egrehajt´as megszakad. g* Grafikus adapter v´ alaszt´asa. Ha hi´anyzik ez az opci´o, akkor automatikusan megt¨ort´enik a grafikus k´artya detekt´al´asa. gc CGA 320 × 200 ge EGA 640 × 200 vagy 640 × 350 gv VGA 640 × 480 i INIMF. ms# Stringmem´ oria m´eret´enek be´all´ıt´asa. A lehets´eges ´ert´ekek 20 000 ´es 65 500 k¨oz¨ottiek. Alap´ert´ek 35 000. n Az esetleges hib´ ak nem okozz´ak a v´egrehajt´as megszak´ıt´as´at. pv* Az alap´ ertelmezett eszk¨oz megad´asa. L´asd a TEX hasonl´o opci´oj´at (l´ asd II.1 A tex.exe haszn´alata). o Az output 8 bites. Csak az INIMF-fel egy¨ utt haszn´alhat´o. s Scroll m´ od Az opci´okat a - vagy a / jel vezeti be, ´es a METAFONT eset´en is be´all´ıthat´ok k¨ornyezeti v´altoz´o seg´ıts´eg´evel. Erre szolg´al az MFOPT k¨ornyezeti v´altoz´o. Haszn´alati m´odja teljes m´ert´ekben megegyezik a TEX hasonl´o opci´oj´a´eval. Ha nincs input-f´ajl megadva, akkor az els˝o parancsot a parancssorban \ jellel kell bevezetni. A mf.exe program a k¨ovetkez˝o k¨ornyezeti v´altoz´okat haszn´alja: MFBAS MFINPUT MFOPT TMP BMFBAS

A .bas f´ajlok ´es az mf.poo helye Az input-f´ajlok k¨onyvt´ara Alap´ertelmezett opci´ok Az a´tmeneti f´ajlok k¨onyvt´ara A .bas f´ajlok ´es az mf.poo helye bigMETAFONT eset´en

Ha megfelel sz´amunkra az emTEX rendszer a´ltal felk´ın´alt k¨onyvt´ari szerkezet, akkor a fenti k¨ornyezeti v´altoz´ok haszn´alat´at cs¨okkenthetj¨ uk. Az alap´ertelmezett k¨onyvt´arak a k¨ovetkez˝ok: \EMTEX\MFBASES A .bas f´ ajlok ´es az mf.poo k¨onyvt´ara \EMTEX\MFINPUT Az input-f´ ajlok k¨onyvt´ara \EMTEX\BMFBASES A .bas f´ ajlok ´es az mf.poo k¨onyvt´ara bigMETAFONT eset´en

Ha a f´ajlokat nem tal´alja az aktu´alis k¨onyvt´arban, akkor a k¨ornyezeti v´altoz´o a´ltal megadott k¨onyvt´arakban fogja keresni. Ha ez nem j´ar sikerrel, akkor az alap´ertelmezett k¨onyvt´arak k¨ovetkeznek a sorban.

214 emT X E

´lata 7 A fontlib.exe haszna

4. A gftopk.exe haszn´alata ´ Atalak´ ıtja a METAFONT outputj´at (.gf) pakolt a´llom´anny´a (.pk). Nagyon sok eszk¨ozmeghajt´o tudja olvasni a .pk f´ajlokat. Haszn´alata: GFTOPK [h gf-f´ ajl i [h pk-f´ ajl i]]

Az alap´ertelmezett kiterjeszt´es input illetve output eset´en: .gf illetve .pk.

5. A gftopxl.exe haszn´alata ´ Atalak´ ıtja a METAFONT kimenet´et .pxl f´ajll´a. Haszn´alata: GFTOPXL [h gf-f´ ajl i [h pxl-f´ ajl i]]

Az alap´ertelmezett kiterjeszt´es input illetve output eset´en: .gf illetve .pxl.

6. Egy´eb konverzi´ os programok Az emTEX programrendszer nagyon sok egy´eb konverzi´os programot tartalmaz, amelyek k¨ ul¨onb¨oz˝o fontform´atumok k¨oz¨otti konverzi´okat tesznek lehet˝ov´e. Ezeket most csak felsoroljuk: ´ CHTOPX Atalak´ ıtja a .chr f´ajlokat .pxl f´ajlokk´a. ´ PKTOGF Atalak´ıtja a .pk f´ ajlokat .gf f´ajlokk´a. ´ PKTOPX Atalak´ ıtja a .pk f´ajlokat .pxl f´ajlokk´a. ´ PXTOCH Atalak´ ıtja a .pxl f´ajlokat .chr f´ajlokk´a. ´ PXTOPK Atalak´ıtja a .pxl f´ ajlokat .pk f´ajlokk´a. GFTYPE A .gf f´ ajlokat a´talak´ıtja olvashat´o form´ara. PKTYPE A .pk f´ ajlokat a´talak´ıtja olvashat´o form´ara.

7. A fontlib.exe haszn´alata Lehet˝os´eg van arra, hogy a kor´abban megismert form´atumok mellett egy .fli kiterjeszt´es˝ u (font library) a´llom´anyt is l´etrehozzunk a gener´al´as ut´an a .pk vagy .pxl f´ajlokb´ol. Erre szolg´al a fontlib.exe nevezet˝ u program. Haszn´alata: FONTLIB [hopci´ oki] h fontk¨ onyvt´ ari [houtput-f´ ajl i] [hoper´ aci´ oki ]

´ A fontk¨onyvt´ar f´ajlok alap´ertelmezett kiterjeszt´ese: .fli. Allom´ anym´odos´ıt´as eset´en a kor´abbi verzi´o .bak kiterjeszt´es˝ u f´ajlk´ent meg˝orz˝odik. El˝osz¨or az opci´okat ismertetj¨ uk.

´ k le´ıra ´sa 7.1. Opcio

emTEX 215

7.1. Opci´ok le´ır´asa 1 R´ egi form´atum´ u .fli f´ajl kezel´ese. A DVISCR 1.4d ´es a k´es˝obbi verzi´ok csak az u ´ j form´atum´ u a´llom´anyokat tudj´ak kezelni, m´ıg a DVISCR 1.4c csak a r´egieket. Ezzel az opci´oval a r´egi form´atum´ u .fli f´ajlokat a´t-

alak´ıthatjuk u ´ j form´atum´ uv´a.

´ form´atum´ 2 Uj u .fli f´ajl kezel´ese. Ha a fenti opci´o nincs specifik´alva,

b#

c

d f*

i

k l

r

t

v x*

akkor az output-f´ajl t´ıpusa megegyezik az input-f´ajl t´ıpus´aval. Ha u ´j a´llom´anyt gener´alunk, ´es nem adjuk meg a fenti opci´ok egyik´et sem, akkor az u ´ j form´atum´ u lesz. Az alapfelbont´as be´all´ıt´asa. Ezt az opci´ot haszn´alni kell, ha r´egi form´atum´ u .fli f´ajlt akarunk a´tkonvert´alni u ´ j form´atum´ ura, vagy ha a & m˝ uveletet haszn´aljuk. Ha hi´anyzik, akkor ´ert´eke automatikusan nulla. ´ font´allom´any l´etrehoz´asa. Ha ilyen n´even m´ar l´etezik a´llom´any, Uj akkor a program r´ak´erdez, hogy azt fel¨ ul´ırja-e. Ha a w opci´ot is haszn´aljuk, akkor minden a´llom´anyt r´ak´erdez´es n´elk¨ ul fel¨ ul´ır. Ha a # m˝ uvelet a´ltal meghat´arozott m´asol´ashoz sz¨ uks´eges, akkor a hi´anyz´o k¨onyvt´arat l´etrehozza. Font lista. Az f* specifik´alja azt a f´ajlt, amely a fontok neveit tartalmazza. A font nev´et k¨ovetheti a fontban szerepl˝o karakterek sz´ama. A fontok nevei nyolc karaktern´el hosszabbak is lehetnek. A + m˝ uvelet a font nev´et lev´agja 8 karakterre. Az emTEX a´ltal haszn´alt o¨sszes font neve megtal´alhat´o az \EMTEX\fontlist a´llom´anyban. A parancssor ´ertelmez´ese ut´an egy promptot kapunk, ´ıgy m˝ uveleteket hajthatunk v´egre. T¨obb m˝ uveletet is ´ırhatunk egy sorba. A bevitelt egy u ¨ res sor megad´asa z´arja le. A ? hat´as´ara a kiv´alasztott k¨onyvt´ar ´es a kiv´alasztott fontm´eret jelen´ıt˝odik meg. Ha a font l´etezik a k¨onyvt´arban, akkor nem ´ır´odik fel¨ ul. A k¨onyvt´ar tartalm´anak a megjelen´ıt´ese. Ha a fontlib.exe hat´as´ara a k¨onyvt´arban fel¨ ul´ır´as t¨ort´ent, akkor az u ´ j tartalom jelenik meg. A font neve mellett annak f´ajlbeli elhelyezked´ese, ´es hossza is kijelz´esre ker¨ ul. Ha a font l´etezik a k¨onyvt´arban, akkor k´erdez´es n´elk¨ ul fel¨ ul´ır´odik. Ha ezt az opci´ot a k opci´oval egy¨ utt adjuk meg, akkor a fel¨ ul´ır´as el˝ott meger˝os´ıt´est k´er. Ha megadjuk ezt az opci´ot, akkor a program minden lehelyez´es sor´an ellen˝orzi, hogy az adott f´ajl ID-89 PK, ID-1001 PXL vagy ID-1002 PXL t´ıpus´ u fontot tartalmaz-e. Az u ¨ zeneteket a v´egrehajt´as sor´an megjelen´ıti. Kicser´eli a f´ajl kommentj´et. A kommentnek k¨ozvetlen¨ ul k¨ovetnie kell a bevezet˝o opci´ot. Ha a komment tartalmaz sz´ok¨ozt is, akkor azt id´ez˝ojelek k¨oz´e kell z´arni.

216 emT X E

´lata 7 A fontlib.exe haszna

7.2. M˝ uveletek (oper´aci´ok) le´ır´asa Az =hDOS-k¨onyvt´ari alakban adhatjuk meg az alapk¨onyvt´arat. A k¨onyvt´ar neve tartalmazhatja a m´ar megszokott %s e´s %r szimb´olumokat. Egy fontf´ajlt az .fli a´llom´anyba a + h fontn´evi m˝ uvelet seg´ıts´eg´evel m´asolhatunk a´t. Meg kell hat´arozni a m´eret´et is. Ha a f´ajl neve egyed¨ ul szerepel, akkor prefixumk´ent az alapk¨onyvt´ar nev´et kapja meg. Ha hi´anyzik a kiterjeszt´es, akkor eleinte kiterjeszt´es n´elk¨ ul, majd .pk kiterjeszt´essel, v´eg¨ ul .pxl kiterjeszt´essel keresi. Az els˝ot, amit megtal´alt, bem´asolja az .fli a´llom´anyba. Egy fontf´ajl t¨orl´ese az .fli a´llom´anyb´ol a - h fontn´evi m˝ uvelettel tehet˝o meg. Ha szeretn´enk a´tm´asolni egy megadott k¨onyvt´arb´ol minden fontot egy v´alasztott fontk¨onyvt´arba, akkor a & h fontk¨onyvt´ari m˝ uveletet kell haszn´alnunk. A #h fontn´evi m˝ uvelet seg´ıts´eg´evel a megadott fontokat kim´asolhatjuk a megadott fontk¨onyvt´arb´ol. Ha nem adunk meg k¨onyvt´arnevet, akkor az aktu´alis k¨onyvt´arba m´asolja a fontokat. Ha a d opci´ot megadjuk, akkor a neml´etez˝o k¨onyvt´arakat automatikusan l´etrehozza. A @h f´ajln´evi alakban listaf´ajlt adhatunk meg. Ez egy olyan f´ajl, amivel a fontlib.exe program dolgozik. A f´ ajl megh´ıvhat u ´ jabb listaf´ajlokat is. ´ A h f´ajln´evi-ben szerepelhetnek a megszokott ? ´es * szimb´olumok. Elhet¨ unk ezzel a lehet˝os´eggel a +h fontn´evi m˝ uvelet eset´en is. A fontf´ajlok neveit alap´ertelmez´esk´ent kisbet˝ uvel kell ´ırni. A fontm´eret megad´asa a dviscr.exe programn´al ismertetett m´odon t¨ort´enhet. P´eld´aul: 328.63353 font m´ erete dpi-ben 1 300:h 300 dpi ∗ 1,2 2 (= 328,63353) :2 kettes nagy´ıt´ asi faktor P´eld´ak: FONTLIB /X BIB1 NEWBIB &BIB2 &BIB3

H´arom k¨onyvt´arat o¨sszedolgoz egyetlen k¨onyvt´arr´a. Az u ´ j k¨onyvt´ar neve NEWBIB, ´ es t¨orli a k¨onyvt´arkommentet. FONTLIB /W /V /B300 /D MYFONTS =C:\PIXEL\%rDPI :0 #cm*.pk :1 #lasy10.pk

Bem´asol n´eh´any u ´ j fontot a k¨onyvt´arba u ´ gy, hogy a k´eperny˝on k¨ovethetj¨ uk az egyes m˝ uveleteket.

˝bb grafikus a ´bra ´k 1 Egyszeru

emTEX 217

VI. Egy´eb lehet˝ os´egek A \special makr´o haszn´alat´aval az emTEX speci´alis lehet˝os´egeit ´erhetj¨ uk el. Ezen makr´o leggyakrabban haszn´alt alakjait az al´abbi felsorol´as adja meg. \special{em:point hsorsz´ ami} h \special{em:line sorsz´ am1 i,hsorsz´ am2 i,hsz´eless´egi} h i \special{em:linewidth sz´eless´eg } \special{em:graph h f´ ajln´ev i} \special{em:message hsz¨ ovegi}

A fenti alakok k¨oz¨ ul az els˝o h´arom egyszer˝ ubb grafikus a´br´ak elk´esz´ıt´es´et, az utols´o el˝otti kor´abban elk´esz´ıtett grafikus a´br´ak beilleszt´es´et, az utols´o pedig a ford´ıt´as sor´an megjelen´ıtend˝o u ¨ zenetek megad´as´at teszi lehet˝ov´e. A k¨ovetkez˝okben ezen makr´ok haszn´alat´at fogjuk ismertetni a felsorol´as sorrendj´eben.

1. Egyszer˝ ubb grafikus ´abr´ak A fenti felsorol´asban szerepl˝o els˝o h´arom makr´ot haszn´alhatjuk egyenes szakaszokb´ol a´ll´o egyszer˝ u grafik´ak el˝oa´ll´ıt´as´ahoz. A \special{em:point hsorsz´ami} makr´o seg´ıts´eg´evel az aktu´alis pontot ell´athatjuk sorsz´ammal. Ezzel a sorsz´ammal, mint c´ımk´evel, hivatkozhatunk a k´es˝obbiekben erre a pontra. A hsorsz´ am1 i ´ es a hsorsz´am2 i a´ltal meghat´arozott pontokat a \special{em:line hsorsz´ am1 i,hsorsz´ am2 i,hsz´eless´egi} makr´ o seg´ıts´eg´evel o¨sszek¨othetj¨ uk egy egyenes vonallal. Az egyenes vonal vastags´ag´at a hsz´eless´egi param´eter hat´arozza meg. Ha hi´anyzik ez a param´eter, akkor a rendszer automatikusan 0.4 pt-nek veszi. Alap´ertelmez´esk´ent az egyenes szakaszok v´egei a szakaszra mer˝olegesen vannak elmetszve. Ezt m´odos´ıthatjuk a hsorsz´ami param´etert k¨ovet˝o v vagy h bet˝ u seg´ıts´eg´evel. Az els˝o esetben f¨ ugg˝olegesen, a m´asodik esetben v´ızszintesen ker¨ ul elmetsz´esre az egyenes szakasz adott v´ege. P´eldak´ent tekints¨ uk a k¨ovetkez˝o programr´eszletet ´es eredm´eny´et, amely a k¨ovetkez˝o a´br´an l´athat´o! \hskip 35mm \special{em:point \hskip 80pt \special{em:point \hskip 80pt \special{em:point \vskip 1.5cm \hskip 120pt \special{em:point \hskip 80pt \special{em:point \hskip 80pt

1} 2} 3}

4} 5}

218 emT X E

2 Grafika beilleszt´ ese

\special{em:point 6} \special{em:line 1,4,5pt} \special{em:line 2h,5h,5pt} \special{em:line 3v,6v,5pt}

A fenti programr´eszlet hat´as´ara a k¨ovetkez˝o a´br´at kapjuk:

A \special{em:linewidth hsz´eless´egi} makr´o seg´ıts´eg´evel az alap´ertelmezett vonalvastags´ag ´ert´ek´et a´ll´ıthatjuk a´t. Az alap´ert´ek, ahogy kor´abban eml´ıtett¨ uk, 0.4 pt. Az emTEX m´eg tov´abbi lehet˝os´egeket is tartalmaz egyszer˝ ubb grafik´ak l´etrehoz´as´ara.

2. Grafika beilleszt´ese Az emTEX rendszer lehet˝ov´e teszi, hogy tetsz˝oleges, .pcx illetve .msp form´atum´ u grafikus a´llom´anyt beszerkeszthess¨ unk a dokumentumunk tetsz˝oleges pontj´ara. Az a´llom´anyoknak 300 dpi felbont´as´ uaknak kell lenni¨ uk. (Ezt az alap´ertelmez´est az rg opci´o megad´asa m´odos´ıthatja.) Ha az a´llom´any nem ilyen felbont´as´ u, akkor a jobb oldal´an egy fekete cs´ık jelenhet meg a dokumentumban. (R´egebbi verzi´oj´ u eszk¨ozmeghajt´o eset´en ezt a hib´at az is eredm´enyezheti, hogy a k´ep sz´eless´ege pixelekben m´erve nem oszthat´o 16-tal.) A grafikus a´llom´anynak az aktu´alis vagy az opci´ok a´ltal meghat´arozott k¨onyvt´arban kell elhelyezkednie. A grafikus a´llom´anyok nem ker¨ ulnek t´arol´asra a .dvi a´llom´anyban, ez´ert az .lj a´llom´any elk´esz´ıt´es´eig sz¨ uks´eg van r´ajuk. Az a´bra bal fels˝o sarka a dokumentum aktu´alis poz´ıci´oj´ara ker¨ ul. A m˝ uvelet v´egrehajt´asa nem befoly´asolja az aktu´alis poz´ıci´ot. Ez n´eha h´atr´anyos, mert az a´br´anak sz¨ uks´eges hely kihagy´as´ar´ol k¨ ul¨on kell gondoskodnunk. Ezt a tulajdons´agot azonban felhaszn´alhatjuk arra, hogy az a´br´ankat ´es a sz¨oveget o¨sszemont´ırozzuk. P´eld´aul egy a´br´at a dokumentumunkba a k¨ovetkez˝ok´eppen illeszthet¨ unk be: \vskip 10pt \hskip 150pt \special{em:graph abra2} \vskip 3cm

´ lo ´i u ¨zenetek 3 Felhaszna

emTEX 219

3. Felhaszn´al´ oi u ¨zenetek A \special{} ezen alakja lehet˝ov´e teszi, hogy bizonyos oldalakat olyan kommentekkel l´assunk el, amelyek a ford´ıt´as sor´an az oldalsz´ammal k¨oz¨os sz¨ogletes z´ar´ojelben jelennek meg. A makr´o hat´ask¨ore csak egyetlen oldalra terjed ki. P´eldak´ent tekints¨ uk a proba.tex a´llom´anyt! Ez egy sor. \special{em:message Elso oldal} \bye

Miut´an elk´esz´ıtett¨ uk a proba.dvi f´ajlt is, ford´ıtsuk le nyomtathat´o alakra! Ennek hat´as´ara a k¨ovetkez˝o u ¨ zenet jelenik meg a k´eperny˝on: dvihplj -- Version 1.4d -- Copyright (c) 1988-1990 by Eberhard Mattes [1 Elso oldal] 2932 bytes of printer memory used

Sajnos az u ¨ zenet sz¨oveg´eben az ´ekezetes bet˝ uket nem haszn´alhatjuk.

I Index

Index 223

\ast

Itt a k¨onyvben szerepl˝o legfontosabb jelek, parancsok, fogalmak, kifejez´esek list´aj´at tal´alhatjuk meg, ut´anuk ´ırva azok legfontosabb el˝ofordul´asait. A kiemelt sz´amok (pl. 83) az illet˝o jel, parancs, fogalom, kifejez´es meghat´aroz´as´at vagy legfontosabb el˝ofordul´as´at jelzi. A list´aban ∗ -gal jel¨olt¨ uk a primit´ıv parancsokat. \ ~ \~ $ \$ $$ { \{ } \} _ ^ \^ \-

44, 72 42 24, 42 24, 56 42 56 24 32 42 24 32 42 62 62 42, 113 51

A \AA 42, 113 \aa 42, 113 \above* 68 \abovedisplayskip* 56 \abovewithdelims* 68 \abstract 147 abszol´ ut m´ert´ekegys´eg 30 \Acute 157 \acute 63, 157 \address 147 adjust.dvi 197 \advance* 40 \AE 42, 113 \ae 42, 113 \affil 147 alapvonal 46 \aleph 59, 162 \align 135 \alignat 138 \aligned 135 \alignedat 138

\/ 45 # 24, 83 & 24, 69, 82 \& 42 @ 24 \= 42, 112 @| 128 @= 128 @> 126 @AAA 127 @VVV 127 | 59 \| 59

\* \+ % \% \‘ \" \’ \, \; \. \! !‘ ?‘

73, 142 80 24 42 42, 113 42, 113 42, 113 72, 115 72, 115 42, 114 72, 115 113 113

\allowdisplaybreak 133, 142 \allowdisplaybreaks 133, 142 \allowmathbreak 141 \alpha 57, 159 \amalg 57, 161 amsplain.fmt 111 amsplain.tex 111, 187 amsppt.sty 110, 144 amssym.def 110, 167 amssym.tex 110, 167 \AmSTeX 109 amstex.tex 110, 145 \and 161 \angle 59, 162, 168 \approx 58, 162 \arccos 67, 165 \arcsin 67, 165 \arctan 67, 165 \arg 67, 165 argumentum 89 \Arrowvert 64 \arrowvert 64 \ast 57, 161

224 Index

\asymp 58, 162 \atop* 68 \atopwithdelims* 68 \author 146 autoexec.bat 185, 189 automatikus fejezetsz´ amoz´ as 41

B \B 112, 113 \b 42, 113 \backepsilon 170 \backprime 168 \backsim 169 \backsimeq 169 \backslash 59, 162 \Bar 157 \bar 63, 123, 157 \barwedge 169 .bas 22 base 210 \baselineskip* 46 bzis 22 \Bbb 168 \Bbbk 168 \because 170 \begingroup* 34 bekezd´es 25, 46 \belowdisplayskip* 56 bels˝ o vertik´ alis m´ od 38 \beta 57, 159 \beth 168 \between 170 \bf 26 \bgroup 33 BIBINPUT 184 \Big 64 \big 64 \bigcap 66, 164 \bigcirc 57, 161 \bigcup 66, 164 \Bigg 64 \bigg 64 \Biggl 64 \biggl 64

\asymp

\Biggm 64 \biggm 64 \Biggr 64 \biggr 64 \Bigl 64 \bigl 64 \Bigm 64 \bigm 64 \bigodot 66, 164 \bigoplus 66, 164 \bigotimes 66, 164 \bigpagebreak 115 \Bigr 64 \bigr 64 \bigskip 53 \bigsqcup 65, 164 \bigstar 168 \bigtriangledown 57, 161 \bigtriangleup 57, 161 \biguplus 66, 164 \bigvee 65, 164 \bigwedge 65, 164 \binom 119 \BlackBoxes 112 \blacklozenge 168 \blacksquare 168 \blacktriangle 168 \blacktriangledown 168 \blacktriangleleft 170 \blacktriangleright 170 \bmatrix 130 BMFBAS 184 BMFBASES 184 \bmod 166 \bold 116 \boldkey 160 \boldsymbol 160 \book 155 \bookinfo 155 \bot 59, 162 \botaligned 135 \botfoldedtext 141 \bowtie 58, 162 \boxdot 169 \boxed 118 \boxminus 169 \boxplus 169

Index 225

\date

\boxtimes 169 bp 29 \brace 68 \bracevert 64 \brack 68 \Breve 157 \breve 63, 157 BTEXFMT 184 BTEXFMTS 184 \bullet 57, 161 \Bumpeq 170 \bumpeq 170 \by 155 \bye 23

C \c 42, 113 \Cal 116, 160 \cal 60, 160 \Cap 169 \cap 57, 161 \caption 116 \captionwidth 116 \cases 70, 139 cc 29 \CD 126 \cdot 57, 161 \cdots 60, 122 \Cdprime 174 \cdprime 174 \centerdot 169 \CenteredTagsOnSplits 136 \centerline 49 \cfrac 120 \char* 43 \Check 157 \check 63, 157 \checkmark 168 \chi 57, 159 \choose 68 chtopx.exe 214 \ciclearrowright 171 \circ 57, 161 \circeq 170

\circlearrowleft 171 \circledast 169 \circledcirc 169 \circleddash 169 \circledR 168 \circledS 168 \cite 156 \clubsuit 59, 162 cm 29 \columns 80 \comment 112 \complement 168 config.sys 185 \cong 58, 162 \coprod 66, 164 \cos 67, 165 \cosh 67, 165 \cot 67, 165 \coth 165 \Cprime 174 \cprime 174 \cr* 69, 70, 83 \csc 67, 165 csoporthat´ arol´ o karakterek 32 \Cup 169 \cup 57, 161 \curclyeqprec 169 \curclyeqsucc 169 \curlyvee 169 \curlywedge 169 \curvearrowleft 171 \curvearrowright 171 cyracc.def 110

D \D 113 \d 42, 113 \dag 43, 59, 162 \dagger 57, 161 \daleth 168 \dashleftarrow 171 \dashrightarrow 171 \dashv 58, 162 \date 147

226 Index

\day* 97 \dbinom 120 dd 29 \ddag 43, 59, 162 \ddagger 57, 161 \ddddot 157 \dddot 157 \Ddot 157 \ddot 63, 157 \ddots 131 \def 90, 211 \define 112 \definition 150 \deg 67, 165 delimiterek 63 \Delta 57, 159 \delta 57, 159 \demo 150 \det 67, 165 \dfrac 120 \diagdown 168 \diagup 168 \diamond 57, 161 \diamondsuit 59, 162 \digamma 167 \dim 67, 165 \discretionary 51 \displaybreak 133, 141 \displaylines 70, 135 \displaystyle 61, 73 \div 57, 161 \divide 40 \divideontimes 169 dobozok 34, 75 \document 148 \documentstyle 145 \Dot 157 \dot 63, 157 \Doteq 170 \doteq 58, 162 \dotfill 78 \dotplus 169 \dots 122 \dotsb 122 \dotsc 122 \dotsi 122 \dotso 122

\day

\doublebarwedge 169 \Downarrow 58, 64, 164 \downarrow 58, 64, 164 \downbracefill 78 \downdownarrows 171 \downharpoonleft 171 \downharpoonright 171 \dsize 120, 143, 165 .dvi 21, 188, 193 dvidot.exe 206 DVIDRVFONTS 188 DVIDRVGRAPHS 188 DVIDRVINPUT 188 dvihplj.exe 205 dviscr.dlg 200 dviscr.exe 193 \Dzh 174 \dzh 174 \Dz 174 \dz 174

E \ed 155 \eds 155 \egroup 33 egyenletek illeszt´esei 70 egyenletsz´ amoz´ asok 70 \eightbf 144 \eightit 144 \eightpoint 144 \eightrm 144 \eightsl 144 \eightsmc 144 \eject 53 elhat´ arolt param´eter 91 elhelyez´esi index 198 \ell 59, 162 \else* 94 em 30 \email 147 \emptyset 59, 162 EMTEXED 192 EMTEXOPT 189 \endabstract 147

Index 227

\footnotetext

\endaddres 147 \endaffil 147 \endalign 135 \endalignat 138 \endaligned 135 \endalignedat 138 \endauthor 146 \endbmatrix 130 \endbotaligned 135 \endcases 139 \endCD 126 \endcfrac 120 \endcomment 112 \enddate 147 \enddefinition 150 \enddemo 150 \enddocument 148 \endemail 147 \endexample 150 \endgather 135 \endgathered 135 \endgraf 140 \endgroup* 34 \endheading 148 \endinsert 96 \endkeywords 147 \endmatrix 130 \endmultline 134 \endpmatrix 130 \endproclaim 149 \endref 154 \endRefs 154 \endremark 150 \endroster 150 \endSb 124 \endsmallmatrix 131 \endSp 124 \endsplit 135 \endsubjclass 147 \endthanks 147 \endtitle 146 \endtopaligned 135 \endtopmatter 146 \endVmatrix 130 \endvmatrix 130 \endxalignat 138 \endxxalignat 138

\enspace 45 \epsilon 57, 159 \eqalign 71 \eqalignno 71 \eqcirc 170 \eqno* 70 \eqslantgtr 169 \eqslantless 169 \equiv 58, 162 esetsz´etv´ alaszt´ asok 70, 139 \eta 57, 159 \eth 168 \everypar* 50 ex 30 \example 150 \exists 59, 162 \exp 67, 166 \expandafter* 99

F \fallingdotseq 170 \fam* 61 \finalinfo 155 \Finv 168 \flat 59, 162 .fli 209, 214 \flushpar 114 .fmt 22 fntbl.tex 43 \foldedtext 133, 140 \foldedwidth 141 \folio 53, 95 \font* 28 fonthelyettes´ıt´esi f´ ajl 201 fontk¨ onyvt´ ar 214 fontlib.exe 214 fontlib response 200 fontlist 215 fonts 210 fontsk´ al´ az´ as 199 \footline 53, 95, 112 \footnote 33, 54, 112, 152 \footnotemark 153 \footnotetext 153

228 Index

\forall 59, 162 \format 132 form´ atum-´ allom´ any 22 form´ atumsor 82 \frac 119 \fracwithdelims 120 \frak 159 frenchspacing 38, 44 \frown 58, 162 F¨ ules 50

G \Game 168 \Gamma 57, 159 \gamma 57, 159 \gather 135 \gathered 135 \gcd 67, 166 \gdef* 93 \ge 58 \geq 58, 162 \geqq 169 \geqslant 169 \gets 59 .gf 22 gftopk.exe 209, 214 gftopxl.exe 209, 214 gftype.exe 214 \gg 58, 162 \ggg 169 \gimel 168 \global* 93 \gnapprox 170 \gneq 170 \gneqq 170 \gnsim 170 \goth 159 \Grave 157 \grave 63, 157 \gtrapprox 169 \gtrdot 169 \gtreqless 169 \gtreqqless 169 \gtrless 169

\forall

\gtrsim 169 \gvertneqq 170

H \H 42, 113 \halign* 82 \hangafter* 49 \hangindent* 49 \Hat 157 \hat 63, 157 hat´ arol´ ojelek 63 \hbar 59, 162, 168 \hbox* 34, 72, 75, 116 \hbox spread* 75 \hbox to* 34, 75 \hcorrection 113 \hdots 131 \hdotsfor 131 \heading 148 \headline 53, 112 \heartsuit 59, 162 \hfil* 36 \hfill* 36 \hglue 36 \hoffset* 41, 52 \hom 67, 166 \hookleftarrow 59, 164 \hookrightarrow 59, 164 horizont´ alis (v´ızszintes) m´ od 38 HP DeskJet 206 \hrule* 79 \hrulefill 78 \hsize* 29, 52 \hskip* 36 \hslash 168 \hss* 37 \hyphenation* 52

I \i 43 \idotsint 165 \if* 94

Index 229

\leqno

\ifcase* 97 \ifdim* 95 \iff 59, 164 \ifhmode* 97 \ifmmode* 97 \ifnum* 95 \ifodd* 95 \ifvmode* 97 \ifx* 297 \iiiint 165 \iiint 165 \iint 165 illeszt´esek 83 \Im 59, 162 \imath 59, 162 \impliedby 164 \implies 164 \in 58, 162 \indent* 39 indexek 62 \inf 67, 166 \infty 59, 162 INIMF 213 INITEX 190 \injlim 166 \input* 110 \int 65 \intercal 169 \intertext 133, 139 \iota 57, 159 \it 26, 45 \italic 116 \item 48, 150 \itemitem 48

J \j 43 \jmath 59, 162 \jour 155

K \kappa 57, 159

karakterk´eszlet 22 karakterk´ od 97 kateg´ oriak´ od 97 \ker 67, 166 \key 155 \keywords 147 kiemelt matematikai m´ od 38, 56 kommutat´ıv diagram 126

L \L 42, 113 \l 42, 113 \Lambda 57, 159 \lambda 57, 159 \land 57, 161 \lang 155 \langle 64, 163 \lastskip* 96 \lbrace 157, 163 \lbrack 157, 163 \lceil 64, 163 \lcfrac 120 \ldots 60, 122 \le 58 \left* 65, 120 \Leftarrow 58, 164 \leftarrow 58, 125, 164 \leftarrowfill 78 \leftarrowtail 171 \leftharpoondown 59, 164 \leftharpoonup 59, 164 \leftleftarrows 171 \leftline 49 \Leftrightarrow 58, 164 \leftrightarrow 58, 164 \leftrightarrows 171 \leftrightharpoons 171 \leftrightsquigarrow 171 \leftroot 122 \leftskip* 48 \leftthreetimes 169 \leq 58, 162 \leqalignno 71 \leqno* 70

230 Index

\leqq 169 \leqslant 169 \lessapprox 169 \lessdot 169 \lesseqgtr 169 \lesseqqgtr 169 \lessgtr 169 \lesssim 169 lesz˝ uk´ıtett horizont´ alis m´ od 38 \let* 94 \lfloor 64, 163 \lg 67, 166 \lgroup 64 ligat´ ur´ ak 43 \lim 67, 166 \liminf 67, 166 \limits* 66, 165 \LimitsOnInts 165 \LimitsOnNames 167 \LimitsOnSums 165 \limsup 67, 166 \line 49 \lineskip* 47 \lineskiplimit* 47 .lj 188 \ll 58, 162 \llap 54 \llcorner 168 \Lleftarrow 171 \lll 169 \lmoustache 64 \ln 67, 166 \lnapprox 170 \lneq 170 \lneqq 170 \lnsim 170 \loadbold 160 \loadeufb 160 \loadeufm 159 \loadeurb 160 \loadeurm 160 \loadeusb 160 \loadeusm 160 .log 21, 187 \log 67, 166 \Longleftarrow 58, 164 \longleftarrow 58, 125, 164

\leqq

\Longleftrightarrow 58, 164 \longleftrightarrow 58, 164 \longmapsto 59, 164 \Longrightarrow 58, 164 \longrightarrow 58, 125, 164 \looparrowleft 171 \looparrowright 171 \lor 57, 161 \lozenge 168 \lrcorner 168 \Lsh 171 \ltimes 169 \lvertneqq 170

M mag 210 \magnification 30, 111 \magstep 31 makedot.exe 207 maketcp.exe 191 makr´ o 87 makr´ ok kifejt´ese 99 Malacka 50 \maltese 168 \mapsto 59, 164 \mathbreak 73, 141 \mathchar* 61 \mathop 66 \mathstrut 121 \matrix 69, 130 m´ atrixok 69, 130 \max 67, 166 Mazsola 51 \measuredangle 168 \medpagebreak 115 \medskip 53 \medspace 115 m´ert´ekegys´egek 29 m´ert´ekek 40 METAFONT 22 .mf 22 mf.exe 209, 212 MFBASES 184 MFINPUT 184

\nsubseteq

.mfj 209 MFJOB 184 mfjob.exe 209 MFOPT 213 \mho 168 \mid 58, 162 \midinsert 96 \midspace 115 \min 67, 166 \minCDarrowwidth 129 mm 29 mode 210 \models 58, 162 modes.mfj 212 \month* 97 \moreref 155 \mp 57, 161 .msp 207, 208, 218 \mu 57, 159 \multimap 171 \multiply 40 \multispan 85 \multline 134 \MultlineGap 135 \multlinegap 134

N \nabla 59, 162 nagyoper´ atorok 65 \narrower 48 \natural 59, 162 \ncong 170 \ne 58, 162 \nearrow 58, 164 \neg 59, 162 \negmedspace 115 \negthickspace 115 \negthinspace 115 nemelhat´ arolt param´eter 91 \neq 58 \newcount 41 \newdimen 41 \newline 114 \newpage 114

Index 231

\nexists 168 \ngeq 170 \ngeqq 170 \ngeqslant 170 \ngtr 170 \ni 58, 162 \ninebf 144 \nineit 144 \ninerm 144 \ninesl 144 \nLeftarrow 171 \nleftarrow 171 \nLeftrightarrow 171 \nleftrightarrow 171 \nleq 170 \nleqq 170 \nleqslant 170 \nless 170 \nmid 170 \no 155 \noalign* 85 \NoBlackBoxes 112 \noexpand* 99 \nofrenchspacing 38, 44 \nofrills 147 \noindent 39 \nolimits* 66, 165 \NoLimitsOnInts 165 \NoLimitsOnNames 167 \NoLimitsOnSums 165 \nomathbreak 141 \nomultlinegap 134 \nopagebreak 114 \NoPageNumbers 148 \nopagenumbers 53 \NoRunningHeads 148 \not 162 \notin 58, 162 \nparallel 170 \nprec 170 \npreceq 170 \nRightarrow 171 \nrightarrow 171 \nshortmid 170 \nshortparallel 170 \nsim 170 \nsubseteq 170

232 Index

\nsubseteqq 170 \nsucc 170 \nsucceq 170 \nsupseteq 170 \nsupseteqq 170 \ntriangleleft 170 \ntrianglelefteq 170 \ntriangleright 170 \ntrianglerighteq 170 \nu 57, 159 nuldelimiter 65 \number* 41, 97 \nVdash 170 \nVDash 170 \nvDash 170 \nvdash 170 \nwarrow 58, 164

O \O 42, 113 \o 42, 113 \odot 57, 161 \OE 42, 113 \oe 42, 113 \offinterlineskip 47, 86 \oint 66 \oldnos 112, 158 \oldstyle 60, 112, 158 \Omega 57, 159 \omega 57, 159 \ominus 57, 161 \omit* 85 opci´ o-f´ ajl 196, 200, 203 \operatorname 166 \operatornamewithlimits 166 \oplus 57, 161 \oslash 57, 161 \otimes 57, 161 \outer* 94 \over* 68 \overarrow 126 \overbrace 63, 66, 124 Overfull... 37 \overfullrule* 37

\nsubseteqq

\overleftarrow 63, 126 \overleftrightarrow 126 \overline* 63, 123 \overrightarrow 63, 126 \overset 123 \oversetbrace 124 \overwithdelims* 68 \owns 58

P \P 59, 162 \pagebreak 114 \pagegoal* 96 \pageheight 113, 145 \pageno 40, 53 \pages 155 \pagetotal* 96 \pagewidth 113, 145 \paper 155 \paperinfo 155 \par* 46 paragrafus m´ od 39 \parallel 58, 162 param´eterlista 90 \parindent* 46, 145 \parshape* 49 \parskip* 47 \partial 59, 162 PATH 185 pc 29 .pcl 208 pcltomsp.exe 208 .pcx 207, 208, 218 \perp 58, 162 \Phi 57, 159 \phi 57, 159 \Pi 57, 159 \pi 57, 159 \pitchfork 170 .pk 22, 209 pktogf.exe 214 pktopx.exe 214 pktype.exe 214 plain.fmt 22, 192

\runinitem

\plainfootnote 112, 152 \plainproclaim 112 \pm 57, 161 \pmatrix 69, 130 \pmod 166 \pod 166 \Pr 67, 166 \prec 58, 162 \precapprox 169 \preccurlyeq 169 \preceq 58, 162 \precnapprox 171 \precneqq 171 \precnsim 171 \precsim 169 \pretend 128 \pretolarence* 52 \prime 59, 162 primit´ıvek 87 \proclaim 112, 149 \prod 65, 164 \projlim 166 prompt 194 \propto 58, 162 prthplj.bat 188, 205 \Psi 57, 159 \psi 57, 159 pt 29, \publ 155 \publaddr 155 .pxl 22, 200, 209 pxtopk.exe 214

Q \qquad 72 \quad 72

R ragaszt´ o helykihagy´ asa 35 ragaszt´ o ny´ ujthat´ os´ aga 35 ragaszt´ oo ¨sszenyomhat´ os´ aga 35 ragaszt´ o term´eszetes sz´eless´ege 35

Index 233

ragaszt´ ok 34 \rangle 64, 163 \rbrace 157, 163 \rbrack 157, 163 \rceil 64, 163 \rcfrac 121 \Re 59, 162 redef 211 \redefine 112 \ref 154 \Refs 154 relat´ıv m´ert´ekegys´eg 30 .rem 185 \remark 150 remove.exe 185 \removelastskip 96 \rfloor 64, 163 \rgroup 64 \rho 57, 159 \right* 65, 120 \Rightarrow 58, 164, 171 \rightarrow 58, 125, 164 \rightarrowfill 78 \rightarrowtail 171 \rightharpoondown 59, 164 \rightharpoonup 59, 164 \rightleftarrows 171 \rightleftharpoons 59, 164, 171 \rightline 49 \rightrightarrows 171 \rightskip* 48 \rightsquigarrow 171 \rightthereetimes 169 \risingdotseq 170 \rlap 54 \rm 26 \rmoustache 64 \roman 116 \root 67, 122 \roster 150 \Rrightarrow 171 \Rsh 171 \rtimes 169 \runinitem 151

234 Index

S \S 59, 162 \Sb 124 \scriptscriptstyle* 61, 73 \scriptstyle* 61, 73 \searrow 58, 164 \sec 67, 166 \setminus 57, 161 \settabs 80 \sevenbf 144 \sevenit 144 \sevenrm 144 \sharp 59, 162 \shortmid 170 \shortparallel 170 \sideset 125 \Sigma 57, 159 \sigma 57, 159 \sim 58, 162 \simeq 58, 162 \sin 67, 166 \sinh 166 \sixbf 144 \sixrm 144 \sl 26 \slanted 116 \smallfrown 170 \smallint 162 \smallmatrix 131 \smallpagebreak 115 \smallsetminus 169 \smallskip 53 \smallsmile 170 \smile 58, 162 sort´ avols´ ag 46 sp 29 \Sp 124 \space 44 \spacute 158 \spadesuit 59, 162 \spbar 158 \spbreve 158 \spcheck 158 \spddddot 158 \spdddot 158 \spddot 158

\S

\spdot 158 \special* 204, 217 \spgrave 158 \sphat 158 \sphericalangle 168 \split 135 \spreadlines 133, 142 \spreadmatrixlines 130 \sptilde 158 \spvec 158 \sqcap 57, 161 \sqcup 57, 161 \sqrt 67, 121 \sqsubset 169 \sqsubseteq 162 \sqsupset 169 \sqsupseteq 58, 162 \square 168 \ss 42, 113 \ssize 143 \sssize 143 \star 57, 161 st´ atusz sor 194, 202 \strut 84 \subheading 149 \subjclass 147 \Subset 169 \subset 58, 162 \subseteq 58, 162 \subseteqq 169 \subsetneq 171 \subsetneqq 171 \succ 58, 162 \succapprox 169 \succcurlyeq 169 \succeq 58, 162 \succnapprox 171 \succneqq 171 \succnsim 171 \succsim 169 \sum 65, 164 \sup 67, 166 \Supset 169 \supset 58, 162 \supseteq 58, 162 \supseteqq 169

\twoheadrightarrow

\supsetneq 171 \supsetneqq 171 \surd 59, 162 \swarrow 58, 164 sz´ aml´ al´ ok 40 sz¨ oveg (text) m´ od 39 sz¨ ovegk¨ ozi matematikai m´ od 38, 55

T \t 42, 113 \tabskip* 84 \tag 117, 133 \TagsAsMath 118 \TagsAsText 118 \TagsOnLeft 117 \TagsOnRight 117 \tan 67, 166 \tanh 67, 166 \tau 57, 159 \tbinom 120 .tcp 191 \tenbf 144 \tenit 144 \tenpoint 144 \tenrm 144 \tensl 144 \tensmc 144 \TeX 25 .tex 21 tex.exe 21, 189 texconv.exe 191 TEXFMT 184 TEXFMTS 184 TEXINPUT 184 texput.dvi 200, 207 \text 116 TEXTFM 184 \textstyle* 73 TFM 184 \tfrac 120 \thanks 147 \the* 41 \therefore 170 \Theta 57, 159

Index 235

\theta 57, 159 \thetag 118 \thickapprox 169 \thickfrac 120 \thickfracwithdelims 120 \thickness 120 \thicksim 169 \thickspace 115 \thinspace 115 Tigrincs 51 \Tilde 157 \tilde 63, 157 \times 57, 161 \title 146 \to 59, 125, 164 \toappear 155 t¨ obbszint˝ u indexek 124 \toheadleftarrow 171 \tolerance* 52 \top 59, 162 \topaligned 135 \topfoldedtext 141 \topinsert 96 \topmatter 146 \TopOrBottomTagsOnSplits 136 \topskip* 53 \topspace 116 transzform´ aci´ ok 194 \triangle 59, 162 \triangledown 168 \triangleleft 57, 161 \trianglelefteq 170 \triangleq 170 \triangleright 57, 161 \trianglerightteq 170 true 30 \tsize 143, 165 \tt 26 t¨ uk¨ orm´eret magass´ aga 197 t¨ uk¨ orm´eret sz´eless´ege 197 \twoheadleftarrow 171 \twoheadrightarrow 171

236 Index

U \u 42, 113 \ulcorner 168 Undefined control sequence... 93 \underarrow 126 \underbrace 63, 66, 124 Underfull... 76 \underleftarrow 126 \underleftrightarrow 126 \underline* 63, 123 \underrightarrow 126 \underset 123 \undersetbrace 124 \Uparrow 58, 64, 164 \uparrow 58, 64, 164 \upbracefill 78 \Updownarrow 58, 64, 164 \updownarrow 58, 64, 164 \upharpoonleft 171 \upharpoonright 171 \uplus 57, 161 \uproot 122 \Upsilon 57, 159 \upsilon 57, 159 \upuparrows 171 \urcorner 168 \UseAMSsymbols 110

V \v 42, 113 v.bat 188, 193 \varDelta 159 \varepsilon 57, 159 \varGamma 159 \varinjlim 166 \varkappa 167 \varLambda 159 \varliminf 166 \varlimsup 166 \varnothing 168 \varOmega 159 \varPhi 159 \varphi 57, 159

\u

\varPi 159 \varpi 57, 159 \varprojlim 166 \varpropto 170 \varPsi 159 \varrho 57, 159 \varSigma 159 \varsigma 57, 159 \varsubsetneq 171 \varsubsetneqq 171 \varsupsetneq 171 \varsupsetneqq 171 \varTheta 159 \vartheta 57, 159 \vartriangle 168 \vartriangleleft 169 \vartriangleright 169 \varUpsilon 159 \varXi 159 \vbox* 34, 76 \vbox to* 34, 76 \vcenter* 76 \vcorrection 113 \Vdash 170 \vDash 170 \vdash 58, 162 \vdots 131 \Vec 126, 157 \vec 63, 126, 157 \vee 57 \veebar 169 v´egtelen¨ ul o ¨sszenyomhat´ o 37 \Vert 59, 64, 162 \vert 59, 64, 162 vertik´ alis (f¨ ugg¨ oleges) m´ od 38 .vf f´ ajlok 200 \vfil* 37, 77 \vfill* 37, 53, 77 \vfootnote 54 \vglue 36, 53 v´ızszintes eltol´ asi ´ert´ek 198 \Vmatrix 130 \vmatrix 130 \voffset* 41, 52 \vol 155 vonalz´ o 194, 202 \vrule* 79

Index 237

\zeta

\vsize* 52 \vskip* 36, 53 \vspace 124, 133, 142 \vss 37, 77 \vtop* 76 \Vvdash 170

W \wedge 57 \widehat 63, 158 \widetilde 63, 158 \withdelims 68 \wp 59, 162 \wr 57, 161

X \xalignat 138 \Xi 57, 159 \xi 57, 159 \xxalignat 138

Y \year* 97 \yen 168 \yr 155

Z z´ ar´ ojelek 63 \zeta 57, 159