´ 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: +, −, ∗, =, /, >, <. Mi, magyarok tudjuk igaz´an ´ert´ekelni a TEX azon tulajdons´ag´at, hogy alkalmas arra, hogy az ´ekezetes bet˝ uk sz´eles csal´adj´at megjelen´ıtse. N´ezz¨ uk meg a lehet˝os´egeket: G´epel´esi k´ep \‘o \’o \^o \"o \=o \.o
Eredm´eny k´ep o` o´ oˆ o¨ o¯ o˙
G´epel´esi k´ep \H o \u o \v o \t oo \b o \d o \c o
Eredm´eny k´ep o˝ o˘ oˇ o o o o¯. o¸
L´athatjuk, hogy az ´ekezet t´ıpus´at egy parancs hat´arozza meg, ezt egy karakter k¨oveti, amelyre az ´ekezet felker¨ ul. A m´asodik oszlopban szerepl˝o parancsok eset´eben a parancs ´es a karakter k¨oz¨ott sz´ok¨oz van. A \b, \c ´es \d parancs az o˝t k¨ovet˝o csoport k¨ozep´ere helyezi az ´ekezetet. P´eld´aul \c{te} eredm´enye te ¸. A TEX-ben lehet˝os´eg van speci´alis bet˝ uk megjelen´ıt´es´ere is. Ezekre szint´en parancsokkal hivatkozhatunk. Ezek a k¨ovetkez˝ok: G´epel´esi k´ep \oe \ae \aa \o \l \ss ∗ Ez
Eredm´eny k´ep œ æ ˚ a ø l ß
G´epel´esi k´ep \OE \AE \AA \O \L
a parancs \it bet˝ ut´ıpus´ u k¨ ornyezetben a £ jelet eredm´enyezi.
Eredm´eny k´ep Œ Æ ˚ A Ø L
´ ´ ´lis betu ˝k, ligatu ´ ra ´k 2.1. Ekezetes es specia
plainTEX
43
Mivel az i” ´es a j” bet˝ u m´ar rendelkezik egy ´ekezettel, a fenti paran” ” csok seg´ıts´eg´evel nem tudn´ank p´eld´aul ´ı”-t k´esz´ıteni. A \’i eredm´enye ´i” ” ” lesz. Emiatt rendelkez´esre a´llnak a \i, \j parancsok, amelyek ı” ´es ” k´epet ” ” eredm´enyeznek. Ennek megfelel˝oen az ´ı”-t a k¨ovetkez˝ok´eppen jelen´ıthetj¨ uk ” meg: \’\i. Itt szeretn´enk egy tipikus hib´ara felh´ıvni a Tisztelt Olvas´o figyelm´et. Tekints¨ uk a k¨ovetkez˝o p´eld´at! Szedj¨ uk ki a k¨ovetkez˝o sz¨ovegr´eszt: Veszedelmes ” v´ırusok”! A fentiek ismeret´eben a leggyakrabban a Veszedelmes v\’\irusok alakkal pr´ob´alkozunk, aminek a hat´as´ara a ford´ıt´as Undefined control sequence hiba¨ uzenettel le´all, mert az \irusok parancs alap´ertelmez´esben nem l´etezik. A fentiek alapj´an a v´ırusok sz´o n´eh´any lehets´eges szed´esi m´odja: v\’\i rusok, v{\’\i}rusok, v\’\i{}rusok. ´ Erdemes m´eg megeml´ıteni a k¨ovetkez˝o speci´alis jeleket ki´ırat´o parancsokat: G´epel´esi k´ep
Eredm´eny k´ep
G´epel´esi k´ep
Eredm´eny k´ep
\dag \S
† §
\ddag \P
‡ ¶
A karakterk´eszlet tetsz˝oleges karakter´ere k¨ozvetlen¨ ul hivatkozhatunk a \charhsz´ ami
parancs seg´ıts´eg´evel, ahol a hsz´ami hely´ere ´ırt 0 ´es 255 k¨oz¨otti ´ert´ek az adott karakter k´odj´at jelenti a karakterk´eszletben. Azt, hogy egy karakterk´eszletben egy karakternek mi a k´odja, az fntbl.tex a´llom´any leford´ıt´asa ut´an n´ezhetj¨ uk meg. Ez a ford´ıt´as sor´an a v´alasztott karakterk´eszletr˝ol egy t´abl´azatot k´esz´ıt, amelyb˝ol kikereshetj¨ uk a karakterek k´odjait. P´eld´aul a \char126 a ˜” karak” tert jelen´ıti meg antikva st´ılus´ u karakterk´eszlet eset´en. Vannak olyan bet˝ uk, amelyek egym´as mell´e ker¨ ulve bizonyos diszharm´oni´at keltenek. Ez´ert ezekre a bet˝ ukapcsolatokra egy-egy k¨ ul¨on, u ´ j karaktert szoktak tervezni. Ezek a bet˝ ukombin´aci´ok a klasszikus ligat´ ur´ ak. A TEX eset´eben ez azt jelenti, hogy amennyiben a forr´assz¨ovegben az al´abbi t´abl´azat els˝o oszlop´aban l´ev˝o bet˝ ucsoportok el˝ofordulnak, ezen bet˝ uk egyedi k´epe helyett a kiszedett sz¨ovegben a m´asodik oszlopban l´athat´o ligat´ ur´ak jelennek meg. Ezeken k´ıv¨ ul a TEX-ben l´eteznek – k´enyelmi megfontol´asb´ol kiindulva – m´as ligat´ ur´ak is. Az al´abbi t´abl´azatban a TEX karakterk´eszleteiben l´ev˝o ligat´ ur´akat soroljuk fel, ahol a m´asodik oszlopban l´athat´ok a klasszikus, a negyedik oszlopban pedig a TEX-ben megl´ev˝o egy´eb ligat´ ur´ak. G´epel´esi k´ep ff fl ffl fi ffi
Eredm´eny k´ep ff fl ffl fi ffi
G´epel´esi k´ep ‘‘ ’’ ---?‘ !‘
Eredm´eny k´ep “ ” – — ¿ ¡
44
plainTEX
´sa 2 Oldalak l´ etrehoza
A “Scheffler maffia” (‘‘Scheffler maffia’’) sz¨ovegben n´egy ligat´ ura van. Le lehet tiltani a ligat´ ur´ak ki´ır´as´at a karakterek k¨oz´e u ¨ res csoport beiktat´as´aval, p´eld´aul a fenti sz¨oveget, ‘{}‘Schef{}f{}ler maf{}f{}ia’{}’ m´odon beg´epelve a ‘‘Scheffler maffia’’ k¨ ulalakot kapjuk.
2.2. Sz´ok¨oz¨ok A szavak k¨oz¨otti sz´ok¨oz¨ok m´erete a karakterk´eszlett˝ol f¨ ugg, m´erete igazodik a bet˝ uk m´eret´ehez ´es jelleg´ehez. A sz¨oveg ig´enyes megjelen´es´ehez az is hozz´atartozik, hogy az ´ır´asjelek ut´an nagyobb sz´ok¨oz jelenjen meg. A TEX-hel szedett sz¨ovegben sz´ok¨ozt legegyszer˝ ubben u ´ gy jelen´ıthet¨ unk meg, hogy a k´ıv´ant helyre a forr´asz¨ovegbe legal´abb egy sz´ok¨ozt g´epel¨ unk. Ugyanolyan tulajdons´agokkal rendelkez˝o sz´ok¨ozt eredm´enyez a \space parancs. Itt is ´erdemes megeml´ıteni, hogy a parancssz´ot k¨ovet˝o sz´ok¨oz¨ok nem megjelen´ıtend˝ok, hanem hat´arol´o szerepet t¨oltenek be (l´ asd 1.3. Parancsok, parancsszavak). A TEX-ben a pontot, a k´erd˝ojelet, a felki´alt´ojelet ´es a kett˝ospontot k¨ovet˝o sz´ok¨oz alap´ertelmez´esben a norm´al sz´ok¨oz 1,5-szerese, ´es ny´ ujthat´os´aguk is nagyobb m´ert´ek˝ u. El˝ofordulnak azonban olyan esetek, amikor nem sz¨ uks´eges nagyobb helykihagy´as, mert az ´ır´asjel nem mondatot vagy tagmondatot z´ar. Ezekben az esetekben haszn´alhatjuk a \ parancsot, illetve a ~ karaktert norm´al sz´ok¨oz hagy´as´ara: Kiss Zs. fiatalkor´ u, Dr. Szentey Ede, Proc. Amer. Math. Soc. Kiss Zs. fiatalkor´ u, Dr. Szentey Ede, Proc. Amer. Math. Soc.
Az els˝o p´eld´aban a sz¨ovegben norm´al sz´ok¨oz¨ok vannak, m´ıg a m´asodikban a pontok ut´an az eredeti, nagyobb sz´ok¨oz¨ok: Kiss Zs.\ fiatalkor\’u, Dr.~Szentey Ede, Proc.\ Amer.\ Math.\ Soc. Kiss Zs. fiatalkor\’u, Dr. Szentey Ede, Proc. Amer. Math. Soc.
A k¨ ul¨onbs´eg a \ ´es a ~ k¨oz¨ott az, hogy az el˝obbin´el a TEX sz´am´ara enged´elyezett a soremel´es, m´ıg az ut´obbin´al nem. Ha hosszabb olyan sz¨oveget ´ırunk, ahol nem sz¨ uks´egesek az extram´eret˝ u sz´ok¨oz¨ok (pl. irodalomjegyz´ek), ott a \frenchspacing paranccsal ezt glob´alisan be´all´ıthatjuk. A parancs hat´asa az aktu´alis csoport bez´ar´as´aig, illetve a \nofrenchspacing parancs kiad´ as´aig tart. Abban az esetben, ha a fent eml´ıtett ´ır´asjelek nagybet˝ ut k¨ovetnek, a nagyobb helykihagy´as elmarad. El˝ofordulnak azonban olyan esetek, hogy a mondatv´egi ´ır´asjel nagybet˝ ut k¨ovet, ´es sz¨ uks´eges lenne az extra helykihagy´as. Ezt a probl´em´at p´eld´aul u ´ gy tudjuk megoldani, hogy az ´ır´asjel el´e be´ırunk egy u ¨ res \hbox-ot: . . . ez a NASA. A k¨ ovetkez˝ o ... . . . ez a NASA. A k¨ ovetkez˝ o ... . . . ez a NASA. A k¨ ovetkez˝ o ...
Az els˝o k´et sorban a c´elravezet˝o megold´asok k¨oz¨ ul l´athatunk kett˝ot, a harmadik sorban pedig az alaphelyzetet.
2.3. Kurz´ıv kiegyenl´ıt´ es
plainTEX
45
Ezek forr´assz¨ovegbeli k´epe: \dots ez a NASA\hbox{}. A k\"ovetkez\H o\dots \dots ez a NASA\null. A k\"ovetkez\H o\dots \dots ez a NASA. A k\"ovetkez\H o\dots
A fentebb eml´ıtett sz´ok¨oz¨ok mindegyike ny´ ujthat´o. Ez teszi lehet˝ov´e a TEX sz´am´ara a bekezd´es harmonikus k´ep´enek kialak´ıt´as´at, amennyiben haszn´alunk elv´alaszt´ast. Vannak azonban olyan esetek, amikor egy-egy sz´ok¨oz ny´ ujt´asa nem jav´ıtja, hanem rontja a v´egeredm´eny k´ep´et. Ilyen p´eld´aul: – Ha felsorol´ ast k´esz´ıt¨ unk, hogy egyr´eszt haszn´ aljuk az elv´ alaszt´ asi lehet˝ os´eget, m´ asr´eszt csak egyszer˝ u bekezd´esk´ent szeretn´enk ´ırni, – jobb k¨ ulalakot biztos´ıt, ha a gondolatjel ut´ ani sz´ ok¨ oz¨ ok egys´eges m´eret˝ uek.
Ilyen esetekben haszn´alhatjuk a kicsit nagyobb sz´ok¨ozt eredm´enyez˝o, soremel´est letilt´o ´es nem ny´ ujthat´o \enspace parancsot: – Ha felsorol´ ast k´esz´ıt¨ unk, hogy egyr´eszt haszn´ aljuk az elv´ alaszt´ asi lehet˝ os´eget, m´ asr´eszt csak egyszer˝ u bekezd´esk´ent szeretn´enk ´ırni, – jobb k¨ ulalakot biztos´ıt, ha a gondolatjel ut´ ani sz´ ok¨ oz¨ ok egys´eges m´eret˝ uek.
ez ut´obbinak forr´assz¨ovegbeni k´epe: --\enspace Ha felsorol\’ast . . . \’\i rni,\par --\enspace jobb . . . m\’eret\H uek.
2.3. Kurz´ıv kiegyenl´ıt´es Sz¨ovegkiemel´est v´egezhet¨ unk p´eld´aul u ´ gy, hogy a kiemelend˝o sz´ot vagy sz¨ovegr´eszt kurz´ıvan, d˝olt bet˝ ut´ıpussal (pl. az \it paranccsal) szedj¨ uk. A bet˝ uk alakj´ab´ol k¨ovetkez˝oen az utols´o kurz´ıv sz´o ´es az azt k¨ovet˝o sz´o k¨oz¨ott a sz´ok¨oz kisebbnek t˝ unik. Hogy a szemnek tetszet˝osebb legyen, alkalmazzuk a kurz´ıv kiegyenl´ıt´est, a \/-t, amelyet a d˝olt bet˝ ut´ıpus´ u k¨ornyezet utols´o karaktere ut´an kell ´ırni: {\it...\/}! . . . a gr´ af k¨ ovetkez˝ o ... . . . a gr´ af k¨ ovetkez˝ o ...
Az els˝o p´eld´aban kurz´ıv kiegyenl´ıt´essel, a m´asodikban an´elk¨ ul ´ırtuk a sz¨oveget: . . . a {\it gr\’af\/} k\"ovetkez\H o . . . . . . a {\it gr\’af} k\"ovetkez\H o . . .
Szemmel l´athat´oan jobb az els˝o verzi´o. Ha a sorv´egi kiegyenl´ıt´es miatt a sz´ok¨oz¨oket cs¨okkenteni k´enytelen a TEX, a k¨ ul¨onbs´eg m´egink´abb szembet˝ un˝o. Kurz´ıv kiegyenl´ıt´es minden karakterk´eszlethez tarozik, csak nem mindegyikn´el jelent plusz helykihagy´ast. Ez azt jelenti, hogy sehol sem okoz hib´at az alkalmaz´asa.
46
plainTEX
´sa 2 Oldalak l´ etrehoza
2.4. A bekezd´es alakja Egy dokumentum elk´esz´ıt´ese sor´an a sz¨oveg tagol´as´ahoz a TEX sok seg´ıts´eget ´ bekezd´est (paragrafust) eredm´enyez, ha egy ny´ ujt a felhaszn´al´o sz´am´ara. Uj adott sz¨ovegr´esz el˝ott a forr´asf´ajlban legal´abb egy u ¨ res sort hagyunk. Hasonl´o hat´ast ´erhet¨ unk el a \par parancs be´ır´as´aval is. Nem sz¨ uks´eges azonban a bekezd´es v´eg´et k¨ ul¨on jel¨olni, ha a f¨ ugg˝oleges helykihagy´o parancsok (l´ asd 2.7. Az oldal alakja) valamelyik´et haszn´aljuk, ugyanis ezek hat´as´ara is a´tt´er a TEX vertik´alis u ¨ zemm´odba. Az u ´ j bekezd´es els˝o sora a szed´est¨ uk¨or bal sz´el´et˝ol a \parindent= hdimeni parancsban megadott m´ert´ekkel kezd˝odik beljebb. (Az alap´ert´ek plainTEX eset´en 20 pt.) Ha u ´ gy akarunk u ´ j bekezd´est kezdeni, hogy a bekezd´es els˝o sora ne kezd˝odj¨on beljebb, akkor haszn´alhatjuk a \noindent parancsot. Ha az eg´esz dokumentumon bel¨ ul szeretn´enk ilyen bekezd´eseket haszn´alni, akkor azt a \parindent=0pt parancs seg´ıts´ eg´evel ´erhetj¨ uk el. Azonban a \parindent=0pt-s be´all´ıt´assal vigy´aznunk kell, mert ezzel megv´altoztatjuk t¨obb, esetleg haszn´alni k´ıv´ant parancs (pl. \item, \narrower, stb. – l´asd k´es˝obb) be´all´ıt´asait. P´eld´aul tekints¨ uk a k¨ovetkez˝o TEX a´llom´any-r´eszletet! \noindent Nincs bekezd\’es\par Ez egyszeres bekezd\’es\par \indent\indent Ez k\’etszeres bekezd\’es\par
Ennek hat´as´ara a k¨ovetkez˝o sz¨ovegk´epet kapjuk: Nincs bekezd´es Ez egyszeres bekezd´es Ez k´etszeres bekezd´es
A TEX a karakterek sorokba rendez´esekor azokat a sorhoz tartoz´o u ´ n. alapvonalra illeszti. Erre helyezi r´a p´eld´aul az A, M, m, m, n stb. bet˝ uk alj´at. Ez az alapvonal a´ltal´aban nem esik egybe a sor fizikai alj´aval – hiszen pl. a g” ” bet˝ unek van alapvonal alatti r´esze is. A sor fizikai alj´anak ´es alapvonal´anak t´avols´aga lesz a sor m´elys´ege, a sor tetej´enek az alapvonalt´ol m´ert t´avols´aga pedig a sor magass´aga. A sort´ avols´ agot, azaz k´et azonos bekezd´esen bel¨ uli egym´ast k¨ovet˝o sor alapvonal´anak t´avols´ag´at a \baselineskip=hdimeni plushdimeni minushdimeni
paranccsal adhatjuk meg. A plushdimeni minushdimeni elhagyhat´o. Az alap´ertelmezett be´all´ıt´as: \baselineskip=12pt. Annak ellen´ere, hogy 12 pontban van meghat´arozva k´et sor alapvonal´anak a t´avols´aga, a TEX nem fog (legal´abbis o¨nk´ent) k´et sort egym´asra ´ırni akkor sem, ha a sz´oban forg´o sorok fels˝o sora m´elys´eg´enek ´es als´o sora magass´ag´anak
2.4. A bekezd´ es alakja
plainTEX
47
o¨sszege nagyobb 12 pontn´al. Ennek az az oka, hogy van k´et param´eter, ami meghat´arozza, hogy ha sz¨ uks´eges, mennyivel n¨ovelje a sorok alapvonal´anak t´avols´ag´at. Ez a k´et param´eter a \lineskiplimit=hdimeni ´ es a \lineskip=hdimeni.
A \lineskip azt hat´arozza meg, hogy mekkora legyen minim´alisan a k´et sor k¨oz¨otti t´avols´ag, azaz a fels˝o sor legm´elyebb ´es az als´o sor legmagasabb karakter´enek illetve strukt´ ur´aj´anak a t´avols´aga. Ha a sorok k¨oz¨otti t´avols´ag a \lineskiplimit-ben meghat´ arozott m´ert´ekn´el kisebb, akkor a k´et sor k¨oz¨ott a \lineskip-ben meghat´ arozott m´ert´ek˝ u ragaszt´o (t´avols´ag) ker¨ ul elhelyez´esre a k´et sor k¨oz´e. Fenti parancsok alap´ertelmezett ´ert´ekei: \lineskiplimit=0pt, \lineskip=1pt. Ha azt akarjuk, hogy a sorok k¨oz¨otti ragaszt´o m´ert´eke 0 pt legyen, azaz a sorok k¨oz¨ott ne legyen semmilyen helykihagy´as (vagyis hogy o¨ssze´erjenek” a ” sorok), alkalmazhatjuk az \offinterlineskip parancsot. Ha minden (vagy t¨obb) bekezd´es k¨oz¨ott nagyobb t´avols´agot szeretn´enk kihagyni, mint a sort´avols´ag, haszn´alhatjuk a \parskip=hdimeni plushdimeni minushdimeni
parancsot, amellyel azt lehet megadni, hogy egy bekezd´es utols´o sora alapvonal´anak ´es a k¨ovetkez˝o bekezd´es els˝o sora alapvonal´anak t´avols´aga mennyivel legyen nagyobb az aktu´alis sort´avols´agn´al. Alap´ertelmezett be´all´ıt´asa: \parskip=0pt plus1pt. Ezek olyan be´all´ıt´asok, amelyek az aktu´alis csoport lez´ar´as´aig vagy a´t´all´ıt´asig ´erv´enyben maradnak. Amennyiben ezeket a param´etereket csak egyes bekezd´esekre szeretn´enk a´t´all´ıtani, haszn´alnunk kell a csoporthat´arol´o jeleket vagy parancsokat. Ekkor viszont el˝ofordulhat, hogy a csoportban l´ev˝o legutols´o bekezd´es nem olyan k¨ ulalakot fog o¨lteni, mint azt v´arn´ank. A hat´as meg´ert´es´ehez id´ezz¨ uk fel a TEX sz¨ovegform´az´o algoritmus´anak ide vonatkoz´o r´eszeit! A TEX u ´ gy form´az meg egy bekezd´est, hogy el˝osz¨or beolvassa a bekezd´es teljes sz¨oveg´et, azaz megkeresi a sz¨ovegr´eszt k¨ovet˝o els˝o u ¨ res sort vagy \par parancsot. Ezek ut´an a param´eterek ´ıgy aktu´aliss´a v´alt ´ert´ekeivel fogja a bekezd´est megform´azni. Abban az esetben, ha a bekezd´es sz¨oveg´et k¨ovet˝o els˝o u ¨ res sor vagy \par parancs a bekezd´esform´az´o parancs hat´ask¨or´en k´ıv¨ ul van, az u ¨ res sor vagy \par parancs param´etereinek ott aktu´alis ´ert´ekei a´tad´odnak a megfelel˝o param´etereknek. Ebb˝ol k¨ovetkez˝oen a sz´obanforg´o bekezd´es alakj´at nem a bekezd´esform´az´o parancs, hanem a parancs hat´ask¨ore ut´an ´erv´enyes bekezd´esform´az´o param´eterek fogj´ak meghat´arozni. Ha ezt a nemk´ıv´ant hat´ast el akarjuk ker¨ ulni, a hat´ask¨ort lez´ar´o csoporthat´arol´o jel (vagy parancs) el˝ott egy u ¨ res sort kell hagynunk, vagy be
48
plainTEX
´sa 2 Oldalak l´ etrehoza
kell ´ırnunk a bekezd´est lez´ar´o \par parancsot. Nem sz¨ uks´eges k¨ ul¨on bekezd´eslez´ar´as, ha a f¨ ugg˝oleges helykihagy´o utas´ıt´asok valamelyik´et ´ırtuk be a sz´obanforg´o helyre. A fenti bekezd´esben le´ırtakra eml´ekezz¨ unk vissza mindig, ha valamilyen bekezd´esform´az´o parancsot haszn´alunk csoporthat´arol´ok k¨oz¨ott! A TEX-ben tal´alhat´o k´et param´eter, a \leftskip=hdimeni ´ es a \rightskip=hdimeni,
melyek hat´as´ara az adott bekezd´esek bal, illetve jobb marg´oja a szed´est¨ uk¨or bal, illetve jobb sz´el´ehez k´epest a hdimeni a´ltal meghat´arozott m´ert´ekben m´odosul. Az alap´ert´ek¨ uk 0 pt a plainTEX-ben. A hdimeni > 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
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}_{<0} $$
hat´asa: ≥0
z }| { x + y + z ´es x − y − z | {z } <0
A nagyoper´atorok tulajdons´agait hozz´a tudjuk rendelni b´armelyik matematikai karakterhez a \mathop paranccsal. P´eld´aul a n
−1 ℵ ai = 0
i=1
u ´ gy ´ırhat´o le, hogy
¨ kjelek 3.7.3. Gyo
plainTEX
67
$$ \mathop {\aleph }_{i=1}^n a_i^{-1}=0 $$
¨ ´ 3.7.2. FUGGV ENYNEVEK A matematikai f¨ uggv´enyek egy r´esz´ehez szint´en l´etezik k¨ ul¨on parancs, mert ezek neveit antikva (\rm) bet˝ uvel szok´as ´ırni, m´asr´eszt k¨ ul¨onb¨oz˝onek kell lennie az ut´ana hagyott helynek att´ol f¨ ugg˝oen, hogy mi a k¨ovetkez˝o karakter: cos x, de cos(x + y ). \arccos \arcsin \arctan \arg \cos \cosh \cot \csc \det \deg
arccos arcsin arctan arg cos cosh cot csc det deg
\dim \exp \gcd \hom \inf \ker \lg \lim \liminf \limsup
dim exp gcd hom inf ker lg lim lim inf lim sup
\ln \log \max \min \Pr \sec \sin \sup \tan \tanh
ln log max min Pr sec sin sup tan tanh
A f¨ uggv´enyek egy r´esze a TEX szempontj´ab´ol nagyoper´ator”: \inf, \sup, ” \lim, \liminf, \limsup, \min, \max. B´armilyen, a nagyoper´ator tulajdons´agaival rendelkez˝o f¨ uggv´enynevet mi is l´etrehozhatunk a \mathop parancs seg´ıts´eg´evel. Pl: a lim n−1 = 0 n→∞
u ´ gy ´ırhat´o le, hogy $$ \mathop {\underline {\rm lim}}_{n\to \infty }n^{-1}=0 $$
¨ 3.7.3. GYOKJELEK Speci´alisan jel¨olt matematikai f¨ uggv´eny a gy¨okvon´as. Erre a TEX-ben az \sqrt ´ es a \root
hkitev˝ oi
\of
hargumentumi
parancsokat alkalmazhatjuk. P´eld´aul: $$ \root 3 \of {q+\sqrt {q^2+p^3}}. $$
Hat´asa:
q p 3 q + q 2 + p3 .
68
¨ vegek 3 Matematikai szo
plainTEX
3.8. T¨ortek, t¨ort jelleg˝ u kifejez´esek Szintaktika: { hfels˝ o formulai ht¨ ortmeghat´ aroz´ o parancsi hals´ o formulai }
A { } z´ar´ojelek elmaradhatnak, ha az illet˝o matematikai m´od kiz´ar´olag ebb˝ol a t¨ortb˝ol a´ll. A ht¨ortmeghat´aroz´o parancsi lehet az \over, az \atop valamint az \abovehdimeni parancsok b´ armelyike. A hdimeni egy m´ert´ekegys´eggel ell´atott sz´amot jelent (pl. 1pt), ez lesz a t¨ortvonal vastags´aga: {n\over k+1}
n k+1
{n\atop k+1}
n k+1
{n\above 1pt k+1}
n k+1
Ezeknek a parancsoknak van olyan v´altozata is, amelyik a t¨ort el´e ´es ut´an hat´arol´ojeleket tesz. Ilyenkor a t¨ortmeghat´aroz´o alapsz´o egy withdelims-szel hosszabb, ´es ut´ana kezd˝ o z´ ar´ o sorrendben meg kell adni a hat´arol´ojeleket – ez lehet z´ar´ojel vagy tetsz˝oleges delimiter: {n\overwithdelims () k+1}
n ) (k+1
{n\atopwithdelims <> k+1}
n k+1 n k+1
{n\abovewithdelims \{\}1pt k+1}
Az \atopwithdelims n´eh´any speci´alis eset´ere a plainTEX-ben tal´alhatunk k¨ ul¨on parancsokat is: {n\choose k+1}
n (k+1 )
{n\brack k+1}
n [k+1 ]
{n\brace k+1}
n k+1
´ ıtkezve a fent eml´ıtett parancsokb´ol: Ep´
$$ a-{b\over c}\overwithdelims () b-{a\atopwidthdelims \lfloor \rfloor c} $$
melynek eredm´enye:
a − cb a . b− c
´trixok 3.9.1. Ma
plainTEX
69
3.9. M´atrixok, esetsz´etv´alaszt´as ´ 3.9.1. MATRIXOK A m´atrixok l´etrehoz´as´ara a \matrix parancsot haszn´alhatjuk. Ennek param´etere a m´atrix tartalma, a sorokat a \cr paranccsal kell lez´arni, a m´atrix egy sor´aban a k¨ ul¨onb¨oz˝o oszlopba es˝o elemeket & jelekkel v´alasztjuk el: $$ \left\{ \matrix {a_{11}&a_{12}&a_{13}\cr a_{21}&a_{22}&a_{23}\cr a_{31}&a_{32}&a_{33}\cr } \right\} $$
eredm´enye:
a11 a 21 a31
a12 a22 a32
a13 a23 a33
Ha a m´atrix k¨or´e ( ) z´ar´ojeleket szeretn´enk, a \pmatrix parancsot is haszn´alhatjuk. M´atrixok ´ır´asakor j´ol haszn´alhat´ok a k¨ovetkez˝o parancsok: ···
\cdots
\vdots
... .. .
\ddots
..
\ldots
P´eld´aul a
a11
.. . an1
...
..
a1n
.
...
.
.. .
ann
m´atrixot u ´ gy ´ırhatjuk le, hogy:
$$ \pmatrix {a_{11}&\ldots &a_{1n}\cr \vdots &\ddots &\vdots \cr a_{n1}&\ldots &a_{nn}\cr } $$
70
¨ vegek 3 Matematikai szo
plainTEX
´ ´ ´ 3.9.2. ESETSZETV ALASZT AS A m´atrixokhoz hasonl´o m´odon hozhatunk l´etre olyan formul´akat, amelyek jobb oldal´an esetsz´etv´ alaszt´ as van: |x| =
x
, ha x ≥ 0
−x , ha x < 0
parancsszava a \cases. Minden sorban az els˝o elem a kifejez´es ´ert´eke, a m´asodik a felt´etel, hogy ez mikor igaz. A kett˝o k¨oz´e & jelet kell tenni, a sorokat \cr-rel kell lez´arni: $$ \vert x\vert =\cases {x&, ha $x\ge 0$\cr -x&, ha $x<0$\cr } $$
Vigy´azni kell arra, hogy az & jel el˝ott matematikai m´od van, ut´ana pedig sz¨oveg m´od. ´Igy, ha az & ut´an a felt´etelben matematikai formul´at akarunk ´ırni, ott a´t kell l´epni sz¨ovegk¨ozi matematikai m´odba.
3.10. Egyenletek illeszt´ese, egyenletsz´amoz´as Az itt le´ırt parancsok term´eszetesen csak kiemelt matematikai m´ odban haszn´alhat´ok. Az egyenleteket u ´ gy sz´amozhatjuk meg, hogy az egyenlet le´ır´asa ut´an be´ırjuk az \eqno (jobb oldalra) vagy a \leqno (bal oldalra) parancsot, ut´ana pedig az egyenlet sz´am´at (jel´et). Fontos megjegyezni, hogy ezen parancsok ´es a kiemelt matematikai m´odot lez´ar´o $$ jel k¨oz¨ott nem matematikai, hanem sz¨oveg m´od van. Az egyenlet jele a kiemelt matematikai m´odot lez´ar´o $$-ig tart, ez´ert azt akkor sem kell { }-be rakni, ha t¨obb karakterb˝ol a´ll: $$ ax+by=c\eqno (1) $$ ax + by = c
(1)
Az egyenletrendszereknek a legegyszer˝ ubb esete az, amikor minden egyenletet k¨oz´epre ´ırunk. Ha az egyenlet minden sor´at k¨ ul¨on $$ . . . $$ jelek k¨oz´e tenn´enk, a sorok t´ ulzottan t´avol esn´enek egym´ast´ol. Ekkor ink´abb a \displaylines parancsot haszn´ alhatjuk, ami egy norm´al sort´avols´agot eredm´enyez. Param´eter´eben a sorokat \cr-rel kell lez´arni: $$ \displaylines{x=x_0+bt\cr y=y_0-at+c\cr } $$
´moza ´s 3.10. Egyenletek illeszt´ ese, egyenletsza
plainTEX
71
eredm´enye: x = x0 + bt y = y0 − at + c
´ Altal´ aban azonban olyan egyenletrendszert akarunk ´ırni, amelynek sorait egym´ashoz igaz´ıtjuk. Ilyenkor az \eqalign parancsot haszn´alhatjuk. Ennek param´eter´et a k¨ovetkez˝ok´eppen alak´ıthatjuk ki: El˝osz¨or le´ırjuk az egyenleteket (\cr-rel lez´arva minden sort). Ut´ana az egyenletek mindegyik´eben kiv´alasztunk egy-egy jelet vagy formul´at, amelyekkel azt szeretn´enk el´erni, hogy egym´as alatt kezd˝odjenek. V´eg¨ ul az ´ıgy kiv´alasztott helyek el´e egy-egy & jelet ´ırunk: $$ \eqalign{x&=x_0+bt\cr y&=y_0-at+c\cr }\leqno (2) $$
(2)
x = x0 + bt y = y0 − at + c
Ha az \eqalign egyenletrendszer-illeszt˝o parancsot haszn´aljuk, meg lehet sz´amozni az eg´esz egyenletrendszert, de nem lehet a sorokat k¨ ul¨on-k¨ ul¨on. Ha egy egyenletrendszer sorait (vagy n´eh´anyukat) jobb, ill. bal oldalon meg akarjuk sz´amozni, akkor az \eqalignno, ill. a \leqalignno parancsokat haszn´alhatjuk. Ezek param´etere abban k¨ ul¨onb¨ozik az \eqalign param´eter´et˝ol, hogy ha egy sort meg akarunk sz´amozni, akkor az egy sorba ´ırand´o formula v´ege ´es a sort lez´ar´o \cr k¨oz´e &h jel i alakban be´ırjuk az egyenlet jel´et: $$ \eqalignno{x&=x_0&(3)\cr y&=y_0+c&(4)\cr } $$ x = x0 y = y0 + c $$ \leqalignno{x&=x_0&(5)\cr y&=y_0+c&(6)\cr } $$
(5) (6)
x = x0 y = y0 + c
(3) (4)
72
¨ vegek 3 Matematikai szo
plainTEX
3.11. Sz¨oveg matematikai m´odban Mint azt a fentiekben m´ar eml´ıtett¨ uk, a matematikai m´od´ u bet˝ uknek m´as az alakja is, az elrendez´ese is, mint a sz¨oveg m´od´ uak´e. Ha sz¨ovegk¨ozi matematikai k´epletek k¨oz¨ott van valamilyen o¨sszek¨ot˝o sz¨oveg, nincs gond, a matematikai m´odot lez´arjuk, a sz¨oveg ut´an pedig u ´ jra megnyitjuk: x i 6= 0, ahol i = 1, 2, . . . , n ´ır´ asa $x_i\ne0$, ahol $i=1,2,\dots,n$. Ezt a m´odot azonban nem tudjuk alkalmazni, ha kiemelt matematikai m´odban vagyunk: c
n X
ai
ahol c konstans
i=1
Ilyen esetben nem lez´arni kell a matematikai m´odot, hanem ideiglenesen a´t kell l´epni sz¨oveg m´odba. Erre kiv´al´oan alkalmas a \hbox{ }: $$ c\sum_{i=1}^na_i\quad \hbox{ahol }c \hbox{ konstans} $$
A \hbox z´ar´ojelein bel¨ uli sz¨oveg bet˝ um´erete ´es bet˝ ut´ıpusa olyan lesz, mint a kiemelt matematikai m´odot mag´abafoglal´o sz¨oveg´e.
3.12. V´ızszintes helykihagy´as, ¨osszeh´ uz´as ´ 3.12.1. HELYKIHAGYAS Mint m´ar eml´ıtett¨ uk, matematikai m´odban a forr´assz¨ovegben hagyott sz´ok¨oz¨ok nem jelennek meg. Ha m´egis sz¨ uks´eges plusz helykihagy´as matematikai m´odon bel¨ ul, a k¨ovetkez˝o egyszer˝ u parancsokat haszn´alhatjuk: \, \; \ \quad \qquad
$\int x\,dx$ $a_i\;d_i$ $i\ne 0,\ j
alaphelyzet: oo x dx oo a i di oo i= 6 0, j < k o o g◦f Γ=x o o g◦f Γ=x o o R
¨ ´ AS ´ 3.12.2. OSSZEH UZ N´eha nem plusz hely kihagy´as´ara van sz¨ uks´eg, hanem formul´ak o¨sszeh´ uz´as´ara. Ennek egy m´odja matematikai m´odon bel¨ ul az, hogy a \! parancsot haszn´aljuk (ak´ar egym´as ut´an t¨obbet is): \!
$\int \!x\,dx$ $\int \!\!x\,dx$
R R x dx x dx
alaphelyzet:
oo oo oo
´ dban 3.14. M´ eretek matematikai mo
plainTEX
73
3.13. Sort¨or´es sz¨ovegk¨ozi matematikai m´odban \mathbreak : Matematikai m´ odban vannak olyan jelek, amelyek el˝ott vagy ut´an a soremel´es le van tiltva ([, ], = stb.). Ilyen helyeken lehet alkalmazni
k¨otelez˝o soremel´esre ezt a parancsot. \* : Gyakran el˝ ofordul, hogy a × karakter formul´an bel¨ uli el˝ofordul´as´at nem jel¨olj¨ uk. Ezen poz´ıci´okban a \* seg´ıts´eg´evel enged´elyezhetj¨ uk a soremel´est. Automatikus soremel´es eset´en a × karakter a sor v´eg´en automatikusan
megjelenik.
3.14. M´eretek matematikai m´odban A matematikai m´odban n´egy f˝o m´eretez´ese (l´ asd 3.3. Matematikai karakterekr˝ol – m´ask´eppen) ´es egyben elrendez´ese van a matematikai formul´aknak, karaktereknek: \displaystyle : A legnagyobb m´ eret, ezt alkalmazza a TEX kiemelt matematikai m´od eset´en. \textstyle : Ezt a st´ılust alkalmazza a TEX sz¨ ovegk¨ozi matematikai m´od eset´en. \scriptstyle : Az els˝ o szint˝ u indexek m´erete. \scriptscriptstyle : A m´ asodik szint˝ u index (index indexe) m´erete. Alaphelyzetben nem sz¨ uks´eges semmit megadni, mindenhol adott egy alap´ertelmezett st´ılus. A k¨ ul¨onbs´egek: n
$${1\over 2}\sum _{i=1}^n a_i$$ ${1\over 2}\sum _{i=1}^n a_i$ $a^{{1\over 2}\sum _{i=1}^n a_i}$
1X a 2 i=1 i 1 2
Pn
i=1
Pn 1
a2
i=1
1
$a^{b^{{1\over 2}\sum _{i=1}^n a_i}}$
a
ai
b2
Pn
ai
i=1
ai
A parancsok haszn´alata akkor sz¨ uks´eges, ha az alap´ertelmezett be´all´ıt´ast´ol el akarunk t´erni. Ilyen esetek p´eld´aul a k¨ovetkez˝ok: $${1\over 2}(a+b)+{1\over 2}(b+c)=b+{1\over 2}(a+c)$$
eset´en az alap´ertelmezett 1 1 1 (a + b) + (b + c) = b + (a + c) 2 2 2 k´epn´el tal´an harmonikusabb k´epet ny´ ujt a 1 2 (a
+ b) + 21 (b + c) = b + 21 (a + c)
forma, aminek el˝oa´ll´ıt´asa: $$\textstyle {1\over 2}(a+b)+{1\over 2}(b+c)=b+{1\over 2}(a+c)$$
74
¨ vegek 3 Matematikai szo
plainTEX
M´asik eset, amikor p´eld´aul sz¨ovegk¨ozi matematikai m´odban valamilyen bonyolult t¨ortet ´ırunk. Ilyenkor az alap´ertelmezett st´ılus t´ ul kicsi karaktereket eredm´enyezhet: . . . igazolhat\’o ${\partial ^if\over \partial x^{i^i-j}\partial y^j}(x,y)= {\partial ^i\over \partial x^{i^i-j}\partial y^j}e^{x-y}$ \"osszef\"ugg\’est . . .
k´epe: . . . igazolhat´ o
∂if (x, y ) ∂xii −j ∂y j
=
∂i ex−y ∂xii −j ∂y j
o ¨sszef¨ ugg´est . . .
Enn´el olvashat´obb k´epet kapunk a \displaystyle alkalmaz´as´aval: . . . igazolhat\’o $\displaystyle {\partial ^if\over \partial x^{i^i-j}\partial y^j}(x,y)= . . .
A jav´ıtott k´ep: . . . igazolhat´ o
∂i ∂if ( x, y ) = ex−y o ¨sszef¨ ugg´est . . . i i ∂xi −j ∂y j ∂xi −j ∂y j
A fenti p´eld´akban mind a \displaystyle mind a \textstyle az eg´esz formul´ara fejtette ki hat´as´at. Hat´asuk lokaliz´alhat´o a csoportjelek alkalmaz´as´aval, mert csak addig hat, am´ıg azt a csoportot, amiben van a parancs, le nem z´arjuk: ${1\over 2}a+{\displaystyle {\partial \over \partial x^{i^i}}} +{1\over 2}b$
eredm´enye: 1 2a
+
∂ + 21 b. ∂xii
Hasonl´o m´odon alkalmazhat´ok a \scriptstyle ´es a \scriptscriptstyle parancsok is.
4.1.1. V´ızszintes dobozok
plainTEX
75
4. T´abl´azatok, dobozok 4.1. A dobozokr´ol r´eszletesebben Az alapfogalmak a bevezet˝o fejezetben megtal´alhat´ok (l´ asd 1.8. Dobozok). Itt a´ttekint¨ unk n´eh´any dobozmegad´asi lehet˝os´eget.
4.1.1. V´IZSZINTES DOBOZOK A v´ızszintes dobozmegad´asi m´odok k¨oz¨ ul az al´abbiak ker¨ ulnek t´argyal´asra: \hbox{hdoboztartalomi} \hbox tohdimeni{hdoboztartalomi} \hbox spreadhdimeni{hdoboztartalomi}
1. Legegyszer˝ ubb m´odon egy v´ızszintes doboz megad´asa: \hbox{hdoboztartalomi}
ahol horizont´alis, lesz˝ uk´ıtett horizont´alis ´es bels˝o vertik´alis m´od eset´en a doboz sz´eless´ege ´es magass´aga megegyezik a hdoboztartalomi term´eszetes sz´eless´eg´evel ´es magass´ag´aval, m´ıg vertik´alis m´od eset´en a doboz sz´eless´ege a \hsize-zal egyenl˝o. 2. Ha meg akarjuk v´altoztatni a doboz m´eret´et, rendelkez´esre a´ll a \hbox tohdimeni{hdoboztartalomi}
megad´asi forma, ahol a hdimeni hely´en a doboz v´ızszintes m´eret´et adjuk meg, m´ıg f¨ ugg˝oleges m´erete a hdoboztartalomi magass´ag´aval egyezik meg. Ilyen form´aj´ u dobozmegad´asra sokszor lehet sz¨ uks´eg¨ unk. A doboz tartalm´anak v´ızszintes poz´ıcion´al´asa a dobozban a \hfil, \hfill, \hss parancsokkal t¨ort´enhet. Ha kisebb sz´eless´eg˝ u dobozt akarunk megadni, mint a hdoboztartalomi term´eszetes sz´eless´ege, a \hss parancs haszn´aland´o, de ilyenkor vigy´azni kell az elhelyez´esre: Ez egy \hbox to5cm{\hfil 5 cm sz\’eles\hfil} doboz. Ez egy \hbox to1cm{1 cm sz\’eles\hss} doboz.
eredm´enye: Ez egy 5 cm sz´eles Ez egy 1 cm sz´ doboz. eles
doboz.
A \hbox to\hsize{ . . . } form´aban megadva v´ızszintes lapsz´eless´eg˝ u dobozt kapunk. 3. Ha megadott m´ert´ekkel szeretn´enk sz´elesebb dobozt, mint a doboz tartalm´anak term´eszetes sz´eless´ege, haszn´alhatjuk a \hbox spreadhdimeni{hdoboztartalomi}
form´at, ahol a hdimeni hely´ere azt a m´er˝osz´amot ´ırjuk, amennyivel a doboz sz´eless´eg´et meg akarjuk n¨ovelni.
76
plainTEX
´bla ´zatok, dobozok 4 Ta
A fenti form´at haszn´alva, \hbox{Ez a doboz teljes tartalma.} \hbox spread10pt{Ez a doboz teljes tartalma.} \hbox spread20pt{Ez a doboz teljes tartalma.}
mivel semmilyen ragaszt´ot nem alkalmazhatunk, eredm´enyk´ent sz´eth´ uzott doboztartalmakat kapunk: Ez a doboz teljes tartalma. Ez a doboz teljes tartalma. Ez a doboz teljes tartalma.
Ha azonban a TEX k´enytelen a doboztartalmat a sz´am´ara megadott t˝ ur´eshat´aron t´ ul is megny´ ujtani, Underfull hbox . . . hiba¨ uzenetet kapunk. 4. Van egy olyan v´ızszintes doboz, \null, amelynek tartalmat ugyan nem lehet adni, de haszn´alata makr´odefin´ıci´ok ´es egy´eb helyeken is hasznos lehet. Ilyen eset p´eld´aul, amikor u ¨ res oldalt akarunk hagyni, vagy p´eld´aul k´et ragaszt´ot el akarunk szepar´alni, de l´athattunk haszn´alat´ara p´eld´at a Sz´ok¨oz¨ok c´ım˝ u fejezetben is. A \null azonos a \hbox{} u ¨ res dobozzal.
¨ ˝ 4.1.2. FUGG OLEGES DOBOZOK A \vbox-okra vonatkoz´o ismereteket (l´ asd 1.8. Dobozok) kieg´esz´ıtj¨ uk m´eg egy-k´et inform´aci´oval. Az al´abbi form´ak ker¨ ulnek t´argyal´asra: \vbox{hdoboztartalomi} \vbox tohdimeni{hdoboztartalomi} \vtop{hdoboztartalomi} \vcenter{hdoboztartalomi }
1. Az alapparancs szintaktik´aja: \vbox{hdoboztartalomi}
ahol a doboz f¨ ugg˝oleges m´erete a hdoboztartalomi f¨ ugg˝oleges m´eret´evel, v´ızszintes m´erete a \hsize-zal, illetve be´agyazott \hbox-ok eset´en a legsz´elesebb hdoboztartalomi term´ eszetes sz´eless´eg´evel egyezik meg. Azt, hogy \hbox-okba ´erdemesebb tenni a bels˝o tartalmat, vagy \hbox n´elk¨ ul ´erdemesebb haszn´alni a \vbox-ot, a szed´esi c´el d¨onti el. Ha folyamatos sz¨oveget szeretn´enk egy kisebb helyre bet¨ordelni, majd azt valahov´a elhelyezni, ´erdemes kihaszn´alni a \vbox vertik´alis bels˝o m´odj´at, ugyanis \hbox-ok alkalmaz´asa n´elk¨ ul a sz¨oveget a \hsize aktu´alis ´ert´ek´enek megfelel˝o sz´eless´eg˝ u helyre bet¨ordeli. Ha nem a szed´est¨ uk¨or sz´eless´eg´evel azonos sz´eless´eg˝ u ter¨ uletre akarjuk bet¨ordelni a sz¨oveget, a \hsize-ot a \vbox-on bel¨ ul lok´alisan a´t´all´ıthatjuk a k´ıv´ant m´eret˝ ure (pl. \vbox{\hsize=5cm . . . }). Ebben az esetben a \vboxban u ´ j bekezd´es nyit´as´ara haszn´alhatjuk a \par parancsot, ´es haszn´alhatjuk a f¨ ugg˝oleges helykihagy´o parancsokat is. A tal´an gyakoribb felhaszn´al´asa a \vbox-nak az, amikor valamilyen sz¨ovegr´eszeket akarunk egym´as f¨ol¨ott, a sz¨oveg k¨ozben elhelyezni. Ebben az esetben
¨ggo ˝ leges dobozok 4.1.2. Fu
plainTEX
77
azonban a doboztartalmat ´erdemesebb \hbox-okba tenni, ami azt biztos´ıtja, hogy a \vbox sz´eless´ege a leghosszabb doboztartalom term´eszetes sz´eless´eg´evel legyen egyenl˝o, amire lentebb p´eld´akat is l´athatunk. A \vbox elhelyezked´ese: a \vbox als´o sor´anak alapvonala annak a sornak az alapvonal´an lesz, amelyikbe a \vbox ker¨ ul, a \vbox-ba ´ırt \hbox-ok egym´as alatt, balra illesztve helyezkednek el: Ez a \vbox{\hbox{legfels\H o} \hbox{k\"oz\’eps\H o} \hbox{als\’o} } sora.
eredm´enye: legfels˝ o k¨ oz´eps˝ o Ez a als´ o sora.
2. Ugyan´ ugy, mint a \hbox-nak, ennek a parancsnak is van egy olyan v´altozata, ahol m´eretet lehet megadni: \vbox tohdimeni{hdoboztartalomi}
ahol a hdimeni hely´en a doboz f¨ ugg˝oleges m´eret´et adjuk meg, m´ıg sz´eless´ege a doboztartalom term´eszetes sz´eless´eg´evel egyezik meg. A doboz tartalm´anak f¨ ugg˝oleges elhelyez´ese a dobozban a \vfil, \vfill, \vss parancsokkal t¨ort´enhet: Ez egy \vbox to1cm{\hbox{1 cm magas}\vfil \hbox{kis}}doboz.
eredm´enye: 1 cm magas Ez egy kis
doboz.
3. Sokszor van olyan eset, hogy a doboz fels˝o sor´anak kell az adott sor alapvonal´ara esnie. Ezek a´ltal´aban felsorol´asok, amelyeket egy´ebk´ent neh´ezkes lenne megoldani. Erre l´athatjuk az al´abbi p´eld´at: – Els˝o – M´asodik – Harmadik – Negyedik sor. A parancs szintaktik´aja: \vtop{hdoboztartalomi}
A fenti p´elda megad´asa: p\’eld\’at: \vtop{\hbox{-\hbox{-\hbox{-\hbox{--
Els\H o} M\’asodik} Harmadik} Negyedik sor.}}
78
´bla ´zatok, dobozok 4 Ta
plainTEX
4. A doboz harmadik elhelyez´esi form´aj´ahoz seg´ıt hozz´a a \vcenter, amely a doboz f¨ ugg˝oleges k¨ozep´et illeszti az aktu´alis sorhoz. Vigy´azzunk, ez csak matematikai m´odban m˝ uk¨odik! A parancs szintaktik´aja: $\vcenter{hdoboztartalomi}$
Egy p´elda:
– – Ilyen forma – –
Els˝ o M´ asodik eset´en. Harmadik Negyedik sor
megad´asa: Ilyen forma $\vcenter{\hbox{-\hbox{-\hbox{-\hbox{--
Els\H o} M\’asodik} Harmadik} Negyedik sor}}$ eset\’en.
Arra vigy´aznunk kell, hogy a \vcenter belsej´eben nincs matematikai m´od f¨ uggetlen¨ ul att´ol, hogy k¨or¨ ul¨otte annak kell lenni.
4.2. Kit¨olt˝o ´es vonalh´ uz´o parancsok ¨ O ˝ PARANCSOK 4.2.1. KITOLT Olyan parancsokr´ol lesz sz´o, amelyek a \hfill-hez hasonl´oan a \hbox-ban (ill. a sorban) fennmarad´o helyet t¨oltik ki. Ilyen parancsok a k¨ovetkez˝ok: \hrulefill \dotfill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \upbracefill | {z } \downbracefill z }| { \leftarrowfill ←−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− \rightarrowfill −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−→
P´eld´aul tartalomjegyz´ek egy-egy sora lehet a
\line{Fejezet c\’\i me \dotfill \ 11} \line{\indent Alfejezet c\’\i me \dotfill\
12}
amelyek Fejezet c´ıme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Alfejezet c´ıme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
alak´ u tartalomjegyz´eksorokat eredm´enyeznek.
´ zo ´ parancsok 4.2.2. Vonalhu
plainTEX
79
´ O ´ PARANCSOK 4.2.2. VONALHUZ Szintaktika: hvonalh´ uz´ o
parancsi hvonalm´eretek megad´ asai
A vonalh´ uz´o parancs lehet a \hrule (v´ızszintes vonalakhoz) ´es a \vrule (f¨ ugg˝oleges vonalakhoz). A \hrule csak vertik´alis, a \vrule csak horizont´alis m´odban m˝ uk¨odik. A vonalm´ereteket a height, depth ´es width (magass´ag, m´elys´eg ´es sz´eless´eg) kulcsszavak ut´an lehet megadni: \hrule heighthdimeni depthhdimeni widthhdimeni \vrule heighthdimeni depthhdimeni widthhdimeni
Nem k¨otelez˝o mindh´arom m´eret´et megadni, mert mindegyikre van alap´ertelmez´es. Csak azt a param´etert sz¨ uks´eges megadni, amelyiknek a m´erete az alap´ertelmezettel nem egyezik meg. P´eld´aul: Egy vonal: \vbox{\hrule height1pt width3cm depth.6pt} Egy m\’asik vonal: \vrule height 0pt depth 5pt
eredm´enye: Egy vonal: Egy m´ asik vonal:
Abban az esetben, ha nem adunk meg a \hrule eset´en sz´eless´eget, akkor a \hrule sz´eless´ege az o˝t tartalmaz´o \vbox sz´eless´eg´evel lesz egyenl˝o, a \vrule eset´en pedig a magass´ag ´es a m´elys´eg elhagy´asa azt eredm´enyezi, hogy a \vrule magass´aga ´es m´elys´ege az o˝t mag´abafoglal´o \hbox ugyanezen param´etereivel fog megegyezni. Az alap´ertelmezett m´eretek: Magass´ ag (height) \hrule \vrule
0,4 pt a \hbox magass´aga
M´elys´eg (depth)
0 pt 0 pt
Sz´eless´eg (width) a \vbox sz´eless´ege 0,4 pt
80
´bla ´zatok, dobozok 4 Ta
plainTEX
4.3. Illeszt´esek Sokszor sz¨ uks´eges, hogy bizonyos inform´aci´okat t´abl´azatban vagy t´abl´azatszer˝ uen, oszloposan helyezz¨ unk el a jobb a´ttekinthet˝os´eg kedv´e´ert. A sz¨ovegek ilyet´en form´az´as´anak a plainTEX-ben k´et t´ıpusa van: az egyik az oszlopos elhelyez´es, a m´asik a t´abl´azatk´esz´ıt´es.
´ 4.3.1. OSZLOPOS ELHELYEZES ´ Atmenetet k´epez a bekezd´esform´az´o ´es a t´abl´azatk´esz´ıt˝o parancsok k¨oz¨ott a \settabs parancs, amellyel lehet˝os´eg van egy sz¨ovegr´esz oszlopokban val´o elhelyez´es´ere nagyon egyszer˝ u m´odon. A \settabs parancs arra az esetre a legegyszer˝ ubb megold´as, amikor az egy oszlopban l´ev˝o sz¨ovegek bal oldal´anak kell egy vonalba esnie. Erre egy p´elda a k¨ovetkez˝o: Az itt megjelen˝ o t´ abl´ azatos sz¨ ovegelhelyez´es gyakran el˝ ofordul´ o probl´ema, amelyet a \hbox-ok alkalmaz´ as´ aval igen neh´ezkes megoldani (b´ ar meg lehet). Ennek legegyszer˝ ubb el˝ oa ´ll´ıt´ asi m´ odja, ha a \settabs parancsot haszn´ aljuk: N´ ev Pa´ al R´ obert Kiss D´ ora Nagy Annam´ aria
Int´ ezm´ eny BGYTKF ELTE KLTE
Szak Testnevel´es Mat-Fiz Fizikus
´ Evfolyam III IV II
Ez tulajdonk´eppen megfelel a hagyom´anyos ´ertelemben haszn´alt tabul´alt has´abos elhelyez´esnek, ahol az oszlopok bal oldala jelenti a tabul´atorpoz´ıci´okat. Ezeket a poz´ıci´okat a \settabs parancsot k¨ovet˝oen lehet be´all´ıtani, s ez minden olyan sorra hat´assal lesz, amelyet a \+ paranccsal kezd¨ unk. A poz´ıci´obe´all´ıt´asok a´t´all´ıt´asig, illetve az aktu´alis csoport lez´ar´as´aig ´erv´enyben maradnak. A \settabs parancsnak k´etf´ele haszn´alati m´odja van: az egyik a fenti eset, amikor az oszlopok sz´eless´ege megegyezik. Ezt a k¨ovetkez˝ok´eppen adhatjuk meg: . . . parancsot haszn\’aljuk: \settabs 4\columns \+ {\it N\’ev}&{\it Int\’ezm\’eny}&{\it Szak}&{\it\’Evfolyam} \cr \+ Pa\’al R\’obert & BGYTKF & Testnevel\’es & III\cr \+ Kiss D\’ora & ELTE & Mat-Fiz & IV\cr \+ Nagy Annam\’aria & KLTE & Fizikus & II\cr
ahol a \settabs parancs ut´an azt adtuk meg, hogy h´any oszlop legyen. Ilyenkor a TEX a teljes lapsz´eless´eget (\hsize) felosztja pontosan ennyi egyenl˝o r´eszre, s ezekbe az oszlopokba fogja elhelyezni a sz¨ovegeket. Minden sort a \+ parancscsal kell kezdeni, minden sorban a k¨ ul¨onb¨oz˝o oszlopokba ´ırand´o sz¨ovegeket az & jellel kell elv´ alasztani, ´es v´eg¨ ul minden sort \cr-rel kell lez´arni. A szintaktika: \settabs hsz´ ami\columns \+ . . . & . . . \cr
4.3.1. Oszlopos elhelyez´ es
plainTEX
81
\+ . . . & . . . \cr ···
Ez a forma nem t´ ul mutat´os, ha a t´abl´azat p´ald´aul k´et r¨ovid oszlopb´ol a´ll, vagy ha az egyik oszlop tartalmaz olyan elemeket, amelyek hosszabbak, mint a TEX a´ltal meg´allap´ıtott oszlopsz´eless´eg. (Ilyenkor ugyanis a k´et oszlop tartalma egym´asra ´ır´odik minden figyelmeztet˝o u ¨ zenet n´elk¨ ul.) Erre az esetre haszn´alhatjuk a \settabs-nak azt a form´aj´at, ahol megadhatjuk az oszlopok sz´eless´eg´et. Itt elmarad az oszlopsz´ammegad´as, hely´ebe egy form´atumoz´o sor ker¨ ul, ami nem jelenik meg, csak az oszlopsz´eless´egek meghat´aroz´as´ara szolg´al. ´Igy c´elszer˝ u minden oszlop legsz´elesebb sz¨oveg´et be´ırni a form´atumsorba u ´ gy, hogy az oszlopok k¨oz¨otti helykihagy´asr´ol is gondoskodjunk: . . . sz\’amok jelent\’ese: \smallskip \settabs \+ kis kapit\’alis\quad & caps and small caps\quad & Jele\quad & M\’erete\cr \+ {\it Jellege}&{\it Angol elnevez\’ese}&{\it Jele} &{\it M\’erete}\cr \+ antikva & roman & r & 10\cr \+ kurz\’\i v & italic & i & 12\cr \+ k\"ov\’er & bold extended & bx &10\cr \+ kis kapit\’alis & caps and small caps & csc & 8\cr
eredm´enye: A megl´ev˝ o bet˝ uk´eszleteink kikeres´ese t¨ ort´enhet u ´gy, hogy a TFM k¨ onyvt´ arban megn´ezz¨ uk f´ ajljaink nev´et. A nevekben szerepl˝ o bet˝ uk, sz´ amok jelent´ese: Jellege antikva kurz´ıv k¨ ov´er kis kapit´ alis
Angol elnevez´ ese roman italic bold extended caps and small caps
Ez a forma a´ltal´anosan: \settabs \+ hform´ atumsori\cr \+ . . . & . . . \cr \+ . . . & . . . \cr ···
Jele r i bx csc
M´ erete 10 12 10 8
82
´bla ´zatok, dobozok 4 Ta
plainTEX
4.4. T´abl´azatok Ha olyan elrendez´est akarunk el´erni, hogy az egyes oszlopoknak ne a bal sz´ele legyen egyvonalban, vagy ha a sorokat, oszlopokat vonalakkal el akarjuk v´alasztani, haszn´alhatjuk a \halign parancsot, amely a plainTEX egyik leggyakrabban haszn´alt t´abl´azatk´esz´ıt˝o parancsa. A k¨ovetkez˝okben ezzel a paranccsal foglalkozunk r´eszletesebben. A \halign parancs szintaktik´aja: \halign{hform´ atumsori\cr . . . & . . . \cr . . . & . . . \cr · · · \cr}
A hform´atumsori-ban kell megadni a t´abl´azat megjelen´esi form´aj´at. A t´abl´azat minden sor´at \cr-rel le kell z´arni (a form´atumsort is), egy soron bel¨ ul a k¨ ul¨onb¨oz˝o oszlopba ker¨ ul˝o sz¨ovegelemeket & jellel kell elv´alasztani, a t´abl´azat tartalm´at sorfolytonosan kell megadni. A t´abl´azat egyes oszlopainak sz´eless´ege az adott oszlopban megadott legsz´elesebb sz¨ovegelem sz´eless´eg´ehez igazodik. C´el az al´abbi t´abl´azat elk´esz´ıt´ese: Kapott adatok N´ezet n Eredm´eny Els˝ o eset 1 1 Sokadik eset k−1 12 Utols´ o eset k 1200
L´ep´esr˝ol l´ep´esre haladva fogjuk elk´esz´ıteni a c´elt´abl´azatot”. N´ezz¨ uk el˝osz¨or ” a kiindul´ast! N´ezet n Eredm´eny Els˝ o eset1 1 Sokadik esetk-112 Utols´ o esetk 1200
Megad´asa: \halign{#\cr N\’ezet&n&Eredm\’eny\cr Els\H o eset& 1&1\cr Sokadik eset& k-1&12\cr Utols\’o eset& k&1200\cr }
T´abl´azatunk ´ıgy nem a legmutat´osabb, de a form´atumsor v´altoztat´as´aval ´es tov´abbi formajav´ıt´o parancsok be´ır´as´aval el´erhetj¨ uk a k´ıv´ant k¨ ulalakot.
´ 4.4.1. FORMATUMSOR Ebben az alfejezetben nem ´ırjuk u ´ jra le a sorok megad´asi m´odj´at, mivel itt a form´atumsor v´altoztat´as´aval fogjuk a t´abl´azat k¨ ulalakj´at megv´altoztatni.
´tumsor 4.4.1. Forma
plainTEX
83
Szerepelnie kell a form´atumsorban – az oszlopok sz´am´anak megfelel˝o sz´am´ u # jelnek. Ezek a jelek fogj´ak reprezent´alni minden sorban az adott oszlop tartalm´at. A t´abl´azat sorainak megad´asakor nem ´ırhatunk t¨obb oszlopot, mint ah´anyat a form´atumsorban megadtunk. – a # jeleket elv´alaszt´o & jelnek. Nem szerepelhet a form´atumsorban k´et # jel u ´ gy, hogy ne legyen k¨ozt¨ uk valahol egy & jel. Az els˝o # jel el´e ´es utols´o # jel ut´ an nem szabad & jelet tenni. – a form´atumsorlez´ar´o \cr parancsnak. A p´eldat´abl´azat els˝o v´altozat´anak \halign parancsa ´es form´atumsora: \halign{#\cr
Meg lehet adni m´eg olyan form´atumoz´o parancsokat, amelyeket az adott oszlopban minden elemre (vagy a legt¨obbre) meg kellene adni. T´abl´azatunkban ezek a k¨ovetkez˝ok: Illeszt´es: Az els˝o oszlop balra, a m´asodik k¨oz´epre, a harmadik jobbra van illesztve. Illeszt´esre haszn´alhatjuk a \hfil, \hfill, \hss parancsokat. A form´atumsor ´ıgy a k¨ovetkez˝ok´eppen alakul: \halign{#\hfil &\hfil #\hfil &\hfil #\cr
Bet˝ ut´ıpus megad´ asa: A harmadik oszlopban minden elem \it bet˝ ut´ıpussal ´ır´odik. Hogy ne kelljen minden sor harmadik oszlop´an´al bet˝ ut´ıpust v´altani, ezt kiemelhetj¨ uk a form´atumsorba: \halign{#\hfil &\hfil #\hfil &\it\hfil #\cr
M´ odv´ alt´ as: A m´asodik oszlopban minden elem matematikai m´oddal ´ırand´o. Ezt kiemelve a form´atumsorba: \halign{#\hfil &\hfil $#$\hfil &\it\hfil #\cr
Ha nem sz¨ovegk¨ozi, hanem kiemelt matematikai m´odra van sz¨ uks´eg¨ unk, alkalmazhatjuk a $\displaystyle #$ form´at. F¨ ugg˝ oleges vonalak : Oda, ahova a t´abl´azatban oszlophat´arol´o f¨ ugg˝oleges vonalat szeretn´enk ´ıratni, ´ırjuk be a \vrule parancsot: \halign{\vrule #\hfil \vrule&\hfil $#$\hfil \vrule &\it\hfil #\vrule\cr
Oszlopok k¨ oz¨ otti helykihagy´ as: Fenti m´odokon ´ırva – az oszlopok k¨oz¨ott, illetve a sz¨oveg ´es a vonalak k¨oz¨ott nem lenne helykihagy´as. Err˝ol gondoskodnunk kell. T´abl´azatokban a leggyakrabban haszn´alt helykihagy´o parancsok a \space, \enspace ´ es a \quad, ezeken k´ıv¨ ul persze az ismert m´odok k¨oz¨ ul v´alogathatunk m´eg. T´abl´azatunkban a \quad-ot haszn´altuk: \halign{\vrule\quad #\hfil\quad \vrule &\quad\hfil $#$\hfil \quad\vrule &\quad\it\hfil #\quad\vrule\cr
84
´bla ´zatok, dobozok 4 Ta
plainTEX
Amennyiben azonos t´avols´agot akarunk hagyni minden oszlop k¨oz¨ott, haszn´alhatjuk a \tabskip=hdimeni parancsot: \tabskip=5pt\halign{ . . . }
Sor alapmagass´ aga: Ha a fentiek alapj´an k´esz´ıtj¨ uk a t´abl´azatot, a sorok t´ ul k¨ozel lesznek egym´ashoz. Ennek elker¨ ul´ese ´erdek´eben ´ırjuk be a \halign parancs param´eter´ebe els˝ok´ent a \strut parancsot, amely tulajdonk´eppen egy olyan doboz, amelynek magass´aga 8,5 pont, m´elys´ege 3,5 pont, sz´eless´ege pedig 0 pont. Ezzel, amennyiben 10 pontos karaktereket haszn´alunk, azonos magass´ag´ u sorokat kapunk. \halign{\strut\vrule\quad . . .
Sz¨ oveg, jel: Ha van valamilyen sz¨oveg vagy jel, ami az adott oszlopban minden sorban azonos helyen megtal´alhat´o, g´epel´escs¨okkent´esk´ent ezt a sz¨oveget vagy jelet be´ırhatjuk a form´atumsorba. Ilyen t´abl´azatunk els˝o oszlop´aban az eset sz´o: \halign{\strut\vrule\quad #\space eset\hfil\quad \vrule &\quad\hfil $#$\hfil \quad\vrule &\quad\it\hfil #\quad\vrule\cr N\’ezet&n&Eredm\’eny\cr Els\H o& 1&1\cr Sokadik& k-1&12\cr Utols\’o& k&1200\cr }
Ezek ut´an a t´abl´azatunk form´aja: N´ezet eset Els˝ o eset Sokadik eset Utols´ o eset
n
1 k−1 k
Eredm´eny 1 12 1200
Ez m´eg mindig nem az igazi, de alakul. A t¨obbi form´az´as m´ar a v´ızszintes strukt´ ur´akhoz, sorelemekhez tartozik.
4.4.2. SORELEMEK A t´abl´azat sorainak megad´asa – ha a form´atumsor minden elem´ere sz¨ uks´eg¨ unk van – u ´ gy t¨ort´enik, hogy sorfolytonosan, minden sorban a k¨ ul¨onb¨oz˝o oszlopba ker¨ ul˝o elemeket & jellel v´alasztjuk el, a sor v´eg´ere pedig be´ırjuk a sorlez´ar´o \cr parancsot. T´abl´azatunk harmadik sora ´ıgy: Els\H o&1&1\cr
Itt ismerked¨ unk meg azon parancsokkal, amelyek nem a teljes oszlopok form´aj´at adj´ak meg, hanem egy-egy sor, illetve egy adott sorban egyetlen oszlop form´aj´at v´altoztatj´ak meg lok´alisan:
4.4.2. Sorelemek
plainTEX
85
V´ızszintes vonal: Teljes t´abl´azat sz´eless´eg˝ u v´ızszintes vonalat u ´ gy lehet k´esz´ıteni, hogy a sorlez´ar´o \cr parancs ut´an be´ırjuk, hogy \noalign{\hrule}
F¨ ugg˝ oleges helykihagy´ as k´et sor k¨ oz¨ ott: Szint´en a \noalign parancs felhaszn´al´as´aval lehet. T´abl´azatunkban ez a fejl´ec alatti k´et v´ızszintes vonal k¨oz¨ott l´athat´o: \noalign{\vskip2pt}
Term´eszetesen nem csak pontban lehet megadni a m´ert´eket. Vigy´azni kell azonban arra, hogy a t´abl´azat ezen hely´en a lapt¨or´es megengedett. ¨ Osszeolvaszt´ as: Egy adott sor valah´any oszlop´anak o¨sszevon´as´at a \multispanhoszlopsz´ ami{ . . . }
paranccsal lehet megoldani, ahol az hoszlopsz´ami az o¨sszeolvasztand´o oszlopok sz´ama, a kapcsos z´ar´ojelek k¨oz¨ott pedig az oda´ırand´o sz¨oveget kell megadni. A parancsot abba az oszlopba kell be´ırni, amelyikt˝ol kezdve az o¨sszeolvaszt´ast el akarjuk v´egeztetni. Ha az o¨sszevon´as ut´an m´eg vannak oszlopok, akkor folytatni kell a t´abl´azat megad´as´at az & jellel s a t¨obbi oszlop tartalm´aval. L´enyeges, hogy a \multispan alkalmaz´as´aval a form´atumsorban megadottak nem vonatkoznak az o¨sszevont oszlopokra, teh´at minden form´atumoz´o parancsot, amit haszn´alni szeretn´enk, be kell ´ırni a kapcsos z´ar´ojelek k¨oz´e. T´abl´azatunkban a fejl´ec sora a k¨ovetkez˝ok´eppen alakul: \multispan3{\strut\vrule\hfill\bf Kapott adatok\hfill\vrule}\cr
Form´ atum figyelmenk´ıv¨ ul hagy´ asa: Vannak olyan t´abl´azatr´eszek, ahol k´arosan hatnak a form´atumsorban megadottak. Ilyen a c´elt´abl´azatunkban a N´ezet ” eset” esete. Ha az adott t´abl´azatelem elej´ere be´ırjuk az \omit parancsot, abban a cell´aban a form´atumsor adott oszlop´ara vonatkoz´o be´all´ıt´asai hat´astalanok lesznek. Ha m´egis sz¨ uks´egesek bizonyos be´all´ıt´asok, azokat ott u ´ jra meg kell adni. Fentiek alapj´an t´abl´azatunk fejl´ec alatti els˝o sora: \omit\strut\vrule\quad\it N\’ezet\quad\hfill\vrule &n&Eredm\’eny\hfil\cr
Fentiek alapj´an c´elt´abl´azatunk teljes forr´assz¨ovege: \halign{\strut\vrule\quad #\space eset\hfil\quad\vrule &\quad\hfil $#$\hfil\quad\vrule &\quad\it\hfil #\quad\vrule\cr \noalign{\hrule} \multispan3{\strut\vrule\hfill\bf Kapott adatok\hfill\vrule}% \cr \noalign{\hrule} \noalign{\vskip2pt} \noalign{\hrule}
86
´bla ´zatok, dobozok 4 Ta
plainTEX
\omit\strut\vrule\quad\it N\’ezet\quad\hfill\vrule &n&Eredm\’eny\hfil\cr \noalign{\hrule} Els\H o&1&1\cr \noalign{\hrule} Sokadik&k-1&12\cr \noalign{\hrule} Utols\’o&k&1200\cr \noalign{\hrule} }
Az utols´o sorban l´athat´o z´ar´ojel a \halign param´eter´et z´arja le.
´ AZAT ´ ´ UL ¨ 4.4.3. TABL V´IZSZINTES VONALAK NELK Ha nem akarunk minden sor k¨oz´e v´ızszintes vonalat illeszteni, de f¨ ugg˝oleges vonalaink vannak, a fentiek nem elegend˝oek. Ebben az esetben ugyanis a f¨ ugg˝oleges vonalk´ak k¨oz¨ott f¨ol¨osleges helykihagy´as van. Ha az al´abbi k¨ ulalakot szeretn´enk el´erni: Kapott adatok N´ezet n Eredm´eny Els˝ o eset 1 1 Sokadik eset k−1 12 Utols´ o eset k 1200
a \halign parancs el´e ´ırjuk be az \offinterlineskip parancsot. Ezzel a sorok k¨oz¨otti t´avols´agot null´ara cs¨okkentj¨ uk: {\offinterlineskip\halign{ . . . }\par}
Ezt a parancsot persze nem csup´an abban az esetben lehet haszn´alni, ha nem akarunk v´ızszintes vonalakat. ´ AZAT ´ ´ 4.4.4. TABL ELHELYEZESE Legegyszer˝ ubb m´odszer erre, ha az eg´eszet egy \vbox-ba tessz¨ uk, ezek ut´an ezt, mint b´arhol m´ashol, mozgathatjuk, k¨oz´epre tehetj¨ uk stb. T´abl´azatunkat az al´abbi m´odon helyezt¨ uk k¨oz´epre: \centerline{\vbox{\offinterlineskip\halign{ . . . }}}
´k 5 Makro
plainTEX
87
5. Makr´ ok Az el˝oz˝o r´eszekben sz´ot ejtett¨ unk arr´ol, hogy a TEX egy igen nyitott t¨ordel˝o, szed˝o program. Ez azt jelenti, hogy lehet˝os´eg¨ unk van u ´ j utas´ıt´asok defini´al´as´ara, illetve a m´ar megl´ev˝o utas´ıt´asok fel¨ ul´ır´as´ara. A TEX tex.exe ford´ıt´oprogramja tartalmaz mintegy 300 u ´ n. primit´ıv parancssz´ot. Ezek nev´enek nem aj´anlatos u ´ j ´ertelmez´est adni ∗, mert a primit´ıvek seg´ıts´eg´evel tudunk u ´ j utas´ıt´asokat l´etrehozni, fel´ep´ıteni. Az ut´obbiak fontos szerepet t¨oltenek be a TEX programoz´as´aban, mert az ezekb˝ol fel´ep´ıtett makr´ogy˝ ujtem´enyek f¨ uggetlen¨ ul haszn´alhat´ok m´as makr´ogy˝ ujtem´enyekt˝ol. A primit´ıvek kel defini´alt ∗∗ utas´ıt´asokat makr´ ok nak h´ıvjuk . Ford´ıt´asn´al a TEX haszn´alja m´eg a plain.tex leford´ıtott v´altozat´at, a plain.fmt-t, amely kb. 400 alapmakr´o defin´ıci´oj´at tartalmazza. Az el˝oz˝oekben a parancs sz´ot haszn´altuk, azonban a makr´o elnevez´es haszn´alata itt m´ar szerencs´esebb, mert – hasonl´oan a felhaszn´al´o a´ltal programozhat´o rendszerekhez – a makr´ok nemcsak egyszer˝ uen r¨ovid´ıthetik a munk´at behelyettes´ıtve bizonyos forr´assz¨ovegeket, hanem sokkal fontosabb, u ´ n. makr´oszer˝ u hat´asaik is vannak. ´ utas´ıt´asok defini´al´asa, illetve azok haszn´alata k´et szempontb´ol aj´anlaUj tos. Egyr´eszt a sz¨ovegben gyakran el˝ofordul´o szavakat lehet r¨oviden beg´epelni, ami a´ltal a szed´esi id˝o r¨ovid¨ ul, m´asr´eszt ezzel a lehets´eges hib´ak sz´am´at is cs¨okkenthetj¨ uk. Erre nagyon j´o p´elda egy m˝ uszaki foly´oirat szed´ese, amely t¨obb cikkb˝ol a´ll. A foly´oirat k¨ ulalakj´ara defini´alhatunk egys´eges utas´ıt´asokat, ami p´eld´aul tartalmazza a t¨ uk¨orm´eretet, a foly´oirat c´ım´et, de az egyes cikkekre is ´erdemes (s˝ot, kell is) olyan utas´ıt´asokat el˝ore defini´alni, amelyek meghat´arozz´ak p´eld´aul a fejl´ecet, a l´absort, a cikk c´ım´enek bet˝ ut´ıpus´at, elhelyezked´es´et ´es egy´eb, a cikken bel¨ uli egyes egys´egek (szerz˝o, szakasz, irodalomjegyz´ek . . . ) k¨ ulalakj´at. Ezeket az el˝ore defini´alt makr´okat o¨sszegy˝ ujthetj¨ uk egy k¨ ul¨on f´ajlba is (a TEX-et haszn´al´ok szokt´ak ezt a f´ajlt st´ılusnak nevezni ´es .sty kiterjeszt´ essel ell´atni), ´es minden futtat´asn´al beolvastathatjuk az \input paranccsal. ´Igy a foly´oirat szed´ese ´evfolyamr´ol ´evfolyamra, sz´amr´ol sz´amra egyszer˝ u, ´es a szed´es eredm´enye egys´eges lesz. Aki beletekint a plain.tex-be (ak´ar az amstex.tex-be illetve a latex.texbe), ´eszreveszi, hogy ez nem m´as, mint olyan makr´ok gy˝ ujtem´enye, amelyek nagy m´ert´ekben megk¨onny´ıtik a szed˝ok munk´aj´at. Ebben a r´eszben le´ırtak olvas´asa ut´an e gy˝ ujtem´enyek tanulm´anyoz´asa sokat seg´ıthet u ´ j makr´ok ´ır´as´aban.
∗ Mivel nem ismerheti mindenki az o ¨sszes primit´ıv valamint el˝ ore defini´ alt makr´ o nev´et, az a ´tdefini´ al´ ast u ´gy ker¨ ulhetj¨ uk el a legbiztons´ agosabban, ha az a ´ltalunk defini´ alt makr´ onak nem angol nevet adunk, ´es ker¨ ulj¨ uk az egy-k´et bet˝ us parancsneveket is. ∗∗ Ahol nem tartjuk sz¨ uks´egesnek megk¨ ul¨ onb¨ oztet´es¨ uket, ott a parancs vagy az utas´ıt´ as szavakat haszn´ aljuk.
88
´k 5 Makro
plainTEX
5.1. Egyszer˝ u makr´ok Tekints¨ uk a k¨ovetkez˝o p´eld´at! K´epzelj¨ uk el, hogy a k´eziratban nagyon gyakran el˝ofordul az (x1 , . . . , xn ) vektor. Ilyenkor u ´ j parancsot defini´alhatunk a k¨ovetkez˝ok´eppen: \def\xvek{(x_1,\ldots,x_n)}
Ezzel a forr´asf´ajlban $(x_1,\ldots,x_n)$ helyett egyszer˝ uen $\xvek$-et ´ırhatunk, ´ertelmez´ese szerint az \xvek az (x 1 , . . . , xn ) r¨ovid´ıt´ese”. Teh´at a ” X
(x1 ,... ,xn )6=(0,... ,0)
f (x1 , . . . , xn ) − g (x1 , . . . , xn )
kifejez´est a $$\sum_{\xvek\ne(0,\ldots,0)}\Bigl(f\xvek-g\xvek\Bigr)$$
forr´assz¨oveg adja. Ezzel defini´altunk egy makr´ot. Azonban a TEX ford´ıt´asn´al nem egyszer˝ uen csak helyettes´ıti a makr´oneveket a helyettes´ıtend˝o sz¨oveggel, hanem kifejti a makr´ot. P´eld´aul a TEX kifejti az \xvek makr´ot, mint (x_1,\ldots,x_n), ahol az \ldots megint egy makr´o, amit \mathinner{\ldotp\ldotp\ldotp} alakban fog kifejteni (a plain.tex ´ertelmez´es´et haszn´alva). Itt a kifejt´esi folyamat meg´all, mert a \mathinner ´es az \ldotp nem makr´o, hanem primit´ıv. Makr´ot lehet haszn´alni egyszer˝ u sz¨oveg r¨ovid´ıt´es´ere is. Defini´alhatunk p´eld´aul egy \def\KLTE{Kossuth Lajos Tudom\’anyegyetem}
makr´ot, ´es ha a \KLTE parancssz´ot haszn´aljuk, annak be´ır´asi hely´en a t¨ordelt oldalon a z´ar´ojelben szerepl˝o sz¨oveg – azaz a Kossuth Lajos Tudom´anyegyetem – fog megjelenni. Gyakorlati k´erd´es mer¨ ul fel, hogy mikor ´erdemes u ´ j makr´ot defini´alni. Persze ez az egy´eni munk´at´ol f¨ ugg. P´eld´aul, ha egy k´eziratban sokszor fordul el˝o az e jel¨ol´es, akkor ´erdemes a k¨ovetkez˝o makr´ot l´etrehozni: \def\hep{{\widetilde\varepsilon}}
´es az eg´esz {\widetilde\varepsilon} helyett el´eg \hep-et ´ırni. A makr´ok defini´al´asa sokszor komoly er˝ofesz´ıt´est ig´enyel, ez´ert csak egy-k´et helyen el˝ofordul´o, bonyolult k´eplet´ert nem ´erdemes, de a nagyon gyakran el˝ofordul´okn´al a munka megt´er¨ ul. Itt felh´ıvjuk a figyelmet arra a (r¨ogt¨on e k¨onyv elej´en eml´ıtett) fontos szab´alyra, hogy a TEX figyelmen k´ıv¨ ul hagyja a bet˝ ukb˝ol a´ll´o parancsok ut´ani sz´ok¨ozt. A makr´ok ´ır´asakor, valamint haszn´alatakor erre u ¨ gyelni kell. P´eld´aul a fenti, csak matematikai m´odban haszn´alhat´o \xvek makr´o defin´ıci´oj´at az al´abbiak szerint m´odos´ıtva \def\xvek{$(x_1,\ldots,x_n)$},
´k 5.2. Param´ eteres makro
plainTEX
89
ez m´ar csak sz¨oveg m´odban alkalmazhat´o, ´es az \xvek vektor forr´assz¨oveg eredm´enye (x1 , . . . , xn )vektor” lesz. Teh´at helyesen \xvek\ vektor. Itt lehet ” l´atni, hogy a makr´o nemcsak a sz¨oveg egyszer˝ u r¨ovid´ıt´ese”. ”
5.2. Param´eteres makr´ok A TEX rendszerben rugalmasabb ´es hat´asosabb makr´okat is tudunk defini´alni. Gondoljunk csak az el˝oz˝o pontban eml´ıtett \xvek makr´ora. Vegy¨ uk figyelembe, hogy akkor a (0, . . . , 0) vektort k´enytelenek voltunk ´ıgy szedni: (0,\ldots,0)
Mi lesz akkor, ha (x1 , . . . , xn )-nel egy¨ utt gyakran szerepel az (y 1 , . . . , yn ) kifejez´es is? Term´eszetesen az \xvek mint´aj´ara defini´alhatunk egy u ´ jabb \yvek parancsot, de a TEX egy m´asik lehet˝os´eget is k´ın´al: \def\vekt#1{({#1}_1,\ldots,{#1}_n)}
E defin´ıci´o ut´an \vekt x (vagy \vekt{x}) ´es \vekt y (vagy \vekt{y}) fogja az (x1 , . . . , xn ) ´es
(y1 , . . . , yn )
form´at eredm´enyezni. Arr´ol van itt sz´o, hogy a #1 szimb´olum csak egy form´alis param´eter, ´es a makr´o kifejt´esekor a #1 hely´ere l´ep a helyettes´ıtend˝o argumentum, jelen esetben az x illetve az y. Ha az argumentum t¨obb elemb˝ol a´ll, ezeket { } z´ ar´ojelek k¨oz´e kell tenni. P´eld´aul \vekt{\alpha^2} eredm´enye (α 21 , . . . , α2n ) kifejez´es lesz. A #1 form´alis szimb´olum sejteti, hogy egy makr´o defini´al´asakor t¨obb param´etert is haszn´alhatunk a param´eterek megsz´amoz´as´aval. A \def\vekt#1#2{({#1}_1,\ldots,{#1}_{#2})}
defin´ıci´o ut´an a \vekt{y}{m} eredm´enye (y 1 , . . . , ym ) lesz. L´athatjuk, hogy a makr´o param´etereit a defin´ıci´oban a makr´o neve ut´an adjuk meg a #1, #2, . . . , #9 karakterp´ arok felsorol´as´aval. Innen m´aris egy korl´atoz´as: egy makr´onak legfeljebb kilenc param´etere lehet ´es csak nagys´ag szerinti sorrendben szerepeltethetj¨ uk o˝ket a makr´o neve ut´an. A m´asik l´enyeges dolog, hogy a parancssz´o defini´al´as´aban nem szerepelhet p´eld´aul #4, ha a parancssz´o ut´an nem a´ll ott a #1#2#3#4 karaktersorozat. A { } z´ar´ojelp´ar k¨oz¨otti u ´ n. helyettes´ıt˝ o sz¨ ovegben azonban a kint megadottak b´armilyen sorrendben szerepelhetnek, illetve b´armelyik¨ uk hi´anyozhat. P´eld´aul \def\vekt#1#2#3{({#2}_1,\ldots,{#2}_{#1})^{#3}}
Fontos megjegyezni, hogy az u ´ j makr´o defini´al´asakor u ¨ gyeln¨ unk kell a form´alis param´eterek k¨oz¨otti sz´ok¨oz¨okre, mert azoknak szerep¨ uk van. Hacsak nem ´eppen ki akarjuk ezt haszn´alni, lehet˝oleg ne hagyjunk itt sz´ok¨oz¨oket! P´eld´aul a \def\vekt#1#2{ . . . } \def\vekt#1 #2{ . . . }
90
plainTEX
´k 5 Makro
parancsok haszn´alata nem egyforma. Ez a helyettes´ıtend˝o argumentum meghat´aroz´as´ab´ol ered, amivel k´es˝obb r´eszletesebben foglalkozunk. Egy makr´o a defini´al´asa ut´an v´alik haszn´alhat´ov´a, ´es addig ´erv´enyes az ´ertelmez´ese, am´ıg ugyanannak a parancsn´evnek u ´ j ´ertelmez´est nem adtunk, illetve azt a csoportot, amelyiken bel¨ ul defini´altuk, le nem z´artuk.
5.3. Makr´ok defini´al´asa ´ Most r´at´er¨ unk a makr´ok defini´al´as´anak a szab´alyaira. Altal´ anos alakja a k¨ovetkez˝o: \defhparancsn´evihparam´eterlistai{hhelyettes´ıt˝ o sz¨ ovegi}
ahol a b´armely, a TEX-ben megengedett parancsn´ev lehet, teh´at eleget kell tennie ugyanazoknak a szab´alyoknak, amelyek a primit´ıvek, illetve a plain.tex utas´ıt´ asainak a neveire vonatkoznak (l´ asd 1.3. Parancsok, parancsszavak). Ez azt jelenti, hogy a hparancsn´evi a \ karakterrel kezd˝odik, ´es az egyik esetben egyetlen m´as jel k¨oveti, ami nem bet˝ u; a m´asik esetben a \ jelet tetsz˝ olegesen hossz´ u bet˝ usorozat k¨oveti. P´eld´aul a \?, \$, \fejezet mind megfelel˝o parancsnevek. hparam´ eterlistai: Nemcsak a #1, #2, . . . , #9 szimb´ olumokat tartalmazhatja, hanem m´as jeleket ´es bet˝ uket is, amelyeket a TEX hat´arol´ojelk´ent haszn´al a helyettes´ıt˝o argumentumok meghat´aroz´as´an´al. A hparam´eterlistai u ¨ res is lehet. hhelyettes´ ıt˝ o sz¨ ovegi: Itt szerepelhet ak´ ar egyszer˝ u sz¨oveg, ak´ar a parancsok egy sorozata – bele´ertve u ´ j makr´ok defini´al´as´at ´es egy´eb ´ert´ekad´asokat is. A # szimb´olumra van egy kik¨ot´es: a hparam´eterlistai-ban az els˝o # jel ut´an kell hogy 1 legyen, a m´asodik # ut´an 2 stb. A hhelyettes´ıt˝o sz¨ovegi-ben mindegyik # jel ut´ an egy sz´amnak kell szerepelnie, vagy a # jelet egy m´asik # k¨ovetheti, teh´at ##. Az ut´obbi esetben a makr´o kifejt´esekor a ## egyetlen # jelet jelent, amire k´es˝obb fogunk m´eg p´eld´at l´atni. P´eld´ak:
hparancsn´ evi
(1)
\def\empty{}
(2)
\def\sor{\hbox to\hsize}
(3)
\def\bbb{A\def\aaa{C}\aaa}
(4)
\def\cs#1#2{{\bf#1.} #2}
(5)
\def\allitas #1. #2\par{\medbreak \noindent{\bf#1.\enspace}{\sl#2}\par\medbreak}
(6)
\def\fejezet#1\befejezet{\bigskip \leftline{\bf#1}\nobreak\smallskip\noindent}
(7)
\def\parancs AB#1#2C#3.{$#1_{#2}^{#3}$}
´ k definia ´ la ´sa 5.3. Makro
plainTEX
91
Az 1., 2. ´es 3. p´eld´akban param´eter n´elk¨ uli makr´ok szerepelnek. Az els˝oben az \empty makr´ot teljesen u ¨ resnek defini´altuk, a m´asodikban a \sor parancsn´evnek adtunk egy meghat´aroz´ast, tulajdonk´eppen ez a \hbox to \hsize r¨ovid´ıt´ese. A 3. defin´ıci´o az´ert ´erdekes, mert a \bbb makr´o defin´ıci´oj´aban definia´ltunk egy m´asik makr´ot, az \aaa-t, ´es azt alkalmaztuk is. Az \aaa makr´o teh´at att´ol kezdve ´erv´enyes, amikor a \bbb-t defini´altuk. Miel˝ott foglalkozunk a t¨obbi p´eld´aval, r´at´er¨ unk itt a TEX argumentum elhat´arol´o mechanizmus´ara. Az el˝oz˝o r´eszben defini´alt \vekt makr´o eset´eben l´athattunk egy p´eld´at a param´eteres makr´ok defini´al´as´ara, ahol eml´ıtett¨ uk, hogy a helyettes´ıt˝o argumentumokat aj´anlatos a {} z´ar´ojelp´arban ´ırni. A TEXnek van egy m´asik argumentum elhat´arol´o szab´alya, aminek a seg´ıts´eg´evel nem kell mindig z´ar´ojelek k¨oz´e tenni az argumentumokat, hanem a makr´o kifejt´esekor a TEX ´eszleli, hogy hol van az argumentum v´ege. A hparam´eterlistai-ban egy form´alis # param´eter lehet elhat´ arolt param´eter, ´es lehet nemelhat´ arolt param´eter. Egy param´eter, p´eld´aul #1, elhat´ arolt param´eter, ha az 1 ´es a k¨ovetkez˝o #2 (vagy a param´eterlista v´ege) k¨oz¨ott van legal´abb egy elhat´arol´o karakter. Elhat´ arol´ o karakter lehet b´armilyen nem vez´erl˝o karakter vagy parancs. Ha a defini´al´asnak ezt a m´odj´at alkalmazzuk, a makr´o haszn´alatakor az a legr¨ovidebb karaktersorozat (ez lehet u ¨ res is) lesz a megfelel˝o argumentum, amely ut´an egy vagy t¨obb ilyen nem-param´eter karakter szerepel. Egy param´eter nemelhat´ arolt param´eter, ha r¨ogt¨on ut´ana egy m´asik form´alis param´eter k¨ovetkezik, vagy a hparam´eterlistai legv´eg´en szerepel. A fent bemutatott p´eld´akon kereszt¨ ul magyar´azzuk meg ezeket a fogalmakat. A \def\vekt#1#2#3{ . . . } defin´ıci´oban mindegyik param´eter (#1, #2 ´es #3) nemelhat´arolt param´eter, mivel k¨ozvetlen¨ ul #1 ut´an #2 a´ll, ´es #2 ut´an #3, #3 h i pedig a param´eterlista v´eg´en szerepel. Ilyenkor, ha t¨obb karakterrel vagy t¨obb parancsn´evvel akarunk helyettes´ıteni egy param´etert, azokat {} z´ar´ojelp´arba kell tenni. M´as a helyezet a 4. p´elda eset´eben. Mivel a \def\cs#1. #2{ . . . }
defin´ıci´oban #1 egy elhat´arolt param´eter (#1 ´es #2 k¨oz¨ott szerepel egy pont ´es egy sz´ok¨oz), #2 pedig nemelhat´arolt, a makr´o kifejt´esekor az a karaktersorozat lesz az els˝o argumentum, amely a \cs ´es az o˝t k¨ovet˝o els˝o . p´ar k¨oz¨ott a´ll. P´eld´aul a \cs T´etel. Minden . . . ” eset´eben #1 param´eter hely´ere ” T´etel” lesz a helyettes´ıt˝o argumentum (a pont ´es a sz´ok¨oz n´elk¨ ul), a #2-t ” M” helyettes´ıti. Ha p´eld´aul \cs 5. T´etel. Nem minden . . . ” a forr´assz¨oveg, ” ” akkor az els˝o . p´ar az 5 ut´an a´ll, teh´at 5 lesz a #1 helyettes´ıt˝o sz¨ovege. Viszont a \cs{5. T´etel.}. {Nem . . . }” form´aban t¨ort´en˝o alkalmaz´as eset´en az els˝o ” . p´ art nem veszi figyelembe a TEX, mivel az be van a´gyazva egy csoportba, ´ıgy 5. T´etel.” lesz a #1 ´es a Nem . . . ” lesz a #2 param´eter helyettes´ıt˝o ” ” sz¨ovege. Az 5. p´elda \allitas makr´oj´anak alkalmaz´asakor a TEX addig gy˝ ujti a parancs ut´an k¨ovetkez˝o karaktereket, am´ıg meg nem tal´alja az els˝o megfelel˝o (nem be´agyazott) . p´art, ´es ekkor hat´arozza meg, hogy az addig beolvasott forr´assz¨ovegr´esz lesz az els˝o argumentum. Ut´ana folytatja a beolvas´ast addig, am´ıg nem tal´al egy \par parancsot vagy egy u ¨ res sort. Ekkor meg´allap´ıtja,
92
plainTEX
´k 5 Makro
hogy a #2 helyettes´ıt˝o argumentuma az els˝o . p´ar ´es a \par (vagy u ¨ res sor) k¨oz¨otti sz¨oveg lesz. A 6. p´elda hasonl´o az el˝oz˝oh¨oz. A \fejezet ´es \befejezet k¨oz¨otti sz¨oveggel helyettes´ıti a TEX a #1 param´etert. Ha elfelejtett¨ uk a \befejezet parancsot be´ırni a forr´assz¨ovegbe, a TEX addig gy˝ ujti a karaktereket #1-nek, am´ıg meg nem tal´alja a bekezd´es v´eg´et, aminek k¨ovetkezt´eben a ford´ıt´as Paragraph ended before . . . hiba¨ uzenettel le´all. A 7. p´elda \def\parancs AB#1#2C#3.{$#1_{#2}^{#3}$}
eset´eben, amikor a TEX beolvassa a \parancs-ot, azt v´arja, hogy a k´et k¨ovetkez˝o karakter AB lesz. A param´eterek k¨oz¨ ul #2 ´es #3 elhat´arolt, m´ıg #1 nemelhat´arolt param´eter. A \parancs makr´o alkalmaz´as´an´al az els˝o megfelel˝o C karakter beolvas´ as´aval a TEX tudja, hogy eddig tart a m´asodik argumentum, ´es hasonl´o a helyzet a harmadik argumentummal is, ahol a . a hat´arol´o jel. Ha az AB, C ´es . k¨oz¨ ul ak´ar egy is hi´anyzik, hiba¨ uzenetet fogunk kapni. L´attuk teh´at, hogy a hparam´eterlistai-ban a form´alis param´eterek k¨oz¨ott szerepl˝o karakterek seg´ıts´eg´evel hogyan tudja a TEX meghat´arozni az argu¨ mentumokat. Osszefoglalva, egy makr´ot csak u ´ gy szabad haszn´alni, ahogy defini´altuk: ha a makr´o defin´ıci´oj´aban a hparam´eterlistai-ba a #1, #2, . . . , #9 form´alis param´etereken k´ıv¨ ul egy´eb karaktereket is ´ırtunk, akkor azoknak szerepelni¨ uk kell az alkalmaz´asban is, m´egpedig olyan sorrendben, ahogy azok a defin´ıci´oban szerepelnek. Fontos m´eg, hogy a \def utas´ıt´assal defini´alt makr´o haszn´alata eset´en az argumentum nem a´llhat egyn´el t¨obb bekezd´esb˝ol. Ha ford´ıt´askor a TEX a bekezd´es v´eg´eig nem tudja lez´arni az argumentumokat, a TEX meg´all ´es hiba¨ uzenetet k¨ uld. Teh´at ezzel a m´odszerrel t¨obb bekezd´es nem szerepelhet egy argumentumban. Amikor a TEX tal´al egy makr´oalkalmaz´ast, a makr´o defin´ıci´oj´aban l´ev˝o alapj´an meghat´arozza az argumentumokat, a hhelyettes´ıt˝o sz¨ovegi k¨or¨ uli { } z´ar´ojeleket figyelmen k´ıv¨ ul hagyja, ´es a hhelyettes´ıt˝o sz¨ovegi-ben a form´alis param´eterekkel megadott helyekre behelyettes´ıti az argumentumokat. Nemelhat´arolt param´eter eset´en, ha az argumentum z´ar´ojelek k¨oz¨ott van, ezeket a z´ar´ojeleket is elhagyja, a t¨obbi az argumentum r´eszek´ent beker¨ ul a hhelyettes´ıt˝o sz¨ovegi-be. P´eld´aul a
hparam´ eterlistai
\def\parancs AB#1#2C#3.{#3{ab#1}#1\bf#2}
defin´ıci´o ut´an a \parancs AB {\medskip i}C{sz¨ oveg}\$ 2.
alkalmaz´as eset´en #1 argumentuma \medskip i” lesz, mivel #1 nemelhat´arolt ” param´eter, az AB ut´ani sz´ok¨oz ´es a {} p´ar nem r´esze az argumentumnak; a #2 argumentuma u ¨ res, mert C k¨ovetkezik r¨ogt¨on az els˝o argumentum ut´an; a #3 argumentuma {sz¨oveg}\$ 2” lesz, bele´ertve a z´ar´ojelp´art is, de a pontot m´ar ” nem.
´ k definia ´ la ´sa 5.3. Makro
plainTEX
93
R´at´er¨ unk most a hhelyettes´ıt˝o sz¨ovegi-re. Mint mondottuk, ebben b´armilyen karakter szerepelhet, a form´alis #1, #2, . . . , #9 param´eterek b´armilyen sorrendben lehetnek, ´es b´armelyik¨ uk hi´anyozhat, de csak olyan sorsz´am´ u param´etert tartalmazhat, amely a hparam´eterlistai-ban szerepel. A fenti p´eld´ak is ezt mutatj´ak. H´atra van m´eg a dupla ## param´eter haszn´alat´ar´ol n´eh´any sz´ot sz´olni. Mint mondottuk, a makr´o kifejt´esekor ## helyett a kifejtett karaktersorozatban egyetlen # marad. E kifejt´esi szab´aly akkor hasznos, amikor egy m´asik param´eteres makr´ot akarunk defini´alni egy param´eteres makr´o defin´ıci´oj´aban, vagy amikor a \halign-hoz hasonl´o parancsokat akarjuk alkalmazni egy makr´odefin´ıci´on bel¨ ul. Erre k´et p´eld´at mutatunk: \parancs\ccc#1{\def\ddd##1{##1}#1}
E defin´ıci´o ut´an p´eld´aul a \ccc{Ki az?} kifejt´ese \def\ddd#1{#1}Ki az?” lesz. ” \def\fofej{\bigskip \def\\{\cr} \vbox\bgroup\tabskip=0pt plus 1fill \halign to \hsize\bgroup\hfill\bf##\hfill\cr} \def\befofej{\cr\egroup\egroup}
E defin´ıci´oval a \fofej Ez az els\H o fejezet\\ c\’\ime \befofej
alkalmaz´as ut´an a fenti c´ım (Ez az els\H o fejezet c\’\i me) k´et sorban, k¨oz´epre z´arva ´es f´elk¨ov´eren lesz szedve. Itt tulajdonk´eppen a \halign primit´ıvet haszn´altuk a defini´alt makr´on bel¨ ul. Az el˝oz˝o r´eszekb˝ol tudjuk, hogy ha egy makr´ot egy csoporton bel¨ ul haszn´alunk, annak hat´asa csak az o˝t tartalmaz´o legsz˝ ukebb csoportban ´erv´enyes. Ugyanez ´erv´enyes a makr´o defini´al´as´ara is: Ha egy csoporton bel¨ ul van defini´alva a makr´o, akkor azon a csoporton k´ıv¨ ul a TEX nem ismeri azt a makr´ot. A makr´o csoporton k´ıv¨ uli haszn´alata Undefined control sequence hiba¨ uzenethez vezet. Ha m´egis azt akarjuk, hogy az a csoporton k´ıv¨ ul is ´erv´enyben maradjon, a \def kulcssz´o el˝ott haszn´aljuk a \global kulcssz´ot is, vagyis a \def helyett a \global\def form´ aban kezdj¨ uk a defini´al´ast. Ezzel egyen´ert´ek˝ u a \gdef parancs. A gyakorlatban gyakran hib´azunk. Az egyik tipikus hibafajta, hogy elfelejtj¨ uk a } z´ar´ojelet beg´epelni, mondjuk egy argumentum lez´ar´asak´ent. Akkor a TEX addig gy˝ ujti a forr´asf´ajlb´ol a sz¨oveget, am´ıg egy, az adott csoportot lez´ar´o } z´ar´ojelet nem tal´al, vagy t´ ulcsordul´as nem jelentkezik a bels˝o mem´ori´aj´aban, amikor is a ford´ıt´as TeX capacity exceeded hiba¨ uzenettel le´all. E hiba elker¨ ul´ese v´egett a TEX alkalmazza a k¨ovetkez˝o szab´alyt: a \par illetve az u ¨ res sor soha nem szerepelhet argumentum r´eszek´ent, kiv´eve ha konkr´etan utas´ıtjuk arra, hogy ezek szerepl´ese az argumentumban leg´alis. Az el˝oz˝okben olyan defini´al´asi m´odokat n´ezt¨ unk, ahol nem szerepelhet t¨obb bekezd´es argumentum r´eszek´ent. Ha m´egis azt szeretn´enk, hogy t¨obb bekezd´es is szerepelhessen
94
´k 5 Makro
plainTEX
argumentumk´ent (pl. egy t´etel bizony´ıt´asa t¨obb bekezd´esb˝ol a´llhat), a \def kulcssz´o el´e be kell ´ırni a \long kulcssz´ot. P´eld´aul \long\def\biz{\medskip . . . }
Ezenk´ıv¨ ul m´asf´ele hibaforr´as is lehets´eges. Az \outer\def-fel lehet olyan makr´ot defini´alni, amely nem szerepelhet egy m´asik makr´o argumentum´anak a r´eszek´ent. P´eld´aul a plain.tex-ben a \tetel makr´ohoz hasonl´o m˝ uk¨od´es˝ u \proclaim makr´ o \outer-rel van defini´alva: \outer\def\proclaim #1.
#2\par{ . . . }
Most a makr´ok defini´al´as´anak egy m´asik m´odj´aval ismerked¨ unk meg. A TEX-ben ´ıgy is lehet ´ertelmez´est adni egy parancssz´onak: \lethparancsn´evi=h´ertelmez´esi
ahol az h´ertelmez´esi lehet egy karakter vagy egy m´asik parancsn´ev (makr´o) is. P´eld´aul \let\zero=0 \let\a=\b
\let\b=\c \let\c=\a
az ut´obbi h´arom defin´ıci´oval kicser´elt¨ uk a \b ´es a \c ´ertelmez´es´et. N´ezz¨ uk meg, hogy mi a k¨ ul¨onbs´eg a \let\a=\b ´es a \def\a{\b} k¨oz¨ott! A k¨ ul¨onbs´eg az, hogy a \let\a=\b defin´ıci´oval a \b ´ertelmez´es´et a´truh´aztuk az \a parancssz´ora, teh´at \a ´ertelmez´ese olyan, mint \b-´e a \let\a=\b megad´as´at´ol kezdve. Ellenben a \def\a{\b} eset´eben \a egy makr´o, amelyet a TEX kifejt \b-v´ e, amikor az \a-t haszn´aljuk. K´et makr´o ´ertelmez´es´enek kicser´el´esekor csak a \let-et haszn´alhatjuk.
5.4. Felt´eteles utas´ıt´asok Vannak olyan esetek, amikor egy j´ol meghat´arozott felt´etellel k´ıv´anjuk a program tov´abbi m˝ uk¨od´es´et ir´any´ıtani. A programoz´asi nyelvekben erre a c´elra felt´eteles utas´ıt´asokat haszn´alnak. A TEX is ny´ ujt ilyen lehet˝os´egeket. A felt´eteles utas´ıt´asok a´ltal´anos alakja a k¨ovetkez˝o: \ifh felt. t´ıpus i h felt´etel i hha igaz sz¨ ovegi\else hha hamis sz¨ ovegi\fi
ahol a h felt. t´ıpus i a felt´etel szerkezet´ere utal, ´es ahol a h felt´etel i teljes¨ ul´ese eset´en a TEX a hha igaz sz¨ovegi r´eszt ´ertelmezi, fejti ki ´es hajtja v´egre, m´ıg ha a felt´etel nem teljes¨ ul, a hha hamis sz¨ovegi r´eszt. Itt r¨oviden hha igaz sz¨ovegi-nek illetve hha hamis sz¨ ovegi-nek h´ıvunk tetsz˝ oleges sz¨oveget, utas´ıt´assorozatot vagy ezek kombin´aci´oj´at. Ha elkezdj¨ uk egy felt´etel vizsg´alat´at az \if h felt. t´ıpus i kulcssz´oval, azt ´eppen u ´ gy le kell z´arni mindig a \fi-vel, mint ahogy a { csoportnyit´ast a }-lel. Ha a programnak semmit nem kell v´egrehajtania a felt´etel nem teljes¨ ul´ese eset´en, akkor az \else r´eszt elhagyhatjuk. Nagyon vigy´azzunk, a \fi r´eszt sohasem hagyhatjuk el!
´sok 5.4. Felt´ eteles utas´ıta
plainTEX
95
Az \ifh felt. t´ıpus i legfontosabb alakjai: (a)
\ifnumhsz´ am1 ihrel´ aci´ o ihsz´ am2 i hha igaz sz¨ ovegi \else hha hamis sz¨ ovegi\fi
Ebben az esetben a TEX o¨sszehasonl´ıtja a hsz´am1 i-et a hsz´am2 i-vel, ahol a ´es a hsz´am2 i tetsz˝oleges eg´esz sz´amok vagy sz´aml´al´ok. A hrel´aci´o i csak <, = illetve > lehet. Erre egy gyakran haszn´alt p´elda az, amikor meg akarjuk v´altoztatni a l´abl´ec szed´es´et. A l´abl´ec a plain.tex-ben a k¨ovetkez˝ok´eppen van megadva:
hsz´ am1i
\footline={\hss\tenrm\folio\hss}
A \folio az oldalsz´amot ´ırja ki, m´ıg a \hss egy ragaszt´o (l´ asd 1.9. Ragaszt´ok), amivel k¨oz´epre helyezz¨ uk az oldalsz´amot. C´elunk az, hogy az els˝o oldalon ne jelenjen meg az oldalsz´am. Ennek el´er´es´ehez a \footline makr´o param´eter´et a k¨ovetkez˝ok´eppen kell megadnunk: \footline={\ifnum\pageno=1\hss \else\hss\tenrm\folio\hss\fi}
A fenti felt´eteles utas´ıt´ashoz hasonl´o az al´abbi: (b)
\ifoddhsz´ ami hha igaz sz¨ ovegi\else hha hamis sz¨ ovegi\fi
A k¨ ul¨onbs´eg az, hogy ez nem o¨sszehasonl´ıt k´et sz´amot, hanem azt teszteli, hogy a hsz´ami p´aratlan-e. Ha p´aratlan, a h felt´etel i igaz, ellenkez˝o esetben hamis. Visszat´erve az el˝oz˝o p´eld´ara, ha mondjuk azt akarjuk, hogy az oldalsz´am p´aratlan oldalakon a lap jobb sz´el´ere legyen szedve (Kiv´eve az els˝o oldalt, ahol nem kell megjelennie), p´aros oldalakon pedig a lap bal sz´el´ere, c´elunkat a k¨ovetkez˝o m´odos´ıt´asokkal ´erhetj¨ uk el: \footline={\ifnum\pageno=1 \hss \else \ifodd\pageno \hss\tenrm\folio \else \tenrm\folio\hss\fi \fi}
Itt l´athatjuk azt is, hogy az \if \fi p´arok egym´asba a´gyazhat´ok, csak arra kell u ¨ gyelni, hogy mindegyik \if-et bez´arjuk egy \fi-vel, ´es egy´ertelm˝ u legyen minden h felt´etel i vizsg´alata. Nemcsak egyszer˝ u sz´amokat, hanem sokszor m´er˝osz´amokat (dimenzi´okat) is sz¨ uks´eges vizsg´alni. Erre is van lehet˝os´eg a TEX-ben: (c)
\ifdimhdimen1 ihrel´ aci´ o ihdimen2 i hha igaz sz¨ ovegi \else hha hamis sz¨ ovegi\fi
Ilyenkor a TEX o¨sszehasonl´ıtja a k´et hdimeni-t, ´es a hrel´aci´o i -t´ol f¨ ugg˝oen az o¨sszehasonl´ıt´as eredm´enye igaz vagy hamis lesz. Ez a parancs haszn´alhat´o hragaszt´ o i-k o ¨sszehasonl´ıt´as´ara is.
96
plainTEX
´k 5 Makro
Ennek a haszn´alat´ara illusztr´aci´ok´ent k´et p´eld´at adunk. A plain.tex-ben tal´alhat´o k´et makr´o \def\bigskip{\vskip\bigskipamount} \def\bigbreak{\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi}
ahol a \bigskipamount=12pt plus 4pt minus 4pt. Teh´at t¨obb \bigskip egym´as ut´ani alkalmaz´asa t¨obb u ¨ res helyet eredm´enyez. Ezzel szemben a TEX a \bigbreak-n´el megn´ezi, hogy a legutols´o helykihagy´as (\lastskip) m´ert´eke meghaladja-e a \bigskipamount-ban t´arolt m´ert´eket, vagy azzal egyenl˝o-e. Ha ez teljes¨ ul, akkor nem csin´al semmit, ha kisebb, akkor visszaugrik” a legutols´o ” helykihagy´as el˝otti poz´ıci´ora (\removelastskip), ´es onnan kezdve hagy ki egy \bigskipamount-nyi helyet (\bigskip). T¨ obb egym´asut´ani \bigbreak hat´asa teh´at ugyanaz, mint az egyszeri alkalmaz´as´e. (A \penalty-200 az oldalt¨or´esre vonatkozik.) M´asik p´eldak´ent a \midinsert-et eml´ıtj¨ uk meg. Ennek a feladata az, hogy a kiad´as hely´ere egy bizonyos (lehet˝oleg el˝ore elk´esz´ıtett) sz¨oveget vagy a´br´at beillesszen, vagy az a´br´anak megfelel˝o u ¨ res helyet biztos´ıtson. Amennyiben a \midinsert megad´ asi pontj´at´ol sz´am´ıtva nem marad el´eg hely a beillesztend˝o a´br´anak, tov´abb folytat´odik a t¨ordel´es, ´es a sz¨oveget vagy a´br´at a \topinsert parancs a k¨ovetkez˝o lap tetej´en helyezi el. Alkalmaz´asa p´eld´aul: \midinsert \vskip3truecm \endinsert
Ennek egy nagyon leegyszer˝ us´ıtett defin´ıci´oja az al´abbi lehet: \def\midinsert{\par\begingroup\setbox0=\vbox\bgroup} \newdimen\dimena \def\endinsert{\egroup\dimena=\ht0 \advance\dimena by \dp0 \advance\dimena by 12pt \advance\dimena by \pagetotal \ifdim\dimena<\pagegoal\bigskip\box0\bigbreak \else\topinsert\fi\endgroup}
Ez azzal kezdi m˝ uk¨od´es´et, hogy u ´ j bekezd´essel (\par) nyit (\bgroup) egy \vboxot (melynek neve \box0), ebbe a \vbox-ba gy˝ ujti az elhelyezend˝o anyagot. Az \endinsert tov´ abb folytatja a \midinsert tev´ekenys´eg´et az´altal, hogy bez´arja a \box0-t (\egroup), m´eri ennek a \vbox-nak a magass´ag´at (\dimena=\ht0), hozz´aadja a m´elys´eg´et (\advance\dimena by\dp0) ´es 12 pt-ot. Mindezeket a \dimena m´ ert´ek seg´ıts´eg´evel v´egzi. Az o¨sszehasonl´ıt´as a TEX k´et primit´ıv parancs´aval, a \pagetotal-lal ´es a \pagegoal-lal t¨ort´enik. Az el˝oz˝o t´arolja mindegyik sor ut´an a t¨ordelt sz¨oveg magass´ag´at, a \pagegoal, b´ar sokkal komplik´altabb szerepe van, egyszer˝ u esetekben l´enyeg´eben a \vsize-zal egyenl˝o. Teh´at a \dimena egyenl˝o lesz az elhelyezend˝o sz¨oveget tartalmaz´o \vbox magass´ag´aval (plusz egy sor). Ezut´an a TEX hozz´aadja a \pagetotal-t a \dimenahoz. Eredm´enye teh´at annak az oldalr´esznek a magass´aga, amely tartalmazza az eddigi t¨ordelt sz¨oveget az elhelyezend˝o sz¨oveggel (´abr´aval) egy¨ utt. Ha ez nem haladja meg a \vsize-ot (\ifdim\dimena<\pagegoal), akkor ki´ırja a \box0
´sok 5.4. Felt´ eteles utas´ıta
plainTEX
97
tartalm´at a megfelel˝o helyre. Ellenkez˝o esetben folytat´odik a t¨ordel´es, ´es a \topinsert dolga a \box0 tartalm´ anak ki´ır´asa a k¨ovetkez˝o oldal tetej´en. (A r¨ovids´eg kedv´e´ert itt a \topinsert paranccsal nem foglalkozunk.) Gyakori eset, hogy t¨obbsz¨or¨os sz´etv´alaszt´asra van sz¨ uks´eg¨ unk. Erre olyan parancsa van a TEX-nek, amely nemnegat´ıv eg´esz sz´amos sz´etv´alaszt´ast tesz lehet˝ov´e: (d)
\ifcasehsz´ ami h0. sz¨ ovegi\or h1. sz¨ ovegi\or . . . \or hn − 1. sz¨ ovegi\or hn. sz¨ ovegi\fi
Itt n + 1 darab eset van (0, . . . , n), melyek \or-ral vannak elv´alasztva, ahol n egy nemnegat´ıv eg´esz sz´am lehet. Az \ifcase hsz´ami ´es az els˝o \or k¨oz¨otti sz¨oveg akkor jelenik meg, ha a hsz´ami = 0, az els˝o \or ut´ani sz¨oveg akkor, ha a hsz´ ami = 1 stb. Egy p´ elda az \ifcase alkalmaz´as´ara az aktu´alis h´onap nev´enek ki´ırat´asa: \def\honap{\ifcase\month\or Janu\’ar\or Febru\’ar% \or M\’arcius\or \’Aprilis\or . . . \or December% \fi}
ahol a \month a sz´am´ıt´og´ep g´epidej´enek megfelel˝o h´onap sorsz´am´aval egyenl˝o. (Ugyan´ıgy l´etezik a \year, ami az ´ev, ´es a \day, ami a nap sorsz´am´aval egyenl˝o. A sz´amok ki´ırat´asa a \number paranccsal t¨ort´enhet: pl. \number\month.) Az eddig t´argyalt esetek a legfontosabb ´es a felhaszn´al´o a´ltal leggyakrabban haszn´alt felt´eteles utas´ıt´asok voltak. A TEX-ben azonban van m´eg t¨obb (nem kev´esb´e fontos) felt´eteles parancssz´o is, amelyekb˝ol egy p´arat itt megeml´ıt¨ unk: (e) (f) (g)
\ifvmode \ifhmode \ifmmode
: : :
Teszteli, hogy vertik´alis m´odban van-e. A horizont´alis m´od tesztel´ese. A matematikai m´od tesztel´ese.
P´eld´aul a plain.tex szerint a \hat makr´ot csak matematikai m´odban haszn´alhatjuk. Ha olyan makr´ot akarunk, amely mind matematikai m´odban, mind sz¨ovegm´odban haszn´alhat´o, az utols´o parancs seg´ıts´eg´evel megtehetj¨ uk: \def\kalap#1{\ifmmode\hat #1 \else\^#1\fi}
Most r´at´er¨ unk k´et speci´alis esetre. (h) (i)
\ifhszimb´ olum1 ihszimb´ olum2 i hha igaz sz¨ ovegi \else hha hamis sz¨ ovegi\fi \ifxhszimb´ olum1 ihszimb´ olum2 i hha igaz sz¨ ovegi \else hha hamis sz¨ ovegi\fi
El˝olj´ar´oban megeml´ıtj¨ uk, hogy mindegyik bevivend˝o karaktert a TEX egy k´odp´arral jellemez: kateg´ oriak´ oddal (Eszerint felismeri, hogy az illet˝o karakter bet˝ u, sz´am, nyit´oz´ar´ojel vagy parancssz´o kezd˝o karaktere stb.) ´es karakterk´ oddal (ASCII t´abl´azat szerint). Amikor a TEX beolvas egy parancssz´ot, azt egyszer˝ uen egy hszimb´olumi-k´ent kezeli, a parancssz´o kateg´oriak´odj´at mindig 16-nak, m´ıg karakterk´odj´at 256-nak tekinti, kiv´eve azt az esetet, amikor a makr´o \let-tel van defini´alva.
98
plainTEX
´k 5 Makro
Az els˝o esetben \ifhszimb´ olum1 ihszimb´ olum2 i
u ´ gy m˝ uk¨odik, hogy a TEX addig fejti ki az \if ut´an a´ll´o makr´ot vagy makr´okat, am´ıg nem tal´al k´et m´ar ki nem fejthet˝o hszimb´olumi-ot – legyenek ezek ak´ar egy makr´on bel¨ ul –, ´es ezut´an o¨sszehasonl´ıtja ezek karakterk´odj´at. Az o¨sszehasonl´ıt´as eredm´enye igaz, ha karakterk´odjuk megegyezik, f¨ uggetlen¨ ul a kateg´oriak´od konkr´et ´ert´ek´et˝ol. Tekints¨ uk a k¨ovetkez˝o p´eld´at! \def\aa{ab} \def\bb{ab} \if\aa\bb 1\else 2\fi
A teszt eredm´enye hamis, mivel az \if kifejti az \aa makr´ot, megtal´alja benne a k´et els˝o, tov´abb m´ar nem fejthet˝o szimb´olumot az a-t ´es a b-t, ´es ezeket hasonl´ıtja o¨ssze. A kiszedett sz¨oveg ez´ uttal a 2” lesz. De ” \def\aa{aa} \def\bb{bb} \if\aa\bb 1\else 2\fi
eset´en a teszt eredm´enye igaz, ´es \bb m´ar k´ıv¨ ul esik az \if vizsg´alat´an, ´ıgy bb1” ker¨ ul kiszed´esre. ” Ezzel ellent´etben az \ifxhszimb´ olum1 ihszimb´ olum2 i
eset´eben az \ifx csak a legfels˝o” szintig fejti ki mind a hszimb´olum1 i-et, mind ” a hszimb´olum2 i-t, ha azok makr´ok. Ha egyik sem makr´o, a felt´etel igaz, ha a karakterek kateg´oriak´odja megegyezik. Ha mindkett˝o makr´o, a felt´etel csak akkor igaz, ha param´etereik megegyeznek, ugyan´ ugy vannak defini´alva (a \long, \outer, \global stb. primit´ıvekkel), ´ es egyszeri kifejt´es¨ uk megegyezik. Ez azt jelenti, hogy a TEX nem fejti ki tov´abb azokat a makr´okat, amelyek ezekben szerepelnek. P´eld´aul a \def\enyem{\tied} kifejt´esekor az \ifx kifejti az \enyem makr´ot, ami \tied lesz, de a \tied-et m´ar nem fejti ki, ellent´etben az \if-fel. N´ezz¨ uk a k¨ovetkez˝o p´eld´at! Legyen \def\egyke{\a}, \def\ketto{\footnote}. Az \ifx seg´ıts´eg´evel megvizsg´altatva a \ketto-t ´es az \egyke-t (\ifx\ketto\egyke), az \ifx kifejti \egyke-t mint \a-t, \ketto-t mint \footnote-ot, ´ es o¨sszehasonl´ıtja ezeket, ´ıgy az eredm´eny igaz lesz. Az \if\ketto\egyke azonban ezek ut´an kifejti a \footnote-ot, aminek k¨ovetkezt´eben hiba¨ uzenetet fogunk kapni ! Undefined control sequence. \footnote #1->\let \@ sf \empty \ifhmode . . .
mivel a plain.tex-en k´ıv¨ ul @ m´ar nem bet˝ u, hanem jel. Fontos megjegyezni, hogy az \ifx vizsg´alja mind a k´et makr´ot, ´es o¨sszehasonl´ıtja o˝ket.
´ k kifejt´ 5.5. Makro ese
plainTEX
99
P´eld´aul az \def\aa{ab} \def\bb{ab} \ifx\aa\bb 1\else 2\fi
o¨sszehasonl´ıt´as eredm´enye igaz, mivel mindk´et makr´o egyszeri kifejt´ese ugyanaz, de az \def\aa{aa} \def\bb{bb} \ifx\aa\bb 1\else 2\fi
teszt eredm´enye hamis.
5.5. Makr´ok kifejt´ese L´enyeg´eben kezdett˝ol fogva m´ar err˝ol ´ırtunk. A teljess´eg kedv´ert az al´abbiakban o¨sszefoglaljuk a makr´ok kifejt´es´enek n´eh´any elv´et: Ha a TEX beolvas egy parancssz´ot (makr´ot), megkeresi annak defin´ıci´oj´at. ´ Altal´ aban a defin´ıci´o szerint ki is fejti a makr´ot egy szimb´olumokb´ol a´ll´o sorozat alakj´aban, miel˝ott tov´abb folytatja a beolvas´ast, de n´emely esetben nem fejt ki semmit. Ha a TEX kifejt egy makr´ot, el˝osz¨or meghat´arozza annak argumentumait, ahogy az el˝obb ´ırtuk. Mindegyik argumentum a szimb´olumok egy sorozata. Amikor elfogadja a szimb´olumokat mint argumentumokat, ezeket m´ar nem fejti ki tov´abb. Ezut´an a makr´o hhelyettes´ıt˝o sz¨ovegi-´ebe behelyettes´ıti az argumentumokat, majd ezzel a karaktersorozattal helyettes´ıti a makr´o nev´et az alkalmaz´as hely´en. Itt megeml´ıt¨ unk k´et fontos esetet, amikor a TEX nem fejti ki r¨ ogt¨ on a makr´okat. a) \expandafterhszimb´olumi: A TEX el˝osz¨or beolvassa az \expandafter-t k¨ozvetlen¨ ul k¨ovet˝o szimb´olumot (pl. a \parancs makr´ot) annak kifejt´ese n´elk¨ ul, majd tov´abb olvassa be az ezut´an k¨ovetkez˝o egy vagy esetleg t¨obb szimb´olumot, ha ennek vannak argumentumai, ezeket kifejti, ´es csak ezut´an fejti ki a \parancs-ot. b) \noexpandhszimb´olumi: A \noexpand parancs hat´as´ara a TEX nem fejti ki a hszimb´olumi-ot, a kifejt´es le van tiltva.
100 plainT X E
6 Mintaoldalak
6. Mintaoldalak Ebben a fejezetben k´et mintalappal szeretn´enk illusztr´alni a TEX konkr´et haszn´alati m´odj´at. Az els˝o egy a´ltal´anos sz¨oveg, amelyben egy lev´el elk´esz´ıt´es´ere l´athatunk p´eld´at. Itt sz¨ uks´eg van az oldal ´es a bekezd´esek param´etereinek be´all´ıt´as´ara, u ´ j bet˝ uk´eszletek bet¨olt´es´ere. L´athatunk p´eld´at u ´ j parancs definia´l´as´ara is. A m´asodik sz¨oveg egy hosszabb terjedelm˝ u matematikai cikknek egy r´eszlete. Ebben megfigyelhetj¨ uk azt, hogyan haszn´aljuk a sz¨ovegk¨ozi ´es a kiemelt matematikai m´odot, hogyan alkalmazhatjuk a matematikai szimb´olumokat. Ezen k´ıv¨ ul p´eld´at l´athatunk egyenletek illeszt´es´ere, esetsz´etv´alaszt´asra. Forr´assz¨ovegeinkben az ´ekezetes bet˝ uk – helytakar´ekoss´agi ´es a´ttekinthet˝os´egi szempontok miatt – nem az el˝oz˝o fejezetekben megismert ´ekezetez˝o parancsokkal l´athat´ok. A k¨onyv harmadik fejezet´enek II.1 fejezet´eben r´eszletesen olvashatunk arr´ol, hogyan haszn´alhatjuk a TEX-et ´ekezetes bet˝ uket is tartalmaz´o forr´assz¨ovegek ford´ıt´as´ara, amivel elker¨ ulhetj¨ uk a k´enyelmetlen ´ekezetez˝o parancsok haszn´alat´at, s egyben olvashat´obb´a tessz¨ uk a forr´assz¨oveget is. A k´esz oldalak ar´anyosan kicsiny´ıtett form´aban a forr´assz¨ovegek k¨oz¨ott l´athat´ok, amelyeken a keret az A/4-es pap´ırlap sz´el´et jelzi. \magnification\magstep1 \nopagenumbers \hsize=12cm \font\nagy=cmbx10 \font\dolt=cmti8 \font\kicsi=cmr8 \def\alairas#1#2{\rightline{\vbox{ \halign{\strut\hfill##\hfill\cr Kiv´ al´ o tisztelettel:\cr #1\cr #2\cr}}}} \footnote{}{Rejt Jen : A tizenn´ egy kar´ atos aut´ o} {\baselineskip=10pt plus1pt minus2pt \noindent \line{\kicsi \vtop{\hbox{VANEK B. EDUARD} \hbox{mag´ antitk´ ar} \hbox{Idegenl´ egi´ o (Afrika)} \hbox{{\dolt Vez´ erk´ epviselet:\/} Oran} \hbox{FORT-ST.-TH´ ER\‘ESE} \hbox{Fi´ okok:} \hbox{Alg´ ır, Marokk´ o, Fez stb.} }
6 Mintaoldalak
plainTEX 101
\hfill \vtop{\hbox to 4cm{Kelt, 193\dotfill} \hbox{{\dolt Csekksz´ amla:\/} \vtop{\hbox{BANQUE DE} \hbox{FRANCE 1710}} } \hbox{{\dolt S¨ urg nyc´ ım:\/} \kicsi VANEKL ´ EGI´ O} } } } \bigskip \noindent {\nagy T. Petrovics Leo igazgat´ ou ´rnak\hfill\break $\underline{\hbox{\nagy ORAN}}$hfill\break Poste restante} \bigskip F.\ h´ o 18-i level´ ere v´ alaszolva, van szerencs´ em e ´rtes´ ıteni t.~Igazgat´ o urat, hogy b.~k¨ onyveim a ´tvizsg´ al´ asa alkalm´ aval k.~sz´ aml´ aj´ an az al´ abbi esed´ ekess´ egek elmulasztott o ¨sszegei fung´ alnak: \medskip \leftline{Felemelt fizet´ esemre} \line{\indent f.\ h´ o 1-´ et l\hfill 1000 fr.} \leftline{Helyettes´ ıt´ esi illetm´ eny} \line{\indent f.\ h´ o 2-t l\hfill 8000 fr.} \rightline{¨ Osszesen: 9000 fr.} \medskip Fenn´ all´ o h´ atral´ eka bizony´ ara elker¨ ulte sz.~figyelm´ et, teh´ at tisztelettel k´ e\-rem, hogy azt nb.~c´ egemn´ el miel bb rendezni sz´ ıveskedj´ ek. Egyben felh´ ıvom t.~figyelm´ et, hogy a francia v´ eder vel szembeni f¨ ugg vi\-szo\-nyom rendez´ ese nem t r halaszt´ ast, e ´s azonnali jelentkez´ es´ et sz´ azadomn´ al ann´ al is ink´ abb elv´ arom, mert ellenkez esetben, legnagyobb sajn´ alatomra k´ enytelen lenn´ ek tov´ abbszolg´ alni, ami igen szomor´ u k¨ ovetkezm´ enyekkel j´ arna a fenti hadseregre n´ ezve, e ´s engem arra k´ enyszer´ ıtene, hogy az u ¨gyben halad´ ektalanul megtegyem a d´ ısz- e ´s fut´ ol´ ep´ eseket. K´ esedelm´ et l megrend¨ ulten, de sz´ ıves megb´ ız´ asait a j¨ ov ben is mindenkor k´ eszs´ eggel v´ arom. \vskip1cm \alairas{VANEK B. EDUARD}{k¨ ozleg´ eny e ´s mag´ antitk´ ar} \bye
6 Mintaoldalak
102 plainT X E
VANEK B. EDUARD mag´ antitk´ ar Idegenl´ egi´ o (Afrika) Vez´ erk´ epviselet: Oran ´ ESE ` FORT-ST.-THER
Kelt, 193 . . . . . . . . . . . . . . . . . Csekksz´ amla: BANQUE DE FRANCE 1710 ´ O ´ S¨ urg˝ onyc´ım: VANEKLEGI
Fi´ okok: Alg´ır, Marokk´ o, Fez stb.
T. Petrovics Leo igazgat´ ou ´ rnak ORAN Poste restante F. h´ o 18-i level´ere v´ alaszolva, van szerencs´em ´ertes´ıteni t. Igazgat´ o urat, hogy b. k¨ onyveim a ´tvizsg´ al´ asa alkalm´ aval k. sz´ aml´ aj´ an az al´ abbi esed´ekess´egek elmulasztott o ¨sszegei fung´ alnak: Felemelt fizet´esemre f. h´ o 1-´et˝ ol Helyettes´ıt´esi illetm´eny f. h´ o 2-t˝ ol
1000 fr. 8000 fr. ¨ Osszesen: 9000 fr.
Fenn´ all´ o h´ atral´eka bizony´ ara elker¨ ulte sz. figyelm´et, teh´ at tisztelettel k´erem, hogy azt nb. c´egemn´el miel˝ obb rendezni sz´ıveskedj´ek. Egyben felh´ıvom t. figyelm´et, hogy a francia v´eder˝ ovel szembeni f¨ ugg˝ o viszonyom rendez´ese nem t˝ ur halaszt´ ast, ´es azonnali jelentkez´es´et sz´ azadomn´ al ann´ al is ink´ abb elv´ arom, mert ellenkez˝ o esetben, legnagyobb sajn´ alatomra k´enytelen lenn´ek tov´ abbszolg´ alni, ami igen szomor´ u k¨ ovetkezm´enyekkel j´ arna a fenti hadseregre n´ezve, ´es engem arra k´enyszer´ıtene, hogy az u ¨gyben halad´ektalanul megtegyem a d´ısz- ´es fut´ ol´ep´eseket. K´esedelm´et˝ ol megrend¨ ulten, de sz´ıves megb´ız´ asait a j¨ ov˝ oben is mindenkor k´eszs´eggel v´ arom.
Kiv´ al´ o tisztelettel: VANEK B. EDUARD k¨ ozleg´eny ´es mag´ antitk´ ar
Rejt˝ o Jen˝ o: A tizenn´egy kar´ atos aut´ o
6 Mintaoldalak
plainTEX 103
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) 0, ha bels˝ o pont x,y (λ4 ) = β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
4 X 3 h X i=1 k=0
i (r) (r) Px+i,y (λ0 )·C (x, y), 1, (x+i, y), k ·Mi ·Ni +Px−i,y (λ0 )·C (x, y), 1, (x−i, y), k ·mi ·ni ,
ahol Mi =
γ, ha (x + i, y) v´ azpont 1, egy´ebk´ent
mi =
γ, ha (x − i, y) v´ azpont 1, egy´ebk´ent
N0 = 1 1, ha Ni−1 = 1 ´es (x + i, y) nem h´ att´erpont Ni = 0, k¨ ul¨ onben n0 = 1 1, ha ni−1 = 1 ´es (x − i, y) nem h´ att´erpont ni = 0, 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, amelyek nincsenek k¨ ozvetlen kapcsolatban az (x, y) (r) (r) (r) koordin´ at´ aj´ u ponttal. A Qx,y (λ1 ), Qx,y (λ2 ) ´es Qx,y (λ3 ) hasonl´ ok´eppen defini´ alhat´ o. Ezek ut´ an: (r+1) (λk ) = Px,y
(r) (r) Px,y (λk ) 1 + Qx,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.
15
104 plainT X E
6 Mintaoldalak
\noindent Az elj´ ar´ as sor´ an minden egyes iter´ aci´ oban minden pont eg´ et ki kell i\-ga\-z´ ı\-ta\-ni. Ahhoz, hogy val´ osz´ ın s´ ezt megtehess¨ uk, ki kell sz´ amolni szomsz´ edainak o ¨sszhat´ as´ at. Ha az $(x,y)$ koordin´ at´ aj´ u pont egyszer e ´s 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 va\-l´ o\-sz´ ı\-n \-s´ e\-g´ et. Ha az $(x,y)$ v´ eg-, izol´ alt vagy azpont, ı ´gy kisebb val´ osz´ ın s´ eggel o ¨sszek¨ ot pont, akkor v´ tartozik a h´ att´ erhez. Ha $(x,y)$ koordin´ at´ aj´ u pont bels pont, akkor nem tudjuk, hogy v´ azpont lesz-e vagy sem, e ´s ı ´gy annak a val´ osz´ ın s´ eg´ et, hogy a h´ att´ erhez tartozik, nem v´ altoztatjuk meg. A fenti meggondol´ asok alapj´ an annak a val´ osz´ ın s´ 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 k´ eppen defini´ alt egy¨ utthat´ oval v´ altoztatjuk meg: $$ Q_{x,y}^{(r)}(\lambda_4)=\cases{ egpont\cr \beta_1,&ha $(x,y)$ egyszer , nem v´ 0,&ha bels pont\cr \beta_2,&egy´ ebk´ ent,\cr } $$ ahol $\beta_1>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: $$ Q_{x,y}^{(r)}(\lambda_0)= \beta_3\sum_{i=1}^4\sum_{k=0}^3\ Bigl[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\Bigr], $$ ahol $$ \eqalign{ M_i&=\cases{ \gamma,& ha $(x+i,y)$ v´ azpont\cr 1,& egy´ ebk´ ent} \cr m_i&=\cases{ \gamma,& ha $(x-i,y)$ v´ azpont\cr
6 Mintaoldalak
plainTEX 105
1,& egy´ ebk´ ent} \cr N_0&=1\cr N_i&=\cases{ 1,& ha $N_{i-1}=1$ e ´s $(x+i,y)$ nem h´ att´ erpont\cr 0,& k¨ ul¨ onben} \cr n_0&=1\cr n_i&=\cases{ 1,& ha $n_{i-1}=1$ e ´s $(x-i,y)$ nem h´ att´ erpont\cr 0,& k¨ ul¨ onben.} \cr } $$ 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 $Q_{x,y}^{(r)}(\lambda_3)$ hasonl´ ok´ eppen defini´ alhat´ o. Ezek ut´ an: $$ P_{x,y}^{(r+1)}(\lambda_k)= {P_{x,y}^{(r)}(\lambda_k)\bigl(1+Q_{x,y}^{(r)} (\lambda_k)\bigr) \over \sum_{h=0}^4P_{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 konvergenci´ aj´ anak apr´ o anom´ ali´ ait k¨ ul¨ onb¨ oz k´ eppen korrig´ al\-hat\-juk. Erre a szerz k a [26]-ban k¨ u\-l¨ on\-b¨ o\-z m´ od\-sze\-re\-ket aj´ anlanak. \bye
2 Az AMS-TEX
Bevezet˝ o Az Amerikai Matematikai T´arsas´ag (American Mathematical Society) sz¨ uks´egesnek tal´alta egy olyan makr´ocsomag elk´esz´ıt´es´et, amellyel viszonylag kisebb TEX-makr´o´ır´asi ismerettel, egyszer˝ ubben lehet sz´ep k¨ ullem˝ u, matematikai tartalm´ u sz¨ovegeket szedni. Ez az AMS-TEX∗, amely seg´ıts´eg´ere szolg´al a g´ep´ır´onak ´es mindenkinek, aki matematikai k´epletekkel gazdagon ell´atott k´ezirat´at saj´at maga szeretn´e TEX-hel kiszedni. Sajnos ebben a k¨onyvben nem kaphatott helyet az AMS-TEX o¨sszes parancs´anak bemutat´asa. Az ´erdekl˝od˝ok sz´am´ara aj´anlott M. D. Spivak: The Joy of TEX” (American Mathematical Society, Prov” idence, Rhode Island) c´ım˝ u – az o¨sszes AMS-TEX parancsot tartalmaz´o – k¨onyve. A k¨onyvben tal´alhat´o utas´ıt´asok egy r´esze ismer˝os lehet a PLAIN-t m´ar l´atottak el˝ott, azonban ´erdemes sz´olni f˝oleg azokr´ol, melyeknek a szintaktik´aja megv´altozott. Az AMS-TEX nagy seg´ıts´eg a felhaszn´al´onak: olyan probl´em´ak megold´as´ara tartalmaz sok parancsot, amelyeket – csak a PLAIN-t haszn´alva – el´eg neh´ez megoldani. Ilyen p´eld´aul, ha egyenlet illeszt´ese k¨ozben lapot kell dobni, ha egyenletek illeszt´es´en´el az egyik sor mell´e t¨obb soros magyar´az´o sz¨oveget akarunk ´ırni, vagy esetleg kommutat´ıv diagramot akarunk k´esz´ıteni. Az AMS-TEX a PLAIN parancsaib´ol ´ep´ıtkezik, ami azt jelenti, hogy minden, amit az AMS-TEX-hel meg lehet csin´alni, megoldhat´o csak a PLAIN parancsait haszn´alva is, csak az adott forma elk´esz´ıt´es´enek id˝otartam´aban, esetleg rugalmass´ag´aban lehetnek k¨ ul¨onbs´egek (l´asd a fenti probl´em´akat). Az AMS-TEX parancsai mellett haszn´alhatjuk a PLAIN parancsait is, ezek t¨obbs´eg¨ ukben v´altozatlanok maradnak, a n´eh´any megv´altoztatottr´ol pedig sz´o lesz a k¨onyvben, megeml´ıtve az egy-k´et letiltott parancsot is.
∗ Az
AMS-TEX ilyen m´ odon le´ırt nev´et az \AmSTeX paranccsal lehet el˝ oh´ıvni.
110 A S-T X M E
˝ Bevezeto
Ebben a k¨onyvben az AMS-TEX 2.0 -s verzi´oj´at ismertetj¨ uk. Ennek makr´ocsomagjai: – amstex.tex: Ez a f´ajl tartalmazza az AMS-TEX alapparancsait, a legt¨obb matematikai parancsot. Seg´ıts´eg¨ ukkel sokkal egyszer˝ ubben tudunk bonyolultabb matematikai formul´akat szedni, k¨ ul¨onlegesebb matematikai elhelyez´eseket megoldani, mint csup´an a PLAIN parancsait haszn´alva. – amsppt.sty (preprint style): St´ılusf´ajl, amely az amstex.tex parancsait haszn´alva f˝oleg olyan makr´odefin´ıci´okat tartalmaz, amelyek a sz¨oveg form´atum´at hat´arozz´ak meg: f˝oc´ım, alc´ım, egys´egesen kezelt sz¨ovegr´eszek, ∗ fejl´ec, irodalomjegyz´ek, l´abjegyzet stb . – amssym.tex: Matematikai karakterek haszn´alat´ahoz sz¨ uks´eges defin´ıci´okat tartalmaz. Az amsppt.sty f´ajl automatikusan bet¨olti. – amssym.def: Az amsppt bet¨olt´ese n´elk¨ ul is haszn´alhat´o a fenti f´ajl, azonban ekkor sz¨ uks´egesek az ebben a f´ajlban l´ev˝o defin´ıci´ok, azaz az amssym.tex bet¨olt´ese el˝ott szerepelnie kell az \input amssym.def -nek. – cyracc.def: Cirill bet˝ us sz¨oveg g´epel´es´ehez sz¨ uks´eges defin´ıci´okat tartalmaz. Sz¨ uks´eg eset´en bet¨olt´ese az \input paranccsal t¨ort´enhet. Cirill bet˝ us sz¨oveg szed´es´ehez azonban nem elegend˝o ennek a f´ajlnak a bet¨olt´ese. A hi´anyz´o fontbet¨olt´eseket tartalmaz´o f´ajlra egy p´elda megtal´alhat´o a F¨ uggel´ekben (l´ asd III.3 Cirill bet˝ uk). A st´ılusf´ajl – a plain.tex ´es az amstex.tex f´ajl makr´oib´ol fel´ep´ıtve – j´ol tagolt sz¨oveg elk´esz´ıt´es´ehez tartalmaz egyszer˝ uen kezelhet˝o parancsokat. Ezt a f´ajlt nem sz¨ uks´eges beh´ıvnunk, en´elk¨ ul is haszn´alhatjuk az AMS-TEX matematikai parancsait. Azonban ez a st´ılusf´ajl – mivel az AMS-TEX alparancsait haszn´alja – nem alkalmazhat´o az amstex.tex f´ajl bet¨olt´ese n´elk¨ ul. Ha az AMS-TEX-nek csak a matematikai form´az´o parancsait akarjuk alkalmazni, a forr´asf´ajl elej´ere a k¨ovetkez˝o parancsot kell ´ırnunk: \input amstex
Ha az AMS-TEX karaktereit is akarjuk alkalmazni: \input amstex \input amssym.def \UseAMSsymbols %(bet¨ olti az amssym.tex f´ ajlt)
Ha a st´ılusf´ajlt is akarjuk haszn´alni: \input amstex \documentstyle{amsppt},
melyekkel beh´ıvjuk az AMS-TEX matematikai makr´ocsomagj´at. ∗ Ezen
le´ır´ as – elt´er˝ o jellege miatt – nem az AMS-TEX standard (az amsppt.sty-ben meghat´ arozott) lapform´ atum´ aval k´esz¨ ult.
˝ Bevezeto
AMS-TEX 111
Ha az amsplain.tex f´ajl le van ford´ıtva az INITEX-hel, azaz l´etezik egy amsplain.fmt nev˝ u f´ajl a \...TEX\TEXFMTS k¨onyvt´arban, akkor tex &amsplain h f´ ajln´evi
m´odon ford´ıtva, a forr´asf´ajlunkban nem kell bet¨olteni az amstex.tex f´ajlt, mert az m´ar a form´atumf´ajlban benne van. A st´ılusf´ajlt tartalmazza, ´ıgy ha azt is haszn´alni akarjuk, forr´asf´ajlunk elej´ere be kell ´ırnunk a \documentstyle{amsppt} utas´ıt´ast. L´enyeges: – Az amsppt.sty -ben defini´alt parancsok szintaktik´aja a k¨ ul¨onb¨oz˝o verzi´osz´am´ u st´ılusf´ajlokban elt´erhet. Az ´ıgy keletkezett inkompatibilit´as kik¨ usz¨ob¨ol´es´ere az AMS-TEX u ´ jabb makr´ocsomagjai tartalmaznak olyan st´ılusf´ajlt is, amely lehet˝ov´e teszi a kor´abbi szintaktik´aval meg´ırt sz¨ovegek ford´ıt´as´at. – Az AMS-TEX f´ajljai a \...TEX\TEXINPUT nev˝ u k¨onyvt´arban vannak. Mindegyik standard makr´ogy˝ ujtem´eny, mely az Amerikai Matematikai T´arsas´ag a´ltal meghat´arozott form´atum´ u sz¨oveget k´esz´ıt. Ha ez a form´atum az adott munk´ankhoz nem felel meg, ne m´ odos´ıtsuk ezeket a f´ajlokat, hanem k´esz´ıts¨ unk egy m´eg nem l´etez˝o n´evvel ell´atott, ugyanolyan kiterjeszt´es˝ u m´asolatot ezen f´ajlokr´ol, ´es abban v´egezz¨ uk el a m´odos´ıt´asokat! Az ´ıgy elk´esz´ıtett saj´at f´ajljainkat nem sz¨ uks´eges a \...TEX\TEXINPUT k¨onyvt´arban elhelyezni, mert azt a ford´ıt´o az aktu´alis k¨onyvt´arban is megtal´alja. ´ – Az alap bet˝ um´eret az AMS-TEX-ben is a 10 pontos. Altal´ aban azonban enn´el nagyobb bet˝ ukre van sz¨ uks´eg¨ unk, erre haszn´alhatjuk a \magnification parancsot (l´ asd 1.6. Nagy´ıt´asok). Az els˝o fejezet tartalmazza az AMS-TEX alapparancsait (l´ asd I. Alapparancsok), amelyek az amstex.tex f´ajlban vannak defini´alva, azaz az alap sz¨ovegform´az´o parancsokat, a matematikai parancsokat ´es n´eh´any matematikai szimb´olum ki´ırat´as´ahoz sz¨ uks´eges defin´ıci´ot. Felsorol´asra ker¨ ultek az AMS-TEX-ben letiltott vagy m´ as ´ertelmez´est kapott PLAIN-beli parancsok is. A m´asodik fejezetben (l´ asd II. A st´ılusf´ajl) a sz¨oveg form´az´as´ahoz rendelkez´es¨ unkre a´ll´o parancsokr´ol lesz sz´o, melyek defin´ıci´oi a st´ılusf´ajlban tal´alhat´ok. A f¨ uggel´ek a legt¨obb, az AMS-TEX-hez tartoz´o matematikai szimb´olumot ki´ırat´o parancsot tartalmazza. (l´ asd III. F¨ uggel´ek).
112 A S-T X M E
¨ veg mo ´ d parancsai 1 A szo
I. Alapparancsok Al´abbiakban felsorolunk n´eh´any parancsot, amelyeket hasznos lehet ismerni: \NoBlackBoxes : T´ ultel´ıtett doboz ut´ani fekete t´eglalap ki´ır´as´anak letilt´asa (= \overfullrule=0pt). \BlackBoxes : T´ ultel´ıtett doboz ut´ani fekete t´eglalap ki´ır´as´anak bekapcsol´asa (=\overfullrule=5pt). \comment . . . \endcomment : E parancsp´ ar k¨oz´e ´ırt sz¨oveget a ford´ıt´o figyelmen k´ıv¨ ul hagyja, teh´at nem sz¨ uks´eges minden sor elej´ere kitenn¨ unk a % jelet. \define : Haszn´ alata megegyezik a \def parancs´eval. M˝ uk¨od´esbeli elt´er´ese a \def parancst´ ol az, hogy parancs´atdefini´al´ast nem hajt v´egre. Ezt hasz-
n´alva elker¨ ulhetj¨ uk a nemk´ıv´ant a´tdefini´al´asokat. \redefine : Megegyezik a \def paranccsal.
1. A sz¨ oveg m´ od parancsai Ebben a fejezetben az amstex.tex f´ajlban defini´alt sz¨ovegform´az´o parancsokr´ol lesz sz´o. Ilyen nem sok van, mivel az amsppt.sty tartalmazza az ilyen ir´any´ u fejleszt´eseket. Letiltott parancsok: Az AMS-TEX haszn´alata eset´en n´eh´any PLAIN-beli sz¨oveg m´od´ u parancs nem haszn´ alhat´ o: \= : helyette a \B ´ırhat´ o. \oldstyle : helyette az a ´tdefini´alt \oldnos parancs haszn´alhat´o. \footnote : helyette haszn´ alhat´o a \plainfootnote. (A letilt´as oka az, hogy a PLAIN-beli \footnote parancsnak egy sokkal rugalmasabb, k´enyelmesebb v´altozata tal´alhat´o meg az amsppt.sty-ben.) \proclaim : helyette haszn´ alhat´o a \plainproclaim. ´ (Atdefini´alva megtal´alhat´o az amsppt.sty-ben.)
1.1. Lapbe´all´ıt´asok Az al´abbiakban felsorolt, az amstex.tex f´ajlban defini´alt parancsoknak az ut´anuk ´ırt PLAIN-beli megfelel˝oje is alkalmazhat´o. A lap form´atuma a PLAIN-beli lapform´atum, az \output nincs a´tdefinia´lva, ´ıgy maradt a PLAIN \output-ja: alap´ertelmez´esben a fejl´ec (\headline) u ¨ res, a l´abl´ecben (\footline) k¨oz´epen a lapsz´amoz´as szerepel. Az AMS-TEX-re jellemz˝o lapform´atum az amsppt.sty-ben van defini´alva.
˝k, jelek 1.3. Egy´ eb betu
AMS-TEX 113
∗
\pagewidth{hdimeni } : A szed´ est¨ uk¨or (tov´abbiakban lap”) v´ızszintes m´erete ” (≈ \hsize=hdimeni). \pageheight{hdimeni} : F¨ ugg˝oleges lapm´eret a \headline ´es a \footline n´elk¨ ul h i (= \vsize= dimen ). \hcorrection{hdimeni} : A lap poz´ıci´ oj´anak v´ızszintes korrekci´oja. Pozit´ıv ´ert´ek jobbra, negat´ıv balra mozgat (= \advance\hoffset by hdimeni). \vcorrection{hdimeni} : A lap poz´ıci´ oj´anak f¨ ugg˝oleges korrekci´oja. Pozit´ıv ´ert´ek le, negat´ıv ´ert´ek felfel´e mozgat (= \advance\voffset by hdimeni).
1.2. Az ´ekezetek G´epel´esi k´ep \‘o \’o \^o \~o \"o \u o \v o \H o \B o \b o \D o \d o \c o \t oo
Eredm´eny k´ep o` (grave) o´ (vessz˝o ´ekezet vagy acute”) ” oˆ (circumflex vagy hat”) ” o˜ (hull´amos ´ekezet vagy tilde”) ” o¨ (k´etpontos ´ekezet vagy umlaut”) ” o˘ (breve) oˇ (h´aˇcek vagy check”) ” o˝ (hossz´ u magyar dupla´ekezet) o¯ (fel¨ ulvon´as ´ekezet vagy bar”) ” o (alulvon´as ´ekezet) ¯ o˙ (pont ´ekezet vagy dot”) ” o. (pont ´ekezet alul) o¸ (cedilla) o o (tie)
A PLAIN-beli \= ´es \. ´ekezetes´ıt˝o parancsok helyett az AMS-TEX-ben a \B illetve a \D parancsok haszn´alhat´ok.
1.3. Egy´eb bet˝ uk, jelek G´epel´esi k´ep \oe , \OE \ae , \AE \aa , \AA \o , \O \l , \L \ss !‘ vagy < ?‘ vagy >
Eredm´eny k´ep œ, Œ æ, Æ ˚ a, ˚ A ø, Ø l, L ß ¡ ¿
hdimeni hely´ ere itt is ´es a k´es˝ obbiekben is az adott helyen ´ertelmezett dimenzi´ ot (m´ert´ekegys´eggel ell´ atott sz´ amot) lehet ´ırni, pl. 10pt, 2cm stb. Vigy´ aznunk kell a relat´ıv m´ert´ekegys´egek (em, ex) haszn´ alat´ ara, mert ezek fontt´ ol f¨ ugg˝ oek, ´es ´ıgy nem mindenhol megengedettek! ∗A
114 A S-T X M E
¨ veg mo ´ d parancsai 1 A szo
1.4. Sz´ok¨oz¨ok Sz¨oveg m´odban az ´ır´asjelek (.!?) ut´ani sz´ok¨oznek t¨obbf´ele nagys´ag´at alkalmazhatjuk, annak szerep´et˝ol f¨ ugg˝oen (l´ asd 2.2. Sz´ok¨oz¨ok). Az alap´ertelmez´es az, hogy ha ezek kisbet˝ u ut´an a´llnak, akkor az ut´anuk l´ev˝o sz´ok¨oz m´erete ´es ny´ ujthat´os´aga nagyobb, mint az a´tlagos sz´ok¨oz´e. Nagybet˝ ut k¨ovet˝o ´ır´asjel ut´an viszont a´tlagos sz´ok¨ozt kapunk. Ennek az alap´ertelmez´esnek a megv´altoztat´asa az AMS-TEX-ben: – a pont ut´ani nagyobb sz´ok¨oz ki´ır´as´anak letilt´asa: Ha r¨ovid´ıt´esek eset´en a pont helyett a \. a´tlagos sz´ok¨ozt kapunk (pl. pl\.).
parancsot alkalmazzuk,
Term´eszetesen itt is alkalmazhatjuk a \frenchspacing parancsot. – nagybet˝ ut k¨ovet˝o ´ır´asjel ut´ani nagyobb sz´ok¨oz ki´ırat´asa: Ilyen esetekben a @. (illetve a @!, @?) form´at alkalmazhatjuk, amely valamivel nagyobb helykihagy´ast eredm´enyez (pl. ...ez az NASA@.).
1.5. Soremel´es, lapdob´as ´ sor (=\hfill\break). \newline : Uj \flushpar : L´ atsz´olag u ´ j sor \baselineskip+\parskip sort´avols´aggal, tulajdonk´eppen u ´ j bekezd´es \parindent=0-val (=\par\noindent). ´ lap, ha nem t´ \newpage : Uj ul nagy a lap alj´an fennmarad´o hely, lap alj´aig kiegyenl´ıt´essel. Csak bekezd´esek k¨oz¨ott alkalmazhat´o. \pagebreak : Lapt¨ or´es – a lapon l´ev˝oket az als´o marg´oig sz´eth´ uzza: – Bekezd´esek k¨ oz¨ ott alkalmazva k¨otelez˝o lapt¨or´es. – Bekezd´esen bel¨ ul kiadva annak a sornak a v´eg´en lesz a lapt¨or´es, amelyben szerepel a parancs. – Kiemelt formul´ an bel¨ ul alkalmazva a formula ut´an lesz a lapt¨or´es. \nopagebreak : Lapdob´ as letilt´asa: – Bekezd´es el˝ ott alkalmazva az adott bekezd´es el˝ott nem lesz lapdob´as. – Bekezd´esen bel¨ ul alkalmazva abban a sorban nem lesz lapdob´as, amelyikbe ker¨ ult. – Kiemelt formul´ an bel¨ ul alkalmazva a kiemelt formula ut´ani lapdob´ast tiltja le.
´s a ´bra ´nak, k´ 1.8. Helykihagya epnek
AMS-TEX 115
1.6. F¨ ugg˝oleges helykihagy´as \smallpagebreak : F¨ ugg˝oleges helykihagy´as, sz¨ uks´eg eset´en lapdob´as. Lapdo-
b´as eset´en nincs helykihagy´as. A helykihagy´as m´ert´eke: \smallskipamount. (≈\smallbreak) \medpagebreak : F¨ ugg˝oleges helykihagy´as, sz¨ uks´eg eset´en lapdob´as. Lapdob´as eset´en nincs helykihagy´as. A helykihagy´as m´ert´eke: \medskipamount. (≈\medbreak) \bigpagebreak : F¨ ugg˝oleges helykihagy´as, sz¨ uks´eg eset´en lapdob´as. Lapdob´as eset´en nincs helykihagy´as. A helykihagy´as m´ert´eke: \bigskipamount. (≈\bigbreak) Helykihagy´ asi m´ert´ekek
\smallpagebreak
\medpagebreak
\bigpagebreak
A \vskip, \vglue PLAIN-beli parancsok is haszn´alhat´ok.
1.7. V´ızszintes helykihagy´as, ¨osszeh´ uz´as Helykihagy´as: alaphelyzet: oo \thinspace vagy \, : +0.16667em-nyi . . . . . . . . . . . . . . . . . . . . . . . . . . . o\,o \medspace : +0.22222em-nyi . . . . . . . . . . . . . . . . . . o\medspace o \thickspace vagy \; : +0.27777em-nyi . . . . . . . . . . . . . . . . . . . . . . . . . . . o\;o
: : : :
oo oo oo oo
¨ Osszeh´ uz´as: \negthinspace vagy \! : -0.16667em-nyi . . . . . . . . . . . . . . . . . . . . . . . . . . o\!o : oo \negmedspace \negthickspace
: -0.22222em-nyi . . . . . . . . . . . . . o\negmedspace o : oo : -0.27777em-nyi . . . . . . . . . . o\negthickspace o : oo
Az itt felsorolt parancsok mindegyike haszn´alhat´o sz¨oveg m´odban ´es matematikai ban egyar´ant. A \hskip, \hglue PLAIN-beli parancsok is alkalmazhat´ok term´eszetesen mindk´et m´odban.
1.8. Helykihagy´as ´abr´anak, k´epnek N´eha el˝ofordul, hogy bekezd´esek k¨oz¨ott helyet akarunk kihagyni a´bra, k´ep stb. sz´am´ara. Ha a bekezd´esek k¨oz´e be´ırjuk a \midspace{ hdimeni} parancsot, a TEX megpr´ob´alja beilleszteni a hdimeni-ben megadott helyet oda, ahol megadtuk. Itt a hdimeni-ben a beillesztend˝o k´ep f¨ ugg˝oleges m´eret´et kell csak megadni, ugyanis a TEX el˝otte ´es ut´ana kihagy m´eg egy kis helyet. Ha ez a hely nem f´er el arra az oldalra, ahol megadtuk, a TEX a´tteszi a k¨ovetkez˝o lapra. Ha azt ´ırjuk be, hogy \midspace{hdimeni} \caption{hsz¨ ovegi},
116 A S-T X M E
´d 2 Matematikai mo
akkor a hsz¨ovegi a hdimeni-ben megadott hely alatt, k¨oz´epen jelenik meg. Ha a k´epal´a´ır´as t´ ul hossz´ u, a \caption sz´eless´eg´et a´t lehet a´ll´ıtani: \caption\captionwidth{hdimeni} {hsz¨ ovegi} .
Haszn´alhatjuk a \topspace{hdimeni} parancsot, amely az aktu´alis lap tetej´ere pr´ob´alja beilleszteni a helyet. Ha ez nem siker¨ ul, a k¨ovetkez˝o lap tetej´ere teszi. L´enyeges, hogy sem a \midspace, sem a \topspace nem haszn´alhat´o bekezd´esen bel¨ ul, csak bekezd´esek k¨ oz¨ ott.
2. Matematikai m´ od Letiltott parancsok: Az amstex.tex f´ajlban n´eh´any PLAIN-beli matematikai parancs nem haszn´ alhat´ o: \> : csak egyszer˝ uen le van tiltva, \mit : szint´ en csak le van tiltva, \cal : helyette a \Cal haszn´ alhat´o (l´ asd III. F¨ uggel´ek), \oldstyle : helyette az \oldnos parancs haszn´ alhat´o, azzal a k¨ ul¨onbs´eggel, hogy csak az o˝t k¨ovet˝o els˝o sz´amjegyre, illetve els˝o csoportban l´ev˝o sz´amjegyekre van hat´assal.
2.1. Sz¨oveg a matematikai m´odban Kiemelt formul´ak eset´eben gondot jelenthet, ha a k´epletek k¨oz´e valamilyen sz¨oveget kell ´ırnunk. Ha csak a PLAIN-re t´amaszkodunk, akkor a sz¨oveget \hbox-ba kell ´ırnunk, amelyben a karakterek m´ erete – a PLAIN alapbe´all´ıt´asa szerint – 10 pontos lesz. Az AMS-TEX azonban k´ın´al erre egy parancsot, amely automatikusan a´t´all´ıtja a bet˝ um´eretet att´ol f¨ ugg˝oen, hogy hol alkalmazzuk: p´eld´aul, ha indexben van, a sz¨oveg bet˝ um´eret´et 8 pontosra a´ll´ıtja a´t. Ez a \text{hsz¨ ovegi}
parancs, amelynek z´ar´ojelei k¨oz¨ott adhatjuk meg a k´ıv´ant sz¨oveget. Ekkor a sz¨ovegr´esz bet˝ ut´ıpusa a matematikai m´odot mag´aba foglal´o k¨ornyezet bet˝ ut´ıpusa lesz. Ezt term´eszetesen a´t lehet v´altani b´armely sz¨oveg m´odban haszn´alhat´o bet˝ ut´ıpusra. Ha csak egy bet˝ ut vagy egy-k´et (´ekezetes bet˝ u n´elk¨ uli! ) sz´ot akarunk ´ırni, az \rm, \bf, \sl illetve \it bet˝ ut´ıpusok valamelyik´evel, megsp´orolhatjuk a \text{\bf . . . } stb. hossz´ u sz¨oveget: helyett¨ uk haszn´alhatjuk a \roman, \bold, \slanted ´ es \italic parancsokat. A \roman ´es a \bold – anal´og m´odon a \text{\rm . . . } illetve \text{\bf . . . } formul´ akkal – indexben kisebb m´eret˝ u bet˝ uket ´ır, ami azonban nem mondhat´o el a \slanted ´es \italic parancsokr´ol.
´moza ´sa 2.2. Egyenletek sza
$12^{\roman{th}}$ $\bold a=(x,y,z)$
AMS-TEX 117
12th a = (x, y, z )
Nem v´eletlen¨ ul ker¨ ult z´ar´ojelbe a th: mindegyik itt felsorolt parancs az o˝t k¨ovet˝o csoporton fejti ki hat´as´at, ´ıgy kapcsos z´ar´ojelek n´elk¨ ul csak az els˝o karakterre vonatkoznak.
2.2. Egyenletek sz´amoz´asa Egyenletek, k´epletek sz´amoz´as´ara a \tag . . . utas´ıt´as alkalmazhat´o, amelynek haszn´alata PLAIN-beli \eqno, \leqno t´arsain´al sokszor k´enyelmesebb, b´ar automatikus sz´amoz´asi lehet˝os´eget ez sem biztos´ıt. Alkalmaz´asa: $$ hkiemelt formulai \tag hjel i $$
ahol a hkiemelt formulai lesz v´ızszintesen lapk¨oz´epen ´es a hjel i az egyenletjel a bal vagy jobb marg´ohoz igaz´ıtva. A megadott egyenletjelet alap´ertelmez´esben a lap bal oldal´an helyezi el. Jobb oldalra val´o a´thelyez´es¨ uket a \TagsOnRight parancs be´ır´as´aval ´erhetj¨ uk el. Az a´t´all´ıt´as ´erv´enyben marad mindaddig, am´ıg a \TagsOnLeft utas´ıt´assal vissza nem a´ll´ıtjuk az alap´ertelmez´es˝ u bal oldalra. L´enyeges, hogy ezeket a be´all´ıt´o parancsokat matematikai m´odon k´ıv¨ ul adjuk meg. A \tag parancsnak k´et form´aja van: 1. \tag{hjel i} Ebben az esetben a { } z´ar´ojelek k¨oz¨ott megadott sz´amot illetve jelet kerek z´ar´ojelek k¨oz´e teszi: p´eld´aul a \tag{3} eredm´enye (3). Ez az alap´ertelmez´es, teh´at ha nem ´ırjuk ki a { } z´ar´ojeleket, akkor is ( ) z´ar´ojelek k¨oz´e teszi a \tag ut´an megadottakat. (P´eld´aul a \tag 5.5 ugyanazt a jelet eredm´enyezi, mint a \tag{5.5}.) A \tag parancst´ol a z´ar´o $$ jelig mindent egyenletjelnek vesz, f¨ uggetlen¨ ul att´ol, hogy ´ırtunk-e z´ar´ojelet. $$ \vert\omega\vert=\iiint\limits_\omega 1\,d\tau \tag3 $$
(3)
|ω| =
ZZZ
1 dτ
ω
A z´ar´ojelek k¨oz¨ott alap´ertelmez´esben sz¨oveg m´od van, de a´t lehet v´altani matematikai m´odra is, ha az egyenlet jele valamilyen matematikai karakter vagy formula: \tag{$A 2$}. $$ \det A=0\iff \alpha=1 \tag{$A_\alpha$}$$
(Aα )
det A = 0 ⇐⇒ α = 1
Ha minden egyenletjel¨ unk matematikai formula – mint p´eld´aul A 1 ´es A0 vagy (∗) ´es (∗∗) (az A’, (*) ´es (**) helyett) – a beg´epel´es egyszer˝ us´ıt´es´ere m´ar
´d 2 Matematikai mo
118 A S-T X M E
a cikk elej´en a´t lehet v´altoztatni a \tag{ hjel i} z´ar´ojelei k¨oz¨ott a sz¨oveg m´odos alap´ertelmez´est matematikai m´odra. Erre a \TagsAsMath, a vissza´all´ıt´asra a \TagsAsText utas´ıt´ as szolg´al. A cikk b´armely r´esz´en (ak´ar matematikai m´odon bel¨ ul is) kiadhat´o mind a k´et parancs. A be´all´ıt´as ´erv´enyben marad a visszaa´ll´ıt´asig. 2. A \tag"hjel i" form´an´al a " " jelek k¨oz´e tett egyenletjel a kerek z´ar´ojelek n´elk¨ ul jelenik meg. A \tag parancs ezen form´aj´aval oldhat´o meg csak olyan jel, amelyn´el a z´ar´ojelnek van valamilyen indexe, vagy ha nem sz¨ uks´eges z´ar´ojel. P´eld´aul a (2.3)α egyenletjel \tag"$(2.3)_\alpha$" m´odon adhat´o meg. Az id´ez˝ojelek k¨oz¨ott mindig sz¨oveg m´od van, akkor is, ha a \TagsAsMath be´all´ıt´as van ´erv´enyben. Egyenletjelnek csak az id´ez˝ojelek k¨oz¨ott megadott kifejez´est veszi. Ha a \tag"hjel i" kifejez´es ut´an, a z´ar´o $$ jel el´e m´eg ´ırtunk valamit, azt a TEX figyelmen k´ıv¨ ul hagyja. $$ a^2 + b^2 = c^2 \tag"$(A’)_\alpha$"$$ $$ c=\sqrt{a^2+b^2} \tag"amib\H ol" $$
(A0 )α amib˝ ol
a2 + b 2 = c 2 p c = a2 + b2
´ EGYENLETRE 2.2.1. HIVATKOZAS Ha sz¨ovegben az egyenletjellel hivatkozunk, alkalmazhatjuk a \thetag{ hjel i} parancsot, ami a z´ar´ojelek k¨oz¨ott l´ev˝o kifejez´est \rm bet˝ ut´ıpussal ´ırja, ´es kerek z´ar´ojelekkel l´atja el. Ez az´ert el˝ony¨os, mert nem kell figyeln¨ unk, hogy milyen bet˝ ut´ıpus´ u k¨ornyezetben vagyunk, mindenk´eppen \rm bet˝ ut´ıpussal fog a jel megjelenni (a z´ar´ojel is). Ha a jel egy elem˝ u, a kapcsos z´ar´ojelek elhagyhat´ok. Sajnos a kapcsos z´ar´ojelek k¨oz¨ott mindenk´eppen sz¨oveg m´od van, ´ıgy ha matematikai kifejez´es az illet˝o egyenletjel, ki kell ´ırnunk a $ jeleket. \thetag1 \thetag{11} \thetag{$A_2$} \thetag{$A_2$}$_\alpha$
=⇒ =⇒ =⇒ =⇒
(1) (11) (A2 ) (A2 )α
Nem alkalmazhat´o a \thetag parancs, ha nem kerek z´ar´ojeles az egyenletjel, ´es egy kicsit neh´ezkes a haszn´alata, ha a z´ar´ojelnek van indexe.
2.3. Formul´ak keretez´ese El˝ofordulhat, hogy valamely matematikai k´epletet vagy valamilyen sz¨ovegr´eszletet keretez´essel akarunk kiemelni. Ez a \boxed{ hformulai} utas´ıt´assal igen egyszer˝ uen megoldhat´o, de csak matematikai m´odban haszn´alhat´o. P´eld´aul a $$\boxed{\sum_i^n x i+y i=5}$$
˝ to ¨ rtek, binomia ´lis egyu ¨tthato ´k 2.4.1. Egyszeru
AMS-TEX 119
az al´abbi n X
xi + y i = 5
i
keretez´est eredm´enyezi. A \boxed utas´ıt´asok egym´asba a´gyazhat´ok, amellyel t¨obbsz¨or¨os keretez´est k´esz´ıthet¨ unk: $$\boxed{\boxed{\int_0^\infty\int_0^\infty e^{-(x^2+y^2)}dx\,dy = 0}}$$ Z
∞ 0
Z
∞
e−(x
2
+y 2 )
dx dy = 0
0
Ha sz¨ovegr´eszt akarunk bekeretezni, figyelembe kell venn¨ unk, hogy a \boxed utas´ıt´as z´ar´ojelei k¨oz¨ott matematikai m´od van, annak minden k¨ovetkezm´eny´evel. Ebben az esetben a k¨ovetkez˝ok´eppen j´arhatunk el: $$\boxed{\text{Keretez\’es}}\ , $$
amely eredm´enye: Keretez´es
,
ahol a bet˝ ut´ıpus az aktu´alis lesz.
2.4. T¨ortek ˝ TORTEK, ¨ ´ ¨ ´ 2.4.1. EGYSZERU BINOMIALIS EGYUTTHAT OK Egyszer˝ u t¨ortek ´ır´as´an´al a \frac{ hsz´aml´al´o i }{hnevez˝o i} utas´ıt´ast alkalmazhatjuk. Ha a sz´aml´al´o vagy a nevez˝o valamelyike (vagy mindkett˝o) egy jelb˝ol a´ll, az egytag´ u kifejez´es z´ar´ojelei elhagyhat´ok. Hasonl´o m´odon kezelhet˝o a \binom{hfels˝ o i}{hals´ o i} is. (1)
\frac{n-1}{n+2}
(2)
\frac12
(3)
\binom{n}{n-k}
(4)
\binom{90}5
n−1 n+2
n n−k
1 2
90 5
Ha sz¨ovegk¨ozi matematikai m´odban, azaz p´eld´aul foly´o sz¨ovegben ugyanu ´ gy adjuk meg a t¨ortet, mint a fenti p´eld´akban, kisebb m´eret˝ u t¨ortet kapunk x x+6 eredm´eny¨ ul: 2 + y . El˝ofordulhat azonban, hogy nagyobb m´eret˝ u t¨ortre
´d 2 Matematikai mo
120 A S-T X M E
van sz¨ uks´eg¨ unk. Ekkor, ha nem csak a t¨ortet akarjuk a kiemelt matematikai m´od m´eret´evel ´ırni, a $ jel ut´an be kell ´ırnunk a \dsize parancsot, amely megnagy´ıtja a kifejez´est. Ha csak a t¨ort m´eret´et akarjuk megnagy´ıtani, haszn´alhatjuk a \frac helyett a \dfrac utas´ıt´ast. Ha kiemelt matematikai m´odban akarunk sz¨ovegk¨ozi m´eret˝ u t¨orteket ´ırni, akkor haszn´alhatjuk a \tfrac parancsot. Ugyanezek vonatkoznak a binomi´alis egy¨ utthat´okra (\binom) is: kiemelt matematikai m´odbeli m´eretet ad a \dbinom, ´es sz¨ovegk¨ozi m´eretet a \tbinom. Haszn´ alatuk: $ \dfrac x{3+a}+\frac12 $, $ \dbinom{\frac mk}n - \binom \ell n$
formul´ak eredm´enyek´ent az
x
3+a
+
1 2,
valamint az
valamint az
m k
n
− (n` ) kifejez´ eseket
kapjuk. Ha valamilyen z´ar´ojelbe akarjuk a t¨ortet tenni, alkalmazhatjuk itt is a
\lefthnyit´ o z´ ar´ ojel i . . . \righthz´ ar´ o z´ ar´ ojel i parancsokat: 21 . Van azonban egy parancs, a \fracwithdelimshnyit´ o z´ ar´ ojel ihz´ ar´ o z´ ar´ ojel ihsz´ aml´ al´ o ihnevez˝ o i,
amely a z´ar´ojeleket k¨ozelebb ´ırja a t¨orth¨oz, ennek eredm´enyek´eppen a t¨orth¨oz szervesebben tartoz´o z´ar´ojeleket kapunk: $\left<\frac12\right>$ $\fracwithdelims<>12$
1
12 2
Ha m´as vastags´ag´ u t¨ortvonalat akarunk ´ırni, rendelkez´es¨ unkre a´llnak a \thickfrac\thicknessh sz´ amihsz´ aml´ al´ o ihnevez˝ oi
illetve, ha z´ar´ojelet is akarunk ´ırni, a \thickfracwithdelimshnyit´ o z´ ar´ ojel ihz´ ar´ o z´ ar´ ojel i \thicknesshsz´ amihsz´ aml´ al´ o ihnevez˝ oi
parancsok. Ha a hsz´ami hely´ere 0,4-n´el nagyobb sz´amot ´ırunk, vastagabb, ha kisebbet, v´ekonyabb t¨ortvonalat kapunk az alap´ertelmezettn´el. Nulla megad´asa eset´en a t¨ortvonal elt˝ unik: $\frac12$ $\thickfrac\thickness1 12$ $\thickfrac\thickness{0.1}12$ $\thickfracwithdelims<>\thickness012$
1 2
1 2
1 2
1 2
´ ¨ 2.4.2. LANCT ORTEK Az ilyen t´ıpus´ u t¨ortek ´ır´as´anak az AMS-TEX-ben nagyon egyszer˝ u m´odja van. Erre szolg´alnak a \cfrac . . . \endcfrac, az \lcfrac . . . \endcfrac ´es
¨ ko ¨ s kifejez´ 2.5. Gyo esek
AMS-TEX 121
az \rcfrac . . . \endcfrac utas´ıt´asp´arok. (Nem v´eletlen el´ır´as, mindh´armat az \endcfrac z´ arja.) Ezeket a k¨ovetkez˝ok´eppen kell haszn´alni: $$ a 0+\cfrac1\\ a 1+\cfrac1\\ a 2+\cfrac1\\ a 3+\cfrac1\\ a4 \endcfrac $$
1
a0 +
1
a1 +
1
a2 +
a3 +
1 a4
Az \lcfrac ´es az \rcfrac a \cfrac-t´ol annyiban k¨ ul¨onb¨ozik, hogy az \lcfrac a sz´aml´al´okat a t¨ortvonal bal oldal´ahoz, az \rcfrac pedig a t¨ortvonal jobb oldal´ahoz illeszti. A a0 +
1 a1 +
b0 +
1 a2 +
1 a3 +
1 a4
z z b1 + z b2 + z b3 + b4
t¨ortek megad´asa: $$ a 0+\lcfrac1\\ a 1+\lcfrac1\\ a 2+\lcfrac1\\ a 3+\lcfrac1\\ a 4 \endcfrac\quad\qquad b 0+\rcfrac z\\ b 1+\rcfrac z\\ b 2+\rcfrac z\\ b 3+\rcfrac z\\ b 4 \endcfrac $$
2.5. Gy¨ok¨os kifejez´esek Ha n´egyzetgy¨ok¨ot akarunk ´ırni, az \sqrt{ hformulai} parancs haszn´alata a leg√ egyszer˝ ubb. P´eld´aul a k + 1 kifejez´est \sqrt{k+1} m´odon adhatjuk meg. A gy¨okjel magass´aga ´es helye igazodik az argumentumhoz. Ez a´ltal´aban el˝ony¨os √ tulajdons´ ag, de ez lehet k´eprombol´o hat´a√s´ u is. Ilyen eset p´eld´aul, ha a a, a √ √ √ √ b´ es y egy formul´aban szerepel: a + b + y . Az ´ır´ask´epen jav´ıthatunk a \mathstrut utas´ıt´ assal: $\sqrt{\mathstrut a}+ \sqrt{\mathstrut b}+ \sqrt{\mathstrut y}$
eredm´enye:
p
a+
p
b+
p
y.
´d 2 Matematikai mo
122 A S-T X M E
Ha nem n´egyzetgy¨ok¨ot kell ´ırnunk, a \root hkitev˝o i\of{h formulai} parancs haszn´alata a javasolt. A \root ´es az \of k¨oz¨ott kell megadni, hogy hanyadik gy¨okr˝ol van sz´o, a z´ar´ojelek k¨oz¨ott pedig a gy¨okjel alatt a´ll´o kifejez´est: r
$$ \root 3\of{k+\frac1a} $$
3
k+
1 a
.
Ha a gy¨okjelre valamilyen kifejez´est ´ırunk, mint p´eld´aul az al´abbi esetben: $$ \root \alpha+\beta\of{k+\frac1a} $$
r
α+β
k+
1 a
,
az α + β kifejez´es rajta u ¨ l” a gy¨okjelen, ´es egy kicsit le is l´og” a gy¨okjelr˝ol. ” ” Erre az esetre ny´ ujt seg´ıts´eget az AMS-TEX \uproot ´es \leftroot parancsa: az \uproot{hsz´ami} paranccsal meg lehet adni, hogy a gy¨okjelen l´ev˝o kifejez´est mennyivel helyezze fentebb (lentebb), a \leftroot{ hsz´ami} paranccsal pedig, hogy mennyivel h´ uzza balra (jobbra). A h sz´ami pontokban (pt) ´ertend˝o. Negat´ıv sz´am megad´as´aval a z´ar´ojelbe ´ırt mozgat´asokat kapjuk. A fent le´ırt gy¨ok¨os kifejez´es az al´abbiak szerint ny´ ujt jobb ´ır´ask´epet: $$ \root\uproot 3\leftroot{-2} \alpha+\beta\of{k+\frac1a} $$
r
α+β
k+
1 a
.
2.6. Pontok Az AMS-TEX-nek is megvannak az \ldots ´es \cdots parancsai, amelyek alulra (. . . ) ´es k¨oz´epre (· · · ) illesztett pontokat produk´alnak. Van azonban egy \dots parancs, amely v´altoz´o illeszt´es˝ u pontokat eredm´enyez. A \dots u ´ gy m˝ uk¨odik, mint egy egyv´altoz´os f¨ uggv´eny: att´ol f¨ ugg˝oen helyezi el a pontokat, hogy a kifejez´esben mi a k¨ovetkez˝o jel. P´eld´aul $a_1+\dots+a_n$ $b_1\cdot\dots\cdot b_n$
−→ a1 + · · · + an , de −→ b1 · . . . · bn .
Ha nem a fenti automatikusan kiv´alasztott helyre szeretn´enk ´ırni a pontokat, bonyolult feladatunk lehet, mert minden egyes helyet k¨ ul¨on meg kell vizsg´alni. Ennek az elker¨ ul´es´ere t¨obb parancsot k´ın´al az AMS-TEX a \dotson, \ldots-on ´es \cdots-on k´ıv¨ ul: \dotsc, \dotsb, \dotsi, \dotso,
amely vessz˝o vagy pontosvessz˝o el˝ott a´ll (. . . ,); amely bin´aris oper´atorok illetve rel´ aci´ ojelek k¨oz¨ott a´ll (· · · · ·); R R amely integr´aljelek k¨oz´e ´ırand´o ( · · · ); egy´eb esetekre (+ . . . ] ).
¨ 2.9. Osszetett indexel´ esek
AMS-TEX 123
Ezek haszn´alata akkor is el˝ony¨os, ha a \dots parancsot szeretn´enk haszn´alni mindenhol. Ugyanis sajnos van n´eh´any eset, amikor a \dots parancs nem u ´ gy m˝ uk¨odik, ahogy elv´arn´ank t˝ole. Ilyen eset, ha a \dots parancsot nem k¨oveti semmilyen jel matematikai m´odon bel¨ ul: a 1 + · · · + ai + . . . . Ezekre az esetekre alkalmas p´eld´aul a \dotsb, amely a bin´aris oper´atorokhoz tartozik: $a_1+a_2+\dotsb$
a 1 + a2 + · · ·
2.7. Al´a- ´es f¨ol´eh´ uz´as $\bar a\ \overline X\ \overline{AB}$
a ¯ X AB
a X XY ¯ Vigy´aznunk kell a \b parancs alkalmaz´as´an´al: az a” bet˝ u, vagyis az argumen” tum sz¨oveg m´odba ker¨ ult, annak o¨sszes k¨ovetkezm´eny´evel. Ez esetben (ha egy bet˝ u vagy egy a sz¨oveg m´odban haszn´alhat´o jel az argumentum) a ford´ıt´o nem jelez hib´at, azonban p´eld´aul a λ-t nem lehetne a \b paranccsal al´ah´ uzni. $\b a\ \underline X\ \underline{XY}$
2.8. Karakter(ek) k´eplet al´a ´es f¨ol´e Az \underset hmit i \to{hmi al´a i} ´es az \overset hmit i \to {hmi f¨ol´e i} igen kellemes parancsai az AMS-TEX-nek: $\underset xy\to {ABC}$ $\underset \!\alpha\beta\to A$ $\overset\alpha\beta\to\longrightarrow$ $\overset\text{def}\to=$
ABC xy
A
αβ αβ
−→ def
= s
$\overset \, s\to{\underset \!\!a\to X}$
X a
A hmiti index m´eret˝ u lesz mindk´et esetben. L´athat´o egy-k´et – nem k¨otelez˝oen alkalmazand´o – helykihagy´o (\,) ´es o¨sszeh´ uz´o (\!) parancs. Ezek az ´ır´ask´epet jav´ıtj´ak, ´erdemes alkalmazni o˝ket. Amennyiben a karakter-kompoz´ıci´oban szerepel a → karakter, annak \to parancsa helyett – a parancsok kevered´es´enek” elker¨ ul´ese v´egett – alkalmaz” zuk a \rightarrow vagy a @>>> parancsok valamelyik´et (l´ asd I.2.11. Nyilak)!
¨ 2.9. Osszetett indexel´esek Ha egym´as mell´e kell ´ırni az indexeket, az als´o (nem els˝o) indexet ´erdemes k¨ozelebb h´ uzni, hogy ne szakadjon el a t¨obbit˝ol: $R {ijk}{}^{lmn}{} {\!pqr}$
Rijk lmnpqr
´d 2 Matematikai mo
124 A S-T X M E
Kapcsos z´ar´ojellel lehet jel¨olni, ha t¨obb darab van valamib˝ol, vagy valamilyen felt´etelt akarunk ´ırni valami f¨ol´e vagy al´a: $\oversetbrace \text{$k$ darab}\to {x+\dots+x}$ $\undersetbrace >\,0 \to {x+y+z}$
k darab
z }| { x +···+ x
x+y+z | {z } >0
Ez a k´et parancs a PLAIN-beli \overbrace ´es \underbrace parancsok megfelelo˝je, amelyek nincsenek letiltva, teh´at haszn´alhat´ok. Mind a n´egy parancsn´al a z´ar´ojel f¨ol´e (al´a) helyezend˝o csoportban index m´eret˝ u matematikai m´od van. Az \overbrace ´es \underbrace parancsokkal lehet egyszer˝ ubben megoldani, ha csak a z´ar´ojelre van sz¨ uks´eg¨ unk: ha az indexel´est elhagyjuk, csak a kapcsos z´ar´ojel jelenik meg. Arra az esetre, ha t¨ obbszint˝ u indexet kell valami mell´e vagy al´a ´ırnunk, vagy P S ha az u ´ n. nagyoper´ator” (pl. , ∫ , , . . . ) alatt vagy/´es f¨ol¨ott t¨obb felt´etel ” szerepel, az AMS-TEX k´et nagyon egyszer˝ uen kezelhet˝o parancsot k´ın´al: – fels˝ o index, illetve felt´etel eset´en az \Sp . . . \endSp; – als´ o index, illetve felt´etel eset´en az \Sb . . . \endSb parancs alkalmazhat´o.
Mindk´et parancsn´al a \\ dupla jellel lehet a sort¨or´es hely´et megadni. Ilyenkor az _ ´es a ^ indexel˝ o jelek elhagyand´ ok! $$ \sum\Sp m\\ n\\ p\endSp \Sb i\le0\\ 1\le j\le q\\ 1\le k\le r\endSb a {ij}b {jk} $$
m n p X
aij bjk
i≤0 1≤j≤q 1≤k≤r
vagy $$ \lim\Sb n\to +\infty \\ m\to -\infty\endSb A\Sb n\\ m\endSb $$
n lim Am
n→+∞ m→−∞
A sorok t´avols´ag´anak megv´altoztat´as´ara alkalmazhat´o a \vspace{ hdimeni} parancs (l´ asd I.2.19. F¨ ugg˝oleges helykihagy´as).
2.11. Nyilak
AMS-TEX 125
2.10. Karakter(ek) karakter(ek) mell´e Erre alkalmas a \sideset hbal oldalhozi \and h jobb oldalhozi \to {hmihezi}
parancs, amelyn´el elhagyhat´o a bal vagy a jobb oldalhoz tartoz´o argumentum, valamint a kapcsos z´ar´ojelp´ar, ha a kifejez´es (amihez illeszteni akarunk) egy elemb˝ol a´ll. A → illeszt´ese eset´en annak \to parancsa helyett alkalmazzuk a \rightarrow vagy @>>> parancsok valamelyik´ et (l´ asd I.2.11. Nyilak). $\sideset \and^* \to\sum$ $\sideset ^* \and ^\star \to\sum$
P∗
∗ P?
2.11. Nyilak Ha valamilyen egyszeres ny´ılra van sz¨ uks´eg¨ unk, haszn´alhatjuk a PLAIN-b˝ol j´ol ismert, nyilat eredm´enyez˝o \to (→), \rightarrow (→), \leftarrow (←), \longrightarrow (−→), illetve \longleftarrow (←−) parancsok b´ armelyik´et. Ezen nyilak hossza azonban meghat´arozott. Arra az esetre, ha olyan hossz´ us´ag´ u nyilat akarunk ´ırni, mint a f¨ol´e, illetve az al´a ´ırand´o leghosszabb kifejez´es vagy sz¨oveg, a fent eml´ıtett parancsok nem alkalmasak. Csak a PLAIN-t haszn´alva sok f´arads´agunkba ker¨ ulhet ennek megold´asa. Az AMS-TEX erre k´et egyszer˝ uen kezelhet˝o formul´at k´ın´al. Ha a @>>> formul´at haszn´aljuk, egy jobbra mutat´o; ha a @<<< formul´at, egy balra mutat´o, v´altoz´o hossz´ us´ag´ u nyilat kapunk. Mindk´et esetben az els˝o ´es a m´asodik <, illetve > jel ut´an ´ırhat´o kifejez´es. Az els˝o ´es m´asodik k¨oz´e ´ırtak a ny´ıl f¨ol¨ott, a m´asodik ´es harmadik k¨oz´e ´ırt kifejez´esek a ny´ıl alatt fognak megjelenni. A ny´ıl hossza u ´ gy v´altozik, hogy a f¨ol´e, illetve az al´a´ırt leghosszabb kifejez´es (sz¨oveg) is f¨ol´e-, illetve al´af´erjen. Vigy´azat: a ny´ıl f¨ol¨otti, illetve alatti kifejez´es index m´eret˝ u lesz! Vigy´aznunk kell, ha a ny´ıl al´a, illetve f¨ol´e ´ırand´o kifejez´esben szerepel a < vagy > jel. Ilyenkor jobb, ha ezt z´ar´ojelek k¨oz´e rejtj¨ uk”: ” $@> n\to+\infty > i+j+k=1 >$
n→+∞
−−−−−−→ i+j+k=1
α
←−−−
$@< \alpha < {\gamma<1} <$ $@<< e^n\in\langle a_i,\,b_i\rangle <$
γ<1
←− −−−−−− n e ∈hai , bi i
Ha valamilyen formula f¨ ol´e vagy al´ a akarunk v´altoz´o hossz´ us´ag´ u nyilat ´ırni, haszn´alhatjuk a PLAIN-beli parancsokat: $\overrightarrow{x+y+z}$
−−−−−−→ x+y+z
´d 2 Matematikai mo
126 A S-T X M E
←−−− x+y ←→ OM
$\overleftarrow{x+y}$ $\overleftrightarrow{OM}$
Mindh´arom v´altoz´o hossz´ us´ag´ u ny´ılnak megvan a formula alatti v´altozata is: \underrightarrow, \underleftarrow, \underleftrightarrow.
Az \overrightarrow ´es az \underrightarrow parancsok helyett ´ırhatjuk a r¨ovidebb \overarrow ´ es \underarrow parancsokat is.
Egy karakteres vektor jel¨ol´es´ere haszn´alhatjuk a \vec, t¨obb szint eset´en a \Vec (l´ asd III.1.1. Matematikai ´ekezetek) parancsot: ~a
$\vec a\quad \Vec{\Vec b}$
~ ~b
2.12. Kommutat´ıv diagram El˝ofordulhat munk´ank sor´an, hogy az al´abbi t´ıpus´ u, u ´ gynevezett kommutat´ıv diagramot kell elk´esz´ıten¨ unk. Az AMS-TEX erre vonatkoz´o parancsainak haszn´alata n´elk¨ ul ezzel el´eg sok id˝ot t¨olthet¨ unk. α
A −−−−→ fy
(CD1)
B x g
A∗ ←−−−− B ∗ β
Ez egy nagyon egyszer˝ u p´elda, enn´el sokkal bonyolultabbakat is lehet k´esz´ıteni az AMS-TEX-hel, melyekre az al´abbiakban mutatunk n´eh´any p´eld´at. A (CD1) kommutat´ıv diagramot a \CD . . . \endCD
parancsok k¨oz¨ott adhatjuk meg, ahol a sorok elv´alaszt´as´ara a \\ jel szolg´al. A v´ızszintes nyilakat a @>>>, illetve @<<< formul´akkal (l´ asd I.2.11. Nyilak) ´ lehet l´etrehozni. Igy (CD1) fels˝o sora: A
@>\alpha>>
B\\
az als´o pedig: A^* @<<\beta< B^*
Az utols´o sor ut´an nem szabad ki´ırni a sorelv´alaszt´o \\ jelet.
2.12. Kommutat´ıv diagram
AMS-TEX 127
A f¨ ugg˝oleges nyilakat a @VVV ´es a @AAA formul´akkal k´esz´ıthetj¨ uk. A @VVV V bet˝ ui a lefel´e mutat´o, a @AAA A bet˝ ui a felfel´e mutat´o ny´ıl fej´et jelk´epezik. Az els˝o ´es m´asodik bet˝ u k¨oz´e ´ırtak a ny´ıl bal oldal´an, a m´asodik ´es harmadik bet˝ u k¨oz´e ´ırtak a ny´ıl jobb oldal´an jelennek meg. (Term´eszetesen vigy´azni kell arra, ha a lefel´e mutat´o ny´ıl mell´e V bet˝ ut, illetve, ha a felfel´e mutat´o ny´ıl mell´e A bet˝ ut akarunk ´ırni. Ilyenkor tegy¨ uk z´ar´ojelbe a ki´ırand´o bet˝ ut: @V{V}VV!) Ezek alapj´an a kommutat´ıv diagram k¨oz´eps˝o sora a k¨ovetkez˝o: @VfVV @AAgA\\
A @VVV ´es a @AAA formul´akat csak a \CD k¨ornyezeten bel¨ ul haszn´alhatjuk, nem u ´ gy, mint a @<<< ´es @>>> nyilakat. (A @<<< ´es @>>> hosszabb nyilat eredm´enyez, ha a kommutat´ıv diagramban alkalmazzuk, mint egy´eb helyeken.) A fentiek alapj´an a (CD1) kommutat´ıv diagram megjelen´ıt´es´ehez az al´abbiakat kell beg´epeln¨ unk: $$ \CD A @>\alpha>> B\\ @VfVV @AAgA\\ A^* @<<\beta< B^* \endCD\tag CD1 $$
Megjegyzend˝o, hogy f¨ ugg˝oleges nyilat ´es semmi egyebet nem ´ırhatunk a v´ızszintes nyilakat tartalmaz´o oszlopba a @>>> ´es @<<< formul´akon k´ıv¨ ul. El˝ofordulhat, hogy a kommutat´ıv diagramnak csak egy r´esz´ere van sz¨ uks´eg¨ unk: α
A −−−−→ B g yf
(CD2)
B∗
A hi´anyz´o sarok” helyett ´ırhatunk {} u ¨ res z´ar´ojelp´art, de megoldhat´o u ´ gy is, ” hogy egy´altal´an semmit nem ´ırunk oda. A nem sz¨ uks´eges nyilak hely´ere pedig @. -ot ´ırjunk (anal´ og m´odon a z´ar´ojelekn´el alkalmazott \left. vagy \right. form´akkal). A (CD2) megad´asa: $$ \CD A @>\alpha>> @. @VgVfV\\ @. B^* \endCD\tag CD2 $$
B\\
´d 2 Matematikai mo
128 A S-T X M E
Ha nem ny´ılra, hanem egy hossz´ u, v´ızszintes ´es/vagy hossz´ u, f¨ ugg˝oleges = jelre van sz¨ uks´eg¨ unk a kommutat´ıv diagramban: A∗ y
A
(CD3)
B −−−−→ M
V´ızszintes eset´eben a @= , f¨ ugg˝olegesben a @| (vagy a @\vert) formul´at kell haszn´alnunk a nyilak helyett. (CD3) megad´asa: $$ \CD A @= A^*\\ @| @VVV\\ B @>>> M \endCD\tag CD3 $$
Sajnos a kommutat´ıv diagramban a v´ızszintes nyilak nem lesznek automatikusan egyenl˝o hossz´ uak, ami n´eha nem sz´ep. Ilyen p´eld´aul a k¨ovetkez˝o eset, ha a (CD1) alapj´an k´esz´ıtj¨ uk a kommutat´ıv diagramot: Smith lek´ epez´ es
A −−−−−−−−−−→ fy A∗
←−−−− β
B x g
B∗
Ilyenkor a \pretend h jel i \haswidth h jelsorozat i
alkalmazand´o, amellyel a hosszabb ny´ıl hossz´ us´ag´ara tudjuk a r¨ovidebb ny´ıl hossz´ us´ag´at a´ll´ıtani. Ha az al´abbiakat g´epelj¨ uk be: $$ \CD A @>\text{Smith lek\’epez\’es}>>B\\ @VfVV @AAgA\\ A^* @<<\pretend\beta \haswidth {\text{Smith lek\’epez\’es}}< B^* \endCD\tag CD4 $$
m´ar egyenl˝o hossz´ us´ag´ u nyilakat kapunk:
2.12. Kommutat´ıv diagram
AMS-TEX 129 Smith lek´ epez´ es
A −−−−−−−−−−→ fy
(CD4)
B x g
A∗ ←−−−−−−−−−− B ∗ β
Ha t´ ul sz´eles a kommutat´ıv diagramunk, sz¨ uks´eg¨ unk lehet a v´ızszintes nyilak ler¨ovid´ıt´es´ere. A k´ıv´ant ´ert´eket a \minCDarrowwidth{hdimeni}
paranccsal a´ll´ıthajuk be. Alap´ertelmez´esben a hdimeni 2,5 pc-vel egyenl˝o. Az al´abbi p´eld´aban 1,5 pc-t adtunk meg. Ha kiemelt matematikai m´odon bel¨ ul adjuk meg az a´t´all´ıt´ast, az lok´alis marad. Ilyen p´elda a k¨ovetkez˝o: α
(CD5)
β
γ
δ
A −−→ B −−→ C −−→ D −−→ x g h fy
E j y
J ←−− I ←−− H ←−− G ←−− F ω
ψ
χ
ϕ
amit a k¨ovetkez˝ok´eppen ´ırhatunk be: $$\minCDarrowwidth{1.5pc} \CD A @>\alpha>>B @>\beta>> C @>\gamma>>D@>\delta>>E\\ @VfVV @. @AgAhA @. @VVjV\\ J@<<\omega
´d 2 Matematikai mo
130 A S-T X M E
2.13. M´atrixok Az AMS-TEX-ben a PLAIN-beli \matrix ´es \pmatrix utas´ıt´asokon ∗ k´ıv¨ ul t¨obbfajta m´atrixutas´ıt´as van munk´ank k¨onny´ıt´es´ere. Ezek az utas´ıt´asok egys´egesek a sorok, oszlopok elv´alaszt´asi hely´enek megad´as´aban. A h´ezagosan kit¨olt¨ott m´atrixokat is ugyan´ ugy lehet mindegyik utas´ıt´assal szedni. A \spreadmatrixlines{hdimeni} paranccsal – melyet a nyit´o $$ jel ut´an kell ´ırnunk – megv´altoztathatjuk a m´atrix sorainak t´avols´ag´at.
´ OJELES ´ ´ ´ITASOK ´ 2.13.1. ZAR MATRIXUTAS A gyakran haszn´alt z´ar´ojelfajt´akkal ell´atott m´atrixok k´esz´ıt´es´ere k¨ ul¨on parancsok a´llnak rendelkez´es¨ unkre: \pmatrix ...
\endpmatrix a leggyakrabban haszn´ alt ( ) z´ ar´ ojeles m´ atrixot eredm´enyezi;
\bmatrix ...
\endbmatrix parancs [ ] z´ ar´ ojelekkel l´ atja el a m´ atrixot;
\vmatrix ...
\endvmatrix parancs | | jeleket ´ır a m´ atrix k¨ or´e;
\Vmatrix ...
\endVmatrix parancs k k jeleket eredm´enyez.
A m´atrix sorait a \\ jel, oszlopait a & jel v´alasztja el. Mind a n´egy parancsot ugyan´ ugy haszn´alhatjuk. Egy p´elda a \pmatrix parancsra: $$ P=\pmatrix \alpha -x & 0 & 1\\ 0 & \alpha-x & \alpha-x \\ 1 & 0 & \alpha-x \endpmatrix. $$
P =
α−x
0 1
0 α−x
0
1
α − x. α−x
´ OJEL ´ ´ ULI ¨ MATRIXUTAS ´ ´ITAS ´ 2.13.2. ZAR NELK A \matrix . . . \endmatrix parancsot haszn´alva semmilyen z´ar´ojelet nem ´ır az AMS-TEX az adott m´ atrixhoz. ´Igy, ha nem akarunk z´ar´ojelet a m´atrix k¨or´e, illetve ha nem a fent felsorolt z´ar´ojeleket akarjuk haszn´alni, ezt a parancsot kell alkalmaznunk. P´eld´aul: A=
∗ Vigy´ azat,
α−x
0 1
0
1
α−x
α −x; α−x
0
C=
ezeknek megv´ altozott a szintaktik´ aja!
α −x
0 1
0 α−x
0
1
α−x . α−x
¨ lto ¨ tt ma ´trixok 2.13.4. H´ ezagosan kito
AMS-TEX 131
Ezen parancs haszn´alata csak a z´ar´ojel megad´as´aban t´er el a fentebb felsoroltakt´ol: $$ A=\matrix \alpha -x & 0 & 1\\ . . . \endmatrix ;\qquad C=\left\{\matrix \alpha -x & 0 & 1\\ . . . \endmatrix\right\}. $$
´ ¨ 2.13.3. MATRIX SZOVEGBEN Ha sz¨ovegk¨ornyezetben akarunk m´atrixot ´ırni, a \matrix, \pmatrix stb. utas´ıt´asok nem praktikusak, mert kiemelt matematikai m´od m´eret˝ u m´atrixot ered m´enyeznek:
a c
b . Ilyen esetben jobb alkalmazni a d
\smallmatrix ...\endsmallmatrix
utas´ıt´ast, mert ´ıgy az ac db m´atrix sokkal jobban fog illeszkedni a sz¨ovegk¨ornyezetbe. Ezt ugyan´ ugy kell haszn´alni, mint a \matrix z´ar´ojel n´elk¨ uli m´atrixutas´ıt´ast: $\left(\smallmatrix a&b\\ c&d\endsmallmatrix\right)$.
A \smallmatrix utas´ıt´asnak nincs \smallpmatrix stb. v´altozata!
´ ¨ OTT ¨ ´ 2.13.4. HEZAGOSAN KITOLT MATRIXOK H´ezagosan kit¨olt¨ott m´atrixot nagyon egyszer˝ u k´esz´ıteni: $$ \pmatrix 0\\ 0&1\\ 0&1&2\\ 0&1&2&3\\ &1&2&3\\ 0&1 \endpmatrix $$
0 0 1 0 1 2 0 1 2 3 1 2 3 0 1
El˝ofordulhatnak m´eg a k¨ovetkez˝o m´atrixt´ıpusok, melyekben a \vdots, \ddots parancsokon k´ıv¨ ul alkalmazhat´ok a \hdots ´es \hdotsfor hsz´ami parancsok is. A hsz´ ami hely´ ere a kipontozand´o oszlopok sz´am´at kell be´ırni. a11 a12 . . . a1n a21 a22 . . . a2n A= a31 . . . . . . . . . . . . . . . . . ; ..................... am1 am2 . . . amn
b11 b21 B= . ..
bm1
b12 b22
... ...
bm2
...
.. .
..
.
b1n b2n .. .
bmn
´d 2 Matematikai mo
132 A S-T X M E
Megad´asuk: $$ A = \pmatrix a {11}& a {12}&\hdots & a {1n}\\ a {21}& a {22}&\hdots & a {2n}\\ a {31}&\hdotsfor 3\\ \hdotsfor4\\ a {m1}& a {m2}&\hdots & a {mn}\endpmatrix; \quad B = \pmatrix b {11}& b {12}&\hdots & b {1n}\\ b {21}& b {22}&\hdots & b {2n}\\ \vdots &\vdots &\ddots &\vdots\\ b {m1}& b {m2}&\hdots & b {mn} \endpmatrix $$
Jegyezz¨ uk meg a \hdotsforhsz´ami parancs haszn´alat´at: arra utas´ıt´as, hogy a k¨ovetkez˝o hsz´ami oszlopot t¨oltse fel v´ızszintes pontoz´assal! Ehhez hasonl´o \vdotsfor parancs nincs.
´ ´ ´ ´ 2.13.5. MATRIX FORMATUM ANAK MEGADASA Alap´ertelmez´esben minden m´atrixutas´ıt´as a m´atrix elemeit v´ızszintesen k¨oz´epre illeszti, ´es egy \quad m´eret˝ u helyet hagy ki az oszlopok k¨oz¨ott. Ezt meg lehet v´altoztatni a \format parancs seg´ıts´eg´evel, amelyn´el k¨ ul¨on meg lehet adni minden oszlopra, hogy balra (\l), jobbra (\r) vagy k¨oz´epre (\c) illesszen, illetve hogy mekkora helyet hagyjon ki az oszlopok k¨oz¨ott.
10000 100 1
2 222 22222
20000 1000 2 20000 10000 200 100 222 200 100 2 1 22222 2 1
22222 222 2
20000 200 2
– Az els˝onek nem adtunk form´atumot, ´ıgy ott alap´ertelmez´esben k¨oz´epre illeszti az elemeket, ´es hagy helyet az oszlopok k¨oz¨ott; – a m´asodikn´al adtunk meg form´atumot u ´ gy, hogy megadtuk az oszlopok illeszt´esi m´odj´at (balra, k¨oz´epre, jobbra illeszt), de az oszlopok k¨oz¨ott helykihagy´ast nem; – a harmadikn´al megadtuk a form´atumot illeszt´essel (balra, k¨oz´epre, jobbra illeszt), helykihagy´assal. A harmadik m´atrix megad´asa: $$ \pmatrix\format \l\quad&\c\quad& \r \\ 10000 & 22222 & 20000\\ 100 & 222 & 200 \\ 1 & 2 & 2 \endpmatrix $$
¨ zo ¨ s tulajdonsa ´gok 2.14.1. Ko
AMS-TEX 133
2.14. T¨obbsoros formul´ak elhelyez´ese ¨ OS ¨ TULAJDONSAGOK ´ 2.14.1. KOZ Sokszor el˝ofordul, hogy egy matemetikai formula nem f´er el egyetlen sorban. Ilyenkor t¨obb sorban kell elhelyezni, azonban az illeszt´es komoly probl´em´akat jelenthet. Ebben az AMS-TEX t¨obb utas´ıt´assal is seg´ıt.
Ezek a parancsok a sorok kezel´ese szerint k´et csoportba sorolhat´ok: • amelyekn´ el a sorok k¨ ul¨ on egys´egk´ent kezelhet˝ok (nev¨ ukben nem szerepel az ed”, mint pl. az \align parancs); ” • amelyekn´ el az egym´as al´a ´ırt formul´ak egy egys´eget alkotnak (a \split ´es a \multline, valamint azok a parancsok, melyek nev´eben szerepel az ed” ” – pl. \aligned). Ezt az elk¨ ul¨on´ıt´est meg kell tenn¨ unk, mert m´as-m´as parancsokat vagy ugyanazt a parancsot m´as m´odon lehet egyik vagy m´asik esetben alkalmazni: 1. Ha a sorok k¨ ul¨ on egys´egk´ent kezelhet˝ ok : – Minden sornak lehet k¨ ul¨on-k¨ ul¨on egyenletsz´amot adni, amelyet a sorelv´ alaszt´ o \\ jel el´e kell ´ırni. – Haszn´alhat´o a formulak¨ozi sz¨ovegbesz´ ur´asra alkalmas \intertext parancs (l´ asd I.2.16. K¨ozbesz´ urt sz¨oveg formul´ak illeszt´es´en´el). – Lapt¨or´est nem v´egez a TEX ezeken a szerkezeteken bel¨ ul. Azonban kijel¨olhetj¨ uk a lapt¨or´es esetleges hely´et az \allowdisplaybreak parancscsal, amelyet b´armelyik \\ jel ut´an be´ırhatunk. Ha a formula b´armelyik sora ut´an megengedhet˝o a lapt¨or´es, nem sz¨ uks´eges minden sor ut´an ki´ırni az \allowdisplaybreak parancsot, mert a nyit´o $$ jel ut´an ezt meg lehet adni az \allowdisplaybreaks paranccsal. K¨otelez˝o lapt¨or´est a \displaybreak parancs v´egez (l´ asd I.2.18. Sor- ´es lapt¨or´es matematikai m´odban). – Ezek a parancsok egy $$ . . . $$ k¨oz¨ott csak egyszer fordulhatnak el˝o. 2. Ha a sorok egy egys´eget alkotnak : – Csak egy egyenletsz´amot lehet adni az o¨sszes sornak, ez´ert a \tag parancsot az egys´eget lez´ ar´ o parancs ut´ an, a z´ar´o $$ jel el´e kell ´ırni. – Nem alkalmazhat´ok a formul´ak megt¨or´es´et eredm´enyez˝o \intertext ´es \allowdisplaybreak, \allowdisplaybreaks, \displaybreak parancsok. – Ezek a parancsok egy $$ . . . $$ k¨oz¨ott t¨obbsz¨or is el˝ofordulhatnak. – ´Irhat´o z´ar´ojel a formula k¨or´e. 3. Mindk´et esetben alkalmazhat´ ok azonban a sorok t´avols´ag´at megv´altoztat´o \spreadlines{hdimeni} ´ es \vspace{hdimeni} parancsok (l´ asd I.2.19. F¨ ugg˝oleges helykihagy´as), valamint az egyenlet mell´e megjegyz´es ´ır´as´ara alkalmas \foldedtext parancs ´es annak v´altozatai (l´ asd I.2.17. Sz¨oveg egyenlet mell´e).
´d 2 Matematikai mo
134 A S-T X M E
´ SORBAN 2.14.2. FORMULA KET Ez a formul´ak t¨obbsoros elhelyez´es´enek legegyszer˝ ubb esete. Erre haszn´alhatjuk a \multline . . . \endmultline parancsot, amely u ´ gy helyezi el a k´et sor tartalm´at, hogy az els˝o sor eleje ´es a m´asodik sor v´ege 1 em t´avols´agra legyen a bal, illetve jobb marg´ot´ol: (3) (a + b)
n+1
n
= (a + b)(a + b) = (a + b) =
n X n j=0
j
n X n j=0
j
an−1 bj =
an+1−j bj +
n X n an−j bj j − 1 j=1
A sorelv´alaszt´o jel itt is a \\ jel: $$ \multline (a+b)^{n+1}=(a+b)(a+b)^n=(a+b) \sum {j=0}^n \binom nj a^{n-1}b^j =\\ =\sum {j=0}^n \binom nja^{n+1-j}b^j+ \sum {j=1}^n \binom n{j-1}a^{n-j}b^j \endmultline\tag3 $$
A k´et sor egy egys´eget alkot (l´ asd I.2.14.1. K¨oz¨os tulajdons´agok). Ha az egyenletsz´am bal oldalon van, azt az els˝o sor el´e, ha jobb oldalon, a m´asodik sor ut´an ´ırja – 1 em-nyi t´avols´agot hagyva a jel ´es a formula k¨oz¨ott. Ha t´ ul hossz´ u vagy t´ ul r¨ovid a formul´ank, azaz meg szeretn´enk v´altoztatni a marg´okt´ol m´ert t´avols´agot, alkalmazzuk a \multlinegap{ hdimeni} parancsot, ahol a hdimeni hely´ere a szed´est¨ uk¨or sz´el´et˝ol m´ert, sz´amunkra k´ıv´anatos t´avols´agot kell ´ırnunk! $$ \multlinegap{5mm} \multline . . . . . . \endmultline $$
´Irhatunk 0 pt-t is, ekkor teljesen a marg´okig kih´ uzva jelenik meg a k´et sor. Egyenletjel ´ır´asakor a 0 pt-s be´all´ıt´as sem okoz probl´em´at, mert az egyenletjelnek hagy ki helyet. A \multlinegap{0pt} helyett ´ırhatjuk a r¨ovidebb \nomultlinegap parancsot is. A \multlinegap csak a $$ . . . $$ jelek k¨oz¨ott alkalmazhat´o, ´es csak arra az egy esetre hat. Ha az eg´esz cikkben ezzel a t´avols´aggal k´ıv´anjuk megjelen´ıteni
2.14.4. Egy illeszt´ es
AMS-TEX 135
a \multline-nal ´ırt formul´akat, elegend˝o egyszer a f´ajl elej´ere be´ırni a \MultlineGap{hdimeni}
parancsot, ami fel¨ ulb´ır´alja az alap´ertelmez´es˝ u 1 em-es be´all´ıt´ast.
¨ EPRE ´ ´ ALATT 2.14.3. KOZ HELYEZETT EGYENLETEK EGYMAS Ha az egyenleteket k¨ozvetlen¨ ul egym´as al´a, k¨oz´epre akarjuk ´ırni, azt megtehetj¨ uk az $$ a=b $$
$$ b=c+d $$
$$ e+g+h=f $$
m´odon is, azonban ´ıgy az egyenletek k¨oz¨ott t´ ul nagy t´avols´ag lesz. Alkalmazva a \gather . . . \endgather vagy a \gathered . . . \endgathered parancsok valamelyik´et, az egyenletek megfelel˝o t´avols´agban lesznek egym´ast´ol. (Haszn´alhat´o a PLAIN \displaylines parancsa is.) A k´et parancs k¨oz¨ott a sorok kezel´es´eben van k¨ ul¨onbs´eg: a \gather parancsn´al a sorok k¨ ul¨on-k¨ ul¨on k´epeznek egy-egy egys´eget; a \gathered parancsn´al a sorok egy egys´eget alkotnak (l´ asd I.2.14.1. K¨oz¨os tulajdons´agok). (7)
a=b b=c+d
(8)
e+g+h=f
Itt a \gather parancsot alkalmaztuk, ´ıgy minden egyenlet kaphatott k¨ ul¨on is sz´amot. Megad´asa: $$ \gather a=b\tag7\\ b=c+d\\ \endgather $$
e+g+h=f\tag8
´ 2.14.4. EGY ILLESZTES Ha egy ponton illeszteni akarjuk egym´as al´a a sorokat, alkalmazhatjuk a PLAIN-beli \halign, \eqalign, \leqalign illetve a \leqalignno parancsokat is, azonban mindegyiknek van az AMS-TEX-ben t¨obb finom´ıtott, k´enyelmesebben haszn´alhat´o v´altozata. Ezekn´el is meg kell k¨ ul¨onb¨oztetn¨ unk a k´et esetet, amikor a sorokat egy egys´egk´ent, illetve minden sort k¨ ul¨on egys´egk´ent kezel az AMS-TEX (l´ asd I.2.14.1. K¨oz¨os tulajdons´agok): A \split . . . \endsplit, az \aligned . . . \endaligned, a \topaligned . . . \endtopaligned ´ es a \botaligned . . . \endbotaligned parancsokn´al az egym´as al´a ´ırt formul´ak egy egys´eget k´epeznek, az \align . . . \endalign parancsn´al pedig minden sor k¨ ul¨on egys´eget alkot.
´d 2 Matematikai mo
136 A S-T X M E
A sort¨or´est a \\ jellel, az illeszt´esi pontokat a & jellel kell megadni mindegyik esetben. Az utols´o illesztend˝o sor ut´an nem szabad ki´ırni a \\ sorelv´alaszt´o jelet! A \split ´es az \aligned parancsok k¨oz¨ott az egyenlet hivatkoz´asi jel´enek az elhelyez´es´eben van k¨ ul¨onbs´eg. A \split parancs az egyenletjelet alap´ertelmez´esben az els˝o sor el´e ´ırja, ha a bal oldali be´all´ıt´as van ´erv´enyben, illetve az utols´o sor ut´an jobb oldali be´all´ıt´as eset´en. Meg lehet adni, hogy f¨ ugg˝olegesen k¨oz´epre helyezze el: a \CenteredTagsOnSplits paranccsal, alap´ertelmez´esre vissza´all´ıtani a \TopOrBottomTagsOnSplits paranccsal lehet. Az \aligned parancs f¨ ugg˝olegesen k¨oz´epre helyezi el az egyenletjelet. P´eld´aul az (1–2)
(a + b)n+1 = (a + b)(a + b)n = n X n + 1 n+1−j j a b = j=0
j
formul´at a $$ \split (a+b)^{n+1} &=(a+b)(a+b)^n =\\ &=\sum {j=0}^n \binom{n+1}j a^{n+1-j}b^j \endsplit\tag1--2 $$
form´aban adtuk meg. Az \aligned, \topaligned ´es \botaligned olyan parancsok, amelyekkel azt is meg lehet oldani, hogy t¨obb egys´eg jelenjen meg egym´as mellett egy kiemelt matematikai m´odon bel¨ ul: (5.5)
α = f (z ) β = f (z 2 ) γ = f (z 3 )
vagy
xij = α2i − βj
Itt az \aligned parancsot alkalmaztuk: $$ \left\{ \aligned \alpha &=f(z) \\ \beta &=f(z^2) \\ \gamma &=f(z^3) \endaligned\right\} \qquad \text{vagy}\qquad \aligned x {ij}&=\alpha_i^2 - \beta_j\\ y&=2\gamma . \endaligned\tag5.5 $$
y = 2γ.
2.14.4. Egy illeszt´ es
AMS-TEX 137
Az \aligned . . . \endaligned parancshoz hasonl´o form´at eredm´enyeznek a \topaligned . . . \endtopaligned ´ es a \botaligned . . . \endbotaligned parancsok. Ha csak egy ilyen egys´eg szerepel az adott kiemelt matematikai m´odon bel¨ ul, a k¨ ul¨onbs´eg csup´an abban l´athat´o, hogy a \topaligned parancsn´al az egyenlet hivatkoz´asi jele az els˝o sor mellett, a \botaligned eset´eben pedig az utols´o sor mellett jelenik meg. Ha azonban t¨obb egys´eget helyezt¨ unk el egy kiemelt matematikai m´odon bel¨ ul, az egys´egek f¨ ugg˝oleges elhelyez´es´eben is l´athatjuk az elt´er´est: a \topaligned-et haszn´alva az egys´egek fels˝o sora lesz az alapvonalon (fels˝o soruk lesz egyvonalban), m´ıg a \botaligned eset´eben az utols´o soruk lesz az alapvonalon, bele´ertve az egys´egek k¨oz¨otti sz¨ovegr´eszt is. Egy p´elda a \topaligned-re: (1)
f (x) = a + b
ahol
g (y ) = c − (d − a + h)
a, d ∈ R+
c, d ∈ R− h∈N
melynek forr´assz¨ovege: $$ \topaligned f(x)&=a+b\\ g(y)&=c-(d-a+h) \endtopaligned \qquad\text{ahol}\qquad \topaligned a,d&\in\Bbb R^+\\ c,d&\in \Bbb R^-\\ h&\in\Bbb N \endtopaligned \tag1 $$
Az egym´as al´a ´ırt sorokat az \align . . . \endalign k¨ ul¨on egys´egk´ent kezeli: (4)α (5)β
max(f, g ) =
f + g + |f − g|
,
2 f − g + |f + g| . max(f, −g ) = 2
A fenti egyenl˝os´egeket az $$ \align \max(f,g) &=\frac{f+g+|f-g|}2, \max(f,-g) &=\frac{f-g+|f+g|}2. \endalign $$
form´aban adtuk meg.
\tag"$(4) \alpha$" \\ \tag"$(5) \beta$"
´d 2 Matematikai mo
138 A S-T X M E
´ TOBB ¨ 2.14.5. ILLESZTES HELYEN Az al´abbi parancsok lehet˝os´eget ny´ ujtanak egyn´el t¨obb illeszt´esi hely megad´as´ara: \alignathsz´ ami . . . \endalignat \alignedathsz´ ami . . . \endalignedat \xalignathsz´ ami . . . \endxalignat \xxalignathsz´ ami . . . \endxxalignat
ahol a hsz´ami az illesztend˝ o csoportok, azaz az illeszt´esi helyek sz´ ama. Egy-egy soron bel¨ ul az & jellel kell megadnunk – az illeszt´esi helyeket ´es – az illesztend˝ o csoportok v´eg´et. A sorokat egym´ast´ol a \\ kett˝os jellel kell elv´alasztani. Az \alignathsz´ami . . . \endalignat parancsn´al minden sor k¨ ul¨on egys´eg, m´ıg az \alignedathsz´ami . . . \endalignedat parancsban megadott sorok egy egys´eget alkotnak (l´ asd I.2.14.1. K¨oz¨os tulajdons´agok). P´eld´aul a (2.3) (2.4)
dx0 = Ax0 dt + GdW,
x0 (0) = x(0),
dy0 = Hx0 dt + CGdW + RdV,
y0 (0) = 0,
(2.5) (2.6)
dx+ = Ax+ dt + Bu dt,
x+ (0) = 0,
dy+ = Hx+ dt + N y dt + CBu dt,
y+ (0) = y (0) .
egyenletekn´el az \alignat 2 . . . \endalignat parancsot alkalmaztuk: $$ \alignat 2 dx 0 & = Ax 0dt dy 0 & = Hx 0dt \vspace{5pt} dx + & = Ax +dt dy + & = Hx +dt & = y(0) & \endalignat $$
+ GdW, & x 0(0) & = x(0), & \tag{2.3}\\ + CGdW + RdV, & y 0(0) & = 0, & \tag{2.4}\\ + Bu\,dt, & x +(0) & =0, & \tag{2.5}\\ + Ny\,dt + CBu\,dt, \qquad & y +(0) \tag{2.6}
Az \xalignat ´es \xxalignat parancsok az \alignat parancst´ol annyiban k¨ ul¨onb¨oznek, hogy az illesztend˝o csoportok k¨oz¨ott automatikusan hagynak ki helyet: az \xalignat a fennmarad´o helyet egyenletesen osztja sz´et az els˝o csoport el˝ott, az utols´o ut´an ´es a csoportok k¨oz¨ott, az \xxalignat pedig az els˝o csoportot a bal marg´ohoz, az utols´o csoportot a jobb marg´ohoz illeszti, a fennmarad´o helyet pedig egyenletesen osztja sz´et a csoportok k¨oz¨ott.
¨ zbeszu ´rt szo ¨ veg formula ´k illeszt´ 2.16. Ko es´ en´ el
AMS-TEX 139
Egy p´elda az \xalignat alkalmaz´as´ara: m0 = m 1 + 2 00
n = m1 + 4n
n1 = 3m + 4n,
n = 1, . . . , `
n1 = 2m + 3,
m 6= 0
ha m 6= 0
egy´ebk´ent.
$$ \xalignat 4 m’ & = m_1 + 2 & n_1 & = 3m + 4n,& n & = 1, \dots, \ell &&\text{\sl ha }m\ne0 & \\ n’’ & = m_1 + 4n& n_1 & = 2m + 3, & m & \ne 0 && \text{\sl egy\’ebk\’ent.} & \endxalignat $$
Ugyanez \xxalignat alkalmaz´as´aval: m0 = m 1 + 2 00
n = m1 + 4n
n1 = 3m + 4n,
n = 1, . . . , `
n1 = 2m + 3,
m 6= 0
ha m 6= 0
egy´ebk´ent.
2.15. Esetsz´etv´alaszt´as, a Cases formula Ez a parancs megtal´alhat´o a PLAIN-ben is, azonban az AMS-TEX-beli \cases parancsnak m´as a szintaktik´aja. Ami m´as az AMS-TEX-beli v´altozatn´al: a parancs \cases . . . \endcases alak´ u, sort¨or´es a \\ jellel lehets´eges, ´es a & jel el˝ott ´es ut´an egyar´ant matematikai m´od van. $$ f(x)=\cases x+1,& x>0\text{ eset\’en,}\\ x-1,&x\le0\text{ eset\’en}. \endcases $$
f (x) =
(
x + 1,
x > 0 eset´ en,
x − 1,
x ≤ 0 eset´ en.
2.16. K¨ozbesz´ urt sz¨oveg formul´ak illeszt´es´en´el Ha u ´ gy kell illeszten¨ unk, hogy a f¨ ugg˝olegesen egym´ashoz illesztett sorok k¨oz¨ott van magyar´az´o–utal´o sz¨oveg, azt az \intertext{ h sz¨ovegi} paranccsal a sorok k¨oz´e be tudjuk sz´ urni olyan egyenletilleszt´esi parancsokn´al, amelyek a sorokat k¨ ul¨on egys´egk´ent kezelik (l´ asd I.2.14.1. K¨oz¨os tulajdons´agok). Az \intertext parancsot az ut´an a sor (sorelv´alaszt´o jel) ut´ an kell ´ırni, amely ut´an be akarjuk h i sz´ urni a sz¨oveget. Az \intertext{ sz¨oveg } parancsban a \par parancs nem
´d 2 Matematikai mo
140 A S-T X M E
haszn´alhat´o. Ha azonban m´egis sz¨ uks´eg¨ unk van u ´ j bekezd´esre, haszn´aljuk az \endgraf parancsot, amelynek ugyanaz a hat´ asa, mint paragrafus m´odban a \par parancsnak! n X i=0
(−1)i
n+1 X n n+1 Dn−i (S i+1 x) + (−1)i Dn+1−i (S i x) = i i i=0 n X n = (−1)i−1 Dn+1−i (S i x) + Dn+1 (x) ' i − 1 i=1
´es az (1)–(3) egyenletekb˝ ol '
n X i=0
(−1)i
n Dn+1−i (S i x). i
Ezt az al´abbi form´aban adtuk meg: $$ \align \sum\limits_{i = 0}^n (-1)^i & {\binom ni}D^{n - i} (S^{i + 1}x ) + . . . = \\ & = \sum\limits_{i = 1}^n (-1)^{i - 1} . . . D^{n + 1}(x )\simeq \\ \intertext{\’es az (1)- -(3) egyenletekb\H ol} & \simeq \sum\limits_{i = 0}^n (-1)^i {\binom ni} . . . \endalign $$
2.17. Sz¨oveg egyenlet mell´e Ha egy kiemelt matematikai m´odban illesztett egys´eg valamely sora mell´e viszonylag hossz´ u megjegyz´est vagy magyar´az´o sz¨oveget akarunk ´ırni, az eddigiek alapj´an gondjaink lehetnek. Ilyen p´eld´aul a k¨ovetkez˝o: √
k+1−
√ k = f (k + 1) − f (k ) =
1
= f 0 (x) = √ < 2 x
minden x ∈ (k, k + 1) eset´en; az el˝ obbi, valamint az [1]-ben tal´ alhat´ o 3.6 T´etel alapj´ an
1
< √ . 2 k
Ennek a probl´em´anak a megold´as´ara k´esz¨ ult a \foldedtext{ hsz¨ovegi} parancs. Seg´ıts´eg´evel a feladat megold´asa igen egyszer˝ u: $$ \align \sqrt{k+1}-\sqrt k & = f(k+1)-f(k)=\\ & = f’(x)=\frac 1{2\sqrt x}<\qquad
¨ r´ ´ dban 2.18. Sor- ´ es lapto es matematikai mo
AMS-TEX 141
\foldedtext{minden $x\in(k,k+1)$ eset\’en; az el\H obbi, valamint az \cite{1}-ben tal\’alhat\’o 3.6~T\’etel alapj\’an} \\ & < \frac 1{2\sqrt k}\,. \endalign $$
A \foldedtext{hsz¨ovegi} parancsban megadott hsz¨ovegi-et egy 0.3\hsize sz´eless´eg˝ u dobozba t¨ordeli be a TEX. Ezt a dobozt amell´e a sor mell´e teszi, amelynek a sorv´egjele el˝ ott adtuk meg. Ezt alkalmazva az illet˝o sor ´es a sz¨ovegdoboz egym´ashoz k´epest f¨ ugg˝olegesen k¨oz´epen helyezkednek el. A sz¨oveget tartalmaz´o doboz sz´eless´ege 0.3\hsize, amely (term´eszetesen) a´t´all´ıthat´o a \foldedwidth{hdimeni} paranccsal: \foldedtext\foldedwidth{hdimeni}{hsz¨ ovegi}
A \topfoldedtext parancs a sz¨oveg els˝o sor´at, m´ıg a \botfoldedtext parancs a sz¨oveg utols´o sor´at illeszti az adott sor alapvonal´ahoz. Az el˝oz˝o p´eld´aban a \foldedtext parancsot kicser´elve a \topfoldedtext parancsra, ´es nagyobbra a´ll´ıtva a sz¨ovegdoboz sz´eless´eg´et (\foldedwidth{0.5\hsize}), a formula k´epe az al´abbiak szerint m´odosul: √ √ k + 1 − k = f (k + 1) − f (k ) =
1 = f 0 (x) = √ < 2 x
minden x ∈ (k, k + 1) eset´en; az el˝ obbi, valamint az [1]-ben tal´ alhat´ o 3.6 T´etel alapj´ an
1
< √ . 2 k
2.18. Sor- ´es lapt¨or´es matematikai m´odban \mathbreak : Matematikai m´ odban vannak olyan jelek, amelyek el˝ott vagy ut´an a soremel´es le van tiltva ([, ], = stb.). Ilyen helyeken lehet alkalmazni
k¨otelez˝o soremel´esre ezt a parancsot. \allowmathbreak : Az el˝ oz˝o parancs m´odos´ıt´asa: nem k¨otelez˝o soremel´es he-
ly´enek kijel¨ol´ese. Ez rendk´ıv¨ ul hasznos parancs, mivel ezt alkalmazva nem sz¨ uks´eges a t¨ordel´es m´odosul´asakor a soremel´est megsz¨ untetni. \nomathbreak : Matematikai m´ odban vannak olyan jelek, amelyek ut´an megengedett a soremel´es (pl. +). Ha ezt le akarjuk tiltani, az adott jel el´e (jelen esetben a + jel el´e) kell be´ırnunk a \nomathbreak parancsot. \displaybreak : K¨ otelez˝o lapdob´ast v´egez kiemelt matematikai m´odban azokon a szerkezeteken bel¨ ul, ahol ez megengedett (l´ asd I.2.14.1. K¨oz¨os tulajdons´agok).
142 A S-T X M E
´d 2 Matematikai mo
\allowdisplaybreak : Esetleges lapt¨ or´es hely´enek kijel¨ol´ese kiemelt matematikai m´odban. A PLAIN-ben sok k´ıs´erletez´est k´ıv´an egy-egy kiemelt for-
mula megfelel˝o helyen val´o elt¨or´ese, ha nem f´er ki a lap alj´ara, a lapszerkezet k´es˝obb esetlegesen t¨ort´en˝o megv´altoz´as´ar´ol nem is besz´elve. Azokon a szerkezeteken bel¨ ul, ahol ez megengedett (l´ asd I.2.14.1. K¨oz¨os tulajdons´agok), b´armelyik \\ jel ut´an be´ırhatjuk. \allowdisplaybreaks : Ha a formula b´ armelyik sora ut´an megengedhet˝o a lapt¨or´es, nem sz¨ uks´eges minden sor ut´an be´ırni az \allowdisplaybreak parancsot, mert a nyit´o $$ jel ut´an ezt meg lehet adni az \allowdisplaybreaks paranccsal. Csak olyan esetben alkalmazhat´ o, ahol a szerkezeten bel¨ ul megengedett a lapt¨or´es (l´ asd I.2.14.1. K¨oz¨os tulajdons´agok). \* : Gyakran el˝ ofordul, hogy a × karakter formul´akon bel¨ uli el˝ofordul´as´at nem jel¨olj¨ uk. Ezen poz´ıci´okban a \* seg´ıts´eg´evel enged´elyezhetj¨ uk a soremel´est. Automatikus soremel´es eset´en a × karakter a sor v´eg´en automatikusan megjelenik.
2.19. F¨ ugg˝oleges helykihagy´as Az AMS-TEX idevonatkoz´o parancsai n´elk¨ ul k¨or¨ ulm´enyes megoldani, ha egy kiemelt t¨obbsoros formula egyes sorai k¨oz¨ott nagyobb helyet akarunk kihagyni, mint ahogyan azt a TEX kisz´amolja. A kiemelt matematikai m´od´ u t¨obbsoros formula sorai k¨oz¨otti t´avols´agot a \spreadlines{ hdimeni} ´es a \vspace{hdimeni} parancsokkal lehet megv´altoztatni. Haszn´alhatjuk a \spreadlines{hdimeni} parancsot akkor, ha az o¨sszes sort´avols´agot meg akarjuk v´altoztatni, ahol a hdimeni hozz´aad´odik a kiemelt formula sorai k¨oz¨otti t´avols´aghoz. $$ \spreadlines{hdimeni} ... $$
Ezt a parancsot csak k¨ozvetlen¨ ul a nyit´o $$ jel ut´an lehet ´ırni. A hdimeni a´ltal k´epviselt m´ert´ekkel azonban a formula ´es a felette l´ev˝o sz¨ovegr´esz t´avols´aga is megn˝o. Ha csak egyes sorok k¨oz¨ott szeretn´enk m´as t´avols´agot kihagyni, akkor a \vspace{hdimeni} parancsot haszn´ alhatjuk: $$ ... . . . \\ \vspace{hdimeni} ... $$
Ezt azon sor sorelv´alaszt´o jele ut´an kell ´ırnunk, ami ut´an a helyet ki akarjuk hagyni.
´ ta ´ll´ıta ´sa matematikai mo ´ dban 2.20. M´ eretek a
AMS-TEX 143
Mindk´et parancs alkalmazhat´o minden olyan szerkezetben, amely nyit´o ´es z´ar´o parancsokb´ol a´ll, ´es a sorai a \\ jellel v´alaszthat´ok el: p´eld´aul az \align, \aligned, \gather stb., \Sb, stb. parancsokn´ al. M´atrixokn´al a \spreadlines parancs helyett a \spreadmatrixlines parancs haszn´alhat´o.
2.20. M´eretek ´at´all´ıt´asa matematikai m´odban Az AMS-TEX automatikusan v´altogatja a jelek, karakterek m´ereteit att´ol f¨ ugg˝oen, hogy az m´asodik (vagy ann´al magasabb) rend˝ u indexben, els˝o rend˝ u indexben, sz¨ovegk¨ozi matematikai m´odban vagy kiemelt matematikai m´odban van-e. Az alap´ertelmez´est b´arhol a´t´all´ıthatjuk a k¨ovetkez˝o parancsokkal: \dsize
: Matematikai m´odban m´eret a´t´all´ıt´asa kiemelt matematikai m´od´ u (displayed) m´eretre (=\displaystyle): n X
δi γ i
i=1
\tsize
: Matematikai m´odban m´eret a´t´all´ıt´asa sz¨ovegk¨ozi matematikai m´od´ u m´eretre (=\textstyle): Pn
i=1 δi γ
\ssize
i
: Matematikai m´odban m´eret a´t´all´ıt´asa az els˝o szint˝ u index m´eret´ere (=\scriptstyle): Pn
i=1
δi γ i
\sssize : Matematikai m´ odban m´eret a´t´all´ıt´asa m´asodik szint˝ u index m´eret´ere (=\scriptscriptstyle): Pn i i=1
δi γ
´jl II. A st´ılusfa
144 A S-T X M E
II. A st´ılusf´ajl Ebben a st´ılusf´ajlban (AMS Preprint Style) vannak azok a parancsok defini´alva, amelyekkel olyan form´atum´ u cikket ´ırhatunk, amit az Amerikai Matematikai T´arsas´ag hozott l´etre standardk´ent matematikai cikkek ´ır´as´ahoz. Itt az amsppt.sty 2.0-s verzi´ oja ker¨ ul bemutat´asra. El˝osz¨or k´et parancsot eml´ıten´enk meg, amelyek nagyban megk¨onny´ıtik munk´ankat, az AMSPPT t´argyal´as´an´al sokszor el˝oker¨ ulnek, ´es mi is haszn´alhatjuk b´arhol: \tenpoint : Bet˝ um´eret, sort´avols´ag, bekezd´esek t´avols´aga, kiemelt matematikai m´odban ´ırt (displayed) formul´ak f¨ol¨otti ´es alatti t´avols´ag be´all´ıt´asa a 10 pontos bet˝ um´erethez, a matematikai ´es minden egy´eb karakter m´eret´enek ennek megfelel˝o be´all´ıt´asa. Ez az alap´ertelmez´es a cikk t¨orzs´ere. \eightpoint : Bet˝ um´eret, sort´avols´ag, bekezd´esek t´avols´aga, kiemelt matematikai m´odban ´ırt (displayed) formul´ak f¨ol¨otti ´es alatti t´avols´ag be´all´ıt´asa a 8 pontos bet˝ um´erethez, a matematikai ´es minden egy´eb karakter m´eret´enek ennek megfelel˝o be´all´ıt´asa. A l´abjegyzet, az irodalomjegyz´ek, az indexek alap´ertelmezett be´all´ıt´asa. A 8 pontos m´eret nagy seg´ıts´eget jelent munk´ankban egyr´eszt az´ert, mert sok helyen ez az alap´ertelmezett be´all´ıt´as, m´asr´eszt mert b´arhol, egyetlen parancs be´ır´as´aval a´t´all´ıthatjuk az o¨sszes sz¨ uks´eges param´etert 8 pontosra. Ez persze a 10 pontosra is igaz. Ha bet˝ ut´ıpust akarunk v´altoztatni u ´ gy, hogy az megfeleljen az aktu´alis 10 ill. 8 pontos be´all´ıt´asnak, el´eg, ha az \rm, \it, \sl, \bf stb. parancsokat alkalmazzuk. Ha azonban az alap´ertelmez´est˝ol elt´er˝o bet˝ unagys´agot akarunk alkalmazni, meg kell adni, hogy a k´ıv´ant t´ıpus´ u bet˝ ub˝ol h´any pontosat szeretn´enk. Az al´abbi t´abl´azatban tal´alhatjuk azon parancsokat, amelyek a megfelel˝o fontk´eszletet aktualiz´alj´ak: A pontoknak megfelel˝ o parancsok 10 pt
9 pt
8 pt
7 pt
6 pt
\tenrm \tenbf \tenit \tensl \tensmc
\ninerm \ninebf \nineit \ninesl
\eightrm \eightbf \eightit \eightsl \eightsmc
\sevenrm \sevenbf \sevenit
\sixrm \sixbf
Fontos, hogy ezen parancsok haszn´alata eset´en csak a bet˝ uk nagys´ag´an´al hagyja figyelmen k´ıv¨ ul a 10 ill. 8 pontos be´all´ıt´ast, a sort´avols´ag, a matematikai karakterek stb. nagys´aga a be´all´ıtott marad.
´jl II. A st´ılusfa
AMS-TEX 145
Az AMS-TEX-ben haszn´alhat´o parancsok a´ltal´aban meghat´arozz´ak a parancs hat´ask¨or´en bel¨ ul nemcsak a bet˝ um´eretet, hanem a bet˝ ut´ıpust is. Ez egy standard, de b´armikor megv´altoztathat´o, ha a parancs hat´ask¨or´en bel¨ ul megadjuk a sz´amunkra k´ıv´anatos bet˝ um´eretet vagy bet˝ ut´ıpust. Ebben a le´ır´asban a parancsok bemutat´as´an´al a standard be´all´ıt´asokat alkalmazzuk. Ha az AMS-TEX-nek csak az alapform´atum´at, alapdefin´ıci´oit ´es alap matematikai defin´ıci´oit akarjuk haszn´alni, elegend˝o az amstex.tex f´ajlt beh´ıvni. \input amstex ha cikk tartalmai \bye vagy \end
vagy
\input amstex \document ha cikk tartalmai \enddocument
Ha azonban haszn´alni akarjuk az AMS-TEX sz¨ovegform´az´o parancsait, vagy a kib˝ov´ıtett matematikai parancsokat is (pl. u ´ j matematikai karaktereket), be kell t¨olten¨ unk az amsppt.sty f´ajlt is, amiben az amstex.tex parancsainak seg´ıts´eg´evel fel´ep´ıtett parancsok defin´ıci´oi vannak. L´athat´o, hogy az amsppt.sty nem haszn´ alhat´o az amstex.tex n´elk¨ ul. Bet¨olt´es´et v´egezhetj¨ uk az \input paranccsal is, de a st´ılusf´ ajl bet¨olt´es´ere szolg´al az AMS-TEX-nek egy k¨ ul¨on parancsa, a \documentstyle{hn´evi}, amely az adott nev˝ u, .sty kiterjeszt´es˝ u f´ajlt t¨olti be. Ebben az esetben a forr´asf´ajlunk szerkezete a k¨ovetkez˝ok´eppen alakul: \input amstex \documentstyle{amsppt} hbe´ all´ıt´ asok, saj´ at defin´ıci´ oki h \document a cikk tartalmai
A k´et makr´ogy˝ ujtem´eny beh´ıv´asa ut´an a sz¨oveget a \document . . . \enddocument parancsok k¨ oz´e ´ırjuk. A ford´ıt´o az \enddocument parancs ut´an ´ırtakat nem veszi figyelembe. \enddocument
Az – – –
amsppt.sty-ben vannak az AMS-TEX standard lapform´ atum-be´ all´ıt´ asai: a v´ızszintes lapm´eret: \pagewidth{30pc}, a f¨ ugg˝oleges lapm´eret: \pageheight{47pc}, a sort´avols´ag (\baselineskip) 10 pontos be´all´ıt´as eset´en 12 pt, 8 pontos
be´all´ıt´as eset´en 10 pt, – a \parindent=1pc, – az els˝o oldalon az AMS-TEX logo (Typeset by AMS-TEX), a l´abl´ecben k¨oz´epre illesztve a lapsz´am, a fejl´ec u ¨ res, – a p´aros oldalak fejl´ec´eben – amennyiben meg van adva – k¨oz´epre illesztve a szerz˝o neve, balra illesztve a lapsz´am, – a p´aratlan oldalak fejl´ec´eben k¨oz´epre illesztve a cikk c´ıme, jobbra illesztve a lapsz´am szerepel.
1 A cikk szerkezete
146 A S-T X M E
1. A cikk szerkezete Az amsppt.sty st´ılusf´ajlt els˝osorban matematikai, m˝ uszaki cikkek szed´es´ere k´esz´ıtett´ek, ´ıgy tartalmazza az ilyen cikkek leggyakrabban el˝ofordul´o elemeit. Ha haszn´alni akarjuk az AMSPPT lehet˝os´egeit, a forr´asf´ajlnak szerkezetileg h´arom f˝o r´esz´et k¨ ul¨on´ıthetj¨ uk el: 1. a makr´of´ajlok beh´ıv´asa ut´an a be´all´ıt´asok, defin´ıci´ok (preamble); 2. a c´ım r´esz” (tartalmazhatja a cikk c´ım´et, a szerz˝o nev´et stb.); ” 3. a cikk sz¨ovege.
1.1. Be´all´ıt´asok, defin´ıci´ok Ha valamilyen AMS-TEXparancsot a´t akarunk defini´alni, vagy az AMS-TEX f´ajljaiban be´all´ıtott param´eternek m´as ´ert´eket k´ıv´anunk adni, ezeket a defin´ıcio´kat, be´all´ıt´asokat az amstex.tex ´es az amsppt.sty f´ajlok bet¨olt´ese ut´an kell ´ırni. Ilyen be´all´ıt´o parancsok p´eld´aul a \pageno (PLAIN-beli parancs az oldalsz´amoz´as be´all´ıt´as´ara), \pagewidth, \pageheight (l´ asd I.1.1. Lapbe´all´ıt´asok), \TagsOnRight, \TagsAsMath (l´ asd I.2.2. Egyenletek sz´amoz´asa) stb.
1.2. A c´ım r´esz A cikkek a´ltal´aban a c´ım r´esszel kezd˝odnek. Ennek az AMSPPT-ben meghat´arozott form´atuma van, amelyet az AMSPPT parancsai vez´erelnek. Az al´abbiakban ezen parancsokr´ol lesz sz´o. A cikk c´ım r´esz´et l´etrehoz´o parancsokat a \topmatter \endtopmatter
utas´ıt´asok k¨oz´e kell z´arni. Ez a parancsp´ar helyezi el meghat´arozott sorrendben, megadott t´avols´agban a c´ım r´esz elemeit. A c´ım r´eszben meg lehet adni a cikk c´ım´et a \title . . . \endtitle parancsok k¨oz¨ott. Sort¨or´es a \\ dupla jellel lehets´eges. Ha a c´ım nem f´er el egy sorban, ´es nem adtunk meg a \\ -sel sorelv´alaszt´asi pontot, az AMS-TEX automatikusan sorokra t¨ordeli azt. P´eld´aul \title AZ AmSTeX \\ (Le\’\i r\’as kezd\H oknek) \endtitle
melynek eredm´enye: AZ AMS-TEX ´ KEZDOKNEK) ˝ (LE´IRAS A c´ım utols´o sora ut´an nem ´erdemes ki´ırni a sorelv´alaszt´o \\ jelet, mert az egy u ¨ res sort eredm´enyez. A parancs a c´ımben szerepl˝o sz¨oveget nagybet˝ uss´e alak´ıtja. A cikk szerz˝ oj´et (szerz˝ oit) az \author . . . \endauthor utas´ıt´asok
1.2. A c´ım r´ esz
AMS-TEX 147
k¨oz¨ott lehet megadni, mely a c´ım alatt jelenik meg \smc bet˝ ut´ıpussal. Az egyes sorokat ugyan´ ugy lehet elv´alasztani, mint a c´ımn´el (a \\ jellel). A szerz˝ o(k)re vonatkoz´ o inform´ aci´ okat az \affil . . . \endaffil parancsok k¨oz¨ott meg lehet adni; ez a szerz˝ok neve alatt, k¨oz´epen jelenik meg. A sort¨or´es automatikus, illetve a \\ jellel lehets´eges. A \date . . . \enddate utas´ıt´asp´ar k¨oz¨ott megadott d´ atumot k¨oz´epre, a szerz˝okre vonatkoz´o inform´aci´ok al´a ´ırja. Amennyiben a cikk elej´en van kivonat (abstract), annak speci´alis megjelen´ıt´esi form´aj´at az \abstract . . . \endabstract utas´ıt´ assal lehet el´erni, amely r¨ovid´ıtett sorokkal, 8 pontos be´all´ıt´assal a c´ım r´esz utols´o r´esze. Az Abstract.” sz´ot a pont” tal az AMS-TEX automatikusan megjelen´ıti. A parancsp´ar k¨oz¨ott 8 pontos param´eterekkel rendelkez˝o standard paragrafus m´od van, a sz¨oveget a TEX automatikusan t¨ordeli. Az Abstract.” ki´ır´ast letilthatjuk a \nofrills ” paranccsal: \abstract\nofrills . . . \endabstract. A k¨ osz¨ onetnyilv´ an´ıt´ as megjelen´ıt´es´ere szolg´al´o parancs a \thanks . . . \endthanks. A sz¨ oveg az els˝o oldalon l´abjegyzetk´ent fog megjelenni, term´eszetesen sz´amoz´as n´elk¨ ul. A z´ar´ojelek k¨oz¨ott paragrafus m´od van, a sz¨oveget a TEX automatikusan t¨ordeli. A \keywords . . . \endkeywords k¨oz´e ´ırt kulcsszavak automatikusan t¨ordelve szint´en az els˝o oldal sz´amozatlan l´abjegyzetek´ent fognak megjelenni, 8 pontos param´eterekkel. A megadott kulcsszavak el´e ki´ırja a Keywords and phrases.” ” sz¨oveget – ez letilthat´o a \nofrills paranccsal. Ha a Subject Classification Code-ot a \subjclass . . . \endsubjclass parancsp´ar k¨oz´e ´ırjuk, az szint´en az els˝o oldal sz´amozatlan l´abjegyzetek´ent fog megjelenni. Az a´ltalunk megadott k´od el´e ki´ırja az 1980 Mathematics Subject Clas” sification (1985 Revision).” inform´aci´os sz¨oveget, – ez letilthat´o a \nofrills paranccsal. Meg lehet adni a szerz˝ o c´ım´et az \address . . . \endaddress utas´ıt´asok k¨oz¨ott, mely a cikk legv´eg´ere fog ker¨ ulni, bet˝ um´erete 8 pontos, bet˝ ut´ıpusa \smc lesz. A parancsp´ ar k¨oz¨ott paragrafus m´od van, teh´at alkalmazhat´ok a \newline, a \par ´ es a \flushpar parancsok a sz¨oveg t¨ordel´es´ere. Ha t¨obb szerz˝o van, a c´ımeket c´elszer˝ u k¨ ul¨on \address \endaddress parancsp´arok k¨oz´e ´ırni. Ha a szerz˝oknek van e-mail c´ım¨ uk is, azt az \email . . . \endemail utas´ıt´asok k¨oz´e ´ırjuk. Ekkor az e-mail c´ım a legut´obb megadott \address ut´an ´ır´odik u ´ gy, hogy el˝otte megjelenik az E-mail:” felirat. Ez ut´obbi letilthat´o a \nofrills ” paranccsal. Az \address . . . \endaddress illetve az \email . . . \endemail parancsok k¨oz´e ´ırtakat az \enddocument parancs ´ıratja ki a cikk v´eg´ere. A c´ım r´esz azon tagjainak parancsait, melyek nem szerepelnek az adott k´eziratban, egyszer˝ uen ki kell hagyni. Teh´at a cikk eleje – ha annak itt le´ırt minden r´esz´ere sz¨ uks´eg¨ unk van – a k¨ovetkez˝ok´eppen alakul: \input amstex \documentstyle{amsppt} hbe´ all´ıt´ asok,
defin´ıci´ ok, mint \pagewidth \TagsOnRight , \define stb. i
148 A S-T X M E
1 A cikk szerkezete
\topmatter \title . . . \\ . . . \endtitle \author . . . \\ . . . \endauthor \affil . . . \\ . . . \endaffil \thanks . . . \endthanks \date . . . \enddate \keywords . . . \endkeywords \subjclass . . . \endsubjclass \address . . . \endaddress \email . . . \endemail \abstract . . . \endabstract \endtopmatter \document ha cikk t¨ orzsei \enddocument
Ha a cikk c´ım´enek ki´ırat´as´ahoz a \title, a szerz˝oj´enek megjelen´ıt´es´ere az \author parancsot alkalmaztuk, a cikk fejl´ ece a k¨ovetkez˝ok´eppen alakul: – a p´aros oldalak fejl´ec´enek k¨ozep´en lesz a szerz˝o neve 8 pontosan csupa nagybet˝ uvel, a fejl´ec bal oldal´an a lapsz´am; – a p´aratlan oldalak fejl´ec´eben (kiv´eve az els˝o oldalt, ahol a fejl´ec u ¨ res) lesz a cikk c´ıme 8 pontosan csupa nagybet˝ uvel, a fejl´ec jobb oldal´an a lapsz´am. Ha nem haszn´altuk sem a \title, sem az \author parancsot, a fejl´ecekben csak lapsz´amok lesznek. Ha nem akarunk fejl´ecet, a \NoRunningHeads parancsot a \topmatter el´e ´ırva kapunk egy PLAIN-lapform´atumot: a fejl´ec u ¨ res, a l´abl´ecben k¨oz´epen helyezkedik el a lapsz´amoz´as. A lapsz´am ki´ır´as´at a \NoPageNumbers paranccsal tilthatjuk le.
1.3. A cikk bels˝o tagol´asa A cikk tov´abbi o¨sszes r´esz´et a \document \enddocument
utas´ıt´asp´ar k¨oz´e kell ´ırni. A \document . . . \enddocument parancsoknak funkci´oi vannak (mint azt m´ar az el˝oz˝oekben l´athattuk), ´ıgy csak akkor hagyjuk el, ha ezekre nincs sz¨ uks´eg¨ unk. Matematikai cikkeknek a fejezetek tartalma szerinti tagol´as´ara t¨obb lehet˝os´eget k´ın´al az AMSPPT. ´Igy p´eld´aul a t´etelek (k¨ovetkezm´enyek), bizony´ıt´asok, defin´ıci´ok (p´eld´ak) eset´eben m´as-m´as parancsot lehet alkalmazni. Ebben a fejezetben ezekr˝ol lesz sz´o.
¨ vegr´ 1.3.3. Kiemelt szo esz
AMS-TEX 149
1.3.1. A FEJEZET C´IME A fejezet c´ım´enek megjelen´ıt´es´ere a \heading . . . \endheading parancsp´ar szolg´al, ami az egy sorn´al hosszabb fejezetc´ımet automatikusan sorokra t¨ordeli. Ha m´ashol akarunk sort¨or´est, annak hely´et a \\ jellel adhatjuk meg. Ezt a parancsot haszn´alva a fejezetc´ım bet˝ ut´ıpusa \smc lesz. P´eld´aul a A fejezet c´ıme ´ıgy k´ et soros lesz fejezetc´ımet a \heading A fejezet c\’\i me \’\i gy \\ k\’et soros lesz \endheading
m´odon a´ll´ıtottuk el˝o. Alatta ´es f¨ol¨otte megfelel˝o helyet hagy ki.
1.3.2. SZAKASZ C´IME A cikk alfejezeteinek c´ım´et a \subheading{ hc´ımi} parancs z´ar´ojelei k¨oz¨ott lehet megadni. A z´ar´ojelek k¨oz¨ott paragrafus m´od van, ´ıgy a \\ sort¨or˝o jel helyett a \newline, a \flushpar stb. parancsok alkalmazhat´ok. Ez a parancs a z´ar´ojelben megadott sz¨ovegr´esznek automatikusan \bf bet˝ ut´ıpust ad, ´es ut´ana automatikusan kitesz egy pontot. F¨ol¨otte helykihagy´as. Pl: \subheading{22\. A k¨ orlemez}Egydimenzi\’os t\’eteleink . . .
Ennek k´epe: 22. A k¨ orlemez. Egydimenzi´ os t´eteleink megfogalmaz´ as´ aban . . .
Az automatikus pontki´ır´as megsz¨ untethet˝o a \nofrills paranccsal. Azonban ez nemcsak a pontot, hanem a z´ar´ojelbe ´ırt sz¨oveg ut´ani sz´ok¨oz ki´ır´as´at is letiltja, ´ıgy, ha arra sz¨ uks´eg¨ unk van, azt k¨ ul¨on meg kell adnunk: \subheading\nofrills{Feljegyz\’esek 2:} Ez m\’ar a m\’asodik. Feljegyz´ esek 2: Ez m´ ar a m´ asodik.
¨ ´ 1.3.3. KIEMELT SZOVEGR ESZ Erre haszn´alhatjuk a \proclaim{hc´ımi} . . . \endproclaim parancsot. A z´ar´ojelek k¨oz¨ott megadott c´ım bet˝ ut´ıpusa \bf, ´es az itt megadott sz¨oveg ut´an automatikusan ki´ır egy pontot. A z´ar´ojel ut´ani sz¨ovegr´esznek \sl bet˝ ut´ıpust ad. P´eld´aul: \proclaim{T\’etel (Alapt\’etel)} Minden term\’eszetes sz\’am... \endproclaim
150 A S-T X M E
1 A cikk szerkezete
Ennek alakja: T´ etel (Alapt´ etel). Minden term´ eszetes sz´am . . .
A pont ´es a pont ut´ani sz´ok¨oz letilthat´o a \nofrills paranccsal.
´ ¨ ´ 1.3.4. NEM KIEMELT, EGYSEGESEN KEZELT SZOVEGR ESZ Ilyen p´eld´aul egy bizony´ıt´as, egy defin´ıci´o, egy p´elda, egy megjegyz´es. Bizony´ıt´ as megjelen´ıt´es´ere a \demo{ hc´ımi} . . . \enddemo utas´ıt´as szolg´al. A z´ar´ojelek k¨oz¨ott a bet˝ ut´ıpus \it lesz, ut´ana ki´ır egy pontot, a z´ar´ojel ut´an pedig az alap´ertelmez´esnek tekintett \rm a bet˝ ut´ıpus: \demo{Bizony\’\i t\’as}A 3.1\. t\’etel alapj\’an trivi\’alis. \enddemo Bizony´ıt´ as. A 3.1. t´etel alapj´ an trivi´ alis.
A pont ´es a pont ut´ani sz´ok¨oz letilt´as´ara alkalmazhat´o a \nofrills parancs. Ugyanilyen megjelen´est biztos´ıt a megjegyz´esek ´ır´as´ara szolg´al´o \remark . . . \endremark utas´ıt´ as. Defin´ıci´ ok ´ır´asa eset´en haszn´alhatjuk a \definition . . . \enddefinition utas´ıt´ast: \definition{2\. defin\’\i ci\’o}Egyenl\H o oldal\’u . . . \enddefinition 2. defin´ıci´ o. Egyenl˝ o oldal´ u h´ aromsz¨ ognek nevezz¨ uk . . .
A pont ´es a pont ut´ani sz´ok¨oz letilt´as´ara alkalmazhat´o a \nofrills parancs. Ugyanilyen megjelen´est biztos´ıt a megjegyz´esek ´ır´as´ara szolg´al´o \example . . . \endexample utas´ıt´ as.
´ 1.3.5. LISTA ´IRASA Term´eszetesen alkalmazhat´o a PLAIN-beli \item, azonban enn´el k´enyelmesebb kezel´es˝ u ´es harmonikusabb k´epet ny´ ujt´o parancs a \roster \item . . . \item . . . . . . \endroster .
K´enyelmes, mert ha az \item-ek ut´an nem ´ırunk jelet, automatikus sz´amoz´ast kapunk. Ezen k´ıv¨ ul az els˝o ´es utols´o listaelem sz¨ovege f¨ol¨ott illetve alatt egy kis helyet is hagy ki. A z´ar´ojelezett, automatikus sorsz´amoz´ast´ol elt´er˝o jel is megadhat´o, ha azt az \item"hjel i" id´ez˝ojelei k¨oz´e ´ırjuk. Tov´abbi el˝onyei f˝oleg \sl bet˝ ut´ıpus´ u k¨ornyezetben jelentkeznek:
´sa 1.3.5. Lista ´ıra
AMS-TEX 151
– A PLAIN-beli \item-mel ´ırt sz¨oveg bal sz´ele f¨ ugg˝oleges, m´ıg a \roster figyelembe veszi a bet˝ uk d˝ol´es´et, ez´ert a sz¨oveg bal sz´ele – lefel´e haladva – a bal lapsz´elhez k¨ozel´ıt, amivel egyenletesebb´e teszi a k´epet. – Az automatikus sz´amoz´as, illetve az id´ez˝ojelek k¨oz¨ott megadott, az automatikus sz´amoz´ast´ol elt´er˝o jel is \rm bet˝ ut´ıpussal jelenik meg. Egy p´elda a \roster alkalmaz´as´ara: ˝ s´ıt´ Mino esi szempontok (F˝ on¨ ok¨ ok a ´ltal meghat´ arozva)∗. Az alkalmazott fokozata – min˝ os´eg´et illet˝ oen (1) eg´eszen kiv´ al´ o, ha helyb˝ ol a ´tugrik egy felh˝ okarcol´ ot; (2) kiv´ al´ o, ha nekifut´ asb´ ol ugrik a ´t egy felh˝ okarcol´ ot; (3) megfelel˝ o, ha csak kisebb ´ep¨ uleteket ugrik a ´t; (4) jav´ıt´ asra szorul, ha o ¨sszet¨ ori az ´ep¨ uletet, amikor megpr´ ob´ alja a ´tugrani; (5) a minimumnak sem felel meg, ha ´eszre sem veszi az ´ep¨ uletet. A szempontok minden k¨ or¨ ulm´enyek k¨ oz¨ ott figyelembe veend˝ ok.∗
Ennek forr´asf´ajlbeli k´epe: \proclaim{Min\H os\’\i t\’esi . . . \rm(F\H on\"ok\"ok . . . )} Az alkalmazott fokozata ... \roster \item eg\’eszen kiv\’al\’o, ha ... \item kiv\’al\’o, ha ... \item megfelel\H o, ha ... \item jav\’\i t\’asra szorul, ha ... \item a minimumnak sem felel meg, ha ... \endroster A szempontok minden k\"or\"ulm\’enyek k\"oz\"ott ... \endproclaim
Ha a listaelemek automatikus sz´amoz´as´at nem 1-t˝ol akarjuk kezdeni, az els˝o \item ut´an sz¨ogletes z´ar´ojelben megadhatjuk a sz´amoz´as kezd˝o´ert´ek´et: \roster\item[hsz´ ami],
amely a sz´aml´al´ot a megadott hsz´ami-ra a´ll´ıtja. Ezt persze nemcsak az els˝o itemn´el tehetj¨ uk meg, hanem b´armelyikn´el. Ha a helyzet egy kicsit bonyolultabb: El˝ ofordulhat ez az eset is, hogy a felsorol´ as (1) els˝ o elem´et a sz¨ ovegbe akarjuk ´ırni folytat´ olagosan, (2) de a m´ asodikt´ ol m´ ar (3) a megszokott m´ odon. ∗ Egy
ismeretlen eredet˝ u f´enym´ asolt lapr´ ol plagiz´ alva.
152 A S-T X M E
´bjegyzet 2 A la
Ekkor a \roster els˝o \item-je helyett \runinitem-et kell ´ırnunk. Ez nemcsak azt a v´altoz´ast eredm´enyezi, hogy az els˝o listaelemet folytat´olagosan szedve kapjuk, hanem a m´asodik f¨ol¨ott elmarad a plusz helykihagy´as, ´ıgy az nem szakad el” az els˝ot˝ol: ” ... a felsorol\’as \roster \runinitem els\H o elem\’et a sz¨ ovegbe . . . \item de a m\’asodikt\’ol m\’ar \item a megszokott m\’odon. \endroster
A \runinitem-n´el is alkalmazhat´o a \runinitem[ hsz´ami] forma az automatikus sz´amoz´as kezd˝o´ert´ek´enek be´all´ıt´as´ara, illetve a \runinitem" hjel i", ha nem akarunk automatikus sz´amoz´ast.
2. A l´abjegyzet A PLAIN \footnote parancsa az amstex.tex f´ajlban le van tiltva, mert az itt a´tdefini´al´asra ker¨ ult. Ha valaki m´egis a megszokott PLAIN-beli l´abjegyzetparancsot szeretn´e alkalmazni, megteheti a \plainfootnote paranccsal. Az AMSPPT-ben defini´alt l´abjegyzetekr˝ol ´erdemes r´eszletesen besz´elni. A PLAIN-b˝ol ismert \footnote parancsnak itt t¨obb, k´enyelmesebb v´altozata tal´alhat´o meg, melyek szintaktik´aja elt´er a PLAIN-ben defini´alt´et´ol. 1. Ha automatikus sz´ amoz´ ast akarunk a l´abjegyzetre, a \footnote{hsz¨ ovegi}
parancsot kell alkalmaznunk. Teh´at ebben az esetben 1 az al´abbiakat kell ´ırni: . . . az esetben\footnote{Az els\H o l\’abjegyzet.} az al´ abbiakat kell \’\i rni . . .
Ha t¨obb ilyen is van2 , az AMS-TEX a cikk elej´et˝ol kezd˝od˝oen automatikusan sz´amozza ezeket. . . . ilyen is van\footnote{Ez kettes sorsz\’am\’u m\’ar.}, az \AmSTeX\ a cikk . . .
2. Ha az automatikust´ ol elt´er˝ o sz´ amot akarunk adni a l´abjegyzetnek 15 , akkor azt [ ] sz¨ogletes z´ar´ojelek k¨oz´e kell ´ırnunk. Szintaktik´aja: 1 Az
els˝ o l´ abjegyzet. kettes sorsz´ am´ u m´ ar. 15 Nem automatikus sorsz´ am´ u.
2 Ez
´bjegyzet 2 A la
AMS-TEX 153
\footnote[hsz´ ami]{hsz¨ ovegi}
P´eld´aul: . . . a l\’abjegyzetnek\footnote[15]{Nem automatikus sorsz\’am\’u.}, akkor . . .
Ekkor azonban azzal sz´amolnunk kell, hogy – ha van automatikusan sz´amozott l´abjegyzet¨ unk is – az ´ıgy megadott l´abjegyzetet az automatikus sz´amoz´asn´al nem veszi figyelembe. 3. Ha nem akarunk sz´ amot ´es semmif´ele jelet adni a l´abjegyzetnek, teh´at nem helyhez k¨ot¨ott a megjegyz´es, akkor a sz¨ovegben tetsz˝oleges helyen meg lehet adni a megjegyz´es sz¨oveg´et, csak arra kell u ¨ gyelni, hogy a k´ıv´ant oldalra es˝o sz¨ovegr´eszben szerepeljen. A megad´as helye csak a l´abjegyzetek ki´ır´asi sorrendj´et v´altoztathatja meg. Form´aja: \footnotetext" "{hsz¨ ovegi}
P´eld´aul: . . . a megjegyz\’es\footnotetext""{Megjegyz\’es}, akkor . . .
4. Ha valamilyen egy´eb jelet akarunk adni a l´abjegyzetnek, annak sz¨ovegbeli jel´et a k´ıv´ant helyen a \footnotemark"hjel i"
paranccsal kell megadni. Sz¨oveg´et pedig a \footnotetext"hjel i"{hsz¨ ovegi}
paranccsal, ahol a h jel i hely´en meg kell adniα..ω , hogy a l´abjegyzetben mit ´ırjon a sz¨oveg el´e, a hsz¨ovegi hely´en pedig a megjegyz´es sz¨oveg´et. (1. Figyelem!) Ha azt akarjuk, hogy a l´abjegyzetben a jel indexk´ent jelenjen meg, a matematikai m´od indexel´es´et kell haszn´alnunk akkor is, ha a jelben nincs matematikai karakter, ugyanis az nem ker¨ ul automatikusan indexbe: . . . meg kell adni\footnotemark"$^{\alpha..\omega}$" \footnotetext"$^{\alpha..\omega}$" {Az $\alpha..\omega$ megjegyz\’es.}, hogy a . . .
illetve Megjegyz´es α..ω Az
α..ω megjegyz´ es.
(1.1. Figyelem!) Ilyen
esetben azonban vigy´ aznunk kell arra, hogy ugyanazt a jelet ´ırjuk mindk´et parancsba, k¨ ul¨ onben ´eppen ilyen zavar keletkezhet a sz¨ oveg¨ unkben is.
154 A S-T X M E
3 Az irodalomjegyz´ ek
. . . sz\"oveg\’et.\footnotemark"$^{\text{(1. Figyelem!)}}$" \footnotetext"$^{\text{(1.1. Figyelem!)}}$" {Ilyen esetben azonban . . . }
Ez a parancs akkor is nagyon hasznos, ha valamilyen dobozb´ol akarunk ki´ırni”. P´eld´aul gondunk lehet, ha egy \vbox-ban szerepl˝o sz¨oveghez ” akarunk l´abjegyzetet ´ırni. Ekkor a \vbox-ban csak a \footnotemark-ot kell megadnunk, el˝otte vagy ut´ana megadhatjuk a megjegyz´es sz¨oveg´et. Ha a \topmatter . . . \endtopmatter utas´ıt´asok k¨oz¨ott l´ev˝o sz¨oveghez akarunk l´abjegyzetet ´ırni, ´erdemesebb ott csak a \footnotemark-ot megadni, sz¨oveg´et pedig a \document parancs ut´an. A l´abjegyzetben a 8 pontos (\eightpoint) be´all´ıt´as az alap´ertelmezett. Figyelni kell a l´abjegyzetek el˝otti ´es ut´ani sz´ok¨oz¨ok elhelyez´es´ere. Ez nem csak az AMS-TEX \footnote parancsain´al megsz´ıvlelend˝o. – Ha olyan l´abjegyzetparancsot haszn´alunk, ami a sz¨ovegben az adott helyre valamilyen jelet ´ır ki, a sz´o ´es a l´abjegyzetparancs k¨oz¨ott ne hagyjunk sz´ok¨ozt, mert az a sz´ok¨oz a sz¨ovegben is megjelenik, elszak´ıtva a sz´ot ´es a jelet egym´ast´ol! Ez nemcsak hogy nem sz´ep, de el˝ofordulhat soremel´es k¨oz¨ott¨ uk, ami viszont m´ar kifejezetten zavar´o. – A l´abjegyzetparancsot z´ar´o z´ar´ojel ut´an – hacsak nem ´ır´asjel k¨oveti – hagyjunk mindenk´eppen sz´ok¨ozt, mert ez lesz a sz¨ovegbeli sz´ok¨oz! Az AMS-TEX \footnotemark parancs´aval vigy´aznunk kell, mert a z´ar´o id´ez˝ojel ut´ani sz´ok¨ozt figyelmen k´ıv¨ ul hagyja, ´ıgy ha ott m´egis akarunk sz´ok¨ozt hagyni, azt ott jel¨oln¨ unk kell (pl. a ~ , a \ vagy \space be´ır´as´aval)!
3. Az irodalomjegyz´ek 3.1. Az irodalomjegyz´ek Az irodalomjegyz´ek elk´esz´ıt´es´ehez az AMSPPT sok olyan parancsot k´ın´al, melyek munk´ankat nagym´ert´ekben leegyszer˝ us´ıtik. Ezek a parancsok a hivatkoz´asok megfelel˝o r´eszeit egy el˝ore meghat´arozott sorrend szerint ´es bet˝ ut´ıpussal ´ırj´ak ki, az egyes r´eszeket ‘ . ’-tal, ‘ , ’-vel illetve ‘ ; ’-vel elv´alasztva. A hivatkoz´asi t´eteleket a \Refs ´es az \endRefs parancsok k¨oz´e kell z´arni. A parancsok k¨oz¨ott 8 pontos a be´all´ıt´as. A \Refs parancs hat´as´ara k¨oz´epen megjelenik a References” felirat. Ez letilthat´o a \nofrills paranccsal, illetve ” ha m´as sz¨oveget k´ıv´anunk ´ırni, azt a \nofrills ut´an z´ar´ojelben kell megadni: \Refs\nofrills{Irodalomjegyz\’ek}. Ezut´ an lehet felsorolni az irodalomjegyz´ek cikkeit, azok adatait. Egy konkr´et cikk adatait a
3.1. Az irodalomjegyz´ ek
\ref ...
AMS-TEX 155
\endref
parancsok k¨oz´e kell z´arni. A referenci´ak nem a sorsz´amok, hanem a forr´assz¨ovegbeli fizikai sorrend szerint jelennek meg. A referencia parancsai: A cikk irodalomjegyz´ekbeli jel´et a \no parancs ut´an kell megadni. Ez a legegyszer˝ ubb esetben egy sz´am, de meg lehet adni egy´eb jelet is (pl. \no 3 vagy \no P). A \no parancs u ´ gy m˝ uk¨odik, mint az \item, teh´at adott sz´eless´eg˝ u r´eszt hagy a lap bal sz´el´en a jelnek, ´es a jel ut´an ki´ır egy pontot. Ha enn´el hosszabb hivatkoz´asi jeleink vannak, haszn´alhatjuk a \key parancsot, amelyn´el a sz¨ovegbe beny´ ulhat a hivatkoz´as jele, ´es elmarad a pont ki´ır´asa. A cikk szerz˝ oj´et (szerz˝oit) a \by parancs ut´an kell ´ırni. A szerkeszt˝o(k) neve az \ed (\eds) ut´an ´ırand´o. A cikk c´ıme a \paper parancs ut´an adhat´o meg. Ha a cikk foly´oiratban jelent meg, a foly´ oirat nev´et a \jour, ´evfolyam´at a \vol parancs ut´an adhatjuk meg. Ha k¨onyvre hivatkozunk, a k¨ onyv c´ım´et a \book parancs ut´an ´ırhatjuk, k¨otetsz´am´at a \vol ut´an. A kiad´ o nev´et a \publ; a kiad´ o c´ım´et a \publaddr parancs ut´an kell megadnunk; a k¨onyv, foly´oirat megjelen´es´enek ´evsz´ am´ at pedig a \yr parancs ut´an. (Ha elfelejtett¨ uk megadni az adott referenci´aban a \jour vagy a \book parancsok valamelyik´et, a \yr ´es a \page parancs ut´an ´ırtak nem jelennek meg, azonban err˝ol hiba¨ uzenetet nem kapunk.) Azt, hogy a megjel¨olt cikk a foly´oiratnak (k¨onyvnek) hanyadik oldal´ an tal´alhat´o, a \page vagy \pages parancs ut´ an kell megadni. Ha sz¨ uks´eges megjel¨olni, hogy milyen nyelv˝ u az illet˝o cikk vagy k¨onyv, azt a \lang parancs ut´an ´ırjuk. M´eg egy nagyon fontos utas´ıt´assal kell foglalkoznunk a referenci´ak t´argyal´as´an´al, ez a \moreref utas´ıt´as. Ezt akkor kell alkalmaznunk, ha egy jellel jelzett referencia k´et vagy t¨obb cikkre is tartalmaz hivatkoz´ast, vagy egy cikk, k¨onyv t¨obb megjelen´esi hely´et is tartalmazza. Ilyenkor a \moreref utas´ıt´assal kell elv´alasztani ezeket egym´ast´ol. Nagyon fontos, hogy a referencia egy adott r´esz´eben egyszerre csak egy \jour vagy egy \book utas´ıt´ as ´ırhat´o. Ha m´egis t¨obbet akarunk, vagy mind a k´et f´el´et, azokat a \moreref utas´ıt´assal el kell v´alasztani. A k¨ovetkez˝o p´eld´aban a fent felsoroltakon k´ıv¨ ul is tal´alhat´o p´ar parancs, ezek az inform´ aci´ ok: \paperinfo, \bookinfo, \finalinfo. Nev¨ uk utal arra, hogy a referencia melyik r´esz´ehez lehet inform´aci´os r´eszt ´ırni vel¨ uk. Megjelen´es alatt: \toappear. P´elda irodalomjegyz´ek¨ unket a k¨ovetkez˝o parancsokkal a´ll´ıtottuk el˝o: \Refs \ref\no 2\by A szerz\H o neve \paper A cikk c\’\i me \publ A kiad\’o I. \publaddr A kiad\’o c\’\i me \book A k\"onyv c\’\i me \bookinfo A k\"onyvre vonatkoz\’o inform\’aci\’o(k)
3 Az irodalomjegyz´ ek
156 A S-T X M E
\yr 1990 \pages 200--208 \moreref \paper II. M\’asodik hivatkoz\’as -- a cikk c\’{\i}me \paperinfo A cikkre vonatkoz\’o inform\’aci\’o(k) \finalinfo V\’eg\’ere \’{\i}rand\’o sz\"oveg \jour A foly\’oirat, amiben megjelent az \’{\i}r\’as \publ Kiad\’o II. \publaddr A kiad\’ o c\’\i me \vol 51 \yr1991 \pages 2--15 \endref \ref\no [D--K]\by Z.~Dar\’oczy, I.~K\’atai \pages 337--347 \paper Interval filling sequences and additive functions \jour Acta Sci\. Math\. \yr 1988 \vol 52 \endref \ref\key [KNUTH] \by D. E. Knuth \book The \TeX book \publ Addison-Wesley \publaddr New York \yr 1992 \endref
amelyek a k¨ovetkez˝ok´eppen jelennek meg: References 2. A szerz˝ o neve, A cikk c´ıme, A k¨ onyv c´ıme, A k¨ onyvre vonatkoz´ o inform´ aci´ o(k), A kiad´ o I., A kiad´ o c´ıme, 1990, pp. 200–208; II. M´ asodik hivatkoz´ as – a cikk c´ıme, A cikkre vonatkoz´ o inform´ aci´ o(k), A foly´ oirat, amiben megjelent az ´ır´ as 51 (1991), 2–15, Kiad´ o II., A kiad´ o c´ıme. V´eg´ere ´ırand´ o sz¨ oveg [D–K]. Z. Dar´ oczy, I. K´ atai, Interval filling sequences and additive functions, Acta Sci. Math. 52 (1988), 337–347. [KNUTH] D. E. Knuth, The TEXbook, Addison-Wesley, New York, 1992.
A m´asodik referenci´aban l´athat´o, hogy a D–K jel az oldal bal sz´el´en kil´og”, ” ´es egy f¨ol¨osleges pont is megjelenik ut´ana. Ilyen esetekben haszn´aljuk a harmadik hivatkoz´asban l´athat´o \key utas´ıt´ast!
3.2. Hivatkoz´as irodalomjegyz´ekre Ha valamely irodalomjegyz´ekbeli cikkre hivatkozunk, annak sz´am´at illetve jel´et a \cite{h jel i} parancs z´ar´ojelei k¨oz´e ´ırhatjuk. P´eld´aul: \cite{3} illetve \cite{PZ--D}
Ezek megjelen´esi form´aja a sz¨ovegben: [3] illetve [PZ–D]. Mind az argumentum mind a z´ar´ojel \rm bet˝ ut´ıpussal jelenik meg m´as bet˝ ut´ıpus´ u k¨ornyezetben is.
1.1. Matematikai ´ ekezetek
AMS-TEX 157
III. F¨ uggel´ek 1. M´ odos´ıt´asok, adal´ekok Az itt tal´alhat´o jelek, parancsok egy r´esze AMS-TEX n´elk¨ ul is haszn´alhat´o. Ism´etelt megjelen´ıt´es¨ uket az indokolta, hogy t´ ul sok lett volna az utal´as a PLAIN idevonatkoz´ o r´eszeire, mert majdnem minden r´esznek van kieg´esz´ıt´ese, illetve bizonyos m´odos´ıt´asok sok helyen el˝ofordulnak. M´asr´eszt esetleg u ´ gy t˝ unhetne, hogy a fel nem soroltak az AMS-TEX-hel egy¨ utt nem alkalmazhat´ok. A + − = < > | / ( ) [ ] ´es ∗ matematikai jelek a megfelel˝o billenty˝ ukkel bevihet˝ok. A \vert, \lbrack, \rbrack, \lbrace, \rbrace ´es \ast parancsok alkalmazhat´ok az |, [, ], \{, \} ´es * jelek, parancsok beg´epel´ese helyett.
1.1. Matematikai ´ekezetek
\tilde a
´a `a ¯a ˘a ˇa ˆa ˜a
\vec a
~a
\dot a
a˙
\ddot a
¨a ... a ....
\acute a \grave a \bar a \breve a \check a \hat a
\dddot a \ddddot a
a
Az itt felsorolt parancsok mindegyik´enek (kiv´eve a \dddot ´es \ddddot parancsokat) megtal´alhat´o az AMS-TEX-ben a nagybet˝ uvel kezd˝od˝o v´altozata. Az \Acute, \Check, \Ddot,
\Grave, \Hat, \Vec,
\Bar, \Tilde,
\Breve, \Dot,
parancsok a megfelel˝o kisbet˝ us parancs a´ltal el˝oa´ll´ıtott jeleket helyezik egym´as f¨ol´e. Nem igaz´an csodasz´ep, ha a kisbet˝ us v´altozatukat alkalmazzuk: ˜
ˆ $\tilde{\hat A}$ −→ A;
´ dos´ıta ´sok, adal´ 1 Mo ekok
158 A S-T X M E
a nagybet˝ useket haszn´alva: ˜
ˆ $\Tilde{\Hat A}$ −→ A. Ha a ´ , ` , − , ˘ , ∨ , b, ∼ , → , . , .. , ... ´es .... jeleket valami mell´e fels˝o indexbe akarjuk ´ırni, gondjaink lehetnek. Azonban erre az esetre rendelkez´es¨ unkre a´llnak a k¨ovetkez˝o parancsok: \spacute, \spcheck, \spdot,
\spgrave, \sphat, \spddot,
\spbar, \sptilde, \spdddot,
\spbreve, \spvec, \spddddot.
Haszn´alatuk: d∨ Mb
$d\,\spcheck$ $M\sphat$
enn´el eleg´ansabb a
d∼ Mb
$\sideset \and\sptilde \to d$ $\sideset \and\sphat \to M$
megold´as.
A \hat ´es a \tilde parancsokkal el˝oa´ll´ıtott ´ekezetek kicsinys´eg¨ uk miatt ´ ˆ . Ujabb egyes esetekben nem eszt´etikusak: M probl´em´at jelent az az eset, amikor ezeket a jeleket t¨obb karakter f¨ol´e kell helyezn¨ unk. Ilyen esetekben haszn´alhatjuk a \widehat ´es a \widetilde parancsokat, amelyek sz´elesebb jelet eredm´enyeznek, ´es egy bizonyos hat´arig m´eret¨ uk igazodik az argumentumhoz: c M d MN f M g MN
$\widehat M$ $\widehat {MN}$ $\widetilde M$ $\widetilde{MN}$
1.2. R´egi ´ır´asm´od´ u sz´amok
A PLAIN \oldstyle fontk´eszletv´alt´o parancsa helyett haszn´alhat´o az \oldnos parancs, amely csak az o˝t k¨ovet˝o els˝o karakterre, illetve csoportra van hat´assal: $1\oldnos 01$ $\oldnos{0123456789}$
−→ −→
11
Ez is, ak´arcsak az \oldstyle, haszn´alhat´o mind matematikai, mind sz¨oveg m´odban egyar´ant.
´ t betu ˝k 1.4. Go
AMS-TEX 159
1.3. G¨or¨og bet˝ uk A l´etez˝o g¨or¨og bet˝ uk ´es neveik: α β γ δ ε ζ η
\alpha \beta \gamma \delta \epsilon \varepsilon \zeta \eta
Γ \Gamma ∆ \Delta Θ \Theta
θ ϑ ι κ λ µ ν ξ
\theta \vartheta \iota \kappa \lambda \mu \nu \xi
Λ \Lambda Ξ \Xi Π \Pi
o π $ ρ % σ ς τ
o \pi \varpi \rho \varrho \sigma \varsigma \tau
Σ \Sigma Υ \Upsilon Φ \Phi
υ φ ϕ χ ψ ω
\upsilon \phi \varphi \chi \psi \omega
Ψ \Psi Ω \Omega
A \varkappa ´es a \digamma parancsok csak akkor haszn´alhat´ok, ha be vannak ´ karakterek). t¨oltve az amssym nev˝ u f´ajlok (l´ asd III.2. Uj A g¨or¨og nagybet˝ uknek a standardon k´ıv¨ ul a d˝olt v´altozata is megtal´alhat´o az AMS-TEX karakterei k¨oz¨ott: Γ \varGamma ∆ \varDelta Θ \varTheta
Λ \varLambda Ξ \varXi Π \varPi
Σ \varSigma Υ \varUpsilon Φ \varPhi
Ψ \varPsi Ω \varOmega
Az itt felsorolt minden parancs csak matematikai m´odban haszn´alhat´o.
1.4. G´ot bet˝ uk Ha a st´ılusf´ajlt nem haszn´aljuk, akkor a forr´asf´ajlba az amstex.tex f´ajl bet¨olt´ese ut´an be´ırjuk a \loadeufm parancsot, ami biztos´ıtja sz´amunkra, hogy matematikai kifejez´esekben g´ot bet˝ uket is ´ırhassunk. G´ot bet˝ u ´ır´as´ara a \frak parancs szolg´al, amely az o˝t k¨ovet˝o csoportban l´ev˝o bet˝ uket g´ott´a alak´ıtja: $\frak Az\ne\frak{Az}$
:
Az 6= Az
A g´ot bet˝ uk sorban: $\frak{A . . . Z a . . . y 01 . . . 9}$: A B C D E F G H I J K L M N O P Q R S T U V Z X Y a b c d e f g h i j k l m n o p q r s t u v z x y 0 1 2 3 4 5 6 7 8 9
A \frak mellett haszn´alhat´o a \goth parancs is. Mindk´et parancs azonban csak matematikai m´odban m˝ uk¨odik.
´ dos´ıta ´sok, adal´ 1 Mo ekok
160 A S-T X M E
A k¨ovetkez˝o t´abl´azatban tal´aljuk azokat a parancsokat, amelyek bet¨oltik a k¨ ul¨onb¨oz˝o g´ot fontk´eszleteket. Ezek k¨oz¨ ul a \loadeufm parancsot az amsppt.sty tartalmazza, a t¨ obbit sz¨ uks´eg eset´en f´ajlunk elej´ere – az \input amstex ut´an – be kell ´ırni. A t´abl´azat m´asodik oszlop´aban a fontk´eszlet jellege tal´alhat´o, m´ıg a harmadik oszlopban azokat a parancsokat soroltuk fel, amelyeket az illet˝o bet¨olt˝o parancs haszn´alhat´ov´a tesz: G´ ot bet˝ uk Bet¨ olt˝ o parancs
\loadeufm \loadeufb \loadeurm \loadeurb \loadeusm \loadeusb
´ parancsok Uj
Megnevez´es
Euler Euler Euler Euler Euler Euler
Fraktur k¨ozepes Fraktur k¨ov´er kurz´ıv k¨ozepes kurz´ıv k¨ov´er index k¨ozepes index k¨ov´er
\teneufm \teneufb \teneurm \teneurb \teneusm \teneusb
\seveneufm \seveneufb \seveneurm \seveneurb \seveneusm \seveneusb
\fiveeufm \fiveeufb \fiveeurm \fiveeurb \fiveeusm \fiveeusb
1.5. Kalligrafikus bet˝ uk A PLAIN kalligrafikus fontk´eszletre v´alt´o \cal parancsa az AMS-TEX-ben le van tiltva, helyette a \Cal haszn´alhat´o, amely csak az o˝t k¨ovet˝o els˝o karakter (illetve csoport) bet˝ ut´ıpus´at v´altoztatja a´t. Csak matematikai m´odban, a PLAIN-hez hasonl´ oan kiz´ar´olag az angol a´b´ec´e nagybet˝ uire alkalmazhat´o. Ha csak egy bet˝ ut akarunk kalligrafikusan ´ırni: $\Cal A, \dots ,\Cal Z$
−→
A, . . . , Z.
Ha t¨obbet is, a \Cal parancs t¨obbsz¨ori ki´ır´asa helyett alkalmazhatjuk a z´ar´ojelez´est: $\Cal{ABC . . . Y}$ A B C D E F G H I J K L M N O P Q R S T U V Z X Y
1.6. K¨ov´er matematikai karakterek Ahhoz, hogy k¨ov´er matematikai karaktereket tudjunk ´ırni, az els˝o teend˝onk az, hogy a forr´asf´ajlba az amstex.tex f´ajl bet¨olt´ese ut´an be´ırjuk a \loadbold parancsot. Az itt ismertet´esre ker¨ ul˝o \boldkey ´es \boldsymbol parancsok csak egyetlen karakterre, illetve szimb´olumra alkalmazhat´ok.
˝ ´ 1.6.1. BETUK, SZAMOK Ha bet˝ unek, sz´amnak vagy a billenty˝ uzetr˝ol k¨ozvetlen¨ ul beg´epelhet˝o nem vez´erl˝o karakternek vastag´ıtott v´altozat´ara van sz¨ uks´eg¨ unk, a \boldkey parancsot haszn´alhatjuk.
´torok (mu ˝veleti jelek) 1.7. Bin´ er opera
AMS-TEX 161
Elt´er´esek a \bold parancst´ol: – bet˝ uk eset´en meg˝orzi a bet˝ uk d˝olts´eg´et, – a nem bet˝ u karaktereket is megvastag´ıtja: $\boldkey a \boldkey 1$ $\boldkey ] \boldkey +$
: :
a1 ]+
´ 1.6.2. SZIMBOLUMOK Ha olyan szimb´olumnak szeretn´enk haszn´alni a megvastag´ıtott v´altozat´at, amelyek megjelen´ıt´ese csak paranccsal lehets´eges (pl. π ), a \boldsymbol parancsot kell haszn´alnunk: $\boldsymbol \pi\boldsymbol \psi$ $\boldsymbol\}\boldsymbol\le$
: :
πψ }≤
1.7. Bin´er oper´atorok (m˝ uveleti jelek) Az itt felsorolt bin´er oper´atorok az AMS-TEX n´elk¨ ul is alkalmazhat´ok: ± ∓ \ · × ∗ ? ◦ • ÷
\pm \mp \setminus \cdot \times \ast \star \diamond \circ \bullet \div
∩ ∪ ] u t / . o
4 5
\cap \cup \uplus \sqcap \sqcup \triangleleft \triangleright \wr \bigcirc \bigtriangleup \bigtriangledown
∨ ∧ ⊕ ⊗ † ‡ q
\lor \land \oplus \ominus \otimes \oslash \odot \dagger \ddagger \amalg & \and
Az \ast parancssz´o helyett haszn´alhat´o a billenty˝ uzetr˝ol be´ırhat´o * karakter. Bin´er oper´atorok alkalmaz´asakor (ha van el˝otte ´es ut´ana operandus), az els˝o operandus ut´an ´es a m´asodik operandus el˝ott nagyobb (egy-egy \; -nyi) helyet kapunk: $ A\pm B $
−→
A ± B.
Van, amikor az ´ır´ask´ep a´ttekinthet˝obb, ha a plusz helykihagy´ast elhagyjuk. P´eld´aul az x+y = b+c formul´at ilyen m´odon ´ırva (a + jel k¨or¨ uli helykihagy´as n´elk¨ ul), az ´ır´ask´ep jobb lett, mint x + y = b + c m´odon, helykihagy´assal. Az els˝o esetben a + jeleket z´ar´ojelek k¨oz´e tett¨ uk: $ x{+}y=b{+}c $
−→
x+y = b+c
´ dos´ıta ´sok, adal´ 1 Mo ekok
162 A S-T X M E
Ha csak egy operandus a´ll mellette, helykihagy´as nincs: $-c=\frac12$ eredm´enye −c = 21 ; s˝ot $a-b=-c$ −→ a − b = −c.
1.8. Rel´aci´os jelek Haszn´alatukra ugyanaz igaz, mint a bin´er oper´atorokn´al: p´eld´aul a \mid el˝ott ´es ut´an nagyobb helykihagy´as van, mint az ugyanolyan jelet eredm´enyez˝o \vert-n´ el: |a|b illetve a | b $\vert a\vert b$ illetve $a\mid b$. ≤ ≺ ⊂ ⊆ v ∈ ` ^ _ 6=
\leq \prec \preceq \ll \subset \subseteq \sqsubseteq \in \vdash \smile \frown \ne
≥ ⊃ ⊇ w 3 a | k ∈ /
\geq \succ \succeq \gg \supset \supseteq \sqsupseteq \ni \dashv \mid \parallel \notin
≡ ∼ ' ≈ ∼ =
\equiv \sim \simeq \asymp \approx \cong ./ \bowtie ∝ \propto |= \models . = \doteq ⊥ \perp
A neg´al´ast b´armelyikn´el elv´egezhetj¨ uk a \not paranccsal (\not\subset eredm´enye a 6⊂), de a poz´ıcion´al´as nem mindig ide´alis. ´Igy jobb – amennyiben l´etezik – a neg´alt jeleket haszn´alni: pl. a \notin-t [∈ / ] a \not\in [6∈ ] helyett.
1.9. Tov´abbi, extra jelek Gyakran ´es ritk´an haszn´alt jelek egyar´ant szerepelnek itt. A \P, az \S, a \dag ´es a \ddag parancsok mindegyike mind sz¨oveg, mind matematikai m´odban, a t¨obbi parancs azonban kiz´ar´olag matematikai m´odban haszn´alhat´o. 0 ∅ ∇ ∂ ∞ ∫ | k ∠ \ ∀ ∃
\prime \emptyset \nabla \partial \infty \smallint \vert \Vert \angle \backslash \forall \exists
ℵ ~ ı ` ℘ < = ¶ > ⊥ ¬
\aleph \hbar \imath \jmath \ell \wp \Re \Im \P \top \bot \neg
§ \S † \dag ‡ \ddag √ \surd 4 \triangle [ \flat \ \natural ] \sharp ♣ \clubsuit ♦ \diamondsuit ♥ \heartsuit ♠ \spadesuit
´ltoztathato ´ m´ ˝ jelek 1.10. Va eretu
AMS-TEX 163
Matematikai kifejez´esekben szerencs´esebb alkalmazni a \ell parancs a´ltal ki´ırt ` jelet, mint a matematikai m´ od´ u l bet˝ ut (l), mert ezzel kapjuk a matematik´aban oly gyakran haszn´alt ´ırott ` -et. Az \imath ´es \jmath jelek haszn´alat´ara a´ltal´aban akkor van sz¨ uks´eg, ha a pont helyett valamilyen m´as ´ekezetet akarunk az i ´es j bet˝ ukre tenni: a $\hat\imath$ adja az ˆı-t. L´athat´ok olyan jelek is a felsorol´asban, amelyek az oper´atorok illetve a rel´aci´ojelek k¨oz¨ott m´ar szerepeltek. Ilyen p´eld´aul a \backslash, amelynek a p´arja a \setminus. Ezek k¨oz¨ott funkci´obeli k¨ ul¨onbs´eg van: az itt felsoroltak csak jelki´ır´o parancsok, nem rendelkeznek az oper´atorokra, illetve a rel´aci´ojelekre jellemz˝o tulajdons´agokkal. $N\backslash M\quad N\setminus M$ −→ N \M N \ M . A k¨ ul¨onbs´eg j´ol l´athat´o. Fels˝o indexben a \prime jel helyettes´ıthet˝o a ’ jellel, de ez ut´obbit nem szabad fels˝o indexbe tenni: $p^\prime\ p’$ −→ p 0 p0 .
1.10. V´altoztathat´o m´eret˝ u jelek Az itt felsorolt jelek mindegyik´enek m´erete megv´altoztathat´o a \left, \right parancsokkal. A hi´anyz´o jel \left. illetve \right. m´odon jel¨olhet˝o. Alkalmazhat´ok a \big, \bigm, \bigl, \bigr, \Big, \Bigm, \Bigl, \Bigr stb. parancsok is. ( ( ) )
[ \lbrack, [ ] \rbrack, ]
b \lfloor
d \lceil
c \rfloor | \vert, |
\ \backslash
{ \lbrace, \{ } \rbrace, \} h \langle
e \rceil k \Vert, \|
i \rangle / /
A \left\langle ´es \right\rangle parancsokkal egyen´ert´ek˝ u a \left< ´es a \right> forma. P´ eld´aul: $$ \left[\sum_{i=1}^n a_i+b_j\right> \cdot\biggl\{\bar X_1^2\biggr\} $$
"
n X i=1
+ ¯ 12 ai + b j · X
Az o¨sszes le- ´es felmutat´o ny´ıl is ide tartozik. P´eld´aul: $$ \left\downarrow\sum_{i=1}^n a_i+b_j \right\uparrow \cdot\left\lfloor\bar X_1^2\right. $$
x n X ¯2 ai + b j · X 1 y i=1
´ dos´ıta ´sok, adal´ 1 Mo ekok
164 A S-T X M E
1.11. Nyilak ← ⇐ → ⇒ ↔ ⇔ ↑ ↓ l % . 7 → ←( *
←− ⇐= −→ =⇒ ←→ ⇐⇒ ⇑ ⇓ m & 7−→ ,→ ) +
\leftarrow \Leftarrow \rightarrow \Rightarrow \leftrightarrow \Leftrightarrow \uparrow \downarrow \updownarrow \nearrow \swarrow \mapsto \hookleftarrow \leftharpoonup \rightharpoonup \rightleftharpoons
\longleftarrow \Longleftarrow \longrightarrow \Longrightarrow \longleftrightarrow \Longleftrightarrow \Uparrow \Downarrow \Updownarrow \searrow \nwarrow \longmapsto \hookrightarrow \leftharpoondown \rightharpoondown
A \rightarrow parancs helyett haszn´alhat´o a \to is. Meg kell eml´ıten¨ unk, hogy a \Longleftrightarrow, a \Longrightarrow ´es a \Longleftarrow parancsoknak van olyan v´altozata is, amelyik a megfelel˝o jelet a sz¨ovegben helykihagy´assal jelen´ıti meg, ´es u ´ gy viselkedik, mint egy oper´ator. Ezek az \iff, \implies ´ es \impliedby parancsok. ai = bj ⇐⇒ i = j
$a_i=b_j\iff i=j$
ai = bj =⇒ i = j
$a_i=b_j\implies i=j$
ai = bj ⇐= i = j
$a_i=b_j\impliedby i=j$
A f¨ ugg˝oleges nyilak v´altoz´o m´eret˝ uek, teh´at a \left ´es a \right parancsokkal m´eret¨ uk a k¨ornyez˝o jelek m´eret´ehez igaz´ıthat´o.
1.12. Nagyoper´atorok P
´ NAGYOPERATOROK ´ 1.12.1. A -HOZ HASONLO Az itt felsorolt jelek nagyoper´atorok, sz¨ovegk¨ozi matematikai m´odban az indexek a jelek mellett jelennek meg, kiemelt matematikai m´odban az als´o, illetve a fels˝o index a jel al´a, illetve f¨ol´e ker¨ ulnek. P Q ` W
\sum \prod \coprod \bigvee
T S F U
\bigcap \bigcup \bigsqcup \biguplus
J N L V
\bigodot \bigotimes \bigoplus \bigwedge
´lt opera ´tornevek 1.13.1. Definia
AMS-TEX 165
Ha sz¨ovegk¨ozi matematikai m´odban is a jel al´a vagy f¨ol´e akarjuk helyezni az indexeket, haszn´aljuk a PLAIN-beli \limits parancsot: \sum\limits^... _... ! Kiemelt matematikai m´ odban az al´a-, illetve f¨ol´ehelyez´es letilt´asa a \nolimits paranccsal t¨ ort´enhet: \sum\nolimits^..._... . Ha kiemelt matematikai m´odban is a jelek mell´e akarjuk ´ırni az indexeket, az AMS-TEX-ben nem sz¨ uks´eges minden esetben ki´ırni a \nolimits parancsot, elegend˝o a sz¨oveg tetsz˝oleges pontj´ara be´ırni a \NoLimitsOnSums parancsot, amellyel letilthatjuk az al´a- ´es f¨ol´ehelyez´est a cikk o¨sszes tov´abbi r´esz´eben. Vissza´all´ıt´asa a \LimitsOnSums paranccsal lehets´eges. Ezek a jelek k¨ ul¨onb¨oz˝o m´eretben jelennek meg kiemelt ´es sz¨ovegk¨ozi matematikai m´odban. Itt – helytakar´ekoss´ag miatt – csak a sz¨ovegk¨ozi m´eret˝ u v´altozat l´athat´o. Kiemelt matematikai m´odban a nagyobb m´eret˝ u jelet kapjuk, amely a \tsize paranccsal kicsire v´altoztathat´o, m´ıg sz¨ovegk¨ozi matematikai m´odban a \dsize paranccsal kapjuk a jel kiemelt matematikai m´odbeli ki´ır´asi form´aj´at.
´ 1.12.2. AZ INTEGRALJELEK Ezen jelek indexei alap´ertelmez´esben – mind kiemelt matematikai, mind sz¨ovegk¨ozi matematikai m´odban – a jelek mellett, als´o ´es fels˝o indexk´ent helyezkednek el. A \limits paranccsal tehet˝ok az integr´aljelek f¨ol´e. Ha kiemelt matematikai m´odban mindenhol a jelek al´a, illetve f¨ol´e akarjuk ´ırni az indexeket, azt az AMS-TEX-ben a \LimitsOnInts paranccsal adhatjuk meg, az alaphelyzet vissza´all´ıt´as´ara a \NoLimitsOnInts parancs szolg´al. M´eretet r´eszletesen l´asd az el˝oz˝o alfejezetben! R
RR
RRRR
H
\int
RRR
\iint
R
\iiiint
···
\oint R
\iiint \idotsint
Ha a sz¨oveg k¨ozben akarunk integr´aljelet ´ırni, az \int parancsn´al kisebb jelet eredm´enyez˝o \smallint parancsot is haszn´alhatjuk: $\int\smallint$
−→
1.13. Oper´atornevek
R
∫
´ ´ 1.13.1. DEFINIALT OPERATORNEVEK N´eh´any oper´atorn´ev defini´alva van a PLAIN-ben: arccos arg cot deg
\arccos \arg \cot \deg
arcsin cos coth det
\arcsin \cos \coth \det
arctan cosh csc dim
\arctan \cosh \csc \dim
´ dos´ıta ´sok, adal´ 1 Mo ekok
166 A S-T X M E
exp inf log lim sup mod sec sup
\exp \inf \log \limsup \bmod \sec \sup
gcd ker ln lim inf min sin tan
hom lg lim max Pr sinh tanh
\gcd \ker \ln \liminf \min \sin \tan
\hom \lg \lim \max \Pr \sinh \tanh
Az AMS-TEX-ben defini´alt tov´abbi oper´atornevek: inj lim lim − →
lim
\injlim \varinjlim \varliminf
proj lim \projlim lim \varprojlim ←− lim
\varlimsup
Csak matematikai m´odban haszn´alhat´ok. A kett˝os oper´atornevek (pl. \limsup) alkalmaz´asa el˝ony¨osebb, mintha k¨ ul¨on-k¨ ul¨on ´ırn´ank o˝ket (pl. \lim\sup), mert indexel´esn´el egy¨ utt kezeli a k´et oper´atornevet, ´ıgy nem kell azzal foglalkoznunk, hogy az index a k´et n´ev alatt k¨oz´epen jelenjen meg: $\limsup\limits_{n \to\infty} a_n$
lim sup an n→∞
A mod-nak t¨obb v´altozata is van, amelyeket az al´abbiakban l´athatunk. A \bmod ´es \pmod a PLAIN-ben is megtal´alhat´o, a m´asik kett˝o csak az AMSTEX-ben: $a=6\bmod{11}$
a = 6 mod 11
$a=6\mod{11}$
a = 6 mod 11
$a=6\pmod{11}$
a = 6 (mod 11)
$a=6\pod9$
a = 6 (9)
A param´etert term´eszetesen nem sz¨ uks´eges kapcsos z´ar´ojelek k¨oz´e tenni, ha az csak egy karakterb˝ol a´ll.
´ OPERATORNEVEK ´ ´IRASA, ´ ´ ASA ´ 1.13.2. UJ DEFINIAL Ha valamilyen m´ as oper´ atorn´evre van sz¨ uks´eg¨ unk, haszn´alhatjuk az AMS-TEX \operatorname{ . . . } vagy az \operatornamewithlimits{ . . . }
parancsait. Ezek a parancsok nemcsak annyit tesznek, hogy antikva (\roman) bet˝ ut´ıpussal ´ırj´ak ki az argumentumot, hanem att´ol f¨ ugg˝oen, hogy bet˝ u vagy
¨ ro ¨ g betu ˝k 2.1. Go
AMS-TEX 167
egy´eb karakter k¨oveti az oper´atornevet, m´as-m´as az ut´ana l´ev˝o helykihagy´as. sgn a(b + c) sgn(b + c)
$\operatorname{sgn}a(b+c)$ $\operatorname{sgn}(b+c)$
Az \operatornamewithlimits abban k¨ ul¨onb¨ozik, hogy ennek haszn´alatakor kiemelt matematikai m´odban az indexeket az oper´ator al´a, illetve f¨ol´e teszi az AMS-TEX, illetve sz¨ ovegk¨ozi matematikai m´odban a \limits paranccsal al´a, illetve f¨ol´e helyezhet˝o (mint p´eld´aul a \lim-n´el). T¨obbsz¨ori el˝ofordul´as eset´en defini´alhatjuk is az u ´ j oper´atorneveket. P´eld´aul \define\sgn{\operatorname{sgn}} \define\Aq{\operatornamewithlimits{Aq}} .. . $$ \Aq_{i,j}^n=\sum_{i,j}^n \sgn a_{ij} $$
n
Aq = i,j
n X
sgn aij
i,j
Ha az \operatornamewithlimits paranccsal defini´alt oper´atorneveink vannak, azonban az indexeket mell´ej¨ uk szeretn´enk ´ırni kiemelt matematikai m´odban is, haszn´alhatjuk az AMS-TEX \NoLimitsOnNames parancs´at. Vissza´all´ıthatjuk az alaphelyzetet a \LimitsOnNames paranccsal.
´ karakterek 2. Uj Az itt felsorolt parancsokat csak u ´ gy haszn´alhatjuk, ha bet¨oltj¨ uk az ezek defin´ıci´oit tartalmaz´o f´ajlokat. Erre k´et m´od van: 1. Ha haszn´aljuk az amsppt.sty st´ılusf´ajlt, semmit nem kell tenn¨ unk, mert ez automatikusan bet¨olti a defin´ıci´okat. 2. Ha a st´ılusf´ajlra nincsen sz¨ uks´eg¨ unk, be kell t¨olten¨ unk az amstex.tex bet¨olt´ese ut´an k´et makr´ogy˝ ujtem´enyt: \input amssym.def \input amssym.tex
2.1. G¨or¨og bet˝ uk K´et u ´ j g¨or¨og bet˝ u, illetve bet˝ uv´altozat van az u ´ j karakterek k¨oz¨ott, ez a κ
\varkappa
z
\digamma
Mindkett˝o csak matematikai m´odban haszn´alhat´o.
´ karakterek 2 Uj
168 AMS-TEX
2.2. H´eber bet˝ uk H´arom h´eber bet˝ u tarozik az u ´ j karakterk´eszletekbe, ez a i
\beth
k
ג
\daleth
\gimel
Mindh´arom csak matematikai m´odban haszn´alhat´o.
2.3. Duplasz´ar´ u bet˝ uk A leggyakrabban el˝ofordul´o extra karakterek k¨oz´e tartoznak a duplasz´ar´ u bet˝ uk, amelyeket a \Bbb parancs seg´ıts´eg´evel ´ırathatunk ki. Csak nagybet˝ us v´altozatuk van meg: $\Bbb NA$ : NA $\Bbb {AB . . . Y}$ : A B C D E F G H I J K L M N O P Q R S T U V W Z X Y
Duplasz´ar´ u kisbet˝ uk k¨oz¨ ul csak a k l´etezik. (L´asd a k¨ovetkez˝o alfejezetet!)
2.4. K¨ ul¨onf´ele jelek ~
\hbar
f
\mho
}
\hslash
`
\Finv
M
\vartriangle
a
\Game
O
\triangledown
k
\Bbbk
\square
\blacksquare
♦
\lozenge
∅
\varnothing
∠
\angle
@
\nexists
]
\measuredangle
^
\sphericalangle
r
\circledR
s
\circledS
N
\blacktriangle
H
\blacktriangledown
\blacklozenge
F
\bigstar
\diagup
\diagdown
{
\complement
8
\backprime
U
\yen
ð
\eth
p
\ulcorner
q
\urcorner
x
\llcorner
y
\lrcorner
z
\maltese
X
\checkmark
A \yen, a \maltese, a \checkmark ´es a \circledR parancsok haszn´alhat´ok mind matematikai, mind sz¨ovegm´odban, m´ıg a t¨obbi csak matematikai m´odban.
´cio ´ s jelek 2.6. Rela
AMS-TEX 169
2.5. Bin´er oper´atorok (m˝ uveleti jelek) >
\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
<
\succcurlyeq
2
\curlyeqprec
3
\curlyeqsucc
-
\precsim
%
\succsim
w
\precapprox
v
\succapprox
C
\vartriangleleft
B
\vartriangleright
´ karakterek 2 Uj
170 AMS-TEX
E
\trianglelefteq
D
\trianglerighteq
J
\blacktriangleleft
I
\blacktriangleright
,
\triangleq
+
\Doteq
;
\fallingdotseq
:
\risingdotseq
$
\circeq
P
\eqcirc
p
\shortmid
q
\shortparallel
t
\pitchfork
\vDash
\Vdash
\Vvdash
`
\smallsmile
a
\smallfrown
l
\bumpeq
m
\Bumpeq
∝
\varpropto
G
\between
∴
\therefore
∵
\because
\backepsilon
2.7. Neg´alt rel´aci´os jelek ≮
\nless
≯
\ngtr
\nleq
\ngeq
\nleqslant
\ngeqslant
\nleqq
\ngeqq
\lneq
\gneq
\lneqq
\gneqq
\lvertneqq
\gvertneqq
\lnsim
\gnsim
\lnapprox
\gnapprox
6
\ntriangleleft
7
\ntriangleright
5
\ntrianglelefteq
4
\ntrianglerighteq
\nsim
\ncong
-
\nmid
.
\nshortmid
∦
\nparallel
/
\nshortparallel
0
\nvdash
2
\nvDash
1
\nVdash
3
\nVDash
\nsucc
⊀
\nprec
\nsucceq
\npreceq
*
\nsubseteq
+
\nsupseteq
"
\nsubseteqq
#
\nsupseteqq
´lt nyilak 2.9. Nega
(
AMS-TEX 171
\subsetneq
)
\supsetneq
\varsubsetneq
!
\varsupsetneq
$
\subsetneqq
%
\supsetneqq
&
\varsubsetneqq
'
\varsupsetneqq
\precneqq
\succneqq
\precnsim
\succnsim
\precnapprox
\succnapprox
2.8. Nyilak ⇔
\leftleftarrows
⇒
\rightrightarrows
\leftrightarrows
\rightleftarrows
W
\Lleftarrow
V
\Rrightarrow
\twoheadleftarrow
\twoheadrightarrow
\leftarrowtail
\rightarrowtail
"
\looparrowleft
#
\looparrowright
\leftrightharpoons
\rightleftharpoons
x
\curvearrowleft
y
\curvearrowright
\circlearrowleft
\circlearrowright
!
\leftrightsquigarrow
L99 \dashleftarrow
\rightsquigarrow 99K \dashrightarrow
\Lsh
\Rsh
\upuparrows
\downdownarrows
\upharpoonleft
\upharpoonright
\downharpoonleft
\downharpoonright
(
\multimap
2.9. Neg´alt nyilak 8
\nleftarrow
:
\nLeftarrow
9
\nrightarrow
;
\nRightarrow
=
\nleftrightarrow
<
\nLeftrightarrow
172 A S-T X M E
˝k 3 Cirill betu
3. Cirill bet˝ uk Ahhoz, hogy cirill bet˝ us sz¨oveget tudjunk ´ırni, sz¨ uks´eg¨ unk van j´on´eh´any defin´ıci´ora ´es fontbet¨olt´esre. Az al´abb bemutatott f´ajlnak az elk´esz´ıt´es´evel, majd ennek a sz¨ uks´eges f´ajlba t¨ort´en˝o bet¨olt´es´evel elkezdhetj¨ uk a g´epel´est. % % % % %
cirill.tex Ennek a f´ ajlnak az els r´ esze tartalmazza a fontbet¨ olt´ eseket, m´ asodik r´ esze az alkalmasan defini´ alt fontk´ eszletv´ alt´ o parancsokat, harmadik r´ esze pedig a fontk´ eszletv´ alt´ o parancsok csatol´ as´ at a \tenpoint e ´s az \eightpoint makr´ okhoz.
\input cyracc.def \catcode‘\@=11 %%% 1. Fontk´ eszletek bet¨ olt´ ese: \font@\@tencyr=wncyr10 \font@\@ninecyr=wncyr9 \font@\@eightcyr=wncyr8 \font@\@sevencyr=wncyr7 \font@\@sixcyr=wncyr6 \font@\@fivecyr=wncyr5 \font@\@tencyb=wncyb10 \font@\@ninecyb=wncyb9 \font@\@eightcyb=wncyb8 \font@\@sevencyb=wncyb7 \font@\@sixcyb=wncyb6 \font@\@fivecyb=wncyb5 \font@\@tencyi=wncyi10 \font@\@ninecyi=wncyi9 \font@\@eightcyi=wncyi8 \font@\@sevencyi=wncyi7 \font@\@sixcyi=wncyi6 \font@\@fivecyi=wncyi5 \font@\@tencyss=wncyss10 \font@\@ninecyss=wncyss9 \font@\@eightcyss=wncyss8 \font@\@tencysc=wncysc10 %%% 2. Fontk´ eszlet v´ alt´ as´ ahoz haszn´ alhat´ o parancsok defin´ ıci´ oi: \def\tencyr{\@tencyr\cyracc} % Antikva \def\ninecyr{\@ninecyr\cyracc} \def\eightcyr{\@eightcyr\cyracc} \def\sevencyr{\@sevencyr\cyracc} \def\sixcyr{\@sixcyr\cyracc}
˝k 3 Cirill betu
AMS-TEX 173
\def\fivecyr{\@fivecyr\cyracc} \def\tencyb{\@tencyb\cyracc} \def\ninecyb{\@ninecyb\cyracc} \def\eightcyb{\@eightcyb\cyracc} \def\sevencyb{\@sevencyb\cyracc} \def\sixcyb{\@sixcyb\cyracc} \def\fivecyb{\@fivecyb\cyracc} \def\tencyi{\@tencyi\cyracc} \def\ninecyi{\@ninecyi\cyracc} \def\eightcyi{\@eightcyi\cyracc} \def\sevencyi{\@sevencyi\cyracc} \def\sixcyi{\@sixcyi\cyracc} \def\fivecyi{\@fivecyi\cyracc} \def\tencyss{\@tencyss\cyracc} \def\ninecyss{\@ninecyss\cyracc} \def\eightcyss{\@eightcyss\cyracc} \def\tencysc{\@tencysc\cyracc}
% K¨ ov´ er
% Kurz´ ıv
% Sans serif
% Kis kapit´ alis
%%% 3. Hozz´ arendel´ es a \tenpoint e ´s az \eightpoint makr´ okhoz: \addto\tenpoint{\let\cyr\tencyr} \addto\tenpoint{\let\cyi\tencyi} \addto\tenpoint{\let\cyb\tencyb} \addto\tenpoint{\let\cyss\tencyss} \addto\tenpoint{\let\cysc\tencysc} \addto\eightpoint{\let\cyr\eightcyr} \addto\eightpoint{\let\cyi\eightcyi} \addto\eightpoint{\let\cyb\eightcyb} \addto\eightpoint{\let\cyss\eightcyss} %%% \catcode‘\@=13 \tenpoint \endinput
A cirill bet˝ uk haszn´al´as´ahoz fontk´eszlet v´alt´asra van sz¨ uks´eg. A fenti f´ajlban le´ırt parancsok k¨oz¨ ul ´erdemes kiemelni az al´abbi n´egy parancsot, amely a \tenpoint ´es az \eightpoint makr´okkal t¨ort´en˝o m´eretv´altoztat´asok eset´en automatikusan igazodik az ott aktu´alis m´eretekhez. \cyr \cyb \cyi \cyss
antikva k¨ov´er kurz´ıv sans serif
(Gamburger) (Gamburger) (Gamburger) (Gamburger)
˝k 3 Cirill betu
174 A S-T X M E
A kis kapit´alis bet˝ ut´ıpusnak (\tencysc: Gamburger) nem l´etezik 8 pontos v´altozata. Ezek ut´an elkezdhetj¨ uk a t´enyleges munk´at. Az al´abbi t´abl´azatban tal´alhatjuk meg azokat a bet˝ uket ´es ligat´ ur´akat, amelyek a kiszedett sz¨ovegben a cirill bet˝ uket eredm´enyezik. Eredm´eny k´ep A B V G D ´ G E ¨ E Z I ¨ J K L Lj M N Nj O P
a b v g d ´ g e ¨ e
z i ¨ı j i $ k l lj m n nj o p
G´epel´esi k´ep A B V G D Dj \’G E \"E \=E Zh Z I \=I \"I J \u J K L Lj M N Nj O P
a b v g d dj \’g e \"e \=e zh z i \=\i \"\i j \u \j k l lj m n nj o p
Eredm´eny k´ep R S T ´ K U $ U F H C Q X W _ Y ^ } « »
r s t ´ k u u $ f h c q
x w y ~
G´epel´esi k´ep R S T \’C \’K U \u U F Kh Ts Ch \Dzh Sh Shch \Cdprime Y \Cprime \‘E Yu Ya \Dz N0 < >
r s t \’c \’k u \u u f kh ts ch \dzh sh shch \cdprime y \cprime \‘e yu ya \dz
L´enyeges: – Ez persze nem a cirill TEX. ´Igy p´eld´aul nem tudja a cirill elv´alaszt´asi szab´alyokat, ez´ert a legt¨obb sz´ot egy´altal´an nem tudja elv´alasztani. Hosszabb sz¨oveg ´ır´as´ara ink´abb a CyrillTEX haszn´alata aj´anlatos. – El˝ofordulhat olyan eset, hogy forr´assz¨oveg¨ unkben olyan bet˝ uk ker¨ ulnek egym´as mell´e, amelyek ligat´ ur´at alkotnak (pl. yu → ). Ezt a nemk´ıv´ant hat´ast a \cydot parancs seg´ıts´eg´evel ker¨ ulhetj¨ uk ki: y\cydot u. Ilyen eset p´eld´aul, ha a vyudit~ sz´ot akarjuk megjelen´ıteni: {\cyr vy\cydot udit\cprime}. – A cirill nagybet˝ uket meghat´aroz´o ligat´ ur´ak ´ırhat´ok csupa nagybet˝ uvel is.
˝k 3 Cirill betu
AMS-TEX 175
– A k¨ovetkez˝o cirill bet˝ uk megjelen´ıthet˝ok a fent eml´ıtett ligat´ ur´ak helyett az al´abbi m´odon is: Eredm´eny k´ep C H X
c h x
G´epel´esi k´ep C H X
c h x
Eredm´eny k´ep Q W
q w
G´epel´esi k´ep Q W
q w
176 A S-T X M E
4 Mintaoldal
4. Mintaoldal Ebben a fejezetben egy mintaoldalon szeretn´enk bemutatni az AMS-TEX haszn´alat´at. Mintaoldalk´ent az el˝oz˝o r´esz matematikai sz¨oveget tartalmaz´o mintaoldal´at v´alasztottuk, amely ´ıgy hivatott bemutatni a k´et szed´esforma k¨oz¨otti k¨ ul¨onbs´egeket is. \input amstex \documentstyle{amsppt} \document ... Az elj´ ar´ as sor´ an minden egyes iter´ aci´ oban minden pont val´ osz´ ın s´ eg´ et ki kell i\-ga\-z´ ı\-ta\-ni. 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 e ´s 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 va\-l´ o\-sz´ ı\-n \-s´ e\-g´ et. Ha az $(x,y)$ v´ eg-, izol´ alt vagy o ¨sszek¨ ot pont, akkor v´ azpont, ı ´gy kisebb val´ osz´ ın s´ eggel tartozik a h´ att´ erhez. Ha $(x,y)$ koordin´ at´ aj´ u pont bels pont, akkor nem tudjuk, hogy v´ azpont lesz-e vagy sem, e ´s ı ´gy annak a val´ osz´ ın s´ eg´ et, hogy a h´ att´ erhez tartozik, nem v´ altoztatjuk meg. A fenti meggondol´ asok alapj´ an annak a val´ osz´ ın s´ 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 k´ eppen defini´ alt egy¨ utthat´ oval v´ altoztatjuk meg: $$ Q_{x,y}^{(r)}(\lambda_4)=\cases egpont}\\ \beta_1,&\text{ha }(x,y) \text{ egyszer , nem v´ 0,&\text{ha bels pont}\\ \beta_2,&\text{egy´ ebk´ ent,} \endcases $$ ahol $\beta_1>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 @>>> 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