From 79e1bbc1ad6b308aa2074540b2afd43b6a72ce03 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 31 Jan 2024 03:01:01 +0000 Subject: CTAN sync 202401310301 --- FILES.byname | 2394 +++--- FILES.byname.gz | Bin 2594305 -> 2594469 bytes FILES.last07days | 272 +- biblio/ctan-bibdata/ctan.bib | 46 +- fonts/kpfonts-otf/README.md | 7 +- fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx | 2 +- fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf | Bin 176737 -> 176787 bytes fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx | 2 +- fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf | Bin 180166 -> 180229 bytes fonts/kpfonts-otf/doc/unimath-kpfonts.pdf | Bin 1840190 -> 1839970 bytes fonts/kpfonts-otf/fonts/KpMath-Bold.otf | Bin 233520 -> 232784 bytes fonts/kpfonts-otf/fonts/KpMath-Light.otf | Bin 451264 -> 451004 bytes fonts/kpfonts-otf/fonts/KpMath-Regular.otf | Bin 425576 -> 425596 bytes fonts/kpfonts-otf/fonts/KpMath-Sans.otf | Bin 293068 -> 293084 bytes fonts/kpfonts-otf/fonts/KpMath-SansBold.otf | Bin 196744 -> 195060 bytes fonts/kpfonts-otf/fonts/KpMath-Semibold.otf | Bin 256952 -> 256604 bytes fonts/kpfonts-otf/fonts/KpMono-Bold.otf | Bin 41096 -> 41096 bytes fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf | Bin 48260 -> 48260 bytes fonts/kpfonts-otf/fonts/KpMono-Italic.otf | Bin 49568 -> 49568 bytes fonts/kpfonts-otf/fonts/KpMono-Regular.otf | Bin 42248 -> 42248 bytes fonts/kpfonts-otf/fonts/KpRoman-Bold.otf | Bin 116612 -> 116608 bytes fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf | Bin 126664 -> 126664 bytes fonts/kpfonts-otf/fonts/KpRoman-Italic.otf | Bin 117168 -> 117168 bytes fonts/kpfonts-otf/fonts/KpRoman-Light.otf | Bin 114088 -> 114024 bytes fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf | Bin 116696 -> 116696 bytes fonts/kpfonts-otf/fonts/KpRoman-Regular.otf | Bin 114500 -> 114436 bytes fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf | Bin 113644 -> 113636 bytes fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf | Bin 124228 -> 124228 bytes fonts/kpfonts-otf/fonts/KpSans-Bold.otf | Bin 86976 -> 87012 bytes fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf | Bin 94820 -> 94820 bytes fonts/kpfonts-otf/fonts/KpSans-Italic.otf | Bin 94764 -> 94764 bytes fonts/kpfonts-otf/fonts/KpSans-Regular.otf | Bin 85760 -> 85752 bytes fonts/kpfonts-otf/tex/kpfonts-otf.sty | 4 +- macros/alatex/alatex-1.0/0areadme.txt | 89 - macros/alatex/alatex-1.0/COPYING | 339 - macros/alatex/alatex-1.0/Makefile | 132 - macros/alatex/alatex-1.0/README | 1 - macros/alatex/alatex-1.0/VERSION-1.0 | 0 macros/alatex/alatex-1.0/abugs.txt | 16 - macros/alatex/alatex-1.0/ainstall.txt | 92 - macros/alatex/alatex-1.0/alatex.dtx | 531 -- macros/alatex/alatex-1.0/alatex.tex | 21 - macros/alatex/alatex-1.0/amanifst.txt | 50 - macros/alatex/alatex-1.0/aunpack.ins | 135 - macros/alatex/alatex-1.0/aunpcked.txt | 9 - macros/blu/address.dat | 234 - macros/blu/blue.tex | 4225 ---------- macros/blu/fmt.dat | 1418 ---- macros/blu/lit.dat | 2375 ------ macros/blu/pic.dat | 1358 ---- macros/blu/readme.fst | 120 - macros/blu/tools.dat | 2082 ----- macros/fotex/fotex.ini | 3 - macros/fotex/fotex.ltx | 986 --- macros/fotex/mathml.ltx | 121 - macros/fotex/pdffotex.ini | 3 - macros/inrstex/inrsdoc/boxex.tex | 41 - macros/inrstex/inrsdoc/genins.tex | 165 - macros/inrstex/inrsdoc/helphdr.tex | 307 - macros/inrstex/inrsdoc/ieeelogo.ps | 685 -- macros/inrstex/inrsdoc/index.tex | 43 - macros/inrstex/inrsdoc/indsort | Bin 50884 -> 0 bytes macros/inrstex/inrsdoc/indsort.c | 113 - macros/inrstex/inrsdoc/inrslogo.tex | 58 - macros/inrstex/inrsdoc/inrssl.tex | 147 - macros/inrstex/inrsdoc/inrsunix.sh | 14 - macros/inrstex/inrsdoc/masth.ctg | 7 - macros/inrstex/inrsdoc/masth.ind | 762 -- macros/inrstex/inrsdoc/masth.sor | 809 -- macros/inrstex/inrsdoc/masth.sta | 32 - macros/inrstex/inrsdoc/masth.tex | 54 - macros/inrstex/inrsdoc/masth_chap | 32 - macros/inrstex/inrsdoc/mastoc.tex | 19 - macros/inrstex/inrsdoc/mastps | 31 - macros/inrstex/inrsdoc/mjf.tex | 11 - macros/inrstex/inrsdoc/pagdiag.tex | 120 - macros/inrstex/inrsdoc/psalm23.tex | 11 - macros/inrstex/inrsdoc/secthead.tex | 223 - macros/inrstex/inrsdoc/status.tex | 28 - macros/inrstex/inrsdoc/thalign.tex | 1002 --- macros/inrstex/inrsdoc/thauto.tex | 379 - macros/inrstex/inrsdoc/thbas.tex | 220 - macros/inrstex/inrsdoc/thbasbox.tex | 383 - macros/inrstex/inrsdoc/thbreak.tex | 60 - macros/inrstex/inrsdoc/thcite.tex | 251 - macros/inrstex/inrsdoc/thcont.tex | 224 - macros/inrstex/inrsdoc/thcover.tex | 57 - macros/inrstex/inrsdoc/thdefs.tex | 160 - macros/inrstex/inrsdoc/thdimnum.tex | 141 - macros/inrstex/inrsdoc/thdocsty.tex | 66 - macros/inrstex/inrsdoc/thfigtbl.tex | 417 - macros/inrstex/inrsdoc/thfonts.tex | 155 - macros/inrstex/inrsdoc/thftnote.tex | 104 - macros/inrstex/inrsdoc/thglue.tex | 125 - macros/inrstex/inrsdoc/thgraph.tex | 1288 --- macros/inrstex/inrsdoc/thindex.tex | 29 - macros/inrstex/inrsdoc/thlists.tex | 281 - macros/inrstex/inrsdoc/thmateq.tex | 480 -- macros/inrstex/inrsdoc/thmatsym.tex | 419 - macros/inrstex/inrsdoc/thmulcol.tex | 140 - macros/inrstex/inrsdoc/thover.tex | 66 - macros/inrstex/inrsdoc/thp2.tex | 420 - macros/inrstex/inrsdoc/thpagsiz.tex | 156 - macros/inrstex/inrsdoc/thpagsty.tex | 219 - macros/inrstex/inrsdoc/thparcon.tex | 367 - macros/inrstex/inrsdoc/thshead.tex | 295 - macros/inrstex/inrsdoc/thspac.tex | 204 - macros/inrstex/inrsdoc/thstart.tex | 397 - macros/inrstex/inrsdoc/thsubdoc.tex | 157 - macros/inrstex/inrsdoc/thtoc.tex | 323 - macros/inrstex/inrsinputs/UQlogo.epsf | 19 - macros/inrstex/inrsinputs/bilingue.tex | 46 - macros/inrstex/inrsinputs/booksty.tex | 37 - macros/inrstex/inrsinputs/centerh.tex | 10 - macros/inrstex/inrsinputs/cm_11.tex | 65 - macros/inrstex/inrsinputs/dvialw.ps | 310 - macros/inrstex/inrsinputs/enfrtwo.tex | 106 - macros/inrstex/inrsinputs/english.tex | 17 - macros/inrstex/inrsinputs/francais.tex | 17 - macros/inrstex/inrsinputs/helphdr.tex | 306 - macros/inrstex/inrsinputs/ieeelogo.ps | 685 -- macros/inrstex/inrsinputs/inrslogo.tex | 58 - macros/inrstex/inrsinputs/inrssl.tex | 147 - macros/inrstex/inrsinputs/inrssty.tex | 30 - macros/inrstex/inrsinputs/inrstemp.tex | 11 - macros/inrstex/inrsinputs/oldspace.tex | 2 - macros/inrstex/inrsinputs/papersty.tex | 19 - macros/inrstex/inrsinputs/spfont.tex | 79 - macros/inrstex/inrsinputs/texgraph.tex | 859 -- macros/inrstex/inrsinputs/verbatim.tex | 40 - macros/inrstex/inrstex/abstract.tex | 29 - macros/inrstex/inrstex/appendix.tex | 33 - macros/inrstex/inrstex/auto.tex | 90 - macros/inrstex/inrstex/cite.tex | 165 - macros/inrstex/inrstex/compat3.tex | 14 - macros/inrstex/inrstex/compatib.tex | 53 - macros/inrstex/inrstex/english.tex | 17 - macros/inrstex/inrstex/enhyph.tex | 4453 ----------- macros/inrstex/inrstex/enhyphex.tex | 23 - macros/inrstex/inrstex/eqtag.tex | 45 - macros/inrstex/inrstex/extdef.tex | 134 - macros/inrstex/inrstex/extdef3.tex | 137 - macros/inrstex/inrstex/footnote.tex | 22 - macros/inrstex/inrstex/frhyph.tex | 823 -- macros/inrstex/inrstex/genins.tex | 181 - macros/inrstex/inrstex/graph_ps.tex | 27 - macros/inrstex/inrstex/hyphen.tex | 4466 ----------- macros/inrstex/inrstex/inrs.scr | 13 - macros/inrstex/inrstex/inrsdef.tex | 256 - macros/inrstex/inrstex/inrsfncm.tex | 350 - macros/inrstex/inrstex/inrstex.tex | 560 -- macros/inrstex/inrstex/inrsunix.sh | 14 - macros/inrstex/inrstex/inrsutil.tex | 164 - macros/inrstex/inrstex/linespac.tex | 33 - macros/inrstex/inrstex/lists.tex | 135 - macros/inrstex/inrstex/margform.tex | 35 - macros/inrstex/inrstex/masthyph.tex | 59 - macros/inrstex/inrstex/multicol.tex | 62 - macros/inrstex/inrstex/multlang.tex | 26 - macros/inrstex/inrstex/out_ps.tex | 169 - macros/inrstex/inrstex/pagsty.tex | 177 - macros/inrstex/inrstex/papersty.tex | 19 - macros/inrstex/inrstex/plain_nh.tex | 1220 --- macros/inrstex/inrstex/plainmod.tex | 8 - macros/inrstex/inrstex/plaipars.tex | 127 - macros/inrstex/inrstex/prelhead.tex | 31 - macros/inrstex/inrstex/secthead.tex | 228 - macros/inrstex/inrstex/specform.tex | 37 - macros/inrstex/inrstex/subdoc.tex | 43 - macros/inrstex/inrstex/tables.tex | 106 - macros/inrstex/inrstex/tag.tex | 93 - macros/inrstex/inrstex/tocform.tex | 108 - macros/inrstex/inrstex/writdos.tex | 39 - macros/inrstex/inrstex/writfile.tex | 62 - macros/inrstex/inrstex/writunix.tex | 41 - macros/inrstex/pc/readme.txt | 258 - macros/inrstex/texgraph/ieeelogo.ps | 685 -- macros/inrstex/texgraph/inrslogo.tex | 58 - macros/inrstex/texgraph/inrssl.tex | 147 - macros/inrstex/texgraph/readme | 25 - macros/inrstex/texgraph/spfont.tex | 79 - macros/inrstex/texgraph/test_lat.aux | 1 - macros/inrstex/texgraph/test_lat.tex | 59 - macros/inrstex/texgraph/testinrs.tex | 99 - macros/inrstex/texgraph/texgraph.sty | 858 -- macros/inrstex/texgraph/texgraph.tex | 859 -- macros/inrstex/texgraph/thgraph.ps | 4832 ------------ macros/latex/contrib/achemso/CHANGELOG.md | 6 +- macros/latex/contrib/achemso/achemso-demo.pdf | Bin 382742 -> 383068 bytes macros/latex/contrib/achemso/achemso.dtx | 161 +- macros/latex/contrib/achemso/achemso.pdf | Bin 525663 -> 525861 bytes macros/latex/contrib/easybook/easybook.dtx | 27 +- macros/latex/contrib/easybook/easybook.pdf | Bin 599150 -> 599182 bytes macros/latex/contrib/easybook/easybook.tex | 8 +- macros/lollipop/README | 86 - macros/lollipop/config/lollipop.ini | 23 - macros/lollipop/doc/manual/address.tex | 186 - macros/lollipop/doc/manual/appendix.tex | 69 - macros/lollipop/doc/manual/btxmac.tex | 812 -- macros/lollipop/doc/manual/comm.tex | 642 -- macros/lollipop/doc/manual/comment.tex | 129 - macros/lollipop/doc/manual/example.tex | 4 - macros/lollipop/doc/manual/extern.tex | 428 - macros/lollipop/doc/manual/head.tex | 118 - macros/lollipop/doc/manual/list.tex | 442 -- macros/lollipop/doc/manual/lollipop-manual.bib | 59 - macros/lollipop/doc/manual/lollipop-manual.pdf | Bin 328623 -> 0 bytes macros/lollipop/doc/manual/lollipop-manual.tex | 92 - macros/lollipop/doc/manual/mandefs.tex | 225 - macros/lollipop/doc/manual/opt.tex | 408 - macros/lollipop/doc/manual/out.tex | 349 - macros/lollipop/doc/manual/prelim.tex | 327 - macros/lollipop/doc/manual/struct.tex | 264 - macros/lollipop/doc/manual/titlepag.tex | 85 - macros/lollipop/doc/manual/trace.tex | 61 - macros/lollipop/doc/tex-inde.xen | 261 - macros/lollipop/tex/lollipop-define.tex | 425 - macros/lollipop/tex/lollipop-document.tex | 381 - macros/lollipop/tex/lollipop-float.tex | 51 - macros/lollipop/tex/lollipop-fontdefs.tex | 42 - macros/lollipop/tex/lollipop-fonts.tex | 416 - macros/lollipop/tex/lollipop-heading.tex | 49 - macros/lollipop/tex/lollipop-lists.tex | 362 - macros/lollipop/tex/lollipop-output.tex | 744 -- macros/lollipop/tex/lollipop-plain.tex | 1249 --- macros/lollipop/tex/lollipop-text.tex | 553 -- macros/lollipop/tex/lollipop-tools.tex | 1509 ---- macros/lollipop/tex/lollipop.tex | 141 - macros/mtex/README | 65 - macros/mtex/documentation/mdoc.tex | 75 - macros/mtex/documentation/mdoc1.tex | 897 --- macros/mtex/documentation/mdoc10.tex | 205 - macros/mtex/documentation/mdoc11.tex | 283 - macros/mtex/documentation/mdoc12.tex | 89 - macros/mtex/documentation/mdoc13.tex | 95 - macros/mtex/documentation/mdoc2.tex | 1206 --- macros/mtex/documentation/mdoc3.tex | 811 -- macros/mtex/documentation/mdoc4.tex | 288 - macros/mtex/documentation/mdoc5.tex | 1123 --- macros/mtex/documentation/mdoc6.tex | 527 -- macros/mtex/documentation/mdoc7.tex | 398 - macros/mtex/documentation/mdoc8.tex | 617 -- macros/mtex/documentation/mdoc9.tex | 1135 --- macros/mtex/documentation/mdocabst.tex | 73 - macros/mtex/documentation/mdocams.tex | 261 - macros/mtex/documentation/mdocanha.tex | 670 -- macros/mtex/documentation/mdocanhb.tex | 49 - macros/mtex/documentation/mdocanhc.tex | 204 - macros/mtex/documentation/mdocanhd.tex | 220 - macros/mtex/documentation/mdocdef.tex | 258 - macros/mtex/documentation/mdocdef2.tex | 60 - macros/mtex/documentation/mdoceinl.tex | 207 - macros/mtex/documentation/mdocinh.tex | 91 - macros/mtex/documentation/mdocpic1.tex | 34 - macros/mtex/documentation/mdocpic2.tex | 45 - macros/mtex/documentation/mdocpic3.tex | 46 - macros/mtex/documentation/mdocpic4.tex | 24 - macros/mtex/documentation/mdoctit.tex | 15 - macros/mtex/documentation/mdoctrns.tex | 1201 --- macros/mtex/documentation/mdocverb.tex | 40 - macros/mtex/documentation/webmac.tex | 201 - macros/mtex/macros/mtex.tex | 1976 ----- macros/mtex/macros/mtexdemo.tex | 299 - macros/mtex/macros/mtexinfo.tex | 468 -- macros/mtex/metafont/acc16.mf | 142 - macros/mtex/metafont/beam16.mf | 79 - macros/mtex/metafont/music16.mf | 12 - macros/mtex/metafont/musicdef.mf | 71 - macros/mtex/metafont/noten16.mf | 292 - macros/mtex/metafont/pause16.mf | 184 - macros/mtex/metafont/slur16.mf | 229 - macros/mtex/metafont/slurdd16.mf | 41 - macros/mtex/metafont/slurdu16.mf | 42 - macros/mtex/metafont/slurud16.mf | 40 - macros/mtex/metafont/sluruu16.mf | 39 - macros/mtex/metafont/sonder16.mf | 112 - macros/mtex/metafont/vio16.mf | 195 - macros/physe/physe.doc | 2582 ------ macros/physe/physe.tex | 2024 ----- macros/physe/physupdt.tex | 109 - macros/phyzzx/myphyx.tex | 288 - macros/phyzzx/phyzdoc.tex | 3279 -------- macros/phyzzx/phyzzx.fonts | 106 - macros/phyzzx/phyzzx.local | 108 - macros/phyzzx/phyzzx.plus | 1066 --- macros/phyzzx/phyzzx.tex | 931 --- macros/plain/formats/lollipop/README | 86 + macros/plain/formats/lollipop/config/lollipop.ini | 23 + .../plain/formats/lollipop/doc/manual/address.tex | 186 + .../plain/formats/lollipop/doc/manual/appendix.tex | 69 + .../plain/formats/lollipop/doc/manual/btxmac.tex | 812 ++ macros/plain/formats/lollipop/doc/manual/comm.tex | 642 ++ .../plain/formats/lollipop/doc/manual/comment.tex | 129 + .../plain/formats/lollipop/doc/manual/example.tex | 4 + .../plain/formats/lollipop/doc/manual/extern.tex | 428 + macros/plain/formats/lollipop/doc/manual/head.tex | 118 + macros/plain/formats/lollipop/doc/manual/list.tex | 442 ++ .../lollipop/doc/manual/lollipop-manual.bib | 59 + .../lollipop/doc/manual/lollipop-manual.pdf | Bin 0 -> 328623 bytes .../lollipop/doc/manual/lollipop-manual.tex | 92 + .../plain/formats/lollipop/doc/manual/mandefs.tex | 225 + macros/plain/formats/lollipop/doc/manual/opt.tex | 408 + macros/plain/formats/lollipop/doc/manual/out.tex | 349 + .../plain/formats/lollipop/doc/manual/prelim.tex | 327 + .../plain/formats/lollipop/doc/manual/struct.tex | 264 + .../plain/formats/lollipop/doc/manual/titlepag.tex | 85 + macros/plain/formats/lollipop/doc/manual/trace.tex | 61 + macros/plain/formats/lollipop/doc/tex-inde.xen | 261 + .../plain/formats/lollipop/tex/lollipop-define.tex | 425 + .../formats/lollipop/tex/lollipop-document.tex | 381 + .../plain/formats/lollipop/tex/lollipop-float.tex | 51 + .../formats/lollipop/tex/lollipop-fontdefs.tex | 42 + .../plain/formats/lollipop/tex/lollipop-fonts.tex | 416 + .../formats/lollipop/tex/lollipop-heading.tex | 49 + .../plain/formats/lollipop/tex/lollipop-lists.tex | 362 + .../plain/formats/lollipop/tex/lollipop-output.tex | 744 ++ .../plain/formats/lollipop/tex/lollipop-plain.tex | 1249 +++ .../plain/formats/lollipop/tex/lollipop-text.tex | 553 ++ .../plain/formats/lollipop/tex/lollipop-tools.tex | 1509 ++++ macros/plain/formats/lollipop/tex/lollipop.tex | 141 + macros/plain/formats/psizzl/aaaread.me | 10 + macros/plain/formats/psizzl/chapters.psizzl | 314 + macros/plain/formats/psizzl/citation.psizzl | 607 ++ macros/plain/formats/psizzl/fontdefs.psizzl | 221 + macros/plain/formats/psizzl/index.psizzl | 91 + macros/plain/formats/psizzl/institut.psizzl | 60 + macros/plain/formats/psizzl/letter.psizzl | 244 + macros/plain/formats/psizzl/lists.psizzl | 172 + macros/plain/formats/psizzl/macros.psizzl | 167 + macros/plain/formats/psizzl/memo.psizzl | 74 + macros/plain/formats/psizzl/mypsizzl.tex | 30 + macros/plain/formats/psizzl/options.psizzl | 135 + macros/plain/formats/psizzl/output.psizzl | 200 + macros/plain/formats/psizzl/picture.psizzl | 48 + macros/plain/formats/psizzl/psizzl.commands | 312 + macros/plain/formats/psizzl/psizzl.doc | 41 + macros/plain/formats/psizzl/psizzl.tex | 27 + macros/plain/formats/psizzl/psizzl.txt | 1 + macros/plain/formats/psizzl/publicat.psizzl | 317 + macros/plain/formats/psizzl/symbols.psizzl | 59 + macros/plain/formats/psizzl/thesis.psizzl | 1 + macros/plain/formats/startex/INSTALL | 75 + macros/plain/formats/startex/README | 54 + macros/plain/formats/startex/epsf.tex | 193 + macros/plain/formats/startex/guide.pdf | 6121 +++++++++++++++ macros/plain/formats/startex/ideas.pdf | 2902 +++++++ macros/plain/formats/startex/startex.bib | 70 + macros/plain/formats/startex/startex.dtx | 2734 +++++++ macros/plain/formats/startex/startex.ins | 13 + macros/plain/formats/startex/startex.pdf | 6876 ++++++++++++++++ macros/plain/formats/startex/stxglo.ist | 26 + macros/plain/formats/startex/stxind.ist | 24 + macros/plain/formats/texsis/DESCRIPTION | 109 + macros/plain/formats/texsis/INSTALL | 18 + macros/plain/formats/texsis/Install.ps | 1012 +++ macros/plain/formats/texsis/LPPL | 212 + macros/plain/formats/texsis/License | 1 + macros/plain/formats/texsis/MANIFEST | 80 + macros/plain/formats/texsis/Mac/README | 12 + macros/plain/formats/texsis/Mac/README-Mac | 102 + .../plain/formats/texsis/Mac/TeXsis-2.18.sea.hqx | 8304 ++++++++++++++++++++ macros/plain/formats/texsis/Manual.pdf | Bin 0 -> 672635 bytes macros/plain/formats/texsis/NEWS | 79 + macros/plain/formats/texsis/PC/README | 16 + macros/plain/formats/texsis/PC/README.PC | 65 + macros/plain/formats/texsis/README | 152 + macros/plain/formats/texsis/README.PC | 75 + macros/plain/formats/texsis/TXSsite.000 | 164 + macros/plain/formats/texsis/TeXsis-2.18.sea.hqx | 8304 ++++++++++++++++++++ macros/plain/formats/texsis/bibtex/README | 53 + macros/plain/formats/texsis/bibtex/bibtest.tex | 47 + macros/plain/formats/texsis/bibtex/internet.bib | 2533 ++++++ macros/plain/formats/texsis/bibtex/mylist.bib | 23 + macros/plain/formats/texsis/bibtex/texsis.bst | 1195 +++ macros/plain/formats/texsis/bibtex/unix.bib | 4237 ++++++++++ macros/plain/formats/texsis/dcol/README | 18 + macros/plain/formats/texsis/dcol/TXSdcol.doc | 300 + macros/plain/formats/texsis/dcol/TXSdcol.dvi | Bin 0 -> 17128 bytes macros/plain/formats/texsis/dcol/TXSdcol.ps | 1463 ++++ macros/plain/formats/texsis/dcol/TXSdcol.tex | 664 ++ macros/plain/formats/texsis/index/README | 22 + macros/plain/formats/texsis/index/index.tex | 303 + macros/plain/formats/texsis/mtexsis.tex | 3241 ++++++++ macros/plain/formats/texsis/styles/AIP.txs | 50 + macros/plain/formats/texsis/styles/BostonU.txs | 138 + macros/plain/formats/texsis/styles/CVformat.txs | 107 + macros/plain/formats/texsis/styles/Elsevier.txs | 250 + macros/plain/formats/texsis/styles/Exam.txs | 86 + macros/plain/formats/texsis/styles/IEEE.txs | 99 + macros/plain/formats/texsis/styles/LAT96.txs | 88 + macros/plain/formats/texsis/styles/ORstate.txs | 375 + macros/plain/formats/texsis/styles/PhysRev.txs | 423 + macros/plain/formats/texsis/styles/Tablebod.txs | 91 + macros/plain/formats/texsis/styles/Tablebody.txs | 6 + macros/plain/formats/texsis/styles/UTthesis.tex | 106 + macros/plain/formats/texsis/styles/WorldSci.txs | 104 + macros/plain/formats/texsis/styles/nuclproc.txs | 115 + macros/plain/formats/texsis/styles/paradox.txs | 167 + macros/plain/formats/texsis/styles/printfont.txs | 116 + macros/plain/formats/texsis/styles/spine.txs | 56 + macros/plain/formats/texsis/styles/thesis.txs | 169 + macros/plain/formats/texsis/styles/twin.txs | 121 + macros/plain/formats/texsis/styles/umich.txs | 185 + macros/plain/formats/texsis/texsis.lsm | 46 + macros/plain/formats/xmltex/base/englishutf16.xml | Bin 0 -> 194 bytes macros/plain/formats/xmltex/base/englishutf8.xml | 6 + macros/plain/formats/xmltex/base/iso-8859-1.xmt | 29 + macros/plain/formats/xmltex/base/iso-8859-2.xmt | 96 + macros/plain/formats/xmltex/base/koi8-r.xmt | 131 + macros/plain/formats/xmltex/base/langtest.tex | 5 + macros/plain/formats/xmltex/base/langtest.xml | 21 + macros/plain/formats/xmltex/base/langtest.xmt | 32 + macros/plain/formats/xmltex/base/manual.html | 882 +++ macros/plain/formats/xmltex/base/manual.tex | 4 + macros/plain/formats/xmltex/base/manual.xml | 799 ++ macros/plain/formats/xmltex/base/manual.xsl | 29 + macros/plain/formats/xmltex/base/mathml2.xmt | 190 + .../plain/formats/xmltex/base/portugeselatin1.xml | 7 + macros/plain/formats/xmltex/base/readme.txt | 123 + macros/plain/formats/xmltex/base/russiankoi8.xml | 9 + macros/plain/formats/xmltex/base/russianutf8.xml | 7 + macros/plain/formats/xmltex/base/sec.xmt | 42 + macros/plain/formats/xmltex/base/tei.xmt | 142 + macros/plain/formats/xmltex/base/testascii.cfg | 159 + macros/plain/formats/xmltex/base/testascii.tex | 4 + macros/plain/formats/xmltex/base/testascii.xml | 22 + macros/plain/formats/xmltex/base/testsec.tex | 5 + macros/plain/formats/xmltex/base/testsec.xml | 77 + macros/plain/formats/xmltex/base/utf-16.xmt | 4 + macros/plain/formats/xmltex/base/windows-1250.xmt | 123 + macros/plain/formats/xmltex/base/xmltex.cfg | 177 + macros/plain/formats/xmltex/base/xmltex.tex | 2400 ++++++ .../formats/xmltex/contrib/passivetex/dummyels.sty | 136 + .../formats/xmltex/contrib/passivetex/fotex.sty | 1724 ++++ .../formats/xmltex/contrib/passivetex/fotex.xmt | 1644 ++++ .../formats/xmltex/contrib/passivetex/mlnames.sty | 439 ++ .../formats/xmltex/contrib/passivetex/tei.xmt | 219 + .../xmltex/contrib/passivetex/teiprintslides.xmt | 316 + .../xmltex/contrib/passivetex/teislides.xmt | 298 + .../formats/xmltex/contrib/passivetex/teixml.sty | 40 + .../xmltex/contrib/passivetex/teixmlslides.sty | 63 + .../xmltex/contrib/passivetex/ucharacters.sty | 2377 ++++++ .../formats/xmltex/contrib/passivetex/unicode.sty | 577 ++ macros/psizzl/aaaread.me | 10 - macros/psizzl/chapters.psizzl | 314 - macros/psizzl/citation.psizzl | 607 -- macros/psizzl/fontdefs.psizzl | 221 - macros/psizzl/index.psizzl | 91 - macros/psizzl/institut.psizzl | 60 - macros/psizzl/letter.psizzl | 244 - macros/psizzl/lists.psizzl | 172 - macros/psizzl/macros.psizzl | 167 - macros/psizzl/memo.psizzl | 74 - macros/psizzl/mypsizzl.tex | 30 - macros/psizzl/options.psizzl | 135 - macros/psizzl/output.psizzl | 200 - macros/psizzl/picture.psizzl | 48 - macros/psizzl/psizzl.commands | 312 - macros/psizzl/psizzl.doc | 41 - macros/psizzl/psizzl.tex | 27 - macros/psizzl/psizzl.txt | 1 - macros/psizzl/publicat.psizzl | 317 - macros/psizzl/symbols.psizzl | 59 - macros/psizzl/thesis.psizzl | 1 - macros/scripttex/scrnplay.tex | 458 -- macros/scripttex/scrnwrit.bib | 48 - macros/scripttex/stagplay.tex | 278 - macros/scripttex/stdemo.tex | 132 - macros/scripttex/stdoc.pdf | Bin 167079 -> 0 bytes macros/scripttex/stdoc.tex | 1191 --- macros/startex/INSTALL | 75 - macros/startex/README | 54 - macros/startex/epsf.tex | 193 - macros/startex/guide.pdf | 6121 --------------- macros/startex/ideas.pdf | 2902 ------- macros/startex/startex.bib | 70 - macros/startex/startex.dtx | 2734 ------- macros/startex/startex.ins | 13 - macros/startex/startex.pdf | 6876 ---------------- macros/startex/stxglo.ist | 26 - macros/startex/stxind.ist | 24 - macros/texmuse/Doc/pdf/mainloop.pdf | 4778 ----------- macros/texmuse/Doc/pdf/running.pdf | 968 --- macros/texmuse/Doc/pdf/wants.pdf | 991 --- macros/texmuse/Doc/tex/mainloop.dvi | Bin 52456 -> 0 bytes macros/texmuse/Doc/tex/mainloop.tex | 663 -- macros/texmuse/Doc/tex/mainloop1.mf | 45 - macros/texmuse/Doc/tex/mainloop2.mf | 68 - macros/texmuse/Doc/tex/mainloop3.mf | 73 - macros/texmuse/Doc/tex/mainloop4.mf | 33 - macros/texmuse/Doc/tex/mainloop5.mf | 39 - macros/texmuse/Doc/tex/mainloop6.mf | 745 -- macros/texmuse/Doc/tex/running.dvi | Bin 7400 -> 0 bytes macros/texmuse/Doc/tex/running.tex | 79 - macros/texmuse/Doc/tex/wants.dvi | Bin 6556 -> 0 bytes macros/texmuse/Doc/tex/wants.tex | 50 - macros/texmuse/Program/texmuse.mf | 990 --- macros/texmuse/Program/texmuse.tex | 624 -- macros/texmuse/Program/txmfont.mf | 405 - macros/texmuse/README | 52 - macros/texmuse/README.txt | 1 - macros/texmuse/Samples/pdf/aminor.pdf | Bin 279113 -> 0 bytes macros/texmuse/Samples/pdf/bbmajor.pdf | 6199 --------------- macros/texmuse/Samples/pdf/cmajor.pdf | 5252 ------------- macros/texmuse/Samples/pdf/cminor.pdf | 6316 --------------- macros/texmuse/Samples/pdf/dmajor.pdf | 5928 -------------- macros/texmuse/Samples/pdf/dminor.pdf | Bin 235902 -> 0 bytes macros/texmuse/Samples/pdf/ebmajor.pdf | 7517 ------------------ macros/texmuse/Samples/pdf/fmajor.pdf | 5897 -------------- macros/texmuse/Samples/tex/aminor.dvi | Bin 4244 -> 0 bytes macros/texmuse/Samples/tex/aminor.tex | 76 - macros/texmuse/Samples/tex/aminor1.mf | 980 --- macros/texmuse/Samples/tex/aminor2.mf | 1052 --- macros/texmuse/Samples/tex/aminor3.mf | 496 -- macros/texmuse/Samples/tex/bbmajor.dvi | Bin 4392 -> 0 bytes macros/texmuse/Samples/tex/bbmajor.tex | 47 - macros/texmuse/Samples/tex/bbmajor1.mf | 707 -- macros/texmuse/Samples/tex/bbmajor2.mf | 703 -- macros/texmuse/Samples/tex/bbmajor3.mf | 768 -- macros/texmuse/Samples/tex/bbmajor4.mf | 315 - macros/texmuse/Samples/tex/cmajor.dvi | Bin 3792 -> 0 bytes macros/texmuse/Samples/tex/cmajor.tex | 75 - macros/texmuse/Samples/tex/cmajor1.mf | 961 --- macros/texmuse/Samples/tex/cmajor2.mf | 949 --- macros/texmuse/Samples/tex/cmajor3.mf | 138 - macros/texmuse/Samples/tex/cminor.dvi | Bin 4412 -> 0 bytes macros/texmuse/Samples/tex/cminor.tex | 80 - macros/texmuse/Samples/tex/cminor1.mf | 790 -- macros/texmuse/Samples/tex/cminor2.mf | 869 -- macros/texmuse/Samples/tex/cminor3.mf | 890 --- macros/texmuse/Samples/tex/cminor4.mf | 236 - macros/texmuse/Samples/tex/dmajor.dvi | Bin 4252 -> 0 bytes macros/texmuse/Samples/tex/dmajor.tex | 57 - macros/texmuse/Samples/tex/dmajor1.mf | 1014 --- macros/texmuse/Samples/tex/dmajor2.mf | 983 --- macros/texmuse/Samples/tex/dmajor3.mf | 436 - macros/texmuse/Samples/tex/dmajor4.mf | 27 - macros/texmuse/Samples/tex/dminor.dvi | Bin 3704 -> 0 bytes macros/texmuse/Samples/tex/dminor.tex | 54 - macros/texmuse/Samples/tex/dminor1.mf | 994 --- macros/texmuse/Samples/tex/dminor2.mf | 1013 --- macros/texmuse/Samples/tex/dminor3.mf | 169 - macros/texmuse/Samples/tex/ebmajor.dvi | Bin 5236 -> 0 bytes macros/texmuse/Samples/tex/ebmajor.tex | 49 - macros/texmuse/Samples/tex/ebmajor1.mf | 780 -- macros/texmuse/Samples/tex/ebmajor2.mf | 796 -- macros/texmuse/Samples/tex/ebmajor3.mf | 801 -- macros/texmuse/Samples/tex/ebmajor4.mf | 740 -- macros/texmuse/Samples/tex/ebmajor5.mf | 159 - macros/texmuse/Samples/tex/fmajor.dvi | Bin 4172 -> 0 bytes macros/texmuse/Samples/tex/fmajor.tex | 56 - macros/texmuse/Samples/tex/fmajor1.mf | 1068 --- macros/texmuse/Samples/tex/fmajor2.mf | 1062 --- macros/texmuse/Samples/tex/fmajor3.mf | 350 - macros/texsis/DESCRIPTION | 109 - macros/texsis/INSTALL | 18 - macros/texsis/Install.ps | 1012 --- macros/texsis/LPPL | 212 - macros/texsis/License | 1 - macros/texsis/MANIFEST | 80 - macros/texsis/Mac/README | 12 - macros/texsis/Mac/README-Mac | 102 - macros/texsis/Mac/TeXsis-2.18.sea.hqx | 8304 -------------------- macros/texsis/Manual.pdf | Bin 672635 -> 0 bytes macros/texsis/NEWS | 79 - macros/texsis/PC/README | 16 - macros/texsis/PC/README.PC | 65 - macros/texsis/README | 152 - macros/texsis/README.PC | 75 - macros/texsis/TXSsite.000 | 164 - macros/texsis/TeXsis-2.18.sea.hqx | 8304 -------------------- macros/texsis/bibtex/README | 53 - macros/texsis/bibtex/bibtest.tex | 47 - macros/texsis/bibtex/internet.bib | 2533 ------ macros/texsis/bibtex/mylist.bib | 23 - macros/texsis/bibtex/texsis.bst | 1195 --- macros/texsis/bibtex/unix.bib | 4237 ---------- macros/texsis/dcol/README | 18 - macros/texsis/dcol/TXSdcol.doc | 300 - macros/texsis/dcol/TXSdcol.dvi | Bin 17128 -> 0 bytes macros/texsis/dcol/TXSdcol.ps | 1463 ---- macros/texsis/dcol/TXSdcol.tex | 664 -- macros/texsis/index/README | 22 - macros/texsis/index/index.tex | 303 - macros/texsis/mtexsis.tex | 3241 -------- macros/texsis/styles/AIP.txs | 50 - macros/texsis/styles/BostonU.txs | 138 - macros/texsis/styles/CVformat.txs | 107 - macros/texsis/styles/Elsevier.txs | 250 - macros/texsis/styles/Exam.txs | 86 - macros/texsis/styles/IEEE.txs | 99 - macros/texsis/styles/LAT96.txs | 88 - macros/texsis/styles/ORstate.txs | 375 - macros/texsis/styles/PhysRev.txs | 423 - macros/texsis/styles/Tablebod.txs | 91 - macros/texsis/styles/Tablebody.txs | 6 - macros/texsis/styles/UTthesis.tex | 106 - macros/texsis/styles/WorldSci.txs | 104 - macros/texsis/styles/nuclproc.txs | 115 - macros/texsis/styles/paradox.txs | 167 - macros/texsis/styles/printfont.txs | 116 - macros/texsis/styles/spine.txs | 56 - macros/texsis/styles/thesis.txs | 169 - macros/texsis/styles/twin.txs | 121 - macros/texsis/styles/umich.txs | 185 - macros/texsis/texsis.lsm | 46 - macros/text1/blocks/appendix.texblock | 16 - macros/text1/blocks/asism.texblock | 5 - macros/text1/blocks/asisp.texblock | 5 - macros/text1/blocks/bibliog.texblock | 10 - macros/text1/blocks/bquotem.texblock | 7 - macros/text1/blocks/bquotep.texblock | 7 - macros/text1/blocks/chapter.texblock | 13 - macros/text1/blocks/contents.texblock | 35 - macros/text1/blocks/enotem.texblock | 11 - macros/text1/blocks/enotep.texblock | 11 - macros/text1/blocks/figurem.texblock | 8 - macros/text1/blocks/figurep.texblock | 8 - macros/text1/blocks/fnotem.texblock | 14 - macros/text1/blocks/fnotep.texblock | 14 - macros/text1/blocks/fontm.texblock | 6 - macros/text1/blocks/fontp.texblock | 6 - macros/text1/blocks/index.texblock | 8 - macros/text1/blocks/label.texblock | 6 - macros/text1/blocks/lists.texblock | 13 - macros/text1/blocks/maillbls.texblock | 17 - macros/text1/blocks/marnote.texblock | 6 - macros/text1/blocks/multicol.texblock | 10 - macros/text1/blocks/pagem.texblock | 11 - macros/text1/blocks/pagep.texblock | 11 - macros/text1/blocks/parm.texblock | 6 - macros/text1/blocks/parp.texblock | 11 - macros/text1/blocks/part.texblock | 20 - macros/text1/blocks/preface.texblock | 12 - macros/text1/blocks/runfoot.texblock | 6 - macros/text1/blocks/runhead.texblock | 6 - macros/text1/blocks/subheada.texblock | 11 - macros/text1/blocks/subheadb.texblock | 10 - macros/text1/blocks/subheadc.texblock | 9 - macros/text1/blocks/subheadd.texblock | 7 - macros/text1/blocks/tablem.texblock | 8 - macros/text1/blocks/tablep.texblock | 9 - macros/text1/blocks/talaris.texblock | 6 - macros/text1/blocks/titlepg.texblock | 4 - macros/text1/changes.aug91 | 13 - macros/text1/changes.aug92 | 10 - macros/text1/changes.aug93 | 11 - macros/text1/changes.dec93 | 11 - macros/text1/changes.feb91 | 8 - macros/text1/changes.jan92 | 11 - macros/text1/changes.jun91 | 11 - macros/text1/changes.jun96 | 14 - macros/text1/changes.mar91 | 10 - macros/text1/changes.mar92 | 16 - macros/text1/changes.may92 | 28 - macros/text1/changes.nov90 | 17 - macros/text1/changes.nov92 | 9 - macros/text1/changes.nov94 | 16 - macros/text1/changes.sep91 | 12 - macros/text1/cms_help_files/1--footn.help4--f | 20 - macros/text1/cms_help_files/1--verti.helpvert | 21 - macros/text1/cms_help_files/10noter.helpfoot | 14 - macros/text1/cms_help_files/11noter.helpfoot | 23 - macros/text1/cms_help_files/12noter.helpfoot | 16 - macros/text1/cms_help_files/1block.helpbloc | 19 - macros/text1/cms_help_files/1every.helpfoot | 21 - macros/text1/cms_help_files/1everye.helpendn | 21 - macros/text1/cms_help_files/1everyf.helpfoot | 21 - macros/text1/cms_help_files/1numbe.helpsubh | 13 - macros/text1/cms_help_files/1number.helpsubh | 13 - macros/text1/cms_help_files/2--footn.help4--f | 15 - macros/text1/cms_help_files/2--verti.helpvert | 15 - macros/text1/cms_help_files/2block.helpbloc | 16 - macros/text1/cms_help_files/2footn.helpfoot | 21 - macros/text1/cms_help_files/2footno.helpfoot | 21 - macros/text1/cms_help_files/2skipbe.helpendn | 21 - macros/text1/cms_help_files/2title.helpsubh | 20 - macros/text1/cms_help_files/3befor.helpfoot | 21 - macros/text1/cms_help_files/3block.helpmenu | 14 - macros/text1/cms_help_files/3every.helpbloc | 21 - macros/text1/cms_help_files/3incon.helpsubh | 15 - macros/text1/cms_help_files/3incont.helpsubh | 15 - macros/text1/cms_help_files/3skipb.helpfoot | 22 - macros/text1/cms_help_files/3skipbe.helpfoot | 22 - macros/text1/cms_help_files/3textre.helpendn | 17 - macros/text1/cms_help_files/4footn.helpmenu | 18 - macros/text1/cms_help_files/4refer.helpfoot | 16 - macros/text1/cms_help_files/4skipaf.helpfoot | 22 - macros/text1/cms_help_files/4skipb.helpbloc | 17 - macros/text1/cms_help_files/4textre.helpendn | 14 - macros/text1/cms_help_files/5refer.helpfoot | 16 - macros/text1/cms_help_files/5skipa.helpbloc | 18 - macros/text1/cms_help_files/5textre.helpendn | 23 - macros/text1/cms_help_files/5textre.helpfoot | 17 - macros/text1/cms_help_files/6notere.helpendn | 17 - macros/text1/cms_help_files/6refer.helpfoot | 14 - macros/text1/cms_help_files/6textre.helpfoot | 17 - macros/text1/cms_help_files/7notere.helpendn | 14 - macros/text1/cms_help_files/7refer.helpfoot | 21 - macros/text1/cms_help_files/7textre.helpfoot | 14 - macros/text1/cms_help_files/8notere.helpendn | 23 - macros/text1/cms_help_files/8textre.helpfoot | 23 - macros/text1/cms_help_files/9notere.helpendn | 16 - macros/text1/cms_help_files/9notere.helpfoot | 17 - macros/text1/cms_help_files/aen.helpmark | 72 - macros/text1/cms_help_files/afn.helpmark | 58 - macros/text1/cms_help_files/aib.helpmark | 84 - macros/text1/cms_help_files/aie.helpmark | 37 - macros/text1/cms_help_files/aif.helpmark | 76 - macros/text1/cms_help_files/anumbe.helpsubh | 13 - macros/text1/cms_help_files/anumber.helpsubh | 13 - macros/text1/cms_help_files/apf.helpmark | 93 - macros/text1/cms_help_files/app.helpmark | 30 - macros/text1/cms_help_files/appendix.helpbloc | 7 - macros/text1/cms_help_files/appendix.helpmenu | 103 - macros/text1/cms_help_files/asism.helpbloc | 7 - macros/text1/cms_help_files/asisp.helpbloc | 7 - macros/text1/cms_help_files/bd.helpmark | 48 - macros/text1/cms_help_files/bi.helpmark | 36 - macros/text1/cms_help_files/bib.helpmark | 43 - macros/text1/cms_help_files/bibentry.helpmark | 57 - macros/text1/cms_help_files/bibliog.helpbloc | 7 - macros/text1/cms_help_files/bibliogr.helpmark | 54 - macros/text1/cms_help_files/bie.helpmark | 51 - macros/text1/cms_help_files/bif.helpmark | 248 - macros/text1/cms_help_files/bothpage.helpmenu | 12 - macros/text1/cms_help_files/bottomma.helppage | 21 - macros/text1/cms_help_files/bottomti.helpboth | 28 - macros/text1/cms_help_files/bottomti.helpeven | 28 - macros/text1/cms_help_files/bottomti.helpoddp | 28 - macros/text1/cms_help_files/bqb.helpmark | 61 - macros/text1/cms_help_files/bqe.helpmark | 47 - macros/text1/cms_help_files/bqf.helpmark | 76 - macros/text1/cms_help_files/bquotem.helpbloc | 7 - macros/text1/cms_help_files/bquotep.helpbloc | 7 - macros/text1/cms_help_files/break.helpmark | 36 - macros/text1/cms_help_files/btitle.helpsubh | 20 - macros/text1/cms_help_files/btitlef.helpsubh | 18 - macros/text1/cms_help_files/bul.helpmark | 44 - macros/text1/cms_help_files/cc.helpmark | 33 - macros/text1/cms_help_files/cents.helpmark | 23 - macros/text1/cms_help_files/chap.helpmark | 48 - macros/text1/cms_help_files/chapter.helpbloc | 7 - macros/text1/cms_help_files/chf.helpmark | 98 - macros/text1/cms_help_files/chrono.changes | 3 - macros/text1/cms_help_files/cincon.helpsubh | 15 - macros/text1/cms_help_files/cincont.helpsubh | 15 - macros/text1/cms_help_files/cl.helpmark | 38 - macros/text1/cms_help_files/clb.helpmark | 68 - macros/text1/cms_help_files/cle.helpmark | 38 - macros/text1/cms_help_files/contents.helpbloc | 7 - macros/text1/cms_help_files/coul.helpmark | 21 - macros/text1/cms_help_files/db.helpmark | 45 - macros/text1/cms_help_files/dbm.helpmark | 26 - macros/text1/cms_help_files/dbrs.helpmark | 27 - macros/text1/cms_help_files/die.helpmark | 32 - macros/text1/cms_help_files/dsp.helpmark | 41 - macros/text1/cms_help_files/el.helpmark | 44 - macros/text1/cms_help_files/enf.helpmark | 129 - macros/text1/cms_help_files/enotem.helpbloc | 7 - macros/text1/cms_help_files/enotep.helpbloc | 7 - macros/text1/cms_help_files/ep.helpmark | 38 - macros/text1/cms_help_files/epm.helpmark | 24 - macros/text1/cms_help_files/ex.helpmark | 26 - macros/text1/cms_help_files/fif.helpmark | 86 - macros/text1/cms_help_files/fig.helpmark | 110 - macros/text1/cms_help_files/figurem.helpbloc | 7 - macros/text1/cms_help_files/figurep.helpbloc | 7 - macros/text1/cms_help_files/fixf.helpmark | 34 - macros/text1/cms_help_files/fnf.helpmark | 139 - macros/text1/cms_help_files/fnotem.helpbloc | 8 - macros/text1/cms_help_files/fnotep.helpbloc | 8 - macros/text1/cms_help_files/font.helpmark | 51 - macros/text1/cms_help_files/fontm.helpbloc | 7 - macros/text1/cms_help_files/fontp.helpbloc | 8 - macros/text1/cms_help_files/footnote.helpmark | 63 - macros/text1/cms_help_files/frac.helpmark | 52 - macros/text1/cms_help_files/frenchsp.helpmark | 53 - macros/text1/cms_help_files/goodbrea.helpmark | 33 - macros/text1/cms_help_files/halign.helpmark | 177 - macros/text1/cms_help_files/hbox.helpmark | 36 - macros/text1/cms_help_files/hin.helpmark | 48 - macros/text1/cms_help_files/hof.helpmark | 54 - macros/text1/cms_help_files/hon.helpmark | 54 - macros/text1/cms_help_files/hp.helpmark | 48 - macros/text1/cms_help_files/hrule.helpmark | 44 - macros/text1/cms_help_files/hs.helpmark | 47 - macros/text1/cms_help_files/hsize.helpmark | 49 - macros/text1/cms_help_files/incl.helpmark | 89 - macros/text1/cms_help_files/indent.helpmark | 41 - macros/text1/cms_help_files/index.helpbloc | 7 - macros/text1/cms_help_files/input.helpmark | 46 - macros/text1/cms_help_files/isk.helpmark | 46 - macros/text1/cms_help_files/it.helpmark | 41 - macros/text1/cms_help_files/italicfa.helpmark | 21 - macros/text1/cms_help_files/item.helpmark | 45 - macros/text1/cms_help_files/ix.helpmark | 311 - macros/text1/cms_help_files/ixf.helpmark | 260 - macros/text1/cms_help_files/ju.helpmark | 42 - macros/text1/cms_help_files/la.helpmark | 44 - macros/text1/cms_help_files/label.helpbloc | 7 - macros/text1/cms_help_files/laf.helpmark | 120 - macros/text1/cms_help_files/lbr.helpmark | 45 - macros/text1/cms_help_files/leader.helpmark | 47 - macros/text1/cms_help_files/letter.helpmode | 7 - macros/text1/cms_help_files/lib.helpmark | 50 - macros/text1/cms_help_files/lie.helpmark | 39 - macros/text1/cms_help_files/lif.helpmark | 128 - macros/text1/cms_help_files/lil.helpmark | 43 - macros/text1/cms_help_files/lin.helpmark | 69 - macros/text1/cms_help_files/line.helpmark | 56 - macros/text1/cms_help_files/lint.helpmark | 25 - macros/text1/cms_help_files/lir.helpmark | 46 - macros/text1/cms_help_files/lists.helpbloc | 7 - macros/text1/cms_help_files/lnf.helpmark | 24 - macros/text1/cms_help_files/lr.helpmark | 44 - macros/text1/cms_help_files/markup.helpmenu | 176 - macros/text1/cms_help_files/marnote.helpbloc | 7 - macros/text1/cms_help_files/mathdefa.helpmark | 24 - macros/text1/cms_help_files/mcf.helpmark | 260 - macros/text1/cms_help_files/memo.helpmode | 7 - macros/text1/cms_help_files/mi.helpmark | 31 - macros/text1/cms_help_files/mn.helpmark | 30 - macros/text1/cms_help_files/mnf.helpmark | 53 - macros/text1/cms_help_files/msp.helpmark | 91 - macros/text1/cms_help_files/multicol.helpbloc | 7 - macros/text1/cms_help_files/nc.helpmark | 49 - macros/text1/cms_help_files/nin.helpmark | 46 - macros/text1/cms_help_files/nobreak.helpmark | 39 - macros/text1/cms_help_files/nonfrenc.helpmark | 45 - macros/text1/cms_help_files/np.helpmark | 36 - macros/text1/cms_help_files/ntp.helpmark | 47 - macros/text1/cms_help_files/numl.helpmark | 20 - macros/text1/cms_help_files/oc.helpmark | 52 - macros/text1/cms_help_files/opm.helpmark | 24 - macros/text1/cms_help_files/paf.helpmark | 67 - macros/text1/cms_help_files/pagem.helpbloc | 7 - macros/text1/cms_help_files/pagep.helpbloc | 7 - macros/text1/cms_help_files/paper.helpmode | 7 - macros/text1/cms_help_files/par.helpmark | 81 - macros/text1/cms_help_files/parm.helpbloc | 8 - macros/text1/cms_help_files/parp.helpbloc | 8 - macros/text1/cms_help_files/part.helpbloc | 7 - macros/text1/cms_help_files/part.helpmark | 32 - macros/text1/cms_help_files/pb.helpmark | 47 - macros/text1/cms_help_files/pen.helpmark | 42 - macros/text1/cms_help_files/pf.helpmark | 83 - macros/text1/cms_help_files/pic.helpmark | 97 - macros/text1/cms_help_files/pin.helpmark | 46 - macros/text1/cms_help_files/plaintex.helpmark | 28 - macros/text1/cms_help_files/pn.helpmark | 40 - macros/text1/cms_help_files/ppl.helpmark | 21 - macros/text1/cms_help_files/pre.helpmark | 31 - macros/text1/cms_help_files/preface.helpbloc | 7 - macros/text1/cms_help_files/prf.helpmark | 42 - macros/text1/cms_help_files/prin.helpmark | 20 - macros/text1/cms_help_files/printend.helpmark | 10 - macros/text1/cms_help_files/printind.helpmark | 58 - macros/text1/cms_help_files/psk.helpmark | 62 - macros/text1/cms_help_files/qquad.helpmark | 39 - macros/text1/cms_help_files/quad.helpmark | 40 - macros/text1/cms_help_files/raggedbo.helpmark | 16 - macros/text1/cms_help_files/resume.helpmode | 7 - macros/text1/cms_help_files/rff.helpmark | 129 - macros/text1/cms_help_files/rhf.helpmark | 115 - macros/text1/cms_help_files/rin.helpmark | 79 - macros/text1/cms_help_files/rl.helpmark | 29 - macros/text1/cms_help_files/rlb.helpmark | 35 - macros/text1/cms_help_files/rle.helpmark | 28 - macros/text1/cms_help_files/rm.helpmark | 41 - macros/text1/cms_help_files/rr.helpmark | 47 - macros/text1/cms_help_files/rule.helpmark | 48 - macros/text1/cms_help_files/runfoot.helpbloc | 8 - macros/text1/cms_help_files/runhead.helpbloc | 8 - macros/text1/cms_help_files/san.helpmark | 25 - macros/text1/cms_help_files/sau.helpmark | 44 - macros/text1/cms_help_files/scn.helpmark | 25 - macros/text1/cms_help_files/senn.helpmark | 37 - macros/text1/cms_help_files/settabs.helpmark | 151 - macros/text1/cms_help_files/sfn.helpmark | 37 - macros/text1/cms_help_files/sfnn.helpmark | 39 - macros/text1/cms_help_files/sfs.helpmark | 79 - macros/text1/cms_help_files/sha.helpmark | 40 - macros/text1/cms_help_files/shaf.helpmark | 85 - macros/text1/cms_help_files/shb.helpmark | 40 - macros/text1/cms_help_files/shbf.helpmark | 86 - macros/text1/cms_help_files/shc.helpmark | 39 - macros/text1/cms_help_files/shcf.helpmark | 81 - macros/text1/cms_help_files/shd.helpmark | 33 - macros/text1/cms_help_files/shdf.helpmark | 77 - macros/text1/cms_help_files/sms.helpmark | 50 - macros/text1/cms_help_files/special.helpmark | 24 - macros/text1/cms_help_files/spn.helpmark | 46 - macros/text1/cms_help_files/sptn.helpmark | 23 - macros/text1/cms_help_files/ssan.helpmark | 25 - macros/text1/cms_help_files/ssbn.helpmark | 25 - macros/text1/cms_help_files/sscn.helpmark | 25 - macros/text1/cms_help_files/ssdn.helpmark | 25 - macros/text1/cms_help_files/ssf.helpmark | 50 - macros/text1/cms_help_files/ssp.helpmark | 43 - macros/text1/cms_help_files/stn.helpmark | 37 - macros/text1/cms_help_files/strut.helpmark | 82 - macros/text1/cms_help_files/subheada.helpbloc | 7 - macros/text1/cms_help_files/subheadb.helpbloc | 7 - macros/text1/cms_help_files/subheadc.helpbloc | 7 - macros/text1/cms_help_files/subheadd.helpbloc | 7 - macros/text1/cms_help_files/sy.helpmark | 26 - macros/text1/cms_help_files/tablem.helpbloc | 7 - macros/text1/cms_help_files/tablep.helpbloc | 7 - macros/text1/cms_help_files/taf.helpmark | 56 - macros/text1/cms_help_files/talaris.helpbloc | 7 - macros/text1/cms_help_files/tat.helpmark | 59 - macros/text1/cms_help_files/tenpt.helpmark | 42 - macros/text1/cms_help_files/text1.helpmark | 44 - macros/text1/cms_help_files/thc.helpmark | 75 - macros/text1/cms_help_files/thesis.helpmode | 8 - macros/text1/cms_help_files/titlepg.helpbloc | 7 - macros/text1/cms_help_files/toc.helpmark | 39 - macros/text1/cms_help_files/tocf.helpmark | 478 -- macros/text1/cms_help_files/toclbr.helpmark | 43 - macros/text1/cms_help_files/today.helpmark | 30 - macros/text1/cms_help_files/topline1.helpeven | 31 - macros/text1/cms_help_files/topline1.helpoddp | 31 - macros/text1/cms_help_files/topmargi.helppage | 21 - macros/text1/cms_help_files/tp.helpmark | 44 - macros/text1/cms_help_files/tpf.helpmark | 50 - macros/text1/cms_help_files/tt.helpmark | 50 - macros/text1/cms_help_files/twc.helpmark | 75 - macros/text1/cms_help_files/twelvept.helpmark | 44 - macros/text1/cms_help_files/us.helpmark | 34 - macros/text1/cms_help_files/vbox.helpmark | 32 - macros/text1/cms_help_files/vertical.helpvert | 21 - macros/text1/cms_help_files/vrule.helpmark | 19 - macros/text1/cms_help_files/vs.helpmark | 53 - macros/text1/cms_help_files/vsk.helpmark | 45 - macros/text1/cms_help_files/width.helppage | 13 - macros/text1/compugraphics_8600/et10.textext | 37 - macros/text1/compugraphics_8600/et11.textext | 37 - macros/text1/compugraphics_8600/et12.textext | 37 - macros/text1/compugraphics_8600/et14.textext | 37 - macros/text1/compugraphics_8600/et18.textext | 37 - macros/text1/compugraphics_8600/et8.textext | 37 - macros/text1/compugraphics_8600/et9.textext | 37 - macros/text1/compugraphics_8600/etb.fontinfo | 236 - macros/text1/compugraphics_8600/etbi.fontinfo | 233 - macros/text1/compugraphics_8600/eti.fontinfo | 233 - macros/text1/compugraphics_8600/etr.fontinfo | 236 - macros/text1/compugraphics_8600/etsc.fontinfo | 253 - macros/text1/compugraphics_8600/fonttex.cmschan | 5 - macros/text1/compugraphics_8600/fonttex.exec | 23 - macros/text1/compugraphics_8600/fonttex.outchan | 324 - macros/text1/compugraphics_8600/fonttex.web | 1936 ----- macros/text1/compugraphics_8600/reblock.pascal | 34 - macros/text1/compugraphics_8600/tex8600.cmschan | 1 - macros/text1/compugraphics_8600/tex8600.outchan | 580 -- macros/text1/compugraphics_8600/tex8600.web | 3034 ------- macros/text1/docs/readme.tex | 209 - macros/text1/docs/refman.ps.gz | Bin 744715 -> 0 bytes macros/text1/fonts/cmr36.dump | 902 --- macros/text1/fonts/dt.240pk | Bin 1536 -> 0 bytes macros/text1/fonts/dt.300pk | Bin 1536 -> 0 bytes macros/text1/fonts/dt.mf | 17 - macros/text1/fonts/dt.readme | 8 - macros/text1/fonts/dt.tfm | Bin 512 -> 0 bytes macros/text1/fonts/dt240.mf | 12 - macros/text1/fonts/dt300.mf | 12 - macros/text1/macintosh/texix.macinfo | 4 - macros/text1/macintosh/texix.turbomac | 591 -- macros/text1/macintosh/texix_macintosh.readme | 7 - macros/text1/macintosh/text1_index_sort.bin | Bin 30976 -> 0 bytes macros/text1/macros/cgfonts.lclist | 124 - macros/text1/macros/cm10.textext | 34 - macros/text1/macros/cm108m.texmath | 10 - macros/text1/macros/cm109m.texmath | 10 - macros/text1/macros/cm11.textext | 40 - macros/text1/macros/cm1110m.texmath | 10 - macros/text1/macros/cm119m.texmath | 13 - macros/text1/macros/cm12.textext | 37 - macros/text1/macros/cm1210m.texmath | 10 - macros/text1/macros/cm1211m.texmath | 13 - macros/text1/macros/cm14.textext | 37 - macros/text1/macros/cm1412m.texmath | 13 - macros/text1/macros/cm18.textext | 37 - macros/text1/macros/cm1814m.texmath | 13 - macros/text1/macros/cm24.textext | 37 - macros/text1/macros/cm2418m.texmath | 13 - macros/text1/macros/cm36.textext | 37 - macros/text1/macros/cm5.textext | 51 - macros/text1/macros/cm6.textext | 49 - macros/text1/macros/cm65m.texmath | 10 - macros/text1/macros/cm7.textext | 45 - macros/text1/macros/cm75m.texmath | 7 - macros/text1/macros/cm76m.texmath | 10 - macros/text1/macros/cm8.textext | 40 - macros/text1/macros/cm86m.texmath | 13 - macros/text1/macros/cm87m.texmath | 10 - macros/text1/macros/cm9.textext | 40 - macros/text1/macros/cm97m.texmath | 10 - macros/text1/macros/cm98m.texmath | 13 - macros/text1/macros/cmsan10.textext | 46 - macros/text1/macros/cmsan11.textext | 46 - macros/text1/macros/cmsan12.textext | 46 - macros/text1/macros/cmsan14.textext | 46 - macros/text1/macros/cmsan18.textext | 46 - macros/text1/macros/cmsan24.textext | 46 - macros/text1/macros/cmsan36.textext | 46 - macros/text1/macros/cmsan8.textext | 49 - macros/text1/macros/cmsan9.textext | 46 - macros/text1/macros/fixcol.tex | 155 - macros/text1/macros/flexcol.tex | 329 - macros/text1/macros/text1.tex | 3 - macros/text1/macros/txt1v409.tex | 3536 --------- macros/text1/models/letter.texinput | 51 - macros/text1/models/letter.texmodel | 45 - macros/text1/models/memo.texinput | 48 - macros/text1/models/memo.texmodel | 21 - macros/text1/models/mergelet.texmodel | 77 - macros/text1/models/mergelst.texmodel | 17 - macros/text1/models/mergetxt.texinput | 184 - macros/text1/models/mergetxt.texmodel | 96 - macros/text1/models/paper.texinput | 10 - macros/text1/models/paper.texmodel | 28 - macros/text1/models/resume.texinput | 62 - macros/text1/models/resume.texmodel | 69 - macros/text1/models/thesis.texinput | 159 - macros/text1/models/thesis.texmodel | 139 - macros/text1/pc/blocks/appendix.blk | 16 - macros/text1/pc/blocks/asism.blk | 5 - macros/text1/pc/blocks/asisp.blk | 5 - macros/text1/pc/blocks/bibliog.blk | 10 - macros/text1/pc/blocks/bquotem.blk | 7 - macros/text1/pc/blocks/bquotep.blk | 7 - macros/text1/pc/blocks/chapter.blk | 13 - macros/text1/pc/blocks/contents.blk | 35 - macros/text1/pc/blocks/enotem.blk | 11 - macros/text1/pc/blocks/enotep.blk | 11 - macros/text1/pc/blocks/figurem.blk | 8 - macros/text1/pc/blocks/figurep.blk | 8 - macros/text1/pc/blocks/fnotem.blk | 14 - macros/text1/pc/blocks/fnotep.blk | 14 - macros/text1/pc/blocks/fontm.blk | 6 - macros/text1/pc/blocks/fontp.blk | 6 - macros/text1/pc/blocks/index.blk | 8 - macros/text1/pc/blocks/label.blk | 6 - macros/text1/pc/blocks/lists.blk | 13 - macros/text1/pc/blocks/maillbls.blk | 17 - macros/text1/pc/blocks/marnote.blk | 6 - macros/text1/pc/blocks/multicol.blk | 10 - macros/text1/pc/blocks/pagem.blk | 11 - macros/text1/pc/blocks/pagep.blk | 11 - macros/text1/pc/blocks/parm.blk | 6 - macros/text1/pc/blocks/parp.blk | 11 - macros/text1/pc/blocks/part.blk | 20 - macros/text1/pc/blocks/preface.blk | 12 - macros/text1/pc/blocks/runfoot.blk | 6 - macros/text1/pc/blocks/runhead.blk | 6 - macros/text1/pc/blocks/subheada.blk | 11 - macros/text1/pc/blocks/subheadb.blk | 10 - macros/text1/pc/blocks/subheadc.blk | 9 - macros/text1/pc/blocks/subheadd.blk | 7 - macros/text1/pc/blocks/tablem.blk | 8 - macros/text1/pc/blocks/tablep.blk | 9 - macros/text1/pc/blocks/talaris.blk | 6 - macros/text1/pc/blocks/titlepg.blk | 4 - macros/text1/pc/fonts/dt.pk | Bin 1536 -> 0 bytes macros/text1/pc/misc/cm10.txt | 34 - macros/text1/pc/misc/cm108m.mth | 10 - macros/text1/pc/misc/cm109m.mth | 10 - macros/text1/pc/misc/cm11.txt | 40 - macros/text1/pc/misc/cm1110m.mth | 10 - macros/text1/pc/misc/cm119m.mth | 13 - macros/text1/pc/misc/cm12.txt | 37 - macros/text1/pc/misc/cm1210m.mth | 10 - macros/text1/pc/misc/cm1211m.mth | 13 - macros/text1/pc/misc/cm14.txt | 37 - macros/text1/pc/misc/cm1412m.mth | 13 - macros/text1/pc/misc/cm18.txt | 37 - macros/text1/pc/misc/cm1814m.mth | 13 - macros/text1/pc/misc/cm24.txt | 37 - macros/text1/pc/misc/cm2418m.mth | 13 - macros/text1/pc/misc/cm36.txt | 37 - macros/text1/pc/misc/cm5.txt | 51 - macros/text1/pc/misc/cm6.txt | 49 - macros/text1/pc/misc/cm65m.mth | 10 - macros/text1/pc/misc/cm7.txt | 45 - macros/text1/pc/misc/cm75m.mth | 7 - macros/text1/pc/misc/cm76m.mth | 10 - macros/text1/pc/misc/cm8.txt | 40 - macros/text1/pc/misc/cm86m.mth | 13 - macros/text1/pc/misc/cm87m.mth | 10 - macros/text1/pc/misc/cm9.txt | 40 - macros/text1/pc/misc/cm97m.mth | 10 - macros/text1/pc/misc/cm98m.mth | 13 - macros/text1/pc/misc/cmsan10.txt | 46 - macros/text1/pc/misc/cmsan11.txt | 46 - macros/text1/pc/misc/cmsan12.txt | 46 - macros/text1/pc/misc/cmsan14.txt | 46 - macros/text1/pc/misc/cmsan18.txt | 46 - macros/text1/pc/misc/cmsan24.txt | 46 - macros/text1/pc/misc/cmsan36.txt | 46 - macros/text1/pc/misc/cmsan8.txt | 49 - macros/text1/pc/misc/cmsan9.txt | 46 - macros/text1/pc/models/letter.inp | 51 - macros/text1/pc/models/letter.mdl | 45 - macros/text1/pc/models/memo.inp | 48 - macros/text1/pc/models/memo.mdl | 21 - macros/text1/pc/models/mergelet.mdl | 77 - macros/text1/pc/models/mergelst.mdl | 17 - macros/text1/pc/models/mergetxt.inp | 184 - macros/text1/pc/models/mergetxt.mdl | 96 - macros/text1/pc/models/paper.inp | 10 - macros/text1/pc/models/paper.mdl | 28 - macros/text1/pc/models/resume.inp | 62 - macros/text1/pc/models/resume.mdl | 69 - macros/text1/pc/models/thesis.inp | 159 - macros/text1/pc/models/thesis.mdl | 139 - macros/text1/pc/readme.tex | 38 - macros/text1/texix/plsort.pliopt | 9 - macros/text1/texix/texix.cmschan | 3 - macros/text1/texix/texix.cmsinfo | 5 - macros/text1/texix/texix.readme | 4 - macros/text1/texix/texix.web | 1577 ---- macros/text1/texix/txt1v293.cmschan | 2000 ----- macros/text1/vax_vms/compile_texix.com | 10 - macros/text1/vax_vms/sortcall.pen | Bin 1536 -> 0 bytes macros/text1/vax_vms/texix.ch | 509 -- macros/text1/vax_vms/texix_vms.readme | 12 - macros/text1/vax_vms/vmssort.pas | 78 - macros/unicodetex/latex/xgreek/README | 4 + macros/unicodetex/latex/xgreek/xgreek.dtx | 24 +- macros/unicodetex/latex/xgreek/xgreek.ins | 4 +- macros/unicodetex/latex/xgreek/xgreek.pdf | Bin 72958 -> 73014 bytes macros/xmltex/base/englishutf16.xml | Bin 194 -> 0 bytes macros/xmltex/base/englishutf8.xml | 6 - macros/xmltex/base/iso-8859-1.xmt | 29 - macros/xmltex/base/iso-8859-2.xmt | 96 - macros/xmltex/base/koi8-r.xmt | 131 - macros/xmltex/base/langtest.tex | 5 - macros/xmltex/base/langtest.xml | 21 - macros/xmltex/base/langtest.xmt | 32 - macros/xmltex/base/manual.html | 882 --- macros/xmltex/base/manual.tex | 4 - macros/xmltex/base/manual.xml | 799 -- macros/xmltex/base/manual.xsl | 29 - macros/xmltex/base/mathml2.xmt | 190 - macros/xmltex/base/portugeselatin1.xml | 7 - macros/xmltex/base/readme.txt | 123 - macros/xmltex/base/russiankoi8.xml | 9 - macros/xmltex/base/russianutf8.xml | 7 - macros/xmltex/base/sec.xmt | 42 - macros/xmltex/base/tei.xmt | 142 - macros/xmltex/base/testascii.cfg | 159 - macros/xmltex/base/testascii.tex | 4 - macros/xmltex/base/testascii.xml | 22 - macros/xmltex/base/testsec.tex | 5 - macros/xmltex/base/testsec.xml | 77 - macros/xmltex/base/utf-16.xmt | 4 - macros/xmltex/base/windows-1250.xmt | 123 - macros/xmltex/base/xmltex.cfg | 177 - macros/xmltex/base/xmltex.tex | 2400 ------ macros/xmltex/contrib/passivetex/dummyels.sty | 136 - macros/xmltex/contrib/passivetex/fotex.sty | 1724 ---- macros/xmltex/contrib/passivetex/fotex.xmt | 1644 ---- macros/xmltex/contrib/passivetex/mlnames.sty | 439 -- macros/xmltex/contrib/passivetex/tei.xmt | 219 - .../xmltex/contrib/passivetex/teiprintslides.xmt | 316 - macros/xmltex/contrib/passivetex/teislides.xmt | 298 - macros/xmltex/contrib/passivetex/teixml.sty | 40 - macros/xmltex/contrib/passivetex/teixmlslides.sty | 63 - macros/xmltex/contrib/passivetex/ucharacters.sty | 2377 ------ macros/xmltex/contrib/passivetex/unicode.sty | 577 -- macros/ytex/ybase.mac | 914 --- macros/ytex/yfonts.mac | 155 - macros/ytex/ylog.mac | 494 -- macros/ytex/ysite.mac | 11 - macros/ytex/ytex-cm.tex | 4 - macros/ytex/ytex.ieee | 250 - macros/ytex/ytex.mac | 92 - macros/ytex/ytex.mail | 75 - macros/ytex/yusage.lst | 55 - macros/ytex/yusage.tex | 1772 ----- macros/ytex/yuser.mac | 1351 ---- obsolete/macros/alatex/alatex-1.0/0areadme.txt | 89 + obsolete/macros/alatex/alatex-1.0/COPYING | 339 + obsolete/macros/alatex/alatex-1.0/Makefile | 132 + obsolete/macros/alatex/alatex-1.0/README | 1 + obsolete/macros/alatex/alatex-1.0/VERSION-1.0 | 0 obsolete/macros/alatex/alatex-1.0/abugs.txt | 16 + obsolete/macros/alatex/alatex-1.0/ainstall.txt | 92 + obsolete/macros/alatex/alatex-1.0/alatex.dtx | 531 ++ obsolete/macros/alatex/alatex-1.0/alatex.tex | 21 + obsolete/macros/alatex/alatex-1.0/amanifst.txt | 50 + obsolete/macros/alatex/alatex-1.0/aunpack.ins | 135 + obsolete/macros/alatex/alatex-1.0/aunpcked.txt | 9 + obsolete/macros/blu/address.dat | 234 + obsolete/macros/blu/blue.tex | 4225 ++++++++++ obsolete/macros/blu/fmt.dat | 1418 ++++ obsolete/macros/blu/lit.dat | 2375 ++++++ obsolete/macros/blu/pic.dat | 1358 ++++ obsolete/macros/blu/readme.fst | 120 + obsolete/macros/blu/tools.dat | 2082 +++++ obsolete/macros/fotex/fotex.ini | 3 + obsolete/macros/fotex/fotex.ltx | 986 +++ obsolete/macros/fotex/mathml.ltx | 121 + obsolete/macros/fotex/pdffotex.ini | 3 + obsolete/macros/inrstex/inrsdoc/boxex.tex | 41 + obsolete/macros/inrstex/inrsdoc/genins.tex | 165 + obsolete/macros/inrstex/inrsdoc/helphdr.tex | 307 + obsolete/macros/inrstex/inrsdoc/ieeelogo.ps | 685 ++ obsolete/macros/inrstex/inrsdoc/index.tex | 43 + obsolete/macros/inrstex/inrsdoc/indsort | Bin 0 -> 50884 bytes obsolete/macros/inrstex/inrsdoc/indsort.c | 113 + obsolete/macros/inrstex/inrsdoc/inrslogo.tex | 58 + obsolete/macros/inrstex/inrsdoc/inrssl.tex | 147 + obsolete/macros/inrstex/inrsdoc/inrsunix.sh | 14 + obsolete/macros/inrstex/inrsdoc/masth.ctg | 7 + obsolete/macros/inrstex/inrsdoc/masth.ind | 762 ++ obsolete/macros/inrstex/inrsdoc/masth.sor | 809 ++ obsolete/macros/inrstex/inrsdoc/masth.sta | 32 + obsolete/macros/inrstex/inrsdoc/masth.tex | 54 + obsolete/macros/inrstex/inrsdoc/masth_chap | 32 + obsolete/macros/inrstex/inrsdoc/mastoc.tex | 19 + obsolete/macros/inrstex/inrsdoc/mastps | 31 + obsolete/macros/inrstex/inrsdoc/mjf.tex | 11 + obsolete/macros/inrstex/inrsdoc/pagdiag.tex | 120 + obsolete/macros/inrstex/inrsdoc/psalm23.tex | 11 + obsolete/macros/inrstex/inrsdoc/secthead.tex | 223 + obsolete/macros/inrstex/inrsdoc/status.tex | 28 + obsolete/macros/inrstex/inrsdoc/thalign.tex | 1002 +++ obsolete/macros/inrstex/inrsdoc/thauto.tex | 379 + obsolete/macros/inrstex/inrsdoc/thbas.tex | 220 + obsolete/macros/inrstex/inrsdoc/thbasbox.tex | 383 + obsolete/macros/inrstex/inrsdoc/thbreak.tex | 60 + obsolete/macros/inrstex/inrsdoc/thcite.tex | 251 + obsolete/macros/inrstex/inrsdoc/thcont.tex | 224 + obsolete/macros/inrstex/inrsdoc/thcover.tex | 57 + obsolete/macros/inrstex/inrsdoc/thdefs.tex | 160 + obsolete/macros/inrstex/inrsdoc/thdimnum.tex | 141 + obsolete/macros/inrstex/inrsdoc/thdocsty.tex | 66 + obsolete/macros/inrstex/inrsdoc/thfigtbl.tex | 417 + obsolete/macros/inrstex/inrsdoc/thfonts.tex | 155 + obsolete/macros/inrstex/inrsdoc/thftnote.tex | 104 + obsolete/macros/inrstex/inrsdoc/thglue.tex | 125 + obsolete/macros/inrstex/inrsdoc/thgraph.tex | 1288 +++ obsolete/macros/inrstex/inrsdoc/thindex.tex | 29 + obsolete/macros/inrstex/inrsdoc/thlists.tex | 281 + obsolete/macros/inrstex/inrsdoc/thmateq.tex | 480 ++ obsolete/macros/inrstex/inrsdoc/thmatsym.tex | 419 + obsolete/macros/inrstex/inrsdoc/thmulcol.tex | 140 + obsolete/macros/inrstex/inrsdoc/thover.tex | 66 + obsolete/macros/inrstex/inrsdoc/thp2.tex | 420 + obsolete/macros/inrstex/inrsdoc/thpagsiz.tex | 156 + obsolete/macros/inrstex/inrsdoc/thpagsty.tex | 219 + obsolete/macros/inrstex/inrsdoc/thparcon.tex | 367 + obsolete/macros/inrstex/inrsdoc/thshead.tex | 295 + obsolete/macros/inrstex/inrsdoc/thspac.tex | 204 + obsolete/macros/inrstex/inrsdoc/thstart.tex | 397 + obsolete/macros/inrstex/inrsdoc/thsubdoc.tex | 157 + obsolete/macros/inrstex/inrsdoc/thtoc.tex | 323 + obsolete/macros/inrstex/inrsinputs/UQlogo.epsf | 19 + obsolete/macros/inrstex/inrsinputs/bilingue.tex | 46 + obsolete/macros/inrstex/inrsinputs/booksty.tex | 37 + obsolete/macros/inrstex/inrsinputs/centerh.tex | 10 + obsolete/macros/inrstex/inrsinputs/cm_11.tex | 65 + obsolete/macros/inrstex/inrsinputs/dvialw.ps | 310 + obsolete/macros/inrstex/inrsinputs/enfrtwo.tex | 106 + obsolete/macros/inrstex/inrsinputs/english.tex | 17 + obsolete/macros/inrstex/inrsinputs/francais.tex | 17 + obsolete/macros/inrstex/inrsinputs/helphdr.tex | 306 + obsolete/macros/inrstex/inrsinputs/ieeelogo.ps | 685 ++ obsolete/macros/inrstex/inrsinputs/inrslogo.tex | 58 + obsolete/macros/inrstex/inrsinputs/inrssl.tex | 147 + obsolete/macros/inrstex/inrsinputs/inrssty.tex | 30 + obsolete/macros/inrstex/inrsinputs/inrstemp.tex | 11 + obsolete/macros/inrstex/inrsinputs/oldspace.tex | 2 + obsolete/macros/inrstex/inrsinputs/papersty.tex | 19 + obsolete/macros/inrstex/inrsinputs/spfont.tex | 79 + obsolete/macros/inrstex/inrsinputs/texgraph.tex | 859 ++ obsolete/macros/inrstex/inrsinputs/verbatim.tex | 40 + obsolete/macros/inrstex/inrstex/abstract.tex | 29 + obsolete/macros/inrstex/inrstex/appendix.tex | 33 + obsolete/macros/inrstex/inrstex/auto.tex | 90 + obsolete/macros/inrstex/inrstex/cite.tex | 165 + obsolete/macros/inrstex/inrstex/compat3.tex | 14 + obsolete/macros/inrstex/inrstex/compatib.tex | 53 + obsolete/macros/inrstex/inrstex/english.tex | 17 + obsolete/macros/inrstex/inrstex/enhyph.tex | 4453 +++++++++++ obsolete/macros/inrstex/inrstex/enhyphex.tex | 23 + obsolete/macros/inrstex/inrstex/eqtag.tex | 45 + obsolete/macros/inrstex/inrstex/extdef.tex | 134 + obsolete/macros/inrstex/inrstex/extdef3.tex | 137 + obsolete/macros/inrstex/inrstex/footnote.tex | 22 + obsolete/macros/inrstex/inrstex/frhyph.tex | 823 ++ obsolete/macros/inrstex/inrstex/genins.tex | 181 + obsolete/macros/inrstex/inrstex/graph_ps.tex | 27 + obsolete/macros/inrstex/inrstex/hyphen.tex | 4466 +++++++++++ obsolete/macros/inrstex/inrstex/inrs.scr | 13 + obsolete/macros/inrstex/inrstex/inrsdef.tex | 256 + obsolete/macros/inrstex/inrstex/inrsfncm.tex | 350 + obsolete/macros/inrstex/inrstex/inrstex.tex | 560 ++ obsolete/macros/inrstex/inrstex/inrsunix.sh | 14 + obsolete/macros/inrstex/inrstex/inrsutil.tex | 164 + obsolete/macros/inrstex/inrstex/linespac.tex | 33 + obsolete/macros/inrstex/inrstex/lists.tex | 135 + obsolete/macros/inrstex/inrstex/margform.tex | 35 + obsolete/macros/inrstex/inrstex/masthyph.tex | 59 + obsolete/macros/inrstex/inrstex/multicol.tex | 62 + obsolete/macros/inrstex/inrstex/multlang.tex | 26 + obsolete/macros/inrstex/inrstex/out_ps.tex | 169 + obsolete/macros/inrstex/inrstex/pagsty.tex | 177 + obsolete/macros/inrstex/inrstex/papersty.tex | 19 + obsolete/macros/inrstex/inrstex/plain_nh.tex | 1220 +++ obsolete/macros/inrstex/inrstex/plainmod.tex | 8 + obsolete/macros/inrstex/inrstex/plaipars.tex | 127 + obsolete/macros/inrstex/inrstex/prelhead.tex | 31 + obsolete/macros/inrstex/inrstex/secthead.tex | 228 + obsolete/macros/inrstex/inrstex/specform.tex | 37 + obsolete/macros/inrstex/inrstex/subdoc.tex | 43 + obsolete/macros/inrstex/inrstex/tables.tex | 106 + obsolete/macros/inrstex/inrstex/tag.tex | 93 + obsolete/macros/inrstex/inrstex/tocform.tex | 108 + obsolete/macros/inrstex/inrstex/writdos.tex | 39 + obsolete/macros/inrstex/inrstex/writfile.tex | 62 + obsolete/macros/inrstex/inrstex/writunix.tex | 41 + obsolete/macros/inrstex/pc/readme.txt | 258 + obsolete/macros/inrstex/texgraph/ieeelogo.ps | 685 ++ obsolete/macros/inrstex/texgraph/inrslogo.tex | 58 + obsolete/macros/inrstex/texgraph/inrssl.tex | 147 + obsolete/macros/inrstex/texgraph/readme | 25 + obsolete/macros/inrstex/texgraph/spfont.tex | 79 + obsolete/macros/inrstex/texgraph/test_lat.aux | 1 + obsolete/macros/inrstex/texgraph/test_lat.tex | 59 + obsolete/macros/inrstex/texgraph/testinrs.tex | 99 + obsolete/macros/inrstex/texgraph/texgraph.sty | 858 ++ obsolete/macros/inrstex/texgraph/texgraph.tex | 859 ++ obsolete/macros/inrstex/texgraph/thgraph.ps | 4832 ++++++++++++ obsolete/macros/mtex/README | 65 + obsolete/macros/mtex/documentation/mdoc.tex | 75 + obsolete/macros/mtex/documentation/mdoc1.tex | 897 +++ obsolete/macros/mtex/documentation/mdoc10.tex | 205 + obsolete/macros/mtex/documentation/mdoc11.tex | 283 + obsolete/macros/mtex/documentation/mdoc12.tex | 89 + obsolete/macros/mtex/documentation/mdoc13.tex | 95 + obsolete/macros/mtex/documentation/mdoc2.tex | 1206 +++ obsolete/macros/mtex/documentation/mdoc3.tex | 811 ++ obsolete/macros/mtex/documentation/mdoc4.tex | 288 + obsolete/macros/mtex/documentation/mdoc5.tex | 1123 +++ obsolete/macros/mtex/documentation/mdoc6.tex | 527 ++ obsolete/macros/mtex/documentation/mdoc7.tex | 398 + obsolete/macros/mtex/documentation/mdoc8.tex | 617 ++ obsolete/macros/mtex/documentation/mdoc9.tex | 1135 +++ obsolete/macros/mtex/documentation/mdocabst.tex | 73 + obsolete/macros/mtex/documentation/mdocams.tex | 261 + obsolete/macros/mtex/documentation/mdocanha.tex | 670 ++ obsolete/macros/mtex/documentation/mdocanhb.tex | 49 + obsolete/macros/mtex/documentation/mdocanhc.tex | 204 + obsolete/macros/mtex/documentation/mdocanhd.tex | 220 + obsolete/macros/mtex/documentation/mdocdef.tex | 258 + obsolete/macros/mtex/documentation/mdocdef2.tex | 60 + obsolete/macros/mtex/documentation/mdoceinl.tex | 207 + obsolete/macros/mtex/documentation/mdocinh.tex | 91 + obsolete/macros/mtex/documentation/mdocpic1.tex | 34 + obsolete/macros/mtex/documentation/mdocpic2.tex | 45 + obsolete/macros/mtex/documentation/mdocpic3.tex | 46 + obsolete/macros/mtex/documentation/mdocpic4.tex | 24 + obsolete/macros/mtex/documentation/mdoctit.tex | 15 + obsolete/macros/mtex/documentation/mdoctrns.tex | 1201 +++ obsolete/macros/mtex/documentation/mdocverb.tex | 40 + obsolete/macros/mtex/documentation/webmac.tex | 201 + obsolete/macros/mtex/macros/mtex.tex | 1976 +++++ obsolete/macros/mtex/macros/mtexdemo.tex | 299 + obsolete/macros/mtex/macros/mtexinfo.tex | 468 ++ obsolete/macros/mtex/metafont/acc16.mf | 142 + obsolete/macros/mtex/metafont/beam16.mf | 79 + obsolete/macros/mtex/metafont/music16.mf | 12 + obsolete/macros/mtex/metafont/musicdef.mf | 71 + obsolete/macros/mtex/metafont/noten16.mf | 292 + obsolete/macros/mtex/metafont/pause16.mf | 184 + obsolete/macros/mtex/metafont/slur16.mf | 229 + obsolete/macros/mtex/metafont/slurdd16.mf | 41 + obsolete/macros/mtex/metafont/slurdu16.mf | 42 + obsolete/macros/mtex/metafont/slurud16.mf | 40 + obsolete/macros/mtex/metafont/sluruu16.mf | 39 + obsolete/macros/mtex/metafont/sonder16.mf | 112 + obsolete/macros/mtex/metafont/vio16.mf | 195 + obsolete/macros/physe/physe.doc | 2582 ++++++ obsolete/macros/physe/physe.tex | 2024 +++++ obsolete/macros/physe/physupdt.tex | 109 + obsolete/macros/phyzzx/myphyx.tex | 288 + obsolete/macros/phyzzx/phyzdoc.tex | 3279 ++++++++ obsolete/macros/phyzzx/phyzzx.fonts | 106 + obsolete/macros/phyzzx/phyzzx.local | 108 + obsolete/macros/phyzzx/phyzzx.plus | 1066 +++ obsolete/macros/phyzzx/phyzzx.tex | 931 +++ obsolete/macros/scripttex/scrnplay.tex | 458 ++ obsolete/macros/scripttex/scrnwrit.bib | 48 + obsolete/macros/scripttex/stagplay.tex | 278 + obsolete/macros/scripttex/stdemo.tex | 132 + obsolete/macros/scripttex/stdoc.pdf | Bin 0 -> 167079 bytes obsolete/macros/scripttex/stdoc.tex | 1191 +++ obsolete/macros/texmuse/Doc/pdf/mainloop.pdf | 4778 +++++++++++ obsolete/macros/texmuse/Doc/pdf/running.pdf | 968 +++ obsolete/macros/texmuse/Doc/pdf/wants.pdf | 991 +++ obsolete/macros/texmuse/Doc/tex/mainloop.dvi | Bin 0 -> 52456 bytes obsolete/macros/texmuse/Doc/tex/mainloop.tex | 663 ++ obsolete/macros/texmuse/Doc/tex/mainloop1.mf | 45 + obsolete/macros/texmuse/Doc/tex/mainloop2.mf | 68 + obsolete/macros/texmuse/Doc/tex/mainloop3.mf | 73 + obsolete/macros/texmuse/Doc/tex/mainloop4.mf | 33 + obsolete/macros/texmuse/Doc/tex/mainloop5.mf | 39 + obsolete/macros/texmuse/Doc/tex/mainloop6.mf | 745 ++ obsolete/macros/texmuse/Doc/tex/running.dvi | Bin 0 -> 7400 bytes obsolete/macros/texmuse/Doc/tex/running.tex | 79 + obsolete/macros/texmuse/Doc/tex/wants.dvi | Bin 0 -> 6556 bytes obsolete/macros/texmuse/Doc/tex/wants.tex | 50 + obsolete/macros/texmuse/Program/texmuse.mf | 990 +++ obsolete/macros/texmuse/Program/texmuse.tex | 624 ++ obsolete/macros/texmuse/Program/txmfont.mf | 405 + obsolete/macros/texmuse/README | 52 + obsolete/macros/texmuse/README.txt | 1 + obsolete/macros/texmuse/Samples/pdf/aminor.pdf | Bin 0 -> 279113 bytes obsolete/macros/texmuse/Samples/pdf/bbmajor.pdf | 6199 +++++++++++++++ obsolete/macros/texmuse/Samples/pdf/cmajor.pdf | 5252 +++++++++++++ obsolete/macros/texmuse/Samples/pdf/cminor.pdf | 6316 +++++++++++++++ obsolete/macros/texmuse/Samples/pdf/dmajor.pdf | 5928 ++++++++++++++ obsolete/macros/texmuse/Samples/pdf/dminor.pdf | Bin 0 -> 235902 bytes obsolete/macros/texmuse/Samples/pdf/ebmajor.pdf | 7517 ++++++++++++++++++ obsolete/macros/texmuse/Samples/pdf/fmajor.pdf | 5897 ++++++++++++++ obsolete/macros/texmuse/Samples/tex/aminor.dvi | Bin 0 -> 4244 bytes obsolete/macros/texmuse/Samples/tex/aminor.tex | 76 + obsolete/macros/texmuse/Samples/tex/aminor1.mf | 980 +++ obsolete/macros/texmuse/Samples/tex/aminor2.mf | 1052 +++ obsolete/macros/texmuse/Samples/tex/aminor3.mf | 496 ++ obsolete/macros/texmuse/Samples/tex/bbmajor.dvi | Bin 0 -> 4392 bytes obsolete/macros/texmuse/Samples/tex/bbmajor.tex | 47 + obsolete/macros/texmuse/Samples/tex/bbmajor1.mf | 707 ++ obsolete/macros/texmuse/Samples/tex/bbmajor2.mf | 703 ++ obsolete/macros/texmuse/Samples/tex/bbmajor3.mf | 768 ++ obsolete/macros/texmuse/Samples/tex/bbmajor4.mf | 315 + obsolete/macros/texmuse/Samples/tex/cmajor.dvi | Bin 0 -> 3792 bytes obsolete/macros/texmuse/Samples/tex/cmajor.tex | 75 + obsolete/macros/texmuse/Samples/tex/cmajor1.mf | 961 +++ obsolete/macros/texmuse/Samples/tex/cmajor2.mf | 949 +++ obsolete/macros/texmuse/Samples/tex/cmajor3.mf | 138 + obsolete/macros/texmuse/Samples/tex/cminor.dvi | Bin 0 -> 4412 bytes obsolete/macros/texmuse/Samples/tex/cminor.tex | 80 + obsolete/macros/texmuse/Samples/tex/cminor1.mf | 790 ++ obsolete/macros/texmuse/Samples/tex/cminor2.mf | 869 ++ obsolete/macros/texmuse/Samples/tex/cminor3.mf | 890 +++ obsolete/macros/texmuse/Samples/tex/cminor4.mf | 236 + obsolete/macros/texmuse/Samples/tex/dmajor.dvi | Bin 0 -> 4252 bytes obsolete/macros/texmuse/Samples/tex/dmajor.tex | 57 + obsolete/macros/texmuse/Samples/tex/dmajor1.mf | 1014 +++ obsolete/macros/texmuse/Samples/tex/dmajor2.mf | 983 +++ obsolete/macros/texmuse/Samples/tex/dmajor3.mf | 436 + obsolete/macros/texmuse/Samples/tex/dmajor4.mf | 27 + obsolete/macros/texmuse/Samples/tex/dminor.dvi | Bin 0 -> 3704 bytes obsolete/macros/texmuse/Samples/tex/dminor.tex | 54 + obsolete/macros/texmuse/Samples/tex/dminor1.mf | 994 +++ obsolete/macros/texmuse/Samples/tex/dminor2.mf | 1013 +++ obsolete/macros/texmuse/Samples/tex/dminor3.mf | 169 + obsolete/macros/texmuse/Samples/tex/ebmajor.dvi | Bin 0 -> 5236 bytes obsolete/macros/texmuse/Samples/tex/ebmajor.tex | 49 + obsolete/macros/texmuse/Samples/tex/ebmajor1.mf | 780 ++ obsolete/macros/texmuse/Samples/tex/ebmajor2.mf | 796 ++ obsolete/macros/texmuse/Samples/tex/ebmajor3.mf | 801 ++ obsolete/macros/texmuse/Samples/tex/ebmajor4.mf | 740 ++ obsolete/macros/texmuse/Samples/tex/ebmajor5.mf | 159 + obsolete/macros/texmuse/Samples/tex/fmajor.dvi | Bin 0 -> 4172 bytes obsolete/macros/texmuse/Samples/tex/fmajor.tex | 56 + obsolete/macros/texmuse/Samples/tex/fmajor1.mf | 1068 +++ obsolete/macros/texmuse/Samples/tex/fmajor2.mf | 1062 +++ obsolete/macros/texmuse/Samples/tex/fmajor3.mf | 350 + obsolete/macros/text1/blocks/appendix.texblock | 16 + obsolete/macros/text1/blocks/asism.texblock | 5 + obsolete/macros/text1/blocks/asisp.texblock | 5 + obsolete/macros/text1/blocks/bibliog.texblock | 10 + obsolete/macros/text1/blocks/bquotem.texblock | 7 + obsolete/macros/text1/blocks/bquotep.texblock | 7 + obsolete/macros/text1/blocks/chapter.texblock | 13 + obsolete/macros/text1/blocks/contents.texblock | 35 + obsolete/macros/text1/blocks/enotem.texblock | 11 + obsolete/macros/text1/blocks/enotep.texblock | 11 + obsolete/macros/text1/blocks/figurem.texblock | 8 + obsolete/macros/text1/blocks/figurep.texblock | 8 + obsolete/macros/text1/blocks/fnotem.texblock | 14 + obsolete/macros/text1/blocks/fnotep.texblock | 14 + obsolete/macros/text1/blocks/fontm.texblock | 6 + obsolete/macros/text1/blocks/fontp.texblock | 6 + obsolete/macros/text1/blocks/index.texblock | 8 + obsolete/macros/text1/blocks/label.texblock | 6 + obsolete/macros/text1/blocks/lists.texblock | 13 + obsolete/macros/text1/blocks/maillbls.texblock | 17 + obsolete/macros/text1/blocks/marnote.texblock | 6 + obsolete/macros/text1/blocks/multicol.texblock | 10 + obsolete/macros/text1/blocks/pagem.texblock | 11 + obsolete/macros/text1/blocks/pagep.texblock | 11 + obsolete/macros/text1/blocks/parm.texblock | 6 + obsolete/macros/text1/blocks/parp.texblock | 11 + obsolete/macros/text1/blocks/part.texblock | 20 + obsolete/macros/text1/blocks/preface.texblock | 12 + obsolete/macros/text1/blocks/runfoot.texblock | 6 + obsolete/macros/text1/blocks/runhead.texblock | 6 + obsolete/macros/text1/blocks/subheada.texblock | 11 + obsolete/macros/text1/blocks/subheadb.texblock | 10 + obsolete/macros/text1/blocks/subheadc.texblock | 9 + obsolete/macros/text1/blocks/subheadd.texblock | 7 + obsolete/macros/text1/blocks/tablem.texblock | 8 + obsolete/macros/text1/blocks/tablep.texblock | 9 + obsolete/macros/text1/blocks/talaris.texblock | 6 + obsolete/macros/text1/blocks/titlepg.texblock | 4 + obsolete/macros/text1/changes.aug91 | 13 + obsolete/macros/text1/changes.aug92 | 10 + obsolete/macros/text1/changes.aug93 | 11 + obsolete/macros/text1/changes.dec93 | 11 + obsolete/macros/text1/changes.feb91 | 8 + obsolete/macros/text1/changes.jan92 | 11 + obsolete/macros/text1/changes.jun91 | 11 + obsolete/macros/text1/changes.jun96 | 14 + obsolete/macros/text1/changes.mar91 | 10 + obsolete/macros/text1/changes.mar92 | 16 + obsolete/macros/text1/changes.may92 | 28 + obsolete/macros/text1/changes.nov90 | 17 + obsolete/macros/text1/changes.nov92 | 9 + obsolete/macros/text1/changes.nov94 | 16 + obsolete/macros/text1/changes.sep91 | 12 + .../macros/text1/cms_help_files/1--footn.help4--f | 20 + .../macros/text1/cms_help_files/1--verti.helpvert | 21 + .../macros/text1/cms_help_files/10noter.helpfoot | 14 + .../macros/text1/cms_help_files/11noter.helpfoot | 23 + .../macros/text1/cms_help_files/12noter.helpfoot | 16 + .../macros/text1/cms_help_files/1block.helpbloc | 19 + .../macros/text1/cms_help_files/1every.helpfoot | 21 + .../macros/text1/cms_help_files/1everye.helpendn | 21 + .../macros/text1/cms_help_files/1everyf.helpfoot | 21 + .../macros/text1/cms_help_files/1numbe.helpsubh | 13 + .../macros/text1/cms_help_files/1number.helpsubh | 13 + .../macros/text1/cms_help_files/2--footn.help4--f | 15 + .../macros/text1/cms_help_files/2--verti.helpvert | 15 + .../macros/text1/cms_help_files/2block.helpbloc | 16 + .../macros/text1/cms_help_files/2footn.helpfoot | 21 + .../macros/text1/cms_help_files/2footno.helpfoot | 21 + .../macros/text1/cms_help_files/2skipbe.helpendn | 21 + .../macros/text1/cms_help_files/2title.helpsubh | 20 + .../macros/text1/cms_help_files/3befor.helpfoot | 21 + .../macros/text1/cms_help_files/3block.helpmenu | 14 + .../macros/text1/cms_help_files/3every.helpbloc | 21 + .../macros/text1/cms_help_files/3incon.helpsubh | 15 + .../macros/text1/cms_help_files/3incont.helpsubh | 15 + .../macros/text1/cms_help_files/3skipb.helpfoot | 22 + .../macros/text1/cms_help_files/3skipbe.helpfoot | 22 + .../macros/text1/cms_help_files/3textre.helpendn | 17 + .../macros/text1/cms_help_files/4footn.helpmenu | 18 + .../macros/text1/cms_help_files/4refer.helpfoot | 16 + .../macros/text1/cms_help_files/4skipaf.helpfoot | 22 + .../macros/text1/cms_help_files/4skipb.helpbloc | 17 + .../macros/text1/cms_help_files/4textre.helpendn | 14 + .../macros/text1/cms_help_files/5refer.helpfoot | 16 + .../macros/text1/cms_help_files/5skipa.helpbloc | 18 + .../macros/text1/cms_help_files/5textre.helpendn | 23 + .../macros/text1/cms_help_files/5textre.helpfoot | 17 + .../macros/text1/cms_help_files/6notere.helpendn | 17 + .../macros/text1/cms_help_files/6refer.helpfoot | 14 + .../macros/text1/cms_help_files/6textre.helpfoot | 17 + .../macros/text1/cms_help_files/7notere.helpendn | 14 + .../macros/text1/cms_help_files/7refer.helpfoot | 21 + .../macros/text1/cms_help_files/7textre.helpfoot | 14 + .../macros/text1/cms_help_files/8notere.helpendn | 23 + .../macros/text1/cms_help_files/8textre.helpfoot | 23 + .../macros/text1/cms_help_files/9notere.helpendn | 16 + .../macros/text1/cms_help_files/9notere.helpfoot | 17 + obsolete/macros/text1/cms_help_files/aen.helpmark | 72 + obsolete/macros/text1/cms_help_files/afn.helpmark | 58 + obsolete/macros/text1/cms_help_files/aib.helpmark | 84 + obsolete/macros/text1/cms_help_files/aie.helpmark | 37 + obsolete/macros/text1/cms_help_files/aif.helpmark | 76 + .../macros/text1/cms_help_files/anumbe.helpsubh | 13 + .../macros/text1/cms_help_files/anumber.helpsubh | 13 + obsolete/macros/text1/cms_help_files/apf.helpmark | 93 + obsolete/macros/text1/cms_help_files/app.helpmark | 30 + .../macros/text1/cms_help_files/appendix.helpbloc | 7 + .../macros/text1/cms_help_files/appendix.helpmenu | 103 + .../macros/text1/cms_help_files/asism.helpbloc | 7 + .../macros/text1/cms_help_files/asisp.helpbloc | 7 + obsolete/macros/text1/cms_help_files/bd.helpmark | 48 + obsolete/macros/text1/cms_help_files/bi.helpmark | 36 + obsolete/macros/text1/cms_help_files/bib.helpmark | 43 + .../macros/text1/cms_help_files/bibentry.helpmark | 57 + .../macros/text1/cms_help_files/bibliog.helpbloc | 7 + .../macros/text1/cms_help_files/bibliogr.helpmark | 54 + obsolete/macros/text1/cms_help_files/bie.helpmark | 51 + obsolete/macros/text1/cms_help_files/bif.helpmark | 248 + .../macros/text1/cms_help_files/bothpage.helpmenu | 12 + .../macros/text1/cms_help_files/bottomma.helppage | 21 + .../macros/text1/cms_help_files/bottomti.helpboth | 28 + .../macros/text1/cms_help_files/bottomti.helpeven | 28 + .../macros/text1/cms_help_files/bottomti.helpoddp | 28 + obsolete/macros/text1/cms_help_files/bqb.helpmark | 61 + obsolete/macros/text1/cms_help_files/bqe.helpmark | 47 + obsolete/macros/text1/cms_help_files/bqf.helpmark | 76 + .../macros/text1/cms_help_files/bquotem.helpbloc | 7 + .../macros/text1/cms_help_files/bquotep.helpbloc | 7 + .../macros/text1/cms_help_files/break.helpmark | 36 + .../macros/text1/cms_help_files/btitle.helpsubh | 20 + .../macros/text1/cms_help_files/btitlef.helpsubh | 18 + obsolete/macros/text1/cms_help_files/bul.helpmark | 44 + obsolete/macros/text1/cms_help_files/cc.helpmark | 33 + .../macros/text1/cms_help_files/cents.helpmark | 23 + obsolete/macros/text1/cms_help_files/chap.helpmark | 48 + .../macros/text1/cms_help_files/chapter.helpbloc | 7 + obsolete/macros/text1/cms_help_files/chf.helpmark | 98 + .../macros/text1/cms_help_files/chrono.changes | 3 + .../macros/text1/cms_help_files/cincon.helpsubh | 15 + .../macros/text1/cms_help_files/cincont.helpsubh | 15 + obsolete/macros/text1/cms_help_files/cl.helpmark | 38 + obsolete/macros/text1/cms_help_files/clb.helpmark | 68 + obsolete/macros/text1/cms_help_files/cle.helpmark | 38 + .../macros/text1/cms_help_files/contents.helpbloc | 7 + obsolete/macros/text1/cms_help_files/coul.helpmark | 21 + obsolete/macros/text1/cms_help_files/db.helpmark | 45 + obsolete/macros/text1/cms_help_files/dbm.helpmark | 26 + obsolete/macros/text1/cms_help_files/dbrs.helpmark | 27 + obsolete/macros/text1/cms_help_files/die.helpmark | 32 + obsolete/macros/text1/cms_help_files/dsp.helpmark | 41 + obsolete/macros/text1/cms_help_files/el.helpmark | 44 + obsolete/macros/text1/cms_help_files/enf.helpmark | 129 + .../macros/text1/cms_help_files/enotem.helpbloc | 7 + .../macros/text1/cms_help_files/enotep.helpbloc | 7 + obsolete/macros/text1/cms_help_files/ep.helpmark | 38 + obsolete/macros/text1/cms_help_files/epm.helpmark | 24 + obsolete/macros/text1/cms_help_files/ex.helpmark | 26 + obsolete/macros/text1/cms_help_files/fif.helpmark | 86 + obsolete/macros/text1/cms_help_files/fig.helpmark | 110 + .../macros/text1/cms_help_files/figurem.helpbloc | 7 + .../macros/text1/cms_help_files/figurep.helpbloc | 7 + obsolete/macros/text1/cms_help_files/fixf.helpmark | 34 + obsolete/macros/text1/cms_help_files/fnf.helpmark | 139 + .../macros/text1/cms_help_files/fnotem.helpbloc | 8 + .../macros/text1/cms_help_files/fnotep.helpbloc | 8 + obsolete/macros/text1/cms_help_files/font.helpmark | 51 + .../macros/text1/cms_help_files/fontm.helpbloc | 7 + .../macros/text1/cms_help_files/fontp.helpbloc | 8 + .../macros/text1/cms_help_files/footnote.helpmark | 63 + obsolete/macros/text1/cms_help_files/frac.helpmark | 52 + .../macros/text1/cms_help_files/frenchsp.helpmark | 53 + .../macros/text1/cms_help_files/goodbrea.helpmark | 33 + .../macros/text1/cms_help_files/halign.helpmark | 177 + obsolete/macros/text1/cms_help_files/hbox.helpmark | 36 + obsolete/macros/text1/cms_help_files/hin.helpmark | 48 + obsolete/macros/text1/cms_help_files/hof.helpmark | 54 + obsolete/macros/text1/cms_help_files/hon.helpmark | 54 + obsolete/macros/text1/cms_help_files/hp.helpmark | 48 + .../macros/text1/cms_help_files/hrule.helpmark | 44 + obsolete/macros/text1/cms_help_files/hs.helpmark | 47 + .../macros/text1/cms_help_files/hsize.helpmark | 49 + obsolete/macros/text1/cms_help_files/incl.helpmark | 89 + .../macros/text1/cms_help_files/indent.helpmark | 41 + .../macros/text1/cms_help_files/index.helpbloc | 7 + .../macros/text1/cms_help_files/input.helpmark | 46 + obsolete/macros/text1/cms_help_files/isk.helpmark | 46 + obsolete/macros/text1/cms_help_files/it.helpmark | 41 + .../macros/text1/cms_help_files/italicfa.helpmark | 21 + obsolete/macros/text1/cms_help_files/item.helpmark | 45 + obsolete/macros/text1/cms_help_files/ix.helpmark | 311 + obsolete/macros/text1/cms_help_files/ixf.helpmark | 260 + obsolete/macros/text1/cms_help_files/ju.helpmark | 42 + obsolete/macros/text1/cms_help_files/la.helpmark | 44 + .../macros/text1/cms_help_files/label.helpbloc | 7 + obsolete/macros/text1/cms_help_files/laf.helpmark | 120 + obsolete/macros/text1/cms_help_files/lbr.helpmark | 45 + .../macros/text1/cms_help_files/leader.helpmark | 47 + .../macros/text1/cms_help_files/letter.helpmode | 7 + obsolete/macros/text1/cms_help_files/lib.helpmark | 50 + obsolete/macros/text1/cms_help_files/lie.helpmark | 39 + obsolete/macros/text1/cms_help_files/lif.helpmark | 128 + obsolete/macros/text1/cms_help_files/lil.helpmark | 43 + obsolete/macros/text1/cms_help_files/lin.helpmark | 69 + obsolete/macros/text1/cms_help_files/line.helpmark | 56 + obsolete/macros/text1/cms_help_files/lint.helpmark | 25 + obsolete/macros/text1/cms_help_files/lir.helpmark | 46 + .../macros/text1/cms_help_files/lists.helpbloc | 7 + obsolete/macros/text1/cms_help_files/lnf.helpmark | 24 + obsolete/macros/text1/cms_help_files/lr.helpmark | 44 + .../macros/text1/cms_help_files/markup.helpmenu | 176 + .../macros/text1/cms_help_files/marnote.helpbloc | 7 + .../macros/text1/cms_help_files/mathdefa.helpmark | 24 + obsolete/macros/text1/cms_help_files/mcf.helpmark | 260 + obsolete/macros/text1/cms_help_files/memo.helpmode | 7 + obsolete/macros/text1/cms_help_files/mi.helpmark | 31 + obsolete/macros/text1/cms_help_files/mn.helpmark | 30 + obsolete/macros/text1/cms_help_files/mnf.helpmark | 53 + obsolete/macros/text1/cms_help_files/msp.helpmark | 91 + .../macros/text1/cms_help_files/multicol.helpbloc | 7 + obsolete/macros/text1/cms_help_files/nc.helpmark | 49 + obsolete/macros/text1/cms_help_files/nin.helpmark | 46 + .../macros/text1/cms_help_files/nobreak.helpmark | 39 + .../macros/text1/cms_help_files/nonfrenc.helpmark | 45 + obsolete/macros/text1/cms_help_files/np.helpmark | 36 + obsolete/macros/text1/cms_help_files/ntp.helpmark | 47 + obsolete/macros/text1/cms_help_files/numl.helpmark | 20 + obsolete/macros/text1/cms_help_files/oc.helpmark | 52 + obsolete/macros/text1/cms_help_files/opm.helpmark | 24 + obsolete/macros/text1/cms_help_files/paf.helpmark | 67 + .../macros/text1/cms_help_files/pagem.helpbloc | 7 + .../macros/text1/cms_help_files/pagep.helpbloc | 7 + .../macros/text1/cms_help_files/paper.helpmode | 7 + obsolete/macros/text1/cms_help_files/par.helpmark | 81 + obsolete/macros/text1/cms_help_files/parm.helpbloc | 8 + obsolete/macros/text1/cms_help_files/parp.helpbloc | 8 + obsolete/macros/text1/cms_help_files/part.helpbloc | 7 + obsolete/macros/text1/cms_help_files/part.helpmark | 32 + obsolete/macros/text1/cms_help_files/pb.helpmark | 47 + obsolete/macros/text1/cms_help_files/pen.helpmark | 42 + obsolete/macros/text1/cms_help_files/pf.helpmark | 83 + obsolete/macros/text1/cms_help_files/pic.helpmark | 97 + obsolete/macros/text1/cms_help_files/pin.helpmark | 46 + .../macros/text1/cms_help_files/plaintex.helpmark | 28 + obsolete/macros/text1/cms_help_files/pn.helpmark | 40 + obsolete/macros/text1/cms_help_files/ppl.helpmark | 21 + obsolete/macros/text1/cms_help_files/pre.helpmark | 31 + .../macros/text1/cms_help_files/preface.helpbloc | 7 + obsolete/macros/text1/cms_help_files/prf.helpmark | 42 + obsolete/macros/text1/cms_help_files/prin.helpmark | 20 + .../macros/text1/cms_help_files/printend.helpmark | 10 + .../macros/text1/cms_help_files/printind.helpmark | 58 + obsolete/macros/text1/cms_help_files/psk.helpmark | 62 + .../macros/text1/cms_help_files/qquad.helpmark | 39 + obsolete/macros/text1/cms_help_files/quad.helpmark | 40 + .../macros/text1/cms_help_files/raggedbo.helpmark | 16 + .../macros/text1/cms_help_files/resume.helpmode | 7 + obsolete/macros/text1/cms_help_files/rff.helpmark | 129 + obsolete/macros/text1/cms_help_files/rhf.helpmark | 115 + obsolete/macros/text1/cms_help_files/rin.helpmark | 79 + obsolete/macros/text1/cms_help_files/rl.helpmark | 29 + obsolete/macros/text1/cms_help_files/rlb.helpmark | 35 + obsolete/macros/text1/cms_help_files/rle.helpmark | 28 + obsolete/macros/text1/cms_help_files/rm.helpmark | 41 + obsolete/macros/text1/cms_help_files/rr.helpmark | 47 + obsolete/macros/text1/cms_help_files/rule.helpmark | 48 + .../macros/text1/cms_help_files/runfoot.helpbloc | 8 + .../macros/text1/cms_help_files/runhead.helpbloc | 8 + obsolete/macros/text1/cms_help_files/san.helpmark | 25 + obsolete/macros/text1/cms_help_files/sau.helpmark | 44 + obsolete/macros/text1/cms_help_files/scn.helpmark | 25 + obsolete/macros/text1/cms_help_files/senn.helpmark | 37 + .../macros/text1/cms_help_files/settabs.helpmark | 151 + obsolete/macros/text1/cms_help_files/sfn.helpmark | 37 + obsolete/macros/text1/cms_help_files/sfnn.helpmark | 39 + obsolete/macros/text1/cms_help_files/sfs.helpmark | 79 + obsolete/macros/text1/cms_help_files/sha.helpmark | 40 + obsolete/macros/text1/cms_help_files/shaf.helpmark | 85 + obsolete/macros/text1/cms_help_files/shb.helpmark | 40 + obsolete/macros/text1/cms_help_files/shbf.helpmark | 86 + obsolete/macros/text1/cms_help_files/shc.helpmark | 39 + obsolete/macros/text1/cms_help_files/shcf.helpmark | 81 + obsolete/macros/text1/cms_help_files/shd.helpmark | 33 + obsolete/macros/text1/cms_help_files/shdf.helpmark | 77 + obsolete/macros/text1/cms_help_files/sms.helpmark | 50 + .../macros/text1/cms_help_files/special.helpmark | 24 + obsolete/macros/text1/cms_help_files/spn.helpmark | 46 + obsolete/macros/text1/cms_help_files/sptn.helpmark | 23 + obsolete/macros/text1/cms_help_files/ssan.helpmark | 25 + obsolete/macros/text1/cms_help_files/ssbn.helpmark | 25 + obsolete/macros/text1/cms_help_files/sscn.helpmark | 25 + obsolete/macros/text1/cms_help_files/ssdn.helpmark | 25 + obsolete/macros/text1/cms_help_files/ssf.helpmark | 50 + obsolete/macros/text1/cms_help_files/ssp.helpmark | 43 + obsolete/macros/text1/cms_help_files/stn.helpmark | 37 + .../macros/text1/cms_help_files/strut.helpmark | 82 + .../macros/text1/cms_help_files/subheada.helpbloc | 7 + .../macros/text1/cms_help_files/subheadb.helpbloc | 7 + .../macros/text1/cms_help_files/subheadc.helpbloc | 7 + .../macros/text1/cms_help_files/subheadd.helpbloc | 7 + obsolete/macros/text1/cms_help_files/sy.helpmark | 26 + .../macros/text1/cms_help_files/tablem.helpbloc | 7 + .../macros/text1/cms_help_files/tablep.helpbloc | 7 + obsolete/macros/text1/cms_help_files/taf.helpmark | 56 + .../macros/text1/cms_help_files/talaris.helpbloc | 7 + obsolete/macros/text1/cms_help_files/tat.helpmark | 59 + .../macros/text1/cms_help_files/tenpt.helpmark | 42 + .../macros/text1/cms_help_files/text1.helpmark | 44 + obsolete/macros/text1/cms_help_files/thc.helpmark | 75 + .../macros/text1/cms_help_files/thesis.helpmode | 8 + .../macros/text1/cms_help_files/titlepg.helpbloc | 7 + obsolete/macros/text1/cms_help_files/toc.helpmark | 39 + obsolete/macros/text1/cms_help_files/tocf.helpmark | 478 ++ .../macros/text1/cms_help_files/toclbr.helpmark | 43 + .../macros/text1/cms_help_files/today.helpmark | 30 + .../macros/text1/cms_help_files/topline1.helpeven | 31 + .../macros/text1/cms_help_files/topline1.helpoddp | 31 + .../macros/text1/cms_help_files/topmargi.helppage | 21 + obsolete/macros/text1/cms_help_files/tp.helpmark | 44 + obsolete/macros/text1/cms_help_files/tpf.helpmark | 50 + obsolete/macros/text1/cms_help_files/tt.helpmark | 50 + obsolete/macros/text1/cms_help_files/twc.helpmark | 75 + .../macros/text1/cms_help_files/twelvept.helpmark | 44 + obsolete/macros/text1/cms_help_files/us.helpmark | 34 + obsolete/macros/text1/cms_help_files/vbox.helpmark | 32 + .../macros/text1/cms_help_files/vertical.helpvert | 21 + .../macros/text1/cms_help_files/vrule.helpmark | 19 + obsolete/macros/text1/cms_help_files/vs.helpmark | 53 + obsolete/macros/text1/cms_help_files/vsk.helpmark | 45 + .../macros/text1/cms_help_files/width.helppage | 13 + .../macros/text1/compugraphics_8600/et10.textext | 37 + .../macros/text1/compugraphics_8600/et11.textext | 37 + .../macros/text1/compugraphics_8600/et12.textext | 37 + .../macros/text1/compugraphics_8600/et14.textext | 37 + .../macros/text1/compugraphics_8600/et18.textext | 37 + .../macros/text1/compugraphics_8600/et8.textext | 37 + .../macros/text1/compugraphics_8600/et9.textext | 37 + .../macros/text1/compugraphics_8600/etb.fontinfo | 236 + .../macros/text1/compugraphics_8600/etbi.fontinfo | 233 + .../macros/text1/compugraphics_8600/eti.fontinfo | 233 + .../macros/text1/compugraphics_8600/etr.fontinfo | 236 + .../macros/text1/compugraphics_8600/etsc.fontinfo | 253 + .../text1/compugraphics_8600/fonttex.cmschan | 5 + .../macros/text1/compugraphics_8600/fonttex.exec | 23 + .../text1/compugraphics_8600/fonttex.outchan | 324 + .../macros/text1/compugraphics_8600/fonttex.web | 1936 +++++ .../macros/text1/compugraphics_8600/reblock.pascal | 34 + .../text1/compugraphics_8600/tex8600.cmschan | 1 + .../text1/compugraphics_8600/tex8600.outchan | 580 ++ .../macros/text1/compugraphics_8600/tex8600.web | 3034 +++++++ obsolete/macros/text1/docs/readme.tex | 209 + obsolete/macros/text1/docs/refman.ps.gz | Bin 0 -> 744715 bytes obsolete/macros/text1/fonts/cmr36.dump | 902 +++ obsolete/macros/text1/fonts/dt.240pk | Bin 0 -> 1536 bytes obsolete/macros/text1/fonts/dt.300pk | Bin 0 -> 1536 bytes obsolete/macros/text1/fonts/dt.mf | 17 + obsolete/macros/text1/fonts/dt.readme | 8 + obsolete/macros/text1/fonts/dt.tfm | Bin 0 -> 512 bytes obsolete/macros/text1/fonts/dt240.mf | 12 + obsolete/macros/text1/fonts/dt300.mf | 12 + obsolete/macros/text1/macintosh/texix.macinfo | 4 + obsolete/macros/text1/macintosh/texix.turbomac | 591 ++ .../macros/text1/macintosh/texix_macintosh.readme | 7 + .../macros/text1/macintosh/text1_index_sort.bin | Bin 0 -> 30976 bytes obsolete/macros/text1/macros/cgfonts.lclist | 124 + obsolete/macros/text1/macros/cm10.textext | 34 + obsolete/macros/text1/macros/cm108m.texmath | 10 + obsolete/macros/text1/macros/cm109m.texmath | 10 + obsolete/macros/text1/macros/cm11.textext | 40 + obsolete/macros/text1/macros/cm1110m.texmath | 10 + obsolete/macros/text1/macros/cm119m.texmath | 13 + obsolete/macros/text1/macros/cm12.textext | 37 + obsolete/macros/text1/macros/cm1210m.texmath | 10 + obsolete/macros/text1/macros/cm1211m.texmath | 13 + obsolete/macros/text1/macros/cm14.textext | 37 + obsolete/macros/text1/macros/cm1412m.texmath | 13 + obsolete/macros/text1/macros/cm18.textext | 37 + obsolete/macros/text1/macros/cm1814m.texmath | 13 + obsolete/macros/text1/macros/cm24.textext | 37 + obsolete/macros/text1/macros/cm2418m.texmath | 13 + obsolete/macros/text1/macros/cm36.textext | 37 + obsolete/macros/text1/macros/cm5.textext | 51 + obsolete/macros/text1/macros/cm6.textext | 49 + obsolete/macros/text1/macros/cm65m.texmath | 10 + obsolete/macros/text1/macros/cm7.textext | 45 + obsolete/macros/text1/macros/cm75m.texmath | 7 + obsolete/macros/text1/macros/cm76m.texmath | 10 + obsolete/macros/text1/macros/cm8.textext | 40 + obsolete/macros/text1/macros/cm86m.texmath | 13 + obsolete/macros/text1/macros/cm87m.texmath | 10 + obsolete/macros/text1/macros/cm9.textext | 40 + obsolete/macros/text1/macros/cm97m.texmath | 10 + obsolete/macros/text1/macros/cm98m.texmath | 13 + obsolete/macros/text1/macros/cmsan10.textext | 46 + obsolete/macros/text1/macros/cmsan11.textext | 46 + obsolete/macros/text1/macros/cmsan12.textext | 46 + obsolete/macros/text1/macros/cmsan14.textext | 46 + obsolete/macros/text1/macros/cmsan18.textext | 46 + obsolete/macros/text1/macros/cmsan24.textext | 46 + obsolete/macros/text1/macros/cmsan36.textext | 46 + obsolete/macros/text1/macros/cmsan8.textext | 49 + obsolete/macros/text1/macros/cmsan9.textext | 46 + obsolete/macros/text1/macros/fixcol.tex | 155 + obsolete/macros/text1/macros/flexcol.tex | 329 + obsolete/macros/text1/macros/text1.tex | 3 + obsolete/macros/text1/macros/txt1v409.tex | 3536 +++++++++ obsolete/macros/text1/models/letter.texinput | 51 + obsolete/macros/text1/models/letter.texmodel | 45 + obsolete/macros/text1/models/memo.texinput | 48 + obsolete/macros/text1/models/memo.texmodel | 21 + obsolete/macros/text1/models/mergelet.texmodel | 77 + obsolete/macros/text1/models/mergelst.texmodel | 17 + obsolete/macros/text1/models/mergetxt.texinput | 184 + obsolete/macros/text1/models/mergetxt.texmodel | 96 + obsolete/macros/text1/models/paper.texinput | 10 + obsolete/macros/text1/models/paper.texmodel | 28 + obsolete/macros/text1/models/resume.texinput | 62 + obsolete/macros/text1/models/resume.texmodel | 69 + obsolete/macros/text1/models/thesis.texinput | 159 + obsolete/macros/text1/models/thesis.texmodel | 139 + obsolete/macros/text1/pc/blocks/appendix.blk | 16 + obsolete/macros/text1/pc/blocks/asism.blk | 5 + obsolete/macros/text1/pc/blocks/asisp.blk | 5 + obsolete/macros/text1/pc/blocks/bibliog.blk | 10 + obsolete/macros/text1/pc/blocks/bquotem.blk | 7 + obsolete/macros/text1/pc/blocks/bquotep.blk | 7 + obsolete/macros/text1/pc/blocks/chapter.blk | 13 + obsolete/macros/text1/pc/blocks/contents.blk | 35 + obsolete/macros/text1/pc/blocks/enotem.blk | 11 + obsolete/macros/text1/pc/blocks/enotep.blk | 11 + obsolete/macros/text1/pc/blocks/figurem.blk | 8 + obsolete/macros/text1/pc/blocks/figurep.blk | 8 + obsolete/macros/text1/pc/blocks/fnotem.blk | 14 + obsolete/macros/text1/pc/blocks/fnotep.blk | 14 + obsolete/macros/text1/pc/blocks/fontm.blk | 6 + obsolete/macros/text1/pc/blocks/fontp.blk | 6 + obsolete/macros/text1/pc/blocks/index.blk | 8 + obsolete/macros/text1/pc/blocks/label.blk | 6 + obsolete/macros/text1/pc/blocks/lists.blk | 13 + obsolete/macros/text1/pc/blocks/maillbls.blk | 17 + obsolete/macros/text1/pc/blocks/marnote.blk | 6 + obsolete/macros/text1/pc/blocks/multicol.blk | 10 + obsolete/macros/text1/pc/blocks/pagem.blk | 11 + obsolete/macros/text1/pc/blocks/pagep.blk | 11 + obsolete/macros/text1/pc/blocks/parm.blk | 6 + obsolete/macros/text1/pc/blocks/parp.blk | 11 + obsolete/macros/text1/pc/blocks/part.blk | 20 + obsolete/macros/text1/pc/blocks/preface.blk | 12 + obsolete/macros/text1/pc/blocks/runfoot.blk | 6 + obsolete/macros/text1/pc/blocks/runhead.blk | 6 + obsolete/macros/text1/pc/blocks/subheada.blk | 11 + obsolete/macros/text1/pc/blocks/subheadb.blk | 10 + obsolete/macros/text1/pc/blocks/subheadc.blk | 9 + obsolete/macros/text1/pc/blocks/subheadd.blk | 7 + obsolete/macros/text1/pc/blocks/tablem.blk | 8 + obsolete/macros/text1/pc/blocks/tablep.blk | 9 + obsolete/macros/text1/pc/blocks/talaris.blk | 6 + obsolete/macros/text1/pc/blocks/titlepg.blk | 4 + obsolete/macros/text1/pc/fonts/dt.pk | Bin 0 -> 1536 bytes obsolete/macros/text1/pc/misc/cm10.txt | 34 + obsolete/macros/text1/pc/misc/cm108m.mth | 10 + obsolete/macros/text1/pc/misc/cm109m.mth | 10 + obsolete/macros/text1/pc/misc/cm11.txt | 40 + obsolete/macros/text1/pc/misc/cm1110m.mth | 10 + obsolete/macros/text1/pc/misc/cm119m.mth | 13 + obsolete/macros/text1/pc/misc/cm12.txt | 37 + obsolete/macros/text1/pc/misc/cm1210m.mth | 10 + obsolete/macros/text1/pc/misc/cm1211m.mth | 13 + obsolete/macros/text1/pc/misc/cm14.txt | 37 + obsolete/macros/text1/pc/misc/cm1412m.mth | 13 + obsolete/macros/text1/pc/misc/cm18.txt | 37 + obsolete/macros/text1/pc/misc/cm1814m.mth | 13 + obsolete/macros/text1/pc/misc/cm24.txt | 37 + obsolete/macros/text1/pc/misc/cm2418m.mth | 13 + obsolete/macros/text1/pc/misc/cm36.txt | 37 + obsolete/macros/text1/pc/misc/cm5.txt | 51 + obsolete/macros/text1/pc/misc/cm6.txt | 49 + obsolete/macros/text1/pc/misc/cm65m.mth | 10 + obsolete/macros/text1/pc/misc/cm7.txt | 45 + obsolete/macros/text1/pc/misc/cm75m.mth | 7 + obsolete/macros/text1/pc/misc/cm76m.mth | 10 + obsolete/macros/text1/pc/misc/cm8.txt | 40 + obsolete/macros/text1/pc/misc/cm86m.mth | 13 + obsolete/macros/text1/pc/misc/cm87m.mth | 10 + obsolete/macros/text1/pc/misc/cm9.txt | 40 + obsolete/macros/text1/pc/misc/cm97m.mth | 10 + obsolete/macros/text1/pc/misc/cm98m.mth | 13 + obsolete/macros/text1/pc/misc/cmsan10.txt | 46 + obsolete/macros/text1/pc/misc/cmsan11.txt | 46 + obsolete/macros/text1/pc/misc/cmsan12.txt | 46 + obsolete/macros/text1/pc/misc/cmsan14.txt | 46 + obsolete/macros/text1/pc/misc/cmsan18.txt | 46 + obsolete/macros/text1/pc/misc/cmsan24.txt | 46 + obsolete/macros/text1/pc/misc/cmsan36.txt | 46 + obsolete/macros/text1/pc/misc/cmsan8.txt | 49 + obsolete/macros/text1/pc/misc/cmsan9.txt | 46 + obsolete/macros/text1/pc/models/letter.inp | 51 + obsolete/macros/text1/pc/models/letter.mdl | 45 + obsolete/macros/text1/pc/models/memo.inp | 48 + obsolete/macros/text1/pc/models/memo.mdl | 21 + obsolete/macros/text1/pc/models/mergelet.mdl | 77 + obsolete/macros/text1/pc/models/mergelst.mdl | 17 + obsolete/macros/text1/pc/models/mergetxt.inp | 184 + obsolete/macros/text1/pc/models/mergetxt.mdl | 96 + obsolete/macros/text1/pc/models/paper.inp | 10 + obsolete/macros/text1/pc/models/paper.mdl | 28 + obsolete/macros/text1/pc/models/resume.inp | 62 + obsolete/macros/text1/pc/models/resume.mdl | 69 + obsolete/macros/text1/pc/models/thesis.inp | 159 + obsolete/macros/text1/pc/models/thesis.mdl | 139 + obsolete/macros/text1/pc/readme.tex | 38 + obsolete/macros/text1/texix/plsort.pliopt | 9 + obsolete/macros/text1/texix/texix.cmschan | 3 + obsolete/macros/text1/texix/texix.cmsinfo | 5 + obsolete/macros/text1/texix/texix.readme | 4 + obsolete/macros/text1/texix/texix.web | 1577 ++++ obsolete/macros/text1/texix/txt1v293.cmschan | 2000 +++++ obsolete/macros/text1/vax_vms/compile_texix.com | 10 + obsolete/macros/text1/vax_vms/sortcall.pen | Bin 0 -> 1536 bytes obsolete/macros/text1/vax_vms/texix.ch | 509 ++ obsolete/macros/text1/vax_vms/texix_vms.readme | 12 + obsolete/macros/text1/vax_vms/vmssort.pas | 78 + obsolete/macros/ytex/ybase.mac | 914 +++ obsolete/macros/ytex/yfonts.mac | 155 + obsolete/macros/ytex/ylog.mac | 494 ++ obsolete/macros/ytex/ysite.mac | 11 + obsolete/macros/ytex/ytex-cm.tex | 4 + obsolete/macros/ytex/ytex.ieee | 250 + obsolete/macros/ytex/ytex.mac | 92 + obsolete/macros/ytex/ytex.mail | 75 + obsolete/macros/ytex/yusage.lst | 55 + obsolete/macros/ytex/yusage.tex | 1772 +++++ obsolete/macros/ytex/yuser.mac | 1351 ++++ support/TeX4ht/source/ChangeLog | 6 + support/TeX4ht/source/tex4ht-4ht.tex | 32 +- support/TeX4ht/source/tex4ht-mathml.tex | 6 +- support/TeX4ht/source/tex4ht-ooffice.tex | 12 +- support/bib2gls/CHANGES | 11 + support/bib2gls/README.md | 2 +- support/bib2gls/bib2gls-begin.pdf | Bin 720293 -> 720287 bytes support/bib2gls/bib2gls-en.xml | 3 + support/bib2gls/bib2gls.1 | 10 +- support/bib2gls/bib2gls.pdf | Bin 5352359 -> 5353372 bytes support/bib2gls/examples/sample-authors.pdf | Bin 51564 -> 51552 bytes support/bib2gls/examples/sample-bacteria.pdf | Bin 54287 -> 54280 bytes support/bib2gls/examples/sample-chemical.pdf | Bin 54079 -> 54064 bytes support/bib2gls/examples/sample-citations.pdf | Bin 49756 -> 49744 bytes support/bib2gls/examples/sample-constants.pdf | Bin 97833 -> 97818 bytes support/bib2gls/examples/sample-hierarchical.pdf | Bin 52565 -> 52553 bytes .../bib2gls/examples/sample-markuplanguages.pdf | Bin 61161 -> 61149 bytes support/bib2gls/examples/sample-maths.pdf | Bin 121264 -> 121252 bytes support/bib2gls/examples/sample-media.pdf | Bin 166598 -> 166586 bytes support/bib2gls/examples/sample-msymbols.pdf | Bin 109259 -> 109247 bytes support/bib2gls/examples/sample-multi1.pdf | Bin 255485 -> 255473 bytes support/bib2gls/examples/sample-multi2.pdf | Bin 330891 -> 330879 bytes support/bib2gls/examples/sample-nested.pdf | Bin 52578 -> 52565 bytes support/bib2gls/examples/sample-people.pdf | Bin 50331 -> 50319 bytes support/bib2gls/examples/sample-textsymbols.pdf | Bin 73107 -> 73095 bytes support/bib2gls/examples/sample-textsymbols2.pdf | Bin 70316 -> 70301 bytes support/bib2gls/examples/sample-units1.pdf | Bin 57356 -> 57344 bytes support/bib2gls/examples/sample-units2.pdf | Bin 59092 -> 59080 bytes support/bib2gls/examples/sample-units3.pdf | Bin 44654 -> 44643 bytes support/bib2gls/examples/sample-usergroups.pdf | Bin 24418 -> 24421 bytes support/bib2gls/src/bib2gls.bib | 19 +- support/bib2gls/src/bib2gls.pod | 10 + support/bib2gls/src/bib2gls.tex | 18 +- support/musixtex | 2 +- .../texlive/tlnet/tlpkg/installer/ctan-mirrors.pl | 5 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb | 86 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 | 2 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 | 2 +- .../texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc | 16 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz | Bin 2524840 -> 2525028 bytes timestamp | 2 +- 2047 files changed, 273080 insertions(+), 272885 deletions(-) delete mode 100644 macros/alatex/alatex-1.0/0areadme.txt delete mode 100644 macros/alatex/alatex-1.0/COPYING delete mode 100644 macros/alatex/alatex-1.0/Makefile delete mode 120000 macros/alatex/alatex-1.0/README delete mode 100644 macros/alatex/alatex-1.0/VERSION-1.0 delete mode 100644 macros/alatex/alatex-1.0/abugs.txt delete mode 100644 macros/alatex/alatex-1.0/ainstall.txt delete mode 100644 macros/alatex/alatex-1.0/alatex.dtx delete mode 100644 macros/alatex/alatex-1.0/alatex.tex delete mode 100644 macros/alatex/alatex-1.0/amanifst.txt delete mode 100644 macros/alatex/alatex-1.0/aunpack.ins delete mode 100644 macros/alatex/alatex-1.0/aunpcked.txt delete mode 100644 macros/blu/address.dat delete mode 100644 macros/blu/blue.tex delete mode 100644 macros/blu/fmt.dat delete mode 100644 macros/blu/lit.dat delete mode 100644 macros/blu/pic.dat delete mode 100644 macros/blu/readme.fst delete mode 100644 macros/blu/tools.dat delete mode 100644 macros/fotex/fotex.ini delete mode 100644 macros/fotex/fotex.ltx delete mode 100644 macros/fotex/mathml.ltx delete mode 100644 macros/fotex/pdffotex.ini delete mode 100644 macros/inrstex/inrsdoc/boxex.tex delete mode 100644 macros/inrstex/inrsdoc/genins.tex delete mode 100644 macros/inrstex/inrsdoc/helphdr.tex delete mode 100644 macros/inrstex/inrsdoc/ieeelogo.ps delete mode 100644 macros/inrstex/inrsdoc/index.tex delete mode 100644 macros/inrstex/inrsdoc/indsort delete mode 100644 macros/inrstex/inrsdoc/indsort.c delete mode 100644 macros/inrstex/inrsdoc/inrslogo.tex delete mode 100644 macros/inrstex/inrsdoc/inrssl.tex delete mode 100644 macros/inrstex/inrsdoc/inrsunix.sh delete mode 100644 macros/inrstex/inrsdoc/masth.ctg delete mode 100644 macros/inrstex/inrsdoc/masth.ind delete mode 100644 macros/inrstex/inrsdoc/masth.sor delete mode 100644 macros/inrstex/inrsdoc/masth.sta delete mode 100644 macros/inrstex/inrsdoc/masth.tex delete mode 100644 macros/inrstex/inrsdoc/masth_chap delete mode 100644 macros/inrstex/inrsdoc/mastoc.tex delete mode 100644 macros/inrstex/inrsdoc/mastps delete mode 100644 macros/inrstex/inrsdoc/mjf.tex delete mode 100644 macros/inrstex/inrsdoc/pagdiag.tex delete mode 100644 macros/inrstex/inrsdoc/psalm23.tex delete mode 100644 macros/inrstex/inrsdoc/secthead.tex delete mode 100644 macros/inrstex/inrsdoc/status.tex delete mode 100644 macros/inrstex/inrsdoc/thalign.tex delete mode 100644 macros/inrstex/inrsdoc/thauto.tex delete mode 100644 macros/inrstex/inrsdoc/thbas.tex delete mode 100644 macros/inrstex/inrsdoc/thbasbox.tex delete mode 100644 macros/inrstex/inrsdoc/thbreak.tex delete mode 100644 macros/inrstex/inrsdoc/thcite.tex delete mode 100644 macros/inrstex/inrsdoc/thcont.tex delete mode 100644 macros/inrstex/inrsdoc/thcover.tex delete mode 100644 macros/inrstex/inrsdoc/thdefs.tex delete mode 100644 macros/inrstex/inrsdoc/thdimnum.tex delete mode 100644 macros/inrstex/inrsdoc/thdocsty.tex delete mode 100644 macros/inrstex/inrsdoc/thfigtbl.tex delete mode 100644 macros/inrstex/inrsdoc/thfonts.tex delete mode 100644 macros/inrstex/inrsdoc/thftnote.tex delete mode 100644 macros/inrstex/inrsdoc/thglue.tex delete mode 100644 macros/inrstex/inrsdoc/thgraph.tex delete mode 100644 macros/inrstex/inrsdoc/thindex.tex delete mode 100644 macros/inrstex/inrsdoc/thlists.tex delete mode 100644 macros/inrstex/inrsdoc/thmateq.tex delete mode 100644 macros/inrstex/inrsdoc/thmatsym.tex delete mode 100644 macros/inrstex/inrsdoc/thmulcol.tex delete mode 100644 macros/inrstex/inrsdoc/thover.tex delete mode 100644 macros/inrstex/inrsdoc/thp2.tex delete mode 100644 macros/inrstex/inrsdoc/thpagsiz.tex delete mode 100644 macros/inrstex/inrsdoc/thpagsty.tex delete mode 100644 macros/inrstex/inrsdoc/thparcon.tex delete mode 100644 macros/inrstex/inrsdoc/thshead.tex delete mode 100644 macros/inrstex/inrsdoc/thspac.tex delete mode 100644 macros/inrstex/inrsdoc/thstart.tex delete mode 100644 macros/inrstex/inrsdoc/thsubdoc.tex delete mode 100644 macros/inrstex/inrsdoc/thtoc.tex delete mode 100644 macros/inrstex/inrsinputs/UQlogo.epsf delete mode 100644 macros/inrstex/inrsinputs/bilingue.tex delete mode 100644 macros/inrstex/inrsinputs/booksty.tex delete mode 100644 macros/inrstex/inrsinputs/centerh.tex delete mode 100644 macros/inrstex/inrsinputs/cm_11.tex delete mode 100644 macros/inrstex/inrsinputs/dvialw.ps delete mode 100644 macros/inrstex/inrsinputs/enfrtwo.tex delete mode 100644 macros/inrstex/inrsinputs/english.tex delete mode 100644 macros/inrstex/inrsinputs/francais.tex delete mode 100644 macros/inrstex/inrsinputs/helphdr.tex delete mode 100644 macros/inrstex/inrsinputs/ieeelogo.ps delete mode 100644 macros/inrstex/inrsinputs/inrslogo.tex delete mode 100644 macros/inrstex/inrsinputs/inrssl.tex delete mode 100644 macros/inrstex/inrsinputs/inrssty.tex delete mode 100644 macros/inrstex/inrsinputs/inrstemp.tex delete mode 100644 macros/inrstex/inrsinputs/oldspace.tex delete mode 100644 macros/inrstex/inrsinputs/papersty.tex delete mode 100644 macros/inrstex/inrsinputs/spfont.tex delete mode 100644 macros/inrstex/inrsinputs/texgraph.tex delete mode 100644 macros/inrstex/inrsinputs/verbatim.tex delete mode 100644 macros/inrstex/inrstex/abstract.tex delete mode 100644 macros/inrstex/inrstex/appendix.tex delete mode 100644 macros/inrstex/inrstex/auto.tex delete mode 100644 macros/inrstex/inrstex/cite.tex delete mode 100644 macros/inrstex/inrstex/compat3.tex delete mode 100644 macros/inrstex/inrstex/compatib.tex delete mode 100644 macros/inrstex/inrstex/english.tex delete mode 100644 macros/inrstex/inrstex/enhyph.tex delete mode 100644 macros/inrstex/inrstex/enhyphex.tex delete mode 100644 macros/inrstex/inrstex/eqtag.tex delete mode 100644 macros/inrstex/inrstex/extdef.tex delete mode 100644 macros/inrstex/inrstex/extdef3.tex delete mode 100644 macros/inrstex/inrstex/footnote.tex delete mode 100644 macros/inrstex/inrstex/frhyph.tex delete mode 100644 macros/inrstex/inrstex/genins.tex delete mode 100644 macros/inrstex/inrstex/graph_ps.tex delete mode 100644 macros/inrstex/inrstex/hyphen.tex delete mode 100644 macros/inrstex/inrstex/inrs.scr delete mode 100644 macros/inrstex/inrstex/inrsdef.tex delete mode 100644 macros/inrstex/inrstex/inrsfncm.tex delete mode 100644 macros/inrstex/inrstex/inrstex.tex delete mode 100644 macros/inrstex/inrstex/inrsunix.sh delete mode 100644 macros/inrstex/inrstex/inrsutil.tex delete mode 100644 macros/inrstex/inrstex/linespac.tex delete mode 100644 macros/inrstex/inrstex/lists.tex delete mode 100644 macros/inrstex/inrstex/margform.tex delete mode 100644 macros/inrstex/inrstex/masthyph.tex delete mode 100644 macros/inrstex/inrstex/multicol.tex delete mode 100644 macros/inrstex/inrstex/multlang.tex delete mode 100644 macros/inrstex/inrstex/out_ps.tex delete mode 100644 macros/inrstex/inrstex/pagsty.tex delete mode 100644 macros/inrstex/inrstex/papersty.tex delete mode 100644 macros/inrstex/inrstex/plain_nh.tex delete mode 100644 macros/inrstex/inrstex/plainmod.tex delete mode 100644 macros/inrstex/inrstex/plaipars.tex delete mode 100644 macros/inrstex/inrstex/prelhead.tex delete mode 100644 macros/inrstex/inrstex/secthead.tex delete mode 100644 macros/inrstex/inrstex/specform.tex delete mode 100644 macros/inrstex/inrstex/subdoc.tex delete mode 100644 macros/inrstex/inrstex/tables.tex delete mode 100644 macros/inrstex/inrstex/tag.tex delete mode 100644 macros/inrstex/inrstex/tocform.tex delete mode 100644 macros/inrstex/inrstex/writdos.tex delete mode 100644 macros/inrstex/inrstex/writfile.tex delete mode 100644 macros/inrstex/inrstex/writunix.tex delete mode 100644 macros/inrstex/pc/readme.txt delete mode 100644 macros/inrstex/texgraph/ieeelogo.ps delete mode 100644 macros/inrstex/texgraph/inrslogo.tex delete mode 100644 macros/inrstex/texgraph/inrssl.tex delete mode 100644 macros/inrstex/texgraph/readme delete mode 100644 macros/inrstex/texgraph/spfont.tex delete mode 100644 macros/inrstex/texgraph/test_lat.aux delete mode 100644 macros/inrstex/texgraph/test_lat.tex delete mode 100644 macros/inrstex/texgraph/testinrs.tex delete mode 100644 macros/inrstex/texgraph/texgraph.sty delete mode 100644 macros/inrstex/texgraph/texgraph.tex delete mode 100644 macros/inrstex/texgraph/thgraph.ps delete mode 100644 macros/lollipop/README delete mode 100644 macros/lollipop/config/lollipop.ini delete mode 100644 macros/lollipop/doc/manual/address.tex delete mode 100644 macros/lollipop/doc/manual/appendix.tex delete mode 100644 macros/lollipop/doc/manual/btxmac.tex delete mode 100644 macros/lollipop/doc/manual/comm.tex delete mode 100644 macros/lollipop/doc/manual/comment.tex delete mode 100644 macros/lollipop/doc/manual/example.tex delete mode 100644 macros/lollipop/doc/manual/extern.tex delete mode 100644 macros/lollipop/doc/manual/head.tex delete mode 100644 macros/lollipop/doc/manual/list.tex delete mode 100644 macros/lollipop/doc/manual/lollipop-manual.bib delete mode 100644 macros/lollipop/doc/manual/lollipop-manual.pdf delete mode 100644 macros/lollipop/doc/manual/lollipop-manual.tex delete mode 100644 macros/lollipop/doc/manual/mandefs.tex delete mode 100644 macros/lollipop/doc/manual/opt.tex delete mode 100644 macros/lollipop/doc/manual/out.tex delete mode 100644 macros/lollipop/doc/manual/prelim.tex delete mode 100644 macros/lollipop/doc/manual/struct.tex delete mode 100644 macros/lollipop/doc/manual/titlepag.tex delete mode 100644 macros/lollipop/doc/manual/trace.tex delete mode 100644 macros/lollipop/doc/tex-inde.xen delete mode 100644 macros/lollipop/tex/lollipop-define.tex delete mode 100644 macros/lollipop/tex/lollipop-document.tex delete mode 100644 macros/lollipop/tex/lollipop-float.tex delete mode 100644 macros/lollipop/tex/lollipop-fontdefs.tex delete mode 100644 macros/lollipop/tex/lollipop-fonts.tex delete mode 100644 macros/lollipop/tex/lollipop-heading.tex delete mode 100644 macros/lollipop/tex/lollipop-lists.tex delete mode 100644 macros/lollipop/tex/lollipop-output.tex delete mode 100644 macros/lollipop/tex/lollipop-plain.tex delete mode 100644 macros/lollipop/tex/lollipop-text.tex delete mode 100644 macros/lollipop/tex/lollipop-tools.tex delete mode 100644 macros/lollipop/tex/lollipop.tex delete mode 100644 macros/mtex/README delete mode 100644 macros/mtex/documentation/mdoc.tex delete mode 100644 macros/mtex/documentation/mdoc1.tex delete mode 100644 macros/mtex/documentation/mdoc10.tex delete mode 100644 macros/mtex/documentation/mdoc11.tex delete mode 100644 macros/mtex/documentation/mdoc12.tex delete mode 100644 macros/mtex/documentation/mdoc13.tex delete mode 100644 macros/mtex/documentation/mdoc2.tex delete mode 100644 macros/mtex/documentation/mdoc3.tex delete mode 100644 macros/mtex/documentation/mdoc4.tex delete mode 100644 macros/mtex/documentation/mdoc5.tex delete mode 100644 macros/mtex/documentation/mdoc6.tex delete mode 100644 macros/mtex/documentation/mdoc7.tex delete mode 100644 macros/mtex/documentation/mdoc8.tex delete mode 100644 macros/mtex/documentation/mdoc9.tex delete mode 100644 macros/mtex/documentation/mdocabst.tex delete mode 100644 macros/mtex/documentation/mdocams.tex delete mode 100644 macros/mtex/documentation/mdocanha.tex delete mode 100644 macros/mtex/documentation/mdocanhb.tex delete mode 100644 macros/mtex/documentation/mdocanhc.tex delete mode 100644 macros/mtex/documentation/mdocanhd.tex delete mode 100644 macros/mtex/documentation/mdocdef.tex delete mode 100644 macros/mtex/documentation/mdocdef2.tex delete mode 100644 macros/mtex/documentation/mdoceinl.tex delete mode 100644 macros/mtex/documentation/mdocinh.tex delete mode 100644 macros/mtex/documentation/mdocpic1.tex delete mode 100644 macros/mtex/documentation/mdocpic2.tex delete mode 100644 macros/mtex/documentation/mdocpic3.tex delete mode 100644 macros/mtex/documentation/mdocpic4.tex delete mode 100644 macros/mtex/documentation/mdoctit.tex delete mode 100644 macros/mtex/documentation/mdoctrns.tex delete mode 100644 macros/mtex/documentation/mdocverb.tex delete mode 100644 macros/mtex/documentation/webmac.tex delete mode 100644 macros/mtex/macros/mtex.tex delete mode 100644 macros/mtex/macros/mtexdemo.tex delete mode 100644 macros/mtex/macros/mtexinfo.tex delete mode 100644 macros/mtex/metafont/acc16.mf delete mode 100644 macros/mtex/metafont/beam16.mf delete mode 100644 macros/mtex/metafont/music16.mf delete mode 100644 macros/mtex/metafont/musicdef.mf delete mode 100644 macros/mtex/metafont/noten16.mf delete mode 100644 macros/mtex/metafont/pause16.mf delete mode 100644 macros/mtex/metafont/slur16.mf delete mode 100644 macros/mtex/metafont/slurdd16.mf delete mode 100644 macros/mtex/metafont/slurdu16.mf delete mode 100644 macros/mtex/metafont/slurud16.mf delete mode 100644 macros/mtex/metafont/sluruu16.mf delete mode 100644 macros/mtex/metafont/sonder16.mf delete mode 100644 macros/mtex/metafont/vio16.mf delete mode 100644 macros/physe/physe.doc delete mode 100644 macros/physe/physe.tex delete mode 100644 macros/physe/physupdt.tex delete mode 100644 macros/phyzzx/myphyx.tex delete mode 100644 macros/phyzzx/phyzdoc.tex delete mode 100644 macros/phyzzx/phyzzx.fonts delete mode 100644 macros/phyzzx/phyzzx.local delete mode 100644 macros/phyzzx/phyzzx.plus delete mode 100644 macros/phyzzx/phyzzx.tex create mode 100644 macros/plain/formats/lollipop/README create mode 100644 macros/plain/formats/lollipop/config/lollipop.ini create mode 100644 macros/plain/formats/lollipop/doc/manual/address.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/appendix.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/btxmac.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/comm.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/comment.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/example.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/extern.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/head.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/list.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/lollipop-manual.bib create mode 100644 macros/plain/formats/lollipop/doc/manual/lollipop-manual.pdf create mode 100644 macros/plain/formats/lollipop/doc/manual/lollipop-manual.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/mandefs.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/opt.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/out.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/prelim.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/struct.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/titlepag.tex create mode 100644 macros/plain/formats/lollipop/doc/manual/trace.tex create mode 100644 macros/plain/formats/lollipop/doc/tex-inde.xen create mode 100644 macros/plain/formats/lollipop/tex/lollipop-define.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-document.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-float.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-fontdefs.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-fonts.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-heading.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-lists.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-output.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-plain.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-text.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop-tools.tex create mode 100644 macros/plain/formats/lollipop/tex/lollipop.tex create mode 100644 macros/plain/formats/psizzl/aaaread.me create mode 100644 macros/plain/formats/psizzl/chapters.psizzl create mode 100644 macros/plain/formats/psizzl/citation.psizzl create mode 100644 macros/plain/formats/psizzl/fontdefs.psizzl create mode 100644 macros/plain/formats/psizzl/index.psizzl create mode 100644 macros/plain/formats/psizzl/institut.psizzl create mode 100644 macros/plain/formats/psizzl/letter.psizzl create mode 100644 macros/plain/formats/psizzl/lists.psizzl create mode 100644 macros/plain/formats/psizzl/macros.psizzl create mode 100644 macros/plain/formats/psizzl/memo.psizzl create mode 100644 macros/plain/formats/psizzl/mypsizzl.tex create mode 100644 macros/plain/formats/psizzl/options.psizzl create mode 100644 macros/plain/formats/psizzl/output.psizzl create mode 100644 macros/plain/formats/psizzl/picture.psizzl create mode 100644 macros/plain/formats/psizzl/psizzl.commands create mode 100644 macros/plain/formats/psizzl/psizzl.doc create mode 100644 macros/plain/formats/psizzl/psizzl.tex create mode 120000 macros/plain/formats/psizzl/psizzl.txt create mode 100644 macros/plain/formats/psizzl/publicat.psizzl create mode 100644 macros/plain/formats/psizzl/symbols.psizzl create mode 100644 macros/plain/formats/psizzl/thesis.psizzl create mode 100644 macros/plain/formats/startex/INSTALL create mode 100644 macros/plain/formats/startex/README create mode 100644 macros/plain/formats/startex/epsf.tex create mode 100644 macros/plain/formats/startex/guide.pdf create mode 100644 macros/plain/formats/startex/ideas.pdf create mode 100644 macros/plain/formats/startex/startex.bib create mode 100644 macros/plain/formats/startex/startex.dtx create mode 100644 macros/plain/formats/startex/startex.ins create mode 100644 macros/plain/formats/startex/startex.pdf create mode 100644 macros/plain/formats/startex/stxglo.ist create mode 100644 macros/plain/formats/startex/stxind.ist create mode 100644 macros/plain/formats/texsis/DESCRIPTION create mode 100644 macros/plain/formats/texsis/INSTALL create mode 100644 macros/plain/formats/texsis/Install.ps create mode 100644 macros/plain/formats/texsis/LPPL create mode 120000 macros/plain/formats/texsis/License create mode 100644 macros/plain/formats/texsis/MANIFEST create mode 100644 macros/plain/formats/texsis/Mac/README create mode 100644 macros/plain/formats/texsis/Mac/README-Mac create mode 100644 macros/plain/formats/texsis/Mac/TeXsis-2.18.sea.hqx create mode 100644 macros/plain/formats/texsis/Manual.pdf create mode 100644 macros/plain/formats/texsis/NEWS create mode 100644 macros/plain/formats/texsis/PC/README create mode 100644 macros/plain/formats/texsis/PC/README.PC create mode 100644 macros/plain/formats/texsis/README create mode 100644 macros/plain/formats/texsis/README.PC create mode 100644 macros/plain/formats/texsis/TXSsite.000 create mode 100644 macros/plain/formats/texsis/TeXsis-2.18.sea.hqx create mode 100644 macros/plain/formats/texsis/bibtex/README create mode 100644 macros/plain/formats/texsis/bibtex/bibtest.tex create mode 100644 macros/plain/formats/texsis/bibtex/internet.bib create mode 100644 macros/plain/formats/texsis/bibtex/mylist.bib create mode 100644 macros/plain/formats/texsis/bibtex/texsis.bst create mode 100644 macros/plain/formats/texsis/bibtex/unix.bib create mode 100644 macros/plain/formats/texsis/dcol/README create mode 100644 macros/plain/formats/texsis/dcol/TXSdcol.doc create mode 100644 macros/plain/formats/texsis/dcol/TXSdcol.dvi create mode 100644 macros/plain/formats/texsis/dcol/TXSdcol.ps create mode 100644 macros/plain/formats/texsis/dcol/TXSdcol.tex create mode 100644 macros/plain/formats/texsis/index/README create mode 100644 macros/plain/formats/texsis/index/index.tex create mode 100644 macros/plain/formats/texsis/mtexsis.tex create mode 100644 macros/plain/formats/texsis/styles/AIP.txs create mode 100644 macros/plain/formats/texsis/styles/BostonU.txs create mode 100644 macros/plain/formats/texsis/styles/CVformat.txs create mode 100644 macros/plain/formats/texsis/styles/Elsevier.txs create mode 100644 macros/plain/formats/texsis/styles/Exam.txs create mode 100644 macros/plain/formats/texsis/styles/IEEE.txs create mode 100644 macros/plain/formats/texsis/styles/LAT96.txs create mode 100644 macros/plain/formats/texsis/styles/ORstate.txs create mode 100644 macros/plain/formats/texsis/styles/PhysRev.txs create mode 100644 macros/plain/formats/texsis/styles/Tablebod.txs create mode 100644 macros/plain/formats/texsis/styles/Tablebody.txs create mode 100644 macros/plain/formats/texsis/styles/UTthesis.tex create mode 100644 macros/plain/formats/texsis/styles/WorldSci.txs create mode 100644 macros/plain/formats/texsis/styles/nuclproc.txs create mode 100644 macros/plain/formats/texsis/styles/paradox.txs create mode 100644 macros/plain/formats/texsis/styles/printfont.txs create mode 100644 macros/plain/formats/texsis/styles/spine.txs create mode 100644 macros/plain/formats/texsis/styles/thesis.txs create mode 100644 macros/plain/formats/texsis/styles/twin.txs create mode 100644 macros/plain/formats/texsis/styles/umich.txs create mode 100644 macros/plain/formats/texsis/texsis.lsm create mode 100644 macros/plain/formats/xmltex/base/englishutf16.xml create mode 100644 macros/plain/formats/xmltex/base/englishutf8.xml create mode 100644 macros/plain/formats/xmltex/base/iso-8859-1.xmt create mode 100644 macros/plain/formats/xmltex/base/iso-8859-2.xmt create mode 100644 macros/plain/formats/xmltex/base/koi8-r.xmt create mode 100644 macros/plain/formats/xmltex/base/langtest.tex create mode 100644 macros/plain/formats/xmltex/base/langtest.xml create mode 100644 macros/plain/formats/xmltex/base/langtest.xmt create mode 100644 macros/plain/formats/xmltex/base/manual.html create mode 100644 macros/plain/formats/xmltex/base/manual.tex create mode 100644 macros/plain/formats/xmltex/base/manual.xml create mode 100644 macros/plain/formats/xmltex/base/manual.xsl create mode 100644 macros/plain/formats/xmltex/base/mathml2.xmt create mode 100644 macros/plain/formats/xmltex/base/portugeselatin1.xml create mode 100644 macros/plain/formats/xmltex/base/readme.txt create mode 100644 macros/plain/formats/xmltex/base/russiankoi8.xml create mode 100644 macros/plain/formats/xmltex/base/russianutf8.xml create mode 100644 macros/plain/formats/xmltex/base/sec.xmt create mode 100644 macros/plain/formats/xmltex/base/tei.xmt create mode 100644 macros/plain/formats/xmltex/base/testascii.cfg create mode 100644 macros/plain/formats/xmltex/base/testascii.tex create mode 100644 macros/plain/formats/xmltex/base/testascii.xml create mode 100644 macros/plain/formats/xmltex/base/testsec.tex create mode 100644 macros/plain/formats/xmltex/base/testsec.xml create mode 100644 macros/plain/formats/xmltex/base/utf-16.xmt create mode 100644 macros/plain/formats/xmltex/base/windows-1250.xmt create mode 100644 macros/plain/formats/xmltex/base/xmltex.cfg create mode 100644 macros/plain/formats/xmltex/base/xmltex.tex create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/dummyels.sty create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/fotex.sty create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/fotex.xmt create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/mlnames.sty create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/tei.xmt create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/teiprintslides.xmt create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/teislides.xmt create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/teixml.sty create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/teixmlslides.sty create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/ucharacters.sty create mode 100644 macros/plain/formats/xmltex/contrib/passivetex/unicode.sty delete mode 100644 macros/psizzl/aaaread.me delete mode 100644 macros/psizzl/chapters.psizzl delete mode 100644 macros/psizzl/citation.psizzl delete mode 100644 macros/psizzl/fontdefs.psizzl delete mode 100644 macros/psizzl/index.psizzl delete mode 100644 macros/psizzl/institut.psizzl delete mode 100644 macros/psizzl/letter.psizzl delete mode 100644 macros/psizzl/lists.psizzl delete mode 100644 macros/psizzl/macros.psizzl delete mode 100644 macros/psizzl/memo.psizzl delete mode 100644 macros/psizzl/mypsizzl.tex delete mode 100644 macros/psizzl/options.psizzl delete mode 100644 macros/psizzl/output.psizzl delete mode 100644 macros/psizzl/picture.psizzl delete mode 100644 macros/psizzl/psizzl.commands delete mode 100644 macros/psizzl/psizzl.doc delete mode 100644 macros/psizzl/psizzl.tex delete mode 120000 macros/psizzl/psizzl.txt delete mode 100644 macros/psizzl/publicat.psizzl delete mode 100644 macros/psizzl/symbols.psizzl delete mode 100644 macros/psizzl/thesis.psizzl delete mode 100644 macros/scripttex/scrnplay.tex delete mode 100644 macros/scripttex/scrnwrit.bib delete mode 100644 macros/scripttex/stagplay.tex delete mode 100644 macros/scripttex/stdemo.tex delete mode 100644 macros/scripttex/stdoc.pdf delete mode 100644 macros/scripttex/stdoc.tex delete mode 100644 macros/startex/INSTALL delete mode 100644 macros/startex/README delete mode 100644 macros/startex/epsf.tex delete mode 100644 macros/startex/guide.pdf delete mode 100644 macros/startex/ideas.pdf delete mode 100644 macros/startex/startex.bib delete mode 100644 macros/startex/startex.dtx delete mode 100644 macros/startex/startex.ins delete mode 100644 macros/startex/startex.pdf delete mode 100644 macros/startex/stxglo.ist delete mode 100644 macros/startex/stxind.ist delete mode 100644 macros/texmuse/Doc/pdf/mainloop.pdf delete mode 100644 macros/texmuse/Doc/pdf/running.pdf delete mode 100644 macros/texmuse/Doc/pdf/wants.pdf delete mode 100644 macros/texmuse/Doc/tex/mainloop.dvi delete mode 100644 macros/texmuse/Doc/tex/mainloop.tex delete mode 100644 macros/texmuse/Doc/tex/mainloop1.mf delete mode 100644 macros/texmuse/Doc/tex/mainloop2.mf delete mode 100644 macros/texmuse/Doc/tex/mainloop3.mf delete mode 100644 macros/texmuse/Doc/tex/mainloop4.mf delete mode 100644 macros/texmuse/Doc/tex/mainloop5.mf delete mode 100644 macros/texmuse/Doc/tex/mainloop6.mf delete mode 100644 macros/texmuse/Doc/tex/running.dvi delete mode 100644 macros/texmuse/Doc/tex/running.tex delete mode 100644 macros/texmuse/Doc/tex/wants.dvi delete mode 100644 macros/texmuse/Doc/tex/wants.tex delete mode 100644 macros/texmuse/Program/texmuse.mf delete mode 100644 macros/texmuse/Program/texmuse.tex delete mode 100644 macros/texmuse/Program/txmfont.mf delete mode 100644 macros/texmuse/README delete mode 120000 macros/texmuse/README.txt delete mode 100644 macros/texmuse/Samples/pdf/aminor.pdf delete mode 100644 macros/texmuse/Samples/pdf/bbmajor.pdf delete mode 100644 macros/texmuse/Samples/pdf/cmajor.pdf delete mode 100644 macros/texmuse/Samples/pdf/cminor.pdf delete mode 100644 macros/texmuse/Samples/pdf/dmajor.pdf delete mode 100644 macros/texmuse/Samples/pdf/dminor.pdf delete mode 100644 macros/texmuse/Samples/pdf/ebmajor.pdf delete mode 100644 macros/texmuse/Samples/pdf/fmajor.pdf delete mode 100644 macros/texmuse/Samples/tex/aminor.dvi delete mode 100644 macros/texmuse/Samples/tex/aminor.tex delete mode 100644 macros/texmuse/Samples/tex/aminor1.mf delete mode 100644 macros/texmuse/Samples/tex/aminor2.mf delete mode 100644 macros/texmuse/Samples/tex/aminor3.mf delete mode 100644 macros/texmuse/Samples/tex/bbmajor.dvi delete mode 100644 macros/texmuse/Samples/tex/bbmajor.tex delete mode 100644 macros/texmuse/Samples/tex/bbmajor1.mf delete mode 100644 macros/texmuse/Samples/tex/bbmajor2.mf delete mode 100644 macros/texmuse/Samples/tex/bbmajor3.mf delete mode 100644 macros/texmuse/Samples/tex/bbmajor4.mf delete mode 100644 macros/texmuse/Samples/tex/cmajor.dvi delete mode 100644 macros/texmuse/Samples/tex/cmajor.tex delete mode 100644 macros/texmuse/Samples/tex/cmajor1.mf delete mode 100644 macros/texmuse/Samples/tex/cmajor2.mf delete mode 100644 macros/texmuse/Samples/tex/cmajor3.mf delete mode 100644 macros/texmuse/Samples/tex/cminor.dvi delete mode 100644 macros/texmuse/Samples/tex/cminor.tex delete mode 100644 macros/texmuse/Samples/tex/cminor1.mf delete mode 100644 macros/texmuse/Samples/tex/cminor2.mf delete mode 100644 macros/texmuse/Samples/tex/cminor3.mf delete mode 100644 macros/texmuse/Samples/tex/cminor4.mf delete mode 100644 macros/texmuse/Samples/tex/dmajor.dvi delete mode 100644 macros/texmuse/Samples/tex/dmajor.tex delete mode 100644 macros/texmuse/Samples/tex/dmajor1.mf delete mode 100644 macros/texmuse/Samples/tex/dmajor2.mf delete mode 100644 macros/texmuse/Samples/tex/dmajor3.mf delete mode 100644 macros/texmuse/Samples/tex/dmajor4.mf delete mode 100644 macros/texmuse/Samples/tex/dminor.dvi delete mode 100644 macros/texmuse/Samples/tex/dminor.tex delete mode 100644 macros/texmuse/Samples/tex/dminor1.mf delete mode 100644 macros/texmuse/Samples/tex/dminor2.mf delete mode 100644 macros/texmuse/Samples/tex/dminor3.mf delete mode 100644 macros/texmuse/Samples/tex/ebmajor.dvi delete mode 100644 macros/texmuse/Samples/tex/ebmajor.tex delete mode 100644 macros/texmuse/Samples/tex/ebmajor1.mf delete mode 100644 macros/texmuse/Samples/tex/ebmajor2.mf delete mode 100644 macros/texmuse/Samples/tex/ebmajor3.mf delete mode 100644 macros/texmuse/Samples/tex/ebmajor4.mf delete mode 100644 macros/texmuse/Samples/tex/ebmajor5.mf delete mode 100644 macros/texmuse/Samples/tex/fmajor.dvi delete mode 100644 macros/texmuse/Samples/tex/fmajor.tex delete mode 100644 macros/texmuse/Samples/tex/fmajor1.mf delete mode 100644 macros/texmuse/Samples/tex/fmajor2.mf delete mode 100644 macros/texmuse/Samples/tex/fmajor3.mf delete mode 100644 macros/texsis/DESCRIPTION delete mode 100644 macros/texsis/INSTALL delete mode 100644 macros/texsis/Install.ps delete mode 100644 macros/texsis/LPPL delete mode 120000 macros/texsis/License delete mode 100644 macros/texsis/MANIFEST delete mode 100644 macros/texsis/Mac/README delete mode 100644 macros/texsis/Mac/README-Mac delete mode 100644 macros/texsis/Mac/TeXsis-2.18.sea.hqx delete mode 100644 macros/texsis/Manual.pdf delete mode 100644 macros/texsis/NEWS delete mode 100644 macros/texsis/PC/README delete mode 100644 macros/texsis/PC/README.PC delete mode 100644 macros/texsis/README delete mode 100644 macros/texsis/README.PC delete mode 100644 macros/texsis/TXSsite.000 delete mode 100644 macros/texsis/TeXsis-2.18.sea.hqx delete mode 100644 macros/texsis/bibtex/README delete mode 100644 macros/texsis/bibtex/bibtest.tex delete mode 100644 macros/texsis/bibtex/internet.bib delete mode 100644 macros/texsis/bibtex/mylist.bib delete mode 100644 macros/texsis/bibtex/texsis.bst delete mode 100644 macros/texsis/bibtex/unix.bib delete mode 100644 macros/texsis/dcol/README delete mode 100644 macros/texsis/dcol/TXSdcol.doc delete mode 100644 macros/texsis/dcol/TXSdcol.dvi delete mode 100644 macros/texsis/dcol/TXSdcol.ps delete mode 100644 macros/texsis/dcol/TXSdcol.tex delete mode 100644 macros/texsis/index/README delete mode 100644 macros/texsis/index/index.tex delete mode 100644 macros/texsis/mtexsis.tex delete mode 100644 macros/texsis/styles/AIP.txs delete mode 100644 macros/texsis/styles/BostonU.txs delete mode 100644 macros/texsis/styles/CVformat.txs delete mode 100644 macros/texsis/styles/Elsevier.txs delete mode 100644 macros/texsis/styles/Exam.txs delete mode 100644 macros/texsis/styles/IEEE.txs delete mode 100644 macros/texsis/styles/LAT96.txs delete mode 100644 macros/texsis/styles/ORstate.txs delete mode 100644 macros/texsis/styles/PhysRev.txs delete mode 100644 macros/texsis/styles/Tablebod.txs delete mode 100644 macros/texsis/styles/Tablebody.txs delete mode 100644 macros/texsis/styles/UTthesis.tex delete mode 100644 macros/texsis/styles/WorldSci.txs delete mode 100644 macros/texsis/styles/nuclproc.txs delete mode 100644 macros/texsis/styles/paradox.txs delete mode 100644 macros/texsis/styles/printfont.txs delete mode 100644 macros/texsis/styles/spine.txs delete mode 100644 macros/texsis/styles/thesis.txs delete mode 100644 macros/texsis/styles/twin.txs delete mode 100644 macros/texsis/styles/umich.txs delete mode 100644 macros/texsis/texsis.lsm delete mode 100644 macros/text1/blocks/appendix.texblock delete mode 100644 macros/text1/blocks/asism.texblock delete mode 100644 macros/text1/blocks/asisp.texblock delete mode 100644 macros/text1/blocks/bibliog.texblock delete mode 100644 macros/text1/blocks/bquotem.texblock delete mode 100644 macros/text1/blocks/bquotep.texblock delete mode 100644 macros/text1/blocks/chapter.texblock delete mode 100644 macros/text1/blocks/contents.texblock delete mode 100644 macros/text1/blocks/enotem.texblock delete mode 100644 macros/text1/blocks/enotep.texblock delete mode 100644 macros/text1/blocks/figurem.texblock delete mode 100644 macros/text1/blocks/figurep.texblock delete mode 100644 macros/text1/blocks/fnotem.texblock delete mode 100644 macros/text1/blocks/fnotep.texblock delete mode 100644 macros/text1/blocks/fontm.texblock delete mode 100644 macros/text1/blocks/fontp.texblock delete mode 100644 macros/text1/blocks/index.texblock delete mode 100644 macros/text1/blocks/label.texblock delete mode 100644 macros/text1/blocks/lists.texblock delete mode 100644 macros/text1/blocks/maillbls.texblock delete mode 100644 macros/text1/blocks/marnote.texblock delete mode 100644 macros/text1/blocks/multicol.texblock delete mode 100644 macros/text1/blocks/pagem.texblock delete mode 100644 macros/text1/blocks/pagep.texblock delete mode 100644 macros/text1/blocks/parm.texblock delete mode 100644 macros/text1/blocks/parp.texblock delete mode 100644 macros/text1/blocks/part.texblock delete mode 100644 macros/text1/blocks/preface.texblock delete mode 100644 macros/text1/blocks/runfoot.texblock delete mode 100644 macros/text1/blocks/runhead.texblock delete mode 100644 macros/text1/blocks/subheada.texblock delete mode 100644 macros/text1/blocks/subheadb.texblock delete mode 100644 macros/text1/blocks/subheadc.texblock delete mode 100644 macros/text1/blocks/subheadd.texblock delete mode 100644 macros/text1/blocks/tablem.texblock delete mode 100644 macros/text1/blocks/tablep.texblock delete mode 100644 macros/text1/blocks/talaris.texblock delete mode 100644 macros/text1/blocks/titlepg.texblock delete mode 100644 macros/text1/changes.aug91 delete mode 100644 macros/text1/changes.aug92 delete mode 100644 macros/text1/changes.aug93 delete mode 100644 macros/text1/changes.dec93 delete mode 100644 macros/text1/changes.feb91 delete mode 100644 macros/text1/changes.jan92 delete mode 100644 macros/text1/changes.jun91 delete mode 100644 macros/text1/changes.jun96 delete mode 100644 macros/text1/changes.mar91 delete mode 100644 macros/text1/changes.mar92 delete mode 100644 macros/text1/changes.may92 delete mode 100644 macros/text1/changes.nov90 delete mode 100644 macros/text1/changes.nov92 delete mode 100644 macros/text1/changes.nov94 delete mode 100644 macros/text1/changes.sep91 delete mode 100644 macros/text1/cms_help_files/1--footn.help4--f delete mode 100644 macros/text1/cms_help_files/1--verti.helpvert delete mode 100644 macros/text1/cms_help_files/10noter.helpfoot delete mode 100644 macros/text1/cms_help_files/11noter.helpfoot delete mode 100644 macros/text1/cms_help_files/12noter.helpfoot delete mode 100644 macros/text1/cms_help_files/1block.helpbloc delete mode 100644 macros/text1/cms_help_files/1every.helpfoot delete mode 100644 macros/text1/cms_help_files/1everye.helpendn delete mode 100644 macros/text1/cms_help_files/1everyf.helpfoot delete mode 100644 macros/text1/cms_help_files/1numbe.helpsubh delete mode 100644 macros/text1/cms_help_files/1number.helpsubh delete mode 100644 macros/text1/cms_help_files/2--footn.help4--f delete mode 100644 macros/text1/cms_help_files/2--verti.helpvert delete mode 100644 macros/text1/cms_help_files/2block.helpbloc delete mode 100644 macros/text1/cms_help_files/2footn.helpfoot delete mode 100644 macros/text1/cms_help_files/2footno.helpfoot delete mode 100644 macros/text1/cms_help_files/2skipbe.helpendn delete mode 100644 macros/text1/cms_help_files/2title.helpsubh delete mode 100644 macros/text1/cms_help_files/3befor.helpfoot delete mode 100644 macros/text1/cms_help_files/3block.helpmenu delete mode 100644 macros/text1/cms_help_files/3every.helpbloc delete mode 100644 macros/text1/cms_help_files/3incon.helpsubh delete mode 100644 macros/text1/cms_help_files/3incont.helpsubh delete mode 100644 macros/text1/cms_help_files/3skipb.helpfoot delete mode 100644 macros/text1/cms_help_files/3skipbe.helpfoot delete mode 100644 macros/text1/cms_help_files/3textre.helpendn delete mode 100644 macros/text1/cms_help_files/4footn.helpmenu delete mode 100644 macros/text1/cms_help_files/4refer.helpfoot delete mode 100644 macros/text1/cms_help_files/4skipaf.helpfoot delete mode 100644 macros/text1/cms_help_files/4skipb.helpbloc delete mode 100644 macros/text1/cms_help_files/4textre.helpendn delete mode 100644 macros/text1/cms_help_files/5refer.helpfoot delete mode 100644 macros/text1/cms_help_files/5skipa.helpbloc delete mode 100644 macros/text1/cms_help_files/5textre.helpendn delete mode 100644 macros/text1/cms_help_files/5textre.helpfoot delete mode 100644 macros/text1/cms_help_files/6notere.helpendn delete mode 100644 macros/text1/cms_help_files/6refer.helpfoot delete mode 100644 macros/text1/cms_help_files/6textre.helpfoot delete mode 100644 macros/text1/cms_help_files/7notere.helpendn delete mode 100644 macros/text1/cms_help_files/7refer.helpfoot delete mode 100644 macros/text1/cms_help_files/7textre.helpfoot delete mode 100644 macros/text1/cms_help_files/8notere.helpendn delete mode 100644 macros/text1/cms_help_files/8textre.helpfoot delete mode 100644 macros/text1/cms_help_files/9notere.helpendn delete mode 100644 macros/text1/cms_help_files/9notere.helpfoot delete mode 100644 macros/text1/cms_help_files/aen.helpmark delete mode 100644 macros/text1/cms_help_files/afn.helpmark delete mode 100644 macros/text1/cms_help_files/aib.helpmark delete mode 100644 macros/text1/cms_help_files/aie.helpmark delete mode 100644 macros/text1/cms_help_files/aif.helpmark delete mode 100644 macros/text1/cms_help_files/anumbe.helpsubh delete mode 100644 macros/text1/cms_help_files/anumber.helpsubh delete mode 100644 macros/text1/cms_help_files/apf.helpmark delete mode 100644 macros/text1/cms_help_files/app.helpmark delete mode 100644 macros/text1/cms_help_files/appendix.helpbloc delete mode 100644 macros/text1/cms_help_files/appendix.helpmenu delete mode 100644 macros/text1/cms_help_files/asism.helpbloc delete mode 100644 macros/text1/cms_help_files/asisp.helpbloc delete mode 100644 macros/text1/cms_help_files/bd.helpmark delete mode 100644 macros/text1/cms_help_files/bi.helpmark delete mode 100644 macros/text1/cms_help_files/bib.helpmark delete mode 100644 macros/text1/cms_help_files/bibentry.helpmark delete mode 100644 macros/text1/cms_help_files/bibliog.helpbloc delete mode 100644 macros/text1/cms_help_files/bibliogr.helpmark delete mode 100644 macros/text1/cms_help_files/bie.helpmark delete mode 100644 macros/text1/cms_help_files/bif.helpmark delete mode 100644 macros/text1/cms_help_files/bothpage.helpmenu delete mode 100644 macros/text1/cms_help_files/bottomma.helppage delete mode 100644 macros/text1/cms_help_files/bottomti.helpboth delete mode 100644 macros/text1/cms_help_files/bottomti.helpeven delete mode 100644 macros/text1/cms_help_files/bottomti.helpoddp delete mode 100644 macros/text1/cms_help_files/bqb.helpmark delete mode 100644 macros/text1/cms_help_files/bqe.helpmark delete mode 100644 macros/text1/cms_help_files/bqf.helpmark delete mode 100644 macros/text1/cms_help_files/bquotem.helpbloc delete mode 100644 macros/text1/cms_help_files/bquotep.helpbloc delete mode 100644 macros/text1/cms_help_files/break.helpmark delete mode 100644 macros/text1/cms_help_files/btitle.helpsubh delete mode 100644 macros/text1/cms_help_files/btitlef.helpsubh delete mode 100644 macros/text1/cms_help_files/bul.helpmark delete mode 100644 macros/text1/cms_help_files/cc.helpmark delete mode 100644 macros/text1/cms_help_files/cents.helpmark delete mode 100644 macros/text1/cms_help_files/chap.helpmark delete mode 100644 macros/text1/cms_help_files/chapter.helpbloc delete mode 100644 macros/text1/cms_help_files/chf.helpmark delete mode 100644 macros/text1/cms_help_files/chrono.changes delete mode 100644 macros/text1/cms_help_files/cincon.helpsubh delete mode 100644 macros/text1/cms_help_files/cincont.helpsubh delete mode 100644 macros/text1/cms_help_files/cl.helpmark delete mode 100644 macros/text1/cms_help_files/clb.helpmark delete mode 100644 macros/text1/cms_help_files/cle.helpmark delete mode 100644 macros/text1/cms_help_files/contents.helpbloc delete mode 100644 macros/text1/cms_help_files/coul.helpmark delete mode 100644 macros/text1/cms_help_files/db.helpmark delete mode 100644 macros/text1/cms_help_files/dbm.helpmark delete mode 100644 macros/text1/cms_help_files/dbrs.helpmark delete mode 100644 macros/text1/cms_help_files/die.helpmark delete mode 100644 macros/text1/cms_help_files/dsp.helpmark delete mode 100644 macros/text1/cms_help_files/el.helpmark delete mode 100644 macros/text1/cms_help_files/enf.helpmark delete mode 100644 macros/text1/cms_help_files/enotem.helpbloc delete mode 100644 macros/text1/cms_help_files/enotep.helpbloc delete mode 100644 macros/text1/cms_help_files/ep.helpmark delete mode 100644 macros/text1/cms_help_files/epm.helpmark delete mode 100644 macros/text1/cms_help_files/ex.helpmark delete mode 100644 macros/text1/cms_help_files/fif.helpmark delete mode 100644 macros/text1/cms_help_files/fig.helpmark delete mode 100644 macros/text1/cms_help_files/figurem.helpbloc delete mode 100644 macros/text1/cms_help_files/figurep.helpbloc delete mode 100644 macros/text1/cms_help_files/fixf.helpmark delete mode 100644 macros/text1/cms_help_files/fnf.helpmark delete mode 100644 macros/text1/cms_help_files/fnotem.helpbloc delete mode 100644 macros/text1/cms_help_files/fnotep.helpbloc delete mode 100644 macros/text1/cms_help_files/font.helpmark delete mode 100644 macros/text1/cms_help_files/fontm.helpbloc delete mode 100644 macros/text1/cms_help_files/fontp.helpbloc delete mode 100644 macros/text1/cms_help_files/footnote.helpmark delete mode 100644 macros/text1/cms_help_files/frac.helpmark delete mode 100644 macros/text1/cms_help_files/frenchsp.helpmark delete mode 100644 macros/text1/cms_help_files/goodbrea.helpmark delete mode 100644 macros/text1/cms_help_files/halign.helpmark delete mode 100644 macros/text1/cms_help_files/hbox.helpmark delete mode 100644 macros/text1/cms_help_files/hin.helpmark delete mode 100644 macros/text1/cms_help_files/hof.helpmark delete mode 100644 macros/text1/cms_help_files/hon.helpmark delete mode 100644 macros/text1/cms_help_files/hp.helpmark delete mode 100644 macros/text1/cms_help_files/hrule.helpmark delete mode 100644 macros/text1/cms_help_files/hs.helpmark delete mode 100644 macros/text1/cms_help_files/hsize.helpmark delete mode 100644 macros/text1/cms_help_files/incl.helpmark delete mode 100644 macros/text1/cms_help_files/indent.helpmark delete mode 100644 macros/text1/cms_help_files/index.helpbloc delete mode 100644 macros/text1/cms_help_files/input.helpmark delete mode 100644 macros/text1/cms_help_files/isk.helpmark delete mode 100644 macros/text1/cms_help_files/it.helpmark delete mode 100644 macros/text1/cms_help_files/italicfa.helpmark delete mode 100644 macros/text1/cms_help_files/item.helpmark delete mode 100644 macros/text1/cms_help_files/ix.helpmark delete mode 100644 macros/text1/cms_help_files/ixf.helpmark delete mode 100644 macros/text1/cms_help_files/ju.helpmark delete mode 100644 macros/text1/cms_help_files/la.helpmark delete mode 100644 macros/text1/cms_help_files/label.helpbloc delete mode 100644 macros/text1/cms_help_files/laf.helpmark delete mode 100644 macros/text1/cms_help_files/lbr.helpmark delete mode 100644 macros/text1/cms_help_files/leader.helpmark delete mode 100644 macros/text1/cms_help_files/letter.helpmode delete mode 100644 macros/text1/cms_help_files/lib.helpmark delete mode 100644 macros/text1/cms_help_files/lie.helpmark delete mode 100644 macros/text1/cms_help_files/lif.helpmark delete mode 100644 macros/text1/cms_help_files/lil.helpmark delete mode 100644 macros/text1/cms_help_files/lin.helpmark delete mode 100644 macros/text1/cms_help_files/line.helpmark delete mode 100644 macros/text1/cms_help_files/lint.helpmark delete mode 100644 macros/text1/cms_help_files/lir.helpmark delete mode 100644 macros/text1/cms_help_files/lists.helpbloc delete mode 100644 macros/text1/cms_help_files/lnf.helpmark delete mode 100644 macros/text1/cms_help_files/lr.helpmark delete mode 100644 macros/text1/cms_help_files/markup.helpmenu delete mode 100644 macros/text1/cms_help_files/marnote.helpbloc delete mode 100644 macros/text1/cms_help_files/mathdefa.helpmark delete mode 100644 macros/text1/cms_help_files/mcf.helpmark delete mode 100644 macros/text1/cms_help_files/memo.helpmode delete mode 100644 macros/text1/cms_help_files/mi.helpmark delete mode 100644 macros/text1/cms_help_files/mn.helpmark delete mode 100644 macros/text1/cms_help_files/mnf.helpmark delete mode 100644 macros/text1/cms_help_files/msp.helpmark delete mode 100644 macros/text1/cms_help_files/multicol.helpbloc delete mode 100644 macros/text1/cms_help_files/nc.helpmark delete mode 100644 macros/text1/cms_help_files/nin.helpmark delete mode 100644 macros/text1/cms_help_files/nobreak.helpmark delete mode 100644 macros/text1/cms_help_files/nonfrenc.helpmark delete mode 100644 macros/text1/cms_help_files/np.helpmark delete mode 100644 macros/text1/cms_help_files/ntp.helpmark delete mode 100644 macros/text1/cms_help_files/numl.helpmark delete mode 100644 macros/text1/cms_help_files/oc.helpmark delete mode 100644 macros/text1/cms_help_files/opm.helpmark delete mode 100644 macros/text1/cms_help_files/paf.helpmark delete mode 100644 macros/text1/cms_help_files/pagem.helpbloc delete mode 100644 macros/text1/cms_help_files/pagep.helpbloc delete mode 100644 macros/text1/cms_help_files/paper.helpmode delete mode 100644 macros/text1/cms_help_files/par.helpmark delete mode 100644 macros/text1/cms_help_files/parm.helpbloc delete mode 100644 macros/text1/cms_help_files/parp.helpbloc delete mode 100644 macros/text1/cms_help_files/part.helpbloc delete mode 100644 macros/text1/cms_help_files/part.helpmark delete mode 100644 macros/text1/cms_help_files/pb.helpmark delete mode 100644 macros/text1/cms_help_files/pen.helpmark delete mode 100644 macros/text1/cms_help_files/pf.helpmark delete mode 100644 macros/text1/cms_help_files/pic.helpmark delete mode 100644 macros/text1/cms_help_files/pin.helpmark delete mode 100644 macros/text1/cms_help_files/plaintex.helpmark delete mode 100644 macros/text1/cms_help_files/pn.helpmark delete mode 100644 macros/text1/cms_help_files/ppl.helpmark delete mode 100644 macros/text1/cms_help_files/pre.helpmark delete mode 100644 macros/text1/cms_help_files/preface.helpbloc delete mode 100644 macros/text1/cms_help_files/prf.helpmark delete mode 100644 macros/text1/cms_help_files/prin.helpmark delete mode 100644 macros/text1/cms_help_files/printend.helpmark delete mode 100644 macros/text1/cms_help_files/printind.helpmark delete mode 100644 macros/text1/cms_help_files/psk.helpmark delete mode 100644 macros/text1/cms_help_files/qquad.helpmark delete mode 100644 macros/text1/cms_help_files/quad.helpmark delete mode 100644 macros/text1/cms_help_files/raggedbo.helpmark delete mode 100644 macros/text1/cms_help_files/resume.helpmode delete mode 100644 macros/text1/cms_help_files/rff.helpmark delete mode 100644 macros/text1/cms_help_files/rhf.helpmark delete mode 100644 macros/text1/cms_help_files/rin.helpmark delete mode 100644 macros/text1/cms_help_files/rl.helpmark delete mode 100644 macros/text1/cms_help_files/rlb.helpmark delete mode 100644 macros/text1/cms_help_files/rle.helpmark delete mode 100644 macros/text1/cms_help_files/rm.helpmark delete mode 100644 macros/text1/cms_help_files/rr.helpmark delete mode 100644 macros/text1/cms_help_files/rule.helpmark delete mode 100644 macros/text1/cms_help_files/runfoot.helpbloc delete mode 100644 macros/text1/cms_help_files/runhead.helpbloc delete mode 100644 macros/text1/cms_help_files/san.helpmark delete mode 100644 macros/text1/cms_help_files/sau.helpmark delete mode 100644 macros/text1/cms_help_files/scn.helpmark delete mode 100644 macros/text1/cms_help_files/senn.helpmark delete mode 100644 macros/text1/cms_help_files/settabs.helpmark delete mode 100644 macros/text1/cms_help_files/sfn.helpmark delete mode 100644 macros/text1/cms_help_files/sfnn.helpmark delete mode 100644 macros/text1/cms_help_files/sfs.helpmark delete mode 100644 macros/text1/cms_help_files/sha.helpmark delete mode 100644 macros/text1/cms_help_files/shaf.helpmark delete mode 100644 macros/text1/cms_help_files/shb.helpmark delete mode 100644 macros/text1/cms_help_files/shbf.helpmark delete mode 100644 macros/text1/cms_help_files/shc.helpmark delete mode 100644 macros/text1/cms_help_files/shcf.helpmark delete mode 100644 macros/text1/cms_help_files/shd.helpmark delete mode 100644 macros/text1/cms_help_files/shdf.helpmark delete mode 100644 macros/text1/cms_help_files/sms.helpmark delete mode 100644 macros/text1/cms_help_files/special.helpmark delete mode 100644 macros/text1/cms_help_files/spn.helpmark delete mode 100644 macros/text1/cms_help_files/sptn.helpmark delete mode 100644 macros/text1/cms_help_files/ssan.helpmark delete mode 100644 macros/text1/cms_help_files/ssbn.helpmark delete mode 100644 macros/text1/cms_help_files/sscn.helpmark delete mode 100644 macros/text1/cms_help_files/ssdn.helpmark delete mode 100644 macros/text1/cms_help_files/ssf.helpmark delete mode 100644 macros/text1/cms_help_files/ssp.helpmark delete mode 100644 macros/text1/cms_help_files/stn.helpmark delete mode 100644 macros/text1/cms_help_files/strut.helpmark delete mode 100644 macros/text1/cms_help_files/subheada.helpbloc delete mode 100644 macros/text1/cms_help_files/subheadb.helpbloc delete mode 100644 macros/text1/cms_help_files/subheadc.helpbloc delete mode 100644 macros/text1/cms_help_files/subheadd.helpbloc delete mode 100644 macros/text1/cms_help_files/sy.helpmark delete mode 100644 macros/text1/cms_help_files/tablem.helpbloc delete mode 100644 macros/text1/cms_help_files/tablep.helpbloc delete mode 100644 macros/text1/cms_help_files/taf.helpmark delete mode 100644 macros/text1/cms_help_files/talaris.helpbloc delete mode 100644 macros/text1/cms_help_files/tat.helpmark delete mode 100644 macros/text1/cms_help_files/tenpt.helpmark delete mode 100644 macros/text1/cms_help_files/text1.helpmark delete mode 100644 macros/text1/cms_help_files/thc.helpmark delete mode 100644 macros/text1/cms_help_files/thesis.helpmode delete mode 100644 macros/text1/cms_help_files/titlepg.helpbloc delete mode 100644 macros/text1/cms_help_files/toc.helpmark delete mode 100644 macros/text1/cms_help_files/tocf.helpmark delete mode 100644 macros/text1/cms_help_files/toclbr.helpmark delete mode 100644 macros/text1/cms_help_files/today.helpmark delete mode 100644 macros/text1/cms_help_files/topline1.helpeven delete mode 100644 macros/text1/cms_help_files/topline1.helpoddp delete mode 100644 macros/text1/cms_help_files/topmargi.helppage delete mode 100644 macros/text1/cms_help_files/tp.helpmark delete mode 100644 macros/text1/cms_help_files/tpf.helpmark delete mode 100644 macros/text1/cms_help_files/tt.helpmark delete mode 100644 macros/text1/cms_help_files/twc.helpmark delete mode 100644 macros/text1/cms_help_files/twelvept.helpmark delete mode 100644 macros/text1/cms_help_files/us.helpmark delete mode 100644 macros/text1/cms_help_files/vbox.helpmark delete mode 100644 macros/text1/cms_help_files/vertical.helpvert delete mode 100644 macros/text1/cms_help_files/vrule.helpmark delete mode 100644 macros/text1/cms_help_files/vs.helpmark delete mode 100644 macros/text1/cms_help_files/vsk.helpmark delete mode 100644 macros/text1/cms_help_files/width.helppage delete mode 100644 macros/text1/compugraphics_8600/et10.textext delete mode 100644 macros/text1/compugraphics_8600/et11.textext delete mode 100644 macros/text1/compugraphics_8600/et12.textext delete mode 100644 macros/text1/compugraphics_8600/et14.textext delete mode 100644 macros/text1/compugraphics_8600/et18.textext delete mode 100644 macros/text1/compugraphics_8600/et8.textext delete mode 100644 macros/text1/compugraphics_8600/et9.textext delete mode 100644 macros/text1/compugraphics_8600/etb.fontinfo delete mode 100644 macros/text1/compugraphics_8600/etbi.fontinfo delete mode 100644 macros/text1/compugraphics_8600/eti.fontinfo delete mode 100644 macros/text1/compugraphics_8600/etr.fontinfo delete mode 100644 macros/text1/compugraphics_8600/etsc.fontinfo delete mode 100644 macros/text1/compugraphics_8600/fonttex.cmschan delete mode 100644 macros/text1/compugraphics_8600/fonttex.exec delete mode 100644 macros/text1/compugraphics_8600/fonttex.outchan delete mode 100644 macros/text1/compugraphics_8600/fonttex.web delete mode 100644 macros/text1/compugraphics_8600/reblock.pascal delete mode 100644 macros/text1/compugraphics_8600/tex8600.cmschan delete mode 100644 macros/text1/compugraphics_8600/tex8600.outchan delete mode 100644 macros/text1/compugraphics_8600/tex8600.web delete mode 100644 macros/text1/docs/readme.tex delete mode 100644 macros/text1/docs/refman.ps.gz delete mode 100644 macros/text1/fonts/cmr36.dump delete mode 100644 macros/text1/fonts/dt.240pk delete mode 100644 macros/text1/fonts/dt.300pk delete mode 100644 macros/text1/fonts/dt.mf delete mode 100644 macros/text1/fonts/dt.readme delete mode 100644 macros/text1/fonts/dt.tfm delete mode 100644 macros/text1/fonts/dt240.mf delete mode 100644 macros/text1/fonts/dt300.mf delete mode 100644 macros/text1/macintosh/texix.macinfo delete mode 100644 macros/text1/macintosh/texix.turbomac delete mode 100644 macros/text1/macintosh/texix_macintosh.readme delete mode 100644 macros/text1/macintosh/text1_index_sort.bin delete mode 100644 macros/text1/macros/cgfonts.lclist delete mode 100644 macros/text1/macros/cm10.textext delete mode 100644 macros/text1/macros/cm108m.texmath delete mode 100644 macros/text1/macros/cm109m.texmath delete mode 100644 macros/text1/macros/cm11.textext delete mode 100644 macros/text1/macros/cm1110m.texmath delete mode 100644 macros/text1/macros/cm119m.texmath delete mode 100644 macros/text1/macros/cm12.textext delete mode 100644 macros/text1/macros/cm1210m.texmath delete mode 100644 macros/text1/macros/cm1211m.texmath delete mode 100644 macros/text1/macros/cm14.textext delete mode 100644 macros/text1/macros/cm1412m.texmath delete mode 100644 macros/text1/macros/cm18.textext delete mode 100644 macros/text1/macros/cm1814m.texmath delete mode 100644 macros/text1/macros/cm24.textext delete mode 100644 macros/text1/macros/cm2418m.texmath delete mode 100644 macros/text1/macros/cm36.textext delete mode 100644 macros/text1/macros/cm5.textext delete mode 100644 macros/text1/macros/cm6.textext delete mode 100644 macros/text1/macros/cm65m.texmath delete mode 100644 macros/text1/macros/cm7.textext delete mode 100644 macros/text1/macros/cm75m.texmath delete mode 100644 macros/text1/macros/cm76m.texmath delete mode 100644 macros/text1/macros/cm8.textext delete mode 100644 macros/text1/macros/cm86m.texmath delete mode 100644 macros/text1/macros/cm87m.texmath delete mode 100644 macros/text1/macros/cm9.textext delete mode 100644 macros/text1/macros/cm97m.texmath delete mode 100644 macros/text1/macros/cm98m.texmath delete mode 100644 macros/text1/macros/cmsan10.textext delete mode 100644 macros/text1/macros/cmsan11.textext delete mode 100644 macros/text1/macros/cmsan12.textext delete mode 100644 macros/text1/macros/cmsan14.textext delete mode 100644 macros/text1/macros/cmsan18.textext delete mode 100644 macros/text1/macros/cmsan24.textext delete mode 100644 macros/text1/macros/cmsan36.textext delete mode 100644 macros/text1/macros/cmsan8.textext delete mode 100644 macros/text1/macros/cmsan9.textext delete mode 100644 macros/text1/macros/fixcol.tex delete mode 100644 macros/text1/macros/flexcol.tex delete mode 100644 macros/text1/macros/text1.tex delete mode 100644 macros/text1/macros/txt1v409.tex delete mode 100644 macros/text1/models/letter.texinput delete mode 100644 macros/text1/models/letter.texmodel delete mode 100644 macros/text1/models/memo.texinput delete mode 100644 macros/text1/models/memo.texmodel delete mode 100644 macros/text1/models/mergelet.texmodel delete mode 100644 macros/text1/models/mergelst.texmodel delete mode 100644 macros/text1/models/mergetxt.texinput delete mode 100644 macros/text1/models/mergetxt.texmodel delete mode 100644 macros/text1/models/paper.texinput delete mode 100644 macros/text1/models/paper.texmodel delete mode 100644 macros/text1/models/resume.texinput delete mode 100644 macros/text1/models/resume.texmodel delete mode 100644 macros/text1/models/thesis.texinput delete mode 100644 macros/text1/models/thesis.texmodel delete mode 100644 macros/text1/pc/blocks/appendix.blk delete mode 100644 macros/text1/pc/blocks/asism.blk delete mode 100644 macros/text1/pc/blocks/asisp.blk delete mode 100644 macros/text1/pc/blocks/bibliog.blk delete mode 100644 macros/text1/pc/blocks/bquotem.blk delete mode 100644 macros/text1/pc/blocks/bquotep.blk delete mode 100644 macros/text1/pc/blocks/chapter.blk delete mode 100644 macros/text1/pc/blocks/contents.blk delete mode 100644 macros/text1/pc/blocks/enotem.blk delete mode 100644 macros/text1/pc/blocks/enotep.blk delete mode 100644 macros/text1/pc/blocks/figurem.blk delete mode 100644 macros/text1/pc/blocks/figurep.blk delete mode 100644 macros/text1/pc/blocks/fnotem.blk delete mode 100644 macros/text1/pc/blocks/fnotep.blk delete mode 100644 macros/text1/pc/blocks/fontm.blk delete mode 100644 macros/text1/pc/blocks/fontp.blk delete mode 100644 macros/text1/pc/blocks/index.blk delete mode 100644 macros/text1/pc/blocks/label.blk delete mode 100644 macros/text1/pc/blocks/lists.blk delete mode 100644 macros/text1/pc/blocks/maillbls.blk delete mode 100644 macros/text1/pc/blocks/marnote.blk delete mode 100644 macros/text1/pc/blocks/multicol.blk delete mode 100644 macros/text1/pc/blocks/pagem.blk delete mode 100644 macros/text1/pc/blocks/pagep.blk delete mode 100644 macros/text1/pc/blocks/parm.blk delete mode 100644 macros/text1/pc/blocks/parp.blk delete mode 100644 macros/text1/pc/blocks/part.blk delete mode 100644 macros/text1/pc/blocks/preface.blk delete mode 100644 macros/text1/pc/blocks/runfoot.blk delete mode 100644 macros/text1/pc/blocks/runhead.blk delete mode 100644 macros/text1/pc/blocks/subheada.blk delete mode 100644 macros/text1/pc/blocks/subheadb.blk delete mode 100644 macros/text1/pc/blocks/subheadc.blk delete mode 100644 macros/text1/pc/blocks/subheadd.blk delete mode 100644 macros/text1/pc/blocks/tablem.blk delete mode 100644 macros/text1/pc/blocks/tablep.blk delete mode 100644 macros/text1/pc/blocks/talaris.blk delete mode 100644 macros/text1/pc/blocks/titlepg.blk delete mode 100644 macros/text1/pc/fonts/dt.pk delete mode 100644 macros/text1/pc/misc/cm10.txt delete mode 100644 macros/text1/pc/misc/cm108m.mth delete mode 100644 macros/text1/pc/misc/cm109m.mth delete mode 100644 macros/text1/pc/misc/cm11.txt delete mode 100644 macros/text1/pc/misc/cm1110m.mth delete mode 100644 macros/text1/pc/misc/cm119m.mth delete mode 100644 macros/text1/pc/misc/cm12.txt delete mode 100644 macros/text1/pc/misc/cm1210m.mth delete mode 100644 macros/text1/pc/misc/cm1211m.mth delete mode 100644 macros/text1/pc/misc/cm14.txt delete mode 100644 macros/text1/pc/misc/cm1412m.mth delete mode 100644 macros/text1/pc/misc/cm18.txt delete mode 100644 macros/text1/pc/misc/cm1814m.mth delete mode 100644 macros/text1/pc/misc/cm24.txt delete mode 100644 macros/text1/pc/misc/cm2418m.mth delete mode 100644 macros/text1/pc/misc/cm36.txt delete mode 100644 macros/text1/pc/misc/cm5.txt delete mode 100644 macros/text1/pc/misc/cm6.txt delete mode 100644 macros/text1/pc/misc/cm65m.mth delete mode 100644 macros/text1/pc/misc/cm7.txt delete mode 100644 macros/text1/pc/misc/cm75m.mth delete mode 100644 macros/text1/pc/misc/cm76m.mth delete mode 100644 macros/text1/pc/misc/cm8.txt delete mode 100644 macros/text1/pc/misc/cm86m.mth delete mode 100644 macros/text1/pc/misc/cm87m.mth delete mode 100644 macros/text1/pc/misc/cm9.txt delete mode 100644 macros/text1/pc/misc/cm97m.mth delete mode 100644 macros/text1/pc/misc/cm98m.mth delete mode 100644 macros/text1/pc/misc/cmsan10.txt delete mode 100644 macros/text1/pc/misc/cmsan11.txt delete mode 100644 macros/text1/pc/misc/cmsan12.txt delete mode 100644 macros/text1/pc/misc/cmsan14.txt delete mode 100644 macros/text1/pc/misc/cmsan18.txt delete mode 100644 macros/text1/pc/misc/cmsan24.txt delete mode 100644 macros/text1/pc/misc/cmsan36.txt delete mode 100644 macros/text1/pc/misc/cmsan8.txt delete mode 100644 macros/text1/pc/misc/cmsan9.txt delete mode 100644 macros/text1/pc/models/letter.inp delete mode 100644 macros/text1/pc/models/letter.mdl delete mode 100644 macros/text1/pc/models/memo.inp delete mode 100644 macros/text1/pc/models/memo.mdl delete mode 100644 macros/text1/pc/models/mergelet.mdl delete mode 100644 macros/text1/pc/models/mergelst.mdl delete mode 100644 macros/text1/pc/models/mergetxt.inp delete mode 100644 macros/text1/pc/models/mergetxt.mdl delete mode 100644 macros/text1/pc/models/paper.inp delete mode 100644 macros/text1/pc/models/paper.mdl delete mode 100644 macros/text1/pc/models/resume.inp delete mode 100644 macros/text1/pc/models/resume.mdl delete mode 100644 macros/text1/pc/models/thesis.inp delete mode 100644 macros/text1/pc/models/thesis.mdl delete mode 100644 macros/text1/pc/readme.tex delete mode 100644 macros/text1/texix/plsort.pliopt delete mode 100644 macros/text1/texix/texix.cmschan delete mode 100644 macros/text1/texix/texix.cmsinfo delete mode 100644 macros/text1/texix/texix.readme delete mode 100644 macros/text1/texix/texix.web delete mode 100644 macros/text1/texix/txt1v293.cmschan delete mode 100644 macros/text1/vax_vms/compile_texix.com delete mode 100644 macros/text1/vax_vms/sortcall.pen delete mode 100644 macros/text1/vax_vms/texix.ch delete mode 100644 macros/text1/vax_vms/texix_vms.readme delete mode 100644 macros/text1/vax_vms/vmssort.pas delete mode 100644 macros/xmltex/base/englishutf16.xml delete mode 100644 macros/xmltex/base/englishutf8.xml delete mode 100644 macros/xmltex/base/iso-8859-1.xmt delete mode 100644 macros/xmltex/base/iso-8859-2.xmt delete mode 100644 macros/xmltex/base/koi8-r.xmt delete mode 100644 macros/xmltex/base/langtest.tex delete mode 100644 macros/xmltex/base/langtest.xml delete mode 100644 macros/xmltex/base/langtest.xmt delete mode 100644 macros/xmltex/base/manual.html delete mode 100644 macros/xmltex/base/manual.tex delete mode 100644 macros/xmltex/base/manual.xml delete mode 100644 macros/xmltex/base/manual.xsl delete mode 100644 macros/xmltex/base/mathml2.xmt delete mode 100644 macros/xmltex/base/portugeselatin1.xml delete mode 100644 macros/xmltex/base/readme.txt delete mode 100644 macros/xmltex/base/russiankoi8.xml delete mode 100644 macros/xmltex/base/russianutf8.xml delete mode 100644 macros/xmltex/base/sec.xmt delete mode 100644 macros/xmltex/base/tei.xmt delete mode 100644 macros/xmltex/base/testascii.cfg delete mode 100644 macros/xmltex/base/testascii.tex delete mode 100644 macros/xmltex/base/testascii.xml delete mode 100644 macros/xmltex/base/testsec.tex delete mode 100644 macros/xmltex/base/testsec.xml delete mode 100644 macros/xmltex/base/utf-16.xmt delete mode 100644 macros/xmltex/base/windows-1250.xmt delete mode 100644 macros/xmltex/base/xmltex.cfg delete mode 100644 macros/xmltex/base/xmltex.tex delete mode 100644 macros/xmltex/contrib/passivetex/dummyels.sty delete mode 100644 macros/xmltex/contrib/passivetex/fotex.sty delete mode 100644 macros/xmltex/contrib/passivetex/fotex.xmt delete mode 100644 macros/xmltex/contrib/passivetex/mlnames.sty delete mode 100644 macros/xmltex/contrib/passivetex/tei.xmt delete mode 100644 macros/xmltex/contrib/passivetex/teiprintslides.xmt delete mode 100644 macros/xmltex/contrib/passivetex/teislides.xmt delete mode 100644 macros/xmltex/contrib/passivetex/teixml.sty delete mode 100644 macros/xmltex/contrib/passivetex/teixmlslides.sty delete mode 100644 macros/xmltex/contrib/passivetex/ucharacters.sty delete mode 100644 macros/xmltex/contrib/passivetex/unicode.sty delete mode 100644 macros/ytex/ybase.mac delete mode 100644 macros/ytex/yfonts.mac delete mode 100644 macros/ytex/ylog.mac delete mode 100644 macros/ytex/ysite.mac delete mode 100644 macros/ytex/ytex-cm.tex delete mode 100644 macros/ytex/ytex.ieee delete mode 100644 macros/ytex/ytex.mac delete mode 100644 macros/ytex/ytex.mail delete mode 100644 macros/ytex/yusage.lst delete mode 100644 macros/ytex/yusage.tex delete mode 100644 macros/ytex/yuser.mac create mode 100644 obsolete/macros/alatex/alatex-1.0/0areadme.txt create mode 100644 obsolete/macros/alatex/alatex-1.0/COPYING create mode 100644 obsolete/macros/alatex/alatex-1.0/Makefile create mode 120000 obsolete/macros/alatex/alatex-1.0/README create mode 100644 obsolete/macros/alatex/alatex-1.0/VERSION-1.0 create mode 100644 obsolete/macros/alatex/alatex-1.0/abugs.txt create mode 100644 obsolete/macros/alatex/alatex-1.0/ainstall.txt create mode 100644 obsolete/macros/alatex/alatex-1.0/alatex.dtx create mode 100644 obsolete/macros/alatex/alatex-1.0/alatex.tex create mode 100644 obsolete/macros/alatex/alatex-1.0/amanifst.txt create mode 100644 obsolete/macros/alatex/alatex-1.0/aunpack.ins create mode 100644 obsolete/macros/alatex/alatex-1.0/aunpcked.txt create mode 100644 obsolete/macros/blu/address.dat create mode 100644 obsolete/macros/blu/blue.tex create mode 100644 obsolete/macros/blu/fmt.dat create mode 100644 obsolete/macros/blu/lit.dat create mode 100644 obsolete/macros/blu/pic.dat create mode 100644 obsolete/macros/blu/readme.fst create mode 100644 obsolete/macros/blu/tools.dat create mode 100644 obsolete/macros/fotex/fotex.ini create mode 100644 obsolete/macros/fotex/fotex.ltx create mode 100644 obsolete/macros/fotex/mathml.ltx create mode 100644 obsolete/macros/fotex/pdffotex.ini create mode 100644 obsolete/macros/inrstex/inrsdoc/boxex.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/genins.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/helphdr.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/ieeelogo.ps create mode 100644 obsolete/macros/inrstex/inrsdoc/index.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/indsort create mode 100644 obsolete/macros/inrstex/inrsdoc/indsort.c create mode 100644 obsolete/macros/inrstex/inrsdoc/inrslogo.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/inrssl.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/inrsunix.sh create mode 100644 obsolete/macros/inrstex/inrsdoc/masth.ctg create mode 100644 obsolete/macros/inrstex/inrsdoc/masth.ind create mode 100644 obsolete/macros/inrstex/inrsdoc/masth.sor create mode 100644 obsolete/macros/inrstex/inrsdoc/masth.sta create mode 100644 obsolete/macros/inrstex/inrsdoc/masth.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/masth_chap create mode 100644 obsolete/macros/inrstex/inrsdoc/mastoc.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/mastps create mode 100644 obsolete/macros/inrstex/inrsdoc/mjf.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/pagdiag.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/psalm23.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/secthead.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/status.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thalign.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thauto.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thbas.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thbasbox.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thbreak.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thcite.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thcont.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thcover.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thdefs.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thdimnum.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thdocsty.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thfigtbl.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thfonts.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thftnote.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thglue.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thgraph.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thindex.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thlists.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thmateq.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thmatsym.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thmulcol.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thover.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thp2.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thpagsiz.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thpagsty.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thparcon.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thshead.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thspac.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thstart.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thsubdoc.tex create mode 100644 obsolete/macros/inrstex/inrsdoc/thtoc.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/UQlogo.epsf create mode 100644 obsolete/macros/inrstex/inrsinputs/bilingue.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/booksty.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/centerh.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/cm_11.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/dvialw.ps create mode 100644 obsolete/macros/inrstex/inrsinputs/enfrtwo.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/english.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/francais.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/helphdr.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/ieeelogo.ps create mode 100644 obsolete/macros/inrstex/inrsinputs/inrslogo.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/inrssl.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/inrssty.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/inrstemp.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/oldspace.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/papersty.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/spfont.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/texgraph.tex create mode 100644 obsolete/macros/inrstex/inrsinputs/verbatim.tex create mode 100644 obsolete/macros/inrstex/inrstex/abstract.tex create mode 100644 obsolete/macros/inrstex/inrstex/appendix.tex create mode 100644 obsolete/macros/inrstex/inrstex/auto.tex create mode 100644 obsolete/macros/inrstex/inrstex/cite.tex create mode 100644 obsolete/macros/inrstex/inrstex/compat3.tex create mode 100644 obsolete/macros/inrstex/inrstex/compatib.tex create mode 100644 obsolete/macros/inrstex/inrstex/english.tex create mode 100644 obsolete/macros/inrstex/inrstex/enhyph.tex create mode 100644 obsolete/macros/inrstex/inrstex/enhyphex.tex create mode 100644 obsolete/macros/inrstex/inrstex/eqtag.tex create mode 100644 obsolete/macros/inrstex/inrstex/extdef.tex create mode 100644 obsolete/macros/inrstex/inrstex/extdef3.tex create mode 100644 obsolete/macros/inrstex/inrstex/footnote.tex create mode 100644 obsolete/macros/inrstex/inrstex/frhyph.tex create mode 100644 obsolete/macros/inrstex/inrstex/genins.tex create mode 100644 obsolete/macros/inrstex/inrstex/graph_ps.tex create mode 100644 obsolete/macros/inrstex/inrstex/hyphen.tex create mode 100644 obsolete/macros/inrstex/inrstex/inrs.scr create mode 100644 obsolete/macros/inrstex/inrstex/inrsdef.tex create mode 100644 obsolete/macros/inrstex/inrstex/inrsfncm.tex create mode 100644 obsolete/macros/inrstex/inrstex/inrstex.tex create mode 100644 obsolete/macros/inrstex/inrstex/inrsunix.sh create mode 100644 obsolete/macros/inrstex/inrstex/inrsutil.tex create mode 100644 obsolete/macros/inrstex/inrstex/linespac.tex create mode 100644 obsolete/macros/inrstex/inrstex/lists.tex create mode 100644 obsolete/macros/inrstex/inrstex/margform.tex create mode 100644 obsolete/macros/inrstex/inrstex/masthyph.tex create mode 100644 obsolete/macros/inrstex/inrstex/multicol.tex create mode 100644 obsolete/macros/inrstex/inrstex/multlang.tex create mode 100644 obsolete/macros/inrstex/inrstex/out_ps.tex create mode 100644 obsolete/macros/inrstex/inrstex/pagsty.tex create mode 100644 obsolete/macros/inrstex/inrstex/papersty.tex create mode 100644 obsolete/macros/inrstex/inrstex/plain_nh.tex create mode 100644 obsolete/macros/inrstex/inrstex/plainmod.tex create mode 100644 obsolete/macros/inrstex/inrstex/plaipars.tex create mode 100644 obsolete/macros/inrstex/inrstex/prelhead.tex create mode 100644 obsolete/macros/inrstex/inrstex/secthead.tex create mode 100644 obsolete/macros/inrstex/inrstex/specform.tex create mode 100644 obsolete/macros/inrstex/inrstex/subdoc.tex create mode 100644 obsolete/macros/inrstex/inrstex/tables.tex create mode 100644 obsolete/macros/inrstex/inrstex/tag.tex create mode 100644 obsolete/macros/inrstex/inrstex/tocform.tex create mode 100644 obsolete/macros/inrstex/inrstex/writdos.tex create mode 100644 obsolete/macros/inrstex/inrstex/writfile.tex create mode 100644 obsolete/macros/inrstex/inrstex/writunix.tex create mode 100644 obsolete/macros/inrstex/pc/readme.txt create mode 100644 obsolete/macros/inrstex/texgraph/ieeelogo.ps create mode 100644 obsolete/macros/inrstex/texgraph/inrslogo.tex create mode 100644 obsolete/macros/inrstex/texgraph/inrssl.tex create mode 100644 obsolete/macros/inrstex/texgraph/readme create mode 100644 obsolete/macros/inrstex/texgraph/spfont.tex create mode 100644 obsolete/macros/inrstex/texgraph/test_lat.aux create mode 100644 obsolete/macros/inrstex/texgraph/test_lat.tex create mode 100644 obsolete/macros/inrstex/texgraph/testinrs.tex create mode 100644 obsolete/macros/inrstex/texgraph/texgraph.sty create mode 100644 obsolete/macros/inrstex/texgraph/texgraph.tex create mode 100644 obsolete/macros/inrstex/texgraph/thgraph.ps create mode 100644 obsolete/macros/mtex/README create mode 100644 obsolete/macros/mtex/documentation/mdoc.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc1.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc10.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc11.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc12.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc13.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc2.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc3.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc4.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc5.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc6.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc7.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc8.tex create mode 100644 obsolete/macros/mtex/documentation/mdoc9.tex create mode 100644 obsolete/macros/mtex/documentation/mdocabst.tex create mode 100644 obsolete/macros/mtex/documentation/mdocams.tex create mode 100644 obsolete/macros/mtex/documentation/mdocanha.tex create mode 100644 obsolete/macros/mtex/documentation/mdocanhb.tex create mode 100644 obsolete/macros/mtex/documentation/mdocanhc.tex create mode 100644 obsolete/macros/mtex/documentation/mdocanhd.tex create mode 100644 obsolete/macros/mtex/documentation/mdocdef.tex create mode 100644 obsolete/macros/mtex/documentation/mdocdef2.tex create mode 100644 obsolete/macros/mtex/documentation/mdoceinl.tex create mode 100644 obsolete/macros/mtex/documentation/mdocinh.tex create mode 100644 obsolete/macros/mtex/documentation/mdocpic1.tex create mode 100644 obsolete/macros/mtex/documentation/mdocpic2.tex create mode 100644 obsolete/macros/mtex/documentation/mdocpic3.tex create mode 100644 obsolete/macros/mtex/documentation/mdocpic4.tex create mode 100644 obsolete/macros/mtex/documentation/mdoctit.tex create mode 100644 obsolete/macros/mtex/documentation/mdoctrns.tex create mode 100644 obsolete/macros/mtex/documentation/mdocverb.tex create mode 100644 obsolete/macros/mtex/documentation/webmac.tex create mode 100644 obsolete/macros/mtex/macros/mtex.tex create mode 100644 obsolete/macros/mtex/macros/mtexdemo.tex create mode 100644 obsolete/macros/mtex/macros/mtexinfo.tex create mode 100644 obsolete/macros/mtex/metafont/acc16.mf create mode 100644 obsolete/macros/mtex/metafont/beam16.mf create mode 100644 obsolete/macros/mtex/metafont/music16.mf create mode 100644 obsolete/macros/mtex/metafont/musicdef.mf create mode 100644 obsolete/macros/mtex/metafont/noten16.mf create mode 100644 obsolete/macros/mtex/metafont/pause16.mf create mode 100644 obsolete/macros/mtex/metafont/slur16.mf create mode 100644 obsolete/macros/mtex/metafont/slurdd16.mf create mode 100644 obsolete/macros/mtex/metafont/slurdu16.mf create mode 100644 obsolete/macros/mtex/metafont/slurud16.mf create mode 100644 obsolete/macros/mtex/metafont/sluruu16.mf create mode 100644 obsolete/macros/mtex/metafont/sonder16.mf create mode 100644 obsolete/macros/mtex/metafont/vio16.mf create mode 100644 obsolete/macros/physe/physe.doc create mode 100644 obsolete/macros/physe/physe.tex create mode 100644 obsolete/macros/physe/physupdt.tex create mode 100644 obsolete/macros/phyzzx/myphyx.tex create mode 100644 obsolete/macros/phyzzx/phyzdoc.tex create mode 100644 obsolete/macros/phyzzx/phyzzx.fonts create mode 100644 obsolete/macros/phyzzx/phyzzx.local create mode 100644 obsolete/macros/phyzzx/phyzzx.plus create mode 100644 obsolete/macros/phyzzx/phyzzx.tex create mode 100644 obsolete/macros/scripttex/scrnplay.tex create mode 100644 obsolete/macros/scripttex/scrnwrit.bib create mode 100644 obsolete/macros/scripttex/stagplay.tex create mode 100644 obsolete/macros/scripttex/stdemo.tex create mode 100644 obsolete/macros/scripttex/stdoc.pdf create mode 100644 obsolete/macros/scripttex/stdoc.tex create mode 100644 obsolete/macros/texmuse/Doc/pdf/mainloop.pdf create mode 100644 obsolete/macros/texmuse/Doc/pdf/running.pdf create mode 100644 obsolete/macros/texmuse/Doc/pdf/wants.pdf create mode 100644 obsolete/macros/texmuse/Doc/tex/mainloop.dvi create mode 100644 obsolete/macros/texmuse/Doc/tex/mainloop.tex create mode 100644 obsolete/macros/texmuse/Doc/tex/mainloop1.mf create mode 100644 obsolete/macros/texmuse/Doc/tex/mainloop2.mf create mode 100644 obsolete/macros/texmuse/Doc/tex/mainloop3.mf create mode 100644 obsolete/macros/texmuse/Doc/tex/mainloop4.mf create mode 100644 obsolete/macros/texmuse/Doc/tex/mainloop5.mf create mode 100644 obsolete/macros/texmuse/Doc/tex/mainloop6.mf create mode 100644 obsolete/macros/texmuse/Doc/tex/running.dvi create mode 100644 obsolete/macros/texmuse/Doc/tex/running.tex create mode 100644 obsolete/macros/texmuse/Doc/tex/wants.dvi create mode 100644 obsolete/macros/texmuse/Doc/tex/wants.tex create mode 100644 obsolete/macros/texmuse/Program/texmuse.mf create mode 100644 obsolete/macros/texmuse/Program/texmuse.tex create mode 100644 obsolete/macros/texmuse/Program/txmfont.mf create mode 100644 obsolete/macros/texmuse/README create mode 120000 obsolete/macros/texmuse/README.txt create mode 100644 obsolete/macros/texmuse/Samples/pdf/aminor.pdf create mode 100644 obsolete/macros/texmuse/Samples/pdf/bbmajor.pdf create mode 100644 obsolete/macros/texmuse/Samples/pdf/cmajor.pdf create mode 100644 obsolete/macros/texmuse/Samples/pdf/cminor.pdf create mode 100644 obsolete/macros/texmuse/Samples/pdf/dmajor.pdf create mode 100644 obsolete/macros/texmuse/Samples/pdf/dminor.pdf create mode 100644 obsolete/macros/texmuse/Samples/pdf/ebmajor.pdf create mode 100644 obsolete/macros/texmuse/Samples/pdf/fmajor.pdf create mode 100644 obsolete/macros/texmuse/Samples/tex/aminor.dvi create mode 100644 obsolete/macros/texmuse/Samples/tex/aminor.tex create mode 100644 obsolete/macros/texmuse/Samples/tex/aminor1.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/aminor2.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/aminor3.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/bbmajor.dvi create mode 100644 obsolete/macros/texmuse/Samples/tex/bbmajor.tex create mode 100644 obsolete/macros/texmuse/Samples/tex/bbmajor1.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/bbmajor2.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/bbmajor3.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/bbmajor4.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/cmajor.dvi create mode 100644 obsolete/macros/texmuse/Samples/tex/cmajor.tex create mode 100644 obsolete/macros/texmuse/Samples/tex/cmajor1.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/cmajor2.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/cmajor3.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/cminor.dvi create mode 100644 obsolete/macros/texmuse/Samples/tex/cminor.tex create mode 100644 obsolete/macros/texmuse/Samples/tex/cminor1.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/cminor2.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/cminor3.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/cminor4.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/dmajor.dvi create mode 100644 obsolete/macros/texmuse/Samples/tex/dmajor.tex create mode 100644 obsolete/macros/texmuse/Samples/tex/dmajor1.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/dmajor2.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/dmajor3.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/dmajor4.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/dminor.dvi create mode 100644 obsolete/macros/texmuse/Samples/tex/dminor.tex create mode 100644 obsolete/macros/texmuse/Samples/tex/dminor1.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/dminor2.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/dminor3.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/ebmajor.dvi create mode 100644 obsolete/macros/texmuse/Samples/tex/ebmajor.tex create mode 100644 obsolete/macros/texmuse/Samples/tex/ebmajor1.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/ebmajor2.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/ebmajor3.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/ebmajor4.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/ebmajor5.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/fmajor.dvi create mode 100644 obsolete/macros/texmuse/Samples/tex/fmajor.tex create mode 100644 obsolete/macros/texmuse/Samples/tex/fmajor1.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/fmajor2.mf create mode 100644 obsolete/macros/texmuse/Samples/tex/fmajor3.mf create mode 100644 obsolete/macros/text1/blocks/appendix.texblock create mode 100644 obsolete/macros/text1/blocks/asism.texblock create mode 100644 obsolete/macros/text1/blocks/asisp.texblock create mode 100644 obsolete/macros/text1/blocks/bibliog.texblock create mode 100644 obsolete/macros/text1/blocks/bquotem.texblock create mode 100644 obsolete/macros/text1/blocks/bquotep.texblock create mode 100644 obsolete/macros/text1/blocks/chapter.texblock create mode 100644 obsolete/macros/text1/blocks/contents.texblock create mode 100644 obsolete/macros/text1/blocks/enotem.texblock create mode 100644 obsolete/macros/text1/blocks/enotep.texblock create mode 100644 obsolete/macros/text1/blocks/figurem.texblock create mode 100644 obsolete/macros/text1/blocks/figurep.texblock create mode 100644 obsolete/macros/text1/blocks/fnotem.texblock create mode 100644 obsolete/macros/text1/blocks/fnotep.texblock create mode 100644 obsolete/macros/text1/blocks/fontm.texblock create mode 100644 obsolete/macros/text1/blocks/fontp.texblock create mode 100644 obsolete/macros/text1/blocks/index.texblock create mode 100644 obsolete/macros/text1/blocks/label.texblock create mode 100644 obsolete/macros/text1/blocks/lists.texblock create mode 100644 obsolete/macros/text1/blocks/maillbls.texblock create mode 100644 obsolete/macros/text1/blocks/marnote.texblock create mode 100644 obsolete/macros/text1/blocks/multicol.texblock create mode 100644 obsolete/macros/text1/blocks/pagem.texblock create mode 100644 obsolete/macros/text1/blocks/pagep.texblock create mode 100644 obsolete/macros/text1/blocks/parm.texblock create mode 100644 obsolete/macros/text1/blocks/parp.texblock create mode 100644 obsolete/macros/text1/blocks/part.texblock create mode 100644 obsolete/macros/text1/blocks/preface.texblock create mode 100644 obsolete/macros/text1/blocks/runfoot.texblock create mode 100644 obsolete/macros/text1/blocks/runhead.texblock create mode 100644 obsolete/macros/text1/blocks/subheada.texblock create mode 100644 obsolete/macros/text1/blocks/subheadb.texblock create mode 100644 obsolete/macros/text1/blocks/subheadc.texblock create mode 100644 obsolete/macros/text1/blocks/subheadd.texblock create mode 100644 obsolete/macros/text1/blocks/tablem.texblock create mode 100644 obsolete/macros/text1/blocks/tablep.texblock create mode 100644 obsolete/macros/text1/blocks/talaris.texblock create mode 100644 obsolete/macros/text1/blocks/titlepg.texblock create mode 100644 obsolete/macros/text1/changes.aug91 create mode 100644 obsolete/macros/text1/changes.aug92 create mode 100644 obsolete/macros/text1/changes.aug93 create mode 100644 obsolete/macros/text1/changes.dec93 create mode 100644 obsolete/macros/text1/changes.feb91 create mode 100644 obsolete/macros/text1/changes.jan92 create mode 100644 obsolete/macros/text1/changes.jun91 create mode 100644 obsolete/macros/text1/changes.jun96 create mode 100644 obsolete/macros/text1/changes.mar91 create mode 100644 obsolete/macros/text1/changes.mar92 create mode 100644 obsolete/macros/text1/changes.may92 create mode 100644 obsolete/macros/text1/changes.nov90 create mode 100644 obsolete/macros/text1/changes.nov92 create mode 100644 obsolete/macros/text1/changes.nov94 create mode 100644 obsolete/macros/text1/changes.sep91 create mode 100644 obsolete/macros/text1/cms_help_files/1--footn.help4--f create mode 100644 obsolete/macros/text1/cms_help_files/1--verti.helpvert create mode 100644 obsolete/macros/text1/cms_help_files/10noter.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/11noter.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/12noter.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/1block.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/1every.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/1everye.helpendn create mode 100644 obsolete/macros/text1/cms_help_files/1everyf.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/1numbe.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/1number.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/2--footn.help4--f create mode 100644 obsolete/macros/text1/cms_help_files/2--verti.helpvert create mode 100644 obsolete/macros/text1/cms_help_files/2block.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/2footn.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/2footno.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/2skipbe.helpendn create mode 100644 obsolete/macros/text1/cms_help_files/2title.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/3befor.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/3block.helpmenu create mode 100644 obsolete/macros/text1/cms_help_files/3every.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/3incon.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/3incont.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/3skipb.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/3skipbe.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/3textre.helpendn create mode 100644 obsolete/macros/text1/cms_help_files/4footn.helpmenu create mode 100644 obsolete/macros/text1/cms_help_files/4refer.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/4skipaf.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/4skipb.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/4textre.helpendn create mode 100644 obsolete/macros/text1/cms_help_files/5refer.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/5skipa.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/5textre.helpendn create mode 100644 obsolete/macros/text1/cms_help_files/5textre.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/6notere.helpendn create mode 100644 obsolete/macros/text1/cms_help_files/6refer.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/6textre.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/7notere.helpendn create mode 100644 obsolete/macros/text1/cms_help_files/7refer.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/7textre.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/8notere.helpendn create mode 100644 obsolete/macros/text1/cms_help_files/8textre.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/9notere.helpendn create mode 100644 obsolete/macros/text1/cms_help_files/9notere.helpfoot create mode 100644 obsolete/macros/text1/cms_help_files/aen.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/afn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/aib.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/aie.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/aif.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/anumbe.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/anumber.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/apf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/app.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/appendix.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/appendix.helpmenu create mode 100644 obsolete/macros/text1/cms_help_files/asism.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/asisp.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/bd.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bi.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bib.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bibentry.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bibliog.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/bibliogr.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bie.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bif.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bothpage.helpmenu create mode 100644 obsolete/macros/text1/cms_help_files/bottomma.helppage create mode 100644 obsolete/macros/text1/cms_help_files/bottomti.helpboth create mode 100644 obsolete/macros/text1/cms_help_files/bottomti.helpeven create mode 100644 obsolete/macros/text1/cms_help_files/bottomti.helpoddp create mode 100644 obsolete/macros/text1/cms_help_files/bqb.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bqe.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bqf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/bquotem.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/bquotep.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/break.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/btitle.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/btitlef.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/bul.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/cc.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/cents.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/chap.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/chapter.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/chf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/chrono.changes create mode 100644 obsolete/macros/text1/cms_help_files/cincon.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/cincont.helpsubh create mode 100644 obsolete/macros/text1/cms_help_files/cl.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/clb.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/cle.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/contents.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/coul.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/db.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/dbm.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/dbrs.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/die.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/dsp.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/el.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/enf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/enotem.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/enotep.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/ep.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/epm.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ex.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/fif.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/fig.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/figurem.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/figurep.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/fixf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/fnf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/fnotem.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/fnotep.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/font.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/fontm.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/fontp.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/footnote.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/frac.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/frenchsp.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/goodbrea.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/halign.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/hbox.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/hin.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/hof.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/hon.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/hp.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/hrule.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/hs.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/hsize.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/incl.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/indent.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/index.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/input.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/isk.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/it.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/italicfa.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/item.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ix.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ixf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ju.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/la.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/label.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/laf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/lbr.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/leader.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/letter.helpmode create mode 100644 obsolete/macros/text1/cms_help_files/lib.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/lie.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/lif.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/lil.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/lin.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/line.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/lint.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/lir.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/lists.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/lnf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/lr.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/markup.helpmenu create mode 100644 obsolete/macros/text1/cms_help_files/marnote.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/mathdefa.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/mcf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/memo.helpmode create mode 100644 obsolete/macros/text1/cms_help_files/mi.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/mn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/mnf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/msp.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/multicol.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/nc.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/nin.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/nobreak.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/nonfrenc.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/np.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ntp.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/numl.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/oc.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/opm.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/paf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/pagem.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/pagep.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/paper.helpmode create mode 100644 obsolete/macros/text1/cms_help_files/par.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/parm.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/parp.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/part.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/part.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/pb.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/pen.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/pf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/pic.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/pin.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/plaintex.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/pn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ppl.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/pre.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/preface.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/prf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/prin.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/printend.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/printind.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/psk.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/qquad.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/quad.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/raggedbo.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/resume.helpmode create mode 100644 obsolete/macros/text1/cms_help_files/rff.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/rhf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/rin.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/rl.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/rlb.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/rle.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/rm.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/rr.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/rule.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/runfoot.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/runhead.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/san.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/sau.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/scn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/senn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/settabs.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/sfn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/sfnn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/sfs.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/sha.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/shaf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/shb.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/shbf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/shc.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/shcf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/shd.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/shdf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/sms.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/special.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/spn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/sptn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ssan.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ssbn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/sscn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ssdn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ssf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/ssp.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/stn.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/strut.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/subheada.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/subheadb.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/subheadc.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/subheadd.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/sy.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/tablem.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/tablep.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/taf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/talaris.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/tat.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/tenpt.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/text1.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/thc.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/thesis.helpmode create mode 100644 obsolete/macros/text1/cms_help_files/titlepg.helpbloc create mode 100644 obsolete/macros/text1/cms_help_files/toc.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/tocf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/toclbr.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/today.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/topline1.helpeven create mode 100644 obsolete/macros/text1/cms_help_files/topline1.helpoddp create mode 100644 obsolete/macros/text1/cms_help_files/topmargi.helppage create mode 100644 obsolete/macros/text1/cms_help_files/tp.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/tpf.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/tt.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/twc.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/twelvept.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/us.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/vbox.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/vertical.helpvert create mode 100644 obsolete/macros/text1/cms_help_files/vrule.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/vs.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/vsk.helpmark create mode 100644 obsolete/macros/text1/cms_help_files/width.helppage create mode 100644 obsolete/macros/text1/compugraphics_8600/et10.textext create mode 100644 obsolete/macros/text1/compugraphics_8600/et11.textext create mode 100644 obsolete/macros/text1/compugraphics_8600/et12.textext create mode 100644 obsolete/macros/text1/compugraphics_8600/et14.textext create mode 100644 obsolete/macros/text1/compugraphics_8600/et18.textext create mode 100644 obsolete/macros/text1/compugraphics_8600/et8.textext create mode 100644 obsolete/macros/text1/compugraphics_8600/et9.textext create mode 100644 obsolete/macros/text1/compugraphics_8600/etb.fontinfo create mode 100644 obsolete/macros/text1/compugraphics_8600/etbi.fontinfo create mode 100644 obsolete/macros/text1/compugraphics_8600/eti.fontinfo create mode 100644 obsolete/macros/text1/compugraphics_8600/etr.fontinfo create mode 100644 obsolete/macros/text1/compugraphics_8600/etsc.fontinfo create mode 100644 obsolete/macros/text1/compugraphics_8600/fonttex.cmschan create mode 100644 obsolete/macros/text1/compugraphics_8600/fonttex.exec create mode 100644 obsolete/macros/text1/compugraphics_8600/fonttex.outchan create mode 100644 obsolete/macros/text1/compugraphics_8600/fonttex.web create mode 100644 obsolete/macros/text1/compugraphics_8600/reblock.pascal create mode 100644 obsolete/macros/text1/compugraphics_8600/tex8600.cmschan create mode 100644 obsolete/macros/text1/compugraphics_8600/tex8600.outchan create mode 100644 obsolete/macros/text1/compugraphics_8600/tex8600.web create mode 100644 obsolete/macros/text1/docs/readme.tex create mode 100644 obsolete/macros/text1/docs/refman.ps.gz create mode 100644 obsolete/macros/text1/fonts/cmr36.dump create mode 100644 obsolete/macros/text1/fonts/dt.240pk create mode 100644 obsolete/macros/text1/fonts/dt.300pk create mode 100644 obsolete/macros/text1/fonts/dt.mf create mode 100644 obsolete/macros/text1/fonts/dt.readme create mode 100644 obsolete/macros/text1/fonts/dt.tfm create mode 100644 obsolete/macros/text1/fonts/dt240.mf create mode 100644 obsolete/macros/text1/fonts/dt300.mf create mode 100644 obsolete/macros/text1/macintosh/texix.macinfo create mode 100644 obsolete/macros/text1/macintosh/texix.turbomac create mode 100644 obsolete/macros/text1/macintosh/texix_macintosh.readme create mode 100644 obsolete/macros/text1/macintosh/text1_index_sort.bin create mode 100644 obsolete/macros/text1/macros/cgfonts.lclist create mode 100644 obsolete/macros/text1/macros/cm10.textext create mode 100644 obsolete/macros/text1/macros/cm108m.texmath create mode 100644 obsolete/macros/text1/macros/cm109m.texmath create mode 100644 obsolete/macros/text1/macros/cm11.textext create mode 100644 obsolete/macros/text1/macros/cm1110m.texmath create mode 100644 obsolete/macros/text1/macros/cm119m.texmath create mode 100644 obsolete/macros/text1/macros/cm12.textext create mode 100644 obsolete/macros/text1/macros/cm1210m.texmath create mode 100644 obsolete/macros/text1/macros/cm1211m.texmath create mode 100644 obsolete/macros/text1/macros/cm14.textext create mode 100644 obsolete/macros/text1/macros/cm1412m.texmath create mode 100644 obsolete/macros/text1/macros/cm18.textext create mode 100644 obsolete/macros/text1/macros/cm1814m.texmath create mode 100644 obsolete/macros/text1/macros/cm24.textext create mode 100644 obsolete/macros/text1/macros/cm2418m.texmath create mode 100644 obsolete/macros/text1/macros/cm36.textext create mode 100644 obsolete/macros/text1/macros/cm5.textext create mode 100644 obsolete/macros/text1/macros/cm6.textext create mode 100644 obsolete/macros/text1/macros/cm65m.texmath create mode 100644 obsolete/macros/text1/macros/cm7.textext create mode 100644 obsolete/macros/text1/macros/cm75m.texmath create mode 100644 obsolete/macros/text1/macros/cm76m.texmath create mode 100644 obsolete/macros/text1/macros/cm8.textext create mode 100644 obsolete/macros/text1/macros/cm86m.texmath create mode 100644 obsolete/macros/text1/macros/cm87m.texmath create mode 100644 obsolete/macros/text1/macros/cm9.textext create mode 100644 obsolete/macros/text1/macros/cm97m.texmath create mode 100644 obsolete/macros/text1/macros/cm98m.texmath create mode 100644 obsolete/macros/text1/macros/cmsan10.textext create mode 100644 obsolete/macros/text1/macros/cmsan11.textext create mode 100644 obsolete/macros/text1/macros/cmsan12.textext create mode 100644 obsolete/macros/text1/macros/cmsan14.textext create mode 100644 obsolete/macros/text1/macros/cmsan18.textext create mode 100644 obsolete/macros/text1/macros/cmsan24.textext create mode 100644 obsolete/macros/text1/macros/cmsan36.textext create mode 100644 obsolete/macros/text1/macros/cmsan8.textext create mode 100644 obsolete/macros/text1/macros/cmsan9.textext create mode 100644 obsolete/macros/text1/macros/fixcol.tex create mode 100644 obsolete/macros/text1/macros/flexcol.tex create mode 100644 obsolete/macros/text1/macros/text1.tex create mode 100644 obsolete/macros/text1/macros/txt1v409.tex create mode 100644 obsolete/macros/text1/models/letter.texinput create mode 100644 obsolete/macros/text1/models/letter.texmodel create mode 100644 obsolete/macros/text1/models/memo.texinput create mode 100644 obsolete/macros/text1/models/memo.texmodel create mode 100644 obsolete/macros/text1/models/mergelet.texmodel create mode 100644 obsolete/macros/text1/models/mergelst.texmodel create mode 100644 obsolete/macros/text1/models/mergetxt.texinput create mode 100644 obsolete/macros/text1/models/mergetxt.texmodel create mode 100644 obsolete/macros/text1/models/paper.texinput create mode 100644 obsolete/macros/text1/models/paper.texmodel create mode 100644 obsolete/macros/text1/models/resume.texinput create mode 100644 obsolete/macros/text1/models/resume.texmodel create mode 100644 obsolete/macros/text1/models/thesis.texinput create mode 100644 obsolete/macros/text1/models/thesis.texmodel create mode 100644 obsolete/macros/text1/pc/blocks/appendix.blk create mode 100644 obsolete/macros/text1/pc/blocks/asism.blk create mode 100644 obsolete/macros/text1/pc/blocks/asisp.blk create mode 100644 obsolete/macros/text1/pc/blocks/bibliog.blk create mode 100644 obsolete/macros/text1/pc/blocks/bquotem.blk create mode 100644 obsolete/macros/text1/pc/blocks/bquotep.blk create mode 100644 obsolete/macros/text1/pc/blocks/chapter.blk create mode 100644 obsolete/macros/text1/pc/blocks/contents.blk create mode 100644 obsolete/macros/text1/pc/blocks/enotem.blk create mode 100644 obsolete/macros/text1/pc/blocks/enotep.blk create mode 100644 obsolete/macros/text1/pc/blocks/figurem.blk create mode 100644 obsolete/macros/text1/pc/blocks/figurep.blk create mode 100644 obsolete/macros/text1/pc/blocks/fnotem.blk create mode 100644 obsolete/macros/text1/pc/blocks/fnotep.blk create mode 100644 obsolete/macros/text1/pc/blocks/fontm.blk create mode 100644 obsolete/macros/text1/pc/blocks/fontp.blk create mode 100644 obsolete/macros/text1/pc/blocks/index.blk create mode 100644 obsolete/macros/text1/pc/blocks/label.blk create mode 100644 obsolete/macros/text1/pc/blocks/lists.blk create mode 100644 obsolete/macros/text1/pc/blocks/maillbls.blk create mode 100644 obsolete/macros/text1/pc/blocks/marnote.blk create mode 100644 obsolete/macros/text1/pc/blocks/multicol.blk create mode 100644 obsolete/macros/text1/pc/blocks/pagem.blk create mode 100644 obsolete/macros/text1/pc/blocks/pagep.blk create mode 100644 obsolete/macros/text1/pc/blocks/parm.blk create mode 100644 obsolete/macros/text1/pc/blocks/parp.blk create mode 100644 obsolete/macros/text1/pc/blocks/part.blk create mode 100644 obsolete/macros/text1/pc/blocks/preface.blk create mode 100644 obsolete/macros/text1/pc/blocks/runfoot.blk create mode 100644 obsolete/macros/text1/pc/blocks/runhead.blk create mode 100644 obsolete/macros/text1/pc/blocks/subheada.blk create mode 100644 obsolete/macros/text1/pc/blocks/subheadb.blk create mode 100644 obsolete/macros/text1/pc/blocks/subheadc.blk create mode 100644 obsolete/macros/text1/pc/blocks/subheadd.blk create mode 100644 obsolete/macros/text1/pc/blocks/tablem.blk create mode 100644 obsolete/macros/text1/pc/blocks/tablep.blk create mode 100644 obsolete/macros/text1/pc/blocks/talaris.blk create mode 100644 obsolete/macros/text1/pc/blocks/titlepg.blk create mode 100644 obsolete/macros/text1/pc/fonts/dt.pk create mode 100644 obsolete/macros/text1/pc/misc/cm10.txt create mode 100644 obsolete/macros/text1/pc/misc/cm108m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm109m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm11.txt create mode 100644 obsolete/macros/text1/pc/misc/cm1110m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm119m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm12.txt create mode 100644 obsolete/macros/text1/pc/misc/cm1210m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm1211m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm14.txt create mode 100644 obsolete/macros/text1/pc/misc/cm1412m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm18.txt create mode 100644 obsolete/macros/text1/pc/misc/cm1814m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm24.txt create mode 100644 obsolete/macros/text1/pc/misc/cm2418m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm36.txt create mode 100644 obsolete/macros/text1/pc/misc/cm5.txt create mode 100644 obsolete/macros/text1/pc/misc/cm6.txt create mode 100644 obsolete/macros/text1/pc/misc/cm65m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm7.txt create mode 100644 obsolete/macros/text1/pc/misc/cm75m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm76m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm8.txt create mode 100644 obsolete/macros/text1/pc/misc/cm86m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm87m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm9.txt create mode 100644 obsolete/macros/text1/pc/misc/cm97m.mth create mode 100644 obsolete/macros/text1/pc/misc/cm98m.mth create mode 100644 obsolete/macros/text1/pc/misc/cmsan10.txt create mode 100644 obsolete/macros/text1/pc/misc/cmsan11.txt create mode 100644 obsolete/macros/text1/pc/misc/cmsan12.txt create mode 100644 obsolete/macros/text1/pc/misc/cmsan14.txt create mode 100644 obsolete/macros/text1/pc/misc/cmsan18.txt create mode 100644 obsolete/macros/text1/pc/misc/cmsan24.txt create mode 100644 obsolete/macros/text1/pc/misc/cmsan36.txt create mode 100644 obsolete/macros/text1/pc/misc/cmsan8.txt create mode 100644 obsolete/macros/text1/pc/misc/cmsan9.txt create mode 100644 obsolete/macros/text1/pc/models/letter.inp create mode 100644 obsolete/macros/text1/pc/models/letter.mdl create mode 100644 obsolete/macros/text1/pc/models/memo.inp create mode 100644 obsolete/macros/text1/pc/models/memo.mdl create mode 100644 obsolete/macros/text1/pc/models/mergelet.mdl create mode 100644 obsolete/macros/text1/pc/models/mergelst.mdl create mode 100644 obsolete/macros/text1/pc/models/mergetxt.inp create mode 100644 obsolete/macros/text1/pc/models/mergetxt.mdl create mode 100644 obsolete/macros/text1/pc/models/paper.inp create mode 100644 obsolete/macros/text1/pc/models/paper.mdl create mode 100644 obsolete/macros/text1/pc/models/resume.inp create mode 100644 obsolete/macros/text1/pc/models/resume.mdl create mode 100644 obsolete/macros/text1/pc/models/thesis.inp create mode 100644 obsolete/macros/text1/pc/models/thesis.mdl create mode 100644 obsolete/macros/text1/pc/readme.tex create mode 100644 obsolete/macros/text1/texix/plsort.pliopt create mode 100644 obsolete/macros/text1/texix/texix.cmschan create mode 100644 obsolete/macros/text1/texix/texix.cmsinfo create mode 100644 obsolete/macros/text1/texix/texix.readme create mode 100644 obsolete/macros/text1/texix/texix.web create mode 100644 obsolete/macros/text1/texix/txt1v293.cmschan create mode 100644 obsolete/macros/text1/vax_vms/compile_texix.com create mode 100644 obsolete/macros/text1/vax_vms/sortcall.pen create mode 100644 obsolete/macros/text1/vax_vms/texix.ch create mode 100644 obsolete/macros/text1/vax_vms/texix_vms.readme create mode 100644 obsolete/macros/text1/vax_vms/vmssort.pas create mode 100644 obsolete/macros/ytex/ybase.mac create mode 100644 obsolete/macros/ytex/yfonts.mac create mode 100644 obsolete/macros/ytex/ylog.mac create mode 100644 obsolete/macros/ytex/ysite.mac create mode 100644 obsolete/macros/ytex/ytex-cm.tex create mode 100644 obsolete/macros/ytex/ytex.ieee create mode 100644 obsolete/macros/ytex/ytex.mac create mode 100644 obsolete/macros/ytex/ytex.mail create mode 100644 obsolete/macros/ytex/yusage.lst create mode 100644 obsolete/macros/ytex/yusage.tex create mode 100644 obsolete/macros/ytex/yuser.mac diff --git a/FILES.byname b/FILES.byname index 5dc39e6727..099e9cda72 100644 --- a/FILES.byname +++ b/FILES.byname @@ -2077,12 +2077,12 @@ 2023/10/05 | 1710 | biblio/citation-style-language/README.md 2023/10/05 | 12878 | biblio/citation-style-language/vancouver.csl 2023/10/05 | 4531754 | biblio/citation-style-language.zip -2024/01/29 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2024/01/30 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx -2024/01/29 | 2843062 | biblio/ctan-bibdata/ctan.bib -2024/01/29 | 3708800 | biblio/ctan-bibdata/ctan.pdf +2024/01/30 | 2843081 | biblio/ctan-bibdata/ctan.bib +2024/01/30 | 3708800 | biblio/ctan-bibdata/ctan.pdf 2023/01/16 | 1489 | biblio/ctan-bibdata/README -2024/01/29 | 4116248 | biblio/ctan-bibdata.zip +2024/01/30 | 4116249 | biblio/ctan-bibdata.zip 2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk 2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh 2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst @@ -5444,7 +5444,7 @@ 1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp 1990/10/02 | 812 | dviware/vutex/vaxvms.ins 1990/10/02 | 127576 | dviware/vutex/vutex.web -2024/01/29 | 110887 | FILES.last07days +2024/01/30 | 94810 | FILES.last07days 2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs 2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf 2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf @@ -66336,44 +66336,44 @@ 2006/08/15 | 320 | fonts/kpfonts/latex/ujkpsyc.fd 2006/09/05 | 335 | fonts/kpfonts/latex/ujkpsyd.fd 2008/11/11 | 345 | fonts/kpfonts/latex/ujkpsydw.fd -2023/11/26 | 33476 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx -2023/11/26 | 176737 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf -2023/11/26 | 35903 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx -2023/11/26 | 180166 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf -2023/11/26 | 16806 | fonts/kpfonts-otf/doc/unimath-kpfonts.ltx -2023/11/26 | 1840190 | fonts/kpfonts-otf/doc/unimath-kpfonts.pdf -2023/11/26 | 233520 | fonts/kpfonts-otf/fonts/KpMath-Bold.otf -2023/11/26 | 451264 | fonts/kpfonts-otf/fonts/KpMath-Light.otf -2023/11/26 | 425576 | fonts/kpfonts-otf/fonts/KpMath-Regular.otf -2023/11/26 | 196744 | fonts/kpfonts-otf/fonts/KpMath-SansBold.otf -2023/11/26 | 293068 | fonts/kpfonts-otf/fonts/KpMath-Sans.otf -2023/11/26 | 256952 | fonts/kpfonts-otf/fonts/KpMath-Semibold.otf -2023/11/26 | 48260 | fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf -2023/11/26 | 41096 | fonts/kpfonts-otf/fonts/KpMono-Bold.otf -2023/11/26 | 49568 | fonts/kpfonts-otf/fonts/KpMono-Italic.otf -2023/11/26 | 42248 | fonts/kpfonts-otf/fonts/KpMono-Regular.otf -2023/11/26 | 126664 | fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf -2023/11/26 | 116612 | fonts/kpfonts-otf/fonts/KpRoman-Bold.otf -2023/11/26 | 117168 | fonts/kpfonts-otf/fonts/KpRoman-Italic.otf -2023/11/26 | 116696 | fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf -2023/11/26 | 114088 | fonts/kpfonts-otf/fonts/KpRoman-Light.otf -2023/11/26 | 114500 | fonts/kpfonts-otf/fonts/KpRoman-Regular.otf -2023/11/26 | 124228 | fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf -2023/11/26 | 113644 | fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf -2023/11/26 | 94820 | fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf -2023/11/26 | 86976 | fonts/kpfonts-otf/fonts/KpSans-Bold.otf -2023/11/26 | 94764 | fonts/kpfonts-otf/fonts/KpSans-Italic.otf -2023/11/26 | 85760 | fonts/kpfonts-otf/fonts/KpSans-Regular.otf -2023/11/26 | 10539 | fonts/kpfonts-otf/README.md -2023/11/26 | 20068 | fonts/kpfonts-otf/tex/kpfonts-otf.sty -2023/11/26 | 480 | fonts/kpfonts-otf/tex/KpLight.fontspec -2023/11/26 | 92 | fonts/kpfonts-otf/tex/KpMath-Light.fontspec -2023/11/26 | 90 | fonts/kpfonts-otf/tex/KpMath-Regular.fontspec -2023/11/26 | 91 | fonts/kpfonts-otf/tex/KpMath-Sans.fontspec -2023/11/26 | 185 | fonts/kpfonts-otf/tex/KpMono.fontspec -2023/11/26 | 469 | fonts/kpfonts-otf/tex/KpRoman.fontspec -2023/11/26 | 231 | fonts/kpfonts-otf/tex/KpSans.fontspec -2023/11/26 | 4387938 | fonts/kpfonts-otf.zip +2024/01/30 | 33476 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx +2024/01/30 | 176787 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf +2024/01/30 | 35903 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx +2024/01/30 | 180229 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf +2024/01/30 | 16806 | fonts/kpfonts-otf/doc/unimath-kpfonts.ltx +2024/01/30 | 1839970 | fonts/kpfonts-otf/doc/unimath-kpfonts.pdf +2024/01/30 | 232784 | fonts/kpfonts-otf/fonts/KpMath-Bold.otf +2024/01/30 | 451004 | fonts/kpfonts-otf/fonts/KpMath-Light.otf +2024/01/30 | 425596 | fonts/kpfonts-otf/fonts/KpMath-Regular.otf +2024/01/30 | 195060 | fonts/kpfonts-otf/fonts/KpMath-SansBold.otf +2024/01/30 | 293084 | fonts/kpfonts-otf/fonts/KpMath-Sans.otf +2024/01/30 | 256604 | fonts/kpfonts-otf/fonts/KpMath-Semibold.otf +2024/01/30 | 48260 | fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf +2024/01/30 | 41096 | fonts/kpfonts-otf/fonts/KpMono-Bold.otf +2024/01/30 | 49568 | fonts/kpfonts-otf/fonts/KpMono-Italic.otf +2024/01/30 | 42248 | fonts/kpfonts-otf/fonts/KpMono-Regular.otf +2024/01/30 | 126664 | fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf +2024/01/30 | 116608 | fonts/kpfonts-otf/fonts/KpRoman-Bold.otf +2024/01/30 | 117168 | fonts/kpfonts-otf/fonts/KpRoman-Italic.otf +2024/01/30 | 116696 | fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf +2024/01/30 | 114024 | fonts/kpfonts-otf/fonts/KpRoman-Light.otf +2024/01/30 | 114436 | fonts/kpfonts-otf/fonts/KpRoman-Regular.otf +2024/01/30 | 124228 | fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf +2024/01/30 | 113636 | fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf +2024/01/30 | 94820 | fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf +2024/01/30 | 87012 | fonts/kpfonts-otf/fonts/KpSans-Bold.otf +2024/01/30 | 94764 | fonts/kpfonts-otf/fonts/KpSans-Italic.otf +2024/01/30 | 85752 | fonts/kpfonts-otf/fonts/KpSans-Regular.otf +2024/01/30 | 10627 | fonts/kpfonts-otf/README.md +2024/01/30 | 20068 | fonts/kpfonts-otf/tex/kpfonts-otf.sty +2024/01/30 | 480 | fonts/kpfonts-otf/tex/KpLight.fontspec +2024/01/30 | 92 | fonts/kpfonts-otf/tex/KpMath-Light.fontspec +2024/01/30 | 90 | fonts/kpfonts-otf/tex/KpMath-Regular.fontspec +2024/01/30 | 91 | fonts/kpfonts-otf/tex/KpMath-Sans.fontspec +2024/01/30 | 185 | fonts/kpfonts-otf/tex/KpMono.fontspec +2024/01/30 | 469 | fonts/kpfonts-otf/tex/KpRoman.fontspec +2024/01/30 | 231 | fonts/kpfonts-otf/tex/KpSans.fontspec +2024/01/30 | 4384920 | fonts/kpfonts-otf.zip 2023/01/18 | 828 | fonts/kpfonts/README.txt 2023/01/19 | 7354832 | fonts/kpfonts.zip 2010/08/03 | 3884 | fonts/kurier/doc/fonts/kurier/00readme.eng @@ -198843,7 +198843,7 @@ 2018/11/24 | 6522794 | install/macros/latex/contrib/abntex2.tds.zip 2009/09/02 | 160216 | install/macros/latex/contrib/abstract.tds.zip 2019/12/05 | 340781 | install/macros/latex/contrib/accsupp.tds.zip -2022/11/25 | 1027291 | install/macros/latex/contrib/achemso.tds.zip +2024/01/30 | 1029932 | install/macros/latex/contrib/achemso.tds.zip 2010/11/19 | 165549 | install/macros/latex/contrib/acroterm.tds.zip 2020/09/06 | 4357920 | install/macros/latex/contrib/akshar.tds.zip 2015/08/04 | 140785 | install/macros/latex/contrib/alertmessage.tds.zip @@ -206131,18 +206131,6 @@ 1997/08/31 | 1176 | language/yi4latex/tfm/yir-4.tfm 1997/08/31 | 716 | language/yi4latex/tfm/yir-5.tfm 2005/10/02 | 75239 | language/yi4latex.zip -1996/01/21 | 2985 | macros/alatex/alatex-1.0/0areadme.txt -1996/01/21 | 468 | macros/alatex/alatex-1.0/abugs.txt -1996/01/24 | 3028 | macros/alatex/alatex-1.0/ainstall.txt -1996/01/24 | 21860 | macros/alatex/alatex-1.0/alatex.dtx -1996/01/24 | 835 | macros/alatex/alatex-1.0/alatex.tex -1996/01/24 | 1287 | macros/alatex/alatex-1.0/amanifst.txt -1996/01/24 | 5017 | macros/alatex/alatex-1.0/aunpack.ins -1996/01/24 | 113 | macros/alatex/alatex-1.0/aunpcked.txt -1995/11/27 | 17976 | macros/alatex/alatex-1.0/COPYING -1996/01/24 | 3452 | macros/alatex/alatex-1.0/Makefile -1996/01/24 | 0 | macros/alatex/alatex-1.0/VERSION-1.0 -2012/09/23 | 24234 | macros/alatex/alatex-1.0.zip 2001/08/07 | 5811 | macros/amstex/amsppt1.tex 2001/08/07 | 2936 | macros/amstex/amsppt.sti 2001/08/29 | 48544 | macros/amstex/amsppt.sty @@ -206162,14 +206150,6 @@ 2001/08/05 | 9628 | macros/amstex/doc/joyerr2.tex 2019/01/18 | 2209 | macros/amstex/README 2019/01/24 | 479840 | macros/amstex.zip -1996/06/18 | 4543 | macros/blu/address.dat -1996/06/18 | 118177 | macros/blu/blue.tex -1996/06/18 | 37214 | macros/blu/fmt.dat -1996/06/18 | 67325 | macros/blu/lit.dat -1996/06/18 | 37333 | macros/blu/pic.dat -1996/06/27 | 5614 | macros/blu/readme.fst -1996/06/18 | 57497 | macros/blu/tools.dat -2005/10/14 | 104464 | macros/blu.zip 2023/04/15 | 2966 | macros/context/contrib/context-calendar-examples/doc/context/third/calendar-examples/calendar-examples.md 2023/03/09 | 13 | macros/context/contrib/context-calendar-examples/LICENSE 2023/04/15 | 605 | macros/context/contrib/context-calendar-examples/README.md @@ -206584,11 +206564,6 @@ 2022/10/16 | 121 | macros/eplain/tex/eplain.ini 2022/10/16 | 139058 | macros/eplain/tex/eplain.tex 2022/10/16 | 1501779 | macros/eplain.zip -1999/08/01 | 35 | macros/fotex/fotex.ini -1999/12/21 | 26327 | macros/fotex/fotex.ltx -1999/12/09 | 3275 | macros/fotex/mathml.ltx -1999/12/21 | 35 | macros/fotex/pdffotex.ini -2005/11/03 | 8878 | macros/fotex.zip 2020/05/09 | 281 | macros/generic/2up/Changes 2020/05/09 | 46721 | macros/generic/2up/doc/2up-doc.pdf 2020/05/09 | 16908 | macros/generic/2up/doc/2up-doc.tex @@ -208450,146 +208425,6 @@ 2010/03/30 | 166158 | macros/generic/youngtab/youngtab.pdf 1999/05/19 | 4793 | macros/generic/youngtab/youngtab.tex 2010/03/30 | 160406 | macros/generic/youngtab.zip -1991/09/06 | 1800 | macros/inrstex/inrsdoc/boxex.tex -1991/09/06 | 6859 | macros/inrstex/inrsdoc/genins.tex -1991/09/06 | 10538 | macros/inrstex/inrsdoc/helphdr.tex -1991/09/06 | 54998 | macros/inrstex/inrsdoc/ieeelogo.ps -1991/09/06 | 1480 | macros/inrstex/inrsdoc/index.tex -1991/09/06 | 50884 | macros/inrstex/inrsdoc/indsort -1991/09/06 | 3403 | macros/inrstex/inrsdoc/indsort.c -1991/09/06 | 10013 | macros/inrstex/inrsdoc/indsort.exe -1991/09/06 | 1464 | macros/inrstex/inrsdoc/inrslogo.tex -1991/09/06 | 5721 | macros/inrstex/inrsdoc/inrssl.tex -1991/09/06 | 427 | macros/inrstex/inrsdoc/inrsunix.sh -1991/09/11 | 524 | macros/inrstex/inrsdoc/masth_chap -1991/09/11 | 123 | macros/inrstex/inrsdoc/masth.ctg -1991/09/11 | 25686 | macros/inrstex/inrsdoc/masth.ind -1991/09/06 | 26549 | macros/inrstex/inrsdoc/masth.sor -1991/09/11 | 871 | macros/inrstex/inrsdoc/masth.sta -1991/09/06 | 1972 | macros/inrstex/inrsdoc/masth.tex -1991/09/06 | 355 | macros/inrstex/inrsdoc/mastoc.tex -1991/09/11 | 708 | macros/inrstex/inrsdoc/mastps -1991/09/06 | 322 | macros/inrstex/inrsdoc/mjf.tex -1991/09/06 | 5020 | macros/inrstex/inrsdoc/pagdiag.tex -1991/09/06 | 205 | macros/inrstex/inrsdoc/psalm23.tex -1991/09/06 | 9394 | macros/inrstex/inrsdoc/secthead.tex -1991/09/06 | 1055 | macros/inrstex/inrsdoc/status.tex -1991/09/06 | 37967 | macros/inrstex/inrsdoc/thalign.tex -1991/09/06 | 15396 | macros/inrstex/inrsdoc/thauto.tex -1991/09/06 | 13053 | macros/inrstex/inrsdoc/thbasbox.tex -1991/09/06 | 10869 | macros/inrstex/inrsdoc/thbas.tex -1991/09/06 | 3259 | macros/inrstex/inrsdoc/thbreak.tex -1991/09/06 | 10015 | macros/inrstex/inrsdoc/thcite.tex -1991/09/06 | 10098 | macros/inrstex/inrsdoc/thcont.tex -1991/09/06 | 1563 | macros/inrstex/inrsdoc/thcover.tex -1991/09/06 | 6970 | macros/inrstex/inrsdoc/thdefs.tex -1991/09/06 | 5943 | macros/inrstex/inrsdoc/thdimnum.tex -1991/09/06 | 2577 | macros/inrstex/inrsdoc/thdocsty.tex -1991/09/06 | 15648 | macros/inrstex/inrsdoc/thfigtbl.tex -1991/09/06 | 7302 | macros/inrstex/inrsdoc/thfonts.tex -1991/09/06 | 3848 | macros/inrstex/inrsdoc/thftnote.tex -1991/09/06 | 4032 | macros/inrstex/inrsdoc/thglue.tex -1991/09/06 | 43112 | macros/inrstex/inrsdoc/thgraph.tex -1991/09/06 | 931 | macros/inrstex/inrsdoc/thindex.tex -1991/09/06 | 10182 | macros/inrstex/inrsdoc/thlists.tex -1991/09/06 | 15593 | macros/inrstex/inrsdoc/thmateq.tex -1991/09/06 | 17649 | macros/inrstex/inrsdoc/thmatsym.tex -1991/09/06 | 4273 | macros/inrstex/inrsdoc/thmulcol.tex -1991/09/06 | 3310 | macros/inrstex/inrsdoc/thover.tex -1991/09/06 | 19797 | macros/inrstex/inrsdoc/thp2.tex -1991/09/06 | 6764 | macros/inrstex/inrsdoc/thpagsiz.tex -1991/09/06 | 7633 | macros/inrstex/inrsdoc/thpagsty.tex -1991/09/06 | 12711 | macros/inrstex/inrsdoc/thparcon.tex -1991/09/06 | 11250 | macros/inrstex/inrsdoc/thshead.tex -1991/09/06 | 6812 | macros/inrstex/inrsdoc/thspac.tex -1991/09/06 | 15928 | macros/inrstex/inrsdoc/thstart.tex -1991/09/06 | 6765 | macros/inrstex/inrsdoc/thsubdoc.tex -1991/09/06 | 10573 | macros/inrstex/inrsdoc/thtoc.tex -1991/09/06 | 819 | macros/inrstex/inrsinputs/bilingue.tex -1991/09/06 | 1862 | macros/inrstex/inrsinputs/booksty.tex -1991/09/06 | 514 | macros/inrstex/inrsinputs/centerh.tex -1991/09/06 | 2380 | macros/inrstex/inrsinputs/cm_11.tex -1991/09/06 | 9287 | macros/inrstex/inrsinputs/dvialw.ps -1991/09/06 | 4059 | macros/inrstex/inrsinputs/enfrtwo.tex -1991/09/06 | 612 | macros/inrstex/inrsinputs/english.tex -1991/09/06 | 606 | macros/inrstex/inrsinputs/francais.tex -1991/09/06 | 10535 | macros/inrstex/inrsinputs/helphdr.tex -1991/09/06 | 54998 | macros/inrstex/inrsinputs/ieeelogo.ps -1991/09/06 | 37077 | macros/inrstex/inrsinputs/inrsinpu.zip -1991/09/06 | 1463 | macros/inrstex/inrsinputs/inrslogo.tex -1991/09/06 | 5714 | macros/inrstex/inrsinputs/inrssl.tex -1991/09/06 | 1451 | macros/inrstex/inrsinputs/inrssty.tex -1991/09/06 | 301 | macros/inrstex/inrsinputs/inrstemp.tex -1991/09/06 | 114 | macros/inrstex/inrsinputs/oldspace.tex -1991/09/06 | 686 | macros/inrstex/inrsinputs/papersty.tex -1991/09/06 | 3301 | macros/inrstex/inrsinputs/spfont.tex -1991/09/17 | 33043 | macros/inrstex/inrsinputs/texgraph.tex -1991/09/06 | 511 | macros/inrstex/inrsinputs/UQlogo.epsf -1991/09/06 | 1337 | macros/inrstex/inrsinputs/verbatim.tex -1991/09/09 | 1100 | macros/inrstex/inrstex/abstract.tex -1991/09/09 | 1114 | macros/inrstex/inrstex/appendix.tex -1991/09/09 | 3626 | macros/inrstex/inrstex/auto.tex -1991/09/09 | 7374 | macros/inrstex/inrstex/cite.tex -1991/09/09 | 365 | macros/inrstex/inrstex/compat3.tex -1991/09/09 | 1769 | macros/inrstex/inrstex/compatib.tex -1991/09/09 | 612 | macros/inrstex/inrstex/english.tex -1991/09/09 | 324 | macros/inrstex/inrstex/enhyphex.tex -1991/09/09 | 27495 | macros/inrstex/inrstex/enhyph.tex -1991/09/09 | 1783 | macros/inrstex/inrstex/eqtag.tex -1991/09/09 | 5349 | macros/inrstex/inrstex/extdef3.tex -1991/09/09 | 6614 | macros/inrstex/inrstex/extdef.tex -1991/09/09 | 976 | macros/inrstex/inrstex/footnote.tex -1991/09/09 | 6850 | macros/inrstex/inrstex/frhyph.tex -1991/09/09 | 7428 | macros/inrstex/inrstex/genins.tex -1991/09/17 | 1144 | macros/inrstex/inrstex/graph_ps.tex -1991/09/09 | 27666 | macros/inrstex/inrstex/hyphen.tex -1991/09/09 | 7766 | macros/inrstex/inrstex/inrsdef.tex -1991/09/11 | 12113 | macros/inrstex/inrstex/inrsfncm.tex -1991/09/06 | 369 | macros/inrstex/inrstex/inrs.scr -1991/09/09 | 16944 | macros/inrstex/inrstex/inrstex.tex -1991/09/06 | 427 | macros/inrstex/inrstex/inrsunix.sh -1991/09/09 | 5836 | macros/inrstex/inrstex/inrsutil.tex -1991/09/09 | 1363 | macros/inrstex/inrstex/linespac.tex -1991/09/09 | 5717 | macros/inrstex/inrstex/lists.tex -1991/09/09 | 1250 | macros/inrstex/inrstex/margform.tex -1991/09/09 | 1375 | macros/inrstex/inrstex/masthyph.tex -1991/09/09 | 2711 | macros/inrstex/inrstex/multicol.tex -1991/09/09 | 1047 | macros/inrstex/inrstex/multlang.tex -1991/09/09 | 7273 | macros/inrstex/inrstex/out_ps.tex -1991/09/09 | 6952 | macros/inrstex/inrstex/pagsty.tex -1991/09/09 | 686 | macros/inrstex/inrstex/papersty.tex -1991/09/09 | 293 | macros/inrstex/inrstex/plainmod.tex -1991/09/09 | 43406 | macros/inrstex/inrstex/plain_nh.tex -1991/09/09 | 3618 | macros/inrstex/inrstex/plaipars.tex -1991/09/09 | 1252 | macros/inrstex/inrstex/prelhead.tex -1991/09/09 | 9745 | macros/inrstex/inrstex/secthead.tex -1991/09/09 | 1712 | macros/inrstex/inrstex/specform.tex -1991/09/09 | 1844 | macros/inrstex/inrstex/subdoc.tex -1991/09/09 | 4833 | macros/inrstex/inrstex/tables.tex -1991/09/09 | 3283 | macros/inrstex/inrstex/tag.tex -1991/09/09 | 4424 | macros/inrstex/inrstex/tocform.tex -1991/09/09 | 1515 | macros/inrstex/inrstex/writdos.tex -1991/09/09 | 2739 | macros/inrstex/inrstex/writfile.tex -1991/09/09 | 1568 | macros/inrstex/inrstex/writunix.tex -1992/08/27 | 2240 | macros/inrstex/pc/batch.zip -1992/08/27 | 256932 | macros/inrstex/pc/doc_dvi.zip -1992/08/27 | 187720 | macros/inrstex/pc/doc_tex.zip -1992/08/27 | 33913 | macros/inrstex/pc/inrsinpu.zip -1992/08/27 | 110879 | macros/inrstex/pc/inrstex.zip -1992/08/27 | 10203 | macros/inrstex/pc/readme.txt -1992/08/27 | 184639 | macros/inrstex/pc/texgraph.zip -1991/09/06 | 54997 | macros/inrstex/texgraph/ieeelogo.ps -1991/09/06 | 1463 | macros/inrstex/texgraph/inrslogo.tex -1991/09/06 | 5714 | macros/inrstex/texgraph/inrssl.tex -1991/09/06 | 1047 | macros/inrstex/texgraph/readme -1991/09/06 | 3301 | macros/inrstex/texgraph/spfont.tex -1991/09/06 | 2584 | macros/inrstex/texgraph/testinrs.tex -1991/09/09 | 8 | macros/inrstex/texgraph/test_lat.aux -1991/09/06 | 1351 | macros/inrstex/texgraph/test_lat.tex -1991/09/06 | 33023 | macros/inrstex/texgraph/texgraph.sty -1991/09/17 | 33043 | macros/inrstex/texgraph/texgraph.tex -1991/09/06 | 352326 | macros/inrstex/texgraph/thgraph.ps -2004/11/23 | 103137 | macros/jadetex/jadetex-3.13.tar.gz 2018/03/24 | 281286 | macros/jptex/generic/fixjfm/fixjfm-doc.pdf 2018/03/24 | 13012 | macros/jptex/generic/fixjfm/fixjfm-doc.tex 2018/03/24 | 8252 | macros/jptex/generic/fixjfm/fixjfm.sty @@ -216100,16 +215935,16 @@ 2019/12/05 | 327709 | macros/latex/contrib/accsupp/accsupp.pdf 2019/12/05 | 310 | macros/latex/contrib/accsupp/README.md 2019/12/05 | 331978 | macros/latex/contrib/accsupp.zip -2022/11/25 | 5245 | macros/latex/contrib/achemso/achemso-demo.bib -2022/11/25 | 382742 | macros/latex/contrib/achemso/achemso-demo.pdf -2022/11/25 | 16202 | macros/latex/contrib/achemso/achemso-demo.tex -2022/11/25 | 149476 | macros/latex/contrib/achemso/achemso.dtx -2022/11/25 | 7083 | macros/latex/contrib/achemso/achemso.ins -2022/11/25 | 525663 | macros/latex/contrib/achemso/achemso.pdf -2022/11/25 | 19369 | macros/latex/contrib/achemso/CHANGELOG.md -2022/11/25 | 464 | macros/latex/contrib/achemso/LICENSE.md -2022/11/25 | 1333 | macros/latex/contrib/achemso/README.md -2022/11/25 | 917174 | macros/latex/contrib/achemso.zip +2024/01/30 | 5245 | macros/latex/contrib/achemso/achemso-demo.bib +2024/01/30 | 383068 | macros/latex/contrib/achemso/achemso-demo.pdf +2024/01/30 | 16202 | macros/latex/contrib/achemso/achemso-demo.tex +2024/01/30 | 149587 | macros/latex/contrib/achemso/achemso.dtx +2024/01/30 | 7083 | macros/latex/contrib/achemso/achemso.ins +2024/01/30 | 525861 | macros/latex/contrib/achemso/achemso.pdf +2024/01/30 | 19530 | macros/latex/contrib/achemso/CHANGELOG.md +2024/01/30 | 464 | macros/latex/contrib/achemso/LICENSE.md +2024/01/30 | 1333 | macros/latex/contrib/achemso/README.md +2024/01/30 | 918111 | macros/latex/contrib/achemso.zip 2023/11/28 | 2773 | macros/latex/contrib/acmart/acmart.bib 2024/01/22 | 287801 | macros/latex/contrib/acmart/acmart.dtx 2023/03/26 | 1016 | macros/latex/contrib/acmart/acmart.ins @@ -224766,12 +224601,12 @@ 2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt 2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README 2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip -2024/01/29 | 75635 | macros/latex/contrib/easybook/easybook.dtx +2024/01/30 | 75435 | macros/latex/contrib/easybook/easybook.dtx 2024/01/04 | 2081 | macros/latex/contrib/easybook/easybook.ins -2024/01/29 | 599150 | macros/latex/contrib/easybook/easybook.pdf -2024/01/29 | 88359 | macros/latex/contrib/easybook/easybook.tex +2024/01/30 | 599182 | macros/latex/contrib/easybook/easybook.pdf +2024/01/30 | 88362 | macros/latex/contrib/easybook/easybook.tex 2024/01/03 | 801 | macros/latex/contrib/easybook/README.md -2024/01/29 | 642114 | macros/latex/contrib/easybook.zip +2024/01/30 | 642129 | macros/latex/contrib/easybook.zip 2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf 2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf 2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf @@ -250343,41 +250178,6 @@ 2023/11/21 | 17856 | macros/latex/required/tools/xspace.dtx 2023/11/21 | 257027 | macros/latex/required/tools/xspace.pdf 2023/11/21 | 7252664 | macros/latex/required/tools.zip -2016/05/20 | 847 | macros/lollipop/config/lollipop.ini -2016/05/20 | 5871 | macros/lollipop/doc/manual/address.tex -2016/05/20 | 2705 | macros/lollipop/doc/manual/appendix.tex -2016/05/20 | 30557 | macros/lollipop/doc/manual/btxmac.tex -2016/05/20 | 4508 | macros/lollipop/doc/manual/comment.tex -2016/05/20 | 23232 | macros/lollipop/doc/manual/comm.tex -2016/05/20 | 75 | macros/lollipop/doc/manual/example.tex -2016/05/20 | 16771 | macros/lollipop/doc/manual/extern.tex -2016/05/20 | 4046 | macros/lollipop/doc/manual/head.tex -2016/05/20 | 16309 | macros/lollipop/doc/manual/list.tex -2016/05/20 | 1209 | macros/lollipop/doc/manual/lollipop-manual.bib -2016/05/21 | 328623 | macros/lollipop/doc/manual/lollipop-manual.pdf -2016/05/20 | 2328 | macros/lollipop/doc/manual/lollipop-manual.tex -2016/05/20 | 7364 | macros/lollipop/doc/manual/mandefs.tex -2016/05/20 | 14615 | macros/lollipop/doc/manual/opt.tex -2016/05/20 | 13966 | macros/lollipop/doc/manual/out.tex -2016/05/20 | 13120 | macros/lollipop/doc/manual/prelim.tex -2016/05/20 | 9901 | macros/lollipop/doc/manual/struct.tex -2016/05/20 | 2175 | macros/lollipop/doc/manual/titlepag.tex -2016/05/20 | 2213 | macros/lollipop/doc/manual/trace.tex -2016/05/20 | 8560 | macros/lollipop/doc/tex-inde.xen -2016/05/20 | 3038 | macros/lollipop/README -2016/05/20 | 14320 | macros/lollipop/tex/lollipop-define.tex -2016/05/20 | 12880 | macros/lollipop/tex/lollipop-document.tex -2016/05/20 | 1677 | macros/lollipop/tex/lollipop-float.tex -2016/05/20 | 1650 | macros/lollipop/tex/lollipop-fontdefs.tex -2016/05/20 | 14082 | macros/lollipop/tex/lollipop-fonts.tex -2016/05/20 | 1868 | macros/lollipop/tex/lollipop-heading.tex -2016/05/20 | 11527 | macros/lollipop/tex/lollipop-lists.tex -2016/05/20 | 25943 | macros/lollipop/tex/lollipop-output.tex -2016/05/20 | 44097 | macros/lollipop/tex/lollipop-plain.tex -2016/05/20 | 4414 | macros/lollipop/tex/lollipop.tex -2016/05/20 | 17788 | macros/lollipop/tex/lollipop-text.tex -2016/05/20 | 51327 | macros/lollipop/tex/lollipop-tools.tex -2016/05/21 | 429685 | macros/lollipop.zip 2023/08/04 | 2085 | macros/luatex/generic/addtoluatexpath/addtoluatexpath.sty 2023/08/04 | 2995 | macros/luatex/generic/addtoluatexpath/README.md 2023/08/05 | 2800 | macros/luatex/generic/addtoluatexpath.zip @@ -252130,56 +251930,6 @@ 2023/12/08 | 4510 | macros/luatex/latex/yamlvars/yamlvars.sty 2023/12/08 | 15629 | macros/luatex/latex/yamlvars/yamlvars.tex 2023/12/08 | 87880 | macros/luatex/latex/yamlvars.zip -1991/04/28 | 9028 | macros/mtex/documentation/mdoc10.tex -1991/04/28 | 11813 | macros/mtex/documentation/mdoc11.tex -1991/04/28 | 3930 | macros/mtex/documentation/mdoc12.tex -1991/04/28 | 2890 | macros/mtex/documentation/mdoc13.tex -1991/04/28 | 39896 | macros/mtex/documentation/mdoc1.tex -1991/04/28 | 50098 | macros/mtex/documentation/mdoc2.tex -1991/04/28 | 33011 | macros/mtex/documentation/mdoc3.tex -1991/04/28 | 10872 | macros/mtex/documentation/mdoc4.tex -1991/04/28 | 45820 | macros/mtex/documentation/mdoc5.tex -1991/04/28 | 23171 | macros/mtex/documentation/mdoc6.tex -1991/04/28 | 16798 | macros/mtex/documentation/mdoc7.tex -1991/04/28 | 21802 | macros/mtex/documentation/mdoc8.tex -1991/04/28 | 45322 | macros/mtex/documentation/mdoc9.tex -1991/04/28 | 3111 | macros/mtex/documentation/mdocabst.tex -1991/04/28 | 9587 | macros/mtex/documentation/mdocams.tex -1991/04/28 | 26466 | macros/mtex/documentation/mdocanha.tex -1991/04/28 | 1403 | macros/mtex/documentation/mdocanhb.tex -1991/04/28 | 8846 | macros/mtex/documentation/mdocanhc.tex -1991/04/28 | 8775 | macros/mtex/documentation/mdocanhd.tex -1991/04/28 | 2111 | macros/mtex/documentation/mdocdef2.tex -1991/04/28 | 8234 | macros/mtex/documentation/mdocdef.tex -1991/04/28 | 9834 | macros/mtex/documentation/mdoceinl.tex -1991/04/28 | 3399 | macros/mtex/documentation/mdocinh.tex -1991/04/28 | 668 | macros/mtex/documentation/mdocpic1.tex -1991/04/28 | 1290 | macros/mtex/documentation/mdocpic2.tex -1991/04/28 | 1314 | macros/mtex/documentation/mdocpic3.tex -1991/04/28 | 394 | macros/mtex/documentation/mdocpic4.tex -1991/04/28 | 992 | macros/mtex/documentation/mdoc.tex -1991/04/28 | 308 | macros/mtex/documentation/mdoctit.tex -1991/04/28 | 39560 | macros/mtex/documentation/mdoctrns.tex -1991/04/28 | 1194 | macros/mtex/documentation/mdocverb.tex -1991/04/28 | 9651 | macros/mtex/documentation/webmac.tex -1991/04/28 | 11352 | macros/mtex/macros/mtexdemo.tex -1991/04/28 | 19286 | macros/mtex/macros/mtexinfo.tex -1991/04/28 | 86124 | macros/mtex/macros/mtex.tex -1991/04/28 | 4312 | macros/mtex/metafont/acc16.mf -1991/04/28 | 1704 | macros/mtex/metafont/beam16.mf -1991/04/28 | 204 | macros/mtex/metafont/music16.mf -1991/04/28 | 1731 | macros/mtex/metafont/musicdef.mf -1991/04/28 | 9784 | macros/mtex/metafont/noten16.mf -1991/04/28 | 5717 | macros/mtex/metafont/pause16.mf -1991/04/28 | 6333 | macros/mtex/metafont/slur16.mf -1991/04/28 | 1283 | macros/mtex/metafont/slurdd16.mf -1991/04/28 | 1283 | macros/mtex/metafont/slurdu16.mf -1991/04/28 | 1279 | macros/mtex/metafont/slurud16.mf -1991/04/28 | 1181 | macros/mtex/metafont/sluruu16.mf -1991/04/28 | 2808 | macros/mtex/metafont/sonder16.mf -1991/04/28 | 4277 | macros/mtex/metafont/vio16.mf -1991/05/03 | 1683 | macros/mtex/README -2006/03/23 | 197778 | macros/mtex.zip 2006/10/09 | 152353 | macros/omega/latex/contrib/bengali-omega/doc/Manual-Bengali-omega-tex.pdf 2006/10/05 | 42042 | macros/omega/latex/contrib/bengali-omega/examples/exampleu.pdf 2006/10/05 | 2437 | macros/omega/latex/contrib/bengali-omega/examples/exampleU.tex @@ -252964,17 +252714,6 @@ 2024/01/08 | 71627 | macros/pdftex/mptopdf/tex/context/base/mkii/supp-pdf.mkii 2024/01/08 | 7856 | macros/pdftex/mptopdf/tex/context/base/mkii/syst-tex.mkii 2024/01/08 | 5322 | macros/pdftex/mptopdf/tex/generic/context/mptopdf/mptopdf.tex -1992/08/27 | 111203 | macros/physe/physe.doc -1992/08/27 | 71123 | macros/physe/physe.tex -1992/08/27 | 3024 | macros/physe/physupdt.tex -2006/03/19 | 55715 | macros/physe.zip -1992/08/27 | 9895 | macros/phyzzx/myphyx.tex -1992/08/27 | 136634 | macros/phyzzx/phyzdoc.tex -1992/08/27 | 3965 | macros/phyzzx/phyzzx.fonts -1992/08/27 | 3649 | macros/phyzzx/phyzzx.local -1994/09/14 | 41523 | macros/phyzzx/phyzzx.plus -1992/08/27 | 35598 | macros/phyzzx/phyzzx.tex -2006/03/19 | 70583 | macros/phyzzx.zip 1996/07/16 | 607 | macros/plain/base/README 2014/12/15 | 48909 | macros/plain/base.zip 1991/06/15 | 583 | macros/plain/contrib/badge/addresses.tex @@ -253663,6 +253402,171 @@ 2020/07/15 | 11801 | macros/plain/contrib/zztex/tex/zzvmode.tex 2020/07/15 | 7724 | macros/plain/contrib/zztex/tex/zzxref.tex 2020/07/17 | 214002 | macros/plain/contrib/zztex.zip +2004/11/23 | 103137 | macros/plain/formats/jadetex/jadetex-3.13.tar.gz +2016/05/20 | 847 | macros/plain/formats/lollipop/config/lollipop.ini +2016/05/20 | 5871 | macros/plain/formats/lollipop/doc/manual/address.tex +2016/05/20 | 2705 | macros/plain/formats/lollipop/doc/manual/appendix.tex +2016/05/20 | 30557 | macros/plain/formats/lollipop/doc/manual/btxmac.tex +2016/05/20 | 4508 | macros/plain/formats/lollipop/doc/manual/comment.tex +2016/05/20 | 23232 | macros/plain/formats/lollipop/doc/manual/comm.tex +2016/05/20 | 75 | macros/plain/formats/lollipop/doc/manual/example.tex +2016/05/20 | 16771 | macros/plain/formats/lollipop/doc/manual/extern.tex +2016/05/20 | 4046 | macros/plain/formats/lollipop/doc/manual/head.tex +2016/05/20 | 16309 | macros/plain/formats/lollipop/doc/manual/list.tex +2016/05/20 | 1209 | macros/plain/formats/lollipop/doc/manual/lollipop-manual.bib +2016/05/21 | 328623 | macros/plain/formats/lollipop/doc/manual/lollipop-manual.pdf +2016/05/20 | 2328 | macros/plain/formats/lollipop/doc/manual/lollipop-manual.tex +2016/05/20 | 7364 | macros/plain/formats/lollipop/doc/manual/mandefs.tex +2016/05/20 | 14615 | macros/plain/formats/lollipop/doc/manual/opt.tex +2016/05/20 | 13966 | macros/plain/formats/lollipop/doc/manual/out.tex +2016/05/20 | 13120 | macros/plain/formats/lollipop/doc/manual/prelim.tex +2016/05/20 | 9901 | macros/plain/formats/lollipop/doc/manual/struct.tex +2016/05/20 | 2175 | macros/plain/formats/lollipop/doc/manual/titlepag.tex +2016/05/20 | 2213 | macros/plain/formats/lollipop/doc/manual/trace.tex +2016/05/20 | 8560 | macros/plain/formats/lollipop/doc/tex-inde.xen +2016/05/20 | 3038 | macros/plain/formats/lollipop/README +2016/05/20 | 14320 | macros/plain/formats/lollipop/tex/lollipop-define.tex +2016/05/20 | 12880 | macros/plain/formats/lollipop/tex/lollipop-document.tex +2016/05/20 | 1677 | macros/plain/formats/lollipop/tex/lollipop-float.tex +2016/05/20 | 1650 | macros/plain/formats/lollipop/tex/lollipop-fontdefs.tex +2016/05/20 | 14082 | macros/plain/formats/lollipop/tex/lollipop-fonts.tex +2016/05/20 | 1868 | macros/plain/formats/lollipop/tex/lollipop-heading.tex +2016/05/20 | 11527 | macros/plain/formats/lollipop/tex/lollipop-lists.tex +2016/05/20 | 25943 | macros/plain/formats/lollipop/tex/lollipop-output.tex +2016/05/20 | 44097 | macros/plain/formats/lollipop/tex/lollipop-plain.tex +2016/05/20 | 4414 | macros/plain/formats/lollipop/tex/lollipop.tex +2016/05/20 | 17788 | macros/plain/formats/lollipop/tex/lollipop-text.tex +2016/05/20 | 51327 | macros/plain/formats/lollipop/tex/lollipop-tools.tex +2016/05/21 | 429685 | macros/plain/formats/lollipop.zip +1992/08/27 | 504 | macros/plain/formats/psizzl/aaaread.me +1992/08/27 | 9843 | macros/plain/formats/psizzl/chapters.psizzl +1992/08/27 | 17916 | macros/plain/formats/psizzl/citation.psizzl +1992/08/27 | 8353 | macros/plain/formats/psizzl/fontdefs.psizzl +1992/08/27 | 2808 | macros/plain/formats/psizzl/index.psizzl +1992/08/27 | 1990 | macros/plain/formats/psizzl/institut.psizzl +1992/08/27 | 7326 | macros/plain/formats/psizzl/letter.psizzl +1992/08/27 | 4171 | macros/plain/formats/psizzl/lists.psizzl +1992/08/27 | 5465 | macros/plain/formats/psizzl/macros.psizzl +1992/08/27 | 2046 | macros/plain/formats/psizzl/memo.psizzl +1992/08/27 | 922 | macros/plain/formats/psizzl/mypsizzl.tex +1992/08/27 | 4008 | macros/plain/formats/psizzl/options.psizzl +1992/08/27 | 6699 | macros/plain/formats/psizzl/output.psizzl +1992/08/27 | 1263 | macros/plain/formats/psizzl/picture.psizzl +1992/08/27 | 13440 | macros/plain/formats/psizzl/psizzl.commands +1992/08/27 | 1625 | macros/plain/formats/psizzl/psizzl.doc +1992/08/27 | 1434 | macros/plain/formats/psizzl/psizzl.tex +1992/08/27 | 8055 | macros/plain/formats/psizzl/publicat.psizzl +1992/08/27 | 1850 | macros/plain/formats/psizzl/symbols.psizzl +1992/08/27 | 81 | macros/plain/formats/psizzl/thesis.psizzl +2006/03/19 | 35553 | macros/plain/formats/psizzl.zip +1999/03/11 | 7575 | macros/plain/formats/startex/epsf.tex +1999/03/11 | 312389 | macros/plain/formats/startex/guide.pdf +1999/03/11 | 129332 | macros/plain/formats/startex/ideas.pdf +1999/03/11 | 2186 | macros/plain/formats/startex/INSTALL +1999/03/11 | 1343 | macros/plain/formats/startex/README +1999/03/11 | 1704 | macros/plain/formats/startex/startex.bib +1999/03/11 | 99349 | macros/plain/formats/startex/startex.dtx +1999/03/11 | 450 | macros/plain/formats/startex/startex.ins +1999/03/11 | 295551 | macros/plain/formats/startex/startex.pdf +1999/03/11 | 758 | macros/plain/formats/startex/stxglo.ist +1999/03/11 | 743 | macros/plain/formats/startex/stxind.ist +2005/10/02 | 557284 | macros/plain/formats/startex.zip +2000/02/28 | 1145 | macros/plain/formats/texsis/bibtex/bibtest.tex +2000/02/28 | 91393 | macros/plain/formats/texsis/bibtex/internet.bib +2000/02/28 | 552 | macros/plain/formats/texsis/bibtex/mylist.bib +2000/02/28 | 2077 | macros/plain/formats/texsis/bibtex/README +2000/02/28 | 22380 | macros/plain/formats/texsis/bibtex/texsis.bst +2000/02/28 | 133742 | macros/plain/formats/texsis/bibtex/unix.bib +2000/02/28 | 766 | macros/plain/formats/texsis/dcol/README +2000/02/28 | 14435 | macros/plain/formats/texsis/dcol/TXSdcol.doc +2000/02/28 | 17128 | macros/plain/formats/texsis/dcol/TXSdcol.dvi +2000/02/28 | 99253 | macros/plain/formats/texsis/dcol/TXSdcol.ps +2000/02/28 | 31435 | macros/plain/formats/texsis/dcol/TXSdcol.tex +2004/03/01 | 4887 | macros/plain/formats/texsis/DESCRIPTION +2003/01/20 | 13450 | macros/plain/formats/texsis/index/index.tex +2000/02/28 | 1082 | macros/plain/formats/texsis/index/README +2004/03/01 | 758 | macros/plain/formats/texsis/INSTALL +2001/04/21 | 67122 | macros/plain/formats/texsis/Install.ps +2000/02/28 | 9082 | macros/plain/formats/texsis/LPPL +2000/02/28 | 432 | macros/plain/formats/texsis/Mac/README +2001/05/18 | 3622 | macros/plain/formats/texsis/Mac/README-Mac +2001/05/18 | 539735 | macros/plain/formats/texsis/Mac/TeXsis-2.18.sea.hqx +2001/04/21 | 3999 | macros/plain/formats/texsis/MANIFEST +2001/04/21 | 672635 | macros/plain/formats/texsis/Manual.pdf +2001/04/21 | 106240 | macros/plain/formats/texsis/mtexsis.tex +2004/03/01 | 2810 | macros/plain/formats/texsis/NEWS +2000/02/28 | 573 | macros/plain/formats/texsis/PC/README +2000/02/28 | 2130 | macros/plain/formats/texsis/PC/README.PC +2000/02/28 | 694191 | macros/plain/formats/texsis/PC/texsis.zip +2004/03/01 | 5763 | macros/plain/formats/texsis/README +2000/02/28 | 2303 | macros/plain/formats/texsis/README.PC +2000/02/29 | 2589 | macros/plain/formats/texsis/styles/AIP.txs +2000/02/29 | 5671 | macros/plain/formats/texsis/styles/BostonU.txs +2000/02/29 | 2931 | macros/plain/formats/texsis/styles/CVformat.txs +2000/02/29 | 13611 | macros/plain/formats/texsis/styles/Elsevier.txs +2000/02/29 | 2427 | macros/plain/formats/texsis/styles/Exam.txs +2000/02/29 | 4440 | macros/plain/formats/texsis/styles/IEEE.txs +2000/02/29 | 2430 | macros/plain/formats/texsis/styles/LAT96.txs +2000/02/29 | 5289 | macros/plain/formats/texsis/styles/nuclproc.txs +2000/03/02 | 14218 | macros/plain/formats/texsis/styles/ORstate.txs +2000/02/29 | 7629 | macros/plain/formats/texsis/styles/paradox.txs +2000/02/29 | 19601 | macros/plain/formats/texsis/styles/PhysRev.txs +2000/02/29 | 4713 | macros/plain/formats/texsis/styles/printfont.txs +2000/02/29 | 2410 | macros/plain/formats/texsis/styles/spine.txs +2000/02/29 | 5037 | macros/plain/formats/texsis/styles/Tablebod.txs +2000/02/29 | 253 | macros/plain/formats/texsis/styles/Tablebody.txs +2000/02/29 | 7959 | macros/plain/formats/texsis/styles/thesis.txs +2000/02/29 | 5977 | macros/plain/formats/texsis/styles/twin.txs +2001/03/27 | 6957 | macros/plain/formats/texsis/styles/umich.txs +2000/02/29 | 4542 | macros/plain/formats/texsis/styles/UTthesis.tex +2000/02/29 | 5132 | macros/plain/formats/texsis/styles/WorldSci.txs +2003/06/09 | 539735 | macros/plain/formats/texsis/TeXsis-2.18.sea.hqx +2001/04/21 | 320511 | macros/plain/formats/texsis/texsis-2.18.tar.gz +2001/04/21 | 367638 | macros/plain/formats/texsis/texsis-2.18.zip +2001/04/21 | 1251 | macros/plain/formats/texsis/texsis.lsm +2001/04/21 | 5795 | macros/plain/formats/texsis/TXSsite.000 +2006/03/21 | 2979385 | macros/plain/formats/texsis.zip +2000/01/16 | 194 | macros/plain/formats/xmltex/base/englishutf16.xml +2000/01/16 | 96 | macros/plain/formats/xmltex/base/englishutf8.xml +2000/01/16 | 490 | macros/plain/formats/xmltex/base/iso-8859-1.xmt +2001/03/29 | 2688 | macros/plain/formats/xmltex/base/iso-8859-2.xmt +2000/01/16 | 3633 | macros/plain/formats/xmltex/base/koi8-r.xmt +2000/01/16 | 48 | macros/plain/formats/xmltex/base/langtest.tex +2000/01/18 | 374 | macros/plain/formats/xmltex/base/langtest.xml +2000/01/18 | 624 | macros/plain/formats/xmltex/base/langtest.xmt +2000/02/02 | 33485 | macros/plain/formats/xmltex/base/manual.html +2000/01/16 | 41 | macros/plain/formats/xmltex/base/manual.tex +2000/02/02 | 34801 | macros/plain/formats/xmltex/base/manual.xml +2000/01/18 | 1232 | macros/plain/formats/xmltex/base/manual.xsl +2002/06/25 | 3172 | macros/plain/formats/xmltex/base/mathml2.xmt +2000/01/16 | 152 | macros/plain/formats/xmltex/base/portugeselatin1.xml +2000/01/18 | 3878 | macros/plain/formats/xmltex/base/readme.txt +2000/01/18 | 145 | macros/plain/formats/xmltex/base/russiankoi8.xml +2000/01/18 | 177 | macros/plain/formats/xmltex/base/russianutf8.xml +2000/01/18 | 584 | macros/plain/formats/xmltex/base/sec.xmt +2000/01/18 | 2563 | macros/plain/formats/xmltex/base/tei.xmt +2000/01/18 | 3311 | macros/plain/formats/xmltex/base/testascii.cfg +2000/01/16 | 44 | macros/plain/formats/xmltex/base/testascii.tex +2000/01/18 | 790 | macros/plain/formats/xmltex/base/testascii.xml +2000/01/16 | 47 | macros/plain/formats/xmltex/base/testsec.tex +2000/01/18 | 1363 | macros/plain/formats/xmltex/base/testsec.xml +2000/01/18 | 65 | macros/plain/formats/xmltex/base/utf-16.xmt +2001/03/29 | 3443 | macros/plain/formats/xmltex/base/windows-1250.xmt +2002/06/25 | 7522 | macros/plain/formats/xmltex/base/xmltex.cfg +2002/06/25 | 56512 | macros/plain/formats/xmltex/base/xmltex.tex +2014/12/05 | 51589 | macros/plain/formats/xmltex/base.zip +2002/06/25 | 5924 | macros/plain/formats/xmltex/contrib/passivetex/dummyels.sty +2002/06/27 | 50540 | macros/plain/formats/xmltex/contrib/passivetex/fotex.sty +2002/06/25 | 57457 | macros/plain/formats/xmltex/contrib/passivetex/fotex.xmt +2002/06/25 | 13693 | macros/plain/formats/xmltex/contrib/passivetex/mlnames.sty +2002/06/25 | 6141 | macros/plain/formats/xmltex/contrib/passivetex/teiprintslides.xmt +2002/06/25 | 5413 | macros/plain/formats/xmltex/contrib/passivetex/teislides.xmt +2002/06/25 | 2250 | macros/plain/formats/xmltex/contrib/passivetex/teixmlslides.sty +2002/06/25 | 1100 | macros/plain/formats/xmltex/contrib/passivetex/teixml.sty +2002/06/25 | 4041 | macros/plain/formats/xmltex/contrib/passivetex/tei.xmt +2002/06/25 | 130591 | macros/plain/formats/xmltex/contrib/passivetex/ucharacters.sty +2002/06/25 | 23178 | macros/plain/formats/xmltex/contrib/passivetex/unicode.sty +2005/11/03 | 66007 | macros/plain/formats/xmltex/contrib/passivetex.zip 2020/03/03 | 13798 | macros/plain/graphics/autopict.sty 2022/12/02 | 567 | macros/plain/graphics/color.tex 2020/03/03 | 71 | macros/plain/graphics/exmplcol.tex @@ -253695,46 +253599,6 @@ 2005/08/27 | 2335 | macros/plain/plnfss/tex/plain/plnfss/t5lm.pfd 2005/08/27 | 2423 | macros/plain/plnfss/tex/plain/plnfss/ts1lm.pfd 2008/05/18 | 22891 | macros/plain/plnfss.zip -1992/08/27 | 504 | macros/psizzl/aaaread.me -1992/08/27 | 9843 | macros/psizzl/chapters.psizzl -1992/08/27 | 17916 | macros/psizzl/citation.psizzl -1992/08/27 | 8353 | macros/psizzl/fontdefs.psizzl -1992/08/27 | 2808 | macros/psizzl/index.psizzl -1992/08/27 | 1990 | macros/psizzl/institut.psizzl -1992/08/27 | 7326 | macros/psizzl/letter.psizzl -1992/08/27 | 4171 | macros/psizzl/lists.psizzl -1992/08/27 | 5465 | macros/psizzl/macros.psizzl -1992/08/27 | 2046 | macros/psizzl/memo.psizzl -1992/08/27 | 922 | macros/psizzl/mypsizzl.tex -1992/08/27 | 4008 | macros/psizzl/options.psizzl -1992/08/27 | 6699 | macros/psizzl/output.psizzl -1992/08/27 | 1263 | macros/psizzl/picture.psizzl -1992/08/27 | 13440 | macros/psizzl/psizzl.commands -1992/08/27 | 1625 | macros/psizzl/psizzl.doc -1992/08/27 | 1434 | macros/psizzl/psizzl.tex -1992/08/27 | 8055 | macros/psizzl/publicat.psizzl -1992/08/27 | 1850 | macros/psizzl/symbols.psizzl -1992/08/27 | 81 | macros/psizzl/thesis.psizzl -2006/03/19 | 35553 | macros/psizzl.zip -2002/03/11 | 11683 | macros/scripttex/scrnplay.tex -1992/09/24 | 1063 | macros/scripttex/scrnwrit.bib -2002/03/11 | 6660 | macros/scripttex/stagplay.tex -1992/09/24 | 3960 | macros/scripttex/stdemo.tex -2009/05/28 | 167079 | macros/scripttex/stdoc.pdf -2002/03/10 | 52116 | macros/scripttex/stdoc.tex -2009/05/28 | 169843 | macros/scripttex.zip -1999/03/11 | 7575 | macros/startex/epsf.tex -1999/03/11 | 312389 | macros/startex/guide.pdf -1999/03/11 | 129332 | macros/startex/ideas.pdf -1999/03/11 | 2186 | macros/startex/INSTALL -1999/03/11 | 1343 | macros/startex/README -1999/03/11 | 1704 | macros/startex/startex.bib -1999/03/11 | 99349 | macros/startex/startex.dtx -1999/03/11 | 450 | macros/startex/startex.ins -1999/03/11 | 295551 | macros/startex/startex.pdf -1999/03/11 | 758 | macros/startex/stxglo.ist -1999/03/11 | 743 | macros/startex/stxind.ist -2005/10/02 | 557284 | macros/startex.zip 2007/06/29 | 84290 | macros/texinfo/contrib/texinfo-hu/sample.zip 2004/04/10 | 53838 | macros/texinfo/contrib/texinfo-hu/texinfo/ABOUT-NLS 2004/12/31 | 40830 | macros/texinfo/contrib/texinfo-hu/texinfo/aclocal.m4 @@ -259965,660 +259829,6 @@ 2023/08/15 | 54302 | macros/texinfo/texinfo/util/texinfo.dtd 2023/08/15 | 20925 | macros/texinfo/texinfo/util/txixml2texi.pl 2024/01/09 | 16421836 | macros/texinfo/texinfo.zip -2005/08/31 | 262102 | macros/texmuse/Doc/pdf/mainloop.pdf -2005/08/31 | 69660 | macros/texmuse/Doc/pdf/running.pdf -2005/08/31 | 71016 | macros/texmuse/Doc/pdf/wants.pdf -2005/08/31 | 832 | macros/texmuse/Doc/tex/mainloop1.mf -2005/08/31 | 1244 | macros/texmuse/Doc/tex/mainloop2.mf -2005/08/31 | 1347 | macros/texmuse/Doc/tex/mainloop3.mf -2005/08/31 | 616 | macros/texmuse/Doc/tex/mainloop4.mf -2005/08/31 | 737 | macros/texmuse/Doc/tex/mainloop5.mf -2005/08/31 | 13055 | macros/texmuse/Doc/tex/mainloop6.mf -2005/08/31 | 52456 | macros/texmuse/Doc/tex/mainloop.dvi -2005/08/31 | 41454 | macros/texmuse/Doc/tex/mainloop.tex -2005/08/29 | 7400 | macros/texmuse/Doc/tex/running.dvi -2005/08/31 | 5962 | macros/texmuse/Doc/tex/running.tex -2005/08/31 | 6556 | macros/texmuse/Doc/tex/wants.dvi -2005/08/31 | 4481 | macros/texmuse/Doc/tex/wants.tex -2005/08/29 | 39049 | macros/texmuse/Program/texmuse.mf -2005/08/31 | 27032 | macros/texmuse/Program/texmuse.tex -2005/08/09 | 17480 | macros/texmuse/Program/txmfont.mf -2005/08/31 | 1539 | macros/texmuse/README -2005/08/31 | 279113 | macros/texmuse/Samples/pdf/aminor.pdf -2005/08/31 | 268906 | macros/texmuse/Samples/pdf/bbmajor.pdf -2005/08/31 | 233004 | macros/texmuse/Samples/pdf/cmajor.pdf -2005/08/31 | 290157 | macros/texmuse/Samples/pdf/cminor.pdf -2005/08/31 | 253817 | macros/texmuse/Samples/pdf/dmajor.pdf -2005/08/31 | 235902 | macros/texmuse/Samples/pdf/dminor.pdf -2005/08/31 | 329647 | macros/texmuse/Samples/pdf/ebmajor.pdf -2005/08/31 | 259032 | macros/texmuse/Samples/pdf/fmajor.pdf -2005/08/31 | 17978 | macros/texmuse/Samples/tex/aminor1.mf -2005/08/31 | 19260 | macros/texmuse/Samples/tex/aminor2.mf -2005/08/31 | 9139 | macros/texmuse/Samples/tex/aminor3.mf -2005/08/31 | 4244 | macros/texmuse/Samples/tex/aminor.dvi -2005/08/26 | 2129 | macros/texmuse/Samples/tex/aminor.tex -2005/08/31 | 12705 | macros/texmuse/Samples/tex/bbmajor1.mf -2005/08/31 | 12863 | macros/texmuse/Samples/tex/bbmajor2.mf -2005/08/31 | 14459 | macros/texmuse/Samples/tex/bbmajor3.mf -2005/08/31 | 5925 | macros/texmuse/Samples/tex/bbmajor4.mf -2005/08/31 | 4392 | macros/texmuse/Samples/tex/bbmajor.dvi -2005/08/31 | 2165 | macros/texmuse/Samples/tex/bbmajor.tex -2005/08/30 | 17479 | macros/texmuse/Samples/tex/cmajor1.mf -2005/08/30 | 17442 | macros/texmuse/Samples/tex/cmajor2.mf -2005/08/30 | 2648 | macros/texmuse/Samples/tex/cmajor3.mf -2005/08/30 | 3792 | macros/texmuse/Samples/tex/cmajor.dvi -2005/08/27 | 1918 | macros/texmuse/Samples/tex/cmajor.tex -2005/08/27 | 14471 | macros/texmuse/Samples/tex/cminor1.mf -2005/08/27 | 16123 | macros/texmuse/Samples/tex/cminor2.mf -2005/08/27 | 16702 | macros/texmuse/Samples/tex/cminor3.mf -2005/08/27 | 4411 | macros/texmuse/Samples/tex/cminor4.mf -2005/08/27 | 4412 | macros/texmuse/Samples/tex/cminor.dvi -2005/08/27 | 2264 | macros/texmuse/Samples/tex/cminor.tex -2005/08/31 | 18549 | macros/texmuse/Samples/tex/dmajor1.mf -2005/08/31 | 17944 | macros/texmuse/Samples/tex/dmajor2.mf -2005/08/31 | 8043 | macros/texmuse/Samples/tex/dmajor3.mf -2005/08/27 | 517 | macros/texmuse/Samples/tex/dmajor4.mf -2005/08/31 | 4252 | macros/texmuse/Samples/tex/dmajor.dvi -2005/08/31 | 2101 | macros/texmuse/Samples/tex/dmajor.tex -2005/08/31 | 18211 | macros/texmuse/Samples/tex/dminor1.mf -2005/08/31 | 18639 | macros/texmuse/Samples/tex/dminor2.mf -2005/08/31 | 3219 | macros/texmuse/Samples/tex/dminor3.mf -2005/08/31 | 3704 | macros/texmuse/Samples/tex/dminor.dvi -2005/08/26 | 2015 | macros/texmuse/Samples/tex/dminor.tex -2005/08/26 | 14389 | macros/texmuse/Samples/tex/ebmajor1.mf -2005/08/26 | 14672 | macros/texmuse/Samples/tex/ebmajor2.mf -2005/08/26 | 14718 | macros/texmuse/Samples/tex/ebmajor3.mf -2005/08/26 | 13637 | macros/texmuse/Samples/tex/ebmajor4.mf -2005/08/26 | 2964 | macros/texmuse/Samples/tex/ebmajor5.mf -2005/08/26 | 5236 | macros/texmuse/Samples/tex/ebmajor.dvi -2005/08/26 | 2422 | macros/texmuse/Samples/tex/ebmajor.tex -2005/08/26 | 19816 | macros/texmuse/Samples/tex/fmajor1.mf -2005/08/26 | 19786 | macros/texmuse/Samples/tex/fmajor2.mf -2005/08/26 | 6514 | macros/texmuse/Samples/tex/fmajor3.mf -2005/08/26 | 4172 | macros/texmuse/Samples/tex/fmajor.dvi -2005/08/26 | 2278 | macros/texmuse/Samples/tex/fmajor.tex -2005/09/01 | 2005244 | macros/texmuse.zip -2000/02/28 | 1145 | macros/texsis/bibtex/bibtest.tex -2000/02/28 | 91393 | macros/texsis/bibtex/internet.bib -2000/02/28 | 552 | macros/texsis/bibtex/mylist.bib -2000/02/28 | 2077 | macros/texsis/bibtex/README -2000/02/28 | 22380 | macros/texsis/bibtex/texsis.bst -2000/02/28 | 133742 | macros/texsis/bibtex/unix.bib -2000/02/28 | 766 | macros/texsis/dcol/README -2000/02/28 | 14435 | macros/texsis/dcol/TXSdcol.doc -2000/02/28 | 17128 | macros/texsis/dcol/TXSdcol.dvi -2000/02/28 | 99253 | macros/texsis/dcol/TXSdcol.ps -2000/02/28 | 31435 | macros/texsis/dcol/TXSdcol.tex -2004/03/01 | 4887 | macros/texsis/DESCRIPTION -2003/01/20 | 13450 | macros/texsis/index/index.tex -2000/02/28 | 1082 | macros/texsis/index/README -2004/03/01 | 758 | macros/texsis/INSTALL -2001/04/21 | 67122 | macros/texsis/Install.ps -2000/02/28 | 9082 | macros/texsis/LPPL -2000/02/28 | 432 | macros/texsis/Mac/README -2001/05/18 | 3622 | macros/texsis/Mac/README-Mac -2001/05/18 | 539735 | macros/texsis/Mac/TeXsis-2.18.sea.hqx -2001/04/21 | 3999 | macros/texsis/MANIFEST -2001/04/21 | 672635 | macros/texsis/Manual.pdf -2001/04/21 | 106240 | macros/texsis/mtexsis.tex -2004/03/01 | 2810 | macros/texsis/NEWS -2000/02/28 | 573 | macros/texsis/PC/README -2000/02/28 | 2130 | macros/texsis/PC/README.PC -2000/02/28 | 694191 | macros/texsis/PC/texsis.zip -2004/03/01 | 5763 | macros/texsis/README -2000/02/28 | 2303 | macros/texsis/README.PC -2000/02/29 | 2589 | macros/texsis/styles/AIP.txs -2000/02/29 | 5671 | macros/texsis/styles/BostonU.txs -2000/02/29 | 2931 | macros/texsis/styles/CVformat.txs -2000/02/29 | 13611 | macros/texsis/styles/Elsevier.txs -2000/02/29 | 2427 | macros/texsis/styles/Exam.txs -2000/02/29 | 4440 | macros/texsis/styles/IEEE.txs -2000/02/29 | 2430 | macros/texsis/styles/LAT96.txs -2000/02/29 | 5289 | macros/texsis/styles/nuclproc.txs -2000/03/02 | 14218 | macros/texsis/styles/ORstate.txs -2000/02/29 | 7629 | macros/texsis/styles/paradox.txs -2000/02/29 | 19601 | macros/texsis/styles/PhysRev.txs -2000/02/29 | 4713 | macros/texsis/styles/printfont.txs -2000/02/29 | 2410 | macros/texsis/styles/spine.txs -2000/02/29 | 5037 | macros/texsis/styles/Tablebod.txs -2000/02/29 | 253 | macros/texsis/styles/Tablebody.txs -2000/02/29 | 7959 | macros/texsis/styles/thesis.txs -2000/02/29 | 5977 | macros/texsis/styles/twin.txs -2001/03/27 | 6957 | macros/texsis/styles/umich.txs -2000/02/29 | 4542 | macros/texsis/styles/UTthesis.tex -2000/02/29 | 5132 | macros/texsis/styles/WorldSci.txs -2003/06/09 | 539735 | macros/texsis/TeXsis-2.18.sea.hqx -2001/04/21 | 320511 | macros/texsis/texsis-2.18.tar.gz -2001/04/21 | 367638 | macros/texsis/texsis-2.18.zip -2001/04/21 | 1251 | macros/texsis/texsis.lsm -2001/04/21 | 5795 | macros/texsis/TXSsite.000 -2006/03/21 | 2979385 | macros/texsis.zip -1992/06/17 | 590 | macros/text1/blocks/appendix.texblock -1992/06/17 | 167 | macros/text1/blocks/asism.texblock -1992/06/17 | 162 | macros/text1/blocks/asisp.texblock -1992/06/17 | 371 | macros/text1/blocks/bibliog.texblock -1992/06/17 | 323 | macros/text1/blocks/bquotem.texblock -1992/06/17 | 311 | macros/text1/blocks/bquotep.texblock -1992/06/17 | 475 | macros/text1/blocks/chapter.texblock -1992/06/17 | 1562 | macros/text1/blocks/contents.texblock -1992/06/17 | 452 | macros/text1/blocks/enotem.texblock -1992/06/17 | 487 | macros/text1/blocks/enotep.texblock -1992/06/17 | 648 | macros/text1/blocks/figurem.texblock -1992/06/17 | 648 | macros/text1/blocks/figurep.texblock -1992/06/17 | 604 | macros/text1/blocks/fnotem.texblock -1992/06/17 | 585 | macros/text1/blocks/fnotep.texblock -1992/06/17 | 278 | macros/text1/blocks/fontm.texblock -1992/06/17 | 395 | macros/text1/blocks/fontp.texblock -1992/06/17 | 1048 | macros/text1/blocks/index.texblock -1992/06/17 | 167 | macros/text1/blocks/label.texblock -1992/06/17 | 744 | macros/text1/blocks/lists.texblock -1992/06/17 | 1377 | macros/text1/blocks/maillbls.texblock -1992/06/17 | 221 | macros/text1/blocks/marnote.texblock -1992/06/17 | 540 | macros/text1/blocks/multicol.texblock -1992/06/17 | 475 | macros/text1/blocks/pagem.texblock -1992/06/17 | 482 | macros/text1/blocks/pagep.texblock -1992/06/17 | 288 | macros/text1/blocks/parm.texblock -1992/06/17 | 593 | macros/text1/blocks/parp.texblock -1992/06/17 | 751 | macros/text1/blocks/part.texblock -1992/06/17 | 402 | macros/text1/blocks/preface.texblock -1992/06/17 | 201 | macros/text1/blocks/runfoot.texblock -1992/06/17 | 212 | macros/text1/blocks/runhead.texblock -1992/06/17 | 420 | macros/text1/blocks/subheada.texblock -1992/06/17 | 382 | macros/text1/blocks/subheadb.texblock -1992/06/17 | 338 | macros/text1/blocks/subheadc.texblock -1992/06/17 | 270 | macros/text1/blocks/subheadd.texblock -1992/06/17 | 242 | macros/text1/blocks/tablem.texblock -1992/06/17 | 285 | macros/text1/blocks/tablep.texblock -1992/06/17 | 390 | macros/text1/blocks/talaris.texblock -1992/06/17 | 133 | macros/text1/blocks/titlepg.texblock -1992/06/17 | 303 | macros/text1/changes.aug91 -1992/08/03 | 187 | macros/text1/changes.aug92 -1993/08/18 | 236 | macros/text1/changes.aug93 -1993/12/15 | 235 | macros/text1/changes.dec93 -1992/06/17 | 233 | macros/text1/changes.feb91 -1992/06/17 | 273 | macros/text1/changes.jan92 -1992/06/17 | 365 | macros/text1/changes.jun91 -1996/06/28 | 297 | macros/text1/changes.jun96 -1992/06/17 | 314 | macros/text1/changes.mar91 -1992/06/17 | 313 | macros/text1/changes.mar92 -1992/06/17 | 605 | macros/text1/changes.may92 -1992/06/17 | 391 | macros/text1/changes.nov90 -1992/11/12 | 179 | macros/text1/changes.nov92 -1994/11/15 | 380 | macros/text1/changes.nov94 -1992/06/17 | 257 | macros/text1/changes.sep91 -1992/06/17 | 1120 | macros/text1/cms_help_files/10noter.helpfoot -1992/06/17 | 1840 | macros/text1/cms_help_files/11noter.helpfoot -1992/06/17 | 1280 | macros/text1/cms_help_files/12noter.helpfoot -1992/06/17 | 1520 | macros/text1/cms_help_files/1block.helpbloc -1992/06/17 | 1680 | macros/text1/cms_help_files/1everye.helpendn -1992/06/17 | 1680 | macros/text1/cms_help_files/1everyf.helpfoot -1992/06/17 | 1680 | macros/text1/cms_help_files/1every.helpfoot -1992/06/17 | 1600 | macros/text1/cms_help_files/1--footn.help4--f -1992/06/17 | 1040 | macros/text1/cms_help_files/1numbe.helpsubh -1992/06/17 | 1040 | macros/text1/cms_help_files/1number.helpsubh -1992/06/17 | 1680 | macros/text1/cms_help_files/1--verti.helpvert -1992/06/17 | 1280 | macros/text1/cms_help_files/2block.helpbloc -1992/06/17 | 1200 | macros/text1/cms_help_files/2--footn.help4--f -1992/06/17 | 1680 | macros/text1/cms_help_files/2footn.helpfoot -1992/06/17 | 1680 | macros/text1/cms_help_files/2footno.helpfoot -1992/06/17 | 1680 | macros/text1/cms_help_files/2skipbe.helpendn -1992/06/17 | 1600 | macros/text1/cms_help_files/2title.helpsubh -1992/06/17 | 1200 | macros/text1/cms_help_files/2--verti.helpvert -1992/06/17 | 1680 | macros/text1/cms_help_files/3befor.helpfoot -1992/06/17 | 1092 | macros/text1/cms_help_files/3block.helpmenu -1992/06/17 | 1680 | macros/text1/cms_help_files/3every.helpbloc -1992/06/17 | 1200 | macros/text1/cms_help_files/3incon.helpsubh -1992/06/17 | 1200 | macros/text1/cms_help_files/3incont.helpsubh -1992/06/17 | 1760 | macros/text1/cms_help_files/3skipbe.helpfoot -1992/06/17 | 1760 | macros/text1/cms_help_files/3skipb.helpfoot -1992/06/17 | 1360 | macros/text1/cms_help_files/3textre.helpendn -1992/06/17 | 1404 | macros/text1/cms_help_files/4footn.helpmenu -1992/06/17 | 1280 | macros/text1/cms_help_files/4refer.helpfoot -1992/06/17 | 1760 | macros/text1/cms_help_files/4skipaf.helpfoot -1992/06/17 | 1360 | macros/text1/cms_help_files/4skipb.helpbloc -1992/06/17 | 1120 | macros/text1/cms_help_files/4textre.helpendn -1992/06/17 | 1280 | macros/text1/cms_help_files/5refer.helpfoot -1992/06/17 | 1440 | macros/text1/cms_help_files/5skipa.helpbloc -1992/06/17 | 1840 | macros/text1/cms_help_files/5textre.helpendn -1992/06/17 | 1360 | macros/text1/cms_help_files/5textre.helpfoot -1992/06/17 | 1360 | macros/text1/cms_help_files/6notere.helpendn -1992/06/17 | 1120 | macros/text1/cms_help_files/6refer.helpfoot -1992/06/17 | 1360 | macros/text1/cms_help_files/6textre.helpfoot -1992/06/17 | 1120 | macros/text1/cms_help_files/7notere.helpendn -1992/06/17 | 1680 | macros/text1/cms_help_files/7refer.helpfoot -1992/06/17 | 1120 | macros/text1/cms_help_files/7textre.helpfoot -1992/06/17 | 1840 | macros/text1/cms_help_files/8notere.helpendn -1992/06/17 | 1840 | macros/text1/cms_help_files/8textre.helpfoot -1992/06/17 | 1280 | macros/text1/cms_help_files/9notere.helpendn -1992/06/17 | 889 | macros/text1/cms_help_files/9notere.helpfoot -1992/06/17 | 3563 | macros/text1/cms_help_files/aen.helpmark -1992/06/17 | 3184 | macros/text1/cms_help_files/afn.helpmark -1992/06/17 | 3930 | macros/text1/cms_help_files/aib.helpmark -1992/06/17 | 1435 | macros/text1/cms_help_files/aie.helpmark -1992/06/17 | 3399 | macros/text1/cms_help_files/aif.helpmark -1992/06/17 | 1040 | macros/text1/cms_help_files/anumbe.helpsubh -1992/06/17 | 1040 | macros/text1/cms_help_files/anumber.helpsubh -1992/06/17 | 3629 | macros/text1/cms_help_files/apf.helpmark -1992/06/17 | 326 | macros/text1/cms_help_files/appendix.helpbloc -1992/06/17 | 4021 | macros/text1/cms_help_files/appendix.helpmenu -1992/06/17 | 1291 | macros/text1/cms_help_files/app.helpmark -1992/06/17 | 352 | macros/text1/cms_help_files/asism.helpbloc -1992/06/17 | 358 | macros/text1/cms_help_files/asisp.helpbloc -1992/06/17 | 2009 | macros/text1/cms_help_files/bd.helpmark -1992/06/17 | 2609 | macros/text1/cms_help_files/bibentry.helpmark -1992/06/17 | 1825 | macros/text1/cms_help_files/bib.helpmark -1992/06/17 | 329 | macros/text1/cms_help_files/bibliog.helpbloc -1992/06/17 | 2622 | macros/text1/cms_help_files/bibliogr.helpmark -1992/06/17 | 2422 | macros/text1/cms_help_files/bie.helpmark -1992/06/17 | 12505 | macros/text1/cms_help_files/bif.helpmark -1992/06/17 | 1556 | macros/text1/cms_help_files/bi.helpmark -1992/06/17 | 936 | macros/text1/cms_help_files/bothpage.helpmenu -1992/06/17 | 1680 | macros/text1/cms_help_files/bottomma.helppage -1992/06/17 | 2240 | macros/text1/cms_help_files/bottomti.helpboth -1992/06/17 | 2240 | macros/text1/cms_help_files/bottomti.helpeven -1992/06/17 | 2240 | macros/text1/cms_help_files/bottomti.helpoddp -1992/06/17 | 2930 | macros/text1/cms_help_files/bqb.helpmark -1992/06/17 | 2165 | macros/text1/cms_help_files/bqe.helpmark -1992/06/17 | 3907 | macros/text1/cms_help_files/bqf.helpmark -1992/06/17 | 360 | macros/text1/cms_help_files/bquotem.helpbloc -1992/06/17 | 366 | macros/text1/cms_help_files/bquotep.helpbloc -1992/06/17 | 1586 | macros/text1/cms_help_files/break.helpmark -1992/06/17 | 1440 | macros/text1/cms_help_files/btitlef.helpsubh -1992/06/17 | 1600 | macros/text1/cms_help_files/btitle.helpsubh -1992/06/17 | 1861 | macros/text1/cms_help_files/bul.helpmark -1992/06/17 | 1458 | macros/text1/cms_help_files/cc.helpmark -1992/06/17 | 933 | macros/text1/cms_help_files/cents.helpmark -1992/06/17 | 2273 | macros/text1/cms_help_files/chap.helpmark -1992/06/17 | 324 | macros/text1/cms_help_files/chapter.helpbloc -1992/06/17 | 3942 | macros/text1/cms_help_files/chf.helpmark -1992/06/17 | 39 | macros/text1/cms_help_files/chrono.changes -1992/06/17 | 1200 | macros/text1/cms_help_files/cincon.helpsubh -1992/06/17 | 1200 | macros/text1/cms_help_files/cincont.helpsubh -1992/06/17 | 3079 | macros/text1/cms_help_files/clb.helpmark -1992/06/17 | 1545 | macros/text1/cms_help_files/cle.helpmark -1992/06/17 | 1691 | macros/text1/cms_help_files/cl.helpmark -1992/06/17 | 333 | macros/text1/cms_help_files/contents.helpbloc -1992/06/17 | 640 | macros/text1/cms_help_files/coul.helpmark -1992/06/17 | 1919 | macros/text1/cms_help_files/db.helpmark -1992/06/17 | 1300 | macros/text1/cms_help_files/dbm.helpmark -1992/06/17 | 1170 | macros/text1/cms_help_files/dbrs.helpmark -1992/06/17 | 1086 | macros/text1/cms_help_files/die.helpmark -1992/06/17 | 1869 | macros/text1/cms_help_files/dsp.helpmark -1992/06/17 | 2194 | macros/text1/cms_help_files/el.helpmark -1992/06/17 | 6290 | macros/text1/cms_help_files/enf.helpmark -1992/06/17 | 356 | macros/text1/cms_help_files/enotem.helpbloc -1992/06/17 | 363 | macros/text1/cms_help_files/enotep.helpbloc -1992/06/17 | 1263 | macros/text1/cms_help_files/ep.helpmark -1992/06/17 | 901 | macros/text1/cms_help_files/epm.helpmark -1992/06/17 | 1186 | macros/text1/cms_help_files/ex.helpmark -1992/06/17 | 3656 | macros/text1/cms_help_files/fif.helpmark -1992/06/17 | 5639 | macros/text1/cms_help_files/fig.helpmark -1992/06/17 | 567 | macros/text1/cms_help_files/figurem.helpbloc -1992/06/17 | 567 | macros/text1/cms_help_files/figurep.helpbloc -1992/06/17 | 1842 | macros/text1/cms_help_files/fixf.helpmark -1992/06/17 | 6586 | macros/text1/cms_help_files/fnf.helpmark -1992/06/17 | 422 | macros/text1/cms_help_files/fnotem.helpbloc -1992/06/17 | 428 | macros/text1/cms_help_files/fnotep.helpbloc -1992/06/17 | 2089 | macros/text1/cms_help_files/font.helpmark -1992/06/17 | 370 | macros/text1/cms_help_files/fontm.helpbloc -1992/06/17 | 450 | macros/text1/cms_help_files/fontp.helpbloc -1992/06/17 | 3011 | macros/text1/cms_help_files/footnote.helpmark -1992/06/17 | 2377 | macros/text1/cms_help_files/frac.helpmark -1992/06/17 | 2166 | macros/text1/cms_help_files/frenchsp.helpmark -1992/06/17 | 1034 | macros/text1/cms_help_files/goodbrea.helpmark -1992/06/17 | 7641 | macros/text1/cms_help_files/halign.helpmark -1992/06/17 | 1394 | macros/text1/cms_help_files/hbox.helpmark -1992/06/17 | 2167 | macros/text1/cms_help_files/hin.helpmark -1992/06/17 | 2647 | macros/text1/cms_help_files/hof.helpmark -1992/06/17 | 2677 | macros/text1/cms_help_files/hon.helpmark -1992/06/17 | 2221 | macros/text1/cms_help_files/hp.helpmark -1992/06/17 | 1783 | macros/text1/cms_help_files/hrule.helpmark -1992/06/17 | 1986 | macros/text1/cms_help_files/hs.helpmark -1992/06/17 | 2351 | macros/text1/cms_help_files/hsize.helpmark -1992/06/17 | 4291 | macros/text1/cms_help_files/incl.helpmark -1992/06/17 | 1842 | macros/text1/cms_help_files/indent.helpmark -1992/06/17 | 917 | macros/text1/cms_help_files/index.helpbloc -1992/06/17 | 1631 | macros/text1/cms_help_files/input.helpmark -1992/06/17 | 2238 | macros/text1/cms_help_files/isk.helpmark -1992/06/17 | 964 | macros/text1/cms_help_files/italicfa.helpmark -1992/06/17 | 2166 | macros/text1/cms_help_files/item.helpmark -1992/06/17 | 2106 | macros/text1/cms_help_files/it.helpmark -1992/06/17 | 13931 | macros/text1/cms_help_files/ixf.helpmark -1992/06/17 | 14368 | macros/text1/cms_help_files/ix.helpmark -1992/06/17 | 1980 | macros/text1/cms_help_files/ju.helpmark -1992/06/17 | 320 | macros/text1/cms_help_files/label.helpbloc -1992/06/17 | 5764 | macros/text1/cms_help_files/laf.helpmark -1992/06/17 | 2136 | macros/text1/cms_help_files/la.helpmark -1992/06/17 | 2291 | macros/text1/cms_help_files/lbr.helpmark -1992/06/17 | 2015 | macros/text1/cms_help_files/leader.helpmark -1992/06/17 | 394 | macros/text1/cms_help_files/letter.helpmode -1992/06/17 | 2276 | macros/text1/cms_help_files/lib.helpmark -1992/06/17 | 1648 | macros/text1/cms_help_files/lie.helpmark -1992/06/17 | 6058 | macros/text1/cms_help_files/lif.helpmark -1992/06/17 | 2030 | macros/text1/cms_help_files/lil.helpmark -1992/06/17 | 2366 | macros/text1/cms_help_files/line.helpmark -1992/06/17 | 3381 | macros/text1/cms_help_files/lin.helpmark -1992/06/17 | 993 | macros/text1/cms_help_files/lint.helpmark -1992/06/17 | 2073 | macros/text1/cms_help_files/lir.helpmark -1992/06/17 | 319 | macros/text1/cms_help_files/lists.helpbloc -1992/06/17 | 918 | macros/text1/cms_help_files/lnf.helpmark -1992/06/17 | 2003 | macros/text1/cms_help_files/lr.helpmark -1992/06/17 | 11477 | macros/text1/cms_help_files/markup.helpmenu -1992/06/17 | 327 | macros/text1/cms_help_files/marnote.helpbloc -1992/06/17 | 831 | macros/text1/cms_help_files/mathdefa.helpmark -1992/06/17 | 15242 | macros/text1/cms_help_files/mcf.helpmark -1992/06/17 | 390 | macros/text1/cms_help_files/memo.helpmode -1992/06/17 | 1410 | macros/text1/cms_help_files/mi.helpmark -1992/06/17 | 1689 | macros/text1/cms_help_files/mnf.helpmark -1992/06/17 | 1477 | macros/text1/cms_help_files/mn.helpmark -1992/06/17 | 4117 | macros/text1/cms_help_files/msp.helpmark -1992/06/17 | 348 | macros/text1/cms_help_files/multicol.helpbloc -1992/06/17 | 2318 | macros/text1/cms_help_files/nc.helpmark -1992/06/17 | 2101 | macros/text1/cms_help_files/nin.helpmark -1992/06/17 | 1759 | macros/text1/cms_help_files/nobreak.helpmark -1992/06/17 | 2018 | macros/text1/cms_help_files/nonfrenc.helpmark -1992/06/17 | 1239 | macros/text1/cms_help_files/np.helpmark -1992/06/17 | 2213 | macros/text1/cms_help_files/ntp.helpmark -1992/06/17 | 646 | macros/text1/cms_help_files/numl.helpmark -1992/06/17 | 2479 | macros/text1/cms_help_files/oc.helpmark -1992/06/17 | 925 | macros/text1/cms_help_files/opm.helpmark -1992/06/17 | 2328 | macros/text1/cms_help_files/paf.helpmark -1992/06/17 | 373 | macros/text1/cms_help_files/pagem.helpbloc -1992/06/17 | 379 | macros/text1/cms_help_files/pagep.helpbloc -1992/06/17 | 392 | macros/text1/cms_help_files/paper.helpmode -1992/06/17 | 4278 | macros/text1/cms_help_files/par.helpmark -1992/06/17 | 403 | macros/text1/cms_help_files/parm.helpbloc -1992/06/17 | 409 | macros/text1/cms_help_files/parp.helpbloc -1992/06/17 | 318 | macros/text1/cms_help_files/part.helpbloc -1992/06/17 | 1193 | macros/text1/cms_help_files/part.helpmark -1992/06/17 | 2447 | macros/text1/cms_help_files/pb.helpmark -1992/06/17 | 1782 | macros/text1/cms_help_files/pen.helpmark -1992/06/17 | 3229 | macros/text1/cms_help_files/pf.helpmark -1992/06/17 | 4639 | macros/text1/cms_help_files/pic.helpmark -1992/06/17 | 2072 | macros/text1/cms_help_files/pin.helpmark -1992/06/17 | 845 | macros/text1/cms_help_files/plaintex.helpmark -1992/06/17 | 1273 | macros/text1/cms_help_files/pn.helpmark -1992/06/17 | 710 | macros/text1/cms_help_files/ppl.helpmark -1992/06/17 | 324 | macros/text1/cms_help_files/preface.helpbloc -1992/06/17 | 1410 | macros/text1/cms_help_files/pre.helpmark -1992/06/17 | 1457 | macros/text1/cms_help_files/prf.helpmark -1992/06/17 | 648 | macros/text1/cms_help_files/prin.helpmark -1992/06/17 | 464 | macros/text1/cms_help_files/printend.helpmark -1992/06/17 | 2017 | macros/text1/cms_help_files/printind.helpmark -1992/06/17 | 2893 | macros/text1/cms_help_files/psk.helpmark -1992/06/17 | 1727 | macros/text1/cms_help_files/qquad.helpmark -1992/06/17 | 1802 | macros/text1/cms_help_files/quad.helpmark -1992/06/17 | 662 | macros/text1/cms_help_files/raggedbo.helpmark -1992/06/17 | 394 | macros/text1/cms_help_files/resume.helpmode -1992/06/17 | 5529 | macros/text1/cms_help_files/rff.helpmark -1992/06/17 | 5014 | macros/text1/cms_help_files/rhf.helpmark -1992/06/17 | 3442 | macros/text1/cms_help_files/rin.helpmark -1992/06/17 | 1598 | macros/text1/cms_help_files/rlb.helpmark -1992/06/17 | 1119 | macros/text1/cms_help_files/rle.helpmark -1992/06/17 | 1316 | macros/text1/cms_help_files/rl.helpmark -1992/06/17 | 1748 | macros/text1/cms_help_files/rm.helpmark -1992/06/17 | 2076 | macros/text1/cms_help_files/rr.helpmark -1992/06/17 | 2291 | macros/text1/cms_help_files/rule.helpmark -1992/06/17 | 395 | macros/text1/cms_help_files/runfoot.helpbloc -1992/06/17 | 392 | macros/text1/cms_help_files/runhead.helpbloc -1992/06/17 | 889 | macros/text1/cms_help_files/san.helpmark -1992/06/17 | 1878 | macros/text1/cms_help_files/sau.helpmark -1992/06/17 | 866 | macros/text1/cms_help_files/scn.helpmark -1992/06/17 | 1326 | macros/text1/cms_help_files/senn.helpmark -1992/06/17 | 8368 | macros/text1/cms_help_files/settabs.helpmark -1992/06/17 | 1279 | macros/text1/cms_help_files/sfn.helpmark -1992/06/17 | 1426 | macros/text1/cms_help_files/sfnn.helpmark -1992/06/17 | 3792 | macros/text1/cms_help_files/sfs.helpmark -1992/06/17 | 3467 | macros/text1/cms_help_files/shaf.helpmark -1992/06/17 | 1926 | macros/text1/cms_help_files/sha.helpmark -1992/06/17 | 3536 | macros/text1/cms_help_files/shbf.helpmark -1992/06/17 | 1851 | macros/text1/cms_help_files/shb.helpmark -1992/06/17 | 3336 | macros/text1/cms_help_files/shcf.helpmark -1992/06/17 | 1846 | macros/text1/cms_help_files/shc.helpmark -1992/06/17 | 3104 | macros/text1/cms_help_files/shdf.helpmark -1992/06/17 | 1442 | macros/text1/cms_help_files/shd.helpmark -1992/06/17 | 2196 | macros/text1/cms_help_files/sms.helpmark -1992/06/17 | 1092 | macros/text1/cms_help_files/special.helpmark -1992/06/17 | 1794 | macros/text1/cms_help_files/spn.helpmark -1992/06/17 | 815 | macros/text1/cms_help_files/sptn.helpmark -1992/06/17 | 972 | macros/text1/cms_help_files/ssan.helpmark -1992/06/17 | 986 | macros/text1/cms_help_files/ssbn.helpmark -1992/06/17 | 997 | macros/text1/cms_help_files/sscn.helpmark -1992/06/17 | 1008 | macros/text1/cms_help_files/ssdn.helpmark -1992/06/17 | 2168 | macros/text1/cms_help_files/ssf.helpmark -1992/06/17 | 2063 | macros/text1/cms_help_files/ssp.helpmark -1992/06/17 | 1277 | macros/text1/cms_help_files/stn.helpmark -1992/06/17 | 3782 | macros/text1/cms_help_files/strut.helpmark -1992/06/17 | 326 | macros/text1/cms_help_files/subheada.helpbloc -1992/06/17 | 326 | macros/text1/cms_help_files/subheadb.helpbloc -1992/06/17 | 326 | macros/text1/cms_help_files/subheadc.helpbloc -1992/06/17 | 326 | macros/text1/cms_help_files/subheadd.helpbloc -1992/06/17 | 1093 | macros/text1/cms_help_files/sy.helpmark -1992/06/17 | 372 | macros/text1/cms_help_files/tablem.helpbloc -1992/06/17 | 378 | macros/text1/cms_help_files/tablep.helpbloc -1992/06/17 | 2581 | macros/text1/cms_help_files/taf.helpmark -1992/06/17 | 370 | macros/text1/cms_help_files/talaris.helpbloc -1992/06/17 | 2764 | macros/text1/cms_help_files/tat.helpmark -1992/06/17 | 1963 | macros/text1/cms_help_files/tenpt.helpmark -1992/06/17 | 2010 | macros/text1/cms_help_files/text1.helpmark -1992/06/17 | 4332 | macros/text1/cms_help_files/thc.helpmark -1992/06/17 | 444 | macros/text1/cms_help_files/thesis.helpmode -1992/06/17 | 371 | macros/text1/cms_help_files/titlepg.helpbloc -1992/06/17 | 24933 | macros/text1/cms_help_files/tocf.helpmark -1992/06/17 | 1425 | macros/text1/cms_help_files/toc.helpmark -1992/06/17 | 2047 | macros/text1/cms_help_files/toclbr.helpmark -1992/06/17 | 1150 | macros/text1/cms_help_files/today.helpmark -1992/06/17 | 2480 | macros/text1/cms_help_files/topline1.helpeven -1992/06/17 | 2480 | macros/text1/cms_help_files/topline1.helpoddp -1992/06/17 | 1680 | macros/text1/cms_help_files/topmargi.helppage -1992/06/17 | 2024 | macros/text1/cms_help_files/tpf.helpmark -1992/06/17 | 1843 | macros/text1/cms_help_files/tp.helpmark -1992/06/17 | 2109 | macros/text1/cms_help_files/tt.helpmark -1992/06/17 | 4469 | macros/text1/cms_help_files/twc.helpmark -1992/06/17 | 2079 | macros/text1/cms_help_files/twelvept.helpmark -1992/06/17 | 1609 | macros/text1/cms_help_files/us.helpmark -1992/06/17 | 1454 | macros/text1/cms_help_files/vbox.helpmark -1992/06/17 | 1680 | macros/text1/cms_help_files/vertical.helpvert -1992/06/17 | 850 | macros/text1/cms_help_files/vrule.helpmark -1992/06/17 | 2758 | macros/text1/cms_help_files/vs.helpmark -1992/06/17 | 2484 | macros/text1/cms_help_files/vsk.helpmark -1992/06/17 | 1040 | macros/text1/cms_help_files/width.helppage -1992/06/17 | 1608 | macros/text1/compugraphics_8600/et10.textext -1992/06/17 | 1641 | macros/text1/compugraphics_8600/et11.textext -1992/06/17 | 1674 | macros/text1/compugraphics_8600/et12.textext -1992/06/17 | 1674 | macros/text1/compugraphics_8600/et14.textext -1992/06/17 | 1740 | macros/text1/compugraphics_8600/et18.textext -1992/06/17 | 1697 | macros/text1/compugraphics_8600/et8.textext -1992/06/17 | 1631 | macros/text1/compugraphics_8600/et9.textext -1992/06/17 | 19116 | macros/text1/compugraphics_8600/etb.fontinfo -1992/06/17 | 18873 | macros/text1/compugraphics_8600/etbi.fontinfo -1992/06/17 | 18873 | macros/text1/compugraphics_8600/eti.fontinfo -1992/06/17 | 19116 | macros/text1/compugraphics_8600/etr.fontinfo -1992/06/17 | 20493 | macros/text1/compugraphics_8600/etsc.fontinfo -1992/06/17 | 405 | macros/text1/compugraphics_8600/fonttex.cmschan -1992/06/17 | 505 | macros/text1/compugraphics_8600/fonttex.exec -1992/06/17 | 26244 | macros/text1/compugraphics_8600/fonttex.outchan -1992/06/17 | 72275 | macros/text1/compugraphics_8600/fonttex.web -1992/06/17 | 1076 | macros/text1/compugraphics_8600/reblock.pascal -1992/06/17 | 81 | macros/text1/compugraphics_8600/tex8600.cmschan -1992/06/17 | 23272 | macros/text1/compugraphics_8600/tex8600.outchan -1992/06/17 | 90813 | macros/text1/compugraphics_8600/tex8600.web -1995/01/27 | 7698 | macros/text1/docs/readme.tex -1996/06/28 | 744715 | macros/text1/docs/refman.ps.gz -1992/06/17 | 82196 | macros/text1/fonts/cmr36.dump -1992/06/17 | 360 | macros/text1/fonts/dt240.mf -1992/06/17 | 1536 | macros/text1/fonts/dt.240pk -1992/06/17 | 360 | macros/text1/fonts/dt300.mf -1992/06/17 | 1536 | macros/text1/fonts/dt.300pk -1992/06/17 | 710 | macros/text1/fonts/dt.mf -1992/06/17 | 446 | macros/text1/fonts/dt.readme -1992/06/17 | 512 | macros/text1/fonts/dt.tfm -1992/06/17 | 31232 | macros/text1/lzcomp.exe -1992/06/17 | 30720 | macros/text1/lzdcmp.exe -1992/06/17 | 295 | macros/text1/macintosh/texix.macinfo -1994/11/15 | 410 | macros/text1/macintosh/texix_macintosh.readme -1992/06/17 | 14064 | macros/text1/macintosh/texix.turbomac -1994/11/15 | 30976 | macros/text1/macintosh/text1_index_sort.bin -1992/06/17 | 667 | macros/text1/macros/cgfonts.lclist -1992/06/17 | 445 | macros/text1/macros/cm108m.texmath -1992/06/17 | 423 | macros/text1/macros/cm109m.texmath -1992/06/17 | 1293 | macros/text1/macros/cm10.textext -1992/06/17 | 426 | macros/text1/macros/cm1110m.texmath -1992/06/17 | 529 | macros/text1/macros/cm119m.texmath -1992/06/17 | 3240 | macros/text1/macros/cm11.textext -1992/06/17 | 436 | macros/text1/macros/cm1210m.texmath -1992/06/17 | 542 | macros/text1/macros/cm1211m.texmath -1992/06/17 | 2997 | macros/text1/macros/cm12.textext -1992/06/17 | 552 | macros/text1/macros/cm1412m.texmath -1992/06/17 | 2997 | macros/text1/macros/cm14.textext -1992/06/17 | 572 | macros/text1/macros/cm1814m.texmath -1992/06/17 | 2997 | macros/text1/macros/cm18.textext -1992/06/17 | 582 | macros/text1/macros/cm2418m.texmath -1992/06/17 | 2997 | macros/text1/macros/cm24.textext -1992/06/17 | 2997 | macros/text1/macros/cm36.textext -1992/06/17 | 4131 | macros/text1/macros/cm5.textext -1992/06/17 | 426 | macros/text1/macros/cm65m.texmath -1992/06/17 | 3969 | macros/text1/macros/cm6.textext -1992/06/17 | 333 | macros/text1/macros/cm75m.texmath -1992/06/17 | 431 | macros/text1/macros/cm76m.texmath -1992/06/17 | 3645 | macros/text1/macros/cm7.textext -1992/06/17 | 547 | macros/text1/macros/cm86m.texmath -1992/06/17 | 450 | macros/text1/macros/cm87m.texmath -1992/06/17 | 3240 | macros/text1/macros/cm8.textext -1992/06/17 | 430 | macros/text1/macros/cm97m.texmath -1992/06/17 | 544 | macros/text1/macros/cm98m.texmath -1992/06/17 | 3240 | macros/text1/macros/cm9.textext -1992/06/17 | 3726 | macros/text1/macros/cmsan10.textext -1992/06/17 | 3726 | macros/text1/macros/cmsan11.textext -1992/06/17 | 3726 | macros/text1/macros/cmsan12.textext -1992/06/17 | 3726 | macros/text1/macros/cmsan14.textext -1992/06/17 | 3726 | macros/text1/macros/cmsan18.textext -1992/06/17 | 3726 | macros/text1/macros/cmsan24.textext -1992/06/17 | 3726 | macros/text1/macros/cmsan36.textext -1992/06/17 | 3969 | macros/text1/macros/cmsan8.textext -1992/06/17 | 3726 | macros/text1/macros/cmsan9.textext -1992/06/17 | 7194 | macros/text1/macros/fixcol.tex -1992/06/17 | 18171 | macros/text1/macros/flexcol.tex -1996/06/26 | 243 | macros/text1/macros/text1.tex -1996/06/26 | 141189 | macros/text1/macros/txt1v409.tex -1992/06/17 | 1847 | macros/text1/models/letter.texinput -1992/06/17 | 2391 | macros/text1/models/letter.texmodel -1992/06/17 | 1895 | macros/text1/models/memo.texinput -1992/06/17 | 936 | macros/text1/models/memo.texmodel -1992/06/17 | 2853 | macros/text1/models/mergelet.texmodel -1992/06/17 | 1377 | macros/text1/models/mergelst.texmodel -1992/06/17 | 7963 | macros/text1/models/mergetxt.texinput -1992/06/17 | 4042 | macros/text1/models/mergetxt.texmodel -1992/06/17 | 414 | macros/text1/models/paper.texinput -1992/06/17 | 1470 | macros/text1/models/paper.texmodel -1992/06/17 | 1782 | macros/text1/models/resume.texinput -1992/06/17 | 2958 | macros/text1/models/resume.texmodel -1992/09/01 | 5314 | macros/text1/models/thesis.texinput -1992/09/01 | 4917 | macros/text1/models/thesis.texmodel -1992/11/07 | 590 | macros/text1/pc/blocks/appendix.blk -1992/11/07 | 167 | macros/text1/pc/blocks/asism.blk -1992/11/07 | 162 | macros/text1/pc/blocks/asisp.blk -1992/11/07 | 371 | macros/text1/pc/blocks/bibliog.blk -1992/11/07 | 323 | macros/text1/pc/blocks/bquotem.blk -1992/11/07 | 311 | macros/text1/pc/blocks/bquotep.blk -1992/11/07 | 475 | macros/text1/pc/blocks/chapter.blk -1992/11/07 | 1562 | macros/text1/pc/blocks/contents.blk -1992/11/07 | 452 | macros/text1/pc/blocks/enotem.blk -1992/11/07 | 487 | macros/text1/pc/blocks/enotep.blk -1992/11/07 | 648 | macros/text1/pc/blocks/figurem.blk -1992/11/07 | 648 | macros/text1/pc/blocks/figurep.blk -1992/11/07 | 604 | macros/text1/pc/blocks/fnotem.blk -1992/11/07 | 585 | macros/text1/pc/blocks/fnotep.blk -1992/11/07 | 278 | macros/text1/pc/blocks/fontm.blk -1992/11/07 | 395 | macros/text1/pc/blocks/fontp.blk -1992/11/07 | 1048 | macros/text1/pc/blocks/index.blk -1992/11/07 | 167 | macros/text1/pc/blocks/label.blk -1992/11/07 | 744 | macros/text1/pc/blocks/lists.blk -1992/11/07 | 1377 | macros/text1/pc/blocks/maillbls.blk -1992/11/07 | 221 | macros/text1/pc/blocks/marnote.blk -1992/11/07 | 540 | macros/text1/pc/blocks/multicol.blk -1992/11/07 | 475 | macros/text1/pc/blocks/pagem.blk -1992/11/07 | 482 | macros/text1/pc/blocks/pagep.blk -1992/11/07 | 288 | macros/text1/pc/blocks/parm.blk -1992/11/07 | 593 | macros/text1/pc/blocks/parp.blk -1992/11/07 | 751 | macros/text1/pc/blocks/part.blk -1992/11/07 | 402 | macros/text1/pc/blocks/preface.blk -1992/11/07 | 201 | macros/text1/pc/blocks/runfoot.blk -1992/11/07 | 212 | macros/text1/pc/blocks/runhead.blk -1992/11/07 | 420 | macros/text1/pc/blocks/subheada.blk -1992/11/07 | 382 | macros/text1/pc/blocks/subheadb.blk -1992/11/07 | 338 | macros/text1/pc/blocks/subheadc.blk -1992/11/07 | 270 | macros/text1/pc/blocks/subheadd.blk -1992/11/07 | 242 | macros/text1/pc/blocks/tablem.blk -1992/11/07 | 285 | macros/text1/pc/blocks/tablep.blk -1992/11/07 | 390 | macros/text1/pc/blocks/talaris.blk -1992/11/07 | 133 | macros/text1/pc/blocks/titlepg.blk -1992/06/17 | 1536 | macros/text1/pc/fonts/dt.pk -1992/06/17 | 445 | macros/text1/pc/misc/cm108m.mth -1992/06/17 | 423 | macros/text1/pc/misc/cm109m.mth -1992/06/17 | 1293 | macros/text1/pc/misc/cm10.txt -1992/06/17 | 426 | macros/text1/pc/misc/cm1110m.mth -1992/06/17 | 529 | macros/text1/pc/misc/cm119m.mth -1992/06/17 | 3240 | macros/text1/pc/misc/cm11.txt -1992/06/17 | 436 | macros/text1/pc/misc/cm1210m.mth -1992/06/17 | 542 | macros/text1/pc/misc/cm1211m.mth -1992/06/17 | 2997 | macros/text1/pc/misc/cm12.txt -1992/06/17 | 552 | macros/text1/pc/misc/cm1412m.mth -1992/06/17 | 2997 | macros/text1/pc/misc/cm14.txt -1992/06/17 | 572 | macros/text1/pc/misc/cm1814m.mth -1992/06/17 | 2997 | macros/text1/pc/misc/cm18.txt -1992/06/17 | 582 | macros/text1/pc/misc/cm2418m.mth -1992/06/17 | 2997 | macros/text1/pc/misc/cm24.txt -1992/06/17 | 2997 | macros/text1/pc/misc/cm36.txt -1992/06/17 | 4131 | macros/text1/pc/misc/cm5.txt -1992/06/17 | 426 | macros/text1/pc/misc/cm65m.mth -1992/06/17 | 3969 | macros/text1/pc/misc/cm6.txt -1992/06/17 | 333 | macros/text1/pc/misc/cm75m.mth -1992/06/17 | 431 | macros/text1/pc/misc/cm76m.mth -1992/06/17 | 3645 | macros/text1/pc/misc/cm7.txt -1992/06/17 | 547 | macros/text1/pc/misc/cm86m.mth -1992/06/17 | 450 | macros/text1/pc/misc/cm87m.mth -1992/06/17 | 3240 | macros/text1/pc/misc/cm8.txt -1992/06/17 | 430 | macros/text1/pc/misc/cm97m.mth -1992/06/17 | 544 | macros/text1/pc/misc/cm98m.mth -1992/06/17 | 3240 | macros/text1/pc/misc/cm9.txt -1992/06/17 | 3726 | macros/text1/pc/misc/cmsan10.txt -1992/06/17 | 3726 | macros/text1/pc/misc/cmsan11.txt -1992/06/17 | 3726 | macros/text1/pc/misc/cmsan12.txt -1992/06/17 | 3726 | macros/text1/pc/misc/cmsan14.txt -1992/06/17 | 3726 | macros/text1/pc/misc/cmsan18.txt -1992/06/17 | 3726 | macros/text1/pc/misc/cmsan24.txt -1992/06/17 | 3726 | macros/text1/pc/misc/cmsan36.txt -1992/06/17 | 3969 | macros/text1/pc/misc/cmsan8.txt -1992/06/17 | 3726 | macros/text1/pc/misc/cmsan9.txt -1992/06/17 | 1847 | macros/text1/pc/models/letter.inp -1992/11/07 | 2386 | macros/text1/pc/models/letter.mdl -1992/06/17 | 1895 | macros/text1/pc/models/memo.inp -1992/11/07 | 931 | macros/text1/pc/models/memo.mdl -1992/06/17 | 2853 | macros/text1/pc/models/mergelet.mdl -1992/06/17 | 1377 | macros/text1/pc/models/mergelst.mdl -1992/06/17 | 7963 | macros/text1/pc/models/mergetxt.inp -1992/11/07 | 4027 | macros/text1/pc/models/mergetxt.mdl -1992/06/17 | 414 | macros/text1/pc/models/paper.inp -1992/11/07 | 1465 | macros/text1/pc/models/paper.mdl -1992/06/17 | 1782 | macros/text1/pc/models/resume.inp -1992/11/07 | 2953 | macros/text1/pc/models/resume.mdl -1992/06/17 | 5314 | macros/text1/pc/models/thesis.inp -1992/11/07 | 4912 | macros/text1/pc/models/thesis.mdl -1992/11/12 | 968 | macros/text1/pc/readme.tex -1992/06/17 | 657 | macros/text1/texix/plsort.pliopt -1992/06/17 | 243 | macros/text1/texix/texix.cmschan -1992/06/17 | 382 | macros/text1/texix/texix.cmsinfo -1992/06/17 | 307 | macros/text1/texix/texix.readme -1992/06/17 | 50914 | macros/text1/texix/texix.web -1992/06/17 | 66516 | macros/text1/texix/txt1v293.cmschan -1993/08/20 | 157 | macros/text1/vax_vms/compile_texix.com -1993/08/20 | 1536 | macros/text1/vax_vms/sortcall.pen -1993/08/20 | 11384 | macros/text1/vax_vms/texix.ch -1993/08/20 | 25600 | macros/text1/vax_vms/texix.exe -1994/11/15 | 548 | macros/text1/vax_vms/texix_vms.readme -1992/06/17 | 2111 | macros/text1/vax_vms/vmssort.pas -2005/11/04 | 1084902 | macros/text1.zip 2021/07/05 | 7046 | macros/unicodetex/generic/inputnormalization/inputnormalization.dtx 2021/07/05 | 88932 | macros/unicodetex/generic/inputnormalization/inputnormalization.pdf 2021/07/05 | 11332 | macros/unicodetex/generic/inputnormalization/plain.pdf @@ -261167,11 +260377,11 @@ 2021/09/28 | 2120 | macros/unicodetex/latex/uwa-pif/uwa-pif.ins 2021/09/28 | 50323 | macros/unicodetex/latex/uwa-pif/uwa-pif.pdf 2021/09/28 | 56777 | macros/unicodetex/latex/uwa-pif.zip -2024/01/01 | 3954 | macros/unicodetex/latex/xgreek/README -2024/01/01 | 36811 | macros/unicodetex/latex/xgreek/xgreek.dtx -2024/01/01 | 1607 | macros/unicodetex/latex/xgreek/xgreek.ins -2024/01/01 | 72958 | macros/unicodetex/latex/xgreek/xgreek.pdf -2024/01/01 | 84212 | macros/unicodetex/latex/xgreek.zip +2024/01/30 | 4117 | macros/unicodetex/latex/xgreek/README +2024/01/30 | 37064 | macros/unicodetex/latex/xgreek/xgreek.dtx +2024/01/30 | 1607 | macros/unicodetex/latex/xgreek/xgreek.ins +2024/01/30 | 73014 | macros/unicodetex/latex/xgreek/xgreek.pdf +2024/01/30 | 84379 | macros/unicodetex/latex/xgreek.zip 2018/12/31 | 1817 | macros/unicodetex/latex/xltxtra/README.md 2018/12/31 | 16823 | macros/unicodetex/latex/xltxtra/xltxtra.dtx 2018/12/31 | 935 | macros/unicodetex/latex/xltxtra/xltxtra.ins @@ -262373,59 +261583,6 @@ 2008/06/20 | 2631 | macros/xetex/plain/xetexfontinfo/opentype-info.tex 2008/06/20 | 505 | macros/xetex/plain/xetexfontinfo/README 2008/06/20 | 3084 | macros/xetex/plain/xetexfontinfo.zip -2000/01/16 | 194 | macros/xmltex/base/englishutf16.xml -2000/01/16 | 96 | macros/xmltex/base/englishutf8.xml -2000/01/16 | 490 | macros/xmltex/base/iso-8859-1.xmt -2001/03/29 | 2688 | macros/xmltex/base/iso-8859-2.xmt -2000/01/16 | 3633 | macros/xmltex/base/koi8-r.xmt -2000/01/16 | 48 | macros/xmltex/base/langtest.tex -2000/01/18 | 374 | macros/xmltex/base/langtest.xml -2000/01/18 | 624 | macros/xmltex/base/langtest.xmt -2000/02/02 | 33485 | macros/xmltex/base/manual.html -2000/01/16 | 41 | macros/xmltex/base/manual.tex -2000/02/02 | 34801 | macros/xmltex/base/manual.xml -2000/01/18 | 1232 | macros/xmltex/base/manual.xsl -2002/06/25 | 3172 | macros/xmltex/base/mathml2.xmt -2000/01/16 | 152 | macros/xmltex/base/portugeselatin1.xml -2000/01/18 | 3878 | macros/xmltex/base/readme.txt -2000/01/18 | 145 | macros/xmltex/base/russiankoi8.xml -2000/01/18 | 177 | macros/xmltex/base/russianutf8.xml -2000/01/18 | 584 | macros/xmltex/base/sec.xmt -2000/01/18 | 2563 | macros/xmltex/base/tei.xmt -2000/01/18 | 3311 | macros/xmltex/base/testascii.cfg -2000/01/16 | 44 | macros/xmltex/base/testascii.tex -2000/01/18 | 790 | macros/xmltex/base/testascii.xml -2000/01/16 | 47 | macros/xmltex/base/testsec.tex -2000/01/18 | 1363 | macros/xmltex/base/testsec.xml -2000/01/18 | 65 | macros/xmltex/base/utf-16.xmt -2001/03/29 | 3443 | macros/xmltex/base/windows-1250.xmt -2002/06/25 | 7522 | macros/xmltex/base/xmltex.cfg -2002/06/25 | 56512 | macros/xmltex/base/xmltex.tex -2014/12/05 | 51589 | macros/xmltex/base.zip -2002/06/25 | 5924 | macros/xmltex/contrib/passivetex/dummyels.sty -2002/06/27 | 50540 | macros/xmltex/contrib/passivetex/fotex.sty -2002/06/25 | 57457 | macros/xmltex/contrib/passivetex/fotex.xmt -2002/06/25 | 13693 | macros/xmltex/contrib/passivetex/mlnames.sty -2002/06/25 | 6141 | macros/xmltex/contrib/passivetex/teiprintslides.xmt -2002/06/25 | 5413 | macros/xmltex/contrib/passivetex/teislides.xmt -2002/06/25 | 2250 | macros/xmltex/contrib/passivetex/teixmlslides.sty -2002/06/25 | 1100 | macros/xmltex/contrib/passivetex/teixml.sty -2002/06/25 | 4041 | macros/xmltex/contrib/passivetex/tei.xmt -2002/06/25 | 130591 | macros/xmltex/contrib/passivetex/ucharacters.sty -2002/06/25 | 23178 | macros/xmltex/contrib/passivetex/unicode.sty -2005/11/03 | 66007 | macros/xmltex/contrib/passivetex.zip -1991/12/02 | 28427 | macros/ytex/ybase.mac -1991/12/02 | 4289 | macros/ytex/yfonts.mac -1991/12/02 | 12728 | macros/ytex/ylog.mac -1991/12/02 | 323 | macros/ytex/ysite.mac -1991/12/02 | 85 | macros/ytex/ytex-cm.tex -1991/12/02 | 7371 | macros/ytex/ytex.ieee -1991/12/02 | 2009 | macros/ytex/ytex.mac -1991/12/02 | 2561 | macros/ytex/ytex.mail -1991/12/02 | 2114 | macros/ytex/yusage.lst -1991/12/02 | 68034 | macros/ytex/yusage.tex -1991/12/02 | 34679 | macros/ytex/yuser.mac -2005/10/21 | 50547 | macros/ytex.zip 1996/08/18 | 43881 | obsolete/biblio/bibtex/8-bit/bt371csf.zip 1996/08/18 | 92801 | obsolete/biblio/bibtex/8-bit/bt371dos.zip 1996/08/18 | 92780 | obsolete/biblio/bibtex/8-bit/bt371os2.zip @@ -277982,6 +277139,26 @@ 2012/02/13 | 1266 | obsolete/language/thai/thailatex/scripts/tlatex 2012/02/13 | 132 | obsolete/language/thai/thailatex/TODO 2013/02/08 | 275603 | obsolete/language/thai/thailatex.zip +1996/01/21 | 2985 | obsolete/macros/alatex/alatex-1.0/0areadme.txt +1996/01/21 | 468 | obsolete/macros/alatex/alatex-1.0/abugs.txt +1996/01/24 | 3028 | obsolete/macros/alatex/alatex-1.0/ainstall.txt +1996/01/24 | 21860 | obsolete/macros/alatex/alatex-1.0/alatex.dtx +1996/01/24 | 835 | obsolete/macros/alatex/alatex-1.0/alatex.tex +1996/01/24 | 1287 | obsolete/macros/alatex/alatex-1.0/amanifst.txt +1996/01/24 | 5017 | obsolete/macros/alatex/alatex-1.0/aunpack.ins +1996/01/24 | 113 | obsolete/macros/alatex/alatex-1.0/aunpcked.txt +1995/11/27 | 17976 | obsolete/macros/alatex/alatex-1.0/COPYING +1996/01/24 | 3452 | obsolete/macros/alatex/alatex-1.0/Makefile +1996/01/24 | 0 | obsolete/macros/alatex/alatex-1.0/VERSION-1.0 +2012/09/23 | 24234 | obsolete/macros/alatex/alatex-1.0.zip +1996/06/18 | 4543 | obsolete/macros/blu/address.dat +1996/06/18 | 118177 | obsolete/macros/blu/blue.tex +1996/06/18 | 37214 | obsolete/macros/blu/fmt.dat +1996/06/18 | 67325 | obsolete/macros/blu/lit.dat +1996/06/18 | 37333 | obsolete/macros/blu/pic.dat +1996/06/27 | 5614 | obsolete/macros/blu/readme.fst +1996/06/18 | 57497 | obsolete/macros/blu/tools.dat +2005/10/14 | 104464 | obsolete/macros/blu.zip 2008/02/08 | 115510 | obsolete/macros/context/contrib/context-account/doc/context/third/account/account-doc.pdf 2009/02/06 | 463 | obsolete/macros/context/contrib/context-account/doc/context/third/account/README 2007/10/05 | 4268 | obsolete/macros/context/contrib/context-account/tex/context/interface/third/t-account.xml @@ -278262,6 +277439,11 @@ 2006/12/22 | 1764 | obsolete/macros/context/contrib/context-urwgothic/tex/context/third/urwgothic/type-urwgothic.tex 2018/03/05 | 11 | obsolete/macros/context/contrib/context-urwgothic/VERSION 2023/06/19 | 141955 | obsolete/macros/context/contrib/context-urwgothic.zip +1999/08/01 | 35 | obsolete/macros/fotex/fotex.ini +1999/12/21 | 26327 | obsolete/macros/fotex/fotex.ltx +1999/12/09 | 3275 | obsolete/macros/fotex/mathml.ltx +1999/12/21 | 35 | obsolete/macros/fotex/pdffotex.ini +2005/11/03 | 8878 | obsolete/macros/fotex.zip 2002/12/17 | 13381 | obsolete/macros/generic/diagrams/barr/diagdoc.tex 2002/12/17 | 36904 | obsolete/macros/generic/diagrams/barr/diagram.tex 1993/01/18 | 9453 | obsolete/macros/generic/proofs/taylor/boxproof-old.tex @@ -278277,6 +277459,145 @@ 1992/08/27 | 35893 | obsolete/macros/hptex/hptex.doc 1992/08/27 | 36211 | obsolete/macros/hptex/hptex.tex 1992/08/27 | 42988 | obsolete/macros/hptex/macroshc.tex +1991/09/06 | 1800 | obsolete/macros/inrstex/inrsdoc/boxex.tex +1991/09/06 | 6859 | obsolete/macros/inrstex/inrsdoc/genins.tex +1991/09/06 | 10538 | obsolete/macros/inrstex/inrsdoc/helphdr.tex +1991/09/06 | 54998 | obsolete/macros/inrstex/inrsdoc/ieeelogo.ps +1991/09/06 | 1480 | obsolete/macros/inrstex/inrsdoc/index.tex +1991/09/06 | 50884 | obsolete/macros/inrstex/inrsdoc/indsort +1991/09/06 | 3403 | obsolete/macros/inrstex/inrsdoc/indsort.c +1991/09/06 | 10013 | obsolete/macros/inrstex/inrsdoc/indsort.exe +1991/09/06 | 1464 | obsolete/macros/inrstex/inrsdoc/inrslogo.tex +1991/09/06 | 5721 | obsolete/macros/inrstex/inrsdoc/inrssl.tex +1991/09/06 | 427 | obsolete/macros/inrstex/inrsdoc/inrsunix.sh +1991/09/11 | 524 | obsolete/macros/inrstex/inrsdoc/masth_chap +1991/09/11 | 123 | obsolete/macros/inrstex/inrsdoc/masth.ctg +1991/09/11 | 25686 | obsolete/macros/inrstex/inrsdoc/masth.ind +1991/09/06 | 26549 | obsolete/macros/inrstex/inrsdoc/masth.sor +1991/09/11 | 871 | obsolete/macros/inrstex/inrsdoc/masth.sta +1991/09/06 | 1972 | obsolete/macros/inrstex/inrsdoc/masth.tex +1991/09/06 | 355 | obsolete/macros/inrstex/inrsdoc/mastoc.tex +1991/09/11 | 708 | obsolete/macros/inrstex/inrsdoc/mastps +1991/09/06 | 322 | obsolete/macros/inrstex/inrsdoc/mjf.tex +1991/09/06 | 5020 | obsolete/macros/inrstex/inrsdoc/pagdiag.tex +1991/09/06 | 205 | obsolete/macros/inrstex/inrsdoc/psalm23.tex +1991/09/06 | 9394 | obsolete/macros/inrstex/inrsdoc/secthead.tex +1991/09/06 | 1055 | obsolete/macros/inrstex/inrsdoc/status.tex +1991/09/06 | 37967 | obsolete/macros/inrstex/inrsdoc/thalign.tex +1991/09/06 | 15396 | obsolete/macros/inrstex/inrsdoc/thauto.tex +1991/09/06 | 13053 | obsolete/macros/inrstex/inrsdoc/thbasbox.tex +1991/09/06 | 10869 | obsolete/macros/inrstex/inrsdoc/thbas.tex +1991/09/06 | 3259 | obsolete/macros/inrstex/inrsdoc/thbreak.tex +1991/09/06 | 10015 | obsolete/macros/inrstex/inrsdoc/thcite.tex +1991/09/06 | 10098 | obsolete/macros/inrstex/inrsdoc/thcont.tex +1991/09/06 | 1563 | obsolete/macros/inrstex/inrsdoc/thcover.tex +1991/09/06 | 6970 | obsolete/macros/inrstex/inrsdoc/thdefs.tex +1991/09/06 | 5943 | obsolete/macros/inrstex/inrsdoc/thdimnum.tex +1991/09/06 | 2577 | obsolete/macros/inrstex/inrsdoc/thdocsty.tex +1991/09/06 | 15648 | obsolete/macros/inrstex/inrsdoc/thfigtbl.tex +1991/09/06 | 7302 | obsolete/macros/inrstex/inrsdoc/thfonts.tex +1991/09/06 | 3848 | obsolete/macros/inrstex/inrsdoc/thftnote.tex +1991/09/06 | 4032 | obsolete/macros/inrstex/inrsdoc/thglue.tex +1991/09/06 | 43112 | obsolete/macros/inrstex/inrsdoc/thgraph.tex +1991/09/06 | 931 | obsolete/macros/inrstex/inrsdoc/thindex.tex +1991/09/06 | 10182 | obsolete/macros/inrstex/inrsdoc/thlists.tex +1991/09/06 | 15593 | obsolete/macros/inrstex/inrsdoc/thmateq.tex +1991/09/06 | 17649 | obsolete/macros/inrstex/inrsdoc/thmatsym.tex +1991/09/06 | 4273 | obsolete/macros/inrstex/inrsdoc/thmulcol.tex +1991/09/06 | 3310 | obsolete/macros/inrstex/inrsdoc/thover.tex +1991/09/06 | 19797 | obsolete/macros/inrstex/inrsdoc/thp2.tex +1991/09/06 | 6764 | obsolete/macros/inrstex/inrsdoc/thpagsiz.tex +1991/09/06 | 7633 | obsolete/macros/inrstex/inrsdoc/thpagsty.tex +1991/09/06 | 12711 | obsolete/macros/inrstex/inrsdoc/thparcon.tex +1991/09/06 | 11250 | obsolete/macros/inrstex/inrsdoc/thshead.tex +1991/09/06 | 6812 | obsolete/macros/inrstex/inrsdoc/thspac.tex +1991/09/06 | 15928 | obsolete/macros/inrstex/inrsdoc/thstart.tex +1991/09/06 | 6765 | obsolete/macros/inrstex/inrsdoc/thsubdoc.tex +1991/09/06 | 10573 | obsolete/macros/inrstex/inrsdoc/thtoc.tex +1991/09/06 | 819 | obsolete/macros/inrstex/inrsinputs/bilingue.tex +1991/09/06 | 1862 | obsolete/macros/inrstex/inrsinputs/booksty.tex +1991/09/06 | 514 | obsolete/macros/inrstex/inrsinputs/centerh.tex +1991/09/06 | 2380 | obsolete/macros/inrstex/inrsinputs/cm_11.tex +1991/09/06 | 9287 | obsolete/macros/inrstex/inrsinputs/dvialw.ps +1991/09/06 | 4059 | obsolete/macros/inrstex/inrsinputs/enfrtwo.tex +1991/09/06 | 612 | obsolete/macros/inrstex/inrsinputs/english.tex +1991/09/06 | 606 | obsolete/macros/inrstex/inrsinputs/francais.tex +1991/09/06 | 10535 | obsolete/macros/inrstex/inrsinputs/helphdr.tex +1991/09/06 | 54998 | obsolete/macros/inrstex/inrsinputs/ieeelogo.ps +1991/09/06 | 37077 | obsolete/macros/inrstex/inrsinputs/inrsinpu.zip +1991/09/06 | 1463 | obsolete/macros/inrstex/inrsinputs/inrslogo.tex +1991/09/06 | 5714 | obsolete/macros/inrstex/inrsinputs/inrssl.tex +1991/09/06 | 1451 | obsolete/macros/inrstex/inrsinputs/inrssty.tex +1991/09/06 | 301 | obsolete/macros/inrstex/inrsinputs/inrstemp.tex +1991/09/06 | 114 | obsolete/macros/inrstex/inrsinputs/oldspace.tex +1991/09/06 | 686 | obsolete/macros/inrstex/inrsinputs/papersty.tex +1991/09/06 | 3301 | obsolete/macros/inrstex/inrsinputs/spfont.tex +1991/09/17 | 33043 | obsolete/macros/inrstex/inrsinputs/texgraph.tex +1991/09/06 | 511 | obsolete/macros/inrstex/inrsinputs/UQlogo.epsf +1991/09/06 | 1337 | obsolete/macros/inrstex/inrsinputs/verbatim.tex +1991/09/09 | 1100 | obsolete/macros/inrstex/inrstex/abstract.tex +1991/09/09 | 1114 | obsolete/macros/inrstex/inrstex/appendix.tex +1991/09/09 | 3626 | obsolete/macros/inrstex/inrstex/auto.tex +1991/09/09 | 7374 | obsolete/macros/inrstex/inrstex/cite.tex +1991/09/09 | 365 | obsolete/macros/inrstex/inrstex/compat3.tex +1991/09/09 | 1769 | obsolete/macros/inrstex/inrstex/compatib.tex +1991/09/09 | 612 | obsolete/macros/inrstex/inrstex/english.tex +1991/09/09 | 324 | obsolete/macros/inrstex/inrstex/enhyphex.tex +1991/09/09 | 27495 | obsolete/macros/inrstex/inrstex/enhyph.tex +1991/09/09 | 1783 | obsolete/macros/inrstex/inrstex/eqtag.tex +1991/09/09 | 5349 | obsolete/macros/inrstex/inrstex/extdef3.tex +1991/09/09 | 6614 | obsolete/macros/inrstex/inrstex/extdef.tex +1991/09/09 | 976 | obsolete/macros/inrstex/inrstex/footnote.tex +1991/09/09 | 6850 | obsolete/macros/inrstex/inrstex/frhyph.tex +1991/09/09 | 7428 | obsolete/macros/inrstex/inrstex/genins.tex +1991/09/17 | 1144 | obsolete/macros/inrstex/inrstex/graph_ps.tex +1991/09/09 | 27666 | obsolete/macros/inrstex/inrstex/hyphen.tex +1991/09/09 | 7766 | obsolete/macros/inrstex/inrstex/inrsdef.tex +1991/09/11 | 12113 | obsolete/macros/inrstex/inrstex/inrsfncm.tex +1991/09/06 | 369 | obsolete/macros/inrstex/inrstex/inrs.scr +1991/09/09 | 16944 | obsolete/macros/inrstex/inrstex/inrstex.tex +1991/09/06 | 427 | obsolete/macros/inrstex/inrstex/inrsunix.sh +1991/09/09 | 5836 | obsolete/macros/inrstex/inrstex/inrsutil.tex +1991/09/09 | 1363 | obsolete/macros/inrstex/inrstex/linespac.tex +1991/09/09 | 5717 | obsolete/macros/inrstex/inrstex/lists.tex +1991/09/09 | 1250 | obsolete/macros/inrstex/inrstex/margform.tex +1991/09/09 | 1375 | obsolete/macros/inrstex/inrstex/masthyph.tex +1991/09/09 | 2711 | obsolete/macros/inrstex/inrstex/multicol.tex +1991/09/09 | 1047 | obsolete/macros/inrstex/inrstex/multlang.tex +1991/09/09 | 7273 | obsolete/macros/inrstex/inrstex/out_ps.tex +1991/09/09 | 6952 | obsolete/macros/inrstex/inrstex/pagsty.tex +1991/09/09 | 686 | obsolete/macros/inrstex/inrstex/papersty.tex +1991/09/09 | 293 | obsolete/macros/inrstex/inrstex/plainmod.tex +1991/09/09 | 43406 | obsolete/macros/inrstex/inrstex/plain_nh.tex +1991/09/09 | 3618 | obsolete/macros/inrstex/inrstex/plaipars.tex +1991/09/09 | 1252 | obsolete/macros/inrstex/inrstex/prelhead.tex +1991/09/09 | 9745 | obsolete/macros/inrstex/inrstex/secthead.tex +1991/09/09 | 1712 | obsolete/macros/inrstex/inrstex/specform.tex +1991/09/09 | 1844 | obsolete/macros/inrstex/inrstex/subdoc.tex +1991/09/09 | 4833 | obsolete/macros/inrstex/inrstex/tables.tex +1991/09/09 | 3283 | obsolete/macros/inrstex/inrstex/tag.tex +1991/09/09 | 4424 | obsolete/macros/inrstex/inrstex/tocform.tex +1991/09/09 | 1515 | obsolete/macros/inrstex/inrstex/writdos.tex +1991/09/09 | 2739 | obsolete/macros/inrstex/inrstex/writfile.tex +1991/09/09 | 1568 | obsolete/macros/inrstex/inrstex/writunix.tex +1992/08/27 | 2240 | obsolete/macros/inrstex/pc/batch.zip +1992/08/27 | 256932 | obsolete/macros/inrstex/pc/doc_dvi.zip +1992/08/27 | 187720 | obsolete/macros/inrstex/pc/doc_tex.zip +1992/08/27 | 33913 | obsolete/macros/inrstex/pc/inrsinpu.zip +1992/08/27 | 110879 | obsolete/macros/inrstex/pc/inrstex.zip +1992/08/27 | 10203 | obsolete/macros/inrstex/pc/readme.txt +1992/08/27 | 184639 | obsolete/macros/inrstex/pc/texgraph.zip +1991/09/06 | 54997 | obsolete/macros/inrstex/texgraph/ieeelogo.ps +1991/09/06 | 1463 | obsolete/macros/inrstex/texgraph/inrslogo.tex +1991/09/06 | 5714 | obsolete/macros/inrstex/texgraph/inrssl.tex +1991/09/06 | 1047 | obsolete/macros/inrstex/texgraph/readme +1991/09/06 | 3301 | obsolete/macros/inrstex/texgraph/spfont.tex +1991/09/06 | 2584 | obsolete/macros/inrstex/texgraph/testinrs.tex +1991/09/09 | 8 | obsolete/macros/inrstex/texgraph/test_lat.aux +1991/09/06 | 1351 | obsolete/macros/inrstex/texgraph/test_lat.tex +1991/09/06 | 33023 | obsolete/macros/inrstex/texgraph/texgraph.sty +1991/09/17 | 33043 | obsolete/macros/inrstex/texgraph/texgraph.tex +1991/09/06 | 352326 | obsolete/macros/inrstex/texgraph/thgraph.ps 1990/08/29 | 12844 | obsolete/macros/latex209/contrib/aaai/aaai-doc.tex 1989/12/21 | 5731 | obsolete/macros/latex209/contrib/aaai/aaai.sty 2005/11/22 | 7632 | obsolete/macros/latex209/contrib/aaai.zip @@ -279273,6 +278594,56 @@ 1993/02/12 | 40574 | obsolete/macros/mathematica/tex-mma-j.ps.gz 1993/02/12 | 402295 | obsolete/macros/mathematica/tex-mma.tar.gz 1993/02/12 | 418881 | obsolete/macros/mathematica/tex-mma.tar_z +1991/04/28 | 9028 | obsolete/macros/mtex/documentation/mdoc10.tex +1991/04/28 | 11813 | obsolete/macros/mtex/documentation/mdoc11.tex +1991/04/28 | 3930 | obsolete/macros/mtex/documentation/mdoc12.tex +1991/04/28 | 2890 | obsolete/macros/mtex/documentation/mdoc13.tex +1991/04/28 | 39896 | obsolete/macros/mtex/documentation/mdoc1.tex +1991/04/28 | 50098 | obsolete/macros/mtex/documentation/mdoc2.tex +1991/04/28 | 33011 | obsolete/macros/mtex/documentation/mdoc3.tex +1991/04/28 | 10872 | obsolete/macros/mtex/documentation/mdoc4.tex +1991/04/28 | 45820 | obsolete/macros/mtex/documentation/mdoc5.tex +1991/04/28 | 23171 | obsolete/macros/mtex/documentation/mdoc6.tex +1991/04/28 | 16798 | obsolete/macros/mtex/documentation/mdoc7.tex +1991/04/28 | 21802 | obsolete/macros/mtex/documentation/mdoc8.tex +1991/04/28 | 45322 | obsolete/macros/mtex/documentation/mdoc9.tex +1991/04/28 | 3111 | obsolete/macros/mtex/documentation/mdocabst.tex +1991/04/28 | 9587 | obsolete/macros/mtex/documentation/mdocams.tex +1991/04/28 | 26466 | obsolete/macros/mtex/documentation/mdocanha.tex +1991/04/28 | 1403 | obsolete/macros/mtex/documentation/mdocanhb.tex +1991/04/28 | 8846 | obsolete/macros/mtex/documentation/mdocanhc.tex +1991/04/28 | 8775 | obsolete/macros/mtex/documentation/mdocanhd.tex +1991/04/28 | 2111 | obsolete/macros/mtex/documentation/mdocdef2.tex +1991/04/28 | 8234 | obsolete/macros/mtex/documentation/mdocdef.tex +1991/04/28 | 9834 | obsolete/macros/mtex/documentation/mdoceinl.tex +1991/04/28 | 3399 | obsolete/macros/mtex/documentation/mdocinh.tex +1991/04/28 | 668 | obsolete/macros/mtex/documentation/mdocpic1.tex +1991/04/28 | 1290 | obsolete/macros/mtex/documentation/mdocpic2.tex +1991/04/28 | 1314 | obsolete/macros/mtex/documentation/mdocpic3.tex +1991/04/28 | 394 | obsolete/macros/mtex/documentation/mdocpic4.tex +1991/04/28 | 992 | obsolete/macros/mtex/documentation/mdoc.tex +1991/04/28 | 308 | obsolete/macros/mtex/documentation/mdoctit.tex +1991/04/28 | 39560 | obsolete/macros/mtex/documentation/mdoctrns.tex +1991/04/28 | 1194 | obsolete/macros/mtex/documentation/mdocverb.tex +1991/04/28 | 9651 | obsolete/macros/mtex/documentation/webmac.tex +1991/04/28 | 11352 | obsolete/macros/mtex/macros/mtexdemo.tex +1991/04/28 | 19286 | obsolete/macros/mtex/macros/mtexinfo.tex +1991/04/28 | 86124 | obsolete/macros/mtex/macros/mtex.tex +1991/04/28 | 4312 | obsolete/macros/mtex/metafont/acc16.mf +1991/04/28 | 1704 | obsolete/macros/mtex/metafont/beam16.mf +1991/04/28 | 204 | obsolete/macros/mtex/metafont/music16.mf +1991/04/28 | 1731 | obsolete/macros/mtex/metafont/musicdef.mf +1991/04/28 | 9784 | obsolete/macros/mtex/metafont/noten16.mf +1991/04/28 | 5717 | obsolete/macros/mtex/metafont/pause16.mf +1991/04/28 | 6333 | obsolete/macros/mtex/metafont/slur16.mf +1991/04/28 | 1283 | obsolete/macros/mtex/metafont/slurdd16.mf +1991/04/28 | 1283 | obsolete/macros/mtex/metafont/slurdu16.mf +1991/04/28 | 1279 | obsolete/macros/mtex/metafont/slurud16.mf +1991/04/28 | 1181 | obsolete/macros/mtex/metafont/sluruu16.mf +1991/04/28 | 2808 | obsolete/macros/mtex/metafont/sonder16.mf +1991/04/28 | 4277 | obsolete/macros/mtex/metafont/vio16.mf +1991/05/03 | 1683 | obsolete/macros/mtex/README +2006/03/23 | 197778 | obsolete/macros/mtex.zip 2001/08/20 | 3551 | obsolete/macros/musictex/add-ons/harmonics.tex 2001/08/20 | 50868 | obsolete/macros/musictex/diff-files/musicexa.499-502.zip 2001/08/20 | 28785 | obsolete/macros/musictex/diff-files/musicexa.502-504.zip @@ -279321,6 +278692,17 @@ 1995/12/11 | 16514 | obsolete/macros/musixtex/egler/systems/emx_051.zip 1995/12/12 | 763 | obsolete/macros/musixtex/egler/systems/README.emx 1995/12/08 | 22553 | obsolete/macros/musixtex/egler/systems/win051.zip +1992/08/27 | 111203 | obsolete/macros/physe/physe.doc +1992/08/27 | 71123 | obsolete/macros/physe/physe.tex +1992/08/27 | 3024 | obsolete/macros/physe/physupdt.tex +2006/03/19 | 55715 | obsolete/macros/physe.zip +1992/08/27 | 9895 | obsolete/macros/phyzzx/myphyx.tex +1992/08/27 | 136634 | obsolete/macros/phyzzx/phyzdoc.tex +1992/08/27 | 3965 | obsolete/macros/phyzzx/phyzzx.fonts +1992/08/27 | 3649 | obsolete/macros/phyzzx/phyzzx.local +1994/09/14 | 41523 | obsolete/macros/phyzzx/phyzzx.plus +1992/08/27 | 35598 | obsolete/macros/phyzzx/phyzzx.tex +2006/03/19 | 70583 | obsolete/macros/phyzzx.zip 2007/09/04 | 7104 | obsolete/macros/plain/contrib/fontch20/bsymbols.tex 2007/09/04 | 226 | obsolete/macros/plain/contrib/fontch20/DSmac.tex 2007/09/04 | 40640 | obsolete/macros/plain/contrib/fontch20/fontch.tex @@ -279332,11 +278714,629 @@ 1995/01/04 | 809 | obsolete/macros/plain/contrib/siam/READ.ME 1995/01/04 | 10609 | obsolete/macros/plain/contrib/siam/siamptex.sty 2001/10/07 | 763304 | obsolete/macros/plain/contrib/springer.tar.gz +2002/03/11 | 11683 | obsolete/macros/scripttex/scrnplay.tex +1992/09/24 | 1063 | obsolete/macros/scripttex/scrnwrit.bib +2002/03/11 | 6660 | obsolete/macros/scripttex/stagplay.tex +1992/09/24 | 3960 | obsolete/macros/scripttex/stdemo.tex +2009/05/28 | 167079 | obsolete/macros/scripttex/stdoc.pdf +2002/03/10 | 52116 | obsolete/macros/scripttex/stdoc.tex +2009/05/28 | 169843 | obsolete/macros/scripttex.zip +2005/08/31 | 262102 | obsolete/macros/texmuse/Doc/pdf/mainloop.pdf +2005/08/31 | 69660 | obsolete/macros/texmuse/Doc/pdf/running.pdf +2005/08/31 | 71016 | obsolete/macros/texmuse/Doc/pdf/wants.pdf +2005/08/31 | 832 | obsolete/macros/texmuse/Doc/tex/mainloop1.mf +2005/08/31 | 1244 | obsolete/macros/texmuse/Doc/tex/mainloop2.mf +2005/08/31 | 1347 | obsolete/macros/texmuse/Doc/tex/mainloop3.mf +2005/08/31 | 616 | obsolete/macros/texmuse/Doc/tex/mainloop4.mf +2005/08/31 | 737 | obsolete/macros/texmuse/Doc/tex/mainloop5.mf +2005/08/31 | 13055 | obsolete/macros/texmuse/Doc/tex/mainloop6.mf +2005/08/31 | 52456 | obsolete/macros/texmuse/Doc/tex/mainloop.dvi +2005/08/31 | 41454 | obsolete/macros/texmuse/Doc/tex/mainloop.tex +2005/08/29 | 7400 | obsolete/macros/texmuse/Doc/tex/running.dvi +2005/08/31 | 5962 | obsolete/macros/texmuse/Doc/tex/running.tex +2005/08/31 | 6556 | obsolete/macros/texmuse/Doc/tex/wants.dvi +2005/08/31 | 4481 | obsolete/macros/texmuse/Doc/tex/wants.tex +2005/08/29 | 39049 | obsolete/macros/texmuse/Program/texmuse.mf +2005/08/31 | 27032 | obsolete/macros/texmuse/Program/texmuse.tex +2005/08/09 | 17480 | obsolete/macros/texmuse/Program/txmfont.mf +2005/08/31 | 1539 | obsolete/macros/texmuse/README +2005/08/31 | 279113 | obsolete/macros/texmuse/Samples/pdf/aminor.pdf +2005/08/31 | 268906 | obsolete/macros/texmuse/Samples/pdf/bbmajor.pdf +2005/08/31 | 233004 | obsolete/macros/texmuse/Samples/pdf/cmajor.pdf +2005/08/31 | 290157 | obsolete/macros/texmuse/Samples/pdf/cminor.pdf +2005/08/31 | 253817 | obsolete/macros/texmuse/Samples/pdf/dmajor.pdf +2005/08/31 | 235902 | obsolete/macros/texmuse/Samples/pdf/dminor.pdf +2005/08/31 | 329647 | obsolete/macros/texmuse/Samples/pdf/ebmajor.pdf +2005/08/31 | 259032 | obsolete/macros/texmuse/Samples/pdf/fmajor.pdf +2005/08/31 | 17978 | obsolete/macros/texmuse/Samples/tex/aminor1.mf +2005/08/31 | 19260 | obsolete/macros/texmuse/Samples/tex/aminor2.mf +2005/08/31 | 9139 | obsolete/macros/texmuse/Samples/tex/aminor3.mf +2005/08/31 | 4244 | obsolete/macros/texmuse/Samples/tex/aminor.dvi +2005/08/26 | 2129 | obsolete/macros/texmuse/Samples/tex/aminor.tex +2005/08/31 | 12705 | obsolete/macros/texmuse/Samples/tex/bbmajor1.mf +2005/08/31 | 12863 | obsolete/macros/texmuse/Samples/tex/bbmajor2.mf +2005/08/31 | 14459 | obsolete/macros/texmuse/Samples/tex/bbmajor3.mf +2005/08/31 | 5925 | obsolete/macros/texmuse/Samples/tex/bbmajor4.mf +2005/08/31 | 4392 | obsolete/macros/texmuse/Samples/tex/bbmajor.dvi +2005/08/31 | 2165 | obsolete/macros/texmuse/Samples/tex/bbmajor.tex +2005/08/30 | 17479 | obsolete/macros/texmuse/Samples/tex/cmajor1.mf +2005/08/30 | 17442 | obsolete/macros/texmuse/Samples/tex/cmajor2.mf +2005/08/30 | 2648 | obsolete/macros/texmuse/Samples/tex/cmajor3.mf +2005/08/30 | 3792 | obsolete/macros/texmuse/Samples/tex/cmajor.dvi +2005/08/27 | 1918 | obsolete/macros/texmuse/Samples/tex/cmajor.tex +2005/08/27 | 14471 | obsolete/macros/texmuse/Samples/tex/cminor1.mf +2005/08/27 | 16123 | obsolete/macros/texmuse/Samples/tex/cminor2.mf +2005/08/27 | 16702 | obsolete/macros/texmuse/Samples/tex/cminor3.mf +2005/08/27 | 4411 | obsolete/macros/texmuse/Samples/tex/cminor4.mf +2005/08/27 | 4412 | obsolete/macros/texmuse/Samples/tex/cminor.dvi +2005/08/27 | 2264 | obsolete/macros/texmuse/Samples/tex/cminor.tex +2005/08/31 | 18549 | obsolete/macros/texmuse/Samples/tex/dmajor1.mf +2005/08/31 | 17944 | obsolete/macros/texmuse/Samples/tex/dmajor2.mf +2005/08/31 | 8043 | obsolete/macros/texmuse/Samples/tex/dmajor3.mf +2005/08/27 | 517 | obsolete/macros/texmuse/Samples/tex/dmajor4.mf +2005/08/31 | 4252 | obsolete/macros/texmuse/Samples/tex/dmajor.dvi +2005/08/31 | 2101 | obsolete/macros/texmuse/Samples/tex/dmajor.tex +2005/08/31 | 18211 | obsolete/macros/texmuse/Samples/tex/dminor1.mf +2005/08/31 | 18639 | obsolete/macros/texmuse/Samples/tex/dminor2.mf +2005/08/31 | 3219 | obsolete/macros/texmuse/Samples/tex/dminor3.mf +2005/08/31 | 3704 | obsolete/macros/texmuse/Samples/tex/dminor.dvi +2005/08/26 | 2015 | obsolete/macros/texmuse/Samples/tex/dminor.tex +2005/08/26 | 14389 | obsolete/macros/texmuse/Samples/tex/ebmajor1.mf +2005/08/26 | 14672 | obsolete/macros/texmuse/Samples/tex/ebmajor2.mf +2005/08/26 | 14718 | obsolete/macros/texmuse/Samples/tex/ebmajor3.mf +2005/08/26 | 13637 | obsolete/macros/texmuse/Samples/tex/ebmajor4.mf +2005/08/26 | 2964 | obsolete/macros/texmuse/Samples/tex/ebmajor5.mf +2005/08/26 | 5236 | obsolete/macros/texmuse/Samples/tex/ebmajor.dvi +2005/08/26 | 2422 | obsolete/macros/texmuse/Samples/tex/ebmajor.tex +2005/08/26 | 19816 | obsolete/macros/texmuse/Samples/tex/fmajor1.mf +2005/08/26 | 19786 | obsolete/macros/texmuse/Samples/tex/fmajor2.mf +2005/08/26 | 6514 | obsolete/macros/texmuse/Samples/tex/fmajor3.mf +2005/08/26 | 4172 | obsolete/macros/texmuse/Samples/tex/fmajor.dvi +2005/08/26 | 2278 | obsolete/macros/texmuse/Samples/tex/fmajor.tex +2005/09/01 | 2005244 | obsolete/macros/texmuse.zip +1992/06/17 | 590 | obsolete/macros/text1/blocks/appendix.texblock +1992/06/17 | 167 | obsolete/macros/text1/blocks/asism.texblock +1992/06/17 | 162 | obsolete/macros/text1/blocks/asisp.texblock +1992/06/17 | 371 | obsolete/macros/text1/blocks/bibliog.texblock +1992/06/17 | 323 | obsolete/macros/text1/blocks/bquotem.texblock +1992/06/17 | 311 | obsolete/macros/text1/blocks/bquotep.texblock +1992/06/17 | 475 | obsolete/macros/text1/blocks/chapter.texblock +1992/06/17 | 1562 | obsolete/macros/text1/blocks/contents.texblock +1992/06/17 | 452 | obsolete/macros/text1/blocks/enotem.texblock +1992/06/17 | 487 | obsolete/macros/text1/blocks/enotep.texblock +1992/06/17 | 648 | obsolete/macros/text1/blocks/figurem.texblock +1992/06/17 | 648 | obsolete/macros/text1/blocks/figurep.texblock +1992/06/17 | 604 | obsolete/macros/text1/blocks/fnotem.texblock +1992/06/17 | 585 | obsolete/macros/text1/blocks/fnotep.texblock +1992/06/17 | 278 | obsolete/macros/text1/blocks/fontm.texblock +1992/06/17 | 395 | obsolete/macros/text1/blocks/fontp.texblock +1992/06/17 | 1048 | obsolete/macros/text1/blocks/index.texblock +1992/06/17 | 167 | obsolete/macros/text1/blocks/label.texblock +1992/06/17 | 744 | obsolete/macros/text1/blocks/lists.texblock +1992/06/17 | 1377 | obsolete/macros/text1/blocks/maillbls.texblock +1992/06/17 | 221 | obsolete/macros/text1/blocks/marnote.texblock +1992/06/17 | 540 | obsolete/macros/text1/blocks/multicol.texblock +1992/06/17 | 475 | obsolete/macros/text1/blocks/pagem.texblock +1992/06/17 | 482 | obsolete/macros/text1/blocks/pagep.texblock +1992/06/17 | 288 | obsolete/macros/text1/blocks/parm.texblock +1992/06/17 | 593 | obsolete/macros/text1/blocks/parp.texblock +1992/06/17 | 751 | obsolete/macros/text1/blocks/part.texblock +1992/06/17 | 402 | obsolete/macros/text1/blocks/preface.texblock +1992/06/17 | 201 | obsolete/macros/text1/blocks/runfoot.texblock +1992/06/17 | 212 | obsolete/macros/text1/blocks/runhead.texblock +1992/06/17 | 420 | obsolete/macros/text1/blocks/subheada.texblock +1992/06/17 | 382 | obsolete/macros/text1/blocks/subheadb.texblock +1992/06/17 | 338 | obsolete/macros/text1/blocks/subheadc.texblock +1992/06/17 | 270 | obsolete/macros/text1/blocks/subheadd.texblock +1992/06/17 | 242 | obsolete/macros/text1/blocks/tablem.texblock +1992/06/17 | 285 | obsolete/macros/text1/blocks/tablep.texblock +1992/06/17 | 390 | obsolete/macros/text1/blocks/talaris.texblock +1992/06/17 | 133 | obsolete/macros/text1/blocks/titlepg.texblock +1992/06/17 | 303 | obsolete/macros/text1/changes.aug91 +1992/08/03 | 187 | obsolete/macros/text1/changes.aug92 +1993/08/18 | 236 | obsolete/macros/text1/changes.aug93 +1993/12/15 | 235 | obsolete/macros/text1/changes.dec93 +1992/06/17 | 233 | obsolete/macros/text1/changes.feb91 +1992/06/17 | 273 | obsolete/macros/text1/changes.jan92 +1992/06/17 | 365 | obsolete/macros/text1/changes.jun91 +1996/06/28 | 297 | obsolete/macros/text1/changes.jun96 +1992/06/17 | 314 | obsolete/macros/text1/changes.mar91 +1992/06/17 | 313 | obsolete/macros/text1/changes.mar92 +1992/06/17 | 605 | obsolete/macros/text1/changes.may92 +1992/06/17 | 391 | obsolete/macros/text1/changes.nov90 +1992/11/12 | 179 | obsolete/macros/text1/changes.nov92 +1994/11/15 | 380 | obsolete/macros/text1/changes.nov94 +1992/06/17 | 257 | obsolete/macros/text1/changes.sep91 +1992/06/17 | 1120 | obsolete/macros/text1/cms_help_files/10noter.helpfoot +1992/06/17 | 1840 | obsolete/macros/text1/cms_help_files/11noter.helpfoot +1992/06/17 | 1280 | obsolete/macros/text1/cms_help_files/12noter.helpfoot +1992/06/17 | 1520 | obsolete/macros/text1/cms_help_files/1block.helpbloc +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/1everye.helpendn +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/1everyf.helpfoot +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/1every.helpfoot +1992/06/17 | 1600 | obsolete/macros/text1/cms_help_files/1--footn.help4--f +1992/06/17 | 1040 | obsolete/macros/text1/cms_help_files/1numbe.helpsubh +1992/06/17 | 1040 | obsolete/macros/text1/cms_help_files/1number.helpsubh +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/1--verti.helpvert +1992/06/17 | 1280 | obsolete/macros/text1/cms_help_files/2block.helpbloc +1992/06/17 | 1200 | obsolete/macros/text1/cms_help_files/2--footn.help4--f +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/2footn.helpfoot +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/2footno.helpfoot +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/2skipbe.helpendn +1992/06/17 | 1600 | obsolete/macros/text1/cms_help_files/2title.helpsubh +1992/06/17 | 1200 | obsolete/macros/text1/cms_help_files/2--verti.helpvert +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/3befor.helpfoot +1992/06/17 | 1092 | obsolete/macros/text1/cms_help_files/3block.helpmenu +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/3every.helpbloc +1992/06/17 | 1200 | obsolete/macros/text1/cms_help_files/3incon.helpsubh +1992/06/17 | 1200 | obsolete/macros/text1/cms_help_files/3incont.helpsubh +1992/06/17 | 1760 | obsolete/macros/text1/cms_help_files/3skipbe.helpfoot +1992/06/17 | 1760 | obsolete/macros/text1/cms_help_files/3skipb.helpfoot +1992/06/17 | 1360 | obsolete/macros/text1/cms_help_files/3textre.helpendn +1992/06/17 | 1404 | obsolete/macros/text1/cms_help_files/4footn.helpmenu +1992/06/17 | 1280 | obsolete/macros/text1/cms_help_files/4refer.helpfoot +1992/06/17 | 1760 | obsolete/macros/text1/cms_help_files/4skipaf.helpfoot +1992/06/17 | 1360 | obsolete/macros/text1/cms_help_files/4skipb.helpbloc +1992/06/17 | 1120 | obsolete/macros/text1/cms_help_files/4textre.helpendn +1992/06/17 | 1280 | obsolete/macros/text1/cms_help_files/5refer.helpfoot +1992/06/17 | 1440 | obsolete/macros/text1/cms_help_files/5skipa.helpbloc +1992/06/17 | 1840 | obsolete/macros/text1/cms_help_files/5textre.helpendn +1992/06/17 | 1360 | obsolete/macros/text1/cms_help_files/5textre.helpfoot +1992/06/17 | 1360 | obsolete/macros/text1/cms_help_files/6notere.helpendn +1992/06/17 | 1120 | obsolete/macros/text1/cms_help_files/6refer.helpfoot +1992/06/17 | 1360 | obsolete/macros/text1/cms_help_files/6textre.helpfoot +1992/06/17 | 1120 | obsolete/macros/text1/cms_help_files/7notere.helpendn +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/7refer.helpfoot +1992/06/17 | 1120 | obsolete/macros/text1/cms_help_files/7textre.helpfoot +1992/06/17 | 1840 | obsolete/macros/text1/cms_help_files/8notere.helpendn +1992/06/17 | 1840 | obsolete/macros/text1/cms_help_files/8textre.helpfoot +1992/06/17 | 1280 | obsolete/macros/text1/cms_help_files/9notere.helpendn +1992/06/17 | 889 | obsolete/macros/text1/cms_help_files/9notere.helpfoot +1992/06/17 | 3563 | obsolete/macros/text1/cms_help_files/aen.helpmark +1992/06/17 | 3184 | obsolete/macros/text1/cms_help_files/afn.helpmark +1992/06/17 | 3930 | obsolete/macros/text1/cms_help_files/aib.helpmark +1992/06/17 | 1435 | obsolete/macros/text1/cms_help_files/aie.helpmark +1992/06/17 | 3399 | obsolete/macros/text1/cms_help_files/aif.helpmark +1992/06/17 | 1040 | obsolete/macros/text1/cms_help_files/anumbe.helpsubh +1992/06/17 | 1040 | obsolete/macros/text1/cms_help_files/anumber.helpsubh +1992/06/17 | 3629 | obsolete/macros/text1/cms_help_files/apf.helpmark +1992/06/17 | 326 | obsolete/macros/text1/cms_help_files/appendix.helpbloc +1992/06/17 | 4021 | obsolete/macros/text1/cms_help_files/appendix.helpmenu +1992/06/17 | 1291 | obsolete/macros/text1/cms_help_files/app.helpmark +1992/06/17 | 352 | obsolete/macros/text1/cms_help_files/asism.helpbloc +1992/06/17 | 358 | obsolete/macros/text1/cms_help_files/asisp.helpbloc +1992/06/17 | 2009 | obsolete/macros/text1/cms_help_files/bd.helpmark +1992/06/17 | 2609 | obsolete/macros/text1/cms_help_files/bibentry.helpmark +1992/06/17 | 1825 | obsolete/macros/text1/cms_help_files/bib.helpmark +1992/06/17 | 329 | obsolete/macros/text1/cms_help_files/bibliog.helpbloc +1992/06/17 | 2622 | obsolete/macros/text1/cms_help_files/bibliogr.helpmark +1992/06/17 | 2422 | obsolete/macros/text1/cms_help_files/bie.helpmark +1992/06/17 | 12505 | obsolete/macros/text1/cms_help_files/bif.helpmark +1992/06/17 | 1556 | obsolete/macros/text1/cms_help_files/bi.helpmark +1992/06/17 | 936 | obsolete/macros/text1/cms_help_files/bothpage.helpmenu +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/bottomma.helppage +1992/06/17 | 2240 | obsolete/macros/text1/cms_help_files/bottomti.helpboth +1992/06/17 | 2240 | obsolete/macros/text1/cms_help_files/bottomti.helpeven +1992/06/17 | 2240 | obsolete/macros/text1/cms_help_files/bottomti.helpoddp +1992/06/17 | 2930 | obsolete/macros/text1/cms_help_files/bqb.helpmark +1992/06/17 | 2165 | obsolete/macros/text1/cms_help_files/bqe.helpmark +1992/06/17 | 3907 | obsolete/macros/text1/cms_help_files/bqf.helpmark +1992/06/17 | 360 | obsolete/macros/text1/cms_help_files/bquotem.helpbloc +1992/06/17 | 366 | obsolete/macros/text1/cms_help_files/bquotep.helpbloc +1992/06/17 | 1586 | obsolete/macros/text1/cms_help_files/break.helpmark +1992/06/17 | 1440 | obsolete/macros/text1/cms_help_files/btitlef.helpsubh +1992/06/17 | 1600 | obsolete/macros/text1/cms_help_files/btitle.helpsubh +1992/06/17 | 1861 | obsolete/macros/text1/cms_help_files/bul.helpmark +1992/06/17 | 1458 | obsolete/macros/text1/cms_help_files/cc.helpmark +1992/06/17 | 933 | obsolete/macros/text1/cms_help_files/cents.helpmark +1992/06/17 | 2273 | obsolete/macros/text1/cms_help_files/chap.helpmark +1992/06/17 | 324 | obsolete/macros/text1/cms_help_files/chapter.helpbloc +1992/06/17 | 3942 | obsolete/macros/text1/cms_help_files/chf.helpmark +1992/06/17 | 39 | obsolete/macros/text1/cms_help_files/chrono.changes +1992/06/17 | 1200 | obsolete/macros/text1/cms_help_files/cincon.helpsubh +1992/06/17 | 1200 | obsolete/macros/text1/cms_help_files/cincont.helpsubh +1992/06/17 | 3079 | obsolete/macros/text1/cms_help_files/clb.helpmark +1992/06/17 | 1545 | obsolete/macros/text1/cms_help_files/cle.helpmark +1992/06/17 | 1691 | obsolete/macros/text1/cms_help_files/cl.helpmark +1992/06/17 | 333 | obsolete/macros/text1/cms_help_files/contents.helpbloc +1992/06/17 | 640 | obsolete/macros/text1/cms_help_files/coul.helpmark +1992/06/17 | 1919 | obsolete/macros/text1/cms_help_files/db.helpmark +1992/06/17 | 1300 | obsolete/macros/text1/cms_help_files/dbm.helpmark +1992/06/17 | 1170 | obsolete/macros/text1/cms_help_files/dbrs.helpmark +1992/06/17 | 1086 | obsolete/macros/text1/cms_help_files/die.helpmark +1992/06/17 | 1869 | obsolete/macros/text1/cms_help_files/dsp.helpmark +1992/06/17 | 2194 | obsolete/macros/text1/cms_help_files/el.helpmark +1992/06/17 | 6290 | obsolete/macros/text1/cms_help_files/enf.helpmark +1992/06/17 | 356 | obsolete/macros/text1/cms_help_files/enotem.helpbloc +1992/06/17 | 363 | obsolete/macros/text1/cms_help_files/enotep.helpbloc +1992/06/17 | 1263 | obsolete/macros/text1/cms_help_files/ep.helpmark +1992/06/17 | 901 | obsolete/macros/text1/cms_help_files/epm.helpmark +1992/06/17 | 1186 | obsolete/macros/text1/cms_help_files/ex.helpmark +1992/06/17 | 3656 | obsolete/macros/text1/cms_help_files/fif.helpmark +1992/06/17 | 5639 | obsolete/macros/text1/cms_help_files/fig.helpmark +1992/06/17 | 567 | obsolete/macros/text1/cms_help_files/figurem.helpbloc +1992/06/17 | 567 | obsolete/macros/text1/cms_help_files/figurep.helpbloc +1992/06/17 | 1842 | obsolete/macros/text1/cms_help_files/fixf.helpmark +1992/06/17 | 6586 | obsolete/macros/text1/cms_help_files/fnf.helpmark +1992/06/17 | 422 | obsolete/macros/text1/cms_help_files/fnotem.helpbloc +1992/06/17 | 428 | obsolete/macros/text1/cms_help_files/fnotep.helpbloc +1992/06/17 | 2089 | obsolete/macros/text1/cms_help_files/font.helpmark +1992/06/17 | 370 | obsolete/macros/text1/cms_help_files/fontm.helpbloc +1992/06/17 | 450 | obsolete/macros/text1/cms_help_files/fontp.helpbloc +1992/06/17 | 3011 | obsolete/macros/text1/cms_help_files/footnote.helpmark +1992/06/17 | 2377 | obsolete/macros/text1/cms_help_files/frac.helpmark +1992/06/17 | 2166 | obsolete/macros/text1/cms_help_files/frenchsp.helpmark +1992/06/17 | 1034 | obsolete/macros/text1/cms_help_files/goodbrea.helpmark +1992/06/17 | 7641 | obsolete/macros/text1/cms_help_files/halign.helpmark +1992/06/17 | 1394 | obsolete/macros/text1/cms_help_files/hbox.helpmark +1992/06/17 | 2167 | obsolete/macros/text1/cms_help_files/hin.helpmark +1992/06/17 | 2647 | obsolete/macros/text1/cms_help_files/hof.helpmark +1992/06/17 | 2677 | obsolete/macros/text1/cms_help_files/hon.helpmark +1992/06/17 | 2221 | obsolete/macros/text1/cms_help_files/hp.helpmark +1992/06/17 | 1783 | obsolete/macros/text1/cms_help_files/hrule.helpmark +1992/06/17 | 1986 | obsolete/macros/text1/cms_help_files/hs.helpmark +1992/06/17 | 2351 | obsolete/macros/text1/cms_help_files/hsize.helpmark +1992/06/17 | 4291 | obsolete/macros/text1/cms_help_files/incl.helpmark +1992/06/17 | 1842 | obsolete/macros/text1/cms_help_files/indent.helpmark +1992/06/17 | 917 | obsolete/macros/text1/cms_help_files/index.helpbloc +1992/06/17 | 1631 | obsolete/macros/text1/cms_help_files/input.helpmark +1992/06/17 | 2238 | obsolete/macros/text1/cms_help_files/isk.helpmark +1992/06/17 | 964 | obsolete/macros/text1/cms_help_files/italicfa.helpmark +1992/06/17 | 2166 | obsolete/macros/text1/cms_help_files/item.helpmark +1992/06/17 | 2106 | obsolete/macros/text1/cms_help_files/it.helpmark +1992/06/17 | 13931 | obsolete/macros/text1/cms_help_files/ixf.helpmark +1992/06/17 | 14368 | obsolete/macros/text1/cms_help_files/ix.helpmark +1992/06/17 | 1980 | obsolete/macros/text1/cms_help_files/ju.helpmark +1992/06/17 | 320 | obsolete/macros/text1/cms_help_files/label.helpbloc +1992/06/17 | 5764 | obsolete/macros/text1/cms_help_files/laf.helpmark +1992/06/17 | 2136 | obsolete/macros/text1/cms_help_files/la.helpmark +1992/06/17 | 2291 | obsolete/macros/text1/cms_help_files/lbr.helpmark +1992/06/17 | 2015 | obsolete/macros/text1/cms_help_files/leader.helpmark +1992/06/17 | 394 | obsolete/macros/text1/cms_help_files/letter.helpmode +1992/06/17 | 2276 | obsolete/macros/text1/cms_help_files/lib.helpmark +1992/06/17 | 1648 | obsolete/macros/text1/cms_help_files/lie.helpmark +1992/06/17 | 6058 | obsolete/macros/text1/cms_help_files/lif.helpmark +1992/06/17 | 2030 | obsolete/macros/text1/cms_help_files/lil.helpmark +1992/06/17 | 2366 | obsolete/macros/text1/cms_help_files/line.helpmark +1992/06/17 | 3381 | obsolete/macros/text1/cms_help_files/lin.helpmark +1992/06/17 | 993 | obsolete/macros/text1/cms_help_files/lint.helpmark +1992/06/17 | 2073 | obsolete/macros/text1/cms_help_files/lir.helpmark +1992/06/17 | 319 | obsolete/macros/text1/cms_help_files/lists.helpbloc +1992/06/17 | 918 | obsolete/macros/text1/cms_help_files/lnf.helpmark +1992/06/17 | 2003 | obsolete/macros/text1/cms_help_files/lr.helpmark +1992/06/17 | 11477 | obsolete/macros/text1/cms_help_files/markup.helpmenu +1992/06/17 | 327 | obsolete/macros/text1/cms_help_files/marnote.helpbloc +1992/06/17 | 831 | obsolete/macros/text1/cms_help_files/mathdefa.helpmark +1992/06/17 | 15242 | obsolete/macros/text1/cms_help_files/mcf.helpmark +1992/06/17 | 390 | obsolete/macros/text1/cms_help_files/memo.helpmode +1992/06/17 | 1410 | obsolete/macros/text1/cms_help_files/mi.helpmark +1992/06/17 | 1689 | obsolete/macros/text1/cms_help_files/mnf.helpmark +1992/06/17 | 1477 | obsolete/macros/text1/cms_help_files/mn.helpmark +1992/06/17 | 4117 | obsolete/macros/text1/cms_help_files/msp.helpmark +1992/06/17 | 348 | obsolete/macros/text1/cms_help_files/multicol.helpbloc +1992/06/17 | 2318 | obsolete/macros/text1/cms_help_files/nc.helpmark +1992/06/17 | 2101 | obsolete/macros/text1/cms_help_files/nin.helpmark +1992/06/17 | 1759 | obsolete/macros/text1/cms_help_files/nobreak.helpmark +1992/06/17 | 2018 | obsolete/macros/text1/cms_help_files/nonfrenc.helpmark +1992/06/17 | 1239 | obsolete/macros/text1/cms_help_files/np.helpmark +1992/06/17 | 2213 | obsolete/macros/text1/cms_help_files/ntp.helpmark +1992/06/17 | 646 | obsolete/macros/text1/cms_help_files/numl.helpmark +1992/06/17 | 2479 | obsolete/macros/text1/cms_help_files/oc.helpmark +1992/06/17 | 925 | obsolete/macros/text1/cms_help_files/opm.helpmark +1992/06/17 | 2328 | obsolete/macros/text1/cms_help_files/paf.helpmark +1992/06/17 | 373 | obsolete/macros/text1/cms_help_files/pagem.helpbloc +1992/06/17 | 379 | obsolete/macros/text1/cms_help_files/pagep.helpbloc +1992/06/17 | 392 | obsolete/macros/text1/cms_help_files/paper.helpmode +1992/06/17 | 4278 | obsolete/macros/text1/cms_help_files/par.helpmark +1992/06/17 | 403 | obsolete/macros/text1/cms_help_files/parm.helpbloc +1992/06/17 | 409 | obsolete/macros/text1/cms_help_files/parp.helpbloc +1992/06/17 | 318 | obsolete/macros/text1/cms_help_files/part.helpbloc +1992/06/17 | 1193 | obsolete/macros/text1/cms_help_files/part.helpmark +1992/06/17 | 2447 | obsolete/macros/text1/cms_help_files/pb.helpmark +1992/06/17 | 1782 | obsolete/macros/text1/cms_help_files/pen.helpmark +1992/06/17 | 3229 | obsolete/macros/text1/cms_help_files/pf.helpmark +1992/06/17 | 4639 | obsolete/macros/text1/cms_help_files/pic.helpmark +1992/06/17 | 2072 | obsolete/macros/text1/cms_help_files/pin.helpmark +1992/06/17 | 845 | obsolete/macros/text1/cms_help_files/plaintex.helpmark +1992/06/17 | 1273 | obsolete/macros/text1/cms_help_files/pn.helpmark +1992/06/17 | 710 | obsolete/macros/text1/cms_help_files/ppl.helpmark +1992/06/17 | 324 | obsolete/macros/text1/cms_help_files/preface.helpbloc +1992/06/17 | 1410 | obsolete/macros/text1/cms_help_files/pre.helpmark +1992/06/17 | 1457 | obsolete/macros/text1/cms_help_files/prf.helpmark +1992/06/17 | 648 | obsolete/macros/text1/cms_help_files/prin.helpmark +1992/06/17 | 464 | obsolete/macros/text1/cms_help_files/printend.helpmark +1992/06/17 | 2017 | obsolete/macros/text1/cms_help_files/printind.helpmark +1992/06/17 | 2893 | obsolete/macros/text1/cms_help_files/psk.helpmark +1992/06/17 | 1727 | obsolete/macros/text1/cms_help_files/qquad.helpmark +1992/06/17 | 1802 | obsolete/macros/text1/cms_help_files/quad.helpmark +1992/06/17 | 662 | obsolete/macros/text1/cms_help_files/raggedbo.helpmark +1992/06/17 | 394 | obsolete/macros/text1/cms_help_files/resume.helpmode +1992/06/17 | 5529 | obsolete/macros/text1/cms_help_files/rff.helpmark +1992/06/17 | 5014 | obsolete/macros/text1/cms_help_files/rhf.helpmark +1992/06/17 | 3442 | obsolete/macros/text1/cms_help_files/rin.helpmark +1992/06/17 | 1598 | obsolete/macros/text1/cms_help_files/rlb.helpmark +1992/06/17 | 1119 | obsolete/macros/text1/cms_help_files/rle.helpmark +1992/06/17 | 1316 | obsolete/macros/text1/cms_help_files/rl.helpmark +1992/06/17 | 1748 | obsolete/macros/text1/cms_help_files/rm.helpmark +1992/06/17 | 2076 | obsolete/macros/text1/cms_help_files/rr.helpmark +1992/06/17 | 2291 | obsolete/macros/text1/cms_help_files/rule.helpmark +1992/06/17 | 395 | obsolete/macros/text1/cms_help_files/runfoot.helpbloc +1992/06/17 | 392 | obsolete/macros/text1/cms_help_files/runhead.helpbloc +1992/06/17 | 889 | obsolete/macros/text1/cms_help_files/san.helpmark +1992/06/17 | 1878 | obsolete/macros/text1/cms_help_files/sau.helpmark +1992/06/17 | 866 | obsolete/macros/text1/cms_help_files/scn.helpmark +1992/06/17 | 1326 | obsolete/macros/text1/cms_help_files/senn.helpmark +1992/06/17 | 8368 | obsolete/macros/text1/cms_help_files/settabs.helpmark +1992/06/17 | 1279 | obsolete/macros/text1/cms_help_files/sfn.helpmark +1992/06/17 | 1426 | obsolete/macros/text1/cms_help_files/sfnn.helpmark +1992/06/17 | 3792 | obsolete/macros/text1/cms_help_files/sfs.helpmark +1992/06/17 | 3467 | obsolete/macros/text1/cms_help_files/shaf.helpmark +1992/06/17 | 1926 | obsolete/macros/text1/cms_help_files/sha.helpmark +1992/06/17 | 3536 | obsolete/macros/text1/cms_help_files/shbf.helpmark +1992/06/17 | 1851 | obsolete/macros/text1/cms_help_files/shb.helpmark +1992/06/17 | 3336 | obsolete/macros/text1/cms_help_files/shcf.helpmark +1992/06/17 | 1846 | obsolete/macros/text1/cms_help_files/shc.helpmark +1992/06/17 | 3104 | obsolete/macros/text1/cms_help_files/shdf.helpmark +1992/06/17 | 1442 | obsolete/macros/text1/cms_help_files/shd.helpmark +1992/06/17 | 2196 | obsolete/macros/text1/cms_help_files/sms.helpmark +1992/06/17 | 1092 | obsolete/macros/text1/cms_help_files/special.helpmark +1992/06/17 | 1794 | obsolete/macros/text1/cms_help_files/spn.helpmark +1992/06/17 | 815 | obsolete/macros/text1/cms_help_files/sptn.helpmark +1992/06/17 | 972 | obsolete/macros/text1/cms_help_files/ssan.helpmark +1992/06/17 | 986 | obsolete/macros/text1/cms_help_files/ssbn.helpmark +1992/06/17 | 997 | obsolete/macros/text1/cms_help_files/sscn.helpmark +1992/06/17 | 1008 | obsolete/macros/text1/cms_help_files/ssdn.helpmark +1992/06/17 | 2168 | obsolete/macros/text1/cms_help_files/ssf.helpmark +1992/06/17 | 2063 | obsolete/macros/text1/cms_help_files/ssp.helpmark +1992/06/17 | 1277 | obsolete/macros/text1/cms_help_files/stn.helpmark +1992/06/17 | 3782 | obsolete/macros/text1/cms_help_files/strut.helpmark +1992/06/17 | 326 | obsolete/macros/text1/cms_help_files/subheada.helpbloc +1992/06/17 | 326 | obsolete/macros/text1/cms_help_files/subheadb.helpbloc +1992/06/17 | 326 | obsolete/macros/text1/cms_help_files/subheadc.helpbloc +1992/06/17 | 326 | obsolete/macros/text1/cms_help_files/subheadd.helpbloc +1992/06/17 | 1093 | obsolete/macros/text1/cms_help_files/sy.helpmark +1992/06/17 | 372 | obsolete/macros/text1/cms_help_files/tablem.helpbloc +1992/06/17 | 378 | obsolete/macros/text1/cms_help_files/tablep.helpbloc +1992/06/17 | 2581 | obsolete/macros/text1/cms_help_files/taf.helpmark +1992/06/17 | 370 | obsolete/macros/text1/cms_help_files/talaris.helpbloc +1992/06/17 | 2764 | obsolete/macros/text1/cms_help_files/tat.helpmark +1992/06/17 | 1963 | obsolete/macros/text1/cms_help_files/tenpt.helpmark +1992/06/17 | 2010 | obsolete/macros/text1/cms_help_files/text1.helpmark +1992/06/17 | 4332 | obsolete/macros/text1/cms_help_files/thc.helpmark +1992/06/17 | 444 | obsolete/macros/text1/cms_help_files/thesis.helpmode +1992/06/17 | 371 | obsolete/macros/text1/cms_help_files/titlepg.helpbloc +1992/06/17 | 24933 | obsolete/macros/text1/cms_help_files/tocf.helpmark +1992/06/17 | 1425 | obsolete/macros/text1/cms_help_files/toc.helpmark +1992/06/17 | 2047 | obsolete/macros/text1/cms_help_files/toclbr.helpmark +1992/06/17 | 1150 | obsolete/macros/text1/cms_help_files/today.helpmark +1992/06/17 | 2480 | obsolete/macros/text1/cms_help_files/topline1.helpeven +1992/06/17 | 2480 | obsolete/macros/text1/cms_help_files/topline1.helpoddp +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/topmargi.helppage +1992/06/17 | 2024 | obsolete/macros/text1/cms_help_files/tpf.helpmark +1992/06/17 | 1843 | obsolete/macros/text1/cms_help_files/tp.helpmark +1992/06/17 | 2109 | obsolete/macros/text1/cms_help_files/tt.helpmark +1992/06/17 | 4469 | obsolete/macros/text1/cms_help_files/twc.helpmark +1992/06/17 | 2079 | obsolete/macros/text1/cms_help_files/twelvept.helpmark +1992/06/17 | 1609 | obsolete/macros/text1/cms_help_files/us.helpmark +1992/06/17 | 1454 | obsolete/macros/text1/cms_help_files/vbox.helpmark +1992/06/17 | 1680 | obsolete/macros/text1/cms_help_files/vertical.helpvert +1992/06/17 | 850 | obsolete/macros/text1/cms_help_files/vrule.helpmark +1992/06/17 | 2758 | obsolete/macros/text1/cms_help_files/vs.helpmark +1992/06/17 | 2484 | obsolete/macros/text1/cms_help_files/vsk.helpmark +1992/06/17 | 1040 | obsolete/macros/text1/cms_help_files/width.helppage +1992/06/17 | 1608 | obsolete/macros/text1/compugraphics_8600/et10.textext +1992/06/17 | 1641 | obsolete/macros/text1/compugraphics_8600/et11.textext +1992/06/17 | 1674 | obsolete/macros/text1/compugraphics_8600/et12.textext +1992/06/17 | 1674 | obsolete/macros/text1/compugraphics_8600/et14.textext +1992/06/17 | 1740 | obsolete/macros/text1/compugraphics_8600/et18.textext +1992/06/17 | 1697 | obsolete/macros/text1/compugraphics_8600/et8.textext +1992/06/17 | 1631 | obsolete/macros/text1/compugraphics_8600/et9.textext +1992/06/17 | 19116 | obsolete/macros/text1/compugraphics_8600/etb.fontinfo +1992/06/17 | 18873 | obsolete/macros/text1/compugraphics_8600/etbi.fontinfo +1992/06/17 | 18873 | obsolete/macros/text1/compugraphics_8600/eti.fontinfo +1992/06/17 | 19116 | obsolete/macros/text1/compugraphics_8600/etr.fontinfo +1992/06/17 | 20493 | obsolete/macros/text1/compugraphics_8600/etsc.fontinfo +1992/06/17 | 405 | obsolete/macros/text1/compugraphics_8600/fonttex.cmschan +1992/06/17 | 505 | obsolete/macros/text1/compugraphics_8600/fonttex.exec +1992/06/17 | 26244 | obsolete/macros/text1/compugraphics_8600/fonttex.outchan +1992/06/17 | 72275 | obsolete/macros/text1/compugraphics_8600/fonttex.web +1992/06/17 | 1076 | obsolete/macros/text1/compugraphics_8600/reblock.pascal +1992/06/17 | 81 | obsolete/macros/text1/compugraphics_8600/tex8600.cmschan +1992/06/17 | 23272 | obsolete/macros/text1/compugraphics_8600/tex8600.outchan +1992/06/17 | 90813 | obsolete/macros/text1/compugraphics_8600/tex8600.web +1995/01/27 | 7698 | obsolete/macros/text1/docs/readme.tex +1996/06/28 | 744715 | obsolete/macros/text1/docs/refman.ps.gz +1992/06/17 | 82196 | obsolete/macros/text1/fonts/cmr36.dump +1992/06/17 | 360 | obsolete/macros/text1/fonts/dt240.mf +1992/06/17 | 1536 | obsolete/macros/text1/fonts/dt.240pk +1992/06/17 | 360 | obsolete/macros/text1/fonts/dt300.mf +1992/06/17 | 1536 | obsolete/macros/text1/fonts/dt.300pk +1992/06/17 | 710 | obsolete/macros/text1/fonts/dt.mf +1992/06/17 | 446 | obsolete/macros/text1/fonts/dt.readme +1992/06/17 | 512 | obsolete/macros/text1/fonts/dt.tfm +1992/06/17 | 31232 | obsolete/macros/text1/lzcomp.exe +1992/06/17 | 30720 | obsolete/macros/text1/lzdcmp.exe +1992/06/17 | 295 | obsolete/macros/text1/macintosh/texix.macinfo +1994/11/15 | 410 | obsolete/macros/text1/macintosh/texix_macintosh.readme +1992/06/17 | 14064 | obsolete/macros/text1/macintosh/texix.turbomac +1994/11/15 | 30976 | obsolete/macros/text1/macintosh/text1_index_sort.bin +1992/06/17 | 667 | obsolete/macros/text1/macros/cgfonts.lclist +1992/06/17 | 445 | obsolete/macros/text1/macros/cm108m.texmath +1992/06/17 | 423 | obsolete/macros/text1/macros/cm109m.texmath +1992/06/17 | 1293 | obsolete/macros/text1/macros/cm10.textext +1992/06/17 | 426 | obsolete/macros/text1/macros/cm1110m.texmath +1992/06/17 | 529 | obsolete/macros/text1/macros/cm119m.texmath +1992/06/17 | 3240 | obsolete/macros/text1/macros/cm11.textext +1992/06/17 | 436 | obsolete/macros/text1/macros/cm1210m.texmath +1992/06/17 | 542 | obsolete/macros/text1/macros/cm1211m.texmath +1992/06/17 | 2997 | obsolete/macros/text1/macros/cm12.textext +1992/06/17 | 552 | obsolete/macros/text1/macros/cm1412m.texmath +1992/06/17 | 2997 | obsolete/macros/text1/macros/cm14.textext +1992/06/17 | 572 | obsolete/macros/text1/macros/cm1814m.texmath +1992/06/17 | 2997 | obsolete/macros/text1/macros/cm18.textext +1992/06/17 | 582 | obsolete/macros/text1/macros/cm2418m.texmath +1992/06/17 | 2997 | obsolete/macros/text1/macros/cm24.textext +1992/06/17 | 2997 | obsolete/macros/text1/macros/cm36.textext +1992/06/17 | 4131 | obsolete/macros/text1/macros/cm5.textext +1992/06/17 | 426 | obsolete/macros/text1/macros/cm65m.texmath +1992/06/17 | 3969 | obsolete/macros/text1/macros/cm6.textext +1992/06/17 | 333 | obsolete/macros/text1/macros/cm75m.texmath +1992/06/17 | 431 | obsolete/macros/text1/macros/cm76m.texmath +1992/06/17 | 3645 | obsolete/macros/text1/macros/cm7.textext +1992/06/17 | 547 | obsolete/macros/text1/macros/cm86m.texmath +1992/06/17 | 450 | obsolete/macros/text1/macros/cm87m.texmath +1992/06/17 | 3240 | obsolete/macros/text1/macros/cm8.textext +1992/06/17 | 430 | obsolete/macros/text1/macros/cm97m.texmath +1992/06/17 | 544 | obsolete/macros/text1/macros/cm98m.texmath +1992/06/17 | 3240 | obsolete/macros/text1/macros/cm9.textext +1992/06/17 | 3726 | obsolete/macros/text1/macros/cmsan10.textext +1992/06/17 | 3726 | obsolete/macros/text1/macros/cmsan11.textext +1992/06/17 | 3726 | obsolete/macros/text1/macros/cmsan12.textext +1992/06/17 | 3726 | obsolete/macros/text1/macros/cmsan14.textext +1992/06/17 | 3726 | obsolete/macros/text1/macros/cmsan18.textext +1992/06/17 | 3726 | obsolete/macros/text1/macros/cmsan24.textext +1992/06/17 | 3726 | obsolete/macros/text1/macros/cmsan36.textext +1992/06/17 | 3969 | obsolete/macros/text1/macros/cmsan8.textext +1992/06/17 | 3726 | obsolete/macros/text1/macros/cmsan9.textext +1992/06/17 | 7194 | obsolete/macros/text1/macros/fixcol.tex +1992/06/17 | 18171 | obsolete/macros/text1/macros/flexcol.tex +1996/06/26 | 243 | obsolete/macros/text1/macros/text1.tex +1996/06/26 | 141189 | obsolete/macros/text1/macros/txt1v409.tex +1992/06/17 | 1847 | obsolete/macros/text1/models/letter.texinput +1992/06/17 | 2391 | obsolete/macros/text1/models/letter.texmodel +1992/06/17 | 1895 | obsolete/macros/text1/models/memo.texinput +1992/06/17 | 936 | obsolete/macros/text1/models/memo.texmodel +1992/06/17 | 2853 | obsolete/macros/text1/models/mergelet.texmodel +1992/06/17 | 1377 | obsolete/macros/text1/models/mergelst.texmodel +1992/06/17 | 7963 | obsolete/macros/text1/models/mergetxt.texinput +1992/06/17 | 4042 | obsolete/macros/text1/models/mergetxt.texmodel +1992/06/17 | 414 | obsolete/macros/text1/models/paper.texinput +1992/06/17 | 1470 | obsolete/macros/text1/models/paper.texmodel +1992/06/17 | 1782 | obsolete/macros/text1/models/resume.texinput +1992/06/17 | 2958 | obsolete/macros/text1/models/resume.texmodel +1992/09/01 | 5314 | obsolete/macros/text1/models/thesis.texinput +1992/09/01 | 4917 | obsolete/macros/text1/models/thesis.texmodel +1992/11/07 | 590 | obsolete/macros/text1/pc/blocks/appendix.blk +1992/11/07 | 167 | obsolete/macros/text1/pc/blocks/asism.blk +1992/11/07 | 162 | obsolete/macros/text1/pc/blocks/asisp.blk +1992/11/07 | 371 | obsolete/macros/text1/pc/blocks/bibliog.blk +1992/11/07 | 323 | obsolete/macros/text1/pc/blocks/bquotem.blk +1992/11/07 | 311 | obsolete/macros/text1/pc/blocks/bquotep.blk +1992/11/07 | 475 | obsolete/macros/text1/pc/blocks/chapter.blk +1992/11/07 | 1562 | obsolete/macros/text1/pc/blocks/contents.blk +1992/11/07 | 452 | obsolete/macros/text1/pc/blocks/enotem.blk +1992/11/07 | 487 | obsolete/macros/text1/pc/blocks/enotep.blk +1992/11/07 | 648 | obsolete/macros/text1/pc/blocks/figurem.blk +1992/11/07 | 648 | obsolete/macros/text1/pc/blocks/figurep.blk +1992/11/07 | 604 | obsolete/macros/text1/pc/blocks/fnotem.blk +1992/11/07 | 585 | obsolete/macros/text1/pc/blocks/fnotep.blk +1992/11/07 | 278 | obsolete/macros/text1/pc/blocks/fontm.blk +1992/11/07 | 395 | obsolete/macros/text1/pc/blocks/fontp.blk +1992/11/07 | 1048 | obsolete/macros/text1/pc/blocks/index.blk +1992/11/07 | 167 | obsolete/macros/text1/pc/blocks/label.blk +1992/11/07 | 744 | obsolete/macros/text1/pc/blocks/lists.blk +1992/11/07 | 1377 | obsolete/macros/text1/pc/blocks/maillbls.blk +1992/11/07 | 221 | obsolete/macros/text1/pc/blocks/marnote.blk +1992/11/07 | 540 | obsolete/macros/text1/pc/blocks/multicol.blk +1992/11/07 | 475 | obsolete/macros/text1/pc/blocks/pagem.blk +1992/11/07 | 482 | obsolete/macros/text1/pc/blocks/pagep.blk +1992/11/07 | 288 | obsolete/macros/text1/pc/blocks/parm.blk +1992/11/07 | 593 | obsolete/macros/text1/pc/blocks/parp.blk +1992/11/07 | 751 | obsolete/macros/text1/pc/blocks/part.blk +1992/11/07 | 402 | obsolete/macros/text1/pc/blocks/preface.blk +1992/11/07 | 201 | obsolete/macros/text1/pc/blocks/runfoot.blk +1992/11/07 | 212 | obsolete/macros/text1/pc/blocks/runhead.blk +1992/11/07 | 420 | obsolete/macros/text1/pc/blocks/subheada.blk +1992/11/07 | 382 | obsolete/macros/text1/pc/blocks/subheadb.blk +1992/11/07 | 338 | obsolete/macros/text1/pc/blocks/subheadc.blk +1992/11/07 | 270 | obsolete/macros/text1/pc/blocks/subheadd.blk +1992/11/07 | 242 | obsolete/macros/text1/pc/blocks/tablem.blk +1992/11/07 | 285 | obsolete/macros/text1/pc/blocks/tablep.blk +1992/11/07 | 390 | obsolete/macros/text1/pc/blocks/talaris.blk +1992/11/07 | 133 | obsolete/macros/text1/pc/blocks/titlepg.blk +1992/06/17 | 1536 | obsolete/macros/text1/pc/fonts/dt.pk +1992/06/17 | 445 | obsolete/macros/text1/pc/misc/cm108m.mth +1992/06/17 | 423 | obsolete/macros/text1/pc/misc/cm109m.mth +1992/06/17 | 1293 | obsolete/macros/text1/pc/misc/cm10.txt +1992/06/17 | 426 | obsolete/macros/text1/pc/misc/cm1110m.mth +1992/06/17 | 529 | obsolete/macros/text1/pc/misc/cm119m.mth +1992/06/17 | 3240 | obsolete/macros/text1/pc/misc/cm11.txt +1992/06/17 | 436 | obsolete/macros/text1/pc/misc/cm1210m.mth +1992/06/17 | 542 | obsolete/macros/text1/pc/misc/cm1211m.mth +1992/06/17 | 2997 | obsolete/macros/text1/pc/misc/cm12.txt +1992/06/17 | 552 | obsolete/macros/text1/pc/misc/cm1412m.mth +1992/06/17 | 2997 | obsolete/macros/text1/pc/misc/cm14.txt +1992/06/17 | 572 | obsolete/macros/text1/pc/misc/cm1814m.mth +1992/06/17 | 2997 | obsolete/macros/text1/pc/misc/cm18.txt +1992/06/17 | 582 | obsolete/macros/text1/pc/misc/cm2418m.mth +1992/06/17 | 2997 | obsolete/macros/text1/pc/misc/cm24.txt +1992/06/17 | 2997 | obsolete/macros/text1/pc/misc/cm36.txt +1992/06/17 | 4131 | obsolete/macros/text1/pc/misc/cm5.txt +1992/06/17 | 426 | obsolete/macros/text1/pc/misc/cm65m.mth +1992/06/17 | 3969 | obsolete/macros/text1/pc/misc/cm6.txt +1992/06/17 | 333 | obsolete/macros/text1/pc/misc/cm75m.mth +1992/06/17 | 431 | obsolete/macros/text1/pc/misc/cm76m.mth +1992/06/17 | 3645 | obsolete/macros/text1/pc/misc/cm7.txt +1992/06/17 | 547 | obsolete/macros/text1/pc/misc/cm86m.mth +1992/06/17 | 450 | obsolete/macros/text1/pc/misc/cm87m.mth +1992/06/17 | 3240 | obsolete/macros/text1/pc/misc/cm8.txt +1992/06/17 | 430 | obsolete/macros/text1/pc/misc/cm97m.mth +1992/06/17 | 544 | obsolete/macros/text1/pc/misc/cm98m.mth +1992/06/17 | 3240 | obsolete/macros/text1/pc/misc/cm9.txt +1992/06/17 | 3726 | obsolete/macros/text1/pc/misc/cmsan10.txt +1992/06/17 | 3726 | obsolete/macros/text1/pc/misc/cmsan11.txt +1992/06/17 | 3726 | obsolete/macros/text1/pc/misc/cmsan12.txt +1992/06/17 | 3726 | obsolete/macros/text1/pc/misc/cmsan14.txt +1992/06/17 | 3726 | obsolete/macros/text1/pc/misc/cmsan18.txt +1992/06/17 | 3726 | obsolete/macros/text1/pc/misc/cmsan24.txt +1992/06/17 | 3726 | obsolete/macros/text1/pc/misc/cmsan36.txt +1992/06/17 | 3969 | obsolete/macros/text1/pc/misc/cmsan8.txt +1992/06/17 | 3726 | obsolete/macros/text1/pc/misc/cmsan9.txt +1992/06/17 | 1847 | obsolete/macros/text1/pc/models/letter.inp +1992/11/07 | 2386 | obsolete/macros/text1/pc/models/letter.mdl +1992/06/17 | 1895 | obsolete/macros/text1/pc/models/memo.inp +1992/11/07 | 931 | obsolete/macros/text1/pc/models/memo.mdl +1992/06/17 | 2853 | obsolete/macros/text1/pc/models/mergelet.mdl +1992/06/17 | 1377 | obsolete/macros/text1/pc/models/mergelst.mdl +1992/06/17 | 7963 | obsolete/macros/text1/pc/models/mergetxt.inp +1992/11/07 | 4027 | obsolete/macros/text1/pc/models/mergetxt.mdl +1992/06/17 | 414 | obsolete/macros/text1/pc/models/paper.inp +1992/11/07 | 1465 | obsolete/macros/text1/pc/models/paper.mdl +1992/06/17 | 1782 | obsolete/macros/text1/pc/models/resume.inp +1992/11/07 | 2953 | obsolete/macros/text1/pc/models/resume.mdl +1992/06/17 | 5314 | obsolete/macros/text1/pc/models/thesis.inp +1992/11/07 | 4912 | obsolete/macros/text1/pc/models/thesis.mdl +1992/11/12 | 968 | obsolete/macros/text1/pc/readme.tex +1992/06/17 | 657 | obsolete/macros/text1/texix/plsort.pliopt +1992/06/17 | 243 | obsolete/macros/text1/texix/texix.cmschan +1992/06/17 | 382 | obsolete/macros/text1/texix/texix.cmsinfo +1992/06/17 | 307 | obsolete/macros/text1/texix/texix.readme +1992/06/17 | 50914 | obsolete/macros/text1/texix/texix.web +1992/06/17 | 66516 | obsolete/macros/text1/texix/txt1v293.cmschan +1993/08/20 | 157 | obsolete/macros/text1/vax_vms/compile_texix.com +1993/08/20 | 1536 | obsolete/macros/text1/vax_vms/sortcall.pen +1993/08/20 | 11384 | obsolete/macros/text1/vax_vms/texix.ch +1993/08/20 | 25600 | obsolete/macros/text1/vax_vms/texix.exe +1994/11/15 | 548 | obsolete/macros/text1/vax_vms/texix_vms.readme +1992/06/17 | 2111 | obsolete/macros/text1/vax_vms/vmssort.pas +2005/11/04 | 1084902 | obsolete/macros/text1.zip 2009/01/05 | 94468 | obsolete/macros/xetex/latex/xecolour/doc/xecolour-user.pdf 2009/01/05 | 7914 | obsolete/macros/xetex/latex/xecolour/doc/xecolour-user.tex 2009/01/05 | 545 | obsolete/macros/xetex/latex/xecolour/README 2009/01/04 | 10633 | obsolete/macros/xetex/latex/xecolour/tex/xecolour.sty 2012/09/28 | 69426 | obsolete/macros/xetex/latex/xecolour.zip +1991/12/02 | 28427 | obsolete/macros/ytex/ybase.mac +1991/12/02 | 4289 | obsolete/macros/ytex/yfonts.mac +1991/12/02 | 12728 | obsolete/macros/ytex/ylog.mac +1991/12/02 | 323 | obsolete/macros/ytex/ysite.mac +1991/12/02 | 85 | obsolete/macros/ytex/ytex-cm.tex +1991/12/02 | 7371 | obsolete/macros/ytex/ytex.ieee +1991/12/02 | 2009 | obsolete/macros/ytex/ytex.mac +1991/12/02 | 2561 | obsolete/macros/ytex/ytex.mail +1991/12/02 | 2114 | obsolete/macros/ytex/yusage.lst +1991/12/02 | 68034 | obsolete/macros/ytex/yusage.tex +1991/12/02 | 34679 | obsolete/macros/ytex/yuser.mac +2005/10/21 | 50547 | obsolete/macros/ytex.zip 2001/10/07 | 499111 | obsolete/pstricks.tar.gz 1995/05/02 | 529166 | obsolete/support/abcwin/abcfonts.zip 1995/05/02 | 773801 | obsolete/support/abcwin/abcwin.zip @@ -286690,98 +286690,98 @@ 1994/05/11 | 11989 | support/bbfig/bb.ps 1994/05/11 | 462 | support/bbfig/installation 2006/03/12 | 6604 | support/bbfig.zip -2023/10/13 | 20170 | support/bib2gls/bib2gls.1 -2023/10/13 | 720293 | support/bib2gls/bib2gls-begin.pdf -2023/10/13 | 52193 | support/bib2gls/bib2gls-en.xml -2023/10/13 | 388 | support/bib2gls/bib2gls-extra-en.xml -2023/10/13 | 402 | support/bib2gls/bib2gls-extra-nl.xml -2023/10/13 | 418999 | support/bib2gls/bib2gls.jar -2023/10/13 | 5352359 | support/bib2gls/bib2gls.pdf -2023/10/13 | 630 | support/bib2gls/bib2gls.sh -2023/10/13 | 20036 | support/bib2gls/CHANGES -2023/10/13 | 7108 | support/bib2gls/convertgls2bib.1 -2023/10/13 | 40826 | support/bib2gls/convertgls2bib.jar -2023/10/13 | 404 | support/bib2gls/convertgls2bib.sh -2023/10/13 | 22 | support/bib2gls/DEPENDS.txt -2023/10/13 | 1603 | support/bib2gls/examples/animals.bib -2023/10/13 | 1219 | support/bib2gls/examples/bacteria.bib -2023/10/13 | 1031 | support/bib2gls/examples/baseunits.bib -2023/10/13 | 2994 | support/bib2gls/examples/bigmathsymbols.bib -2023/10/13 | 576 | support/bib2gls/examples/binaryoperators.bib -2023/10/13 | 3496 | support/bib2gls/examples/books.bib -2023/10/13 | 2585 | support/bib2gls/examples/chemicalformula.bib -2023/10/13 | 1371 | support/bib2gls/examples/citations.bib -2023/10/13 | 2392 | support/bib2gls/examples/constants.bib -2023/10/13 | 1580 | support/bib2gls/examples/derivedunits.bib -2023/10/13 | 5455 | support/bib2gls/examples/films.bib -2023/10/13 | 338 | support/bib2gls/examples/interpret-preamble2.bib -2023/10/13 | 328 | support/bib2gls/examples/interpret-preamble.bib -2023/10/13 | 1772 | support/bib2gls/examples/markuplanguages.bib -2023/10/13 | 3211 | support/bib2gls/examples/mathgreek.bib -2023/10/13 | 3672 | support/bib2gls/examples/mathsobjects.bib -2023/10/13 | 1265 | support/bib2gls/examples/mathsrelations.bib -2023/10/13 | 2419 | support/bib2gls/examples/minerals.bib -2023/10/13 | 2301 | support/bib2gls/examples/miscsymbols.bib -2023/10/13 | 328 | support/bib2gls/examples/no-interpret-preamble.bib -2023/10/13 | 4446 | support/bib2gls/examples/people.bib -2023/10/13 | 51564 | support/bib2gls/examples/sample-authors.pdf -2023/10/13 | 1506 | support/bib2gls/examples/sample-authors.tex -2023/10/13 | 54287 | support/bib2gls/examples/sample-bacteria.pdf -2023/10/13 | 1382 | support/bib2gls/examples/sample-bacteria.tex -2023/10/13 | 54079 | support/bib2gls/examples/sample-chemical.pdf -2023/10/13 | 1291 | support/bib2gls/examples/sample-chemical.tex -2023/10/13 | 49756 | support/bib2gls/examples/sample-citations.pdf -2023/10/13 | 1941 | support/bib2gls/examples/sample-citations.tex -2023/10/13 | 97833 | support/bib2gls/examples/sample-constants.pdf -2023/10/13 | 1378 | support/bib2gls/examples/sample-constants.tex -2023/10/13 | 52565 | support/bib2gls/examples/sample-hierarchical.pdf -2023/10/13 | 986 | support/bib2gls/examples/sample-hierarchical.tex -2023/10/13 | 61161 | support/bib2gls/examples/sample-markuplanguages.pdf -2023/10/13 | 1391 | support/bib2gls/examples/sample-markuplanguages.tex -2023/10/13 | 121264 | support/bib2gls/examples/sample-maths.pdf -2023/10/13 | 3129 | support/bib2gls/examples/sample-maths.tex -2023/10/13 | 166598 | support/bib2gls/examples/sample-media.pdf -2023/10/13 | 1734 | support/bib2gls/examples/sample-media.tex -2023/10/13 | 109259 | support/bib2gls/examples/sample-msymbols.pdf -2023/10/13 | 780 | support/bib2gls/examples/sample-msymbols.tex -2023/10/13 | 255485 | support/bib2gls/examples/sample-multi1.pdf -2023/10/13 | 5520 | support/bib2gls/examples/sample-multi1.tex -2023/10/13 | 330891 | support/bib2gls/examples/sample-multi2.pdf -2023/10/13 | 12775 | support/bib2gls/examples/sample-multi2.tex -2023/10/13 | 52578 | support/bib2gls/examples/sample-nested.pdf -2023/10/13 | 1344 | support/bib2gls/examples/sample-nested.tex -2023/10/13 | 50331 | support/bib2gls/examples/sample-people.pdf -2023/10/13 | 2367 | support/bib2gls/examples/sample-people.tex -2023/10/13 | 70316 | support/bib2gls/examples/sample-textsymbols2.pdf -2023/10/13 | 913 | support/bib2gls/examples/sample-textsymbols2.tex -2023/10/13 | 73107 | support/bib2gls/examples/sample-textsymbols.pdf -2023/10/13 | 1207 | support/bib2gls/examples/sample-textsymbols.tex -2023/10/13 | 57356 | support/bib2gls/examples/sample-units1.pdf -2023/10/13 | 1070 | support/bib2gls/examples/sample-units1.tex -2023/10/13 | 59092 | support/bib2gls/examples/sample-units2.pdf -2023/10/13 | 1234 | support/bib2gls/examples/sample-units2.tex -2023/10/13 | 44654 | support/bib2gls/examples/sample-units3.pdf -2023/10/13 | 1740 | support/bib2gls/examples/sample-units3.tex -2023/10/13 | 24418 | support/bib2gls/examples/sample-usergroups.pdf -2023/10/13 | 3254 | support/bib2gls/examples/sample-usergroups.tex -2023/10/13 | 640 | support/bib2gls/examples/terms.bib -2023/10/13 | 266 | support/bib2gls/examples/topics.bib -2023/10/13 | 557 | support/bib2gls/examples/unaryoperators.bib -2023/10/13 | 4053 | support/bib2gls/examples/usergroups.bib -2023/10/13 | 1091 | support/bib2gls/examples/vegetables.bib -2023/10/13 | 6793 | support/bib2gls/README.md -2023/10/13 | 236672 | support/bib2gls/src/bib2gls-begin.tex -2023/10/13 | 578124 | support/bib2gls/src/bib2gls.bib -2023/10/13 | 4298 | support/bib2gls/src/bib2gls-cite.bib -2023/10/13 | 14139 | support/bib2gls/src/bib2gls.pod -2023/10/13 | 322297 | support/bib2gls/src/bib2gls-src.zip -2023/10/13 | 19671 | support/bib2gls/src/bib2gls-terms.bib -2023/10/13 | 1146089 | support/bib2gls/src/bib2gls.tex -2023/10/13 | 4045 | support/bib2gls/src/convertgls2bib.pod -2023/10/13 | 33228 | support/bib2gls/src/gls2bib-src.zip -2023/10/13 | 1487182 | support/bib2gls/src/texparser-src.zip -2023/10/13 | 1767901 | support/bib2gls/texparserlib.jar -2023/10/13 | 11995641 | support/bib2gls.zip +2024/01/30 | 20536 | support/bib2gls/bib2gls.1 +2024/01/30 | 720287 | support/bib2gls/bib2gls-begin.pdf +2024/01/30 | 52450 | support/bib2gls/bib2gls-en.xml +2024/01/30 | 388 | support/bib2gls/bib2gls-extra-en.xml +2024/01/30 | 402 | support/bib2gls/bib2gls-extra-nl.xml +2024/01/30 | 419576 | support/bib2gls/bib2gls.jar +2024/01/30 | 5353372 | support/bib2gls/bib2gls.pdf +2024/01/30 | 630 | support/bib2gls/bib2gls.sh +2024/01/30 | 20246 | support/bib2gls/CHANGES +2024/01/30 | 7108 | support/bib2gls/convertgls2bib.1 +2024/01/30 | 40825 | support/bib2gls/convertgls2bib.jar +2024/01/30 | 404 | support/bib2gls/convertgls2bib.sh +2024/01/30 | 22 | support/bib2gls/DEPENDS.txt +2024/01/30 | 1603 | support/bib2gls/examples/animals.bib +2024/01/30 | 1219 | support/bib2gls/examples/bacteria.bib +2024/01/30 | 1031 | support/bib2gls/examples/baseunits.bib +2024/01/30 | 2994 | support/bib2gls/examples/bigmathsymbols.bib +2024/01/30 | 576 | support/bib2gls/examples/binaryoperators.bib +2024/01/30 | 3496 | support/bib2gls/examples/books.bib +2024/01/30 | 2585 | support/bib2gls/examples/chemicalformula.bib +2024/01/30 | 1371 | support/bib2gls/examples/citations.bib +2024/01/30 | 2392 | support/bib2gls/examples/constants.bib +2024/01/30 | 1580 | support/bib2gls/examples/derivedunits.bib +2024/01/30 | 5455 | support/bib2gls/examples/films.bib +2024/01/30 | 338 | support/bib2gls/examples/interpret-preamble2.bib +2024/01/30 | 328 | support/bib2gls/examples/interpret-preamble.bib +2024/01/30 | 1772 | support/bib2gls/examples/markuplanguages.bib +2024/01/30 | 3211 | support/bib2gls/examples/mathgreek.bib +2024/01/30 | 3672 | support/bib2gls/examples/mathsobjects.bib +2024/01/30 | 1265 | support/bib2gls/examples/mathsrelations.bib +2024/01/30 | 2419 | support/bib2gls/examples/minerals.bib +2024/01/30 | 2301 | support/bib2gls/examples/miscsymbols.bib +2024/01/30 | 328 | support/bib2gls/examples/no-interpret-preamble.bib +2024/01/30 | 4446 | support/bib2gls/examples/people.bib +2024/01/30 | 51552 | support/bib2gls/examples/sample-authors.pdf +2024/01/30 | 1506 | support/bib2gls/examples/sample-authors.tex +2024/01/30 | 54280 | support/bib2gls/examples/sample-bacteria.pdf +2024/01/30 | 1382 | support/bib2gls/examples/sample-bacteria.tex +2024/01/30 | 54064 | support/bib2gls/examples/sample-chemical.pdf +2024/01/30 | 1291 | support/bib2gls/examples/sample-chemical.tex +2024/01/30 | 49744 | support/bib2gls/examples/sample-citations.pdf +2024/01/30 | 1941 | support/bib2gls/examples/sample-citations.tex +2024/01/30 | 97818 | support/bib2gls/examples/sample-constants.pdf +2024/01/30 | 1378 | support/bib2gls/examples/sample-constants.tex +2024/01/30 | 52553 | support/bib2gls/examples/sample-hierarchical.pdf +2024/01/30 | 986 | support/bib2gls/examples/sample-hierarchical.tex +2024/01/30 | 61149 | support/bib2gls/examples/sample-markuplanguages.pdf +2024/01/30 | 1391 | support/bib2gls/examples/sample-markuplanguages.tex +2024/01/30 | 121252 | support/bib2gls/examples/sample-maths.pdf +2024/01/30 | 3129 | support/bib2gls/examples/sample-maths.tex +2024/01/30 | 166586 | support/bib2gls/examples/sample-media.pdf +2024/01/30 | 1734 | support/bib2gls/examples/sample-media.tex +2024/01/30 | 109247 | support/bib2gls/examples/sample-msymbols.pdf +2024/01/30 | 780 | support/bib2gls/examples/sample-msymbols.tex +2024/01/30 | 255473 | support/bib2gls/examples/sample-multi1.pdf +2024/01/30 | 5520 | support/bib2gls/examples/sample-multi1.tex +2024/01/30 | 330879 | support/bib2gls/examples/sample-multi2.pdf +2024/01/30 | 12775 | support/bib2gls/examples/sample-multi2.tex +2024/01/30 | 52565 | support/bib2gls/examples/sample-nested.pdf +2024/01/30 | 1344 | support/bib2gls/examples/sample-nested.tex +2024/01/30 | 50319 | support/bib2gls/examples/sample-people.pdf +2024/01/30 | 2367 | support/bib2gls/examples/sample-people.tex +2024/01/30 | 70301 | support/bib2gls/examples/sample-textsymbols2.pdf +2024/01/30 | 913 | support/bib2gls/examples/sample-textsymbols2.tex +2024/01/30 | 73095 | support/bib2gls/examples/sample-textsymbols.pdf +2024/01/30 | 1207 | support/bib2gls/examples/sample-textsymbols.tex +2024/01/30 | 57344 | support/bib2gls/examples/sample-units1.pdf +2024/01/30 | 1070 | support/bib2gls/examples/sample-units1.tex +2024/01/30 | 59080 | support/bib2gls/examples/sample-units2.pdf +2024/01/30 | 1234 | support/bib2gls/examples/sample-units2.tex +2024/01/30 | 44643 | support/bib2gls/examples/sample-units3.pdf +2024/01/30 | 1740 | support/bib2gls/examples/sample-units3.tex +2024/01/30 | 24421 | support/bib2gls/examples/sample-usergroups.pdf +2024/01/30 | 3254 | support/bib2gls/examples/sample-usergroups.tex +2024/01/30 | 640 | support/bib2gls/examples/terms.bib +2024/01/30 | 266 | support/bib2gls/examples/topics.bib +2024/01/30 | 557 | support/bib2gls/examples/unaryoperators.bib +2024/01/30 | 4053 | support/bib2gls/examples/usergroups.bib +2024/01/30 | 1091 | support/bib2gls/examples/vegetables.bib +2024/01/30 | 6793 | support/bib2gls/README.md +2024/01/30 | 236672 | support/bib2gls/src/bib2gls-begin.tex +2024/01/30 | 578474 | support/bib2gls/src/bib2gls.bib +2024/01/30 | 4298 | support/bib2gls/src/bib2gls-cite.bib +2024/01/30 | 14415 | support/bib2gls/src/bib2gls.pod +2024/01/30 | 322888 | support/bib2gls/src/bib2gls-src.zip +2024/01/30 | 19671 | support/bib2gls/src/bib2gls-terms.bib +2024/01/30 | 1146727 | support/bib2gls/src/bib2gls.tex +2024/01/30 | 4045 | support/bib2gls/src/convertgls2bib.pod +2024/01/30 | 33240 | support/bib2gls/src/gls2bib-src.zip +2024/01/30 | 1496140 | support/bib2gls/src/texparser-src.zip +2024/01/30 | 1780212 | support/bib2gls/texparserlib.jar +2024/01/30 | 12018463 | support/bib2gls.zip 1999/04/14 | 372041 | support/bibdb/bibdb20.zip 1999/04/14 | 1228948 | support/bibdb/bibdbsrc.zip 1999/04/14 | 686556 | support/bibdb/wbibdb22.zip @@ -292369,7 +292369,7 @@ 2021/05/03 | 629 | support/TeX4ht/doc/README 2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex 2021/05/11 | 262 | support/TeX4ht/README -2024/01/25 | 244522 | support/TeX4ht/source/ChangeLog +2024/01/29 | 244724 | support/TeX4ht/source/ChangeLog 2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua 2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex 2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex @@ -292381,7 +292381,7 @@ 2021/05/03 | 1121 | support/TeX4ht/source/README 2021/05/03 | 1744 | support/TeX4ht/source/t1fontmake.lua 2021/05/03 | 297 | support/TeX4ht/source/t1fontsample.tex -2024/01/24 | 1184083 | support/TeX4ht/source/tex4ht-4ht.tex +2024/01/29 | 1184230 | support/TeX4ht/source/tex4ht-4ht.tex 2021/05/03 | 7127 | support/TeX4ht/source/tex4ht-auto-script.tex 2021/05/16 | 1539 | support/TeX4ht/source/tex4ht-bibtex2.tex 2023/10/16 | 21307 | support/TeX4ht/source/tex4ht-cond4ht.tex @@ -292429,11 +292429,11 @@ 2021/05/03 | 90707 | support/TeX4ht/source/tex4ht-jsml-xtpipes.tex 2023/10/12 | 8418 | support/TeX4ht/source/tex4ht-mathjax.tex 2021/05/03 | 102444 | support/TeX4ht/source/tex4ht-mathltx.tex -2024/01/24 | 154170 | support/TeX4ht/source/tex4ht-mathml.tex +2024/01/29 | 154182 | support/TeX4ht/source/tex4ht-mathml.tex 2021/05/03 | 8860 | support/TeX4ht/source/tex4ht-mathplayer.tex 2023/09/11 | 46498 | support/TeX4ht/source/tex4ht-mkht.tex 2021/05/03 | 26652 | support/TeX4ht/source/tex4ht-moz.tex -2024/01/25 | 339668 | support/TeX4ht/source/tex4ht-ooffice.tex +2024/01/29 | 340016 | support/TeX4ht/source/tex4ht-ooffice.tex 2021/05/03 | 11161 | support/TeX4ht/source/tex4ht-ooimpress.tex 2021/05/03 | 45918 | support/TeX4ht/source/tex4ht-oo-xtpipes.tex 2024/01/10 | 13399 | support/TeX4ht/source/tex4ht-options.tex @@ -299803,9 +299803,9 @@ 2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz 2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz 2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz -2024/01/29 | 623088 | systems/texlive/tlnet/archive/easybook.doc.r69620.tar.xz -2024/01/29 | 16464 | systems/texlive/tlnet/archive/easybook.r69620.tar.xz -2024/01/29 | 16376 | systems/texlive/tlnet/archive/easybook.source.r69620.tar.xz +2024/01/30 | 623092 | systems/texlive/tlnet/archive/easybook.doc.r69628.tar.xz +2024/01/30 | 16520 | systems/texlive/tlnet/archive/easybook.r69628.tar.xz +2024/01/30 | 16432 | systems/texlive/tlnet/archive/easybook.source.r69628.tar.xz 2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz 2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.aarch64-linux.r68514.tar.xz 2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.amd64-freebsd.r68514.tar.xz @@ -303109,8 +303109,8 @@ 2019/02/28 | 2732 | systems/texlive/tlnet/archive/lkproof.r20021.tar.xz 2022/04/26 | 269964 | systems/texlive/tlnet/archive/llncsconf.doc.r63136.tar.xz 2022/04/26 | 2284 | systems/texlive/tlnet/archive/llncsconf.r63136.tar.xz -2023/11/03 | 211608 | systems/texlive/tlnet/archive/llncs.doc.r68731.tar.xz -2023/11/03 | 16636 | systems/texlive/tlnet/archive/llncs.r68731.tar.xz +2024/01/30 | 210056 | systems/texlive/tlnet/archive/llncs.doc.r69629.tar.xz +2024/01/30 | 16752 | systems/texlive/tlnet/archive/llncs.r69629.tar.xz 2019/02/28 | 269032 | systems/texlive/tlnet/archive/lmake.doc.r25552.tar.xz 2019/02/28 | 2016 | systems/texlive/tlnet/archive/lmake.r25552.tar.xz 2019/02/28 | 6828 | systems/texlive/tlnet/archive/lmake.source.r25552.tar.xz @@ -305884,8 +305884,8 @@ 2024/01/23 | 1336892 | systems/texlive/tlnet/archive/profcollege.r69539.tar.xz 2022/04/27 | 134096 | systems/texlive/tlnet/archive/proflabo.doc.r63147.tar.xz 2022/04/27 | 2748 | systems/texlive/tlnet/archive/proflabo.r63147.tar.xz -2024/01/22 | 1760496 | systems/texlive/tlnet/archive/proflycee.doc.r69525.tar.xz -2024/01/22 | 52196 | systems/texlive/tlnet/archive/proflycee.r69525.tar.xz +2024/01/30 | 1808456 | systems/texlive/tlnet/archive/proflycee.doc.r69630.tar.xz +2024/01/30 | 54928 | systems/texlive/tlnet/archive/proflycee.r69630.tar.xz 2024/01/22 | 297292 | systems/texlive/tlnet/archive/profmaquette.doc.r69526.tar.xz 2024/01/22 | 22356 | systems/texlive/tlnet/archive/profmaquette.r69526.tar.xz 2023/12/14 | 397408 | systems/texlive/tlnet/archive/profsio.doc.r69125.tar.xz @@ -306207,8 +306207,8 @@ 2019/02/28 | 244888 | systems/texlive/tlnet/archive/pst-slpe.doc.r24391.tar.xz 2019/02/28 | 3176 | systems/texlive/tlnet/archive/pst-slpe.r24391.tar.xz 2019/02/28 | 12612 | systems/texlive/tlnet/archive/pst-slpe.source.r24391.tar.xz -2019/02/28 | 267348 | systems/texlive/tlnet/archive/pst-solarsystem.doc.r45097.tar.xz -2019/02/28 | 4908 | systems/texlive/tlnet/archive/pst-solarsystem.r45097.tar.xz +2024/01/30 | 454548 | systems/texlive/tlnet/archive/pst-solarsystem.doc.r69627.tar.xz +2024/01/30 | 5156 | systems/texlive/tlnet/archive/pst-solarsystem.r69627.tar.xz 2023/11/10 | 5751600 | systems/texlive/tlnet/archive/pst-solides3d.doc.r68786.tar.xz 2023/11/10 | 55756 | systems/texlive/tlnet/archive/pst-solides3d.r68786.tar.xz 2019/02/28 | 84524 | systems/texlive/tlnet/archive/pst-soroban.doc.r15878.tar.xz @@ -307824,13 +307824,13 @@ 2023/08/16 | 108860 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r67940.tar.xz 2023/08/16 | 87320 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r67940.tar.xz 2023/08/16 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r67940.tar.xz -2024/01/26 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69593.tar.xz +2024/01/30 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69631.tar.xz 2023/08/16 | 93764 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r67940.tar.xz 2023/08/16 | 91236 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r67940.tar.xz 2023/08/16 | 76184 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r67940.tar.xz 2023/08/16 | 83936 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r67940.tar.xz -2024/01/26 | 1118844 | systems/texlive/tlnet/archive/tex4ht.r69593.tar.xz -2024/01/26 | 1483624 | systems/texlive/tlnet/archive/tex4ht.source.r69593.tar.xz +2024/01/30 | 1119012 | systems/texlive/tlnet/archive/tex4ht.r69631.tar.xz +2024/01/30 | 1486440 | systems/texlive/tlnet/archive/tex4ht.source.r69631.tar.xz 2023/08/16 | 184636 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r67940.tar.xz 2023/10/23 | 62056 | systems/texlive/tlnet/archive/tex4ht.windows.r68621.tar.xz 2023/08/16 | 57992 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r67940.tar.xz @@ -308108,7 +308108,7 @@ 2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz -2024/01/29 | 431908 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69617.tar.xz +2024/01/30 | 431908 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69626.tar.xz 2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz 2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz 2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz @@ -308130,7 +308130,7 @@ 2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz -2024/01/29 | 114052 | systems/texlive/tlnet/archive/texlive-scripts.r69617.tar.xz +2024/01/30 | 114048 | systems/texlive/tlnet/archive/texlive-scripts.r69626.tar.xz 2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz 2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz @@ -310034,16 +310034,16 @@ 2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz 2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz 2024/01/27 | 125030 | systems/texlive/tlnet/install-tl -2024/01/29 | 5749319 | systems/texlive/tlnet/install-tl-unx.tar.gz -2024/01/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2024/01/29 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2024/01/30 | 5746854 | systems/texlive/tlnet/install-tl-unx.tar.gz +2024/01/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2024/01/30 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat -2024/01/29 | 21029308 | systems/texlive/tlnet/install-tl-windows.exe -2024/01/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2024/01/29 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2024/01/29 | 26034293 | systems/texlive/tlnet/install-tl.zip -2024/01/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2024/01/29 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2024/01/30 | 21029619 | systems/texlive/tlnet/install-tl-windows.exe +2024/01/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2024/01/30 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2024/01/30 | 26034288 | systems/texlive/tlnet/install-tl.zip +2024/01/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2024/01/30 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2023/03/19 | 1229 | systems/texlive/tlnet/README.md 2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023 2024/01/02 | 9011 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -310053,7 +310053,7 @@ 2024/01/02 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2024/01/16 | 50726 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2024/01/28 | 7340 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2024/01/29 | 7322 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2023/12/13 | 226639 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt 2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe 2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt @@ -310095,12 +310095,12 @@ 2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2024/01/07 | 5844 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2024/01/29 | 18819374 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2024/01/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2024/01/30 | 18819376 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2024/01/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2023/10/16 | 87924 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2024/01/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2024/01/29 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2024/01/29 | 2524840 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2024/01/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2024/01/30 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2024/01/30 | 2525028 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -321229,7 +321229,7 @@ 2014/07/05 | 611 | systems/win32/yandy/README 2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz 2014/07/05 | 1012416 | systems/win32/yandy.zip -2024/01/30 | 186 | timestamp +2024/01/31 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz index 2dd66d0ccf..a6f8bff022 100644 Binary files a/FILES.byname.gz and b/FILES.byname.gz differ diff --git a/FILES.last07days b/FILES.last07days index bb42138dd1..1625890fac 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,13 +1,194 @@ +2024/01/30 | 986 | support/bib2gls/examples/sample-hierarchical.tex +2024/01/30 | 97818 | support/bib2gls/examples/sample-constants.pdf +2024/01/30 | 94820 | fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf +2024/01/30 | 94764 | fonts/kpfonts-otf/fonts/KpSans-Italic.otf +2024/01/30 | 92 | fonts/kpfonts-otf/tex/KpMath-Light.fontspec +2024/01/30 | 91 | fonts/kpfonts-otf/tex/KpMath-Sans.fontspec +2024/01/30 | 918111 | macros/latex/contrib/achemso.zip +2024/01/30 | 913 | support/bib2gls/examples/sample-textsymbols2.tex +2024/01/30 | 90 | fonts/kpfonts-otf/tex/KpMath-Regular.fontspec +2024/01/30 | 88362 | macros/latex/contrib/easybook/easybook.tex +2024/01/30 | 87012 | fonts/kpfonts-otf/fonts/KpSans-Bold.otf +2024/01/30 | 85752 | fonts/kpfonts-otf/fonts/KpSans-Regular.otf +2024/01/30 | 84379 | macros/unicodetex/latex/xgreek.zip +2024/01/30 | 780 | support/bib2gls/examples/sample-msymbols.tex +2024/01/30 | 75435 | macros/latex/contrib/easybook/easybook.dtx +2024/01/30 | 73095 | support/bib2gls/examples/sample-textsymbols.pdf +2024/01/30 | 73014 | macros/unicodetex/latex/xgreek/xgreek.pdf +2024/01/30 | 720287 | support/bib2gls/bib2gls-begin.pdf +2024/01/30 | 7108 | support/bib2gls/convertgls2bib.1 +2024/01/30 | 7083 | macros/latex/contrib/achemso/achemso.ins 2024/01/30 | 7067 | language/japanese/BX/bxjscls/README.md +2024/01/30 | 70301 | support/bib2gls/examples/sample-textsymbols2.pdf +2024/01/30 | 6793 | support/bib2gls/README.md +2024/01/30 | 642129 | macros/latex/contrib/easybook.zip +2024/01/30 | 640 | support/bib2gls/examples/terms.bib +2024/01/30 | 630 | support/bib2gls/bib2gls.sh +2024/01/30 | 623092 | systems/texlive/tlnet/archive/easybook.doc.r69628.tar.xz +2024/01/30 | 61149 | support/bib2gls/examples/sample-markuplanguages.pdf +2024/01/30 | 599182 | macros/latex/contrib/easybook/easybook.pdf +2024/01/30 | 59080 | support/bib2gls/examples/sample-units2.pdf +2024/01/30 | 578474 | support/bib2gls/src/bib2gls.bib +2024/01/30 | 576 | support/bib2gls/examples/binaryoperators.bib +2024/01/30 | 5746854 | systems/texlive/tlnet/install-tl-unx.tar.gz +2024/01/30 | 57344 | support/bib2gls/examples/sample-units1.pdf +2024/01/30 | 557 | support/bib2gls/examples/unaryoperators.bib +2024/01/30 | 5520 | support/bib2gls/examples/sample-multi1.tex +2024/01/30 | 54928 | systems/texlive/tlnet/archive/proflycee.r69630.tar.xz +2024/01/30 | 5455 | support/bib2gls/examples/films.bib +2024/01/30 | 54280 | support/bib2gls/examples/sample-bacteria.pdf +2024/01/30 | 54064 | support/bib2gls/examples/sample-chemical.pdf +2024/01/30 | 5353372 | support/bib2gls/bib2gls.pdf +2024/01/30 | 525861 | macros/latex/contrib/achemso/achemso.pdf +2024/01/30 | 52565 | support/bib2gls/examples/sample-nested.pdf +2024/01/30 | 52553 | support/bib2gls/examples/sample-hierarchical.pdf +2024/01/30 | 5245 | macros/latex/contrib/achemso/achemso-demo.bib +2024/01/30 | 52450 | support/bib2gls/bib2gls-en.xml +2024/01/30 | 5156 | systems/texlive/tlnet/archive/pst-solarsystem.r69627.tar.xz +2024/01/30 | 51552 | support/bib2gls/examples/sample-authors.pdf +2024/01/30 | 50319 | support/bib2gls/examples/sample-people.pdf +2024/01/30 | 49744 | support/bib2gls/examples/sample-citations.pdf +2024/01/30 | 49568 | fonts/kpfonts-otf/fonts/KpMono-Italic.otf +2024/01/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2024/01/30 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2024/01/30 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2024/01/30 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2024/01/30 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2024/01/30 | 48260 | fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf +2024/01/30 | 480 | fonts/kpfonts-otf/tex/KpLight.fontspec +2024/01/30 | 469 | fonts/kpfonts-otf/tex/KpRoman.fontspec 2024/01/30 | 465390 | language/japanese/BX/bxjscls/bxjscls.dtx +2024/01/30 | 464 | macros/latex/contrib/achemso/LICENSE.md +2024/01/30 | 454548 | systems/texlive/tlnet/archive/pst-solarsystem.doc.r69627.tar.xz +2024/01/30 | 451004 | fonts/kpfonts-otf/fonts/KpMath-Light.otf +2024/01/30 | 44643 | support/bib2gls/examples/sample-units3.pdf +2024/01/30 | 4446 | support/bib2gls/examples/people.bib +2024/01/30 | 4384920 | fonts/kpfonts-otf.zip +2024/01/30 | 431908 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69626.tar.xz +2024/01/30 | 4298 | support/bib2gls/src/bib2gls-cite.bib +2024/01/30 | 425596 | fonts/kpfonts-otf/fonts/KpMath-Regular.otf +2024/01/30 | 42248 | fonts/kpfonts-otf/fonts/KpMono-Regular.otf +2024/01/30 | 419576 | support/bib2gls/bib2gls.jar +2024/01/30 | 4117 | macros/unicodetex/latex/xgreek/README +2024/01/30 | 4116249 | biblio/ctan-bibdata.zip +2024/01/30 | 41096 | fonts/kpfonts-otf/fonts/KpMono-Bold.otf +2024/01/30 | 40825 | support/bib2gls/convertgls2bib.jar +2024/01/30 | 4053 | support/bib2gls/examples/usergroups.bib +2024/01/30 | 404 | support/bib2gls/convertgls2bib.sh +2024/01/30 | 4045 | support/bib2gls/src/convertgls2bib.pod +2024/01/30 | 402 | support/bib2gls/bib2gls-extra-nl.xml +2024/01/30 | 388 | support/bib2gls/bib2gls-extra-en.xml +2024/01/30 | 383068 | macros/latex/contrib/achemso/achemso-demo.pdf +2024/01/30 | 3708800 | biblio/ctan-bibdata/ctan.pdf +2024/01/30 | 37064 | macros/unicodetex/latex/xgreek/xgreek.dtx +2024/01/30 | 3672 | support/bib2gls/examples/mathsobjects.bib +2024/01/30 | 35903 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx +2024/01/30 | 3496 | support/bib2gls/examples/books.bib +2024/01/30 | 338 | support/bib2gls/examples/interpret-preamble2.bib +2024/01/30 | 33476 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx +2024/01/30 | 33240 | support/bib2gls/src/gls2bib-src.zip +2024/01/30 | 330879 | support/bib2gls/examples/sample-multi2.pdf +2024/01/30 | 328 | support/bib2gls/examples/no-interpret-preamble.bib +2024/01/30 | 328 | support/bib2gls/examples/interpret-preamble.bib +2024/01/30 | 3254 | support/bib2gls/examples/sample-usergroups.tex +2024/01/30 | 322888 | support/bib2gls/src/bib2gls-src.zip +2024/01/30 | 3211 | support/bib2gls/examples/mathgreek.bib +2024/01/30 | 3129 | support/bib2gls/examples/sample-maths.tex +2024/01/30 | 2994 | support/bib2gls/examples/bigmathsymbols.bib +2024/01/30 | 293084 | fonts/kpfonts-otf/fonts/KpMath-Sans.otf +2024/01/30 | 2843081 | biblio/ctan-bibdata/ctan.bib +2024/01/30 | 266 | support/bib2gls/examples/topics.bib +2024/01/30 | 26034288 | systems/texlive/tlnet/install-tl.zip +2024/01/30 | 2585 | support/bib2gls/examples/chemicalformula.bib +2024/01/30 | 256604 | fonts/kpfonts-otf/fonts/KpMath-Semibold.otf +2024/01/30 | 255473 | support/bib2gls/examples/sample-multi1.pdf +2024/01/30 | 2525028 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2024/01/30 | 24421 | support/bib2gls/examples/sample-usergroups.pdf +2024/01/30 | 2419 | support/bib2gls/examples/minerals.bib +2024/01/30 | 2392 | support/bib2gls/examples/constants.bib +2024/01/30 | 2367 | support/bib2gls/examples/sample-people.tex +2024/01/30 | 236672 | support/bib2gls/src/bib2gls-begin.tex +2024/01/30 | 232784 | fonts/kpfonts-otf/fonts/KpMath-Bold.otf +2024/01/30 | 231 | fonts/kpfonts-otf/tex/KpSans.fontspec +2024/01/30 | 2301 | support/bib2gls/examples/miscsymbols.bib +2024/01/30 | 22 | support/bib2gls/DEPENDS.txt +2024/01/30 | 21029619 | systems/texlive/tlnet/install-tl-windows.exe +2024/01/30 | 210056 | systems/texlive/tlnet/archive/llncs.doc.r69629.tar.xz +2024/01/30 | 20536 | support/bib2gls/bib2gls.1 +2024/01/30 | 20246 | support/bib2gls/CHANGES +2024/01/30 | 20068 | fonts/kpfonts-otf/tex/kpfonts-otf.sty +2024/01/30 | 19671 | support/bib2gls/src/bib2gls-terms.bib +2024/01/30 | 19530 | macros/latex/contrib/achemso/CHANGELOG.md +2024/01/30 | 195060 | fonts/kpfonts-otf/fonts/KpMath-SansBold.otf +2024/01/30 | 1941 | support/bib2gls/examples/sample-citations.tex +2024/01/30 | 18819376 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2024/01/30 | 185 | fonts/kpfonts-otf/tex/KpMono.fontspec +2024/01/30 | 1839970 | fonts/kpfonts-otf/doc/unimath-kpfonts.pdf +2024/01/30 | 1808456 | systems/texlive/tlnet/archive/proflycee.doc.r69630.tar.xz +2024/01/30 | 180229 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf +2024/01/30 | 1780212 | support/bib2gls/texparserlib.jar 2024/01/30 | 17747 | language/japanese/BX/bxjscls/README-ja.md +2024/01/30 | 1772 | support/bib2gls/examples/markuplanguages.bib +2024/01/30 | 176787 | fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf +2024/01/30 | 1740 | support/bib2gls/examples/sample-units3.tex +2024/01/30 | 1734 | support/bib2gls/examples/sample-media.tex +2024/01/30 | 16806 | fonts/kpfonts-otf/doc/unimath-kpfonts.ltx +2024/01/30 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2024/01/30 | 16752 | systems/texlive/tlnet/archive/llncs.r69629.tar.xz +2024/01/30 | 166586 | support/bib2gls/examples/sample-media.pdf +2024/01/30 | 16520 | systems/texlive/tlnet/archive/easybook.r69628.tar.xz +2024/01/30 | 16432 | systems/texlive/tlnet/archive/easybook.source.r69628.tar.xz +2024/01/30 | 16202 | macros/latex/contrib/achemso/achemso-demo.tex +2024/01/30 | 1607 | macros/unicodetex/latex/xgreek/xgreek.ins +2024/01/30 | 1603 | support/bib2gls/examples/animals.bib +2024/01/30 | 1580 | support/bib2gls/examples/derivedunits.bib +2024/01/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2024/01/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2024/01/30 | 1506 | support/bib2gls/examples/sample-authors.tex +2024/01/30 | 1496140 | support/bib2gls/src/texparser-src.zip +2024/01/30 | 149587 | macros/latex/contrib/achemso/achemso.dtx +2024/01/30 | 1486440 | systems/texlive/tlnet/archive/tex4ht.source.r69631.tar.xz 2024/01/30 | 1461 | language/japanese/BX/bxjscls/LICENSE +2024/01/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2024/01/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2024/01/30 | 14415 | support/bib2gls/src/bib2gls.pod +2024/01/30 | 1391 | support/bib2gls/examples/sample-markuplanguages.tex +2024/01/30 | 1382 | support/bib2gls/examples/sample-bacteria.tex +2024/01/30 | 1378 | support/bib2gls/examples/sample-constants.tex +2024/01/30 | 1371 | support/bib2gls/examples/citations.bib +2024/01/30 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69631.tar.xz +2024/01/30 | 1344 | support/bib2gls/examples/sample-nested.tex +2024/01/30 | 1333 | macros/latex/contrib/achemso/README.md +2024/01/30 | 1291 | support/bib2gls/examples/sample-chemical.tex +2024/01/30 | 12775 | support/bib2gls/examples/sample-multi2.tex +2024/01/30 | 126664 | fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf +2024/01/30 | 1265 | support/bib2gls/examples/mathsrelations.bib +2024/01/30 | 124228 | fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf +2024/01/30 | 1234 | support/bib2gls/examples/sample-units2.tex +2024/01/30 | 1219 | support/bib2gls/examples/bacteria.bib +2024/01/30 | 121252 | support/bib2gls/examples/sample-maths.pdf +2024/01/30 | 1207 | support/bib2gls/examples/sample-textsymbols.tex +2024/01/30 | 12018463 | support/bib2gls.zip +2024/01/30 | 117168 | fonts/kpfonts-otf/fonts/KpRoman-Italic.otf +2024/01/30 | 116696 | fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf +2024/01/30 | 116608 | fonts/kpfonts-otf/fonts/KpRoman-Bold.otf +2024/01/30 | 1146727 | support/bib2gls/src/bib2gls.tex +2024/01/30 | 114436 | fonts/kpfonts-otf/fonts/KpRoman-Regular.otf +2024/01/30 | 114048 | systems/texlive/tlnet/archive/texlive-scripts.r69626.tar.xz +2024/01/30 | 114024 | fonts/kpfonts-otf/fonts/KpRoman-Light.otf +2024/01/30 | 113636 | fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf +2024/01/30 | 1119012 | systems/texlive/tlnet/archive/tex4ht.r69631.tar.xz +2024/01/30 | 109247 | support/bib2gls/examples/sample-msymbols.pdf +2024/01/30 | 1091 | support/bib2gls/examples/vegetables.bib +2024/01/30 | 1070 | support/bib2gls/examples/sample-units1.tex +2024/01/30 | 10627 | fonts/kpfonts-otf/README.md +2024/01/30 | 1031 | support/bib2gls/examples/baseunits.bib +2024/01/30 | 1029932 | install/macros/latex/contrib/achemso.tds.zip 2024/01/29 | 992 | macros/latex/contrib/llncs/README.md 2024/01/29 | 97401 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-bg.inc.sty 2024/01/29 | 9564 | systems/texlive/tlnet/archive/randexam.r69622.tar.xz 2024/01/29 | 94659 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-de.inc.sty 2024/01/29 | 93867 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-fr.inc.sty -2024/01/29 | 88359 | macros/latex/contrib/easybook/easybook.tex 2024/01/29 | 862 | macros/latex/contrib/mhchem/manifest.txt 2024/01/29 | 85645 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-cs.inc.sty 2024/01/29 | 84984 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-en.inc.sty @@ -28,59 +209,38 @@ 2024/01/29 | 79049 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-da.inc.sty 2024/01/29 | 79034 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-nl.inc.sty 2024/01/29 | 79025 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-sv.inc.sty -2024/01/29 | 75635 | macros/latex/contrib/easybook/easybook.dtx 2024/01/29 | 736 | macros/latex/contrib/mhchem/README +2024/01/29 | 7322 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2024/01/29 | 706861 | macros/latex/contrib/mhchem.zip 2024/01/29 | 67781 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-ga.inc.sty -2024/01/29 | 642114 | macros/latex/contrib/easybook.zip -2024/01/29 | 623088 | systems/texlive/tlnet/archive/easybook.doc.r69620.tar.xz -2024/01/29 | 599150 | macros/latex/contrib/easybook/easybook.pdf -2024/01/29 | 5749319 | systems/texlive/tlnet/install-tl-unx.tar.gz 2024/01/29 | 546673 | graphics/pstricks/contrib/pst-solarsystem/doc/pst-solarsystem-doc.pdf 2024/01/29 | 51987 | macros/latex/contrib/mhchem/mhchem.tex 2024/01/29 | 517 | graphics/pstricks/contrib/pst-solarsystem/latex/pst-solarsystem.sty 2024/01/29 | 504 | systems/texlive/tlnet/archive/comprehensive.r69619.tar.xz 2024/01/29 | 504991 | graphics/pstricks/contrib/pst-solarsystem.zip -2024/01/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 -2024/01/29 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2024/01/29 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2024/01/29 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2024/01/29 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2024/01/29 | 43402 | macros/latex/contrib/llncs/llncs.cls -2024/01/29 | 431908 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69617.tar.xz 2024/01/29 | 426852 | systems/texlive/tlnet/archive/mhchem.doc.r69624.tar.xz -2024/01/29 | 4116248 | biblio/ctan-bibdata.zip 2024/01/29 | 410230 | macros/latex/contrib/mhchem/mhchem.pdf 2024/01/29 | 383 | graphics/pstricks/contrib/pst-solarsystem/README 2024/01/29 | 381 | graphics/pstricks/contrib/pst-solarsystem/Changes -2024/01/29 | 3708800 | biblio/ctan-bibdata/ctan.pdf 2024/01/29 | 3534 | graphics/pstricks/contrib/pst-solarsystem/doc/pst-solarsystem-doc.tex +2024/01/29 | 340016 | support/TeX4ht/source/tex4ht-ooffice.tex 2024/01/29 | 32786992 | systems/texlive/tlnet/archive/comprehensive.doc.r69619.tar.xz -2024/01/29 | 2843062 | biblio/ctan-bibdata/ctan.bib -2024/01/29 | 26034293 | systems/texlive/tlnet/install-tl.zip -2024/01/29 | 2524840 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2024/01/29 | 246371 | macros/latex/contrib/proflycee/doc/ProfLycee-docctan.zip +2024/01/29 | 244724 | support/TeX4ht/source/ChangeLog 2024/01/29 | 232527 | macros/latex/contrib/llncs/llncsdoc.pdf 2024/01/29 | 231160 | macros/latex/contrib/llncs.zip 2024/01/29 | 218680 | systems/texlive/tlnet/archive/randexam.doc.r69622.tar.xz -2024/01/29 | 21029308 | systems/texlive/tlnet/install-tl-windows.exe 2024/01/29 | 1885482 | macros/latex/contrib/proflycee.zip -2024/01/29 | 18819374 | systems/texlive/tlnet/tlpkg/texlive.tlpdb 2024/01/29 | 186400 | systems/texlive/tlnet/archive/mhchem.r69624.tar.xz 2024/01/29 | 17763 | macros/latex/contrib/llncs/llncsdoc.tex -2024/01/29 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx -2024/01/29 | 16464 | systems/texlive/tlnet/archive/easybook.r69620.tar.xz -2024/01/29 | 16376 | systems/texlive/tlnet/archive/easybook.source.r69620.tar.xz 2024/01/29 | 15670 | macros/latex/contrib/mhchem/hpstatement.sty -2024/01/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2024/01/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2024/01/29 | 154182 | support/TeX4ht/source/tex4ht-mathml.tex 2024/01/29 | 151648 | systems/texlive/tlnet/archive/texlive-msg-translations.r69618.tar.xz -2024/01/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2024/01/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 2024/01/29 | 1421999 | language/japanese/BX/bxjscls.zip 2024/01/29 | 1348 | systems/texlive/tlnet/archive/hvqrurl.r69621.tar.xz 2024/01/29 | 133877 | macros/latex/contrib/mhchem/mhchem.sty -2024/01/29 | 114052 | systems/texlive/tlnet/archive/texlive-scripts.r69617.tar.xz +2024/01/29 | 1184230 | support/TeX4ht/source/tex4ht-4ht.tex 2024/01/29 | 113684 | systems/texlive/tlnet/archive/hvqrurl.doc.r69621.tar.xz 2024/01/29 | 11342 | graphics/pstricks/contrib/pst-solarsystem/tex/pst-solarsystem.tex 2024/01/29 | 100832 | macros/latex/contrib/mhchem/hpstatement.inc/hpstatement-ro.inc.sty @@ -119,7 +279,6 @@ 2024/01/28 | 7599 | systems/win32/miktex/tm/packages/proof-at-the-end.tar.lzma 2024/01/28 | 75117 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma 2024/01/28 | 73411 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2024/01/28 | 7340 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2024/01/28 | 73380 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma 2024/01/28 | 7310 | macros/latex/contrib/hvqrurl/doc/hvqrurl.tex 2024/01/28 | 7245 | systems/win32/miktex/tm/packages/scrabble__source.tar.lzma @@ -859,14 +1018,12 @@ 2024/01/26 | 1518 | macros/latex/contrib/memoir/doc-src/anvil2.mps 2024/01/26 | 1500 | macros/latex/contrib/regulatory/doc/regulatory-en.tex 2024/01/26 | 14896 | graphics/pgf/contrib/scrabble/doc/Scrabble-doc-fr.tex -2024/01/26 | 1483624 | systems/texlive/tlnet/archive/tex4ht.source.r69593.tar.xz 2024/01/26 | 146932 | macros/latex/contrib/undar-digitacion/undar-digitacion.dtx 2024/01/26 | 14597 | macros/latex/contrib/memoir/doc-src/memlays.sty 2024/01/26 | 1445 | macros/latex/contrib/tagpdf/ex-structure-obsolete.tex 2024/01/26 | 141163 | macros/latex/contrib/tagpdf/pac3.PNG 2024/01/26 | 137774 | macros/latex/contrib/babel-contrib/samin.zip 2024/01/26 | 137510 | macros/latex/contrib/babel-contrib/samin/samin.pdf -2024/01/26 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69593.tar.xz 2024/01/26 | 1353 | fonts/simpleicons/map/simpleicons.map 2024/01/26 | 133745 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.pdf 2024/01/26 | 1325 | macros/latex/contrib/tagpdf/ex-attribute.tex @@ -893,7 +1050,6 @@ 2024/01/26 | 1160 | macros/latex/contrib/tagpdf/ex-AF-file.tex 2024/01/26 | 11561 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.tex 2024/01/26 | 1148046 | macros/latex/contrib/memoir/memoir.dtx -2024/01/26 | 1118844 | systems/texlive/tlnet/archive/tex4ht.r69593.tar.xz 2024/01/26 | 1112781 | graphics/pgf/contrib/scrabble.zip 2024/01/26 | 1095221 | macros/latex/contrib/tagpdf/tagpdf.pdf 2024/01/26 | 1063 | macros/latex/contrib/tagpdf/ex-list.tex @@ -929,7 +1085,6 @@ 2024/01/25 | 3687 | macros/latex/contrib/siunitx/siunitx.ins 2024/01/25 | 359818 | info/dtxtut/dtxtut.pdf 2024/01/25 | 355007 | info/dtxtut.zip -2024/01/25 | 339668 | support/TeX4ht/source/tex4ht-ooffice.tex 2024/01/25 | 31812 | macros/latex/contrib/siunitx/siunitx-emulation.dtx 2024/01/25 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg 2024/01/25 | 3077 | macros/latex/contrib/non-decimal-units/latex/non-decimal-units.danish.tex @@ -944,7 +1099,6 @@ 2024/01/25 | 269508 | systems/texlive/tlnet/archive/moloch.doc.r69579.tar.xz 2024/01/25 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex 2024/01/25 | 260380 | macros/latex/contrib/nicematrix/nicematrix.tex -2024/01/25 | 244522 | support/TeX4ht/source/ChangeLog 2024/01/25 | 239432 | systems/texlive/tlnet/archive/bclogo.r69578.tar.xz 2024/01/25 | 2357121 | macros/latex/contrib/nicematrix.zip 2024/01/25 | 22232 | macros/latex/contrib/siunitx/siunitx.dtx @@ -1118,7 +1272,6 @@ 2024/01/24 | 1589 | graphics/bclogo/tex/bc-trombone.mps 2024/01/24 | 1567 | graphics/bclogo/metapost/bc-outil.mp 2024/01/24 | 1556 | graphics/bclogo/tex/bc-outil.mps -2024/01/24 | 154170 | support/TeX4ht/source/tex4ht-mathml.tex 2024/01/24 | 15052 | graphics/bclogo/metapost/bc-crayon.mp 2024/01/24 | 14941 | graphics/bclogo/metapost/bc-orne.mp 2024/01/24 | 14532 | systems/texlive/tlnet/archive/frenchmath.source.r69568.tar.xz @@ -1141,7 +1294,6 @@ 2024/01/24 | 1194 | graphics/bclogo/tex/bc-etoile.mps 2024/01/24 | 119479 | graphics/bclogo/metapost/bc-plume.mp 2024/01/24 | 1188 | systems/texlive/tlcontrib/archive/fontsetup-nonfree.r378.tar.xz -2024/01/24 | 1184083 | support/TeX4ht/source/tex4ht-4ht.tex 2024/01/24 | 114196 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb.xz 2024/01/24 | 11119 | graphics/bclogo/tex/bc-orne.mps 2024/01/24 | 109776 | systems/texlive/tlnet/archive/dvisvgm.doc.r69568.tar.xz @@ -1163,53 +1315,3 @@ 2024/01/24 | 10428 | graphics/bclogo/metapost/bc-dbulgarie.mp 2024/01/24 | 10399 | graphics/bclogo/metapost/bc-dallemagne.mp 2024/01/24 | 10389 | graphics/bclogo/metapost/bc-ours.mp -2024/01/23 | 94352 | macros/latex/contrib/ppt-slides/socrates.jpg -2024/01/23 | 935972 | macros/latex/contrib/ppt-slides/ppt-slides.pdf -2024/01/23 | 752 | support/texshop/README.txt -2024/01/23 | 7268 | macros/luatex/latex/lua-placeholders/scripts/lua-placeholders.lua -2024/01/23 | 67759 | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.pdf -2024/01/23 | 668 | macros/latex/contrib/ppt-slides/DEPENDS.txt -2024/01/23 | 631 | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-deps.bib -2024/01/23 | 62228 | systems/texlive/tlnet/archive/acmart.source.r69535.tar.xz -2024/01/23 | 609872 | systems/texlive/tlnet/archive/l3kernel.source.r69537.tar.xz -2024/01/23 | 5685 | macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx -2024/01/23 | 5584 | macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx -2024/01/23 | 5385 | macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex -2024/01/23 | 4853068 | systems/texlive/tlnet/archive/acmart.doc.r69535.tar.xz -2024/01/23 | 463612 | systems/texlive/tlnet/archive/mcmthesis.doc.r69538.tar.xz -2024/01/23 | 4292 | systems/texlive/tlnet/archive/mcmthesis.r69538.tar.xz -2024/01/23 | 42856 | systems/texlive/tlnet/archive/acmart.r69535.tar.xz -2024/01/23 | 3989 | macros/latex/contrib/ppt-slides/ppt-templates/ppt-9x6.tex -2024/01/23 | 3666 | macros/luatex/latex/lua-placeholders/scripts/lua-placeholders-parser.lua -2024/01/23 | 333435 | macros/luatex/latex/lua-placeholders.zip -2024/01/23 | 3216 | macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md -2024/01/23 | 290974 | support/TeX4ht/source/tex4ht-sty.tex -2024/01/23 | 2891 | macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx -2024/01/23 | 2852 | macros/luatex/latex/lua-placeholders/tex/lua-placeholders.sty -2024/01/23 | 2640 | macros/latex/contrib/ppt-slides/ppt-slides.ins -2024/01/23 | 263101 | macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdf -2024/01/23 | 257529 | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-manual.pdf -2024/01/23 | 230888 | info/spanish/antique-spanish-units.zip -2024/01/23 | 2284 | macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx -2024/01/23 | 2255 | macros/latex/contrib/beamer-contrib/themes/moloch/README.md -2024/01/23 | 20934 | macros/latex/contrib/ppt-slides/ppt-slides.dtx -2024/01/23 | 20139 | macros/latex/contrib/beamer-contrib/themes/moloch/LICENSE -2024/01/23 | 181092 | systems/texlive/tlnet/archive/fancyvrb.doc.r69536.tar.xz -2024/01/23 | 176940 | systems/texlive/tlnet/archive/l3kernel.r69537.tar.xz -2024/01/23 | 1584 | macros/latex/contrib/ppt-slides/README.md -2024/01/23 | 15848 | systems/texlive/tlnet/archive/mcmthesis.source.r69538.tar.xz -2024/01/23 | 14424556 | systems/texlive/tlnet/archive/profcollege.doc.r69539.tar.xz -2024/01/23 | 1420 | macros/latex/contrib/ppt-slides/ppt-schemes/ppt-light.tex -2024/01/23 | 1420 | macros/latex/contrib/ppt-slides/ppt-schemes/ppt-light-mono.tex -2024/01/23 | 1420 | macros/latex/contrib/ppt-slides/ppt-schemes/ppt-dark.tex -2024/01/23 | 1420 | macros/latex/contrib/ppt-slides/ppt-schemes/ppt-dark-mono.tex -2024/01/23 | 14160 | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-manual.tex -2024/01/23 | 14124 | macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx -2024/01/23 | 13570 | macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex -2024/01/23 | 1336892 | systems/texlive/tlnet/archive/profcollege.r69539.tar.xz -2024/01/23 | 1296 | macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.ins -2024/01/23 | 12220920 | systems/texlive/tlnet/archive/l3kernel.doc.r69537.tar.xz -2024/01/23 | 11892 | systems/texlive/tlnet/archive/fancyvrb.r69536.tar.xz -2024/01/23 | 1083 | macros/latex/contrib/ppt-slides/LICENSE.txt -2024/01/23 | 10527 | support/texshop/texshop525.html -2024/01/23 | 1022264 | macros/latex/contrib/ppt-slides.zip diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib index 1dcd209a0c..100d9dfd7f 100644 --- a/biblio/ctan-bibdata/ctan.bib +++ b/biblio/ctan-bibdata/ctan.bib @@ -1,7 +1,7 @@ %% bib file of all CTAN packages %% (C) Herbert Voß %% -%% created at 29-01-2024, 02:00:03 +%% created at 30-01-2024, 02:00:04 %% %% This file is provided under the terms of the LPPL v1.3 or @@ -10269,8 +10269,8 @@ title = {The \texttt{BXjscls} package}, subtitle = {Japanese document class collection for all major engines}, author = {Takayuki Yato}, - date = {2023-07-17}, - version = {2.9}, + date = {2024-01-29}, + version = {2.9b}, license = {bsd2}, mirror = {https://mirror.ctan.org/language/japanese/BX/bxjscls}, url = {https://ctan.org/pkg/bxjscls}, @@ -20707,8 +20707,8 @@ title = {The \texttt{easybook} package}, subtitle = {Easily typesetting Chinese theses or books}, author = {Qu Yi}, - date = {2024-01-28}, - version = {2024O}, + date = {2024-01-29}, + version = {2024P}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/easybook}, url = {https://ctan.org/pkg/easybook}, @@ -28579,7 +28579,7 @@ title = {The \texttt{genealogy-profiles} package}, subtitle = {Genealogical profiles for \LaTeX{}}, author = {Mikkel Eide Eriksen}, - date = {2024-01-25}, + date = {2024-01-29}, version = {}, license = {cc-by-sa-4}, mirror = {https://mirror.ctan.org/macros/latex/contrib/genealogy-profiles}, @@ -40366,8 +40366,8 @@ title = {The \texttt{llncs} package}, subtitle = {Document class and bibliography style for Lecture Notes in Computer Science (LNCS)}, author = {Markus Richter}, - date = {2023-11-02}, - version = {2.23}, + date = {2024-01-29}, + version = {2.24}, license = {cc-by-4}, mirror = {https://mirror.ctan.org/macros/latex/contrib/llncs}, url = {https://ctan.org/pkg/llncs}, @@ -45537,7 +45537,7 @@ title = {The \texttt{mhchem} package}, subtitle = {Typeset chemical formulae/equations and H and P statements}, author = {Martin Hensel}, - date = {2021-12-31}, + date = {2024-01-29}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/mhchem}, @@ -45701,10 +45701,10 @@ title = {The \texttt{miktex-portable} package}, subtitle = {A version of MikTeX to carry around}, author = {Christian Schenk}, - date = {2023-09-23}, - version = {23.9}, + date = {2024-01-29}, + version = {23.10}, license = {other-free}, - mirror = {https://mirror.ctan.org/systems/win32/miktex/setup/windows-x64/basic-miktex-23.9-x64.exe}, + mirror = {https://mirror.ctan.org/systems/win32/miktex/setup/windows-x64/basic-miktex-23.10-x64.exe}, url = {https://ctan.org/pkg/miktex-portable}, annotation = {The portable edition allows you to run MiKTeX from a portable storage device. Please note that there is no seperate installer. Just download the @@ -46706,7 +46706,7 @@ title = {The \texttt{moloch} package}, subtitle = {Beamer based on Metropolis theme}, author = {Johan Larsson}, - date = {2024-01-25}, + date = {2024-01-29}, version = {0.1.0}, license = {cc-by-sa-4}, mirror = {https://mirror.ctan.org/macros/latex/contrib/beamer-contrib/themes/moloch}, @@ -47675,10 +47675,10 @@ title = {The \texttt{MusiXTeX} package}, subtitle = {Sophisticated music typesetting}, author = {Bob Tennent and Don Simons and Jean-Pierre Coulon and Hiroaki Morimoto and Olivier Vogel and Daniel Taupin and Andreas Egler and Ross Mitchell}, - date = {2023-10-08}, + date = {2024-01-29}, version = {1.37}, license = {gpl2+}, - mirror = {https://mirror.ctan.org/macros/musixtex}, + mirror = {https://mirror.ctan.org/macros/generic/musixtex}, url = {https://ctan.org/pkg/musixtex}, } @@ -47686,10 +47686,10 @@ title = {The \texttt{musixtnt} package}, subtitle = {A MusiXTeX extension library that enables transformations of the effect of notes commands}, author = {Bob Tennent}, - date = {2016-06-24}, + date = {2024-01-29}, version = {}, license = {gpl2}, - mirror = {https://mirror.ctan.org/macros/musixtnt}, + mirror = {https://mirror.ctan.org/macros/generic/musixtnt}, url = {https://ctan.org/pkg/musixtnt}, } @@ -55051,7 +55051,7 @@ title = {The \texttt{ppmcheckpdf} package}, subtitle = {Convert PDF to PNG and compare PNG files after l3build}, author = {Jianrui Lyu}, - date = {2024-01-22}, + date = {2024-01-29}, version = {2024B}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/support/ppmcheckpdf}, @@ -55473,8 +55473,8 @@ title = {The \texttt{ProfLycee} package}, subtitle = {A \LaTeX{} package for French maths teachers in high school}, author = {Cédric Pierquet}, - date = {2024-01-21}, - version = {3.01f}, + date = {2024-01-29}, + version = {3.01g}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/proflycee}, url = {https://ctan.org/pkg/proflycee}, @@ -57227,8 +57227,8 @@ title = {The \texttt{pst-solarsystem} package}, subtitle = {Plot the solar system for a specific date}, author = {Manuel Luque and Herbert Voß}, - date = {2018-09-15}, - version = {0.13}, + date = {2024-01-29}, + version = {0.14}, license = {lppl}, mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-solarsystem}, url = {https://ctan.org/pkg/pst-solarsystem}, @@ -58825,7 +58825,7 @@ title = {The \texttt{randexam} package}, subtitle = {Make an exam paper and its randomized variants}, author = {Jianrui Lyu}, - date = {2024-01-28}, + date = {2024-01-29}, version = {2024C}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/randexam}, diff --git a/fonts/kpfonts-otf/README.md b/fonts/kpfonts-otf/README.md index 1aa775f8af..33bdcfeffd 100644 --- a/fonts/kpfonts-otf/README.md +++ b/fonts/kpfonts-otf/README.md @@ -238,10 +238,13 @@ Either version 1.3 or, at your option, any later version. OT features cvNN are now applied before ssty (applied last). * v. 0.61: - - Math fonts: inconsistencies between delimiter sizes fixed. + - Math fonts: some inconsistencies between delimiter sizes fixed. Metrics of \widebreve, \widecheck, \widehat, \widetilde first horizontal variant (.h0) changed: f.i. $\hat{r} \ne \widehat{r}$. + +* v. 0.62: + - Math fonts: vertical delimiters redesigned (sizes and boldness). --- -Copyright 2020-2023 Daniel Flipo +Copyright 2020-2024 Daniel Flipo E-mail: daniel (dot) flipo (at) free (dot) fr diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx index 289749c840..61c7d7b118 100644 --- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx +++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.ltx @@ -40,7 +40,7 @@ \title{Kp-fonts: OpenType version} \author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}} -\newcommand*{\version}{0.61} +\newcommand*{\version}{0.62} \begin{document} \selectlanguage{british} diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf index 704eb7d99f..7291675bb3 100644 Binary files a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf and b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-English.pdf differ diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx index 60e50e5f3c..3f22836c98 100644 --- a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx +++ b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.ltx @@ -39,7 +39,7 @@ \title{Kp-fonts version OpenType} \author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}} -\newcommand*{\version}{0.61} +\newcommand*{\version}{0.62} \begin{document} \maketitle diff --git a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf index eefc301358..00acb7cf7a 100644 Binary files a/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf and b/fonts/kpfonts-otf/doc/Kpfonts-OTF-Doc-French.pdf differ diff --git a/fonts/kpfonts-otf/doc/unimath-kpfonts.pdf b/fonts/kpfonts-otf/doc/unimath-kpfonts.pdf index 8555dd8e62..4f4c4a8f61 100644 Binary files a/fonts/kpfonts-otf/doc/unimath-kpfonts.pdf and b/fonts/kpfonts-otf/doc/unimath-kpfonts.pdf differ diff --git a/fonts/kpfonts-otf/fonts/KpMath-Bold.otf b/fonts/kpfonts-otf/fonts/KpMath-Bold.otf index e360cb6bc3..bf24059d7a 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMath-Bold.otf and b/fonts/kpfonts-otf/fonts/KpMath-Bold.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpMath-Light.otf b/fonts/kpfonts-otf/fonts/KpMath-Light.otf index 40c9c8ce86..47e8a41a32 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMath-Light.otf and b/fonts/kpfonts-otf/fonts/KpMath-Light.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpMath-Regular.otf b/fonts/kpfonts-otf/fonts/KpMath-Regular.otf index 7e2d21aa12..54a0d839de 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMath-Regular.otf and b/fonts/kpfonts-otf/fonts/KpMath-Regular.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpMath-Sans.otf b/fonts/kpfonts-otf/fonts/KpMath-Sans.otf index 4b43d86fc9..2ba70c61fa 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMath-Sans.otf and b/fonts/kpfonts-otf/fonts/KpMath-Sans.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpMath-SansBold.otf b/fonts/kpfonts-otf/fonts/KpMath-SansBold.otf index 6e3d514675..e618b5ec2c 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMath-SansBold.otf and b/fonts/kpfonts-otf/fonts/KpMath-SansBold.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpMath-Semibold.otf b/fonts/kpfonts-otf/fonts/KpMath-Semibold.otf index 06a395134b..953dfb8ebe 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMath-Semibold.otf and b/fonts/kpfonts-otf/fonts/KpMath-Semibold.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpMono-Bold.otf b/fonts/kpfonts-otf/fonts/KpMono-Bold.otf index 6593333ec1..407b1fae19 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMono-Bold.otf and b/fonts/kpfonts-otf/fonts/KpMono-Bold.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf b/fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf index 28d9f5cf64..274f44fcfb 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf and b/fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpMono-Italic.otf b/fonts/kpfonts-otf/fonts/KpMono-Italic.otf index 9e6cc23ff3..67ef8dc125 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMono-Italic.otf and b/fonts/kpfonts-otf/fonts/KpMono-Italic.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpMono-Regular.otf b/fonts/kpfonts-otf/fonts/KpMono-Regular.otf index 2651aa3c54..43c44a3e85 100644 Binary files a/fonts/kpfonts-otf/fonts/KpMono-Regular.otf and b/fonts/kpfonts-otf/fonts/KpMono-Regular.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Bold.otf b/fonts/kpfonts-otf/fonts/KpRoman-Bold.otf index 7b1a92040c..8bc04f5ffd 100644 Binary files a/fonts/kpfonts-otf/fonts/KpRoman-Bold.otf and b/fonts/kpfonts-otf/fonts/KpRoman-Bold.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf b/fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf index ee51d29ccb..d0cf425351 100644 Binary files a/fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf and b/fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Italic.otf b/fonts/kpfonts-otf/fonts/KpRoman-Italic.otf index 449c618f3d..d167607dee 100644 Binary files a/fonts/kpfonts-otf/fonts/KpRoman-Italic.otf and b/fonts/kpfonts-otf/fonts/KpRoman-Italic.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Light.otf b/fonts/kpfonts-otf/fonts/KpRoman-Light.otf index 9cbc4049c2..ba07c4fe62 100644 Binary files a/fonts/kpfonts-otf/fonts/KpRoman-Light.otf and b/fonts/kpfonts-otf/fonts/KpRoman-Light.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf b/fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf index 6e37c97086..95fe228bea 100644 Binary files a/fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf and b/fonts/kpfonts-otf/fonts/KpRoman-LightItalic.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Regular.otf b/fonts/kpfonts-otf/fonts/KpRoman-Regular.otf index 6288209bea..cf1b068200 100644 Binary files a/fonts/kpfonts-otf/fonts/KpRoman-Regular.otf and b/fonts/kpfonts-otf/fonts/KpRoman-Regular.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf b/fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf index 5162f8ceb3..540239d045 100644 Binary files a/fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf and b/fonts/kpfonts-otf/fonts/KpRoman-Semibold.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf b/fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf index 30f7ae92bc..1aeef06d40 100644 Binary files a/fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf and b/fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpSans-Bold.otf b/fonts/kpfonts-otf/fonts/KpSans-Bold.otf index 7c4163de21..daea3eeae2 100644 Binary files a/fonts/kpfonts-otf/fonts/KpSans-Bold.otf and b/fonts/kpfonts-otf/fonts/KpSans-Bold.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf b/fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf index 36da5e0401..8879e102aa 100644 Binary files a/fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf and b/fonts/kpfonts-otf/fonts/KpSans-BoldItalic.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpSans-Italic.otf b/fonts/kpfonts-otf/fonts/KpSans-Italic.otf index f45cd3c9cb..e15026da53 100644 Binary files a/fonts/kpfonts-otf/fonts/KpSans-Italic.otf and b/fonts/kpfonts-otf/fonts/KpSans-Italic.otf differ diff --git a/fonts/kpfonts-otf/fonts/KpSans-Regular.otf b/fonts/kpfonts-otf/fonts/KpSans-Regular.otf index b6014ff73d..9bf68960fc 100644 Binary files a/fonts/kpfonts-otf/fonts/KpSans-Regular.otf and b/fonts/kpfonts-otf/fonts/KpSans-Regular.otf differ diff --git a/fonts/kpfonts-otf/tex/kpfonts-otf.sty b/fonts/kpfonts-otf/tex/kpfonts-otf.sty index 784ea61424..f93ede74f0 100644 --- a/fonts/kpfonts-otf/tex/kpfonts-otf.sty +++ b/fonts/kpfonts-otf/tex/kpfonts-otf.sty @@ -1,6 +1,6 @@ \NeedsTeXFormat{LaTeX2e}[2019-01-01] -\def\fileversion{0.61} -\def\filedate{2023-11-26} +\def\fileversion{0.62} +\def\filedate{2024-01-30} \ProvidesPackage{kpfonts-otf}[\filedate\space\fileversion] % Ensure luatex or xetex engine diff --git a/macros/alatex/alatex-1.0/0areadme.txt b/macros/alatex/alatex-1.0/0areadme.txt deleted file mode 100644 index 5a4ce03940..0000000000 --- a/macros/alatex/alatex-1.0/0areadme.txt +++ /dev/null @@ -1,89 +0,0 @@ - - - ALaTeX Distribution Guide - - 21 January 1996 - Matt Swift - - -WELCOME TO ALaTeX! - -This file is a brief guide to the ALaTeX document preparation system, -which is a small but useful modification of the LaTeX document -preparation system. You may produce a discussion of the goals of -ALaTeX by processing the file `metaclas.tex' with LaTeX. The paper is -based on parts of the article "Modularity in LaTeX" by Matt Swift in -TUGboat vol. 16 no. 3. - -ALaTeX is NOT part of the LaTeX distribution. It is maintained -exclusively by Matt Swift , NOT by the LaTeX -maintainers. - -The ALaTeX distribution will probably work with all LaTeX versions, -but it has been tested starting with the December 1995 release. If a -change in the LaTeX kernel requires a change in ALaTeX that makes it -incompatible with earlier LaTeX kernels, I will increase the major -version number. If I make an drop-in improvement to ALaTeX, I will -update the minor version number. - -The ALaTeX version is displayed on the screen every time ALaTeX is -invoked with a reminder that ALaTeX is not standard LaTeX. - -The file 00readme.txt in the LaTeX distribution contains information -about the LaTeX distribution. - -Here is a brief description of some of the ALaTeX files: - - - ainstall.txt describes how to install ALaTeX and its documentation. - - metaclas.cfg is the standard ALaTeX metaclass. - - alatex.tex documents ALaTeX and its standard metaclass. - - alatex.ltx is a patch to the LaTeX kernel. - - amanifst.txt lists all the files in the ALaTeX distribution with - one line of information about their contents. - - abugs.txt describes how to submit a bug report for ALaTeX. - - COPYING is a copy of the GNU General Public License. - - Makefile is a Unix makefile for building and installing ALaTeX on - Unix systems. - - -COPYRIGHT -========= - -The ALaTeX files in this distribution are copyright 1995 Matt Swift -. All rights reserved. - - -WARRANTY -======== - -There is no warranty for ALaTeX. See the file COPYING for details. - - -DISTRIBUTION CONDITIONS -======================= - -ALaTeX may be distributed under the conditions of the GNU General -Public License, which is in the file COPYING. - - -ACKNOWLEDGMENT -============== - -The ALaTeX format that the files in this distribution will generate -represents a VERY small modification of the LaTeX format, whose source -files are copyright 1993-1995 the LaTeX3 project and the individual -authors: - - Leslie Lamport - Johannes Braams - David Carlisle - Alan Jeffrey - Frank Mittelbach - Chris Rowley - Rainer Schoepf - -The authors of the original LaTeX files deserve all of the credit for -the functionality of ALaTeX. The author of ALaTeX added only the -smallest of contributions, and thanks the original authors for writing -the files and for distributing them under conditions which allowed him -to legally make and distribute his addition. diff --git a/macros/alatex/alatex-1.0/COPYING b/macros/alatex/alatex-1.0/COPYING deleted file mode 100644 index e77696ae8d..0000000000 --- a/macros/alatex/alatex-1.0/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/macros/alatex/alatex-1.0/Makefile b/macros/alatex/alatex-1.0/Makefile deleted file mode 100644 index 05d40b8549..0000000000 --- a/macros/alatex/alatex-1.0/Makefile +++ /dev/null @@ -1,132 +0,0 @@ -# ALaTeX makefile for Unix -# -# WARNING: some things in this makefile may be specific to the web2c TeX -# distribution, specifically the setting of TEXINPUTS. -# -# If you use A4 paper, setting ARTICLEOPTS to -# a4paper -# may save about 30 pages. The variable is an argument list that is -# passed to the article class. -ARTICLEOPTS = - -# Where should metaclass.cfg go? -CFGDIR = /usr/local/lib/texmf/tex/latex/config - -# Where should the ALaTeX format go? -FMTDIR = /usr/local/lib/texmf/ini - -# Where should the DVI documentation for ALaTeX go? -DOCDIR = /usr/local/lib/texmf/doc/alatex - -# Where should the ALaTeX executable (link) go? -BINDIR = /usr/local/bin - -# Where are the LaTeX base distribution files? -BASEDIR = /usr/local/src/texmf/macros/latex-95-12/base - -# What options should be passed to install for installing -# everything except the executable? -INSTALLOPTS = -c -m 644 - -# END OF USER-CONFIGURABLE OPTIONS, except for experts of course. - -home = alatex -version = 1.0 -versionfile = VERSION-$(version) -archname = alatex-$(version) - -files = $(versionfile) COPYING \ - Makefile aunpack.ins aunpcked.txt amanifst.txt \ - 0areadme.txt README abugs.txt ainstall.txt \ - alatex.dtx alatex.tex - -doc-files = alatex.dvi - -.PHONY: all install -.PHONY: alatex doc install-alatex install-doc -.PHONY: clean help default -.PHONY: distribution - -default help: - @echo ; \ - echo "Look over the variables at the top of the Makefile and adjust them if"; \ - echo "you want. You probably want to try these targets in this order:"; \ - echo ""; \ - echo " all makes alatex.fmt and metaclas.cfg"; \ - echo " install installs them and creates a link from alatex to virtex"; \ - echo " check runs alatex ltxcheck.tex"; \ - echo " clean removes auxiliary and rebuildable files"; \ - echo ""; \ - echo "Other targets you might want to use are:"; \ - echo ""; \ - echo " doc makes the ALaTeX documentation"; \ - echo " install-doc installs it"; \ - echo - -all: alatex - -alatex: alatex.fmt metaclas.cfg - -doc: alatex.dvi - -$(versionfile): - touch $@ - -README: - ln -s 0areadme.txt $@ - -alatex.ltx metaclas.cfg: alatex.dtx aunpack.ins \ - README $(versionfile) - TEXINPUTS=.:$(BASEDIR):; export TEXINPUTS; \ - tex aunpack.ins - -alatex.fmt: alatex.ltx - initex \&latex alatex.ltx - -alatex.dvi: %.dvi: %.tex %.dtx - echo "\PassOptionsToClass{$(ARTICLEOPTS)}{article}" > ltxdoc.cfg - latex $*.tex - INDEXSTYLE=.:$(BASEDIR); export INDEXSTYLE; \ - makeindex -s gind.ist $*.idx - latex $*.tex - latex $*.tex - -install: install-alatex - -install-alatex: alatex - mkdir -p $(BINDIR) $(FMTDIR) $(CFGDIR) - rm -f $(BINDIR)/alatex - ln -f -s `type virtex | cut -d' ' -f 3` $(BINDIR)/alatex - install $(INSTALLOPTS) alatex.fmt $(FMTDIR) - install $(INSTALLOPTS) metaclas.cfg $(CFGDIR) - -install-doc: doc - mkdir -p $(DOCDIR) - install $(INSTALLOPTS) $(doc-files) $(DOCDIR) - -check: install - TEXINPUTS=.:$(BASEDIR):; export TEXINPUTS; \ - $(BINDIR)/alatex ltxcheck.tex - -distribution: $(files) - rm -f $(archname).tar.gz - cd ..; \ - ln -s $(home) $(archname); \ - tar czf $(archname).tar.gz \ - $(addprefix $(archname)/, $(files)); \ - rm $(archname); \ - mv $(archname).tar.gz $(home) - -clean: - rm -f aunpack.log \ - metaclas.cfg \ - alatex.{log,ltx,ind,idx,ilg,log,aux,toc} \ - ltxcheck.{log,aux} \ - ltxdoc.cfg - -realclean veryclean: clean - rm -f $(doc-files) \ - alatex.fmt \ - README $(versionfile) \ - $(archname).tar.gz - diff --git a/macros/alatex/alatex-1.0/README b/macros/alatex/alatex-1.0/README deleted file mode 120000 index e68b8ce387..0000000000 --- a/macros/alatex/alatex-1.0/README +++ /dev/null @@ -1 +0,0 @@ -0areadme.txt \ No newline at end of file diff --git a/macros/alatex/alatex-1.0/VERSION-1.0 b/macros/alatex/alatex-1.0/VERSION-1.0 deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/macros/alatex/alatex-1.0/abugs.txt b/macros/alatex/alatex-1.0/abugs.txt deleted file mode 100644 index 139a0f918b..0000000000 --- a/macros/alatex/alatex-1.0/abugs.txt +++ /dev/null @@ -1,16 +0,0 @@ - - - ALaTeX Error Reports - - 21 January 1996 - Matt Swift - - -Before you report an error please check that The problem is with -ALaTeX and not LaTeX. Try reproducing the problem with LaTeX. If you -can, the problem is with LaTeX, so please see the file bugs.txt in the -LaTeX distribution. - -If you think you have found a bug in ALaTeX, please send a full report -including the relevant .tex and .log files by email to Matt Swift -. diff --git a/macros/alatex/alatex-1.0/ainstall.txt b/macros/alatex/alatex-1.0/ainstall.txt deleted file mode 100644 index e699bd9bfa..0000000000 --- a/macros/alatex/alatex-1.0/ainstall.txt +++ /dev/null @@ -1,92 +0,0 @@ - - - ALaTeX Installation Guide - - - 21 January 1996 - Matt Swift - -SUMMARY -======= - -This file contains the installation instructions for the ALaTeX -document preparation system. - -In order to install ALaTeX, you must have a working installation of -LaTeX2e. More information on LaTeX may be found at -http://www.cogs.susx.ac.uk/cgi-bin/texfaq2html. - -In summary, to install ALaTeX, you will: - - * Generate the ALaTeX format and standard metaclass. - - * Put the ALaTeX files where ALaTeX can read them. - - * Check the installation. - -When one of these steps depends on your TeX distribution, you may find -help on how to do it in a .txt file in the LaTeX distribution. - - -GENERATING THE ALATEX FORMAT -============================ - -To create the ALaTeX format, - - * Run TeX on the file `aunpack.ins'. This will create two new files - called `alatex.ltx' and `metaclas.cfg'. - - * Invoke iniTeX with a first line of `&latex alatex.ltx'. This will - create a format file called `alatex.fmt'. Alternatively, you can - do this by typing `&latex' to iniTeX's `**' prompt, then typing - `\input alatex.ltx', and renaming the file `texput.fmt' to - `alatex.fmt'. - - * Copy or move the format file `alatex.fmt' to the TeX formats - directory, and copy or move the standard metaclass `metaclas.cfg' - into a standard TeX input path. - - * If you use the Unix web2c distribution of TeX, you may wish to - create a link from `alatex' to `virtex', and define - TEXINPUTS.alatex to have the same or similar value as - TEXINPUTS.latex2e in the file texmf.cnf. On other platforms, you - must do something else to use the ALaTeX format. - - -CHECKING THAT THE INSTALLATION WORKED -===================================== - -To make sure that the installation has worked, you may run -ALaTeX on the document `ltxcheck.tex' which came in the base directory -of your LaTeX2e distribution. - -Notice that the dialog will refer to LaTeX2e, but the banner ought to -announce that you have invoked ALaTeX. - -This will produce a number of messages, each of which should be `OK'. -If any of them are `BAD', I suggest trying seeing whether the same -error occurs when you run LaTeX on `ltxcheck.tex'. If so, see the -PROBLEMS section of the install.txt file in the LaTeX distribution. -If not, then please see the file abugs.txt in the ALaTeX distribution -and submit a bug report. - -If all the messages are `OK' then you are finished! - - -GENERATING THE DOCUMENTATION -============================ - -Process `alatex.tex' with LaTeX and (optionally) Makeindex to produce -documentation of ALaTeX and its standard metaclass. If you generate -the index, use the index style gind.ist that came in the base -directory of your LaTeX2e distribution (though it might have been -moved elsewhere during installation). - - -UNIX -==== - -On a Unix system, it will be easiest to use the Makefile I have -written. Look over the variables at the top of the Makefile and -adjust them as necessary. Invoke "make" with no arguments to see a -list of targets. diff --git a/macros/alatex/alatex-1.0/alatex.dtx b/macros/alatex/alatex-1.0/alatex.dtx deleted file mode 100644 index 0f7539b569..0000000000 --- a/macros/alatex/alatex-1.0/alatex.dtx +++ /dev/null @@ -1,531 +0,0 @@ -%^^A* file information -% \iffalse -% -% alatex.dtx -- discussion and documentation of ALaTeX and its standard metaclass -% -% Copyright 1995 Matt Swift . All rights reserved. -% -% This file is part of the ALaTeX system. -% Please see the file 0areadme.txt for further information. -% -% All correspondence regarding ALaTeX should go to -% Matt Swift , not the LaTeX maintainers. -% -% This program is free software; you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program; if not, write to the Free Software -% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -% -% \fi -% -%^^A* checks -% -%^^A NOTE: The character table, with two %'s, will get written to all files. -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -% -% \CheckSum{287} -% -%^^A* abstract -% \begin{abstract} -% \ALaTeX{} is a document preparation system that provides the user with all -% the functionality of \LaTeX{} and a general, legal way to override standard -% \LaTeX{} behavior without altering source files. An important consequence is -% that \ALaTeX{} can interpret official \LaTeX{} markup in an abstract way. -% -% This discussion builds on the author's paper ``Modularity in \LaTeX'' -% in the forthcoming TUGboat \textbf{16} (3). -% \end{abstract} -% \tableofcontents -% \clearpage -% -% \StopEventually{} -% -% \section{Introduction} -% -% The purpose of writing \ALaTeX{} was to facilitate typesetting official -% \LaTeX{} markup as \emph{abstract} markup, that is, markup that is not fixed -% to a ``standard'' appearance on a typeset page. Official \LaTeX{} markup has -% a standard appearance. Together with the broad portability of the \TeX{} -% program, this standard is a highly valuable feature of \LaTeX. In achieving -% this important goal, however, the \LaTeX{} developers compromised the -% valuable ability of \LaTeX{} to interpret markup abstractly. \ALaTeX{} -% attempts to provide users with the ability to process official \LaTeX{} -% markup with the power of full abstraction, without compromising their ability -% to process official \LaTeX{} markup in the standard way. -% -% You are not allowed to modify the distributed \LaTeX{} files without changing -% their names; yet filenames are how classes and packages are identified. In -% many cases it is desirable to produce \emph{different} \ext{dvi} files from -% the same source document. Suppose you make a small modification of the -% standard \class{article} class. To use it to process a source which calls -% for the \class{article} class, you must either break the law and call your -% derivative class \file{article.cls}, or modify the source to call for a -% different class. Both options are unacceptable, the first for obvious -% reasons, the second because a document class---and indeed all the markup in a -% source---ought to be abstractly descriptive without specifying the details of -% presentation. Font specifications are absurd in a document to be read aloud; -% volume specifications are absurd in a document to be printed; page -% specifications are absurd in a document to be viewed on a screen. -% -% Even were it agreed to privilege a single medium for presentation, sometimes -% the source simply cannot be modified, and making a copy would cause version -% control or storage difficulties, or itself be a violation of law. -% -% It is unnecessary to dwell on the necessary failure of any markup scheme to -% be suitably abstract for all interesting documents and presentation media. -% Fortunately, we are aiming to advance computer-aided typesetting, not the -% philosophy of essence and accident, syntax and semantics. What is true of -% \ALaTeX{} and not of \LaTeX{} is that all directives with a \emph{necessary} -% influence on typeset appearance appear outside the source document. -% -% It is very difficult to have a working \ALaTeX{} without also having a -% working \LaTeX. For this reason, \ALaTeX{} is unlikely to compromise the -% availability and ubiquity of systems that conveniently produce standard -% \LaTeX{} \ext{dvi} files from sources containing official \LaTeX{} markup. -% To help insure this harmlessness (and for lack of a reasonable alternative), -% \ALaTeX{} as distributed produces \ext{dvi} files identical to ones that -% \LaTeX{} produces from the same source. Differences are conceivable only in -% the perverse cases listed in Appendix \ref{perverse}. -% -% Abstracting those cases, therefore, a user must actively alter \LaTeX{} or -% \ALaTeX{} before she can produce a \ext{dvi} file that differs from the one -% standard \LaTeX{} produces from the same source file. \ALaTeX, however, is -% much easier to alter in useful ways than \LaTeX. -% -% \begin{em} -% When you compose a document, please preview it with (standard) \LaTeX. -% There is absolutely no reason at all to use \ALaTeX{} during document -% composition. Using \LaTeX{} will ensure that your document can be -% consistently compiled and viewed at every \LaTeX{} site in the world. Use -% \ALaTeX{} \emph{only} on existing sources when you can't or don't want to -% modify them, and yet want to present them in a nonstandard way. -% \end{em} -% -% \section{How \ALaTeX{} works} -% -% Most of the \ALaTeX{} distribution is designed to make a single small change -% to the \LaTeX{} kernel easy and legal to use. The change causes the -% |\documentclass| command to store its arguments in variables and load the -% file \file{metaclas.cfg} called the \term{metaclass} before continuing. -% That's it! -% -% The significance of this change is in the variety and scope of what can be -% accomplished by code in the metaclass. In the metaclass, the |@| character -% is a letter, as in normal class files. -% -% \DescribeMacro\mc@class@options -% \DescribeMacro\mc@class@name -% \DescribeMacro\mc@class@version -% When the metaclass is executed, the \ALaTeX{} kernel is loaded, and the -% source file has been processed from the beginning through the first -% |\documentclass| command and all its arguments. The arguments have been -% stored in macros as follows: -% \begin{description} -% \item[\bslash mc@class@options] holds the first optional argument to -% |\documentclass|. -% \item[\bslash mc@class@name] holds the mandatory argument to -% |\documentclass|. -% \item[\bslash mc@class@version] holds the second optional -% argument to |\documentclass|. -% \end{description} -% -% A metaclass can do anything at all with this information. The distributed -% metaclass below emulates \LaTeX's behavior. Code in comments below provides -% two convenient mechanisms to do something else, causing \ALaTeX's typeset -% documents to differ from \LaTeX's. \ALaTeX{} is as flexible as possible, and -% the number of other possibilities is countless. -% -% \DescribeMacro\alt@cls@extension -% \DescribeMacro\ds@foo -% The nonstandard mechanisms are as follows. Let \meta{class} be the class -% named by the |\documentclass| command, \meta{altX} be the value of -% |\alt@cls@extension| defined in the metaclass, and \meta{normX} be the value -% of |\@cls@extension| defined in the \ALaTeX{} (and \LaTeX) kernel. -% \begin{enumerate} -% \item When a file \file{\meta{class}.\meta{altX}} exists in the search path, -% it will be loaded instead of the usual \file{\meta{class}.\meta{normX}}. -% \item When a command |\ds@|\meta{class} is defined, it will be executed -% instead of loading \file{\meta{class}.\meta{normX}}. -% \end{enumerate} -% -% Notice that there is no reason to use \ALaTeX{} unless you create a -% nonstandard metaclass. The standard metaclass emulates standard \LaTeX{} -% because the user should have to take active steps to get nonstandard output. -% If you modify this file, please change the |\fileinfo| declaration near the -% end. -% -% \section{The game of the name} -% -% You may understand the \word{A} in \ALaTeX{} to stand for \word{alternate} or -% \word{abstract}, or to be the definite article, which emphasizes that fact -% that when you process with \ALaTeX{}, you are seeing just one of an infinite -% number of possibile presentations of your document's content. -% -% You may pronounce \ALaTeX{} however you like, of course. -% -% \section{A sampler of applications} -% -% \ALaTeX{} is a powerful tool, but newly born. Sophisticated applications -% have neither been conceived nor implemented. The author would appreciate -% hearing from you. -% -% \ALaTeX{} is potentially useful in situations where without \ALaTeX{} one -% would need to alter the source in a way that affects its presentation but not -% its content. For example, without \ALaTeX{} you must modify the source to -% change the paper size or font characteristics of the typeset document. -% \ALaTeX{} allows you to make this kind of change by altering the typesetting -% procedure instead of the source itself. -% -% You can use \ALaTeX{} to specify options to package and classes or even to -% load packages. You can invoke debugging or profiling code. -% -% Since the metaclass can control the style of a document, a system of files -% could be arranged in which there exist companion files for sources, which -% would function like style sheets. Common hierarchical path searching -% mechanisms would permit cascading styles with a flexible inheritance scheme -% at the levels of site, user, directory, and individual source. -% -% \section{The future} -% -% I envision removing most of the decisions embodied in the preamble and in -% package and class options from the source file to the invocation of the -% processing run. The decisions might be specified on the command line or in -% files separate from the source that are managed by a convenient interface. -% Is not an analogous development occurring as style sheets are brought to -% HTML? -% -% Since the choices a user would typically make via \ALaTeX{} are likely to be -% few and from among a small number of known alternatives, it is easy to -% imagine a convenient user interface for the common options. Such a front end -% written \TeX{} would have the advantage of being \%100 portable. A graphical -% interface could be integrated in an existing front end which manages a broad -% array of \TeX-related tasks. -% -% If metaclasses become tricky, a |\tracingmetaclasses| command might be -% warranted. -% -% \StopEventually{} -% -% \section{Version control} -% -% \begin{macro}{\fileinfo} -% \begin{macro}{\fileversion} -% \begin{macro}{\filedate} -% \begin{macro}{\docdate} -% \begin{macro}{\PPOptArg} -% First we take care of the business of keeping track of the version of this -% document. -% \begin{macrocode} -%<*metaclass> -\def\fileinfo{standard ALaTeX metaclass} -\def\fileversion{v1.0} -\def\filedate{1996/01/24} -\def\docdate{1996/01/24} -\edef\PPOptArg{\filedate\space \fileversion\space \fileinfo} -\ProvidesFile{metaclas.cfg}[\PPOptArg] -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \section{Emulate \LaTeX{} (the default)} -% -% \begin{macro}{\documentclass} -% \begin{macro}{\mc@load@class} -% The following |\documentclass| command behaves exactly like \LaTeX's. It -% looks a little different here because we've already read the three arguments. -% \begin{macrocode} -\def\documentclass{% - \let\documentclass\@twoclasseserror - \if@compatibility\else\let\usepackage\RequirePackage\fi - \mc@load@class} -\def\mc@load@class{% - \edef\reserved@a{% - \noexpand\@fileswithoptions - \noexpand\@clsextension - [\mc@class@options]{\mc@class@name}[\mc@class@version]}% - \reserved@a} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \section{Privelege alternate extensions} -% -% \begin{macro}{\alt@cls@extension} -% \begin{macro}{\documentclass} -% To enable divergences from standard \LaTeX{} of the first kind only, -% uncomment the following four definitions in this section and ensure that the -% definitions in following sections are commented out. Please also change the -% definition of |\fileinfo| above. -% \begin{macrocode} -% \def\alt@cls@extension{acl} -% \def\documentclass{% -% \let\documentclass\@twoclasseserror -% \if@compatibility\else\let\usepackage\RequirePackage\fi -% \IfFileExists{\mc@class@name.\alt@cls@extension} -% {\let\mc@extension\alt@cls@extension -% \mc@load@class -% \def\mc@extension{\@currext}} -% {\mc@load@class}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\mc@extension} -% \begin{macro}{\@onefilewithoptions} -% A lot of code here for two tiny changes of |\@currext| to |\mc@extension|. -% The file with the alternate extension masquerades as one with the normal -% extension in every way except the actual filename. -% \begin{macrocode} -% \def\mc@extension{\@currext} -% \def\@onefilewithoptions#1[#2][#3]#4{% -% \@pushfilename -% \xdef\@currname{#1}% -% \global\let\@currext#4% -% \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty -% \let\CurrentOption\@empty -% \@reset@ptions -% \makeatletter -% \def\reserved@a{% -% \@ifl@aded\@currext{#1}% -% {\@if@ptions\@currext{#1}{#2}{}% -% {\@latex@error -% {Option clash for \@cls@pkg\space #1}% -% {The package #1 has already been loaded -% with options:\MessageBreak -% \space\space[\@ptionlist{#1.\@currext}]\MessageBreak -% There has now been an attempt to load it -% with options\MessageBreak -% \space\space[#2]\MessageBreak -% Adding the line:\MessageBreak -% \space\space\string\usepackage -% [\@ptionlist{#1.\@currext},#2]{#1}\MessageBreak -% to your document may fix this.\MessageBreak -% Try typing \space \space to proceed.}}}% -% {\@pass@ptions\@currext{#2}{#1}% -% \global\expandafter -% \let\csname ver@\@currname.\@currext\endcsname\@empty -% \InputIfFileExists -% {\@currname.\mc@extension}% -% {}% -% {\@missingfileerror\@currname\mc@extension}% -% \let\@unprocessedoptions\@@unprocessedoptions -% \csname\@currname.\@currext-h@@k\endcsname -% \expandafter\let\csname\@currname.\@currext-h@@k\endcsname -% \@undefined -% \@unprocessedoptions} -% \@ifl@ter\@currext{#1}{#3}{}% -% {\@latex@warning@no@line -% {You have requested,\on@line, -% version\MessageBreak -% `#3' of \@cls@pkg\space #1,\MessageBreak -% but only version\MessageBreak -% `\csname ver@#1.\@currext\endcsname'\MessageBreak -% is available}}% -% \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi -% \@popfilename -% \@reset@ptions}% -% \reserved@a} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \section{Pass control to a macro} -% -% \begin{macro}{\documentclass} -% To enable divergences from standard \LaTeX{} of the second kind only, -% uncomment the following definition and ensure that all definitions in the -% next and previous sections are commented out. Please also change the -% definition of |\fileinfo| above. You must define |\dc@|\meta{class} in your -% \file{metaclass.cfg} or before the |\documentclass| command in your document, -% if you want to define it at all. -% \begin{macrocode} -% \def\documentclass{% -% \let\documentclass\@twoclasseserror -% \if@compatibility\else\let\usepackage\RequirePackage\fi -% \@ifundefined{dc@\mc@class@name} -% {\mc@load@class} -% {\@nameuse{dc@\mc@class@name}}} -% \end{macrocode} -% \end{macro} -% -% \section{First extension then macro} -% -% \begin{macro}{\documentclass} -% To enable divergences from standard \LaTeX{} of both the first and second -% kinds, uncomment the following definition as well as the definitions of -% |\alt@cls@extension|, |\mc@extension|, and |\@onefilewithoptions| above. -% Please also change the definition of |\fileinfo| above. -% \begin{macrocode} -% \def\documentclass{% -% \let\documentclass\@twoclasseserror -% \if@compatibility\else\let\usepackage\RequirePackage\fi -% \IfFileExists{\mc@class@name.\alt@cls@extension} -% {\let\mc@extension\alt@cls@extension -% \mc@load@class -% \def\mc@extension{\@currext}} -% {\@ifundefined{dc@\mc@class@name} -% {\mc@load@class} -% {\@nameuse{dc@\mc@class@name}}}} -% \end{macrocode} -% \end{macro} -% -% \section{Actually do something} -% -% So far we've just defined a command called |\documentclass|. It's time to -% use it. It's probably best if this remains at the end of the (extracted) -% file. -% \begin{macrocode} -\documentclass -% \end{macrocode} -% -% \begin{macrocode} -% -% \end{macrocode} -% -% \appendix -% \section{Perverse cases} -% \label{perverse} -% -% \ALaTeX{} as distributed produces \ext{dvi} files identical to ones that -% \LaTeX{} produces from the same source. Differences are conceivable -% only in the following perverse cases. -% \begin{enumerate} -% \item The document contains \TeX{} code that depends upon the exact -% definitions or undefined state of the macros -% \begin{quote}\raggedright -% |\ALaTeX|, |\documentclass|, |\mc@documentclass|, -% |\mc@@documentclass|, |\mc@class@options|, |\mc@class@name|, -% |\mc@class@version|, and |\mc@load@class|. -% \end{quote} -% \item Processing the document requires the (almost trivial) internal -% resources consumed by defining the above macros and loading the metaclass -% file. -% \item There is unfriendly code in the source before the |\documentclass| -% command. Normally only harmless comments and \env{filecontents} -% environments will precede the |\documentclass| command, but other code is -% possible, that would cause the \ALaTeX's output to differ from \LaTeX's. -% \item The arguments to |\documentclass| are very unusual, for example, they -% change catcodes or have complicated expansions. \ALaTeX{} scans the -% arguments to |\documentclass| slightly differently than \LaTeX{} does. -% \end{enumerate} -% No one should have to worry about these cases, and if they come up the -% problem should be obvious. -% -% \section{Kernel Patch} -% -% This is the code that patches the \LaTeX{} kernel. -% -% \begin{macrocode} -%<*alatex> -\def\fileinfo{ALaTeX patch to LaTeX kernel} -\def\fileversion{v1.0} -\def\filedate{1996/01/24} -\def\docdate{1996/01/24} -\edef\PPOptArg{\filedate\space \fileversion\space \fileinfo} -\ProvidesFile{metaclas.cfg}[\PPOptArg] - -\makeatletter -% \end{macrocode} -% -% This is \ALaTeX, so make sure to announce it, and that it's nonstandard. We -% don't want to change the |\fmtversion|. We want \ALaTeX{} to masquerade as -% \LaTeX{} to the programs but not the users. -% -% This startup banner may be further modified by the code in |ltfinal.dtx| if a -% patch file is present. -% \begin{macrocode} -\everyjob{\typeout{ALaTeX\space<\fmtversion\space R1> (NOT STANDARD LATEX)}} -\immediate\write16{ALaTeX\space<\fmtversion\space R1> (NOT STANDARD LATEX)} -% \end{macrocode} -% -% \begin{macro}{\ALaTeX} -% Provide a logo. -% \begin{macrocode} -\DeclareRobustCommand{\ALaTeX} - {A\LaTeX} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\documentclass} -% \begin{macro}{\mc@documentclass} -% \begin{macro}{\mc@@documentclass} -% \begin{macro}{\mc@class@options} -% \begin{macro}{\mc@class@name} -% \begin{macro}{\mc@class@version} -% If the file |metaclas.cfg| exists in the search path, then the -% |\documentclass| command reads its three arguments (two are optional) into -% variables, and passes control to that file. If there is no such file, then -% we proceed just as in \LaTeX. Since |\documentstyle| loads some code then -% calls |\documentclass|, 2.09 documents also fall under the control of the -% metaclass mechanism. -% \begin{macrocode} -\def\documentclass{% - \IfFileExists{metaclas.cfg} - {\@ifnextchar[%] - {\mc@documentclass} - {\mc@documentclass[]}} - {\let\documentclass\@twoclasseserror - \if@compatibility\else\let\usepackage\RequirePackage\fi - \@fileswithoptions\@clsextension}} - -\def\mc@documentclass[#1]#2{% - \@ifnextchar[%] - {\mc@@documentclass{#1}{#2}} - {\mc@@documentclass{#1}{#2}[]}} - -\def\mc@@documentclass#1#2[#3]{% - \def\mc@class@options{#1}% - \def\mc@class@name{#2}% - \def\mc@class@version{#3}% - \makeatletter - \input{metaclas.cfg}% - \makeatother} - -\@onlypreamble\documentclass -\@onlypreamble\mc@documentclass -\@onlypreamble\mc@@documentclass -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% Dump the format. -% \begin{macrocode} -\makeatother -\dump -% \end{macrocode} -% -% \begin{macrocode} -% -% \end{macrocode} -% -% \Finale diff --git a/macros/alatex/alatex-1.0/alatex.tex b/macros/alatex/alatex-1.0/alatex.tex deleted file mode 100644 index 15eacf2664..0000000000 --- a/macros/alatex/alatex-1.0/alatex.tex +++ /dev/null @@ -1,21 +0,0 @@ -\documentclass{ltxdoc} -\CodelineIndex -\EnableCrossrefs -\DeclareTextFontCommand\word\em % refer to a word as a word -\DeclareTextFontCommand\term\slshape % technical term -\DeclareTextFontCommand\env\ttfamily % environment -\DeclareTextFontCommand\package\slshape % name of LaTeX package -\DeclareTextFontCommand\program\ttfamily % generic name of computer program -\DeclareTextFontCommand\class\slshape % name of LaTeX class -\DeclareTextFontCommand\file\ttfamily % name of disk file -\DeclareTextFontCommand\ext\ttfamily % name of file extension -\begin{document} -\providecommand\ALaTeX{A\LaTeX} -\date{Version: 1.0 \\Documentation revision: 1996/01/21} -\author{Matt Swift \texttt{}} -\title{\ALaTeX{} and its Standard Metaclass} -\maketitle -\DocInput{alatex.dtx} -\clearpage -\PrintIndex -\end{document} diff --git a/macros/alatex/alatex-1.0/amanifst.txt b/macros/alatex/alatex-1.0/amanifst.txt deleted file mode 100644 index 6279b81888..0000000000 --- a/macros/alatex/alatex-1.0/amanifst.txt +++ /dev/null @@ -1,50 +0,0 @@ -% -% The following files form the ALaTeX 1.0 distribution. -% -% -% CONTENTS OF THE ALaTeX DISTRIBUTION -% ==================================== -% -% Documentation: -% -------------- -% -% 0areadme.txt -- The distribution guide. -% abugs.txt -- Where to submit a bug report for ALaTeX. -% ainstall.txt -- How to install ALaTeX. -% alatex.tex -- ALaTeX documentation. -% amanifst.txt -- This file. -% -% -% Kernel and Metaclass files: -% --------------------------- -% -% alatex.dtx -- Source for ALaTeX documentation, the standard metaclass, -% and the patch to the LaTeX kernel. -% -% -% Installation files: -% ------------------- -% -% Makefile -- Unix Makefile for building and installing ALaTeX -% and its documentation. -% aunpack.ins -- Unpacks the ALaTeX distribution. -% aunpcked.txt -- Lists files unpacked by aunpack.ins. -% -% ====================================================================== -% -% The following file list is read in during the installation procedure -% to check that all the files are present. The file names should be -% separated by white space, and this file should end with |\endinput|. -% -README -COPYING -Makefile -VERSION-1.0 -0areadme.txt -abugs.txt -alatex.tex -alatex.dtx -amanifst.txt -aunpack.ins -aunpcked.txt -\endinput diff --git a/macros/alatex/alatex-1.0/aunpack.ins b/macros/alatex/alatex-1.0/aunpack.ins deleted file mode 100644 index 8861282780..0000000000 --- a/macros/alatex/alatex-1.0/aunpack.ins +++ /dev/null @@ -1,135 +0,0 @@ -% aunpack.ins -- installation driver for the ALaTeX system -% -% Copyright 1996 Matt Swift . -% All rights reserved. -% -% This file is part of the ALaTeX system. Please see the file -% 0areadme.txt for further information. -% -% All correspondence regarding ALaTeX should go to -% Matt Swift , not the LaTeX maintainers. -% -% This program is free software; you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 2 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program; if not, write to the Free Software -% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -% -\def\batchfile{aunpack.ins} - -\let\documentclass\undefined -\input ltdirchk.dtx -\input testdist.dtx -\input docstrip.dtx - -\let\OriginalAsk=\Ask -\def\Ask#1#2{% - \OriginalAsk{#1}{#2}% - \global\let\Ask\OriginalAsk - \Ask\noprompt{% - By default you will be asked this question for every file.^^J% - If you enter `y' now, I will asssume `y' for all future questions^^J% - without prompting.}% - \ifx\y\noprompt\gdef\Ask##1##2{\def##1{y}}\else - \ifx\yes\noprompt\gdef\Ask##1##2{\def##1{y}}\fi\fi} - -\testdistribution{amanifst.txt}{Missing distribution files.}{% - The above files are missing from your ALaTeX distribution. -^^JYou should be able to get the files from the same source as -^^Jthe rest of the distribution. If you can't, then complain! -^^JThe full list of ALaTeX distributed files is in amanifst.txt. -^^JMore information about the installation is in ainstall.txt. -^^JPress to continue, or X to exit. -} - -\Msg{**********************************************} -\Msg{*} -\Msg{* Welcome to the Installation routine of} -\Msg{*} -\Msg{* \space\space\space\space ALaTeX\space 1.0} -\Msg{*} -\Msg{**********************************************} -\Msg{} -\Msg{} - -\keepsilent - -\preamble - -Copyright 1995-1996 Matt Swift . All rights reserved. - -This file is part of the ALaTeX system. If you modify it, please -change the definition of \string\fileinfo. - -All correspondence regarding ALaTeX should go to Matt Swift -, not the LaTeX maintainers. - -This file has been generated from the sources listed above. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -\endpreamble - -\def\Lbatchinput#1{{\batchinput{#1}}} % to avoid changing preambles - % by included batchfiles we just enclose \batchinput - % in brackets since \preamble decls are local - -\generate{ - \file{alatex.ltx}{\from{alatex.dtx}{alatex}} - \file{metaclas.cfg}{\from{alatex.dtx}{metaclass}} - } - -\testdistribution{aunpcked.txt}{Missing unpacked files.}{% - The above files should have been unpacked by this installation. -^^JIf they are missing, then this means that something is wrong. -^^JRead ainstall.txt to find out what to do now. -^^JThe list of files which should have been unpacked is in aunpcked.txt. -^^JPress to continue, or X to exit. -} - -\Msg{} -\Msg{********************************************************************} -\Msg{*} -\Msg{* The patch to the LaTeX kernel and the standard ALaTeX metaclass} -\Msg{* have been created.} -\Msg{*} -\Msg{* To create the ALaTeX format, you must} -\Msg{* now run iniTeX on alatex.ltx to generate alatex.fmt.} -\Msg{*} -\Msg{* To use the new format and the standard metaclass,} -\Msg{* place them in a standard TeX path.} -\Msg{*} -\Msg{* If you use the Unix web2c distribution of TeX, you may wish to} -\Msg{* create a link from `alatex' to `virtex', and define} -\Msg{* TEXINPUTS.alatex to have the same value as TEXINPUTS.latex in the} -\Msg{* file texmf.cnf (both of these should have the same value as} -\Msg{* TEXINPUTS.latex2e). On other platforms, you must do something else} -\Msg{* to use the ALaTeX format.} -\Msg{*} -\Msg{* Documentation may be produced by running} -\Msg{* LaTeX on alatex.tex.} -\Msg{*} -\Msg{*******************************************************************} -\Msg{} - -\endinput diff --git a/macros/alatex/alatex-1.0/aunpcked.txt b/macros/alatex/alatex-1.0/aunpcked.txt deleted file mode 100644 index e1413f8fba..0000000000 --- a/macros/alatex/alatex-1.0/aunpcked.txt +++ /dev/null @@ -1,9 +0,0 @@ -% -% The following files will be unpacked by running TeX on -% aunpack.ins. -% - -alatex.ltx -metaclas.cfg - -\endinput diff --git a/macros/blu/address.dat b/macros/blu/address.dat deleted file mode 100644 index b052997064..0000000000 --- a/macros/blu/address.dat +++ /dev/null @@ -1,234 +0,0 @@ -%Address database, cgl@rc.service.rug.nl -%Setup Januari 1995 -%Conventions -%\def\{% -%Name of person or organization -%\\Affiliation -%\email{...} -%\phone{...} -%\fax{...} -%\private{} -%} -%The \email, \phone and \fax are extra, -%when defined as gobble they won't hinder. -\lst\adamskim{Marcin -\\Marcin M Adamski -\\Centrum Banacha pok. 3 -\\Ul. Mokotowska 25 -\\00-950 Warszawa -\\POLAND -\phone{} -\email{adamski@impan.impan.gov.pl} -\registeredbluetrue%\no{-1} -} -\lst\bollandj{Julita -\\Julita Bolland -\\Ul. Kaspyska 2m.2 -\\02-760 Warszawa -\\POLAND -\phone{0 48 (0)22 421767} -\email{julitab@plearn.edu.pl} -\registeredbluetrue%\no{-1} -} -\lst\bzylw{W{\l}odek -\\W Bzyl -\\Borowikowa 27m.4 -\\81080 Gdynia -\\POLAND -\phone{0 23 (0)85 84} -\email{matwb@halina.univ.gda.pl} -} -\lst\coninckl{Luc -\\L de Coninck -\\De Kraal -\\Zeedijk 101 -\\8400 Ostende -\\BELGIUM -\phone{059 506139} -\email{ldc@kihwv.be} -\registeredbluetrue\no{1} -} -\lst\creiderc{Chet -\\C Creider -\\Canada -\email{creider@csd.uwo.ca} -%\registeredbluetrue\no{2}%??? -} -\lst\dolw{Wietse -\\W Dol -\\Coebergerstr. 12 -\\5624 AV Eindhoven -\\The Netherlands -\phone{040 467083} -\email{W.Dol@LEI.AGRO.NL} -\registeredbluetrue%\no{-1} -} -\lst\frambachehm{Erik -\\Erik Frambach -\\Boelemaheerd 32 -\\Groningen -\email{e.h.m.frambach@eco.rug.nl} -\phone{050 633785 privat: 050-421826} -\registeredbluetrue%\no{-1} -} -\lst\gorbunovai{Irina -\\Irina and Sergei Gorbunovi -\\Dimitrovski Pr. {\oldstyle8}, KB {\oldstyle93} -\\{\oldstyle125422} Moscow -\\RUSSIA -\phone{095 9768261} -\registeredbluetrue%\no{hon} -} -\lst\grinevaoa{Olienka -\\O.A Grineva -\\Kosigina {\oldstyle11}-{\oldstyle2}, KB {\oldstyle322} -\\{\oldstyle195426} St.\ Peterburg -\\RUSSIA -\phone{00-7-812-5206186} -\registeredbluetrue%\no{-1} -} -\lst\oljagpo{Olja -\\O.A Grineva -\\OS-{\oldstyle426} Post Office Box {\oldstyle153} -\\{\oldstyle195426} St. Peterburg -\\RUSSIA -\registeredbluetrue%\no{-1} -} -\lst\hendricksona{Amy -\\A Hendrickson -\\57 Longwood Avenue -\\Brookline MA 02146 -\\USA -\email{amyh@ai.mit.edu} -\phone{617-738-8029} -\registeredbluetrue%\no{-1} -} -\lst\isf{ISF -\\International Science Foundation -\\Washington -\\USA -\fax{202 342 2765} -} -\lst\jancm{Mirko -\\M Janc -\\Texhnical Typesetting Inc. -\\1510 Caton Center Drive Suite E -\\Baltimore MD 21227 -\\USA -\phone{410 987 1822} -\privat{613 Waterwheel Lane -\\Apt 34 MIllersville -\\MD 21108 -\\USA} -} -\lst\jascowskib{Bogus{\l}aw -\\B Jascowski -\\Ul. Tatrza\'nska 6/1 -\\80331 Gdansk -\\POLAND -\phone{0 48 (0)58 567877} -\registeredbluetrue%\no{-1} -} -\lst\knuthde{Prof.\ Knuth -\\D.E Knuth -\\Department of The Art of Computer Programming -\\Stanford University -\\Stanford CA 94305 -\\USA -\registeredbluetrue%\no{-1} -} -\lst\kolodziejskah{Hanna -\\H Ko{\l}odziejskah -\\Ul. Rembielinska 15m.131 -\\03-352 Warszawa -\\POLAND -\phone{614 08 11} -\email{hkolo@plearn.edu.pl} -\registeredbluetrue%\no{-1} -} -\lst\laancgvander{Kees -\\C.G van der Laan -\\Hunzeweg 57 -\\9893 PB Garnwerd -\\Garnwerd (Gr) -% \\The Netherlands -\phone{31 (0)5941 1525} -\email{cgl@rc.service.rug.nl} -\registeredbluetrue%\no{-100} -} -\lst\makhovayai{Irina -\\I Makhovaya -\\MIR Publishers -\\Pervy Rishsky Pr. 2 -\\129820 Moscow -\\RUSSIA -\email{cyrtug@mir.msk.su} -\phone{286 06 22} -\registeredbluetrue%\no{-1} -} -\lst\nemogak{Karol -\\RNDr Karol Nemoga Csc -\\Obchodno 4 -\\Bratuslava -\\SLOWAKY -\phone{07 3309 224} -\email{nemoga@savba.cs} -} -\lst\nesgjhv{Gerard -\\G J H van Nes -\\Dars 9 -\\1751 PD Schagerbrug -%\\The Netherlands -\phone{02247-1918} %ecn: \phone{02246-4185}, \fax{02246-1864} -\email{vannes@ecn.nl} -\registeredbluetrue%\no{-1} -} -\lst\ntg{NTG -\\Nederlandstalige \TeX{} Gebruikersgroep -\\Postbus 394 -\\1740 AJ Schagen -%\\The Netherlands -\email{ntg@nic.surfnet.nl} -\registeredbluetrue%\no{-1} -} -\lst\ryckom{Marek -\\M Ry\'cko -\\Ul. Anielewicza 23m.68 -\\01-026 Warszawa -\\POLAND -\phone{0 48 (0)22 386258} -\email{marek@camk.edu.pl} -\registeredbluetrue%\no{-1} -} -\lst\salomond{David -\\D Salomon -\\11835 Sapota Dr. -\\Lakeside CA 92040 -\\USA -\email{dxs@ms.secs.csun.edu} -\phone{09 619 443 6528} -\registeredbluetrue%\no{-1} -} -\lst\temme{Nico -\\N.M Temme -\\P. van Wijngaardlaan 18 -\\1391 VD Abcoude -%\\THE NETHERLANDS -\email{nicot@cwi.nl} -\phone{02946 3345} -\registeredbluetrue%\no{-1} -} -\lst\winninkj{Jos -\\Jos Winnink -\\Centraal Plan Bureau -\\Applied Mathematics and Computer Science Department -\\van Stolkweg 14 -\\PO Box 80510 -\\2508GM Den Haag -%\\THE NETHERLANDS -\email{jos.winnink@cpb.nl} -\phone{31) 70 338 3339 privat: 050-421826} -\fax{(31) 70 338 3350} -\registeredbluetrue%\no{-1} -} -\endinput \ No newline at end of file diff --git a/macros/blu/blue.tex b/macros/blu/blue.tex deleted file mode 100644 index 0aa5d33fb8..0000000000 --- a/macros/blu/blue.tex +++ /dev/null @@ -1,4225 +0,0 @@ -%To prevent double loading -\ifx\beginscript\undefined\else -\message{---not loaded---}\endinput\fi -%The material is shareware and subject -%to the separate note on copyright. -% -%To print the format properly, copy -%the following 11-lines job and -%substitute the semicolon token -%(=escape char) for `semi-col'. (2x) -% ---Kees--- -%\input blue.tex -%\hfuzz10pt -%\title{File: blue.tex} -%\issue{Version 1.0} -%\beginscript -%\thisverbatim={\catcode`\`semicol'=0 -% \catcode`\!=12 -% \catcode`\|=12 -% \input blue.tex} -%\beginverbatim -%`semi-col'endverbatim -%\endscript -% -% -% -%Copyright Notice BLUe's Format system -%------------------------------------- -%The software -% blue.tex -% fmt.dat -% tools.dat -%is shareware available. It is not allowed -%to make any profit on it. A happy user is -%requested to send US$25 to the author, or -%better still according to the Macindex the -%equivalent of 20 breads in US dollars. -%(twenty-five US dollar) -% C.G van der Laan -% Hunzeweg 57 -% 9893 PB Garnwerd -% The Netherlands -% (cgl@rc.service.rug.nl) -%The contributors will be added to my -% register.blu database. -%Russian users are relieved for the moment -%from the shareware request, with respect -%to personal use. -%Auxiliary and personalized files are the -%databases -% address.dat addresses -% lit.dat references -% pic.dat pictures. -% -%The main reason to ask for shareware support -%is to protect myself against too many request, -%and to raise some funds to continue my \TeX{} -%work. -% -%The user's guide `Publishing with \TeX,' and the -%accompanying articles are free for personal use. -% -% March, 1995 -% C.G van der Laan%;newcol -% -% -% -%begin%%%%%%%%%%%%%%%general description% -\message{ ---blue.tex 1.0, Jan 95, cgl--- } -% ;nonum -%This file blue.tex accompanies -%Publishing with TeX by Kees van der Laan -%Available from CTAN: -%-pwt.scr (user's guide, which invokes -% the chapters: pwt.int, -.txt, -.mat -% -.tab, -.grf, -.ref, -.ind, -.cus -% -.aft, -.fmt, -.tls, -.tot, -.his, -% next to the dynamical generated -% answers, examples, contents and index.) -%-blue.tex (macros) -%-fmt.dat, tools.dat, -%-lit.dat, pic.dat, address.dat. -%Author: C.G. van der Laan -% Hunzeweg 57 -% 9893 PB Garnwerd -% The Netherlands -% 31 (0)594 62 1525 -% cgl@rc.service.rug.nl -%Purpose: general independent format. -%It is composed of -%-- abbreviations, from tugboat.cmn -%-- manmac.tex (+customization macros) -%-- ppt.tex, my preprint proposal, from -% TUGboat BLUes -%-- miscellaneous additions -%-- \eqalign family with multi-alignment -% point, from Math into BLUes -%-- icon macros via LaTeX's line fonts -%-- btable.tex, my bordered table macros, -% from Table Diversions -%-- vrb.tex (my verbatim mode suite), from -% BLUe's Verbatim -%-- macros for cross-referencing, from -% BLUe's Cross-Referencing -%-- macros for bibliography handling, from -% BLUe's Bibliography -%-- gkppic.tex a subset of gkpmac.tex for -% LaTeX's picture environment -%-- turtle graphics -%-- trs.tex for overhead transparencies -%-- crs.tex for crosswords via plain -%-- macros for creating an index -% from BLUe's Index -%The problem is to keep the constituent -%collections unaltered. -%For each set a table of contents has -%been added to locate macros. -%The reason for putting it all in one file -%is to handle conflicting items and to -%facilitate fast loading, read make it a -%format. -%Note. In order to process this file -%verbatim the semicolon has been reserved -%as escape character. -%The files have not been ordered alphabe- -%tically, due to the hierarchy. -%end%%%%%%%%%%%%%%%%%general description%;newpage -% -% -% -\catcode`\@=11 -%begin%%%%%%%%%%%%%%%%%%%%%abbreviations% -%;numvrb -%Abbreviations borrowed from tugboat.cmn. -\newcount\TestCount -\def\smc{\tensmc} -\def\SMC{\ninerm} -\font\tensmc=cmcsc10 - -\def\AllTeX{(\La)\TeX} - -\def\AMS{American Mathematical Society} - -\def\AmS{{\the\textfont2 A}\kern-.1667em% - \lower.5ex\hbox{\the\textfont2 M}% - \kern-.125em{\the\textfont2 S}} -\def\AmSTeX{\AmS-\TeX} - \def\AmSLaTeX{\AmS-\LaTeX}%Addition -\def\aw{A\kern.1em-W} -\def\AW{Addison\kern.1em-\penalty\z@ - \hskip\z@skip Wesley} - -\def\BibTeX{{\rm B\kern-.05em{\smc i% - \kern-.025emb}\kern-.08em\TeX}} - -\def\CandT{{\sl Computers \& - Typesetting}} - -\def\DVItoVDU{DVIto\kern-.12em VDU} - -\def\ISBN{{\SMC ISBN} } - -% Japanese TeX -\def\JTeX{\leavevmode\hbox{\lower.5ex% - \hbox{J}\kern-.18em\TeX}} - -\def\JoT{{\sl The Joy of \TeX}} - -\def\LAMSTeX{L\raise.42ex\hbox{\kern - -.3em\the\scriptfont2 A}\kern-.2em% - \lower.376ex\hbox{\the\textfont2 M}% - \kern-.125em{\the\textfont2 S}-\TeX} - \let\LAmsTeX=\LAMSTeX%addition -\def\La{\TestCount=\the\fam \leavevmode - L\raise.42ex\hbox{$\fam\TestCount - \scriptstyle\kern-.3em A$}} -\def\LaTeX{\La\kern-.15em\TeX} - -% for Robert McGaffey -\def\Mc{\setbox\TestBox=\hbox{M}M\vbox - to\ht\TestBox{\hbox{c}\vfil}} - -\font\manual=logo10 -% font used for the METAFONT logo, etc. -\def\MF{{\manual META}\-{\manual FONT}} -\def\MP{{\manual META}\-{\smc post}} -\def\MFB{{\sl The \slMF book}} - -% multilingual (INRS) TeX -\def\mtex{T\kern-.1667em\lower.5ex% - \hbox{\^E}\kern-.125emX} - -\def\pcMF{\leavevmode\raise.5ex\hbox - {p\kern-.3ptc}MF} -\def\PCTeX{PC\thinspace\TeX} -\def\pcTeX{\leavevmode\raise.5ex\hbox - {p\kern-.3ptc}\TeX} - -\def\Pas{Pascal} - -\def\PiC{P\kern-.12em\lower.5ex% - \hbox{I}\kern-.075emC} -\def\PiCTeX{\PiC\kern-.11em\TeX} - -\def\plain{{\tt plain}} - -\def\POBox{P.\thinspace O.\ Box } -\def\POBoxTUG{\POBox\unskip\ 21041, - Santa Barbara, CA93121-1041, USA} - -\def\PS{{Post\-Script}} - -\def\SC{Steering Committee} - -\def\SGML{{\SMC SGML}} - -\def\SliTeX{{\rm S\kern-.06em{\smc - l\kern-.035emi}\kern-.06em\TeX}} - -\def\slMF{\MF} -%Use \font\manualsl=logosl10 instead, -%if it's available, for -%\def\slMF{{\manualsl META}\-{\manualsl -% FONT}} - -% Atari ST (Klaus Guntermann) -\def\stTeX{{\smc st\rm\kern-0.13em\TeX}} - -\def\TANGLE{{\tt TANGLE}} - -\def\TB{{\sl The \TeX book}} -\def\TP{{\sl \TeX\/}: - {\sl The Program\/}} - -\def\TeX{T\hbox{\kern-.1667em% - \lower.424ex\hbox{E}\kern-.125emX}} - -\def\TeXhax{\TeX hax} - -% Don Hosek -\def\TeXMaG{\TeX M\kern-.1667em% - \lower.5ex\hbox{A}\kern-.2267emG} - -\def\TeXtures{{\it Textures}} -\let\Textures=\TeXtures - -\def\TeXXeT{\TeX--X\kern-.125em% - \lower.5ex\hbox{E}\kern-.1667emT} - -\def\ttn{{\sl TTN}} -\def\TTN{{\sl \TeX{} and TUG News}} - -\def\tubfont{\sl} -\def\TUB{{\tubfont TUGboat\/}} - -\def\TUG{\TeX\ \UG} - -\def\UG{Users Group} - -\def\UNIX{{\SMC UNIX}} - -\def\VAX{\leavevmode\hbox{V\kern-.12em% - A\kern-.1em X}} - -\def\VorTeX{V\kern-2.7pt\lower.5ex% - \hbox{O\kern-1.4pt R}\kern-2.6pt\TeX} - -\def\XeT{\leavevmode\hbox{X\kern-.125em% - \lower.424ex\hbox{E}\kern-.1667emT}} - -\def\WEB{{\tt WEB}} -\def\WEAVE{{\tt WEAVE}} -%Additions -\def\maps#1#2{MAPS {\oldstyle#1}.% - {\oldstyle#2}}%;nonum -% -%Although not necessary because of -%alphabetical ordering, I supplied -%also -% -%Table of contents abbreviations TUG -%\AllTeX..........................7 -%\AMS.............................9 -%\AmS, \AmSTeX...................14 -%\aw.............................16 -%\AW.............................17 -%\BibTeX.....................20, 21 -%\CandT......................23, 24 -%\DVItoVDU.......................26 -%\ISBN...........................28 -%\JTeX.......................31, 32 -%\JoT............................34 -%\LAMSTeX....................36--39 -%\La.........................41--43 -%\LaTeX..........................44 -%\maps (added) -%\Mc.........................47--48 -%\MF.............................52 -%\mf.............................53 -%\MFB........................54, 55 -%\mtex.......................57, 58 -%\pcMF.......................60, 61 -%\PCTeX..........................62 -%\pcTeX......................63, 64 -%\Pas............................66 -%\PiCTeX.........................70 -%\plain..........................72 -%\POBox..........................74 -%\POBoxTUG...................75--76 -%\PS.............................78 -%\SC.............................80 -%\SGML...........................82 -%\SliTeX.....................84, 85 -%\slMF......................%90, 91 -%\stTeX..........................94 -%\TANGLE.........................96 -%\TB.............................98 -%\TP.............................99 -%\TeX......................102, 103 -%\TeXhax........................105 -%\TeXMaG...................108, 109 -%\TeXtures......................111 -%\TeXXeT...................114, 115 -%\ttn...........................117 -%\TTN...........................118 -%\TUB...........................121 -%\TUG...........................123 -%\UG............................125 -%\UNIX..........................127 -%\VAX......................129, 130 -%\VorTeX...................132, 133 -%\XeT......................135, 136 -%\WEB...........................138 -%\WEAVE.........................139 -%end%%%%%%%%%%%%%%%%%%%%%%%abbreviations%;newpage -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%manmac% -%;numvrb -%manmac.tex cgl@rc.service.rug.nl -%Knuth's macros for formatting The TeXbook -%and The METAfont book. -% -%\catcode`@=11 -% -\font\tentex=cmtex10 - -\font\inchhigh=cminch -\font\titlefont=cmssdc10 at 40pt - -\font\ninerm=cmr9 -\font\eightrm=cmr8 -\font\sixrm=cmr6 - -\font\ninei=cmmi9 -\font\eighti=cmmi8 -\font\sixi=cmmi6 -\skewchar\ninei='177 -\skewchar\eighti='177 -\skewchar\sixi='177 - -\font\ninesy=cmsy9 -\font\eightsy=cmsy8 -\font\sixsy=cmsy6 -\skewchar\ninesy='60 -\skewchar\eightsy='60 -\skewchar\sixsy='60 - -\font\eightss=cmssq8 - -\font\eightssi=cmssqi8 - -\font\ninebf=cmbx9 -\font\eightbf=cmbx8 -\font\sixbf=cmbx6 - -\font\ninett=cmtt9 -\font\eighttt=cmtt8 - -\hyphenchar\tentt=-1 % inhibit hyphenation - % in typewriter type -\hyphenchar\ninett=-1 -\hyphenchar\eighttt=-1 - -\font\ninesl=cmsl9 -\font\eightsl=cmsl8 - -\font\nineit=cmti9 -\font\eightit=cmti8 - -\font\tenu=cmu10 % unslanted text italic -\font\magnifiedfiverm=cmr5 at 10pt -%Next two not available on my system -%\font\manual=manfnt % font used for the - % METAFONT logo, etc. -%\font\cmman=cmman % font used for -% -%miscellaneous Computer Modern variations -\newskip\ttglue -\def\tenpoint{\def\rm{\fam0\tenrm}% - \textfont0=\tenrm\scriptfont0=\sevenrm - \scriptscriptfont0=\fiverm - \textfont1=\teni \scriptfont1=\seveni - \scriptscriptfont1=\fivei - \textfont2=\tensy\scriptfont2=\sevensy - \scriptscriptfont2=\fivesy - \textfont3=\tenex\scriptfont3=\tenex - \scriptscriptfont3=\tenex - \def\it{\fam\itfam\tenit}\def\oldstyle - {\fam1 \teni}\textfont\itfam=\tenit - \def\sl{\fam\slfam\tensl}% - \textfont\slfam=\tensl - \def\bf{\fam\bffam\tenbf}% - \textfont\bffam=\tenbf - \scriptfont\bffam=\sevenbf - \scriptscriptfont\bffam=\fivebf - \def\tt{\fam\ttfam\tentt}% - \textfont\ttfam=\tentt - \tt \ttglue=.5em plus.25em minus.15em - \normalbaselineskip=12pt plus1pt minus1pt - \def\MF{{\manual META}\-{\manual FONT}}% - \let\sc=\eightrm - \let\big=\tenbig - \setbox\strutbox=\hbox{\vrule - height8.5pt depth3.5pt width\z@}% - \normalbaselines\rm} - -\def\ninepoint{\def\rm{\fam0\ninerm}% - \textfont0=\ninerm\scriptfont0=\sixrm - \scriptscriptfont0=\fiverm - \textfont1=\ninei\scriptfont1=\sixi - \scriptscriptfont1=\fivei - \textfont2=\ninesy\scriptfont2=\sixsy - \scriptscriptfont2=\fivesy - \textfont3=\tenex\scriptfont3=\tenex - \scriptscriptfont3=\tenex - \def\it{\fam\itfam\nineit}\def\oldstyle - {\fam1 \ninei}\textfont\itfam=\nineit - \def\sl{\fam\slfam\ninesl}% - \textfont\slfam=\ninesl - \def\bf{\fam\bffam\ninebf}% - \textfont\bffam=\ninebf - \scriptfont\bffam=\sixbf - \scriptscriptfont\bffam=\fivebf - \def\tt{\fam\ttfam\ninett}% - \textfont\ttfam=\ninett - \tt \ttglue=.5em plus.25em minus.15em - \normalbaselineskip=11pt plus1pt minus1pt - \def\MF{{\manual hijk}\-{\manual lmnj}}% - \let\sc=\sevenrm - \let\big=\ninebig - \setbox\strutbox=\hbox{\vrule height8pt - depth3pt width\z@}% - \normalbaselines\rm} - -\def\eightpoint{\def\rm{\fam0\eightrm}% - \textfont0=\eightrm \scriptfont0=\sixrm - \scriptscriptfont0=\fiverm - \textfont1=\eighti \scriptfont1=\sixi - \scriptscriptfont1=\fivei - \textfont2=\eightsy \scriptfont2=\sixsy - \scriptscriptfont2=\fivesy - \textfont3=\tenex \scriptfont3=\tenex - \scriptscriptfont3=\tenex - \def\it{\fam\itfam\eightit}\def\oldstyle - {\fam1 \eighti}\textfont\itfam=\eightit - \def\sl{\fam\slfam\eightsl}% - \textfont\slfam=\eightsl - \def\bf{\fam\bffam\eightbf}% - \textfont\bffam=\eightbf - \scriptfont\bffam=\sixbf - \scriptscriptfont\bffam=\fivebf - \def\tt{\fam\ttfam\eighttt}% - \textfont\ttfam=\eighttt - \tt \ttglue=.5em plus.25em minus.15em - \normalbaselineskip=10pt plus1pt minus1pt - \def\MF{{\manual opqr}\-{\manual stuq}}% - \let\sc=\sixrm - \let\big=\eightbig - \setbox\strutbox=\hbox{\vrule height7pt - depth2pt width\z@}% - \normalbaselines\rm} - -\def\tenmath{\tenpoint\fam-1 } % use after $ - % in ninepoint sections -\def\tenbig#1{{\hbox{$\left#1\vbox to8.5pt{}% - \right.\n@space$}}} -\def\ninebig#1{{\hbox{$\textfont0=\tenrm - \textfont2=\tensy - \left#1\vbox to7.25pt{}\right.\n@space$}}} -\def\eightbig#1{{\hbox{$\textfont0=\ninerm - \textfont2=\ninesy - \left#1\vbox to6.5pt{}\right.\n@space$}}} -% Page layout -\newdimen\manmachsize\newdimen\manmacvsize -\newdimen\pagewidth \newdimen\pageheight -\newdimen\manmacparindent\newdimen\ruleht%Cornrules -\manmachsize29pc\manmacvsize44pc\maxdepth2.2pt -\manmacparindent=3pc \ruleht=.5pt -\pagewidth\manmachsize\pageheight\manmacvsize -\abovedisplayskip=6pt plus 3pt minus 1pt -\belowdisplayskip=6pt plus 3pt minus 1pt -\abovedisplayshortskip=0pt plus 3pt -\belowdisplayshortskip=4pt plus 3pt - -\newinsert\footins -\def\manmacfootnote#1{\edef\@sf{\spacefactor - \the\spacefactor}#1\@sf - \insert\footins\bgroup\eightpoint - \interlinepenalty100 \let\par=\endgraf - \leftskip=\z@skip \rightskip=\z@skip - \splittopskip=10pt plus 1pt minus 1pt - \floatingpenalty=20000 - \smallskip\item{#1}\bgroup\strut - \aftergroup\@foot\let\next} - -\skip\footins=12pt plus 2pt minus 4pt -% space added when footnote is present -\count\footins=1000 -% footnote magnification factor (1 to 1) -\dimen\footins=30pc -% maximum footnotes per page - -\newinsert\margin -\dimen\margin=\maxdimen -\count\margin=0 \skip\margin=0pt -% marginal inserts take up no space - -\newif\iftitle -\def\titlepage{\global\titletrue} -% for pages without headlines -\def\rhead{} % contains the running headline - -\def\leftheadline{\hbox to \pagewidth{% - \vbox to 10pt{}% strut to position the - % baseline - \llap{\tenbf\folio\kern1pc}% folio to - % left of text - \tenit\rhead\hfil% running head flush left -}} -\def\rightheadline{\hbox to \pagewidth{% - \vbox to 10pt{}% strut to position the - % baseline - \hfil\tenit\rhead\/% running head flush - % right - \rlap{\kern1pc\tenbf\folio}% folio to - % right of text -}} - -\def\onepageout#1{\shipout\vbox{ % here we - % define one page of output - \offinterlineskip % butt the boxes together - \vbox to 3pc{ % this part goes on top of - % the 44pc pages - \iftitle % the next is used for title pages - \global\titlefalse % reset the titlepage - % switch - \setcornerrules % for camera alignment - \else\ifodd\pageno \rightheadline\else - \leftheadline\fi\fi - \vfill} % this completes the \vbox to 3pc - \vbox to \pageheight{ - \ifvoid\margin\else%marginal info is present - \rlap{\kern31pc\vbox to\z@{\kern4pt% - \box\margin \vss}}\fi - #1 % now insert the main information - \ifvoid\footins\else%footnote info is present - \vskip\skip\footins \kern-3pt - \hrule height\ruleht width\pagewidth - \kern-\ruleht \kern3pt - \unvbox\footins\fi - \boxmaxdepth=\maxdepth - } % this completes the \vbox to \pageheight -}\advancepageno} - -\def\setcornerrules{\hbox to \pagewidth{% - \vrule width 1pc height\ruleht - \hfil \vrule width 1pc} - \hbox to \pagewidth{\llap{\sevenrm(page - \folio)\kern1pc}% - \vrule height1pc width\ruleht depth\z@ - \hfil \vrule width\ruleht depth\z@}} - -\def\manmacoutput{\onepageout{ - \unvbox255}} - -\newbox\partialpage -\def\begindoublecolumns{\begingroup - \output={\global\setbox\partialpage= - \vbox{\unvbox255\bigskip}}\eject - \output={\doublecolumnout}% - \hsize=9cm \vsize=51cm}%cgl mods -\def\enddoublecolumns{\output= - {\balancecolumns}\eject \endgroup - \pagegoal=\vsize} - -\def\doublecolumnout{\splittopskip=\topskip - \splitmaxdepth=\maxdepth \dimen@=25cm - \advance\dimen@ by-\ht\partialpage - \setbox0=\vsplit255 to\dimen@ - \setbox2=\vsplit255 to\dimen@ - \onepageout\pagesofar - \unvbox255 \penalty\outputpenalty} -\def\pagesofar{\unvbox\partialpage - \wd0=\hsize \wd2=\hsize \hbox to - \pagewidth{\box0\hfil\box2}} -\def\balancecolumns{\setbox0=\vbox{\unvbox255} - \dimen@=\ht0 - \advance\dimen@ by\topskip - \advance\dimen@ by-\baselineskip - \divide\dimen@ by2 \splittopskip=\topskip - {\vbadness=10000 - \loop \global\setbox3=\copy0 - \global\setbox1=\vsplit3 to\dimen@ - \ifdim\ht3>\dimen@ - \global\advance\dimen@ by1pt - \repeat} - \setbox0=\vbox to\dimen@{\unvbox1} - \setbox2=\vbox to\dimen@{\unvbox3} - \pagesofar} - -% To produce only a subset of pages, -% put the page numbers on separate -% lines in a file called pages.tex -\let\Shipout=\shipout -\newread\pages \newcount\nextpage -\openin\pages=pages -\def\getnextpage{\pages\else - {\endlinechar=-1\read\pages to\next - \ifx\next\empty % in this case we should - % have eof now - \else\global\nextpage=\next\fi}\fi} -\ifeof\pages\else\message{OK, I'll ship only - the requested pages}\getnextpage\fi -% -\def\shipout{\ifeof\pages - \let\next=\Shipout\else - \ifnum\pageno=\nextpage - \getnextpage\let\next=\Shipout - \else\let\next=\Tosspage\fi\fi \next} -% -\newbox\garbage -\def\Tosspage{\deadcycles=0 - \setbox\garbage=} - -% Chapter formatting -% The preface and table of contents are -% formatted in place, not here. -\newcount\exno % for the number of exercises - % in the current chapter -\newcount\subsecno % for the number of - % subsections in the current chapter - -\def\manmacbeginchapter#1 #2#3. #4\par{% -\global\exno=0\subsecno=0\def\chapno{#2#3} - \ifodd\pageno - \errmessage{You had too much text on - that last page, I'm backing up} - \advance\pageno by-1 - \fi \titlepage - \def\\{ } % \\'s in the title will be - % treated as spaces - \message{#1 #2#3:} % show the chapter - % title on the terminal - \def\MF{{\manual 89:%insert semi-col - <=>:}} % slant the logo - \xdef\rhead{#1 #2#3: #4\unskip} - {\def\TeX{T\kern-.2em\lower.5ex% - \hbox{E}\kern-.06em X} - \def\MF{{\vbox to30pt{}\manual ()*+,-.*}} - \def\\{#3} - \ifx\empty\\ - \rightline{\inchhigh #2\kern-.04em} - \else\rightline{\inchhigh #2\kern-.06em% - #3\kern-.04em}% - \fi \vskip 1.75pc - \baselineskip 36pt \lineskiplimit - \titlelsl \lineskip 12pt - \let\\=\cr%now the \\'s are line dividers - \halign{\line{\titlefont\hfil##}\\#4% - \unskip\\}\vfill\eject} % output the - % chapter title page - \tenpoint\noindent\ignorespaces}% the first -%paragraph of a chapter is not indented -\newdimen\titlelsl \titlelsl=1pt - -\outer\def\manmacendchapter{\ifodd\pageno - \else\vfill\eject\null\fi - \begingroup\bigskip\vfill % beginning of - % the quotes - \def\eject{\endgroup\eject} - \def\par{\ifhmode\/\endgraf\fi}\obeylines - \def\TeX{T\kern-.2em\lower.5ex\hbox{E}% - \kern-.000em X} - \def\MF{{\manual opqr}\-{\manual stuq}} - \eightpoint \let\tt=\ninett - \baselineskip 10pt - \parfillskip \z@ - \interlinepenalty 10000 - \leftskip \z@ plus 40pc minus \parindent - \let\rm=\eightss \let\sl=\eightssi - \everypar{\sl}} -% -\def\manmacauthor#1(#2){\smallskip -\noindent\rm--- #1\unskip\enspace(#2)} - -\def\dbend{{\manual\char127}} -% dangerous bend sign -\def\d@nger{\medbreak\begingroup - \clubpenalty=10000 - \def\par{\endgraf\endgroup\medbreak} - \noindent\hang\hangafter=-2 - \hbox to0pt{\hskip-\hangindent\dbend - \hfill}\ninepoint} -\outer\def\danger{\d@nger} -\def\dd@nger{\medbreak\begingroup - \clubpenalty=10000 - \def\par{\endgraf\endgroup\medbreak} - \noindent\hang\hangafter=-2 - \hbox to0pt{\hskip-\hangindent\dbend - \kern1pt\dbend\hfill}\ninepoint} -\outer\def\ddanger{\dd@nger} -\def\enddanger{\endgraf\endgroup} % omits - % the \medbreak - -\outer\def\subsection#1. {\medbreak - \advance\subsecno by 1 - \noindent - {\it \the\subsecno.\enspace#1.\enspace}} -\def\ansno#1.#2:{\medbreak\noindent - \hbox to\parindent{\bf\hss#1.#2.\enspace} - \ignorespaces} - -% Composition macros -\hyphenation{man-u-script man-u-scripts - ap-pen-dix xscaled} - -%\def\AmSTeX{$\cal A\kern-.1667em\lower -% .5ex\hbox{$\cal M$}\kern-.075em S$-\TeX} -\def\bull{\vrule height .9ex width .8ex% - depth -.1ex } % square bullet -\def\SS{{\it SS}} % scriptscript style -\def\|{\leavevmode\hbox{\tt\char`\|}} - % vertical line -\def\dn{\leavevmode\hbox{\tt\char'14}} - % downward arrow -\def\up{\leavevmode\hbox{\tt\char'13}} - % upward arrow -\def\]{\leavevmode\hbox{\tt\char`\ }} - % visible space - -\def\pt{$\,${\rm pt}} % units of points, - % in math formulas -\def\em{$\,${\rm em}} % units of ems, - % in math formulas -\def\<#1>{\leavevmode\hbox{$\langle$#1% - \/$\rangle$}} % syntactic quantity -\def\oct#1{\hbox{\rm\'{}\kern-.2em\it - #1\/\kern.05em}} % octal constant -\def\hex#1{\hbox{\rm\H{}\tt#1}} - % hexadecimal constant -\def\cstok#1{\leavevmode\thinspace\hbox{% - \vrule\vtop{\vbox{\hrule\kern1pt\hbox{% - \vphantom{\tt/}\thinspace{\tt#1}% - \thinspace}}\kern1pt\hrule}\vrule}% - \thinspace} % control sequence token - -{\obeyspaces\gdef {\ }} -\def\parbreak{\hfil\break\indent\strut} -\def\stretch{\nobreak\hskip0pt plus2pt\relax} - -% macros for non-centered displays -\outer\def\begindisplay{\obeylines - \startdisplay} -{\obeylines\gdef\startdisplay#1 - {\catcode`\^^M=5$$#1\halign\bgroup\indent - ##\hfil&&\qquad##\hfil\cr}} -% -\outer\def\enddisplay{\crcr\egroup$$} -% (the following \begin...\end-type -% macros do not appear in Appendix E) -% macros for demonstrating math constructions -\outer\def\beginmathdemo{ - $$\advance\baselineskip by2pt - \halign\bgroup\indent\hbox to 160pt{##\hfil}& - $##$\hfil\cr\noalign{\vskip-2pt} -} -\outer\def\begindisplaymathdemo{ - $$\advance\baselineskip by15pt - \halign\bgroup\indent\hbox to 160pt{##\hfil}& - $\displaystyle{##}$\hfil\cr - \noalign{\vskip-15pt} -} -\outer\def\beginlongmathdemo{ - $$\advance\baselineskip by2pt - \halign\bgroup\indent\hbox to 210pt{##\hfil}& - $##$\hfil\cr\noalign{\vskip-2pt} -} -\outer\def\beginlongdisplaymathdemo{ - $$\advance\baselineskip by15pt - \halign\bgroup\indent\hbox to 210pt{##\hfil}& - $\displaystyle{##}$\hfil\cr - \noalign{\vskip-15pt} -} -\outer\def\endmathdemo{\crcr\egroup$$} - -% macros for font tables -\def\oddline#1{\cr - \noalign{\nointerlineskip} - \multispan{19}\hrulefill& - \setbox0=\hbox{\lower 2.3pt\hbox{% - \hex{#1x}}}\smash{\box0}\cr - \noalign{\nointerlineskip}} -\def\evenline{\cr\noalign{\hrule}} -\def\chartstrut{\lower4.5pt\vbox to14pt{}} -\def\beginchart#1{$$\postdisplaypenalty=-10000 - \global\count@=0 #1 - \halign to\hsize\bgroup - \chartstrut##\tabskip0pt plus10pt& - &\hfil##\hfil&\vrule##\cr - \lower6.5pt\null - &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&& - \oct5&&\oct6&&\oct7&\evenline} -\def\endchart{\raise11.5pt\null&&&\hex 8&& - \hex 9&&\hex A&&\hex B&&\hex C&&\hex D&& - \hex E&&\hex F&\cr\egroup$$} -\def\:{\setbox0=\hbox{\char\count@}% - \ifdim\ht0>7.5pt\reposition - \else\ifdim\dp0>2.5pt\reposition\fi\fi - \box0\global\advance\count@ by1 } -\def\reposition{\setbox0=\hbox{$\vcenter - {\kern2pt\box0\kern2pt}$}} -\def\normalchart{% - &\oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&&\oddline0 - &\oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&\evenline - &\oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&&\oddline1 - &\oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&\evenline - &\oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&&\oddline2 - &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&\evenline - &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&&\oddline3 - &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&\evenline - &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&&\oddline4 - &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&\evenline - &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&&\oddline5 - &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&\evenline - &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&&\oddline6 - &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&\evenline - &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&&\oddline7 - &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&& - \:&\evenline} -% -% (now Appendix E resumes again) -% macros for verbatim scanning -\chardef\other=12 -\def\ttverbatim{\begingroup - \catcode`\\=\other - \catcode`\{=\other - \catcode`\}=\other - \catcode`\$=\other - \catcode`\&=\other - \catcode`\#=\other - \catcode`\%=\other - \catcode`\~=\other - \catcode`\_=\other - \catcode`\^=\other - \obeyspaces \obeylines \tt} - -\outer\def\begintt{$$\let\par=\endgraf - \ttverbatim \parskip=\z@ - \catcode`\|=0 \rightskip-5pc \ttfinish} -{\catcode`\|=0 |catcode`|\=\other - % | is temporary escape character - |obeylines % end of line is active - |gdef|ttfinish#1^^M#2\endtt{#1|vbox{#2}% - |endgroup$$}} -\catcode`\|=\active -{\obeylines \gdef|{\ttverbatim - \spaceskip=\ttglue -\let^^M=\ \let|=\endgroup}} - -% macros for syntax rules (again, not in -% Appendix E) -\def\[#1]{\silenttrue\xref|#1|\thinspace - {\tt#1}\thinspace} % keyword in syntax -\def\beginsyntax{\endgraf\nobreak\medskip - \begingroup \catcode`<=13 \catcode`[=13 - \let\par=\endsyntaxline \obeylines} -\def\endsyntaxline{\futurelet\next - \syntaxswitch} -\def\syntaxswitch{\ifx\next\<\let\next= - \syntaxrule\else - \ifx\next\endsyntax\let\next=\endgroup - \else\let\next=\continuerule - \fi\fi \next -} -\def\continuerule{\hfil\break\indent\qquad} -\def\endsyntax{\medbreak\noindent} -{\catcode`<=13 \catcode`[=13 - \global\let<=\< \global\let[=\[ - \gdef\syntaxrule<#1>{\endgraf\indent - \silentfalse%\xref%Mod cgl - \<#1>}} \def\alt{\ $\vert$ } -\def\is{\ $\longrightarrow$ } - -% macros to demarcate lines quoted from -% TeX source files -\def\beginlines{\par\begingroup\nobreak - \medskip\parindent\z@ \obeylines - \hrule\kern1pt\nobreak \everypar{\strut}} -\def\endlines{\kern1pt\hrule\endgroup - \medbreak\noindent} -\def\weakendlines{\kern1pt\hrule\endgroup - \medskip\noindent} -\def\finalendlines{\kern1pt\hrule\endgroup - \medbreak} - -\outer\def\manmacexercise{\medbreak - \global\advance\exno by 1 - \noindent\llap{\manual\char'170 - \rm\kern.15em}% triangle in margin - {\ninebf EXERCISE \bf\chapno.\the\exno}\par - \nobreak\noindent} -\def\dexercise{\global\advance\exno by 1 - \llap{\manual\char'170 - \rm\kern.15em}% triangle in indented space - {\eightbf EXERCISE \bf\chapno.\the\exno}\hfil - \break} -\outer\def\dangerexercise{\d@nger\dexercise} -\outer\def\ddangerexercise{\dd@nger\dexercise} - -\newwrite\ans -\immediate\openout\ans=answers - % file for answers to exercises -\outer\def\manmacanswer{\par\medbreak - \immediate\write\ans{} - \immediate\write\ans{\string\ansno - \chapno.\the\exno:}\copytoblankline} -\def\copytoblankline{\begingroup\setupcopy - \copyans} -\def\setupcopy{\def\do##1{\catcode`##1= - \other}\dospecials - \catcode`\|=\other \obeylines} -{\obeylines \gdef\copyans#1 - {\def\next{#1}% - \ifx\next\empty\let\next=\endgroup - \else\immediate\write\ans{\next}% - \let\next=\copyans - \fi\next}} - -% Macros for drawing figures (not in -% Appendix E) -\def\hidehrule#1#2{\kern-#1\hrule - height#1 depth#2 \kern-#2 } -\def\hidevrule#1#2{\kern-#1{\dimen0=#1 - \advance\dimen0 by#2\vrule width\dimen0}% - \kern-#2 } -% \makeblankbox puts rules at the edges of -% a blank box whose dimensions are those -% of \box0 (assuming nonnegative wd,ht,dp) -% #1 is rule thickness outside, -% #2 is rule thickness inside -\def\makeblankbox#1#2{\hbox{\lower\dp0 - \vbox{\hidehrule{#1}{#2}% - \kern-#1% overlap the rules at the corners - \hbox to\wd0{\hidevrule{#1}{#2}% - \raise\ht0\vbox to #1{}% set the vrule height - \lower\dp0\vtop to #1{}% set the vrule depth - \hfil\hidevrule{#2}{#1}}% - \kern-#1\hidehrule{#2}{#1}}}} -\def\maketypebox{\makeblankbox{0pt}{1pt}} -\def\makelightbox{\makeblankbox{.2pt}{.2pt}} - -% \box\bigdot is a null box with a bullet -% at its reference point -\newbox\bigdot \newbox\smalldot -\setbox0=\hbox{$\vcenter{}$} -% \ht0 is the axis height -\setbox1=\hbox to\z@{$\hss\bullet\hss$} -% bullet is centered on the axis -\setbox\bigdot=\vbox to\z@{\kern-\ht1 - \kern\ht0 \box1 \vss} -\setbox1=\hbox to\z@{$\hss\cdot\hss$} -% cdot is centered on the axis -\setbox\smalldot=\vbox to\z@{\kern-\ht1 - \kern\ht0 \box1 \vss} - -% \arrows makes things like <--- text ---> -\def\arrows#1#2{% #1=width, #2=text -{\setbox0=\hbox{$\mkern-2mu\mathord - -\mkern-2mu$} - \hbox to #1{\kern-.055556em$\leftarrow - \mkern-6mu$\cleaders\copy0\hfil - \kern.4em #2\kern.4em\cleaders\copy0\hfil - $\mkern-6mu\rightarrow$\kern-.055556em}}} - -% \samplebox makes the outline of a box, -% with big dot at reference point -\def\samplebox#1#2#3#4{% #1=ht, #2=dp, #3=wd, -% #4=text - {\setbox0=\vtop{\vbox to #1{\hbox to #3{} - \vss}\nointerlineskip\vbox to #2{}} - % now \box0 has the desired ht, dp, and wd - \hbox{\copy\bigdot - \vrule height.2pt depth.2pt width#3% - \kern-#3\makelightbox\kern-#3% - \raise#1\vbox{\hbox to #3{\hss#4\hss} - \kern 3pt}}}} - -% \sampleglue makes glue between sample boxes -\newdimen\varunit -\varunit=\hsize -\advance\varunit by-2\parindent -\divide\varunit by 58 % illustrations in - % Chapter 12 -\def\sampleglue#1#2{% #1=width, #2=text - \vtop{\hbox to #1{\xleaders\hbox to - .5\varunit{\hss\copy\smalldot\hss}\hfil} - \kern3pt - \tabskip \z@ plus 1fil - \halign to #1{\hfil##\cr#2\cr}}} - -% Indexing macros -\newif\ifproofmode -\proofmodetrue % this should be false when - % making camera-ready copy -\newwrite\inx -\immediate\openout\inx=index % file for - % index reminders -\newif\ifsilent -\def\specialhat{\ifmmode\def\next{^}\else - \let\next=\beginxref\fi\next} -\def\beginxref{\futurelet\next - \beginxrefswitch} -\def\beginxrefswitch{\ifx\next\specialhat - \let\next=\silentxref\else - \silentfalse\let\next=\xref\fi \next} -\catcode`\^=\active \let ^=\specialhat -\def\silentxref^{\silenttrue\xref} - -\def\marginstyle{\vrule height6pt depth2pt - width\z@ \sevenrm} - -\chardef\bslash=`\\ -\def\xref{\futurelet\next\xrefswitch} -\def\xrefswitch{\begingroup - \ifx\next|\aftergroup\vxref - % case 1 or 2, |arg| or |\arg| - \else\ifx\next\<\aftergroup\anglexref - % case 3, "\" means angle brackets - \else\aftergroup\normalxref - \fi\fi\endgroup} % case 0, "{arg}" -\def\vxref|{\catcode`\\=\active - \futurelet\next\vxrefswitch} -\def\vxrefswitch#1|{\catcode`\\=0 - \ifx\next\empty\def\xreftype{2}% - \def\next{{\tt\bslash\text}}%type2 - \else\def\xreftype{1}\def\next{% - {\tt\text}}\fi %type1 - \edef\text{#1}\makexref} -{\catcode`\|=0 \catcode`\\=\active |gdef\{}} -\def\anglexref\<#1>{\def\xreftype{3}% - \def\text{#1}\def\next{\<\text>}\makexref} -\def\normalxref#1{\def\xreftype{0}% - \def\text{#1}\let\next=\text\makexref} -\def\makexref{\ifproofmode\insert\margin - {\hbox{\marginstyle\text}}% -% \ifindexfile %Mod cgl oct 94 - \xdef\writeit{\write\inx{\text\space!% - \xreftype\space\noexpand\number\pageno.% - }}\writeit -% \else\advance\inxcnt1 -% \ea\xdef\csname\the\inxcnt\endcsname -% {\text\space!\xreftype\space}% -% \mark{\the\inxcnt}\fi - \else\ifhmode\kern0pt\fi\fi - \ifsilent\ignorespaces\else\next\fi} -% the \insert (which is done in proofmode -% only) suppresses hyphenation, so the -% \kern\z@ is put in to give the same effect -% in non-proofmode. - -% Internal cross references that may change -\def\sesame{61} - % page number for Sesame Street quote -\def\bmiexno{20} - % exercise number for bold math italic -\def\punishexno{1} - % exercise number for `punishment' -\def\fracexno{6} - % exercise number for `\frac' -\def\vshippage{31} - % error message from `\vship' -\def\storypage{24} - % listing of story.tex -\def\metaT{4} - % exercise number for T of METAFONT -\def\xwhat{2} - % exercise number for x3:=whatever -\def\Xwhat{2} - % exercise number for whatever itself - -\def\checkequals#1#2{\ifnum#1=#2\else - \errmessage{Redefine \string#1 to be - \the#2}\fi} - -%Things for The METAFONTbook only -%(omitted) ;nonum -% -%Contents manmac.tex -% cgl@rc.service.rug.nl -%Font definition ................7-58 -%Size switching macros ........60-154 -%Page layout (and OTR) .......156-282 -%-parameters..................159-193 -%-\manmacfootnote.............167-176 -%-\margin (insert)............185-188 -%-\titlepage......................191 -%-\leftheadline...............195-201 -%-\rightheadline..............202-209 -%-\onepageout.................211-235 -%-\setcornerrules.............237-243 -%-\manmacoutput...................245 -%-\begindoublecolumns.........248-253 -%-\enddoublecolumns...........254-256 -%-\doublecolumnout............258-264 -%-\pagesofar..................265-267 -%-\balancecolumns.............268-281 -%Subset of pages..............283-304 -%-\Shipout........................286 -%-\getnextpage................289-295 -%-\shipout....................297-301 -%-\Tosspage.......................304 -%Chapter formatting ..........306-393 -%-\manmacbeginchapter.........315-344 -%-\manmacendchapter...........348-363 -%-\author....................365, 366 -%-\dbend......................368-385 -%-\subsection.................387-393 -%Composition macros...........395-431 -%-\AmSTeX....................399, 400 -%-\bull......................401, 402 -%-\SS.............................403 -%-\vrt............................404 -%-\dn........................406, 407 -%-\up........................408, 409 -%-\]..............................410 -%-\pt........................413, 414 -%-\em........................415, 416 -%-\<#1>......................417, 418 -%-\oct.......................419, 420 -%-\hex............................421 -%-\cstok......................423-427 -%-\parbreak..................429, 430 -%-\stretch........................431 -%Macros for non-centered -% displays..................433-439 -%-\begindisplay..............434, 435 -%-\startdisplay...............436-438 -%-\enddisplay.....................440 -%Macros for showing math -% constructions.............441-466 -%-\beginmathdemo..............444-448 -%-\begindisplaymathdemo.......449-454 -%-\beginlongmathdemo..........455-459 -%-\beginlongdisplaymathdemo...460-465 -%-\endmathdemo....................466 -%Macros for font tables.......468-526 -%-\oddline....................469-474 -%-\evenline.......................475 -%-\chartstrut.....................476 -%-\beginchart.................477-484 -%-\endchart...................485-487 -%-\:..........................488-491 -%-\reposition................492, 493 -%-\normalchart................494-526 -%Macros for verbatim scanning.529-555 -%-\ttverbatim.................531-542 -%-\begintt....................544-546 -%-\ttfinish...................547-551 -%Macros for syntax rules......557-579 -%-\[#1]......................559, 560 -%-\beginsyntax................561-563 -%-\endsyntaxline.............564, 565 -%-\syntaxswitch...............566-570 -%-\continuerule...................572 -%-\endsyntax......................573 -%-<, [............................575 -%-\syntaxrule................576, 577 -%-\alt............................578 -%-\is.............................579 -%Macros to demarcate lines quoted -% from \TeX{} source files..581-591 -%-\beginlines................583, 585 -%-\endlines..................586, 587 -%-\weakendlines..............588, 589 -%-\finalendlines.............590, 591 -%Macros to mark up exercises -% and answers...............593-624 -%-\manmacexercise............593, 598 -%-\dexercise..................599-603 -%-\dangerexercise.................604 -%-\ddangerexercise................605 -%-\manmacanswer...............610-613 -%-\copytoblankline...........614, 615 -%-\setupcopy..................616-618 -%-\copyans....................619-624 -%Macros for drawing figures...626-696 -%-\hidehrule.................628, 629 -%-\hidevrule..................630-632 -%-\makeblankbox...............638-645 -%-\maketypebbox...................646 -%-\makelightbox...................647 -%-\bigdot....................656, 657 -%-\smalldot..................660, 661 -%-\arrows.....................664-670 -%-\samplebox..................674-683 -%-\sampleglue.................691-696 -%Indexing macros..............698-752 -%-\ifproofmode, \ifsilent....698, 704 -%-\inx............................701 -%-\specialhat................706, 707 -%-\beginxref.................708, 709 -%-\beginxrefswitch............710-712 -%-^...............................713 -%-\silentxref.....................714 -%-\marginstyle...............716, 717 -%-\bslash.........................719 -%-\xref...........................720 -%-\xrefswitch.................721-727 -%-\vxref.....................728, 729 -%-\vxrefswitch................730-736 -%-\anglexref.................738, 739 -%-\normalxref................740, 741 -%-\makexref...................742-754 -%Internal cross-references that -% may change................760-782 -% -%Additions -% -%\Large font for amongst others -%chapterhead of report -\font\Largerm=cmr12 - scaled\magstep4 -\let\subsubheadfont\Largerm -\font\Largei=cmmi12 - scaled\magstep4\relax -\font\Largeit=cmti12 - scaled\magstep4\relax -\font\Largesl=cmsl12 - scaled\magstep5\relax -\font\Largesy=cmsy10 - scaled\magstep5\relax -\font\Largeex=cmex10 - scaled\magstep5\relax -\font\Largebf=cmbx12 - scaled\magstep4\relax -\font\Largett=cmtt12 - scaled\magstep4\relax -\font\twelverm=cmr12 -\font\twelvebf=cmbx12 -\font\twelveit=cmti12 -\font\twelvesl=cmsl12 -\font\twelvemus=cmmi12 -\font\twelvesy=cmsy10 scaled\magstep1 -\font\twelveex=cmex10 scaled\magstep1 -\font\nineex=cmex10 scaled\magstephalf -\def\Large{\def\rm{\fam0\Largerm}% - \textfont0=\Largerm - \scriptfont0=\twelverm - \scriptscriptfont0=\ninerm - \textfont1=\Largei - \scriptfont1=\twelvemus - \scriptscriptfont1=\ninei - \textfont2=\Largesy - \scriptfont2=\twelvesy - \scriptscriptfont2=\ninesy - \textfont3=\Largeex - \scriptfont3=\twelveex - \scriptscriptfont3=\nineex - \def\it{\fam\itfam \Largeit}% - \textfont\itfam=\Largeit - \def\sl{\fam\slfam\Largesl}% - \def\oldstyle{\fam1 \Largei} - \textfont\slfam=\Largesl - \def\bf{\fam\bffam\Largebf}% - \textfont\bffam=\Largebf - \scriptfont\bffam=\tenbf - \scriptscriptfont\bffam=\sevenbf - \def\tt{\fam\ttfam\Largett}% - \textfont\ttfam=\Largett - \tt\ttglue=.5em plus.25em minus.15em - \normalbaselineskip=21pt - \def\MF{{\manual META}\-{\manual FONT}}% - \setbox\strutbox=\hbox{\vrule - height16pt depth5pt width\z@}% - \let\sc=\twelverm\let\big=\Largebig - \normalbaselines\rm} -\def\Largebig#1{{\hbox{$\left#1\vbox - to12pt{}\right.\n@space}}} -% -%\large font for transparencies -\font\largerm=cmr12 - scaled\magstep2 -\let\subsubheadfont\largerm -\font\largei=cmmi12 - scaled\magstep2\relax -\font\largeit=cmti12 - scaled\magstep2\relax -\font\largesl=cmsl12 - scaled\magstep2\relax -\font\largesy=cmsy10 - scaled\magstep3\relax -\font\largeex=cmex10 - scaled\magstep3\relax -\font\largebf=cmbx12 - scaled\magstep2\relax -\font\largett=cmtt12 - scaled\magstep2\relax -\def\large{\def\rm{\fam0\largerm}% - \textfont0=\largerm - \scriptfont0=\tenrm - \scriptscriptfont0=\sevenrm - \textfont1=\largei - \scriptfont1=\teni - \scriptscriptfont1=\seveni - \textfont2=\largesy - \scriptfont2=\tensy - \scriptscriptfont2=\sevensy - \textfont3=\largeex - \scriptfont3=\tenex - \scriptscriptfont3=\tenex - \def\it{\fam\itfam \largeit}% - \textfont\itfam=\largeit - \def\sl{\fam\slfam\largesl}% - \def\oldstyle{\fam1 \largei} - \textfont\slfam=\largesl - \def\bf{\fam\bffam\largebf}% - \textfont\bffam=\largebf - \scriptfont\bffam=\tenbf - \scriptscriptfont\bffam=\sevenbf - \def\tt{\fam\ttfam\largett}% - \textfont\ttfam=\largett - \tt\ttglue=.5em plus.25em minus.15em - \normalbaselineskip=20pt - \def\MF{{\manual META}\-{\manual FONT}}% - \setbox\strutbox=\hbox{\vrule - height15.5pt depth4.5pt width\z@}% - \let\sc=\tenrm \let\big=\largebig - \normalbaselines\rm} -\def\largebig#1{{\hbox{$\left#1\vbox - to10pt{}\right.\n@space}}} -% -%Customization of \beginchapter and -%\endchapter from Manmac BLUes. -\outer\def\beginchapter#1 #2#3. #4\par{% - \def\chapno{#2#3}\global\exno0 \subsecno0 - \def\hl{\gdef\hl{\the\issue\hfil\it\rhead}} - \headline{\hl} - \def\\{ }\xdef\rhead{#4} - \centerline{\titlefont - #1 #2#3\quad #4} - \bigskip\tenpoint\noindent\ignorespaces} -% -\footline{\tiny\rlap{\the\year}\hfil - --\folio--\hfil\llap{\copyright cgl}} -% -\outer\def\endchapter{\vfill\eject\vfill} -% -%\output{\plainoutput} -% -\hsize18cm \pagewidth\hsize -\vsize25cm \pageheight\vsize -%\issue{MAPS 93.1} -%History of changes -%1994 Table of contents added and -% names of footnote and output -% provided with unique prefix manmac. -% Customization \beginchapter added. -%1993 Adapted for twocolumn layout. -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%manmac%;newpage -% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%ppt.tex cgl@rc.service.rug.nl -%;numvrb -%Adapted TUGboat.sty, 2-column bias -%\xcol is the column no within a page, -%ranges from 1 to \maxcols (=1 or 2). -\newcount\xcol -\newcount\maxcols -% -\newdimen\pagewd\newdimen\colwd -\newdimen\intercolwd -\newtoks\headlinesep\newtoks\footlinesep -\headlinesep{\kern2ex}\footlinesep{\kern1ex} -%\catcode`\@=11 -% remove \outer -\def\newbox{\alloc@4\box\chardef\insc@unt} -\def\boxcs#1{\box\csname#1\endcsname} -\def\setboxcs#1{\setbox\csname#1\endcsname} -\def\newboxcs#1{\expandafter - \newbox\csname#1\endcsname} -\newboxcs{column1} -\newboxcs{column2} -% -\def\midpage#1{\vbox{\ifnum\xcol=\maxcols - \the\headline\else\null\vskip\baselineskip - \fi\the\headlinesep - \vbox to\vsize{% - \hbox to\pagewd{#1}\vss} - \the\footlinesep - \ifnum\xcol=\maxcols - \the\footline\else\vskip4ex\fi}} -% -\headline={\hbox to\pagewd{\sevenrm - \the\issue\hfill{\it\the\title}}} -% -\newtoks\pagenumber\pagenumber{\folio} -\footline={\hbox to\pagewd{\tiny -\rlap{Draft \today}\hfill--\the\pagenumber - --\hfill\llap{\copyright cgl}}} -\def\today{\ifcase\month\or Jan\or Feb\or - March\or April\or May\or June\or July\or - Aug\or Sept\or Oct\or Nov\or Dec\fi - { }{\ea\oldstyle\number\day}, - {\ea\oldstyle\number\year}} -% -\def\newcol{\endgraf\vfill\eject} -% -\def\newpage{\vfill\eject -%\loop - \ifnum\xcol>1 - {\leavevmode\endgraf\vfill\eject} - \fi -}%\xcol is reset in the OTR %\repeat} -% horizontal offset of column -% from left edge of page -\newdimen\coloffset \coloffset=\z@ -\def\incrcoloffset{% - \global\advance\coloffset\colwd - \global\advance\coloffset\intercolwd} -% -\output={\global\setboxcs{column\number\xcol}= - \midpage{\kern\coloffset\pagebody\hfil} - \incrcoloffset - \ifnum\xcol=\maxcols - \shipout\hbox{% - \rlap{\boxcs{column1}}% - \rlap{\boxcs{column2}}% - \hbox to\pagewd{\hss}}% - \advancepageno - \global\coloffset\z@ - \global\xcol=\@ne - \else - \global\advance\xcol\@ne - \fi} -% -%Title, header and miscellaneous -\newtoks\title\newtoks\subtitle -\newtoks\author\newtoks\address -\newtoks\businessaccount -\newtoks\translator\newtoks\issue -\newtoks\netaddress\newtoks\crowner -\newtoks\telephone -\newtoks\thisscript\newtoks\everyscript -\newtoks\prehead\newtoks\posthead -\newtoks\presubhead\newtoks\postsubhead -\newtoks\presubsubhead\newtoks\postsubsubhead -\newtoks\thishead -\newtoks\thissubhead\newtoks\thissubsubhead -\newtoks\everyhead -\newtoks\everysubhead\newtoks\everysubsubhead -\newtoks\tocvar -\newdimen\subheadindent\subheadindent=0pc -\newdimen\subsubheadindent\subsubheadindent=2pc -\def\pasteupkeywords{\box\keywordsbox} -\def\pasteupabstract{\box\abstractbox} -\def\pasteupcontents{\unvbox\contentsbox} -\def\pasteupacknowledgements{\ifvoid - \acknowledgementsbox - \else\the\preacknowledgements\unvbox - \acknowledgementsbox\fi - }% -%pastupindex is much more complicated;vrblin100 -\def\beginscript{\lastscript - \the\everyscript\begingroup - \the\thisscript - \hrule\kern2ex\noindent - {\titlefont\the\title\unskip}% - \if!\the\subtitle!\else{\subtitlefont - \Dash\the\subtitle\unskip}\fi - \medskip\the\author - \medskip\pasteupkeywords - \medskip\pasteupabstract - \medbreak\pasteupcontents\smallbreak} -\def\endscript{\makesignature - \xcol=\maxcols - \vfil\eject\endgroup\tracingstats1 - \stop\thisscript{}} -\def\notlastscript{\let\stop\relax} -\def\lastscript{\let\stop\end} -\prehead{\vskip0pt plus9ex - \penalty-250\vskip0pt plus-9ex - \bgroup\catcode`\^=7 \the\everyhead - \the\thishead\bigskip\noindent} -\posthead{\medskip\nobreak\egroup - \noindent\ignorewhitespace} -\def\beginhead{\the\prehead\bgroup - \headfont} -\def\endhead{\egroup\the\posthead} -\presubhead{\vskip0pt plus6ex - \penalty-100\vskip0pt plus-6ex - \medskip\vskip\parskip\noindent - \bgroup\catcode`\^7 \the\everysubhead - \the\thissubhead - \leavevmode\hbox to\subheadindent{}} -\postsubhead{\egroup\quad\ignorewhitespace} -\def\beginsubhead{\the\presubhead - \bgroup\subheadfont} -\def\endsubhead{\egroup\the\postsubhead} -\presubsubhead{\vskip0pt plus3ex - \penalty-50\vskip0pt plus-3ex\bgroup - \catcode`\^=7 - \the\everysubsubhead\the\thissubsubhead - \smallskip\vskip\parskip\noindent - \leavevmode\hbox to\subsubheadindent{}} -\postsubsubhead{\egroup\quad\ignorewhitespace} -\def\beginsubsubhead{\the\presubsubhead - \bgroup\subsubheadfont} -\def\endsubsubhead{\egroup - \the\postsubsubhead} -%;vrblin150 -\def\head#{\beginhead\bgroup\ag\endhead - \afterassignment\ignorespaces - \let\dummy=} -\def\subhead#{\beginsubhead\bgroup\ag - \endsubhead\afterassignment\ignorespaces - \let\dummy=} -\def\subsubhead#{\beginsubsubhead\bgroup - \ag\endsubsubhead\let\dummy=} -\def\script#{\beginscript\bgroup\ag\endscript - \afterassignment\ignorespaces - \let\dummy=} -% -\def\bluetitle#1\par{\title{#1}} -\def\bluesubtitle#1\par{\subtitle{#1}} -\def\bluekeywords#1\par{\keywords{#1}} -\def\bluehead#1\par - {\beginhead#1\unskip\endhead} -\def\bluesubhead#1\par - {\beginsubhead#1\endsubhead} -\def\bluesubsubhead#1\par - {\beginsubsubhead#1\endsubsubhead} -\def\bluemakelabels#1\par - {\makelabels{#1}} -\def\blueabstract#1\par{\abstract{#1}} -\def\blueissue#1\par{\issue{#1}} -% -\long\def\ignorepars#1{\ifx\par#1\let\next\relax - \else\let\next#1\sraperongi\fi\ignorepars} -\long\def\sraperongi#1\ignorepars{\fi\next} -{\catcode`\^=7 \gdef\ignorewhitespace{\begingroup -%Due to Phil Taylor EuroTeX 94 -\catcode`\ =9 %space -\catcode`\^^I=9 %tab -\catcode`\^^L=9 %f-feed -\catcode`\^^M=9 %e-o-l -\futurelet\dummy\endgroup}} -%;vrblin200 -\def\tubissue#1(#2){TUGboat~{\oldstyle#1}, - {\oldstyle#2}} \def\\{\hfil\break} -\def\makesignature{\medskip - \rightline{\hbox to.4\hsize{\strut - \llap{\copyright\quad}\the\author\hss}} - \rightline{\vbox{\noindent - \hsize=.4\hsize - \the\address\hfill\break - \the\netaddress\\ - \the\telephone}}} -% -\def\on{\bgroup\afterassignment\doold\count0=} -% -\def\doold{\oldstyle\the\count0\egroup} -\def\oa#1 {{\oldstyle\fifoolda#1\ofifolda} } -\def\fifoolda#1#2{\ifcat#1a#1\else\aftergroup#1\fi - \ifx\ofifolda#2 \ofifolda\fi - \fifoolda#2} -\def\ofifolda#1\ofifolda{\fi} -% -% Defaults -% %;vrblin250 -\newif\ifonecol -\def\A#1{\csname A#1\endcsname} -\expandafter\def\csname A4\endcsname - {\ifonecol\hsize16cm\pagewd\hsize - \else\hsize9cm\intercolwd.5cm - \pagewd\hsize - \advance\pagewd\hsize - \advance\pagewd\intercolwd - \fi\colwd\hsize \vsize25cm} -% -\def\onecol{\maxcols=1 \xcol=1 - \onecoltrue\A4 - \hyphenchar\tentt='055 %`- - \hyphenchar\ninett='055 - \hyphenchar\eighttt='055 - \tolerance500 - \hbadness=499 - \hfuzz=4pt -} -% -\def\twocol{\maxcols=2 \xcol=1 - \onecolfalse\A4 - \hyphenchar\tentt='055 - \hyphenchar\ninett='055 - \hyphenchar\eighttt='055 - \tolerance500 - \hbadness=499 - \hfuzz=5pt -} -%Personalisation -\author{Kees van der Laan} -\address{Hunzeweg {\oldstyle57}\\ - {\oldstyle9893} PB Garnwerd\\ - The Netherlands} -\netaddress{cgl@rc.service.rug.nl} -\telephone{{\oldstyle31\thinspace{\rm(}0{\rm)}% - 594\thinspace62\thinspace1525}} -\crowner{cgl} -\businessaccount{Giro: C.G. van der Laan - no {\oldstyle1321224}} -\def\logo{\copy\ntglogobox}%a \vbox -%end Personalisation -\def\bluetex{blue.tex} -%\catcode`\@=12 -\hoffset-1cm \voffset-1cm -\parindent1pc -\let\titlefont\bf -\let\headfont\bf -\let\subheadfont\bf -\let\subsubheadfont\bf -\let\subtitlefont\rm -\twocol -%\endinput -%;nonum -%Contents ppt cgl@rc.service.rug.nl -%- OTR -% \boxcs........................14 -% \setboxcs.....................15 -% \newboxcs.....................16 -% \midpage...................21-28 -% \headline..................30-31 -% \footline..................34-36 -% \pagenumber...................33 -% \today.....................37-41 -% \newcol.......................42 -% \newpage...................44-49 -% \incrcoloffset.............53-55 -% \output....................57-72 -%- Markup structures -% \title, \subtitle.............75 -% \author.......................76 -% \address, \netaddress.........77 -% \issue........................77 -% \thisscript, \everyscript.....78 -% \prehead, \posthead...........79 -% \presubhead...................80 -% \presubsubhead................81 -% \pasteupkeywords..............82 -% \pasteupabstract..............83 -% \pasteupcontents..............84 -% \beginscript.............101-110 -% \endscript...............111-114 -% \notlastscript...............115 -% \lastscript..................116 -% \prehead.................117-119 -% \posthead................120-121 -% \presubhead..............124-126 -% \beginhead...............122-123 -% \endhead.....................124 -% \beginsubhead............127-128 -% \endsubhead..................129 -% \beginsubsubhead.........133-134 -% \endsubsubhead...............135 -% \script..................159-161 -% \head....................151-153 -% \subhead.................154-156 -% \subsubhead..............157-158 -% \ignorepars..............159-160 -% \sraperongi..................161 -% \ignorewhitespace........162-169 -%- Miscellaneous -% \tubissue....................201 -% \\...........................202 -% \makesignature...........203-209 -% \on...................... -% \ona..................... -%- Defaults -% \onecol..................251-263 -% \twocol..................265-277 -%- Initializations 278-289 -% \author......................278 -% \address.................279-280 -% \netaddress..............281-282 -% \headfont....................286 -% \subheadfont.................287 -% \subsubheadfont..............288 -% \parindent...................285 -% \hoffset, \voffset...........284 -% -%Split-off---inner level---are -% - tugboat.cmn abbreviations -% - size switching macros -% - \beginquote...\endquote -% - \bitem (essentially plain's \item) -% - verbatim mode macros -% - (bibliography macros, -% \beginbtable...\endbtable, -% ...) -%Author: C.G van der Laan -% Hunzeweg 57, 9893P -% Garnwerd The Netherlands -% cgl@rc.service.rug.nl, 0594621525 -% -%History of changes -%March 1996 \on, \ona added -%Dec 1994 \global\advance\count0\@ne -% changed into plain's \advancepageno. -% Phil Taylor's -% \ignorewhitespace has been included. -% Parameterization over -% \headlinesep, \footlinesep. -% \makesignature's \diamond -% changed into \copyright. -%July 1994 No parameter separators for -% \head etc. -% \beginscript, \endscript instead -% of \article, \endarticle. -% Token variables for \prehead -% \posthead, \presubhead -% \presubsubhead. -%June 1994 Name changed into ppt.tex -%May 94 \runhead and \runfoot changed -% into \headline and \footline -% compatible with plain. -%March 94 Essential set up -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ppt.tex%;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%Additions% -%Additions to ppt -%Shortcuts ;numvrb -\let\ea=\expandafter\let\nx=\noexpand -\let\ag=\aftergroup -\def\dash{--}\def\Dash{---} -\newtoks\contentsname -\newtoks\abstractname -\newtoks\keywordsname -\newtoks\acknowledgementsname -\newtoks\preacknowledgements -\preacknowledgements{\bigbreak\leftline{\bf - \the\acknowledgementsname}\nobreak - \medskip\noindent} -\newtoks\postacknowledgements -\def\DeK{D\kern-.11em\lower.5ex\hbox - {E}\kern-.1em K} %;vrblin=50 -\def\tiny{\fiverm\baselineskip7pt minus1pt - \let\it\fivei\let\bf\fivebf\def\oldstyle - {\fam1 \fivei}} %;vrblin=200 -%\pagenumber{\folio} -\newcount\fcnt -\def\ftn{\global\advance\fcnt1 - \footnote{${}^{\oldstyle\the\fcnt}$}} -\def\vfootnote#1{\insert\footins - \bgroup\interlinepenalty - \interfootnotelinepenalty - \splittopskip\ht\strutbox - \splitmaxdepth\dp\strutbox - \floatingpenalty\@MM - \leftskip\z@skip - \rightskip\z@skip - \spaceskip\z@skip - \xspaceskip\z@skip -%mods cgl -\small\noindent\llap{\oldstyle - #1\enspace}% -%end mods cgl - \footstrut\futurelet\next\fo@t -} -%LaTeX things ;vrblin=250 -%\def\\{\hfil\break} -\def\cite#1{(#1)} -\def\verb{} -\def\em{\it} -\def\cs#1{{\tt\char92 #1}} -%Some layout macros ;vrblin=300 -\newbox\keywordsbox -\keywordsname{Keywords} -% -\def\beginkeywords{\setbox\keywordsbox - \vbox\bgroup\subhead{\sevenbf - \the\keywordsname: }\small} -% -\def\endkeywords{\egroup} -% -\def\keywords#{\beginkeywords\bgroup - \aftergroup\endkeywords - \afterassignment\ignorespaces - \let\dummy=} -% -\newbox\abstractbox -%\abstractname{Abstract} -% -\def\beginabstract{\setbox\abstractbox - \vbox\bgroup\centerline{\sevenbf - \the\abstractname}\beginquote\small} -% -\def\endabstract{\endquote\egroup} -% -\def\abstract#{\beginabstract\bgroup - \aftergroup\endabstract - \afterassignment\ignorespaces - \let\dummy=} -% -\newbox\contentsbox -% -\let\se\quad\let\sse\qquad -% -\def\begincontents{\setbox\contentsbox - \vbox\bgroup\small\noindent - \the\contentsname\par\obeylines} -% -\def\endcontents{\egroup} -% -\def\contents#{\begincontents\bgroup - \aftergroup\endcontents - \afterassignment\ignorespaces - \let\dummy=} -% -\newbox\acknowledgementsbox -% -\def\beginacknowledgements{\setbox - \acknowledgementsbox=\vbox\bgroup} -% -\def\endacknowledgements{\egroup - \the\postacknowledgements} -% -\def\acknowledgements#{\beginacknowledgements - \bgroup\aftergroup\endacknowledgements - \afterassignment\ignorespaces - \let\dummy=} -% -\def\beginquote{\endgraf\bgroup\narrower - \smallbreak\noindent} -% -\def\endquote{\smallbreak\egroup\endgraf - \noindent} -% -\def\quote#{\beginquote\bgroup - \aftergroup\endquote - \afterassignment\ignorespaces - \let\dummy=} -% -\def\beginsummary{\beginquote - \narrower\sl} -% -\def\endsummary{\endquote\bigskip} -% -\def\summary#{\beginsummary\bgroup - \aftergroup\endsummary - \afterassignment\ignorespaces - \let\dummy=} -% -\def\begincenter{\bgroup\smallskip -\leftskip0pt plus1fill -\rightskip0pt plus 1fill -\parfillskip0pt -\obeylines} -% -\def\endcenter{\smallskip\egroup} -\def\center#{\begincenter\bgroup - \aftergroup\endcenter - \afterassignment\ignorespaces - \let\dummy=} -% -\def\begincenterblock{\bgroup - \let\par\cr\obeylines\startcenterblock} -{\obeylines\gdef\startcenterblock#1 - {$$#1\vbox\bgroup\halign\bgroup% - &##\hfil\cr}} -% -\def\endcenterblock{\egroup\egroup$$ - \egroup} -% -\def\begindisplaycenterline{% - $$\hbox\bgroup} -% -\def\enddisplaycenterline{\egroup$$} -% -\def\displaycenterline#{% - \begindisplaycenterline\bgroup - \aftergroup\enddisplaycenterline - \afterassignment\ignorespaces - \let\dummy=} -% -\def\begincenterdisplay{\csname - begindisplay\endcsname\vbox\bgroup} -% -\def\endcenterdisplay{\crcr\egroup\egroup$$} -% -% %;vrblin=350 -\def\bitem{\item{$\bullet$}} -% -\newcount\itemno -% -\def\nitem{\bgroup - \def\nitem{\advance\itemno1 - \item{\the\prenum{\oldstyle\the\itemno - }\the\postnum}} - \def\smallbreak{\endgraf\egroup - \smallbreak} - \let\smallskip\smallbreak\nitem} -% -\def\aitem{\bgroup\itemno96 - \def\aitem{\advance\itemno1 - \item{\char\itemno.}} - \def\smallbreak{\endgraf\egroup - \smallbreak} - \let\smallskip\smallbreak - \aitem} -% -\def\Aitem{\bgroup\itemno64 - \def\Aitem{\advance\itemno1 - \item{\char\itemno.}} - \def\smallbreak{\endgraf\egroup - \smallbreak} - \let\smallskip\smallbreak - \Aitem} -% -\def\endlist{\endgraf\egroup} -%On purpose no \smallskip or so. -% -\newtoks\thisexample -\newtoks\everyexample -\newtoks\preexample -\newtoks\postexample -\newtoks\examplename -% -\preexample{\vskip0pt plus5ex - \penalty-100\vskip0pt plus-5ex - \medbreak\noindent} -% -\postexample{\nobreak\par\noindent - \ignorewhitespace} -% -\def\beginexample{\the\preexample\bgroup - \the\examplename\kern1ex\sl - (\ignorewhitespace} -% -\def\endexample{)\egroup\the\postexample} -% -\def\example#{\beginexample\bgroup - \aftergroup\endexample - \afterassignment\ignorewhitespace - \let\dummy=} -%and the limited variants -\def\limexample#1{\the\preexample - \the\examplename\kern1ex{\sl(#1)}\nobreak - \par\noindent\ignorewhitespace} -%with as tribute to manmac -\def\blueexample#1\par - {\limexample{#1\unskip}} -% -\def\endintermezzo{\hfil\break\nobreak - {\bf End intermezzo.}\medbreak} -%For in \onecol -%;numvrb400 -\def\begindemo{\endgraf\line\bgroup - $\vcenter\bgroup\hsize.475\hsize - \beginverbatim} -% -\def\yields{\endverbatim - \global\thisverbatim{}\egroup$ - \kern\gutter - $\vcenter\bgroup\hsize.55\hsize} -% -\def\enddemo{\egroup$\hss\egroup} -%;numvrb500 -\def\pagenorepresentation#1{\quad\dotfill - {\oldstyle#1}} -% -\def\fbox#1{\setbox0\hbox{\strut - $\;$#1$\,$}\leavevmode\rlap{\copy0}% - \makelightbox} -%Knuth's frac Ex 11.6 -\def\frac#1/#2{\leavevmode\kern.1em - \raise.5ex\hbox{\the\scriptfont0 #1}% - \kern-.1em/\kern-.15em\lower.25ex - \hbox{\the\scriptfont0 #2}} -%Defaults -\let\small\eightpoint -\overfullrule=0pt -%;nonum -%Contents -%Newcount -% \itemcnt.................208 -%Newtoks -% \itemtag.................209 -%Shortcuts -% \ea, \nx....................1 -% \ag.........................2 -% \dash, \Dash................3 -% \DeK.....................6, 7 -%Font switching -% \tiny......................51 -% \small....................414 -% \cs.......................255 -%Footnote, paragraph -% \ftncnt...................202 -% \ftn..................203-204 -%LaTeX -% \\........................251 -% \cite.....................252 -% \verb.....................253 -% \em.......................254 -%Lay-out -% \keywordsbox..............301 -% \abstractbox..............311 -% \contentsbox..............321 -% \beginkeywords........303-305 -% \endkeywords..............306 -% \keywordsname.............302 -% \keywords.............307-310 -% \beginabstract........313-315 -% \endabstract..............316 -% \abstractname.............312 -% \abstract.............317-320 -% \begincontents........323-325 -% \endcontents..............326 -% \contentsname.............322 -% \contents.............327-330 -% \beginsummary......... -% \endsummary............... -% \summary.............. -% \beginquote...........331-332 -% \endquote.............333-334 -% \quote................335-338 -%Centering texts -% \begindisplaycenterline -% \enddisplaycenterline -% \displaycenterline -% \begincenter -% \endcenter -% \center -% \begincenterblock -% \endcenterblock -% \begincenter..........339-342 -% \endcenter................343 -% \center...............344-347 -% -% \bitem....................351 -% \itemno...................352 -% \nitem................353-359 -% \aitem................360-366 -% \Aitem................367-373 -% \endlist..................374 -% \example..............376-378 -% \endintermezzo........379-380 -% \begindemo............401-403 -% yields...405-408 -% \enddemo..................410 -%Parameterization ToC setting -% \pagenorepresentation.501-502 -%Built on manmac -% \fbox.................504-505 -%Defaults -% \overfullrule=0pt.........507 -% -%History of changes -%Jan 95 \xyz and \partlogo to tools.dat -% \pagenorepresentation added -%July 1994 Boxes for keywords, abstract, -% and contents added. -%March 1994 Set up -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%Additions%;newpage -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%math extras% -%From Math into BLUes the mods -%-- \centering into \centeringp -% in order not to -% conflict with LaTeX -%-- \eqalign has gotten a repetitive -% template to allow for more -% than one alignment point. -%-- arrows for commutative diagrams -%-- Knuth's typographer's half -%-- prime for accenting summation symbols -%-- Poor man's symbols -% blackboard, grtlss, ext tensor prod. -\newskip\centeringp%plain's -\centeringp=0pt plus1000pt minus1000pt -\def\eqalign#1{\null\,\vcenter{\openup - \jot\m@th\ialign{\strut\hfil - $\displaystyle {##}$&&%mod cgl - $\displaystyle {{}##}$\hfil\crcr - #1\crcr }}\,} -\def\eqalignno#1{\displ@y - \tabskip\centeringp - \halign to\displaywidth{\hfil - $\@lign\displaystyle{##}$\tabskip\z@skip - &$\@lign\displaystyle{{}##}$\hfil - \tabskip\centeringp &\llap{$\@lign##$}% - \tabskip\z@skip\crcr - #1\crcr}} -\def\leqalignno#1{\displ@y - \tabskip\centeringp - \halign to\displaywidth {\hfil - $\@lign\displaystyle{##}$\tabskip\z@skip - &$\@lign\displaystyle{{}##}$\hfil - \tabskip\centeringp&\kern-\displaywidth - \rlap{$\@lign ##$}\tabskip\displaywidth - \crcr #1\crcr}} -% -\def\fracdek#1/#2{\leavevmode\kern.1em - \raise.50ex\hbox{\the\scriptfont0 #1} - \kern-.1em/\kern-.15em\lower.25ex - \hbox{\the\scriptfont0 #2}} -% -\def\lllongrightarrow{\relbar\joinrel% - \relbar\joinrel\relbar\joinrel% - \relbar\joinrel\rightarrow} -\def\llongrightarrow{\relbar\joinrel% - \relbar\joinrel\rightarrow} -\def\adaptedbaselines{% - \baselineskip20pt - \lineskip3pt - \lineskiplimit3pt} -\def\mapright#1{\smash{\mathop{ - \llongrightarrow}\limits^{#1}}} -\def\lmapright#1{\smash{\mathop{ - \lllongrightarrow}\limits^{#1}}} -\def\mapdown#1{\Big\downarrow - \rlap{$\vcenter{\hbox{$#1$}}$}} -\def\mapup#1{\Big\uparrow - \rlap{$\vcenter{\hbox{$#1$}}$}} -% -\def\acclap#1{{}^{\rlap{$\scriptstyle - #1$}}} -% -\def\cfsymbol{\vbox{\hbox to \wd0{\hss - \vrule height1.5\ht0} - \hrule - \hbox to \wd0{\vrule depth1.5\ht0 - \hss}}} -%Space saving variant continued fraction -\def\cf#1#2{\setbox0=\hbox{$#1\,\over - \,#2$}\vcenter{\cfsymbol}\kern-\wd0 - {#1\atop#2}} -% -\def\IN{{\rm I\kern-.5ex N}} -\def\Z{{\rm Z\kern-.9ex Z}} -\def\Q{{\rm\kern.2ex\vrule - height1.5ex depth-.1ex - width.4pt\kern-.7ex Q}} -\def\R{{\rm I\kern-.5ex R}} -\def\C{{\rm\kern.3ex\vrule - height1.5ex depth-.05ex - width.4pt\kern-.7ex C}} -\def\gtrless{\mathrel{\vcenter{ - \offinterlineskip\hbox{${>}$}% - \kern-.2ex\hbox{${<}$} } }} -\def\boxit#1{\vbox{\hrule\hbox{% <--!! - \vrule#1\vrule}\hrule}} -\def\boxtimes{\mathbin{\boxit - {$\times$}}} -%end%%%%%%%%%%%%%%%%%%%%%%%%%math extras%;newpage -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%icons% -%From icons via LaTeX's fonts. -%Here use is made of gkpmac's picture -%environment. -\def\icmat#1#2{%ICon MATrix(rectangular) -%#1 is ht of icon matrix, e.g. 4 -%#2 is wd of icon matrix, e.g. 2 -\vbox{\hrule - \hbox to#2\unitlength{\vrule - height#1\unitlength\hfil\vrule}% - \hrule}% -}%end icmat -% -\def\icurt#1#2{%IConUpperRightTriangle -%#1 is ht of icon matrix, with UT -%the upper triangular part, e.g. 4 -%#2 is wd of icon (upper triangular) -%matrix, e.g. 2 -\vbox to #1\unitlength{\hrule - \hbox{\gkpbeginpicture(#2,#2)(0,0)% - \put(0,#2){\line(1,-1){#2}}% - \gkpendpicture\vrule}% - \vss}% -}%end icurt -% -\def\squineicurt#1#2{%IConUpperRightTriangle -%#1 is ht of icon matrix, with UT -%the upper triangular part, e.g. 4 -%#2 is wd of icon (upper triangular) -%matrix, e.g. 2 -%For small diaglines -\csname newcount\endcsname\half -\half#2 \divide\half 2 -\vbox to #1\unitlength{\hrule - \hbox{\gkpbeginpicture(#2,#2)(0,0)% - \put(0,0){\squine(0,\the\half,#2,#2,% - \the\half,0)}% - \gkpendpicture\vrule}% - \vss}% -}%end icurt -\def\icllt#1#2{%IConLowerLeftTriangle -%#1 is ht of icon matrix, with LT -%the lower triangular part, e.g. 4 -%#2 is wd of icon (lower triangular) -%matrix, e.g. 2 -\vbox to #1\unitlength{\vss - \hbox{\vrule - \gkpbeginpicture(#2,#1)(0,0)% - \put(0,#2){\line(1,-1){#2}}% - \gkpendpicture}% - \hrule}% -}%end icllt -% -\def\icuh#1#2#3{%IConUpperHessenberg -%#1 is size of icon matrix, with UH -% the upper Hessenberg part, e.g. 4 -%#2 is wd of icon (upper Hesenberg) -% matrix, e.g. 1 -%#3 is size Lower Left triangular part, -% #1-#2 (for simplicity the latter is added, -% could have been calculated, perhaps some -% inconsistency test could be incorporated) -\vbox{\offinterlineskip - \hrule - \hbox to#1\unitlength{\vrule height% - #2\unitlength depth0pt\relax - \hfil\vrule}% - \hbox to#1\unitlength - {\gkpbeginpicture(#3,#3)(0,0)% - \put(0,#3){\line(1,-1){#3}}% - \gkpendpicture\hfil\vrule}% - \hbox to#1\unitlength{\hfil\vrule - width#2\unitlength height.2pt\relax}% - }% -}%end icuh -%Example of use -%\input blue.tex -%\beginscript -%\unitlength=1ex -%$$\icmat44\kern\unitlength\icllt44= -% \icllt44\icuh413\qquad AL=LH$$ -%$$\icmat63=\icmat63\kern\unitlength -% \icurt63\qquad A=QR$$ -%\endscript -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%icons%;newpage -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%btable% -%Table Diversions cgl@rc.service.rug.nl -%EuroTeX '92 proceedings, MAPS92.2. -%The article discusses typsetting tables -%via plain, surveys related work, -%introduces the file btable.tex, and -%provides a discipline for typesetting -%cell-blocks. -%;numvrb -\newbox\btablebox -\newtoks\thisbtable\newtoks\everybtable -\newtoks\prebtable\newtoks\postbtable -%Cell vertical size, -%row height and depth (separation implicit), -\newdimen\cvsize -\newdimen\tsht \newdimen\tsdp -\newdimen\tvsize\newdimen\thsize -%Parameter setting macros: Rules -\def\hruled{\def\lineglue{\hrulefill} - \def\colsep{}\def\rowsep{\hrule} - \let\rowstbsep=\colsep - \let\headersep=\rowsep} -\def\vruled{\def\lineglue{\hfil} - \def\colsep{\vrule}\def\rowsep{} - \let\rowstbsep=\colsep - \let\headersep=\hrule} -\def\ruled{\def\lineglue{\hrulefill} - \def\colsep{\vrule}\def\rowsep{\hrule} - \let\rowstbsep=\colsep - \let\headersep=\rowsep} -\def\nonruled{\def\lineglue{\hfil} - \def\colsep{}\def\rowsep{} - \def\rowstbsep{\vrule} - \def\headersep{\hrule}} -\def\dotruled{\def\lineglue{\dotfill} - \def\rowsep{\hbox to\thsize{\dotfill}} - \def\colsep{\lower1.5\tsdp\vbox to - \cvsize{\leaders\hbox to0pt{\vrule - height2pt depth2pt width0pt\hss.\hss} - \vfil}} - \let\rowstbsep=\colsep - \let\headersep=\rowsep} -%Parameter setting macros: -% Controling positioning -\def\ctr{\def\lft{\hfil}\def\rgt{\hfil}} -%Centered -\def\fll{\def\lft{} \def\rgt{\hfil}} -%Flushed left -\def\flr{\def\lft{\hfil}\def\rgt{}} -%Flushed right -%Parameter setting macros: Framing -\def\framed{\let\frameit=\boxit} -\def\nonframed{\def\frameit##1{##1}} -\def\dotframed{\let\frameit=\dotboxit} -%;vrblin=100 -\def\beginbtable{\vbox\bgroup -\ifx\empty\rowstblst \let\rsl=\rowstblst -\else\ea\def\ea\rsl\ea{\rowstblst{}}%Append with sentinel -\fi\ifx\empty\template\ifx\empty\rsl - \def\template{\colsepsurround - \lft####\rgt&&\lft####\rgt\cr} - \else\def\template{\colsepsurround - ####\hfil&&\lft####\rgt\cr}\fi -\fi -\def\tstrut{\vrule height\tsht - depth\tsdp width0pt} -%Logical mark up of column and -%row separators, via use of -\def\cs{&\colsepsurround\colsep - \colsepsurround&} -\def\prs{&\colsepsurround\lineglue&} -\def\srp{&\lineglue\colsepsurround&} -\def\rs{\colsepsurround\tstrut\cr - \ifx\empty\rowsep - \else\noalign{\rowsep}\fi - \ifx\empty\rsl - \else\ea\nxtrs\fi} -\def\grs{\colsepsurround\tstrut\cr\ghostrow} -\def\ghostrow{\rss\prs\logms2\lineglue\cr\nxtrs} -\def\rss{&\colsepsurround\rowstbsep - \colsepsurround&} -\def\hs{\colsepsurround\tstrut\cr - \ifx\empty\headersep - \else\noalign{\headersep}\fi - \ifx\empty\rsl\else\ea\nxtrs\fi} -\the\everybtable\relax -\the\thisbtable\relax -\cellsize -\tsht=.775\cvsize\tsdp=.225\cvsize -\setbox\btablebox=\vbox\bgroup - \tabskip=0pt\relax\offinterlineskip - \halign\bgroup - \span\template\ifx\empty\first - \ifx\empty\rsl - \else\ifx\empty\header - \else\ea\rss\fi - \fi\else\first\ea\rss\fi - \ifx\empty\header - \ifx\empty\first - \ifx\empty\rsl\else - \ea\nxtrs\fi\else\ea\hs\fi - \else\header\tstrut\ea\hs\fi}% -%end \beginbtable -%;vrblin=200 -\def\endbtable{\colsepsurround - \tstrut\crcr\egroup\egroup - %end setbox - \global\thsize=\wd\btablebox - \global\tvsize=\ht\btablebox - \global\advance\tvsize by\dp\btablebox - \the\prebtable - \ifx\btablecaption\empty - \else\hbox to\thsize{\strut\hfil - \btablecaption\hss}\captionsep\fi - \frameit{\copy\btablebox} - \ifx\footer\empty - \else\footersep\hbox to\thsize{\strut - \footer\hss}\fi - \egroup\the\postbtable - \thisbtable={}}% -%end \endbtable -% -\def\btable#1{\beginbtable#1\endbtable} -%Defaults %;vrblin=300 -\def\cellsize{\cvsize=4ex - \tsht=.775\cvsize\tsdp=.225\cvsize} -%\cellsize -\def\colsepsurround{\kern.5em} -\def\btablecaption{} -\def\first{} -\def\header{} -\def\rowstblst{} -\def\footer{} -\def\captionsep{\medskip} -\def\headersep{\hrule} -\def\footersep{\smallskip} -\def\rowstbsep{\vrule} -\def\template{} -\ctr -\nonruled -\nonframed -%end Defaults -%Auxiliaries %;vrblin=350 -\def\boxit#1{\vbox{\hrule\hbox{\vrule - \vbox{#1}\vrule}\hrule}} -\def\dotboxit#1{\vbox{\offinterlineskip - \hbox to\thsize{\dotfill}% - \hbox{\lower\dp\btablebox\vbox to\tvsize{% - \xleaders\hbox to0pt{\hss\vrule - height1.5pt depth1.5pt width0pt.\hss - }\vfil}% - \vbox{#1}\lower\dp\btablebox\vbox to\tvsize{% - \xleaders\hbox to0pt{\hss\vrule - height1.5pt depth1.5pt width0pt.\hss - }\vfil}}% - \hbox to\thsize{\dotfill}}} -%And to account for logical columns with -%\logms% logical multispan -\def\spicspan{\span\omit} -\def\logms#1{\omit\mscount=#1\multiply - \mscount by2 \advance\mscount by-1 - \loop\ifnum\mscount>1 - \spicspan\advance\mscount by-1 - \repeat} -%To process FIFO -\def\fifo#1{\ifx\ofif#1\ofif\fi - \process{#1}\fifo} -\def\ofif#1\fifo{\fi} -%To handle row stub list -\def\nxtrs{\ifx\empty\rsl - \else\def\nxtel{\ea\nrs\rsl\srn}% - \ea\nxtel\fi}%next Row Stub -\def\nrs#1#2\srn{\gdef\rsl{#2}#1\rss} -%\endinput %btable -%;nonum -%Contents btable.tex -%Newbox -% \btablebox..................1 -%Newtoks -% \thisbtable, \everybtable...2 -% \prebtable, \postbtable.....3 -%Parameter setting: rules -% \hruled.................10-13 -% \vruled.................14-17 -% \ruled..................18-21 -% \nonruled...............22-25 -% \dotruled...............26-33 -%Parameter setting: positioning -% \ctr.......................36 -% \fll.......................38 -% \flr.......................40 -%Parameter setting: framing -% \framed....................43 -% \nonframed.................44 -% \dotframed.................45 -%User macro -% \beginbtable..........101-148 -% \endbtable............201-217 -% \btable...................219 -%Defaults -% \cellsize.............301-303 -% \colsepsurround...........304 -% \btablecaption............305 -% \first....................306 -% \header...................307 -% \rowstblst................308 -% \footer...................309 -% \captionsep...............310 -% \headersep................312 -% \footersep................312 -% \rowstbsep................314 -% \template.................314 -% \ctr......................320 -% \nonruled.................321 -% \nonframed................322 -%Auxiliaries -% \boxit................351-352 -% \dotboxit.............353-363 -% \spicspan.................366 -% \logms................367-371 -% \fifo.................373-374 -% \ofif.....................375 -% \nxtrs................377-379 -% \nrs......................380 -% -%History of changes -%Version -%December 1994 -%\rowstblst (and \rsl): -% no longer does last element of list -% need extra braces. -%\postbtable is token variable -%to guide user positioning. -%\data omitted in the macro. -%Formatting of footer made symmetrical -%with caption. -%\dotboxit corrected such that -%vertical dotted lines are symmetrical -%July 1994 -% \cellsize is invoked in -% \beginbtable. -% Token vars for \prebtable -% \postbtable. -%June 1994 -% \beginbtable...\endbtable -% two-part macro -% \btable minimal variant -% \preinsert, \postinsert changed -% into \prebtable, \postbtable -% toks vars: \everybtable, -% \thisbtable -%Version 1.1 \btablecaption as caption -% (to prevent name clashes) -% \def\cellsize{\cvsize= -% et cetera} to be used -% as default -% and after font change. -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%btable%;newpage -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%vrb% -%vrb.tex -%Author: C.G. van der Laan -% Hunzeweg 57, 9893PB -% Garnwerd The Netherlands -% 0594621525, cgl@rc.service.rug.nl. -%Purpose: Verbatim macros via plain, -% to be used with AnyTeX. -% ;numvrb -%User toks variables -\newtoks\thisverbatim -\newtoks\everyverbatim -\newtoks\preverbatim -\newtoks\postverbatim -% -%User customization -\preverbatim{\medskip} -\postverbatim{\smallbreak} -% ;vrblin100 -%User `options': \numvrb -\newcount\vrblin -\def\numvrb{\vrblin0 - \everypar{\advance\vrblin1 - \llap{\sevenrm\the\vrblin\quad}}} -\def\nonum{\everypar={}} -% : \emc, \unmc -\def\makeescape#1{\catcode`#1=0 } -\def\makeactive#1{\catcode`#1=13 } -{\makeactive\< - \gdef\emc{\makeactive\<% - \def<##1>{$\langle##1\rangle$}}} -\def\unmc{\catcode`\<=12 }%;vrblin200 -%User macro -\def\beginverbatim{\begingroup - \the\preverbatim\tt\setupverbatim - \the\everyverbatim\relax - \the\thisverbatim\relax - \verbatimgobble} -% -\def\endverbatim{\the\postverbatim - \endgroup\global\thisverbatim={}} -% -\def\setupverbatim{%\makeactive\`% - \let\!=!\makeescape\!%Knuth&Levy - \def\par{\leavevmode\endgraf}%TB381 - \parskip0pt - \obeylines\uncatcodespecials - \obeyspaces} -% -{\obeyspaces\global\let =\ \catcode`\^=7 - \obeylines\gdef\verbatimgobble#1^^M{}% -%\makeactive\` \gdef`{\relax\lq}%TB381 -}% -\def\uncatcodespecials{\def\do##1{% - \catcode`##1=12 }\dospecials} -% -\def\math{\bgroup$\catcode`\_=8\relax - \catcode`\^=7\relax} -\def\endmath{$\egroup} -% -\def\verbatim#{\beginverbatim\bgroup - \aftergroup\endverbatim - \afterassignment\ignorespaces - \let\dummy=} -% ;vrblin250 -%Minimal | tag for inline verbatim -\def\vrt{{\tt\char`\|}}\makeactive\| -\def|{\bgroup\tt\setupverbatim - \the\everyverbatim\relax - \the\thisverbatim\relax - \def|{\egroup\thisverbatim{}}} -%;\vrblin300 -%centering verbatims -\def\boxlines{\obeyspaces\fifol} -%\gdef\fifol#1^^M{\ifx\lofif#1\lofif\fi -% \processl{#1}\fifol} -\def\begincenterverbatim{$$% - \def\processl##1{\hbox{##1}}% - \def\lofif##1\fifol{\fi\egroup - \egroup$$\thisverbatim{}} - \let\endcenterverbatim\lofif - \bgroup\tt\setupcopy - \let\!=!\catcode`\!=0 - \the\everyverbatim\the\thisverbatim - \vbox\bgroup\boxlines} -% -{\obeylines\gdef\fileverbatim#1{% - \thisverbatim{\input#1}\beginverbatim - \endverbatim -}} -\def\bluefileverbatim#1\par{\fileverbatim{#1}} -%Default -\everyverbatim{\baselineskip12pt - plus2ptminus1pt - \lineskip1ptplus1ptminus1pt} -%\endinput -% ;nonum -%Contents vrb.tex cgl@rc.service.rug.nl -%Newtoks -% \thisverbatim.................2 -% \everyverbatim................3 -% \preverbatim..................4 -% \postverbatim.................5 -%Customization -% \preverbatim..................8 -% \postverbatim.................9 -%Options -% \numvrb.................103-105 -% \vrblin.....................104 -% \nonum......................106 -% \makeescape.................108 -% \makeactive.................109 -% \emc....................111-112 -% \unmc.......................113 -% <#1>........................112 -%User macro -% \beginverbatim..........202-206 -% endverbatim...208-209 -% \verbatim...............228-231 -% \setupverbatim..........211-215 -% \verbatimgobble.............218 -% `...........................219 -% \uncatcodespecials..........221 -% math.......224-225 -% endmath....... 226 -% \begincenterverbatim....305-313 -%Inline verbatim -% \vrt........................252 -% vertical bar symbol...... ..253 -%Files -% \bluefileverbatim........... -% -%History of changes -%March 1996 \bluefileverbatim added -%July 1994 Version 2 -% \pre- and \postverbatim -% changed into token vars. -% Added -% \unmc, unable metacode -% \verbatim minimal tag -% math -% endmath -%Febr 1994 Release Version 1.0 -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%vrb%;newpage -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%bibliography% -%From BLUe's Bibliography%;numvrb -%\ls template -\newcount\bcnt -\def\lsstraight{\let\ls\nitem} -% -%\ls a la AMS -% -\newcount\suffixcnt -\def\lsams{\frenchspacing - \let\lstnme\relax \let\lstyear\relax - % - \def\ls##1{\ea\bibitem##1} - % - \def\bibitem##1(##2){% - \def\authornme{##1}% - \def\authoryear{##2}% - \ifx\lstnme\authornme - \def\authornme{------}% - \ifx\lstyear\authoryear - \global\advance\suffixcnt1 - \def\authoryear{--}% - \else\let\lstyear\authoryear\suffixcnt0 - \fi - \else\let\lstnme\authornme - \let\lstyear\authoryear\suffixcnt0 - \fi\nitem\authornme$\,$% - (\authoryear\suffix)}%end \bibitem -% -\def\suffix{\ifcase\suffixcnt\or a\or b\or - c\or d\or e\or f\or g\or h\or i\or j\or - k\or l\or m\or n\or o\or p\or q\or r\or - s\or t\or u\or v\or w\or x\or y\or z\fi} -} %;vrblin100 -%Loading -%Load selected entries -\def\gobble#1{} -\def\loadselectivefrom#1{%#1 lit etc. - \def\lst##1{\ifx##1\undefined\ea\gobble - \else \ea\gdef\ea##1\fi} - \input #1.dat \relax%e.g. lit.dat - } %;vrblin200 -\newif\ifstore \storetrue -\newtoks\thisreferences -\newtoks\referencesname -\newtoks\prereferences -\newtoks\postreferences -\newtoks\referencesfile -\newbox\referencesbox -\referencesfile{lit} -%\referencesname{References} -\def\references#1{\beginreferences#1% - \endreferences} -\def\bluereferences#1\par - {\beginreferences#1\endreferences} -\def\loadreferences{\loadselectivefrom - {\the\referencesfile}} -\def\beginreferences#1\endreferences{% - \bgroup\def\process##1{\ifx\undefined##1 - \global\let##1\referenceserror\else - \message{***\tt\string##1 - already loaded.***} - \fi\namelst\ea{\the\namelst\lst##1}}% - \fifo#1\ofif - \if]#1]\else\ea\loadreferences\fi - %formatting - \ifstore\global\setbox\referencesbox= - \vbox\bgroup\fi\prenum{}\postnum{} - \lsams%Default ls - \the\thisreferences - \def\lst##1{\ls{##1} - \xdef##1{\the\itemno}} - \the\namelst\endreferences} -% -\def\referenceserror{Reference not in - database (Sorry.)\loaderror{Reference}} -% -\def\endreferences{\smallbreak\egroup - \ifstore\egroup\fi - \thisreferences{}} -% -\def\pasteupreferences{% - \the\prereferences - \unvbox\referencesbox - \the\postreferences} -% -\prereferences{\head{\the - \referencesname}} -%\postreferences{} -%;vrblin250 -%Double loading is not prevented -%instead a message is provided. -\def\beginpictures#1\endpictures{% - \def\process##1{\ifx\undefined##1 - \gdef##1{Picture {\tt\string##1} not - in database, Sorry. - \loaderror{Picture}}% - \else \message{***\string##1 - already loaded.***}% - \fi}% - \fifo#1\ofif - \loadselectivefrom{\the\picturesfile} - \commonforpic} -% -%\def\endpictures{\egroup} -% -\def\pictures#1{\beginpictures#1% - \endpictures} -\def\bluepictures#1\par - {\beginpictures#1\endpictures} -\def\loadallpictures{\input\the - \picturesfile.dat\relax\commonforpic} -% -\def\loaderror#1{\write16{#1 not in - database}} -%\endinput %;nonum -%Contents bibliography -% cgl@rc.service.rug.nl -%Newcount -% \bcnt.........................2 -% \suffixcnt....................8 -%Newif -% \ifstore....................201 -%Newtoks -% \thisreferences.............202 -% \referencesname........203, 206 -% \prereferences.........204, 234 -% \postreferences.............205 -%Newbox -% \referencesbox..............206 -%Initializations -% \prereferences..........231-232 -% \postreferences.............233 -%\ls customization -% \lsstraight.................3-6 -% \lsams.....................9-34 -% \suffix...................30-33 -%loading -% \gobble.....................102 -% \loadselectivefrom......104-109 -%User level -% \references.............208-209 -% \beginreferences........210-225 -% \endreferences..........226-228 -% \pasteupreferences......230-233 -% \beginpictures..........251-259 -% \endpictures................260 -% \pictures...............261-262 -% \loadallpictures........263-265 -% \loaderror..............266-267 -%History of changes -%July 1994 Information supplied before -% \beginscript, past up later. -% Separate loading of pictures. -%June 1994 Simpler user interface -% \beginreferences -% \ ... \ -% \endreferences -%Created May 1994 -%end%%%%%%%%%%%%%%%%%%%%%%%%bibliography%;newpage -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%Cross-Refs% -%From BLUe's Cross-Referencing -%cgl@rc.service.rug.nl %;numvrb -\newif\ifadvance \advancetrue -\newcount\frmcnt -\newtoks\prenum\newtoks\postnum -%Default prenum and postnum -\prenum{(}\postnum{)} -%Automatic numbering -\def\frmnum{\ifadvance\global\advance - \frmcnt1 \fi - \the\prenum\the\frmcnt\the\postnum} -%Automatic numbering and attaching a name -\def\ref{\frmnum\create} -%\def\create#1{\ifx#1$$\else -% \xdef#1{\the\frmcnt}\fi} -%The version, which handles also displaylines -\def\create#1{\ifx#1$$\else - \ifx#1\hfil\hfil\else - \xdef#1{\the\prenum\the\frmcnt - \the\postnum}\fi\fi} -%Citation -\newif\ifproof \prooftrue -\def\crsref#1{\ifx#1\undefined{\ifproof - \leavevmode\vadjust{\kern-1ex - \rightline{\vbox to0pt{\vss - \rlap{FR: \tt\string#1}}}}\fi} - \else#1\fi} -%;nonum -%Contents Cross-Referencing -% cgl@rc.service.rug.nl -%Newifs, newcounts -% \ifadvance, \ifproof..........1, 18 -% \frmcnt...........................2 -%Newtoks -% \prenum, \postnum.................3 -%Context -% \prenum, \postnum.................4 -%Automatic numbering, referencing -% \frmnum.........................7-9 -% \ref.............................11 -% \create.......................15-16 -%Cross referencing -% \crsref.......................19-23 -% -%History of changes -%Jan 95 \prenum and postnum values are -% stored together with the number -% by \create -%June 94 Designed. -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%cross-ref%;newpage -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%gkppic% -%From gkpmac (line diagrams) -% `Pictures (a subset of \LaTeX's -% conventions)' -%These macros have been used for typesetting -%`Concrete Mathematics,' among others. -% cgl@rc.service.rug.nl ;numvrb -%\catcode`@=11 % borrow the private macros -% % of PLAIN (with care) -\newskip\hsssglue -\hsssglue=0pt plus 1fill minus 1fill -\def\hsss{\hskip\hsssglue} - -\newdimen\unitlength -\newdimen\linethickness -\newdimen\@picheight \newdimen\@xdim -\newdimen\@ydim \newdimen\@len \newdimen\@save -\newcount\@multicount \newcount\@xarg -\newcount\@yarg\newbox\@picbox \newbox\@mpbox - -\font\tenln=line10 \font\tenlnw=linew10 -\font\tencirc=lcircle10 -\font\tencircw=lcirclew10 -\font\smallln=linew10 scaled 483 % magstep-4 - -\def\thinlines{\let\linefont=\tenln - \let\circlefont=\tencirc - \linethickness=\fontdimen8\linefont} -\def\thicklines{\let\linefont=\tenlnw - \let\circlefont=\tencircw - \linethickness=\fontdimen8\linefont} -\thinlines - -\def\gkpbeginpicture(#1,#2)(#3,#4){\begingroup -\@picheight=#2\unitlength \let\line=\@line - \setbox\@picbox=\hbox to#1\unitlength - \bgroup\kern-#3\unitlength - \lower#4\unitlength\hbox\bgroup - \ignorespaces} -\def\gkpendpicture{\egroup\hss\egroup - \ht\@picbox=\@picheight \dp\@picbox=\z@ - \leavevmode\box\@picbox\endgroup} - -\def\put(#1,#2)#3{\raise#2\unitlength - \rlap{\kern#1\unitlength #3}\ignorespaces} - -\def\multiput(#1,#2)(#3,#4)#5#6{\@multicount - =#5\@xdim=#1\unitlength \@ydim=#2\unitlength -\setbox\@mpbox=\hbox{#6}% - \loop\ifnum\@multicount>0 - \raise\@ydim\rlap{\kern\@xdim - \unhcopy\@mpbox}% - \advance\@xdim#3\unitlength - \advance\@ydim#4\unitlength - \advance\@multicount\m@ne - \repeat\ignorespaces} - -%makebox is replaced because its reference -%point does not coincide with LaTeX's -%\def\makebox(#1,#2)#3{\setbox\@picbox= -% \hbox to#1\unitlength{\hss#3\hss}% -% \advance\@ydim-\dp\@picbox -% \ht\@picbox=#2\unitlength -% \dp\@picbox=\z@ -% \leavevmode\lower.5\@ydim\box\@picbox} -\def\makebox(#1,#2)#3{% - \hbox to#1\unitlength{\hss - \vbox to#2\unitlength{\vss - \hbox{#3}\vss}\hss}} -%LaTeX's framebox is added -\def\framebox(#1,#2)#3{\setbox0= - \hbox to#1\unitlength{\hss - \vbox to#2\unitlength{\vss - \hbox{#3}\vss}\hss}% - \makelightbox\kern-\wd0\box0} - -\newif\ifneg -\def\@line(#1,#2)#3{\@xarg=#1 \@yarg=#2 - \@len=#3\unitlength \leavevmode - \ifnum\@xarg<0 \reverseline \else - \negfalse \@ydim=\z@\fi - \ifnum\@xarg=0 \@vline - \else\ifnum\@yarg=0 \@hline - \else\@sline\fi\fi -\ifneg\kern-\@len\else\@save=\@ydim\fi} -\def\reverseline{\negtrue \kern-\@len - \@xarg=-\@xarg - \@ydim=\@len \multiply\@ydim\@yarg - \divide\@ydim\@xarg \@yarg=-\@yarg} - -\def\@hline{\vrule height.5\linethickness - depth.5\linethickness width\@len} -\def\@vline{\kern-.5\linethickness\vrule - width\linethickness - \ifnum\@yarg<0 height\z@ depth\else - depth\z@ height\fi\@len - \kern-.5\linethickness} - -\def\@sline{\setbox\@picbox=\hbox{\linefont - \count@=\@xarg \multiply\count@ 8 - \ifnum\@yarg>0 \advance\count@\@yarg - \advance\count@-9 - \else \advance\count@-\@yarg - \advance\count@ 55 \fi - %\immediate\write0{count@=\the\count@}% - \char\count@}% - \ifnum\@yarg<0 \@picheight=-\ht\@picbox - \advance\@ydim\@picheight - \else \@picheight=\ht\@picbox \fi - \@xdim=\wd\@picbox \@save=\@ydim -%\hbox to0pt{\hss$\bullet$\hss}% - \loop\ifdim\@xdim<\@len - \raise\@ydim\copy\@picbox - \advance\@xdim\wd\@picbox - \advance\@ydim\@picheight%\immediate - %\write0{x, y: \the\@xdim, \the\@ydim}% - \repeat - \advance\@xdim-\@len \kern-\@xdim - \multiply\@xdim\@yarg - \divide\@xdim\@xarg - \advance\@ydim-\@xdim -%Mod cgl June 94 - \ifdim\@len<\ht\@picbox - \kern\wd\@picbox\else - \raise\@ydim\box\@picbox\fi} - -\def\vector(#1,#2)#3{\@line(#1,#2){#3}% - \ifnum\@xarg=0 \@vvector - \else\ifnum\@yarg=0 \@hvector - \else\@svector\fi\fi} -\def\@hvector{\ifneg\rlap{\linefont\char - 27}\else\smash{\llap{\linefont\char45}}\fi - } % we have to smash because of font bug -\def\@vvector{\ifnum\@yarg<0 - \raise-\@len\rlap{\linefont\char63}% - \else\setbox\@picbox=\rlap{\linefont - \char54}\advance\@len-\ht\@picbox - \raise\@len\box\@picbox\fi} - -\def\@svector{\setbox\@picbox=\hbox - to\z@{\linefont - \ifnum\@yarg<0 \count@=55 \@yarg=-\@yarg - \else\count@=-9 \fi - \ifneg\multiply\@xarg16 \multiply\@yarg2 - \else\hss % \llap - \ifnum\@xarg>2 \multiply\@xarg9 - \multiply\@yarg2 - \advance\count@29 - \else\ifnum\@yarg>2 \multiply\@xarg16 - \multiply\@yarg9 - \advance\count@-20 - \else\multiply\@xarg24 \multiply\@yarg3 - \fi\fi\fi - \advance\count@\@xarg - \advance\count@\@yarg \char\count@ - \ifneg\hss\fi}% \rlap - \raise\@save\box\@picbox} - -\def\disk#1{\@len=#1\unitlength - \count@='160 \@diskcirc} -\def\circle#1{\@len=#1\unitlength - \count@='140 \@diskcirc} -\def\@diskcirc{\setbox\@picbox= - \hbox{\circlefont\char\count@}% - \@xdim=\wd\@picbox \leavevmode - \ifdim\@len>15.499\@xdim \@bigdc - \else \@smalldc\fi} -\def\@bigdc{\ifnum\count@<'160 \@bigcirc - \else \@len=15\@xdim \@diskcirc\fi} -\def\@smalldc{{\advance\@len-.5\@xdim - \loop\ifdim\@xdim<\@len - \advance\count@\@ne - \advance\@xdim\wd\@picbox - \repeat - \hbox{\circlefont\char\count@}}} -\def\@bigcirc{{\circlefont\count@=15 - \setbox\@picbox=\hbox{\char\count@ - }\@xdim=\wd\@picbox - \ifdim\@len>2.5\@xdim \@len=2.5\@xdim\fi - \advance\@len-.125\wd\@picbox - \loop\ifdim\@xdim<\@len - \advance\count@4 - \advance\@xdim.25\wd\@picbox - \repeat - \@ydim=.5\@xdim - \advance\@ydim.5\linethickness - \setbox\@picbox=\vbox{\hbox{\char - \count@\advance\count@-3\char\count@}% - \nointerlineskip - \hbox{\advance\count@\m@ne\char - \count@\advance\count@\m@ne - \char\count@}}% - \kern-\@ydim\lower\@ydim\box\@picbox}} - -\newif\ifovaltl \newif\ifovaltr -\newif\ifovalbl \newif\ifovalbr -\ovaltltrue \ovaltrtrue -\ovalbltrue \ovalbrtrue -\def\oval(#1,#2){\@xdim=#1\unitlength - \@ydim=#2\unitlength - {\circlefont - \setbox\@picbox=\hbox{\char0} - \ifdim\@xdim<\wd\@picbox - \@xdim=\wd\@picbox\fi - \ifdim\@ydim<\wd\@picbox - \@ydim=\wd\@picbox\fi - \@save=\@xdim - \ifdim\@ydim<\@save \@save=\@ydim \fi - \count@=39 - \loop \setbox\@picbox=\hbox{\char - \count@}\ifdim\@save<\wd\@picbox - \advance\count@-4 - \repeat - \setbox\strutbox=\hbox{\vrule height\ht - \@picbox depth\dp\@picbox width\z@ - \kern\wd\@picbox}% - \@save=.5\wd\@picbox - \advance\@save-.5\linethickness - \setbox0=\hbox to\@xdim{\ifovaltl - \char\count@\else\strut\fi - \kern-\@save\leaders\hrule height - \ifovaltl\linethickness\else\z@\fi - \hfil - \leaders\hrule height\ifovaltr - \linethickness\else\z@\fi - \hfil\kern\@save - \ifovaltr\advance\count@-3 - \char\count@\else\strut\fi - \kern-\wd\@picbox}% - \advance\count@\m@ne - \setbox2=\hbox to\@xdim{\ifovalbl - \char\count@\else\strut\fi - \kern-\@save\leaders\hrule height - \ifovalbl\linethickness\else\z@\fi - \hfil - \leaders\hrule height - \ifovalbr\linethickness\else - \z@\fi\hfil\kern\@save - \ifovalbr\advance\count@\m@ne - \char\count@\else\strut\fi - \kern-\wd\@picbox}% - \@save=\@ydim - \advance\@save-\wd\@picbox - \divide\@save 2 - \setbox\@picbox=\vbox{\box0 - \nointerlineskip - \hbox to\@xdim{\vrule height\@save - width\ifovaltl\linethickness - \else\z@\fi - \hfil\ifovaltr\vrule - width\linethickness - \kern-\linethickness\fi}% - \nointerlineskip - \hbox to\@xdim{\vrule height\@save - width\ifovalbl\linethickness - \else\z@\fi - \hfil\ifovalbr\vrule - width\linethickness - \kern-\linethickness\fi}% - \nointerlineskip\box2}% - \@save=.5\@ydim - \advance\@save.5\linethickness - \leavevmode - \kern-.5\@xdim - \kern-.5\linethickness - \lower\@save\box\@picbox}} - -\def\begincpic#1\endcpic{\vcenter{\hbox - {\beginpicture#1\endpicture}}} - -% Squines (quadratic splines) -% example of use: to plot f(x) between -% x0 and x1, you can say -% \put(0,0){\squine(x0,xm,x1,y0,ym,y1)}, -% where y0=f(x0), y1=f(x1) -% xm=(y0-y1+s1x1-s0x0)/(s1-s0), -% ym=(s0(s1x1-y1)-s1(s0x0-y0))/(s1-s0), -% s0=f'(x0), and s1=f'(x1). - -\newdimen\@xi \newdimen\@xii -\newdimen\@xiii \newdimen\@xiv -\newdimen\@xpt \newdimen\@xoldpt -\newdimen\@yi \newdimen\@yii -\newdimen\@yiii \newdimen\@yiv -\newdimen\@ypt \newdimen\@yoldpt -\def\squineelem{.} -%\def\squineelem{\tencirc q} -\def\squine(#1,#2,#3,#4,#5,#6){\setbox - \@picbox\hbox{\squineelem}% - \global\@xoldpt=#1\unitlength - \global\@yoldpt=#4\unitlength - \kern\@xoldpt - \@xi=\@xoldpt - \@xii=#2\unitlength - \@xiii=#3\unitlength - \@yi=\@yoldpt - \@yii=#5\unitlength - \@yiii=#6\unitlength - \squinerec - \@xpt=#3\unitlength - \@ypt=#6\unitlength - \@addpoint - \raise\@ypt\copy\@picbox} -\newif\iffar -\def\squinerec{\farfalse - \testnear\@xi\@xiii \testnear\@yi\@yiii - \iffar \decast \fi} -\def\testnear#1#2{\@save=#1\advance - \@save-#2% - \ifdim\@save<\z@ \@save=-\@save\fi - \ifdim\@save>\p@ \fartrue \fi} -\def\decast{\@xpt=\@xi - \advance\@xpt\@xii \divide\@xpt2 - \advance\@xii\@xiii \divide\@xii2 - \@xiv=\@xpt - \advance\@xiv\@xii - \divide\@xiv2 - \@ypt=\@yi - \advance\@ypt\@yii - \divide\@ypt2 - \advance\@yii\@yiii - \divide\@yii2 - \@yiv=\@ypt - \advance\@yiv\@yii - \divide\@yiv2 - \begingroup\@xii=\@xpt \@xiii=\@xiv - \@yii=\@ypt \@yiii=\@yiv - \squinerec\endgroup - \@xpt=\@xiv \@ypt=\@yiv \@addpoint - \@xi=\@xiv \@yi=\@yiv \squinerec} -\def\@addpoint{% - %\message{(\the\@xpt,\the\@ypt)}% - \global\advance\@xoldpt-\@xpt - \wd\@picbox=-\@xoldpt - \raise\@yoldpt\copy\@picbox - \global\@xoldpt=\@xpt - \global\@yoldpt=\@ypt} -%Additions%;vrblin399 -\newtoks\xdim \newtoks\ydim -\newtoks\xoffset \newtoks\yoffset -\newtoks\everypicture -\newtoks\thispicture -\xoffset{0}\yoffset{0}%defaults -\def\beginpicture{\bgroup - \the\everypicture\the\thispicture - \gkpbeginpicture(\the\xdim,\the\ydim)% - (\the\xoffset,\the\yoffset)} -\def\endpicture{\gkpendpicture\egroup - \global\thispicture{}} -\def\rhombus(#1,#2)#3#4{% -%#1,#2 ratio of horizontal/vertical size, <=6 -%#3 the size in unitlengths (half of total width) -%#4 text to be put in the middle. -%The centre is the reference point, -%like \oval. -\setbox0=\hbox{\line(#1,#2){#3}}% -\setbox1=\hbox{\line(#1,-#2){#3}}% -\hbox to0pt{\hss - \vbox to0pt{\offinterlineskip\vss - \copy0\copy1\vss}% - \vbox to0pt{\vss\copy1\copy0\vss}\hss}% - \vbox to0pt{\vss - \hbox to 0pt{\hss#4\hss}\vss}} -%lu is pointing left up, -%rl is pointing roght down -\def\rdarrowhead{\hbox to 0pt{\hss - \vrule height.1ptdepth.1ptwidth.5ex - \vrule height.5ex\relax}} -\def\luarrowhead{\hbox to 0pt{\vrule - depth.5ex\relax - \vrule height.1ptdepth.1ptwidth.5ex}} -%\endinput %;nonum -% -%Contents Picture environm. named -%gkppic. cgl@rc.service.rug.nl -%Dimensions -% \unitlength......................7 -% \linethickness...................8 -% \@picheight......................9 -% \@xdim, \@ydim................9-10 -% \@xarg, \@yarg, \@len........10-12 -% \@save..........................10 -% \@picbox........................12 -% \@mpbox.........................12 -% \@xi, \@xii, \@xiii, \@xiv.270-271 -% \@xpt, \@xoldpt................272 -% \@yi, \@yii, \@yiii, \@yiv.273-274 -% \@ypt, \@yoldpt................275 -%Newifs -% \ifneg..........................70 -% \ifovaltl, \ifovaltr...........185 -% \ifovalbl, \ifovalbr...........186 -% \iffar.........................297 -%Fonts -% \tenln, \tenlnw.................14 -% \tencirc, \tencircw..........15-16 -% \smallln........................17 -%Size switching -% \thinlines, \thicklines......19-25 -%Picture environment -% \gkpbeginpicture -% (and \line in there)......27-32 -% \gkpendpicture...............33-35 -% \begincpic, \endcpic.......258-259 -% \put.........................37-38 -% \multiput....................40-49 -%Picture elements -% \makebox.....................59-62 -% \framebox....................64-68 -% \@line.......................71-78 -% \reverseline.................79-82 -% \@hline......................84-85 -% \@vline......................86-90 -% \@sline.....................92-115 -% \vector....................117-120 -% \@hvector..................121-123 -% \@vvector..................124-128 -% \@svector..................130-147 -% \disk......................149-150 -% \circle....................151-152 -% \@diskcirc.................153-157 -% \@bigdc....................158-159 -% \@smalldc..................160-165 -% \@bigcirc..................166-183 -% \oval......................189-256 -%Curves -% \squineelem................276-277 -% \squine....................278-293 -% \squinerec.................295-297 -% \testnear..................298-301 -% \decast....................302-320 -% \@addpoint.................321-327 -%Additions, compatible blue.tex conventions -%Newtoks -% \xdim, \ydim, -% \xoffset, \yoffset.........400-401 -%\everypicture, \thispicture..402-403 -%\beginpicture................406-409 -%\endpicture..................410-411 -%\rhombus.....................412-424 -%\luarrowhead.................430-432 -%\rlarrowhead.................427-429 -%History of changes -%Dec 94 \rhombus picture element added. -% \luarrowhead, \rlarrowhead added. -%Jun 94 Extensions added for compati- -% bility with blue.tex. -% \makebox adapted to LaTeX. -% \framebox added. -% \@sline adapted for case -% \@len less then \ht\@picbox -% (suppress line -% element but kern conditionally.) -% The `dot' element in \squine has -% been parameterized and initialized -% differently. -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%gkppic%;newcol -% -% -% -%%%%%%%%% Amy's Diagonal line %%%%%%%%%% -\newif\ifminuswd -\newif\ifminusht -\newbox\dotwide -\newbox\dotbox -\newdimen\savehtofdiagline -\newdimen\htofdiagline -\newdimen\wdofdiagline -\newdimen\dotmove -\newdimen\newsaveht -\newdimen\savewdofdiagline -% -\def\diagline #1 #2 wd #3 ht{% -%#1 dot, e.g. . -%#2 width in units, eg 2ex -%#3 height in units, eg 3ex -%Amy Hendrickson, TB6#2, 1985 -%Comment cgl: Line thickness varies over -%the direction, nearly verticals go wrong. -\global\setbox\dotwide=\hbox{#1}% -\global\setbox\dotbox= - \hbox to0pt{\hss#1\hss}% -\global\wdofdiagline=#2\relax% -\ifdim\wdofdiagline<1sp - \global\minuswdtrue - \global\advance\wdofdiagline - by-2\wdofdiagline -\else\global\minuswdfalse%Robustness -\fi% turn neg dim to positive -\global\htofdiagline=#3\relax% -\ifdim\htofdiagline<1sp - \global\advance\htofdiagline - by-2\htofdiagline\global\minushttrue -\else\global\minushtfalse%Robustness -\fi -\global\dotmove=1pt%% -\setbox1=\hbox{% - \global\divide\htofdiagline - by\the\wdofdiagline\relax}% -\ifminuswd\rlap\bgroup% -\else\bgroup\fi% -\loop\ifdim\htofdiagline>.4pt%CGL mod -\global\divide\htofdiagline by2% -\global\divide\dotmove by2\repeat% -\global\savehtofdiagline=\htofdiagline% -\loop\ifdim\wdofdiagline>0pt% -\hskip\ifminuswd-\dotmove% - \else\dotmove\fi% -\ifminusht\lower\else\raise\fi% - \htofdiagline\copy\dotbox% -\global\advance\htofdiagline - by\savehtofdiagline% -\global\advance\wdofdiagline - by-\dotmove\repeat% -\egroup% -}% end diagonal line -\def\amyicurt#1#2{%IConUpperRightTriangle -%#1 is ht of icon matrix, -%with UT the upper triangular part, e.g. 4ex -%#2 is wd of icon (upper triangular) -%matrix, e.g. 2ex -\vbox to #1{\hrule - \hbox{\diagline . #2 wd -#2 ht\vrule}% - \vfil}% -}%end amyicurt -%endamy's diagline%%%%%%%%%%%%%%%%%%;nonum;newcol -% -% -% -\newtoks\picturesfile -\picturesfile{pic} -%;numvrb -%begin%%%%%%Generalized \samplebox -\def\point#1 #2 #3{\kern#1\unitlength - \raise#2\unitlength\hbox to0pt{\the\prefil - \the\prepoint#3\the\postfil - }\kern-#1\unitlength} -% -\def\gbox#1#2#3#4{%#1=ht,#2=dp,#3=wd -%#4=text. Assumed: the dimen vars -%\xshift, \yshift have been initialized. -%position of begin of text. -{\setbox0=\vtop{\vbox to#1{% - \hbox to#3{}\vss}\nointerlineskip - \vbox to#2{}}% -%now \box0 has the desired -%ht, dp, and wd - \hbox{\makelightbox\kern-#3% - \raise\yshift\hbox to#3{\kern\xshift - #4\hss}% - }}}%;nonum;newpage -% -% -%Turtle graphics macros added, July 1995 -%cgl@rc.service.rug.nl, July 1995 -%\newdimen\unitlength -\unitlength3ex %deault -\newdimen\unitlengthx -\newdimen\unitlengthy -\newdimen\x \newdimen\auxdim -\newdimen\leftx \newdimen\rightx -\newdimen\y \newdimen\yy -\newdimen\lefty \newdimen\righty -%\newcount\i -\newcount\k \newcount\kaux -\newcount\loccnt \newcount\modsum -\newcount\level \newcount\order -\newcount\kmax -\newcount\kk \newcount\ekk -\newcount\dir -\newbox\nel \newbox\nwl -\newbox\hlfwndelm -%\newdimen\linethickness \linethickness.2pt -\newdimen\linesize -\setbox\hlfwndelm=\hbox{\vrule - height\linethickness - width\linethickness} -\def\xy#1{%Function: place #1 at x, y - \vbox to0pt{\kern-\y - \hbox to0pt{\kern\x#1\hss}\vss}} -% -\def\xytxt#1{%Function: place text #1 at x, y - \xy{\vbox to0pt{\vss - \hbox to0pt{\strut#1\hss}\kern0pt}}} -% -\def\N#1{\xy{\kern-.5\linethickness - \vbox to0pt{\vss - \hrule height#1\unitlength - width\linethickness}}% -\advance\y#1\unitlength} -% -\def\S#1{\advance\y-#1\unitlength - {\N{#1}}} -% -\def\E#1{\xy{\vbox to0pt{\vss - \hrule width#1\unitlength - height\linethickness - depth0pt\vss -}}\advance\x#1\unitlength} -% -\def\W#1{\advance\x-#1\unitlength - {\E{#1}}} -% -\def\NE#1{\auxdim#1\unitlength\correction -\loop\advance\auxdim-\wd\hlfwndelm -\ifdim\auxdim>-.5\wd\hlfwndelm - \xy{\vbox to0pt{\vss\copy\hlfwndelm}}% - \advance\x\wd\hlfwndelm - \advance\y\ht\hlfwndelm -\repeat} -% -\def\NW#1{\auxdim#1\unitlength\correction -\loop\advance\auxdim-\wd\hlfwndelm -\ifdim\auxdim>-.5\wd\hlfwndelm - \advance\x-\wd\hlfwndelm - \xy{\vbox to0pt{\vss\copy\hlfwndelm}}% - \advance\y\ht\hlfwndelm -\repeat} -% -\def\SW#1{\auxdim#1\unitlength\correction -\loop\advance\auxdim-\wd\hlfwndelm -\ifdim\auxdim>-.5\wd\hlfwndelm - \advance\x-\wd\hlfwndelm - \advance\y-\ht\hlfwndelm - \xy{\vbox to0pt{\vss\copy\hlfwndelm}}% -\repeat} -% -\def\SE#1{\auxdim#1\unitlength\correction -\loop\advance\auxdim-\wd\hlfwndelm -\ifdim\auxdim>-.5\wd\hlfwndelm - \advance\y-\ht\hlfwndelm - \xy{\vbox to0pt{\vss\copy\hlfwndelm}}% - \advance\x\wd\hlfwndelm -\repeat} -% -%Convenient aliases are -\let\0\N -\let\1\E -\let\2\S -\let\3\W -%to supply text to the east (by preceding -%it with \hss it is centered) -\def\trttxt#1{\hbox to0pt{% - \kern\x\vbox to0pt{\vss - \hbox to0pt{\strut#1\hss - }\kern\y}\hss}} -%white writing i.e. just move, don't draw -\def\whiteE#1{\advance\x#1\unitlength } -\def\whiteN#1{\advance\y#1\unitlength } -\def\whiteW#1{\advance\x-#1\unitlength } -\def\whiteS#1{\advance\y-#1\unitlength } -%sometimes the following variants with -%global changes are needed -\def\globalN#1{\xy{\kern-.5\linethickness - \vbox to0pt{\vss - \hrule height#1\unitlength - width\linethickness}}% -\global\advance\y#1\unitlength} -% -\def\globalS#1{\global\advance - \y-#1\unitlength{\N{#1}}} -% -\def\globalE#1{\xy{\vbox to0pt{\vss - \hrule width#1\unitlength - height\linethickness - depth0pt\vss -}}\global\advance\x#1\unitlength} -% -\def\globalW#1{\global\advance - \x-#1\unitlength{\E{#1}}} -% -\newbox\trielm -\linethickness.2pt -\setbox\trielm=\hbox{\vrule - width1.74\linethickness - height\linethickness\relax} -%To account for element in 30 degrees direction -\unitlengthy\ht\trielm %default.2pt -\unitlengthx\wd\trielm %default.3482pt -\unitlength\unitlengthy%default.2pt -% -\def\WSW#1{\auxdim#1\unitlength\divide\auxdim2 - \loop\advance\auxdim-\unitlengthy - \ifdim\auxdim>-.5\unitlengthy - \advance\x-\unitlengthx - \advance\y-\unitlengthy - \xy{\vbox to0pt{\vss\copy\trielm}}% - \repeat} -% -\def\ESE#1{\auxdim#1\unitlength\divide\auxdim2 - \loop\advance\auxdim-\unitlengthy - \ifdim\auxdim>-.5\unitlengthy - \advance\y-\unitlengthy - \xy{\vbox to0pt{\vss\copy\trielm}}% - \advance\x\unitlengthx - \repeat} -% -\def\correction{\multiply\auxdim23 - \divide\auxdim32\relax} -% -%And the shortcut -\def\draw{\csname\the\dir\endcsname - {\the\kk}} -%The useful \bintree for trees -\def\bintree{\S1\ifnum2=\kk\eertnib\fi - \divide\kk2 - {\W{\the\kk}\bintree}% - \E{\the\kk}\bintree\relax} -\def\eertnib#1\relax{\fi\global\advance\k1 - \whiteS1\xytxt{ \csname\the\k\endcsname}} -% -%cgl@rc.service.rug.nl, July 1995 -%\newdimen\x \newdimen\y \newdimen\yy -%\newcount\k \newcount\kmax -\ea\newdimen\csname X1\endcsname -\ea\newdimen\csname X2\endcsname -\ea\newdimen\csname X3\endcsname -\ea\newdimen\csname X4\endcsname -\ea\newdimen\csname X12\endcsname -\ea\newdimen\csname X23\endcsname -\ea\newdimen\csname X34\endcsname -\ea\newdimen\csname X123\endcsname -\ea\newdimen\csname X234\endcsname -\ea\newdimen\csname X1234\endcsname -\def\X#1{\csname X#1\endcsname} -% -\ea\newdimen\csname Y1\endcsname -\ea\newdimen\csname Y2\endcsname -\ea\newdimen\csname Y3\endcsname -\ea\newdimen\csname Y4\endcsname -\ea\newdimen\csname Y12\endcsname -\ea\newdimen\csname Y23\endcsname -\ea\newdimen\csname Y34\endcsname -\ea\newdimen\csname Y123\endcsname -\ea\newdimen\csname Y234\endcsname -\ea\newdimen\csname Y1234\endcsname -\def\Y#1{\csname Y#1\endcsname} -% -\newbox\smileybox -%Next the METAfont spline implementation -\def\mfs{\ifnum\k=\kmax \sfm\fi -\advance\k1 -\midpoints\x\X{1234}\y\Y{1234}\putatxy -{\X2\X{12}\X3\X{123}\X4\X{1234}% - \Y2\Y{12}\Y3\Y{123}\Y4\Y{1234}\mfs}% -{\X1\X{1234}\X2\X{234}\X3\X{34}% - \Y1\Y{1234}\Y2\Y{234}\Y3\Y{34}\mfs}\relax}%end \mfs -% -\def\sfm#1\relax{\fi} -% -% -\def\midpoints{%z1,...,z4 -> z1, z12, z23,...,z1234 -\X{12}\X1\advance\X{12}by\X2\divide\X{12}by2 -\X{23}\X2\advance\X{23}by\X3\divide\X{23}by2 -\X{34}\X3\advance\X{34}by\X4\divide\X{34}by2 -\X{123}\X{12}\advance\X{123}by\X{23}\divide\X{123}by2 -\X{234}\X{23}\advance\X{234}by\X{34}\divide\X{234}by2 -\X{1234}\X{123}\advance\X{1234}by\X{234}\divide\X{1234}by2 -% -\Y{12}\Y1\advance\Y{12}by\Y2\divide\Y{12}by2 -\Y{23}\Y2\advance\Y{23}by\Y3\divide\Y{23}by2 -\Y{34}\Y3\advance\Y{34}by\Y4\divide\Y{34}by2 -\Y{123}\Y{12}\advance\Y{123}by\Y{23}\divide\Y{123}by2 -\Y{234}\Y{23}\advance\Y{234}by\Y{34}\divide\Y{234}by2 -\Y{1234}\Y{123}\advance\Y{1234}by\Y{234}\divide\Y{1234}by2 } -%\putatxy already in blue.tex -\def\putatxy{\hbox to0pt{\kern\x\kern-.15pt - \vbox to0pt{\vss\hrule width.3pt - height.3pt\relax - \kern\y}\hss}} -% -%\def\S#1{...}%See earlier -% -\def\initialize#1#2#3#4#5#6#7#8{%points: (#1,#2),...(#7,#8) - \csname X1\endcsname#1\unitlength - \csname X2\endcsname#3\unitlength - \csname X3\endcsname#5\unitlength - \csname X4\endcsname#7\unitlength - \csname Y1\endcsname#2\unitlength - \csname Y2\endcsname#4\unitlength - \csname Y3\endcsname#6\unitlength - \csname Y4\endcsname#8\unitlength} -% -% -%\def\smiley{\loadsmileys\hbox{\unitlength.01pt -% \copy\smileybox\eyes\mouth\kern1000\unitlength} } -%\def\winksmiley{\loadsmileys\hbox{\unitlength.01pt -% \copy\smileybox\winkeye\mouth\kern1000\unitlength} } -%\def\sadsmiley{\loadsmileys\hbox{\unitlength.01pt -% \copy\smileybox\squinteyes\sadmouth\kern1000\unitlength} } -% -%Contents turtle tools -%Storage allocations -%\newcount -% \k, \loccnt, \modsum, -% \level, \order, \kmax, -% \kk, \ekk, \dir -%newdimen -% \x, \leftx, \rightx, -% \y, \yy, \lefty, \righty, -%\newbox -% \hlfwndelm, \trielm -%Definitions -% \N, \E, \S, \W -% \NE, \SE, \SW, \NW -% \WSW, \ESE -% \whiteN, \whiteE, \whiteS, \whiteW -% \globalN, \globalE, \globalS, \globalW -% \correction -% \draw -% \bintree, \eertnib -% \putarxy -% \mfs, \sfm -% \midpoints -% \initialize -%Aliases -%\0, \1, \3, \4 -%History of changes -%July 1995 Setup turtle graphics -%\endinput -% -% -%Undocumented features -%\rnd from Reid, 1987 -%(Included in index macros of BLUe.) -%\newcount\rndnum \newcount\rndtmp -%\newcount\rndval -\def\rnd{\multiply\rndnum371{}% - \advance\rndnum1{}% - \ifnum\rndnum>99999 - \rndtmp\rndnum \divide\rndtmp100000 - \multiply\rndtmp100000 - \advance\rndnum-\rndtmp - \fi\rndval\rndnum - \divide\rndval1000 } -% -\def\dieiii{\rnd\throw= - \ifnum\rndval<34 0\else - \ifnum\rndval<67 1\else2 - \fi\fi} -\def\dieiv{\rnd\throw= - \ifnum\rndval<25 0\else - \ifnum\rndval<50 1\else - \ifnum\rndval<75 2\else3 - \fi\fi\fi} -\def\diev{\rnd\throw= - \ifnum\rndval<20 0\else - \ifnum\rndval<40 1\else - \ifnum\rndval<60 2\else - \ifnum\rndval<80 3\else4 - \fi\fi\fi\fi} -% -% -%;numvrb -%Formats. -\def\loadformat{\input fmt.dat\relax} -% -\def\concert{\ifx\undefined\concertfmt - \let\concertfmt=x\fi - \loadformat - \let\concertfmt\undefined -} -%;vrblin50 -\newtoks\addressesfile -\addressesfile{address} -% -\def\letter{\ifx\undefined\letterfmt - \let\letterfmt=x\fi - \loadformat - \let\letterfmt\undefined -} -%;vrblin100 -\newcount\reportloadcnt -%Prevent double loading. -\def\report{\ifx\undefined\reportfmt - \let\reportfmt=x\fi - \ifnum\reportloadcnt=0 \ea\loadformat\fi - \advance\reportloadcnt1 - \let\reportfmt\undefined -} -%;vrblin150 -\newcount\transparenciesloadcnt -\def\transparencies{% - \ifx\undefined\transparenciesfmt - \let\transparenciesfmt=x\fi - \ifnum\transparenciesloadcnt=0 - \ea\loadformat\fi - \advance\transparenciesloadcnt1 - \let\transparenciesfmt\undefined -}% -\newcount\trsno -\newbox\trsppt -\newcount\transparenciespptloadcnt -\def\transparenciesppt{% - \ifx\undefined\transparenciespptfmt - \let\transparenciespptfmt=x\fi - \ifnum\transparenciespptloadcnt=0 - \ea\loadformat\fi - \advance\transparenciespptloadcnt1 - \let\transparenciespptfmt\undefined -}%;nonum;newpage -% -% -%;numvrb -%Tools -%General macros. -\def\fifo#1{\ifx\ofif#1\ofif\fi - \process{#1}\fifo} -\def\ofif#1\fifo{\fi} -% -{\obeylines\gdef\fifol#1 - {\ifx\lofif#1\lofif\fi% - \processl{#1}\fifol}} -\def\lofif#1\fifol{\fi} -% -{\obeyspaces\gdef\fifow#1 {\ifx -\wofif#1\wofif\fi\processw{#1}\ \fifow}} -\def\wofif#1\fifow{\fi} -% -\long\def\gobbletool#1\endinput{\egroup} -\long\def\tool#1{\ifx#1\undefined - \bgroup\unouterdefs - \ea\gobbletool\fi} -% -\def\toolverbatim{\thisverbatim{% - \baselineskip12ptplus2ptminus1pt - \lineskip1ptplus1ptminus1pt}% - \beginverbatim} -% -\let\cgl\relax -%\def\cgl{\endverbatim\endinput} -% -\def\unouterdefs{%List of defs which - %have to be neglected - \ea\let\csname+\endcsname\relax - \catcode`\^12 - %more to come -} -% -\newif\iffound -\def\loc#1#2{\def\locate##1#1##2\end - {\ifx\empty##2\empty\foundfalse - \else\foundtrue\fi}\ea\locate#2.#1\end} -% -\def\contentsdatabase#1{%#1 pic lit address -\ea\let\ea\name\csname toc#1\endcsname -\immediate\openout\name=contents#1 -%Define list element tag `\lst' -\def\lst##1##2{\let##1\relax - \advance\k1 - \immediate\write\name{##1}} -\input #1.dat\relax -\message{Database #1 contains - \the\k\space entries. - See the file contents#1 for - the list of the names of the entries.}} -% -\newwrite\tocfmt -\newwrite\toctools -% -\def\contentstoolsorfmt#1{%#1 tools fmt -\bgroup -\ea\let\ea\name\csname toc#1\endcsname -\immediate\openout\name=contents#1 -\long\def\tool##1##2\endinput{% - \immediate\write\name{\nx##1}} -\unouterdefs -\input #1.dat\relax -\message{Database #1 contains - \the\k\space entries.}% -\egroup} -% -%Tags for the address database -\newif\ifregisteredblue -%Searching the database -\newtoks\searchfile -\newtoks\foundfile -\newtoks\namelst -\def\search#1{\def\loc##1##2{% - \def\locate####1##1####2\end - {\ifx\empty####2\empty\foundfalse - \else\foundtrue\fi}\ea\locate##2.##1\end} - \def\lst##1##2{\loc{#1}{##2}\iffound - \immediate\write16{\nx##1}%log file - \namelst\ea{\the\namelst\lst##1} - \def##1{##2}%define found element - \fi}\input\the\searchfile.dat\relax} -%;vrblin200 -\def\bluechapter#1\par - {\beginchapterhead#1\unskip\endchapterhead} -%Because of \par not in fmt.dat -\def\blueexample#1\par - {\example{#1\unskip}} -% -\def\bluedisplaycenterline#1\par - {\begindisplaycenterline - #1\enddisplaycenterline}%;nonum;newcol -% -% -%;numvrb -%Tools -%Next sorted on tool -% -\def\loadtool{\input tools.dat\relax} -%;vrblin20 -%Binarytreetool -\newcount\ltree \newcount\m -\newcount\lu \newcount\levelone -\newdimen\tophns \newdimen\tophnshalf -\newdimen\vnodesep -\newdimen\treewidth %\treewidth= -%\prod_{i=1}^k{1+1/2i} * \tophns, for level k tree. -\newtoks\thisbintree -\newtoks\everybintree -\def\beginbintree{\begingroup - \let\bintreetool=x - \loadtool - \startbintree} -\newtoks\thisbt -\newtoks\everybt -\newtoks\prebt -\newtoks\postbt -\def\beginbt{\begingroup - \let\bttool=x - \loadtool\bt} -%;vrblin50 -%Bridgetool -\def\beginbridge{\begingroup - \let\endbridge\endgroup - \let\bridgetool=x - \loadtool -} -%;vrblin100 -%Crosswordstool -\def\begincrosswords{\begingroup - \let\endcrosswords\endgroup - \let\crosswordstool=x - \loadtool -} -%;vrblin150 -%Hanoitool -\def\hanoi#1{\beginhanoi{#1}\endhanoi} -\def\beginhanoi{\begingroup - \let\endhanoi\endgroup - \let\hanoitool=x - \loadtool -\sethanoi} -%;vrblin200 -%Indextool -\newcount\indexloadcnt -\def\loadindexmacros{% - \ifx\undefined\indextool - \let\indextool=x\fi - \ifnum\indexloadcnt=0 - \ea\loadtool\fi - \advance\indexloadcnt1 - \let\indextool\undefined} -%(mini-)ToCtool -\newwrite\toc -\newcount\tocloadcnt -\def\loadtocmacros{% - \ifx\undefined\toctool - \let\toctool=x\fi - \ifnum\tocloadcnt=0 - \ea\loadtool\fi - \advance\tocloadcnt1 - \let\toctool\undefined} -%;vrblin250 -%Language tools -\def\english{\let\englishtool=x - \loadtool - \let\englishtool\undefined -} -\def\russian{\let\russiantool=x - \loadtool - \let\russiantool\undefined -} -%;vrblin500 -%ntglogo -\font\calx=cmsy10 scaled \magstep4 -\newbox\ntglogobox -\def\loadntglogo{\let\ntglogotool=x - \loadtool - \let\ntglogotool\undefined -} -\def\loadntginfo{\let\ntginfotool=x - \loadtool - \let\ntginfotool\undefined -} -% -%;vrblin525 -\newbox\smileybox -\newcount\smileysloadcount -\def\smiley{\loadsmileys\raise.5ex - \hbox{\unitlength.01pt - \copy\smileybox - \eyes\mouth - \kern1000\unitlength} } -\def\winksmiley{\loadsmileys\raise.5ex - \hbox{\unitlength.01pt\copy\smileybox - \winkeye\mouth - \kern1000\unitlength} } -\def\sadsmiley{\loadsmileys\raise.5ex - \hbox{\unitlength.01pt\copy\smileybox - \squinteyes\sadmouth - \kern1000\unitlength} } -\def\loadsmileys{\ifx\undefined\smileystool - \let\smileystool=x\fi - \ifnum\smileysloadcount=0 \ea\loadtool - \else\message{--- smileys already loaded---}\fi - \advance\smileysloadcount1 - \let\smileystool\undefined} -% -%;vrblin550 -\def\loadxyz{\let\xyztool=x - \loadtool - \let\xyztool\undefined -} -%;vrblin575 -\def\loadpartlogo{\let\partlogotool=x - \loadtool - \let\partlogotool\undefined -} -%;vrblin600 -%Pascaltool -%Declarations -\newtoks\prepascal -\newtoks\postpascal -\newtoks\reservedset -\newcount\commentstatus -%Initializations -\let\reservedwordsfont\bf -\let\pascalprogramfont\it -\let\pascalcommentfont\rm -\prepascal{\medskip\noindent} -\postpascal\prepascal -%Reserved words need right catcodes -% -\def\beginpascal{\begingroup - \let\pascaltool=x - \loadtool - \afterassignment\fifol\let\dummy=}%;nonum;newcol -% -% -% -%***Storage allocation*** ;numvrb -%\new...-s needed in the various tools -%Space is once reserved. -%General -\newtoks\storedheadline -\newtoks\storedfootline -\newtoks\appendixname -\appendixname{Appendix} -\newcount\storedpageno -%;vrblin10 -%From \contentsdatabase -\newwrite\tocpic -\newwrite\toclit -\newwrite\tocaddress -%;vrblin20 -%From \letter -\newtoks\letterfile -%\newtoks\addressesfile -\newtoks\addresseename\newtoks\fullname -\newtoks\addresseelist -\newtoks\subject -\newtoks\ourreference -\newtoks\yourreference -\newtoks\enclosures -\newdimen\longindentation -\newdimen\storedvsize -\newskip\vaoffset%vert address offset -\newskip\haoffset%hor address offset -\newbox\affiliationbox -\letterfile{letter} -%\addressesfile{address} -%From \transparencies -\newtoks\regularheadline -\newtoks\regularfootline -%;vrblin50 -%From \report -\newtoks\chapternumbering -\newtoks\thischapterhead -\newtoks\everychapterhead -\newtoks\prefacename -\newtoks\bibliographydata -\newtoks\chaptertitle -\newtoks\prechapterhead -\newtoks\postchapterhead -\newtoks\headtitle -\newtoks\subheadtitle -\newtoks\subsubheadtitle -\newtoks\prepoint -\newtoks\prefil -\newtoks\postfil -\newtoks\thisexample -\newtoks\everyexample -\newtoks\exampletitle -\newbox\prefacebox -\newbox\contentsbox -\newbox\forewordtranslatorbox -\newdimen\generalindent -\newdimen\gutter \gutter1em -\newdimen\xshift -\newdimen\yshift -\newdimen\subsubheadindent -\newcount\headcnt -\newcount\chaptercnt -\newcount\examplecnt -\newcount\exercisecnt -\newwrite\toc -\newwrite\toe -\newif\ifrunin -%;vrblin100 -%From transparencies -\newtoks\identification -%\newtoks\crowner -\newtoks\headtitle -\newtoks\subheadtitle -\newtoks\subsubheadtitle -\newskip\leftskiptrs -\newskip\rightskiptrs -%;vrblin125 -%From crosswords -\newif\ifpuzzle -\newcount\cnt -\newdimen\csize -%;vrblin150 -%From index -\newif\ifcontinue%controls loops -\newif\iffound%locating accent cs -\newif\ifproof\prooftrue -\newtoks\indword -\newcount\n -\newcount\lc -\newcount\r -\newcount\ic -\newcount\uone -\newcount\jc -\newcount\jj -\newcount\jjone -%Counters -%\newcount\n -%\newcount\m -%\newcount\k -%\newcount\kk -\n=0 -\newcount\kzero\kzero0 %Bias value -\newcount\pk -\newcount\pkone%Used in sortcs -\newcount\frst%First value of range -\newcount\last %Last value of range -\newcount\slast%Successor \last -\newcount\dif %Difference \last-\frst -\newcount\nw %Number of words -\newcount\nc %Number of characters/comp -\newcount\numex %Number of exchanges -\newcount\rndval%Random number -\newcount\rndnum%Seed random generator -\newcount\rndtmp%Temporary value -\newcount\throw -\newcount\status%Status comparison -\newcount\low -\newcount\up -\newif\ifgoon -\newread\inxin -\newtoks\indword -\newtoks\indexfile - %To parameterize the resulting index -\newtoks\irfile - %To parameterize the IRs -\newtoks\indexname -\newtoks\preindex -\newtoks\postindex -\newtoks\ignores -\newtoks\conseqs -\newtoks\consyms -\newtoks\srtkeys -\newtoks\srtkeypairs -%;vrblin500 -%Contents Tools -%- bridgetool -%- crosswordstool -%- hanoitool -%- indextool -%- langauages englishtool (default) -%- ntglogotool -%- ntginfotool -%- russiantool -%- smileys -%- toctool -%- xyztool -%- pascaltool -%;nonum -%History of changes Tools -% Jan 1995 Created -% Summer 1995 Smileys added -% March 1996 Toc tool added -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% -% -\def\\{\hfil\break} -\let\annotation\relax -\generalindent\parindent -\subsubheadindent\generalindent -\loadntglogo -\english -\catcode`\@=12 -\endinput -%for Mac as pre format -\global\advance\count0-1 \dump -%%%end blue.tex, cgl%%% \ No newline at end of file diff --git a/macros/blu/fmt.dat b/macros/blu/fmt.dat deleted file mode 100644 index 684c4540f2..0000000000 --- a/macros/blu/fmt.dat +++ /dev/null @@ -1,1418 +0,0 @@ -%The material is shareware and subject -%to the separate notes on copyright. -% -%File of formats to cooperate with blue.tex -%To print the formats properly, copy -%the following 11-lines job and -%substitute the semicolon token -%(=escape char) for `semi-col'. (2x) -% ---Kees--- -%\input blue.tex -%\hfuzz25pt -%\title{File: fmt.dat} -%\issue{Version 1.0} -%\beginscript -%\thisverbatim={\catcode`\`semicol'=0 -% \catcode`\!=12 -% \catcode`\|=12 -% \input fmt.dat} -%\beginverbatim -%`semi-col'endverbatim -%\endscript %or use pgfile.tex -% -% -% -%Contents: -%- concert -%- letter -%- report -%- transparencies -% -\message{fmt.dat browsed (Version March 1996)} -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%concert% -%cgl@rc.service.rug.nl %;numvrb -\tool\concertfmt -\message{ ---Concert format, Jan 95, cgl--- } -%Concert format TeXbook 409, 412 -%\font\twelverm=cmr12 -%\font\twelvebf=cmbx12 -%\font\twelveit=cmti12 %all in blue.tex -%\font\twelvesl=cmsl12 -%\font\twelvemus=cmmi12 -% -\def\bigtype{\let\rm=\twelverm - \let\bf=\twelvebf\let\it=\twelveit - \let\sl=\twelvesl\let\mus=\twelvemus - \baselineskip=14pt minus 1pt \rm} -\def\medtype{\let\rm=\tenrm - \let\bf=\tenbf\let\it=\tenit - \let\sl=\tensl\let\mus=\teni - \baselineskip=12pt minus 1pt \rm} -\def\smalltype{\let\rm=\eightrm - \let\bf=\eightbf\let\it=\eightit - \let\sl=\eightsl\let\mus=\eighti - \baselineskip=9.5pt minus .75pt \rm} -% -\def\flat{\raise.2ex\hbox{\mus\char"5B}} -\def\sharp{\raise.4ex\hbox{\mus\char"5D}} -\let\,=\thinspace -\def\(#1){{\rm(}#1\/{\rm)}} -% ;vrblin50 -\def\composition#1{\halign{\bf - \quad##\hfil\cr\kern-1em#1\crcr}} -% use \cr's if more than one line -\def\composer#1{\rightline{\bf#1}} -\def\movements#1{\halign{\quad\it##\hfil - &&\qquad\it##\hfil\cr#1\crcr}} -\def\soloists#1{\centerline{\bf - \vbox{\halign{##\hfil\cr#1\crcr}}}} -% ;vrblin100 -\def\tsaologo{\vbox{\bigtype\bf - \line{\hrulefill} - \kern-.5\baselineskip - \line{\hrulefill\phantom -{ THE ST.\,ANFORD ORCHESTRA }\hrulefill} - \kern-.5\baselineskip - \line{\hrulefill\hbox -{ THE ST.\,ANFORD ORCHESTRA }\hrulefill} - \kern-.5\baselineskip - \line{\hrulefill\phantom -{ R. J. Drofnats, Conductor }\hrulefill} - \kern-.5\baselineskip - \line{\hrulefill\hbox -{ R. J. Drofnats, Conductor }\hrulefill} - }} -%Defaults -\onecol\hsize=4in\bigtype -\endinput %;nonum -%Contents -%Fonts -% \bigtype................10-13 -% \medtype................14-17 -% \smalltype..............18-21 -% \flat......................23 -% \sharp.....................24 -% \,.........................25 -% \(...).....................26 -%Layout -% \composition............51-52 -% \composer..................54 -% \movement..................55 -% \soloists...............57-58 -% \tsalogo..............101-115 -%Defaults -% \onecol\hsize\bigtype.....117 -%History of changes. -%Jan 95 Creation. -%end%%%%%%%%%%%%%%%%%%%%concert%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%letter%;numvrb -\tool\letterfmt -%Inspired upon the TeXbook App E -%\today already in blue.tex -\message{ ---Letter format, - Jan 95, cgl--- } -%Addresses assumed in address.dat -%Toks vars: \letterfile\addressesfile -%Address handling -\def\beginaddresses#1\endaddresses{% - \def\process##1{\ifx\undefined##1 - \let##1\addresserror - \else \message{\Dash\string##1 - already loaded.\Dash}% - \fi\namelst\ea{\the\namelst\lst##1}} - \fifo#1\ofif%end defining all names - \loadselectivefrom{\the\addressesfile}} -%with on top the trivial variant -\def\addresserror{Address not in database, - Sorry.\loaderror{Addresses}} -\def\addresses#1{\beginaddresses - #1\endaddresses} -% -\def\addressee#1{\ea - \splitaddress#1\egroup}%;nonum -% -%with at the lower level -%;numvrb;vrblin50 -\def\splitaddress#1\\#2\\{\addresseename{#1% - \unskip}\fullname{#2\unskip}\setbox - \affiliationbox\hbox\bgroup#2\\}%;nonum -% -%To handle letters -%;numvrb;vrblin100 -\def\letterto#1{{\everyscript{\notlastscript} - \storedvsize\vsize - \storedheadline\headline - \storedfootline\footline - \beginaddresses#1\endaddresses - \let\lst\processletter - \the\namelst}} -% -\def\lettertoall{{\everyscript{\notlastscript} - \def\lst##1{\processletter} - \input\the\addressesfile.dat\relax}}%;nonum -% -\def\makesearchletters{\def\lst{% - \thisscript{\notlastscript} - \processletter} - \the\namelst} -%with at the lower level -%;numvrb;vrblin150 -\def\processletter#1{{%#1 name or address - \headline\storedheadline - \footline\storedfootline - \vsize\storedvsize - \addressee{#1} - \beginscript - \input\the\letterfile\relax - \endscript}} -%;vrblin175 -%\def\makelistaddresseetags{\def\lst -% ##1##2{\namelst\ea{\the\namelst##1}} -% \input\the\addressesfile\relax}%;nonum -% -%`Page makeup' -%;numvrb;vrblin200 -\headline{\line{\vbox to3cm{% -\line{\logo\hss - \vbox{\hsize.33\hsize\small - \the\address\\\the\netaddress\\\the\telephone} -}\kern3pt\hrule\vss}\hss}% -\addresseewindow -%and for follow pages -\global\headline{\line{\vbox - to3cm{\vss%Implicit vspace - \line{\tenrm \To: \the\fullname - \hss\today/\the\subject/\the\crowner\ - \oldstyle\the\ourreference}\kern2pt\hrule - \vss}}}%end follow \headline -}%end \headline -% -\footline{\line{\vbox{% - \kern\baselineskip\hrule\kern.5ex - \hbox{\strut\the\businessaccount}}\hss} -%and for follow pages - \global\vsize19cm - \global\footline{\line{\null - \hss--{\oldstyle\the\count0}--\hss - }}%end follow \footline -}%end \footline -%;vrblin250 -\def\addresseewindow{\line{% -\vbox to 4cm{%Window height Dutch - %envelopes -\vskip\vaoffset %To shift address vert. -\leftskip\haoffset%To shift address hor. -\unhbox\affiliationbox -\vss}\hss}%end line -\line{\hbox to\longindentation - {\hbox to11ex{\Subject\hss:} - \the\subject\hss}\today\hss} -\line{\hbox to11ex{\small \Ourref\hss:} - \the\crowner\ - \oldstyle\the\ourreference\hss} -\line{\hbox to11ex{\small \Yourref\hss:} - \the\yourreference\hss} -}%;nonum -% -%Processing labels -%;numvrb;vrblin300 -\def\makelabels#1{\vsize=26cm% - \headline{}\footline{}% - \beginaddresses#1\endaddresses - \let\lst\processlabel - \the\namelst} -% -\def\makealllabels{\vsize=28cm - \headline{}\footline{} - \def\lst##1{\processlabel} - \input\the\addressesfile.dat\relax -} -% -\def\makesearchlabels{\vsize=28cm - \headline{}\footline{} - \let\lst\processlabel - \the\namelst}%;nonum -% -%with at the lower level -%;numvrb;vrblin350 -\def\processlabel#1{\addressee{#1}% - \boxit{\kern1cm\vbox to3.5cm - {\noindent\leftskip.33\hsize - \hsize.9\hsize - \unhbox\affiliationbox\vss} - {\smallskip\small - \leftskip\generalindent - \the\author\\ - \the\address\bigskip} -}\smallskip}%end \processlabel%;nonum -% -%general things -% ;numvrb;vrblin400 -\def\beginscript{% - \lastscript\the\everyscript - \the\thisscript -\begingroup\pageno1 \null -\vskip3\bigskipamount -}%end \beginscript -\let\beginletter\beginscript -% -\def\endscript{\smallskip - \vfil\eject\endgroup - \tracingstats1 - \stop\thisscript{}} -\let\endletter\endscript -%;vrblin500 -%To be replaced by your salutation -\def\sincerely{{\bigskip - \parindent\longindentation - Sincerely, - \medskip - \the\author\vskip3\bigskipamount}} -% -\def\dear{Dear \the\addresseename,\bigskip} -% -\def\ps{\bigskip\small\item{P.S.}} -\def\cc{\bigskip\small\item{cc.}} -\def\appendix#1{\newpage\tenpoint - \centerline{\bf\the\appendixname\ #1} - \bigskip}%;nonum -\def\enclosures{\bigskip\small} -% -%Defaults, Initializations \letter -% ;numvrb;vrblin900 -%\loadntglogo -\onecol%Because in blue.tex - %\twocol default -\addressesfile{address} -\searchfile{address} -\letterfile{letter} -\def\email#1{}\def\phone#1{}\def\fax#1{} -%Separation headline and rest -\vsize13cm%First page -\hsize13cm\pagewd\hsize -\hoffset1cm -\parindent0pt -\generalindent2pc -\interlinepenalty1000 -\longindentation.667\hsize -\storedvsize\vsize -\storedheadline\headline -\storedfootline\footline -\raggedbottom -\def\english{ - \def\To{To} - \def\Yourref{Your ref} - \def\Ourref{Our ref} - \def\Subject{Subject}} -\def\nederlands{ - \def\today{\ifcase \month \or Januari\or Februari\or - Maart\or April\or Mei\or - Juni\or Juli\or Augustus\or September\or October\or - November\or December\fi { }{\ea - \oldstyle \number \day }, {\ea \oldstyle \number \year }} - \def\To{Aan} - \def\dear{Beste} - \def\Yourref{Uw ref} - \def\Ourref{Onze ref} - \def\Subject{Subject} - \def\sincerely{{\bigskip - \parindent\longindentation - Hoogachtend, - \medskip - \the\author\vskip3\bigskipamount}} -} -\english -\endinput %;nonum -% -%Contents -%Address -% \beginaddresses...........9-19 -% \endaddresses...............21 -% \addresses...............23-24 -% \addressee...............26-27 -%lower level -% \splitaddress............51-54 -%Letter -% \letterto..............101-107 -% \lettertoall...........109-110 -% \makesearchletters.....112-115 -%lower level -% \processletter.........151-158 -% \makelistaddresseetags.176-183 -%Header and footer -% \headline..............201-214 -% \footline..............216-224 -%lower level -% \addresseewindow.......251-266 -%Labels -% \makelabels............301-304 -% \makealllabels.........306-309 -% \makesearchlabels......311-313 -%lower level -% \processlabel..........351-360 -%Composition -% \beginscript...........401-406 -% (\beginletter).............407 -% \endscript.............409-412 -% (\endletter)...............413 -% \sincerely.............502-506 -% \dear......................508 -% \ps........................510 -% \cc........................511 -% \appendix..............512-514 -% \enclosures -% \nederlands -% \english -%Defaults.................901-9xx -%History of changes. -%May 96 \nederlands (\endlish) added -%Aug 95 Extended by \makesearchletters -%Jan 95 Creation. -%end%%%%%%%%%%%%%%%%%%%%%%letter%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%report%;numvrb -\tool\reportfmt -%Report format Jan 95 ;numvrb -%cgl@rc.service.rug.nl -\message{ ---Report format, - Jan 95, cgl--- } -\let\chapterfont\Large -\font\subtitlefont=cmr12 scaled\magstep2 -% -\immediate\openout\ans=answers -\immediate\openout\toe=examples -\immediate\openout\toc=contents -%;vrblin100 -%Chapter title matters -\prechapterhead{\newpage\null - \vskip4pc\bgroup\catcode`\^=7 - \the\everychapterhead - \the\thischapterhead - \global\advance\chaptercnt1 -% \xdef\chapno{\the\chaptercnt}% -} -%;vrblin110 -\postchapterhead{\egroup - \headcnt0 \exercisecnt0 \examplecnt0 - \immediate\write\toc{\nx\separator{\alfanum - \the\chaptercnt}{\the\chaptertitle}} - %suppress headline first page chapter - \global\headline{\global\headline - {\hbox to\pagewd - {\sl\the\chaptertitle\hfill - \the\title}}}% - \footline{\hbox to\pagewd{\small - \rlap{Draft \today}\hfill\dash - {\oldstyle\the\pagenumber}\dash - \hfill\llap{\copyright - \the\crowner}}}% -%Example is redefined here such that on -%first use if ever in the chapter, it -%redefines itself as the regular macro, -%while writing the chapter title to the -%table-of-examples, ToE, file. -%In this way titles of chapters without -%examples are suppressed in the ToE. - \def\example{\immediate\write\toe{\nx - \separator{\alfanum - \the\chaptercnt}{\the\chaptertitle}} - \let\example\regularexample\example} -%To get the title of ToC Appendix also in -%the ToC the \immediate is needed - \thischapterhead{}\vskip3pc} -% -\def\beginchapterhead{\the\prechapterhead - \storechaptertitle} -% -\def\storechaptertitle#1\endchapterhead{% - \global\chaptertitle{#1}\endchapterhead} -% -\def\endchapterhead{\centerline{\chapterfont - \the\chapternumbering\the\chaptertitle} - \the\postchapterhead\ignorewhitespace} -% -\def\chapterhead{\bgroup - \def\storechaptertitle##1{\egroup - \global\chaptertitle{##1}% - \endchapterhead} - \beginchapterhead} -% -\def\setupappendices{\thischapterhead= - {\chaptercnt64 \gdef\alfanum{\char}% - \global\chapternumbering - {\alfanum\the\chaptercnt: }}} -% -\def\pasteupanswers -{\chapterhead{Answers to the Exercises} - \immediate\closeout\ans - {\ninepoint\parindent2pc - \input answers\relax}} -% -\def\pasteuptoe{% - \chapterhead{List of Examples} -\immediate\closeout\toe %Table Of Examples -{\ninepoint\def\exampleno##1.##2: {\noindent - \hbox to\generalindent{{\oldstyle##1}.% - {\oldstyle##2}\hss}}% - \def\separator##1{\smallbreak\noindent - \hbox to\generalindent{{\oldstyle##1}\hss}} - \parindent0pt\obeylines\sl - \input examples\relax}} -% -\def\pasteuptoc{% - \chapterhead{Table of \the\contentsname} -\immediate\closeout\toc%Table Of Contents -{\ninepoint\def\contentsno##1.##2: - {\noindent\hbox to\generalindent - {{\oldstyle##1}.{\oldstyle##2}\hss}} - \def\separator##1{\smallbreak\noindent - \hbox to\generalindent{{\oldstyle##1}\hss}} - \def\she{\noindent\hbox - to1.5\generalindent{\hss}} - \def\sshe{\noindent\hbox - to2\generalindent{\hss}} - \parindent0pc\obeylines\sl - \input contents\relax}} -% -\preindex{\chapterhead{\the\indexname}} -% -\def\pagenorepresentation#1{\quad\dotfill - \hbox to\generalindent{\hfil\oldstyle#1}} -% -%;vrblin250 -%Invariant for value \parindent -\def\beginquote{\endgraf\bgroup - \parindent\generalindent - \narrower\smallbreak\noindent} -%;vrblin300 -%Header matters -\def\beginhead{\the\prehead - \global\advance\headcnt1 - \storeheadtitle} -% -\def\storeheadtitle#1\endhead{% - \global\headtitle{#1}\endhead} -% -\def\endhead{\centerline{\headfont - \the\headtitle}\the\posthead} -% -\def\head{\bgroup - \def\storeheadtitle##1{\egroup - \global\headtitle{##1}\endhead} - \beginhead} -% -\posthead{\egroup\xdef\writetoc{% - \write\toc{\contentsno - \nx\alfanum\the\chaptercnt.\the\headcnt: - \the\headtitle\nx\nx\nx - \pagenorepresentation{\nx\number - \pageno}}}\writetoc - \nobreak\medskip\noindent - \ignorewhitespace} -%;vrblin350 -\def\beginsubhead{\the\presubhead - \the\thissubhead - \storesubheadtitle} -% -\def\storesubheadtitle#1\endsubhead{% - \global\subheadtitle{#1}\endsubhead} -% -\def\endsubhead{{\subheadfont - \the\subheadtitle}\the\postsubhead} -% -\def\subhead{\bgroup - \def\storesubheadtitle##1{\egroup - \global\subheadtitle{##1}\endsubhead} - \beginsubhead} -% -\postsubhead{\egroup\xdef\writetoc{% - \write\toc{\nx\nx\nx\she - \the\subheadtitle\nx\nx\nx - \pagenorepresentation{\nx\number - \pageno}}}\writetoc - \ifrunin\ \else\quad\fi\ignorewhitespace} -%;vrblin400 -\def\beginsubsubhead{\the\presubsubhead - \the\thissubsubhead - \storesubsubheadtitle} -% -\def\storesubsubheadtitle#1% - \endsubsubhead{\global - \subsubheadtitle{#1}\endsubsubhead} -% -\def\endsubsubhead{{\subsubheadfont - \the\subsubheadtitle}\the\postsubsubhead} -% -\def\subsubhead{\bgroup - \def\storesubsubheadtitle##1{% - \egroup\global - \subsubheadtitle{##1}% - \endsubsubhead} - \beginsubsubhead} -% -\postsubsubhead{\egroup\xdef\writetoc{% - \write\toc{\nx\nx\nx\sshe - \the\subsubheadtitle\nx\nx\nx - \pagenorepresentation{\nx\number - \pageno}}}\writetoc - \ifrunin\ \else\quad\fi\ignorewhitespace} -% -%Inner markup;vrblin500 -%;vrblin525 -\def\beginexample{\vskip0pt plus5ex - \penalty-100\vskip0pt plus-5ex - \medskip - \global\advance\examplecnt1 - \bgroup\catcode`\^=7 \the\everyexample - \the\thisexample\storeexampletitle} -% -\def\storeexampletitle#1\endexample{% - \global\exampletitle{#1}\endexample} -% -\def\endexample{% - \xdef\writeexa{\write\toe{\exampleno - \alfanum\the\chaptercnt.\the\examplecnt: - \the\exampletitle - \nx\nx\nx\pagenorepresentation - {\the\count0}}}\writeexa - {\the\examplename} {\sl(\the\exampletitle)} - \egroup - \nobreak\endgraf\noindent\ignorewhitespace} -% -\def\example{\bgroup - \def\storeexampletitle##1{\egroup - \global\exampletitle{##1}\endexample} - \beginexample} -% -%;vrblin550 -%Mod item macros, to prevent hanging out -%with \parindent=0pt -\def\hang{\hangindent\generalindent} -% -\def\itemitem{\endgraf\leavevmode - \hskip\generalindent - \hangindent2\generalindent\textindent} -% -\def\textindent#1{\leavevmode - \hskip\generalindent - \llap{#1\enspace}\ignorespaces} -%;vrblin575 -\def\exercise{\medbreak - \global\advance\exercisecnt1 - \hangindent\generalindent - \noindent\hbox to\generalindent{% - {\oldstyle\the\chaptercnt}.{\oldstyle - \the\exercisecnt}\hfil}} -% -\def\answer{\endgraf\medbreak - \immediate\write\ans{} - \immediate\write\ans{\string\ansno - \the\chaptercnt.\the\exercisecnt:}% - \copytoblankline} -% -\def\ansno#1.#2:{\medbreak\noindent - \hbox to\generalindent{{\oldstyle#1}% - .{\oldstyle#2}\hss}\hangindent - \generalindent\ignorespaces} -%;vrblin700 -%Preliminary pages matters -%Markup preliminary pages via \beginscript -\def\beginscript{\lastscript -\the\everyscript\begingroup -\the\thisscript -\pageno-1 \headline{}\footline{} -\ifproof\rightline{\rlap{\sl Cover}}\fi -\kern7\bigskipamount -\centerline{\chapterfont\the\title} -\bigskip\if!\the\subtitle!\else -\centerline{\subtitlefont\Dash - \the\subtitle\Dash}\fi -\vskip\bigskipamount -\centerline{by} -\vskip\bigskipamount -\centerline{\subtitlefont\the\author} -\vfill -\ifx\coverpic\undefined -\else$$\coverpic$$ -\fi -\vfill -\if!\the\translator! -\else\rightline{\subtitlefont - Translated by \the\translator} -\fi - \newpage -\ifproof\rightline{\rlap{\sl Inside - Cover}}\fi -% -\kern3\bigskipamount -\pasteupkeywords -\smallskip -\the\bibliographydata -\vfill\vfill -\pasteupacknowledgements -% - \newpage -\ifproof\rightline{\rlap{\sl Title - Page}}\fi -\kern7\bigskipamount -\centerline{\chapterfont\the\title} -\bigskip -\centerline{\subtitlefont\Dash - \the\subtitle\Dash} -\vskip\bigskipamount -\centerline{by} -\vskip\bigskipamount -\centerline{\subtitlefont\the\author} -\vfill\pasteupabstract\vfill\vfill -% -\ifvoid\forewordtranslatorbox -\else \newpage - \ifproof\rightline{\rlap - {\sl Foreword Translation}}\fi - \vfill - \unvbox\forewordtranslatorbox - \vfill - \rightline{\vtop{\hbox{Irina Gorbunova - %\the\translator - }\hbox{\the\author}}}\vfill -\fi -% -\ifvoid\prefacebox -\else \newpage - \ifproof\rightline{\rlap{\sl Preface - Page}}\fi - \vfill\pasteuppreface\vfill\vfill -\fi - \newpage -\ifproof\rightline{\rlap{\sl Contents - Page}}\fi -\vfill\pasteupcontents -\vfill\eject -%\immediate\openout\ans=answers -%\immediate\openout\toe=examples -%\immediate\openout\toc=contents -}%end \beginscript -% -%;vrblin800 -%Auxiliaries preliminary pages -\def\beginkeywords{\setbox\keywordsbox - \vbox\bgroup{\bf\the\keywordsname: }} -% -\preacknowledgements{\leftline{\bf - \the\acknowledgementsname}\medskip} -% -\def\pasteupacknowledgements{\ifvoid - \acknowledgementsbox - \else\the\preacknowledgements\unvbox - \acknowledgementsbox\bigskip - \makesignature\fi} -% -\def\beginpreface{\setbox\prefacebox - \vbox\bgroup} -% -\def\endpreface{\egroup} -% -\def\preface#{\beginpreface\bgroup - \aftergroup\endpreface - \afterassignment\ignorespaces - \let\dummy=} -% -\def\pasteuppreface{\centerline{\chapterfont - \the\prefacename}\bigskip\unvbox\prefacebox} -% -\def\beginforewordtranslator{\setbox - \forewordtranslatorbox= - \vbox\bgroup\begincenter} -% -\def\endforewordtranslator{\endcenter\egroup} -% -\def\forewordtranslator#{\beginforewordtranslator - \bgroup - \aftergroup\endforewordtranslator - \let\dummy=} -% -\def\pasteupforewordtranslator{\unvbox - \forewordtranslatorbox\relax} -% -\def\begincontents{% - \setbox\contentsbox\vbox\bgroup - \def\separator{\vbox to.5ex{}} - \def\newcol{\cr} - \ea\def\csname par\endcsname{&}\obeylines - \valign\bgroup&\noindent\strut - \hsize=7cm##\cr} -% -\def\endcontents{\cr\egroup\egroup} -% -\def\pasteupcontents{\unvbox\contentsbox} -% -%;vrblin900 -\def\endscript{\xcol=\maxcols - \vfill\eject\endgroup\backcover - \tracingstats=1 \stop\thisscript{}} -% -\def\pwtbackcover{\headline{}\footline{}% -\begingroup%inside back cover. -\hsize=12cm \hoffset2cm -\ifproof\hbox to13cm{\hss\rlap{\sl - Inside Back}}%14cm is regular page - %width of PWT -\fi -\vfill -\loadntginfo \ntginfo -\vfill -%Irina, you can include here another half -%page about CyrTUG. -%It should be possible to have both -%info parts on one page. -%Adapt eventually the \hsize. -%---Kees--- -\eject\endgroup - \ifproof\rightline{\rlap{\sl Back - Cover}}\fi - \vskip.75\vsize - \pictures{\cglpic} - $$\cglpic\vbox{% - \hbox to12ex{\hss Thank You\hss} - \hbox to12ex{\hss\cs{bye}\hss}}$$ -}%end \pwtbackcover -%;vrblin1000 -%Defaults -\def\onecol{\maxcols=1 - \hsize=14cm%MOD - \pagewd=\hsize - \colwd=\hsize - \vsize=25cm - \xcol=1 -\hyphenchar\tentt='055 -\hyphenchar\ninett='055 -\hyphenchar\eighttt='055 -\tolerance500 -\hbadness=499 -\hfuzz=7pt -} -\onecol -\tolerance500\hbadness=499\vbadness=500 -\everychapterhead={\catcode`\^=7 } -\everyhead\everychapterhead -\everysubhead\everychapterhead -\everysubsubhead\everychapterhead -\hoffset1cm -\generalindent2pc -\parindent0pt -\subsubheadindent0pt -\parskip\smallskipamount -\chapternumbering{} -\let\regularexample\example -\let\exampleno\relax -\let\contentsno\relax -%\let\coverpic\relax -\let\backcover\relax -\everyverbatim{\emc} -\gutter1em -\def\alfanum{\number} -\prefacename{Preface} -\postfil{\hss} -\def\she{\hskip5em} -\def\sshe{\hskip6em} -\endinput %;nonum -%Table of Contents report format -%Token vars (declared in blue.tex) -% \prefacename -% \bibliographydata -% \chaptertitle -% \prechapterhead -% \postchapterhead -% \headtitle -% \subheadtitle -% \subsubheadtitle -% \prepoint -% \prefil -% \postfil -%Box vars (declared in blue.tex) -% \prefacebox -% \contentsbox -%New dimens (declared in blue.tex) -% \generalindent -% \gutter -% \xshift -% \yshift -% \subsubheadindent -%New counts (declared in blue.tex) -% \headcnt -% \chaptercnt -% \examplecnt -% \exercisecnt -%New writes (declared in blue.tex) -% (opened in \beginscript) -% \toc -% \toe -%Fonts -% \chapterfont\Large.........4 -% \subtitlefont..............5 -%Chapter title matters -% \chapno (manmac) -% \prechapterhead.......102-109 -% \postchapterhead......111-138 -% \beginchapterhead.....140-141 -% \storechaptertitle....143-144 -% \endchapterhead.......146-148 -% \chapterhead..........150-154 -% \setupappendices......156-159 -% \pasteupanswers.......161-165 -% \pasteuptoe...........167-176 -% \pasteuptoc...........178-191 -% \pagenorepresentation.193-194 -%Summary -% \beginsummary (blue.tex) -% \endsummary (blue.tex) -% \summary (blue.tex) -% \beginquote...........252-254 -% \endquote (blue.tex) -%Header matters -%Head -% \beginhead............302-304 -% \storeheadtitle.......306-307 -% \endhead..............309-310 -% \head.................312-315 -% \posthead.............317-324 -%Subhead -% \beginsubhead.........351-353 -% \storesubheadtitle....355-356 -% \endsubhead...........358-359 -% \subhead..............361-364 -% \postsubhead..........366-371 -%Subsubhead -% \beginsubsubhead......401-403 -% \storesubsubheadtitle.405-407 -% \endsubsubhead........409-410 -% \subsubhead...........412-417 -% \postsubsubhead.......419-424 -%Inner markup -% \begindemo (blue.tex) -% yields(blue.tex) -% \enddemo (blue.tex) -% \beginexample.........526-531 -% \storeexampletitle....533-534 -% \endexample...........536-544 -% \example..............546-549 -% \hang.....................553 -% \itemitem.............555-557 -% \textindent...........559-561 -% \exercise.............576-581 -% \answer...............583-587 -% \ansno................589-592 -%Generalized \samplebox -% \point (blue.tex) -% \gbox (blue.tex) -%Centering verbatims -% \boxlines (blue.tex) -% \begincenterverbatim(blue.tex) -% \endcenterverbatim (blue.tex) -%Preliminary pages matter -% \def\beginscript......703-772 -%Closing pages matter -% \endscript............901-903 -% \pwtbackcover.........905-929 -%Auxiliaries -% \beginkeywords........802-803 -% \preacknowledgements..805-806 -% \pasteupacknowledgements808/812 -% \beginpreface.........814-815 -% \endpreface...............817 -% \preface..............819-822 -% \pasteuppreface.......824-825 -% \beginforewordtranslator827/9 -% \endforewordtranslator....831 -% \forewordtranslator...833-836 -% \pasteupforewordtranslator838/9 -% \begincontents........841-847 -% \endcontents..............849 -% \pasteupcontents..........851 -% NTG info (tools.dat) -%Defaults...............1000-10xx -% (\she....................1037 -% \sshe...................1038) -%end Table of Contents -% -%History of changes -%July 95 \immediate\openout\toc=contents -% etc. included in \beginscript -%Jan 95 Creation -%end%%%%%%%%%%%%%%%%%%%%%report%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%trs% -%trs.tex from BLUe's Transparencies -% cgl@rc.service.rug.nl -%Purpose: Preparing transparencies from -% TeX marked up copy. -% ;numvrb -\tool\transparenciesfmt -\message{ ---Transparencies format, Jan 95, - revision March 1996, cgl--- } -\catcode`\@=11 -\font\titlefont =cmr12 - scaled\magstep4\relax -\font\subheadfont =cmr12 - scaled\magstep3\relax -%\font\subsubheadfont=cmr12 -% scaled\magstep2\relax -\font\headlinefont =cmr12 - scaled\magstep1\relax -\let\headfont\titlefont -\font\ffont=cmr7\relax -\let\authorfont\titlefont -\let\subsubheadfont\subheadfont -% -%Rest all in blue.tex -%\font\largerm=cmr12 -% scaled\magstep2 -%etc -%\def\large{\def\rm{\fam0\largerm}% -%etc. -%} -\let\small\tenpoint -% -%Mark up title transparency;vrblin200 -\def\begincontents{\global\setbox - \contentsbox\vbox\bgroup - \leftskip1.5\leftskiptrs - \large\baselineskip3.5ex - \everypar{$\bullet$\enspace} - \obeylines} -% -\def\endcontents{\egroup} -%;vrblin250 -\def\beginscript{\lastscript - \the\everyscript\the\thisscript - \pictures\cglpic - \begincenter - \footline={}\headline={} -\message{\the\title} - {\titlefont\the\title} - \medskip - {\Dash\the\subtitle\Dash} - \bigskip - {\authorfont\the\author} - \medskip\hfil\the\address - \bigskip$$\box\contentsbox$$} -% -\def\endscript{\endcenter\vfill -\rightline{\small\cglpic\vbox{% - \hbox to12ex{\hss Thank You\hss} - \hbox to12ex{\hss\cs{bye}\hss}} -}\vfill\eject\stop -\gdef\bluehead##1\par{\head{##1}} -\gdef\bluesubhead##1\par{\subhead{##1}} -\gdef\bluesubsubhead##1\par{\subsubhead{##1}} -} -% -%Mark up regular transparencies;vrblin300 -\prehead{\nxttrs\headline\regularheadline - \footline\regularfootline\pageno1 - \prehead{\nxttrs}} -% -\posthead{\medskip} -% -\def\beginhead#1\endhead{\the\prehead - \headtitle{#1}\subheadtitle{}% - \subsubheadtitle{}{\headfont#1}% - \the\posthead} -% -\def\head#1{\beginhead#1\endhead} -% ;vrblin350 -\presubhead{\medbreak} -% -\postsubhead{\smallskip\nobreak} -% -\def\beginsubhead#1\endsubhead{% - \subheadtitle{#1}\subsubheadtitle{}% - \the\presubhead{\subheadfont#1}% - \the\postsubhead\thissubhead{}} -% -\def\subhead#1{\beginsubhead#1\endsubhead} -% ;vrblin400 -\presubsubhead{\smallbreak} -% -\postsubsubhead{\smallskip\nobreak} -% -\def\beginsubsubhead#1\endsubsubhead{% - \subsubheadtitle{#1} - \the\presubsubhead{\subsubheadfont#1} - \the\postsubsubhead\thissubsubhead{}} -%added March 1996 -\def\subsubhead#1{% - \beginsubsubhead#1\endsubsubhead} -% -{\obeylines\gdef\bluehead#1 - {\head{#1}}% -\gdef\bluesubhead#1 - {\subhead{#1}}% -\gdef\bluesubsubhead#1 - {\subsubhead{#1}}} -%;vrblin450 -\preverbatim{\leftskip\leftskiptrs - \rightskip0pt plus1fil\relax} -%;vrblin500 -\def\bitem{\bgroup\leftskip\leftskiptrs - \rightskip0pt plus1fil\relax - \def\bitem{\item{$\bullet$}\strut} - \def\smallbreak{\endgraf\egroup - \smallbreak} - \let\smallskip\smallbreak - \bitem} -%enumerate item -\def\eitem{\bgroup\leftskip\leftskiptrs - \rightskip0pt plus1fil\relax - \def\eitem##1{\item{##1}\strut} - \def\smallbreak{\endgraf\egroup - \smallbreak} - \let\smallskip\smallbreak - \eitem} -%;vrblin550 -\let\bgnsyn\beginsyntax -\def\beginsyntax{\bgroup - \leftskip\leftskiptrs - \rightskip0pt plus 1fil\relax\bgnsyn} -% -\let\endsyn\endsyntax -% -\def\endsyntax{\endsyn\egroup} -% -%Header and footer ;vrblin600 -\regularheadline={\line{\vbox to0pt{\vss - \centerline{\titlefont - \strut\the\title} - \vskip2ex - \line{\logo\hfill\vbox{% - \llap{\strut\the\headtitle} - \llap{\strut\the\subheadtitle} - \llap{\strut\the\subsubheadtitle}}} - \vskip1ex - \hrule width\hsize height1pt - }}%end hbox -}%end headline -% ;vrblin650 -\regularfootline={\vbox to 0pt{% -\leftskip0pt\rightskip0pt\relax - \hrule width\hsize height1pt - \vskip.5ex - \line{\small - \rlap{\the\identification}% - \hfil--{\oldstyle\the\pagenumber}--\hfil - \llap{\copyright\the\crowner}% - }\vss}%end vbox -}%end footline -% -%Auxiliaries ;vrblin700 -\def\nxttrs{\vfill\eject} -\def\continue{\vfill - \rightline{\dots continued}\eject} -%Defaults;vrblin900 -\identification{\today} -%\let\small\tenpoint -\def\begincenter{\leftskip0pt plus1fill -\rightskip0pt plus 1fill\parfillskip0pt -\obeylines} \def\endcenter{} -% -\onecol -\hsize=17.5cm \vsize=20cm -\voffset3.5cm%\hoffset-1truecm -\pagewd=\hsize -\pagenumber{\folio} -\leftskiptrs.2\hsize\relax -\rightskiptrs.1\hsize\relax -\overfullrule0pt\parindent0pt -\large -\loadntglogo -\def\logo{\copy\ntglogobox} -\catcode`\@=11 -\endinput %;nonum -%Contents transparencies format -%Fonts -% \titlefont...................5-6 -% \subheadfont.................7-8 -% \subsubheadfont.............9-10 -% \headlinefont..............11-12 -% \authorfont...................15 -% \largerm..............(blue.tex) -% \largeit..............(blue.tex) -% \largesl..............(blue.tex) -% \largesy..............(blue.tex) -% \largeex..............(blue.tex) -% \largebf..............(blue.tex) -% \largett..............(blue.tex) -% \large................(blue.tex) -% \largebig.............(blue.tex) -% \small.......................124 -%Newtoks -% \identification.......(blue.tex) -% \crowner..............(blue.tex) -% \headtitle............(blue.tex) -% \subheadtitle.........(blue.tex) -% \subsubheadtitle......(blue.tex) -%Newskips -% \leftskiptrs, \rightskiptrs..908/9 -%Page size -% \hsize, \vsize...............903 -% offsets......................904 -% \pagewd......................905 -%Markup title -% \begincontents...........201-206 -% \endcontents.................208 -% \beginscript.............251-263 -% \endscript...................265 -%Markup regular transparencies -% \prehead.................301-302 -% \beginhead\endhead.......306-309 -% \head........................311 -% \posthead....................304 -% \presubhead..................351 -% \beginsubhead\endsubhead.355-358 -% \subhead.....................360 -% \postsubhead.................353 -% \presubsubhead...............401 -% \beginsubsubhead -% \endsubsubhead......405-408 -% \subsubhead..............410-411 -% \postsubsubhead..............403 -% \bluehead -% \bluesubhead -% \bluesubsubhead -% \preverbatim.............451-452 -% \bitem...................501-507 -% \beginsyntax.............552-554 -% \endsyntax...................558 -%Header and footer -% \headline................601-615 -% \footline................651-660 -% \identification..............901 -%Auxiliaries -% \nxttrs......................701 -% \continue................702-703 -% \begincenter (blue.tex) -% \endcenter...(blue.tex) -% \center......(blue.tex) -%Personalisation (blue.tex) -%Defaults -% \logo........................913 -% \pagenumber..................906 -% \onecol......................907 -% \hsize,\vsize................903 -% \leftskiptrs.................908 -% \rightskiptrs................909 -% \large.......................911 -%History of changes -%March 1996 \bluehad etc. added -%Jan 1995 As format with blue.tex -%Aug 1994 Centering markup automated -%Jul 1994 \contentsbox is used -% \pagenumber introduced -%Jun 1994 More consistent with -% blue.tex. -% \small is \eightpoint. -% \begincontents...\endcontents -%Feb 1994 Release Version 1.0 -%Example of use -%\bluetitle Manmac BLUes -% -%\bluesubtitle how to typeset a book via \TeX -% -%\contents{ -%User's guide -%Coding -%} -% -%\beginscript -%\bluehead Why? -% -%To return to the roots... - -%\bluehead User's Guide -% -%Relative numbering -%\pagenumber{U\folio}\pageno=1 -%... -%\nxttrs %Next transparency -%\bluesubsubhead Markup paragraphs -% -%... -%\continue%Continuation on next slide -%... -%\bluehead Conclusions -% -%\pagenumber{--x--} -%\bitem... -%\bitem -%\smallbreak -%\vfil -%\rightline{\vtop{\hbox{Thank you} -% \hbox{\cs{bye}}}} -%\endscript -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%trs%!cgl -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%trs% -%Preprint for BLUe's Transparencies -% cgl@rc.service.rug.nl -%Purpose: Printing transparencies from -% TeX marked up copy in A6, -% 4 on each page. -% ;numvrb -\tool\transparenciespptfmt -\message{ ---Transparencies A6 proof format, May 95, - cgl--- } -\hfuzz=25pt \vfuzz=25pt -\font\titlefont=cmbx10 -\font\headfont=cmr10 -\let\subheadfont\headfont -\let\headlinefont\titlefont -\font\ffont=cmr5 -\let\authorfont\headfont -\let\subsubheadfont\subheadfont -% -%Mark up title transparency;vrblin200 -\def\begincontents{\setbox - \contentsbox\vbox\bgroup - \baselineskip3ex\null\vfil - \everypar{$\bullet$\enspace} - \obeylines\parindent1em} -% -\def\endcontents{\egroup} -%;vrblin250 -\def\beginscript{\lastscript - \the\everyscript\the\thisscript - \leavevmode\noindent - \setbox\trsppt=\vbox to.475\vsize - \bgroup\hsize.475\hsize\parindent2em - \null\vfil - \titlefont\the\title - \smallskip\subtitlefont - \Dash\the\subtitle\Dash - \medskip\let\\\par - \authorfont\the\author - \smallskip\the\address - \medskip$$\box\contentsbox$$} -% -\def\endscript{\vss -\rightline{\small\cglpic\qquad} -\vss -\line{\strut\hss--\the\trsno--\hss}\egroup -\boxit{\box\trsppt}\endgraf -\vfill\eject\stop} -% -\def\nxttrs{\vfil\kern3ex -\ifnum\trsno>0 \line{\strut\hss - --\the\trsno--\hss}\fi -\egroup -\boxit{\box\trsppt}\advance\trsno1 -\ifodd\trsno\kern3ex\else - \hfil\break\vfil\noindent\fi -\setbox\trsppt=\vbox to.475\vsize\bgroup -\hsize.475\hsize\parindent2em\null\par\noindent} -% -%Mark up regular transparencies;vrblin300 -\prehead{\nxttrs\trsno1 \medskip\noindent\hfil - \global\prehead{\nxttrs\medskip\noindent\hfil}} -% -\posthead{\medskip\noindent} -% -\def\beginhead#1\endhead{\the\prehead - \headtitle{#1}\subheadtitle{}% - \subsubheadtitle{}{\headfont#1}% - \the\posthead} -% -\def\head#1{\beginhead#1\endhead} -% ;vrblin350 -\presubhead{\medbreak\noindent\hfil} -% -\postsubhead{\smallskip\nobreak} -% -\def\beginsubhead#1\endsubhead{% - \subheadtitle{#1}\subsubheadtitle{}% - \the\presubhead{\subheadfont#1}% - \the\postsubhead\thissubhead{}} -% -\def\subhead#1{\beginsubhead#1\endsubhead} -% ;vrblin400 -\presubsubhead{\smallbreak\noident\hfil} -% -\postsubsubhead{\smallskip\nobreak} -% -\def\beginsubsubhead#1\endsubsubhead{% - \subsubheadtitle{#1} - \the\presubsubhead{\subsubheadfont#1} - \the\postsubsubhead\thissubsubhead{}} -% -\def\subsubhead#1{% - \beginsubsubhead#1\endsubsubhead} -%;vrblin450 -\preverbatim{} -%;vrblin550 -% -%Header and footer ;vrblin600 -\headline={\hbox to\pagewd{\titlefont - \hss\the\title\hss} -}%end headline -% ;vrblin650 -\footline={\hbox to\pagewd{% - \rlap{\fiverm\strut\the\identification}\hss - \llap{\fiverm\copyright\the\crowner}}% -}%end footline -% -%Auxiliaries ;vrblin700 -\catcode`\@=11 -\def\fivepoint{\def\rm{\fam0\fiverm}% - \textfont0=\fiverm \scriptfont0=\fiverm - \scriptscriptfont0=\fiverm - \textfont1=\fivei \scriptfont1=\fivei - \scriptscriptfont1=\fivei - \textfont2=\fivesy \scriptfont2=\fivesy - \scriptscriptfont2=\fivesy - \textfont3=\tenex \scriptfont3=\tenex - \scriptscriptfont3=\tenex - \def\it{\fam\itfam\fivei}\def\oldstyle - {\fam1 \fivei}\textfont\itfam=\fivei - \def\sl{\fam\slfam\fivei}% - \textfont\slfam=\fivei - \def\bf{\fam\bffam\fivebf}% - \textfont\bffam=\fivebf - \scriptfont\bffam=\fivebf - \scriptscriptfont\bffam=\fivebf - \def\tt{\fam\ttfam\fiverm}% - \textfont\ttfam=\fiverm - \tt \ttglue=.5em plus.25em minus.15em - \normalbaselineskip=7pt plus1pt minus1pt - \def\MF{{\manual opqr}\-{\manual stuq}}% - \let\sc=\fivexrm - \let\big=\fivebig - \setbox\strutbox=\hbox{\vrule height7pt - depth2pt width\z@}% - \normalbaselines\rm} - \def\fivebig#1{\hbox{$\left#1\vbox to4.5pt{}\right.\n@space$}} -\catcode`\@=12 -% -\def\continue{\vss - \rightline{\dots continued}\nxttrs} -%Defaults;vrblin900 -\identification{\today} -\onecol -\hsize=18.5cm \vsize=25cm -\pagewd=\hsize -%\pagenumber{\folio} -\let\small\fivepoint -\overfullrule0pt -\parindent0pt -\obeylines -\endinput diff --git a/macros/blu/lit.dat b/macros/blu/lit.dat deleted file mode 100644 index 4381b28d42..0000000000 --- a/macros/blu/lit.dat +++ /dev/null @@ -1,2375 +0,0 @@ -%Database of EP related literature, to be processed by blue.fmt. -%Version Aug 1994 -%Files: lit.dat (data this file) -%C.G. van der Laan, Hunzeweg 57, 9893PB, Garnwerd, The Netherlands -% 05941-1525, cgl@rc.service.rug.nl -%Note: Don't include blank lines! (TeX ends paragraphs then and will -% disturb your typeset list of references.) -% Don't use \verb|...| or so for verbatims (catcodes are fixed once read) -%Auxiliary macros -%\def\thepage{\folio} %Necessary when with tugboat.sty -%\def\tubissue#1(#2){\TUB~#1, no.~#2}%To be independent from tugboat.sty c.q. - % ltugboat.sty. -%Conventions entries -%\def\ %Key for database, add a, b, ... -% { (): %All with minimal interpunction -% %No discrimination -% <source> %ISBN for books in here, pages as range -% \annotation{<Comments, annotations.>}% <numbers>\dash<numbers> -%}%end entry -% -%Data -\lst\aap - {Association of American Publishers (1989): - Markup of Tabular Material. - Version 2.0 AAP Inc. -} -\lst\aapstd - {Association of American Publishers (1987): - Standard for electronic manuscript preparation and markup. - AAP inc. - \annotation{Association of American Publishers, - 2005 Massachusetts Avenue, NW. Washington, DC 20036, - Phone: (202) 232-3335.} -} -\lst\aapaut - {Association of American Publishers (1989): - Author's guide to electronic manuscript preparation and - markup. - AAP inc. (2$^{nd}$ version.) -} -\lst\aapref - {Association of American Publishers (1989): - Reference manual on electronic manuscript preparation and markup. - AAP inc. - (2$^{nd}$ version.) ISBN 1-55653-084-6. -} -\lst\aaptab - {Association of American Publishers (1989): - Markup of tabular material. - AAP Inc. ISBN 1-55653-085-4. - (2$^{nd}$ version.). -} -\lst\aapmat - {Association of American Publishers (1989): Markup of - Mathematical Formulas. - AAP Inc. EPSIG. - (2$^{nd}$ version.) -} -\lst\abrahamspw - {Abrahams P.W (1990): \TeX\ for the impatient. - Addison-Wesley. -} -\lst\adobeb - {Adobe (1985): - PostScript Language Reference Manual. - Addison-Wesley. ISBN 0-201-10174-2. -} -\lst\adobeA - {Adobe Magazine (1995): - The Technology of type. - Adobe Magazine, 2, 16\dash19. - (A nice survey of the outline fonts in relation to truetype.) -} -\lst\ahoav - {Aho A.V, R. Sethi (1988): - Maintaining Cross-references in Manuscripts. - Softw.Pract.exp., 18, 1, 1\dash14. -} -\lst\alexanderjc - {Alexander J.C (1986): - Tib, a reference setting package. - \tubissue{ 7}(3), 138\dash139. - \annotation{An update note is in \tubissue{8}(2), 102. - A C program inspired upon troff's refer (and its successor bib). - It is a preprocessor tailored for use with (All)\TeX. - It allows for a few citation styles, and a publisher can extend these. - It provides also for a powerful word-definition citation search. - Flexible in general. - Tagging of the entries a la refer has to be obeyed. - From the UKTuG meeting of 1990 the following characteristics. - It consists of: - tibdex, a hashing program to speed up access to - large collections of citations, by creating an index to the bibliography; - tiblist, to format and print the database; - looktib, a program to query the database; - tib, main program goes through the source document and looks for - keywords between [ and ]. - Advantages: 1-pass, pattern-matching citation no need to invent unique - key, compatible with UNIX refer databases, - good toolbox of style elements, single index - of bibliographies, formatting more-closely related to \TeX. - Disadvantages: pre-processor system, possible wrong matches, possible errors - in repeated citations, non-algorithmic style language, left up to Tib - to work out citation type, lack of extensibility in field, - not very robust (crashes).} -} -%\lst\amsa {AMS (1989): AMS-\LaTeX. AMS.} -\lst\amsb - {AMS (1991): - A look inside the AMS. - \annotation{A nice brochure of what AMS is all about.} -} -\lst\amsc - {AMS (1991): - Think about publishing with the AMS. - \annotation{Another nice brochure about the merits of - publishing with AMS: effective marketing, extensive promotion, world-wide - distribution, better sales, longer life of book, royalties, support - worthwhile noncommercial activities for the benefit of the scientific - community at large, for example the \TeX\ project.} -} -\lst\amsd - {AMS (1993): - \AmSTeX\ User's Guide 2.1. -} -\lst\amse - {AMS (1993): - \AmSTeX\ Installation Guide 2.1. -} -\lst\amsf - {AMS (1993): - \AmS-\LaTeX\ User's Guide 1.1. -} -\lst\amsg - {AMS (1993): - \AmS-\LaTeX\ Installation Guide 1.1. -} -\lst\amsh - {AMS (1993): - AMSfonts. User's Guide 2.1. -} -\lst\amsi - {AMS (1993): - AMSfonts. Installation Guide 2.1. -} -\lst\amsj - {AMS (1993): - Guidelines for preparing electronic manuscripts. - \AmSTeX\ (booklet, 52p), and the mirrored one - \AmS-\LaTeX\ (booklet, 58p). - \annotation{The first is very well-done. - I have not seen a guideline of similar quality of yet! - Simply the best available. Much experience is embodied to learn from. - The second is verbose, incomplete, and deals at length with issues - an author should not be bothered with.} -} -\lst\amsteljja - {Amstel J.J van, J Bomhoff, G.J Schoenmakers (1978): - Inleiding tot het programmeren 1. - Academic Service. -} -\lst\appeltwa - {Appelt W (1987): - Macros with keyword parameters. - \tubissue{8}(2), 284\dash287. -} -\lst\appeltwb - {Appelt W (1988): - Typesetting Chess. - \tubissue{9}(3), 284\dash287. -} -\lst\appeltwc - {Appelt W (1988): - \TeX\ f\"ur Fort\-geschrit\-tene\-\Dash - Pro\-gram\-mier\-tech\-ni\-ken und Makro\-pa\-kette. - Addison-Wesley. -} -\lst\appeltwd - {Appelt W (1988): - Introduction to \TeX. Addison-Wesley. -} -\lst\aps - {APS (1992): - The REV\TeX{} input guide. - (From the file server.) -} -\lst\arsenaud - {Arsenau D (1992): - overcite.sty, drftcite.sty, citesty. - (From the file server. - No longer needed when BLUe's Bib, especially as part of blue.fmt, - is used.) -} -\lst\arsenaudb - {Arsenau D (1993): - Typesetting paragraphs of a specified shape. - MAPS 93.2, 191\dash193. -} -\lst\asher - {Asher (1992): - Inside Type \& Set. - \tubissue{13}(1), 13--22. -} -\lst\aurbachrl - {Aurbach R.L (1987): - Automatic Index Generation for \LaTeX. - \tubissue{8}(2), 201\dash209. - \annotation{The IdxTeX program provides the external processing - and generates a file of \LaTeX{} source which may be included - in a document to produce the desired index.} -} -\lst\batageljv - {Batagelj V (1994): - Combining \TeX{} and PostScript. - Proceedings Euro\TeX{} 94, 83\dash90. -} -\lst\barlettfh - {Barlett F.H (1991): - Contra-\LaTeX, or what really works in the publishing world. - TUG '91. \tubissue12(3), 367\dash371. -} -\lst\barrond - {Barron D (1989): Why use SGML? - Electronic publishing, 2,1, 3--24. -} -\lst\bechtolsheimsa - {Bechtolsheim S. von (1988): - Tutorial on \cs{futurelet}. - \tubissue{9}(3), 276\dash278. -} -\lst\bechtolsheimsaa - {Bechtolsheim S von (1988): - Using the emacs editor to savely edit \TeX\ sources. - \TeX niques 7, 195\dash202. -} -\lst\bechtolsheims - {Bechtolsheim S von (1989): - \cs{csname} and \cs{string}. - \tubissue{10}(2), 203\dash206. - \annotation{Apart from the basics, SvB discusses the convenient - (read non-double) loading of macro files, and - the cross-referencing. Common to both applications is the use - of \cs{csname} and \cs{string}. No nesting of \cs{csname}, - and no mentioning of associating \cs{csname} with arrays.} -} -\lst\bechtolsheimsb - {Bechtolsheim S von (1993): - \TeX\ in Practice. - 1.~Basics - 2.~Paragraphs, Math and Fonts - 3.~Tokens, Macros - 4.~Output Routines, Tables - Springer-Verlag. -} -\lst\beebenhfa - {Beebe N.H.F (1988): - A \TeX\ driver family. - \TeX niques 5, 71\dash113. -} -\lst\beebenhfb - {Beebe N.H.F (1989): - \TeX\ and graphics: The state of the problem. - Cahiers GUTenberg, 2, 13\dash53. -} -\lst\beebenhfc - {Beebe N.H.F (1991): - The TUGlib server. - MAPS 91.2, 117\dash123. - (Also \TeX line 11.) -} -\lst\beebenhfd - {Beebe N.H.F (1992): - \LaTeX\ Editing Support. - MAPS 92.1, 91\dash114. -} -\lst\beebenhfe - {Beebe N.H.F (1993): - Bibliography prettyprinting and syntax checking. - \tubissue{14}(3/4), 222, respectively ?\dash?. -} -\lst\beetonbn - {Beeton B.N (editor, 1991): - TUG Resource Directory. - \annotation{It contains: TUG membership list, - \TeX\ User Associations, - Sources of \TeX\ software, - Output Device Drivers, - \TeX\ archives, - Electronic Discusion Lists, - \TeX\ bibliography.} -} -\lst\beetonbnb - {Beeton B.N (1990): - \TUB{} production: \TeX, \LaTeX, and paste-up. - SGML-\TeX{} meeting, Groningen. \annotation{Unpublished} -} -\lst\bell - {Bell System Technical Journal (1978): - UNIX Time Sharing System. - BTJ, Vol 57, 6, part 2. -} -\lst\bentleyjla - {Bentley J.L (1986): - Programming Pearls. - ISBN 0-201-10331-1. Addison-Wesley. -} -\lst\bentleyjlb - {Bentley J.L (1988): - More programming Pearls---confessions of a coder. - ISBN 0-201-11889-0. Addison-Wesley. -} -\lst\berryka - {Berry K (199?): - Expanded plain \TeX. - From the file server. - \annotation{A toolbox to cooperate with Any\TeX. It contains - a fancy cross-referencing scheme, and left justification - of math displays, among others. An announcement of - the availability of the toolbox\Dash and its contents\Dash - has appeared in \tubissue{11}(4), 571\dash572.} -} -\lst\bestr - {Best R (1993): - \TeX\ zonder omhaal; voor ATARI PC en andere PCs. - MAPS 93.1\&2, 57\dash68, resp.~111\dash114. - MAPS 94.1\&2, 31\dash34, 35\dash36, resp.~43\dash44. - (Also ATARI-ST Journal.) -} -\lst\bienzt - {Bienz T, R Cohn (1993): - Portable Document Format Reference Manual. - Adobe Systems Inc. Addison-Wesley. ISBN 0-201-62628-4. -} -\lst\bleekerj - {Bleeker J (1989): Electronische verzending, - bewerking en opslag van wetenschappelijke artikelen. - In: SGML de consequenties. - De eerste Nederlandse SGML conferentie. - SGML User's Group Holland. (Dutch) -} -\lst\bloemenpa - {Bloemen P (1993): - 4all\TeX: NTG's \TeX{} for MS-DOS. - MAPS 93.2, 141\dash154. - \annotation{The announcement of this working environment. For simple users only - 1 HD flop, and in its full glory over 30 HD floppies. Available - from NTG's shop. Shareware.} -} -\lst\bloemenpb - {Bloemen P (1993): - Shells for \TeX. - MAPS 93.2, 155\dash159. - (It discusses \TeX Shell and 4\TeX.) -} -\lst\bloemenpc - {Bloemen P (1994): - \PS{} fonts in \TeX. - MAPS 94.2, 139\dash148. -} -\lst\bodenheimerb - {Bodenheimer B (?): - Frequently asked questions. - comp.text.tex newsgroup. - (Adapted by Van Oostrum in MAPS 91.1, 85\dash92.). -} -\lst\boothv - {Booth V (1975): Writing a scientific paper. - The Biochemical Society, London. -} -\lst\borceuxf - {Borceux F (1990): De la construction de diagrammes. - Cahiers GUTenberg, 5, 41\dash48. -} -\lst\botwaylc - {Botway L, C Biemesderfer (198?): - \LaTeX\ command summary. - \TeX niques 10. -} -\lst\braamsjl - {Braams J.L (1991): - Babel, a multilingual style-option system for use with \LaTeX's standard - document styles. - \tubissue{12}(2), 291\dash301. - (Pre-release MAPS 91.1; - updated \tubissue{14}(1), 60\dash61.) -} -\lst\braamsjla - {Braams J.L, V Eijkhout, N.A.F.M Poppelier (1990): - The development of national \LaTeX\ styles. - \tubissue{10}(3), 401--406. -} -\lst\braamsjlb - {Braams J.L (1991): - Babel, a multilingual style-option system - for use with \LaTeX's standard document styles. - \tubissue{12}(2), 291--301. - (Early version in MAPS 91.1.) -} -\lst\bridge - {BRIDGE. Monthly of the NBB (Dutch Bridge Union). -} -\lst\brueggemana - {Br\"uggemann-Klein A, D Wood (1989): - Drawing trees nicely with \TeX. - EP-ODD, 2, 2, 101\dash115. - (Also in \TeX\ Applications, Uses and Methods, Malcom Clark, editor.) -} -\lst\bruinr - {Bruin R de, C.G van der Laan, J.R Luyten, H.F Vogt (1988): - Publiceren met \LaTeX. - CWI Syllabus 19. - (See also Addendum `Publiceren met \LaTeX' in MAPS 92.1.) -} -\lst\bryanma - {Bryan M (1988): - SGML, an Author's Guide to the Standard - Generalized Markup Language. - Addison-Wesley. -} -\lst\bryanm - {Bryan M (1993): - A \TeX{} user's guide to ISO's Documentstyle Semantics and Specification - Language (DSSSL). - Proceedings TUG '93. \tubissue{14}(3), ?\dash?. -} -\lst\buergerd - {B\"urger D (1990): - \LaTeX\ for scientists and engineers. MC Graw-Hill. -} -\lst\bzylw - {Bzyl W, T Przechlewski (1993): - An application of literate programming: creating a format for the Bulletin - of the Polish TUG. - TUG '93. \tubissue{14}(3), 296\dash299. - \annotation{Very promising this using of the experience embodied in {\tt tugboat.sty} - via transformation into Web and modify this with GUST's mods via - change files. As a bonus there is an index. - Handy to locate commands, but it won't help to locate - the various @begin$<foo>$ commands because these are invoked via - csnames.} -} -\lst\cameronpj - {Cameron P.J (1990): - Adventures of a new \TeX nician. - \TeX line 12, 2\dash3. -} -\lst\carlisleda - {Carlisle D (1992): - longtable.sty. - From the fileserver. -} -\lst\chemtex - {Chem-\TeX (?): - From the file server. -} -\lst\chenp - {Chen P, M Harrison (1987): - Automatic index preparation. - CSB-TR 87/347. UCB. - \annotation{A nice survey of issues relevant to preparing indexes - automatically. Existing indexing tools in use in various systems - are discussed. The paper emerged from the experience gained in writing - the makeindex C program.} -} -\lst\cheswickb - {Cheswick B (1990): - A permuted index for \TeX\ and \LaTeX. - CSR 145. AT\&T. - (Also \TeX niques 14. Handy for looking up if a command is already in use.) -} -\lst\childsba - {Childs B (1989): - Teaching \TeX. - \tubissue{10}(2), 156\dash163. -} -\lst\childsbb - {Childs, B (1989): - Answers to \TeX\ tests. - \tubissue{10}(3), 319\dash323. -} -\lst\clarkaa - {Clark A.F (1987): - Halftone output from \TeX. - \tubissue{8}(3), 270\dash274. -} -\lst\clarkma - {Clark M (1987): - More symbols for \TeX. - \TeX line 5, 7\dash8. -} -\lst\clarkmaa - {Clark M (1988): - A note comparing \TeX\ to SGML. - SGML User's Group Bulletin, 3, 2, 67\dash68. -} -\lst\clarkmab - {Clark M (1988): - A note comparing \TeX\ to SGML. - SGML User's Group Bulletin, 3, 2, 67\dash68. -} -\lst\clarkmac - {Clark M (1989): - \TeX\ and/or SGML. - Proceedings Euro\TeX89. Karls\-ruhe. - \annotation{Context sensitivity as a tool for checking - input correctness is stressed; - an example of how to do this within \TeX\ - is given.} -} -\lst\clarkmb - {Clark M (editor, 1990): - \TeX\ applications, uses and methods. - Proceedings of Euro\TeX\ '88. - Ellis Horwood. ISBN 0-13-912296-6. -} -\lst\clarkmc - {Clark M (1992): - Portable Graphics in \TeX. - Proceedings TUG '92. \tubissue{13}(3), 253\dash260. - (Also as chapter 17 in his \TeX\ Primer.) -} -\lst\clarkmd - {Clark M (1992): - A plain \TeX\ primer. - Oxford University Press. 480p. -} -\lst\cms - {The Chicago manual of style (1982). - University of Chicago Press. -} -\lst\coffings - {Coffin G.S (1954): Bridge Plays: - Four classics. Faber and Faber. London. -} -\lst\commacm - {Comm ACM (1988): - Special Issue: Hypertext. - Comm. ACM, 88, 31, 7. - \annotation{It contains: - An overview of hypertext, by J.B Smith, S.F Weiss; - KMS: A distributed hypermedia system for managing knowledge in - organizations, by R.M Akscyn, D.L McCracken, E.A Yoder; - Reflections on notecards: seven issues for the next generation of - hypermedia systems, by F.G Halasz; - HAM: A general purpose hypertext abstract machine, by B Campbell, J.M - Goodman; - Abstraction mechanisms in hypertext, by P.K Carg; - Hypertext and the new Oxford dictionary, by D.R Raymond, F.W Tompa; - Searching for information in a hypertext medical handbook, by - M.E Frisse; - Hypertext '87: Keynote address, by A van Dam. - There are conferences devoted to the subject at least each year.} -} -\lst\coombsjh - {Coombs J.H, A.H Renear, S.J DeRose (1987): - Markup systems and the future of scholarly text processing. - Comm. ACM, 30, 11, 933\dash947. -} -\lst\cowanrf - {Cowan R.F (1985): - Making tables with macros. tables.tex \& tabledoc.tex. - (Available from file servers.) -} -\lst\crowhurste - {Crowhurst E (1986): - ACOL in competition. Pelham. London. -} -\lst\damrauj - {Damrau J, M Wester (1991): Form letters with 3-across - labels capability. TUG '91. \tubissue{12}(4), 510\dash516. -} -\lst\dobrowolskiae - {Dobrowolski A, E (1992): - Typesetting SGML documents using \TeX. - Proceedings TUG '92. \tubissue{12}(4), 409\dash414. -} -\lst\dolw - {Dol W, E.H.M Frambach, M van der Vlerk (1993): - 4\TeX: a \TeX\ workbench for MS-DOS PCs. - MAPS 93.1, 53\dash56. -} -\lst\dolwb - {Dol W (1993): - The ease of including graphics in \TeX{} documents using 4\TeX. - MAPS 93.2, 171\dash176. -} -\lst\dolwc - {Dol W, E.H.M Frambach, S Kroonenberg, M van der Vlerk (1994): - \TeX{} \& 4\TeX{} Guide. - (Booklet to accompany NTG's 4All\TeX{} CD-ROM.) -} -\lst\doobma - {Doob M (1990): - A gentle introduction to \TeX. - \TeX niques 12. - (Also from the file server, as is my review.) -} -\lst\doobmb - {Doob M, C Platt (1993): - Virtual fonts in a production environement. - TUG '93. \tubissue{14}(3), 275\dash281. -} -\lst\doumontjl - {Doumont J.L (1994): - Pascal pretty-printing: - an example of `preprocessing within \TeX.' - Proceedings TUG '94. \tubissue{15}(3), 167\dash173. -} -\lst\downesmja - {Downes M.J. (1991): - Dialogue with \TeX. - Proceedings TUG '91. \tubissue{12}(4), 502\dash509. -} -\lst\drilcon - {DRILCON (1990): A program for conversion between \TeX\ and wordprocessors. - KUB. The Netherlands. - (It uses an intermediate language.) -} -\lst\duchierd - {Duchier D (1990): - \TeX, ex\-ter\-nal tensor pro\-duct. - \TeX HaX 90.20. -} -\lst\dunna - {Dunnr A (1987): - Using \PS{} with \TeX. - \tubissue{8}(2), 171\dash173. -} -\lst\durstlka - {Durst L.K (1989): Bibliographic citations, or variations - on the old shell game. \tubissue{10}(3), 390\dash394. - \annotation{It discusses how to cope with \TeX ing a bibliography. BLUe's Bib - has undoubtedly been influenced by this work, because I read it - at least a year before creating BLUe's Bib. Durst does not use the - list separator \TeX nique, and therefore the encoding is a little more - complex. Also the writing to a file and the external sorting makes it - more cumbersome. In the paper it is not worked out how to use it within - one of \TeX's flavours. - The basic approach is very similar to mine, however.} -} -\lst\durstlkb - {Durst L.K (1990): - Long-winded endnotes and exercises with hints or solutions. - \tubissue{11}(4), 580\dash588. - \annotation{A comment is given in Hefferon (1991): Getting {\tt\char92answers} - in \TeX.} -} -\lst\durstlkc - {Durst L.K (1991): - Some tools for making indexes: Part I. - \tubissue{12}(2), 248\dash258. -} -\lst\dysonmc - {Dyson M.C (1992): - The curriculum as a hypertext. - EP-ODD, 5, 2, 63\dash72. -} -\lst\dysonmcb - {Dyson M.C (1993): - Teaching digital typography\Dash the Didot project. - TUG '93. \tubissue{14}(3), 329\dash332. - (Also MAPS 93.2, 216\dash218.) -} -\lst\eijkhoutva - {Eijkhout V (1990): - Unusual paragraph shapes. - \tubissue{11}(1), 51\dash53. -} -\lst\eijkhoutvb - {Eijkhout V (1990): - An indentation scheme. - \tubissue{11}(4), 613\dash616. - (Also MAPS 90.2.) -} -\lst\eijkhoutvc - {Eijkhout V (1990): - A {\tt\char92parskip} scheme. - \tubissue{11}(1), 616\dash619. - (Also MAPS 90.2.) -} -\lst\eijkhoutvd - {Eijkhout V (1992): - \TeX\ by Topic. Addison-Wesley. -} -\lst\eijkhoutve - {Eijkhout, V (1993): - The bag of tricks. \tubissue{13}(4), 494\dash495. - (It is about how to layout a macro. What I like most of it is the - summary of how to counteract unwanted spaces. At the end the important - difference between the \cs{ifUndefinedCS} and \cs{if}\cs{UndefinedCS} - has been treated.) -} -\lst\einarssonb - {Einarsson B, W.M Gentleman(1984): - Mixed Language programming. - Soft.Prac.Exp., 14, 4 383\dash396. -} -\lst\eppsteind - {Eppstein D (1985): - Trees in \TeX. - \tubissue{6}(1), 31\dash37. -} -\lst\fergusonmj - {Ferguson M.J (1991): - INRS-\TeX\ (new version). - (See also his multilingual reports, \tubissue{11}(4), 514\dash515) -} -\lst\fineja - {Fine J (1992): Some basic control macros for \TeX. - \tubissue{13}(1), 75\dash83. -} -\lst\floydrw - {Floyd R.W (1978): The paradigms of programming. - Comm ACM ?\dash?. - Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. - ACM Press. Addison-Wesley IBN 0-201-07794-9. - \annotation{} -} -\lst\furutar - {Furuta R, J Scofield, A Shaw (1982): - Document Formatting Systems: Survey, Concepts, and Issues. - Computing Surveys, 14, 3, 417\dash472. -} -\lst\genussapl - {Genussa P.L (1987): - Document Preparation Method - of the United States Aire Force - Automated Technical Order System. - SGML Users' group. Bulletin 2, 1. -} -\lst\gibbonsj - {Gibbons J (1993): - Footnotes with verbatim material. - TTN, 2, 4, p.9. - \annotation{\LaTeX's footnote implementation has been modified to allow also for - verbatims similar to plain's encoding. Basically it comes down to handling - the `argument.' Really nice.} -} -\lst\glendowng - {Glendown G (1990): Round boxes for plain \TeX. - \tubissue{10}(3), 385--386. -} -\lst\goossensma - {Goossens M (1993): - POSTSCRIPT en \LaTeX, de komplementariteit in de praktijk. - MAPS 93.1, 101\dash113. -} -\lst\goossensmb - {Goossens M, F Mittelbach, A Samarin (1993): - The \LaTeX-companion. Addison-Wesley. -} -\lst\goossensmc - {Goossens M, F Mittelbach, A Samarin (1993): - Customizing \LaTeX's lists. - MAPS 93.2, 177\dash183. -} -\lst\goossensmd - {Goossens M, S.P.Q Rahtz (1994): - Colour slides with \LaTeX{} and Seminar. - Baskerville, 4,1, 8\dash12. -} -\lst\goossensme - {Goossens M, S.P.Q Rahtz (1994): - Simple colour design and colour in \LaTeX2$\epsilon$. - Euro\TeX, 196\dash205. -} -\lst\grahamrla - {Graham R.L, D.E Knuth, O Pastashnik (1989): - Concrete Mathematics. Addison-Wesley. - \annotation{The macros for formatting this book are available from the - CTAN and known as gkpmac.tex.} -} -\lst\greeni - {Green I (1992): - citesort.sty. - (From the file server.) -} -\lst\greeneam - {Greene A.M (1989): - \TeX reation\Dash Playing Games with \TeX's mind. - \tubissue{10}(4), 691\dash705. -} -\lst\greenwadegd - {Greenwade G.D (1993): - The Comprehensive \TeX\ Archive Network\Dash CTAN. - TUG '93. \tubissue{14}(3), 342\dash351. - (Also MAPS 93.2, 133\dash140.) -} -\lst\griesd - {Gries D (1983 snd printing): - The science of programming. - Springer-Verlag. ISBN 0-387-90641-x. -} -\lst\grootenhuisj - {Grootenhuis J (1990): - Typesetting SGML coded Mathematics. - Paper presented at Markup'90. Charleston. -} -\lst\guittetc - {Guittet C (1986): - FORMEX: une mise en practique des normes internationales. - SGML user's group. Bulletin, 1, 2. -} -\lst\gurariema - {Gurari E.M (1989): - An introduction to the theory of computation. - Computer Science Press. -} -\lst\gurariemb - {Gurari E.M (1994): - \TeX{} \& \LaTeX\Dash Drawing \& Literate Programming. - Mc Graw Hill. ISBN 0-07-025208-4. -} -\lst\gurariemc - {Gurari E.M (1994): - Writing with \TeX. - Mc Graw Hill. ISBN 0-07-025207-6. -} -\lst\hafnerja - {Hafner J (1992): - Foil\TeX, a \LaTeX-like system for typesetting foils. - \tubissue{13}(3), 347\dash356. -} -\lst\hagenja - {Hagen J, A.F Otten (1994): - PPCH\TeX: Chemische structuur formules in \TeX. - MAPS 94.2, 167\dash177. -} -\lst\hagenjb - {Hagen J (1994): - Een meertalige interface naar \TeX. - MAPS 94.2, 178\dash182. -} -\lst\hagenjc - {Hagen J (1994): - Sub- en Superscripts in Chemische Formules. - MAPS 94.2, 183. -} -\lst\hamiltonb - {Hamilton Kelly B (1989): - The autodoc-option. - \tubissue{10}(2), 274\dash284. -} -\lst\hamiltonba - {Hamilton Kelly B (1990): - Some macros to draw crosswords. - \tubissue{11}(1), 103\dash119. -} -\lst\hamiltonh - {Hamilton H (1989): - Mastering \TeX{} with templates. - TUG '89. \tubissue{10}(4), 541\dash548. - \annotation{It has all to do with learning by example.} -} -\lst\hammingrw - {Hamming R.W (1978): One man's view of computer science. - Comm ACM ?\dash?. - Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. - ACM Press. Addison-Wesley IBN 0-201-07794-9. - \annotation{} -} -\lst\haralambousy - {Haralambous Y (1992): - \TeX\ conventions concerning languages. TTN, 1, 4, 3\dash10. -} -\lst\heckelp - {Heckel P (1982): - The elements of friendly software design. - Warner Books. ISBN 0-446-38040-7. -} -\lst\hemelj - {Hemel J, C.G van der Laan, R.C.G.M Lauwerier (1989): - Het maken van transparanten voor overhead-projectie. - RC-Rapport 23. - \annotation{In this report a set of 4 characteristic transparencies---a drawing, - a bar-chart, a pie-chart, - a list of items with some formulas---is selected, - and the aspects which come along when making these by hand, - by Wordperfect, or by \LaTeX, are discussed. The results are shown and - the needed amount of work for each approach is summarized among others.} -} -\lst\hendersonda - {Henderson D (1989): - Outline fonts with METAfont. - \tubissue{10}(1), 36\dash38. -} -\lst\hendersondb - {Henderson D (1989): - Introduction to METAfont. - \tubissue{10}(4), 467\dash480. -} -\lst\hendricksonaa - {Hendrickson A (1985): - Some diagonal line hacks. - \tubissue{6}(2), 83\dash86. - \annotation{The macros go wrong for (nearly) vertical lines.} -} -\lst\hendricksonab - {Hendrickson A (1989): - Macro\TeX. -} -\lst\hendricksonac - {Hendrickson A (1990): - Getting \TeX nical: Insights into \TeX\ macro writing \TeX niques. - \tubissue{11}(3), 359\dash370. -} -\lst\hendricksonax - {Hendrickson A (priv.\ comm.). -} -\lst\henricip - {Henrici, P (1977): Applied and computational complex analysis. - II. Special functions, integral transformations, asymptotics, continued - fractions. John-Wiley. -} -\lst\herwijnenea - {Herwijnen E van (1988): - Electronic submission of Physics - articles to publishers. De $1^e$ Nederlandse - SGML conferentie. SGML: De Consequenties. - \annotation{Also published in: Computer Physics - Communications 57 (1989) 244\dash250: - The use of text interchange standards - for submitting physics articles to journals. - In the context of this paper the discussion of - SGML related to \TeX\ is relevant.} -} -\lst\herwijnene - {Herwijnen E van (1990): - Practical SGML. Kluwer. -} -\lst\herwijnenea - {Herwijnen E van, N.A.F.M Poppelier, C.A Rowley (to appear): - Standard DTDs and scientific publishing. - MAPS 92.2, 69\dash80. -} -\lst\herwijneneb - {Herwijnen E van (priv. comm.): Streamlining publishing - procedures. -} -\lst\herwijnenec - {Herwijnen E van (1988): - TexT Processing at CERN I. - SGML Users' Group Bulletin, 3, 2, 39--54. -} -\lst\hoarecar - {Hoare C.A.R (1980): The emperor's old clothes. - Comm ACM ?\dash?. - Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. - ACM Press. Addison-Wesley IBN 0-201-07794-9. - \annotation{} -} -\lst\hobbyjda - {Hobby J.D (1992): - A user's manual for METAPost. - CSTR 162. AT\&T Bell Laboratories. - (Since 1995 METAPost is in the public domain.) -} -\lst\hobbyjdb - {Hobby J.D (1992): - Introduction to METAPost. - Euro\TeX{} 92. 21\dash36. -} -\lst\hoenigajaa - {Hoenig A.J (1987): - \TeX{} does windows. - \tubissue{8}(2), 212\dash216. -} -\lst\hoenigajab - {Hoenig A.J (1989): - Fractal images with \TeX. - Proceedings TUG '89. \tubissue{10}(4), 491\dash497. -} -\lst\hoenigaja - {Hoenig A.J (1990): - Labelling figures in \TeX\ documents. - TUG '90. \tubissue{12}(1), 125\dash128. -} -\lst\hoenigajb - {Hoenig A.J (1991): - When \TeX\ and METAfont talk: - Typesetting on curved paths and other special effects. - TUG91 proceedings. \tubissue{12}(3), 554\dash557. -} -\lst\hoenigajba - {Hoenig A.J (1991): - Typesetting along arbitrary curves with \TeX\ and METAfont. - TUG91 proceedings. -} -\lst\hoenigajc - {Hoenig A.J (1991): - \TeX\ for new users. MAPS 91.2, 91\dash96. -} -\lst\hoenigajd - {Hoenig A.J (1992): - When \TeX\ and METAfont work together. - Euro\TeX\ '92 proceedings, 1\dash19. - (An updated version released in MAPS 93.1.) -} -\lst\hoenigaje - {Hoenig A (1992): Q \& A. Partitioned Matrices. - \tubissue{13}(1), 60\dash62. -} -\lst\hoenigajf - {Hoenig A (1994): - Less is more: Complex page layouts and shapes with \TeX. - TUG94 proceedings. \tubissue{15}(3), 232\dash243. -} -\lst\hooveraza - {Hoover A.Z (1989): - Using wordperfect 5.0 to create \TeX\ and \LaTeX\ documents. - \tubissue{10}(4), 549\dash559. -} -\lst\hooverazb - {Hoover A.Z (1991): - Getting Postscript into \TeX\ and \LaTeX\ documents. - TUG '91. MAPS 91.2. -} -\lst\hooverazc - {Hoover A.Z (1992): - The key to successful support: knowing your \TeX\ and \LaTeX\ users. - Euro\TeX{} '92 proceedings, 1\dash19. - (Also MAPS 92.2.) -} -\lst\horakk - {Horak K (priv. comm. 1992): - Examples of (scientific) METAfont use. - (Some have been encorporated in NTG's PR set.) -} -\lst\horakka - {Horak K (1994): - Fighting with big METAfont pictures - when printing them reversely or landscape. - Proceedings Euro\TeX{} 94, 105\dash107. -} -\lst\hornbkp - {Horn B.K.P (1993): - Where are the Math fonts? - TUG '93. \tubissue{14}(3), 282\dash284. -} -\lst\hornbkpa - {Horn B.K.P (1993): - New from Y\&Y: complete bitmap-free \TeX{} packages! - Flyer 8p. - \annotation{Reviewed in Notices of the AMS by J.L Casti. - Very good with respect to - encorporation of Postscript (product: DVIPSONE) - and the accompanying previewer (product: DVIWindo). - No virtual fonts are supported, and as - argued by the author there is no need for it to do so.} -} -\lst\horowitze - {Horowitz E (1984): - Fundamentals of programming languages. - Computer Science Press. ISBN 0-88175-004-2. -} -\lst\hosekd - {Hosek D (1991): - \TeX\ Output Devices. - TUG Resource Directory, 133\dash158. -} -\lst\houtjfmj - {Hout J.F.M.J, M.J.A Mirande, E.B Smuling (1981): - Geven van hoorcolleges. - Aula 807. - \annotation{Apart from the useful survey aspects it supplies also references - to Gagn\'e's work.} -} -\lst\isosgml - {ISO (8879): Information Processing\Dash Text and Office - Systems\Dash Standard Generalized Markup Language (SGML). 1986--10--15. -} -\lst\isosgmltr - {ISO (TR9573): Information Processing\Dash SGML - Support Facilities\Dash Techniques for using SGML. - 1988--09--12. -} -\lst\iwakumat - {Iwakuma Tetsuo (1994): - A guide to use Macros and Style files in \LaTeX. - MAPS 94.2, 73\dash110. -} -\lst\jackowskibc - {B Jascowski, M Ry\'cko (1994): - Labyrinth of METAfont paths in outline. - Proceedings Euro\TeX{} 94, 18\dash32. -} -\lst\janschcr -{J\"ansch C.R, U R\"ode, K Schnepper (1988): - Macro expansion, a tool for the systematic development of scientific software. - TUM-I8814. -} -\lst\jeffreya - {Jeffrey A (1990): Lists in \TeX's mouth. - \tubissue{11}(2), 237\dash244. -} -\lst\jeffreyab - {Jeffrey A (1993): - A Postscript font installation package written in \TeX. - TUG '93. \tubissue{14}(3), 285\dash292. -} -\lst\jeffreyac - {Jeffrey A (editor, 1993): - Math font encodings: a workshop summary. - TUG '93. \tubissue{14}(3), 293\dash295. -} -\lst\jensenk - {Jensen K, N Wirth (1975): PASCAL user manual and report. - Springer-Verlag. -} -\lst\jonesdm - {Jones D.M (1992): - A catalogue of \TeX{} macros. - (From the file server.) -} -\lst\jurrienstaa - {Jurriens T.A (priv. comm.): - Supertabular.sty. - (From the file server.) -} -\lst\jurrienstaaa - {Jurriens T.A (1992): \TeX\ for everybody? - Euro\TeX92. - \annotation{Experience \LaTeX\ teaching.} -} -\lst\jurrienstab - {Jurriens, T.A (1991): - Ladies and \LaTeX I-II-III. - MAPS 91.2, 102\dash104, 92.1, 133\dash134, MAPS 92.2, 102\dash104. -} -\lst\jurrienstac - {Jurriens T.A (1992): \TeX\ as database. MAPS92.2, - 100\dash101. -} -\lst\jurrienstad - {Jurriens T.A (1992): - From observation to publication. - \tubissue{14}(2), 123\dash126. -} -\lst\kabelschachta - {Kabelschacht A (1987): - \cs{expandafter} vs.\ \cs{let} and \cs{def}, and - a generalization of plain's loop. - \tubissue{8}(2), 184\dash185. -} -\lst\kappertr - {Kappert R (1992): scite.sty. (A compilation - of the earlier versions of Arseneau and Green. - From the file server.) -} -\lst\kelderj - {Kelder J, B van der Velde (1986): - Dwangposities tegen \'e\'en tegenstander. Becht. A'dam. (Dutch). - Translated from: - Kelsey H.W (1985, paperback): - Simple squeezes. Gollancz. London. -} -\lst\kelleram - {Keller, A.M (1985): - From text to \TeX\Dash coursenotes for \TeX\ for beginners. - (TOPS 20 is outdated. emacs is still actual.) -} -\lst\khanhha - {Khanh Ha (1990): - Easy Table. \tubissue{11}(2), 250\dash264. -} -\lst\knappenja - {Knappen J (1992): - Changing the appearance of Math. - Euro\TeX'92. -} -\lst\knesert - {Kneser T (1990): - \LaTeX-paragraphs floating around figures. - \tubissue{12}(1), 28\dash30. -} -\lst\knuthdea - {Knuth D.E (1968): - The art of computer programming. Vol. I: Fundamental algorithms. - Addison-Wesley.ISBN 0-201-03809-9. -} -\lst\knuthdeb - {Knuth D.E (1969): - The art of computer programming. Vol. II: Seminumerical algorithms. - Addison-Wesley.LLOCC 67-26020. -} -\lst\knuthdec - {Knuth D.E (1973): - The art of computer programming. Vol. III: Sorting and searching. - Addison-Wesley. LLOCC 67-26020. -} -\lst\knuthdeca - {Knuth D.E (1974): - Computer programming as an art. - Comm ACM ?\dash?. - Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. - ACM Press. Addison-Wesley IBN 0-201-07794-9. - \annotation{} -} -\lst\knuthdeca - {Knuth D.E (1979): Mathematical Typography. - Bulletin AMS, 1, 2, 345\dash372. -} -\lst\knuthdecb - {Knuth D.E (1979): - \TeX\ and METAfont: New directions in typesetting. - Part 1 Mathematical Typography. 45p. - Part 2 \TeX\ a system for technical text. 201p. - Part 3 METAfont, a system for alphabet design. 105p. - AMS. Digital Press. ISBN 0-932376-02-9. - \annotation{A nice and handy book which explains the basic approaches in - not too much detail.} -} -\lst\knuthdecc - {Knuth D.E (1984): - Literate Programming. - The Computer Journal, 27, 2, 97\dash111. -} -\lst\knuthded - {Knuth D.E (1984): - Computers and Typesetting. - \TB. Addison-Wesley. - ISBN 0-201-13447-0 (hard cover) - ISBN 0-201-13448-9 (soft cover). - \annotation{For the correct printing look in the index - for \cs{language}. - \TeX, frozen in version $\pi$, - 3.1415\dots} -} -\lst\knuthdee - {Knuth D.E (1984): - A course on METAfont programming. - \tubissue{5}(2), 105\dash118. -} -\lst\knuthdeea - {Knuth, D.E (1985): Recipes and fractions. - \tubissue{6}(1), 36\dash38. -} -\lst\knuthdef - {Knuth D.E (1986): - Computers and Typesetting.\TeX: the program. - Addison-Wesley. - \annotation{Reprint with corrections 1988, - a version dated after 1989 is needed. - Look again for \cs{language} in the index.} - ISBN 0-201-13437-3. -} -\lst\knuthdeg - {Knuth D.E (1986): - Computers and Typesetting. The METAfont book. - Addison-Wesley. - ISBN 0-201-13445-4. -} -\lst\knuthdeh - {Knuth D.E (198?): - Computers and Typesetting. METAfont: the program. - Addison-Wesley. -} -\lst\knuthdehb - {Knuth D.E, P Mackay (1987): - Mixing right-to-left texts with left-to-right texts. - \tubissue{7}(1), 14--25. -} -\lst\knuthdehc - {Knuth D.E (1987): - Saturday morning problem\Dash conclusion. - \tubissue{8}(2), 211. - \annotation{The principle of text flowing around a figure - via an OTR with a `mock'-\cs{everyline}. Hoenig in TUG 94 - has elaborated the issue further.} -} -\lst\knuthdehd - {Knuth D.E (1987): - Reply: Printing out selected pages. - \tubissue{8}(2), 217. - \annotation{Manmac's shipout for slected pages.} -} -\lst\knuthdehe - {Knuth D.E (1987): - Fonts for digital halftones. - \tubissue{8}(2), 135\dash270. - \annotation{} -} -\lst\knuthdei - {Knuth D.E (1989): - The errors of \TeX. - Software Practice and Experience, 19, 7, 607\dash685. - (Also \tubissue{10}(4), 529\dash532.) -} -\lst\knuthdeib - {Knuth D.E, T Larrabee, P.M Roberts (1989): - Mathematical writing. - MMA Notes, 14. -\annotation{With contributions by Paul Halmos, Leslie Lamport, Mary-Claire van Leunen, -Nils Nilsson, Rosalie Stemer, Jeff Ullman, and Herbert S. Wilf.} -} -\lst\knuthdej - {Knuth D.E (1990): - Virtual Fonts: More Fun for Grand Wizards. - \tubissue{11}(1), 13\dash23. -} -\lst\knuthdek -{Knuth D.E, S Levy (1987): - The CWEB System of Structured Documentation. - (FTP: labrea.stanford.edu, in directory /pub/cweb) -} -\lst\kopkah - {Kopka H, P.W Daly (1993): - A guide to \LaTeX\Dash Document preparation for beginners and advanced users. - Addison-Wesley. ISBN 0-201-56889-6. -} -\lst\kolodziejska - {Ko{\l}odziejska H (1991): - Go diagrams with \TeX. - MAPS 91.2, 63\dash68. - (From the file server.) -} -\lst\kopkah - {Kopka H, P.W Daly (1993): - A guide to \LaTeX---Document preparation - for beginners and advanced users. - Addison-Wesley. ISBN 0-201-56889-6. -} -\lst\krimpenh - {Krimpen H van (1986): - Boek over het maken van boeken. - Gaade Uitgevers. Veenendaal. ISBN 9-060-17521-2. -} -\lst\kuykenshjp - {Kuykens H.J P (1994): - MIDI2\TeX, een music\TeX{} tool. - MAPS 94.2, 184\dash188. -} -\lst\laancg - {Laan C.G van der (1984): (Graceful) Mixed Language - Programming. Argonne National Laboratory Workshop. -} -\lst\laancga - {Laan C.G van der, J.R Luyten (1988): - Evaluation of K-talk. - RC-RUG rapport 15. - \annotation{Contains test collection for evaluating converters. - The conclusion is that ordinary marked up text is no problem, - but tables, math and graphics go wrong.} -} -\lst\laancgaa - {Laan C.G van der (1989): - Teaching \TeX: critics and \LaTeX\ proposal. - Appendix V. Minutes $4^{th}$ NTG meeting. -} -\lst\laancgb - {Laan C.G van der (1989): - Typesetting Bridge via \LaTeX. - \tubissue{10}(1), 113\dash116. - (Also MAPS 91.2.) -} -\lst\laancgc - {Laan C.G van der (1990): - Typesetting Bridge via \TeX. - \tubissue{11}(2), 265\dash276. - (Pre-release GUTenberg Cahiers 5, and a copy in MAPS 91.2.) -} -\lst\laancgd - {Laan C.G van der (1990): - SGML(, \TeX\ and \dots). - \tubissue{12}(1), 90\dash104. - (Pre-release MAPS 90.2 and GUTenberg - cahiers 5. - It contains also an extensive bibliography - about SGML-\TeX\ relation.) -} -\lst\laancge - {Laan C.G van der (1991): - Math into BLUes. - Part~I: Mourning. TUG '91. \tubissue{12}(3), 485\dash501. - Part~II: Sing your song. Euro\TeX\ '91. - GUTenberg Cahiers 10\&11, 147\dash170. - (Pre-release MAPS 91.1.) -} -\lst\laancgf - {Laan C.G van der (1992): - Tower of Hanoi, revisited. - \tubissue{13}(1), 91\dash94. -} -\lst\laancgg - {Laan C.G van der (1992): - Table Diversions. - MAPS 92.2, 115\dash129. - (An earlier version at Euro\TeX{} '92.) -} -\lst\laancgga - {Laan C.G van der (1992): - Spivak's \OE uvre. - MAPS 92.1, 139\dash142. -} -\lst\laancgh - {Laan C.G van der (1992): - FIFO and LIFO sing the BLUes. - \tubissue{14}(1), 54\dash59. - (An earlier version at Euro\TeX{} '92 - and MAPS 92.2.) -} -\lst\laancgi - {Laan C.G van der (1992): - Typesetting crosswords via \TeX, revisited. - MAPS 92.2, 145-146. - \annotation{Submitted TUGboat. An earlier version based upon \cs{halign} in - Proceedings Euro\TeX\ '92, 217\dash224, and MAPS 92.1, 128\dash132.} -} -\lst\laancgj - {Laan C.G van der (1992): - Syntactic Sugar. - TUG '93. - \tubissue{14}(3), 310\Dash318. - (Earlier versions in MAPS 92.2, abridged in GUST bulletin 1.) -} -\lst\laancgk - {Laan C.G van der (1993): - Manmac BLUes\Dash Or how to typeset a book via \TeX. - MAPS 93.1, 171\dash191. -} -\lst\laancgl - {Laan C.G van der (1993): - AMS BLUes\Dash Professionals at work. - MAPS 93.1, 192\dash212. -} -\lst\laancgm - {Laan C.G van der (1993): - Sorting in BLUe. - MAPS 93.1, 149\dash170. - (Abrid\-ged TUG '93. \tubissue{14}(3), 319\dash328.) -} -\lst\laancgo - {Laan C.G van der (1993): - Typesetting number sequences. - MAPS 93.1, 145\dash148. - \annotation{Submitted TUGboat. No longer relevant when BLUe's Bib is used.} -} -\lst\laancgp - {Laan C.G van der (1993): - Matrix icons via \LaTeX. - MAPS 93.2, 211\dash212. - (Also note in TTN 3.3, 1994.) -} -\lst\laancgq - {Laan C.G van der (1993): - BLUe's Bibliography\Dash A ge\-ne\-ric ap\-proach. - MAPS 93.2, 205\dash210. - \annotation{Selective loading has been added in MAPS 94.1.} -} -\lst\laancgr - {Laan C.G van der (1993): - What is \TeX{} and \MF{} all about? - MAPS 93.2, 67\dash87. - (Also: proceedings `PD, Shareware, Freeware' - meeting NLUUG, November 1993. CTAN - and PTF CD in \dots/whatstex in - ctan/info/info.zip) -} -\lst\laancgs - {Laan C.G van der (1994): - TUGboat BLUes\Dash How \TeX ies do it. - MAPS 94.1, 119\dash150. -} -\lst\laancgt - {Laan C.G van der (1994): - BLUe's Trans\-paren\-cies\Dash From report to transparency. - MAPS 94.1, 111\dash114. -} -\lst\laancgu - {Laan C.G van der (1994): - BLUe's Verbatim\Dash The selection. - MAPS 94.1, 116\dash118. -} -\lst\laancgv - {Laan C.G van der (1994): - BLUe's Format\Dash The best of both worlds. - MAPS 94.2, 189\dash199. - (Abridged. Euro\TeX\ '94, 33\dash44, also abridged. - Unabridged version from the CTAN.) -} -\lst\laancgw - {Laan C.G van der (1994): - BLUe's Biblio\-gra\-phy\Dash Se\-lec\-tive loading.\\ - MAPS~94.1, 115. -} -\lst\laancgx - {Laan C.G van der (1994): - BLUe's Graphs\Dash Simplicity, aha! - MAPS 94.2, 200\dash206. -} -\lst\laancgy - {Laan C.G van der (1994): - BLUe's Cross-Referen\-cing\Dash A one-pass approach. - MAPS 94.2, 207\dash209. -} -\lst\laancgz - {Laan C.G van der (1995): - Publishing with \TeX\Dash BLUe's Selection. - MAPS Special. %CWI tract. - See CTAN /pub/archive/info/pwt. -} -\lst\laancgA - {Laan C.G van der (1994): - Paradigms\Dash Headache? - MAPS 94.2, 212\dash214. -} -\lst\laancgB - {Laan C.G van der (1994): - Paradigms\Dash Plain's items extended. - MAPS 94.2, 210\dash211. -} -\lst\laancgC - {Laan C.G van der (1995): - BLUe's Typesetting of Pascal\Dash Lean and mean. - MAPS 95.1, 208\dash210. - \annotation{This early paper has been improved. The typesetting - of array brackets is possible now.} -} -\lst\laancgD - {Laan C.G van der (1995): - BLUe's Index\Dash The principle and some more. - MAPS 95.1, 178\dash186. - \annotation{A more user oriented version has been appeared in a chapter of the - PWT guide and also in the proceedings of Euro\TeX~95.} -} -\lst\laancgE - {Laan C.G van der (1995): - BLUe's Format Databases\Dash Stay organized. - MAPS 95.1, 170\dash177. -} -\lst\laancgF - {Laan C.G van der (1995): - Paradigms\Dash Two-part macros. - MAPS 95.1, 200\dash204. -} -\lst\laancgG - {Laan C.G van der (1995): - Paradigms\Dash Parameterization I \Dash\ Options. - MAPS 95.1, 205\dash207. -} -\lst\laancgH - {Laan C.G van der (1995): - Use of \TeX{} as databases with any \TeX. - Proceedings Euro\TeX~95, 273\dash278. -} -\lst\lammarschj - {Lammarsch J (1993): - A new typesetting system: is it really necessary? - TUG '93. \tubissue{14}(3), 167\dash170. -} -\lst\lamportla - {Lamport L (1985?): - Bezier.sty. - \annotation{(For drawing arbitray lines within the picture environment. - From the file server. See however also gkpmac.} -} -\lst\lamportlb - {Lamport L (1985): - \LaTeX\ User's Guide \& Reference Manual. - Addison-Wesley. ISBN-0-201-15790-X. - \annotation{With respect to \BibTeX\ the following characteristics - from UKTUG meeting of 1990. - Advantages: clear layout of database, unique identifyer for elements, - compatibility with Scribe databases, explicit statement of citation type, - extensible style language, uses \LaTeX's cross-referencing, easy to - edit output, can be mixed with non-automatic generated bibliographies, - cross-referencing and abbreviations. - Disadvantages: multiple passes (\LaTeX, \BibTeX, \LaTeX, \LaTeX); - have to remember unique references, style language is opaque, - database is very wordy and boring to enter.} -} -\lst\lamportlc - {Lamport L (1987): - Makeindex: An index processor for \LaTeX. - (From the file server.) -} -\lst\langmyhrda - {Langmyhr D (1994): - How to make your own documentstyle in \LaTeX2e. - Euro\TeX'94, 167\dash175. - (Also MAPS 94.2, 65\dash72.) -} -\lst\larsonje - {Larson J.E (1989): - A chess font for \TeX. - \tubissue{10}(3), 351. -} -\lst\lauwerierhab - {Fractals\Dash meetkundige figuren in eindeloze herhaling. - Aramith. ISBN/NUGI-90-6834-031X/619. - \annotation{Some basic programs of the fractals are included.} -} -\lst\lavaudma - {Lavaud M (1991): - As\TeX, or developing a multi-windowing environment for research based on - \TeX. - Euro\TeX\ '90. Cahiers Gutenberg. - (Developments Euro\TeX\ '92, and TUG '93. \tubissue{14}(3), 238\dash244.) -} -\lst\lavaudmb - {Lavaud M (1993): - Disquettes PC-GUT: \TeX\ \& Co pour PC. - (With: manual d'installation, revised 25/6/93.) -} -\lst\lawrencem - {Lawrence M. (1988): - The complete book on hand evaluation. Max Hardy. - ISBN 0-939460-27-0. -} -\lst\lebanb - {Leban B (1985): - A solution to the Tower of Hanoi problem using \TeX. - \tubissue 6(3), 151\dash154. -\annotation{Review. Leban requires as input the number of disks and the first tower as -a sequence of one-digit numbers. -This means that creation of the initial tower is not part of the paper. -Furthermore, Leban develops a set of Lisp like functions for \TeX. -Apparently Knuth's List macros, \TeX book Appendix D.2, have been overlooked. -Leban's small list processing system is an example of reinventing the wheel, -with the concept of an active list separator absent. As a consequence -the printing of the towers is done by recursion which is not necessary -when using Knuth's list separator appropriately to `execute' the list.} -} -\lst\leskme - {Lesk M.E (1979): - Tbl\Dash a program to format tables. - UNIX manual,157--174. -} -\lst\louarnp - {Louarn P (1991): - Instructions to Euro\TeX{} and GUTenberg '91 authors. -} -\lst\louarnpa - {Louarn P (1991): Manipulons une matrice. - Cahiers GUTenberg 8. 59\dash61. - \annotation{His step-by-step explanation is very clear. The example - does not contain braces connecting cells, - or sub parts.} -} -\lst\makeindex - {Makeindex (1987): - Makeindex. - \annotation{From the file server. See also Chen and Harrison, Lamport (1987), - Salomon for a plain variant. Since 1995 there is BLUe's Index.} -} -\lst\markit - {MARK-IT (1989): SGML Parser, version 2. Sobemap NV, - Place du Champ de Mars 5, Bte 40, 1050 Bruxelles. -} -\lst\martincr - {Martin C.R (1990): - \TeX\ for \TeX nical typists. - \tubissue{11}(3), 425\dash428. -} -\lst\mattese - {Mattes E (1990?): - em\TeX. - (PD version for MS-DOS PCs, in general use. From the archives.) -} -\lst\mauss - {Maus S (1991): An expansion power lemma. - \tubissue{12}(2), 277. -} -\lst\mcclurem - {McClure M (1989): - \TeX\ macros for COBOL syntax diagrams. - TUGboat, 10, 4, 743--750. -} -\lst\meulenbroekd - {Meulenbroek D (1989): - Nieuwsblad v/h Noorden. December. - (Dutch) -} -\lst\meyerse - {Meyers E, F Paige (199?): \TeX sis. - \annotation{Provides \cs{ruledtable} and documentation in 100p. - \TeX{} file. - From lifshitz.ph.utexas.edu, directory /texsis.} -} -\lst\minskym - {Minsky M (1969): - Form and content in computer science. - Comm ACM ?\dash?. - Also in ACM Turing Award Lectures. The first twenty years 1966\dash1985. - ACM Press. Addison-Wesley IBN 0-201-07794-9. - \annotation{} -} -\lst\mittelbachfa - {Mittelbach F (1989): - An environment for multi-column output. - \tubissue{10}(3), 407\dash415. -} -\lst\mittelbachfab - {Mittelbach F (1989): - The doc-option.. - \tubissue{10}(2), 245\dash273. -} -\lst\mittelbachfb - {Mittelbach F (1989): - An extension for the \LaTeX\ theorem environment. - \tubissue{10}(3), 416\dash426. -} -\lst\mittelbachfc - {Mittelbach F (1991): - E-\TeX: Guidelines for future \TeX\ extensions. - \tubissue{11}(3), 337\dash345. - (Redistributed: MAPS 93.1) -} -\lst\mittelbachfd - {Mittelbach F, R Sch\"opf (1989): - The new font selection scheme. - For \TeX{} packages. - \tubissue{10}(2), 222\dash238.\\ - User interface to standard \LaTeX. - Reprint: \tubissue{11}(2), 297\dash305. - (See also NFSS 2, in Goossens, Mittelbach Samarin.) -} -\lst\mittelbachfe - {Mittelbach F, R Sch\"opf (1990): - Towards \LaTeX~3.0. - \tubissue{12}(1), 74\dash79. - (Also MAPS 90.2.) -} -\lst\mittelbachff - {Mittelbach F, R Sch\"opf (1992): - The Pursuit of quality. - Electronic Publishing '92. ISBN 0-521-43277-4. - (Redistributed MAPS 92.2.) -} -\lst\mittelbachffb - {Mittelbach F, C.A Rowley (1993): - The \LaTeX3 project. - MAPS 93.1, 95\dash99. - (Also in various early nineties proceedings.) -} -\lst\mittelbachfg - {Mittelbach F, C.A Rowley, M.J Downes (1993): - Volunteer work for \LaTeX3 project. - \tubissue{13}(4), 510\dash515. -} -\lst\mcclurem - {McClure M (1989): - \TeX\ macros for COBOL syntax diagrams. - \tubissue{10}(4), 743\dash750. -} -\lst\modestmf - {Modest M.F (1989): - Using \TeX\ and \LaTeX\ with Wordperfect5.0. - \tubissue{10}(1), 67\dash72. -} -\lst\nagyd - {Nagy Dezs\"o (1989): - A bar chart in \LaTeX. - \tubissue{10}(2), 239\dash240. -} -\lst\nearingj - {Nearing J (1989): Extended equation numbering - in plain \TeX. - \tubissue{10}(1), 82\dash88. -} -\lst\oostrumpa - {Oostrum P van (1989): - Fancyheadings. - From the fileserver. -} -\lst\oostrumpb - {Oostrum P van (1991): - Program text generation with \TeX\slash\LaTeX. - MAPS 91.1, 99\dash105. - (A survey of the available tools.) -} -\lst\palaisr - {Palais R (1992): - Moving a fixed-point. \tubissue{13}(4), 425\dash432. -} -\lst\paperts - {Papert S (1980): - Mindstorms---Children, computers, and powerful ideas. - Harvester studies in cognitive science; 14. - ISBN 0-85527-163-9. -} -\lst\paternotter - {Paternotte R (1989): Dwangneurose. - De {\bf E}nige {\bf G}oede - {\bf B}ridge {\bf C}ourant. - December. (Dutch) -} -\lst\petryckilj - {Petrycki L.J (1991): Comparing \TeX\ and - traditional typesetting for the composition of a textbook. - \tubissue{12}(3), 359\dash366. -} -\lst\pittmanje - {Pittman J.E (1988): - Loopy.\TeX. \tubissue{9}(3), 289\dash291. -} -\lst\polyaga - {Polya G (1957): - How to solve it. Anchor. -} -\lst\polyagb - {Polya G (1954): - Mathematics and plausible reasoning. - I. Induction and analogy in Mathematics. - ISBN 0-691-08005-4. Princeton University Press. -} -\lst\polyagc - {Polya G (1954): - Mathematics and plausible reasoning. - II. Patterns of plausible inference. - L.C. Card 68-56327. Princeton University Press. -} -\lst\poppeliernafm - {Poppelier N.A.F.M (1990): - SGML and \TeX\ in scientific publishing. - \tubissue{12}(1), 105\dash109. (Also MAPS 90.2) -} -\lst\quinlre - {Quin L.R.E (1990): - Summary of METAfont fonts available. - \TeX MaG, 4, 6, 1990 - (Also MAPS 91.1.) -} -\lst\rahtzspq - {Rahtz S.P.Q (1987): Bibliographic tools. - Literary and linguistic computing, 2, 4, 231\dash241. -} -\lst\rahtzspqa - {Rahtz S.P.Q, M Burbank (1993): - Guidelines for Proceedings of the 1993 Annual Meeting of the \TeX{} Users - Group. - TUG Office. -} -\lst\rahtzspqaa - {Rahtz S.P.Q (1993): - Essential NFSS2, version 2. - \tubissue{14}(2), 132\dash137. - (The abstract copied from the article: - This article offers a user's view of the New Font Selection Scheme, version 2. - It describes the reasons for using the NFSS; - the differences a user will encounter between NFSS and old \LaTeX; - what it will be like installing and using NFSS2; - some special situations in mathematics; and - an overview of the advanced NFSS2 commands for describing new fonts.) -} -\lst\rahtzspqb - {Rahtz S.P.Q (1994): - Implementing the extended \TeX{} layout - using \PS{} fonts. - \tubissue{14}(2), 107\dash117. -} -\lst\raichleb - {Raichle B (1993): - In: V. Eijkhout. Oral \TeX; Erratum. - \tubissue{13}(1), 75. -} -\lst\raichleba - {Raichle B (priv.\ comm.): Sorting in \TeX's mouth (revisited). - Proceedings Euro\TeX{} 94. 53\dash58. Reprinted in MAPS 95.1. - \annotation{Bernd Raichle reported at DANTE's 1994 Februari meeting about - sorting numbers in \TeX's mouth in the spirit of the work of - Jeffrey. Although his algorithms are of order $n^2$ the execution - time is good. The only drawback for practice is that it is restricted - to numbers so far. For Euro\TeX{} '94 he has extended his work - with quicksort in the mouth.} -} -\lst\raichlebb - {Raichle B (priv.\ comm.): Orale Spielereien. - \TeX nische Kom\"ode. - \annotation{Bernd Raichle started in 1994 a series of notes exploiting - the mouth processing of \TeX.\\ - I. The n-asteriks is studied in depth. A completely expandable \LaTeX{} - \cs{Romannumeral} proposal is included.\\ - II. Here the digestive processing of the \TeX{} engine is explained. - The explained n-asteriks solution is intriguing\Dash if not for the use - of \cs{uccode}\Dash and probably the fastest. -} -} -\lst\ramekmb - {Ramek M (1988): - Chemical structure formulae and X/Y diagrams with \TeX. - Proceedings Euro\TeX\ '88, 227\dash258. -} -\lst\readd - {Read D (priv.comm.): - Some ideas to improve \LaTeX. - \annotation{Report with suggestions about - \LaTeX\ implementation, SGML-based.} -} -\lst\reidtj - {Reid T.J (1987): - Floating figures at the right\Dash and\Dash Some random text for testing. - \tubissue{8}(3), 315\dash320. -} -\lst\rokickyta - {Rokicky T (199?): - DVIPS. - } -\lst\rokickytb - {Rokicky T (1994): - Driver support for color in \TeX: Proposal and Implementation. - \tubissue{15}(3), 205\dash2126. -} -\lst\rogersdf - {Rogers D.F (1992): On contrarian views. - \TeX line 14. 2\dash3. -} -\lst\rubinsteinza - {Rubinstein Z (1989): - Chess printing via METAfont and \TeX. - \tubissue{10}(2), 170\dash172. - (With erratum in \tubissue{10}(3), 359.) -} -\lst\rubinsteinzb - {Rubinstein Z (1989): - Printing annotated chess literature in natural notation. - \tubissue{10}(3), 387\dash390. -} -\lst\ryckom - {Ry\'cko M, B Jackowski (1993): - \TeX{} from {\tt\char92indent} to {\tt\char92par}. - TUG '93. \tubissue{14}(3), 171\dash176. -} -\lst\salomonda - {Salomon D (1989): - Macros for indexing and table of contents preparation. - \tubissue{10}(3), 394\dash400. - \annotation{Comments by Breitenlohner (1990): \tubissue{11}(1)62, - with respect to writing long records to {\tt\char92write} - streams. In 1994 he made \cs{makeindex} available - for plain \TeX.} -} -%\lst\salomondb -% {} -\lst\salomondc - {Salomon D (1990): - Output Routines Examples \& Techniques. - Part~I: Introduction \& Examples. \tubissue{11}(1), 69\dash85. - Part~II: OTR Techniques. \tubissue{11}(2), 212\dash236. - Part~III: Insertions. \tubissue{11}(4), 588\dash - 605. - \annotation{Incorporated in his courseware: Insights and Hindsights.} - Part~IV: Horizontal Techniques. \tubissue{15}(1), 28\dash39. -} -\lst\salomondd - {Salomon D (1992): - Arrows for technical drawings. - \tubissue{13}(2), 146\dash149. -} -\lst\salomonde - {Salomon D (1992): - Creating shaded rectangles with POSTSCRIPT. - \tubissue{13}(3), 327\dash329. (Also MAPS 92.2.) -} -\lst\salomondf - {Salomon D (1992): - DDA methods in \TeX. - \tubissue{10}(2), 207\dash216. -} -\lst\salomondg - {Salomon D (1992): - NTG's Advanced \TeX\ course: Insights and Hindsights. - MAPS Special, $\approx500p.$ -} -\lst\salomondh - {Salomon D (1995): - The advanced \TeX book. - Springer-Verlag. ISBN 0-387-94556-3. -} -\lst\salomondx - {Salomon D (priv.\ comm.). -} -\lst\samuelal - {Samuel A.L (1985): - First grade \TeX\Dash A beginners \TeX\ manual. - \TeX niques 11. - \annotation{Beautiful, obligatory reading! Even for \LaTeX\ devotees, - and for every novice. The layout is nice too. Only some 30p.} -} -\lst\sankers - {Sankar S (1989): - APE\Dash a set of \TeX\ macros to to format ADA programs. - \tubissue{10}(1), 89\dash97. -} -\lst\schellera - {Scheller A (1989): - Experience with SGML in the real world. - Advisory Group on Computer Graphics workshop, Rutherford. - \annotation{Work reported from DAPHNE-project: Document Application Processing in a - Heterogeneous Network Environment.} -} -\lst\schoepfra - {Sch\"opf R (1989): - Drawing histogram bars inside the \LaTeX\ picture-environment. - \tubissue{10}(1), 105\dash108. -} -\lst\schoepfrb - {Sch\"opf R (1989): - A new implementation of the \LaTeX\ {\tt verbatim[*]} environments. - \tubissue{11}(2), 284\dash296. -} -\lst\schrodj - {Schrod J (1992): - The DVI Standard, level 0. The TUG DVI Driver standards committee. - \tubissue{13}(1), 54\dash57. -} -\lst\schumacherefa - {Schumacher E.F (1973): - Small is beautiful. - Blond \& Briggs, London. -} -\lst\schumacherefb - {Schumacher E.F (1979): - Good Work. - Jonathan Cape Ltd, London. -} -\lst\schwarzn - {Schwarz N (1987): - {\em Einf\"uhrung in \TeX}. Addison-Wesley. - (Translated into English with co-author - J. Krieger (1990): Introduction to \TeX. - Addison-Wesley. Also into Dutch.) -} -\lst\schwarzhr - {Schwarz H.R, H Rutishauser, E Stiefel (1972): - Numerik symmetrischer Matrizen. - Teubner. (German) -} -\lst\seroulr - {Seroul R (1989): - Le petit livre de \TeX. Inter-\'Editions. - Paris. -} -\lst\sewellw - {Sewell W (1989): - Weaving a program\Dash Literate programming in WEB. - Van Nostrand. ISBN 0-442-31946. -} -\lst\sewellwa - {Sewell W (1987): - Multiple changefiles: The adventure continues. - \tubissue{8}(2), 117\dash118. -} -\lst\sgmlug - {SGML User's Group (Newsletter): (Editorial - address: Pindar Infotek, 2 Grosvenor Road, Wallington, - Surrey SM6 0ER, UK.) -} -\lst\siebenmannl - {Siebenmann L (1992): -Elementary text processing and parsing in \TeX\Dash The appreciation of tokens. - \tubissue{13}(1), 62\dash73. -} -\lst\smedingar - {Smedinga R (1991): - Hoe met \LaTeX\ een boek gemaakt kan worden. - MAPS 91.2, 97\dash101. -} -\lst\smithjma - {Smith J.M (1987): The standard generalized markup language - (SGML): Guidelines for editors and publishers. - British National Bibliography Research Fund Report 26. - ISBN 0-7123-3111-5. -} -\lst\smithjmb - {Smith J.M (1987): The standard generalized markup language - (SGML): Guidelines for authors. - British National Bibliography Research Fund Report 27. - ISBN 0-7123-3112-3. -} -\lst\southallra - {Southall R (1984): - First principles of typographic design for document production. - \tubissue{5}(2), 79\dash90. - (Corrigenda (1985): \tubissue{6}(1), p.6.) -} -\lst\southallrb - {Southall, R (1985): - Designing a new typeface via METAfont. - STAN-CS-85-1074. -} -\lst\sowafa - {Sowa F (1991): - Graphics and halftones with BM2font. - TUG '91. \tubissue{12}(4), 534\dash538. -} -\lst\sowafb - {Sowa F (1994): - Printing colour pictures. - Euro\TeX'94, 176\dash181. - TUG 94, \tubissue{15}(3), 223\dash227. -} -\lst\sperbergmcq - {Sperberg-McQueen C.M, L Bernard (1990): - ACH-ACL-ALLC. Guidelines for the encoding and - interchange of machine readable texts. -} -\lst\spivakmda - {Spivak M.D (1986): - The Joy of \TeX\Dash\AmSTeX. - AMS. ISBN 0-8218-2999-8. - (Updated 2$^{nd}$ printing 1990.) -} -\lst\spivakmdb - {Spivak M.D (1989): - \LAMSTeX\Dash The Syn\-thesis. - \TeX\-plora\-tors Corporation. -} -\lst\spivakmdc - {Spivak M.D (1991): - \LAMSTeX\Dash The wizards manual. - \TeX\-plora\-tors Corporation. -} -\lst\swansone - {Swanson E (1986): - Mathematics into Type. - AMS. -} -\lst\swonkgl - {Swonk G.L (1991): - \LaTeX\ tree drawer. - \tubissue{12}(2), 286\dash289. -} -\lst\taupind - {Taupin D (1990): - Musique en \TeX. - Cahiers GUTenberg, 5, 62\dash69. - (Updated English version MAPS 92.1.) -} -\lst\taylorp - {Taylor P (1992): - The future of \TeX. - In: Proceedings Euro\TeX\ '92. - 235\dash254. (Reprinted in \tubissue{13}(4), 433\dash442.) -} -\lst\taylorpb - {Taylor P (1993): - NTS: The future of \TeX? - TUG '93. \tubissue{14}(3), 177\dash182. -} -\lst\taylorpba - {Taylor P (1994): - $\epsilon$-\TeX{} and NTS: a status report - Euro\TeX'94, 182\dash187. -} -\lst\taylorpc - {Taylor P (1993): - A pragmatic approach to paragraphs. - \tubissue{14}(2), 138\dash140. -} -\lst\taylorpd - {Taylor P (1994): - Defensive programming in \TeX: - towards a better class of a \TeX{} macro. - Proceedings Euro\TeX{} 94, 69\dash82. -} -\lst\temmenm - {Temme N.M (1990): - Speciale functies in de mathematische - fysica. Epsilon 15. ISBN 90-5041-019-7. - (Dutch) -} -\lst\thielec - {Thiele C (1993): - The future of \TeX{} and TUG. - TUG '93. \tubissue{14}(3), 162\dash166. -} -\lst\thieleca - {Thiele C (1987): - What constitutes a well-documented macro? - \tubissue8(3), 307\dash308. -} -\lst\tobing - {Tobin G (198?): - METAfont for beginners. - (From the CTAN.) -} -\lst\tofstedd - {Tofsted D (1990): - An improved chess font. - \tubissue{11}(4), 542\dash544. -} -\lst\treebusk - {Treebus K (1988): - Tekstwijzer, een gids voor het grafisch verwerken van tekst. - SDU. Den Haag. -} -\lst\tugpub - {TUG (publications): - TUGboat, TTN, \TeX niques. -\\ (TUGboat: Scholarly quarterly of TUG, with the proceedings of the annual - meeting as special issue, and the resource directory as - supplementary issue. From 1980 onward. - The style files involved are {\tt tugboat.cmn}, - and the styles {\tt tug\-boat}, and - {\tt ltug\-boat} available from the (CTAN) archives. -\\ \TeX niques: Special themed editions, with no 1 to 14 of 1993) - TTN: A portable quarterly newsletter of TUG. From 1990 onward.) -} -\lst\tutelaersp - {Tutelaers P (1991): - A font and a style for typesetting chess using \LaTeX\ or \TeX. - MAPS 91.2, 41\dash45. (Also \tubissue{13}(1), 85\dash90.) -} -\lst\urbanm - {Urban M (1986): - An introduction to \LaTeX. - TRW Software Productivity Project. - \TeX niques 9. -} -\lst\vensej - {Vens E.J (1992): - Incorporating POSTSCRIPT fonts in \TeX. - In: Proceedings Euro\TeX\ '92, 173\dash181. - (Also in MAPS 92.2.) -} -\lst\vignaudd - {Vignaud D (1989): - L'\'edition structr\'ee dans les documents, - SGML applications \`a l'\'edition fran\c caise. - \'Editions du Cercle de la Librairie. Paris. -} -\lst\vriesh - {Vries H de (1990): Biedwedstrijd. - De {\bf E}nige {\bf G}oede - {\bf B}ridge {\bf C}ourant. Maart. (Dutch) -} -\lst\warmerj - {Warmer J, S van Egmond (1989): - The implementation of the Amsterdam SGML Parser. - EP-ODD, 2, 2, 65\dash90. -} -\lst\whitneyrf - {Whitney R.F, B.N Beeton (1989): - TUGboat authors' guide. - \tubissue{10}(3), 378\dash385. - (Updated versions via the file server.) -} -\lst\wichuramj - {Wichura M.J (199?): - The \PiCTeX\ manual. - \TeX niques, 6. - (${\approx}\$30,$\dash.) -} -\lst\wichuramja - {Wichura M.J (1990): - Showing-off math macros. - \tubissue{11}(1), 57\dash61. -} -\lst\wilkinsonjh - {Wilkinson J.H (1965): - The Algebraic Eigenvalue Problem. - Oxford University Press. -} -\lst\williamsl - {Williams L, L Hall (1990): - Increased efficiency using advanced EDT editing features. - \tubissue{11}(3), 421\dash424. -} -\lst\williamst - {Williams T, C Kelley (199?): - GNUplot: an interactive plotting program. - Version 3. -} -\lst\wilsonir - {Wilson I.R, A.M Addyman (1983, second edition, reprint): - A practical introduction to PASCAL with BS 6192. - Macmillan Press Ltd. ISBN 0 333 3340 3. -} -\lst\winninkjj - {Winnink J.J (editor, 1993): - NTG's PR set. - MAPS '93 Special, $\approx25$p. - (Contains: Wat is \TeX?, Hoenig's \TeX\ for new users, 4\TeX/em\TeX\ - information, and examples with respect to - math, tables, graphics, and the hobbies bridge, chess, and music.) -} -\lst\winogradt - {Winograd T, B Paxton (1980): - An indexing facility for \TeX. - \tubissue{1}(x), A1\dash A12. - \annotation{The work uses \TeX\ version 1.x and a Lisp - program. It does not contain such a clear user guide as for makeindex. - It provides numbers in range notation and allows for - subentries, and cross-references like see \dots and see also \dots. - The program can merge files. The program has been converted into - Pascal some years later. The latter version is available on file servers.} -} -\lst\wirthna - {Wirth N (1973): - Systematic Programming: An introduction. - Prentice-Hall. ISBN 0-13-880369-2. -} -\lst\wirthnb - {Wirth N (1976): - Algorithms $+$ Data Structures $=$ Programs. - Prentice-Hall. ISBN 0-13-022418-9. -} -\lst\wittbeckera - {Wittbecker A (1988): - Making paragraphs. - \tubissue{9}(3), 272\dash276. -} -\lst\wittbeckeraa - {Wittbecker A (1989): - \TeX\ enslaved. Proceedings TUG89. Stanford. - \annotation{Advantages and disadvantages of \TeX-formatter with SGML - ``front-end'' are discussed, related to DEC's VAX Document.} -} -\lst\wonnebergerr - {Wonneberger R (1987): Kompaktf\"uhrer \LaTeX. - Addison-Wesley. -} -\lst\yasukis - {Ysuki Saito (1987): - Report on J\TeX: a Japanese \TeX. - \tubissue{8}(2), 103\dash116. -} -\lst\youngenra - {Youngen R (1989): - Computers and Mathematics. - Notices AMS. - \annotation{Discusses \TeX, \LaTeX\ - and \AmSTeX, summarizing also the relative advantages. - Since the publication of this note \AmS-\LaTeX\ has been released, - and Spivak has provided \LAMSTeX. Of course these are not dealt with.} -} -\lst\youngenrb - {Youngen R (1991): - Typesetting with \TeX\ at the AMS. - 4p. - \annotation{A nice survey of why-and-what AMS is using \TeX\ for.} -} -\lst\youngenrc - {Youngen R (1992): - \TeX-based production at AMS. - MAPS 92.2, 63\dash68. -} -\lst\zalmstraj - {Zalmstra J, D.F. Rogers (1989): - A page make-up macro. - \tubissue{10}(1), 73--81. -} -\lst\zandta - {Zandt T van (1992): - PStricks. Princeton University. -} -\lst\zandtb - {Zandt T van, D Girou (1994): - Inside PStricks. - \tubissue{15}(3), 239\dash246. -} -\lst\zbikowskir - {Zbikowski R (1993): - Hacker's guide to AMSfonts and NFSS in the context of \LaTeX. - \tubissue{14}(1), 62\dash69. -} -\lst\zlatuskaja - {Zlatuska J (1991): - Virtual fonts with accented letters. - Cahiers GUTenberg 10\&11, 57\dash68. -} -\lst\zlatuskajb - {Zlatuska J (editor, 1992): - Proceedings Euro\TeX\ '92. - Masarykova universita, Brno. ISBN 80-210-0480-0. -} -\lst\zusek - {Zuse K (1976): - The Plankalk\"ul, - Gesellschaft f\"ur Mathematik und Datenverarbeitung, - Bonn. BMFT-GMD-106. -} -%%end data -\endinput diff --git a/macros/blu/pic.dat b/macros/blu/pic.dat deleted file mode 100644 index 8a320cd5fd..0000000000 --- a/macros/blu/pic.dat +++ /dev/null @@ -1,1358 +0,0 @@ -%Copyright: C.G. van der Laan, -%cgl@rc.service.rug.nl, (050)0594621525 -%File: pic.dat Set up of May, 1995 -\message{pic.dat browsed (Version: May 1996, cgl)} -% -\def\commonforpic{\csname newif\endcsname - \ifmarkorigin - \csname newif\endcsname\iffull -\def\markorigin{\hbox to0pt{\hss - \vrule width1exdepth.2ptheight.2pt - \vrule height1exdepth1ex - \vrule width1exdepth.2ptheight.2pt - \hss}% -}%end markorigin -\def\corners##1{%##1 size of corner bar - \put(.1,.1){\line(-1,0){##1}}% - \put(.1,.1){\line(0,-1){##1}}% - \put(.2,.2){\line(-1,0){##1}}% - \put(.2,.2){\line(0,-1){##1}}% -}%end corners -\def\card##1##2##3{%#1,#2 x,y coord.corner; #3 label - \put(##1,##2){\line(-1,0){1.25}} - \put(##1,##2){\line(0,-1){ .45}} - \put(##1,##2){\lower.45\unitlength - \hbox{\line(-1,0){ .25}}} - \put(##1,##2){\hbox to0pt{\kern-1.25\unitlength - \hbox{\line(0,-1){ .25}}\hss}} - \put(##1,##2){\lower.5\unitlength\hbox - {\hskip.05\unitlength{\tiny ##3}}} -}%end card -%45 degree rightupper diag dots at #1,#2 -\def\diagdots##1##2{\put(##1,##2){$\raise1pt - \hbox to0pt{\kern-1pt.\hss}\kern2pt^{.^.}$}} -%\thinlines %(default in blue.tex) -\def\fatlbrace{\delimiter"4000308 } -}%end commonforpic -% -% -% -\lst\bintreepic{%July 1995, cgl -\bgroup\unitlength.5ex - \kk32 \xoffset{-32} \yoffset{-5}% - \xdim{66}\ydim{5}% - \def\eertnib##1\bintree{\fi} -\beginpicture\bintree\endpicture\egroup -\thispicture{}} -% -\lst\bluemodelpic{\bgroup\unitlength=3.5ex - \yoffset{-.75} - \xdim{13}\ydim{12} -\beginpicture -\def\str{\lower.5ex\null} -%baseline -\put(1,0){\vector(-1,0){.9}} -\put(4,0){\vector(1,0){.9}} -\put(2.5,0){\makebox(0,0){extras}} -\put(6,0){\vector(-1,0){.9}} -\put(12,0){\vector(1,0){.9}} -\put(9,0){\makebox(0,0){BLUe's format}} -% -\put(0,4){\framebox(4,2){Extensions}} -\put(0,8){\framebox(4,2){Publ.\ - formats}} -%Horizontal connection lines -\put(4,5){\line(1,0){2}} -\put(4,9){\line(1,0){2}} -%\multiput(4,5)(.2, 0){10}{\hbox to -% .2\unitlength{-\hss-}} -%\multiput(4,9)(.2, 0){10}{\hbox to -% .2\unitlength{-\hss-}} -%Vertical separation line -\multiput(5,0)(0,1){11}{\vrule - height.5\unitlength\relax} -\put(6,4){\framebox(4,6){\vbox{% - \hbox{\tiny outer tags} - \kern1.25\unitlength - \hbox{blue.tex} - \kern1.25\unitlength - \hbox{\tiny inner tags}}}} -%\put(6,4){\framebox(4,2){\vbox{% -% \hbox{\strut Inner}\hbox{Tags}}}} -%\put(6,8){\framebox(4,2){\vbox{% -% \hbox{\strut Outer}\hbox{Tags}}}} -\put(9.1,8.1){\vbox{\offinterlineskip - \hbox{\tiny\str ppt}\hbox{\tiny\str ref}% - }} -\put(9.1,4.1){\vbox{\offinterlineskip - \hbox{\tiny\str man}% - \hbox{\tiny\str gkp}% - \hbox{\tiny\str\raise2ex\null crs}% - \hbox{\tiny\str vrb}% - \hbox{\tiny\str btb}\hbox{\tiny - \str abr}}} -%\put(8,6){\line(0,1){2}} -%Databases next -%Outer database -%\multiput(10,9)(.2, 0){5}{\hbox to -% .2\unitlength{-\hss}} -\put(10,9){\line(1,0){1}} -\put(11,7){\line(0,1){2}} -%\card{12.25}{7.25}{fmt.dat} -\put(11,7){\framebox(1.25, .5){}} -\put(12.3, 7){{\tiny fmt.dat}} -%Inner databases -\put(10,5){\line(1,0){1}} -%\multiput(10,5)(.2, 0){5}{\hbox to -% .2\unitlength{-\hss}} -\put(11,3){\line(0,1){2}} -\put(10,1){\framebox(2,2){\vbox{% - \hbox{\strut Data}\hbox{Bases}}}} -% -\card{12.25}{3.25}{tools.dat} -\card{12.5 }{3.5 }{obsolete.dat} -\card{12.75}{3.75}{pic.dat} -\card{13 }{4 }{lit.dat} -\card{13.25}{4.25}{address.dat} -% -%\diagdots{13.35}{4.35} -% -\put(4,6){\corners{.975}}% -\put(4,10){\corners{.975}} -\endpicture\egroup\thispicture{}% -}%end bluemodelpic -% -\lst\bluepagepic{\vbox{\arrows{2cm}{\small headline} -\hbox to2cm{\hss\tiny headlinesep(2ex)\hss} -\hbox{\vrule\vbox to 3cm{\hrule\offinterlineskip - \hbox to2cm{\hss$\uparrow$\hss}\vss - \arrows{2cm}{\lower3pt\null\small pagewd} - \vss - \hbox to2cm{\lower2pt\null\hss\small v\hss} - \hbox to2cm{\lower2pt\null\hss\small s\hss} - \hbox to2cm{\lower2pt\null\hss\small i\hss} - \hbox to2cm{\lower2pt\null\hss\small z\hss} - \hbox to2cm{\lower2pt\null\hss\small e\hss} -\vss\hbox to2cm{\hss$\downarrow$\hss}\hrule -}\vrule}\kern-.7\baselineskip -\hbox to2cm{\hss\tiny footlinesep(1ex)\hss} -\arrows{2cm}{\small footline} -}} -% -\lst\cantordustpic{%July 1995, cgl -%Revision March 1996 -\bgroup -\def\cf{{\E{\the\k}}\divide\k3 - \ifnum0=\k \fc\fi - \advance\y-3\unitlength - {\cf}\advance\x\the\k\unitlength - \advance\x\the\k\unitlength - \cf}% -\def\fc##1\cf{\fi}% -\k243 \unitlength1pt -\xdim{243}\yoffset{-10}% -\beginpicture\cf\endpicture -\egroup\thispicture{}} -% -\lst\cglpic{\bgroup\unitlength20pt% -\xdim{1}\ydim{1}% -\beginpicture -\put(0,0){\squine(0,.4,.8,0,1,0)} -\put(0,0){\squine(0,.4,.8,1,0,1)} -\put(0,0){\squine(0,0,.4,.5,1,1)} -\put(0,0){\squine(0,0,.4,.5,0,0)} -\put(0,0){\squine(.8,.8,.4,.5,1,1)} -\put(0,0){\squine(.8,.8,.4,.5,0,0)} -\endpicture\egroup\thispicture{}% -}%end \cgl -% -\lst\chartpic{%July 1995, cgl -%Revision March 1996 -\bgroup -\def\bintree{\E{\the\ekk}\ifnum\kk=2 \eertnib\fi - \divide\kk2 {\N{\the\kk}\bintree}% - \S{\the\kk}\bintree}% -\def\eertnib##1\bintree{\fi}% -\let\Eold\E -\def\E{\global\advance\k1 - \xytxt{ \csname\the\k\endcsname}\Eold}% -\def\1{LMB, 1912}% -\def\2{MJHB, 1882}\def\5{PAME, 1884}% -\def\3{JHB, 1838}\def\4{MDB, 1840}% -\def\6{EFE, 1845}\def\7{CLW, 1850}% -\ekk8\k0\unitlength2ex\kk8 -\xdim{25}\ydim{17}\yoffset{-8}% -\beginpicture\bintree\endpicture -\egroup\thispicture{}} -% -\lst\dragonpic{%July 1995, cgl -\bgroup -\let\0\globalN\let\1\globalW -\let\2\globalS\let\3\globalE -\def\dragon{\k0 - \loop \draw - \advance\k1 \kk\k \calcdir - \ifnum\k<\kmax - \repeat} -\def\calcdir{\ifodd\kk \kaux\kk - \divide\kaux4 \multiply\kaux4 \advance\kk-\kaux - \advance\dir\kk \ifnum\dir>3 \advance\dir-4 \fi - \else\divide\kk2 \ea\calcdir\fi} -\def\draw{\csname\the\dir\endcsname1} -\unitlength2ex -\dir0\x0pt\y0pt \kmax4 -\beginpicture\dragon\endpicture -\egroup\thispicture{}} -% -\lst\flowchartlooppic -{\bgroup\unitlength=3.8ex - \xoffset{-.5}\yoffset{-.3} - \xdim{5}\ydim{7.5} -\beginpicture -\ifmarkorigin\put(0,0)\markorigin\fi -\put(0,0){\line(1,0){2}} -\put(0,0){\line(0,1){6}} -\put(0,6){\vector(1,0){2}} -\put(2,6.5){\vector(0,-1){1.5}} -\put(1,4){\framebox(2,1){pretst}} -\put(2,4){\vector(0,-1){.5}} -%rhombus -\put(2,3){\rhombus(2,1)1{tst}} -%\put(1,3){\line(2,1){1}} -%\put(1,3){\line(2,-1){1}} -%\put(3,3){\line(-2,1){1}} -%\put(3,3){\line(-2,-1){1}} -%\put(2,3){\makebox(0,0){tst}} -% -\put(2,2.5){\line(0,-1){0.5}} -\put(1,1){\framebox(2,1){posttst}} -\put(2,1){\line(0,-1){1}} -% -\put(3,3){\line(1,0){1}} -\put(4,3){\vector(0,-1){3}} -\put(4,2.5){\kern2pt`{\tt\char92else}'} -\endpicture\egroup%end flowchartlooppic -} -\lst\furutapic -{\bgroup\unitlength=4ex\yoffset{-1} - \xdim{14}\ydim{4.5} -\beginpicture -%\ifmarkorigin\put(0,0)\markorigin\fi -\put(1, 1){\oval(2, 1)} -\put(1, 1){\makebox(0, 0){Start}} -\put(2, 1){\vector(1, 0){1.5}} -\put(3.5,.25){\framebox(2,1.5){Edit}} -\put(5.5, 1){\vector(1, 0){1.5}} -\put(7,.25){\framebox(2,1.5){Format}} -\put(9, 1){\vector(1, 0){1.5}} -\put(11.5, 1){\oval(2, 1)} -\put(11.5, 1){\makebox(0, 0){End}} -\put(0,0){\squine(4.5,8,11.5,1.85,4,1.6)} -\put(11.65,1.55)\rdarrowhead -\put(0,0){\squine(4.5,6.25,8,.1,-1,.1)} -\put(4.5,.175)\luarrowhead -\endpicture\egroup%end furutapic -} -% -\lst\gpic{\bgroup\unitlength20pt% -\xdim{1}\ydim{1}% -\beginpicture -\put(0,0){\squine(0,0,.4,.5,1,1)} -\put(0,0){\squine(0,0,.4,.5,0,0)} -\put(0,0){\squine(.8,.8, 0.4,.75,1,1)} -\put(0,0){\squine(.8,.8, 0.4,.25,.5,.5)} -\put(0,0){\squine(.4,.8,.8, 0, 0,.25)} -\endpicture\egroup\thispicture{}% -}%end \gpic -% -\lst\hfractalpic{%July 1995, cgl -\bgroup -\def\mod##1{\advance\dir##1 - \ifnum3<\dir \advance\dir-4 \fi}%mod 4 -\def\nxt{\csname\the\dir\endcsname - {\the\kk}\multiply\kk17\divide\kk24 - \advance\level-1 \hf}% -\def\hf{\ifnum\level=0 \fh\fi - {\mod1\nxt}\mod3\nxt\relax}% -\def\fh##1\relax{\fi}% -\unitlength.1ex - \xdim{80}\ydim{140}\yoffset{-60}% - \kk48 \dir0 \level6 -\beginpicture\hf\endpicture -\egroup\thispicture{}} -% -\lst\indmodelpic -{\bgroup\unitlength=6ex - \xdim{7.5}\ydim{6} -\beginpicture -\put(2,0){\makebox(0,0){Result}} -\put(2,1){\vector(0,-1){.8}} -\put(2,1.25){\makebox(0,0){\cs{pasteupindex}}} -\put(5.5,1.6){\vector(-1,0){3}} -\put(2,3){\vector(0,-1){1.5}} -\put(2,3.25){\makebox(0,0){\cs{sortindex}}} -\put(2.5,2.9){\line(1,0){3}} -\put(5.5, 2.9){\vector(0,-1){.5}} -\put(5.5, 2.25){\makebox(0,0){`Enrich' index.elm\ }} -\put(5.5, 2){\line(0,-1){.4}} -\put(2,4.3){\vector(0,-1){.8}} -\put(2,4.5){\makebox(0,0){Copy + IR markup}} -\put(2,5.55){\vector(0,-1){.8}} -\put(3,5.75){\makebox(0,0){\cs{input} blue - \cs{loadindexmacros} \cs{report}}} -\endpicture\egroup} -%end indmodelpic -% -\lst\kochfractalpic{%July 1995, cgl -\bgroup -\let\0\globalN\let\1\globalE -\let\2\globalS\let\3\globalW -\def\left{\advance\dir3 \ifnum\dir>3 - \advance\dir-4 \fi}% -\def\right{\advance\dir1 \ifnum\dir>3 - \advance\dir-4 \fi}% -\def\koch{\ifnum\kk=1 \draw\hcok\fi - {\divide\kk4 - \koch\left\koch\right\koch\right\koch\koch - \left\koch\left\koch\right\koch}\relax} -\def\hcok##1\relax{\fi}% -\x0pt\y0pt\dir1\kk4 \unitlength1ex -\beginpicture\koch\endpicture -\egroup\thispicture{}} -% -\lst\lettertreepic -{\bgroup\smallskip\small - \unitlength2ex - \xdim{25}\ydim{17} - \def\makebox(##1##2)##3{\hbox - to##1\unitlength{\vbox to##2\unitlength - {\vss\hbox{##3}\vfil}\hss}} -\beginpicture -\put(0,8.9){\makebox(4,0){Letter\lower.2ex\null}} -\put(5,9){\line(-1,0){1.5}} -%first level -%vert line -\put(5,2){\line(0,1){14}}%End coordinates (5,16) -%hor lines -\multiput(5,2)(0,2){8}{\line(1,0){.75}} -%texts -\put(6,1.9){\makebox(5,0){Post}} -\put(6,3.9){\makebox(5,0){Signed}} -\put(6,5.9){\makebox(5,0){Body}} -\put(6,7.9){\makebox(5,0){Subject}} -\put(6,9.9){\makebox(5,0){Addr$+$}} -\put(6,11.9){\makebox(5,0){Date}} -\put(6,13.9){\makebox(5,0){Yourref}} -\put(6,15.9){\makebox(5,0){Ref}} -%\put(6,17.9){\makebox(5,0){Header}} -%Considered as format issue -%Second level -%hor lines -\put(11,2){\line(-1,0){2}} -\put(11,6){\line(-1,0){1.5}} -\put(11,10){\line(-1,0){1}} -%vert lines -\put(11,1){\line(0,1){2}} -\put(11,5){\line(0,1){2}} -\put(11,8){\line(0,1){4}} -%hor lines -\multiput(11,1)(0,1){3}{\line(1,0){.75}} -\multiput(11,5)(0,2){2}{\line(1,0){.75}} -\multiput(11,8)(0,2){3}{\line(1,0){.75}} -%texts -\put(12,.9){\makebox(5,0){cc$*$}} -\put(12,1.9){\makebox(7,0){Enclosures$*$}} -\put(12,2.9){\makebox(5,0){PS$*$}} -\put(12,4.9){\makebox(5,0){p$+$}} -\put(12,6.9){\makebox(5,0){Dear}} -\put(12,7.9){\makebox(5,0){Comm}} -\put(12,9.9){\makebox(5,0){Address}} -\put(12,11.9){\makebox(5,0){Name}} -%Third level -%hor lines -\put(17,5){\line(-1,0){2}} -\put(17,8){\line(-1,0){1}} -\put(17,10){\line(-1,0){.75}} -\put(17,12){\line(-1,0){1}} -%Vert lines -\put(17,4){\line(0,1){2}} -\put(17,7.5){\line(0,1){1}} -\put(17,9.5){\line(0,1){1}} -\put(17,11.5){\line(0,1){1}} -%hor lines -\multiput(17,4)(0,1){3}{\line(1,0){.75}} -\multiput(17,7.5)(0,1){2}{\line(1,0){.75}} -\multiput(17,9.5)(0,1){2}{\line(1,0){.75}} -\multiput(17,11.5)(0,1){2}{\line(1,0){.75}} -%texts -\put(18,3.9){\makebox(5,0){hp$*$}} -\put(18,4.9){\makebox(5,0){q$*$}} -\put(18,5.9){\makebox(5,0){list$*$}} -\put(18,7.4){\makebox(5,0){e-mail$*$}} -\put(18,8.4){\makebox(5,0){phone$*$}} -\put(18,9.4){\makebox(5,0){city}} -\put(18,10.4){\makebox(5,0){street}} -\put(18,11.4){\makebox(5,0){given}} -\put(18,12.4){\makebox(5,0){family}} -%fourth level -\put(21.75,9.5){\line(-1,0){1.25}} -\put(21.75,10.5){\line(-1,0){.25}} -\put(22,9.4){\makebox(5,0){country}} -\put(22,10.4){\makebox(5,0){code}} -\endpicture -\egroup} -%end lettertreepic -% -\lst\levyfractalpic{%July 1995, cgl -\bgroup -\def\summodfour{{\modsum0 - \loop \ifodd\k \advance\modsum1 \fi - \divide\k2 \ifnum\k>0 - \repeat \global\dir\modsum - \divide\modsum4 \multiply\modsum4 - \global\advance\dir-\modsum}} -\def\levyfractal{\loop\summodfour - \draw \advance\k1 - \ifnum\k<\order \repeat} -\unitlength1ex\x0pt\y0pt -\k0 \dir0 \order256 -\kk1 %argument for \draw -\ydim{14}%\yoffset{-7}% -\xdim{21}\xoffset{-2}% -\beginpicture\levyfractal\endpicture -\egroup\thispicture{}} -% -\lst\linespic -{\bgroup\unitlength1cm - \yoffset{-1.5} - \xdim{7}\ydim{3} -\beginpicture -\ifmarkorigin\put(0,0){\markorigin}\fi -\line(1,-1){1} -\line(1,1){1} -\makebox(2,0){Beer} -\disk{.25}\quad -\circle{.5} -\endpicture\egroup%end linespic -} -% -\lst\metapostpic{\bgroup -\unitlength3ex\xdim{12}\ydim{10} -\xoffset{-6} -\beginpicture -\put(-2,0){\framebox(4,1){.ps}} -\put(0,1){\line(0,1)1} -\put(-6,2){\makebox(12,1){dvips, or \dots}} -\put(0,2.5){\oval(12,1)} -\put(-4,3){\line(0,1)1} -\put(-6,4){\framebox(4,1){.eps}} -\put(-4,5){\line(0,1)1} -\put(-6,6){\makebox(4,1){MetaPost}} -\put(-4,6.5){\oval(4,1)} -\put(-4,7){\line(0,1)1} -\put(-6,8){\framebox(4,1){.mp}} -% -\put(4,3){\line(0,1)1} -\put(2,4){\framebox(4,1){.dvi}} -\put(4,5){\line(0,1)1} -\put(2,6){\makebox(4,1){(any)\TeX}} -\put(4,6.5){\oval(4,1)} -\put(4,7){\line(0,1)1} -\put(2,8){\framebox(4,1){.tex}} -\put(6,9){\corners1} -\put(6.4,9){{\tiny (e)psfig}} -\endpicture\egroup} -% -\lst\ntgpiepic -{\bgroup\unitlength=7ex - \xoffset{-3}\yoffset{-2.25} - \xdim{6}\ydim{5} -\beginpicture -%1st quadrant -%\bezier{100}(2, 0)(2, .54)(1.79, .89) - % 0 - `30' 2:1-lijn -%\bezier{60}(1.79, .89)(1.46, 1.46)(1, -%1.73) -\put(0,0){\squine(1.79,1.46,1,.89,1.46, - 1.73)} - % `30' - 60 -%\bezier{60}(1, 1.73)(.54, 2)(0, 2) - % 60 - 90 -\put(0,0){\squine(1,.54,0,1.73,2,2)} -%2nd quadrant -%\bezier{60}(0, 2)(-.54, 2)(-1, 1.73) - % 90 - 120 -\put(0,0){\squine(0,-.54,-1,2,2,1.73)} -%\bezier{60}(-1,1.73)(-1.46,1.46)(-1.73, -%1) - %120 - 150 -\put(0,0){\squine(-1,-1.46,-1.73,1.73, - 1.46,1)} -%\bezier{60}(-1.73, 1)(-2, .54)(-2, 0) - %150 - 180 -\put(0,0){\squine(-1.73,-2,-2,1,.54,0)} -%3rd quadrant -%\bezier{60}(-2, 0)(-2, -.54)(-1.73, -1) - %180 - 210 -\put(0,0){\squine(-2,-2,-1.73,0,-.54, - -1)} -%\bezier{60}(-1.73,-1)(-1.46,-1.46)(-1, -%-1.73) - %210 -240 -\put(0,0){\squine(-1.73,-1.46,-1,-1, - -1.46,-1.73)} -%\bezier{60}(-1, -1.73)(-.54, -2)(0, -2) - %240 - 270 -\put(0,0){\squine(-1,-.54,0,-1.73,-2,-2)} -%4th quadrant -%\bezier{60}(0, -2)(.54, -2)(1, -1.73) - %270 - 300 -\put(0,0){\squine(0,.54,1,-2,-2,-1.73)} -%\bezier{60}(1,-1.73)(1.46,-1.46)(1.73,-1) - %300 - 330 -\put(0,0){\squine(1,1.46,1.73,-1.73, - -1.46,-1)} -%\bezier{60}(1.73, -1)(2, -.54)(2, 0) - %330 - 360 -\put(0,0){\squine(1.73,2,2,-1,-.54,0)} -%division lines -\put(0, 0){\line(1, 0){2}} -\put(0, 0){\line(2, 1){1.79}} - %1.79 = 2 cos arctg .5 -%\put(0, 0){\line(-2, 1){1.79}} -%\bezier{75}(0, 0)(-.81, .59)(-1.61, -%1.18) - %-.81 = cos 144; .59 = sin 144 -\put(0,0){\squine(0,-.81,-1.61,0,.59, - 1.18)} -%\put(0, 0){\line(-1, -2){.89}} - % .89 = 2 sin arctg .5 -%\bezier{75}(0, 0)(-.59, -.81)(-1.18, -%-1.62) - %-.59 = cos -126; -.81 = sin -126 -\put(0,0){\squine(0,-.59,-1.18,0,-.81, - -1.62)} -%piece -%\bezier{60}(2.5, 0.1)(2.5, .64)(2.29, -%.99) - % shift .5, .1 -\put(0,0){\squine(2.5,2.5,2.29,0.1,.64, - .99)} -\put(0.5, 0.1){\line(1, 0){2}} -\put(0.5, 0.1){\line(2, 1){1.79}} -%Candles: -%\bezier{20}(0,1.31)(-.15,1.45)(0,1.61) -\put(0,0){\squine(0,-.15,0,1.31,1.45, - 1.61)} -%\bezier{20}(0,1.31)(.175,1.45)(0,1.61) -\put(0,0){\squine(0,.175,0,1.31,1.45, - 1.61)} -%Middle -\put(-.1,.11){\line(0,1){1.2}} -\put(.1,.05){\line(0,1){.95}} -\put(.1,1.1){\line(-2,3){.2}} -%Left -%\bezier{20}(-.25,1.46)(-.40,1.6)( -%-.25,1.76) -\put(0,0){\squine(-.25,-.40,-.25, - 1.46,1.6,1.76)} -%\bezier{20}(-.25,1.46)(-.075,1.6)( -%-.25,1.76) -\put(0,0){\squine(-.25,-.075,-.25, - 1.46,1.6,1.76)} -\put(-.35,.26){\line(0,1){1.2}} -\put(-.15,.21){\line(0,1){.95}} -\put(-.15,1.15){\line(-2,3){.2}} -%Right -%\bezier{20}(.25,1.46)(.40,1.6)(.25, -%1.76) -\put(0,0){\squine(.25,.40,.25,1.46, - 1.6,1.76)} -%\bezier{20}(.25,1.46)(.075,1.6)(.25, -%1.76) -\put(0,0){\squine(.25,.075,.25,1.46, - 1.6,1.76)} -\put(.35,.25){\line(0,1){1.2}} -\put(.15,.2){\line(0,1){.95}} -\put(.15,1.15){\line(2,3){.2}} -%Leftleft -%\bezier{20}(-.5,1.61)(-.65,1.75)( -%-.5,1.91) -\put(0,0){\squine(-.5,-.65,-.5,1.61, - 1.75,1.91)} -%\bezier{20}(-.5,1.61)(-.325,1.75)( -%-.5,1.91) -\put(0,0){\squine(-.5,-.325,-.5,1.61, - 1.75,1.91)} -\put(-.6,.41){\line(0,1){1.2}} -\put(-.4,.36){\line(0,1){.95}} -\put(-.4,1.3){\line(-2,3){.2}} -%Rightright -%\bezier{20}(.5,1.61)(.65,1.75)(.5, -%1.91) -\put(0,0){\squine(.5,.65,.5,1.61,1.75, - 1.91)} -%\bezier{20}(.5,1.61)(.325,1.75)(.5, -%1.91) -\put(0,0){\squine(.5,.325,.5,1.61, - 1.75,1.91)} -\put(.6,.4){\line(0,1){1.2}} -\put(.4,.35){\line(0,1){.95}} -\put(.4,1.3){\line(2,3){.2}} -%texts -\put(-1, -.1){\makebox(0, 0){\strut - Happy}} -\put(.5, -1){\makebox(0, 0){\strut - Birthday}} -\put(1.9, .35){\makebox(0, 0){\strut - NTG}} -\endpicture\egroup%end ntgpiepic -\thispicture{}} -% -\lst\overviewtexpic -{\bgroup\unitlength=3.8ex \fullfalse - \xoffset{-.5}\yoffset{-2.75} - \xdim{15}\ydim{16.5} -\beginpicture -%1st column -\put(1, 0){\line(0, 1){1.5}} -\put(1, 2){\oval(2, 1)} -\iffull\put(1.1, 2.1){\ovaltlfalse\ovalblfalse\ovalbrfalse - \oval(2, 1)} - \put(2.1, 2){{\tiny .ps}} - \put(1.2, 2.2){\ovaltlfalse\ovalblfalse\ovalbrfalse - \oval(2, 1)} - \put(2.3, 2.2){{\tiny .log}} -\fi -\put(1, 2){\makebox(0, 0){.pk}} -\put(1, 4){\vector(0, -1){1.5}} -\put(-.5, 4){\framebox(3, 1){% - METAFONT}} -\iffull\card{2.75}{5.25}{-{%\smc%Too large - post}} -\fi -\put(1, 6.5){\vector(0, -1){1.5}} -\put(1, 7){\oval(2, 1)} -\put(1, 7){\makebox(0, 0){.mf}} -%second column -\put(7.5, -.5){\framebox(2, 1){% - driver}} -\put(9.5,.5){\corners{.5}}% -\put(8.5, 1.5){\vector(0, -1){1}} - %mod 24/1/94 -\put(8.5, 2){\oval(2, 1)} -\iffull - \put(8.6, 2.1){\ovaltlfalse\ovalblfalse\ovalbrfalse - \oval(2, 1)} - \put(9.6, 2){{\tiny .log}} -%\put(8.7, 2.2){\ovaltlfalse\ovalblfalse\ovalbrfalse -% \oval(2, 1)} -\fi -\put(8.5, 2){\makebox(0, 0){.dvi}} -\put(8.5, 4){\vector(0, -1){1.5}} -\put(7.5, 4){\framebox(2, 1){\TeX}} -%Flavours -\card{ 9.75}{5.25}{BLUe} -\card{10 }{5.5 }{La\TeX} -\card{10.25}{5.75}{AMS-(La)\TeX} -%\diagdots{10.35}{5.85} -% -\put(8.5, 6.5){\vector(0, -1){1.5}} -\put(8.5, 7){\oval(2, 1)} -\put(8.5, 7){\makebox(0, 0){.tex}} -% -\multiput(8.5, 9)(0, -.415){3}{% - \line(0, -1){.25}} -\put(8.5, 8.7){\vector(0, 1){.3}} -\put(8.5, 7.8){\vector(0, -1){.3}} -\put(7.5, 9){\framebox(2, 1){editor}} -%Tools -\card{ 9.75}{10.25}{Spell} -\card{10 }{10.5 }{Style} -%\diagdots{10.1}{10.6} -% -\put(8.5, 11.5){\vector(0, -1){1.5}} -\put(8.5, 12){\oval(2, 1)} -\put(8.5, 12){\makebox(0, 0){copy}} -%basis -\put(1, 0){\vector(1, 0){6.5}} -\put(9.5, 0){\vector(1, 0){1.5}} -\put(11, -.75){\framebox(2, 1.5){\vbox{% - \hbox{printer} - \hbox{screen}}}} -%middle -\multiput(5, 5.25)(0, 1){3}{% - \line(0,1){.5}} -\multiput(5, .25)(0, 1){4}{% - \line(0,1){.5}} -\multiput(5, -2.25)(0, .5){2}{% - \line(0,1){.25}} -\put(5,-.5){\line(0,1){.25}} -%PostScript -\iffull - \put(1, -1){\oval(2, .5)} - \put(1, -1){\makebox(0, 0){{\tiny A-Type1}}} - \put(1.1, -.9){\ovaltlfalse\ovalblfalse\ovalbrfalse - \oval(2, .5)} - \put(1.2, -.8){\ovaltlfalse\ovalblfalse\ovalbrfalse - \oval(2, .5)} - \multiput(2, -1)(.45, 0){4}{% - \line(1,0){.25}} - \put(4,-1){\vector(1,0){0}} - \put(4, -1.250){\framebox(2, .5){% - {\tiny \PS}}} - \multiput(6, -1)(.45, 0){8}{% - \line(1,0){.25}} - \put(9.75,-1){\vector(1,0){0}} - \put(10.25, -1){\oval(1, .5)} - \put(10.25, -1){\makebox(0, 0){{\tiny .ps}}} - \multiput(10.75, -1)(.45, 0){5}{% - \line(1,0){.25}} - \put(13.25,-1){\vector(1,0){0}} - \put(12,-1){\vector(0,1){.25}} - \put(13.25, -1.25){\framebox(1.5, .5){{\tiny Acrobat}}} - \put(14.75, -.75){\corners{.5}} - \multiput(14, -.625)(0,1){2}{\line(0,1){.25}} - \put(13.25, .75){\framebox(1.5, .5){{\tiny Acrobat}}} - \put(14.75, 1.25){\corners{.5}} - \put(14, 0){\oval(1,.5)} - \put(14, 0){\makebox(0, 0){{\tiny .pdf}}} - \multiput(13.25,1)(-.5, 0){3}{\line(-1,0){.25}} - \put(12, 1){\vector(0,-1){.25}} - \put(8.5, -1){\vector(0, 1){.5}} - \put(8.5,-.5){\vector(0,-1){.5}} -\else - \put(5, -1){\line(0, -1){.25}} -\fi -% -\put(2.5, 4.5){\vector(1, 0){1.5}} -\put(5, 4.5){\oval(2, 1)} -\put(5, 4.5){\makebox(0, 0){.tfm}} -\put(6, 4.5){\vector(1, 0){1.5}} -%Source variants -\iffull - \put(9.5, 7){\vector(-1,0){0}} - \multiput(9.5, 7)(.5,0){2}{\line(1, 0){.25}} - \multiput(10.25, 7.375)(.5,0){2}{\line(1, 0){.25}} - \put(11, 7.375){\vector(1,0){0}} - \put(11, 7.125){\framebox(1.5,.5){\tiny SGML}} - \multiput(10.25, 7.375)(0,-.5){2}{\line(0,-1){.25}} - \multiput(10.25, 6.625)(.5,0){2}{\line(1, 0){.25}} - \put(11,6.625){\vector(1,0){0}} - \put(11,6.375){\framebox(1.5,.5){\tiny HTML}} - %\put(12, 4.5){\oval(2, 1)} - %\put(12, 4.5){\makebox(0, 0){.log}} -\fi -%base line -\put(.51,-2.25){\vector(-1, 0){1}} -\put(2.25, -2.25){\makebox(0, 0){Fonts}} -\put(3.9,-2.25){\vector( 1, 0){1}} -\put(6.1,-2.25){\vector(-1, 0){1}} -\put(9, -2.25){\makebox(0, 0){% - Typesetting}} -\put(11.9,-2.25){\vector(1, 0){1}} -\endpicture\egroup%end overviewtexpic -\thispicture{}} -% -\lst\partitionedmatrixpic{\bgroup - \def\vdts{\vbox{\baselineskip4pt - \lineskiplimit0pt - \vglue2pt\hbox{.}\hbox{.}\hbox{.}}}% -\vcenter{\offinterlineskip%No interline -% space in between parts -\halign{\hfil$##$&\hfil$##$\hfil\cr%2-column -%first row with braces, element 11 empty -{}&\hfil\enspace\mathop{\hbox to.9cm% - {\downbracefill}}\limits^{\vbox{\hbox{ - $\scriptstyle p$}\kern2pt}} - \enspace\hfil\mathop{\hbox to.6cm% - {\downbracefill}}\limits^{\vbox{\hbox to - 0pt{\hss$\scriptstyle n-p$\hss}\kern2pt}}% - \enspace\hfil\cr % end first row -%Separation between first (border) row and -%rest -\noalign{\vglue.5ex} -%first column with braces -\vcenter{\kern1ex% - \hbox{${\scriptstyle p}\left\fatlbrace\vbox to5.5ex{} - \right.$}\kern1.5ex - \hbox{\llap{$\scriptstyle n{-}$}% - ${\scriptstyle p}\left\fatlbrace\vbox to4ex{} - \right.$}} -&%22-element is the matrix proper -\left(\vcenter{\offinterlineskip -\halign{\hfil$##$\hfil&\hfil$##$\hfil& -\hfil$##$\hfil&\hfil$##$\hfil -\tabskip=.5\tabskip&\vdts##& -\tabskip=2\tabskip -\hfil$##$\hfil&\hfil$##$\hfil& -\hfil$##$\hfil\cr%end template -\times&\times&\times&\times&&\times& - \times&\times\cr -0 &\times&\times&\times&&\times& - \times&\times\cr -0 &0 &\times&\times&&\times& - \times&\times\cr -0 &0 &0 &\times&&\times& - \times&\times\cr -\noalign{\vglue.5ex} -\multispan8\dotfill\cr -0 &0 &0 &0 &&\times& - \times&\times\cr -0 &0 &0 &0 &&\times& - \times&\times\cr -0 &0 &0 &0 &&\times& -\times&\times\cr}%end halign (22) -}%end vcenter -\right)\cr %end 22-element -%Separation between last (border) row -%and rest -\noalign{\vglue1ex} -{}&\hfil\enspace\mathop{\hbox to.9cm{% - \upbracefill}}\limits_{\vbox{\kern2pt - \amyicurt{4ex}{1.5ex}}} - \enspace\hfil - \mathop{\hbox to.6cm{% - \upbracefill}}\limits_{\vbox{\kern2pt - \unitlength1ex - \icmat4{1.5}}}\enspace\hfil% -\cr % end last row -}%end halign -}\egroup%end vbox -}%end partitionedmatrixpic -% -\lst\pstexpic{%cgl, June 1996 -\bgroup -\unitlength3ex\xdim{12}\ydim{14} -\xoffset{-6} -\beginpicture -\put(-2,0){\makebox(4,1){P/G-script}} -\put(0,.5){\oval(4,1)} -\put(0,1){\line(0,1)1} -\put(-2,2){\framebox(4,1){.ps}} -\put(0,3){\line(0,1)1} -\put(-2,4){\makebox(4,1){dvips}} -\put(0,4.5){\oval(4,1)} -\put(0,5){\line(0,1)1} -\put(-2,6){\framebox(4,1){.dvi}} -\put(2,7){\corners1} -\put(2.4,7){{\tiny .eps}} -\put(0,7){\line(0,1)1} -\put(-2,8){\makebox(4,1){(any)\TeX}} -\put(0,8.5){\oval(4,1)} -\put(0,9){\line(0,1)1} -\put(-2,10){\framebox(4,1){.tex}} -\put(2,11){\corners1} -\put(2.4,11){{\tiny (e)psfig}} -% -\put(0,11){\line(0,1)1} -\put(-2,12){\makebox(4,1){editor}} -\put(0,12.5){\oval(4,1)} -\put(2,12.5){\line(1,0)1} -\put(3,12.5){\line(0,-1)1} -\put(3,10.5){\line(0,-1)3} -\endpicture\egroup} -% -\lst\pythpic{%July 1995, cgl -%Revision March 1996 -\bgroup -%\newdimen\leftx \newdimen\rightx -%\newdimen\lefty \newdimen\righty -\let\0\N \let\1\NE \let\2\E \let\3\SE -\let\4\S \let\5\SW \let\6\W \let\7\NW -\def\right{\turn2}% -\def\left{\turn6}% -\def\turn##1{\advance\dir##1 - \ifnum\dir>7 \advance\dir-8 \fi}%mod 8 -\def\draw{\csname\the\dir\endcsname{\the\kk}}% -\def\ldrawsq{\draw \leftx\x \lefty\y - \right\draw \rightx\x \righty\y - \right\draw - \right\draw - \right}% -\def\rdrawsq{\draw \rightx\x \righty\y - \left\draw \leftx\x \lefty\y - \left\draw - \left\draw - \left}% -\let\drawsq\ldrawsq -\def\pyth{\ifnum\level=1 \htyp\fi - \drawsq\advance\level-1 \multiply\kk18\divide\kk25 - {\turn7\x\leftx \y\lefty \let\drawsq\ldrawsq\pyth}% - \turn1\x\rightx \y\righty\let\drawsq\rdrawsq\pyth} -\def\htyp##1\pyth{\fi}% -\unitlength0.2ex\kk20 -\rightx\the\kk\unitlength -\divide\rightx2 \x-\rightx%positioning -\level5 -\xdim{28}\ydim{70}\xoffset{-9}% -\beginpicture\pyth\endpicture -\egroup\thispicture{}} -% -\lst\pythtreepic{%July 1995, cgl -%Revision March 1996 -\bgroup -\let\0\N \let\1\NE \let\2\E \let\3\SE -\let\4\S \let\5\SW \let\6\W \let\7\NW -\def\leftbranch{\advance\dir7 - \ifnum\dir>7 \advance\dir-8 \fi}%mod 8 -\def\rightbranch{\advance\dir1 - \ifnum\dir>7 \advance\dir-8 \fi}%mod 8 -\def\draw{\csname\the\dir\endcsname{\the\kk}} -\def\pythtree{\ifnum\level=1 \eerthtyp\fi - \advance\level-1 - \multiply\kk23\divide\kk32 - {\leftbranch\draw\pythtree}% - \rightbranch\draw\pythtree} -\def\eerthtyp##1\pythtree{\fi} -%alternative -%\def\pythtree{\ifnum\level>1 -% \expandafter\dopyth\fi} -%\def\dopyth{\advance\level-1 -% \multiply\kk23\divide\kk32 -% {\leftbranch\draw\pythtree}% -% \rightbranch\draw\pythtree} -%\linethickness.2pt - \unitlength.2pt - \level6 \dir0 \kk90 -\xdim{285}\ydim{285}\xoffset{-90}% -\beginpicture -\setbox\hlfwndelm=\hbox{\vrule - width\the\linethickness - height\the\linethickness depth0pt} -\N{\the\kk}\pythtree\endpicture -\egroup\thispicture{}}%end \pythtreepic -% -\lst\regulartransparencypic{ -\setbox0=\vbox to.6\hsize{\let\x\fiverm - \hsize=.4\hsize\def\w{\kern.5ex} - \vskip.5ex\noindent - \centerline{\x Title Transparencies Set} - \line{\x\w\vbox to 10ex{\vss - \rlap{\x LOGO}\vss}\hfill - \vbox to 10ex{\vss - \x\baselineskip3ex - \llap{\x headtitle} - \llap{\x subheadtitle} - \llap{\x subsubheadtitle} - \vss}\w} - \hrule\vfil - \centerline{o\ o} - \centerline{\vrt} - \centerline{\teni\char'136} - \vfil\hrule\vskip.5ex - \line{\x\w\rlap{\x date}\hfill - --number--\hfill - \llap{\x copyright}\w} - \vskip.5ex} -% -\vbox{\vskip1ex\hbox to.4\hsize{\hss - Regular Transparency\hss} -\kern2ex -\hbox{\rlap{\copy0}\makelightbox}} -} -\lst\rotatedbintreepic{%July 1995, cgl -\bgroup\unitlength1ex% - \let\W\N \let\exchange\E - \let\E\S \let\S\exchange - \def\1{x}\def\2{y}\def\3{a}\def\4{b}% - \def\5{piet}\def\6{hans}\def\7{etc.}\def\8{}% - \k0\kk16\xdim{10}\ydim{30}% -\beginpicture\bintree\endpicture\egroup -\thispicture{}} -% -\lst\sgmltexpic -{\bgroup\csname newcount\endcsname\leg -\unitlength2.5ex\xoffset{-13} -\xdim{20}\ydim{25} -\beginpicture -\put(-7,\the\leg){\framebox(4,2){% - (La)\TeX}} -\put(-2,\the\leg){\framebox(4,2){% - TROFF}} -\put(3,\the\leg){\framebox(4,2){\dots}} -\advance \leg by 4 -%hark -\put(-5,\the\leg){\vector(0,-1){1.75}} -\put(0,\the\leg){\vector(0,-1){1.75}} -\put(5,\the\leg){\vector(0,-1){1.75}} -\put(-5,\the\leg){\vector(1,0){5}} -%backarrow -\put( 0,\the\leg){\line(1,0){5}} -%converters -\put(5.5,\the\leg){\vtop to 0pt{% -\hbox{Specific}\hbox{format file}\vss}} -\put(0,\the\leg){\vector(0, 1){1}} -%backarrow -\advance \leg by 1 -\put(-4,\the\leg){\framebox(8,2){% - $\vcenter{\hbox{Generic markup} - \hbox{$\Rightarrow$\ - procedural}}$ - } - } -\advance \leg by 2 -\put(4,\the\leg){\corners1} -%\put(4.2,\the\leg.2){\line(0, -1){1}} -%\put(4.2,\the\leg.2){\line(-1, 0){1}} -%\put(4.4,\the\leg.4){\line(0, -1){1}} -%\put(4.4,\the\leg.4){\line(-1, 0){1}} -\put(4.4,\the\leg.2){{\tiny Formats}} -% -\advance \leg by 1 -\put(0,\the\leg.5){\vector(0,-1){1.5}} -\put(0,\the\leg.5){\vector(0, 1){0}} -%backarrow head -%applications -\advance \leg by 1 -\put(-10,\the\leg){\makebox(0,0){Exchange}} -\put(-5,\the\leg){\makebox(0,0){Storage}} -\put(0,\the\leg){\makebox(0,0){% - Publication}} -\put(5,\the\leg){\makebox(0,0){% - Database}} -\put(10,\the\leg){\makebox(0,0){% -\vtop to 0pt{\hbox{(Text-)} - \hbox{analysis}\vss}}} -%hark -\advance \leg by 2 -\put(0,\the\leg){\vector(0,-1){1.25}} -\put(-5,\the\leg){\vector(0,-1){1.25}} -\put(-10,\the\leg){\vector(0,-1){1.25}} -\put(5,\the\leg){\vector(0,-1){1.25}} -\put(10,\the\leg){\vector(0,-1){1.25}} -\put(-10.5,\the\leg){\line(1,0){21}} -\put(11.25,\the\leg){\makebox(0,0){\dots}} -\put(-11.25,\the\leg){\makebox(0,0){\dots}} -\advance \leg by 2 -\put(0,\the\leg){\line(0,-1){2}} -\put(0,\the\leg){\vector(0,1){0}} -%back (up) arrow head -\put(-7.5,\the\leg){\framebox(15,1){% - Complete, correct SGML doc.}} -\advance \leg by 2 -\put(.5,\the\leg.25){Parser} -\advance \leg by 2 -\put(0,\the\leg){\vector(0,-1){3}} -%\advance \leg by 1 -\put(-7.5,\the\leg){\framebox(15,3){ - $\vcenter{\hbox{|<|!SGML - - - declaration - -|>|} - \hbox{|<|!DOCTYPE - - - declaration - -|>|} - \hbox{|<|! - - - Markup copy - -|>|}}$ - } - } -\advance \leg by 3 -%\corners -\put(7.5,\the\leg){\corners2} -%\put(7.7,\the\leg.2){\line(0,-1){2}} -%\put(7.7,\the\leg.2){\line(-1,0){2}} -%\put(7.9,\the\leg.4){\line(0,-1){2}} -%\put(7.9,\the\leg.4){\line(-1,0){2}} -\put(7.9,\the\leg.2){{\tiny DTDs}} -% -\advance \leg by 1 -\put(.5,\the\leg){Editor} -\advance \leg by 1 -\put(0,\the\leg.5){\vector(0,-1){2.5}} -\advance \leg by 1 -\put(0,\the\leg){\framebox(0,0){\strut - ``Copy''}} -\endpicture\egroup%end sgmltexpic -\thispicture{}} -% -\lst\sierpinskitripic{%July 1995, cgl -%Revision March 1996 -\bgroup -\def\triangle{\ifnum\kk=0 \elgnairt\fi - {\N{\the\kk}}{\E{\the\kk}}\divide\kk2 - {\triangle}% - {\advance\x\the\kk\unitlength\triangle}% - \advance\y\the\kk\unitlength\triangle} -\def\elgnairt##1\triangle{\fi} -\unitlength1ex\kk16 -\xdim{16}\ydim{16} -\beginpicture\triangle\endpicture -\egroup\thispicture{}} -% -\lst\simplepic -{\bgroup\unitlength=1cm - \xdim{3}\ydim{1.25} -\beginpicture -\ifmarkorigin\put(0,0){\markorigin}\fi -\put(1.5,.5){\oval(2,1)} -\put(0.5,0){\makebox(2,1){Kees}} -\endpicture\egroup%end simplepic -} -\lst\spiralpic{%July 1995, cgl -\bgroup\unitlength.5ex\k30 - \xdim{\the\k}\ydim{34}% - \yoffset{-\the\k}% -\beginpicture - \loop\E{\the\k}\advance\k-1 - \S{\the\k}\advance\k-1 - \W{\the\k}\advance\k-1 - \N{\the\k}\advance\k-1 - \ifnum\k>4 \repeat -\endpicture\egroup -\thispicture{}} -% -\lst\texflowpic -{\bgroup\smallskip\small -\unitlength=2.5ex -\xdim{18}\ydim{19}\yoffset{2} -\beginpicture -\put(6,1.5){\makebox(0,0){``Copy''}} -\put(6,20.5){\makebox(0,0){``Results''}} -\put(6,5){\oval(6,2)} -\put(6,5){\makebox(0,0){Editor}} -\put(6,9){\oval(6,2)} -\put(6,9){\makebox(0,0){\AllTeX}} -\put(6,13){\makebox(0,0){{\rm Error?}}} -\put(6,17){\oval(6,2)} -\put(6,17){\makebox(0,0){Driver}} -\put(12,4){%\dashbox{.5}(8,2){\makebox(0,0){% - \framebox(8,2){\vbox{% - \hbox{\tiny Spelling checker} - \hbox{\tiny Style tools}}}} -\put(0.2,13.2){Yes} -\put(6.50,14.5){No} -\put(6,2){\vector(0,1){2}} -\put(6,6){\vector(0,1){2}} -\put(6,10){\vector(0,1){2}} -\put(6,14){\vector(0,1){2}} -\put(6,18){\vector(0,1){2}} -\put(0,13){\line(0,-1){8}} -\put(9,5){\vector(1,0){3}} -\put(12,5){\vector(-1,0){3}} -\put(0,5){\vector(1,0){3}} -\put(3,13){\line(-1,0){3}} -\put(3,13){\line(3,1){3}} -\put(3,13){\line(3,-1){3}} -\put(9,13){\line(-3,1){3}} -\put(9,13){\line(-3,-1){3}} -\endpicture -%\caption{Correction cyclus \label{correctie}} -\smallskip\egroup -} -\lst\systemtheorypic -{\bgroup -\unitlength1cm\xoffset{-1.5} -\xdim{7}\ydim{2.25} -\beginpicture -\ifmarkorigin\put(0,0){\markorigin}\fi -\put(-1,1.75){$u_1$} -\put(-.4,1.5){$^{\fivesy+}$} -\put(-1,1.5){\vector(1,0){.9}} -\put(0,0){\vector(0,1){1.4}} -\put(-.3,1.125){$^{\fivesy+}$} -\put(0,1.5){\circle{.1}} -% -\put(.1,1.5){\vector(1,0){1.65}} -\put(.5,1.25){$e_1$} -\put(1.75,1.125){\framebox(1,.75){$G$}} -\put(2.75,1.5){\line(1,0){1.75}} -% -\put(4.5,1.5){\vector(0,-1){1.4}} -\put(4.6,.2){$^{\fivesy+}$} -\put(4.5,0){\circle{.1}} -% -\put(1.75,0){\line(-1,0){1.75}} -\put(1.75,-.375){\framebox(1,.75){$K$}} -\put(4.4,0){\vector(-1,0){1.65}} -\put(3.25,-.25){$e_1$} -% -\put(5.5,0){\vector(-1,0){.9}} -\put(4.7,-.375){$^{\fivesy+}$} -\put(5.5,-.25){\llap{$u_2$}} -\endpicture -\egroup%end systemtheorypic -} - -\lst\titletransparencypic{% -\setbox0=\vbox to.6\hsize{\let\x\fiverm - \let\s\sevenrm - \hsize=.4\hsize\def\w{\kern.5ex} - \vskip7ex\noindent - \centerline{\s Title Transparencies - Set} - \centerline{\x subtitle} - \vskip2ex - \centerline{\s author name} - \centerline{\x address} - \vskip3ex - \centerline{\llap{\s\kern-10ex-- - \quad\dots}} - \centerline{\llap{\s\kern-10ex-- - \quad\dots}} - \vfil} -% -\vbox{\hbox to.4\hsize{\hss Title - Transparency\hss} -\kern2ex -\hbox{\rlap{\copy0}\makelightbox}} -} -% -\lst\trimodelpic{%July 1995, cgl -\bgroup\linethickness1ex -\unitlength1ex -\xdim{0}\ydim{15}% -\yoffset{-5}% -\beginpicture -\setbox\trielm=\hbox{\vrule - width1.74\linethickness - height\linethickness\relax} -\unitlengthy\ht\trielm -\unitlengthx\wd\trielm -\unitlength\unitlengthy -{\N{10}}{\ESE{10}}{\WSW{10}}$$ -\endpicture\egroup -\thispicture{}}%end \trimodelpic -% -\lst\tritreepic{%July 1995, cgl -%Revision March 1996 -\bgroup\linethickness.2pt -%Here we have to correct for the direction -%and to adjust the drawing element atom -%into a rectangular block, -%default of size $.348{\times}.2$pt.\ftn{% -% Vertically only half of the atoms have to be stacked. -% Horizontally the right distance must be paced, -% i.e.\ a factor $\sqrt3$ larger. -% The rectangular block has sides in the proportion of $\sqrt3$.} -\def\tritree{\ifnum\level=1 \eertirt\fi - \advance\level-1 \divide\kk2 - {\N{\the\kk}\tritree}% - {\ESE{\the\kk}\tritree}% - \WSW{\the\kk}\tritree}% -\def\eertirt##1\tritree{\fi}% -\unitlength.2pt -\xdim{0}\ydim{320}% -\xoffset{0}\yoffset{0}% -\level5 \kk128 -\beginpicture -\setbox\trielm=\hbox{\vrule - width1.74\linethickness - height\linethickness}% -%To account for element in 30 degrees direction -\unitlengthy\ht\trielm %default.2pt -\unitlengthx\wd\trielm %default.3482pt -\unitlength\unitlengthy -\tritree -\endpicture\egroup -\thispicture{}}%end \tritreepic -% -\lst\vectorbundlepic -{\bgroup\unitlength=1cm - \xdim{4}\ydim{5}\yoffset{-.25} -\beginpicture -\ifmarkorigin\put(0,0){\markorigin}\fi -\put(2,0){\vector(1,1){1}} -\put(2,0){\vector(1,2){1}} -\put(2,0){\vector(1,3){1}} -\put(2,0){\vector(2,3){1}} -\put(2,0){\vector(1,4){1}} -\put(2,0){\vector(2,1){1}} -\put(2,0){\vector(3,1){1}} -\put(2,0){\vector(3,2){1}} -\put(2,0){\vector(4,1){1}} -%Second quadrant -\put(2,0){\vector(-1,1){1}} -\put(2,0){\vector(-2,1){1}} -\put(2,0){\vector(-3,1){1}} -\put(2,0){\vector(-3,2){1}} -\put(2,0){\vector(-4,1){1}} -\put(2,0){\vector(-1,2){1}} -\put(2,0){\vector(-1,3){1}} -\put(2,0){\vector(-1,3){1}} -\put(2,0){\vector(-2,3){1}} -\put(2,0){\vector(-1,4){1}} -\endpicture\egroup%end vector -} % bundlepic -% -\lst\viewtexpic -{\bgroup\smallskip\small -\unitlength2.5ex -\xdim{24}\ydim{20.5} -\beginpicture -\put( 3, 4){\oval( 6, 2)} -\put( 3, 4){\makebox( 0, 0){\tiny PC preview}} -\put( 3, 7){\oval( 6, 2)} -\put( 3, 7){\makebox( 0, 0){\tiny VDU preview}} -\put(21, 1){\oval( 6, 2)} -\put(21, 1){\makebox( 0, 0){\tiny Photo setter}} -\put(21, 4){\oval( 6, 2)} -\put(21, 4){\makebox( 0, 0){\tiny Laser printer}} -\put(21, 7){\oval( 6, 2)} -\put(21, 7){\makebox( 0, 0){\tiny Matrix printer}} -\put(12,19.5){\oval( 6, 2)} -\put(12,19.5){\makebox( 0, 0){CompuScript}} -\put(9,15.5){\framebox(6, 2){\TeX}} -\put(12,13.5){\oval( 6, 2)} -\put(12,13.5){\makebox( 0, 0){dvi-file}} -\put( 9, 9){%dashbox{.5}( 6, 2){PostScript}} - \framebox( 6, 2){PostScript}} -\put(12, 1){\line( 0, 1){8}} -\put(12,12.5){\vector( 0,-1){1.5}}%dvi-postscript -\put(12,18.5){\vector(0,-1){1}} %ms-dos dvi -\put(12,15.5){\vector(0,-1){1}} %ms-dos dvi -\put(12, 7){\vector( 1, 0){6}} -\put(12, 7){\vector(-1, 0){6}} -\put(12, 4){\vector( 1, 0){6}} -\put(12, 4){\vector(-1, 0){6}} -\put(12, 1){\vector( 1, 0){6}} -\endpicture -\smallskip\egroup -} -\lst\webpic{\bgroup -\unitlength2.5ex\xdim{12}\ydim{10} -\xoffset{-6} -\beginpicture -\put(2,0){\framebox(4,1){nme.dvi}} -\put(4,1){\line(0,1)1} -\put(4,2.5){\oval(4,1)} -\put(4,3){\line(0,1)1} -\put(2,2){\makebox(4,1){\TeX}} -\put(4,5){\line(0,1)1} -\put(2,4){\framebox(4,1){nme.tex}} -\put(4,6.5){\oval(4,1)} -\put(2,6){\makebox(4,1){cweave}} -\put(-4,2.5){\oval(4,1)} -\put(-6,2){\makebox(4,1){C}} -\put(-4,3){\line(0,1)1} -\put(-6,4){\framebox(4,1){nme.c}} -\put(-4,5){\line(0,1)1} -\put(-4,6.5){\oval(4,1)} -\put(-6,6){\makebox(4,1){ctangle}} -\put(-4,7){\line(4,1)4} -\put( 4,7){\line(-4,1)4} -\put(-2,8){\framebox(4,1){nme.w}} -\endpicture\egroup} -% -\lst\windpic{%July 1995, cgl -\bgroup\unitlength10ex -\let\0\N \let\1\NE \let\2\E \let\3\SE -\let\4\S \let\5\SW \let\6\W \let\7\NW -\def\draw{\csname\the\dir\endcsname1}% - \xoffset{0}\yoffset{-1}% - \xdim{0}\ydim{2}% -\beginpicture -\setbox\hlfwndelm=\hbox{\vrule - width\the\linethickness - height\the\linethickness depth0pt}% -\loop\ifnum\dir<8{\draw}\advance\dir1\repeat -\endpicture\egroup -\thispicture{}} -% -\lst\xyturtlepic{\bgroup% -\unitlength.5ex% -\xdim{44}\ydim{27}% -\y=0pt\x=0pt% -\xoffset{0}\yoffset{0}% -\beginpicture \whiteN6\E4% - {\S4\whiteS2\xytxt{ Ref.\ point}}{\E{40}}% - \N{20}\whiteE{20}\S4\whiteS4\xytxt{ (x,y)}% -\endpicture\egroup\thispicture{}} -\endinput \ No newline at end of file diff --git a/macros/blu/readme.fst b/macros/blu/readme.fst deleted file mode 100644 index 9f2a8cbbb8..0000000000 --- a/macros/blu/readme.fst +++ /dev/null @@ -1,120 +0,0 @@ -README first BLUe's format system June 1996 - -Subject: Note which accompanies BLUe's format system and - provides a survey of the background articles. - -The BLUe's format system is for typesetting with plain TeX, and -is shareware available. -(A happy :-) user is requested to send the equivalent of ~20 breads - in US dollars to the author to support his work especially upgrading - my hardware. The pricing policy is according to the macindex and - appropriate for users in financial disadvantaged countries. - Don't send breads nor a check. Just the money in an envelope.) - -The user's guide `Publishing with TeX' and accompanying articles -which explain details and show examples are free for personal use. - -No profit is allowed to make from it. - -When the results are used a proper credit ----be it Knuth or the authors of gkpmac, - or me for the composition and the fill-ins--- -is the least a happy publishing user can do. - -Best wishes and good luck, ---Kees--- cgl@rc.service.rug.nl - -How to process the PWT user's guide? ------------------------------------- -Copy blue.tex, fmt.dat, tools.dat, pic.dat, next to the PWT files -pwt.scr is the basic script which invokes all the other chapters: -pwt.int, pwt.txt, pwt.mat, pwt.tab, pwt.grf, pwt.ref, pwt.ind, -pwt.cus, pwt.aft, pwt.fmt, pwt.tls, pwt.sur, pwt.his, pwt.tot, pwt.obs, -into a directory where TeX can find them, and then run tex -tex pwt.scr -(Each chapter can be processed independently via tex pwt.int for example). - -Contents BLUe's format system ------------------------------ -The files are: blue.tex (format) - fmt.dat (variant formats) - tools.dat (tools like indexing) - address.dat, lit.dat, pic.dat (databases) -The user's guide is called Publishing with TeX. - -A handy auxiliary is pfile to print blue.tex with appropriate line numbers. -A generalization is pgfile which prompts for the name of the file to be printed. - -The files which compose the user's guide Publishing with TeX have pwt as rootname -and the chapter indicaton as extension. -pwt.scr is the basic script which invokes all the other chapters: -pwt.int, pwt.txt, pwt.mat, pwt.tab, pwt.grf, pwt.ref, pwt.ind, -pwt.cus, pwt.aft, pwt.fmt, pwt.tls, pwt.sur, pwt.his, pwt.tot, pwt.obs. -In total 16 files. Answers to the exercises, list of examples, table of -contents, and index---yes that is new---are all generated on the fly and -included automatically as appendices. -Special is plnindex.tpl, a template for indexing loosened from blue.tex. -It can be used with AnyTeX, as an independent tool for making an index. -Needed is tools.dat, especially the sorting and indexing macros. -The latter are loaded selectively from the database tools.dat. - -Background articles (Have appeared in MAPS and are available on NTG's CD-ROM) -------------------- -BLUe's Format (The umbrella article about blue.tex.) -BLUe's Graphs (The gkppic macros are explained.) -BLUe's Cross-Refs (One-pass cross-referencing with math.) -BLUe's Bibliography (One-pass bibliography handling.) -BLUe's Verbatim (Handling verbatims in TeX.) -BLUe's Transparencies (The making of transparencies.) -BLUe's Index (The making of indexes in a one-pass job.) -BLUe's Pascal (About typesetting Pascal programs/fragments.) -BLUe's Reports (The making of reports.) -BLUe's Letters (The making of letters.) -BLUe's Databases (The approach to storing auxiliaries.) -BLUe-2-LaTeX (Acceptance and conversion.) - -Related material (Have appeared in MAPS and are available on NTG's CD-ROM) ----------------- -Manmac BLUes (Is all about manmac, as-is etc.) -AMS BLUes (Details with AMS practice, \lsams for - formatting references is inspired upon AMS.) -TUGboat BLUes (TUGboat styles are discussed. ppt.tex emerged - from this which is at the heart of blue.tex) -Math into BLUes (The typesetting of math via TeX is detailed with.) -Icons via lfonts (Common matrix icons via LaTeX's fonts.) -Table Diversions (The typesetting of tables via TeX is treated.) - -Auxiliary (Have appeared in MAPS and are available on NTG's CD-ROM) ---------- -Sorting in BLUe (The basics needed for making a simple index.) -FIFO and LIFO sing the BLUes (FIFO paradigm is treated, fundamental.) -Syntactic Sugar (Discusses various approaches to macros.) - -An overview is supplied in What is TeX and METAfont all about? (NLUUG, 1993) -The relation to SGML is treated in SGML(TeX,\dots ). (Cork 1990) -Spivak's approach has been reviewed in Spivak's Oeuvre. - -For fun are added---and also show macro writing by example--- -Typesetting bridge via TeX -Typesetting crosswords via TeX -Tower of Hanoi, revisited. - -Paradigms (See elsewhere in the CTAN; ---------- have appeared in MAPS and are available on NTG's CD-ROM) - -Headache? -Plain's item extended -Two-part macros -Parameterization I Options -Parameterization II Place within context -Winds and halfwinds---Details matter -It's all in the game -Loops -Searching in BLUe -Sorting in TeX -Just a little bit of PostScript (with a few .eps files) - -Of course all the articles run with blue.tex in plain TeX. -Earlier versions have appeared in NTG's MAPS casu quo in proceedings of TuG/LUG meetings. - -Kees van der Laan, Hunzeweg 57, 9893PB, Garnwerd, The Netherlands. -Phone: (31) (0)594 62 1525, email: cgl@rc.service.rug.nl. \ No newline at end of file diff --git a/macros/blu/tools.dat b/macros/blu/tools.dat deleted file mode 100644 index b50429d1fb..0000000000 --- a/macros/blu/tools.dat +++ /dev/null @@ -1,2082 +0,0 @@ -%Tools database to cooperate with blue.tex -%Januari 95, cgl@rc.service.rug.nl -%To print the formats properly, copy -%the following 11-lines job and -%substitute the semicolon token -%(=escape char) for `semi-col'. (2x) -% ---Kees--- -%\input blue.tex -%\hfuzz25pt -%\title{File: tools.dat} -%\issue{Version 1.0} -%\beginscript -%\thisverbatim={\catcode`\`semicol'=0 -% \catcode`\!=12 -% \catcode`\|=12 -% \input tools.dat} -%\beginverbatim -%`semi-col'endverbatim -%\endscript -% -% -% -%Syntax included tools -%\tool\<name>tool -%...the file which otherwise would -%...have been input -%\endinput -%Disadvantages: -%-No outer defs allowed. -% (\newtoks\x via \csname x\endcsname) -%-No \par-s, use \endgraf -% -% -% -%Contents: -%- binarytreetool -%- bridgetool -%- crosswordstool -%- hanoitool -%- indextool -% (Sorting in BLUe, quick.tex -% heap.tex and BLUe's Index) -%- language english, russian -%- ntglogo -%- smileys -%- toc -%- xyztool -%- partlogotool -%- pascaltool -% -% -% -%Tools are sorted on name. %;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%binarytree% -\tool\bintreetool -%Because redefined in manmac & BLUe's system. -\catcode`\^=7 -% -\def\startbintree{\catcode`\^^M=9 - \nodes}%neglect e-o-l -% -\def\nodes#1#2{\ifx\sedon#2 - \levelone#1 \sedon\fi - \ea\def\csname#1\endcsname{#2}\nodes} -\def\sedon#1\nodes{\fi - \setbintree\endgroup} -\let\endbintree\sedon -% -\def\fork{\vbox{\offinterlineskip -%Connection lines ____|____ -% | | -\hbox{\ea%empty branche? - \ifx\csname\the\ltree\the\m - \endcsname\relax - \vrule width\tophnshalf - height0pt depth0pt - \else%non-empty branche - \vrule height\vnodesep - \vbox to\vnodesep{\hrule - width\tophnshalf\vss}% - \kern-.2pt\vrule height - 2\vnodesep - depth-\vnodesep\relax - \fi\advance\m1 \ea%empty branche - \ifx\csname\the\ltree\the\m - \endcsname\relax - \vrule width\tophnshalf - height0pt depth0pt - \else%non-empty branch - \kern-.4pt\vrule height - 2\vnodesep - depth-\vnodesep\relax - \vbox to\vnodesep{\hrule - width\tophnshalf\vss}% - \vrule height\vnodesep\relax - \fi}\kern1ex%Separation below - %connection lines -%The sibling nodes -\hbox to\tophns - {\hbox to0pt{\strut\hss - \csname\the\ltree\the\m - \endcsname\hss}\hss - \global\advance\m1 - \hbox to0pt{\strut\hss - \csname\the\ltree\the\m - \endcsname\hss}}}} -% -\def\setbintree{%level >=1 -\ltree0 \m0 -%bounds for recursion -\lu1 %dynamic for the rows -\advance\levelone1 -%defaults -\tophns30ex \vnodesep3ex -%hook to override defaults if neede -\the\everybintree -\the\thisbintree -%dependent quantities -\treewidth3\tophns -\tophnshalf\tophns \divide\tophnshalf2 -%root, level 00 -\vbox{\levelline{\vbox{\offinterlineskip - \hbox to0pt{\strut\hss - \csname\the\ltree\the\m - \endcsname\hss}}}% -\loop\advance\ltree1 \multiply\lu2 -\levelline{\noindent\m1 \fork - \loop\ifnum\m<\lu - \kern\tophns \advance\m1 \fork - \repeat}\tophns\tophnshalf - \divide\tophnshalf2 -\ifnum\ltree<\levelone -\repeat}\thisbintree{}}%end \bintree -% -\def\levelline#1{\hbox to\treewidth{\hss#1\hss}} -\endinput -%end%%%%%%%%%%%%%%%%%%%%binarytreel%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%b(inary)t(ree)l%!cgl;newcol -\tool\bttool -\message{ ---bttool, Aug 95, cgl--- } -\def\drawbt{\whiteS{120}% - \trttxt{\hss{\small\csname\node\endcsname}}% - \ea\ifx\csname\node0\endcsname\relax - \tbward\fi%Backtrack - \S{80}\advance\k-125 - {\W{\the\k}\S{80}\edef\node{\node0}% - \drawbt}% - \E{\the\k}\S{80}\edef\node{\node1}% - \drawbt\relax} -\def\tbward#1\relax{\fi} -% -\everybt{\k1024\unitlength.02ex\x0pt\y0pt} -%\thisbt{} -\prebt{$$\multiply\count1by280 - \ea\ydim\ea{\the\count1} - \ea\yoffset\ea{\ea-\the\count1}} -\postbt{$$} -\obeylines% -\def\bt#1 #2 - {\ifx\endbt#2\count1=#1 \tbdne\fi% - \ea\def\csname#1\endcsname{#2}\bt}% -\def\tbdne#1\bt{\fi\def\node{1}% - \the\prebt\the\everybt\the\thisbt% - \beginpicture\drawbt\endpicture% - \the\postbt\endgroup}% -\endinput -%end%%%%%%%%%%%%%%%%%b(inary)t(ree)l%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%brd% -\tool\bridgetool -\message{ ---bridgetool, Jan 95, cgl--- } -%Typesetting bridge publications -%via (plain) TeX. Version May 92. -%The macros can als be used within LaTeX. -%Version: 1.1 March 1994 (basically -%unmodified since publication in 1990) -%Author: Kees van der Laan -% Hunzeweg 57, 9893PB, Garnwerd (Gr) -% The Netherlands. 05941-1525, -% cgl@rc.service.rug.nl -%Examples of use have been published in -%TUGboat, 11, 2, 265--276, and MAPS 91.2. -%(A few are appended at the end.) -%The macros consists of 3 indep. parts: -%- dec.tex ((language) declarations, -% used register and -% control sequences) -%- bid.tex (macros for bidding and -% layout of games) -%- play.tex (macros for discussing the -% course of a play) -% %;numvrb -%%%%%%%dec.tex%%%%%%% -%Card definitions -\def\sp{$\spadesuit$} -\def\h{$\heartsuit$} -\def\d{$\diamondsuit$} -\def\cl{$\clubsuit$} -%(Toks register) control sequences -%for hands used by play macros: -%showgame, pc, strip -\ea\let\ea\NT\csname newtoks\endcsname -\NT\hnd%Dynamically one of: -\NT\Ns\NT\Es\NT\Ss\NT\Ws -\NT\Nh\NT\Eh\NT\Sh\NT\Wh -\NT\Nd\NT\Ed\NT\Sd - \NT\Wd %Beware! Already -%in TUGboat.sty in lower case -\NT\Nc\NT\Ec\NT\Sc\NT\Wc -% -\def\bridgeenglish{ -%In central figure NESW -\def\N{N}\def\E{E}\def\S{S}\def\W{W} -%In heading bplay -\def\NS{NS}\def\EW{EW} -\def\TRICK{Trick} -%Definition of hands -%used by bbid -\def\FIH{North}\def\SEH{East} -\def\THH{South}\def\FOH{West} -}% end \bridgeenglish -\bridgeenglish%default -% -\def\LEADN{\gdef\FIP{N}\gdef\SEP{E}% - \gdef\THP{S}\gdef\FOP{W}} -\def\LEADE{\gdef\FIP{E}\gdef\SEP{S}% - \gdef\THP{W}\gdef\FOP{N}} -\def\LEADS{\gdef\FIP{S}\gdef\SEP{W}% - \gdef\THP{N}\gdef\FOP{E}} -\def\LEADW{\gdef\FIP{W}\gdef\SEP{N}% - \gdef\THP{E}\gdef\FOP{S}} -%Definition of counters -%used by bplay -\csname newcount\endcsname\trno -%trick number -%Definition of dimensions used in bbid -\csname newdimen\endcsname\wr %width column -\wr=7ex \relax -\def\bidwidth{4\wr} -%used in crdima -\csname newbox\endcsname\NESW -% -\def\dutch{ -\def\FIH{Noord}\def\SEH{Oost} -\def\THH{Zuid}\def\FOH{West} -\def\N{N}\def\E{O}\def\S{Z} -\def\W{W}\def\EW{OW}\def\NS{NZ} -\def\TRICK{Slag} -\setbox\NESW\hbox{\NESWfig} -}%end \dutch -% -\def\french{ -\def\FIH{Nord}\def\SEH{Est} -\def\THH{Sud}\def\FOH{Ouest} -\def\N{N}\def\E{E}\def\S{S} -\def\W{O}\def\EW{EO}\def\NS{NS} -\def\TRICK{Lev\'ee} -\setbox\NESW\hbox{\NESWfig} -}%end \french -%end input dec.tex -% -%%%%%%%bid.tex%%%%%%% -%Modified central figure -\def\hand#1#2#3#4{% -%Example: \hand{AKJ765}{AK9}{--}{T983} -\vtop{\hbox{\strut\sp\enspace#1} -\hbox{\strut\h\enspace#2} -\hbox{\strut\d\enspace#3} -\hbox{\strut\cl\enspace#4}}%end \vtop -}%end \hand -% -\def\crdima#1#2#3#4#5#6{% -%purpose: layout bridge hand -%#1 left upper text -%#2 right upper text -%#3, #4, #5, #6: N, E, S, W hands -\vbox{\halign{ &##\quad\cr - #1& #3& #2\cr - $\vcenter{#6}$&$\vcenter{\copy\NESW}$& - $\vcenter{#4}$\cr - & #5& \cr - }%end \halign - }%end \vbox -}%end \crdima -% -\def\NESWfig{% -\hbox{\vrule -\vbox{\offinterlineskip\tabskip0pt -\hrule\kern.25ex\halign{\hskip.5ex -##\tabskip.5ex&\hfil##\hfil& -##\hskip.5ex \tabskip0pt\cr -\noalign{\vskip.5ex} - &\hbox to 2ex{\hss\N\hss}& \cr -\noalign{\vskip.25ex} -\kern.25ex\W& &\E\kern.25ex -\cr\noalign{\vskip.25ex} - &\hbox to 2ex{\hss\S\hss}& \cr -\noalign{\vskip.5ex} - }%end \halign -\kern.25ex\hrule}%end \vbox -\vrule}%end \hbox -}% end \NESWfig -\setbox\NESW\hbox{\NESWfig} -% -\def\ebid{\errormessage{% - bbid command is missing}} -% -\def\bbid{\bgroup% - \def\ebid{\egroup\egroup\egroup} - \def\alert{$^A$} - \def\think{$\ldots$\thinspace} - % etc. - \vtop\bgroup - \halign to\bidwidth\bgroup \tabskip2ex - plus 1ex minus 1ex& ##\hfil\cr - \FIH\hfil& \SEH\hfil& - \THH\hfil&\FOH\hfil\cr - \noalign{\vskip.5ex} -}%end \bbid -%end input bid.tex% -% -%%%%%%%play.tex%%%%%%% -%\input{play.tex} -%Modified 11/11/91 Central table -%\bplay etc -% bplay, showgame, pc, strip -\def\eplay{\errormessage{% - bplay command is missing}} -% -\def\bplay{\bgroup\global\trno=0 -\def\eplay{\egroup\egroup} -\def\bintermezzo{\noalign\bgroup - \smallskip\noindent} -\def\eintermezzo{\smallskip\egroup} -\tabskip1ex plus 1fill -\halign to\hsize\bgroup - \tabskip1ex plus 1ex minus 1ex - \global\advance\trno by 1 % - \hbox to.5\wr{\hss\the\trno\hss}%<=! - \hbox to\wr{\pc\FIP##\hss}\hfil& - \hbox to\wr{\pc\SEP##\hss}\hfil& - \hbox to\wr{\pc\THP##\hss}\hfil& - \hbox to\wr{\pc\FOP##\hss}\hfil - \tabskip4ex plus2ex minus1ex& - \hbox to.5\wr{\hss##\hss} - \tabskip1ex plus 1ex minus 1ex& - \hbox to.5\wr{\hss##\hss} - \tabskip1ex plus 1fill\cr - %End template line, next is headline - \omit\hbox to1\wr{\TRICK\hss}\hfil& - \omit\hfil&\omit\hfil&\omit\hfil& - %Note only 3 \omits - \NS&\EW\cr%Headline -}% end \bplay -% -\def\pc#1#2#3{% Version 3/3/90 -%Function: prints card #2#3 and -% deletes it from player #1 -%#1 the hand N, E, S, W(uppercase) -%#2 colour s, h, d, or c -%#3 card value A K Q ... 2, or x -%(or your (consistent/language) choice) -%%%% 1. Update hand \#1#2; e.g. \Ns %%% -\xdef\hnd{\csname #1#2\endcsname} -\strip{#3}{\hnd}% -%%%% 2. print card in table %%% -\xdef\colour{\csname #2\if#2cl\else - \if#2sp\fi\fi\endcsname} -\colour\thinspace #3% -% %Needed for immediate postfix mark(s) -}% end \pc -% -\def\strip#1#2{% Version 3/3/90 -%Function: deletes card value #1 -% from #2, i.e., \Ns, or ... - \def\wis##1#1##2\wis{% - %Function: #1 is deleted from argument - % in \wis ... \wis and result - % is assigned to \hnd - % (last card is replaced by --) - \global\hnd={##1##2} - \xdef\pa{##1} \xdef\pb{##2} - \ifx\pa\empty {\ifx\pb\empty - \global\hnd={--}% void colour - \fi}\fi - }% end \wis - \expandafter\wis\the #2\wis -}% end \strip -% -\def\showgame{ -%Purpose: Shows all cards still active -% in the play, via \Ns, ..., \Wc, -% (note use of upper case for players) -%Used: \crdima, \hand, \LFTINF, \RGTINF -% \Ns, ..., \Wc -$$\crdima{\LFTINF}{\RGTINF}% - {\hand{\the\Ns}{\the\Nh}{\the\Nd}% - {\the\Nc}}% - {\hand{\the\Es}{\the\Eh}{\the\Ed}% - {\the\Ec}}% - {\hand{\the\Ss}{\the\Sh}{\the\Sd}% - {\the\Sc}}% - {\hand{\the\Ws}{\the\Wh}{\the\Wd}% - {\the\Wc}}% -$$}% end \showgame -%end input play.tex %In total: 215 lines -\endinput -%Examples: diagram, bidding, course of play. -% -%\hsize=.5\hsize -%1. Diagram -%$$\crdima{N/None}{\vtop{\hbox{Deal:} -% \hbox{demo}}}% -% {\hand{J74}{AJ}{QJT2}{Q874}}%N -% {\hand{K86}{T9542}{874}{T3}}%E -% {\hand{QT952}{Q83}{AK5}{A6}}%S -% {\hand{A3}{K76}{963}{KJ952}}%W -%$$ -%2. Bidding -%$$\bbid -%1\cl\alert& ? no& 1\sp&\think no\cr -% 2\sp& no& 4\sp& a.p.\cr -%\noalign{\vskip.5ex} -%\alert\ means Alert, -% conventional bid\hidewidth\cr -%? means explanation -% asked\hidewidth\cr -%\think means think -%% pause\hidewidth\cr -%\ebid $$ -%3. Course of play -%\def\LFTINF{Puzzle} -%\def\RGTINF{\vtop{\hbox{6NT,} -% \hbox{by East}}} -% -%\Ns={KQ76}\Es={T9}\Ss={8542}\Ws={AJ3} -%\Nh={J98} \Eh={A2}\Sh={QT74}\Wh={K653} -%\Nd={J942}\Ed={T5}\Sd={Q876}\Wd={AK3} -%\Nc={65}\Ec={KJ9xxxx}\Sc={2}\Wc={AQT} -% -%\showgame -% -%*Problem* How must NS defend in -%order to guarantee 1 trick? -% -%*Solution* Start with a \h\ -%lead in order to break communication. -%N must discard \h s -%and S must discard \sp s. -%\smallskip\noindent -%\LEADS -%\bplay -%%\noalign{\LEADS} -%h4! & hK & h8 & h2 & -- & 1\LEADW\cr -%%\noalign{\LEADW} -%cA & c5 & cx & c2 & -- & 2\cr -%cQ & c6 & cx & s2 & -- & 3\cr -%cT & h9 & cK & s4 & -- & 4\LEADE\cr -%%\noalign{\LEADE} -%cJ & s5 & s3 & s6 & -- & 5\cr -%c9 & s8 & h5 & s7 & -- & 6\cr -%cx & d6 & sJ & d2 & -- & 7\cr -%\bintermezzo -%On lead of the next \cl\ -%neither South nor North can be -%squeezed as can be seen from% -%\def\RGTINF{\vtop{\hbox{NS squeezed on} -% \hbox{\c\ continuation?}}} -%\showgame -%with continuation -%\eintermezzo -%cx & h7 & h6 & hJ & -- & 8\cr -%dT & d7 & dA & d4 & -- & 9\LEADW\cr -%%\noalign{\LEADW} -%dK & d9 & d5 & d8 & -- & 10\cr -%h3 & dJ & hA & hT & -- & 11\LEADE\cr -%\noalign{\LEADE} -%sT & hQ & sA & sQ & -- & 12\LEADW\cr -%\noalign{\LEADW} -%d3 & sK & s9 & dQ & 1 & 12\cr -%\eplay -%\bye %;nonum -% -%Contents -% -%Declarations. -% Newtoks, \NT alias.............10 -% \hnd, \Ns, \Es, \Ss, \Ws....12 -% \Nh, \Eh, \Sh, \Wh....13 -% \Nd, \Ed, \Sd, \Wd....14 -% \Nc, \Ec, \Sc, \Wc....17 -% \bridgeenglish..............19-30 -% \dutch......................51-58 -% \french.....................60-67 -% \N, \E, \S, \W..............21 -% \NS, \EW....................23 -% \TRICK......................24 -% \FIH, \SEH, \THH, \FOH...27-28 -% \sp, \h, \cl, \d..............3-6 -% \LEADN \LEADE \LEADS \LEADW 32-38 -% Newcount -% \trno.......................42 -% Newdimen -% \wr.........................46 -% \bidwidth{4\wr}.............47 -% Newbox -% \NESW...................49, 111 -% -% \hand........................72-78 -% \crdima......................80-92 -% \bbid, \ebid......116-127, 113-114 -% \alert.......................118 -% \think.......................119 -%%%%%%%play.tex%%%%%%% -% \bplay, \eplay....138-162, 135-136 -% \bintermezzo, \eintermezzo 140-142 -% \pc........................164-179 -% \hnd.........................172 -% \colour......................175 -% \strip.....................181-196 -% \showgame..................198-213 -% Examples -% diagram..................219-226 -% bidding..................227-238 -% course of play...........239-289 -% -%History of changes -%July 1994 \c and \s changed into -% \cl and \sp, -% \colour adapted -%March 1994 Prepared for NTG's CD-ROM -% Examples of use added -% NESW figure adapted -%Jan 1994 Submitted to CTAN. -%end%%%%%%%%%%%%%%%%%%%%%%%bridge%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%crs% -\tool\crosswordstool -\message{ ---crosswordstool, - Jan 95, cgl--- } -%From Typesetting crosswords via TeX -%EuroTeX 92, MAPS 92.1 -%NOTE In order to use natural input, -%spaces except for the last one, and not -%let this choice for ;] (space=\relax) -%work through globally, start with -%\bgroup\obeyspaces\let =\relax -%\bdata -%<natural data> -%\edata -%$$\crw$$%(or \sol) -%\egroup -%;numvrb -\puzzletrue -\csize3ex -% %;numvrb %;vrblin99 -\def\bdata{\bgroup\obeylines\obeyspaces% -\store} -\def\store#1\edata{\egroup\def\data{#1}} -%{\obeyspaces\global\let =\relax} -\def\usersize{} -% ;vrblin=199 -{\catcode`\^=7 \catcode`\^^M=13 %local scope -\gdef\crw{\cnt0\relax\boxit{\usersize% -\hrule\ea\fifol\data\lofif^^M}}% -\gdef\sol{\boxit{\def\num{}\puzzlefalse% -\usersize\hrule\ea\fifol\data\lofif^^M}}% -\gdef\fifol#1^^M{\ifx\lofif#1\lofif\fi% -\processl{#1}\fifol}}%end local scope% -% %;vrblin=299 -\def\lofif#1\fifol{\fi} -\def\processl#1{\hbox{\fifo#1\ofif}\hrule} -\def\fifo#1{\ifx\ofif#1\ofif\fi% -\process#1\fifo} \def\ofif#1\fifo{\fi} -% -\def\process#1{\if*#1\cc\else% -\ifx\relax#1\cc\else% -\ifnum`#1=\uccode`#1\capchar#1\else% -\lowchar#1\fi\fi\fi} -\def\lowchar#1{\hbox to\csize{\vrule -height.8\csize depth.2\csize\relax% -\ifpuzzle\null\else\hss\uppercase{#1}% -\fi\hss\vrule}} -\def\capchar#1{\hbox to\csize{\vrule -height.8\csize depth.2\csize\relax% -\num\ifpuzzle\null\else\hss#1\fi% -\hss\vrule}} -\def\cc{\vrule height.8\csize depth% -.2\csize width\csize} -% -\def\num{\global\advance\cnt1\relax% -\vbox to.8\csize{\rlap{\kern1pt% -\fiverm\the\cnt\hss}\vfil}}% -% %;vrblin=399 -\def\boxit#1{\vbox{\hrule\hbox{\vrule% -\vbox{#1}\vrule}\hrule}}% cgl, oct92 -\endinput %;nonum -%Contents -%\newif -% \ifpuzzle (blue.tex) -%\newcount -% \cnt (blue.tex) -%\newdimen -% \csize (blue.tex) -%Data -% \bdata........................100 -% \store........................102 -% \edata........................102 -% \usersize.....................104 -%Crw -% \crw..........................201 -% \sol..........................203 -%Auxiliaries -% \fifol........................205 -% \process, \processl......305, 301 -% \lofif........................300 -% \lowchar......................309 -% \capchar......................313 -% \cc...........................317 -% \num..........................320 -% \boxit........................400 -%History of changes -%July 1994 In tools.dat to cooperate -% with blue.tex -% \global\let =\relax removed. -%Jan 1994 Submitted CTAN -%1992 Submitted to EuroTeX and MAPS -%end%%%%%%%%%%%%%%%%%%%%%%%%%crs%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%hanoi% -\tool\hanoitool -\message{ ---hanoitool, Jan 95, cgl---} -%Tower of Hanoi macros -%hanoi.tex version 19 dec 91 %;numvrb -%\hanoi changed into \sethanoi June 95 -%\n=number of disks \brd=breadth towers -%\hgt=height tower \dskhgt=height disk -\csname newcount\endcsname\n -\csname newcount\endcsname\brd -\csname newcount\endcsname\hgt -\csname newcount\endcsname\dskhgt -\def\preloop{%To create loopcnt, a - %local loopcounter - %(see also loopy.TeX). - \bgroup \advance\count10 by 1 - \countdef\loopcnt=\count10 - %Symbolic name - \loopcnt=1 %(default) - }%end \preloop -\def\postloop{\loopcnt=0 %Restore - \egroup}%end \postloop -% -%Hanoi macros, top level -\def\sethanoi#1{%Argument can be digit(s) - %or a counter (numeric) - \n=#1 %Assign argument value to \n - \def\II{}\def\III{}%Empty towers - %Next is inspired by the TeXbook, - %p374, 378 - %The initial tower for \I is created - %The initial tower for \I is created - % \def\I{\disksep\i\disksep\ii - % \disksep\iii...\disksep\`n'} - %next to the defs for \i,\ii,...\`n'. - \preloop\ag\def\ag\I\ag{% - \loop - \ea\xdef\csname\romannumeral\loopcnt - \endcsname{\the\loopcnt} - \ag\disksep%separator - \ea\ag\csname - \romannumeral\loopcnt\endcsname - \ifnum\loopcnt<\n - \advance\loopcnt by 1 - \repeat \ag} - \postloop - %For printing, values are needed for - \brd=\n %Breadth of largest disk - \advance\brd by 3 %Little room extra - \dskhgt=1 %Height of disks - \hgt=\n\multiply\hgt by2 %\hgt is height - \advance\hgt by1 %of towers - \showtowers %Print initial state - \Hanoi\I\II\III\n - }%end \sethanoi -% -\def\Hanoi#1#2#3#4{%Moves from #1 to #2, - %with aid of tower #3. - %The number of disks is #4, in a counter. - \ifnum#4=1 %For Tower of 1 disk, - %just move the disk - \movedisk\from#1\to#2% - \showtowers%Print towers after move - \else%Problem of #4 disks is solved by - %- problem of (#4-1) disks, - %- a move, and - %- a problem of (#4-1) disks. - {\advance#4 by-1 \Hanoi#1#3#2#4}% - \movedisk\from#1\to#2% - \showtowers%Print towers after move - {\advance#4 by-1 \Hanoi#3#2#1#4}% - \fi}%end \Hanoi -% -%Moving of the disks, TeXbook, App. D.2 -%Slightly adapted versions of \lop ( -%called \movedisk with function that -%first element of #1 is prefixed to #2) -%and \lopoff modification -\def\movedisk\from#1\to#2{%Move disk from - %tower #1 to tower #2 - \ea\lopoffx#1\lopoffx#1#2} -\def\lopoffx\disksep#1#2\lopoffx#3#4{\ea - \gdef\ea#4\ea{\ea\disksep\ea#1#4} - \gdef#3{#2}%restore stub}%end\lopoffx - }%end \movedisk -% -%Printing tower status -\def\showtowers{%Display pyramids - \endgraf\quad\hbox{\pt\I\ \pt\II\ \pt\III - }\endgraf - }%end \showtowers -% -%Auxiliaries -\def\gobble#1{}%To eat character -% -\def\disksep#1{\hbox to\brd ex{\hss - \vrule width#1ex height\dskhgt ex - \hss}% - }%end \disksep -% -\def\pt#1{%Print Tower. - %#1 is \I, \II, or \III - \vbox to\hgt ex{\baselineskip=.2ex\vss - #1% - %Format pointer underneath - \hbox to\brd ex{\hss - \ea\gobble\string#1\hss}% - }%end vbox - }%end \pt -\endinput %;nonum -%Contents -%\Hanoi .........................51--66 -%\hanoi .........................19--49 -%\movedisk ......................73--79 -%\showtowers ....................82--85 -%Auxiliaries -% \preloop .....................8--15 -% \postloop ...................16--17 -% \lopoffx ....................76--78 -% \gobble .........................88 -% \disksep.....................90--93 -% \pt ........................95--103 -%History of changes -%Jan 95 \\ changed into \disksep -%March 1994 Contents added -% From tugboat.sty into tug.ppt -% 1991 MAPS and TUGboat versions -%end**%%%%%%%%%%%%%%%%%%%%%%%sort%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sort% -\tool\indextool -\message{ ---indextool, Jan 95, cgl--- } -%Shorthands ;numvrb -%Counters in blue.tex -%\newcount\n -%\newcount\k -%\newcount\kk\n=0 -%\newcount\kzero\kzero0 %Bias value -%\newcount\pk -%\newcount\pkone%Used in sortcs -%\newcount\frst%First value of range -%\newcount\last %Last value of range -%\newcount\slast%Successor \last -%\newcount\dif %Difference \last-\frst -%\newcount\nw %Number of words -%\newcount\nc %Number of chars/comp -%\newcount\numex %Number of exchanges -%\newcount\rndval%Random number -%\newcount\rndnum%Seed random generator -%\newcount\rndtmp%Temporary value -%\newcount\status%Status comparison -%;vrblin=100 -%Storing: from copy -\def\seq#1\qes{\k0 \fifow#1 \wofif{} } -%Auxiliaries: FIFO -\def\fifow#1 {\ifx\wofif#1\n\k\wofif\fi - \processw{#1}\fifow} -\def\wofif#1\fifow{\fi} -\def\processw#1{\advance\k1 \ea - \gdef\csname\the\k\endcsname{#1}} -% -%Storing: from file -\def\storefrom#1{%#1 is file name - \immediate\openin\inx=#1 \k\kzero - \continuetrue - \loop\ifeof\inx\continuefalse\fi - \ifcontinue\advance\k1{}% - \read\inx t\ea o\csname\the\k\endcsname - \repeat\advance\k-1\n\k - \immediate\closein\inx} -% -%Storing: random numbers -\def\storerandomn#1{%#1 number of numbers - \n#1\k0 - \loop\ifnum\k<\n\advance\k1 \rnd\ea - \xdef\csname\the\k\endcsname{\the\rndval} - \repeat} -% -%With, due to Reid, 1987 -%Moved into kernel blue.tex -%\def\rnd{\global\multiply\rndnum371{}% -% \global\advance\rndnum1{}% -% \ifnum\rndnum>99999\relax -% \rndtmp\rndnum \divide\rndtmp100000 -% \multiply\rndtmp100000 -% \global\advance\rndnum-\rndtmp -% \fi\global\rndval\rndnum -% \global\divide\rndval1000 } -% -%Storing: random words -\def\storerandomw#1{%#1 number of words - \n#1\nw\n\def\defarr{\ea\gdef - \csname\the\nw\endcsname} - {\loop\ifnum0<\nw{\ag\defarr\ag{% - \randomword}}\advance\nw-1 - \repeat}}%end s-r-w. -% -\def\randomword{\rnd \nc\rndval - \divide\nc15 \advance\nc2 - \loop\ifnum0<\nc\randomchar - \advance\nc-1 - \repeat}%end r-word -% -%Random character is modified -\def\randomchar{\rnd - \multiply\rndval29 \divide\rndval100 - \ifnum26=\rndval\rndval0 \fi - \ifnum26<\rndval\rndval4 \fi -%Mod cgl: I \ag-ed the letter -\ea\ag\ifcase\rndval - a\or b\or c\or d\or e\or f\or g\or h\or - i\or j\or k\or l\or m\or n\or o\or p\or - q\or r\or s\or t\or u\or v\or w\or x\or - y\or z\fi}%end r-char -%;vrblin=200Typeset -%Parameters: Separators -\def\sepn{, }%Number separator -\def\sepw{ } %Word separator -%\csname newtoks\endcsname\indword -\let\sep\sepw -% -\def\prc#1{\init{#1}\def\prc##1{% - \ifnum\last=##1{}\else\ifnum\slast=##1{}% - \last\slast\advance\slast1{}\else - \prtfl\sepn\init{##1}\fi\fi}} -% -\def\init#1{\frst=#1\last=#1\slast=#1{}% - \advance\slast1{}} -% -%Print range: \frst-\last (or \last). -\def\prtfl{\the\frst\ifnum\frst<\last - \advance\frst1{}\ifnum\frst=\last\sepn - \else\nobreak--\nobreak\fi\the\last\fi} -% -%Printing sequences -\def\prts{{\k\kzero%print \1...\n - \def\sep{\let\sep=\sepw}% - \loop\ifnum\k<\n\advance\k1 - \sep\csname\the\k\endcsname - \repeat}}%end \prts -% -\let\prtw=\prts -% -\def\prtn{{\k\kzero%Print number sequence - \loop\ifnum\k<\n\advance\k1 - \ea\prc\csname\the\k\endcsname - \repeat\prtfl}}%end \prtn -% -\def\typindentry#1{%#1 a def - \ea\splitintoks#1% - \ifcase\digit\the\indword\or - {\tt\the\indword}\or - {\tt\char92\the\indword}\or - $\langle\hbox{\the\indword}\rangle$\fi{} - {\oldstyle\pagenrs}.} -\def\hyphen{{\rm-}} -\def\comma{{\rm, }} -% -\def\splitintoks#1 !#2 #3.{\indword{#1}% - \chardef\digit=#2{}\def\pagenrs{#3}} -% -\def\prtind{{\k\kzero - \def\sep{\let\sep\sepw}% - \loop\ifnum\k<\n\advance\k1 - \sep\ea\typindentry\csname\the\k\endcsname% - \repeat}} -%;vrblin=300 -%Sorting in O(nlog n) -\def\sortn{\let\cmp\cmpn\sort\prtn} -% -\def\sortaw{\let\cmp\cmpaw\sort\prtw} -% -\def\sortw{\let\cmp\cmpw{\accdef\sort}\prtw} -% -\def\sort{\heapsort} -% -%Paramaters: ij and accent string -\def\accstr{\`\'\"\^\c} -% -\def\accdef{\def\i{i}\def\j{j}% - \def\'##1{##1a}\def\`##1{##1g}% - \def\"##1{##1t}\def\^##1{##1h}% - \def\c##1{##1c}} -% -\def\ij{ij} -% -%Sorting parameters: exchange macro -\def\xch#1#2{%#1, #2 counter variables - \ea\let\ea\auxone\csname\the#1\endcsname - \ea\let\ea\auxtwo\csname\the#2\endcsname - \ea\global\ea\let\csname\the#2\endcsname - \auxone - \ea\global\ea\let\csname\the#1\endcsname - \auxtwo} -% -%Sorting parameters: number comparison -\def\cmpn#1#2{%#1, #2 are def-s -%Result: \status= 0, 1, 2, if -% \val{#1} =, >, < \val{#2} - \ifnum#1=#2\global\status0 \else - \ifnum#1>#2\global\status1 \else - \global\status2 \fi\fi} -% -%Parameters: comparison of words -\def\cmpw#1#2{%#1, #2 are def-s -%Result: \status= 0, 1, 2, if -% \val{#1} =, >, < \val{#2} - \let\nxt\nxtw\cmpc#1#2} -% -\def\cmpaw#1#2{%#1, #2 are defs with as -%replacement text the words. -%Result: \status= 0, 1, 2, if -% \val{#1} =, >, < \val{#2} - \let\nxt\nxtaw\cmpc#1#2} -% -\def\cmpc#1#2{%#1, #2 are def-s -%Result: \status= 0, 1, 2, if -% \val{#1} =, >, < \val{#2} -\ifproof\global\advance\nc1 - \let\aa#1\let\bb#2\fi - \global\status0 \continuetrue - {\loop\ifx\empty#1\continuefalse\fi - \ifx\empty#2\continuefalse\fi - \ifcontinue\nxt#1\nxtt\nxt#2\nxtu - \lge\nxtt\nxtu - \repeat}\ifnum0=\status - \ifx\empty#1\ifx\empty#2\else - \global\status2 \fi - \else\ifx\empty#2\global\status1 \fi - \fi\fi -% \ifproof\immediate\write16{\aa -% \ifnum0=\status=\else -% \ifnum1=\status>\else -% <\fi\fi\bb} -% \fi%end ifproof -} -% -\def\lge#1#2{%#1 and #2 letter values -%Result: \status= 0, 1, 2, if -% #1 =, >, < #2. -%and \continuefalse if #1=/#2. - \ifnum#1=#2{}\else\continuefalse - \ifnum#1<#2\global\status2 \else - \global\status1 \fi - \fi} -% -\def\nxtw#1#2{\def\pop##1##2\pop{% - \gdef#1{##2}\def\head{##1}}%head and tail - \ea\pop#1\pop%split in head and tail - \ea\loc\head\accstr%\head is an accent cs? - \if<\head\ea\pop#1\pop\fi - \iffound\let\acs\head - \ea\pop#1\pop%next head and tail - \ea\let\ea#2\csname ot\acs\head\endcsname - \else\ea\let\ea#2\csname ot\head\endcsname - \fi} -% -\def\loc#1#2{\def\locate##1#1##2\end - {\ifx\empty##2\empty\foundfalse - \else\foundtrue\fi}\ea\locate#2.#1\end} -% -%Parameters: for ASCII words -\def\nxtaw#1#2{%Result: value of first -%letter of string supplied in #1 is delivered -%in #2. (To be used as a number (\chardef)). -%#1, #2 are control sequences. - \def\pop##1##2\pop{\gdef#1{##2}% - \chardef#2=`##1{}}\ea\pop#1\pop} -% -\def\cmpir#1#2{%#1, #2 defs -%Result: \status= 0, 1, 2 if -% \val{#1} =, >, < \val{#2} -%\immediate\write16{Compared are: #1 and #2}% -\ea\ea\ea\decom\ea#1#2} -% -\def\decom#1 !#2 #3.#4 !#5 #6.{% - \def\one{#1}\def\four{#4}\cmpw\one\four - \ifnum0=\status%Compare secondary keys - \ifnum#2<#5{}\global\status2{}\else - \ifnum#2>#5{}\global\status1{}\else - %Compare tertiary keys - \ifnum#3<#6{}\global\status2{}\else - \ifnum#3>#6{}\global\status1{}\fi - \fi - \fi - \fi - \fi} -% -\def\red{%Reduction of \1,...,\n - \k0\kk0\let\refer\empty - \loop\ifnum\k<\n\advance\k1 - \ea\let\ea\record\csname\the\k\endcsname - \ea\splitwn\record% - \ifx\refer\word%extend with number - \ea\xdef\csname\the\kk\endcsname{% - \csname\the\kk\endcsname, \num}% - \else%write record to \kk - \advance\kk1\let\refer\word\ea\global - \ea\let\csname\the\kk\endcsname\record - \fi - \repeat\n=\kk} -% -\def\redrng{%Reduction of \1,...,\n, with -%range representation of page numbers - {\k1\kk0 \ifnum\n>0 - \ea\let\ea\record\csname\the\k\endcsname - \ea\splitwn\record\let\refer\word - \let\nrsrng\empty\prcrng\num\fi - \loop\ifnum\k<\n\advance\k1 - \ea\let\ea\record\csname\the\k\endcsname - \ea\splitwn\record% - \ifx\refer\word%extend \nrsrng with number - \prcrng\num - \else%write record to \kk - \advance\kk1 \strnrs - \ea\xdef\csname\the\kk\endcsname{\refer{} - \nrsrng.}\let\nrsrng\empty\init\num - \prcrng\num\let\refer\word - \fi - \repeat\ifnum1<\n - \advance\kk1 \strnrs - \ea\xdef\csname\the\kk\endcsname{\word{} - \nrsrng.} - \global\n\kk\fi}} -% -\def\prcrng#1{\init{#1}\def\prcrng##1{% - \ifnum##1=\last\else\ifnum##1=\slast - \last\slast\advance\slast1 \else - \strnrs\init{##1}\fi\fi}} -% -\let\sepn\comma -\def\strnrs{\dif\last\advance\dif-\frst -\edef\nrsrng{\ifx\nrsrng\empty\else - \nrsrng\nx\nx\nx\sepn\fi\the\frst\ifnum0<\dif - \ifnum1=\dif\nx\nx\nx\sepn\the\last - \else\nx\nx\nx\hyphen\the\last - \fi - \fi}} -% -\def\splitwn#1 !#2 #3.{\def\word{#1 !#2}% - \def\num{#3}} -% -\def\getdig#1 !#2 #3.{\def\dig{#2}} -% -\def\sortcs{\global\k0\global\pk\n -\global\pkone\pk\global\advance\pkone1 -%Invariant: 1:k non-cs -% pk+1:n control seq-s -\loop\global\advance\k1 -\ifnum\k<\pkone - \ea\ea\ea\getdig\csname\the\k\endcsname.% - \if2\dig{\continuetrue - \loop - \ifnum\k=\pk\continuefalse - \else\ea\ea\ea\getdig\csname\the\pk - \endcsname.% - \if2\dig - \else\xch\k\pk\continuefalse - \fi - \fi\global\pkone\pk\global\advance\pk-1 - \ifcontinue - \repeat}% - \fi -\repeat}%Result\1:\pk non-cs, \pkone:\n cs -%;vrblin=500 -%Parameters: Ordering table -%suffix g stands for grave, ` -% a stands for aigue, ' -% h stands for hat, ^ -% t stands for trema, " -% c stands for cedille. -\ea\chardef\csname ot=\endcsname=12 -\ea\chardef\csname ot/\endcsname=11 -\ea\chardef\csname ot-\endcsname=13 -\ea\chardef\csname ot,\endcsname=14 -\ea\chardef\csname ot.\endcsname=15 -\ea\chardef\csname ot"\endcsname=9 -\ea\chardef\csname ot&\endcsname=5 -\ea\chardef\csname ot'\endcsname=7 -\ea\chardef\csname ot`\endcsname=8 -\ea\chardef\csname ot*\endcsname=10 -\ea\chardef\csname ot<\endcsname=28 -\ea\chardef\csname ot>\endcsname=29 -\ea\chardef\csname ot!\endcsname=30 -\ea\chardef\csname ot?\endcsname=31 -\ea\chardef\csname ot[\endcsname=13 -\ea\chardef\csname ot]\endcsname=14 -\ea\chardef\csname ot0\endcsname=16 -\ea\chardef\csname ot1\endcsname=17 -\ea\chardef\csname ot2\endcsname=18 -\ea\chardef\csname ot3\endcsname=19 -\ea\chardef\csname ot4\endcsname=20 -\ea\chardef\csname ot5\endcsname=21 -\ea\chardef\csname ot6\endcsname=22 -\ea\chardef\csname ot7\endcsname=23 -\ea\chardef\csname ot8\endcsname=24 -\ea\chardef\csname ot9\endcsname=25 -\chardef\ota=35 \chardef\otA=35 - \chardef\otaa=35 \chardef\otag=35 - \chardef\otat=35\chardef\otah=35 -\chardef\otb=40 \chardef\otB=40 -\chardef\otc=46 \chardef\otC=46 - \chardef\otcc=46 -\chardef\otd=53 \chardef\otD=53 -\chardef\ote=60 \chardef\otE=60 - \chardef\otea=60 \chardef\oteg=60 - \chardef\otet=60 \chardef\oteh=60 -\chardef\otf=67 \chardef\otF=67 -\chardef\otg=74 \chardef\otG=74 -\chardef\oth=81 \chardef\otH=81 -\chardef\oti=88 \chardef\otI=88 - \chardef\otit=88 \chardef\otih=88 -\chardef\otj=95 \chardef\otJ=95 - \chardef\otjt=95 -\chardef\otk=102 \chardef\otK=102 -\chardef\otl=109 \chardef\otL=109 -\chardef\otm=116 \chardef\otM=116 -\chardef\otn=123 \chardef\otN=123 -\chardef\oto=130 \chardef\otO=130 - \chardef\otoa=130 \chardef\otog=130 - \chardef\otot=130 \chardef\otoh=130 -\chardef\otp=137 \chardef\otP=137 -\chardef\otq=143 \chardef\otQ=143 -\chardef\otr=150 \chardef\otR=150 -\chardef\ots=157 \chardef\otS=157 -\chardef\ott=164 \chardef\otT=164 -\chardef\otu=171 \chardef\otU=171 - \chardef\otut=171 \chardef\otuh=171 -\chardef\otv=178 \chardef\otV=178 -\chardef\otw=185 \chardef\otW=185 -\chardef\otx=192 \chardef\otX=192 -\chardef\otij=199 \chardef\otIJ=199 -\chardef\oty=200 \chardef\otY=200 -\chardef\otz=206 \chardef\otZ=206 -%\endinput%;nonum %cgl@rc.service.rug.nl -%Contents sort.tex -%Counters (blue.tex).............5--19 -%newifs ..(blue.tex)............20--23 -%Storing -%from copy ...................101--108 -% \seq...\qes ...................102 -%from file ...................110--117 -% \storefrom ...............112--117 -%random generated items -% \storerandomn ............124--125 -% \rnd .....................128--134 -% \storerandomw ............138--143 -% \randomword ..............145--149 -% \randomchar ..............152--161 -%Typeset -% parameters ................202-205 -% \prc .....................207--210 -% \init ....................212--213 -% \prtfl ...................216--218 -% \prts ....................221--225 -% \prtw .........................227 -% \prtn ....................229--232 -% \typeindentry.............234--240 -% \splitintoks..............244--245 -% \prtind ..................247--251 -%Sorting -% \sortn ........................302 -% \sortaw .......................304 -% \sortw ........................306 -% \sort .........................308 -% \accstr .......................311 -% \accdef ..................313--316 -% \ij ...........................318 -% \xch .....................321--327 -% \cmpn ....................330--335 -% \cmpw ....................338--341 -% \cmpaw ...................343--347 -% \cmpc ....................349--369 -% \lge .....................371--378 -% \nxtw ....................380--388 -% \loc .....................391--393 -% \nxtaw ...................396--401 -% \cmpir ...................403--407 -% \decom ...................409--420 -% \red .....................421--434 -% \redrng ..................436--457 -% \prcrng ..................459--462 -% \strnrs ..................465--471 -% \splitwn .................473--474 -% \getdig .......................476 -% \sortcs ..................478--497 -%Ordering table ..............501--569 -%History of changes -%Oct 1994 OT modified with respect to -% Index sorting. -% Sorting macros adapted and -% extended. -%March 1994 Contents added to file sort.tex. -%Jan 1994 Macros released for CTAN. -%Spring 1993 Abridged version Sorting in BLUe -% for TUG'93 (Aston) TB 14.3, 1993. -%Fall 1992 Release for MAPS 93.1. -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sort%;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%heap% -%heapsort.tex Jan, 93 -%\newcount\n\newcount\lc\newcount\r -%\newcount\ic\newcount\uone -%\newcount\jc\newcount\jj\newcount\jjone -%\newif\ifgoon -%Non-descending sorting -\def\heapsort{%data in \1 to \n -\r=\n\heap\ic=1{}% -{\loop\ifnum\r>1{}\xch\ic\r - \advance\r-1{}\sift\ic\r -\repeat}} -% -\def\heap{%Transform \1..\n into heap - \lc=\n\divide\lc2{}\advance\lc1{}% - {\loop\ifnum\lc>1{}\advance\lc-1{}% - \sift\lc\n\repeat}} -% -\def\sift#1#2{%#1, #2 counter variables - \jj=#1\uone=#2\advance\uone1{}\goontrue - {\loop\jc=\jj \advance\jj by\jj - \ifnum\jj<\uone - \jjone=\jj \advance\jjone1{}% - \ifnum\jj<#2{}\cmpval\jj\jjone - \ifnum2=\status\jj=\jjone\fi\fi - \cmpval\jc\jj\ifnum2>\status\goonfalse\fi - \else\goonfalse\fi -\ifgoon\xch\jc\jj\repeat}} -% -\def\cmpval#1#2{%#1, #2 counter variables -%Result: \status= 0, 1, 2 if -% \val{#1} =, >, < \val{#2} - \ea\let\ea\aone\csname\the#1\endcsname - \ea\let\ea\atwo\csname\the#2\endcsname - \cmp\aone\atwo} -%\endinput %cgl@rc.service.rug.nl -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%heap%;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%quick% -%quick.tex Jan 93 -%\newcount\low\newcount\up\newcount\m -\def\quicksort{%Values given in -%\low,...,\up are sorted, non-descending. -%Parameters: \cmp, comparison. - \ifnum\low<\up\else\brk\fi -%\refval, a reference value selected at random. - \m=\up\advance\m-\low%Size-1 of array part - \ifnum10<\m\rnd\multiply\m\rndval - \divide\m99{}\advance\m\low \xch\low\m - \fi - \ea\let\ea\refval\csname\the\low\endcsname - \m=\low\k=\low\let\refvalcop=\refval - {\loop\ifnum\k<\up\advance\k1{}% - \ea\let\ea\oneqs\csname\the\k\endcsname - \cmp\refval\oneqs\ifnum1=\status - \global\advance\m1{}\xch\m\k\fi - \let\refval=\refvalcop - \repeat}\xch\low\m - {\up=\m\advance\up-1{}\quicksort}% - {\low=\m\advance\low1{}\quicksort}\krb} -% -\def\brk#1\krb{\fi}\def\krb{\relax} -%\endinput %cgl@rc.service.rug.nl -%end%%%%%%%%%%%%%%%%%%%%%%%%quick%;nonum!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%index% -%From BLUe's Index Oct 94%;numvrb -\catcode`\@=11 -%Some unused macros are left in. -%\newread\inxin -%\newtoks\indword -%\newtoks\indexfile - %To parameterize the resulting index -%\newtoks\irfile - %To parameterize the IRs -%\newtoks\indexname -%\newtoks\preindex -%\newtoks\postindex -%\newtoks\ignores -%\newtoks\conseqs -%\newtoks\consyms -%\newtoks\srtkeys -%\newtoks\srtkeypairs -%Initializations -\proofmodetrue -\irfile{index} -\indexfile{index.elm} -\preindex{\head{\the\indexname}} -\postindex{} -\immediate\openout\inx=index -\conseqs{\c\space\bf\it\rm\tt\sub\relax} -\consyms{\`\'\"\^\~} -\srtkeypairs{\AmSTeX{amstex} - \LAMSTeX{lamstex} - \LaTeX{latex} - \PS{PostScript} - \TeX{tex}} -\srtkeys{\AmSTeX\LAMSTeX\LaTeX\PS\TeX} -\let\sub\relax -%Macros -% -%User level -%;vrblin=100 -\def\sortindex{%Nov 1994, cgl -%Purpose: -%To sort IR file. -%Input: default index is sorted -% ( file specified in \irfile) -%Output: file index.elm. - \newpage\immediate\closeout\inx - \filetoarray{\the\irfile} - \immediate\write16{Sorting n=\the\n. - Please wait, O(nlog n) process.} - \let\cmp\cmpir\let\nxtw\nxtwindex - \otindex\let\ \space - {%Make sortkey defs - \ea\sokdef\the\srtkeypairs\fedkos\relax - \sort - \let\spaceseparator\space - \setupnxtokens\def\ {\nx\ }% - \immediate\write16{Range reduction.} - \redrngtofile{index.srt} - \immediate\write16{After reduction and - writing to file index.srt; n=\the\n.} - \immediate\write16{Transform - index.srt-->index.elm.} - \tawfiletofile{index.srt}{\the - \indexfile}}} -% -%Set up set of \srtkeys -\def\setupsrtkeys{\ea - \sok\the\srtkeypairs\kos\relax} -%;vrblin=150 -\def\pasteupindex{%May 1995, cgl -%Purpose: -%To set index in (balanced) doublecolumn. -%The index is preceded by -%\chapterhead{\the\indexname} -%and by the contents of -%\preindex and followed by contents of -%\postindex. -%Input: default index.elm is set -% (file specified in \indexfile). -%Biased by manmac's \begindoublecolumns -%\chapterhead{\the\indexname}%in preindex - \begingroup\def\space{{\tt\char32 }}% - \the\preindex\endgraf - \pageheight\vsize - \pagewd\hsize - \pagewidth\pagewd%anachronism - \parindent1em - \output={\global\setbox\partialpage= - \vbox{\unvbox255\bigskip}}% - \eject - \output={\bluedoublecolumnout}% -% \hsize=8.5cm \vsize=51cm%blue.tex values -%2*\hsize+(\hfil)=\pagewd - \divide\hsize2 \advance\hsize-1cm - \advance\vsize\vsize \advance\vsize1cm - \parskip0pt plus.8pt\relax - \obeylines\everypar{% - \hangindent2\parindent}% - \ea\let\csname par\endcsname\endgraf - \let\sub\endgraf -% - \input\the\indexfile\relax -% -%endpasteupindex part biased by -%manmac's \enddoublecolumns - \output={\balancecolumns}\eject - \endgroup - \pagegoal=\vsize\the\postindex} -% -%Add an element #1 to toks var #2 -\def\add#1to#2{#2\ea{\the#2#1}} -% -%Inner level -% -%IR creation -% -\let\spaceseparator\space -%;vrblin=200 -%Things are set up within \makexref to -%allow dynamical use. -\def\makexref{\ifproofmode%Mod cgl oct 94 - \setupsrtkeys - \bgroup\def\ {\string\ }% - \def\process##1{\def##1{\string##1 }}% - \ea\ea\ea\fifo\ea\the\ea\conseqs - \the\srtkeys\ofif - \def\process##1{\def##1{\string##1}}% - \ea\fifo\the\consyms\ofif - \xdef\writeit{\write\inx{\text{} - !\xreftype\spaceseparator - \nx\number\pageno.}}\writeit - \egroup - \else\ifhmode\kern0pt\fi\fi - \ifsilent\ignorespaces\else{\next}\fi} -% -%Sorting -%;vrblin=250 -\def\cmpir#1#2{%#1, #2 defs -%Result: \status= 0, 1, 2 if -% \val{#1} =, >, < \val{#2} -%\immediate\write16{Compared are: *#1* -% and *#2*}% -\ea\ea\ea\decom\ea#1#2} -% -\def\nxtwindex#1#2{% -%Function: -%On input: #1 contains the `word' -%As result: #2 contains the value -% of the first non-ignored token as given -% in the ordering table. -%#1 contains the rest of the `word' - \def\pop##1##2\pop{% - \gdef#1{##2}\def\pophead{##1}}%head and tail - \ea\pop#1\pop%split in head and tail - \ignores\ea\ea\ea{\ea - \the\ea\conseqs\the\consyms}% - \ea\loc\pophead{\the\ignores}% - \iffound\ifx\empty#1 \chardef#2=0 - \else\nxtwindex#1#2 \fi - \else - \ea\loc\pophead{\the\srtkeys}% - \iffound\xdef\pophead{\pophead}% - \ea\ea\ea\gdef\ea\ea\ea#1\ea\ea\ea - {\ea\pophead#1}% - \nxtwindex#1#2 - \else - \ea\let\ea#2\csname ot\pophead\endcsname - \fi - \fi} -% -\def\otindex{%Parameters: Ordering `table' -%Special cases -\ea\chardef\csname ot \endcsname=0 -\ea\chardef\csname ot\space\endcsname=0 -%{|}~(\char126) in ASCII after lowercase -%^ active character -%Bulk according to ACII -\def\process##1{\ea\chardef - \csname ot##1\endcsname=`##1 } -%lowercase letters -\fifo abcdefghijklmnopqrstuvwxyz\ofif -\chardef\otij=`y \chardef\otIJ=`y -%other characters -\fifo !"##$&'()*+,-./0123456789:;<=>?@ - []_`\ofif -%uppercase letters equal lowercase -\def\process##1{\ea\chardef - \csname ot##1\endcsname=\lccode`##1 } -\uppercase{\fifo - abcdefghijklmnopqrstuvwxyz\ofif} -} -% -%Range reduction -%;vrblin=400 -\def\redrngtofile#1{%Reduction of \1,...,\n, -%with range representation of page numbers -\immediate\openout\inx=#1 - {\k1\kk0 \ifnum\n>0 - \ea\ea\ea\splitwn\csname\the\k\endcsname - \let\refer\word - \let\nrsrng\empty\prcrng\num\fi - \loop\ifnum\k<\n\advance\k1 - \ea\ea\ea\splitwn\csname\the\k\endcsname - \ifx\refer\word%extend \nrsrng with number - \prcrng\num - \else%write record to \kk - \advance\kk1 \strnrs - \immediate\write\inx{\refer\spaceseparator - \nrsrng.}% - \let\nrsrng\empty\init\num - \prcrng\num\let\refer\word - \fi - \repeat\ifnum1<\n - \advance\kk1 \strnrs - \immediate\write\inx{\refer\spaceseparator - \nrsrng.}% - \global\n\kk\fi - }\immediate\closeout\inx} -% -%Copying -%;vrblin=500 -\def\filetoarray#1{%#1 is file name - \immediate\openin\inxin=#1\relax - \ifeof\inxin\immediate\write16{File #1 empty - or non-existent.}% - \fi \n\kzero\continuetrue - \loop\ifeof\inxin\continuefalse\fi - \ifcontinue\advance\n1 \immediate - \read\inxin t\ea o\csname\the\n\endcsname -%\immediate\write16{k: \number\n: -% \csname\the\n\endcsname}% - \repeat\advance\n-1 - \immediate\closein\inxin} -% -\def\tawfiletofile#1#2{\continuetrue - \immediate\openin\inxin=#1\relax - \immediate\openout\inx=#2\relax - \loop\read\inxin to\IR - \ifeof\inxin\continuefalse\fi - \ifcontinue\trfandwrite\IR - \repeat - \immediate\closein\inxin - \immediate\closeout\inx -} -% -\def\setupnxtokens{% - \def\process##1{\def##1{\nx##1}}% - \ea\ea\ea\fifo\ea\the\ea\conseqs - \the\srtkeys\ofif - \def\process##1{\def##1{\string##1}}% - \ea\fifo\the\consyms\ofif -} -% -\def\trfandwrite#1{\ea\splitintoks#1% - \immediate\write\inx{\nx\noindent - \ifcase\digit{\the\indword}\or - {\nx\tt\the\indword}\or - \nx\cs{\the\indword}\or - $\nx\langle\hbox{\the\indword}\nx\rangle - $\fi\spaceseparator{\nx - \oldstyle\pagenrs}}}%Period deleted -% -\def\splitintoks#1 !#2 #3.{\indword{#1}% - \chardef\digit=#2\relax\def\pagenrs{#3}} -% -%Typesetting;vrblin=600 -\def\bluedoublecolumnout{% -%Biased by manmac's doublecolumnout - \splittopskip=\topskip - \splitmaxdepth=\maxdepth \dimen@\pageheight - \advance\dimen@ by-\ht\partialpage - \setbox0=\vsplit255 to\dimen@ - \setbox2=\vsplit255 to\dimen@ - \blueonepageout\pagesofar - \unvbox255 \penalty\outputpenalty} -% -\def\blueonepageout#1{% -%Biased by manmac's \onepageout - \shipout\vbox{% - \vbox to\baselineskip{\null - \the\headline\vss}% - \kern2ex - \vbox to\pageheight{#1\vss}% - \kern1ex - \the\footline - }\advancepageno} -% -%Auxiliaries;vrblin=700 -%SetOfKeys -\def\sok#1#2{%Function: -%Build from \srtkeykpairs \srtkeys -%via \ea\sok\srtkeypairs\kos\relax -\ifx#1\kos\kos\fi - \srtkeys\ea{\the\srtkeys#1}\sok} -\def\kos#1\sok{\fi} -% -\def\sokdef#1#2{%Function: -%Build from \srtkeypairs srtkey defs -\ifx#1\fedkos\fedkos\fi - \def#1{#2}\sokdef} -\def\fedkos#1\sokdef{\fi} -\endinput%;nonum -%Table of contents: blue.ind -%Variables -% \indexname...........(blue.tex) -% \preindex....................21 -% \postindex...................22 -% \indword.............(blue.tex) -% \indexfile...........(blue.tex) -% \irfile..............(blue.tex) -% \conseqs.....................24 -% \consyms.....................25 -% \srtkeys.....................31 -% \srtkeypairs..............26-30 -% \ignores.............(blue.tex) -%User level macros -% \sortindex..............101-125 -% \pasteupindex...........151-187 -% \add#1to#2..................190 -%Lower level macros -%IR Creation -% \makexref...............203-216 -%Sorting -% \cmpir..................251-256 -% \nxtwindex..............258-282 -% \otindex................284-304 -%Range reduction -% \redrngtofile...........401-424 -%Copying -% \filetoarray............501-512 -% \tawfiletofile..........514-523 -% \trfandwrite............533-540 -% \setupnxtokens..........525-531 -% \splitintoks............542-543 -%OTR doublecolumns -% \bluedoublecolumnout....601-609 -% \blueonepageout.........611-620 -%Auxiliaries -% \sok....................702-707 -% \sokdef.................709-713 -%History of changes -%Nov 1994 Set up. -%end%%%%%%%%%%%%%%%%%%%index%;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%ntglogo% -\tool\ntglogotool %;numvrb -\message{ ---ntglogo, Jan 95, cgl--- } -\font\calx=cmsy10 scaled \magstep4 -\def\ntglogo{\vbox{% - \hbox{{\calx N}ederlandstalige} - \hbox{\hskip1em{\calx T}\kern-.2ex - \raise-.5ex\hbox{E}\kern.1exX} - \hbox{\hskip2em{\calx G}ebruikersgroep}}} -\setbox\ntglogobox\ntglogo -%end%%%%%%%%%%%%%%%%%%%ntglogo%!cgl;nonum -\endinput -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%ntginfo% -\tool\ntginfotool %;numvrb -\message{ ---ntginfo, Jan 95, cgl--- } -\def\dropntglogo{\noindent - \hangindent5\generalindent\hangafter-5 - \smash{\lower3.5\baselineskip - \hbox to0pt{\hskip-.9\hangindent - \copy\ntglogobox\hss}}} -\def\ntginfo{% -\dropntglogo is the Dutch-language-oriented - \TeX{} \UG, founded in - {\oldstyle1988}. The activities - comprise two meetings per year, - with the wealthy MAPS\Dash Minutes - and APpendiceS\Dash - sent out before each meeting.\\ -The activities are biased by sharing experience -in using \AllTeX, \MF, literate programming, -SGML, Adobe's \PS{} and PDF, next to -multi-media, in short, sharing knowledge about -Electronic Publishing, biased by \AllTeX. -The intricacies of the World-Wide-Web in -relation to using \AllTeX{} is also explored. -Less than {\oldstyle5}\% of our energy was -devoted to organizational matters in the past. -Apart from the regular MAPS we enjoy MAPS specials. -Up till {\oldstyle1994} NTG's PR set and David -Salomon's courseware\Dash -Advanced \TeX: Insights and Hindsights\Dash -have appeared in this series. -The {\oldstyle 1994} special has the title -{\oldstyle 100} FAQ: Everything you will ever -have to know about \AllTeX.\ftn{Courtesy Bobby Bodenheimer - and ukTUG, - Reprint Baskerville, {\oldstyle4}, {\oldstyle6}.} -\smallskip -Important activities, listed in historical -order, have been -\bigskip -{\generalindent5\generalindent -\item{\oldstyle1988\quad} NTG's discussion - list and fileserver on the air -\item{\oldstyle1989\quad} NTG days, various - courses have been offered since -\item{\oldstyle1990\quad} SGML-\TeX{} conference, - Babel emerges -\item{\oldstyle1992\quad} Belgian commissioner - for Flemish \AllTeX ies -\item{\oldstyle1993\quad} Goddijn's Bulletin Board -\item{\oldstyle1994\quad} 4All\TeX{} CD-ROM - with turnkey-\TeX{} system -\item{\oldstyle1995\quad} Euro\TeX, - BLUe's system emerges -\smallskip -}\bigskip -Close contacts have been maintained over the -years with the TUG\Dash \TUG\Dash and the -other LUGs\Dash Language-oriented \TUG s. -One can subscribe for a joint membership of -NTG and TUG. -\smallskip -The regular subscription fee for an individual -NTG membership is in the order of -{\it f}~{\oldstyle90} per year. -Students are granted a discount. -An institutional membership is possible. -\smallskip -Enquiries, casu quo a registration form, -can be obtained from - NTG's secretary Postbus {\oldstyle394}, - {\oldstyle1740} AJ Schagen, - ntg@nic.surfnet.nl.} -\endinput -%end%%%%%%%%%%%%%%%%%%%ntginfo%;nonum!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%smileys% -\tool\smileystool %;numvrb -\message{ ---smileys, July 95, cgl--- }% -%Assumed \mfs etc. available -\def\eyes{{\x250\unitlength\y150\unitlength - \putatxy}%l-eye - {\x750\unitlength\y150\unitlength - \putatxy}%r-eye -}% -\def\lefteyes{{\x200\unitlength\y150\unitlength - \putatxy}%l-eye - {\x700\unitlength\y150\unitlength - \putatxy}%r-eye -}% -\def\squinteyes{{\x300\unitlength\y150\unitlength - \putatxy}%l-eye - {\x700\unitlength\y150\unitlength - \putatxy}%r-eye -}% -\def\winkeye{\initialize - {100}{150}{250}{75}{250}{75}{400}{150}% - {\k0\kmax2\x0pt\y0pt\mfs}%l-winkeye - {\x750\unitlength\y150\unitlength\putatxy}%r-eye -}% -\def\mouth{\initialize - {250}{-250}{500}{-350}{500}{-350}{750}{-250}% - \k0\x0pt\y0pt\mfs} -% -\def\sadmouth{\initialize - {250}{-350}{500}{-250}{500}{-250}{750}{-350}% - \k0\x0pt\y0pt\mfs} -% -\kmax5 %level -\setbox\smileybox=\hbox{\unitlength.01pt - \initialize - 000{650}{1000}{650}{1000}0% - \k0\putatxy\mfs - \initialize - 000{-650}{1000}{-650}{1000}0% - \k0\mfs\y0pt\x\X4\putatxy - \kmax3 - \initialize - {100}{200}{250}{250}{250}{250}{400}{200}% - \k0\x0pt\y0pt\mfs%l-brow - \initialize - {600}{200}{750}{250}{750}{250}{900}{200}% - \k0\x0pt\y0pt\mfs%r-brow - {\x500\unitlength\y150\unitlength\S{250}}%Nose -}% -\endinput -%end%%%%%%%%%%%%%%%%%%%smileys%!cgl;newcol;nonum -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%toc% -\tool\toctool %;numvrb -\message{---(mini-)ToC, - Sept 95, March 96 cgl---} -%March 96 writing to file is replaced by -% maintaining \toksvar tocvar. -\let\bh\bluehead -\long\def\bluehead#1\par{\bh#1\par -\tocvar\ea{\the\tocvar\par#1}} -\let\bsh\bluesubhead -\long\def\bluesubhead#1\par{\bsh#1\par -\tocvar\ea{\the\tocvar\par\quad#1}} -\let\bssh\bluesubsubhead -\long\def\bluesubsubhead#1\par{\bssh#1\par -\tocvar\ea{\the\tocvar\par\qquad#1}} -\let\be\blueexample -\long\def\blueexample#1\par{\be#1\par -\tocvar\ea{\the\tocvar\par\qquad ex: #1}} -\long\def\pasteuptoc{\newcol - \bluehead Contents\par - \the\tocvar - \let\makesignature\relax} -\endinput -%end**%%%%%%%%%%%%%%%%%%%%%%%toc%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%english% -\tool\englishtool %;numvrb -\message{ ---English , Jan 95, cgl--- } -\abstractname{Abstract} -\acknowledgementsname{Acknowledgements} -\contentsname{Contents} -\indexname{Index} -\examplename{Example} -\keywordsname{Keywords} -\referencesname{References} -\endinput -%end%%%%%%%%%%%%%%%%%%%%english%;nonum -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%russian% -\tool\russiantool %;numvrb -\message{ ---Russian , %Jan 95, - not yet available, cgl--- } -%\abstractname{Abstract} -%\acknowledgementsname{Acknowledgements} -%\contentsname{Contents} -%\indexname{Index} -%\examplename{Example} -%\keywordsname{Keywords} -%\referencesname{References} -%end%%%%%%%%%%%%%%%%%%%%russian%;nonum -\endinput %!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%%%xyz% -\tool\xyztool %;numvrb -\def\xyz#1#2#3{\leavevmode% -\message{ ---xyz, jan 95, cgl--- }% - \setbox0\vbox{\hbox{/}\kern0pt}% - \lower2.65\ht0\hbox{\copy0% - \rlap{\qquad#1}}% - \kern-.185\ht0\lower1.8\ht0\copy0% - \kern-.185\ht0\lower0.95\ht0\copy0% - \kern-.11\ht0% - \vrule height9ex depth0pt\relax% - \raise7ex\rlap{\qquad#3}% - \vrule height.1pt depth.1pt width 8ex% - \qquad\lower.6ex\hbox{#2}}% -\endinput %;nonum -%end%%%%%%%%%%%%%%%%%%%%%xyz%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%partlogo% -\tool\partlogotool %;numvrb -%from TeX book -\def\partlogo#1{\goodbreak - \bigskip\noindent - \vbox{\line{\hrulefill}% - \kern-.5\baselineskip -\line{\hrulefill{ \phantom{\bf #1}} % - \hrulefill}% - \kern-.5\baselineskip - \line{\hrulefill{ \bf #1} - \hrulefill}% - \kern-.5\baselineskip - \line{\hrulefill}% -}\nobreak\smallskip\noindent} -\endinput %;nonum -%end%%%%%%%%%%%%%%%%%%%%%partlogo%!cgl;newcol -% -% -% -%begin%%%%%%%%%%%%%%%%%%%%%%%pascal% -\tool\pascaltool -\message{ ---pascaltool, Jan, Aug 95, cgl--- } -%C.G. van der Laan, Jan, Oct 95.%;numvrb -%Processing (first set of macros) -%\let\beginpascal\fifol -\def\lofif#1\fifol{\fi - \the\postpascal\endgroup} -\let\endpascal\lofif -\def\lf{x}%toggle for last font to insert \/ -\def\processw#1{% - \ifnum\commentstatus>0 - \if p\lf\leavevmode\/\fi#1\def\lf{c}\else - \ifx\relax#1\relax{ }%space - \else\foundfalse - \loc{ #1 }{\the\reservedset}% - \iffound{\if p\lf\leavevmode\/\fi - \reservedwordsfont#1}\def\lf{r}% - \else\if=#1${}={}$\else - {\pascalprogramfont#1{}}\def\lf{p}\fi\fi - \fi\fi}%end processw;vrblin50 -%for the rest of listing use -%another escape char;endinput -%Typesetting : ;= ; . ^ -\def\becomes{:=} -\catcode`\:=\active -\def:#1{\if=#1${}\becomes{}$\else - {\rm\char`\:}#1\fi} -\catcode`\;=\active - \def;{{\/\rm\char`\;}} -\catcode`\.=\active \def.{{\pascalprogramfont - \char`\.}} -\catcode`\^=\active \def^{\char'\active6} - %\def^{{\enspace$\uparrow$}} -\catcode`\[=\active \catcode`\]=\active - \def[{{\rm \char`\[}} - \def]{{\rm\/\char`\]}} -\def\leftbrace{(} -\catcode`\(=\active \catcode`\*=\active -\def(#1{\ifx*#1$\{\,$\global - \advance\commentstatus1 - \pascalcommentfont - \else\leftbrace#1\fi} -%Reserved words ;vrblin100 -\reservedset{ and array begin case const - div do downto else end. end; file for - function goto if in label mod nil not of - or otherwise packed procedure program record - repeat set step string then to type until - var while with}% -%Handling of >= <= <> > < ;vrblin150 -\def\lt{<}\def\gt{>} -\catcode`\>=\active -\def>#1{\if=#1${}\geq{}$\else - ${}\gt{}$#1\fi} -\catcode`\<=\active -\def<#1{\ifx>#1${}\ne{}$\else - \if=#1${}\leq{}$\else - ${}\lt{}$#1\fi\fi} -%Handling of + - * ;vrblin200 -\def\-{-}%Save for hyphen use -\def\plus{+}\def\minus{-} -\catcode`\+=\active \def+{${}\plus{}$} -\def*#1{\if)#1$\,\}$\global - \advance\commentstatus-1 - \else${}\times{}$#1\fi} -%{\catcode`\-=\active \gdef-{${}\minus{}$}} -%Later catcode is set for minus -%Last part of processing ;vrblin250 -\obeyspaces\let =\ -\def\fifow#1 {\ifx -\wofif#1\wofif\fi\processw{#1}\ \fifow}% -\def\processl#1{\fifow#1 \wofif - \endgraf}%First space is needed -% ;vrblin300 -\let\zero0 \catcode`\0=\active\def0{{\rm\zero}} -\let\one1 \catcode`\1=\active\def1{{\rm\one}} -\let\two2 \catcode`\2=\active\def2{{\rm\two}} -\let\three3\catcode`\3=\active\def3{{\rm\three}} -\let\four4 \catcode`\4=\active\def4{{\rm\four}} -\let\five5 \catcode`\5=\active\def5{{\rm\five}} -\let\six6 \catcode`\6=\active\def6{{\rm\six}} -\let\seven7\catcode`\7=\active\def7{{\rm\seven}} -\let\eight8\catcode`\8=\active\def8{{\rm\eight}} -\let\nine9 \catcode`\9=\active\def9{{\rm\nine}} -\catcode`\-=\active \def-{${}\minus{}$}% -\obeylines\smallskip% -\the\prepascal\relax%;nonum -\endinput%cgl@rc.service.rug.nl -% -% -% -%Contents Pascal -% \beginpascal -% \lofif -% \endpascal -% \processw -%Typesetting : := ;semicol . ^ -% \becomes -% : -% ; -% . -% ^ -%Reserved words -%Handling of >= <= <> > < -% \lt -% \gt -% > -% < -%Handling of + - * -% - -% \plus -% \minus -% \times -% + -% * -% - -%Last part of processing -% \fifow# -% \processl -%Keeping track of comments, and -%using comment fonts -% {, } -% [, ] -% \commentstatus -% \pascalcommentfont -% \prepascal -% -%Use of the above file via -%\input pascal.tex -%\beginpascal -%(*Print length of third side of -% triangle given two sides and -% enclosed angle*) -%program EX4A(input, output); -%var a, b, c angle : real; -%begin read(a, b, angle); -% c:=sqrt(sqr(a)+sqr(b)- -% 2*a*b*cos(angle)); -% writeln(`The third side is', c) -%end. -%\endpascal -%\beginpascal -%(*heap creation*) -%l := n div 2 + 1; -%while l <> 1 do -%begin l := l-1; sift(a, l, n) end; -%(*sorting*) -%r := n; -%while r <> 1 do -%begin swap(a[1], a[r]); -% r := r-1; sift(a, 1, r) -%end; -%(*sift arg1 through arg2*) -%j:= arg1; -%while 2j >= arg2 and -% (a[j] < a[2j] or a[j] < a[2j+1]) -%do begin mi := 2j + if a[2j] > a[2j+1] -% then 0 -% else 1; -% exchange(a[j], a[mi]); j := mi -%end. -%\endpascal -%\bye -%Together with blue.tex and tools.dat -%replace -%\input pascal.tex -%by -%\input blue.tex -%End pascal.tex -% -% -%History of changes -%Jan 95 Designed -%end%%%%%%%%%%%%%%%%%%%%pascal%!cgl;newcol -% -% -% -\tool\efg -phoney tool, for test purpose -\endinput%end \efg \ No newline at end of file diff --git a/macros/fotex/fotex.ini b/macros/fotex/fotex.ini deleted file mode 100644 index d220004bef..0000000000 --- a/macros/fotex/fotex.ini +++ /dev/null @@ -1,3 +0,0 @@ -\input fotex.ltx -\@startxml -<dump> diff --git a/macros/fotex/fotex.ltx b/macros/fotex/fotex.ltx deleted file mode 100644 index e07cc8ec43..0000000000 --- a/macros/fotex/fotex.ltx +++ /dev/null @@ -1,986 +0,0 @@ -%%RCS: $Id: fotex.ltx,v 1.9 1999/12/21 11:40:37 rahtz Exp rahtz $ -%% File: fotex.ltx Copyright 1999 Sebastian Rahtz -%% -%% This package may be distributed under the terms of the LaTeX Project Public -%% License, as described in lppl.txt in the base LaTeX distribution. -%% Either version 1.0 or, at your option, any later version. -%% -%% I am very grateful to David Carlisle for all the good ideas, code -%% fragments and advice. -%% -\documentclass{article} -\RequirePackage{keyval} -\RequirePackage{graphicx} -\RequirePackage{array} -\RequirePackage{longtable} -\RequirePackage[normalem]{ulem} -\RequirePackage{color} -\RequirePackage{typexml} -\def\XMLdefEMPTY<#1>#2{% - \XMLdefempty<#1/>{#2}% - \XMLdef</#1>{}% - \XMLdef<#1>{#2}% -} -\RequirePackage{times} -\RequirePackage{utfeight} -\RequirePackage{mlnames} -\def\DefineCharacter#1#2#3{\expandafter\def\csname!#2\endcsname{#3}} -\RequirePackage{unicode} -\input ucharacters.sty -\DefineCharacter{8412}{2028}{\\} -\RequirePackage{url} -\newcommand\XURL{\begingroup \urlstyle{same}\Url} -\RequirePackage[% - pdfborder={0 0 0}, - implicit=false, -% linkbordercolor={0 0 0}, -% urlbordercolor={0 0 0}, -% pagebordercolor={0 0 0}, -% filebordercolor={0 0 0}, -% citebordercolor={0 0 0}, - typexml]{hyperref}[1999/08/11] -\makeatletter -\def\pdfBorderAttrs{/Border [0 0 0]}% -\definecolor{orange}{cmyk}{0,0.61,0.87,0} -%%%% -\def\@outputpage{% -\begingroup % the \endgroup is put in by \aftergroup - \let \protect \noexpand - \@resetactivechars - \@parboxrestore - \shipout \vbox{% - \set@typeset@protect - \aftergroup \endgroup - \aftergroup \set@typeset@protect - % correct? or just restore by ending - % the group? -\if@twoside - \@tempdima\textwidth - \advance\@tempdima by -\XML@headindent - \if@specialpage - \global\@specialpagefalse - \def\@thehead{\csname first-xsl-before\endcsname}% - \def\@thefoot{\csname first-xsl-after\endcsname}% - \let\@themargin\oddsidemargin - \else - \ifodd\count\z@ - \def\@thehead{\csname right-xsl-before\endcsname}% - \def\@thefoot{\csname right-xsl-after\endcsname}% - \let\@themargin\oddsidemargin - \else - \def\@thehead{\csname left-xsl-before\endcsname}% - \def\@thefoot{\csname left-xsl-after\endcsname}% - \let\@themargin\evensidemargin - \fi - \fi -\else - \def\@thehead{\csname right-xsl-before\endcsname}% - \def\@thefoot{\csname right-xsl-after\endcsname}% - \let\@themargin\oddsidemargin -\fi - \reset@font - \normalsize - \normalsfcodes - \let\label\@gobble - \let\index\@gobble - \let\glossary\@gobble - \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ - \@begindvi - \vskip \topmargin - \moveright\@themargin \vbox {% - \setbox\@tempboxa \vbox to\headheight{% - \vfil - \color@hbox - \normalcolor - \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thehead}}}% - \color@endbox - }% %% 22 Feb 87 - \dp\@tempboxa \z@ - \box\@tempboxa - \vskip \headsep - \box\@outputbox - \baselineskip \footskip - \color@hbox - \normalcolor - \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thefoot}}}% - \color@endbox - }% - }% - \global \@colht \textheight - \stepcounter{page}% - \let\firstmark\botmark -} - -%%%% -\newif\ifXMLForceInline -\newif\ifXMLFopHeaders -\newif\ifXMLBox -\newif\ifXMLDefiningPage -\newif\ifXMLKeep -\newif\ifXMLNoWrap -\newif\ifXMLObeySpace -\newif\ifXMLSub -\newif\ifXMLSuper -\newif\ifXMLfirstpage -\newif\ifXMLinLayout -\newif\ifXMLinList -\newif\ifXMLinListLabel -\newif\ifXMLinOutput -\newif\ifXMLinTable -\newif\ifXMLneedspecialpage -\XMLFopHeadersfalse -\XMLBoxfalse -\XMLDefiningPagefalse -\XMLNoWrapfalse -\XMLObeySpacefalse -\XMLSubfalse -\XMLSuperfalse -\XMLfirstpagetrue -\XMLinLayoutfalse -\XMLinListLabelfalse -\XMLinListfalse -\XMLinOutputfalse -\XMLinTablefalse -\XMLForceInlinefalse -\def\att@NaN{NaN} -\def\att@none{none} -\def\att@normal{normal} -\def\att@solid{solid} -\def\att@smallcaps{small-caps} -\def\att@super{super} -\def\att@sub{sub} -\def\att@nowrap{no-wrap} -\def\att@preserve{preserve} -\def\att@page{page} -\def\att@oddpage{odd-page} -\def\att@true{true} - -% defaults -\def\QuaddingStart{\startQ@justified} -\def\QuaddingEnd{\endQ@justified} -\def\Quadding{\Q@justified} -\def\XMLid{} -\def\Defaultx@fontfamily{Times-Roman} -\def\XML@fontsize{10pt} -\def\XML@fontweight{normal} -\def\XML@fontvariant{normal} -\def\XML@lineheight{-1\p@} -\def\XML@fontstretch{normal} -\def\XML@fontfamily{ptm} -\def\XML@spacebefore{\z@} -\def\XML@spacebeforeminimum{\z@} -\def\XML@spacebeforemaximum{\z@} -\def\XML@spacebeforeoptimum{\z@} -\def\XML@spaceafter{\z@} -\def\XML@spaceafterminimum{\z@} -\def\XML@spaceaftermaximum{\z@} -\def\XML@spaceafteroptimum{\z@} -\def\XML@textindent{\z@} -\def\XML@headindent{\z@} -\def\XML@deco{\@firstofone} -\def\StartIndent{\z@} -\def\EndIndent{\z@} -\def\XML@color{} -\def\XML@scale{1} -\def\XML@labelsep{6pt} -\def\XML@listindent{24pt} -\def\XML@NColumnsSpanned{1} -\def\XML@RuleLeaders{\leaders\hrule height \XML@RuleThickness\hfill} -\def\XML@RuleThickness{1\p@} -\def\XMLInitialPageNumber{-99999} -\parindent\z@ -\parskip\z@ -\def\FirstHead{\csname right-xsl-before\endcsname} -\def\FirstFoot{\csname right-xsl-after\endcsname} -\expandafter\def\csname left-xsl-before\endcsname{} -\expandafter\def\csname left-xsl-after\endcsname{} -\expandafter\def\csname right-xsl-before\endcsname{} -\expandafter\def\csname right-xsl-after\endcsname{} -\def\HeaderMargin{\z@} -\def\FooterMargin{\z@} -\def\LeftMargin{\z@} -\def\RightMargin{\z@} -\def\TopMargin{\z@} -\def\BottomMargin{\z@} -\def\PageWidth{211mm} -\def\PageHeight{297mm} -\def\TextAlign{justified} -\def\MasterLeftMargin{\z@} -\def\MasterRightMargin{\z@} -\def\ShowFO#1{\typeout{|\the\inputlineno: Start #1}}% -\def\ShowEndFO#1{\typeout{|\the\inputlineno: End #1}}% -\def\ShowAttribute#1#2{% - \typeout{| #1: #2}% -} -\XMLdef<relax>{\relax} -% -% Load MathML -\input{mathml.ltx} -% Fotex-escape objects -\XMLdefempty<fotex:bookmark/>{} -\XMLdef<fotex:bookmark>{\XMLattributes\XMLgrabber{fotex:bookmark}\FotexBookMark} -\def\FotexBookMark#1{% - \pdfbookmark[\FoTeX@BookMarkLevel]{#1}{\FoTeX@BookMarkLabel}% -} -\define@key{XML}{xmlns:fotex}{} -\define@key{XML}{fotex-bookmark-level}{\def\FoTeX@BookMarkLevel{#1}} -\define@key{XML}{fotex-bookmark-label}{\def\FoTeX@BookMarkLabel{#1}} -% -\define@key{XML}{xmlns:fop}{} -\define@key{XML}{fop:master}{\XMLFopHeaderstrue\def\XML@FopMaster{#1}} -% -% XSL FO Formatting objects -\XMLdefEMPTY<fo:display-rule>{\bgroup\XMLattributes\hrule height \XML@RuleThickness\egroup} -\XMLdefEMPTY<fo:inline-rule>{\bgroup\XMLattributes\XML@RuleLeaders\egroup} -% -\XMLdef<fo:simple-link>{\XMLattributes\XMLgrabber{fo:simple-link}{\XML@simplelink}} -{\catcode`\#=12\gdef\XMLhash{#}} -\let\XML@extdest\@empty -\let\XML@intdest\@empty -\def\XML@simplelink#1{% - \ifx\XML@extdest\@empty - \hyperlink{\XML@intdest}{#1}% - \let\XML@intdest\@empty - \else - \expandafter\@simplelink\XML@extdest\@nil#1:\@nil% - \let\XML@extdest\@empty - \fi -} - -\def\@simplelink#1\@nil#2:#3\@nil{% - \ifx\\#3\\% - \href{#1}{#2}% - \else - \href{#1}{\XURL{#2:#3}}% - \fi -} -\XMLdef</fo:simple-link>{} -\XMLdef<fo:block>{% - \ifXMLinListLabel - \def\@x{\ListLabelBlock}% - \else - \def\@x{\XMLBlock}% - \fi - \@x -} - -\XMLdefempty<fo:block/>{% - \XMLBlock - \par\ifXMLKeep\penalty\@M\fi - \vspaceafter - \egroup -} -\def\XMLBlock{% -\bgroup -\ifXMLinList - \def\QuaddingStart{\startQ@justified}% - \def\QuaddingEnd{\endQ@justified}% - \def\Quadding{\Q@justified}% - \def\TextAlign{justified}% -\fi -\ifXMLinOutput - \XMLattributes - \def\@x{\QuaddingStart\SetFont}% -\else -\ifXMLinTable - \let\@x\@empty -\else - \let\@x\relax - \XMLattributes - \XMLlabel{\XMLid}% - \ifXMLinList - \par - \else - \par - \parindent\XML@textindent% - \vspacebefore - \ifXMLNoWrap\obeylines\fi -% \ifXMLObeySpace\obeyspaces\fi - \fi - \SetFont - \Quadding - \fi -\fi -\@x -} -\XMLdef</fo:block>{% - \ifXMLinOutput - \QuaddingEnd - \fi - \ifXMLinList - \par - \else - \par\ifXMLKeep\penalty\@M\fi - \vspaceafter - \fi - \egroup -} -% -\XMLdef<fo:inline-included-container>{\XMLForceInlinetrue} -\XMLdef</fo:inline-included-container>{\XMLForceInlinefalse} -\XMLdef<fo:display-sequence>{\bgroup\XMLattributes} -\XMLdef</fo:display-sequence>{\egroup} -\XMLdefempty<fo:inline-sequence/>{} -\XMLdef<fo:inline-sequence>{\bgroup\XMLattributes\XMLgrabber{fo:inline-sequence}\XML@inlinesequence} -\def\XML@inlinesequence#1{% - \ifXMLBox\XML@boxedsequence{#1}\else\XML@@inlinesequence{#1}\fi - \egroup -} -\def\XML@@inlinesequence#1{% - \SetFont - \ifXMLSuper\textsuperscript{\XML@deco{#1}}% - \else - \ifXMLSub\textsubscript{\XML@deco{#1}}% - \else - \XML@deco{#1}% - \fi - \fi -} -\def\XML@boxedsequence#1{% - \SetFont - \fbox{% - \ifXMLSuper\textsuperscript{#1}% - \else - \ifXMLSub\textsubscript{#1}% - \else - #1% - \fi - \fi -}% -} -\XMLdef</fo:inline-sequence>{} -\XMLdef</fo:character>{} -\XMLdef<fo:character>{{\def\^^M{\\}\XMLattributes}} -\XMLdefempty<fo:character/>{\XMLattributes} -\XMLdef<fo:character>{\XMLattributes} -\XMLdef</fo:character>{} -\XMLdef<fo:layout-master-set>{\ShowFO{fo:layout-master-set}\XMLattributes} -\XMLdef</fo:layout-master-set>{\ShowEndFO{fo:layout-master-set}} -\XMLdef<fo:page-sequence>{% - \bgroup - \XMLattributes -} -\XMLdef</fo:page-sequence>{% - \clearpage - \egroup -} -\XMLdef<fo:flow>{% -\bgroup\XMLattributes} -\XMLdef</fo:flow>{\egroup} - -\XMLdef<fo:root>{% - \begin{document}% - \typeout{Passive TeX project: fotex format, Sebastian Rahtz: - 1999/08/11}% - \pagestyle{empty} - \XMLattributes -} -\XMLdef</fo:root>{% - \end{document}% -} -\XMLdefEMPTY<fo:sequence-specifier-repeating>{} -\XMLdef<fo:sequence-specification>{% - \XMLneedspecialpagefalse - \XMLattributes -} -\XMLdef</fo:sequence-specification>{% - \ifXMLfirstpage - \else - \if@twoside - \cleardoublepage - \else - \clearpage - \fi - \fi - \ifnum\XMLInitialPageNumber>-99999 - \setcounter{page}{\XMLInitialPageNumber}% - \fi - \ifXMLneedspecialpage\@specialpagetrue\XMLneedspecialpagefalse\fi - \XMLSetPage -} -\XMLdef<fo:simple-page-master>{% - \XMLDefiningPagetrue - \XMLattributes - \XMLDefiningPagefalse -} -\XMLdef</fo:simple-page-master>{} -\def\@staticafter{xsl-after} -\def\@staticbefore{xsl-before} -\def\@staticstart{xsl-start} -\newsavebox{\foo} -\XMLdefempty<fo:static-content/>{% -\bgroup - \XMLattributes - \XML@staticcontent{}% -} -\XMLdef<fo:static-content>{% - \bgroup - \XMLattributes - \XMLgrabber{fo:static-content}{\XML@staticcontent}} -% -\def\SetStatic{\expandafter\@SetStatic\XML@textindent\\} -\def\@SetStatic#1\\{\expandafter\@@SetStatic\XML@fontsize\\{#1}} -\def\@@SetStatic#1\\#2{\expandafter\@@@SetStatic\XML@fontweight\\{#1}{#2}} -\def\@@@SetStatic#1\\#2#3{\expandafter\@@@@SetStatic\XML@fontvariant\\{#1}{#2}{#3}} -\def\@@@@SetStatic#1\\#2#3#4{\expandafter\@@@@@SetStatic\XML@lineheight\\{#1}{#2}{#3}{#4}} -\def\@@@@@SetStatic#1\\#2#3#4#5{\expandafter\@@@@@@SetStatic\XML@fontstretch\\{#1}{#2}{#3}{#4}{#5}} -\def\@@@@@@SetStatic#1\\#2#3#4#5#6{\expandafter\@@@@@@@SetStatic\XML@fontfamily\\{#1}{#2}{#3}{#4}{#5}{#6}} - -\def\@@@@@@@SetStatic#1\\#2#3#4#5#6#7#8#9{% - \expandafter\gdef\csname#9\endcsname{% - {% - \def\XML@fontfamily{#1}% - \def\XML@fontstretch{#2}% - \def\XML@lineheight{#3}% - \def\XML@fontvariant{#4}% - \def\XML@fontweight{#5}% - \def\XML@fontsize{#6}% - \def\XML@textindent{#7}% - \XMLinListLabelfalse\XMLinOutputtrue#8}}% -} - -\def\XML@staticcontent#1{%xsl-after, xsl-before, xsl-start - \ifXMLFopHeaders - \SetStatic{#1}{\XML@FopMaster-\XML@flowname}% - \else - \ifx\XML@flowname\@staticafter - \SetStatic{#1}{left-xsl-after}% - \SetStatic{#1}{right-xsl-after}% - \else - \ifx\XML@flowname\@staticbefore - \SetStatic{#1}{left-xsl-before}% - \SetStatic{#1}{right-xsl-before}% - \else - \ifx\XML@flowname\@staticstart - \fi - \fi - \fi - \fi - \egroup -} -\XMLdef</fo:static-content>{\ShowEndFO{fo:static-content}} -\XMLdefEMPTY<fo:page-number>{\thepage} -\XMLdefEMPTY<fo:region-after>{} -\XMLdefEMPTY<fo:region-before>{} -\XMLdefempty<fo:region-body/>{\XMLinLayouttrue\XMLattributes\XMLinLayoutfalse} -\XMLdef<fo:region-body>{\XMLinLayouttrue\XMLattributes} -\XMLdef</fo:region-body>{\XMLinLayoutfalse} -\XMLdefEMPTY<fo:sequence-specifier-alternating>{\XMLattributes\@twosidetrue} -\XMLdefEMPTY<fo:sequence-specifier-single>{\@twosidefalse} -\XMLdef<fo:list-block>{% - \bgroup - \ifXMLinList\leavevmode\fi - \XMLinListtrue - \XMLattributes - \SetFont - \begin{list}{}{% - \Liststart - \labelsep\XML@labelsep - \topsep\XML@spacebefore - \itemsep\z@ - \leftmargin=\XML@listindent - \rightmargin=\RightMargin}% - \def\XML@spacebefore{\z@}% -} -\XMLdef</fo:list-block>{% - \end{list}% - \XMLinListfalse - \egroup -} -\XMLdef<fo:list-item-body>{\XMLinListLabelfalse} -\XMLdef</fo:list-item-body>{} -\XMLdef<fo:list-item-label>{% - {\XMLattributes\SetFont\get@external@font\xdef\XML@listlabelfont{\external@font}}% - \XMLgrabber{fo:list-item-label}{\Item}} -\let\olditem\item -\def\item{\if@inlabel\leavevmode\fi\olditem} -\def\Item#1{\XMLinListLabeltrue#1} -\def\XMLlabel#1{% label name -\ifx\XMLid\@empty -\else - \@bsphack - \protected@write\@mainaux{}% - {\string\newlabel{#1}{{}{\thepage}{}{#1}{}}}% - \@esphack - \hyper@@anchor{#1}{\relax}% - \global\let\XMLid\@empty -\fi -} -\def\ListLabelBlock{% - \XMLattributes - \XMLgrabber{fo:block}{\ITEM}% -} -\def\ITEM#1{% - \def\XML@tempa{#1}% - \itemsep\XML@spacebefore - \leftmargin=\XML@listindent - \rightmargin=\RightMargin - \labelwidth=\XML@listindent - \advance\labelwidth by -\XML@labelsep - \expandafter\csname List\TextAlign\endcsname -%\typeout{List: labelwidth: \the\labelwidth, labealsep: \the\labelsep, -% leftmargin: \the\leftmargin, and \meaning\makelabel, \TextAlign}% - \item[{\font\foo=\XML@listlabelfont\foo\XML@tempa}] -} - -\XMLdef</fo:list-item-label>{} -\XMLdef<fo:list-item>{\bgroup\XMLattributes}% -\XMLdef</fo:list-item>{\egroup} % -\XMLdefEMPTY<fo:page-number-citation>{{% - \XMLattributes - \hyperlink{\XMLrefid}{\pageref{\XMLrefid}}% -}} -\XMLdefEMPTY<fo:inline-graphic>{\InlineGraphic} -\XMLdefEMPTY<fo:display-graphic>{\DisplayGraphic} -\def\DisplayGraphic{\bgroup\XMLattributes -\ifXMLBox - \fbox{\includegraphics[scale=\XML@scale]{\Hrefname}}% -\else - \includegraphics[scale=\XML@scale]{\Hrefname}% -\fi -\par\egroup -} -\def\InlineGraphic{\bgroup\XMLattributes - \includegraphics{\Hrefname}\egroup} -\XMLdef<fo:table-caption>{\XMLattributes} -\XMLdef</fo:table-caption>{\par} -\XMLdef<fo:float>{\XMLattributes\begin{figure}\XMLlabel{\XMLid}} -\XMLdef</fo:float>{\end{figure}} -\XMLdef<fo:footnote-citation>{\XMLattributes\XMLgrabber{fo:footnote-citation}{\Foot}} -\def\Foot#1{\XMLfootnotemark{#1}\gdef\FootNumber{#1}} -\XMLdef</fo:footnote-citation>{} -\XMLdef<fo:footnote>{% - \bgroup - \XMLattributes -% \SetFootFont - \XMLgrabber{fo:footnote}{\XMLfootnotetext{\FootNumber}}% -} -\def\XMLfootnotemark{\protect\@XSLfootnotemark} -\def\@XSLfootnotemark#1{% tag - \def\@thefnmark{#1}% - \expandafter\let\csname p@footnote\endcsname\relax - \@footnotemark% -} -\def\XMLfootnotetext{\protect\@XSLfootnotetext} -\def\@XSLfootnotetext#1#2{% plain tag and text, no interpretation - \def\@thefnmark{#1}% - \expandafter\let\csname p@footnote\endcsname\relax - \@footnotetext{\XMLlabel{\XMLid}#2}% - \egroup -} -\XMLdefEMPTY<fo:table-column>{} -\XMLdef<fo:table-caption>{\XMLattributes} -\XMLdef</fo:table-caption>{\par} -\XMLdef<fo:table>{} -\XMLdef</fo:table>{} -\XMLdef</fo:footnote>{} -\XMLdef<fo:table-and-caption>{% -\RowCount0 -\ifXMLForceInline - \vspace{12pt}% -\else - \begin{table}\XMLattributes\XMLlabel{\XMLid} -\fi -} -\XMLdef</fo:table-and-caption>{% -\ifXMLForceInline - \vspace{12pt}% -\else - \end{table} -\fi -} -\newcount\RowCount -\XMLdefempty<fo:table-body/>{\\%\hline -\let\w@t\relax -\ifXMLinTable - \def\w@t{\end{longtable}} -\fi -\w@t -\XMLinTablefalse -} -\XMLdef<fo:table-body>{% -\ifXMLinTable -\else - \XMLinTabletrue\XMLattributes - \begin{longtable}{*{99}{l}}%\hline\rule{\z@}{12\p@}% -\fi -} -\XMLdef</fo:table-body>{% -\\%\hline -\let\w@t\relax -\ifXMLinTable - \def\w@t{\end{longtable}} -\fi -\w@t -\XMLinTablefalse -} -\XMLdef<fo:table-header>{\XMLinTabletrue\XMLattributes - \begin{longtable}{*{99}{l}}\hline\rule{\z@}{12\p@}} -\XMLdef</fo:table-header>{\\\hline\rule{\z@}{12\p@}\RowCount0} -\XMLdefempty<fo:table-cell/>{\XMLattributes\XMLTableCell{}} -\XMLdef<fo:table-cell>{\XMLattributes\XMLgrabber{fo:table-cell}\XMLTableCell} -\def\XMLTableCell#1{% - \ifnum\XML@NColumnsSpanned>1 - \typeout{COLS [\XML@NColumnsSpanned] with #1}% - \gdef\w@t{\multicolumn{\XML@NColumnsSpanned}{l}{#1}}% - \else - \gdef\w@t{#1}% - \fi - &\w@t - \global\let\w@t\relax -} -\XMLdef</fo:table-cell>{} -\XMLdef<fo:table-row>{\ifnum\RowCount>0\def\w@t{\\}\else\let\w@t\relax\fi\w@t} -\XMLdef</fo:table-row>{\global\advance\RowCount by 1} -\XMLdefempty<input/>{\XMLattributes\input{\@filename}} -%% Characteristics -% top-level -\define@key{XML}{xmlns:fo}{\ShowAttribute{xmlns:fo}{#1}} -\define@key{XML}{page-master-first}{% - \XMLneedspecialpagetrue -} -\define@key{XML}{page-master-odd}{} -\define@key{XML}{page-master-even}{} -\define@key{XML}{page-master-name}{\def\XMLPageMasterName{#1}} -\define@key{XML}{initial-page-number}{\def\XMLInitialPageNumber{#1}} -\define@key{XML}{flow-name}{% xsl-after, xsl-before, xsl-start - \def\XML@flowname{#1}% -} - -\def\rule@style@dotted{dotted} -\def\rule@style@dashed{dashed} -\define@key{XML}{rule-style}{% solid, dashed, dotted - \def\@xx{#1}% - \ifx\@xx\rule@style@dashed - \def\XML@RuleLeaders{\cleaders\hbox{$\m@th \mkern1.5mu-\mkern1.5mu$}\hfil}% - \else - \ifx\@xx\rule@style@dotted - \def\XML@RuleLeaders{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfil}% - \fi - \fi -} -\define@key{XML}{rule-thickness}{\def\XML@RuleThickness{#1}} -\define@key{XML}{margin}{} -\define@key{XML}{column-gap}{} -\define@key{XML}{border}{} -\define@key{XML}{padding}{} -\define@key{XML}{inhibit-line-breaks}{} - -% Tabular -\define@key{XML}{n-columns-spanned}{% -\def\@tempa{#1}\ifx\@tempa\att@NaN\else\let\XML@NColumnsSpanned\@tempa\fi} -\define@key{XML}{n-rows-spanned}{\ShowAttribute{n-rows-spanned}{#1}} -% character -\define@key{XML}{character}{#1} -% -% inline -\define@key{XML}{border-style}{% - \def\@tempa{#1}% - \ifx\@tempa\att@solid - \XMLBoxtrue - \fi -} -\define@key{XML}{vertical-align}{% - \def\@tempa{#1}% - \ifx\@tempa\att@super - \XMLSupertrue - \else - \ifx\@tempa\att@sub - \XMLSubtrue - \fi - \fi -} -\define@key{XML}{href}{\def\Hrefname{#1}} -\define@key{XML}{scale}{\def\XML@scale{#1}} -\define@key{XML}{color}{\def\XML@color{#1}} -\define@key{XML}{external-destination}{\def\XML@extdest{#1}} -\define@key{XML}{internal-destination}{\def\XML@intdest{#1}} -\define@key{XML}{filename}{\def\@filename{#1}} -\define@key{XML}{ref-id}{\def\XMLrefid{#1}} -\define@key{XML}{id}{\def\XMLid{#1}} -% -% Lists -\define@key{XML}{provisional-distance-between-starts}{\def\XML@listindent{#1}} -\define@key{XML}{provisional-label-separation}{\def\XML@labelsep{#1}} -% block -\define@key{XML}{wrap-option}{% - \def\@tempa{#1}\ifx\@tempa\att@nowrap - \XMLNoWraptrue - \else - \XMLNoWrapfalse - \fi -} -\define@key{XML}{whitespace-treatment}{% - \def\@tempa{#1}\ifx\@tempa\att@preserve - \XMLObeySpacetrue - \else - \XMLObeySpacefalse - \fi -} -\define@key{XML}{white-space-treatment}{% - \def\@tempa{#1}\ifx\@tempa\att@preserve - \XMLObeySpacetrue - \else - \XMLObeySpacefalse - \fi -} -\define@key{XML}{text-indent}{% - \def\XML@textindent{#1}% -} -\define@key{XML}{margin-bottom}{% - \ifXMLinLayout - \def\FooterMargin{#1}% - \else - \def\BottomMargin{#1}% - \fi -} -\define@key{XML}{margin-top}{% - \ifXMLinLayout - \def\HeaderMargin{#1}% - \else - \def\TopMargin{#1}% - \fi -} -\define@key{XML}{margin-left}{% - \ifXMLDefiningPage - \def\MasterLeftMargin{#1}% - \else - \def\LeftMargin{#1}% - \fi -} -\define@key{XML}{margin-right}{% - \ifXMLDefiningPage - \def\MasterRightMargin{#1}% - \else - \def\RightMargin{#1}% - \fi -} -\define@key{XML}{start-indent}{\def\StartIndent{#1}} -\define@key{XML}{end-indent}{\def\EndIndent{#1}} -\define@key{XML}{space-before.optimum}{\def\XML@spacebefore{#1}} -\define@key{XML}{space-before.maximum}{\def\XML@spacebeforemaximum{#1}} -\define@key{XML}{space-before.minimum}{\def\XML@spacebeforeminimum{#1}} -\define@key{XML}{space-after.optimum}{\def\XML@spaceafter{#1}} -\define@key{XML}{space-after.maximum}{\def\XML@spaceaftermaximum{#1}} -\define@key{XML}{space-after.minimum}{\def\XML@spaceafterminimum{#1}} -\define@key{XML}{space-after}{\def\XML@spaceafter{#1}} -\define@key{XML}{space-before}{\def\XML@spacebefore{#1}} - -% keeps and breaks - -\define@key{XML}{keep-with-next}{% - \def\@tempa{#1}% - \ifx\@tempa\att@true - \XMLKeeptrue - \else - \XMLKeepfalse - \fi -} -\define@key{XML}{break-after}{} -\define@key{XML}{break-before}{% - \def\@tempa{#1}% - \ifx\@tempa\att@page - \penalty -\@M - \fi - \ifx\@tempa\att@oddpage - \cleardoublepage - \fi -} -\define@key{XML}{text-align-last}{% - \def\QuaddingStart{\csname startQ@#1\endcsname}% - \def\QuaddingEnd{\csname endQ@#1\endcsname}% - \def\Quadding{\csname Q@#1\endcsname}% -} -\define@key{XML}{text-align}{% - \def\TextAlign{#1}% - \def\QuaddingStart{\csname startQ@#1\endcsname}% - \def\QuaddingEnd{\csname endQ@#1\endcsname}% - \def\Quadding{\csname Q@#1\endcsname}% -} - -% font-related - -\define@key{XML}{font-family}{\def\XML@fontfamily{#1}} -\AtBeginDocument{\InputIfFileExists{fotex.cfg}{}{}} - -%%% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%%%%%%%% -%%% MUST USE | FOR COMMENT AFTER THIS POINT!!!!!!!!!!!!!! -%%% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%%%%%%%% -\catcode`\|=\catcode`\% -\catcode`\%=12 -\def\percenttest#1%#2#3\@{| - \ifx#2\relax - \def\percentval{#1}| - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\newdimen\@default -\@default=10pt -\define@key{XML}{font-size}{| - \@default\f@size pt - \percenttest#1\relax%.\@ - {\dimen@0.01\@default - \multiply\dimen@\percentval\relax}| - {\dimen@#1}| - \edef\XML@fontsize{\the\dimen@}} -\define@key{XML}{font-stretch}{\def\XML@fontstretch{#1}} -\define@key{XML}{line-height}{| - \def\@tempa{#1}| - \ifx\@tempa\att@normal - \def\XML@lineheight{-1\p@}| - \else - \def\XML@lineheight{#1}| - \fi -} -\define@key{XML}{font-style}{\edef\f@shape{\csname Posture@#1\endcsname}} -\define@key{XML}{font-weight}{\edef\XML@fontweight{#1}} -\define@key{XML}{font-variant}{\edef\XML@fontvariant{#1}} -\define@key{XML}{text-decoration}{| - \def\XML@deco{\csname DECO@#1\endcsname}| -} -\def\DECO@blink{\uwave} -\expandafter\def\csname DECO@line-through\endcsname{\sout} -| set up font-related things -\def\SetFont{| - \edef\LaTeXshape{\csname Width@\XML@fontstretch\endcsname - \csname Weight@\XML@fontweight\endcsname}| - \ifx\LaTeXshape\@empty\def\LaTeXshape{m}\fi - \edef\f@series{\LaTeXshape}| - \ifx\XML@fontvariant\att@smallcaps - \def\f@shape{sc}| - \fi - \let\f@family\relax - \@for\XML@foo:=\XML@fontfamily\do{| - \ifx\f@family\relax - \expandafter\let\expandafter\f@family - \csname Family@\XML@foo\endcsname - \fi}| - \ifx\f@family\relax - \def\f@family{\csname Family@\Defaultx@fontfamily\endcsname}| - \fi - \SetFontSize - \selectfont - \ifx\XML@color\@empty - \else - \color{\XML@color}| - \fi -} -\def\SetFootFont{| - \ifdim\XML@lineheight<\z@ - \@tempdima\XML@fontsize - \multiply\@tempdima by 12 - \divide\@tempdima by 10 - \set@fontsize\XML@footnotesize{\XML@fontsize}{\@tempdima}| - \else - \@setfontsize\XML@footnotesize{\XML@fontsize}{\XML@lineheight}| - \fi -} -\def\SetFontSize{| - \ifdim\XML@lineheight<\z@ - \@tempdima\XML@fontsize - \multiply\@tempdima by 12 - \divide\@tempdima by 10 - \else - \@tempdima\XML@lineheight - \fi - \set@fontsize\baselinestretch{\XML@fontsize}{\@tempdima}| -| \typeout{FONT SIZE SET to \XML@fontsize/\the\@tempdima}| -} -\DeclareRobustCommand*\textsubscript[1]{| - \@textsubscript{\selectfont#1}} -\def\@textsubscript#1{| - {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} -\def\vspaceafter{| -\ifXMLinOutput\else -\ifXMLinTable -\else - \@tempdima\XML@spaceafter - \advance\@tempdima by -\XML@spaceafterminimum - \@tempdimb\XML@spaceafter - \advance\@tempdimb by \XML@spaceaftermaximum - \vskip\XML@spaceafter plus \@tempdimb minus \@tempdima -\fi -\fi -} -\def\XMLLINEBREAK{| -\ifXMLinTable -\else - \\ -\fi -} -\def\vspacebefore{| -\ifXMLinOutput\else -\ifXMLinTable -\else - \@tempdima\XML@spacebefore - \advance\@tempdima by -\XML@spacebeforeminimum - \@tempdimb\XML@spacebefore - \advance\@tempdimb by \XML@spacebeforemaximum - \vskip\XML@spacebefore plus \@tempdimb minus \@tempdima -\fi -\fi - \def\XML@spacebefore{\z@}| -} -\def\reserved@e{} -\def\XMLSetPage{| - \footskip\FooterMargin - \oddsidemargin\MasterLeftMargin - \evensidemargin\MasterLeftMargin - \topmargin\TopMargin - \headsep\HeaderMargin - \paperwidth\PageWidth - \paperheight\PageHeight - \textheight\paperheight - \textwidth\paperwidth - \advance\textheight by -\TopMargin - \advance\textheight by -\HeaderMargin - \advance\textheight by -\BottomMargin - \advance\textheight by -\FooterMargin - \advance\textwidth by -\MasterLeftMargin - \advance\textwidth by -\MasterRightMargin - \ifx\pdfoutput\@undefined - \else - \typeout{Setting pdf size to \the\pdfpagewidth, \the\pdfpageheight}| - \global\pdfpagewidth\paperwidth - \global\pdfpageheight\paperheight - \fi - \@colht\textheight - \@colroom\textheight - \vsize\textheight - \linewidth\textwidth - \columnwidth\textwidth - \hsize\columnwidth \linewidth\hsize - \def\headheight{12pt}| - \typeout{Page size is \the\textwidth/\the\textheight, - on paper \the\paperwidth/\the\paperheight, - with margins \MasterRightMargin/\MasterLeftMargin, - and \TopMargin/\BottomMargin; -and footermargin is \the\footskip, and headsep is -\the\headsep}| - \global\XMLfirstpagefalse -} -\hoffset-1in -\voffset-1.75in -\clubpenalty=8000 | 'orphan line' at bottom of page. -\emergencystretch 3em -\hbadness=4000 -\hyphenpenalty=400 -\pretolerance=500 -\relpenalty=500 -\tolerance=1000 -\vbadness=3000 -\widowpenalty=10000 | 'Widow line' at top of page. -\define@key{XML}{'Times New Roman'}[true]{} -\define@key{XML}{serif}[true]{} -| dont ask -\def\supppdf{supp-pdf} -\let\XMLInputIfFileExists\InputIfFileExists -\def\InputIfFileExists#1#2#3{| - {\def\@tempa{#1}\ifx\@tempa\supppdf\else - \XMLInputIfFileExists{#1}{#2}{#3}\fi}} -|\catcode`^^M=10 -\catcode`\%=\catcode`\| -\catcode`\|=12 -\providecommand\textasciitilde{~} -\endinput diff --git a/macros/fotex/mathml.ltx b/macros/fotex/mathml.ltx deleted file mode 100644 index 8545623019..0000000000 --- a/macros/fotex/mathml.ltx +++ /dev/null @@ -1,121 +0,0 @@ -% RCS: $Id: mathml.ltx,v 1.2 1999/08/12 11:59:08 rahtz Exp $ -%% File: fotex.ltx Copyright 1999 Sebastian Rahtz -%% -%% This package may be distributed under the terms of the LaTeX Project Public -%% License, as described in lppl.txt in the base LaTeX distribution. -%% Either version 1.0 or, at your option, any later version. -%% -% MathML formatting objects -% -\let\mathfrak\undefined -\let\mathfrak\undefined -\let\vDash\undefined -\let\eth\undefined -\RequirePackage{amssymb} -\RequirePackage{amstext} -\def\w@t{} -\let\@@over\over -\newcount\@Pending -\newcount\@MoCount -\newcount\XML@subeqncnt -\XML@subeqncnt0 -\@MoCount0 -\@Pending1 -\def\XML@PendingI{} -\def\XML@PendingII{} -\XMLdef<fotex:inlinemath>{$} -\XMLdef</fotex:inlinemath>{$} -\XMLdef<fotex:displaymath>{\begin{displaymath}} -\XMLdef</fotex:displaymath>{\end{displaymath}} -\XMLdef<fotex:eqnarray>{% - \XMLattributes\XMLlabel{\XMLid}% - \bgroup\global\XML@subeqncnt0\begin{eqnarray*}} -\XMLdef</fotex:eqnarray>{\end{eqnarray*}\egroup} -\XMLdef<fotex:equation>{% - \XMLattributes\XMLlabel{\XMLid}% - \begin{equation}} -\XMLdef</fotex:equation>{\end{equation}} -\XMLdef<fotex:subeqn>{% - \XMLattributes\XMLlabel{\XMLid}% - \global\advance\XML@subeqncnt by 1 - \ifnum\XML@subeqncnt=2\else\def\w@t{\\}% - \fi - \w@t -} -\XMLdef</fotex:subeqn>{} -\XMLdef<math>{} -\XMLdef</math>{} -\XMLdef<mtable>{\begin{array}{*{99}{c}}} -\XMLdef</mtable>{\end{array}} -\XMLdef<mfrac>{\bgroup\@Pending1\def\XML@PendingII{\@@over}} -\XMLdef</mfrac>{\egroup} -\XMLdef<mi>{\BGroup} -\XMLdef</mi>{\egroup} -\XMLdef<mn>{\BGroup} -\XMLdef</mn>{\egroup} -\XMLdef<mo>{\BGroup} -\XMLdef</mo>{\egroup} -\XMLdefempty<mrow/>{} -\XMLdef<mrow>{\BGroup} -\XMLdef</mrow>{\egroup} -\XMLdef<msub>{\bgroup\@Pending1\def\XML@PendingII{_}} -\XMLdef</msub>{\egroup} -\XMLdef<msubsup>{\bgroup\@Pending0\def\XML@PendingI{_}\def\XML@PendingII{^}} -\XMLdef</msubsup>{\egroup} -\XMLdef<msup>{\bgroup\@Pending1\def\XML@PendingII{^}} -\XMLdef</msup>{\egroup} -\XMLdef<mtd>{} -\XMLdef</mtd>{&} -\XMLdefempty<mtext/>{} -\XMLdef<mtext>{\hbox\bgroup} -\XMLdef</mtext>{\egroup} -\XMLdef<mtr>{} -\XMLdef</mtr>{\\} -\XMLdef<mover>{} -\XMLdef</mover>{} -\XMLdefempty<mspace/>{\XMLattributes\hspace{\XML@width}} -\XMLdef<msqrt>{\sqrt\bgroup} -\XMLdef</msqrt>{\egroup} -\XMLdef<munderover>{} -\XMLdef</munderover>{} -\XMLdef<mfenced>{\bgroup\XMLattributes\left\XML@fenceopen} -\XMLdef</mfenced>{\right\XML@fenceclose\egroup} -\catcode`\{=12\catcode`\}=12\catcode`x=1\catcode`y=2 -\def\XML@lbracex{y -\def\XML@rbracex}y -\catcode`\{=1\catcode`\}=2\catcode`x=11\catcode`y=11 -\define@key{XML}{open}{% - \def\@tempa{#1}\ifx\@tempa\XML@lbrace\def\XML@fenceopen{\{}\else - \def\XML@fenceopen{#1}\fi -} -\define@key{XML}{close}{% - \def\@tempa{#1}\ifx\@tempa\XML@rbrace\def\XML@fenceclose{\}}\else - \def\XML@fenceclose{#1}\fi -} -\define@key{XML}{width}{\def\XML@width{#1}} -\def\XML@fenceopen{.} -\def\XML@fenceclose{.} -\def\BGroup{% - \def\w@t{}% - \ifcase\@Pending% 0 - \@Pending1 - \or%1 - \let\w@t\XML@PendingI\def\XML@PendingI{}% - \@Pending2 - \or%2 - \let\w@t\XML@PendingII\def\XML@PendingII{}% - \@Pending1 - \fi - \w@t - \bgroup - \def\XML@PendingII{}% -} -\let\XML@textgreater\textgreater -\def\textgreater{% - \ifmmode>\else\XML@textgreater\fi -} -\let\XML@textless\textless -\def\textless{% - \ifmmode<\else\XML@textless\fi -} -\endinput diff --git a/macros/fotex/pdffotex.ini b/macros/fotex/pdffotex.ini deleted file mode 100644 index d220004bef..0000000000 --- a/macros/fotex/pdffotex.ini +++ /dev/null @@ -1,3 +0,0 @@ -\input fotex.ltx -\@startxml -<dump> diff --git a/macros/inrstex/inrsdoc/boxex.tex b/macros/inrstex/inrsdoc/boxex.tex deleted file mode 100644 index 61acf76af6..0000000000 --- a/macros/inrstex/inrsdoc/boxex.tex +++ /dev/null @@ -1,41 +0,0 @@ -%-*-tex-*- -%boxexample -\def\wid{{\tt wd}} -\def\hei{{\tt ht}} -\def\dpt{{\tt dp}} -\def\boxpoint{\setbox2=\hbox{\vrule width 8pt height 3pt depth 5pt} \wd2 =0pt - \ht2=0pt \dp2=0pt \hskip -8pt \box2} -\setbox4=\hbox{\hei} -\def\vbrule{\vrule width 1pt} -\def\hbrule{\hrule height 1pt} -\setbox0=\hbox to 1.2in{\vbrule$\longleftarrow \hss \wid \hss\longrightarrow$\vbrule} -\setbox8=\vbox to 2in{\offinterlineskip\hbox to \wd4{\hss$\uparrow$\hss} - \hbox to \wd4{\hss $\Bigg\vert$\hss}\vss - \hbox to \wd4{\hss \hei\hss}\vss - \hbox to \wd4{\hss $\Bigg\vert$\hss} - \hbox to \wd4{\hss$\downarrow$\hss}} -\setbox6=\vbox{\hbox to \wd4{\hss$\uparrow$\hss} - \hbox to \wd4{\hss \dpt\hss} - \hbox to \wd4{\hss$\downarrow$\hss}} - -\def\boxexample{\bigbreak\line{\hss - \vtop{\copy0 \offinterlineskip - \smallskip - \hbrule - \hbox to \wd0{\vbrule height \ht8 - \boxpoint \hss - \hskip 4pt\copy8 \hss - \vbrule height \ht8} - \hbrule - \hbox to \wd0{\vbrule height \ht6 \hss - \copy6 \hss - \vbrule height \ht6} - \hbrule - } - \vtop{\hrule height 0pt - \vskip 1in - \hbox{\qquad \vrule height 6pt width 8pt depth 2pt - \quad $\Leftarrow$ Reference Point} - \vskip 62pt - \hbox{$\Leftarrow$ Baseline}} - \hss}\medskip} diff --git a/macros/inrstex/inrsdoc/genins.tex b/macros/inrstex/inrsdoc/genins.tex deleted file mode 100644 index cf08172235..0000000000 --- a/macros/inrstex/inrsdoc/genins.tex +++ /dev/null @@ -1,165 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ========= Syntactic Compability Forms ============ -% Each of these has a token list that is inserted before each -% particular insert ... and in a group. -% in \begin... \end.. pairs -\newtoks\everytopinsert -\newtoks\everymidinsert -\newtoks\everypageinsert -\def\begintopinsert{\begingroup\the\everytopinsert\topinsert} -\def\beginmidinsert{\begingroup\the\everymidinsert\midinsert} -\def\beginpageinsert{\begingroup\the\everypageinsert\pageinsert} - -\def\e@ndinsert{\endinsert\endgroup} - -\let\endtopinsert = \e@ndinsert -\let\endmidinsert = \e@ndinsert -\let\endpageinsert = \e@ndinsert - -% ============= Figure, Table, etc inserts ========== - -% Assumptions -% The form is described by three letters, eg "fig" or "tbl" -% If the list file exists, the page info is written. -% \writelistfile must be defined -% \autonumber, \autoreference, \ref, \quietref, \veryraggedright -% If autonumbering is on, then -% \silent, \autofignum .. -% An "fig" form and "tbl" form are defined. These need -% \figurelabel, and \tablelabel respectively. These are -% usually defined in the \englishversion and \versionfrancaise -% The insert forms use \beginmidinsert ... \endmidinsert. - - -% Defaults --- to be set. -% \captiontextfraction ... inrsdef.tex -% \captionskip ... inrsdef.tex -% \topcaptiontrue or \topcaptionfalse ... inrsdef.tex -% \figurelabel or \figlabel ... english.tex or francais.tex -% \tablelabel or \tbllabel ... english.tex or francais.tex -% \captionnumfont ... inrsfont.tex -% \captiontitlefont ... inrsfont.tex -% \captionbodyfont ... inrsfont.tex -% \captionbodyon <off> ... inrsdef.tex - - -% This is a general form for an insert with a caption, under it -% if \topcaptionfalse and over it if \topcaptiontrue -% The particular form is identified with a (usually) three letter sequence -% such as "fig" or "tbl". There can be an associated list file for -% automatic generation of the page list for the items. -% The basic form is a non-floating type, enclosed in $$ ... $$ to give -% correct spacing. This can be put in an insert to make it float. -% Full page forms require \vfill above and/or below for top, bottom, or center. - -% The caption box measures its size and centers the text if it is short -% or puts it in a \vbox which is \captiontextfraction of the \hsize -% if it is not. -% The \captionskip is the spacing between the caption and the actual -% item in the text. This may be a table or figure or .... - -% \let\captionnumfont = \bf -% \let\captiontextfont = \relax % defaults to "outside font" -% \def\captiontextfraction{0.8} - -\def\captionbox#1#2{\setbox0=\hbox{{\captionnumfont #1}\quad #2} - \ifdim 1\wd0 < \captiontextfraction\hsize - \centerline{\unhbox0} - \else - \centerline{\vbox{\hsize=\captiontextfraction\hsize - \veryraggedright - \setbox0=\hbox{{\captionnumfont #1}\quad} - \hangindent=1\wd0 \hangafter=1 - \noindent\unhbox0 - \captiontitlefont #2}}% - \fi} - -% A caption is assumed to have both a <title> that will appear in the -% list, if any and a <caption body> that will appear only when the caption is -% printed. The default is to have \captionbody ... "active" and to turn it -% off when making lists. -% This is done with two commands \captionbodyon and \captionbodyoff -% associated with a <caption body> is a <caption body font> - -\def\captionbodyon{\def\captionbody##1{\captionbodyfont ##1}} -\def\captionbodyoff{\def\captionbody##1{}} - - -% \rect <hor dimen> by <vert dimen>} A centered rectangular box to act -% as a place holder if there is a figure to be pasted in later. -\def\r@ect{\centerline{\vbox{\hrule - \hbox{\vrule height \the\dimen2 - \hskip \dimen0 - \vrule height \the\dimen2} - \hrule - }}} -\def\rect #1by{\dimen0 #1\afterassignment\r@ect \dimen2} - -% ======= This is the general insert form ======= -% #1 is the name of the insert form, #2 is the tag or number, #3 is the title -% #4 is the actual insert form value ... ie figure or table or ... - -% This is the glue specification between the caption and the body of the -% insert - -\newskip\captionskip %\captionskip=2ex - -% This is a switch that controls whether the caption is above or below the -% the body of the insert - -\newif\iftopcaption %\topcaptionfalse % defaulted - -% This is the general form of the insert --- it requires both \autonumber -% and \autoreference to work. By selectively turning on/off these -% switches, multipart figures are possible. - -\def\geninsertform #1#2#3#4{ - \ifautonumber - \silent{\expandafter\csname auto#1num\endcsname{#2}}\relax - \edef\i@nsnum{\csname:@#2\endcsname}\else - \edef\i@nsnum{#2}\fi - {\def\captionbody##1{}\edef\t@out{\noexpand\writelistfile - {#1}{\csname #1tocout\endcsname}{\i@nsnum}{#3}}\t@out}\relax - $$\vbox{\normalbaselines - \iftopcaption - \captionbox{\csname #1label\endcsname\i@nsnum}{#3} - \vskip \captionskip - \centerline{\vbox{#4}} - \else - \centerline{\vbox{#4}} - \vskip \captionskip - \captionbox{\csname #1label\endcsname\i@nsnum}{#3} - \fi - \vss}$$} - - -% ========== Special Cases ============ -% These define simple forms for standard midinserts. It uses -% \beginmidinsert ... \endmidinsert for consistency - -% For Figures -\def\figureform #1#2#3{\geninsertform {fig}{#1}{#2}{#3}} -\def\figlabel{\figurelabel } -\def\figureinsert #1#2#3{\beginmidinsert - \figureform{#1}{#2}{#3} - \endmidinsert } - -%\def\figtocout{\string\figtoc} % actually set in inrsdef.tex - - -% For Tables -\def\tableform #1#2#3{\geninsertform {tbl}{#1}{#2}{#3}} -\def\tbllabel{\tablelabel } -\def\tableinsert #1#2#3{\beginmidinsert - \tableform{#1}{#2}{#3} - \endmidinsert } -%\def\tbltocout{\string\tbltoc} % actually set in inrsdef.tex - - -% Comment ---- \endinsert in Plain has a pre and post \bigskip -% This should probably be removed and the spacing always controlled by -% the $$ ... $$. Instead, if the \everymidinsert form were used it -% would be possible to remove it with \everymidinsert = {\let\bigskip=\relax \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/helphdr.tex b/macros/inrstex/inrsdoc/helphdr.tex deleted file mode 100644 index 52911e89a7..0000000000 --- a/macros/inrstex/inrsdoc/helphdr.tex +++ /dev/null @@ -1,307 +0,0 @@ - -% -*-tex-*- -% tex 1.1 -% special definitions -\catcode`\@=11 -% subdocument macros fix - -\def\lb{ \li $\bullet$ } - -\def\subdocumentmacros#1{\ifs@ubdocument #1 \fi\s@ubdocumentfalse} - - -%simple line skip -\def\ls{\vskip \baselineskip \noindent} - -%vphantom "bug" -\def\sphantom#1{\setbox0=\hbox{#1} \setbox2=\null \ht2=\ht0 \dp2=\dp0 \box2} - -% INRS -\def\INRS{INRS-\kern-.1emT\'el\'e\-com\-muni\-ca\-tions} - -%check form %will print in proof mode only -\long\def\proofcheck#1{\ifproofmode \par Proofcheck: \par #1 \fi} - -\def\comhead#1{\penaltybreak{-1000}{2.8ex}\centerline{\sssheadfont #1}\smallskip\nobreak} - -\let\tex = \TeX % its easier to type -\def\inprint{INRSprint} -\def\mtex{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX} -\def\texbook{\tex book} -\def\plain{{\it plain}} -\def\intex{INRS\mtex} - -\def\vrt{\hbox{\tt\char`\|}} % vertical line -\def\dnArrow{\hbox{\tt\char'14}} % downward arrow -\def\upArrow{\hbox{\tt\char'13}} % upward arrow -\def\]{\hbox{\tt\char`\ }} % visible space - -%special boxits - -\def\hhboxit#1{\hbox{\vrule\vbox{\hrule\hbox{#1}\hrule}\vrule}} -\def\hvboxit#1{\hbox{\vrule\vbox{\hrule\hbox{\vbox{#1}}\hrule}\vrule}} -\def\vvboxit#1{\vbox{\hrule\hbox{\vrule\vbox{#1}\vrule}\hrule}} -\def\vhboxit#1{\vbox{\hrule\hbox{\vrule\vbox{\hbox{#1}}\vrule}\hrule}} -\let \hh=\hhboxit \let \vh=\vhboxit \let \vv=\vvboxit \let \hv=\hvboxit - - - -%========== simple forms for prim,plain,ext ended commands ======= -\def\pri{\leavevmode\llap{$\bullet$\kern 5pt}\nobreak} -\def\pla{\leavevmode\llap{$\diamond$\kern 5pt}\nobreak} -\def\ext{\leavevmode\llap{$\star$\kern 5pt}\nobreak} - -%======== simple multicolumn for symbols and commands -% must fit on single page and have no inserts -% will be balanced - -\newbox\simpgalleybox -\newdimen\simphcolumnsize -\newdimen\simpfirstoffset \simpfirstoffset = 1em -\newtoks\simpcolumnsep \simpcolumnsep = {\vrule\hskip 2em\vrule} -\newcount\simpnumcolumns -\def\setsimphsize{\setbox0=\hbox{\the\simpcolumnsep} - \dimen0= \simpnumcolumns\wd0 %\the\dimen0 - \advance\dimen0 by -\wd0 %\the\dimen0 - \advance\dimen0 by \simpfirstoffset - \dimen2 = \hcolumnsize %\the\dimen2 - \advance\dimen2 by -\dimen0 %\the\dimen0 - \divide\dimen2 by \simpnumcolumns - \global\simphcolumnsize = \dimen2 - } - -\def\beginsimplemulticolumn{ - \setbox\simpgalleybox = \vbox\bgroup \hsize\simphcolumnsize} - - -\def\endsimplemulticolumn{ \egroup \dimen0 = \ht\simpgalleybox - \advance\dimen0 by \dp\simpgalleybox - \divide\dimen0 by \simpnumcolumns - \advance\dimen0 by 0pt % size of split box - \count255=1 - \splitmaxdepth=\maxdepth - \splittopskip=0pt - \setbox2 = \vsplit\simpgalleybox to \dimen0 - \setbox0 = \hbox{\vbox to \dimen0{\unvbox2\vss}} - \loop \ifnum \count255 < \simpnumcolumns - \setbox2 = \vsplit\simpgalleybox to\dimen0 - \setbox0 = \hbox{\unhbox0\the\simpcolumnsep - \vbox to \dimen0{\unvbox2\vss}} - \advance\count255 by 1 - \repeat - \centerline{\box0}} - -%use default values -\def\beginthreecolumn{\begincolumns 3} -\def\begintwocolumn{\begincolumns 2} -\def\begincolumns#1{\par\simpnumcolumns= #1 - \simpfirstoffset = 10pt - \simpcolumnsep = {\hskip 2em} - \setsimphsize - \beginsimplemulticolumn \obeylines - \advance\parskip by 0pt plus 2pt minus 2pt - \parindent =0pt} -\let\endthreecolumn=\endsimplemulticolumn -\let\endmulticolumn=\endsimplemulticolumn -\let\endtwocolumn = \endsimplemulticolumn -%command followed by explanation or short example -\newdimen\descrwd \descrwd = 2.5in -\def\bshortcomlist{\begingroup$$\tabskip=1em plus 1fil - minus 1fil\halign\bgroup##\dotfill&\quad - \vtop{\hsize \descrwd \veryraggedright\noindent\strut ##\strut} \cr} -\def\eshortcomlist{\crcr \egroup$$\endgroup} - - -% macros for verbatim scanning -\chardef\bslash=`\\ -\chardef\other=12 -\def\space{\leavevmode\hskip.5emplus1ptminus1pt\relax} -{\obeyspaces %makes a space active for inside def -\gdef\ttverbatim{\begingroup -\def|{\char`\|}\catcode`\\=\other -\catcode`\{=\other -\catcode`\}=\other -\catcode`\$=\other -\catcode`\&=\other -\catcode`\#=\other -\catcode`\%=\other -\catcode`\~=\other -\catcode`\_=\other -\catcode`\^=\other -\catcode`\<=\other -\catcode`\>=\other -\parindent0pt\parskip0pt plus1pt% -\obeyspaces\let =\space -\obeylines\tt}} - -\def\hendgraf{\endgraf\leavevmode} -\outer\def\begintt{\vskip-\baselineskip$$\let\par=\hendgraf\ttverbatim% -\catcode`\|=0\ttfinish} -{\catcode`\|=0 |catcode`|\=\other% | is temporary escape character -|obeylines% end of line is active -|gdef|ttfinish#1^^M#2\endtt{|vbox{#2}|endgroup$$|vskip-|baselineskip|noindent|ignorespaces}} - -{\catcode`\|=\active \gdef\g@et #1|{\gdef\text{#1}#1\endgroup - \ifindexit \makexref \fi \indexitfalse}} - -\catcode`\|=\active %defines | as an active character in the entire document -{\obeylines \gdef|{\ttverbatim\spaceskip\ttglue\g@et}} -%\def\ttspace{{\tt\hskip\ttglue}} - -% ========= \ in \beginttverbatim ======== -\def\1{\char'134} - -%More useful stuff from TeX manual Header - - -\def\bull{\vrule height .9ex width .8ex depth -.1ex } % square bullet -\def\SS{{\it SS}} % scriptscript style - -% \box\bigdot is a null box with a bullet at its reference point -\newbox\bigdot \newbox\smalldot -\setbox0=\hbox{$\vcenter{}$} % \ht0 is the axis height -\setbox1=\hbox to 0pt{$\hss\bullet\hss$} % bullet is centered on the axis -\setbox\bigdot=\vbox to 0pt{\kern-\ht1 \kern\ht0 \box1 \vss} -\setbox1=\hbox to0pt{$\hss\cdot\hss$} % cdot is centered on the axis -\setbox\smalldot=\vbox to0pt{\kern-\ht1 \kern\ht0 \box1 \vss} - -% \samplebox makes the outline of a box, with big dot at reference point -\def\samplebox#1#2#3#4{% #1=ht, #2=dp, #3=wd, #4=text - {\setbox0=\vtop{\vbox to #1{\hbox to #3{}\vss} - \nointerlineskip - \vbox to #2{}}% now \box0 has the desired ht, dp, and wd - \hbox{\copy\bigdot - \vrule height.2pt depth.2pt width#3% - \kern-#3% - \makelightbox - \kern-#3% - \raise#1\vbox{\hbox to #3{\hss#4\hss} - \kern 3pt}}}} - -% \sampleglue makes glue between sample boxes -\def\sampleglue#1#2{% #1=width, #2=text - \vtop{\hbox to #1{\xleaders\hbox to .5\varunit{\hss\copy\smalldot\hss}\hfil} - \kern3pt - \tabskip 0pt plus 1fil - \halign to #1{\hfil##\cr#2\cr}}} - - -% indexing macros mods of texbook - -% there is an interaction between \beginttverbatim and indexing wrt ^ -% thus change of ^ active to \@ !!!!! - - - -\def\indxx{\xref} -\def\xref{\relax} -\let\@=\indxx -\newif\ifindexit - -{\obeylines -\gdef\makexref{{\def\space{ }\def^^M{*/*}% spaces are important -\xdef\writeit{\write\ind@file{!\text!\space\string\indpg\space\noexpand\number\pageno.}}\writeit}}} - - -\def\indexingon{\openlistfile{ind}\def\xref{\indexittrue}} - - -\def\indexingoff{\closelistfile{ind}\def\xref{\relax}} - - - -% Command description macro -% Format will be -% \bc -% |<command>|\par-- for input -% nobreak -% Block based description -% bigbreak -\def\beginblockmode {\begingroup\parindent=0pt - \parskip= \smallskipamount - \def\nbr{\par\nobreak\smallskip} - \let\sbr=\smallbreak - \let\mbr=\bigbreak - \let\bbr=\bigbreak} -\def\endblockmode{\par\endgroup} - -%multipoint eqalign -\def\multieqalign#1{\,\vcenter{\openup\jot\m@th - \ialign{&\quad\strut\hfil$\displaystyle{##}$&$\displaystyle - {{}##}$\hfil\quad&##\crcr#1\crcr}}\,} - -\bookstyle -%special changes for this book - -\def\cqu{} -\newskip\qsk \qsk=3in plus 1fill -\def\cquote#1#2{\par\vfill\leftskip=\qsk {\it #1}\par\bigskip{\bf #2}} - -\def\pslide #1//#2//{\vfill\hslide #1//#2//} - -\def\chapterstartform{\ifodd\pageno \relax\else - \line{}{\cqu\par\ejectpage}\fi - \gdef\cqu{}\titlepagestyle} -% modification of header format -\def\leftheadertext{\line{\llap{\ssheadfont\folio\qquad}\def\cr{ }CHAPTER - \chnumform: \the\chaptername \hss}} -\def\rightheadertext{\line{\hss\topmark\rlap{\ssheadfont\qquad\folio}}} -\let\chapterhead=\chead -\let\bookstyle=\relax % removes the second try -\input texgraph %POSTCRIPT -\input inrssl%POSTCRIPT - -\def\textpagestyle{} - -\inrsform -\textform -%boxexample -\def\boxexample{ -\def\wid{{\tt wd}} -\def\hei{{\tt ht}} -\def\dpt{{\tt dp}} -\def\boxpoint{\setbox2=\hbox{\vrule width 8pt height 3pt depth 5pt} \wd2 =0pt - \ht2=0pt \dp2=0pt \hskip -8pt \box2} -\setbox4=\hbox{\hei} -\def\vbrule{\vrule width 1pt} -\def\hbrule{\hrule height 1pt} -\setbox0=\hbox to 1.2in{\vbrule$\longleftarrow \hss \wid \hss\longrightarrow$\vbrule} -\setbox8=\vbox to 2in{\offinterlineskip\hbox to \wd4{\hss$\uparrow$\hss} - \hbox to \wd4{\hss $\Bigg\vert$\hss}\vss - \hbox to \wd4{\hss \hei\hss}\vss - \hbox to \wd4{\hss $\Bigg\vert$\hss} - \hbox to \wd4{\hss$\downarrow$\hss}} -\setbox6=\vbox{\hbox to \wd4{\hss$\uparrow$\hss} - \hbox to \wd4{\hss \dpt\hss} - \hbox to \wd4{\hss$\downarrow$\hss}} -\bigbreak\line{\hss - \vtop{\copy0 \offinterlineskip - \smallskip - \hbrule - \hbox to \wd0{\vbrule height \ht8 - \boxpoint \hss - \hskip 4pt\copy8 \hss - \vbrule height \ht8} - \hbrule - \hbox to \wd0{\vbrule height \ht6 \hss - \copy6 \hss - \vbrule height \ht6} - \hbrule - } - \vtop{\hrule height 0pt - \vskip 1in - \hbox{\qquad \vrule height 6pt width 8pt depth 2pt - \quad $\Leftarrow$ Reference Point} - \vskip 62pt - \hbox{$\Leftarrow$ Baseline}} - \hss}\medskip} - - -\def\ftn{} - -\hfuzz=5pt -\let\prule=\relax \let\ptrule=\relax -\marginnotesfalse -\pagetagson - -\ejectpage diff --git a/macros/inrstex/inrsdoc/ieeelogo.ps b/macros/inrstex/inrsdoc/ieeelogo.ps deleted file mode 100644 index b96c2b8f2a..0000000000 --- a/macros/inrstex/inrsdoc/ieeelogo.ps +++ /dev/null @@ -1,685 +0,0 @@ -%! -%%BoundingBox: 215.040000 362.160000 396.720000 429.840000 -0.240000 0.240000 scale -896 1509 translate -768 282 scale -768 282 true [768 0 0 -282 0 282] {< -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000700000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000001C000000000000000000000000000000000000000000000000000000000000000000F800000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000FF00000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000001FF800000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000003FFC00000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000007FFE000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000FFFF00000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000001FFFF0000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000003FFFF80000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000003FFFFC0000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000007FFFFE00000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000FFFFFE0000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000001FFFFFF000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000001FFFFFF8000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000003FFFFFF8000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000007FFFFFFC0000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00FFFFFFFE000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000001FFFFFFFF00000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000001FFFFFFFF800000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000003FFFFFFFF800000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000007FFFFFFFFC000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0FFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000001FFFFFFFFFE0000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFF00000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000003FFFFFFFFFF80000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000003FFFFFFFFFFC00000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFE0000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFF000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFFFF0000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000003FFFFFFFFFFFF8000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000007FFFFFFFFFFFFC0000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000007 -FFFFFC1FFFFFE000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000FFFFFE003FFFFF00000000000000000000000000000000000 -0000000000000000000000001FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000001FFFFF8000FFFFF000 -000000000000000000000000000000000000000000000000000000001FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000003FFFFF03E03FFFF800000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000007FFFFC1FFC1FFFFC000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000FF -FFF87FFF07FFFE00000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000001FFFFE0FFFF83FFFF0000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000003FFFFC3FFFFE1FFFF80 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000007FFFF07FFFFF07FFFC0000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000007FFFE1FFFFFFC3FFFE00000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000001FFF -F83FFFFFFE1FFFE0000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000001FFFF07FFFFFFF07FFF000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000003FFFF0FFFFFFFF83FFF8 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000007FFFC3FFFFFFFFC1FFFC000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000FFFF87FFFFFFFFF0FFFE0000000000000000 -00000000000000000000000000000000000000000FC000000000000000000000000000000007FFFF -F800000000000000000000000000000000000000000000000000000000000000000000000001FFFF -0FFFFFFFFFF87FFF000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000001FFFFFFFFFC00000000000000000000000000000000000000000000 -0000000000000000000000000003FFFE1FFFFFFFFFF81FFF80000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000000000000FFFFFFFFFFF800000000000 -000000000000000000000000000000000000000000000000000000000007FFFC3FFFFFFFFFFE0FFF -C00000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000FFFFFF83FFFFF80000000000000000000000000000000000000000000000000000000000 -00000000000FFFF0FFFFFFFFFFFF07FFE00000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000000007FFF8000000FFFF00000000000000000000000000 -0000000000000000000000000000000000000000001FFFE1FFFFFFFFFFFF83FFF000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000003FFE000000 -0003FFE00000000000000000000000000000000000000000000000000000000000000000003FFFC3 -FFFFFFFFFFFFC1FFF80000000000000000000000000000000000000000000000000000000FC00000 -0000000000000000000000FFE000000000003FFC0000000000000000000000000000000000000000 -000000000000000000000000007FFF87FFFFFFFFFFFFE0FFFC000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000FFE00000000000007FF00000000 -0000000000000000000000000000000000000000000000000000000000FFFF0FFFFFFFFFFFFFF87F -FE0000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00001FF0000000000000007FC0000000000000000000000000000000000000000000000000000000 -0000000001FFFC3FFFFFFFFFFFFFFC3FFF0000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000000FF80000000000000000FF80000000000000000000000 -000000000000000000000000000000000000000003FFF87FFFFFFFFFFFFFFE0FFF80000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003FE0000000000 -00000003FE0000000000000000000000000000000000000000000000000000000000000007FFF0FF -FFFFFFFFFFFFFF07FF8000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000007F80000000000000000007F80000000000000000000000000000000000000 -0000000000000000000000000FFFF1FFFFFFFE7FFFFFFF83FFC00000000000000000000000000000 -0000000000000000000000000FC000000000000000000000001FC00000000000000000001FC00000 -000000000000000000000000000000000000000000000000000000001FFFE3FFFFFFFC7FFFFFFFE1 -FFE000000000000000000000000000000000000000000000000000000FC000000000000000000000 -003F0000000000000000000007F80000000000000000000000000000000000000000000000000000 -000000003FFFC7FFFFFFFC3FFFFFFFE0FFF000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000780000000000000000000001FC00000000000000000000 -00000000000000000000000000000000000000007FFF9FFFFFFFFC3FFFFFFFF07FFC000000000000 -00000000000000000000000000000000000000000FC00000000000000000000000C0000000000000 -00000000007F000000000000000000000000000000000000000000000000000000000000FFFE3FFF -FFFFF81FFFFFFFFC3FFE00000000000000000000000000000000000000000000000000000FC00000 -0000000000000000078000000000000000000000001F800000000000000000000000000000000000 -000000000000000000000001FFFC7FFFFFFFF81FFFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC0000000000000000000000E00000000000000000000000007E000 -00000000000000000000000000000000000000000000000000000003FFF8FFFFFFFFF00FFFFFFFFF -0FFF80000000000000000000000000000000000000000000000000000FC000000000000000000000 -3C00000000000000000000000003F000000000000000000000000000000000000000000000000000 -0000000FFFF1FFFFFFFFF00FFFFFFFFF87FFC0000000000000000000000000000000000000000000 -000000000FC0000000000000000000007800000000000000000000000000F8000000000000000000 -000000000000000000000000000000000000001FFFE3FFFFFFFFF00FFFFFFFFFC3FFE00000000000 -00000000000000000000000000000000000000000FC000000000000000000001F0000000000003FF -FC00000000007E000000000000000000000000000000000000000000000000000000003FFFC7FFFF -FFFFE007FFFFFFFFE1FFF0000000000000000000000000000000000000000000000000000FC00000 -0000000000000003C000000000003FFFFFC0000000003F0000000000000000000000000000000000 -00000000000000000000007FFF8FFFFFFFFFE007FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC000000000000000000007800000000000FFFFFFF0000000000F80 -000000000000000000000000000000000000000000000000000000FFFF9FFFFFFFFFE007FFFFFFFF -F87FFC000000000000000000000000000000000000000000000000000FC00000000000000000001F -000000000007FFFFFFF80000000007C0000000000000000000000000000000000000000000000000 -000001FFFE3FFFFFFFFFE003FFFFFFFFF83FFE000000000000000000000000000000000000000000 -000000000FC00000000000000000003C00000000000FFFFFFFF80000000003F00000000000000000 -00000000000000000000000000000000000003FFFC7FFFFFFFFFC003FFFFFFFFFC1FFF0000000000 -00000000000000000000000000000000000000000FC00000000000000000007800000000001FFFFF -FFF80000000000F8000000000000000000000000000000000000000000000000000007FFF8FFFFFF -FFFFC001FFFFFFFFFE0FFF800000000000000000000000000000000000000000000000000FC00000 -00000000000000F000000000003FFFFFFF8000000000007C00000000000000000000000000000000 -000000000000000000000FFFF1FFFFFFFFFF8001FFFFFFFFFF07FFE0000000000000000000000000 -0000000000000000000000000FC0000000000000000001E000000000007FFFFFF80000000000003E -00000000000000000000000000000000000000000000000000001FFFE3FFFFFFFFFF8001FFFFFFFF -FF87FFE00000000000000000000000000000000000000000000000000FC0000000000000000003C0 -0000000000FFFFFFE00000000000001F000000000000000000000000000000000000000000000000 -00003FFFC7FFFFFFFFFF8000FFFFFFFFFFC3FFF80000000000000000000000000000000000000000 -000000000FC0000000000000000007800000000001FFFFFF800000000000000F8000000000000000 -0000000000000000000000000000000000007FFF8FFFFFFFFFFF0000FFFFFFFFFFE1FFFC00000000 -00000000000000000000000000000000000000000FC000000000000000000F000000000003FFFFFF -0000000000000007C000000000000000000000000000000000000000000000000001FFFF1FFFFFFF -FFFF0000FFFFFFFFFFF0FFFE0000000000000000000000000000000000000000000000000FC00000 -0000000000001C000000000007FFFFFC0000000000000003E0000000000000000000000000000000 -00000000000000000003FFFE3FFFFFFFFFFF00007FFFFFFFFFFC7FFF000000000000000000000000 -0000000000000000000000000FC000000000000000003C000000000007FFFFFC0000000000000001 -F000000000000000000000000000000000000000000000000007FFFC7FFFFFFFFFFE00007FFFFFFF -FFFC3FFF8000000000000000000000000000000000000000000000000FC000000000000000007800 -000000000FFFFFFC0000000000000000F80000000000000000000000000000000000000000000000 -000FFFF87FFFFFFFFFFE00007FFFFFFFFFFE1FFFC000000000000000000000000000000000000000 -000000000FC00000000000000000F000000000000FFFFFFFC0000000000000007800000000000000 -00000000000000000000000000000000003FFFF0FFFFFFFFFFFE00003FFFFFFFFFFF0FFFF0000000 -00000000000000000000000000000000000000000FC00000000000000001E000000000000FFFFFFF -FF000000000000003C0000000000000000000000000000000000000000000000007FFFF1FFFFFFFF -FFFC00003FFFFFFFFFFF87FFF800000000000000000000000000000000000000000000000FC00000 -000000000001C000000000001FFFFFFFFFF00000000000001E000000000000000000000000000000 -000000000000000000FFFFC3FFFFFFFFFFFC00003FFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC000000000000000038000000000001FFFFFFFFFFE000000000000 -0F000000000000000000000000000000000000000000000001FFFF87FFFFFFFFFFFC00003FFFFFFF -FFFFE3FFFE00000000000000000000000000000000000000000000000FC000000000000000078000 -000000003FFFFFF00FFFC00000000000070000000000000000000000000000000000000000000000 -03FFFF8FFFFFFFFFFFFC00003FFFFFFFFFFFF1FFFF80000000000000000000000000000000000000 -000000000FC0000000000000000F0000000000007FFFFFF0007FF000000000000780000000000000 -000000000000000000000000000000000FFFFF1FFFFFFFFFFFFF0000FFFFFFFFFFFFF0FFFFC00000 -00000000000000000000000000000000000000000FC0000000000000001E000000000001FFFFFFF0 -000FFC000000000003C0000000000000000000000000000000000000000000001FFFFE1FFFFFFFFF -FFFFC003FFFFFFFFFFFFF87FFFE0000000000000000000000000000000000000000000000FC00000 -00000000001C000000000007FFFFFFF00000FF000000000001E00000000000000000000000000000 -00000000000000003FFFFC3FFFFFFFFFFFFFE00FFFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC0000000000000003C00000000001FFFFFFFF000003F8000000000 -01F0000000000000000000000000000000000000000000007FFFF87FFFFFFFFFFFFFF00FFFFFFFFF -FFFFFE1FFFF8000000000000000000000000000000000000000000000FC000000000000000380000 -0000003FFFFFFFF800000FE00000000000F000000000000000000000000000000000000000000000 -FFFFF8FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF1FFFFC000000000000000000000000000000000000 -000000000FC000000000000000700000000000FF1FFFFFF8000003F8000000000078000000000000 -00000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF0FFFFF0000 -00000000000000000000000000000000000000000FC000000000000000F00000000001F81FFFFFFC -000000FE00000000007C00000000000000000000000000000000000000000007FFFFE3FFFFFFFFFF -FFFFF00FFFFFFFFFFFFFFF87FFFF800000000000000000000000000000000000000000000FC00000 -0000000000E00000000007F00FFFFFFC0000003F00000000003C0000000000000000000000000000 -000000000000000FFFFFC7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFC3FFFFC0000000000000000000 -0000000000000000000000000FC000000000000001E0000000000FC00FFFFFFE0000001F80000000 -001E0000000000000000000000000000000000000000003FFFFF87FFFFFFFFFFFFFFF00FFFFFFFFF -FFFFFFE3FFFFF00000000000000000000000000000000000000000000FC000000000000003C00000 -00001F8007FFFFFF00000007C0000000000E0000000000000000000000000000000000000000007F -FFFF8FFFFFFFFFFBFFFFF00FFFFFFFFFFFFFFFF1FFFFF80000000000000000000000000000000000 -000000000FC00000000000000380000000003E0007FFFFFF80000003F0000000000F000000000000 -000000000000000000000000000001FFFFFF1FFFFFFFFFC03FFFF00FFFFFFFFFFFFFFFF0FFFFFE00 -00000000000000000000000000000000000000000FC0000000000000078000000000FC0007FFFFFF -C0000000F80000000007800000000000000000000000000000000000000003FFFFFF3FFFFFFFFE00 -0FFFF00FFFFBFFFFFFFFFFF87FFFFF0000000000000000000000000000000000000000000FC00000 -000000000F0000000001F00003FFFFFFF00000007C00000000078000000000000000000000000000 -0000000000000FFFFFFC7FFFFFFFF80007FFF00FFFF01FFFFFFFFFFC7FFFFFC00000000000000000 -0000000000000000000000000FC00000000000000E0000000003E00001FFFFFFFC0000003E000000 -0003C0000000000000000000000000000000000000001FFFFFF8FFFFFFFFE00003FFF00FFFF001FF -FFFFFFFE3FFFFFE000000000000000000000000000000000000000000F800000000000001E000000 -0007E00001FFFFFFFE0000000F0000000001C0000000000000000000000000000000000000007FFF -FFF9FFFFFFFF800007FFF00FFFF0007FFFFFFFFF1FFFFFF800000000000000000000000000000000 -000000000F800000000000001E000000000F800000FFFFFFFF800000078000000001E00000000000 -0000000000000000000000000000FFFFFFF1FFFFFFFE00001FFFF00FFFF8003FFFFFFFFF0FFFFFFC -00000000000000000000000000000000000000000FC00000000000003C000000001F0000007FFFFF -FFC0000003C000000001E000000000000000000000000000000000000003FFFFFFE3FFFFFFFC0000 -7FFFF00FFFFFF83FFFFFFFFF8FFFFFFE00000000000000000000000000000000000000000FC00000 -0000000038000000003E0000003FFFFFFFE0000001E000000000F000000000000000000000000000 -000000000007FFFFFFE3FFFFFFF80003FFFFF00FFFFFFE1FFFFFFFFFC7FFFFFF8000000000000000 -0000000000000000000000000FC000000000000078000000007C0000001FFFFFFFF0000000F00000 -0000700000000000000000000000000000000000000FFFFFFFC7FFFFFFF00007FFFFF00FFFFFFF07 -FFFFFFFFC3FFFFFFC0000000000000000000000000000000000000000FC000000000000070000000 -007800000007FFFFFFF80000007800000000780000000000000000000000000000000000000FFFFF -FF87FFFFFFE0000FFFFFF00FFFFFFFC3FFFFFFFFE3FFFFFFE0000000000000000000000000000000 -000000000FC0000000000000F000000000F000000003FFFFFFFC0000007800000000780000000000 -000000000000000000000000001FFFFFFF8FFFFFFFE0003FFFFFF00FFFFFFFE1FFFFFFFFE1FFFFFF -F0000000000000000000000000000000000000000FC0000000000000F000000000F000000001FFFF -FFFE0000003C000000003C0000000000000000000000000000000000001FFFFFFF8FFFFFFFC0007F -FFFFF00FFFFFFFE0FFFFFFFFF1FFFFFFF8000000000000000000000000000000000000000FC00000 -00000000E000000001E0000000007FFFFFFF0000001E000000003C00000000000000000000000000 -00000000003FFFFFFF8FFFFFFFC0007FFFFFF00FFFFFFFF07FFFFFFFF1FFFFFFF800000000000000 -0000000000000000000000000FC0000000000001E000000003C0000000001FFFFFFF0000000F0000 -00001C0000000000000000000000000000000000003FFFFFFF0FFFFFFFC0007FFFFFF00FFFFFFFF0 -7FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC0000000000001E0000000 -03C00000000007FFFFFF0000000F800000001E0000000000000000000000000000000000001FFFFF -FF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000 -000000000FC0000000000001C000000007800000000001FFFFFF80000007800000001E0000000000 -000000000000000000000000001FFFFFFF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFF -F8000000000000000000000000000000000000000FC0000000000003C00000000F0000000000007F -FFFF80000003C00000000E0000000000000000000000000000000000001FFFFFFF0FFFFFFFC0007F -FFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC00000 -00000003800000000E0000000000003FFFFFC0000003C00000000F00000000000000000000000000 -00000000000FFFFFFF8FFFFFFFE0007FFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF800000000000000 -0000000000000000000000000FC0000000000003800000001E0000000000000FFFFFC0000001E000 -0000070000000000000000000000000000000000000FFFFFFF87FFFFFFE0007FFFFFF00FFFFFFFE0 -7FFFFFFFF1FFFFFFF0000000000000000000000000000000000000000FC000000000000780000000 -1C00000000000007FFFFC0000001E00000000700000000000000000000000000000000000007FFFF -FF87FFFFFFF0003FFFFFF00FFFFFFFC0FFFFFFFFE1FFFFFFF0000000000000000000000000000000 -000000000FC0000000000007000000003C00000000000003FFFFC0000000F0000000078000000000 -0000000000000000000000000003FFFFFFC7FFFFFFF8001FFFFFE00FFFFFFF81FFFFFFFFE3FFFFFF -E0000000000000000000000000000000000000000FC0000000000007000000007800000000000003 -FFFFE0000000700000000380000000000000000000000000000000000000FFFFFFC3FFFFFFFC000F -FFFFF00FFFFFFF03FFFFFFFFE3FFFFFFC0000000000000000000000000000000000000000FC00000 -00000007000000007800000000000001FFFFE0000000780000000380000000000000000000000000 -0000000000007FFFFFE1FFFFFFFF0007FFFFF00FFFFFFC07FFFFFFFFC7FFFFFF0000000000000000 -0000000000000000000000000FC000000000000E000000007000000000000001FFFFE00000003800 -000003C00000000000000000000000000000000000003FFFFFF1FFFFFFFFC000FFFFF81FFFFFF01F -FFFFFFFF87FFFFFC00000000000000000000000000000000000000000FC000000000000E00000000 -F000000000000000FFFFE00000003C00000003C00000000000000000000000000000000000000FFF -FFF8FFFFFFFFF0003FFFFFFFFFFF807FFFFFFFFF8FFFFFF800000000000000000000000000000000 -000000000FC000000000000E00000000F000000000000000FFFFC00000001C00000003C000000000 -000000000000000000000000000007FFFFF87FFFFFFFFE0007FFFFFFFFF801FFFFFFFFFF0FFFFFE0 -00000000000000000000000000000000000000000FC000000000001E00000001E000000000000000 -7FFFC00000001E00000003E000000000000000000000000000000000000001FFFFFC3FFFFFFFFF80 -000FFFFFFF801FFFFFFFFFFE1FFFFFC000000000000000000000000000000000000000000FC00000 -0000001E00000001E0000000000000007FFFC00000001FFFFFFFFFE0000000000000000000000000 -00000000000000FFFFFE3FFFFFFFFFF80000001F8001FFFFFFFFFFFC3FFFFF000000000000000000 -0000000000000000000000000FC000000000001C00000001C0000000000000007FFFC00000001FFF -FFFFFFC0000000000000000000000000000000000000007FFFFF1FFFFFFFFFFF80000000000FFFFF -FFFFFFFC7FFFFE0000000000000000000000000000000000000000000FC000000000001C00000003 -C0000000000000007FFF8000000003FFFFFFFF80000000000000000000000000000000000000001F -FFFF8FFFFFFFFFFFFE00000003FFFFFFFFFFFFF87FFFFC0000000000000000000000000000000000 -000000000FC000000000001C0000000380000000000000007FFF8000000000000000000000000000 -0000000000000000000000000000000FFFFF87FFFFFFFFFFFFFE0003FFFFFFFFFFFFFFF0FFFFF800 -00000000000000000000000000000000000000000FC000000000003C000000038000000000000000 -7FFF800000000000000000000000000000000000000000000000000000000007FFFFC3FFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFE1FFFFE00000000000000000000000000000000000000000000FC00000 -000000380000000780000000000000007FFF80000000000000000000000000000000000000000000 -0000000000000003FFFFE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3FFFFC0000000000000000000 -0000000000000000000000000FC00000000000380000000780000000000000007FFF000000000000 -000000000000000000000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFC7FFFF800000000000000000000000000000000000000000000FC000000000003800000007 -0000000000000000FFFE000000000000000000000000000000000000000000000000000000000000 -7FFFF0FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFF87FFFF000000000000000000000000000000000000 -000000000FC0000000000038000000070000000000000000FFFC0000000000000000000000000000 -000000000000000000000000000000003FFFF8FFFFFFFFFFFFFFE00FFFFFFFFFFFFFFF0FFFFC0000 -00000000000000000000000000000000000000000FC0000000000038000000070000000000000000 -FFF80000000000000000000000000000000000000000000000000000000000001FFFFC7FFFFFFFFF -FFFFE007FFFFFFFFFFFFFE1FFFF8000000000000000000000000000000000000000000000FC00000 -00000078000000070000000000000001FFF800000000000000000000000000000000000000000000 -00000000000000000FFFFE3FFFFFFFFFFFFFE007FFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC00000000000780000000F0000000000000001FFF0000000000000 -00000000000000000000000000000000000000000000000007FFFE1FFFFFFFFFFFFFE007FFFFFFFF -FFFFFC3FFFE0000000000000000000000000000000000000000000000FC00000000000300000000E -0000000000000003FFE0000000000000000000000073C00000000000000000000000000000000000 -01FFFF0FFFFFFFFFFFFFC007FFFFFFFFFFFFF87FFF80000000000000000000000000000000000000 -000000000FC00000000000700000000E0000000000000003FF80000000000381FFF81FFF83FFF000 -0000000000000000000000000000000000FFFF87FFFFFFFFFFFFC007FFFFFFFFFFFFF0FFFF000000 -00000000000000000000000000000000000000000FC00000000000700000000E0000000000000007 -FF000000000007C1FFFC3FFF87FFF00000000000000000000000000000000000007FFFC3FFFFFFFF -FFFFC007FFFFFFFFFFFFE1FFFE00000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000000000FFC000000000007C3FFFC3FFF87FFF0000000000000000000 -0000000000000000003FFFE1FFFFFFFFFFFFC003FFFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000000001FF000000000000FE3 -FFF87FFF87FFC00000000000000000000000000000000000000FFFF0FFFFFFFFFFFFC003FFFFFFFF -FFFF87FFF000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000000003FE0000000000007E3FF807F8007F0000000000000000000000000000000000000 -0007FFF87FFFFFFFFFFFC007FFFFFFFFFFFF0FFFE000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000000E7FFFE0000000000007E3F0007F0007E00000 -000000000000000000000000000000000003FFFC7FFFFFFFFFFFC003FFFFFFFFFFFF1FFFC0000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE0000000000FE3F0007F0007E00000000000000000000000000000000000000001FFFE1FFFFFFF -FFFFC003FFFFFFFFFFFE3FFF8000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000003FFFFFFFF0000000000FE3FC007FC007FF00000000000000000000 -000000000000000000007FFF0FFFFFFFFFFFC003FFFFFFFFFFF87FFE000000000000000000000000 -0000000000000000000000000FC00000000000700000001E00000000003E071E7FF0000000000FE3 -FFF87FFF07FFE0000000000000000000000000000000000000007FFF87FFFFFFFFFFC003FFFFFFFF -FFF8FFFC0000000000000000000000000000000000000000000000000FC00000000000700000001E -00000000001E000000F0000000000FE3FFF87FFF87FFF00000000000000000000000000000000000 -00001FFF83FFFFFFFFFFC003FFFFFFFFFFE1FFF80000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000001FFFFFFFF00000000007E3FFFC7FFF87FFE000 -0000000000000000000000000000000000000FFFE3FFFFFFFFFFC003FFFFFFFFFFC3FFF000000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE00000000007E3FFF87FFF07FFE00000000000000000000000000000000000000007FFE1FFFFFF -FFFFC003FFFFFFFFFFC7FFE00000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000000FFFFFFFE0000000000FE3FFE03FFC07FC00000000000000000000 -0000000000000000000003FFF0FFFFFFFFFFC003FFFFFFFFFF87FFC0000000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000007C0000FC00000000007E3 -F8003F0007E0000000000000000000000000000000000000000001FFF87FFFFFFFFFC003FFFFFFFF -FF0FFF800000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000003C00007800000000007E3F8007F0007E0000000000000000000000000000000000000 -000000FFFC3FFFFFFFFFC003FFFFFFFFFE1FFF000000000000000000000000000000000000000000 -000000000FC00000000000700000000E000000000003C00007800000000007E3F8007F0007E00000 -000000000000000000000000000000000000007FFE1FFFFFFFFFC003FFFFFFFFFC3FFE0000000000 -00000000000000000000000000000000000000000FC00000000000700000000E000000000003C000 -07000000000007E3F8003F8007F00000000000000000000000000000000000000000003FFF0FFFFF -FFFF8003FFFFFFFFF87FFC000000000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000003C00007000000000007E3FFF83FFF87FFF0000000000000000000 -00000000000000000000001FFF87FFFFFFFF8003FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC00000000000780000000E000000000003C00007000000000007E3 -FFFC3FFF87FFF800000000000000000000000000000000000000000FFFC3FFFFFFFFC003FFFFFFFF -E1FFF0000000000000000000000000000000000000000000000000000FC00000000000780000000E -000000000003C00007000000000007E3FFFC3FFF87FFF80000000000000000000000000000000000 -00000007FFE1FFFFFFFFC003FFFFFFFFC3FFE0000000000000000000000000000000000000000000 -000000000FC00000000000780000000E000000000001C00007000000000007C1FFFC3FFF83FFF000 -0000000000000000000000000000000000000003FFF0FFFFFFFFC003FFFFFFFF87FFC00000000000 -00000000000000000000000000000000000000000FC000000000007800000006000000000001C000 -0700000000000381FFF81FFF00FF80000000000000000000000000000000000000000001FFF87FFF -FFFF8003FFFFFFFF0FFF80000000000000000000000000000000000000000000000000000FC00000 -0000003800000007000000000001C00007000000000000000000000000000000000000000E000000 -000000000000000000000000FFFC3FFFFFFF8003FFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC000000000003800000007000000000001C0000700000000000000 -0000000000000000000000001F0000000000000000000000000000003FFE1FFFFFFF8003FFFFFFFC -3FFC00000003FFFF80000000000000000000000000000000000000000FC000000000003800000007 -000000000001C0000F000000000000000000000000000000000000003F000007E000000000000000 -000070001FFF07FFFFFF8003FFFFFFF87FF800000007FFFFE0000000FFFFE0000000000000000000 -000000000FC000000000003C00000007800000000001C0000E000000000000000000000000000000 -000000007E00007FFE000000FFF000000000F0000FFF83FFFFFFC003FFFFFFE0FFF00000000FFFFF -F8000001FFFFFC00000E000000000000000000000FC000000000003C00000003800000000001C000 -0E00000000000000000000000000000000000001FE0003FFFFC0000FFFFE00000001F00007FFE1FF -FFFFF007FFFFFFC1FFE0007800FFFFFFF8300001FFFFFE00003F000000700000000000000FC00000 -0000001C00000003800000000001C0000E00000000000000000000000000000000000003FE000FFF -87F0003FFE0780000003F00003FFF0FFFFFFFFFFFFFFFF83FFC000F801FFFFFFFCF8003FFFFFFF0E -003F000000F80000000000000FC000000000001C00000003C00000000000E0000E00000000000000 -000000000000000000000007FE001FFC01F8007FF001C0000007F00001FFF87FFFFFFFFFFFFFFF07 -FF8001FC03FFFFFFFFF8007FFFFFFF9F007F000001F80000000000000FC000000000001C00000001 -C00000000000E0000E00000000000000000000000000000000000007FC003FE0007C00FFC000E000 -000FF00000FFFC3FFFFFFFFFFFFFFE0FFF0003FC03FFFFFFFFFC00FFFFFFFFFF807F800001FC0000 -000000000FC000000000001E00000001E00000000000E0000E000000000000000000000000000000 -0000000FFC007FC0003C01FF00007000000FE000007FFE1FFFFFFFFFFFFFFC3FFE0003FC07FDFFFF -FFFC00FFFFFFFFFF807F800003FC0000000000000FC000000000001E00000001E00000000000E000 -0C0000000000000000000000000000000000001FFC00FFC0001E03FE00007000001FE000003FFF0F -FFFFFFFFFFFFF07FFC0003FC07F8003FE7FC00FF3FFFFFFF00FF000003FC0000000000000FC00000 -0000000E00000000E00000000000E0001C00000000001FFFFFFEF000000000000000007FF800FF80 -001F07FC00003800003FE000001FFF83FFFFFFFFFFFFE0FFF80003FC07F8000007FC01FF001F7EFF -80FF000003F80000000000000FC000000000000E00000000F00000000000E0001C00000000001FFF -FFFFFF80000000000000007FF801FE00000F07FC00003800007FC000001FFFC1FFFFFFFFFFFFC1FF -F00003FC07F8000007FC01FF000000FF80FF000007F80000000000000FC000000000000E00000000 -700000000000E0001C00000000003FFFFFFFFF8000000000000000FFF803FE00000F8FF800001C00 -00FFC000000FFFE0FFFFFFFFFFFF83FFE00007FC0FF8000007F801FF000000FF80FF000007F80000 -000000000FC000000000000F00000000780000000000E0001C00000000007C00FFFFFFC000000000 -000001FFF003FC0000078FF000001C0001FF80000007FFF8FFFFFFFFFFFF07FFC00007FC0FF80000 -07FC01FF000000FF00FF000007F80000000000000FC0000000000007000000007800000000006000 -1C00000000007800000007C000000000000003FFF007F80000079FE000001C0003FF80000003FFF8 -3FFFFFFFFFFE0FFFC00007F80FF8000007F801FF000000FF00FF000007F80000000000000FC00000 -00000007000000003C000000000060001C00000000007800000007C000000000000007FFF007F800 -00079FE000001C0007FF80000001FFFE1FFFFFFFFFFC1FFF000007F80FF0000007F801FE000000FF -00FF000007F80000000000000FC0000000000007800000003C000000000070003C0000000000F000 -000003800000000000000FFFE007F80000079FE000001C000FFF00000000FFFF0FFFFFFFFFF83FFF -000007F80FF0000007F801FE000000FF00FF000007F80000000000000FC000000000000380000000 -1E00000000007000380000000000F000000007800000000000001FFFE007F0000007BFC000001C00 -1FFF000000007FFF87FFFFFFFFE0FFFE000007F80FF0000007F801FE000000FF00FF000007F80000 -000000000FC0000000000003800000001E00000000007000380000000001E0000000070000000000 -00003FFFE007F00000071FC000001C003FFF000000003FFFC1FFFFFFFFC1FFFC000007F80FF00000 -07F801FE000000FF00FF000007F80000000000000FC0000000000003C00000000F00000000007000 -380000000003E000000007000000000000007F9FE00FF000000F1FC000001C007FFE000000001FFF -F0FFFFFFFF87FFF8000007F80FF0000007F801FE000000FF01FF000007F00000000000000FC00000 -00000001C00000000700000000007000380000000003C00000000F00000000000000FF1FC00FF000 -000F1FC000001C01FFFE000000000FFFF87FFFFFFF0FFFF0000007F80FF000000FF801FE000000FF -01FE00000FF00000000000000FC0000000000001E000000007800000000070003800000000078000 -00000E00000000000001FE3FC007F000001E1FC000003C03F9FE0000000007FFFC3FFFFFFC1FFFE0 -000007F80FF000000FF801FE000001FF01FE00000FF00000000000000FC0000000000001E0000000 -03C000000000700038000000000F800000001E00000000000003FC3F8007F800003E1FC000007807 -F1FE0000000003FFFE0FFFFFF87FFFC0000007F80FF000000FF801FE000001FF01FE00000FF00000 -000000000FC0000000000000E000000001E000000000700078000000001F000000001C0000000000 -0007F87F8007F800007C0FE00000780FE3FC0000000001FFFF87FFFFE0FFFF80000007F80FF00000 -0FF001FE000001FE01FE00000FF00000000000000FC0000000000000F000000001E0000000003000 -70000000001E000000001C0000000000001FF07F8007FC0000FC0FE00001F01FC3FC0000000000FF -FFC1FFFFC1FFFF0000000FF00FF000000FF001FE000001FE01FE00000FF00000000000000FC00000 -000000007000000000F000000000380070000000003C000000003C0000000000003FE07F8003FE00 -01F80FF00003E07F83FC00000000007FFFF0FFFF07FFFE0000000FF00FF000000FF001FC000001FE -00FE00000FE00000000000000FC00000000000007800000000780000000038007000000000780000 -0000380000000000007FC0FF0003FF0007F007F80007E0FF07F800000000003FFFF83FFC0FFFFC00 -000007E007F000000FE001FC000001FE00FF00000FE00000000000000FC000000000000078000000 -003C0000000038007000000000F80000000078000000000001FF80FF0001FF803FE003FC001FC1FE -07F800000000001FFFFE07F03FFFF800000007C007FF00000FE001FE000001FC00FFFFFF8FC00000 -000000000FC00000000000003C000000001E0000000038007000000000F000000000700000000000 -03FF00FE0001FFFFFFE003FF807FC3FC07F800000000001FFFFF00007FFFF0000000000007FFFFFF -E7C001FFFFFFF1F8007FFFFFFF800000000000000FC00000000000003C000000001F000000003800 -7000000001E000000000F0000000000007FE01FE0001FFFFFFC003FFFFFF8FF80FF800000000000F -FFFFC001FFFFE0000000000003FFFFFFF80000FFFFFFFFE0007FFFFFF8000000000000000FC00000 -000000001E000000000F8000000038006000000003C000000000F0000000000007FE01FE0003FFFF -FFC003FFFFFFFFF00FF0000000000007FFFFF007FFFFE0000000000003FFFFFFFC0000FFFFFFFF80 -003FFFFFFC000000000000000FC00000000000001E0000000007C000000038006000000007800000 -0001E000000000001FFC03FE0007FFFFFFE007FFFBFFFFF01FF0000000000003FFFFFF3FFFFFC000 -0000000001FFFFFFFC0000FFFFFFFF80003FFFFFFC000000000000000FC00000000000000F000000 -0003E00000001800E00000000F0000000001E000000000003FF003FE000FFFF0FFE01FFF803FFFE0 -1FF0000000000001FFFFFFFFFFFF8003F000000001FFFFFFFC0000FFFFFFFF80001FFFFFFC000000 -000000000FC00000000000000F0000000001F00000001C00E00000003E0000000003C00000000000 -3FE003FC001FFFC007F83FFC001FFFC01FF0000000000001FFFFFFFFFFFF0007FC0000E000FFFFFF -FE0001FFFFFFFF80000FFFFFFFC00000000000000FC0000000000000078000000000780000001C00 -E00000007E0000000003C000000000001F0007FC003FFE0001FFFFF8000FFFC03FF0000000000000 -FFFFFFFFFFFE000FFE0001F0007FFFFFFFE003FFFFFFFFF80003FFFFFFE00000000000000FC00000 -000000000780000000007C0000001C00E0000000F80000000007800000000000000007FC007FF800 -007FFFE0001FFFC07FFC0000000000007FFFFFFFFFFE001FFF0003F0001FFFFFFFF003FFFFFFFFFC -000001840FF00000000000000FC000000000000003C0000000001E0000001C00E0000001F0000000 -000F000000000000000007F800FFE000003FFFC0003FFFFFFFFFFFF8000000003FFFFFFFFFFC001F -FF0007F80000000007F803FFFFFFFFFE000000000FF00000000000000FC000000000000001E00000 -00001F8000001C00E0000003F0000000000F00000000000000000FF801FFC000001FFF00007FFFFF -FFFFFFFC000000001FFFFFFFFFF80037FB8007F80000000007F807FE000000FE000000000FF00000 -000000000FC000000000000001E00000000007E000001C01C000000FC0000000001E000000000000 -00000FF803FF8000001FFF0000FFFFFFFFFFFFFC000000001FFFFFFFFFF00037F98007F800000000 -07F807FC000000FF000000000FF00000000000000FC000000000000000F00000000003F000001C01 -C000003F80000000001E00000000000000000FF803FF0000001FFE00007FFFFFFFF0000000000000 -0FFFFFFFFFE00037F98007F80000000007F807FC000001FF000000000FF00000000000000FC00000 -0000000000F00000000000FC00001E01C000007E00000000003C00000000000000001FF807FE0000 -001FFC0000007F80FFE000000000000007FFFFFFFFC00037F18007F8000000000FF807F8000001FF -000000000FF00000000000000FC0000000000000007800000000007F00000E01C00001F800000000 -007800000000000000001FF807FE0000001FFC0000001F00FFC000000000000007FFFFFFFF800037 -F18007F8000000000FF807F8000001FF000000000FF00000000000000FC0000000000000003C0000 -0000001FC0000E01C00007E000000000007800000000000000001FF007FC0000001FF80000001E00 -FFC000000000000003FFFFFFFF800030238007F8000000000FF807F8000001FF000000000FF00000 -000000000FC0000000000000001C00000000000FF0000E01C0001FC00000000000F0000000000000 -00003FF00FF80000003FF80000001E00FFC000000000000001FFFFFFFF000038070007F800000000 -0FF807F8000001FF000000000FF00000000000000FC0000000000000001E000000000001FE000E01 -C000FE000000000001E000000000000000003FF00FF80000003FF00000000E00FF80000000000000 -00FFFFFFFE00001E0F0007F8000000000FF007F8000001FF000000000FF000000000000007C00000 -00000000000F0000000000007FE00E03C00FF8000000000003E000000000000000007FF00FF00000 -003FF00000001E00FF80000000000000007FFFFFFC00000FFE000FF8000000000FF007F8000001FE -000000000FF00000000000000FC000000000000000078000000000001FFE1E03C0FFE00000000000 -07C000000000000000007FF00FF00000003FF00000001C01FF80000000000000003FFFFFF8000007 -F8000FF8000000000FF007F8000001FE000000001FF00000000000000FC00000000000000003C000 -0000000003FFFE03FFFF000000000000078000000000000000007FE00FF00000003FF00000001C01 -FF80000000000000001FFFFFF000000000000FF8000000000FF00FF8000001FE000000001FF00000 -000000000FC00000000000000001E00000000000007FFE03FFF80000000000000F00000000000000 -00007FE00FF00000003FF00000003801FF80000000000000001FFFFFF000000000000FF800000000 -0FF00FF8000001FE000000001FF00000000000000FC00000000000000001F00000000000000FFF03 -FFC00000000000001E000000000000000000FFE00FF00000003FF00000007801FF80000000000000 -000FFFFFE000000000000FF8000000000FF00FF8000001FE000000001FE00000000000000FC00000 -000000000000F800000000000000FF03F0000000000000003C000000000000000000FFE00FF00000 -007FF00000007001FF000000000000000007FFFFC000000000000FF8000000000FF00FF8000001FE -000000001FE00000000000000FC0000000000000000078000000000000000F078000000000000000 -7C000000000000000000FFE007F80000007FF0000000E001FF000000000000000007FFFF80000000 -00000FF8000000000FF00FF8000001FE000000001FE00000000000000FC000000000000000003C00 -00000000000007078000000000000000F8000000000000000001FFC007F8000000FFF8000001E003 -FF000000000000000003FFFF8000000000000FF0000000000FF00FFC000001FE000000001FE00000 -000000000FC000000000000000001E0000000000000007070000000000000001F000000000000000 -0001FFC007FC000001FFFC000003C003FF000000000000000001FFFF0000000000000FF000000000 -0FF00FFFFC0001FE000000001FE00000000000000FC000000000000000000F000000000000000787 -0000000000000003E0000000000000000001FFC003FE000003FFFC0000078003FF00000000000000 -0001FFFE0000000000000FF0000000000FF00FFFFFFFC1FE000000001FE00000000000000FC00000 -0000000000000F80000000000000078F0000000000000007C0000000000000000003FF8003FF0000 -0FE7FE00000F0003FF000000000000000000FFFE0000000000000FF0000000000FF00FFFFFFFF1FE -000000001FE00000000000000FC0000000000000000007C0000000000000078F0000000000000007 -80000000000000000003FF8001FFC0001F03FF00001E0003FE0000000000000000007FFC00000000 -00000FF0000000000FF00FFFFFFFFBFE000000001FE00000000000000FC0000000000000000001E0 -000000000000078F000000000000001F80000000000000000003FE0000FFF800FE00FFC000780007 -FC0000000000000000007FF80000000000000FE0000000000FE00FFFFFFFFFFE000000001FC00000 -000000000FC0000000000000000001F0000000000000078E000000000000001E0000000000000000 -0003FC00007FFFFFF0007FF001F00007F80000000000000000003FF000000000000007E000000000 -0FE00FFFFFFFFFFC000000001FC00000000000000FC0000000000000000000FC000000000000038E -000000000000003C00000000000000000003E000001FFFFFC0001FFE0FE00007E000000000000000 -00000FC000000000000007C0000000000FC007FFFFFFFFFC000000000F800000000000000FC00000 -000000000000007E000000000000038E00000000000000F80000000000000000000000000007FFFE -000007FFFF000007C0000000000000000000000000000000000001800000000007800387FFFFFCF8 -0000000006000000000000000FC00000000000000000003F000000000000038E00000000000001F0 -0000000000000000000000000000FFF0000000FFF800000780000000000000000000000000000000 -000000000000000000000001FFFFF8000000000000000000000000000FC00000000000000000001F -80000000000003CE00000000000003E0000000000000000000000000000000000000000000000006 -0000000000000000000000000000000000000000000000000000000003FFE0000000000000000000 -000000000FC000000000000000000007C0000000000003FE0000000000000FC00000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC000000000000000000003F0000000000001FC -0000000000001F000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -0000000000000001F8000000000001FC0000000000003E0000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC0000000000000000000007E00000000000070000000000000FC00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -1F00000000000000000000000001F000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000F80000000000000000000000007E0000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC00000000000000000000003E0000000000000 -00000000001F80000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -000000000000000001F800000000000000000000007E000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000007E0000000000000000000000FC0000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -001F8000000000000000000003F00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000FE00000000000000000000FE000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003F80000000000 -000000003F8000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000FE000000000000000001FF00000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000003FE00000000000000007F8000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000FF0000000000000001FF0000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000001FF00000000000000FF800000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000007FC0000000 -00001FFE000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000FFE0000000000FFF00000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000001FFF80000003FFF8000000000 -000000000000000000000007C0000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -000000001FFFF9C0FFFFFC0000000000000000000000000003C0001FF07FE1C063FFC30083FE0000 -000FE01FF000FF0000020007F010700E00001F00100000000F800F803F801FE03FC0FF80FE01FC00 -000000000FC0000000000000000000000000000001FFFFFFFFFF8000000000000000000000000000 -07E0003FF8FFF3E0F3FFE781C7FF1E1E003FF07FF801FFC3800FFE1FF87FF87FE0E07FC03E038000 -1FF87FF07FE03FF07FF1FFE3FF03FE00000000000FC00000000000000000000000000000001FFFFF -FFF0000000000000000000000000000007E0007FFCFFF3F0F3FFE781E7FF9E1E007FF87FF803FFE7 -801FFE3FFC7FFCFFF0F1FFE03E0780003FFC7FF8FFF07FF8FFF9FFE3FF87FF00000000000FC00000 -00000000000000000000000000003FFFF00000000000000000000000000000000FF000FFFFFFE3F8 -F1FFC781E7FFDF3E00FFFC7FF003FFC7801FFC3FFE7FF8FFF9F3FFF07F07C0003FFEFFF9FFF8FFFC -FFF9FFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000FF000FC3FFF03F8F07F07C3EFEFCFFE00F87E7E0003F007801F807C3E0FC0FC -F9F3E1F07F07C0003F3FFFFFF9FCF87CFCF9F807E7CFCF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000000FF000F818FF83FCF03E0783EFC7CFFC -00F83E7C0003F007801F00780C07C0F8F9F7E060FF0780003E1FFC7FF07DF818FCFFF807E18FC000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -1FF801F800FFE3FFF03E0783EFEFC7FC01F01FFFC003FF87801FF8780007C0F8F9F7C000FF878000 -3E3FFCFFE07FF000FFFBFF87FC0FF800000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000001FF801F000FFE3FFF03E0783EFFF87F801F01F7FE003FFC7 -801FFCF8000780FFF9FFC000FF87C0003FFFFFFFE07FF0F8FFF9FFC3FF0FFE00000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000003FF801F000FFE3FF -F03E07C3EFFF83F801F01E7FF003FFC7801FFCF8000780FFF1FFC001FF87C0003FFEFFFFE03FF0FC -FFF9FFC1FF87FF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000003FFC00F000FFC3FFF03E07C3EFFF83F001F01F7FE003FF87801FFCF8000780FF -F1FFC001FFC7C0003FFCFFFFE07FF1FEFFF9FF80FFC1FF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000003FFC00F809FC03FFF03E07C3EFFF83F0 -00F01F7E0003F007801F80F8000780FFF8FFC003FFC7C0003FF8FFFFE07FF0FEFFF9F8001FC0FF80 -000000000FE000000000000000000000000000000000000000000000000000000000000000000000 -7FFC00F81FFC03EFF03E07C3EFC7C1F000F83EFC0003F007C01F00780C07C0FDF8F3C063FFC7C000 -3FC0FDFFE07DF87EFDF9F0070FC41F80000000000FE0000000000000000000000000000000000000 -000000000000000000000000000000007FFE00FC3FFC03E7F03E07C3EF87C1F000F87E7C0003F007 -C01F007C1E0780F8F9F3E0F3FFE7C0003F00F87FF0FCF87EF8FBF00787CF8F80000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000007FFE007FFFFFF3E3 -F03E07E7EF87C1E0007FFC780003FFC7FE1FF87E3E07C0F879F3F3F7FFE7FF003E00F87FFFF8FFFE -F87FFFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000007C7E007FFCFFF3E3F03E03FFC783C1E0007FF8780001FFE7FF9FFE3FFE0780F8 -78F1FFE7C3E7FF803E00F87CFFF87FFEF87FFFE7FFCFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000783E001FF8FFF3C1F01C01FFC78381E0 -003FF8780001FFE7FF9FFE1FFC0780F078F0FFE7C1E7FF801E00783C7FF03FFCF079FFE3FF87FF00 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -301C000FF07FF180F01C00FF030100E0001FE0300000FFC3FF1FFE0FF803007030607FC380C3FF00 -1C0070383FE01FFC6010FFC1FF03FE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000040000000000003800000000000 -00006003E000000000001F00000000000000000007800380000000003800F000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFFFF39CF800008008087C0000000000000000000000000000000000000000200000000 -0000000000000E01EFFDFFFFFFFFFE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC00000 -0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFF00000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00 -0000000007C000000000000000000000000000000000000000000000000000000000000000000000 -1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFE7FF8000000000000180000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000001000000000 -000018000000000000000000000000200010003C0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 ->}imagemask -showpage diff --git a/macros/inrstex/inrsdoc/index.tex b/macros/inrstex/inrsdoc/index.tex deleted file mode 100644 index 7b705d616a..0000000000 --- a/macros/inrstex/inrsdoc/index.tex +++ /dev/null @@ -1,43 +0,0 @@ - -\catcode`\|=\active %defines | as an active character in the entire document -{\obeylines \gdef|{\ttverbatim\spaceskip\ttglue\let|=\endgroup}} -%\def\ttspace{{\tt\hskip\ttglue}} - - -% indexing macros mods of texbook - - - -% ^ in non math mode are eaten up - -\def\specialhat{\ifmmode\def\next{^}\else\let\next=\xref\fi\next} -\def\xref{\relax} -\catcode`\^=\active \let ^=\specialhat - -\newswitch{silent} -\chardef\bslash=`\\ -\def\xrefswitch{\ifx\next|\let\next=\vxref % case 1 or 2, |arg| or |\arg| - \else\ifx\next\<\let\next=\anglexref % case 3, "\<arg>" means angle brackets - \else\let\next=\normalxref \fi\fi \next} % case 0, "{arg}" -\def\vxref|{\catcode`\\=\active \futurelet\next\vxrefswitch} -\def\vxrefswitch#1|{\catcode`\\=0 - \ifx\next\empty\def\xreftype{2}% - \def\next{{\tt\bslash\text}}% type 2, |\arg| - \else\def\xreftype{1}\def\next{{\tt\text}}\fi % type 1, |arg| - \edef\text{#1}\makexref} - -{\catcode`\|=0 \catcode`\\=\active |gdef\{@}} -\def\anglexref\<#1>{\def\xreftype{3}\def\text{#1}% - \def\next{\<\text>}\makexref} -\def\normalxref#1{\def\xreftype{0}\def\text{#1}\let\next=\text\makexref} -\def\makexref{{\def\space{ } - \xdef\writeit{\write\ind@file{!\text!\space\string\indpg\xreftype\space - \noexpand\number\pageno.}}\writeit} - \ifsilent\ignorespaces\else\next\fi} - - -\outer\def\indexingon{\openlistfile{ind}% file for index reminders - \def\xref{\futurelet\next\xrefswitch}} - - -\def\indexingoff{\closelistfile{ind} \def\xref{\relax}} diff --git a/macros/inrstex/inrsdoc/indsort b/macros/inrstex/inrsdoc/indsort deleted file mode 100644 index b94e70aa97..0000000000 Binary files a/macros/inrstex/inrsdoc/indsort and /dev/null differ diff --git a/macros/inrstex/inrsdoc/indsort.c b/macros/inrstex/inrsdoc/indsort.c deleted file mode 100644 index 93b9f4dd24..0000000000 --- a/macros/inrstex/inrsdoc/indsort.c +++ /dev/null @@ -1,113 +0,0 @@ -/* -This reads a an unsorted index file *.ind and writes a sorted, and converted -*.sor index file -File Names are specialized to the INRSTeX reference book -... DOS version uses strncmpi() -*/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <alloc.h> -#include <ctype.h> - -#define NUL ((char)0) -#define BSLASH ((char)0x5c) -#define CR ((char)0x0d) -#define LF ((char)0x0a) -#define MAX 900 -#define CS 20 -#define SS 510 -#define PL 8 -/* type def */ - -typedef struct { - char cmp_str[CS]; - char *str; -} ind; - -/* the variables */ - - FILE *outfile; /* out file. */ - FILE *infile; /* input file */ - char in_buf[512]; /* input buffer */ - ind index[MAX]; - char work[512]; - int j, k, l, cp, in_len ; /* dummy vars */ - int mem_over, op; - -/* Comparison Function */ -int sortfcn(const void *a, const void *b) - { - return (strcmpi(a,b)); - } - - - - -/***** -* The main function. -input file name is masth.ind output is masth.sor ... for inrstex ref book -*****/ -void main() - {printf("\n INRSTeX index massage and sort. \n Input file is 'masth.ind'. \n Output file is 'masth.sor'.\n"); - infile = fopen( "masth.ind", "r"); - if (infile==0) printf("\n Sorry ... I can't find the index file \n `masth.ind` \n"); - else { - outfile = fopen( "masth.sor", "w" ); - j=0; while (j<MAX) {k=0; while (k<CS) {index[j].cmp_str[k]=' '; k++;} - j++; index[j].cmp_str[CS-1]=0; - } - mem_over=0; - cp=0; - while ((fgets(in_buf, 510, infile))&&(cp<MAX)) - { in_len=strlen(in_buf); - index[cp].str=malloc(in_len); - if (index[cp].str==0) {mem_over=1; - printf("\n Memory Overflow"); - break; - } - strncpy(index[cp].str, in_buf, SS-1); - j=0; k=0; - while ((j<CS-PL-1)&&(in_buf[k]!=LF)) - { if (isalpha(in_buf[k])) { - index[cp].cmp_str[j]=in_buf[k]; - j++; - } - k++; - } - if (j==5) {j=0; while (j<5) {index[cp].cmp_str[j]=' '; j++; } } - /* fix for single non-alphabetic commands */ - cp++; - } - qsort((void *) index, cp, sizeof(ind), sortfcn); - printf("\n %d index records were read and sorted. \n", cp); - op=0; - while (op<cp) - { - strncpy(work, index[op].str, SS-1); - if (work[0]=='!') - {fputc(BSLASH,outfile);fputc('2',outfile); - k=1; while (work[k]!='!') - { if ((work[k]=='*')&&(work[k+1]=='/')&&(work[k+2]=='*')) - {fputc(LF,outfile); k++;k++;} - else - {fputc(work[k],outfile); - if (work[k]==BSLASH) fputc('1',outfile); - } - k++; - } - - k++; while ((work[k]!=LF)&&(work[k]!=0)) - {fputc(work[k],outfile); k++;} - fputc(LF,outfile); - } - op++; - } - - fclose(infile); fclose(outfile); - } - } - - - \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/inrslogo.tex b/macros/inrstex/inrsdoc/inrslogo.tex deleted file mode 100644 index 993abebdf9..0000000000 --- a/macros/inrstex/inrsdoc/inrslogo.tex +++ /dev/null @@ -1,58 +0,0 @@ -%-*-tex-*- -%======== macros for the INRS address logo/letterhead ===== - -\def\ppa{\beginsegment \absoluteposition -\lvec h:.4 v:0 -\lvec h:.2 v:.8 -\lvec h:-.2 v:.8 -\pfill p:0 -\endsegment -} - -\def\ppb{\beginsegment \absoluteposition -\lvec h:.4 v:0 -\lvec h:.1 v:1.2 -\lvec h:-.3 v:1.2 -\pfill p:0 -\endsegment -} - -\def\inrslogo h:#1 v:#2 sc:#3 {\beginsegment -\penwidth .005 -\move h:#1 v:#2 -\unitscale #3 -\relative -\ppa -\move h:.48 v:0 -\ppa -\move h:.48 v:0 -\ppb -\endsegment} -\font\inrsaddfont = cmcsc10 -\font\eightrm = cmr8 -\def\inrsadd{\vbox{\hsize 5in \baselineskip=9pt \parskip=0pt - \leftline{\eightrm Universit\'e du Qu\'ebec} - \vskip 3pt - \leftline{\inrsaddfont Institut national de la recherche - scientifique} - \vskip 6pt - {\eightrm \obeylines \parindent=0pt - 3, place du Commerce \par - Ile-des-Soeurs\par - Verdun, Qu\'ebec\par - Canada \qquad H3E 1H6\par - T\'el\'ephone: \tele \par} - \vskip 6pt - \leftline{\inrsaddfont INRS-T\'el\'ecommunications} - }} - - -\def\inrslogoadd h:#1 v:#2 {\btg\inrslogo h:#1 v:#2 sc:.3 - \beginsegment - \move h:0 v:0 \tbox {\inrsadd} - \endsegment\etg} - -\def\inrsaddform{\titlepagestyle\finalversion - \inrslogoadd h:-.5 v:0 } - -\def\tele{(514) 765-7834} diff --git a/macros/inrstex/inrsdoc/inrssl.tex b/macros/inrstex/inrsdoc/inrssl.tex deleted file mode 100644 index d129346b86..0000000000 --- a/macros/inrstex/inrsdoc/inrssl.tex +++ /dev/null @@ -1,147 +0,0 @@ -% PostScript slide form -% \genform Aug 1991 -% Toulson/Beebe PS driver -% ====== simple viewgraph box ======= -\catcode`\@=11 -\def\hviewbox{\beginsegment - \unitscale {\f@ormscale} - \slidelogo - \topform - \botform - \move h:0 v:.4 - \penwidth .05 - \lvec h:8.9 v:.4 - \lvec h:8.9 v:6.9 - \move h:0 v:.4 - \lvec h:0 v:6.9 - \move h:.15 v:6.9 - \larc r:.15 sd:90 ed:180 - \move h:.15 v:7.05 - \lvec h:8.75 v:7.05 - \move h:8.75 v:6.9 - \larc r:.15 sd:0 ed:90 - \endsegment} -% ======= Slide Utilities ====== -% Horizontal form -\newtoks\slidetitle -\newdimen\slhsize \newdimen\slvsize -\long\def\sltitle#1{\vglue .03\slvsize \global\slidetitle={#1} - \vbox to 0pt{\hsize=\slhsize \rightskip=.1\hsize plus 1fill - \def\cr{\endgraf}\leftskip= .1\hsize plus 1fill\gbfont\gbbaselines - \parskip=1ex \parindent=0pt#1\vss}} -\def\shk{\showthe\leftskip\showthe\rightskip} -\let\shk=\relax -\long\def\slidebox #1#2{\vbox to \slvsize{\hsize \slhsize - \grfont\parindent=0pt - \grbaselines\parskip=2.8ex \advance\rightskip by 0pt plus 1fil - \sltitle{#1}\vfill\advance\rightskip by .05\hsize - \advance\leftskip by .05\hsize - #2\vfill}} - -\def\bl{\beginlist \samplemark{$\bullet$}} % modifies default -\def\lb{\li {$\bullet$} } -\def\lc{\li {$\circ$} } -\def\last{\li {$\ast$} } -\def\hd#1{\vskip 1ex\vbox{\veryraggedright\hangindent1em\hangafter1 - \noindent\bigfont#1}\vskip 1ex } - - -% ===== slide building macros ======= -% A slide lives in either a textform or fullsize form. The defaault is -% Fullsize. Text form reduces the size and gives a chance to add background -% Material with the slide. - -\newif\iftextform -\gdef\inrsform{\message{<< INRSFORM >>}\input inrslogo\relax \gdef\slidelogo{\i@nrsform} - \gdef\topform{}\gdef\botform{}} -\gdef\i@nrsform{\inrslogo h:.2 v:0 sc:.25 - \move h:8.9 v:.1 \textref h:R v:C - \rstext d:0 sc:{\f@ormscale} t:{\bf INRS-T\'el\'ecommunications} } -\newtoks\topdata -\newtoks\botdata -\newtoks\slidedate -\gdef\genform{\message{<< General FORM >>} - \gdef\slidelogo{\topform}\gdef\topform{\move h:0 v:.15 \textref h:L v:C - \rstext d:0 sc:{\f@ormscale} t:{\borderfont\the\topdata} } - \gdef\botform{\move h:4.45 v:7.25 - \textref h:C v:C -\rstext d:0 sc:{\f@ormscale} t:{\borderfont \the\botdata\ -- \the\slidedate} }} - -\newcount\textfontscale % computed inside textform -\gdef\textform{\message{<< Text Size >>}\long - \gdef\comment##1//{\rm ##1}\textformtrue\gdef\slidescale{.578} - \textfontscale=\the\fullfontscale \relax - \multiply\textfontscale by 1000 - \divide\textfontscale by 1728 - \fontset scaled {\the\textfontscale} - \textformfonts - \let\borderfont=\txborderfont - \textpagestyle - \slvsize = 9.84cm \slhsize = 12.5cm - \gdef\tfb{\bigskip\filbreak}} -\newcount\fullfontscale % set in defaults -\gdef\fullform{\message{<< Full Size >>} - \long\gdef\comment##1//{}\textformfalse\gdef\slidescale{1} - \fontset scaled {\the\fullfontscale} - \fullformfonts - \let\borderfont = \fxborderfont - \finalversion - \documentstyle{ - \leftmargin=.6in - \nofooterstyle - \vfootersize=0pt } - \slvsize=17cm \slhsize=21.5cm - \let\tfb=\relax} - -\long\gdef\hhslide#1#2{\btg - \segmentscale {\slidescale} - \move h:0.2 v:.4 \textref h:L v:T - \rstext d:0 sc:{\f@ormscale} t:{\slidebox{#1}{#2}} - \move h:0 v:0 \hviewbox - \etg} -\gdef\formscale #1 {\gdef\f@ormscale{#1 }} -\gdef\smalldot{\setbox0=\hbox{\hskip .4in\fiverm.}\wd0=0pt\ht0=0pt\dp0=0pt\box0} -\long\gdef\hslide #1//#2//{\advance\slidenum by 1 \relax - \begingroup\tfb\documentstyle{\genpoint}\bf \let\hslide=\slideerr - \iftextform\centergraph{\hhslide{#1}{#2}}\bigskip \else - \btg - \move h:0 v:8.9 - \vtext {\hhslide{#1}{#2}} - \move h:7 v:8.8 - \etg - \smalldot\ejectpage\fi\endgroup} -% ====== Error forms ======== -% This attempts to find a misplaced // gracefully -\newcount\slidenum -\ifnum\language=0 \edef\s@lmiss{Probable Missing or Extra // in Slide Num. } - \else - \edef\s@lmiss{Probable Missing or Extra // in Slide Num. } - \fi -\gdef\slideerr{\message{<<\s@lmiss\the\slidenum>>}} - -% ====== TexGraph Defaults ======== -\ifundefined{textref} - \begingroup \catcode`\^=7 \input texgraph \endgroup \fi - -% ==== text form page style ===== -\gdef\textpagestyle{} - -% ====== Font Defaults ========= -\input spfont \relax -\gdef\textformfonts{\font\gffont= cmcsc10 scaled 667 } -\gdef\fullformfonts{\font\gffont = cmcsc10 scaled 1440 } -\fullfontscale = 2074 -\font\fxborderfont = cmbx10 scaled 1728 -\let\txborderfont = \tenbfx - -% ==== slide default ===== -\slidenum=0 -\gdef\gbfont{\bigfont} -\gdef\gbbaselines{\baselineskip = 2.8ex\lineskip=1pt\lineskiplimit=0pt} -\gdef\grfont{\bf} -\gdef\grbaselines{\baselineskip=2.8ex\lineskip=1pt\lineskiplimit=0pt} -\gdef\f@ormscale{1} -%====== end defaults ===== - -\catcode`\@=12 - diff --git a/macros/inrstex/inrsdoc/inrsunix.sh b/macros/inrstex/inrsdoc/inrsunix.sh deleted file mode 100644 index dd1f48d528..0000000000 --- a/macros/inrstex/inrsdoc/inrsunix.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# -# INRSTeX -# -if [ $# = 1 ]; then - jobname=`/usr/bin/basename $1 .tex` - # rename auxiliary files -- see writunix.tex - /bin/mv $jobname.tag $jobname.tag~ 2>/dev/null - /bin/mv $jobname.toc $jobname.toc~ 2>/dev/null - /bin/mv $jobname.fig $jobname.fig~ 2>/dev/null - /bin/mv $jobname.tbl $jobname.tbl~ 2>/dev/null -fi -exec /usr/users/u1/mike/inrstex/virtex_mlb '&/usr/users/u1/mike/inrstex/inrs3_mlb' $* - \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/masth.ctg b/macros/inrstex/inrsdoc/masth.ctg deleted file mode 100644 index 542a40b1ad..0000000000 --- a/macros/inrstex/inrsdoc/masth.ctg +++ /dev/null @@ -1,7 +0,0 @@ -\initcitetag {0} -\initcitetag {0} -\tag{[Knut84]}{1} -\tag{[Digi83]}{2} -\tag{[Amst84]}{3} -\tag{[Lesk76]}{4} -\lastcitetag {4} diff --git a/macros/inrstex/inrsdoc/masth.ind b/macros/inrstex/inrsdoc/masth.ind deleted file mode 100644 index ff9079a675..0000000000 --- a/macros/inrstex/inrsdoc/masth.ind +++ /dev/null @@ -1,762 +0,0 @@ -!\aa, \AA! \indpg 14. -!\ae, \AE! \indpg 14. -!\copyright! \indpg 14. -!\dag! \indpg 14. -!\ddag! \indpg 14. -!{\it\$}! \indpg 14. -!{\it\&}! \indpg 14. -!\i! \indpg 14. -!\j! \indpg 14. -!\l, \L! \indpg 14. -!\o, \O! \indpg 14. -!\oe, \OE! \indpg 14. -!\P! \indpg 14. -!\S! \indpg 14. -!\ss! \indpg 14. -!\jobname! \indpg 20. -!\hprintoffset = <dimen>! \indpg 21. -!\vprintoffset = <dimen>! \indpg 22. -!\bye! \indpg 22. -!\done! \indpg 23. -!\draftversion! \indpg 23. -!\end! \indpg 23. -!\englishversion \ehyph! \indpg 23. -!\ehyph! \indpg 23. -!\finalversion! \indpg 23. -!\hyphenation{<exceptions>}! \indpg 23. -!\language [=] <integer>! \indpg 23. -!\marginnotestrue! \indpg 24. -!\marginnotesfalse! \indpg 24. -!\versionfrancaise \fhyph! \indpg 24. -!\fhyph! \indpg 24. -!DVIALW Command line options! \indpg 24. -!\hfuzz [=] <dimen>! \indpg 31. -!\overfullrule [=] <dimen>! \indpg 31. -!\vfuzz [=] <dimen>! \indpg 32. -!\raggedbottom! \indpg 32. -!\font\<fontname> [scaled <number>]! \indpg 34. -!\fivei! \indpg 34. -!\fiverm! \indpg 34. -!\fivebf! \indpg 34. -!\twelvepoint! \indpg 35. -!\tenpoint! \indpg 35. -!\ninepoint! \indpg 35. -!\eightpoint! \indpg 35. -!\bf! \indpg 35. -!\it! \indpg 35. -!\rm! \indpg 35. -!\tt! \indpg 35. -!\bigggfont! \indpg 35. -!\biggfont! \indpg 35. -!\bigfont! \indpg 35. -!\cheadfont! \indpg 35. -!\documentstyle{<font family>}! \indpg 36. -!\footerfont! \indpg 36. -!\footnotefont! \indpg 36. -!\headerfont! \indpg 36. -!\smallerfont! \indpg 36. -!\sheadfont! \indpg 36. -!\ssheadfont! \indpg 36. -!\sssheadfont! \indpg 36. -!\dsssheadfont! \indpg 36. -!\captionnumfont! \indpg 36. -!\captiontitlefont! \indpg 36. -!\captionbodyfont! \indpg 36. -!<units of measure>*/* cm em ex in*/* mu pt sp! \indpg 37. -!\newdimen\<dimen name>! \indpg 38. -!\newcount\<count name>! \indpg 38. -!\newskip\<skip or glue name>! \indpg 39. -!\<count name> [=] <integer, dimen, glue>! \indpg 39. -!\<dimen name> [=] < dimen, glue>! \indpg 39. -!\<skip or glue name> [=] <dimen>*/* [plus <dimen>] [minus<dimen>]! \indpg 39. -!\advance \<count, dimen, glue name> by [+ -]<count, dimen, glue>! \indpg 40. -!\multiply \<count, dimen, glue name> by [+ -]<integer>! \indpg 40. -!\divide \<count, dimen, glue name> by [+ -]<integer>! \indpg 40. -!\hfil \hfill! \indpg 42. -!\hfilneg! \indpg 42. -!\hss! \indpg 42. -!\medmuskip! \indpg 42. -!\newskip\<skip name>! \indpg 42. -!\newmuskip\<muskip name>! \indpg 42. -!\thickmuskip! \indpg 43. -!\thinmuskip! \indpg 43. -!\vfil \vfill! \indpg 43. -!\vfilneg! \indpg 43. -!\vss! \indpg 43. -!\discretionary{<prebreak text>}{<postbreak text>}{<nobreak text>}! \indpg 47. -!\endnarrowtext! \indpg 47. -!\everyparagraph [=] {<token string>}! \indpg 47. -!\hangafter [+ -] <integer>! \indpg 48. -!\hangindent [=] [+ -] <dimen>! \indpg 48. -!\hyphenatecapitals [=] <integer>! \indpg 48. -!\indent! \indpg 48. -!\leftskip [=] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 48. -!\rightskip [=] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 48. -!\looseness [=] [+ -] <integer>! \indpg 49. -!\noindent! \indpg 49. -!\obeylines! \indpg 49. -!\obeyspaces! \indpg 49. -!\par! \indpg 50. -!\paragraphcenterline! \indpg 50. -!\parindent [=] <dimen>! \indpg 50. -!\parshape <number of lines> <indent 1> <line length 1>*/* ... <indent n> <line length n>! \indpg 50. -!\parskip [=] <dimen>! \indpg 51. -!\pretolerance [=] <integer>! \indpg 51. -!\tolerance [=] <integer>! \indpg 51. -!\raggedright! \indpg 51. -!\ttraggedright! \indpg 51. -!\veryraggedright! \indpg 51. -!\beginttverbatim! \indpg 55. -!\bigskip! \indpg 55. -!\endttverbatim! \indpg 55. -!\enskip! \indpg 55. -!\hskip [+ -] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 56. -!\kern [+ -] <dimen>! \indpg 56. -!\mkern [+ -] <decimal number>mu! \indpg 56. -!\mskip [+ -] <mudimen> [plus <mudimen>] [minus <mudimen>]! \indpg 56. -!\medskip! \indpg 56. -!\quad \qquad! \indpg 56. -!\smallskip! \indpg 56. -!\spacing {<decimal number>}! \indpg 56. -!\vglue [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 56. -!\vskip [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>]! \indpg 56. -!\allowbreak! \indpg 57. -!\break! \indpg 57. -!\bigbreak! \indpg 57. -!\bye! \indpg 58. -!\discretionary{<pre break text>}{<post break text>}{<text>}! \indpg 58. -!\done! \indpg 58. -!\end! \indpg 58. -!\filbreak! \indpg 58. -!\eject! \indpg 58. -!\ejectcolumn! \indpg 58. -!\ejectpage! \indpg 58. -!\goodbreak! \indpg 58. -!\linebreak! \indpg 58. -!\medbreak! \indpg 58. -!\nobreak! \indpg 58. -!\penaltybreak{<penalty>}{<skip size>}! \indpg 59. -!\smallbreak! \indpg 59. -!\alpha {\rm A} A! \indpg 62. -!\beta {\rm B} B! \indpg 62. -!\gamma \Gamma {\mit\Gamma}! \indpg 62. -!\delta \Delta {\mit\Delta} ! \indpg 62. -!\epsilon {\rm E} E! \indpg 62. -!\varepsilon! \indpg 62. -!\zeta {\rm Z} Z! \indpg 62. -!\eta {\rm H} H! \indpg 62. -!\theta \Theta {\mit\Theta} ! \indpg 62. -!\vartheta! \indpg 63. -!\iota {\rm I} I! \indpg 63. -!\kappa {\rm K} K ! \indpg 63. -!\lambda \Lambda {\mit\Lambda} ! \indpg 63. -!\mu {\rm M} M ! \indpg 63. -!\nu {\rm N} N! \indpg 63. -!\xi \Xi {\mit\Xi} ! \indpg 63. -!\pi \Pi {\mit\Pi}! \indpg 63. -!\varpi! \indpg 63. -!\rho {\rm R} R! \indpg 63. -!\sigma \Sigma {\mit\Sigma}! \indpg 63. -!\tau {\rm T} T! \indpg 63. -!\upsilon \Upsilon {\mit\Upsilon}! \indpg 63. -!\phi \Phi {\mit\Phi}! \indpg 63. -!\varphi! \indpg 63. -!\chi {\rm X} X! \indpg 63. -!\psi \Psi {\mit\Psi}! \indpg 63. -!\omega \Omega {\mit\Omega}! \indpg 63. -!+! \indpg 63. -!-! \indpg 63. -!=! \indpg 63. -!\not=! \indpg 63. -!<! \indpg 63. -!\not<! \indpg 63. -!>! \indpg 63. -!\not>! \indpg 63. -!\aleph! \indpg 63. -!\amalg! \indpg 63. -!\angle! \indpg 63. -!\approx! \indpg 63. -!\not\approx! \indpg 63. -!\ast! \indpg 63. -!\asymp! \indpg 64. -!\backslash! \indpg 64. -!\bigcap! \indpg 64. -!\bigcirc! \indpg 64. -!\bigcup! \indpg 64. -!\bigodot! \indpg 64. -!\bigoplus! \indpg 64. -!\bigotimes! \indpg 64. -!\bigsqcup! \indpg 64. -!\bigtriangledown! \indpg 64. -!\bigtriangleup! \indpg 64. -!\biguplus! \indpg 64. -!\bigvee! \indpg 64. -!\bigwedge! \indpg 64. -!\bot! \indpg 64. -!\bowtie! \indpg 64. -!\bullet! \indpg 64. -!\cap! \indpg 64. -!\cdot! \indpg 64. -!\circ! \indpg 64. -!\clubsuit! \indpg 64. -!\cong! \indpg 64. -!\not\cong! \indpg 64. -!\coprod! \indpg 64. -!\cup! \indpg 64. -!\dagger! \indpg 64. -!\dashv! \indpg 64. -!\ddagger! \indpg 64. -!\diamondsuit! \indpg 64. -!\diamond! \indpg 64. -!\div! \indpg 64. -!\doteq! \indpg 64. -!\Downarrow! \indpg 64. -!\downarrow! \indpg 64. -!\ell! \indpg 64. -!\emptyset! \indpg 64. -!\equiv! \indpg 64. -!\not\equiv! \indpg 64. -!\exists! \indpg 64. -!\flat! \indpg 64. -!\forall! \indpg 64. -!\frown! \indpg 64. -!\ge! \indpg 64. -!\geq! \indpg 64. -!\not\geq! \indpg 64. -!\gg! \indpg 64. -!\not\gg! \indpg 64. -!\hbar! \indpg 64. -!\heartsuit! \indpg 64. -!\hookleftarrow! \indpg 64. -!\hookrightarrow! \indpg 64. -!\Im! \indpg 64. -!\imath! \indpg 64. -!\infty! \indpg 64. -!\int! \indpg 64. -!\in! \indpg 64. -!\not\in! \indpg 64. -!\jmath! \indpg 64. -!\Leftarrow! \indpg 64. -!\leftarrow! \indpg 64. -!\leftharpoondown! \indpg 64. -!\leftharpoonup! \indpg 64. -!\Leftrightarrow! \indpg 64. -!\leftrightarrow! \indpg 64. -!\le! \indpg 64. -!\leq! \indpg 64. -!\not\leq! \indpg 64. -!\ll! \indpg 64. -!\not\ll! \indpg 64. -!\Longleftarrow! \indpg 64. -!\longleftarrow! \indpg 64. -!\Longleftrightarrow! \indpg 64. -!\longleftrightarrow! \indpg 64. -!\longmapsto! \indpg 64. -!\Longrightarrow! \indpg 64. -!\longrightarrow! \indpg 64. -!\mapsto! \indpg 64. -!\mid! \indpg 64. -!\models! \indpg 64. -!\mp! \indpg 64. -!\nabla! \indpg 64. -!\natural! \indpg 64. -!\nearrow! \indpg 65. -!\nwarrow! \indpg 65. -!\neg! \indpg 65. -!\lnot! \indpg 65. -!\ni! \indpg 65. -!\owns! \indpg 65. -!\odot! \indpg 65. -!\oint! \indpg 65. -!\ominus! \indpg 65. -!\oplus! \indpg 65. -!\oslash! \indpg 65. -!\otimes! \indpg 65. -!\parallel! \indpg 65. -!\partial! \indpg 65. -!\perp! \indpg 65. -!\pm! \indpg 65. -!\preceq! \indpg 65. -!\not\preceq! \indpg 65. -!\prec! \indpg 65. -!\not\prec! \indpg 65. -!\prime! \indpg 65. -!\prod! \indpg 65. -!\propto! \indpg 65. -!\Re! \indpg 65. -!\Rightarrow! \indpg 65. -!\rightarrow! \indpg 65. -!\rightharpoondown! \indpg 65. -!\rightharpoonup! \indpg 65. -!\rightleftharpoons! \indpg 65. -!\setminus! \indpg 65. -!\sharp! \indpg 65. -!\simeq! \indpg 65. -!\not\simeq! \indpg 65. -!\sim! \indpg 65. -!\not\sim! \indpg 65. -!\smile! \indpg 65. -!\spadesuit! \indpg 65. -!\sqcap! \indpg 65. -!\sqcup! \indpg 65. -!\sqsubseteq! \indpg 65. -!\not\sqsubseteq! \indpg 65. -!\sqsupseteq! \indpg 65. -!\not\sqsupseteq! \indpg 65. -!\star! \indpg 65. -!\subseteq! \indpg 65. -!\not\subseteq! \indpg 65. -!\subset! \indpg 65. -!\not\subset! \indpg 65. -!\succeq! \indpg 65. -!\not\succeq! \indpg 65. -!\succ! \indpg 65. -!\not\succ! \indpg 65. -!\sum! \indpg 65. -!\supseteq! \indpg 65. -!\not\supseteq! \indpg 65. -!\supset! \indpg 65. -!\not\supset! \indpg 65. -!\surd! \indpg 65. -!\searrow! \indpg 65. -!\swarrow! \indpg 65. -!\times! \indpg 65. -!\top! \indpg 65. -!\triangleleft! \indpg 65. -!\triangleright! \indpg 65. -!\triangle! \indpg 65. -!\uplus! \indpg 65. -!\Uparrow! \indpg 65. -!\uparrow! \indpg 65. -!\Updownarrow! \indpg 65. -!\updownarrow! \indpg 65. -!\Vert! \indpg 65. -!\vert! \indpg 65. -!\vdash! \indpg 65. -!\lor! \indpg 65. -!\vee! \indpg 65. -!\land! \indpg 65. -!\wedge! \indpg 65. -!\wp! \indpg 65. -!\wr! \indpg 65. -!\big\Arrowvert! \indpg 66. -!\big\arrowvert! \indpg 66. -!\langle! \indpg 66. -!\rangle! \indpg 66. -!\big\bracevert! \indpg 66. -!\lbrace! \indpg 66. -!\rbrace! \indpg 66. -!\lbrack! \indpg 66. -!\rbrack! \indpg 66. -!\lceil! \indpg 66. -!\rceil! \indpg 66. -!\lfloor! \indpg 66. -!\rfloor! \indpg 66. -!\big\lgroup! \indpg 66. -!\big\rgroup! \indpg 66. -!\big\lmoustache! \indpg 66. -!\big\rmoustache! \indpg 66. -!\backslash! \indpg 66. -!$\left<delimiter> ...\right<delimiter>$! \indpg 67. -!\bigl! \indpg 67. -!\biggl! \indpg 67. -!\Biggl! \indpg 67. -!\bigr! \indpg 67. -!\Bigr! \indpg 67. -!\biggr! \indpg 67. -!\Biggr! \indpg 67. -!\arg! \indpg 68. -!\arccos! \indpg 68. -!\arcsin! \indpg 68. -!\arctan! \indpg 68. -!\cot! \indpg 68. -!\coth! \indpg 68. -!\cosh! \indpg 68. -!\cos! \indpg 68. -!\csc! \indpg 68. -!\det! \indpg 68. -!\deg! \indpg 68. -!\dim! \indpg 68. -!\exp! \indpg 68. -!\gcd! \indpg 68. -!\hom! \indpg 68. -!\inf! \indpg 68. -!\ker! \indpg 68. -!\lg! \indpg 68. -!\liminf! \indpg 68. -!\limsup! \indpg 68. -!\lim! \indpg 68. -!\ln! \indpg 68. -!\log! \indpg 68. -!\max! \indpg 68. -!\min! \indpg 68. -!\Pr! \indpg 68. -!\sec! \indpg 68. -!\sin! \indpg 68. -!\sinh! \indpg 68. -!\sup! \indpg 68. -!\tanh! \indpg 68. -!\tan! \indpg 68. -!\buildrel <superscript> \over <relation>! \indpg 68. -!\above.. \atop.. \over.. functions*/* {<parm1> \atop <parm2>}*/* {<parm1> \choose <parm2>}*/* {<parm1> \over <parm2>}*/* {<parm1> \atopwithdelims<left delim><right delim> <parm2>}*/* {<parm1> \overwithdelims<left delim><right delim> <parm2>}*/* {<parm1> \abovewithdelims<left delim><right delim>*/* <bar thickness> <parm2>}! \indpg 71. -!\silenttrue! \indpg 73. -!\bordermatrix{<top 0>&<top 1>&<top 2>&...&<top n>\cr*/* <side 1>&<first row>\cr*/* ...*/* <side m>&<last row>\cr}! \indpg 73. -!\cases{<first math>&<first condition>\cr*/* ...*/* <last math>&<last condition>\cr}! \indpg 74. -!\eqalign ...*/* \eqalign{ <left first row> &<right first row>\cr*/* ...*/* <left last row> &<right last row>\cr}*/* \eqalignno{<left first row> &<right first row>&<first eq.no>\cr*/* ...*/* <left last row> &<right last row>&<last eq.no>\cr}*/* \leqalignno{<left first row>&<right first row>&<first eq.no>\cr*/* ...*/* <left last row> &<right last row>&<last eq.no>\cr}! \indpg 74. -!\eqno <reference> \leqno <reference>! \indpg 76. -!\leftequationnumbering \rightequationnumbering! \indpg 76. -!\noalign {<text>}! \indpg 76. -!\openup <dimen>! \indpg 77. -!\over ... \under ...*/* \overline{<math>} \underline{<math>}*/* \overbrace{<math>} \underbrace{<math>}! \indpg 77. -!\dots ... \cdot \cdots \ldots \ddots! \indpg 77. -!\mathopen{<dimen or glue>}! \indpg 77. -!\matrix{<entry 11>&<entry 12>&...&<entry 1n>\cr*/* <second row>\cr*/* ...*/* <last row> \cr}*/* \pmatrix{<several rows>\cr}! \indpg 78. -!\phantom{<math>} \vphantom{<math>} \sphantom{<hlist>}! \indpg 78. -!\sqrt{<math>}! \indpg 78. -!\smash{<math>}! \indpg 78. -!\box{<named box>}! \indpg 82. -!\boxit{<line thickness>}{<border separation>}{<box, vlist>}! \indpg 82. -!\boxmaxdepth [=] <dimen>! \indpg 82. -!\copy{<named box>}! \indpg 82. -!\line{<horizontal list>}! \indpg 82. -!\centerline{<horizontal list>}! \indpg 82. -!\leftline{<horizontal list>}! \indpg 82. -!\rightline{<horizontal list>}! \indpg 82. -!\box dimensions ... \dp \ht \wd! \indpg 83. -!\dp<named box> [=] <dimen>*/* \ht<named box> [=] <dimen>*/* \wd<named box> [=] <dimen>! \indpg 83. -!<scale factor>\dp<named box>*/* <scale factor>\ht<named box>*/* <scale factor>\wd<named box>! \indpg 83. -!\everyhbox = {<token list>}! \indpg 83. -!\everyvbox = {<token list>}! \indpg 83. -!\hbox <box spec>{<horizontal list>}! \indpg 83. -!\vbox <box spec>{<vertical list>}! \indpg 83. -!<box spec>! \indpg 83. -!\vbox{\hsize [=] <dimen> <text>}! \indpg 84. -!\hrule [height <dimen>] [width <dimen>] [depth <dimen>]! \indpg 84. -!\vrule [height <dimen>] [width <dimen>] [depth <dimen>]! \indpg 84. -!\llap{<text>}! \indpg 84. -!\rlap{<text>}! \indpg 84. -!\lower<dimen><box>! \indpg 84. -!\raise<dimen><box>! \indpg 84. -!\setbox<named box> [=] <box>{<list>}! \indpg 85. -!\strut! \indpg 85. -!\unhbox{<named hbox>}! \indpg 85. -!\unhcopy{<named hbox>}! \indpg 85. -!\unvbox{<named vbox>}! \indpg 85. -!\unvcopy{<named vbox>}! \indpg 85. -!\vcenter{<vertical list>}! \indpg 85. -!\vsplit<named box> to <dimen>! \indpg 85. -!\splitmaxdepth! \indpg 85. -!\+<text>&<text> ... &<text>\cr! \indpg 96. -!\cleartabs! \indpg 96. -!\tabalign ... \cr! \indpg 96. -!\halign{<preamble>\cr <first row>\cr ... <last row>\cr}! \indpg 96. -!\hidewidth! \indpg 97. -!\ialign{<preamble>\cr <first row>\cr ... <last row>\cr}! \indpg 97. -!\multispan {<integer>}! \indpg 97. -!\noalign {<text>}! \indpg 98. -!\oalign{<first row>\cr ... &<last row>\cr}! \indpg 98. -!\omit! \indpg 98. -!\span! \indpg 98. -!\valign{<preamble>\cr <first column>\cr ... <last column>\cr}! \indpg 98. -!~! \indpg 99. -!\:! \indpg 99. -!\-! \indpg 99. -!\br{<rules..>} \er{<rules..>}! \indpg 100. -!\begintable ... \endtable! \indpg 100. -!\begintableformat ... \endtableformat! \indpg 100. -!\center \center{<argument>}! \indpg 101. -!\displaymath{<argument>}! \indpg 101. -!\everytable! \indpg 101. -!\fulltablerule{<dimen>}! \indpg 101. -!\left! \indpg 101. -!\math{<argument>}! \indpg 102. -!\midtabglue [=] <glue>! \indpg 102. -!\modifystrut{<original>}{<add to height>}{<add to depth>}*/*\mst = \modifystrut! \indpg 102. -!\right! \indpg 102. -!\sa{<text>}! \indpg 102. -!\sprule! \indpg 102. -!\tablespread = {<halign specification>}! \indpg 103. -!\tcs! \indpg 103. -!\thrule{<height>}! \indpg 103. -!\tr! \indpg 103. -!\tvrule{<width>}! \indpg 104. -!\use{<number of data columns>}! \indpg 104. -!\zerocenteredbox{<text>}*/* \zb = \zerocenteredbox! \indpg 104. -!\def\<def name> <parameter form>{<replacement text>}! \indpg 108. -!\gdef\<def name> <parameter form>{<replacement text>}! \indpg 109. -!\global! \indpg 109. -!\let\<def a> [=] \<def b>! \indpg 109. -!\long! \indpg 109. -!\outer! \indpg 109. -!\beginlist \bl! \indpg 114. -!\beginsublist \bsl! \indpg 114. -!\beginsubsublist \bssl! \indpg 114. -!\endlist \el! \indpg 114. -!\endsublist \esl! \indpg 114. -!\endsubsublist \essl! \indpg 114. -!\everylist [=] {<token list>}! \indpg 114. -!\everysublist [=] {<token list>}! \indpg 114. -!\everysubsublist [=] {<token list>}! \indpg 115. -!\item! \indpg 115. -!\itemitem! \indpg 115. -!\listitem <listitem mark>! \indpg 115. -!\loosenlist! \indpg 115. -!\samplemark{<listitem mark>}! \indpg 115. -!\tightenlist! \indpg 116. -!\listindent [=] <dimen>! \indpg 116. -!\listitemmarksize [=] <dimen>! \indpg 116. -!\listitemskip [=] <glue>! \indpg 116. -!\polistskip [=] <glue>! \indpg 116. -!\posublistskip [=] <glue>! \indpg 116. -!\posubsublistskip [=] <glue>! \indpg 116. -!\prlistskip [=] <glue>! \indpg 116. -!\prsublistskip [=] <glue>! \indpg 116. -!\prsubsublistskip [=] <glue>! \indpg 116. -!\sublistindent [=] <dimen>! \indpg 116. -!\subsublistindent [=] <dimen>! \indpg 116. -!\sublistitemskip [=] <glue>! \indpg 116. -!\subsublistitemskip [=] <glue>! \indpg 116. -!\everyfootnote = {<token list>}! \indpg 118. -!\footnote{<math mode mark>}{<text>}! \indpg 118. -!\footnotefont! \indpg 118. -!\footnoterule! \indpg 118. -!\up{<math mode mark>}! \indpg 118. -!\skip\footins [=] <dimen>! \indpg 118. -!\dimen\footins [=] <dimen>! \indpg 118. -!\sfootnote{<math mode mark>}{<text>}! \indpg 119. -!\beginmidinsert! \indpg 127. -!\beginpageinsert! \indpg 127. -!\begintopinsert! \indpg 127. -!\captionbox{<number text>}{<title>}! \indpg 127. -!\captionbody{<text>}! \indpg 127. -!\captionbodyon \captionbodyoff! \indpg 127. -!\captionbodyfont! \indpg 127. -!\captionnumfont! \indpg 128. -!\captiontitlefont! \indpg 128. -!\captionskip [=] <dimen>! \indpg 128. -!\captiontextfraction! \indpg 128. -!\ejectinserts! \indpg 128. -!\endmidinsert! \indpg 128. -!\endpageinsert! \indpg 128. -!\endtopinsert! \indpg 128. -!\figureform{<tag or number>}{<title>}{<figure box>}! \indpg 128. -!\figureinsert{<tag or number>}{<title>}{<figure box>}! \indpg 129. -!\figurelabel! \indpg 129. -!\rect <horizontal dimen> by <vertical dimen>! \indpg 129. -!\tableform{<tag or number>}{<title>}{<table>}! \indpg 129. -!\tableinsert{<tag or number>}{<title>}{<figure box>}! \indpg 129. -!\tablelabel! \indpg 130. -!\balancecolumnsize*/* [=] <column length> ! \indpg 132. -!\beginmulticolumnformat! \indpg 132. -!\endmulticolumnformat! \indpg 132. -!\ejectcolumn! \indpg 132. -!\ejectpage! \indpg 132. -!\firstcolumnoffset*/* [=] <dimen>! \indpg 133. -!\intercolumnsep*/* [=] {<token list>}! \indpg 133. -!\numberofcolumns*/* [=] <integer>! \indpg 133. -!\chead{<number or tag>}{<title>}! \indpg 137. -!\preludehead{<title>}! \indpg 137. -!\shead{<number or tag>}{<title>}! \indpg 137. -!\sshead{<number or tag>}{<title>}! \indpg 137. -!\ssshead{<number or tag>}{<title>}! \indpg 137. -!\dssshead{<title>}! \indpg 137. -!\Appendix! \indpg 137. -!\beginappendices \endappendices! \indpg 137. -!\beginprelude \endprelude! \indpg 138. -!\Chapter! \indpg 138. -!\chapterstartform = {<special pre chapter tests>}! \indpg 138. -!\<head type>headfont! \indpg 138. -!\Alphabetic{<integer>}! \indpg 138. -!\alphabetic{<integer>}! \indpg 138. -!\UpperRoman{<integer>}! \indpg 138. -!\chtagreplaceformat! \indpg 139. -!\shtagreplaceformat! \indpg 139. -!\prsheadskip [=] <glue>! \indpg 139. -!\posheadskip [=] <glue>! \indpg 139. -!\prssheadskip [=] <glue>! \indpg 139. -!\possheadskip [=] <glue>! \indpg 139. -!\prsssheadskip [=] <glue>! \indpg 139. -!\posssheadskip [=] <glue>! \indpg 139. -!\prdsssheadskip [=] <glue>! \indpg 139. -!\podsssheadskip [=] <glue>! \indpg 139. -!\preludeheadformat! \indpg 139. -!\cheadformat{<chapter>}{<text>}! \indpg 140. -!\gensheadformat{<font>}{<number>}{<text>}{<separator>}! \indpg 140. -!\preludheadformat{<title>}! \indpg 140. -!\autoeqnum! \indpg 142. -!\autotblnum! \indpg 142. -!\autofignum! \indpg 142. -!\<type>tagrefformat! \indpg 142. -!\<type>num! \indpg 142. -!\<type>tagreplaceformat! \indpg 142. -!\<type>numform! \indpg 142. -!\pagetagson! \indpg 142. -!\pagetagsoff! \indpg 142. -!{\silenttrue \auto...num{<tag>}}! \indpg 143. -!\aneq \aneqtag{<tag>}! \indpg 144. -!\autonumberingon! \indpg 145. -!\autonumberingoff! \indpg 145. -!\autoreferencingon! \indpg 145. -!\autoreferencingingoff! \indpg 145. -!\auto<type>num{<tag>}! \indpg 145. -!\inputtagfiles [=] {<input command><file name> ...}! \indpg 145. -!\newautonum{<type>}! \indpg 146. -!\newtag{<tag>}{<tag value>}! \indpg 146. -!\newttag{<tag>}{<tag value>}! \indpg 146. -!\newptag{<tag>}! \indpg 146. -!\numberbychapter! \indpg 146. -!\numberbysection! \indpg 146. -!\pagequietref{<tag>} \pqref{<tag>}! \indpg 146. -!\pageref{<tag>} \pref{<tag>}! \indpg 147. -!\pagetagson \pagetagsoff! \indpg 147. -!\quietref{<tag>} \qref{<tag>}! \indpg 147. -!\ref{<tag>}! \indpg 147. -!\silent{<text>}! \indpg 147. -!\specialnumberscontinuous! \indpg 147. -!\citenum! \indpg 151. -!\cite{<citation tag>}! \indpg 151. -!\citeform{<citation tag>}{<TeX macro form>}! \indpg 152. -!\citetagvalue! \indpg 152. -!\closecitationtagfile! \indpg 152. -!\initcitetag{<integer>}! \indpg 152. -!\inputciteformfiles*/* [=] { \inputwithcheck{<first form file>}*/* ...*/* \inputwithcheck{<last form file>} }! \indpg 152. -!\inputcitetagfiles*/* [=] { \inputwithcheck{<first tag file>}*/* ...*/* \inputwithcheck{<last tag file>} }! \indpg 153. -!\lastcitetag{<integer>}! \indpg 153. -!\makecitationlist! \indpg 153. -!\makelongcitationlist! \indpg 153. -!\openlistfile{<file extension>}! \indpg 156. -!\chtoc{<number>}{<title>}{<page number>}! \indpg 156. -!\chtocout! \indpg 157. -!\dssshtoc{<number>}{<title>}{<page number>}! \indpg 157. -!\intdssshtoc! \indpg 157. -!\dssshtocout! \indpg 157. -!\figtoc{<number>}{<title>}{<page number>}! \indpg 157. -!\figtocout! \indpg 157. -!\inputfigfiles! \indpg 157. -!\inputtblfiles! \indpg 157. -!\inputtocfiles! \indpg 158. -!\makefiglist! \indpg 158. -!\maketbllist! \indpg 158. -!\maketoclist! \indpg 158. -!\newtocfile! \indpg 158. -!\prtoc{<title>}{<page number>}! \indpg 158. -!\prtocout! \indpg 158. -!\shtoc{<number>}{<title>}{<page number>}! \indpg 159. -!\sshtoc{<number>}{<title>}{<page number>}! \indpg 159. -!\ssshtoc{<number>}{<title>}{<page number>}! \indpg 159. -!\intssshtoc! \indpg 159. -!\shtocout! \indpg 159. -!\sshtocout! \indpg 159. -!\ssshtocout! \indpg 159. -!\tbltoc<number>}{<title>}{<page number>}! \indpg 159. -!\tbltocout! \indpg 159. -!\tocbox{<indent>}{<number>}{<title>}{<pagenumber>}! \indpg 159. -!\tocfill! \indpg 160. -!\writelistfile{<file extension}{\string\..toc}{<number>}{<arg>}! \indpg 160. -!\folio! \indpg 162. -!\uppercase\folio! \indpg 162. -!\nopagenumberadvance! \indpg 162. -!\pagenumber [=] <new page number>! \indpg 162. -!\romanpagenumber [=] <new page number>! \indpg 163. -!\vheadersize = <dimen>! \indpg 163. -!\vfootersize = <dimen>! \indpg 163. -!\documentstyle! \indpg 163. -!\blankheaderstyle \blankfooterstyle! \indpg 163. -!\documentstyle{<list of style types>}! \indpg 163. -!\fullpagestyle! \indpg 163. -!\noheaderstyle \nofooterstyle! \indpg 164. -!\normalheaderstyle \normalfooterstyle! \indpg 164. -!\normalpagestyle! \indpg 164. -!\specialheaderstyle \specialfooterstyle! \indpg 164. -!\specialpagestyle! \indpg 164. -!\titlepagestyle! \indpg 164. -!\headertext [=] {<token list>}! \indpg 164. -!\footertext [=] {<token list>}! \indpg 164. -!\specialheadertext [=] {<token list>}! \indpg 164. -!\specialfootertext [=] {<token list>}! \indpg 164. -!\vheadersize [=] <dimen>! \indpg 165. -!\vfooterersize [=] <dimen>! \indpg 165. -!\documentstyle! \indpg 167. -!\documentstyle! \indpg 167. -!\houterpagesize! \indpg 167. -!\hpapersize! \indpg 167. -!\leftmarginsize! \indpg 167. -!\leftmarginskip! \indpg 167. -!\topmarginsize! \indpg 167. -!\topmarginskip! \indpg 167. -!\vouterpagesize! \indpg 167. -!\vpapersize! \indpg 167. -!\vouterpagesize! \indpg 169. -!\houterpagesize! \indpg 169. -!\vpapersize! \indpg 169. -!\hpapersize! \indpg 169. -!\vsize! \indpg 169. -!\hsize! \indpg 169. -!\<dimen name> [=] <dimen>! \indpg 169. -!\mag [=] <1000 times scale factor>! \indpg 170. -!\magstep<integer>! \indpg 170. -!\leftcolumnoffset! \indpg 171. -!\vcolumnsize! \indpg 171. -!\hcolumnsize! \indpg 171. -!\vinnerpagesize! \indpg 171. -!\hinnerpagesize! \indpg 171. -!\inputsubdocument{<file name>}! \indpg 175. -!\following\...hnum! \indpg 176. -!\subdocumentmacros{<macros for subdocument>}! \indpg 176. -!\beginabstract...\endabstract! \indpg 178. -!\title{<first row>\cr ... <last row>}! \indpg 178. -!\formatinrs! \indpg 178. -!\inrsreportstyle! \indpg 178. -!\move h:<..> v:<..>! \indpg 184. -!\lvec h:<..> v:<..>! \indpg 184. -!\clvec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..>! \indpg 185. -!\clv (<h1> <v1>) (<h2> <v2>) (<h3> <v3>)! \indpg 185. -!\penwidth <size>! \indpg 185. -!\linecap <integer>! \indpg 185. -!\linejoin <integer>! \indpg 185. -!\lpatt p:<pattern>! \indpg 185. -!\avec h:<..> v:<..>! \indpg 186. -!\cavec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..>! \indpg 186. -!\cav (<h1> <v1>) (<h2> <v2>) (<h3> <v3>) ! \indpg 186. -!\arrowheadtype t:<type>! \indpg 186. -!\arrowheadsize l:<length> w:<width>! \indpg 186. -!\arrowheadscale! \indpg 186. -!\unitscale <scale>! \indpg 187. -!\htext {<text>}! \indpg 189. -!\vtext {<text>}! \indpg 189. -!\rtext d:<degrees> t:{<text>}! \indpg 189. -!\rstext d:<degrees> sc:<scale> t:{<text>}! \indpg 189. -!\textref h:<L C R> v:<T C B>! \indpg 190. -!\lcir r:<radius>! \indpg 193. -!\arcc r:<radius> sd:<degrees> ed:<degrees>! \indpg 193. -!\arcn r:<radius> sd:<degrees> ed:<degrees>! \indpg 193. -!\pfill p:<fraction>! \indpg 193. -!\beginsegment! \indpg 197. -!\endsegment! \indpg 197. -!\unitscale <scale>! \indpg 197. -!\segmentscale <scale>! \indpg 197. -!\absoluteposition! \indpg 197. -!\relativeposition! \indpg 197. -!\input inrssl! \indpg 200. -!\fullform! \indpg 200. -!\textform! \indpg 200. -!\formscale <scale>! \indpg 200. -!\hslide <title> // <text> //! \indpg 201. -!\comment <text> //! \indpg 201. -!\inrsform! \indpg 201. -!\genform! \indpg 201. -!\topdata ={<text>}! \indpg 201. -!\botdata = {<b-text>}! \indpg 201. -!\slidedate = {<s-date>}! \indpg 201. -!\iftextform <...> \else <...> \fi! \indpg 201. -!\lb \lc \last! \indpg 201. -!\hd{<text>}! \indpg 201. -!\begintexgraph \btg! \indpg 202. -!\endtexgraph \etg! \indpg 202. -!\graphdim <units>! \indpg 202. -!\hgraphsize! \indpg 202. -!\hgraphskip! \indpg 202. -!\hpix <number>/<unit>! \indpg 202. -!\vgraphsize! \indpg 202. -!\vgraphskip! \indpg 202. -!\vpix <number>/<unit>! \indpg 202. diff --git a/macros/inrstex/inrsdoc/masth.sor b/macros/inrstex/inrsdoc/masth.sor deleted file mode 100644 index c856337082..0000000000 --- a/macros/inrstex/inrsdoc/masth.sor +++ /dev/null @@ -1,809 +0,0 @@ -\2~ \indpg 99. -\2\1: \indpg 99. -\2+ \indpg 63. -\2\1- \indpg 99. -\2- \indpg 63. -\2= \indpg 63. -\2< \indpg 63. -\2> \indpg 63. -\2\1aa, \1AA \indpg 14. -\2\1above.. \1atop.. \1over.. functions - {<parm1> \1atop <parm2>} - {<parm1> \1choose <parm2>} - {<parm1> \1over <parm2>} - {<parm1> \1atopwithdelims<left delim><right delim> <parm2>} - {<parm1> \1overwithdelims<left delim><right delim> <parm2>} - {<parm1> \1abovewithdelims<left delim><right delim> - <bar thickness> <parm2>} \indpg 71. -\2\1absoluteposition \indpg 197. -\2\1advance \1<count, dimen, glue name> by [+ -]<count, dimen, glue> \indpg 40. -\2\1ae, \1AE \indpg 14. -\2\1aleph \indpg 63. -\2\1allowbreak \indpg 57. -\2\1Alphabetic{<integer>} \indpg 138. -\2\1alphabetic{<integer>} \indpg 138. -\2\1alpha {\1rm A} A \indpg 62. -\2\1amalg \indpg 63. -\2\1aneq \1aneqtag{<tag>} \indpg 144. -\2\1angle \indpg 63. -\2\1Appendix \indpg 137. -\2\1approx \indpg 63. -\2\1arccos \indpg 68. -\2\1arcc r:<radius> sd:<degrees> ed:<degrees> \indpg 193. -\2\1arcn r:<radius> sd:<degrees> ed:<degrees> \indpg 193. -\2\1arcsin \indpg 68. -\2\1arctan \indpg 68. -\2\1arg \indpg 68. -\2\1arrowheadscale \indpg 186. -\2\1arrowheadsize l:<length> w:<width> \indpg 186. -\2\1arrowheadtype t:<type> \indpg 186. -\2\1ast \indpg 63. -\2\1asymp \indpg 64. -\2\1autoeqnum \indpg 142. -\2\1autofignum \indpg 142. -\2\1autonumberingon \indpg 145. -\2\1autonumberingoff \indpg 145. -\2\1autoreferencingon \indpg 145. -\2\1autoreferencingingoff \indpg 145. -\2\1autotblnum \indpg 142. -\2\1auto<type>num{<tag>} \indpg 145. -\2\1avec h:<..> v:<..> \indpg 186. -\2\1backslash \indpg 66. -\2\1backslash \indpg 64. -\2\1balancecolumnsize - [=] <column length> \indpg 132. -\2\1beginabstract...\1endabstract \indpg 178. -\2\1beginappendices \1endappendices \indpg 137. -\2\1beginlist \1bl \indpg 114. -\2\1beginmidinsert \indpg 127. -\2\1beginmulticolumnformat \indpg 132. -\2\1beginpageinsert \indpg 127. -\2\1beginprelude \1endprelude \indpg 138. -\2\1beginsegment \indpg 197. -\2\1beginsublist \1bsl \indpg 114. -\2\1beginsubsublist \1bssl \indpg 114. -\2\1begintable ... \1endtable \indpg 100. -\2\1begintableformat ... \1endtableformat \indpg 100. -\2\1begintexgraph \1btg \indpg 202. -\2\1begintopinsert \indpg 127. -\2\1beginttverbatim \indpg 55. -\2\1beta {\1rm B} B \indpg 62. -\2\1bf \indpg 35. -\2\1big\1Arrowvert \indpg 66. -\2\1big\1arrowvert \indpg 66. -\2\1big\1bracevert \indpg 66. -\2\1bigbreak \indpg 57. -\2\1bigcap \indpg 64. -\2\1bigcirc \indpg 64. -\2\1bigcup \indpg 64. -\2\1bigfont \indpg 35. -\2\1biggfont \indpg 35. -\2\1bigggfont \indpg 35. -\2\1biggl \indpg 67. -\2\1Biggl \indpg 67. -\2\1biggr \indpg 67. -\2\1Biggr \indpg 67. -\2\1big\1lgroup \indpg 66. -\2\1bigl \indpg 67. -\2\1big\1lmoustache \indpg 66. -\2\1bigodot \indpg 64. -\2\1bigoplus \indpg 64. -\2\1bigotimes \indpg 64. -\2\1big\1rgroup \indpg 66. -\2\1bigr \indpg 67. -\2\1Bigr \indpg 67. -\2\1big\1rmoustache \indpg 66. -\2\1bigskip \indpg 55. -\2\1bigsqcup \indpg 64. -\2\1bigtriangledown \indpg 64. -\2\1bigtriangleup \indpg 64. -\2\1biguplus \indpg 64. -\2\1bigvee \indpg 64. -\2\1bigwedge \indpg 64. -\2\1blankheaderstyle \1blankfooterstyle \indpg 163. -\2\1bordermatrix{<top 0>&<top 1>&<top 2>&...&<top n>\1cr - <side 1>&<first row>\1cr - ... - <side m>&<last row>\1cr} \indpg 73. -\2\1botdata = {<b-text>} \indpg 201. -\2\1bot \indpg 64. -\2\1bowtie \indpg 64. -\2\1box dimensions ... \1dp \1ht \1wd \indpg 83. -\2\1boxit{<line thickness>}{<border separation>}{<box, vlist>} \indpg 82. -\2\1boxmaxdepth [=] <dimen> \indpg 82. -\2\1box{<named box>} \indpg 82. -\2<box spec> \indpg 83. -\2\1break \indpg 57. -\2\1br{<rules..>} \1er{<rules..>} \indpg 100. -\2\1buildrel <superscript> \1over <relation> \indpg 68. -\2\1bullet \indpg 64. -\2\1bye \indpg 22. -\2\1bye \indpg 58. -\2\1cap \indpg 64. -\2\1captionbodyfont \indpg 36. -\2\1captionbody{<text>} \indpg 127. -\2\1captionbodyon \1captionbodyoff \indpg 127. -\2\1captionbodyfont \indpg 127. -\2\1captionbox{<number text>}{<title>} \indpg 127. -\2\1captionnumfont \indpg 36. -\2\1captionnumfont \indpg 128. -\2\1captionskip [=] <dimen> \indpg 128. -\2\1captiontextfraction \indpg 128. -\2\1captiontitlefont \indpg 128. -\2\1captiontitlefont \indpg 36. -\2\1cases{<first math>&<first condition>\1cr - ... - <last math>&<last condition>\1cr} \indpg 74. -\2\1cavec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..> \indpg 186. -\2\1cav (<h1> <v1>) (<h2> <v2>) (<h3> <v3>) \indpg 186. -\2\1cdot \indpg 64. -\2\1center \1center{<argument>} \indpg 101. -\2\1centerline{<horizontal list>} \indpg 82. -\2\1Chapter \indpg 138. -\2\1chapterstartform = {<special pre chapter tests>} \indpg 138. -\2\1cheadfont \indpg 35. -\2\1cheadformat{<chapter>}{<text>} \indpg 140. -\2\1chead{<number or tag>}{<title>} \indpg 137. -\2\1chi {\1rm X} X \indpg 63. -\2\1chtagreplaceformat \indpg 139. -\2\1chtoc{<number>}{<title>}{<page number>} \indpg 156. -\2\1chtocout \indpg 157. -\2\1circ \indpg 64. -\2\1cite{<citation tag>} \indpg 151. -\2\1citeform{<citation tag>}{<TeX macro form>} \indpg 152. -\2\1citenum \indpg 151. -\2\1citetagvalue \indpg 152. -\2\1cleartabs \indpg 96. -\2\1closecitationtagfile \indpg 152. -\2\1clubsuit \indpg 64. -\2\1clvec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..> \indpg 185. -\2\1clv (<h1> <v1>) (<h2> <v2>) (<h3> <v3>) \indpg 185. -\2\1comment <text> // \indpg 201. -\2\1cong \indpg 64. -\2\1coprod \indpg 64. -\2\1copy{<named box>} \indpg 82. -\2\1copyright \indpg 14. -\2\1cosh \indpg 68. -\2\1cos \indpg 68. -\2\1coth \indpg 68. -\2\1cot \indpg 68. -\2\1<count name> [=] <integer, dimen, glue> \indpg 39. -\2\1csc \indpg 68. -\2\1cup \indpg 64. -\2\1dagger \indpg 64. -\2\1dag \indpg 14. -\2\1dashv \indpg 64. -\2\1ddagger \indpg 64. -\2\1ddag \indpg 14. -\2\1def\1<def name> <parameter form>{<replacement text>} \indpg 108. -\2\1deg \indpg 68. -\2\1delta \1Delta {\1mit\1Delta} \indpg 62. -\2\1det \indpg 68. -\2\1diamond \indpg 64. -\2\1diamondsuit \indpg 64. -\2\1dimen\1footins [=] <dimen> \indpg 118. -\2\1<dimen name> [=] < dimen, glue> \indpg 39. -\2\1<dimen name> [=] <dimen> \indpg 169. -\2\1dim \indpg 68. -\2\1discretionary{<pre break text>}{<post break text>}{<text>} \indpg 58. -\2\1discretionary{<prebreak text>}{<postbreak text>}{<nobreak text>} \indpg 47. -\2\1displaymath{<argument>} \indpg 101. -\2\1divide \1<count, dimen, glue name> by [+ -]<integer> \indpg 40. -\2\1div \indpg 64. -\2\1documentstyle{<list of style types>} \indpg 163. -\2\1documentstyle \indpg 167. -\2\1documentstyle \indpg 163. -\2\1documentstyle{<font family>} \indpg 36. -\2\1documentstyle \indpg 167. -\2\1done \indpg 58. -\2\1done \indpg 23. -\2\1doteq \indpg 64. -\2\1dots ... \1cdot \1cdots \1ldots \1ddots \indpg 77. -\2\1downarrow \indpg 64. -\2\1Downarrow \indpg 64. -\2\1dp<named box> [=] <dimen> - \1ht<named box> [=] <dimen> - \1wd<named box> [=] <dimen> \indpg 83. -\2\1draftversion \indpg 23. -\2\1dsssheadfont \indpg 36. -\2\1dssshead{<title>} \indpg 137. -\2\1dssshtoc{<number>}{<title>}{<page number>} \indpg 157. -\2\1dssshtocout \indpg 157. -\2DVIALW Command line options \indpg 24. -\2\1ehyph \indpg 23. -\2\1eightpoint \indpg 35. -\2\1ejectcolumn \indpg 132. -\2\1ejectcolumn \indpg 58. -\2\1eject \indpg 58. -\2\1ejectinserts \indpg 128. -\2\1ejectpage \indpg 132. -\2\1ejectpage \indpg 58. -\2\1ell \indpg 64. -\2\1emptyset \indpg 64. -\2\1end \indpg 58. -\2\1end \indpg 23. -\2\1endlist \1el \indpg 114. -\2\1endmidinsert \indpg 128. -\2\1endmulticolumnformat \indpg 132. -\2\1endnarrowtext \indpg 47. -\2\1endpageinsert \indpg 128. -\2\1endsegment \indpg 197. -\2\1endsublist \1esl \indpg 114. -\2\1endsubsublist \1essl \indpg 114. -\2\1endtexgraph \1etg \indpg 202. -\2\1endtopinsert \indpg 128. -\2\1endttverbatim \indpg 55. -\2\1englishversion \1ehyph \indpg 23. -\2\1enskip \indpg 55. -\2\1epsilon {\1rm E} E \indpg 62. -\2\1eqalign ... - \1eqalign{ <left first row> &<right first row>\1cr - ... - <left last row> &<right last row>\1cr} - \1eqalignno{<left first row> &<right first row>&<first eq.no>\1cr - ... - <left last row> &<right last row>&<last eq.no>\1cr} - \1leqalignno{<left first row>&<right first row>&<first eq.no>\1cr - ... - <left last row> &<right last row>&<last eq.no>\1cr} \indpg 74. -\2\1eqno <reference> \1leqno <reference> \indpg 76. -\2\1equiv \indpg 64. -\2\1eta {\1rm H} H \indpg 62. -\2\1everyfootnote = {<token list>} \indpg 118. -\2\1everyhbox = {<token list>} \indpg 83. -\2\1everylist [=] {<token list>} \indpg 114. -\2\1everyparagraph [=] {<token string>} \indpg 47. -\2\1everysublist [=] {<token list>} \indpg 114. -\2\1everysubsublist [=] {<token list>} \indpg 115. -\2\1everytable \indpg 101. -\2\1everyvbox = {<token list>} \indpg 83. -\2\1exists \indpg 64. -\2\1exp \indpg 68. -\2\1fhyph \indpg 24. -\2\1figtoc{<number>}{<title>}{<page number>} \indpg 157. -\2\1figtocout \indpg 157. -\2\1figureform{<tag or number>}{<title>}{<figure box>} \indpg 128. -\2\1figureinsert{<tag or number>}{<title>}{<figure box>} \indpg 129. -\2\1figurelabel \indpg 129. -\2\1filbreak \indpg 58. -\2\1finalversion \indpg 23. -\2\1firstcolumnoffset - [=] <dimen> \indpg 133. -\2\1fivebf \indpg 34. -\2\1fivei \indpg 34. -\2\1fiverm \indpg 34. -\2\1flat \indpg 64. -\2\1folio \indpg 162. -\2\1following\1...hnum \indpg 176. -\2\1font\1<fontname> [scaled <number>] \indpg 34. -\2\1footerfont \indpg 36. -\2\1footertext [=] {<token list>} \indpg 164. -\2\1footnotefont \indpg 36. -\2\1footnotefont \indpg 118. -\2\1footnote{<math mode mark>}{<text>} \indpg 118. -\2\1footnoterule \indpg 118. -\2\1forall \indpg 64. -\2\1formatinrs \indpg 178. -\2\1formscale <scale> \indpg 200. -\2\1frown \indpg 64. -\2\1fullform \indpg 200. -\2\1fullpagestyle \indpg 163. -\2\1fulltablerule{<dimen>} \indpg 101. -\2\1gamma \1Gamma {\1mit\1Gamma} \indpg 62. -\2\1gcd \indpg 68. -\2\1gdef\1<def name> <parameter form>{<replacement text>} \indpg 109. -\2\1ge \indpg 64. -\2\1genform \indpg 201. -\2\1gensheadformat{<font>}{<number>}{<text>}{<separator>} \indpg 140. -\2\1geq \indpg 64. -\2\1gg \indpg 64. -\2\1global \indpg 109. -\2\1goodbreak \indpg 58. -\2\1graphdim <units> \indpg 202. -\2\1halign{<preamble>\1cr <first row>\1cr ... <last row>\1cr} \indpg 96. -\2\1hangafter [+ -] <integer> \indpg 48. -\2\1hangindent [=] [+ -] <dimen> \indpg 48. -\2\1hbar \indpg 64. -\2\1hbox <box spec>{<horizontal list>} \indpg 83. -\2\1hcolumnsize \indpg 171. -\2\1hd{<text>} \indpg 201. -\2\1headerfont \indpg 36. -\2\1headertext [=] {<token list>} \indpg 164. -\2\1<head type>headfont \indpg 138. -\2\1heartsuit \indpg 64. -\2\1hfil \1hfill \indpg 42. -\2\1hfilneg \indpg 42. -\2\1hfuzz [=] <dimen> \indpg 31. -\2\1hgraphsize \indpg 202. -\2\1hgraphskip \indpg 202. -\2\1hidewidth \indpg 97. -\2\1hinnerpagesize \indpg 171. -\2\1hom \indpg 68. -\2\1hookleftarrow \indpg 64. -\2\1hookrightarrow \indpg 64. -\2\1houterpagesize \indpg 169. -\2\1houterpagesize \indpg 167. -\2\1hpapersize \indpg 167. -\2\1hpapersize \indpg 169. -\2\1hpix <number>/<unit> \indpg 202. -\2\1hprintoffset = <dimen> \indpg 21. -\2\1hrule [height <dimen>] [width <dimen>] [depth <dimen>] \indpg 84. -\2\1hsize \indpg 169. -\2\1hskip [+ -] <dimen> [plus <dimen>] [minus <dimen>] \indpg 56. -\2\1hslide <title> // <text> // \indpg 201. -\2\1hss \indpg 42. -\2\1htext {<text>} \indpg 189. -\2\1hyphenatecapitals [=] <integer> \indpg 48. -\2\1hyphenation{<exceptions>} \indpg 23. -\2\1ialign{<preamble>\1cr <first row>\1cr ... <last row>\1cr} \indpg 97. -\2\1iftextform <...> \1else <...> \1fi \indpg 201. -\2\1i \indpg 14. -\2\1imath \indpg 64. -\2\1Im \indpg 64. -\2\1indent \indpg 48. -\2\1inf \indpg 68. -\2\1infty \indpg 64. -\2\1in \indpg 64. -\2\1initcitetag{<integer>} \indpg 152. -\2\1inputciteformfiles - [=] { \1inputwithcheck{<first form file>} - ... - \1inputwithcheck{<last form file>} } \indpg 152. -\2\1inputcitetagfiles - [=] { \1inputwithcheck{<first tag file>} - ... - \1inputwithcheck{<last tag file>} } \indpg 153. -\2\1inputfigfiles \indpg 157. -\2\1input inrssl \indpg 200. -\2\1inputsubdocument{<file name>} \indpg 175. -\2\1inputtagfiles [=] {<input command><file name> ...} \indpg 145. -\2\1inputtblfiles \indpg 157. -\2\1inputtocfiles \indpg 158. -\2\1inrsform \indpg 201. -\2\1inrsreportstyle \indpg 178. -\2\1intdssshtoc \indpg 157. -\2\1intercolumnsep - [=] {<token list>} \indpg 133. -\2\1int \indpg 64. -\2\1intssshtoc \indpg 159. -\2\1iota {\1rm I} I \indpg 63. -\2\1item \indpg 115. -\2\1itemitem \indpg 115. -\2\1it \indpg 35. -\2{\1it\1$} \indpg 14. -\2{\1it\1&} \indpg 14. -\2\1j \indpg 14. -\2\1jmath \indpg 64. -\2\1jobname \indpg 20. -\2\1kappa {\1rm K} K \indpg 63. -\2\1ker \indpg 68. -\2\1kern [+ -] <dimen> \indpg 56. -\2\1lambda \1Lambda {\1mit\1Lambda} \indpg 63. -\2\1land \indpg 65. -\2\1langle \indpg 66. -\2\1language [=] <integer> \indpg 23. -\2\1lastcitetag{<integer>} \indpg 153. -\2\1lb \1lc \1last \indpg 201. -\2\1lbrace \indpg 66. -\2\1lbrack \indpg 66. -\2\1lceil \indpg 66. -\2\1lcir r:<radius> \indpg 193. -\2\1Leftarrow \indpg 64. -\2\1leftarrow \indpg 64. -\2\1leftcolumnoffset \indpg 171. -\2$\1left<delimiter> ...\1right<delimiter>$ \indpg 67. -\2\1leftequationnumbering \1rightequationnumbering \indpg 76. -\2\1leftharpoondown \indpg 64. -\2\1leftharpoonup \indpg 64. -\2\1left \indpg 101. -\2\1leftline{<horizontal list>} \indpg 82. -\2\1leftmarginsize \indpg 167. -\2\1leftmarginskip \indpg 167. -\2\1leftrightarrow \indpg 64. -\2\1Leftrightarrow \indpg 64. -\2\1leftskip [=] <dimen> [plus <dimen>] [minus <dimen>] \indpg 48. -\2\1le \indpg 64. -\2\1leq \indpg 64. -\2\1let\1<def a> [=] \1<def b> \indpg 109. -\2\1lfloor \indpg 66. -\2\1lg \indpg 68. -\2\1lim \indpg 68. -\2\1liminf \indpg 68. -\2\1limsup \indpg 68. -\2\1linebreak \indpg 58. -\2\1linecap <integer> \indpg 185. -\2\1line{<horizontal list>} \indpg 82. -\2\1linejoin <integer> \indpg 185. -\2\1listindent [=] <dimen> \indpg 116. -\2\1listitem <listitem mark> \indpg 115. -\2\1listitemmarksize [=] <dimen> \indpg 116. -\2\1listitemskip [=] <glue> \indpg 116. -\2\1llap{<text>} \indpg 84. -\2\1ll \indpg 64. -\2\1l, \1L \indpg 14. -\2\1ln \indpg 68. -\2\1lnot \indpg 65. -\2\1log \indpg 68. -\2\1long \indpg 109. -\2\1Longleftarrow \indpg 64. -\2\1longleftarrow \indpg 64. -\2\1longleftrightarrow \indpg 64. -\2\1Longleftrightarrow \indpg 64. -\2\1longmapsto \indpg 64. -\2\1Longrightarrow \indpg 64. -\2\1longrightarrow \indpg 64. -\2\1looseness [=] [+ -] <integer> \indpg 49. -\2\1loosenlist \indpg 115. -\2\1lor \indpg 65. -\2\1lower<dimen><box> \indpg 84. -\2\1lpatt p:<pattern> \indpg 185. -\2\1lvec h:<..> v:<..> \indpg 184. -\2\1magstep<integer> \indpg 170. -\2\1mag [=] <1000 times scale factor> \indpg 170. -\2\1makecitationlist \indpg 153. -\2\1makefiglist \indpg 158. -\2\1makelongcitationlist \indpg 153. -\2\1maketbllist \indpg 158. -\2\1maketoclist \indpg 158. -\2\1mapsto \indpg 64. -\2\1marginnotestrue \indpg 24. -\2\1marginnotesfalse \indpg 24. -\2\1math{<argument>} \indpg 102. -\2\1mathopen{<dimen or glue>} \indpg 77. -\2\1matrix{<entry 11>&<entry 12>&...&<entry 1n>\1cr - <second row>\1cr - ... - <last row> \1cr} - \1pmatrix{<several rows>\1cr} \indpg 78. -\2\1max \indpg 68. -\2\1medbreak \indpg 58. -\2\1medmuskip \indpg 42. -\2\1medskip \indpg 56. -\2\1mid \indpg 64. -\2\1midtabglue [=] <glue> \indpg 102. -\2\1min \indpg 68. -\2\1mkern [+ -] <decimal number>mu \indpg 56. -\2\1models \indpg 64. -\2\1modifystrut{<original>}{<add to height>}{<add to depth>} -\1mst = \1modifystrut \indpg 102. -\2\1move h:<..> v:<..> \indpg 184. -\2\1mp \indpg 64. -\2\1mskip [+ -] <mudimen> [plus <mudimen>] [minus <mudimen>] \indpg 56. -\2\1multiply \1<count, dimen, glue name> by [+ -]<integer> \indpg 40. -\2\1multispan {<integer>} \indpg 97. -\2\1mu {\1rm M} M \indpg 63. -\2\1nabla \indpg 64. -\2\1natural \indpg 64. -\2\1nearrow \indpg 65. -\2\1neg \indpg 65. -\2\1newautonum{<type>} \indpg 146. -\2\1newcount\1<count name> \indpg 38. -\2\1newdimen\1<dimen name> \indpg 38. -\2\1newmuskip\1<muskip name> \indpg 42. -\2\1newptag{<tag>} \indpg 146. -\2\1newskip\1<skip name> \indpg 42. -\2\1newskip\1<skip or glue name> \indpg 39. -\2\1newtag{<tag>}{<tag value>} \indpg 146. -\2\1newtocfile \indpg 158. -\2\1newttag{<tag>}{<tag value>} \indpg 146. -\2\1ni \indpg 65. -\2\1ninepoint \indpg 35. -\2\1noalign {<text>} \indpg 98. -\2\1noalign {<text>} \indpg 76. -\2\1nobreak \indpg 58. -\2\1noheaderstyle \1nofooterstyle \indpg 164. -\2\1noindent \indpg 49. -\2\1nopagenumberadvance \indpg 162. -\2\1normalheaderstyle \1normalfooterstyle \indpg 164. -\2\1normalpagestyle \indpg 164. -\2\1not\1approx \indpg 63. -\2\1not\1cong \indpg 64. -\2\1not\1equiv \indpg 64. -\2\1not\1geq \indpg 64. -\2\1not\1gg \indpg 64. -\2\1not= \indpg 63. -\2\1not< \indpg 63. -\2\1not> \indpg 63. -\2\1not\1in \indpg 64. -\2\1not\1leq \indpg 64. -\2\1not\1ll \indpg 64. -\2\1not\1preceq \indpg 65. -\2\1not\1prec \indpg 65. -\2\1not\1simeq \indpg 65. -\2\1not\1sim \indpg 65. -\2\1not\1sqsubseteq \indpg 65. -\2\1not\1sqsupseteq \indpg 65. -\2\1not\1subseteq \indpg 65. -\2\1not\1subset \indpg 65. -\2\1not\1succeq \indpg 65. -\2\1not\1succ \indpg 65. -\2\1not\1supseteq \indpg 65. -\2\1not\1supset \indpg 65. -\2\1numberbychapter \indpg 146. -\2\1numberbysection \indpg 146. -\2\1numberofcolumns - [=] <integer> \indpg 133. -\2\1nu {\1rm N} N \indpg 63. -\2\1nwarrow \indpg 65. -\2\1oalign{<first row>\1cr ... &<last row>\1cr} \indpg 98. -\2\1obeylines \indpg 49. -\2\1obeyspaces \indpg 49. -\2\1odot \indpg 65. -\2\1oe, \1OE \indpg 14. -\2\1oint \indpg 65. -\2\1omega \1Omega {\1mit\1Omega} \indpg 63. -\2\1ominus \indpg 65. -\2\1omit \indpg 98. -\2\1o, \1O \indpg 14. -\2\1openlistfile{<file extension>} \indpg 156. -\2\1openup <dimen> \indpg 77. -\2\1oplus \indpg 65. -\2\1oslash \indpg 65. -\2\1otimes \indpg 65. -\2\1outer \indpg 109. -\2\1overfullrule [=] <dimen> \indpg 31. -\2\1over ... \1under ... - \1overline{<math>} \1underline{<math>} - \1overbrace{<math>} \1underbrace{<math>} \indpg 77. -\2\1owns \indpg 65. -\2\1pagenumber [=] <new page number> \indpg 162. -\2\1pagequietref{<tag>} \1pqref{<tag>} \indpg 146. -\2\1pageref{<tag>} \1pref{<tag>} \indpg 147. -\2\1pagetagsoff \indpg 142. -\2\1pagetagson \indpg 142. -\2\1pagetagson \1pagetagsoff \indpg 147. -\2\1paragraphcenterline \indpg 50. -\2\1parallel \indpg 65. -\2\1parindent [=] <dimen> \indpg 50. -\2\1par \indpg 50. -\2\1parshape <number of lines> <indent 1> <line length 1> - ... <indent n> <line length n> \indpg 50. -\2\1parskip [=] <dimen> \indpg 51. -\2\1partial \indpg 65. -\2\1penaltybreak{<penalty>}{<skip size>} \indpg 59. -\2\1penwidth <size> \indpg 185. -\2\1perp \indpg 65. -\2\1pfill p:<fraction> \indpg 193. -\2\1phantom{<math>} \1vphantom{<math>} \1sphantom{<hlist>} \indpg 78. -\2\1phi \1Phi {\1mit\1Phi} \indpg 63. -\2\1P \indpg 14. -\2\1pi \1Pi {\1mit\1Pi} \indpg 63. -\2\1pm \indpg 65. -\2\1podsssheadskip [=] <glue> \indpg 139. -\2\1polistskip [=] <glue> \indpg 116. -\2\1posheadskip [=] <glue> \indpg 139. -\2\1possheadskip [=] <glue> \indpg 139. -\2\1posssheadskip [=] <glue> \indpg 139. -\2\1posublistskip [=] <glue> \indpg 116. -\2\1posubsublistskip [=] <glue> \indpg 116. -\2\1prdsssheadskip [=] <glue> \indpg 139. -\2\1preceq \indpg 65. -\2\1prec \indpg 65. -\2\1preludehead{<title>} \indpg 137. -\2\1preludeheadformat \indpg 139. -\2\1preludheadformat{<title>} \indpg 140. -\2\1pretolerance [=] <integer> \indpg 51. -\2\1prime \indpg 65. -\2\1Pr \indpg 68. -\2\1prlistskip [=] <glue> \indpg 116. -\2\1prod \indpg 65. -\2\1propto \indpg 65. -\2\1prsheadskip [=] <glue> \indpg 139. -\2\1prssheadskip [=] <glue> \indpg 139. -\2\1prsssheadskip [=] <glue> \indpg 139. -\2\1prsublistskip [=] <glue> \indpg 116. -\2\1prsubsublistskip [=] <glue> \indpg 116. -\2\1prtocout \indpg 158. -\2\1prtoc{<title>}{<page number>} \indpg 158. -\2\1psi \1Psi {\1mit\1Psi} \indpg 63. -\2\1quad \1qquad \indpg 56. -\2\1quietref{<tag>} \1qref{<tag>} \indpg 147. -\2\1raggedbottom \indpg 32. -\2\1raggedright \indpg 51. -\2\1raise<dimen><box> \indpg 84. -\2\1rangle \indpg 66. -\2\1rbrace \indpg 66. -\2\1rbrack \indpg 66. -\2\1rceil \indpg 66. -\2\1rect <horizontal dimen> by <vertical dimen> \indpg 129. -\2\1ref{<tag>} \indpg 147. -\2\1Re \indpg 65. -\2\1relativeposition \indpg 197. -\2\1rfloor \indpg 66. -\2\1rho {\1rm R} R \indpg 63. -\2\1Rightarrow \indpg 65. -\2\1rightarrow \indpg 65. -\2\1rightharpoondown \indpg 65. -\2\1rightharpoonup \indpg 65. -\2\1right \indpg 102. -\2\1rightleftharpoons \indpg 65. -\2\1rightline{<horizontal list>} \indpg 82. -\2\1rightskip [=] <dimen> [plus <dimen>] [minus <dimen>] \indpg 48. -\2\1rlap{<text>} \indpg 84. -\2\1rm \indpg 35. -\2\1romanpagenumber [=] <new page number> \indpg 163. -\2\1rstext d:<degrees> sc:<scale> t:{<text>} \indpg 189. -\2\1rtext d:<degrees> t:{<text>} \indpg 189. -\2\1samplemark{<listitem mark>} \indpg 115. -\2\1sa{<text>} \indpg 102. -\2<scale factor>\1dp<named box> - <scale factor>\1ht<named box> - <scale factor>\1wd<named box> \indpg 83. -\2\1searrow \indpg 65. -\2\1sec \indpg 68. -\2\1segmentscale <scale> \indpg 197. -\2\1setbox<named box> [=] <box>{<list>} \indpg 85. -\2\1setminus \indpg 65. -\2\1sfootnote{<math mode mark>}{<text>} \indpg 119. -\2\1sharp \indpg 65. -\2\1sheadfont \indpg 36. -\2\1shead{<number or tag>}{<title>} \indpg 137. -\2\1shtagreplaceformat \indpg 139. -\2\1shtoc{<number>}{<title>}{<page number>} \indpg 159. -\2\1shtocout \indpg 159. -\2\1sigma \1Sigma {\1mit\1Sigma} \indpg 63. -\2\1silent{<text>} \indpg 147. -\2{\1silenttrue \1auto...num{<tag>}} \indpg 143. -\2\1silenttrue \indpg 73. -\2\1simeq \indpg 65. -\2\1sim \indpg 65. -\2\1S \indpg 14. -\2\1sinh \indpg 68. -\2\1sin \indpg 68. -\2\1skip\1footins [=] <dimen> \indpg 118. -\2\1<skip or glue name> [=] <dimen> - [plus <dimen>] [minus<dimen>] \indpg 39. -\2\1slidedate = {<s-date>} \indpg 201. -\2\1smallbreak \indpg 59. -\2\1smallerfont \indpg 36. -\2\1smallskip \indpg 56. -\2\1smash{<math>} \indpg 78. -\2\1smile \indpg 65. -\2\1spacing {<decimal number>} \indpg 56. -\2\1spadesuit \indpg 65. -\2\1span \indpg 98. -\2\1specialfootertext [=] {<token list>} \indpg 164. -\2\1specialheadertext [=] {<token list>} \indpg 164. -\2\1specialheaderstyle \1specialfooterstyle \indpg 164. -\2\1specialnumberscontinuous \indpg 147. -\2\1specialpagestyle \indpg 164. -\2\1splitmaxdepth \indpg 85. -\2\1sprule \indpg 102. -\2\1sqcap \indpg 65. -\2\1sqcup \indpg 65. -\2\1sqrt{<math>} \indpg 78. -\2\1sqsubseteq \indpg 65. -\2\1sqsupseteq \indpg 65. -\2\1ssheadfont \indpg 36. -\2\1sshead{<number or tag>}{<title>} \indpg 137. -\2\1sshtoc{<number>}{<title>}{<page number>} \indpg 159. -\2\1sshtocout \indpg 159. -\2\1ss \indpg 14. -\2\1sssheadfont \indpg 36. -\2\1ssshead{<number or tag>}{<title>} \indpg 137. -\2\1ssshtoc{<number>}{<title>}{<page number>} \indpg 159. -\2\1ssshtocout \indpg 159. -\2\1star \indpg 65. -\2\1strut \indpg 85. -\2\1subdocumentmacros{<macros for subdocument>} \indpg 176. -\2\1sublistindent [=] <dimen> \indpg 116. -\2\1sublistitemskip [=] <glue> \indpg 116. -\2\1subseteq \indpg 65. -\2\1subset \indpg 65. -\2\1subsublistitemskip [=] <glue> \indpg 116. -\2\1subsublistindent [=] <dimen> \indpg 116. -\2\1succeq \indpg 65. -\2\1succ \indpg 65. -\2\1sum \indpg 65. -\2\1sup \indpg 68. -\2\1supseteq \indpg 65. -\2\1supset \indpg 65. -\2\1surd \indpg 65. -\2\1swarrow \indpg 65. -\2\1tabalign ... \1cr \indpg 96. -\2\1tableform{<tag or number>}{<title>}{<table>} \indpg 129. -\2\1tableinsert{<tag or number>}{<title>}{<figure box>} \indpg 129. -\2\1tablelabel \indpg 130. -\2\1tablespread = {<halign specification>} \indpg 103. -\2\1tanh \indpg 68. -\2\1tan \indpg 68. -\2\1tau {\1rm T} T \indpg 63. -\2\1tbltoc<number>}{<title>}{<page number>} \indpg 159. -\2\1tbltocout \indpg 159. -\2\1tcs \indpg 103. -\2\1tenpoint \indpg 35. -\2\1textform \indpg 200. -\2\1textref h:<L C R> v:<T C B> \indpg 190. -\2\1+<text>&<text> ... &<text>\1cr \indpg 96. -\2\1theta \1Theta {\1mit\1Theta} \indpg 62. -\2\1thickmuskip \indpg 43. -\2\1thinmuskip \indpg 43. -\2\1thrule{<height>} \indpg 103. -\2\1tightenlist \indpg 116. -\2\1times \indpg 65. -\2\1title{<first row>\1cr ... <last row>} \indpg 178. -\2\1titlepagestyle \indpg 164. -\2\1tocbox{<indent>}{<number>}{<title>}{<pagenumber>} \indpg 159. -\2\1tocfill \indpg 160. -\2\1tolerance [=] <integer> \indpg 51. -\2\1topdata ={<text>} \indpg 201. -\2\1top \indpg 65. -\2\1topmarginsize \indpg 167. -\2\1topmarginskip \indpg 167. -\2\1triangle \indpg 65. -\2\1triangleleft \indpg 65. -\2\1triangleright \indpg 65. -\2\1tr \indpg 103. -\2\1tt \indpg 35. -\2\1ttraggedright \indpg 51. -\2\1tvrule{<width>} \indpg 104. -\2\1twelvepoint \indpg 35. -\2\1<type>numform \indpg 142. -\2\1<type>num \indpg 142. -\2\1<type>tagrefformat \indpg 142. -\2\1<type>tagreplaceformat \indpg 142. -\2\1unhbox{<named hbox>} \indpg 85. -\2\1unhcopy{<named hbox>} \indpg 85. -\2\1unitscale <scale> \indpg 187. -\2\1unitscale <scale> \indpg 197. -\2<units of measure> - cm em ex in - mu pt sp \indpg 37. -\2\1unvbox{<named vbox>} \indpg 85. -\2\1unvcopy{<named vbox>} \indpg 85. -\2\1Uparrow \indpg 65. -\2\1uparrow \indpg 65. -\2\1updownarrow \indpg 65. -\2\1Updownarrow \indpg 65. -\2\1uplus \indpg 65. -\2\1up{<math mode mark>} \indpg 118. -\2\1uppercase\1folio \indpg 162. -\2\1UpperRoman{<integer>} \indpg 138. -\2\1upsilon \1Upsilon {\1mit\1Upsilon} \indpg 63. -\2\1use{<number of data columns>} \indpg 104. -\2\1valign{<preamble>\1cr <first column>\1cr ... <last column>\1cr} \indpg 98. -\2\1varepsilon \indpg 62. -\2\1varphi \indpg 63. -\2\1varpi \indpg 63. -\2\1vartheta \indpg 63. -\2\1vbox <box spec>{<vertical list>} \indpg 83. -\2\1vbox{\1hsize [=] <dimen> <text>} \indpg 84. -\2\1vcenter{<vertical list>} \indpg 85. -\2\1vcolumnsize \indpg 171. -\2\1vdash \indpg 65. -\2\1vee \indpg 65. -\2\1versionfrancaise \1fhyph \indpg 24. -\2\1Vert \indpg 65. -\2\1vert \indpg 65. -\2\1veryraggedright \indpg 51. -\2\1vfilneg \indpg 43. -\2\1vfil \1vfill \indpg 43. -\2\1vfooterersize [=] <dimen> \indpg 165. -\2\1vfootersize = <dimen> \indpg 163. -\2\1vfuzz [=] <dimen> \indpg 32. -\2\1vglue [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>] \indpg 56. -\2\1vgraphsize \indpg 202. -\2\1vgraphskip \indpg 202. -\2\1vheadersize [=] <dimen> \indpg 165. -\2\1vheadersize = <dimen> \indpg 163. -\2\1vinnerpagesize \indpg 171. -\2\1vouterpagesize \indpg 167. -\2\1vouterpagesize \indpg 169. -\2\1vpapersize \indpg 169. -\2\1vpapersize \indpg 167. -\2\1vpix <number>/<unit> \indpg 202. -\2\1vprintoffset = <dimen> \indpg 22. -\2\1vrule [height <dimen>] [width <dimen>] [depth <dimen>] \indpg 84. -\2\1vsize \indpg 169. -\2\1vskip [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>] \indpg 56. -\2\1vsplit<named box> to <dimen> \indpg 85. -\2\1vss \indpg 43. -\2\1vtext {<text>} \indpg 189. -\2\1wedge \indpg 65. -\2\1wp \indpg 65. -\2\1wr \indpg 65. -\2\1writelistfile{<file extension}{\1string\1..toc}{<number>}{<arg>} \indpg 160. -\2\1xi \1Xi {\1mit\1Xi} \indpg 63. -\2\1zerocenteredbox{<text>} - \1zb = \1zerocenteredbox \indpg 104. -\2\1zeta {\1rm Z} Z \indpg 62. \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/masth.sta b/macros/inrstex/inrsdoc/masth.sta deleted file mode 100644 index ad16d476fd..0000000000 --- a/macros/inrstex/inrsdoc/masth.sta +++ /dev/null @@ -1,32 +0,0 @@ -\chstatus//preface//0//3// -\chstatus//Intro//0//-4// -\chstatus//descom//1//7// -\chstatus//cont//2//10// -\chstatus//start//3//17// -\chstatus//bas//4//25// -\chstatus//over//5//30// -\chstatus//fonts//6//33// -\chstatus//dimnum//7//37// -\chstatus//glue//8//41// -\chstatus//parcont//9//44// -\chstatus//spac//10//52// -\chstatus//break//11//57// -\chstatus//matsym//12//60// -\chstatus//mateq//13//69// -\chstatus//basbox//14//79// -\chstatus//align//15//87// -\chstatus//defs//16//106// -\chstatus//lists//17//111// -\chstatus//footnot//18//117// -\chstatus//figtbl//19//120// -\chstatus//mulcol//20//131// -\chstatus//shead//21//134// -\chstatus//auto//22//141// -\chstatus//cite//23//148// -\chstatus//toc//24//154// -\chstatus//pagsty//25//161// -\chstatus//pagsiz//26//166// -\chstatus//subdoc//27//172// -\chstatus//docsty//28//177// -\chstatus//graph//29//179// -\chstatus//index//30//203// diff --git a/macros/inrstex/inrsdoc/masth.tex b/macros/inrstex/inrsdoc/masth.tex deleted file mode 100644 index 43da2a348f..0000000000 --- a/macros/inrstex/inrsdoc/masth.tex +++ /dev/null @@ -1,54 +0,0 @@ -%-*-tex-*- -%texhelp upper level master -\tracingstats=1 -\inputsubdocument{thcover} %coverpage -\input helphdr %POSTSCRIPT -\input status -\openstatusfile -%\finalversion -\hfuzz=5pt -\autonumberingon -\indexingon -\openlistfile{fig} -\openlistfile{toc} -\opencitationtagfile -\marginnotesfalse -\inputsubdocument{thp2} % preface, toc, intro, descriptive conv ** -\inputsubdocument{thcont} % control characters 3 ** -\marginnotestrue -\inputsubdocument{thstart} % starting stopping 4** -\marginnotesfalse -\inputsubdocument{thbas} % basic ideas 5** -\inputsubdocument{thover} % overfull boxes ** -\inputsubdocument{thfonts} % fonts 6** -\inputsubdocument{thdimnum} % dimensions, numbers 7** -\inputsubdocument{thglue} % glue 8** -\inputsubdocument{thparcon} % paragraph control 8+ -\inputsubdocument{thspac} % spacing and skipping 9** -\inputsubdocument{thbreak} % various breaks 10 ** -\inputsubdocument{thmatsym} % mathematics symbols12** -\inputsubdocument{thmateq} % mathematic equation setup13** -\inputsubdocument{thbasbox} % basic box commands14 ** -\inputsubdocument{thalign} % basic align 15 ** -\inputsubdocument{thdefs} % simple definitions 16 ** -\inputsubdocument{thlists} % list commands17** -\inputsubdocument{thftnote} % footnotes ... ** -\inputsubdocument{thfigtbl} % figure table boxes 20 ** -\inputsubdocument{thmulcol} % multicolumn format 21 ** -\inputsubdocument{thshead} % section heads 18 ** -\marginnotestrue -\inputsubdocument{thauto} % autonumbering 19 ** -\marginnotesfalse -\inputsubdocument{thcite} % citation lists ** -\inputsubdocument{thtoc} % toc, tof, .... ** -\inputsubdocument{thpagsty} % page, header, footer styles23 ** -\inputsubdocument{thpagsiz} % page sizes and magnification 22 ** -\inputsubdocument{thsubdoc} % texing parts of doc 24 ** -\inputsubdocument{thdocsty} % Document styles -\inputsubdocument{thgraph} % TeXGraph -\inputsubdocument{thindex} % Command index ... Appendix A -\closecitationtagfile -\closelistfile{toc} -\indexingoff -\done - diff --git a/macros/inrstex/inrsdoc/masth_chap b/macros/inrstex/inrsdoc/masth_chap deleted file mode 100644 index 9d686c8dd1..0000000000 --- a/macros/inrstex/inrsdoc/masth_chap +++ /dev/null @@ -1,32 +0,0 @@ -tex thcover -tex thp2 -tex thcont -tex thstart -tex thbas -tex thover -tex thfonts -tex thdimnum -tex thglue -tex thparcon -tex thspac -tex thbreak -tex thmatsym -tex thmateq -tex thbasbox -tex thalign -tex thdefs -tex thlists -tex thftnote -tex thfigtbl -tex thmulcol -tex thshead -tex thauto -tex thcite -tex thtoc -tex thpagsty -tex thpagsiz -tex thsubdoc -tex thdocsty -tex thgraph -tex thindex - diff --git a/macros/inrstex/inrsdoc/mastoc.tex b/macros/inrstex/inrsdoc/mastoc.tex deleted file mode 100644 index e7e0738b94..0000000000 --- a/macros/inrstex/inrsdoc/mastoc.tex +++ /dev/null @@ -1,19 +0,0 @@ -%-*-tex-*- -\subdocumentmacros{ - \input helphdr -} -\tenpoint -\romanpagenumber = 2 -\inputtocfiles = {\inputwithcheck{masth.toc}} -\righttocindent = 5em -\beginprelude -\begingroup -\def\ftn{}%footnote problem -\def\cr{ }%\cr print problem -\let\twelvett=\tentt % ugh! -\preludehead{Table of Contents} -\maketoclist -\endgroup -\ejectpage -\endprelude -\done diff --git a/macros/inrstex/inrsdoc/mastps b/macros/inrstex/inrsdoc/mastps deleted file mode 100644 index aa660fdc61..0000000000 --- a/macros/inrstex/inrsdoc/mastps +++ /dev/null @@ -1,31 +0,0 @@ -dvips thcover -dvips thp2 -dvips thcont -dvips thstart -dvips thbas -dvips thover -dvips thfonts -dvips thdimnum -dvips thglue -dvips thparcon -dvips thspac -dvips thbreak -dvips thmatsym -dvips thmateq -dvips thbasbox -dvips thalign -dvips thdefs -dvips thlists -dvips thftnote -dvips thfigtbl -dvips thmulcol -dvips thshead -dvips thauto -dvips thcite -dvips thtoc -dvips thpagsty -dvips thpagsiz -dvips thsubdoc -dvips thdocsty -dvips thgraph -dvips thindex diff --git a/macros/inrstex/inrsdoc/mjf.tex b/macros/inrstex/inrsdoc/mjf.tex deleted file mode 100644 index 2d7cd9f578..0000000000 --- a/macros/inrstex/inrsdoc/mjf.tex +++ /dev/null @@ -1,11 +0,0 @@ -%-*-tex-*- - -\def\mjf { \par - {\it - \vskip .25in - \centerline {Michael J. Ferguson} - \vskip .15 in - \centerline {INRS-T\'el\'ecommunications} - \vskip .15in - \centerline {Montr\'eal} - \vskip 1 in }\par } % Author header for Michael J. Ferguson diff --git a/macros/inrstex/inrsdoc/pagdiag.tex b/macros/inrstex/inrsdoc/pagdiag.tex deleted file mode 100644 index f1aa440c5f..0000000000 --- a/macros/inrstex/inrsdoc/pagdiag.tex +++ /dev/null @@ -1,120 +0,0 @@ -%-*-tex-*- -% diagram of a page -\def\gbox h:#1 v:#2 pw:#3 {\beginsegment - \penwidth {#3} - \lvec h:{#1} v:0 - \lvec h:{#1} v:{#2} - \lvec h:0 v:{#2} - \lvec h:0 v:0 - \endsegment } - -\def\vlabel l:#1 t:#2 fr:#3 {\beginsegment - \realmult{#1}{#3}{\hvh} - \move h:0 v:{\hvh} - \textref h:C v:C \htext{$\bullet$} - \lvec h:.1 v:{\hvh} \textref h:L v:C - \htext{#2} - \move h:0 v:{\hvh} - \avec h:0 v:0 - \move h:0 v:{\hvh} - \avec h:0 v:{#1} - \endsegment} - -\def\vllabel l:#1 t:#2 fr:#3 {\beginsegment - \realmult{#1}{#3}{\hvh} - \move h:0 v:{\hvh} - \textref h:C v:C \htext{$\bullet$} - \lvec h:-.1 v:{\hvh} \textref h:R v:C - \htext{ #2} - \move h:0 v:{\hvh} - \avec h:0 v:0 - \move h:0 v:{\hvh} - \avec h:0 v:{#1} - \endsegment} - - -\def\hlabel l:#1 t:#2 fr:#3 {\beginsegment - \realmult{#1}{#3}{\hvh} - \move h:{\hvh} v:0 - \textref h:C v:C \htext{$\bullet$} - \lvec h:{\hvh} v:.1 \textref h:C v:T - \move h:{\hvh} v:.11 \htext{#2} - \move h:{\hvh} v:0 - \avec h:0 v:0 - \move h:{\hvh} v:0 - \avec h:{#1} v:0 - \endsegment} - -\def\hvlabel l:#1 t:#2 fr:#3 {\beginsegment - \realmult{#1}{#3}{\hvh} - \move h:{\hvh} v:0 - \textref h:C v:C \htext{$\bullet$} - \lvec h:{\hvh} v:.1 \textref h:R v:C - \move h:{\hvh} v:.11 \vtext{#2} - \move h:{\hvh} v:0 - \avec h:0 v:0 - \move h:{\hvh} v:0 - \avec h:{#1} v:0 - \endsegment} - - -\def\htrlabel l:#1 t:#2 {\beginsegment - \move h:-.2 v:0 - \avec h:0 v:0 - \move h:{#1} v:0 \relativeposition \move h:.12 v:0 - \textref h:L v:C \htext{#2} - \absoluteposition - \avec h:{#1} v:0 - \endsegment} - -\def\htllabel l:#1 t:#2 {\beginsegment - \move h:-.12 v:0 - \textref h:R v:C \htext{#2} - \avec h:0 v:0 - \move h:{#1} v:0 \relativeposition \move h:.2 v:0 - \absoluteposition - \avec h:{#1} v:0 - \endsegment} - -\def\pagdiag sc:#1 {\btg \segmentscale {#1} \eighttt - \arrowheadsize l:.08 w:.025 - \gbox h:4.7 v:6 pw:.025 % paper - \move h:.6 v:.7 - \gbox h:3.5 v:4 pw:.01 %outerpage - \gbox h:3.5 v:.4 pw:.02 %header - \move h:.6 v:4.3 - \gbox h:3.5 v:.4 pw:.02 %footer - \move h:.8 v:1.1 - \gbox h:3.1 v:3.2 pw:.02 %inner - \move h:1.2 v:0 \vlabel l:.7 t:{\1topmarginsize} fr:.5 - \move h:1 v:.7 \vlabel l:.4 t:{\1vheadersize} fr:.5 - \move h:.6 v:1.3 \htrlabel l:.2 t:{\1firstcolumnoffset} - \move h:3.9 v:1.3 \htllabel l:.2 t:{\1firstcolumnoffset} - \move h:0 v:1.9 \hvlabel l:.6 t:{\1leftmarginsize } fr:.5 - \move h:.6 v:2.3 \hlabel l:3.5 t:{\1houterpagesize} fr:.25 - \move h:.8 v:2.7 \hlabel l:3.1 t:{\vbox{ - \hbox{\1hinnerpagesize} - \vskip 1pt - \hbox{ (computed)}}} - fr:.25 - \move h:1 v:4.3 \vlabel l:.4 t:{\1vfootersize} fr:.5 - \move h:2.32 v:.7 \vllabel l:4 t:{\1vouterpagesize} fr:.25 - \move h:2.43 v:1.1 \vlabel l:3.2 t:{\vbox{ - \hbox{\1vinnerpagesize} - \vskip 1pt - \hbox{ (computed)}}} - fr:.8 - \move h:0 v:5.1 \hlabel l:4.7 t:{\1hpapersize} fr:.5 - \move h:4.4 v:0 \vllabel l:6 t:{\1vpapersize } fr:.92 - \etg} - -%\def\1{\char'134} -%\centergraph{\pagdiag sc:.8 } - -%\done - - - - - - \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/psalm23.tex b/macros/inrstex/inrsdoc/psalm23.tex deleted file mode 100644 index 6faf7313bb..0000000000 --- a/macros/inrstex/inrsdoc/psalm23.tex +++ /dev/null @@ -1,11 +0,0 @@ -\beginnarrowtext 1in -\eightpoint -\obeylines -The lord is my shepherd, I shall not want; -He makes me lie down in green pastures, -He leads me beside still waters; -He restores my soul. -\endnarrowtext -\done - - \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/secthead.tex b/macros/inrstex/inrsdoc/secthead.tex deleted file mode 100644 index da1558c568..0000000000 --- a/macros/inrstex/inrsdoc/secthead.tex +++ /dev/null @@ -1,223 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - - -% ========== Section, Chapter Headings =========== -% These macros have several parts, -% -- The format of the heading. -% -- The automatic numbering. -% -- The writing of a list file for automatic table of contents. -% -- The referencing in the text ... ie reference number styles. - - -% ======== Counter allocation and Number styles ========= -%========= Autonumbering allocations and styles for sections ... ==== -% Allocate the counters for the chapters, sections, figures, etc. -% These counters are updated globally. -\newcount\chnum %\chnum=0 \def\chnumform{\the\chnum} -\newcount\shnum %\shnum=0 \def\shnumform{\the\shnum} -\newcount\sshnum %\sshnum=0 \def\sshnumform{\the\sshnum} -\newcount\ssshnum %\ssshnum=0 \def\ssshnumform{\the\ssshnum} - -% ======== autonumbering options and styles ========== -% The following stay unchanged for different numbering options -\def\chtagrefformat{\chnumform} -\def\chtagreplaceformat{\Chapter \chtagrefformat} - -\def\numberbychapter{\s@pecialnumberresetlevel=2 - \def\shtagreplaceformat{\shtagrefformat} - \def\sshtagreplaceformat{\sshtagrefformat} - \def\ssshtagreplaceformat{\ssshtagrefformat} - \def\shtagrefformat{\chnumform.\shnumform} %section - \def\sshtagrefformat{\chnumform.\shnumform.\sshnumform} %subsection - \def\ssshtagrefformat{\chnumform.\shnumform.\sshnumform %subsubsection - .\ssshnumform} - \def\Prerefform{\chnumform.} - \def\Postrefform{}} - -\def\numberbysection{\s@pecialnumberresetlevel=3 - \def\shtagreplaceformat{\shtagrefformat.} - \def\sshtagreplaceformat{\sshtagrefformat} - \def\ssshtagreplaceformat{\ssshtagrefformat} - \def\shtagrefformat{\shnumform} %section - \def\sshtagrefformat{\shnumform.\sshnumform} %subsection - \def\ssshtagrefformat{\shnumform.\sshnumform %subsubsection - .\ssshnumform} - \def\Prerefform{\shnumform.} - \def\Postrefform{}} - -\def\specialnumberscontinuous{\def\Prerefform{} - \def\Postrefform{} - \s@pecialnumberresetlevel=1} - - -% This macro resets the counters for equations, figures, etc. -% depending on the header level. -% #1 - header level 1=chapter -% 2=section -% 3=subsection -% 4=subsubsection -% \a@utonumberresetlevel = 1 sequential numbering -% 2 chapter numbering -% 3 section numbering -% 4 subsection numbering, etc. -\newcount\s@pecialnumberresetlevel \s@pecialnumberresetlevel=1 -\def\updatespecialnumbers#1{ - \ifnum #1 < \s@pecialnumberresetlevel - \the\s@presetlist - \fi} - - -% ============ Section head format styles and List generation ======= -% -% The calling format is -% \s<ss>head{<number>}{<Title>} -% Subsequent lines are indented one quad more than the size of the <number> -% There is an autonumbering/autoreferencing feature in these macros. -% If the autonumber switch -% is true, then the first argument represents a tag instead of a number. - -% \nosheadbreak is used when multiple heads start a section -\newif\ifs@headbreak \s@headbreaktrue -\def\nosheadbreak{\s@headbreakfalse} - - -% ========= Section heading command forms ======== -% #1 top skip -% #2 bottom skip -% #3 font -% #4 <number> -% #5 <text> -% #6 table of contents command form -% #7 <item>, placed between <number> and <text> - -\newskip\prsheadskip %\prsheadskip= 6ex plus 2ex minus 2ex -\newskip\posheadskip %\posheadskip= 2ex -\newskip\prssheadskip % \prssheadskip= 5ex plus 1.8ex minus 1.8ex -\newskip\possheadskip %\possheadskip= 2ex -\newskip\prsssheadskip %\prsssheadskip= 3ex plus 1ex minus 1ex -\newskip\posssheadskip %\posssheadskip= 2ex -\newskip\prdsssheadskip %\prdsssheadskip= 3ex plus 1ex minus 1ex -\newskip\podsssheadskip %\podsssheadskip= 2ex - -%this is the format form for those that want to perform radical surgery -%the parameters must be as shown and will have that meaning -% #1 font (=#3); #2 number (=#4) ; #3 <text> (=#5); #4 number/text sep (=#7) -% check on \t@agtext suppresses space when there is no number -\def\gensheadformat#1#2#3#4{\ifx\t@agtext\empty\setbox0=\hbox{}\else - \setbox0=\hbox{#1#2#4}\fi - \vbox{\veryraggedright \normalbaselines - \hangindent 1\wd0 \hangafter 1\noindent #1\unhbox0 #3}} - - -\def\g@head#1#2#3#4#5#6#7{\ifs@headbreak \goodbreak \vskip #1\else - \removelastskip\fi - \s@headbreaktrue - \toks0={#5}%prevents expansion inside title - \writeterm{<#4}{ }{\the\toks0>} - \gensheadformat{#3}{#4}{#5}{#7} - \nobreak - \writelistfile{toc}{#6}{#4}{#5} - \vskip #2 \vskip -\parskip} - -\newtoks\sectionname \newtoks\sectionnumtag -\def\sheadmark{\mark{\the\sectionname}} % defaults to title -\def\innershead #1#2{\sectionnumtag = {#1} \sectionname = {#2} - \ifautonumber - \global\advance \shnum by 1 - \global\sshnum=0 - \global\ssshnum=0 - \updatespecialnumbers{2} - \newtag{#1}{\shtagrefformat} - \edef\t@agtext{\shtagreplaceformat} - \else - \edef\t@agtext{#1} - \fi - \sheadmark %sections are marked for header titles - \g@head{\prsheadskip}{\posheadskip - }{\sheadfont}{\t@agtext}{#2}{\shtocout - }{\quad}} -\def\innersshead #1#2{\ifautonumber - \global\advance \sshnum by 1 - \global\ssshnum=0 - \updatespecialnumbers{3} - \newtag{#1}{\sshtagrefformat} - \edef\t@agtext{\sshtagreplaceformat} - \else - \edef\t@agtext{#1} - \fi - \g@head{\prssheadskip}{\possheadskip - }{\ssheadfont}{\t@agtext}{#2}{\sshtocout - }{\quad}} -\def\innerssshead #1#2{\ifautonumber - \global\advance \ssshnum by 1 - \updatespecialnumbers{4} - \newtag{#1}{\ssshtagrefformat} - \edef\t@agtext{\ssshtagreplaceformat} - \else - \edef\t@agtext{#1} - \fi - \g@head{\prsssheadskip}{\posssheadskip - }{\sssheadfont}{\t@agtext}{#2}{\ssshtocout - }{\quad}} -\def\innerdssshead #1{\g@head{\prdsssheadskip}{\podsssheadskip - }{\dsssheadfont}{}{#1}{\dssshtocout}{}} -\outer\def\shead#1#2{\innershead{#1}{#2}} -\outer\def\sshead#1#2{\innersshead{#1}{#2}} -\outer\def\ssshead#1#2{\innerssshead{#1}{#2}} -\outer\def\dssshead#1{\innerdssshead{#1}} - -% ======== chead ========== -% The chapter head has a different format entirely -\newtoks\chaptername - -%this is the form of the present chapter head -%parameters are #1 is the title text \cheadfont, \chtagreplaceformat - -%\def\Chapter{Chapter } see English/french titles - -% indicates if chapters exist ... default is that they do not -% the first call to a \chead sets it true ... or it may be done in the style. -\newif\ifnochapter %\nochaptertrue - - -\def\cheadformat#1#2{\vglue 2.5cm - \line{$\vcenter{\hbox{\cheadfont - #1 - \vrule height 3ex depth 1ex width 0pt - }}\hss - \vcenter{\halign{&\cheadfont\hss - ##\vrule height 3ex depth 1ex width 0pt\cr - #2\crcr}}$} - \vskip 2.5cm} -\def\chapterstartform{} -\def\chead#1#2{\numberbychapter\nochapterfalse - \ifautonumber - \global\advance\chnum by 1 - \global\shnum=0 - \global\sshnum=0 - \global\ssshnum=0 - \newtag{#1}{\chtagrefformat} - \updatespecialnumbers{1} - \edef\t@agtext{\chtagreplaceformat} - \else - \edef\t@agtext{#1} - \fi - \chaptername={#2} % for term write only ... includes \cr - \writeterm{<\t@agtext}{ }{\the\chaptername>} - \chaptername={\def\cr{ }#2} - \chapterstartform % here so both the number and title set - \titlepagestyle - \cheadformat{\t@agtext}{#2} % format of chead - \writelistfile{toc}{\chtocout}{\t@agtext}{#2} - } - -% ========== Toc Out Forms =========== -% actually set in inrsdef.tex - -%\def\shtocout{\string\shtoc} -%\def\sshtocout{\string\sshtoc} -%\def\ssshtocout{\string\ssshtoc} -%\def\dssshtocout{\string\dssshtoc} -%\def\chtocout{\string\chtoc} diff --git a/macros/inrstex/inrsdoc/status.tex b/macros/inrstex/inrsdoc/status.tex deleted file mode 100644 index 1037b44691..0000000000 --- a/macros/inrstex/inrsdoc/status.tex +++ /dev/null @@ -1,28 +0,0 @@ -%-*-tex-*- -% Status commands for each chapter. -% these write out the chapter code, page number, and previous chapter number. - -\marginnotesfalse -\hfuzz=5pt - - -\newwrite\docstatus -\def\openstatusfile{\immediate\openout\docstatus=\jobname.sta} -\def\closestatusfile{\closeout\docstatus} -\def\writestatus#1{\immediate\write - \docstatus{\string\chstatus//#1//\the\chnum//\the\pageno//}} -\def\chstatus//#1//#2//#3//{\expandafter\def\csname#1:\endcsname{\chnum=#2 - \pagenumber=#3}} -\def\getstatus#1{\csname#1:\endcsname} - -\def\chcode#1{\subdocumentmacros{\input helphdr \bookstyle - \input masth.sta - \autonumberingon - \input masth.tag - \getstatus{#1} - \def\chcode##1{} - \def\writestatus##1{} - \indexingon - } - \writestatus{#1}} - diff --git a/macros/inrstex/inrsdoc/thalign.tex b/macros/inrstex/inrsdoc/thalign.tex deleted file mode 100644 index 436874708d..0000000000 --- a/macros/inrstex/inrsdoc/thalign.tex +++ /dev/null @@ -1,1002 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{align} - -\def\cqu{} - -\chapterhead{align}{BASIC ALIGNMENT} -Since letters in most fonts are variable width, the only sure way to ensure -that words, numbers or vertical rules line up is to tell \tex\ to put them in -the right place. Old ways of placing text on the editor's screen will not -work. The basic way of doing this in \tex\ is through the alignment commands. - -The most common use of alignment commands is to make tables, but the uses go -well beyond this. For instance, the |\eqalign| for display mathematics is -built using the basic |\halign| command. - - -{\it Plain} \tex\ provides two basic alignment formats. The first is the -|tabbing| form that is very similar to tabs on a typewriter, and the second is -the more basic |\halign| form. In fact the |tabbing| form is built from the -basic |\halign|. - -\intex\ supplies a set of commands for building tables, especially those -involving lines (commonly called vertical and horizontal rules). -The intent of these commands is to produce tables that are -easy to specify and that look, on the editing screen, somewhat like the final -product. The commands are built from the |\halign| and preserve all -the power of this basic command. They commands are discussed in -Section~\ref{intable}. - -Details on the basic uses of the |\halign| -can be found in the chapter on alignment in the \texbook\ and -examples of \intex\ tables and uses in the \tex\ Example Book \dots\ to be published. - -\shead{aligncomlist}{Command List} -The command list in this section is organized into |tabbing|, |\halign|, and -\intex\ |table| commands. The |\halign| commands are useful in the |table| -form. -\bigbreak -\centerline{\sssheadfont Tabbing Commands} -\nobreak -\begintwocolumn -\pla|\+ ... \cr| -\pla|\cleartabs| -\pla|\settabs <integer> \columns| -\pla|\tabalign ...\cr| -\endthreecolumn -\bigbreak -\centerline{\sssheadfont Plain \tex\ halign Commands} -\begintwocolumn -\pri|&| -\pri|#| -\pri|\cr| -\pri|\halign| -\pla|\hidewidth| -\pla|\ialign| -\pla|\multispan| -\pri|\noalign| -\pla|\oalign| -\pri|\omit| -\pla|\openup| -\pri|\span| -\ext|\strut| -\pri|\tabskip| -\pri|\valign| -\endthreecolumn -\bigbreak - -\centerline{\sssheadfont \intex\ Table Commands} -\begintwocolumn -\ext\vrt -\ext|"| -\ext|\|\vrt -\ext|~| -\ext|\:| -\ext|\-| -\ext|\br \er| -\ext|\begintable| -\ext|\begintableformat| -\ext|\endtable| -\ext|\endtableformat| -\ext|\center| -\ext|\displaymath| -\ext|\everytable| -\ext|\fulltablerule| -\ext|\left| -\ext|\math| -\ext|\midtabglue| -\ext|\modifystrut \mst| -\ext|\right| -\ext|\sa| -\ext|\sprule| -\ext|\tablespread| -\ext|\tcs| -\ext|\thrule| -\ext|\tr| -\ext|\tvrule| -\ext|\use| -\ext|\zerocenteredbox \zb| -\endthreecolumn - -\shead{tabbing}{Tabs for Alignment} -\tex\ supplies a format that behaves similarly, but not identically, to {\it -tabs} on an ordinary typewriter. The |\settabs <integer> \columns| sets tabs so -that there are |<integer>| number of columns across the page. Once set, these -{\it tabs} stay set until changed or leaving the group in which they were -defined. \tex\ uses the command |\+| to indicate the beginning of a row, the -|&| to indicate the {\bf next} column, and the |\cr| to indicate the end of -the row. If the text for one column is too wide for that column it will spill -over into the next. If it spills, and there is text in the next column, they -will superimpose. An example is given below. -\begintt -\settabs 3 \columns -\+This is text in the first Column &THIS IS TEXT IN THE - SECOND COLUMN & This is text in the third column \cr -\+First Column &&Third Column\cr -\endtt -which gives -\settabs 3 \columns -\+This is text in the first Column &THIS IS TEXT IN THE - SECOND COLUMN & This is text in the third column \cr -\+First Column &&Third Column\cr -Note the mess in the first row. The second is better formed. For some simple -tables, without rules or lines. This may be the simplest way. - -If a line starts with the form -\begintt -\settabs\+<sample first column>& ... &<sample last column>\cr -\+<first real text row>\cr - ... -\endtt -then \tex\ will set the tabs as indicated by the sample row, and will not -actually print it in the text. To use this, look ahead in the table and find -the widest fields. These, and some extra space, can be used to set the tabs. - - -The tabbing format is even more versatile than this. Suppose that there are 2 -tabs set. If the input row |\+ ... \cr| has a third or more |&|, then this -new tab is added to the set of tabs. Furthermore, the command |\cleartabs| -will remove all tabs to the right of the current one, in effect making it the -last one in a row. The result is that it is possible to set tabs that change -from row to row. For example -\begintt -\+\cleartabs -This text &is to the &left and \cr -\+ &this row lines up with the ``is'' \cr -\+ & &but this one with the ``left'' \cr -\+ &\cleartabs This &row sets new tabs \cr -\+ & &so this lines up with ``row''\cr -\endtt -gives the following -\+\cleartabs -This text &is to the &left and \cr -\+ &this row lines up with the ``is'' \cr -\+ & &but this one with the ``left'' \cr -\+ &\cleartabs This &row sets new tabs \cr -\+ & &so this lines up with ``row''\cr - -Note the tab location change in the fourth row. Indentation of computer -programs is relatively simple with these mechanisms. - - - -\shead{halignform}{The {\twelvett \string\halign } } -The fundamental alignment command, which is in fact -used to build the {\it tabbing} commands in the previous -section and the \intex\ {\it table} commands in the next, -is the |\halign| . -While inside an |\halign|, \tex\ is in {\it -internal horizontal mode}. This means that text may be centered or justified -by the appropriate use of the infinite glues such as |\hss|. It also means -that |$...$|, |\math|, or |\displaymath| are required -to switch, perhaps back, into math mode. - -A |<preamble>\cr|, terminated by the first |\cr|, describes the pattern -of the alignment. This pattern is used for every row of the alignment but -there are a set of commands |\span|, |\multispan|, and |\omit| that -allow for the skipping or merging of several adjacent columns. This makes it -easy to have text that spans several columns. Finally, {\bf between} -each column, -there is the provision for placing |\tabskip| glue. This glue allows the -entire set of columns to stretch or shrink to fill the page as desired. Some -special variants of |\halign| such as |\ialign|, force the |\tabskip| -glue to be zero. - -Detailed use of the |\halign| and its associated commands will be found in -the \texbook\ with examples in the \tex\ Example Book. The command -descriptions in Section~\ref{aligncomforms} give some insight into their use. - -\shead{intable}{\intex\ Table Commands} -\intex\ supplies a set of commands designed to reduce the pain in making -tables. The major intent of the commands is to make have the tables being -designed appear on the editor screen in a reasonable manner. Although the -commands appear to avoid the basic |\halign| commands and forms of |\cr|, -|&|, and |#|, their insertion in the tables are not precluded by the -structure. The loss by doing this will be some readability but the gain is -flexibility. - -The \intex\ table commands really use two different types of columns: {\it -rule} columns for insertion (or omission) of vertical rules and {\it data} -columns -for the insertion of normal data entries. Generally it is assumed that every -data column is separated by a {\it rule} column. In addition, \intex\ -requires that there be a rule column at the left and right hand sides. -\intex\ makes the insertion or omission of a vertical rule or column as -simple as placing a |"| or a \vrt\ in the text. - -A now classic table for demonstrating the table making skills of a set of -macros is shown below. This is reported in the \texbook\ and originally was -found in [\cite{[Lesk76]}]. The resulting table is {\bf not} -identical to that in the \texbook. It is, however, very close. - -\centerline{ -\begintable -\begintableformat -\center " \center " \center -\endtableformat -\br{} \sa{Dividend} "\sa{Dividend} "\sa{Dividend} \er{} %sample line -\- -\br{\:|} \use{3} AT\&T Common Stock \er{|} -\- -\br{\:|} Year | Price | Dividend \er{|} -\- -\br{\:|} 1971 | 41--54 | \$2.60 \er{|} -\- -\br{\:|} ~~~2 | 41--54 | ~2.70 \er{|} -\- -\br{\:|} ~~~3 | 46--55 | ~2.87 \er{|} -\- -\br{\:|} ~~~4 | 40--53 | ~3.24 \er{|} -\- -\br{\:|} ~~~5 | 45--52 | ~3.40 \er{|} -\- -\br{\:|} ~~~6 | 51--59 | ~~.95\rlap* \er{|} -\- -\br{\:}\use{3} \left{* (first quarter only)} -\endtable -} - -This table is given by the following: -\begingroup \eightpoint -\begintt -\centerline{ -\begintable -\begintableformat -\center " \center " \center -\endtableformat -\br{} \sa{Dividend} "\sa{Dividend} "\sa{Dividend} \er{} %sample line -\- -\br{\:|} \use{3} AT\&T Common Stock \er{|} -\- -\br{\:|} Year | Price | Dividend \er{|} -\- -\br{\:|} 1971 | 41--54 | \$2.60 \er{|} -\- -\br{\:|} ~~~2 | 41--54 | ~2.70 \er{|} -\- -\br{\:|} ~~~3 | 46--55 | ~2.87 \er{|} -\- -\br{\:|} ~~~4 | 40--53 | ~3.24 \er{|} -\- -\br{\:|} ~~~5 | 45--52 | ~3.40 \er{|} -\- -\br{\:|} ~~~6 | 51--59 | ~~.95\rlap* \er{|} -\- -\br{\:}\use{3} \left{* (first quarter only)} -\endtable -} -\endtt -\endgroup -The basic structure of the table is given by this example. A -|\begintable... \endtable| pair delineates it, while the row format is -defined inside the pair |\begintableformat... \endtableformat|. -The entirely optional {\it sample row}, immediately after the -|\endtableformat| forces all -three columns the same width. This use the fact that -|Dividends| was the largest word which was then put in a {\it -sample} command |\sa{..}| in each of the three columns. This row, which is -invisible in the final table effectively set the width of the columns. The -|~| is a space that is exactly the width of a number. Thus the data is lined -up in the desired way. The \vrt\ are separators that insert vertical rules or -lines and also allow spaces to be ignored after the data in a column. This -makes the columns look nicer and more readable. Other details about this -table will be apparent later. - - -The \intex\ table commands have been designed to be most useful when the following -conventions are obeyed: -\beginlist -\li {\bull} A rule column is defined in the table format -using a |"|. Successive data columns are separated by a rule column. -The actual rule is inserted in the text with a \vrt\ or omitted with a -|"| rather than being put in the format. -\li {\bull} A rule column is appended to each end of the table format -statement. In general this means that there is a rule column on both sides of -the table. The actual insertion or not of the rule is very easy. -\li {\bull} Struts for maintaining row height are inserted in each row rather -than in the table format. -\endlist - -The commands make it very easy to include struts, and insert or omit rules as -needed. In fact it is no more difficult than inserting a |&| in the -appropriate place. The advantage of following this discipline is that partial -horizontal lines (rules) are quite easy, as is the exact vertical placement -of items in different data columns. - -The basic format for building a table is -\begintt -\begintable -<special table forms> -\begintableformat -<table format> -\endtableformat -<first row> - ... -<last row> -\endtable -\endtt -Each row has the form -\begintt -\br{<..>} <item> | <item> " <item> ... | <item> \er{<..>} -\endtt -where the \vrt\ means to put in a vertical rule and the |"| means to leave it -out of the corresponding rule column. -The |\br{..}| and |\er{..}| signify the beginning and end of the row -respectively. The |\br{..}| and |\er{..}| are intended for rules and/or -struts if needed. For instance a |\br{\:|\vrt|}| indicates that this line has a -standard strut |\:| and a standard vrule. The |\br{\: height 2pt}| -indicates that this row has no strut but that the initial vrule has a height -of 2pt. The strut could just as easily been put in the |\er{\:}| instead. -The form |\br{}| or |\br{"}| indicates a row with no initial strut or vrule. - -\intex\ supplies a second flavour of vrule that is user definable. The -command |\|\vrt\ may be used in exactly the same way as \vrt. The {\it -insides} of the |\|\vrt\ are defined by redefining a command |\sprule|, a {\it -special rule}. - -An \intex\ table format is a template for the table, and corresponds to the -normal {\it preamble} in an |\halign|. In fact any valid |\halign| preamble -may be used in the table format, as long as the |#| are replaced by |##|. -However, \intex\ adds a rule column to the beginning and end of the {\bf format} -list for -beginning and terminating rules. Thus a repeating field specification, which -is indicated by an (extra) |&| in the format should -{\bf not} start at a vrule indicator or the result will be two adjacent rules. - -Simple column formats are indicated by the use of the commands |\left|, -|\center|, |\right|, |\math|, and |\displaymath|. The two |\..math| forms are -{\bf never} used alone but rather in conjunction with the first three. -These forms are {\bf always} separated\footnote{\dagger}{In fact any field -of the form |&<optional stuff>##<optional stuff>&| is acceptable.} - by |"|, which allows for, but does not put in, a -vertical rule. -The simplest table format, and probably the most useful is -\begintt -\begintableformat -&\center -\endtableformat -\endtt -This is a repeating format, as indicated by the |&|, and thus allows for any -number of columns. The data in each column is centered. - -Another simple table format example is -\begintt -\begintableformat -\left " \right " \math\center -\endtableformat -\endtt -This table would have three data columns; the first data column -is ordinary text, left -justified; the second data column is right justified text; and the last -data column is centered mathematics. Each data column is separated by a rule -column indicated by |"|. \intex\ will add rule columns to the left and right -hand ends of the specification. -The commands |\right|, |\left|, and |\center| insert the appropriate glues and -spacing at the both sides of the column. The width of this spacing |\tcs|, -the {\it table column separation}, is a |dimen|. This may be modified if -desired for all tables by putting it in the |\everytable| token list or for a -specific table by placing it in the -|<special table forms>|. - -The following is a repeating column specification: -\begintt -\begintableformat -\left " \right " &\math\center -\endtableformat -\endtt -This is identical to the previous one except that the data column format -and the implicit rule column added by \intex, -|\math\center|~|"|, is repeated indefinitely. -For almost all tables, the only |&| that -should appear in the table format is that indicating the start of a repeating -field. - -Horizontal rules are specified by |\-| for the standard |\tr| width rule. An -hrule the full width of the table should appear all by itself on a line -between an |\er| and the following |\br|, or immediately after the table -format. Other |\noalign| commands may be inserted as desired. -A partial horizontal rule is specified using an |\msp|, the special \intex\ -version of the multispan, and the |\-|. - -\intex\ does place some restrictions on the automatic insertion of tabskip glue. -Hopefully these will be minor. \intex\ sets the initial and final tabskip -glues to 0pt. This should create no problems. A parameter |\midtabglue| may -be modified. This is set just after the first rule column and is turned off -at the last rule column. Finally |\tablespread = {to <dimen>}| will force -the table to be |<dimen>| wide, assuming there is -enough tabskip glue -available. - -The following set of commands produce the rather contrived table on the -following page. -\begingroup -\eightpoint -\beginttverbatim -\1centerline{ -\1begintable -\1begintableformat - &\1center -\1endtableformat -\1- -\1br{\1:|} \1use{6} XYZABC \1er{|\1mst{\1:}{3pt}{3pt}\1rlap{ \1it ** i}} -\1- -\1br{\1:|} \1use{3} XYZ | \1use{3} ABC \1er{|\1mst{\1:}{2pt}{2pt}} -\1- -\1br{\1:|} X | Y | Z | A | B | C \1er{|} -\1- -\1br{\1:|} 372.466 | 493.7 " 45 | 124 \1| 489 | 280 \1er{|} -\1- -\1br{\1:|} 372.40~ | 493.7 | 45 | 124 | 489 | 280 \1er{|} -\1br{|} " " | \1use{3}\1- \1er{|} -\1br{\1:|} 372.~~~ | 493.7 | 45 | 124 | 489 | 280 \1er{|\1rlap{ \1it ** ii}} -\1- -\1br{\1:|} \1use{2} | 832 | abc | 774 |$\1int$\1er{|\1mst{$\1int$}{0pt}{3pt}} -\1br{|} \1use{2}\1zb{XY/A} |\1use{4}\1- \1er{|} -\1br{\1:|} \1use{2} | qrr | aaa | 799 | \1er{|\1rlap{ \1it ** iii}} -\1- -\1endtable} -\endttverbatim -\endgroup - -The actual table is -$$ -\centerline{ -\begintable -\begintableformat - &\center -\endtableformat -\- -\br{\:|} \use{6} XYZABC \er{|\mst{\:}{3pt}{3pt}\rlap{ \it ** i}} -\- -\br{\:|} \use{3} XYZ | \use{3} ABC \er{|\mst{\:}{2pt}{2pt}} -\- -\br{\:|} X | Y | Z | A | B | C \er{|} -\- -\br{\:|} 372.466 | 493.7 " 45 | 124 \| 489 | 280 \er{|} -\- -\br{\:|} 372.40~ | 493.7 | 45 | 124 | 489 | 280 \er{|} -\br{|} " " | \use{3}\- \er{|} -\br{\:|} 372.~~~ | 493.7 | 45 | 124 | 489 | 280 \er{|\rlap{ \it ** ii}} -\- -\br{\:|} \use{2} | 832 | abc | 774 | $\int$\er{|\mst{$\int$}{0pt}{3pt}} -\br{|} \use{2}\zb{XY/A} |\use{4}\- \er{|} -\br{\:|} \use{2} | qrr | aaa | 799 | \er{|\rlap{ \it ** iii}} -\- -\endtable -} -$$ -This example -illustrates the power and flexibility of the commands. -Row {\it i} shows the -modification of the standard strut, which is 2.5ex high and .9ex deep, by -changing the height and depth. The |\mst| is used again in row {\it iii} -where some extra space is added at the bottom of the integral sign, but not -at the top. The |\mst| takes three arguments or parameters. The first is the -character from which the strut is derived, the second is the additional -space on the top of the character and the third is on the bottom. The first two -rows of this table had additional space at both the top and bottom while the -``integral'' row had changes only at the bottom. This fine tuning of tables -can improve their visual form immensely. Row {\it iii} demonstrates the use -of a |\zb| or ``zero-centered box'' for putting items in the center of -larger boxes. This row with the |\zb| has {\bf no} struts. In addition, the -|\zb| boxes are centered and have zero height and depth. This means that they -take up no vertical space so that a partial horizontal line or rule may be -inserted. This is done with the |\use{4}\-| which tells \intex\ to use 4 -(data) columns for the horizontal rule. - -Many variations exist. The commands available in \intex\ for -tables are described in the following section. - - -\shead{aligncomforms}{Command Forms} -The command forms in this section are organized under three different -headings, tabbing, basic |\halign|, and \intex\ table commands. - -\dssshead{Tabbing Commands} -\beginblockmode -\pla\@|\+<text>&<text> ... &<text>\cr| -\nbr -This is the command for entering a line of text in the {\it tab} format. The -|<text>| in each column is optional and will spill over into the next column -if there is no room. If there are $n$ tabs set, all |&| beyond the $n$ will -set tabs at the location they appear in the text. The |\cr| terminates the -line. See Section \ref{tabbing} for examples. - -\mbr -\pla\@|\cleartabs| -\nbr -This command clears tabs to the right of the current one, on all subsequent -lines. See Section \ref{tabbing} for examples. - -\mbr -\pla\@|\tabalign ... \cr| -\nbr -This is a non |\outer| form of |\+| and can be used in definitions. -\endblockmode - - -\dssshead{Basic {\tentt \string\halign } Command Forms} -\beginblockmode -\pla\@|\halign{<preamble>\cr <first row>\cr ... <last row>\cr}| -\nbr -This is the basic alignment command. It is necessary to be in (internal) -vertical or display math mode to use it. -The |<preamble>| describes a template or -form for interpreting the text fields in following rows. Each field in an -|\halign| is like an individual |\hbox| whose size is calculated by \tex. -Between each of these field boxes is |\tabskip| glue that is allowed to -stretch or shrink in order to vary the overall size of the alignment. An -example of a preamble that creates three columns, the first left justified, -the second centered and the third right justified is -\begintt -<preamble> --> #\hss &\hss #\hss&\hss # -\endtt -The |#| shows where the text in that particular column should be placed, with -respect to the glue, and the |&| indicates the end of the field. -\begintt -$$ -\halign{#\hss &\hss #\hss&\hss #\cr - This particular & example & will give the text \cr - shown &below in its& \TeX\ form.\cr - It &could &have had mathematics, $x^y$ too.\cr} -$$ -\endtt -will in fact produce, as promised, -$$ -\halign{#\hss &\hss #\hss&\hss #\cr - This particular & example & will give the text \cr - shown &below in its& \TeX\ form.\cr - It &could &have had mathematics, $x^y$ too.\cr} -$$ -The |$$...$$| is a convenient way of centering the |\halign|. - -If the preamble has an extra |&| in its definition, then \tex\ pretends -that the pattern between -the extra |&| and the |\cr| is repeated an infinite number of times. This -means that it is quite easy to define a single |\halign| that can be used -even when the number of columns is unknown. If the |<preamble>| above were -replaced by |&<preamble>|, then the entire sequence of left, center, right -justified columns would be repeated. - - - -\mbr -\pla\@|\hidewidth| -\nbr -This command is used to allow an entry in an alignment field to stick out the -side of the field. If it is used on both sides, of an entry, the width of the -column is unaffected by that field. This is used when column widths -should be determined by the data entries and not the titles. It is probably -not to useful in a pure \intex\ table format. - - - -\mbr -\pla\@|\ialign{<preamble>\cr <first row>\cr ... <last row>\cr}| -\nbr -This is identical to an |\halign| except that the |\tabskip| glue has been -preset to be zero. - -\mbr -\pla\@|\multispan {<integer>}| -\nbr -This effectively combines the |<integer>| number of columns into one column -and leaves the simple |#| template or pattern. Note that any implicit spacing -at the edges of the column is lost. - -\mbr -\pri\@|\noalign {<text>}| -\nbr -This will place the |<text>| between this and the following row of an -alignment. It must be the first token after the |\cr|. It has many uses -including placing horizontal separator lines in tables. - -\mbr -\pla\@|\oalign{<first row>\cr ... &<last row>\cr}| -This creates a vertical list of the elements in each of the rows. There is -only {\bf one} element allowed in each row. For instance -\begintt -$$ -\oalign{this\cr is\cr a\cr vertical\cr list\cr} -$$ -\endtt -gives -$$ -\oalign{this\cr is\cr a\cr vertical\cr list\cr} -$$ -Note that there are no struts in the rows. - -\mbr -\pri\@|\omit| -\nbr -If |\omit| is the first token after the |&|, or the replacing |\span|, then -the template pattern for that field is replaced with the simple |#|. Any -tabskip glue is left intact. - -\mbr -\pri\@|\span| -\nbr -This command in the text fields of an |\halign| can be used to replace the -|&|. When this is done, the template or formats of the -adjacent columns are butted against each other and results in both data -fields placed in a box of the combined size of both columns, including any -tabskip glue. This command in the preamble field of an |\halign| will cause -the following command to be expanded. \intex\ uses this to transfer the -information in format field to the actual |\halign| of the table. - - - -\mbr -\pri\@|\valign{<preamble>\cr <first column>\cr ... <last column>\cr}| -\nbr -This is the vertical equivalent of the |\halign|. -\endblockmode - -\dssshead{\intex\ Table Command Forms} -\beginblockmode -\ext\vrt -\nbr -This command will put a vertical rule of width |\tr| at the point indicated. -It should be used only in the text rows and not in the format. The |"| should -be used to represent a rule column in the format. This command removes spaces to its left or, equivalently to the -right of the item in the previous data column. - -\silent{\@{\char'42}} -\mbr -\ext|"| -\nbr -In text rows this is used to leave the vertical rule out of a rule column. In -the format it is used to indicate the existence of a rule column. As a matter -of style, \intex\ data columns should always be separated by a rule column. -If there is no rule, this is indicated in the text rows by using |"| instead -of \vrt. This command removes spaces to its left or, equivalently to the -right of the item in the previous data column. - -\mbr -\ext|\|\vrt -\nbr -This command is used in text rows to insert a rule that has been defined by -the command name |\sprule|. The default for this rule is a thick vertical -rule. - -\mbr -\ext\@|~| -\nbr -This is used to force a space exactly the width of the numerals ``0''. -Since all numerals are the same width, this enables the lining up of -numeric data. If it is used in text mode in a table, it will still {\it tie} but -the space will be slightly larger than outside tables. - -\mbr -\ext\@|\:| -\nbr -This command puts a strut of height 2.5ex and depth .9ex. A strut is an -invisible vrule of width 0pt. Thus the definition of |\:| is -|\vrule height 2.5ex depth .9ex width 0pt|. A |\:| may be modified in place -by putting a new height, depth or width {\bf immediately} after it. -This command removes spaces to its left or, equivalently to the -right of the item in the previous data column. - - -\mbr -\ext\@|\-| -\nbr -This command draws a horizontal line across the table. If it is used between -rows it draws a line the entire width of the table. If it used in a data -column, it draws a line the width of the column. -It is commonly used in conjunction with |\use|. The commands -|\use{3}\-| will draw a horizontal line across 3 columns. - -\mbr -\ext\@|\br{<rules..>} \er{<rules..>}| -\nbr -These two commands are used at the beginning and end of row respectively. -Since \intex\ places a rule column at the beginning and end of each table the -|<rules..>| are put into those columns. This information includes struts for -spacing, such as |\:| or \vrt for the entry of a vertical rule. -|\er| removes spaces to its left or, equivalently to the -right of the item in the previous data column. - -\mbr -\ext\@|\begintable ... \endtable| -\nbr -This is the command that is used to begin a table. It starts a group and -must have a corresponding |\endtable|. There is a corresponding |\everytable| -token list. - -\mbr -\ext\@|\begintableformat ... \endtableformat| -\nbr -This command starts the format definition of the table. It must have an -associated |\endtableformat|. \intex\ searches for this -|\endtableformat| {\bf before} -actually processing the format information. Disaster ensues if it is not -there. {\bf \intex\ adds a rule column to the beginning and the end of all -formats.} A valid format is given below -\begingroup -\begintt -\begintableformat -\center " &\right " \hss A.B ## \hss " \center &X##X& \math\left -\endtableformat -\endtt -\endgroup -Note that the |##| must always appear as a pair rather than as single |#| in -the ordinary |\halign| preamble. The |"| indicates a rule column. The |&| -before the |\right| indicates that the format from this point to the end, -including the {\bf additional} rule column inserted by \intex\ will be -infinitely repeated. The |&X##X&| indicates a column with an |X| on either -side of the data position. If an |"| were put in this position in the row, a -column of |XX| would result. - -The simplest format, and perhaps the most useful is -\begingroup -\begintt -\begintableformat -&\center -\endtableformat -\endtt\endgroup -which results in a potentially infinite number of centered data columns -separated by rule columns. If any individual data item needs a different -format, the use of a |\left{data}| or similar form may be used. - -\mbr -\ext\@|\center \center{<argument>}| -\nbr -The first form of |\center| is used in a table format statement to create a -centered data column. The second form is used in the data position of a data -column to override the column format given in the format statement. Thus if -the column format were |\center|, an entry of |\left{<text>}| would put the -|<text>| at the left of the column. If the format entry were |\math\left| -then a data column entry of |\center{<text>}| would center the |<text>| in -the column but would still be in mathematics mode. An entry of -|\omit\center{<text>}| would center the data, remove the mathematics mode, -{\bf and} remove the spacing at both sides of the data entry. This latter -aspect would not show up with |\center| but would with |\left| or |\right|. - - -\mbr -\ext\@|\displaymath{<argument>}| -\nbr -In the table format, this command must be used with one of |\center|, |\right|, or -|\left|, or any other valid data column specification. For example, -a data column where the input data needs to be -in display mathematics format and then right justified is given by -|\displaymath\right|. - -In the text rows, this command will take the |<argument>| and put it in -display mathematics format. It will not affect the table format specification -of |\right|, |\left| or |\center|. - - -\mbr -\ext\@|\everytable| -\nbr -This is a token list of commands that should be executed for every table. -For instance -\begintt -\everytable ={\ninepoint} -\endtt -will make very table with |\ninepoint| fonts. - - - -\mbr -\ext\@|\fulltablerule{<dimen>}| -\nbr -This draws a horizontal line across the width of the entire table of -thickness |<dimen>|. |\tr| is used in vertical rules for widths and should be -used here. For instance |\fulltablerule{2.5\tr}| will draw a horizontal line -2.5 times the thickness of the vertical rule given by \vrt which has the -width |\tr|. - -\mbr -\ext\@|\left| -\nbr -This command behaves identically to |\center| but {\bf left} justifies the data -entry. See |\center| for more details. - - -\mbr -\ext\@|\math{<argument>}| -\nbr -This command is similar to |\displaymath| except that it sets up a normal -text mathematics mode. Thus |\math{\alpha}| is equivalent to |$\alpha$|. In a -table format, it is used in conjunction with the |\center|, |\right|, and -|\left|. Thus |\math\center| produces a data column in text mathematics mode. - -\mbr -\ext\@|\midtabglue [=] <glue>| -\nbr -Changing the |<glue>| value of this parameter will insert tabskip glue into -the internal columns in the table. The first and last column tabskip -glues are set to 0pt plus 1fill. This is really only useful in conjunction with -|\tablespread| when it is required that a table stretch to a bigger size. - -\mbr -\ext\@|\modifystrut{<original>}{<add to height>}{<add to depth>} -\mst = \modifystrut| -\nbr -|\modifystrut| and its abbreviation |\mst| will create and insert a strut -that is |<add to height>| higher and |<add to depth>| lower. These latter are -dimensions and may be negative. The |<original>| may be a strut or a complete -expression. |<original>| could even be a duplication of the row, -as long as the row contained no explicit |&| characters and excluding the -|\br| and |\er|. However, the arguments of the |\br| and |\er| could be -included. - - -\mbr -\ext\@|\right| -\nbr -This command behaves identically to |\center| but {\bf right} justifies the data -entry. See |\center| for more details. - - -\mbr -\ext\@|\sa{<text>}| -\nbr -This command creates an empty box of zero height and depth with the width of -the natural width of |<text>|. It is, in effect, a horizontal strut and is used to -create columns that have the minimum width as others in the table, without -measuring. It was used to make a sample line in the {\it AT\&T} table in -Section~\ref{intable}. - -\mbr -\ext\@|\sprule| -\nbr -This is the name of the command that is inserted in a rule column by the -command |\|\vrt. It is usually a rule but in fact is unrestricted. It is -initially definded as a vrule of width |2.5\tr|. - - -\mbr -\ext\@|\tablespread = {<halign specification>}| -\nbr -This is a token list that can include any specification that is valid for an -|\halign|, or equivalently a box. See Chapter~\ref{basbox} for details. A -simple example is when a table is supposed to be exactly 8cm --- assuming that -its natural width is less. Then a |\tablespread = {to 8cm}|, added just -after the |\begintable|, along with the -default tabskip glue, will produce it. An example is the {\it AT\&T} table at -the beginning of the section. -$$ -\centerline{ -\begintable -\tablespread = {to 8cm} -\begintableformat -\center " \center " \center -\endtableformat -\br{} \sa{Dividend} "\sa{Dividend} "\sa{Dividend} \er{} %sample line -\- -\br{\:|} \use{3} AT\&T Common Stock \er{|} -\- -\br{\:|} Year | Price | Dividend \er{|} -\- -\br{\:|} 1971 | 41--54 | \$2.60 \er{|} -\- -\br{\:|} ~~~2 | 41--54 | ~2.70 \er{|} -\- -\br{\:|} ~~~3 | 46--55 | ~2.87 \er{|} -\- -\br{\:|} ~~~4 | 40--53 | ~3.24 \er{|} -\- -\br{\:|} ~~~5 | 45--52 | ~3.40 \er{|} -\- -\br{\:|} ~~~6 | 51--59 | ~~.95\rlap* \er{|} -\- -\br{\:}\use{3} \left{* (first quarter only)} -\endtable -} -$$ - - - -\mbr -\ext\@|\tcs| -\nbr -This dimension is the spacing inserted to the left and right of every data -column by \intex\ through the use of the |\left|, |\center| and |\right| -commands. It may be modified by |\tcs = <new dimen>|. - -\mbr -\ext\@|\thrule{<height>}| -\nbr -This command is used to insert a horizontal rule of thickness |<height>| -across an entire data column. The command |\use{3}\thrule{2.5\tr}| will -insert a horizontal line across three data columns, and omit the intervening -vertical rules, if any. - -\mbr -\ext\@|\tr| -\nbr -This dimension is the basic table line dimension, being the width of vertical -lines and the height of horizontal lines (rules). It defaults to the -natural width and height of \tex\ vrules and hrules, namely .4pt. It may be -modified by |\tr = <new dimen>|. - -\mbr -\ext\@|\tvrule{<width>}| -\nbr -This is a vertical line or rule with width |<width>|. The default value of -|<width>|, which is a dimen, is |\tr|. - -\mbr -\ext\@|\use{<number of data columns>}| -\nbr -This command effectively merges the next -|<number of data columns>| into one and uses the format or template of the -{\bf last} one. Thus if the last template is |\center|, then -|\use{4} Table| will put |Table| in the center of these four columns. If the -last column had a |\left| format but it was still desired to center |Table| -then |\use{4} \center{Table}| will do the job. This is \intex's version of -|\multispan| especially tailored to the idea of rule and data columns. - -\mbr -\ext\@|\zerocenteredbox{<text>} - \zb = \zerocenteredbox| -\nbr -|\zerocenteredbox| and its abbreviation |\zb| will take the |<text>| and put -it in a box, centered, and of zero height and depth. It automatically checks -modes so that it will work correctly even with display math templates. It is -used to place rows of data so that they are visually between data entries in -other columns. For instance, the following table had its last two rows done -this way. - -\bigbreak -\centerline{ -\begintable -\begintableformat - \left"&\center -\endtableformat -\fulltablerule{2.5\tr} -\br{\:\|} \| \use{5} SERVICE \er{\|} -\br{\|} \| \use{5}\- \er{\|} -\br{\:\|}CANONICAL\| Fully | Dynamic | Complete | Switched | Switched \er{\|} -\br{\:\|}NETWORK \|Connected|Allocation|Broadcast | Complete |Broadcast \er{\|} -\br{\:\|} \| | | | Broadcast| \er{\|} -\fulltablerule{3\tr}%--------------------------------------------------------- -\br{\:\|} Fully \| | | | | \er{\|} -\br{\|} \|\zb{$v$} |\zb{$v$} | \zb{$v$} |\zb{$(N-1)v$}|\zb{$(N-1)v$}\er{\|} -\br{\:\|}Connected\| | | | | \er{\|} -\- %-------------------------------------------------------------------------- -\br{\:\|}Simplex Tree\| | | | | \er{\|} -\br{\|} \|\zb{$v/(N-1)$}|\zb{$v$}|\zb{$v/(N-1)$}|\zb{$v$}|\zb{$v$}\er{\|} -\br{\:\|}Collection\| | | | | \er{\|} -\fulltablerule{2.5\tr} %------------------------------------------------------ -\endtable -} - - - -and is given by -\begingroup \eightpoint -\beginttverbatim -\1centerline{ -\1begintable -\1begintableformat - \1left"&\1center -\1endtableformat -\1fulltablerule{2.5\1tr} -\1br{\1:\1|} \1| \1use{5} SERVICE \1er{\1|} -\1br{\1|} \1| \1use{5}\1- \1er{\1|} -\1br{\1:\1|}CANONICAL\1| Fully | Dynamic | Complete | Switched | Switched \1er{\1|} -\1br{\1:\1|}NETWORK \1|Connected|Allocation|Broadcast | Complete |Broadcast \1er{\1|} -\1br{\1:\1|} \1| | | | Broadcast| \1er{\1|} -\1fulltablerule{3\1tr}%--------------------------------------------------------- -\1br{\1:\1|} Fully \1| | | | | \1er{\1|} -\1br{\1|} \1|\1zb{$v$} |\1zb{$v$}|\1zb{$v$}|\1zb{$(N-1)v$}|\1zb{$(N-1)v$}\1er{\1|} -\1br{\1:\1|}Connected\1| | | | | \1er{\1|} -\1- %-------------------------------------------------------------------------- -\1br{\1:\1|}Simplex Tree\1| | | | | \1er{\1|} -\1br{\1|} \1|\1zb{$v/(N-1)$}|\1zb{$v$}|\1zb{$v/(N-1)$}|\1zb{$v$}|\1zb{$v$}\1er{\1|} -\1br{\1:\1|}Collection\1| | | | | \1er{\1|} -\1fulltablerule{2.5\1tr} %------------------------------------------------------ -\1endtable -} -\endttverbatim -\endgroup -\ejectpage - -\endblockmode -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thauto.tex b/macros/inrstex/inrsdoc/thauto.tex deleted file mode 100644 index f21b5973ce..0000000000 --- a/macros/inrstex/inrsdoc/thauto.tex +++ /dev/null @@ -1,379 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{auto} -\marginnotestrue - -\def\cqu{\cquote{Words are sensible signs necessary for -understanding.}{Concerning Human Understanding, Book III, Chap. II, -John~Locke (1632-1704)}} - - -\chapterhead{auto}{AUTONUMBERING\cr REFERENCING\cr and TAGGING} -\intex\ provides facilities for automatic numbering and referencing of -chapters, sections, equations, figures, and tables. -Both the number of a chapter, equation, \dots\ and its page may be -referenced. -In addition there are -general features for defining your own special numbers and tags. For -instance, it is possible to obtain a new number for, say problem exercises, -by just calling |\newautonum{ex}|. This will create all the commands -necessary for referencing, resetting, and autoincrementing these numbers. - -Chapters, sections, subsections, {\it etc}, are also autonumbered and can be -referenced through tags. For instance this chapter has the tag |auto|. To -insert the value of the tag in the text, it is only necessary to type -|\ref{auto}|, which in this case gives \ref{auto} without any extra braces -brackets or periods. -Details of creating tags for chapters and sections are discussed in -Chapter~\ref{shead} starting on page \pref{shead}. - -\intex\ also supplies facilities for automatically numbering and creating -paper or journal citations (sometimes called confusingly, at least here, {\it -references}). These are discussed in Chapter \ref{cite}, page \pref{cite}. -The facilities for creating lists of tables or figures are found in Chapter -\ref{toc} starting on page \pref{toc}\footnote{\dagger}{One must be careful -not to overdo an easily used facility.}. - -\shead{autocomlist}{Command List} -\begintwocolumn -\ext|\aneq| -\ext|\aneqtag| -\ext|\autonumberingon| -\ext|\autonumberingoff| -\ext|\autoreferencingon| -\ext|\autoreferencingoff| -\ext\@|\autoeqnum| -\ext\@|\autotblnum| -\ext\@|\autofignum| -\ext|\auto<type>num| -\ext|\inputtagfiles| -\ext|\newautonum| -\ext|\newtag| -\ext|\numberbychapter| -\ext|\numberbysection| -\ext|\Prerefform| -\ext|\Postrefform| -\ext|\pageref \pref| -\ext|\pagequietref \pqref| -\ext|\pagetagsoff| -\ext|\pagetagson| -\ext|\quietref \qref| -\ext|\ref| -\ext|\silent| -\ext|\specialnumberscontinuous| -\ext\@|\<type>tagrefformat| -\ext\@|\<type>num| -\ext\@|\<type>tagreplaceformat| -\ext\@|\<type>numform| -\endthreecolumn - -\shead{tagcon}{Tagging Conventions} -Such items as section heads, equations, figures, and tables may be given -symbolic ``tags'' so that references to them will be correct even if there -are deletions, insertions, or shufflings. ``Normal'' tags refer to the -section, equation, or figure numbers while ``page'' tags refer to the page -where the item occurred. Page tags are turned on with the \@|\pagetagson| -command and turned off with \@|\pagetagsoff|. The default is |\pagetagsoff|. - -The tagging system within \intex\ is designed to work best when the -autonumbering features are on. -It is designed so that both forward and -backward references are possible. This is done by saving the tags in a file -while \tex\ is processing. The next time the document is processed, the use -of the command |\autonumberingon| or -|\autoreferencingon| will bring in the latest version of the tag -file. As tags are generated, the new definitions and values replace the old -ones. When there is a reference to a tag that has not -yet been (newly) defined, the old value is used. To guarantee that the tag -references are correct, the document should be processed twice. This, of -course is only necessary on the ``final'' version. - - -All tags, whether they are for chapters, sections, equations, citations, -or specials -{\bf must be unique within the entire document}. This allows for the value of -a tag, which is usually a number, may be referred to by |\ref{<tag>}| -or |\quietref{<tag>}| and the page number where it occurred by -|\pref{<tag>}| or |\pqref{<tag>}|, no -matter the type being tagged. The quiet forms of the refs do not create -margin notes and do not check to see if a tag actually exists. Thus both -|\qref{<tag>}| and |\pqref{<tag>}| will give an error -if |<tag>| does not exist. -The quiet forms {\bf must} be used inside section heads and are recommended -whenever the ref is passed as a parameter to som other command. -The tag value does not have -any additional brackets or braces around it. For instance, if an equation was -given a tag of |theq|, and that was eventually given the value of 2.11 where -the first number is the section or chapter and the second is the equation -number, then |\ref{theq}| would insert 2.11 into the text. To obtain ``Eq. -(2.11)'' in the text it is necessary to type |``Eq. (\ref{theq})''|, the -(\dots) being put in explicitly. - -In almost all instances, the actual tag is generated automatically by the -autonumbering forms. However, the |\newtag{<tag>}{<tagvalue>}| command will -create a tag with the name |<tag>| and the value |<tagvalue>| for |\ref| and -the current page number for |\pref|. - -Sometimes it is necessary to create the tag -{\it silently, ie} without any trace in the text. Although |\newtag| does not insert -into the text, |\auto...num| does. The commands - \@|{\silenttrue \auto...num{<tag>}}| will cause the -|\...num| to increment but nothing will be placed in the text. T -his is preferred -to |\silent{<text>}|. -Note that |{\silenttrue <text>}| will normally put the |<text>| in the -document. - -\shead{refformats}{Tag Insertion Formats} -When a new tag and auto number is created, there are a number of reference -forms for that tag that are also created. These are -\begintt -\<type>tagrefformat -\<type>tagreplaceformat -\<type>numform -\endtt -The first governs the format of the initial replacement of the |<tag>| when -it created. The default in |\newautonum{<type>}| is to make it the same as -|\<type>tagrefformat|. The second,|\<type>tagrefformat| is the format for inserting -the tag value when it is actually referred to in the text. -The third |\<type>numform| is set initially equal to -|\the\<type>num|, the value of the counter corresponding to |<type>|. This -may be modified if something other than simple arabic numerals are wanted. -|\newautonum{<type>}| defines -|\<type>tagrefformat| to be equivalent to -``|\Prerefform \<type>numform \Postrefform|''. -The commands |\Prerefform| and |\Postrefform| -are defined by |\numberbysection|, |\numberbychapter| and modified when -inside Appendices. - -\shead{validtag}{Valid Tag Forms} -Any character except the following ``|\ $ % & _ ^ { } "| \vrt'' are -valid as, and within tags. - -\shead{numcon}{Numbering Conventions} -There are basically two types of autonumbers in \intex, those that deal with -chapters, sections, subsections, subsubsections, and appendices, and the {\it -special} ones defined for equations, tables, figures, or any created -especially for that document. - -Associated with every autonumber is a {\it count} with the name |\<type>num|. -For instance the count associated with equations is |\eqnum| and that with -subsections is |\sshnum|. However, when the number is actually inserted -into the text, it is not the raw number that is inserted, but rather some -formatted version. The formatting appends to the basic count, either nothing, -or the numbers corresponding the chapter or section where the number was -first created. The actual formatting depends upon what type of numbering -format is in force. - -For instance, for a document with chapters, the ordinary convention is to -number the specials as -``|<chapter number>.<special number>|''. If -the document has sections but no chapters, and if |\numberbysection| has been -called, the format is ``|<section number>.<special number>|''. The default in -\intex\ is neither of these but is continuous numbering. -This means that the -specials have the form ``|<special number>|'' and are not reset, except in -appendices, throughout the document. Continuous numbering of specials is -forced by |\specialnumberscontinuous|. - -Appendices are treated specially. The specials are reset upon entering an -appendix, and the reference formats always include the appendix number. The -appendix number is usually an uppercase roman letter, although other formats -are possible. - -\shead{autocomforms}{Command Forms} -\beginblockmode -\ext\@|\aneq \aneqtag{<tag>}| -\nbr -These commands are specials for use in display math mode to create equation -numbers. They increment the equation counter |\eqnum|, and insert either a -left or right hand equation number as appropriate, with the equation number -{\bf surrounded} by brackets like (|<num>|). This is provided to reduce the -amount of typing required. The |\aneqtag{<tag>}| also creates a |<tag>| -possible reference. - -\mbr -\ext\@|\autonumberingon| -\nbr -This command turns automatic numbering on. It brings in the tag file with name -|\jobname.tag|, if it exists, and opens a new version for writing the tags -generated by that \tex\ processing run. The |\jobname| is the file name of -the \tex\ file {\bf without} the normal |.tex| extension. -No errors will result if this command is called several times. - -\mbr -\ext\@|\autonumberingoff| -\nbr -This command turns automatic numbering off and closes the tag file. -\intex\ defaults to |\autonumberingoff|. - -\mbr -\ext\@|\autoreferencingon| -\nbr -This command turns automatic referencing on. It brings in the tag file with name -|\jobname.tag|, if it exists. A |\ref{<tag>}| will result in the -|<tagvalue>| being put in the text. A |\pref{<tag>}| will result in the page -number where |<tag>| was last defined being put in the text. -No errors will result if this command is called several times. -\intex\ defaults to referencing being active but does not automatically bring -in a |.tag| file. - -\mbr -\ext\@|\autoreferencingingoff| -\nbr -This command turns referencing off. -Both |\ref{<tag>}| and |\pref{<tag>}| will result in the -|<tag>| being put in the text. - - -\mbr -\ext\@|\auto<type>num{<tag>}| -\nbr -This is the basic command for incrementing the |<type>| number and creating a -tag for that number with the tag name of |<tag>| and the tag value of the -number in the correct format given the numbering form in force. \intex\ -defines three basic types, |eq| for equations, |fig|, for figures, and |tbl| -for tables. The tag is written to the |.tag| file. - -\mbr -\ext\@|\inputtagfiles [=] {<input command><file name> ...}| -\nbr -In some cases it may be useful to bring in a file or list of files -of tags other than those in -|\jobname.tag|. |\inputtagfiles| is a |<token list>| of commands of the type -given. -For instance the master file for this book was called |th.tex| -while the file for this chapter was called |thauto.tex|. If -|\autonumberingon| is called when \tex ing this chapter by itself, the tag -file brought in will have the name |thauto.tag|. To use the |th.tag| file it -is only necessary to put -\begintt -\inputtagfiles = {\inputwithcheck{th.tag} } in the chapter file. -\endtt - - -\mbr -\ext\@|\newautonum{<type>}| -\nbr -This command creates all the necessary commands for using and referring to -the autonumber of |<type>|. The |<type>|s defined by \intex\ are |eq|, |fig|, -and |tbl|, corresponding to equations, figures, and tables respectively. It -is recommended, but not required that |<type>| be restricted to 3 or fewer -characters. This allows for a consistent use of |<type>| as the extension of -list file used for eventually creating a table of items for the table of -contents part of a document. -For instance, the equation numbering was created with |\newautonum{eq}|. This -created the counter |\eqnum|, and the -commands |\eqnumform|, |\eqtagreplaceformat|, and |\eqtagrefformat|. Any of -these can be changes at will. However, care must be taken if consistent -numbering formats is to be maintained. - -\mbr -\ext\@|\newtag{<tag>}{<tag value>}| - -\ext\@|\newttag{<tag>}{<tag value>}| - -\ext\@|\newptag{<tag>}| -\nbr -This creates a (normal) tag with reference name |<tag>| and value -|<tag value>| and a page tag with the reference name|<tag>| and the current -page value. These -tags are written out to the |.tag| file if it is open. Page tags will get -lost if they are produced inside a box that is never inserted in the text. -This occurs for {\bf all} text inside a |\silent{<text>}|. -|\newttag{<tag>}{<tag value>}| creates and writes a normal tag while -|\newptag{<tag>}| creates and writes a page tag. - -\mbr -\ext\@|\numberbychapter| -\nbr -This command will cause {\it specials} to be reset at the beginning of each -new {\bf chapter}, and to append the {\bf chapter} number to any tag reference and to the -original tag replacement. - -\mbr -\ext\@|\numberbysection| -\nbr -This command will cause {\it specials} to be reset at the beginning of each -new {\bf section}, and to append the {\bf section} number to any tag reference and to the -original tag replacement. - - -\mbr -\ext\@|\pagequietref{<tag>} \pqref{<tag>}| -\nbr -This is a putting the page number in the text that corresponds to any -|<tag>| -that has been previously -defined. It does not attempt to create a margin note nor does it -check to see if the |<tag>| is valid. This allows the -reference to be used in such places as section heads, titles, captionboxes. -In fact it {\bf must} be used in {\bf any} place where the surrounding text is -written to a special file or the terminal. -Page references {\bf are always from the previous version.} - - -\mbr -\ext\@|\pageref{<tag>} \pref{<tag>}| -\nbr -This is the basic command for inserting the -page number corresponding to any |<tag>| that has been previously -defined. Page references {\bf are always from the previous version.} - -\mbr -\ext\@|\pagetagson \pagetagsoff| -\nbr -These commands turn page tags on and off respectively. The default is off. -It is important to wait until the page containing the item is actually output -before turning off page tags. The page tags are actually generated when the -page is output \dots\ not before. - - -\mbr -\ext\@|\quietref{<tag>} \qref{<tag>}| -\nbr -This is a putting the |<tagvalue>| in the text that corresponds to any -|<tag>| -that has been previously -defined. It does not attempt to create a margin note nor does it -check to see if the |<tag>| is valid. This allows the -reference to be used in such places as section heads, titles, captionboxes. -In fact it {\bf must} be used in {\bf any} place where the surrounding text is -written to a special file or the terminal. - - - -\mbr -\ext\@|\ref{<tag>}| -\nbr -This is the basic command for inserting the -|<tagvalue>| for any |<tag>| that has been previously -defined. - - -\mbr -\ext\@|\silent{<text>}| -\nbr -This command expands the |<text>| inside a |vbox|, but without ever having it -enter the document. This is a way to call out a |\figureinsert| in order to -create the normal tags and list files without it actually appearing in the text. -{\bf Page tags will not be created in this case.} -Note that tags defined inside a |\silent| {\it may} not appear in the -margin. The actual mechanism used is -|\setbox0 = \vbox{<text>}|. See Chapter~\ref{basbox} for more details on -|box| commands. - -\mbr -\ext\@|\specialnumberscontinuous| -\nbr -This command will prevent the {\it special} numbers from being reset at any -point in the document, except appendices. A reference to a {\it special} number -tag will result in the value of the appropriate counter with no section or -chapter numbers added. {\bf All special numbers are treated the same way.} - - -\endblockmode - -\ejectpage -\marginnotesfalse -\done diff --git a/macros/inrstex/inrsdoc/thbas.tex b/macros/inrstex/inrsdoc/thbas.tex deleted file mode 100644 index 4dfc9e1afa..0000000000 --- a/macros/inrstex/inrsdoc/thbas.tex +++ /dev/null @@ -1,220 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{bas} -\def\testhrule{\hrule} -\def\testvrule{\vrule} -\def\cqu{\cquote{Once a ``question'' is perfectly understood, we -must free it of every conception superfluous to its meaning \dots}{ - Rules for the Direction of the Mind, Rule XIII, -Ren\'e~Descartes (1596-1650)}} - -\chapterhead{bas}{BASIC IDEAS\cr and\cr TERMINOLOGY} -This chapter introduces some more terminology used in \tex\ and \intex. These -are {\it boxes, glue, dimensions, modes, penalties, groups, tokens, token lists, -definitions, macros, assignments} and {\it parameters}. - -\shead{boxes}{Boxes} - -\vbox{\hrule\hbox{\vrule\vbox{\hsize=\hcolumnsize -\tex\ can be imagined as assembling boxes, in various {\it modes}, -much in the same way that a child -builds a castle. -Pages are formatted by glueing together such boxes. This page has some of the -component boxes outlined so you can see them. In fact this paragraph -is surrounded by a box that is made up by \tex's page paragraph builder, -when it pastes together a page. However this process starts from the bottom -up. First \hh{l}\hh{e}\hh{t}\hh{t}\hh{e}\hh{r}\hh{s} are glued together -horizontally to make the word \hh{letters}. Then all the words in a paragraph -are glued together, with appropriate -interword spacing, in a single long line. Finally this long line is broken -into page-width lines in the nicest way. -}\vrule}\hrule} - -A {\it horizontal} box, one with a {\it horizontal list} such as the -words in a paragraph, is an |\hbox|. A -{\it vertical} box, for example the one that contains the -vertical list of |\hbox|es for the lines, -is called a |\vbox|. -The most important |\vbox| for \tex\ is the one that is used to collect the -lines that make up the page. This is box 255, and it is on this box that the -page builder works. There are, in fact, 256 boxes available to use. Some of -these have been already used by |plain| or an extension package. - - -\shead{glue}{Glue} -Boxes are not the whole story. Between boxes there is {\it glue}. This glue -can stretch or shrink and is stretched or shrunk in order to make a list of -boxes inside another, such as words on a line, evenly fill out the line. This -is how words are right justified on a line. When there is not enough stretch -or shrink available, \tex\ complains about an {\it underfull} or {\it -overfull} box. Overfull boxes are indicated on the document with an ugly -black vertical line at the end of the offending box. Underfull boxes cause -error messages and the glue is stretched beyond its limits. -When glue is inserted, it shows up as blanks or white space. -More detail on glue will be found in Chapter~\ref{dimnum}. - -\let\testhrule=\relax -\let\testvrule=\relax - -\shead{dimensions}{Dimensions} -Boxes have dimensions that consist of a |<decimal number>| and a two letter -unit of measurement such as |in| for inches or |cm| for cm. Thus ``2.54cm'' -is another way of saying ``1in''. When \tex\ is processing some text looking -for a dimension, it reads the next two letters after a number and attempts to -interpret this as a unit of measure, whether or not there is a space or non -letter following. More details on dimensions will be found in -Chapter~\ref{dimnum}. - -\shead{modes}{Modes} -When \TeX\ is -putting together a horizontal list of boxes, such as characters in a line, -it is said to be in the {\it horizontal} mode. The result of working on a -{\it horizontal} list of boxes is a {\it horizontal} box. - -If \TeX\ is putting together -boxes {\bf inside} another {\it horizontal} box, it is in the {\it internal} {\it horizontal} mode. -Lines are assembled as a {\it vertical} list to create {\it vertical} boxes. When -assembling {\it vertical} list of boxes to makeup a page, \TeX\ is said to be in -{\it vertical} mode. When processing a {\it vertical} list of boxes to make up a -{\it vertical} box it is in the {\it internal vertical} mode. \tex's page builder is in -action when \tex\ is in {\it vertical} mode. When in {\it internal \it vertical} mode it is -not. In fact this is about the {\bf only} difference between the two -modes.\footnote{\ddagger}{This was not the case in \tex78.} - -\TeX\ has two other modes, {\it mathematics} mode, and {\it display mathematics} -mode. It is in these modes that mathematical equations, subscripts, and -superscripts are produced. You {\bf cannot} create subscripts and superscripts -in non {\it mathematics} mode. {\it Mathematics} mode is used to imbed {\it mathematics} -or mathematical symbols amongst normal text. {\it Display mathematics} will -create a displayed equation. - -For the most part \tex\ will flip from one mode to another automatically when -it meets a command that should occur in one of the specific -modes. - -\shead{penalties}{Penalties} -\tex\ does its work by assigning {\it penalties} to various visually -disturbing aspects of the page. It then tries to make the total of these -penalties as low as possible, and when it happens, confidently declares that -the best possible job has been done. Sometimes the results are not as nice as -either you or \tex\ would like. \tex\ not liking it means that there was no -feasible way to do things, such as build a paragraph, or break a page without -violating the norms of good taste as embodied in such things as glue -stretching badness on a line. The result is {\it underfull} or {\it overfull} -boxes. In some cases, the result is just plain awful. \tex\ has about 40 -parameters, and the various extensions many more. Any of these may be changed -to improve a given situation. In fact, since \tex\ actually assigns penalties -based on the context or state of a page, the penalty approach will -theoretically satisfy any objective. Difficulties arise in choosing the -penalties to match your objectives and upon obtaining a consensus on -objectives. The playing with penalties is an advanced occupation. - -\shead{grouping}{Grouping} -One of the most important ideas in \tex, is that of a {\it group}. -Commands in \intex\ of the form |\begin... \end...|, -the inside of boxes and fields in an |\halign| always -form a {\it group}. The |{...}| also form a group {\bf unless they are -being used to determine the parameters for a definition}. - -A {\it group} allows for an action to be restricted to a small locality, -and to easily revert to the previous form when going outside the group. For -instance, this paragraph is set in roman type. The command |\bf| \bf causes -everything after it to appear in bold face type until there is something like -a |\rm| \rm to return it back to normal. However if the |\bf| were placed -inside a group, the effect of the command will be undone when leaving the -group {\bf without} you having to remember what to undo. To insert some -{\bf bold face type} in the midst of roman type just enclose it in a group -like |{\bf bold face type}| and the roman will magically reappear after the -group. - -Both |{...}| and the |\begingroup...\endgroup| pairs define groups. The -major difference is that the text inside |{...}| is absorbed by \tex\ -immediately as a single entity while the passing through a |\begingroup| just -causes \tex\ to note that it has gone into another level of grouping. - -Braces |{...}| are most useful to define parameter groups for definitions -For instance the command |\sqrt{<math expression>}| uses the |{...}| to -determine exactly what should be under the square root sign. They are also -useful for short groups within the body of the text. - -However, for major, long groups the |\begingroup...\endgroup| pair should -be used. -For instance, in \intex, |\beginappendices| begins a group which is -ended when you say |\endappendices|. While inside that group special -changes to the format of equation numbers and section references are -occurring. When the group is left, these are undone. In fact, in \intex, any -command that has the form |\begin...| will enter a group and have a -corresponding |\end...| associated with it that must be used to properly -leave the group. - -While \tex\ is still reading commands, before it has settled down to actually -doing its work, braces and |\begingroup...\endgroup| pairs do not need to -match. This is a perfectly valid grouping -|{...\begingroup...}...\endgroup|. -In fact |{ ...\endgroup| is not a valid grouping. -When the information in the \tex\ commands get finally -deep down inside \tex, all groups are the same and if a group is opened it -must eventually be closed. This is possible because of the special way that -\tex\ destroys braces while it is digesting commands. \tex\ never destroys -|\begingroup...\endgroup| pairs. - -\shead{tokenlists}{Tokens and Token Lists} -When \tex\ reads your file, it {\bf immediately} changes the input characters -{\it tokens}. In this sense a command like |\begingroup| is a {\bf single} -token. A {\it token list} is simply a list of tokens. One of the features of -\tex\ that is used in \intex\ is the named {\it token list}. For instance, -\intex\ defines the token list |\chaptername| to be the chapter name. This -chapter has a name -\begintt -\chaptername = {Basic Ideas\cr and\cr Terminology} -\endtt -Note that there are |\cr| in this list that do not give any trouble. To -insert the contents of a {\it token list} into the text, the command -|\the\chaptername| is used. The following -\begingroup -\chaptername = {Basic Ideas\cr and\cr Terminology} -$$ -\centerline{\vbox{\halign{\strut\hss #\cr - \the\chaptername \cr}}} -$$ -\endgroup -is obtained by -\begintt -\centerline{\vbox{\halign{\strut\hss #\cr - \the\chaptername \cr}}} -\endtt -\def\mjf{Michael J. Ferguson} - -\shead{defsintro}{Definitions or Macros} -Both \tex\ and \intex\ let the user define their own commands. These are of -the form |\<name>| and are single tokens. The terms {\it definitions} and -{\it macros} are to be considered identical. If for some reason your name -occurs frequently in your text, the following would make typing easier: -\begintt -\def\mjf{Michael J. Ferguson} -\endtt -would allow for ``\mjf, \mjf, \mjf'' to be inserted in the text by merely typing -``|\mjf, \mjf, \mjf|''. More details on definitions will be found in -Chapter~\ref{defs} and in the \texbook. - -All the internal \intex\ macro definitions have an {\tt @} as the second -letter. Since an {\tt @} is not normally allowed in definition names there is -no danger that you will inadvertently redefine a command that is used by -\intex\ but is not found in the command index (following page \pref{index}). - - -\shead{assignments}{Assignments and Parameters} -{\it Parameters} in \tex\ and \intex\ are used to keep and allow modification -of such things as page sizes, list spacing, or page margins. They are all -modified by -\begintt -\<parameter name> [=] <new value> -\endtt -where the ``|=|'' is optional. For example -\begintt -\houterpagesize = 8in -\endtt -will change the width of the page to eight inches. - -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thbasbox.tex b/macros/inrstex/inrsdoc/thbasbox.tex deleted file mode 100644 index 86f7b6d2e9..0000000000 --- a/macros/inrstex/inrsdoc/thbasbox.tex +++ /dev/null @@ -1,383 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{basbox} - -\def\cqu{} - -\chapterhead{basbox}{BASIC\cr BOX\cr COMMANDS} -\TeX 's major preoccupation is to make -boxes. This chapter discusses the basic commands that create and use boxes. -Boxes can be acquired, measured, split, copied, and squashed. \tex\ allows -almost anything that can be done on a page to be done inside a box. - -\shead{boxcom}{Command List} -\beginthreecolumn -\pri|\box| -\ext|\boxit| -\pri|\boxmaxdepth| -\pri|\copy| -\pla|\centerline| -\pri|\dp| -\pri|\everyhbox| -\pri|\everyvbox| -\pri|\hbox| -\pri|\ht| -\pri|\hrule| -\pla|\leftline| -\pla|\line| -\pla|\llap| -\pri|\lower| -\pla|\newbox| -\pri|\raise| -\pla|\rightline| -\pla|\rlap| -\pri|\setbox| -\ext|\strut| -\pri|\unhbox| -\pri|\unhcopy| -\pri|\unvbox| -\pri|\unvcopy| -\pri|\vbox| -\pri|\vcenter| -\pri|\vrule| -\pri|\vsplit| -\pri|\vtop| -\pri|\wd| -\ext|\zerocenteredbox| -\endthreecolumn - -\shead{boxtype}{Vertical and Horizontal Boxes} -There are two kinds of boxes, horizontal and vertical. This -differentiation is only one of {\it use}, not of quality. All boxes have a -height |\ht|, width |\wd|, and depth |\dp|, and reference point. -The reference point is at the left hand end of the {\it baseline} of the box. - -\boxexample -\noindent -Horizontal lists of boxes are lined up along their baselines. Vertical lists -of boxes are lined up along their reference points. - - - -The major difference is that -an |\hbox| contains a {\it horizontal} list of commands and boxes and -assembles these on a horizontal line while a -|\vbox| contains vertical list of commands and boxes and assembles them on -top of each other in a vertical list. - -While inside a horizontal box, \tex\ is said to be in {\it internal} -horizontal mode. This is the mode that is wanted when there is some centering -or other coercive placement of text on a line required. -The inside of a vertical box is known as {\it internal vertical mode}. Almost -anything that can be done on a page can also be done inside a vertical box. -The {\bf width} of a |\vbox| is determined in the following way: if the mode -inside the box is never changed from -vertical, the box width is the {\it natural} width of the material inside; if -the mode in the box changes to either horizontal or mathematics, the width of -the box is the current value of |\hsize|. If it has not been changed, -|\hsize| will probably be the width of a page. The mode in the box will be -changed to horizontal if there is either mathematics or ordinary text placed -in the box without first being enclosed in an |\hbox| such as a -|\centerline|. - -One box is very special, namely box 255. This box is the page building box -and only material in this box is acted upon by the page builder and breaker. -When \tex\ is in this box, it is said to be in (non-internal) {\it vertical} -mode. -Although only box 255 can be worked upon by the page builder, other boxes can -be split, using rules similar to the page builder by the |\vsplit| command. -It is possible then to accumulate text in a long vertical box for future -splitting when the length of the box is known. A newbox is acquired by -|\newbox|. -Text is placed in a box using -the |\setbox| command and removed using any one of a number of |\box|, -|\copy| or |\unvbox| commands, with various effects on the box contents. -Boxes may be superimposed by forcing their height, depth, and width to be -zero, making sure there is appropriate internal glue to allow the contents to -spill out and prevent overfull boxes. The commands |\rlap| and |\llap| allow -for horizontal superposition of |\hboxes|. As might be expected, the effects -can be interesting. - -Box registers are numbered from 0 to 255. -|\newbox\<box name>| allocates an unused box number -and assigns it the symbolic name |\<box name>| which now -can be used wherever there is a need for a box number. - -The following example does not result in an overfull -box and illustrates a number of the commands in this section. The intent is -to acquire a box, put a character into it, coerce its size down to a point, -and then to move it around so that the result is an overlapping pattern of -the character. The result is - \newbox\testbox - \setbox\testbox = \vbox{\hbox{$\bigodot$\hss}\vss} - \dp\testbox=0pt \ht\testbox=0pt \wd\testbox=0pt - \centerline{.\copy\testbox \lower1ex\copy\testbox - \hskip .5em \lower1ex\copy\testbox} -\vskip .25in -It is obtained, with accompanying explanation, by -\begintt - - \newbox\testbox %allocates a newbox called \testbox - \setbox\testbox = \vbox{\hbox{$\bigodot$\hss}\vss} - % sets the box \testbox to be a \vbox -- the \vss - % and \hss prevent the overfull box - \dp\testbox=0pt \ht\testbox=0pt \wd\testbox=0pt - % the size of \testbox is now 0 -- the \vss and - % \hss above leave the reference point in the upper - % lefthand corner - \centerline{.\copy\testbox \lower1ex\copy\testbox - \hskip .5em \lower1ex\copy\testbox} - % the . is for reference --- the centerline puts it - % in the middle of the page -\endtt - - - - -\shead{boxcomforms}{Command Forms} -\beginblockmode -\pri\@|\box{<named box>}| -\nbr -This command takes the |<named box>|, whether a |\vbox| or -|\hbox|, and places it at that point in the present list. The resulting -|<named box>| is now empty. - -\mbr -\ext\@|\boxit{<line thickness>}{<border separation>}{<box, vlist>}| -\nbr -|\boxit| takes the box, or vertical list and puts a box around it with a -border separated from the |<box>| by |<border separation>| and a having a -thickness of |<line thickness>|. For example - -\centerline{\boxit{2pt}{3pt}{\hbox{Center}}} -is given by -\begintt -\centerline{\boxit{2pt}{3pt}{\hbox{Center}}} -\endtt - -\mbr -\pri\@|\boxmaxdepth [=] <dimen>| -\nbr -This sets the maximum box depth to |<dimen>|. If the natural depth of the box -is greater than |<dimen>|, the box is raised (increasing its natural height) -until the depth does equal |<dimen>|. - -\mbr -\pri\@|\copy{<named box>}| -\nbr -This takes the |<named box>| and puts it in the present list. The box -contents are {\bf not} destroyed. - - -\mbr -\pla\@|\line{<horizontal list>}| -\nbr -\pla\@|\centerline{<horizontal list>}| -\nbr -\pla\@|\leftline{<horizontal list>}| -\nbr -\pla\@|\rightline{<horizontal list>}| -\nbr -|\line| is an |\hbox| the same size as |\hsize|, the natural size of the -enclosing box such as a page. |\leftline|, |\centerline|, |\rightline| -respectively take the |<horizontal list>| and force it to the left, middle, -and right parts of the box. -|\line| is identical to |\hbox to \hsize{<horizontal list>}|. |\leftline| is -|\line{<horizontal list>\hss}|, |\centerline| is |\line{\hss<horizontal -list>\hss}|, and |\rightline| is |\line{\hss<horizontal list>}|. - -\mbr -\pri\@|\box dimensions ... \dp \ht \wd| -\nbr -\pri\@|\dp<named box> [=] <dimen> - \ht<named box> [=] <dimen> - \wd<named box> [=] <dimen>| -\nbr -The commands |\dp \ht \wd| refer to the depth, height, and depth of the -|<named box>|. The form above sets the |<named box>| to these dimensions. - - -\mbr -\pri\@|<scale factor>\dp<named box> - <scale factor>\ht<named box> - <scale factor>\wd<named box>| -\nbr -These forms are all valid |<dimen>| and can be used when ever a |<dimen>| is -valid. For instance |\hsize = .378\wd\testbox| is a valid assignment for -|\hsize| as long as |\testbox| is a valid box number. These forms are useful -for some types of arithmetic. - - -\mbr -\pri\@|\everyhbox = {<token list>}| -\nbr -\pri\@|\everyvbox = {<token list>}| -\nbr -This command inserts the |<token list>| as the first set of commands whenever -an |\hbox| or |\vbox|, respectively is entered by \tex. - -\mbr -\pri\@|\hbox <box spec>{<horizontal list>}| -\nbr -\pri\@|\vbox <box spec>{<vertical list>}| -\nbr -These insert |\hbox| and |\vbox| respectively, according to the |<box spec>| -and containing the |<... list>|. The |<box spec>| is a specification sequence -for the box. - -\mbr -\pri\@|<box spec>| -\nbr -The |<box spec>| is one of the following: -\nbr -\bshortcomlist -\noalign{\vskip -\lastskip} -| to <dimen>|&this sets a -|\hbox| to width |<dimen>| or a |\vbox| to height |<dimen>| ; if |<dimen>| is -|\hsize|, the box is the natural width of the surrounding box or page \cr -|<nothing>|&this lets the box take on its natural width or height\cr -\eshortcomlist - -\pri\@|\vbox{\hsize [=] <dimen> <text>}| -\nbr -This creates a |\vbox| with a specified horizontal dimension. {\bf This box -will accept almost anything that can be put on a page including display -mathematics, |\centerline|, and ordinary text.} It is the basic mechanism for -creating boxes that look like pages for future pasting up into a -page.\footnote{\dagger}{This replaces the |\hbox par <dimen>{<...>}| in -\tex78.} - -\mbr -\pri\@|\hrule [height <dimen>] [width <dimen>] [depth <dimen>]| -\nbr -\pri\@|\vrule [height <dimen>] [width <dimen>] [depth <dimen>]| -\nbr -These commands create lines of the specified height, width, and depth. Any or -all of the parameters may be omitted. The |\vrule| is used in {\it horizontal} -mode and the |\hrule| is used in {\it vertical} mode. If there is no -dimension given the {\it rule} is the natural size of the enclosing box. For -instance, on a page the enclosing box is the page itself. Thus -\begintt -\par -\hrule -\endtt -gives -\par -\hrule -a line across the entire page. Rules are used to make the lines in the -|\boxit| macro earlier in this section. - -\mbr -\pla\@|\llap{<text>}| -\nbr -\pla\@|\rlap{<text>}| -\nbr -These commands allow |<text>| to be superimposed on the text around it. -The |\rlap| creates a box of width 0pt and forces the |<text>| out to the -right. |\llap| does the same thing but to the left. Thus |\rlap{A}$\odot$| and -|A\llap{$\odot$}| give the same result namely \rlap{A}$\odot$, and -A\llap{$\odot$} respectively. This is a way to put text into either margin. - - -\mbr -\pri\@|\lower<dimen><box>| -\nbr -\pri\@|\raise<dimen><box>| -\nbr -These commands work only in {\it (internal) horizontal} mode. They lower or -raise the |<box>| by the |<dimen>|. An example of their use was illustrated -in the previous section. - -\mbr -\pri\@|\setbox<named box> [=] <box>{<list>}| -\nbr -This is the basic command for putting contents in a |<named box>|. The -|<box>| is any valid |\hbox| or |\vbox| including a |<box spec>| if desired. -The |<list>| is either vertical or horizontal depending upon the box type. - -\mbr -\ext\@|\strut| -\nbr -|\strut| is a |\vrule| of zero width, -with height and depth for normal baseline spacing in the current font point -size family. It is useful -in |\vbox{\hsize <dimen> \strut <text> \strut}|. The two |\strut|s will -ensure correct spacing when boxes of this sort are stacked upon each other. - - -\mbr -\pri\@|\unhbox{<named hbox>}| -\nbr -\pri\@|\unhcopy{<named hbox>}| -\nbr -\pri\@|\unvbox{<named vbox>}| -\nbr -\pri\@|\unvcopy{<named vbox>}| -\nbr -These commands take the contents of the |<named box>|, remove the outer box, -unset the internal glue, and put it in the list at this point. The |..box| -forms destroy the contents of the box and leave it |void|, while the |..copy| -forms do not. - -\mbr -\pri\@|\vcenter{<vertical list>}| -\nbr -This command works in {\it math} or {\it display math} mode only. It creates -a |vbox| out of the |<vertical list>| and sets the reference baseline in the -center of the resultant box. It is used for centering expressions in display -mathematics. - -\mbr -\pri\@|\vsplit<named box> to <dimen>| -\nbr -A new |vbox| with height |<dimen>| and maximum depth -\@|\splitmaxdepth| is created from the contents of |<named box>|. Any remains are left in -the |<named box>|. This is useful for some simple multicolumn forms. - - -\mbr -\pri|\vtop <box spec>{<vertical list>}| -\nbr -This command creates a |vbox| with the baseline reference of that box -being the baseline of the {\bf first box} in the |<vertical list>|. This is -useful in the following way. This quotation - -\centerline{\veryraggedright - \vtop{\hsize 1.8in The plans of the diligent lead - surely to abundance, but every - one that is hasty comes only to - want.} - \hss - \vtop{\hsize 1.8in This quotation comes from {\it Proverbs - 21, Verse 5}. It suggests care.} - } -is given by -\begintt -\centerline{\veryraggedright - \vtop{\hsize 1.8in The plans of the diligent lead - surely to abundance, but every - one that is hasty comes only to - want.} - \hss - \vtop{\hsize 1.8in This quotation comes from {\it Proverbs - 21, Verse 5}. It suggests care.} - } -\endtt -Note that these are lined up on the first rows. - -\mbr -\ext|\zerocenteredbox {<text>}| -\nbr -This creates an |hbox| of zero height and depth with the width of the -|<text>|. Thus a -|\zerocenteredbox{\bf point}| gives \zerocenteredbox{\bf point}\ with the -placement as shown. The reference point of the box is at the center of the -text which effectively lowers it to the baseline. -This command is intended for use in making tables. See -Chapter~{\ref{align}} for more details. - -\endblockmode - -\ejectpage -\done - \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thbreak.tex b/macros/inrstex/inrsdoc/thbreak.tex deleted file mode 100644 index 029a603627..0000000000 --- a/macros/inrstex/inrsdoc/thbreak.tex +++ /dev/null @@ -1,60 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{break} - -\def\cqu{} - -\chapterhead{break}{BREAKS\cr and\cr NOBREAKS} -\tex\ controls the breaking of lines and pages by the judicious insertion of -penalties, both positive and negative. A negative penalty will encourage -a break -and a positive penalty will inhibit it. The commands in this chapter either -inhibit or cause breaks. In addition, most of them have some form of vertical -skip. All but |\linebreak| are intended to be used in vertical mode. In all -cases, the use of a |\...break| in horizontal mode will first cause a change -to (internal) vertical mode where the penalty will be applied. A penalty of -$\pm$10000 is the same as $\pm$ infinity. - -\shead{breakcoms}{Command Forms} -Since the commands generally do not take parameters, the command list is -being dispensed with. -\bshortcomlist -\pla\@|\allowbreak|&no penalty for a break \dots\ |\penalty 0|\cr -\pla\@|\break|&causes a break \dots\ |\penalty 10000|\cr -\pla\@|\bigbreak|&encourages break and vskips the maximum of the -|\bigskipamount| and the |\lastskip| \dots\ |\penalty -200| \dots\ skip is -\quad\hbox to .25in{\vbox{\hrule width .25in\bigbreak\hrule}} \cr -\pla\@|\bye|&terminates a document and vertical |fill|s the page\cr -\pri|\discretionary|&a discretionary break or hyphen. The form is -\@|\discretionary{<pre break text>}{<post break text>}{<text>}|. If -there is a break, the |<pre break text>| goes on the first line and the -|<post break text>| goes on the second line. If there is nobreak, the -|<text>| is used.\cr -\ext\@|\done|&terminates a document and vertical |fill|s the page and does -some tests on groups used in \intex. \cr -\ext\@|\end|&terminates a document without doing any fill on the last page\cr -\pla\@|\filbreak|&encourages a break with |\penalty -200| and vertical |fils| -the page. It is useful for address lists where it is desirable not to split -an individual address at a page boundary\cr -\pla\@|\eject|&causes a column or page break but does not vertical |fill| the -page. Its use usually causes underfull boxes.\cr -\ext\@|\ejectcolumn|&causes a column break (equivalent to a page break in single -column) and vertical |fills| the page\cr -\ext\@|\ejectpage|&causes a page break and vertical |fills| the page \dots\ in -multicolumn this will cause a new page, not just a new column\cr -\pla\@|\goodbreak|&encourages a break \dots\ |\penalty -200|\cr -\ext\@|\linebreak|&forces a line break in horizontal mode {\bf and} |fils| the - line forcing the words to the left side of the line\cr -\pla\@|\medbreak|&encourages break and vskips the maximum of the - |\medskipamount| and the |\lastskip| \dots\ |\penalty -100| \dots\ skip is - \hbox to .25in{\vbox{\hrule width.25in\medbreak\hrule}} \cr -\pla\@|\nobreak|&does not allow a break \dots\ |\penalty 10000|\cr -\ext|\penaltybreak|&form \@|\penaltybreak{<penalty>}{<skip size>}| \dots\ - this is a generalization of |\medbreak| allowing arbitrary penalties and skip - sizes\cr -\pla\@|\smallbreak|&encourages break and vskips the maximum of the -|\smallskipamount| and the |\lastskip| \dots\ |\penalty -50| \dots\ skip is -\hbox to .25in{\vbox{\hrule width .25in\smallbreak\hrule}} \cr -\eshortcomlist -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thcite.tex b/macros/inrstex/inrsdoc/thcite.tex deleted file mode 100644 index 4196f2a4d6..0000000000 --- a/macros/inrstex/inrsdoc/thcite.tex +++ /dev/null @@ -1,251 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{cite} - -\def\cqu{\cquote{Always verify your references.}{Martin~Joseph~Routh -(1755-1854)} -} - -\chapterhead{cite}{CITATIONS\cr or REFERENCE\cr LISTS} -\intex\ provides facilities for automatic numbering and creation of {\it -citation } or {\it reference} lists. The listing format supported -is that of the IEEE, which numbers citations sequentially in the -order that they are called out in the document. For short lists (about 40-60 -citations), the actual citation forms may be in random order. For very long -lists, the citation form file must be ordered in the same manner as the -citations should appear in the document. Page referencing for citations is -not supported. - -\shead{citcomlist}{Command List} -\begintwocolumn -\ext|\citenum| -\ext|\cite| -\ext|\citeform| -\ext|\citetagvalue| -\ext|\closecitationtagfile| -\ext|\initcitetag{<integer>}| -\ext|\inputciteformfiles| -\ext|\inputcitetagfiles| -\ext|\lastcitetag{<integer>}| -\ext|\makecitationlist| -\ext|\makelongcitationlist| -\endthreecolumn - -\shead{makecite}{Making Citations} -A citation is made in a document using a -format such as |[\cite{<citation tag>}]| where the |<citation tag>| may be of -any valid tag form (see Section~{\ref{validtag}}, page \pref{validtag}). -If a |\cite| is used in internal vertical mode, for example in a section or -chapter head title, then the margin notes will disappear. If it used in any -field that may become a tag, then disaster will occur. This latter should -never happen. -When the first |\cite| is called, the citation tag file is opened -automatically and tag generated for this citation, and the -numerical value is placed in the text. Subsequently, a |\cite| -will -define a new tag if it is the first time it has been called and place the -numerical value in the text. The command |\citeref{<tag>}| will place the -numerical value of the citation in the text but will neither open the -citation tag file if it is closed nor define a new tag if it is undefined. -If a citation is to be defined but the value should not be put in the text, -then -|{\silenttrue \cite{<citation tag>}}| should be used. - - -The actual citation forms are maintained in a separate file whose -default name is |\jobname.cfm|. The command |\makecitationlist| -does not require that the citation forms in the |.cfm| file be in the same -order and may include citation forms that are not even used. However, -because of limitations on \tex's internal memory, the maximum number of -citations in a |.cfm| file used by |\makecitationlist| -is limited to approximately 40 to 60. If \tex\ runs out of memory it is -necessary to use |\makelongcitationlist| instead. When using this command, -the |.cfm| file may be of any length but the citation forms must be in the -correct order, and include only those actually cited in the document. -This must be done by some program external to \intex. - - -The citation form command in the |.cfm| file is -|\citeform{<citation tag>}{<TeX citation form macro>}|. The -|<TeX citation form macro>| is of any form but will usually be a special -|\listitem|. The actual number of the particular citation being written is -held in the command |\citetagvalue|. This command should be placed at that -place in the |<TeX citation form macro>| where the citation number should -appear. - -The first call to the |\cite| command will open the |\jobname.ctg| file where -the tags for the citations are stored. -Then -|\initcitetag{<integer>}| where |<integer>| is one less than the lowest -number in the citation list is written. This number allows for several -independent citation lists to exist in a single document, for instance at the -end of each chapter. When the file is closed, either with a -|\makecitationlist| or a |\closecitationtagfile|, an -|\lastcitenum{<integer>}| is written. The |<integer>| is the current value of -the |\citenum|. - -To make a citation list the following is required: -\beginttverbatim -\1beginlist % citations are usually listitems ... should be group -\1frenchspacing % suppresses extra space after periods -<initial macros \1ejectpage, make Reference header - and set up list> -\1makecitationlist % or \1makelongcitationlist -\1endlist -\endttverbatim -The actual list of macros is inserted, in order by |\makecitationlist| or -by |\makelongcitationlist|. The latter must be used if there are too many -citations for \tex's memory. In that case the |\jobname.cfm| file must be -sorted and contain only those citations actually used. -These commands automatically close the |\jobname.ctg| file, if it is open. - -\shead{prelcite}{Prelude Citations} -Occasionally citations appear in the prelude of a document, sometimes -through a -section head and hence in the table of contents. -Usually the citation numbers should be those that occur later in the text -rather than the ones that would occur naturally. -The |\cite| in the prelude causes the citation tag file to open prematurely -and the |\citenum| to be incremented incorrectly. To get around this problem, -use the following procedure: -\begintt -\begingroup % limits effect to initial section -\inputwithcheck{<filename>.ctg} %inputs the .ctg file if it exists -\let\cite=\citeref % cites only refer now -<text with \cites> -\endgroup % where you want citations to behave normally -\endtt - - -\shead{citecomforms}{Command Forms} -\beginblockmode -\ext\@|\citenum| -\nbr -|\citenum| is the counter that holds the current largest citation number -used. This number is equal to or larger than that set by -|\initcitetag{<integer>}|. - -\mbr -\ext\@|\cite{<citation tag>}| -\nbr -This command places the citation number, corresponding to the -|<citation tag>| in the text, without any surrounding brackets or braces. -If the |<citation tag>| has not been defined, or if it was defined for a -previous citation list, the |\citenum| is increased by one, and a tag is -created with that new value. Multiple citations may be called in a single -place by |[\cite{<citetag1>}, \cite{<citetag2>}, ...]|. However, there is -{\it no} sorting capability so that the numbers may appear out of sequential -order. The first |\cite| opens the citation tag file. -|{\silenttrue \cite{<citetag>}}| will define and increment the citation -counter but will not insert the citation value in the text. - -\mbr -\ext\@|\citeform{<citation tag>}{<TeX macro form>}| -\nbr -This is the form that must be used in the file |\jobname.cfm| -file that actually contains the list of citations. The |<citation tag>| is -the same on used in the text when the citation is called out. The -|<TeX macro form>| is the \tex\ macro that will actually be inserted into the -reference list. This must contain all the information needed to produce the -final form of the citation. Since the actual citation number is being -supplied by \intex, it is necessary to include the \tex\ command -|\citetagvalue| in the place required in the text. For instance, if the -|\listitem| command was being used as the basic form, and if the citation tag -were |[Knut84]|, then an appropriate |\citeform| for the \texbook\ would be -\begintt -\citeform{[Knut84]}{\listitem \citetagvalue D.E. Knuth, - {\bf \TeX book}, {\it Addison Wesley Pub. Co.}, 1984} -\endtt - - -\mbr -\ext\@|\citetagvalue| -\nbr -This command contains, at the time of a |\citeform| execution, the number of -that particular citation. - - -\mbr -\ext\@|\closecitationtagfile| -\nbr -This closes the |\jobname.ctg| file, if it is open. Since the |.ctg| -file is closed -automatically whenever |\makecitationlist| is called, this command is seldom -used. - -\mbr -\ext\@|\initcitetag{<integer>}| -\nbr -This command is written into the |.ctg| file when it is opened. It -establishes the minimum value of |\citenum| for this list. The actual -reference value is determined by subtracting this value from the -|<tagvalue>|. - - - -\mbr -\ext\@|\inputciteformfiles - [=] { \inputwithcheck{<first form file>} - ... - \inputwithcheck{<last form file>} }| -\nbr -This is a token list of files, each prefaced by -|\inputwithcheck|, that contain the citations for a particular citation -list. The command |\inputwitcheck| determines whether the file exists -before trying to open it. The default is |\inputwithcheck{\jobname.cfm}|. - - - -\ext\@|\inputcitetagfiles - [=] { \inputwithcheck{<first tag file>} - ... - \inputwithcheck{<last tag file>} }| -\nbr -This is a token list of files, each prefaced by -|\inputwithcheck|, that contain the citation tags for a particular citation -list. The command |\inputwitcheck| determines whether the file exists -before trying to open it. The default is |\inputwithcheck{\jobname.ctg}|. -The |\jobname.ctg| file contains the tags for the citation list. -These tags are in order of call out and numbered -sequentially. It also includes the |\initcitetag| command. - -\mbr -\ext\@|\lastcitetag{<integer>}| -\nbr -This command is written into the |.ctg| file when it is -closed either by a |\closecitationtagfile| or a -|\makecitationlist|. It is used to reset |\citenum| when using successive -independent -citation lists. - - - -\mbr -\ext\@|\makecitationlist| -\nbr -This command reads in the |\jobname.cfm| file. It then reads the -|\jobname.ctg| file and converts the list of citation tags into -a correctly ordered list of citations. The citation forms in the -|\jobname.cfm| file may be in any order and may include ones that are not -used. -Any formatting control commands such as -|\beginlist ... \endlist| must be placed around it. - - -\mbr -\ext\@|\makelongcitationlist| -\nbr -This command reads in the |\jobname.cfm| file and assigns citation numbers -to the citation forms in the order that they appear. Errors from those -indicated by the |\citetagvalue| are reported. - The citation forms in the -|\jobname.cfm| file {\bf must be in the same order as called out in the -document and include only those that are actually used.} -Any formatting control commands such as -|\beginlist ... \endlist| must be placed around it. - - -\endblockmode -\ejectpage - -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thcont.tex b/macros/inrstex/inrsdoc/thcont.tex deleted file mode 100644 index 5659f92ec1..0000000000 --- a/macros/inrstex/inrsdoc/thcont.tex +++ /dev/null @@ -1,224 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{cont} - -\def\cqu{\cquote{The life is so short, the craft so long to learn.}{Aphorisms, -Hippocrates (460-400~BC)} -} - - -\chapterhead{cont}{SPECIAL CHARACTERS\cr and\cr ACCENTS} -This chapter discusses {\it special characters}, both those that are single -keys (usually) on the terminal but are used for special purposes -and those, non mathematics, that end up in the final text as -single characters. An example of the first is the |{| used for grouping (see -Chapter~\ref{bas} information on {\it grouping}) and an example of the latter is the copyright sign -\copyright\ that is obtained by typing |\copyright|. For special mathematics -symbols see Chapter~\ref{matsym}. - -Section~\ref{controluse} discusses the special characters that do not -normally print and are used by \tex\ and \intex\ for control purposes. -Section~\ref{controlprint} tells how to print them in the text. - -A second set of special use characters, usually single keys, -are really single character commands to \tex\ -and \intex. Their behaviour varies depending on the circumstances. In most -cases, they can be used with little or no thought. Occasionally errors in use -might cause some confusion. For instance, in \intex\ the ``\vrt'' is -interpreted as a vertical bar or rule in normal text and mathematics, but as a -column separator with a vertical rule while building tables using \intex's -|\begintable...\endtable| commands. The complete set of these commands for -\intex\ is given in Section~\ref{activechar}. - - -The rest of this chapter discusses the second class of special {\it text} -characters, and the means of inserting them in the text. -Section~\ref{specialtextsymbols} shows how to obtain such interesting -characters as the British Pound ``{\it\$}'' paragraph symbol ``\P''. -Quotes, both English ``\dots'' and French -{\language = 1 \ldq\dots\rdq} are discussed in -Section~\ref{quotes}. -Accents -on ordinary text letters are in Section~\ref{ordaccent} and on mathematics in -Section~\ref{mathaccent}. - - - -\shead{controluse}{Control Characters - Meaning} -\tex\ and \intex\ have reserved the following control characters for the uses -indicated. None of these characters will be actually printed in the text. -\bshortcomlist -|\|&escape character \dots starts - all control and command sequences \cr -|{}|&grouping brackets \cr -\% &indicates the end of a line in a \TeX\ file. Anything after the - \%\ will be ignored by \TeX\ while processing the file. This is used - for comments. \cr -|\@|&superscript sign\cr -|_|&subscript sign\cr -|&|&alignment character used to align characters from line to line\cr -|$|&\it mathematics mode indicator\cr -|$<expression>$|&{\it mathematics} mode start and end \cr -|$$<expression>$$|&{\it display mathematics} mode \dots start and end \cr -|#|¶meter indicator for definitions and in alignment preambles\cr -|~|&the {\it tie} character \dots\ really an unbreakable space between words. -For instance, the space between the initials in D.E. Knuth allows the last -name to be split from the initials at the end of the line. The sequence -|D.E.~Knuth| will leave the space but not allow the break.\cr -\eshortcomlist - - -\shead{controlprint}{Control Characters - Printing} -The control characters -\begintt - { } # $ % & _ \ ~ ^ -\endtt -\ls -are obtained by the control sequences -\begintt - $\{$ $\}$ \# \$ \% \& \_ - $\backslash$ \^{ } \~{ } -\endtt -\ls -respectively, -except as accents. The last two are actually -obtained by ``accenting'' a space. -In mathematics the ``~\^{ }~'' and the ``~\~{ }~'' must be obtained using -the mathematic accents (see Section~\ref{mathaccent}) -as |\hat{ }| or |\tilde{ }|. -The net effect of this is that all characters are available in any mode. - -\shead{activechar}{\intex\ Special Characters} -\intex\ special characters are all active --- meaning that they -are single character control sequences. The complete list is -given below. They are used for specifying column separators -in tables. -\bshortcomlist -\vrt&this is a \vrt\ in normal text, a \vrt\ {\it Rel} in mathematics (see -Chapter~\ref{matsym}). While making a table inside \intex\ -|\begintable ... \endtable|, the \vrt\ is a vertical rule or line column -that is used to separate data columns and {\bf must -not be used in mathematics inside tables -- use |\vrt|} - (see Chapter~\ref{align}).\cr -|"|&the double quote should not be used in ordinary text. \intex\ will give -you a gentle reminder to either |``| or |''|. It will then put the " in the -text. The |"| is used while making tables for indicating a rule column where -the rule is omitted.\cr -\eshortcomlist - -\shead{specialtextsymbols}{Special Text Symbols} -\tex\ supplies a number of special symbols that can be used in ordinary text, -and some admonitions about those that should not. There are three kinds of -dashes in normal typeset material and \tex\ supplies all three. They are -- -- --- and are produced by |-| |--| and |---| respectively. They are known -officially as the {\it dash, endash,} and {\it emdash}. They are used as -hyphens, word separators, and idea separators, respectively. -These are recognized by \tex\ as {\it ligatures}. Although the English -ligatures such as ``ff'' and ``ffi'' are recognized by \tex, most in other -languages are not.\footnote{\dagger}{However, it is easy to modify \tex\ so -that it does recognize those ligatures. Meanwhile, it is necessary to live -with the mechanism given.} -These require -special symbols. In addition there are special symbols such as -\copyright\ and \dots\ that are also useful. -Here is a list supplied by {\it plain} -\bshortcomlist -\@|\aa, \AA|& the \aa\ and \AA \cr -\@|\ae, \AE|& the ligature \ae\ or \AE \cr -\@|\copyright|&the copyright symbol \copyright \cr -\@|\dag|& the dagger \dag. The math mode |$\dagger$| looks similar but - incorporates the spacing of a binary operator. \cr -\@|\ddag|& the double dagger \ddag. The math mode - |$\ddagger$| looks similar but incorporates the - spacing of a binary operator. \cr - |\dots|&dots in text \dots\ like so \cr -\@|{\it\$}|&the nonobvious British Pound {\it\$} \cr %indexing problem with $ -\@|{\it\&}|&the script ampersand {\it\&} \cr -\@|\i|&the dotless \i\ for use in \^\i \cr -\@|\j|&the dotless \j\ for use in \^\j \cr -\@|\l, \L|&the \l\ and \L \cr -\@|\o, \O|&the \o\ and \O \cr -\@|\oe, \OE|&the ligature \oe\ or \OE \cr -\@|\P|&the paragraph symbol \P \cr -\@|\S|&the section symbol \S \cr -\@|\ss|&the \ss \cr -\eshortcomlist - - -\shead{quotes}{Opening and Closing Quotes} -The ``double quote'', |"| on the keyboard {\bf should not be used}, -except in its accent form |\"| to be described later in -Section~{\ref{ordaccent}} on accents. -For the |\englishversion| of \intex, opening {\bf double} quotes may be obtained either -with the |``| in plain or using |\ldq|. The closing {\bf double} -quotes may be obtained -similarly using the |''| or the |\rdq|. When |\versionfrancaise| is in force, -|\ldq| and |\rdq| when used like so |\ldq guillemets\rdq|\footnote{\ddagger}{This is the best we can -do with the present fonts} will give {\language=1 \ldq guillemets\rdq}. -Note that the |\rdq| is an ordinary command that will delete spaces following -it. - - -\shead{ordaccent}{Ordinary Accents} -The ordinary accents supplied in {\it plain} are for the occasional insertion -of a foreign language in English text. The mechanisms are complete, and the -accents are quite well placed, but the method of obtaining them from -keyboards with special characters is not built in. In \tex, the accent always -precedes the letter accented. Thus |\'ecole| gives \'ecole, and |fran\c cais| -gives fran\c cais. Note the annoying space after the |\c| in the word. This -form of input reduces the readability of the text. Agreement is needed to -obtain a consistent multi-language format. - -The following is a list of the ordinary accents in \tex\ specified by {\it -plain}. -\bshortcomlist -|\`<char>|&accent grave as in \`a\cr -|\'<char>|&accent acute as in \'e \cr -|\^<char>|&circumflex or ``hat'' as in \^o \cr -|\"<char>|¨aut as in \"o \cr -|\~<char>|&tilde as in \~n \cr -|\=<char>|&long vowel as in \=o \cr -|\.<char>|&dot accent as in \.a \cr -|\b|\]|<char>|&accent bar-under as in \b d, note space \] \cr -|\c|\]|<char>|&accent cedilla as in \c c, note space \] \cr -|\d|\]|<char>|&accent dot-under as in \d o, note space \] \cr -|\u|\]|<char>|&accent breve as in \u o, note space \] \cr -|\v|\]|<char>|&``check'' as in \v o \cr -|\H|\]|<char>|&long Hungarian umlaut as in \H o\cr -|\t|\]|<char><char>|&tie-after accent as in \t ao\cr -\eshortcomlist - - -\shead{mathaccent}{Accents on Mathematical Symbols} -Placing accents on mathematical symbols requires a certain amount of care. -{\it Plain} \tex\ gives an extra set of commands that are to be used for characters in -mathematics mode. All of the following should be used when in mathematics -mode. Note the required space \], in almost all cases. -\begingroup \descrwd=2in -\bshortcomlist -|<char>'|& the prime as in $x'$ \cr -|<char>''|& the double prime as in $x''$ \cr -|\acute|\]|<char>|&as in $\acute x$ \cr -|\bar|\]|<char>|&as in $\bar x$ \cr -|\breve|\]|<char>|&as in $\breve x$ \cr -|\check|\]|<char>|&as in $\check x$ \cr -|\dot|\]|<char>|&as in $\dot x$ \cr -|\ddot|\]|<char>|&as in $\ddot x$ \cr -|\grave|\]|<char>|&as in $\grave x$\cr -|\hat|\]|<char>|&as in $\hat x$ \cr -|\tilde|\]|<char>|&as in $\tilde x$ \cr -|\vec|\]|<char>|&as in $\vec x$ \cr -|\widehat|\]|<char>[<char>][<char>]|& as in $\widehat{x},\widehat{xy}, - \widehat{xyz}$\cr -|\widetilde|\]|<char>[<char>][<char>]|& as in $\widetilde{x},\widetilde{xy}, - \widetilde{xyz}$\cr -\eshortcomlist -\endgroup -When using these in a technical paper or report, it is probably better to -make a short definition for the accented character. This will reduce typing -and facilitate the changing the style {\t consistently} throughout the paper. -It is a very simple form of {generic typesetting}. - -\ejectpage -\done - diff --git a/macros/inrstex/inrsdoc/thcover.tex b/macros/inrstex/inrsdoc/thcover.tex deleted file mode 100644 index 241014d1c4..0000000000 --- a/macros/inrstex/inrsdoc/thcover.tex +++ /dev/null @@ -1,57 +0,0 @@ -%-*-tex-*- - -\paperstyle -\leftmargin=1.75in -\topmargin=1.5in -\fullpagestyle -\vglue 1in -\centerline{\vbox{\hsize=8cm\biggfont \baselineskip=22pt\paragraphcenterline - THE INRS\TeX\ REFERENCE BOOK}} -\vskip 1in -\def\mjf { \par - {\it - \vskip .25in - \centerline {Michael J. Ferguson} - \vskip .15 in - \centerline {INRS-T\'el\'ecommunications} - \vskip .15in - \centerline {Montr\'eal} - \vskip 1 in }\par } % Author header for Michael J. Ferguson -\mjf -\centerline{Rapport technique de l'INRS-T\'el\'ecommunications no. 84-19 -(r\'evision, juillet 1991)} -\vskip .5in -\centerline{\biggfont -Les Publications -INRS\kern.1em--T\'el\'ecommunications, -Montr\'eal} -\vskip 1in -\beginnarrowtext .5in -\noindent \eightpoint -This is a DRAFT version of an introduction to INRS\TeX\ and to \TeX\ in -general. All suggestions for improvements will be greatly welcome. -\endnarrowtext -\bigskip -\beginnarrowtext .5in -\veryraggedright \parindent=0pt -Copyright \copyright\ Michael J. Ferguson, -INRS-T\'el\'ecommunications, all rights reserved. - -\bigskip - -\TeX\ is -copyright by the American Mathematical Society. INRS\TeX\ is -copyright by INRS\kern.1em--T\'el\'ecommunications and Michael~J.~Ferguson. -\endnarrowtext -\ejectpage -\vglue 2in -\titlepagestyle -\beginnarrowtext 1in -\paragraphcenterline -{\bf} This version of the INRS\TeX\ REFERENCE BOOK is -produced using a PostScript Laser Printer using a modified version DVIALW -developed by -INRS-T\'el\'ecommunications. -\endnarrowtext -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thdefs.tex b/macros/inrstex/inrsdoc/thdefs.tex deleted file mode 100644 index 1fb841aea4..0000000000 --- a/macros/inrstex/inrsdoc/thdefs.tex +++ /dev/null @@ -1,160 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{defs} - -\def\cqu{\cquote{If names are not correct, language will not be in accordance -with the truth of things.}{Confucius}} - -\chapterhead{defs}{SIMPLE\cr DEFINITIONS\cr or MACROS} -\tex\ makes it easy to invent definitions to make your typing job easier. -This chapter describes the simplest form of definitions. More complex -definitions and some of the subtleties are found in the \texbook. - -This chapter also introduces the idea that definitions can be modified by -such primitive commands as |\outer|, |\long|, and |\global|. - -Simple definitions consist of those that have zero or more arguments and that -do not use advanced commands such as |\futurelet|, |\aftergroup|, - |\edef|, |\catcode|, |\bgroup|, |\egroup|, |\afterassignment|. -These -commands and their use may be found in the \texbook\ and the definition -package that actually is used to develop {\it plain} or \intex. - -If you wish to write complex definitions, please see the warning at the end -of this chapter. - - -\shead{defcomlist}{Command List} -\beginthreecolumn -\pri|\def| -\pla|\gdef| -\pri|\global| -\pri|\let| -\pri|\long| -\pri|\outer| -\endthreecolumn - -\shead{defcomforms}{Command Forms} -\beginblockmode -\pri\@|\def\<def name> <parameter form>{<replacement text>}| -\nbr -This is the basic command for creating new definitions or, as they are -sometimes called, {\it macros}. The |<def name>| is the name given to -the definition and {\bf must} consist of letters, upper or lower case only. -The |<parameter form>| is the form for which \tex\ is looking after it sees -the |\<def name>| in the text. Parameters in the |<parameter form>| are -indicated by |#<integer>| where |<integer>| is from 1 to 9, in {\bf order}. -\tex\ then puts the parameter values that it found into the -|<replacement text>| and then puts that text in the place of |\<def name>| -and all of the parameters that it has eaten while filling in the -|<parameter form>|. Some examples follow: - -\dssshead{Simple Replacements --- No Parameters} -These are the simplest form of definitions. In this case there are no -parameters and the |<replacement text>| directly replaces the -|\<def name>|\]\dots\]. The \]\dots\] is there to emphasize that all the -blanks after the |\<def name>| are eaten by \tex. -Suppose that the sequence $\alpha\beta\gamma$ kept occurring in the text. Then -|\abg\|\] defined by |\def\abg{$\alpha\beta\gamma$}| -\def\abg{$\alpha\beta\gamma$} will produce \abg\ in its place. -In this example the |<replacement text>| is -|$\alpha\beta\gamma$|. A second example is the problem of putting {\it italic -correction\/} in the text, keeping the italic inside the group defined by the -|{...}|. The |<replacement text>| then should be |{\it italic correction\/}| -including the braces. Thus the correct definition, if |\itc| is to be the -|<def name>|, is -|\def\itc{{\it italic correction\/}}|. - -\dssshead{Simple Replacements --- Simple Parameter List} -These definitions have the |<parameter form>| of |#1|, |#1#2|, \dots, -|#1#2...#9|. An example is |\def\up#1{$^{#1}$}|. When |\up| is used, the next -{\it token}, either a character, command, or entire group inside a |{...}| is -absorbed as |#1| and put into the position of |#1| in the replacement text. -Thus |\up{**}| becomes |$^{**}$| which is then put in the text in -place of the entire |\up{**}|. -Note that |**| and not |{**}| is the parameter for |\up|. -The |{...}| were used to delimit |**| so that \tex\ -knew that both of them together should be |#1|. ``Thus|\up{**}|'' -gives ``Thus\up{**}''. - -Note that a definition made inside a group only lasts as long as the group -lasts. At that point the definition becomes what it was previous to the -group. - -\mbr -\pla\@|\gdef\<def name> <parameter form>{<replacement text>}| -\nbr -This is identical to |\global\def| and can be used in exactly the same way as -|\def|. The major difference is that a |\<def name>| defined with a |\gdef| -does {\bf not} disappear at the end of the group in which it is defined. - -\mbr -\pri\@|\global| -\nbr -The command |\global| will cause either the definition, assignment, or -definition equivalence (|\let|) to be global, {\it ie} not disappear at the -end of the group. This should be used with care and sparingly. - -\mbr -\pri\@|\let\<def a> [=] \<def b>| -This command makes the command |\<def a>| be equivalent to, both in -|<parameter form>| and |<replacement text>|, -as |\<def b>| at the time that the -|\let| is called. This command is very useful for such things as -|\let\sheadfont = \twelvess|. It should be used with care or a circle of -definitions may be produced. - -\mbr -\pri\@|\long| -\nbr -A |\def| may be preceded by a |\long| to give a |\long\def|. When this is -done the parameters |#1| \dots\ may contain either |\par| or, equivalently, -blank lines. Without the |\long|, a |\par| in a |#1| will cause an error. -This is a safety feature to allow \tex\ to isolate errors before the origin -is completely lost. |\long| should be used with extreme care. - -\mbr -\pri\@|\outer| -\nbr -A |\def| may be preceded by |\outer| to give an |\outer\def|. A definition -so preceded may {\it not} be used in any other definition. Again this is a -safety feature to catch errors before it is too late. For example, all of -the section head definitions in \intex, |\shead| and its relatives, are -declared |\outer|. - -It is possible to have a |\outer\long\global\def|. -\endblockmode - -\shead{defwarning}{WARNING --- Clever Definitions} -It is possible tell \tex\ very complex things. The danger and difficulty for -debugging increases dramatically as you start to exercise fine control over -how \tex\ processes the text. - -The simplest extension to the forms above is to use the fact that the -|<parameter form>| can include tokens other than |#<integer>|. This -additional freedom allows for the input of parameters without requiring that -they be placed in |{...}|. - -The second level of extension is to use the various -|\if... \else ... \fi| forms to control the actual text that will be placed -in the text and even the placing of definitions inside definitions. - -The next level of complexity arises when the macro builder attempts to -control when \tex\ expands the various definitions and macros that make up -the |<parameter forms>| and the |<replacement text>|. For instance, this must -be done when writing out both the page number and the section number while -accumulating information for making a table of contents. This requires extreme -care. - -The final level of complexity occurs when the macro writer attempts to -control how, and when \tex\ tokenizes its input. -Doing this correctly requires exquisite care. For instance, conditionally -modifying the catcodes of input on the fly will prevent that input from -being passed as a parameter to a macro. \tex\ tokenizes once and forever. -Although making a character active for an entire document is -relatively simple, flipping it back and forth is error prone. - - - -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thdimnum.tex b/macros/inrstex/inrsdoc/thdimnum.tex deleted file mode 100644 index d176512ace..0000000000 --- a/macros/inrstex/inrsdoc/thdimnum.tex +++ /dev/null @@ -1,141 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{dimnum} - -\def\cqu{\cquote{Number the simplest and most universal idea}{ -Concerning Human Understanding, Book II, Chap. XVI, -John~Locke (1632-1704)}} - - -\chapterhead{dimnum}{DIMENSIONS\cr NUMBERS\cr and GLUE} -\tex\ is very concerned with the sizes of boxes and letters and the amount of -freedom to place letters, lines and boxes on a page. Along with the normal -page numbers, \intex\ keeps track of, among others, chapters, sections, -subsections and equation numbers. This means that \tex\ has {\it dimensions, -numbers}, or {\it counters}, and {\it glue}. This chapter introduces the -valid units of measure and the forms for glue. -\shead{dimcomlist}{Command List} -\beginthreecolumn -\pri|\advance| -\pri|\multiply| -\pri|\divide| -\pri\@|<units of measure> - cm em ex in - mu pt sp| -\pla|\newcount| -\pla|\newdimen| -\pla|\newskip| -\endthreecolumn - -\shead{dimensions}{Dimensions} -A dimension, or |<dimen>|, consists of a -|[+ -]<decimal number><unit of measure>|. -The |<decimal number>| can be an integer, (called a {\it number} -in the \texbook), or include a decimal point and a decimal -fraction. The plus or minus signs are optional. - -{\TeX} recognizes English, Metric, Printers, and font relative -|<units of measure>|. -Some examples, but not all, are -\bshortcomlist - |cm|&{centimeters \dots\ meters are unknown}\cr - |em|&{the width of an ``M'' in the current font}\cr - |ex|&{the height of an ``x'' in the current font}\cr - |in|&{inches \dots\ feet and yards are unknown}\cr - |mu|&{math units, there are 18 to an |em| \dots\ used only in math mode}\cr - |pt|&{72.2666 points to an inch}\cr - |sp|&scaled points \dots\ \tex's internal measure. There are 16384 |sp| to a |pt|\cr - |<scale factor>\dp<box number>|&the depth of box |<box number>| scaled by - |<scale factor>|\cr - |<scale factor>\ht<box number>|&the height of box |<box number>| scaled by - |<scale factor>|\cr - |<scale factor>\wd<box number>|&the width of box |<box number>| scaled by - |<scale factor>|\cr -\eshortcomlist -The last three are dimensions, which may be scaled, of boxes and the previous -two, |em| and |ex| are relative to a font. This means that a change in the -font will automatically cause these values to change. Most measurements, -involving spacing should be font dependent. |sp|, scaled points are \tex's -internal dimension measure. All \tex\ arithmetic involving dimensions is done -with integers. - -\sshead{dimalloc}{Dimension Allocation} -\tex\ has 256 registers available for storing dimensions. These are named -internally using integers from 0 to 255. However, both {\it plain} and -\intex\ use some of the 256. To obtain a new one, use -\@|\newdimen\<dimen name>|. \tex\ will assign the next free dimension register -to the name |\<dimen name>|. For instance \intex\ uses this mechanism to -obtain a dimension for the horizontal and vertical dimensions -of the outer page, namely |\houterpagesize| and |\vouterpagesize| -respectively. If you only want to use a dimension register within a single -macro definition, then |\dimen0| to |\dimen9| are available. - -\shead{numbers}{Numbers or Integers} -\tex\ supplies 256 integer registers or counters. A number of these -are already used. For instance |\count0|, the |0| counter is used for -page numbering. -To obtain a new count use \@|\newcount\<count name>|. - -\shead{glue}{Glue and Skips} -Glue is the basis for spacing. It consists of three components, a nominal -size, a stretch and a shrink. The general form of glue is |<nominal dimen> -[plus <stretch dimen>] [minus <shrink dimen>]|. The |<nominal dimen>| is required -in all glue assignments but the stretch and shrink are optional. If they are -not specified, they are set to zero. The use of stretch and shrink glue -is used for creating ragged right borders on a page. - -To obtain a new glue variable, use \@|\newskip\<skip or glue name>|. Specified -glues are used for skips, and spacing. For instance, the skip at the end of a -list in \intex\ is just one of many allocated for various spacings in \tex\ - -\shead{assigndim}{Assignments: Giving dimensions, counts, and skips values} -The general form of counter, dimension, and glue assignments are -\beginblockmode -\mbr -\@|\<count name> [=] <integer, dimen, glue>| -\nbr -The assignment result is always an |<integer>|. -\mbr -\@|\<dimen name> [=] < dimen, glue>| -\nbr -The assignment result is always a |<dimen>|. - -\mbr -\@|\<skip or glue name> [=] <dimen> - [plus <dimen>] [minus<dimen>]| -\nbr -The assignment result is always a |<glue>|. -\endblockmode -The quantities in the |[...]| are optional. Neither the square |[ ]| nor angle -brackets |< >| are typed. If a dimension variable is made equal to a glue -variable, the stretch and shrink parts of the glue variable are lost. If a -counter or integer is made equal to a dimension, the fractional part of the -dimension is lost. - -\shead{arithmetic}{Arithmetic with Dimensions, Numbers and Glue} -\tex\ supplies three commands for doing arithmetic with dimensions and such. -Addition, and subtraction are handled by |\advance|, multiplication by an -integer by |\multiply|, and division by an integer by |\divide| - -\beginblockmode -\mbr -\@|\advance \<count, dimen, glue name> by [+ -]<count, dimen, glue>| -\nbr -The result is of the appropriate type, |<count>, <dimen>| or |<glue>| with -extra parameters set to zero. - -\mbr -\@|\multiply \<count, dimen, glue name> by [+ -]<integer>| -\nbr -All parts of the |<glue>| are multiplied by the integer. - -\@|\divide \<count, dimen, glue name> by [+ -]<integer>| -\nbr -All parts of the |<glue>| are divided by the integer. - -There is another way to effect arithmetic. This is to note that the -|\wd|, |\ht|, and |\dp| can take scale factors. Thus multiplication of -dimensions is possible if the required dimension is acquired by a box. -\endblockmode -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thdocsty.tex b/macros/inrstex/inrsdoc/thdocsty.tex deleted file mode 100644 index e21f22c16c..0000000000 --- a/macros/inrstex/inrsdoc/thdocsty.tex +++ /dev/null @@ -1,66 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{docsty} - -\def\cqu{} - -\chapterhead{docsty}{DOCUMENT\cr STYLES} -\intex\ supplies a number of general and specialized document styles. It is -also easy to create others within the basic structure given. -The two basic styles supported by \intex\ is the (default) |\paperstyle| and -the |\bookstyle| of which this is an example. Different styles are usually -distinguished by different header/footer conventions, appendix placement and -numbering, and perhaps default fonts. - -In addition to the page changes, a few special commands exist that are -introduced in the various styles. Since the |\paperstyle| the \intex\ -default, all the |\title|, and abstract commands defined for that are -available, and will work, for {\bf all} styles. - -\shead{paperstyle}{Paperstyle} -|\paperstyle| is the default style for \intex\. There will be no messages -indicating that you are using this style. This style is designed for 8.5in -by 11in paper, |\tenpoint| fonts, no header, and a footer that consists of -the page number centered at the bottom in this style ``- 6 -'', where 6 would -have been the page number. In addition to the normal features mentioned -previously, there is a |\title| command and a -|\beginabstract...\endabstract| pair. - -The description of the commands are: - -\beginblockmode -\ext\@|\beginabstract...\endabstract| -\nbr -This command should enclose the entire abstract. The abstract font is the -|\smaller| font and both sides are indented. The text is automatically -prefaced by ``Abstract:'' in English and ``Sommaire:'' in French. - -\mbr -\ext\@|\title{<first row>\cr ... <last row>}| -\nbr -If the total length of the title is more than one line it is automatically -broken into multiple lines with each line centered. However, if |\cr| are -included as part of the title text, the lines will be broken there and -centered. The title font, called |\titlefont| is |\bigfont|. -\endblockmode - -\shead{inrsstyle}{INRS Report Style} -This style is very similar to the basic |\paperstyle|. The only addition is a -set of commands that create a cover. This style is called with either -\@|\formatinrs| or \@|\inrsreportstyle|. The title, report date, author list, -and report number are token lists. The actual cover is made with the command -|\faitepagetitre|. An example of complete cover page is -\begintt -\formatinrs -\titrederapport = {INRS\TeX REFERENCE BOOK} -\numeroderapport = {84-19} -\datederapport = {juin 1984} -\auteursderapport = {Michael J. Ferguson} -\faitepagetitre -\ejectpage -\done -\endtt - -\ejectpage - -\done diff --git a/macros/inrstex/inrsdoc/thfigtbl.tex b/macros/inrstex/inrsdoc/thfigtbl.tex deleted file mode 100644 index 66a0f58fce..0000000000 --- a/macros/inrstex/inrsdoc/thfigtbl.tex +++ /dev/null @@ -1,417 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{figtbl} - -\def\cqu{\cquote{Example is always more efficacious than precept.}{Rasselas, -Samuel~Johnson (1709-1784)} -} - - -\chapterhead{figtbl}{FIGURE\cr and\cr TABLE INSERTS} -\vskip 0pt plus 20pt -\intex\ supplies two basic commands |\figureform| and |\tableform| -that places figures in the current position, writes to the appropriate files -for the generation of -lists of figures and tables, and -does automatic numbering if -|\autonumberingon|. The commands |\figureinsert| and |\tableinsert| -are identical except that the figure is put in place only if there is room on -the current page. Otherwise, it is placed at the top of the following page. - -\intex\ also provides three commands for delayed insertion -of text. These are |\begintopinsert|, |\beginmidinsert|, and |\beginpageinsert|, which will -place the text at the top of the page, in place if there is room, or take the -full next page, respectively. These commands are terminated, by an -|\endtopinsert|, |\endmidinsert| and |\endpageinsert| respectively. - -Finally, |\ejectinserts| forces deferred figures or tables to be printed so -that they do not spill over into following chapters. This may be necessary, -for example, before a set of appendices. - -\begingroup \hfuzz=20pt -\shead{figtblcomlist}{Command List} -\beginthreecolumn -\ext|\beginmidinsert| -\ext|\beginpageinsert| -\ext|\begintopinsert| -\ext|\captionbox| -\ext|\captionnumfont| -\ext|\captiontextfraction| -\ext|\captiontitlefont| -\ext|\captionbodyfont| -\ext|\captionbody| -\ext|\captionbodyon| -\ext|\captionbodyoff| -\ext|\centergraph| -\ext|\centerplotfile| -\ext|\ejectinserts| -\ext|\endmidinsert| -\ext|\endpageinsert| -\ext|\endtopinsert| -\ext|\figureform| -\ext|\figureinsert| -\ext|\figurelabel| -\ext|\rect| -\ext|\tableform| -\ext|\tableinsert| -\ext|\tablelabel| -\ext|\topcaptiontrue| -\ext|\topcaptionfalse| -\endthreecolumn -\endgroup - -\shead{figures}{Possible Figures -- \tex Graph} -\intex\ supplies a |\rect <hdim> by <vdim>| that will put an empty rectangle -in the position of the actual figure. The addition of -\tex Graph allows for the insertion of actual figures. A \tex Graph figure -may be centered using |\centergraph{<figure>}|. An external plot file, may be -placed in position by the use of |\centerplotfile{<filename>}|. Both these -commands use information supplied by \tex Graph to determine the amount of -space to leave. All files must be processed to be \tex Graph compatible. For -details on \tex Graph, see ``An Introduction to \tex Graph''. - -\shead{caption}{Figure and Table Captions} -\intex\ supplies a number of facilities for captions. A specific example is -given as Figure~\ref{dummyfig}. The caption is broken down into four parts. -The first is the {\bf Fig.} whose value is determined by |\figurelabel| that -is language dependent. The second part is the number that may or may not be -automatically generated. These font of these first two parts is determined by -|\captionnumfont|. The second and third parts are the caption title and -caption body respectively. The caption title will appear in the list of -figures while the caption body will not. |\captiontitlefont| and -|\captionbodyfont| determine the fonts of these latter two sections -respectively. \intex\ defaults both these to |\rm| at the moment. - -|\captionbodyon|, which is the default, allows the |\captionbody| to be -printed. -However the command |\captionbodyoff| will turn off the -printing of everything inside a |\captionbody|. This is done when the list of -figures or tables are made using a |\makefiglist| or |\maketbllist| -although it is not really necessary as the |\captionbody| is not -even written out to a list file. Finally -if |\topcaptiontrue|, the caption is placed above the figure while if it is -false, the default, it is placed below. - -\shead{deferredinserts}{Deferred Inserts} -\intex\ supplies\footnote{\dagger}{The commands in this section are -essentially {\it plain} commands. They have been renamed to maintain -consistency with the |\begin...| and |\end...| conventions of \intex.} -commands of the form |\begin<type>insert| and corresponding -|\end<type>insert|. These commands form a group and take the |<text>| between -the |\begin...| and |\end...| and insert it, or defer it as the spacing -warrants. A |<type>| of |top| will put the |<text>| at the top of the current -page, if there is room, or on the next page if there is not. |mid| will put -it at the location it is called out, if there is room, or at the top of the -next page if there is not. |page| will reserve the entire next page for the -|<text>|. - -\shead{figtablex}{Deferred Figures or Table Inserts} -The basic command |\figureform| takes three parameters, the figure number or tag, -the figure caption, and the figure itself as described in -Section~\ref{figures}. It places the figure in the text at the present -position whether there is room or not. Usually the desirable effect is to -defer the figure until the following page if there is not enough room on the -present one. The command |\figureinsert| does just that. -The following command will insert the figure as shown. Autonumbering is on. -\begingroup -\let\captionnumfont = \twelvebfxsca -\let\captiontitlefont = \twelvess -\let\captionbodyfont=\tenss -\figureinsert{dummyfig}{This is not a very - Exciting Figure \captionbody{-- It does show though it is - entirely possible to use the font freedom to create a less - than pleasing final result. The group here prevents this - disaster from spreading.}}{\rect 4cm by 6cm} -\endgroup -\beginttverbatim -\1begingroup -\1let\1captionnumfont = \1twelvebfxsca % scaled 10pt -\1let\1captiontitlefont = \1twelvess -\1let\1captionbodyfont=\1tenss -\1figureinsert{dummyfig}{This is not a very - Exciting Figure \1captionbody{-- It does show though it is - entirely possible to use the font freedom to create a less - than pleasing final result. The group here prevents this - disaster from spreading.}}{\1rect 4cm by 6cm} -\1endgroup -\endttverbatim -The spacing between the figure and the caption is determined by the value of -|\captionskip|. If new values are desired, these are produced by -|\captionskip = <dimen>|. - -Figure~\ref{target} uses the facilities of \tex Graph and a deferred -insert. -Assume that |\target| is the graphics description for the -figure. The figure is called out here. -\ifundefined{textref} - \begingroup \catcode`\^=12 \input texgraph \endgroup \fi -\let\dmess=\message -\def\target{\btg \unitscale .5 - \move h:2 v:2 - \lcir r:1.5 \pfill p:.7 - \lcir r:1 \pfill p:.5 - \lcir r:.5 \pfill p:.3 - \move h:4 v:4 - \etg} -\figureinsert{target}{This is a - Figure Insertion Involving Graphics}{\centergraph{\target}} -The commands were -\beginttverbatim -\1def\1target{\1btg \1unitscale .5 - \1move h:2 v:2 - \1lcir r:1.5 \1pfill p:.7 - \1lcir r:1 \1pfill p:.5 - \1lcir r:.5 \1pfill p:.3 - \1move h:4 v:4 - \1etg} -\1figureinsert{target}{This is a - Figure Insertion Involving Graphics}{\1centergraph{\1target}} -\endttverbatim -\tex Graph commands are documented in ``texgraph.doc''. - - - -The format of the |\tableform| and |\tableinsert| commands - is the same with the last argument -replaced by the table itself or an |\input{<filename>}| that would bring -in the file. The ``Fig.'' in the caption is in the command |\figurelabel|. -There is an equivalent |\tablelabel|. - -\shead{fullpagefig}{Full Page Figure/Table Inserts} -Full page figure/table inserts are complicated by the need to position the -caption differently if the figure/table exists or not. The following is used -for a full page figure if there is no figure and the caption is required at -the bottom of the page. -\begintt -\beginpageinsert -\captionskip = 0pt plus 1 fill % pushes caption to bottom of page -\figureform{<tag or number>}{<title>}{} % note empty last parameter -\endpageinsert -\endtt -If there is a figure, it will be placed at the top of the page and -the caption, a |\captionskip| below it. The commands for this are -\begintt -\beginpageinsert -\figureform{<tag or number>}{<title>}{<figure>} -\endpageinsert -\endtt -Tables are inserted similarly. - -To insert a table or figure vertically on a page, \tex Graph must be used. - -\shead{figcomp}{Complications and Unusual Cases} -Insertions are not without there complications. The following problems can -occur: -\beginlist -\li $\bullet$ Two or more figure insertions reverse their order: This will -occur when there is room to insert the second figure called out but not the -first. {\bf Solutions(?):} call them out in different order; use -|\figureform| to force the insertion and accept the consequences; make the -figures smaller. -\li $\bullet$ A figure has one or two lines of text below it: This will -happen if the inserted figure is almost a full page. It is even possible to -have an almost blank page preceding it. {\bf Solution:} Change the -|\figureinsert| to an full page insert as described in -Section~\ref{fullpagefig}. -\li $\bullet$ Two full page figures in row are really parts 1 and 2 of the -same figure: This is complication both with the automatic numbering of the -figures and the list of figures. The solution is somewhat complicated. -Only the numbering problem is considered here. See Chapter~\ref{auto} -for the details on autonumbering. {\bf Solution:} -\begintt -\silent{\autofignum{<figtag>}} -\begingroup -\autonumberingoff -\beginpageinsert -\figureform{\ref{<figtag>}(a)}{<part (a) caption>}{<fig a>} -\endpageinsert -\beginpageinsert -\figureform{\ref{<figtag>}(b)}{<part (b) caption>}{<fig a>} -\endpageinsert -\endgroup -\endtt -\li $\bullet$ Figures from a previous chapter or section spill over into the -next: {\bf Solution:} Follow the last figure with |\ejectinserts|. If a new -page is required, follow this by |\ejectpage|. - -\endlist - - - -\shead{figtblcomforms}{Command Forms} -\beginblockmode -\ext\@|\beginmidinsert| -\nbr -\ext\@|\beginpageinsert| -\nbr -\ext\@|\begintopinsert| -\nbr -These basic deferred text insertion commands start a group and define the -beginning of |<text>| that will be inserted either in place or at the top of -the next page if there is no room, on the entire next page, or at the top of -the page respectively. - -\mbr -\ext\@|\captionbox{<number text>}{<title>}| -\nbr -This command is used for captioning figures or tables. If the |<number text>| -plus the |<title>| is shorter than -|\captiontextfraction| of the size of the enclosing box or -page, the two are centered. If the total is greater, the title is put in a box, -in ragged format and will be automatically broken if it takes more than the -one line. The spacing is always one. |\captiontextfraction| is defaulted to -0.8. -The captionbox is used in both |\figureform| and |\tableform| but is -available for other captioning as necessary. - -\mbr -\ext\@|\captionbody{<text>}| -\nbr -This command is optionally placed in title field of a caption. it is used to -write an essay about a figure or table that you do not want to turn up in the -list of figures or tables. It is printed if |\captionbodyon| and is not -printed if |\captionbodyoff|. |\captionbodyon| is the default. The -|\captionbody| is {\bf not} written out to the |.fig| or |.tbl| file. - -\mbr -\ext\@|\captionbodyon \captionbodyoff| -\nbr -|\captionbodyon| allows a |\captionbody| text to be output -- -|\captionbodyoff| prevents it. The default in normal text is |\captionbodyon| -but in lists of figures or tables produced by |\makefiglist| or -|\maketbllist| is |\captionbodyoff|. - - - -\mbr -\ext\@|\captionbodyfont| -\nbr -This command sets font of the body of the caption of a Figure or Table. -The material affected by this font will not appear in a list of tables or -figures. -The default is the same as current active font. - - -\mbr -\ext\@|\captionnumfont| -\nbr -This command sets font of the herald {\bf Fig.} and the number. -It is set in a consistent way as part of the document font specification in a -font family. The default is the same as the |\ssheadfont|. - -\mbr -\ext\@|\captiontitlefont| -\nbr -This command sets font of the title of a Figure or Table. -The default is the same as current active font. - - - - - -\mbr -\ext\@|\captionskip [=] <dimen>| -\nbr -This command sets the spacing between the figure/table and the following -|\captionbox|. It is assigned |0pt plus 1fill| to force the caption box to the -bottom of the page for a full page figure. - - -\mbr -\ext\@|\captiontextfraction| -\nbr -This value controls the fraction of the width of the page that will be used -to determine whether the caption text is set as a single line or as several -lines. It is defined in {\tt inrsdef.tex} as |\def\captiontextfraction{0.8}|. - -\mbr -\ext\@|\ejectinserts| -\nbr -This command forces out all of the inserts, be they footnotes or deferred -figures and leaves the position at the end of the last insert. If a new page -is desired, the |\ejectinserts| should be followed by an |\ejectpage|. - - -\mbr -\ext\@|\endmidinsert| -\nbr -\ext\@|\endpageinsert| -\nbr -\ext\@|\endtopinsert| -\nbr -These commands terminate their respective |\begin..insert| and close the -group. - - -\mbr -\ext\@|\figureform{<tag or number>}{<title>}{<figure box>}| -\nbr -This is the basic command for inserting and captioning space for a figure in -a document. If |autonumbering| is on, the |<tag or number>| becomes the tag -for the figure for in text reference. The actual text inserted in the figure -caption is |\figurelabel<figure number>| where the |<figure number>| is -computed determined from the tag value. For instance ``|\ref{dummyfig}|'' gives -``\ref{dummyfig}''. If autonumbering is off, the text of the -|<tag or number>| is inserted. The |<figure box>| should take up the same -amount of space as the actual figure, less captions. If the |.fig| file is -open, the |\figtoc| command with its |<number>|, |<title>| and -|<page number>| arguments are written to it. - -\mbr -\ext\@|\figureinsert{<tag or number>}{<title>}{<figure box>}| -\nbr -This is equivalent to -\begintt -\beginmidinsert -\figureform{<tag or number>}{<title>}{<figure box>}| -\endmidinsert -\endtt -The effect is to place the figure at the present location, if there is enough -room on the page, or defer it to the top of the next page if there is not. -See Section~\ref{figcomp} for complications. - -\mbr -\ext\@|\figurelabel| -\nbr -This command is defined to give the text that precedes the |<figure number>| -in the caption. In \intex\ this is ``\figurelabel''. This is modified by -redefining it with a |\def\figurelabel {<new label>}|. - -\mbr -\ext\@|\rect <horizontal dimen> by <vertical dimen>| -\nbr -This creates a line boxed rectangle with the dimensions given and then places -it in a |\centerline|. - -\mbr -\ext\@|\tableform{<tag or number>}{<title>}{<table>}| -\nbr -This command is almost identical to |\figureform| except that the |listfile| -is |.tbl|, the prenumber caption, which is ``\tablelabel'' is -defined by the command |\tablelabel|, -and the final argument will usually be the actual table. - -\mbr -\ext\@|\tableinsert{<tag or number>}{<title>}{<figure box>}| -\nbr -This is equivalent to -\begintt -\beginmidinsert -\tableform{<tag or number>}{<title>}{<figure box>}| -\endmidinsert -\endtt -The effect is to place the table at the present location, if there is enough -room on the page, or defer it to the top of the next page if there is not. -See Section~\ref{figcomp} for complications. - - -\mbr -\ext\@|\tablelabel| -\nbr -This command is defined to be the prestring to the table number. It defaults -to ``\tablelabel''. This is modified by -redefining it with a |\def\tablelabel {<new label>}|. - -\endblockmode -\ejectpage -\done diff --git a/macros/inrstex/inrsdoc/thfonts.tex b/macros/inrstex/inrsdoc/thfonts.tex deleted file mode 100644 index 1f90834fe9..0000000000 --- a/macros/inrstex/inrsdoc/thfonts.tex +++ /dev/null @@ -1,155 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{fonts} -\def\cqu{} - - -%======== Special fonts for this chapter ======== - -\chapterhead{fonts}{FONTS} -\intex\ has available to it a large number of fonts.\footnote{\dagger}{The -ease of availability of different fonts is determined by the power of the -local {\tt texprint} program. A ``font manager'' to find obscure fonts is a -necessity if a wide range of fonts are needed \dots\ or desired.} -Fonts are available as members of a ``family'' or individually. -Font families consist of various styles (normal) Roman, Boldface, -Italic, Slanted, and Mathematics symbols at the different point sizes. - -\shead{fontfamily}{Fonts in a Font Family} -A font family consists of a number of fonts and mathematical symbols that -have been chosen to satisfy the size requirements of sub and subsub scripts. -The family sizes available are -{\twelvepoint |\twelvepoint|}, {\tenpoint |\tenpoint|}, -{\ninepoint |\ninepoint|}, -and -{\eightpoint |\eightpoint|}.\footnote{\ddagger}{In \tex\ there are 72.26666 points to the inch (about 28.45 points to the -cm).} -To call a specific style of font in a font -family it is necessary to use the simple abbreviation of |\rm| for roman, -|\it| for text italic, |\sl| for slanted, |\bf| for bold, and |\tt| for a -fixed spacing typewriter like font. |\tt| is in the tenpoint typewriter font. -In addition, a font family has three {\it big} fonts called respectively, -|\bigfont|, |\biggfont|, and |\bigggfont|. These are all roman fonts and are -approximately 1.2, 1.44, and 1.78 times the basic family point size. There is -also a {\smallerfont smallerfont} that is called through |\smallerfont|. -These fonts are all changed when the point size family is changed. - -\shead{documentfonts}{Document Font} -\intex\ has the important idea of a {\it document} and along with it a -{\it document font family}. -This is the -default font for the document and the basis of the sizes of the fonts found -in the headers, footers, section heads, or footnotes among others. For -example the section head font is called |\sheadfont| and is only changed when -the document font family is changed and not by merely calling a point size -family. -The change in the document font is made naming a particular {\tt <point size -font family>} {\bf as an argument} of a |\documentstyle| command. For -instance -|\documentstyle{\twelvepoint}| would create a document with the -text twelve point Roman. -The fonts for -chapter and section heads, footnotes, headers, and footers would -also be appropriately modified. This -feature means that you could run |\eightpoint| text through several sections -without modifying the section head fonts. On the other hand, a change in -document font will change the entire document and can be done at any time or -even within a group. - -|\documentstyle{\tenpoint}| set the document font set of this book to tenpoint. - -\font\fivermsca=cmr5 scaled 2074 -\shead{specialfonts}{Additional Fonts} -A new font, assuming that it exists, must first be defined and then called. -For example, |\font\fivermsca = cmr5 scaled 2074| {\bf defines} a five point -Roman font magnified by 2.074, or to about 10 points. The ``5 point'' is its -design size. To call the font, use |\fivermsca|, usually inside a group to -limit its effect. For instance ``{\fivermsca this was produced by}'' the -following ``|{\fivermsca this was produced by}|''. Note that a scaled five -point font is wider than a ten point form. The command is - -\beginblockmode -\mbr -\ext\@|\font\<fontname> [scaled <number>]| -\nbr -This defines a new font with the name |\<fontname>|. The scaling is optional. -The scale values are 4 digit integers, 1000 times greater than the nominal -size. Thus |\font\fvx = ambx5 scaled 1000| is identical to -|\font\fvx = ambx5|. To actually use the font, the command |\<fontname>| is -called. -\endblockmode -Some examples are as follows: -\font\tensc=cmcsc10 -\font\twelvess=cmss12 -\font\eighteenrm=cmr17 -\font\tendu=cmdunh10 -\font\tenu=cmu10 -\font\sixrm=cmr6 -\font\sixbf=cmbx6 -\begingroup -\lineskip=3pt -\bshortcomlist -\ext\@|\fivei|&{\fivei Five point math italic}\cr -\ext\@|\fiverm|&{\fiverm Five point Roman}\cr -\ext\@|\fivebf|&{\fiverm Five point bold}\cr -|\font\sixrm=cmr6|&{\sixrm Six point Roman}\cr -|\font\sixbf=cmbx6|&{\sixbf Six point Bold}\cr -|\font\eighteenrm=cmr17|&{\eighteenrm Eighteen (Seventeen?) point Roman}\cr -|\font\tendu=cmdunh10|&{\tendu Ten point Dunhill}\cr -|\font\twelvess=cmss12|&{\twelvess Twelve point special San Serif}\cr -|\font\tenu=cmu10|&{\tenu Ten point unslanted italic}\cr -\eshortcomlist -\endgroup -Note that |\fivei| is a mathematics italic font. In this font the space has -been defined to have zero width and the character set is different than that -found in a typical Roman type font. - -\def\lb{\hfil\break} -\shead{fontcomlist}{Command Forms} -The four complete point size families are -\bshortcomlist -\ext\@|\twelvepoint|&{\twelverm Calls the twelvepoint font family}\cr -\ext\@|\tenpoint|&{\tenrm Calls the tenpoint font family}\cr -\ext\@|\ninepoint|&{\ninerm Calls the ninepoint font family}\cr -\ext\@|\eightpoint|&{\eightrm Calls the eightpoint font family}\cr -\eshortcomlist - -\dssshead{Point Size Relative Fonts} -\begingroup -\veryraggedright -\bshortcomlist -\ext\@|\bf|&{\bf Bold in current font family (tenpoint)}\cr -\ext\@|\it|&{\eightpoint \it Italic in current font family (eightpoint)}\cr -\ext\@|\rm|&{\eightrm Roman in current font family (eightpoint)}\cr -%\ext\@|\sl|&{\eightpoint \sl Slanted in current font family (eightpoint)}\cr -\ext\@|\tt|&{\eightpoint\tt Typewriter in current font family (eightpoint)} \cr -\ext\@|\bigggfont|&{\eightpoint \bigggfont Biggg font in current (eightpoint)}\cr -\ext\@|\biggfont|&{\eightpoint \biggfont Bigg font in current (eightpoint)}\cr -\ext\@|\bigfont|&{\eightpoint \bigfont Big font in current (eightpoint)}\cr -\ext\@|\cheadfont|&{\cheadfont chapterhead in current (tenpoint)}\cr -\ext\@|\documentstyle{<font family>}|& Sets document font family to {\tt <font family>}\cr -\ext\@|\footerfont|&{footerfont of current document font}\cr -\ext\@|\footnotefont|&{\footnotefont footnote font (family) of current document font} \cr -\ext\@|\headerfont|&{header font of current document font}\cr -\ext\@|\smallerfont|&{\smallerfont this is smaller relative to tenpoint}\cr -\ext\@|\sheadfont|&{\sheadfont Section head font of current document font}\cr -\ext\@|\ssheadfont|&{\ssheadfont Subsection head font of current document font}\cr -\ext\@|\sssheadfont|&{\sssheadfont Subsubsection head font of current document font}\cr -\ext\@|\dsssheadfont|&{\dsssheadfont Diminished section head font of current document font}\cr -\ext\@|\captionnumfont|&{\captionnumfont Caption label and number font of - current document font}\cr -\ext\@|\captiontitlefont|&{\captiontitlefont Caption title font of - current document font}\cr -\ext\@|\captionbodyfont|&{\captionbodyfont Caption body font of - current document font}\cr - -\eshortcomlist -\endgroup - -\shead{newfontfam}{New Font Families} -It is easy to produce a new font family that is compatible with \intex\--- -just modify the |\tenpoint| definition that is in the {\tt -inrsfont.tex} file. - -\ejectpage -\done diff --git a/macros/inrstex/inrsdoc/thftnote.tex b/macros/inrstex/inrsdoc/thftnote.tex deleted file mode 100644 index c0bb431036..0000000000 --- a/macros/inrstex/inrsdoc/thftnote.tex +++ /dev/null @@ -1,104 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{footnot} -\def\cqu{} - -{\catcode`\?=7 -\global\def\ftn{$\sphantom{\cheadfont S}?\ddagger$} -} -\autonumberingon - -\chapterhead{footnot}{FOOTNOTES\ftn} -\sfootnote{\ddagger}{This really should not have been footnoted. However to - obtain the correct placement of the $\ddagger$, - |$\sphantom{\cheadfont S}^\ddagger$| was actually used. This footnote leads -to a large number of problems. It will show up in the automatic listing of -the table of contents and the header text. To prevent this, the -|\let\ftn=\relax| is placed immediately after the |\chapterhead| and -just before |\maketoclist| produces the table of contents. -} -\let\ftn=\relax -\intex\ supplies a simple but powerful -footnote\footnote{\dagger}{For making footnotes like this, even with -imbedded mathematics, {\it ie} $\int_0^{\infty} g(x)dx$, or {\bf font} -changes.} -capability. This replaces the |\footnote| command in {\it plain}. {\bf Do not -use |\footnote| in |\title| or any of the section head commands.} -The footnote will get lost. If you must footnote a title or section -head, then use |\up{<mark>}| where you call out the footnote and |\sfootnote| -with the same |<mark>| in the vertical list of the surrounding {\bf page}. -For those of you who wish to change the default formats there is an -|\everyfootnote={<token list>}| that will be inserted at the beginning of -every footnote list. -\shead{footnotcomlist}{Command List} -\begintwocolumn -\pla|\dimen\footins| -\ext|\everyfootnote| -\ext|\footnote| -\ext|\footnotefont| -\pla|\footnoterule| -\pla|\skip\footins| -\ext|\sfootnote| -\ext|\up| -\endthreecolumn - -\shead{footnotcomforms}{Command Forms} -\beginblockmode -\ext\@|\everyfootnote = {<token list>}| -\nbr -The |<token list>| is inserted before every footnote list. It could be used, -for instance, to change the spacing between lines or any other default -feature that is found undesirable. - -\mbr -\ext\@|\footnote{<math mode mark>}{<text>}| -\nbr -The |<math mode mark>| is the marker that is placed -on the word that is being footnoted. Note that it is in {\bf math mode}. This -command should be used only in (internal) horizontal mode. -If the footnote gets lost for some reason, use the |\up{<math mode mark>}| at -the appropriate place in the text and |\sfootnote| with the same -|<math mode mark>|. The |\sfootnote| should be in the vertical list of the -main page. -\mbr -\ext\@|\footnotefont| -\nbr -The footnote font (really an entire family) -\dots it is set when the document font -is set or specifically. -\mbr -\pla\@|\footnoterule| -\nbr -The footnote line at the bottom of a page. This is modified by redefining it -through a |\def\footnoterule{<new definition>}|. -\mbr -\ext\@|\up{<math mode mark>}| -This command superscripts the |<math mode mark>| to the preceding character. -It assumes that the current font family is active. Since the -|\cheadfont| in the title is much bigger than the default |\tenpoint| of this -book, |{\cheadfont FOOTNOTES\up{\ddagger}}| would look like this -{\cheadfont FOOTNOTES\up{\ddagger}}. - -\mbr -\pla\@|\skip\footins [=] <dimen>| -\nbr -This sets the initial skip before the first -footnote to |<dimen>|. -\mbr -\pla\@|\dimen\footins [=] <dimen>| -\nbr -This sets the maximum height allowed for -footnotes to |<dimen>|. If this maximum height is exceeded, the footnotes spill over to the -next page. It is set in \intex\ at 10in. - -\mbr -\ext\@|\sfootnote{<math mode mark>}{<text>}| -\nbr -This should be used for footnotes that appear in the vertical mode. It is -necessary if the original footnote to be called out is too deep inside -vertical boxes. An example of this is the |\title|, the various section and -chapter heads, and the |\captionbox| in a |\figureinsert| or |\tableinsert|. -It should not be used in either horizontal or internal vertical mode. -\endblockmode -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thglue.tex b/macros/inrstex/inrsdoc/thglue.tex deleted file mode 100644 index f47503b8eb..0000000000 --- a/macros/inrstex/inrsdoc/thglue.tex +++ /dev/null @@ -1,125 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{glue} -\def\cqu{} - -\chapterhead{glue}{GLUE -- REVISITED} -Glue is the binder that lets \tex\ do its job. This chapter discusses some -preset forms of glue and their uses. Along with glue parameters there are a -number of special commands for inserting glue. The most interesting have -different degrees of infinity, namely |\hfil|, |\hfill|, |\hfilneg|, |\hss|, -and their vertical counterparts. - -Because of the special spacing requirements of mathematics, \tex\ defines -skips and spacing that are valid in mathematics mode only. Examples are the -are the special preset |mu| glues of |\thickmuskip|, -|\medmuskip|, |\thinmuskip|. -The |\newskip| and |\newmuskip| commands allocate skip (or really glue) -or muskip registers respectively for special uses. For example the specific -glues surrounding section heads are held in glue registers. - -It should be noted that the various |\...muskip| do not cause horizontal -spacing in math mode by themselves. They are used with |\mskip| to actually -cause the insertion of the glue. - - -\shead{gluecomlist}{Command List} -\beginthreecolumn -\pla|\hfil \hfill| -\pla|\hfilneg| -\pla|\hss| -\pla|\medmuskip| -\pla|\newskip| -\pla|\newmuskip| -\pla|\thickmuskip| -\pla|\thinmuskip| -\pla|\vfil \vfill| -\pla|\vfilneg| -\pla|\vss| -\endthreecolumn - - -\shead{gluecomform}{Command Forms} -\beginblockmode -\pla\@|\hfil \hfill| -\nbr -\pla\@|\hfilneg| -\nbr -\pla\@|\hss| -\nbr -%\tracingall \tracingonline=0 -These are all various forms of horizontal (or math) mode commands that insert -infinite quantities of glue. |\hfil|, |\hfill|, |\hfilneg|, and |\hss| insert -|plus 1fil|, |plus 1fill|, |minus 1fil|, and |plus 1fil minus 1fil|. -The first two are {\it stretch} glues, the third is {\it shrink} glue and the -last is both. It -should be noted that when \tex\ tries to stretch or shrink glue values, they -vary according to their value. If there exists both |fil| and finite value -glue in a box or line, then all the stretch if it is |plus| glue -or shrink if it is |minus| glue will be in -the section with the |fil| glue. If there is |fill| glue and either |fil| or -finite glue, then all the stretch or shrink will be in the |fill| sections. -Similarly with |filll| glue, which is not supplied in as readily usable form. -The difference in behaviour between |\hfil| and |\hss| is that |\hss| glue -will allow the contents of a box to spill outside without resulting in an -overfull box while |\hfil| will only fill or push contents to the edge of the -box. The major use for these glues are to center or to force stuff to either -edge of a box. For instance this -\begintt -\line{\vrule \hfil one \hfil two \hfil three - \hfill four \hfil five \hfil six - \hfill seven \hfil eight \hfil nine\vrule} -\endtt -gives - -\line{\vrule \hfil one \hfil two \hfil three - \hfill four \hfil five \hfil six - \hfill seven \hfil eight \hfil nine\vrule} - - - -\mbr -\pla\@|\medmuskip| -\nbr -This is a preset |mu| glue. |\medmuskip = 4mu plus 2mu minus 4mu| for use -with |\mskip|. This is \hbox{\strut\vrule$\mskip\medmuskip$\vrule}. - - -\mbr -\pla\@|\newskip\<skip name>| -\nbr -This assigns a new skip or glue register to the name |\<skip name>|. Glue -values may be assigned to it by |\<skip name> [=] <glue>|. - -\mbr -\pla\@|\newmuskip\<muskip name>| -\nbr -This assigns a new muskip or muglue register to the name |\<muskip name>|. Glue -values may be assigned to it by |\<muskip name> [=] <muglue>|. - -\mbr -\pla\@|\thickmuskip| -\nbr -This is a preset |mu| glue. |\thickmuskip = 5mu plus 5mu| for use -with |\mskip|. This is \hbox{\strut\vrule$\mskip\thickmuskip$\vrule}. - - -\mbr -\pla\@|\thinmuskip| -\nbr -This is a preset |mu| glue. |\thinmuskip = 3mu| for use -with |\mskip|. This is \hbox{\strut\vrule$\mskip\thinmuskip$\vrule} - - -\mbr -\pla\@|\vfil \vfill| -\nbr -\pla\@|\vfilneg| -\nbr -\pla\@|\vss| -\nbr -These are the vertical analogues to the infinite horizontal glues and act in -much the same manner. See the section on |\hfil ...|. -\endblockmode -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thgraph.tex b/macros/inrstex/inrsdoc/thgraph.tex deleted file mode 100644 index 6cb4f0cb67..0000000000 --- a/macros/inrstex/inrsdoc/thgraph.tex +++ /dev/null @@ -1,1288 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{graph} -\def\cqu{} - - -\chapterhead{graph}{\TeX Graph} - - - -The graphics package that is a part of \intex\ -adds the following -capabilities -\bl -\li $\bullet$ The production of a complete paper/report requiring no -additional insertions (except perhaps colour photographs if required). - -\li $\bullet$ The ability to insert a file, for example a plot or halftone, -in Encapsulated PostScript Format (EPSF), and to automatically leave enough -space in the text. - -\li $\bullet$ The mixing of a vector graphics and \TeX\ -text. In fact \TeX\ text may now be printed at any arbitrary angle. - -\el - -The package requires a sensible PostScript driver. The basic requirements -for the driver are as follows: -\bl -\lb The |\special| commands and the other information in the .dvi file are -processed in the order they are found in the .dvi file. This is necessary -in order to be able to rotate tables and arbitrary text \dots\ among other -things. -\lb The driver does not perform PostScript {\tt save} and {\tt restore} -commands around |\special| commands. -\lb The driver uses the code {\tt ps:} is used to signal a file name and -the code {\tt ps::} to signal inline code. -\lb The driver sets the {\tt currentpoint} before entering a |\special|. -\el - -\shead{gcomlist}{Command List - \TeX Graph} -\begintwocolumn -\ext|\absoluteposition| -\ext|\absolutescale| -\ext|\arcc| -\ext|\arcn| -\ext|\arrowheadscale| -\ext|\arrowheadsize| -\ext|\arrowheadtype| -\ext|\avec| -\ext|\beginsegment| -\ext|\beginTeXgraph \btg| -\ext|\cavec| -\ext|\cav| -\ext|\centergraph| -\ext|\centerplotfile| -\ext|\clvec| -\ext|\clv| -\ext|\endsegment| -\ext|\endTeXgraph \etg| -\ext|\graphdim| -\ext|\hgraphsize| -\ext|\hgraphskip| -\ext|\hpix| -\ext|\htext| -\ext|\includefile| -\ext|\incscfile| -\ext|\incscmvfile| -\ext|\larc| -\ext|\lcir| -\ext|\linecap| -\ext|\linejoin| -\ext|\lpatt| -\ext|\lvec| -\ext|\move| -\ext|\penwidth| -\ext|\relativeposition| -\ext|\relativescale| -\ext|\rstext| -\ext|\rtext| -\ext|\segmentscale| -\ext|\unitscale| -\ext|\vgraphsize| -\ext|\vgraphskip| -\ext|\vpix| -\ext|\vtext| -\endtwocolumn - -\shead{plotfile}{The Inclusion of Encapsulated PostScript} -All the commands that are used to include encapsulated PostScript files -read the {\tt Boundingbox} and leave enough space in the text for the -graphics. The {\tt Boundingbox} may be at either the beginning or the end -of the file. However, if the {\tt Boundingbox} is at the the end, it might -take \TeX\ some time to read the entire file to find it. - -The simplest command for including a graphics file is -$$ -|\centerplotfile{<file name>}|. -$$ -For instance the (old) IEEE Communications Society -logo was brought in simply by saying -\beginttverbatim \ninepoint \tt -\1medskip -\1hrule -\1centerplotfile{ieeelogo.ps} -\1hrule -\1medskip -\endttverbatim -right here. -\medskip -\hrule -\centerplotfile{ieeelogo.ps} -\hrule -\medskip -The |\hrule| commands were put in to show how much space was left by \TeX -Graph. -A slightly more complicated example illustrating both rotation and scaling -is given below. -\bigskip -\hrule -\centergraph{ \btg - \incscfile f:{ieeelogo.ps} sc:.3 d:45 - \etg} -\hrule -\bigskip -The code for this is -\beginttverbatim -\1hrule -\1centergraph{ \1btg - \1incscfile f:{ieeelogo.ps} sc:.3 d:45 - \1etg} -\1hrule -\endttverbatim - -Notice that the computation of the space to leave was incorrect. This is -due to the difficulty in performing the computations for obtaining the -bounding box for an arbitrarily rotated and scaled figure. - -The most general -inclusion command is |\incscmvfile| which allows for arbitrary scaling, -rotation, and offset. Finally, the rotation, scaling, and placement may be -applied around any of the nine text box reference points described in -Section~\ref{tgraph}. - - -\shead{tforms}{\TeX Graph Basics} -\TeX Graph has a number of capabilities that range from primitive to -powerful. The following list of classes is for reference only. More detail -will follow with examples in the various sections to follow. This section may -be omitted on first reading. -\dssshead{\TeX Graph Classes} -\bl -\lb Drawing primitives consist of commands for circles, -circular arcs, line vectors, vectors with arrowheads, spline curves, spline -curves with arrowheads, line dotting commands, and various shades of gray -for fills. - -\lb There are commands for changing whether the distances specified -are to be interpreted absolutely, with respect to an origin or relatively -with respect to the present position. - -\lb There is a command to change the (pen)width of the drawn lines -and to change the interpreted scale of the units of distance. - -\lb There is a command to change the default units. However, since -arbitrary scaling of units is allowed, this command is of limited use except -for those that visualize distances in different dimensions. The dimensions -available are those available in \intex. - -\lb There is a ``graphical segment'' which can be -placed at any specific location. Distances inside a graphical segment are -interpreted with respect to the segment origin. The distances inside a -segment may be either relative or absolute with respect to the segment -origin. There is a {\it segment scale} which allows for segments to be scaled -relatively with respect to an overall graph. - -\lb Text, with all the capabilities of \intex\ may be written -at any arbitrary angle. - -\lb \TeX Graph keeps track of the maximum extent of a graph. These -are available after the graph is terminated in the variables |\hgraphsize| -and |\vgraphsize|. |\hgraphskip| and |\vgraphskip| will cause a horizontal or -vertical skip of the appropriate graphsize. {\bf Unfortunately, these values -may be incorrect for a number of reasons. } These are -\bsl -\li $\circ$ Text may stick out the edge of the graph. -\li $\circ$ A circle or arc center is outside the main graph area. -\li $\circ$ The visible part of a circle or arc may be too far to the right. -\li $\circ$ A vertical segment may have inadvertently reset the maximum -positions. -\esl -In some cases it may be necessary to make a fake move to the lower right hand -corner of a graph to tell \TeX Graph the correct size \dots\ after you have -seen a preliminary version and know what it should be. - -\lb All of \TeX's definitional capabilities are available. These -can be used to replace a complex structure by a single command or -to change the surface syntax of \TeX Graph. - -\lb Explicit use of grouping in \TeX Graph, through $\{ \}$, or -|\begingroup|, |\endgroup| pairs is not allowed. This will foul up the -positional record keeping inside. Groups may be produced only through the -use of segments, namely the |\beginsegment|, |\endsegment| pair. -\el - - -\shead{tgraph}{Simple \TeX Graphics} -\TeX Graph will allow for rather sophisticated graphics. You can use the -definition capabilities of \intex\ to create libraries of symbols -for future use. - -Directions in \TeX Graph are described as horizontal, {\tt h:}, increasing -from left to right across the page and vertical, {\tt v:}, increaseing from -top to bottom {\bf down} the page. Thus the fundamental directions are -$$ -\centergraph{\btg - \move h:.3 v:.3 - \avec h:3 v:.3 - \move h:.3 v:.3 - \avec h:.3 v:2 - \textref h:C v:C - \move h:1.5 v:.15 \htext{Horizontal -- {\tt h:<number>}} - \move h:.15 v:1 \vtext{Vertical -- {\tt v:<number>}} - \etg} -$$ -\TeX Graph capabilities will be introduced slowly. -The following diamond box -$$ -\centergraph{ - \btg - \move h:0 v:.5 % moves penup to (0,.5) - \lvec h:.5 v:0 % draws a line to (.5,0) - \lvec h:1 v:.5 - \lvec h:.5 v:1 - \lvec h:0 v:.5 - \textref h:C v:C % sets the reference point in center of text. - \move h:.5 v:.5 - \htext {$\sum_{i=1}^n \rho_n$} % horizontal text box - \etg} -$$ -was put in place with -\beginttverbatim \ninepoint \tt -$$ % a convenient way to use displaymath spacing -\1centergraph{ - \1beginTeXgraphics % also known as \1btg - \1move h:0 v:.5 % moves penup to (0,.5) - \1lvec h:.5 v:0 % draws a line to (.5,0) - \1lvec h:1 v:.5 - \1lvec h:.5 v:.1 - \1lvec h:0 v:.5 - \1textref h:C v:C % sets the reference point in the center. - \1move h:.5 v:.5 - \1htext {$\1sum_{i=1}^n \1rho_n$} % horizontal text box - \1endTeXgraphics % also known as \1etg - } -$$ -\endttverbatim - -The command |\centergraph{<...>}| uses the information about plot size to -center the graphics horizontally and to leave enough room vertically. - -Arguments for all \TeX Graph primitive commands are delimited by spaces. -The units of the dimensions are implicit, but changable. The default is -inches. Thus {\tt h:<number>} is the distance in the horizontal (to right) -and {\tt v:<number>} is the distance in the vertical (down) direction. The -locations are absolute distances with respect to an origin in the upper left -hand corner. - -\shead{vecforms}{Simple Vector Forms} -This introduces some baisc drawing commands. There {\bf must} be -either a space or an -end of line after each {\tt <coordinate>}\]. The dimensional units are -implicit. We usually use {\tt <..>} instead of the less economical {\tt -<coordinate>}. -\beginblockmode -\ext\@|\move h:<..> v:<..>| -\nbr -This is a move from the current position to the coordinates given by -{\tt h:<..> v:<..>}. The pen is up. It may be used to move the current -reference point or to describe a boundary when creating a filled polygon. - -\mbr\ext\@|\lvec h:<..> v:<..>| -\nbr -This draws a line from the current position to {\tt h:<..> v:<..>}. - -\mbr\ext\@|\clvec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..>| -\nbr -This draws a Bezier spline curve from the current point to {\tt h3:<..> -v3:<..>} with respect to the control points {\tt h1:<..> v1:<..>} and -{\tt h2:<..> v2:<..>}. These curves are very versatile and can create many -effects, including loops, by varying the control points. - -\mbr\ext\@|\clv (<h1> <v1>) (<h2> <v2>) (<h3> <v3>)| -\nbr -This command is identical to |\clvec| but with a less verbose syntax. -\endblockmode - -Lines may be either solid of various widths, or dotted with custom -patterns. In addition the ends of the lines may be of different shapes and -joined with different defaults. In most cases you will not have to change -the defaults in \TeX Graph but the capability is there. - -\beginblockmode -\ext\@|\penwidth <size>| -\nbr -This sets the width of the pen or line in the current units. The default is -is .015 (in). - -\mbr\ext\@|\linecap <integer>| -\nbr -This sets the end shapes of the lines using PostScript notation. The -default is 1 or a round cap. A value of 0 is a butt cap with the line cut -off square exactly to its length. A value of 2 is a square cap with the -line extended by a square cap the thikness of half its width. For narrow -lines the difference is negligible. - -\mbr\ext\@|\linejoin <integer>| -\nbr -This sets the form in which lines join (PostScript notation). The default -is 1 which corresponds to a round line join. A value of 0 is a mitre or -pointed join while a value of 2 is a beveled or flattened join. For thin -lines the differences are negligible. - -\mbr\ext\@|\lpatt p:<pattern>| -\nbr -This sets the dotting pattern of the line in PostScript notation. The -default is a solid line described by |{[]}|. The simplest form is |{[a]}| -where the line is black for {\tt a} pixels and white for 1. |{[a b]}| would -mean {\tt a} pixels black followed by {\tt b} pixels white. A specification -of |[a1 b1 a2 b2]| would be a cyclic pattern with the line black for the -{\tt a?} pixels and white for the corresponding {\tt b?}. - -\endblockmode - -\TeX Graph alos supplies lines with arrowheads. These may be combined -dotting patterns given above but a decision will have to be made as to -whether you want the arrowhead itself dotted. -There are -three styles of arrowheads - \btg \move h:0 v:-.05 \avec h:.3 v:-.05 - \arrowheadtype t:O - \avec h:.6 v:-.05 - \arrowheadtype t:F - \avec h:.9 v:-.05 - \etg \hgraphskip\ -triangle {\tt T}, open {\tt O}, -and filled {\tt F}. The size may also be varied. There are no restriction on -the direction of the arrows. The commands are - -\beginblockmode -\ext\@|\avec h:<..> v:<..>| -\nbr -This draws a vector with an arrow head from the current position to -{\tt h:<..> v:<..>}. - -\mbr\ext\@|\cavec h1:<..> v1:<..> h2:<..> v2:<..> h3:<..> v3:<..>| -\nbr\ext\@|\cav (<h1> <v1>) (<h2> <v2>) (<h3> <v3>) | -\nbr -These are the spline versions of the vectors with arrowheads. - -\mbr\ext\@|\arrowheadtype t:<type>| -\nbr -The {\tt <type>} is {\tt T O F} for triangle, open, or filled respectively. - -\mbr\ext\@|\arrowheadsize l:<length> w:<width>| -\nbr -The {\tt<length>} and {\tt<width>} are in the current units. The default -is 0.16in by 0.04in. This size is {\tt independent} of the current scales. -This prevents arrowheads from disappearing as a graph is scaled. - -\mbr\ext\@|\arrowheadscale| -This makes the arrowheadsize sensitive to the segment and unit scales in -force when it is called. It is not global but is affected by the grouping -imposed by |\beginsegment| and |\endsegment| pairs. - -\endblockmode - -For most applications, the |\arrowheadsize| and the |\arrowheadscale| -will not be needed. - -The following example of a (partial) block diagram uses these commands. -$$ -\centergraph{\btg - \move h:0 v:.3 - \avec h:.5 v:.3 - \move h:.5 v:.6 % moves to lower lefthand corner of box - \lvec h:.5 v:0 % four sides - \lvec h:1.5 v:0 - \lvec h:1.5 v:.6 - \lvec h:.5 v:.6 - \etg} -$$ -This was produced by the following: -\beginttverbatim \ninepoint \tt -\1centergraph{\1btg - \1move h:0 v:.3 - \1avec h:.5 v:.3 % arrow vector leading into box - \1move h:.5 v:.6 % moves to lower lefthand corner of box - \1lvec h:.5 v:0 % four sides - \1lvec h:1.5 v:0 - \1lvec h:1.5 v:.6 - \1lvec h:.5 v:.6 - \1etg} -\endttverbatim - -We can change the type of arrowhead on this and all subsequent arrow vectors -by adding adding |\arrowheadtype t:O| before the |\avec ...| to give -$$ -\centergraph{\btg - \move h:0 v:.3 - \arrowheadtype t:F % changes default filled - \avec h:.5 v:.3 % arrow vector leading into box - \move h:.5 v:.6 % moves to lower lefthand corner of box - \lvec h:.5 v:0 % four sides - \lvec h:1.5 v:0 - \lvec h:1.5 v:.6 - \lvec h:.5 v:.6 - \etg} -$$ -This was produced by -\beginttverbatim \ninepoint \tt -\1centergraph{\1btg - \1move h:0 v:.3 - \1arrowheadtype t:F % changes default filled - \1avec h:.5 v:.3 % arrow vector leading into box - \1move h:.5 v:.6 % moves to lower lefthand corner of box - \1lvec h:.5 v:0 % four sides - \1lvec h:1.5 v:0 - \1lvec h:1.5 v:.6 - \1lvec h:.5 v:.6 - \1etg} -\endttverbatim - -\beginblockmode -\ext\@|\unitscale <scale>| -\nbr -This command causes all subsequent units in this or enclosed segments to be -scaled by the {\tt <scale>}. Thus |\unitscale 2.54| would have the effect -of changing a figure where the units were originally in inches to be in -centimetres. -\endblockmode - - -Thus the entire graph is reduced to half size by adding |\unitscale .5|\] at -the very beginning. -$$ -\centergraph{\btg - \unitscale .5 - \move h:0 v:.3 - \arrowheadtype t:F % changes default filled - \avec h:.5 v:.3 % arrow vector leading into box - \move h:.5 v:.6 % moves to lower lefthand corner of box - \lvec h:.5 v:0 % four sides - \lvec h:1.5 v:0 - \lvec h:1.5 v:.6 - \lvec h:.5 v:.6 - \etg} -$$ -Note that the arrowhead has not changed in size. The commands to do this are -\beginttverbatim \ninepoint \tt -\1centergraph{\1btg - \1unitscale .5 % causes all subsequent units to be multiplied - % by .5 - \1move h:0 v:.3 - \1arrowheadtype t:F % changes default filled - \1avec h:.5 v:.3 % arrow vector leading into box - \1move h:.5 v:.6 % moves to lower lefthand corner of box - \1lvec h:.5 v:0 % four sides - \1lvec h:1.5 v:0 - \1lvec h:1.5 v:.6 - \1lvec h:.5 v:.6 - \1etg} -\endttverbatim -If the arrowhead size needed to be reduced in the same scale it is necessary -to add |\arrowheadscale| after the |\unitscale| and before the first -arrowvector. Thus we get -$$ -\centergraph{\btg - \unitscale .5 % causes all subsequent units to be multiplied - % by .5 - \move h:0 v:.3 - \arrowheadscale % makes arrowhead size sensitive to scalings. - \arrowheadtype t:F % changes default filled - \avec h:.5 v:.3 % arrow vector leading into box - \move h:.5 v:.6 % moves to lower lefthand corner of box - \lvec h:.5 v:0 % four sides - \lvec h:1.5 v:0 - \lvec h:1.5 v:.6 - \lvec h:.5 v:.6 - \etg} -$$ -This is produced by -\beginttverbatim \ninepoint \tt -\1centergraph{\1btg - \1unitscale .5 % causes all subsequent units to be multiplied - % by .5 - \1move h:0 v:.3 - \1arrowheadscale % makes arrowhead size sensitive to scalings. - \1arrowheadtype t:F % changes default filled - \1avec h:.5 v:.3 % arrow vector leading into box - \1move h:.5 v:.6 % moves to lower lefthand corner of box - \1lvec h:.5 v:0 % four sides - \1lvec h:1.5 v:0 - \1lvec h:1.5 v:.6 - \1lvec h:.5 v:.6 - \1etg} -\endttverbatim - -Finally we have an example with dotted Bezier splines. -$$ -\centergraph{ \btg \lpatt p:{[20 30 20]} - \lvec h:0 v:2 - \move h:0 v:0 - \lpatt p:{[20 20 10 10]} - \cav (1 1) (2 1) (3 0) - \lpatt p:{[20 20]} - \move h:4 v:1 - \cav (0 2) (5 2) (1 1) - \etg - } -$$ - -which was given by -\beginttverbatim -\1centergraph{ \1btg \1lpatt p:{[20 30 20]} - \1lvec h:0 v:2 - \1move h:0 v:0 - \1lpatt p:{[20 20 10 10]} - \1cav (1 1) (2 1) (3 0) - \1lpatt p:{[20 20]} - \1move h:4 v:1 - \1cav (0 2) (5 2) (1 1) - \1etg - } -\endttverbatim -This is off center because the width computation includes the (5 2) control -point of the Bezier curve. - -\sshead{text}{Text in Graphs} -All text within \TeX Graph is actually typeset by \TeX. Since \TeX\ does -this so beautifully, it seems counter productive to do it otherwise. The -commands for including text at various angles are - -\beginblockmode -\ext\@|\htext {<text>}| -\nbr -This puts the text in a horizontal |\hbox| running from left to right. - -\mbr\ext\@|\vtext {<text>}| -\nbr -This puts the text in a vertical |\hbox| going upwards. - -\mbr\ext\@|\rtext d:<degrees> t:{<text>}| -\nbr -This puts text in an |\hbox| with an arbitrary rotation of {\tt <degrees>}. - -\mbr\ext\@|\rstext d:<degrees> sc:<scale> t:{<text>}| -\nbr -This puts text in an |\hbox| with an arbitrary rotation of {\tt <degrees>} -and scale {\tt <scale>}. - -\endblockmode - -Text is placed in an |\hbox|. This box is located at the point in the graph -where the |\?text| command is called. -In order to make the exact placement of the -box in a graph easier, the box is actually oriented at any one of nine -reference points. The command is - -\beginblockmode -\ext\@|\textref h:<L C R> v:<T C B>| -\nbr -The choices of {\tt L C R} are Left, Center, and Right respectively in the -horizontal and vertical positions. -\endblockmode - -The nine -choices are shown below: -\medskip -\def\bul{\htext {$\bullet$} } -\def\tref{\beginsegment - \textref h:C v:C - \lvec h:1 v:0 \bul - \lvec h:2 v:0 \bul - \lvec h:2 v:.5 \bul - \lvec h:2 v:1 \bul - \lvec h:1 v:1 \bul - \lvec h:0 v:1 \bul - \lvec h:0 v:.5 \bul - \lvec h:0 v:0 \bul - \move h:1 v:.5 \bul - \endsegment} -\def\tlabels{\textref h:R v:C %left hand labels - \htext{ h:L v:T } \lvec h:.2 v:0 \avec h:.6 v:.4 - \move h:0 v:.9 \htext{ h:L v:C } \avec h:.6 v:.9 - \move h:0 v:1.8 \htext{ h:L v:B } \lvec h:.2 v:1.8 \avec h:.6 v:1.4 - \textref h:L v:C %right hand labels - \move h:3.2 v:0 \htext{ h:R v:T } \lvec h:3 v:0 \avec h:2.6 v:.4 - \move h:3.2 v:.9 \htext{ h:R v:C } \avec h:2.6 v:.9 - \move h:3.2 v:1.8 \htext{ h:R v:B } \lvec h:3 v:1.8 \avec h:2.6 v:1.4 - \textref h:C v:B % Center Top - \move h:1.6 v:0 \htext{ h:C v:T } \move h:1.6 v:.05 - \avec h:1.6 v:.4 - \textref h:L v:C % Center Center - \move h:2.0 v:.7 \htext{ h:C v:C } \lvec h:1.85 v:.7 - \avec h:1.6 v:.9 - \textref h:C v:T % Center Bottom - \move h:1.6 v:1.8 \htext{ h:C v:B } \move h:1.6 v:1.75 - \avec h:1.6 v:1.4 - } -\medskip -\centergraph{\btg \unitscale .7 - \arrowheadsize l:.08 w:.02 \arrowheadtype t:O - \tlabels - \move h:.6 v:.4 \tref - \etg} -\medskip -These reference points move with the box as it is rotated or scaled. - -As an example we add the following $\rho=\sum_{i=1}^{n}\rho_i$ to the -center of the block diagram used previously to give -$$ -\centergraph{\btg - \move h:1.0 v:.3 % moves to center of box - \textref h:C v:C % sets text reference to dead center - \htext {$\rho=\sum_{i=1}^{n}\rho_i$} % puts in text - \move h:0 v:.3 - \avec h:.5 v:.3 % arrow vector leading into box - \move h:.5 v:.6 % moves to lower lefthand corner of box - \lvec h:.5 v:0 % four sides - \lvec h:1.5 v:0 - \lvec h:1.5 v:.6 - \lvec h:.5 v:.6 - \etg} -$$ -The commands to do this are -\beginttverbatim \ninepoint \tt -\1centergraph{\1btg - \1move h:1.0 v:.3 % moves to center of box - \1textref h:C v:C % sets text reference to dead center - \1htext {$\1rho=\1sum_{i=1}^{n}\1rho_i$} % puts in text - \1move h:0 v:.3 - \1avec h:.5 v:.3 % arrow vector leading into box - \1move h:.5 v:.6 % moves to lower lefthand corner of box - \1lvec h:.5 v:0 % four sides - \1lvec h:1.5 v:0 - \1lvec h:1.5 v:.6 - \1lvec h:.5 v:.6 - \1etg} -\endttverbatim - -Arbitrary rotation of text or graphics |\rtext|. -This example uses |\rtext d:45 t:<text>| in place of the |\htext|. -$$ -\centergraph{\btg - \move h:1.0 v:.3 % moves to center of box - \textref h:C v:C % sets text reference to dead center - \rtext d:45 t:{$\rho=\sum_{i=1}^{n}\rho_i$} % puts in text - \move h:0 v:.3 - \avec h:.5 v:.3 % arrow vector leading into box - \move h:.5 v:.6 % moves to lower lefthand corner of box - \lvec h:.5 v:0 % four sides - \lvec h:1.5 v:0 - \lvec h:1.5 v:.6 - \lvec h:.5 v:.6 - \etg} -$$ -Note that the text spills out over the edges of the box. There is no -guarantee that the text will fit in the box. -In fact if we take the -horizontal example and add a |\unitscale .7 \arrowheadscale| the following -results: -$$ -\centergraph{\btg - \unitscale .7 - \arrowheadscale - \move h:1.0 v:.3 % moves to center of box - \textref h:C v:C % sets text reference to dead center - \htext {$\rho=\sum_{i=1}^{n}\rho_i$} % puts in text - \move h:0 v:.3 - \avec h:.5 v:.3 % arrow vector leading into box - \move h:.5 v:.6 % moves to lower lefthand corner of box - \lvec h:.5 v:0 % four sides - \lvec h:1.5 v:0 - \lvec h:1.5 v:.6 - \lvec h:.5 v:.6 - \etg} -$$ - -Note that the font is not scaled. If we use |\rstext d:0 sc:.8 t:<...>| we -get -$$ -\centergraph{\btg - \unitscale .7 - \arrowheadscale - \move h:1.0 v:.3 % moves to center of box - \textref h:C v:C % sets text reference to dead center - \rstext d:0 sc:.8 t:{$\rho=\sum_{i=1}^{n}\rho_i$} - \move h:0 v:.3 - \avec h:.5 v:.3 % arrow vector leading into box - \move h:.5 v:.6 % moves to lower lefthand corner of box - \lvec h:.5 v:0 % four sides - \lvec h:1.5 v:0 - \lvec h:1.5 v:.6 - \lvec h:.5 v:.6 - \etg} -$$ - - -\shead{vertgraph}{Rotated Graphics and Text} -It is possible to place graphics or text at any arbitrary direction -on a page. It is only -necessary to include it in a |\vtext| for vertical or an |\rtext| for an -arbitrary rotation. However, it should be remembered that -the reference point is that position on the page where the |\?text| was -entered {\bf and} that the text/graphics goes at the appropriate angle. -The following shows a -simple table angled on the page. To do this correctly, requires that you -discover the size of the table. - -\def\sample{ - \btg - \lvec h:1 v:0 - \incscfile f:ieeelogo.ps sc:.25 d:0 - \lvec h:0 v:.5 - \htext{\begintable - \begintableformat - &\center - \endtableformat - \- - \br{\:|}\use{3} PROJECT --- Squidget Forms \er{|} - \- - \br{\:|} Milestone | Due | Projected \er{|} - \- - \br{\:|} A | Aug. 94 | Jan. 95 \er{|} - \- - \br{\:|} B | Dec. 94 | Dec. 95 \er{|} - \- - \br{\:|} A | Jan. 95 | ? \er{|} - \- - \endtable} - \etg} - -$$ -\centergraph{ - \btg - \lvec h:0 v:1 % sets origin - \rtext d:45 t:{\sample} - \lvec h:2 v:2 % sets size of graph ... - \etg} -$$ - -This was done with the following set of commands. Note that a |\def| was used -to make the construction easier to follow. |\lvec| was used rather than -|\move| in order to make the origin movements visible. -\beginttverbatim \ninepoint \tt -\1def\1sample{ - \1btg - \1lvec h;1 v:0 - \1incscfile f:ieeelogo.ps sc:.25 d:0 - \1lvec h:0 v:.5 - \1htext{\1begintable - \1begintableformat - &\1center - \1endtableformat - \1- - \1br{\1:|}\1use{3} PROJECT --- Squidget Forms \1er{|} - \1- - \1br{\1:|} Milestone | Due | Projected \1er{|} - \1- - \1br{\1:|} A | Aug. 94 | Jan. 95 \1er{|} - \1- - \1br{\1:|} B | Dec. 94 | Dec. 95 \1er{|} - \1- - \1br{\1:|} A | Jan. 95 | ? \1er{|} - \1- - \1endtable} - \1etg} -\endttverbatim - -\beginttverbatim \ninepoint \tt -\1medskip -\1centergraph{ - \1btg \1textref h:C v:C - \1lvec h:0 v:1 % sets origin - \1rtext d:45 t:{\1sample} - \1lvec h:2 v:2 % sets size of graph ... - \1etg} -\1medskip -\endttverbatim -In fact, this example was first -done as a separate file to learn the appropriate dimensions and then inputted -in the appropriate place. - -\sshead{arcs}{Circles, Arcs and Fills} -\TeX Graph uses the circle, arc, and fill commands of PostScript to -produce curves. PostScript uses a polygonal fill on the {\bf inside} of the -curve. This means that the direction of the arcs are important. - -The commands are -\beginblockmode -\ext\@|\lcir r:<radius>| -\nbr -This is a circle with the center at the current loaction and a radius of -size {\tt <radius>} in the current dimensions. - -\mbr\ext\@|\arcc r:<radius> sd:<degrees> ed:<degrees>| -\nbr -This is an ``unstroked''arc, ie equivalent to a |\move| in the counter -clockwise direction from {\tt sd:<..>} to {\tt ed:<..>}. If this is used in -a fill, the center of the circle is the beginning of the path. - -\mbr\ext\@|\arcn r:<radius> sd:<degrees> ed:<degrees>| -\nbr -This is the same as |\arcc| except that it is counter clockwise. - -\mbr\ext\@|\pfill p:<fraction>| -\nbr -This completes a path a fills the path with a shade of gray with {\tt p:0} -being black and {\tt p:1} being white. -\endblockmode - -The angles are in the directions shown here. -$$ -\centergraph{ - \btg \unitscale .7 - \move h:1 v:2 - \avec h:1 v:0 - \move h:0 v:1 - \avec h:2 v:1 - \move h:1 v:2.05 \textref h:C v:T \htext{$90^\circ$} - \move h:0 v:1 \textref h:R v:C \htext{$180^\circ$ } - \move h:1 v:-.05 \textref h:C v:B \htext{$270^\circ$} - \move h:2 v:1 \textref h:L v:C \htext{ $0^\circ,\ 360^\circ$ } - \etg} -$$ - -\def\fillbox #1 {\move h:.4 v:0 - \beginsegment - \absoluteposition - \lvec h:.5 v:0 - \lvec h:.5 v:.5 - \lvec h:0 v:.5 - \pfill p:{#1} - \move h:.25 v:.55 \textref h:C v:T \htext{#1} - \endsegment - \move h:.4 v:0 % for symmetry - } - -Some shades of gray are as follows: -$$ -\centergraph{ -\btg -\relativeposition -\fillbox 0 -\fillbox .1 -\fillbox .2 -\fillbox .3 -\fillbox .4 -\move h:-4 v:.8 -\fillbox .5 -\fillbox .6 -\fillbox .7 -\fillbox .8 -\fillbox .9 -\etg} -$$ - -An example of a use of arcs and fill is given below. -$$ -\centergraph{\btg - \arcc r:2 sd:0 ed:45 - \pfill p:.5 - \arcc r:1 sd:0 ed:45 - \pfill p:1 % fills the inside with white - \move h:2 v:1.5 % to leave enough space - \etg} -$$ - -This logo is given by -\beginttverbatim \ninepoint \tt -\1centergraph{\1btg - \1arcc r:2 sd:0 ed:45 - \1pfill p:.5 - \1arcc r:1 sd:0 ed:45 - \1pfill p:1 % fills the inside with white - \1move h:2 v:1.5 % to leave enough space - \1etg} -\endttverbatim -This shows that a fill of ``white'' (1) is opaque and obliterates the black -or gray underneath. Note the single line of dots from the origin. Apparently -there is some roundoff. This strategy is necessary in PostScript filling. - - -\shead{seg}{Advanced \TeX Graphics and Segments} -The most important advanced feature of \TeX Graph is the graphical segment. -These are delimited by |\beginsegment| |\endsegment| pairs. They are used to -create graphical items that can be placed at any specific location in a -graph. This capability, combined with \TeX's ability to create definitions -allows for the creation of libraries of symbols. {\bf Segments are the only -groups that should be used within a} |\btg| |\etg| {\bf -pair.}\footnote{!}{This is almost true. Groups may be used freely within -the argument of either an |\??text|.} A simple example of the use -of this facility was the definition of a |\fillbox| to create the box with -the fill pattern shown in Section~\ref{arcs}. The definition was - -\beginttverbatim \ninepoint \tt -\1def\1fillbox #1 {\1move h:.4 v:0 - \1beginsegment - \1absoluteposition - \1lvec h:.5 v:0 - \1lvec h:.5 v:.5 - \1lvec h:0 v:.5 - \1pfill p:{#1} - \1move h:.25 v:.55 \1textref h:C v:T \1htext{#1} - \1endsegment - \1move h:.4 v:0 % for symmetry - } -\endttverbatim - -The relative position in outside the segment allows the boxes to be placed -beside each other with even spacing and no additional instructions. - -Each segment has a {\it segment reference point}. This is the location in -the enclosing segment or |\btg| |\etg|, which is really just a special -segment. {\bf Absolute positions} within a segment are actually relative to -the {\it segment reference point}. Relative positions are relative. -The three -boxes below -$$ - \centergraph{\btg \relativeposition - \fillbox .3 - \fillbox .5 - \fillbox .7 - \etg} -$$ -were produced by -\beginttverbatim \ninepoint \tt -\1medskip - \1centergraph{\1btg \1relativeposition - \1fillbox .3 - \1fillbox .5 - \1fillbox .7 - \1etg} -\1medskip -\endttverbatim -Note that the space after the |#1| in the definition for |\fillbox| means -that the numbers are delimited by implicit space at the end of the line. If -this space had been left out, only the first digit in each of the pattern -numbers would have been read and the other would have been printed at some -odd place on the page. - -\sshead{segscale}{Segment Scaling} -There are several scaling parameters that can be used with segments. In -addition to the |\unitscale| there is a |\segmentscale|. Roughly speaking the -|\segmentscale| is used to change the scale of the present and all enclosed -segments while the |\unitscale| is used to set the nominal size of segment -object. The major difference between the two is that segment scales -accumulate while unitscales do not. An example is obtained using the -|\fillbox| in a segment. The following three boxes illustrate the effect. -$$ -\centergraph{\btg \unitscale .3 % changes units - \segmentscale 2 % doubles scale of all enclosed segments - % actual scale is .3*2=.6 - \fillbox .5 - \move h:.8 v:0 % moves to right beyond box - \beginsegment - \unitscale .5 % now unit scale is .5 - \segmentscale .7 % reduces scale by .5 -- actual scale is - % .5*2*.7=.7 - \fillbox .7 - \move h:.8 v:0 - \beginsegment - \unitscale 1 - \segmentscale .8 % actual scale is 1*2*.7*.8=1.12 - \fillbox .9 - \endsegment - \endsegment - \etg} -$$ - -This example should be studied carefully. The actual commands that produced -it are -\beginttverbatim \ninepoint \tt -\1centergraph{\1btg \1unitscale .3 % changes units - \1segmentscale 2 - % doubles scale of all enclosed segments - % actual scale is .3*2=.6 - \1fillbox .5 - \1move h:.8 v:0 % moves to right beyond box - \1beginsegment - \1unitscale .5 % now unit scale is .5 - \1segmentscale .7 - % reduces scale by .5 -- actual scale is - % .5*2*.7=.7 - \1fillbox .7 - \1move h:.8 v:0 - \1beginsegment - \1unitscale 1 - \1segmentscale .8 % actual scale is 1*2*.7*.8=1.12 - \1fillbox .9 - \1endsegment - % actual scale is back to .5*2*.7=.7 - \1endsegment - % actual scale is back to .3*2=.6 - \1etg} -\endttverbatim -Note how the segment scale accumulates while the unitscale does not. Note -also that the scale reverts to that of the enclosing segment after an -|\endsegment|. - -It is possible to prevent a segment from being affected by the external -segment scales by inserting the command |\absolutescale|. This is used for -symbols that you wish to have the same size no matter the actual scale of the -graph. - -\sshead{segsum}{Segment Command Summaries} -The following is a list of some of the important points concerning segments: -\beginblockmode -\ext\@|\beginsegment| -\nbr -This begins a graphical segment and a group. All locations within a segment -are relative to the origin of the segment. - -\mbr\ext\@|\endsegment| -\nbr -This terminates a segment and the group. The current location upon leaving -a segment is the segment origin. - -\mbr\ext\@|\unitscale <scale>| -\nbr -The {\tt <scale>} multiplies the present segment and all -enclosed segments unless they have their own |\unitscale|. A |\unitscale| may -be changed at any time within a segment. - -\mbr\ext\@|\segmentscale <scale>| -\nbr -The {\tt <scale>} affects the present segment and all -enclosed segments unless that segment is protected by an |\absolutescale|. -Unlike |\unitscale|, the |\segmentscale| accumulates by multiplying the -current scale value. -The actual scale used for interpreting position numbers is the -product of all of the enclosing segmentscales times the presently active -unitscale. - -\mbr\ext\@|\absoluteposition| -\nbr -All coordinates are to be interpreted with respect to the current origin. -This will either be the graph origin or the origin of the current segment. - -\mbr\ext\@|\relativeposition| -\nbr -Coordinate positions are interpreted relative to the previous position. If -the previous command was the drawing of an arc or circle, -the previous position is -the center of the circle. -\endblockmode - - - -\shead{slides}{Slide Making} -A specialized set of commands along with appropriate templates exist to -create a transparency. All slides are ``horizontal''. |\fullform| slides -take up an entire 8.5 by 11~in. page and are intended for display. -|\textform| slides are reduced for text. A |\comment <text> //| command is -given that is suppressed when the |\fullform| is used but is printed when -|\textform| is used. The text in the slides uses a general scaled font -family in the file |spfont.tex|. This family is basically a scaled set of -|\tenpoint| fonts. An example is given below: - - - -There are two basic forms, the INRS form and a General form. An example of -the |\inrsform| is given by - - -\textform -\formscale .7 - -\beginmidinsert -\inrsform - -\hslide HOW TO MAKE SLIDES WITH \intex// -\hd{Preliminaries} -\bl -\lb Input the macro package with {\tt \1input inrssl.tex}. -\lc Decide whether {\tt \1fullform} or {\tt \1textform}. -\last Decide whether {\tt \1inrsform} or {\tt \1genform}. -\el -\hd{Making it.} -\bl -\lb Use {\tt \1hslide <title>// <body> //}. -\lb Use {``//''} as the delimiter. -\el -// -\endmidinsert - -\beginttverbatim -\1input inrssl % brings in the slide macros -\1textform % sets textform and size -\1formscale .7 % further reduces the size of slide by .7 -\1beginmidinsert -\1inrsform % sets the inrs form -\1hslide HOW TO MAKE SLIDES WITH \1intex// -\1hd{Preliminaries} -\1bl -\1lb Input the macro package with {\1tt \1 1input inrssl.tex}. -\1lc Decide whether {\1tt \1 1fullform} or {\1tt \1 1textform}. -\1last Decide whether {\1tt \1 1inrsform} or {\1tt \1 1genform}. -\1el -\1hd{Making it.} -\1bl -\1lb Use {\1tt \1 1hslide <title>// <body> //}. -\1lb Use {``//''} as the delimiter. -\1el -// -\1endmidinsert -\endttverbatim - -\beginmidinsert -\topdata = {General Engineering Inc.} -\botdata = {An Important Presentation} -\slidedate = {Jan. 1, 2000} -\genform % this calls the general form that uses these token registers - -\hslide This is the title \cr Split here // -\hd{This is an internal header} -\bl -\lb A listitem starting with a bullet. -\lc A listitem starting with a circle. -\last A listitem starting with an asterisk. -\el -// % the // terminates a slide - -\comment -It is possible to add a comment to the bottom of the slide which -only shows up when the slide is printed in textform. A comment is -terminated with a {//} // -\endmidinsert - -This second slide was given by -\beginttverbatim -\1topdata = {General Engineering Inc.} -\1botdata = {An Important Presentation} -\1slidedate = {Jan. 1, 2000} -\1genform % the general form that uses these token strings - -\1hslide This is the title \1cr Split here // -\1hd{This is an internal header} -\1bl -\1lb A listitem starting with a bullet. -\1lc A listitem starting with a circle. -\1last A listitem starting with an asterisk. -\1el -// % the // terminates a slide - -\1comment -It is possible to add a comment to the bottom of the slide which -only shows up when the slide is printed in textform. A comment is -terminated with a {//} // -\endttverbatim - - -Arbitrary graphics may be included in a slide using normal \TeX Graph -commands. However, the included graphics may not scale correctly when -moving from |\fullform| to |\textform|. Under these conditions is is -necessary to include the test |\iftextform <....> \else <...> \fi| to -switch between the modes. - - -The basic commands in the slide package - -\beginblockmode -\ext\@|\input inrssl| -\nbr -This command will bring in the INRS\TeX\ slide macro package. - -\mbr\ext\@|\fullform| -\nbr -This chooses the full size form intended for creating the transparency. Any -|\comment| is suppressed. - -\mbr\ext\@|\textform| -\nbr -This chooses the text size of the slide and does not suppress the -|\comment| text. - -\mbr\ext\@|\formscale <scale>| -\nbr -The entire slide, text, internal graphics, and border, is scaled -by the {\tt <scale>} factor. This is done by directly by PostScript. - -\mbr\ext\@|\hslide <title> // <text> //| -This is the basic command for making a slide. The title is terminated with -a // and the slide body is also terminated with a //. - -\mbr\ext\@|\comment <text> //| -This is a comment text which is printed in |\textform| but suppressed in -|\fullform|. - -\mbr\ext\@|\inrsform| -This will give the standard \INRS\ format with its logo on the top and -nothing on the bottom. Text on the bottom may be added using |\botdata| and -|\slidedate|. - -\mbr\ext\@|\genform| -\nbr -This is a completely general form where only the border is set. - -\mbr\ext\@|\topdata ={<text>}| -This is printed in the |\borderfont| which is the same as the current slide -body font. It is printed on the top line above the border with a current -position at the left hand corner. - -\mbr\ext\@|\botdata = {<b-text>}| -\mbr\ext\@|\slidedate = {<s-date>}| -\nbr -These two token strings are printed on the bottom line centered and -separated by a --, ie as |<b-text> - <s-date>|. - -\mbr\ext\@|\iftextform <...> \else <...> \fi| -\nbr -This is a switch that allows for different actions between fullform and -textform. |\textform| is .578=1/1.728 the size of |\fullform|. - -\mbr\ext\@|\lb \lc \last| -\nbr -These are three short forms for use in listitems starting with $\bullet$, -$\circ$, and {\tt *} respectively. - -\mbr\ext\@|\hd{<text>}| -\nbr -This gives a ``header'' inside a slide. It is equivalent to a |\dssshead| -in normal text. -\endblockmode - - -\shead{grcomform}{Some Additional Command Forms -- \TeX Graph} -\beginblockmode -\ext\@|\begintexgraph \btg| -\nbr -This begins \TeX Graph. It will bring in the \TeX Graph macros the first -time it is called. It starts a group and a |\vbox|. - -\mbr\ext\@|\endtexgraph \etg| -\nbr -Finishes \TeX Graph. It terminates the group started by |\btg|. - -\mbr\ext\@|\graphdim <units>| -\nbr -This sets the default units of \TeX Graph. Any valid \TeX\ |<unit>| is -valid such as {\tt in, cm, pt,} or {\tt bp}. The current default is {\tt -in}. - -\mbr\ext\@|\hgraphsize| -\nbr -This maximum horizontal excursion of the graph as computed by \TeX Graph. -It is a dimension. - -\mbr\ext\@|\hgraphskip| -\nbr -This actually |\hskip \hgraphsize|. - -\mbr\ext\@|\hpix <number>/<unit>| -\nbr -This is the horizontal resolution in pixels/unit. The default is -{\tt 300/in}. - - -\mbr\ext\@|\vgraphsize| -\nbr -This maximum vertical excursion of the graph as computed by \TeX Graph. -It is a dimension. - -\mbr\ext\@|\vgraphskip| -\nbr -This actually |\vskip \vgraphsize|. - - -\mbr\ext\@|\vpix <number>/<unit>| -\nbr -This is the vertical resolution in pixels/unit. The default is -{\tt 300/in}. - -\endblockmode -\ejectpage - -\done diff --git a/macros/inrstex/inrsdoc/thindex.tex b/macros/inrstex/inrsdoc/thindex.tex deleted file mode 100644 index 56664fd4d5..0000000000 --- a/macros/inrstex/inrsdoc/thindex.tex +++ /dev/null @@ -1,29 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{index} - -\def\cqu{\cquote{LEXICOGRAPHER: A writer of dictionaries, a harmless -drudge.}{Dictionary [1755], Samuel~Johnson (1709-1784)} -} - -\mark{} -\chnum=0 -\def\chnumform{\Alphabetic{\the\chnum}} -\def\Chapter{APPENDIX } -\def\rightheadertext{\line{\hss - APPENDIX A: \botmark\rlap{\ssheadfont\qquad\folio}}} -\def\leftheadertext{\line{\llap{\ssheadfont\folio - \qquad}APPENDIX A: \firstmark\hss}} -\chead{index}{COMMAND INDEX} -This Appendix contains an alphabetical list of the commands of \intex, with -some information about their syntax and parameters, and the page in the book -where they are more fully explained. -\long\def\indpg #1.{\mark{{\tt \text}}\quad {\it #1}\par\filbreak} -{\obeyspaces \long\global\def\2#1 {\xdef\text{#1}#1 }} -\vskip 4.8ex -\eightpoint -\beginttverbatim -\input masth.sor -\endttverbatim - -\done diff --git a/macros/inrstex/inrsdoc/thlists.tex b/macros/inrstex/inrsdoc/thlists.tex deleted file mode 100644 index 40e388a2f4..0000000000 --- a/macros/inrstex/inrsdoc/thlists.tex +++ /dev/null @@ -1,281 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{lists} -\def\cqu{} - - - -\chapterhead{lists}{LISTS} -{\it Plain} \tex\ supplies two commands for lists, |\item|, and |\itemitem|, -that create list items with indentations of one and two times the paragraph -indentation respectively. \intex\ supplies a complete set of commands for -three levels of lists. In addition, spacing of list items may be controlled -by either tightening or loosening the list item spacing. The basic set of -commands specify the beginning and end of a |list|, |sublist|, and -|subsublist|. All items in a list are introduced by |\listitem| or its -abbreviation |\li|. - -The commands for making lists are given first and the list of the various -glues for spacing is given in Section \ref{listparms}. - -\shead{listcomlist}{Command List -- Making Lists} -\begintwocolumn -\ext|\beginlist \bl| -\ext|\beginsublist \bsl| -\ext|\beginsubsublist \bssl| -\ext|\everylist| -\ext|\everysublist| -\ext|\everysubsublist| -\ext|\endlist \el| -\ext|\endsublist \esl| -\ext|\endsubsublist \essl| -\pla|\item| -\pla|\itemitem| -\ext|\listitem \li| -\ext|\loosenlist| -\ext|\samplemark| -\ext|\tightenlist| -\endthreecolumn - -\shead{maklist}{Making Lists} -Lists and their associated items can appear in either vertical or internal -vertical mode. They also work in multicolumn format and in conjunction with -|\narrowtext|. In \intex\ the type of list is specified and not the actual -list item. All list items, whether they appear in a list or a subsublist are -called the same way. As elsewhere in \intex, every |\begin..list| must have -an accompanying |\end..list|. Each |\begin..list ... \end..list| matching -pair form a {\it group}; thus it is possible to change the fonts or any other -parameter and that change affects only the present group and all of its -internal groups. This is an important benefit of designating lists instead of -list items. The main text of a list is indented a fixed amount and the list -item herald, if it exists, is placed one quad to the left of the main text. - -\intex\ also supplies three token lists |\everylist|, |\everysublist|, and -|\everysubsublist|. These are token lists the contents of which are emptied -inside the list group every time the corresponding |\begin...list| is called. -These may be used for changing the list indentations, fonts, or individual -item skips. Anything done in an outer list is of course valid in the sub -lists. For instance if the list indent was required to be one inch and the -list spacing to be 1 then -\begintt -\everylist = {\listindentsize = 1in \spacing{1}} -\endtt -would do the job. - -The list commands can be used as the basis of specialized lists such as -citation references. - -Things to note about lists are -\beginlist -\li $\bullet$ There are three levels of lists, {\it lists}, - {\it sublists}, and {\it subsublists}. -\beginsublist -\eightpoint -\li $\circ$ A list, sublist, subsublist starts a group. - The group localizes the effect of changes. -\li $\clubsuit$ List items are indicated in the same way at - all levels. -\li $\diamond$ Display mathematics is acceptable within lists. - This is an example. - $$ - \oint_{\vert z\vert < 1} {e^{-kz} \over (1-z)} dz - $$ -It can also have a second paragraph that is a part of this -item. This paragraph could even have a narrowed portion -\beginnarrowtext .5in -\tenpoint \it \noindent -Wise men lay up knowledge but the babbling -of a fool brings ruin near. -\bf Proverbs Ch.~10, Vs.~14 -\endnarrowtext -\li $\bullet$ It is possible to tighten the list here - but it would not do much good as this is the last - subitem. -\endsublist -\li NOTE: The {\it Note:} herald is so large that it sticks {\bf into} - the actual list item. This can be seen on this line. -\li $\star$ This is a more normal size herald. -\endlist -\ejectpage - -The previous list is actually produced by -\begintt -\beginlist -\li $\bullet$ There are three levels of lists, {\it lists}, - {\it sublists}, and {\it subsublists}. -\beginsublist -\eightpoint -\li $\circ$ A list, sublist, subsublist starts a group. - The group localizes the effect of changes. -\li $\clubsuit$ List items are indicated in the same way at - all levels. -\li $\diamond$ Display mathematics is acceptable within lists. - This is an example. - $$ - \oint_{\vert z\vert < 1} {e^{-kz} \over (1-z)} dz - $$ -It can also have a second paragraph that is a part of this -item. This paragraph could even have a narrowed portion -\beginnarrowtext .5in -\tenpoint \it \noindent -Wise men lay up knowledge but the babbling -of a fool brings ruin near. -\bf Proverbs Ch.~10, Vs.~14 -\endnarrowtext -\li $\bullet$ It is possible to tighten the list here - but it would not do much good as this is the last - subitem. -\endsublist -\li NOTE: The {\it Note:} herald is so large that it sticks - {\bf into} the actual list item. This can be seen - on this line. -\li $\star$ This is a more normal size herald. -\endlist -\endtt -The command |\samplemark{<list item mark>}| can be used to -create a list where the |\listitemmarksize| is one |\enspace| larger than the -sample mark and the |\listindent|, |\sublistindent|, and -|\subsublistindent| -{\bf inside} the same group are modified accordingly. - - -\shead{makcomforms}{Command Forms -- Making Lists} -\beginblockmode -\ext\@|\beginlist \bl| -\nbr -This begins a list, starts a group, -and should always have a matching |\endlist|. -|\bl| is an approved abbreviation of |\beginlist|. - - -\mbr\ext\@|\beginsublist \bsl| -\nbr -This begins a sublist, starts a group, -and should always have a matching |\endsublist|. -A sublist may exist without a surrounding list. -|\bsl| is an approved abbreviation of |\beginsublist|. - - -\mbr\ext\@|\beginsubsublist \bssl| -\nbr -This begins a subsublist, starts a group, -and should always have a matching |\endsubsublist|. -A subsublist may exist without a surrounding list or sublist. -|\bssl| is an approved abbreviation of |\beginsubsublist|. - - -\mbr\ext\@|\endlist \el| -\nbr -These commands terminate a list and its associated group. -|\el| is an approved abbreviation for |\endlist| - -\mbr\ext\@|\endsublist \esl| -\nbr -These commands terminate a sublist and its associated group. -|\esl| is an approved abbreviation for |\endsublist| - -\mbr\ext\@|\endsubsublist \essl| -\nbr -These commands terminate a subsublist and its associated group. -|\essl| is an approved abbreviation for |\endsubsublist| - - -\mbr -\ext\@|\everylist [=] {<token list>}| -\nbr -The |<token list>| is inserted in the front of the list by the |\beginlist|. -It is inserted soon enough to affect the list item parameters, and all -parameters of the sublists and subsublists but too late to affect the prelist -spacing. - -\mbr -\ext\@|\everysublist [=] {<token list>}| -\nbr -The |<token list>| is inserted in the front of the sublist by the -|\beginsublist|. -It is inserted soon enough to affect the list item parameters, and all -parameters of the subsublists but too late to affect the presublist -spacing. - -\mbr -\ext\@|\everysubsublist [=] {<token list>}| -\nbr -The |<token list>| is inserted before the subsublist by the -|\beginsubsublist|. -It is inserted soon enough to affect the list item parameters -but too late to affect the presubsublist -spacing. - - -\mbr\pla\@|\item| -\nbr -This is similar to |\listitem| but does not need to be surrounded by a list. -It always indents by the |\parindent|. - -\mbr\pla\@|\itemitem| -\nbr -This is similar to |\listitem| but does not need to be surrounded by a list. -It always indents by twice the |\parindent|. - - -\mbr\ext\@|\listitem <listitem mark>|\]| \li| -\nbr -This is the normal way to designate a list item. The |<listitem mark>| is the first -string of characters after the |\listitem| and is terminated by blank, \]. -The |<listitem mark>| is placed to the left of the first character in the -list item with a total width of |\listitemmarksize|. At least one |\enspace| -exists between the end of the |<listitem mark>| and the first character in -the list item. If the |<listitem mark>| is larger than the space allotted, It -will stick {\bf into} the list item. -A list item continues until the list ends or a new list item begins. - -\mbr\ext\@|\loosenlist| -\nbr -This command {\bf loosens} the spacing between list items in the present and -all enclosed lists by a factor of 4 = 1/.25. It will undo a single -|\tightenlist| at the same level. -\mbr -\ext\@|\samplemark{<listitem mark>}| -\nbr -This command is used to create lists with marks that may be of quite different -size than that assumed by the defaults. All marks and indents contained in -the same list and sublists will be changed. This command {\bf must} be used -before the first list item to affect the present list. -The |\listitemmarksize| is one |\enspace| larger than the -sample mark and the |\listindent|, |\sublistindent|, and |\subsublistindent| -{\bf inside} the same group are modified accordingly. - -\mbr\ext\@|\tightenlist| -\nbr -This command {\bf tightens} the spacing between list items in the present and -all enclosed lists by a factor of .25 = 1/4. It will undo a single -|\loosenlist| at the same level. -\endblockmode - -\shead{listparms}{Command Forms -- List Spacing Parameters} -All of the parameters are set via assignments such as -|\...skip [=] <glue, dimen>|. -Their use should be obvious from their names. Note that |\pr...| is the skip -that {\it precedes} and |\po...| is {\it post} the |list| in question. -For example, |\prsublistskip| is the skip that occurs before the start of a -|sublist| and |\posublistskip| that which follows. Where a |list|, |sublist|, -and/or |subsublist| start or finish at the same place, the maximum skip is -chosen. -\medbreak -\begintwocolumn -\ext\@|\listindent [=] <dimen>| -\ext\@|\listitemmarksize [=] <dimen>| -\ext\@|\listitemskip [=] <glue>| -\ext\@|\polistskip [=] <glue>| -\ext\@|\posublistskip [=] <glue>| -\ext\@|\posubsublistskip [=] <glue>| -\ext\@|\prlistskip [=] <glue>| -\ext\@|\prsublistskip [=] <glue>| -\ext\@|\prsubsublistskip [=] <glue>| -\ext\@|\sublistindent [=] <dimen>| -\ext\@|\subsublistindent [=] <dimen>| -\ext\@|\sublistitemskip [=] <glue>| -\ext\@|\subsublistitemskip [=] <glue>| -\endthreecolumn -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thmateq.tex b/macros/inrstex/inrsdoc/thmateq.tex deleted file mode 100644 index e894a666e9..0000000000 --- a/macros/inrstex/inrsdoc/thmateq.tex +++ /dev/null @@ -1,480 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{mateq} - -\def\cqu{\cquote{Having got our equations, we must proceed to -carry out such operatins as we have neglected, taking care never to multiply -when we can divide}{Rules for the Direction of the Mind, Rule XX, -Ren\'e~Descartes (1596-1650)}} - -\chapterhead{mateq}{MATHEMATICS:\cr EQUATION\cr SETUP} -\tex\ makes the typesetting of the most difficult expressions relatively -easy. This chapter lists and shows examples of the special forms supplied by -{\it plain}. For the finer points of mathematic equation setup, the reader is -referred to the \texbook~[\cite{[Knut84]}]. For more advanced mathematics macro -and accenting capabilities, the AMS\tex~[\cite{[Amst84]}] package is -recommended. - -\intex\ supplies all that is in {\it plain} plus -\beginlist -\li $\bullet$ an autonumbering feature, using |\aneq|, |\aneqtag|, or |\autoeqnum| -for equations, -\li $\bullet$ a |\math| and |\displaymath| -for those who don't like |$|, -\li $\bullet$ a -|\leftequationnumbering| and |\rightequationnumbering| that will magically -shift all the equation numbers from the side specified by the form, -\li $\bullet$ and a |\mathopen| command that will cause aligned equations to increase -their spacing. -\endlist - - -The two basic commands |\math| and |\displaymath| can be used to invoke either -scriptstyle or displaystyle mathematics in running text. For instance -|\math{\sum_0^n}| gives \math{\sum_0^n} while |\displaymath{\sum_0^n}| gives -\displaymath{\sum_0^n}. - -In addition there is a tagging mechanism that enables the -symbolic referencing of equations, both forward and backward. - - - -\shead{eqcoms}{Command List} -\begintwocolumn -\hfuzz = 20pt %temporary -\pla|\abovewithdelims| -\pla|\atop| -\pla|\atopwithdelims| -\ext|\aneq \aneqtag| -\ext|\autoeqnum| -\pla|\bordermatrix| -\pla|\cases| -\pla|\cdot| -\pla|\cdots| -\pla|\choose| -\pla|\ddots| -\ext|\displaymath| -\pla|\eqalign| -\pla|\eqalignno| -\pla|\eqno| -\pla|\ldots| -\ext|\leftequationnumbering| -\pla|\leqno| -\pla|\leqalignno| -\ext|\math| -\ext|\mathopen| -\pla|\matrix| -\pri|\noalign| -\pla|\openup| -\pla|\over| -\pla|\overbrace| -\pla|\overline| -\pla|\overwithdelims| -\pla|\phantom| -\pla|\pmatrix| -\ext|\rightequationnumbering| -\pla|\smash| -\ext|\sphantom| -\pla|\sqrt| -\pla|\underbrace| -\pla|\underline| -\pla|\vphantom| -\endthreecolumn - -\shead{eqbasics}{Mathematic Equation Basics} -To put some mathematics, either symbols or expressions, in running text you -must surround them by a pair of single |$| like |$<expression>$|. An example -is |$x^y$| gives $x^y$. Mathematics in running text will be broken at the end -of line at spaces in the expression. To prevent a break but preserve a space -insert the tie |~| into the expression. Thus |$x~=~y+1$|, giving $x~=~y+1$ -will prevent a break around the $=$ sign. To obtain display equations use -form -\begintt -$$ -<display mathematics forms> -$$ -\endtt -There should be {\bf no} blank lines or |\par| within -|<display mathematics>|. Mysterious errors will result. To have a -display expression end a sentence, the last character before the equation -number should be a period. - -Superscripting and subscripting can occur only in mathematics mode. The |\@| -is the superscript character and |_| is the subscript character. The braces -|{<super,subscript characters>}| are necessary to tell \tex\ what material -goes where. The example below shows the result of different use of braces. - -$$ -2^xyz_uvw : 2^{xyz}_{uvw} : 2^{xyz_uvw} : 2^{xyz_{uvw}}. -$$ -is given by -\begintt -$$ -2^xyz_uvw : 2^{xyz}_{uvw} : 2^{xyz_uvw} : 2^{xyz_{uvw}}. -$$ -\endtt - -Finally, in commands that produce alignments, the |&| is used to separate -items and the |\cr| to end a line. Examples of their use will be found in -such commands as |\matrix| and |\eqalign|. Equation numbers are put in using -either the automatic numbering commands |\aneq|, |\aneqtag|, |\autoeqnum|, or -the normal manual numbering forms |\eqno| for right hand numbers or |\leqno| -for lefthand numbers. - - - - -\shead{mateqcomforms}{Command Forms} -This is a list of commands that are given in {\it plain}, along with some -examples and the form of the parameters for their use. -\beginblockmode - -\mbr -\pla\@|\above.. \atop.. \over.. functions - {<parm1> \atop <parm2>} - {<parm1> \choose <parm2>} - {<parm1> \over <parm2>} - {<parm1> \atopwithdelims<left delim><right delim> <parm2>} - {<parm1> \overwithdelims<left delim><right delim> <parm2>} - {<parm1> \abovewithdelims<left delim><right delim> - <bar thickness> <parm2>}| -\nbr -These forms are all used for putting |<parm1>| on top of |<parm2>| as might -happen in a fraction. The difference between them is that |\atop| puts no -line or bar between the |<parms>| while |\over| does, and |\choose| puts in -no bar but does enclose the |<parms>| in large parens as is normally done in -a binomial coefficient. The forms |\...delims| allow for the specifcation of -delimiters around the |<parms>| that may be different than parens. Finally -the |<bar thickness>| in the |\abovewithdelims| allows for the thickness of -the line or bar between the |<parms>| to be a specified |<dimen>|. As an -example -$$ -{37 \over 45} : {n \atop \alpha} : {10 \choose r} -: {f(x) \overwithdelims\{\} g(y)} -: {\alpha \atopwithdelims][ \beta} -: {209 \abovewithdelims\langle\rangle 2pt h(y)} -$$ -is given by -\begintt -$$ -{37 \over 45} : {n \atop \alpha} : {10 \choose r} -: {f(x) \overwithdelims\{\} g(y)} -: {\alpha \atopwithdelims][ \beta} -: {209 \abovewithdelims\langle\rangle 2pt h(y)} -$$ -\endtt -\mbr -\ext|\aneq \aneqtag{<tag>}| -\nbr -\ext|\autoeqnum{<tag>}| -\nbr -When |autonumbering| is on these commands will automatically number -equations. |\aneq| and |\aneqtag{<tag>}| inserts a bracketed equation number -in the correct place in the equation depending on whether it is an -|\eqalign|, |\eqalignno|, or |\leqalignno|. The |\autonumeq{<tag>}| inserts a -number without brackets. The |<tag>| allows for references to the equation. - -If |autonumbering| is off, the |\aneq| results in nothing and the two forms -with |<tag>| insert the |<tag>| --- without the |< >| of course. - -For example, |autonumbering| is on, -$$ -x \equiv y \aneq -$$ -is given by -\begintt -$$ -x \equiv y \aneq -$$ -\endtt -and -$$ -\eqalignno{ f(x)&\approx K x^{-3/2} & (\autoeqnum{eqfx}.a) \cr - &\approx 0 \qquad x \gg 0 & (\ref{eqfx}.b) \cr} -$$ -is given by -\begintt -$$ -\eqalignno{ f(x)&\approx K x^{-3/2} & (\autoeqnum{eqfx}.a) \cr - &\approx 0 \qquad x \gg 0 & (\ref{eqfx}.b) \cr} -$$ -\endtt -The |eqfx| is the equation tag. However, the -tag for |eqfx| does not make it to the margin! A better way to do this, and -one that guarantees that the tag for |eqfx| makes it to the margin is as -follows: -\begintt -{\silenttrue \autoeqnum{eqfx}} -$$ -\eqalignno{ f(x)&\approx K x^{-3/2} & (\ref{eqfx}.a) \cr - &\approx 0 \qquad x \gg 0 & (\ref{eqfx}.b) \cr} -$$ -\endtt -The \@|\silenttrue| turns on a switch in |\autoeqnum{<...>}| that prevents it -from writing out its value. -In this case, the |\autoeqnum{<...>}| is in vertical mode -so that the tag for |eqfx| will now make it to the margin. -The command |\ref{eqfx}| will produce the -(equation) number corresponding to |eqfx|. This construction allows -both lines of the equation to have the same main equation number. - -\mbr -\pla\@|\bordermatrix{<top 0>&<top 1>&<top 2>&...&<top n>\cr - <side 1>&<first row>\cr - ... - <side m>&<last row>\cr}| -\nbr -The |\bordermatrix| places parens around the |<rows>| in the same way as -|\pmatrix| and then places the |<top i>| items above and the |<side i>| items -to the left hand side outside the parens. Thus -$$ -\bordermatrix{ R\backslash C& Col 1 & Col 2 & Col 3 \cr - Row 1 & a & b & c \cr - Row 2 &\sum_{\ell=1}^n & & \alpha \cr - Row 3 & v=0 &\gamma & 1000.0\cr} -$$ -is given by -\begintt -$$ -\bordermatrix{ R\backslash C& Col 1 & Col 2 & Col 3 \cr - Row 1 & a & b & c \cr - Row 2 &\sum_{\ell=1}^n & & \alpha \cr - Row 3 & v=0 &\gamma & 1000.0\cr} -$$ -\endtt - -\mbr -\pla\@|\cases{<first math>&<first condition>\cr - ... - <last math>&<last condition>\cr}| -\nbr -This allows for a very simple way of stacking a set of possibilities in an -equation and putting a large brace on the left hand side. The |<...math>| is -the mathematics, and is in display math mode, and the |<...condition>| -is the condition and is in internal horizontal mode \dots\ not -math mode. Thus -$$ -G(x) = \cases{\vert x\vert & for $x<0$ \cr - x^2 & for $x\ge 0$ \cr} -$$ -is given by -\begintt -$$ -G(x) = \cases{\vert x\vert & for $x<0$ \cr - x^2 & for $x\ge 0$ \cr} -$$ -\endtt -\mbr -\pla\@|\eqalign ... - \eqalign{ <left first row> &<right first row>\cr - ... - <left last row> &<right last row>\cr} - \eqalignno{<left first row> &<right first row>&<first eq.no>\cr - ... - <left last row> &<right last row>&<last eq.no>\cr} - \leqalignno{<left first row>&<right first row>&<first eq.no>\cr - ... - <left last row> &<right last row>&<last eq.no>\cr}| -\nbr -All three of these commands allow for a list of equations, or expressions to -be aligned on a {\bf single} point within the expression. This is usually a -relation such as $=$ or $\gg$ although any point is possible. The -|\eqalignno| and |\leqalignno| have an extra field at the end of each row for -an equation number, which will be printed on the right for the former and on -the left for the latter. Note that in both cases the actual |<eq.no>| field -appears on the right. Any of the |<left ...>| or |<right ...>| or -|<... eq.no.>| may be omitted. -A major difference between |\eqalign| and |\eqalignno| is that the latter -always is as wide as the page while the former is its natural width. -|\openup<dimen>|, immediately after the opening |$$|, -is used to increase the spacing between the lines of an -|\eqalign| or its relatives by |<dimen>|. A font relative -|<unit of measure>| such as |ex| is recommended with |1ex| to start. -To obtain a lefthand equation number with -|\eqalign|, or ordinary display mathematics, use |\leqno|. - -\intex\ supplies automatic equation numbering and ways of having a document -change from left to right hand equation numbering or vice versa. See -|\lefhandequationnumbering| and |\righthandequationnumbering|. -For automatic equation numbering use |\autoeqnum{tag}|, |\aneq| and -|\aneqtag|. - -An example of an |\eqalign| is -$$ -\eqalign{F(x) &=\int_{-\infty}^x H(y)dy \cr - &=x^{3/2} \cr - G(z) &\ll 1 \cr} - \eqno (12) -$$ -which is given by -\begintt -$$ -\eqalign{F(x) &=\int_{-\infty}^x H(y)dy \cr - &=x^{3/2} \cr - G(z) &\ll 1 \cr} - \eqno (12) -$$ -\endtt -Notice the equation number is centered on the right hand side. An example -for |\eqalignno| is -$$ -\openup 1ex -\eqalignno{F(x) &=\int_{-\infty}^x H(y)dy \cr - &=x^{3/2} &(2.i)\cr -\noalign{and} - G(z) &\ll 1 &(2.ii)\cr} -$$ -is given by -\begintt -$$ -\openup 1ex -\eqalignno{F(x) &=\int_{-\infty}^x H(y)dy \cr - &=x^{3/2} &(2.i)\cr -\noalign{and} - G(z) &\ll 1 &(2.ii)\cr} -$$ -\endtt -The use of |\noalign {<text>}| places the |and| at the margin and maintains -the alignment of the $=$ and $\ll$. This technique will not work with -|\eqalign| because it does not necessarily take up the full width of the page. -Note again the placement of the equation numbers. - -\mbr -\pri\@|\eqno <reference> \leqno <reference>| -\nbr -|\eqno| and |\leqno| are used to put an equation |<reference>|, usually a -number, at the right or left hand side, respectively, of an equation. It can -be used with any display mathematics except |\[l]eqalignno|. - -\mbr -\ext\@|\leftequationnumbering \rightequationnumbering| -\nbr -These commands when used with the auto equation numbering commands |\aneq|, -|\aneqtag{<tag>}| or |\autoeqnum{<tag>}| will result in completely left or -right hand equation numbers whether |\eqalignno| or -|\leqalignno| is used. However |\eqno| and |\leqno| still result in right and -left hand equation numbers respectively.\footnote{\dagger}{These defaults are -subject to negotiation and change. It is quite easy to make the equation -sides independent of |\eqno| and |\leqno|.} - - - -\mbr -\pri\@|\noalign {<text>}| -\nbr -This is used in mathematics to insert text that you want at the left hand -margin between lines in an |\eqalignno| or |\leqalignno|. See the -|\eqalignno| example. - -\mbr -\pla\@|\openup <dimen>| -\nbr -This is used in display mathematics |$$\openup ... $$| to increase spacing -between lines in an |\eqalign|, |\eqalignno|, or |\leqalignno|. The dimension -should be |<decimal number>ex| for font size independence. It does not work -with |\cases| or |\matrix|. - -\mbr -\pri\@|\over ... \under ... - \overline{<math>} \underline{<math>} - \overbrace{<math>} \underbrace{<math>}| -\nbr -These commands put lines and braces on top or under the |<math>| expressions. -Thus -$$ -\overline{\alpha\beta\gamma} : \underline{2^x_y} : -\underbrace{\overbrace{H(x)=u+g(x,y)}} -$$ -is given by -\begintt -$$ -\overline{\alpha\beta\gamma} : \underline{2^x_y} : -\underbrace{\overbrace{H(x)=u+g(x,y)}} -$$ -\endtt - - -\mbr -\pla\@|\dots ... \cdot \cdots \ldots \ddots| -\nbr -These produce dots of various flavours. Thus -$$ -[\cdot] : [\cdots] : [\ldots] : [\ddots] -$$ -are given by -\begintt -$$ -[\cdot] : [\cdots] : [\ldots] : [\ddots] -$$ -\endtt -\mbr -\ext\@|\mathopen{<dimen or glue>}| -\nbr -This will cause all of the horizontal alignments, such as |\eqalign|, -|\eqalignno|, |\halign|, |\cases|, |\matrix|, |\bordermatrix|, |\pmatrix|, -and the table macros within the {\bf group} to be spread apart by -|<dimen or glue>|. Its effect on tables with rules or lines is probably -undesirable. {\bf It should be used only within a group such as that implied -by |$$ ... $$|.} - -\mbr - - -\mbr -\pla\@|\matrix{<entry 11>&<entry 12>&...&<entry 1n>\cr - <second row>\cr - ... - <last row> \cr} - \pmatrix{<several rows>\cr}| -\nbr -The |\matrix| entry allows for the production of matrices or arrays with an -arbitrary number of rows and columns. Thus -$$ -\left\{ - \matrix{ a & b & c \cr - \sum_{\ell=1}^n & & \alpha \cr - v=0 &\gamma & 1000.0\cr} -\right\} -$$ -is given by -\begintt -$$ -\left\{ - \matrix{ a & b & c \cr - \sum_{\ell=1}^n & & \alpha \cr - v=0 &\gamma & 1000.0\cr} -\right\} -$$ -\endtt -Note that the braces |{..}| were in addition to the rows generated by -|\matrix|. |\pmatrix| is identical to |\left( \matrix{<rows>\cr} \right)|. -This just saves the placement of the braces. - - -\mbr -\pla\@|\phantom{<math>} \vphantom{<math>} \sphantom{<hlist>}| -\nbr -|\phantom| builds a box the same size as |<math>| but prints a blank. -|\vphantom| is a box of the same height and depth as |<math>| but of zero -width \dots\ a custom made strut. |\sphantom| is used when -strange expansions such as messages create errors using a |\vphantom|. -All three are used for controlling spacing. - -\mbr -\pla\@|\sqrt{<math>}| -\nbr -This puts a square root sign around a |<math>| expression. Thus |$\sqrt{2}$| -gives $\sqrt{2}$. - -\mbr -\pla\@|\smash{<math>}| -\nbr -This leaves the |<math>| expression in a box of height and depth zero. It is -useful for certain kinds of superposition. - -\endblockmode -\ejectpage - - - -\done diff --git a/macros/inrstex/inrsdoc/thmatsym.tex b/macros/inrstex/inrsdoc/thmatsym.tex deleted file mode 100644 index a2e575d2c1..0000000000 --- a/macros/inrstex/inrsdoc/thmatsym.tex +++ /dev/null @@ -1,419 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{matsym} - - -\def\cqu{\cquote{{\leftskip=0ptplus1fill\def\\% -{\endgraf}Yet what are all such gaieties to me\\Whose thoughts are full of -indices and surds?\\$x^2+7x+53$\\ $\displaystyle={11\over3}$.\\ }}{ -Four~Riddles, Lewis~Carroll (1832-1898)}} - - -\chapterhead{matsym}{MATHEMATICS:\cr SYMBOLS\cr FONTS} -\tex\ supplies a vast array of mathematical symbols, both in fixed and -extensible forms. For the most part, the symbols mentioned are available only -in mathematics mode. Other symbols that are useful in -regular text mode have been listed in Section \ref{specialtextsymbols} -This chapter describes the symbols available. These -symbols can be used in any font size that is on the system. Although it is -possible to build your own symbols from simpler ones, it takes a little care -to make sure that they are the correct size for all possible uses. - -\shead{mathfonts}{Ordinary Fonts in Mathematics} -The mathematics symbol font contains characters that are very similar to -to text italic font. The major difference is the spacing. {\it For instance} is -in ordinary italic but $For\ instance$, is in math italic and was invoked with -|$For\|\]|instance$|, where |\|\] forces the space. -However, it is an easy matter to put -roman or {\bf bold} letters in mathematics by just using -|$x={\bf the\ spot}$| to obtain $x={\bf the\ spot}$. The real fun -comes with something like the following: - -\def\xbf{{\vec{\bf x}}} -$$ \xbf = 2^{\xbf^\xbf} $$ -which is given by -\begintt -\def\xbf{{\vec{\bf x}}} -$$ -\xbf = 2^{\xbf^\xbf} -$$ -\endtt -Note that the bold face is scaled correctly up into the superscripts. The -extra $\{\ldots\}$ are necessary so that the third |\xbf| will look like a -single token to the second |\@|. - -\shead{mathtypes}{Mathematical Symbol Types} -Some symbols, even though they may look the same are given different command -sequences in \tex. The reason for this is that their use demands different -spacing and line breaking when in mathematics mode. -For this reason there are four mathematics symbols for a vertical -bar $\mid$, namely |\mid|, |\left\vert|, |\right\vert|, and |\vert|. The -first is a {\it relation} -- called {\it Rel} -- like the $=$; the second -and third are opening and -closing brackets like ( and ) --- \tex\ calls these {\it openings} and {\it -closings}; and the last is an {\it ordinary} --- called {\it Ord} --- symbol -like $\infty$. Two other types are {\it large operators} --- called {\it Op} ---- like $\sum$ and {\it binary operators} --- called {\it Bin} --- like $+$. -Finally there is the {\it punctuation} --- called {\it Punct} --- like the -period. - -\shead{greekletters}{Greek Letters} -All the Greek letters are of type {\it Ord}. They are all assumed to be in -mathematics mode. - -\bshortcomlist -\@|\alpha {\rm A} A|&$\alpha$ A $A$ \cr -\@|\beta {\rm B} B|&$\beta$ B $B$\cr -\@|\gamma \Gamma {\mit\Gamma}|&$\gamma$ $\Gamma$ ${\mit\Gamma}$ \cr -\@|\delta \Delta {\mit\Delta} |&$\delta$ $\Delta$ ${\mit\Delta}$ \cr -\@|\epsilon {\rm E} E|&$\epsilon$ E $E$ \cr -\@|\varepsilon|&$\varepsilon$\cr -\@|\zeta {\rm Z} Z|&$\zeta$ Z $Z$ \cr -\@|\eta {\rm H} H|&$\eta$ H $H$ \cr -\@|\theta \Theta {\mit\Theta} |&$\theta$ $\Theta$ $\mit\Theta$ \cr -\@|\vartheta|&$\vartheta$ \cr -\@|\iota {\rm I} I|&$\iota$ I $I$ \cr -\@|\kappa {\rm K} K |&$\kappa$ K $K$ \cr -\@|\lambda \Lambda {\mit\Lambda} |&$\lambda$ $\Lambda$ $\mit\Lambda$ \cr -\@|\mu {\rm M} M |&$\mu$ M $M$ \cr -\@|\nu {\rm N} N|&$\nu$ N $N$ \cr -\@|\xi \Xi {\mit\Xi} |&$\xi$ $\Xi$ $\mit\Xi$ \cr - |o {\rm O} O|&$o$ O $O$ \cr -\@|\pi \Pi {\mit\Pi}|&$\pi$ $\Pi$ $\mit\Pi$ \cr -\@|\varpi|&$\varpi$\cr -\@|\rho {\rm R} R|&$\rho$ R $R$\cr -\@|\sigma \Sigma {\mit\Sigma}|&$\sigma$ $\Sigma$ $\mit\Sigma$ \cr -\@|\tau {\rm T} T|&$\tau$ T $T$ \cr -\@|\upsilon \Upsilon {\mit\Upsilon}|&$\upsilon$ $\Upsilon$ $\mit\Upsilon$ \cr -\@|\phi \Phi {\mit\Phi}|&$\phi$ $\Phi$ $\mit\Phi$ \cr -\@|\varphi|&$\varphi$ \cr -\@|\chi {\rm X} X|&$\chi$ X $X$ \cr -\@|\psi \Psi {\mit\Psi}|&$\psi$ $\Psi$ $\mit\Psi$\cr -\@|\omega \Omega {\mit\Omega}|&$\omega$ $\Omega$ $\mit\Omega$\cr -\eshortcomlist - -\shead{caligraphic}{Calligraphic Capitals} -These look like ${\cal A} \ldots{\cal Z}$ and are obtained in math mode by -the construction |{\cal <capital letter>}| while in math -mode. - -\shead{opsrels}{Ords, Operators, and Relations} -The following is a composite list of the symbols of -type ordinary, relation and operator supplied by -{\it plain}. The type is specified along with the symbol. The meaning of the -type abbreviations has been given in Section \ref{mathtypes}. -\medbreak -\beginmulticolumnformat -\hfuzz=20pt -\parindent=0pt -\def\bin{\leavevmode\hbox to 30pt{\it Bin\hss}} -\def\ord{\leavevmode\hbox to 30pt{\it Ord\hss}} -\def\rel{\leavevmode\hbox to 30pt{\it Rel\hss}} -\def\op{\leavevmode\hbox to 30pt{\it Op\hss}} -\intercolumnsep = {\hskip 3em} -\numberofcolumns = 2 -\obeylines -\bin\hbox to 20pt{$+$\quad\hss}\@|+| -\bin\hbox to 20pt{$-$\quad\hss}\@|-| -\rel\hbox to 20pt{$=$\quad\hss}\@|=| -\rel\hbox to 20pt{$\not=$\quad\hss}\@|\not=| |\ne| |\neq| -\rel\hbox to 20pt{$<$\quad\hss}\@|<| -\rel\hbox to 20pt{$\not<$\quad\hss}\@|\not<| -\rel\hbox to 20pt{$>$\quad\hss}\@|>| -\rel\hbox to 20pt{$\not>$\quad\hss}\@|\not>| -\ord\hbox to 20pt{$\aleph$\quad\hss}\@|\aleph| -\ord\hbox to 20pt{$\amalg$\quad\hss}\@|\amalg| -\ord\hbox to 20pt{$\angle$\quad\hss}\@|\angle| -\rel\hbox to 20pt{$\approx$\quad\hss}\@|\approx| -\rel\hbox to 20pt{$\not\approx$\quad\hss}\@|\not\approx| -\bin\hbox to 20pt{$\ast$\quad\hss}\@|\ast| or * -\rel\hbox to 20pt{$\asymp$\quad\hss}\@|\asymp| -\ord\hbox to 20pt{$\backslash$\quad\hss}\@|\backslash| -\op\hbox to 20pt{$\bigcap$\quad\hss}\@|\bigcap| -\bin\hbox to 20pt{$\bigcirc$\quad\hss}\@|\bigcirc| -\op\hbox to 20pt{$\bigcup$\quad\hss}\@|\bigcup| -\op\hbox to 20pt{$\bigodot$\quad\hss}\@|\bigodot| -\op\hbox to 20pt{$\bigoplus$\quad\hss}\@|\bigoplus| -\op\hbox to 20pt{$\bigotimes$\quad\hss}\@|\bigotimes| -\op\hbox to 20pt{$\bigsqcup$\quad\hss}\@|\bigsqcup| -\bin\hbox to 20pt{$\bigtriangledown$\quad\hss}\@|\bigtriangledown| -\bin\hbox to 20pt{$\bigtriangleup$\quad\hss}\@|\bigtriangleup| -\op\hbox to 20pt{$\biguplus$\quad\hss}\@|\biguplus| -\op\hbox to 20pt{$\bigvee$\quad\hss}\@|\bigvee| -\op\hbox to 20pt{$\bigwedge$\quad\hss}\@|\bigwedge| -\ord\hbox to 20pt{$\bot$\quad\hss}\@|\bot| -\rel\hbox to 20pt{$\bowtie$\quad\hss}\@|\bowtie| -\bin\hbox to 20pt{$\bullet$\quad\hss}\@|\bullet| -\bin\hbox to 20pt{$\cap$\quad\hss}\@|\cap| -\bin\hbox to 20pt{$\cdot$\quad\hss}\@|\cdot| -\bin\hbox to 20pt{$\circ$\quad\hss}\@|\circ| -\ord\hbox to 20pt{$\clubsuit$\quad\hss}\@|\clubsuit| -\rel\hbox to 20pt{$\cong$\quad\hss}\@|\cong| -\rel\hbox to 20pt{$\not\cong$\quad\hss}\@|\not\cong| -\op\hbox to 20pt{$\coprod$\quad\hss}\@|\coprod| -\bin\hbox to 20pt{$\cup$\quad\hss}\@|\cup| -\bin\hbox to 20pt{$\dagger$\quad\hss}\@|\dagger| -\rel\hbox to 20pt{$\dashv$\quad\hss}\@|\dashv| -\bin\hbox to 20pt{$\ddagger$\quad\hss}\@|\ddagger| -\ord\hbox to 20pt{$\diamondsuit$\quad\hss}\@|\diamondsuit| -\balancecolumnsize = 470pt -\bin\hbox to 20pt{$\diamond$\quad\hss}\@|\diamond| -\bin\hbox to 20pt{$\div$\quad\hss}\@|\div| -\rel\hbox to 20pt{$\doteq$\quad\hss}\@|\doteq| -\rel\hbox to 20pt{$\Downarrow$\quad\hss}\@|\Downarrow| -\rel\hbox to 20pt{$\downarrow$\quad\hss}\@|\downarrow| -\ord\hbox to 20pt{$\ell$\quad\hss}\@|\ell| -\ord\hbox to 20pt{$\emptyset$\quad\hss}\@|\emptyset| -\rel\hbox to 20pt{$\equiv$\quad\hss}\@|\equiv| -\rel\hbox to 20pt{$\not\equiv$\quad\hss}\@|\not\equiv| -\ord\hbox to 20pt{$\exists$\quad\hss}\@|\exists| -\ord\hbox to 20pt{$\flat$\quad\hss}\@|\flat| -\ord\hbox to 20pt{$\forall$\quad\hss}\@|\forall| -\ord\hbox to 20pt{$\frown$\quad\hss}\@|\frown| -\rel\hbox to 20pt{$\geq$\quad\hss}\@|\ge| \@|\geq| -\rel\hbox to 20pt{$\not\geq$\quad\hss}\@|\not\geq| -\rel\hbox to 20pt{$\gg$\quad\hss}\@|\gg| -\rel\hbox to 20pt{$\not\gg$\quad\hss}\@|\not\gg| -\ord\hbox to 20pt{$\hbar$\quad\hss}\@|\hbar| -\ord\hbox to 20pt{$\heartsuit$\quad\hss}\@|\heartsuit| -\rel\hbox to 20pt{$\hookleftarrow$\quad\hss}\@|\hookleftarrow| -\rel\hbox to 20pt{$\hookrightarrow$\quad\hss}\@|\hookrightarrow| -\ord\hbox to 20pt{$\Im$\quad\hss}\@|\Im| -\ord\hbox to 20pt{$\imath$\quad\hss}\@|\imath| -\ord\hbox to 20pt{$\infty$\quad\hss}\@|\infty| -\op\hbox to 20pt{$\int$\quad\hss}\@|\int| -\rel\hbox to 20pt{$\in$\quad\hss}\@|\in| -\rel\hbox to 20pt{$\not\in$\quad\hss}\@|\not\in| -\ord\hbox to 20pt{$\jmath$\quad\hss}\@|\jmath| -\rel\hbox to 20pt{$\Leftarrow$\quad\hss}\@|\Leftarrow| -\rel\hbox to 20pt{$\leftarrow$\quad\hss}\@|\leftarrow| -\rel\hbox to 20pt{$\leftharpoondown$\quad\hss}\@|\leftharpoondown| -\rel\hbox to 20pt{$\leftharpoonup$\quad\hss}\@|\leftharpoonup| -\rel\hbox to 20pt{$\Leftrightarrow$\quad\hss}\@|\Leftrightarrow| -\rel\hbox to 20pt{$\leftrightarrow$\quad\hss}\@|\leftrightarrow| -\rel\hbox to 20pt{$\leq$\quad\hss}\@|\le| \@|\leq| -\rel\hbox to 20pt{$\not\leq$\quad\hss}\@|\not\leq| -\rel\hbox to 20pt{$\ll$\quad\hss}\@|\ll| -\rel\hbox to 20pt{$\not\ll$\quad\hss}\@|\not\ll| -\rel\hbox to 20pt{$\Longleftarrow$\quad\hss}\@|\Longleftarrow| -\rel\hbox to 20pt{$\longleftarrow$\quad\hss}\@|\longleftarrow| -\rel\hbox to 20pt{$\Longleftrightarrow$\quad\hss}\@|\Longleftrightarrow| -\rel\hbox to 20pt{$\longleftrightarrow$\quad\hss}\@|\longleftrightarrow| -\rel\hbox to 20pt{$\longmapsto$\quad\hss}\@|\longmapsto| -\rel\hbox to 20pt{$\Longrightarrow$\quad\hss}\@|\Longrightarrow| -\rel\hbox to 20pt{$\longrightarrow$\quad\hss}\@|\longrightarrow| -\rel\hbox to 20pt{$\mapsto$\quad\hss}\@|\mapsto| -\rel\hbox to 20pt{$\mid$\quad\hss}\@|\mid| -\rel\hbox to 20pt{$\models$\quad\hss}\@|\models| -\bin\hbox to 20pt{$\mp$\quad\hss}\@|\mp| -\ord\hbox to 20pt{$\nabla$\quad\hss}\@|\nabla| -\ord\hbox to 20pt{$\natural$\quad\hss}\@|\natural| -\rel\hbox to 20pt{$\nearrow$\quad\hss}\@|\nearrow| -\rel\hbox to 20pt{$\nwarrow$\quad\hss}\@|\nwarrow| -\ord\hbox to 20pt{$\neg$\quad\hss}\@|\neg| \@|\lnot| -\rel\hbox to 20pt{$\ni$\quad\hss}\@|\ni| \@|\owns| -\bin\hbox to 20pt{$\odot$\quad\hss}\@|\odot| -\op\hbox to 20pt{$\oint$\quad\hss}\@|\oint| -\bin\hbox to 20pt{$\ominus$\quad\hss}\@|\ominus| -\bin\hbox to 20pt{$\oplus$\quad\hss}\@|\oplus| -\bin\hbox to 20pt{$\oslash$\quad\hss}\@|\oslash| -\bin\hbox to 20pt{$\otimes$\quad\hss}\@|\otimes| -\rel\hbox to 20pt{$\parallel$\quad\hss}\@|\parallel| -\ord\hbox to 20pt{$\partial$\quad\hss}\@|\partial| -\bin\hbox to 20pt{$\perp$\quad\hss}\@|\perp| -\bin\hbox to 20pt{$\pm$\quad\hss}\@|\pm| -\rel\hbox to 20pt{$\preceq$\quad\hss}\@|\preceq| -\rel\hbox to 20pt{$\not\preceq$\quad\hss}\@|\not\preceq| -\rel\hbox to 20pt{$\prec$\quad\hss}\@|\prec| -\rel\hbox to 20pt{$\not\prec$\quad\hss}\@|\not\prec| -\ord\hbox to 20pt{$\prime$\quad\hss}\@|\prime| -\op\hbox to 20pt{$\prod$\quad\hss}\@|\prod| -\rel\hbox to 20pt{$\propto$\quad\hss}\@|\propto| -\ord\hbox to 20pt{$\Re$\quad\hss}\@|\Re| -\rel\hbox to 20pt{$\Rightarrow$\quad\hss}\@|\Rightarrow| -\rel\hbox to 20pt{$\rightarrow$\quad\hss}\@|\rightarrow| -\rel\hbox to 20pt{$\rightharpoondown$\quad\hss}\@|\rightharpoondown| -\rel\hbox to 20pt{$\rightharpoonup$\quad\hss}\@|\rightharpoonup| -\rel\hbox to 20pt{$\rightleftharpoons$\quad\hss}\@|\rightleftharpoons| -\bin\hbox to 20pt{$\setminus$\quad\hss}\@|\setminus| -\ord\hbox to 20pt{$\sharp$\quad\hss}\@|\sharp| -\rel\hbox to 20pt{$\simeq$\quad\hss}\@|\simeq| -\rel\hbox to 20pt{$\not\simeq$\quad\hss}\@|\not\simeq| -\rel\hbox to 20pt{$\sim$\quad\hss}\@|\sim| -\rel\hbox to 20pt{$\not\sim$\quad\hss}\@|\not\sim| -\rel\hbox to 20pt{$\smile$\quad\hss}\@|\smile| -\ord\hbox to 20pt{$\spadesuit$\quad\hss}\@|\spadesuit| -\bin\hbox to 20pt{$\sqcap$\quad\hss}\@|\sqcap| -\bin\hbox to 20pt{$\sqcup$\quad\hss}\@|\sqcup| -\rel\hbox to 20pt{$\sqsubseteq$\quad\hss}\@|\sqsubseteq| -\rel\hbox to 20pt{$\not\sqsubseteq$\quad\hss}\@|\not\sqsubseteq| -\rel\hbox to 20pt{$\sqsupseteq$\quad\hss}\@|\sqsupseteq| -\rel\hbox to 20pt{$\not\sqsupseteq$\quad\hss}\@|\not\sqsupseteq| -\ord\hbox to 20pt{$\star$\quad\hss}\@|\star| -\rel\hbox to 20pt{$\subseteq$\quad\hss}\@|\subseteq| -\rel\hbox to 20pt{$\not\subseteq$\quad\hss}\@|\not\subseteq| -\rel\hbox to 20pt{$\subset$\quad\hss}\@|\subset| -\rel\hbox to 20pt{$\not\subset$\quad\hss}\@|\not\subset| -\rel\hbox to 20pt{$\succeq$\quad\hss}\@|\succeq| -\rel\hbox to 20pt{$\not\succeq$\quad\hss}\@|\not\succeq| -\rel\hbox to 20pt{$\succ$\quad\hss}\@|\succ| -\rel\hbox to 20pt{$\not\succ$\quad\hss}\@|\not\succ| -\op\hbox to 20pt{$\sum$\quad\hss}\@|\sum| -\rel\hbox to 20pt{$\supseteq$\quad\hss}\@|\supseteq| -\rel\hbox to 20pt{$\not\supseteq$\quad\hss}\@|\not\supseteq| -\rel\hbox to 20pt{$\supset$\quad\hss}\@|\supset| -\rel\hbox to 20pt{$\not\supset$\quad\hss}\@|\not\supset| -\ord\hbox to 20pt{$\surd$\quad\hss}\@|\surd| -\rel\hbox to 20pt{$\searrow$\quad\hss}\@|\searrow| -\rel\hbox to 20pt{$\swarrow$\quad\hss}\@|\swarrow| -\bin\hbox to 20pt{$\times$\quad\hss}\@|\times| -\bin\hbox to 20pt{$\top$\quad\hss}\@|\top| -\bin\hbox to 20pt{$\triangleleft$\quad\hss}\@|\triangleleft| -\bin\hbox to 20pt{$\triangleright$\quad\hss}\@|\triangleright| -\ord\hbox to 20pt{$\triangle$\quad\hss}\@|\triangle| -\bin\hbox to 20pt{$\uplus$\quad\hss}\@|\uplus| -\rel\hbox to 20pt{$\Uparrow$\quad\hss}\@|\Uparrow| -\rel\hbox to 20pt{$\uparrow$\quad\hss}\@|\uparrow| -\rel\hbox to 20pt{$\Updownarrow$\quad\hss}\@|\Updownarrow| -\rel\hbox to 20pt{$\updownarrow$\quad\hss}\@|\updownarrow| -\ord\hbox to 20pt{$\Vert$\quad\hss}\@|\Vert| or |\|\vrt -\ord\hbox to 20pt{$\vert$\quad\hss}\@|\vert| or \vrt -\rel\hbox to 20pt{$\vdash$\quad\hss}\@|\vdash| -\bin\hbox to 20pt{$\vee$\quad\hss}\@|\lor| \@|\vee| -\bin\hbox to 20pt{$\wedge$\quad\hss}\@|\land| \@|\wedge| -\ord\hbox to 20pt{$\wp$\quad\hss}\@|\wp| -\bin\hbox to 20pt{$\wr$\quad\hss}\@|\wr| -\endmulticolumnformat - -\shead{delims}{Brackets or Delimiters} -\tex\ supplies a large variety of delimiters or brackets, some of different -sizes and others that grow to be the correct size. Here is a list of the -delimiters supplied by {\it plain}. - -\bshortcomlist -\@|\big\Arrowvert|¢er part of double up arrow -- $\big\Arrowvert$\cr -\@|\big\arrowvert|¢er part of up arrow -- $\big\arrowvert$\cr -\@|\langle|&left angle bracket -- $\langle$\cr -\@|\rangle|&right angle bracket -- $\rangle$\cr -\@|\big\bracevert|¢er part of large braces -- $\big\bracevert$ \cr -|\{| or \@|\lbrace|&left brace -- $\{$\cr -|\}| or \@|\rbrace|&right brace -- $\}$\cr -|[| or \@|\lbrack|&left square bracket -- $[$\cr -|]| or \@|\rbrack|&right square bracket -- $]$\cr -\@|\lceil|&left ceiling -- $\lceil$\cr -\@|\rceil|&right ceiling -- $\rceil$\cr -\@|\lfloor|&left floor -- $\lfloor$\cr -\@|\rfloor|&right floor -- $\rfloor$\cr -\@|\big\lgroup|&large left paren without middle -- $\big\lgroup$\cr -\@|\big\rgroup|&large right paren without middle -- $\big\rgroup$\cr -\@|\big\lmoustache|& -- $\big\lmoustache$\cr -\@|\big\rmoustache|& -- $\big\rmoustache$\cr -|/|&slash -- $/$\cr -\@|\backslash|&reverse slash -- $\backslash$\cr -\vrt\ or |\vert|&vertical bar -- $\vert$\cr -|\|\vrt\ or |\Vert|&double vertical bar -- $\Vert$\cr -|\downarrow|&down arrow -- $\downarrow$\cr -|\Downarrow|&double down arrow -- $\Downarrow$\cr -|\uparrow|&up arrow -- $\uparrow$\cr -|\Uparrow|&double up arrow -- $\Uparrow$\cr -|\updownarrow|&up-and-down arrow -- $\updownarrow$\cr -|\Updownarrow|&double up-and-down arrow -- $\Updownarrow$\cr -|(|&left paren -- $($\cr -|)|&right paren -- $)$\cr -\eshortcomlist - -Two very powerful operators exist for the delimiters, namely |\left| and -|\right|. They must be used in pairs as -\par -\hbox to \hsize{\hss\@|$\left<delimiter> ...\right<delimiter>$|,\hss} -\noindent -where the |<delimiter>| is one of the above. The result -of these operators is a pair of braces that grow the correct size for the -particular formula in which they are used. This saves you from the problem of -measuring. A |\right.| implies there is nothing at the place of the right -delimiter and |\left.| similarly on the left. This allows a delimiter on only -one side of a formula but to still have the operators match in pairs. - -Finally there is a second set of four pairs of operators, \@|\bigl|, |\Bigl|, -\@|\biggl|, \@|\Biggl| and the corresponding right hand ones \@|\bigr|, \@|\Bigr|, -\@|\biggr|, and \@|\Biggr|. These produce big, but fixed size delimiters for instance we have -\begintt -$$ - \bigl\{\quad -\Bigl[\quad -\biggl\lfloor\quad -\Biggl\Updownarrow\quad\Biggr\Updownarrow -\quad\biggr\rfloor -\quad\Bigr] -\quad\bigr\} -$$ -\endtt -produces -$$ - \bigl\{\quad -\Bigl[\quad -\biggl\lfloor\quad -\Biggl\Updownarrow\quad\Biggr\Updownarrow -\quad\biggr\rfloor -\quad\Bigr] -\quad\bigr\} -$$ - -\shead{sincos}{Common Mathematical Functions} -Certain functions such as |sin|, |cos|, and |limsup| for example are shown in -mathematics text in Roman font. In addition some like |lim| sometimes take -limits that should be placed in the same way as the limits on the large -operators ({\it Op}). For example -\begintt -$$ -\limsup_{t \leftrightarrow \infty} -$$ -\endtt -gives -$$ -\limsup_{t \leftrightarrow \infty} -$$ -There are 32 of these already defined in {\it plain}. They are -\beginthreecolumn -\@|\arg| -\@|\arccos| -\@|\arcsin| -\@|\arctan| -\@|\cot| -\@|\coth| -\@|\cosh| -\@|\cos| -\@|\csc| -\@|\det| -\@|\deg| -\@|\dim| -\@|\exp| -\@|\gcd| -\@|\hom| -\@|\inf| -\@|\ker| -\@|\lg| -\@|\liminf| -\@|\limsup| -\@|\lim| -\@|\ln| -\@|\log| -\@|\max| -\@|\min| -\@|\Pr| -\@|\sec| -\@|\sin| -\@|\sinh| -\@|\sup| -\@|\tanh| -\@|\tan| -\endthreecolumn - -\shead{buildown}{Build Your Own Symbols} -There are several advanced facilities in \tex\ for building your own symbols. -However, there is one rather simple form using -\@|\buildrel <superscript> \over <relation>|. For example -|\buildrel \triangle \over =| gives $\buildrel \triangle \over =$. - -\ejectpage -\done diff --git a/macros/inrstex/inrsdoc/thmulcol.tex b/macros/inrstex/inrsdoc/thmulcol.tex deleted file mode 100644 index 47e7462e82..0000000000 --- a/macros/inrstex/inrsdoc/thmulcol.tex +++ /dev/null @@ -1,140 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{mulcol} - -\def\cqu{} - -\chapterhead{mulcol}{MULTICOLUMN\cr FORMAT} -\intex\ supplies a reasonably versatile multicolumn format mechanism. -The rest of this chapter is set in the multicolumn format with two columns it -was called using -\begintt -\beginmulticolumnformat -\tolerance = 1000 -\intercolumnsep = {\quad \vrule\quad} -\numberofcolumns = 2 -\endtt -\beginmulticolumnformat -\tolerance = 1000 -\intercolumnsep = {\quad \vrule\quad} -\numberofcolumns = 2 - -\shead{mulcolcomlist}{Command List} -\begingroup -\obeylines -\ext|\balancecolumnsize| -\ext|\beginmulticolumnformat| -\ext|\endmulticolumnformat| -\ext|\ejectcolumn| -\ext|\ejectpage| -\ext|\firstcolumnoffset| -\ext|\intercolumnsep| -\ext|\numberofcolumns| -\endgroup - -\shead{mulcolform}{Multicolumn Usage} -Multicolumn format is begun using -\begintt -\beginmulticolumnformat. -\endtt -and is terminated with an -\begintt -\endmulticolumnformat. -\endtt - -Narrow columns in multicolumn format can make it difficult to produce nice -looking lines. This is why the |\tolerance| was increased above while in this -two column mode. -When the number of columns is specified, -above it was 2, the {\bf current} space taken by the intercolumn separator and the -first column offset is used to compute the size of the columns. This -hopefully will not be of negative width. From this point all input will be -put in multicolumn format. Footnotes, inserts, and the like that occur -while multicolumn format is in force will migrate to the appropriate places -in the column.\footnote{\dagger}{This footnote migrated down to the bottom of -this page} Figures, tables will all behave as if the column were a page. -Footnotes and inserts that occur before or after multicolumn format will be -placed in the appropriate place but with respect to the entire page rather -than the individual column. A column is completed using an |\ejectcolumn| -while an |\ejectpage| will complete all the columns on the page. - -\intex\ does not produce balanced columns automatically. -However, there is a way of hand -balancing. When the multicolumn format is ended, \intex\ computes -an estimate of the column length that is needed to produce balanced -columns on the last page. If this amount is entered by using -|\balancecolumnsize [=] <dimen>| command somewhere on the page {\bf -preceding} the last page, the next time the file is processed, \intex\ will -use |<dimen>| as the vertical size of the columns on the last -page. It may take a few trials to determine the correct value for the -|<dimen>|. In this instance -\begintt -\balancecolumnsize=165pt -\endtt -was inserted here. -\balancecolumnsize=165pt - -\shead{mulcolcomform}{Command Forms} -\beginblockmode -\ext\@|\balancecolumnsize - [=] <column length> | -\nbr -This command, when inserted somewhere on the second to last page or before -the -multicolumnformat starts if it takes less than a page, will produce columns -with vertical size |<column length>|. - - -\mbr -\ext\@|\beginmulticolumnformat| -\nbr -This begins multicolumn format and a group. - - -\mbr -\ext\@|\endmulticolumnformat| -\nbr -This ends multicolumn format and terminates the group. - -\mbr -\ext\@|\ejectcolumn| -\nbr -This ends and vertical fills a {\bf column}. When not in multicolumn format, -it will act as an |\ejectpage|. - - -\mbr -\ext\@|\ejectpage| -\nbr -This command ends and fills the current column. It then terminates the -entire page, leaving blank columns as necessary. - -\mbr -\ext\@|\firstcolumnoffset - [=] <dimen>| -\nbr -This command reduces the horizontal size by -amount of 2|<dimen>|. The reduction will show up -evenly on both side of the page. The \intex\ default is 0pt. - -\mbr -\ext\@|\intercolumnsep - [=] {<token list>}| -\nbr -The |<token list>| is inserted between every -column. The vertical lines in this chapter are a result of the -|\vrule| when the multicolumn format was first called. \intex\ defaults to a -pure spacing of 2em. - - -\mbr -\ext\@|\numberofcolumns - [=] <integer>| -\nbr -This sets the number of columns and computes the horizontal size of the -column. The various offsets should be set before this is called. This command -should be called before any |<text>| is submitted to the multicolumn page. -\endblockmode -\endmulticolumnformat -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thover.tex b/macros/inrstex/inrsdoc/thover.tex deleted file mode 100644 index 70362ec6d3..0000000000 --- a/macros/inrstex/inrsdoc/thover.tex +++ /dev/null @@ -1,66 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{over} -\def\cqu{\cquote{There is no one on earth who does what is right -all the time and never makes a mistake.}{Ecclesiastes Chap. 7, Verse 20}} - -\chapterhead{over}{OVERFULL BOXES\cr and\cr OTHER DISASTERS} -Sometimes \tex\ and \intex\ have trouble making a {\it best} decision that is -good enough. The result of this is a message that there is an {\it overfull} -or {\it underfull} box. Chapter \ref{parcont} suggests increasing the -value of |\tolerance| and |\pretolerance| so that \tex\ will accept worse -looking lines. This is fine except that the result is less than beautiful. - -\tex\ indicates an overfull box by putting a big ugly black line at the end. -This book has a few overfull boxes to demonstrate how they look. This chapter -suggests ways of both avoiding and hiding overfull boxes. - -\shead{overcomform}{Command Forms} -\bshortcomlist -\pri\@|\hfuzz [=] <dimen>|&\tex\ tells of overfull horizontal boxes only if -they are overfull by more than |<dimen>|. {\it Plain} default is 0.1pt. \cr -\pri\@|\overfullrule [=] <dimen>|&\tex\ places a rule or line of width -|<dimen>| at the end of an overfull box and of the same height as the box.\cr -\pri\@|\vfuzz [=] <dimen>|&\tex\ tells of overfull vertical boxes only if -they are overfull by more than |<dimen>|. {\it Plain} default is 0.1pt. \cr -\eshortcomlist - -\shead{action}{Overfull Boxes --- Action} -The recommended way to handle an overfull box is to rewrite the passage that -is causing the offence. This will generally work quite well if the box is an -isolated event. It has the feature of not destroying the beauty of the -document. - -However, if you want to hear about overfull boxes but don't want the black -marks let |\overfullrule = 0pt|. If you don't want to hear about them, -increase the size of |\hfuzz| and |\vfuzz|. -|\finalversion| increases |\hfuzz| and obliterates the black marks. - -Overfull |vboxes| are quite rare, as are underfull |hboxes|. If there is an -underfull |hbox|, check it very carefully. The most likely error is not -putting in glue to fill in the box. An example would be using |\line| -instead of |\centerline|. - -Underfull |vboxes| are not as rare. They result when the |vboxes| -on the page are quite large and the glue between them is not very stretchy. -Pages with figures, tables or multicolumn format are the most likely -candidates. The only solution may be a rearrangement of material in the -document, forced filling of the bottom of the page. \tex\ provides a -\@|\raggedbottom| command that puts glue at the bottom of a short page to -prevent it from being stretched out. Whether this is an adequate solution to -the problem is a matter of aesthetic debate. -In general, information about over and under full boxes is desirable. - -\begingroup \bf -When \tex\ indicates that there is an underfull box, it stretches, unless -|\raggedbottom| is active, all stretchable glue. This may result in pages -that look strange. Only glue between paragraphs, before and after display -mathematics, between all list items, and before section \dots\ heads is -stretchable. Interline glue is not stretchable either in {\it Plain\/} or -\intex. In extreme cases (badness greater 10000) the page will have very -disturbing spacing indeed. -\par\endgroup - - -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thp2.tex b/macros/inrstex/inrsdoc/thp2.tex deleted file mode 100644 index 850fd38aae..0000000000 --- a/macros/inrstex/inrsdoc/thp2.tex +++ /dev/null @@ -1,420 +0,0 @@ - - -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{preface} -%\inputtocfiles = {\checklistopen{toc}\inputwithcheck{masth.toc}} -%\catcode`\@=11 \s@ubdocumentfalse \catcode`\@=12 -\tenpoint -\romanpagenumber = 1 -\openlistfile{toc} -\opencitationtagfile -\beginprelude -\preludehead{Preface} \specialpagestyle -This volume is a reference manual for \intex\ and \TeX82. It should not be considered a -substitute for the \texbook. Indeed, when there is a conflict between the two -it should be assumed that the \texbook\ is correct. This author expresses an -immense debt of gratitude to -Donald Knuth, the Grand \TeX Wizard, originator of \TeX, and the -author of the \texbook[\cite{[Knut84]}]. Indeed many of the macros that have been used for -this book have been borrowed from those used for the production of the -\texbook. - -Any deficiencies in the aesthetics of the layout of this book lie with the -author and not the \TeX\ that was used to produce it. \TeX\ is an exceedingly -powerful system. Full exploitation of its capabilities will probably be -limited to a few persons. However, it is possible, and will indeed happen, -that there will be a number of systems based on \TeX\ that will be simple to -use and aesthetically pleasing \dots\ at least in your local environment. -\intex\ is one of these. - -This book is organized so that the information may be accessed in two ways. -The main objective is to introduce the names and syntax of commands used -in \TeX. \TeX\ is an {\it extensible language}. By this it is meant that it is -possible, and indeed quite easy, to add commands of your own to the set -supplied. The \texbook[\cite{[Knut84]}] discusses in -detail those that are primitives in the -language and those that have been added in the basic package known as -\plain. There are about 300 primitive and 600 more in \plain. This book -introduces enhancements under the name of \intex. These constitute a document -preparation package that make both an author's and secretary's life -considerably easier. Several hundred more commands are added in \intex. - - -However, these large numbers should not be considered too frightening. A very -large number of the commands are for special symbols. In fact for most users, -the most useful commands are the ones added -to make the production of documents reasonably simple and automatic. However, -{\it automatic} has its limitations. On the one hand there is the very real -difference between people on what constitutes a beautiful layout, and on the -other there is the problem of describing linguistically an algorithm or -recipe for that individual beauty. - -In fact beauty is usually compromised by expediency. The additional commands -described for the various styles, books, reports, and letters attempt to -balance the two. As much as possible is done automatically. There will be -compromises that are not always appropriate. However, there is always a way, -usually simple, to specifically modify a single item. Actions of this sort -are only taken as a last resort. The problem is that subsequent changes in -other parts may make the specific local change all wrong. It is probably a -truism that there is never a {\bf final} version of a document. - - -\begingroup -\cquote{The best time for planning a book is while you are doing the -dishes.}{Agatha Christie} - -\cquote{No man but a blockhead ever wrote except for -money.}{Boswell's ``Life~of~Johnson (1709-1784)'' [April~5,~1776]} - - - - -\ejectpage -\endgroup -%\tracingall -\begingroup -\def\ftn{}%footnote problem -\def\cr{ }%\cr print problem -\let\twelvett=\tentt % ugh! -\preludehead{Table of Contents} \specialpagestyle -\inputtocfiles = { \inputwithcheck{masth.toc} } -\maketoclist -\endgroup -\ejectpage -\ifodd\pageno \vglue 0ptplus1fill - \pslide \intex// \centergraph{\refoffset h:.75 v:.75 - \btg \inrslogo h:0 v:0 sc:2 - \etg}// \fi -\endprelude -\chcode{Intro} -\pagenumber=0 - -\def\cqu{\let\folio=\relax -\cquote{Beauty in things exists in the mind which contemplates them.}{Essays -on Tragedy, David~Hume (1711-1776)} -} - - - -\chapterhead{Intro}{\tex\cr and\cr \intex} - -\tex\ is a typesetting -system\footnote{\dagger}{In fact \tex\ is a very versatile system providing -a powerful language facility that can be used to create author aids -for the production of documents. \intex\ is an example of an integrated -version of such aids.} -developed by Prof. Donald Knuth of Stanford -University for the production of beautiful books. The intent was to -automatically duplicate the format of the second edition of a -text whose first edition was typeset, for the most part, manually. It has -grown, and is becoming the basis of some very powerful document production -systems. - -\tex\ is many things. It is first and foremost a language in which to tell a -computer how to {\bf beautifully} typeset text --- all sorts of text. It allows for the use of -symbols such as $\star$, that are not found on your normal typewriter to be -produced by typing |\star| using letters that usually are. It goes beyond the -simple single character and makes it possible to display a mathematics -equation such as -$$ -\sum_{n=1}^k n^2 = {n(n+1)\over 2} -$$ -in the middle of the page by just typing -\begintt -$$ -\sum_{n=1}^k n^2 = {n(n+1)\over 2} -$$ -\endtt -It produces better looking words by moving the ``a'' closer to the ``T'' in -such words as ``Tag'' to compensate for the visual effect of the overhang of -the top of the ``T''. It produces better looking paragraphs by absorbing the -whole paragraph before attempting to break lines. This means that decisions -near the top will not lead to disasters later on. It produces better looking -pages by considering what is on the following page before attempting to break -the present one. This prevents such visual disruptions as those -caused by single line paragraphs at the top or bottom of pages. - -\tex\ is rapidly becoming the basis of document preparation systems, -including \intex\ described in this book. -Documents are made up of parts that are not usually -thought of in terms of how they look. Parts such as sections, paragraphs, -lists, footnotes, chapters, introductions or prefaces. \tex\ has very -powerful facilities for creating systems for dealing with these parts and -making decisions on how they should be displayed. These facilities really -make up a language whose {\it primitive} parts are used to make more powerful -parts. - -\shead{TeXlevels}{The \tex\ language --- primitive, plain, and extended} - -As with most systems, the -more complex parts are built from more primitive parts. {\it Primitives} in -\tex\ supply the fundamental facilities for both typesetting and language -extension. The first set of extensions are those in the {\it plain} package -supplied with a {\it raw} \tex\ system. The definitive description of -the \tex\ {\it primitives}, and the associated extension {\it plain}, is in -the \texbook\ of Donald Knuth. The \texbook\ shows how to use these commands -and explores some of the implications. - -The \texbook\ is aimed at all users of -\tex\ --- the system builder and the end user. This book is aimed primarily -at the end user and more especially the user of \intex. -It briefly discusses the basic text and page building -philosophy on which \tex\ is based. -It gathers together most, but not all of the commands in the -\texbook\ and displays their required syntax, and gives some uses. It does -not explore them too deeply. Further examples will be found in the -{\bf \tex\ Example Book} that will be published as soon as it is compiled. - -In addition it describes \intex, a document preparation system that has been built on -top of {\it plain}. At present, this includes styles for papers, reports, and -books. In addition it aids in the preparation of documents by automatically -generating, tables of contents, simple indexes, and numbering such -as chapters, sections, equations, tables. Finally it allows for symbolic -referencing of any of these parts. - -\shead{editors}{\tex\ editors} -Any text editor can be used to create a \tex\ document. Only those characters -normally found on a keyboard are used and there are facilities in \tex\ to -allow for those special keyboards and screen systems that can display -different characters. For instance it might be that a French keyboard has the -letter \'e on it and the screen can display it in that form. This can be -encoded as single key and translated by \tex. Less capable keyboards would -actually type a |\'e| to obtain the \'e. - -Another feature that makes life easier for producing a document on a text -editor is the ability to match a left |{| with a right |}|. -\tex\ uses these extensively to {\it group} things together and sometimes can -get upset in quite mysterious ways when they do not. -It is also quite useful to be able to edit several parts of the -document at the same time. Newer editors allow this. - -A \tex\ editor does not really exist \dots\ for a number of reasons. -A major objective of such an editor would be -as a means of catching (\tex) errors on -input and to facilitate modifications of the file for better layout. An -editor of that sort must know an awful lot, not only about \tex, but also -your extended version. Another objective would be to allow coordinated views -of the input file and the \tex printed output, -so that the effect of both major and -minor changes would be evident. This is conceivable, but still for the -future. - -It is possible to argue that an editor that ``showed you what you get'' is -ideal for a document preparation and typesetting system. The difficulty with -this argument is that there is no language that adequately encompasses the -graphics on the screen with the place of, say a summation sign, $\sum$ in a -mathematical equation. In some cases the semantics of the resulting document -is varied by a change in the display format and in other cases it is not. -In some cases different semantic objects, such as an {\it IF} in a computer -program and the {\it if } in a sentence are distinguished by font style, and -sometimes not. At the document level, it is the semantics of the entity that -is important. It may or may not show up in a format change. - -\shead{gentyp}{Generic Typesetting} -The opposite extreme to the ``see what you get'' school is the giving of -semantic tags to each entity in the document and deciding later how they will -be displayed. This means that it is possible to change your mind about the -way a, say {\it keyword}, will be displayed and change it consistently -throughout the document. This approach appears to be possible in a -constrained environment and has been successfully applied by -DIGITAL[\cite{[Digi83]}] to the production of their manuals for the VAX11/780. -\tex\ can be the basis of such a system too. - -\shead{intexintro}{\intex} -\intex\ is -a system to aid in the preparation of documents in several languages using -ordinary fonts. The system, excluding its graphics component, is usable -with any \TeX\ system but is most useful, when using ordinary {\tt cm} -fonts with an ML\TeX\ system. The graphics component will work with any -reasonable PostScript printer and driver. The version at INRS/BNR uses a -modified version of Nelson~Beebe's DVIALW on the VAX/VMS and the IBM~PC and -uses Tom~Rokiki's DVIPS on the UNIX workstations. -The two languages actually used are French and English. The -pieces, all relatively independent, are as follows: -\beginlist -\li $\bullet$ the \intex\ macro package kernel. This includes all the -facilities needed for -\beginsublist -\tightenlist -\li $\circ$ section and chapter heads, -\li $\circ$ lists, -\li $\circ$ {\bf easy} tables, -\li $\circ$ {\it floating} figure and table insertions, -\li $\circ$ footnotes, -\li $\circ$ automatic generation of table of contents, list of figures, and -list of tables, -\li $\circ$ automatic numbering of equations, section heads, etc., -\li $\circ$ symbolic referencing of equations, sections, etc., -\li $\circ$ optional margin notes to aid in keeping track of symbolic -references, -\li $\circ$ automatic generation of citation lists (IEEE style only) -\li $\circ$ a {\it subdocument} feature for building large documents in -pieces. -\endsublist -\li $\bullet$ additional packages for special forms. The modular form of the -kernel allows for modifications of what is inside and out. At the present -these include -\beginsublist -\li $\circ$ a verbatim style using {\tt typewriter} fonts for such things as -program listings, -\li $\circ$ a several document styles including a |<<PAPER STYLE>>|, -|<<BOOK STYLE>>|, |<<REPORT STYLE>>|. Some of these are rather specialized. -\li $\circ$ \TeX graph, a graphics system for drawing figures and inserting -external figures. This uses the graphics primitives of a PostScript -printer. It is {\it inside} rather than outside the \TeX\ system. -\li $\circ$ memo macros {\bf including} graphics for letterhead, -\li $\circ$ slide making {\bf including} graphics for letterhead, -\endsublist -\li $\bullet$ templates for various styles. This makes their use as easy as -filling in blanks. -\li $\bullet$ {\bf MLTeX} is an {\bf extension} to \TeX\ 3.+ that -allows hyphenation of words with explicitly accented letters -words while using ordinary {\tt cm} fonts. -\li $\bullet$ {\bf DVIALW}, a PostScript driver, written by Nelson~Beebe -has been modified by INRS to allow inline PostScript for \TeX Graph. -There is also a version of \TeX Graph that will work with -Tom~Rokiki's {\bf DVIPS}. -\endlist -\noindent -\intex\ may be viewed from several perspectives. -\beginlist -\li $\bullet$ At the user level, it is a -set of procedures that augment the {\it plain} macros supplied with \TeX. -These aid the author in building a document by making shuffling of such -things as sections, equations, figures, and tables sufficiently painless that -they will be done. It helps the secretary/typist by making it easier to -respond to changes. To work most effectively, the author, at the -{\it pencil} input level, should be aware of the power of the system. -\li $\bullet$ At the document formatting level, parameters and features are -available to modify various spacings, headers, footers, etc. -\li $\bullet$ At the document design level, the various internal formatting -forms are available, {\bf independently} of the housekeeping functions for the -automatic generation of section, equation, and figure numbers, or such things -as the table of contents. -\endlist - -\shead{language}{English and French --- Together} -\intex\ supports both English and French document preparation, -and is easily extendable to other languages . It does this through -the generation of messages and various forms from within the \intex\ kernel -and through the \mtex\ extension that allows for language dependent hyphenation -of words with and without accents. An example of a kernel form variation is the -change from ``Chapter'' to ``Chapitre'' when a |\chapterhead| is called in -French rather than in English. |\englishversion| calls the English forms and -|\versionfrancaise| the French forms. - - -\shead{scope}{Scope of Book} -This book will introduce the first version of the document preparation -system, to be called \intex, that is used at INRS/BNR. -It will describe virtually all of the symbols and -commands that have been introduced in the \texbook\ with the exception of -those used for symbol definitions and output routines. All of the accessible -and changeable parameters will be listed and grouped according to function. - -Most chapters will begin with a list of commands that will be discussed in that -chapter. Some discussion of where and how these will be used and what will be -accomplished using them follows. Then there will be a list of the individual -commands with their normal usage syntax. An index of these commands will be -found at the end of the book. - -\ejectpage -\chcode{descom} -\def\cqu{\cquote{We ought to give the whole of our attention to -the most insignificant and most easily mastered facts, and remain a long time -in contemplation of them until we are accustomed to behold the truth clearly -and distinctly}{Rules for the Direction of the Mind, Rule IX, -Ren\'e~Descartes (1596-1650)}} - -\chapterhead{descom}{\tex\ COMMANDS:\cr DESCRIPTION\cr FORM} -In this book commands, command parameters, and characters that you might be -expected to type in at a terminal are shown in {\tt typewriter} font. Thus a -file that would typeset the 23$^{rd}$ psalm below -\medskip -\beginnarrowtext 1in -\eightpoint -\obeylines -The Lord is my shepherd, I shall not want; -He maketh me to lie down in green pastures, -He leadth me beside the still waters; -He restoreth my soul. -\endnarrowtext -\noindent -is given by -\begintt -\beginnarrowtext 1in -\eightpoint -\obeylines -The Lord is my shepherd, I shall not want; -He maketh me to lie down in green pastures, -He leadth me beside the still waters; -He restoreth my soul. -\endnarrowtext -\bye -\endtt - -The actual commands and their meaning will be described in later chapters. -However, it should be possible to guess what they do from their common sense -meaning (noting, of course that a |\| starts a command). -When a listing is shown in this manner, it is assumed that each line -is terminated by a |<return>|. The |<return>|, abbreviated by |<cr>| will -only be explicitly shown when there might be some confusion. - -\shead{telltex}{Commands TO \tex\ and \intex } -A command is the way to tell \tex\ to do something. \tex\ responds to both -{\it verbose}, single character commands, and {\it one} implicit command. -Verbose commands always start with an {\it escape character} which for most \tex\ -systems, and in this book, is the backslash |\|. The command name is -a string of {\it letters} and the end of the command is shown by a -non-letter, usually a blank, although a number such as 1, or a special -character such as |{| or |,| will do. - -A typical -verbose command -might be the |\beginnarrowtext| used above. It takes a parameter which is a -{\it dimension} and is delimited by a final space. The form of the command -description would be |\beginnarrowtext <indent dimen>|\]. -{\bf Note that the brackets |<| and |>| should not be typed.} -If a parameter or entity in the command is optional it is enclosed in -square brackets |[...]|. -For example, the $=$ -when setting the {\it outer page size} as in -|\houterpagesize [=] <page size dimen>| is optional. Readability suggests -that they should be included. -{\it Verbose} commands ignore spaces between the command and the following -text. - -Single character commands are not preceded by a |\|, obviously, and exist -primarily to improve readability and ease of typing. An example is |^| for -superscripting or |~| to {\it tie} two words together. The major difference -between these and the verbose commands is that spaces or blanks after them -are {\bf not} ignored. - -Finally, \tex\ has one implicit command, namely a blank line, which signifies -the end of a paragraph and hence is equivalent to |\par|. Several blank lines -are equivalent to only one. In addition, a line that has only a \tex\ -comment, for example -\begintt -%This line is a TeX comment because it starts with a % -\endtt -is a blank line. |\par| and blank lines are {\bf not} allowed in |\halign| or in -display mathematics mode. - -\shead{comdesc}{\tex\ Command Description} -The general form used to describe \tex\ commands is -\begintt -\<command> <parameters> -\endtt -If blank space is shown in the description, that space is optional and there -can -be several of them. In fact the command can be split at that point and placed -on the next line with no ensuing problems. On the other hand a \] implies that -the blank space {\bf must} be there. - -Finally the commands are shown preceded by one of $\bullet$, $\diamond$, or -$\star$, and are {\it primitive}, {\it plain}, or \intex\ respectively. - -\ejectpage -\done - diff --git a/macros/inrstex/inrsdoc/thpagsiz.tex b/macros/inrstex/inrsdoc/thpagsiz.tex deleted file mode 100644 index 460fee3027..0000000000 --- a/macros/inrstex/inrsdoc/thpagsiz.tex +++ /dev/null @@ -1,156 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{pagsiz} - -\def\cqu{\cquote{It is when I am struggling to be brief that -I become unintelligible.}{Ars Poetica, Horace (65-8~BC)} -} - -\chapterhead{pagsiz}{PAGES:\cr SIZES\cr MAGNIFICATION} -\intex\ has a number of page size parameters that are set to make the output -possible on different devices, and to facilitate special formats. -All page size -parameter changes are made in assignment fashion with an optional |[=]| sign. -All page size changes must be made inside a -\@|\documentstyle| list in order to insure that they take effect. -Figure~\ref{pagdiag} diagrams the various dimensions. - -\input pagdiag -\beginpageinsert -\figureform{pagdiag}{Diagram of the various page dimensions.\captionbody{ - The actual printing area is determined by the computed dimensions -{\tt \1hinnerpagesize} and {\tt \1vinnerpagesize}. The {\tt outer} dimensions -are normally specified. The {\tt \1firstcolumnoffset} is normally -0pt.}}{\centergraph{ \pagdiag sc:.8 }} -\endpageinsert - -\shead{pagecomlist}{Command List} -\beginthreecolumn -\hfuzz=20pt -\ext\@|\documentstyle| -\ext\@|\houterpagesize| -\ext\@|\hpapersize| -\ext\@|\leftmarginsize| -\ext\@|\leftmarginskip| -\pri|\mag| -\pla|\magstep| -\ext\@|\topmarginsize| -\ext\@|\topmarginskip| -\ext\@|\vouterpagesize| -\ext\@|\vpapersize| -\endthreecolumn - -\shead{pagesandmargins}{Page Size Setting and Margins} -These commands define and set the various page sizes. Only the |outer| and -|header|, and |paper| commands should be changed. -\intex\ also has some |inner| and |column| sizes. These are computed and -should not be modified -- although they are accessible. See -Section~{\ref{inner}}, page \pref{inner} for details. -{\bf All dimension changes must be made inside a |\documentstyle| command or -they will not necessarily take effect.} - -This section details the various parameters used to -name and describe the parts of the printed page that can be varied. -The general convention is that |\h<name>| names a horizontal dimension -and |\v<name>| names the corresponding vertical dimension. The various -|<name>|s are -\bshortcomlist -|outerpagesize|&{this is the extent of the area allowed - for printing. It includes all headers, - footers, footnotes \dots\ - \@|\vouterpagesize| and \@|\houterpagesize| - are the vertical and horizontal - forms}\cr -|papersize|&{this is the ``physical'' size of the paper and includes all - the |outerpagesizes| plus - margins. The actual - vertical extent of the paper - is \@|\vpapersize| and - the actual width of the - paper is is the size of \@|\hpapersize|. -The default values are correct for -11in by 8.5in paper but must be increased for -14in by 8.5in (Legal size) paper.}\cr -\@|\vsize|&the actual verticalsize of the present page. This is set at the time when the -first material is submitted for putting on the page. In \intex\ it is usually -the |\vcolumnsize|. It should be changed only with knowledge.\cr -\@|\hsize|&the actual horizontal size of the present {\bf box} in which \tex\ is -working. This may be a page or some box that is to be eventually placed on -the page. -This is set at the time when -first material is submitted for putting on the page. In \intex\ |\hsize| is -usually -the |\hcolumnsize|. \cr - -\eshortcomlist - -Assignments are made in the normal way. The general form is - -\@|\<dimen name> [=] <dimen>| -\noindent -where |<dimen>| is a dimension. Thus the papersize, margins, -and outer page sizes are set in \intex\ by -\begintt -\documentstyle{\vpapersize = 11in - \hpapersize = 8.5in - \vouterpagesize=9in - \houterpagesize=6.5in - \leftmarginsize=1.25in - \topmarginsize=1in} -\endtt -These values are actually set for the paper style in {\tt papersty.tex}. - -\shead{magnification}{Magnification} -\tex\ is able to magnify an entire document through its -|\magnification| parameter. The form is -\beginblockmode -\mbr -\pri\@|\mag [=] <1000 times scale factor>| -\nbr -The document is magnified by the |<scale factor>|, times any |texprint| -magnification. It can appear only once and should appear at the beginning of -the document. {\bf It should be used with extreme caution. The results may -be too big for the output device.} The {\it plain} form |\magnification| has -been defined to be the same as |\mag|. The reason is that |\magnification| in -{\it plain} also sets page sizes which is inappropriate here. \TeX Graph will -scale correctly when using |\mag|. - -\mbr -\pri\@|\magstep<integer>| -\nbr -This is a valid magnification scaling for the |\magnification| command. The -actual magnification is $1.2^{\langle{\rm integer}\rangle}$. -Thus |<integer>=3| implies a -magnification of 1.728. -\endblockmode - -In fact there are two points at which -magnification can occur. The first is in the \tex\ document and the second is -when it is printed. All that is important is the final magnification. A -magnified document may be printed only if all the fonts are available at the -magnifications requested. In general, magnification should be controlled by -\intex\ so that \TeX Graph will operate correctly. - -\shead{inner}{Internal and Computed Sizes} -\intex\ is actually in multicolumn mode at all times. The default though is -just one column. In order to live in this world \intex\ understands |inner| -and |column| sizes. The |column| sizes are the actual sizes that are used to -for the text. The |inner| horizontal size is the sum of the column widths and -the intercolumn spacing. To this is added a \@|\leftcolumnoffset| (twice) to -obtain the |\houterpagesize|. Normally the |\leftcolumnoffset| is zero. The -effect of a left column offset is to inset the pages with respect to the -header/footer boxes whose width is the |\houterpagesize|. Thus - -\bshortcomlist -|columnsize|&this is the actual size of the column - where the text is printed. Footnotes - are inside the column. In single - column format columnsize and innerpagesize - are the same - (\@|\vcolumnsize|, \@|\hcolumnsize|) \cr -|innerpagesize|&this is the size of the page left after - the headers and footers have been removed - (\@|\vinnerpagesize|, \@|\hinnerpagesize|) \cr -\eshortcomlist -\ejectpage -\done diff --git a/macros/inrstex/inrsdoc/thpagsty.tex b/macros/inrstex/inrsdoc/thpagsty.tex deleted file mode 100644 index 1c1e097679..0000000000 --- a/macros/inrstex/inrsdoc/thpagsty.tex +++ /dev/null @@ -1,219 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{pagsty} - -\def\cqu{\cquote{Insanity is often the logic of an accurate mind overtaxed.}{The -Autocrat at the Breakfast Table, Oliver~Wendell~Holmes (1809-1894)} -} - -\chapterhead{pagsty}{HEADERS\cr FOOTERS\cr and PAGE NUMBERS} -\vskip 0pt plus 30pt -\intex\ supplies a large number of facilities for controlling the style of -such things as headers, footers, and page numbering. This chapter discusses -those facilities. Multicolumn formatting is discussed separately (see -Chapter~\ref{mulcol}). Of special importance is the command -|\documentstyle{<page styles>}|. This command sets the default values for the -entire document. Thus -\begintt -\documentstyle{\twelvepoint - \normalheaderstyle - \normalfooterstyle - \vheadersize=1.5cm - \vfootersize=2cm} -\endtt -would set the entire document in |\twelvepoint| fonts, set the default -header and footer styles to ``normal'', and set the header and footer -vertical sizes. |\documentstyle| does a |\setpagesizes| to ensure that the -page sizes have been computed. -\shead{pagstycomlist}{COMMAND LIST} -\begintwocolumn -\hfuzz=20pt -\ext|\blankheaderstyle| -\ext|\blankfooterstyle| -\ext|\documentstyle| -\pla|\folio| -\ext|\footerfont| -\ext|\footertext| -\ext|\fullpagestyle| -\ext|\headerfont| -\ext|\headertext| -\ext|\noheaderstyle| -\ext|\nofooterstyle| -\ext|\nopagenumberadvance| -\ext|\normalpagestyle| -\ext|\normalheaderstyle| -\ext|\normalfooterstyle| -\ext|\pagenumber| -\ext|\romanpagenumber| -\ext|\specialfootertext| -\ext|\specialheadertext| -\ext|\specialpagestyle| -\ext|\titlepagestyle| -\ext|\vheadersize| -\ext|\vfootersize| -\endthreecolumn - -\shead{pagenumbers}{Page Numbers} -Page numbers are assigned by |\pagenumber [=] <new page number>| where -|<new page number>| is an integer. Similarly roman numerals are assigned -by |\romanpagenumber [=] <new page number>| again where |<new page number>| -is an integer. To print the current page number use |\folio|. This will -give a lowercase roman or an ordinary integer. To obtain uppercase roman use -|\uppercase{\folio}| where the number is expected to be roman. Roman -numbers are actually held inside \tex\ as negative numbers and print out -negative as well when the file is being processed. - -Normally the page number advances at the end of each page. However, it is -possible to prevent it from advancing for one page only, at a time, by -inserting |\nopagenumberadvance| into the file. - -\beginblockmode -\mbr -\pla\@|\folio| -\nbr -This prints out the current page number in either arabic or lower case roman -as the case may be. \@|\uppercase\folio| produces an uppercase roman page -number, or an integer, if the page number is not roman. - -\mbr -\ext\@|\nopagenumberadvance| -\nbr -This command in the file means that the page number will not advance for this -page. It lasts for only {\bf one} page. - -\mbr -\ext\@|\pagenumber [=] <new page number>| -\nbr -This assigns the pagenumber to be the integer value of |<new page number>|. - -\mbr -\ext\@|\romanpagenumber [=] <new page number>| -\nbr -This sets the pagenumber to be roman style with -the integer value of |<new page number>|. -\endblockmode - -\shead{headfoot}{Header and Footer Styles} -Headers and footers appear at the top and bottom of a page respectively. In -general they carry information such as page number, section number, or even -report and paper type. In this book the footer does not exist and the header -carries the chapter name and page number on even pages and the current -section and page on odd pages. Three styles of header and footer are -supported, blank, normal or special (with text), and none. -Headers and footers are boxes -with width |\houterpagesize| and height determined by the setting of -\@|\vheadersize = <dimen>| and \@|\vfootersize = <dimen>| respectively. -Blank headers/footers exist -but have nothing printed in them. Normal (special) -headers/footers have the normal (special) -header/footer text printed, and no headers/footers have the space that is -normally taken up by the header/footer box returned to the main page. The -three headers styles are called by |\blankheaderstyle|, |\normalheaderstyle|, -and |\noheaderstyle|. Similarly for footers. However, all of these styles -last for {\bf one} page only {\bf unless included as an argument to} -\@|\documentstyle| whereupon they become the default values of the document. - -Finally several -styles have been gathered together. |\titlepagestyle| h blanks out -the header and footer, while |\fullpagestyle| which deletes both headers and -footers. |\normalpagestyle| prints the text defined by |\headertext| and -|\footertext| while |\specialpagestyle| prints out the text defined by -|\specialheadertext| and |\specialfootertext|. All of these styles last for -{\bf one} page only, whereupon the system reverts to the document style. - -\beginblockmode -\mbr -\ext\@|\blankheaderstyle \blankfooterstyle| -\nbr -Does not allow the header/footer text to be printed and lasts for one -page only. - -\mbr -\ext\@|\documentstyle{<list of style types>}| -\nbr -Sets the default or document style types to those in -|<list of style types>|. The default style types may be changed as often as -desired in any given document. - -\mbr -\ext\@|\fullpagestyle| -\nbr -This is equivalent to both |\noheaderstyle| and |\nofooterstyle|. It lasts -one page only. - -\mbr -\ext\@|\noheaderstyle \nofooterstyle| -\nbr -This effectively returns the space occupied by the header/footer to the inner -page. Either one lasts for one page only. - -\mbr -\ext\@|\normalheaderstyle \normalfooterstyle| -\nbr -The normal header/footer text prints in the box assigned to it. - -\mbr -\ext\@|\normalpagestyle| -\nbr -This is equivalent to both |\normalheaderstyle| and |\normalfooterstyle|. It -lasts for one page only. - -\mbr -\ext\@|\specialheaderstyle \specialfooterstyle| -\nbr -The special header/footer text prints in the header/footer box on -that particular page only. - -\mbr -\ext\@|\specialpagestyle| -\nbr -This is equivalent to both |\specialheaderstyle| and |\specialfooterstyle|. It -lasts for one page only. - - - -\mbr -\ext\@|\titlepagestyle| -\nbr -This is equivalent to |\blankheaderstyle| and |\blankfooterstyle|. It last -only one page. -\endblockmode - -\shead{headfoottext}{Header and Footer Text/Sizes} -The header and footer text should be thought of a token string that is being -put into a box of the appropriate size and shape. Any logic to test pages for -placing information in different ways on, say even or odd pages should be -included in this text. -\beginblockmode -\mbr -\ext\@|\headertext [=] {<token list>}| -\nbr -\ext\@|\footertext [=] {<token list>}| -\nbr -\ext\@|\specialheadertext [=] {<token list>}| -\nbr -\ext\@|\specialfootertext [=] {<token list>}| -\nbr -This is the text that creates the formats for the headers and footers in the -various styles. The \tex\ commands that do the formatting are -the |<token list>|. The defaults are no header and a footer with a centered -page number for the |<<PAPER STYLE>>|, the ones in this book for the -|<<BOOK STYLE>>|. Others will be indicated when those styles are discussed. -The |\special...text| forms are used whenever a |\special...style| is in -force. - -\mbr -\ext\@|\vheadersize [=] <dimen>| -\nbr -\ext\@|\vfooterersize [=] <dimen>| -\nbr -These commands set the size of the headers and footers respectively. -In order to ensure that the correct innerpagesize results after a header or -footer size change, they should be followed with a |\setpagesizes|. -They -should be made large enough to include all the |\headertext| or -|\footertext|, and some additional white space. -\endblockmode - -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thparcon.tex b/macros/inrstex/inrsdoc/thparcon.tex deleted file mode 100644 index e3759f2cd2..0000000000 --- a/macros/inrstex/inrsdoc/thparcon.tex +++ /dev/null @@ -1,367 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{parcont} - -\def\cqu{\cquote{The Beautiful arises from the perceived harmony of an object, whether -sight or sound, with inborn and constitutive rules of judgment and -imagination: and it is always intuitive.}{On the Principles of General -Criticism, Samuel~Taylor~Coleridge (1772-1834)} -} - -\chapterhead{parcont}{PARAGRAPH\cr CONTROL} -Contrary to intuition, \TeX\ indicates where paragraphs end rather than -where they begin. This chapter discusses some of the parameters used in -controlling the justification, spacing, hyphenation,and indentation in -paragraphs. A -paragraph can be built in either vertical or internal vertical mode, the -latter is the same as being inside a vertical box. -When parameters are set inside a vertical box, they are undone when leaving -the box. -When building a paragraph, -\tex\ is in horizontal mode. All parameters are local to a box or group unless -explicitly made |\global|. The parameters discussed here control interword -spacing in a paragraph, with and without hyphenation, the indentation, -interparagraph vertical skips, and the justification of the lines. Some -advanced features can force a paragraph to be either a line shorter or longer -than its best length. Some of these features are for fine tuning and will -probably not -be used except on the |final| pass of a book. Others, such as those -involving paragraph indentation, justification of lines, or certain special -effects will see more use. - -\def\paragraphcenterline{\advance\rightskip by 0pt plus 1fill - \advance\leftskip by - 0pt plus 1fill \def\cr{\par}\parindent = 0pt} - -\beginnarrowtext 1.5in -\paragraphcenterline -For instance, this paragraph has had its margins pushed in by 1.5 inch on -either side by the use of |\beginnarrowtext 1.5in| and has had each of the -resulting lines centered on the page with the |\paragraphcenterline| command. -This latter command is in fact used by \intex\ to center, and prevent -hyphenation in titles. - -\endnarrowtext - -\begingroup -\veryraggedright -A second example is illustrated in this paragraph with the |\veryraggedright| -command. This prevents hyphenation and causes the paragraphs to have no -right justification. Although it is probably not useful for ordinary text, it -is used in section headings, table of contents, and figure captions, to -automatically display verbose text. \par -\endgroup - -Another useful command, |\obeylines|, is especially for such things as -addresses. -It changes the carriage return |<cr>| from a space to real line -terminator. For instance the address -\medskip -\vbox{ -\begingroup -\obeylines -H.J. Common -3479 Dreary Lane -Lostville -\endgroup -} - -\noindent -was produced by -\begintt -\begingroup -\obeylines -H.J. Common -3479 Dreary Lane -Lostville -\endgroup -\endtt -\noindent -Note that the |\obeylines| is inside a group to limit its effect to just the -one paragraph. This is really the only way to undo the effect of some -commands and has the advantage of returning to the state before entry into -the group. {\bf Note also that the address is indented.} -The indentation is the -value of the current |\parindent|. - -\begingroup -Finally there are two other parameters of general interest. These are -|\rightskip| and |\leftskip|. Whenever \tex\ finds the {\bf end} of a -paragraph, it checks the current values of |\rightskip| and -|\leftskip| and appends this amount of glue on the end of each line while it -is making the paragraph. This paragraph was set with |\rightskip = 1cm| -right here -\rightskip = 1cm -and |\leftskip = 3cm| right here. -\leftskip = 3cm -Note that it affected the entire paragraph. The entire paragraph is inside a -group. In fact a |\par \endgroup| was put at the end to make sure that -\tex\ knew that the paragraph ended {\bf before} leaving the group. -\par -\endgroup - - -\shead{parcontlist}{Command List} -\beginthreecolumn -\hfuzz = 20pt -\ext|\beginnarrowtext| -\pri|\discretionary| -\ext|\endnarrowtext| -\pri|\everyparagraph| -\pri|\hangafter| -\pri|\hangindent| -\ext|\hyphenatecapitals| -\pri|\indent| -\pri|\leftskip| -\pri|\looseness| -\pri|\noindent| -\pla|\obeylines| -\pla|\obeyspaces| -\pri|\par| -\ext|\paragraphcenterline| -\pri|\parindent| -\pri|\parshape| -\pri|\parskip| -\pri|\pretolerance| -\pla|\raggedright| -\pri|\rightskip| -\pri|\tolerance| -\pla|\ttraggedright| -\ext|\veryraggedright| -\endthreecolumn - - -\shead{parcontcoms}{Command Forms} -\beginblockmode - -\mbr -\ext|\beginnarrowtext <dimen>|\] -\nbr -This narrows the size of the margins on both the left and right hand side by -|<dimen>|. It starts a group and is terminated by an |\endnarrowtext|. The -raggedness of the outer level is preserved inside the narrowtext group. - - -\mbr -\pri\@|\discretionary{<prebreak text>}{<postbreak text>}{<nobreak text>}| -\nbr -This command allows a discretionary break, like a word hyphenation, but -will produce different text if the break occurs than when it does not. One use -is for hyphenating German. If -there is a break, the |<prebreak text>| goes on the first line and the -|<postbreak text>| goes on the second line. If there is nobreak, the -|<nobreak text>| is used. - -\mbr -\ext\@|\endnarrowtext| -\nbr -This terminates the group started by the |\beginnarrowtext| -and reverts back to the pre narrow text format. - -\mbr -\pri\@|\everyparagraph [=] {<token string>}| -\nbr -This command allows for the insertion of the |<token string>| at the beginning -of every paragraph, just after the paragraph indentation on the first line -and just before any text. - - -\mbr -\pri\@|\hangafter [+ -] <integer>| -\nbr -This command controls the application of indentation to the next -paragraph. If the sign is positive or does not exist, the indentation applies -to all lines in the paragraph {\bf after} the first |<integer>| lines. If the -sign is negative, it applies to the lines up to and including the |<integer>| -line. This command lasts for only the present paragraph. - -\mbr -\pri\@|\hangindent [=] [+ -] <dimen>| -\nbr -\hangindent = 2cm \hangafter = 3 -This command is used in conjunction with |\hangafter| and determines the -amount and position of the indentation. If the sign is positive or does not -exist the indentation will be at the left margin. If the sign is negative, -the indentation is at the right margin. Indentation means that the width of -the paragraph is reduced by the value of |<dimen>|. This command lasts -for only the present paragraph. For instance this -paragraph was set with |\hangindent = 2cm \hangafter = 3|. - - - -\mbr -\ext\@|\hyphenatecapitals [=] <integer>| -\nbr -When the integer is {\bf not} equal to 0, \tex\ will attempt -to hyphenate words with uppercase letters. - -\mbr -\pri\@|\indent| -\nbr -Changes to horizontal mode and causes the paragraph to be indented by the -|\parindent|. If used in the middle of a paragraph, there will be a space -inserted the size of the |\parindent|. - -\mbr -\pri\@|\leftskip [=] <dimen> [plus <dimen>] [minus <dimen>]| -\nbr -\pri\@|\rightskip [=] <dimen> [plus <dimen>] [minus <dimen>]| -\nbr -\leftskip 0pt plus 1fil \rightskip 0pt plus 1fil -These commands move the edge of the column or page to the center by -|<dimen>| to the center. The |\leftskip| works on the left hand edge and the -|\rightskip| on the right hand edge. -They work on the page and also inside boxes. The -optional glue specifications -determine the raggedness of the placement of the paragraph line on the -page. For instance this paragraph was set with |\leftskip 0pt plus 1fil|. -and |\rightskip 0pt plus 1fil|. The |1fil| glue will -produce a very ragged column. The effect is to allow for any badness and to -suppress all hyphenation. Note the odd spacing in the last line. It is due to -the |1fil| added to the last line of every paragraph. - -\leftskip=0pt \rightskip=0pt - -\mbr -\pri\@|\looseness [=] [+ -] <integer>| -\nbr -This command will cause \tex\ to try and make the {\it current} paragraph -an |<integer>| number of lines shorter if the sign is $-$ and longer if it is + -or does not exist than the natural best number of lines. It is the way of -fine tuning the size of a paragraph. - -\mbr -\pri\@|\noindent| -\nbr -This command changes to horizontal mode and prevents the next paragraph from -being indented. If it used in the middle of a paragraph, it produces a space -equal to the current |\parindent|. - -\mbr -\pla\@|\obeylines| -\nbr -This causes \tex\ to end lines at the same place as they are ended in the -input text. This command changes a line into a very short paragraph -so that each line is indented by the |\parindent|. - -\mbr -\pla\@|\obeyspaces| -\nbr -This makes a space active and causes \tex\ to obey them, {\bf except at the -start of a new line}. It can be used in conjunction with |\obeylines| to -obtain a very rough positioning of text on a page. Except with the -|typewriter| fonts, where all characters have the same width, the two -together will {\bf not} produce text that is positioned as it is seen on the -screen editor. Precise placement of text and columns should always be done -using the alignment capabilities of \tex, namely |\halign| and its relatives. -\sbr -{\obeylines \obeyspaces \parskip = 0pt -This paragraph -has been produced with |\obeylines| -and |\obeyspaces| inside a group. The -group is there to keep their effect local to this -paragraph -only. Note that all the lines -start at the left hand margin.} - -This was produced by - -\begintt -{\obeylines \obeyspaces \parskip = 0pt -This paragraph - has been produced with |\obeylines| - and |\obeyspaces| inside a group. The -group is there to keep their effect local to this -paragraph -only. Note that all the lines -start at the left hand margin.} -\endtt - - -\mbr -\pri\@|\par| -\nbr -This command indicates the end of the current paragraph. A completely blank -line is equivalent to a |\par|. - -\mbr -\ext\@|\paragraphcenterline| -\nbr -\begingroup \paragraphcenterline -This command takes a line in a paragraph and centers it. It also prevents -hyphenation. A forced break occurs if the command |\cr| \cr is placed -|\cr| \cr as shown at the end of the line. This means that if you do not like -the way \intex\ does the line splitting, you can do it yourself \dots\ or at -least command it. -\endgroup - - -\mbr -\pri\@|\parindent [=] <dimen>| -\nbr -This sets the indentation at the beginning of each paragraph to -|<dimen>|. - -\mbr -\pri\@|\parshape <number of lines> <indent 1> <line length 1> - ... <indent n> <line length n>| -\nbr -This command is flexible way of controlling the shape of the current -paragraph. The |<number of lines>| is the number of lines for which -parameters are being given. In this case assumed to be |n|. The -|<indent i>| is the indentation of line |i| and |<line length i>| is the -specified length of that line. All lines from and including |n| will have -the same indentation and length as line |n|. A |\parshape| lasts for only one -paragraph. If there is a |\hangindent \hangafter| pair also in force for the -current paragraph, the |\parshape| takes precedence. \tex\ does not get upset -if the number of actual lines in the paragraph is less than |n|. - - -\mbr -\pri\@|\parskip [=] <dimen>| -\nbr -This sets the size of the vertical skip that is automatically inserted -between paragraphs. - - -\mbr -\pri\@|\pretolerance [=] <integer>| -\nbr -\pri\@|\tolerance [=] <integer>| -\nbr -These two parameters set the amount of badness that \tex\ is willing to -tolerate in a line before succumbing to an overfull box. If |<integer>| is -10000 or more, horrendously bad lines will be allowed and there never will be any -overfull boxes. \tex\ makes two passes through a paragraph. The first time it -allows words to be hyphenated but tries to keep each line badness below the -|<integer>| value of |\pretolerance|. The second time it tries the same -thing, without hyphenation, but keeping the badness below the |<integer>| -value of |\tolerance|. The optimal choice of these parameters depends on your -aversion to hyphenation, and your acceptance of less than beautiful -paragraphs without rewriting. - -\begingroup \raggedright \overfullrule=5pt -\mbr -\pla\@|\raggedright| -\nbr -This command allows the right hand margin to have a ragged edge. It is -done by judiciously choosing the glue parameters for a |\rightskip|. The -balancing allows for hyphenation, and does not produce lines that are too -short. This paragraph was set with the present parameters for |\raggedright|. -Note that it is possible to have overfull boxes. -\endgroup - -\mbr -\pla\@|\ttraggedright| -\nbr -This is similar to |\raggedright| but for use when using |\tt| font. - -\mbr -\pla\@|\veryraggedright| -\nbr -This is similar to |\raggedright| but for use primarily in titles and -captions where raggedness and {\bf no} hyphenation is wanted. - -\endblockmode -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thshead.tex b/macros/inrstex/inrsdoc/thshead.tex deleted file mode 100644 index 02878e65a7..0000000000 --- a/macros/inrstex/inrsdoc/thshead.tex +++ /dev/null @@ -1,295 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{shead} -\def\cqu{\cquote{The chief virtue that language can have is clearness, and -nothing detracts from it so much as the use of unfamiliar -words.}{On the Natural Faculties, Galen } -} - -\chapterhead{shead}{CHAPTER\cr and SECTION\cr HEADS} -\intex\ supplies commands for creating chapter and section heads. The default -style of the heads are those given in this book. They form the basis -of the style that naturally results from the use of \intex. Some changes in -style such as the fonts used are quite easy; others require more care. - -This chapter introduces the commands for creating section heads, whether they -occur during the initial part of the document or within appendices. All of -the commands have the same format with or without autonumbering or automatic -generation of table of contents in force. - -\intex\ considers that a document consists of a {\it prelude} part that will -include the preface, table of contents, and other special summaries, an {\it -interlude} -consisting of chapters and sections, appendices, which may appear at the -end of a document or at the end of a chapter, and a {\it postlude} which -would include, perhaps, an index, references, and even appendices. The {\it -prelude}, appendices, and {\it postlude} are -enclosed by a |\begin...\end...| pair that form a -group and set up the styles appropriate for that section. - -The forms that introduce sections, tables of contents, or chapters all have -commands of the form |\...head|, such as |\shead|, -where the |head| is supposed invoke images -of starting a unit. In \intex, all commands that have a |\begin...| have an -accompanying |\end...| and all create a group. The |\...head| commands are -key elements in controlling the setting and incrementing of the various -numbers used in the document. In addition, they have a relatively complex, -but accessible format part that can be modified if required. - -The section head commands |\chead|, -|\shead|, |\sshead|, |\ssshead|, and -|\dssshead| stand for chapterhead, -sectionhead, subsectionhead, subsubsectionhead, -and diminished subsubsectionhead. This is the only example of commands in -\intex\ for which the abbreviations exist without the full forms. This is -primarily for typing and visual convenience in the original file. The fonts -used have the same abbreviated form. - -If an |\shead| is immediately followed by an |\sshead| or any other -sectionhead form, there is a chance that they may be split apart if they -occur at the bottom of the page. {\bf To prevent this, and to -make the spacing reasonable, the command -|\nosheadbreak| must be placed in between the two commands.} -The general spacing parameters are given in Section \ref{sheadspac}. - -If the |.toc| file is open for making a table of contents list, each section -head form writes information to this file. The actual form sent is determined -by the definition of a |\...tocout| form. For instance the |\shtocout| is -defined as |\def\shtocout{\string\shtoc}|. The |\shtoc| is an \intex\ form -that produces a section head line in the table of contents. - - -\shead{sheadcomlist}{Command List} -\beginthreecolumn -\hfuzz=10pt -\ext|\Alphabetic| -\ext|\alphabetic| -\ext|\Appendix| -\ext|\beginappendices| -\ext|\beginprelude| -\ext|\Chapter| -\ext|\chapterstartform| -\ext|\chead| -\ext|\cheadfont| -\ext|\chnum| -\ext|\chtagreplaceformat| -\ext|\chnumform| -\ext|\chtocout| -\ext|\endappendices| -\ext|\endprelude| -\ext|\dssshead| -\ext|\dsssheadfont| -\ext|\dssshtocout| -\ext|\innerchead| -\ext|\innerdssshead| -\ext|\innershead| -\ext|\innersshead| -\ext|\innerssshead| -\ext|\nosheadbreak| -\ext|\preludehead| -\ext|\prtocout| -\ext|\shead| -\ext|\sheadfont| -\ext|\shnum| -\ext|\shnumform| -\ext|\shtagreplaceformat| -\ext|\shtocout| -\ext|\sshead| -\ext|\ssheadfont| -\ext|\sshnum| -\ext|\sshnumform| -\ext|\sshtocout| -\ext|\ssshead| -\ext|\sssheadfont| -\ext|\ssshnum| -\ext|\ssshnumform| -\ext|\ssshtocout| -\ext|\UpperRoman| -\endthreecolumn - -\shead{sheadcomforms}{Command Forms --- Making Head Forms} -The commands in this section are very similar in form and will be described -in together. There are six predefined |<head types>|: |prelude|, |c| -(chapter), -|s|, |ss|, |sss|, and |dsss|. All but |prelude| and |dsss| take two arguments -in their |\<head type>head| form. - -Number format and font commands are discussed in Section \ref{numforms}. - -\beginblockmode -\mbr -\ext\@|\chead{<number or tag>}{<title>}| -\nbr -\ext\@|\preludehead{<title>}| -\nbr -\ext\@|\shead{<number or tag>}{<title>}| -\nbr -\ext\@|\sshead{<number or tag>}{<title>}| -\nbr -\ext\@|\ssshead{<number or tag>}{<title>}| -\nbr -\ext\@|\dssshead{<title>}| -\nbr -All of these commands create the various forms of section or chapter heads -indicated by the command name. The |<number or tag>| field is interpreted as a -tag if |autonumbering| is on or inserted as is into the appropriate place if -is not. The lack of this field in |\dssshead| and |\preludehead| implies that -it is impossible to tag or refer to these document parts except through -their, presumably known, titles. The tag replacement format and associated -|\<head type>hnumform| are -discussed separately in -Section \ref{numforms}. - -There are some restrictions in the use of the |<title>| field. This should -{\bf not} include |\footnote|, |\cite|, or |\ref| commands. If it is -absolutely necessary to use these, see Chapter~{\ref{footnot}} to see how to -get around the |\footnote| restriction, and use |\quietref{<tag>}| -for the other -two. {\it Quiet} is not quite {\it silent}. - -\mbr -\ext\@|\Appendix| -\nbr -This command defines the actual form that will be seen in an |\shead| used for -appendices. It is defined as ``Appendix'' in |\englishversion| and -``Appendice'' in |\versionfrancaise|. - -\mbr -\ext\@|\beginappendices \endappendices| -\nbr -These commands are intended to enclose the appendices that occur at the end -of a chapter or book. They reset the {\it special} auto numbers, and change -the format of the numbers when an |\shead| or its relatives are called. -|\chead| should not be called in an appendix. -Since the |\begin...\end...| pair form a group, -changes that only affect the appendices are -easily made. - -\mbr -\ext\@|\beginprelude \endprelude| -\nbr -These commands are intended to enclose the prelude that occurs at the -the start of a document. Preludes usually include such entities as prefaces, -tables of contents, figures, and tables, acknowledgments, distribution lists -or perhaps executive summaries. -Since the |\begin...\end...| pair form a group, changes that only affect the -prelude parts are -easily made. -\mbr -\ext\@|\Chapter| -\nbr -This command defines the actual form used in a |\chead|. -It is defined as ``Chapter'' in |\englishversion| and -``Chapitre'' in |\versionfrancaise|. - -\mbr -\ext\@|\chapterstartform = {<special pre chapter tests>}| -\nbr -The token list for this command is executed inside |\chead| before the -first page of the chapter is produced. For this book it was used to check -whether the chapter starting page was odd. If it was not, a ``quote'' page -was produced. - -\endblockmode - -\shead{numforms}{Command Forms --- Number Formats} -The number formats when autonumbering is in force are defined using a few -commands. First the fonts in the various head forms are called -\@|\<head type>headfont|. These are defined when a document font size (see -Chapter \ref{fonts}) is defined. For example -|\documentfont{\tenpoint}| determined the document font family for this book. -The individual fonts may be changed, although it is not recommended, by -changing the |\<head type>headfont|. For example, -|\let\sheadfont = \twelvedu| will change the section head font for the rest -of the document, or until the end of the group if it is called within a -group. A change of this sort will not modify the other fonts. - -The number formats are modified by changing the |\<head type>hnumform| such as -|\chnumform|, |\shnumform|, |\sshnumform|, |\ssshnumform|, -respectively for the chapter and the various section heads. -\@|\Alphabetic{<integer>}|, \@|\alphabetic{<integer>}|, and -\@|\UpperRoman{<integer>}| are used to change the format of an integer -(counter) to either the equivalent uppercase letter, lowercase letter -or uppercase roman numeral. -The \intex\ forms for |\<head type>hnumform| are -\begintt -\def\<head type>hnumform{\the\<head type>hnum} -\endtt -for all |<head type>| except that in appendices |\shnumform| is defined to be -\begintt -\def\shnumform{\Alphabetic{\the\shnum}} -\endtt -This effectively changes the appendix numbering to be roman capitals. - -The command \@|\chtagreplaceformat| is the actual command that is used to -place the ``Chapter \ref{shead}'' at the beginning of this chapter. The -two definitions involved in this replacement are -\begintt -\def\chtagreplaceformat {Chapter \chtagrefformat} -\def\chtagrefformat {\chnumform} -\endtt -The \@|\shtagreplaceformat| is -defined similarly and is used in |\sheads|. - -A change in the form of the command written to the table of contents file may -be obtained simply by redefining the appropriate |\...tocout|. - - -\shead{sheadspac}{Command Forms --- Section Head Spacing} -The spacing both before and after the various |\...head|s are determined by -the following parameters. Stretch and shrink glue should be specified to give -\tex\ some freedom to break pages. -\bshortcomlist -\ext\@|\prsheadskip [=] <glue>|& pre shead skip \cr -\ext\@|\posheadskip [=] <glue>|& post shead skip \cr -\ext\@|\prssheadskip [=] <glue>|& pre sshead skip \cr -\ext\@|\possheadskip [=] <glue>|& post sshead skip \cr -\ext\@|\prsssheadskip [=] <glue>|& pre ssshead skip \cr -\ext\@|\posssheadskip [=] <glue>|& post ssshead skip \cr -\ext\@|\prdsssheadskip [=] <glue>|& pre dssshead skip \cr -\ext\@|\podsssheadskip [=] <glue>|& post dssshead skip \cr -\eshortcomlist - - -\shead{genform}{Major Modifications of the Section Head Formats} -\intex\ has separate |\cheadformat|, \@|\preludeheadformat|, and a very -general section head format. These are easily modifiable without upsetting -any of the houskeeping. Any format that satisfies the input parameter -constraints will work. - -\beginblockmode -\mbr -\ext\@|\cheadformat{<chapter>}{<text>}| -\nbr -The |<chapter>| is the chapter identifier. In this chapter it was -{\bf Chapter~\ref{shead}}. The |<text>| is title of the chapter. The -particular form was built using |\vcenter| and |\halign|. - -\mbr -\ext\@|\gensheadformat{<font>}{<number>}{<text>}{<separator>}| -\nbr -This command uses four parameters. The first is the font, the second the -number, the third is the title of the section and the fourth is the separator -between the number and the text. The form that is used checks the number to -see if it is empty. If it is, the |<text>| is placed flush left. The |<text>| -is actually placed in a |\vbox| with |\veryraggedright| spacing so that there -will be no hyphenation and long titles will automatically split. Details are -in {\tt secthead.tex}. - -\mbr -\ext\@|\preludheadformat{<title>}| -\nbr -This command is defined with one parameter that is assumed to be the title of -the particular section. Since this one is quite simple the default definition -is given as -\begintt -\def\preludeheadformat#1{\centerline{\sheadfont #1}\vskip 1cm} -\endtt -\endblockmode -\ejectpage -\done - - - - - diff --git a/macros/inrstex/inrsdoc/thspac.tex b/macros/inrstex/inrsdoc/thspac.tex deleted file mode 100644 index 47e524eab4..0000000000 --- a/macros/inrstex/inrsdoc/thspac.tex +++ /dev/null @@ -1,204 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{spac} - -\def\cqu{\cquote{It is a very sad thing that nowadays there is so little useless -information.}{Oscar~Wilde (1854-1900)}} - -\chapterhead{spac}{SPACING} -This chapter discusses the various mechanisms in \tex\ for creating and -controlling spaces in a document. All spacing involves the insertion of glue -that may or may not have stretch or shrink. This chapter also includes a -description of |\beginttverbatim...\endttverbatim| that allows text to be -inserted in a typewriter font with the original spacing. It is useful for -such things as computer listings. - -{\bf You should never need to use |\vskip| or |\hskip| or its relatives -while using \intex\ \dots\ except perhaps when trying to place boxes on a -page.} \intex\ has easily modified parameters for all spacing. If you don't -like the spacing before or after an |\shead|, check first that there is no -underfull box and then modify |\prsheadskipsize| and |\posheadskipsize| as -necessary. - -\shead{spacomlist}{Command List} -\begintwocolumn -\ext|\beginttverbatim| -\pla|\bigskip| -\ext|\endttverbatim| -\pla|\enskip| -\pri|\hskip| -\pri|\kern| -\pla|\medskip| -\pri|\mkern| -\pri|\mskip| -\pla|\quad| -\pla|\qquad| -\pla|\smallskip| -\ext|\spacing| -\pri|\vglue| -\pri|\vskip| -\endtwocolumn - -\shead{basicspac}{Basic Spacing Mechanisms} -The basic spacing commands in \tex\ are |\hskip|, |\vskip|, and |\mskip| that -are used in horizontal, vertical and mathematics mode respectively. All of -these take |<glue>| in the standard form of -|[+ -] <dimen> [plus <dimen>] [minus <dimen>]| except |\mskip| which -must have |<mudimen>| or units of |mu|. The stretch and shrink -parameters are optional but the first |<dimen>| is not. In general \tex\ allows -for line or page breaks to occur after glue in a list. If spacing is desired -without the possibility of breaks or glue disposal, then the commands -|\kern| and |\mkern| are -used. These are the ones used for placing accents. - -When \tex\ breaks a page or a line, the glue at the beginning of the line or -page is discarded, unless it is put there via a |\kern|. This means that a -special command is needed to force glue at the top of a page. This command is -|\vglue|. It is like |\vskip| but works at the top of the page. - - -Special preset skips in vertical mode are |\smallskip|, |\medskip|, -|\bigskip| and for horizontal mode |\quad|, |\qquad|, and |\enspace|. The -latter three are font size dependent and also will work in math mode. - -Finally |\spacing| is an \intex\ command that allows for a changing of the -spacing between the lines of a document. For instance |\spacing{1.5}| will -produce 1.5 line spacing. |\spacing| modifies the vertical skip that \tex\ -puts between adjacent lines. {\bf However, lists, -the various types of section heads, figure and table captions, and footnotes -are all forced to be single spacing.} All those forms that have an -|\every...| may be modified. For example -|\everylist = {\spacing{1.5}}| -will force every list to have 1.5 spacing. If |\everysublist| and -|\everysubsublist| have not been modified, sublists and subsublists will also -be spacing 1.5. - - -\shead{verbatim}{Verbatim or ``No Fill'' Forms} -\intex\ supplies, as an external command list, a method of producing a -listing with the same spacing that exists in the original form. This is only -supplied for typewriter |\tt| fonts as these are the only monospaced fonts -available. For a monospaced font, all characters are the same width so that -it is possible to ensure that spacing will be identical to that seen on a -normal typewriter or terminal screen. All characters except the backslash -``~|\|~'' are allowed. -For example -\begingroup \catcode`\^=7 -\beginttverbatim -This is - an example - where the - first word of each - line starts below the - second one of - the previous line. -\endttverbatim -\catcode`\^^M=13 \global\let^^M=\par\endgroup -It was given by the following code -\begintt -\beginttverbatim -This is - an example - where the - first word of each - line starts below the - second one of - the previous line. -\endtt -|\endttverbatim| - -\shead{spaccomforms}{Command Forms} -\beginblockmode -\ext\@|\beginttverbatim| -\nbr -Begins a section of ``verbatim'' or ``no fill'' mode in typewriter font. All -characters except the backslash ``~|\|~'' are allowed. This form must -terminate with an |\endttverbatim|. At the cost of a one character offset, -the |\def\@{\char'134}| will drop a |\| in using |\@|. - - -\mbr -\pla\@|\bigskip| -\nbr -Vertical skip of size \quad\vbox{\hrule width .25in\bigskip\hrule}. - -\mbr -\ext\@|\endttverbatim| -\nbr -Ends a section of ``verbatim'' or ``no fill'' mode in typewriter font. All -characters except the backslash ``~|\|~'' are allowed. This form must -begin with a |\beginttverbatim|. - -\mbr -\pla\@|\enskip| -\nbr -Horizontal skip of \hbox{\strut\vrule\enspace\vrule} -- one |\enspace| or -.5em. - -\mbr -\pri\@|\hskip [+ -] <dimen> [plus <dimen>] [minus <dimen>]| -\nbr -This is the basic positive and negative skip in horizontal mode. - - -\mbr -\pri\@|\kern [+ -] <dimen>| -\nbr -This produces an unbreakable space vertically, in vertical mode, and -horizontally, in horizontal mode. - -\mbr -\pri\@|\mkern [+ -] <decimal number>mu| -\nbr -This is the basic unbreakable space in math mode. It is always in |mu| units. -Note that there are 18 |mu| to an |em|. For instance |$]\mkern -1mu[$| gives -$]\mkern -1mu[$. - -\mbr -\pri\@|\mskip [+ -] <mudimen> [plus <mudimen>] [minus <mudimen>]| -\nbr -A |<mudimen>| is |<decimal number>mu|. This is the basic horizontal -math |mu| skip with glue. It is valid only in math mode. - -\mbr -\pla\@|\medskip| -\nbr -This is a vertical skip of the size \quad\vbox{\hrule width .25in\medskip\hrule}. - - - -\mbr -\pla\@|\quad \qquad| -\nbr -These are horizontal skips of 1em and 2em respectively. They correspond in -this font to \hbox{\strut\vrule\quad\vrule} and -\hbox{\strut\vrule\qquad\vrule} respectively. - -\mbr -\pla\@|\smallskip| -\nbr -This is a vertical skip of the size \quad \vbox{\hrule width .25in\smallskip\hrule}. - -\mbr -\ext\@|\spacing {<decimal number>}| -\nbr -The spacing becomes |<decimal number>| times the normal spacing. The normal -spacing is usually referred to as {\it single} spacing. - - - -\mbr -\pri\@|\vglue [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>]| -\nbr -This puts nondiscardable glue into a vertical list. It is usually used to -put a vertical skip at the top of a page. - -\mbr -\pri\@|\vskip [=] [+ -] <dimen> [plus <dimen>] [minus <dimen>]| -\nbr -This is the standard vertical skip command. If used in horizontal mode, it -automatically causes a switch to vertical mode. - -\endblockmode -\ejectpage -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thstart.tex b/macros/inrstex/inrsdoc/thstart.tex deleted file mode 100644 index 9260e99338..0000000000 --- a/macros/inrstex/inrsdoc/thstart.tex +++ /dev/null @@ -1,397 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\marginnotestrue -\chcode{start} -\def\cqu{} - - -\draftversion -\chapterhead{start}{STARTING\cr STOPPING\cr and FINISHING} -This chapter discusses the commands that are required to actually process -a \tex\ or \intex\ document, and to answer the ``|?|'' when \tex\ runs into an -error. -Section~{\ref{printing}} gives the most important options available in \tex print, -the program that actually prints the \intex\ file. - -Since the initial production of a document is almost always in the ``draft'' -mode, the - \intex\ default is |\draftversion|. This mode includes the ``{\eightrm Draft -Version :} {\eightit Date}'' at the bottom of the page and margin notes that -include {\it tags} and their values. This version of the book was a produced -with |\draftversion| but with |\marginnotesfalse| for all but this chapter -and the one on auto numbering and tagging (\ref{auto}). The really {\bf final} version of -this book will probably be produced with -|\finalversion|. -Section~\ref{finalversion} discusses the changes to make when -processing the ``final'' version of a document. - -\intex, especially in conjunction with Multilingual \mtex, supports both -English and French \dots\ in the same document on a paragraph by -paragraph basis. English, -both for \intex\ messages and hyphenation is the default and is called by -|\englishversion|. |\versionfrancaise| invokes -French messages, hyphenation, and spacing. -To change only the hyphenation and spacing, |\ehyph| is used for -English and |\fhyph| is used for French. - - -\shead{startcom}{Command List} -The commands in this list are organized in three sections, -Creation, Termination and Language, -\tex print, and ``?'' answer and interrupt. -The Language commands include those related to choosing the -particular language (French or English) and efficient commands for just changing -spacing and hyphenation rules and not the messages. -\comhead{Creation, Termination and Language Commands} -\begintwocolumn -\pla|\bye| -\ext|\done| -\ext|\draftversion| -\ext|\ehyph| -\pri|\end| -\ext|\englishversion| -\ext|\fhyph| -\ext|\finalversion| -\pri|\hyphenation| -\ext|\language| -\ext|\marginnotestrue| -\ext|\marginnotesfalse| -\ext|\versionfrancaise| -\endtwocolumn - -\shead{Doc}{Document Creation} -To create a document, you first need something to write. Enter -the text into a file on whatever system you are using. In this book it is -assumed that the system you are using is a VAX11/780 running the VMS operating system with -the appropriate file names or system conventions. - -There are basically three steps to producing a document. The first is to enter -the information, with all of the appropriate \tex\ conventions into a file. -The second is for \tex\ to process it, and the third is for \tex print, -\tex's printing system to print it out. Any output device that supports -typesetting can be used if it has been properly configured for \tex. -This could be a dot matrix printer (heaven forbid), a phototypesetter -such as the Alphatype, or PostScript laser printer. - -\shead{docprep}{Preparing the File} -All that is required to prepare the file is to create the file using your -favourite editor. You might try the example given in Chapter \ref{descom}. -A file of \tex\ commands is normally given the name |<your file name>.tex| -and it can be referred to by only |<your file name>| with \tex\ automatically -extending it. To tell \intex\ that the your file has is completed, the -command |\done| should be the last command in the file. \tex\ will ignore -everything after a |\done|. |\done| not only terminates the file, it also -{\it fills} the last page so that the spacing is correct. The primitive -command for \tex\ to terminate processing is |\end|. This is {\bf not} -recommended while using \intex\ because the last page is not reasonably -processed and it will terminate processing while inside a subdocument, -something not ordinarily desired (see Chapter~\ref{subdoc} for discussion on -the details of subdocuments). - -{\it Plain} \tex\ supplies the command |\bye| which has an -|\end| imbedded in it and also cleans up the last page. |\done| is -similar but has a few additional features including a compatibility -with the |\subdocumentmacros| commands. |\done| is recommended -for use in \intex. - - -\shead{subfile}{\tex ing a File} -After the file has been completed, you leave the editor and return to the -operating system where you will be greeted by the prompt of a \$\ sign. -For example if the 23$^{rd}$ psalm file is called |psalm23.tex| then -\begintt -$inrstex psalm23 -\endtt -This will submit the job. -If you forget to put in your file name, \tex\ will return with its -interactive prompt, the |*|, and ask you for a file name. -At this point you will see the following on your -screen. - -\begingroup \eightpoint -\begintt -This is MLTeX, Version 3.1+ -(psalm23.tex [1] ) -Output written on psalm23.dvi (1 page, 540 bytes). -\endtt -\endgroup -Do not be deceived. \intex\ was indeed loaded \dots\ the evidence will be in -the |psalm23.lis| file. The directories containing the files are completely -given, and will be yours instead of that shown. The |psalm23.log| shows that -\intex\ was indeed preloaded. This file contains - -\begingroup\eightpoint -\begintt -This is MLTeX, Version 3.1+ (format=inrs3_mlb 91.8.22) 2 SEP 1991 02:59 -**&/usr/users/u1/mike/inrstex/inrs3_mlb psalm23 -(psalm23.tex [1] ) -Output written on psalm23.dvi (1 page, 540 bytes). -\endtt -\endgroup -The version numbers, for both \tex\ and \intex\ will vary with time and -installation. -If you are not using ML\TeX\ the two ``version'' lines will be more -like -\begingroup\eightpoint -\begintt -This is TeX, Version 3.14 - -or - -This is TeX, Version 3.14 (format=inrs3_mlb 91.8.22) 2 SEP 1991 02:59 - -\endtt -\endgroup -for the terminal and list file respectively. - -The default form of the interaction of \tex\ with you is to stop on an error. -At an error, the display will halt and \tex\ gives you a ``~{\tt ?}~'' as a prompt. At -this point if you reply with an |x| or an |e|, the job will terminate cleanly -and you can print what you have to that point. An |s| will cause \tex\ to -continue, but not to pause for further errors; a |<cr>| will continue to the -next error; an |r| is like |s| but will not stop even if it cannot find a -file; a |q| is a nonstop mode that also suppresses all output to your -terminal. - - -Sometimes \tex\ seems to be in deep trouble and cannot extricate itself. At -this point |^C| or |<control> C| will send \tex\ a message that it should -stop. It will after the end of its present command, and return to you the -``~{\tt ?}~''. At that point an |x| will terminate the job, {\bf and} give you output -that you can print. If all else fails, a |^Y| will terminate the job, -uncleanly, and there will be no help to fix it. - -Sometimes \tex\ stops with an |*|. When this happens \tex\ is looking for a -command. Usually an |\end| or |\done| will satisfy it and terminate cleanly. - -Finally, \tex\ sometimes has trouble reading a file and asks for another name. -The only way out of this, cleanly, is to give it a file name. You should have -an empty or |null.tex| in your directory for such eventualities. This will -allow \tex\ to continue whereupon a |^C| will interrupt. - - -\shead{additionalfiles}{Additional Files} -Whenever \tex\ processes a job (your file), it creates an internal name that -is referred to in a \tex\ file as \@|\jobname|. This is the same as the file -name submitted to \tex\ or \intex\ {\bf without} the |.tex| extension. - -Both \tex\ and \intex\ use this |\jobname| to create other files with -different extensions. All \tex\ and \intex\ jobs create -create a second file -called |\jobname.lis|. In this file is a complete listing of the -messages and prompts sent to your terminal along with information about -problems that may have existed. It is useful for correcting errors. -If there is any output that can be printed, this is placed in a file with the -name |\jobname.dvi|. This is the file used by \tex print. - -In addition to these two files, \intex\ creates and uses files for special -purposes such as building table of contents, lists of figures, or -citation lists. These are only produced when some automatic feature of -\intex\ is active. The complete list of these files is -\bshortcomlist -|\jobname.ctg|&created by the first |\cite| command used to accumulate the -citation tags for a list of citations or references.\cr -|\jobname.cfm|&{\bf NOT} created by \intex\ but by the user. This file holds -the citation forms to be used when actually printing the citation in the list -of citations. \cr -|\jobname.dvi|&created by \tex\ for any (partly) successful \tex\ or \intex\ -job. This is used by \tex print.\cr -|\jobname.fig|&created with a |\openlistfile{fig}| and used to accumulate -the figure list.\cr -|\jobname.lis|&created by \tex\ for all jobs. This contains the terminal -messages and errors along with more detail on overfull boxes.\cr -|\jobname.tag|&created by |\autonumberingon| and used to accumulate the tags -and other special information necessary for symbolic references to sections, -equations, etc in the text.\cr -|\jobname.tbl|&created with a |\openlistfile{tbl}| and used to accumulate -the table list.\cr -|\jobname.toc|&created with a |\openlistfile{toc}| and used to accumulate -the table of contents.\cr -\eshortcomlist - -\shead{printing}{\tex print --- Printing your Document} -After \tex\ has successfully produced your |.dvi| file it is submitted for -printing, using the same example, by -\begintt -$dvialw psalm23 -b -\endtt -\intex\ makes the same irrational assumptions of drivers as other macro -packages such as {\tt plain}, namely that the initial position -on the page is at (1in, 1in). However these assumptions are not hard wired. -\intex\ has two commands |\hprintoffset| and |\vprintoffset| which are -given default values of 1in respectively. These may be changed at will. - -\beginblockmode -\ext\@|\hprintoffset = <dimen>| -\nbr -This offsets, horizontally, -\intex's natural margins, which would be flush with the top of -the page by {\tt <dimen>}. The default is |\hprintoffset = 1in| - -\mbr\ext\@|\vprintoffset = <dimen>| -\nbr -This offsets, vertically, -\intex's natural margins, which would be flush with the top of -the page by {\tt <dimen>}. The default is |\vprintoffset = 1in| -\endblockmode - - -The {\tt -b} option prints the pages {\tt backwards}, really normal, -order from the lowest number to the highest. A simple batch file can hide -this messiness\footnote{\dagger}{For the INRS/BNR VAX } -use {\tt HELP DVIALW to find a list of all the command line options.}. -The most important command line option that you can use gives -the ability to print only -a few pages of the file. {\tt DVIALW} reports output pages as $[p\{l\}]$ -where $p$ is the {\it physical} page number and $l$ is the {\it logical} -page number. -The first example will print from {\it physical} page 6 to the end of the -document. The second example from page 6 to page 12, and the third example -from page 6 to page 12 in steps of 2, {\it ie} pages 6, 8, 10, and 12. - - -\beginttverbatim -$dvialw psalm23 -b -o6 -$dvialw psalm23 -b -o6:12 -$dvialw psalm23 -b -o6:12:2 -\endttverbatim - - -\shead{finalversion}{The ``Final'' Version} -\intex\ has number of features that are quite useful while putting together a -document but which appear in the ``draft'' version but not in the ``final'' -version. -The default for \intex\ is |\draftversion|. This puts all the tags in -the margin and puts ``Draft Version: -{\it date}''\footnote{\dagger}{version pr\'eliminaire: {\it date} en -fran\c cais} at the bottom of the page. To create the final version the -command |\finalversion| should be put at the very beginning of your document. - - -\shead{stcomforms}{Command Forms} -\nosheadbreak -\dssshead{Creation and Termination Commands} -\beginblockmode -\pla\@|\bye| -\nbr -Cleanly terminates a file. Actual meaning is -``|\par \vfill \supereject \end|''. However, it will also {\bf terminate} -\tex\ processing if found in a {\it subdocument.} See Chapter~\ref{subdoc} -for details. - -\mbr -\ext\@|\done| -\nbr -This is the only way to terminate a document or subdocument in -\intex\ without creating problems. -Does everything |\bye| does along with checking whether certain groups are -properly ended. - -\mbr -\ext\@|\draftversion| -\nbr -This is the \intex\ default form. It prints margin notes when tags and -autonumbering are used and puts a draft version note in the bottom margin. It -is turned off using |\finalversion|. - -\mbr -\pri\@|\end| -\nbr -Terminates a \tex\ job, even if it is in a subdocument. See -Chapter~\ref{subdoc}. - -\mbr -\ext\@|\englishversion \ehyph| -\nbr -This is the default for \intex. All the messages are in English, along with -the various headings such as Chapter, and Appendix. Hyphenation is done by -English rules, as is sentence and word spacing. -\@|\ehyph| just invokes English hyphenation rules and does not affect messages. -The other version that exists -is |\versionfrancaise| - -\mbr -\ext\@|\finalversion| -\nbr -This removes the marginal notes and the ``Draft Version'' note in the bottom -margin. It should be used for the ``final'' copy. - -\mbr -\ext\@|\hyphenation{<exceptions>}| -\nbr -This command is used to correct hyphenation of a specific word when \tex\ -does it incorrectly. It is generally needed only for English. Without \mtex, -the word is entered into the hyphenation exception table. With \mtex, it is -entered into the hyphenation table corresponding to the language that is -active at the time the command is executed. For example, if English -(|\language=0|) is active, then |\hyphenation{man-u-script}| will enter the -word ``manuscript'' into the hyphenation exception table with possible -hyphens at those places where there is a ``~-~''. - -\mbr -\ext\@|\language [=] <integer>| -\nbr -Normally this command will not need to be used. \intex\ has |\language=0| for -English and |\language=1| for French. Additional languages may be added. If -\intex\ is used in conjunction \mtex, then |\language| is an integer -parameter; otherwise, it is a |\count|. For details on \mtex, see ``A -Multilingual \mtex''. - - -\mbr -\ext|\marginnotestrue \marginnotesfalse| -\nbr -If \@|\marginnotestrue|, then the margin notes will be produced. They will -not be produced when \@|\marginnotesfalse|. These can be used to override the -defaults in |\draftversion| and |\finalversion|. - -\mbr -\ext\@|\versionfrancaise \fhyph| -\nbr -This will produce French titles, messages, and spacing. When used with -Multi-lingual \mtex, it also produces French hyphenation. -\@|\fhyph| just invokes French hyphenation rules and does not affect messages. -It should be placed at the beginning of the -file. -\endblockmode -\dssshead{\tex print Commands} -These commands are dependent upon the actual print driver that is being -used. For DVIALW the following command line switches are used: - -\beginblockmode -\@|DVIALW Command line options| -\nbr -\endblockmode -\bl -\li -b : Print the file in normal order. The default is to print the file - beginning with the last page. - -\li -c\# : Select the number of copies to print ... each page is printed - \# times. eg -c42 will print 42 copies of each page. - -\li -h : Select landscape printing. - -\li -i : Select Legal printing. - -\li -o : Select output page range ... all numbers are the "physical" page - numbers, not the logical pages. DVIALW reports page output in the - format of [p{l}] where where p is the "physical' page number and - l is the "logical' page number. - - -o\# specifies start page - - -o\#:\# specifies start page and end page - - -o\#:\#:\# specifies start page, end page and step - -\li -r : Select manual feed. The laserwriter will wait for the insertion of - manual pages. - -\li -x\#{\tt <}dim{\tt >} : Set left margin. -x0in sets the left margin to 0in. - -\li -y\#{\tt <}dim{\tt >} : Set top margin. -y0in sets the top margin to 0in. -\el -\ejectpage -\marginnotesfalse -\done - diff --git a/macros/inrstex/inrsdoc/thsubdoc.tex b/macros/inrstex/inrsdoc/thsubdoc.tex deleted file mode 100644 index 88c2933a46..0000000000 --- a/macros/inrstex/inrsdoc/thsubdoc.tex +++ /dev/null @@ -1,157 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{subdoc} - -\def\cqu{\cquote{Divide et Impera}{Ancient Roman political maxim} - \cquote{For example, when the author prepared this manual, he did - one chapter at a time,}{The \TeX book, Donald~E.~Knuth} -} - -\chapterhead{subdoc}{\tex ING\cr PARTS\cr of DOCUMENTS} -\intex\ allows for parts of documents,\footnote{\dagger}{\intex\ calls these -{\it subdocuments}.} -either complete sections or chapters -to be processed individually for initial checking before \tex ing the entier -document. The individual files can be used {\bf without change} in the final -processing. In fact it is possible to \tex\ sections, combine them into a -chapter, and then combine the chapters into a final document. With care, even -parts of separate documents could be combined. - -The system works best with the automatic numbering and creation features of -\intex\ but these are not required. With care and a little luck, it is -possible to re \tex\ a section of the ``final'' version without redoing the -complete document. - -It is also possible to increase to automatically save the status of a -subdocument. This feature is not an integral part of \intex\ but an example -used for this book is given in Section~\ref{subauto}. - - -\shead{subdoccomlist}{Command List} -\line{ -\ext|\inputsubdocument|\hss -\ext|\following|\hss -\ext|\subdocumentmacros| -} - -\shead{subdocformat}{Subdocument Forms} -The form required for creating a subdocument and \tex ing it is quite simple. -It should be of this form: -\begintt -\subdocumentmacros{<macro list>} -<text> -\done -\endtt -The |<macro list>| contains the information needed to \tex\ this part of the -document by itself. Only {\bf one} |\subdocumentmacros| command is allowed in -a subdocument. This |<macro list>| is executed when the subdocument is -processed by itself and {\bf completely} ignored when it is processed as part -of a larger document. A typical |<macro list>| for a chapter of this book -was -\begintt -\input helphdr -\following\chnum = 28 -\pagenumber = 88 -\endtt -This list contained {\bf all} the special macros for the book in the file -|helphdr.tex|. Since the \tex ing was being done on a chapter basis, the -|\following\chnum| sets the next chapter -number, and the |\pagenumber| set the -pagenumber. If this were the third section in a chapter, then -|\following\shnum = 3|, might be also included. If any special numbers ought to be -set, they should be also inserted. - -It should be emphasized that these numbers affect the subdocument when it is -being processed by itself only. The normal \intex\ autonumbering will override -them when it is being inserted as a subdocument. -To insert a subdocument in another, use -\begintt -\inputsubdocument{<filename>} -\endtt -The |\done| in the subdocument will {\bf not} terminate the -processing. However, a |\bye| or |\end| will. - -\shead{subauto}{Automatic Saving of Status of a Subdocument} -The commands given below were intended to save the status of each chapter. It -was assumed that a chapter had a |<tag>| and that the status was saved in a -command that had the same name as that tag. The commands are stored in a file -called |status.tex|. At the top of each subdocument the following two -commands are inserted: -\begintt -\ifundefined{writestatus} \input status \relax \fi % -\chcode{subdoc} % subdoc is the <tag> for this chapter -\endtt -The first line essentially checks to see if the |status| definitions have -been inputted. If they have not, they are brought in. The |status.tex| -defines |\chcode{<tag>}| so it must be input before |\chcode| is called. -The actual |status| definitions follow. They are probably only understandable -to \tex\ writers and should be skipped by novices. -\begingroup\eightpoint -\begintt -% Status commands for each chapter. -% these write out the chapter code, page number, and previous chapter number. - -\newwrite\docstatus % gets new output file -\def\openstatusfile{\immediate\openout\docstatus=\jobname.sta} - % this is called in the outer master program -\def\closestatusfile{\closeout\docstatus} -\def\writestatus#1{\immediate\write - \docstatus{\string\chstatus//#1//\the\chnum//\the\pageno//}} - % this writes out the actual string when the page is output -\def\chstatus//#1//#2//#3//{\expandafter\def\csname#1:\endcsname{\chnum=#2 - \pagenumber=#3}} - % this creates a command with the name #1 and sets values for - % the chapter number and page number ... the only status of - % interest here. -\def\getstatus#1{\csname#1:\endcsname} - % executes the status with name #1 -\def\chcode#1{\subdocumentmacros{\input helphdr \bookstyle % macros/style - \input masth.sta % status file name - \autonumberingon % opens local tag file - \input masth.tag % master tag file - \getstatus{#1} - \def\writestatus##1{}%disables writestatus - } - \writestatus{#1}} % will write status unless disabled -\endtt -\endgroup -Note that this imbeds a |\subdocumentmacros| inside the |\chcode|. The status -is written unless |\subdocumentmacros| is actually executed. - - - -\shead{subdocstyle}{Command Forms} -\beginblockmode -\ext\@|\inputsubdocument{<file name>}| -\nbr -This command inserts the subdocument into the present part of the document. -It encloses the subdocument in a group so that any changes to variables or -commands made in that subdocument, unless they are specifically |\global|, -will {\bf not} affect the rest of the document. It disables the effect of -|\done|, but not |\bye| or |\end|. It ignores everything that is inside the -|\subdocumentmacros| command. - -\mbr -\ext\@|\following\...hnum| -\nbr -The |\chead| and various |\s..head| commands increment their respective -number upon entering the command. The |\following| command automatically -compensates for this. So |\following\chnum = 4| {\bf before} the -|\chead|, means that the chapter beginning with the next |\chead| will -be 4 -and not 5. The same command also works for |\shnum|, |\sshnum| and |\ssshnum|. - -\mbr -\ext\@|\subdocumentmacros{<macros for subdocument>}| -\nbr -This is the means of introducing information to the subdocument that is -needed to reasonably process the subdocument, -but that might create disaster, or \tex\ -overload if read in more than once. A single subdocument may have only {\bf -one} |\subdocumentmacros| command. Typical information included in this macro -would be section numbers, chapter numbers, tag files, or citation files. No -|\outer| command is allowed. -\endblockmode -\ejectpage - -\done \ No newline at end of file diff --git a/macros/inrstex/inrsdoc/thtoc.tex b/macros/inrstex/inrsdoc/thtoc.tex deleted file mode 100644 index 301c5a4e04..0000000000 --- a/macros/inrstex/inrsdoc/thtoc.tex +++ /dev/null @@ -1,323 +0,0 @@ -%-*-tex-*- -\ifundefined{writestatus} \input status \relax \fi % -\chcode{toc} - -\def\cqu{\line{}\vfill\vbox{\hsize 3.2in \rightskip=0pt \leftskip=0pt - \centerline{\sheadfont List of Figures} - \bigskip - \makefiglist\bigskip - This is given by \par - \def\2{\char'173}\def\3{\char'175} % lazy - \tt - \1centerline\2\1sheadfont List of Figures\3\par - \1bigskip\par - \1makefiglist\par - } -} - -\chapterhead{toc}{TABLES\cr of CONTENTS\cr and FIGURES} -\vskip -2.8ex -\intex\ is able to generate tables of contents, figures, and tables -automatically. It also has general capabilities to create files that can be -used to generate other lists that involve page numbers. - -\shead{toccomlist}{Command List} -\beginthreecolumn -\ext|\chtoc| -\ext|\chtocout| -\ext|\dssshtoc| -\ext|\dssshtocout| -\ext|\figtoc| -\ext|\figtocout| -\ext|\inputfigfiles| -\ext|\inputtblfiles| -\ext|\inputtocfiles| -\ext|\intdssshtoc| -\ext|\intssshtoc| -\ext|\makefiglist| -\ext|\maketbllist| -\ext|\maketoclist| -\ext|\newtocfile| -\ext|\openlistfile| -\ext|\prtoc| -\ext|\prtocout| -\ext|\shtoc| -\ext|\shtocout| -\ext|\sshtoc| -\ext|\ssshtoc| -\ext|\ssshtocout| -\ext|\tbltoc| -\ext|\tbltocout| -\ext|\tocbox| -\ext|\tocfill| -\ext|\writelistfile| -\endthreecolumn - -\shead{toclists}{Making Lists of Contents, Figures, Tables} -The distinguishing feature of |list| files in \intex\ is that they contain -a combination of commands, section or figure numbers, and page numbers. -\intex\ creates these files by the command \@|\openlistfile{<file extension>}| -and gives them the name |\jobname.<file extension>|. -This command effectively initializes the building process for the particular -list. -|<file extension>| must -be one to three characters. The file extensions for tables of contents, -figures, and tables are |.toc|, |.fig|, and |.tbl|. - -The command |\writelistfile| is used to actually put information into the -file and the |\make<file extension>list| is used to bring it back in. -Currently |\maketoclist|, |\makefiglist|, and |\maketbllist| are defined. - -These files will contain a list of commands, in the correct order for -eventually making the actual list. A typical command, in this case generated -by the |\chead| at the beginning of the chapter would be - -|\chtoc{<chapter number>}{<chapter title>}{<page number>}| - -Actually the |\chead| command does this in two steps. The actual form -executed inside the |\chead| is the command |\chtocout|. This is defaulted in -{\tt inrsdef.tex} to be |\def\chtocout{\string\chtoc}|. A modification of the -definition of |\chtocout| will change the initial command string that is -written to the |.toc| file. Theoretically, a different string could be -written for each chapter if required. This same facility exists for all the -|.toc| output forms. - -\intex\ has already defined all of the |\<type>toc| commands listed in -Section \ref{toccomlist}. However, all of these commands may be redefined for -different formats. For instance \intex\ has defined |\dssstoc| and |\ssstoc| -to be effectively null. This means that subsubsections and diminished -subsections will not be automatically listed in the table of contents -although the |\ssstoc| and |\dssstoc| commands are in the |.toc| file. - -If a |.toc| file is open, whether or not |autonumbering| is on, the |\chead|, -|\shead|, |\sshead|, |\ssshead|, |\dssshead|, and |\preludehead| commands write to -the |.toc| file. The |\figure| command writes a |\figtoc| command to the -|.fig| file and the |\table| command writes a |\tbltoc| command to the |.tbl| -file. - -Creating, writing, and inputting a new list file is not terribly difficult -but uses moderately advanced macro techniques. Most of the recipe is given -in the description of |\writelistfile| below. The rest can be determined by -examination of |\makefiglist| and |\inputfigfiles|. - -\shead{toccomforms}{Command Forms} -\beginblockmode -\ext\@|\chtoc{<number>}{<title>}{<page number>}| -\nbr -This creates a chapter entry in the table of contents as given in the table -of contents for this book. - -\mbr -\ext\@|\chtocout| -\nbr -Its default definition is -|\def\chtocout{\string\chtoc}| and is -the command executed in a |\chead| while producing a |.toc| entry. - - -\mbr -\ext\@|\dssshtoc{<number>}{<title>}{<page number>}| -\nbr -This would create table of contents entry for a diminished section heading. -Although |\dssshtoc| commands are written to the |\jobname.toc| file, they -are defined as null in \intex. If you want them to appear in a table of -contents place the command |\let\dssshtoc = \intdssshtoc| in the file just -before the |\maketoclist| is called. \@|\intdssshtoc| is |\dssshtoc| in -disguise. - -\mbr -\ext\@|\dssshtocout| -\nbr -Its default definition is -|\def\dssshtocout{\string\dssshtoc}| and is -the command executed in a |\dssshead| while producing a |.toc| entry. - - -\mbr -\ext\@|\figtoc{<number>}{<title>}{<page number>}| -\nbr -This would create table of figures entry for a figure. -\intex\ makes it identical to |\shtoc| - -\mbr -\ext\@|\figtocout| -\nbr -Its default definition is -|\def\figtocout{\string\figtoc}| and is -the command executed in a |\figureform| or -|\figureinsert| while producing a |.toc| entry. - - -\mbr -\ext\@|\inputfigfiles| -\nbr -This is a token list, including the |\inputwithcheck| of the files that are -used to make the figure list. \intex\ default is -|\inputwithcheck{\jobname.fig}|. |\the\inputfigfiles| will actually cause the -token list to be executed, {\it ie} in the default case the |\jobname.fig| -will be read in. - - -\mbr -\ext\@|\inputtblfiles| -\nbr -This is a token list, including the |\inputwithcheck| of the files that are -used to make the table list. \intex\ default is -|\inputwithcheck{\jobname.tbl}|. |\the\inputtblfiles| will actually cause the -token list to be executed, {\it ie} in the default case the |\jobname.tbl| -will be read in. - -\mbr -\ext\@|\inputtocfiles| -\nbr -This is a token list, including the |\inputwithcheck| of the files that are -used to make the figure list. \intex\ default is -|\inputwithcheck{\newtocfile}|. If a |\jobname.toc| file is open, -|\newtocfile| becomes the {\bf previous} version. If it is not, it is the -most recent version. - - -\mbr -\ext\@|\makefiglist| -\nbr -This executes |\the\inputfigfiles| which inserts -the list of |\figtoc| commands into the text. -All required |\beginlist ... \endlist| commands should -be put around it. - -\mbr -\ext\@|\maketbllist| -\nbr -This executes |\the\inputtblfiles| which inserts -the list of |\tbltoc| commands into the text. -All required |\beginlist ... \endlist| commands should -be put around it. - -\mbr -\ext\@|\maketoclist| -\nbr -This inserts the list of |\<type>toc| commands into the text by executing -|\the\inputtocfiles|. All required |\beginlist ... \endlist| commands should -be put around it. - -\mbr -\ext\@|\newtocfile| -\nbr -If a |\jobname.toc| file is open, -|\newtocfile| becomes the {\bf previous} version. If it is not, it is the -most recent version. This allows for the table of contents to contain a -reference to itself. - -\mbr -\ext\@|\prtoc{<title>}{<page number>}| -\nbr -This is the command form written into the |.toc| file by |\preludeheader|. -The output format may be seen by looking at the {\it Preface} listing in the -Table of Contents for this book. - -\mbr -\ext\@|\prtocout| -\nbr -Its default definition is -|\def\prtocout{\string\prtoc}| and is -the command executed in a |\preludehead| -while producing a |.toc| entry. - - -\mbr -\ext\@|\shtoc{<number>}{<title>}{<page number>}| -\nbr -\ext\@|\sshtoc{<number>}{<title>}{<page number>}| -\nbr -\ext\@|\ssshtoc{<number>}{<title>}{<page number>}| -\nbr -These three commands are written by the |\shead|, |\sshead| and |\ssshead| to -the |\jobname.toc| file. Examples of the default \intex\ format -for |\shtoc| may be seen in the Table of Contents. -Although |\ssshtoc| commands are written to the |\jobname.toc| file, they -are defined as null in \intex. If you want them to appear in a table of -contents place the command |\let\ssshtoc = \intssshtoc| in the file just -before the |\maketoclist| is called. \@|\intssshtoc| is |\ssshtoc| in -disguise. - -\mbr -\ext\@|\shtocout| -\nbr -\ext\@|\sshtocout| -\nbr -\ext\@|\ssshtocout| -\nbr -These three commands are executed by the |\shead|, |\sshead| and |\ssshead| -when writing to -the |\jobname.toc| file. The defaults are defined in {\tt inrsdef.tex} as -\begintt -\def\shtocout{\string\shtoc} -\def\sshtocout{\string\sshtoc} -\def\ssshtocout{\string\ssshtoc} -\endtt - -\mbr -\ext\@|\tbltoc<number>}{<title>}{<page number>}| -\nbr -This would create table of figures entry for a figure. -\intex\ makes it identical to |\shtoc| - -\mbr -\ext\@|\tbltocout| -\nbr -Its default definition is -|\def\tbltocout{\string\tbltoc}| and is -the command executed in a |\tableinsert| or |\tableform| -while producing a |.toc| entry. - -\mbr -\ext\@|\tocbox{<indent>}{<number>}{<title>}{<pagenumber>}| -\nbr -This is the general form for producing an entry for a table of contents list. -|<indent>| is a dimension and is the indentation from the left margin; -|<number>| is the number form; |<title>| is the title of the -item; and |<pagenumber>| is where it occurred. There is no interitem spacing -as part of the definition. Thus -$$ -\tocbox{4em}{3.7.9}{This is an incredibly long title to show you - what happens when there is more than one line}{375} -$$ -was produced by -\begintt -\tocbox{4em}{3.7.9}{This is an incredibly long title to show you - what happens when there is more than one line}{375} -\endtt - -\mbr -\ext\@|\tocfill| -\nbr -This creates the dots across the page in the |\..toc| macros. It is useful -for designing stylistically consistent new ones. - -\mbr -\ext\@|\writelistfile{<file extension}{\string\..toc}{<number>}{<arg>}| -\nbr -This is the basic command for writing to a |list| file. The |\string| -allows the |\..toc| to be written into the file without ever being executed. -|{<number>}| is expanded before it is written out while |{<arg>}| is not. -|\writelistfile| adds one more argument, namely -|{<page number>}|, to this command before actually writing it to the file. -The complete command written is -\begintt -\..toc{<number>}{<arg>}{<page number>} -\endtt -An example for the first chapter of this book is -\begintt -\chtoc {Chapter 1}{\tex \cr and\cr INRS\tex }{1} -\endtt -Note that |\tex| is not expanded. -An examination of any of the |list| files created by \intex\ will show some -more examples. -This command should be used whenever a write to a |list| file is required. It -is used by \intex\ in all of the section and chapter heads, along with -|\figure| and |\table|. - -\endblockmode -\ejectpage - -\done \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/UQlogo.epsf b/macros/inrstex/inrsinputs/UQlogo.epsf deleted file mode 100644 index 59f2cfdc5a..0000000000 --- a/macros/inrstex/inrsinputs/UQlogo.epsf +++ /dev/null @@ -1,19 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: University of Quebec logo -%%CreationDate: 1990/11/28 -%%For: P. Kabal -%%Pages: 1 -%%BoundingBox: 144 120.96 174.24 144 -%%EndComments -144 144 translate 0.24 -0.24 scale -0 setlinewidth -1 setlinecap 0 setlinejoin -16 0 moveto 50 0 lineto 34 64 lineto 0 64 lineto 16 0 lineto -0 setgray fill -newpath -54 0 moveto 88 0 lineto 72 64 lineto 38 64 lineto 54 0 lineto -0 setgray fill -newpath -92 0 moveto 126 0 lineto 102 96 lineto 68 96 lineto 92 0 lineto -0 setgray fill -showpage diff --git a/macros/inrstex/inrsinputs/bilingue.tex b/macros/inrstex/inrsinputs/bilingue.tex deleted file mode 100644 index 09049a1291..0000000000 --- a/macros/inrstex/inrsinputs/bilingue.tex +++ /dev/null @@ -1,46 +0,0 @@ -%-*-tex-*- -% -% Definitions des mois -% -\def \janvier{janvier} -\def \fevrier{f\'evrier} -\def \mars{mars} -\def \avril{avril} -\def \mai{mai} -\def \juin{juin} -\def \juillet{juillet} -\def \aout{ao\^ut} -\def \septembre{septembre} -\def \octobre{octobre} -\def \novembre{novembre} -\def \decembre{d\'ecembre} -% -% Autres definitions -% -\def \aparaitre{A para\^\i tre} -\def \tableau{Tableau} -\def \tabmat{Table des mati\`eres} -\def \annexe{Annexe} -% -% -% En anglais -% -% -\def \janvier{January} -\def \fevrier{February} -\def \mars{March} -\def \avril{April} -\def \mai{May} -\def \juin{June} -\def \juillet{July} -\def \aout{August} -\def \septembre{September} -\def \octobre{October} -\def \novembre{November} -\def \decembre{December} -% -% -\def \aparaitre{To appear} -\def \tableau{Table} -\def \tabmat{Table of contents} -\def \annexe{Appendix} \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/booksty.tex b/macros/inrstex/inrsinputs/booksty.tex deleted file mode 100644 index 419206c727..0000000000 --- a/macros/inrstex/inrsinputs/booksty.tex +++ /dev/null @@ -1,37 +0,0 @@ -%------------ BOOKSTYLE --------------- -% see english.tex and francais.tex for messages -% \def\bookstylemessage{ <<< BOOK STYLE >>> } see English/French titles -\def\bookstyle{ \message {\bookstylemessage } - \documentstyle{\numberbychapter - \vheadersize = 1cm - \vfootersize = 2cm %this is set but not used can be - \vpapersize=23cm - \vouterpagesize=20cm - \hpapersize =8.5in - \houterpagesize=12cm - \leftmarginsize = 4.8cm - \topmarginsize = 3cm - \chaptername = {} - \def\chapterstartform{\ifodd\pageno\relax\else - \line{}\ejectpage\fi\titlepagestyle} - \let\headermark=\topmark - \def\headermark##1{\global\let\headermark = ##1} - \headertext{\ifodd\pageno\rightheadertext - \else\leftheadertext\fi} - \let\specialheadertext=\headertext - \def\rightheadertext{\line{\hss - \headermark\rlap{\ssheadfont\qquad\folio}}} - \def\leftheadertext{\line{\llap{\ssheadfont\folio - \qquad}\the\chaptername\hss}} - \footertext{} \specialfootertext={} - \normalheaderstyle - \blankfooterstyle - \everyprelude = { - \def\leftheadertext{\line{\llap{\folio\qquad}\firstmark}} - \def\rightheadertext{\line{\firstmark\rlap{\qquad\folio}}} - \specialheadertext{\ifodd\pageno - \line{\hss\rlap{\qquad\folio}} - \else\line{\llap{\folio\qquad}\hss}\fi}} - }} - -\bookstyle \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/centerh.tex b/macros/inrstex/inrsinputs/centerh.tex deleted file mode 100644 index bcff383128..0000000000 --- a/macros/inrstex/inrsinputs/centerh.tex +++ /dev/null @@ -1,10 +0,0 @@ -% ============ modified to center heads /subheads .... ====== -%the parameters must be as shown and will have that meaning -% #1 font (=#3); #2 number (=#4) ; #3 <text> (=#5); #4 number/text sep (=#7) -% check on \t@agtext suppresses space when there is no number -\catcode`\@=11 -\def\gensheadformat#1#2#3#4{\ifx\t@agtext\empty\setbox0=\hbox{}\else - \setbox0=\hbox{#1#2#4}\fi - \vbox{\paragraphcenterline \normalbaselines - #1\box0 #3}} -\catcode`\@=12 \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/cm_11.tex b/macros/inrstex/inrsinputs/cm_11.tex deleted file mode 100644 index 0eb500afb4..0000000000 --- a/macros/inrstex/inrsinputs/cm_11.tex +++ /dev/null @@ -1,65 +0,0 @@ -\catcode`@=11 -% ======= elevenpoint fonts not in plain.tex ======= -\font\eleventex=cmtex10 scaled 1095 -\font\elevenssb = cmssbx10 scaled 1095 % no ss bold -\font\elevencsc = cmcsc10 scaled 1095 % caps and small caps -\font\elevenbfx = cmbx10 scaled 1095 % bold wide -\font\elevenbfy = cmbsy10 scaled 1095 %bold math symbols? - -% ===== elevenpoint fonts -\font\elevenrm= cmr10 scaled 1095 -\font\elevenrmsca = cmr10 scaled 1095 -\font\elevenbf = cmb10 scaled 1095 -\font\elevenbfxsca = cmbx10 scaled 1095 -\font\elevenss = cmss10 scaled 1095 -\font\elevenit = cmti10 scaled 1095 -\font\eleveni = cmmi10 scaled 1095 -\font\elevensl = cmsl10 scaled 1095 -\font\elevensy = cmsy10 scaled 1095 -\font\eleventt = cmtt10 scaled 1095 -\font\elevensc = cmcsc10 scaled 1095 -\let\sanss = \elevenss - -\let\elevenex=\tenex - - -\def\elevenpoint{\def\pointsize{eleven}% - \def\rm{\fam0\elevenrm}% - \textfont0=\elevenrm \scriptfont0=\eightrm \scriptscriptfont0=\sixrm - \textfont1=\eleveni \scriptfont1=\eighti \scriptscriptfont1=\sixi - \textfont2=\elevensy \scriptfont2=\eightsy \scriptscriptfont2=\sixsy - \textfont3=\elevenex \scriptfont3=\elevenex \scriptscriptfont3=\elevenex - \def\it{\fam\itfam\elevenit}% - \textfont\itfam=\elevenit - \def\sl{\fam\slfam\elevensl}% - \textfont\slfam=\elevensl - \def\bf{\fam\bffam\elevenbf}% - \textfont\bffam=\elevenbf \scriptfont\bffam=\eightbfx - \scriptscriptfont\bffam=\sixbfx - \def\tt{\fam\ttfam\eleventt}% - \textfont\ttfam=\eleventt \scriptfont\ttfam=\tentt - \tt \ttglue=.5em plus .25em minus .15em - \normalbaselines\rm % now so resets are ok. - \setstrut - \ifd@ocsty \def\documentpointsize{eleven}% - \let\footerfont=\elevenit - \let\headerfont=\elevenit - \let\footnotefont = \ninepoint - \let\smallerfont = \ninepoint - \let\cheadfont = \eighteenrmsca - \let\sheadfont=\fourteenbfxsca - \let\ssheadfont=\elevenbfxsca - \let\sssheadfont=\elevenbfxsca - \let\dsssheadfont=\elevenbfxsca - \let\captionnumfont=\elevenbfxsca - \let\captiontitlefont=\relax - \let\captionbodyfont=\relax - \let\eqnumfont=\rm - \setspacings\fi - \let\bigfont = \twelvermsca - \let\biggfont = \fourteenrmsca - \let\bigggfont = \eighteenrmsca - \let\titlefont = \bigggfont - \let\sc=\ninerm - } -\catcode`@=12 \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/dvialw.ps b/macros/inrstex/inrsinputs/dvialw.ps deleted file mode 100644 index 5cab336e35..0000000000 --- a/macros/inrstex/inrsinputs/dvialw.ps +++ /dev/null @@ -1,310 +0,0 @@ -% removed mote test (mjf) -% <BEEBE.TEX.DVI>DVIALW.PS.17, 18-Sep-87 17:48:04, Edit by BEEBE -% Add test for note paper and if unknown, use letter paper instead. -% Non-Apple PostScript implementations do not know about note paper -% but its use on the Apple LaserWriter gains 92K of virtual memory -% <BEEBE.TEX.DVI>DVIALW.PS.16, 18-Sep-87 15:50:52, Edit by BEEBE -% Modify coordinate computations to remove round-off errors -% in landscape mode, and correct landscape page origin -% <BEEBE.TEX.DVI>DVIALW.PS.14, 22-Jun-87 09:55:05, Edit by BEEBE -% Add missing "0 900 translate Mtrx currentmatrix pop" to /LEGAL -% <BEEBE.TEX.DVI>DVIALW.PS.13, 7-Jan-87 17:38:51, Edit by BEEBE -% Add translate command to BOP so that (0,0) really corresponds to -% the top left physical page corner. The standard LaTeX file -% TESTPAGE.TEX can be used for this calibration; it might be sensitive -% to the particular printer used. -% <BEEBE.TEX.DVI.NEW>DVIALW.PS.12, 10-Dec-86 17:24:50, Edit by BEEBE -% Fix off-by-one error in definition of /B; to draw a box N pixels -% wide, microscopic examination of output shows that the box width -% must be N-1, not N, pixels; the boundary counts in the filling. -% <BEEBE.TEX.DVI.NEW>DVIALW.PS.9, 28-Nov-86 19:00:52, Edit by BEEBE -% Change definition of EOP to use #copies and showpage -% instead of {copypage} repeat erasepage -% <BEEBE.TEX.DVI.NEW>DVIALW.PS.7, 16-Oct-86 13:09:36, Edit by BEEBE -% Following Macintosh LaserWriter md dictionary, change most -% def's to bdf's (bind def); this is claimed to speed up -% operator access -% <BEEBE.TEX.DVI.NEW>DVIALW.PS.5, 16-Oct-86 12:01:12, Edit by BEEBE -% Change CTL-L to caret-L in comment -% <BEEBE.TEX.DVI.NEW>DVIALW.PS.3, 13-Jun-86 10:48:39, Edit by BEEBE -% Fix definition of NOTE, make it default in BOJ macro to try to reduce -% incidence of VM errors -% ---------------------------------------------------------------------- -% DVIALW PostScript macro definitions (keep in alphabetical order). For -% readability, these are heavily commented, but we adhere to the -% convention that percent is used ONLY to mark the beginning of a -% comment (NEVER occurs inside a PostScript string), and lines are -% limited to 80 characters. That way, DVIALW can read these definitions -% from a file and discard comments and trailing white space before -% transmission to the PostScript output file. In the interests of -% compactness, macros which receive any significant degree of use are -% given single letter names -- PostScript is already much too verbose. -% -% Coordinates are assumed to be in pixels (Resolution per inch). The -% page origin follows the PostScript convention of being in the lower -% left corner, y positive upwards along the longer side of the page, x -% positive to the right. Letter and legal sizes are therefore -% equivalent as far as PostScript is concerned, but y coordinates can be -% bigger in legal size. In landscape mode, the page is rotated to place -% the origin in the upper left corner, x positive downward along the -% longer side of the page, y positive to the right. That way, pages -% eject from the printer upright when viewed from the front of the -% printer. -% -% Document format is something like this: -% -% %!PS-Adobe-1.0 -% %%Dimensions: 0 0 612 792 -% %%Title: DVIALW -o1 -s300 foo12 -% %%CreationDate: Sat Mar 8 10:52:52 1986 -% %%Creator: BEEBE and [TeX82 DVI Translator Version 2.03b...] -% %%Pages: (atend) -% %%BugHistory: Incorporates save/restore and font reloading... -% %%BugHistory: Incorporates Allan Hetzel's 31-Oct-85 DARPA... -% %%EndComments -% %%EndProlog -% %%Page: 0 1 -% TeXdict begin -% BOJ -% BOP -% ... -% 1 EOP -% ^LBOP -% ... -% 1 EOP -% ^LBOP -% ... -% 1 EOP -% ^LEOJ -% %%Trailer -% %%Pages: 7 -% %%PageTable: 0 1 3434 -% ^D -% -% One formfeed is output for each printed page copy, in order to make -% spooler page accounting simple. The additional comments wrapping the -% BOJ .. EOJ sequence conform to Adobe PostScript file structuring -% conventions, and the first line can be used by the spooler to identify -% the file as containing PostScript. -% ---------------------------------------------------------------------- - - -/TeXdict 200 dict def % dictionary for these definitions -TeXdict begin - -% bdf -- bind def (for efficiency) -% Usage -- just like def, but not on constant objects -/bdf {bind def} def - -% B -- draw bar (TeX rule) of size w by h at currentpoint -% Usage -- w h B -/B -{ - /h exch def - /w exch def - gsave - currentpoint - newpath - moveto - w 1 sub 0 rlineto - 0 h 1 sub rlineto - w 1 sub neg 0 rlineto - closepath fill - grestore -} bdf - -% BOJ -- beginning of job (EOF ends it and closes TeXdict) -% Usage -- BOJ -/BOJ -{ - 72 Resolution div 72 Resolution div scale - userdict /note known - {LETTER} % MJF mod - {LETTER} % default page format for others - ifelse -} bdf - -% BOP -- beginning of page -% Usage -- BOP -/BOP -{ - clear - Mtrx setmatrix - 25 0 translate % Physical page origin is at (-25,0) from the top left corner -} bdf - -% ch-fieldname -- extract field from ch-data array (order defined by positions -% in first array argument to macro D) -% Usage -- ch-fieldname -/ch-image {ch-data 0 get} bdf % the bitmap hex string image -/ch-xoff {ch-data 1 get} bdf % pixels from left edge of bitmap to char origin -/ch-yoff {ch-data 2 get} bdf % pixels from top edge of bitmap to char origin -/ch-width {ch-data 3 get} bdf % bitmap width in pixels -/ch-height {ch-data 4 get} bdf % bitmap height in pixels -/ch-tfmw {ch-data 5 get} bdf % pixels to next character (precise flt value) - -% CharBuilder -- image one character -% Usage -- fontdict ch CharBuilder -/CharBuilder -{ - /ch-code exch def % save the char code - /font-dict exch def % and the font dict. - /ch-data font-dict /BitMaps get - ch-code get def % get the bitmap descriptor for char - ch-data null eq not % show character if entry is not empty - { - ch-tfmw 0 - ch-xoff neg ch-yoff ch-height sub - ch-width ch-xoff sub ch-yoff - setcachedevice - 0 0 SNAP translate - ch-width ch-height true [ 1 0 0 -1 ch-xoff ch-yoff ] - {ch-image} imagemask - } if -} bdf - - -% D -- define new character in current font -% Usage -- [<bitmap> xoff yoff pixwid pixht tfmpixwid] charnum D -/D -{ - /ch-code exch def - /ch-data exch def - currentfont /BitMaps get ch-code ch-data put - currentfont /Encoding get ch-code dup 3 string cvs cvn put -} bdf - -% EOJ -- end of job -% Usage -- EOJ -/EOJ -{ - end % matches begin issued before BOJ -} bdf - -% EOP -- end of page -% Usage -- ncopies EOP -/EOP -{ -/#copies exch def -showpage -} bdf - -% LANDSCAPE -- landscape format page (11inH x 8.5inV) -% Usage -- LANDSCAPE -/LANDSCAPE -{ - letter initmatrix - 72 Resolution div dup scale - 0 3300 translate - -90 rotate - 0 -750 translate - Mtrx currentmatrix pop -} bdf - -% LANDSCAPE -- landscape format page (11inH x 8.5inV) -% Usage -- LEGAL_LAND -/LEGAL_LAND -{ - legal initmatrix - 72 Resolution div dup scale - 0 4200 translate - -90 rotate - 0 -750 translate - Mtrx currentmatrix pop -} bdf - -% LEGAL -- legal format page (8.5inH x 14inV) -% Usage -- LEGAL -/LEGAL -{ - legal initmatrix - 72 Resolution div dup scale - 0 900 translate - Mtrx currentmatrix pop -} bdf - -% LETTER -- letter format page -% Usage -- LETTER -/LETTER -{ - letter initmatrix - 72 Resolution div dup scale - Mtrx currentmatrix pop -} bdf - -% M -- moveto -% Usage -- x y M -/M -{ - moveto -} bdf - -% Mtrx -- permanent storage for page transformation matrix -% Usage -- Mtrx -/Mtrx 6 array def - -% NF -- define new font -% Usage -- /fontname NF -/NF -{ - /newname exch def - newname 7 dict def - newname load - begin - /BitMaps 128 array def - /BuildChar { CharBuilder } def - /Encoding 128 array def - 0 1 127 { Encoding exch /.notdef put } for - /FontBBox [ 0 0 1 1 ] def - /FontMatrix [ 1 0 0 1 0 0 ] def - /FontType 3 def - end - newname newname load definefont pop -} bdf() pop - -% NOTE -- note format page (increases available virtual memory from 240K -% to 340K on Apple LaserWriter) -% Usage -- NOTE -/NOTE -{ - note initmatrix - 72 Resolution div dup scale % set scaling to 1. - Mtrx currentmatrix pop -} bdf - -% P -- show string at current point, updating horizontal position to new endpt -% Usage -- (string) P -/P {show} bdf() pop - -% Q -- draw bar of last size set by B command at specified point -% Usage -- x y Q -/Q {moveto w h B} bdf() pop - -% R -- move relative right and show string, updating horizontal position to -% new endpoint -% Usage -- (string) xxx R -/R {0 rmoveto show} bdf() pop - -% Resolution -- device resolution in dots/inch -% Usage -- Resolution -/Resolution 300 def - -% S -- move absolute and show string, updating horizontal position to new endpt -% Usage -- (string) xxx yyy S -/S {moveto show} bdf() pop - -% SF -- set new font at scale nnn (nnn = 1 normally; 2 gives double size chars) -% Usage -- nnn /fontname SF -/SF {findfont exch scalefont setfont} bdf() pop - -% SNAP -- convert coordinates to integer device coordinates and back again -% Usage -- xxx yyy SNAP (leave xxx' yyy' on stack) -/SNAP {transform 2 {floor 0.5 add exch} repeat itransform} bdf - -% T -- move absolute horizontally and show string, updating horizontal position -% to new endpt -% Usage -- (string) xxx T -/T {currentpoint exch pop moveto show} bdf() pop - -end % TeXdict - \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/enfrtwo.tex b/macros/inrstex/inrsinputs/enfrtwo.tex deleted file mode 100644 index e0d81a168b..0000000000 --- a/macros/inrstex/inrsinputs/enfrtwo.tex +++ /dev/null @@ -1,106 +0,0 @@ -%-*-tex-*- -% some macros for english/french side by side - -\def\coltol{\pretolerance=5000 \tolerance=5000 \hbadness=5000 } - -\newbox\leftbox -\newbox\leftrembox -\newbox\rightbox -\newbox\rightrembox -\newbox\tempbox -\newif\ifboxsplit % if either box is split -\newif\ifcolsplit % if this col is being split -\newdimen\remsplit -\newdimen\rempage -\newdimen\colsize \colsize=2.8in -\let\dbmess=\message -\def\dbmess#1{} -\raggedbottom -\def\splitparms #1{\remsplit=\pagegoal \advance\remsplit by -\pagetotal \relax - \rempage=\remsplit - \ifdim\pageshrink<10pt \advance\remsplit by -10pt\fi - \advance\rempage by -\ht#1 - \advance\rempage by -\dp#1 \colsplitfalse - \ifdim\rempage<0pt \ifdim\remsplit>0pt \colsplittrue \fi\fi - \dbmess{<<rs \the\remsplit* rp \the\rempage *ps \the\pageshrink>>}} - -% general column form #1 \right(left)box #2 \right(\left)rembox #3 type -% #4 input - -\def\colform #1#2#3#4{\setbox#1=\vtop{\hsize \colsize \coltol #3#4} - \splitparms{#1}\ifcolsplit\dbmess{<<col split \the\ppnum>>} - \boxsplittrue\setbox\tempbox=\vsplit - #1 to \remsplit \fi - \ifvoid\tempbox \else - \setbox#2=\vtop{\unvbox#1}\relax - \setbox#1=\vtop{\unvbox\tempbox}\fi - \dbmess{** tbx r ** rrh \the\ht#1 - * rh \the\ht#2 - * drh \the\dp#1 - * dh \the\dp#2 }} - -% right and left forms - -\long\def\rightform #1{\colform{\rightbox}{\rightrembox}{\fhyph}{#1\endgraf}} -\long\def\leftform #1{\colform{\leftbox}{\leftrembox}{\ehyph}{#1\endgraf}} - - -\newcount\ppnum - -\long\def\pp #1@@#2!!{\advance\ppnum by 1 \dbmess{<< pp num \the\ppnum>>} - {\def\pp{\dbmess{<<Possible @@ or !! error>>}}\vskip \parskip - \boxsplitfalse\leftform{#1}\rightform{#2}\relax - \line{\box\leftbox\hss\box\rightbox}\relax - \ifboxsplit - \line{\box\leftrembox\hss\box\rightrembox} - \dbmess{<<End Splitbox \the\ppnum>>}\fi - }} - -\def\seh#1#2#3{\pp\innershead{#1}{#2}@@\autonumberingoff - \innershead{\qref{#1}.}{#3}!!\nobreak\mark{#2/#3}\nobreak} -\def\sseh#1#2#3{\pp\innersshead{#1}{#2}@@\autonumberingoff - \innersshead{\qref{#1}}{#3}!!\nobreak\mark{#2/#3}\nobreak} -\def\ssseh#1#2#3{\pp\innerssshead{#1}{#2}@@\autonumberingoff - \innerssshead{\qref{#1}}{#3}!!\nobreak\mark{#2/#3}\nobreak} -\def\dssseh#1#2{\pp\innerdssshead{#1}@@ - \innerdssshead{#2}!!\nobreak\mark{#1/#2}\nobreak} -\let\dsh=\dssseh - - -%\tracingpages=1 - -% --- header stuff ---- - \headertext{\ifodd\pageno\rightheadertext - \else\leftheadertext\fi} - \def\rightheadertext{\line{\hss - \firstmark\rlap{\ssheadfont\qquad\folio}}} - \def\leftheadertext{\line{\llap{\ssheadfont\folio - \qquad}\firstmark{ }\hss}} -\documentstyle{\normalheaderstyle - \vheadersize=.35in - \normalfooterstyle - \vfootersize=.35in} - - - -% Autonumbering ... referencing sections paragraphs -\newautonum{art} - -\def\pn{{\bf \autoartnum{}} } -\def\pntag#1{\autoartnum{#1}} -\def\rpn{{\bf \the\artnum } } - -% Toc forms change -\let\idssshtoc=\shtoc -\let\ishtoc=\shtoc -\def\shtoc #1#2#3 \shtoc #4#5#6{\pp \ishtoc{#1}{#2}{#3}@@\ishtoc{#4}{#5}{#6}!!} -\let\isshtoc=\sshtoc -\def\sshtoc #1#2#3 \sshtoc #4#5#6{\pp \isshtoc{#1}{#2}{#3}@@\isshtoc{#4}{#5}{#6}!!} -\let\issshtoc=\ssshtoc -\def\ssshtoc #1#2#3 \ssshtoc #4#5#6{\pp \issshtoc{#1}{#2}{#3}@@\issshtoc{#4}{#5}{#6}!!} - % like section heads .. minor indent -\def\dssshtoc #1#2#3 \dssshtoc #4#5#6{\pp \idssshtoc{#1}{#2}{#3}@@\idssshtoc{#4}{#5}{#6}!!} - - - -\parindent=0pt \parskip=2.8ex % block mode \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/english.tex b/macros/inrstex/inrsinputs/english.tex deleted file mode 100644 index f0690068dd..0000000000 --- a/macros/inrstex/inrsinputs/english.tex +++ /dev/null @@ -1,17 +0,0 @@ -\def\englishversion{\language=0 -\nonfrenchspacing % .... needs to reverse accent forms ... -\def\versionform{{\notefont Draft Version: \date}}% -\def\Chapter{Chapter }% -\def\Appendix{Appendix }% -\def\ABSTRACT{{\ssheadfont Abstract}}% -\def\figurelabel{Fig. }% -\def\tablelabel{Table }% -\def\bookstylemessage{ <<< BOOKSTYLE >>> }% -\def\endlistmessage##1{ <<< endlist mismatch >>> }% -\def\undeftagmessage##1{ <<<tag: ##1 = undefined>>> }% -\def\citetagfileclosedmessage{ << CITATION TAG FILE CLOSED >> }% -\def\nocitetagformmessage{ NO CITATION FOR THIS TAG }% -\def\titlemessage{Title}% -\lccode`\'=0 -}% -\englishversion \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/francais.tex b/macros/inrstex/inrsinputs/francais.tex deleted file mode 100644 index 7b5b07f561..0000000000 --- a/macros/inrstex/inrsinputs/francais.tex +++ /dev/null @@ -1,17 +0,0 @@ -\gdef\versionfrancaise{\language=1 -\frenchspacing -\def\versionform{{\notefont version pr\'eliminaire:\date}}% -\def\Chapter{Chapitre }% -\def\Appendix{Appendice }% -\def\ABSTRACT{{\ssheadfont Sommaire}}% -\def\figurelabel{Fig. }% -\def\tablelabel{Tableau }% -\def\bookstylemessage{ <<< genre de livre >>> }% -\def\endlistmessage##1{ <<< erreur : endlist >>> }% -\def\undeftagmessage##1{ <<<tag:##1 = indefini>>> }% -\def\citetagfileclosedmessage{ << FICHIER DE CITATION DES TAG FERME >> }% -\def\nocitetagformmessage{ PAS DE CITATION POUR CET TAG }% -\def\titlemessage{Titre}% -\lccode`\'=`\'% -}% -\versionfrancaise \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/helphdr.tex b/macros/inrstex/inrsinputs/helphdr.tex deleted file mode 100644 index 877c3e98c3..0000000000 --- a/macros/inrstex/inrsinputs/helphdr.tex +++ /dev/null @@ -1,306 +0,0 @@ - -% -*-tex-*- -% tex 1.1 -% special definitions -\catcode`\@=11 -% subdocument macros fix - -\def\lb{ \li $\bullet$ } - -\def\subdocumentmacros#1{\ifs@ubdocument #1 \fi\s@ubdocumentfalse} - - -%simple line skip -\def\ls{\vskip \baselineskip \noindent} - -%vphantom "bug" -\def\sphantom#1{\setbox0=\hbox{#1} \setbox2=\null \ht2=\ht0 \dp2=\dp0 \box2} - -% INRS -\def\INRS{INRS-\kern-.1emT\'el\'e\-com\-muni\-ca\-tions} - -%check form %will print in proof mode only -\long\def\proofcheck#1{\ifproofmode \par Proofcheck: \par #1 \fi} - -\def\comhead#1{\penaltybreak{-1000}{2.8ex}\centerline{\sssheadfont #1}\smallskip\nobreak} - -\let\tex = \TeX % its easier to type -\def\inprint{INRSprint} -\def\mtex{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX} -\def\texbook{\tex book} -\def\plain{{\it plain}} -\def\intex{INRS\mtex} - -\def\vrt{\hbox{\tt\char`\|}} % vertical line -\def\dnArrow{\hbox{\tt\char'14}} % downward arrow -\def\upArrow{\hbox{\tt\char'13}} % upward arrow -\def\]{\hbox{\tt\char`\ }} % visible space - -%special boxits - -\def\hhboxit#1{\hbox{\vrule\vbox{\hrule\hbox{#1}\hrule}\vrule}} -\def\hvboxit#1{\hbox{\vrule\vbox{\hrule\hbox{\vbox{#1}}\hrule}\vrule}} -\def\vvboxit#1{\vbox{\hrule\hbox{\vrule\vbox{#1}\vrule}\hrule}} -\def\vhboxit#1{\vbox{\hrule\hbox{\vrule\vbox{\hbox{#1}}\vrule}\hrule}} -\let \hh=\hhboxit \let \vh=\vhboxit \let \vv=\vvboxit \let \hv=\hvboxit - - - -%========== simple forms for prim,plain,ext ended commands ======= -\def\pri{\leavevmode\llap{$\bullet$\kern 5pt}\nobreak} -\def\pla{\leavevmode\llap{$\diamond$\kern 5pt}\nobreak} -\def\ext{\leavevmode\llap{$\star$\kern 5pt}\nobreak} - -%======== simple multicolumn for symbols and commands -% must fit on single page and have no inserts -% will be balanced - -\newbox\simpgalleybox -\newdimen\simphcolumnsize -\newdimen\simpfirstoffset \simpfirstoffset = 1em -\newtoks\simpcolumnsep \simpcolumnsep = {\vrule\hskip 2em\vrule} -\newcount\simpnumcolumns -\def\setsimphsize{\setbox0=\hbox{\the\simpcolumnsep} - \dimen0= \simpnumcolumns\wd0 %\the\dimen0 - \advance\dimen0 by -\wd0 %\the\dimen0 - \advance\dimen0 by \simpfirstoffset - \dimen2 = \hcolumnsize %\the\dimen2 - \advance\dimen2 by -\dimen0 %\the\dimen0 - \divide\dimen2 by \simpnumcolumns - \global\simphcolumnsize = \dimen2 - } - -\def\beginsimplemulticolumn{ - \setbox\simpgalleybox = \vbox\bgroup \hsize\simphcolumnsize} - - -\def\endsimplemulticolumn{ \egroup \dimen0 = \ht\simpgalleybox - \advance\dimen0 by \dp\simpgalleybox - \divide\dimen0 by \simpnumcolumns - \advance\dimen0 by 0pt % size of split box - \count255=1 - \splitmaxdepth=\maxdepth - \splittopskip=0pt - \setbox2 = \vsplit\simpgalleybox to \dimen0 - \setbox0 = \hbox{\vbox to \dimen0{\unvbox2\vss}} - \loop \ifnum \count255 < \simpnumcolumns - \setbox2 = \vsplit\simpgalleybox to\dimen0 - \setbox0 = \hbox{\unhbox0\the\simpcolumnsep - \vbox to \dimen0{\unvbox2\vss}} - \advance\count255 by 1 - \repeat - \centerline{\box0}} - -%use default values -\def\beginthreecolumn{\begincolumns 3} -\def\begintwocolumn{\begincolumns 2} -\def\begincolumns#1{\par\simpnumcolumns= #1 - \simpfirstoffset = 10pt - \simpcolumnsep = {\hskip 2em} - \setsimphsize - \beginsimplemulticolumn \obeylines - \advance\parskip by 0pt plus 2pt minus 2pt - \parindent =0pt} -\let\endthreecolumn=\endsimplemulticolumn -\let\endmulticolumn=\endsimplemulticolumn -\let\endtwocolumn = \endsimplemulticolumn -%command followed by explanation or short example -\newdimen\descrwd \descrwd = 2.5in -\def\bshortcomlist{\begingroup$$\tabskip=1em plus 1fil - minus 1fil\halign\bgroup##\dotfill&\quad - \vtop{\hsize \descrwd \veryraggedright\noindent\strut ##\strut} \cr} -\def\eshortcomlist{\crcr \egroup$$\endgroup} - - -% macros for verbatim scanning -\chardef\bslash=`\\ -\chardef\other=12 -\def\space{\leavevmode\hskip.5emplus1ptminus1pt\relax} -{\obeyspaces %makes a space active for inside def -\gdef\ttverbatim{\begingroup -\def|{\char`\|}\catcode`\\=\other -\catcode`\{=\other -\catcode`\}=\other -\catcode`\$=\other -\catcode`\&=\other -\catcode`\#=\other -\catcode`\%=\other -\catcode`\~=\other -\catcode`\_=\other -\catcode`\^=\other -\catcode`\<=\other -\catcode`\>=\other -\parindent0pt\parskip0pt plus1pt% -\obeyspaces\let =\space -\obeylines\tt}} - -\def\hendgraf{\endgraf\leavevmode} -\outer\def\begintt{\vskip-\baselineskip$$\let\par=\hendgraf\ttverbatim% -\catcode`\|=0\ttfinish} -{\catcode`\|=0 |catcode`|\=\other% | is temporary escape character -|obeylines% end of line is active -|gdef|ttfinish#1^^M#2\endtt{|vbox{#2}|endgroup$$|vskip-|baselineskip|noindent|ignorespaces}} - -{\catcode`\|=\active \gdef\g@et #1|{\gdef\text{#1}#1\endgroup - \ifindexit \makexref \fi \indexitfalse}} - -\catcode`\|=\active %defines | as an active character in the entire document -{\obeylines \gdef|{\ttverbatim\spaceskip\ttglue\g@et}} -%\def\ttspace{{\tt\hskip\ttglue}} - -% ========= \ in \beginttverbatim ======== -\def\1{\char'134} - -%More useful stuff from TeX manual Header - - -\def\bull{\vrule height .9ex width .8ex depth -.1ex } % square bullet -\def\SS{{\it SS}} % scriptscript style - -% \box\bigdot is a null box with a bullet at its reference point -\newbox\bigdot \newbox\smalldot -\setbox0=\hbox{$\vcenter{}$} % \ht0 is the axis height -\setbox1=\hbox to 0pt{$\hss\bullet\hss$} % bullet is centered on the axis -\setbox\bigdot=\vbox to 0pt{\kern-\ht1 \kern\ht0 \box1 \vss} -\setbox1=\hbox to0pt{$\hss\cdot\hss$} % cdot is centered on the axis -\setbox\smalldot=\vbox to0pt{\kern-\ht1 \kern\ht0 \box1 \vss} - -% \samplebox makes the outline of a box, with big dot at reference point -\def\samplebox#1#2#3#4{% #1=ht, #2=dp, #3=wd, #4=text - {\setbox0=\vtop{\vbox to #1{\hbox to #3{}\vss} - \nointerlineskip - \vbox to #2{}}% now \box0 has the desired ht, dp, and wd - \hbox{\copy\bigdot - \vrule height.2pt depth.2pt width#3% - \kern-#3% - \makelightbox - \kern-#3% - \raise#1\vbox{\hbox to #3{\hss#4\hss} - \kern 3pt}}}} - -% \sampleglue makes glue between sample boxes -\def\sampleglue#1#2{% #1=width, #2=text - \vtop{\hbox to #1{\xleaders\hbox to .5\varunit{\hss\copy\smalldot\hss}\hfil} - \kern3pt - \tabskip 0pt plus 1fil - \halign to #1{\hfil##\cr#2\cr}}} - - -% indexing macros mods of texbook - -% there is an interaction between \beginttverbatim and indexing wrt ^ -% thus change of ^ active to \@ !!!!! - - - -\def\indxx{\xref} -\def\xref{\relax} -\let\@=\indxx -\newif\ifindexit - -{\obeylines -\gdef\makexref{{\def\space{ }\def^^M{*/*}% spaces are important -\xdef\writeit{\write\ind@file{!\text!\space\string\indpg\space\noexpand\number\pageno.}}\writeit}}} - - -\outer\def\indexingon{\openlistfile{ind}\def\xref{\indexittrue}} - - -\outer\def\indexingoff{\closelistfile{ind}\def\xref{\relax}} - - - -% Command description macro -% Format will be -% \bc -% |<command>|\par-- for input -% nobreak -% Block based description -% bigbreak -\def\beginblockmode {\begingroup\parindent=0pt - \parskip= \smallskipamount - \def\nbr{\par\nobreak\smallskip} - \let\sbr=\smallbreak - \let\mbr=\bigbreak - \let\bbr=\bigbreak} -\def\endblockmode{\par\endgroup} - -%multipoint eqalign -\def\multieqalign#1{\,\vcenter{\openup\jot\m@th - \ialign{&\quad\strut\hfil$\displaystyle{##}$&$\displaystyle - {{}##}$\hfil\quad&##\crcr#1\crcr}}\,} - -\bookstyle -%special changes for this book - -\def\cqu{} -\newskip\qsk \qsk=3in plus 1fill -\def\cquote#1#2{\par\vfill\leftskip=\qsk {\it #1}\par\bigskip{\bf #2}} - -\def\pslide #1//#2//{\vfill\hslide #1//#2//} - -\def\chapterstartform{\ifodd\pageno \relax\else - \line{}{\cqu\par\ejectpage}\fi - \gdef\cqu{}\titlepagestyle} -% modification of header format -\def\leftheadertext{\line{\llap{\ssheadfont\folio\qquad}\def\cr{ }CHAPTER - \chnumform: \the\chaptername \hss}} -\def\rightheadertext{\line{\hss\topmark\rlap{\ssheadfont\qquad\folio}}} -\let\chapterhead=\chead -\let\bookstyle=\relax % removes the second try -\input texgrct %POSTCRIPT -\input inrssl%POSTCRIPT - -\def\textpagestyle{} - -\inrsform -\textform -%boxexample -\def\boxexample{ -\def\wid{{\tt wd}} -\def\hei{{\tt ht}} -\def\dpt{{\tt dp}} -\def\boxpoint{\setbox2=\hbox{\vrule width 8pt height 3pt depth 5pt} \wd2 =0pt - \ht2=0pt \dp2=0pt \hskip -8pt \box2} -\setbox4=\hbox{\hei} -\def\vbrule{\vrule width 1pt} -\def\hbrule{\hrule height 1pt} -\setbox0=\hbox to 1.2in{\vbrule$\longleftarrow \hss \wid \hss\longrightarrow$\vbrule} -\setbox8=\vbox to 2in{\offinterlineskip\hbox to \wd4{\hss$\uparrow$\hss} - \hbox to \wd4{\hss $\Bigg\vert$\hss}\vss - \hbox to \wd4{\hss \hei\hss}\vss - \hbox to \wd4{\hss $\Bigg\vert$\hss} - \hbox to \wd4{\hss$\downarrow$\hss}} -\setbox6=\vbox{\hbox to \wd4{\hss$\uparrow$\hss} - \hbox to \wd4{\hss \dpt\hss} - \hbox to \wd4{\hss$\downarrow$\hss}} -\bigbreak\line{\hss - \vtop{\copy0 \offinterlineskip - \smallskip - \hbrule - \hbox to \wd0{\vbrule height \ht8 - \boxpoint \hss - \hskip 4pt\copy8 \hss - \vbrule height \ht8} - \hbrule - \hbox to \wd0{\vbrule height \ht6 \hss - \copy6 \hss - \vbrule height \ht6} - \hbrule - } - \vtop{\hrule height 0pt - \vskip 1in - \hbox{\qquad \vrule height 6pt width 8pt depth 2pt - \quad $\Leftarrow$ Reference Point} - \vskip 62pt - \hbox{$\Leftarrow$ Baseline}} - \hss}\medskip} - - -\def\ftn{} - -\hfuzz=5pt -\let\prule=\relax \let\ptrule=\relax -\marginnotesfalse - -\ejectpag \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/ieeelogo.ps b/macros/inrstex/inrsinputs/ieeelogo.ps deleted file mode 100644 index b96c2b8f2a..0000000000 --- a/macros/inrstex/inrsinputs/ieeelogo.ps +++ /dev/null @@ -1,685 +0,0 @@ -%! -%%BoundingBox: 215.040000 362.160000 396.720000 429.840000 -0.240000 0.240000 scale -896 1509 translate -768 282 scale -768 282 true [768 0 0 -282 0 282] {< -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000700000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000001C000000000000000000000000000000000000000000000000000000000000000000F800000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000FF00000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000001FF800000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000003FFC00000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000007FFE000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000FFFF00000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000001FFFF0000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000003FFFF80000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000003FFFFC0000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000007FFFFE00000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000FFFFFE0000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000001FFFFFF000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000001FFFFFF8000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000003FFFFFF8000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000007FFFFFFC0000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00FFFFFFFE000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000001FFFFFFFF00000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000001FFFFFFFF800000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000003FFFFFFFF800000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000007FFFFFFFFC000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0FFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000001FFFFFFFFFE0000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFF00000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000003FFFFFFFFFF80000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000003FFFFFFFFFFC00000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFE0000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFF000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFFFF0000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000003FFFFFFFFFFFF8000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000007FFFFFFFFFFFFC0000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000007 -FFFFFC1FFFFFE000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000FFFFFE003FFFFF00000000000000000000000000000000000 -0000000000000000000000001FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000001FFFFF8000FFFFF000 -000000000000000000000000000000000000000000000000000000001FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000003FFFFF03E03FFFF800000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000007FFFFC1FFC1FFFFC000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000FF -FFF87FFF07FFFE00000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000001FFFFE0FFFF83FFFF0000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000003FFFFC3FFFFE1FFFF80 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000007FFFF07FFFFF07FFFC0000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000007FFFE1FFFFFFC3FFFE00000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000001FFF -F83FFFFFFE1FFFE0000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000001FFFF07FFFFFFF07FFF000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000003FFFF0FFFFFFFF83FFF8 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000007FFFC3FFFFFFFFC1FFFC000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000FFFF87FFFFFFFFF0FFFE0000000000000000 -00000000000000000000000000000000000000000FC000000000000000000000000000000007FFFF -F800000000000000000000000000000000000000000000000000000000000000000000000001FFFF -0FFFFFFFFFF87FFF000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000001FFFFFFFFFC00000000000000000000000000000000000000000000 -0000000000000000000000000003FFFE1FFFFFFFFFF81FFF80000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000000000000FFFFFFFFFFF800000000000 -000000000000000000000000000000000000000000000000000000000007FFFC3FFFFFFFFFFE0FFF -C00000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000FFFFFF83FFFFF80000000000000000000000000000000000000000000000000000000000 -00000000000FFFF0FFFFFFFFFFFF07FFE00000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000000007FFF8000000FFFF00000000000000000000000000 -0000000000000000000000000000000000000000001FFFE1FFFFFFFFFFFF83FFF000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000003FFE000000 -0003FFE00000000000000000000000000000000000000000000000000000000000000000003FFFC3 -FFFFFFFFFFFFC1FFF80000000000000000000000000000000000000000000000000000000FC00000 -0000000000000000000000FFE000000000003FFC0000000000000000000000000000000000000000 -000000000000000000000000007FFF87FFFFFFFFFFFFE0FFFC000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000FFE00000000000007FF00000000 -0000000000000000000000000000000000000000000000000000000000FFFF0FFFFFFFFFFFFFF87F -FE0000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00001FF0000000000000007FC0000000000000000000000000000000000000000000000000000000 -0000000001FFFC3FFFFFFFFFFFFFFC3FFF0000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000000FF80000000000000000FF80000000000000000000000 -000000000000000000000000000000000000000003FFF87FFFFFFFFFFFFFFE0FFF80000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003FE0000000000 -00000003FE0000000000000000000000000000000000000000000000000000000000000007FFF0FF -FFFFFFFFFFFFFF07FF8000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000007F80000000000000000007F80000000000000000000000000000000000000 -0000000000000000000000000FFFF1FFFFFFFE7FFFFFFF83FFC00000000000000000000000000000 -0000000000000000000000000FC000000000000000000000001FC00000000000000000001FC00000 -000000000000000000000000000000000000000000000000000000001FFFE3FFFFFFFC7FFFFFFFE1 -FFE000000000000000000000000000000000000000000000000000000FC000000000000000000000 -003F0000000000000000000007F80000000000000000000000000000000000000000000000000000 -000000003FFFC7FFFFFFFC3FFFFFFFE0FFF000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000780000000000000000000001FC00000000000000000000 -00000000000000000000000000000000000000007FFF9FFFFFFFFC3FFFFFFFF07FFC000000000000 -00000000000000000000000000000000000000000FC00000000000000000000000C0000000000000 -00000000007F000000000000000000000000000000000000000000000000000000000000FFFE3FFF -FFFFF81FFFFFFFFC3FFE00000000000000000000000000000000000000000000000000000FC00000 -0000000000000000078000000000000000000000001F800000000000000000000000000000000000 -000000000000000000000001FFFC7FFFFFFFF81FFFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC0000000000000000000000E00000000000000000000000007E000 -00000000000000000000000000000000000000000000000000000003FFF8FFFFFFFFF00FFFFFFFFF -0FFF80000000000000000000000000000000000000000000000000000FC000000000000000000000 -3C00000000000000000000000003F000000000000000000000000000000000000000000000000000 -0000000FFFF1FFFFFFFFF00FFFFFFFFF87FFC0000000000000000000000000000000000000000000 -000000000FC0000000000000000000007800000000000000000000000000F8000000000000000000 -000000000000000000000000000000000000001FFFE3FFFFFFFFF00FFFFFFFFFC3FFE00000000000 -00000000000000000000000000000000000000000FC000000000000000000001F0000000000003FF -FC00000000007E000000000000000000000000000000000000000000000000000000003FFFC7FFFF -FFFFE007FFFFFFFFE1FFF0000000000000000000000000000000000000000000000000000FC00000 -0000000000000003C000000000003FFFFFC0000000003F0000000000000000000000000000000000 -00000000000000000000007FFF8FFFFFFFFFE007FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC000000000000000000007800000000000FFFFFFF0000000000F80 -000000000000000000000000000000000000000000000000000000FFFF9FFFFFFFFFE007FFFFFFFF -F87FFC000000000000000000000000000000000000000000000000000FC00000000000000000001F -000000000007FFFFFFF80000000007C0000000000000000000000000000000000000000000000000 -000001FFFE3FFFFFFFFFE003FFFFFFFFF83FFE000000000000000000000000000000000000000000 -000000000FC00000000000000000003C00000000000FFFFFFFF80000000003F00000000000000000 -00000000000000000000000000000000000003FFFC7FFFFFFFFFC003FFFFFFFFFC1FFF0000000000 -00000000000000000000000000000000000000000FC00000000000000000007800000000001FFFFF -FFF80000000000F8000000000000000000000000000000000000000000000000000007FFF8FFFFFF -FFFFC001FFFFFFFFFE0FFF800000000000000000000000000000000000000000000000000FC00000 -00000000000000F000000000003FFFFFFF8000000000007C00000000000000000000000000000000 -000000000000000000000FFFF1FFFFFFFFFF8001FFFFFFFFFF07FFE0000000000000000000000000 -0000000000000000000000000FC0000000000000000001E000000000007FFFFFF80000000000003E -00000000000000000000000000000000000000000000000000001FFFE3FFFFFFFFFF8001FFFFFFFF -FF87FFE00000000000000000000000000000000000000000000000000FC0000000000000000003C0 -0000000000FFFFFFE00000000000001F000000000000000000000000000000000000000000000000 -00003FFFC7FFFFFFFFFF8000FFFFFFFFFFC3FFF80000000000000000000000000000000000000000 -000000000FC0000000000000000007800000000001FFFFFF800000000000000F8000000000000000 -0000000000000000000000000000000000007FFF8FFFFFFFFFFF0000FFFFFFFFFFE1FFFC00000000 -00000000000000000000000000000000000000000FC000000000000000000F000000000003FFFFFF -0000000000000007C000000000000000000000000000000000000000000000000001FFFF1FFFFFFF -FFFF0000FFFFFFFFFFF0FFFE0000000000000000000000000000000000000000000000000FC00000 -0000000000001C000000000007FFFFFC0000000000000003E0000000000000000000000000000000 -00000000000000000003FFFE3FFFFFFFFFFF00007FFFFFFFFFFC7FFF000000000000000000000000 -0000000000000000000000000FC000000000000000003C000000000007FFFFFC0000000000000001 -F000000000000000000000000000000000000000000000000007FFFC7FFFFFFFFFFE00007FFFFFFF -FFFC3FFF8000000000000000000000000000000000000000000000000FC000000000000000007800 -000000000FFFFFFC0000000000000000F80000000000000000000000000000000000000000000000 -000FFFF87FFFFFFFFFFE00007FFFFFFFFFFE1FFFC000000000000000000000000000000000000000 -000000000FC00000000000000000F000000000000FFFFFFFC0000000000000007800000000000000 -00000000000000000000000000000000003FFFF0FFFFFFFFFFFE00003FFFFFFFFFFF0FFFF0000000 -00000000000000000000000000000000000000000FC00000000000000001E000000000000FFFFFFF -FF000000000000003C0000000000000000000000000000000000000000000000007FFFF1FFFFFFFF -FFFC00003FFFFFFFFFFF87FFF800000000000000000000000000000000000000000000000FC00000 -000000000001C000000000001FFFFFFFFFF00000000000001E000000000000000000000000000000 -000000000000000000FFFFC3FFFFFFFFFFFC00003FFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC000000000000000038000000000001FFFFFFFFFFE000000000000 -0F000000000000000000000000000000000000000000000001FFFF87FFFFFFFFFFFC00003FFFFFFF -FFFFE3FFFE00000000000000000000000000000000000000000000000FC000000000000000078000 -000000003FFFFFF00FFFC00000000000070000000000000000000000000000000000000000000000 -03FFFF8FFFFFFFFFFFFC00003FFFFFFFFFFFF1FFFF80000000000000000000000000000000000000 -000000000FC0000000000000000F0000000000007FFFFFF0007FF000000000000780000000000000 -000000000000000000000000000000000FFFFF1FFFFFFFFFFFFF0000FFFFFFFFFFFFF0FFFFC00000 -00000000000000000000000000000000000000000FC0000000000000001E000000000001FFFFFFF0 -000FFC000000000003C0000000000000000000000000000000000000000000001FFFFE1FFFFFFFFF -FFFFC003FFFFFFFFFFFFF87FFFE0000000000000000000000000000000000000000000000FC00000 -00000000001C000000000007FFFFFFF00000FF000000000001E00000000000000000000000000000 -00000000000000003FFFFC3FFFFFFFFFFFFFE00FFFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC0000000000000003C00000000001FFFFFFFF000003F8000000000 -01F0000000000000000000000000000000000000000000007FFFF87FFFFFFFFFFFFFF00FFFFFFFFF -FFFFFE1FFFF8000000000000000000000000000000000000000000000FC000000000000000380000 -0000003FFFFFFFF800000FE00000000000F000000000000000000000000000000000000000000000 -FFFFF8FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF1FFFFC000000000000000000000000000000000000 -000000000FC000000000000000700000000000FF1FFFFFF8000003F8000000000078000000000000 -00000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF0FFFFF0000 -00000000000000000000000000000000000000000FC000000000000000F00000000001F81FFFFFFC -000000FE00000000007C00000000000000000000000000000000000000000007FFFFE3FFFFFFFFFF -FFFFF00FFFFFFFFFFFFFFF87FFFF800000000000000000000000000000000000000000000FC00000 -0000000000E00000000007F00FFFFFFC0000003F00000000003C0000000000000000000000000000 -000000000000000FFFFFC7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFC3FFFFC0000000000000000000 -0000000000000000000000000FC000000000000001E0000000000FC00FFFFFFE0000001F80000000 -001E0000000000000000000000000000000000000000003FFFFF87FFFFFFFFFFFFFFF00FFFFFFFFF -FFFFFFE3FFFFF00000000000000000000000000000000000000000000FC000000000000003C00000 -00001F8007FFFFFF00000007C0000000000E0000000000000000000000000000000000000000007F -FFFF8FFFFFFFFFFBFFFFF00FFFFFFFFFFFFFFFF1FFFFF80000000000000000000000000000000000 -000000000FC00000000000000380000000003E0007FFFFFF80000003F0000000000F000000000000 -000000000000000000000000000001FFFFFF1FFFFFFFFFC03FFFF00FFFFFFFFFFFFFFFF0FFFFFE00 -00000000000000000000000000000000000000000FC0000000000000078000000000FC0007FFFFFF -C0000000F80000000007800000000000000000000000000000000000000003FFFFFF3FFFFFFFFE00 -0FFFF00FFFFBFFFFFFFFFFF87FFFFF0000000000000000000000000000000000000000000FC00000 -000000000F0000000001F00003FFFFFFF00000007C00000000078000000000000000000000000000 -0000000000000FFFFFFC7FFFFFFFF80007FFF00FFFF01FFFFFFFFFFC7FFFFFC00000000000000000 -0000000000000000000000000FC00000000000000E0000000003E00001FFFFFFFC0000003E000000 -0003C0000000000000000000000000000000000000001FFFFFF8FFFFFFFFE00003FFF00FFFF001FF -FFFFFFFE3FFFFFE000000000000000000000000000000000000000000F800000000000001E000000 -0007E00001FFFFFFFE0000000F0000000001C0000000000000000000000000000000000000007FFF -FFF9FFFFFFFF800007FFF00FFFF0007FFFFFFFFF1FFFFFF800000000000000000000000000000000 -000000000F800000000000001E000000000F800000FFFFFFFF800000078000000001E00000000000 -0000000000000000000000000000FFFFFFF1FFFFFFFE00001FFFF00FFFF8003FFFFFFFFF0FFFFFFC -00000000000000000000000000000000000000000FC00000000000003C000000001F0000007FFFFF -FFC0000003C000000001E000000000000000000000000000000000000003FFFFFFE3FFFFFFFC0000 -7FFFF00FFFFFF83FFFFFFFFF8FFFFFFE00000000000000000000000000000000000000000FC00000 -0000000038000000003E0000003FFFFFFFE0000001E000000000F000000000000000000000000000 -000000000007FFFFFFE3FFFFFFF80003FFFFF00FFFFFFE1FFFFFFFFFC7FFFFFF8000000000000000 -0000000000000000000000000FC000000000000078000000007C0000001FFFFFFFF0000000F00000 -0000700000000000000000000000000000000000000FFFFFFFC7FFFFFFF00007FFFFF00FFFFFFF07 -FFFFFFFFC3FFFFFFC0000000000000000000000000000000000000000FC000000000000070000000 -007800000007FFFFFFF80000007800000000780000000000000000000000000000000000000FFFFF -FF87FFFFFFE0000FFFFFF00FFFFFFFC3FFFFFFFFE3FFFFFFE0000000000000000000000000000000 -000000000FC0000000000000F000000000F000000003FFFFFFFC0000007800000000780000000000 -000000000000000000000000001FFFFFFF8FFFFFFFE0003FFFFFF00FFFFFFFE1FFFFFFFFE1FFFFFF -F0000000000000000000000000000000000000000FC0000000000000F000000000F000000001FFFF -FFFE0000003C000000003C0000000000000000000000000000000000001FFFFFFF8FFFFFFFC0007F -FFFFF00FFFFFFFE0FFFFFFFFF1FFFFFFF8000000000000000000000000000000000000000FC00000 -00000000E000000001E0000000007FFFFFFF0000001E000000003C00000000000000000000000000 -00000000003FFFFFFF8FFFFFFFC0007FFFFFF00FFFFFFFF07FFFFFFFF1FFFFFFF800000000000000 -0000000000000000000000000FC0000000000001E000000003C0000000001FFFFFFF0000000F0000 -00001C0000000000000000000000000000000000003FFFFFFF0FFFFFFFC0007FFFFFF00FFFFFFFF0 -7FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC0000000000001E0000000 -03C00000000007FFFFFF0000000F800000001E0000000000000000000000000000000000001FFFFF -FF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000 -000000000FC0000000000001C000000007800000000001FFFFFF80000007800000001E0000000000 -000000000000000000000000001FFFFFFF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFF -F8000000000000000000000000000000000000000FC0000000000003C00000000F0000000000007F -FFFF80000003C00000000E0000000000000000000000000000000000001FFFFFFF0FFFFFFFC0007F -FFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC00000 -00000003800000000E0000000000003FFFFFC0000003C00000000F00000000000000000000000000 -00000000000FFFFFFF8FFFFFFFE0007FFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF800000000000000 -0000000000000000000000000FC0000000000003800000001E0000000000000FFFFFC0000001E000 -0000070000000000000000000000000000000000000FFFFFFF87FFFFFFE0007FFFFFF00FFFFFFFE0 -7FFFFFFFF1FFFFFFF0000000000000000000000000000000000000000FC000000000000780000000 -1C00000000000007FFFFC0000001E00000000700000000000000000000000000000000000007FFFF -FF87FFFFFFF0003FFFFFF00FFFFFFFC0FFFFFFFFE1FFFFFFF0000000000000000000000000000000 -000000000FC0000000000007000000003C00000000000003FFFFC0000000F0000000078000000000 -0000000000000000000000000003FFFFFFC7FFFFFFF8001FFFFFE00FFFFFFF81FFFFFFFFE3FFFFFF -E0000000000000000000000000000000000000000FC0000000000007000000007800000000000003 -FFFFE0000000700000000380000000000000000000000000000000000000FFFFFFC3FFFFFFFC000F -FFFFF00FFFFFFF03FFFFFFFFE3FFFFFFC0000000000000000000000000000000000000000FC00000 -00000007000000007800000000000001FFFFE0000000780000000380000000000000000000000000 -0000000000007FFFFFE1FFFFFFFF0007FFFFF00FFFFFFC07FFFFFFFFC7FFFFFF0000000000000000 -0000000000000000000000000FC000000000000E000000007000000000000001FFFFE00000003800 -000003C00000000000000000000000000000000000003FFFFFF1FFFFFFFFC000FFFFF81FFFFFF01F -FFFFFFFF87FFFFFC00000000000000000000000000000000000000000FC000000000000E00000000 -F000000000000000FFFFE00000003C00000003C00000000000000000000000000000000000000FFF -FFF8FFFFFFFFF0003FFFFFFFFFFF807FFFFFFFFF8FFFFFF800000000000000000000000000000000 -000000000FC000000000000E00000000F000000000000000FFFFC00000001C00000003C000000000 -000000000000000000000000000007FFFFF87FFFFFFFFE0007FFFFFFFFF801FFFFFFFFFF0FFFFFE0 -00000000000000000000000000000000000000000FC000000000001E00000001E000000000000000 -7FFFC00000001E00000003E000000000000000000000000000000000000001FFFFFC3FFFFFFFFF80 -000FFFFFFF801FFFFFFFFFFE1FFFFFC000000000000000000000000000000000000000000FC00000 -0000001E00000001E0000000000000007FFFC00000001FFFFFFFFFE0000000000000000000000000 -00000000000000FFFFFE3FFFFFFFFFF80000001F8001FFFFFFFFFFFC3FFFFF000000000000000000 -0000000000000000000000000FC000000000001C00000001C0000000000000007FFFC00000001FFF -FFFFFFC0000000000000000000000000000000000000007FFFFF1FFFFFFFFFFF80000000000FFFFF -FFFFFFFC7FFFFE0000000000000000000000000000000000000000000FC000000000001C00000003 -C0000000000000007FFF8000000003FFFFFFFF80000000000000000000000000000000000000001F -FFFF8FFFFFFFFFFFFE00000003FFFFFFFFFFFFF87FFFFC0000000000000000000000000000000000 -000000000FC000000000001C0000000380000000000000007FFF8000000000000000000000000000 -0000000000000000000000000000000FFFFF87FFFFFFFFFFFFFE0003FFFFFFFFFFFFFFF0FFFFF800 -00000000000000000000000000000000000000000FC000000000003C000000038000000000000000 -7FFF800000000000000000000000000000000000000000000000000000000007FFFFC3FFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFE1FFFFE00000000000000000000000000000000000000000000FC00000 -000000380000000780000000000000007FFF80000000000000000000000000000000000000000000 -0000000000000003FFFFE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3FFFFC0000000000000000000 -0000000000000000000000000FC00000000000380000000780000000000000007FFF000000000000 -000000000000000000000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFC7FFFF800000000000000000000000000000000000000000000FC000000000003800000007 -0000000000000000FFFE000000000000000000000000000000000000000000000000000000000000 -7FFFF0FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFF87FFFF000000000000000000000000000000000000 -000000000FC0000000000038000000070000000000000000FFFC0000000000000000000000000000 -000000000000000000000000000000003FFFF8FFFFFFFFFFFFFFE00FFFFFFFFFFFFFFF0FFFFC0000 -00000000000000000000000000000000000000000FC0000000000038000000070000000000000000 -FFF80000000000000000000000000000000000000000000000000000000000001FFFFC7FFFFFFFFF -FFFFE007FFFFFFFFFFFFFE1FFFF8000000000000000000000000000000000000000000000FC00000 -00000078000000070000000000000001FFF800000000000000000000000000000000000000000000 -00000000000000000FFFFE3FFFFFFFFFFFFFE007FFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC00000000000780000000F0000000000000001FFF0000000000000 -00000000000000000000000000000000000000000000000007FFFE1FFFFFFFFFFFFFE007FFFFFFFF -FFFFFC3FFFE0000000000000000000000000000000000000000000000FC00000000000300000000E -0000000000000003FFE0000000000000000000000073C00000000000000000000000000000000000 -01FFFF0FFFFFFFFFFFFFC007FFFFFFFFFFFFF87FFF80000000000000000000000000000000000000 -000000000FC00000000000700000000E0000000000000003FF80000000000381FFF81FFF83FFF000 -0000000000000000000000000000000000FFFF87FFFFFFFFFFFFC007FFFFFFFFFFFFF0FFFF000000 -00000000000000000000000000000000000000000FC00000000000700000000E0000000000000007 -FF000000000007C1FFFC3FFF87FFF00000000000000000000000000000000000007FFFC3FFFFFFFF -FFFFC007FFFFFFFFFFFFE1FFFE00000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000000000FFC000000000007C3FFFC3FFF87FFF0000000000000000000 -0000000000000000003FFFE1FFFFFFFFFFFFC003FFFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000000001FF000000000000FE3 -FFF87FFF87FFC00000000000000000000000000000000000000FFFF0FFFFFFFFFFFFC003FFFFFFFF -FFFF87FFF000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000000003FE0000000000007E3FF807F8007F0000000000000000000000000000000000000 -0007FFF87FFFFFFFFFFFC007FFFFFFFFFFFF0FFFE000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000000E7FFFE0000000000007E3F0007F0007E00000 -000000000000000000000000000000000003FFFC7FFFFFFFFFFFC003FFFFFFFFFFFF1FFFC0000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE0000000000FE3F0007F0007E00000000000000000000000000000000000000001FFFE1FFFFFFF -FFFFC003FFFFFFFFFFFE3FFF8000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000003FFFFFFFF0000000000FE3FC007FC007FF00000000000000000000 -000000000000000000007FFF0FFFFFFFFFFFC003FFFFFFFFFFF87FFE000000000000000000000000 -0000000000000000000000000FC00000000000700000001E00000000003E071E7FF0000000000FE3 -FFF87FFF07FFE0000000000000000000000000000000000000007FFF87FFFFFFFFFFC003FFFFFFFF -FFF8FFFC0000000000000000000000000000000000000000000000000FC00000000000700000001E -00000000001E000000F0000000000FE3FFF87FFF87FFF00000000000000000000000000000000000 -00001FFF83FFFFFFFFFFC003FFFFFFFFFFE1FFF80000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000001FFFFFFFF00000000007E3FFFC7FFF87FFE000 -0000000000000000000000000000000000000FFFE3FFFFFFFFFFC003FFFFFFFFFFC3FFF000000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE00000000007E3FFF87FFF07FFE00000000000000000000000000000000000000007FFE1FFFFFF -FFFFC003FFFFFFFFFFC7FFE00000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000000FFFFFFFE0000000000FE3FFE03FFC07FC00000000000000000000 -0000000000000000000003FFF0FFFFFFFFFFC003FFFFFFFFFF87FFC0000000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000007C0000FC00000000007E3 -F8003F0007E0000000000000000000000000000000000000000001FFF87FFFFFFFFFC003FFFFFFFF -FF0FFF800000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000003C00007800000000007E3F8007F0007E0000000000000000000000000000000000000 -000000FFFC3FFFFFFFFFC003FFFFFFFFFE1FFF000000000000000000000000000000000000000000 -000000000FC00000000000700000000E000000000003C00007800000000007E3F8007F0007E00000 -000000000000000000000000000000000000007FFE1FFFFFFFFFC003FFFFFFFFFC3FFE0000000000 -00000000000000000000000000000000000000000FC00000000000700000000E000000000003C000 -07000000000007E3F8003F8007F00000000000000000000000000000000000000000003FFF0FFFFF -FFFF8003FFFFFFFFF87FFC000000000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000003C00007000000000007E3FFF83FFF87FFF0000000000000000000 -00000000000000000000001FFF87FFFFFFFF8003FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC00000000000780000000E000000000003C00007000000000007E3 -FFFC3FFF87FFF800000000000000000000000000000000000000000FFFC3FFFFFFFFC003FFFFFFFF -E1FFF0000000000000000000000000000000000000000000000000000FC00000000000780000000E -000000000003C00007000000000007E3FFFC3FFF87FFF80000000000000000000000000000000000 -00000007FFE1FFFFFFFFC003FFFFFFFFC3FFE0000000000000000000000000000000000000000000 -000000000FC00000000000780000000E000000000001C00007000000000007C1FFFC3FFF83FFF000 -0000000000000000000000000000000000000003FFF0FFFFFFFFC003FFFFFFFF87FFC00000000000 -00000000000000000000000000000000000000000FC000000000007800000006000000000001C000 -0700000000000381FFF81FFF00FF80000000000000000000000000000000000000000001FFF87FFF -FFFF8003FFFFFFFF0FFF80000000000000000000000000000000000000000000000000000FC00000 -0000003800000007000000000001C00007000000000000000000000000000000000000000E000000 -000000000000000000000000FFFC3FFFFFFF8003FFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC000000000003800000007000000000001C0000700000000000000 -0000000000000000000000001F0000000000000000000000000000003FFE1FFFFFFF8003FFFFFFFC -3FFC00000003FFFF80000000000000000000000000000000000000000FC000000000003800000007 -000000000001C0000F000000000000000000000000000000000000003F000007E000000000000000 -000070001FFF07FFFFFF8003FFFFFFF87FF800000007FFFFE0000000FFFFE0000000000000000000 -000000000FC000000000003C00000007800000000001C0000E000000000000000000000000000000 -000000007E00007FFE000000FFF000000000F0000FFF83FFFFFFC003FFFFFFE0FFF00000000FFFFF -F8000001FFFFFC00000E000000000000000000000FC000000000003C00000003800000000001C000 -0E00000000000000000000000000000000000001FE0003FFFFC0000FFFFE00000001F00007FFE1FF -FFFFF007FFFFFFC1FFE0007800FFFFFFF8300001FFFFFE00003F000000700000000000000FC00000 -0000001C00000003800000000001C0000E00000000000000000000000000000000000003FE000FFF -87F0003FFE0780000003F00003FFF0FFFFFFFFFFFFFFFF83FFC000F801FFFFFFFCF8003FFFFFFF0E -003F000000F80000000000000FC000000000001C00000003C00000000000E0000E00000000000000 -000000000000000000000007FE001FFC01F8007FF001C0000007F00001FFF87FFFFFFFFFFFFFFF07 -FF8001FC03FFFFFFFFF8007FFFFFFF9F007F000001F80000000000000FC000000000001C00000001 -C00000000000E0000E00000000000000000000000000000000000007FC003FE0007C00FFC000E000 -000FF00000FFFC3FFFFFFFFFFFFFFE0FFF0003FC03FFFFFFFFFC00FFFFFFFFFF807F800001FC0000 -000000000FC000000000001E00000001E00000000000E0000E000000000000000000000000000000 -0000000FFC007FC0003C01FF00007000000FE000007FFE1FFFFFFFFFFFFFFC3FFE0003FC07FDFFFF -FFFC00FFFFFFFFFF807F800003FC0000000000000FC000000000001E00000001E00000000000E000 -0C0000000000000000000000000000000000001FFC00FFC0001E03FE00007000001FE000003FFF0F -FFFFFFFFFFFFF07FFC0003FC07F8003FE7FC00FF3FFFFFFF00FF000003FC0000000000000FC00000 -0000000E00000000E00000000000E0001C00000000001FFFFFFEF000000000000000007FF800FF80 -001F07FC00003800003FE000001FFF83FFFFFFFFFFFFE0FFF80003FC07F8000007FC01FF001F7EFF -80FF000003F80000000000000FC000000000000E00000000F00000000000E0001C00000000001FFF -FFFFFF80000000000000007FF801FE00000F07FC00003800007FC000001FFFC1FFFFFFFFFFFFC1FF -F00003FC07F8000007FC01FF000000FF80FF000007F80000000000000FC000000000000E00000000 -700000000000E0001C00000000003FFFFFFFFF8000000000000000FFF803FE00000F8FF800001C00 -00FFC000000FFFE0FFFFFFFFFFFF83FFE00007FC0FF8000007F801FF000000FF80FF000007F80000 -000000000FC000000000000F00000000780000000000E0001C00000000007C00FFFFFFC000000000 -000001FFF003FC0000078FF000001C0001FF80000007FFF8FFFFFFFFFFFF07FFC00007FC0FF80000 -07FC01FF000000FF00FF000007F80000000000000FC0000000000007000000007800000000006000 -1C00000000007800000007C000000000000003FFF007F80000079FE000001C0003FF80000003FFF8 -3FFFFFFFFFFE0FFFC00007F80FF8000007F801FF000000FF00FF000007F80000000000000FC00000 -00000007000000003C000000000060001C00000000007800000007C000000000000007FFF007F800 -00079FE000001C0007FF80000001FFFE1FFFFFFFFFFC1FFF000007F80FF0000007F801FE000000FF -00FF000007F80000000000000FC0000000000007800000003C000000000070003C0000000000F000 -000003800000000000000FFFE007F80000079FE000001C000FFF00000000FFFF0FFFFFFFFFF83FFF -000007F80FF0000007F801FE000000FF00FF000007F80000000000000FC000000000000380000000 -1E00000000007000380000000000F000000007800000000000001FFFE007F0000007BFC000001C00 -1FFF000000007FFF87FFFFFFFFE0FFFE000007F80FF0000007F801FE000000FF00FF000007F80000 -000000000FC0000000000003800000001E00000000007000380000000001E0000000070000000000 -00003FFFE007F00000071FC000001C003FFF000000003FFFC1FFFFFFFFC1FFFC000007F80FF00000 -07F801FE000000FF00FF000007F80000000000000FC0000000000003C00000000F00000000007000 -380000000003E000000007000000000000007F9FE00FF000000F1FC000001C007FFE000000001FFF -F0FFFFFFFF87FFF8000007F80FF0000007F801FE000000FF01FF000007F00000000000000FC00000 -00000001C00000000700000000007000380000000003C00000000F00000000000000FF1FC00FF000 -000F1FC000001C01FFFE000000000FFFF87FFFFFFF0FFFF0000007F80FF000000FF801FE000000FF -01FE00000FF00000000000000FC0000000000001E000000007800000000070003800000000078000 -00000E00000000000001FE3FC007F000001E1FC000003C03F9FE0000000007FFFC3FFFFFFC1FFFE0 -000007F80FF000000FF801FE000001FF01FE00000FF00000000000000FC0000000000001E0000000 -03C000000000700038000000000F800000001E00000000000003FC3F8007F800003E1FC000007807 -F1FE0000000003FFFE0FFFFFF87FFFC0000007F80FF000000FF801FE000001FF01FE00000FF00000 -000000000FC0000000000000E000000001E000000000700078000000001F000000001C0000000000 -0007F87F8007F800007C0FE00000780FE3FC0000000001FFFF87FFFFE0FFFF80000007F80FF00000 -0FF001FE000001FE01FE00000FF00000000000000FC0000000000000F000000001E0000000003000 -70000000001E000000001C0000000000001FF07F8007FC0000FC0FE00001F01FC3FC0000000000FF -FFC1FFFFC1FFFF0000000FF00FF000000FF001FE000001FE01FE00000FF00000000000000FC00000 -000000007000000000F000000000380070000000003C000000003C0000000000003FE07F8003FE00 -01F80FF00003E07F83FC00000000007FFFF0FFFF07FFFE0000000FF00FF000000FF001FC000001FE -00FE00000FE00000000000000FC00000000000007800000000780000000038007000000000780000 -0000380000000000007FC0FF0003FF0007F007F80007E0FF07F800000000003FFFF83FFC0FFFFC00 -000007E007F000000FE001FC000001FE00FF00000FE00000000000000FC000000000000078000000 -003C0000000038007000000000F80000000078000000000001FF80FF0001FF803FE003FC001FC1FE -07F800000000001FFFFE07F03FFFF800000007C007FF00000FE001FE000001FC00FFFFFF8FC00000 -000000000FC00000000000003C000000001E0000000038007000000000F000000000700000000000 -03FF00FE0001FFFFFFE003FF807FC3FC07F800000000001FFFFF00007FFFF0000000000007FFFFFF -E7C001FFFFFFF1F8007FFFFFFF800000000000000FC00000000000003C000000001F000000003800 -7000000001E000000000F0000000000007FE01FE0001FFFFFFC003FFFFFF8FF80FF800000000000F -FFFFC001FFFFE0000000000003FFFFFFF80000FFFFFFFFE0007FFFFFF8000000000000000FC00000 -000000001E000000000F8000000038006000000003C000000000F0000000000007FE01FE0003FFFF -FFC003FFFFFFFFF00FF0000000000007FFFFF007FFFFE0000000000003FFFFFFFC0000FFFFFFFF80 -003FFFFFFC000000000000000FC00000000000001E0000000007C000000038006000000007800000 -0001E000000000001FFC03FE0007FFFFFFE007FFFBFFFFF01FF0000000000003FFFFFF3FFFFFC000 -0000000001FFFFFFFC0000FFFFFFFF80003FFFFFFC000000000000000FC00000000000000F000000 -0003E00000001800E00000000F0000000001E000000000003FF003FE000FFFF0FFE01FFF803FFFE0 -1FF0000000000001FFFFFFFFFFFF8003F000000001FFFFFFFC0000FFFFFFFF80001FFFFFFC000000 -000000000FC00000000000000F0000000001F00000001C00E00000003E0000000003C00000000000 -3FE003FC001FFFC007F83FFC001FFFC01FF0000000000001FFFFFFFFFFFF0007FC0000E000FFFFFF -FE0001FFFFFFFF80000FFFFFFFC00000000000000FC0000000000000078000000000780000001C00 -E00000007E0000000003C000000000001F0007FC003FFE0001FFFFF8000FFFC03FF0000000000000 -FFFFFFFFFFFE000FFE0001F0007FFFFFFFE003FFFFFFFFF80003FFFFFFE00000000000000FC00000 -000000000780000000007C0000001C00E0000000F80000000007800000000000000007FC007FF800 -007FFFE0001FFFC07FFC0000000000007FFFFFFFFFFE001FFF0003F0001FFFFFFFF003FFFFFFFFFC -000001840FF00000000000000FC000000000000003C0000000001E0000001C00E0000001F0000000 -000F000000000000000007F800FFE000003FFFC0003FFFFFFFFFFFF8000000003FFFFFFFFFFC001F -FF0007F80000000007F803FFFFFFFFFE000000000FF00000000000000FC000000000000001E00000 -00001F8000001C00E0000003F0000000000F00000000000000000FF801FFC000001FFF00007FFFFF -FFFFFFFC000000001FFFFFFFFFF80037FB8007F80000000007F807FE000000FE000000000FF00000 -000000000FC000000000000001E00000000007E000001C01C000000FC0000000001E000000000000 -00000FF803FF8000001FFF0000FFFFFFFFFFFFFC000000001FFFFFFFFFF00037F98007F800000000 -07F807FC000000FF000000000FF00000000000000FC000000000000000F00000000003F000001C01 -C000003F80000000001E00000000000000000FF803FF0000001FFE00007FFFFFFFF0000000000000 -0FFFFFFFFFE00037F98007F80000000007F807FC000001FF000000000FF00000000000000FC00000 -0000000000F00000000000FC00001E01C000007E00000000003C00000000000000001FF807FE0000 -001FFC0000007F80FFE000000000000007FFFFFFFFC00037F18007F8000000000FF807F8000001FF -000000000FF00000000000000FC0000000000000007800000000007F00000E01C00001F800000000 -007800000000000000001FF807FE0000001FFC0000001F00FFC000000000000007FFFFFFFF800037 -F18007F8000000000FF807F8000001FF000000000FF00000000000000FC0000000000000003C0000 -0000001FC0000E01C00007E000000000007800000000000000001FF007FC0000001FF80000001E00 -FFC000000000000003FFFFFFFF800030238007F8000000000FF807F8000001FF000000000FF00000 -000000000FC0000000000000001C00000000000FF0000E01C0001FC00000000000F0000000000000 -00003FF00FF80000003FF80000001E00FFC000000000000001FFFFFFFF000038070007F800000000 -0FF807F8000001FF000000000FF00000000000000FC0000000000000001E000000000001FE000E01 -C000FE000000000001E000000000000000003FF00FF80000003FF00000000E00FF80000000000000 -00FFFFFFFE00001E0F0007F8000000000FF007F8000001FF000000000FF000000000000007C00000 -00000000000F0000000000007FE00E03C00FF8000000000003E000000000000000007FF00FF00000 -003FF00000001E00FF80000000000000007FFFFFFC00000FFE000FF8000000000FF007F8000001FE -000000000FF00000000000000FC000000000000000078000000000001FFE1E03C0FFE00000000000 -07C000000000000000007FF00FF00000003FF00000001C01FF80000000000000003FFFFFF8000007 -F8000FF8000000000FF007F8000001FE000000001FF00000000000000FC00000000000000003C000 -0000000003FFFE03FFFF000000000000078000000000000000007FE00FF00000003FF00000001C01 -FF80000000000000001FFFFFF000000000000FF8000000000FF00FF8000001FE000000001FF00000 -000000000FC00000000000000001E00000000000007FFE03FFF80000000000000F00000000000000 -00007FE00FF00000003FF00000003801FF80000000000000001FFFFFF000000000000FF800000000 -0FF00FF8000001FE000000001FF00000000000000FC00000000000000001F00000000000000FFF03 -FFC00000000000001E000000000000000000FFE00FF00000003FF00000007801FF80000000000000 -000FFFFFE000000000000FF8000000000FF00FF8000001FE000000001FE00000000000000FC00000 -000000000000F800000000000000FF03F0000000000000003C000000000000000000FFE00FF00000 -007FF00000007001FF000000000000000007FFFFC000000000000FF8000000000FF00FF8000001FE -000000001FE00000000000000FC0000000000000000078000000000000000F078000000000000000 -7C000000000000000000FFE007F80000007FF0000000E001FF000000000000000007FFFF80000000 -00000FF8000000000FF00FF8000001FE000000001FE00000000000000FC000000000000000003C00 -00000000000007078000000000000000F8000000000000000001FFC007F8000000FFF8000001E003 -FF000000000000000003FFFF8000000000000FF0000000000FF00FFC000001FE000000001FE00000 -000000000FC000000000000000001E0000000000000007070000000000000001F000000000000000 -0001FFC007FC000001FFFC000003C003FF000000000000000001FFFF0000000000000FF000000000 -0FF00FFFFC0001FE000000001FE00000000000000FC000000000000000000F000000000000000787 -0000000000000003E0000000000000000001FFC003FE000003FFFC0000078003FF00000000000000 -0001FFFE0000000000000FF0000000000FF00FFFFFFFC1FE000000001FE00000000000000FC00000 -0000000000000F80000000000000078F0000000000000007C0000000000000000003FF8003FF0000 -0FE7FE00000F0003FF000000000000000000FFFE0000000000000FF0000000000FF00FFFFFFFF1FE -000000001FE00000000000000FC0000000000000000007C0000000000000078F0000000000000007 -80000000000000000003FF8001FFC0001F03FF00001E0003FE0000000000000000007FFC00000000 -00000FF0000000000FF00FFFFFFFFBFE000000001FE00000000000000FC0000000000000000001E0 -000000000000078F000000000000001F80000000000000000003FE0000FFF800FE00FFC000780007 -FC0000000000000000007FF80000000000000FE0000000000FE00FFFFFFFFFFE000000001FC00000 -000000000FC0000000000000000001F0000000000000078E000000000000001E0000000000000000 -0003FC00007FFFFFF0007FF001F00007F80000000000000000003FF000000000000007E000000000 -0FE00FFFFFFFFFFC000000001FC00000000000000FC0000000000000000000FC000000000000038E -000000000000003C00000000000000000003E000001FFFFFC0001FFE0FE00007E000000000000000 -00000FC000000000000007C0000000000FC007FFFFFFFFFC000000000F800000000000000FC00000 -000000000000007E000000000000038E00000000000000F80000000000000000000000000007FFFE -000007FFFF000007C0000000000000000000000000000000000001800000000007800387FFFFFCF8 -0000000006000000000000000FC00000000000000000003F000000000000038E00000000000001F0 -0000000000000000000000000000FFF0000000FFF800000780000000000000000000000000000000 -000000000000000000000001FFFFF8000000000000000000000000000FC00000000000000000001F -80000000000003CE00000000000003E0000000000000000000000000000000000000000000000006 -0000000000000000000000000000000000000000000000000000000003FFE0000000000000000000 -000000000FC000000000000000000007C0000000000003FE0000000000000FC00000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC000000000000000000003F0000000000001FC -0000000000001F000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -0000000000000001F8000000000001FC0000000000003E0000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC0000000000000000000007E00000000000070000000000000FC00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -1F00000000000000000000000001F000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000F80000000000000000000000007E0000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC00000000000000000000003E0000000000000 -00000000001F80000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -000000000000000001F800000000000000000000007E000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000007E0000000000000000000000FC0000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -001F8000000000000000000003F00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000FE00000000000000000000FE000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003F80000000000 -000000003F8000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000FE000000000000000001FF00000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000003FE00000000000000007F8000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000FF0000000000000001FF0000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000001FF00000000000000FF800000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000007FC0000000 -00001FFE000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000FFE0000000000FFF00000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000001FFF80000003FFF8000000000 -000000000000000000000007C0000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -000000001FFFF9C0FFFFFC0000000000000000000000000003C0001FF07FE1C063FFC30083FE0000 -000FE01FF000FF0000020007F010700E00001F00100000000F800F803F801FE03FC0FF80FE01FC00 -000000000FC0000000000000000000000000000001FFFFFFFFFF8000000000000000000000000000 -07E0003FF8FFF3E0F3FFE781C7FF1E1E003FF07FF801FFC3800FFE1FF87FF87FE0E07FC03E038000 -1FF87FF07FE03FF07FF1FFE3FF03FE00000000000FC00000000000000000000000000000001FFFFF -FFF0000000000000000000000000000007E0007FFCFFF3F0F3FFE781E7FF9E1E007FF87FF803FFE7 -801FFE3FFC7FFCFFF0F1FFE03E0780003FFC7FF8FFF07FF8FFF9FFE3FF87FF00000000000FC00000 -00000000000000000000000000003FFFF00000000000000000000000000000000FF000FFFFFFE3F8 -F1FFC781E7FFDF3E00FFFC7FF003FFC7801FFC3FFE7FF8FFF9F3FFF07F07C0003FFEFFF9FFF8FFFC -FFF9FFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000FF000FC3FFF03F8F07F07C3EFEFCFFE00F87E7E0003F007801F807C3E0FC0FC -F9F3E1F07F07C0003F3FFFFFF9FCF87CFCF9F807E7CFCF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000000FF000F818FF83FCF03E0783EFC7CFFC -00F83E7C0003F007801F00780C07C0F8F9F7E060FF0780003E1FFC7FF07DF818FCFFF807E18FC000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -1FF801F800FFE3FFF03E0783EFEFC7FC01F01FFFC003FF87801FF8780007C0F8F9F7C000FF878000 -3E3FFCFFE07FF000FFFBFF87FC0FF800000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000001FF801F000FFE3FFF03E0783EFFF87F801F01F7FE003FFC7 -801FFCF8000780FFF9FFC000FF87C0003FFFFFFFE07FF0F8FFF9FFC3FF0FFE00000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000003FF801F000FFE3FF -F03E07C3EFFF83F801F01E7FF003FFC7801FFCF8000780FFF1FFC001FF87C0003FFEFFFFE03FF0FC -FFF9FFC1FF87FF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000003FFC00F000FFC3FFF03E07C3EFFF83F001F01F7FE003FF87801FFCF8000780FF -F1FFC001FFC7C0003FFCFFFFE07FF1FEFFF9FF80FFC1FF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000003FFC00F809FC03FFF03E07C3EFFF83F0 -00F01F7E0003F007801F80F8000780FFF8FFC003FFC7C0003FF8FFFFE07FF0FEFFF9F8001FC0FF80 -000000000FE000000000000000000000000000000000000000000000000000000000000000000000 -7FFC00F81FFC03EFF03E07C3EFC7C1F000F83EFC0003F007C01F00780C07C0FDF8F3C063FFC7C000 -3FC0FDFFE07DF87EFDF9F0070FC41F80000000000FE0000000000000000000000000000000000000 -000000000000000000000000000000007FFE00FC3FFC03E7F03E07C3EF87C1F000F87E7C0003F007 -C01F007C1E0780F8F9F3E0F3FFE7C0003F00F87FF0FCF87EF8FBF00787CF8F80000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000007FFE007FFFFFF3E3 -F03E07E7EF87C1E0007FFC780003FFC7FE1FF87E3E07C0F879F3F3F7FFE7FF003E00F87FFFF8FFFE -F87FFFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000007C7E007FFCFFF3E3F03E03FFC783C1E0007FF8780001FFE7FF9FFE3FFE0780F8 -78F1FFE7C3E7FF803E00F87CFFF87FFEF87FFFE7FFCFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000783E001FF8FFF3C1F01C01FFC78381E0 -003FF8780001FFE7FF9FFE1FFC0780F078F0FFE7C1E7FF801E00783C7FF03FFCF079FFE3FF87FF00 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -301C000FF07FF180F01C00FF030100E0001FE0300000FFC3FF1FFE0FF803007030607FC380C3FF00 -1C0070383FE01FFC6010FFC1FF03FE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000040000000000003800000000000 -00006003E000000000001F00000000000000000007800380000000003800F000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFFFF39CF800008008087C0000000000000000000000000000000000000000200000000 -0000000000000E01EFFDFFFFFFFFFE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC00000 -0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFF00000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00 -0000000007C000000000000000000000000000000000000000000000000000000000000000000000 -1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFE7FF8000000000000180000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000001000000000 -000018000000000000000000000000200010003C0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 ->}imagemask -showpage diff --git a/macros/inrstex/inrsinputs/inrslogo.tex b/macros/inrstex/inrsinputs/inrslogo.tex deleted file mode 100644 index 483eb81ec1..0000000000 --- a/macros/inrstex/inrsinputs/inrslogo.tex +++ /dev/null @@ -1,58 +0,0 @@ -%-*-tex-*- -%======== macros for the INRS address logo/letterhead ===== - -\def\ppa{\beginsegment \absoluteposition -\lvec h:.4 v:0 -\lvec h:.2 v:.8 -\lvec h:-.2 v:.8 -\pfill p:0 -\endsegment -} - -\def\ppb{\beginsegment \absoluteposition -\lvec h:.4 v:0 -\lvec h:.1 v:1.2 -\lvec h:-.3 v:1.2 -\pfill p:0 -\endsegment -} - -\def\inrslogo h:#1 v:#2 sc:#3 {\beginsegment -\penwidth .005 -\move h:#1 v:#2 -\unitscale #3 -\relative -\ppa -\move h:.48 v:0 -\ppa -\move h:.48 v:0 -\ppb -\endsegment} -\font\inrsaddfont = cmcsc10 -\font\eightrm = cmr8 -\def\inrsadd{\vbox{\hsize 5in \baselineskip=9pt \parskip=0pt - \leftline{\eightrm Universit\'e du Qu\'ebec} - \vskip 3pt - \leftline{\inrsaddfont Institut national de la recherche - scientifique} - \vskip 6pt - {\eightrm \obeylines \parindent=0pt - 3, place du Commerce \par - Ile-des-Soeurs\par - Verdun, Qu\'ebec\par - Canada \qquad H3E 1H6\par - T\'el\'ephone: \tele \par} - \vskip 6pt - \leftline{\inrsaddfont INRS-T\'el\'ecommunications} - }} - - -\def\inrslogoadd h:#1 v:#2 {\btg\inrslogo h:#1 v:#2 sc:.3 - \beginsegment - \move h:0 v:0 \tbox {\inrsadd} - \endsegment\etg} - -\def\inrsaddform{\titlepagestyle\finalversion - \inrslogoadd h:-.5 v:0 } - -\def\tele{(514) 765-7834} \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/inrssl.tex b/macros/inrstex/inrsinputs/inrssl.tex deleted file mode 100644 index 925a824779..0000000000 --- a/macros/inrstex/inrsinputs/inrssl.tex +++ /dev/null @@ -1,147 +0,0 @@ -% PostScript slide form -% \genform Aug 1991 -% Toulson/Beebe PS driver -% ====== simple viewgraph box ======= -\catcode`\@=11 -\def\hviewbox{\beginsegment - \unitscale {\f@ormscale} - \slidelogo - \topform - \botform - \move h:0 v:.4 - \penwidth .05 - \lvec h:8.9 v:.4 - \lvec h:8.9 v:6.9 - \move h:0 v:.4 - \lvec h:0 v:6.9 - \move h:.15 v:6.9 - \larc r:.15 sd:90 ed:180 - \move h:.15 v:7.05 - \lvec h:8.75 v:7.05 - \move h:8.75 v:6.9 - \larc r:.15 sd:0 ed:90 - \endsegment} -% ======= Slide Utilities ====== -% Horizontal form -\newtoks\slidetitle -\newdimen\slhsize \newdimen\slvsize -\long\def\sltitle#1{\vglue .03\slvsize \global\slidetitle={#1} - \vbox to 0pt{\hsize=\slhsize \rightskip=.1\hsize plus 1fill - \def\cr{\endgraf}\leftskip= .1\hsize plus 1fill\gbfont\gbbaselines - \parskip=1ex \parindent=0pt#1\vss}} -\def\shk{\showthe\leftskip\showthe\rightskip} -\let\shk=\relax -\long\def\slidebox #1#2{\vbox to \slvsize{\hsize \slhsize - \grfont\parindent=0pt - \grbaselines\parskip=2.8ex \advance\rightskip by 0pt plus 1fil - \sltitle{#1}\vfill\advance\rightskip by .05\hsize - \advance\leftskip by .05\hsize - #2\vfill}} - -\def\bl{\beginlist \samplemark{$\bullet$}} % modifies default -\def\lb{\li {$\bullet$} } -\def\lc{\li {$\circ$} } -\def\last{\li {$\ast$} } -\def\hd#1{\vskip 1ex\vbox{\veryraggedright\hangindent1em\hangafter1 - \noindent\bigfont#1}\vskip 1ex } - - -% ===== slide building macros ======= -% A slide lives in either a textform or fullsize form. The defaault is -% Fullsize. Text form reduces the size and gives a chance to add background -% Material with the slide. - -\newif\iftextform -\gdef\inrsform{\message{<< INRSFORM >>}\input inrslogo\relax \gdef\slidelogo{\i@nrsform} - \gdef\topform{}\gdef\botform{}} -\gdef\i@nrsform{\inrslogo h:.2 v:0 sc:.25 - \move h:8.9 v:.1 \textref h:R v:C - \rstext d:0 sc:{\f@ormscale} t:{\bf INRS-T\'el\'ecommunications} } -\newtoks\topdata -\newtoks\botdata -\newtoks\slidedate -\gdef\genform{\message{<< General FORM >>} - \gdef\slidelogo{\topform}\gdef\topform{\move h:0 v:.15 \textref h:L v:C - \rstext d:0 sc:{\f@ormscale} t:{\borderfont\the\topdata} } - \gdef\botform{\move h:4.45 v:7.25 - \textref h:C v:C -\rstext d:0 sc:{\f@ormscale} t:{\borderfont \the\botdata\ -- \the\slidedate} }} - -\newcount\textfontscale % computed inside textform -\gdef\textform{\message{<< Text Size >>}\long - \gdef\comment##1//{\rm ##1}\textformtrue\gdef\slidescale{.578} - \textfontscale=\the\fullfontscale \relax - \multiply\textfontscale by 1000 - \divide\textfontscale by 1728 - \fontset scaled {\the\textfontscale} - \textformfonts - \let\borderfont=\txborderfont - \textpagestyle - \slvsize = 9.84cm \slhsize = 12.5cm - \gdef\tfb{\bigskip\filbreak}} -\newcount\fullfontscale % set in defaults -\gdef\fullform{\message{<< Full Size >>} - \long\gdef\comment##1//{}\textformfalse\gdef\slidescale{1} - \fontset scaled {\the\fullfontscale} - \fullformfonts - \let\borderfont = \fxborderfont - \finalversion - \documentstyle{ - \leftmargin=.6in - \nofooterstyle - \vfootersize=0pt } - \slvsize=17cm \slhsize=21.5cm - \let\tfb=\relax} - -\long\gdef\hhslide#1#2{\btg - \segmentscale {\slidescale} - \move h:0.2 v:.4 \textref h:L v:T - \rstext d:0 sc:{\f@ormscale} t:{\slidebox{#1}{#2}} - \move h:0 v:0 \hviewbox - \etg} -\gdef\formscale #1 {\gdef\f@ormscale{#1 }} -\gdef\smalldot{\setbox0=\hbox{\hskip .4in\fiverm.}\wd0=0pt\ht0=0pt\dp0=0pt\box0} -\long\gdef\hslide #1//#2//{\advance\slidenum by 1 \relax - \begingroup\tfb\documentstyle{\genpoint}\bf \let\hslide=\slideerr - \iftextform\centergraph{\hhslide{#1}{#2}}\bigskip \else - \btg - \move h:0 v:8.9 - \vtext {\hhslide{#1}{#2}} - \move h:7 v:8.8 - \etg - \smalldot\ejectpage\fi\endgroup} -% ====== Error forms ======== -% This attempts to find a misplaced // gracefully -\newcount\slidenum -\ifnum\language=0 \edef\s@lmiss{Probable Missing or Extra // in Slide Num. } - \else - \edef\s@lmiss{Probable Missing or Extra // in Slide Num. } - \fi -\gdef\slideerr{\message{<<\s@lmiss\the\slidenum>>}} - -% ====== TexGraph Defaults ======== -\ifundefined{textref} - \begingroup \catcode`\^=7 \input texgraph \endgroup \fi - -% ==== text form page style ===== -\gdef\textpagestyle{} - -% ====== Font Defaults ========= -\input spfont \relax -\gdef\textformfonts{\font\gffont= cmcsc10 scaled 667 } -\gdef\fullformfonts{\font\gffont = cmcsc10 scaled 1440 } -\fullfontscale = 2074 -\font\fxborderfont = cmbx10 scaled 1728 -\let\txborderfont = \tenbfx - -% ==== slide default ===== -\slidenum=0 -\gdef\gbfont{\bigfont} -\gdef\gbbaselines{\baselineskip = 2.8ex\lineskip=1pt\lineskiplimit=0pt} -\gdef\grfont{\bf} -\gdef\grbaselines{\baselineskip=2.8ex\lineskip=1pt\lineskiplimit=0pt} -\formscale 1 -%====== end defaults ===== - -\catcode`\@=12 - diff --git a/macros/inrstex/inrsinputs/inrssty.tex b/macros/inrstex/inrsinputs/inrssty.tex deleted file mode 100644 index 2a68c0e36a..0000000000 --- a/macros/inrstex/inrsinputs/inrssty.tex +++ /dev/null @@ -1,30 +0,0 @@ - -% this assumes the basic paperstyle of INRSTeX and only defines macros for -% covers -% INRS Report cover Macros -\newtoks\titrederapport \titrederapport = {Titre de Rapport} -\newtoks\numeroderapport \numeroderapport = {Numero de Rapport} -\newtoks\datederapport \datederapport = {Date de Rapport} -\newtoks\auteursderapport \auteursderapport = {Auteurs de Rapport} -\newtoks\titrespecial \titrespecial = {} -\def\faitepagetitre{\begingroup \leftmargin=1.75in - \fullpagestyle - \vglue 3.8cm - \line{\hss\vbox{\hsize=8cm\twelvebfxsca\lineskip=2pt - \paragraphcenterline \the\titrederapport - \medskip \it - \the\auteursderapport}\hskip 3.4cm} - \vfill - \centerline{\vbox{\hsize=10cm \it\paragraphcenterline - INRS-T\'el\'ecommunications \cr - 3 Place du Commerce \cr - Ile des Soeurs, Qu\'e. \cr - CANADA H3E 1H6 }} - \vskip 2.5cm - \centerline{\the\datederapport} - \vfill - \centerline{Rapport technique de - l'INRS-T\'el\'ecommunications no. \the\numeroderapport} - \medskip - \the\titrespecial - \ejectpage\endgroup} diff --git a/macros/inrstex/inrsinputs/inrstemp.tex b/macros/inrstex/inrsinputs/inrstemp.tex deleted file mode 100644 index fe550dde86..0000000000 --- a/macros/inrstex/inrsinputs/inrstemp.tex +++ /dev/null @@ -1,11 +0,0 @@ - -% this assumes the basic paperstyle of INRSTeX and only defines macros for -% covers -% INRS Report cover Macros -\titrederapport = {Titre de Rapport} -\numeroderapport = {Numero de Rapport} -\datederapport = {Date de Rapport} -\auteursderapport = {Auteurs de Rapport} -\titrespecial = {} - -\faitepagetitre \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/oldspace.tex b/macros/inrstex/inrsinputs/oldspace.tex deleted file mode 100644 index d00be1801f..0000000000 --- a/macros/inrstex/inrsinputs/oldspace.tex +++ /dev/null @@ -1,2 +0,0 @@ -\def\spacing#1{\setbox0=\vbox{\vskip 2.8ex} \baselineskip #1\ht0 - \lineskip=1pt\lineskiplimit=0pt} \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/papersty.tex b/macros/inrstex/inrsinputs/papersty.tex deleted file mode 100644 index 417aafcdad..0000000000 --- a/macros/inrstex/inrsinputs/papersty.tex +++ /dev/null @@ -1,19 +0,0 @@ -% see english.tex and francais.tex for messages -\def\paperstyle{\documentstyle{\vouterpagesize = 9.25in - \houterpagesize = 6.0in - \topmargin = 1in - \leftmargin = 1.25in - \vheadersize = 0pt - \vfootersize = .35in - \headertext{} \specialheadertext{} - \footertext{\centerline{- \folio\ -}} - \let\specialfootertext = \footertext - \leftskip=0pt - \rightskip=0pt - \tenpoint - \noheaderstyle - \normalfooterstyle - \numberbysection - \specialnumberscontinuous}} - -\paperstyle \ No newline at end of file diff --git a/macros/inrstex/inrsinputs/spfont.tex b/macros/inrstex/inrsinputs/spfont.tex deleted file mode 100644 index ecf578ed5b..0000000000 --- a/macros/inrstex/inrsinputs/spfont.tex +++ /dev/null @@ -1,79 +0,0 @@ -\catcode`\@=11 -% --------- This is the "cm" version -------- -% a family is produced by redefining the special font forms in - -% \genpoint ... the names reflect the base fonts - - -\def\rescale #1#2{\count255=#1\multiply\count255 by #2\relax - \divide\count255 by 100 - \advance\count 255 by 5 % rounding - \divide\count 255 by 10 } - -\def\fontset scaled #1 { -\font\tensprm =cmr10 scaled #1 -\font\sevensprm = cmr7 scaled #1 -\font\fivesprm = cmr5 scaled #1 -\font\tenspi = cmmi10 scaled #1 -\font\sevenspi = cmmi7 scaled #1 -\font\fivespi = cmmi5 scaled #1 -\font\tenspsy = cmsy10 scaled #1 -\font\sevenspsy = cmsy7 scaled #1 -\font\fivespsy = cmsy5 scaled #1 -\font\tenspit = cmti10 scaled #1 -\font\tenspsl = cmsl10 scaled #1 -\font\tenspbfx = cmbx10 scaled #1 -\font\sevenspbfx = cmbx7 scaled #1 -\font\fivespbfx = cmbx5 scaled #1 -\font\tensptt = cmtt10 scaled #1 -\font\tenspex = cmex10 scaled #1 -\def\tenspscsm{\rescale {800}{#1} - \font\t@enspscsm = cmcc10 scaled \the\count255\relax - \let\tenspscsm=\t@enspscsm\tenspscsm} -\def\tensprmbig{\rescale {1200}{#1} - \font\t@ensprmbig = cmr10 scaled \the\count255\relax - \let\tensprmbig=\t@ensprmbig\tensprmbig} -\def\tenspbfxbig{\rescale {1200}{#1} - \font\t@enspbfxbig = cmbx10 scaled \the\count255\relax - \let\tenspbfxbig=\t@enspbfxbig\tenspbfxbig} -\def\tenspbfxbigg{\rescale {1440}{#1} - \font\t@enspbfxbigg = cmbx10 scaled \the\count255\relax - \let\tenspbfxbigg=\t@enspbfxbigg\tenspbfxbigg} -\def\tensprmbigg{\rescale {1440}{#1} - \font\t@ensprmbigg = cmr10 scaled \the\count255\relax - \let\tensprmbigg=\t@ensprmbigg\tensprmbigg} - \let\tensprmbiggg = \tensprmbigg } - -\def\genpoint{\def\rm{\fam0\tensprm}% - \textfont0=\tensprm \scriptfont0=\sevensprm \scriptscriptfont0=\fivesprm - \textfont1=\tenspi \scriptfont1=\sevenspi \scriptscriptfont1=\fivespi - \textfont2=\tenspsy \scriptfont2=\sevenspsy \scriptscriptfont2=\fivespsy - \textfont3=\tenspex \scriptfont3=\tenspex \scriptscriptfont3=\tenspex -\def\it{\fam\itfam\tenspit}% -\textfont\itfam=\tenspit -\def\sl{\fam\slfam\tenspsl}% -\textfont\slfam=\tenspsl -\def\bf{\fam\bffam\tenspbfx}% - \textfont\bffam=\tenspbfx \scriptfont\bffam=\sevenspbfx -\scriptscriptfont\bffam=\fivespbfx -\def\tt{\fam\ttfam\tensptt}% -\textfont\ttfam=\tensptt -\tt \ttglue=.5em plus .25em minus .15em -\def\normalbaselines{\baselineskip 2.8ex \lineskip 1pt \lineskiplimit \z@}% -\setbox\strutbox=\hbox{\vrule height 2.32ex depth .48ex width\z@}% -\normalbaselines\rm - \ifd@ocsty \let\footerfont =\tenspit - \let\headerfont=\tenspit -% \let\footnotefont = \smallpoint -% \let\smallerfont = \smallpoint - \def\cheadfont{\tensprmbigg}\relax - \def\sheadfont{\tenspbfxbig}\relax - \def\ssheadfont{\tenspbfx}\relax - \def\sssheadfont{\tenspbfx}\relax - \def\dsssheadfont{\tenspbfx}\relax - \setspacings \fi -\def\bigfont{\tenspbfxbig}\def\biggfont{\tenspbfxbigg}\relax -\def\bigggfont{\tenspbfxbiggg}\let\titlefont = \biggfont - \let\sc=\tenspccsm } - -\catcode`\@=12 diff --git a/macros/inrstex/inrsinputs/texgraph.tex b/macros/inrstex/inrsinputs/texgraph.tex deleted file mode 100644 index 14c065d753..0000000000 --- a/macros/inrstex/inrsinputs/texgraph.tex +++ /dev/null @@ -1,859 +0,0 @@ -% DVIPS version - -% included are the changes required to make it work with DVIPS -% It should be modifiable to any other decent driver too - -% This is the complete texgraph macros ... for use with the INRS/Beebe -% Postscript driver - -% This is the INRSTEX version - -% Graphics macros for TeX using POSTCRIPT - -% ----- Needs mod to count characters in special ... some drivers have an -% input limit of 500 characters in a \special - - -% =============================================================== -% THIS VERSION IS FOR USE with a PostScript Driver with -% \p@sfile to signal a file name -% \p@sinline to signal inline PostScript -% processes \specials and dvi commands in order. -% does not place a (save restore) pair about a \special. -% -% \printhv defines scale/directions for inline Postscript -% \filehv defines scale/directions for file Postscript -% -% Both INRS's modification of Beebe's DVIALW and ArborText's PostScript -% drivers satisfy these minimal requirements. - -% It assumes that the underlying units are 300 pix/in -% Standard PostScript Conventions -% This is easily changed by changing the \hpix or \vpix -% It assumes that x,y are in the "normal" up/left direction. - -% File inclusions require the existence of a bounding box for the correct -% spacing to be left. - -% =============================== -% Most arguments, excepting file names, are delimited by spaces. Thus -% braces { .... } will usually only occur around inserted text ... which -% still must be followed by a space or end of line. - - -% ====================== - -\catcode`\@=11 - -% =============== Driver Signal Forms ======================= - -%\xdef\p@sfile{ps: } % file signal INRS DVIALW - \xdef\p@sfile{ps: plotfile } % file signal DVIPS -\xdef\p@sinline{ps:: } % inline signal DVIPS ... INRS DVIALW - -% This translates the direction of the page if the printer assumptions -% are different than TeX. The values should be +-1. -\gdef\printhv #1 #2 {\gdef\p@hv{ #1 #2 scale }} -\gdef\filehv #1 #2 {\gdef\f@schv{ #1 #2 scale }} -\gdef\rtdir #1 {\gdef\r@tdir{ #1 }} % neg or nothing PS has no pos - - - - - -% ============== LateX support ================= - -%\newenvironment{TeXgraph}{\btg}{\etg} - -% This is the only change between the LateX and INRSTeX versions - -% ======= Simple Plotfile support =========== - -% These are vanilla forms for inserting an encapsulated PostScript file -% or creating a centered graphics environment. - -% \centergraph needs to be very \long - -\long\gdef\centergraph#1{\hbox to - \hsize{\hss\vbox{#1\vgraphskip}\hgraphskip\hss}} -\gdef\centerplotfile#1{\centergraph{\btg\includefile {#1} \etg}} - - -% if you use the Latex command to create the new texgraph environment, -% then you will automatically be "inside" Texgraph. This -% means that you should use such commands as -% \includefile \incscmvfile \incscfile - - - - -% ========= error messages ========= -% \language=0 -- English, 1 - French -\ifnum \language=0 \message{<< WARNING -- TeXGraph needs DVIPS >>} - \xdef\bbmess{Searching for BoundingBox } - \xdef\incfile{Graphics file} - \xdef\badincfile{Size/Format Error in Graphics File} - \xdef\noincfile{Missing Graphics File} - \else - \message{<< AVERTISSMENT -- TeXGraph a besoin du DVIPS >>} - \xdef\bbmess{Searching for BoundingBox } - \xdef\incfile{Graphics file} - \xdef\badincfile{Size/Format Error in Graphics File} - \xdef\noincfile{Missing Graphics File} - \fi - -% ===== debugging code ===== -% will send out specials as messages -\gdef\dmess #1{} -\gdef\bmess #1{} - -% ======== \global\newif ======= -% Plain defines the \newif as a local variable. We need a global -% version if TeXgraph is to be brought in while inside a group. -% This is a simpler, but less elegant version of \newif - -%#1 is \if<..> #2 -...true #3 ...false -\gdef\gnewif#1#2#3{\global\let#1=\iffalse \gdef#2{\let#1=\iftrue}\relax - \gdef#3{\let#1=\iffalse}} - -% ======== TeXGraph Macros ========== - -% Postcript allows for arbitrary translation, scaling, rotation and clipping. -% This version saves the current segment scale(s), unit scale(s), rotation -% and translation and painfully computes and retores the correct form after -% a segment exit. The reason for this is that Postcript can stack only one -% CTM, text needs to have correct rotation and translation but default -% scaling ... - -% It would be preferable not to convert any of the units. However, it is -% necessary to know the maximum excursions. Since the PS currentpoint is -% not accessible to TeX, we must keep it ourselves. -% Since negative numbers can be used both maximum and minimum excursions -% are required. - - -% ====== begin -- end graphics ======= - -% The maximum and minimum extent in the h and v direction is recorded -% and is accessible -% at the end of a \btg \etg pair (in points). The same value, in pixels is accessible at -% all times -\newcount\maxhpospix -\newcount\maxvpospix -\newcount\minhpospix -\newcount\minvpospix -\newdimen\hgraphsize -\newdimen\vgraphsize - -\gdef\vgraphskip{\vskip\vgraphsize} -\gdef\hgraphskip{\hskip\hgraphsize} - - -\gdef\beginTeXGraphics{\t@exgraphdef \i@ncgdepth - \vbox\bgroup\offinterlineskip - \h@pos=0 - \global\maxhpospix=\h@pos - \global\minhpospix=\h@pos - \v@pos=0 - \global\maxvpospix=\v@pos - \global\minvpospix=\v@pos - \h@segoff=\h@pos \v@segoff=\v@pos - \edef\o@form{}\ifnum\g@depth=1 - \p@sinit \fi \p@sset % PS initialization - \s@save} -% \s@save saves the initialization for the special output. -% \g@save saves some local condition - -\gdef\endTeXGraphics{\g@raphout\egroup\maxhvpos\p@srestore \d@ecgdepth } -\global\let\btg=\beginTeXGraphics -\global\let\etg=\endTeXGraphics -\global\let\btg=\beginTeXGraphics -\global\let\etg=\endTeXGraphics - -% ========== TeXGraph Nesting Depth ========== -\newcount\g@depth \global\g@depth=0 % initializes at zero -\gdef\i@ncgdepth{\global\advance\g@depth by 1 } -\gdef\d@ecgdepth{\global\advance\g@depth by -1 } - - - -% =========== Complete Graph Scaling =============== -% There is a separate scaling for the horizontal, vertical, and text - - -\gdef\grscale h:#1 v:#2 {\gdef\h@grsc{#1}\gdef\v@grsc{#1}\e@xtend - {\o@form}{#1 #2 scale }} - -\gdef\tgrscale #1 {\e@xtend{\o@form}{#1 #1 scale }} - % text scale h and v the same - - - - -% ======== PostScript initialization ========= -% - -\gdef\t@exgrdictdef{/td 50 dict def } - - - -\gdef\t@exgrdictinit{ td begin /mv {moveto} def - /lv {lineto} def - /st {stroke} def - /np {newpath} def - /sl {setlinewidth} def - /sd {setdash} def - /rt {rotate} def - /gs {gsave} def - /gr {grestore} def - /tr {translate} def - /cp {closepath} def - /sg {setgray} def - /chv {currentpoint} def - /cv {curveto} def - /slc {setlinecap} def - /slj {setlinejoin} def - /sc {scale} def - /at {neg atan rt} def - /mx {mv gs chv tr} def -% \h@vinit - end } -% ----- initial point move ... driver dependent ----- -\gdef\Xpos{Xp\the\g@depth\b@} -\gdef\Ypos{Yp\the\g@depth\b@} - -\gdef\h@vinit{ chv /\Ypos exch - def /\Xpos exch def } -\gdef\h@vset{\t@rhv \p@hv } -\gdef\m@vhv{ \Xpos \Ypos mv } % INRS -\gdef\t@rhv{ \Xpos \Ypos tr } % INRS -\gdef\t@rneghv{ \Xpos neg \Ypos neg tr } % INRS - -\gdef\p@sinit{\edef\e@form{\special{\p@sinline - \t@exgrdictdef - \t@exgrdictinit}} -\gdef\p@sset{\special{\p@sinline td begin \h@vinit gs \t@rhv - \p@hv end }}\e@form\dmess{\e@form}} - -% ======== PostScript termination ========= -\gdef\p@srestore{\edef\e@form{\special{\p@sinline grestore }}\e@form - \dmess{\e@form}} - % resets to entry into TeXgraph and recovers memory - -%========= macros for converting dimensions/units ========= -% --------- \box0 must not be void ---------- -\global\setbox0=\hbox{} - -%default values -\gdef\graphdim#1 {\gdef\g@dim{#1\relax}} - -%pixels /dim unit -\newcount\h@pix % sp/pixel -\gdef\hpix#1/#2 {\wd0=1true#2\relax - \h@pix=\wd0 \divide\h@pix by #1 \relax} -\newcount\v@pix % sp/pixel -\gdef\vpix#1/#2 {\wd0=1true#2\relax - \v@pix=\wd0 \divide\v@pix by #1 \relax} - -% Assumes #1 is dimension #2 is count in pixels, #3 sp/pix, #4 scalefactor (real) -% #2 is returned -\gdef\gendimtopix#1#2#3#4{\wd0=#1\dimen0=#4\wd0\relax - \wd0=\dimen0 #2=\wd0 \divide #2 by #3\relax} -% #1 is returned, #5 -\global or {} -\gdef\genpixtopt#1#2#3#4#5{\multiply #2 by #3\relax\wd0=#2sp - #5#1=#4\wd0\relax} - -% ---------- Converts maxpix to maxdim removes offset ----- -\gdef\maxhvpos{\global\advance\maxhpospix by -\minhpospix\relax - \genpixtopt{\hgraphsize}{\maxhpospix}{\h@pix}{\h@grsc}{\global}\relax - \global\advance\maxvpospix by -\minvpospix\relax - \genpixtopt{\vgraphsize}{\maxvpospix}{\v@pix}{\v@grsc}{\global}} - - - -% ======== The vector offsets my be relative or absolute ===== - -\gnewif{\ifr@elpos}{\r@elpostrue}{\r@elposfalse} %default is absolute -\gdef\absoluteposition{\r@elposfalse} -\gdef\relativeposition{\r@elpostrue} -\global\let\abspos=\absoluteposition -\global\let\relpos=\relativeposition -\global\let\absolute=\absoluteposition % historical -\global\let\relative=\relativeposition % historical - -% ====== update #1 by #2 r@elpos to #3, #4 is max #5 is min======= -\gdef\u@pdate#1#2#3#4#5{\ifr@elpos \advance #1 by #2\else - \advance #2 by #3\relax - #1=#2\fi - \ifnum #1>#4\global #4=#1\fi - \ifnum #1<#5\global #5=#1\fi - } -\gdef\h@update #1{\u@pdate{\h@pos}{#1}{\h@segoff}{\maxhpospix}{\minhpospix}} -\gdef\v@update #1{\u@pdate{\v@pos}{#1}{\v@segoff}{\maxvpospix}{\minvpospix}} - -% === pixel position r@elpos to initial offset starting position -\newcount\h@pos \h@pos=0 -\newcount\v@pos \v@pos=0 -\newcount\r@ang \r@ang=0 % 1000 times degrees ? - - -% ===== Check for pen up moves only ===== -% penup/down are used to determine whether a line needs to be stroked -% when a line pattern or penwidth is changed. - \gnewif{\ifp@down}{\p@downtrue}{\p@downfalse} - - -% ===== present segment origin and rotation ========== - -\newcount\h@segoff -\newcount\v@segoff -\newcount\r@segoff % 1000 times degrees - - -\gdef\beginsegment{\g@raphout\begingroup\s@eginit} - -% segment initialization is a trifle messy -\gdef\s@eginit{\h@segoff =\h@pos \v@segoff=\v@pos} - - -% PS has the concept of a path that is either -% completed with a "stroke" or "fill" ... stroking -% at the end or beginning of a segment, the special is written out. This is -% to ensure that the input order of the graphics reflects what entities are -% on top of what others. Further it is assumed that the origin does not -% change during an entire \btg ...\etg section. This means that every special -% must first move to the point where the previous one left off. \s@save -% defines \s@restore that restores, in case they had been modified, the line -% width, pattern, hpos, vpos, ... and any future things that need restoration. -% all graphic specials are ended with a stroke (st), whether it needs it not. - -% we need a special form to force a space after a \the\nnn form or \p@w - -\gdef\b@{ } - -\gdef\endsegment{\g@raphout\endgroup - \edef\o@form{}\s@save} -\gdef\s@pout #1#2{\edef\e@form{\special{#1\s@restore\o@form#2}}\dmess{\e@form}\e@form - \edef\o@form{}\s@save} -%\h@vset if there is a move before each special -\gdef\g@raphout{\ifx\empty\o@form \else \ifp@down - \s@pout{\p@sinline td begin }{ st end }\fi\fi\p@downfalse} -\global\let\graphout=\g@raphout - -% ====== Segment and units scaling ======== -% The units in any segment may be scaled arbitrarily. A unit scale is local -% to a segment but affects enclosed segments unless specifically overidden -% in that segment. In addition there is a graph or segment scale. This -% scaling factor is accumulative and is applied on top of the unit scale. -% These two scaling factors allow for a segment to be designed in nominal -% units, scaled to a nominal size and then be affected by relative scaling -% of an entire graph or segment. In addition there is a relative/absolute -% scale switch that allows for any segment to be unaffected by a graphscale. - -% \u@nitsc -- present unit scale, \s@egsc -- present segment scale -% \g@rsc -- present graphscale ... changes when ever either of the former do. - -% present implementation does not allow separate v h scaling - -% ------ Relative/Absolute Scale ------ -\gnewif{\ifr@elscale}{\r@elscaletrue}{\r@elscalefalse} -\gdef\absolutescale{\r@elscalefalse} -\gdef\relativescale{\r@elscaletrue} -\global\let\abssc=\absolutescale -\global\let\relsc=\relativescale - -% ----- unit scale ----- -\gdef\unitscale#1 {\edef\u@nitsc{#1}\newgraphscale} - -\global\let\graphscale=\unitscale % Historical - -% ----- Segment Scale ----- - -\gdef\segmentscale#1 {\ifr@elscale \realmult{#1}{\s@egsc}{\s@egsc}\else - \edef\s@egsc{#1}\fi - \newgraphscale} - -% ---- Graph Scale -------- -% This changes whenever either of the above change -\gdef\newgraphscale{\realmult{\u@nitsc}{\s@egsc}{\g@rsc}} - - -% ------ "Real" Multiplication -------- -% These functions use the fact that a box dimension may be scaled by -% a real. The final step is to "clean" off the pt on the resulting dim - -% Cleans off the pt in a dimension ... pt has catcode 12 -{\catcode`\p=12 \catcode`\t=12 -\gdef\c@lean#1pt{\edef\cx{#1}}} -% #1 and #2 are multiplicands #3 is a command to capture result -\gdef\realmult#1#2#3{\wd0=1pt\dimen0=#1\wd0\wd0=\dimen0\dimen0=#2\wd0 - \edef\R@M{\the\dimen0}\expandafter\c@lean\R@M\edef#3{\cx}} -\gdef\realadd#1#2#3{\dimen0=#1pt\dimen2=#2pt\advance\dimen0by\dimen2 - \edef\R@M{\the\dimen0}\expandafter\c@lean\R@M\edef#3{\cx}} - - -% -------- Command to convert nominal values to pixels ------ -% #1 is a decimal number, #2 must be a count, #3 is sp/pix -% This includes all scalings -\gdef\grdimtopix#1#2#3{\gendimtopix{#1\g@dim}{#2}{#3}{\g@rsc}} - - -% ------- special forms to update positions ------ - -\gdef\i@h#1{\grdimtopix{#1}{\d@umc}{\h@pix}\h@update{\d@umc}} -\gdef\i@v#1{\grdimtopix{#1}{\d@umc}{\v@pix}\v@update{\d@umc}} -\gdef\h@num#1#2{\grdimtopix{#1}{#2}{\h@pix}} -\gdef\v@num#1#2{\grdimtopix{#1}{#2}{\v@pix}} - - -%dummy variables -\newcount\d@uma -\newcount\d@umb -\newcount\d@umc -\newcount\d@umd -\newcount\d@ume - -% ====== end macros for converting dimensions - -% ======== Some more Utility Macros ======== -% ======== recursive macros ======== -\gdef\e@xtend #1#2{\let\d@x=#1\edef #1{\d@x #2}} -\xdef\s@pex{} -\xdef\s@pin{ } -\gdef\s@pexpand #1 #2!{\e@xtend{\s@pex}{#1\s@pin}\edef\t@x{#2}\ifx\t@x\empty\relax \else - \s@pexpand #2!\fi} - -% ========== A Do Loop Construction ========= -% \do <something> for <number of times>\od -% This is a specialization of the \loop in Plain. - -\newcount\d@count -\gdef\do #1 for #2\od{\d@count=#2\loop #1 \ifnum\d@count>1\advance - \d@count by -1\repeat} - - -% ========= Graphics specials ======= -\xdef\o@form{} -\gdef\penwidth #1 {\h@num{#1}{\d@umc}\edef\p@w{\the\d@umc}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\p@w\b@ sl }\fi} -\gdef\linecap #1 {\edef\s@lc{#1}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\s@lc\b@ slc }\fi} -\gdef\linejoin #1 {\edef\s@lj{#1}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\s@lj\b@ slj }\fi} -\gdef\lpatt p:#1 {\edef\v@p{#1 0}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\v@p\b@ sd }\fi} - - -% ==== parameters are in units of the nominal dimension \g@dim ====== - -\gdef\p@move #1#2#3{\i@h{#1}\i@v{#2}\e@xtend{\o@form}{\the\h@pos\b@ \the\v@pos\b@ #3 }} - -\gdef\lvec h:#1 v:#2 {\p@move{#1}{#2}{lv}\p@downtrue} %draws a line - -\gdef\move h:#1 v:#2 {\p@move{#1}{#2}{mv}} %moves - - -% ====== a general vector with dimensions in pixels ====== - -% ========= General pixel dim vector ========== - -\gdef\lpix h:#1 v:#2 f:#3 {\e@xtend{\o@form}{ #1 #2 #3 }} - - -%============== puts TeX text at this position -% These are pure TeX macros that use \h@pos and \v@pos for orientation -% Text may be put horizontally (left/right) or vertically (down/up) - -% ======== sp form of \h@pos and \v@pos respectively ======== -\newdimen\t@hpos -\newdimen\t@vpos -\gdef\s@ettpos{\d@umc=\h@pos - \genpixtopt{\t@hpos}{\d@umc}{\h@pix}{}{}\relax - \d@umc=\v@pos - \genpixtopt{\t@vpos}{\d@umc}{\v@pix}{}{}\relax} - - - -% any one of nine reference point may be specified on the -% TeX box. This is Vertical T,C,B and Horizontal L,C,R -% The actual box is 0 height and width. -\newbox\t@box -% #1 LCR default/error L #2 TCB default/error T #3 text -- in hbox - -% Sets the box glues \lhglue \rhglue \tvglue \bvglue -% #1 x/h ref, #2 v/y ref -\gdef\textref h:#1 v:#2 {\ifx#1R\edef\lhglue{\hss}\edef\rhglue{}\else - \ifx#1C\edef\lhglue{\hss}\edef\rhglue{\hss}\else - \edef\lhglue{}\edef\rhglue{\hss}\fi\fi - \ifx#2B\edef\tvglue{\vss}\edef\bvglue{}\else - \ifx#2C\edef\tvglue{\vss}\edef\bvglue{\vss}\else - \edef\tvglue{}\edef\bvglue{\vss}\fi\fi} -\global\let\tboxref=\textref - -\newcount\h@oldmaxpos \newcount\v@oldmaxpos - - %needed to save max pos when texgraph is inside an h/vtext - -% ========== assumes driver location at initial \btg entry ======== -% - -% #1 text #2 - begin rotation form #3 - end rotation form -\long\gdef\m@text#1#2#3{\g@raphout\h@oldmaxpos=\maxhpospix\relax - \v@oldmaxpos=\maxvpospix\relax - \edef\h@oldgrsc{\h@grsc}\edef\v@oldgrsc{\v@grsc}\s@ettpos - \setbox\t@box=\vbox{\normalbaselines - \vskip\t@vpos\hbox{\hskip\t@hpos - \t@init{#2}\relax - \vbox to 0pt{\normalbaselines - \tvglue\hbox to 0pt{\lhglue\hbox{#1}\rhglue - }\bvglue}}}\relax - \dp\t@box=0pt\ht\t@box=0pt\wd\t@box=0pt - \box\t@box - \t@fin{#3} - \global\maxhpospix=\h@oldmaxpos\relax - \global\maxvpospix=\v@oldmaxpos\relax - \xdef\h@grsc{\h@oldgrsc}\edef\v@grsc{\v@oldgrsc}} - % saves maxh(v)pospix on stack - - -% ========== PS text initializations and terminations =========== -\gdef\t@init#1{\special{\p@sinline td begin \h@vinit gr gs - \t@rhv #1 \t@rneghv end }} - -\gdef\t@fin#1{\special{\p@sinline td begin \h@vinit gr gs \m@vhv \t@rhv \p@hv end }} - -% .... special test -%\gdef\t@init#1{} -%\gdef\t@fin#1{} -% ... end special test - - - -\long\gdef\htext #1 {\m@text{#1}{}{}} -\long\gdef\vtext #1 {\m@text{#1}{ 90 \r@tdir rt }{}} -\long\gdef\rtext d:#1 t:#2 {\m@text{#2}{ #1 \r@tdir rt }{}} -\long\gdef\rstext d:#1 sc:#2 t:#3 {\m@text{#3}{ #1 \r@tdir rt #2 #2 sc }{}} -\global\let\tbox=\htext - -% ========= Various Restore forms ======== -\gdef\g@save{\edef\g@restore{\p@w\b@ sl \v@p\b@ sd \s@lc\b@ slc \s@lj\b@ slj - np \the\h@pos\b@ \the\v@pos\b@ mv }} -\gdef\s@save{\edef\s@restore{\p@w\b@ sl \v@p\b@ sd \s@lc\b@ slc \s@lj\b@ slj - np \the\h@pos\b@ \the\v@pos\b@ mv }} - - - - -% ======== circle, arcs ========= -% The PS arc will connect the center of the arc to the circumference -% if the newpath includes the move to this point. Thus we define a -% set of arc functions that include/exclude this feature. The default -% does not include this form. - -\gdef\larc r:#1 sd:#2 ed:#3 {\h@num{#1}{\d@umc}\p@downtrue - \e@xtend{\o@form}{ st np \the\h@pos\b@ \the\v@pos\b@ \the\d@umc\b@ #2 #3 arc - st np \the\h@pos\b@ \the\v@pos\b@ mv }} - -\gdef\lcir r:#1 {\larc r:#1 sd:0 ed:360 } - -% ------ this is a raw arc ... can be used in fills -------- - -\gdef\arcc r:#1 sd:#2 ed:#3 {\h@num{#1}{\d@umc}\p@downtrue - \e@xtend{\o@form}{\the\h@pos\b@ \the\v@pos\b@ \the\d@umc\b@ #2 #3 arc }} - -\gdef\arcn r:#1 sd:#2 ed:#3 {\h@num{#1}{\d@umc}\p@downtrue - \e@xtend{\o@form}{\the\h@pos\b@ \the\v@pos\b@ - \the\d@umc\b@ #2 #3 arcn }} - -% ======= fill command ========== -% The fill command is essentially a polygonal fill ... not a point spreading -% this means that it is possible to erase with white ... The form here -% completes with a closepath applies the fill, starts a newpath and moves -% to the current point. Pattern is a grey level. -% 0 is black 1 is white - -\gdef\pfill p:#1 {\p@downtrue - \e@xtend{\o@form}{cp #1 sg fill np \the\h@pos\b@ \the\v@pos\b@ mv }} - - -% this form both fills and strokes around the path -\gdef\lpfill p:#1 {\p@downtrue - \e@xtend{\o@form}{cp gs #1 sg fill gr st np \the\h@pos\b@ \the\v@pos\b@ mv }} - -% ======== Postscript special forms ======== -% This allows "raw" postscript to be put in the graph. -\gdef\pst #1{\e@xtend{\o@form}{#1 }} - -% These are some useful postscript compatible forms. - -\gdef\closepath{\e@xtend{\o@form}{cp }} -\gdef\newpath{\e@xtend{\o@form}{np }} -\gdef\stroke{\e@xtend{\o@form}{st }} - - - -% ========= including external files ========== -% an external file is included at the present point on the graph area -% moves are required to get there -% The actual file is placed inside a \t@box and tex commands are used -% to get to the place ... They probably can be nested -% #1 is the filename - -% The file is opened, if possible, to read its size. If this exists, it -% is used to update the maximum h/v position. -% The BoundingBox is determined - - -\newread\q@file -% #1 is the file name -\gnewif{\ifq@read}{\q@readtrue}{\q@readfalse} -\gnewif{\ifq@file}{\q@filetrue}{\q@filefalse} -\gnewif{\ifb@boxexists}{\b@boxexiststrue}{\b@boxexistsfalse} -% #1 == %%BoundingBox, #2 llh #3 llv #4 urh #5 urv #6 rest of line - - -\gdef\uncat{\catcode`"=12} - -{\catcode`\%=12 -\gdef\l@shift{\ifx\l@lh\empty \xdef\l@lh{\l@lv}\xdef\l@lv{\u@rh}\xdef - \u@rh{\u@rv}\xdef\u@rv{\e@xt}\fi} -\gdef\B@Box{%%BoundingBox} -\gdef\a@tend{(atend)} -\gdef\a@tendtest{\l@shift\ifx\l@lh\a@tend\relax\else - \global\b@boxexiststrue\q@readfalse\bmess{<< At End Test >>}\fi} - -\long\gdef\q@inline #1:#2 #3 #4 #5 #6 #7//{\xdef - \q@bbtest{#1}\xdef\l@lh{#2}\xdef - \l@lv{#3}\xdef\u@rh{#4}\xdef\u@rv{#5}\xdef - \e@xt{#6}\ifx\q@bbtest\B@Box - \a@tendtest\fi - \ifeof\q@file \q@readfalse \fi} - -\gdef\s@bbox{\b@boxexistsfalse - \message{<< \bbmess -- \f@ilename>>}\q@readtrue - \loop \relax \ifq@read\r@eadline\repeat} - -\gdef\r@eadline{ {\uncat \global\read\q@file to\q@parms } - \expandafter\q@inline\q@parms {}:{\relax} {\relax} {\relax} {\relax} -{\relax} \relax//\bmess{<<\q@parms>>}} - -\gdef\g@etpsize #1{{\catcode`\%=12\openin\q@file = #1\relax - \edef\q@parms{}\global\q@filetrue\xdef\f@ilename{#1} - \ifeof\q@file \message{<<\noincfile: #1 >>}\relax - \global\q@filefalse\else - \s@bbox - \closein\q@file\fi}} - -} % end of % disable - -\newcount\h@px \newcount\v@px \newcount\h@mx \newcount\v@mx -\gdef\s@avemaxpos{\global\h@px=\maxhpospix\global\v@px=\maxvpospix - \global\h@mx=\minhpospix\global\v@mx=\minvpospix} -\gdef\r@estoremaxpos{\global\maxhpospix=\h@px\global\maxvpospix\v@px - \global\minhpospix=\h@mx\global\minvpospix\v@mx} - -\gdef\f@sc{\b@} -\gdef\f@rt{\b@} -\gdef\filerotate#1{\edef\f@rt{ XposR YposR tr #1 \r@tdir rt XposR neg - YposR neg tr }} - -\gdef\filescale #1{\edef\f@sc{#1 #1 sc \f@schv}} -\gdef\p@fileinit{ td begin \h@vinit gr gs \f@rt \t@rhv \f@sc end - /texgraph save def /showpage {} def } -\xdef\p@filefin{ texgraph restore } -\global\let\mvec=\move - - - -\gdef\includefile #1 {\incscfile f:{#1} sc:1 d:0 } - -\gdef\incscfile f:#1 sc:#2 d:#3 {\g@etpsize{#1}\ifb@boxexists - \message{<<\incfile: #1 >>}\realadd{\u@rh}{-\l@lh}{\p@lh} - \realadd{\u@rv}{-\l@lv}{\p@lv} - \realmult{\p@lh}{.5}{\p@lhh} - \realmult{\p@lv}{.5}{\p@lvh} - \beginsegment - \segmentscale #2 - \global\let\g@dimo=\g@dim - \graphdim pt - \mvec h:{\p@lh} v:{\p@lv} - \mvec h:{\p@lhh} v:{\p@lvh} - \m@text{}{ /XposR \Xpos\b@ def - /YposR \Ypos\b@ def }{} - \endsegment - \s@avemaxpos - \beginsegment \segmentscale #2 - \mvec h:{-\l@lh} v:{\u@rv} - \htext{\filescale{#2}\filerotate{#3}\relax - \special{\p@sinline\p@fileinit } - \special{\p@sfile #1 } - \special{\p@sinline\p@filefin }} - \endsegment - \r@estoremaxpos - \global\let\g@dim=\g@dimo - \else\message{<<\badincfile: #1 >>}\fi } - -\gdef\incscmvfile f:#1 sc:#2 d:#3 h:#4 v:#5 {\g@etpsize{#1}\ifb@boxexists - \message{<<\incfile: #1 >>}\realadd{\u@rh}{-\l@lh}{\p@lh} - \realadd{\u@rv}{-\l@lv}{\p@lv} - \realmult{\p@lh}{.5}{\p@lhh} - \realmult{\p@lv}{.5}{\p@lvh} - \ifx#4L \edef\f@h{0}\else \ifx#4C \edef\f@h{1} \else \edef\f@h{2}\fi\fi - \ifx#5T \edef\f@v{0}\else \ifx#5C \edef\f@v{1} \else\edef\f@v{2}\fi\fi - \realmult{\p@lhh}{\f@h}{\h@off} - \realmult{\p@lvh}{\f@v}{\v@off} - \beginsegment - \segmentscale #2 - \global\let\g@dimo=\g@dim - \graphdim pt - \mvec h:{-\h@off} v:{-\v@off} - \beginsegment - \mvec h:{\p@lh} v:{\p@lv} - \mvec h:{\p@lhh} v:{\p@lvh} - \m@text{}{ /XposR \Xpos\b@ def - /YposR \Ypos\b@ def }{} - \endsegment - \endsegment - \s@avemaxpos - \beginsegment \segmentscale #2 - \mvec h:{-\l@lh} v:{\u@rv} - \beginsegment - \mvec h:{-\h@off} v:{-\v@off} - \htext{\filescale{#2}\filerotate{#3}\relax - \special{\p@sinline\p@fileinit } - \special{\p@sfile #1 } - \special{\p@sinline\p@filefin }} - \endsegment - \endsegment - \r@estoremaxpos - \global\let\g@dim=\g@dimo - \else\message{<<\badincfile: #1 >>}\fi } - - - -% ============ Design Grid ============== -% This will lay down a grid at the present location. The grid nominally -% at unit dimension intervals. The scale factor sc modifies this. The -% sc is local only to the grid - -\newcount\gcount -\gdef\grid nh:#1 nv:#2 sc:#3 {\gcount= #1 - \beginsegment - \relative - \penwidth .005 - \graphscale #3 - \beginsegment - \loop \lvec h:#2 v:0 - \move h:-#2 v:1 - \ifnum \gcount > 1 - \advance\gcount by -1 \repeat - \endsegment - \gcount = #2 - \beginsegment - \loop \lvec h:0 v:#1 - \move h:1 v:-#1 - \ifnum \gcount > 1 - \advance\gcount by -1 \repeat - \endsegment - \endsegment} -%========= end design grid ================ - - -% =========== Arrow Vectors ============== -% There are three types of arrow heads, filled, open V and triangle -% These are always placed on the end of a vector. - -% The basic design has the arrow head which is placed on the vector -% It theoretically can be placed on any curve where the angle is known or -% computable. - - -\newcount\a@len -\newcount\a@wid - -% Parameter specification for arrowheads. -% #1 -- length #2 -- width -% The dimensions are interpreted at current graphscale in force and -% are local to the segment group. -\gdef\arrowheadscale{\arrowheadsize l:.16 w:.04 } -\gdef\arrowheadsize l:#1 w:#2 {\grdimtopix{#1}{\a@len}{\h@pix - }\grdimtopix{#2}{\a@wid}{\h@pix - }} -% postcript commands for inidividual arrow form -\gdef\arrowheadtype t:#1 {\ifx#1T\edef\a@com{cp gs 1 sg fill gr st }\else - \ifx#1F\edef\a@com{cp 0 sg fill }\else - \edef\a@com{st }\fi\fi} -\newcount\h@lp -\newcount\v@lp - -% assumes that the dh and dv is in \h@lp \v@lp and present location is tip -% of arrowhead -\gdef\a@draw{st np \the\h@pos\b@ \the\v@pos\b@ mx - \the\v@lp\b@ neg \the\h@lp\b@ at - -\the\a@len\b@ \the\a@wid\b@ mv 0 0 lv - -\the\a@len\b@ -\the\a@wid\b@ lv - \a@com gr } - - - -\gdef\avec h:#1 v:#2 {\h@lp=\h@pos\relax \v@lp=\v@pos\relax - \lvec h:#1 v:#2 \advance\h@lp by -\h@pos\relax - \advance\v@lp by -\v@pos\relax - \e@xtend{\o@form}{\a@draw}} - - -% ============= End Arrow Vectors ============= - -% ========= Bezier Curve ========== -% this is a cubic spline that is determined by four points. The initial -% point is assumed to be the current point. An arrow is easily added. - - -\gdef\clvec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 {\i@h{#1}\d@uma=\h@pos - \i@v{#2}\d@umb=\v@pos\i@h{#3}\d@ume=\h@pos\i@v{#4}\d@umd=\v@pos - \i@h{#5}\i@v{#6}\e@xtend{\o@form}{\the\d@uma\b@ \the\d@umb\b@ - \the\d@ume\b@ \the\d@umd\b@ \the\h@pos\b@ \the\v@pos\b@ - cv }\p@downtrue} -\gdef\clv (#1 #2) (#3 #4) (#5 #6){\clvec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 } - -\gdef\cavec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 {\clvec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 - \h@lp=\d@ume \relax \v@lp=\d@umd \relax - \advance\h@lp by -\h@pos\relax - \advance\v@lp by -\v@pos\relax - \e@xtend{\o@form}{\a@draw}} -\gdef\cav (#1 #2) (#3 #4) (#5 #6){\cavec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 } - - - - - -% ======= default values ========= -% These are reset each time \btg is called -\gdef\t@exgraphdef{\setbox0=\hbox{}\graphdim in -\hpix 300/in % INRS Default -\vpix 300/in % INRS Default -\printhv 1 1 % DVIPS 300 dpi -\filehv 4.17 -4.17 % DVIPS 300/72 -\rtdir neg % DVIPS -\def\h@grsc{1}\def\v@grsc{1}%sets default hor/vert scales -\absoluteposition -\relativescale -\unitscale 1 -\penwidth .015 -\lpatt p:{[]} -\linecap 1 -\linejoin 1 -\arrowheadsize l:.16 w:.04 -\arrowheadtype t:T -\textref h:L v:T } - -\xdef\s@egsc{1}% initial default - -\catcode`\@=12 - - - diff --git a/macros/inrstex/inrsinputs/verbatim.tex b/macros/inrstex/inrsinputs/verbatim.tex deleted file mode 100644 index 1cb87e2ccf..0000000000 --- a/macros/inrstex/inrsinputs/verbatim.tex +++ /dev/null @@ -1,40 +0,0 @@ -%-*-tex-*- -%========= Verbatim or NoFill Style ======== -% the actual macros for these are found in Tex$inputs:verbatim.tex -% any character other than a \ is printed. -% the format is \beginttverbatim <text> \endttverbatim -% the default font is \tt -% the \\ is defined as a \filbreak. It has the effect pushing blocks of -% text between successive \\ onto the next page if it will not fit on the -% remainder of the present page. -\gdef\tabmessage{\ifnum\language=0 <tabs> are dangerous in tt verbatim - \else <tabs> sont dangereux dans tt verbatim \fi}% -{\catcode`\^^M=\active % these lines must end with % -\gdef\ttobeylines{\catcode`\^^M\active \let^^M\vpar}% -\global\let^^M\vpar}% this is in case ^^M appears in a \write -{\catcode`\ =\active -\outer\gdef\beginttverbatim{\begingroup -\def\\% -{\filbreak}\chardef\other=12% -\catcode`\{=\other -\catcode`\}=\other -\catcode`\$=\other -\catcode`\&=\other -\catcode`\#=\other -\catcode`\%=\other -\catcode`\~=\other -\catcode`\_=\other -\catcode`\^=\other -\catcode`\<=\other -\catcode`\>=\other -\catcode`|=\other -\catcode`"=\other -\parindent0pt\parskip0pt plus1pt% -\def\vpar{\par\leavevmode}% -\def {<tab>\message{<<\tabmessage>>}}% -\obeyspaces\ttobeylines -\catcode`\ =\active -\tt\xspaceskip=.5em\spaceskip=\xspaceskip -}}% -\outer\gdef\endttverbatim{\endgroup}% -\beginttverbatim \ No newline at end of file diff --git a/macros/inrstex/inrstex/abstract.tex b/macros/inrstex/inrstex/abstract.tex deleted file mode 100644 index b20aa2a1f3..0000000000 --- a/macros/inrstex/inrstex/abstract.tex +++ /dev/null @@ -1,29 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -%========= ABSTRACT/TITLE FORMS ======= -% These generate a centered abstract in the \smallerfont of a family - -\newdimen\absindent -%\def\ABSTRACT{ABSTRACT} see English/French titles -\newtoks\everyabstract -\newtoks\e@veryabstract -\def\beginabstract{\begingroup - \par - \leftskip= .1\hsize \rightskip=.1\hsize - \noindent - \ABSTRACT\par\noindent \smallerfont - \the\e@veryabstract - \the\everyabstract} -\def\endabstract{\par\endgroup\vskip 2.8ex} - - -%\def\titlemessage{Title} % see english/french titles -%\def\titlefraction{0.9} % see inrsdef.tex -%\def\titlespacing{1.5} % see inrsdef.tex -\def\title #1{\titlepagestyle\toks0={#1} - \writeterm{<\titlemessage: \the\toks0>}{}{} - \centerline{\vbox{\hsize = \titlefraction\hsize - \titlefont\spacing{\titlespacing} - \paragraphcenterline #1}}} diff --git a/macros/inrstex/inrstex/appendix.tex b/macros/inrstex/inrstex/appendix.tex deleted file mode 100644 index 9b32d1d886..0000000000 --- a/macros/inrstex/inrstex/appendix.tex +++ /dev/null @@ -1,33 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% =========== Appendices ============== -% Appendices are defined by using \shead invocations. -% Appendices are assumed to be associated with chapters, if -% they exist hence the first appendix in Chapter 2 is Appendix A. -% These macros modify the numberforms of \shead to produce Apendices. - - - -% Appendix numbering (A, B, C, ...) is incremented -% at each appendix. The \beginappendices...\endappendices -% macros should bracket all of the appendices. -% Equations, figures and tables are numbered for each -% appendix separately. -\newif\ifa@ppendix -% \def\Appendix{Appendix } see English/French titles -\newtoks\everyappendices -\newtoks\e@veryappendices -\def\beginappendices{\begingroup \a@ppendixtrue - \numberbysection - \global\shnum=0 - \global\sshnum=0 - \global\ssshnum=0 - \def\shnumform{\Alphabetic{\the\shnum}} - \the\s@presetlist %resets all the special numbers - \def\shtagreplaceformat{\Appendix \shtagrefformat.} - \the\e@veryappendices - \the\everyappendices} - -\def\endappendices{\endgroup} \ No newline at end of file diff --git a/macros/inrstex/inrstex/auto.tex b/macros/inrstex/inrstex/auto.tex deleted file mode 100644 index 517b9db093..0000000000 --- a/macros/inrstex/inrstex/auto.tex +++ /dev/null @@ -1,90 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -%========= Autonumbering, Tagging and Autoreferencing ========= - -% These macros give the facility to symbolically refer to sections, equations, -% tables, and references and to automatically number them. -% Autonumber, automatically numbers sections, equations, .... -% Autoreferencing, causes \ref{tag} to drop the tag-value in the text. - -% Although it is possible to have only autonumbering, referring to -% sections or other parts is quite difficult without referencing - - - -% When autonumbering or autoreferencing is first turned on, -% a tag file is brought in. -% Tags are written to a new file as they are generated. - -\newif\ifautoreference -\newif\ifautonumber -\newif\ift@agfilein -\newwrite\t@agfile - -\newtoks\inputtagfiles \inputtagfiles={\inputwithcheck {\jobname.tag} } -%\newtoks\inputtagfiles \inputtagfiles={\inputwithcheck {@\jobname.tag} } -% MSDOS version with renaming -\def\g@ettagfile{\ift@agfilein - \else - \the\inputtagfiles - \immediate\openout\t@agfile=\jobname.tag - \t@agfileintrue - \fi} -\def\autonumberingon{\g@ettagfile\autonumbertrue} -\def\autonumberingoff{\autonumberfalse} -\def\autoreferencingon{\g@ettagfile\autoreferencetrue} -\def\autoreferencingoff{\autoreferencefalse} - -%-------- general tag setups --- new autonumbers -%#1 tagtype #2 pre -%tagrefformat will be called by \...tagrefformat and will be initially -% defined as \...tagrefformat --> \Prerefform\...numform\Postrefform -% and \...numform -->\the\...num -\def\Prerefform{} \def\Postrefform{} - -%---- makes the tex commands for tag refformats ----- -\def\m@aketagrefformat#1#2{\edef\nnxt{ - \noexpand\def\csname #1tagrefformat\endcsname{\noexpand\Prerefform #2\noexpand\Postrefform}} - \nnxt} - -% ----list of specials to be reset .... all are done together unless overidden -\newtoks\s@presetlist - - - -% ------ newautonum ------- -% This is used to produce the commands necessary to have a tag that can be -% associated with a counter and to have the format styles for printing the -% numbers. They are used for such things a figures, tables, equations. -% Three are actually defined. - -% #1 is the name of then new autonum --- 3 or less characters -% since it might be the needed for list files -% if #1=xy, makes an \xynum, \xynumform \xytagrefformat -% sets \xynumform to \the\xynum -\def\newautonum#1{ - \expandafter\n@ewcount\csname #1num\endcsname %allocates counter - \edef\n@ext{{\global\expandafter\csname #1num\endcsname = 0}} - \expandafter\toks0\n@ext - \appendtoks{\s@presetlist}{\toks0} - \expandafter\let \csname #1tagrefformat\endcsname = \relax - %inhibits expansion later on - \edef\n@ext##1{\noexpand\def\csname auto#1num\endcsname - ##1{\noexpand\a@utotag{##1}{\csname #1num\endcsname - }{\csname #1tagrefformat\endcsname - }{\csname #1tagrefformat\endcsname}{##1}}} - \n@ext{##1} %makes \auto#1num - \m@aketagrefformat{#1}{\csname #1numform\endcsname} - \edef\n@ext{ %initializes \#1numform - \noexpand\def\csname #1numform\endcsname - {\noexpand\the\csname #1num\endcsname}} - \n@ext - } - -%===== Allocates the autonums to eq, fig and tbl ======= -\newautonum{eq} -\newautonum{fig} -\newautonum{tbl} -%-------------------- diff --git a/macros/inrstex/inrstex/cite.tex b/macros/inrstex/inrstex/cite.tex deleted file mode 100644 index 1101ba3726..0000000000 --- a/macros/inrstex/inrstex/cite.tex +++ /dev/null @@ -1,165 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ===== Citation generation ========== -% \cite is used with a journal/paper reference. -% The forms allow both random input order of cite forms or -% fixed order. At the moment it supports only IEEE form, ie -% a list in the order of their occurrence in a paper. -% A data base system using a mailbox would be much better. - - -% Invocation of \cite{Ferg84} will define a \tag{Ferg84}{<number>}, -% where the reference number is sequentially determined. At the site -% of the invocation <number> is dropped into the text (without [ or ]). -% If the reference has been previously invoked, the number is that of -% the first invocation. -% the \citenum is relative to an \i@nitcitenum. This allows for multiple -% reference lists in the same document. A new number is defined if the old -% one is undefined or less than or equal to the initcitenum - -% In addition, when the citation tag file is written out, the last \citenum -% is also written. This allows a citation tag file to be input for early -% reference and then to be effectively discarded by resetting the -% \i@nitcitenum - -\def\opencitationtagfile{\openlistfile{ctg}\resetcitationnumbers\immediate - \write\ctg@file{\noexpand\initcitetag{\the\citenum}}} - -\def\closecitationtagfile{\immediate - \write\ctg@file{\noexpand\lastcitetag{\the\citenum}}\closelistfile{ctg}} - -%--- citenum allocation ------ -\def\initcitetag#1{\xdef\i@nitcitenum{#1}} - \initcitetag{0} % initializes to 0 -\def\lastcitetag#1{\xdef\l@astcitenum{#1}} - \lastcitetag{0} % initializes to 0} - -\newcount\citenum \citenum = 0 -\def\resetcitationnumbers{\ifnum\citenum>\l@astcitenum - \lastcitetag{\the\citenum}\else - \global\citenum = \l@astcitenum \fi - \initcitetag{\l@astcitenum}} - -\def\w@ritecite#1{\ifctglist \immediate\write\ctg@file - {\string\tag{#1}{\the\citenum}}\fi} -\def\m@akecitetag#1{\global\advance\citenum by 1 \relax - \tag{#1}{\the\citenum}\w@ritecite{#1}} - -\def\cite#1{\ifctglist \else \opencitationtagfile \fi - \edef\c@itearrow{<--}\relax - \ifundefined{:@#1}\m@akecitetag{#1}\edef\c@itearrow - {==>}\fi - \ifnum \i@nitcitenum < \csname :@#1\endcsname \else - \m@akecitetag{#1}\edef\c@itearrow - {==>}\fi - \count255= \csname :@#1\endcsname - \advance\count255 by -\i@nitcitenum \relax - \proofmargin{#1 \c@itearrow\ \the\count255}\the\count255} - -% This will produce the correct value of a citation without -% causing it to be created if it does not exist - -\def\citeref#1{\ifundefined{:@#1}\count255=0\else - \count255=\csname :@#1\endcsname\fi - \advance\count255by-\i@nitcitenum\relax\the\count255} - - -% Citation/Reference list generation. An example setup using the list -% macros to generate a reference list is shown below. -% \opencitationtagfile -% <main text> -% \beginlist -% \makecitationlist %or \makelongcitationlist -% \endlist -% The reference list is generated from two files: -% <jobname>.ctg contains citation tags of the form \tag{Ferg84}{4} -% where the first argument is the tag, and the second -% is the reference number associated with that tag. -% <jobname>.cfm contains the text for the references. These can appear -% in any order and contain text of the form -% \citeform{<tag>}{\listitem{\citetagvalue} <reference text>} -% This example shows a preamble to the text which invokes -% a new list item with the appropriate reference number. -% The reference text is the author, journal etc. for the -% reference. -% Each \citeform entry will generate a new macro definition of the form -% \def\@Ferg84form{<reference text>}. -% Each \tag entry will define \citetagvalue as the citation/reference number -% and invoke \@Ferg84form - -%\makecitationlist does not require the .cfm file to have citations in the -%same order as .ctg file. \makelongcitationlist enters the citations in the -%in the document in the same order as in the file. It numbers with a counter -%and indicates if there is a difference between citetag and counter. - -\newif\ifctglist % so dont have to check if undefined -\newtoks\citetagfilename \citetagfilename = {\jobname.ctg} %compatible Ugh! -\newtoks\inputciteformfiles - \inputciteformfiles = {\inputwithcheck{\jobname.cfm}} -\newtoks\inputcitetagfiles - \inputcitetagfiles = {\inputwithcheck{\the\citetagfilename}} - - - -%\def\citetagfileclosedmessage{ << CITATION TAG FILE CLOSED >> } -%\def\nocitetagformmessage{ NO CITATION FORM FOR THIS TAG} -% see english/french titles - -\def\c@losectg{ - \ifctglist - \immediate\write\ctg@file{\noexpand\lastcitetag{\the\citenum}} - \immediate\closeout\ctg@file - \global\ctglistfalse - \writeterm{\citetagfileclosedmessage}{}{}\relax - \fi} - -% outside so that the cfm list may be included in the document. -\def\citeform#1#2{\expandafter - \def\csname @#1form\endcsname{#2}} - - -%cfm entries may be in any order -\long\def\makecitationlist{\par - \begingroup - \c@losectg - \def\citeform##1##2{\expandafter - \def\csname @##1form\endcsname{##2}} - \def\tag##1##2{\count255 = ##2\relax - \advance\count255 by -\i@nitcitenum - \edef\citetagvalue{\the\count255}\relax % locally redefine \tag - \ifundefined{@##1form}\relax - \writeterm{<<<\the\count255. \nocitetagformmessage: ##1}{}{}\relax - \vskip 2ex - \leftline{##2\ \nocitetagformmessage: ##1} - \vskip 2ex - \else - \csname @##1form\endcsname - \fi} - \the\inputciteformfiles - \the\inputcitetagfiles \par - \endgroup} - -%.cfm entries must be in the same order as the tags in the .ctg file -\newcount\c@fmcount %counter for citations -\long\def\makelongcitationlist{\par - \begingroup - \c@losectg - \c@fmcount=0 \relax - \def\citetagvalue{\the\c@fmcount} - \def\citeform##1##2{\advance\c@fmcount by 1 - \ifundefined{:@##1} - \expandafter \xdef \csname :@##1\endcsname{-1} \fi - \count 255 = \csname :@##1\endcsname - \advance\count 255 by -\i@nitcitenum - \ifnum \the\count255 = \the\c@fmcount - \relax \else - \writeterm{<<< Cite tag error -- Tag ##1 -- Citation \the\c@fmcount >>>}{}{} - \fi - ##2} - \the\inputcitetagfiles - \the\inputciteformfiles\par - \endgroup - } - diff --git a/macros/inrstex/inrstex/compat3.tex b/macros/inrstex/inrstex/compat3.tex deleted file mode 100644 index 5e0d6ed8d5..0000000000 --- a/macros/inrstex/inrstex/compat3.tex +++ /dev/null @@ -1,14 +0,0 @@ -% compatability macros for multilingual and extened TeX 2.992 plus -% assumes the existence of \charsublist - -% #1 -- extended character to be exchanged -% #2 -- accent macro invocation letter -% #3 -- base character for this code - -\def\csubinverse #1#2#3{\expandafter\def\csname #2#3\endcsname{#1}} - -\catcode`\@=11 -\def\i{^^P} -\def\j{^^Q} - - diff --git a/macros/inrstex/inrstex/compatib.tex b/macros/inrstex/inrstex/compatib.tex deleted file mode 100644 index c451240143..0000000000 --- a/macros/inrstex/inrstex/compatib.tex +++ /dev/null @@ -1,53 +0,0 @@ -% compatability macros for multilingual and extened TeX 2.992 plus -% assumes the existence of \charsublist - -% #1 -- extended character to be exchanged -% #2 -- accent macro invocation letter -% #3 -- base character for this code - -\def\csubinverse #1#2#3{\expandafter\def\csname #2#3\endcsname{#1}} - -\catcode`\@=11 -\def\i{^^P} -\def\j{^^Q} - -% ... test case - -\def\'#1{{\expandafter\ifx\csname @ac@#1\endcsname\relax - {\accent19 #1}\else\csname @ac@#1\endcsname\fi}} -\def\`#1{{\expandafter\ifx\csname @gr@#1\endcsname\relax - {\accent18 #1}\else\csname @gr@#1\endcsname\fi}} -\def\v#1{{\expandafter\ifx\csname @v@#1\endcsname\relax - {\accent20 #1}\else\csname @v@#1\endcsname\fi}} -\let\^^_=\v - -\def\u#1{{\expandafter\ifx\csname @u@#1\endcsname\relax - {\accent21 #1}\else\csname @u@#1\endcsname\fi}} -\let\^^S=\u - -\def\=#1{{\expandafter\ifx\csname @eq@#1\endcsname\relax - {\accent22 #1}\else\csname @eq@#1\endcsname\fi}} -\def\^#1{{\expandafter\ifx\csname @hat@#1\endcsname\relax - {\accent94 #1}\else\csname @hat@#1\endcsname\fi}} -\let\^^D=\^ -\def\.#1{{\expandafter\ifx\csname @dot@#1\endcsname\relax - {\accent95 #1}\else\csname @dot@#1\endcsname\fi}} -\def\H#1{{\expandafter\ifx\csname @H@#1\endcsname\relax - {\accent'175 #1}\else\csname @H@#1\endcsname\fi}} -\def\~#1{{\expandafter\ifx\csname @til@#1\endcsname\relax - {\accent'176 #1}\else\csname @til@#1\endcsname\fi}} -\def\"#1{{\expandafter\ifx\csname @um@#1\endcsname\relax - {\accent'177 #1}\else\csname @um@#1\endcsname\fi}} - - -\let\c@@=\c -\def\c#1{{\expandafter\ifx\csname c@#1\endcsname\relax - \c@@\else\csname c@#1\endcsname\fi}} - - - - -% test form for accents ... -\def\aa{\accent23a} - - diff --git a/macros/inrstex/inrstex/english.tex b/macros/inrstex/inrstex/english.tex deleted file mode 100644 index f0690068dd..0000000000 --- a/macros/inrstex/inrstex/english.tex +++ /dev/null @@ -1,17 +0,0 @@ -\def\englishversion{\language=0 -\nonfrenchspacing % .... needs to reverse accent forms ... -\def\versionform{{\notefont Draft Version: \date}}% -\def\Chapter{Chapter }% -\def\Appendix{Appendix }% -\def\ABSTRACT{{\ssheadfont Abstract}}% -\def\figurelabel{Fig. }% -\def\tablelabel{Table }% -\def\bookstylemessage{ <<< BOOKSTYLE >>> }% -\def\endlistmessage##1{ <<< endlist mismatch >>> }% -\def\undeftagmessage##1{ <<<tag: ##1 = undefined>>> }% -\def\citetagfileclosedmessage{ << CITATION TAG FILE CLOSED >> }% -\def\nocitetagformmessage{ NO CITATION FOR THIS TAG }% -\def\titlemessage{Title}% -\lccode`\'=0 -}% -\englishversion \ No newline at end of file diff --git a/macros/inrstex/inrstex/enhyph.tex b/macros/inrstex/inrstex/enhyph.tex deleted file mode 100644 index e40581f0d1..0000000000 --- a/macros/inrstex/inrstex/enhyph.tex +++ /dev/null @@ -1,4453 +0,0 @@ -% ------- English hyphen patterns ----- -% defaults to language 1 -% The Plain TeX hyphenation tables [NOT TO BE CHANGED IN ANY WAY!] - -\patterns{ % just type <return> if you're not using INITEX -.ach4 -.ad4der -.af1t -.al3t -.am5at -.an5c -.ang4 -.ani5m -.ant4 -.an3te -.anti5s -.ar5s -.ar4tie -.ar4ty -.as3c -.as1p -.as1s -.aster5 -.atom5 -.au1d -.av4i -.awn4 -.ba4g -.ba5na -.bas4e -.ber4 -.be5ra -.be3sm -.be5sto -.bri2 -.but4ti -.cam4pe -.can5c -.capa5b -.car5ol -.ca4t -.ce4la -.ch4 -.chill5i -.ci2 -.cit5r -.co3e -.co4r -.cor5ner -.de4moi -.de3o -.de3ra -.de3ri -.des4c -.dictio5 -.do4t -.du4c -.dumb5 -.earth5 -.eas3i -.eb4 -.eer4 -.eg2 -.el5d -.el3em -.enam3 -.en3g -.en3s -.eq5ui5t -.er4ri -.es3 -.eu3 -.eye5 -.fes3 -.for5mer -.ga2 -.ge2 -.gen3t4 -.ge5og -.gi5a -.gi4b -.go4r -.hand5i -.han5k -.he2 -.hero5i -.hes3 -.het3 -.hi3b -.hi3er -.hon5ey -.hon3o -.hov5 -.id4l -.idol3 -.im3m -.im5pin -.in1 -.in3ci -.ine2 -.in2k -.in3s -.ir5r -.is4i -.ju3r -.la4cy -.la4m -.lat5er -.lath5 -.le2 -.leg5e -.len4 -.lep5 -.lev1 -.li4g -.lig5a -.li2n -.li3o -.li4t -.mag5a5 -.mal5o -.man5a -.mar5ti -.me2 -.mer3c -.me5ter -.mis1 -.mist5i -.mon3e -.mo3ro -.mu5ta -.muta5b -.ni4c -.od2 -.odd5 -.of5te -.or5ato -.or3c -.or1d -.or3t -.os3 -.os4tl -.oth3 -.out3 -.ped5al -.pe5te -.pe5tit -.pi4e -.pio5n -.pi2t -.pre3m -.ra4c -.ran4t -.ratio5na -.ree2 -.re5mit -.res2 -.re5stat -.ri4g -.rit5u -.ro4q -.ros5t -.row5d -.ru4d -.sci3e -.self5 -.sell5 -.se2n -.se5rie -.sh2 -.si2 -.sing4 -.st4 -.sta5bl -.sy2 -.ta4 -.te4 -.ten5an -.th2 -.ti2 -.til4 -.tim5o5 -.ting4 -.tin5k -.ton4a -.to4p -.top5i -.tou5s -.trib5ut -.un1a -.un3ce -.under5 -.un1e -.un5k -.un5o -.un3u -.up3 -.ure3 -.us5a -.ven4de -.ve5ra -.wil5i -.ye4 -4ab. -a5bal -a5ban -abe2 -ab5erd -abi5a -ab5it5ab -ab5lat -ab5o5liz -4abr -ab5rog -ab3ul -a4car -ac5ard -ac5aro -a5ceou -ac1er -a5chet -4a2ci -a3cie -ac1in -a3cio -ac5rob -act5if -ac3ul -ac4um -a2d -ad4din -ad5er. -2adi -a3dia -ad3ica -adi4er -a3dio -a3dit -a5diu -ad4le -ad3ow -ad5ran -ad4su -4adu -a3duc -ad5um -ae4r -aeri4e -a2f -aff4 -a4gab -aga4n -ag5ell -age4o -4ageu -ag1i -4ag4l -ag1n -a2go -3agog -ag3oni -a5guer -ag5ul -a4gy -a3ha -a3he -ah4l -a3ho -ai2 -a5ia -a3ic. -ai5ly -a4i4n -ain5in -ain5o -ait5en -a1j -ak1en -al5ab -al3ad -a4lar -4aldi -2ale -al3end -a4lenti -a5le5o -al1i -al4ia. -ali4e -al5lev -4allic -4alm -a5log. -a4ly. -4alys -5a5lyst -5alyt -3alyz -4ama -am5ab -am3ag -ama5ra -am5asc -a4matis -a4m5ato -am5era -am3ic -am5if -am5ily -am1in -ami4no -a2mo -a5mon -amor5i -amp5en -a2n -an3age -3analy -a3nar -an3arc -anar4i -a3nati -4and -ande4s -an3dis -an1dl -an4dow -a5nee -a3nen -an5est. -a3neu -2ang -ang5ie -an1gl -a4n1ic -a3nies -an3i3f -an4ime -a5nimi -a5nine -an3io -a3nip -an3ish -an3it -a3niu -an4kli -5anniz -ano4 -an5ot -anoth5 -an2sa -an4sco -an4sn -an2sp -ans3po -an4st -an4sur -antal4 -an4tie -4anto -an2tr -an4tw -an3ua -an3ul -a5nur -4ao -apar4 -ap5at -ap5ero -a3pher -4aphi -a4pilla -ap5illar -ap3in -ap3ita -a3pitu -a2pl -apoc5 -ap5ola -apor5i -apos3t -aps5es -a3pu -aque5 -2a2r -ar3act -a5rade -ar5adis -ar3al -a5ramete -aran4g -ara3p -ar4at -a5ratio -ar5ativ -a5rau -ar5av4 -araw4 -arbal4 -ar4chan -ar5dine -ar4dr -ar5eas -a3ree -ar3ent -a5ress -ar4fi -ar4fl -ar1i -ar5ial -ar3ian -a3riet -ar4im -ar5inat -ar3io -ar2iz -ar2mi -ar5o5d -a5roni -a3roo -ar2p -ar3q -arre4 -ar4sa -ar2sh -4as. -as4ab -as3ant -ashi4 -a5sia. -a3sib -a3sic -5a5si4t -ask3i -as4l -a4soc -as5ph -as4sh -as3ten -as1tr -asur5a -a2ta -at3abl -at5ac -at3alo -at5ap -ate5c -at5ech -at3ego -at3en. -at3era -ater5n -a5terna -at3est -at5ev -4ath -ath5em -a5then -at4ho -ath5om -4ati. -a5tia -at5i5b -at1ic -at3if -ation5ar -at3itu -a4tog -a2tom -at5omiz -a4top -a4tos -a1tr -at5rop -at4sk -at4tag -at5te -at4th -a2tu -at5ua -at5ue -at3ul -at3ura -a2ty -au4b -augh3 -au3gu -au4l2 -aun5d -au3r -au5sib -aut5en -au1th -a2va -av3ag -a5van -ave4no -av3era -av5ern -av5ery -av1i -avi4er -av3ig -av5oc -a1vor -3away -aw3i -aw4ly -aws4 -ax4ic -ax4id -ay5al -aye4 -ays4 -azi4er -azz5i -5ba. -bad5ger -ba4ge -bal1a -ban5dag -ban4e -ban3i -barbi5 -bari4a -bas4si -1bat -ba4z -2b1b -b2be -b3ber -bbi4na -4b1d -4be. -beak4 -beat3 -4be2d -be3da -be3de -be3di -be3gi -be5gu -1bel -be1li -be3lo -4be5m -be5nig -be5nu -4bes4 -be3sp -be5str -3bet -bet5iz -be5tr -be3tw -be3w -be5yo -2bf -4b3h -bi2b -bi4d -3bie -bi5en -bi4er -2b3if -1bil -bi3liz -bina5r4 -bin4d -bi5net -bi3ogr -bi5ou -bi2t -3bi3tio -bi3tr -3bit5ua -b5itz -b1j -bk4 -b2l2 -blath5 -b4le. -blen4 -5blesp -b3lis -b4lo -blun4t -4b1m -4b3n -bne5g -3bod -bod3i -bo4e -bol3ic -bom4bi -bon4a -bon5at -3boo -5bor. -4b1ora -bor5d -5bore -5bori -5bos4 -b5ota -both5 -bo4to -bound3 -4bp -4brit -broth3 -2b5s2 -bsor4 -2bt -bt4l -b4to -b3tr -buf4fer -bu4ga -bu3li -bumi4 -bu4n -bunt4i -bu3re -bus5ie -buss4e -5bust -4buta -3butio -b5uto -b1v -4b5w -5by. -bys4 -1ca -cab3in -ca1bl -cach4 -ca5den -4cag4 -2c5ah -ca3lat -cal4la -call5in -4calo -can5d -can4e -can4ic -can5is -can3iz -can4ty -cany4 -ca5per -car5om -cast5er -cas5tig -4casy -ca4th -4cativ -cav5al -c3c -ccha5 -cci4a -ccompa5 -ccon4 -ccou3t -2ce. -4ced. -4ceden -3cei -5cel. -3cell -1cen -3cenc -2cen4e -4ceni -3cent -3cep -ce5ram -4cesa -3cessi -ces5si5b -ces5t -cet4 -c5e4ta -cew4 -2ch -4ch. -4ch3ab -5chanic -ch5a5nis -che2 -cheap3 -4ched -che5lo -3chemi -ch5ene -ch3er. -ch3ers -4ch1in -5chine. -ch5iness -5chini -5chio -3chit -chi2z -3cho2 -ch4ti -1ci -3cia -ci2a5b -cia5r -ci5c -4cier -5cific. -4cii -ci4la -3cili -2cim -2cin -c4ina -3cinat -cin3em -c1ing -c5ing. -5cino -cion4 -4cipe -ci3ph -4cipic -4cista -4cisti -2c1it -cit3iz -5ciz -ck1 -ck3i -1c4l4 -4clar -c5laratio -5clare -cle4m -4clic -clim4 -cly4 -c5n -1co -co5ag -coe2 -2cog -co4gr -coi4 -co3inc -col5i -5colo -col3or -com5er -con4a -c4one -con3g -con5t -co3pa -cop3ic -co4pl -4corb -coro3n -cos4e -cov1 -cove4 -cow5a -coz5e -co5zi -c1q -cras5t -5crat. -5cratic -cre3at -5cred -4c3reta -cre4v -cri2 -cri5f -c4rin -cris4 -5criti -cro4pl -crop5o -cros4e -cru4d -4c3s2 -2c1t -cta4b -ct5ang -c5tant -c2te -c3ter -c4ticu -ctim3i -ctu4r -c4tw -cud5 -c4uf -c4ui -cu5ity -5culi -cul4tis -3cultu -cu2ma -c3ume -cu4mi -3cun -cu3pi -cu5py -cur5a4b -cu5ria -1cus -cuss4i -3c4ut -cu4tie -4c5utiv -4cutr -1cy -cze4 -1d2a -5da. -2d3a4b -dach4 -4daf -2dag -da2m2 -dan3g -dard5 -dark5 -4dary -3dat -4dativ -4dato -5dav4 -dav5e -5day -d1b -d5c -d1d4 -2de. -deaf5 -deb5it -de4bon -decan4 -de4cil -de5com -2d1ed -4dee. -de5if -deli4e -del5i5q -de5lo -d4em -5dem. -3demic -dem5ic. -de5mil -de4mons -demor5 -1den -de4nar -de3no -denti5f -de3nu -de1p -de3pa -depi4 -de2pu -d3eq -d4erh -5derm -dern5iz -der5s -des2 -d2es. -de1sc -de2s5o -des3ti -de3str -de4su -de1t -de2to -de1v -dev3il -4dey -4d1f -d4ga -d3ge4t -dg1i -d2gy -d1h2 -5di. -1d4i3a -dia5b -di4cam -d4ice -3dict -3did -5di3en -d1if -di3ge -di4lato -d1in -1dina -3dine. -5dini -di5niz -1dio -dio5g -di4pl -dir2 -di1re -dirt5i -dis1 -5disi -d4is3t -d2iti -1di1v -d1j -d5k2 -4d5la -3dle. -3dled -3dles. -4dless -2d3lo -4d5lu -2dly -d1m -4d1n4 -1do -3do. -do5de -5doe -2d5of -d4og -do4la -doli4 -do5lor -dom5iz -do3nat -doni4 -doo3d -dop4p -d4or -3dos -4d5out -do4v -3dox -d1p -1dr -drag5on -4drai -dre4 -drea5r -5dren -dri4b -dril4 -dro4p -4drow -5drupli -4dry -2d1s2 -ds4p -d4sw -d4sy -d2th -1du -d1u1a -du2c -d1uca -duc5er -4duct. -4ducts -du5el -du4g -d3ule -dum4be -du4n -4dup -du4pe -d1v -d1w -d2y -5dyn -dy4se -dys5p -e1a4b -e3act -ead1 -ead5ie -ea4ge -ea5ger -ea4l -eal5er -eal3ou -eam3er -e5and -ear3a -ear4c -ear5es -ear4ic -ear4il -ear5k -ear2t -eart3e -ea5sp -e3ass -east3 -ea2t -eat5en -eath3i -e5atif -e4a3tu -ea2v -eav3en -eav5i -eav5o -2e1b -e4bel. -e4bels -e4ben -e4bit -e3br -e4cad -ecan5c -ecca5 -e1ce -ec5essa -ec2i -e4cib -ec5ificat -ec5ifie -ec5ify -ec3im -eci4t -e5cite -e4clam -e4clus -e2col -e4comm -e4compe -e4conc -e2cor -ec3ora -eco5ro -e1cr -e4crem -ec4tan -ec4te -e1cu -e4cul -ec3ula -2e2da -4ed3d -e4d1er -ede4s -4edi -e3dia -ed3ib -ed3ica -ed3im -ed1it -edi5z -4edo -e4dol -edon2 -e4dri -e4dul -ed5ulo -ee2c -eed3i -ee2f -eel3i -ee4ly -ee2m -ee4na -ee4p1 -ee2s4 -eest4 -ee4ty -e5ex -e1f -e4f3ere -1eff -e4fic -5efici -efil4 -e3fine -ef5i5nite -3efit -efor5es -e4fuse. -4egal -eger4 -eg5ib -eg4ic -eg5ing -e5git5 -eg5n -e4go. -e4gos -eg1ul -e5gur -5egy -e1h4 -eher4 -ei2 -e5ic -ei5d -eig2 -ei5gl -e3imb -e3inf -e1ing -e5inst -eir4d -eit3e -ei3th -e5ity -e1j -e4jud -ej5udi -eki4n -ek4la -e1la -e4la. -e4lac -elan4d -el5ativ -e4law -elaxa4 -e3lea -el5ebra -5elec -e4led -el3ega -e5len -e4l1er -e1les -el2f -el2i -e3libe -e4l5ic. -el3ica -e3lier -el5igib -e5lim -e4l3ing -e3lio -e2lis -el5ish -e3liv3 -4ella -el4lab -ello4 -e5loc -el5og -el3op. -el2sh -el4ta -e5lud -el5ug -e4mac -e4mag -e5man -em5ana -em5b -e1me -e2mel -e4met -em3ica -emi4e -em5igra -em1in2 -em5ine -em3i3ni -e4mis -em5ish -e5miss -em3iz -5emniz -emo4g -emoni5o -em3pi -e4mul -em5ula -emu3n -e3my -en5amo -e4nant -ench4er -en3dic -e5nea -e5nee -en3em -en5ero -en5esi -en5est -en3etr -e3new -en5ics -e5nie -e5nil -e3nio -en3ish -en3it -e5niu -5eniz -4enn -4eno -eno4g -e4nos -en3ov -en4sw -ent5age -4enthes -en3ua -en5uf -e3ny. -4en3z -e5of -eo2g -e4oi4 -e3ol -eop3ar -e1or -eo3re -eo5rol -eos4 -e4ot -eo4to -e5out -e5ow -e2pa -e3pai -ep5anc -e5pel -e3pent -ep5etitio -ephe4 -e4pli -e1po -e4prec -ep5reca -e4pred -ep3reh -e3pro -e4prob -ep4sh -ep5ti5b -e4put -ep5uta -e1q -equi3l -e4q3ui3s -er1a -era4b -4erand -er3ar -4erati. -2erb -er4bl -er3ch -er4che -2ere. -e3real -ere5co -ere3in -er5el. -er3emo -er5ena -er5ence -4erene -er3ent -ere4q -er5ess -er3est -eret4 -er1h -er1i -e1ria4 -5erick -e3rien -eri4er -er3ine -e1rio -4erit -er4iu -eri4v -e4riva -er3m4 -er4nis -4ernit -5erniz -er3no -2ero -er5ob -e5roc -ero4r -er1ou -er1s -er3set -ert3er -4ertl -er3tw -4eru -eru4t -5erwau -e1s4a -e4sage. -e4sages -es2c -e2sca -es5can -e3scr -es5cu -e1s2e -e2sec -es5ecr -es5enc -e4sert. -e4serts -e4serva -4esh -e3sha -esh5en -e1si -e2sic -e2sid -es5iden -es5igna -e2s5im -es4i4n -esis4te -esi4u -e5skin -es4mi -e2sol -es3olu -e2son -es5ona -e1sp -es3per -es5pira -es4pre -2ess -es4si4b -estan4 -es3tig -es5tim -4es2to -e3ston -2estr -e5stro -estruc5 -e2sur -es5urr -es4w -eta4b -eten4d -e3teo -ethod3 -et1ic -e5tide -etin4 -eti4no -e5tir -e5titio -et5itiv -4etn -et5ona -e3tra -e3tre -et3ric -et5rif -et3rog -et5ros -et3ua -et5ym -et5z -4eu -e5un -e3up -eu3ro -eus4 -eute4 -euti5l -eu5tr -eva2p5 -e2vas -ev5ast -e5vea -ev3ell -evel3o -e5veng -even4i -ev1er -e5verb -e1vi -ev3id -evi4l -e4vin -evi4v -e5voc -e5vu -e1wa -e4wag -e5wee -e3wh -ewil5 -ew3ing -e3wit -1exp -5eyc -5eye. -eys4 -1fa -fa3bl -fab3r -fa4ce -4fag -fain4 -fall5e -4fa4ma -fam5is -5far -far5th -fa3ta -fa3the -4fato -fault5 -4f5b -4fd -4fe. -feas4 -feath3 -fe4b -4feca -5fect -2fed -fe3li -fe4mo -fen2d -fend5e -fer1 -5ferr -fev4 -4f1f -f4fes -f4fie -f5fin. -f2f5is -f4fly -f2fy -4fh -1fi -fi3a -2f3ic. -4f3ical -f3ican -4ficate -f3icen -fi3cer -fic4i -5ficia -5ficie -4fics -fi3cu -fi5del -fight5 -fil5i -fill5in -4fily -2fin -5fina -fin2d5 -fi2ne -f1in3g -fin4n -fis4ti -f4l2 -f5less -flin4 -flo3re -f2ly5 -4fm -4fn -1fo -5fon -fon4de -fon4t -fo2r -fo5rat -for5ay -fore5t -for4i -fort5a -fos5 -4f5p -fra4t -f5rea -fres5c -fri2 -fril4 -frol5 -2f3s -2ft -f4to -f2ty -3fu -fu5el -4fug -fu4min -fu5ne -fu3ri -fusi4 -fus4s -4futa -1fy -1ga -gaf4 -5gal. -3gali -ga3lo -2gam -ga5met -g5amo -gan5is -ga3niz -gani5za -4gano -gar5n4 -gass4 -gath3 -4gativ -4gaz -g3b -gd4 -2ge. -2ged -geez4 -gel4in -ge5lis -ge5liz -4gely -1gen -ge4nat -ge5niz -4geno -4geny -1geo -ge3om -g4ery -5gesi -geth5 -4geto -ge4ty -ge4v -4g1g2 -g2ge -g3ger -gglu5 -ggo4 -gh3in -gh5out -gh4to -5gi. -1gi4a -gia5r -g1ic -5gicia -g4ico -gien5 -5gies. -gil4 -g3imen -3g4in. -gin5ge -5g4ins -5gio -3gir -gir4l -g3isl -gi4u -5giv -3giz -gl2 -gla4 -glad5i -5glas -1gle -gli4b -g3lig -3glo -glo3r -g1m -g4my -gn4a -g4na. -gnet4t -g1ni -g2nin -g4nio -g1no -g4non -1go -3go. -gob5 -5goe -3g4o4g -go3is -gon2 -4g3o3na -gondo5 -go3ni -5goo -go5riz -gor5ou -5gos. -gov1 -g3p -1gr -4grada -g4rai -gran2 -5graph. -g5rapher -5graphic -4graphy -4gray -gre4n -4gress. -4grit -g4ro -gruf4 -gs2 -g5ste -gth3 -gu4a -3guard -2gue -5gui5t -3gun -3gus -4gu4t -g3w -1gy -2g5y3n -gy5ra -h3ab4l -hach4 -hae4m -hae4t -h5agu -ha3la -hala3m -ha4m -han4ci -han4cy -5hand. -han4g -hang5er -hang5o -h5a5niz -han4k -han4te -hap3l -hap5t -ha3ran -ha5ras -har2d -hard3e -har4le -harp5en -har5ter -has5s -haun4 -5haz -haz3a -h1b -1head -3hear -he4can -h5ecat -h4ed -he5do5 -he3l4i -hel4lis -hel4ly -h5elo -hem4p -he2n -hena4 -hen5at -heo5r -hep5 -h4era -hera3p -her4ba -here5a -h3ern -h5erou -h3ery -h1es -he2s5p -he4t -het4ed -heu4 -h1f -h1h -hi5an -hi4co -high5 -h4il2 -himer4 -h4ina -hion4e -hi4p -hir4l -hi3ro -hir4p -hir4r -his3el -his4s -hith5er -hi2v -4hk -4h1l4 -hlan4 -h2lo -hlo3ri -4h1m -hmet4 -2h1n -h5odiz -h5ods -ho4g -hoge4 -hol5ar -3hol4e -ho4ma -home3 -hon4a -ho5ny -3hood -hoon4 -hor5at -ho5ris -hort3e -ho5ru -hos4e -ho5sen -hos1p -1hous -house3 -hov5el -4h5p -4hr4 -hree5 -hro5niz -hro3po -4h1s2 -h4sh -h4tar -ht1en -ht5es -h4ty -hu4g -hu4min -hun5ke -hun4t -hus3t4 -hu4t -h1w -h4wart -hy3pe -hy3ph -hy2s -2i1a -i2al -iam4 -iam5ete -i2an -4ianc -ian3i -4ian4t -ia5pe -iass4 -i4ativ -ia4tric -i4atu -ibe4 -ib3era -ib5ert -ib5ia -ib3in -ib5it. -ib5ite -i1bl -ib3li -i5bo -i1br -i2b5ri -i5bun -4icam -5icap -4icar -i4car. -i4cara -icas5 -i4cay -iccu4 -4iceo -4ich -2ici -i5cid -ic5ina -i2cip -ic3ipa -i4cly -i2c5oc -4i1cr -5icra -i4cry -ic4te -ictu2 -ic4t3ua -ic3ula -ic4um -ic5uo -i3cur -2id -i4dai -id5anc -id5d -ide3al -ide4s -i2di -id5ian -idi4ar -i5die -id3io -idi5ou -id1it -id5iu -i3dle -i4dom -id3ow -i4dr -i2du -id5uo -2ie4 -ied4e -5ie5ga -ield3 -ien5a4 -ien4e -i5enn -i3enti -i1er. -i3esc -i1est -i3et -4if. -if5ero -iff5en -if4fr -4ific. -i3fie -i3fl -4ift -2ig -iga5b -ig3era -ight3i -4igi -i3gib -ig3il -ig3in -ig3it -i4g4l -i2go -ig3or -ig5ot -i5gre -igu5i -ig1ur -i3h -4i5i4 -i3j -4ik -i1la -il3a4b -i4lade -i2l5am -ila5ra -i3leg -il1er -ilev4 -il5f -il1i -il3ia -il2ib -il3io -il4ist -2ilit -il2iz -ill5ab -4iln -il3oq -il4ty -il5ur -il3v -i4mag -im3age -ima5ry -imenta5r -4imet -im1i -im5ida -imi5le -i5mini -4imit -im4ni -i3mon -i2mu -im3ula -2in. -i4n3au -4inav -incel4 -in3cer -4ind -in5dling -2ine -i3nee -iner4ar -i5ness -4inga -4inge -in5gen -4ingi -in5gling -4ingo -4ingu -2ini -i5ni. -i4nia -in3io -in1is -i5nite. -5initio -in3ity -4ink -4inl -2inn -2i1no -i4no4c -ino4s -i4not -2ins -in3se -insur5a -2int. -2in4th -in1u -i5nus -4iny -2io -4io. -ioge4 -io2gr -i1ol -io4m -ion3at -ion4ery -ion3i -io5ph -ior3i -i4os -io5th -i5oti -io4to -i4our -2ip -ipe4 -iphras4 -ip3i -ip4ic -ip4re4 -ip3ul -i3qua -iq5uef -iq3uid -iq3ui3t -4ir -i1ra -ira4b -i4rac -ird5e -ire4de -i4ref -i4rel4 -i4res -ir5gi -ir1i -iri5de -ir4is -iri3tu -5i5r2iz -ir4min -iro4g -5iron. -ir5ul -2is. -is5ag -is3ar -isas5 -2is1c -is3ch -4ise -is3er -3isf -is5han -is3hon -ish5op -is3ib -isi4d -i5sis -is5itiv -4is4k -islan4 -4isms -i2so -iso5mer -is1p -is2pi -is4py -4is1s -is4sal -issen4 -is4ses -is4ta. -is1te -is1ti -ist4ly -4istral -i2su -is5us -4ita. -ita4bi -i4tag -4ita5m -i3tan -i3tat -2ite -it3era -i5teri -it4es -2ith -i1ti -4itia -4i2tic -it3ica -5i5tick -it3ig -it5ill -i2tim -2itio -4itis -i4tism -i2t5o5m -4iton -i4tram -it5ry -4itt -it3uat -i5tud -it3ul -4itz. -i1u -2iv -iv3ell -iv3en. -i4v3er. -i4vers. -iv5il. -iv5io -iv1it -i5vore -iv3o3ro -i4v3ot -4i5w -ix4o -4iy -4izar -izi4 -5izont -5ja -jac4q -ja4p -1je -jer5s -4jestie -4jesty -jew3 -jo4p -5judg -3ka. -k3ab -k5ag -kais4 -kal4 -k1b -k2ed -1kee -ke4g -ke5li -k3en4d -k1er -kes4 -k3est. -ke4ty -k3f -kh4 -k1i -5ki. -5k2ic -k4ill -kilo5 -k4im -k4in. -kin4de -k5iness -kin4g -ki4p -kis4 -k5ish -kk4 -k1l -4kley -4kly -k1m -k5nes -1k2no -ko5r -kosh4 -k3ou -kro5n -4k1s2 -k4sc -ks4l -k4sy -k5t -k1w -lab3ic -l4abo -laci4 -l4ade -la3dy -lag4n -lam3o -3land -lan4dl -lan5et -lan4te -lar4g -lar3i -las4e -la5tan -4lateli -4lativ -4lav -la4v4a -2l1b -lbin4 -4l1c2 -lce4 -l3ci -2ld -l2de -ld4ere -ld4eri -ldi4 -ld5is -l3dr -l4dri -le2a -le4bi -left5 -5leg. -5legg -le4mat -lem5atic -4len. -3lenc -5lene. -1lent -le3ph -le4pr -lera5b -ler4e -3lerg -3l4eri -l4ero -les2 -le5sco -5lesq -3less -5less. -l3eva -lev4er. -lev4era -lev4ers -3ley -4leye -2lf -l5fr -4l1g4 -l5ga -lgar3 -l4ges -lgo3 -2l3h -li4ag -li2am -liar5iz -li4as -li4ato -li5bi -5licio -li4cor -4lics -4lict. -l4icu -l3icy -l3ida -lid5er -3lidi -lif3er -l4iff -li4fl -5ligate -3ligh -li4gra -3lik -4l4i4l -lim4bl -lim3i -li4mo -l4im4p -l4ina -1l4ine -lin3ea -lin3i -link5er -li5og -4l4iq -lis4p -l1it -l2it. -5litica -l5i5tics -liv3er -l1iz -4lj -lka3 -l3kal -lka4t -l1l -l4law -l2le -l5lea -l3lec -l3leg -l3lel -l3le4n -l3le4t -ll2i -l2lin4 -l5lina -ll4o -lloqui5 -ll5out -l5low -2lm -l5met -lm3ing -l4mod -lmon4 -2l1n2 -3lo. -lob5al -lo4ci -4lof -3logic -l5ogo -3logu -lom3er -5long -lon4i -l3o3niz -lood5 -5lope. -lop3i -l3opm -lora4 -lo4rato -lo5rie -lor5ou -5los. -los5et -5losophiz -5losophy -los4t -lo4ta -loun5d -2lout -4lov -2lp -lpa5b -l3pha -l5phi -lp5ing -l3pit -l4pl -l5pr -4l1r -2l1s2 -l4sc -l2se -l4sie -4lt -lt5ag -ltane5 -l1te -lten4 -ltera4 -lth3i -l5ties. -ltis4 -l1tr -ltu2 -ltur3a -lu5a -lu3br -luch4 -lu3ci -lu3en -luf4 -lu5id -lu4ma -5lumi -l5umn. -5lumnia -lu3o -luo3r -4lup -luss4 -lus3te -1lut -l5ven -l5vet4 -2l1w -1ly -4lya -4lyb -ly5me -ly3no -2lys4 -l5yse -1ma -2mab -ma2ca -ma5chine -ma4cl -mag5in -5magn -2mah -maid5 -4mald -ma3lig -ma5lin -mal4li -mal4ty -5mania -man5is -man3iz -4map -ma5rine. -ma5riz -mar4ly -mar3v -ma5sce -mas4e -mas1t -5mate -math3 -ma3tis -4matiza -4m1b -mba4t5 -m5bil -m4b3ing -mbi4v -4m5c -4me. -2med -4med. -5media -me3die -m5e5dy -me2g -mel5on -mel4t -me2m -mem1o3 -1men -men4a -men5ac -men4de -4mene -men4i -mens4 -mensu5 -3ment -men4te -me5on -m5ersa -2mes -3mesti -me4ta -met3al -me1te -me5thi -m4etr -5metric -me5trie -me3try -me4v -4m1f -2mh -5mi. -mi3a -mid4a -mid4g -mig4 -3milia -m5i5lie -m4ill -min4a -3mind -m5inee -m4ingl -min5gli -m5ingly -min4t -m4inu -miot4 -m2is -mis4er. -mis5l -mis4ti -m5istry -4mith -m2iz -4mk -4m1l -m1m -mma5ry -4m1n -mn4a -m4nin -mn4o -1mo -4mocr -5mocratiz -mo2d1 -mo4go -mois2 -moi5se -4mok -mo5lest -mo3me -mon5et -mon5ge -moni3a -mon4ism -mon4ist -mo3niz -monol4 -mo3ny. -mo2r -4mora. -mos2 -mo5sey -mo3sp -moth3 -m5ouf -3mous -mo2v -4m1p -mpara5 -mpa5rab -mpar5i -m3pet -mphas4 -m2pi -mpi4a -mp5ies -m4p1in -m5pir -mp5is -mpo3ri -mpos5ite -m4pous -mpov5 -mp4tr -m2py -4m3r -4m1s2 -m4sh -m5si -4mt -1mu -mula5r4 -5mult -multi3 -3mum -mun2 -4mup -mu4u -4mw -1na -2n1a2b -n4abu -4nac. -na4ca -n5act -nag5er. -nak4 -na4li -na5lia -4nalt -na5mit -n2an -nanci4 -nan4it -nank4 -nar3c -4nare -nar3i -nar4l -n5arm -n4as -nas4c -nas5ti -n2at -na3tal -nato5miz -n2au -nau3se -3naut -nav4e -4n1b4 -ncar5 -n4ces. -n3cha -n5cheo -n5chil -n3chis -nc1in -nc4it -ncour5a -n1cr -n1cu -n4dai -n5dan -n1de -nd5est. -ndi4b -n5d2if -n1dit -n3diz -n5duc -ndu4r -nd2we -2ne. -n3ear -ne2b -neb3u -ne2c -5neck -2ned -ne4gat -neg5ativ -5nege -ne4la -nel5iz -ne5mi -ne4mo -1nen -4nene -3neo -ne4po -ne2q -n1er -nera5b -n4erar -n2ere -n4er5i -ner4r -1nes -2nes. -4nesp -2nest -4nesw -3netic -ne4v -n5eve -ne4w -n3f -n4gab -n3gel -nge4n4e -n5gere -n3geri -ng5ha -n3gib -ng1in -n5git -n4gla -ngov4 -ng5sh -n1gu -n4gum -n2gy -4n1h4 -nha4 -nhab3 -nhe4 -3n4ia -ni3an -ni4ap -ni3ba -ni4bl -ni4d -ni5di -ni4er -ni2fi -ni5ficat -n5igr -nik4 -n1im -ni3miz -n1in -5nine. -nin4g -ni4o -5nis. -nis4ta -n2it -n4ith -3nitio -n3itor -ni3tr -n1j -4nk2 -n5kero -n3ket -nk3in -n1kl -4n1l -n5m -nme4 -nmet4 -4n1n2 -nne4 -nni3al -nni4v -nob4l -no3ble -n5ocl -4n3o2d -3noe -4nog -noge4 -nois5i -no5l4i -5nologis -3nomic -n5o5miz -no4mo -no3my -no4n -non4ag -non5i -n5oniz -4nop -5nop5o5li -nor5ab -no4rary -4nosc -nos4e -nos5t -no5ta -1nou -3noun -nov3el3 -nowl3 -n1p4 -npi4 -npre4c -n1q -n1r -nru4 -2n1s2 -ns5ab -nsati4 -ns4c -n2se -n4s3es -nsid1 -nsig4 -n2sl -ns3m -n4soc -ns4pe -n5spi -nsta5bl -n1t -nta4b -nter3s -nt2i -n5tib -nti4er -nti2f -n3tine -n4t3ing -nti4p -ntrol5li -nt4s -ntu3me -nu1a -nu4d -nu5en -nuf4fe -n3uin -3nu3it -n4um -nu1me -n5umi -3nu4n -n3uo -nu3tr -n1v2 -n1w4 -nym4 -nyp4 -4nz -n3za -4oa -oad3 -o5a5les -oard3 -oas4e -oast5e -oat5i -ob3a3b -o5bar -obe4l -o1bi -o2bin -ob5ing -o3br -ob3ul -o1ce -och4 -o3chet -ocif3 -o4cil -o4clam -o4cod -oc3rac -oc5ratiz -ocre3 -5ocrit -octor5a -oc3ula -o5cure -od5ded -od3ic -odi3o -o2do4 -odor3 -od5uct. -od5ucts -o4el -o5eng -o3er -oe4ta -o3ev -o2fi -of5ite -ofit4t -o2g5a5r -og5ativ -o4gato -o1ge -o5gene -o5geo -o4ger -o3gie -1o1gis -og3it -o4gl -o5g2ly -3ogniz -o4gro -ogu5i -1ogy -2ogyn -o1h2 -ohab5 -oi2 -oic3es -oi3der -oiff4 -oig4 -oi5let -o3ing -oint5er -o5ism -oi5son -oist5en -oi3ter -o5j -2ok -o3ken -ok5ie -o1la -o4lan -olass4 -ol2d -old1e -ol3er -o3lesc -o3let -ol4fi -ol2i -o3lia -o3lice -ol5id. -o3li4f -o5lil -ol3ing -o5lio -o5lis. -ol3ish -o5lite -o5litio -o5liv -olli4e -ol5ogiz -olo4r -ol5pl -ol2t -ol3ub -ol3ume -ol3un -o5lus -ol2v -o2ly -om5ah -oma5l -om5atiz -om2be -om4bl -o2me -om3ena -om5erse -o4met -om5etry -o3mia -om3ic. -om3ica -o5mid -om1in -o5mini -5ommend -omo4ge -o4mon -om3pi -ompro5 -o2n -on1a -on4ac -o3nan -on1c -3oncil -2ond -on5do -o3nen -on5est -on4gu -on1ic -o3nio -on1is -o5niu -on3key -on4odi -on3omy -on3s -onspi4 -onspir5a -onsu4 -onten4 -on3t4i -ontif5 -on5um -onva5 -oo2 -ood5e -ood5i -oo4k -oop3i -o3ord -oost5 -o2pa -ope5d -op1er -3opera -4operag -2oph -o5phan -o5pher -op3ing -o3pit -o5pon -o4posi -o1pr -op1u -opy5 -o1q -o1ra -o5ra. -o4r3ag -or5aliz -or5ange -ore5a -o5real -or3ei -ore5sh -or5est. -orew4 -or4gu -4o5ria -or3ica -o5ril -or1in -o1rio -or3ity -o3riu -or2mi -orn2e -o5rof -or3oug -or5pe -3orrh -or4se -ors5en -orst4 -or3thi -or3thy -or4ty -o5rum -o1ry -os3al -os2c -os4ce -o3scop -4oscopi -o5scr -os4i4e -os5itiv -os3ito -os3ity -osi4u -os4l -o2so -os4pa -os4po -os2ta -o5stati -os5til -os5tit -o4tan -otele4g -ot3er. -ot5ers -o4tes -4oth -oth5esi -oth3i4 -ot3ic. -ot5ica -o3tice -o3tif -o3tis -oto5s -ou2 -ou3bl -ouch5i -ou5et -ou4l -ounc5er -oun2d -ou5v -ov4en -over4ne -over3s -ov4ert -o3vis -oviti4 -o5v4ol -ow3der -ow3el -ow5est -ow1i -own5i -o4wo -oy1a -1pa -pa4ca -pa4ce -pac4t -p4ad -5pagan -p3agat -p4ai -pain4 -p4al -pan4a -pan3el -pan4ty -pa3ny -pa1p -pa4pu -para5bl -par5age -par5di -3pare -par5el -p4a4ri -par4is -pa2te -pa5ter -5pathic -pa5thy -pa4tric -pav4 -3pay -4p1b -pd4 -4pe. -3pe4a -pear4l -pe2c -2p2ed -3pede -3pedi -pedia4 -ped4ic -p4ee -pee4d -pek4 -pe4la -peli4e -pe4nan -p4enc -pen4th -pe5on -p4era. -pera5bl -p4erag -p4eri -peri5st -per4mal -perme5 -p4ern -per3o -per3ti -pe5ru -per1v -pe2t -pe5ten -pe5tiz -4pf -4pg -4ph. -phar5i -phe3no -ph4er -ph4es. -ph1ic -5phie -ph5ing -5phisti -3phiz -ph2l -3phob -3phone -5phoni -pho4r -4phs -ph3t -5phu -1phy -pi3a -pian4 -pi4cie -pi4cy -p4id -p5ida -pi3de -5pidi -3piec -pi3en -pi4grap -pi3lo -pi2n -p4in. -pind4 -p4ino -3pi1o -pion4 -p3ith -pi5tha -pi2tu -2p3k2 -1p2l2 -3plan -plas5t -pli3a -pli5er -4plig -pli4n -ploi4 -plu4m -plum4b -4p1m -2p3n -po4c -5pod. -po5em -po3et5 -5po4g -poin2 -5point -poly5t -po4ni -po4p -1p4or -po4ry -1pos -pos1s -p4ot -po4ta -5poun -4p1p -ppa5ra -p2pe -p4ped -p5pel -p3pen -p3per -p3pet -ppo5site -pr2 -pray4e -5preci -pre5co -pre3em -pref5ac -pre4la -pre3r -p3rese -3press -pre5ten -pre3v -5pri4e -prin4t3 -pri4s -pris3o -p3roca -prof5it -pro3l -pros3e -pro1t -2p1s2 -p2se -ps4h -p4sib -2p1t -pt5a4b -p2te -p2th -pti3m -ptu4r -p4tw -pub3 -pue4 -puf4 -pul3c -pu4m -pu2n -pur4r -5pus -pu2t -5pute -put3er -pu3tr -put4ted -put4tin -p3w -qu2 -qua5v -2que. -3quer -3quet -2rab -ra3bi -rach4e -r5acl -raf5fi -raf4t -r2ai -ra4lo -ram3et -r2ami -rane5o -ran4ge -r4ani -ra5no -rap3er -3raphy -rar5c -rare4 -rar5ef -4raril -r2as -ration4 -rau4t -ra5vai -rav3el -ra5zie -r1b -r4bab -r4bag -rbi2 -rbi4f -r2bin -r5bine -rb5ing. -rb4o -r1c -r2ce -rcen4 -r3cha -rch4er -r4ci4b -rc4it -rcum3 -r4dal -rd2i -rdi4a -rdi4er -rdin4 -rd3ing -2re. -re1al -re3an -re5arr -5reav -re4aw -r5ebrat -rec5oll -rec5ompe -re4cre -2r2ed -re1de -re3dis -red5it -re4fac -re2fe -re5fer. -re3fi -re4fy -reg3is -re5it -re1li -re5lu -r4en4ta -ren4te -re1o -re5pin -re4posi -re1pu -r1er4 -r4eri -rero4 -re5ru -r4es. -re4spi -ress5ib -res2t -re5stal -re3str -re4ter -re4ti4z -re3tri -reu2 -re5uti -rev2 -re4val -rev3el -r5ev5er. -re5vers -re5vert -re5vil -rev5olu -re4wh -r1f -rfu4 -r4fy -rg2 -rg3er -r3get -r3gic -rgi4n -rg3ing -r5gis -r5git -r1gl -rgo4n -r3gu -rh4 -4rh. -4rhal -ri3a -ria4b -ri4ag -r4ib -rib3a -ric5as -r4ice -4rici -5ricid -ri4cie -r4ico -rid5er -ri3enc -ri3ent -ri1er -ri5et -rig5an -5rigi -ril3iz -5riman -rim5i -3rimo -rim4pe -r2ina -5rina. -rin4d -rin4e -rin4g -ri1o -5riph -riph5e -ri2pl -rip5lic -r4iq -r2is -r4is. -ris4c -r3ish -ris4p -ri3ta3b -r5ited. -rit5er. -rit5ers -rit3ic -ri2tu -rit5ur -riv5el -riv3et -riv3i -r3j -r3ket -rk4le -rk4lin -r1l -rle4 -r2led -r4lig -r4lis -rl5ish -r3lo4 -r1m -rma5c -r2me -r3men -rm5ers -rm3ing -r4ming. -r4mio -r3mit -r4my -r4nar -r3nel -r4ner -r5net -r3ney -r5nic -r1nis4 -r3nit -r3niv -rno4 -r4nou -r3nu -rob3l -r2oc -ro3cr -ro4e -ro1fe -ro5fil -rok2 -ro5ker -5role. -rom5ete -rom4i -rom4p -ron4al -ron4e -ro5n4is -ron4ta -1room -5root -ro3pel -rop3ic -ror3i -ro5ro -ros5per -ros4s -ro4the -ro4ty -ro4va -rov5el -rox5 -r1p -r4pea -r5pent -rp5er. -r3pet -rp4h4 -rp3ing -r3po -r1r4 -rre4c -rre4f -r4reo -rre4st -rri4o -rri4v -rron4 -rros4 -rrys4 -4rs2 -r1sa -rsa5ti -rs4c -r2se -r3sec -rse4cr -rs5er. -rs3es -rse5v2 -r1sh -r5sha -r1si -r4si4b -rson3 -r1sp -r5sw -rtach4 -r4tag -r3teb -rten4d -rte5o -r1ti -rt5ib -rti4d -r4tier -r3tig -rtil3i -rtil4l -r4tily -r4tist -r4tiv -r3tri -rtroph4 -rt4sh -ru3a -ru3e4l -ru3en -ru4gl -ru3in -rum3pl -ru2n -runk5 -run4ty -r5usc -ruti5n -rv4e -rvel4i -r3ven -rv5er. -r5vest -r3vey -r3vic -rvi4v -r3vo -r1w -ry4c -5rynge -ry3t -sa2 -2s1ab -5sack -sac3ri -s3act -5sai -salar4 -sal4m -sa5lo -sal4t -3sanc -san4de -s1ap -sa5ta -5sa3tio -sat3u -sau4 -sa5vor -5saw -4s5b -scan4t5 -sca4p -scav5 -s4ced -4scei -s4ces -sch2 -s4cho -3s4cie -5scin4d -scle5 -s4cli -scof4 -4scopy -scour5a -s1cu -4s5d -4se. -se4a -seas4 -sea5w -se2c3o -3sect -4s4ed -se4d4e -s5edl -se2g -seg3r -5sei -se1le -5self -5selv -4seme -se4mol -sen5at -4senc -sen4d -s5ened -sen5g -s5enin -4sentd -4sentl -sep3a3 -4s1er. -s4erl -ser4o -4servo -s1e4s -se5sh -ses5t -5se5um -5sev -sev3en -sew4i -5sex -4s3f -2s3g -s2h -2sh. -sh1er -5shev -sh1in -sh3io -3ship -shiv5 -sho4 -sh5old -shon3 -shor4 -short5 -4shw -si1b -s5icc -3side. -5sides -5sidi -si5diz -4signa -sil4e -4sily -2s1in -s2ina -5sine. -s3ing -1sio -5sion -sion5a -si2r -sir5a -1sis -3sitio -5siu -1siv -5siz -sk2 -4ske -s3ket -sk5ine -sk5ing -s1l2 -s3lat -s2le -slith5 -2s1m -s3ma -small3 -sman3 -smel4 -s5men -5smith -smol5d4 -s1n4 -1so -so4ce -soft3 -so4lab -sol3d2 -so3lic -5solv -3som -3s4on. -sona4 -son4g -s4op -5sophic -s5ophiz -s5ophy -sor5c -sor5d -4sov -so5vi -2spa -5spai -spa4n -spen4d -2s5peo -2sper -s2phe -3spher -spho5 -spil4 -sp5ing -4spio -s4ply -s4pon -spor4 -4spot -squal4l -s1r -2ss -s1sa -ssas3 -s2s5c -s3sel -s5seng -s4ses. -s5set -s1si -s4sie -ssi4er -ss5ily -s4sl -ss4li -s4sn -sspend4 -ss2t -ssur5a -ss5w -2st. -s2tag -s2tal -stam4i -5stand -s4ta4p -5stat. -s4ted -stern5i -s5tero -ste2w -stew5a -s3the -st2i -s4ti. -s5tia -s1tic -5stick -s4tie -s3tif -st3ing -5stir -s1tle -5stock -stom3a -5stone -s4top -3store -st4r -s4trad -5stratu -s4tray -s4trid -4stry -4st3w -s2ty -1su -su1al -su4b3 -su2g3 -su5is -suit3 -s4ul -su2m -sum3i -su2n -su2r -4sv -sw2 -4swo -s4y -4syc -3syl -syn5o -sy5rin -1ta -3ta. -2tab -ta5bles -5taboliz -4taci -ta5do -4taf4 -tai5lo -ta2l -ta5la -tal5en -tal3i -4talk -tal4lis -ta5log -ta5mo -tan4de -tanta3 -ta5per -ta5pl -tar4a -4tarc -4tare -ta3riz -tas4e -ta5sy -4tatic -ta4tur -taun4 -tav4 -2taw -tax4is -2t1b -4tc -t4ch -tch5et -4t1d -4te. -tead4i -4teat -tece4 -5tect -2t1ed -te5di -1tee -teg4 -te5ger -te5gi -3tel. -teli4 -5tels -te2ma2 -tem3at -3tenan -3tenc -3tend -4tenes -1tent -ten4tag -1teo -te4p -te5pe -ter3c -5ter3d -1teri -ter5ies -ter3is -teri5za -5ternit -ter5v -4tes. -4tess -t3ess. -teth5e -3teu -3tex -4tey -2t1f -4t1g -2th. -than4 -th2e -4thea -th3eas -the5at -the3is -3thet -th5ic. -th5ica -4thil -5think -4thl -th5ode -5thodic -4thoo -thor5it -tho5riz -2ths -1tia -ti4ab -ti4ato -2ti2b -4tick -t4ico -t4ic1u -5tidi -3tien -tif2 -ti5fy -2tig -5tigu -till5in -1tim -4timp -tim5ul -2t1in -t2ina -3tine. -3tini -1tio -ti5oc -tion5ee -5tiq -ti3sa -3tise -tis4m -ti5so -tis4p -5tistica -ti3tl -ti4u -1tiv -tiv4a -1tiz -ti3za -ti3zen -2tl -t5la -tlan4 -3tle. -3tled -3tles. -t5let. -t5lo -4t1m -tme4 -2t1n2 -1to -to3b -to5crat -4todo -2tof -to2gr -to5ic -to2ma -tom4b -to3my -ton4ali -to3nat -4tono -4tony -to2ra -to3rie -tor5iz -tos2 -5tour -4tout -to3war -4t1p -1tra -tra3b -tra5ch -traci4 -trac4it -trac4te -tras4 -tra5ven -trav5es5 -tre5f -tre4m -trem5i -5tria -tri5ces -5tricia -4trics -2trim -tri4v -tro5mi -tron5i -4trony -tro5phe -tro3sp -tro3v -tru5i -trus4 -4t1s2 -t4sc -tsh4 -t4sw -4t3t2 -t4tes -t5to -ttu4 -1tu -tu1a -tu3ar -tu4bi -tud2 -4tue -4tuf4 -5tu3i -3tum -tu4nis -2t3up. -3ture -5turi -tur3is -tur5o -tu5ry -3tus -4tv -tw4 -4t1wa -twis4 -4two -1ty -4tya -2tyl -type3 -ty5ph -4tz -tz4e -4uab -uac4 -ua5na -uan4i -uar5ant -uar2d -uar3i -uar3t -u1at -uav4 -ub4e -u4bel -u3ber -u4bero -u1b4i -u4b5ing -u3ble. -u3ca -uci4b -uc4it -ucle3 -u3cr -u3cu -u4cy -ud5d -ud3er -ud5est -udev4 -u1dic -ud3ied -ud3ies -ud5is -u5dit -u4don -ud4si -u4du -u4ene -uens4 -uen4te -uer4il -3ufa -u3fl -ugh3en -ug5in -2ui2 -uil5iz -ui4n -u1ing -uir4m -uita4 -uiv3 -uiv4er. -u5j -4uk -u1la -ula5b -u5lati -ulch4 -5ulche -ul3der -ul4e -u1len -ul4gi -ul2i -u5lia -ul3ing -ul5ish -ul4lar -ul4li4b -ul4lis -4ul3m -u1l4o -4uls -uls5es -ul1ti -ultra3 -4ultu -u3lu -ul5ul -ul5v -um5ab -um4bi -um4bly -u1mi -u4m3ing -umor5o -um2p -unat4 -u2ne -un4er -u1ni -un4im -u2nin -un5ish -uni3v -un3s4 -un4sw -unt3ab -un4ter. -un4tes -unu4 -un5y -un5z -u4ors -u5os -u1ou -u1pe -uper5s -u5pia -up3ing -u3pl -up3p -upport5 -upt5ib -uptu4 -u1ra -4ura. -u4rag -u4ras -ur4be -urc4 -ur1d -ure5at -ur4fer -ur4fr -u3rif -uri4fic -ur1in -u3rio -u1rit -ur3iz -ur2l -url5ing. -ur4no -uros4 -ur4pe -ur4pi -urs5er -ur5tes -ur3the -urti4 -ur4tie -u3ru -2us -u5sad -u5san -us4ap -usc2 -us3ci -use5a -u5sia -u3sic -us4lin -us1p -us5sl -us5tere -us1tr -u2su -usur4 -uta4b -u3tat -4ute. -4utel -4uten -uten4i -4u1t2i -uti5liz -u3tine -ut3ing -ution5a -u4tis -5u5tiz -u4t1l -ut5of -uto5g -uto5matic -u5ton -u4tou -uts4 -u3u -uu4m -u1v2 -uxu3 -uz4e -1va -5va. -2v1a4b -vac5il -vac3u -vag4 -va4ge -va5lie -val5o -val1u -va5mo -va5niz -va5pi -var5ied -3vat -4ve. -4ved -veg3 -v3el. -vel3li -ve4lo -v4ely -ven3om -v5enue -v4erd -5vere. -v4erel -v3eren -ver5enc -v4eres -ver3ie -vermi4n -3verse -ver3th -v4e2s -4ves. -ves4te -ve4te -vet3er -ve4ty -vi5ali -5vian -5vide. -5vided -4v3iden -5vides -5vidi -v3if -vi5gn -vik4 -2vil -5vilit -v3i3liz -v1in -4vi4na -v2inc -vin5d -4ving -vio3l -v3io4r -vi1ou -vi4p -vi5ro -vis3it -vi3so -vi3su -4viti -vit3r -4vity -3viv -5vo. -voi4 -3vok -vo4la -v5ole -5volt -3volv -vom5i -vor5ab -vori4 -vo4ry -vo4ta -4votee -4vv4 -v4y -w5abl -2wac -wa5ger -wag5o -wait5 -w5al. -wam4 -war4t -was4t -wa1te -wa5ver -w1b -wea5rie -weath3 -wed4n -weet3 -wee5v -wel4l -w1er -west3 -w3ev -whi4 -wi2 -wil2 -will5in -win4de -win4g -wir4 -3wise -with3 -wiz5 -w4k -wl4es -wl3in -w4no -1wo2 -wom1 -wo5ven -w5p -wra4 -wri4 -writa4 -w3sh -ws4l -ws4pe -w5s4t -4wt -wy4 -x1a -xac5e -x4ago -xam3 -x4ap -xas5 -x3c2 -x1e -xe4cuto -x2ed -xer4i -xe5ro -x1h -xhi2 -xhil5 -xhu4 -x3i -xi5a -xi5c -xi5di -x4ime -xi5miz -x3o -x4ob -x3p -xpan4d -xpecto5 -xpe3d -x1t2 -x3ti -x1u -xu3a -xx4 -y5ac -3yar4 -y5at -y1b -y1c -y2ce -yc5er -y3ch -ych4e -ycom4 -ycot4 -y1d -y5ee -y1er -y4erf -yes4 -ye4t -y5gi -4y3h -y1i -y3la -ylla5bl -y3lo -y5lu -ymbol5 -yme4 -ympa3 -yn3chr -yn5d -yn5g -yn5ic -5ynx -y1o4 -yo5d -y4o5g -yom4 -yo5net -y4ons -y4os -y4ped -yper5 -yp3i -y3po -y4poc -yp2ta -y5pu -yra5m -yr5ia -y3ro -yr4r -ys4c -y3s2e -ys3ica -ys3io -3ysis -y4so -yss4 -ys1t -ys3ta -ysur4 -y3thin -yt3ic -y1w -za1 -z5a2b -zar2 -4zb -2ze -ze4n -ze4p -z1er -ze3ro -zet4 -2z1i -z4il -z4is -5zl -4zm -1zo -zo4m -zo5ol -zte4 -4z1z2 -z4zy -} \ No newline at end of file diff --git a/macros/inrstex/inrstex/enhyphex.tex b/macros/inrstex/inrstex/enhyphex.tex deleted file mode 100644 index 6f01330f1f..0000000000 --- a/macros/inrstex/inrstex/enhyphex.tex +++ /dev/null @@ -1,23 +0,0 @@ -\hyphenation{ % Do NOT make any alterations to this list! --- DEK -as-so-ciate -as-so-ciates -dec-li-na-tion -oblig-a-tory -phil-an-thropic -present -presents -project -projects -reci-procity -re-cog-ni-zance -ref-or-ma-tion -ret-ri-bu-tion -ta-ble -} - -% additional exceptions (mjf) -\hyphenation{ -man-u-script -man-u-scripts -equi-sp-a-ced -} \ No newline at end of file diff --git a/macros/inrstex/inrstex/eqtag.tex b/macros/inrstex/inrstex/eqtag.tex deleted file mode 100644 index 022e5afeb9..0000000000 --- a/macros/inrstex/inrstex/eqtag.tex +++ /dev/null @@ -1,45 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ========== Equation Tags =========== -% Since equation numbering plays a big part in scientific documentation -% a special set of tag generation forms were produced for this case. - - -% Special versions of autoeqnum to insert automatically insert -% parentheses around the equation number. -% \aneq no argument, no tag generated. This version -% does nothing if autonumbering is off. -% \aneqtag{<tag>} tag generated. This version inserts the argument -% inside parentheses if autoreferencing is off. - -% These special forms have a \eqnumfont ... as there is no other way -% to get the information inside. These are defined in the documentfonts. - -%\let\eqnumfont=\tenrm ... for tenpoint family - -\def\aneq{\a@utotag{}{\eqnum}{\eqtagrefformat - }{\e@qno \eqnumfont (\eqtagrefformat)}{}} -\def\aneqtag#1{\a@utotag{#1}{\eqnum}{\eqtagrefformat - }{\e@qno\eqnumfont (\eqtagrefformat)}{\e@qno\eqnumfont (#1)}} - -%===== for full left or right equation numbering and to allow ==== -% \aneq and \aneqtag to work - -\let\e@qql = \eqalignno -\let\l@eqql= \leqalignno -\def\e@qalignno{\let\e@qno=\relax \e@qql} -\def\l@eqalignno{\let\e@qno=\relax \l@eqql} -%redefines \eqalignno and \leqalignno --- normal unset mode -\let\eqalignno = \e@qalignno -\let\leqalignno = \l@eqalignno - -\let\e@qno = \eqno -%---- left/right equation numbering ---- -\def\leftequationnumbering{\let\eqalignno = \l@eqalignno - \let\leqalignno = \l@eqalignno - \let\e@qno = \leqno} -\def\rightequationnumbering{\let\leqalignno = \e@qalignno - \let\eqalignno = \e@qalignno - \let\e@qno = \eqno} \ No newline at end of file diff --git a/macros/inrstex/inrstex/extdef.tex b/macros/inrstex/inrstex/extdef.tex deleted file mode 100644 index e77fc67007..0000000000 --- a/macros/inrstex/inrstex/extdef.tex +++ /dev/null @@ -1,134 +0,0 @@ -% extdef.tex (MAR 1991) -% \uccodes added -\input compatible -% Michael J. Ferguson -% The codes used here convert the TeX \' ... accent sequences -% into the equivalent ISO - Latin 1 values and also provide -% their inverses. -% The ISO -Latin 1 code set is almost identical to the -% Digital (DEC) Multinational Character set. - -\catcode`\^^f6=11 \lccode`\^^f6= `\^^f6 \charsubdef `\^^f6 = '177 `\o -\csubinverse ^^f6{@um@}o \uccode`\^^f6= `\^^d6 -\catcode`\^^d6=11 \lccode`\^^d6= `\^^f6 \charsubdef `\^^d6 = '177 `\O -\csubinverse ^^d6{@um@}O \uccode`\^^d6= `\^^d6 -\catcode`\^^e1=11 \lccode`\^^e1= `\^^e1 \charsubdef `\^^e1 = '023 `\a -\csubinverse ^^e1{@ac@}a \uccode`\^^e1= `\^^c1 -\catcode`\^^c1=11 \lccode`\^^c1= `\^^e1 \charsubdef `\^^c1 = '023 `\A -\csubinverse ^^c1{@ac@}A \uccode`\^^c1= `\^^c1 -\catcode`\^^e0=11 \lccode`\^^e0= `\^^e0 \charsubdef `\^^e0 = '022 `\a -\csubinverse ^^e0{@gr@}a \uccode`\^^e0= `\^^c0 -\catcode`\^^c0=11 \lccode`\^^c0= `\^^e0 \charsubdef `\^^c0 = '022 `\A -\csubinverse ^^c0{@gr@}A \uccode`\^^c0= `\^^c0 -\catcode`\^^e2=11 \lccode`\^^e2= `\^^e2 \charsubdef `\^^e2 = '136 `\a -\csubinverse ^^e2{@hat@}a \uccode`\^^e2= `\^^c2 -\catcode`\^^c2=11 \lccode`\^^c2= `\^^e2 \charsubdef `\^^c2 = '136 `\A -\csubinverse ^^c2{@hat@}A \uccode`\^^c2= `\^^c2 -\catcode`\^^e3=11 \lccode`\^^e3= `\^^e3 \charsubdef `\^^e3 = '176 `\a -\csubinverse ^^e3{@til@}a \uccode`\^^e3= `\^^c3 -\catcode`\^^c3=11 \lccode`\^^c3= `\^^e3 \charsubdef `\^^c3 = '176 `\A -\csubinverse ^^c3{@til@}A \uccode`\^^c3= `\^^c3 -\catcode`\^^e4=11 \lccode`\^^e4= `\^^e4 \charsubdef `\^^e4 = '177 `\a -\csubinverse ^^e4{@um@}a \uccode`\^^e4= `\^^c4 -\catcode`\^^c4=11 \lccode`\^^c4= `\^^e4 \charsubdef `\^^c4 = '177 `\A -\csubinverse ^^c4{@um@}A \uccode`\^^c4= `\^^c4 -\catcode`\^^e7=11 \lccode`\^^e7= `\^^e7 \charsubdef `\^^e7 = '030 `\c -\csubinverse ^^e7{c@}c \uccode`\^^e7= `\^^c7 -\catcode`\^^c7=11 \lccode`\^^c7= `\^^e7 \charsubdef `\^^c7 = '030 `\C -\csubinverse ^^c7{c@}C \uccode`\^^c7= `\^^c7 -\catcode`\^^e8=11 \lccode`\^^e8= `\^^e8 \charsubdef `\^^e8 = '022 `\e -\csubinverse ^^e8{@gr@}e \uccode`\^^e8= `\^^c8 -\catcode`\^^c8=11 \lccode`\^^c8= `\^^e8 \charsubdef `\^^c8 = '022 `\E -\csubinverse ^^c8{@gr@}E \uccode`\^^c8= `\^^c8 -\catcode`\^^e9=11 \lccode`\^^e9= `\^^e9 \charsubdef `\^^e9 = '023 `\e -\csubinverse ^^e9{@ac@}e \uccode`\^^e9= `\^^c9 -\catcode`\^^c9=11 \lccode`\^^c9= `\^^e9 \charsubdef `\^^c9 = '023 `\E -\csubinverse ^^c9{@ac@}E \uccode`\^^c9= `\^^c9 -\catcode`\^^ea=11 \lccode`\^^ea= `\^^ea \charsubdef `\^^ea = '136 `\e -\csubinverse ^^ea{@hat@}e \uccode`\^^ea= `\^^ca -\catcode`\^^ca=11 \lccode`\^^ca= `\^^ea \charsubdef `\^^ca = '136 `\E -\csubinverse ^^ca{@hat@}E \uccode`\^^ca= `\^^ca -\catcode`\^^eb=11 \lccode`\^^eb= `\^^eb \charsubdef `\^^eb = '177 `\e -\csubinverse ^^eb{@um@}e \uccode`\^^eb= `\^^cb -\catcode`\^^cb=11 \lccode`\^^cb= `\^^eb \charsubdef `\^^cb = '177 `\E -\csubinverse ^^cb{@um@}E \uccode`\^^cb= `\^^cb -\catcode`\^^ec=11 \lccode`\^^ec= `\^^ec \charsubdef `\^^ec = '022 '020 -\csubinverse ^^ec{@gr@}{^^P} \uccode`\^^ec= `\^^cc -\catcode`\^^cc=11 \lccode`\^^cc= `\^^ec \charsubdef `\^^cc = '022 `\I -\csubinverse ^^cc{@gr@}I \uccode`\^^cc= `\^^cc -\catcode`\^^ed=11 \lccode`\^^ed= `\^^ed \charsubdef `\^^ed = '023 '020 -\csubinverse ^^ed{@ac@}{^^P} \uccode`\^^ed= `\^^cd -\catcode`\^^cd=11 \lccode`\^^cd= `\^^ed \charsubdef `\^^cd = '023 `\I -\csubinverse ^^cd{@ac@}I \uccode`\^^cd= `\^^cd -\catcode`\^^ee=11 \lccode`\^^ee= `\^^ee \charsubdef `\^^ee = '136 '020 -\csubinverse ^^ee{@hat@}{^^P} \uccode`\^^ee= `\^^ce -\catcode`\^^ce=11 \lccode`\^^ce= `\^^ee \charsubdef `\^^ce = '136 `\I -\csubinverse ^^ce{@hat@}I \uccode`\^^ce= `\^^ce -\catcode`\^^ef=11 \lccode`\^^ef= `\^^ef \charsubdef `\^^ef = '177 '020 -\csubinverse ^^ef{@um@}{^^P} \uccode`\^^ef= `\^^cf -\catcode`\^^cf=11 \lccode`\^^cf= `\^^ef \charsubdef `\^^cf = '177 `\I -\csubinverse ^^cf{@um@}I \uccode`\^^cf= `\^^cf -\catcode`\^^f1=11 \lccode`\^^f1= `\^^f1 \charsubdef `\^^f1 = '176 `\n -\csubinverse ^^f1{@til@}n \uccode`\^^f1= `\^^d1 -\catcode`\^^d1=11 \lccode`\^^d1= `\^^f1 \charsubdef `\^^d1 = '176 `\N -\csubinverse ^^d1{@til@}N \uccode`\^^d1= `\^^d1 -\catcode`\^^f2=11 \lccode`\^^f2= `\^^f2 \charsubdef `\^^f2 = '022 `\o -\csubinverse ^^f2{@gr@}o \uccode`\^^f2= `\^^d2 -\catcode`\^^d2=11 \lccode`\^^d2= `\^^f2 \charsubdef `\^^d2 = '022 `\O -\csubinverse ^^d2{@gr@}O \uccode`\^^d2= `\^^d2 -\catcode`\^^f3=11 \lccode`\^^f3= `\^^f3 \charsubdef `\^^f3 = '023 `\o -\csubinverse ^^f3{@ac@}o \uccode`\^^f3= `\^^d3 -\catcode`\^^d3=11 \lccode`\^^d3= `\^^f3 \charsubdef `\^^d3 = '023 `\O -\csubinverse ^^d3{@ac@}O \uccode`\^^d3= `\^^d3 -\catcode`\^^f4=11 \lccode`\^^f4= `\^^f4 \charsubdef `\^^f4 = '136 `\o -\csubinverse ^^f4{@hat@}o \uccode`\^^f4= `\^^d4 -\catcode`\^^d4=11 \lccode`\^^d4= `\^^f4 \charsubdef `\^^d4 = '136 `\O -\csubinverse ^^d4{@hat@}O \uccode`\^^d4= `\^^d4 -\catcode`\^^f5=11 \lccode`\^^f5= `\^^f5 \charsubdef `\^^f5 = '176 `\o -\csubinverse ^^f5{@til@}o \uccode`\^^f5= `\^^d5 -\catcode`\^^d5=11 \lccode`\^^d5= `\^^f5 \charsubdef `\^^d5 = '176 `\O -\csubinverse ^^d5{@til@}O \uccode`\^^d5= `\^^d5 -\catcode`\^^f9=11 \lccode`\^^f9= `\^^f9 \charsubdef `\^^f9 = '022 `\u -\csubinverse ^^f9{@gr@}u \uccode`\^^f9= `\^^d9 -\catcode`\^^d9=11 \lccode`\^^d9= `\^^d9 \charsubdef `\^^d9 = '022 `\U -\csubinverse ^^d9{@gr@}U \uccode`\^^d9= `\^^d9 -\catcode`\^^fb=11 \lccode`\^^fb= `\^^fb \charsubdef `\^^fb = '136 `\u -\csubinverse ^^fb{@hat@}u \uccode`\^^fb= `\^^db -\catcode`\^^db=11 \lccode`\^^db= `\^^fb \charsubdef `\^^db = '136 `\U -\csubinverse ^^db{@hat@}U \uccode`\^^db= `\^^db -\catcode`\^^fc=11 \lccode`\^^fc= `\^^fc \charsubdef `\^^fc = '177 `\u -\csubinverse ^^fc{@um@}u \uccode`\^^fc= `\^^dc -\catcode`\^^dc=11 \lccode`\^^dc= `\^^fc \charsubdef `\^^dc = '177 `\U -\csubinverse ^^dc{@um@}U \uccode`\^^dc= `\^^dc -% iso latin 1 -- next two codes -- y acute accent -\catcode`\^^fd=11 \lccode`\^^fd= `\^^fd \charsubdef `\^^fd = '023 `\y -\csubinverse ^^fd{@ac@}y \uccode`\^^fd= `\^^dd -\catcode`\^^dd=11 \lccode`\^^dd= `\^^fd \charsubdef `\^^dd = '023 `\Y -\csubinverse ^^dd{@ac@}Y \uccode`\^^dd= `\^^dd -\catcode`\^^e5=\active -\catcode`\^^c5=\active -\catcode`\^^e6=\active -\catcode`\^^c6=\active -\catcode`\^^f7=\active -\catcode`\^^d7=\active -\catcode`\^^f8=\active -\catcode`\^^d8=\active -\catcode`\^^df=\active -\catcode`\^^a7=\active -\catcode`\^^a9=\active -\catcode`\^^a3=\active - - \def ^^e5{\aa } - \def ^^c5{\AA } - \def ^^e6{\ae } - \def ^^c6{\AE } - \def ^^f7{^^[ } - \def ^^d7{\OE } - \def ^^f8{\o } - \def ^^d8{\O } - \def ^^df{\ss } - \def ^^a7{\S } - \def ^^a9{\copyright } - \def ^^a3{\it\$} - -\def\oe{^^[ } diff --git a/macros/inrstex/inrstex/extdef3.tex b/macros/inrstex/inrstex/extdef3.tex deleted file mode 100644 index 026ea8b57e..0000000000 --- a/macros/inrstex/inrstex/extdef3.tex +++ /dev/null @@ -1,137 +0,0 @@ -% extdef.tex (MAR 1991) -% \uccodes added -\input compat3 % defines csubinverse only -% exlplicit accents should not be converted when using "cm" fonts. -% ... without charsubdef definitions -% Michael J. Ferguson -% The codes used here convert the TeX \' ... accent sequences -% into the equivalent ISO - Latin 1 values and also provide -% their inverses. -% The ISO -Latin 1 code set is almost identical to the -% Digital (DEC) Multinational Character set. - -\catcode`\^^f6=11 \lccode`\^^f6= `\^^f6 -\csubinverse ^^f6{@um@}o \uccode`\^^f6= `\^^d6 -\catcode`\^^d6=11 \lccode`\^^d6= `\^^f6 -\csubinverse ^^d6{@um@}O \uccode`\^^d6= `\^^d6 -\catcode`\^^e1=11 \lccode`\^^e1= `\^^e1 -\csubinverse ^^e1{@ac@}a \uccode`\^^e1= `\^^c1 -\catcode`\^^c1=11 \lccode`\^^c1= `\^^e1 -\csubinverse ^^c1{@ac@}A \uccode`\^^c1= `\^^c1 -\catcode`\^^e0=11 \lccode`\^^e0= `\^^e0 -\csubinverse ^^e0{@gr@}a \uccode`\^^e0= `\^^c0 -\catcode`\^^c0=11 \lccode`\^^c0= `\^^e0 -\csubinverse ^^c0{@gr@}A \uccode`\^^c0= `\^^c0 -\catcode`\^^e2=11 \lccode`\^^e2= `\^^e2 -\csubinverse ^^e2{@hat@}a \uccode`\^^e2= `\^^c2 -\catcode`\^^c2=11 \lccode`\^^c2= `\^^e2 -\csubinverse ^^c2{@hat@}A \uccode`\^^c2= `\^^c2 -\catcode`\^^e3=11 \lccode`\^^e3= `\^^e3 -\csubinverse ^^e3{@til@}a \uccode`\^^e3= `\^^c3 -\catcode`\^^c3=11 \lccode`\^^c3= `\^^e3 -\csubinverse ^^c3{@til@}A \uccode`\^^c3= `\^^c3 -\catcode`\^^e4=11 \lccode`\^^e4= `\^^e4 -\csubinverse ^^e4{@um@}a \uccode`\^^e4= `\^^c4 -\catcode`\^^c4=11 \lccode`\^^c4= `\^^e4 -\csubinverse ^^c4{@um@}A \uccode`\^^c4= `\^^c4 -\catcode`\^^e7=11 \lccode`\^^e7= `\^^e7 -\csubinverse ^^e7{c@}c \uccode`\^^e7= `\^^c7 -\catcode`\^^c7=11 \lccode`\^^c7= `\^^e7 -\csubinverse ^^c7{c@}C \uccode`\^^c7= `\^^c7 -\catcode`\^^e8=11 \lccode`\^^e8= `\^^e8 -\csubinverse ^^e8{@gr@}e \uccode`\^^e8= `\^^c8 -\catcode`\^^c8=11 \lccode`\^^c8= `\^^e8 -\csubinverse ^^c8{@gr@}E \uccode`\^^c8= `\^^c8 -\catcode`\^^e9=11 \lccode`\^^e9= `\^^e9 -\csubinverse ^^e9{@ac@}e \uccode`\^^e9= `\^^c9 -\catcode`\^^c9=11 \lccode`\^^c9= `\^^e9 -\csubinverse ^^c9{@ac@}E \uccode`\^^c9= `\^^c9 -\catcode`\^^ea=11 \lccode`\^^ea= `\^^ea -\csubinverse ^^ea{@hat@}e \uccode`\^^ea= `\^^ca -\catcode`\^^ca=11 \lccode`\^^ca= `\^^ea -\csubinverse ^^ca{@hat@}E \uccode`\^^ca= `\^^ca -\catcode`\^^eb=11 \lccode`\^^eb= `\^^eb -\csubinverse ^^eb{@um@}e \uccode`\^^eb= `\^^cb -\catcode`\^^cb=11 \lccode`\^^cb= `\^^eb -\csubinverse ^^cb{@um@}E \uccode`\^^cb= `\^^cb -\catcode`\^^ec=11 \lccode`\^^ec= `\^^ec -\csubinverse ^^ec{@gr@}{^^P} \uccode`\^^ec= `\^^cc -\catcode`\^^cc=11 \lccode`\^^cc= `\^^ec -\csubinverse ^^cc{@gr@}I \uccode`\^^cc= `\^^cc -\catcode`\^^ed=11 \lccode`\^^ed= `\^^ed -\csubinverse ^^ed{@ac@}{^^P} \uccode`\^^ed= `\^^cd -\catcode`\^^cd=11 \lccode`\^^cd= `\^^ed -\csubinverse ^^cd{@ac@}I \uccode`\^^cd= `\^^cd -\catcode`\^^ee=11 \lccode`\^^ee= `\^^ee -\csubinverse ^^ee{@hat@}{^^P} \uccode`\^^ee= `\^^ce -\catcode`\^^ce=11 \lccode`\^^ce= `\^^ee -\csubinverse ^^ce{@hat@}I \uccode`\^^ce= `\^^ce -\catcode`\^^ef=11 \lccode`\^^ef= `\^^ef -\csubinverse ^^ef{@um@}{^^P} \uccode`\^^ef= `\^^cf -\catcode`\^^cf=11 \lccode`\^^cf= `\^^ef -\csubinverse ^^cf{@um@}I \uccode`\^^cf= `\^^cf -\catcode`\^^f1=11 \lccode`\^^f1= `\^^f1 -\csubinverse ^^f1{@til@}n \uccode`\^^f1= `\^^d1 -\catcode`\^^d1=11 \lccode`\^^d1= `\^^f1 -\csubinverse ^^d1{@til@}N \uccode`\^^d1= `\^^d1 -\catcode`\^^f2=11 \lccode`\^^f2= `\^^f2 -\csubinverse ^^f2{@gr@}o \uccode`\^^f2= `\^^d2 -\catcode`\^^d2=11 \lccode`\^^d2= `\^^f2 -\csubinverse ^^d2{@gr@}O \uccode`\^^d2= `\^^d2 -\catcode`\^^f3=11 \lccode`\^^f3= `\^^f3 -\csubinverse ^^f3{@ac@}o \uccode`\^^f3= `\^^d3 -\catcode`\^^d3=11 \lccode`\^^d3= `\^^f3 -\csubinverse ^^d3{@ac@}O \uccode`\^^d3= `\^^d3 -\catcode`\^^f4=11 \lccode`\^^f4= `\^^f4 -\csubinverse ^^f4{@hat@}o \uccode`\^^f4= `\^^d4 -\catcode`\^^d4=11 \lccode`\^^d4= `\^^f4 -\csubinverse ^^d4{@hat@}O \uccode`\^^d4= `\^^d4 -\catcode`\^^f5=11 \lccode`\^^f5= `\^^f5 -\csubinverse ^^f5{@til@}o \uccode`\^^f5= `\^^d5 -\catcode`\^^d5=11 \lccode`\^^d5= `\^^f5 -\csubinverse ^^d5{@til@}O \uccode`\^^d5= `\^^d5 -\catcode`\^^f9=11 \lccode`\^^f9= `\^^f9 -\csubinverse ^^f9{@gr@}u \uccode`\^^f9= `\^^d9 -\catcode`\^^d9=11 \lccode`\^^d9= `\^^d9 -\csubinverse ^^d9{@gr@}U \uccode`\^^d9= `\^^d9 -\catcode`\^^fb=11 \lccode`\^^fb= `\^^fb -\csubinverse ^^fb{@hat@}u \uccode`\^^fb= `\^^db -\catcode`\^^db=11 \lccode`\^^db= `\^^fb -\csubinverse ^^db{@hat@}U \uccode`\^^db= `\^^db -\catcode`\^^fc=11 \lccode`\^^fc= `\^^fc -\csubinverse ^^fc{@um@}u \uccode`\^^fc= `\^^dc -\catcode`\^^dc=11 \lccode`\^^dc= `\^^fc -\csubinverse ^^dc{@um@}U \uccode`\^^dc= `\^^dc -% iso latin 1 -- next two codes -- y acute accent -\catcode`\^^fd=11 \lccode`\^^fd= `\^^fd -\csubinverse ^^fd{@ac@}y \uccode`\^^fd= `\^^dd -\catcode`\^^dd=11 \lccode`\^^dd= `\^^fd -\csubinverse ^^dd{@ac@}Y \uccode`\^^dd= `\^^dd -\catcode`\^^e5=\active -\catcode`\^^c5=\active -\catcode`\^^e6=\active -\catcode`\^^c6=\active -\catcode`\^^f7=\active -\catcode`\^^d7=\active -\catcode`\^^f8=\active -\catcode`\^^d8=\active -\catcode`\^^df=\active -\catcode`\^^a7=\active -\catcode`\^^a9=\active -\catcode`\^^a3=\active - - \def ^^e5{\aa } - \def ^^c5{\AA } - \def ^^e6{\ae } - \def ^^c6{\AE } - \def ^^f7{^^[ } - \def ^^d7{\OE } - \def ^^f8{\o } - \def ^^d8{\O } - \def ^^df{\ss } - \def ^^a7{\S } - \def ^^a9{\copyright } - \def ^^a3{\it\$} - -\def\oe{^^[ } - diff --git a/macros/inrstex/inrstex/footnote.tex b/macros/inrstex/inrstex/footnote.tex deleted file mode 100644 index 1f5afd4538..0000000000 --- a/macros/inrstex/inrstex/footnote.tex +++ /dev/null @@ -1,22 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -%=========== Footnotes ---- similar to that in the texbook ====== - -%\newinsert\footins -\newtoks\everyfootnote % token list inserted before every footnote - % but after the parameters -- cannot affect \footins -\def\up#1{\nobreak$^{#1}\relax$} -\def\footnote#1{\let\@sf\empty - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\fi - \up{#1}\@sf\sfootnote{#1}} -\def\sfootnote#1{\insert\footins\bgroup\footnotefont - \interlinepenalty100 \let\par=\endgraf - \leftskip=\z@skip \rightskip=\z@skip - \splittopskip=3ex plus 1pt minus 1pt \floatingpenalty=20000 - \smallskip\the\everyfootnote\relax - \item{\up{#1}}\bgroup\strut\aftergroup\@foot\let\next} -\skip\footins=3ex plus 2pt minus 4pt % space added when footnote is present -%\count\footins=1000 % footnote magnification factor (1 to 1) -\dimen\footins=10in % maximum footnotes per page diff --git a/macros/inrstex/inrstex/frhyph.tex b/macros/inrstex/inrstex/frhyph.tex deleted file mode 100644 index 1750388dc3..0000000000 --- a/macros/inrstex/inrstex/frhyph.tex +++ /dev/null @@ -1,823 +0,0 @@ - - - -% hyphenation patterns for french ... for use with fonts that do not -% have the accented characters inside .... modifications -% for other fonts are obvious - -% Mods to \i and \oe form ... TeX eats up spaces and loses patterns. -% MJF 22 Jun 88 -% addition of .con2 to prevent embarrassment - -\begingroup -\accenthyphcodes\spechyphcodes % changes the \' ... etc -\lccode`\'=`\' -\lccode'33='33 %\oe ... both needed in -\lccode'20='20 % \i .. dotless i -\patterns{ -.con2 % mjf jun 88 -2'2 % mjf -'a2 % mjf -'\'e2 % mjf -'e2 % mjf -'o2 % mjf -'\"o2 % mjf -'u2 % mjf -'i2 % mjf -.\'e2 %mjf -1ba -1b\^a -1be -1b\'e -1b\`e -1b\^e -1biOP -1b\^\i0 % mjf jun88 -1bo -1b\^o -1bu -1b\^u -1by -4be. -4bes. -1b2l -4ble. -4bles. -1b2r -4bre. -4bres. -1ca -1c\^a -1ce -1c\'e -1c\`e -1c\^e -1ci -1c\^\i0 % mjf jun88 -1co -1c\^o -1cu -1c\^u -1cy -1c\oe0 % mjf jun88 -4ce. -4ces. -1c2h -4che. -4ches. -2chb -2chg -2chm -2chn -2chp -2chs -2cht -2chv -.ch4 -4ch. -ch2l -4chle. -4chles. -ch2r -4chre. -4chres. -1c2k -4cke. -4ckes. -4ck. -2ckb -2ckf -2ckg -2ck3h -2ckp -2cks -2ckt -1c2l -4cle. -4cles. -1c2r -4cre. -4cres. -1\c c -1da -1d\^a -1de -1d\'e -1d\`e -1d\^e -1di -1d\^\i0 % mjf jun88 -1do -1d\^o -1du -1d\^u -1dy -4de. -4des. -d1d2h -1d2r -4dre. -4dres. -1fa -1f\^a -1fe -1f\'e -1f\`e -1f\^e -1fi -1f\^\i0 % mjf jun88 -1fo -1f\^o -1fu -1f\^u -1fy -4fe. -4fes. -1f2l -4fle. -4fles. -1f2r -4fre. -4fres. -1ga -1g\^a -1ge -1g\'e -1g\`e -1g\^e -1gi -1g\^\i0 % mjf jun88 -1go -1g\^o -1gu -1g\^u -1gy -4ge. -4ges. -4gue. -4gues. -1g2ha -1g2he -1g2hi -1g2ho -1g2hy -1g2l -4gle. -4gles. -1g2n -4gne. -4gnes. -1g2r -4gre. -4gres. -1ha -1h\^a -1he -1h\'e -1h\`e -1h\^e -1hi -1h\^\i0 % mjf jun88 -1ho -1h\^o -1hu -1h\^u -1hy -4he. -4hes. -1j -2jk -4je. -4jes. -1ka -1k\^a -1ke -1k\'e -1k\`e -1k\^e -1ki -1k\^\i0 % mjf jun88 -1ko -1k\^o -1ku -1k\^u -1ky -4ke. -4kes. -1k2h -4kh. -.kh4 -1k2r -1la -1l\^a -1l\`a -1le -1l\'e -1l\`e -1l\^e -1li -1l\^\i0 % mjf jun88 -1lo -1l\^o -1lu -1l\^u -1ly -4le. -4les. -1ma -1m\^a -1me -1m\'e -1m\`e -1m\^e -1mi -1m\^\i0 % mjf jun88 -1mo -1m\^o -1mu -1m\^u -1my -1m\oe0 % mjf jun88 -4me. -4mes. -1na -1n\^a -1ne -1n\'e -1n\`e -1n\^e -1ni -1n\^\i0 % mjf jun88 -1no -1n\^o -1nu -1n\^u -1ny -n1x -1n\oe0 %mjf jun88 -4ne. -4nes. -1pa -1p\^a -1pe -1p\'e -1p\`e -1p\^e -1pi -1p\^\i0 % mjf jun88 -1po -1p\^o -1pu -1p\^u -1py -4pe. -4pes. -4ph. -1p2h -4phe. -4phes. -ph2l -4phle. -4phles. -2phn -ph2r -4phre. -4phres. -2phs -2pht -.ph4 -1p2l -4ple. -4ples. -1p2r -4pre. -4pres. -1q -4que. -4ques. -1ra -1r\^a -1re -1r\'e -1r\`e -1r\^e -1ri -1r\^\i0 % mjf jun88 -1ro -1r\^o -1ru -1r\^u -1ry -4re. -4res. -1r2h -4rhe. -4rhes. -1sa -1s\^a -1se -1s\'e -1s\`e -1s\^e -1si -1s\^\i0 % mjf jun88 -1so -1s\^o -1su -1s\^u -1sy -1s\oe0 % mjf jun88 -4se. -4ses. -1s2ch -4sch. -2schs -4sche. -4sches. -.sch4 -.sh4 -4sh. -1s2h -2shm -2shr -2shs -4she. -4shes. -1ta -1t\^a -1t\`a -1te -1t\'e -1t\`e -1t\^e -1ti -1t\^\i0 % mjf jun88 -1to -1t\^o -1tu -1t\^u -1ty -4te. -4tes. -1t2h -4th. -.th4 -4the. -4thes. -th2l -2thm -2thn -th2r -4thre. -4thres. -2ths -1t2r -4tre. -4tres. -1va -1v\^a -1ve -1v\'e -1v\`e -1v\^e -1vi -1v\^\i0 % mjf jun88 -1vo -1v\^o -1vu -1v\^u -1vy -4ve. -4ves. -1v2r -4vre. -4vres. -1wa -1we -1wi -1wo -1wu -4we. -4wes. -1w2r -1za -1ze -1z\'e -1z\`e -1zi -1zo -1zu -1zy -4ze. -4zes. -d1s2 -f1s2 -g1s2 -tung2s3 -l1s2t -m1s2 -e2s3ch -i2s3ch\'e -i2s3chia -i2s3chio -1alcool -i1algi -a2l1algi -y1algi -1a2nesth\'esi -i1arthr -y1asth -a1\`e2dre -i1\`e2dre -o1\`e2dre -1\'e2drie -1\'e2drique -1\'e2lectr -1\'e2l\'ement -1\'e2nerg -o1d2l -2t3heur -2r3heur -3d2hal -3d2houd -2s3hom -2r3hydr -o1ioni -1m2n\`es -1m2n\'esi -1m2n\'emo -i1oxy -io1a2ct -3ph2tal\'e -3ph2tis -1p2neu -1p2n\'e -1p2sych -1p2t\`er -1p2t\'er -1s2caph -1s2cl\'er -1s2cop -e2s3cop -\'epi2s3cop -\'epi3s4cope -di2s3cop -1s2lav -1s2lov -1s2patia -1s2perm -1s2por -1s2ph\`er -1s2ph\'er -1s2piel -1s2piros -1s2tandard -o1s2tas -eu1s2tat -o1s2tat -pro2s3tat -i1s2tat -1s2tein -o1s2t\'ero -1s2tigm -o1s2tim -1s2tock -1s2tomos -o1s2tom -y1s2tom -o1s2trad -o1s2tratu -o1s2triction -1s2troph -a2s3tro -apo2s3tr -u2s3tr -1s2tructu -1s2tyle -t1t2l -.ab3r\'ea -.ae3s4ch -.amino1a2c -.ana3s4tr -.anti1a2 -.anti1e2 -.anti2enne -.anti1\'e2 -.anti1s2 -.apo2s3ta -.as2ta -.bi1a2c -.bi1au -.bio1a2 -.bi1u2 -.bi2s1a2 -.ci2s1alp -co1acc -co1acq -co1a2d -co1ap -co1ar -co1assoc -co1assur -co1au -co1ax -co1ef -co1en -co1ex -co1\'e2 -.contre1s2c -co2n1urb -.co1o2 -.co2o3lie -.dacryo1a2 -.d\'e1a2 -.d\'e1io -.d\'e1o2 -.d\'e2s1a2 -.d\'e3s2a3cr -.d\'e3s2astr -.d\'e3s2a3tell -.d\'e2s1\'e2 -.d\'e3s2\'e3gr -.d\'e2s1e2 -.d\'e3s2ensib -.d\'e3s2ert -.d\'e3s2exu -.d\'e2s3h -.d\'e2s1i2 -.d\'e3s2i3d -.d\'e3s2i3gn -.d\'e3s2i3li -.d\'e3s2i3non -.d\'e3s2invo -.d\'e3s2i3r -.d\'e3s2ist -.d\'e2s1o2 -.d\'e3s2o3d\'e -.d\'e3s2o3l -.d\'e3s2o3pil -.d\'e3s2orm -.d\'e3s2orp -.d\'e3s2oufr -.d\'e2s1\oe0 % mjf jun88 -.d\'e1s2c -.d\'e1s2p -.d\'e1s2t -.d\'e2s1u2n -.di1a2c\'e -.di1a2cid -dia2g3n -.di1ald -.di1a2mi -.di1a2tom -.di1e2n -.di2s3h -.dy2s1a2 -.dy2s1i2 -.dy2s1u2 -.dy2s3 -.en1a2 -en1i2vr -.en1o2 -.eu2r1a2 -extra1 -extra2c -extra2i -h\'emi1\'e -h\'emo1p2t -hypera2 -hyper\'e2 -hyper\oe2 -hyperi2 -hypero2 -hypers2 -hyperu2 -hype4r1 -hypo1a2 -hypo1\'e2 -hypo1i2 -hypo1o2 -hypo1u2 -hypo1s2 -.in1a2 -.in2a3nit -.in2augur -.in1\'e2 -.in2e3lucta -.in2\'e3narra -.in1e2 -.in2ept -.in2er -.in1i2 -.in2i3miti -.in2i3q -.in2i3t -.in1o2 -.in2o3cul -.in2ond -.in1s2tab -.in1u2 -.in2uit -.in2u3l -.intera2 -.inter\'e2 -.intere2 -.interi2 -.intero2 -.interu2 -.inters2 -.inte4r3 -la2w3re -.ma2c3k -.macro1s2c -.ma2l1a2dres -.ma2l1a2dro -.ma2l1ais\'e -.ma2l1ap -.ma2l1a2v -.ma2l1en -.ma2l1int -.ma2l1oc -.ma2l1o2d -.ma2r1x -.m\'e2g1oh -.m\'e2s1es -.m\'e2s1i -.m\'e2s1u2s -.m\'eta1s2ta -.milli1am -.mono1a2 -.mono1\'e2 -.mono1e2 -.mono1i2 -.mono1\"\i2d\'e -.momo1o2 -.mono1u2 -.mono1s2 -.no2n1obs -o2b3long -ombud2s3 -omni1s2 -.oua1ou -.ovi1s2c -oxy1a2 -pal\'eo1\'e2 -.pa2n1a2f -.pa2n1a2m\'e -.pa2n1a2ra -.pa2n1is -.pa2n1o2ph -.pa2n1opt -.para1s2 -.pa2r1a2che -.pa2r1a2ch\`e -.pa2r3h\'e -.per1a2 -.per1\'e2 -.per1e2 -.per1i2 -.per1o2 -.per1u2 -per3h -.pe4r -p\'e2n1ul -p\'e2r1\'e2q -.p\'eri1os -.p\'eri1s2 -.p\'eri2s3s -.p\'eri2s3ta -.p\'eri1u2 -.phalan3s2t -photo1s2 -.phyto3ph2 -.pluri1a -poly1a2 -poly1\'e2 -poly1\`e2 -poly1e2 -poly1i2 -poly1o2 -poly1u2 -poly1s2 -.pos2t3hy -.pos2t1in -.pos2t1o2 -.pos2t3r -.post1s2 -.pr\'e1a2 -.pr\'e2au -.pr\'e1\'e2 -.pr\'e1e2 -.pr\'e1i2 -.pr\'e1o2 -.pr\'e1u2 -.pr\'e1s2 -.pro1\'e2 -.prou3d2h -.pro1s2c\'e -.psycho1a2n -.pud1d2l -.re1s2 -.re2s3cap -.re2s3cou -.re2s3cri -.re2s3pect -.re2s3pir -.re2s3plend -.re2s3pons -.re2s3quil -.re2s3s -.re2s3t -.re3s4tab -.re3s4tag -.re3s4tand -.re3s4tat -.re3s4t\'en -.re3s4t\'er -.re3s4tim -.re3s4tip -.re3s4toc -.re3s4top -.re3s4tr -.re4s5trein -.re4s5trict -.re4s5trin -.re3s4tu -.re3s4ty -.r\'e1a2 -.r\'e2a3le -.r\'e2a3lis -.r\'e2a3lit -.r\'e2aux -.r\'e1\'e2 -.r\'e1e2 -.r\'e2el -.r\'e2er -.r\'e2\`er -.r\'e1i2 -.r\'e2i3fi -.r\'e1o2 -.r\'e1u2 -.r\'e2uss -.r\'etro1a2 -sesqui1a2 -st\'er\'eo1s2 -.su2b1a2 -.su3b2alt -.su2b1\'e2 -.su3b2\'e3r -.su2b1in -.su2b3limin -.su2b3lin -.su2b3lu -sub1s2 -.su2b1ur -supero2 -supers2 -supe4r1 -.su2r1a2 -su3r2ah -.su3r2a3t -.su2r1e2 -.su3r2eau -.su3r2e1l -.su3r2et -.su2r1\'e2 -.su2r3h -.su2r1i2m -.su2r1inf -.su2r1int -.su2r1of -.su2r1ox -t\'el\'e1e2 -t\'el\'e1i2 -t\'el\'e1o2b -t\'el\'e1o2p -t\'el\'e1s2 -thermo1s2 -tran2s1a2 -tran3s2act -tran3s2ats -tran2s3h -tran2s1o2 -tran2s3p -tran2s1u2 -.tri1a2c -.tri1a2n -.tri1a2t -.tri1o2n -archi1\'e2pis -moye2n1\^a2g -po1astre -uni1o2v -uni1a2x -v\'elo1s2ki -vol2t1amp -tachy1a2 -tchin3t2 -chlo2r3a2c -chlo2r3\'e2t -n3s2at. -n3s2ats. -} -\endgroup \ No newline at end of file diff --git a/macros/inrstex/inrstex/genins.tex b/macros/inrstex/inrstex/genins.tex deleted file mode 100644 index 1584b764df..0000000000 --- a/macros/inrstex/inrstex/genins.tex +++ /dev/null @@ -1,181 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% Fixed page insert forms to work with pageinsert. ... 22 Sept 87 MJF - -% ========= Syntactic Forms ============ -% Each of these has a token list that is inserted before each -% particular insert ... and in a group. -% in \begin... \end.. pairs -\newtoks\everytopinsert -\newtoks\everymidinsert -\newtoks\everypageinsert -\def\begintopinsert{\begingroup\the\everytopinsert\topinsert} -\def\beginmidinsert{\begingroup\the\everymidinsert\midinsert} -\def\beginpageinsert{\begingroup\def\g@box{\vbox to - \vinnerpagesize}\def\g@ebox{\relax}\the - \everypageinsert\pageinsert} - -\def\e@ndinsert{\endinsert\endgroup} - -\let\endtopinsert = \e@ndinsert -\let\endmidinsert = \e@ndinsert -\let\endpageinsert = \e@ndinsert - -% ============= Figure, Table, etc inserts ========== - -% Assumptions -% The form is described by three letters, eg "fig" or "tbl" -% If the list file exists, the page info is written. -% \writelistfile must be defined -% \autonumber, \autoreference, \ref, \quietref, \veryraggedright -% If autonumbering is on, then -% \silenttrue, \autofignum .. -% An "fig" form and "tbl" form are defined. These need -% \figurelabel, and \tablelabel respectively. These are -% usually defined in the \englishversion and \versionfrancaise -% The insert forms use \beginmidinsert ... \endmidinsert. - - -% Defaults --- to be set. -% \captiontextfraction ... inrsdef.tex -% \captionskip ... inrsdef.tex -% \topcaptiontrue or \topcaptionfalse ... inrsdef.tex -% \figurelabel or \figlabel ... english.tex or francais.tex -% \tablelabel or \tbllabel ... english.tex or francais.tex -% \captionnumfont ... inrsfont.tex -% \captiontitlefont ... inrsfont.tex -% \captionbodyfont ... inrsfont.tex -% \captionbodyon <off> ... inrsdef.tex - - -% This is a general form for an insert with a caption, under it -% if \topcaptionfalse and over it if \topcaptiontrue -% The particular form is identified with a (usually) three letter sequence -% such as "fig" or "tbl". There can be an associated list file for -% automatic generation of the page list for the items. -% The basic form is a non-floating type, enclosed in $$ ... $$ to give -% correct spacing. This can be put in an insert to make it float. -% Full page forms require \vfill above and/or below for top, bottom, or center. - -% The caption box measures its size and centers the text if it is short -% or puts it in a \vbox which is \captiontextfraction of the \hsize -% if it is not. -% The \captionskip is the spacing between the caption and the actual -% item in the text. This may be a table or figure or .... - -% \let\captionnumfont = \bf -% \let\captiontextfont = \relax % defaults to "outside font" -% \def\captiontextfraction{0.8} - -\def\captionbox#1#2{\setbox0=\hbox{{\captionnumfont #1}\quad - \captiontitlefont #2} - \ifdim 1\wd0 < \captiontextfraction\hsize - \centerline{\unhbox0} - \else - \centerline{\vtop{\hsize=\captiontextfraction\hsize - \veryraggedright - \setbox0=\hbox{{\captionnumfont #1}\quad} - \hangindent=1\wd0 \hangafter=1 - \noindent\unhbox0 - \captiontitlefont #2}}% - \fi} - -% A caption is assumed to have both a <title> that will appear in the -% list, if any and a <caption body> that will appear only when the caption is -% printed. The default is to have \captionbody ... "active" and to turn it -% off when making lists. -% This is done with two commands \captionbodyon and \captionbodyoff -% associated with a <caption body> is a <caption body font> - -\def\captionbodyon{\def\captionbody##1{{\captionbodyfont ##1}}} -\def\captionbodyoff{\def\captionbody##1{}} - - -% \rect <hor dimen> by <vert dimen>} A centered rectangular box to act -% as a place holder if there is a figure to be pasted in later. -\def\r@ect{\centerline{\vbox{\hrule - \hbox{\vrule height \the\dimen2 - \hskip \dimen0 - \vrule height \the\dimen2} - \hrule - }}} -\def\rect #1by{\dimen0 #1\afterassignment\r@ect \dimen2} - -% ======= This is the general insert form ======= -% #1 is the name of the insert form, #2 is the tag or number, #3 is the title -% #4 is the actual insert form value ... ie figure or table or ... - -% This is the glue specification between the caption and the body of the -% insert - -\newskip\captionskip %\captionskip=2ex - -% This is a switch that controls whether the caption is above or below the -% the body of the insert - -\newif\iftopcaption %\topcaptionfalse % defaulted - -% This is the general form of the insert --- it requires both \autonumber -% and \autoreference to work. By selectively turning on/off these -% switches, multipart figures are possible. - -% \ifsilentfigure ... turns off the figure inserts so that tagging can -% occur with figures gracefully occuring at the end. This means that -% figure list file will refer to pages where the figures are sort of -% called out - -\def\multiinsert{\def\g@box{\vbox }\def\g@ebox{\relax}} - -\newif\ifsilentfigure % default is \silenfigurefalse - -\def\g@box{$$\vbox } \def\g@ebox{$$} - -\def\geninsertform #1#2#3#4{ - \ifautonumber - {\silenttrue\expandafter\csname auto#1num\endcsname{#2}}\relax - \edef\i@nsnum{\csname:@#2\endcsname}\else - \edef\i@nsnum{#2}\fi - \writelistfile{#1}{\csname #1tocout\endcsname}{\i@nsnum}{#3} - \ifsilentfigure \relax \else - \g@box{\normalbaselines - \iftopcaption - \captionbox{\csname #1label\endcsname\i@nsnum}{#3} - \vskip \captionskip - \centerline{\vbox{#4}} - \else - \centerline{\vbox{#4}} - \vskip \captionskip - \captionbox{\csname #1label\endcsname\i@nsnum}{#3} - \fi - \vss}\g@ebox\fi} - - -% ========== Special Cases ============ -% These define simple forms for standard midinserts. It uses -% \beginmidinsert ... \endmidinsert for consistency - -% For Figures -\def\figureform #1#2#3{\geninsertform {fig}{#1}{#2}{#3}} -\def\figlabel{\figurelabel } -\def\figureinsert #1#2#3{\beginmidinsert - \figureform{#1}{#2}{#3} - \endmidinsert } - -%\def\figtocout{\string\figtoc} % actually set in inrsdef.tex - - -% For Tables -\def\tableform #1#2#3{\geninsertform {tbl}{#1}{#2}{#3}} -\def\tbllabel{\tablelabel } -\def\tableinsert #1#2#3{\beginmidinsert - \tableform{#1}{#2}{#3} - \endmidinsert } -%\def\tbltocout{\string\tbltoc} % actually set in inrsdef.tex - - -% Comment ---- \endinsert in Plain has a pre and post \bigskip -% This should probably be removed and the spacing always controlled by -% the $$ ... $$. Instead, if the \everymidinsert form were used it -% would be possible to remove it with \everymidinsert = {\let\bigskip=\relax} \ No newline at end of file diff --git a/macros/inrstex/inrstex/graph_ps.tex b/macros/inrstex/inrstex/graph_ps.tex deleted file mode 100644 index 320fe7cc7d..0000000000 --- a/macros/inrstex/inrstex/graph_ps.tex +++ /dev/null @@ -1,27 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ============ TeXGraphics Support ============= -% TeXGraphics uses \specials and needs a QMS (QUIC) Laser printer. -% A Second version produces POSTSCRIPT and assumes TEXTSET'S DVILASER. -% It should be easily modifiable to other POSTSCRIPT drivers. -% both \beginTeXGraphics and \btg are redefined in texgraph.tex -% TeXgraphics is not normally in the format file -% These commands are necessary to support TeXGraph. They are -% NOT the commands themselves but rather set up commands -% to bring them in if needed. - -\def\beginTeXGraphics{\silent{\input texgraph\relax}\btg} %postscript form -\def\begintexgraph{\silent{\input texgraph\relax}\btg} %postscript form -\let\btg=\beginTeXGraphics - - -% Since a \centergraph or \centerplotfile may be met before -% TeXgraph is loaded, they must be in the format file. -% \centergraph needs to be very \long -\long\def\centergraph#1{\hbox to - \hsize{\hss\vbox{#1\vgraphskip}\hgraphskip\hss}} -\def\centerplotfile#1{\centergraph{\btg\includefile {#1} \etg}} - -% ========= end TeXGraphics ========= diff --git a/macros/inrstex/inrstex/hyphen.tex b/macros/inrstex/inrstex/hyphen.tex deleted file mode 100644 index eb23d89cd5..0000000000 --- a/macros/inrstex/inrstex/hyphen.tex +++ /dev/null @@ -1,4466 +0,0 @@ -% The Plain TeX hyphenation tables [NOT TO BE CHANGED IN ANY WAY!] -\patterns{ % just type <return> if you're not using INITEX -.ach4 -.ad4der -.af1t -.al3t -.am5at -.an5c -.ang4 -.ani5m -.ant4 -.an3te -.anti5s -.ar5s -.ar4tie -.ar4ty -.as3c -.as1p -.as1s -.aster5 -.atom5 -.au1d -.av4i -.awn4 -.ba4g -.ba5na -.bas4e -.ber4 -.be5ra -.be3sm -.be5sto -.bri2 -.but4ti -.cam4pe -.can5c -.capa5b -.car5ol -.ca4t -.ce4la -.ch4 -.chill5i -.ci2 -.cit5r -.co3e -.co4r -.cor5ner -.de4moi -.de3o -.de3ra -.de3ri -.des4c -.dictio5 -.do4t -.du4c -.dumb5 -.earth5 -.eas3i -.eb4 -.eer4 -.eg2 -.el5d -.el3em -.enam3 -.en3g -.en3s -.eq5ui5t -.er4ri -.es3 -.eu3 -.eye5 -.fes3 -.for5mer -.ga2 -.ge2 -.gen3t4 -.ge5og -.gi5a -.gi4b -.go4r -.hand5i -.han5k -.he2 -.hero5i -.hes3 -.het3 -.hi3b -.hi3er -.hon5ey -.hon3o -.hov5 -.id4l -.idol3 -.im3m -.im5pin -.in1 -.in3ci -.ine2 -.in2k -.in3s -.ir5r -.is4i -.ju3r -.la4cy -.la4m -.lat5er -.lath5 -.le2 -.leg5e -.len4 -.lep5 -.lev1 -.li4g -.lig5a -.li2n -.li3o -.li4t -.mag5a5 -.mal5o -.man5a -.mar5ti -.me2 -.mer3c -.me5ter -.mis1 -.mist5i -.mon3e -.mo3ro -.mu5ta -.muta5b -.ni4c -.od2 -.odd5 -.of5te -.or5ato -.or3c -.or1d -.or3t -.os3 -.os4tl -.oth3 -.out3 -.ped5al -.pe5te -.pe5tit -.pi4e -.pio5n -.pi2t -.pre3m -.ra4c -.ran4t -.ratio5na -.ree2 -.re5mit -.res2 -.re5stat -.ri4g -.rit5u -.ro4q -.ros5t -.row5d -.ru4d -.sci3e -.self5 -.sell5 -.se2n -.se5rie -.sh2 -.si2 -.sing4 -.st4 -.sta5bl -.sy2 -.ta4 -.te4 -.ten5an -.th2 -.ti2 -.til4 -.tim5o5 -.ting4 -.tin5k -.ton4a -.to4p -.top5i -.tou5s -.trib5ut -.un1a -.un3ce -.under5 -.un1e -.un5k -.un5o -.un3u -.up3 -.ure3 -.us5a -.ven4de -.ve5ra -.wil5i -.ye4 -4ab. -a5bal -a5ban -abe2 -ab5erd -abi5a -ab5it5ab -ab5lat -ab5o5liz -4abr -ab5rog -ab3ul -a4car -ac5ard -ac5aro -a5ceou -ac1er -a5chet -4a2ci -a3cie -ac1in -a3cio -ac5rob -act5if -ac3ul -ac4um -a2d -ad4din -ad5er. -2adi -a3dia -ad3ica -adi4er -a3dio -a3dit -a5diu -ad4le -ad3ow -ad5ran -ad4su -4adu -a3duc -ad5um -ae4r -aeri4e -a2f -aff4 -a4gab -aga4n -ag5ell -age4o -4ageu -ag1i -4ag4l -ag1n -a2go -3agog -ag3oni -a5guer -ag5ul -a4gy -a3ha -a3he -ah4l -a3ho -ai2 -a5ia -a3ic. -ai5ly -a4i4n -ain5in -ain5o -ait5en -a1j -ak1en -al5ab -al3ad -a4lar -4aldi -2ale -al3end -a4lenti -a5le5o -al1i -al4ia. -ali4e -al5lev -4allic -4alm -a5log. -a4ly. -4alys -5a5lyst -5alyt -3alyz -4ama -am5ab -am3ag -ama5ra -am5asc -a4matis -a4m5ato -am5era -am3ic -am5if -am5ily -am1in -ami4no -a2mo -a5mon -amor5i -amp5en -a2n -an3age -3analy -a3nar -an3arc -anar4i -a3nati -4and -ande4s -an3dis -an1dl -an4dow -a5nee -a3nen -an5est. -a3neu -2ang -ang5ie -an1gl -a4n1ic -a3nies -an3i3f -an4ime -a5nimi -a5nine -an3io -a3nip -an3ish -an3it -a3niu -an4kli -5anniz -ano4 -an5ot -anoth5 -an2sa -an4sco -an4sn -an2sp -ans3po -an4st -an4sur -antal4 -an4tie -4anto -an2tr -an4tw -an3ua -an3ul -a5nur -4ao -apar4 -ap5at -ap5ero -a3pher -4aphi -a4pilla -ap5illar -ap3in -ap3ita -a3pitu -a2pl -apoc5 -ap5ola -apor5i -apos3t -aps5es -a3pu -aque5 -2a2r -ar3act -a5rade -ar5adis -ar3al -a5ramete -aran4g -ara3p -ar4at -a5ratio -ar5ativ -a5rau -ar5av4 -araw4 -arbal4 -ar4chan -ar5dine -ar4dr -ar5eas -a3ree -ar3ent -a5ress -ar4fi -ar4fl -ar1i -ar5ial -ar3ian -a3riet -ar4im -ar5inat -ar3io -ar2iz -ar2mi -ar5o5d -a5roni -a3roo -ar2p -ar3q -arre4 -ar4sa -ar2sh -4as. -as4ab -as3ant -ashi4 -a5sia. -a3sib -a3sic -5a5si4t -ask3i -as4l -a4soc -as5ph -as4sh -as3ten -as1tr -asur5a -a2ta -at3abl -at5ac -at3alo -at5ap -ate5c -at5ech -at3ego -at3en. -at3era -ater5n -a5terna -at3est -at5ev -4ath -ath5em -a5then -at4ho -ath5om -4ati. -a5tia -at5i5b -at1ic -at3if -ation5ar -at3itu -a4tog -a2tom -at5omiz -a4top -a4tos -a1tr -at5rop -at4sk -at4tag -at5te -at4th -a2tu -at5ua -at5ue -at3ul -at3ura -a2ty -au4b -augh3 -au3gu -au4l2 -aun5d -au3r -au5sib -aut5en -au1th -a2va -av3ag -a5van -ave4no -av3era -av5ern -av5ery -av1i -avi4er -av3ig -av5oc -a1vor -3away -aw3i -aw4ly -aws4 -ax4ic -ax4id -ay5al -aye4 -ays4 -azi4er -azz5i -5ba. -bad5ger -ba4ge -bal1a -ban5dag -ban4e -ban3i -barbi5 -bari4a -bas4si -1bat -ba4z -2b1b -b2be -b3ber -bbi4na -4b1d -4be. -beak4 -beat3 -4be2d -be3da -be3de -be3di -be3gi -be5gu -1bel -be1li -be3lo -4be5m -be5nig -be5nu -4bes4 -be3sp -be5str -3bet -bet5iz -be5tr -be3tw -be3w -be5yo -2bf -4b3h -bi2b -bi4d -3bie -bi5en -bi4er -2b3if -1bil -bi3liz -bina5r4 -bin4d -bi5net -bi3ogr -bi5ou -bi2t -3bi3tio -bi3tr -3bit5ua -b5itz -b1j -bk4 -b2l2 -blath5 -b4le. -blen4 -5blesp -b3lis -b4lo -blun4t -4b1m -4b3n -bne5g -3bod -bod3i -bo4e -bol3ic -bom4bi -bon4a -bon5at -3boo -5bor. -4b1ora -bor5d -5bore -5bori -5bos4 -b5ota -both5 -bo4to -bound3 -4bp -4brit -broth3 -2b5s2 -bsor4 -2bt -bt4l -b4to -b3tr -buf4fer -bu4ga -bu3li -bumi4 -bu4n -bunt4i -bu3re -bus5ie -buss4e -5bust -4buta -3butio -b5uto -b1v -4b5w -5by. -bys4 -1ca -cab3in -ca1bl -cach4 -ca5den -4cag4 -2c5ah -ca3lat -cal4la -call5in -4calo -can5d -can4e -can4ic -can5is -can3iz -can4ty -cany4 -ca5per -car5om -cast5er -cas5tig -4casy -ca4th -4cativ -cav5al -c3c -ccha5 -cci4a -ccompa5 -ccon4 -ccou3t -2ce. -4ced. -4ceden -3cei -5cel. -3cell -1cen -3cenc -2cen4e -4ceni -3cent -3cep -ce5ram -4cesa -3cessi -ces5si5b -ces5t -cet4 -c5e4ta -cew4 -2ch -4ch. -4ch3ab -5chanic -ch5a5nis -che2 -cheap3 -4ched -che5lo -3chemi -ch5ene -ch3er. -ch3ers -4ch1in -5chine. -ch5iness -5chini -5chio -3chit -chi2z -3cho2 -ch4ti -1ci -3cia -ci2a5b -cia5r -ci5c -4cier -5cific. -4cii -ci4la -3cili -2cim -2cin -c4ina -3cinat -cin3em -c1ing -c5ing. -5cino -cion4 -4cipe -ci3ph -4cipic -4cista -4cisti -2c1it -cit3iz -5ciz -ck1 -ck3i -1c4l4 -4clar -c5laratio -5clare -cle4m -4clic -clim4 -cly4 -c5n -1co -co5ag -coe2 -2cog -co4gr -coi4 -co3inc -col5i -5colo -col3or -com5er -con4a -c4one -con3g -con5t -co3pa -cop3ic -co4pl -4corb -coro3n -cos4e -cov1 -cove4 -cow5a -coz5e -co5zi -c1q -cras5t -5crat. -5cratic -cre3at -5cred -4c3reta -cre4v -cri2 -cri5f -c4rin -cris4 -5criti -cro4pl -crop5o -cros4e -cru4d -4c3s2 -2c1t -cta4b -ct5ang -c5tant -c2te -c3ter -c4ticu -ctim3i -ctu4r -c4tw -cud5 -c4uf -c4ui -cu5ity -5culi -cul4tis -3cultu -cu2ma -c3ume -cu4mi -3cun -cu3pi -cu5py -cur5a4b -cu5ria -1cus -cuss4i -3c4ut -cu4tie -4c5utiv -4cutr -1cy -cze4 -1d2a -5da. -2d3a4b -dach4 -4daf -2dag -da2m2 -dan3g -dard5 -dark5 -4dary -3dat -4dativ -4dato -5dav4 -dav5e -5day -d1b -d5c -d1d4 -2de. -deaf5 -deb5it -de4bon -decan4 -de4cil -de5com -2d1ed -4dee. -de5if -deli4e -del5i5q -de5lo -d4em -5dem. -3demic -dem5ic. -de5mil -de4mons -demor5 -1den -de4nar -de3no -denti5f -de3nu -de1p -de3pa -depi4 -de2pu -d3eq -d4erh -5derm -dern5iz -der5s -des2 -d2es. -de1sc -de2s5o -des3ti -de3str -de4su -de1t -de2to -de1v -dev3il -4dey -4d1f -d4ga -d3ge4t -dg1i -d2gy -d1h2 -5di. -1d4i3a -dia5b -di4cam -d4ice -3dict -3did -5di3en -d1if -di3ge -di4lato -d1in -1dina -3dine. -5dini -di5niz -1dio -dio5g -di4pl -dir2 -di1re -dirt5i -dis1 -5disi -d4is3t -d2iti -1di1v -d1j -d5k2 -4d5la -3dle. -3dled -3dles. -4dless -2d3lo -4d5lu -2dly -d1m -4d1n4 -1do -3do. -do5de -5doe -2d5of -d4og -do4la -doli4 -do5lor -dom5iz -do3nat -doni4 -doo3d -dop4p -d4or -3dos -4d5out -do4v -3dox -d1p -1dr -drag5on -4drai -dre4 -drea5r -5dren -dri4b -dril4 -dro4p -4drow -5drupli -4dry -2d1s2 -ds4p -d4sw -d4sy -d2th -1du -d1u1a -du2c -d1uca -duc5er -4duct. -4ducts -du5el -du4g -d3ule -dum4be -du4n -4dup -du4pe -d1v -d1w -d2y -5dyn -dy4se -dys5p -e1a4b -e3act -ead1 -ead5ie -ea4ge -ea5ger -ea4l -eal5er -eal3ou -eam3er -e5and -ear3a -ear4c -ear5es -ear4ic -ear4il -ear5k -ear2t -eart3e -ea5sp -e3ass -east3 -ea2t -eat5en -eath3i -e5atif -e4a3tu -ea2v -eav3en -eav5i -eav5o -2e1b -e4bel. -e4bels -e4ben -e4bit -e3br -e4cad -ecan5c -ecca5 -e1ce -ec5essa -ec2i -e4cib -ec5ificat -ec5ifie -ec5ify -ec3im -eci4t -e5cite -e4clam -e4clus -e2col -e4comm -e4compe -e4conc -e2cor -ec3ora -eco5ro -e1cr -e4crem -ec4tan -ec4te -e1cu -e4cul -ec3ula -2e2da -4ed3d -e4d1er -ede4s -4edi -e3dia -ed3ib -ed3ica -ed3im -ed1it -edi5z -4edo -e4dol -edon2 -e4dri -e4dul -ed5ulo -ee2c -eed3i -ee2f -eel3i -ee4ly -ee2m -ee4na -ee4p1 -ee2s4 -eest4 -ee4ty -e5ex -e1f -e4f3ere -1eff -e4fic -5efici -efil4 -e3fine -ef5i5nite -3efit -efor5es -e4fuse. -4egal -eger4 -eg5ib -eg4ic -eg5ing -e5git5 -eg5n -e4go. -e4gos -eg1ul -e5gur -5egy -e1h4 -eher4 -ei2 -e5ic -ei5d -eig2 -ei5gl -e3imb -e3inf -e1ing -e5inst -eir4d -eit3e -ei3th -e5ity -e1j -e4jud -ej5udi -eki4n -ek4la -e1la -e4la. -e4lac -elan4d -el5ativ -e4law -elaxa4 -e3lea -el5ebra -5elec -e4led -el3ega -e5len -e4l1er -e1les -el2f -el2i -e3libe -e4l5ic. -el3ica -e3lier -el5igib -e5lim -e4l3ing -e3lio -e2lis -el5ish -e3liv3 -4ella -el4lab -ello4 -e5loc -el5og -el3op. -el2sh -el4ta -e5lud -el5ug -e4mac -e4mag -e5man -em5ana -em5b -e1me -e2mel -e4met -em3ica -emi4e -em5igra -em1in2 -em5ine -em3i3ni -e4mis -em5ish -e5miss -em3iz -5emniz -emo4g -emoni5o -em3pi -e4mul -em5ula -emu3n -e3my -en5amo -e4nant -ench4er -en3dic -e5nea -e5nee -en3em -en5ero -en5esi -en5est -en3etr -e3new -en5ics -e5nie -e5nil -e3nio -en3ish -en3it -e5niu -5eniz -4enn -4eno -eno4g -e4nos -en3ov -en4sw -ent5age -4enthes -en3ua -en5uf -e3ny. -4en3z -e5of -eo2g -e4oi4 -e3ol -eop3ar -e1or -eo3re -eo5rol -eos4 -e4ot -eo4to -e5out -e5ow -e2pa -e3pai -ep5anc -e5pel -e3pent -ep5etitio -ephe4 -e4pli -e1po -e4prec -ep5reca -e4pred -ep3reh -e3pro -e4prob -ep4sh -ep5ti5b -e4put -ep5uta -e1q -equi3l -e4q3ui3s -er1a -era4b -4erand -er3ar -4erati. -2erb -er4bl -er3ch -er4che -2ere. -e3real -ere5co -ere3in -er5el. -er3emo -er5ena -er5ence -4erene -er3ent -ere4q -er5ess -er3est -eret4 -er1h -er1i -e1ria4 -5erick -e3rien -eri4er -er3ine -e1rio -4erit -er4iu -eri4v -e4riva -er3m4 -er4nis -4ernit -5erniz -er3no -2ero -er5ob -e5roc -ero4r -er1ou -er1s -er3set -ert3er -4ertl -er3tw -4eru -eru4t -5erwau -e1s4a -e4sage. -e4sages -es2c -e2sca -es5can -e3scr -es5cu -e1s2e -e2sec -es5ecr -es5enc -e4sert. -e4serts -e4serva -4esh -e3sha -esh5en -e1si -e2sic -e2sid -es5iden -es5igna -e2s5im -es4i4n -esis4te -esi4u -e5skin -es4mi -e2sol -es3olu -e2son -es5ona -e1sp -es3per -es5pira -es4pre -2ess -es4si4b -estan4 -es3tig -es5tim -4es2to -e3ston -2estr -e5stro -estruc5 -e2sur -es5urr -es4w -eta4b -eten4d -e3teo -ethod3 -et1ic -e5tide -etin4 -eti4no -e5tir -e5titio -et5itiv -4etn -et5ona -e3tra -e3tre -et3ric -et5rif -et3rog -et5ros -et3ua -et5ym -et5z -4eu -e5un -e3up -eu3ro -eus4 -eute4 -euti5l -eu5tr -eva2p5 -e2vas -ev5ast -e5vea -ev3ell -evel3o -e5veng -even4i -ev1er -e5verb -e1vi -ev3id -evi4l -e4vin -evi4v -e5voc -e5vu -e1wa -e4wag -e5wee -e3wh -ewil5 -ew3ing -e3wit -1exp -5eyc -5eye. -eys4 -1fa -fa3bl -fab3r -fa4ce -4fag -fain4 -fall5e -4fa4ma -fam5is -5far -far5th -fa3ta -fa3the -4fato -fault5 -4f5b -4fd -4fe. -feas4 -feath3 -fe4b -4feca -5fect -2fed -fe3li -fe4mo -fen2d -fend5e -fer1 -5ferr -fev4 -4f1f -f4fes -f4fie -f5fin. -f2f5is -f4fly -f2fy -4fh -1fi -fi3a -2f3ic. -4f3ical -f3ican -4ficate -f3icen -fi3cer -fic4i -5ficia -5ficie -4fics -fi3cu -fi5del -fight5 -fil5i -fill5in -4fily -2fin -5fina -fin2d5 -fi2ne -f1in3g -fin4n -fis4ti -f4l2 -f5less -flin4 -flo3re -f2ly5 -4fm -4fn -1fo -5fon -fon4de -fon4t -fo2r -fo5rat -for5ay -fore5t -for4i -fort5a -fos5 -4f5p -fra4t -f5rea -fres5c -fri2 -fril4 -frol5 -2f3s -2ft -f4to -f2ty -3fu -fu5el -4fug -fu4min -fu5ne -fu3ri -fusi4 -fus4s -4futa -1fy -1ga -gaf4 -5gal. -3gali -ga3lo -2gam -ga5met -g5amo -gan5is -ga3niz -gani5za -4gano -gar5n4 -gass4 -gath3 -4gativ -4gaz -g3b -gd4 -2ge. -2ged -geez4 -gel4in -ge5lis -ge5liz -4gely -1gen -ge4nat -ge5niz -4geno -4geny -1geo -ge3om -g4ery -5gesi -geth5 -4geto -ge4ty -ge4v -4g1g2 -g2ge -g3ger -gglu5 -ggo4 -gh3in -gh5out -gh4to -5gi. -1gi4a -gia5r -g1ic -5gicia -g4ico -gien5 -5gies. -gil4 -g3imen -3g4in. -gin5ge -5g4ins -5gio -3gir -gir4l -g3isl -gi4u -5giv -3giz -gl2 -gla4 -glad5i -5glas -1gle -gli4b -g3lig -3glo -glo3r -g1m -g4my -gn4a -g4na. -gnet4t -g1ni -g2nin -g4nio -g1no -g4non -1go -3go. -gob5 -5goe -3g4o4g -go3is -gon2 -4g3o3na -gondo5 -go3ni -5goo -go5riz -gor5ou -5gos. -gov1 -g3p -1gr -4grada -g4rai -gran2 -5graph. -g5rapher -5graphic -4graphy -4gray -gre4n -4gress. -4grit -g4ro -gruf4 -gs2 -g5ste -gth3 -gu4a -3guard -2gue -5gui5t -3gun -3gus -4gu4t -g3w -1gy -2g5y3n -gy5ra -h3ab4l -hach4 -hae4m -hae4t -h5agu -ha3la -hala3m -ha4m -han4ci -han4cy -5hand. -han4g -hang5er -hang5o -h5a5niz -han4k -han4te -hap3l -hap5t -ha3ran -ha5ras -har2d -hard3e -har4le -harp5en -har5ter -has5s -haun4 -5haz -haz3a -h1b -1head -3hear -he4can -h5ecat -h4ed -he5do5 -he3l4i -hel4lis -hel4ly -h5elo -hem4p -he2n -hena4 -hen5at -heo5r -hep5 -h4era -hera3p -her4ba -here5a -h3ern -h5erou -h3ery -h1es -he2s5p -he4t -het4ed -heu4 -h1f -h1h -hi5an -hi4co -high5 -h4il2 -himer4 -h4ina -hion4e -hi4p -hir4l -hi3ro -hir4p -hir4r -his3el -his4s -hith5er -hi2v -4hk -4h1l4 -hlan4 -h2lo -hlo3ri -4h1m -hmet4 -2h1n -h5odiz -h5ods -ho4g -hoge4 -hol5ar -3hol4e -ho4ma -home3 -hon4a -ho5ny -3hood -hoon4 -hor5at -ho5ris -hort3e -ho5ru -hos4e -ho5sen -hos1p -1hous -house3 -hov5el -4h5p -4hr4 -hree5 -hro5niz -hro3po -4h1s2 -h4sh -h4tar -ht1en -ht5es -h4ty -hu4g -hu4min -hun5ke -hun4t -hus3t4 -hu4t -h1w -h4wart -hy3pe -hy3ph -hy2s -2i1a -i2al -iam4 -iam5ete -i2an -4ianc -ian3i -4ian4t -ia5pe -iass4 -i4ativ -ia4tric -i4atu -ibe4 -ib3era -ib5ert -ib5ia -ib3in -ib5it. -ib5ite -i1bl -ib3li -i5bo -i1br -i2b5ri -i5bun -4icam -5icap -4icar -i4car. -i4cara -icas5 -i4cay -iccu4 -4iceo -4ich -2ici -i5cid -ic5ina -i2cip -ic3ipa -i4cly -i2c5oc -4i1cr -5icra -i4cry -ic4te -ictu2 -ic4t3ua -ic3ula -ic4um -ic5uo -i3cur -2id -i4dai -id5anc -id5d -ide3al -ide4s -i2di -id5ian -idi4ar -i5die -id3io -idi5ou -id1it -id5iu -i3dle -i4dom -id3ow -i4dr -i2du -id5uo -2ie4 -ied4e -5ie5ga -ield3 -ien5a4 -ien4e -i5enn -i3enti -i1er. -i3esc -i1est -i3et -4if. -if5ero -iff5en -if4fr -4ific. -i3fie -i3fl -4ift -2ig -iga5b -ig3era -ight3i -4igi -i3gib -ig3il -ig3in -ig3it -i4g4l -i2go -ig3or -ig5ot -i5gre -igu5i -ig1ur -i3h -4i5i4 -i3j -4ik -i1la -il3a4b -i4lade -i2l5am -ila5ra -i3leg -il1er -ilev4 -il5f -il1i -il3ia -il2ib -il3io -il4ist -2ilit -il2iz -ill5ab -4iln -il3oq -il4ty -il5ur -il3v -i4mag -im3age -ima5ry -imenta5r -4imet -im1i -im5ida -imi5le -i5mini -4imit -im4ni -i3mon -i2mu -im3ula -2in. -i4n3au -4inav -incel4 -in3cer -4ind -in5dling -2ine -i3nee -iner4ar -i5ness -4inga -4inge -in5gen -4ingi -in5gling -4ingo -4ingu -2ini -i5ni. -i4nia -in3io -in1is -i5nite. -5initio -in3ity -4ink -4inl -2inn -2i1no -i4no4c -ino4s -i4not -2ins -in3se -insur5a -2int. -2in4th -in1u -i5nus -4iny -2io -4io. -ioge4 -io2gr -i1ol -io4m -ion3at -ion4ery -ion3i -io5ph -ior3i -i4os -io5th -i5oti -io4to -i4our -2ip -ipe4 -iphras4 -ip3i -ip4ic -ip4re4 -ip3ul -i3qua -iq5uef -iq3uid -iq3ui3t -4ir -i1ra -ira4b -i4rac -ird5e -ire4de -i4ref -i4rel4 -i4res -ir5gi -ir1i -iri5de -ir4is -iri3tu -5i5r2iz -ir4min -iro4g -5iron. -ir5ul -2is. -is5ag -is3ar -isas5 -2is1c -is3ch -4ise -is3er -3isf -is5han -is3hon -ish5op -is3ib -isi4d -i5sis -is5itiv -4is4k -islan4 -4isms -i2so -iso5mer -is1p -is2pi -is4py -4is1s -is4sal -issen4 -is4ses -is4ta. -is1te -is1ti -ist4ly -4istral -i2su -is5us -4ita. -ita4bi -i4tag -4ita5m -i3tan -i3tat -2ite -it3era -i5teri -it4es -2ith -i1ti -4itia -4i2tic -it3ica -5i5tick -it3ig -it5ill -i2tim -2itio -4itis -i4tism -i2t5o5m -4iton -i4tram -it5ry -4itt -it3uat -i5tud -it3ul -4itz. -i1u -2iv -iv3ell -iv3en. -i4v3er. -i4vers. -iv5il. -iv5io -iv1it -i5vore -iv3o3ro -i4v3ot -4i5w -ix4o -4iy -4izar -izi4 -5izont -5ja -jac4q -ja4p -1je -jer5s -4jestie -4jesty -jew3 -jo4p -5judg -3ka. -k3ab -k5ag -kais4 -kal4 -k1b -k2ed -1kee -ke4g -ke5li -k3en4d -k1er -kes4 -k3est. -ke4ty -k3f -kh4 -k1i -5ki. -5k2ic -k4ill -kilo5 -k4im -k4in. -kin4de -k5iness -kin4g -ki4p -kis4 -k5ish -kk4 -k1l -4kley -4kly -k1m -k5nes -1k2no -ko5r -kosh4 -k3ou -kro5n -4k1s2 -k4sc -ks4l -k4sy -k5t -k1w -lab3ic -l4abo -laci4 -l4ade -la3dy -lag4n -lam3o -3land -lan4dl -lan5et -lan4te -lar4g -lar3i -las4e -la5tan -4lateli -4lativ -4lav -la4v4a -2l1b -lbin4 -4l1c2 -lce4 -l3ci -2ld -l2de -ld4ere -ld4eri -ldi4 -ld5is -l3dr -l4dri -le2a -le4bi -left5 -5leg. -5legg -le4mat -lem5atic -4len. -3lenc -5lene. -1lent -le3ph -le4pr -lera5b -ler4e -3lerg -3l4eri -l4ero -les2 -le5sco -5lesq -3less -5less. -l3eva -lev4er. -lev4era -lev4ers -3ley -4leye -2lf -l5fr -4l1g4 -l5ga -lgar3 -l4ges -lgo3 -2l3h -li4ag -li2am -liar5iz -li4as -li4ato -li5bi -5licio -li4cor -4lics -4lict. -l4icu -l3icy -l3ida -lid5er -3lidi -lif3er -l4iff -li4fl -5ligate -3ligh -li4gra -3lik -4l4i4l -lim4bl -lim3i -li4mo -l4im4p -l4ina -1l4ine -lin3ea -lin3i -link5er -li5og -4l4iq -lis4p -l1it -l2it. -5litica -l5i5tics -liv3er -l1iz -4lj -lka3 -l3kal -lka4t -l1l -l4law -l2le -l5lea -l3lec -l3leg -l3lel -l3le4n -l3le4t -ll2i -l2lin4 -l5lina -ll4o -lloqui5 -ll5out -l5low -2lm -l5met -lm3ing -l4mod -lmon4 -2l1n2 -3lo. -lob5al -lo4ci -4lof -3logic -l5ogo -3logu -lom3er -5long -lon4i -l3o3niz -lood5 -5lope. -lop3i -l3opm -lora4 -lo4rato -lo5rie -lor5ou -5los. -los5et -5losophiz -5losophy -los4t -lo4ta -loun5d -2lout -4lov -2lp -lpa5b -l3pha -l5phi -lp5ing -l3pit -l4pl -l5pr -4l1r -2l1s2 -l4sc -l2se -l4sie -4lt -lt5ag -ltane5 -l1te -lten4 -ltera4 -lth3i -l5ties. -ltis4 -l1tr -ltu2 -ltur3a -lu5a -lu3br -luch4 -lu3ci -lu3en -luf4 -lu5id -lu4ma -5lumi -l5umn. -5lumnia -lu3o -luo3r -4lup -luss4 -lus3te -1lut -l5ven -l5vet4 -2l1w -1ly -4lya -4lyb -ly5me -ly3no -2lys4 -l5yse -1ma -2mab -ma2ca -ma5chine -ma4cl -mag5in -5magn -2mah -maid5 -4mald -ma3lig -ma5lin -mal4li -mal4ty -5mania -man5is -man3iz -4map -ma5rine. -ma5riz -mar4ly -mar3v -ma5sce -mas4e -mas1t -5mate -math3 -ma3tis -4matiza -4m1b -mba4t5 -m5bil -m4b3ing -mbi4v -4m5c -4me. -2med -4med. -5media -me3die -m5e5dy -me2g -mel5on -mel4t -me2m -mem1o3 -1men -men4a -men5ac -men4de -4mene -men4i -mens4 -mensu5 -3ment -men4te -me5on -m5ersa -2mes -3mesti -me4ta -met3al -me1te -me5thi -m4etr -5metric -me5trie -me3try -me4v -4m1f -2mh -5mi. -mi3a -mid4a -mid4g -mig4 -3milia -m5i5lie -m4ill -min4a -3mind -m5inee -m4ingl -min5gli -m5ingly -min4t -m4inu -miot4 -m2is -mis4er. -mis5l -mis4ti -m5istry -4mith -m2iz -4mk -4m1l -m1m -mma5ry -4m1n -mn4a -m4nin -mn4o -1mo -4mocr -5mocratiz -mo2d1 -mo4go -mois2 -moi5se -4mok -mo5lest -mo3me -mon5et -mon5ge -moni3a -mon4ism -mon4ist -mo3niz -monol4 -mo3ny. -mo2r -4mora. -mos2 -mo5sey -mo3sp -moth3 -m5ouf -3mous -mo2v -4m1p -mpara5 -mpa5rab -mpar5i -m3pet -mphas4 -m2pi -mpi4a -mp5ies -m4p1in -m5pir -mp5is -mpo3ri -mpos5ite -m4pous -mpov5 -mp4tr -m2py -4m3r -4m1s2 -m4sh -m5si -4mt -1mu -mula5r4 -5mult -multi3 -3mum -mun2 -4mup -mu4u -4mw -1na -2n1a2b -n4abu -4nac. -na4ca -n5act -nag5er. -nak4 -na4li -na5lia -4nalt -na5mit -n2an -nanci4 -nan4it -nank4 -nar3c -4nare -nar3i -nar4l -n5arm -n4as -nas4c -nas5ti -n2at -na3tal -nato5miz -n2au -nau3se -3naut -nav4e -4n1b4 -ncar5 -n4ces. -n3cha -n5cheo -n5chil -n3chis -nc1in -nc4it -ncour5a -n1cr -n1cu -n4dai -n5dan -n1de -nd5est. -ndi4b -n5d2if -n1dit -n3diz -n5duc -ndu4r -nd2we -2ne. -n3ear -ne2b -neb3u -ne2c -5neck -2ned -ne4gat -neg5ativ -5nege -ne4la -nel5iz -ne5mi -ne4mo -1nen -4nene -3neo -ne4po -ne2q -n1er -nera5b -n4erar -n2ere -n4er5i -ner4r -1nes -2nes. -4nesp -2nest -4nesw -3netic -ne4v -n5eve -ne4w -n3f -n4gab -n3gel -nge4n4e -n5gere -n3geri -ng5ha -n3gib -ng1in -n5git -n4gla -ngov4 -ng5sh -n1gu -n4gum -n2gy -4n1h4 -nha4 -nhab3 -nhe4 -3n4ia -ni3an -ni4ap -ni3ba -ni4bl -ni4d -ni5di -ni4er -ni2fi -ni5ficat -n5igr -nik4 -n1im -ni3miz -n1in -5nine. -nin4g -ni4o -5nis. -nis4ta -n2it -n4ith -3nitio -n3itor -ni3tr -n1j -4nk2 -n5kero -n3ket -nk3in -n1kl -4n1l -n5m -nme4 -nmet4 -4n1n2 -nne4 -nni3al -nni4v -nob4l -no3ble -n5ocl -4n3o2d -3noe -4nog -noge4 -nois5i -no5l4i -5nologis -3nomic -n5o5miz -no4mo -no3my -no4n -non4ag -non5i -n5oniz -4nop -5nop5o5li -nor5ab -no4rary -4nosc -nos4e -nos5t -no5ta -1nou -3noun -nov3el3 -nowl3 -n1p4 -npi4 -npre4c -n1q -n1r -nru4 -2n1s2 -ns5ab -nsati4 -ns4c -n2se -n4s3es -nsid1 -nsig4 -n2sl -ns3m -n4soc -ns4pe -n5spi -nsta5bl -n1t -nta4b -nter3s -nt2i -n5tib -nti4er -nti2f -n3tine -n4t3ing -nti4p -ntrol5li -nt4s -ntu3me -nu1a -nu4d -nu5en -nuf4fe -n3uin -3nu3it -n4um -nu1me -n5umi -3nu4n -n3uo -nu3tr -n1v2 -n1w4 -nym4 -nyp4 -4nz -n3za -4oa -oad3 -o5a5les -oard3 -oas4e -oast5e -oat5i -ob3a3b -o5bar -obe4l -o1bi -o2bin -ob5ing -o3br -ob3ul -o1ce -och4 -o3chet -ocif3 -o4cil -o4clam -o4cod -oc3rac -oc5ratiz -ocre3 -5ocrit -octor5a -oc3ula -o5cure -od5ded -od3ic -odi3o -o2do4 -odor3 -od5uct. -od5ucts -o4el -o5eng -o3er -oe4ta -o3ev -o2fi -of5ite -ofit4t -o2g5a5r -og5ativ -o4gato -o1ge -o5gene -o5geo -o4ger -o3gie -1o1gis -og3it -o4gl -o5g2ly -3ogniz -o4gro -ogu5i -1ogy -2ogyn -o1h2 -ohab5 -oi2 -oic3es -oi3der -oiff4 -oig4 -oi5let -o3ing -oint5er -o5ism -oi5son -oist5en -oi3ter -o5j -2ok -o3ken -ok5ie -o1la -o4lan -olass4 -ol2d -old1e -ol3er -o3lesc -o3let -ol4fi -ol2i -o3lia -o3lice -ol5id. -o3li4f -o5lil -ol3ing -o5lio -o5lis. -ol3ish -o5lite -o5litio -o5liv -olli4e -ol5ogiz -olo4r -ol5pl -ol2t -ol3ub -ol3ume -ol3un -o5lus -ol2v -o2ly -om5ah -oma5l -om5atiz -om2be -om4bl -o2me -om3ena -om5erse -o4met -om5etry -o3mia -om3ic. -om3ica -o5mid -om1in -o5mini -5ommend -omo4ge -o4mon -om3pi -ompro5 -o2n -on1a -on4ac -o3nan -on1c -3oncil -2ond -on5do -o3nen -on5est -on4gu -on1ic -o3nio -on1is -o5niu -on3key -on4odi -on3omy -on3s -onspi4 -onspir5a -onsu4 -onten4 -on3t4i -ontif5 -on5um -onva5 -oo2 -ood5e -ood5i -oo4k -oop3i -o3ord -oost5 -o2pa -ope5d -op1er -3opera -4operag -2oph -o5phan -o5pher -op3ing -o3pit -o5pon -o4posi -o1pr -op1u -opy5 -o1q -o1ra -o5ra. -o4r3ag -or5aliz -or5ange -ore5a -o5real -or3ei -ore5sh -or5est. -orew4 -or4gu -4o5ria -or3ica -o5ril -or1in -o1rio -or3ity -o3riu -or2mi -orn2e -o5rof -or3oug -or5pe -3orrh -or4se -ors5en -orst4 -or3thi -or3thy -or4ty -o5rum -o1ry -os3al -os2c -os4ce -o3scop -4oscopi -o5scr -os4i4e -os5itiv -os3ito -os3ity -osi4u -os4l -o2so -os4pa -os4po -os2ta -o5stati -os5til -os5tit -o4tan -otele4g -ot3er. -ot5ers -o4tes -4oth -oth5esi -oth3i4 -ot3ic. -ot5ica -o3tice -o3tif -o3tis -oto5s -ou2 -ou3bl -ouch5i -ou5et -ou4l -ounc5er -oun2d -ou5v -ov4en -over4ne -over3s -ov4ert -o3vis -oviti4 -o5v4ol -ow3der -ow3el -ow5est -ow1i -own5i -o4wo -oy1a -1pa -pa4ca -pa4ce -pac4t -p4ad -5pagan -p3agat -p4ai -pain4 -p4al -pan4a -pan3el -pan4ty -pa3ny -pa1p -pa4pu -para5bl -par5age -par5di -3pare -par5el -p4a4ri -par4is -pa2te -pa5ter -5pathic -pa5thy -pa4tric -pav4 -3pay -4p1b -pd4 -4pe. -3pe4a -pear4l -pe2c -2p2ed -3pede -3pedi -pedia4 -ped4ic -p4ee -pee4d -pek4 -pe4la -peli4e -pe4nan -p4enc -pen4th -pe5on -p4era. -pera5bl -p4erag -p4eri -peri5st -per4mal -perme5 -p4ern -per3o -per3ti -pe5ru -per1v -pe2t -pe5ten -pe5tiz -4pf -4pg -4ph. -phar5i -phe3no -ph4er -ph4es. -ph1ic -5phie -ph5ing -5phisti -3phiz -ph2l -3phob -3phone -5phoni -pho4r -4phs -ph3t -5phu -1phy -pi3a -pian4 -pi4cie -pi4cy -p4id -p5ida -pi3de -5pidi -3piec -pi3en -pi4grap -pi3lo -pi2n -p4in. -pind4 -p4ino -3pi1o -pion4 -p3ith -pi5tha -pi2tu -2p3k2 -1p2l2 -3plan -plas5t -pli3a -pli5er -4plig -pli4n -ploi4 -plu4m -plum4b -4p1m -2p3n -po4c -5pod. -po5em -po3et5 -5po4g -poin2 -5point -poly5t -po4ni -po4p -1p4or -po4ry -1pos -pos1s -p4ot -po4ta -5poun -4p1p -ppa5ra -p2pe -p4ped -p5pel -p3pen -p3per -p3pet -ppo5site -pr2 -pray4e -5preci -pre5co -pre3em -pref5ac -pre4la -pre3r -p3rese -3press -pre5ten -pre3v -5pri4e -prin4t3 -pri4s -pris3o -p3roca -prof5it -pro3l -pros3e -pro1t -2p1s2 -p2se -ps4h -p4sib -2p1t -pt5a4b -p2te -p2th -pti3m -ptu4r -p4tw -pub3 -pue4 -puf4 -pul3c -pu4m -pu2n -pur4r -5pus -pu2t -5pute -put3er -pu3tr -put4ted -put4tin -p3w -qu2 -qua5v -2que. -3quer -3quet -2rab -ra3bi -rach4e -r5acl -raf5fi -raf4t -r2ai -ra4lo -ram3et -r2ami -rane5o -ran4ge -r4ani -ra5no -rap3er -3raphy -rar5c -rare4 -rar5ef -4raril -r2as -ration4 -rau4t -ra5vai -rav3el -ra5zie -r1b -r4bab -r4bag -rbi2 -rbi4f -r2bin -r5bine -rb5ing. -rb4o -r1c -r2ce -rcen4 -r3cha -rch4er -r4ci4b -rc4it -rcum3 -r4dal -rd2i -rdi4a -rdi4er -rdin4 -rd3ing -2re. -re1al -re3an -re5arr -5reav -re4aw -r5ebrat -rec5oll -rec5ompe -re4cre -2r2ed -re1de -re3dis -red5it -re4fac -re2fe -re5fer. -re3fi -re4fy -reg3is -re5it -re1li -re5lu -r4en4ta -ren4te -re1o -re5pin -re4posi -re1pu -r1er4 -r4eri -rero4 -re5ru -r4es. -re4spi -ress5ib -res2t -re5stal -re3str -re4ter -re4ti4z -re3tri -reu2 -re5uti -rev2 -re4val -rev3el -r5ev5er. -re5vers -re5vert -re5vil -rev5olu -re4wh -r1f -rfu4 -r4fy -rg2 -rg3er -r3get -r3gic -rgi4n -rg3ing -r5gis -r5git -r1gl -rgo4n -r3gu -rh4 -4rh. -4rhal -ri3a -ria4b -ri4ag -r4ib -rib3a -ric5as -r4ice -4rici -5ricid -ri4cie -r4ico -rid5er -ri3enc -ri3ent -ri1er -ri5et -rig5an -5rigi -ril3iz -5riman -rim5i -3rimo -rim4pe -r2ina -5rina. -rin4d -rin4e -rin4g -ri1o -5riph -riph5e -ri2pl -rip5lic -r4iq -r2is -r4is. -ris4c -r3ish -ris4p -ri3ta3b -r5ited. -rit5er. -rit5ers -rit3ic -ri2tu -rit5ur -riv5el -riv3et -riv3i -r3j -r3ket -rk4le -rk4lin -r1l -rle4 -r2led -r4lig -r4lis -rl5ish -r3lo4 -r1m -rma5c -r2me -r3men -rm5ers -rm3ing -r4ming. -r4mio -r3mit -r4my -r4nar -r3nel -r4ner -r5net -r3ney -r5nic -r1nis4 -r3nit -r3niv -rno4 -r4nou -r3nu -rob3l -r2oc -ro3cr -ro4e -ro1fe -ro5fil -rok2 -ro5ker -5role. -rom5ete -rom4i -rom4p -ron4al -ron4e -ro5n4is -ron4ta -1room -5root -ro3pel -rop3ic -ror3i -ro5ro -ros5per -ros4s -ro4the -ro4ty -ro4va -rov5el -rox5 -r1p -r4pea -r5pent -rp5er. -r3pet -rp4h4 -rp3ing -r3po -r1r4 -rre4c -rre4f -r4reo -rre4st -rri4o -rri4v -rron4 -rros4 -rrys4 -4rs2 -r1sa -rsa5ti -rs4c -r2se -r3sec -rse4cr -rs5er. -rs3es -rse5v2 -r1sh -r5sha -r1si -r4si4b -rson3 -r1sp -r5sw -rtach4 -r4tag -r3teb -rten4d -rte5o -r1ti -rt5ib -rti4d -r4tier -r3tig -rtil3i -rtil4l -r4tily -r4tist -r4tiv -r3tri -rtroph4 -rt4sh -ru3a -ru3e4l -ru3en -ru4gl -ru3in -rum3pl -ru2n -runk5 -run4ty -r5usc -ruti5n -rv4e -rvel4i -r3ven -rv5er. -r5vest -r3vey -r3vic -rvi4v -r3vo -r1w -ry4c -5rynge -ry3t -sa2 -2s1ab -5sack -sac3ri -s3act -5sai -salar4 -sal4m -sa5lo -sal4t -3sanc -san4de -s1ap -sa5ta -5sa3tio -sat3u -sau4 -sa5vor -5saw -4s5b -scan4t5 -sca4p -scav5 -s4ced -4scei -s4ces -sch2 -s4cho -3s4cie -5scin4d -scle5 -s4cli -scof4 -4scopy -scour5a -s1cu -4s5d -4se. -se4a -seas4 -sea5w -se2c3o -3sect -4s4ed -se4d4e -s5edl -se2g -seg3r -5sei -se1le -5self -5selv -4seme -se4mol -sen5at -4senc -sen4d -s5ened -sen5g -s5enin -4sentd -4sentl -sep3a3 -4s1er. -s4erl -ser4o -4servo -s1e4s -se5sh -ses5t -5se5um -5sev -sev3en -sew4i -5sex -4s3f -2s3g -s2h -2sh. -sh1er -5shev -sh1in -sh3io -3ship -shiv5 -sho4 -sh5old -shon3 -shor4 -short5 -4shw -si1b -s5icc -3side. -5sides -5sidi -si5diz -4signa -sil4e -4sily -2s1in -s2ina -5sine. -s3ing -1sio -5sion -sion5a -si2r -sir5a -1sis -3sitio -5siu -1siv -5siz -sk2 -4ske -s3ket -sk5ine -sk5ing -s1l2 -s3lat -s2le -slith5 -2s1m -s3ma -small3 -sman3 -smel4 -s5men -5smith -smol5d4 -s1n4 -1so -so4ce -soft3 -so4lab -sol3d2 -so3lic -5solv -3som -3s4on. -sona4 -son4g -s4op -5sophic -s5ophiz -s5ophy -sor5c -sor5d -4sov -so5vi -2spa -5spai -spa4n -spen4d -2s5peo -2sper -s2phe -3spher -spho5 -spil4 -sp5ing -4spio -s4ply -s4pon -spor4 -4spot -squal4l -s1r -2ss -s1sa -ssas3 -s2s5c -s3sel -s5seng -s4ses. -s5set -s1si -s4sie -ssi4er -ss5ily -s4sl -ss4li -s4sn -sspend4 -ss2t -ssur5a -ss5w -2st. -s2tag -s2tal -stam4i -5stand -s4ta4p -5stat. -s4ted -stern5i -s5tero -ste2w -stew5a -s3the -st2i -s4ti. -s5tia -s1tic -5stick -s4tie -s3tif -st3ing -5stir -s1tle -5stock -stom3a -5stone -s4top -3store -st4r -s4trad -5stratu -s4tray -s4trid -4stry -4st3w -s2ty -1su -su1al -su4b3 -su2g3 -su5is -suit3 -s4ul -su2m -sum3i -su2n -su2r -4sv -sw2 -4swo -s4y -4syc -3syl -syn5o -sy5rin -1ta -3ta. -2tab -ta5bles -5taboliz -4taci -ta5do -4taf4 -tai5lo -ta2l -ta5la -tal5en -tal3i -4talk -tal4lis -ta5log -ta5mo -tan4de -tanta3 -ta5per -ta5pl -tar4a -4tarc -4tare -ta3riz -tas4e -ta5sy -4tatic -ta4tur -taun4 -tav4 -2taw -tax4is -2t1b -4tc -t4ch -tch5et -4t1d -4te. -tead4i -4teat -tece4 -5tect -2t1ed -te5di -1tee -teg4 -te5ger -te5gi -3tel. -teli4 -5tels -te2ma2 -tem3at -3tenan -3tenc -3tend -4tenes -1tent -ten4tag -1teo -te4p -te5pe -ter3c -5ter3d -1teri -ter5ies -ter3is -teri5za -5ternit -ter5v -4tes. -4tess -t3ess. -teth5e -3teu -3tex -4tey -2t1f -4t1g -2th. -than4 -th2e -4thea -th3eas -the5at -the3is -3thet -th5ic. -th5ica -4thil -5think -4thl -th5ode -5thodic -4thoo -thor5it -tho5riz -2ths -1tia -ti4ab -ti4ato -2ti2b -4tick -t4ico -t4ic1u -5tidi -3tien -tif2 -ti5fy -2tig -5tigu -till5in -1tim -4timp -tim5ul -2t1in -t2ina -3tine. -3tini -1tio -ti5oc -tion5ee -5tiq -ti3sa -3tise -tis4m -ti5so -tis4p -5tistica -ti3tl -ti4u -1tiv -tiv4a -1tiz -ti3za -ti3zen -2tl -t5la -tlan4 -3tle. -3tled -3tles. -t5let. -t5lo -4t1m -tme4 -2t1n2 -1to -to3b -to5crat -4todo -2tof -to2gr -to5ic -to2ma -tom4b -to3my -ton4ali -to3nat -4tono -4tony -to2ra -to3rie -tor5iz -tos2 -5tour -4tout -to3war -4t1p -1tra -tra3b -tra5ch -traci4 -trac4it -trac4te -tras4 -tra5ven -trav5es5 -tre5f -tre4m -trem5i -5tria -tri5ces -5tricia -4trics -2trim -tri4v -tro5mi -tron5i -4trony -tro5phe -tro3sp -tro3v -tru5i -trus4 -4t1s2 -t4sc -tsh4 -t4sw -4t3t2 -t4tes -t5to -ttu4 -1tu -tu1a -tu3ar -tu4bi -tud2 -4tue -4tuf4 -5tu3i -3tum -tu4nis -2t3up. -3ture -5turi -tur3is -tur5o -tu5ry -3tus -4tv -tw4 -4t1wa -twis4 -4two -1ty -4tya -2tyl -type3 -ty5ph -4tz -tz4e -4uab -uac4 -ua5na -uan4i -uar5ant -uar2d -uar3i -uar3t -u1at -uav4 -ub4e -u4bel -u3ber -u4bero -u1b4i -u4b5ing -u3ble. -u3ca -uci4b -uc4it -ucle3 -u3cr -u3cu -u4cy -ud5d -ud3er -ud5est -udev4 -u1dic -ud3ied -ud3ies -ud5is -u5dit -u4don -ud4si -u4du -u4ene -uens4 -uen4te -uer4il -3ufa -u3fl -ugh3en -ug5in -2ui2 -uil5iz -ui4n -u1ing -uir4m -uita4 -uiv3 -uiv4er. -u5j -4uk -u1la -ula5b -u5lati -ulch4 -5ulche -ul3der -ul4e -u1len -ul4gi -ul2i -u5lia -ul3ing -ul5ish -ul4lar -ul4li4b -ul4lis -4ul3m -u1l4o -4uls -uls5es -ul1ti -ultra3 -4ultu -u3lu -ul5ul -ul5v -um5ab -um4bi -um4bly -u1mi -u4m3ing -umor5o -um2p -unat4 -u2ne -un4er -u1ni -un4im -u2nin -un5ish -uni3v -un3s4 -un4sw -unt3ab -un4ter. -un4tes -unu4 -un5y -un5z -u4ors -u5os -u1ou -u1pe -uper5s -u5pia -up3ing -u3pl -up3p -upport5 -upt5ib -uptu4 -u1ra -4ura. -u4rag -u4ras -ur4be -urc4 -ur1d -ure5at -ur4fer -ur4fr -u3rif -uri4fic -ur1in -u3rio -u1rit -ur3iz -ur2l -url5ing. -ur4no -uros4 -ur4pe -ur4pi -urs5er -ur5tes -ur3the -urti4 -ur4tie -u3ru -2us -u5sad -u5san -us4ap -usc2 -us3ci -use5a -u5sia -u3sic -us4lin -us1p -us5sl -us5tere -us1tr -u2su -usur4 -uta4b -u3tat -4ute. -4utel -4uten -uten4i -4u1t2i -uti5liz -u3tine -ut3ing -ution5a -u4tis -5u5tiz -u4t1l -ut5of -uto5g -uto5matic -u5ton -u4tou -uts4 -u3u -uu4m -u1v2 -uxu3 -uz4e -1va -5va. -2v1a4b -vac5il -vac3u -vag4 -va4ge -va5lie -val5o -val1u -va5mo -va5niz -va5pi -var5ied -3vat -4ve. -4ved -veg3 -v3el. -vel3li -ve4lo -v4ely -ven3om -v5enue -v4erd -5vere. -v4erel -v3eren -ver5enc -v4eres -ver3ie -vermi4n -3verse -ver3th -v4e2s -4ves. -ves4te -ve4te -vet3er -ve4ty -vi5ali -5vian -5vide. -5vided -4v3iden -5vides -5vidi -v3if -vi5gn -vik4 -2vil -5vilit -v3i3liz -v1in -4vi4na -v2inc -vin5d -4ving -vio3l -v3io4r -vi1ou -vi4p -vi5ro -vis3it -vi3so -vi3su -4viti -vit3r -4vity -3viv -5vo. -voi4 -3vok -vo4la -v5ole -5volt -3volv -vom5i -vor5ab -vori4 -vo4ry -vo4ta -4votee -4vv4 -v4y -w5abl -2wac -wa5ger -wag5o -wait5 -w5al. -wam4 -war4t -was4t -wa1te -wa5ver -w1b -wea5rie -weath3 -wed4n -weet3 -wee5v -wel4l -w1er -west3 -w3ev -whi4 -wi2 -wil2 -will5in -win4de -win4g -wir4 -3wise -with3 -wiz5 -w4k -wl4es -wl3in -w4no -1wo2 -wom1 -wo5ven -w5p -wra4 -wri4 -writa4 -w3sh -ws4l -ws4pe -w5s4t -4wt -wy4 -x1a -xac5e -x4ago -xam3 -x4ap -xas5 -x3c2 -x1e -xe4cuto -x2ed -xer4i -xe5ro -x1h -xhi2 -xhil5 -xhu4 -x3i -xi5a -xi5c -xi5di -x4ime -xi5miz -x3o -x4ob -x3p -xpan4d -xpecto5 -xpe3d -x1t2 -x3ti -x1u -xu3a -xx4 -y5ac -3yar4 -y5at -y1b -y1c -y2ce -yc5er -y3ch -ych4e -ycom4 -ycot4 -y1d -y5ee -y1er -y4erf -yes4 -ye4t -y5gi -4y3h -y1i -y3la -ylla5bl -y3lo -y5lu -ymbol5 -yme4 -ympa3 -yn3chr -yn5d -yn5g -yn5ic -5ynx -y1o4 -yo5d -y4o5g -yom4 -yo5net -y4ons -y4os -y4ped -yper5 -yp3i -y3po -y4poc -yp2ta -y5pu -yra5m -yr5ia -y3ro -yr4r -ys4c -y3s2e -ys3ica -ys3io -3ysis -y4so -yss4 -ys1t -ys3ta -ysur4 -y3thin -yt3ic -y1w -za1 -z5a2b -zar2 -4zb -2ze -ze4n -ze4p -z1er -ze3ro -zet4 -2z1i -z4il -z4is -5zl -4zm -1zo -zo4m -zo5ol -zte4 -4z1z2 -z4zy -} -\hyphenation{ % Do NOT make any alterations to this list! --- DEK -as-so-ciate -as-so-ciates -dec-li-na-tion -oblig-a-tory -phil-an-thropic -present -presents -project -projects -reci-procity -re-cog-ni-zance -ref-or-ma-tion -ret-ri-bu-tion -ta-ble -} \ No newline at end of file diff --git a/macros/inrstex/inrstex/inrs.scr b/macros/inrstex/inrstex/inrs.scr deleted file mode 100644 index c25ef7a79a..0000000000 --- a/macros/inrstex/inrstex/inrs.scr +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# -# INRSTeX -# -if [ $# = 1 ]; then - jobname=`/usr/bin/basename $1 .tex` - # rename auxiliary files -- see writunix.tex - /bin/mv $jobname.tag $jobname.tag~ 2>/dev/null - /bin/mv $jobname.toc $jobname.toc~ 2>/dev/null - /bin/mv $jobname.fig $jobname.fig~ 2>/dev/null - /bin/mv $jobname.tbl $jobname.tbl~ 2>/dev/null -fi -exec /usr/lib/tex/inrstex $* diff --git a/macros/inrstex/inrstex/inrsdef.tex b/macros/inrstex/inrstex/inrsdef.tex deleted file mode 100644 index db1e81346d..0000000000 --- a/macros/inrstex/inrstex/inrsdef.tex +++ /dev/null @@ -1,256 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ======== Cautions ========= -% If some moduels of INRSTeX are not used, some of these defaults will -% NOT be defined. - -% This file has most of the default values in plain.tex and inrstex. -% The parameters that are not modified from plain are % -- out. - -% ======== Plain.tex parameters ... set in plain and initex ==== - -% All of TeX's numeric parameters are listed here, -% Most are untouched from plain.tex but some are indeed modified. -% The order is not the same as in plain.tex - -% These parameters are actually changed. - -\widowpenalty = 400 % needs to be more than 100 -\clubpenalty = 800 % needs to be more than 100 - -% None of the values below are actually changed. They are included for -% information ... and possibly future modifcations. - -% --- Penalties --- - -% \displaywidowpenalty=50 -% \brokenpenalty=100 -% \predisplaypenalty=10000 -% \postdisplaypenalty=0 -% \interlinepenalty=0 -% \interdisplaylinepenalty=100 -% \interfootnotelinepenalty=100 - -% \pretolerance=100 -% \tolerance=200 % INITEX sets this to 10000 -% \hbadness=1000 -% \vbadness=1000 -% \linepenalty=10 -% \hyphenpenalty=50 -% \exhyphenpenalty=50 -% \binoppenalty=700 -% \relpenalty=500 -% \floatingpenalty=0, set during \insert -% \outputpenalty=0, set before TeX enters \output -% \doublehyphendemerits=10000 -% \finalhyphendemerits=5000 -% \adjdemerits=10000 - -% ---- paragraph control ---- -% \looseness=0, cleared by TeX after each paragraph -% \uchyph=1 -% \parindent=20pt -% \hangindent=0pt, zeroed by TeX after each paragraph -% \baselineskip=0pt, changed by \normalbaselines -% \lineskip=0pt, changed by \normalbaselines -% \parskip=0pt plus 1pt -% \parfillskip=0pt plus 1fil -% \normalbaselineskip=12pt -% \normallineskip=1pt -% \normallineskiplimit=0pt - -% ----- Sizes/overfull boxes ---- -% \hfuzz=0.1pt % ... \finalversion mod -% \vfuzz=0.1pt % ... \finalversion mod -% \overfullrule=5pt % ... \finalversion mod -% \hsize=6.5in % ... pagsty.tex and inrsdef.tex -% \vsize=8.9in % ... pagsty.tex and inrsdef.tex -% \maxdepth=4pt -% \splitmaxdepth=\maxdimen -% \boxmaxdepth=\maxdimen -% \lineskiplimit=0pt, changed by \normalbaselines -% \leftskip=0pt -% \rightskip=0pt -% \topskip=10pt -% \splittopskip=10pt - - -% ------- Internal Math parms ----- -% \delimitershortfall=5pt -% \nulldelimiterspace=1.2pt -% \scriptspace=0.5pt -% \mathsurround=0pt -% \thinmuskip=3mu -% \medmuskip=4mu plus 2mu minus 4mu -% \thickmuskip=5mu plus 5mu -% \jot=3pt - -% ---- Display Math Spacing ---- -% \predisplaysize=0pt, set before TeX enters $$ -% \displaywidth=0pt, set before TeX enters $$ -% \displayindent=0pt, set before TeX enters $$ -% \abovedisplayskip=12pt plus 3pt minus 9pt -% \abovedisplayshortskip=0pt plus 3pt -% \belowdisplayskip=12pt plus 3pt minus 9pt -% \belowdisplayshortskip=7pt plus 3pt minus 4pt - - -% \hoffset=0pt % not used in INRSTeX -% \voffset=0pt % not used in INRSTeX - -% \tabskip=0pt -% \spaceskip=0pt -% \xspaceskip=0pt - -% ------ Vertical Spacing ----- -% \smallskipamount=3pt plus 1pt minus 1pt -% \medskipamount=6pt plus 2pt minus 2pt -% \bigskipamount=12pt plus 4pt minus 4pt - -% ------ Debugging/Misc ----- -% \pausing=0 -% \tracingonline=0 -% \tracingmacros=0 -% \tracingstats=0 -% \tracingparagraphs=0 -% \tracingpages=0 -% \tracingoutput=0 -% \tracinglostchars=1 -% \tracingcommands=0 -% \tracingrestores=0 -% \globaldefs=0 -% \maxdeadcycles=25 % INITEX does this -% \hangafter=1 % INITEX does this, also TeX after each paragraph -% \fam=0 -% \mag=1000 % INITEX does this -% \escapechar=`\\ % INITEX does this -% \defaulthyphenchar=`\- -% \defaultskewchar=-1 -% \endlinechar=`\^^M % INITEX does this -% \newlinechar=-1 -% \delimiterfactor=901 -% \time=now % TeX does this at beginning of job -% \day=now % TeX does this at beginning of job -% \month=now % TeX does this at beginning of job -% \year=now % TeX does this at beginning of job -% \showboxbreadth=5 -% \showboxdepth=3 - - -% ========= Defaults specific to INRSTeX ========== - -% ====== Baselineskip spacings ========= - -\def\normalbaselineskipsize{2.8ex \normalbaselineskipglue} -\def\normalbaselineskipglue{plus .07ex minus .07ex} -\def\normallineskipform{\lineskip 1pt \lineskiplimit 0pt} - - -% ====== Turns off slicing rules for Versatec ======= -\let\ptrule=\relax -\let\prule=\relax - -% ====== Paper Sizes and Margins ======== -\hpapersize= 8.5in -\vpapersize= 11in -\topmarginsize = 1in -\leftmarginsize= 1.25in - - -% ======== Chapter/Section default forms ===== -\nochaptertrue % defaults to not chapters -\chnum=0 \def\chnumform{\the\chnum} -\shnum=0 \def\shnumform{\the\shnum} -\sshnum=0 \def\sshnumform{\the\sshnum} -\ssshnum=0 \def\ssshnumform{\the\ssshnum} - -% the periods between the numbers and the orders are defined in -% \numberbychapter and \numberbysection - -% ======== Single/Multicolumn ======== -\numcolumns =1 -\firstcolumnoffset= 0pt -\intercolumnsep = {\hskip 2em} %intercolumn spacing default - -% ========= Set Default Spacings ========== -% The spacings in INRSTeX are all relative to a font. This means that a -% change in font family requires a change in these spacings. - -\newtoks\everysetspacings % this is a way to modify a few font dependent spacings - -\def\setspacings{% ==== section head spacing defaults ===== - \prsheadskip= 6ex plus 2ex minus 2ex - \posheadskip= 2ex - \prssheadskip= 5ex plus 1.8ex minus 1.8ex - \possheadskip= 2ex - \prsssheadskip= 3ex plus 1ex minus 1ex - \posssheadskip= 2ex - \prdsssheadskip= 3ex plus 1ex minus 1ex - \podsssheadskip= 2ex - \relax % interitem spacing in table of contents, figure list ... are - \relax % directly in the macros ... - \righttocindent = 5em % righthand indent for number in tocbox - \relax % =========== list spacing parameters ===== - \prlistskip= 2ex plus 3pt minus 2pt - \prsublistskip = 1ex plus 2pt minus 1pt - \prsubsublistskip = .5ex plus 1pt minus 1pt - \polistskip= 2ex plus 1pt minus 1pt - \posublistskip= 1ex plus 1pt minus 1pt - \posubsublistskip= .5ex plus 1pt minus 1pt - \listitemskip = 2ex plus 1pt minus 1pt - \sublistitemskip =1ex plus .75pt minus .75pt - \subsublistitemskip = .5ex plus .5pt minus .5pt - \listindent = 3em - \sublistindent = 6em - \subsublistindent = 9em - \listitemmarksize = 1.5em - \relax %======= Caption box spacing ======= - \captionskip = 2ex % spacing between a figure/table and caption - \the\everysetspacings - } -% note \setspacings is called when the style default sets a document font - - - -% ========== Toc Out Forms =========== -% These are the default forms for writing to a toc file. - -\def\shtocout{\string\shtoc} -\def\sshtocout{\string\sshtoc} -\def\ssshtocout{\string\ssshtoc} -\def\dssshtocout{\string\dssshtoc} -\def\chtocout{\string\chtoc} -\def\prtocout{\string\prtoc} -\def\figtocout{\string\figtoc} -\def\tbltocout{\string\tbltoc} - -% ========== Auto referencing default ======= -\autoreferencetrue % autonumbering is not default true ... no \refs .. no - % effect - -% ============ Captionbox Defaults ========= -\topcaptionfalse -\def\captiontextfraction{0.8} -\captionbodyon - -% ============ Title Spacing/Width ========== -\def\titlefraction{0.9} -\def\titlespacing{1.5} - -% ====== Plain \magnification change ====== -\let\magnification=\mag - -% ============ Tagging/Reference ======= -\pagetagsoff % default is the pagetags off -- more efficient. - -% =========== Allows Figures to be Silent ======== -\silentfigurefalse % defaults to non silent figures - -%======== style defaults -\paperstyle -\englishversion -\draftversion - - diff --git a/macros/inrstex/inrstex/inrsfncm.tex b/macros/inrstex/inrstex/inrsfncm.tex deleted file mode 100644 index ec91701a96..0000000000 --- a/macros/inrstex/inrstex/inrsfncm.tex +++ /dev/null @@ -1,350 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. -% This file now uses cm fonts where available. - - -% ======= INRS Fonts ======== -% This file adds the fonts used in INRSTeX. It also adds the spacing -% related to these fonts. The important section is the definitions of -% the font families. The intent is to produce a font family with all -% related fonts. In the same manner as the TeXbook, \tenpoint indicates -% the 10pt family and \rm would be a Roman font in that family. The -% additions here are the special fonts for section heads, footnotes, ... -% The section head fonts, for example \sheadfont is changed only if -% the font family is called within the command \documentstyle. This -% means that it is possible to change the font internal to a -% document without disturbing the appearance of the section heads or -% page numbering. - -% In addition to this file, there is an spfont.tex. This file allows for -% the scaling of a font family. The basic family is \tenpoint. It can be -% scaled to the extent that there exist scaled printable forms of the font. - -% ======= ADDITIONAL FONTS IN INRSTEX ========== - -% =====special fonts ======== -\font\tendu = cmdunh10 -%\font\inchhigh=cminch -%\font\fortysc=cmsc40 -%\font\fortypen=pen40 -%\font\fortypeni=peni40 -%\font\thirtysc=cmsc30 -%\font\twentysc=cmsc20 -%\font\twentyfourozub=ozub24 %OCR types -%\font\twentyfourozuh=ozuh24 % ocr hollow -%\font\twentynaro = cmnaro - -% ===== twenty one point ======= -\font\twentyonermsca = cmr10 scaled 2074 - - - -% ===== eighteen point ======= -\font\eighteenrm= cmr17 % no eighteen point font in cm -\font\eighteenrmsca = cmr10 scaled 1728 -%\font\eighteenark = ark18 % hands and pencils -%\font\eighteenbbb = bbb18 % ?????? -%\font\eighteenpen = pen18 % pen script like font -%\font\eighteenpeni = peni18 % pen script like font - -% ===== fourteenpoint fonts ===== -\font\fourteenrmsca = cmr10 scaled 1440 -\font\fourteenbfxsca = cmbx10 scaled 1440 - - -% ===== twelvepoint fonts -\font\twelverm= cmr12 -\font\twelvermsca = cmr10 scaled 1200 -\font\twelvebfxsca = cmbx10 scaled 1200 -\let\twelvebf=\twelvebfxsca -\font\twelvess = cmss12 -\font\twelvessb= cmssbx10 scaled 1200 -\font\twelveit = cmti12 -\font\twelvei = cmmi12 -\font\twelvesl = cmsl12 -\font\twelvesy = cmsy10 scaled 1200 % no 12point symbol -\font\twelvett = cmtt12 -\font\twelvesc = cmcsc10 scaled 1200 % no 12point form -\let\sanss = \twelvess -\let\sanssb= \tenss -\let\twelveex=\tenex - -% ======= tenpoint fonts not in plain.tex ======= -\font\tenss = cmss10 -\font\tenssb = cmssbx10 % -\font\tencsc = cmcsc10 % caps and small caps -\font\tenu=cmu10 % unslanted text italic -\font\tenbfx = cmbx10 -\font\tenbfy = cmbsy10 %bold math symbols? - - -% ======== smaller fonts not in plain.tex ======== -\font\ninerm=cmr9 -\font\eightrm=cmr8 -\font\sixrm=cmr6 - -\font\ninei=cmmi9 -\font\eighti=cmmi8 -\font\sixi=cmmi6 -\skewchar\ninei='177 \skewchar\eighti='177 \skewchar\sixi='177 - -\font\ninesy=cmsy9 -\font\eightsy=cmsy8 -\font\sixsy=cmsy6 -\skewchar\ninesy='60 \skewchar\eightsy='60 \skewchar\sixsy='60 - -\font\eightss=cmssq8 - -\font\eightssi=cmssqi8 - -\font\ninebfx=cmbx9 -\font\eightbfx=cmbx8 -\let\sevenbfx = \sevenbf % defined in plain as cmbx7 -\font\sixbfx=cmbx6 -\let\fivebfx = \fivebf % defined in plain as cmbx5 - -\font\ninett=cmtt9 -\font\eighttt=cmtt8 - -\hyphenchar\tentt=-1 % inhibit hyphenation in typewriter type -\hyphenchar\twelvett=-1 -\hyphenchar\ninett=-1 -\hyphenchar\eighttt=-1 - -\font\ninesl=cmsl9 -\font\eightsl=cmsl8 - -\font\nineit=cmti9 -\font\eightit=cmti8 -\font\sevenit= cmti7 - -% =========== margin note/version font =========== -\let\notefont = \eighttt - -% ============ THE FONT FAMILIES =========== - -% ============= <....>point families ============= -% \pointsize and \documentpointsize are the point sizes of the -% present and document point sizes. -% resets the default spacing - -\newskip\ttglue -\def\twelvepoint{\def\pointsize{twelve}% - \def\rm{\fam0\twelverm}% - \textfont0=\twelverm \scriptfont0=\tenrm \scriptscriptfont0=\sevenrm - \textfont1=\twelvei \scriptfont1=\teni \scriptscriptfont1=\seveni - \textfont2=\twelvesy \scriptfont2=\tensy \scriptscriptfont2=\sevensy - \textfont3=\twelveex \scriptfont3=\twelveex \scriptscriptfont3=\twelveex - \def\it{\fam\itfam\twelveit}% - \textfont\itfam=\twelveit - \def\sl{\fam\slfam\twelvesl}% - \textfont\slfam=\twelvesl - \def\bf{\fam\bffam\twelvebfxsca}% - \textfont\bffam=\twelvebfxsca \scriptfont\bffam=\tenbf - \scriptscriptfont\bffam=\sevenbfx - \def\tt{\fam\ttfam\twelvett}% - \textfont\ttfam=\twelvett \scriptfont\ttfam=\tentt - \tt \ttglue=.5em plus .25em minus .15em - \normalbaselines\rm % now so resets are ok. - \setstrut - \ifd@ocsty \def\documentpointsize{twelve}% - \let\footerfont =\twelveit - \let\headerfont=\twelveit - \let\footnotefont = \tenpoint - \let\smallerfont = \tenpoint - \let\cheadfont = \twentyonermsca - \let\sheadfont=\fourteenbfxsca - \let\ssheadfont=\twelvebfxsca - \let\sssheadfont=\twelvebfxsca - \let\dsssheadfont=\twelvebfxsca - \let\captionnumfont=\twelvebfxsca - \let\captiontitlefont=\relax - \let\captionbodyfont=\relax - \let\eqnumfont=\rm - \setspacings\fi - \let\bigfont = \fourteenrmsca - \let\biggfont = \eighteenrmsca - \let\bigggfont = \twentyonermsca - \let\titlefont = \bigggfont - \let\sc=\tenrm - } - - -% ======= elevenpoint fonts not in plain.tex ======= - -\font\elevenssb = cmssbx10 scaled 1095 % no ss bold -\font\elevencsc = cmcsc10 scaled 1095 % caps and small caps -\font\elevenbfx = cmbx10 scaled 1095 % bold wide -\font\elevenbfy = cmbsy10 scaled 1095 %bold math symbols? - -% ===== elevenpoint fonts -\font\elevenrm= cmr10 scaled 1095 -\font\elevenrmsca = cmr10 scaled 1095 -\font\elevenbf = cmb10 scaled 1095 -\font\elevenbfxsca = cmbx10 scaled 1095 -\font\elevenss = cmss10 scaled 1095 -\font\elevenit = cmti10 scaled 1095 -\font\eleveni = cmmi10 scaled 1095 -\font\elevensl = cmsl10 scaled 1095 -\font\elevensy = cmsy10 scaled 1095 -\font\eleventt = cmtt10 scaled 1095 -\font\elevensc = cmcsc10 scaled 1095 -\let\sanss = \elevenss - -\let\elevenex=\tenex - - -\def\elevenpoint{\def\pointsize{eleven}% - \def\rm{\fam0\elevenrm}% - \textfont0=\elevenrm \scriptfont0=\eightrm \scriptscriptfont0=\sixrm - \textfont1=\eleveni \scriptfont1=\eighti \scriptscriptfont1=\sixi - \textfont2=\elevensy \scriptfont2=\eightsy \scriptscriptfont2=\sixsy - \textfont3=\elevenex \scriptfont3=\elevenex \scriptscriptfont3=\elevenex - \def\it{\fam\itfam\elevenit}% - \textfont\itfam=\elevenit - \def\sl{\fam\slfam\elevensl}% - \textfont\slfam=\elevensl - \def\bf{\fam\bffam\elevenbf}% - \textfont\bffam=\elevenbf \scriptfont\bffam=\eightbfx - \scriptscriptfont\bffam=\sixbfx - \def\tt{\fam\ttfam\eleventt}% - \textfont\ttfam=\eleventt \scriptfont\ttfam=\tentt - \tt \ttglue=.5em plus .25em minus .15em - \normalbaselines\rm % now so resets are ok. - \setstrut - \ifd@ocsty \def\documentpointsize{eleven}% - \let\footerfont=\elevenit - \let\headerfont=\elevenit - \let\footnotefont = \ninepoint - \let\smallerfont = \ninepoint - \let\cheadfont = \eighteenrmsca - \let\sheadfont=\fourteenbfxsca - \let\ssheadfont=\elevenbfxsca - \let\sssheadfont=\elevenbfxsca - \let\dsssheadfont=\elevenbfxsca - \let\captionnumfont=\elevenbfxsca - \let\captiontitlefont=\relax - \let\captionbodyfont=\relax - \let\eqnumfont=\rm - \setspacings\fi - \let\bigfont = \twelvermsca - \let\biggfont = \fourteenrmsca - \let\bigggfont = \eighteenrmsca - \let\titlefont = \bigggfont - \let\sc=\ninerm - } - - -\def\tenpoint{\def\pointsize{ten}\def\rm{\fam0\tenrm}% - \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm - \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei - \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy - \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex - \def\it{\fam\itfam\tenit}% - \textfont\itfam=\tenit - \def\sl{\fam\slfam\tensl}% - \textfont\slfam=\tensl - \def\bf{\fam\bffam\tenbfx}% - \textfont\bffam=\tenbfx \scriptfont\bffam=\sevenbfx - \scriptscriptfont\bffam=\fivebfx - \def\tt{\fam\ttfam\tentt}% - \textfont\ttfam=\tentt - \tt \ttglue=.5em plus .25em minus .15em - \normalbaselines\rm - \setstrut - \ifd@ocsty \def\documentpointsize{ten}\let\footerfont =\tenit - \let\headerfont=\tenit - \let\footnotefont = \eightpoint - \let\smallerfont = \eightpoint - \let\cheadfont = \eighteenrm - \let\sheadfont=\twelvebfxsca - \let\ssheadfont=\tenbfx - \let\sssheadfont=\tenbfx - \let\dsssheadfont=\tenbfx - \let\captionnumfont=\tenbfx - \let\captiontitlefont=\relax - \let\captionbodyfont=\relax - \let\eqnumfont=\rm - \setspacings\fi - \let\bigfont = \twelvermsca - \let\biggfont = \fourteenrmsca - \let\bigggfont = \eighteenrmsca - \let\titlefont = \bigggfont - \let\sc=\eightrm } - -\def\ninepoint{\def\pointsize{nine}\def\rm{\fam0\ninerm}% - \textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm - \textfont1=\ninei \scriptfont1=\sixi \scriptscriptfont1=\fivei - \textfont2=\ninesy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy - \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex - \def\it{\fam\itfam\nineit}% - \textfont\itfam=\nineit - \def\sl{\fam\slfam\ninesl}% - \textfont\slfam=\ninesl - \def\bf{\fam\bffam\ninebfx}% - \textfont\bffam=\ninebfx \scriptfont\bffam=\sixbfx - \scriptscriptfont\bffam=\fivebfx - \def\tt{\fam\ttfam\ninett}% - \textfont\ttfam=\ninett - \tt \ttglue=.5em plus .25em minus .15em - \normalbaselines\rm - \setstrut - \ifd@ocsty \def\documentpointsize{nine}\let\footerfont =\nineit - \let\headerfont=\nineit - \let\footnotefont = \eightpoint - \let\smallerfont = \eightpoint - \let\cheadfont = \eighteenrm - \let\sheadfont=\tenbfx - \let\ssheadfont=\tenbfx - \let\sssheadfont=\tenbfx - \let\dsssheadfont=\tenbfx - \let\captionnumfont=\tenbfx - \let\captiontitlefont=\relax - \let\captionbodyfont=\relax - \let\eqnumfont=\rm - \setspacings\fi - \let\bigfont = \twelvermsca - \let\biggfont = \fourteenrmsca - \let\bigggfont = \eighteenrm - \let\titlefont = \bigggfont - \let\sc=\sevenrm } - - -\def\eightpoint{\def\pointsize{eight}\def\rm{\fam0\eightrm}% - \textfont0=\eightrm \scriptfont0=\fiverm \scriptscriptfont0=\fiverm - \textfont1=\eighti \scriptfont1=\fivei \scriptscriptfont1=\fivei - \textfont2=\eightsy \scriptfont2=\fivesy \scriptscriptfont2=\fivesy - \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex - \def\it{\fam\itfam\eightit}% - \textfont\itfam=\eightit - \def\sl{\fam\slfam\eightsl}% - \textfont\slfam=\eightsl - \def\bf{\fam\bffam\eightbfx}% - \textfont\bffam=\eightbfx \scriptfont\bffam=\fivebfx - \scriptscriptfont\bffam=\fivebfx - \def\tt{\fam\ttfam\eighttt}% - \textfont\ttfam=\eighttt - \tt \ttglue=.5em plus .25em minus .15em - \normalbaselines\rm - \setstrut - \ifd@ocsty \def\documentpointsize{eight}\let\footerfont =\eightit - \let\headerfont=\eightit - \let\footnotefont = \eightpoint - \let\smallerfont = \eightpoint - \let\cheadfont = \fourteenrmsca - \let\sheadfont=\eightbfx - \let\ssheadfont=\eightbfx - \let\sssheadfont=\eightbfx - \let\dsssheadfont=\eightbfx - \let\captionnumfont=\eightbfx - \let\captiontitlefont=\relax - \let\captionbodyfont=\relax - \let\eqnumfont=\rm - \setspacings\fi - \let\bigfont = \tenrm - \let\biggfont = \twelverm - \let\bigggfont = \fourteenrmsca - \let\titlefont = \bigggfont - \let\sc=\sevenrm } - diff --git a/macros/inrstex/inrstex/inrstex.tex b/macros/inrstex/inrstex/inrstex.tex deleted file mode 100644 index d3e0c1c8cc..0000000000 --- a/macros/inrstex/inrstex/inrstex.tex +++ /dev/null @@ -1,560 +0,0 @@ -% POSTSCRIPT VERSION --- AFFECTS GRAPHICS AND OUTPUT ROUTINE -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. -% Version Aug. 1991 -% ---- TeX 3 version ---- - -% Those items that are modified for different styles are indicated in -% each section. - - -\input plain_nh - -% for TeX 3.+, hyphenation tables can be inserted in a format file only -% once. This means that both plain.tex rather than an old plain.fmt file -% must be used to create a new format file. plain_nh.tex is plain.tex with -% No Hyphenation (NH). - -% This is a cm font version ... now. - -% COMMENT: INRSTeX has been designed to allow for considerable variation -% in the style of a document. This ranges from default spacing, fonts, -% formats of section heads, and headers and footers. The changes for -% a style involves the changes of the defaults in "inrsdef.tex", document -% "am" fonts in "inrsfont.tex" or "cm" fonts in inrsfncm.tex. -% The definitions of header and footer text is -% generally found in the various "xxsty.tex" files. These are incomplete -% in the sense that only those changes to the defaults in "inrsdef.tex" -% are actually done. Two examples are given, \paperstyle in "papersty.tex" -% and \bookstyle in "booksty.tex". -% - -% Those items that are modified for different styles are indicated in -% each section. - -\catcode`@= 11 % need to use some plain macros - -%======= Additional active Characters =========== -% ALL ACTIVE CHARACTERS MUST BE DECLARED AND DEFINED AT THE VERY -% BEGINNING OR THERE IS A DANGER OF INCORRECT TOKENIZATION -% ======== THESE ARE USED IN THE TABLE MACROS ========= -\message{<< Additional Active Characters >>} -\catcode`\|= \active -\def|{\ifmmode \vert\else \char`\|\fi} % effectively undoes activeness -\def\q@m{\string"} -\catcode`\"=\active \def"{\writeterm{<<< use `` or '' instead of \q@m >>>}{ - }{}\char`\"} -%=== these are redefined inside the table macros ===== - - -% ========= INRSTeX Utilities ========= -% These are generally needed for good health. They include -% Houskeeping Macros -% Single/Multicolumn Page Eject and Insert Control -% Miscellaneous Paragraph Shape Macros -% Year/Month/Day -% New Boxit -% Number Format Conversion Forms - - -%************************** -\input inrsutil.tex -%************************** - - -% ======== Extended Character Set(s) for Special Terminals ======= -% The proper catcodes for the extended characters need to go in before the -% patterns are loaded. - -% ************************* - \ifundefined{charsubdef} - \message{ << Loading Extended Character Set -- TeX 3.+ >>} - \input extdef3 - \else - \message{ << Loading Extended Character Set -- MLTeX 3.+ >>} - \input extdef - \fi - \message { << Setting Parameters for TeX 3.+ >> } - \emergencystretch =10pt - \lefthyphenmin=2 - \righthyphenmin=3 - \newcount\dischyph % to effectively disable dischyph in mltex -% ************************* - - - - -% ======= Input Hyphenation patterns ======= -% hyphenation for all languages are in the same file or accessed from it -% TeX 3 will not allow \patterns to be reopened once it has been closed. - - \input masthyph - - -% ====== Multiple Language Support ======== -% This may be done without bilingual TeX but is better done with it. -% These macros define an \englishversion and a \versionfrancaise. -% INRSTeX messages come in either English or French depending -% upon the value of \language. If \language is not yet defined, a -% \newcount is used to define it. -% THIS MUST NOT BE CALLED BEFORE THE HYPHENATION PATTERNS ARE LOADED. - -%************************** -\input multlang.tex -%************************** - - -% ====== Basic Line Spacing ========= -% The basic line spacing in a font is assumed to be scaled according to the -% ex height of the font. This is perhaps not the aesthetically best but -% does allow consistent line spacing commands. The four basic commands are -% \normalbaselines (redefined from plain), -% \normalbaselineskipsize, \spacing, and \setstrut. - -% ------- Defaults ... inrsdef.tex ----- -% \def\normalbaselineskipsize{2.8ex \normalbaselineskipglue} -% \def\normalbaselineskipglue{plus .07ex minus .07ex} -% \def\normallineskipform{\lineskip 1pt \lineskiplimit 0pt} - - -%************************** -\input linespac.tex -%************************** - - - -% ===== additional FONTS ========== -% The new fonts and font families are read in from the file "inrsfont.tex" -% These are read in by initex. -% This font list should define the font families. At the very least it must -% define fonts for the logical font names used in INRSTEX. These are - %\notefont {usually \eighttt} ... foor version and margin notes. - %\footerfont - %\headerfont - %\footnotefont {should be a font family} - %\smallerfont {should be a font family} - %\cheadfont - %\sheadfont - %\ssheadfont - %\sssheadfont - %\dsssheadfont - %\captionnumfont - %\captiontextfont - %\eqnumfont - %\bigfont - %\biggfont - %\bigggfont - %\titlefont - -% The various \..head.. fonts are used in the \shead etc -% The \footnotefont is used in footnotes and is a family -% \titlefont is used in \title -% The other fonts are for convenience. - -% INRSTeX has the notion of a Document font. This allows for local changes in -% the font without messing up the sizes of the sectionheads, headers, footers -% etc. A font change inside a \documentstyle will cause the document font -% to change. - -%************************** -%\input inrsfont.tex %am fonts -\input inrsfncm.tex % cm fonts -%************************** - - - -% ====== Marginnotes, Final and Draft Version ======= -% INRSTeX's output routine supports two main versions of a document, a -% "final version" and a "draft version". The "draft version" collects \refs -% and \cites in a margin box at the right of a page. In addition it puts on -% black marks for overfull lines and "Draft Version: <date> " at the -% bottom of the page. - -% If plain.tex output is to be used, "margform.tex" by "margform.pla" -% This will destroy all indications of \finalversion \draftversion - -%************************** -\input margform.tex -%************************** - - - - -% =========== Document Styles, Page Numbering and Page Sizes ====== -% These are the macros for setting page sizes and the various flags -% the header/footer styles. This is only used with "inrsout.tex" - -% ---- Defaults ... set in xxxsty.tex or inrsdef.tex ------- -% Examples from "booksty.tex" -% \vheadersize -% \vfootersize -% \headertext -% \specialheadertext -% \footertext -% \specialfootertext -% \hpapersize -% \vpapersize -% \vouterpagesize -% \houterpagesize -% \topmargin -% \leftmargin - - - -%************************** -\input pagsty.tex -%************************** - - - - -%======== Multicolumn format =========== -% These macros invoke multicolumnformat including balancing columns. - -% ---- Defaults ... set in inrsdef.tex -% \numcolumns -% \firstcolumnoffset -% \intercolumnsep - - -%************************** -\input multicol.tex -%************************** - - - -% ======== INRSTeX Single/Multi Column Output Routine ======== -% This is the entire output routine for INRSTeX. It does both single and -% Multicolumn since there is a rather large repetition to do otherwise. - -%************************** -\input out_ps.tex -%************************** - - - -%========= Autonumbering, Tagging and Autoreferencing ========= - -% These macros give the facility to symbolically refer to sections, equations, -% tables, and references and to automatically number them. -% Autonumber, automatically numbers sections, equations, .... -% Autoreferencing, causes \ref{tag} to drop the tag-value in the text. -% Autonumber and autoreference both true will cause tags to be generated. -% Although it is possible to have only autonumbering, referring to -% sections or other parts is quite difficult without referencing - -% ---- Defaults ... set in inrsdef.tex ----- -% \autoreferencetrue -% \autonumberfalse ... default when created -% \def\Prerefform{} \def\Postrefform ... in auto - -%************************** -\input auto.tex -%************************** - - -% ============ Tag Generation ========== -% These are the macros that generate the actual tags. They are used in -% automatic equation numbering, section heads and any \auto...num{tag} form. - -% ------ Defaults .... set in inrsdef.tex or xxxsty.tex --- -% \undeftagmessage ... set in "english.tex" or "francais.tex" - - -%************************** -\input tag.tex -%************************** - - -% ========== Equation Tags =========== -% Since equation numbering plays a big part in scientific documentation -% a special set of tag generation forms were produced for this case. - -% ------ Defaults .... set in inrsfont.tex ----- -% \eqnumfont - - -%************************** -\input eqtag.tex -%************************** - - - - -% ===== Citation generation ========== -% \cite is used with a journal/paper reference. -% The forms allow both random input order of cite forms or -% fixed order. At the moment it supports only IEEE form, ie -% a list in the order of therir occurrence in a paper. -% A data base system using a mailbox would be much better. - - - -%************************** -\input cite.tex -%************************** - - - -% ========== Section, Chapter Headings =========== -% These macros have several parts, -% -- Counter allocation and numbering styles for autonumber -% -- The format of the heading. -% -- The writing of a list file for automatic table of contents. -% -- The referencing in the text ... ie reference number styles. - -% -------- Defaults ... inrsdef.tex, inrsfont.tex, xxxsty.tex ---- -% -% \chnum=0 \def\chnumform{\the\chnum} ... inrsdef.tex -% \shnum=0 \def\shnumform{\the\shnum} ... inrsdef.tex -% \sshnum=0 \def\sshnumform{\the\sshnum} ... inrsdef.tex -% \ssshnum=0 \def\ssshnumform{\the\ssshnum} ... inrsdef.tex -% \def\chtagrefformat{\chnumform} ... secthead.tex -% \def\chtagreplaceformat{\Chapter \chtagrefformat} .. secthead.tex -% \prsheadskip= 6ex plus 2ex minus 2ex ... inrsdef.tex -% \posheadskip= 2ex ... inrsdef.tex -% \prssheadskip= 5ex plus 1.8ex minus 1.8ex ... inrsdef.tex -% \possheadskip= 2ex ... inrsdef.tex -% \prsssheadskip= 3ex plus 1ex minus 1ex ... inrsdef.tex -% \posssheadskip= 2ex ... inrsdef.tex -% \prdsssheadskip= 3ex plus 1ex minus 1ex ... inrsdef.tex -% \podsssheadskip= 2ex ... inrsdef.tex -% -% \gensheadformat#1#2#3#4 ... secthead.tex ... for major format -% surgery. -% -% \nochaptertrue ... inrsdef.tex -% \def\Chapter ... english.tex or francais.tex -% \cheadformat#1#2 ... secthead.tex -% \def\chapterstartform{} ... secthead.tex and xxxsty.tex - - -%************************** -\input secthead.tex -%************************** - - -%============ Preface/Prelude macros =========== -% this is the first of the environment macros. The problem, among others is -% that the headers, footers, pagenumbering, etc are different in preface of -% the document than elsewhere. - -% ---- Defaults ... prelhead.tex or xxxsty.tex -% \preludeheadformat#1 ... prelhead.tex - -%************************** -\input prelhead.tex -%************************** - - - -% =========== Appendices ============== -% Appendices are defined by using \shead invocations. -% Appendices are assumed to be associated with chapters, if -% they exist hence the first appendix in Chapter 2 is Appendix A. -% These macros modify the numberforms of \shead to produce Apendices. -% The "appendix head" is an \shead with a different numberform. - -% ------- Defaults ------ -% \def\Appendix ... english.tex or francais.tex - -%************************** -\input appendix.tex -%************************** - - - -% ========== List Files ========= -% General macros for making, open and closing "list' files. These are files -% where the form output includes a page reference. They are named with a -% three letter extension ... eg ".fig" ... to the \jobname form. - -%************************** -\input writfile.tex -%************************** - - - -% ======== Table of Contents, Figures, and Tables -- Examples ====== -% The "list" file is written using \writelistfile and the \shtoc ... -% are used to create the actual table of contents, figures, tables. -% Extensions to other forms should be obvious. - -% ----- Defaults ---- -% \righttocindent ... inrsdef.tex -% \tocfill ... tocform.tex ... dot form for toc list. -% tocfonts ... tocform.tex ... in actual \figtoc etc - -%************************** -\input tocform.tex -%************************** - - - - - -%======== List macros ========== -% there is only one kind of list in this system, namely on that is -% right justified in the particular box that the list appears -% extensions may be made to include a center - -% ----- Defaults ... inrsdef.tex ----- -% \prlistskip= 2ex plus 3pt minus 2pt -% \prsublistskip = 1ex plus 2pt minus 1pt -% \prsubsublistskip = .5ex plus 1pt minus 1pt -% \polistskip= 2ex plus 1pt minus 1pt -% \posublistskip= 1ex plus 1pt minus 1pt -% \posubsublistskip= .5ex plus 1pt minus 1pt - -% \listitemskip = 2ex plus 1pt minus 1pt -% \sublistitemskip =1ex plus .75pt minus .75pt -% \subsublistitemskip = .5ex plus .5pt minus .5pt - -% \listindent = 3em -% \sublistindent = 6em -% \subsublistindent = 9em -% \listitemmarksize = 1.5em - -%************************** -\input lists.tex -%************************** - - - -%=========== Footnotes ---- similar to that in the texbook ====== - -% ------ Defaults -------- -% \footnotefont ... family in inrsfont.tex -% \skip\footins ... footnote.tex -% \count\footins ... plain.tex -% \dimen\footins ... footnote.tex -% \footnoterule ... inrsout.tex - - -%************************** -\input footnote.tex -%************************** - - - -%========= ABSTRACT/TITLE ======= -% These generate a centered abstract in the \smallerfont of a family -% and define the \title macro - -% ------ Defaults ------ -% \absindent ... inrsdef.tex abstract indentation -% \ABSTRACT ... english.tex or francais.tex -% \titlemessage ... english.tex of francais.tex -% \titlefont ... inrsfont.tex -% \titlefraction ... inrsdef.tex -% \titlespacing ... inrsdef.tex - -%************************** -\input abstract.tex -%************************** - - -% ========== Captioned Table/Figure Forms and Inserts ========= -% Insert Forms - -% ----- Defaults ----- -% \captiontextfraction ... inrsdef.tex -% \captionskip ... inrsdef.tex -% \topcaptiontrue or \topcaptionfalse ... inrsdef.tex -% \figurelabel or \figlabel ... english.tex or francais.tex -% \tablelabel or \tbllabel ... english.tex or francais.tex -% \captionnumfont ... inrsfont.tex -% \captiontitlefont ... inrsfont.tex -% \captionbodyfont ... inrsfont.tex -% \captionbodyon <off> ... inrsdef.tex -% \silentfigurefalse - -%************************** -\input genins.tex -%************************** - - -% ============ Table Making Forms ============ - -%************************** -\input tables.tex -%************************** - - - -%========= Verbatim or NoFill Style ======== -% The verbatim form is not part of the INRSTeX format file. -% The following brings in the verbatim macros and redefines \beginttverbatim - -\def\beginttverbatim{\input verbatim\relax} - - -%========== Special styles =============== -%----- Special Document Styles/Forms ------- -% INRSTeX learns of the existence of special document styles or forms -% from specform.tex - -%************************** -\input specform.tex -%************************** - - - -%======== Multiple part documents -- subdocuments ======= -% documents may be broken down to the chapter or section level - -%************************** -\input subdoc.tex -%************************** - - - - - -% ============ TeXGraphics Support ============= -% TeXGraphics uses \specials, assumes POSTSCRIPT and assumes a driver -% equivalent to the INRS modified version of Beebe's dvialw. - -%************************** -\input graph_ps.tex -%************************** - - - - - - -% ======== Bugs/Modifications to Plain ===== - -%************************** -\input plainmod.tex -%************************** - - - -% ====== INRSTeX defaults .... in addition to Plain .... -%************************** -\input inrsdef.tex -%************************** - - -% =========== modifications for MSDOS usage ============ - -% for Unix systems replace the \input writdos by - - \message{Input Unix write.file form} - \input writunix - -% invoke inrstex with the shell script -% inrsunix.sh ... appropriately modified - - -%\message{Input DOS write/file form} - -%\input writdos - - -\catcode`@=12 % puts at back to a non letter - -\def\fmtname{INRSTeX-Bilingual-PostScript}\def\fmtversion{3.1} - diff --git a/macros/inrstex/inrstex/inrsunix.sh b/macros/inrstex/inrstex/inrsunix.sh deleted file mode 100644 index dd1f48d528..0000000000 --- a/macros/inrstex/inrstex/inrsunix.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# -# INRSTeX -# -if [ $# = 1 ]; then - jobname=`/usr/bin/basename $1 .tex` - # rename auxiliary files -- see writunix.tex - /bin/mv $jobname.tag $jobname.tag~ 2>/dev/null - /bin/mv $jobname.toc $jobname.toc~ 2>/dev/null - /bin/mv $jobname.fig $jobname.fig~ 2>/dev/null - /bin/mv $jobname.tbl $jobname.tbl~ 2>/dev/null -fi -exec /usr/users/u1/mike/inrstex/virtex_mlb '&/usr/users/u1/mike/inrstex/inrs3_mlb' $* - \ No newline at end of file diff --git a/macros/inrstex/inrstex/inrsutil.tex b/macros/inrstex/inrstex/inrsutil.tex deleted file mode 100644 index d687ee7092..0000000000 --- a/macros/inrstex/inrstex/inrsutil.tex +++ /dev/null @@ -1,164 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ======== INRSTeX Utilities ====== - - -% ========= Houskeeping Utilities ========= - -% These are houskeeping utilities and should be kept. They will most likely -% not interfere with any other commands. - -\newif\ifsilent \silentfalse % defaults to not quiet ... used in \a@utonum - -\def\silent#1{\setbox0=\hbox{#1}} % causes #1 to be silently expanded - -% ----- #1 break penalty , #2 skip amount -\def\penaltybreak#1#2{\par\ifdim\lastskip<#2 - \removelastskip\penalty #1\vskip #2 \fi} - -% ------ advances only the dimension part of a glue statement -% must be of form \a@dvance #1 by #2 where #2 is a dimension - % coerces glue to be a dimen -\def\a@dvance #1#2{\dimen0 = #1\relax - \advance #1 by -\dimen0\relax - \advance #1 by #2\relax} - - -%------- appends a second token list onto a first one ---- -%#1 token list #2 token list #1 is resulting name -% used in creating autonumbers -\def\appendtoks#1#2{ \edef\next{\noexpand #1 = {\the#1 \the#2} } - \next} - -%---------- non outer allocations same as in plain --------- -\def\n@ewcount{\alloc@0\count\countdef\insc@unt} -\let\n@ewtoks=\relax % we do this to allow inrs.tex to be read in twice -\def\n@ewtoks{\alloc@5\toks\toksdef\@cclvi} -\def\n@ewwrite{\alloc@7\write\chardef\sixt@@n} -\def\n@ewswitch#1{\expandafter\let\csname if#1\endcsname\relax - \toks@{\iftrue}% - \expandafter\edef\csname#1true\endcsname - {\let\csname if#1\endcsname=\the\toks@}% - \toks@{\iffalse}% - \expandafter\edef\csname#1false\endcsname - {\let\csname if#1\endcsname=\the\toks@}% - \csname#1false\endcsname} % the switch starts out false - - -% --- undefined command check --- 7.7 from the texbook -\def\ifundefined#1{\expandafter\ifx\csname #1\endcsname\relax} % needs \fi to end - -% ------ Input a file. If it does not exist, treat it as a null file. -% #1 file name. -\def\inputwithcheck#1{\edef\i@wc{#1}\openin1=\i@wc\relax - \ifeof1 - \closein1 - \else - \closein1 - \input \i@wc \relax - \fi} - -% \writeterm -% ----------- Write to the terminal -------- -% Format is similar to \writelistfile. Its main claim is that -% it removes ugly \cr and ~ that might lead to problems. -% #1#2#3 the three arguments are concatenated in the output text. -\def\writeterm#1#2#3{{\def\cr{ }\def~{ }\immediate\write32{#1#2#3}}} - - -% ======= Single/Multicolumn Page Eject and Insert Control ====== -% "\end..." is only used in conjunction with a matched "\begin... -% However "\end" has not been redefined. - -\def\ejectcolumn{\par\vfill\eject} -\let\ejectpage=\ejectcolumn -\def\superejectpage{\par\vfill\supereject} -\def\done{\superejectpage\end} % to be modified -\def\ejectinsert{\ifnum\insertpenalties>0 \null\ejectcolumn\ejectinsert\fi} -\let\ejectinserts=\ejectinsert % historical error - - -% ========= Miscellaneous Paragraph Shape Macros ========= - -% ---- a symmetric narrowing of the page ---- -\newtoks\everynarrowtext - -\def\beginnarrowtext #1 {\par - \begingroup - \advance\leftskip by #1\relax - \advance\rightskip by #1\relax - \the\everynarrowtext} -\def\endnarrowtext {\par \endgroup} - - -% ----- centers lines in paragraph --------- -% This is used in Titles ... - -\def\paragraphcenterline{\advance\rightskip by 0pt plus 1fill - \advance\leftskip by - 0pt plus 1fill \def\cr{\par}\parindent = 0pt} - - -% --- a very ragged right ... will suppress all hyphenation for title/sections -\def\veryraggedright{\advance\rightskip by 0pt plus 1fil\relax} - -%----- linebreak in horizontal mode -\def\linebreak{\hfil\break} - -% ========= Half quad ========== -\def\hquad{\hskip .5em} - - -% ========= Year/Month/Day ========= -% This is used in the Output Routine -% --- form for version -\def\date{\the\year/\the\month/\the\day} -\def\version{Version: \date} - -% =========== New Boxit ============= - -% --- puts rules around the outside of a box -% #1 line thickness, #2 border separation #3 box -\long\def\boxit#1#2#3{\vbox{\dimen0=#1 \dimen2=#2 \hrule height \dimen0 - \hbox{\vrule width\dimen0 \hskip\dimen2\vbox{\vskip \dimen2 - \vbox{#3} - \vskip \dimen2}\hskip - \dimen2 \vrule width\dimen0} - \hrule height \dimen0}} - - -% ============== Number Format Conversion Forms ============= - -% ------ This gives an uppercase alphabetic form for a number ---- -% There should be an easier way! - -\def\Alphabetic#1{\ifcase #1\or A\or B\or C\or D\or E\or - F\or G\or H\or I\or J\or - K\or L\or M\or N\or O\or - P\or Q\or R\or S\or T\or - U\or V\or W\or X\or Y\or - Z\else #1\fi} - -\def\alphabetic#1{\ifcase #1\or a\or b\or c\or d\or e\or - f\or g\or h\or i\or j\or - k\or l\or m\or n\or o\or - p\or q\or r\or s\or t\or - u\or v\or w\or x\or y\or - z\else #1\fi} - -% ------ This does the same for roman numerals --- from TeXbook -\def\UpperRoman#1{\uppercase\expandafter{\romannumeral #1}} - - -% ========= These are dangerous macros that easily allow for loss of @ -% protection ========= - -% ======= general protect/unprotect ======= -\def\protect{\catcode`\@=12} -\def\unprotect{\catcode`@=11} - -% ======= Activate/deactivate ========= -\def\activate{\catcode`\"=\active \catcode`\|=\active} -\def\deactivate{\catcode`\"=12 \catcode`\|=12} diff --git a/macros/inrstex/inrstex/linespac.tex b/macros/inrstex/inrstex/linespac.tex deleted file mode 100644 index b8486bc456..0000000000 --- a/macros/inrstex/inrstex/linespac.tex +++ /dev/null @@ -1,33 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ====== Basic Line Spacing ========= -% The basic line spacing in a font is assumed to be scaled according to the -% ex height of the font. This is perhaps not the aesthetically best but -% does allow consistent line spacing commands. The four basic commands are -% \normalbaselines, \normalbaselineskipsize, \spacing, and \setstrut. - - -\def\normalbaselines{\baselineskip \normalbaselineskipsize - \normallineskipform} - -% ----- sets interline spacing in terms of normalbaselines ------ -% does not change baseline glue. -\def\spacing#1{\setbox0=\vbox{\vskip \normalbaselineskipsize}\baselineskip - #1\ht0 \normalbaselineskipglue - \normallineskipform} - - -% ----- a single line spacing strut ------- -% Set at current baselineskip size -\def\setstrut{\setbox0=\vbox{\vskip\normalbaselineskipsize}\setbox\strutbox= - \hbox{\vrule height .72\ht0 depth .28\ht0 width\z@}} - -% --- The default forms must also be set -- They are shown below but -% are actually set in inrsdef.tex - -% \def\normalbaselineskipsize{2.8ex \normalbaselineskipglue} -% \def\normalbaselineskipglue{plus .07ex minus .07ex} -% \def\normallineskipform{\lineskip 1pt \lineskiplimit 0pt} - diff --git a/macros/inrstex/inrstex/lists.tex b/macros/inrstex/inrstex/lists.tex deleted file mode 100644 index 777d34793f..0000000000 --- a/macros/inrstex/inrstex/lists.tex +++ /dev/null @@ -1,135 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -%======== List macros ========== -% there is only one kind of list in this system, namely on that is -% right justified in the particular box that the list appears -% extensions may be made to include a center -% These list macros work relative to \rightskip and \leftskip defined -% outside the lists. In addition, they preserve the glue that already -% exists in \rightskip and \leftskip - -% the actual skip values are set in inrsdef.tex - -\newskip\prlistskip %\prlistskip= 2ex plus 3pt minus 2pt -\newskip\prsublistskip %\prsublistskip = 1ex plus 2pt minus 1pt -\newskip\prsubsublistskip %\prsubsublistskip = .5ex plus 1pt minus 1pt - -\newskip\polistskip %\polistskip= 2ex plus 1pt minus 1pt -\newskip\posublistskip %\posublistskip= 1ex plus 1pt minus 1pt -\newskip\posubsublistskip %\posubsublistskip= .5ex plus 1pt minus 1pt - -\newskip\listitemskip %\listitemskip = 2ex plus 1pt minus 1pt -\newskip\sublistitemskip %\sublistitemskip =1ex plus .75pt minus .75pt -\newskip\subsublistitemskip %\subsublistitemskip = .5ex plus .5pt minus .5pt - -\newskip\l@istitemskip - -\newdimen\listindent %\listindent = 3em -\newdimen\sublistindent %\sublistindent = 6em -\newdimen\subsublistindent %\subsublistindent = 9em -\newdimen\listitemmarksize %\listitemmarksize = 1.5em - -\newtoks\everylist -\newtoks\everysublist -\newtoks\everysubsublist -\newtoks\e@verylist -\newtoks\e@verysublist -\newtoks\e@verysubsublist - -\newif\iff@irstli % allows first li to set list parameters - - -% t@ightenlist will cause the list item spacing to drop to #1 of its -% original value - -%------ scales a skip .... makes plus glue .1 of skip, minus .1 ---- -% #1 is the skip, #2 is the scale -\def\s@caleskip#1#2{\setbox0=\hbox{\hskip#1} - \dimen0=.1\wd0 \dimen2=.1\wd0 - #1 = #2\wd0 plus #2\dimen0 minus #2\dimen2} - - -\def\t@ightenlist#1{\s@caleskip{\listitemskip}{#1} - \s@caleskip{\sublistitemskip}{#1} - \s@caleskip{\subsublistitemskip}{#1}} -\def\tightenlist{\t@ightenlist{.5}} -\def\loosenlist{\t@ightenlist{2}} - -%sample list mark .... used for creating lists where the listitem -%mark size may be big or varied. -% This is one of the most useful features of this list package. - -\def\samplemark#1{\setbox0 = \hbox{#1\enspace} - \advance \listindent by -\listitemmarksize - \advance \sublistindent by -\listitemmarksize - \advance \subsublistindent by -\listitemmarksize - \listitemmarksize=\wd0 - \advance \listindent by \listitemmarksize - \advance \sublistindent by \listitemmarksize - \advance \subsublistindent by \listitemmarksize} - -%beginlist takes arbitrary parameters that affect the whole list such -% as font changes ... they are local to the list and will be undone by -% the endlist -\newcount\l@iststate \l@iststate=0 % 0 -- outside lists , 1 in list, 2 sublist ... - -%#1 - liststate, #2 - break value, #3 - listskip -\newif\ifo@utsidelist \o@utsidelisttrue -\newdimen\leftlistoffset -\newdimen\rightlistoffset -\def\b@eginlist #1#2#3{\par\penaltybreak{#2}{#3}\begingroup\parskip=0pt - \normalbaselines - \f@irstlitrue - \ifo@utsidelist \rightlistoffset =\rightskip - \leftlistoffset=\leftskip \o@utsidelistfalse\fi - \the\b@@el\the\b@el\l@iststate=#1} - -%\def\endlistmessage#1{<< endlist mismatch --- expected \the\l@iststate : -% actual #1 >> } see english/french titles ... #2 .. skip #3= penalty -\def\e@ndlist #1#2#3{\par \removelastskip - \ifnum \l@iststate = #1 \else \message{\endlistmessage{#1}} \fi - \endgroup \penaltybreak{#3}{#2}} -% The first list item actually sets the list parameters. This allows for -% changes in at the beginning of a list in listitem indent and spacing. -\def\s@etlistparms{\iff@irstli \n@ewlistparms - \advance\l@istindent by \leftlistoffset - \a@dvance{\leftskip}{\l@istindent}\f@irstlifalse - \fi} -\def\n@ewlistparms{\ifcase\l@iststate - \or \let\l@istindent =\listindent - \let\l@istitemskip = \listitemskip - \or \let\l@istindent =\sublistindent - \let\l@istitemskip = \sublistitemskip - \or \let\l@istindent =\subsublistindent - \let\l@istitemskip = \subsublistitemskip \fi} - -% #1 = itemskip #2 = leftindent #3= item flag -\def\listitem#1 {\par - \penaltybreak{-50}{\l@istitemskip}\s@etlistparms - \setbox0=\hbox{#1\enspace\hss} - \ifdim\wd0 < \listitemmarksize \wd0= \listitemmarksize \fi - \noindent\hskip -\listitemmarksize - \box0\relax} -\def\beginlist {\let\b@@el=\e@verylist\let\b@el=\everylist - \b@eginlist{1}{0}{\prlistskip}} -\def\beginsublist {\let\b@@el=\e@verysublist\let\b@el=\everysublist - \b@eginlist{2}{100}{\prsublistskip}} -\def\beginsubsublist {\let\b@@el=\e@verysubsublist\let\b@el=\everysubsublist - \b@eginlist{3}{200}{\prsubsublistskip}} - - -\def\endlist {\e@ndlist{1}{\polistskip}{-200}} -\def\endsublist {\e@ndlist{2}{\posublistskip}{-100}} -\def\endsubsublist {\e@ndlist{3}{\posubsublistskip}{-50}} - -% ----- These are official short forms for the various items ----- - -\let\li =\listitem -\let\bl =\beginlist -\let\bsl=\beginsublist -\let\bssl=\beginsubsublist -\let\el=\endlist -\let\esl = \endsublist -\let\essl = \endsubsublist diff --git a/macros/inrstex/inrstex/margform.tex b/macros/inrstex/inrstex/margform.tex deleted file mode 100644 index 8205fd7597..0000000000 --- a/macros/inrstex/inrstex/margform.tex +++ /dev/null @@ -1,35 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ========= Margin Box ========= -% A margin insert (box) is used to collect reference/citation values -% If a non INRSTeX output routine is used, it is necessary to remove -% the \newinsert\m@arginbox, \dimen\m@arginbox and \count\m@arginbox. -% In addition a \def\proofmargin#1{} should be inserted. -% This information could be written out to a file rather than -% printing it on the page. - - -% ----- margin notes ------ - -\newinsert\m@arginbox -\dimen\m@arginbox = 8in -\count\m@arginbox = 0 - -\newdimen\h@marginboxsize \h@marginboxsize = 1.5in -\def\margin#1{\gdef\m@ext{\insert\m@arginbox{\vskip - 1ex\hbox{\notefont\quad#1}}}\ifinner - \aftergroup\m@ext \else \m@ext \fi} -% --- margin notes will completely disappear if \marginnotesfalse, -% \proofmargin is redefined or \finalversion is in force. - -\newif\ifmarginnotes -\def\proofmargin#1{\xdef\p@ff{#1}\ifmarginnotes\margin{\p@ff}\fi} - -%------ General Style switches -------- - -\newif\ifproofmode \proofmodetrue % defaults to proofmode -\def\draftversion{\proofmodetrue \marginnotestrue \overfullrule = 5pt} -\def\finalversion{\proofmodefalse \marginnotesfalse \overfullrule = 0pt} - diff --git a/macros/inrstex/inrstex/masthyph.tex b/macros/inrstex/inrstex/masthyph.tex deleted file mode 100644 index c5139c037a..0000000000 --- a/macros/inrstex/inrstex/masthyph.tex +++ /dev/null @@ -1,59 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ======== Master Multilingual Pattern Inputs ====== - -% This file defines the changes in the \lccodes needed for Multilingual TeX -% and then inputs the patterns for English and French. - -% =========== Special lccodes and hyphenation for Bilingual Version ==== - - -\gdef\accenthyphcodes{ -\def\oe{^^[} % \oe -\def\i{^^P} -\def\'##1{\csname @ac@##1\endcsname} -\def\`##1{\csname @gr@##1\endcsname} -\def\v##1{\csname @v@##1\endcsname} -\let\^^_=\v -\def\u##1{\csname @u@##1\endcsname} -\let\^^S=\u -\def\=##1{\csname @eq@##1\endcsname} -\def\^##1{\csname @hat@##1\endcsname} -\let\^^D=\^ -\def\.##1{\csname @dot@##1\endcsname} -\def\H##1{\csname @H@##1\endcsname} -\def\~##1{\csname @til@##1\endcsname} -\def\"##1{\csname @um@##1\endcsname} -\let\c@@=\c -\def\c##1{\csname c@##1\endcsname} -} - -\gdef\spechyphcodes{} - - - -% ======== Pattern Input / English and French ====== - -% english hyphenation patterns -\begingroup -\language=0 -\input enhyph \relax -\endgroup - -% french hyphenation patterns -\begingroup -\language=1 -\input frhyph \relax -\endgroup - -% english hyphenation exceptions -\begingroup -\language=0 -\input enhyphex \relax -\endgroup - -% ======= definitions for fast eng/fr hyphenation ===== -\def\ehyph{\language=0 \lccode`\'=0 \nonfrenchspacing} -\def\fhyph{\language=1 \lccode`\'=`\'\frenchspacing} \ No newline at end of file diff --git a/macros/inrstex/inrstex/multicol.tex b/macros/inrstex/inrstex/multicol.tex deleted file mode 100644 index 1d4e9d96ed..0000000000 --- a/macros/inrstex/inrstex/multicol.tex +++ /dev/null @@ -1,62 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -%======== Multicolumn format =========== -% These macros invoke multicolumnformat including balancing columns. - - - -\newcount\numcolumns %\numcolumns =1 -\newdimen\firstcolumnoffset %\firstcolumnoffset= 0pt -\newtoks\intercolumnsep %\intercolumnsep = {\hskip 2em} - - -%--- check the remaining page height and set switch -\newbox\m@ulticolumnbox % accumulates multicolumn pages -\newbox\t@opmultibox \newbox\testtop -\newbox\topmulticolumnbox % user available box --- spans entire page -\newbox\botmulticolumnbox % user available box --- spans entire page -\newbox\b@otmultibox \newbox\testbot -\newdimen\multicolpageshortfall \multicolpageshortfall = 1cm -\newcount\m@ultistate \m@ultistate = 0 % 1 is just into multicolumn - % 2 is just out of multicolumn -\newcount\c@urrentcolumn \c@urrentcolumn = 1 -\def\currentcolumnnum{\the\c@urrentcolumn } - -\def\numberofcolumns{\c@urrentcolumn = 1 \afterassignment\c@omputehsize \numcolumns } -\newtoks\everymulticolumnformat -\newtoks\e@verymulticolumnformat -\def\beginmulticolumnformat{\global\m@ultistate = 1 - \hrule height 0pt depth0pt % to force eject - \eject \begingroup - \def\ejectpage{\ejectcolumn\null - \loop \relax - \ifnum \c@urrentcolumn < \numcolumns - \ejectcolumn\null - \advance\c@urrentcolumn by 1 \relax - \repeat } - \the\e@verymulticolumnformat - \the\everymulticolumnformat } - -\newdimen\b@alancevsize \b@alancevsize=\vinnerpagesize -\newif\ifb@alance -\def\balancecolumnsize {\global\b@alancetrue \global\b@alancevsize} - -\def\a@ddbalcomp{\dimen0=\pagetotal %natural residual - \count255=\c@urrentcolumn \advance\count255 by -1 \relax - \dimen2 = \vcolumnsize - \multiply\dimen2 by \count255 - \advance\dimen0 by \dimen2 - \divide\dimen0 by \numcolumns - \message{ <<Estimated Balanced Column Size : \the\dimen0 >> } - \advance\dimen0 by -\b@alancevsize - \message{ <<Estimated Addition: \the\dimen0 >> } - } -\def\endmulticolumnformat{\global\m@ultistate =2 \relax - \a@ddbalcomp \ifb@alance\par\eject\else\ejectcolumn \fi - \endgroup \numberofcolumns =1 - \ifdim\vsize<\vinnerpagesize\relax - \hrule height0ptdepth0pt\fi } - % checks to see if new page - diff --git a/macros/inrstex/inrstex/multlang.tex b/macros/inrstex/inrstex/multlang.tex deleted file mode 100644 index d392568de3..0000000000 --- a/macros/inrstex/inrstex/multlang.tex +++ /dev/null @@ -1,26 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ====== Multiple Language Support ========= -% This is done via an internal change to TeX itself or through the -% introduction of a counter called \language. If Bilingual TeX exists, -% then \language has been defined. - -\ifundefined{language} \n@ewcount\language \language=0 \fi - -\def\englishversion{\input english \relax} -\def\versionfrancaise{\input francais \relax} - - - -%======= are some commands for << and >> in French ====== -% ======== can be made neater when we modify fonts -% \newcount\language % ..... this is necessary if NOT running Multilingual TeX -\language = 0 % 0-english 1-french ... -\def\d@qf{\raise .5ex\hbox{$\scriptscriptstyle{\langle\!\langle}$}\kern.25em} -\def\g@qf{\kern.25em\raise .5ex\hbox{$\scriptscriptstyle{\rangle\!\rangle}$}} -\def\ldq{\ifcase\language - \lq\lq \else\d@qf\fi} %changes < into `` in english -\def\rdq{\ifcase\language - \rq\rq\else\g@qf\fi} %changes > into '' in english \ No newline at end of file diff --git a/macros/inrstex/inrstex/out_ps.tex b/macros/inrstex/inrstex/out_ps.tex deleted file mode 100644 index 7bb12e215d..0000000000 --- a/macros/inrstex/inrstex/out_ps.tex +++ /dev/null @@ -1,169 +0,0 @@ -\catcode`@=11 -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% Fix on \firstcolumnoffset 11 May 87 ... MJF - - -% Compensate for 1 inch standard print offsets Sept. 1991 ... ugh! -\newdimen \hprintoffset -\newdimen \vprintoffset -\hprintoffset=1in -\vprintoffset=1in - - -% Postscript version with arbitrary page scaling/rotation - -% ======== INRSTeX Single/Multi Column Output Routine ======== -% This is the entire output routine for INRSTeX. It does both single and -% Multicolumn since there is a rather large repetition to do otherwise. - - - -%====== Debugging rules ======= -% These can be turned on to outline the page -%\def\testhrule{\hrule} -\let\testhrule = \relax -%\def\testvrule{\vrule} -\let\testvrule =\relax - - -% ====== single/multicolumn output routine - - - - -\def\tmessage#1{} -\output{\m@ultipleoutput} -\def\m@ultipleoutput{\tmessage{Multiout - ms:\the\m@ultistate- cc:\the\c@urrentcolumn - nc:\the\numcolumns} - \ifcase\m@ultistate % 0 - only state where shipout allowed - \addcolumn{\pagecontents}\relax - \global\advance\c@urrentcolumn by 1 \relax - \ifnum\c@urrentcolumn > \numcolumns - \finaloutput % in normal state - \fi - \or \s@etuprempage % 1 - into - always go this way - \or - \addcolumn{\pagecontents}\relax - \s@etuprempage % 2 - outof - clean up the current col and store - \fi - } - - -\def\s@etuprempage{ \global\setbox\t@opmultibox = - \vbox{\boxmaxdepth 0pt \offinterlineskip - \ifvoid\t@opmultibox \else \unvbox\t@opmultibox \fi - \ifvoid\topmulticolumnbox \else \unvbox\topmulticolumnbox\fi - \ifvoid\topins \else \unvbox\topins \fi - \ifcase\m@ultistate - \tmessage{TeX System Error - misplaced multistate -- \the\pageno} - \or \ifvoid255 \else \unvbox255 \fi % top of pag - \or \ifvoid\m@ulticolumnbox - \else \box\m@ulticolumnbox - \fi % multicol part page - \fi} - \global\setbox\b@otmultibox = - \vbox{ \boxmaxdepth \maxdepth \offinterlineskip - \ifvoid\footins - \else \vskip\skip\footins - \footnoterule - \unvbox\footins - \fi - \ifvoid\botmulticolumnbox - \else \unvbox\botmulticolumnbox - \fi} - \ifb@alance \advance\parskip by 0pt plus 0pt minus 0pt \fi - \ifnum\m@ultistate=2 - \global\b@alancevsize=\vinnerpagesize - \global\numcolumns = 1 - \global\b@alancefalse - \fi - \c@omputevsize - \tmessage{Rempage: ms:\the\m@ultistate- ip:\the\vinnerpagesize- hc:\the\vcolumnsize- - cc:\the\c@urrentcolumn- nc:\the\numcolumns} - \global\c@urrentcolumn= 1\global\m@ultistate=0 - \ifnum\vcolumnsize<\multicolpageshortfall \finaloutput \fi - } - - -\def\twoperpage{\xdef\l@page{0}\def\topPS{\ifnum\l@page=0 - \special{ps:: /EOP {} bdf gsave 576 0 translate 90 - rotate .7 .7 scale }\else - \special{ps:: /EOP {} bdf gsave 576 396 translate 90 - rotate .7 .7 scale }\fi } -\def\botPS{\ifnum\l@page=0 - \special{ps:: grestore }\xdef\l@page{1} - \else - \special{ps:: grestore showpage }\xdef\l@page{0}\fi } -\let\d@one=\done \def\done{\ejectpage\ifnum\l@page=1 \finalversion - \fullpagestyle \line{} \fi - \d@one}} - - -\newif\ifpageps \pagepsfalse - -\def\topPS{\ifpageps \t@opsc \fi} -\def\botPS{\ifpageps \b@otsc \fi} - -\def\showpage{showpage } -\def\pagescale htr:#1 vtr:#2 d:#3 hsc:#4 vsc:#5 { - \xdef\t@opsc{\special{ps:: /EOP {} bdf - gsave #1 #2 translate #3 rotate #4 #5 scale }} - \xdef\b@otsc{\special{ps:: grestore \showpage }}\global\pagepstrue } -\def\finaloutput{\shipout - \hbox{\topPS\leftmarginskip \hskip -\hprintoffset - \vbox to \vpapersize{\offinterlineskip % but boxes together - \vskip -\vprintoffset - \topmarginskip\testhrule - \m@akeheadertext\testhrule - \hbox{\hskip \firstcolumnoffset \relax \pagebody}\testhrule - \m@akefootertext\testhrule - \vfill - \ifproofmode \vbox to 0pt{\boxmaxdepth 0pt \vss - \hbox{\qquad \versionform}} \fi - \vfill - \vss}\botPS} - \tmessage{Final Out: ms:\the\m@ultistate- cc:\the\c@urrentcolumn- nc:\the\numcolumns} - \ifp@agenoadv \advancepageno \fi - \global\p@agenoadvtrue - \global\h@eadertype=\d@ocumentheader % default header style - \global\f@ootertype=\d@ocumentfooter % default footer style - \c@omputevsize - \ifb@alance \advance\parskip by 0pt plus 0pt minus 0pt \fi - \ifnum\outputpenalty>-\@MM \else\dosupereject\fi - \global\c@urrentcolumn = 1 \global\m@ultistate=0} - -\def\addcolumn#1{\tmessage{addcol: ms:\the\m@ultistate- cc:\the\c@urrentcolumn- - nc:\the\numcolumns} - \global\setbox\m@ulticolumnbox = - \hbox{\ifvoid\m@ulticolumnbox - \else\unhbox\m@ulticolumnbox\the\intercolumnsep \fi - \testvrule\hbox to \hcolumnsize{\vbox to - \vcolumnsize{\boxmaxdepth\maxdepth #1}\hss}\testvrule} - } - -\newbox\i@nnerpagebox -\def\pagebody{\setbox\i@nnerpagebox = \vbox to\vinnerpagesize{\boxmaxdepth\maxdepth\offinterlineskip - \ifvoid\t@opmultibox \else\unvbox\t@opmultibox \fi - \ifvoid\m@ulticolumnbox \else\box\m@ulticolumnbox \fi - \ifvoid\b@otmultibox\else\unvbox\b@otmultibox \fi}\relax - \setbox2= \vbox to - \vinnerpagesize{\hsize\h@marginboxsize - \vskip 1cm - \unvbox\m@arginbox - \vss}\relax - \hbox{\box\i@nnerpagebox\box2}} - - -\def\pagecontents{\ifvoid\topins\else\unvbox\topins\fi - \unvbox\@cclv % open up \box255 - \ifvoid\footins\else % footnote info is present - \vfill - \vskip\skip\footins - \footnoterule - \unvbox\footins\fi - \ifr@ggedbottom\vfil\fi} - -\def\footnoterule{\kern-3\p@ - \hrule width .2\hcolumnsize \kern 2.6\p@} % the \hrule is .4pt high diff --git a/macros/inrstex/inrstex/pagsty.tex b/macros/inrstex/inrstex/pagsty.tex deleted file mode 100644 index 6eb11e719e..0000000000 --- a/macros/inrstex/inrstex/pagsty.tex +++ /dev/null @@ -1,177 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% =========== Document Styles, Page Numbering and Page Sizes ====== -% These are the macros for setting page sizes nad the various flags -% the header/footer styles - - - -% ============== Document Style ============= -% Such things as page sizes, header/footer fonts headers and footers should -% be active for an entire document. \documentstyle is defined so that the -% correct switches are in force to control the document. In addition -% a \setpagesizes causes any page size changes to be made. - -\newif\ifd@ocsty % switch for document style - -\def\documentstyle#1{\d@ocstytrue - #1\setpagesizes\d@ocstyfalse} -% this is not done inside a group because the various assignments cannot be -% defined global - -% The switch \d@ocsty is used in to control the locality of the -% various page styles. - - - - - -%====== page numbering ========== -\newif\ifp@agenoadv % determines whether to advance the page number -\def\nopagenumberadvance{\p@agenoadvfalse} % lasts for one page -\p@agenoadvtrue % defaults to advanceing on first page -\def\n@egpagno{\global\multiply\pageno by -1 \relax} -\def\romanpagenumber{\afterassignment\n@egpagno \global\pageno } -\def\pagenumber{\global\pageno } - - - - - - -% ===== Macros for setting page sizes ====== -% Pages involve margins, headers, footers, and column sizes. -% These set the styles and flags for single and multicolumn. - -% ======= dimensions for pages headers etc ====== -% the simple output fixes the header and footer size but allows -% for the header and footer to be killed as required. -\newdimen\hpapersize %\hpapersize= 8.5in -\newdimen\vpapersize %\vpapersize= 11.5in -\newdimen\vouterpagesize -\newdimen\houterpagesize -\newdimen\vinnerpagesize -\newdimen\hinnerpagesize -\newdimen\hcolumnsize -\newdimen\vcolumnsize -\newdimen\topmarginsize -\newdimen\leftmarginsize -\newdimen\vheadersize -\newdimen\vfootersize - -% ===== Historical compatibilities ===== -\let\leftmargin=\leftmarginsize -\let\topmargin=\topmarginsize - -% ===== Margin Macros ====== -\def\leftmarginskip{\hskip \leftmarginsize} -\def\topmarginskip{\vskip \topmarginsize} - -%======= page style forms ====== - -\newcount\p@agetype \p@agetype=2 %normal ... not used -\newcount\h@eadertype \h@eadertype=2 %normal -\newcount\f@ootertype \f@ootertype=2 %normal - - -% ----- General forms for multicolumn ------- -\def\c@ompvinnersize{\dimen0 = \vouterpagesize - \ifcase\h@eadertype \relax % delete header - \else \advance \dimen0 by -\vheadersize \fi - \ifcase\f@ootertype \relax % delete footer - \else \advance\dimen0 by -\vfootersize \fi - \global\vinnerpagesize = \dimen0 - \ifb@alance \global\vcolumnsize = \b@alancevsize - \else - \advance\dimen0 by -\ht\t@opmultibox - \advance\dimen0 by -\ht\b@otmultibox \relax -\tmessage{Vcolsize - vc:\the\dimen0 - vt:\the\ht\t@opmultibox - vb:\the\ht\b@otmultibox - bs:\the\b@alancevsize - } - \global\vcolumnsize=\dimen0 - \fi} - -\def\s@etvsize{\global\vsize=\vcolumnsize} - -% columnsize = (hinnerpagsize - (numcols-1)intercol)/numcol - -\def\c@omphinnersize{\dimen0 = \houterpagesize - \advance\dimen0 by -\firstcolumnoffset - \advance\dimen0 by -\firstcolumnoffset \relax - \global\hinnerpagesize = \dimen0} - -\def\s@ethsize{\setbox0=\hbox{\the\intercolumnsep} - \dimen0= \numcolumns\wd0 %\the\dimen0 - \advance\dimen0 by -\wd0 %\the\dimen0 - \dimen2 = \hinnerpagesize %\the\dimen2 - \advance\dimen2 by -\dimen0 %\the\dimen0 - \divide\dimen2 by \numcolumns \relax - \global\hcolumnsize = \dimen2 - \global\hsize = \hcolumnsize} -\def\c@omputevsize{\c@ompvinnersize\s@etvsize} -\def\c@omputehsize{\c@omphinnersize\s@ethsize} -\def\setpagesizes{\c@omputevsize \c@omputehsize} - - - -% ==== headers, footers, pagestyles ======== - - -\newtoks\h@eaderline \newtoks\headertext \newtoks\specialheadertext -\long\def\h@eaderform {\vbox to \vheadersize - {\hsize\houterpagesize \headerfont - \testhrule - \the\h@eaderline\par\vfil\testhrule}\relax} - -\newtoks\f@ooterline \newtoks\footertext \newtoks\specialfootertext -\long\def\f@ooterform{ \vbox to \vfootersize - {\hsize\houterpagesize \footerfont - \testhrule - \vfil - \the\f@ooterline\par\testhrule}\relax} -\def\m@akeheadertext{\ifcase\h@eadertype \relax % deleted - \or \vskip \vheadersize % blanked - \or \let\h@eaderline = \headertext \h@eaderform - \or \let\h@eaderline = \specialheadertext - \h@eaderform \fi - } -\def\m@akefootertext{\ifcase\f@ootertype \relax % deleted - \or \vskip \vfootersize % blanked - \or \let\f@ooterline=\footertext \f@ooterform - \or \let\f@ooterline=\specialfootertext - \f@ooterform \fi - } - -%=== these last only for one page and are reset by output routine ==== -\def\blankheaderstyle{\global\h@eadertype = 1 - \ifd@ocsty \global\d@ocumentheader = 1 \fi\c@omputevsize} -\def\normalheaderstyle{\global\h@eadertype= 2 - \ifd@ocsty \global\d@ocumentheader = 2 \fi\c@omputevsize} -\def\noheaderstyle{\global\h@eadertype =0 - \ifd@ocsty \global\d@ocumentheader = 0 \fi\c@omputevsize} -\def\blankfooterstyle{\global\f@ootertype = 1 - \ifd@ocsty \global\d@ocumentfooter = 1 \fi\c@omputevsize} -\def\normalfooterstyle{\global\f@ootertype =2 - \ifd@ocsty \global\d@ocumentfooter = 2 \fi\c@omputevsize} -\def\nofooterstyle{\global\f@ootertype =0 - \ifd@ocsty \global\d@ocumentfooter = 0 \fi\c@omputevsize} -\let\specialheaderstyle=\normalheaderstyle % default -\let\specialfooterstyle=\normalfooterstyle % default - -% ----- some convenient combinations ----- -\def\titlepagestyle{\global\p@agetype=1 \blankheaderstyle - \blankfooterstyle} -\def\normalpagestyle{\global\p@agetype =2 \normalheaderstyle - \normalfooterstyle} - -\def\specialpagestyle{\global\p@agetype =2 \specialheaderstyle - \specialfooterstyle} -\def\fullpagestyle{\global\p@agetype =0 \noheaderstyle - \nofooterstyle} - - - - -% ======== #1 is one of \<...>style --- reset values for output routine -\newcount\d@ocumentheader -\newcount\d@ocumentfooter diff --git a/macros/inrstex/inrstex/papersty.tex b/macros/inrstex/inrstex/papersty.tex deleted file mode 100644 index 417aafcdad..0000000000 --- a/macros/inrstex/inrstex/papersty.tex +++ /dev/null @@ -1,19 +0,0 @@ -% see english.tex and francais.tex for messages -\def\paperstyle{\documentstyle{\vouterpagesize = 9.25in - \houterpagesize = 6.0in - \topmargin = 1in - \leftmargin = 1.25in - \vheadersize = 0pt - \vfootersize = .35in - \headertext{} \specialheadertext{} - \footertext{\centerline{- \folio\ -}} - \let\specialfootertext = \footertext - \leftskip=0pt - \rightskip=0pt - \tenpoint - \noheaderstyle - \normalfooterstyle - \numberbysection - \specialnumberscontinuous}} - -\paperstyle \ No newline at end of file diff --git a/macros/inrstex/inrstex/plain_nh.tex b/macros/inrstex/inrstex/plain_nh.tex deleted file mode 100644 index c56ad4a3b0..0000000000 --- a/macros/inrstex/inrstex/plain_nh.tex +++ /dev/null @@ -1,1220 +0,0 @@ -% This is the plain TeX format that's described in The TeXbook. -% N.B.: A version number is defined at the very end of this file; -% please change that number whenever the file is modified! -% And don't modify the file under any circumstances. - -\catcode`\{=1 % left brace is begin-group character -\catcode`\}=2 % right brace is end-group character -\catcode`\$=3 % dollar sign is math shift -\catcode`\&=4 % ampersand is alignment tab -\catcode`\#=6 % hash mark is macro parameter character -\catcode`\^=7 \catcode`\^^K=7 % circumflex and uparrow are for superscripts -\catcode`\_=8 \catcode`\^^A=8 % underline and downarrow are for subscripts -\catcode`\^^I=10 % ascii tab is a blank space -\chardef\active=13 \catcode`\~=\active % tilde is active -\catcode`\^^L=\active \outer\def^^L{\par} % ascii form-feed is "\outer\par" - -\message{Preloading the plain format: codes,} - -% We had to define the \catcodes right away, before the message line, -% since \message uses the { and } characters. -% When INITEX (the TeX initializer) starts up, -% it has defined the following \catcode values: -% \catcode`\^^@=9 % ascii null is ignored -% \catcode`\^^M=5 % ascii return is end-line -% \catcode`\\=0 % backslash is TeX escape character -% \catcode`\%=14 % percent sign is comment character -% \catcode`\ =10 % ascii space is blank space -% \catcode`\^^?=15 % ascii delete is invalid -% \catcode`\A=11 ... \catcode`\Z=11 % uppercase letters -% \catcode`\a=11 ... \catcode`\z=11 % lowercase letters -% all others are type 12 (other) - -% Here is a list of the characters that have been specially catcoded: -\def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&% - \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~} -% (not counting ascii null, tab, linefeed, formfeed, return, delete) -% Each symbol in the list is preceded by \do, which can be defined -% if you want to do something to every item in the list. - -% We make @ signs act like letters, temporarily, to avoid conflict -% between user names and internal control sequences of plain format. -\catcode`@=11 - -% INITEX sets up \mathcode x=x, for x=0..127, except that -% \mathcode x=x+"7100, for x = `A to `Z and `a to `z; -% \mathcode x=x+"7000, for x = `0 to `9. -% The following changes define internal codes as recommended -% in Appendix C of The TeXbook: -\mathcode`\^^@="2201 % \cdot -\mathcode`\^^A="3223 % \downarrow -\mathcode`\^^B="010B % \alpha -\mathcode`\^^C="010C % \beta -\mathcode`\^^D="225E % \land -\mathcode`\^^E="023A % \lnot -\mathcode`\^^F="3232 % \in -\mathcode`\^^G="0119 % \pi -\mathcode`\^^H="0115 % \lambda -\mathcode`\^^I="010D % \gamma -\mathcode`\^^J="010E % \delta -\mathcode`\^^K="3222 % \uparrow -\mathcode`\^^L="2206 % \pm -\mathcode`\^^M="2208 % \oplus -\mathcode`\^^N="0231 % \infty -\mathcode`\^^O="0140 % \partial -\mathcode`\^^P="321A % \subset -\mathcode`\^^Q="321B % \supset -\mathcode`\^^R="225C % \cap -\mathcode`\^^S="225B % \cup -\mathcode`\^^T="0238 % \forall -\mathcode`\^^U="0239 % \exists -\mathcode`\^^V="220A % \otimes -\mathcode`\^^W="3224 % \leftrightarrow -\mathcode`\^^X="3220 % \leftarrow -\mathcode`\^^Y="3221 % \rightarrow -\mathcode`\^^Z="8000 % \ne -\mathcode`\^^[="2205 % \diamond -\mathcode`\^^\="3214 % \le -\mathcode`\^^]="3215 % \ge -\mathcode`\^^^="3211 % \equiv -\mathcode`\^^_="225F % \lor -\mathcode`\ ="8000 % \space -\mathcode`\!="5021 -\mathcode`\'="8000 % ^\prime -\mathcode`\(="4028 -\mathcode`\)="5029 -\mathcode`\*="2203 % \ast -\mathcode`\+="202B -\mathcode`\,="613B -\mathcode`\-="2200 -\mathcode`\.="013A -\mathcode`\/="013D -\mathcode`\:="303A -\mathcode`\;="603B -\mathcode`\<="313C -\mathcode`\=="303D -\mathcode`\>="313E -\mathcode`\?="503F -\mathcode`\[="405B -\mathcode`\\="026E % \backslash -\mathcode`\]="505D -\mathcode`\_="8000 % \_ -\mathcode`\{="4266 -\mathcode`\|="026A -\mathcode`\}="5267 -\mathcode`\^^?="1273 % \smallint - -% INITEX sets \uccode`x=`X and \uccode `X=`X for all letters x, -% and \lccode`x=`x, \lccode`X=`x; all other values are zero. -% No changes to those tables are needed in plain TeX format. - -% INITEX sets \sfcode x=1000 for all x, except that \sfcode`X=999 -% for uppercase letters. The following changes are needed: -\sfcode`\)=0 \sfcode`\'=0 \sfcode`\]=0 -% The \nonfrenchspacing macro will make further changes to \sfcode values. - -% Finally, INITEX sets all \delcode values to -1, except \delcode`.=0 -\delcode`\(="028300 -\delcode`\)="029301 -\delcode`\[="05B302 -\delcode`\]="05D303 -\delcode`\<="26830A -\delcode`\>="26930B -\delcode`\/="02F30E -\delcode`\|="26A30C -\delcode`\\="26E30F -% N.B. { and } should NOT get delcodes; otherwise parameter grouping fails! - -% To make the plain macros more efficient in time and space, -% several constant values are declared here as control sequences. -% If they were changed, anything could happen; so they are private symbols. -\chardef\@ne=1 -\chardef\tw@=2 -\chardef\thr@@=3 -\chardef\sixt@@n=16 -\chardef\@cclv=255 -\mathchardef\@cclvi=256 -\mathchardef\@m=1000 -\mathchardef\@M=10000 -\mathchardef\@MM=20000 - -% Allocation of registers - -% Here are macros for the automatic allocation of \count, \box, \dimen, -% \skip, \muskip, and \toks registers, as well as \read and \write -% stream numbers, \fam codes, and \insert numbers. - -\message{registers,} - -% When a register is used only temporarily, it need not be allocated; -% grouping can be used, making the value previously in the register return -% after the close of the group. The main use of these macros is for -% registers that are defined by one macro and used by others, possibly at -% different nesting levels. All such registers should be defined through -% these macros; otherwise conflicts may occur, especially when two or more -% more macro packages are being used at once. - -% The following counters are reserved: -% 0 to 9 page numbering -% 10 count allocation -% 11 dimen allocation -% 12 skip allocation -% 13 muskip allocation -% 14 box allocation -% 15 toks allocation -% 16 read file allocation -% 17 write file allocation -% 18 math family allocation -% 19 insert allocation -% 20 the most recently allocated number -% 21 constant -1 -% New counters are allocated starting with 22, 23, etc. Other registers are -% allocated starting with 10. This leaves 0 through 9 for the user to play -% with safely, except that counts 0 to 9 are considered to be the page and -% subpage numbers (since they are displayed during output). In this scheme, -% \count 10 always contains the number of the highest-numbered counter that -% has been allocated, \count 14 the highest-numbered box, etc. -% Inserts are given numbers 254, 253, etc., since they require a \count, -% \dimen, \skip, and \box all with the same number; \count 19 contains the -% lowest-numbered insert that has been allocated. Of course, \box255 is -% reserved for \output; \count255, \dimen255, and \skip255 can be used freely. - -% It is recommends that macro designers always use -% \global assignments with respect to registers numbered 1, 3, 5, 7, 9, and -% always non-\global assignments with respect to registers 0, 2, 4, 6, 8, 255. -% This will prevent ``save stack buildup'' that might otherwise occur. - -\count10=21 % allocates \count registers 22, 23, ... -\count11=9 % allocates \dimen registers 10, 11, ... -\count12=9 % allocates \skip registers 10, 11, ... -\count13=9 % allocates \muskip registers 10, 11, ... -\count14=9 % allocates \box registers 10, 11, ... -\count15=9 % allocates \toks registers 10, 11, ... -\count16=-1 % allocates input streams 0, 1, ... -\count17=-1 % allocates output streams 0, 1, ... -\count18=3 % allocates math families 4, 5, ... -\count19=255 % allocates insertions 254, 253, ... -\countdef\insc@unt=19 % the insertion counter -\countdef\allocationnumber=20 % the most recent allocation -\countdef\m@ne=21 \m@ne=-1 % a handy constant -\def\wlog{\immediate\write\m@ne} % write on log file (only) - -% Here are abbreviations for the names of scratch registers -% that don't need to be allocated. - -\countdef\count@=255 -\dimendef\dimen@=0 -\dimendef\dimen@i=1 % global only -\dimendef\dimen@ii=2 -\skipdef\skip@=0 -\toksdef\toks@=0 - -% Now, we define \newcount, \newbox, etc. so that you can say \newcount\foo -% and \foo will be defined (with \countdef) to be the next counter. -% To find out which counter \foo is, you can look at \allocationnumber. -% Since there's no \boxdef command, \chardef is used to define a \newbox, -% \newinsert, \newfam, and so on. - -\outer\def\newcount{\alloc@0\count\countdef\insc@unt} -\outer\def\newdimen{\alloc@1\dimen\dimendef\insc@unt} -\outer\def\newskip{\alloc@2\skip\skipdef\insc@unt} -\outer\def\newmuskip{\alloc@3\muskip\muskipdef\@cclvi} -\outer\def\newbox{\alloc@4\box\chardef\insc@unt} -\let\newtoks=\relax % we do this to allow plain.tex to be read in twice -\outer\def\newhelp#1#2{\newtoks#1#1\expandafter{\csname#2\endcsname}} -\outer\def\newtoks{\alloc@5\toks\toksdef\@cclvi} -\outer\def\newread{\alloc@6\read\chardef\sixt@@n} -\outer\def\newwrite{\alloc@7\write\chardef\sixt@@n} -\outer\def\newfam{\alloc@8\fam\chardef\sixt@@n} -\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne - \ch@ck#1#4#2% make sure there's still room - \allocationnumber=\count1#1% - \global#3#5=\allocationnumber - \wlog{\string#5=\string#2\the\allocationnumber}} -\outer\def\newinsert#1{\global\advance\insc@unt by\m@ne - \ch@ck0\insc@unt\count - \ch@ck1\insc@unt\dimen - \ch@ck2\insc@unt\skip - \ch@ck4\insc@unt\box - \allocationnumber=\insc@unt - \global\chardef#1=\allocationnumber - \wlog{\string#1=\string\insert\the\allocationnumber}} -\def\ch@ck#1#2#3{\ifnum\count1#1<#2% - \else\errmessage{No room for a new #3}\fi} - -% Here are some examples of allocation. -\newdimen\maxdimen \maxdimen=16383.99999pt % the largest legal <dimen> -\newskip\hideskip \hideskip=-1000pt plus 1fill % negative but can grow -\newskip\centering \centering=0pt plus 1000pt minus 1000pt -\newdimen\p@ \p@=1pt % this saves macro space and time -\newdimen\z@ \z@=0pt % can be used both for 0pt and 0 -\newskip\z@skip \z@skip=0pt plus0pt minus0pt -\newbox\voidb@x % permanently void box register - -% And here's a different sort of allocation: -% For example, \newif\iffoo creates \footrue, \foofalse to go with \iffoo. -\outer\def\newif#1{\count@\escapechar \escapechar\m@ne - \expandafter\expandafter\expandafter - \edef\@if#1{true}{\let\noexpand#1=\noexpand\iftrue}% - \expandafter\expandafter\expandafter - \edef\@if#1{false}{\let\noexpand#1=\noexpand\iffalse}% - \@if#1{false}\escapechar\count@} % the condition starts out false -\def\@if#1#2{\csname\expandafter\if@\string#1#2\endcsname} -{\uccode`1=`i \uccode`2=`f \uppercase{\gdef\if@12{}}} % `if' is required - -% Assign initial values to TeX's parameters - -\message{parameters,} - -% All of TeX's numeric parameters are listed here, -% but the code is commented out if no special value needs to be set. -% INITEX makes all parameters zero except where noted. - -\pretolerance=100 -\tolerance=200 % INITEX sets this to 10000 -\hbadness=1000 -\vbadness=1000 -\linepenalty=10 -\hyphenpenalty=50 -\exhyphenpenalty=50 -\binoppenalty=700 -\relpenalty=500 -\clubpenalty=150 -\widowpenalty=150 -\displaywidowpenalty=50 -\brokenpenalty=100 -\predisplaypenalty=10000 -% \postdisplaypenalty=0 -% \interlinepenalty=0 -% \floatingpenalty=0, set during \insert -% \outputpenalty=0, set before TeX enters \output -\doublehyphendemerits=10000 -\finalhyphendemerits=5000 -\adjdemerits=10000 -% \looseness=0, cleared by TeX after each paragraph -% \pausing=0 -% \tracingonline=0 -% \tracingmacros=0 -% \tracingstats=0 -% \tracingparagraphs=0 -% \tracingpages=0 -% \tracingoutput=0 -\tracinglostchars=1 -% \tracingcommands=0 -% \tracingrestores=0 -\uchyph=1 -% \globaldefs=0 -% \maxdeadcycles=25 % INITEX does this -% \hangafter=1 % INITEX does this, also TeX after each paragraph -% \fam=0 -% \mag=1000 % INITEX does this -% \escapechar=`\\ % INITEX does this -\defaulthyphenchar=`\- -\defaultskewchar=-1 -% \endlinechar=`\^^M % INITEX does this -\newlinechar=-1 -\delimiterfactor=901 -% \time=now % TeX does this at beginning of job -% \day=now % TeX does this at beginning of job -% \month=now % TeX does this at beginning of job -% \year=now % TeX does this at beginning of job -\showboxbreadth=5 -\showboxdepth=3 - -\hfuzz=0.1pt -\vfuzz=0.1pt -\overfullrule=5pt -\hsize=6.5in -\vsize=8.9in -\maxdepth=4pt -\splitmaxdepth=\maxdimen -\boxmaxdepth=\maxdimen -% \lineskiplimit=0pt, changed by \normalbaselines -\delimitershortfall=5pt -\nulldelimiterspace=1.2pt -\scriptspace=0.5pt -% \mathsurround=0pt -% \predisplaysize=0pt, set before TeX enters $$ -% \displaywidth=0pt, set before TeX enters $$ -% \displayindent=0pt, set before TeX enters $$ -\parindent=20pt -% \hangindent=0pt, zeroed by TeX after each paragraph -% \hoffset=0pt -% \voffset=0pt - -% \baselineskip=0pt, changed by \normalbaselines -% \lineskip=0pt, changed by \normalbaselines -\parskip=0pt plus 1pt -\abovedisplayskip=12pt plus 3pt minus 9pt -\abovedisplayshortskip=0pt plus 3pt -\belowdisplayskip=12pt plus 3pt minus 9pt -\belowdisplayshortskip=7pt plus 3pt minus 4pt -% \leftskip=0pt -% \rightskip=0pt -\topskip=10pt -\splittopskip=10pt -% \tabskip=0pt -% \spaceskip=0pt -% \xspaceskip=0pt -\parfillskip=0pt plus 1fil - -\thinmuskip=3mu -\medmuskip=4mu plus 2mu minus 4mu -\thickmuskip=5mu plus 5mu - -% We also define special registers that function like parameters: -\newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt -\newskip\medskipamount \medskipamount=6pt plus 2pt minus 2pt -\newskip\bigskipamount \bigskipamount=12pt plus 4pt minus 4pt -\newskip\normalbaselineskip \normalbaselineskip=12pt -\newskip\normallineskip \normallineskip=1pt -\newdimen\normallineskiplimit \normallineskiplimit=0pt -\newdimen\jot \jot=3pt -\newcount\interdisplaylinepenalty \interdisplaylinepenalty=100 -\newcount\interfootnotelinepenalty \interfootnotelinepenalty=100 - -% Definitions for preloaded fonts - -\def\magstephalf{1095 } -\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or 2074\or 2488\fi\relax} - -% Fonts assigned to \preloaded are not part of "plain TeX", -% but they are preloaded so that other format packages can use them. -% For example, if another set of macros says "\font\ninerm=cmr9", -% TeX will not have to reload the font metric information for cmr9. - -\message{fonts,} - -\font\tenrm=cmr10 % roman text -\font\preloaded=cmr9 -\font\preloaded=cmr8 -\font\sevenrm=cmr7 -\font\preloaded=cmr6 -\font\fiverm=cmr5 - -\font\teni=cmmi10 % math italic -\font\preloaded=cmmi9 -\font\preloaded=cmmi8 -\font\seveni=cmmi7 -\font\preloaded=cmmi6 -\font\fivei=cmmi5 - -\font\tensy=cmsy10 % math symbols -\font\preloaded=cmsy9 -\font\preloaded=cmsy8 -\font\sevensy=cmsy7 -\font\preloaded=cmsy6 -\font\fivesy=cmsy5 - -\font\tenex=cmex10 % math extension - -\font\preloaded=cmss10 % sans serif -\font\preloaded=cmssq8 - -\font\preloaded=cmssi10 % sans serif italic -\font\preloaded=cmssqi8 - -\font\tenbf=cmbx10 % boldface extended -\font\preloaded=cmbx9 -\font\preloaded=cmbx8 -\font\sevenbf=cmbx7 -\font\preloaded=cmbx6 -\font\fivebf=cmbx5 - -\font\tentt=cmtt10 % typewriter -\font\preloaded=cmtt9 -\font\preloaded=cmtt8 - -\font\preloaded=cmsltt10 % slanted typewriter - -\font\tensl=cmsl10 % slanted roman -\font\preloaded=cmsl9 -\font\preloaded=cmsl8 - -\font\tenit=cmti10 % text italic -\font\preloaded=cmti9 -\font\preloaded=cmti8 -\font\preloaded=cmti7 - -\message{more fonts,} -\font\preloaded=cmu10 % unslanted text italic - -\font\preloaded=cmmib10 % bold math italic -\font\preloaded=cmbsy10 % bold math symbols - -\font\preloaded=cmcsc10 % caps and small caps - -\font\preloaded=cmssbx10 % sans serif bold extended - -\font\preloaded=cmdunh10 % Dunhill style - -\font\preloaded=cmr7 scaled \magstep4 % for titles -\font\preloaded=cmtt10 scaled \magstep2 -\font\preloaded=cmssbx10 scaled \magstep2 - -% \font\preloaded=manfnt % METAFONT logo and dragon curve and special symbols -\font\preloaded=logo10 % METAFONT logo and dragon curve and special symbols ?? - -% Additional \preloaded fonts can be specified here. -% (And those that were \preloaded above can be eliminated.) - -\let\preloaded=\undefined % preloaded fonts must be declared anew later. - -\skewchar\teni='177 \skewchar\seveni='177 \skewchar\fivei='177 -\skewchar\tensy='60 \skewchar\sevensy='60 \skewchar\fivesy='60 - -\textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm -\def\rm{\fam\z@\tenrm} -\textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei -\def\mit{\fam\@ne} \def\oldstyle{\fam\@ne\teni} -\textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy -\def\cal{\fam\tw@} -\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex -\newfam\itfam \def\it{\fam\itfam\tenit} % \it is family 4 -\textfont\itfam=\tenit -\newfam\slfam \def\sl{\fam\slfam\tensl} % \sl is family 5 -\textfont\slfam=\tensl -\newfam\bffam \def\bf{\fam\bffam\tenbf} % \bf is family 6 -\textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf -\scriptscriptfont\bffam=\fivebf -\newfam\ttfam \def\tt{\fam\ttfam\tentt} % \tt is family 7 -\textfont\ttfam=\tentt - -% Macros for setting ordinary text -\message{macros,} - -\def\frenchspacing{\sfcode`\.\@m \sfcode`\?\@m \sfcode`\!\@m - \sfcode`\:\@m \sfcode`\;\@m \sfcode`\,\@m} -\def\nonfrenchspacing{\sfcode`\.3000\sfcode`\?3000\sfcode`\!3000% - \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 } - -\def\normalbaselines{\lineskip\normallineskip - \baselineskip\normalbaselineskip \lineskiplimit\normallineskiplimit} - -\def\^^M{\ } % control <return> = control <space> -\def\^^I{\ } % same for <tab> - -\def\lq{`} \def\rq{'} -\def\lbrack{[} \def\rbrack{]} - -\let\endgraf=\par \let\endline=\cr - -\def\space{ } -\def\empty{} -\def\null{\hbox{}} - -\let\bgroup={ \let\egroup=} - -% In \obeylines, we say `\let^^M=\par' instead of `\def^^M{\par}' -% since this allows, for example, `\let\par=\cr \obeylines \halign{...' -{\catcode`\^^M=\active % these lines must end with % - \gdef\obeylines{\catcode`\^^M\active \let^^M\par}% - \global\let^^M\par} % this is in case ^^M appears in a \write -\def\obeyspaces{\catcode`\ \active} -{\obeyspaces\global\let =\space} - -\def\loop#1\repeat{\def\body{#1}\iterate} -\def\iterate{\body \let\next\iterate \else\let\next\relax\fi \next} -\let\repeat=\fi % this makes \loop...\if...\repeat skippable - -\def\thinspace{\kern .16667em } -\def\negthinspace{\kern-.16667em } -\def\enspace{\kern.5em } - -\def\enskip{\hskip.5em\relax} -\def\quad{\hskip1em\relax} -\def\qquad{\hskip2em\relax} - -\def\smallskip{\vskip\smallskipamount} -\def\medskip{\vskip\medskipamount} -\def\bigskip{\vskip\bigskipamount} - -\def\nointerlineskip{\prevdepth-1000\p@} -\def\offinterlineskip{\baselineskip-1000\p@ - \lineskip\z@ \lineskiplimit\maxdimen} - -\def\vglue{\afterassignment\vgl@\skip@=} -\def\vgl@{\par \dimen@\prevdepth \hrule height\z@ - \nobreak\vskip\skip@ \prevdepth\dimen@} -\def\hglue{\afterassignment\hgl@\skip@=} -\def\hgl@{\leavevmode \count@\spacefactor \vrule width\z@ - \nobreak\hskip\skip@ \spacefactor\count@} - -\def~{\penalty\@M \ } % tie -\def\slash{/\penalty\exhyphenpenalty} % a `/' that acts like a `-' - -\def\break{\penalty-\@M} -\def\nobreak{\penalty \@M} -\def\allowbreak{\penalty \z@} - -\def\filbreak{\par\vfil\penalty-200\vfilneg} -\def\goodbreak{\par\penalty-500 } -\def\eject{\par\break} -\def\supereject{\par\penalty-\@MM} - -\def\removelastskip{\ifdim\lastskip=\z@\else\vskip-\lastskip\fi} -\def\smallbreak{\par\ifdim\lastskip<\smallskipamount - \removelastskip\penalty-50\smallskip\fi} -\def\medbreak{\par\ifdim\lastskip<\medskipamount - \removelastskip\penalty-100\medskip\fi} -\def\bigbreak{\par\ifdim\lastskip<\bigskipamount - \removelastskip\penalty-200\bigskip\fi} - -\def\line{\hbox to\hsize} -\def\leftline#1{\line{#1\hss}} -\def\rightline#1{\line{\hss#1}} -\def\centerline#1{\line{\hss#1\hss}} - -\def\rlap#1{\hbox to\z@{#1\hss}} -\def\llap#1{\hbox to\z@{\hss#1}} - -\def\m@th{\mathsurround=\z@} -\def\underbar#1{$\setbox\z@\hbox{#1}\dp\z@\z@ - \m@th \underline{\box\z@}$} - -\newbox\strutbox -\setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width\z@} -\def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi} - -\def\hidewidth{\hskip\hideskip} % for alignment entries that can stick out -\def\ialign{\everycr{}\tabskip\z@skip\halign} % initialized \halign -\newcount\mscount -\def\multispan#1{\omit \mscount#1 - \loop\ifnum\mscount>\@ne \sp@n\repeat} -\def\sp@n{\span\omit\advance\mscount\m@ne} - -\newif\ifus@ \newif\if@cr -\newbox\tabs \newbox\tabsyet \newbox\tabsdone - -\def\cleartabs{\global\setbox\tabsyet\null \setbox\tabs\null} -\def\settabs{\setbox\tabs\null \futurelet\next\sett@b} -\let\+=\relax % in case this file is being read in twice -\def\sett@b{\ifx\next\+\let\next\relax - \def\next{\afterassignment\s@tt@b\let\next}% - \else\let\next\s@tcols\fi\next} -\def\s@tt@b{\let\next\relax\us@false\m@ketabbox} -\def\tabalign{\us@true\m@ketabbox} % non-\outer version of \+ -\outer\def\+{\tabalign} -\def\s@tcols#1\columns{\count@#1 \dimen@\hsize - \loop\ifnum\count@>\z@ \@nother \repeat} -\def\@nother{\dimen@ii\dimen@ \divide\dimen@ii\count@ - \setbox\tabs\hbox{\hbox to\dimen@ii{}\unhbox\tabs}% - \advance\dimen@-\dimen@ii \advance\count@\m@ne} - -\def\m@ketabbox{\begingroup - \global\setbox\tabsyet\copy\tabs - \global\setbox\tabsdone\null - \def\cr{\@crtrue\crcr\egroup\egroup - \ifus@\unvbox\z@\lastbox\fi\endgroup - \setbox\tabs\hbox{\unhbox\tabsyet\unhbox\tabsdone}}% - \setbox\z@\vbox\bgroup\@crfalse - \ialign\bgroup&\t@bbox##\t@bb@x\crcr} - -\def\t@bbox{\setbox\z@\hbox\bgroup} -\def\t@bb@x{\if@cr\egroup % now \box\z@ holds the column - \else\hss\egroup \global\setbox\tabsyet\hbox{\unhbox\tabsyet - \global\setbox\@ne\lastbox}% now \box\@ne holds its size - \ifvoid\@ne\global\setbox\@ne\hbox to\wd\z@{}% - \else\setbox\z@\hbox to\wd\@ne{\unhbox\z@}\fi - \global\setbox\tabsdone\hbox{\box\@ne\unhbox\tabsdone}\fi - \box\z@} - -\def\hang{\hangindent\parindent} -\def\textindent#1{\indent\llap{#1\enspace}\ignorespaces} -\def\item{\par\hang\textindent} -\def\itemitem{\par\indent \hangindent2\parindent \textindent} -\def\narrower{\advance\leftskip\parindent - \advance\rightskip\parindent} - -\outer\def\beginsection#1\par{\vskip\z@ plus.3\vsize\penalty-250 - \vskip\z@ plus-.3\vsize\bigskip\vskip\parskip - \message{#1}\leftline{\bf#1}\nobreak\smallskip\noindent} -\outer\def\proclaim #1. #2\par{\medbreak - \noindent{\bf#1.\enspace}{\sl#2}\par - \ifdim\lastskip<\medskipamount \removelastskip\penalty55\medskip\fi} - -\def\raggedright{\rightskip\z@ plus2em \spaceskip.3333em \xspaceskip.5em } -\def\ttraggedright{\tt\rightskip\z@ plus2em } % for use with \tt only - -\chardef\%=`\% -\chardef\&=`\& -\chardef\#=`\# -\chardef\$=`\$ -\chardef\ss="19 -\chardef\ae="1A -\chardef\oe="1B -\chardef\o="1C -\chardef\AE="1D -\chardef\OE="1E -\chardef\O="1F -\chardef\i="10 \chardef\j="11 % dotless letters -\def\aa{\accent23a} -\def\l{\char32l} -\def\L{\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}} - -\def\leavevmode{\unhbox\voidb@x} % begins a paragraph, if necessary -\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}} -\def\AA{\leavevmode\setbox0\hbox{h}\dimen@\ht0\advance\dimen@-1ex% - \rlap{\raise.67\dimen@\hbox{\char'27}}A} - -\def\mathhexbox#1#2#3{\leavevmode - \hbox{$\m@th \mathchar"#1#2#3$}} -\def\dag{\mathhexbox279} -\def\ddag{\mathhexbox27A} -\def\S{\mathhexbox278} -\def\P{\mathhexbox27B} - -\def\oalign#1{\leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex% - \ialign{##\crcr#1\crcr}}} % put characters over each other -\def\ooalign{\lineskiplimit-\maxdimen \oalign} -\def\d#1{\oalign{#1\crcr\hidewidth.\hidewidth}} -\def\b#1{\oalign{#1\crcr\hidewidth - \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}} -\def\c#1{\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1% - \else{\ooalign{\hidewidth\char24\hidewidth\crcr\unhbox\z@}}\fi} -\def\copyright{{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\mathhexbox20D}}} - -\def\dots{\relax\ifmmode\ldots\else$\m@th\ldots\,$\fi} -\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX} - -\def\`#1{{\accent18 #1}} -\def\'#1{{\accent19 #1}} -\def\v#1{{\accent20 #1}} \let\^^_=\v -\def\u#1{{\accent21 #1}} \let\^^S=\u -\def\=#1{{\accent22 #1}} -\def\^#1{{\accent94 #1}} \let\^^D=\^ -\def\.#1{{\accent95 #1}} -\def\H#1{{\accent"7D #1}} -\def\~#1{{\accent"7E #1}} -\def\"#1{{\accent"7F #1}} -\def\t#1{{\edef\next{\the\font}\the\textfont1\accent"7F\next#1}} - -\def\hrulefill{\leaders\hrule\hfill} -\def\dotfill{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill} -\def\rightarrowfill{$\m@th\mathord-\mkern-6mu% - \cleaders\hbox{$\mkern-2mu\mathord-\mkern-2mu$}\hfill - \mkern-6mu\mathord\rightarrow$} -\def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-6mu% - \cleaders\hbox{$\mkern-2mu\mathord-\mkern-2mu$}\hfill - \mkern-6mu\mathord-$} -\mathchardef\braceld="37A \mathchardef\bracerd="37B -\mathchardef\bracelu="37C \mathchardef\braceru="37D -\def\downbracefill{$\m@th\braceld\leaders\vrule\hfill\braceru - \bracelu\leaders\vrule\hfill\bracerd$} -\def\upbracefill{$\m@th\bracelu\leaders\vrule\hfill\bracerd - \braceld\leaders\vrule\hfill\braceru$} - -\outer\def\bye{\par\vfill\supereject\end} - -% Macros for math setting -\message{math definitions,} - -\let\sp=^ \let\sb=_ -\def\,{\mskip\thinmuskip} -\def\>{\mskip\medmuskip} -\def\;{\mskip\thickmuskip} -\def\!{\mskip-\thinmuskip} -\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}} -{\catcode`\'=\active \gdef'{^\bgroup\prim@s}} -\def\prim@s{\prime\futurelet\next\pr@m@s} -\def\pr@m@s{\ifx'\next\let\next\pr@@@s \else\ifx^\next\let\next\pr@@@t - \else\let\next\egroup\fi\fi \next} -\def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup} -{\catcode`\^^Z=\active \gdef^^Z{\not=}} % ^^Z is like \ne in math -{\catcode`\_=\active \let_=\_} % _ is like \_ if not used for subscripts - -\mathchardef\alpha="010B -\mathchardef\beta="010C -\mathchardef\gamma="010D -\mathchardef\delta="010E -\mathchardef\epsilon="010F -\mathchardef\zeta="0110 -\mathchardef\eta="0111 -\mathchardef\theta="0112 -\mathchardef\iota="0113 -\mathchardef\kappa="0114 -\mathchardef\lambda="0115 -\mathchardef\mu="0116 -\mathchardef\nu="0117 -\mathchardef\xi="0118 -\mathchardef\pi="0119 -\mathchardef\rho="011A -\mathchardef\sigma="011B -\mathchardef\tau="011C -\mathchardef\upsilon="011D -\mathchardef\phi="011E -\mathchardef\chi="011F -\mathchardef\psi="0120 -\mathchardef\omega="0121 -\mathchardef\varepsilon="0122 -\mathchardef\vartheta="0123 -\mathchardef\varpi="0124 -\mathchardef\varrho="0125 -\mathchardef\varsigma="0126 -\mathchardef\varphi="0127 -\mathchardef\Gamma="7000 -\mathchardef\Delta="7001 -\mathchardef\Theta="7002 -\mathchardef\Lambda="7003 -\mathchardef\Xi="7004 -\mathchardef\Pi="7005 -\mathchardef\Sigma="7006 -\mathchardef\Upsilon="7007 -\mathchardef\Phi="7008 -\mathchardef\Psi="7009 -\mathchardef\Omega="700A - -\mathchardef\aleph="0240 -\def\hbar{{\mathchar'26\mkern-9muh}} -\mathchardef\imath="017B -\mathchardef\jmath="017C -\mathchardef\ell="0160 -\mathchardef\wp="017D -\mathchardef\Re="023C -\mathchardef\Im="023D -\mathchardef\partial="0140 -\mathchardef\infty="0231 -\mathchardef\prime="0230 -\mathchardef\emptyset="023B -\mathchardef\nabla="0272 -\def\surd{{\mathchar"1270}} -\mathchardef\top="023E -\mathchardef\bot="023F -\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr - \not\mathrel{\mkern14mu}\crcr - \noalign{\nointerlineskip} - \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}} -\mathchardef\triangle="0234 -\mathchardef\forall="0238 -\mathchardef\exists="0239 -\mathchardef\neg="023A \let\lnot=\neg -\mathchardef\flat="015B -\mathchardef\natural="015C -\mathchardef\sharp="015D -\mathchardef\clubsuit="027C -\mathchardef\diamondsuit="027D -\mathchardef\heartsuit="027E -\mathchardef\spadesuit="027F - -\mathchardef\coprod="1360 -\mathchardef\bigvee="1357 -\mathchardef\bigwedge="1356 -\mathchardef\biguplus="1355 -\mathchardef\bigcap="1354 -\mathchardef\bigcup="1353 -\mathchardef\intop="1352 \def\int{\intop\nolimits} -\mathchardef\prod="1351 -\mathchardef\sum="1350 -\mathchardef\bigotimes="134E -\mathchardef\bigoplus="134C -\mathchardef\bigodot="134A -\mathchardef\ointop="1348 \def\oint{\ointop\nolimits} -\mathchardef\bigsqcup="1346 -\mathchardef\smallint="1273 - -\mathchardef\triangleleft="212F -\mathchardef\triangleright="212E -\mathchardef\bigtriangleup="2234 -\mathchardef\bigtriangledown="2235 -\mathchardef\wedge="225E \let\land=\wedge -\mathchardef\vee="225F \let\lor=\vee -\mathchardef\cap="225C -\mathchardef\cup="225B -\mathchardef\ddagger="227A -\mathchardef\dagger="2279 -\mathchardef\sqcap="2275 -\mathchardef\sqcup="2274 -\mathchardef\uplus="225D -\mathchardef\amalg="2271 -\mathchardef\diamond="2205 -\mathchardef\bullet="220F -\mathchardef\wr="226F -\mathchardef\div="2204 -\mathchardef\odot="220C -\mathchardef\oslash="220B -\mathchardef\otimes="220A -\mathchardef\ominus="2209 -\mathchardef\oplus="2208 -\mathchardef\mp="2207 -\mathchardef\pm="2206 -\mathchardef\circ="220E -\mathchardef\bigcirc="220D -\mathchardef\setminus="226E % for set difference A\setminus B -\mathchardef\cdot="2201 -\mathchardef\ast="2203 -\mathchardef\times="2202 -\mathchardef\star="213F - -\mathchardef\propto="322F -\mathchardef\sqsubseteq="3276 -\mathchardef\sqsupseteq="3277 -\mathchardef\parallel="326B -\mathchardef\mid="326A -\mathchardef\dashv="3261 -\mathchardef\vdash="3260 -\mathchardef\nearrow="3225 -\mathchardef\searrow="3226 -\mathchardef\nwarrow="322D -\mathchardef\swarrow="322E -\mathchardef\Leftrightarrow="322C -\mathchardef\Leftarrow="3228 -\mathchardef\Rightarrow="3229 -\def\neq{\not=} \let\ne=\neq -\mathchardef\leq="3214 \let\le=\leq -\mathchardef\geq="3215 \let\ge=\geq -\mathchardef\succ="321F -\mathchardef\prec="321E -\mathchardef\approx="3219 -\mathchardef\succeq="3217 -\mathchardef\preceq="3216 -\mathchardef\supset="321B -\mathchardef\subset="321A -\mathchardef\supseteq="3213 -\mathchardef\subseteq="3212 -\mathchardef\in="3232 -\mathchardef\ni="3233 \let\owns=\ni -\mathchardef\gg="321D -\mathchardef\ll="321C -\mathchardef\not="3236 -\mathchardef\leftrightarrow="3224 -\mathchardef\leftarrow="3220 \let\gets=\leftarrow -\mathchardef\rightarrow="3221 \let\to=\rightarrow -\mathchardef\mapstochar="3237 \def\mapsto{\mapstochar\rightarrow} -\mathchardef\sim="3218 -\mathchardef\simeq="3227 -\mathchardef\perp="323F -\mathchardef\equiv="3211 -\mathchardef\asymp="3210 -\mathchardef\smile="315E -\mathchardef\frown="315F -\mathchardef\leftharpoonup="3128 -\mathchardef\leftharpoondown="3129 -\mathchardef\rightharpoonup="312A -\mathchardef\rightharpoondown="312B - -\def\joinrel{\mathrel{\mkern-3mu}} -\def\relbar{\mathrel{\smash-}} % \smash, because - has the same height as + -\def\Relbar{\mathrel=} -\mathchardef\lhook="312C \def\hookrightarrow{\lhook\joinrel\rightarrow} -\mathchardef\rhook="312D \def\hookleftarrow{\leftarrow\joinrel\rhook} -\def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft} -\def\models{\mathrel|\joinrel=} -\def\Longrightarrow{\Relbar\joinrel\Rightarrow} -\def\longrightarrow{\relbar\joinrel\rightarrow} -\def\longleftarrow{\leftarrow\joinrel\relbar} -\def\Longleftarrow{\Leftarrow\joinrel\Relbar} -\def\longmapsto{\mapstochar\longrightarrow} -\def\longleftrightarrow{\leftarrow\joinrel\rightarrow} -\def\Longleftrightarrow{\Leftarrow\joinrel\Rightarrow} -\def\iff{\;\Longleftrightarrow\;} - -\mathchardef\ldotp="602E % ldot as a punctuation mark -\mathchardef\cdotp="6201 % cdot as a punctuation mark -\mathchardef\colon="603A % colon as a punctuation mark -\def\ldots{\mathinner{\ldotp\ldotp\ldotp}} -\def\cdots{\mathinner{\cdotp\cdotp\cdotp}} -\def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ - \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} -\def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu - \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu}} - -\def\acute{\mathaccent"7013 } -\def\grave{\mathaccent"7012 } -\def\ddot{\mathaccent"707F } -\def\tilde{\mathaccent"707E } -\def\bar{\mathaccent"7016 } -\def\breve{\mathaccent"7015 } -\def\check{\mathaccent"7014 } -\def\hat{\mathaccent"705E } -\def\vec{\mathaccent"017E } -\def\dot{\mathaccent"705F } -\def\widetilde{\mathaccent"0365 } -\def\widehat{\mathaccent"0362 } -\def\overrightarrow#1{\vbox{\ialign{##\crcr - \rightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} - $\hfil\displaystyle{#1}\hfil$\crcr}}} -\def\overleftarrow#1{\vbox{\ialign{##\crcr - \leftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} - $\hfil\displaystyle{#1}\hfil$\crcr}}} -\def\overbrace#1{\mathop{\vbox{\ialign{##\crcr\noalign{\kern3\p@} - \downbracefill\crcr\noalign{\kern3\p@\nointerlineskip} - $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits} -\def\underbrace#1{\mathop{\vtop{\ialign{##\crcr - $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip} - \upbracefill\crcr\noalign{\kern3\p@}}}}\limits} -\def\skew#1#2#3{{#2{#3\mkern#1mu}\mkern-#1mu}{}} - -\def\lmoustache{\delimiter"4000340 } % top from (, bottom from ) -\def\rmoustache{\delimiter"5000341 } % top from ), bottom from ( -\def\lgroup{\delimiter"400033A } % extensible ( with sharper tips -\def\rgroup{\delimiter"500033B } % extensible ) with sharper tips -\def\arrowvert{\delimiter"33C } % arrow without arrowheads -\def\Arrowvert{\delimiter"33D } % double arrow without arrowheads -\def\bracevert{\delimiter"33E } % the vertical bar that extends braces -\def\Vert{\delimiter"26B30D } \let\|=\Vert -\def\vert{\delimiter"26A30C } -\def\uparrow{\delimiter"3222378 } -\def\downarrow{\delimiter"3223379 } -\def\updownarrow{\delimiter"326C33F } -\def\Uparrow{\delimiter"322A37E } -\def\Downarrow{\delimiter"322B37F } -\def\Updownarrow{\delimiter"326D377 } -\def\backslash{\delimiter"26E30F } % for double coset G\backslash H -\def\rangle{\delimiter"526930B } -\def\langle{\delimiter"426830A } -\def\rbrace{\delimiter"5267309 } \let\}=\rbrace -\def\lbrace{\delimiter"4266308 } \let\{=\lbrace -\def\rceil{\delimiter"5265307 } -\def\lceil{\delimiter"4264306 } -\def\rfloor{\delimiter"5263305 } -\def\lfloor{\delimiter"4262304 } - -\def\bigl{\mathopen\big} -\def\bigm{\mathrel\big} -\def\bigr{\mathclose\big} -\def\Bigl{\mathopen\Big} -\def\Bigm{\mathrel\Big} -\def\Bigr{\mathclose\Big} -\def\biggl{\mathopen\bigg} -\def\biggm{\mathrel\bigg} -\def\biggr{\mathclose\bigg} -\def\Biggl{\mathopen\Bigg} -\def\Biggm{\mathrel\Bigg} -\def\Biggr{\mathclose\Bigg} -\def\big#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}} -\def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}} -\def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}} -\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}} -\def\n@space{\nulldelimiterspace\z@ \m@th} - -\def\choose{\atopwithdelims()} -\def\brack{\atopwithdelims[]} -\def\brace{\atopwithdelims\{\}} - -\def\sqrt{\radical"270370 } - -\def\mathpalette#1#2{\mathchoice{#1\displaystyle{#2}}% - {#1\textstyle{#2}}{#1\scriptstyle{#2}}{#1\scriptscriptstyle{#2}}} -\newbox\rootbox -\def\root#1\of{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$} - \mathpalette\r@@t} -\def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\sqrt{#2}$} - \dimen@\ht\z@ \advance\dimen@-\dp\z@ - \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu \box\z@} -\newif\ifv@ \newif\ifh@ -\def\vphantom{\v@true\h@false\ph@nt} -\def\hphantom{\v@false\h@true\ph@nt} -\def\phantom{\v@true\h@true\ph@nt} -\def\ph@nt{\ifmmode\def\next{\mathpalette\mathph@nt}% - \else\let\next\makeph@nt\fi\next} -\def\makeph@nt#1{\setbox\z@\hbox{#1}\finph@nt} -\def\mathph@nt#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finph@nt} -\def\finph@nt{\setbox\tw@\null - \ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi - \ifh@ \wd\tw@\wd\z@\fi \box\tw@} -\def\mathstrut{\vphantom(} -\def\smash{\relax % \relax, in case this comes first in \halign - \ifmmode\def\next{\mathpalette\mathsm@sh}\else\let\next\makesm@sh - \fi\next} -\def\makesm@sh#1{\setbox\z@\hbox{#1}\finsm@sh} -\def\mathsm@sh#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finsm@sh} -\def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \box\z@} - -\def\cong{\mathrel{\mathpalette\@vereq\sim}} % congruence sign -\def\@vereq#1#2{\lower.5\p@\vbox{\baselineskip\z@skip\lineskip-.5\p@ - \ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr=\crcr}}} -\def\notin{\mathrel{\mathpalette\c@ncel\in}} -\def\c@ncel#1#2{\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}} -\def\rightleftharpoons{\mathrel{\mathpalette\rlh@{}}} -\def\rlh@#1{\vcenter{\hbox{\ooalign{\raise2pt - \hbox{$#1\rightharpoonup$}\crcr - $#1\leftharpoondown$}}}} -\def\buildrel#1\over#2{\mathrel{\mathop{\kern\z@#2}\limits^{#1}}} -\def\doteq{\buildrel\textstyle.\over=} - -\def\log{\mathop{\rm log}\nolimits} -\def\lg{\mathop{\rm lg}\nolimits} -\def\ln{\mathop{\rm ln}\nolimits} -\def\lim{\mathop{\rm lim}} -\def\limsup{\mathop{\rm lim\,sup}} -\def\liminf{\mathop{\rm lim\,inf}} -\def\sin{\mathop{\rm sin}\nolimits} -\def\arcsin{\mathop{\rm arcsin}\nolimits} -\def\sinh{\mathop{\rm sinh}\nolimits} -\def\cos{\mathop{\rm cos}\nolimits} -\def\arccos{\mathop{\rm arccos}\nolimits} -\def\cosh{\mathop{\rm cosh}\nolimits} -\def\tan{\mathop{\rm tan}\nolimits} -\def\arctan{\mathop{\rm arctan}\nolimits} -\def\tanh{\mathop{\rm tanh}\nolimits} -\def\cot{\mathop{\rm cot}\nolimits} -\def\coth{\mathop{\rm coth}\nolimits} -\def\sec{\mathop{\rm sec}\nolimits} -\def\csc{\mathop{\rm csc}\nolimits} -\def\max{\mathop{\rm max}} -\def\min{\mathop{\rm min}} -\def\sup{\mathop{\rm sup}} -\def\inf{\mathop{\rm inf}} -\def\arg{\mathop{\rm arg}\nolimits} -\def\ker{\mathop{\rm ker}\nolimits} -\def\dim{\mathop{\rm dim}\nolimits} -\def\hom{\mathop{\rm hom}\nolimits} -\def\det{\mathop{\rm det}} -\def\exp{\mathop{\rm exp}\nolimits} -\def\Pr{\mathop{\rm Pr}} -\def\gcd{\mathop{\rm gcd}} -\def\deg{\mathop{\rm deg}\nolimits} - -\def\bmod{\mskip-\medmuskip\mkern5mu - \mathbin{\rm mod}\penalty900\mkern5mu\mskip-\medmuskip} -\def\pmod#1{\allowbreak\mkern18mu({\rm mod}\,\,#1)} - -\def\cases#1{\left\{\,\vcenter{\normalbaselines\m@th - \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}\right.} -\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th - \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr - \mathstrut\crcr\noalign{\kern-\baselineskip} - #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,} -\def\pmatrix#1{\left(\matrix{#1}\right)} -\newdimen\p@renwd -\setbox0=\hbox{\tenex B} \p@renwd=\wd0 % width of the big left ( -\def\bordermatrix#1{\begingroup \m@th - \setbox\z@\vbox{\def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}% - \ialign{$##$\hfil\kern2\p@\kern\p@renwd&\thinspace\hfil$##$\hfil - &&\quad\hfil$##$\hfil\crcr - \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}% - #1\crcr\omit\strut\cr}}% - \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}% - \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}% - \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne - \global\setbox\@ne\vbox{\box\@ne\kern2\p@}% - \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}% - \null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup} - -\def\openup{\afterassignment\@penup\dimen@=} -\def\@penup{\advance\lineskip\dimen@ - \advance\baselineskip\dimen@ - \advance\lineskiplimit\dimen@} -\def\eqalign#1{\null\,\vcenter{\openup\jot\m@th - \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil - \crcr#1\crcr}}\,} -\newif\ifdt@p -\def\displ@y{\global\dt@ptrue\openup\jot\m@th - \everycr{\noalign{\ifdt@p \global\dt@pfalse - \vskip-\lineskiplimit \vskip\normallineskiplimit - \else \penalty\interdisplaylinepenalty \fi}}} -\def\@lign{\tabskip\z@skip\everycr{}} % restore inside \displ@y -\def\displaylines#1{\displ@y - \halign{\hbox to\displaywidth{$\@lign\hfil\displaystyle##\hfil$}\crcr - #1\crcr}} -\def\eqalignno#1{\displ@y \tabskip\centering - \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip - &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering - &\llap{$\@lign##$}\tabskip\z@skip\crcr - #1\crcr}} -\def\leqalignno#1{\displ@y \tabskip\centering - \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip - &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering - &\kern-\displaywidth\rlap{$\@lign##$}\tabskip\displaywidth\crcr - #1\crcr}} - -% Definitions related to output - -\message{output routines,} - -\countdef\pageno=0 \pageno=1 % first page is number 1 -\newtoks\headline \headline={\hfil} % headline is normally blank -\newtoks\footline \footline={\hss\tenrm\folio\hss} - % footline is normally a centered page number in font \tenrm -\newif\ifr@ggedbottom -\def\raggedbottom{\topskip 10\p@ plus60\p@ \r@ggedbottomtrue} -\def\normalbottom{\topskip 10\p@ \r@ggedbottomfalse} % undoes \raggedbottom -\def\folio{\ifnum\pageno<\z@ \romannumeral-\pageno \else\number\pageno \fi} -\def\nopagenumbers{\footline{\hfil}} % blank out the footline -\def\advancepageno{\ifnum\pageno<\z@ \global\advance\pageno\m@ne - \else\global\advance\pageno\@ne \fi} % increase |pageno| - -\newinsert\footins -\def\footnote#1{\let\@sf\empty % parameter #2 (the text) is read later - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi - #1\@sf\vfootnote{#1}} -\def\vfootnote#1{\insert\footins\bgroup - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \splitmaxdepth\dp\strutbox \floatingpenalty\@MM - \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip - \textindent{#1}\footstrut\futurelet\next\fo@t} -\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t - \else\let\next\f@t\fi \next} -\def\f@@t{\bgroup\aftergroup\@foot\let\next} -\def\f@t#1{#1\@foot} -\def\@foot{\strut\egroup} -\def\footstrut{\vbox to\splittopskip{}} -\skip\footins=\bigskipamount % space added when footnote is present -\count\footins=1000 % footnote magnification factor (1 to 1) -\dimen\footins=8in % maximum footnotes per page - -\newinsert\topins -\newif\ifp@ge \newif\if@mid -\def\topinsert{\@midfalse\p@gefalse\@ins} -\def\midinsert{\@midtrue\@ins} -\def\pageinsert{\@midfalse\p@getrue\@ins} -\skip\topins=\z@skip % no space added when a topinsert is present -\count\topins=1000 % magnification factor (1 to 1) -\dimen\topins=\maxdimen % no limit per page -\def\@ins{\par\begingroup\setbox\z@\vbox\bgroup} % start a \vbox -\def\endinsert{\egroup % finish the \vbox - \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@ - \advance\dimen@12\p@ \advance\dimen@\pagetotal - \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi - \if@mid \bigskip\box\z@\bigbreak - \else\insert\topins{\penalty100 % floating insertion - \splittopskip\z@skip - \splitmaxdepth\maxdimen \floatingpenalty\z@ - \ifp@ge \dimen@\dp\z@ - \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero - \else \box\z@\nobreak\bigskip\fi}\fi\endgroup} - -\output{\plainoutput} -\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}% - \advancepageno - \ifnum\outputpenalty>-\@MM \else\dosupereject\fi} -\def\pagebody{\vbox to\vsize{\boxmaxdepth\maxdepth \pagecontents}} -\def\makeheadline{\vbox to\z@{\vskip-22.5\p@ - \line{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip} -\def\makefootline{\baselineskip24\p@\line{\the\footline}} -\def\dosupereject{\ifnum\insertpenalties>\z@ % something is being held over - \line{}\kern-\topskip\nobreak\vfill\supereject\fi} - -\def\pagecontents{\ifvoid\topins\else\unvbox\topins\fi - \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255 - \ifvoid\footins\else % footnote info is present - \vskip\skip\footins - \footnoterule - \unvbox\footins\fi - \ifr@ggedbottom \kern-\dimen@ \vfil \fi} -\def\footnoterule{\kern-3\p@ - \hrule width 2truein \kern 2.6\p@} % the \hrule is .4pt high - -% Hyphenation, miscellaneous macros, and initial values for standard layout -%\message{hyphenation} - -%\input hyphen - -\def\magnification{\afterassignment\m@g\count@} -\def\m@g{\mag\count@ - \hsize6.5truein\vsize8.9truein\dimen\footins8truein} - -\def\tracingall{\tracingonline\@ne\tracingcommands\tw@\tracingstats\tw@ - \tracingpages\@ne\tracingoutput\@ne\tracinglostchars\@ne - \tracingmacros\tw@\tracingparagraphs\@ne\tracingrestores\@ne - \showboxbreadth\maxdimen\showboxdepth\maxdimen\errorstopmode} - -\def\showhyphens#1{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen\tenrm - \pretolerance\m@ne\tolerance\m@ne\hbadness0\showboxdepth0\ #1}} - -\normalbaselines\rm % select roman font -\nonfrenchspacing % punctuation affects the spacing -\catcode`@=12 % at signs are no longer letters - -\def\fmtname{plain}\def\fmtversion{1.5CM} % identifies the current format \ No newline at end of file diff --git a/macros/inrstex/inrstex/plainmod.tex b/macros/inrstex/inrstex/plainmod.tex deleted file mode 100644 index feeb7cf682..0000000000 --- a/macros/inrstex/inrstex/plainmod.tex +++ /dev/null @@ -1,8 +0,0 @@ -%====== bugs in plain -\catcode`\ =10 % version in plain does not stick - -%======= modifications to plain ======= -\let\newcount=\n@ewcount - % needs to be inner for assigning counts to such things as problems - % when part of subdocuments - \ No newline at end of file diff --git a/macros/inrstex/inrstex/plaipars.tex b/macros/inrstex/inrstex/plaipars.tex deleted file mode 100644 index ab0309716b..0000000000 --- a/macros/inrstex/inrstex/plaipars.tex +++ /dev/null @@ -1,127 +0,0 @@ -% ======== Plain.tex parameters ... set in plain and initex ==== - -% All of TeX's numeric parameters are listed here, -% Most are untouched from plain.tex but some are indeed modified. -% The order is not the same as in plain.tex - -% These parameters are actually changed. - -\widowpenalty = 400 % needs to be more than 100 -\clubpenalty = 800 % needs to be more than 100 - -% --- Penalties --- - -% \displaywidowpenalty=50 -% \brokenpenalty=100 -% \predisplaypenalty=10000 -% \postdisplaypenalty=0 -% \interlinepenalty=0 -% \interdisplaylinepenalty=100 -% \interfootnotelinepenalty=100 - -% \pretolerance=100 -% \tolerance=200 % INITEX sets this to 10000 -% \hbadness=1000 -% \vbadness=1000 -% \linepenalty=10 -% \hyphenpenalty=50 -% \exhyphenpenalty=50 -% \binoppenalty=700 -% \relpenalty=500 -% \floatingpenalty=0, set during \insert -% \outputpenalty=0, set before TeX enters \output -% \doublehyphendemerits=10000 -% \finalhyphendemerits=5000 -% \adjdemerits=10000 - -% ---- paragraph control ---- -% \looseness=0, cleared by TeX after each paragraph -% \uchyph=1 -% \parindent=20pt -% \hangindent=0pt, zeroed by TeX after each paragraph -% \baselineskip=0pt, changed by \normalbaselines -% \lineskip=0pt, changed by \normalbaselines -% \parskip=0pt plus 1pt -% \parfillskip=0pt plus 1fil -% \normalbaselineskip=12pt -% \normallineskip=1pt -% \normallineskiplimit=0pt - -% ----- Sizes/overfull boxes ---- -% \hfuzz=0.1pt % ... \finalversion mod -% \vfuzz=0.1pt % ... \finalversion mod -% \overfullrule=5pt % ... \finalversion mod -% \hsize=6.5in % ... pagsty.tex and inrsdef.tex -% \vsize=8.9in % ... pagsty.tex and inrsdef.tex -% \maxdepth=4pt -% \splitmaxdepth=\maxdimen -% \boxmaxdepth=\maxdimen -% \lineskiplimit=0pt, changed by \normalbaselines -% \leftskip=0pt -% \rightskip=0pt -% \topskip=10pt -% \splittopskip=10pt - - -% ------- Internal Math parms ----- -% \delimitershortfall=5pt -% \nulldelimiterspace=1.2pt -% \scriptspace=0.5pt -% \mathsurround=0pt -% \thinmuskip=3mu -% \medmuskip=4mu plus 2mu minus 4mu -% \thickmuskip=5mu plus 5mu -% \jot=3pt - -% ---- Display Math Spacing ---- -% \predisplaysize=0pt, set before TeX enters $$ -% \displaywidth=0pt, set before TeX enters $$ -% \displayindent=0pt, set before TeX enters $$ -% \abovedisplayskip=12pt plus 3pt minus 9pt -% \abovedisplayshortskip=0pt plus 3pt -% \belowdisplayskip=12pt plus 3pt minus 9pt -% \belowdisplayshortskip=7pt plus 3pt minus 4pt - - -% \hoffset=0pt % modified by \leftmargin -% \voffset=0pt % not used in INRSTeX - -% \tabskip=0pt -% \spaceskip=0pt -% \xspaceskip=0pt - -% ------ Vertical Spacing ----- -% \smallskipamount=3pt plus 1pt minus 1pt -% \medskipamount=6pt plus 2pt minus 2pt -% \bigskipamount=12pt plus 4pt minus 4pt - -% ------ Debugging/Misc ----- -% \pausing=0 -% \tracingonline=0 -% \tracingmacros=0 -% \tracingstats=0 -% \tracingparagraphs=0 -% \tracingpages=0 -% \tracingoutput=0 -% \tracinglostchars=1 -% \tracingcommands=0 -% \tracingrestores=0 -% \globaldefs=0 -% \maxdeadcycles=25 % INITEX does this -% \hangafter=1 % INITEX does this, also TeX after each paragraph -% \fam=0 -% \mag=1000 % INITEX does this -% \escapechar=`\\ % INITEX does this -% \defaulthyphenchar=`\- -% \defaultskewchar=-1 -% \endlinechar=`\^^M % INITEX does this -% \newlinechar=-1 -% \delimiterfactor=901 -% \time=now % TeX does this at beginning of job -% \day=now % TeX does this at beginning of job -% \month=now % TeX does this at beginning of job -% \year=now % TeX does this at beginning of job -% \showboxbreadth=5 -% \showboxdepth=3 - - diff --git a/macros/inrstex/inrstex/prelhead.tex b/macros/inrstex/inrstex/prelhead.tex deleted file mode 100644 index e14d1850f8..0000000000 --- a/macros/inrstex/inrstex/prelhead.tex +++ /dev/null @@ -1,31 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -%============ Preface/Prelude macros =========== -% this is the first of the environment macros. The problem, among others is -% that the headers, footers, pagenumbering, etc are different in preface of -% the document than elsewhere. - -% These attempt to set this up in such a way -% that they will work with books and reports .... it may not be possible and -% perhaps they should be parchuted in as a complete package for reports -% and books ... There will be more put in these as time goes on -% these are the paperstyle/report style macros -\newtoks\everyprelude -\newtoks\e@veryprelude -\def\beginprelude{\begingroup\the\e@veryprelude\the\everyprelude} - -\def\preludeheadformat#1{\centerline{\sheadfont #1}\vskip 1cm} -\newtoks\preludetitle -\def\preludeheadmark{\mark{\hfill \the\preludetitle\hfill}} -\def\preludehead#1{ \preludetitle = {#1} - \writeterm{< }{\the\preludetitle}{ >} - \preludeheadformat{#1} - \preludeheadmark - \writelistfile{toc}{\prtocout}{}{#1} - } - -\def\endprelude{\endgroup\ejectpage} - -% \def\prtocout{\string\prtoc} % actually set in inrsdef.tex diff --git a/macros/inrstex/inrstex/secthead.tex b/macros/inrstex/inrstex/secthead.tex deleted file mode 100644 index 9a8a7de40d..0000000000 --- a/macros/inrstex/inrstex/secthead.tex +++ /dev/null @@ -1,228 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - - -% ========== Section, Chapter Headings =========== -% These macros have several parts, -% -- The format of the heading. -% -- The automatic numbering. -% -- The writing of a list file for automatic table of contents. -% -- The referencing in the text ... ie reference number styles. - - -% ======== Counter allocation and Number styles ========= -%========= Autonumbering allocations and styles for sections ... ==== -% Allocate the counters for the chapters, sections, figures, etc. -% These counters are updated globally. -\newcount\chnum %\chnum=0 \def\chnumform{\the\chnum} -\newcount\shnum %\shnum=0 \def\shnumform{\the\shnum} -\newcount\sshnum %\sshnum=0 \def\sshnumform{\the\sshnum} -\newcount\ssshnum %\ssshnum=0 \def\ssshnumform{\the\ssshnum} - -% ======== autonumbering options and styles ========== -% The following stay unchanged for different numbering options -\def\chtagrefformat{\chnumform} -\def\chtagreplaceformat{\Chapter \chtagrefformat} - -\def\numberbychapter{\s@pecialnumberresetlevel=2 - \def\shtagreplaceformat{\shtagrefformat} - \def\sshtagreplaceformat{\sshtagrefformat} - \def\ssshtagreplaceformat{\ssshtagrefformat} - \def\shtagrefformat{\chnumform.\shnumform} %section - \def\sshtagrefformat{\chnumform.\shnumform.\sshnumform} %subsection - \def\ssshtagrefformat{\chnumform.\shnumform.\sshnumform %subsubsection - .\ssshnumform} - \def\Prerefform{\chnumform.} - \def\Postrefform{}} - -\def\numberbysection{\s@pecialnumberresetlevel=3 - \def\shtagreplaceformat{\shtagrefformat.} - \def\sshtagreplaceformat{\sshtagrefformat} - \def\ssshtagreplaceformat{\ssshtagrefformat} - \def\shtagrefformat{\shnumform} %section - \def\sshtagrefformat{\shnumform.\sshnumform} %subsection - \def\ssshtagrefformat{\shnumform.\sshnumform %subsubsection - .\ssshnumform} - \def\Prerefform{\shnumform.} - \def\Postrefform{}} - -\def\specialnumberscontinuous{\def\Prerefform{} - \def\Postrefform{} - \s@pecialnumberresetlevel=1} - - -% This macro resets the counters for equations, figures, etc. -% depending on the header level. -% #1 - header level 1=chapter -% 2=section -% 3=subsection -% 4=subsubsection -% \a@utonumberresetlevel = 1 sequential numbering -% 2 chapter numbering -% 3 section numbering -% 4 subsection numbering, etc. -\newcount\s@pecialnumberresetlevel \s@pecialnumberresetlevel=1 -\def\updatespecialnumbers#1{ - \ifnum #1 < \s@pecialnumberresetlevel - \the\s@presetlist - \fi} - - -% ============ Section head format styles and List generation ======= -% -% The calling format is -% \s<ss>head{<number>}{<Title>} -% Subsequent lines are indented one quad more than the size of the <number> -% There is an autonumbering/autoreferencing feature in these macros. -% If the autonumber switch -% is true, then the first argument represents a tag instead of a number. - -% \nosheadbreak is used when multiple heads start a section -\newif\ifs@headbreak \s@headbreaktrue -\def\nosheadbreak{\s@headbreakfalse} - - -% ========= Section heading command forms ======== -% #1 top skip -% #2 bottom skip -% #3 font -% #4 <number> -% #5 <text> -% #6 table of contents command form -% #7 <item>, placed between <number> and <text> - -\newskip\prsheadskip %\prsheadskip= 6ex plus 2ex minus 2ex -\newskip\posheadskip %\posheadskip= 2ex -\newskip\prssheadskip % \prssheadskip= 5ex plus 1.8ex minus 1.8ex -\newskip\possheadskip %\possheadskip= 2ex -\newskip\prsssheadskip %\prsssheadskip= 3ex plus 1ex minus 1ex -\newskip\posssheadskip %\posssheadskip= 2ex -\newskip\prdsssheadskip %\prdsssheadskip= 3ex plus 1ex minus 1ex -\newskip\podsssheadskip %\podsssheadskip= 2ex - -%this is the format form for those that want to perform radical surgery -%the parameters must be as shown and will have that meaning -% #1 font (=#3); #2 number (=#4) ; #3 <text> (=#5); #4 number/text sep (=#7) -% check on \t@agtext suppresses space when there is no number -\def\gensheadformat#1#2#3#4{\ifx\t@agtext\empty\setbox0=\hbox{}\else - \setbox0=\hbox{#1#2#4}\fi - \vbox{\veryraggedright \normalbaselines - \hangindent 1\wd0 \hangafter 1\noindent #1\unhbox0 #3}} - - -\def\g@head#1#2#3#4#5#6#7{\ifs@headbreak \goodbreak \vskip #1\else - \removelastskip\fi - \s@headbreaktrue - \toks0={#5}%prevents expansion inside title - \writeterm{<#4}{ }{\the\toks0>} - \gensheadformat{#3}{#4}{#5}{#7} - \nobreak - \w@ritetag\nobreak - \writelistfile{toc}{#6}{#4}{#5} - \vskip #2 \vskip -\parskip} - -\newtoks\sectionname \newtoks\sectionnumtag -\def\sheadmark{\mark{\the\sectionname}} % defaults to title -\def\innershead #1#2{\sectionnumtag = {#1} \sectionname = {#2} - \ifautonumber - \global\advance \shnum by 1 - \global\sshnum=0 - \global\ssshnum=0 - \updatespecialnumbers{2} - \xdef\w@ritetag{\noexpand\newtag{#1}{\shtagrefformat}} - \edef\t@agtext{\shtagreplaceformat} - \else - \edef\t@agtext{#1} - \xdef\w@ritetag{\relax} - \fi - \sheadmark %sections are marked for header titles - \g@head{\prsheadskip}{\posheadskip - }{\sheadfont}{\t@agtext}{#2}{\shtocout - }{\quad}} -\def\innersshead #1#2{\ifautonumber - \global\advance \sshnum by 1 - \global\ssshnum=0 - \updatespecialnumbers{3} - \xdef\w@ritetag{\noexpand\newtag{#1}{\sshtagrefformat}} - \edef\t@agtext{\sshtagreplaceformat} - \else - \edef\t@agtext{#1} - \xdef\w@ritetag{\relax} - \fi - \g@head{\prssheadskip}{\possheadskip - }{\ssheadfont}{\t@agtext}{#2}{\sshtocout - }{\quad}} -\def\innerssshead #1#2{\ifautonumber - \global\advance \ssshnum by 1 - \updatespecialnumbers{4} - \xdef\w@ritetag{\noexpand\newtag{#1}{\ssshtagrefformat}} - \edef\t@agtext{\ssshtagreplaceformat} - \else - \edef\t@agtext{#1} - \xdef\w@ritetag{\relax} - \fi - \g@head{\prsssheadskip}{\posssheadskip - }{\sssheadfont}{\t@agtext}{#2}{\ssshtocout - }{\quad}} -\def\innerdssshead #1{\xdef\w@ritetag{\relax}\g@head{\prdsssheadskip}{\podsssheadskip - }{\dsssheadfont}{}{#1}{\dssshtocout}{}} -\outer\def\shead#1#2{\innershead{#1}{#2}} -\outer\def\sshead#1#2{\innersshead{#1}{#2}} -\outer\def\ssshead#1#2{\innerssshead{#1}{#2}} -\outer\def\dssshead#1{\innerdssshead{#1}} - -% ======== chead ========== -% The chapter head has a different format entirely -\newtoks\chaptername - -%this is the form of the present chapter head -%parameters are #1 is the title text \cheadfont, \chtagreplaceformat - -%\def\Chapter{Chapter } see English/french titles - -% indicates if chapters exist ... default is that they do not -% the first call to a \chead sets it true ... or it may be done in the style. -\newif\ifnochapter %\nochaptertrue - - -\def\cheadformat#1#2{\vglue 2.5cm - \line{$\vcenter{\hbox{\cheadfont - #1 - \vrule height 3ex depth 1ex width 0pt - }}\hss - \vcenter{\halign{&\cheadfont\hss - ##\vrule height 3ex depth 1ex width 0pt\cr - #2\crcr}}$} - \vskip 2.5cm} -\def\chapterstartform{} -\def\chead#1#2{\numberbychapter\nochapterfalse - \ifautonumber - \global\advance\chnum by 1 - \global\shnum=0 - \global\sshnum=0 - \global\ssshnum=0 - \xdef\w@ritetag{\noexpand\newtag{#1}{\chtagrefformat}} - \updatespecialnumbers{1} - \edef\t@agtext{\chtagreplaceformat} - \else - \edef\t@agtext{#1} - \xdef\w@ritetag{\relax} - \fi - \chaptername={#2} % for term write only ... includes \cr - \writeterm{<\t@agtext}{ }{\the\chaptername>} - \chaptername={\def\cr{ }#2} - \chapterstartform % here so both the number and title set - \cheadformat{\t@agtext}{#2} % format of chead - \w@ritetag - \writelistfile{toc}{\chtocout}{\t@agtext}{#2} - } - -% ========== Toc Out Forms =========== -% actually set in inrsdef.tex - -%\def\shtocout{\string\shtoc} -%\def\sshtocout{\string\sshtoc} -%\def\ssshtocout{\string\ssshtoc} -%\def\dssshtocout{\string\dssshtoc} -%\def\chtocout{\string\chtoc} \ No newline at end of file diff --git a/macros/inrstex/inrstex/specform.tex b/macros/inrstex/inrstex/specform.tex deleted file mode 100644 index c735d87d7b..0000000000 --- a/macros/inrstex/inrstex/specform.tex +++ /dev/null @@ -1,37 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% added PostScript forms of BNR Reports - -%========== Special styles =============== - -%----- Special Document Styles ------- -% INRSTeX learns of the existence of special document styles -% from spformats.tex -% and the actual code is in the particular name given -% The general form of a call for a specific style is \<...>style -% This call should translate into \input <filename> which should then -% redefine \<...>style and finally call it. -% Two special styles available through INRSTeX are a \bookstyle and a -% \bnrreportstyle. The latter is an example of a rather complex report -% style. Care should be taken that the appropriate messages are generated in -% the two languages. This means that the messages must be put in the -% english.tex and francais.tex files. These should be placed in inputs. They -% are read when \englishversion or \versionfrancaise are executed. - -% This is list of the special formats in INRSTeX. It is assumed that -% there is an actual format file for each of them. Paperstyle is the default -% for INRSTeX and this is actually embedded in the inrs.fmt file -% extra \relax forces the input before it expands the next token - -\def\paperstyle{\input papersty \relax} -\def\bookstyle {\input booksty \relax} -\def\bnrreportstyle{\input bnrsty \relax} % special local form -\def\bnrreportstyleps{\input bnrsty_ps \relax} % special local form -\def\inrsreportstyle{\input inrssty \relax} -\let\formatjournal=\paperstyle -\let\formatlivre=\bookstyle -\let\formatbnr = \bnrreportstyle % special local form -\let\formatbnrps = \bnrreportstyleps % special local form -\let\formatinrs =\inrsreportstyle diff --git a/macros/inrstex/inrstex/subdoc.tex b/macros/inrstex/inrstex/subdoc.tex deleted file mode 100644 index 80ca49abf6..0000000000 --- a/macros/inrstex/inrstex/subdoc.tex +++ /dev/null @@ -1,43 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -%======== macros for handling multiple part documents ======= -% documents may be broken down to the chapter or section level - - -% each part of the document will start with the command -% \subdocument -% it simply allows for the insertion of special macros or other stuff -% that normally would be brought in only once. In addition, the page numbering -% can be modified at this point to make sense at this point. - -% parameters should be entered to tell whether the sub document is just a -% section, chapter, or a section in a chapter. -% anything can be set inside the command -% For a chapter (or series) \following\chnum = <chapter number> -% \the\chaptername = {<Chapter name>} -% \nochaptersfalse -% \pagenumber [=] <pagenumber> - -%For a section in a document without chapters -% \following\shnum = <section number> -% \pagenumber [=] <pagenumber> - -% for a section in a document with chapters put both together -% it is assumed that the subdocument will start with a section or -% chead. The toplevel will set \subdocumentfalse immediately - -% this is here because it is most useful in sub document context -% multiple documents basically, \following\chnum =2 will set \chnum =1 - -\def\following#1{\def\a@df{\global\advance #1 by -1\relax} - \afterassignment \a@df \global#1 } - -\newif\ifs@ubdocument \s@ubdocumenttrue -\def\subdocumentmacros#1{\ifs@ubdocument #1 \fi\s@ubdocumentfalse} -\outer\def\inputsubdocument #1{\begingroup - \s@ubdocumentfalse - \let\done=\relax - \input #1 \relax - \endgroup} diff --git a/macros/inrstex/inrstex/tables.tex b/macros/inrstex/inrstex/tables.tex deleted file mode 100644 index 144169e9a2..0000000000 --- a/macros/inrstex/inrstex/tables.tex +++ /dev/null @@ -1,106 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. -% \left and \right redefined to remove primitive conflict MJF Oct 87 - - -%============= Table making macros ============ -% the basic format is -% \begintable -% <special definitions for this table> -% \table format <format as in halign except it needs ## instead of #> -% \br{<struts>} .... | .... | .... " ..... | .... \er{<stuff>} -% \- -% ....etc - -% these macros require that | and " be active during the entire -% document to work correctly. ... although some definitions specifically -% set them active -\newcount\a@lignstate \a@lignstate=0 %0 -- between lines after \cr - %1 -- beginning of line in \bl - %2 -- midline - %3 -- endline in \el -\def\hssf{\hskip 0pt plus 1fill minus 1fill\relax} -\def\n@ewaligndefs{\def\center##1{\hssf ##1\hssf\null} - \def\left##1{\ifmmode\l@f##1\else##1\hssf\null\fi} - \def\right##1{\ifmmode\r@t##1\else\hssf ##1\null\fi}} -\def\s@avelr{\let\l@f=\left\let\r@t=\right} -\newdimen\trulesize -\let\tr=\trulesize -\trulesize = .4pt -\def\zerocenteredbox#1{\ifmmode \ifinner \setbox2 =\hbox{$#1$}\else - \setbox2 =\hbox{$\displaystyle#1$}\fi - \else \setbox2 =\hbox{#1}\fi - \setbox0=\hbox{\lower.5ex\hbox{$\vcenter{\box2}$}}\ht0=0pt\dp0 =0pt\box0} -\let\zb=\zerocenteredbox - -%this macro creates a strut with the that is higher by #2 and deeper than #3 -% than the natural size of #1 ... the sizes may be negative -\def\modifystrut#1#2#3{\setbox4=\hbox{#1}\dimen0=\ht4 - \advance \dimen0 by #2 \dimen2 = \dp4 - \advance \dimen2 by #3 - \vrule width 0pt height \dimen0 depth \dimen2} -\let\mst=\modifystrut -%general math form -\def\math#1{\relax $\relax#1\relax$} -\def\displaymath #1{\relax$\displaystyle #1\relax$} - - -% -\newskip\tcs -\newtoks\tablespread -\newskip\midtabglue \midtabglue = 0pt plus 1fill -\newtoks\everytable \everytable = {\relax} - -{\catcode`\|=\active \catcode`\" = \active - \gdef\begintable{\vbox\bgroup \s@avelr \tcs=.5em % uses font in force when entering - \catcode`\|=\active - \catcode`\"=\active - \def\:{\relax \vrule height 2.5ex depth .9ex width 0pt} - \def\-{\ifcase\a@lignstate \fulltablerule{\tr} - \else - \thrule{\tr}\fi} - \let\t@xx =\relax % for premature expansions - \everycr={\noalign{\global\a@lignstate=0}} - \def\fulltablerule##1{\noalign{\hrule height - ##1}} - \def\thrule##1{\omit\leaders\hrule height ##1\hfill} - \def\center{\hskip\tcs\hss ########\hss\hskip\tcs} - \def\left{\hskip\tcs ########\hss\hskip\tcs} - \def\right{\hskip\tcs\hss ########\hskip\tcs} - \def\sprule{\tvrule{2.5\tr}} - \def|{\ifcase\a@lignstate \def\t@xx{\tvrule{\tr}}\or - \def\t@xx{\tvrule{\tr}}\or - \def\t@xx{\unskip&\tvrule{\tr}&}\else - \def\t@xx{\tvrule{\tr}}\fi\t@xx} - \def\|{\ifcase\a@lignstate \def\t@xx{\sprule}\or - \def\t@xx{\sprule}\or - \def\t@xx{\unskip&\sprule&}\else - \def\t@xx{\sprule}\fi\t@xx} - \def"{&########&} % for table format - \def\br##1{\global\a@lignstate=1 ##1\unskip\global\a@lignstate=2&} - \def\er##1{\global\a@lignstate=3\unskip&##1\unskip - \global\a@lignstate=0\cr} - \def\tvrule##1{\hss\vrule width ##1\hss} - \def~{\penalty\@M \hphantom{0}} % changes ~ to be phantom of width .5em - \tablespread = {} - \the\everytable - } - \gdef\begintableformat #1\endtableformat{\offinterlineskip \tabskip = 0pt - \edef\t@blform{####\tabskip =\midtabglue &####\tabskip=0pt\cr} %adds rules front and back - \n@ewaligndefs - \def"{\ifcase\a@lignstate \def\t@xx{\relax}\or - \def\t@xx{\relax}\or - \def\t@xx{\unskip&&}\else - \def\t@xx{\relax}\fi\t@xx} - \edef\h@align{\halign \the\tablespread} - \h@align\bgroup\span\t@blform} - }% " and | are always active in INRSTEX - -\def\use#1{\omit\mscount=#1 \advance\mscount by -1\multiply\mscount by2 - \loop\ifnum\mscount>1 \sp@n\repeat - \ifnum\mscount>0 \span \else \relax \fi} -\let\sp=\span -\let\om = \omit -\def\sa#1{\setbox0=\hbox{#1}\hbox to \wd0{}} -\def\endtable{\crcr\egroup\egroup} diff --git a/macros/inrstex/inrstex/tag.tex b/macros/inrstex/inrstex/tag.tex deleted file mode 100644 index dc16574388..0000000000 --- a/macros/inrstex/inrstex/tag.tex +++ /dev/null @@ -1,93 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ============ Tag Generation ========== -% These are the macros that generate the actual tags. They are used in -% automatic equation numbering, section heads and any \auto...num{tag} form. - - -% ============== Symbol that is dropped in when a tag is undefined ====== -\def\undefsymbol{\hbox{\vrule width 1em height .7em}} - -% ========== Tag types ============ -% Two types of tags are now supported. They differ in that one form is -% immediate, and hence can refer only to things that have been defined while -% the other is delayed until the page is printed. These latter sometimes do -% migrate all the way out of internal boxes. -% \ptag is the delayed form and \tag is the immediate form - -% page tags may turn out to be rather expensive. They are turned on through -% the following form -\newif\ifp@tag -\def\pagetagson{\p@tagtrue} % this may require more work later -\def\pagetagsoff{\p@tagfalse} % this is the default - - -% ============ Tag macros ========= -% #1 is tag string -% #2 is tag value (defined as the macro ":@#1") - -\def\tag#1#2{\expandafter\xdef\csname :@#1\endcsname{#2}} - -% #1 is tag string -% #2 is tag value (defined as the macro ";@#1") - -\def\ptag#1#2{\expandafter\xdef\csname ;@#1\endcsname{#2}} - -% \newttag makes an immediate \tag and writes it out immediately - -\def\newttag#1#2{\def\next{#1}\ifx \next\empty\tag{#1}{#2}\else - \tag{#1}{#2}\ift@agfilein \immediate\write\t@agfile - {\string\tag{#1}{#2}}\fi\proofmargin{#1 ==> #2}\fi} - -% \newptag makes a page tag by writing it out to a file .. it is -% not made immediately - - -\def\newptag#1{\def\next{#1}\ifx \next\empty\relax\else - \ift@agfilein - {\let\folio=\relax\xdef\next{\write\t@agfile - {\string\ptag{#1}{\folio}}}}\else\xdef\next{\relax}\fi - \fi\next} - -\def\newtag#1#2{\newttag{#1}{#2}\ifp@tag\newptag{#1}\fi} - - -%undefined tag message - -%\def\undeftagmessage#1{ <<<tag:#1 = undefined>>> } see english/french titles - -% Tag reference macro -% #1 is the string that was originally used in the tag -\def\r@ef#1#2{\def\doit{\ifundefined{#2#1}\writeterm{\undeftagmessage{#1}}{}{}\proofmargin - {tag: #1 <-- undefined}\undefsymbol\else - \proofmargin{ #1 <-- \csname #2#1\endcsname - }\csname #2#1\endcsname - \fi}\relax - \ifautoreference \doit \else#1\fi} -\def\q@ref#1#2{\ifautoreference \csname #2#1\endcsname\else#1\fi} - -% ========= Normal Section Tag References =========== -\def\ref#1{\r@ef{#1}{:@}} -\def\quietref#1{\q@ref{#1}{:@}} - -% ======== Page References ========== -\def\pageref#1{\r@ef{#1}{;@}} -\def\pagequietref#1{\q@ref{#1}{;@}} -\let\pref=\pageref -\let\qref=\quietref -\let\pqref=\pagequietref - - -% General autotag generation, used for equation numbers, figure numbers etc. -% #1 = tag -% #2 = counter -% #3 = tag format -% #4 = auto text -% #5 = noauto text -% does not generate text if \silenttrue -\def\a@utotag#1#2#3#4#5{\ifautonumber - \global\advance #2 by 1 \relax - \newtag{#1}{#3}\edef\t@ext{#4}\else \edef\t@ext{#5}\fi - \ifsilent\else\t@ext\fi} diff --git a/macros/inrstex/inrstex/tocform.tex b/macros/inrstex/inrstex/tocform.tex deleted file mode 100644 index 86999ba0d1..0000000000 --- a/macros/inrstex/inrstex/tocform.tex +++ /dev/null @@ -1,108 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ======== Table of Contents, Figures, and Tables -- Examples ====== -% The "list" file is written using \writelistfile and the \shtoc ... -% are used to create the actual table of contents, figures, tables. -% Extensions to other forms should be obvious. - - - -%====== general structure for making table of contents, tables, etc. -% ------ table of contents is slightly different because it refers to itself - -% file names (defaults) \jobname.toc --- table of contents -% \jobname.fig --- list of figures -% \jobname.tbl --- list of tables - -% to initiate a build of any of these it is only necessary to -% \openlistfile{<...>} --- This should be only done once -% when this is done a <..>list flag or switch is also created - -% To print any of these lists it is only necessary to -% use the following format -% \begingroup -% \def\sshtoc#1#2#3{} % omits or specially defines . and any other -% \preludehead{<name list>} % .... or what you wish -% \maketoclist % This is for toc files only ... self referential -% \input \jobname.<extension> -% \ejectpage % if desired -% \endgroup - -% a few special macros are defined for toc/list file management (VAX/VMS) - -\newif\ifnotdefined % \ifundefined is sensitive if it fails -\def\checklistopen#1{\notdefinedfalse\ifundefined{if#1list}\notdefinedtrue\relax - \fi} -\def\c@k#1{\csname if#1list\endcsname \jobname.#1;-1 \else \jobname.#1 \fi} -\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi} - % \c@k is necessary because of the way TeX expands - -\newtoks\inputtocfiles -\inputtocfiles = {\checklistopen{toc}\inputwithcheck{\newlistfilename{toc}}} -\def\maketoclist{\begingroup\captionbodyoff\the\inputtocfiles\endgroup} - -\newtoks\inputfigfiles -\inputfigfiles = {\checklistopen{fig}\inputwithcheck{\newlistfilename{fig}}} -\def\makefiglist{\begingroup\captionbodyoff\the\inputfigfiles\endgroup} - -\newtoks\inputtblfiles -\inputtblfiles = {\checklistopen{tbl}\inputwithcheck{\newlistfilename{tbl}}} -\def\maketbllist{\begingroup\captionbodyoff\the\inputtblfiles\endgroup} - - -% ======== macro forms for toc, fig, tbl ========= -% Some of these are defined as null to suppress printing of the -% corresponding entries. -% #1 Number -% #2 Text -% #3 Page number -% ========== toc macro forms ========== -% special forms that allow for multiple line titles ... auto line breaking -% only -%#1--indent #2 --section number #3--title -% #4-- pagenumber -\newdimen\t@ocsize -\newdimen\righttocindent %\righttocindent = 5em - -\def\tocfill{\leaders\hbox to .5em{\hss.\hss}\hfill\hskip .5em} - -% default font is \rm ... may be changed in the actual \figtoc ...etc -% macros as given below. - -\def\tocbox#1#2#3#4{\line{\rm \t@ocsize=\hsize - \setbox2=\hbox {\hskip#1\relax#2\quad} - \advance\t@ocsize by -\righttocindent - \vbox{\hsize \t@ocsize \normalbaselines - \setstrut - \hangindent 1\wd2 - \hangafter 1 \def\cr{\linebreak}\frenchspacing - \veryraggedright \parindent=0pt\leavevmode - \box2\relax#3\strut\null\nobreak\rm\tocfill - #4\hskip -\righttocindent\strut}\hss}} - -% ---------- figure forms ------- -\def\figtoc#1#2#3{ \vskip 1ex plus 1pt minus 1pt - \tocbox{2em}{#1}{#2}{#3}} -% ---------- table forms ------- -\let\tbltoc=\figtoc - -\def\prtoc#1#2#3{ \vskip 1ex plus 1pt minus 1pt - \tocbox{0em}{\it#1}{\it#2}{\it#3}} - -\def\chtoc#1#2#3{ \goodbreak\vskip 2ex plus 1pt minus 1pt - \tocbox{0em}{\sheadfont#1}{\sheadfont\def\cr{ }#2}{#3}} -\def\shtoc#1#2#3{ \vskip 1ex plus 1pt minus 1pt - \tocbox{2em}{#1}{#2}{#3}} -\def\sshtoc#1#2#3{ \vskip .5ex plus 1pt minus 1pt - \tocbox{4em}{#1}{#2}{#3}} -\def\intssshtoc#1#2#3{ \vskip .3ex plus 1pt minus 1pt - \tocbox{6em}{#1}{#2}{#3}} -\def\intdssshtoc#1#2#3{ \vskip 1pt plus 1pt minus 1pt - \tocbox{8em}{#1}{#2}{#3}} -\def\ssshtoc#1#2#3{} -\def\dssshtoc#1#2#3{} - -% the upper two forms are defaulted to be omitted. They are easily included -% with a \let\ssshtoc = \intssshtoc ... etc . \ No newline at end of file diff --git a/macros/inrstex/inrstex/writdos.tex b/macros/inrstex/inrstex/writdos.tex deleted file mode 100644 index 124ef3b99c..0000000000 --- a/macros/inrstex/inrstex/writdos.tex +++ /dev/null @@ -1,39 +0,0 @@ -% This is a file that modifies the file nameing conventions in INRSTeX -% for IBM DOS 3.0 ... It works in conjunction with a command file that -% renames old versions of files produced by INRSTeX. The convention is -% to add "@" to the beginning of the filename. This has the advantage of -% leaving the extensions intact but has the disadvantage of -% truncating 8 letter filenames. The "@" is not sacrosanct. - -% if a job is aborted, the old files may be made current with -% rename @<jobname>.* <jobname>.* - -% There are several places in INRSTeX that require changes. - -\catcode`\@=11 - -% ------ auto.tex ----- - -% \inputtagfiles={\inputwithcheck {\jobname.tag}} -\inputtagfiles={\inputwithcheck {@\jobname.tag}} % will have been renamed - - -% -------- tocform.tex ------ - -%\def\c@k#1{\csname if#1list\endcsname \jobname.#1;-1 \else \jobname.#1 \fi} -%\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi} - % VAX/VMS \c@k is necessary because of the way TeX expands - -\def\c@k#1{\csname if#1list\endcsname @\jobname.#1 \else \jobname.#1 \fi} -\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi} - % \c@k is necessary because of the way TeX expands - -% ----------- cite.tex --------- - -% This does not need changing as long as the citation list ALWAYS follows -% the citations. If this is not the case, then an old version will have to -% used. This might lead to other problems later. - -% \citetagfilename = {\jobname.ctg} %compatible Ugh! - -\catcode `\@=12 diff --git a/macros/inrstex/inrstex/writfile.tex b/macros/inrstex/inrstex/writfile.tex deleted file mode 100644 index 91cfc9244f..0000000000 --- a/macros/inrstex/inrstex/writfile.tex +++ /dev/null @@ -1,62 +0,0 @@ -%-*-tex-*- -% Copyright Michael J. Ferguson, INRS-Telecommunications -% All rights reserved. - -% ========== List Files ========= -% General macros for making, open and closing "list' files. These are files -% where the form output includes a page reference. They are named with a -% three letter extension ... eg ".fig" ... to the \jobname form. - - -% \writelistfile -% #1 file type to write -% #2 command form (\string\cs) -% #3 number ..... expanded -% #4 text .... not expanded -% Write to the appropriate list file if #1list is true and defined -% This means that the arguments must be -% expanded to reflect the state of affairs at the time of invocation. -% However, the page number must not be expanded until the -% output routine has had a chance to decide which page it will go on. - - -% this uses the upper toks registers for scratch writing. -% when the number of token registers used is within 10 of the -% newtoks count, it is reset ... there is no checking ... however -% there should be no problems ... except for token space (ugh!!!) -% This is necessary (at least in TeX 1.1) in order to prevent spurious -% expansion. - - -\newcount\sptoks \sptoks=255 % start at top with this counter -\xdef\maxlistmess{224} % 10 less than the min toks number allowed ... 20 -\def\nextsptoks{\advance\sptoks by -10 \relax \ifnum\sptoks < \count15 - \global\sptoks=255 \else - {\ifnum\sptoks<\maxlistmess - \global\sptoks=255\else \global\advance\sptoks by 9\relax\fi}\fi} -\def\settoks#1{\xdef\sptoksnum{\the\sptoks}\global\expandafter\toks\sptoksnum = {#1}} - -\def\writelistfile#1#2#3#4{\ifundefined{if#1list}\n@ewswitch{#1list}\fi - \csname if#1list\endcsname - {\let\folio=\relax %do not expand \folio - \nextsptoks\settoks{#4}\edef\next{\write\csname #1@file\endcsname - {#2{#3}{\noexpand\the\noexpand\toks\sptoksnum}{\folio}}}\next}\fi\nobreak} - -%checks to see if open -\def\openlistfile#1{\ifundefined{if#1list}\n@ewswitch{#1list}\fi - \def\n@extwrite{\relax}\ifundefined{#1@file}\def\n@extwrite - {\expandafter\n@ewwrite\csname #1@file\endcsname}\fi - \csname if#1list\endcsname - \else - \n@extwrite - \edef\n@ext{\immediate\openout\csname #1@file\endcsname - = \jobname.#1}\n@ext - \expandafter\global\csname #1listtrue\endcsname - \fi } %opens the list file - - -\def\closelistfile#1{\expandafter\global\csname #1listfalse\endcsname - \edef\n@ext{ - \closeout\csname #1@file\endcsname} - \n@ext} %closes the list file - diff --git a/macros/inrstex/inrstex/writunix.tex b/macros/inrstex/inrstex/writunix.tex deleted file mode 100644 index ada5c6a0b9..0000000000 --- a/macros/inrstex/inrstex/writunix.tex +++ /dev/null @@ -1,41 +0,0 @@ -% This is a file that modifies the file naming conventions in INRSTeX -% for Berkeley Unix ... It works in conjunction with a command file that -% renames old versions of files produced by INRSTeX. The convention is -% to add "~" to the end of the filename. This is the same indication that -% EMACS uses for old versions. Note that there is no concern with file -% name length in Berkeley Unix. The "~" is not sacrosanct. - -% if a job is aborted, the old files may be made current (in csh) with -% foreach i (<jobname>.*~) -% mv $i `basename $i \~` -% end - -% There are several places in INRSTeX that require changes. - -\catcode`\~=11 - -% ------ auto.tex ----- - -% \inputtagfiles={\inputwithcheck {\jobname.tag}} -\inputtagfiles={\inputwithcheck {\jobname.tag~}} % will have been renamed - - -% -------- tocform.tex ------ - -%\def\c@k#1{\csname if#1list\endcsname \jobname.#1;-1 \else \jobname.#1 \fi} -%\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi} - % VAX/VMS \c@k is necessary because of the way TeX expands - -\def\c@k#1{\csname if#1list\endcsname \jobname.#1~ \else \jobname.#1 \fi} -\def\newlistfilename#1{\ifnotdefined \jobname.#1 \else \c@k{#1} \fi} - % \c@k is necessary because of the way TeX expands - -% ----------- cite.tex --------- - -% This does not need changing as long as the citation list ALWAYS follows -% the citations. If this is not the case, then an old version will have to -% used. This might lead to other problems later. - -% \citetagfilename = {\jobname.ctg} %compatible Ugh! - -\catcode `\~=\active diff --git a/macros/inrstex/pc/readme.txt b/macros/inrstex/pc/readme.txt deleted file mode 100644 index 21db003ce7..0000000000 --- a/macros/inrstex/pc/readme.txt +++ /dev/null @@ -1,258 +0,0 @@ - -Michael Ferguson -- Aug. 1991 -mike@inrs-telecom.uquebec.ca -(514)765-7834 - -INRSTeX is a complete document preparation package, including graphics for -document preparation. It was designed from the beginning for use in a -bilingual (French/English) environement. -The system, excluding its graphics component, is usable -with any TeX system but is most useful, when using ordinary "cm" -fonts with an MLTeX system. TeXGraph will work with any reasonable -PostScript driver ans has been specialized here to work with a modified -modified version of Nelson~Beebe's DVIALW on the IBM~PC and -uses Tom~Rokiki's DVIPS on the UNIX workstations. The PC Version of the -package includes an MSDOS version of the modified DVIALW. - -The INRSTeX macro package kernel is built on top of PLAIN. All the -facilties of plain are left intact and available. Additional facilities are -included for - -* section and chapter heads, -* lists, -* easy tables, -* floating figure and table insertions, -* footnotes, -* automatic generation of table of contents, list of figures, and - list of tables, -* automatic numbering of equations, section heads, etc., -* symbolic referencing of equations, sections, etc., -* optional margin notes to aid in keeping track of symbolic - references, -* automatic generation of citation lists (IEEE style only) -* a subdocument feature for building large documents in pieces. -* a verbatim style using {\tt typewriter} fonts for such things as - program listings, -* a several document styles including a paperstyle and bookstyle. -* TeXgraph, a graphics system for drawing figures and inserting - external figures. This uses the graphics primitives of PostScript. - It is inside rather than outside the TeX system. -* slide making including graphics for letterhead, -Installation Guide for INRSTeX with MLTeX 3.+ or TeX 3.+ - -------------------------------------------------------------------- - -The system is supplied as compressed *.zip files that can be unpacked with -PKUNZIP. The file list is as follows: - -README TXT 7032 8-22-91 7:53a --- This file - -DVIALW TXT 1251 8-23-91 10:43a --- List of command line options - for DVIALW - -INRSTEX ZIP 117630 8-04-91 7:47a --- INRSTeX sources ... These are - only needed for creating an INRSTeX format file. -INRSINPU ZIP 36841 8-04-91 7:54a --- This is a complete set of - additional macros, including the graphics that may be called as - needed by INRSTeX. These should be put in your TEXINPUTS directory. -TEXGRAPH ZIP 115632 8-04-91 7:59a --- These are the TeXgraph macros, - both for INRSTeX and LaTeX. It also the INRS modified includes - DVIALW. -DOC_TEX ZIP 201034 8-22-91 8:31p --- These are the TeX source files - for the INRSTeX Refernce book. -DOC_DVI ZIP 256912 8-22-91 8:28p --- These are DVI files, for each - chapter of the Reference Book. The file THGRAPH.DVI is the - documentation for TeXGraph. -PKZIP EXE 31408 10-01-89 1:02a -PKUNZIP EXE 22022 10-01-89 1:02a -BATCH ZIP 1532 8-04-91 8:05a --- These are some batch files, - including INRSTEX.BAT that should be used for invoking INRSTeX. - ------------------------------------------------------------------------ - - - - - -INRSTeX is a multilingual document preparation system. It comes in many -flavors, unfortunately, and is easily customized. The main documentation is -the "INRSTeX Reference Manual". The graphics part of INRSTeX requires a -driver that will interpret inline PostScript correctly and process the -information in the *.dvi file in the order that it occurs. An INRS modified -version of Nelson Beebe's DVIALW driver does this and is included with the -TeXGraph files. The only documentation of TeXGraph at the moment is in the -detailed comments in the texgraph.sty file. This requires that your print -driver be able to interpret a few commands. Plot files are assumed to be -Encapsulated PostScript with a correct bounding box. TeXGraph reads this -box and leaves the appropriate space. It is also possible to rotate and/or -scale a graph. - - -INRSTeX as supplied gives messages in English and French. These messages -should be changed for other languages. Most of the messages are found in -inrsdef.tex - - -Customizing INRSTeX - -Different flavors of INRSTeX are needed for different operating systems and -versions of TeX. Changes are made by editing the file inrs.tex or one of the -specialized files. These files are very heavily documented ... to make -changes easier. The master file inrs.tex brings in the specialized files for -various services. In some cases, this file must be editied to bring in the -correct version of the file for a particular installation. A good example is -given below for fonts. - -Customizing changes may be necessary in the following areas: - -1. Fonts - -TeX 3.0 uses Computer Modern (cm...) fonts. This version of INRSTeX does not -require the new 256 character extended fonts. Modifications to include -these fonts should be quite easy when they become available. The current -INRSTeX book was made with (am...) fonts and includes many fonts that are -not available on the current distribution. INRSTeX, in addition to defining -point families, adds fonts necessary to complete font families at various -point sizes. It may be necessary to add/delete fonts and font families for -your specific installation. - -In addition there is a file spfont.tex that defines an arbitrarily scaled -family of \tenpoint. It is used only in the slide package and is the -(cm...) version only. Some TeX distribution tapes do not have diminished -pixel versions of the fonts. - -2. File Naming: - -INRSTeX writes out a number of auxiliary files. They have the same name as -the input file but with different extensions. These are used to create -tables of contents, figures, tables, .... The design is such that the page -numbers for the "table of contents", for example may be in the table of -contents. If INRSTeX has already opened the "job.toc" file and then tries -to bring in the "job.toc" file to write the table of contents, it will -bring in the previous version. For systems without versions, such as MSDOS -or Unix, this is done by inputting files with the name "@job.toc" or -"job.toc~" respectively. This means that INRSTeX must be invoked using an -INRSTEX.BAT file for MSDOS or a shell script like INRSTEX.SH for Unix. - -To build an INRSTeX format file for MSDOS, it is necessary to - -\input writdos - -This is included in the INRS3_PC.TEX master file. - -For Unix, the \input writdos should be replaced by - -\input writunix - -For systems with version numbers, and the concept of version "-1" such as -VAX/VMS, neither of these are required. - -The auxiliary files normally written have the extensions: - -.toc -- table of contents -.tbl -- list of tables -.fig -- list of figures -.ctg -- list of citations -.tag -- list of internal references such as equations or sections - -In addition, for the INRSTeX reference manual a chapter status file and -an index file - -masth.sta -masth.ind - -are written. - - -3. inrsdef.tex - -All of the default spacings, fonts, etc. for INRSTeX are given in this file. -For information this file also includes any defaults set in PLAIN. Those -defaults may be changed in this file. In fact, it was intended that all of -the defaults would be found in this file. - -4. Graphics and INRSTeX - -This version of INRSTeX includes TeXGraph, a system for creating graphics -and including EPSF (Encapsulated PostScript Format) files in a TeX -document. In order to make the package self contained, we have included a -modified version of Nelson Beebe's DVIALW (for MSDOS only). -This, along with a PostScript printer will allow you to produce "complete" -documents. - - -5. Installation: - -To create a format file for INRSTeX, with French and English hyphenation -patterns, you should INITEX the inrs3_pc file. inrs3_pc brings in a version -of plain.tex, called plain_nh.tex that does not call the hyphenation -tables. The hyphenation tables are called later in masthyph.tex. - -The inrs3_pc.tex file has a switch that checks to see if \charsubdef is -defined in the INITEX to distinguish between MLTeX 3.+ and TeX 3.+. It then -brings in the appropriate files to access and define extended characters. - -If necessary, you might have to increase some of TeX's internal parameters -such as font memory. For TeX 2.+, it was necessary to have \f 25000 when -invoking PCTeX. - -6. Documentation - -The INRSTeX reference manual is included on these floppies. It is over 200 -pages longs so that printing it all at once might either break your printer -and/or cause you to be accused of antisocial behaviour. - -The complete sources and a complete set of .DVI files are included in the -\inrsdoc directory in .ZIP compressed form. Both PKZIP and PKUNZIP are -included. They have been supplied as approximately one chapter per file. To -obtain the .DVI files just type - -pkunzip doc_dvi - -The uncompressed .dvi files are approximately 1 megabyte. This set also -includes IEEELOGO.PS which is needed to create the corresponding .PS files. -To create the corresponding PostScript files just execute MASTPS.BAT - -mastps - -The PostScript files take up about 3.5 meg while the uncompressed .DVI -files take up about 1 meg. - -In addition, the complete sources for the Reference Book are included. -These are uncompressed by - -pkunzip doc_tex - -To create a new set of .dvi files, if you should follow this path. - -a) Tex the master file masth.tex to create a complete set of index, -status, and table of contents files by - -tex masth - -b) Massage and sort the index file MASTH.IND to create a MASTH.SOR by -running the program - -indsort - -The C sources for this program are included. - -c) Create .dvi files for each chapter by running the MASTH.BAT file. - -masth - -d) Create the PostScript files by running the MASTPS.BAT file. - -mastps - -e) To print the all of the resulting files use the MASTPR.BAT file. - -mastpr - -This, after feeding paper to your printer will give you the complete book. - -Yours -Michael J. Ferguson - - - \ No newline at end of file diff --git a/macros/inrstex/texgraph/ieeelogo.ps b/macros/inrstex/texgraph/ieeelogo.ps deleted file mode 100644 index c0eeab6ec3..0000000000 --- a/macros/inrstex/texgraph/ieeelogo.ps +++ /dev/null @@ -1,685 +0,0 @@ -%! -%%BoundingBox: 215.040000 362.160000 396.720000 429.840000 -0.240000 0.240000 scale -896 1509 translate -768 282 scale -768 282 true [768 0 0 -282 0 282] {< -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000700000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000001C000000000000000000000000000000000000000000000000000000000000000000F800000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000FF00000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000001FF800000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000003FFC00000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000007FFE000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000FFFF00000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000001FFFF0000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000003FFFF80000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000003FFFFC0000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000007FFFFE00000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000FFFFFE0000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000001FFFFFF000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000001FFFFFF8000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000003FFFFFF8000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000007FFFFFFC0000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00FFFFFFFE000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000001FFFFFFFF00000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000001FFFFFFFF800000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000003FFFFFFFF800000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000007FFFFFFFFC000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0FFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000001FFFFFFFFFE0000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFF00000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000003FFFFFFFFFF80000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000003FFFFFFFFFFC00000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFE0000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFF000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFFFF0000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000003FFFFFFFFFFFF8000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000007FFFFFFFFFFFFC0000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000007 -FFFFFC1FFFFFE000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000FFFFFE003FFFFF00000000000000000000000000000000000 -0000000000000000000000001FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000001FFFFF8000FFFFF000 -000000000000000000000000000000000000000000000000000000001FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000003FFFFF03E03FFFF800000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000007FFFFC1FFC1FFFFC000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000FF -FFF87FFF07FFFE00000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000001FFFFE0FFFF83FFFF0000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000003FFFFC3FFFFE1FFFF80 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000007FFFF07FFFFF07FFFC0000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000007FFFE1FFFFFFC3FFFE00000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000001FFF -F83FFFFFFE1FFFE0000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000001FFFF07FFFFFFF07FFF000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000003FFFF0FFFFFFFF83FFF8 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000007FFFC3FFFFFFFFC1FFFC000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000FFFF87FFFFFFFFF0FFFE0000000000000000 -00000000000000000000000000000000000000000FC000000000000000000000000000000007FFFF -F800000000000000000000000000000000000000000000000000000000000000000000000001FFFF -0FFFFFFFFFF87FFF000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000001FFFFFFFFFC00000000000000000000000000000000000000000000 -0000000000000000000000000003FFFE1FFFFFFFFFF81FFF80000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000000000000FFFFFFFFFFF800000000000 -000000000000000000000000000000000000000000000000000000000007FFFC3FFFFFFFFFFE0FFF -C00000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000FFFFFF83FFFFF80000000000000000000000000000000000000000000000000000000000 -00000000000FFFF0FFFFFFFFFFFF07FFE00000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000000007FFF8000000FFFF00000000000000000000000000 -0000000000000000000000000000000000000000001FFFE1FFFFFFFFFFFF83FFF000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000003FFE000000 -0003FFE00000000000000000000000000000000000000000000000000000000000000000003FFFC3 -FFFFFFFFFFFFC1FFF80000000000000000000000000000000000000000000000000000000FC00000 -0000000000000000000000FFE000000000003FFC0000000000000000000000000000000000000000 -000000000000000000000000007FFF87FFFFFFFFFFFFE0FFFC000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000FFE00000000000007FF00000000 -0000000000000000000000000000000000000000000000000000000000FFFF0FFFFFFFFFFFFFF87F -FE0000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00001FF0000000000000007FC0000000000000000000000000000000000000000000000000000000 -0000000001FFFC3FFFFFFFFFFFFFFC3FFF0000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000000FF80000000000000000FF80000000000000000000000 -000000000000000000000000000000000000000003FFF87FFFFFFFFFFFFFFE0FFF80000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003FE0000000000 -00000003FE0000000000000000000000000000000000000000000000000000000000000007FFF0FF -FFFFFFFFFFFFFF07FF8000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000007F80000000000000000007F80000000000000000000000000000000000000 -0000000000000000000000000FFFF1FFFFFFFE7FFFFFFF83FFC00000000000000000000000000000 -0000000000000000000000000FC000000000000000000000001FC00000000000000000001FC00000 -000000000000000000000000000000000000000000000000000000001FFFE3FFFFFFFC7FFFFFFFE1 -FFE000000000000000000000000000000000000000000000000000000FC000000000000000000000 -003F0000000000000000000007F80000000000000000000000000000000000000000000000000000 -000000003FFFC7FFFFFFFC3FFFFFFFE0FFF000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000780000000000000000000001FC00000000000000000000 -00000000000000000000000000000000000000007FFF9FFFFFFFFC3FFFFFFFF07FFC000000000000 -00000000000000000000000000000000000000000FC00000000000000000000000C0000000000000 -00000000007F000000000000000000000000000000000000000000000000000000000000FFFE3FFF -FFFFF81FFFFFFFFC3FFE00000000000000000000000000000000000000000000000000000FC00000 -0000000000000000078000000000000000000000001F800000000000000000000000000000000000 -000000000000000000000001FFFC7FFFFFFFF81FFFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC0000000000000000000000E00000000000000000000000007E000 -00000000000000000000000000000000000000000000000000000003FFF8FFFFFFFFF00FFFFFFFFF -0FFF80000000000000000000000000000000000000000000000000000FC000000000000000000000 -3C00000000000000000000000003F000000000000000000000000000000000000000000000000000 -0000000FFFF1FFFFFFFFF00FFFFFFFFF87FFC0000000000000000000000000000000000000000000 -000000000FC0000000000000000000007800000000000000000000000000F8000000000000000000 -000000000000000000000000000000000000001FFFE3FFFFFFFFF00FFFFFFFFFC3FFE00000000000 -00000000000000000000000000000000000000000FC000000000000000000001F0000000000003FF -FC00000000007E000000000000000000000000000000000000000000000000000000003FFFC7FFFF -FFFFE007FFFFFFFFE1FFF0000000000000000000000000000000000000000000000000000FC00000 -0000000000000003C000000000003FFFFFC0000000003F0000000000000000000000000000000000 -00000000000000000000007FFF8FFFFFFFFFE007FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC000000000000000000007800000000000FFFFFFF0000000000F80 -000000000000000000000000000000000000000000000000000000FFFF9FFFFFFFFFE007FFFFFFFF -F87FFC000000000000000000000000000000000000000000000000000FC00000000000000000001F -000000000007FFFFFFF80000000007C0000000000000000000000000000000000000000000000000 -000001FFFE3FFFFFFFFFE003FFFFFFFFF83FFE000000000000000000000000000000000000000000 -000000000FC00000000000000000003C00000000000FFFFFFFF80000000003F00000000000000000 -00000000000000000000000000000000000003FFFC7FFFFFFFFFC003FFFFFFFFFC1FFF0000000000 -00000000000000000000000000000000000000000FC00000000000000000007800000000001FFFFF -FFF80000000000F8000000000000000000000000000000000000000000000000000007FFF8FFFFFF -FFFFC001FFFFFFFFFE0FFF800000000000000000000000000000000000000000000000000FC00000 -00000000000000F000000000003FFFFFFF8000000000007C00000000000000000000000000000000 -000000000000000000000FFFF1FFFFFFFFFF8001FFFFFFFFFF07FFE0000000000000000000000000 -0000000000000000000000000FC0000000000000000001E000000000007FFFFFF80000000000003E -00000000000000000000000000000000000000000000000000001FFFE3FFFFFFFFFF8001FFFFFFFF -FF87FFE00000000000000000000000000000000000000000000000000FC0000000000000000003C0 -0000000000FFFFFFE00000000000001F000000000000000000000000000000000000000000000000 -00003FFFC7FFFFFFFFFF8000FFFFFFFFFFC3FFF80000000000000000000000000000000000000000 -000000000FC0000000000000000007800000000001FFFFFF800000000000000F8000000000000000 -0000000000000000000000000000000000007FFF8FFFFFFFFFFF0000FFFFFFFFFFE1FFFC00000000 -00000000000000000000000000000000000000000FC000000000000000000F000000000003FFFFFF -0000000000000007C000000000000000000000000000000000000000000000000001FFFF1FFFFFFF -FFFF0000FFFFFFFFFFF0FFFE0000000000000000000000000000000000000000000000000FC00000 -0000000000001C000000000007FFFFFC0000000000000003E0000000000000000000000000000000 -00000000000000000003FFFE3FFFFFFFFFFF00007FFFFFFFFFFC7FFF000000000000000000000000 -0000000000000000000000000FC000000000000000003C000000000007FFFFFC0000000000000001 -F000000000000000000000000000000000000000000000000007FFFC7FFFFFFFFFFE00007FFFFFFF -FFFC3FFF8000000000000000000000000000000000000000000000000FC000000000000000007800 -000000000FFFFFFC0000000000000000F80000000000000000000000000000000000000000000000 -000FFFF87FFFFFFFFFFE00007FFFFFFFFFFE1FFFC000000000000000000000000000000000000000 -000000000FC00000000000000000F000000000000FFFFFFFC0000000000000007800000000000000 -00000000000000000000000000000000003FFFF0FFFFFFFFFFFE00003FFFFFFFFFFF0FFFF0000000 -00000000000000000000000000000000000000000FC00000000000000001E000000000000FFFFFFF -FF000000000000003C0000000000000000000000000000000000000000000000007FFFF1FFFFFFFF -FFFC00003FFFFFFFFFFF87FFF800000000000000000000000000000000000000000000000FC00000 -000000000001C000000000001FFFFFFFFFF00000000000001E000000000000000000000000000000 -000000000000000000FFFFC3FFFFFFFFFFFC00003FFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC000000000000000038000000000001FFFFFFFFFFE000000000000 -0F000000000000000000000000000000000000000000000001FFFF87FFFFFFFFFFFC00003FFFFFFF -FFFFE3FFFE00000000000000000000000000000000000000000000000FC000000000000000078000 -000000003FFFFFF00FFFC00000000000070000000000000000000000000000000000000000000000 -03FFFF8FFFFFFFFFFFFC00003FFFFFFFFFFFF1FFFF80000000000000000000000000000000000000 -000000000FC0000000000000000F0000000000007FFFFFF0007FF000000000000780000000000000 -000000000000000000000000000000000FFFFF1FFFFFFFFFFFFF0000FFFFFFFFFFFFF0FFFFC00000 -00000000000000000000000000000000000000000FC0000000000000001E000000000001FFFFFFF0 -000FFC000000000003C0000000000000000000000000000000000000000000001FFFFE1FFFFFFFFF -FFFFC003FFFFFFFFFFFFF87FFFE0000000000000000000000000000000000000000000000FC00000 -00000000001C000000000007FFFFFFF00000FF000000000001E00000000000000000000000000000 -00000000000000003FFFFC3FFFFFFFFFFFFFE00FFFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC0000000000000003C00000000001FFFFFFFF000003F8000000000 -01F0000000000000000000000000000000000000000000007FFFF87FFFFFFFFFFFFFF00FFFFFFFFF -FFFFFE1FFFF8000000000000000000000000000000000000000000000FC000000000000000380000 -0000003FFFFFFFF800000FE00000000000F000000000000000000000000000000000000000000000 -FFFFF8FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF1FFFFC000000000000000000000000000000000000 -000000000FC000000000000000700000000000FF1FFFFFF8000003F8000000000078000000000000 -00000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF0FFFFF0000 -00000000000000000000000000000000000000000FC000000000000000F00000000001F81FFFFFFC -000000FE00000000007C00000000000000000000000000000000000000000007FFFFE3FFFFFFFFFF -FFFFF00FFFFFFFFFFFFFFF87FFFF800000000000000000000000000000000000000000000FC00000 -0000000000E00000000007F00FFFFFFC0000003F00000000003C0000000000000000000000000000 -000000000000000FFFFFC7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFC3FFFFC0000000000000000000 -0000000000000000000000000FC000000000000001E0000000000FC00FFFFFFE0000001F80000000 -001E0000000000000000000000000000000000000000003FFFFF87FFFFFFFFFFFFFFF00FFFFFFFFF -FFFFFFE3FFFFF00000000000000000000000000000000000000000000FC000000000000003C00000 -00001F8007FFFFFF00000007C0000000000E0000000000000000000000000000000000000000007F -FFFF8FFFFFFFFFFBFFFFF00FFFFFFFFFFFFFFFF1FFFFF80000000000000000000000000000000000 -000000000FC00000000000000380000000003E0007FFFFFF80000003F0000000000F000000000000 -000000000000000000000000000001FFFFFF1FFFFFFFFFC03FFFF00FFFFFFFFFFFFFFFF0FFFFFE00 -00000000000000000000000000000000000000000FC0000000000000078000000000FC0007FFFFFF -C0000000F80000000007800000000000000000000000000000000000000003FFFFFF3FFFFFFFFE00 -0FFFF00FFFFBFFFFFFFFFFF87FFFFF0000000000000000000000000000000000000000000FC00000 -000000000F0000000001F00003FFFFFFF00000007C00000000078000000000000000000000000000 -0000000000000FFFFFFC7FFFFFFFF80007FFF00FFFF01FFFFFFFFFFC7FFFFFC00000000000000000 -0000000000000000000000000FC00000000000000E0000000003E00001FFFFFFFC0000003E000000 -0003C0000000000000000000000000000000000000001FFFFFF8FFFFFFFFE00003FFF00FFFF001FF -FFFFFFFE3FFFFFE000000000000000000000000000000000000000000F800000000000001E000000 -0007E00001FFFFFFFE0000000F0000000001C0000000000000000000000000000000000000007FFF -FFF9FFFFFFFF800007FFF00FFFF0007FFFFFFFFF1FFFFFF800000000000000000000000000000000 -000000000F800000000000001E000000000F800000FFFFFFFF800000078000000001E00000000000 -0000000000000000000000000000FFFFFFF1FFFFFFFE00001FFFF00FFFF8003FFFFFFFFF0FFFFFFC -00000000000000000000000000000000000000000FC00000000000003C000000001F0000007FFFFF -FFC0000003C000000001E000000000000000000000000000000000000003FFFFFFE3FFFFFFFC0000 -7FFFF00FFFFFF83FFFFFFFFF8FFFFFFE00000000000000000000000000000000000000000FC00000 -0000000038000000003E0000003FFFFFFFE0000001E000000000F000000000000000000000000000 -000000000007FFFFFFE3FFFFFFF80003FFFFF00FFFFFFE1FFFFFFFFFC7FFFFFF8000000000000000 -0000000000000000000000000FC000000000000078000000007C0000001FFFFFFFF0000000F00000 -0000700000000000000000000000000000000000000FFFFFFFC7FFFFFFF00007FFFFF00FFFFFFF07 -FFFFFFFFC3FFFFFFC0000000000000000000000000000000000000000FC000000000000070000000 -007800000007FFFFFFF80000007800000000780000000000000000000000000000000000000FFFFF -FF87FFFFFFE0000FFFFFF00FFFFFFFC3FFFFFFFFE3FFFFFFE0000000000000000000000000000000 -000000000FC0000000000000F000000000F000000003FFFFFFFC0000007800000000780000000000 -000000000000000000000000001FFFFFFF8FFFFFFFE0003FFFFFF00FFFFFFFE1FFFFFFFFE1FFFFFF -F0000000000000000000000000000000000000000FC0000000000000F000000000F000000001FFFF -FFFE0000003C000000003C0000000000000000000000000000000000001FFFFFFF8FFFFFFFC0007F -FFFFF00FFFFFFFE0FFFFFFFFF1FFFFFFF8000000000000000000000000000000000000000FC00000 -00000000E000000001E0000000007FFFFFFF0000001E000000003C00000000000000000000000000 -00000000003FFFFFFF8FFFFFFFC0007FFFFFF00FFFFFFFF07FFFFFFFF1FFFFFFF800000000000000 -0000000000000000000000000FC0000000000001E000000003C0000000001FFFFFFF0000000F0000 -00001C0000000000000000000000000000000000003FFFFFFF0FFFFFFFC0007FFFFFF00FFFFFFFF0 -7FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC0000000000001E0000000 -03C00000000007FFFFFF0000000F800000001E0000000000000000000000000000000000001FFFFF -FF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000 -000000000FC0000000000001C000000007800000000001FFFFFF80000007800000001E0000000000 -000000000000000000000000001FFFFFFF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFF -F8000000000000000000000000000000000000000FC0000000000003C00000000F0000000000007F -FFFF80000003C00000000E0000000000000000000000000000000000001FFFFFFF0FFFFFFFC0007F -FFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC00000 -00000003800000000E0000000000003FFFFFC0000003C00000000F00000000000000000000000000 -00000000000FFFFFFF8FFFFFFFE0007FFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF800000000000000 -0000000000000000000000000FC0000000000003800000001E0000000000000FFFFFC0000001E000 -0000070000000000000000000000000000000000000FFFFFFF87FFFFFFE0007FFFFFF00FFFFFFFE0 -7FFFFFFFF1FFFFFFF0000000000000000000000000000000000000000FC000000000000780000000 -1C00000000000007FFFFC0000001E00000000700000000000000000000000000000000000007FFFF -FF87FFFFFFF0003FFFFFF00FFFFFFFC0FFFFFFFFE1FFFFFFF0000000000000000000000000000000 -000000000FC0000000000007000000003C00000000000003FFFFC0000000F0000000078000000000 -0000000000000000000000000003FFFFFFC7FFFFFFF8001FFFFFE00FFFFFFF81FFFFFFFFE3FFFFFF -E0000000000000000000000000000000000000000FC0000000000007000000007800000000000003 -FFFFE0000000700000000380000000000000000000000000000000000000FFFFFFC3FFFFFFFC000F -FFFFF00FFFFFFF03FFFFFFFFE3FFFFFFC0000000000000000000000000000000000000000FC00000 -00000007000000007800000000000001FFFFE0000000780000000380000000000000000000000000 -0000000000007FFFFFE1FFFFFFFF0007FFFFF00FFFFFFC07FFFFFFFFC7FFFFFF0000000000000000 -0000000000000000000000000FC000000000000E000000007000000000000001FFFFE00000003800 -000003C00000000000000000000000000000000000003FFFFFF1FFFFFFFFC000FFFFF81FFFFFF01F -FFFFFFFF87FFFFFC00000000000000000000000000000000000000000FC000000000000E00000000 -F000000000000000FFFFE00000003C00000003C00000000000000000000000000000000000000FFF -FFF8FFFFFFFFF0003FFFFFFFFFFF807FFFFFFFFF8FFFFFF800000000000000000000000000000000 -000000000FC000000000000E00000000F000000000000000FFFFC00000001C00000003C000000000 -000000000000000000000000000007FFFFF87FFFFFFFFE0007FFFFFFFFF801FFFFFFFFFF0FFFFFE0 -00000000000000000000000000000000000000000FC000000000001E00000001E000000000000000 -7FFFC00000001E00000003E000000000000000000000000000000000000001FFFFFC3FFFFFFFFF80 -000FFFFFFF801FFFFFFFFFFE1FFFFFC000000000000000000000000000000000000000000FC00000 -0000001E00000001E0000000000000007FFFC00000001FFFFFFFFFE0000000000000000000000000 -00000000000000FFFFFE3FFFFFFFFFF80000001F8001FFFFFFFFFFFC3FFFFF000000000000000000 -0000000000000000000000000FC000000000001C00000001C0000000000000007FFFC00000001FFF -FFFFFFC0000000000000000000000000000000000000007FFFFF1FFFFFFFFFFF80000000000FFFFF -FFFFFFFC7FFFFE0000000000000000000000000000000000000000000FC000000000001C00000003 -C0000000000000007FFF8000000003FFFFFFFF80000000000000000000000000000000000000001F -FFFF8FFFFFFFFFFFFE00000003FFFFFFFFFFFFF87FFFFC0000000000000000000000000000000000 -000000000FC000000000001C0000000380000000000000007FFF8000000000000000000000000000 -0000000000000000000000000000000FFFFF87FFFFFFFFFFFFFE0003FFFFFFFFFFFFFFF0FFFFF800 -00000000000000000000000000000000000000000FC000000000003C000000038000000000000000 -7FFF800000000000000000000000000000000000000000000000000000000007FFFFC3FFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFE1FFFFE00000000000000000000000000000000000000000000FC00000 -000000380000000780000000000000007FFF80000000000000000000000000000000000000000000 -0000000000000003FFFFE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3FFFFC0000000000000000000 -0000000000000000000000000FC00000000000380000000780000000000000007FFF000000000000 -000000000000000000000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFC7FFFF800000000000000000000000000000000000000000000FC000000000003800000007 -0000000000000000FFFE000000000000000000000000000000000000000000000000000000000000 -7FFFF0FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFF87FFFF000000000000000000000000000000000000 -000000000FC0000000000038000000070000000000000000FFFC0000000000000000000000000000 -000000000000000000000000000000003FFFF8FFFFFFFFFFFFFFE00FFFFFFFFFFFFFFF0FFFFC0000 -00000000000000000000000000000000000000000FC0000000000038000000070000000000000000 -FFF80000000000000000000000000000000000000000000000000000000000001FFFFC7FFFFFFFFF -FFFFE007FFFFFFFFFFFFFE1FFFF8000000000000000000000000000000000000000000000FC00000 -00000078000000070000000000000001FFF800000000000000000000000000000000000000000000 -00000000000000000FFFFE3FFFFFFFFFFFFFE007FFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC00000000000780000000F0000000000000001FFF0000000000000 -00000000000000000000000000000000000000000000000007FFFE1FFFFFFFFFFFFFE007FFFFFFFF -FFFFFC3FFFE0000000000000000000000000000000000000000000000FC00000000000300000000E -0000000000000003FFE0000000000000000000000073C00000000000000000000000000000000000 -01FFFF0FFFFFFFFFFFFFC007FFFFFFFFFFFFF87FFF80000000000000000000000000000000000000 -000000000FC00000000000700000000E0000000000000003FF80000000000381FFF81FFF83FFF000 -0000000000000000000000000000000000FFFF87FFFFFFFFFFFFC007FFFFFFFFFFFFF0FFFF000000 -00000000000000000000000000000000000000000FC00000000000700000000E0000000000000007 -FF000000000007C1FFFC3FFF87FFF00000000000000000000000000000000000007FFFC3FFFFFFFF -FFFFC007FFFFFFFFFFFFE1FFFE00000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000000000FFC000000000007C3FFFC3FFF87FFF0000000000000000000 -0000000000000000003FFFE1FFFFFFFFFFFFC003FFFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000000001FF000000000000FE3 -FFF87FFF87FFC00000000000000000000000000000000000000FFFF0FFFFFFFFFFFFC003FFFFFFFF -FFFF87FFF000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000000003FE0000000000007E3FF807F8007F0000000000000000000000000000000000000 -0007FFF87FFFFFFFFFFFC007FFFFFFFFFFFF0FFFE000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000000E7FFFE0000000000007E3F0007F0007E00000 -000000000000000000000000000000000003FFFC7FFFFFFFFFFFC003FFFFFFFFFFFF1FFFC0000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE0000000000FE3F0007F0007E00000000000000000000000000000000000000001FFFE1FFFFFFF -FFFFC003FFFFFFFFFFFE3FFF8000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000003FFFFFFFF0000000000FE3FC007FC007FF00000000000000000000 -000000000000000000007FFF0FFFFFFFFFFFC003FFFFFFFFFFF87FFE000000000000000000000000 -0000000000000000000000000FC00000000000700000001E00000000003E071E7FF0000000000FE3 -FFF87FFF07FFE0000000000000000000000000000000000000007FFF87FFFFFFFFFFC003FFFFFFFF -FFF8FFFC0000000000000000000000000000000000000000000000000FC00000000000700000001E -00000000001E000000F0000000000FE3FFF87FFF87FFF00000000000000000000000000000000000 -00001FFF83FFFFFFFFFFC003FFFFFFFFFFE1FFF80000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000001FFFFFFFF00000000007E3FFFC7FFF87FFE000 -0000000000000000000000000000000000000FFFE3FFFFFFFFFFC003FFFFFFFFFFC3FFF000000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE00000000007E3FFF87FFF07FFE00000000000000000000000000000000000000007FFE1FFFFFF -FFFFC003FFFFFFFFFFC7FFE00000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000000FFFFFFFE0000000000FE3FFE03FFC07FC00000000000000000000 -0000000000000000000003FFF0FFFFFFFFFFC003FFFFFFFFFF87FFC0000000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000007C0000FC00000000007E3 -F8003F0007E0000000000000000000000000000000000000000001FFF87FFFFFFFFFC003FFFFFFFF -FF0FFF800000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000003C00007800000000007E3F8007F0007E0000000000000000000000000000000000000 -000000FFFC3FFFFFFFFFC003FFFFFFFFFE1FFF000000000000000000000000000000000000000000 -000000000FC00000000000700000000E000000000003C00007800000000007E3F8007F0007E00000 -000000000000000000000000000000000000007FFE1FFFFFFFFFC003FFFFFFFFFC3FFE0000000000 -00000000000000000000000000000000000000000FC00000000000700000000E000000000003C000 -07000000000007E3F8003F8007F00000000000000000000000000000000000000000003FFF0FFFFF -FFFF8003FFFFFFFFF87FFC000000000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000003C00007000000000007E3FFF83FFF87FFF0000000000000000000 -00000000000000000000001FFF87FFFFFFFF8003FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC00000000000780000000E000000000003C00007000000000007E3 -FFFC3FFF87FFF800000000000000000000000000000000000000000FFFC3FFFFFFFFC003FFFFFFFF -E1FFF0000000000000000000000000000000000000000000000000000FC00000000000780000000E -000000000003C00007000000000007E3FFFC3FFF87FFF80000000000000000000000000000000000 -00000007FFE1FFFFFFFFC003FFFFFFFFC3FFE0000000000000000000000000000000000000000000 -000000000FC00000000000780000000E000000000001C00007000000000007C1FFFC3FFF83FFF000 -0000000000000000000000000000000000000003FFF0FFFFFFFFC003FFFFFFFF87FFC00000000000 -00000000000000000000000000000000000000000FC000000000007800000006000000000001C000 -0700000000000381FFF81FFF00FF80000000000000000000000000000000000000000001FFF87FFF -FFFF8003FFFFFFFF0FFF80000000000000000000000000000000000000000000000000000FC00000 -0000003800000007000000000001C00007000000000000000000000000000000000000000E000000 -000000000000000000000000FFFC3FFFFFFF8003FFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC000000000003800000007000000000001C0000700000000000000 -0000000000000000000000001F0000000000000000000000000000003FFE1FFFFFFF8003FFFFFFFC -3FFC00000003FFFF80000000000000000000000000000000000000000FC000000000003800000007 -000000000001C0000F000000000000000000000000000000000000003F000007E000000000000000 -000070001FFF07FFFFFF8003FFFFFFF87FF800000007FFFFE0000000FFFFE0000000000000000000 -000000000FC000000000003C00000007800000000001C0000E000000000000000000000000000000 -000000007E00007FFE000000FFF000000000F0000FFF83FFFFFFC003FFFFFFE0FFF00000000FFFFF -F8000001FFFFFC00000E000000000000000000000FC000000000003C00000003800000000001C000 -0E00000000000000000000000000000000000001FE0003FFFFC0000FFFFE00000001F00007FFE1FF -FFFFF007FFFFFFC1FFE0007800FFFFFFF8300001FFFFFE00003F000000700000000000000FC00000 -0000001C00000003800000000001C0000E00000000000000000000000000000000000003FE000FFF -87F0003FFE0780000003F00003FFF0FFFFFFFFFFFFFFFF83FFC000F801FFFFFFFCF8003FFFFFFF0E -003F000000F80000000000000FC000000000001C00000003C00000000000E0000E00000000000000 -000000000000000000000007FE001FFC01F8007FF001C0000007F00001FFF87FFFFFFFFFFFFFFF07 -FF8001FC03FFFFFFFFF8007FFFFFFF9F007F000001F80000000000000FC000000000001C00000001 -C00000000000E0000E00000000000000000000000000000000000007FC003FE0007C00FFC000E000 -000FF00000FFFC3FFFFFFFFFFFFFFE0FFF0003FC03FFFFFFFFFC00FFFFFFFFFF807F800001FC0000 -000000000FC000000000001E00000001E00000000000E0000E000000000000000000000000000000 -0000000FFC007FC0003C01FF00007000000FE000007FFE1FFFFFFFFFFFFFFC3FFE0003FC07FDFFFF -FFFC00FFFFFFFFFF807F800003FC0000000000000FC000000000001E00000001E00000000000E000 -0C0000000000000000000000000000000000001FFC00FFC0001E03FE00007000001FE000003FFF0F -FFFFFFFFFFFFF07FFC0003FC07F8003FE7FC00FF3FFFFFFF00FF000003FC0000000000000FC00000 -0000000E00000000E00000000000E0001C00000000001FFFFFFEF000000000000000007FF800FF80 -001F07FC00003800003FE000001FFF83FFFFFFFFFFFFE0FFF80003FC07F8000007FC01FF001F7EFF -80FF000003F80000000000000FC000000000000E00000000F00000000000E0001C00000000001FFF -FFFFFF80000000000000007FF801FE00000F07FC00003800007FC000001FFFC1FFFFFFFFFFFFC1FF -F00003FC07F8000007FC01FF000000FF80FF000007F80000000000000FC000000000000E00000000 -700000000000E0001C00000000003FFFFFFFFF8000000000000000FFF803FE00000F8FF800001C00 -00FFC000000FFFE0FFFFFFFFFFFF83FFE00007FC0FF8000007F801FF000000FF80FF000007F80000 -000000000FC000000000000F00000000780000000000E0001C00000000007C00FFFFFFC000000000 -000001FFF003FC0000078FF000001C0001FF80000007FFF8FFFFFFFFFFFF07FFC00007FC0FF80000 -07FC01FF000000FF00FF000007F80000000000000FC0000000000007000000007800000000006000 -1C00000000007800000007C000000000000003FFF007F80000079FE000001C0003FF80000003FFF8 -3FFFFFFFFFFE0FFFC00007F80FF8000007F801FF000000FF00FF000007F80000000000000FC00000 -00000007000000003C000000000060001C00000000007800000007C000000000000007FFF007F800 -00079FE000001C0007FF80000001FFFE1FFFFFFFFFFC1FFF000007F80FF0000007F801FE000000FF -00FF000007F80000000000000FC0000000000007800000003C000000000070003C0000000000F000 -000003800000000000000FFFE007F80000079FE000001C000FFF00000000FFFF0FFFFFFFFFF83FFF -000007F80FF0000007F801FE000000FF00FF000007F80000000000000FC000000000000380000000 -1E00000000007000380000000000F000000007800000000000001FFFE007F0000007BFC000001C00 -1FFF000000007FFF87FFFFFFFFE0FFFE000007F80FF0000007F801FE000000FF00FF000007F80000 -000000000FC0000000000003800000001E00000000007000380000000001E0000000070000000000 -00003FFFE007F00000071FC000001C003FFF000000003FFFC1FFFFFFFFC1FFFC000007F80FF00000 -07F801FE000000FF00FF000007F80000000000000FC0000000000003C00000000F00000000007000 -380000000003E000000007000000000000007F9FE00FF000000F1FC000001C007FFE000000001FFF -F0FFFFFFFF87FFF8000007F80FF0000007F801FE000000FF01FF000007F00000000000000FC00000 -00000001C00000000700000000007000380000000003C00000000F00000000000000FF1FC00FF000 -000F1FC000001C01FFFE000000000FFFF87FFFFFFF0FFFF0000007F80FF000000FF801FE000000FF -01FE00000FF00000000000000FC0000000000001E000000007800000000070003800000000078000 -00000E00000000000001FE3FC007F000001E1FC000003C03F9FE0000000007FFFC3FFFFFFC1FFFE0 -000007F80FF000000FF801FE000001FF01FE00000FF00000000000000FC0000000000001E0000000 -03C000000000700038000000000F800000001E00000000000003FC3F8007F800003E1FC000007807 -F1FE0000000003FFFE0FFFFFF87FFFC0000007F80FF000000FF801FE000001FF01FE00000FF00000 -000000000FC0000000000000E000000001E000000000700078000000001F000000001C0000000000 -0007F87F8007F800007C0FE00000780FE3FC0000000001FFFF87FFFFE0FFFF80000007F80FF00000 -0FF001FE000001FE01FE00000FF00000000000000FC0000000000000F000000001E0000000003000 -70000000001E000000001C0000000000001FF07F8007FC0000FC0FE00001F01FC3FC0000000000FF -FFC1FFFFC1FFFF0000000FF00FF000000FF001FE000001FE01FE00000FF00000000000000FC00000 -000000007000000000F000000000380070000000003C000000003C0000000000003FE07F8003FE00 -01F80FF00003E07F83FC00000000007FFFF0FFFF07FFFE0000000FF00FF000000FF001FC000001FE -00FE00000FE00000000000000FC00000000000007800000000780000000038007000000000780000 -0000380000000000007FC0FF0003FF0007F007F80007E0FF07F800000000003FFFF83FFC0FFFFC00 -000007E007F000000FE001FC000001FE00FF00000FE00000000000000FC000000000000078000000 -003C0000000038007000000000F80000000078000000000001FF80FF0001FF803FE003FC001FC1FE -07F800000000001FFFFE07F03FFFF800000007C007FF00000FE001FE000001FC00FFFFFF8FC00000 -000000000FC00000000000003C000000001E0000000038007000000000F000000000700000000000 -03FF00FE0001FFFFFFE003FF807FC3FC07F800000000001FFFFF00007FFFF0000000000007FFFFFF -E7C001FFFFFFF1F8007FFFFFFF800000000000000FC00000000000003C000000001F000000003800 -7000000001E000000000F0000000000007FE01FE0001FFFFFFC003FFFFFF8FF80FF800000000000F -FFFFC001FFFFE0000000000003FFFFFFF80000FFFFFFFFE0007FFFFFF8000000000000000FC00000 -000000001E000000000F8000000038006000000003C000000000F0000000000007FE01FE0003FFFF -FFC003FFFFFFFFF00FF0000000000007FFFFF007FFFFE0000000000003FFFFFFFC0000FFFFFFFF80 -003FFFFFFC000000000000000FC00000000000001E0000000007C000000038006000000007800000 -0001E000000000001FFC03FE0007FFFFFFE007FFFBFFFFF01FF0000000000003FFFFFF3FFFFFC000 -0000000001FFFFFFFC0000FFFFFFFF80003FFFFFFC000000000000000FC00000000000000F000000 -0003E00000001800E00000000F0000000001E000000000003FF003FE000FFFF0FFE01FFF803FFFE0 -1FF0000000000001FFFFFFFFFFFF8003F000000001FFFFFFFC0000FFFFFFFF80001FFFFFFC000000 -000000000FC00000000000000F0000000001F00000001C00E00000003E0000000003C00000000000 -3FE003FC001FFFC007F83FFC001FFFC01FF0000000000001FFFFFFFFFFFF0007FC0000E000FFFFFF -FE0001FFFFFFFF80000FFFFFFFC00000000000000FC0000000000000078000000000780000001C00 -E00000007E0000000003C000000000001F0007FC003FFE0001FFFFF8000FFFC03FF0000000000000 -FFFFFFFFFFFE000FFE0001F0007FFFFFFFE003FFFFFFFFF80003FFFFFFE00000000000000FC00000 -000000000780000000007C0000001C00E0000000F80000000007800000000000000007FC007FF800 -007FFFE0001FFFC07FFC0000000000007FFFFFFFFFFE001FFF0003F0001FFFFFFFF003FFFFFFFFFC -000001840FF00000000000000FC000000000000003C0000000001E0000001C00E0000001F0000000 -000F000000000000000007F800FFE000003FFFC0003FFFFFFFFFFFF8000000003FFFFFFFFFFC001F -FF0007F80000000007F803FFFFFFFFFE000000000FF00000000000000FC000000000000001E00000 -00001F8000001C00E0000003F0000000000F00000000000000000FF801FFC000001FFF00007FFFFF -FFFFFFFC000000001FFFFFFFFFF80037FB8007F80000000007F807FE000000FE000000000FF00000 -000000000FC000000000000001E00000000007E000001C01C000000FC0000000001E000000000000 -00000FF803FF8000001FFF0000FFFFFFFFFFFFFC000000001FFFFFFFFFF00037F98007F800000000 -07F807FC000000FF000000000FF00000000000000FC000000000000000F00000000003F000001C01 -C000003F80000000001E00000000000000000FF803FF0000001FFE00007FFFFFFFF0000000000000 -0FFFFFFFFFE00037F98007F80000000007F807FC000001FF000000000FF00000000000000FC00000 -0000000000F00000000000FC00001E01C000007E00000000003C00000000000000001FF807FE0000 -001FFC0000007F80FFE000000000000007FFFFFFFFC00037F18007F8000000000FF807F8000001FF -000000000FF00000000000000FC0000000000000007800000000007F00000E01C00001F800000000 -007800000000000000001FF807FE0000001FFC0000001F00FFC000000000000007FFFFFFFF800037 -F18007F8000000000FF807F8000001FF000000000FF00000000000000FC0000000000000003C0000 -0000001FC0000E01C00007E000000000007800000000000000001FF007FC0000001FF80000001E00 -FFC000000000000003FFFFFFFF800030238007F8000000000FF807F8000001FF000000000FF00000 -000000000FC0000000000000001C00000000000FF0000E01C0001FC00000000000F0000000000000 -00003FF00FF80000003FF80000001E00FFC000000000000001FFFFFFFF000038070007F800000000 -0FF807F8000001FF000000000FF00000000000000FC0000000000000001E000000000001FE000E01 -C000FE000000000001E000000000000000003FF00FF80000003FF00000000E00FF80000000000000 -00FFFFFFFE00001E0F0007F8000000000FF007F8000001FF000000000FF000000000000007C00000 -00000000000F0000000000007FE00E03C00FF8000000000003E000000000000000007FF00FF00000 -003FF00000001E00FF80000000000000007FFFFFFC00000FFE000FF8000000000FF007F8000001FE -000000000FF00000000000000FC000000000000000078000000000001FFE1E03C0FFE00000000000 -07C000000000000000007FF00FF00000003FF00000001C01FF80000000000000003FFFFFF8000007 -F8000FF8000000000FF007F8000001FE000000001FF00000000000000FC00000000000000003C000 -0000000003FFFE03FFFF000000000000078000000000000000007FE00FF00000003FF00000001C01 -FF80000000000000001FFFFFF000000000000FF8000000000FF00FF8000001FE000000001FF00000 -000000000FC00000000000000001E00000000000007FFE03FFF80000000000000F00000000000000 -00007FE00FF00000003FF00000003801FF80000000000000001FFFFFF000000000000FF800000000 -0FF00FF8000001FE000000001FF00000000000000FC00000000000000001F00000000000000FFF03 -FFC00000000000001E000000000000000000FFE00FF00000003FF00000007801FF80000000000000 -000FFFFFE000000000000FF8000000000FF00FF8000001FE000000001FE00000000000000FC00000 -000000000000F800000000000000FF03F0000000000000003C000000000000000000FFE00FF00000 -007FF00000007001FF000000000000000007FFFFC000000000000FF8000000000FF00FF8000001FE -000000001FE00000000000000FC0000000000000000078000000000000000F078000000000000000 -7C000000000000000000FFE007F80000007FF0000000E001FF000000000000000007FFFF80000000 -00000FF8000000000FF00FF8000001FE000000001FE00000000000000FC000000000000000003C00 -00000000000007078000000000000000F8000000000000000001FFC007F8000000FFF8000001E003 -FF000000000000000003FFFF8000000000000FF0000000000FF00FFC000001FE000000001FE00000 -000000000FC000000000000000001E0000000000000007070000000000000001F000000000000000 -0001FFC007FC000001FFFC000003C003FF000000000000000001FFFF0000000000000FF000000000 -0FF00FFFFC0001FE000000001FE00000000000000FC000000000000000000F000000000000000787 -0000000000000003E0000000000000000001FFC003FE000003FFFC0000078003FF00000000000000 -0001FFFE0000000000000FF0000000000FF00FFFFFFFC1FE000000001FE00000000000000FC00000 -0000000000000F80000000000000078F0000000000000007C0000000000000000003FF8003FF0000 -0FE7FE00000F0003FF000000000000000000FFFE0000000000000FF0000000000FF00FFFFFFFF1FE -000000001FE00000000000000FC0000000000000000007C0000000000000078F0000000000000007 -80000000000000000003FF8001FFC0001F03FF00001E0003FE0000000000000000007FFC00000000 -00000FF0000000000FF00FFFFFFFFBFE000000001FE00000000000000FC0000000000000000001E0 -000000000000078F000000000000001F80000000000000000003FE0000FFF800FE00FFC000780007 -FC0000000000000000007FF80000000000000FE0000000000FE00FFFFFFFFFFE000000001FC00000 -000000000FC0000000000000000001F0000000000000078E000000000000001E0000000000000000 -0003FC00007FFFFFF0007FF001F00007F80000000000000000003FF000000000000007E000000000 -0FE00FFFFFFFFFFC000000001FC00000000000000FC0000000000000000000FC000000000000038E -000000000000003C00000000000000000003E000001FFFFFC0001FFE0FE00007E000000000000000 -00000FC000000000000007C0000000000FC007FFFFFFFFFC000000000F800000000000000FC00000 -000000000000007E000000000000038E00000000000000F80000000000000000000000000007FFFE -000007FFFF000007C0000000000000000000000000000000000001800000000007800387FFFFFCF8 -0000000006000000000000000FC00000000000000000003F000000000000038E00000000000001F0 -0000000000000000000000000000FFF0000000FFF800000780000000000000000000000000000000 -000000000000000000000001FFFFF8000000000000000000000000000FC00000000000000000001F -80000000000003CE00000000000003E0000000000000000000000000000000000000000000000006 -0000000000000000000000000000000000000000000000000000000003FFE0000000000000000000 -000000000FC000000000000000000007C0000000000003FE0000000000000FC00000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC000000000000000000003F0000000000001FC -0000000000001F000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -0000000000000001F8000000000001FC0000000000003E0000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC0000000000000000000007E00000000000070000000000000FC00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -1F00000000000000000000000001F000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000F80000000000000000000000007E0000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC00000000000000000000003E0000000000000 -00000000001F80000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -000000000000000001F800000000000000000000007E000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000007E0000000000000000000000FC0000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -001F8000000000000000000003F00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000FE00000000000000000000FE000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003F80000000000 -000000003F8000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000FE000000000000000001FF00000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000003FE00000000000000007F8000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000FF0000000000000001FF0000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000001FF00000000000000FF800000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000007FC0000000 -00001FFE000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000FFE0000000000FFF00000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000001FFF80000003FFF8000000000 -000000000000000000000007C0000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -000000001FFFF9C0FFFFFC0000000000000000000000000003C0001FF07FE1C063FFC30083FE0000 -000FE01FF000FF0000020007F010700E00001F00100000000F800F803F801FE03FC0FF80FE01FC00 -000000000FC0000000000000000000000000000001FFFFFFFFFF8000000000000000000000000000 -07E0003FF8FFF3E0F3FFE781C7FF1E1E003FF07FF801FFC3800FFE1FF87FF87FE0E07FC03E038000 -1FF87FF07FE03FF07FF1FFE3FF03FE00000000000FC00000000000000000000000000000001FFFFF -FFF0000000000000000000000000000007E0007FFCFFF3F0F3FFE781E7FF9E1E007FF87FF803FFE7 -801FFE3FFC7FFCFFF0F1FFE03E0780003FFC7FF8FFF07FF8FFF9FFE3FF87FF00000000000FC00000 -00000000000000000000000000003FFFF00000000000000000000000000000000FF000FFFFFFE3F8 -F1FFC781E7FFDF3E00FFFC7FF003FFC7801FFC3FFE7FF8FFF9F3FFF07F07C0003FFEFFF9FFF8FFFC -FFF9FFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000FF000FC3FFF03F8F07F07C3EFEFCFFE00F87E7E0003F007801F807C3E0FC0FC -F9F3E1F07F07C0003F3FFFFFF9FCF87CFCF9F807E7CFCF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000000FF000F818FF83FCF03E0783EFC7CFFC -00F83E7C0003F007801F00780C07C0F8F9F7E060FF0780003E1FFC7FF07DF818FCFFF807E18FC000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -1FF801F800FFE3FFF03E0783EFEFC7FC01F01FFFC003FF87801FF8780007C0F8F9F7C000FF878000 -3E3FFCFFE07FF000FFFBFF87FC0FF800000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000001FF801F000FFE3FFF03E0783EFFF87F801F01F7FE003FFC7 -801FFCF8000780FFF9FFC000FF87C0003FFFFFFFE07FF0F8FFF9FFC3FF0FFE00000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000003FF801F000FFE3FF -F03E07C3EFFF83F801F01E7FF003FFC7801FFCF8000780FFF1FFC001FF87C0003FFEFFFFE03FF0FC -FFF9FFC1FF87FF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000003FFC00F000FFC3FFF03E07C3EFFF83F001F01F7FE003FF87801FFCF8000780FF -F1FFC001FFC7C0003FFCFFFFE07FF1FEFFF9FF80FFC1FF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000003FFC00F809FC03FFF03E07C3EFFF83F0 -00F01F7E0003F007801F80F8000780FFF8FFC003FFC7C0003FF8FFFFE07FF0FEFFF9F8001FC0FF80 -000000000FE000000000000000000000000000000000000000000000000000000000000000000000 -7FFC00F81FFC03EFF03E07C3EFC7C1F000F83EFC0003F007C01F00780C07C0FDF8F3C063FFC7C000 -3FC0FDFFE07DF87EFDF9F0070FC41F80000000000FE0000000000000000000000000000000000000 -000000000000000000000000000000007FFE00FC3FFC03E7F03E07C3EF87C1F000F87E7C0003F007 -C01F007C1E0780F8F9F3E0F3FFE7C0003F00F87FF0FCF87EF8FBF00787CF8F80000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000007FFE007FFFFFF3E3 -F03E07E7EF87C1E0007FFC780003FFC7FE1FF87E3E07C0F879F3F3F7FFE7FF003E00F87FFFF8FFFE -F87FFFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000007C7E007FFCFFF3E3F03E03FFC783C1E0007FF8780001FFE7FF9FFE3FFE0780F8 -78F1FFE7C3E7FF803E00F87CFFF87FFEF87FFFE7FFCFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000783E001FF8FFF3C1F01C01FFC78381E0 -003FF8780001FFE7FF9FFE1FFC0780F078F0FFE7C1E7FF801E00783C7FF03FFCF079FFE3FF87FF00 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -301C000FF07FF180F01C00FF030100E0001FE0300000FFC3FF1FFE0FF803007030607FC380C3FF00 -1C0070383FE01FFC6010FFC1FF03FE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000040000000000003800000000000 -00006003E000000000001F00000000000000000007800380000000003800F000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFFFF39CF800008008087C0000000000000000000000000000000000000000200000000 -0000000000000E01EFFDFFFFFFFFFE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC00000 -0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFF00000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00 -0000000007C000000000000000000000000000000000000000000000000000000000000000000000 -1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFE7FF8000000000000180000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000001000000000 -000018000000000000000000000000200010003C0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 ->}imagemask -showpage \ No newline at end of file diff --git a/macros/inrstex/texgraph/inrslogo.tex b/macros/inrstex/texgraph/inrslogo.tex deleted file mode 100644 index 483eb81ec1..0000000000 --- a/macros/inrstex/texgraph/inrslogo.tex +++ /dev/null @@ -1,58 +0,0 @@ -%-*-tex-*- -%======== macros for the INRS address logo/letterhead ===== - -\def\ppa{\beginsegment \absoluteposition -\lvec h:.4 v:0 -\lvec h:.2 v:.8 -\lvec h:-.2 v:.8 -\pfill p:0 -\endsegment -} - -\def\ppb{\beginsegment \absoluteposition -\lvec h:.4 v:0 -\lvec h:.1 v:1.2 -\lvec h:-.3 v:1.2 -\pfill p:0 -\endsegment -} - -\def\inrslogo h:#1 v:#2 sc:#3 {\beginsegment -\penwidth .005 -\move h:#1 v:#2 -\unitscale #3 -\relative -\ppa -\move h:.48 v:0 -\ppa -\move h:.48 v:0 -\ppb -\endsegment} -\font\inrsaddfont = cmcsc10 -\font\eightrm = cmr8 -\def\inrsadd{\vbox{\hsize 5in \baselineskip=9pt \parskip=0pt - \leftline{\eightrm Universit\'e du Qu\'ebec} - \vskip 3pt - \leftline{\inrsaddfont Institut national de la recherche - scientifique} - \vskip 6pt - {\eightrm \obeylines \parindent=0pt - 3, place du Commerce \par - Ile-des-Soeurs\par - Verdun, Qu\'ebec\par - Canada \qquad H3E 1H6\par - T\'el\'ephone: \tele \par} - \vskip 6pt - \leftline{\inrsaddfont INRS-T\'el\'ecommunications} - }} - - -\def\inrslogoadd h:#1 v:#2 {\btg\inrslogo h:#1 v:#2 sc:.3 - \beginsegment - \move h:0 v:0 \tbox {\inrsadd} - \endsegment\etg} - -\def\inrsaddform{\titlepagestyle\finalversion - \inrslogoadd h:-.5 v:0 } - -\def\tele{(514) 765-7834} \ No newline at end of file diff --git a/macros/inrstex/texgraph/inrssl.tex b/macros/inrstex/texgraph/inrssl.tex deleted file mode 100644 index 925a824779..0000000000 --- a/macros/inrstex/texgraph/inrssl.tex +++ /dev/null @@ -1,147 +0,0 @@ -% PostScript slide form -% \genform Aug 1991 -% Toulson/Beebe PS driver -% ====== simple viewgraph box ======= -\catcode`\@=11 -\def\hviewbox{\beginsegment - \unitscale {\f@ormscale} - \slidelogo - \topform - \botform - \move h:0 v:.4 - \penwidth .05 - \lvec h:8.9 v:.4 - \lvec h:8.9 v:6.9 - \move h:0 v:.4 - \lvec h:0 v:6.9 - \move h:.15 v:6.9 - \larc r:.15 sd:90 ed:180 - \move h:.15 v:7.05 - \lvec h:8.75 v:7.05 - \move h:8.75 v:6.9 - \larc r:.15 sd:0 ed:90 - \endsegment} -% ======= Slide Utilities ====== -% Horizontal form -\newtoks\slidetitle -\newdimen\slhsize \newdimen\slvsize -\long\def\sltitle#1{\vglue .03\slvsize \global\slidetitle={#1} - \vbox to 0pt{\hsize=\slhsize \rightskip=.1\hsize plus 1fill - \def\cr{\endgraf}\leftskip= .1\hsize plus 1fill\gbfont\gbbaselines - \parskip=1ex \parindent=0pt#1\vss}} -\def\shk{\showthe\leftskip\showthe\rightskip} -\let\shk=\relax -\long\def\slidebox #1#2{\vbox to \slvsize{\hsize \slhsize - \grfont\parindent=0pt - \grbaselines\parskip=2.8ex \advance\rightskip by 0pt plus 1fil - \sltitle{#1}\vfill\advance\rightskip by .05\hsize - \advance\leftskip by .05\hsize - #2\vfill}} - -\def\bl{\beginlist \samplemark{$\bullet$}} % modifies default -\def\lb{\li {$\bullet$} } -\def\lc{\li {$\circ$} } -\def\last{\li {$\ast$} } -\def\hd#1{\vskip 1ex\vbox{\veryraggedright\hangindent1em\hangafter1 - \noindent\bigfont#1}\vskip 1ex } - - -% ===== slide building macros ======= -% A slide lives in either a textform or fullsize form. The defaault is -% Fullsize. Text form reduces the size and gives a chance to add background -% Material with the slide. - -\newif\iftextform -\gdef\inrsform{\message{<< INRSFORM >>}\input inrslogo\relax \gdef\slidelogo{\i@nrsform} - \gdef\topform{}\gdef\botform{}} -\gdef\i@nrsform{\inrslogo h:.2 v:0 sc:.25 - \move h:8.9 v:.1 \textref h:R v:C - \rstext d:0 sc:{\f@ormscale} t:{\bf INRS-T\'el\'ecommunications} } -\newtoks\topdata -\newtoks\botdata -\newtoks\slidedate -\gdef\genform{\message{<< General FORM >>} - \gdef\slidelogo{\topform}\gdef\topform{\move h:0 v:.15 \textref h:L v:C - \rstext d:0 sc:{\f@ormscale} t:{\borderfont\the\topdata} } - \gdef\botform{\move h:4.45 v:7.25 - \textref h:C v:C -\rstext d:0 sc:{\f@ormscale} t:{\borderfont \the\botdata\ -- \the\slidedate} }} - -\newcount\textfontscale % computed inside textform -\gdef\textform{\message{<< Text Size >>}\long - \gdef\comment##1//{\rm ##1}\textformtrue\gdef\slidescale{.578} - \textfontscale=\the\fullfontscale \relax - \multiply\textfontscale by 1000 - \divide\textfontscale by 1728 - \fontset scaled {\the\textfontscale} - \textformfonts - \let\borderfont=\txborderfont - \textpagestyle - \slvsize = 9.84cm \slhsize = 12.5cm - \gdef\tfb{\bigskip\filbreak}} -\newcount\fullfontscale % set in defaults -\gdef\fullform{\message{<< Full Size >>} - \long\gdef\comment##1//{}\textformfalse\gdef\slidescale{1} - \fontset scaled {\the\fullfontscale} - \fullformfonts - \let\borderfont = \fxborderfont - \finalversion - \documentstyle{ - \leftmargin=.6in - \nofooterstyle - \vfootersize=0pt } - \slvsize=17cm \slhsize=21.5cm - \let\tfb=\relax} - -\long\gdef\hhslide#1#2{\btg - \segmentscale {\slidescale} - \move h:0.2 v:.4 \textref h:L v:T - \rstext d:0 sc:{\f@ormscale} t:{\slidebox{#1}{#2}} - \move h:0 v:0 \hviewbox - \etg} -\gdef\formscale #1 {\gdef\f@ormscale{#1 }} -\gdef\smalldot{\setbox0=\hbox{\hskip .4in\fiverm.}\wd0=0pt\ht0=0pt\dp0=0pt\box0} -\long\gdef\hslide #1//#2//{\advance\slidenum by 1 \relax - \begingroup\tfb\documentstyle{\genpoint}\bf \let\hslide=\slideerr - \iftextform\centergraph{\hhslide{#1}{#2}}\bigskip \else - \btg - \move h:0 v:8.9 - \vtext {\hhslide{#1}{#2}} - \move h:7 v:8.8 - \etg - \smalldot\ejectpage\fi\endgroup} -% ====== Error forms ======== -% This attempts to find a misplaced // gracefully -\newcount\slidenum -\ifnum\language=0 \edef\s@lmiss{Probable Missing or Extra // in Slide Num. } - \else - \edef\s@lmiss{Probable Missing or Extra // in Slide Num. } - \fi -\gdef\slideerr{\message{<<\s@lmiss\the\slidenum>>}} - -% ====== TexGraph Defaults ======== -\ifundefined{textref} - \begingroup \catcode`\^=7 \input texgraph \endgroup \fi - -% ==== text form page style ===== -\gdef\textpagestyle{} - -% ====== Font Defaults ========= -\input spfont \relax -\gdef\textformfonts{\font\gffont= cmcsc10 scaled 667 } -\gdef\fullformfonts{\font\gffont = cmcsc10 scaled 1440 } -\fullfontscale = 2074 -\font\fxborderfont = cmbx10 scaled 1728 -\let\txborderfont = \tenbfx - -% ==== slide default ===== -\slidenum=0 -\gdef\gbfont{\bigfont} -\gdef\gbbaselines{\baselineskip = 2.8ex\lineskip=1pt\lineskiplimit=0pt} -\gdef\grfont{\bf} -\gdef\grbaselines{\baselineskip=2.8ex\lineskip=1pt\lineskiplimit=0pt} -\formscale 1 -%====== end defaults ===== - -\catcode`\@=12 - diff --git a/macros/inrstex/texgraph/readme b/macros/inrstex/texgraph/readme deleted file mode 100644 index de17f961fd..0000000000 --- a/macros/inrstex/texgraph/readme +++ /dev/null @@ -1,25 +0,0 @@ -Michael J. Ferguson -(514) 765-7834 -mike@inrs-telecom.uquebec.ca - -Montreal, July 30, 1991 - -This directory contains - -The files are - -1. texgraph.sty --- a texgraph style file for LaTeX -2. test_lat.tex --- This is a latex file that performs some simple graphics, - includes an EPS, encapsulated postscript file and plays - some scaling and rotating games, and also the code for - INRS letterhead. -3. ieeelogo.ps --- Scanned PostScript logo -4. inrslogo.tex --- TeXgraph commands for the INRS letterhead. -5. testinrs.tex --- A test file for INRSTeX but augmented by the slide macros. -6. inrssl.tex --- The slide macros package ... for INRSTeX -7. texgraph.tex --- the TeXGraph macros in a form compatible with INRSTeX and - --- the master format file inrs3_pc.tex -8. texgraph.ps --- A PostScript version of the TeXGraph Chapter in the - INRSTeX Reference Manual. -9. spfont.tex --- A scaled font family used in the inrssl.tex -10. readme --- This file. diff --git a/macros/inrstex/texgraph/spfont.tex b/macros/inrstex/texgraph/spfont.tex deleted file mode 100644 index ecf578ed5b..0000000000 --- a/macros/inrstex/texgraph/spfont.tex +++ /dev/null @@ -1,79 +0,0 @@ -\catcode`\@=11 -% --------- This is the "cm" version -------- -% a family is produced by redefining the special font forms in - -% \genpoint ... the names reflect the base fonts - - -\def\rescale #1#2{\count255=#1\multiply\count255 by #2\relax - \divide\count255 by 100 - \advance\count 255 by 5 % rounding - \divide\count 255 by 10 } - -\def\fontset scaled #1 { -\font\tensprm =cmr10 scaled #1 -\font\sevensprm = cmr7 scaled #1 -\font\fivesprm = cmr5 scaled #1 -\font\tenspi = cmmi10 scaled #1 -\font\sevenspi = cmmi7 scaled #1 -\font\fivespi = cmmi5 scaled #1 -\font\tenspsy = cmsy10 scaled #1 -\font\sevenspsy = cmsy7 scaled #1 -\font\fivespsy = cmsy5 scaled #1 -\font\tenspit = cmti10 scaled #1 -\font\tenspsl = cmsl10 scaled #1 -\font\tenspbfx = cmbx10 scaled #1 -\font\sevenspbfx = cmbx7 scaled #1 -\font\fivespbfx = cmbx5 scaled #1 -\font\tensptt = cmtt10 scaled #1 -\font\tenspex = cmex10 scaled #1 -\def\tenspscsm{\rescale {800}{#1} - \font\t@enspscsm = cmcc10 scaled \the\count255\relax - \let\tenspscsm=\t@enspscsm\tenspscsm} -\def\tensprmbig{\rescale {1200}{#1} - \font\t@ensprmbig = cmr10 scaled \the\count255\relax - \let\tensprmbig=\t@ensprmbig\tensprmbig} -\def\tenspbfxbig{\rescale {1200}{#1} - \font\t@enspbfxbig = cmbx10 scaled \the\count255\relax - \let\tenspbfxbig=\t@enspbfxbig\tenspbfxbig} -\def\tenspbfxbigg{\rescale {1440}{#1} - \font\t@enspbfxbigg = cmbx10 scaled \the\count255\relax - \let\tenspbfxbigg=\t@enspbfxbigg\tenspbfxbigg} -\def\tensprmbigg{\rescale {1440}{#1} - \font\t@ensprmbigg = cmr10 scaled \the\count255\relax - \let\tensprmbigg=\t@ensprmbigg\tensprmbigg} - \let\tensprmbiggg = \tensprmbigg } - -\def\genpoint{\def\rm{\fam0\tensprm}% - \textfont0=\tensprm \scriptfont0=\sevensprm \scriptscriptfont0=\fivesprm - \textfont1=\tenspi \scriptfont1=\sevenspi \scriptscriptfont1=\fivespi - \textfont2=\tenspsy \scriptfont2=\sevenspsy \scriptscriptfont2=\fivespsy - \textfont3=\tenspex \scriptfont3=\tenspex \scriptscriptfont3=\tenspex -\def\it{\fam\itfam\tenspit}% -\textfont\itfam=\tenspit -\def\sl{\fam\slfam\tenspsl}% -\textfont\slfam=\tenspsl -\def\bf{\fam\bffam\tenspbfx}% - \textfont\bffam=\tenspbfx \scriptfont\bffam=\sevenspbfx -\scriptscriptfont\bffam=\fivespbfx -\def\tt{\fam\ttfam\tensptt}% -\textfont\ttfam=\tensptt -\tt \ttglue=.5em plus .25em minus .15em -\def\normalbaselines{\baselineskip 2.8ex \lineskip 1pt \lineskiplimit \z@}% -\setbox\strutbox=\hbox{\vrule height 2.32ex depth .48ex width\z@}% -\normalbaselines\rm - \ifd@ocsty \let\footerfont =\tenspit - \let\headerfont=\tenspit -% \let\footnotefont = \smallpoint -% \let\smallerfont = \smallpoint - \def\cheadfont{\tensprmbigg}\relax - \def\sheadfont{\tenspbfxbig}\relax - \def\ssheadfont{\tenspbfx}\relax - \def\sssheadfont{\tenspbfx}\relax - \def\dsssheadfont{\tenspbfx}\relax - \setspacings \fi -\def\bigfont{\tenspbfxbig}\def\biggfont{\tenspbfxbigg}\relax -\def\bigggfont{\tenspbfxbiggg}\let\titlefont = \biggfont - \let\sc=\tenspccsm } - -\catcode`\@=12 diff --git a/macros/inrstex/texgraph/test_lat.aux b/macros/inrstex/texgraph/test_lat.aux deleted file mode 100644 index f23e54680b..0000000000 --- a/macros/inrstex/texgraph/test_lat.aux +++ /dev/null @@ -1 +0,0 @@ -\relax diff --git a/macros/inrstex/texgraph/test_lat.tex b/macros/inrstex/texgraph/test_lat.tex deleted file mode 100644 index 7be4ba281a..0000000000 --- a/macros/inrstex/texgraph/test_lat.tex +++ /dev/null @@ -1,59 +0,0 @@ -\documentstyle[texgraph]{article} - -\begin{document} - -\hrule -\centergraph{ \begin{TeXgraph} - \lvec h:2 v:2 - \end{TeXgraph} - } -\hrule - -Now for some text. -\bigskip -\hrule -\centerplotfile{ieeelogo.ps} -\hrule -\bigskip -\centergraph{ \begin{TeXgraph} - \incscfile f:{ieeelogo.ps} sc:.3 d:45 - \end{TeXgraph}} -\hrule -\vskip 1in -Now for the INRS Logo to demonstrate some of the \TeX Graph language. - -\input inrslogo - -\font\eightrm = cmr8 - -\inrslogoadd h:-.5 v:0 - - - -\centergraph{ \begin{TeXgraph} - \move h:2 v:2 - \rtext d:45 t:{--- --- Some text at 45 degrees} - \rtext d:90 t:{--- --- Some text at 90 degrees} - \rtext d:180 t:{--- --- Some text at 180 degrees} - \rtext d:270 t:{--- --- Some text at 270 degrees} - \vtext {\begin{TeXgraph} - \move h:-2 v:2 - \rtext d:45 t:{*** *** Some text at 45 degrees +90} - \rtext d:90 t:{*** *** Some text at 90 degrees +90} - \rtext d:180 t:{*** *** Some text at 180 degrees +90} - \rtext d:270 t:{*** *** Some text at 270 degrees +90} - \end{TeXgraph}} - \move h:4 v:4 - \end{TeXgraph} - } - -\end{document} - - - - - - - - - diff --git a/macros/inrstex/texgraph/testinrs.tex b/macros/inrstex/texgraph/testinrs.tex deleted file mode 100644 index 13e5ffa24c..0000000000 --- a/macros/inrstex/texgraph/testinrs.tex +++ /dev/null @@ -1,99 +0,0 @@ - -\hrule -\centergraph{ \btg - \lvec h:2 v:2 - \etg - } -\hrule - -Now for some text. -\bigskip -\hrule -\centerplotfile{ieeelogo.ps} -\hrule -\bigskip -\centergraph{ \btg - \incscfile f:{ieeelogo.ps} sc:.3 d:45 - \etg} -\hrule -\vskip 1in -Now for the INRS Logo to demonstrate some of the \TeX Graph language. - -\input inrslogo - -\inrslogoadd h:-.5 v:0 - - -\ejectpage - -\input inrssl % namechange to avoid problems with Latex naming. -\formscale .7 - -\inrsform % creates inrs logo ... and text .... replace by something - % else appropriate. - -\fullform % this creates a full sized version of this slide - -\hslide This is the title \cr Split here // -\hd{This is an internal header} -\bl -\lb A listitem starting with a bullet. -\lc A listitem starting with a circle. -\last A listitem starting with an asterisk. -\el -// % the // terminates a slide and a comment - -\comment -It is possible to add a comment to the bottom of the slide which -only shows up when the slide is printed in textform. A comment is -terminated with a {//} // - -\textform % this creates a reduced version of the slide ... up to two per page - -% now we modify the logos and such - -\topdata = {General Engineering Inc.} -\botdata = {An Important Presentation} -\slidedate = {Jan. 1, 2000} -\genform % this calls the general form that uses these token registers - -\hslide This is the title \cr Split here // -\hd{This is an internal header} -\bl -\lb A listitem starting with a bullet. -\lc A listitem starting with a circle. -\last A listitem starting with an asterisk. -\el -// % the // terminates a slide - -\comment -It is possible to add a comment to the bottom of the slide which -only shows up when the slide is printed in textform. A comment is -terminated with a {//} // - - -\bigskip -\centergraph{ \btg - \move h:2 v:2 - \rtext d:45 t:{--- --- Some text at 45 degrees} - \rtext d:90 t:{--- --- Some text at 90 degrees} - \rtext d:180 t:{--- --- Some text at 180 degrees} - \rtext d:270 t:{--- --- Some text at 270 degrees} - \vtext {\btg - \move h:-2 v:2 - \rtext d:45 t:{*** *** Some text at 45 degrees +90} - \rtext d:90 t:{*** *** Some text at 90 degrees +90} - \rtext d:180 t:{*** *** Some text at 180 degrees +90} - \rtext d:270 t:{*** *** Some text at 270 degrees +90} - \etg} - \move h:4 v:4 - \etg - } - - - - - -\done - - diff --git a/macros/inrstex/texgraph/texgraph.sty b/macros/inrstex/texgraph/texgraph.sty deleted file mode 100644 index 073efec127..0000000000 --- a/macros/inrstex/texgraph/texgraph.sty +++ /dev/null @@ -1,858 +0,0 @@ -% DVIPS version - -% included are the changes required to make it work with DVIPS -% It should be modifiable to any other decent driver too - -% This is the complete texgraph macros ... for use with the INRS/Beebe -% Postscript driver - -% LaTeX version - -% Graphics macros for TeX using POSTCRIPT - -% ----- Needs mod to count characters in special ... some drivers have an -% input limit of 500 characters in a \special - - -% =============================================================== -% THIS VERSION IS FOR USE with a PostScript Driver with -% \p@sfile to signal a file name -% \p@sinline to signal inline PostScript -% processes \specials and dvi commands in order. -% does not place a (save restore) pair about a \special. -% -% \printhv defines scale/directions for inline Postscript -% \filehv defines scale/directions for file Postscript -% -% Both INRS's modification of Beebe's DVIALW and ArborText's PostScript -% drivers satisfy these minimal requirements. - -% It assumes that the underlying units are 300 pix/in -% Standard PostScript Conventions -% This is easily changed by changing the \hpix or \vpix -% It assumes that x,y are in the "normal" up/left direction. - -% File inclusions require the existence of a bounding box for the correct -% spacing to be left. - -% =============================== -% Most arguments, excepting file names, are delimited by spaces. Thus -% braces { .... } will usually only occur around inserted text ... which -% still must be followed by a space or end of line. - - -% ====================== - -\catcode`\@=11 - -% =============== Driver Signal Forms ======================= - -%\xdef\p@sfile{ps: } % file signal INRS DVIALW - \xdef\p@sfile{ps: plotfile } % file signal DVIPS -\xdef\p@sinline{ps:: } % inline signal DVIPS ... INRS DVIALW - -% This translates the direction of the page if the printer assumptions -% are different than TeX. The values should be +-1. -\gdef\printhv #1 #2 {\gdef\p@hv{ #1 #2 scale }} -\gdef\filehv #1 #2 {\gdef\f@schv{ #1 #2 scale }} -\gdef\rtdir #1 {\gdef\r@tdir{ #1 }} % neg or nothing PS has no pos - - - - - -% ============== LateX support ================= - -\newenvironment{TeXgraph}{\btg}{\etg} - -% This is the only change between the LateX and INRSTeX versions - -% ======= Simple Plotfile support =========== - -% These are vanilla forms for inserting an encapsulated PostScript file -% or creating a centered graphics environment. - -% \centergraph needs to be very \long - -\long\gdef\centergraph#1{\hbox to - \hsize{\hss\vbox{#1\vgraphskip}\hgraphskip\hss}} -\gdef\centerplotfile#1{\centergraph{\btg\includefile #1 \etg}} - - -% if you use the Latex command to create the new texgraph environment, -% then you will automatically be "inside" Texgraph. This -% means that you should use such commands as -% \includefile \incscmvfile \incscfile - - - - -% ========= error messages ========= -% \language=0 -- English, 1 - French -\ifnum \language=0 \message{<< WARNING -- TeXGraph needs DVIPS >>} - \xdef\bbmess{Searching for BoundingBox } - \xdef\incfile{Graphics file} - \xdef\badincfile{Size/Format Error in Graphics File} - \xdef\noincfile{Missing Graphics File} - \else - \message{<< AVERTISSMENT -- TeXGraph a besoin du DVIPS >>} - \xdef\bbmess{Searching for BoundingBox } - \xdef\incfile{Graphics file} - \xdef\badincfile{Size/Format Error in Graphics File} - \xdef\noincfile{Missing Graphics File} - \fi - -% ===== debugging code ===== -% will send out specials as messages -\gdef\dmess #1{} -\gdef\bmess #1{} - -% ======== \global\newif ======= -% Plain defines the \newif as a local variable. We need a global -% version if TeXgraph is to be brought in while inside a group. -% This is a simpler, but less elegant version of \newif - -%#1 is \if<..> #2 -...true #3 ...false -\gdef\gnewif#1#2#3{\global\let#1=\iffalse \gdef#2{\let#1=\iftrue}\relax - \gdef#3{\let#1=\iffalse}} - -% ======== TeXGraph Macros ========== - -% Postcript allows for arbitrary translation, scaling, rotation and clipping. -% This version saves the current segment scale(s), unit scale(s), rotation -% and translation and painfully computes and retores the correct form after -% a segment exit. The reason for this is that Postcript can stack only one -% CTM, text needs to have correct rotation and translation but default -% scaling ... - -% It would be preferable not to convert any of the units. However, it is -% necessary to know the maximum excursions. Since the PS currentpoint is -% not accessible to TeX, we must keep it ourselves. -% Since negative numbers can be used both maximum and minimum excursions -% are required. - - -% ====== begin -- end graphics ======= - -% The maximum and minimum extent in the h and v direction is recorded -% and is accessible -% at the end of a \btg \etg pair (in points). The same value, in pixels is accessible at -% all times -\newcount\maxhpospix -\newcount\maxvpospix -\newcount\minhpospix -\newcount\minvpospix -\newdimen\hgraphsize -\newdimen\vgraphsize - -\gdef\vgraphskip{\vskip\vgraphsize} -\gdef\hgraphskip{\hskip\hgraphsize} - - -\gdef\beginTeXGraphics{\t@exgraphdef \i@ncgdepth - \vbox\bgroup\offinterlineskip - \h@pos=0 - \global\maxhpospix=\h@pos - \global\minhpospix=\h@pos - \v@pos=0 - \global\maxvpospix=\v@pos - \global\minvpospix=\v@pos - \h@segoff=\h@pos \v@segoff=\v@pos - \edef\o@form{}\ifnum\g@depth=1 - \p@sinit \fi \p@sset % PS initialization - \s@save} -% \s@save saves the initialization for the special output. -% \g@save saves some local condition - -\gdef\endTeXGraphics{\g@raphout\egroup\maxhvpos\p@srestore \d@ecgdepth } -\global\let\btg=\beginTeXGraphics -\global\let\etg=\endTeXGraphics -\global\let\btg=\beginTeXGraphics -\global\let\etg=\endTeXGraphics - -% ========== TeXGraph Nesting Depth ========== -\newcount\g@depth \global\g@depth=0 % initializes at zero -\gdef\i@ncgdepth{\global\advance\g@depth by 1 } -\gdef\d@ecgdepth{\global\advance\g@depth by -1 } - - - -% =========== Complete Graph Scaling =============== -% There is a separate scaling for the horizontal, vertical, and text - - -\gdef\grscale h:#1 v:#2 {\gdef\h@grsc{#1}\gdef\v@grsc{#1}\e@xtend - {\o@form}{#1 #2 scale }} - -\gdef\tgrscale #1 {\e@xtend{\o@form}{#1 #1 scale }} - % text scale h and v the same - - - - -% ======== PostScript initialization ========= -% - -\gdef\t@exgrdictdef{/td 50 dict def } - - - -\gdef\t@exgrdictinit{ td begin /mv {moveto} def - /lv {lineto} def - /st {stroke} def - /np {newpath} def - /sl {setlinewidth} def - /sd {setdash} def - /rt {rotate} def - /gs {gsave} def - /gr {grestore} def - /tr {translate} def - /cp {closepath} def - /sg {setgray} def - /chv {currentpoint} def - /cv {curveto} def - /slc {setlinecap} def - /slj {setlinejoin} def - /sc {scale} def - /at {neg atan rt} def - /mx {mv gs chv tr} def -% \h@vinit - end } -% ----- initial point move ... driver dependent ----- -\gdef\Xpos{Xp\the\g@depth\b@} -\gdef\Ypos{Yp\the\g@depth\b@} - -\gdef\h@vinit{ chv /\Ypos exch - def /\Xpos exch def } -\gdef\h@vset{\t@rhv \p@hv } -\gdef\m@vhv{ \Xpos \Ypos mv } % INRS -\gdef\t@rhv{ \Xpos \Ypos tr } % INRS -\gdef\t@rneghv{ \Xpos neg \Ypos neg tr } % INRS - -\gdef\p@sinit{\edef\e@form{\special{\p@sinline - \t@exgrdictdef - \t@exgrdictinit}} -\gdef\p@sset{\special{\p@sinline td begin \h@vinit gs \t@rhv - \p@hv end }}\e@form\dmess{\e@form}} - -% ======== PostScript termination ========= -\gdef\p@srestore{\edef\e@form{\special{\p@sinline grestore }}\e@form - \dmess{\e@form}} - % resets to entry into TeXgraph and recovers memory - -%========= macros for converting dimensions/units ========= -% --------- \box0 must not be void ---------- -\global\setbox0=\hbox{} - -%default values -\gdef\graphdim#1 {\gdef\g@dim{#1\relax}} - -%pixels /dim unit -\newcount\h@pix % sp/pixel -\gdef\hpix#1/#2 {\wd0=1true#2\relax - \h@pix=\wd0 \divide\h@pix by #1 \relax} -\newcount\v@pix % sp/pixel -\gdef\vpix#1/#2 {\wd0=1true#2\relax - \v@pix=\wd0 \divide\v@pix by #1 \relax} - -% Assumes #1 is dimension #2 is count in pixels, #3 sp/pix, #4 scalefactor (real) -% #2 is returned -\gdef\gendimtopix#1#2#3#4{\wd0=#1\dimen0=#4\wd0\relax - \wd0=\dimen0 #2=\wd0 \divide #2 by #3\relax} -% #1 is returned, #5 -\global or {} -\gdef\genpixtopt#1#2#3#4#5{\multiply #2 by #3\relax\wd0=#2sp - #5#1=#4\wd0\relax} - -% ---------- Converts maxpix to maxdim removes offset ----- -\gdef\maxhvpos{\global\advance\maxhpospix by -\minhpospix\relax - \genpixtopt{\hgraphsize}{\maxhpospix}{\h@pix}{\h@grsc}{\global}\relax - \global\advance\maxvpospix by -\minvpospix\relax - \genpixtopt{\vgraphsize}{\maxvpospix}{\v@pix}{\v@grsc}{\global}} - - - -% ======== The vector offsets my be relative or absolute ===== - -\gnewif{\ifr@elpos}{\r@elpostrue}{\r@elposfalse} %default is absolute -\gdef\absoluteposition{\r@elposfalse} -\gdef\relativeposition{\r@elpostrue} -\global\let\abspos=\absoluteposition -\global\let\relpos=\relativeposition -\global\let\absolute=\absoluteposition % historical -\global\let\relative=\relativeposition % historical - -% ====== update #1 by #2 r@elpos to #3, #4 is max #5 is min======= -\gdef\u@pdate#1#2#3#4#5{\ifr@elpos \advance #1 by #2\else - \advance #2 by #3\relax - #1=#2\fi - \ifnum #1>#4\global #4=#1\fi - \ifnum #1<#5\global #5=#1\fi - } -\gdef\h@update #1{\u@pdate{\h@pos}{#1}{\h@segoff}{\maxhpospix}{\minhpospix}} -\gdef\v@update #1{\u@pdate{\v@pos}{#1}{\v@segoff}{\maxvpospix}{\minvpospix}} - -% === pixel position r@elpos to initial offset starting position -\newcount\h@pos \h@pos=0 -\newcount\v@pos \v@pos=0 -\newcount\r@ang \r@ang=0 % 1000 times degrees ? - - -% ===== Check for pen up moves only ===== -% penup/down are used to determine whether a line needs to be stroked -% when a line pattern or penwidth is changed. - \gnewif{\ifp@down}{\p@downtrue}{\p@downfalse} - - -% ===== present segment origin and rotation ========== - -\newcount\h@segoff -\newcount\v@segoff -\newcount\r@segoff % 1000 times degrees - - -\gdef\beginsegment{\g@raphout\begingroup\s@eginit} - -% segment initialization is a trifle messy -\gdef\s@eginit{\h@segoff =\h@pos \v@segoff=\v@pos} - - -% PS has the concept of a path that is either -% completed with a "stroke" or "fill" ... stroking -% at the end or beginning of a segment, the special is written out. This is -% to ensure that the input order of the graphics reflects what entities are -% on top of what others. Further it is assumed that the origin does not -% change during an entire \btg ...\etg section. This means that every special -% must first move to the point where the previous one left off. \s@save -% defines \s@restore that restores, in case they had been modified, the line -% width, pattern, hpos, vpos, ... and any future things that need restoration. -% all graphic specials are ended with a stroke (st), whether it needs it not. - -% we need a special form to force a space after a \the\nnn form or \p@w - -\gdef\b@{ } - -\gdef\endsegment{\g@raphout\endgroup - \edef\o@form{}\s@save} -\gdef\s@pout #1#2{\edef\e@form{\special{#1\s@restore\o@form#2}}\dmess{\e@form}\e@form - \edef\o@form{}\s@save} -%\h@vset if there is a move before each special -\gdef\g@raphout{\ifx\empty\o@form \else \ifp@down - \s@pout{\p@sinline td begin }{ st end }\fi\fi\p@downfalse} -\global\let\graphout=\g@raphout - -% ====== Segment and units scaling ======== -% The units in any segment may be scaled arbitrarily. A unit scale is local -% to a segment but affects enclosed segments unless specifically overidden -% in that segment. In addition there is a graph or segment scale. This -% scaling factor is accumulative and is applied on top of the unit scale. -% These two scaling factors allow for a segment to be designed in nominal -% units, scaled to a nominal size and then be affected by relative scaling -% of an entire graph or segment. In addition there is a relative/absolute -% scale switch that allows for any segment to be unaffected by a graphscale. - -% \u@nitsc -- present unit scale, \s@egsc -- present segment scale -% \g@rsc -- present graphscale ... changes when ever either of the former do. - -% present implementation does not allow separate v h scaling - -% ------ Relative/Absolute Scale ------ -\gnewif{\ifr@elscale}{\r@elscaletrue}{\r@elscalefalse} -\gdef\absolutescale{\r@elscalefalse} -\gdef\relativescale{\r@elscaletrue} -\global\let\abssc=\absolutescale -\global\let\relsc=\relativescale - -% ----- unit scale ----- -\gdef\unitscale#1 {\edef\u@nitsc{#1}\newgraphscale} - -\global\let\graphscale=\unitscale % Historical - -% ----- Segment Scale ----- - -\gdef\segmentscale#1 {\ifr@elscale \realmult{#1}{\s@egsc}{\s@egsc}\else - \edef\s@egsc{#1}\fi - \newgraphscale} - -% ---- Graph Scale -------- -% This changes whenever either of the above change -\gdef\newgraphscale{\realmult{\u@nitsc}{\s@egsc}{\g@rsc}} - - -% ------ "Real" Multiplication -------- -% These functions use the fact that a box dimension may be scaled by -% a real. The final step is to "clean" off the pt on the resulting dim - -% Cleans off the pt in a dimension ... pt has catcode 12 -{\catcode`\p=12 \catcode`\t=12 -\gdef\c@lean#1pt{\edef\cx{#1}}} -% #1 and #2 are multiplicands #3 is a command to capture result -\gdef\realmult#1#2#3{\wd0=1pt\dimen0=#1\wd0\wd0=\dimen0\dimen0=#2\wd0 - \edef\R@M{\the\dimen0}\expandafter\c@lean\R@M\edef#3{\cx}} -\gdef\realadd#1#2#3{\dimen0=#1pt\dimen2=#2pt\advance\dimen0by\dimen2 - \edef\R@M{\the\dimen0}\expandafter\c@lean\R@M\edef#3{\cx}} - - -% -------- Command to convert nominal values to pixels ------ -% #1 is a decimal number, #2 must be a count, #3 is sp/pix -% This includes all scalings -\gdef\grdimtopix#1#2#3{\gendimtopix{#1\g@dim}{#2}{#3}{\g@rsc}} - - -% ------- special forms to update positions ------ - -\gdef\i@h#1{\grdimtopix{#1}{\d@umc}{\h@pix}\h@update{\d@umc}} -\gdef\i@v#1{\grdimtopix{#1}{\d@umc}{\v@pix}\v@update{\d@umc}} -\gdef\h@num#1#2{\grdimtopix{#1}{#2}{\h@pix}} -\gdef\v@num#1#2{\grdimtopix{#1}{#2}{\v@pix}} - - -%dummy variables -\newcount\d@uma -\newcount\d@umb -\newcount\d@umc -\newcount\d@umd -\newcount\d@ume - -% ====== end macros for converting dimensions - -% ======== Some more Utility Macros ======== -% ======== recursive macros ======== -\gdef\e@xtend #1#2{\let\d@x=#1\edef #1{\d@x #2}} -\xdef\s@pex{} -\xdef\s@pin{ } -\gdef\s@pexpand #1 #2!{\e@xtend{\s@pex}{#1\s@pin}\edef\t@x{#2}\ifx\t@x\empty\relax \else - \s@pexpand #2!\fi} - -% ========== A Do Loop Construction ========= -% \do <something> for <number of times>\od -% This is a specialization of the \loop in Plain. - -\newcount\d@count -\gdef\do #1 for #2\od{\d@count=#2\loop #1 \ifnum\d@count>1\advance - \d@count by -1\repeat} - - -% ========= Graphics specials ======= -\xdef\o@form{} -\gdef\penwidth #1 {\h@num{#1}{\d@umc}\edef\p@w{\the\d@umc}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\p@w\b@ sl }\fi} -\gdef\linecap #1 {\edef\s@lc{#1}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\s@lc\b@ slc }\fi} -\gdef\linejoin #1 {\edef\s@lj{#1}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\s@lj\b@ slj }\fi} -\gdef\lpatt p:#1 {\edef\v@p{#1 0}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\v@p\b@ sd }\fi} - - -% ==== parameters are in units of the nominal dimension \g@dim ====== - -\gdef\p@move #1#2#3{\i@h{#1}\i@v{#2}\e@xtend{\o@form}{\the\h@pos\b@ \the\v@pos\b@ #3 }} - -\gdef\lvec h:#1 v:#2 {\p@move{#1}{#2}{lv}\p@downtrue} %draws a line - -\gdef\move h:#1 v:#2 {\p@move{#1}{#2}{mv}} %moves - - -% ====== a general vector with dimensions in pixels ====== - -% ========= General pixel dim vector ========== - -\gdef\lpix h:#1 v:#2 f:#3 {\e@xtend{\o@form}{ #1 #2 #3 }} - - -%============== puts TeX text at this position -% These are pure TeX macros that use \h@pos and \v@pos for orientation -% Text may be put horizontally (left/right) or vertically (down/up) - -% ======== sp form of \h@pos and \v@pos respectively ======== -\newdimen\t@hpos -\newdimen\t@vpos -\gdef\s@ettpos{\d@umc=\h@pos - \genpixtopt{\t@hpos}{\d@umc}{\h@pix}{}{}\relax - \d@umc=\v@pos - \genpixtopt{\t@vpos}{\d@umc}{\v@pix}{}{}\relax} - - - -% any one of nine reference point may be specified on the -% TeX box. This is Vertical T,C,B and Horizontal L,C,R -% The actual box is 0 height and width. -\newbox\t@box -% #1 LCR default/error L #2 TCB default/error T #3 text -- in hbox - -% Sets the box glues \lhglue \rhglue \tvglue \bvglue -% #1 x/h ref, #2 v/y ref -\gdef\textref h:#1 v:#2 {\ifx#1R\edef\lhglue{\hss}\edef\rhglue{}\else - \ifx#1C\edef\lhglue{\hss}\edef\rhglue{\hss}\else - \edef\lhglue{}\edef\rhglue{\hss}\fi\fi - \ifx#2B\edef\tvglue{\vss}\edef\bvglue{}\else - \ifx#2C\edef\tvglue{\vss}\edef\bvglue{\vss}\else - \edef\tvglue{}\edef\bvglue{\vss}\fi\fi} -\global\let\tboxref=\textref - -\newcount\h@oldmaxpos \newcount\v@oldmaxpos - - %needed to save max pos when texgraph is inside an h/vtext - -% ========== assumes driver location at initial \btg entry ======== -% - -% #1 text #2 - begin rotation form #3 - end rotation form -\long\gdef\m@text#1#2#3{\g@raphout\h@oldmaxpos=\maxhpospix\relax - \v@oldmaxpos=\maxvpospix\relax - \edef\h@oldgrsc{\h@grsc}\edef\v@oldgrsc{\v@grsc}\s@ettpos - \setbox\t@box=\vbox{\normalbaselines - \vskip\t@vpos\hbox{\hskip\t@hpos - \t@init{#2}\relax - \vbox to 0pt{\normalbaselines - \tvglue\hbox to 0pt{\lhglue\hbox{#1}\rhglue - }\bvglue}}}\relax - \dp\t@box=0pt\ht\t@box=0pt\wd\t@box=0pt - \box\t@box - \t@fin{#3} - \global\maxhpospix=\h@oldmaxpos\relax - \global\maxvpospix=\v@oldmaxpos\relax - \xdef\h@grsc{\h@oldgrsc}\edef\v@grsc{\v@oldgrsc}} - % saves maxh(v)pospix on stack - - -% ========== PS text initializations and terminations =========== -\gdef\t@init#1{\special{\p@sinline td begin \h@vinit gr gs - \t@rhv #1 \t@rneghv end }} - -\gdef\t@fin#1{\special{\p@sinline td begin \h@vinit gr gs \m@vhv \t@rhv \p@hv end }} - -% .... special test -%\gdef\t@init#1{} -%\gdef\t@fin#1{} -% ... end special test - - - -\long\gdef\htext #1 {\m@text{#1}{}{}} -\long\gdef\vtext #1 {\m@text{#1}{ 90 \r@tdir rt }{}} -\long\gdef\rtext d:#1 t:#2 {\m@text{#2}{ #1 \r@tdir rt }{}} -\long\gdef\rstext d:#1 sc:#2 t:#3 {\m@text{#3}{ #1 \r@tdir rt #2 #2 sc }{}} -\global\let\tbox=\htext - -% ========= Various Restore forms ======== -\gdef\g@save{\edef\g@restore{\p@w\b@ sl \v@p\b@ sd \s@lc\b@ slc \s@lj\b@ slj - np \the\h@pos\b@ \the\v@pos\b@ mv }} -\gdef\s@save{\edef\s@restore{\p@w\b@ sl \v@p\b@ sd \s@lc\b@ slc \s@lj\b@ slj - np \the\h@pos\b@ \the\v@pos\b@ mv }} - - - - -% ======== circle, arcs ========= -% The PS arc will connect the center of the arc to the circumference -% if the newpath includes the move to this point. Thus we define a -% set of arc functions that include/exclude this feature. The default -% does not include this form. - -\gdef\larc r:#1 sd:#2 ed:#3 {\h@num{#1}{\d@umc}\p@downtrue - \e@xtend{\o@form}{ st np \the\h@pos\b@ \the\v@pos\b@ \the\d@umc\b@ #2 #3 arc - st np \the\h@pos\b@ \the\v@pos\b@ mv }} - -\gdef\lcir r:#1 {\larc r:#1 sd:0 ed:360 } - -% ------ this is a raw arc ... can be used in fills -------- - -\gdef\arcc r:#1 sd:#2 ed:#3 {\h@num{#1}{\d@umc}\p@downtrue - \e@xtend{\o@form}{\the\h@pos\b@ \the\v@pos\b@ \the\d@umc\b@ #2 #3 arc }} - -\gdef\arcn r:#1 sd:#2 ed:#3 {\h@num{#1}{\d@umc}\p@downtrue - \e@xtend{\o@form}{\the\h@pos\b@ \the\v@pos\b@ - \the\d@umc\b@ #2 #3 arcn }} - -% ======= fill command ========== -% The fill command is essentially a polygonal fill ... not a point spreading -% this means that it is possible to erase with white ... The form here -% completes with a closepath applies the fill, starts a newpath and moves -% to the current point. Pattern is a grey level. -% 0 is black 1 is white - -\gdef\pfill p:#1 {\p@downtrue - \e@xtend{\o@form}{cp #1 sg fill np \the\h@pos\b@ \the\v@pos\b@ mv }} - - -% this form both fills and strokes around the path -\gdef\lpfill p:#1 {\p@downtrue - \e@xtend{\o@form}{cp gs #1 sg fill gr st np \the\h@pos\b@ \the\v@pos\b@ mv }} - -% ======== Postscript special forms ======== -% This allows "raw" postscript to be put in the graph. -\gdef\pst #1{\e@xtend{\o@form}{#1 }} - -% These are some useful postscript compatible forms. - -\gdef\closepath{\e@xtend{\o@form}{cp }} -\gdef\newpath{\e@xtend{\o@form}{np }} -\gdef\stroke{\e@xtend{\o@form}{st }} - - - -% ========= including external files ========== -% an external file is included at the present point on the graph area -% moves are required to get there -% The actual file is placed inside a \t@box and tex commands are used -% to get to the place ... They probably can be nested -% #1 is the filename - -% The file is opened, if possible, to read its size. If this exists, it -% is used to update the maximum h/v position. -% The BoundingBox is determined - - -\newread\q@file -% #1 is the file name -\gnewif{\ifq@read}{\q@readtrue}{\q@readfalse} -\gnewif{\ifq@file}{\q@filetrue}{\q@filefalse} -\gnewif{\ifb@boxexists}{\b@boxexiststrue}{\b@boxexistsfalse} -% #1 == %%BoundingBox, #2 llh #3 llv #4 urh #5 urv #6 rest of line - - -\gdef\uncat{\catcode`"=12} - -{\catcode`\%=12 -\gdef\l@shift{\ifx\l@lh\empty \xdef\l@lh{\l@lv}\xdef\l@lv{\u@rh}\xdef - \u@rh{\u@rv}\xdef\u@rv{\e@xt}\fi} -\gdef\B@Box{%%BoundingBox} -\gdef\a@tend{(atend)} -\gdef\a@tendtest{\l@shift\ifx\l@lh\a@tend\relax\else - \global\b@boxexiststrue\q@readfalse\bmess{<< At End Test >>}\fi} - -\long\gdef\q@inline #1:#2 #3 #4 #5 #6 #7//{\xdef - \q@bbtest{#1}\xdef\l@lh{#2}\xdef - \l@lv{#3}\xdef\u@rh{#4}\xdef\u@rv{#5}\xdef - \e@xt{#6}\ifx\q@bbtest\B@Box - \a@tendtest\fi - \ifeof\q@file \q@readfalse \fi} - -\gdef\s@bbox{\b@boxexistsfalse - \message{<< \bbmess -- \f@ilename>>}\q@readtrue - \loop \relax \ifq@read\r@eadline\repeat} - -\gdef\r@eadline{ {\uncat \global\read\q@file to\q@parms } - \expandafter\q@inline\q@parms {}:{\relax} {\relax} {\relax} {\relax} -{\relax} \relax//\bmess{<<\q@parms>>}} - -\gdef\g@etpsize #1{{\catcode`\%=12\openin\q@file = #1\relax - \edef\q@parms{}\global\q@filetrue\xdef\f@ilename{#1} - \ifeof\q@file \message{<<\noincfile: #1 >>}\relax - \global\q@filefalse\else - \s@bbox - \closein\q@file\fi}} - -} % end of % disable - -\newcount\h@px \newcount\v@px \newcount\h@mx \newcount\v@mx -\gdef\s@avemaxpos{\global\h@px=\maxhpospix\global\v@px=\maxvpospix - \global\h@mx=\minhpospix\global\v@mx=\minvpospix} -\gdef\r@estoremaxpos{\global\maxhpospix=\h@px\global\maxvpospix\v@px - \global\minhpospix=\h@mx\global\minvpospix\v@mx} - -\gdef\f@sc{\b@} -\gdef\f@rt{\b@} -\gdef\filerotate#1{\edef\f@rt{ XposR YposR tr #1 \r@tdir rt XposR neg - YposR neg tr }} - -\gdef\filescale #1{\edef\f@sc{#1 #1 sc \f@schv}} -\gdef\p@fileinit{ td begin \h@vinit gr gs \f@rt \t@rhv \f@sc end - /texgraph save def /showpage {} def } -\xdef\p@filefin{ texgraph restore } -\global\let\mvec=\move - - - -\gdef\includefile #1 {\incscfile f:#1 sc:1 d:0 } - -\gdef\incscfile f:#1 sc:#2 d:#3 {\g@etpsize{#1}\ifb@boxexists - \message{<<\incfile: #1 >>}\realadd{\u@rh}{-\l@lh}{\p@lh} - \realadd{\u@rv}{-\l@lv}{\p@lv} - \realmult{\p@lh}{.5}{\p@lhh} - \realmult{\p@lv}{.5}{\p@lvh} - \beginsegment - \segmentscale #2 - \global\let\g@dimo=\g@dim - \graphdim pt - \mvec h:{\p@lh} v:{\p@lv} - \mvec h:{\p@lhh} v:{\p@lvh} - \m@text{}{ /XposR \Xpos\b@ def - /YposR \Ypos\b@ def }{} - \endsegment - \s@avemaxpos - \beginsegment \segmentscale #2 - \mvec h:{-\l@lh} v:{\u@rv} - \htext{\filescale{#2}\filerotate{#3}\relax - \special{\p@sinline\p@fileinit } - \special{\p@sfile #1 } - \special{\p@sinline\p@filefin }} - \endsegment - \r@estoremaxpos - \global\let\g@dim=\g@dimo - \else\message{<<\badincfile: #1 >>}\fi } - -\gdef\incscmvfile f:#1 sc:#2 d:#3 h:#4 v:#5 {\g@etpsize{#1}\ifb@boxexists - \message{<<\incfile: #1 >>}\realadd{\u@rh}{-\l@lh}{\p@lh} - \realadd{\u@rv}{-\l@lv}{\p@lv} - \realmult{\p@lh}{.5}{\p@lhh} - \realmult{\p@lv}{.5}{\p@lvh} - \ifx#4L \edef\f@h{0}\else \ifx#4C \edef\f@h{1} \else \edef\f@h{2}\fi\fi - \ifx#5T \edef\f@v{0}\else \ifx#5C \edef\f@v{1} \else\edef\f@v{2}\fi\fi - \realmult{\p@lhh}{\f@h}{\h@off} - \realmult{\p@lvh}{\f@v}{\v@off} - \beginsegment - \segmentscale #2 - \global\let\g@dimo=\g@dim - \graphdim pt - \mvec h:{-\h@off} v:{-\v@off} - \beginsegment - \mvec h:{\p@lh} v:{\p@lv} - \mvec h:{\p@lhh} v:{\p@lvh} - \m@text{}{ /XposR \Xpos\b@ def - /YposR \Ypos\b@ def }{} - \endsegment - \endsegment - \s@avemaxpos - \beginsegment \segmentscale #2 - \mvec h:{-\l@lh} v:{\u@rv} - \beginsegment - \mvec h:{-\h@off} v:{-\v@off} - \htext{\filescale{#2}\filerotate{#3}\relax - \special{\p@sinline\p@fileinit } - \special{\p@sfile #1 } - \special{\p@sinline\p@filefin }} - \endsegment - \endsegment - \r@estoremaxpos - \global\let\g@dim=\g@dimo - \else\message{<<\badincfile: #1 >>}\fi } - - - -% ============ Design Grid ============== -% This will lay down a grid at the present location. The grid nominally -% at unit dimension intervals. The scale factor sc modifies this. The -% sc is local only to the grid - -\newcount\gcount -\gdef\grid nh:#1 nv:#2 sc:#3 {\gcount= #1 - \beginsegment - \relative - \penwidth .005 - \graphscale #3 - \beginsegment - \loop \lvec h:#2 v:0 - \move h:-#2 v:1 - \ifnum \gcount > 1 - \advance\gcount by -1 \repeat - \endsegment - \gcount = #2 - \beginsegment - \loop \lvec h:0 v:#1 - \move h:1 v:-#1 - \ifnum \gcount > 1 - \advance\gcount by -1 \repeat - \endsegment - \endsegment} -%========= end design grid ================ - - -% =========== Arrow Vectors ============== -% There are three types of arrow heads, filled, open V and triangle -% These are always placed on the end of a vector. - -% The basic design has the arrow head which is placed on the vector -% It theoretically can be placed on any curve where the angle is known or -% computable. - - -\newcount\a@len -\newcount\a@wid - -% Parameter specification for arrowheads. -% #1 -- length #2 -- width -% The dimensions are interpreted at current graphscale in force and -% are local to the segment group. -\gdef\arrowheadscale{\arrowheadsize l:.16 w:.04 } -\gdef\arrowheadsize l:#1 w:#2 {\grdimtopix{#1}{\a@len}{\h@pix - }\grdimtopix{#2}{\a@wid}{\h@pix - }} -% postcript commands for inidividual arrow form -\gdef\arrowheadtype t:#1 {\ifx#1T\edef\a@com{cp gs 1 sg fill gr st }\else - \ifx#1F\edef\a@com{cp 0 sg fill }\else - \edef\a@com{st }\fi\fi} -\newcount\h@lp -\newcount\v@lp - -% assumes that the dh and dv is in \h@lp \v@lp and present location is tip -% of arrowhead -\gdef\a@draw{st np \the\h@pos\b@ \the\v@pos\b@ mx - \the\v@lp\b@ neg \the\h@lp\b@ at - -\the\a@len\b@ \the\a@wid\b@ mv 0 0 lv - -\the\a@len\b@ -\the\a@wid\b@ lv - \a@com gr } - - - -\gdef\avec h:#1 v:#2 {\h@lp=\h@pos\relax \v@lp=\v@pos\relax - \lvec h:#1 v:#2 \advance\h@lp by -\h@pos\relax - \advance\v@lp by -\v@pos\relax - \e@xtend{\o@form}{\a@draw}} - - -% ============= End Arrow Vectors ============= - -% ========= Bezier Curve ========== -% this is a cubic spline that is determined by four points. The initial -% point is assumed to be the current point. An arrow is easily added. - - -\gdef\clvec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 {\i@h{#1}\d@uma=\h@pos - \i@v{#2}\d@umb=\v@pos\i@h{#3}\d@ume=\h@pos\i@v{#4}\d@umd=\v@pos - \i@h{#5}\i@v{#6}\e@xtend{\o@form}{\the\d@uma\b@ \the\d@umb\b@ - \the\d@ume\b@ \the\d@umd\b@ \the\h@pos\b@ \the\v@pos\b@ - cv }\p@downtrue} -\gdef\clv (#1 #2) (#3 #4) (#5 #6){\clvec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 } - -\gdef\cavec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 {\clvec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 - \h@lp=\d@ume \relax \v@lp=\d@umd \relax - \advance\h@lp by -\h@pos\relax - \advance\v@lp by -\v@pos\relax - \e@xtend{\o@form}{\a@draw}} -\gdef\cav (#1 #2) (#3 #4) (#5 #6){\cavec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 } - - - - - -% ======= default values ========= -% These are reset each time \btg is called -\gdef\t@exgraphdef{\setbox0=\hbox{}\graphdim in -\hpix 300/in % INRS Default -\vpix 300/in % INRS Default -\printhv 1 1 % DVIPS 300 dpi -\filehv 4.17 -4.17 % DVIPS 300/72 -\rtdir neg % DVIPS -\def\h@grsc{1}\def\v@grsc{1}%sets default hor/vert scales -\absoluteposition -\relativescale -\unitscale 1 -\penwidth .015 -\lpatt p:{[]} -\linecap 1 -\linejoin 1 -\arrowheadsize l:.16 w:.04 -\arrowheadtype t:T -\textref h:L v:T } - -\xdef\s@egsc{1}% initial default - -\catcode`\@=12 - - diff --git a/macros/inrstex/texgraph/texgraph.tex b/macros/inrstex/texgraph/texgraph.tex deleted file mode 100644 index 14c065d753..0000000000 --- a/macros/inrstex/texgraph/texgraph.tex +++ /dev/null @@ -1,859 +0,0 @@ -% DVIPS version - -% included are the changes required to make it work with DVIPS -% It should be modifiable to any other decent driver too - -% This is the complete texgraph macros ... for use with the INRS/Beebe -% Postscript driver - -% This is the INRSTEX version - -% Graphics macros for TeX using POSTCRIPT - -% ----- Needs mod to count characters in special ... some drivers have an -% input limit of 500 characters in a \special - - -% =============================================================== -% THIS VERSION IS FOR USE with a PostScript Driver with -% \p@sfile to signal a file name -% \p@sinline to signal inline PostScript -% processes \specials and dvi commands in order. -% does not place a (save restore) pair about a \special. -% -% \printhv defines scale/directions for inline Postscript -% \filehv defines scale/directions for file Postscript -% -% Both INRS's modification of Beebe's DVIALW and ArborText's PostScript -% drivers satisfy these minimal requirements. - -% It assumes that the underlying units are 300 pix/in -% Standard PostScript Conventions -% This is easily changed by changing the \hpix or \vpix -% It assumes that x,y are in the "normal" up/left direction. - -% File inclusions require the existence of a bounding box for the correct -% spacing to be left. - -% =============================== -% Most arguments, excepting file names, are delimited by spaces. Thus -% braces { .... } will usually only occur around inserted text ... which -% still must be followed by a space or end of line. - - -% ====================== - -\catcode`\@=11 - -% =============== Driver Signal Forms ======================= - -%\xdef\p@sfile{ps: } % file signal INRS DVIALW - \xdef\p@sfile{ps: plotfile } % file signal DVIPS -\xdef\p@sinline{ps:: } % inline signal DVIPS ... INRS DVIALW - -% This translates the direction of the page if the printer assumptions -% are different than TeX. The values should be +-1. -\gdef\printhv #1 #2 {\gdef\p@hv{ #1 #2 scale }} -\gdef\filehv #1 #2 {\gdef\f@schv{ #1 #2 scale }} -\gdef\rtdir #1 {\gdef\r@tdir{ #1 }} % neg or nothing PS has no pos - - - - - -% ============== LateX support ================= - -%\newenvironment{TeXgraph}{\btg}{\etg} - -% This is the only change between the LateX and INRSTeX versions - -% ======= Simple Plotfile support =========== - -% These are vanilla forms for inserting an encapsulated PostScript file -% or creating a centered graphics environment. - -% \centergraph needs to be very \long - -\long\gdef\centergraph#1{\hbox to - \hsize{\hss\vbox{#1\vgraphskip}\hgraphskip\hss}} -\gdef\centerplotfile#1{\centergraph{\btg\includefile {#1} \etg}} - - -% if you use the Latex command to create the new texgraph environment, -% then you will automatically be "inside" Texgraph. This -% means that you should use such commands as -% \includefile \incscmvfile \incscfile - - - - -% ========= error messages ========= -% \language=0 -- English, 1 - French -\ifnum \language=0 \message{<< WARNING -- TeXGraph needs DVIPS >>} - \xdef\bbmess{Searching for BoundingBox } - \xdef\incfile{Graphics file} - \xdef\badincfile{Size/Format Error in Graphics File} - \xdef\noincfile{Missing Graphics File} - \else - \message{<< AVERTISSMENT -- TeXGraph a besoin du DVIPS >>} - \xdef\bbmess{Searching for BoundingBox } - \xdef\incfile{Graphics file} - \xdef\badincfile{Size/Format Error in Graphics File} - \xdef\noincfile{Missing Graphics File} - \fi - -% ===== debugging code ===== -% will send out specials as messages -\gdef\dmess #1{} -\gdef\bmess #1{} - -% ======== \global\newif ======= -% Plain defines the \newif as a local variable. We need a global -% version if TeXgraph is to be brought in while inside a group. -% This is a simpler, but less elegant version of \newif - -%#1 is \if<..> #2 -...true #3 ...false -\gdef\gnewif#1#2#3{\global\let#1=\iffalse \gdef#2{\let#1=\iftrue}\relax - \gdef#3{\let#1=\iffalse}} - -% ======== TeXGraph Macros ========== - -% Postcript allows for arbitrary translation, scaling, rotation and clipping. -% This version saves the current segment scale(s), unit scale(s), rotation -% and translation and painfully computes and retores the correct form after -% a segment exit. The reason for this is that Postcript can stack only one -% CTM, text needs to have correct rotation and translation but default -% scaling ... - -% It would be preferable not to convert any of the units. However, it is -% necessary to know the maximum excursions. Since the PS currentpoint is -% not accessible to TeX, we must keep it ourselves. -% Since negative numbers can be used both maximum and minimum excursions -% are required. - - -% ====== begin -- end graphics ======= - -% The maximum and minimum extent in the h and v direction is recorded -% and is accessible -% at the end of a \btg \etg pair (in points). The same value, in pixels is accessible at -% all times -\newcount\maxhpospix -\newcount\maxvpospix -\newcount\minhpospix -\newcount\minvpospix -\newdimen\hgraphsize -\newdimen\vgraphsize - -\gdef\vgraphskip{\vskip\vgraphsize} -\gdef\hgraphskip{\hskip\hgraphsize} - - -\gdef\beginTeXGraphics{\t@exgraphdef \i@ncgdepth - \vbox\bgroup\offinterlineskip - \h@pos=0 - \global\maxhpospix=\h@pos - \global\minhpospix=\h@pos - \v@pos=0 - \global\maxvpospix=\v@pos - \global\minvpospix=\v@pos - \h@segoff=\h@pos \v@segoff=\v@pos - \edef\o@form{}\ifnum\g@depth=1 - \p@sinit \fi \p@sset % PS initialization - \s@save} -% \s@save saves the initialization for the special output. -% \g@save saves some local condition - -\gdef\endTeXGraphics{\g@raphout\egroup\maxhvpos\p@srestore \d@ecgdepth } -\global\let\btg=\beginTeXGraphics -\global\let\etg=\endTeXGraphics -\global\let\btg=\beginTeXGraphics -\global\let\etg=\endTeXGraphics - -% ========== TeXGraph Nesting Depth ========== -\newcount\g@depth \global\g@depth=0 % initializes at zero -\gdef\i@ncgdepth{\global\advance\g@depth by 1 } -\gdef\d@ecgdepth{\global\advance\g@depth by -1 } - - - -% =========== Complete Graph Scaling =============== -% There is a separate scaling for the horizontal, vertical, and text - - -\gdef\grscale h:#1 v:#2 {\gdef\h@grsc{#1}\gdef\v@grsc{#1}\e@xtend - {\o@form}{#1 #2 scale }} - -\gdef\tgrscale #1 {\e@xtend{\o@form}{#1 #1 scale }} - % text scale h and v the same - - - - -% ======== PostScript initialization ========= -% - -\gdef\t@exgrdictdef{/td 50 dict def } - - - -\gdef\t@exgrdictinit{ td begin /mv {moveto} def - /lv {lineto} def - /st {stroke} def - /np {newpath} def - /sl {setlinewidth} def - /sd {setdash} def - /rt {rotate} def - /gs {gsave} def - /gr {grestore} def - /tr {translate} def - /cp {closepath} def - /sg {setgray} def - /chv {currentpoint} def - /cv {curveto} def - /slc {setlinecap} def - /slj {setlinejoin} def - /sc {scale} def - /at {neg atan rt} def - /mx {mv gs chv tr} def -% \h@vinit - end } -% ----- initial point move ... driver dependent ----- -\gdef\Xpos{Xp\the\g@depth\b@} -\gdef\Ypos{Yp\the\g@depth\b@} - -\gdef\h@vinit{ chv /\Ypos exch - def /\Xpos exch def } -\gdef\h@vset{\t@rhv \p@hv } -\gdef\m@vhv{ \Xpos \Ypos mv } % INRS -\gdef\t@rhv{ \Xpos \Ypos tr } % INRS -\gdef\t@rneghv{ \Xpos neg \Ypos neg tr } % INRS - -\gdef\p@sinit{\edef\e@form{\special{\p@sinline - \t@exgrdictdef - \t@exgrdictinit}} -\gdef\p@sset{\special{\p@sinline td begin \h@vinit gs \t@rhv - \p@hv end }}\e@form\dmess{\e@form}} - -% ======== PostScript termination ========= -\gdef\p@srestore{\edef\e@form{\special{\p@sinline grestore }}\e@form - \dmess{\e@form}} - % resets to entry into TeXgraph and recovers memory - -%========= macros for converting dimensions/units ========= -% --------- \box0 must not be void ---------- -\global\setbox0=\hbox{} - -%default values -\gdef\graphdim#1 {\gdef\g@dim{#1\relax}} - -%pixels /dim unit -\newcount\h@pix % sp/pixel -\gdef\hpix#1/#2 {\wd0=1true#2\relax - \h@pix=\wd0 \divide\h@pix by #1 \relax} -\newcount\v@pix % sp/pixel -\gdef\vpix#1/#2 {\wd0=1true#2\relax - \v@pix=\wd0 \divide\v@pix by #1 \relax} - -% Assumes #1 is dimension #2 is count in pixels, #3 sp/pix, #4 scalefactor (real) -% #2 is returned -\gdef\gendimtopix#1#2#3#4{\wd0=#1\dimen0=#4\wd0\relax - \wd0=\dimen0 #2=\wd0 \divide #2 by #3\relax} -% #1 is returned, #5 -\global or {} -\gdef\genpixtopt#1#2#3#4#5{\multiply #2 by #3\relax\wd0=#2sp - #5#1=#4\wd0\relax} - -% ---------- Converts maxpix to maxdim removes offset ----- -\gdef\maxhvpos{\global\advance\maxhpospix by -\minhpospix\relax - \genpixtopt{\hgraphsize}{\maxhpospix}{\h@pix}{\h@grsc}{\global}\relax - \global\advance\maxvpospix by -\minvpospix\relax - \genpixtopt{\vgraphsize}{\maxvpospix}{\v@pix}{\v@grsc}{\global}} - - - -% ======== The vector offsets my be relative or absolute ===== - -\gnewif{\ifr@elpos}{\r@elpostrue}{\r@elposfalse} %default is absolute -\gdef\absoluteposition{\r@elposfalse} -\gdef\relativeposition{\r@elpostrue} -\global\let\abspos=\absoluteposition -\global\let\relpos=\relativeposition -\global\let\absolute=\absoluteposition % historical -\global\let\relative=\relativeposition % historical - -% ====== update #1 by #2 r@elpos to #3, #4 is max #5 is min======= -\gdef\u@pdate#1#2#3#4#5{\ifr@elpos \advance #1 by #2\else - \advance #2 by #3\relax - #1=#2\fi - \ifnum #1>#4\global #4=#1\fi - \ifnum #1<#5\global #5=#1\fi - } -\gdef\h@update #1{\u@pdate{\h@pos}{#1}{\h@segoff}{\maxhpospix}{\minhpospix}} -\gdef\v@update #1{\u@pdate{\v@pos}{#1}{\v@segoff}{\maxvpospix}{\minvpospix}} - -% === pixel position r@elpos to initial offset starting position -\newcount\h@pos \h@pos=0 -\newcount\v@pos \v@pos=0 -\newcount\r@ang \r@ang=0 % 1000 times degrees ? - - -% ===== Check for pen up moves only ===== -% penup/down are used to determine whether a line needs to be stroked -% when a line pattern or penwidth is changed. - \gnewif{\ifp@down}{\p@downtrue}{\p@downfalse} - - -% ===== present segment origin and rotation ========== - -\newcount\h@segoff -\newcount\v@segoff -\newcount\r@segoff % 1000 times degrees - - -\gdef\beginsegment{\g@raphout\begingroup\s@eginit} - -% segment initialization is a trifle messy -\gdef\s@eginit{\h@segoff =\h@pos \v@segoff=\v@pos} - - -% PS has the concept of a path that is either -% completed with a "stroke" or "fill" ... stroking -% at the end or beginning of a segment, the special is written out. This is -% to ensure that the input order of the graphics reflects what entities are -% on top of what others. Further it is assumed that the origin does not -% change during an entire \btg ...\etg section. This means that every special -% must first move to the point where the previous one left off. \s@save -% defines \s@restore that restores, in case they had been modified, the line -% width, pattern, hpos, vpos, ... and any future things that need restoration. -% all graphic specials are ended with a stroke (st), whether it needs it not. - -% we need a special form to force a space after a \the\nnn form or \p@w - -\gdef\b@{ } - -\gdef\endsegment{\g@raphout\endgroup - \edef\o@form{}\s@save} -\gdef\s@pout #1#2{\edef\e@form{\special{#1\s@restore\o@form#2}}\dmess{\e@form}\e@form - \edef\o@form{}\s@save} -%\h@vset if there is a move before each special -\gdef\g@raphout{\ifx\empty\o@form \else \ifp@down - \s@pout{\p@sinline td begin }{ st end }\fi\fi\p@downfalse} -\global\let\graphout=\g@raphout - -% ====== Segment and units scaling ======== -% The units in any segment may be scaled arbitrarily. A unit scale is local -% to a segment but affects enclosed segments unless specifically overidden -% in that segment. In addition there is a graph or segment scale. This -% scaling factor is accumulative and is applied on top of the unit scale. -% These two scaling factors allow for a segment to be designed in nominal -% units, scaled to a nominal size and then be affected by relative scaling -% of an entire graph or segment. In addition there is a relative/absolute -% scale switch that allows for any segment to be unaffected by a graphscale. - -% \u@nitsc -- present unit scale, \s@egsc -- present segment scale -% \g@rsc -- present graphscale ... changes when ever either of the former do. - -% present implementation does not allow separate v h scaling - -% ------ Relative/Absolute Scale ------ -\gnewif{\ifr@elscale}{\r@elscaletrue}{\r@elscalefalse} -\gdef\absolutescale{\r@elscalefalse} -\gdef\relativescale{\r@elscaletrue} -\global\let\abssc=\absolutescale -\global\let\relsc=\relativescale - -% ----- unit scale ----- -\gdef\unitscale#1 {\edef\u@nitsc{#1}\newgraphscale} - -\global\let\graphscale=\unitscale % Historical - -% ----- Segment Scale ----- - -\gdef\segmentscale#1 {\ifr@elscale \realmult{#1}{\s@egsc}{\s@egsc}\else - \edef\s@egsc{#1}\fi - \newgraphscale} - -% ---- Graph Scale -------- -% This changes whenever either of the above change -\gdef\newgraphscale{\realmult{\u@nitsc}{\s@egsc}{\g@rsc}} - - -% ------ "Real" Multiplication -------- -% These functions use the fact that a box dimension may be scaled by -% a real. The final step is to "clean" off the pt on the resulting dim - -% Cleans off the pt in a dimension ... pt has catcode 12 -{\catcode`\p=12 \catcode`\t=12 -\gdef\c@lean#1pt{\edef\cx{#1}}} -% #1 and #2 are multiplicands #3 is a command to capture result -\gdef\realmult#1#2#3{\wd0=1pt\dimen0=#1\wd0\wd0=\dimen0\dimen0=#2\wd0 - \edef\R@M{\the\dimen0}\expandafter\c@lean\R@M\edef#3{\cx}} -\gdef\realadd#1#2#3{\dimen0=#1pt\dimen2=#2pt\advance\dimen0by\dimen2 - \edef\R@M{\the\dimen0}\expandafter\c@lean\R@M\edef#3{\cx}} - - -% -------- Command to convert nominal values to pixels ------ -% #1 is a decimal number, #2 must be a count, #3 is sp/pix -% This includes all scalings -\gdef\grdimtopix#1#2#3{\gendimtopix{#1\g@dim}{#2}{#3}{\g@rsc}} - - -% ------- special forms to update positions ------ - -\gdef\i@h#1{\grdimtopix{#1}{\d@umc}{\h@pix}\h@update{\d@umc}} -\gdef\i@v#1{\grdimtopix{#1}{\d@umc}{\v@pix}\v@update{\d@umc}} -\gdef\h@num#1#2{\grdimtopix{#1}{#2}{\h@pix}} -\gdef\v@num#1#2{\grdimtopix{#1}{#2}{\v@pix}} - - -%dummy variables -\newcount\d@uma -\newcount\d@umb -\newcount\d@umc -\newcount\d@umd -\newcount\d@ume - -% ====== end macros for converting dimensions - -% ======== Some more Utility Macros ======== -% ======== recursive macros ======== -\gdef\e@xtend #1#2{\let\d@x=#1\edef #1{\d@x #2}} -\xdef\s@pex{} -\xdef\s@pin{ } -\gdef\s@pexpand #1 #2!{\e@xtend{\s@pex}{#1\s@pin}\edef\t@x{#2}\ifx\t@x\empty\relax \else - \s@pexpand #2!\fi} - -% ========== A Do Loop Construction ========= -% \do <something> for <number of times>\od -% This is a specialization of the \loop in Plain. - -\newcount\d@count -\gdef\do #1 for #2\od{\d@count=#2\loop #1 \ifnum\d@count>1\advance - \d@count by -1\repeat} - - -% ========= Graphics specials ======= -\xdef\o@form{} -\gdef\penwidth #1 {\h@num{#1}{\d@umc}\edef\p@w{\the\d@umc}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\p@w\b@ sl }\fi} -\gdef\linecap #1 {\edef\s@lc{#1}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\s@lc\b@ slc }\fi} -\gdef\linejoin #1 {\edef\s@lj{#1}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\s@lj\b@ slj }\fi} -\gdef\lpatt p:#1 {\edef\v@p{#1 0}\ifp@down \g@save - \e@xtend{\o@form}{st \g@restore } - \else \e@xtend{\o@form}{\v@p\b@ sd }\fi} - - -% ==== parameters are in units of the nominal dimension \g@dim ====== - -\gdef\p@move #1#2#3{\i@h{#1}\i@v{#2}\e@xtend{\o@form}{\the\h@pos\b@ \the\v@pos\b@ #3 }} - -\gdef\lvec h:#1 v:#2 {\p@move{#1}{#2}{lv}\p@downtrue} %draws a line - -\gdef\move h:#1 v:#2 {\p@move{#1}{#2}{mv}} %moves - - -% ====== a general vector with dimensions in pixels ====== - -% ========= General pixel dim vector ========== - -\gdef\lpix h:#1 v:#2 f:#3 {\e@xtend{\o@form}{ #1 #2 #3 }} - - -%============== puts TeX text at this position -% These are pure TeX macros that use \h@pos and \v@pos for orientation -% Text may be put horizontally (left/right) or vertically (down/up) - -% ======== sp form of \h@pos and \v@pos respectively ======== -\newdimen\t@hpos -\newdimen\t@vpos -\gdef\s@ettpos{\d@umc=\h@pos - \genpixtopt{\t@hpos}{\d@umc}{\h@pix}{}{}\relax - \d@umc=\v@pos - \genpixtopt{\t@vpos}{\d@umc}{\v@pix}{}{}\relax} - - - -% any one of nine reference point may be specified on the -% TeX box. This is Vertical T,C,B and Horizontal L,C,R -% The actual box is 0 height and width. -\newbox\t@box -% #1 LCR default/error L #2 TCB default/error T #3 text -- in hbox - -% Sets the box glues \lhglue \rhglue \tvglue \bvglue -% #1 x/h ref, #2 v/y ref -\gdef\textref h:#1 v:#2 {\ifx#1R\edef\lhglue{\hss}\edef\rhglue{}\else - \ifx#1C\edef\lhglue{\hss}\edef\rhglue{\hss}\else - \edef\lhglue{}\edef\rhglue{\hss}\fi\fi - \ifx#2B\edef\tvglue{\vss}\edef\bvglue{}\else - \ifx#2C\edef\tvglue{\vss}\edef\bvglue{\vss}\else - \edef\tvglue{}\edef\bvglue{\vss}\fi\fi} -\global\let\tboxref=\textref - -\newcount\h@oldmaxpos \newcount\v@oldmaxpos - - %needed to save max pos when texgraph is inside an h/vtext - -% ========== assumes driver location at initial \btg entry ======== -% - -% #1 text #2 - begin rotation form #3 - end rotation form -\long\gdef\m@text#1#2#3{\g@raphout\h@oldmaxpos=\maxhpospix\relax - \v@oldmaxpos=\maxvpospix\relax - \edef\h@oldgrsc{\h@grsc}\edef\v@oldgrsc{\v@grsc}\s@ettpos - \setbox\t@box=\vbox{\normalbaselines - \vskip\t@vpos\hbox{\hskip\t@hpos - \t@init{#2}\relax - \vbox to 0pt{\normalbaselines - \tvglue\hbox to 0pt{\lhglue\hbox{#1}\rhglue - }\bvglue}}}\relax - \dp\t@box=0pt\ht\t@box=0pt\wd\t@box=0pt - \box\t@box - \t@fin{#3} - \global\maxhpospix=\h@oldmaxpos\relax - \global\maxvpospix=\v@oldmaxpos\relax - \xdef\h@grsc{\h@oldgrsc}\edef\v@grsc{\v@oldgrsc}} - % saves maxh(v)pospix on stack - - -% ========== PS text initializations and terminations =========== -\gdef\t@init#1{\special{\p@sinline td begin \h@vinit gr gs - \t@rhv #1 \t@rneghv end }} - -\gdef\t@fin#1{\special{\p@sinline td begin \h@vinit gr gs \m@vhv \t@rhv \p@hv end }} - -% .... special test -%\gdef\t@init#1{} -%\gdef\t@fin#1{} -% ... end special test - - - -\long\gdef\htext #1 {\m@text{#1}{}{}} -\long\gdef\vtext #1 {\m@text{#1}{ 90 \r@tdir rt }{}} -\long\gdef\rtext d:#1 t:#2 {\m@text{#2}{ #1 \r@tdir rt }{}} -\long\gdef\rstext d:#1 sc:#2 t:#3 {\m@text{#3}{ #1 \r@tdir rt #2 #2 sc }{}} -\global\let\tbox=\htext - -% ========= Various Restore forms ======== -\gdef\g@save{\edef\g@restore{\p@w\b@ sl \v@p\b@ sd \s@lc\b@ slc \s@lj\b@ slj - np \the\h@pos\b@ \the\v@pos\b@ mv }} -\gdef\s@save{\edef\s@restore{\p@w\b@ sl \v@p\b@ sd \s@lc\b@ slc \s@lj\b@ slj - np \the\h@pos\b@ \the\v@pos\b@ mv }} - - - - -% ======== circle, arcs ========= -% The PS arc will connect the center of the arc to the circumference -% if the newpath includes the move to this point. Thus we define a -% set of arc functions that include/exclude this feature. The default -% does not include this form. - -\gdef\larc r:#1 sd:#2 ed:#3 {\h@num{#1}{\d@umc}\p@downtrue - \e@xtend{\o@form}{ st np \the\h@pos\b@ \the\v@pos\b@ \the\d@umc\b@ #2 #3 arc - st np \the\h@pos\b@ \the\v@pos\b@ mv }} - -\gdef\lcir r:#1 {\larc r:#1 sd:0 ed:360 } - -% ------ this is a raw arc ... can be used in fills -------- - -\gdef\arcc r:#1 sd:#2 ed:#3 {\h@num{#1}{\d@umc}\p@downtrue - \e@xtend{\o@form}{\the\h@pos\b@ \the\v@pos\b@ \the\d@umc\b@ #2 #3 arc }} - -\gdef\arcn r:#1 sd:#2 ed:#3 {\h@num{#1}{\d@umc}\p@downtrue - \e@xtend{\o@form}{\the\h@pos\b@ \the\v@pos\b@ - \the\d@umc\b@ #2 #3 arcn }} - -% ======= fill command ========== -% The fill command is essentially a polygonal fill ... not a point spreading -% this means that it is possible to erase with white ... The form here -% completes with a closepath applies the fill, starts a newpath and moves -% to the current point. Pattern is a grey level. -% 0 is black 1 is white - -\gdef\pfill p:#1 {\p@downtrue - \e@xtend{\o@form}{cp #1 sg fill np \the\h@pos\b@ \the\v@pos\b@ mv }} - - -% this form both fills and strokes around the path -\gdef\lpfill p:#1 {\p@downtrue - \e@xtend{\o@form}{cp gs #1 sg fill gr st np \the\h@pos\b@ \the\v@pos\b@ mv }} - -% ======== Postscript special forms ======== -% This allows "raw" postscript to be put in the graph. -\gdef\pst #1{\e@xtend{\o@form}{#1 }} - -% These are some useful postscript compatible forms. - -\gdef\closepath{\e@xtend{\o@form}{cp }} -\gdef\newpath{\e@xtend{\o@form}{np }} -\gdef\stroke{\e@xtend{\o@form}{st }} - - - -% ========= including external files ========== -% an external file is included at the present point on the graph area -% moves are required to get there -% The actual file is placed inside a \t@box and tex commands are used -% to get to the place ... They probably can be nested -% #1 is the filename - -% The file is opened, if possible, to read its size. If this exists, it -% is used to update the maximum h/v position. -% The BoundingBox is determined - - -\newread\q@file -% #1 is the file name -\gnewif{\ifq@read}{\q@readtrue}{\q@readfalse} -\gnewif{\ifq@file}{\q@filetrue}{\q@filefalse} -\gnewif{\ifb@boxexists}{\b@boxexiststrue}{\b@boxexistsfalse} -% #1 == %%BoundingBox, #2 llh #3 llv #4 urh #5 urv #6 rest of line - - -\gdef\uncat{\catcode`"=12} - -{\catcode`\%=12 -\gdef\l@shift{\ifx\l@lh\empty \xdef\l@lh{\l@lv}\xdef\l@lv{\u@rh}\xdef - \u@rh{\u@rv}\xdef\u@rv{\e@xt}\fi} -\gdef\B@Box{%%BoundingBox} -\gdef\a@tend{(atend)} -\gdef\a@tendtest{\l@shift\ifx\l@lh\a@tend\relax\else - \global\b@boxexiststrue\q@readfalse\bmess{<< At End Test >>}\fi} - -\long\gdef\q@inline #1:#2 #3 #4 #5 #6 #7//{\xdef - \q@bbtest{#1}\xdef\l@lh{#2}\xdef - \l@lv{#3}\xdef\u@rh{#4}\xdef\u@rv{#5}\xdef - \e@xt{#6}\ifx\q@bbtest\B@Box - \a@tendtest\fi - \ifeof\q@file \q@readfalse \fi} - -\gdef\s@bbox{\b@boxexistsfalse - \message{<< \bbmess -- \f@ilename>>}\q@readtrue - \loop \relax \ifq@read\r@eadline\repeat} - -\gdef\r@eadline{ {\uncat \global\read\q@file to\q@parms } - \expandafter\q@inline\q@parms {}:{\relax} {\relax} {\relax} {\relax} -{\relax} \relax//\bmess{<<\q@parms>>}} - -\gdef\g@etpsize #1{{\catcode`\%=12\openin\q@file = #1\relax - \edef\q@parms{}\global\q@filetrue\xdef\f@ilename{#1} - \ifeof\q@file \message{<<\noincfile: #1 >>}\relax - \global\q@filefalse\else - \s@bbox - \closein\q@file\fi}} - -} % end of % disable - -\newcount\h@px \newcount\v@px \newcount\h@mx \newcount\v@mx -\gdef\s@avemaxpos{\global\h@px=\maxhpospix\global\v@px=\maxvpospix - \global\h@mx=\minhpospix\global\v@mx=\minvpospix} -\gdef\r@estoremaxpos{\global\maxhpospix=\h@px\global\maxvpospix\v@px - \global\minhpospix=\h@mx\global\minvpospix\v@mx} - -\gdef\f@sc{\b@} -\gdef\f@rt{\b@} -\gdef\filerotate#1{\edef\f@rt{ XposR YposR tr #1 \r@tdir rt XposR neg - YposR neg tr }} - -\gdef\filescale #1{\edef\f@sc{#1 #1 sc \f@schv}} -\gdef\p@fileinit{ td begin \h@vinit gr gs \f@rt \t@rhv \f@sc end - /texgraph save def /showpage {} def } -\xdef\p@filefin{ texgraph restore } -\global\let\mvec=\move - - - -\gdef\includefile #1 {\incscfile f:{#1} sc:1 d:0 } - -\gdef\incscfile f:#1 sc:#2 d:#3 {\g@etpsize{#1}\ifb@boxexists - \message{<<\incfile: #1 >>}\realadd{\u@rh}{-\l@lh}{\p@lh} - \realadd{\u@rv}{-\l@lv}{\p@lv} - \realmult{\p@lh}{.5}{\p@lhh} - \realmult{\p@lv}{.5}{\p@lvh} - \beginsegment - \segmentscale #2 - \global\let\g@dimo=\g@dim - \graphdim pt - \mvec h:{\p@lh} v:{\p@lv} - \mvec h:{\p@lhh} v:{\p@lvh} - \m@text{}{ /XposR \Xpos\b@ def - /YposR \Ypos\b@ def }{} - \endsegment - \s@avemaxpos - \beginsegment \segmentscale #2 - \mvec h:{-\l@lh} v:{\u@rv} - \htext{\filescale{#2}\filerotate{#3}\relax - \special{\p@sinline\p@fileinit } - \special{\p@sfile #1 } - \special{\p@sinline\p@filefin }} - \endsegment - \r@estoremaxpos - \global\let\g@dim=\g@dimo - \else\message{<<\badincfile: #1 >>}\fi } - -\gdef\incscmvfile f:#1 sc:#2 d:#3 h:#4 v:#5 {\g@etpsize{#1}\ifb@boxexists - \message{<<\incfile: #1 >>}\realadd{\u@rh}{-\l@lh}{\p@lh} - \realadd{\u@rv}{-\l@lv}{\p@lv} - \realmult{\p@lh}{.5}{\p@lhh} - \realmult{\p@lv}{.5}{\p@lvh} - \ifx#4L \edef\f@h{0}\else \ifx#4C \edef\f@h{1} \else \edef\f@h{2}\fi\fi - \ifx#5T \edef\f@v{0}\else \ifx#5C \edef\f@v{1} \else\edef\f@v{2}\fi\fi - \realmult{\p@lhh}{\f@h}{\h@off} - \realmult{\p@lvh}{\f@v}{\v@off} - \beginsegment - \segmentscale #2 - \global\let\g@dimo=\g@dim - \graphdim pt - \mvec h:{-\h@off} v:{-\v@off} - \beginsegment - \mvec h:{\p@lh} v:{\p@lv} - \mvec h:{\p@lhh} v:{\p@lvh} - \m@text{}{ /XposR \Xpos\b@ def - /YposR \Ypos\b@ def }{} - \endsegment - \endsegment - \s@avemaxpos - \beginsegment \segmentscale #2 - \mvec h:{-\l@lh} v:{\u@rv} - \beginsegment - \mvec h:{-\h@off} v:{-\v@off} - \htext{\filescale{#2}\filerotate{#3}\relax - \special{\p@sinline\p@fileinit } - \special{\p@sfile #1 } - \special{\p@sinline\p@filefin }} - \endsegment - \endsegment - \r@estoremaxpos - \global\let\g@dim=\g@dimo - \else\message{<<\badincfile: #1 >>}\fi } - - - -% ============ Design Grid ============== -% This will lay down a grid at the present location. The grid nominally -% at unit dimension intervals. The scale factor sc modifies this. The -% sc is local only to the grid - -\newcount\gcount -\gdef\grid nh:#1 nv:#2 sc:#3 {\gcount= #1 - \beginsegment - \relative - \penwidth .005 - \graphscale #3 - \beginsegment - \loop \lvec h:#2 v:0 - \move h:-#2 v:1 - \ifnum \gcount > 1 - \advance\gcount by -1 \repeat - \endsegment - \gcount = #2 - \beginsegment - \loop \lvec h:0 v:#1 - \move h:1 v:-#1 - \ifnum \gcount > 1 - \advance\gcount by -1 \repeat - \endsegment - \endsegment} -%========= end design grid ================ - - -% =========== Arrow Vectors ============== -% There are three types of arrow heads, filled, open V and triangle -% These are always placed on the end of a vector. - -% The basic design has the arrow head which is placed on the vector -% It theoretically can be placed on any curve where the angle is known or -% computable. - - -\newcount\a@len -\newcount\a@wid - -% Parameter specification for arrowheads. -% #1 -- length #2 -- width -% The dimensions are interpreted at current graphscale in force and -% are local to the segment group. -\gdef\arrowheadscale{\arrowheadsize l:.16 w:.04 } -\gdef\arrowheadsize l:#1 w:#2 {\grdimtopix{#1}{\a@len}{\h@pix - }\grdimtopix{#2}{\a@wid}{\h@pix - }} -% postcript commands for inidividual arrow form -\gdef\arrowheadtype t:#1 {\ifx#1T\edef\a@com{cp gs 1 sg fill gr st }\else - \ifx#1F\edef\a@com{cp 0 sg fill }\else - \edef\a@com{st }\fi\fi} -\newcount\h@lp -\newcount\v@lp - -% assumes that the dh and dv is in \h@lp \v@lp and present location is tip -% of arrowhead -\gdef\a@draw{st np \the\h@pos\b@ \the\v@pos\b@ mx - \the\v@lp\b@ neg \the\h@lp\b@ at - -\the\a@len\b@ \the\a@wid\b@ mv 0 0 lv - -\the\a@len\b@ -\the\a@wid\b@ lv - \a@com gr } - - - -\gdef\avec h:#1 v:#2 {\h@lp=\h@pos\relax \v@lp=\v@pos\relax - \lvec h:#1 v:#2 \advance\h@lp by -\h@pos\relax - \advance\v@lp by -\v@pos\relax - \e@xtend{\o@form}{\a@draw}} - - -% ============= End Arrow Vectors ============= - -% ========= Bezier Curve ========== -% this is a cubic spline that is determined by four points. The initial -% point is assumed to be the current point. An arrow is easily added. - - -\gdef\clvec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 {\i@h{#1}\d@uma=\h@pos - \i@v{#2}\d@umb=\v@pos\i@h{#3}\d@ume=\h@pos\i@v{#4}\d@umd=\v@pos - \i@h{#5}\i@v{#6}\e@xtend{\o@form}{\the\d@uma\b@ \the\d@umb\b@ - \the\d@ume\b@ \the\d@umd\b@ \the\h@pos\b@ \the\v@pos\b@ - cv }\p@downtrue} -\gdef\clv (#1 #2) (#3 #4) (#5 #6){\clvec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 } - -\gdef\cavec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 {\clvec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 - \h@lp=\d@ume \relax \v@lp=\d@umd \relax - \advance\h@lp by -\h@pos\relax - \advance\v@lp by -\v@pos\relax - \e@xtend{\o@form}{\a@draw}} -\gdef\cav (#1 #2) (#3 #4) (#5 #6){\cavec h1:#1 v1:#2 h2:#3 v2:#4 h3:#5 v3:#6 } - - - - - -% ======= default values ========= -% These are reset each time \btg is called -\gdef\t@exgraphdef{\setbox0=\hbox{}\graphdim in -\hpix 300/in % INRS Default -\vpix 300/in % INRS Default -\printhv 1 1 % DVIPS 300 dpi -\filehv 4.17 -4.17 % DVIPS 300/72 -\rtdir neg % DVIPS -\def\h@grsc{1}\def\v@grsc{1}%sets default hor/vert scales -\absoluteposition -\relativescale -\unitscale 1 -\penwidth .015 -\lpatt p:{[]} -\linecap 1 -\linejoin 1 -\arrowheadsize l:.16 w:.04 -\arrowheadtype t:T -\textref h:L v:T } - -\xdef\s@egsc{1}% initial default - -\catcode`\@=12 - - - diff --git a/macros/inrstex/texgraph/thgraph.ps b/macros/inrstex/texgraph/thgraph.ps deleted file mode 100644 index 69809624c9..0000000000 --- a/macros/inrstex/texgraph/thgraph.ps +++ /dev/null @@ -1,4832 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software -%%Title: thgraph.dvi -%%Pages: 24 1 -%%BoundingBox: 0 0 612 792 -%%EndComments -%%BeginProcSet: tex.pro -/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch -load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{ -isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale -Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get -round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10 -N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{ -/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{ -statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N -/FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin -/FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array -/BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 -array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail} -B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont -setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup -length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ -ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B -/ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 -N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S -dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 -ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice -ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image} -imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr -put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf -div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook -known{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore -showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook -known{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256 -array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N -/RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X -/rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0 -7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 -TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 --.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{ -moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{ -S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B -/j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w -}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p -a}B /bos{/SS save N}B /eos{clear SS restore}B end -%%EndProcSet -%%BeginProcSet: special.pro -TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs -792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP false N /BBcalc false N -/p 3 def}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{ -@scaleunit div /vsc X}B /@hsize{/hs X /CLIP true N}B /@vsize{/vs X /CLIP true -N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X} -B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X /BBcalc true N}B -/magscale true def end /@MacSetUp{userdict /md known{userdict /md get type -/dicttype eq{md begin /letter{}N /note{}N /legal{}N /od{txpose 1 0 mtx -defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{ -itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2 -roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll -itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array -astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{ -PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR -pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip -not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if -yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 -rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get -ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not -and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip -not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if} -ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy -TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if} -if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{ -DVImag dup scale}if}N /psfts{S 65536 div N}N /startTexFig{/psf$SavedState save -N userdict maxlength dict begin /magscale false def normalscale currentpoint -TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts -/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx -sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx -psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N -/erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{psf$llx psf$lly -psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll -S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end -psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave -normalscale currentpoint TR @SpecialDefaults}N /@setspecial{CLIP{newpath 0 0 -moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR -hsc vsc scale ang rotate BBcalc{rwi urx llx sub div dup scale llx neg lly neg -TR}if /showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{grestore -clear SpecialSave restore end}N /@defspecial{SDict begin}N /@fedspecial{end}B -/li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1 -setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY -moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix -currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix -setmatrix}N end -%%EndProcSet -TeXDict begin 1000 300 300 @start /Fa 23 122 df<3078FCFC7830060676851A>46 -D<0000C00001E00001E00003E00003C00007C0000780000F80000F00000F00001F00001E00003E -00003C00007C0000780000780000F80000F00001F00001E00003E00003C00003C00007C0000780 -000F80000F00001F00001E00001E00003E00003C00007C0000780000F80000F00000F000006000 -0013277DA21A>I<0000C00003E00007E0000FC0003F80007E0000FC0003F80007E0000FC0003F -80007E0000FC0000FC00007E00003F80000FC00007E00003F80000FC00007E00003F80000FC000 -07E00003E00000C0131A7D9B1A>60 D<600000F80000FC00007E00003F80000FC00007E00003F8 -0000FC00007E00003F80000FC00007E00007E0000FC0003F80007E0000FC0003F80007E0000FC0 -003F80007E0000FC0000F80000600000131A7D9B1A>62 D<600000F00000F00000F80000780000 -7C00003C00003E00001E00001E00001F00000F00000F800007800007C00003C00003C00003E000 -01E00001F00000F00000F800007800007800007C00003C00003E00001E00001F00000F00000F00 -000F800007800007C00003C00003E00001E00001E00000C013277DA21A>92 -D<FE0000FE0000FE00000E00000E00000E00000E00000E00000E00000E3E000EFF800FFFE00FC1 -F00F80700F00380E00380E001C0E001C0E001C0E001C0E001C0E001C0E001C0F00380F00780F80 -F00FC1E00FFFC00EFF80063E00161E7F9D1A>98 D<001FC0001FC0001FC00001C00001C00001C0 -0001C00001C00001C001F1C007FDC00FFFC01E0FC03C07C07803C07001C0E001C0E001C0E001C0 -E001C0E001C0E001C0E001C07003C07003C03807C03E0FC01FFFFC07FDFC01F1FC161E7E9D1A> -100 D<01F80007FF000FFF801E07C03C01C07800E07000E0E00070E00070FFFFF0FFFFF0FFFFF0 -E000007000007000007800703C00701F01F00FFFE003FFC000FE0014157D941A>I<0007E0001F -F0003FF800787800F03000E00000E00000E00000E0007FFFF0FFFFF0FFFFF000E00000E00000E0 -0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0007FFF -C07FFFC07FFFC0151E7F9D1A>I<00F87C03FFFE07FFFE0F078C0E03801C01C01C01C01C01C01C -01C01C01C00E03800F07800FFF000FFE001CF8001C00001C00000E00000FFF800FFFE03FFFF87C -007C70001CE0000EE0000EE0000EE0000E70001C78003C3E00F81FFFF007FFC001FF0017217F94 -1A>I<FE0000FE0000FE00000E00000E00000E00000E00000E00000E00000E3E000EFF800FFFC0 -0FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E0 -0E00E00E00E0FFE3FEFFE3FEFFE3FE171E7F9D1A>I<01C00003E00003E00003E00001C0000000 -000000000000000000000000007FE000FFE0007FE00000E00000E00000E00000E00000E00000E0 -0000E00000E00000E00000E00000E00000E00000E00000E00000E000FFFFC0FFFFC0FFFFC0121F -7C9E1A>I<FFE000FFE000FFE00000E00000E00000E00000E00000E00000E00000E00000E00000 -E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000 -E00000E00000E000FFFFE0FFFFE0FFFFE0131E7D9D1A>108 D<7CE0E000FFFBF8007FFFF8001F -1F1C001E1E1C001E1E1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C00 -1C1C1C001C1C1C001C1C1C001C1C1C001C1C1C007F1F1F00FF9F9F807F1F1F00191580941A>I< -FE3E00FEFF80FFFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E0 -0E00E00E00E00E00E00E00E00E00E0FFE3FEFFE3FEFFE3FE17157F941A>I<01F00007FC001FFF -003E0F803C07807803C07001C0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07803 -C03C07803E0F801FFF0007FC0001F00013157D941A>I<FE3E00FEFF80FFFFE00FC1F00F80700F -00380E00380E001C0E001C0E001C0E001C0E001C0E001C0E001C0F00380F00780F80F00FC1E00F -FFC00EFF800E3E000E00000E00000E00000E00000E00000E00000E00000E0000FFE000FFE000FF -E00016207F941A>I<FF83F0FF8FF8FFBFFC03FC3C03F01803E00003C00003C000038000038000 -038000038000038000038000038000038000038000038000FFFF00FFFF80FFFF0016157E941A> -114 D<07FB801FFF807FFF80780780E00380E00380E003807800007FC0003FFC0007FF00003F80 -0003806001C0E001C0E001C0F003C0FC0780FFFF00EFFE00E3F80012157C941A>I<00C00001C0 -0001C00001C00001C00001C00001C0007FFFE0FFFFE0FFFFE001C00001C00001C00001C00001C0 -0001C00001C00001C00001C00001C00001C07001C07001C07001C07000E0E000FFE0007FC0001F -00141C7F9B1A>I<FE0FE0FE0FE0FE0FE00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E -00E00E00E00E00E00E00E00E00E00E00E00E01E00F03E007FFFE03FFFE00FCFE17157F941A>I< -7FC7F87FCFFC7FC7F80703C003878003C70001EE0000FE00007C00007800003800007C0000EE00 -01EE0001C7000383800783C00701C07FC7FCFFC7FE7FC7FC17157F941A>120 -D<7FC7FCFFC7FE7FC7FC0E00E00F00E00701E00701C00781C00381C003838001C38001C38001C7 -0000E70000E70000E600006600006E00003C00003C00003C00003C000038000038000078000070 -0030700078E00079E0007FC0003F80001E000017207F941A>I E /Fb 3 -16 df<00C00000C00000C00000C00000C000C0C0C0F0C3C038C7000EDC0003F00000C00003F000 -0EDC0038C700F0C3C0C0C0C000C00000C00000C00000C00000C00012157D9619>3 -D<03F0000FFC001C0E00300300600180600180C000C0C000C0C000C0C000C0C000C0C000C0C000 -C0C000C06001806001803003001C0E000FFC0003F00012147D9519>14 D<03F0000FFC001FFE00 -3FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07FFF807FFF80 -3FFF001FFE000FFC0003F00012147D9519>I E /Fc 32 117 df<1C003E007F00FF80FF80FF80 -7F003E001C0009097B8813>46 D<000003800000000007C00000000007C0000000000FE0000000 -000FE0000000000FE0000000001FF0000000001FF0000000003FF8000000003FF8000000003FF8 -0000000073FC0000000073FC00000000F3FE00000000E1FE00000000E1FE00000001C0FF000000 -01C0FF00000003C0FF80000003807F80000007807FC0000007003FC0000007003FC000000E003F -E000000E001FE000001E001FF000001C000FF000001FFFFFF000003FFFFFF800003FFFFFF80000 -780007FC0000700003FC0000700003FC0000E00001FE0000E00001FE0001E00001FF0001C00000 -FF0001C00000FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE2F297EA834>65 -D<FFFFFFF80000FFFFFFFF8000FFFFFFFFE00003FC001FF80003FC0007FC0003FC0001FE0003FC -0000FF0003FC00007F8003FC00003FC003FC00001FC003FC00001FE003FC00001FE003FC00000F -F003FC00000FF003FC00000FF003FC00000FF003FC00000FF803FC00000FF803FC00000FF803FC -00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000F -F803FC00000FF003FC00000FF003FC00000FF003FC00001FE003FC00001FE003FC00001FC003FC -00003FC003FC00007F8003FC00007F0003FC0001FE0003FC0003FC0003FC001FF800FFFFFFFFE0 -00FFFFFFFF8000FFFFFFFC00002D297DA835>68 D<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE003FC00 -1FE003FC0007F003FC0001F003FC0001F003FC0000F003FC00007003FC00007003FC00007003FC -01C07803FC01C03803FC01C03803FC01C03803FC03C00003FC03C00003FC0FC00003FFFFC00003 -FFFFC00003FFFFC00003FC0FC00003FC03C00003FC03C00003FC01C00E03FC01C00E03FC01C00E -03FC01C01C03FC00001C03FC00001C03FC00001C03FC00003C03FC00003803FC00007803FC0000 -F803FC0001F803FC0003F803FC001FF8FFFFFFFFF0FFFFFFFFF0FFFFFFFFF027297DA82D>I<FF -FFF01FFFFEFFFFF01FFFFEFFFFF01FFFFE03FC00007F8003FC00007F8003FC00007F8003FC0000 -7F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003 -FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FFFFFFFF8003FFFFFF -FF8003FFFFFFFF8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003 -FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC0000 -7F8003FC00007F8003FC00007F8003FC00007F8003FC00007F8003FC00007F80FFFFF01FFFFEFF -FFF01FFFFEFFFFF01FFFFE2F297DA836>72 D<FFFFFCFFFFFCFFFFFC01FE0001FE0001FE0001FE -0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE -0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE -0001FE0001FE0001FE0001FE0001FE00FFFFFCFFFFFCFFFFFC16297EA81A>I<FFFFF001FFFCFF -FFF001FFFCFFFFF001FFFC03FC00001E0003FC00003C0003FC0000780003FC0000F00003FC0001 -E00003FC0003C00003FC0007000003FC001E000003FC003C000003FC0078000003FC00F0000003 -FC01E0000003FC0380000003FC07C0000003FC1FC0000003FC3FE0000003FC7FF0000003FCFFF8 -000003FDE7F8000003FF83FC000003FF01FE000003FE01FF000003FC00FF000003FC007F800003 -FC003FC00003FC003FC00003FC001FE00003FC000FF00003FC000FF80003FC0007F80003FC0003 -FC0003FC0001FE0003FC0001FF0003FC0000FF0003FC00007F80FFFFF00FFFFEFFFFF00FFFFEFF -FFF00FFFFE2F297DA836>75 D<FFFFFC0000FFFFFC0000FFFFFC000003FC00000003FC00000003 -FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000000 -03FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000 -0003FC00000003FC00000003FC00000003FC0001C003FC0001C003FC0001C003FC0001C003FC00 -03C003FC00038003FC00038003FC00078003FC00078003FC000F8003FC000F8003FC001F8003FC -007F8003FC01FF00FFFFFFFF00FFFFFFFF00FFFFFFFF0022297DA829>I<FFFE0000001FFFC0FF -FE0000001FFFC0FFFF0000003FFFC003FF0000003FF00003FF0000003FF00003BF80000077F000 -03BF80000077F000039FC00000E7F000039FC00000E7F000038FE00001C7F000038FE00001C7F0 -000387F0000387F0000387F0000387F0000387F0000387F0000383F8000707F0000383F8000707 -F0000381FC000E07F0000381FC000E07F0000380FE001C07F0000380FE001C07F0000380FF0038 -07F00003807F003807F00003807F003807F00003803F807007F00003803F807007F00003801FC0 -E007F00003801FC0E007F00003800FE1C007F00003800FE1C007F00003800FE1C007F000038007 -F38007F000038007F38007F000038003FF0007F000038003FF0007F000038001FE0007F0000380 -01FE0007F000038000FC0007F000038000FC0007F000FFFE00FC01FFFFC0FFFE007801FFFFC0FF -FE007801FFFFC03A297DA841>I<FFFC0000FFFEFFFE0000FFFEFFFF0000FFFE03FF8000038003 -FF8000038003BFC0000380039FE0000380039FF0000380038FF80003800387F80003800383FC00 -03800381FE0003800381FF0003800380FF80038003807FC0038003803FC0038003801FE0038003 -800FF0038003800FF80380038007FC0380038003FC0380038001FE0380038000FF0380038000FF -83800380007FC3800380003FE3800380001FE3800380000FF38003800007FB8003800007FF8003 -800003FF8003800001FF8003800000FF80038000007F80038000007F80038000003F8003800000 -1F80038000000F80FFFE00000780FFFE00000380FFFE000003802F297DA836>I<0000FFE00000 -0007FFFC0000003FC07F8000007F001FC00001FC0007F00003F80003F80007F00001FC000FF000 -01FE001FE00000FF001FE00000FF003FC000007F803FC000007F807FC000007FC07F8000003FC0 -7F8000003FC07F8000003FC0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000 -003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE07F8000003FC0 -7FC000007FC07FC000007FC03FC000007F803FC000007F801FE00000FF001FE00000FF000FF000 -01FE0007F00001FC0003F80003F80001FC0007F00000FF001FE000003FC07F8000000FFFFE0000 -0000FFE000002B297CA834>I<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003FE003FC000FF003 -FC0007F803FC0007FC03FC0003FC03FC0003FE03FC0003FE03FC0003FE03FC0003FE03FC0003FE -03FC0003FE03FC0003FE03FC0003FC03FC0007FC03FC0007F803FC000FF003FC003FE003FFFFFF -8003FFFFFE0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00 -000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC -00000003FC000000FFFFF00000FFFFF00000FFFFF0000027297DA82F>I<FFFFFFE00000FFFFFF -FE0000FFFFFFFF800003FC007FE00003FC000FF00003FC0007F80003FC0007FC0003FC0003FC00 -03FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC0003FE0003FC00 -03FC0003FC0007F80003FC0007F80003FC001FE00003FC007FC00003FFFFFE000003FFFFF00000 -03FC00FC000003FC007F000003FC003F800003FC003F800003FC001FC00003FC001FE00003FC00 -1FE00003FC001FE00003FC001FE00003FC001FE00003FC001FF00003FC001FF00003FC001FF000 -03FC001FF00703FC001FF80703FC000FF80703FC0007F80EFFFFF003FE1CFFFFF001FFF8FFFFF0 -003FF030297DA834>82 D<007F806003FFF0E007FFF9E00F807FE01F001FE03E0007E07C0003E0 -7C0001E0FC0001E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFE00007FFFE0 -003FFFFC001FFFFE000FFFFF8007FFFFC003FFFFE000FFFFE00007FFF000007FF000000FF80000 -07F8000003F8600001F8E00001F8E00001F8E00001F8F00001F0F00001F0F80003F0FC0003E0FF -0007C0FFE01F80F3FFFF00E0FFFE00C01FF0001D297CA826>I<7FFFFFFFFFC07FFFFFFFFFC07F -FFFFFFFFC07F803FC03FC07E003FC007C078003FC003C078003FC003C070003FC001C0F0003FC0 -01E0F0003FC001E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E000 -003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0 -000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000 -003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0 -000000003FC0000000003FC00000007FFFFFE000007FFFFFE000007FFFFFE0002B287EA730>I< -FFFFE07FFFF007FFF0FFFFE07FFFF007FFF0FFFFE07FFFF007FFF003FC0001FE00001C0003FC00 -01FE00001C0001FE0001FF0000380001FE0000FF0000380001FF0000FF0000780000FF0000FF80 -00700000FF0000FF8000700000FF8000FF8000F000007F8001FFC000E000007F8001FFC000E000 -003FC003FFE001C000003FC0039FE001C000003FE0039FE003C000001FE0070FF0038000001FE0 -070FF0038000001FF00F0FF0078000000FF00E07F8070000000FF00E07F80700000007F81E07FC -0E00000007F81C03FC0E00000007FC1C03FC1E00000003FC3801FE1C00000003FC3801FE1C0000 -0001FE7801FF3800000001FE7000FF3800000001FE7000FF3800000000FFF000FFF000000000FF -E0007FF000000000FFE0007FF0000000007FC0003FE0000000007FC0003FE0000000003FC0003F -C0000000003F80001FC0000000003F80001FC0000000001F80001F80000000001F00000F800000 -00001F00000F80000000000E00000700000044297FA847>87 D<7FFFF81FFFF07FFFF81FFFF07F -FFF81FFFF001FF0000780000FF8000F000007FC001E000007FC001C000003FE003C000001FF007 -8000000FF80F0000000FF80E00000007FC1E00000003FE3C00000003FE7800000001FF70000000 -00FFF0000000007FE0000000007FC0000000003FE0000000001FF0000000001FF0000000001FF8 -000000001FFC000000003FFE000000007BFE00000000F1FF00000000E0FF80000001E0FFC00000 -03C07FC0000007803FE0000007001FF000000F001FF000001E000FF800003C0007FC0000380003 -FE0000780003FE0000F00001FF0000E00000FF80FFFF801FFFFEFFFF801FFFFEFFFF801FFFFE2F -297EA834>I<00800001C00003E00007F0001FFC003F7E007C1F00F80F80700700110978A922> -94 D<01FF800007FFF0000F81F8001FC07E001FC07E001FC03F000F803F8007003F8000003F80 -00003F8000003F80000FFF8000FFFF8007FC3F800FE03F803F803F803F003F807F003F80FE003F -80FE003F80FE003F80FE003F807E007F807F00DF803F839FFC0FFF0FFC01FC03FC1E1B7E9A21> -97 D<00003FF80000003FF80000003FF800000003F800000003F800000003F800000003F80000 -0003F800000003F800000003F800000003F800000003F800000003F800000003F800000003F800 -001FE3F80000FFFBF80003F03FF80007E00FF8000FC007F8001F8003F8003F8003F8007F0003F8 -007F0003F8007F0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003 -F800FF0003F8007F0003F8007F0003F8007F0003F8003F8003F8001F8003F8000F8007F80007C0 -0FF80003F03BFF8000FFF3FF80003FC3FF80212A7EA926>100 D<003FE00001FFF80003F07E00 -07C01F000F801F801F800F803F800FC07F000FC07F0007C07F0007E0FF0007E0FF0007E0FFFFFF -E0FFFFFFE0FF000000FF000000FF0000007F0000007F0000007F0000003F8000E01F8000E00FC0 -01C007E0038003F81F0000FFFE00001FF0001B1B7E9A20>I<00FF81F003FFE7F80FC1FE7C1F80 -FC7C1F007C383F007E107F007F007F007F007F007F007F007F007F007F007F007F003F007E001F -007C001F80FC000FC1F8001FFFE00018FF800038000000380000003C0000003E0000003FFFF800 -1FFFFF001FFFFF800FFFFFC007FFFFE01FFFFFF03E0007F07C0001F8F80000F8F80000F8F80000 -F8F80000F87C0001F03C0001E01F0007C00FC01F8003FFFE00007FF0001E287E9A22>103 -D<FFE0000000FFE0000000FFE00000000FE00000000FE00000000FE00000000FE00000000FE000 -00000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0 -7F00000FE1FFC0000FE787E0000FEE03F0000FF803F0000FF803F8000FF003F8000FF003F8000F -E003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800 -0FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8 -00FFFE3FFF80FFFE3FFF80FFFE3FFF80212A7DA926>I<07000F801FC03FE03FE03FE01FC00F80 -07000000000000000000000000000000FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00F -E00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7DAA14>I<FF -E00000FFE00000FFE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00000 -0FE000000FE000000FE000000FE000000FE000000FE01FFC0FE01FFC0FE01FFC0FE007800FE00F -000FE01E000FE03C000FE078000FE0E0000FE3C0000FE7C0000FEFE0000FFFE0000FFFF0000FF3 -F8000FE3F8000FC1FC000FC0FE000FC07F000FC07F000FC03F800FC01FC00FC00FC00FC00FE0FF -FC3FFEFFFC3FFEFFFC3FFE1F2A7EA924>107 D<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00F -E00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0 -0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2A7DA914>I<FFC07F800FF0 -00FFC1FFE03FFC00FFC383F0707E000FC603F8C07F000FCC01F9803F000FD801FF003F800FF001 -FE003F800FF001FE003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F80 -0FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC -003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800F -E001FC003F80FFFE1FFFC3FFF8FFFE1FFFC3FFF8FFFE1FFFC3FFF8351B7D9A3A>I<FFC07F0000 -FFC1FFC000FFC787E0000FCE03F0000FD803F0000FD803F8000FF003F8000FF003F8000FE003F8 -000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003 -F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800FFFE -3FFF80FFFE3FFF80FFFE3FFF80211B7D9A26>I<FFE1FE0000FFE7FF8000FFFE07E0000FF803F0 -000FF001F8000FE000FC000FE000FE000FE000FF000FE0007F000FE0007F000FE0007F800FE000 -7F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F000FE000FF000FE0 -00FF000FE000FE000FE001FC000FF001F8000FF803F0000FFE0FE0000FE7FF80000FE1FC00000F -E00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000000 -0FE0000000FFFE000000FFFE000000FFFE00000021277E9A26>112 D<FFC1F0FFC7FCFFCE3E0F -D87F0FD87F0FF07F0FF03E0FF01C0FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000F -E0000FE0000FE0000FE0000FE0000FE0000FE0000FE000FFFF00FFFF00FFFF00181B7E9A1C> -114 D<03FE300FFFF01E03F03800F0700070F00070F00070F80070FC0000FFE0007FFE007FFF80 -3FFFE01FFFF007FFF800FFF80003FC0000FC60007CE0003CF0003CF00038F80038FC0070FF01E0 -F7FFC0C1FF00161B7E9A1B>I<00700000700000700000700000F00000F00000F00001F00003F0 -0003F00007F0001FFFF0FFFFF0FFFFF007F00007F00007F00007F00007F00007F00007F00007F0 -0007F00007F00007F00007F00007F00007F03807F03807F03807F03807F03807F03803F03803F8 -7001F86000FFC0001F8015267FA51B>I E /Fd 22 122 df<60F0F06004047D830A>46 -D<007E080381980600580C0038180018300018700008700008E00008E00000E00000E00000E000 -00E003FEE000387000387000383000381800380C00380600380380D8007F0817177E961C>71 -D<7FFFF86038184038084038088038048038048038040038000038000038000038000038000038 -0000380000380000380000380000380000380000380000380000380007FFC016177F9619>84 -D<1FC0386038301038003803F81E3830387038E039E039E07970FF1F1E100E7F8D12>97 -D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001CF8001F06001C03001C03 -801C01801C01C01C01C01C01C01C01C01C01801C03801C03001B0E0010F8001217809614>I<00 -7E00000E00000E00000E00000E00000E00000E00000E00000E0007CE001C3E00300E00700E0060 -0E00E00E00E00E00E00E00E00E00600E00700E00301E00182E0007CFC012177F9614>100 -D<0FC0186030307038E018FFF8E000E000E000600070083010183007C00D0E7F8D10>I<03E006 -700E701C201C001C001C001C001C00FF801C001C001C001C001C001C001C001C001C001C001C00 -1C00FF800C1780960B>I<0F9E18E33060707070707070306018C02F80200060003FE03FF83FFC -600EC006C006C006600C38380FE010157F8D12>I<FC00001C00001C00001C00001C00001C0000 -1C00001C00001C00001C7C001D8E001E07001C07001C07001C07001C07001C07001C07001C0700 -1C07001C07001C0700FF9FE01317809614>I<183C3C1800000000007C1C1C1C1C1C1C1C1C1C1C -1C1CFF081780960A>I<FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C -001C001C001C001C001C001C001C00FF80091780960A>108 D<FC7C1F001D8E63801E0781C01C -0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C0 -FF9FE7F81D0E808D1E>I<FC7C001D8E001E07001C07001C07001C07001C07001C07001C07001C -07001C07001C07001C0700FF9FE0130E808D14>I<07C018303018600C600CE00EE00EE00EE00E -E00E701C3018183007C00F0E7F8D12>I<FCF8001F0E001C03001C03801C01801C01C01C01C01C -01C01C01C01C01801C03801C07001F0E001CF8001C00001C00001C00001C00001C0000FF800012 -14808D14>I<FCF01D381E381C101C001C001C001C001C001C001C001C001C00FF800D0E808D0E> -114 D<1F4060C0C040C040E000FF007F801FC001E080608060C060E0C09F000B0E7F8D0E>I<08 -0008000800180018003800FF80380038003800380038003800380038403840384038401C800F00 -0A147F930E>I<FC3F001C07001C07001C07001C07001C07001C07001C07001C07001C07001C07 -001C0F000E170003E7E0130E808D14>I<FCFE7C3838383838101C3C201C3C201C4C200E4E400E -4E400E8640078780078780070380030300030300160E7F8D19>119 D<FE1F3C0E3C0C1C081C08 -0E100E100720072003C003C003C00180018001000100E200E200A400780010147F8D13>121 -D E /Fe 1 34 df<40E0E0E0E040404000000040E040030E7D8D08>33 D -E /Ff 1 15 df<0E001F00318060C060C0C060C060C060C06060C060C031801F000E000B0E7E8D -11>14 D E /Fg 3 62 df<40E0E0E0E0E0E04040404040400000000040E04003147D9309>33 -D<0C001C00EC000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C00FFC0 -0A137D9211>49 D<7FFFE0FFFFF0000000000000000000000000000000000000FFFFF07FFFE014 -0A7E8B19>61 D E /Fh 2 111 df<06070600000000384C4C8C98181830326262643808147F93 -0C>105 D<30F8590C4E0C9C0C980C180C180C30183019303130316032601C100D7F8C15>110 -D E /Fi 1 81 df<FFFFFFFFE0FFFFFFFFF07000001FF078000001F03C000000781C000000180E -0000000C0F000000040700000004038000000203C000000001E000000000E00000000070000000 -00780000000038000000001C000000001E000000000F0000000007000000000380000000038000 -00000300000000070000000006000000000C000000001800000000380000000030000000006000 -000000C000000001C00000000180000002030000000406000000040E0000000C0C000000181800 -00007830000001F07000001FF07FFFFFFFF0FFFFFFFFE0272A7E7F2C>80 -D E /Fj 70 126 df<071C00071C00071C00071C00071C007FFF00FFFF80FFFF800E38000E3800 -0E38000E38000E38000E38000E3800FFFF80FFFF807FFF001C70001C70001C70001C70001C7000 -11177F9614>35 D<00800180018007E01FF039BC619CC18EC18EC18EC18471807F803FE00FF001 -F8019C018E4186E186E186E186718C39B81FF00FC00180018000800F1D7E9914>I<3806007C0E -006C0E00EE1C00EE1C00EE3800EE38006C38007C700038700000700000E00000E00001C00001C0 -0001C000038000038000070000070E00071F000E1B000E3B800E3B801C3B801C3B80381B00381F -00180E00111D7F9914>I<0700000F800018C00038E00038E00038E00038C00039CF80398F801F -1C001E1C001E38001E38001E38003F7000677000E3F000E3E000E1E380E1E38073F3803F3F001E -1E0011177F9614>I<00C001C0030006000C001C0038003000700070006000E000E000E000E000 -E000E000E000600070007000300038001C000C000600030001C000C00A1D7A9914>40 -D<8000C0006000300018001C000E00060007000700030003800380038003800380038003800300 -0700070006000E001C00180030006000C0008000091D7C9914>I<038003800380638CF39EFFFE -3FF80FE00FE03FF8FFFEF39E638C0380038003800F107E9214>I<70F8FCFC7C0C1830E0C0060A -798414>44 D<FFFEFFFEFFFE0F037E8C14>I<70F8F8F8700505798414>I<07C00FE01C70383830 -18701C701CE00EE00EE00EE00EE00EE00EE00EE00EE00E701C701C383838381C700FE007C00F17 -7E9614>48 D<0300030007000F003F00F700470007000700070007000700070007000700070007 -0007000700070007007FF07FF00C177C9614>I<0FC01FF03838701CE00EE00EE00E400E000E00 -1C001C00380030007000E001C0030006000C00180E300E7FFE7FFE0F177E9614>I<0FC01FF038 -38701C701C201C001C001C0038007007E007F00038001C000E000E400EE00EE00E701C78383FF0 -0FC00F177E9614>I<00780000F80001B80001B8000338000338000638000E38000C38001C3800 -383800303800703800E03800FFFF80FFFF8000380000380000380000380000380001FF0001FF00 -11177F9614>I<3FFC7FFC700070007000700070007000700077C07FF07838201C000C000E000E -400EE00EE01C601C78783FF00FC00F177E9614>I<01F007F80E1C1C1C381C300070007000E000 -E7C0EFF0F838F01CF00CE00EE00E600E700E700C381C1C380FF007C00F177E9614>I<E000FFFE -FFFEE01CE0380030007000E000C001C001800380038007000700070007000E000E000E000E000E -000E0004000F187E9714>I<0FE03FF8783C701CE00EE00EE00EE00E701C1EF003801FF0383870 -1CE00EE00EE00EE00EF01E701C38381FF007C00F177E9614>I<07C01FE038307038601CE01CE0 -0CE00EE00E601E701E383E1FEE07CE000E001C001C001C7038707070E03FC01F000F177E9614> -I<70F8F8F87000000000000070F8F8F8700510798F14>I<70F8F8F87000000000000060F0F8F8 -78183070E0800515798F14>I<FFFF80FFFF807FFF800000000000000000007FFF80FFFF80FFFF -8011097F8F14>61 D<1FE03FF8701CE00EE00E400E003C007000E001C003800380038003800300 -000000000000000003000780078003000F177E9614>63 D<01C00003E00003E000036000036000 -0770000770000770000770000630000E38000E38000E38000E38000E38001FFC001FFC001C1C00 -1C1C003C1E00380E00FE3F80FE3F8011177F9614>65 D<FFF0FFFC381E380E3807380738073807 -380E381E3FFC3FFC381E380E38073807380738073807380E381EFFFCFFF810177F9614>I<03C6 -0FFE1C3E181E381E700E700E600EE000E000E000E000E000E000E000600E700E700E380C181C1C -380FF003C00F177E9614>I<FFE000FFF800383C00381E00380E00380700380700380700380380 -380380380380380380380380380380380380380380380700380700380E00381E00383C00FFF800 -FFE00011177F9614>I<FFFF00FFFF003807003807003807003807003800003800003870003870 -003FF0003FF000387000387000380000380000380000380380380380380380380380FFFF80FFFF -8011177F9614>I<FFFFFFFF380738073807380738003800387038703FF03FF038703870380038 -0038003800380038003800FF00FF0010177E9614>I<07FC07FC00700070007000700070007000 -70007000700070007000700070007000700070E070E070F0E07FC01F000E177D9614>74 -D<FE0FE0FE0FE03E0F803B1B803B1B803B1B803B1B803BBB803BBB8039B38039B38039B38039F3 -8038E38038E380380380380380380380380380380380380380FE0FE0FE0FE01317809614>77 -D<1FF07FFC783C701CE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00EE00E -701C783C7FFC1FF00F177E9614>79 D<FFF0FFFC381E380E38073807380738073807380E381E3F -FC3FF038003800380038003800380038003800FE00FE0010177F9614>I<FFE000FFF800383C00 -381C00380E00380E00380E00380E00381C00383C003FF8003FF000383800381C00381C00381C00 -381C00381C00381C80381DC0381DC0FE0F80FE070012177F9614>82 D<0FCC1FFC307C603CE01C -E01CE01CE00070007E003FE00FF001F8001C001E000E600EE00EE00EF01CF838FFF0C7E00F177E -9614>I<7FFF80FFFF80E1C380E1C380E1C380E1C38001C00001C00001C00001C00001C00001C0 -0001C00001C00001C00001C00001C00001C00001C00001C00001C0000FF8000FF80011177F9614 ->I<7E3E007E3E001C38001E38000E78000F700007F00007E00003E00003C00001C00003C00003 -E00003E0000770000770000E78000E38001C3C001C1C003C1E00FE3F80FE3F8011177F9614>88 -D<C000E000E00070007000380038001C001C000E000E000700070003800380038001C001C000E0 -00E00070007000380038001C001C000E000E00060F1D7E9914>92 D<04001F007FC0F1E0E0E00B -057C9614>94 D<FFFEFFFEFFFE0F037E7E14>I<1FC0007FF000707800201800001C00001C0007 -FC001FFC003C1C00701C00E01C00E01C00E01C00707C003FFF800F8F8011107E8F14>97 -D<FC0000FC00001C00001C00001C00001C00001C00001CF8001DFE001F07001E03001C03801C01 -C01C01C01C01C01C01C01C01C01C01C01C03801E03001F0E001DFC000CF8001217809614>I<03 -F80FFC1C1C380870006000E000E000E000E00060007000380E1C1E0FFC03F00F107E8F14>I<00 -7E00007E00000E00000E00000E00000E00000E0007CE000FFE001C3E00301E00700E00E00E00E0 -0E00E00E00E00E00E00E00E00E00700E00301E00383E001FEFC007CFC012177F9614>I<07E00F -F01C38301C700CE00EE00EFFFEFFFEE00060007000380E1C1E0FFC03F00F107E8F14>I<007C00 -FE01CE03840380038003807FFEFFFE038003800380038003800380038003800380038003800380 -7FFC7FFC0F177F9614>I<07CF001FFF80383B80301800701C00701C00701C003018003838003F -F00037C0007000007000003FF8001FFC003FFE00700F00E00380E00380E00380E003807007003C -1E001FFC0007F00011197F8F14>I<FC0000FC00001C00001C00001C00001C00001C00001C7800 -1DFE001F86001E07001C07001C07001C07001C07001C07001C07001C07001C07001C07001C0700 -FF8FE0FF8FE01317809614>I<030007800780030000000000000000007F807F80038003800380 -038003800380038003800380038003800380FFFCFFFC0E187D9714>I<006000F000F000600000 -0000000000001FF01FF00070007000700070007000700070007000700070007000700070007000 -7000700070007040E0E0C07F803F000C207E9714>I<FC0000FC00001C00001C00001C00001C00 -001C00001DFF801DFF801C3C001C78001CF0001DE0001FC0001FC0001FE0001EF0001C70001C38 -001C38001C1C00FE3F80FE3F8011177F9614>I<FF80FF80038003800380038003800380038003 -8003800380038003800380038003800380038003800380FFFEFFFE0F177E9614>I<FB8E00FFDF -003CF3803CF38038E38038E38038E38038E38038E38038E38038E38038E38038E38038E380FEFB -E0FE79E01310808F14>I<FC7800FDFE001F86001E07001C07001C07001C07001C07001C07001C -07001C07001C07001C07001C0700FF8FE0FF8FE01310808F14>I<07C01FF03C78701C701CE00E -E00EE00EE00EE00EE00E701C783C3C781FF007C00F107E8F14>I<FCF800FDFE001F07001E0300 -1C03801C01C01C01C01C01C01C01C01C01C01C01C01C03801E03001F0E001DFC001CF8001C0000 -1C00001C00001C00001C00001C0000FF8000FF80001218808F14>I<03CE000FFE001C3E00301E -00700E00E00E00E00E00E00E00E00E00E00E00E00E00700E00301E001C3E000FEE0007CE00000E -00000E00000E00000E00000E00000E00007FC0007FC012187F8F14>I<FE1F00FE7F800EE3800F -81000F00000F00000E00000E00000E00000E00000E00000E00000E00000E0000FFF000FFF00011 -107F8F14>I<0FD83FF86038C038C038F0007F803FF007F8001C6006E006F006F81CFFF8CFE00F -107E8F14>I<030007000700070007007FFCFFFC07000700070007000700070007000700070E07 -0E070E070C03FC00F00F157F9414>I<FC3F00FC3F001C07001C07001C07001C07001C07001C07 -001C07001C07001C07001C07001C07001C1F000FFFE003E7E01310808F14>I<FE3F80FE3F801C -1C001C1C001C1C001C1C000E38000E38000E380006300007700007700007700003E00003E00003 -E00011107F8F14>I<FF7F80FF7F80380E00380E00380E00380E0039CE0039CE0019CC001B6C00 -1B6C001A6C001A6C001E7C000E78000E780011107F8F14>I<7E3F007E3F001E38000E78000770 -0007E00003E00001C00003C00003E0000770000E78000E38001C1C00FE3F80FE3F8011107F8F14 ->I<FE3F80FE3F801C1C001C1C001C1C000E1C000E38000E380007380007300007300003700003 -700001E00001E00001E00001C00001C00001C0000380007380007700007E00003C000011187F8F -14>I<3FFF7FFF700E701C7038007000E001C0038007000E001C0738077007FFFFFFFF10107F8F -14>I<003E00FE01E003800380038003800380038003800380038003807F00FE007F0003800380 -0380038003800380038003800380038001E000FE003E0F1D7E9914>I<E0E0E0E0E0E0E0E0E0E0 -E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0031D789914>I<7800FE000F0003800380038003 -8003800380038003800380038001FC00FE01FC0380038003800380038003800380038003800380 -0F00FE0078000F1D7E9914>I E /Fk 6 64 df<001E0000718000C0C00180C00380C00300E007 -00E00700E00E01C00E01C00E01C00E01801C03801C03001C06001E0C003A180039E00038000038 -0000700000700000700000700000E00000E00000C00000131B7F9115>26 -D<60F0F06004047C830C>58 D<60F0F0701010101020204080040C7C830C>I<0000038000000F -0000003C000000F0000003C000000F0000003C000000F0000003C000000F0000003C000000F000 -0000F00000003C0000000F00000003C0000000F00000003C0000000F00000003C0000000F00000 -003C0000000F000000038019187D9520>I<E0000000780000001E0000000780000001E0000000 -780000001E0000000780000001E0000000780000001E00000007800000078000001E0000007800 -0001E00000078000001E00000078000001E00000078000001E00000078000000E000000019187D -9520>62 D<002000002000002000002000002000002000007000C070187C71F00FFF8003FE0000 -F80000F80001DC00018C000306000202000603000C01800800801514809315>I -E /Fl 57 124 df<010007C00FC00FE01FE03FC07F807E00F800E0000B0A74A31D>19 -D<3C01E07E03F0FF07F8FF07F8FF87FCFF87FC7F83FC3D81EC01800C01800C0300180300180700 -380600300C00601C00E03801C020010016127EA21E>34 D<FFFCFFFCFFFCFFFCFFFC0E057F8D13 ->45 D<3C7EFFFFFFFF7E3C08087C8710>I<00000C00001C00001C000038000038000070000070 -0000700000E00000E00001C00001C0000380000380000380000700000700000E00000E00000E00 -001C00001C0000380000380000700000700000700000E00000E00001C00001C00001C000038000 -0380000700000700000700000E00000E00001C00001C0000380000380000380000700000700000 -E00000E00000C0000016317DA41D>I<00FF0003FFC00FC3F01F00F83E007C3E007C7C003E7C00 -3E7C003E7C003EFC003FFC003FFC003FFC003FFC003FFC003FFC003FFC003FFC003FFC003FFC00 -3FFC003FFC003F7C003E7C003E7E007E3E007C3E007C1F00F80FC3F003FFC000FF0018207E9F1D ->I<00380000780003F800FFF800FDF80001F80001F80001F80001F80001F80001F80001F80001 -F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001 -F80001F80001F80001F80001F8007FFFF07FFFF014207C9F1D>I<03FC000FFF803C0FE07007F0 -7C03F8FE01F8FE01FCFE01FCFE01FC7C01FC3801FC0001FC0001F80003F80003F00007E0000FC0 -000F80001E00003C0000780000E00C01C00C03801C0300180600180FFFF81FFFF83FFFF87FFFF0 -FFFFF0FFFFF016207D9F1D>I<00FF0007FFC00F03F01E01F83F01F83F01FC3F81FC3F01FC1F01 -FC0C01F80001F80003F00003E0000FC000FF0000FF000003E00001F80001FC0000FE0000FE0000 -FF7C00FF7C00FFFE00FFFE00FFFE00FE7C01FC7801FC3C03F00FFFE001FF0018207E9F1D>I<00 -00E00001E00003E00003E00007E0000FE0001FE0001BE00033E00073E000E3E001C3E00183E003 -03E00703E00E03E00C03E01803E03803E07003E0E003E0FFFFFFFFFFFF0007E00007E00007E000 -07E00007E00007E00007E001FFFF01FFFF18207E9F1D>I<1000301E00F01FFFE01FFFE01FFFC0 -1FFF001FFE001FF80018000018000018000018000019FE001FFF801E07E01803F01001F00001F8 -0001F80001FC0001FC7801FCFC01FCFC01FCFC01FCFC01F8F801F86003F03003E01C0FC00FFF00 -03FC0016207D9F1D>I<001FC000FFF001F03807C0780F80FC1F00FC1F00FC3F00FC7E00787E00 -007E0000FE0000FE3FC0FE7FF0FE80F8FF807CFF007EFF007EFE007FFE007FFE007FFE007F7E00 -7F7E007F7E007F3E007E3E007E1F007C0F00F807C1F003FFE000FF0018207E9F1D>I<3000003C -00003FFFFF3FFFFF3FFFFE7FFFFC7FFFF87FFFF0600060600060E000C0C00180C0030000060000 -0E00000C00001C00001C00003C00003C0000780000780000F80000F80000F80000F80001F80001 -F80001F80001F80001F80001F80000F00000600018227DA11D>I<00FF0003FFE00701F00E0078 -1C00781C003C3C003C3E003C3F003C3FC03C3FE0781FF8F01FFFE00FFF8007FFE003FFF007FFF8 -1F3FFC3C0FFE7803FE7801FFF0007FF0001FF0000FF0000FF0000EF8000E78001C3C001C1F00F0 -0FFFE001FF0018207E9F1D>I<00FF0007FFC00F83E01F00F03E00F87E007C7E007CFE007EFE00 -7EFE007EFE007FFE007FFE007FFE007F7E00FF7E00FF3E01FF1F017F0FFE7F03FC7F00007F0000 -7E00007E1E007E3F00FC3F00FC3F00F83F01F01E03E01C0FC00FFF0003F80018207E9F1D>I<00 -00300000000078000000007800000000FC00000000FC00000000FC00000001FE00000001FE0000 -0003FF000000037F000000037F000000063F800000063F8000000E3FC000000C1FC000000C1FC0 -0000180FE00000180FE00000300FF000003007F000007007F800006003F800006003F80000FFFF -FC0000FFFFFC0001C001FE00018000FE00018000FE000300007F000300007F000700007F800700 -003F80FFF007FFFCFFF007FFFC26227EA12B>65 D<FFFFFF8000FFFFFFE00007E003F80007E001 -FC0007E000FE0007E000FE0007E000FF0007E0007F0007E0007F0007E0007F0007E000FF0007E0 -00FE0007E000FE0007E001FC0007E003F80007FFFFE00007FFFFF00007E003FC0007E000FE0007 -E0007F0007E0007F8007E0003F8007E0003FC007E0003FC007E0003FC007E0003FC007E0003FC0 -07E0003FC007E0003F8007E0007F8007E000FF0007E001FE00FFFFFFF800FFFFFFC00022227DA1 -29>I<0001FF0040001FFFC1C0007F80F3C001FC001FC003F0000FC007E00007C00FC00003C01F -C00003C03F800001C03F800001C07F800000C07F000000C07F000000C0FF00000000FF00000000 -FF00000000FF00000000FF00000000FF00000000FF00000000FF000000007F000000007F000000 -C07F800000C03F800000C03F800001C01FC00001800FC000018007E000030003F000060001FC00 -1C00007F807800001FFFE0000001FF000022227DA129>I<FFFFFF8000FFFFFFF80007F001FC00 -07F0007F0007F0003F8007F0000FC007F0000FE007F00007E007F00007F007F00003F007F00003 -F807F00003F807F00003F807F00003FC07F00003FC07F00003FC07F00003FC07F00003FC07F000 -03FC07F00003FC07F00003FC07F00003FC07F00003F807F00003F807F00003F807F00007F007F0 -0007F007F0000FE007F0000FC007F0001F8007F0007F0007F001FE00FFFFFFF800FFFFFFC00026 -227EA12C>I<FFFFFFFC00FFFFFFFC0007F000FC0007F0003E0007F0001E0007F0000E0007F000 -060007F000060007F000060007F00C030007F00C030007F00C030007F00C000007F01C000007F0 -3C000007FFFC000007FFFC000007F03C000007F01C000007F00C000007F00C000007F00C018007 -F00C018007F000018007F000030007F000030007F000030007F000070007F000070007F0000F00 -07F0001F0007F000FE00FFFFFFFE00FFFFFFFE0021227EA126>I<FFFFFFF8FFFFFFF807F001F8 -07F0007C07F0003C07F0001C07F0000C07F0000C07F0000C07F0000607F0180607F0180607F018 -0007F0180007F0380007F0780007FFF80007FFF80007F0780007F0380007F0180007F0180007F0 -180007F0180007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000FF -FFE000FFFFE0001F227EA124>I<0001FF0020001FFFE0E0007F8079E001FC001FE003F80007E0 -07E00003E00FC00001E01FC00001E03F800000E03F800000E07F800000607F000000607F000000 -60FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0007FFFEFF0007 -FFFE7F00000FE07F00000FE07F80000FE03F80000FE03F80000FE01FC0000FE00FE0000FE007E0 -000FE003F8000FE001FC001FE0007F8073E0001FFFE1E00001FF806027227DA12D>I<FFFFE0FF -FFE003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003 -F80003F80003F80003F80003F800FFFFE0FFFFE013227FA116>73 D<FFFFE000FFFFE00007F000 -0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 -000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0001807 -F0001807F0003807F0003007F0003007F0003007F0007007F000F007F001F007F003F007F00FE0 -FFFFFFE0FFFFFFE01D227EA122>76 D<FFF000001FFEFFF800003FFE07F800003FC007F800003F -C006FC00006FC006FC00006FC0067E0000CFC0067E0000CFC0063F00018FC0063F00018FC0063F -00018FC0061F80030FC0061F80030FC0060FC0060FC0060FC0060FC00607E00C0FC00607E00C0F -C00607E00C0FC00603F0180FC00603F0180FC00601F8300FC00601F8300FC00600FC600FC00600 -FC600FC00600FC600FC006007EC00FC006007EC00FC006003F800FC006003F800FC006001F000F -C006001F000FC006001F000FC0FFF00E01FFFEFFF00E01FFFE2F227DA136>I<FFF0000FFFFFF8 -000FFF07FC00006007FE00006006FF000060067F000060063F800060061FC00060060FE0006006 -0FF000600607F800600603FC00600601FE00600600FE006006007F006006003F806006001FC060 -06001FE06006000FF060060007F860060003FC60060001FC60060000FE600600007F600600003F -E00600003FE00600001FE00600000FE006000007E006000003E006000001E006000000E0FFF000 -0060FFF000006028227EA12D>I<FFFFFF8000FFFFFFF00007F003F80007F001FC0007F000FE00 -07F0007F0007F0007F0007F0007F8007F0007F8007F0007F8007F0007F8007F0007F8007F0007F -0007F0007F0007F000FE0007F001FC0007F003F80007FFFFF00007FFFF800007F000000007F000 -000007F000000007F000000007F000000007F000000007F000000007F000000007F000000007F0 -00000007F000000007F000000007F0000000FFFF800000FFFF80000021227EA127>80 -D<FFFFFF0000FFFFFFE00007F007F80007F001FC0007F000FE0007F0007F0007F0007F8007F000 -7F8007F0007F8007F0007F8007F0007F8007F0007F8007F0007F0007F000FE0007F001FC0007F0 -07F80007FFFFE00007FFFF800007F00FC00007F003F00007F003F80007F001F80007F001FC0007 -F001FC0007F001FC0007F001FC0007F001FE0007F001FE0007F001FE0307F001FF0307F000FF03 -07F0007F86FFFF803FFCFFFF800FF828227EA12B>82 D<01FE020007FFCE001F01FE003C007E00 -3C001E0078000E0078000E00F8000600F8000600FC000600FC000000FF000000FFF000007FFF80 -003FFFE0003FFFF8001FFFFC0007FFFE0003FFFF00003FFF000001FF0000003F8000001F800000 -1F80C0000F80C0000F80C0000F80E0000F00E0000F00F0001E00FC001C00FF807800E7FFF00080 -7FC00019227DA120>I<7FFFFFFFC07FFFFFFFC07E03F80FC07803F803C07003F801C06003F800 -C0E003F800E0E003F800E0C003F80060C003F80060C003F80060C003F800600003F800000003F8 -00000003F800000003F800000003F800000003F800000003F800000003F800000003F800000003 -F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 -03F800000003F8000003FFFFF80003FFFFF80023217EA028>I<FFFF801FFEFFFF801FFE07F000 -00C007F00000C007F00000C007F00000C007F00000C007F00000C007F00000C007F00000C007F0 -0000C007F00000C007F00000C007F00000C007F00000C007F00000C007F00000C007F00000C007 -F00000C007F00000C007F00000C007F00000C007F00000C007F00000C007F00000C007F00000C0 -03F000018003F800018001F800030000FC000600007E000C00003F807800000FFFF0000000FF80 -0027227EA12C>I<FFFF800FFFFFFF800FFF07F00000E007F80000E003F80000C003FC0000C001 -FC00018001FE00018000FE00030000FE00030000FF000700007F000600007F800E00003F800C00 -003FC00C00001FC01800001FE01800000FE03000000FE03000000FF070000007F060000007F8E0 -000003F8C0000003FCC0000001FD80000001FD80000000FF00000000FF00000000FF000000007E -000000007E000000003C000000003C0000000018000028227FA12B>I<7FFF83FFF07FFF83FFF0 -07F8003C0003FC00180001FE00300001FE00700000FF00E000007F80C000003F818000003FC380 -00001FE70000000FE60000000FFC00000007FC00000003FC00000003FC00000001FE00000000FF -00000001FF00000001FF800000033FC00000071FC000000E1FE000000C0FF000001807F8000038 -07F800003003FC00006001FE0000E001FE0001C000FF000180007F800380003F80FFF807FFFCFF -F807FFFC26227EA12B>88 D<0200100E00701C00E01800C0300180700380600300600300C00600 -C00600DE06F0FF07F8FF87FCFF87FC7F83FC7F83FC3F01F81E00F016127BA21E>92 -D<07FE00001FFF80003F07E0003F03F0003F01F0003F01F8001E01F8000001F8000001F800003F -F80003FDF8001F81F8003E01F8007C01F800F801F800F801F800F801F800F801F8007C02F8007E -0CF8001FF87F8007E03F8019167E951C>97 D<FF800000FF8000001F8000001F8000001F800000 -1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F87F0001FBFFC -001FF03E001FC01F001F800F801F800FC01F8007C01F8007E01F8007E01F8007E01F8007E01F80 -07E01F8007E01F8007E01F8007C01F8007C01F800FC01F800F801FC01F001E707E001C3FFC0018 -0FE0001B237EA220>I<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000FC0000FC00 -00FC0000FC0000FC0000FC00007C00007E00007E00003F00301F00600FC0E007FF8000FE001416 -7E9519>I<0001FF000001FF0000003F0000003F0000003F0000003F0000003F0000003F000000 -3F0000003F0000003F0000003F0000003F0000FE3F0007FFBF000FC1FF001F007F003E003F007E -003F007C003F007C003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F00 -7C003F007E003F003E003F001F007F000F81FF0007FF3FE001FC3FE01B237EA220>I<00FE0007 -FF800F83C01F01E03E00F07E00F07C00F87C0078FC0078FFFFF8FFFFF8FC0000FC0000FC00007C -00007C00003E00183E00181F00300F80E003FFC000FF0015167E951A>I<001F8000FFE001F1F0 -03E3F007E3F00FC3F00FC1E00FC0000FC0000FC0000FC0000FC0000FC000FFFE00FFFE000FC000 -0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC000 -0FC0000FC0000FC0000FC0007FFC007FFC0014237EA212>I<00FE0F8003FF9FC00F83E3C01F01 -F3C01E00F0003E00F8003E00F8003E00F8003E00F8003E00F8001E00F0001F01F0000F83E0000B -FF800008FE000018000000180000001C0000001FFFE0001FFFFC000FFFFF0007FFFF001FFFFF80 -7C001FC078000FC0F80007C0F80007C0F80007C07C000F803E001F001F807E000FFFFC0001FFE0 -001A217F951D>I<FF800000FF8000001F8000001F8000001F8000001F8000001F8000001F8000 -001F8000001F8000001F8000001F8000001F8000001F83F0001F8FFC001F987E001FA03E001FC0 -3F001FC03F001F803F001F803F001F803F001F803F001F803F001F803F001F803F001F803F001F -803F001F803F001F803F001F803F001F803F001F803F00FFF1FFE0FFF1FFE01B237DA220>I<1E -003F007F807F807F807F803F001E00000000000000000000000000FF80FF801F801F801F801F80 -1F801F801F801F801F801F801F801F801F801F801F801F801F801F80FFF0FFF00C247EA30F>I< -FF800000FF8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000 -001F8000001F8000001F8000001F80FF801F80FF801F803C001F8030001F80E0001F81C0001F83 -00001F8600001F9E00001FBE00001FFF00001FDF80001F8FC0001F07C0001F07E0001F03F0001F -01F8001F00F8001F00FC001F007E00FFE1FFC0FFE1FFC01A237EA21E>107 -D<FF80FF801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F80 -1F801F801F801F801F801F801F801F801F801F801F801F801F801F80FFF0FFF00C237EA20F>I< -FF03F803F800FF0FFE0FFE001F183F183F001F201F201F001F401FC01F801F401FC01F801F801F -801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F80 -1F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F -801F80FFF0FFF0FFF0FFF0FFF0FFF02C167D9531>I<FF03F000FF0FFC001F187E001F203E001F -403F001F403F001F803F001F803F001F803F001F803F001F803F001F803F001F803F001F803F00 -1F803F001F803F001F803F001F803F001F803F001F803F00FFF1FFE0FFF1FFE01B167D9520>I< -00FF0007FFE00F81F01F00F83E007C7C003E7C003E7C003EFC003FFC003FFC003FFC003FFC003F -FC003FFC003F7C003E7E007E3E007C1F00F80F81F007FFE000FF0018167E951D>I<FF87F000FF -BFFC001FF07E001FC01F001F800F801F800FC01F800FC01F8007E01F8007E01F8007E01F8007E0 -1F8007E01F8007E01F8007E01F8007C01F800FC01F800FC01F801F801FC01F001FF07E001FBFFC -001F8FE0001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000FFF0 -0000FFF000001B207E9520>I<FF0F80FF1FE01F33F01F63F01F43F01F43F01FC1E01F80001F80 -001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8000FFF800FFF8 -0014167E9518>114 D<07F9801FFF80380780700380F00180F00180F80000FF0000FFF8007FFE -003FFF001FFF8007FF80003FC0C007C0C003C0E003C0E003C0F00380FC0F00EFFE00C3F8001216 -7E9517>I<00C00000C00000C00000C00001C00001C00003C00007C0000FC0001FC000FFFF00FF -FF000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC1800F -C1800FC1800FC1800FC18007C18007E30003FE0000FC0011207F9F16>I<FF81FF00FF81FF001F -803F001F803F001F803F001F803F001F803F001F803F001F803F001F803F001F803F001F803F00 -1F803F001F803F001F803F001F803F001F803F001F807F001F80FF000FC1BF0007FF3FE001FC3F -E01B167D9520>I<FFF01FE0FFF01FE00FC007000FC006000FE00E0007E00C0007F01C0003F018 -0003F8180001F8300001F8300000FC600000FC6000007EC000007EC000007FC000003F8000003F -8000001F0000001F0000000E0000000E00001B167F951E>I<FFF3FF87FCFFF3FF87FC1F807C00 -E00FC07C00C00FC07E00C00FE03E01C007E03F018007E07F018003F07F030003F0CF830001F8CF -860001F8CFC60001FD87C60000FD87CC0000FF03EC00007F03F800007F03F800007E01F800003E -01F000003C00F000001C00E000001800600026167F9529>I<FFF0FFC0FFF0FFC00FC01C0007E0 -380007F0700003F0E00001F8C00000FD8000007F0000007F0000003F0000001F8000003FC00000 -37E0000067F00000C3F00001C1F8000380FC000700FE000E007E00FFC1FFE0FFC1FFE01B167F95 -1E>I<FFFFFFF0FFFFFFF01C02808E1D>123 D E /Fm 38 121 df<003C0000C600018300030300 -0603000603800E03800C03801C03801C0300380700380700380700380700700E00700E00700E00 -700E00E01C00E01C00E01C00E03800E03800E03000C06000E0600060C0007180001E0000111D7B -9B15>48 D<003E0000C1800101800200C00400C00440C00841C00841C00841C008838007038000 -0700000E0001F800003800000C00000C00000E00000E00000E00000E00700E00E01C00801C0080 -380080300040600021C0001F0000121D7C9B15>51 D<060F0F06000000000000000000003078F0 -6008127C910D>58 D<0000180000001800000038000000380000007800000078000000B8000001 -B800000138000002380000023C0000041C0000041C0000081C0000181C0000101C0000201C0000 -201C00007FFC0000401C0000801C0001801C0001001C0002001C0002001C0004000E000C000E00 -1C001E00FF00FFC01A1D7E9C1F>65 D<01FFFE00003C0780003803C0003801C0003801C0003801 -C0007001C0007003C0007003C00070078000E0070000E00E0000E03C0000FFF80001C01C0001C0 -0E0001C00F0001C00F0003800F0003800F0003800F0003800F0007001E0007001C0007003C0007 -0078000E01E000FFFF80001A1C7D9B1D>I<0003F020001E0C60003002E000E003C001C001C003 -8001C0070000C00E0000801E0000801C0000803C0000803C000000780000007800000078000000 -F0000000F0000000F0000000F0000000F0000400F0000400F0000400F000080070000800700010 -0038002000180040000C0180000706000001F800001B1E7A9C1E>I<01FFFFE0003C00E0003800 -600038004000380040003800400070004000700040007020400070200000E0400000E0400000E0 -C00000FFC00001C0800001C0800001C0800001C080000381010003800100038002000380020007 -0004000700040007000C00070018000E007800FFFFF0001B1C7D9B1C>69 -D<01FFFFC0003C01C0003800C00038008000380080003800800070008000700080007020800070 -200000E0400000E0400000E0C00000FFC00001C0800001C0800001C0800001C080000381000003 -8000000380000003800000070000000700000007000000070000000F000000FFF000001A1C7D9B -1B>I<0003F020001E0C60003002E000E003C001C001C0038001C0070000C00E0000801E000080 -1C0000803C0000803C000000780000007800000078000000F0000000F0000000F001FFC0F0001E -00F0001C00F0001C00F0001C00F0001C00700038007000380038003800180078000C0090000707 -100001F800001B1E7A9C20>I<01FFCFFE003C01E0003801C0003801C0003801C0003801C00070 -038000700380007003800070038000E0070000E0070000E0070000FFFF0001C00E0001C00E0001 -C00E0001C00E0003801C0003801C0003801C0003801C0007003800070038000700380007003800 -0F007800FFE7FF001F1C7D9B1F>I<01FFC0003C00003800003800003800003800007000007000 -00700000700000E00000E00000E00000E00001C00001C00001C00001C000038000038000038000 -0380000700000700000700000700000F0000FFE000121C7E9B10>I<01FE0007F8003E00078000 -2E000F00002E001700002E001700002E002700004E002E00004E004E00004E004E00004E008E00 -008E011C00008E011C00008E021C00008E021C0001070438000107043800010708380001071038 -000207107000020720700002072070000207407000040740E000040780E000040700E0000C0700 -E0001C0601E000FF861FFC00251C7D9B25>77 D<01FFFC00003C070000380380003801C0003801 -C0003801C0007003C0007003C0007003C00070038000E0078000E0070000E00E0000E0380001FF -E00001C0000001C0000001C0000003800000038000000380000003800000070000000700000007 -000000070000000F000000FFE000001A1C7D9B1C>80 D<01FFF800003C0E000038070000380380 -003803800038038000700780007007800070078000700F0000E00E0000E01C0000E0700000FFC0 -0001C0C00001C0600001C0700001C07000038070000380700003807000038070000700F0000700 -F0400700F0400700F0800F007880FFE0790000001E001A1D7D9B1E>82 D<000F8400304C00403C -00801801001803001803001806001006001006000007000007000003E00003FC0001FF00007F80 -0007C00001C00001C00000C00000C02000C02000C0600180600180600300600200F00400CC1800 -83E000161E7D9C17>I<1FFFFFC01C0701C0300E00C0200E0080600E0080400E0080401C008080 -1C0080801C0080001C000000380000003800000038000000380000007000000070000000700000 -0070000000E0000000E0000000E0000000E0000001C0000001C0000001C0000001C0000003C000 -007FFE00001A1C799B1E>I<FF803FC01C000F001C0004001C0008001C0008001C0010001C0010 -001C0020001C0040001C0040001E0080000E0080000E0100000E0200000E0200000E0400000E04 -00000E0800000E1800000E1000000E200000072000000740000007C00000078000000700000007 -00000006000000060000001A1D779B1F>86 D<01FF81FE001E00F0001C0060001E0080000E0180 -000E0100000F02000007040000070800000790000003A0000003C0000001C0000001C0000001E0 -000002E0000004E0000008F0000010700000207000006038000040380000803C0001001C000200 -1C0006001E001E001E00FF80FFC01F1C7E9B1F>88 D<03CC063C0C3C181C3838303870387038E0 -70E070E070E070E0E2C0E2C0E261E462643C380F127B9115>97 D<01F007080C08181C38383000 -70007000E000E000E000E000E000E008E010602030C01F000E127B9113>99 -D<001F80000380000380000700000700000700000700000E00000E00000E00000E0003DC00063C -000C3C00181C00383800303800703800703800E07000E07000E07000E07000E0E200C0E200C0E2 -0061E4006264003C3800111D7B9C15>I<01E007100C1018083810701070607F80E000E000E000 -E000E000E0086010602030C01F000D127B9113>I<0003C0000670000C70001C60001C00001C00 -00380000380000380000380000380003FF8000700000700000700000700000700000E00000E000 -00E00000E00000E00001C00001C00001C00001C00001C000038000038000038000030000030000 -070000C60000E60000CC00007800001425819C0D>I<00F3018F030F06070E0E0C0E1C0E1C0E38 -1C381C381C381C383830383038187818F00F700070007000E000E0C0C0E1C0C3007E00101A7D91 -13>I<0FC00001C00001C0000380000380000380000380000700000700000700000700000E7800 -0E8C000F0E000E0E001C0E001C0E001C0E001C0E00381C00381C00381C00383800703880703880 -707080707100E03200601C00111D7D9C15>I<0180038001000000000000000000000000000000 -1C002600470047008E008E000E001C001C001C0038003800710071007100720072003C00091C7C -9B0D>I<0FC00001C00001C0000380000380000380000380000700000700000700000700000E0F -000E11000E23800E43801C83001C80001D00001E00003F800039C00038E00038E00070E20070E2 -0070E20070E400E06400603800111D7D9C13>107 D<1F800380038007000700070007000E000E -000E000E001C001C001C001C0038003800380038007000700070007000E400E400E400E4006800 -3800091D7C9C0B>I<3C1E0780266318C04683A0E04703C0E08E0380E08E0380E00E0380E00E03 -80E01C0701C01C0701C01C0701C01C070380380E0388380E0388380E0708380E0710701C032030 -0C01C01D127C9122>I<3C3C002646004687004707008E07008E07000E07000E07001C0E001C0E -001C0E001C1C00381C40381C40383840383880701900300E0012127C9117>I<01E007180C0C18 -0C380C300E700E700EE01CE01CE01CE018E038E030E06060C031801E000F127B9115>I<078700 -04D98008E0C008E0C011C0E011C0E001C0E001C0E00381C00381C00381C0038180070380070300 -0707000706000E8C000E70000E00000E00001C00001C00001C00001C00003C0000FF8000131A7F -9115>I<3C3C26C2468747078E068E000E000E001C001C001C001C003800380038003800700030 -0010127C9112>114 D<01F006080C080C1C18181C001F001FC00FF007F0007800386030E030C0 -30806060C01F000E127D9111>I<00C001C001C001C00380038003800380FFE00700070007000E -000E000E000E001C001C001C001C00384038403840388019000E000B1A7D990E>I<1E03002707 -00470700470700870E00870E000E0E000E0E001C1C001C1C001C1C001C1C003838803838801838 -801839001C5900078E0011127C9116>I<1E06270E470E4706870287020E020E021C041C041C04 -1C0818083808181018200C4007800F127C9113>I<070E0019910010E38020E38041C30041C000 -01C00001C000038000038000038000038000070200670200E70400CB04008B080070F00011127D -9113>120 D E /Fn 48 124 df<78FCFCFEFE7A0202040408083040070E7D850D>44 -D<FFE0FFE0FFE0FFE00B047F8A10>I<78FCFCFCFC7806067D850D>I<03F8000F1E001C07003C07 -803803807803C07803C07803C0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803 -E0F803E0F803E0F803E07803C07803C03803803C07801C07000F1E0003F800131B7E9A18>48 -D<00600001E0000FE000FFE000F3E00003E00003E00003E00003E00003E00003E00003E00003E0 -0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0007FFF -807FFF80111B7D9A18>I<07F8001FFE00383F80780FC0FC07C0FC07E0FC03E0FC03E07803E000 -07E00007C00007C0000F80001F00001E0000380000700000E0000180600300600600600800E01F -FFC03FFFC07FFFC0FFFFC0FFFFC0131B7E9A18>I<03F8001FFE003C1F003C0F807C07C07E07C0 -7C07C03807C0000F80000F80001E00003C0003F800001E00000F800007C00007C00007E03007E0 -7807E0FC07E0FC07E0FC07C0780F80781F001FFE0007F800131B7E9A18>I<0001800003800007 -80000F80001F80003F80006F8000CF80008F80018F80030F80060F800C0F80180F80300F80600F -80C00F80FFFFF8FFFFF8000F80000F80000F80000F80000F80000F8001FFF801FFF8151B7F9A18 ->I<1801801FFF001FFE001FFC001FF8001FC00018000018000018000018000019F8001E0E0018 -0F801007800007C00007E00007E00007E07807E0F807E0F807E0F807C0F007C0600F80381F001F -FE0007F000131B7E9A18>I<007E0003FF000781800F03C01E07C03C07C03C0380780000780000 -F80000F8F800FB0E00FA0780FC0380FC03C0F803E0F803E0F803E0F803E07803E07803E07803C0 -3C03C03C07801E0F0007FE0003F800131B7E9A18>I<6000007FFFE07FFFE07FFFC07FFF807FFF -80E00300C00600C00C00C0180000300000300000600000E00000E00001E00001C00003C00003C0 -0003C00003C00007C00007C00007C00007C00007C00007C000038000131C7D9B18>I<03F8000F -FE001E0F803807803803C07803C07803C07E03C07F83807FC7003FFE001FFC000FFE0007FF801D -FF80387FC0781FE0F007E0F003E0F001E0F001E0F001E07801C07803803E07801FFE0003F80013 -1B7E9A18>I<03F8000FFE001E0F003C07807807807803C0F803C0F803C0F803E0F803E0F803E0 -F803E07807E03807E03C0BE00E1BE003E3E00003E00003C00003C03807C07C07807C0700780F00 -383C001FF8000FE000131B7E9A18>I<00038000000380000007C0000007C0000007C000000FE0 -00000FE000001FF000001BF000001BF0000031F8000031F8000061FC000060FC0000E0FE0000C0 -7E0000C07E0001803F0001FFFF0003FFFF8003001F8003001F8006000FC006000FC00E000FE00C -0007E0FFC07FFEFFC07FFE1F1C7E9B24>65 D<001FE02000FFF8E003F80FE007C003E00F8001E0 -1F0000E03E0000E03E0000607E0000607C000060FC000000FC000000FC000000FC000000FC0000 -00FC000000FC000000FC0000007C0000607E0000603E0000603E0000C01F0000C00F80018007C0 -030003F80E0000FFFC00001FE0001B1C7D9B22>67 D<FFFFFF00FFFFFF000FC01F000FC007000F -C003000FC003800FC003800FC181800FC181800FC181800FC180000FC380000FFF80000FFF8000 -0FC380000FC180000FC180000FC180600FC180600FC000E00FC000C00FC000C00FC001C00FC001 -C00FC003C00FC00F80FFFFFF80FFFFFF801B1C7E9B1F>69 D<FFFFFF00FFFFFF000FC01F000FC0 -07000FC003000FC003800FC003800FC001800FC181800FC181800FC180000FC180000FC380000F -FF80000FFF80000FC380000FC180000FC180000FC180000FC180000FC000000FC000000FC00000 -0FC000000FC000000FC00000FFFF0000FFFF0000191C7E9B1E>I<000FF008007FFE3801FC07F8 -07E001F80F8000781F0000783F0000383E0000387E0000187C000018FC000000FC000000FC0000 -00FC000000FC000000FC000000FC007FFFFC007FFF7C0001F87E0001F83E0001F83F0001F81F00 -01F80F8001F807E001F801FC07F8007FFE78000FF818201C7D9B26>I<FFFFFFFF07E007E007E0 -07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007 -E007E0FFFFFFFF101C7F9B12>73 D<07FFF007FFF0001F80001F80001F80001F80001F80001F80 -001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80301F80 -781F80FC1F80FC1F80FC1F00783E00387C000FF000141C7F9B19>I<FFFFF800FFFFFE000FC03F -800FC00F800FC007C00FC007E00FC007E00FC007E00FC007E00FC007E00FC007C00FC007C00FC0 -0F800FC03F000FFFFC000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F -C000000FC000000FC000000FC00000FFFC0000FFFC00001B1C7E9B21>80 -D<07F8201FFEE03C07E07801E07000E0F000E0F00060F00060F80000FE0000FFE0007FFE003FFF -003FFF800FFFC007FFE0007FE00003F00001F00000F0C000F0C000F0C000E0E000E0F001C0FC03 -C0EFFF0083FC00141C7D9B1B>83 D<7FFFFFE07FFFFFE0781F81E0701F80E0601F8060E01F8070 -C01F8030C01F8030C01F8030C01F8030001F8000001F8000001F8000001F8000001F8000001F80 -00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F -800007FFFE0007FFFE001C1C7E9B21>I<FFFC03FFFFFC03FF0FC000300FC000300FC000300FC0 -00300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300F -C000300FC000300FC000300FC000300FC000300FC0003007C0003007C0006003E000E001F001C0 -00FC0780007FFE00000FF800201C7E9B25>I<7FFE1FFE007FFE1FFE0007F001800003F8038000 -01FC07000000FC06000000FE0C0000007F1C0000003F380000003FB00000001FE00000000FE000 -00000FE000000007F000000003F800000007F80000000FFC0000000CFE000000187E000000387F -000000703F800000601F800000C01FC00001C00FE000018007F000030007F000FFF03FFF80FFF0 -3FFF80211C7F9B24>88 D<0FF8001C1E003E0F803E07803E07C01C07C00007C0007FC007E7C01F -07C03C07C07C07C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>97 -D<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F3F801FE1 -E01F80701F00781F003C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F003C1F00 -781F80701EC1E01C3F00171D7F9C1B>I<03FC000E0E001C1F003C1F00781F00780E00F80000F8 -0000F80000F80000F80000F800007800007801803C01801C03000E0E0003F80011127E9115>I< -000FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F001F9F00F07F0 -1C03F03C01F07801F07801F0F801F0F801F0F801F0F801F0F801F0F801F07801F07801F03C01F0 -1C03F00F0FFE03F9FE171D7E9C1B>I<01FC000F07001C03803C01C07801C07801E0F801E0F801 -E0FFFFE0F80000F80000F800007800007C00603C00601E00C00F038001FC0013127F9116>I<00 -7F0001E38003C7C00787C00F87C00F83800F80000F80000F80000F80000F8000FFF800FFF8000F -80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F -80007FF8007FF800121D809C0F>I<03F8F00E0F381E0F381C07303C07803C07803C07803C0780 -1C07001E0F000E0E001BF8001000001800001800001FFF001FFFC00FFFE01FFFF07801F8F00078 -F00078F000787000707800F01E03C007FF00151B7F9118>I<FF0000FF00001F00001F00001F00 -001F00001F00001F00001F00001F00001F00001F0FC01F31E01F40F01F80F81F80F81F00F81F00 -F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF181D7F9C1B ->I<1E003F003F003F003F001E00000000000000000000000000FF00FF001F001F001F001F001F -001F001F001F001F001F001F001F001F001F00FFE0FFE00B1E7F9D0E>I<FF00FF001F001F001F -001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00 -1F001F001F00FFE0FFE00B1D7F9C0E>108 D<FF0FC07E00FF31E18F001F40F207801F80FC07C0 -1F80FC07C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807 -C01F00F807C01F00F807C01F00F807C01F00F807C0FFE7FF3FF8FFE7FF3FF825127F9128>I<FF -0FC0FF31E01F40F01F80F81F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F -00F81F00F81F00F8FFE7FFFFE7FF18127F911B>I<01FC000F07801C01C03C01E07800F07800F0 -F800F8F800F8F800F8F800F8F800F8F800F87800F07800F03C01E01E03C00F078001FC0015127F -9118>I<FF3F80FFE1E01F80F01F00781F007C1F003C1F003E1F003E1F003E1F003E1F003E1F00 -3E1F003C1F007C1F00781F80F01FC1E01F3F001F00001F00001F00001F00001F00001F0000FFE0 -00FFE000171A7F911B>I<FE3E00FE47001E8F801E8F801E8F801F07001F00001F00001F00001F -00001F00001F00001F00001F00001F00001F0000FFF000FFF00011127F9114>114 -D<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01CC01CE01CE018F830CFC00E12 -7E9113>I<0300030003000300070007000F000F003FFCFFFC1F001F001F001F001F001F001F00 -1F001F001F0C1F0C1F0C1F0C0F08079803F00E1A7F9913>I<FF07F8FF07F81F00F81F00F81F00 -F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F01F80F01F80786FF01F8 -FF18127F911B>I<FFC1FCFFC1FC1F00601F80E00F80C00FC0C007C18007C18003E30003E30001 -F60001F60001FE0000FC0000FC0000780000780000300016127F9119>I<FF8FF8FEFF8FF8FE1F -03E0301F03E0301F83E0700F83F0600F86F06007C6F0C007CEF8C007EC79C003EC7D8003F83D80 -01F83F0001F83F0001F01F0000F01E0000E00E0000E00E001F127F9122>I<FFC7FCFFC7FC1F81 -800F838007C70003EE0001FC0001F80000F800007C0000FE0001DF00039F00070F800607C00C03 -E0FF07FCFF07FC16127F9119>I<FFC1FCFFC1FC1F00601F80E00F80C00FC0C007C18007C18003 -E30003E30001F70001F60000FE0000FC0000FC00007800007800003000003000007000706000F8 -6000F8C000F980007300003E0000161A7F9119>I<FFFFFE1701808B18>123 -D E /Fo 21 121 df<0018003800380070007000E000E001C001C001C003800380070007000E00 -0E001C001C001C003800380070007000E000E000C0000D1A7E9612>47 D<060006000E001E00FE -00EE000E000E000E000E000E000E000E000E000E000E000E000E00FFE0FFE00B147D9312>49 -D<0F803FC070E0E070E038E038403800380030007000E000C00180030006000C00183830387FF8 -7FF80D147E9312>I<00F001F00370037006700E700C701C70387038707070E070FFFEFFFE0070 -00700070007003FE03FE0F147F9312>52 D<07C01FF03C78783C701C701C701C38380FE007C03C -78701CE00EE00EE00EE00E701C783C1FF00FE00F147F9312>56 D<07C01FF038387018E01CE00C -E00EE00E701E383E1FEE0FCE000E001C001C7018703870F03FC00F800F147F9312>I<60F0F060 -00000000000060F0F060040E798D12>I<1FC07FF0F078E038403800F001E00380070007000700 -0700000000000000000006000F000F0006000D147E9312>63 D<FFC0FFF038783838381C381C38 -1E380E380E380E380E380E380E380E381C381C38383878FFF0FFC00F147F9312>68 -D<FC7EFC7E38383838383838383C781C701C701C701C700C600EE00EE00EE006C006C007C007C0 -03800F147F9312>86 D<C000E000E00070007000380038001C001C001C000E000E000700070003 -80038001C001C001C000E000E0007000700038003800180D1A7E9612>92 -D<3F807FC070E0207000700FF03FF07870E070E070E07070F03FFE1F3E0F0E7E8D12>97 -D<07801FE0387070706038E038FFF8FFF8E0006000703838381FF007C00D0E7E8D12>101 -D<007E00FF01C70382038003807FFEFFFE03800380038003800380038003800380038003803FF8 -3FF81014809312>I<06000F000F000600000000000000FF00FF00070007000700070007000700 -0700070007000700FFF0FFF00C157D9412>105 D<F9E0FFF03E383C3838383838383838383838 -383838383838FE3EFE3E0F0E7F8D12>110 D<0F803FE038E07070E038E038E038E038E038F078 -707038E03FE00F800D0E7E8D12>I<FCF8FDFC1F1C1E081E001C001C001C001C001C001C001C00 -FFC0FFC00E0E7E8D12>114 D<1FF03FF06070C070E0007F003FE00FF000786018E018F030FFE0 -DFC00D0E7E8D12>I<06000E000E000E007FF8FFF80E000E000E000E000E000E000E000E380E38 -0E3807F003C00D127F9112>I<7C7C7C7C1CF00EE00FC007C00380078007C00EE01EF01C70FC7E -FC7E0F0E7F8D12>120 D E /Fp 76 126 df<C00180C00180C00180C00180C00180C00180C001 -80C00180C00180C00180C00180C00180C00180C00180FFFF80FFFF8011107E8916>32 -D<0387000387000387000387000387000387007FFFC0FFFFE0FFFFE0070E00070E00070E000E1C -000E1C000E1C000E1C00FFFFE0FFFFE07FFFC01C38001C38001C38001C38001C38001C38001319 -7F9816>35 D<3801807C03807C0380EE0700EE0700EE0E00EE0E00EE0E00EE1C007C1C007C3800 -38380000700000700000700000E00000E00001C00001C00001C0000380000383800707C00707C0 -0E0EE00E0EE00E0EE01C0EE01C0EE03807C03807C018038013207F9C16>37 -D<30787C3C1C1C1C1C3878F0E040060D789816>39 D<00E001E0038007000E001C001C00380038 -00700070007000E000E000E000E000E000E000E000E000E000700070007000380038001C001C00 -0E000700038001E000E00B217A9C16>I<C000E000700038001C000E000E000700070003800380 -038001C001C001C001C001C001C001C001C001C0038003800380070007000E000E001C00380070 -00E000C0000A217B9C16>I<01C00001C00001C00001C00071C700F9CF807FFF001FFC0007F000 -07F0001FFC007FFF00F9CF8071C70001C00001C00001C00001C00011127E9516>I<387C7E7E3E -0E1E1C78F060070B798416>44 D<FFFF80FFFF80FFFF8011037E8D16>I<70F8F8F87005057884 -16>I<000180000380000380000700000700000E00000E00001C00001C00003800003800007000 -00700000E00000E00001C00001C0000380000380000700000700000E00000E00001C00001C0000 -380000380000700000700000E00000E00000C0000011207E9C16>I<03E0000FF8001FFC001E3C -00380E00780F00700700700700E00380E00380E00380E00380E00380E00380E00380E00380F007 -80700700700700780F003C1E001E3C001FFC000FF80003E00011197E9816>I<01800380038007 -800F807F80FF807380038003800380038003800380038003800380038003800380038003807FF8 -7FFC7FF80E197C9816>I<07E0001FF8003FFC00783E00E00700F00780F0038060038000038000 -0380000700000700000E00001C0000380000700000E00001C0000380000F00001E03803803807F -FF80FFFF807FFF8011197E9816>I<07E0001FF8003FFC00781E00780700300700000700000700 -000E00003E0007FC0007F00007FC00001E00000700000300000380000380600380F00380E00700 -781E003FFC001FF80007E00011197E9816>I<007C0000FC0000DC0001DC00039C00039C00071C -000F1C000E1C001E1C003C1C00381C00781C00F01C00FFFFE0FFFFE0FFFFE0001C00001C00001C -00001C00001C0001FFC001FFC001FFC013197F9816>I<3FFE003FFE003FFE0038000038000038 -00003800003800003800003800003BF0003FFC003FFE003C0F00300700000380000380600380F0 -0380F00380E00700781E003FFC001FF80007E00011197E9816>I<E00000FFFF80FFFF80FFFF80 -E00F00E01E00001C0000380000780000700000E00000E00001C00001C00001C000038000038000 -038000038000070000070000070000070000070000070000070000111A7E9916>55 -D<07F0001FFC003FFE007C1F00F00780E00380E00380E003807007007C1F001FFC0007F0001FFC -003C1E00700700F00780E00380E00380E00380F007807007007C1F003FFE001FFC0007F0001119 -7E9816>I<70F8F8F870000000000000000070F8F8F8700512789116>58 -D<000180000780001F80003E0000F80001F00007C0000F80003E0000FC0000F00000FC00003E00 -000F800007C00001F00000F800003E00001F8000078000018011157E9616>60 -D<7FFF00FFFF80FFFF80000000000000000000000000000000FFFF80FFFF807FFF00110B7E9116 ->I<C00000F00000FC00003E00000F800007C00001F00000F800003E00001F80000780001F8000 -3E0000F80001F00007C0000F80003E0000FC0000F00000C0000011157E9616>I<0FE03FF87FFC -F01EF00EF00E601E003C007800F001C00380038003800380038003000000000000000000030007 -80078003000F197D9816>I<00E00001F00001F00001B00001B00003B80003B80003B800031800 -071C00071C00071C00071C00071C000E0E000E0E000FFE000FFE001FFF001C07001C07001C0700 -7F1FC0FF1FE07F1FC013197F9816>65 D<7FF800FFFE007FFF001C0F001C07801C03801C03801C -03801C07801C07001FFF001FFE001FFE001C1F001C03801C03C01C01C01C01C01C01C01C01C01C -03C01C07807FFF80FFFF007FFC0012197F9816>I<01F18007FB800FFF801F0F803C0780380380 -700380700380F00000E00000E00000E00000E00000E00000E00000E00000F00000700380700380 -3803803C07001F0F000FFE0007FC0001F00011197E9816>I<7FF800FFFE007FFF001C0F001C07 -801C03C01C01C01C01C01C01E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C01 -C01C01C01C03C01C07801C0F807FFF00FFFE007FF8001319809816>I<7FFFC0FFFFC07FFFC01C -01C01C01C01C01C01C01C01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C -00001C00E01C00E01C00E01C00E01C00E07FFFE0FFFFE07FFFE013197F9816>I<FFFFE0FFFFE0 -FFFFE01C00E01C00E01C00E01C00E01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C00 -1C1C001C00001C00001C00001C00001C00001C0000FF8000FFC000FF800013197F9816>I<03E3 -0007FF000FFF001E1F003C0F00380700700700700700F00000E00000E00000E00000E00000E03F -80E07FC0E03F80F00700700700700700380F003C0F001E1F000FFF0007F70003E70012197E9816 ->I<7F1FC0FFBFE07F1FC01C07001C07001C07001C07001C07001C07001C07001FFF001FFF001F -FF001C07001C07001C07001C07001C07001C07001C07001C07001C07007F1FC0FFBFE07F1FC013 -197F9816>I<FFFEFFFEFFFE038003800380038003800380038003800380038003800380038003 -8003800380038003800380FFFEFFFEFFFE0F197D9816>I<07FE07FF07FE003800380038003800 -38003800380038003800380038003800380038003800386038F038F0707FF07FE01F8010197D98 -16>I<7F0FE0FF8FF07F0FE01C07801C0F001C0E001C1C001C3C001C78001CF0001CE0001DF000 -1FF0001FF8001F38001E1C001C1C001C0E001C0E001C07001C07001C03807F07E0FF8FF07F07E0 -1419809816>I<FFC000FFC000FFC0001C00001C00001C00001C00001C00001C00001C00001C00 -001C00001C00001C00001C00001C00001C00001C00401C00E01C00E01C00E01C00E0FFFFE0FFFF -E0FFFFE013197F9816>I<FC07E0FE0FE0FE0FE03A0B803B1B803B1B803B1B803B1B803B1B803B -BB8039B38039B38039B38039B38039F38038E38038E380380380380380380380380380380380FE -0FE0FE0FE0FE0FE013197F9816>I<1FFC003FFE007FFF00780F00F00780E00380E00380E00380 -E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380F00780F00780 -780F007FFF003FFE001FFC0011197E9816>79 D<7FF800FFFE007FFF001C0F801C03801C03C01C -01C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FF8001C00001C00001C00001C00001C -00001C00001C00007F0000FF80007F000012197F9816>I<7FE000FFF8007FFC001C1E001C0F00 -1C07001C07001C07001C07001C0F001C1E001FFC001FF8001FFC001C1C001C0E001C0E001C0E00 -1C0E001C0E201C0E701C0E707F07E0FF87E07F03C014197F9816>82 D<07E3001FFF003FFF0078 -1F00F00700E00700E00700E00000F000007800003F80001FF00007FC0000FE00000F0000070000 -0380000380600380E00380E00700F80F00FFFE00FFFC00C7F00011197E9816>I<7FFFE0FFFFE0 -FFFFE0E0E0E0E0E0E0E0E0E0E0E0E000E00000E00000E00000E00000E00000E00000E00000E000 -00E00000E00000E00000E00000E00000E00000E00007FC000FFE0007FC0013197F9816>I<7F07 -F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01 -C01C01C01C01C01C01C01C01C01C01C00E03800E038007070007FF0003FE0000F8001519809816 ->I<FC07E0FE0FE0FC07E07001C07001C07001C030018038038038038038038038E38039F38039 -F38039B38019B30019B30019B30019B30019B30019B3001913001B1B000F1E000F1E000E0E0013 -197F9816>87 D<7F1F807F3F807F1F800E1E000E1C00073C0007380003B80003F00001F00001E0 -0000E00001E00001F00003F00003B80007B800071C00071C000E0E000E0E001C07007F1FC0FF1F -E07F1FC013197F9816>I<FFF0FFF0FFF0E000E000E000E000E000E000E000E000E000E000E000 -E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000FFF0FFF0FFF00C2078 -9C16>91 D<C00000E00000E000007000007000003800003800001C00001C00000E00000E000007 -000007000003800003800001C00001C00000E00000E000007000007000003800003800001C0000 -1C00000E00000E0000070000070000038000038000018011207E9C16>I<FFF0FFF0FFF0007000 -700070007000700070007000700070007000700070007000700070007000700070007000700070 -00700070007000700070FFF0FFF0FFF00C207F9C16>I<081C3C7870E0E0E0E0F0F87830060D78 -9B16>96 D<1FE0003FF0007FF800783C00300E00000E00000E0003FE001FFE003E0E00700E00E0 -0E00E00E00E00E00783E007FFFE03FE7E00F83E013127E9116>I<7E0000FE00007E00000E0000 -0E00000E00000E00000E3E000EFF000FFF800F83C00F00E00E00E00E00700E00700E00700E0070 -0E00700E00700E00E00F01E00F83C00FFF800EFF00063C001419809816>I<03F80FFC1FFE3C1E -780C7000E000E000E000E000E000F000700778073E0E1FFC0FF803F010127D9116>I<003F0000 -7F00003F0000070000070000070000070003C7000FF7001FFF003C1F00780F00700700E00700E0 -0700E00700E00700E00700E00700700F00700F003C1F001FFFE00FE7F007C7E014197F9816>I< -03E00FF81FFC3C1E780E7007E007FFFFFFFFFFFFE000E000700778073C0F1FFE0FFC03F010127D -9116>I<001F00007F8000FF8001E78001C30001C00001C0007FFF00FFFF00FFFF0001C00001C0 -0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0003FFE007FFF003FFE -0011197F9816>I<03E3C007F7E00FFFE01C1CC0380E00380E00380E00380E00380E001C1C000F -F8001FF0001BE0003800001800001FFC001FFF003FFF807803C0E000E0E000E0E000E0E000E070 -01C07C07C03FFF800FFE0003F800131C7F9116>I<7E0000FE00007E00000E00000E00000E0000 -0E00000E3C000EFE000FFF000F87800F03800E03800E03800E03800E03800E03800E03800E0380 -0E03800E03800E03807FC7F0FFE7F87FC7F01519809816>I<018003C003C00180000000000000 -00007FC07FC07FC001C001C001C001C001C001C001C001C001C001C001C001C07FFFFFFF7FFF10 -1A7D9916>I<003000780078003000000000000000001FF81FF81FF80038003800380038003800 -3800380038003800380038003800380038003800380038003800386070F0F0FFE07FC03F800D23 -7E9916>I<7E0000FE00007E00000E00000E00000E00000E00000E7FE00E7FE00E7FE00E0F000E -1E000E3C000E78000EF0000FF0000FF8000FBC000F1E000E0E000E07000E07807F87F0FFCFF07F -87F01419809816>I<FFC000FFC000FFC00001C00001C00001C00001C00001C00001C00001C000 -01C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000FFFF80 -FFFF80FFFF8011197E9816>I<F9C380FFEFC0FFFFE03C78E03C78E03870E03870E03870E03870 -E03870E03870E03870E03870E03870E03870E0FE7CF8FE7CF8FE3C781512809116>I<7E3C00FE -FE007FFF000F87800F03800E03800E03800E03800E03800E03800E03800E03800E03800E03800E -03807FC7F0FFE7F87FC7F01512809116>I<03E0000FF8001FFC003C1E00780F00700700E00380 -E00380E00380E00380E00380F00780700700780F003C1E001FFC000FF80003E00011127E9116> -I<7E3E00FEFF007FFF800F83C00F00E00E00E00E00700E00700E00700E00700E00700E00700E00 -E00F01E00F83C00FFF800EFF000E3C000E00000E00000E00000E00000E00000E00007FC000FFE0 -007FC000141B809116>I<FF0FC0FF3FE0FF7FE007F04007C00007800007800007000007000007 -0000070000070000070000070000070000FFFC00FFFC00FFFC0013127F9116>114 -D<0FEC3FFC7FFCF03CE01CE01C70007F801FF007F8003C600EE00EF00EF81EFFFCFFF8C7E00F12 -7D9116>I<0300000700000700000700000700007FFF00FFFF00FFFF0007000007000007000007 -000007000007000007000007010007038007038007038007870003FE0001FC0000F80011177F96 -16>I<7E1F80FE3F807E1F800E03800E03800E03800E03800E03800E03800E03800E03800E0380 -0E03800E03800E0F800FFFF007FBF803E3F01512809116>I<7F1FC0FF1FE07F1FC01C07001E0F -000E0E000E0E000E0E00071C00071C00071C00071C0003B80003B80003B80001F00001F00000E0 -0013127F9116>I<FF1FE0FFBFE0FF1FE038038038038038038038038038E38019F30019F30019 -B3001DB7001DB7001DB7001DB7000F1E000F1E000F1E0013127F9116>I<7F1FC07F3FC07F1FC0 -0F1C00073C0003B80003F00001F00000E00001E00001F00003B800073C00071C000E0E007F1FC0 -FF3FE07F1FC013127F9116>I<7F1FC0FF9FE07F1FC01C07000E07000E0E000E0E00070E00071C -00071C00039C00039C0003980001B80001B80000F00000F00000F00000E00000E00000E00001C0 -0079C0007BC0007F80003F00003C0000131B7F9116>I<3FFFC07FFFC07FFFC0700780700F0070 -1E00003C0000780001F00003E0000780000F00001E01C03C01C07801C0FFFFC0FFFFC0FFFFC012 -127F9116>I<001F80007F8000FF8001E00001C00001C00001C00001C00001C00001C00001C000 -01C00001C00003C0007F8000FF0000FF00007F800003C00001C00001C00001C00001C00001C000 -01C00001C00001C00001C00001E00000FF80007F80001F8011207E9C16>I<7C0000FF0000FF80 -0003C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001E00000FF00007F -80007F8000FF0001E00001C00001C00001C00001C00001C00001C00001C00001C00001C00003C0 -00FF8000FF00007C000011207E9C16>125 D E /Fq 5 111 df<03C00FF01C38300C60066006C0 -03C003C003C00360066006300C1C380FF003C010107E9115>14 D<03C00FF01FF83FFC7FFE7FFE -FFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF80FF003C010107E9115>I<003C00E001C0018003800380 -03800380038003800380038003800380038003800380030007001C00F0001C0007000300038003 -8003800380038003800380038003800380038003800380018001C000E0003C0E297D9E15>102 -D<F0001C00070003000380038003800380038003800380038003800380038003800380018001C0 -00E0003C00E001C001800380038003800380038003800380038003800380038003800380030007 -001C00F0000E297D9E15>I<C000C0006000600060003000300030001800180018000C000C000C -000600060003000300030001800180018000C000C000C000600060003000300030001800180018 -000C000C000C0006000600060003000110297E9E15>110 D E /Fr 79 125 -df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C0000E01C0000E01C0000E -01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C000 -0E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0007F87FC -001A1D809C18>11 D<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E0000 -0E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0 -0E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>I<007FC001C1C00303C00703C00E01 -C00E01C00E01C00E01C00E01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E01C00E01C00E01 -C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07FCFF8151D809C17 ->I<003F07E00001C09C18000380F018000701F03C000E01E03C000E00E018000E00E000000E00 -E000000E00E000000E00E000000E00E00000FFFFFFFC000E00E01C000E00E01C000E00E01C000E -00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C00 -0E00E01C000E00E01C000E00E01C000E00E01C000E00E01C007FC7FCFF80211D809C23>I<1C1C -3C3870C0800607779C15>19 D<6060F0F0F8F86868080808080808101010102020404080800D0C -7F9C15>34 D<60F0F8680808081010204080050C7C9C0C>39 D<004000800100020006000C000C -0018001800300030007000600060006000E000E000E000E000E000E000E000E000E000E000E000 -E000600060006000700030003000180018000C000C00060002000100008000400A2A7D9E10>I< -800040002000100018000C000C000600060003000300038001800180018001C001C001C001C001 -C001C001C001C001C001C001C001C0018001800180038003000300060006000C000C0018001000 -2000400080000A2A7E9E10>I<60F0F0701010101020204080040C7C830C>44 -D<FFE0FFE00B0280890E>I<60F0F06004047C830C>I<00010003000600060006000C000C000C00 -18001800180030003000300060006000C000C000C0018001800180030003000300060006000C00 -0C000C00180018001800300030003000600060006000C000C00010297E9E15>I<03C00C301818 -300C300C700E60066006E007E007E007E007E007E007E007E007E007E007E007E007E007600660 -06700E300C300C18180C3007E0101D7E9B15>I<030007003F00C7000700070007000700070007 -0007000700070007000700070007000700070007000700070007000700070007000F80FFF80D1C -7C9B15>I<07C01830201C400C400EF00FF80FF807F8077007000F000E000E001C001C00380070 -006000C00180030006010C01180110023FFE7FFEFFFE101C7E9B15>I<07E01830201C201C781E -780E781E381E001C001C00180030006007E00030001C001C000E000F000F700FF80FF80FF80FF0 -0E401C201C183007E0101D7E9B15>I<000C00000C00001C00003C00003C00005C0000DC00009C -00011C00031C00021C00041C000C1C00081C00101C00301C00201C00401C00C01C00FFFFC0001C -00001C00001C00001C00001C00001C00001C0001FFC0121C7F9B15>I<300C3FF83FF03FC02000 -2000200020002000200023E024302818301C200E000E000F000F000F600FF00FF00FF00F800E40 -1E401C2038187007C0101D7E9B15>I<00F0030C06040C0E181E301E300C700070006000E3E0E4 -30E818F00CF00EE006E007E007E007E007E007600760077006300E300C18180C3003E0101D7E9B -15>I<4000007FFF807FFF007FFF00400200800400800400800800001000001000002000006000 -00400000C00000C00001C000018000018000038000038000038000038000078000078000078000 -078000078000078000030000111D7E9B15>I<03E00C301008200C20066006600660067006780C -3E083FB01FE007F007F818FC307E601E600FC007C003C003C003C00360026004300C1C1007E010 -1D7E9B15>I<03C00C301818300C700C600EE006E006E007E007E007E007E0076007700F300F18 -170C2707C700060006000E300C780C78187010203030C00F80101D7E9B15>I<60F0F060000000 -0000000000000060F0F06004127C910C>I<7FFFFFC0FFFFFFE000000000000000000000000000 -00000000000000000000000000000000000000FFFFFFE07FFFFFC01B0C7E8F20>61 -D<0FE03038401CE00EF00EF00EF00E000C001C0030006000C00080018001000100010001000100 -01000000000000000000000003000780078003000F1D7E9C14>63 D<0006000000060000000600 -00000F0000000F0000000F00000017800000178000001780000023C0000023C0000023C0000041 -E0000041E0000041E0000080F0000080F0000180F8000100780001FFF80003007C0002003C0002 -003C0006003E0004001E0004001E000C001F001E001F00FF80FFF01C1D7F9C1F>65 -D<FFFFC00F00F00F00380F003C0F001C0F001E0F001E0F001E0F001E0F001C0F003C0F00780F01 -F00FFFE00F00780F003C0F001E0F000E0F000F0F000F0F000F0F000F0F000F0F001E0F001E0F00 -3C0F0078FFFFE0181C7E9B1D>I<001F808000E0618001801980070007800E0003801C0003801C -00018038000180780000807800008070000080F0000000F0000000F0000000F0000000F0000000 -F0000000F0000000F0000000700000807800008078000080380000801C0001001C0001000E0002 -00070004000180080000E03000001FC000191E7E9C1E>I<FFFFC0000F00F0000F003C000F000E -000F0007000F0007000F0003800F0003C00F0001C00F0001C00F0001E00F0001E00F0001E00F00 -01E00F0001E00F0001E00F0001E00F0001E00F0001C00F0001C00F0003C00F0003800F0007800F -0007000F000E000F001C000F007000FFFFC0001B1C7E9B20>I<FFFFFC0F003C0F000C0F00040F -00040F00060F00020F00020F02020F02000F02000F02000F06000FFE000F06000F02000F02000F -02000F02010F00010F00020F00020F00020F00060F00060F000C0F003CFFFFFC181C7E9B1C>I< -FFFFF80F00780F00180F00080F00080F000C0F00040F00040F02040F02000F02000F02000F0600 -0FFE000F06000F02000F02000F02000F02000F00000F00000F00000F00000F00000F00000F0000 -0F8000FFF800161C7E9B1B>I<001F808000E0618001801980070007800E0003801C0003801C00 -018038000180780000807800008070000080F0000000F0000000F0000000F0000000F0000000F0 -000000F000FFF0F0000F80700007807800078078000780380007801C0007801C0007800E000780 -07000B800180118000E06080001F80001C1E7E9C21>I<FFF3FFC00F003C000F003C000F003C00 -0F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000FFFFC -000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F00 -3C000F003C000F003C000F003C00FFF3FFC01A1C7E9B1F>I<FFF00F000F000F000F000F000F00 -0F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F -00FFF00C1C7F9B0F>I<1FFF00F800780078007800780078007800780078007800780078007800 -780078007800780078007800787078F878F878F878F0F040E021C01F00101D7F9B15>I<FFF800 -0F80000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000 -0F00000F00000F00000F00000F00080F00080F00080F00180F00180F00100F00300F00700F01F0 -FFFFF0151C7E9B1A>76 D<FF8000FF800F8000F8000F8000F8000BC00178000BC00178000BC001 -780009E002780009E002780008F004780008F004780008F0047800087808780008780878000878 -087800083C107800083C107800083C107800081E207800081E207800081E207800080F40780008 -0F40780008078078000807807800080780780008030078001C03007800FF8307FF80211C7E9B26 ->I<FF007FC00F800E000F8004000BC0040009E0040009E0040008F0040008F804000878040008 -3C0400083C0400081E0400080F0400080F0400080784000807C4000803C4000801E4000801E400 -0800F40008007C0008007C0008003C0008003C0008001C0008000C001C000C00FF8004001A1C7E -9B1F>I<003F800000E0E0000380380007001C000E000E001C0007003C00078038000380780003 -C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F000 -01E0700001C0780003C0780003C0380003803C0007801C0007000E000E0007001C000380380000 -E0E000003F80001B1E7E9C20>I<FFFF800F00E00F00780F003C0F001C0F001E0F001E0F001E0F -001E0F001E0F001C0F003C0F00780F00E00FFF800F00000F00000F00000F00000F00000F00000F -00000F00000F00000F00000F00000F0000FFF000171C7E9B1C>I<FFFF00000F01E0000F007800 -0F003C000F001C000F001E000F001E000F001E000F001E000F001C000F003C000F0078000F01E0 -000FFF00000F03C0000F00E0000F00F0000F0078000F0078000F0078000F0078000F0078000F00 -78000F0078100F0078100F0038100F003C20FFF01C20000007C01C1D7E9B1F>82 -D<07E0801C1980300580700380600180E00180E00080E00080E00080F00000F800007C00007FC0 -003FF8001FFE0007FF0000FF80000F800007C00003C00001C08001C08001C08001C0C00180C001 -80E00300D00200CC0C0083F800121E7E9C17>I<7FFFFFC0700F01C0600F00C0400F0040400F00 -40C00F0020800F0020800F0020800F0020000F0000000F0000000F0000000F0000000F0000000F -0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000 -0F0000000F0000001F800003FFFC001B1C7F9B1E>I<FFF07FC00F000E000F0004000F0004000F -0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F000400 -0F0004000F0004000F0004000F0004000F0004000F0004000F0004000F00040007000800078008 -00038010000180100000C020000070C000001F00001A1D7E9B1F>I<FFE00FF01F0003C00F0001 -800F0001000F800300078002000780020003C0040003C0040003C0040001E0080001E0080001F0 -080000F0100000F0100000F830000078200000782000003C4000003C4000003C4000001E800000 -1E8000001F8000000F0000000F00000006000000060000000600001C1D7F9B1F>I<FFE0FFE0FF -1F001F003C1E001E00180F001F00100F001F00100F001F001007801F0020078027802007802780 -2003C027804003C043C04003C043C04003E043C04001E081E08001E081E08001E081E08000F100 -F10000F100F10000F100F100007900FA00007A007A00007A007A00003E007C00003C003C00003C -003C00003C003C00001800180000180018000018001800281D7F9B2B>I<7FF0FFC00FC03E0007 -80180003C0180003E0100001E0200001F0600000F0400000788000007D8000003D0000001E0000 -001F0000000F0000000F8000000F80000013C0000023E0000021E0000041F00000C0F800008078 -0001007C0003003C0002001E0006001F001F003F80FFC0FFF01C1C7F9B1F>I<FFF007FC0F8001 -E00780008007C0018003C0010003E0020001F0020000F0040000F8040000780800007C1800003C -1000001E2000001F2000000F4000000FC000000780000007800000078000000780000007800000 -0780000007800000078000000780000007800000078000007FF8001E1C809B1F>I<0808101020 -2040404040808080808080B0B0F8F8787830300D0C7A9C15>92 D<0C0012002100408080400A05 -7B9B15>94 D<1FC000307000783800781C00301C00001C00001C0001FC000F1C00381C00701C00 -601C00E01C40E01C40E01C40603C40304E801F870012127E9115>97 D<FC00001C00001C00001C -00001C00001C00001C00001C00001C00001C00001C00001C7C001D86001E03001C01801C01C01C -00C01C00E01C00E01C00E01C00E01C00E01C00E01C00C01C01C01C01801E030019060010F80013 -1D7F9C17>I<07E00C301878307870306000E000E000E000E000E000E00060007004300418080C -3007C00E127E9112>I<003F000007000007000007000007000007000007000007000007000007 -0000070003E7000C1700180F00300700700700600700E00700E00700E00700E00700E00700E007 -00600700700700300700180F000C370007C7E0131D7E9C17>I<03E00C301818300C700E6006E0 -06FFFEE000E000E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E0E -0C0E000E000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E00 -0E000E000E000E007FE00F1D809C0D>I<00038003C4C00C38C01C3880181800381C00381C0038 -1C00381C001818001C38000C300013C0001000003000001800001FF8001FFF001FFF8030038060 -01C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215>I<FC00001C00001C0000 -1C00001C00001C00001C00001C00001C00001C00001C00001C7C001C87001D03001E03801C0380 -1C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9FF0 -141D7F9C17>I<18003C003C0018000000000000000000000000000000FC001C001C001C001C00 -1C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I<00C001E001E0 -00C000000000000000000000000000000FE000E000E000E000E000E000E000E000E000E000E000 -E000E000E000E000E000E000E000E000E000E060E0F0C0F1C061803E000B25839C0D>I<FC0000 -1C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C3FC01C0F001C0C00 -1C08001C10001C20001C40001CE0001DE0001E70001C78001C38001C3C001C1C001C0E001C0F00 -1C0F80FF9FE0131D7F9C16>I<FC001C001C001C001C001C001C001C001C001C001C001C001C00 -1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I< -FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C001C01C01C001C01C01C -001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C0 -1C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D03001E03801C03801C03801C03 -801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9FF014127F9117 ->I<03F0000E1C00180600300300700380600180E001C0E001C0E001C0E001C0E001C0E001C060 -01807003803003001806000E1C0003F00012127F9115>I<FC7C001D86001E03001C01801C01C0 -1C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C01801E03001D06001CF800 -1C00001C00001C00001C00001C00001C00001C0000FF8000131A7F9117>I<03C1000C3300180B -00300F00700700700700E00700E00700E00700E00700E00700E00700600700700700300F00180F -000C370007C700000700000700000700000700000700000700000700003FE0131A7E9116>I<FC -E01D301E781E781C301C001C001C001C001C001C001C001C001C001C001C001C00FFC00D127F91 -10>I<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D0608FC0 -0D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C001C001C00 -1C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F801C03801C03801C0380 -1C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C07800C07800E1B80 -03E3F014127F9117>I<FF07E03C03801C01001C01000E02000E02000704000704000704000388 -0003880003D80001D00001D00000E00000E00000E00000400013127F9116>I<FF3FCFE03C0F03 -801C0701801C0701001C0B01000E0B82000E0B82000E1182000711C4000711C4000720C40003A0 -E80003A0E80003C0680001C0700001C0700001803000008020001B127F911E>I<7F8FF00F0380 -0F030007020003840001C80001D80000F00000700000780000F800009C00010E00020E00060700 -0403801E07C0FF0FF81512809116>I<FF07E03C03801C01001C01000E02000E02000704000704 -0007040003880003880003D80001D00001D00000E00000E00000E0000040000040000080000080 -00F08000F10000F300006600003C0000131A7F9116>I<7FFC70386038407040F040E041C003C0 -038007000F040E041C043C0C380870087038FFF80E127F9112>I<FFFFF01401808B15>I<FFFFFF -FFFF802901808B2A>I E /Fs 13 117 df<003F800000E0E0000380380007001C000F001E000E -000E001E000F001C0007003C0007803C0007803C000780780003C0780003C0780003C0780003C0 -F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003 -E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0780003C07800 -03C0780003C07C0007C03C0007803C0007803C0007801C0007001E000F000E000E000F001E0007 -001C000380380000E0E000003F80001B307DAE21>48 D<003F800001FFF00003C0F80006003C00 -08001E0010001F0010000F003C000F803E000F803E000F803E000F801E000F8000000F8000000F -0000000F0000001F0000001E0000003C0000003800000070000000E0000003800000FF80000000 -F0000000380000001E0000000F000000078000000780000007C0000003C0000003E0000003E030 -0003E0780003E0FC0003E0FC0003E0FC0003E0F80003C0400007C0400007C06000078030000F00 -18001E000E003C000780F80001FFF000003F80001B307DAE21>51 D<00003FE0010001FFF80300 -07F01E03001F800307003E000087007800004F00F000002F01E000001F03C000000F078000000F -0F800000070F000000071F000000031E000000033E000000033C000000017C000000017C000000 -017C000000017800000000F800000000F800000000F800000000F800000000F800000000F80000 -0000F800000000F800000000F800000000F800000000F80000000078000000007C000000007C00 -0000017C000000013C000000013E000000011E000000011F000000020F000000020F8000000607 -8000000403C000000801E000000800F00000100078000020003E0000C0001F8003800007F00F00 -0001FFFC0000003FE00028337CB130>67 D<FFFFFFFFE0FFFFFFFFE007E0000FE003E00001E003 -E00000F003E000007003E000003003E000003003E000001003E000001003E000001003E0000010 -03E000000803E000000803E000000803E000800803E000800003E000800003E000800003E00080 -0003E001800003E001800003E007800003FFFF800003FFFF800003E007800003E001800003E001 -800003E000800003E000800003E000800003E000800203E000800203E000000203E000000403E0 -00000403E000000403E000000403E000000C03E000000C03E000000803E000001803E000001803 -E000003803E000007803E00001F807E0000FF0FFFFFFFFF0FFFFFFFFF027317CB02D>69 -D<00001FE000800000FFFC01800007F00F0180000F80018380003E0000C38000780000278000F0 -0000178001E000000F8003C000000F800780000007800780000003800F00000003801F00000001 -801E00000001803E00000001803C00000001803C00000000807C00000000807C00000000807800 -00000000F80000000000F80000000000F80000000000F80000000000F80000000000F800000000 -00F80000000000F80000000000F80000000000F80000000000F800000FFFFC7800000FFFFC7C00 -00001FC07C0000000F803C0000000F803C0000000F803E0000000F801E0000000F801F0000000F -800F0000000F80078000000F8007C000000F8003C000000F8001E000000F8000F000001780007C -00001780003E00006380000F8000C3800007F00781800000FFFE008000001FF000002E337CB134 ->71 D<7FFFFFFFFFE07FFFFFFFFFE07E000F8007E078000F8001E070000F8000E060000F800060 -40000F80002040000F800020C0000F800030C0000F80003080000F80001080000F80001080000F -80001080000F80001080000F80001080000F80001000000F80000000000F80000000000F800000 -00000F80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F -80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F800000 -00000F80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F -80000000000F80000000000F80000000000F80000000000F80000000000F80000000000F800000 -00000F80000000001FC00000000FFFFF8000000FFFFF80002C317EB030>84 -D<7FFF8000FFF87FFF8000FFF803FE00003F8000FC00001E0000FC00001800007E00001000003E -00003000003F00002000001F80004000000F80008000000FC00080000007E00100000003E00200 -000003F00200000001F80400000000F80800000000FC18000000007E10000000003E2000000000 -3F60000000001FC0000000000F80000000000FC00000000007E00000000003E00000000007F000 -00000005F80000000008F80000000010FC00000000107E00000000203E00000000403F00000000 -401F80000000800F80000001000FC00000030007E00000020003E00000040003F000000C0001F8 -0000080000F80000100000FC00003000007E00002000003E00004000003F0000C000001F8001E0 -00001F800FF000003FE0FFF80000FFFFFFF80000FFFF30317FB032>88 D<00FE00000303C0000C -00E00010007000100038003C003C003E001C003E001E003E001E0008001E0000001E0000001E00 -00001E00000FFE0000FC1E0003E01E000F801E001F001E003E001E003C001E007C001E00F8001E -04F8001E04F8001E04F8003E04F8003E0478003E047C005E043E008F080F0307F003FC03E01E1F -7D9E21>97 D<003F800000E0E0000380380007003C000E001E001E001E001C000F003C000F007C -000F0078000F8078000780F8000780F8000780FFFFFF80F8000000F8000000F8000000F8000000 -F8000000F8000000780000007C0000003C0000003C0000801E0000800E0001000F000200078002 -0001C00C0000F03000001FC000191F7E9E1D>101 D<0780000000FF80000000FF800000000F80 -000000078000000007800000000780000000078000000007800000000780000000078000000007 -800000000780000000078000000007800000000780000000078000000007800000000780000000 -0780FE00000783078000078C03C000079001E00007A001E00007A000F00007C000F00007C000F0 -00078000F000078000F000078000F000078000F000078000F000078000F000078000F000078000 -F000078000F000078000F000078000F000078000F000078000F000078000F000078000F0000780 -00F000078000F000078000F000078000F000078000F0000FC001F800FFFC1FFF80FFFC1FFF8021 -327EB125>104 D<0781FC00FF860700FF8803C00F9001E007A000F007C0007807800078078000 -3C0780003C0780003E0780001E0780001F0780001F0780001F0780001F0780001F0780001F0780 -001F0780001F0780001F0780003E0780003E0780003C0780007C0780007807C000F007A000F007 -A001E00798038007860F000781F800078000000780000007800000078000000780000007800000 -07800000078000000780000007800000078000000FC00000FFFC0000FFFC0000202D7E9E25> -112 D<0783E0FF8C18FF907C0F907C07A07C07C03807C00007C00007C000078000078000078000 -078000078000078000078000078000078000078000078000078000078000078000078000078000 -0780000780000780000FC000FFFE00FFFE00161F7E9E19>114 D<004000004000004000004000 -00400000C00000C00000C00001C00001C00003C00007C0000FC0001FFFE0FFFFE003C00003C000 -03C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C000 -03C00003C01003C01003C01003C01003C01003C01003C01003C01001C02001E02000E0400078C0 -001F00142C7FAB19>116 D E end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 300 -TeXDict begin -%%EndSetup -%%Page: 179 1 -bop 267 602 a Fs(Chapter)22 b(30)790 b(T)1416 617 y(E)1453 -602 y(X)n(Graph)350 961 y Fr(The)14 b(graphics)g(pac)o(k)n(age)f(that)g(is)h -(a)f(part)g(of)g(INRST)1181 959 y(^)1177 970 y(E)1200 961 y(X)h(adds)f(the)i -(follo)o(wing)10 b(capa-)267 1010 y(bilities)329 1087 y Fq(\017)21 -b Fr(The)12 b(pro)q(duction)g(of)f(a)g(complete)h(pap)q(er/rep)q(ort)h -(requiring)e(no)h(additional)e(inser-)371 1136 y(tions)j(\(except)j(p)q -(erhaps)f(colour)f(photographs)f(if)g(required\).)329 1217 -y Fq(\017)21 b Fr(The)11 b(abilit)o(y)e(to)h(insert)i(a)e(\014le,)h(for)f -(example)g(a)g(plot)g(or)h(halftone,)f(in)g(Encapsulated)371 -1266 y(P)o(ostScript)16 b(F)m(ormat)e(\(EPSF\),)i(and)g(to)f(automatically)e -(lea)o(v)o(e)i(enough)h(space)h(in)371 1315 y(the)d(text.)329 -1396 y Fq(\017)21 b Fr(The)12 b(mixing)d(of)i(a)h(v)o(ector)g(graphics)g(and) -g(T)1053 1405 y(E)1076 1396 y(X)g(text.)18 b(In)12 b(fact)f(T)1373 -1405 y(E)1397 1396 y(X)g(text)i(ma)o(y)d(no)o(w)371 1445 y(b)q(e)k(prin)o -(ted)g(at)g(an)o(y)g(arbitrary)f(angle.)350 1526 y(The)g(pac)o(k)n(age)f -(requires)i(a)e(sensible)i(P)o(ostScript)f(driv)o(er.)18 b(The)13 -b(basic)g(requiremen)o(ts)267 1574 y(for)g(the)i(driv)o(er)f(are)g(as)g -(follo)o(ws:)329 1652 y Fq(\017)21 b Fr(The)16 b Fp(\\special)f -Fr(commands)e(and)j(the)h(other)g(information)c(in)j(the)h(.dvi)e(\014le)h -(are)371 1701 y(pro)q(cessed)i(in)d(the)h(order)h(they)f(are)g(found)g(in)f -(the)h(.dvi)f(\014le.)24 b(This)16 b(is)f(necessary)371 1750 -y(in)g(order)i(to)f(b)q(e)g(able)g(to)g(rotate)g(tables)g(and)g(arbitrary)g -(text)h(.)7 b(.)g(.)21 b(among)14 b(other)371 1798 y(things.)329 -1879 y Fq(\017)21 b Fr(The)e(driv)o(er)f(do)q(es)i(not)e(p)q(erform)g(P)o -(ostScript)h Fp(save)e Fr(and)i Fp(restore)e Fr(commands)371 -1928 y(around)c Fp(\\special)g Fr(commands.)329 2009 y Fq(\017)21 -b Fr(The)15 b(driv)o(er)g(uses)i(the)e(co)q(de)h Fp(ps:)k Fr(is)15 -b(used)h(to)f(signal)f(a)g(\014le)h(name)f(and)h(the)g(co)q(de)371 -2058 y Fp(ps::)i Fr(to)d(signal)f(inline)g(co)q(de.)329 2139 -y Fq(\017)21 b Fr(The)14 b(driv)o(er)g(sets)h(the)g Fp(currentpoint)c -Fr(b)q(efore)k(en)o(tering)f(a)g Fp(\\special)p Fr(.)350 2414 -y Fo(Draft)i(Version:)32 b(1991/8/24)p eop -%%Page: 180 2 -bop 100 83 a Fn(180)95 b Fm(CHAPTER)21 b(30:)h(T)596 92 y(E)619 -83 y(X)o(Gr)n(aph)267 214 y Fl(30.1)56 b(Command)16 b(List)k(-)g(T)885 -225 y(E)915 214 y(X)n(Graph)246 294 y Fk(?)h Fp(\\absolutepositio)o(n)246 -344 y Fk(?)g Fp(\\absolutescale)246 394 y Fk(?)g Fp(\\arcc)246 -444 y Fk(?)g Fp(\\arcn)246 494 y Fk(?)g Fp(\\arrowheadscale)246 -544 y Fk(?)g Fp(\\arrowheadsize)246 594 y Fk(?)g Fp(\\arrowheadtype)246 -644 y Fk(?)g Fp(\\avec)246 694 y Fk(?)g Fp(\\beginsegment)246 -744 y Fk(?)g Fp(\\beginTeXgraph)e(\\btg)246 794 y Fk(?)i Fp(\\cavec)246 -844 y Fk(?)g Fp(\\cav)246 894 y Fk(?)g Fp(\\centergraph)246 -944 y Fk(?)g Fp(\\centerplotfile)246 994 y Fk(?)g Fp(\\clvec)246 -1044 y Fk(?)g Fp(\\clv)246 1094 y Fk(?)g Fp(\\endsegment)246 -1144 y Fk(?)g Fp(\\endTeXgraph)e(\\etg)246 1195 y Fk(?)i Fp(\\graphdim)246 -1245 y Fk(?)g Fp(\\hgraphsize)246 1295 y Fk(?)g Fp(\\hgraphskip)246 -1345 y Fk(?)g Fp(\\hpix)976 294 y Fk(?)f Fp(\\htext)976 344 -y Fk(?)g Fp(\\includefile)976 394 y Fk(?)g Fp(\\incscfile)976 -444 y Fk(?)g Fp(\\incscmvfile)976 494 y Fk(?)g Fp(\\larc)976 -544 y Fk(?)g Fp(\\lcir)976 594 y Fk(?)g Fp(\\linecap)976 644 -y Fk(?)g Fp(\\linejoin)976 694 y Fk(?)g Fp(\\lpatt)976 744 -y Fk(?)g Fp(\\lvec)976 794 y Fk(?)g Fp(\\move)976 844 y Fk(?)g -Fp(\\penwidth)976 894 y Fk(?)g Fp(\\relativeposition)976 944 -y Fk(?)g Fp(\\relativescale)976 994 y Fk(?)g Fp(\\rstext)976 -1044 y Fk(?)g Fp(\\rtext)976 1094 y Fk(?)g Fp(\\segmentscale)976 -1144 y Fk(?)g Fp(\\unitscale)976 1195 y Fk(?)g Fp(\\vgraphsize)976 -1245 y Fk(?)g Fp(\\vgraphskip)976 1295 y Fk(?)g Fp(\\vpix)976 -1345 y Fk(?)g Fp(\\vtext)267 1511 y Fl(30.2)56 b(The)19 b(Inclusion)h(of)e -(Encapsulated)h(P)n(ostScript)350 1597 y Fr(All)c(the)i(commands)d(that)i -(are)g(used)h(to)f(include)h(encapsulated)g(P)o(ostScript)g(\014les)267 -1647 y(read)12 b(the)g Fp(Boundingbox)d Fr(and)i(lea)o(v)o(e)g(enough)h -(space)g(in)f(the)h(text)g(for)f(the)h(graphics.)18 b(The)267 -1697 y Fp(Boundingbox)13 b Fr(ma)o(y)g(b)q(e)j(at)f(either)h(the)g(b)q -(eginning)e(or)h(the)h(end)g(of)f(the)g(\014le.)22 b(Ho)o(w)o(ev)o(er,)267 -1747 y(if)12 b(the)i Fp(Boundingbox)d Fr(is)i(at)g(the)h(the)f(end,)h(it)e -(migh)o(t)f(tak)o(e)j(T)1221 1756 y(E)1244 1747 y(X)f(some)f(time)g(to)h -(read)h(the)267 1797 y(en)o(tire)h(\014le)e(to)h(\014nd)g(it.)350 -1847 y(The)g(simplest)f(command)e(for)j(including)f(a)g(graphics)h(\014le)g -(is)644 1944 y Fq(n)p Fp(centerplotfile)p Fq(f)p Fk(<)9 b Fp(file)21 -b(name)10 b Fk(>)p Fq(g)p Fk(:)267 2040 y Fr(F)m(or)i(instance)h(the)h -(\(old\))e(IEEE)h(Comm)o(uni)o(cations)d(So)q(ciet)o(y)j(logo)e(w)o(as)h -(brough)o(t)h(in)f(sim-)267 2090 y(ply)h(b)o(y)h(sa)o(ying)267 -2180 y Fj(\\medskip)345 2422 y Fo(Draft)20 b(Version:)f(1991/8/24)p -eop -%%Page: 181 3 -bop 934 83 a Fm(The)14 b(Inclusion)i(of)f(Enc)n(apsulate)n(d)g(PostScript)96 -b Fn(181)267 214 y Fj(\\hrule)267 260 y(\\centerpl)o(otf)o(ile)o({i)o(eee)o -(lo)o(go.)o(ps)o(})267 307 y(\\hrule)267 353 y(\\medskip)267 -404 y Fr(righ)o(t)13 b(here.)p 267 441 1418 2 v 599 441 a - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -599 441 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -976 581 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr /XposR Xp1 def /YposR Yp1 def Xp1 neg Yp1 neg tr end -599 441 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end --293 2225 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end --293 2225 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs XposR YposR tr 0 neg rt XposR neg YposR neg tr Xp1 Yp1 tr 1 1 sc 4.17 -4.17 scale end /texgraph save def /showpage {} def --280 2225 a -%%BeginDocument: ieeelogo.ps -0.240000 0.240000 scale -896 1509 translate -768 282 scale -768 282 true [768 0 0 -282 0 282] {< -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000700000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000001C000000000000000000000000000000000000000000000000000000000000000000F800000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000FF00000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000001FF800000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000003FFC00000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000007FFE000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000FFFF00000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000001FFFF0000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000003FFFF80000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000003FFFFC0000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000007FFFFE00000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000FFFFFE0000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000001FFFFFF000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000001FFFFFF8000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000003FFFFFF8000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000007FFFFFFC0000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00FFFFFFFE000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000001FFFFFFFF00000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000001FFFFFFFF800000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000003FFFFFFFF800000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000007FFFFFFFFC000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0FFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000001FFFFFFFFFE0000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFF00000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000003FFFFFFFFFF80000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000003FFFFFFFFFFC00000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFE0000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFF000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFFFF0000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000003FFFFFFFFFFFF8000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000007FFFFFFFFFFFFC0000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000007 -FFFFFC1FFFFFE000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000FFFFFE003FFFFF00000000000000000000000000000000000 -0000000000000000000000001FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000001FFFFF8000FFFFF000 -000000000000000000000000000000000000000000000000000000001FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000003FFFFF03E03FFFF800000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000007FFFFC1FFC1FFFFC000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000FF -FFF87FFF07FFFE00000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000001FFFFE0FFFF83FFFF0000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000003FFFFC3FFFFE1FFFF80 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000007FFFF07FFFFF07FFFC0000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000007FFFE1FFFFFFC3FFFE00000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000001FFF -F83FFFFFFE1FFFE0000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000001FFFF07FFFFFFF07FFF000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000003FFFF0FFFFFFFF83FFF8 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000007FFFC3FFFFFFFFC1FFFC000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000FFFF87FFFFFFFFF0FFFE0000000000000000 -00000000000000000000000000000000000000000FC000000000000000000000000000000007FFFF -F800000000000000000000000000000000000000000000000000000000000000000000000001FFFF -0FFFFFFFFFF87FFF000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000001FFFFFFFFFC00000000000000000000000000000000000000000000 -0000000000000000000000000003FFFE1FFFFFFFFFF81FFF80000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000000000000FFFFFFFFFFF800000000000 -000000000000000000000000000000000000000000000000000000000007FFFC3FFFFFFFFFFE0FFF -C00000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000FFFFFF83FFFFF80000000000000000000000000000000000000000000000000000000000 -00000000000FFFF0FFFFFFFFFFFF07FFE00000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000000007FFF8000000FFFF00000000000000000000000000 -0000000000000000000000000000000000000000001FFFE1FFFFFFFFFFFF83FFF000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000003FFE000000 -0003FFE00000000000000000000000000000000000000000000000000000000000000000003FFFC3 -FFFFFFFFFFFFC1FFF80000000000000000000000000000000000000000000000000000000FC00000 -0000000000000000000000FFE000000000003FFC0000000000000000000000000000000000000000 -000000000000000000000000007FFF87FFFFFFFFFFFFE0FFFC000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000FFE00000000000007FF00000000 -0000000000000000000000000000000000000000000000000000000000FFFF0FFFFFFFFFFFFFF87F -FE0000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00001FF0000000000000007FC0000000000000000000000000000000000000000000000000000000 -0000000001FFFC3FFFFFFFFFFFFFFC3FFF0000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000000FF80000000000000000FF80000000000000000000000 -000000000000000000000000000000000000000003FFF87FFFFFFFFFFFFFFE0FFF80000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003FE0000000000 -00000003FE0000000000000000000000000000000000000000000000000000000000000007FFF0FF -FFFFFFFFFFFFFF07FF8000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000007F80000000000000000007F80000000000000000000000000000000000000 -0000000000000000000000000FFFF1FFFFFFFE7FFFFFFF83FFC00000000000000000000000000000 -0000000000000000000000000FC000000000000000000000001FC00000000000000000001FC00000 -000000000000000000000000000000000000000000000000000000001FFFE3FFFFFFFC7FFFFFFFE1 -FFE000000000000000000000000000000000000000000000000000000FC000000000000000000000 -003F0000000000000000000007F80000000000000000000000000000000000000000000000000000 -000000003FFFC7FFFFFFFC3FFFFFFFE0FFF000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000780000000000000000000001FC00000000000000000000 -00000000000000000000000000000000000000007FFF9FFFFFFFFC3FFFFFFFF07FFC000000000000 -00000000000000000000000000000000000000000FC00000000000000000000000C0000000000000 -00000000007F000000000000000000000000000000000000000000000000000000000000FFFE3FFF -FFFFF81FFFFFFFFC3FFE00000000000000000000000000000000000000000000000000000FC00000 -0000000000000000078000000000000000000000001F800000000000000000000000000000000000 -000000000000000000000001FFFC7FFFFFFFF81FFFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC0000000000000000000000E00000000000000000000000007E000 -00000000000000000000000000000000000000000000000000000003FFF8FFFFFFFFF00FFFFFFFFF -0FFF80000000000000000000000000000000000000000000000000000FC000000000000000000000 -3C00000000000000000000000003F000000000000000000000000000000000000000000000000000 -0000000FFFF1FFFFFFFFF00FFFFFFFFF87FFC0000000000000000000000000000000000000000000 -000000000FC0000000000000000000007800000000000000000000000000F8000000000000000000 -000000000000000000000000000000000000001FFFE3FFFFFFFFF00FFFFFFFFFC3FFE00000000000 -00000000000000000000000000000000000000000FC000000000000000000001F0000000000003FF -FC00000000007E000000000000000000000000000000000000000000000000000000003FFFC7FFFF -FFFFE007FFFFFFFFE1FFF0000000000000000000000000000000000000000000000000000FC00000 -0000000000000003C000000000003FFFFFC0000000003F0000000000000000000000000000000000 -00000000000000000000007FFF8FFFFFFFFFE007FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC000000000000000000007800000000000FFFFFFF0000000000F80 -000000000000000000000000000000000000000000000000000000FFFF9FFFFFFFFFE007FFFFFFFF -F87FFC000000000000000000000000000000000000000000000000000FC00000000000000000001F -000000000007FFFFFFF80000000007C0000000000000000000000000000000000000000000000000 -000001FFFE3FFFFFFFFFE003FFFFFFFFF83FFE000000000000000000000000000000000000000000 -000000000FC00000000000000000003C00000000000FFFFFFFF80000000003F00000000000000000 -00000000000000000000000000000000000003FFFC7FFFFFFFFFC003FFFFFFFFFC1FFF0000000000 -00000000000000000000000000000000000000000FC00000000000000000007800000000001FFFFF -FFF80000000000F8000000000000000000000000000000000000000000000000000007FFF8FFFFFF -FFFFC001FFFFFFFFFE0FFF800000000000000000000000000000000000000000000000000FC00000 -00000000000000F000000000003FFFFFFF8000000000007C00000000000000000000000000000000 -000000000000000000000FFFF1FFFFFFFFFF8001FFFFFFFFFF07FFE0000000000000000000000000 -0000000000000000000000000FC0000000000000000001E000000000007FFFFFF80000000000003E -00000000000000000000000000000000000000000000000000001FFFE3FFFFFFFFFF8001FFFFFFFF -FF87FFE00000000000000000000000000000000000000000000000000FC0000000000000000003C0 -0000000000FFFFFFE00000000000001F000000000000000000000000000000000000000000000000 -00003FFFC7FFFFFFFFFF8000FFFFFFFFFFC3FFF80000000000000000000000000000000000000000 -000000000FC0000000000000000007800000000001FFFFFF800000000000000F8000000000000000 -0000000000000000000000000000000000007FFF8FFFFFFFFFFF0000FFFFFFFFFFE1FFFC00000000 -00000000000000000000000000000000000000000FC000000000000000000F000000000003FFFFFF -0000000000000007C000000000000000000000000000000000000000000000000001FFFF1FFFFFFF -FFFF0000FFFFFFFFFFF0FFFE0000000000000000000000000000000000000000000000000FC00000 -0000000000001C000000000007FFFFFC0000000000000003E0000000000000000000000000000000 -00000000000000000003FFFE3FFFFFFFFFFF00007FFFFFFFFFFC7FFF000000000000000000000000 -0000000000000000000000000FC000000000000000003C000000000007FFFFFC0000000000000001 -F000000000000000000000000000000000000000000000000007FFFC7FFFFFFFFFFE00007FFFFFFF -FFFC3FFF8000000000000000000000000000000000000000000000000FC000000000000000007800 -000000000FFFFFFC0000000000000000F80000000000000000000000000000000000000000000000 -000FFFF87FFFFFFFFFFE00007FFFFFFFFFFE1FFFC000000000000000000000000000000000000000 -000000000FC00000000000000000F000000000000FFFFFFFC0000000000000007800000000000000 -00000000000000000000000000000000003FFFF0FFFFFFFFFFFE00003FFFFFFFFFFF0FFFF0000000 -00000000000000000000000000000000000000000FC00000000000000001E000000000000FFFFFFF -FF000000000000003C0000000000000000000000000000000000000000000000007FFFF1FFFFFFFF -FFFC00003FFFFFFFFFFF87FFF800000000000000000000000000000000000000000000000FC00000 -000000000001C000000000001FFFFFFFFFF00000000000001E000000000000000000000000000000 -000000000000000000FFFFC3FFFFFFFFFFFC00003FFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC000000000000000038000000000001FFFFFFFFFFE000000000000 -0F000000000000000000000000000000000000000000000001FFFF87FFFFFFFFFFFC00003FFFFFFF -FFFFE3FFFE00000000000000000000000000000000000000000000000FC000000000000000078000 -000000003FFFFFF00FFFC00000000000070000000000000000000000000000000000000000000000 -03FFFF8FFFFFFFFFFFFC00003FFFFFFFFFFFF1FFFF80000000000000000000000000000000000000 -000000000FC0000000000000000F0000000000007FFFFFF0007FF000000000000780000000000000 -000000000000000000000000000000000FFFFF1FFFFFFFFFFFFF0000FFFFFFFFFFFFF0FFFFC00000 -00000000000000000000000000000000000000000FC0000000000000001E000000000001FFFFFFF0 -000FFC000000000003C0000000000000000000000000000000000000000000001FFFFE1FFFFFFFFF -FFFFC003FFFFFFFFFFFFF87FFFE0000000000000000000000000000000000000000000000FC00000 -00000000001C000000000007FFFFFFF00000FF000000000001E00000000000000000000000000000 -00000000000000003FFFFC3FFFFFFFFFFFFFE00FFFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC0000000000000003C00000000001FFFFFFFF000003F8000000000 -01F0000000000000000000000000000000000000000000007FFFF87FFFFFFFFFFFFFF00FFFFFFFFF -FFFFFE1FFFF8000000000000000000000000000000000000000000000FC000000000000000380000 -0000003FFFFFFFF800000FE00000000000F000000000000000000000000000000000000000000000 -FFFFF8FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF1FFFFC000000000000000000000000000000000000 -000000000FC000000000000000700000000000FF1FFFFFF8000003F8000000000078000000000000 -00000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF0FFFFF0000 -00000000000000000000000000000000000000000FC000000000000000F00000000001F81FFFFFFC -000000FE00000000007C00000000000000000000000000000000000000000007FFFFE3FFFFFFFFFF -FFFFF00FFFFFFFFFFFFFFF87FFFF800000000000000000000000000000000000000000000FC00000 -0000000000E00000000007F00FFFFFFC0000003F00000000003C0000000000000000000000000000 -000000000000000FFFFFC7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFC3FFFFC0000000000000000000 -0000000000000000000000000FC000000000000001E0000000000FC00FFFFFFE0000001F80000000 -001E0000000000000000000000000000000000000000003FFFFF87FFFFFFFFFFFFFFF00FFFFFFFFF -FFFFFFE3FFFFF00000000000000000000000000000000000000000000FC000000000000003C00000 -00001F8007FFFFFF00000007C0000000000E0000000000000000000000000000000000000000007F -FFFF8FFFFFFFFFFBFFFFF00FFFFFFFFFFFFFFFF1FFFFF80000000000000000000000000000000000 -000000000FC00000000000000380000000003E0007FFFFFF80000003F0000000000F000000000000 -000000000000000000000000000001FFFFFF1FFFFFFFFFC03FFFF00FFFFFFFFFFFFFFFF0FFFFFE00 -00000000000000000000000000000000000000000FC0000000000000078000000000FC0007FFFFFF -C0000000F80000000007800000000000000000000000000000000000000003FFFFFF3FFFFFFFFE00 -0FFFF00FFFFBFFFFFFFFFFF87FFFFF0000000000000000000000000000000000000000000FC00000 -000000000F0000000001F00003FFFFFFF00000007C00000000078000000000000000000000000000 -0000000000000FFFFFFC7FFFFFFFF80007FFF00FFFF01FFFFFFFFFFC7FFFFFC00000000000000000 -0000000000000000000000000FC00000000000000E0000000003E00001FFFFFFFC0000003E000000 -0003C0000000000000000000000000000000000000001FFFFFF8FFFFFFFFE00003FFF00FFFF001FF -FFFFFFFE3FFFFFE000000000000000000000000000000000000000000F800000000000001E000000 -0007E00001FFFFFFFE0000000F0000000001C0000000000000000000000000000000000000007FFF -FFF9FFFFFFFF800007FFF00FFFF0007FFFFFFFFF1FFFFFF800000000000000000000000000000000 -000000000F800000000000001E000000000F800000FFFFFFFF800000078000000001E00000000000 -0000000000000000000000000000FFFFFFF1FFFFFFFE00001FFFF00FFFF8003FFFFFFFFF0FFFFFFC -00000000000000000000000000000000000000000FC00000000000003C000000001F0000007FFFFF -FFC0000003C000000001E000000000000000000000000000000000000003FFFFFFE3FFFFFFFC0000 -7FFFF00FFFFFF83FFFFFFFFF8FFFFFFE00000000000000000000000000000000000000000FC00000 -0000000038000000003E0000003FFFFFFFE0000001E000000000F000000000000000000000000000 -000000000007FFFFFFE3FFFFFFF80003FFFFF00FFFFFFE1FFFFFFFFFC7FFFFFF8000000000000000 -0000000000000000000000000FC000000000000078000000007C0000001FFFFFFFF0000000F00000 -0000700000000000000000000000000000000000000FFFFFFFC7FFFFFFF00007FFFFF00FFFFFFF07 -FFFFFFFFC3FFFFFFC0000000000000000000000000000000000000000FC000000000000070000000 -007800000007FFFFFFF80000007800000000780000000000000000000000000000000000000FFFFF -FF87FFFFFFE0000FFFFFF00FFFFFFFC3FFFFFFFFE3FFFFFFE0000000000000000000000000000000 -000000000FC0000000000000F000000000F000000003FFFFFFFC0000007800000000780000000000 -000000000000000000000000001FFFFFFF8FFFFFFFE0003FFFFFF00FFFFFFFE1FFFFFFFFE1FFFFFF -F0000000000000000000000000000000000000000FC0000000000000F000000000F000000001FFFF -FFFE0000003C000000003C0000000000000000000000000000000000001FFFFFFF8FFFFFFFC0007F -FFFFF00FFFFFFFE0FFFFFFFFF1FFFFFFF8000000000000000000000000000000000000000FC00000 -00000000E000000001E0000000007FFFFFFF0000001E000000003C00000000000000000000000000 -00000000003FFFFFFF8FFFFFFFC0007FFFFFF00FFFFFFFF07FFFFFFFF1FFFFFFF800000000000000 -0000000000000000000000000FC0000000000001E000000003C0000000001FFFFFFF0000000F0000 -00001C0000000000000000000000000000000000003FFFFFFF0FFFFFFFC0007FFFFFF00FFFFFFFF0 -7FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC0000000000001E0000000 -03C00000000007FFFFFF0000000F800000001E0000000000000000000000000000000000001FFFFF -FF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000 -000000000FC0000000000001C000000007800000000001FFFFFF80000007800000001E0000000000 -000000000000000000000000001FFFFFFF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFF -F8000000000000000000000000000000000000000FC0000000000003C00000000F0000000000007F -FFFF80000003C00000000E0000000000000000000000000000000000001FFFFFFF0FFFFFFFC0007F -FFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC00000 -00000003800000000E0000000000003FFFFFC0000003C00000000F00000000000000000000000000 -00000000000FFFFFFF8FFFFFFFE0007FFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF800000000000000 -0000000000000000000000000FC0000000000003800000001E0000000000000FFFFFC0000001E000 -0000070000000000000000000000000000000000000FFFFFFF87FFFFFFE0007FFFFFF00FFFFFFFE0 -7FFFFFFFF1FFFFFFF0000000000000000000000000000000000000000FC000000000000780000000 -1C00000000000007FFFFC0000001E00000000700000000000000000000000000000000000007FFFF -FF87FFFFFFF0003FFFFFF00FFFFFFFC0FFFFFFFFE1FFFFFFF0000000000000000000000000000000 -000000000FC0000000000007000000003C00000000000003FFFFC0000000F0000000078000000000 -0000000000000000000000000003FFFFFFC7FFFFFFF8001FFFFFE00FFFFFFF81FFFFFFFFE3FFFFFF -E0000000000000000000000000000000000000000FC0000000000007000000007800000000000003 -FFFFE0000000700000000380000000000000000000000000000000000000FFFFFFC3FFFFFFFC000F -FFFFF00FFFFFFF03FFFFFFFFE3FFFFFFC0000000000000000000000000000000000000000FC00000 -00000007000000007800000000000001FFFFE0000000780000000380000000000000000000000000 -0000000000007FFFFFE1FFFFFFFF0007FFFFF00FFFFFFC07FFFFFFFFC7FFFFFF0000000000000000 -0000000000000000000000000FC000000000000E000000007000000000000001FFFFE00000003800 -000003C00000000000000000000000000000000000003FFFFFF1FFFFFFFFC000FFFFF81FFFFFF01F -FFFFFFFF87FFFFFC00000000000000000000000000000000000000000FC000000000000E00000000 -F000000000000000FFFFE00000003C00000003C00000000000000000000000000000000000000FFF -FFF8FFFFFFFFF0003FFFFFFFFFFF807FFFFFFFFF8FFFFFF800000000000000000000000000000000 -000000000FC000000000000E00000000F000000000000000FFFFC00000001C00000003C000000000 -000000000000000000000000000007FFFFF87FFFFFFFFE0007FFFFFFFFF801FFFFFFFFFF0FFFFFE0 -00000000000000000000000000000000000000000FC000000000001E00000001E000000000000000 -7FFFC00000001E00000003E000000000000000000000000000000000000001FFFFFC3FFFFFFFFF80 -000FFFFFFF801FFFFFFFFFFE1FFFFFC000000000000000000000000000000000000000000FC00000 -0000001E00000001E0000000000000007FFFC00000001FFFFFFFFFE0000000000000000000000000 -00000000000000FFFFFE3FFFFFFFFFF80000001F8001FFFFFFFFFFFC3FFFFF000000000000000000 -0000000000000000000000000FC000000000001C00000001C0000000000000007FFFC00000001FFF -FFFFFFC0000000000000000000000000000000000000007FFFFF1FFFFFFFFFFF80000000000FFFFF -FFFFFFFC7FFFFE0000000000000000000000000000000000000000000FC000000000001C00000003 -C0000000000000007FFF8000000003FFFFFFFF80000000000000000000000000000000000000001F -FFFF8FFFFFFFFFFFFE00000003FFFFFFFFFFFFF87FFFFC0000000000000000000000000000000000 -000000000FC000000000001C0000000380000000000000007FFF8000000000000000000000000000 -0000000000000000000000000000000FFFFF87FFFFFFFFFFFFFE0003FFFFFFFFFFFFFFF0FFFFF800 -00000000000000000000000000000000000000000FC000000000003C000000038000000000000000 -7FFF800000000000000000000000000000000000000000000000000000000007FFFFC3FFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFE1FFFFE00000000000000000000000000000000000000000000FC00000 -000000380000000780000000000000007FFF80000000000000000000000000000000000000000000 -0000000000000003FFFFE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3FFFFC0000000000000000000 -0000000000000000000000000FC00000000000380000000780000000000000007FFF000000000000 -000000000000000000000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFC7FFFF800000000000000000000000000000000000000000000FC000000000003800000007 -0000000000000000FFFE000000000000000000000000000000000000000000000000000000000000 -7FFFF0FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFF87FFFF000000000000000000000000000000000000 -000000000FC0000000000038000000070000000000000000FFFC0000000000000000000000000000 -000000000000000000000000000000003FFFF8FFFFFFFFFFFFFFE00FFFFFFFFFFFFFFF0FFFFC0000 -00000000000000000000000000000000000000000FC0000000000038000000070000000000000000 -FFF80000000000000000000000000000000000000000000000000000000000001FFFFC7FFFFFFFFF -FFFFE007FFFFFFFFFFFFFE1FFFF8000000000000000000000000000000000000000000000FC00000 -00000078000000070000000000000001FFF800000000000000000000000000000000000000000000 -00000000000000000FFFFE3FFFFFFFFFFFFFE007FFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC00000000000780000000F0000000000000001FFF0000000000000 -00000000000000000000000000000000000000000000000007FFFE1FFFFFFFFFFFFFE007FFFFFFFF -FFFFFC3FFFE0000000000000000000000000000000000000000000000FC00000000000300000000E -0000000000000003FFE0000000000000000000000073C00000000000000000000000000000000000 -01FFFF0FFFFFFFFFFFFFC007FFFFFFFFFFFFF87FFF80000000000000000000000000000000000000 -000000000FC00000000000700000000E0000000000000003FF80000000000381FFF81FFF83FFF000 -0000000000000000000000000000000000FFFF87FFFFFFFFFFFFC007FFFFFFFFFFFFF0FFFF000000 -00000000000000000000000000000000000000000FC00000000000700000000E0000000000000007 -FF000000000007C1FFFC3FFF87FFF00000000000000000000000000000000000007FFFC3FFFFFFFF -FFFFC007FFFFFFFFFFFFE1FFFE00000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000000000FFC000000000007C3FFFC3FFF87FFF0000000000000000000 -0000000000000000003FFFE1FFFFFFFFFFFFC003FFFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000000001FF000000000000FE3 -FFF87FFF87FFC00000000000000000000000000000000000000FFFF0FFFFFFFFFFFFC003FFFFFFFF -FFFF87FFF000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000000003FE0000000000007E3FF807F8007F0000000000000000000000000000000000000 -0007FFF87FFFFFFFFFFFC007FFFFFFFFFFFF0FFFE000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000000E7FFFE0000000000007E3F0007F0007E00000 -000000000000000000000000000000000003FFFC7FFFFFFFFFFFC003FFFFFFFFFFFF1FFFC0000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE0000000000FE3F0007F0007E00000000000000000000000000000000000000001FFFE1FFFFFFF -FFFFC003FFFFFFFFFFFE3FFF8000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000003FFFFFFFF0000000000FE3FC007FC007FF00000000000000000000 -000000000000000000007FFF0FFFFFFFFFFFC003FFFFFFFFFFF87FFE000000000000000000000000 -0000000000000000000000000FC00000000000700000001E00000000003E071E7FF0000000000FE3 -FFF87FFF07FFE0000000000000000000000000000000000000007FFF87FFFFFFFFFFC003FFFFFFFF -FFF8FFFC0000000000000000000000000000000000000000000000000FC00000000000700000001E -00000000001E000000F0000000000FE3FFF87FFF87FFF00000000000000000000000000000000000 -00001FFF83FFFFFFFFFFC003FFFFFFFFFFE1FFF80000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000001FFFFFFFF00000000007E3FFFC7FFF87FFE000 -0000000000000000000000000000000000000FFFE3FFFFFFFFFFC003FFFFFFFFFFC3FFF000000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE00000000007E3FFF87FFF07FFE00000000000000000000000000000000000000007FFE1FFFFFF -FFFFC003FFFFFFFFFFC7FFE00000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000000FFFFFFFE0000000000FE3FFE03FFC07FC00000000000000000000 -0000000000000000000003FFF0FFFFFFFFFFC003FFFFFFFFFF87FFC0000000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000007C0000FC00000000007E3 -F8003F0007E0000000000000000000000000000000000000000001FFF87FFFFFFFFFC003FFFFFFFF -FF0FFF800000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000003C00007800000000007E3F8007F0007E0000000000000000000000000000000000000 -000000FFFC3FFFFFFFFFC003FFFFFFFFFE1FFF000000000000000000000000000000000000000000 -000000000FC00000000000700000000E000000000003C00007800000000007E3F8007F0007E00000 -000000000000000000000000000000000000007FFE1FFFFFFFFFC003FFFFFFFFFC3FFE0000000000 -00000000000000000000000000000000000000000FC00000000000700000000E000000000003C000 -07000000000007E3F8003F8007F00000000000000000000000000000000000000000003FFF0FFFFF -FFFF8003FFFFFFFFF87FFC000000000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000003C00007000000000007E3FFF83FFF87FFF0000000000000000000 -00000000000000000000001FFF87FFFFFFFF8003FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC00000000000780000000E000000000003C00007000000000007E3 -FFFC3FFF87FFF800000000000000000000000000000000000000000FFFC3FFFFFFFFC003FFFFFFFF -E1FFF0000000000000000000000000000000000000000000000000000FC00000000000780000000E -000000000003C00007000000000007E3FFFC3FFF87FFF80000000000000000000000000000000000 -00000007FFE1FFFFFFFFC003FFFFFFFFC3FFE0000000000000000000000000000000000000000000 -000000000FC00000000000780000000E000000000001C00007000000000007C1FFFC3FFF83FFF000 -0000000000000000000000000000000000000003FFF0FFFFFFFFC003FFFFFFFF87FFC00000000000 -00000000000000000000000000000000000000000FC000000000007800000006000000000001C000 -0700000000000381FFF81FFF00FF80000000000000000000000000000000000000000001FFF87FFF -FFFF8003FFFFFFFF0FFF80000000000000000000000000000000000000000000000000000FC00000 -0000003800000007000000000001C00007000000000000000000000000000000000000000E000000 -000000000000000000000000FFFC3FFFFFFF8003FFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC000000000003800000007000000000001C0000700000000000000 -0000000000000000000000001F0000000000000000000000000000003FFE1FFFFFFF8003FFFFFFFC -3FFC00000003FFFF80000000000000000000000000000000000000000FC000000000003800000007 -000000000001C0000F000000000000000000000000000000000000003F000007E000000000000000 -000070001FFF07FFFFFF8003FFFFFFF87FF800000007FFFFE0000000FFFFE0000000000000000000 -000000000FC000000000003C00000007800000000001C0000E000000000000000000000000000000 -000000007E00007FFE000000FFF000000000F0000FFF83FFFFFFC003FFFFFFE0FFF00000000FFFFF -F8000001FFFFFC00000E000000000000000000000FC000000000003C00000003800000000001C000 -0E00000000000000000000000000000000000001FE0003FFFFC0000FFFFE00000001F00007FFE1FF -FFFFF007FFFFFFC1FFE0007800FFFFFFF8300001FFFFFE00003F000000700000000000000FC00000 -0000001C00000003800000000001C0000E00000000000000000000000000000000000003FE000FFF -87F0003FFE0780000003F00003FFF0FFFFFFFFFFFFFFFF83FFC000F801FFFFFFFCF8003FFFFFFF0E -003F000000F80000000000000FC000000000001C00000003C00000000000E0000E00000000000000 -000000000000000000000007FE001FFC01F8007FF001C0000007F00001FFF87FFFFFFFFFFFFFFF07 -FF8001FC03FFFFFFFFF8007FFFFFFF9F007F000001F80000000000000FC000000000001C00000001 -C00000000000E0000E00000000000000000000000000000000000007FC003FE0007C00FFC000E000 -000FF00000FFFC3FFFFFFFFFFFFFFE0FFF0003FC03FFFFFFFFFC00FFFFFFFFFF807F800001FC0000 -000000000FC000000000001E00000001E00000000000E0000E000000000000000000000000000000 -0000000FFC007FC0003C01FF00007000000FE000007FFE1FFFFFFFFFFFFFFC3FFE0003FC07FDFFFF -FFFC00FFFFFFFFFF807F800003FC0000000000000FC000000000001E00000001E00000000000E000 -0C0000000000000000000000000000000000001FFC00FFC0001E03FE00007000001FE000003FFF0F -FFFFFFFFFFFFF07FFC0003FC07F8003FE7FC00FF3FFFFFFF00FF000003FC0000000000000FC00000 -0000000E00000000E00000000000E0001C00000000001FFFFFFEF000000000000000007FF800FF80 -001F07FC00003800003FE000001FFF83FFFFFFFFFFFFE0FFF80003FC07F8000007FC01FF001F7EFF -80FF000003F80000000000000FC000000000000E00000000F00000000000E0001C00000000001FFF -FFFFFF80000000000000007FF801FE00000F07FC00003800007FC000001FFFC1FFFFFFFFFFFFC1FF -F00003FC07F8000007FC01FF000000FF80FF000007F80000000000000FC000000000000E00000000 -700000000000E0001C00000000003FFFFFFFFF8000000000000000FFF803FE00000F8FF800001C00 -00FFC000000FFFE0FFFFFFFFFFFF83FFE00007FC0FF8000007F801FF000000FF80FF000007F80000 -000000000FC000000000000F00000000780000000000E0001C00000000007C00FFFFFFC000000000 -000001FFF003FC0000078FF000001C0001FF80000007FFF8FFFFFFFFFFFF07FFC00007FC0FF80000 -07FC01FF000000FF00FF000007F80000000000000FC0000000000007000000007800000000006000 -1C00000000007800000007C000000000000003FFF007F80000079FE000001C0003FF80000003FFF8 -3FFFFFFFFFFE0FFFC00007F80FF8000007F801FF000000FF00FF000007F80000000000000FC00000 -00000007000000003C000000000060001C00000000007800000007C000000000000007FFF007F800 -00079FE000001C0007FF80000001FFFE1FFFFFFFFFFC1FFF000007F80FF0000007F801FE000000FF -00FF000007F80000000000000FC0000000000007800000003C000000000070003C0000000000F000 -000003800000000000000FFFE007F80000079FE000001C000FFF00000000FFFF0FFFFFFFFFF83FFF -000007F80FF0000007F801FE000000FF00FF000007F80000000000000FC000000000000380000000 -1E00000000007000380000000000F000000007800000000000001FFFE007F0000007BFC000001C00 -1FFF000000007FFF87FFFFFFFFE0FFFE000007F80FF0000007F801FE000000FF00FF000007F80000 -000000000FC0000000000003800000001E00000000007000380000000001E0000000070000000000 -00003FFFE007F00000071FC000001C003FFF000000003FFFC1FFFFFFFFC1FFFC000007F80FF00000 -07F801FE000000FF00FF000007F80000000000000FC0000000000003C00000000F00000000007000 -380000000003E000000007000000000000007F9FE00FF000000F1FC000001C007FFE000000001FFF -F0FFFFFFFF87FFF8000007F80FF0000007F801FE000000FF01FF000007F00000000000000FC00000 -00000001C00000000700000000007000380000000003C00000000F00000000000000FF1FC00FF000 -000F1FC000001C01FFFE000000000FFFF87FFFFFFF0FFFF0000007F80FF000000FF801FE000000FF -01FE00000FF00000000000000FC0000000000001E000000007800000000070003800000000078000 -00000E00000000000001FE3FC007F000001E1FC000003C03F9FE0000000007FFFC3FFFFFFC1FFFE0 -000007F80FF000000FF801FE000001FF01FE00000FF00000000000000FC0000000000001E0000000 -03C000000000700038000000000F800000001E00000000000003FC3F8007F800003E1FC000007807 -F1FE0000000003FFFE0FFFFFF87FFFC0000007F80FF000000FF801FE000001FF01FE00000FF00000 -000000000FC0000000000000E000000001E000000000700078000000001F000000001C0000000000 -0007F87F8007F800007C0FE00000780FE3FC0000000001FFFF87FFFFE0FFFF80000007F80FF00000 -0FF001FE000001FE01FE00000FF00000000000000FC0000000000000F000000001E0000000003000 -70000000001E000000001C0000000000001FF07F8007FC0000FC0FE00001F01FC3FC0000000000FF -FFC1FFFFC1FFFF0000000FF00FF000000FF001FE000001FE01FE00000FF00000000000000FC00000 -000000007000000000F000000000380070000000003C000000003C0000000000003FE07F8003FE00 -01F80FF00003E07F83FC00000000007FFFF0FFFF07FFFE0000000FF00FF000000FF001FC000001FE -00FE00000FE00000000000000FC00000000000007800000000780000000038007000000000780000 -0000380000000000007FC0FF0003FF0007F007F80007E0FF07F800000000003FFFF83FFC0FFFFC00 -000007E007F000000FE001FC000001FE00FF00000FE00000000000000FC000000000000078000000 -003C0000000038007000000000F80000000078000000000001FF80FF0001FF803FE003FC001FC1FE -07F800000000001FFFFE07F03FFFF800000007C007FF00000FE001FE000001FC00FFFFFF8FC00000 -000000000FC00000000000003C000000001E0000000038007000000000F000000000700000000000 -03FF00FE0001FFFFFFE003FF807FC3FC07F800000000001FFFFF00007FFFF0000000000007FFFFFF -E7C001FFFFFFF1F8007FFFFFFF800000000000000FC00000000000003C000000001F000000003800 -7000000001E000000000F0000000000007FE01FE0001FFFFFFC003FFFFFF8FF80FF800000000000F -FFFFC001FFFFE0000000000003FFFFFFF80000FFFFFFFFE0007FFFFFF8000000000000000FC00000 -000000001E000000000F8000000038006000000003C000000000F0000000000007FE01FE0003FFFF -FFC003FFFFFFFFF00FF0000000000007FFFFF007FFFFE0000000000003FFFFFFFC0000FFFFFFFF80 -003FFFFFFC000000000000000FC00000000000001E0000000007C000000038006000000007800000 -0001E000000000001FFC03FE0007FFFFFFE007FFFBFFFFF01FF0000000000003FFFFFF3FFFFFC000 -0000000001FFFFFFFC0000FFFFFFFF80003FFFFFFC000000000000000FC00000000000000F000000 -0003E00000001800E00000000F0000000001E000000000003FF003FE000FFFF0FFE01FFF803FFFE0 -1FF0000000000001FFFFFFFFFFFF8003F000000001FFFFFFFC0000FFFFFFFF80001FFFFFFC000000 -000000000FC00000000000000F0000000001F00000001C00E00000003E0000000003C00000000000 -3FE003FC001FFFC007F83FFC001FFFC01FF0000000000001FFFFFFFFFFFF0007FC0000E000FFFFFF -FE0001FFFFFFFF80000FFFFFFFC00000000000000FC0000000000000078000000000780000001C00 -E00000007E0000000003C000000000001F0007FC003FFE0001FFFFF8000FFFC03FF0000000000000 -FFFFFFFFFFFE000FFE0001F0007FFFFFFFE003FFFFFFFFF80003FFFFFFE00000000000000FC00000 -000000000780000000007C0000001C00E0000000F80000000007800000000000000007FC007FF800 -007FFFE0001FFFC07FFC0000000000007FFFFFFFFFFE001FFF0003F0001FFFFFFFF003FFFFFFFFFC -000001840FF00000000000000FC000000000000003C0000000001E0000001C00E0000001F0000000 -000F000000000000000007F800FFE000003FFFC0003FFFFFFFFFFFF8000000003FFFFFFFFFFC001F -FF0007F80000000007F803FFFFFFFFFE000000000FF00000000000000FC000000000000001E00000 -00001F8000001C00E0000003F0000000000F00000000000000000FF801FFC000001FFF00007FFFFF -FFFFFFFC000000001FFFFFFFFFF80037FB8007F80000000007F807FE000000FE000000000FF00000 -000000000FC000000000000001E00000000007E000001C01C000000FC0000000001E000000000000 -00000FF803FF8000001FFF0000FFFFFFFFFFFFFC000000001FFFFFFFFFF00037F98007F800000000 -07F807FC000000FF000000000FF00000000000000FC000000000000000F00000000003F000001C01 -C000003F80000000001E00000000000000000FF803FF0000001FFE00007FFFFFFFF0000000000000 -0FFFFFFFFFE00037F98007F80000000007F807FC000001FF000000000FF00000000000000FC00000 -0000000000F00000000000FC00001E01C000007E00000000003C00000000000000001FF807FE0000 -001FFC0000007F80FFE000000000000007FFFFFFFFC00037F18007F8000000000FF807F8000001FF -000000000FF00000000000000FC0000000000000007800000000007F00000E01C00001F800000000 -007800000000000000001FF807FE0000001FFC0000001F00FFC000000000000007FFFFFFFF800037 -F18007F8000000000FF807F8000001FF000000000FF00000000000000FC0000000000000003C0000 -0000001FC0000E01C00007E000000000007800000000000000001FF007FC0000001FF80000001E00 -FFC000000000000003FFFFFFFF800030238007F8000000000FF807F8000001FF000000000FF00000 -000000000FC0000000000000001C00000000000FF0000E01C0001FC00000000000F0000000000000 -00003FF00FF80000003FF80000001E00FFC000000000000001FFFFFFFF000038070007F800000000 -0FF807F8000001FF000000000FF00000000000000FC0000000000000001E000000000001FE000E01 -C000FE000000000001E000000000000000003FF00FF80000003FF00000000E00FF80000000000000 -00FFFFFFFE00001E0F0007F8000000000FF007F8000001FF000000000FF000000000000007C00000 -00000000000F0000000000007FE00E03C00FF8000000000003E000000000000000007FF00FF00000 -003FF00000001E00FF80000000000000007FFFFFFC00000FFE000FF8000000000FF007F8000001FE -000000000FF00000000000000FC000000000000000078000000000001FFE1E03C0FFE00000000000 -07C000000000000000007FF00FF00000003FF00000001C01FF80000000000000003FFFFFF8000007 -F8000FF8000000000FF007F8000001FE000000001FF00000000000000FC00000000000000003C000 -0000000003FFFE03FFFF000000000000078000000000000000007FE00FF00000003FF00000001C01 -FF80000000000000001FFFFFF000000000000FF8000000000FF00FF8000001FE000000001FF00000 -000000000FC00000000000000001E00000000000007FFE03FFF80000000000000F00000000000000 -00007FE00FF00000003FF00000003801FF80000000000000001FFFFFF000000000000FF800000000 -0FF00FF8000001FE000000001FF00000000000000FC00000000000000001F00000000000000FFF03 -FFC00000000000001E000000000000000000FFE00FF00000003FF00000007801FF80000000000000 -000FFFFFE000000000000FF8000000000FF00FF8000001FE000000001FE00000000000000FC00000 -000000000000F800000000000000FF03F0000000000000003C000000000000000000FFE00FF00000 -007FF00000007001FF000000000000000007FFFFC000000000000FF8000000000FF00FF8000001FE -000000001FE00000000000000FC0000000000000000078000000000000000F078000000000000000 -7C000000000000000000FFE007F80000007FF0000000E001FF000000000000000007FFFF80000000 -00000FF8000000000FF00FF8000001FE000000001FE00000000000000FC000000000000000003C00 -00000000000007078000000000000000F8000000000000000001FFC007F8000000FFF8000001E003 -FF000000000000000003FFFF8000000000000FF0000000000FF00FFC000001FE000000001FE00000 -000000000FC000000000000000001E0000000000000007070000000000000001F000000000000000 -0001FFC007FC000001FFFC000003C003FF000000000000000001FFFF0000000000000FF000000000 -0FF00FFFFC0001FE000000001FE00000000000000FC000000000000000000F000000000000000787 -0000000000000003E0000000000000000001FFC003FE000003FFFC0000078003FF00000000000000 -0001FFFE0000000000000FF0000000000FF00FFFFFFFC1FE000000001FE00000000000000FC00000 -0000000000000F80000000000000078F0000000000000007C0000000000000000003FF8003FF0000 -0FE7FE00000F0003FF000000000000000000FFFE0000000000000FF0000000000FF00FFFFFFFF1FE -000000001FE00000000000000FC0000000000000000007C0000000000000078F0000000000000007 -80000000000000000003FF8001FFC0001F03FF00001E0003FE0000000000000000007FFC00000000 -00000FF0000000000FF00FFFFFFFFBFE000000001FE00000000000000FC0000000000000000001E0 -000000000000078F000000000000001F80000000000000000003FE0000FFF800FE00FFC000780007 -FC0000000000000000007FF80000000000000FE0000000000FE00FFFFFFFFFFE000000001FC00000 -000000000FC0000000000000000001F0000000000000078E000000000000001E0000000000000000 -0003FC00007FFFFFF0007FF001F00007F80000000000000000003FF000000000000007E000000000 -0FE00FFFFFFFFFFC000000001FC00000000000000FC0000000000000000000FC000000000000038E -000000000000003C00000000000000000003E000001FFFFFC0001FFE0FE00007E000000000000000 -00000FC000000000000007C0000000000FC007FFFFFFFFFC000000000F800000000000000FC00000 -000000000000007E000000000000038E00000000000000F80000000000000000000000000007FFFE -000007FFFF000007C0000000000000000000000000000000000001800000000007800387FFFFFCF8 -0000000006000000000000000FC00000000000000000003F000000000000038E00000000000001F0 -0000000000000000000000000000FFF0000000FFF800000780000000000000000000000000000000 -000000000000000000000001FFFFF8000000000000000000000000000FC00000000000000000001F -80000000000003CE00000000000003E0000000000000000000000000000000000000000000000006 -0000000000000000000000000000000000000000000000000000000003FFE0000000000000000000 -000000000FC000000000000000000007C0000000000003FE0000000000000FC00000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC000000000000000000003F0000000000001FC -0000000000001F000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -0000000000000001F8000000000001FC0000000000003E0000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC0000000000000000000007E00000000000070000000000000FC00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -1F00000000000000000000000001F000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000F80000000000000000000000007E0000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC00000000000000000000003E0000000000000 -00000000001F80000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -000000000000000001F800000000000000000000007E000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000007E0000000000000000000000FC0000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -001F8000000000000000000003F00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000FE00000000000000000000FE000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003F80000000000 -000000003F8000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000FE000000000000000001FF00000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000003FE00000000000000007F8000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000FF0000000000000001FF0000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000001FF00000000000000FF800000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000007FC0000000 -00001FFE000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000FFE0000000000FFF00000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000001FFF80000003FFF8000000000 -000000000000000000000007C0000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -000000001FFFF9C0FFFFFC0000000000000000000000000003C0001FF07FE1C063FFC30083FE0000 -000FE01FF000FF0000020007F010700E00001F00100000000F800F803F801FE03FC0FF80FE01FC00 -000000000FC0000000000000000000000000000001FFFFFFFFFF8000000000000000000000000000 -07E0003FF8FFF3E0F3FFE781C7FF1E1E003FF07FF801FFC3800FFE1FF87FF87FE0E07FC03E038000 -1FF87FF07FE03FF07FF1FFE3FF03FE00000000000FC00000000000000000000000000000001FFFFF -FFF0000000000000000000000000000007E0007FFCFFF3F0F3FFE781E7FF9E1E007FF87FF803FFE7 -801FFE3FFC7FFCFFF0F1FFE03E0780003FFC7FF8FFF07FF8FFF9FFE3FF87FF00000000000FC00000 -00000000000000000000000000003FFFF00000000000000000000000000000000FF000FFFFFFE3F8 -F1FFC781E7FFDF3E00FFFC7FF003FFC7801FFC3FFE7FF8FFF9F3FFF07F07C0003FFEFFF9FFF8FFFC -FFF9FFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000FF000FC3FFF03F8F07F07C3EFEFCFFE00F87E7E0003F007801F807C3E0FC0FC -F9F3E1F07F07C0003F3FFFFFF9FCF87CFCF9F807E7CFCF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000000FF000F818FF83FCF03E0783EFC7CFFC -00F83E7C0003F007801F00780C07C0F8F9F7E060FF0780003E1FFC7FF07DF818FCFFF807E18FC000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -1FF801F800FFE3FFF03E0783EFEFC7FC01F01FFFC003FF87801FF8780007C0F8F9F7C000FF878000 -3E3FFCFFE07FF000FFFBFF87FC0FF800000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000001FF801F000FFE3FFF03E0783EFFF87F801F01F7FE003FFC7 -801FFCF8000780FFF9FFC000FF87C0003FFFFFFFE07FF0F8FFF9FFC3FF0FFE00000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000003FF801F000FFE3FF -F03E07C3EFFF83F801F01E7FF003FFC7801FFCF8000780FFF1FFC001FF87C0003FFEFFFFE03FF0FC -FFF9FFC1FF87FF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000003FFC00F000FFC3FFF03E07C3EFFF83F001F01F7FE003FF87801FFCF8000780FF -F1FFC001FFC7C0003FFCFFFFE07FF1FEFFF9FF80FFC1FF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000003FFC00F809FC03FFF03E07C3EFFF83F0 -00F01F7E0003F007801F80F8000780FFF8FFC003FFC7C0003FF8FFFFE07FF0FEFFF9F8001FC0FF80 -000000000FE000000000000000000000000000000000000000000000000000000000000000000000 -7FFC00F81FFC03EFF03E07C3EFC7C1F000F83EFC0003F007C01F00780C07C0FDF8F3C063FFC7C000 -3FC0FDFFE07DF87EFDF9F0070FC41F80000000000FE0000000000000000000000000000000000000 -000000000000000000000000000000007FFE00FC3FFC03E7F03E07C3EF87C1F000F87E7C0003F007 -C01F007C1E0780F8F9F3E0F3FFE7C0003F00F87FF0FCF87EF8FBF00787CF8F80000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000007FFE007FFFFFF3E3 -F03E07E7EF87C1E0007FFC780003FFC7FE1FF87E3E07C0F879F3F3F7FFE7FF003E00F87FFFF8FFFE -F87FFFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000007C7E007FFCFFF3E3F03E03FFC783C1E0007FF8780001FFE7FF9FFE3FFE0780F8 -78F1FFE7C3E7FF803E00F87CFFF87FFEF87FFFE7FFCFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000783E001FF8FFF3C1F01C01FFC78381E0 -003FF8780001FFE7FF9FFE1FFC0780F078F0FFE7C1E7FF801E00783C7FF03FFCF079FFE3FF87FF00 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -301C000FF07FF180F01C00FF030100E0001FE0300000FFC3FF1FFE0FF803007030607FC380C3FF00 -1C0070383FE01FFC6010FFC1FF03FE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000040000000000003800000000000 -00006003E000000000001F00000000000000000007800380000000003800F000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFFFF39CF800008008087C0000000000000000000000000000000000000000200000000 -0000000000000E01EFFDFFFFFFFFFE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC00000 -0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFF00000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00 -0000000007C000000000000000000000000000000000000000000000000000000000000000000000 -1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFE7FF8000000000000180000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000001000000000 -000018000000000000000000000000200010003C0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 ->}imagemask -showpage -%%EndDocument - -266 2225 a - texgraph restore -599 441 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -599 441 a - grestore -267 723 1418 2 v 350 780 a Fr(The)j Fp(\\hrule)e Fr(commands)f(w)o(ere)k(put) -e(in)g(to)h(sho)o(w)f(ho)o(w)g(m)o(uc)o(h)f(space)j(w)o(as)e(left)g(b)o(y)267 -830 y(T)290 839 y(E)313 830 y(X)o(Graph.)i(A)10 b(sligh)o(tly)f(more)h -(complicated)f(example)g(illustrating)g(b)q(oth)i(rotation)e(and)267 -880 y(scaling)k(is)h(giv)o(en)f(b)q(elo)o(w.)p 267 944 V 863 -944 a - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -863 944 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -976 986 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr /XposR Xp1 def /YposR Yp1 def Xp1 neg Yp1 neg tr end -863 944 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -596 1479 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -596 1479 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs XposR YposR tr 45 neg rt XposR neg YposR neg tr Xp1 Yp1 tr .3 .3 sc 4.17 -4.17 scale end /texgraph save def /showpage {} def -609 1479 a -%%BeginDocument: ieeelogo.ps -0.240000 0.240000 scale -896 1509 translate -768 282 scale -768 282 true [768 0 0 -282 0 282] {< -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000700000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000001C000000000000000000000000000000000000000000000000000000000000000000F800000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000FF00000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000001FF800000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000003FFC00000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000007FFE000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000FFFF00000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000001FFFF0000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000003FFFF80000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000003FFFFC0000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000007FFFFE00000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000FFFFFE0000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000001FFFFFF000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000001FFFFFF8000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000003FFFFFF8000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000007FFFFFFC0000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00FFFFFFFE000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000001FFFFFFFF00000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000001FFFFFFFF800000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000003FFFFFFFF800000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000007FFFFFFFFC000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0FFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000001FFFFFFFFFE0000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFF00000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000003FFFFFFFFFF80000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000003FFFFFFFFFFC00000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFE0000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFF000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFFFF0000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000003FFFFFFFFFFFF8000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000007FFFFFFFFFFFFC0000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000007 -FFFFFC1FFFFFE000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000FFFFFE003FFFFF00000000000000000000000000000000000 -0000000000000000000000001FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000001FFFFF8000FFFFF000 -000000000000000000000000000000000000000000000000000000001FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000003FFFFF03E03FFFF800000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000007FFFFC1FFC1FFFFC000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000FF -FFF87FFF07FFFE00000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000001FFFFE0FFFF83FFFF0000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000003FFFFC3FFFFE1FFFF80 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000007FFFF07FFFFF07FFFC0000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000007FFFE1FFFFFFC3FFFE00000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000001FFF -F83FFFFFFE1FFFE0000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000001FFFF07FFFFFFF07FFF000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000003FFFF0FFFFFFFF83FFF8 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000007FFFC3FFFFFFFFC1FFFC000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000FFFF87FFFFFFFFF0FFFE0000000000000000 -00000000000000000000000000000000000000000FC000000000000000000000000000000007FFFF -F800000000000000000000000000000000000000000000000000000000000000000000000001FFFF -0FFFFFFFFFF87FFF000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000001FFFFFFFFFC00000000000000000000000000000000000000000000 -0000000000000000000000000003FFFE1FFFFFFFFFF81FFF80000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000000000000FFFFFFFFFFF800000000000 -000000000000000000000000000000000000000000000000000000000007FFFC3FFFFFFFFFFE0FFF -C00000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000FFFFFF83FFFFF80000000000000000000000000000000000000000000000000000000000 -00000000000FFFF0FFFFFFFFFFFF07FFE00000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000000007FFF8000000FFFF00000000000000000000000000 -0000000000000000000000000000000000000000001FFFE1FFFFFFFFFFFF83FFF000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000003FFE000000 -0003FFE00000000000000000000000000000000000000000000000000000000000000000003FFFC3 -FFFFFFFFFFFFC1FFF80000000000000000000000000000000000000000000000000000000FC00000 -0000000000000000000000FFE000000000003FFC0000000000000000000000000000000000000000 -000000000000000000000000007FFF87FFFFFFFFFFFFE0FFFC000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000FFE00000000000007FF00000000 -0000000000000000000000000000000000000000000000000000000000FFFF0FFFFFFFFFFFFFF87F -FE0000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00001FF0000000000000007FC0000000000000000000000000000000000000000000000000000000 -0000000001FFFC3FFFFFFFFFFFFFFC3FFF0000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000000FF80000000000000000FF80000000000000000000000 -000000000000000000000000000000000000000003FFF87FFFFFFFFFFFFFFE0FFF80000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003FE0000000000 -00000003FE0000000000000000000000000000000000000000000000000000000000000007FFF0FF -FFFFFFFFFFFFFF07FF8000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000007F80000000000000000007F80000000000000000000000000000000000000 -0000000000000000000000000FFFF1FFFFFFFE7FFFFFFF83FFC00000000000000000000000000000 -0000000000000000000000000FC000000000000000000000001FC00000000000000000001FC00000 -000000000000000000000000000000000000000000000000000000001FFFE3FFFFFFFC7FFFFFFFE1 -FFE000000000000000000000000000000000000000000000000000000FC000000000000000000000 -003F0000000000000000000007F80000000000000000000000000000000000000000000000000000 -000000003FFFC7FFFFFFFC3FFFFFFFE0FFF000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000780000000000000000000001FC00000000000000000000 -00000000000000000000000000000000000000007FFF9FFFFFFFFC3FFFFFFFF07FFC000000000000 -00000000000000000000000000000000000000000FC00000000000000000000000C0000000000000 -00000000007F000000000000000000000000000000000000000000000000000000000000FFFE3FFF -FFFFF81FFFFFFFFC3FFE00000000000000000000000000000000000000000000000000000FC00000 -0000000000000000078000000000000000000000001F800000000000000000000000000000000000 -000000000000000000000001FFFC7FFFFFFFF81FFFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC0000000000000000000000E00000000000000000000000007E000 -00000000000000000000000000000000000000000000000000000003FFF8FFFFFFFFF00FFFFFFFFF -0FFF80000000000000000000000000000000000000000000000000000FC000000000000000000000 -3C00000000000000000000000003F000000000000000000000000000000000000000000000000000 -0000000FFFF1FFFFFFFFF00FFFFFFFFF87FFC0000000000000000000000000000000000000000000 -000000000FC0000000000000000000007800000000000000000000000000F8000000000000000000 -000000000000000000000000000000000000001FFFE3FFFFFFFFF00FFFFFFFFFC3FFE00000000000 -00000000000000000000000000000000000000000FC000000000000000000001F0000000000003FF -FC00000000007E000000000000000000000000000000000000000000000000000000003FFFC7FFFF -FFFFE007FFFFFFFFE1FFF0000000000000000000000000000000000000000000000000000FC00000 -0000000000000003C000000000003FFFFFC0000000003F0000000000000000000000000000000000 -00000000000000000000007FFF8FFFFFFFFFE007FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC000000000000000000007800000000000FFFFFFF0000000000F80 -000000000000000000000000000000000000000000000000000000FFFF9FFFFFFFFFE007FFFFFFFF -F87FFC000000000000000000000000000000000000000000000000000FC00000000000000000001F -000000000007FFFFFFF80000000007C0000000000000000000000000000000000000000000000000 -000001FFFE3FFFFFFFFFE003FFFFFFFFF83FFE000000000000000000000000000000000000000000 -000000000FC00000000000000000003C00000000000FFFFFFFF80000000003F00000000000000000 -00000000000000000000000000000000000003FFFC7FFFFFFFFFC003FFFFFFFFFC1FFF0000000000 -00000000000000000000000000000000000000000FC00000000000000000007800000000001FFFFF -FFF80000000000F8000000000000000000000000000000000000000000000000000007FFF8FFFFFF -FFFFC001FFFFFFFFFE0FFF800000000000000000000000000000000000000000000000000FC00000 -00000000000000F000000000003FFFFFFF8000000000007C00000000000000000000000000000000 -000000000000000000000FFFF1FFFFFFFFFF8001FFFFFFFFFF07FFE0000000000000000000000000 -0000000000000000000000000FC0000000000000000001E000000000007FFFFFF80000000000003E -00000000000000000000000000000000000000000000000000001FFFE3FFFFFFFFFF8001FFFFFFFF -FF87FFE00000000000000000000000000000000000000000000000000FC0000000000000000003C0 -0000000000FFFFFFE00000000000001F000000000000000000000000000000000000000000000000 -00003FFFC7FFFFFFFFFF8000FFFFFFFFFFC3FFF80000000000000000000000000000000000000000 -000000000FC0000000000000000007800000000001FFFFFF800000000000000F8000000000000000 -0000000000000000000000000000000000007FFF8FFFFFFFFFFF0000FFFFFFFFFFE1FFFC00000000 -00000000000000000000000000000000000000000FC000000000000000000F000000000003FFFFFF -0000000000000007C000000000000000000000000000000000000000000000000001FFFF1FFFFFFF -FFFF0000FFFFFFFFFFF0FFFE0000000000000000000000000000000000000000000000000FC00000 -0000000000001C000000000007FFFFFC0000000000000003E0000000000000000000000000000000 -00000000000000000003FFFE3FFFFFFFFFFF00007FFFFFFFFFFC7FFF000000000000000000000000 -0000000000000000000000000FC000000000000000003C000000000007FFFFFC0000000000000001 -F000000000000000000000000000000000000000000000000007FFFC7FFFFFFFFFFE00007FFFFFFF -FFFC3FFF8000000000000000000000000000000000000000000000000FC000000000000000007800 -000000000FFFFFFC0000000000000000F80000000000000000000000000000000000000000000000 -000FFFF87FFFFFFFFFFE00007FFFFFFFFFFE1FFFC000000000000000000000000000000000000000 -000000000FC00000000000000000F000000000000FFFFFFFC0000000000000007800000000000000 -00000000000000000000000000000000003FFFF0FFFFFFFFFFFE00003FFFFFFFFFFF0FFFF0000000 -00000000000000000000000000000000000000000FC00000000000000001E000000000000FFFFFFF -FF000000000000003C0000000000000000000000000000000000000000000000007FFFF1FFFFFFFF -FFFC00003FFFFFFFFFFF87FFF800000000000000000000000000000000000000000000000FC00000 -000000000001C000000000001FFFFFFFFFF00000000000001E000000000000000000000000000000 -000000000000000000FFFFC3FFFFFFFFFFFC00003FFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC000000000000000038000000000001FFFFFFFFFFE000000000000 -0F000000000000000000000000000000000000000000000001FFFF87FFFFFFFFFFFC00003FFFFFFF -FFFFE3FFFE00000000000000000000000000000000000000000000000FC000000000000000078000 -000000003FFFFFF00FFFC00000000000070000000000000000000000000000000000000000000000 -03FFFF8FFFFFFFFFFFFC00003FFFFFFFFFFFF1FFFF80000000000000000000000000000000000000 -000000000FC0000000000000000F0000000000007FFFFFF0007FF000000000000780000000000000 -000000000000000000000000000000000FFFFF1FFFFFFFFFFFFF0000FFFFFFFFFFFFF0FFFFC00000 -00000000000000000000000000000000000000000FC0000000000000001E000000000001FFFFFFF0 -000FFC000000000003C0000000000000000000000000000000000000000000001FFFFE1FFFFFFFFF -FFFFC003FFFFFFFFFFFFF87FFFE0000000000000000000000000000000000000000000000FC00000 -00000000001C000000000007FFFFFFF00000FF000000000001E00000000000000000000000000000 -00000000000000003FFFFC3FFFFFFFFFFFFFE00FFFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC0000000000000003C00000000001FFFFFFFF000003F8000000000 -01F0000000000000000000000000000000000000000000007FFFF87FFFFFFFFFFFFFF00FFFFFFFFF -FFFFFE1FFFF8000000000000000000000000000000000000000000000FC000000000000000380000 -0000003FFFFFFFF800000FE00000000000F000000000000000000000000000000000000000000000 -FFFFF8FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF1FFFFC000000000000000000000000000000000000 -000000000FC000000000000000700000000000FF1FFFFFF8000003F8000000000078000000000000 -00000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF0FFFFF0000 -00000000000000000000000000000000000000000FC000000000000000F00000000001F81FFFFFFC -000000FE00000000007C00000000000000000000000000000000000000000007FFFFE3FFFFFFFFFF -FFFFF00FFFFFFFFFFFFFFF87FFFF800000000000000000000000000000000000000000000FC00000 -0000000000E00000000007F00FFFFFFC0000003F00000000003C0000000000000000000000000000 -000000000000000FFFFFC7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFC3FFFFC0000000000000000000 -0000000000000000000000000FC000000000000001E0000000000FC00FFFFFFE0000001F80000000 -001E0000000000000000000000000000000000000000003FFFFF87FFFFFFFFFFFFFFF00FFFFFFFFF -FFFFFFE3FFFFF00000000000000000000000000000000000000000000FC000000000000003C00000 -00001F8007FFFFFF00000007C0000000000E0000000000000000000000000000000000000000007F -FFFF8FFFFFFFFFFBFFFFF00FFFFFFFFFFFFFFFF1FFFFF80000000000000000000000000000000000 -000000000FC00000000000000380000000003E0007FFFFFF80000003F0000000000F000000000000 -000000000000000000000000000001FFFFFF1FFFFFFFFFC03FFFF00FFFFFFFFFFFFFFFF0FFFFFE00 -00000000000000000000000000000000000000000FC0000000000000078000000000FC0007FFFFFF -C0000000F80000000007800000000000000000000000000000000000000003FFFFFF3FFFFFFFFE00 -0FFFF00FFFFBFFFFFFFFFFF87FFFFF0000000000000000000000000000000000000000000FC00000 -000000000F0000000001F00003FFFFFFF00000007C00000000078000000000000000000000000000 -0000000000000FFFFFFC7FFFFFFFF80007FFF00FFFF01FFFFFFFFFFC7FFFFFC00000000000000000 -0000000000000000000000000FC00000000000000E0000000003E00001FFFFFFFC0000003E000000 -0003C0000000000000000000000000000000000000001FFFFFF8FFFFFFFFE00003FFF00FFFF001FF -FFFFFFFE3FFFFFE000000000000000000000000000000000000000000F800000000000001E000000 -0007E00001FFFFFFFE0000000F0000000001C0000000000000000000000000000000000000007FFF -FFF9FFFFFFFF800007FFF00FFFF0007FFFFFFFFF1FFFFFF800000000000000000000000000000000 -000000000F800000000000001E000000000F800000FFFFFFFF800000078000000001E00000000000 -0000000000000000000000000000FFFFFFF1FFFFFFFE00001FFFF00FFFF8003FFFFFFFFF0FFFFFFC -00000000000000000000000000000000000000000FC00000000000003C000000001F0000007FFFFF -FFC0000003C000000001E000000000000000000000000000000000000003FFFFFFE3FFFFFFFC0000 -7FFFF00FFFFFF83FFFFFFFFF8FFFFFFE00000000000000000000000000000000000000000FC00000 -0000000038000000003E0000003FFFFFFFE0000001E000000000F000000000000000000000000000 -000000000007FFFFFFE3FFFFFFF80003FFFFF00FFFFFFE1FFFFFFFFFC7FFFFFF8000000000000000 -0000000000000000000000000FC000000000000078000000007C0000001FFFFFFFF0000000F00000 -0000700000000000000000000000000000000000000FFFFFFFC7FFFFFFF00007FFFFF00FFFFFFF07 -FFFFFFFFC3FFFFFFC0000000000000000000000000000000000000000FC000000000000070000000 -007800000007FFFFFFF80000007800000000780000000000000000000000000000000000000FFFFF -FF87FFFFFFE0000FFFFFF00FFFFFFFC3FFFFFFFFE3FFFFFFE0000000000000000000000000000000 -000000000FC0000000000000F000000000F000000003FFFFFFFC0000007800000000780000000000 -000000000000000000000000001FFFFFFF8FFFFFFFE0003FFFFFF00FFFFFFFE1FFFFFFFFE1FFFFFF -F0000000000000000000000000000000000000000FC0000000000000F000000000F000000001FFFF -FFFE0000003C000000003C0000000000000000000000000000000000001FFFFFFF8FFFFFFFC0007F -FFFFF00FFFFFFFE0FFFFFFFFF1FFFFFFF8000000000000000000000000000000000000000FC00000 -00000000E000000001E0000000007FFFFFFF0000001E000000003C00000000000000000000000000 -00000000003FFFFFFF8FFFFFFFC0007FFFFFF00FFFFFFFF07FFFFFFFF1FFFFFFF800000000000000 -0000000000000000000000000FC0000000000001E000000003C0000000001FFFFFFF0000000F0000 -00001C0000000000000000000000000000000000003FFFFFFF0FFFFFFFC0007FFFFFF00FFFFFFFF0 -7FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC0000000000001E0000000 -03C00000000007FFFFFF0000000F800000001E0000000000000000000000000000000000001FFFFF -FF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000 -000000000FC0000000000001C000000007800000000001FFFFFF80000007800000001E0000000000 -000000000000000000000000001FFFFFFF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFF -F8000000000000000000000000000000000000000FC0000000000003C00000000F0000000000007F -FFFF80000003C00000000E0000000000000000000000000000000000001FFFFFFF0FFFFFFFC0007F -FFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC00000 -00000003800000000E0000000000003FFFFFC0000003C00000000F00000000000000000000000000 -00000000000FFFFFFF8FFFFFFFE0007FFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF800000000000000 -0000000000000000000000000FC0000000000003800000001E0000000000000FFFFFC0000001E000 -0000070000000000000000000000000000000000000FFFFFFF87FFFFFFE0007FFFFFF00FFFFFFFE0 -7FFFFFFFF1FFFFFFF0000000000000000000000000000000000000000FC000000000000780000000 -1C00000000000007FFFFC0000001E00000000700000000000000000000000000000000000007FFFF -FF87FFFFFFF0003FFFFFF00FFFFFFFC0FFFFFFFFE1FFFFFFF0000000000000000000000000000000 -000000000FC0000000000007000000003C00000000000003FFFFC0000000F0000000078000000000 -0000000000000000000000000003FFFFFFC7FFFFFFF8001FFFFFE00FFFFFFF81FFFFFFFFE3FFFFFF -E0000000000000000000000000000000000000000FC0000000000007000000007800000000000003 -FFFFE0000000700000000380000000000000000000000000000000000000FFFFFFC3FFFFFFFC000F -FFFFF00FFFFFFF03FFFFFFFFE3FFFFFFC0000000000000000000000000000000000000000FC00000 -00000007000000007800000000000001FFFFE0000000780000000380000000000000000000000000 -0000000000007FFFFFE1FFFFFFFF0007FFFFF00FFFFFFC07FFFFFFFFC7FFFFFF0000000000000000 -0000000000000000000000000FC000000000000E000000007000000000000001FFFFE00000003800 -000003C00000000000000000000000000000000000003FFFFFF1FFFFFFFFC000FFFFF81FFFFFF01F -FFFFFFFF87FFFFFC00000000000000000000000000000000000000000FC000000000000E00000000 -F000000000000000FFFFE00000003C00000003C00000000000000000000000000000000000000FFF -FFF8FFFFFFFFF0003FFFFFFFFFFF807FFFFFFFFF8FFFFFF800000000000000000000000000000000 -000000000FC000000000000E00000000F000000000000000FFFFC00000001C00000003C000000000 -000000000000000000000000000007FFFFF87FFFFFFFFE0007FFFFFFFFF801FFFFFFFFFF0FFFFFE0 -00000000000000000000000000000000000000000FC000000000001E00000001E000000000000000 -7FFFC00000001E00000003E000000000000000000000000000000000000001FFFFFC3FFFFFFFFF80 -000FFFFFFF801FFFFFFFFFFE1FFFFFC000000000000000000000000000000000000000000FC00000 -0000001E00000001E0000000000000007FFFC00000001FFFFFFFFFE0000000000000000000000000 -00000000000000FFFFFE3FFFFFFFFFF80000001F8001FFFFFFFFFFFC3FFFFF000000000000000000 -0000000000000000000000000FC000000000001C00000001C0000000000000007FFFC00000001FFF -FFFFFFC0000000000000000000000000000000000000007FFFFF1FFFFFFFFFFF80000000000FFFFF -FFFFFFFC7FFFFE0000000000000000000000000000000000000000000FC000000000001C00000003 -C0000000000000007FFF8000000003FFFFFFFF80000000000000000000000000000000000000001F -FFFF8FFFFFFFFFFFFE00000003FFFFFFFFFFFFF87FFFFC0000000000000000000000000000000000 -000000000FC000000000001C0000000380000000000000007FFF8000000000000000000000000000 -0000000000000000000000000000000FFFFF87FFFFFFFFFFFFFE0003FFFFFFFFFFFFFFF0FFFFF800 -00000000000000000000000000000000000000000FC000000000003C000000038000000000000000 -7FFF800000000000000000000000000000000000000000000000000000000007FFFFC3FFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFE1FFFFE00000000000000000000000000000000000000000000FC00000 -000000380000000780000000000000007FFF80000000000000000000000000000000000000000000 -0000000000000003FFFFE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3FFFFC0000000000000000000 -0000000000000000000000000FC00000000000380000000780000000000000007FFF000000000000 -000000000000000000000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFC7FFFF800000000000000000000000000000000000000000000FC000000000003800000007 -0000000000000000FFFE000000000000000000000000000000000000000000000000000000000000 -7FFFF0FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFF87FFFF000000000000000000000000000000000000 -000000000FC0000000000038000000070000000000000000FFFC0000000000000000000000000000 -000000000000000000000000000000003FFFF8FFFFFFFFFFFFFFE00FFFFFFFFFFFFFFF0FFFFC0000 -00000000000000000000000000000000000000000FC0000000000038000000070000000000000000 -FFF80000000000000000000000000000000000000000000000000000000000001FFFFC7FFFFFFFFF -FFFFE007FFFFFFFFFFFFFE1FFFF8000000000000000000000000000000000000000000000FC00000 -00000078000000070000000000000001FFF800000000000000000000000000000000000000000000 -00000000000000000FFFFE3FFFFFFFFFFFFFE007FFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC00000000000780000000F0000000000000001FFF0000000000000 -00000000000000000000000000000000000000000000000007FFFE1FFFFFFFFFFFFFE007FFFFFFFF -FFFFFC3FFFE0000000000000000000000000000000000000000000000FC00000000000300000000E -0000000000000003FFE0000000000000000000000073C00000000000000000000000000000000000 -01FFFF0FFFFFFFFFFFFFC007FFFFFFFFFFFFF87FFF80000000000000000000000000000000000000 -000000000FC00000000000700000000E0000000000000003FF80000000000381FFF81FFF83FFF000 -0000000000000000000000000000000000FFFF87FFFFFFFFFFFFC007FFFFFFFFFFFFF0FFFF000000 -00000000000000000000000000000000000000000FC00000000000700000000E0000000000000007 -FF000000000007C1FFFC3FFF87FFF00000000000000000000000000000000000007FFFC3FFFFFFFF -FFFFC007FFFFFFFFFFFFE1FFFE00000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000000000FFC000000000007C3FFFC3FFF87FFF0000000000000000000 -0000000000000000003FFFE1FFFFFFFFFFFFC003FFFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000000001FF000000000000FE3 -FFF87FFF87FFC00000000000000000000000000000000000000FFFF0FFFFFFFFFFFFC003FFFFFFFF -FFFF87FFF000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000000003FE0000000000007E3FF807F8007F0000000000000000000000000000000000000 -0007FFF87FFFFFFFFFFFC007FFFFFFFFFFFF0FFFE000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000000E7FFFE0000000000007E3F0007F0007E00000 -000000000000000000000000000000000003FFFC7FFFFFFFFFFFC003FFFFFFFFFFFF1FFFC0000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE0000000000FE3F0007F0007E00000000000000000000000000000000000000001FFFE1FFFFFFF -FFFFC003FFFFFFFFFFFE3FFF8000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000003FFFFFFFF0000000000FE3FC007FC007FF00000000000000000000 -000000000000000000007FFF0FFFFFFFFFFFC003FFFFFFFFFFF87FFE000000000000000000000000 -0000000000000000000000000FC00000000000700000001E00000000003E071E7FF0000000000FE3 -FFF87FFF07FFE0000000000000000000000000000000000000007FFF87FFFFFFFFFFC003FFFFFFFF -FFF8FFFC0000000000000000000000000000000000000000000000000FC00000000000700000001E -00000000001E000000F0000000000FE3FFF87FFF87FFF00000000000000000000000000000000000 -00001FFF83FFFFFFFFFFC003FFFFFFFFFFE1FFF80000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000001FFFFFFFF00000000007E3FFFC7FFF87FFE000 -0000000000000000000000000000000000000FFFE3FFFFFFFFFFC003FFFFFFFFFFC3FFF000000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE00000000007E3FFF87FFF07FFE00000000000000000000000000000000000000007FFE1FFFFFF -FFFFC003FFFFFFFFFFC7FFE00000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000000FFFFFFFE0000000000FE3FFE03FFC07FC00000000000000000000 -0000000000000000000003FFF0FFFFFFFFFFC003FFFFFFFFFF87FFC0000000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000007C0000FC00000000007E3 -F8003F0007E0000000000000000000000000000000000000000001FFF87FFFFFFFFFC003FFFFFFFF -FF0FFF800000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000003C00007800000000007E3F8007F0007E0000000000000000000000000000000000000 -000000FFFC3FFFFFFFFFC003FFFFFFFFFE1FFF000000000000000000000000000000000000000000 -000000000FC00000000000700000000E000000000003C00007800000000007E3F8007F0007E00000 -000000000000000000000000000000000000007FFE1FFFFFFFFFC003FFFFFFFFFC3FFE0000000000 -00000000000000000000000000000000000000000FC00000000000700000000E000000000003C000 -07000000000007E3F8003F8007F00000000000000000000000000000000000000000003FFF0FFFFF -FFFF8003FFFFFFFFF87FFC000000000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000003C00007000000000007E3FFF83FFF87FFF0000000000000000000 -00000000000000000000001FFF87FFFFFFFF8003FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC00000000000780000000E000000000003C00007000000000007E3 -FFFC3FFF87FFF800000000000000000000000000000000000000000FFFC3FFFFFFFFC003FFFFFFFF -E1FFF0000000000000000000000000000000000000000000000000000FC00000000000780000000E -000000000003C00007000000000007E3FFFC3FFF87FFF80000000000000000000000000000000000 -00000007FFE1FFFFFFFFC003FFFFFFFFC3FFE0000000000000000000000000000000000000000000 -000000000FC00000000000780000000E000000000001C00007000000000007C1FFFC3FFF83FFF000 -0000000000000000000000000000000000000003FFF0FFFFFFFFC003FFFFFFFF87FFC00000000000 -00000000000000000000000000000000000000000FC000000000007800000006000000000001C000 -0700000000000381FFF81FFF00FF80000000000000000000000000000000000000000001FFF87FFF -FFFF8003FFFFFFFF0FFF80000000000000000000000000000000000000000000000000000FC00000 -0000003800000007000000000001C00007000000000000000000000000000000000000000E000000 -000000000000000000000000FFFC3FFFFFFF8003FFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC000000000003800000007000000000001C0000700000000000000 -0000000000000000000000001F0000000000000000000000000000003FFE1FFFFFFF8003FFFFFFFC -3FFC00000003FFFF80000000000000000000000000000000000000000FC000000000003800000007 -000000000001C0000F000000000000000000000000000000000000003F000007E000000000000000 -000070001FFF07FFFFFF8003FFFFFFF87FF800000007FFFFE0000000FFFFE0000000000000000000 -000000000FC000000000003C00000007800000000001C0000E000000000000000000000000000000 -000000007E00007FFE000000FFF000000000F0000FFF83FFFFFFC003FFFFFFE0FFF00000000FFFFF -F8000001FFFFFC00000E000000000000000000000FC000000000003C00000003800000000001C000 -0E00000000000000000000000000000000000001FE0003FFFFC0000FFFFE00000001F00007FFE1FF -FFFFF007FFFFFFC1FFE0007800FFFFFFF8300001FFFFFE00003F000000700000000000000FC00000 -0000001C00000003800000000001C0000E00000000000000000000000000000000000003FE000FFF -87F0003FFE0780000003F00003FFF0FFFFFFFFFFFFFFFF83FFC000F801FFFFFFFCF8003FFFFFFF0E -003F000000F80000000000000FC000000000001C00000003C00000000000E0000E00000000000000 -000000000000000000000007FE001FFC01F8007FF001C0000007F00001FFF87FFFFFFFFFFFFFFF07 -FF8001FC03FFFFFFFFF8007FFFFFFF9F007F000001F80000000000000FC000000000001C00000001 -C00000000000E0000E00000000000000000000000000000000000007FC003FE0007C00FFC000E000 -000FF00000FFFC3FFFFFFFFFFFFFFE0FFF0003FC03FFFFFFFFFC00FFFFFFFFFF807F800001FC0000 -000000000FC000000000001E00000001E00000000000E0000E000000000000000000000000000000 -0000000FFC007FC0003C01FF00007000000FE000007FFE1FFFFFFFFFFFFFFC3FFE0003FC07FDFFFF -FFFC00FFFFFFFFFF807F800003FC0000000000000FC000000000001E00000001E00000000000E000 -0C0000000000000000000000000000000000001FFC00FFC0001E03FE00007000001FE000003FFF0F -FFFFFFFFFFFFF07FFC0003FC07F8003FE7FC00FF3FFFFFFF00FF000003FC0000000000000FC00000 -0000000E00000000E00000000000E0001C00000000001FFFFFFEF000000000000000007FF800FF80 -001F07FC00003800003FE000001FFF83FFFFFFFFFFFFE0FFF80003FC07F8000007FC01FF001F7EFF -80FF000003F80000000000000FC000000000000E00000000F00000000000E0001C00000000001FFF -FFFFFF80000000000000007FF801FE00000F07FC00003800007FC000001FFFC1FFFFFFFFFFFFC1FF -F00003FC07F8000007FC01FF000000FF80FF000007F80000000000000FC000000000000E00000000 -700000000000E0001C00000000003FFFFFFFFF8000000000000000FFF803FE00000F8FF800001C00 -00FFC000000FFFE0FFFFFFFFFFFF83FFE00007FC0FF8000007F801FF000000FF80FF000007F80000 -000000000FC000000000000F00000000780000000000E0001C00000000007C00FFFFFFC000000000 -000001FFF003FC0000078FF000001C0001FF80000007FFF8FFFFFFFFFFFF07FFC00007FC0FF80000 -07FC01FF000000FF00FF000007F80000000000000FC0000000000007000000007800000000006000 -1C00000000007800000007C000000000000003FFF007F80000079FE000001C0003FF80000003FFF8 -3FFFFFFFFFFE0FFFC00007F80FF8000007F801FF000000FF00FF000007F80000000000000FC00000 -00000007000000003C000000000060001C00000000007800000007C000000000000007FFF007F800 -00079FE000001C0007FF80000001FFFE1FFFFFFFFFFC1FFF000007F80FF0000007F801FE000000FF -00FF000007F80000000000000FC0000000000007800000003C000000000070003C0000000000F000 -000003800000000000000FFFE007F80000079FE000001C000FFF00000000FFFF0FFFFFFFFFF83FFF -000007F80FF0000007F801FE000000FF00FF000007F80000000000000FC000000000000380000000 -1E00000000007000380000000000F000000007800000000000001FFFE007F0000007BFC000001C00 -1FFF000000007FFF87FFFFFFFFE0FFFE000007F80FF0000007F801FE000000FF00FF000007F80000 -000000000FC0000000000003800000001E00000000007000380000000001E0000000070000000000 -00003FFFE007F00000071FC000001C003FFF000000003FFFC1FFFFFFFFC1FFFC000007F80FF00000 -07F801FE000000FF00FF000007F80000000000000FC0000000000003C00000000F00000000007000 -380000000003E000000007000000000000007F9FE00FF000000F1FC000001C007FFE000000001FFF -F0FFFFFFFF87FFF8000007F80FF0000007F801FE000000FF01FF000007F00000000000000FC00000 -00000001C00000000700000000007000380000000003C00000000F00000000000000FF1FC00FF000 -000F1FC000001C01FFFE000000000FFFF87FFFFFFF0FFFF0000007F80FF000000FF801FE000000FF -01FE00000FF00000000000000FC0000000000001E000000007800000000070003800000000078000 -00000E00000000000001FE3FC007F000001E1FC000003C03F9FE0000000007FFFC3FFFFFFC1FFFE0 -000007F80FF000000FF801FE000001FF01FE00000FF00000000000000FC0000000000001E0000000 -03C000000000700038000000000F800000001E00000000000003FC3F8007F800003E1FC000007807 -F1FE0000000003FFFE0FFFFFF87FFFC0000007F80FF000000FF801FE000001FF01FE00000FF00000 -000000000FC0000000000000E000000001E000000000700078000000001F000000001C0000000000 -0007F87F8007F800007C0FE00000780FE3FC0000000001FFFF87FFFFE0FFFF80000007F80FF00000 -0FF001FE000001FE01FE00000FF00000000000000FC0000000000000F000000001E0000000003000 -70000000001E000000001C0000000000001FF07F8007FC0000FC0FE00001F01FC3FC0000000000FF -FFC1FFFFC1FFFF0000000FF00FF000000FF001FE000001FE01FE00000FF00000000000000FC00000 -000000007000000000F000000000380070000000003C000000003C0000000000003FE07F8003FE00 -01F80FF00003E07F83FC00000000007FFFF0FFFF07FFFE0000000FF00FF000000FF001FC000001FE -00FE00000FE00000000000000FC00000000000007800000000780000000038007000000000780000 -0000380000000000007FC0FF0003FF0007F007F80007E0FF07F800000000003FFFF83FFC0FFFFC00 -000007E007F000000FE001FC000001FE00FF00000FE00000000000000FC000000000000078000000 -003C0000000038007000000000F80000000078000000000001FF80FF0001FF803FE003FC001FC1FE -07F800000000001FFFFE07F03FFFF800000007C007FF00000FE001FE000001FC00FFFFFF8FC00000 -000000000FC00000000000003C000000001E0000000038007000000000F000000000700000000000 -03FF00FE0001FFFFFFE003FF807FC3FC07F800000000001FFFFF00007FFFF0000000000007FFFFFF -E7C001FFFFFFF1F8007FFFFFFF800000000000000FC00000000000003C000000001F000000003800 -7000000001E000000000F0000000000007FE01FE0001FFFFFFC003FFFFFF8FF80FF800000000000F -FFFFC001FFFFE0000000000003FFFFFFF80000FFFFFFFFE0007FFFFFF8000000000000000FC00000 -000000001E000000000F8000000038006000000003C000000000F0000000000007FE01FE0003FFFF -FFC003FFFFFFFFF00FF0000000000007FFFFF007FFFFE0000000000003FFFFFFFC0000FFFFFFFF80 -003FFFFFFC000000000000000FC00000000000001E0000000007C000000038006000000007800000 -0001E000000000001FFC03FE0007FFFFFFE007FFFBFFFFF01FF0000000000003FFFFFF3FFFFFC000 -0000000001FFFFFFFC0000FFFFFFFF80003FFFFFFC000000000000000FC00000000000000F000000 -0003E00000001800E00000000F0000000001E000000000003FF003FE000FFFF0FFE01FFF803FFFE0 -1FF0000000000001FFFFFFFFFFFF8003F000000001FFFFFFFC0000FFFFFFFF80001FFFFFFC000000 -000000000FC00000000000000F0000000001F00000001C00E00000003E0000000003C00000000000 -3FE003FC001FFFC007F83FFC001FFFC01FF0000000000001FFFFFFFFFFFF0007FC0000E000FFFFFF -FE0001FFFFFFFF80000FFFFFFFC00000000000000FC0000000000000078000000000780000001C00 -E00000007E0000000003C000000000001F0007FC003FFE0001FFFFF8000FFFC03FF0000000000000 -FFFFFFFFFFFE000FFE0001F0007FFFFFFFE003FFFFFFFFF80003FFFFFFE00000000000000FC00000 -000000000780000000007C0000001C00E0000000F80000000007800000000000000007FC007FF800 -007FFFE0001FFFC07FFC0000000000007FFFFFFFFFFE001FFF0003F0001FFFFFFFF003FFFFFFFFFC -000001840FF00000000000000FC000000000000003C0000000001E0000001C00E0000001F0000000 -000F000000000000000007F800FFE000003FFFC0003FFFFFFFFFFFF8000000003FFFFFFFFFFC001F -FF0007F80000000007F803FFFFFFFFFE000000000FF00000000000000FC000000000000001E00000 -00001F8000001C00E0000003F0000000000F00000000000000000FF801FFC000001FFF00007FFFFF -FFFFFFFC000000001FFFFFFFFFF80037FB8007F80000000007F807FE000000FE000000000FF00000 -000000000FC000000000000001E00000000007E000001C01C000000FC0000000001E000000000000 -00000FF803FF8000001FFF0000FFFFFFFFFFFFFC000000001FFFFFFFFFF00037F98007F800000000 -07F807FC000000FF000000000FF00000000000000FC000000000000000F00000000003F000001C01 -C000003F80000000001E00000000000000000FF803FF0000001FFE00007FFFFFFFF0000000000000 -0FFFFFFFFFE00037F98007F80000000007F807FC000001FF000000000FF00000000000000FC00000 -0000000000F00000000000FC00001E01C000007E00000000003C00000000000000001FF807FE0000 -001FFC0000007F80FFE000000000000007FFFFFFFFC00037F18007F8000000000FF807F8000001FF -000000000FF00000000000000FC0000000000000007800000000007F00000E01C00001F800000000 -007800000000000000001FF807FE0000001FFC0000001F00FFC000000000000007FFFFFFFF800037 -F18007F8000000000FF807F8000001FF000000000FF00000000000000FC0000000000000003C0000 -0000001FC0000E01C00007E000000000007800000000000000001FF007FC0000001FF80000001E00 -FFC000000000000003FFFFFFFF800030238007F8000000000FF807F8000001FF000000000FF00000 -000000000FC0000000000000001C00000000000FF0000E01C0001FC00000000000F0000000000000 -00003FF00FF80000003FF80000001E00FFC000000000000001FFFFFFFF000038070007F800000000 -0FF807F8000001FF000000000FF00000000000000FC0000000000000001E000000000001FE000E01 -C000FE000000000001E000000000000000003FF00FF80000003FF00000000E00FF80000000000000 -00FFFFFFFE00001E0F0007F8000000000FF007F8000001FF000000000FF000000000000007C00000 -00000000000F0000000000007FE00E03C00FF8000000000003E000000000000000007FF00FF00000 -003FF00000001E00FF80000000000000007FFFFFFC00000FFE000FF8000000000FF007F8000001FE -000000000FF00000000000000FC000000000000000078000000000001FFE1E03C0FFE00000000000 -07C000000000000000007FF00FF00000003FF00000001C01FF80000000000000003FFFFFF8000007 -F8000FF8000000000FF007F8000001FE000000001FF00000000000000FC00000000000000003C000 -0000000003FFFE03FFFF000000000000078000000000000000007FE00FF00000003FF00000001C01 -FF80000000000000001FFFFFF000000000000FF8000000000FF00FF8000001FE000000001FF00000 -000000000FC00000000000000001E00000000000007FFE03FFF80000000000000F00000000000000 -00007FE00FF00000003FF00000003801FF80000000000000001FFFFFF000000000000FF800000000 -0FF00FF8000001FE000000001FF00000000000000FC00000000000000001F00000000000000FFF03 -FFC00000000000001E000000000000000000FFE00FF00000003FF00000007801FF80000000000000 -000FFFFFE000000000000FF8000000000FF00FF8000001FE000000001FE00000000000000FC00000 -000000000000F800000000000000FF03F0000000000000003C000000000000000000FFE00FF00000 -007FF00000007001FF000000000000000007FFFFC000000000000FF8000000000FF00FF8000001FE -000000001FE00000000000000FC0000000000000000078000000000000000F078000000000000000 -7C000000000000000000FFE007F80000007FF0000000E001FF000000000000000007FFFF80000000 -00000FF8000000000FF00FF8000001FE000000001FE00000000000000FC000000000000000003C00 -00000000000007078000000000000000F8000000000000000001FFC007F8000000FFF8000001E003 -FF000000000000000003FFFF8000000000000FF0000000000FF00FFC000001FE000000001FE00000 -000000000FC000000000000000001E0000000000000007070000000000000001F000000000000000 -0001FFC007FC000001FFFC000003C003FF000000000000000001FFFF0000000000000FF000000000 -0FF00FFFFC0001FE000000001FE00000000000000FC000000000000000000F000000000000000787 -0000000000000003E0000000000000000001FFC003FE000003FFFC0000078003FF00000000000000 -0001FFFE0000000000000FF0000000000FF00FFFFFFFC1FE000000001FE00000000000000FC00000 -0000000000000F80000000000000078F0000000000000007C0000000000000000003FF8003FF0000 -0FE7FE00000F0003FF000000000000000000FFFE0000000000000FF0000000000FF00FFFFFFFF1FE -000000001FE00000000000000FC0000000000000000007C0000000000000078F0000000000000007 -80000000000000000003FF8001FFC0001F03FF00001E0003FE0000000000000000007FFC00000000 -00000FF0000000000FF00FFFFFFFFBFE000000001FE00000000000000FC0000000000000000001E0 -000000000000078F000000000000001F80000000000000000003FE0000FFF800FE00FFC000780007 -FC0000000000000000007FF80000000000000FE0000000000FE00FFFFFFFFFFE000000001FC00000 -000000000FC0000000000000000001F0000000000000078E000000000000001E0000000000000000 -0003FC00007FFFFFF0007FF001F00007F80000000000000000003FF000000000000007E000000000 -0FE00FFFFFFFFFFC000000001FC00000000000000FC0000000000000000000FC000000000000038E -000000000000003C00000000000000000003E000001FFFFFC0001FFE0FE00007E000000000000000 -00000FC000000000000007C0000000000FC007FFFFFFFFFC000000000F800000000000000FC00000 -000000000000007E000000000000038E00000000000000F80000000000000000000000000007FFFE -000007FFFF000007C0000000000000000000000000000000000001800000000007800387FFFFFCF8 -0000000006000000000000000FC00000000000000000003F000000000000038E00000000000001F0 -0000000000000000000000000000FFF0000000FFF800000780000000000000000000000000000000 -000000000000000000000001FFFFF8000000000000000000000000000FC00000000000000000001F -80000000000003CE00000000000003E0000000000000000000000000000000000000000000000006 -0000000000000000000000000000000000000000000000000000000003FFE0000000000000000000 -000000000FC000000000000000000007C0000000000003FE0000000000000FC00000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC000000000000000000003F0000000000001FC -0000000000001F000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -0000000000000001F8000000000001FC0000000000003E0000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC0000000000000000000007E00000000000070000000000000FC00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -1F00000000000000000000000001F000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000F80000000000000000000000007E0000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC00000000000000000000003E0000000000000 -00000000001F80000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -000000000000000001F800000000000000000000007E000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000007E0000000000000000000000FC0000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -001F8000000000000000000003F00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000FE00000000000000000000FE000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003F80000000000 -000000003F8000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000FE000000000000000001FF00000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000003FE00000000000000007F8000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000FF0000000000000001FF0000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000001FF00000000000000FF800000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000007FC0000000 -00001FFE000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000FFE0000000000FFF00000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000001FFF80000003FFF8000000000 -000000000000000000000007C0000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -000000001FFFF9C0FFFFFC0000000000000000000000000003C0001FF07FE1C063FFC30083FE0000 -000FE01FF000FF0000020007F010700E00001F00100000000F800F803F801FE03FC0FF80FE01FC00 -000000000FC0000000000000000000000000000001FFFFFFFFFF8000000000000000000000000000 -07E0003FF8FFF3E0F3FFE781C7FF1E1E003FF07FF801FFC3800FFE1FF87FF87FE0E07FC03E038000 -1FF87FF07FE03FF07FF1FFE3FF03FE00000000000FC00000000000000000000000000000001FFFFF -FFF0000000000000000000000000000007E0007FFCFFF3F0F3FFE781E7FF9E1E007FF87FF803FFE7 -801FFE3FFC7FFCFFF0F1FFE03E0780003FFC7FF8FFF07FF8FFF9FFE3FF87FF00000000000FC00000 -00000000000000000000000000003FFFF00000000000000000000000000000000FF000FFFFFFE3F8 -F1FFC781E7FFDF3E00FFFC7FF003FFC7801FFC3FFE7FF8FFF9F3FFF07F07C0003FFEFFF9FFF8FFFC -FFF9FFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000FF000FC3FFF03F8F07F07C3EFEFCFFE00F87E7E0003F007801F807C3E0FC0FC -F9F3E1F07F07C0003F3FFFFFF9FCF87CFCF9F807E7CFCF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000000FF000F818FF83FCF03E0783EFC7CFFC -00F83E7C0003F007801F00780C07C0F8F9F7E060FF0780003E1FFC7FF07DF818FCFFF807E18FC000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -1FF801F800FFE3FFF03E0783EFEFC7FC01F01FFFC003FF87801FF8780007C0F8F9F7C000FF878000 -3E3FFCFFE07FF000FFFBFF87FC0FF800000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000001FF801F000FFE3FFF03E0783EFFF87F801F01F7FE003FFC7 -801FFCF8000780FFF9FFC000FF87C0003FFFFFFFE07FF0F8FFF9FFC3FF0FFE00000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000003FF801F000FFE3FF -F03E07C3EFFF83F801F01E7FF003FFC7801FFCF8000780FFF1FFC001FF87C0003FFEFFFFE03FF0FC -FFF9FFC1FF87FF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000003FFC00F000FFC3FFF03E07C3EFFF83F001F01F7FE003FF87801FFCF8000780FF -F1FFC001FFC7C0003FFCFFFFE07FF1FEFFF9FF80FFC1FF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000003FFC00F809FC03FFF03E07C3EFFF83F0 -00F01F7E0003F007801F80F8000780FFF8FFC003FFC7C0003FF8FFFFE07FF0FEFFF9F8001FC0FF80 -000000000FE000000000000000000000000000000000000000000000000000000000000000000000 -7FFC00F81FFC03EFF03E07C3EFC7C1F000F83EFC0003F007C01F00780C07C0FDF8F3C063FFC7C000 -3FC0FDFFE07DF87EFDF9F0070FC41F80000000000FE0000000000000000000000000000000000000 -000000000000000000000000000000007FFE00FC3FFC03E7F03E07C3EF87C1F000F87E7C0003F007 -C01F007C1E0780F8F9F3E0F3FFE7C0003F00F87FF0FCF87EF8FBF00787CF8F80000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000007FFE007FFFFFF3E3 -F03E07E7EF87C1E0007FFC780003FFC7FE1FF87E3E07C0F879F3F3F7FFE7FF003E00F87FFFF8FFFE -F87FFFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000007C7E007FFCFFF3E3F03E03FFC783C1E0007FF8780001FFE7FF9FFE3FFE0780F8 -78F1FFE7C3E7FF803E00F87CFFF87FFEF87FFFE7FFCFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000783E001FF8FFF3C1F01C01FFC78381E0 -003FF8780001FFE7FF9FFE1FFC0780F078F0FFE7C1E7FF801E00783C7FF03FFCF079FFE3FF87FF00 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -301C000FF07FF180F01C00FF030100E0001FE0300000FFC3FF1FFE0FF803007030607FC380C3FF00 -1C0070383FE01FFC6010FFC1FF03FE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000040000000000003800000000000 -00006003E000000000001F00000000000000000007800380000000003800F000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFFFF39CF800008008087C0000000000000000000000000000000000000000200000000 -0000000000000E01EFFDFFFFFFFFFE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC00000 -0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFF00000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00 -0000000007C000000000000000000000000000000000000000000000000000000000000000000000 -1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFE7FF8000000000000180000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000001000000000 -000018000000000000000000000000200010003C0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 ->}imagemask -showpage -%%EndDocument - 623 1479 a - texgraph restore -863 944 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -863 944 a - grestore -267 1030 1418 2 v 350 1114 a Fr(The)h(co)q(de)h(for)f(this)f(is)267 -1165 y Fp(\\hrule)267 1216 y(\\centergraph{)19 b(\\btg)572 -1268 y(\\incscfile)h(f:{ieeelogo.ps})e(sc:.3)j(d:45)572 1319 -y(\\etg})267 1371 y(\\hrule)350 1473 y Fr(Notice)16 b(that)g(the)g -(computation)e(of)h(the)i(space)f(to)g(lea)o(v)o(e)f(w)o(as)h(incorrect.)25 -b(This)15 b(is)267 1524 y(due)c(to)g(the)g(di\016cult)o(y)e(in)i(p)q -(erforming)e(the)i(computations)e(for)h(obtaining)g(the)h(b)q(ounding)267 -1574 y(b)q(o)o(x)i(for)h(an)g(arbitrarily)f(rotated)h(and)g(scaled)g -(\014gure.)350 1626 y(The)k(most)e(general)i(inclusion)f(command)e(is)i -Fp(\\incscmvfile)e Fr(whic)o(h)i(allo)o(ws)g(for)267 1676 y(arbitrary)12 -b(scaling,)g(rotation,)g(and)g(o\013set.)19 b(Finally)m(,)10 -b(the)j(rotation,)f(scaling,)g(and)g(place-)267 1726 y(men)o(t)e(ma)o(y)e(b)q -(e)k(applied)e(around)g(an)o(y)g(of)g(the)i(nine)e(text)h(b)q(o)o(x)g -(reference)i(p)q(oin)o(ts)d(describ)q(ed)267 1777 y(in)j(Section)i(30.4.)267 -1943 y Fl(30.3)56 b(T)456 1954 y(E)487 1943 y(X)n(Graph)19 -b(Basics)350 2029 y Fr(T)373 2038 y(E)396 2029 y(X)o(Graph)12 -b(has)h(a)g(n)o(um)o(b)q(er)f(of)g(capabilities)g(that)h(range)g(from)d -(primitiv)o(e)h(to)i(p)q(o)o(w-)267 2080 y(erful.)19 b(The)14 -b(follo)o(wing)e(list)i(of)f(classes)j(is)e(for)g(reference)i(only)m(.)i -(More)d(detail)e(will)g(follo)o(w)267 2130 y(with)i(examples)f(in)h(the)h(v)n -(arious)e(sections)j(to)e(follo)o(w.)20 b(This)15 b(section)h(ma)o(y)e(b)q(e) -i(omitted)267 2180 y(on)e(\014rst)g(reading.)350 2422 y Fo(Draft)i(Version:) -32 b(1991/8/24)p eop -%%Page: 182 4 -bop 100 83 a Fn(182)95 b Fm(CHAPTER)14 b(30:)20 b(T)587 92 -y(E)609 83 y(X)o(Gr)n(aph)267 214 y Fn(T)292 223 y(E)318 214 -y(X)o(Graph)14 b(Classes)329 327 y Fq(\017)21 b Fr(Dra)o(wing)d(primitiv)o -(es)f(consist)j(of)f(commands)e(for)i(circles,)i(circular)f(arcs,)h(line)371 -376 y(v)o(ectors,)13 b(v)o(ectors)g(with)e(arro)o(wheads,)h(spline)g(curv)o -(es,)h(spline)f(curv)o(es)h(with)f(arro)o(w-)371 425 y(heads,)i(line)f -(dotting)g(commands,)e(and)j(v)n(arious)f(shades)i(of)f(gra)o(y)f(for)g -(\014lls.)329 507 y Fq(\017)21 b Fr(There)f(are)g(commands)d(for)i(c)o -(hanging)g(whether)h(the)g(distances)h(sp)q(eci\014ed)g(are)371 -556 y(to)14 b(b)q(e)i(in)o(terpreted)h(absolutely)m(,)c(with)i(resp)q(ect)i -(to)e(an)g(origin)e(or)i(relativ)o(ely)g(with)371 604 y(resp)q(ect)h(to)e -(the)g(presen)o(t)i(p)q(osition.)329 686 y Fq(\017)21 b Fr(There)14 -b(is)g(a)f(command)e(to)i(c)o(hange)h(the)g(\(p)q(en\)width)h(of)e(the)h(dra) -o(wn)f(lines)h(and)f(to)371 735 y(c)o(hange)h(the)g(in)o(terpreted)i(scale)e -(of)g(the)g(units)g(of)f(distance.)329 816 y Fq(\017)21 b Fr(There)11 -b(is)g(a)f(command)e(to)i(c)o(hange)h(the)g(default)f(units.)17 -b(Ho)o(w)o(ev)o(er,)11 b(since)g(arbitrary)371 865 y(scaling)f(of)h(units)g -(is)g(allo)o(w)o(ed,)f(this)h(command)e(is)i(of)f(limited)f(use)j(except)h -(for)d(those)371 914 y(that)h(visualize)g(distances)i(in)e(di\013eren)o(t)h -(dimensions.)k(The)c(dimensions)e(a)o(v)n(ailable)371 963 y(are)k(those)h(a)o -(v)n(ailable)c(in)j(INRST)895 961 y(^)891 972 y(E)914 963 y(X.)329 -1044 y Fq(\017)21 b Fr(There)14 b(is)g(a)f(\\graphical)f(segmen)o(t")h(whic)o -(h)g(can)h(b)q(e)g(placed)g(at)f(an)o(y)g(sp)q(eci\014c)i(lo)q(ca-)371 -1093 y(tion.)24 b(Distances)18 b(inside)e(a)g(graphical)f(segmen)o(t)h(are)h -(in)o(terpreted)h(with)e(resp)q(ect)371 1142 y(to)d(the)h(segmen)o(t)f -(origin.)k(The)d(distances)h(inside)f(a)f(segmen)o(t)g(ma)o(y)f(b)q(e)i -(either)g(rel-)371 1191 y(ativ)o(e)f(or)i(absolute)f(with)g(resp)q(ect)i(to)e -(the)h(segmen)o(t)f(origin.)k(There)d(is)f(a)g Fm(se)n(gment)371 -1240 y(sc)n(ale)f Fr(whic)o(h)f(allo)o(ws)g(for)h(segmen)o(ts)g(to)g(b)q(e)h -(scaled)f(relativ)o(ely)f(with)h(resp)q(ect)j(to)c(an)371 1289 -y(o)o(v)o(erall)g(graph.)329 1370 y Fq(\017)21 b Fr(T)m(ext,)15 -b(with)g(all)g(the)h(capabilities)e(of)h(INRST)1104 1369 y(^)1100 -1379 y(E)1123 1370 y(X)h(ma)o(y)d(b)q(e)j(written)g(at)g(an)o(y)f(arbi-)371 -1419 y(trary)f(angle.)329 1500 y Fq(\017)21 b Fr(T)394 1509 -y(E)417 1500 y(X)o(Graph)d(k)o(eeps)i(trac)o(k)e(of)g(the)h(maxim)o(um)14 -b(exten)o(t)19 b(of)f(a)g(graph.)32 b(These)20 b(are)371 1549 -y(a)o(v)n(ailable)10 b(after)j(the)h(graph)e(is)h(terminated)f(in)g(the)i(v)n -(ariables)e Fp(\\hgraphsize)e Fr(and)371 1598 y Fp(\\vgraphsize)p -Fr(.)32 b Fp(\\hgraphskip)18 b Fr(and)h Fp(\\vgraphskip)e Fr(will)h(cause)j -(a)e(horizon)o(tal)371 1647 y(or)g(v)o(ertical)h(skip)f(of)g(the)h -(appropriate)g(graphsize.)35 b Fn(Unfortunatel)o(y)l(,)22 b(these)371 -1696 y(v)m(alues)15 b(ma)o(y)h(b)q(e)f(incorrect)f(for)h(a)h(n)o(um)o(b)q(er) -e(of)h(reasons.)39 b Fr(These)15 b(are)454 1777 y Fq(\016)20 -b Fr(T)m(ext)14 b(ma)o(y)e(stic)o(k)i(out)g(the)g(edge)h(of)e(the)i(graph.) -454 1842 y Fq(\016)20 b Fr(A)14 b(circle)h(or)f(arc)g(cen)o(ter)h(is)f -(outside)g(the)h(main)d(graph)h(area.)454 1906 y Fq(\016)20 -b Fr(The)15 b(visible)e(part)h(of)f(a)h(circle)g(or)g(arc)g(ma)o(y)e(b)q(e)j -(to)q(o)e(far)h(to)g(the)g(righ)o(t.)454 1970 y Fq(\016)20 -b Fr(A)g(v)o(ertical)f(segmen)o(t)g(ma)o(y)f(ha)o(v)o(e)i(inadv)o(erten)o -(tly)f(reset)i(the)f(maxim)o(um)495 2019 y(p)q(ositions.)454 -2082 y(In)13 b(some)g(cases)i(it)e(ma)o(y)e(b)q(e)j(necessary)i(to)d(mak)o(e) -f(a)h(fak)o(e)g(mo)o(v)o(e)f(to)i(the)g(lo)o(w)o(er)371 2131 -y(righ)o(t)g(hand)h(corner)h(of)e(a)h(graph)f(to)h(tell)g(T)1055 -2140 y(E)1078 2131 y(X)o(Graph)f(the)i(correct)g(size)g(.)7 -b(.)g(.)20 b(after)371 2180 y(y)o(ou)13 b(ha)o(v)o(e)h(seen)h(a)f -(preliminary)d(v)o(ersion)j(and)g(kno)o(w)f(what)h(it)g(should)f(b)q(e.)350 -2422 y Fo(Draft)j(Version:)32 b(1991/8/24)p eop -%%Page: 183 5 -bop 1360 83 a Fm(T)1383 92 y(E)1405 83 y(X)o(Gr)n(aph)22 b(Basics)96 -b Fn(183)329 214 y Fq(\017)21 b Fr(All)13 b(of)h(T)510 223 -y(E)533 214 y(X's)g(de\014nitional)f(capabilities)h(are)g(a)o(v)n(ailable.)j -(These)f(can)e(b)q(e)h(used)g(to)371 264 y(replace)d(a)e(complex)g(structure) -j(b)o(y)e(a)f(single)h(command)d(or)j(to)f(c)o(hange)i(the)f(surface)371 -315 y(syn)o(tax)j(of)f(T)574 324 y(E)597 315 y(X)o(Graph.)329 -402 y Fq(\017)21 b Fr(Explicit)g(use)h(of)f(grouping)g(in)g(T)929 -411 y(E)952 402 y(X)o(Graph,)i(through)f Fq(fg)p Fr(,)g(or)g -Fp(\\begingroup)p Fr(,)371 452 y Fp(\\endgroup)14 b Fr(pairs)i(is)h(not)f -(allo)o(w)o(ed.)24 b(This)16 b(will)f(foul)h(up)g(the)h(p)q(ositional)e -(record)371 503 y(k)o(eeping)i(inside.)29 b(Groups)18 b(ma)o(y)e(b)q(e)i(pro) -q(duced)h(only)e(through)g(the)h(use)h(of)e(seg-)371 553 y(men)o(ts,)c -(namely)f(the)i Fp(\\beginsegment)p Fr(,)d Fp(\\endsegment)g -Fr(pair.)267 757 y Fl(30.4)56 b(Simple)20 b(T)645 768 y(E)675 -757 y(X)n(Graphics)350 843 y Fr(T)373 852 y(E)396 843 y(X)o(Graph)c(will)g -(allo)o(w)f(for)h(rather)i(sophisticated)f(graphics.)27 b(Y)m(ou)16 -b(can)h(use)h(the)267 893 y(de\014nition)12 b(capabilities)f(of)h(INRST)838 -892 y(^)834 902 y(E)857 893 y(X)g(to)h(create)g(libraries)f(of)g(sym)o(b)q -(ols)f(for)h(future)h(use.)350 945 y(Directions)k(in)f(T)625 -954 y(E)648 945 y(X)o(Graph)g(are)h(describ)q(ed)h(as)e(horizon)o(tal,)g -Fp(h:)p Fr(,)g(increasing)h(from)267 995 y(left)e(to)h(righ)o(t)f(across)i -(the)g(page)e(and)h(v)o(ertical,)g Fp(v:)p Fr(,)f(increaseing)h(from)e(top)i -(to)g(b)q(ottom)267 1045 y Fn(do)o(wn)d Fr(the)h(page.)k(Th)o(us)c(the)h -(fundamen)o(tal)d(directions)i(are)526 1111 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -526 1111 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -526 1111 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 90 90 mv 900 90 lv st np 900 90 mx 0 neg -810 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr 90 90 mv 90 600 lv st np 90 600 mx -510 neg 0 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr 450 44 mv st end -976 1155 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -748 1169 a Fr(Horizon)o(tal)f({)g Fp(h:<number>)526 1111 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -570 1411 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 90 neg rt Xp1 neg Yp1 neg tr end -366 1425 a Fr(V)m(ertical)h({)f Fp(v:<number>)526 1111 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -526 1111 a - grestore -267 1814 a Fr(T)290 1823 y(E)313 1814 y(X)o(Graph)h(capabilities)f(will)f(b)q -(e)j(in)o(tro)q(duced)f(slo)o(wly)m(.)j(The)d(follo)o(wing)d(diamond)h(b)q(o) -o(x)826 1880 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -826 1880 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -826 1880 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 0 150 mv 150 0 lv 300 150 lv 150 300 lv 0 150 lv 150 150 mv st end -976 2030 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -900 2010 a Fi(P)944 2020 y Fh(n)944 2053 y(i)p Fg(=1)1007 2041 -y Fk(\032)1028 2047 y Fh(n)826 1880 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -826 1880 a - grestore -345 2414 a Fo(Draft)20 b(Version:)f(1991/8/24)p eop -%%Page: 184 6 -bop 100 83 a Fn(184)95 b Fm(CHAPTER)14 b(30:)20 b(T)587 92 -y(E)609 83 y(X)o(Gr)n(aph)267 214 y Fr(w)o(as)14 b(put)g(in)f(place)h(with) -267 264 y Fj($$)43 b(\045)21 b(a)h(convenie)o(nt)c(way)j(to)g(use)g -(displayma)o(th)d(spacing)267 314 y(\\centergr)o(aph)o({)332 -365 y(\\beginTeXg)o(rap)o(hic)o(s)h(\045)i(also)f(known)g(as)h(\\btg)376 -415 y(\\move)f(h:0)g(v:.5)42 b(\045)22 b(moves)e(penup)g(to)h(\(0,.5\))376 -465 y(\\lvec)f(h:.5)g(v:0)42 b(\045)22 b(draws)e(a)h(line)f(to)h(\(.5,0\))376 -516 y(\\lvec)f(h:1)g(v:.5)376 566 y(\\lvec)g(h:.5)g(v:.1)376 -616 y(\\lvec)g(h:0)g(v:.5)376 666 y(\\textref)f(h:C)h(v:C)43 -b(\045)21 b(sets)f(the)h(reference)d(point)i(in)h(the)g(center.)376 -717 y(\\move)f(h:.5)g(v:.5)376 767 y(\\htext)f({$\\sum_{i=1)o(}^)o(n)g -(\\rho_n$})f(\045)k(horizonta)o(l)d(text)h(box)354 817 y(\\endTeXgra)o(ph)o -(ics)40 b(\045)21 b(also)g(known)e(as)i(\\etg)376 867 y(})267 -918 y($$)350 1028 y Fr(The)12 b(command)c Fp(\\centergraph{<...)o(>})g -Fr(uses)13 b(the)e(information)e(ab)q(out)i(plot)f(size)267 -1080 y(to)k(cen)o(ter)h(the)g(graphics)f(horizon)o(tally)e(and)i(to)g(lea)o -(v)o(e)f(enough)h(ro)q(om)f(v)o(ertically)m(.)350 1135 y(Argumen)o(ts)e(for)g -(all)f(T)699 1144 y(E)722 1135 y(X)o(Graph)h(primitiv)o(e)f(commands)f(are)i -(delimited)f(b)o(y)h(spaces.)267 1186 y(The)i(units)h(of)e(the)i(dimensions)e -(are)h(implicit,)d(but)j(c)o(hangable.)18 b(The)13 b(default)g(is)g(inc)o -(hes.)267 1238 y(Th)o(us)i Fp(h:<number>)d Fr(is)j(the)g(distance)h(in)e(the) -h(horizon)o(tal)f(\(to)g(righ)o(t\))h(and)f Fp(v:<number>)267 -1289 y Fr(is)19 b(the)g(distance)h(in)e(the)i(v)o(ertical)e(\(do)o(wn\))h -(direction.)33 b(The)20 b(lo)q(cations)e(are)h(absolute)267 -1340 y(distances)c(with)f(resp)q(ect)i(to)d(an)h(origin)f(in)g(the)i(upp)q -(er)g(left)e(hand)h(corner.)267 1534 y Fl(30.5)56 b(Simple)20 -b(V)-5 b(ector)19 b(F)-5 b(orms)350 1621 y Fr(This)15 b(in)o(tro)q(duces)i -(some)e(baisc)g(dra)o(wing)g(commands.)20 b(There)d Fn(m)o(ust)d -Fr(b)q(e)i(either)g(a)267 1672 y(space)g(or)f(an)g(end)g(of)g(line)f(after)h -(eac)o(h)h Fp(<coordinate> )m Fr(.)22 b(The)15 b(dimensional)e(units)i(are) -267 1724 y(implicit.)25 b(W)m(e)17 b(usually)f(use)i Fp(<..>)e -Fr(instead)i(of)e(the)i(less)g(economical)d Fp(<coordinate>)p -Fr(.)225 1775 y Fk(?)21 b Fp(\\move)g(h:<..>)f(v:<..>)267 1859 -y Fr(This)c(is)g(a)f(mo)o(v)o(e)g(from)f(the)i(curren)o(t)i(p)q(osition)d(to) -h(the)h(co)q(ordinates)f(giv)o(en)g(b)o(y)f Fp(h:<..>)267 1911 -y(v:<..>)p Fr(.)i(The)c(p)q(en)i(is)e(up.)18 b(It)13 b(ma)o(y)f(b)q(e)i(used) -g(to)g(mo)o(v)o(e)d(the)j(curren)o(t)h(reference)h(p)q(oin)o(t)d(or)267 -1962 y(to)h(describ)q(e)h(a)f(b)q(oundary)g(when)g(creating)g(a)g(\014lled)f -(p)q(olygon.)225 2096 y Fk(?)21 b Fp(\\lvec)g(h:<..>)f(v:<..>)267 -2180 y Fr(This)14 b(dra)o(ws)g(a)f(line)h(from)e(the)i(curren)o(t)i(p)q -(osition)d(to)h Fp(h:<..>)20 b(v:<..>)p Fr(.)350 2422 y Fo(Draft)c(Version:) -32 b(1991/8/24)p eop -%%Page: 185 7 -bop 1304 83 a Fm(Simple)15 b(V)m(e)n(ctor)f(F)m(orms)95 b Fn(185)225 -214 y Fk(?)21 b Fp(\\clvec)f(h1:<..>)h(v1:<..>)f(h2:<..>)h(v2:<..>)f(h3:<..>) -g(v3:<..>)267 289 y Fr(This)15 b(dra)o(ws)g(a)g(Bezier)i(spline)e(curv)o(e)h -(from)d(the)j(curren)o(t)h(p)q(oin)o(t)d(to)h Fp(h3:<..>)21 -b(v3:<..>)267 339 y Fr(with)d(resp)q(ect)i(to)e(the)h(con)o(trol)f(p)q(oin)o -(ts)g Fp(h1:<..>)i(v1:<..>)d Fr(and)h Fp(h2:<..>)i(v2:<..>)p -Fr(.)267 389 y(These)e(curv)o(es)g(are)f(v)o(ery)g(v)o(ersatile)g(and)f(can)h -(create)h(man)o(y)d(e\013ects,)j(including)e(lo)q(ops,)267 -439 y(b)o(y)e(v)n(arying)e(the)j(con)o(trol)e(p)q(oin)o(ts.)225 -552 y Fk(?)21 b Fp(\\clv)43 b(\(<h1>)20 b(<v1>\))43 b(\(<h2>)21 -b(<v2>\))42 b(\(<h3>)21 b(<v3>\))267 627 y Fr(This)14 b(command)d(is)j(iden)o -(tical)f(to)g Fp(\\clvec)g Fr(but)h(with)g(a)f(less)i(v)o(erb)q(ose)g(syn)o -(tax.)350 677 y(Lines)10 b(ma)o(y)d(b)q(e)j(either)g(solid)f(of)g(v)n(arious) -f(widths,)i(or)g(dotted)g(with)f(custom)f(patterns.)267 728 -y(In)17 b(addition)f(the)i(ends)g(of)f(the)g(lines)h(ma)o(y)d(b)q(e)j(of)e -(di\013eren)o(t)i(shap)q(es)h(and)e(joined)g(with)267 778 y(di\013eren)o(t)h -(defaults.)27 b(In)17 b(most)f(cases)j(y)o(ou)d(will)g(not)h(ha)o(v)o(e)g(to) -g(c)o(hange)g(the)h(defaults)f(in)267 828 y(T)290 837 y(E)313 -828 y(X)o(Graph)d(but)g(the)g(capabilit)o(y)f(is)g(there.)225 -890 y Fk(?)21 b Fp(\\penwidth)f(<size>)267 965 y Fr(This)c(sets)i(the)f -(width)f(of)g(the)h(p)q(en)g(or)g(line)e(in)h(the)h(curren)o(t)h(units.)26 -b(The)17 b(default)f(is)g(is)267 1016 y(.015)d(\(in\).)225 -1128 y Fk(?)21 b Fp(\\linecap)f(<integer>)267 1203 y Fr(This)14 -b(sets)h(the)f(end)g(shap)q(es)h(of)e(the)i(lines)e(using)h(P)o(ostScript)h -(notation.)i(The)d(default)f(is)267 1254 y(1)f(or)g(a)g(round)h(cap.)18 -b(A)12 b(v)n(alue)g(of)f(0)h(is)h(a)f(butt)g(cap)h(with)f(the)h(line)f(cut)h -(o\013)f(square)h(exactly)267 1304 y(to)i(its)g(length.)20 -b(A)15 b(v)n(alue)g(of)f(2)g(is)h(a)g(square)g(cap)g(with)g(the)g(line)g -(extended)h(b)o(y)f(a)f(square)267 1354 y(cap)g(the)g(thikness)h(of)e(half)g -(its)g(width.)18 b(F)m(or)13 b(narro)o(w)h(lines)g(the)g(di\013erence)h(is)f -(negligible.)225 1466 y Fk(?)21 b Fp(\\linejoin)f(<integer>)267 -1542 y Fr(This)15 b(sets)i(the)f(form)e(in)h(whic)o(h)g(lines)g(join)g(\(P)o -(ostScript)h(notation\).)22 b(The)16 b(default)f(is)g(1)267 -1592 y(whic)o(h)f(corresp)q(onds)h(to)f(a)g(round)g(line)f(join.)k(A)d(v)n -(alue)f(of)g(0)h(is)f(a)h(mitre)f(or)g(p)q(oin)o(ted)h(join)267 -1642 y(while)h(a)f(v)n(alue)h(of)g(2)f(is)h(a)g(b)q(ev)o(eled)h(or)f -(\015attened)i(join.)j(F)m(or)15 b(thin)g(lines)g(the)h(di\013erences)267 -1692 y(are)e(negligible.)225 1805 y Fk(?)21 b Fp(\\lpatt)f(p:<pattern>)267 -1880 y Fr(This)13 b(sets)i(the)f(dotting)f(pattern)h(of)f(the)h(line)e(in)h -(P)o(ostScript)i(notation.)i(The)c(default)g(is)267 1930 y(a)j(solid)g(line)g -(describ)q(ed)i(b)o(y)e Fp({[]})p Fr(.)25 b(The)17 b(simplest)e(form)g(is)h -Fp({[a]})g Fr(where)h(the)g(line)f(is)267 1980 y(blac)o(k)c(for)g -Fp(a)g Fr(pixels)g(and)h(white)f(for)g(1.)18 b Fp({[a)i(b]})11 -b Fr(w)o(ould)h(mean)f Fp(a)i Fr(pixels)f(blac)o(k)g(follo)o(w)o(ed)267 -2030 y(b)o(y)h Fp(b)g Fr(pixels)g(white.)18 b(A)c(sp)q(eci\014cation)g(of)e -Fp([a1)21 b(b1)g(a2)g(b2])12 b Fr(w)o(ould)h(b)q(e)h(a)f(cyclic)g(pattern)267 -2080 y(with)g(the)i(line)e(blac)o(k)h(for)f(the)i Fp(a?)j Fr(pixels)c(and)f -(white)h(for)g(the)g(corresp)q(onding)h Fp(b?)p Fr(.)350 2130 -y(T)373 2139 y(E)396 2130 y(X)o(Graph)h(alos)g(supplies)g(lines)g(with)g -(arro)o(wheads.)26 b(These)17 b(ma)o(y)e(b)q(e)h(com)o(bined)267 -2180 y(dotting)11 b(patterns)j(giv)o(en)d(ab)q(o)o(v)o(e)h(but)g(a)g -(decision)h(will)d(ha)o(v)o(e)i(to)g(b)q(e)h(made)e(as)h(to)g(whether)350 -2422 y Fo(Draft)k(Version:)32 b(1991/8/24)p eop -%%Page: 186 8 -bop 100 83 a Fn(186)95 b Fm(CHAPTER)14 b(30:)20 b(T)587 92 -y(E)609 83 y(X)o(Gr)n(aph)267 214 y Fr(y)o(ou)e(w)o(an)o(t)f(the)i(arro)o -(whead)f(itself)g(dotted.)31 b(There)20 b(are)e(three)i(st)o(yles)e(of)g -(arro)o(wheads)267 264 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -267 264 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -267 264 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 0 -15 mv 90 -15 lv st np 90 -15 mx 0 neg -90 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr 180 -15 lv st np 180 -15 mx 0 neg -90 at -48 11 mv 0 0 lv -48 -11 lv st gr 270 -15 lv st np 270 -15 mx 0 neg -90 at -48 11 mv 0 0 lv -48 -11 lv cp 0 sg fill gr st end -267 264 a - grestore -554 264 a Fr(triangle)f Fp(T)p Fr(,)f(op)q(en)i Fp(O)p Fr(,)e(and)h(\014lled) -g Fp(F)p Fr(.)f(The)i(size)g(ma)o(y)d(also)h(b)q(e)i(v)n(aried.)267 -314 y(There)d(are)f(no)g(restriction)h(on)e(the)i(direction)f(of)f(the)i -(arro)o(ws.)j(The)c(commands)e(are)225 376 y Fk(?)21 b Fp(\\avec)g(h:<..>)f -(v:<..>)267 449 y Fr(This)15 b(dra)o(ws)h(a)g(v)o(ector)g(with)f(an)h(arro)o -(w)f(head)h(from)e(the)i(curren)o(t)h(p)q(osition)e(to)g Fp(h:<..>)267 -499 y(v:<..>)p Fr(.)225 609 y Fk(?)21 b Fp(\\cavec)f(h1:<..>)h(v1:<..>)f -(h2:<..>)h(v2:<..>)f(h3:<..>)g(v3:<..>)225 682 y Fk(?)h Fp(\\cav)g(\(<h1>)g -(<v1>\))f(\(<h2>)h(<v2>\))g(\(<h3>)g(<v3>\))267 756 y Fr(These)15 -b(are)f(the)h(spline)f(v)o(ersions)g(of)f(the)i(v)o(ectors)g(with)e(arro)o -(wheads.)225 866 y Fk(?)21 b Fp(\\arrowheadtype)e(t:<type>)267 -939 y Fr(The)14 b Fp(<type>)f Fr(is)h Fp(T)21 b(O)h(F)13 b -Fr(for)h(triangle,)f(op)q(en,)h(or)f(\014lled)h(resp)q(ectiv)o(ely)m(.)225 -1049 y Fk(?)21 b Fp(\\arrowheadsize)e(l:<length>)h(w:<width>)267 -1123 y Fr(The)15 b Fp(<length>)e Fr(and)h Fp(<width>)f Fr(are)i(in)f(the)i -(curren)o(t)g(units.)k(The)15 b(default)f(is)h(0.16in)d(b)o(y)267 -1173 y(0.04in.)24 b(This)16 b(size)i(is)e Fp(independent)e -Fr(of)i(the)h(curren)o(t)h(scales.)26 b(This)17 b(prev)o(en)o(ts)h(arro)o(w-) -267 1222 y(heads)c(from)f(disapp)q(earing)g(as)h(a)g(graph)g(is)f(scaled.)225 -1332 y Fk(?)21 b Fp(\\arrowheadscale)11 b Fr(This)j(mak)o(es)f(the)i(arro)o -(wheadsize)g(sensitiv)o(e)g(to)f(the)h(segmen)o(t)e(and)267 -1382 y(unit)k(scales)i(in)e(force)i(when)f(it)g(is)f(called.)30 -b(It)18 b(is)f(not)h(global)e(but)i(is)g(a\013ected)h(b)o(y)f(the)267 -1432 y(grouping)13 b(imp)q(osed)g(b)o(y)g Fp(\\beginsegment)f -Fr(and)h Fp(\\endsegment)f Fr(pairs.)350 1482 y(F)m(or)d(most)g -(applications,)g(the)h Fp(\\arrowheadsize)d Fr(and)j(the)g -Fp(\\arrowheadscale)d Fr(will)267 1531 y(not)14 b(b)q(e)g(needed.)350 -1581 y(The)g(follo)o(wing)c(example)i(of)h(a)g(\(partial\))g(blo)q(c)o(k)g -(diagram)e(uses)j(these)h(commands.)751 1641 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -751 1641 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -751 1641 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 0 90 mv 150 90 lv st np 150 90 mx 0 neg -150 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr 150 180 mv 150 0 lv 450 0 lv 450 180 lv 150 180 lv st end -751 1641 a - grestore -267 1911 a Fr(This)f(w)o(as)g(pro)q(duced)h(b)o(y)e(the)i(follo)o(wing:)267 -1956 y Fj(\\centergr)o(aph)o({\\b)o(tg)441 2001 y(\\move)20 -b(h:0)h(v:.3)441 2046 y(\\avec)f(h:.5)g(v:.3)h(\045)g(arrow)f(vector)f -(leading)g(into)i(box)441 2091 y(\\move)f(h:.5)g(v:.6)h(\045)g(moves)f(to)h -(lower)f(lefthand)e(corner)i(of)h(box)441 2135 y(\\lvec)f(h:.5)g(v:0)43 -b(\045)21 b(four)f(sides)441 2180 y(\\lvec)g(h:1.5)g(v:0)350 -2417 y Fo(Draft)c(Version:)32 b(1991/8/24)p eop -%%Page: 187 9 -bop 1290 83 a Fm(Simple)22 b(V)m(e)n(ctor)f(F)m(orms)95 b Fn(187)441 -214 y Fj(\\lvec)20 b(h:1.5)g(v:.6)441 259 y(\\lvec)g(h:.5)g(v:.6)485 -304 y(\\etg})350 404 y Fr(W)m(e)d(can)h(c)o(hange)f(the)i(t)o(yp)q(e)f(of)e -(arro)o(whead)i(on)f(this)h(and)f(all)f(subsequen)o(t)j(arro)o(w)267 -454 y(v)o(ectors)c(b)o(y)f(adding)f(adding)g Fp(\\arrowheadtype)19 -b(t:O)13 b Fr(b)q(efore)h(the)h Fp(\\avec)21 b(...)d Fr(to)13 -b(giv)o(e)751 515 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -751 515 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -751 515 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 0 90 mv 150 90 lv st np 150 90 mx 0 neg -150 at -48 11 mv 0 0 lv -48 -11 lv cp 0 sg fill gr 150 180 mv 150 0 lv 450 0 lv 450 180 lv 150 180 lv st end -751 515 a - grestore -267 787 a Fr(This)h(w)o(as)g(pro)q(duced)h(b)o(y)267 832 y -Fj(\\centergr)o(aph)o({\\b)o(tg)441 877 y(\\move)20 b(h:0)h(v:.3)441 -922 y(\\arrowhead)o(typ)o(e)e(t:F)h(\045)i(changes)d(default)g(filled)441 -967 y(\\avec)h(h:.5)g(v:.3)h(\045)g(arrow)f(vector)f(leading)g(into)i(box)441 -1012 y(\\move)f(h:.5)g(v:.6)h(\045)g(moves)f(to)h(lower)f(lefthand)e(corner)i -(of)h(box)441 1057 y(\\lvec)f(h:.5)g(v:0)43 b(\045)21 b(four)f(sides)441 -1102 y(\\lvec)g(h:1.5)g(v:0)441 1147 y(\\lvec)g(h:1.5)g(v:.6)441 -1192 y(\\lvec)g(h:.5)g(v:.6)485 1237 y(\\etg})225 1349 y Fk(?)h -Fp(\\unitscale)f(<scale>)267 1423 y Fr(This)g(command)e(causes)k(all)e -(subsequen)o(t)i(units)f(in)f(this)h(or)f(enclosed)i(segmen)o(ts)e(to)267 -1473 y(b)q(e)e(scaled)g(b)o(y)f(the)i Fp(<scale>)p Fr(.)27 -b(Th)o(us)18 b Fp(\\unitscale)k(2.54)16 b Fr(w)o(ould)h(ha)o(v)o(e)g(the)i -(e\013ect)g(of)267 1523 y(c)o(hanging)11 b(a)g(\014gure)i(where)g(the)f -(units)g(w)o(ere)h(originally)c(in)i(inc)o(hes)i(to)e(b)q(e)i(in)e(cen)o -(timetres.)350 1573 y(Th)o(us)16 b(the)g(en)o(tire)g(graph)f(is)g(reduced)i -(to)e(half)g(size)h(b)o(y)f(adding)f Fp(\\unitscale)21 b(.5 )267 -1623 y Fr(at)14 b(the)g(v)o(ery)g(b)q(eginning.)863 1683 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -863 1683 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -863 1683 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 0 45 mv 75 45 lv st np 75 45 mx 0 neg -75 at -48 11 mv 0 0 lv -48 -11 lv cp 0 sg fill gr 75 90 mv 75 0 lv 225 0 lv 225 90 lv 75 90 lv st end -863 1683 a - grestore -267 1866 a Fr(Note)j(that)f(the)h(arro)o(whead)f(has)h(not)f(c)o(hanged)h(in) -e(size.)26 b(The)17 b(commands)d(to)i(do)g(this)267 1910 y(are)267 -1955 y Fj(\\centergr)o(aph)o({\\b)o(tg)441 2000 y(\\unitscale)i(.5)43 -b(\045)21 b(causes)f(all)h(subseque)o(nt)d(units)i(to)h(be)g(multiplied)768 -2045 y(\045)h(by)f(.5)441 2090 y(\\move)f(h:0)h(v:.3)441 2135 -y(\\arrowhead)o(typ)o(e)e(t:F)h(\045)i(changes)d(default)g(filled)441 -2180 y(\\avec)h(h:.5)g(v:.3)h(\045)g(arrow)f(vector)f(leading)g(into)i(box) -345 2422 y Fo(Draft)f(Version:)f(1991/8/24)p eop -%%Page: 188 10 -bop 100 83 a Fn(188)95 b Fm(CHAPTER)21 b(30:)h(T)596 92 y(E)619 -83 y(X)o(Gr)n(aph)441 214 y Fj(\\move)e(h:.5)g(v:.6)h(\045)g(moves)f(to)h -(lower)f(lefthand)e(corner)i(of)h(box)441 259 y(\\lvec)f(h:.5)g(v:0)43 -b(\045)21 b(four)f(sides)441 304 y(\\lvec)g(h:1.5)g(v:0)441 -349 y(\\lvec)g(h:1.5)g(v:.6)441 394 y(\\lvec)g(h:.5)g(v:.6)485 -439 y(\\etg})267 489 y Fr(If)13 b(the)h(arro)o(whead)g(size)h(needed)g(to)e -(b)q(e)h(reduced)i(in)d(the)h(same)f(scale)h(it)f(is)h(necessary)h(to)267 -539 y(add)f Fp(\\arrowheadscale)e Fr(after)j(the)g Fp(\\unitscale)e -Fr(and)h(b)q(efore)h(the)h(\014rst)f(arro)o(wv)o(ector.)267 -589 y(Th)o(us)f(w)o(e)g(get)863 650 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -863 650 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -863 650 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 0 45 mv 75 45 lv st np 75 45 mx 0 neg -75 at -24 5 mv 0 0 lv -24 -5 lv cp 0 sg fill gr 75 90 mv 75 0 lv 225 0 lv 225 90 lv 75 90 lv st end -863 650 a - grestore -267 834 a Fr(This)g(is)f(pro)q(duced)j(b)o(y)267 879 y Fj(\\centergr)o(aph)o -({\\b)o(tg)441 924 y(\\unitscale)i(.5)43 b(\045)21 b(causes)f(all)h(subseque) -o(nt)d(units)i(to)h(be)g(multiplied)768 969 y(\045)h(by)f(.5)441 -1014 y(\\move)f(h:0)h(v:.3)441 1059 y(\\arrowhead)o(sca)o(le)d(\045)k(makes)e -(arrowhea)o(d)f(size)h(sensitive)e(to)j(scalings.)441 1104 -y(\\arrowhead)o(typ)o(e)e(t:F)h(\045)i(changes)d(default)g(filled)441 -1149 y(\\avec)h(h:.5)g(v:.3)h(\045)g(arrow)f(vector)f(leading)g(into)i(box) -441 1194 y(\\move)f(h:.5)g(v:.6)h(\045)g(moves)f(to)h(lower)f(lefthand)e -(corner)i(of)h(box)441 1239 y(\\lvec)f(h:.5)g(v:0)43 b(\045)21 -b(four)f(sides)441 1284 y(\\lvec)g(h:1.5)g(v:0)441 1329 y(\\lvec)g(h:1.5)g -(v:.6)441 1374 y(\\lvec)g(h:.5)g(v:.6)485 1419 y(\\etg})350 -1519 y Fr(Finally)12 b(w)o(e)i(ha)o(v)o(e)g(an)g(example)e(with)i(dotted)g -(Bezier)i(splines.)226 1580 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -226 1580 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -226 1580 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv [20 30 20] 0 sd 0 600 lv 0 0 mv st 4 sl [20 20 10 10] 0 sd 1 slc 1 slj np 0 0 mv 300 300 600 300 900 0 cv st np 900 0 mx 300 neg -300 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr st 4 sl [20 20] 0 sd 1 slc 1 slj np 900 0 mv 1200 300 mv 0 600 1500 600 300 300 cv st np 300 300 mx 300 neg 1200 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr st end -226 1580 a - grestore -354 2414 a Fo(Draft)k(Version:)f(1991/8/24)p eop -%%Page: 189 11 -bop 1304 83 a Fm(Simple)15 b(V)m(e)n(ctor)f(F)m(orms)95 b Fn(189)350 -214 y Fr(whic)o(h)14 b(w)o(as)g(giv)o(en)f(b)o(y)267 266 y -Fp(\\centergraph{)19 b(\\btg)i(\\lpatt)g(p:{[20)f(30)h(20]})681 -319 y(\\lvec)g(h:0)g(v:2)681 371 y(\\move)g(h:0)g(v:0)681 423 -y(\\lpatt)g(p:{[20)f(20)h(10)h(10]})659 475 y(\\cav)f(\(1)h(1\))f(\(2)g(1\))h -(\(3)f(0\))681 528 y(\\lpatt)g(p:{[20)f(20]})659 580 y(\\move)h(h:4)g(v:1)659 -632 y(\\cav)g(\(0)h(2\))f(\(5)g(2\))h(\(1)f(1\))594 685 y(\\etg)528 -737 y(})267 789 y Fr(This)d(is)h(o\013)f(cen)o(ter)i(b)q(ecause)g(the)g -(width)e(computation)f(includes)i(the)g(\(5)f(2\))g(con)o(trol)267 -840 y(p)q(oin)o(t)13 b(of)h(the)g(Bezier)h(curv)o(e.)267 993 -y Fn(30.5.1)48 b(T)l(ext)15 b(in)g(Graphs)350 1080 y Fr(All)c(text)i(within)f -(T)652 1088 y(E)675 1080 y(X)o(Graph)g(is)g(actually)f(t)o(yp)q(eset)j(b)o(y) -e(T)1251 1088 y(E)1274 1080 y(X.)g(Since)h(T)1459 1088 y(E)1482 -1080 y(X)f(do)q(es)h(this)267 1130 y(so)h(b)q(eautifully)m(,)f(it)h(seems)g -(coun)o(ter)i(pro)q(ductiv)o(e)f(to)f(do)g(it)g(otherwise.)21 -b(The)15 b(commands)267 1181 y(for)e(including)g(text)i(at)f(v)n(arious)f -(angles)h(are)225 1245 y Fk(?)21 b Fp(\\htext)f({<text>})267 -1324 y Fr(This)14 b(puts)g(the)h(text)f(in)g(a)f(horizon)o(tal)g -Fp(\\hbox)g Fr(running)h(from)e(left)h(to)h(righ)o(t.)225 1446 -y Fk(?)21 b Fp(\\vtext)f({<text>})267 1525 y Fr(This)14 b(puts)g(the)h(text)f -(in)g(a)f(v)o(ertical)h Fp(\\hbox)f Fr(going)f(up)o(w)o(ards.)225 -1646 y Fk(?)21 b Fp(\\rtext)f(d:<degrees>)g(t:{<text>})267 -1725 y Fr(This)14 b(puts)g(text)h(in)e(an)h Fp(\\hbox)f Fr(with)g(an)h -(arbitrary)g(rotation)f(of)g Fp(<degrees>)p Fr(.)225 1847 y -Fk(?)21 b Fp(\\rstext)f(d:<degrees>)g(sc:<scale>)g(t:{<text>})267 -1926 y Fr(This)14 b(puts)h(text)f(in)g(an)g Fp(\\hbox)f Fr(with)h(an)g -(arbitrary)g(rotation)f(of)h Fp(<degrees>)e Fr(and)i(scale)267 -1976 y Fp(<scale>)p Fr(.)350 2029 y(T)m(ext)g(is)g(placed)h(in)f(an)g -Fp(\\hbox)p Fr(.)k(This)c(b)q(o)o(x)g(is)g(lo)q(cated)h(at)f(the)h(p)q(oin)o -(t)f(in)f(the)i(graph)267 2079 y(where)i(the)g Fp(\\?text)e -Fr(command)e(is)k(called.)24 b(In)16 b(order)h(to)g(mak)o(e)d(the)j(exact)g -(placemen)o(t)267 2130 y(of)f(the)i(b)q(o)o(x)f(in)f(a)h(graph)g(easier,)h -(the)g(b)q(o)o(x)e(is)h(actually)f(orien)o(ted)i(at)f(an)o(y)f(one)i(of)e -(nine)267 2180 y(reference)g(p)q(oin)o(ts.)i(The)d(command)c(is)350 -2422 y Fo(Draft)16 b(Version:)32 b(1991/8/24)p eop -%%Page: 190 12 -bop 100 83 a Fn(190)95 b Fm(CHAPTER)14 b(30:)20 b(T)587 92 -y(E)609 83 y(X)o(Gr)n(aph)225 214 y Fk(?)h Fp(\\textref)f(h:<L)h(C)h(R>)f -(v:<T)g(C)h(B>)267 284 y Fr(The)13 b(c)o(hoices)g(of)f Fp(L)22 -b(C)g(R)12 b Fr(are)h(Left,)f(Cen)o(ter,)i(and)e(Righ)o(t)g(resp)q(ectiv)o -(ely)i(in)e(the)h(horizon)o(tal)267 334 y(and)h(v)o(ertical)f(p)q(ositions.) -350 383 y(The)h(nine)g(c)o(hoices)h(are)f(sho)o(wn)g(b)q(elo)o(w:)640 -429 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -640 429 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -488 443 a Fr(h:L)f(v:T)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 42 0 lv 126 84 lv st np 126 84 mx -84 neg -84 at -16 4 mv 0 0 lv -16 -4 lv st gr 0 189 mv st end -640 618 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -488 632 a Fr(h:L)g(v:C)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 189 mv 126 189 lv st np 126 189 mx 0 neg -126 at -16 4 mv 0 0 lv -16 -4 lv st gr 0 378 mv st end -640 807 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -489 821 a Fr(h:L)g(v:B)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 378 mv 42 378 lv 126 294 lv st np 126 294 mx 84 neg -84 at -16 4 mv 0 0 lv -16 -4 lv st gr 672 0 mv st end -1312 429 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1325 443 a Fr(h:R)g(v:T)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 672 0 mv 630 0 lv 546 84 lv st np 546 84 mx -84 neg 84 at -16 4 mv 0 0 lv -16 -4 lv st gr 672 189 mv st end -1312 618 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1325 632 a Fr(h:R)g(v:C)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 672 189 mv 546 189 lv st np 546 189 mx 0 neg 126 at -16 4 mv 0 0 lv -16 -4 lv st gr 672 378 mv st end -1312 807 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1325 821 a Fr(h:R)g(v:B)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 672 378 mv 630 378 lv 546 294 lv st np 546 294 mx 84 neg 84 at -16 4 mv 0 0 lv -16 -4 lv st gr 336 0 mv st end -976 429 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -905 429 a Fr(h:C)g(v:T)-407 b - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 336 0 mv 336 10 mv 336 84 lv st np 336 84 mx -74 neg 0 at -16 4 mv 0 0 lv -16 -4 lv st gr 420 147 mv st end -1060 576 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1073 590 a Fr(h:C)14 b(v:C)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 420 147 mv 388 147 lv 336 189 lv st np 336 189 mx -42 neg 52 at -16 4 mv 0 0 lv -16 -4 lv st gr 336 378 mv st end -976 807 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -905 836 a Fr(h:C)f(v:B)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 336 378 mv 336 367 mv 336 294 lv st np 336 294 mx 73 neg 0 at -16 4 mv 0 0 lv -16 -4 lv st gr 126 84 mv st end -640 429 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 126 84 mv 336 84 lv st end -976 513 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -966 522 a Fq(\017)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 336 84 mv 546 84 lv st end -1186 513 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1176 522 a Fq(\017)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 546 84 mv 546 189 lv st end -1186 618 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1176 627 a Fq(\017)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 546 189 mv 546 294 lv st end -1186 723 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1176 732 a Fq(\017)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 546 294 mv 336 294 lv st end -976 723 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -966 732 a Fq(\017)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 336 294 mv 126 294 lv st end -766 723 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -756 732 a Fq(\017)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 126 294 mv 126 189 lv st end -766 618 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -756 627 a Fq(\017)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 126 189 mv 126 84 lv st end -766 513 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -756 522 a Fq(\017)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -976 618 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -966 627 a Fq(\017)640 429 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -640 429 a - grestore -350 877 a Fr(These)i(reference)h(p)q(oin)o(ts)e(mo)o(v)o(e)e(with)i(the)g(b)q -(o)o(x)g(as)g(it)g(is)f(rotated)i(or)f(scaled.)350 926 y(As)e(an)g(example)e -(w)o(e)i(add)f(the)i(follo)o(wing)c Fk(\032)j Fr(=)1082 895 -y Fi(P)1125 905 y Fh(n)1125 939 y(i)p Fg(=1)1188 926 y Fk(\032)1209 -932 y Fh(i)1235 926 y Fr(to)g(the)g(cen)o(ter)h(of)e(the)i(blo)q(c)o(k)267 -976 y(diagram)e(used)k(previously)f(to)g(giv)o(e)751 1019 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -751 1019 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -1051 1109 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -941 1120 a Fk(\032)e Fr(=)1018 1088 y Fi(P)1062 1099 y Fh(n)1062 -1132 y(i)p Fg(=1)1125 1120 y Fk(\032)1146 1126 y Fh(i)751 1019 -y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -751 1019 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 300 90 mv 0 90 mv 150 90 lv st np 150 90 mx 0 neg -150 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr 150 180 mv 150 0 lv 450 0 lv 450 180 lv 150 180 lv st end -751 1019 a - grestore -267 1275 a Fr(The)i(commands)e(to)h(do)h(this)g(are)267 1319 -y Fj(\\centergr)o(aph)o({\\b)o(tg)441 1364 y(\\move)20 b(h:1.0)g(v:.3)g(\045) -i(moves)e(to)h(center)e(of)i(box)441 1408 y(\\textref)e(h:C)i(v:C)f(\045)i -(sets)e(text)g(reference)e(to)j(dead)g(center)441 1453 y(\\htext)f -({$\\rho=\\s)o(um)o(_{i)o(=1})o(^{)o(n}\\)o(rh)o(o_i)o($})e(\045)k(puts)e(in) -h(text)441 1497 y(\\move)f(h:0)h(v:.3)441 1542 y(\\avec)f(h:.5)g(v:.3)h(\045) -g(arrow)f(vector)f(leading)g(into)i(box)441 1586 y(\\move)f(h:.5)g(v:.6)h -(\045)g(moves)f(to)h(lower)f(lefthand)e(corner)i(of)h(box)441 -1631 y(\\lvec)f(h:.5)g(v:0)43 b(\045)21 b(four)f(sides)441 -1675 y(\\lvec)g(h:1.5)g(v:0)441 1720 y(\\lvec)g(h:1.5)g(v:.6)441 -1764 y(\\lvec)g(h:.5)g(v:.6)485 1809 y(\\etg})350 1907 y Fr(Arbitrary)14 -b(rotation)g(of)f(text)i(or)f(graphics)g Fp(\\rtext)p Fr(.)j(This)d(example)f -(uses)i Fp(\\rtext)267 1957 y(d:45)21 b(t:<text>)12 b Fr(in)i(place)g(of)f -(the)h Fp(\\htext)p Fr(.)751 2000 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -751 2000 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -1051 2090 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 45 neg rt Xp1 neg Yp1 neg tr end -941 2101 a Fk(\032)e Fr(=)1018 2070 y Fi(P)1062 2080 y Fh(n)1062 -2113 y(i)p Fg(=1)1125 2101 y Fk(\032)1146 2107 y Fh(i)751 2000 -y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -751 2000 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 300 90 mv 0 90 mv 150 90 lv st np 150 90 mx 0 neg -150 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr 150 180 mv 150 0 lv 450 0 lv 450 180 lv 150 180 lv st end -751 2000 a - grestore -350 2414 a Fo(Draft)k(Version:)32 b(1991/8/24)p eop -%%Page: 191 13 -bop 1290 83 a Fm(Simple)22 b(V)m(e)n(ctor)f(F)m(orms)95 b Fn(191)267 -214 y Fr(Note)15 b(that)f(the)h(text)g(spills)f(out)g(o)o(v)o(er)h(the)g -(edges)g(of)f(the)h(b)q(o)o(x.)20 b(There)15 b(is)g(no)f(guaran)o(tee)267 -264 y(that)g(the)h(text)f(will)f(\014t)h(in)g(the)h(b)q(o)o(x.)j(In)c(fact)g -(if)f(w)o(e)i(tak)o(e)f(the)g(horizon)o(tal)g(example)e(and)267 -315 y(add)i(a)f Fp(\\unitscale)20 b(.7)h(\\arrowheadscale)11 -b Fr(the)k(follo)o(wing)c(results:)818 381 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -818 381 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -1028 444 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -919 455 a Fk(\032)h Fr(=)996 424 y Fi(P)1039 434 y Fh(n)1039 -467 y(i)p Fg(=1)1102 455 y Fk(\032)1123 461 y Fh(i)818 381 -y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -818 381 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 210 63 mv 0 63 mv 105 63 lv st np 105 63 mx 0 neg -105 at -33 8 mv 0 0 lv -33 -8 lv cp gs 1 sg fill gr st gr 105 126 mv 105 0 lv 315 0 lv 315 126 lv 105 126 lv st end -818 381 a - grestore -350 613 a Fr(Note)j(that)g(the)h(fon)o(t)e(is)h(not)g(scaled.)21 -b(If)15 b(w)o(e)g(use)h Fp(\\rstext)21 b(d:0)g(sc:.8)h(t:<...>)267 -664 y Fr(w)o(e)14 b(get)818 730 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -818 730 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -1028 793 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 0 neg rt .8 .8 sc Xp1 neg Yp1 neg tr end -919 804 a Fk(\032)e Fr(=)996 773 y Fi(P)1039 783 y Fh(n)1039 -816 y(i)p Fg(=1)1102 804 y Fk(\032)1123 810 y Fh(i)818 730 -y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -818 730 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 210 63 mv 0 63 mv 105 63 lv st np 105 63 mx 0 neg -105 at -33 8 mv 0 0 lv -33 -8 lv cp gs 1 sg fill gr st gr 105 126 mv 105 0 lv 315 0 lv 315 126 lv 105 126 lv st end -818 730 a - grestore -267 1081 a Fl(30.6)56 b(Rotated)19 b(Graphics)g(and)g(T)-5 -b(ext)350 1167 y Fr(It)20 b(is)f(p)q(ossible)h(to)g(place)g(graphics)g(or)f -(text)i(at)e(an)o(y)g(arbitrary)h(direction)g(on)f(a)267 1218 -y(page.)k(It)16 b(is)f(only)g(necessary)j(to)d(include)h(it)f(in)g(a)h -Fp(\\vtext)e Fr(for)h(v)o(ertical)h(or)f(an)g Fp(\\rtext)267 -1268 y Fr(for)c(an)h(arbitrary)f(rotation.)17 b(Ho)o(w)o(ev)o(er,)12 -b(it)g(should)f(b)q(e)h(remem)o(b)q(ered)g(that)f(the)i(reference)267 -1319 y(p)q(oin)o(t)18 b(is)h(that)g(p)q(osition)f(on)h(the)g(page)g(where)h -(the)f Fp(\\?text)f Fr(w)o(as)h(en)o(tered)h Fn(and)e Fr(that)267 -1369 y(the)c(text/graphics)g(go)q(es)g(at)g(the)g(appropriate)f(angle.)18 -b(The)c(follo)o(wing)d(sho)o(ws)i(a)h(simple)267 1420 y(table)h(angled)g(on)g -(the)g(page.)22 b(T)m(o)15 b(do)g(this)g(correctly)m(,)h(requires)g(that)f(y) -o(ou)g(disco)o(v)o(er)h(the)267 1470 y(size)f(of)e(the)h(table.)676 -1580 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -676 1580 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -676 1580 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 0 300 lv st end -676 1880 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 45 neg rt Xp1 neg Yp1 neg tr end -689 1880 a - td begin chv /Yp2 exch def /Xp2 exch def gs Xp2 Yp2 tr 1 1 scale end -689 1880 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 300 0 lv st end -1083 1915 a - - td begin chv /Yp2 exch def /Xp2 exch def gr gs Xp2 Yp2 tr /XposR Xp2 def /YposR Yp2 def Xp2 neg Yp2 neg tr end -689 1880 a - - td begin chv /Yp2 exch def /Xp2 exch def gr gs Xp2 Yp2 mv Xp2 Yp2 tr 1 1 scale end -766 2326 a - - td begin chv /Yp2 exch def /Xp2 exch def gr gs Xp2 Yp2 tr Xp2 neg Yp2 neg tr end -766 2326 a - - td begin chv /Yp2 exch def /Xp2 exch def gr gs XposR YposR tr 0 neg rt XposR neg YposR neg tr Xp2 Yp2 tr .25 .25 sc 4.17 -4.17 scale end /texgraph save def /showpage {} def -780 2326 a -%%BeginDocument: ieeelogo.ps -0.240000 0.240000 scale -896 1509 translate -768 282 scale -768 282 true [768 0 0 -282 0 282] {< -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000700000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000001C000000000000000000000000000000000000000000000000000000000000000000F800000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000FF00000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000001FF800000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000003FFC00000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000007FFE000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000FFFF00000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000001FFFF0000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000003FFFF80000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000003FFFFC0000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000007FFFFE00000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000FFFFFE0000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000001FFFFFF000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000001FFFFFF8000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000003FFFFFF8000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000007FFFFFFC0000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00FFFFFFFE000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000001FFFFFFFF00000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000001FFFFFFFF800000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000003FFFFFFFF800000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000007FFFFFFFFC000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0FFFFFFFFFE00000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000001FFFFFFFFFE0000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFF00000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000003FFFFFFFFFF80000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000003FFFFFFFFFFC00000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFE0000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFF000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFFFF0000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000003FFFFFFFFFFFF8000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000007FFFFFFFFFFFFC0000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000007 -FFFFFC1FFFFFE000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000FFFFFE003FFFFF00000000000000000000000000000000000 -0000000000000000000000001FC00000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000001FFFFF8000FFFFF000 -000000000000000000000000000000000000000000000000000000001FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000003FFFFF03E03FFFF800000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000007FFFFC1FFC1FFFFC000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000FF -FFF87FFF07FFFE00000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000001FFFFE0FFFF83FFFF0000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000003FFFFC3FFFFE1FFFF80 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000007FFFF07FFFFF07FFFC0000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000007FFFE1FFFFFFC3FFFE00000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000001FFF -F83FFFFFFE1FFFE0000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000001FFFF07FFFFFFF07FFF000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000003FFFF0FFFFFFFF83FFF8 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000007FFFC3FFFFFFFFC1FFFC000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000FFFF87FFFFFFFFF0FFFE0000000000000000 -00000000000000000000000000000000000000000FC000000000000000000000000000000007FFFF -F800000000000000000000000000000000000000000000000000000000000000000000000001FFFF -0FFFFFFFFFF87FFF000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000001FFFFFFFFFC00000000000000000000000000000000000000000000 -0000000000000000000000000003FFFE1FFFFFFFFFF81FFF80000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000000000000FFFFFFFFFFF800000000000 -000000000000000000000000000000000000000000000000000000000007FFFC3FFFFFFFFFFE0FFF -C00000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000FFFFFF83FFFFF80000000000000000000000000000000000000000000000000000000000 -00000000000FFFF0FFFFFFFFFFFF07FFE00000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000000007FFF8000000FFFF00000000000000000000000000 -0000000000000000000000000000000000000000001FFFE1FFFFFFFFFFFF83FFF000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000003FFE000000 -0003FFE00000000000000000000000000000000000000000000000000000000000000000003FFFC3 -FFFFFFFFFFFFC1FFF80000000000000000000000000000000000000000000000000000000FC00000 -0000000000000000000000FFE000000000003FFC0000000000000000000000000000000000000000 -000000000000000000000000007FFF87FFFFFFFFFFFFE0FFFC000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000FFE00000000000007FF00000000 -0000000000000000000000000000000000000000000000000000000000FFFF0FFFFFFFFFFFFFF87F -FE0000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00001FF0000000000000007FC0000000000000000000000000000000000000000000000000000000 -0000000001FFFC3FFFFFFFFFFFFFFC3FFF0000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000000FF80000000000000000FF80000000000000000000000 -000000000000000000000000000000000000000003FFF87FFFFFFFFFFFFFFE0FFF80000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003FE0000000000 -00000003FE0000000000000000000000000000000000000000000000000000000000000007FFF0FF -FFFFFFFFFFFFFF07FF8000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000007F80000000000000000007F80000000000000000000000000000000000000 -0000000000000000000000000FFFF1FFFFFFFE7FFFFFFF83FFC00000000000000000000000000000 -0000000000000000000000000FC000000000000000000000001FC00000000000000000001FC00000 -000000000000000000000000000000000000000000000000000000001FFFE3FFFFFFFC7FFFFFFFE1 -FFE000000000000000000000000000000000000000000000000000000FC000000000000000000000 -003F0000000000000000000007F80000000000000000000000000000000000000000000000000000 -000000003FFFC7FFFFFFFC3FFFFFFFE0FFF000000000000000000000000000000000000000000000 -000000000FC00000000000000000000000780000000000000000000001FC00000000000000000000 -00000000000000000000000000000000000000007FFF9FFFFFFFFC3FFFFFFFF07FFC000000000000 -00000000000000000000000000000000000000000FC00000000000000000000000C0000000000000 -00000000007F000000000000000000000000000000000000000000000000000000000000FFFE3FFF -FFFFF81FFFFFFFFC3FFE00000000000000000000000000000000000000000000000000000FC00000 -0000000000000000078000000000000000000000001F800000000000000000000000000000000000 -000000000000000000000001FFFC7FFFFFFFF81FFFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC0000000000000000000000E00000000000000000000000007E000 -00000000000000000000000000000000000000000000000000000003FFF8FFFFFFFFF00FFFFFFFFF -0FFF80000000000000000000000000000000000000000000000000000FC000000000000000000000 -3C00000000000000000000000003F000000000000000000000000000000000000000000000000000 -0000000FFFF1FFFFFFFFF00FFFFFFFFF87FFC0000000000000000000000000000000000000000000 -000000000FC0000000000000000000007800000000000000000000000000F8000000000000000000 -000000000000000000000000000000000000001FFFE3FFFFFFFFF00FFFFFFFFFC3FFE00000000000 -00000000000000000000000000000000000000000FC000000000000000000001F0000000000003FF -FC00000000007E000000000000000000000000000000000000000000000000000000003FFFC7FFFF -FFFFE007FFFFFFFFE1FFF0000000000000000000000000000000000000000000000000000FC00000 -0000000000000003C000000000003FFFFFC0000000003F0000000000000000000000000000000000 -00000000000000000000007FFF8FFFFFFFFFE007FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC000000000000000000007800000000000FFFFFFF0000000000F80 -000000000000000000000000000000000000000000000000000000FFFF9FFFFFFFFFE007FFFFFFFF -F87FFC000000000000000000000000000000000000000000000000000FC00000000000000000001F -000000000007FFFFFFF80000000007C0000000000000000000000000000000000000000000000000 -000001FFFE3FFFFFFFFFE003FFFFFFFFF83FFE000000000000000000000000000000000000000000 -000000000FC00000000000000000003C00000000000FFFFFFFF80000000003F00000000000000000 -00000000000000000000000000000000000003FFFC7FFFFFFFFFC003FFFFFFFFFC1FFF0000000000 -00000000000000000000000000000000000000000FC00000000000000000007800000000001FFFFF -FFF80000000000F8000000000000000000000000000000000000000000000000000007FFF8FFFFFF -FFFFC001FFFFFFFFFE0FFF800000000000000000000000000000000000000000000000000FC00000 -00000000000000F000000000003FFFFFFF8000000000007C00000000000000000000000000000000 -000000000000000000000FFFF1FFFFFFFFFF8001FFFFFFFFFF07FFE0000000000000000000000000 -0000000000000000000000000FC0000000000000000001E000000000007FFFFFF80000000000003E -00000000000000000000000000000000000000000000000000001FFFE3FFFFFFFFFF8001FFFFFFFF -FF87FFE00000000000000000000000000000000000000000000000000FC0000000000000000003C0 -0000000000FFFFFFE00000000000001F000000000000000000000000000000000000000000000000 -00003FFFC7FFFFFFFFFF8000FFFFFFFFFFC3FFF80000000000000000000000000000000000000000 -000000000FC0000000000000000007800000000001FFFFFF800000000000000F8000000000000000 -0000000000000000000000000000000000007FFF8FFFFFFFFFFF0000FFFFFFFFFFE1FFFC00000000 -00000000000000000000000000000000000000000FC000000000000000000F000000000003FFFFFF -0000000000000007C000000000000000000000000000000000000000000000000001FFFF1FFFFFFF -FFFF0000FFFFFFFFFFF0FFFE0000000000000000000000000000000000000000000000000FC00000 -0000000000001C000000000007FFFFFC0000000000000003E0000000000000000000000000000000 -00000000000000000003FFFE3FFFFFFFFFFF00007FFFFFFFFFFC7FFF000000000000000000000000 -0000000000000000000000000FC000000000000000003C000000000007FFFFFC0000000000000001 -F000000000000000000000000000000000000000000000000007FFFC7FFFFFFFFFFE00007FFFFFFF -FFFC3FFF8000000000000000000000000000000000000000000000000FC000000000000000007800 -000000000FFFFFFC0000000000000000F80000000000000000000000000000000000000000000000 -000FFFF87FFFFFFFFFFE00007FFFFFFFFFFE1FFFC000000000000000000000000000000000000000 -000000000FC00000000000000000F000000000000FFFFFFFC0000000000000007800000000000000 -00000000000000000000000000000000003FFFF0FFFFFFFFFFFE00003FFFFFFFFFFF0FFFF0000000 -00000000000000000000000000000000000000000FC00000000000000001E000000000000FFFFFFF -FF000000000000003C0000000000000000000000000000000000000000000000007FFFF1FFFFFFFF -FFFC00003FFFFFFFFFFF87FFF800000000000000000000000000000000000000000000000FC00000 -000000000001C000000000001FFFFFFFFFF00000000000001E000000000000000000000000000000 -000000000000000000FFFFC3FFFFFFFFFFFC00003FFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC000000000000000038000000000001FFFFFFFFFFE000000000000 -0F000000000000000000000000000000000000000000000001FFFF87FFFFFFFFFFFC00003FFFFFFF -FFFFE3FFFE00000000000000000000000000000000000000000000000FC000000000000000078000 -000000003FFFFFF00FFFC00000000000070000000000000000000000000000000000000000000000 -03FFFF8FFFFFFFFFFFFC00003FFFFFFFFFFFF1FFFF80000000000000000000000000000000000000 -000000000FC0000000000000000F0000000000007FFFFFF0007FF000000000000780000000000000 -000000000000000000000000000000000FFFFF1FFFFFFFFFFFFF0000FFFFFFFFFFFFF0FFFFC00000 -00000000000000000000000000000000000000000FC0000000000000001E000000000001FFFFFFF0 -000FFC000000000003C0000000000000000000000000000000000000000000001FFFFE1FFFFFFFFF -FFFFC003FFFFFFFFFFFFF87FFFE0000000000000000000000000000000000000000000000FC00000 -00000000001C000000000007FFFFFFF00000FF000000000001E00000000000000000000000000000 -00000000000000003FFFFC3FFFFFFFFFFFFFE00FFFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC0000000000000003C00000000001FFFFFFFF000003F8000000000 -01F0000000000000000000000000000000000000000000007FFFF87FFFFFFFFFFFFFF00FFFFFFFFF -FFFFFE1FFFF8000000000000000000000000000000000000000000000FC000000000000000380000 -0000003FFFFFFFF800000FE00000000000F000000000000000000000000000000000000000000000 -FFFFF8FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF1FFFFC000000000000000000000000000000000000 -000000000FC000000000000000700000000000FF1FFFFFF8000003F8000000000078000000000000 -00000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFF0FFFFF0000 -00000000000000000000000000000000000000000FC000000000000000F00000000001F81FFFFFFC -000000FE00000000007C00000000000000000000000000000000000000000007FFFFE3FFFFFFFFFF -FFFFF00FFFFFFFFFFFFFFF87FFFF800000000000000000000000000000000000000000000FC00000 -0000000000E00000000007F00FFFFFFC0000003F00000000003C0000000000000000000000000000 -000000000000000FFFFFC7FFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFC3FFFFC0000000000000000000 -0000000000000000000000000FC000000000000001E0000000000FC00FFFFFFE0000001F80000000 -001E0000000000000000000000000000000000000000003FFFFF87FFFFFFFFFFFFFFF00FFFFFFFFF -FFFFFFE3FFFFF00000000000000000000000000000000000000000000FC000000000000003C00000 -00001F8007FFFFFF00000007C0000000000E0000000000000000000000000000000000000000007F -FFFF8FFFFFFFFFFBFFFFF00FFFFFFFFFFFFFFFF1FFFFF80000000000000000000000000000000000 -000000000FC00000000000000380000000003E0007FFFFFF80000003F0000000000F000000000000 -000000000000000000000000000001FFFFFF1FFFFFFFFFC03FFFF00FFFFFFFFFFFFFFFF0FFFFFE00 -00000000000000000000000000000000000000000FC0000000000000078000000000FC0007FFFFFF -C0000000F80000000007800000000000000000000000000000000000000003FFFFFF3FFFFFFFFE00 -0FFFF00FFFFBFFFFFFFFFFF87FFFFF0000000000000000000000000000000000000000000FC00000 -000000000F0000000001F00003FFFFFFF00000007C00000000078000000000000000000000000000 -0000000000000FFFFFFC7FFFFFFFF80007FFF00FFFF01FFFFFFFFFFC7FFFFFC00000000000000000 -0000000000000000000000000FC00000000000000E0000000003E00001FFFFFFFC0000003E000000 -0003C0000000000000000000000000000000000000001FFFFFF8FFFFFFFFE00003FFF00FFFF001FF -FFFFFFFE3FFFFFE000000000000000000000000000000000000000000F800000000000001E000000 -0007E00001FFFFFFFE0000000F0000000001C0000000000000000000000000000000000000007FFF -FFF9FFFFFFFF800007FFF00FFFF0007FFFFFFFFF1FFFFFF800000000000000000000000000000000 -000000000F800000000000001E000000000F800000FFFFFFFF800000078000000001E00000000000 -0000000000000000000000000000FFFFFFF1FFFFFFFE00001FFFF00FFFF8003FFFFFFFFF0FFFFFFC -00000000000000000000000000000000000000000FC00000000000003C000000001F0000007FFFFF -FFC0000003C000000001E000000000000000000000000000000000000003FFFFFFE3FFFFFFFC0000 -7FFFF00FFFFFF83FFFFFFFFF8FFFFFFE00000000000000000000000000000000000000000FC00000 -0000000038000000003E0000003FFFFFFFE0000001E000000000F000000000000000000000000000 -000000000007FFFFFFE3FFFFFFF80003FFFFF00FFFFFFE1FFFFFFFFFC7FFFFFF8000000000000000 -0000000000000000000000000FC000000000000078000000007C0000001FFFFFFFF0000000F00000 -0000700000000000000000000000000000000000000FFFFFFFC7FFFFFFF00007FFFFF00FFFFFFF07 -FFFFFFFFC3FFFFFFC0000000000000000000000000000000000000000FC000000000000070000000 -007800000007FFFFFFF80000007800000000780000000000000000000000000000000000000FFFFF -FF87FFFFFFE0000FFFFFF00FFFFFFFC3FFFFFFFFE3FFFFFFE0000000000000000000000000000000 -000000000FC0000000000000F000000000F000000003FFFFFFFC0000007800000000780000000000 -000000000000000000000000001FFFFFFF8FFFFFFFE0003FFFFFF00FFFFFFFE1FFFFFFFFE1FFFFFF -F0000000000000000000000000000000000000000FC0000000000000F000000000F000000001FFFF -FFFE0000003C000000003C0000000000000000000000000000000000001FFFFFFF8FFFFFFFC0007F -FFFFF00FFFFFFFE0FFFFFFFFF1FFFFFFF8000000000000000000000000000000000000000FC00000 -00000000E000000001E0000000007FFFFFFF0000001E000000003C00000000000000000000000000 -00000000003FFFFFFF8FFFFFFFC0007FFFFFF00FFFFFFFF07FFFFFFFF1FFFFFFF800000000000000 -0000000000000000000000000FC0000000000001E000000003C0000000001FFFFFFF0000000F0000 -00001C0000000000000000000000000000000000003FFFFFFF0FFFFFFFC0007FFFFFF00FFFFFFFF0 -7FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC0000000000001E0000000 -03C00000000007FFFFFF0000000F800000001E0000000000000000000000000000000000001FFFFF -FF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000 -000000000FC0000000000001C000000007800000000001FFFFFF80000007800000001E0000000000 -000000000000000000000000001FFFFFFF0FFFFFFFC000FFFFFFF00FFFFFFFF07FFFFFFFF0FFFFFF -F8000000000000000000000000000000000000000FC0000000000003C00000000F0000000000007F -FFFF80000003C00000000E0000000000000000000000000000000000001FFFFFFF0FFFFFFFC0007F -FFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF8000000000000000000000000000000000000000FC00000 -00000003800000000E0000000000003FFFFFC0000003C00000000F00000000000000000000000000 -00000000000FFFFFFF8FFFFFFFE0007FFFFFF00FFFFFFFF07FFFFFFFF0FFFFFFF800000000000000 -0000000000000000000000000FC0000000000003800000001E0000000000000FFFFFC0000001E000 -0000070000000000000000000000000000000000000FFFFFFF87FFFFFFE0007FFFFFF00FFFFFFFE0 -7FFFFFFFF1FFFFFFF0000000000000000000000000000000000000000FC000000000000780000000 -1C00000000000007FFFFC0000001E00000000700000000000000000000000000000000000007FFFF -FF87FFFFFFF0003FFFFFF00FFFFFFFC0FFFFFFFFE1FFFFFFF0000000000000000000000000000000 -000000000FC0000000000007000000003C00000000000003FFFFC0000000F0000000078000000000 -0000000000000000000000000003FFFFFFC7FFFFFFF8001FFFFFE00FFFFFFF81FFFFFFFFE3FFFFFF -E0000000000000000000000000000000000000000FC0000000000007000000007800000000000003 -FFFFE0000000700000000380000000000000000000000000000000000000FFFFFFC3FFFFFFFC000F -FFFFF00FFFFFFF03FFFFFFFFE3FFFFFFC0000000000000000000000000000000000000000FC00000 -00000007000000007800000000000001FFFFE0000000780000000380000000000000000000000000 -0000000000007FFFFFE1FFFFFFFF0007FFFFF00FFFFFFC07FFFFFFFFC7FFFFFF0000000000000000 -0000000000000000000000000FC000000000000E000000007000000000000001FFFFE00000003800 -000003C00000000000000000000000000000000000003FFFFFF1FFFFFFFFC000FFFFF81FFFFFF01F -FFFFFFFF87FFFFFC00000000000000000000000000000000000000000FC000000000000E00000000 -F000000000000000FFFFE00000003C00000003C00000000000000000000000000000000000000FFF -FFF8FFFFFFFFF0003FFFFFFFFFFF807FFFFFFFFF8FFFFFF800000000000000000000000000000000 -000000000FC000000000000E00000000F000000000000000FFFFC00000001C00000003C000000000 -000000000000000000000000000007FFFFF87FFFFFFFFE0007FFFFFFFFF801FFFFFFFFFF0FFFFFE0 -00000000000000000000000000000000000000000FC000000000001E00000001E000000000000000 -7FFFC00000001E00000003E000000000000000000000000000000000000001FFFFFC3FFFFFFFFF80 -000FFFFFFF801FFFFFFFFFFE1FFFFFC000000000000000000000000000000000000000000FC00000 -0000001E00000001E0000000000000007FFFC00000001FFFFFFFFFE0000000000000000000000000 -00000000000000FFFFFE3FFFFFFFFFF80000001F8001FFFFFFFFFFFC3FFFFF000000000000000000 -0000000000000000000000000FC000000000001C00000001C0000000000000007FFFC00000001FFF -FFFFFFC0000000000000000000000000000000000000007FFFFF1FFFFFFFFFFF80000000000FFFFF -FFFFFFFC7FFFFE0000000000000000000000000000000000000000000FC000000000001C00000003 -C0000000000000007FFF8000000003FFFFFFFF80000000000000000000000000000000000000001F -FFFF8FFFFFFFFFFFFE00000003FFFFFFFFFFFFF87FFFFC0000000000000000000000000000000000 -000000000FC000000000001C0000000380000000000000007FFF8000000000000000000000000000 -0000000000000000000000000000000FFFFF87FFFFFFFFFFFFFE0003FFFFFFFFFFFFFFF0FFFFF800 -00000000000000000000000000000000000000000FC000000000003C000000038000000000000000 -7FFF800000000000000000000000000000000000000000000000000000000007FFFFC3FFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFE1FFFFE00000000000000000000000000000000000000000000FC00000 -000000380000000780000000000000007FFF80000000000000000000000000000000000000000000 -0000000000000003FFFFE3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3FFFFC0000000000000000000 -0000000000000000000000000FC00000000000380000000780000000000000007FFF000000000000 -000000000000000000000000000000000000000000000001FFFFF1FFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFC7FFFF800000000000000000000000000000000000000000000FC000000000003800000007 -0000000000000000FFFE000000000000000000000000000000000000000000000000000000000000 -7FFFF0FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFF87FFFF000000000000000000000000000000000000 -000000000FC0000000000038000000070000000000000000FFFC0000000000000000000000000000 -000000000000000000000000000000003FFFF8FFFFFFFFFFFFFFE00FFFFFFFFFFFFFFF0FFFFC0000 -00000000000000000000000000000000000000000FC0000000000038000000070000000000000000 -FFF80000000000000000000000000000000000000000000000000000000000001FFFFC7FFFFFFFFF -FFFFE007FFFFFFFFFFFFFE1FFFF8000000000000000000000000000000000000000000000FC00000 -00000078000000070000000000000001FFF800000000000000000000000000000000000000000000 -00000000000000000FFFFE3FFFFFFFFFFFFFE007FFFFFFFFFFFFFC3FFFF000000000000000000000 -0000000000000000000000000FC00000000000780000000F0000000000000001FFF0000000000000 -00000000000000000000000000000000000000000000000007FFFE1FFFFFFFFFFFFFE007FFFFFFFF -FFFFFC3FFFE0000000000000000000000000000000000000000000000FC00000000000300000000E -0000000000000003FFE0000000000000000000000073C00000000000000000000000000000000000 -01FFFF0FFFFFFFFFFFFFC007FFFFFFFFFFFFF87FFF80000000000000000000000000000000000000 -000000000FC00000000000700000000E0000000000000003FF80000000000381FFF81FFF83FFF000 -0000000000000000000000000000000000FFFF87FFFFFFFFFFFFC007FFFFFFFFFFFFF0FFFF000000 -00000000000000000000000000000000000000000FC00000000000700000000E0000000000000007 -FF000000000007C1FFFC3FFF87FFF00000000000000000000000000000000000007FFFC3FFFFFFFF -FFFFC007FFFFFFFFFFFFE1FFFE00000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000000000FFC000000000007C3FFFC3FFF87FFF0000000000000000000 -0000000000000000003FFFE1FFFFFFFFFFFFC003FFFFFFFFFFFFC3FFFC0000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000000001FF000000000000FE3 -FFF87FFF87FFC00000000000000000000000000000000000000FFFF0FFFFFFFFFFFFC003FFFFFFFF -FFFF87FFF000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000000003FE0000000000007E3FF807F8007F0000000000000000000000000000000000000 -0007FFF87FFFFFFFFFFFC007FFFFFFFFFFFF0FFFE000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000000E7FFFE0000000000007E3F0007F0007E00000 -000000000000000000000000000000000003FFFC7FFFFFFFFFFFC003FFFFFFFFFFFF1FFFC0000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE0000000000FE3F0007F0007E00000000000000000000000000000000000000001FFFE1FFFFFFF -FFFFC003FFFFFFFFFFFE3FFF8000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000003FFFFFFFF0000000000FE3FC007FC007FF00000000000000000000 -000000000000000000007FFF0FFFFFFFFFFFC003FFFFFFFFFFF87FFE000000000000000000000000 -0000000000000000000000000FC00000000000700000001E00000000003E071E7FF0000000000FE3 -FFF87FFF07FFE0000000000000000000000000000000000000007FFF87FFFFFFFFFFC003FFFFFFFF -FFF8FFFC0000000000000000000000000000000000000000000000000FC00000000000700000001E -00000000001E000000F0000000000FE3FFF87FFF87FFF00000000000000000000000000000000000 -00001FFF83FFFFFFFFFFC003FFFFFFFFFFE1FFF80000000000000000000000000000000000000000 -000000000FC00000000000700000001E00000000001FFFFFFFF00000000007E3FFFC7FFF87FFE000 -0000000000000000000000000000000000000FFFE3FFFFFFFFFFC003FFFFFFFFFFC3FFF000000000 -00000000000000000000000000000000000000000FC00000000000700000001E00000000001FFFFF -FFE00000000007E3FFF87FFF07FFE00000000000000000000000000000000000000007FFE1FFFFFF -FFFFC003FFFFFFFFFFC7FFE00000000000000000000000000000000000000000000000000FC00000 -000000700000001E00000000000FFFFFFFE0000000000FE3FFE03FFC07FC00000000000000000000 -0000000000000000000003FFF0FFFFFFFFFFC003FFFFFFFFFF87FFC0000000000000000000000000 -0000000000000000000000000FC00000000000700000000E000000000007C0000FC00000000007E3 -F8003F0007E0000000000000000000000000000000000000000001FFF87FFFFFFFFFC003FFFFFFFF -FF0FFF800000000000000000000000000000000000000000000000000FC00000000000700000000E -000000000003C00007800000000007E3F8007F0007E0000000000000000000000000000000000000 -000000FFFC3FFFFFFFFFC003FFFFFFFFFE1FFF000000000000000000000000000000000000000000 -000000000FC00000000000700000000E000000000003C00007800000000007E3F8007F0007E00000 -000000000000000000000000000000000000007FFE1FFFFFFFFFC003FFFFFFFFFC3FFE0000000000 -00000000000000000000000000000000000000000FC00000000000700000000E000000000003C000 -07000000000007E3F8003F8007F00000000000000000000000000000000000000000003FFF0FFFFF -FFFF8003FFFFFFFFF87FFC000000000000000000000000000000000000000000000000000FC00000 -000000700000000E000000000003C00007000000000007E3FFF83FFF87FFF0000000000000000000 -00000000000000000000001FFF87FFFFFFFF8003FFFFFFFFF0FFF800000000000000000000000000 -0000000000000000000000000FC00000000000780000000E000000000003C00007000000000007E3 -FFFC3FFF87FFF800000000000000000000000000000000000000000FFFC3FFFFFFFFC003FFFFFFFF -E1FFF0000000000000000000000000000000000000000000000000000FC00000000000780000000E -000000000003C00007000000000007E3FFFC3FFF87FFF80000000000000000000000000000000000 -00000007FFE1FFFFFFFFC003FFFFFFFFC3FFE0000000000000000000000000000000000000000000 -000000000FC00000000000780000000E000000000001C00007000000000007C1FFFC3FFF83FFF000 -0000000000000000000000000000000000000003FFF0FFFFFFFFC003FFFFFFFF87FFC00000000000 -00000000000000000000000000000000000000000FC000000000007800000006000000000001C000 -0700000000000381FFF81FFF00FF80000000000000000000000000000000000000000001FFF87FFF -FFFF8003FFFFFFFF0FFF80000000000000000000000000000000000000000000000000000FC00000 -0000003800000007000000000001C00007000000000000000000000000000000000000000E000000 -000000000000000000000000FFFC3FFFFFFF8003FFFFFFFE1FFF0000000000000000000000000000 -0000000000000000000000000FC000000000003800000007000000000001C0000700000000000000 -0000000000000000000000001F0000000000000000000000000000003FFE1FFFFFFF8003FFFFFFFC -3FFC00000003FFFF80000000000000000000000000000000000000000FC000000000003800000007 -000000000001C0000F000000000000000000000000000000000000003F000007E000000000000000 -000070001FFF07FFFFFF8003FFFFFFF87FF800000007FFFFE0000000FFFFE0000000000000000000 -000000000FC000000000003C00000007800000000001C0000E000000000000000000000000000000 -000000007E00007FFE000000FFF000000000F0000FFF83FFFFFFC003FFFFFFE0FFF00000000FFFFF -F8000001FFFFFC00000E000000000000000000000FC000000000003C00000003800000000001C000 -0E00000000000000000000000000000000000001FE0003FFFFC0000FFFFE00000001F00007FFE1FF -FFFFF007FFFFFFC1FFE0007800FFFFFFF8300001FFFFFE00003F000000700000000000000FC00000 -0000001C00000003800000000001C0000E00000000000000000000000000000000000003FE000FFF -87F0003FFE0780000003F00003FFF0FFFFFFFFFFFFFFFF83FFC000F801FFFFFFFCF8003FFFFFFF0E -003F000000F80000000000000FC000000000001C00000003C00000000000E0000E00000000000000 -000000000000000000000007FE001FFC01F8007FF001C0000007F00001FFF87FFFFFFFFFFFFFFF07 -FF8001FC03FFFFFFFFF8007FFFFFFF9F007F000001F80000000000000FC000000000001C00000001 -C00000000000E0000E00000000000000000000000000000000000007FC003FE0007C00FFC000E000 -000FF00000FFFC3FFFFFFFFFFFFFFE0FFF0003FC03FFFFFFFFFC00FFFFFFFFFF807F800001FC0000 -000000000FC000000000001E00000001E00000000000E0000E000000000000000000000000000000 -0000000FFC007FC0003C01FF00007000000FE000007FFE1FFFFFFFFFFFFFFC3FFE0003FC07FDFFFF -FFFC00FFFFFFFFFF807F800003FC0000000000000FC000000000001E00000001E00000000000E000 -0C0000000000000000000000000000000000001FFC00FFC0001E03FE00007000001FE000003FFF0F -FFFFFFFFFFFFF07FFC0003FC07F8003FE7FC00FF3FFFFFFF00FF000003FC0000000000000FC00000 -0000000E00000000E00000000000E0001C00000000001FFFFFFEF000000000000000007FF800FF80 -001F07FC00003800003FE000001FFF83FFFFFFFFFFFFE0FFF80003FC07F8000007FC01FF001F7EFF -80FF000003F80000000000000FC000000000000E00000000F00000000000E0001C00000000001FFF -FFFFFF80000000000000007FF801FE00000F07FC00003800007FC000001FFFC1FFFFFFFFFFFFC1FF -F00003FC07F8000007FC01FF000000FF80FF000007F80000000000000FC000000000000E00000000 -700000000000E0001C00000000003FFFFFFFFF8000000000000000FFF803FE00000F8FF800001C00 -00FFC000000FFFE0FFFFFFFFFFFF83FFE00007FC0FF8000007F801FF000000FF80FF000007F80000 -000000000FC000000000000F00000000780000000000E0001C00000000007C00FFFFFFC000000000 -000001FFF003FC0000078FF000001C0001FF80000007FFF8FFFFFFFFFFFF07FFC00007FC0FF80000 -07FC01FF000000FF00FF000007F80000000000000FC0000000000007000000007800000000006000 -1C00000000007800000007C000000000000003FFF007F80000079FE000001C0003FF80000003FFF8 -3FFFFFFFFFFE0FFFC00007F80FF8000007F801FF000000FF00FF000007F80000000000000FC00000 -00000007000000003C000000000060001C00000000007800000007C000000000000007FFF007F800 -00079FE000001C0007FF80000001FFFE1FFFFFFFFFFC1FFF000007F80FF0000007F801FE000000FF -00FF000007F80000000000000FC0000000000007800000003C000000000070003C0000000000F000 -000003800000000000000FFFE007F80000079FE000001C000FFF00000000FFFF0FFFFFFFFFF83FFF -000007F80FF0000007F801FE000000FF00FF000007F80000000000000FC000000000000380000000 -1E00000000007000380000000000F000000007800000000000001FFFE007F0000007BFC000001C00 -1FFF000000007FFF87FFFFFFFFE0FFFE000007F80FF0000007F801FE000000FF00FF000007F80000 -000000000FC0000000000003800000001E00000000007000380000000001E0000000070000000000 -00003FFFE007F00000071FC000001C003FFF000000003FFFC1FFFFFFFFC1FFFC000007F80FF00000 -07F801FE000000FF00FF000007F80000000000000FC0000000000003C00000000F00000000007000 -380000000003E000000007000000000000007F9FE00FF000000F1FC000001C007FFE000000001FFF -F0FFFFFFFF87FFF8000007F80FF0000007F801FE000000FF01FF000007F00000000000000FC00000 -00000001C00000000700000000007000380000000003C00000000F00000000000000FF1FC00FF000 -000F1FC000001C01FFFE000000000FFFF87FFFFFFF0FFFF0000007F80FF000000FF801FE000000FF -01FE00000FF00000000000000FC0000000000001E000000007800000000070003800000000078000 -00000E00000000000001FE3FC007F000001E1FC000003C03F9FE0000000007FFFC3FFFFFFC1FFFE0 -000007F80FF000000FF801FE000001FF01FE00000FF00000000000000FC0000000000001E0000000 -03C000000000700038000000000F800000001E00000000000003FC3F8007F800003E1FC000007807 -F1FE0000000003FFFE0FFFFFF87FFFC0000007F80FF000000FF801FE000001FF01FE00000FF00000 -000000000FC0000000000000E000000001E000000000700078000000001F000000001C0000000000 -0007F87F8007F800007C0FE00000780FE3FC0000000001FFFF87FFFFE0FFFF80000007F80FF00000 -0FF001FE000001FE01FE00000FF00000000000000FC0000000000000F000000001E0000000003000 -70000000001E000000001C0000000000001FF07F8007FC0000FC0FE00001F01FC3FC0000000000FF -FFC1FFFFC1FFFF0000000FF00FF000000FF001FE000001FE01FE00000FF00000000000000FC00000 -000000007000000000F000000000380070000000003C000000003C0000000000003FE07F8003FE00 -01F80FF00003E07F83FC00000000007FFFF0FFFF07FFFE0000000FF00FF000000FF001FC000001FE -00FE00000FE00000000000000FC00000000000007800000000780000000038007000000000780000 -0000380000000000007FC0FF0003FF0007F007F80007E0FF07F800000000003FFFF83FFC0FFFFC00 -000007E007F000000FE001FC000001FE00FF00000FE00000000000000FC000000000000078000000 -003C0000000038007000000000F80000000078000000000001FF80FF0001FF803FE003FC001FC1FE -07F800000000001FFFFE07F03FFFF800000007C007FF00000FE001FE000001FC00FFFFFF8FC00000 -000000000FC00000000000003C000000001E0000000038007000000000F000000000700000000000 -03FF00FE0001FFFFFFE003FF807FC3FC07F800000000001FFFFF00007FFFF0000000000007FFFFFF -E7C001FFFFFFF1F8007FFFFFFF800000000000000FC00000000000003C000000001F000000003800 -7000000001E000000000F0000000000007FE01FE0001FFFFFFC003FFFFFF8FF80FF800000000000F -FFFFC001FFFFE0000000000003FFFFFFF80000FFFFFFFFE0007FFFFFF8000000000000000FC00000 -000000001E000000000F8000000038006000000003C000000000F0000000000007FE01FE0003FFFF -FFC003FFFFFFFFF00FF0000000000007FFFFF007FFFFE0000000000003FFFFFFFC0000FFFFFFFF80 -003FFFFFFC000000000000000FC00000000000001E0000000007C000000038006000000007800000 -0001E000000000001FFC03FE0007FFFFFFE007FFFBFFFFF01FF0000000000003FFFFFF3FFFFFC000 -0000000001FFFFFFFC0000FFFFFFFF80003FFFFFFC000000000000000FC00000000000000F000000 -0003E00000001800E00000000F0000000001E000000000003FF003FE000FFFF0FFE01FFF803FFFE0 -1FF0000000000001FFFFFFFFFFFF8003F000000001FFFFFFFC0000FFFFFFFF80001FFFFFFC000000 -000000000FC00000000000000F0000000001F00000001C00E00000003E0000000003C00000000000 -3FE003FC001FFFC007F83FFC001FFFC01FF0000000000001FFFFFFFFFFFF0007FC0000E000FFFFFF -FE0001FFFFFFFF80000FFFFFFFC00000000000000FC0000000000000078000000000780000001C00 -E00000007E0000000003C000000000001F0007FC003FFE0001FFFFF8000FFFC03FF0000000000000 -FFFFFFFFFFFE000FFE0001F0007FFFFFFFE003FFFFFFFFF80003FFFFFFE00000000000000FC00000 -000000000780000000007C0000001C00E0000000F80000000007800000000000000007FC007FF800 -007FFFE0001FFFC07FFC0000000000007FFFFFFFFFFE001FFF0003F0001FFFFFFFF003FFFFFFFFFC -000001840FF00000000000000FC000000000000003C0000000001E0000001C00E0000001F0000000 -000F000000000000000007F800FFE000003FFFC0003FFFFFFFFFFFF8000000003FFFFFFFFFFC001F -FF0007F80000000007F803FFFFFFFFFE000000000FF00000000000000FC000000000000001E00000 -00001F8000001C00E0000003F0000000000F00000000000000000FF801FFC000001FFF00007FFFFF -FFFFFFFC000000001FFFFFFFFFF80037FB8007F80000000007F807FE000000FE000000000FF00000 -000000000FC000000000000001E00000000007E000001C01C000000FC0000000001E000000000000 -00000FF803FF8000001FFF0000FFFFFFFFFFFFFC000000001FFFFFFFFFF00037F98007F800000000 -07F807FC000000FF000000000FF00000000000000FC000000000000000F00000000003F000001C01 -C000003F80000000001E00000000000000000FF803FF0000001FFE00007FFFFFFFF0000000000000 -0FFFFFFFFFE00037F98007F80000000007F807FC000001FF000000000FF00000000000000FC00000 -0000000000F00000000000FC00001E01C000007E00000000003C00000000000000001FF807FE0000 -001FFC0000007F80FFE000000000000007FFFFFFFFC00037F18007F8000000000FF807F8000001FF -000000000FF00000000000000FC0000000000000007800000000007F00000E01C00001F800000000 -007800000000000000001FF807FE0000001FFC0000001F00FFC000000000000007FFFFFFFF800037 -F18007F8000000000FF807F8000001FF000000000FF00000000000000FC0000000000000003C0000 -0000001FC0000E01C00007E000000000007800000000000000001FF007FC0000001FF80000001E00 -FFC000000000000003FFFFFFFF800030238007F8000000000FF807F8000001FF000000000FF00000 -000000000FC0000000000000001C00000000000FF0000E01C0001FC00000000000F0000000000000 -00003FF00FF80000003FF80000001E00FFC000000000000001FFFFFFFF000038070007F800000000 -0FF807F8000001FF000000000FF00000000000000FC0000000000000001E000000000001FE000E01 -C000FE000000000001E000000000000000003FF00FF80000003FF00000000E00FF80000000000000 -00FFFFFFFE00001E0F0007F8000000000FF007F8000001FF000000000FF000000000000007C00000 -00000000000F0000000000007FE00E03C00FF8000000000003E000000000000000007FF00FF00000 -003FF00000001E00FF80000000000000007FFFFFFC00000FFE000FF8000000000FF007F8000001FE -000000000FF00000000000000FC000000000000000078000000000001FFE1E03C0FFE00000000000 -07C000000000000000007FF00FF00000003FF00000001C01FF80000000000000003FFFFFF8000007 -F8000FF8000000000FF007F8000001FE000000001FF00000000000000FC00000000000000003C000 -0000000003FFFE03FFFF000000000000078000000000000000007FE00FF00000003FF00000001C01 -FF80000000000000001FFFFFF000000000000FF8000000000FF00FF8000001FE000000001FF00000 -000000000FC00000000000000001E00000000000007FFE03FFF80000000000000F00000000000000 -00007FE00FF00000003FF00000003801FF80000000000000001FFFFFF000000000000FF800000000 -0FF00FF8000001FE000000001FF00000000000000FC00000000000000001F00000000000000FFF03 -FFC00000000000001E000000000000000000FFE00FF00000003FF00000007801FF80000000000000 -000FFFFFE000000000000FF8000000000FF00FF8000001FE000000001FE00000000000000FC00000 -000000000000F800000000000000FF03F0000000000000003C000000000000000000FFE00FF00000 -007FF00000007001FF000000000000000007FFFFC000000000000FF8000000000FF00FF8000001FE -000000001FE00000000000000FC0000000000000000078000000000000000F078000000000000000 -7C000000000000000000FFE007F80000007FF0000000E001FF000000000000000007FFFF80000000 -00000FF8000000000FF00FF8000001FE000000001FE00000000000000FC000000000000000003C00 -00000000000007078000000000000000F8000000000000000001FFC007F8000000FFF8000001E003 -FF000000000000000003FFFF8000000000000FF0000000000FF00FFC000001FE000000001FE00000 -000000000FC000000000000000001E0000000000000007070000000000000001F000000000000000 -0001FFC007FC000001FFFC000003C003FF000000000000000001FFFF0000000000000FF000000000 -0FF00FFFFC0001FE000000001FE00000000000000FC000000000000000000F000000000000000787 -0000000000000003E0000000000000000001FFC003FE000003FFFC0000078003FF00000000000000 -0001FFFE0000000000000FF0000000000FF00FFFFFFFC1FE000000001FE00000000000000FC00000 -0000000000000F80000000000000078F0000000000000007C0000000000000000003FF8003FF0000 -0FE7FE00000F0003FF000000000000000000FFFE0000000000000FF0000000000FF00FFFFFFFF1FE -000000001FE00000000000000FC0000000000000000007C0000000000000078F0000000000000007 -80000000000000000003FF8001FFC0001F03FF00001E0003FE0000000000000000007FFC00000000 -00000FF0000000000FF00FFFFFFFFBFE000000001FE00000000000000FC0000000000000000001E0 -000000000000078F000000000000001F80000000000000000003FE0000FFF800FE00FFC000780007 -FC0000000000000000007FF80000000000000FE0000000000FE00FFFFFFFFFFE000000001FC00000 -000000000FC0000000000000000001F0000000000000078E000000000000001E0000000000000000 -0003FC00007FFFFFF0007FF001F00007F80000000000000000003FF000000000000007E000000000 -0FE00FFFFFFFFFFC000000001FC00000000000000FC0000000000000000000FC000000000000038E -000000000000003C00000000000000000003E000001FFFFFC0001FFE0FE00007E000000000000000 -00000FC000000000000007C0000000000FC007FFFFFFFFFC000000000F800000000000000FC00000 -000000000000007E000000000000038E00000000000000F80000000000000000000000000007FFFE -000007FFFF000007C0000000000000000000000000000000000001800000000007800387FFFFFCF8 -0000000006000000000000000FC00000000000000000003F000000000000038E00000000000001F0 -0000000000000000000000000000FFF0000000FFF800000780000000000000000000000000000000 -000000000000000000000001FFFFF8000000000000000000000000000FC00000000000000000001F -80000000000003CE00000000000003E0000000000000000000000000000000000000000000000006 -0000000000000000000000000000000000000000000000000000000003FFE0000000000000000000 -000000000FC000000000000000000007C0000000000003FE0000000000000FC00000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC000000000000000000003F0000000000001FC -0000000000001F000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -0000000000000001F8000000000001FC0000000000003E0000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC0000000000000000000007E00000000000070000000000000FC00 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -1F00000000000000000000000001F000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC0000000000000000000000F80000000000000000000000007E0000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC00000000000000000000003E0000000000000 -00000000001F80000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -000000000000000001F800000000000000000000007E000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC000000000000000000000007E0000000000000000000000FC0000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -001F8000000000000000000003F00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000FE00000000000000000000FE000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000003F80000000000 -000000003F8000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000FE000000000000000001FF00000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000003FE00000000000000007F8000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000FF0000000000000001FF0000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000001FF00000000000000FF800000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000007FC0000000 -00001FFE000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000FFE0000000000FFF00000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000001FFF80000003FFF8000000000 -000000000000000000000007C0000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -000000001FFFF9C0FFFFFC0000000000000000000000000003C0001FF07FE1C063FFC30083FE0000 -000FE01FF000FF0000020007F010700E00001F00100000000F800F803F801FE03FC0FF80FE01FC00 -000000000FC0000000000000000000000000000001FFFFFFFFFF8000000000000000000000000000 -07E0003FF8FFF3E0F3FFE781C7FF1E1E003FF07FF801FFC3800FFE1FF87FF87FE0E07FC03E038000 -1FF87FF07FE03FF07FF1FFE3FF03FE00000000000FC00000000000000000000000000000001FFFFF -FFF0000000000000000000000000000007E0007FFCFFF3F0F3FFE781E7FF9E1E007FF87FF803FFE7 -801FFE3FFC7FFCFFF0F1FFE03E0780003FFC7FF8FFF07FF8FFF9FFE3FF87FF00000000000FC00000 -00000000000000000000000000003FFFF00000000000000000000000000000000FF000FFFFFFE3F8 -F1FFC781E7FFDF3E00FFFC7FF003FFC7801FFC3FFE7FF8FFF9F3FFF07F07C0003FFEFFF9FFF8FFFC -FFF9FFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000FF000FC3FFF03F8F07F07C3EFEFCFFE00F87E7E0003F007801F807C3E0FC0FC -F9F3E1F07F07C0003F3FFFFFF9FCF87CFCF9F807E7CFCF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000000FF000F818FF83FCF03E0783EFC7CFFC -00F83E7C0003F007801F00780C07C0F8F9F7E060FF0780003E1FFC7FF07DF818FCFFF807E18FC000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -1FF801F800FFE3FFF03E0783EFEFC7FC01F01FFFC003FF87801FF8780007C0F8F9F7C000FF878000 -3E3FFCFFE07FF000FFFBFF87FC0FF800000000000FC0000000000000000000000000000000000000 -000000000000000000000000000000001FF801F000FFE3FFF03E0783EFFF87F801F01F7FE003FFC7 -801FFCF8000780FFF9FFC000FF87C0003FFFFFFFE07FF0F8FFF9FFC3FF0FFE00000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000003FF801F000FFE3FF -F03E07C3EFFF83F801F01E7FF003FFC7801FFCF8000780FFF1FFC001FF87C0003FFEFFFFE03FF0FC -FFF9FFC1FF87FF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000003FFC00F000FFC3FFF03E07C3EFFF83F001F01F7FE003FF87801FFCF8000780FF -F1FFC001FFC7C0003FFCFFFFE07FF1FEFFF9FF80FFC1FF00000000000FC000000000000000000000 -0000000000000000000000000000000000000000000000003FFC00F809FC03FFF03E07C3EFFF83F0 -00F01F7E0003F007801F80F8000780FFF8FFC003FFC7C0003FF8FFFFE07FF0FEFFF9F8001FC0FF80 -000000000FE000000000000000000000000000000000000000000000000000000000000000000000 -7FFC00F81FFC03EFF03E07C3EFC7C1F000F83EFC0003F007C01F00780C07C0FDF8F3C063FFC7C000 -3FC0FDFFE07DF87EFDF9F0070FC41F80000000000FE0000000000000000000000000000000000000 -000000000000000000000000000000007FFE00FC3FFC03E7F03E07C3EF87C1F000F87E7C0003F007 -C01F007C1E0780F8F9F3E0F3FFE7C0003F00F87FF0FCF87EF8FBF00787CF8F80000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000007FFE007FFFFFF3E3 -F03E07E7EF87C1E0007FFC780003FFC7FE1FF87E3E07C0F879F3F3F7FFE7FF003E00F87FFFF8FFFE -F87FFFC7FFCFFF00000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000007C7E007FFCFFF3E3F03E03FFC783C1E0007FF8780001FFE7FF9FFE3FFE0780F8 -78F1FFE7C3E7FF803E00F87CFFF87FFEF87FFFE7FFCFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000783E001FF8FFF3C1F01C01FFC78381E0 -003FF8780001FFE7FF9FFE1FFC0780F078F0FFE7C1E7FF801E00783C7FF03FFCF079FFE3FF87FF00 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -301C000FF07FF180F01C00FF030100E0001FE0300000FFC3FF1FFE0FF803007030607FC380C3FF00 -1C0070383FE01FFC6010FFC1FF03FE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000040000000000003800000000000 -00006003E000000000001F00000000000000000007800380000000003800F000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000FC00000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000FC00000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000FC000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000 -000000000FC000000000000000000000000000000000000000000000000000000000000000000000 -7FFFFFFFFFFFFF39CF800008008087C0000000000000000000000000000000000000000200000000 -0000000000000E01EFFDFFFFFFFFFE00000000000FC0000000000000000000000000000000000000 -00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC00000 -0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFF00000000000FC00000000000000000000000000000000000000000000000000000 -0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC000000000000000000000 -000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00 -0000000007C000000000000000000000000000000000000000000000000000000000000000000000 -1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -FFFFFFFFFFFFFFFFFFFFFFFFE7FF8000000000000180000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000001000000000 -000018000000000000000000000000200010003C0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 ->}imagemask -showpage -%%EndDocument - 794 2326 a - texgraph restore -689 1880 a - - td begin chv /Yp2 exch def /Xp2 exch def gr gs Xp2 Yp2 mv Xp2 Yp2 tr 1 1 scale end -689 1880 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 300 0 mv 0 150 lv st end -689 2030 a - - td begin chv /Yp2 exch def /Xp2 exch def gr gs Xp2 Yp2 tr Xp2 neg Yp2 neg tr end -689 2032 627 2 v 689 2093 2 61 v 727 2077 a Fr(PR)o(OJECT)g(|)f(Squidget)h(F) -m(orms)p 1315 2093 V 689 2094 627 2 v 689 2155 2 61 v 712 2139 -a(Milestone)p 907 2155 V 80 w(Due)p 1097 2155 V 80 w(Pro)r(jected)p -1315 2155 V 689 2157 627 2 v 689 2218 2 61 v 783 2202 a(A)p -907 2218 V 115 w(Aug.)k(94)p 1097 2218 V 62 w(Jan.)g(95)p 1315 -2218 V 689 2219 627 2 v 689 2280 2 61 v 784 2264 a(B)p 907 -2280 V 120 w(Dec.)g(94)p 1097 2280 V 63 w(Dec.)h(95)p 1315 -2280 V 689 2282 627 2 v 689 2342 2 61 v 783 2326 a(A)p 907 -2342 V 120 w(Jan.)f(95)p 1097 2342 V 126 w(?)p 1315 2342 V -689 2344 627 2 v 689 1880 a - - td begin chv /Yp2 exch def /Xp2 exch def gr gs Xp2 Yp2 mv Xp2 Yp2 tr 1 1 scale end -689 1880 a - grestore -676 1580 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -676 1580 a - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 300 mv 600 600 lv st end -676 1580 a - grestore -345 2414 a Fo(Draft)i(Version:)f(1991/8/24)p eop -%%Page: 192 14 -bop 100 83 a Fn(192)95 b Fm(CHAPTER)14 b(30:)20 b(T)587 92 -y(E)609 83 y(X)o(Gr)n(aph)350 214 y Fr(This)13 b(w)o(as)h(done)f(with)g(the)h -(follo)o(wing)d(set)j(of)f(commands.)i(Note)f(that)g(a)f Fp(\\def)f -Fr(w)o(as)267 259 y(used)18 b(to)f(mak)o(e)f(the)i(construction)g(easier)g -(to)f(follo)o(w.)26 b Fp(\\lvec)16 b Fr(w)o(as)h(used)h(rather)g(than)267 -305 y Fp(\\move)13 b Fr(in)g(order)i(to)f(mak)o(e)e(the)i(origin)f(mo)o(v)o -(emen)o(ts)f(visible.)267 351 y Fj(\\def\\samp)o(le{)332 397 -y(\\btg)332 443 y(\\lvec)20 b(h;1)h(v:0)332 490 y(\\incscalef)o(ile)d -(f:ieeelogo)o(.p)o(s)h(sc:.25)41 b(d:0)332 536 y(\\lvec)20 -b(h:0)h(v:.5)332 582 y(\\htext{\\be)o(gin)o(tab)o(le)507 629 -y(\\begintab)o(le)o(for)o(ma)o(t)528 675 y(&\\center)507 721 -y(\\endtable)o(fo)o(rma)o(t)507 767 y(\\-)507 814 y(\\br{\\:|}\\)o(us)o(e{3)o -(})e(PROJECT)g(---)h(Squidget)f(Forms)42 b(\\er{|})507 860 -y(\\-)507 906 y(\\br{\\:|})18 b(Milestone)h(|)i(Due)108 b(|)43 -b(Projected)84 b(\\er{|})507 953 y(\\-)507 999 y(\\br{\\:|})g(A)130 -b(|)22 b(Aug.)e(94)h(|)g(Jan.)f(95)152 b(\\er{|})507 1045 y(\\-)507 -1091 y(\\br{\\:|})84 b(B)130 b(|)22 b(Dec.)e(94)h(|)g(Dec.)f(95)152 -b(\\er{|})507 1138 y(\\-)507 1184 y(\\br{\\:|})84 b(A)130 b(|)22 -b(Jan.)e(95)h(|)g(?)283 b(\\er{|})507 1230 y(\\-)463 1277 y(\\endtable})398 -1323 y(\\etg})267 1421 y(\\medskip)267 1467 y(\\centergr)o(aph)o({)354 -1513 y(\\btg)20 b(\\textref)f(h:C)i(v:C)398 1559 y(\\lvec)f(h:0)g(v:1)h(\045) -g(sets)f(origin)398 1606 y(\\rtext)f(d:45)h(t:{\\sample})398 -1652 y(\\lvec)g(h:2)g(v:2)h(\045)g(sets)f(size)h(of)g(graph)f(...)354 -1698 y(\\etg})267 1745 y(\\medskip)267 1796 y Fr(In)15 b(fact,)f(this)h -(example)e(w)o(as)i(\014rst)g(done)g(as)g(a)f(separate)i(\014le)f(to)f(learn) -h(the)g(appropriate)267 1846 y(dimensions)e(and)g(then)i(inputted)f(in)g(the) -g(appropriate)g(place.)267 1994 y Fn(30.6.1)48 b(Circles,)14 -b(Arcs)i(and)f(Fills)350 2080 y Fr(T)373 2089 y(E)396 2080 -y(X)o(Graph)c(uses)i(the)g(circle,)f(arc,)g(and)g(\014ll)e(commands)g(of)h(P) -o(ostScript)h(to)g(pro)q(duce)267 2130 y(curv)o(es.)19 b(P)o(ostScript)13 -b(uses)h(a)e(p)q(olygonal)e(\014ll)i(on)g(the)h Fn(inside)d -Fr(of)h(the)i(curv)o(e.)19 b(This)12 b(means)267 2180 y(that)i(the)g -(direction)g(of)g(the)g(arcs)h(are)f(imp)q(ortan)o(t.)350 2422 -y Fo(Draft)i(Version:)32 b(1991/8/24)p eop -%%Page: 193 15 -bop 1199 83 a Fm(R)n(otate)n(d)15 b(Gr)n(aphics)g(and)h(T)m(ext)95 -b Fn(193)350 214 y Fr(The)14 b(commands)e(are)-14 b Fk(?)21 -b Fp(\\lcir)g(r:<radius>)267 290 y Fr(This)e(is)f(a)h(circle)g(with)f(the)i -(cen)o(ter)g(at)e(the)i(curren)o(t)g(loaction)e(and)g(a)h(radius)f(of)g(size) -267 340 y Fp(<radius>)12 b Fr(in)i(the)g(curren)o(t)h(dimensions.)225 -453 y Fk(?)21 b Fp(\\arcc)g(r:<radius>)e(sd:<degrees>)h(ed:<degrees>)267 -529 y Fr(This)d(is)g(an)f(\\unstrok)o(ed"arc,)i(ie)f(equiv)n(alen)o(t)g(to)f -(a)h Fp(\\move)f Fr(in)g(the)i(coun)o(ter)g(clo)q(c)o(kwise)267 -579 y(direction)e(from)e Fp(sd:<..>)g Fr(to)i Fp(ed:<..>)p -Fr(.)22 b(If)16 b(this)f(is)h(used)h(in)e(a)h(\014ll,)f(the)h(cen)o(ter)h(of) -f(the)267 629 y(circle)e(is)g(the)h(b)q(eginning)e(of)g(the)i(path.)225 -743 y Fk(?)21 b Fp(\\arcn)g(r:<radius>)e(sd:<degrees>)h(ed:<degrees>)267 -819 y Fr(This)14 b(is)f(the)i(same)e(as)h Fp(\\arcc)f Fr(except)i(that)f(it)f -(is)h(coun)o(ter)h(clo)q(c)o(kwise.)225 932 y Fk(?)21 b Fp(\\pfill)f -(p:<fraction>)267 1008 y Fr(This)11 b(completes)g(a)g(path)g(a)g(\014lls)f -(the)i(path)f(with)g(a)g(shade)g(of)g(gra)o(y)f(with)h Fp(p:0)g -Fr(b)q(eing)g(blac)o(k)267 1058 y(and)j Fp(p:1)f Fr(b)q(eing)h(white.)350 -1109 y(The)g(angles)g(are)g(in)g(the)g(directions)h(sho)o(wn)f(here.)766 -1171 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -766 1171 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -766 1171 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 210 420 mv 210 0 lv st np 210 0 mx 420 neg 0 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr 0 210 mv 420 210 lv st np 420 210 mx 0 neg -420 at -48 11 mv 0 0 lv -48 -11 lv cp gs 1 sg fill gr st gr 210 430 mv st end -976 1601 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -946 1630 a Fr(90)988 1615 y Ff(\016)766 1171 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -766 1381 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -670 1396 a Fr(180)733 1381 y Ff(\016)766 1171 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -976 1161 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -935 1161 a Fr(270)998 1146 y Ff(\016)766 1171 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -1186 1381 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1199 1392 a Fr(0)1220 1377 y Ff(\016)1239 1392 y Fk(;)21 b -Fr(360)1335 1377 y Ff(\016)766 1171 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -766 1171 a - grestore -350 1712 a Fr(Some)13 b(shades)i(of)e(gra)o(y)g(are)h(as)g(follo)o(ws:)361 -1775 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -361 1775 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 120 0 mv 270 0 lv 270 150 lv 120 150 lv cp 0 sg fill np 120 150 mv 195 165 mv st end -556 1940 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -546 1967 a Fr(0)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 120 0 mv 240 0 mv 360 0 mv 510 0 lv 510 150 lv 360 150 lv cp .1 sg fill np 360 150 mv 435 165 mv st end -796 1940 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -780 1967 a Fr(.1)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 360 0 mv 480 0 mv 600 0 mv 750 0 lv 750 150 lv 600 150 lv cp .2 sg fill np 600 150 mv 675 165 mv st end -1036 1940 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1020 1967 a Fr(.2)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 600 0 mv 720 0 mv 840 0 mv 990 0 lv 990 150 lv 840 150 lv cp .3 sg fill np 840 150 mv 915 165 mv st end -1276 1940 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1260 1967 a Fr(.3)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 840 0 mv 960 0 mv 1080 0 mv 1230 0 lv 1230 150 lv 1080 150 lv cp .4 sg fill np 1080 150 mv 1155 165 mv st end -1516 1940 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1500 1967 a Fr(.4)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 1080 0 mv 1200 0 mv 0 240 mv 120 240 mv 270 240 lv 270 390 lv 120 390 lv cp .5 sg fill np 120 390 mv 195 405 mv st end -556 2180 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -540 2207 a Fr(.5)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 120 240 mv 240 240 mv 360 240 mv 510 240 lv 510 390 lv 360 390 lv cp .6 sg fill np 360 390 mv 435 405 mv st end -796 2180 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -780 2207 a Fr(.6)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 360 240 mv 480 240 mv 600 240 mv 750 240 lv 750 390 lv 600 390 lv cp .7 sg fill np 600 390 mv 675 405 mv st end -1036 2180 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1020 2207 a Fr(.7)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 600 240 mv 720 240 mv 840 240 mv 990 240 lv 990 390 lv 840 390 lv cp .8 sg fill np 840 390 mv 915 405 mv st end -1276 2180 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1260 2207 a Fr(.8)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 840 240 mv 960 240 mv 1080 240 mv 1230 240 lv 1230 390 lv 1080 390 lv cp .9 sg fill np 1080 390 mv 1155 405 mv st end -1516 2180 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1500 2207 a Fr(.9)361 1775 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -361 1775 a - grestore -350 2414 a Fo(Draft)i(Version:)32 b(1991/8/24)p eop -%%Page: 194 16 -bop 100 83 a Fn(194)95 b Fm(CHAPTER)21 b(30:)h(T)596 92 y(E)619 -83 y(X)o(Gr)n(aph)350 214 y Fr(An)14 b(example)f(of)g(a)g(use)i(of)e(arcs)i -(and)f(\014ll)f(is)h(giv)o(en)f(b)q(elo)o(w.)676 273 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -676 273 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -676 273 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 0 0 600 0 45 arc cp .5 sg fill np 0 0 mv 0 0 300 0 45 arc cp 1 sg fill np 0 0 mv 600 450 mv st end -676 273 a - grestore -350 815 a Fr(This)h(logo)e(is)i(giv)o(en)g(b)o(y)267 860 y -Fj(\\centergr)o(aph)o({\\b)o(tg)572 905 y(\\arcc)20 b(r:2)h(sd:0)f(ed:45)572 -950 y(\\pfill)g(p:.5)572 995 y(\\arcc)g(r:1)h(sd:0)f(ed:45)572 -1040 y(\\pfill)g(p:1)42 b(\045)21 b(fills)f(the)h(inside)e(with)i(white)572 -1085 y(\\move)f(h:2)h(v:1.5)e(\045)j(to)f(leave)f(enough)f(space)550 -1130 y(\\etg})267 1180 y Fr(This)12 b(sho)o(ws)g(that)h(a)e(\014ll)h(of)f -(\\white")h(\(1\))g(is)g(opaque)g(and)g(obliterates)g(the)h(blac)o(k)f(or)g -(gra)o(y)267 1229 y(underneath.)19 b(This)14 b(strategy)h(is)e(necessary)j -(in)e(P)o(ostScript)g(\014lling.)267 1384 y Fl(30.7)56 b(Adv)m(anced)20 -b(T)721 1395 y(E)751 1384 y(X)n(Graphics)g(and)f(Segmen)n(ts)350 -1470 y Fr(The)d(most)e(imp)q(ortan)o(t)g(adv)n(anced)h(feature)h(of)f(T)1133 -1479 y(E)1156 1470 y(X)o(Graph)g(is)g(the)h(graphical)f(seg-)267 -1520 y(men)o(t.)25 b(These)18 b(are)f(delimited)e(b)o(y)h Fp(\\beginsegment)e -(\\endsegment)h Fr(pairs.)26 b(They)17 b(are)267 1569 y(used)e(to)f(create)i -(graphical)e(items)f(that)h(can)h(b)q(e)g(placed)f(at)h(an)o(y)e(sp)q -(eci\014c)j(lo)q(cation)e(in)f(a)267 1619 y(graph.)k(This)11 -b(capabilit)o(y)m(,)f(com)o(bined)g(with)h(T)988 1628 y(E)1011 -1619 y(X's)g(abilit)o(y)f(to)h(create)i(de\014nitions)e(allo)o(ws)267 -1669 y(for)g(the)h(creation)g(of)f(libraries)g(of)g(sym)o(b)q(ols.)16 -b Fn(Segmen)o(ts)11 b(are)i(the)f(only)g(groups)f(that)267 -1719 y(should)j(b)q(e)j(used)f(within)f(a)g Fp(\\btg)f(\\etg)g -Fn(pair.)1086 1704 y Fg(!)1117 1719 y Fr(A)h(simple)f(example)f(of)i(the)g -(use)h(of)267 1769 y(this)i(facilit)o(y)e(w)o(as)i(the)h(de\014nition)e(of)h -(a)f Fp(\\fillbox)g Fr(to)g(create)j(the)e(b)q(o)o(x)g(with)g(the)g(\014ll) -267 1819 y(pattern)d(sho)o(wn)f(in)f(Section)h(30.6.1.)i(The)f(de\014nition)e -(w)o(as)267 1864 y Fj(\\def\\fill)o(box)18 b(#1)j({\\move)f(h:.4)g(v:0)659 -1909 y(\\beginsegm)o(ent)681 1954 y(\\absolutep)o(os)o(iti)o(on)681 -1999 y(\\lvec)g(h:.5)g(v:0)681 2044 y(\\lvec)g(h:.5)g(v:.5)p -267 2089 284 2 v 322 2129 a Fe(!)350 2140 y Fd(This)d(is)g(almost)e(true.)30 -b(Groups)15 b(ma)o(y)h(b)q(e)h(used)e(freely)h(within)g(the)g(argumen)o(t)e -(of)j(either)e(an)350 2180 y Fo(\\??text)p Fd(.)345 2425 y -Fo(Draft)20 b(Version:)f(1991/8/24)p eop -%%Page: 195 17 -bop 1003 83 a Fm(A)n(dvanc)n(e)n(d)16 b(T)1210 92 y(E)1232 -83 y(X)o(Gr)n(aphics)f(and)h(Se)n(gments)96 b Fn(195)681 214 -y Fj(\\lvec)20 b(h:0)g(v:.5)681 262 y(\\pfill)f(p:{#1})681 -309 y(\\move)h(h:.25)g(v:.55)g(\\textref)e(h:C)j(v:T)g(\\htext{#)o(1})637 -357 y(\\endsegment)637 404 y(\\move)f(h:.4)h(v:0)f(\045)i(for)e(symmetry)637 -452 y(})350 557 y Fr(The)13 b(relativ)o(e)g(p)q(osition)f(in)g(outside)i(the) -f(segmen)o(t)f(allo)o(ws)g(the)h(b)q(o)o(xes)h(to)e(b)q(e)i(placed)267 -608 y(b)q(eside)h(eac)o(h)f(other)h(with)e(ev)o(en)i(spacing)f(and)f(no)h -(additional)e(instructions.)350 661 y(Eac)o(h)17 b(segmen)o(t)f(has)h(a)f -Fm(se)n(gment)h(r)n(efer)n(enc)n(e)g(p)n(oint)p Fr(.)26 b(This)16 -b(is)h(the)g(lo)q(cation)f(in)g(the)267 711 y(enclosing)d(segmen)o(t)f(or)h -Fp(\\btg)g(\\etg)p Fr(,)e(whic)o(h)i(is)g(really)g(just)g(a)f(sp)q(ecial)i -(segmen)o(t.)j Fn(Abso-)267 762 y(lute)12 b(p)q(ositions)d -Fr(within)j(a)g(segmen)o(t)g(are)h(actually)e(relativ)o(e)h(to)g(the)h -Fm(se)n(gment)h(r)n(efer)n(enc)n(e)267 813 y(p)n(oint)p Fr(.)k(Relativ)o(e)13 -b(p)q(ositions)h(are)g(relativ)o(e.)k(The)c(three)h(b)q(o)o(xes)g(b)q(elo)o -(w)601 881 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -601 881 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -601 881 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 120 0 mv 270 0 lv 270 150 lv 120 150 lv cp .3 sg fill np 120 150 mv 195 165 mv st end -796 1046 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -780 1072 a Fr(.3)601 881 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -601 881 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 120 0 mv 240 0 mv 360 0 mv 510 0 lv 510 150 lv 360 150 lv cp .5 sg fill np 360 150 mv 435 165 mv st end -1036 1046 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1020 1072 a Fr(.5)601 881 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -601 881 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 360 0 mv 480 0 mv 600 0 mv 750 0 lv 750 150 lv 600 150 lv cp .7 sg fill np 600 150 mv 675 165 mv st end -1276 1046 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1260 1072 a Fr(.7)601 881 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -601 881 a - grestore -267 1147 a Fr(w)o(ere)g(pro)q(duced)g(b)o(y)267 1195 y Fj(\\medskip)289 -1242 y(\\centergr)o(ap)o(h{\\)o(btg)j(\\relative)o(pos)o(iti)o(on)594 -1290 y(\\fillbox)h(.3)594 1338 y(\\fillbox)g(.5)594 1385 y(\\fillbox)g(.7)572 -1433 y(\\etg})267 1480 y(\\medskip)267 1533 y Fr(Note)13 b(that)g(the)h -(space)g(after)f(the)h Fp(#1)e Fr(in)h(the)g(de\014nition)g(for)f -Fp(\\fillbox)f Fr(means)i(that)g(the)267 1584 y(n)o(um)o(b)q(ers)j(are)h -(delimited)e(b)o(y)i(implicit)d(space)j(at)g(the)g(end)g(of)f(the)h(line.)26 -b(If)16 b(this)h(space)267 1634 y(had)g(b)q(een)i(left)e(out,)h(only)f(the)h -(\014rst)h(digit)d(in)h(eac)o(h)h(of)f(the)h(pattern)h(n)o(um)o(b)q(ers)e(w)o -(ould)267 1685 y(ha)o(v)o(e)e(b)q(een)i(read)f(and)g(the)g(other)g(w)o(ould)f -(ha)o(v)o(e)h(b)q(een)h(prin)o(ted)f(at)f(some)g(o)q(dd)h(place)f(on)267 -1736 y(the)f(page.)267 1891 y Fn(30.7.1)48 b(Segmen)o(t)13 -b(Scaling)350 1978 y Fr(There)j(are)f(sev)o(eral)h(scaling)e(parameters)h -(that)g(can)h(b)q(e)f(used)h(with)f(segmen)o(ts.)21 b(In)267 -2028 y(addition)13 b(to)i(the)g Fp(\\unitscale)e Fr(there)j(is)e(a)h -Fp(\\segmentscale)p Fr(.)j(Roughly)13 b(sp)q(eaking)i(the)267 -2079 y Fp(\\segmentscale)i Fr(is)j(used)h(to)f(c)o(hange)g(the)h(scale)f(of)f -(the)i(presen)o(t)h(and)d(all)g(enclosed)267 2130 y(segmen)o(ts)h(while)f -(the)i Fp(\\unitscale)d Fr(is)i(used)h(to)f(set)h(the)f(nominal)d(size)k(of)f -(segmen)o(t)267 2180 y(ob)r(ject.)e(The)10 b(ma)r(jor)e(di\013erence)k(b)q -(et)o(w)o(een)g(the)f(t)o(w)o(o)e(is)h(that)g(segmen)o(t)g(scales)h(accum)o -(ulate)350 2422 y Fo(Draft)16 b(Version:)32 b(1991/8/24)p eop -%%Page: 196 18 -bop 100 83 a Fn(196)95 b Fm(CHAPTER)14 b(30:)20 b(T)587 92 -y(E)609 83 y(X)o(Gr)n(aph)267 214 y Fr(while)g(unitscales)h(do)f(not.)38 -b(An)20 b(example)f(is)i(obtained)f(using)g(the)h Fp(\\fillbox)e -Fr(in)g(a)267 266 y(segmen)o(t.)f(The)c(follo)o(wing)d(three)k(b)q(o)o(xes)g -(illustrate)e(the)i(e\013ect.)669 346 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -669 346 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -669 346 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 72 0 mv 162 0 lv 162 90 lv 72 90 lv cp .5 sg fill np 72 90 mv 117 99 mv st end -786 445 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -770 472 a Fr(.5)669 346 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -669 346 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 72 0 mv 72 0 mv 144 0 mv 228 0 mv 333 0 lv 333 105 lv 228 105 lv cp .7 sg fill np 228 105 mv 280 115 mv st end -949 461 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -933 488 a Fr(.7)669 346 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -669 346 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 228 0 mv 228 0 mv 312 0 mv 446 0 mv 614 0 lv 614 168 lv 446 168 lv cp .9 sg fill np 446 168 mv 530 184 mv st end -1199 530 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr Xp1 neg Yp1 neg tr end -1183 557 a Fr(.9)669 346 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -669 346 a - grestore -350 651 a Fr(This)20 b(example)f(should)h(b)q(e)h(studied)g(carefully)m(.)37 -b(The)20 b(actual)g(commands)e(that)267 697 y(pro)q(duced)d(it)f(are)267 -750 y Fj(\\centergr)o(aph)o({\\b)o(tg)k(\\unitscale)g(.3)j(\045)h(changes)d -(units)594 803 y(\\segments)o(cal)o(e)g(2)855 855 y(\045)j(doubles)d(scale)h -(of)h(all)f(enclosed)f(segments)855 908 y(\045)j(actual)d(scale)h(is)h -(.3*2=.6)594 961 y(\\fillbox)e(.5)594 1014 y(\\move)h(h:.8)g(v:0)42 -b(\045)22 b(moves)e(to)h(right)f(beyond)f(box)594 1066 y(\\beginseg)o(men)o -(t)616 1119 y(\\unitscal)o(e)g(.5)i(\045)g(now)g(unit)f(scale)g(is)h(.5)616 -1172 y(\\segments)o(ca)o(le)d(.7)855 1224 y(\045)k(reduces)d(scale)h(by)h(.5) -g(--)g(actual)e(scale)h(is)855 1277 y(\045)i(.5*2*.7=.)o(7)616 -1330 y(\\fillbox)c(.7)616 1383 y(\\move)h(h:.8)i(v:0)616 1435 -y(\\beginseg)o(me)o(nt)637 1488 y(\\unitscale)d(1)637 1541 -y(\\segmentsca)o(le)g(.8)43 b(\045)21 b(actual)f(scale)g(is)h(1*2*.7*.8)o -(=1.)o(12)637 1593 y(\\fillbox)e(.9)616 1646 y(\\endsegme)o(nt)659 -1699 y(\045)j(actual)d(scale)h(is)h(back)f(to)h(.5*2*.7=.7)572 -1752 y(\\endsegmen)o(t)659 1804 y(\045)h(actual)d(scale)h(is)h(back)f(to)h -(.3*2=.6)550 1857 y(\\etg})267 1915 y Fr(Note)11 b(ho)o(w)e(the)i(segmen)o(t) -f(scale)h(accum)o(ulates)e(while)h(the)h(unitscale)g(do)q(es)f(not.)17 -b(Note)11 b(also)267 1967 y(that)j(the)g(scale)h(rev)o(erts)g(to)f(that)g(of) -f(the)i(enclosing)f(segmen)o(t)f(after)h(an)g Fp(\\endsegment)p -Fr(.)350 2025 y(It)19 b(is)f(p)q(ossible)h(to)g(prev)o(en)o(t)g(a)g(segmen)o -(t)f(from)f(b)q(eing)i(a\013ected)h(b)o(y)e(the)i(external)267 -2077 y(segmen)o(t)c(scales)i(b)o(y)f(inserting)g(the)g(command)d -Fp(\\absolutescale)p Fr(.)24 b(This)17 b(is)g(used)h(for)267 -2128 y(sym)o(b)q(ols)12 b(that)i(y)o(ou)g(wish)g(to)g(ha)o(v)o(e)f(the)i -(same)e(size)i(no)e(matter)h(the)g(actual)g(scale)g(of)g(the)267 -2180 y(graph.)350 2422 y Fo(Draft)i(Version:)32 b(1991/8/24)p -eop -%%Page: 197 19 -bop 1003 83 a Fm(A)n(dvanc)n(e)n(d)16 b(T)1210 92 y(E)1232 -83 y(X)o(Gr)n(aphics)f(and)h(Se)n(gments)96 b Fn(197)267 214 -y(30.7.2)48 b(Segmen)o(t)13 b(Command)i(Summaries)350 302 y -Fr(The)c(follo)o(wing)c(is)j(a)g(list)f(of)h(some)f(of)h(the)g(imp)q(ortan)o -(t)f(p)q(oin)o(ts)h(concerning)h(segmen)o(ts:)225 353 y Fk(?)21 -b Fp(\\beginsegment)267 442 y Fr(This)15 b(b)q(egins)g(a)g(graphical)f -(segmen)o(t)h(and)g(a)g(group.)22 b(All)14 b(lo)q(cations)g(within)h(a)g -(segmen)o(t)267 494 y(are)f(relativ)o(e)g(to)g(the)g(origin)f(of)g(the)i -(segmen)o(t.)225 639 y Fk(?)21 b Fp(\\endsegment)267 728 y -Fr(This)15 b(terminates)g(a)g(segmen)o(t)f(and)h(the)h(group.)22 -b(The)15 b(curren)o(t)i(lo)q(cation)d(up)q(on)h(lea)o(ving)267 -780 y(a)f(segmen)o(t)f(is)h(the)g(segmen)o(t)g(origin.)225 -924 y Fk(?)21 b Fp(\\unitscale)f(<scale>)267 1013 y Fr(The)15 -b Fp(<scale>)f Fr(m)o(ultiplies)e(the)k(presen)o(t)g(segmen)o(t)f(and)g(all)e -(enclosed)j(segmen)o(ts)f(unless)267 1065 y(they)f(ha)o(v)o(e)g(their)h(o)o -(wn)e Fp(\\unitscale)p Fr(.)j(A)e Fp(\\unitscale)e Fr(ma)o(y)g(b)q(e)j(c)o -(hanged)f(at)g(an)o(y)g(time)267 1117 y(within)f(a)h(segmen)o(t.)225 -1261 y Fk(?)21 b Fp(\\segmentscale)e(<scale>)267 1350 y Fr(The)j -Fp(<scale>)d Fr(a\013ects)k(the)e(presen)o(t)i(segmen)o(t)e(and)g(all)f -(enclosed)i(segmen)o(ts)f(unless)267 1402 y(that)e(segmen)o(t)g(is)g -(protected)i(b)o(y)e(an)f Fp(\\absolutescale)p Fr(.)31 b(Unlik)o(e)19 -b Fp(\\unitscale)p Fr(,)f(the)267 1454 y Fp(\\segmentscale)c -Fr(accum)o(ulates)i(b)o(y)g(m)o(ultiplying)d(the)k(curren)o(t)i(scale)e(v)n -(alue.)25 b(The)17 b(ac-)267 1506 y(tual)g(scale)g(used)h(for)f(in)o -(terpreting)h(p)q(osition)e(n)o(um)o(b)q(ers)h(is)g(the)h(pro)q(duct)g(of)e -(all)g(of)h(the)267 1558 y(enclosing)d(segmen)o(tscales)g(times)f(the)i -(presen)o(tly)g(activ)o(e)e(unitscale.)225 1702 y Fk(?)21 b -Fp(\\absoluteposition)267 1791 y Fr(All)14 b(co)q(ordinates)i(are)g(to)f(b)q -(e)h(in)o(terpreted)h(with)e(resp)q(ect)j(to)d(the)h(curren)o(t)h(origin.)k -(This)267 1843 y(will)12 b(either)j(b)q(e)g(the)f(graph)g(origin)f(or)g(the)i -(origin)e(of)g(the)h(curren)o(t)i(segmen)o(t.)225 1988 y Fk(?)21 -b Fp(\\relativeposition)267 2077 y Fr(Co)q(ordinate)c(p)q(ositions)f(are)h -(in)o(terpreted)i(relativ)o(e)e(to)f(the)i(previous)f(p)q(osition.)26 -b(If)17 b(the)267 2128 y(previous)c(command)d(w)o(as)j(the)g(dra)o(wing)f(of) -g(an)h(arc)g(or)g(circle,)g(the)g(previous)g(p)q(osition)f(is)267 -2180 y(the)i(cen)o(ter)i(of)d(the)i(circle.)350 2414 y Fo(Draft)h(Version:)32 -b(1991/8/24)p eop -%%Page: 198 20 -bop 100 83 a Fn(198)95 b Fm(CHAPTER)21 b(30:)h(T)596 92 y(E)619 -83 y(X)o(Gr)n(aph)267 214 y Fl(30.8)56 b(Slide)21 b(Making)350 -300 y Fr(A)15 b(sp)q(ecialized)h(set)g(of)e(commands)f(along)h(with)g -(appropriate)h(templates)g(exist)g(to)267 350 y(create)j(a)f(transparency)m -(.)28 b(All)16 b(slides)h(are)g(\\horizon)o(tal".)25 b Fp(\\fullform)15 -b Fr(slides)i(tak)o(e)g(up)267 400 y(an)c(en)o(tire)g(8.5)f(b)o(y)h(11)g(in.) -k(page)c(and)g(are)g(in)o(tended)h(for)e(displa)o(y)m(.)k Fp(\\textform)c -Fr(slides)h(are)267 451 y(reduced)h(for)e(text.)18 b(A)12 b -Fp(\\comment)18 b(<text>)h(//)12 b Fr(command)d(is)j(giv)o(en)g(that)g(is)g -(suppressed)267 501 y(when)i(the)h Fp(\\fullform)d Fr(is)h(used)i(but)f(is)g -(prin)o(ted)g(when)h Fp(\\textform)d Fr(is)h(used.)19 b(The)c(text)267 -551 y(in)j(the)h(slides)g(uses)h(a)e(general)h(scaled)g(fon)o(t)f(family)e -(in)i(the)h(\014le)f Fp(spfont.tex)p Fr(.)30 b(This)267 601 -y(family)10 b(is)i(basically)g(a)g(scaled)i(set)f(of)f Fp(\\tenpoint)f -Fr(fon)o(ts.)18 b(An)13 b(example)e(is)i(giv)o(en)f(b)q(elo)o(w:)350 -652 y(There)f(are)f(t)o(w)o(o)g(basic)g(forms,)f(the)h(INRS)g(form)e(and)i(a) -g(General)f(form.)15 b(An)c(example)267 702 y(of)i(the)i Fp(\\inrsform)d -Fr(is)h(giv)o(en)h(b)o(y)436 817 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -436 817 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -470 886 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 0 neg rt .7 .7 sc Xp1 neg Yp1 neg tr end -697 961 a Fc(HO)n(W)22 b(TO)g(MAKE)i(SLIDES)f(WITH)1061 1036 -y(INRST)1273 1035 y(^)1268 1049 y(E)1303 1036 y(X)563 1142 -y(Prelimi)o(narie)o(s)618 1247 y Fb(\017)29 b Fl(Input)18 b(the)i(macro)d -(pac)n(k)m(age)j(with)g Fa(\\input)672 1309 y(inrssl.tex)p -Fl(.)618 1414 y Fb(\016)29 b Fl(Decide)20 b(whether)g Fa(\\fullform)g -Fl(or)f Fa(\\textform)p Fl(.)618 1518 y Fb(\003)29 b Fl(Decide)20 -b(whether)g Fa(\\inrsform)g Fl(or)f Fa(\\genform)p Fl(.)563 -1645 y Fc(Making)k(it.)618 1750 y Fb(\017)29 b Fl(Use)19 b -Fa(\\hslide)27 b(<title>//)g(<body>)h(//)p Fl(.)618 1855 y -Fb(\017)h Fl(Use)19 b(\\//")f(as)h(the)g(delimiter.)436 817 -y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -436 817 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 34 69 mv 0 0 mv 0 sl 24 0 mv 41 0 lv 32 34 lv 16 34 lv cp 0 sg fill np 16 34 mv st end -436 817 a - - td begin 0 sl [] 0 sd 1 slc 1 slj np 24 0 mv 44 0 mv 61 0 lv 52 34 lv 36 34 lv cp 0 sg fill np 36 34 mv st end -436 817 a - - td begin 0 sl [] 0 sd 1 slc 1 slj np 44 0 mv 64 0 mv 81 0 lv 68 52 lv 51 52 lv cp 0 sg fill np 51 52 mv st end -1516 829 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 0 neg rt .7 .7 sc Xp1 neg Yp1 neg tr end -845 846 a Fl(INRS-T)o(\023)-27 b(el)o(\023)g(ecomm)m(unications)436 -817 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -436 817 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 1080 12 mv 0 48 mv 6 sl 1080 48 lv 1080 837 lv 0 48 mv 0 837 lv 18 837 mv st np 18 837 18 90 180 arc st np 18 837 mv 18 855 mv 1062 855 lv 1062 837 mv st np 1062 837 18 0 90 arc st np 1062 837 mv st end -436 817 a - grestore -267 1824 a Fp(\\input)20 b(inrssl)h(\045)h(brings)e(in)i(the)f(slide)f -(macros)267 1875 y(\\textform)g(\045)h(sets)g(textform)g(and)g(size)267 -1926 y(\\formscale)f(.7)h(\045)h(further)e(reduces)g(the)h(size)g(of)h(slide) -f(by)g(.7)267 1977 y(\\beginmidinsert)267 2028 y(\\inrsform)f(\045)h(sets)g -(the)h(inrs)f(form)267 2079 y(\\hslide)f(HOW)h(TO)h(MAKE)f(SLIDES)f(WITH)h -(\\intex//)267 2129 y(\\hd{Preliminaries)o(})267 2180 y(\\bl)354 -2417 y Fo(Draft)f(Version:)f(1991/8/24)p eop -%%Page: 199 21 -bop 1443 83 a Fm(Slide)22 b(Making)96 b Fn(199)267 214 y Fp(\\lb)21 -b(Input)g(the)g(macro)g(package)f(with)h({\\tt)g(\\1input)f(inrssl.tex}.)267 -266 y(\\lc)h(Decide)g(whether)f({\\tt)h(\\1fullform})e(or)j({\\tt)f -(\\1textform}.)267 317 y(\\last)g(Decide)f(whether)h({\\tt)g(\\1inrsform})e -(or)i({\\tt)g(\\1genform}.)267 369 y(\\el)267 421 y(\\hd{Making)f(it.})267 -472 y(\\bl)267 524 y(\\lb)h(Use)g({\\tt)g(\\1hslide)f(<title>//)g(<body>)h -(//}.)267 575 y(\\lb)g(Use)g({``//''})f(as)i(the)f(delimiter.)267 -627 y(\\el)267 679 y(//)267 730 y(\\endmidinsert)436 891 y - - /td 50 dict def td begin /mv {moveto} def /lv {lineto} def /st {stroke} def /np {newpath} def /sl {setlinewidth} def /sd {setdash} def /rt {rotate} def /gs {gsave} def /gr {grestore} def /tr {translate} def /cp {closepath} def /sg {setgray} def /chv {currentpoint} def /cv {curveto} def /slc {setlinecap} def /slj {setlinejoin} def /sc {scale} def /at {neg atan rt} def /mx {mv gs chv tr} def end -436 891 a - td begin chv /Yp1 exch def /Xp1 exch def gs Xp1 Yp1 tr 1 1 scale end -470 960 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 0 neg rt .7 .7 sc Xp1 neg Yp1 neg tr end -974 1036 a Fc(This)i(is)f(the)g(title)1061 1137 y(Split)f(here)563 -1417 y(This)h(is)g(an)h(in)n(ternal)f(header)618 1522 y Fb(\017)29 -b Fl(A)19 b(listitem)i(starting)e(with)i(a)e(bullet.)618 1626 -y Fb(\016)29 b Fl(A)19 b(listitem)i(starting)e(with)i(a)e(circle.)618 -1731 y Fb(\003)29 b Fl(A)19 b(listitem)i(starting)e(with)i(an)d(asterisk.)436 -891 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -436 909 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 0 neg rt .7 .7 sc Xp1 neg Yp1 neg tr end -436 919 a Fn(General)13 b(Engineering)g(Inc.)436 891 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -436 909 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 0 neg rt .7 .7 sc Xp1 neg Yp1 neg tr end -436 919 a Fn(General)g(Engineering)g(Inc.)436 891 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -976 1771 a - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 tr 0 neg rt .7 .7 sc Xp1 neg Yp1 neg tr end -532 1781 a Fn(An)j(Imp)q(ortan)o(t)e(Presen)o(tati)o(on)f({)i(Jan.)21 -b(1,)16 b(2000)436 891 y - - td begin chv /Yp1 exch def /Xp1 exch def gr gs Xp1 Yp1 mv Xp1 Yp1 tr 1 1 scale end -436 891 a - - td begin 4 sl [] 0 sd 1 slc 1 slj np 0 0 mv 34 69 mv 0 0 mv 0 18 mv 0 18 mv 540 880 mv 0 48 mv 6 sl 1080 48 lv 1080 837 lv 0 48 mv 0 837 lv 18 837 mv st np 18 837 18 90 180 arc st np 18 837 mv 18 855 mv 1062 855 lv 1062 837 mv st np 1062 837 18 0 90 arc st np 1062 837 mv st end -436 891 a - grestore -350 1871 a Fr(It)j(is)f(p)q(ossible)h(to)g(add)g(a)f(commen)o(t)f(to)h(the)i -(b)q(ottom)d(of)h(the)i(slide)e(whic)o(h)h(only)267 1921 y(sho)o(ws)13 -b(up)f(when)i(the)f(slide)f(is)h(prin)o(ted)g(in)f(textform.)k(A)d(commen)o -(t)d(is)j(terminated)f(with)267 1971 y(a)i(//)350 2077 y(This)g(second)h -(slide)f(w)o(as)f(giv)o(en)h(b)o(y)267 2129 y Fp(\\topdata)20 -b(=)i({General)e(Engineering)f(Inc.})267 2180 y(\\botdata)h(=)i({An)f -(Important)f(Presentation})354 2423 y Fo(Draft)g(Version:)f(1991/8/24)p -eop -%%Page: 200 22 -bop 100 83 a Fn(200)95 b Fm(CHAPTER)14 b(30:)20 b(T)587 92 -y(E)609 83 y(X)o(Gr)n(aph)267 214 y Fp(\\slidedate)g(=)h({Jan.)g(1,)g(2000}) -267 266 y(\\genform)f(\045)i(the)f(general)f(form)h(that)g(uses)g(these)g -(token)g(strings)267 369 y(\\hslide)f(This)h(is)h(the)f(title)g(\\cr)g(Split) -f(here)h(//)267 421 y(\\hd{This)f(is)h(an)h(internal)e(header})267 -472 y(\\bl)267 524 y(\\lb)h(A)h(listitem)42 b(starting)20 b(with)h(a)g -(bullet.)267 576 y(\\lc)g(A)h(listitem)e(starting)g(with)h(a)h(circle.)267 -628 y(\\last)f(A)g(listitem)f(starting)h(with)g(an)g(asterisk.)267 -679 y(\\el)267 731 y(//)43 b(\045)22 b(the)f(//)g(terminates)f(a)i(slide)267 -834 y(\\comment)267 886 y(It)f(is)h(possible)e(to)h(add)g(a)h(comment)e(to)i -(the)f(bottom)f(of)i(the)f(slide)g(which)267 938 y(only)g(shows)g(up)g(when)g -(the)g(slide)g(is)g(printed)g(in)g(textform.)f(A)i(comment)e(is)267 -990 y(terminated)g(with)h(a)g({//})g(//)350 1093 y Fr(Arbitrary)e(graphics)g -(ma)o(y)f(b)q(e)h(included)g(in)g(a)g(slide)g(using)f(normal)f(T)1515 -1102 y(E)1539 1093 y(X)o(Graph)267 1143 y(commands.)e(Ho)o(w)o(ev)o(er,)d -(the)h(included)f(graphics)g(ma)o(y)e(not)h(scale)i(correctly)g(when)f(mo)o -(v-)267 1194 y(ing)j(from)g Fp(\\fullform)f Fr(to)i Fp(\\textform)p -Fr(.)22 b(Under)17 b(these)h(conditions)d(is)h(is)g(necessary)i(to)267 -1244 y(include)11 b(the)h(test)g Fp(\\iftextform)17 b(<....>)h(\\else)g -(<...>)g(\\fi)11 b Fr(to)g(switc)o(h)g(b)q(et)o(w)o(een)i(the)267 -1295 y(mo)q(des.)350 1346 y(The)h(basic)g(commands)e(in)h(order)i(to)f(use)g -(the)h(slide)f(pac)o(k)n(age)f(are)h(as)g(follo)o(ws:)225 1411 -y Fk(?)21 b Fp(\\input)f(inrssl)267 1488 y Fr(This)14 b(command)d(will)h -(bring)i(in)f(the)i(INRST)981 1497 y(E)1004 1488 y(X)e(slide)h(macro)f(pac)o -(k)n(age.)225 1608 y Fk(?)21 b Fp(\\fullform)267 1685 y Fr(This)d(c)o(ho)q -(oses)h(the)g(full)d(size)j(form)e(in)o(tended)h(for)g(creating)g(the)h -(transparency)m(.)31 b(An)o(y)267 1736 y Fp(\\comment)12 b -Fr(is)i(suppressed.)225 1855 y Fk(?)21 b Fp(\\textform)267 -1933 y Fr(This)11 b(c)o(ho)q(oses)i(the)f(text)g(size)g(of)f(the)h(slide)f -(and)g(do)q(es)i(not)e(suppress)i(the)f Fp(\\comment)e Fr(text.)225 -2052 y Fk(?)21 b Fp(\\formscale)f(<scale>)267 2130 y Fr(The)15 -b(en)o(tire)h(slide,)e(text,)h(in)o(ternal)f(graphics,)h(and)g(b)q(order,)g -(is)g(scaled)g(b)o(y)f(the)i Fp(<scale>)267 2180 y Fr(factor.)i(This)c(is)f -(done)i(b)o(y)e(directly)h(b)o(y)g(P)o(ostScript.)350 2422 -y Fo(Draft)i(Version:)32 b(1991/8/24)p eop -%%Page: 201 23 -bop 1450 83 a Fm(Slide)15 b(Making)96 b Fn(201)225 214 y Fk(?)21 -b Fp(\\hslide)c(<title>)g(//)h(<text>)g(//)10 b Fr(This)g(is)g(the)h(basic)f -(command)e(for)i(making)e(a)i(slide.)267 264 y(The)k(title)g(is)g(terminated) -f(with)h(a)g(//)f(and)h(the)g(slide)g(b)q(o)q(dy)g(is)g(also)f(terminated)h -(with)f(a)267 314 y(//.)225 429 y Fk(?)21 b Fp(\\comment)g(<text>)h(//)16 -b Fr(This)g(is)g(a)g(commen)o(t)e(text)j(whic)o(h)f(is)g(prin)o(ted)g(in)g -Fp(\\textform)267 479 y Fr(but)e(suppressed)i(in)e Fp(\\fullform)p -Fr(.)225 594 y Fk(?)21 b Fp(\\inrsform)11 b Fr(This)i(will)f(giv)o(e)h(the)h -(standard)f(INRS-)l(T)o(\023)-20 b(el)o(\023)g(ecomm)o(unications)10 -b(format)i(with)267 644 y(its)k(logo)f(on)h(the)h(top)f(and)g(nothing)f(on)h -(the)h(b)q(ottom.)24 b(T)m(ext)16 b(on)g(the)h(b)q(ottom)d(ma)o(y)h(b)q(e)267 -695 y(added)f(using)g Fp(\\botdata)e Fr(and)i Fp(\\slidedate)p -Fr(.)225 810 y Fk(?)21 b Fp(\\genform)267 886 y Fr(This)14 -b(is)f(a)h(completely)f(general)h(form)e(where)j(only)e(the)i(b)q(order)f(is) -g(set.)225 1000 y Fk(?)21 b Fp(\\topdata)e(={<text>})10 b Fr(This)j(is)f -(prin)o(ted)h(in)f(the)h Fp(\\borderfont)e Fr(whic)o(h)h(is)g(the)h(same)f -(as)267 1051 y(the)h(curren)o(t)i(slide)d(b)q(o)q(dy)h(fon)o(t.)18 -b(It)12 b(is)h(prin)o(ted)g(on)g(the)h(top)e(line)h(ab)q(o)o(v)o(e)f(the)i(b) -q(order)g(with)267 1101 y(a)g(curren)o(t)h(p)q(osition)e(at)h(the)g(left)g -(hand)g(corner.)225 1216 y Fk(?)21 b Fp(\\botdata)f(=)i({<b-text>})225 -1331 y Fk(?)f Fp(\\slidedate)f(=)h({<s-date>})267 1407 y Fr(These)14 -b(t)o(w)o(o)e(tok)o(en)h(strings)g(are)g(prin)o(ted)g(on)f(the)h(b)q(ottom)f -(line)g(cen)o(tered)i(and)f(separated)267 1457 y(b)o(y)h(a)f({,)g(ie)h(as)g -Fp(<b-text>)20 b(-)i(<s-date>)p Fr(.)225 1572 y Fk(?)f Fp(\\iftextform)e -(<...>)i(\\else)g(<...>)g(\\fi)267 1648 y Fr(This)11 b(is)g(a)g(switc)o(h)h -(that)g(allo)o(ws)e(for)h(di\013eren)o(t)h(actions)f(b)q(et)o(w)o(een)i -(fullform)c(and)i(textform.)267 1698 y Fp(\\textform)h Fr(is)i(.578=1/1.728)d -(the)j(size)h(of)e Fp(\\fullform)p Fr(.)225 1813 y Fk(?)21 -b Fp(\\lb)g(\\lc)g(\\last)267 1889 y Fr(These)d(are)f(three)h(short)f(forms)f -(for)g(use)i(in)e(listitems)f(starting)i(with)f Fq(\017)p Fr(,)h -Fq(\016)p Fr(,)g(and)f Fp(*)h Fr(re-)267 1939 y(sp)q(ectiv)o(ely)m(.)225 -2054 y Fk(?)k Fp(\\hd{<text>})267 2130 y Fr(This)13 b(giv)o(es)g(a)g -(\\header")h(inside)g(a)f(slide.)k(It)d(is)f(equiv)n(alen)o(t)g(to)g(a)g -Fp(\\dssshead)e Fr(in)i(normal)267 2180 y(text.)350 2414 y -Fo(Draft)j(Version:)32 b(1991/8/24)p eop -%%Page: 202 24 -bop 100 83 a Fn(202)95 b Fm(CHAPTER)14 b(30:)20 b(T)587 92 -y(E)609 83 y(X)o(Gr)n(aph)267 214 y Fl(30.9)56 b(Some)18 b(Additional)j -(Command)16 b(F)-5 b(orms)17 b({)i(T)1391 225 y(E)1422 214 -y(X)n(Graph)225 312 y Fk(?)i Fp(\\begintexgraph)e(\\btg)267 -387 y Fr(This)13 b(b)q(egins)h(T)512 396 y(E)535 387 y(X)o(Graph.)k(It)13 -b(will)f(bring)h(in)g(the)h(T)1083 396 y(E)1106 387 y(X)o(Graph)g(macros)e -(the)i(\014rst)g(time)f(it)267 437 y(is)h(called.)j(It)d(starts)h(a)f(group)g -(and)f(a)h Fp(\\vbox)p Fr(.)225 549 y Fk(?)21 b Fp(\\endtexgraph)e(\\etg)267 -624 y Fr(Finishes)14 b(T)451 633 y(E)474 624 y(X)o(Graph.)k(It)c(terminates)g -(the)g(group)g(started)h(b)o(y)f Fp(\\btg)p Fr(.)225 737 y -Fk(?)21 b Fp(\\graphdim)f(<units>)267 812 y Fr(This)14 b(sets)i(the)g -(default)e(units)g(of)g(T)832 821 y(E)856 812 y(X)o(Graph.)19 -b(An)o(y)c(v)n(alid)e(T)1247 821 y(E)1270 812 y(X)i Fp(<unit>)e -Fr(is)h(v)n(alid)f(suc)o(h)267 862 y(as)h Fp(in,)21 b(cm,)g(pt,)13 -b Fr(or)h Fp(bp)p Fr(.)k(The)c(curren)o(t)i(default)d(is)h -Fp(in)p Fr(.)225 974 y Fk(?)21 b Fp(\\hgraphsize)267 1049 y -Fr(This)15 b(maxim)n(um)10 b(horizon)o(tal)k(excursion)i(of)f(the)g(graph)g -(as)g(computed)f(b)o(y)h(T)1504 1058 y(E)1527 1049 y(X)o(Graph.)267 -1099 y(It)f(is)g(a)f(dimension.)225 1211 y Fk(?)21 b Fp(\\hgraphskip)267 -1286 y Fr(This)14 b(actually)f Fp(\\hskip)20 b(\\hgraphsize)p -Fr(.)225 1399 y Fk(?)h Fp(\\hpix)g(<number>/<unit>)267 1474 -y Fr(This)14 b(is)f(the)i(horizon)o(tal)e(resolution)h(in)f(pixels/unit.)18 -b(The)c(default)f(is)h Fp(300/in)p Fr(.)225 1586 y Fk(?)21 -b Fp(\\vgraphsize)267 1661 y Fr(This)14 b(maxim)o(um)c(v)o(ertical)k -(excursion)h(of)f(the)h(graph)g(as)f(computed)g(b)o(y)g(T)1452 -1670 y(E)1476 1661 y(X)o(Graph.)19 b(It)267 1711 y(is)14 b(a)f(dimension.)225 -1823 y Fk(?)21 b Fp(\\vgraphskip)267 1898 y Fr(This)14 b(actually)f -Fp(\\vskip)20 b(\\vgraphsize)p Fr(.)225 2010 y Fk(?)h Fp(\\vpix)g -(<number>/<unit>)267 2085 y Fr(This)14 b(is)f(the)i(v)o(ertical)f(resolution) -f(in)h(pixels/unit.)j(The)e(default)e(is)h Fp(300/in)p Fr(.)350 -2414 y Fo(Draft)i(Version:)32 b(1991/8/24)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/macros/latex/contrib/achemso/CHANGELOG.md b/macros/latex/contrib/achemso/CHANGELOG.md index 1c93a01530..7684e5fc48 100644 --- a/macros/latex/contrib/achemso/CHANGELOG.md +++ b/macros/latex/contrib/achemso/CHANGELOG.md @@ -6,6 +6,9 @@ Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +## [v3.13g] - 2024-01-30 +### Fixed +- Suppress spurious class warnings (see issue \#42) ## [v3.13f] - 2022-11-25 ### Fixed @@ -495,7 +498,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/). ### Added - Initial release of package by Mats Dahlgren -[Unreleased]: https://github.com/josephwright/achemso/compare/v3.13f..HEAD +[Unreleased]: https://github.com/josephwright/achemso/compare/v3.13g..HEAD +[v3.13g]: https://github.com/josephwright/achemso/compare/v3.13f...v3.13g [v3.13f]: https://github.com/josephwright/achemso/compare/v3.13e...v3.13f [v3.13e]: https://github.com/josephwright/achemso/compare/v3.13d...v3.13e [v3.13d]: https://github.com/josephwright/achemso/compare/v3.13c...v3.13d diff --git a/macros/latex/contrib/achemso/achemso-demo.pdf b/macros/latex/contrib/achemso/achemso-demo.pdf index 44700abc26..2a683df180 100644 Binary files a/macros/latex/contrib/achemso/achemso-demo.pdf and b/macros/latex/contrib/achemso/achemso-demo.pdf differ diff --git a/macros/latex/contrib/achemso/achemso.dtx b/macros/latex/contrib/achemso/achemso.dtx index a8fa9b2222..3af0f5c1b9 100644 --- a/macros/latex/contrib/achemso/achemso.dtx +++ b/macros/latex/contrib/achemso/achemso.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% File: achemso.dtx Copyright (C) 2008-2022 Joseph Wright +% File: achemso.dtx Copyright (C) 2008-2022,2024 Joseph Wright % % It may be distributed and/or modified under the conditions of the % LaTeX Project Public License (LPPL), either version 1.3c of this @@ -691,7 +691,7 @@ % \begin{macrocode} %<*class> \ProvidesClass{achemso} - [2022-11-25 v3.13f Submission to ACS journals] + [2024-01-30 v3.13g Submission to ACS journals] \LoadClass[12pt,letter]{article} % \end{macrocode} % @@ -711,7 +711,7 @@ % \begin{macrocode} %<*package> \ProvidesPackage{achemso} - [2022-11-25 v3.13f Support for ACS journals] + [2024-01-30 v3.13g Support for ACS journals] \@ifclassloaded{achemso}{% \PackageInfo{achemso}{% You have already loaded the `achemso' class:\MessageBreak @@ -2884,6 +2884,11 @@ \input{achemso-jacsat.cfg}% } % \end{macrocode} +% +% Suppress spurious warnings. +% \begin{macrocode} +\let\@unusedoptionlist\@empty +% \end{macrocode} % %\begin{macro}{\thepage} % Some changes that can always be applied if the manuscript type is @@ -3238,130 +3243,130 @@ % \begin{macrocode} %<*abmcb8> \ProvidesFile{achemso-abmcb8.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Bio. Med. Chem. Au] + [2024-01-30 v3.13g achemso configuration: ACS Bio. Med. Chem. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</abmcb8> %<*aeacb3> \ProvidesFile{achemso-aeacb3.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Eng. Au] + [2024-01-30 v3.13g achemso configuration: ACS Eng. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</aeacb3> %<*aeacc4> \ProvidesFile{achemso-aeacc4.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Env. Au] + [2024-01-30 v3.13g achemso configuration: ACS Env. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</aeacc4> %<*amacgu> \ProvidesFile{achemso-amacgu.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Mater. Au] + [2024-01-30 v3.13g achemso configuration: ACS Mater. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</amacgu> %<*amachv> \ProvidesFile{achemso-amachv.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Meas. Au] + [2024-01-30 v3.13g achemso configuration: ACS Meas. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</amachv> %<*anaccx> \ProvidesFile{achemso-anaccx.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Nanosci. Au] + [2024-01-30 v3.13g achemso configuration: ACS Nanosci. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</anaccx> %<*abmcb8> \ProvidesFile{achemso-abmcb8.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Bio. Med. Chem. Au] + [2024-01-30 v3.13g achemso configuration: ACS Bio. Med. Chem. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</abmcb8> %<*aoiab5> \ProvidesFile{achemso-aoiab5.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Org. Inorg. Au] + [2024-01-30 v3.13g achemso configuration: ACS Org. Inorg. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</aoiab5> %<*apcach> \ProvidesFile{achemso-apcach.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Phys. Bio. Med. Chem. Au] + [2024-01-30 v3.13g achemso configuration: ACS Phys. Bio. Med. Chem. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</apcach> %<*appccd> \ProvidesFile{achemso-appccd.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Polym. Au] + [2024-01-30 v3.13g achemso configuration: ACS Polym. Au] \def\acs@type@list{article,review,letter,perspective,suppinfo} \setkeys{acs}{keywords = true} %</appccd> %<*achre4> \ProvidesFile{achemso-achre4.cfg} - [2022-11-25 v3.13f achemso configuration: Acc. Chem. Res.] + [2024-01-30 v3.13g achemso configuration: Acc. Chem. Res.] \setkeys{acs}{biblabel = plain} \def\acs@type@list{article,suppinfo} \def\abstractname{Conspectus} %</achre4> %<*aaembp> \ProvidesFile{achemso-aaembp.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Appl. Electron. Mater.] + [2024-01-30 v3.13g achemso configuration: ACS Appl. Electron. Mater.] \def\acs@type@list{article,letter,suppinfo} \setkeys{acs}{keywords = true} %</aaembp> %<*aaemcq> \ProvidesFile{achemso-aaemcq.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Appl. Energy Mater.] + [2024-01-30 v3.13g achemso configuration: ACS Appl. Energy Mater.] \def\acs@type@list{article,letter,suppinfo} \setkeys{acs}{keywords = true} %</aaemcq> %<*aamick> \ProvidesFile{achemso-aamick.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Appl. Mater. Interfaces] + [2024-01-30 v3.13g achemso configuration: ACS Appl. Mater. Interfaces] \def\acs@type@list{article,letter,suppinfo} \setkeys{acs}{keywords = true} %</aamick> %<*aanmf6> \ProvidesFile{achemso-aanmf6.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Appl. Nano Mater.] + [2024-01-30 v3.13g achemso configuration: ACS Appl. Nano Mater.] \def\acs@type@list{article,letter,suppinfo} \setkeys{acs}{keywords = true} %</aanmf6> %<*aapmcd> \ProvidesFile{achemso-aapmcd.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Appl. Polym. Mater.] + [2024-01-30 v3.13g achemso configuration: ACS Appl. Polym. Mater.] \def\acs@type@list{article,letter,suppinfo} \setkeys{acs}{keywords = true} %</aapmcd> %<*aastgj> \ProvidesFile{achemso-aastgj.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Agri. Sci. Tech.] + [2024-01-30 v3.13g achemso configuration: ACS Agri. Sci. Tech.] \def\acs@type@list{account,article,letter,retraction,review,viewpoint,suppinfo} \setkeys{acs}{keywords = true} %</aastgj> %<*abseba> \ProvidesFile{achemso-abseba.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Biomater. Sci. Eng.] + [2024-01-30 v3.13g achemso configuration: ACS Biomater. Sci. Eng.] \setkeys{acs}{keywords = true} \def\acs@type@list{article,review,suppinfo} %</abseba> %<*accacs> \ProvidesFile{achemso-accacs.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Catal.] + [2024-01-30 v3.13g achemso configuration: ACS Catal.] \setkeys{acs}{keywords = true} \def\acs@type@list{article,letter,perspective,review,viewpoints,suppinfo} \SectionNumbersOff %</accacs> %<*acscii> \ProvidesFile{achemso-acscii.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Central Sci.] + [2024-01-30 v3.13g achemso configuration: ACS Central Sci.] \def\acs@type@list{article,review,suppinfo} \setkeys{acs}{doi = true} \SectionNumbersOff %</acscii> %<*acbcct> \ProvidesFile{achemso-acbcct.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Chem. Biol.] + [2024-01-30 v3.13g achemso configuration: ACS Chem. Biol.] \setkeys{acs}{ biblabel = fullstop, biochem = true, @@ -3372,7 +3377,7 @@ %</acbcct> %<*acncdm> \ProvidesFile{achemso-acncdm.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Chem. Neurosci.] + [2024-01-30 v3.13g achemso configuration: ACS Chem. Neurosci.] \def\acs@type@list{article,review,letter,suppinfo,viewpoint} \setkeys{acs}{ biblabel = fullstop, @@ -3383,51 +3388,51 @@ %</acncdm> %<*acsccc> \ProvidesFile{achemso-acsccc.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Combinatorial Sci.] + [2024-01-30 v3.13g achemso configuration: ACS Combinatorial Sci.] \def\acs@type@list{article,letter,review,perspective,account,note,suppinfo} \setkeys{acs}{keywords = true} \SectionNumbersOff %</acsccc> %<*aesccq> \ProvidesFile{achemso-aesccq.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Earth Space Chem.] + [2024-01-30 v3.13g achemso configuration: ACS Earth Space Chem.] \def\acs@type@list{article,suppinfo} \setkeys{acs}{keywords = true} %</aesccq> %<*aelccp> \ProvidesFile{achemso-aelccp.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Energy Lett.] + [2024-01-30 v3.13g achemso configuration: ACS Energy Lett.] \def\acs@type@list{letter,perspective,review,viewpoint,focus} \SectionsOff %</aelccp> %<*aeecco> \ProvidesFile{achemso-aeecco.cfg} - [2022-11-25 v3.13f achemso configuration: ACS ES&T Eng.] + [2024-01-30 v3.13g achemso configuration: ACS ES&T Eng.] \def\acs@type@list{article,feature,perspective,review,viewpoint} \setkeys{acs}{keywords = true} %</aeecco> %<*aewcaa> \ProvidesFile{achemso-aewcaa.cfg} - [2022-11-25 v3.13f achemso configuration: ACS ES&T Water] + [2024-01-30 v3.13g achemso configuration: ACS ES&T Water] \def\acs@type@list{article,feature,perspective,review,viewpoint} \setkeys{acs}{keywords = true} %</aewcaa> %<*afsthl> \ProvidesFile{achemso-afsthl.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Food Sci. Tech.] + [2024-01-30 v3.13g achemso configuration: ACS Food Sci. Tech.] \def\acs@type@list{account,article,perspective,retraction,review,viewpoint} \setkeys{acs}{keywords = true} %</afsthl> %<*ascefj> \ProvidesFile{achemso-ascefj.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Infect. Dis.] + [2024-01-30 v3.13g achemso configuration: ACS Infect. Dis.] \def\acs@type@list{article,letter,perspective,review,viewpoint,suppinfo} \setkeys{acs}{keywords = true} \SectionsOff %</ascefj> %<*amlccd> \ProvidesFile{achemso-amlccd.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Macro Lett.] + [2024-01-30 v3.13g achemso configuration: ACS Macro Lett.] \def\acs@type@list{letter,suppinfo} \SectionsOff \setlength{\acs@tocentry@height}{4cm} @@ -3435,24 +3440,24 @@ %</amlccd> %<*amlcef> \ProvidesFile{achemso-amlcef.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Mater. Lett.] + [2024-01-30 v3.13g achemso configuration: ACS Mater. Lett.] \def\acs@type@list{letter,perspective,review,viewpoint,focus} \SectionsOff %</amlcef> %<*amclct> \ProvidesFile{achemso-amclct.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Med. Chem. Lett.] + [2024-01-30 v3.13g achemso configuration: ACS Med. Chem. Lett.] \def\acs@type@list{article,letter,perspective,suppinfo} \SectionNumbersOff %</amclct> %<*amrcda> \ProvidesFile{achemso-amrcda.cfg} - [2022-11-25 v3.13f achemso configuration: Acc. Mater. Res.] + [2024-01-30 v3.13g achemso configuration: Acc. Mater. Res.] \def\acs@type@list{account,article,editorial,retraction,suppinfo} %</amrcda> %<*ancac3> \ProvidesFile{achemso-ancac3.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Nano] + [2024-01-30 v3.13g achemso configuration: ACS Nano] \setkeys{acs}{ abbreviations = true, biblabel = fullstop, @@ -3466,12 +3471,12 @@ %</ancac3> %<*acsodf> \ProvidesFile{achemso-acsodf.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Omega.] + [2024-01-30 v3.13g achemso configuration: ACS Omega.] \def\acs@type@list{article} %</acsodf> %<*apchd5> \ProvidesFile{achemso-apchd5.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Photon.] + [2024-01-30 v3.13g achemso configuration: ACS Photon.] \def\acs@type@list{article,letter,perspective,review,suppinfo} \setkeys{acs}{keywords = true} \ifx\acs@manuscript\acs@manuscript@letter @@ -3480,14 +3485,14 @@ %</apchd5> %<*aidcbc> \ProvidesFile{achemso-aidcbc.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Sensors] + [2024-01-30 v3.13g achemso configuration: ACS Sensors] \def\acs@type@list{article,letter,perspective,review,suppinfo} \setkeys{acs}{keywords = true} \SectionNumbersOff %</aidcbc> %<*ascecg> \ProvidesFile{achemso-ascecg.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Sustainable Chem Eng.] + [2024-01-30 v3.13g achemso configuration: ACS Sustainable Chem Eng.] \setkeys{acs}{ biblabel = fullstop, keywords = true @@ -3497,7 +3502,7 @@ %</ascecg> %<*asbcd6> \ProvidesFile{achemso-asbcd6.cfg} - [2022-11-25 v3.13f achemso configuration: ACS Synth. Biol.] + [2024-01-30 v3.13g achemso configuration: ACS Synth. Biol.] \setkeys{acs}{ abbreviations = true, biblabel = fullstop, @@ -3509,13 +3514,13 @@ %</asbcd6> %<*ancham> \ProvidesFile{achemso-ancham.cfg} - [2022-11-25 v3.13f achemso configuration: Anal. Chem.] + [2024-01-30 v3.13g achemso configuration: Anal. Chem.] \def\acs@type@list{article,note,suppinfo} \SectionNumbersOff %</ancham> %<*bichaw> \ProvidesFile{achemso-bichaw.cfg} - [2022-11-25 v3.13f achemso configuration: Biochemistry] + [2024-01-30 v3.13g achemso configuration: Biochemistry] \setkeys{acs}{ abbreviations = true, biblabel = brackets, @@ -3563,7 +3568,7 @@ %</bichaw> %<*bcches> \ProvidesFile{achemso-bcches.cfg} - [2022-11-25 v3.13f achemso configuration: Bioconjugate Chem.] + [2024-01-30 v3.13g achemso configuration: Bioconjugate Chem.] \setkeys{acs}{ biochem = true, super = false @@ -3572,14 +3577,14 @@ %</bcches> %<*bomaf6> \ProvidesFile{achemso-bomaf6.cfg} - [2022-11-25 v3.13f achemso configuration: Biomacromolecules] + [2024-01-30 v3.13g achemso configuration: Biomacromolecules] \def\acs@type@list{article,comment,communication,note,review,suppinfo} \SectionNumbersOff \AtEndOfClass{\SectionsOn} %</bomaf6> %<*crtoec> \ProvidesFile{achemso-crtoec.cfg} - [2022-11-25 v3.13f achemso configuration: Chem. Res. Toxicol.] + [2024-01-30 v3.13g achemso configuration: Chem. Res. Toxicol.] \setkeys{acs}{ abbreviations = true, biochem = true, @@ -3596,7 +3601,7 @@ %</crtoec> %<*chreay> \ProvidesFile{achemso-chreay.cfg} - [2022-11-25 v3.13f achemso configuration: Chem. Rev.] + [2024-01-30 v3.13g achemso configuration: Chem. Rev.] \def\acs@type@default{review} \def\acs@type@list{review} % \end{macrocode} @@ -3607,7 +3612,7 @@ %<*cmatex> % \begin{macrocode} \ProvidesFile{achemso-cmatex.cfg} - [2022-11-25 v3.13f achemso configuration: Chem. Mater.] + [2024-01-30 v3.13g achemso configuration: Chem. Mater.] \setkeys{acs}{keywords = true} \SectionNumbersOff \ifx\acs@manuscript\acs@manuscript@communication @@ -3617,7 +3622,7 @@ %</cmatex> %<*cgdefu> \ProvidesFile{achemso-cgdefu.cfg} - [2022-11-25 v3.13f achemso configuration: Cryst. Growth Des.] + [2024-01-30 v3.13g achemso configuration: Cryst. Growth Des.] \def\acs@type@list{% article,communication,perspective,suppinfo% } @@ -3630,31 +3635,31 @@ %</cgdefu> %<*enfuem> \ProvidesFile{achemso-enfuem.cfg} - [2022-11-25 v3.13f achemso configuration: Energy Fuels] + [2024-01-30 v3.13g achemso configuration: Energy Fuels] \def\acs@type@list{article,review,suppinfo} \SectionNumbersOff %</enfuem> %<*esthag> \ProvidesFile{achemso-esthag.cfg} - [2022-11-25 v3.13f achemso configuration: Environ. Sci. Technol.] + [2024-01-30 v3.13g achemso configuration: Environ. Sci. Technol.] \def\acs@type@list{article,feature,perspective,review,suppinfo} \SectionNumbersOff %</esthag> %<*estlcu> \ProvidesFile{achemso-estlcu.cfg} - [2022-11-25 v3.13f achemso configuration: Environ. Sci. Technol. Lett.] + [2024-01-30 v3.13g achemso configuration: Environ. Sci. Technol. Lett.] \def\acs@type@list{letter,review,suppinfo} \SectionNumbersOff %</estlcu> %<*iecred> \ProvidesFile{achemso-iecred.cfg} - [2022-11-25 v3.13f achemso configuration: Ind. Eng. Chem. Res.] + [2024-01-30 v3.13g achemso configuration: Ind. Eng. Chem. Res.] \setkeys{acs}{biblabel = brackets} \SectionNumbersOff %</iecred> %<*inoraj> \ProvidesFile{achemso-inoraj.cfg} - [2022-11-25 v3.13f achemso configuration: Inorg. Chem.] + [2024-01-30 v3.13g achemso configuration: Inorg. Chem.] \SectionNumbersOff \ifx\acs@manuscript\acs@manuscript@communication \AbstractOff @@ -3664,19 +3669,19 @@ %</inoraj> %<*jaaucr> \ProvidesFile{achemso-jaaucr.cfg} - [2022-11-25 v3.13f achemso configuration: JACS Au] + [2024-01-30 v3.13g achemso configuration: JACS Au] \def\acs@type@list{spotlight,account,article,communication,letter,perspective,suppinfo} %</jaaucr> %<*jafcau> \ProvidesFile{achemso-jafcau.cfg} - [2022-11-25 v3.13f achemso configuration: J. Agric. Food Chem.] + [2024-01-30 v3.13g achemso configuration: J. Agric. Food Chem.] \setkeys{acs}{keywords = true} \def\acs@type@list{article,suppinfo} \SectionNumbersOff %</jafcau> %<*jceda8> \ProvidesFile{achemso-jceda8.cfg} - [2022-11-25 v3.13f achemso configuration: J. Chem. Ed.] + [2024-01-30 v3.13g achemso configuration: J. Chem. Ed.] \setkeys{acs}{keywords = true} \SectionNumbersOff \def\acs@type@list{article,suppinfo} @@ -3684,26 +3689,26 @@ %</jceda8> %<*jceaax> \ProvidesFile{achemso-jceaax.cfg} - [2022-11-25 v3.13f achemso configuration: J. Chem. Eng. Data] + [2024-01-30 v3.13g achemso configuration: J. Chem. Eng. Data] \def\acs@type@list{article,suppinfo} \def\refname{Literature Cited} \SectionNumbersOff %</jceaax> %<*jcisd8> \ProvidesFile{achemso-jcisd8.cfg} - [2022-11-25 v3.13f achemso configuration: J. Chem. Inf. Model.] + [2024-01-30 v3.13g achemso configuration: J. Chem. Inf. Model.] \def\acs@type@list{article,suppinfo} \SectionNumbersOff %</jcisd8> %<*jctcce> \ProvidesFile{achemso-jctcce.cfg} - [2022-11-25 v3.13f achemso configuration: J. Chem. Theory Comput.] + [2024-01-30 v3.13g achemso configuration: J. Chem. Theory Comput.] \def\acs@type@list{article,suppinfo} \setkeys{acs}{maxauthors = 0} %</jctcce> %<*jmcmar> \ProvidesFile{achemso-jmcmar.cfg} - [2022-11-25 v3.13f achemso configuration: J. Med. Chem.] + [2024-01-30 v3.13g achemso configuration: J. Med. Chem.] \def\acs@type@list{article,letter,perspective,suppinfo} \SectionNumbersOff \setlength{\acs@tocentry@height}{5.5cm} @@ -3711,7 +3716,7 @@ %</jmcmar> %<*jnprdf> \ProvidesFile{achemso-jnprdf.cfg} - [2022-11-25 v3.13f achemso configuration: J. Nat. Prod.] + [2024-01-30 v3.13g achemso configuration: J. Nat. Prod.] \renewcommand*{\abstractname}{ABSTRACT} \renewcommand*{\acknowledgementname}{ACKNOWLEDGEMENT} \renewcommand*{\suppinfoname}{ASSOCIATED CONTENT} @@ -3733,7 +3738,7 @@ %</jnprdf> %<*joceah> \ProvidesFile{achemso-joceah.cfg} - [2022-11-25 v3.13f achemso configuration: J. Org. Chem.] + [2024-01-30 v3.13g achemso configuration: J. Org. Chem.] \ifx\acs@manuscript\acs@manuscript@communication \AbstractOff \SectionsOff @@ -3747,7 +3752,7 @@ % \begin{macrocode} %<*jpcafh> \ProvidesFile{achemso-jpcafh.cfg} - [2022-11-25 v3.13f achemso configuration: J. Phys. Chem. A] + [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. A] \def\acs@type@list{article,suppinfo} \setkeys{acs}{ etalmode = truncate, @@ -3762,7 +3767,7 @@ %</jpcafh> %<*jpcbfk> \ProvidesFile{achemso-jpcbfk.cfg} - [2022-11-25 v3.13f achemso configuration: J. Phys. Chem. B] + [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. B] \def\acs@type@list{article,suppinfo} \setkeys{acs}{ etalmode = truncate, @@ -3774,7 +3779,7 @@ %</jpcbfk> %<*jpccck> \ProvidesFile{achemso-jpccck.cfg} - [2022-11-25 v3.13f achemso configuration: J. Phys. Chem. C] + [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. C] \def\acs@type@list{article,suppinfo} \setkeys{acs}{ etalmode = truncate, @@ -3788,7 +3793,7 @@ % \begin{macrocode} %<*jpclcd> \ProvidesFile{achemso-jpclcd.cfg} - [2022-11-25 v3.13f achemso configuration: J. Phys. Chem. Lett.] + [2024-01-30 v3.13g achemso configuration: J. Phys. Chem. Lett.] \setkeys{acs}{ etalmode = truncate, maxauthors = 10 @@ -3813,7 +3818,7 @@ %</jpclcd> %<*jprobs> \ProvidesFile{achemso-jprobs.cfg} - [2022-11-25 v3.13f achemso configuration: J. Proteome Res.] + [2024-01-30 v3.13g achemso configuration: J. Proteome Res.] \setkeys{acs}{keywords = true} \def\acs@type@list{article,review,suppinfo} \SectionNumbersOff @@ -3825,7 +3830,7 @@ % \begin{macrocode} %<*jacsat> \ProvidesFile{achemso-jacsat.cfg} - [2022-11-25 v3.13f achemso configuration: J. Am. Chem. Soc.] + [2024-01-30 v3.13g achemso configuration: J. Am. Chem. Soc.] \SectionNumbersOff \ifx\acs@manuscript\acs@manuscript@communication\else \expandafter\endinput @@ -4028,26 +4033,26 @@ %</jacsat> %<*langd5> \ProvidesFile{achemso-langd5.cfg} - [2022-11-25 v3.13f achemso configuration: Langmuir] + [2024-01-30 v3.13g achemso configuration: Langmuir] \def\acs@type@list{article,letter,suppinfo} \SectionNumbersOff %</langd5> %<*mamobx> \ProvidesFile{achemso-mamobx.cfg} - [2022-11-25 v3.13f achemso configuration: Macromolecules] + [2024-01-30 v3.13g achemso configuration: Macromolecules] \SectionNumbersOff \setkeys{acs}{doi = true} %</mamobx> %<*mpohbp> \ProvidesFile{achemso-mpohbp.cfg} - [2022-11-25 v3.13f achemso configuration: Mol. Pharm.] + [2024-01-30 v3.13g achemso configuration: Mol. Pharm.] \setkeys{acs}{keywords = true} \def\acs@type@list{article,suppinfo} \SectionNumbersOff %</mpohbp> %<*nalefd> \ProvidesFile{achemso-nalefd.cfg} - [2022-11-25 v3.13f achemso configuration: Nano Lett.] + [2024-01-30 v3.13g achemso configuration: Nano Lett.] \setkeys{acs}{keywords = true} \def\acs@type@default{letter} \def\acs@type@list{letter} @@ -4055,7 +4060,7 @@ %</nalefd> %<*orlef7> \ProvidesFile{achemso-orlef7.cfg} - [2022-11-25 v3.13f achemso configuration: Org. Lett.] + [2024-01-30 v3.13g achemso configuration: Org. Lett.] \def\acs@type@default{communication} \def\acs@type@list{communication} \SectionNumbersOff @@ -4065,13 +4070,13 @@ %</orlef7> %<*oprdfk> \ProvidesFile{achemso-oprdfk.cfg} - [2022-11-25 v3.13f achemso configuration: Org. Proc. Res. Dev.] + [2024-01-30 v3.13g achemso configuration: Org. Proc. Res. Dev.] \def\acs@type@list{article,highlight,review,suppinfo} \SectionNumbersOff %</oprdfk> %<*orgnd7> \ProvidesFile{achemso-orgnd7.cfg} - [2022-11-25 v3.13f achemso configuration: Organometallics] + [2024-01-30 v3.13g achemso configuration: Organometallics] \SectionNumbersOff %</orgnd7> % \end{macrocode} @@ -4736,7 +4741,7 @@ FUNCTION { count.entries } { % Start and end of bibliography functions FUNCTION { begin.bib } { - "achemso 2022-11-25 v3.13f" top$ + "achemso 2024-01-30 v3.13g" top$ preamble$ empty$ { } { diff --git a/macros/latex/contrib/achemso/achemso.pdf b/macros/latex/contrib/achemso/achemso.pdf index c9472c42c9..cded6d32db 100644 Binary files a/macros/latex/contrib/achemso/achemso.pdf and b/macros/latex/contrib/achemso/achemso.pdf differ diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 7709a5ac28..bc2be5f112 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -15,7 +15,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2024/01/28}{2024P} +\ProvidesExplClass{easybook}{2024/01/30}{2024R} {Easily typesetting Chinese theses or books} \bool_set_false:N \l__eb_compile_draft_bool @@ -39,18 +39,11 @@ cjkfont .code:n = \eb_put_ctexbook:n { fontset = #1 }, mathfont .tl_set:N = \l__eb_mathfont_value_tl, mathfont .initial:n = times, - paper .code:n = \PassOptionsToPackage{#1}{geometry}, - class .choice:, - class .value_required:n = true, - class/book .code:n = { }, - class/article .code:n = - { - \bool_set_false:N \l__eb_class_mode_book_bool - \eb_put_ctexbook:n { oneside } - }, config .clist_gset:N = \g__eb_config_file_clist, - floatpage .bool_set:N = \l__eb_float_page_bool, - theorem .bool_set:N = \l__eb_theorem_support_bool, + paper .code:n = { }, + class.code:n = { }, + floatpage.code:n = { }, + theorem .code:n = { }, unknown .code:n = \clist_gput_right:NV \g__eb_doc_options_clist \CurrentOption } @@ -304,7 +297,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplPackage{easybase}{2024/01/28}{2024P} +\ProvidesExplPackage{easybase}{2024/01/30}{2024R} {Easily typesetting Chinese theses or books} \cs_generate_variant:Nn \dim_set:Nn { NV } @@ -399,7 +392,11 @@ \keys_define:nn { easybase } { - draft .code:n = \bool_set_true:N \l__eb_compile_draft_bool, + draft .code:n = + { + \bool_set_true:N \l__eb_compile_draft_bool + \PassOptionsToPackage{draft}{hyperref} + }, floatpage .bool_set:N = \l__eb_float_page_bool, floatpage .default:n = true, floatpage .initial:n = false, @@ -2333,7 +2330,7 @@ } %</package> %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2024/01/28}{2024P} +\ProvidesExplFile{eb-tcolorbox.cfg}{2024/01/30}{2024R} {Customization of tcolorbox for easybook} \cs_set_protected:Npn \addtotcbstyle #1#2 diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf index 31ec25b999..97d9370cd9 100644 Binary files a/macros/latex/contrib/easybook/easybook.pdf and b/macros/latex/contrib/easybook/easybook.pdf differ diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex index a4b14fd44f..b0291dfb82 100644 --- a/macros/latex/contrib/easybook/easybook.tex +++ b/macros/latex/contrib/easybook/easybook.tex @@ -23,8 +23,8 @@ name = easybook, color-scheme = blue, title = EASYBOOK使用手册, - version = v2024P, - date = 2024/01/28, + version = v2024R, + date = 2024/01/30, authors = 瞿毅, info = 简便地排版中文学ä½è®ºæ–‡æˆ–书ç±, email = toquyi@163.com, @@ -1287,7 +1287,7 @@ \keyval{width}{符å·å®½åº¦}\Default{10pt} 设置适当的符å·å®½åº¦å¯ä»¥é˜²æ­¢æ–‡å­—é‡å å’Œè¾¹ç•Œæº¢å‡ºç­‰é—®é¢˜ã€‚ \keyval{delim}{引导符}\Default{——} - 全局的符å·å¯¹ç…§å¼•å¯¼ç¬¦ã€‚\cs{symb} 局部的 \meta{引导符} 和对é½æ–¹å¼æ˜¯åŸºäºŽè¿™ä¸ªç¬¦å·çš„宽度。 + 全局的符å·å¯¹ç…§å¼•å¯¼ç¬¦ã€‚\cs{symb} 命令局部 \meta{引导符} 的对é½æ–¹å¼æ˜¯åŸºäºŽè¿™ä¸ªç¬¦å·çš„宽度。 \keyval{space}{符å·é—´éš™}\Default{0.25em} 符å·é—´éš™ä¸ºå¼•å¯¼ç¬¦ä¸¤ä¾§ä¸Žç¬¦å·å’Œè¯´æ˜Žæ–‡å­—é—´çš„è·ç¦»ã€‚ \keychoice{item-align}{l,c,\fbox{r}} @@ -1350,7 +1350,7 @@ \shortversion{v = 1.638,date = 2022/03/04,changes = 增加目录æ¡ç›®æ ·å¼é€‰é¡¹æ³¨å†Œå‘½ä»¤ \cs{RegisterTocName}。} \shortversion{v = 1.644,date = 2022/03/10,changes = 增加浮动环境目录声明命令 \cs{DeclareFloatList} é…åˆ \pkg*{caption} å®åŒ…。} \shortversion{v = 1.682,date = 2022/05/01,changes = 将迷你页判断命令 \cs{notminipage} 改为被ä¿æŠ¤å‘½ä»¤å…¼å®¹ \pkg*{circledtext} å®åŒ…。} - \begin{version}[v = 2024P,date = 2024/01/28,simple] + \begin{version}[v = 2024R,date = 2024/01/30,simple] \item 核对ä¾èµ–å®åŒ…的更新改动,优化使用手册的内容细节。 \item ä¿®å¤å›¾è¡¨ç­‰æµ®åŠ¨çŽ¯å¢ƒé¢˜æ³¨ç›®å½•ä¸­æ¡ç›®æ ‡ç­¾ç¼–å·çš„计数器值显示错误问题。 \item ä¿®å¤é™„录命令 \cs{appendix} çš„å¯é€‰å‚数设置英文目录中æ¡ç›®å字和编å·å¤±æ•ˆçš„问题。 diff --git a/macros/lollipop/README b/macros/lollipop/README deleted file mode 100644 index fd6a650318..0000000000 --- a/macros/lollipop/README +++ /dev/null @@ -1,86 +0,0 @@ -About Lollipop and its manual. - -You have obtained a package containing the Lollipop format -and its manual. - -The manual is a pretty good illustration of the power of -Lollipop, but there is also a file 'address.tex' which -contains example macros for an address book. - -Lollipop is still under development. The manual contains -some remarks about what is still to be done. If you have any -questions, remarks, suggestions (or if you want to voice -your appreciation :-) , feel free to contact me: - - Vafa Khalighi - persian-tex@tug.org - -Here is how much of TeX's memory you used: - 1194 strings out of 496579 - 16173 string characters out of 6202690 - 72655 words of memory out of 5000000 - 3270 multiletter control sequences out of 15000+600000 - 11241 words of font info for 40 fonts, out of 8000000 for 9000 - 19 hyphenation exceptions out of 8191 - 24i,4n,24p,187b,562s stack positions out of 5000i,500n,10000p,200000b,80000s - -Output written on lollipop-manual.dvi (59 pages, 155468 bytes). - -History so far: - -0.9 October 1992, first public release - -0.91 Unannounced update - TeX3 based lollipop-plain - penalties and white space in embedded constructs - splittopskip set equal to topskip - -0.92 November 1992, update for friends and family - Copyright notices added - math family setting for \rm, \bf, \tt - bugs in penalties corrected - -0.93 December 1992, official update - Lots of nobreaks in pre/post-tex material of constructs - Synonym counters repaired - Topskip and raggedbottom in state of repair - -0.94 December 1992, unofficial update - Adaptive distances - -0.95 January 1993, unofficial update - Short titles, rewritten external files, - address book example format. - -0.97 4 April 2014, organized and updated - files and also generated format. - -0.98 6 April 2014, changed all lollipop filenames - to start with `lollipop' prefix, and fixed typewriter font. - -0.99 9 April 2014, improved ini file, and the error in - address.tex example fixed. - -1.00 11 April 2014, updated lollipop-plain.tex and manual. - -1.01 12 April 2014, Updated lollipop-text.tex (changed "#1 cs to \"#1 cs - to be compatible with plain - -1.02 16 April 2014, Updated lollipop-text.tex (defined \EveryParagraph, - \EveryMath, and \EveryDisplay), defined \PointSizeScriptSizes:12 - -1.03 19 April 2014, Fixed the wrong numbering of nested enumerate lists - -1.05 16 April 2016, Changed \lolli@name to \lollipop@name - added \footnoterule to output routine - defined \PushLeftIndentLevel, \PopLeftIndentLevel, - \PushRightIndentLevel, \PopRightIndentLevel, - \PushLeftRightIndentLevels, and \PopLeftRightIndentLevels - commands. \PushIndentLevel is now a synonym for - \PushLeftIndentLevel and \PopIndentLevel is a synonym - for \PopLeftIndentLevel - fixed the error caused by \newhelp - -1.06 14 May 2016, Defined \FrenchSpacing - -1.07 21 May 2016, Some minor changes \ No newline at end of file diff --git a/macros/lollipop/config/lollipop.ini b/macros/lollipop/config/lollipop.ini deleted file mode 100644 index d7314a3e44..0000000000 --- a/macros/lollipop/config/lollipop.ini +++ /dev/null @@ -1,23 +0,0 @@ -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\scrollmode -\input lollipop -\dump -\endinput - -% lollipop.fmt is generated by `tex -ini -jobname=lollipop -progname=lollipop lollipop.ini' \ No newline at end of file diff --git a/macros/lollipop/doc/manual/address.tex b/macros/lollipop/doc/manual/address.tex deleted file mode 100644 index 3627c90d55..0000000000 --- a/macros/lollipop/doc/manual/address.tex +++ /dev/null @@ -1,186 +0,0 @@ -% address book macros -% copyright 1993 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -% These macros are based on the Lollipop macro package, -% copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% Format this file twice to get external files right. -% - -% Some general options. -% Please use another typeface if you have it! -% -\Distance:whitebefore=0pt \Distance:whiteafter=0pt -\AlwaysIndent:no \FlushRight:no -\TypeFace:ComputerSans \PointSize:8 \Style:roman -\def\\{,\Spaces:1 } - -% The page is four columns, no footers etc -% -\DefinePageGrid:ThePage width:page=6.5in height:page=5in - textband:start text white:10pt text white:10pt - text white:10pt text textband:stop Stop - -% The main macro is the text block \Entity, representing one item -% in the address book. -% -\DefineTextBlock:Entity HasTitle:short - whitebefore:{6pt plus 6pt minus 3pt} whiteafter:whitebefore - line:start rule:v={height 7pt width7pt depth0pt} Spaces:2 - Style:italic title line:stop Stop - -% Data in an entity is formatted as a number of headings. -% We declare all headings to be embedded, ie, they form a paragraph. -% The 'nomarks' option is to prevent memory overflow. -% -\OptionsMacro:embed=embedded:yes nomarks - whitebefore:0pt whiteafter:0pt Stop -\DefineHeading:phone HasTitle:short macro:embed - literal:phone : Spaces:1.5 title , Spaces:2 Stop -\DefineHeading:fax HasTitle:short macro:embed - literal:fax : Spaces:1.5 title , Spaces:2 Stop -\DefineHeading:Address HasTitle:short macro:embed - title , Spaces:2 Stop -\DefineHeading:Note HasTitle:short macro:embed - ( title ) Spaces:2 Stop - -% Here's an example of non-standard handling of the title: -% email addresses are set in \tt, and can be broken differently -% -\def\breakemail{\hyphenchar\font=`. } -\DefineHeading:email HasTitle:short macro:embed - begingroup tt breakemail title endgroup , Spaces:2 Stop - -% This is invisible information; maybe later we'll do something -% with it. -\DefineHeading:Route HasTitle:short Stop - -% Here is the first really cute application. -% If a person is declared to be \At a certain company, then -% that fact is written out to an external file, which can be loaded -% later. -% -\DefineExternalFile:companies=ats -\def\WorksAt{Works at: } -\DefineHeading:At macro:embed - HasTitle:short WorksAt title Spaces:2 - external:companies title unhskip title:Entity unhskip external:stop Stop -% When the 'companies' file gets loaded the title only gets -% parsed by the macro \CompNam, and nothing else happens. -% The title is split into company and person; #1 becomes the name -% of a list to which #2 is added. -% -\def\CompNam#1\unhskip#2\unhskip{ - \if\UndefinedCS{#1}\NewList:{#1} \fi - \AppendToList:#1={#2\unhskip, } } -\DefineExternalItem:At file:companies - expandafter CompNam title Stop -% The company lists are later simply loaded; see below. - -% Even more complicated: birthdays. -% All birthdays are written to an external file. -% -\DefineExternalFile:births=brt -\DefineHeading:birthday HasTitle:short macro:embed - literal:Born : title Spaces:2 - external:births title unhskip title:Entity unhskip external:stop Stop -% Later every month becomes something like an entity; -% here is how we generate a token list for each month. -% -\def\month#1{\ifcase#1\or jan\or feb\or mar\or apr\or may\or jun\or - jul\or aug\or sep\or oct\or nov\or dec\fi} -\tempcounta=1 \loop\ifnum\tempcounta<13 - \xp\NewList\xp:\xp{\month\tempcounta} - \advance\tempcounta1 \repeat -% Formatting the caboodle means: -% -- loading the 'births' file -% -- formatting each month separately by \OneMonth -% which is essentially a call to the text block \Month -% -\def\AllBirths{\LoadExternalFile:births - \tempcounta=1 \loop\ifnum\tempcounta<13 - \OneMonth \advance\tempcounta1 \repeat} -\def\OneMonth{\xp\Month\month\tempcounta\par - \TheList:{\month\tempcounta} \>} -% Month is much like \Entity, just a bit different visually. -% -\DefineTextBlock:Month - whitebefore:{6pt plus 6pt minus 3pt} whiteafter:whitebefore - line:start rule:v={height 7pt width7pt depth0pt} Spaces:2 - Style:italic title Spaces:2 - fillup rule:v={height 7pt width7pt depth0pt} line:stop - Stop -% When the external file is loaded, every birthday is processed -% by \BirNam which splits it into #1 year #2 month #3 day and -% #4 person's name. This is then written to the list for the -% appropriate month. -% -\def\BirNam#1 #2 #3\unhskip #4\unhskip - {\tempcounta#2\relax - \AppendToList:{\month\tempcounta}={\JollyFellow #3 #4 (#1)\par} - } -\DefineExternalItem:birthday file:births - expandafter BirNam title Stop -\DefineHeading:JollyFellow title nomarks Stop - -% Phooeew! Now we can get down to business! - -\WriteExtern:yes -\Start -\LoadExternalFile:companies - -\Entity Adam Aardvark -\Address Page~1, English Language Dictionary -\> - -\Entity Barbara Beeton -\At Tugbt -\Note Editor in chief -\> - -\Entity Jane Doe -\email doe@re.mi.sol -\> - -\Entity John Doe -\phone +1 212 555 4141 -\> - -\Entity Victor Eijkhout -\Address Department of Computer Science, University of Tennessee -\phone +1 615 974 8298 -\At Tugbt -\Note merely associate editor -\email eijkhout@cs.utk.edu -\birthday 1959 11 29 -\> - -\Entity Elvis Presley -\birthday 1938(?) 01 08 -\> - -\Entity Tugboat -\TheList:Tugbt -\> - -\AllBirths - -\Stop - diff --git a/macros/lollipop/doc/manual/appendix.tex b/macros/lollipop/doc/manual/appendix.tex deleted file mode 100644 index 5b05e32214..0000000000 --- a/macros/lollipop/doc/manual/appendix.tex +++ /dev/null @@ -1,69 +0,0 @@ -% appendix.tex copyright1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter Example styles - -To show you the strength of \Lollipop, this chapter collects a few -example style definitions. The first one is that of this manual. - -\Section The style definition for this book - -In case you were wondering how this book was typeset, here is the -full style definition. By the standards of what Lollipop can do it is -pretty pedestrian. - -One thing that may have provide intellectual titilation is the -definition of \cs{Example} and \cs{OutExample}. -It allowed me to keep the examples in sync with their output. - -Of course that -doesn't really rely on \Lollipop. It does illustrate the fact that -\Lollipop\ is interfaceable to arbitrary macros. (But don't try -loading \Lollipop\ on top of \LaTeX! On second thought, do. It -disables most of \LaTeX. Just kidding.) - -\begingroup \PointSize:8 \tt -\verbatimfile{mandefs.tex}\endgroup - -\Section[sec:address] Address book - -The following macros generate an address book. Several noteworthy -features: -\Itemize\item Most titles are short, that is, delimited by the line -end. - \item Since a page will now have several dozens of headings, the -number of marks placed will become a problem, therefore the option -\opt{nomarks} is included everywhere. Without this you would easily -have memory overflows. - \item The \cs{At} heading writes its information to an external -file. This is then parsed by the macro \cs{CompNam}. A~slight amount -of knowledge of Lollipop internals is used here for parameter parsing, -but not more than can be gleaned from simply looking at the external -file.\par - Then a token list is created for each company, and these lists are -printed somewhere down the file. This is a bit of \TeX\ programming -that is not quite elementary, but still \Lollipop saves you a lot of -work. - \> -If you want to see the output, run \TeX\ with Lollipop twice on the -\file{address.tex} file. - - \begingroup \PointSize:8 \tt -\verbatimfile{address.tex}\endgroup - -\endinput \ No newline at end of file diff --git a/macros/lollipop/doc/manual/btxmac.tex b/macros/lollipop/doc/manual/btxmac.tex deleted file mode 100644 index 3093ed1a83..0000000000 --- a/macros/lollipop/doc/manual/btxmac.tex +++ /dev/null @@ -1,812 +0,0 @@ -%% @texfile{ -%% author = "Karl Berry and Oren Patashnik", -%% version = "0.99h", -%% date = "24 Apr 1991", -%% filename = "btxmac.tex", -%% address = "Please use electronic mail", -%% checksum = "812 4053 30557", -%% email = "opbibtex@neon.stanford.edu", -%% codetable = "ISO/ASCII", -%% supported = "yes", -%% docstring = "Defines macros that make BibTeX work with plain TeX", -%% } -% BibTeX-for-TeX macros, version 0.99h, for BibTeX 0.99c, TeX 3.0 or later. -% Copyright (C) 1990--91 by Karl Berry and Oren Patashnik; all rights reserved. -% You may copy this file provided: that it's accompanied by the -% "BibTeXing" document, whose text is contained in the file `btxdoc.tex'; -% that any documentation you write for these macros also gives a -% reference for "BibTeXing"; and that either you make absolutely no -% changes to your copy, or if you do make changes, (1) you name the file -% something other than `btxmac.tex' and you remove all occurrences of -% `btxmac.tex' from the file, (2) you put, somewhere in the first twenty -% lines of the file, your name, along with an electronic address at which -% others who might use the file may reach you, and (3) you remove each -% occurrence of Oren's name and electronic address from this file. These -% restrictions help ensure that all standard versions of these macros are -% identical, and that Oren doesn't get deluged with inappropriate e-mail. -% -% This file, btxmac.tex, contains TeX macros that allow BibTeX, a -% bibliography program that was originally designed for use with LaTeX, -% to work with plain TeX. Please report any bugs (outright goofs, -% improvable macros, misfeatures, or unclear documentation) to Oren -% Patashnik (opbibtex@neon.stanford.edu). These macros will become -% frozen shortly after BibTeX version 1.00 is released. -% -% To use these macros you should be familiar with how BibTeX interacts -% with LaTeX, since BibTeX's interaction with TeX is very similar; that -% interaction is explained in the LaTeX manual. It also helps to -% have read "BibTeXing", the documentation that accompanies BibTeX. -% Then, if you want, you should redefine any of the macros that begin -% with `\bbl' or `\biblabel' or `\print' that you need to get formatting -% different from the default (the default settings are designed to -% accompany a bibliography style like BibTeX's standard style `plain'). -% The macros you might want to change are described briefly a few -% paragraphs hence. Finally, as long as you follow the guidelines given -% by the LaTeX manual and "BibTeXing", you simply \input btxmac. -% [Remember the general scheme: Running (La)TeX writes information on -% the .aux (auxiliary) file; then running BibTeX reads information from -% the .aux, .bst (style), and .bib (database) files, and writes -% information (the bibliography) on a .bbl file; then running (La)TeX -% incorporates the bibliography; then running (La)TeX once more fixes -% the remaining forward references into the bibliography. Thus, to get -% everything incorporated into your output, you'll have to run (La)TeX, -% BibTeX, (La)TeX, (La)TeX. (Standup, sitdown, fight, fight, fight.)] -% -% These macros can stand alone or they can be \input into macro packages -% like Eplain. If you want to try out these macros on the 0.99 version -% of the xampl.bib file that's distributed with BibTeX (that version of -% the file has no self-identification), you'll need to define \mbox, -% which is a LaTeX command, to be \hbox. -% -% -% HISTORY -% -% Karl Berry wrote the original version of these macros in 1989 and -% 1990, for use in his `Eplain' package. Oren Patashnik modified them -% slightly in July 1990, as part of the official BibTeX distribution. -% -% 1-Aug-90 Version 0.99a, not released to the general public. -% 14-Aug-90 0.99b, first general release. -% 26-Aug-90 0.99c, made \@undefinedmessage work with other macro packages. -% 6-Sep-90 0.99d, allowed for general formatting of bibliography labels, -% for general formatting of (in-text) citations, and for -% changing certain catcodes while reading the .aux file. -% 14-Nov-90 0.99e, changed the way \@setletters works, made some \new...'s -% non-outer, and changed the way Eplain reads this file. -% 12-Dec-90 0.99f, made \@resetnumerals change the `,' and `.' catcodes; and -% added \biblabelextrahang, \@getoptionalarg, and \bblsc. -% 11-Mar-91 0.99g, made a few minor changes required by the way Eplain reads -% this file, but no functional changes. -% 24-Apr-91 0.99h, inhibited the reading and writing of the .aux file if it -% isn't used or if the \noauxfile macro is defined, and -% removed some .aux-file-opening detritus; printed the -% cite-key of undefined citations in \tt font; changed the -% catcode of `_' inside \cite; and called \@resetnumerals -% from inside a group. -% -% -% The LaTeX-related commands defined in this file include (a) the four -% commands that a user types (\bibliography, \bibliographystyle, \cite, -% and \nocite); (b) the three commands that BibTeX looks for in the .aux -% file (\bibdata, \bibstyle, and \citation---there is a fourth command -% that BibTeX looks for, but that command is related to LaTeX's \include -% facility, so these macros ignore that command); and (c) a LaTeX -% command (\newcommand) that's written by one of the four standard -% bibliography styles (alpha). The definitions here are not exactly the -% same as the corresponding LaTeX definitions (those eight LaTeX -% definitions depend on a significant fraction of LaTeX itself). But -% the only substantial differences are with \newcommand, which here, -% without complaining, lets you redefine a preexisting control sequence -% (in LaTeX, \newcommand won't let you redefine a preexisting command), -% and which here doesn't make the control sequences it defines \long (in -% LaTeX, that happens automatically); there may also be other minor -% differences. To summarize: Unless you know what you're doing, you -% shouldn't define any control sequences with these eight names: -% -% \bibdata -% \bibliography -% \bibliographystyle -% \bibstyle -% \citation -% \cite -% \newcommand -% \nocite -% -% There are three other commands written by one or more of the four -% standard (plain, abbrv, alpha, unsrt) or four semistandard (acm, -% apalike, ieeetr, siam) bibliography styles; they take effect only -% within the bibliography, and are redefinable, as explained later: -% -% \em -% \newblock -% \sc -% -% There's one control sequence you might want to use (but not redefine) -% in redefining \biblabelprint: -% -% \biblabelwidth -% -% There are twelve other control sequences (explained later in more detail) -% that the macros of this file will use if you define them---you should -% define them after the \input btxmac command but before the \bibliography -% command. The first five begin with `\bbl' and affect fonts, spacing, -% and perhaps other characteristics of the bibliography; the next three -% begin with `\biblabel' and determine how labels are formatted in the -% bibliography; and the last four begin with `\print' and determine how -% the in-text citations are formatted: -% -% \bblem -% \bblhook -% \bblnewblock -% \bblrm -% \bblsc -% \biblabelcontents -% \biblabelextrahang -% \biblabelprint -% \printbetweencitations -% \printcitefinish -% \printcitenote -% \printcitestart -% -% If it's defined before the \input btxmac command, the control sequence -% below inhibits the reading and writing of the .aux file(s), and the -% issuing of related warning messages. Any definition will do. This -% feature might help when you're working on draft stages of a document: -% -% \noauxfile -% -% Here's another control sequence (it's described later), with an `@' -% in its name, that you probably won't want to redefine unless you are -% writing another macro package; if you do redefine it, however, do it -% before the \input btxmac command: -% -% \@undefinedmessage -% -% And here are still more control sequences that, should you already have -% them defined, might conflict with the way the btxmac.tex macros use them -% (but since each of these has an `@' in its name, it's unlikely that such -% conflicts will arise unless you intend them): -% -% \@auxfile \@auxfiledonefalse \@auxfiledonetrue -% \@bracketcheck \@citation \@cite -% \@citedef \@citelabel \@citewarningfalse -% \@citewarningtrue \@commandname \@continuenewcommand -% \@emptymarkA \@emptymarkB \@fileexistsfalse -% \@fileexiststrue \@finishcitedef \@finishtestfileexistence -% \@for \@forloop \@fornoop -% \@fortmp \@getoptionalarg \@@getoptionalarg -% \@gobble \@if@auxfiledone \if@citewarning -% \@ifempty \@@ifempty \if@fileexists -% \if@notfirstcitation \@iforloop \@innerdef -% \@innernewcount \@innernewdimen \@innernewif -% \@innernewwrite \@itemnum \@letter -% \@linenumber \@newcommandwithargs \@newcommand -% \@next \@nextwhile \@nil -% \@nnil \@notfirstcitationfalse \@notfirstcitationtrue -% \@numparams \@oldatcatcode \@onecitation -% \@optionalarg \@other \@paramdef -% \@readauxfile \@readbblfile \@resetnumerals -% \@scfont \@setletters \@spacesub -% \@startdef \@testfileexistence \@tokstostring -% \@ttsA \@ttsB \@ttsmarkA -% \@ttsmarkB \@undefined \@writeaux -% -% -% So to start things off we turn `@' into a letter (category code 11), -% keeping track of the old category code for future restoration. -% (Simply resetting it to 12 when we leave these macros is -% insufficient.) The use of `\cite' as a temporary control sequence is -% a kludge, but it's a reasonably simple way to accomplish what we need -% without possibly overwriting something (without an `@' in its name) -% that might already be defined. -% -\edef\cite{\the\catcode`@}% -\catcode`@ = 11 -\let\@oldatcatcode = \cite -\chardef\@letter = 11 -\chardef\@other = 12 -% -% -% Next come some things that will be useful later. -% -% Make an outer definition into an inner one (due to Chris Thompson). -% The arguments should be the control sequence to be defined, and the -% new of the \outer control sequence, as characters; the control -% sequence #1 is defined to be just the same as \csname#2\endcsname, but -% not \outer. For example, \@innerdef\innernewcount{newcount} would -% define \innernewcount to be a non-outer version of \newcount. -% -\def\@innerdef#1#2{\edef#1{\expandafter\noexpand\csname #2\endcsname}}% -% -% We use \@innerdef to make some of our allocations local, because -% Eplain includes our code inside a conditional. We put @'s in the -% names to minimize the (already small) chance of conflicts. -% -\@innerdef\@innernewcount{newcount}% -\@innerdef\@innernewdimen{newdimen}% -\@innerdef\@innernewif{newif}% -\@innerdef\@innernewwrite{newwrite}% -% -% -% Swallow one parameter. -% -\def\@gobble#1{}% -% -% -% Use TeX 3.0's \inputlineno to get the line number, for better error -% messages, but if we're using an old version of TeX, don't do anything. -% -\ifx\inputlineno\@undefined - \let\@linenumber = \empty % Pre-3.0. -\else - \def\@linenumber{\the\inputlineno:\space}% -\fi -% -% -% \@getoptionalarg\CS gets an optional argument from the input, enclosed -% in brackets, then expands \CS. We set \@optionalarg to \empty if we -% don't find one, otherwise to the text of the argument. This assumes -% the brackets don't have a funny category code. -% -\def\@getoptionalarg#1{\let\temp = #1\futurelet\next\@bracketcheck}% -\def\@bracketcheck{\begingroup - \if [\next - \aftergroup\@@getoptionalarg - \else - \global\let\@optionalarg = \empty - % - % We can't do the \aftergroup\temp after the \fi, because then the - % \temp gets in the way of reading the optional argument from the - % input, if we do have one. - \aftergroup\temp - \fi -\endgroup}% -% -\def\@@getoptionalarg[#1]{% - \def\@optionalarg{#1}% - \temp -}% -% -% -% \@tokstostring converts its argument into a list of character tokens. -% It uses no commands that are executed in the stomach, only expansions -% handled in the gullet. (This is necessary for use with \edef). -% -% Control sequences in the argument are not expanded. Blanks become a -% \spacesub. The argument shouldn't contain other special characters. -% -\def\@tokstostring#1{\@ttsA#1 \@ttsmarkA}% -% -% \@ttsA partitions a sequence of tokens into portions delimited by blanks. -% -\def\@ttsA#1 #2\@ttsmarkA{% - \@ifempty{#1}\else - \@ttsB #1\@ttsmarkB - % - \@ifempty{#2}\else - \@spacesub\@ttsA#2\@ttsmarkA - \fi - \fi -}% -% -% \@ttsB processes a sequence of tokens with no contained blanks. -% -\def\@ttsB#1{% - \ifx #1\@ttsmarkB\else - \string #1% - \expandafter\@ttsB - \fi -}% -% -% This is just so \ifx won't complain about an undefined control sequence. -% -\def\@ttsmarkB{\@ttsmarkB}% should never be expanded -% -% The expansion of this macro replaces spaces. -% -\def\@spacesub{+}% -% -% -% \@ifempty tests if it is given an argument. -% -\def\@ifempty#1{\@@ifempty #1\@emptymarkA\@emptymarkB}% -\def\@@ifempty#1#2\@emptymarkB{\ifx #1\@emptymarkA}% -% -\def\@emptymarkA{\@emptymarkA}% Again, so \ifx won't complain. -% -% -% From LaTeX. -% -\def\@nnil{\@nil}% -\def\@fornoop#1\@@#2#3{}% -% -\def\@for#1:=#2\do#3{% - \edef\@fortmp{#2}% - \ifx\@fortmp\empty \else - \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}% - \fi -}% -% -\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else - #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi -}% -% -\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil - \let\@nextwhile=\@fornoop \else - #4\relax\let\@nextwhile=\@iforloop\fi\@nextwhile#2\@@#3{#4}% -}% -% -% -% This macro tests if a file \jobname.#1 exists, and sets -% \if@fileexists appropriately. If an optional argument is given, it is -% used as the root part of the filename instead of \jobname. -% -\@innernewif\if@fileexists -% -\def\@testfileexistence{\@getoptionalarg\@finishtestfileexistence}% -\def\@finishtestfileexistence#1{% - \begingroup - \def\extension{#1}% - \immediate\openin0 = - \ifx\@optionalarg\empty\jobname\else\@optionalarg\fi - \ifx\extension\empty \else .#1\fi - \space - \ifeof 0 - \global\@fileexistsfalse - \else - \global\@fileexiststrue - \fi - \immediate\closein0 - \endgroup -}% -% -% -%% [[[start of BibTeX-specific stuff]]] -% -% Now come the four main LaTeX commands and their associated .aux -% commands. Just as in LaTeX, \bibliographystyle defines the BibTeX -% style name (.bst file, that is), and \bibliography defines the -% database (.bib) file(s). The corresponding .aux-file commands are -% \bibstyle and \bibdata, which are there only for BibTeX's (but not -% LaTeX's) use. -% -\def\bibliographystyle#1{% - \@readauxfile - \@writeaux{\string\bibstyle{#1}}% -}% -\let\bibstyle = \@gobble -% -% As well as writing the \bibdata command to tell BibTeX -% which .bib files to read, we read the .bbl file that -% BibTeX (or a person, conceivably) has produced. -% -\def\bibliography#1{% - \@readauxfile - \@writeaux{\string\bibdata{#1}}% - \@testfileexistence{bbl}% - \if@fileexists - \@readbblfile - \fi -}% -\let\bibdata = \@gobble -% -% The \nocite{label,label,...} command writes its argument to \@auxfile, -% unless instructed not to, but produces no text in the document. Both -% the \nocite and \cite commands produce \citation commands in the .aux file. -% -\def\nocite#1{% - \@readauxfile - \@writeaux{\string\citation{#1}}% -}% -% -\@innernewif\if@notfirstcitation -% -% \cite[note]{label,label,...} produces the citations for the labels as -% well. If the optional argument `note' is present, it's added after -% the labels. Since \cite calls \nocite before doing any writing, it -% doesn't need to call \@readauxfile. We change the category code of -% `_' so that the dummy definition given to the citation label doesn't -% include a subcript character; that would cause TeX to complain. -% -\def\cite{\begingroup\catcode`_ = \@letter \@getoptionalarg\@cite}% -% -% Typeset the citations for the labels in #1, followed by the note, if -% it exists. To change the citation's format in the text, redefine one -% or more `\print...' macros, whose defaults appear later in this file. -% -\def\@cite#1{% - \nocite{#1}% - % Start printing the text, beginning with a left bracket by default. - % - \printcitestart - \@notfirstcitationfalse - \@for \@citation :=#1\do - {% - \expandafter\@onecitation\@citation\@@ - }% - \ifx\empty\@optionalarg\else - \printcitenote{\@optionalarg}% - \fi - \printcitefinish - \endgroup -}% -% -\def\@onecitation#1\@@{% - \if@notfirstcitation - \printbetweencitations - \fi - % - \expandafter \ifx \csname\@citelabel{#1}\endcsname \relax - \if@citewarning - \message{\@linenumber Undefined citation `#1'.}% - \fi - % Give it a dummy definition: - \expandafter\gdef\csname\@citelabel{#1}\endcsname{% - {\tt \nobreak\hskip0pt#1\nobreak\hskip0pt}}% - \fi - % Now produce the text, whether it was undefined or not. - \csname\@citelabel{#1}\endcsname - \@notfirstcitationtrue -}% -% -% Given a label `foo', the macro `\b@foo' is supposed to -% hold the text that should be produced. -% -\def\@citelabel#1{\@tokstostring{b@#1}}% -% -% So, how does a citation label get defined? When we read the .bbl file -% (below), a \bibitem writes out a \@citedef command. And when we read -% the \@citedef, we define \@citelabel{#1}, where #1 is the user's -% label. But we have to be careful when reading the \@citedef, because -% the second argument might have accents or other commands with numbers -% as arguments. We have given the numerals category code 11 for reading -% the .aux file, and that prevents them from being recognized as TeX -% <number>s. Similarly for the other characters that can be part of a -% <number>. So we have to reset the category codes before reading the -% second argument. We also have to reset them back to letters when we -% finish reading the \@citedef's, because there might be more labels -% with numerals in them defined afterwards in the .aux file, put there -% by Eplain or whatever. -% -\def\@citedef#1{% - \begingroup - \@resetnumerals - \@finishcitedef{#1}% -}% -\def\@finishcitedef#1#2{% - \expandafter\gdef\csname\@citelabel{#1}\endcsname{#2}% - \endgroup -}% -\def\@resetnumerals{% - \catcode`0 = \@other \catcode`1 = \@other \catcode`2 = \@other - \catcode`3 = \@other \catcode`4 = \@other \catcode`5 = \@other - \catcode`6 = \@other \catcode`7 = \@other \catcode`8 = \@other - \catcode`9 = \@other \catcode`" = \@other \catcode`' = \@other - \catcode`` = \@other \catcode`, = \@other \catcode`. = \@other -}% -% -% -% Reading the .bbl file also produces the typeset bibliography. Please -% notice, however, that we do not produce the title for the references -% (e.g., `References'), as LaTeX does. The formatting and spacing of -% that title, whether it should go into the headline, and so on, are all -% things determined by your format. We cannot know those things in -% advance. If you wish, you can define \bblhook to produce the title. -% Or just do it before the \bibliography command. -% -\def\@readbblfile{% - % Define a counter to tell us which item number we are on. - \@innernewcount\@itemnum - % - \begingroup - \def\begin##1##2{% - % ##1 is just `thebibliography'. - % ##2 is the widest label. - % We set (new dimen) \biblabelwidth based on the widest label - \setbox0 = \hbox{\biblabelcontents{##2}}% - \biblabelwidth = \wd0 - }% - \def\end##1{}% ##1 is `thebibliography' again. - % - % Here we have two possibilities: - % \bibitem[typesetlabel]{citationlabel} - % \bibitem{citationlabel} - % If we have the second of these, the citations are numbered, starting - % from one; we use our own count register \@itemnum for this. - % - \@itemnum = 0 - \def\bibitem{\futurelet\next\@bibitem}% - \def\@bibitem{% - \begingroup \if [\next - \aftergroup\@alphabibitem - \else - \aftergroup\@numberedbibitem - \fi \endgroup - }% - \def\@alphabibitem[##1]##2{% - % Need \xdef here for various reasons. - \expandafter \xdef\csname\@citelabel{##2}\endcsname {##1}% - \@finishbibitem{##2}% - }% - % - \def\@numberedbibitem##1{% - \advance\@itemnum by 1 - \expandafter \xdef\csname\@citelabel{##1}\endcsname{\number\@itemnum}% - \@finishbibitem{##1}% - }% - % - \def\@finishbibitem##1{% - \biblabelprint{\csname\@citelabel{##1}\endcsname}% - \@writeaux{\string\@citedef{##1}{\csname\@citelabel{##1}\endcsname}}% - \ignorespaces - }% - % - % Do the printing (we're producing the bibliography, remember). - % - \let\em = \bblem - \let\newblock = \bblnewblock - \let\sc = \bblsc - % Punctuation won't affect spacing; - \frenchspacing - % the penalties below are from LaTeX's [article,book,report].sty; - \clubpenalty = 4000 \widowpenalty = 4000 - % the next two values come from LaTeX's \sloppy command; - \tolerance = 10000 \hfuzz = .5pt - \everypar = {\hangindent = \biblabelwidth - \advance\hangindent by \biblabelextrahang}% - \bblrm - % the \parskip is a guess at what looks good; - \parskip = 1.5ex plus .5ex minus .5ex - % and the .5em matches the \enspace of \biblabelprint below. - \biblabelextrahang = .5em - \bblhook - % - \input \jobname.bbl - \endgroup -}% -% -% The widest label's width is useful for redefining \biblabelprint; you -% redefine \biblabelwidth, in effect, by redefining the -% \biblabelcontents macro that appears below. And \biblabelextrahang, -% which is redefinable inside \bblhook, is added to \biblabelwidth to -% determine the amount of hanging indentation. -% -\@innernewdimen\biblabelwidth -\@innernewdimen\biblabelextrahang -% -% Now come the main macros that are related to the printing of the -% bibliography. Since you might want to redefine them, they are given -% default definitions outside of \@readbblfile. -% -% The first one controls the printing of a bibliography entry's label. -% If you change it, make sure that it starts with something like -% \noindent or \indent that puts TeX into horizontal mode (even if the -% label itself is empty); otherwise, the hanging indentation will get -% messed up in certain circumstances. -% -\def\biblabelprint#1{% - \noindent\hbox to \biblabelwidth{\biblabelcontents{#1}\hss}\enspace}% -% -% By default the labels are typeset in \bblrm, and enclosed in brackets. -% -\def\biblabelcontents#1{\bblrm [#1]}% -% -% The main text, too, is typeset using \bblrm, which is \rm by default. -% -\def\bblrm{\rm}% -% -% Emphasis for producing, e.g., titles, is done with \it by default. -% -\def\bblem{\it}% -% -% Some styles use a caps-and-small-caps font for author names. LaTeX -% defines an \sc command but plain TeX doesn't, so we need one here. -% The definition below doesn't load the font unless it's needed, but it -% tries to load only the 10pt version, because it might not exist at -% other point sizes. -% -\def\bblsc{\ifx\@scfont\@undefined - \font\@scfont = cmcsc10 - \fi - \@scfont -}% -% -% The major parts of an entry are separated with \bblnewblock. The -% numbers below are taken from LaTeX's `article' style. -% -\def\bblnewblock{\hskip .11em plus .33em minus .07em}% -% -% Here's where you stick any other bibliography-formatting goodies, or -% redefine the values above. -% -\let\bblhook = \empty -% -% -% Here are the four default definitions for formatting the in-text -% citations. These are what you redefine (after your \input btxmac but -% before your \bibliography) to get parens instead of brackets, or -% superscripts, or footnotes, or whatever. -% -\def\printcitestart{[}% left bracket -\def\printcitefinish{]}% right bracket -\def\printbetweencitations{, }% comma, space -\def\printcitenote#1{, #1}% comma, space, note (if it exists) -% -% That scheme is pretty flexible. For example you could use -% \def\printcitestart{$^\bgroup} -% \def\printcitefinish{\egroup$} -% \def\printbetweencitations{,} -% \def\printcitenote#1{\hbox{\sevenrm\space (#1)}} -% to get superscripted in-text citations. To get something radically -% different, however, you'll have to define your own \cite command. -% -% When we read this from the .aux file, \citation means nothing. -% -\let\citation = \@gobble -% -% -% Now comes the stuff for dealing with LaTeX's \newcommand. As -% mentioned earlier, this \newcommand will redefine a preexisting -% command; that's different from how LaTeX's \newcommand behaves. -% -\@innernewcount\@numparams -% -% \newcommand{\foo}[n]{text} defines the control sequence \foo to have -% n parameters, and replacement text `text'. -% -\def\newcommand#1{% - \def\@commandname{#1}% - \futurelet\@next\@continuenewcommand -}% -% -% Figure out if this definition has parameters. -% -\def\@continuenewcommand{\begingroup - \if [\@next - \aftergroup\@newcommandwithargs - \else - \global\@numparams = 0 - \aftergroup\@newcommand - \fi -\endgroup}% -% -\def\@newcommandwithargs[#1]{% - \global\@numparams = #1 - \@newcommand -}% -% -% \@numparams is how many arguments this command has. The name of the -% command is \@commandname. The replacement text for the new macro is #1. -% -\def\@newcommand#1{% - \def\@startdef{\expandafter\edef\@commandname}% - \ifnum\@numparams=0 - \let\@paramdef = \empty - \else - \ifnum\@numparams>9 - \errmessage{\the\@numparams\space is too many parameters}% - \else - \ifnum\@numparams<0 - \errmessage{\the\@numparams\space is too few parameters}% - \else - \edef\@paramdef{% - % This is disgusting, but \loop doesn't work inside \edef, - % because \body isn't defined. - % - \ifcase\@numparams - \empty No arguments. - \or ####1% - \or ####1####2% - \or ####1####2####3% - \or ####1####2####3####4% - \or ####1####2####3####4####5% - \or ####1####2####3####4####5####6% - \or ####1####2####3####4####5####6####7% - \or ####1####2####3####4####5####6####7####8% - \or ####1####2####3####4####5####6####7####8####9% - \fi - }% - \fi - \fi - \fi - \expandafter\@startdef\@paramdef{#1}% -}% -% -%% [[[end of BibTeX-specific stuff]]] -% -% -% Names of references (arguments given in the \cite and \nocite -% commands) and file names (arguments given in the \bibliography and -% \bibliographystyle commands) are recorded in \jobname.aux, called the -% \@auxfile in these macros. Here's how they get read in. -% -\def\@readauxfile{% - \if@auxfiledone \else % remember: \@auxfiledonetrue if \noauxfile is defined - \global\@auxfiledonetrue - \@testfileexistence{aux}% - \if@fileexists - \begingroup - % Because we might be in horizontal mode when \@readauxfile - % is called (if it's in response to a \cite or \nocite), we - % want to ignore all the would-be spaces at the ends of - % lines in the aux file. Fortunately, there are never any - % (non-pathological) cases where an end-of-line might - % actually be desired. If you really need to do something - % strange, you can redefine \@setletters to do something - % besides what it does now (this is intentionally left as - % being somewhat painful to do). - \endlinechar = -1 - \@setletters - \input \jobname.aux - \endgroup - \else - \message{\@undefinedmessage}% - \global\@citewarningfalse - \fi - \immediate\openout\@auxfile = \jobname.aux - \fi -}% -% -% The \@readauxfile macro does all that work the first time it's called. -% Since it's called once for every \cite, \nocite, \bibliography, and -% \bibliographystyle command that the user issues, we need to remember -% whether the work's been done. It's considered done if we're not to do -% it---that is, if \noauxfile is defined. -% -\newif\if@auxfiledone -\ifx\noauxfile\@undefined \else \@auxfiledonetrue\fi -% -% Since lots of characters are allowable inside reference names, and -% since a reference name can get converted into a control sequence, -% \@readauxfile must treat many characters as letters. It does that by -% calling \@setletters, which changes the category code of all \@other -% characters to \@letter. The 128/256 business arises because character -% codes go up to 256 starting with TeX 3.0, but up to only 128 with -% earlier versions. -% -\def\@setletters{% - \count255 = 0 - \edef\temp{\ifx\inputlineno\@undefined 128\else 256\fi}% - \loop - \ifnum\catcode\count255 = \@other - \catcode\count255 = \@letter - \fi - \advance\count255 by 1 - \ifnum\count255<\temp - \repeat - % The Eplain package uses underscores to construct the label names. - \catcode`\_ = \@letter -}% -% -% It's conceivable you'd want to change how other characters are read; -% to do that, change their category code before doing \input btxmac. -% -% -% After reading the .aux file, \@readauxfile opens it for writing. -% The \@writeaux macro does the actual writing (as long as -% \noauxfile is undefined). -% -\@innernewwrite\@auxfile -\def\@writeaux#1{\ifx\noauxfile\@undefined \write\@auxfile{#1}\fi}% -% -% -% A macro package that uses btxmac.tex might define -% \@undefinedmessage (before doing an \input btxmac). -% -\ifx\@undefinedmessage\@undefined - \def\@undefinedmessage{No .aux file; I won't give you warnings about - undefined citations.}% -\fi -% -% Even if citations are undefined, we want to complain only if -% \@citewarningtrue. The default is to set \@citewarningtrue unless -% \noauxfile is defined. Again, a macro package that uses -% btxmac.tex might want to redefine this. -% -\@innernewif\if@citewarning -\ifx\noauxfile\@undefined \@citewarningtrue\fi -% -% -% Finally, before leaving we restore @'s old category code. -% -\catcode`@ = \@oldatcatcode diff --git a/macros/lollipop/doc/manual/comm.tex b/macros/lollipop/doc/manual/comm.tex deleted file mode 100644 index 2876acf959..0000000000 --- a/macros/lollipop/doc/manual/comm.tex +++ /dev/null @@ -1,642 +0,0 @@ -% comm.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter Commands - -\Section[sec:counters] Counters - -Counters can be declared explicitly by the user, but more often they -are defined automatically in some generic construct: - -The \cs{Foo} defined by -\Ver>\DefineBar:Foo ... - counter:i ... - Stop<Rev - -will have a counter that counts in roman lowercase, and which is -accessible as \refcs{FooCounter}. Everytime \cs{Foo} is used, this -counter is increased by one. - -The use of the \opt{counter} option is described -in~\ref[sec:opt:counter]. -Here are the commands for explicit manipulation of counters. - -\SubSection[sec:counter:repr] Allocation and representation - -A counter is created by for instance -\Ver>\NewCounter:Things<Rev -This will create control sequence \cs{ThingsCounter} that will print -the value of the counter. -The counter will usually be printed as an Arabic numeral, but other -counter representations can be specified by -\refcs{CounterRepresentation}. Here are their codes: \Description -\item 1 -numeric -\item a -lowercase character -\item A -uppercase character -\item i -lowercase roman -\item I -lowercase roman -\> -for instance -\Ver>\CounterRepresentation:Things=i<Rev -will cause \cs{ThingsCounter} to print a lowercase Roman numeral. - -However, a call such as -\Ver>\CounterRepresentation:Theorem=Lemma<Rev -will make the \cs{TheoremCounter} a synonym of an earlier created -\cs{LemmaCounter} - -\SubSection Counter manipulation - -The following commands can be used to manipulate counters, both when -they are created by hand using \refcs{NewCounter} and when they were -generated automatically in some generic construct: - -With \refcs{StartCounter} reset the counter to one: - \Ver>\StartCounter:things<Rev - -With \refcs{StepCounter} increase the counter by one: - \Ver>\StepCounter:things<Rev - -With \refcs{BackStepCounter} decrease the counter by one: - \Ver>\BackStepCounter:things<Rev - -With \refcs{SetCounter} set the counter to some specified value: - \Ver>\SetCounter:things=5<Rev - -With \refcs{AddToCounter} increase the counter by some -specified value: - \Ver>\AddToCounter:things=7<Rev - -The last two commands accept names of numerical parameters, for -instance the value of a counter: - \Ver>\NewCounter:Favourite -\AddToCounter:things=FavouriteValue<Rev -More about this `value' thing in the next section. - -\SubSection What do you get when you define a counter? - -After you define a counter as \Ver>\NewCounter:MyThings<Rev there are -two commands that it is important to distinguish between. First of -all, \cs{MyThingsCounter} gives the {\it printed\/} value of the -counter. This is the command that you will use mostly. It uses -whatever representation you have specified for the counter, or plain -Arabic numerals if haven't specified anything. - -Secondly, \cs{MyThingsValue} gives the value of the counter. You can -not use this command on its own: you will get a `number expected' -error. - -\SubSection Counter hierarchies - -Often counters are related to each other. For instance, when a new -section begins, the subsection counter has to be reset. The same may -be true for equation counters. In Lollipop such a relation is -indicated by a call to \refcs{GoverningCounter}, for instance - -\Ver>\GoverningCounter:SubSection=Section<Rev - -All of the counter manipulation commands applied to a governing -counter will cause all governed counters to be reset. Such a reset -also occurs if the counter was created in some generic construct. - -For examples, see section~\ref[sec:head:examples]. - -\SubSection Referencing counters - -All counters that are declared as part of a generic construct, or -explicitly through \refcs{NewCounter} automatically become the current -reference when they are altered. Thus \ver>\label[bar]> will make -\ver>\ref[bar]> refer to the value of the counter most recently -changed. The way the counter is referenced can be altered by the -\opt{label} option in generic constructs; see -section~\ref[sec:opt:label]. - -For generic constructs with a counter no explicit \refcs{label} commands -need to be given; such commands take an optional argument with the -label key: -\Ver>\Section[sec:examples] Examples<Rev - -\SubSection Adaptive counters - -It may happen that you want to compute a value during one run of -\TeX, and use it in the next. An example is the fact that this manual -states the total number of pages on the title page. For this you can -use \refcs{AdaptiveCounter} - \Ver>\AdaptiveCounter:LastPage<Rev -which is like \cs{NewCounter}, except that the value of this counter -gets written to the \file{.aux} file. - -There are two ways of setting an adaptive counter: you can simply use -it in some construct (for instance through a counter synonym; -section~ref[sec:counter:repr]), or you can set it explicitly, for -instance as - \Ver>\SetCounter:LastPage=PageValue<Rev -See how this manual does it. - -\SubSection Examples of counter usage - -Items start at the value of one, so if a starting value of zero is -necessary, the following will work -\Ver> -\Enumerate \SetCounter:item=-1 -\item ...<Rev - - -\Section[sec:font] Font selection - -In \Lollipop, choosing a font is done through three parameters: -\Description\item Typeface -A collection of related styles and sizes. The typeface is set by the -command \refcs{Typeface}. -\item Style -Italic, bold, roman, typewriter. You know. The style is set by the -command \refcs{Style}. -\item PointSize -The size of a font in typographical points ($72.27$ per inch). -The pointsize is set by the command \refcs{PointSize}. -\> - -The most common change of font is a change in style. Therefore, -issuing a command such as \Ver>\Style:bold<Rev immediately changes -the font to the bold of the current typeface in the current pointsize. - -However, issuing a command such as \Ver>\Typeface:GoudyOldStyle<Rev -or \Ver>\PointSize:28<Rev will not change the font, since such -changes are usually accompanied by a change in style. In case that an -immediate switch is necessary, the command -\refcs{SetFont} can be given. -This evaluates the current value of the typeface, style, and -pointsize commands, and sets the font accordingly. - -A number of typeface names have been predefined in \Lollipop, -however, in order to print them your printer (software) must have them -available. - -\Example -\SerifFace \PointSize:12 -\Style:roman This \Style:italic sentence \PointSize:10 has -\SetFont way \SansFace \Style:roman too \SetFont many -\PointSize:12 \SetFont font \Style:bold changes. -\ExampleStop - -(The commands \cs{SerifFace} and \cs{SansFace} are defined in -the master file of this manual, and serve to make this manual -formattable on any system.) - -\SubSection Relative size changes - -Apart from setting the pointsize explicitly, it is also possibly to -make size changes relative to the current size. For instance, -\refcs{PointSizeLarger} and \refcs{PointSizeSmaller} with an optional -argument indicating the size of the change can be used. These -commands are not cumulative. - -\Example -\SerifFace -\PointSize:9 \SetFont Every once in a while,\SaveFont -\PointSizeLarger[2] shouting \PointSizeLarger helps. -\PointSizeSmaller[2]But most of the times it doesn't. -\RestoreFont Unfortunately. -\ExampleStop - -Similar to the changes in mathematics mode to script and scriptscript -size, the same relative changes are available in text mode through -the control sequences \refcs{script} and \refcs{scriptscript}. -The control -sequence \refcs{normal} can be used to restore the default size. - -Here is one application of such relative changes: -\Ver> -L\kern -.3em\raise .35ex\hbox {\script A}\kern -.1em\TeX<Rev -which gives definition of the \LaTeX\ logo that is independent -of typeface, size and style. - -The relative sizes of script and scriptscript fonts are by default at -$70\%$ and $50\%$, but they can be set explicitly by -\Ver>\PointSizeScriptSizes:10=10,7,5<Rev -This also gives the possibility to have the \cs{normal} size to be -different from the surrounding pointsize. - -\SubSection Typeface definition - -Defining a typeface means telling \Lollipop\ how the external font -name, that is, the name of the \n{tfm} file, is to be constructed from -the internal parameters. The command \refcs{DefineTypeface} takes four -parameters and an optional fifth. The parameters are in sequence -\Enumerate\item The internal name of the typeface: the name that is -given to the \cs{Typeface} command. -\item The root of the external file name. It is assumed that all -font names of different styles and sizes are constructed by appending -characters to this base. -\item Suffixes corresponding to the styles that are available. -\item Suffixes corresponding to the sizes that are available. -\> - -Here is the definition of the Computer Modern typeface: - -\Ver> -\DefineTypeface{ComputerModern}{cm} - {roman:r; slant:sl; italic:ti; mitalic:mi; bold:bx; typewriter:tt; - default:r;} - {<6:5; <7:6; <8:7; <9:8; <10:9; <11:10; - <12:10 \scaled\magstephalf; - <14:10 \scaled\magstep1; <16:10 \scaled\magstep2; - <20:10 \scaled\magstep3; >19:10 \scaled\magstep4; - default:10;}<Rev - -Actually, not all combinations of styles and sizes are available. -That's where the optional argument comes in. This argument can be -used to specify with \TeX\ conditionals exceptional style/size -combinations. Here some trickery is needed: internally the size is -stored in \cs{Fsize}, and in order to use this parameter we need to -make the at-sign a letter temporarily. - -\Ver>\makeatletter -\DefineTypeface{Compu ... - ... - default:10;} - [\ifStyle:italic \ifnum\Fsize<7 ti7\fi\fi - \ifStyle:typewriter \ifnum\Fsize<8 tt8\fi\fi]<Rev - -You may have noticed that this scheme is not all-powerful. Thus -I~found it easier to move all Computer Modern sans serif fonts into a -new typeface: \n{ComputerSans}. - -For other typefaces specifying the size suffix may be much easier -than for Computer Modern. For instance, here is the definition of the -PostScript Helvetica typeface. - -\Ver>\makeatletter -\DefineTypeface{psHelvetica}{helv} - {roman:; italic:i; mitalic:i; bold:b; default:;} - {default: at \Fsize pt;} -\makeatother<Rev - - -\SubSection Math fonts - -Switching styles in math mode should be possible: -$${\Style:bold x\Style:roman y}z$$ - -\SubSection Other font matters - -The combination \refcs{SaveFont} with a subsequent -\refcs{RestoreFont} can -be used to save and restore the current font. - -An abbreviation for a font can be defined by -\Ver>\DefineFont:name=face,size,style<Rev -This has the same effect as -\Ver>\def\name{\TypeFace:face \PointSize:size \Style:style }<Rev -but it takes considerable less processing inside \TeX. - -Even if you don't use Computer Modern as your main typeface, the -typewriter style is not bad, so a control sequence -\Ver> -\def\tt{\Typeface:ComputerModern \Style:typewriter }<Rev -has been given that makes \refcs{tt} always refer to the -\n{cmtt} fonts. You're at liberty to change this, of course. - -\Section Baselineskip - -Corresponding to a font size usually the baseline skip has to change. -By default a fixed ratio of~$1.2$ for this is taken, for instance -using a 12~point baseline skip for 10~point fonts. Changing the ratio -can be done by -\Ver>\BaselineSkipPointSizeRatio:1.3<Rev - -If only for some specific size the baseline skip has to deviate from -the default ratio, then this can be set by -\Ver>\SetPointSizeBaselineSkip:9=12<Rev - -\Section[sec:indent:control] Indentation Control - -\SubSection To indent or not to indent - -In most documents there is a general rule that all paragraphs indent -unless a certain condition, or that they do not indent unless certain -special conditions hold. For \Lollipop\ documents this is determined -by the command \refcs{AlwaysIndent}, with values \n{yes}/\n{no}. - -To override this default setting a command \refcs{Indent} -(with values \n{yes}/\n{no}) exists, but that is mostly useful as an -option in generic constructs, and even there it will not be used much. -See section~\ref[sec:opt:indent] for options relating to indentation. - -Important: never set \cs{parindent} to zero. Preventing indentation -globally should be done through \ver>\AlwaysIndent:no>. - -\SubSection[sec:basic-indent] Basic indent - -There is a quantity \refcs{basicindent} that is used on the first -indentation level (see the next section for an explanation of these -levels). At the start of a document it is set to the then current -value of \cs{parindent}. You can override that by -\refcs{BasicIndentIsSet}: give -\Ver>\BasicIndentIsSet:no<Rev before the \cs{Start} command. - -This way, setting \cs{parindent} in the style definition controls the -indentation in the whole document. - -\SubSection Indentation levels; indentation size - -When \Lollipop\ decides that text should be indented, it refers to a -list of indentations for the exact amount. This list contains -indentation amounts for each `level' of indentation: initially the -level is one, and if you nest constructs that indent (for instance -using a list inside a list) the level goes up one step per nested -construct. - -By -default the indentation on different levels is a fraction of the -\cs{basicindent}. Thus you can regulate the indentation on -all levels simultaneously by resetting the \cs{basicindent}. - -\Example -\Distance:basicindent=15pt -\DefineList:TestList item:left itemCounter item:stop Stop -\TestList\item Level one \TestList\item Level two -\TestList\item Level three\>] -\Distance:basicindent=25pt -\TestList\item Level one \TestList\item Level two -\TestList\item Level three\>] -\ExampleStop - -The amount of -indentation on a certain level can be set explicitly with -\refcs{LevelIndent}. - -\Example -\Distance:basicindent=15pt -\LevelIndent:2=20pt -\DefineList:TestList item:left itemCounter item:stop Stop -\TestList\item Level one \TestList\item Level two -\TestList\item Level three\>] -\ExampleStop - -In fact, sometimes you may want to know the name of the indentation -on a certain level. This is a control sequence such as -\refcs{levelindentii} for the second level. You get the idea. - -\SubSection Manipulating the indentation level - -Every once in a while it can be useful to move to a next indentation -level, or to return to a previous level. For this -the two commands \refcs{PushIndentLevel} and \refcs{PopIndentLevel} are -available. One application is for `interrupted lists': - -\Example -\Itemize\item One -{\par\PopIndentLevel Interrupted text!\par} -\item Two\> -\ExampleStop - -See chapter~\ref[chap:external-files] for examples of the use of -\cs{PushIndentLevel} - -\Section Margins - -By default, \Lollipop\ tries to keep straight margins. You can change -its mind about that by \refcs{FlushRight} and \refcs{FlushLeft} -which are tests: -\Ver>\FlushRight:no \FlushLeft:no<Rev -If the margins are not flush, the stretchable white space used -is \refcs{rightmarginstretch} and \refcs{leftmarginstretch}, -which can be set by \cs{Distance}. - -You have to set the amount of stretch {\it before} specifying that -the margins will not be flush. The \cs{FlushRight/Left} commands take -the current value whenever they are called. - -\Section White Space - -White space can be indicated by \refcs{hwhite} and \refcs{vwhite}. -They are often useful in style definitions. Use: -\Ver>\vwhite:15pt<Rev -or \Ver>\hwhite:{15pt minus 3pt}<Rev -for stretch and shrink. The command \refcs{white} is independent -of the mode, and it expands to \cs{hwhite} or \cs{vwhite} -depending on the prevailing mode of \TeX. - -The command \refcs{fillup} is mostly useful in style definitions: -it tries to fill up as much white space as is possible. -For instance -\Ver> line:start litteral:foo fillup litteral:bar line:stop<Rev -will push \n{foo} and \n{bar} as far apart as is possibly -within the margins. - -\ImpNote -All three control sequences \cs{white}, \cs{hwhite}, \cs{vwhite} -have internal equivalents, for instance -\Ver>\def\white:#1 {\@white{#1}}<Rev -\ImpNoteStop - -\Section[sec:com:distance] Distances - -The command \refcs{Distance} can be used -to declare a name for a certain -distance, or in more correct \TeX nical lingo, for a certain piece of -glue. For instance, declaring that - \Ver>\Distance:oneline=15pt<Rev -means that you can specify in some constructs -\Ver>\DefineFoo:Bar whitebefore:oneline whiteafter:oneline<Rev -If you change your mind later about the value of \n{oneline} you only -need to change one line in the style definition. - -Since the second parameter of \cs{Distance} is bounded by a space (or -the line end, whatever comes first), you can specify stretchable -distances by enclosing \n{plus} and \n{minus} parts in braces: -\Ver>\Distance:oneline={15pt plus 2pt minus 3pt}<Rev - -The effect of \cs{Distance} is global. Let me know if you don't -like it. - -\SubSection Distance synonyms - -Another use of \cs{Distance} is to define one distance as a synonym -of another. This may come in handy if you use some basic distance, -such as \n{oneline} for several purposes. Example: if you specify -\Ver>\Distance:whitebefore=oneline<Rev -than the whitespace before a construct will be taken to be -\n{oneline} if you don't use the \opt{whitebefore} option explicitly. - -\SubSection[sec:adapt-distance] Adaptive distances - -Suppose you want to declare a section heading as - \Ver>\DefineHeading:Section ... - block:start [...] fillupto:widelabel title<Rev -where \cs{widelabel} is the width of the widest label that -occurs in your document. This requires just a tad of \TeX\ -programming. Just copy the details from the example below, which is -the definition of \cs{Section} in this manual. - -By declaring something a \refcs{AdaptiveDistance} instead of just -\cs{Distance} its value gets written to the \file{.aux} file at the -end of the run, and restored in the next run. The second argument is -simply the default value, in case you don't have an auxiliary file -yet. - -\Ver>\AdaptiveDistance:WidestLabel=15pt -\def\MeasureLabel{\ifdim\BlockWidth>\WidestLabel - \global\WidestLabel\BlockWidth\fi} -\DefineHeading:Section - whitebefore:{20pt plus 2pt} whiteafter:14pt - line:start PointSize:14 Style:italic - block:start block:start ChapterCounter . SectionCounter - Spaces:1 block:stop MeasureLabel - fillupto:WidestLabel - title line:stop - external:contents title external:stop - label:start ChapterCounter . SectionCounter label:stop - Stop<Rev - -Note how two nested blocks are used: the first is to measure the -label, and the width is written to the adaptive distance by means of -a small macro; the second block is to fill out the white space. - -If you want the paragraph indentation to depend on this adaptive -width, you can give - \Ver>\StartCommand{\Distance:parindent=WidestLabel }<Rev -to set \cs{parindent} at the start of the document. -See section~\ref[sec:doc-start-stop] and~\ref[sec:basic-indent]. - -\Section[sec:InputFile] Input Files - -Parts of a document can be loaded by -\Ver>\InputFile:parta -\InputFile:partb<Rev -et cetera. A~document part loaded by \refcs{InputFile} always starts -on a new page. In section~\ref[sec:ref-local] it was already -explained how local references for such files can be created. - -Perhaps most importantly, loading files this way provides a form of -error checking; \Lollipop\ checks at the end of such a file whether all -used constructs are balanced properly. - - -\Section[sec:tests] Tests - -Users can define tests: -\Ver>\DefineTest:SomethingTheMatter<Rev -which are set like any other test: -\Ver>\SomethingTheMatter:yes<Rev -or \Ver>\SomethingTheMatter:no<Rev - -Tests can be used as \Ver>\ifSomethingTheMatter ... \else ... \fi<Rev -Like any other conditional, test can be used inside constructs. -\Ver>\DefineFoo:Bar [...] - ifSomethingTheMatter [...] fi - [...] Stop<Rev - -\Section Goodies - -\SubSection List commands - -Lollipop does a lot of list processing internally, and a few -of the commands have been made available to the user. - -\Description\item \refcs{NewList} -creates a list, and sets it to empty: - \Ver>\NewList:mylist<Rev - \item \refcs{EmptyList} -just empty a list. - \item \refcs{TheList} -inserts the list. This will typeset the contents of it. - \Ver>\TheList:mylist<Rev - \item \refcs{AppendToList} -adds data to a list. \Ver>\AppendToList:mylist={my data}<Rev -The data are terminated by a space or line end, hence the braces. -\> - -\SubSection Programming Tools - -A few commands are useful for the Lollipop style designer who wants -to write more sophisticated macros (see for instance the address book -macros in the last chapter). - -\Description\item \refcs{UndefinedCS} -is a test on control sequences. - \Ver>\if\UndefinedCS{testcs} ... \else ... \fi<Rev - \item \refcs{EqualString} -tests equality of strings. - \Ver>\if\EqualString{one}{two} ... \else ... \fi<Rev - \item \refcs{EqualStringX} -tests equality of strings, using only expansion. - \Ver>\if\EqualStringX{one}{two} ... \else ... \fi<Rev - \item \refcs{StringBefore} -tests lexicographic ordering of strings. The string are not supposed -to contain characters with char codes~0, 127,~255. - \Ver>\if\StringBefore{one}{two} ... \else ... \fi<Rev - \item \refcs{NextChar} -chooses between two actions, based on the next character. - \Ver>\if\NextChar[{\macro}{\macro[default]} ...<Rev - \item \refcs{IsEmptyList} -can test whether an argument is empty. - \Ver>\if\IsEmptyList{#1} ...<Rev -is true for calls such as \ver>\macro{}>. - \item\refcs{loop} -can be used for repeated execution of statements. (Users of plaing -\TeX\ may recognize this macro; it is slightly extended here -to include the \cs{else} case.) It is -used as: - \Ver>\loop ... \if ... \repeat<Rev -of \Ver>\loop ... \if ... \else ... \repeat<Rev - - - \> - -\SubSection[sec:everypar] \cs{everypar} - -The \TeX\ primitive \cs{everypar} should not be used any more. -Instead use the command \refcs{EveryParagraph} as if you are setting -a token list: - \Ver>\EveryParagraph{ ... }<Rev - -\SubSection[sec:everymath] \cs{everymath} - -The \TeX\ primitive \cs{everymath} should not be used any more. -Instead use the command \refcs{EveryMath} as if you are setting -a token list: - \Ver>\EveryMath{ ... }<Rev - -\SubSection[sec:everydisplay] \cs{everydisplay} - -The \TeX\ primitive \cs{everydisplay} should not be used any more. -Instead use the command \refcs{EveryDisplay} as if you are setting -a token list: - \Ver>\EveryDisplay{ ... }<Rev - -\SubSection Allocation - -The commands \refcs{SaveAlloc} and subsequent \refcs{RestoreAlloc} save and -reset the internal \TeX\ allocation counters. - -\endinput - -% 2014/04/13 Added some notes about \EveryMath, and -% \EveryDisplay. Also the wrong spelling of `note' changed -% to `not' in `sec:everypar'. -% 2014/04/11 Changed \n{tty} style to \n{typewriter} style -% 92/11/18 Adaptive distances explained -% 92/11/20 Adaptive counters explained -% 93/05/13 changes in font macros diff --git a/macros/lollipop/doc/manual/comment.tex b/macros/lollipop/doc/manual/comment.tex deleted file mode 100644 index fb7047c425..0000000000 --- a/macros/lollipop/doc/manual/comment.tex +++ /dev/null @@ -1,129 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% comment.sty version 3.0, 3 September 1992 -% selectively in/exclude pieces of text: the user can define new -% comment versions, and each is controlled separately. -% Special comments can be defined where the user specifies the -% action that is to be taken with each comment line. -% -% This style can be used with plain TeX or LaTeX, and probably -% most other packages too. -% -% Author -% Victor Eijkhout and Vafa Khalighi -% persian-tex@tug.org -% -% Usage: all text included in between -% \comment ... \endcomment -% or \begin{comment} ... \end{comment} -% is discarded. The closing command should appear on a line -% of its own. No starting spaces, nothing after it. -% This environment should work with arbitrary amounts -% of comment. -% -% Other 'comment' environments are defined by -% and are selected/deselected with -% \includecomment{versiona} -% \excludecoment{versionb} -% -% These environments are used as -% \versiona ... \endversiona -% or \begin{versiona} ... \end{versiona} -% with the closing command again on a line of its own. -% -% Special comments are defined as -% \specialcomment{name}{before commands}{after commands} -% where the second and third arguments are executed before -% and after each comment. By defining a control sequence -% \Thiscomment#1{...} in the before commands the user can -% specify what is to be done which each comment line. -% -% Basic approach: -% to comment something out, scoop up every line in verbatim mode -% as macro argument, then throw it away. -% For inclusions, both the opening and closing comands -% are defined as noop -% -% This file copyright Victor Eijkhout and Vafa Khalighi. -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% - -\def\makeinnocent#1{\catcode`#1=12 } -\def\csarg#1#2{\expandafter#1\csname#2\endcsname} - -\def\TreatAsComment#1{\begingroup - \def\CurrentComment{#1}% - \let\do\makeinnocent \dospecials - \makeinnocent\^^L% and whatever other special cases - \endlinechar`\^^M \catcode`\^^M=12 \xComment} -{\catcode`\^^M=12 \endlinechar=-1 % - \gdef\xComment#1^^M{\def\test{#1} - \csarg\ifx{PlainEnd\CurrentComment Test}\test - \def\next{\endgroup\AfterComment}% - \else \csarg\ifx{LolliEnd\CurrentComment Test}\test - \def\next{\endgroup\AfterComment}% - \else \csarg\ifx{LaLaEnd\CurrentComment Test}\test - \edef\next{\endgroup\noexpand\AfterComment - \noexpand\end{\CurrentComment}} - \else \ThisComment{#1}\let\next\xComment - \fi \fi \fi \next} -} - -\def\includecomment - #1{\message{Including comment '#1'}% - \expandafter\def\csname#1\endcsname{}% - \expandafter\def\csname end#1\endcsname{}} -\def\excludecomment - #1{\message{Excluding comment '#1'}% - \csarg\def{#1}{\let\AfterComment\relax - \def\ThisComment####1{}\TreatAsComment{#1}}% - {\escapechar=-1\relax - \csarg\xdef{PlainEnd#1Test}{\string\\end#1}% - \csarg\xdef{LolliEnd#1Test}{\string\\#1Stop}% - \csarg\xdef{LaLaEnd#1Test}{\string\\end\string\{#1\string\}}% - }} -\long\def\specialcomment - #1#2#3{\message{Special comment '#1'}% - \csarg\def{#1}{\def\ThisComment{}\def\AfterComment{#3}#2% - \TreatAsComment{#1}}% - {\escapechar=-1\relax - \csarg\xdef{PlainEnd#1Test}{\string\\end#1}% - \csarg\xdef{LolliEnd#1Test}{\string\\#1Stop}% - \csarg\xdef{LaLaEnd#1Test}{\string\\end\string\{#1\string\}}% - }} -\excludecomment{comment} - -\endinput - -% a test of the special comments -\newcount\comlines -\specialcomment{countedcomment} - {\comlines=-1\relax %note that the rest of the first line is also comment - \def\ThisComment{\global\advance\comlines1\relax}} - {\endgraf **Comment: \number\comlines\ line(s) removed**\endgraf} - -This is a line of text -\countedcomment -Oneline -\endcountedcomment -another line of text -\countedcomment -One line -Two line -Three line -\endcountedcomment -last line of text -\end diff --git a/macros/lollipop/doc/manual/example.tex b/macros/lollipop/doc/manual/example.tex deleted file mode 100644 index 5b38d8eefb..0000000000 --- a/macros/lollipop/doc/manual/example.tex +++ /dev/null @@ -1,4 +0,0 @@ - -\Itemize\item One -{\par\PopIndentLevel Interrupted text!\par} -\item Two\> diff --git a/macros/lollipop/doc/manual/extern.tex b/macros/lollipop/doc/manual/extern.tex deleted file mode 100644 index aff8e97d59..0000000000 --- a/macros/lollipop/doc/manual/extern.tex +++ /dev/null @@ -1,428 +0,0 @@ -% extern.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter[chap:referencing] -Referencing - -In manuals and scientific documents you often want to write something -like `see Chapter~4'. But what if you shuffle the chapters a bit? It -would be nice if the number would be updated automatically. With -\Lollipop, as with many other \TeX\ macro packages, this is easily -done. - -Here is an example to set the mood for the rest of this chapter. -The sort of thing that is referred to most is a heading. So suppose -you want to refer to a section number. - -\Example -\DefineHeading:TestSection - line:start Style:italic TestSectionCounter Spaces:2 title - line:stop Stop -\TestSection[one:section?] First section\par -After this section will come section~\ref[other:section!]. - -\TestSection[other:section!] Another section\par -This is the section that came after section~\ref[one:section?]. -\ExampleStop - -\Section What and how do you reference? - -You can reference not only headings but everything that has a -counter. Thus all generic constructs can be referenced, and in -addition you can reference item numbers in a list (there are examples -of this latter possibility in section~\ref[sec:bib]). The simplest way -of referencing something is to put the key in square brackets behind -it: - -\Ver>\Section[this:section] The title of This Section<Rev -You can then reference the key by \refcs{ref}, or the page -where it appeared by~\refcs{pgref}: -\Ver>Section \ref[this:section] on page \pgref[this:section]<Rev - -As you may have guessed from the above examples, keys can contain all -sorts of characters. Only brackets, braces, and the hash sign are -excepted. You get an error message if you try to use the same key -twice. - -Another way of declaring a key is to use the command \refcs{label} -carrying the key -\Ver>\label[the:key]<Rev -This can be useful if you want to declare two keys for a single -reference. Make sure that the \cs{label} command is not part of the -title. Unexplained phenomena occur if you do that. Instead put the -label after the construct you want to reference: -\Ver>\Section Precautions and remedies - -\label[sec:precautions]\label[sec:remedies] -In this section ...<Rev - -\Section[sec:shape:reference] The shape of the reference - -By default, a reference consists of just the number of the thing you -reference. There are two ways in which you can change this, one -systematic, and one on-the-fly. - -\SubSection Defining the shape of the reference - -You can customize the way an object is -referenced by using the option \refopt{label} in its definition. For -instance, often you want things like parentheses around references. -Putting this information in the label definition saves you a lot of -work in case you change your mind later. - -\Example -\DefineHeading:TestSection - line:start Style:italic TestSectionCounter Spaces:2 title line:stop - label:start ( TestSectionCounter ) label:stop Stop -\TestSection[one:section?2] First section\par -After this section will come section~\ref[other:section!2]. - -\TestSection[other:section!2] Another section\par -This is the section that came after section~\ref[one:section?2]. -\ExampleStop - -Another use of customized labels is including other counters in the -reference: - -\Example -\DefineHeading:TestChapter - line:start Style:bold TestChapterCounter / title line:stop Stop -\DefineHeading:TestSection - line:start Style:italic TestSectionCounter Spaces:2 title line:stop - label:start TestChapterCounter . - TestSectionCounter label:stop Stop -\TestChapter First chapter\par -Pretty short chapter -\TestChapter Second chapter\par -\TestSection[one:section?3] First section\par -After this section will come section~\ref[other:section!3]. - -\TestSection[other:section!3] Another section\par -This is the section that came after section~\ref[one:section?3]. -\ExampleStop - -A more surprising application of explicit definition of labels is -inclusion of the title in the reference. -\Example -\DefineHeading:TestSection - line:start Style:italic TestSectionCounter Spaces:2 title line:stop - label:start TestSectionCounter literal: Spaces:1 - Style:italic title label:stop Stop -\TestSection[one:section?4] First section\par -After this section will come section~\ref[other:section!4]. - -\TestSection[other:section!4] Another section\par -This is the section that came after section~\ref[one:section?4]. -\ExampleStop - -\SubSection[sec:exp-ref] Explicit specification of the reference - -For every specific object referenced you can specify the reference by -using an optional argument before the label key. Have a look at the -next example. - -\Example -\DefineHeading:TestSection counter:A - line:start Style:bold TestSectionCounter . Spaces:2 title line:stop - Stop -\TestSection[ref:one] Lalala\par -This is before section \ref[ref:two]. -\TestSection<`the Didi section'>[ref:two] Dididi\par -This is after section \ref[ref:one]. -\ExampleStop - -This mechanism is also used in lists, where it's mostly useful for -bibliographies generated by Bib\TeX; see section~\ref[sec:BibTeX]. - -\Section[sec:ref-local] Local references - -Some documents are -collated out of parts that were documents in themselves. -The \Lollipop\ command \cs{InputFile} facilitates in a number -of ways working with such a segmented file (see -section~\ref[sec:InputFile]). One of the problems with input files is -that in such a case it may happen that the same reference key is used -in more than one part of the document. This phenomenon is -not at all unknown in multiple authored documents. Ordinarily this -would result in incorrect references. - -To prevent such collisions \Lollipop\ can use local -references: the command \refcs{LocalReferences} has default \n{no}, -and specifying -\Ver>LocalReferences:yes<Rev -creates local \file{aux} files for each input file. - -\Section[sec:bib] Bibliography citations - -\Lollipop\ has an interface to Bib\TeX. However, since a bibliography -is just a list, referencing items in it is quite easy, even if you -don't use Bib\TeX. - -\SubSection Bibliographies without Bib\TeX - -This section doesn't tell you anything that cannot be found elsewhere -in this manual. The following two examples define a bibliography as -just a list, and by giving labels to the items you can refer to them. - -\Example -\DefineList:BibList item:left [ itemCounter ] item:stop - label:start [ itemCounter ] label:stop Stop -In this example we shall have occasion to refer to -\ref[Abee80] and~\ref[Ceede79].\par -\Indent:no Bibliography -\BibList \item[Ace55] C.D. Ace, Inscrutible title. -\item[Abee80] E.F. Abee, Worthless drivel. -\item[Ceede79] G.H. Ceede, Contractual obligation. -\> -\ExampleStop - -Here is a way to customize the label (if you need to refresh your -memory about description lists, see -section~\ref[sec:description:list]). - -\Example -\DefineList:BibList item:left [ itemCounter ] item:stop - label:start ( description ) label:stop Stop -In this example we shall have occasion to refer to -\ref[Abe80] and~\ref[Ceedee79].\par -\Indent:no Bibliography -\BibList \item[Aace55] Aace55 -C.D. Aace, Inscrutible title. -\item[Abe80] Abe80 -E.F. Abe, Worthless drivel. -\item[Ceedee79] Ceedee79 -G.H. Ceedee, Contractual obligation. -\> -\ExampleStop - -\SubSection[sec:BibTeX] Bibliographies with Bib\TeX - -\Lollipop has an interface to the popular Bib\TeX\ -bibliography database program, based on the `BtxMac' macros -by Karl Berry and Oren Patashnik. \Lollipop\ is set up for them, you -only have to \cs{input} the file \file{btxmac.tex}. (The version -of btxmac used to test this is \n{0.99h}.) You can find global -information about Bib\TeX\ in the \LaTeX\ book~{%\tracingmacros=2 -%\tracingcommands\tracingmacros -\bibref[La:book]}, -since Bib\TeX\ was -originally written for \LaTeX. - -Since there is some redefining going on between btxmac and \Lollipop\ -you have to load the btxmac file before the \cs{Start} command (see -section~\ref[sec:doc-start-stop]). - -Since the btxmac file already has a default way of formatting the -bibliography you can get away with just putting the lines - \Ver>\bibliography{ <bfile> } -\bibliographystyle{ <bstyle> }<Rev - in your file wherever you want the bibliography. - -If you want to define your own bibliography, you have to use -\refcs{DefineBBL} which is practically a synonym for -\ver>\DefineList:BBL>, so you can see in the `lists' chapter of this -manual what options apply. - -For example: - \Ver>\DefineBBL line:start Style:italic literal:Literature line:stop - item:left [ begingroup Style:bold itemCounter - endgroup ] item:stop - Stop<Rev - -You refer to a bibliography item by \refcs{bibref}, as in -\ver>\bibref[Knuth80]>. This command has a very simple definition - \Ver>\def\bibref[#1]{[\ref[#1]]\nocite{#1}}<Rev -so you can easily redefine it. For instance - \Ver>\def\supref[#1]{$^{\rm \ref[#1]}$\nocite{#1}}<Rev - will make your references into superscripts. -Make sure that -the call to \cs{nocite} appears, because that generates the request for -Bib\TeX. - -The \Lollipop\ command \ver>\WriteExtern:no> (see -section~\ref[sec:write-extern]) defines \cs{noauxfile} to prevent -regeneration of the bib entries in the \file{.aux} file. -You don't have to do that anymore. - -\Section Obscure details - -For the sake of efficiency, not all macros in Lollipop automatically -accept labels for referencing, only the ones that use the \n{label} -option, or that have a counter (remember, the default form of the -reference is just the counter). If you want a macro that has no -counter and no label specification to accept a label, use the option -\refopt{haslabel}. One reason for doing this is that you have access to -the label itself through the control sequence \refcs{RefLabel}. - -\Chapter[chap:external-files] External Files - -Some document require information to be collected during a run. Such -information typically is a table of contents or index, and it is -gathered in an external file. (The reason for gathering such -information in a file at all is that often some external manipulation, -for instance sorting of an index, is needed.) Since there are many -possibilities for external files (mathematical monographs may have a -list of definitions, or a list of notations) \Lollipop\ does not -predefine such files, but supplies all of the tools for creating them. - -External files involve four actions: -\Enumerate\item The file should be declared. -\item It should be specified what information is to be written to the -file. -\item The formatting of the contents of the file has to be specified. -\item The file has to be loaded. -\> - -You can have at most 15 external files per document. - -\Section[sec:write-extern] Declaring and loading an external file - -The first act, declaring the existence of the external file is very -easy with the command \refcs{DefineExternalFile}: - an internal name and a three-character file name extension have -to be given as parameters. -\Ver>\DefineExternalFile:contents=toc<Rev -With this definition, if the document is called \file{book.tex} then -the `contents' will be gathered in a file called \file{book.toc}. -(The declaration of an external file has to come before any calls -to \cs{ExternalItem} or any options \n{external} that write -to this file.) - -For each external file \n{Foo} there is a command to determine whether -that file will be regenerated in the next run of \TeX: -\refcs{WriteFoo} with values \n{yes}/\n{no} will allow or prevent the -file being regenerated. The value \opt{yes} is default. The -command \refcs{WriteExtern} (values \n{yes}/\n{no}) -can be used to prevent writing out any external files (including the -\file{.aux} file that keeps track of references). - -The final act, loading an external file, is as easy as declaring it: -use \refcs{LoadExternalFile} as in -\Ver>\LoadExternalFile:contents<Rev -This does not cause any page breaks or headings to be set over the -loaded material, so you have to do that explicitly. - -\Section[sec:ext-option] Generating external files - -Next, macros that write to the table of contents have to declare this -information. The \refopt{external} option is used for this. -Any counter that the construct has will be written out -automatically, and the style designer usually has to specify only -that the title will be written out. -\Ver>\DefineHeading:Section - [...] - external:contents title external:stop<Rev - -There is no objection to a construct writing information to more than -one external file. - -If you write more than just \n{title} to an external file, know that -any control sequence you specify is automatically protected from -expansion. See section~\ref[opt:csname] for an exception to this. - -Other titles can be included by specifying \opt{title:OtherThing}. -Using \opt{OtherThingTitle} would not work, because of the protection -of control sequences mentioned above. - -You can write arbitrary information to an external file, if you see a -reason to do so, by \refcs{ToExternalFile}, which takes a file name -and an text argument. The example below has an instance of this -command. In order to format this information you have to define an -external construct of type \cs{anon}. - -\Section[sec:ext-item] Formatting an external file - -The hardest part is declaring the formatting of an external file. For -this a separate generic construct exists: the `external item' with -defining command \refcs{DefineExternalItem}. For example, if -\cs{Section} writes to \n{contents}, than an external item \n{Section} -corresponding to this file has to be declared. The option -\refopt{file} is use to declare to which file the external item -belongs. This way the same name can be reused for more than one file. - -\Ver>\DefineExternalItem:Section file:contents - [...] Stop<Rev - -An external item is basically a list with just one item. Thus, the -option \refopt{item} is available. The elements of an external item are -the label (the counter value), the page number where the information -was generated, and the title. -For the label (say for a construct \cs{Foo}) -an option \refopt{FooLabel} is created. -Thus the typical formating looks like -\Ver>\DefineExternalItem:Chapter file:contents - item:left ChapterLabel item:stop - title begingroup Spaces:2 Style:italic Page endgroup - Stop<Rev -In fact, a control sequence \refcs{FooLabel} is created, which -can be used in other external items. - -Since an external item is a list in itself, you have to pull a -certain trick to get items for subsections to indent further than -those for sections. This is what the command \cs{PushIndentLevel} was -designed for. - -A typical indented item looks like: -\Ver>\DefineExternalItem:SubSection file:contents - PushIndentLevel PushIndentLevel - item:left SectionLabel . SubSectionLabel item:stop - title begingroup Spaces:2 Style:italic Page endgroup - Stop<Rev - -\Section Example - -The following example is for a typical table of contents that -records sections and subsections. In good old-fashioned style, the -subsections are indented with respect to the sections. -\endinput -\Example -\DefineExternalFile:TheContents=tct -\DefineHeading:TestChapter Style:bold - line:start TestChapterCounter Spaces:2 title line:stop - external:TheContents title external:stop Stop -\DefineExternalItem:TestChapter file:TheContents - item:left Style:bold TestChapterLabel item:stop title white:5pt - Page par Stop -\DefineHeading:TestSection Style:italic - line:start TestChapterCounter . TestSectionCounter - Spaces:2 title line:stop - external:TheContents title external:stop Stop -\GoverningCounter:TestSection=TestChapter -\DefineExternalItem:TestSection file:TheContents PushIndentLevel - item:left Style:bold TestChapterLabel . TestSectionLabel item:stop - title white:5pt Page par Stop -\DefineExternalItem:anon file:TheContents begingroup - Style:italic title white:5pt Page par Stop - -\LoadExternalFile:TheContents -\TestChapter First heading\par -\TestSection First subheading\par -Some text might be nice. -\TestSection Second subheading\par -Some more text. -\ToExternalFile:TheContents={Enclosed Graphics} -\TestChapter Second heading\par -\TestSection Third subheading\par -Yet more text. -\TestSection Fourth subheading\par -And again: text. -\ExampleStop - -\endinput - -% 92/11/26 BibTeX section diff --git a/macros/lollipop/doc/manual/head.tex b/macros/lollipop/doc/manual/head.tex deleted file mode 100644 index 2053c58c63..0000000000 --- a/macros/lollipop/doc/manual/head.tex +++ /dev/null @@ -1,118 +0,0 @@ -% head.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter Headings - -Headings for sections, chapters, and such, are an essential part of -any \TeX\ macro package. In Lollipop they are maybe a bit less -special: all options for headings are general options, meaning that -they also apply to text blocks and lists. There are only two things -that distinguish headings: - -\Enumerate -\item there will be no page break after a heading; -\item there is no closing command for a heading. -\> - -\Section[sec:head:examples] Examples - -Headings are defined by \refcs{DefineHeading}. -The most obvious element in a heading is the title, marked by the -option \refopt{title}. The title is anything that follows the heading -command, upto the first empty line. - -\Ver>\SomeHeading Some title - -And some text following it.<Rev - -\ImpNote -Titles can also be terminated by \cs{par}, but knowledge of this is -not encouraged. See further~\ref[imp:title:delimiting]. -\ImpNoteStop - -The title has to be -included in a line or a textcolumn for proper handling (see -also section~\ref[sec:opt:traps]). For titles that do not exceed one -line, the \opt{line} option suffices (section~\ref[sec:opt:line]); if a -title is possibly more than one line long, the \opt{textcolumn} option -has to be used (section~\ref[sec:opt:textcolumn]. - -\Example -\DefineHeading:TestSection Style:bold - line:start TestSectionCounter Spaces:2 title line:stop - Stop -\TestSection The Title - -The text after the heading. -\ExampleStop - -By default, the text after a heading is indented. Overriding this -default behaviour is done with the option \refopt{indentafter}. - -\Example -\AlwaysIndent:no % as a default, don't indent paragraphs -\DefineHeading:TestSection Style:bold - line:start TestSectionCounter Spaces:2 title line:stop - indentafter:yes Stop -\TestSection The Title - -The text after the heading.\par -The second paragraph after the heading -\ExampleStop - -Usually headings come in a hierarchy, where the counter of one type, -for instance a subsection, is reset everytime the counter of a higer -level is stepped. In \Lollipop, this subordinating of headings is -done by declaring one counter to be governed by another (counters -are explained in full detail in section~\ref[sec:counters]). - -\Example -\DefineHeading:TestChapter Style:bold - line:start TestChapterCounter Spaces:1 title line:stop - Stop -\DefineHeading:TestSection Style:italic - line:start TestChapterCounter : TestSectionCounter . Spaces:1 - title line:stop Stop -\GoverningCounter:TestSection=TestChapter - -\TestChapter Level One Heading\par -\TestSection Level Two Heading\par -Some text. -\TestSection Level Two again\par -More text. -\TestChapter Level One is Stepped\par -\TestSection Level Two\par -Again text. -\ExampleStop - -Headings will often wind up in a table of contents. For this, the -table of contents will have to be declared: -\Ver>\DefineExternalFile:contents=toc<Rev -and its formatting will have to be specified, but also every -construct that writes to this file has to be declared as such. - -\Ver>\DefineHeading:TestSection - [...] - external:contents title external:stop - Stop<Rev - -Usually, the title is all that has to be written out (the counter -value is written by default), but the possibility exists for writing -out other information as well. See section~\ref[sec:ext-option]. - -\endinput \ No newline at end of file diff --git a/macros/lollipop/doc/manual/list.tex b/macros/lollipop/doc/manual/list.tex deleted file mode 100644 index 24df43a61b..0000000000 --- a/macros/lollipop/doc/manual/list.tex +++ /dev/null @@ -1,442 +0,0 @@ -% list.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter Lists - -Lists in Lollipop are defined by \refcs{DefineList}: - -\Ver>\DefineList:Foo [...] - item:start [...] item:stop - [...] Stop<Rev -and the resulting list is used as -\Ver>\Foo -\item [ ..text.. ] -\item [ ... ] -\FooStop<Rev -where the closing command can be abbreviated as~\cs{>}. - -\Section Label alignment - -In general there is a default position for labels; -either aligning with the -left or the right side of the margin over which the list is indented. -The two ways are indicated with the option \refopt{item}: -\Ver> item:left [...] item:stop<Rev -and \Ver> item:right [...] item:stop<Rev respectively. -Specifying \opt{item:start} gives the default left aligning position. - -\Example -\DefineList:enumerate - item:start itemCounter ) item:stop Stop -\DefineList:enumerateright - item:right ( itemCounter ) Spaces:1 item:stop Stop -\enumerate\item Some item -\item And another -\enumerateright\item First nested item -\item Next nested item\> -\item And back to the original list.\> -\ExampleStop - -\Section List indentation - -The amount over which the text of a list (excluding the item labels) -is indented is controled by a list of indentations. This is explained -in section~\ref[sec:indent:control]. The indentation amount is most of -the time also equal to the value of the paragraph indentation outside -that list. - -In the rare case where the indentation of a list has to be controlled -explicitly, there is an option \refopt{indentation} with one value. -\Ver>\DefineList:SomeList indentation=30pt [...] Stop<Rev - - -\Section Label style - -Every list that uses the \refopt{itemsign} option is an `itemize' list, -no matter what it's name, and there is a counter in Lollipop that -keeps track of how deep you are in itemize lists. Similarly, every -list that uses \refopt{itemCounter} is an `enumerate' lists, and these -are counted too. - -On every next level a new style of item sign or counter is used. For -item signs this is in sequence: $\bullet$, $\circ$, --, and $\cdot$ -for all higher levels. The style of sign can be changed by -\refcs{SetItemSign}: \Ver>\SetItemSign:6=m<Rev where the letter -indicating the sign is interpreted as: \n b~$\bullet$ (bullet), \n -c~$\circ$ (circle), \n d~$\diamond$ (diamond), \n m~--- (em-dash), \n -n~-- (en-dash), \n .~$\cdot$. - -Similarly, the counter style can be set by -\refcs{SetItemCounterRepresentation}: -\Ver>\SetItemCounterRepresentation:2=i<Rev where the letter -representing the style is interpreted as: 1~Arabic, I~uppercase roman, -i~lowercase roman, A~uppercase characters, a~lowercase characters. - -\Section Label width - -The default width for a label is at most the width of the margin over -which the list is indented. Using \opt{item:left} or \opt{item:right} -will have the label pushed to the left or right side of this margin -respectively. Now what if the label material is wider than this -margin? Usually you want the label then to expand to the right, and -that is indeed what happens, unless you specify -\refopt{labeloverflow} with value \n{left}, in which case the right -boundary of the label will not budge, and the label will start -protruding into the outer margin. - -\Section[sec:description:list] Description lists - -A common type of list is the type where each item label consists of a -piece of text. Such a list is called a `description' list in -\Lollipop, and it recognized by the occurrence of the option -\refopt{description} in its definition. A~description list can also use -the item sign or the item counter, of course. - -Using a description list, the description text is everything that -follows the command \cs{item}, up to the end of the line. - -\Example -\DefineList:TestList - item:left Style:bold itemCounter . Spaces:1 description - Spaces:2 item:stop Stop -\TestList\item Do -A deer, a female deer.\item Re -According to mr. Fowler only a legal term. -\item Mimi Jett -The owner/founder of ETP\> -\ExampleStop - -As you can see, the problem of label overflow can easily occur with -description lists. Thus it is a good idea to end the item material -with some white space, as in the above example. - - Exceptional situation: -if you use an empty description text, you should write \ver>\item{}>. - -\Section Suspended lists - -Occasionally the is a need to resume an enumerate list, that is, -after a piece of text that is not part of the list an enumerate list -should start counting from the previous value on. In \Lollipop\ this -phenomenon can be realized by never ending the enumerate list, and -simply moving the text one indentation level back with -\refcs{PopIndentLevel}. - -\Example -\DefineList:enumerate item:left itemCounter item:stop Stop -\enumerate\item First some item\par -{\PopIndentLevel \Indent:no -This text seems to be outside the list. Don't you believe it.\par} -\item And another item\> -\ExampleStop - -Note that the `popped' text has to be in a group (otherwise the -subsequent items will also be popped back), and it has to be -separated from the preceding and following text by \cs{par}; the -trailing \cs{par} has to be in the group. - -\Section Item counter manipulation - -The item counter can be manipulated explicitly. This is necessary for -instance for starting a list at another value than one. What you need -to realize here is that the command \cs{item} starts by incrementing -the counter. Furthermore, the only way to access the item counter is -through the commands for counters; see section~\ref[sec:counters]. - -\Example -\DefineList:enumerate item:left itemCounter item:stop Stop -\enumerate \SetCounter:item=-1 -\item Escape: usually the backslash. -\item Begin Group.\> -\ExampleStop - -\Section List titles and list tails - -Lists can have titles. The title follows the command that invokes the -list, in the usual manner. Material to follow the list can also be -specified: anything following the option \refopt{text} is considered to -be trailing material. - -\Example -\DefineList:TestList hrule line:start Style:bold title line:stop - item:left Style:italic itemCounter item:stop - text vwhite:3pt hrule Stop -\TestList In the last fiscal year, have you:\par -\item Eaten peanuts? \item Walked the dog? -\item Bought a Frank Zappa record?\> -\ExampleStop - -In case you wonder what happens with textual material after -\opt{item:stop} and before any \opt{text}, well, that is taken to be -inserted immediately after each item label. - -\Section Between the items - -There are special list options controlling what happens in between -items. \Lollipop\ has an option \refopt{breakbetween}, analogous to -\opt{breakbefore} and \opt{breakafter}; see -section~\ref[sec:opt:penalties]. This item be default has a -value of~\n{$-50$}, implying that breaks in between items -should be preferred slightly over breaks in between the -lines of an item. - -Similarly, there is an option \refopt{whitebetween} -controlling the amount of white space in between items that is -analogous to \opt{whitebefore} and \opt{whiteafter}. Like these two -options, it can also be set by the \cs{Distance} command -(section~\ref[sec:com:distance]). - -\Section Indentation in lists - -An item can be considered to be consisting of at least one paragraph. -That paragraph is never indented. For the behaviour of any next -paragraph within the same item, the option \refopt{indentinside} can be -used. This option has values yes/no. In case paragraphs inside an -item indent, the indentation amount is level-controlled; see -section~\ref[sec:indent:control]. - -\Chapter[chap:text:block] Text Blocks - -The `text block' is a way of treating a moderate sized chunk of text -in a different way from the surrounding text. Text blocks are -created by \refcs{DefineTextBlock}. Here is a small example. - -\Example -\DefineTextBlock:Quote - PushIndentLevel PointSize:9 SetFont text Stop -\Indent:no In some context it has been written that -\Quote No man is an island.\QuoteStop -In another: -\Quote Run don't walk to the nearest island.\> -Sometimes one would wish women weren't so logical. -\ExampleStop - -Note that the text block has an explicit closing command, -consisting of the name of the block followed by \opt{Stop}, -and that implicit closing by \cs{>} is possible. - -\Section The \opt{text} option - -Text blocks have only one specific option: \refopt{text}. This option -is used to separate material heading the block from material trailing -the block. Example: - -\Example -\DefineTextBlock:DisplayEq - whitebefore:abovedisplayskip whiteafter:belowdisplayskip - line:start white:parindent $ displaystyle text $ line:stop Stop -The formula -\DisplayEq e^{\pi i}+1=0\> -contains nature's five most interesting constants. -\ExampleStop - -Here one dollar comes before the text, and one after, so the first is -inserted by \cs{DisplayEq} and the second by the corresponding -closing command. - -Material before and after the text should usually not be broken. -Hence \cs{nobreak} is automatically inserted. See the \cs{Example} -macro for this manual: pages should not be broken after rules, or -around the text `example~xyz'. - -\Section More examples - -A text block can encompass more than one paragraph, so the options -\opt{indentinside} and \opt{indentfirst} are particularly useful here. - -\Example -\AlwaysIndent:no -\DefineTextBlock:TestBlock PushIndentLevel - indentafter:yes indentfirst:no indentinside:yes - text unskip hfill $ bullet $ par Stop -One paragraph.\par The next paragraph -\TestBlock Inside the block one paragraph.\par -Inside the block the next paragraph.\> -Outside the following paragraph.\par And the last paragraph. -\ExampleStop - -\ImpNote -\iSection[imp:gen:open:close] The environment in generic constructs - -The text block is just about the purest use of the \Lollipop\ -environment mechanism. Here is how a text block is defined: -\Ver> -\def\@DefineTextBlock{ - \csarg\edef{\@name}{\@gen@open - \the\before@coms - } - \@DefineStopCommand{\the\after@coms \@gen@close} - }<Rev - -The \cs{before@coms} and \cs{after@coms} are two token lists with -the heading and trailing commands. - -It is important to note that the definition of the control sequence -of the block is defined by \cs{edef}. This first of all unwraps the -token lists, but it also has an important effect on -\cs{@gen@open/close}. These control sequences contain a lot of -conditionals which, in combination with the \cs{edef} give a really -dynamic definition of generic constructs in \Lollipop. - -First of all, the opening and closing commands induce a group -so that various quantities can be set locally. -\Ver> -\def\@gen@open{\outer@start@commands - \begingroup \inner@start@commands} -\def\@gen@close{\inner@end@commands - \endgroup \outer@end@commands}<Rev - -The outer start commands concern global actions such as backspacing -previous skips, incrementing counters and setting references. -\Ver> -\def\outer@start@commands{% - \iftext@construct - \ifleft@embedded@construct - \nxp\bsp@hack - \else \nxp\leavehmode \nxp\bvwit{\the\@whitebefore}\fi<Rev -The `embedded construct' tests are only true if the construct -can be embedded in a paragraph. A~rare occurence most of the time. -\Ver> - % backspace previous white space while it's visible - \nxp\if@headed\nxp\else - \ifforced@break@before\@beforepenalty - \else\nxp\ifnum\lastpenalty=\z@ - \@beforepenalty\nxp\fi - \fi - \nxp\fi<Rev -A subtle point: a preceding heading will have placed \cs{nobreak} -followed by a skip. It is dangerous to place any sort of penalty -after this because it might induce a page break. - -Now the counter, title, and stuff connected to that. -\Ver> - \fi - \ifhas@counter \nxp\StepCounter:\expandafter\@name\@space - % This sets the \current@label by default<Rev -Since this is used inside an \cs{edef} we can use some trickery -to get the space token after the argument to \cs{StepCounter}. -\Ver> - \ifhas@marks \edef\nxp\cs@e - {\nxp\nxp\nxp\refresh@mark@item - {\@name Counter}{\CSname{\@name Counter}}}% - \nxp\cs@e - \fi - \fi - \iflabel@defined - \global\current@label={\the\@labelcoms}\fi - \ifhas@title \install@title@code<Rev -This title business is explained in~\ref[imp:install:title]. -This piece of code also refreshes the title in the mark structure. -This has to be done after any page break for the benefit -of headers/footers. -\Ver> - \fi - \ifhas@marks\nxp\ifnin{\nxp\place@mark}\fi - %otherwise IniTeX'ing Lollipop will output a page - \nxp\xx@label\the\extern@toks\penalty\@M - % also subtle: if this white space would be higher, it would - % be invisible because of marks et cetera. - % insert nobreak after marks/writes to prevent page breaks. - \iftext@construct - \ifleft@embedded@construct - \else \nxp\@vwhite{\the\@whitebefore}\fi - \fi - }<Rev - -Inner start commands are concerned with setting local values. -\Ver> -\def\inner@start@commands{% - \nxp\Open@Group\CSname{\@class}\CSname{\@name}%<Rev -The \cs{Open@Group} call makes it possible to track down groups -that have inadvertendly been left open. Since we now know the -name we can give helpful error msgs. -\Ver> - \install@stop<Rev -Install the right implicit closing, see~\ref[sec:implicit:close] -and~\ref[imp:implicit:close]. -\Ver> - \ifleft@embedded@construct - \else \nxp\hold@parskip - \nxp\@defaulteverypar - \ifwhiteleft@defined \advance\leftskip \the\@whiteleft \relax \fi - \ifwhiteright@defined \advance\rightskip \the\@whiteright \relax \fi - \nxp\let\nxp\par=\nxp\@par %explain to me again why this is necessary... - \inside@indent \first@indent - \fi - \advance\nest@depth\@ne<Rev -The nest depth is used for determining indentation levels. -\Ver> - }<Rev - -End commands set up some conditions, most of which will be tested -by the start of any next construct. -\Ver> -\def\inner@end@commands{% - \nxp\Close@Group\CSname{\@class}\CSname{\@name}% - \ifright@embedded@construct \else \nxp\leavehmode \fi - \@afterpenalty - \ifright@embedded@construct \else \nxp\@vwhite{\the\@whiteafter}\fi - } -\def\outer@end@commands{% - \the\after@toks - \ifright@embedded@construct - \nxp\@headedno \nxp\esp@hack - \else - \after@indent \nxp\dono@parskip - \fi}<Rev - -\iSection[imp:implicit:close] Implicit closing - -Constructs with an explicit closing command, lists and text blocks, -can be closed by~\cs{>}, which simply closes the current -construct. A~more drastic version, \cs{>]}, closes all currently -open constructs. -\Ver> -\def\outer@stop@command{\Emessage{Vacuous group closing}} -\let\default@stop@command\outer@stop@command -\def\>{\default@stop@command%[fool the editor - \ifNextChar]{% - \ifx\default@stop@command\outer@stop@command - \xp\take@one - \else \xp\>\fi}{}}<Rev -The \cs{outer@stop@command} is meant to give an error msg if the -user attempts to close a group while none is open. - -The current meaning of~\cs{>} is installed in -\cs{inner@start@commands}: -\Ver> -\def\install@stop{\if@implicitclose - \def\nxp\default@stop@command - {\CSname{\stop@command}}% - \else \let\nxp\default@stop@command - \nxp\outer@stop@command - \fi}<Rev - -By default, constructs can be closed implicitly, but there is an -option \refopt{noimplicitclose} to disable this. -\Ver> -\newif\if@implicitclose -\add@generic@default{\@implicitcloseyes} -\@GenericOption{noimplicitclose}{\@implicitcloseno}<Rev -This option is for instance used in the examples in this manual. -Otherwise closing a construct in the example would also close the -example itself. - -\ImpNoteStop - -\endinput \ No newline at end of file diff --git a/macros/lollipop/doc/manual/lollipop-manual.bib b/macros/lollipop/doc/manual/lollipop-manual.bib deleted file mode 100644 index d742991915..0000000000 --- a/macros/lollipop/doc/manual/lollipop-manual.bib +++ /dev/null @@ -1,59 +0,0 @@ -@article{EL:Cork, -author = {Victor Eijkhout and Andries Lenstra}, -title = {The document style designer as a separate entity}, -journal = {TUGboat}, -volume = {12}, -issue = {1}, -year = {1991}, -pages = {31--34} -} - -@misc{E:book, -author = {Victor Eijkhout}, -title = {{\TeX} by Topic}, -publisher = {Addison-Wesley}, -howpublished = {{\tt http://eijkhout.net/texbytopic/texbytopic.html}}, -year = {1992} -} - -@article{E:Portland, -author = {Victor Eijkhout}, -title = {Just give me a Lollipop (it makes my heart go giddy-up)}, -journal = {TUGboat}, -volume = {13}, -issue = {3}, -year = {1992}, -pages = {341--346} -} - -@book{Kn:book, -author = {Donald E. Knuth}, -title = {The {\TeX} Book}, -publisher = {Addison-Wesley}, -year = {1984, reprinted with corrections 1989} -} - -@book{La:book, -author = {Leslie Lamport}, -title = {{\LaTeX} A Document Preparation System}, -publisher = {Addison-Wesley}, -year = {1986} -} - -@article{Pe:epigrams, -author = {Alan Perlis}, -title = {Epigrams on programming}, -journal = {ACM Sigplan Notices}, -volume = {17}, -issue = {9}, -year = {1982}, -pages = {7--13} -} - -@book{SeLe:book, -author = {Raymond Seroul and Silvio Levy}, -title = {A Beginner's Book of \TeX}, -publisher = {Springer Verlag}, -year = {1990} -} - diff --git a/macros/lollipop/doc/manual/lollipop-manual.pdf b/macros/lollipop/doc/manual/lollipop-manual.pdf deleted file mode 100644 index 533d578a0b..0000000000 Binary files a/macros/lollipop/doc/manual/lollipop-manual.pdf and /dev/null differ diff --git a/macros/lollipop/doc/manual/lollipop-manual.tex b/macros/lollipop/doc/manual/lollipop-manual.tex deleted file mode 100644 index b2e7884733..0000000000 --- a/macros/lollipop/doc/manual/lollipop-manual.tex +++ /dev/null @@ -1,92 +0,0 @@ -% lollipop-manual.tex master file for the Lollipop TeX manual. -% this file and all input files for it copyright 1992 Victor Eijkhout, -% copyright 2014--2016 Vafa Khalighi, -% except where indicated otherwise. -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\tracingstats=1 -\makeatletter -\makeatother -\showboxdepth=-1 - -\input comment -% By shuffling the \comment line you can load different fonts. -% This is machine dependent, so by default you get the CM font, -% which should work everywhere. -% -\def\SerifFace{\TypeFace:ComputerModern } -\def\SansFace{\TypeFace:ComputerSans } - - -% Now load the style definition. This takes some time. -\input mandefs - -% Prevent regeneration of external files; change 'yes' into 'no' -% if you are changing page dimensions or so. -\WriteExtern:yes - -% BibTeX interface by Berry and Patashnik -\input btxmac - -% Start formating -\Start - -% Include the next line if you are formatting the second half -% of this manual: -%\comment - -\CounterRepresentation:Page=i \RightPage -\InputFile:titlepag - -\InputFile:prelim -\SetCounter:LastInPage=PageValue -\BackStepCounter:LastInPage - -\ToRecto\RightPage -\CounterRepresentation:Page=1 \SetCounter:Page=1 - -\InputFile:struct - -\InputFile:head - -\InputFile:list - -% For the first half include the following line: -%\Stop -% For second half include the following lines: -%\endcomment -%\RightPage \SetCounter:Page=11 - -\InputFile:out - -\InputFile:extern - -\InputFile:opt - -\InputFile:comm - -\InputFile:trace - -\InputFile:appendix - -\SetCounter:LastRegPage=PageValue -\BackStepCounter:LastRegPage -\Stop - -% 2016/04/09 Updated the manual -% 92/11/20 Total pages counter -% 93/01/08 \comment and such for two part processing diff --git a/macros/lollipop/doc/manual/mandefs.tex b/macros/lollipop/doc/manual/mandefs.tex deleted file mode 100644 index dbc822d78d..0000000000 --- a/macros/lollipop/doc/manual/mandefs.tex +++ /dev/null @@ -1,225 +0,0 @@ -% mandefs.tex style definition for the Lollipop manual -% copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\def\con#1{{\tt#1}} -\def\n#1{{\tt#1}} -\def\file#1{{\tt#1}} - -\def\Lollipop{Lollipop} - -\Distance:rightmarginstretch={0cm plus 2.54cm} -\Distance:whitebefore={6pt plus 3pt minus 2pt} -\Distance:whiteafter=whitebefore -\FlushRight:no - -\DefineExternalFile:contents=toc - -\DefineHeading:Chapter - breakbefore:yes whiteafter:20pt - line:start PointSize:14 Style:bold literal:Chapter - Spaces:1 ChapterCounter line:stop - vwhite:15pt - line:start PointSize:16 Style:bold title line:stop - external:contents title external:stop - Stop - -\AdaptiveDistance:WidestLabel=15pt -\def\MeasureLabel{\ifdim\BlockWidth>\WidestLabel - \global\WidestLabel\BlockWidth\fi} -\StartCommand{\Distance:parindent=WidestLabel } -\DefineHeading:Section - whitebefore:{20pt plus 2pt} whiteafter:14pt - line:start PointSize:14 Style:italic - block:start block:start ChapterCounter . SectionCounter - Spaces:1 block:stop MeasureLabel - fillupto:WidestLabel - title line:stop - external:contents title external:stop - label:start ChapterCounter . SectionCounter label:stop - Stop -\GoverningCounter:Section=Chapter - -\DefineHeading:SubSection - whitebefore:{14pt plus 2pt} whiteafter:8pt - line:start PointSize:10 Style:italic - ChapterCounter . SectionCounter . SubSectionCounter - Spaces:1 title line:stop - label:start ChapterCounter . Spaces:.2 SectionCounter - . Spaces:.2 SubSectionCounter label:stop - Stop -\GoverningCounter:SubSection=Section - -\DefineExternalFile:impnotes=imp -\DefineHeading:iSection - whitebefore:{10pt plus 1pt} whiteafter:8pt - line:start PointSize:12 Style:bold I - - Style:italic iSectionCounter - Spaces:1 title line:stop - label:start I - iSectionCounter label:stop - external:impnotes title external:stop - Stop -%\GoverningCounter:iSection=Chapter -\DefineExternalItem:iSection file:impnotes PushIndentLevel - item:left I - Style:italic iSectionLabel item:stop - title begingroup Spaces:2 Style:italic Page endgroup - Stop - -\DefineExternalItem:Chapter file:contents - item:left ChapterLabel item:stop - title begingroup Spaces:2 Style:italic Page endgroup - Stop -\DefineExternalItem:Section file:contents PushIndentLevel - item:left ChapterLabel . SectionLabel item:stop - title begingroup Spaces:2 Style:italic Page endgroup - Stop - -\def\impnotetxt{Implementor's Note} -\DefineTextBlock:ImpNote PushIndentLevel - whitebefore:12pt whiteafter:11pt - line:start PointSize:12 Style:italic impnotetxt line:stop - SansFace PointSize:9 SetFont text - Stop -\excludecomment{ImpNote} - -\DefineTextBlock:WizNote - PushIndentLevel PointSize:9 SetFont text - Stop - -\DefineList:Description - item:left description Spaces:2 item:stop whitebetween:6pt - Stop - -\DefineList:cDescription - item:left tt char busje description Spaces:2 item:stop - whitebetween:6pt - Stop - -\DefineList:Enumerate - item:left itemCounter item:stop - Stop - -\DefineList:Itemize - item:left itemsign item:stop - Stop - -\DefineBBL - item:left [ - itemCounter - ] item:stop - Stop - -\SerifFace \SetFont - -\newwrite\exfile -\def\HereAndOut#1{\immediate\write\exfile{#1}} -\specialcomment{Example} - {\EExample - \immediate\openout\exfile=example.tex\relax - \let\ThisComment\HereAndOut} - {\immediate\closeout\exfile - \begingroup \tt \SetFont - \verbatimfile{example.tex}\endgroup - \SaveAlloc \input example.tex\relax \RestoreAlloc - \EExampleStop} -\DefineTextBlock:EExample whiteafter:{6pt plus 5pt} - noimplicitclose rule:h vwhite:3pt - line:start literal:Example Spaces:1.5 - ChapterCounter . EExampleCounter - line:stop - vwhite:3pt rule:h vwhite:3pt text vwhite:3pt rule:h - Stop -\GoverningCounter:EExample=Chapter - -\specialcomment{OutExample} - {\EExample - \immediate\openout\exfile=example.tex\relax - \let\ThisComment\HereAndOut} - {\immediate\closeout\exfile - \begingroup \tt \SetFont - \verbatimfile{example.tex}\endgroup - \par\penalty0\relax - \SaveAlloc \SuspendOutput \begingroup \CountSheetsno - \global\setbox\PageRow\hbox{}% - \let\CurrentShipout\ToPageRow - \xInputFile:example - \endgroup - \ResumeOutput \RestoreAlloc - \noindent\unhbox\PageRow\hbox{}\par - \EExampleStop} -\newbox\PageRow\newbox\RowPage -\def\ToPageRow{\setbox\RowPage\box\WholePage \xToPageRow} -\def\xToPageRow{\global\setbox\PageRow - \hbox{\unhbox\PageRow\box\RowPage\hfill}} - -\def\opt#1{{\tt#1}} -\DefineExternalFile:optindex=oix -\def\refopt#1{\OptToIdx #1\par} -\DefineHeading:OptToIdx embedded:yes - block:start tt title block:stop - external:optindex title external:stop - nomarks Stop -\DefineExternalItem:OptToIdx file:optindex - embedded:yes - begingroup tt title endgroup - nobreak Spaces:1.5 Page Spaces:2.5 Stop - -\DefineExternalFile:csindex=cix -\def\refcs#1{\CsToIdx #1\par} -\DefineHeading:CsToIdx embedded:yes - block:start tt char busje title block:stop - external:csindex title external:stop - nomarks Stop -\DefineExternalItem:CsToIdx file:csindex - embedded:yes - begingroup tt char busje title endgroup - nobreak Spaces:1.5 Page Spaces:2.5 Stop - -\topskip20pt -\OptionsMacro:PageDims=width:page=15cm height:page=23cm Stop -\DefinePageGrid:LeftPage macro:PageDims - band:start block:start PointSize:9 Style:italic - FirstPlaced:ChapterCounter Spaces:2 stickout:left - FirstPlaced:ChapterTitle band:stop - textband:start text textband:stop - band:invisible block:start PointSize:9 Style:bold - PageCounter Spaces:2 stickout:left band:stop - NextPageGrid:RightPage Stop -\DefinePageGrid:RightPage macro:PageDims - band:start fillup PointSize:9 Style:italic - LastPlaced:SectionTitle - block:start Spaces:2 LastPlaced:ChapterCounter . - LastPlaced:SectionCounter stickout:right - band:stop - textband:start text textband:stop - band:invisible fillup - block:start PointSize:9 Style:bold Spaces:2 - PageCounter stickout:right band:stop - NextPageGrid:LeftPage Stop -\DefinePageGrid:EmptyPage macro:PageDims - textband:start text textband:stop - NextPageGrid:LeftPage Stop - -\AdaptiveCounter:LastInPage \CounterRepresentation:LastInPage=i -\AdaptiveCounter:LastRegPage \CounterRepresentation:LastRegPage=1 -%\SetCounter:LastInPage=PageValue -- at the end of prelim.tex -%\SetCounter:LastRegPage=PageValue -- at the end of manual.tex - -\endinput - -% 92/11/05 stretch added -% 92/11/18 adaptive label width -% 92/11/19 adaptive last page \ No newline at end of file diff --git a/macros/lollipop/doc/manual/opt.tex b/macros/lollipop/doc/manual/opt.tex deleted file mode 100644 index 1d0b5d7959..0000000000 --- a/macros/lollipop/doc/manual/opt.tex +++ /dev/null @@ -1,408 +0,0 @@ -% opt.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter Options - -This chapter discusses the various options that are common to all -\Lollipop\ constructs. - -\Section Titles - -Any construct can have a title, although of course it is most useful -for headings. -A construct has a title if the option \refopt{title} appears. -Example: -\Ver> -\DefineHeading:Section [...] - Style:bold title - [...] Stop<Rev - -will define a \cs{Section} macro that has a title. -The macro is then used as -\Ver> -\Section The title of this section - -Some text in this section.<Rev -that is, the title is delimited by an empty line. - -The title is actually available as a macro \refcs{FooTitle}, so that you -can write a macro, for instance -\Ver> -\def\ComplicatedTitle{ .. \hrule ... - \vrule ... \vbox \bgroup ... - \FooTitle ... - }<Rev -and use this macro instead of the \opt{title} option -\Ver>\DefineBar:Foo ... - ComplicatedTitle - ... Stop<Rev -However, since the option \opt{title} now doesn't appear anymore, it -becomes necessary to specify explicitly that there is a title. -This can be done with the \refopt{HasTitle} option. For instance, -you define -\Ver>\DefineBar:Foo ... - HasTitle - ComplicatedTitle - ... Stop<Rev -where \cs{ComplicatedTitle} is a macro that formats the title. - -\SubSection Short titles - -The option \opt{HasTitle} can have a parameter \n{short}, denoting that -the title is not delimited by an empty line (or \cs{par}) but by the -line end. For an example see section~\ref[sec:address]. - -\Section[sec:opt:counter] Counters - -There are three ways for Lollipop to figure out that a generic -construct has a counter. First of all, in -\Ver>\DefineFoo:Bar [...] - BarCounter [...]<Rev -the \cs{BarCounter} will be defined automatically. - -Additionally there is the option \refopt{counter}, which can be used -to declare the representation of the option, for instance -\opt{counter:i} allocated a counter that is printed in lowercase roman -numerals. For the available representations, -see~\ref[sec:counter:repr]. - -Finally, if the counter is only used in a macro, the -option \refopt{HasCounter} will cause the counter to be created anyhow. -This is analogous to the \opt{HasTitle} option. - -\SubSection Counter synonyms - -Every once in a while you may want different constructs to use the same -counter. For instance, if your book has definitions, theorems, lemmas, -corollaries and notations, it may confuse the reader if they all have -their own counter. The numbering would seem to jump all over the place. - -A `counter synonym' can be declared in \Lollipop\ by a slight abuse of -the \opt{counter} option. -\Example -\DefineTextBlock:Theorem counter:1 begingroup Style:bold - literal:Theorem Spaces:1 TheoremCounter Spaces:2 endgroup - text Stop -\DefineTextBlock:Corollary counter:Theorem begingroup Style:italic - literal:Corollary Spaces:1 CorollaryCounter Spaces:2 endgroup - text Stop -\DefineTextBlock:Definition counter:Theorem begingroup Style:roman - literal:Definition Spaces:1 DefinitionCounter Spaces:2 endgroup - text Stop -\Definition We define a {\it Foo} to be an arbitrary object\> -\Theorem Foos have arbitrary properties\> -\Corollary Foos are extremely valuable\> -\Corollary Foos are extremely worthless\> -\Theorem Foos don't exist\> -\ExampleStop - -You can only declare a counter to be synonym for something that has -already been created. In the above example you cannot define the -\cs{Theorem} after the \cs{Corollary}. - -\ImpNote -At the start of defining the construct, \cs{BarCounter} is defined to -be an option: -\Ver>\add@generic@default{\has@counterno - \def\counter@repr{1} - \csarg\def{\gen@option@name{\@name Counter}}{% - \@add@toks{\@name Counter}\global\has@counteryes}}<Rev - -Then, -\Ver>\add@generic@stop@default{\ifhas@counter - \xp\expandafter\xp\install@counter - \xp\counter@repr\@space\fi}<Rev - - -The counter is stepped, and the new value is stored in a mark item, -in \cs{outer@start@commands}: - -\Ver> - \ifhas@counter - \nxp\StepCounter:\expandafter\@name\@space - % This sets the \current@label by default - \ifhas@marks \edef\nxp\cs@e - {\nxp\nxp\nxp\refresh@mark@item - {\@name Counter}{\CSname{\@name Counter}}}% - \nxp\cs@e - \fi - \fi<Rev -\ImpNoteStop - -\Section Chunks of text - -Especially in headings, short chunks of text may need a special -treatment. For instance, the number may have to be filled to a certain -width, or a line may have to be drawn of the exact length of the -title. Lollipop have various general options (so they can also be used -in other contexts than headings) for handling pieces of text. - -\SubSection[sec:opt:block] The \opt{block} option\label[opt:block] - -The \refopt{block} option takes up a piece of text and fits it on one -line. It can measure the text, or set the size. Also there are a number -of ways of placing a block. - -Basic usage: -\Ver> block:start [...] block:stop<Rev -This takes the enclosed text, and reproduces it. This is mostly -interesting in combination with \opt{textcolumn}, -see~\ref[sec:opt:textcolumn]. -\Ver> block:hang [...] block:stop<Rev -The resulting block is dropped until its top touches the baseline. -For uniformity of appearance, the resulting width of the block can be -specified: -\Ver> block:start [...] fillupto:20pt<Rev -The name of a \cs{Distance} parameter can be used here. - -\Example -\DefineHeading:TestHeading - line:start block:hang PointSize:8 SetFont - TestHeadingCounter fillupto:20pt - block:hang PointSize:14 SetFont title block:stop - line:stop Stop -\TestHeading Top Aligning the Title - -\endExample - -The block is usually in between the margins of the text, but it can be -made to stick out into the margin, by closing it with the option -\refopt{stickout}. For the left margin this done as - \Ver> block:start [...] stickout:left<Rev -and for the right margin - \Ver> block:start [...] stickout:right<Rev -The size of the box can be specified, for instance as - \Ver> block:start [...] stickout:left=20pt<Rev -For a left box the material in it is pushed to the left edge, for a -right sticking box it is shifted to the right. - -\SubSection[sec:blockwidth] Block Measuring - -All blocks are immediately measured when they are placed. This makes it -possible for instance to underline a title exactly. After a block has -been placed, its width is available as \refcs{BlockWidth}. - \Example -\def\rulespecs{height 1pt width \BlockWidth\relax} -\DefineHeading:TestHeading Style:bold - line:start block:start TestHeadingCounter . Spaces:2 stickout:left - block:start title block:stop line:stop - vwhite:2pt hrule rulespecs vwhite:10pt Stop -\TestHeading The Title Is Underlined - -The text follows. -\ExampleStop -Observe how a control sequence \cs{rulespecs} is used to sneak the -height and width of the rule into the definition. This is necessary -because control sequences are not allowed in a construct definition. - -\SubSection[sec:opt:line] The \opt{line} option - -The option \refopt{line} is used to create a single strip of text that -fits exactly in between the margins of the page. Most of the time, titles -will be in a line. - -\Example -\DefineHeading:TestHeading - line:start block:start TestHeadingCounter Spaces:1.5 stickout:left - title line:stop Stop -\TestHeading A Title - -\endExample - -Another example was above. Here is another use of a line: - -\Example -\DefineHeading:TestHeading - line:start TestHeadingCounter fillup title line:stop Stop -\TestHeading The title - -\endExample - -\SubSection[sec:opt:textcolumn] The \opt{textcolumn} option - -In the examples above all titles fit on one line comfortably. If this -is not the case, the title can be put in a \refopt{textcolumn} which can -span several lines. - -\Example -\DefineHeading:TestHeading - line:start block:start TestHeadingCounter Spaces:2 block:stop - textcolumn:topline title textcolumn:stop - line:stop Stop -\TestHeading A very very very very very very very very very very very -very very very very very very very very very very very very very -very very very very very very very very long title - -\endExample - -This option is mostly interesting in combination with others such as -\opt{block} and \opt{line}. As is apparent from the above example: a -block placed in the same line as a text column will detract from the -latter's width. - -(In fact it is the other way around: \Lollipop\ sets -the line with a text column of width zero to determine the remaining -space. Then the line is set again. This may give problems if you -manipulate parameters inside the line, because the line is in effect -typeset twice. Also make sure not to have other \cs{vbox}-es in the -line than the text column.) - -\SubSection[sec:opt:traps] Traps - -It is a bad idea to have material in headings and such that is not -inside a block, textcolumn, or line. For instance: - -\Example -\DefineHeading:TestHeading - block:start TestHeadingCounter Spaces:2 block:stop - title Stop -\TestHeading Where does the title go? - -\endExample - -\Section[sec:opt:label] Labels - -References to any counter will always be correct, no matter if that -counter has changed after retypesetting the document, if symbolic -references are used. Referencing is explained in detail in -chapter~\ref[chap:referencing]. - -The way a symbolic reference is formatted can be altered from the -default (just give the counter) by using the \refopt{label} option. -\Ver>\DefineHeading:TestSection - line:start Style:italic TestSectionCounter Spaces:2 title line:stop - label:start ( TestSectionCounter ) label:stop Stop<Rev -See further section~\ref[sec:shape:reference]. - - -\Section[sec:opt:penalties] Break before / after - -The options \refopt{breakbefore} and \refopt{breakafter} control how -eager \TeX\ will be to break the page before or after a construct. These -options take one value, a so-called `penalty' value, meaning that the -higher the value you specify, the higher the penalty is, and -therefore the less likely it is that the page will be broken there. - -Numerical values are typically in the tens or hundreds; any value -of \n{10$\,$000} or more means that there will never be a break at -that point; a value of \n{-10$\,$000} or less means a guaranteed -break. If you don't want to remember these rules, values of \n{yes} -and \n{no} mean a guaranteed break, and no break respectively. - -\WizNote -A further exceptional value is \n{breakbefore/after:0}, this will -cause no penalty to be placed. The reason for this is highly \TeX -nical. -\> - -\Section[sec:opt:indent] Indentation - -The option \refopt{indentafter} controls the behaviour of the first -paragraph after a generic construct., \refopt{indentinside}, -\refopt{indentfirst}. - -\Section Rules - -There is an option \refopt{hrule}. You should not write -\Ver>\def\rulemacro{\hrule height [...] } -\DefineHeading [...] rulemacro [...] Stop<Rev -because then \Lollipop\ cannot prevent page breaks around the rule. -Instead write -\Ver>\def\rulespecs{ height [...] } -\DefineHeading [...] hrule rulespecs [...] Stop<Rev -so that the option \opt{hrule} is used. See -section~\ref[sec:blockwidth] for an example. - -\Section Embedded constructs - -Most generic constructs will be vertically separated from the -surrounding text. However, in rare cases (and for unusual applications) -it be desired to have a construct that is part of a paragraph. For this -the option \refopt{embedded} exists. - -This option has the following values. -\Ver> embedded:no<Rev -This is the default. -\Ver> embedded:left<Rev -The construct continues an already started paragraph, but after the -construct a vertical break follows. -\Ver> embedded:right<Rev -After the construct a paragraph can continue, but the construct is -separated vertically from preceding text. -\Ver> embedded:yes<Rev -The construct is both left and right embedded. - -Embedding a construct has an interesting application to generating -indexes. (See chapter~\ref[chap:external-files] for general information -about external files.) This can be done by having embedded headings -that write their title to the index file. - -\Example -\DefineExternalFile:tIndex=tix -\DefineHeading:NewWord embedded:yes - block:start Style:bold title block:stop - external:tIndex title external:stop Stop -\def\introword#1{\NewWord #1\par} -In this sentence two \introword{flubrious} words are -\introword{stinselsed}. -\ExampleStop - -Cute, ain't it? - -A word of warning though. Headings and such generate \TeX\ `marks' -which take up main memory. You only need these if you are going -to be referring to that object with \cs{LastPlaced} or such; see -section~\ref[sec:head/foot]. Embedded headings used as above -usually don't need these marks, so you can prevent \TeX\ overflow by -putting the option \opt{nomarks} in their definition. - -\Section Obscure options - -\SubSection Arguments - -In case you want to interface to other macro packages, you may want to -let a construct generate a call to the other package. For this, the -\Lollipop\ macro should be able to produce sequences such as -\ver>\begin{itemize}>. The problem here is the braces. The option -\refcs{arg} produces a braced expression. - -For instance -\Ver>\DefineTextBlock:LaTeXlist begin arg:{itemize} text - end arg:{itemize} Stop<Rev -makes it possible to use call \LaTeX\ macros from \Lollipop. - -\SubSection[sec:implicit:close] Implicit closing - -The control sequence \refcs{>} closes the current group, and \refcs{>]} -closes all currently open groups. Every once in a while this is too -drastic. Hence there is an option \refopt{noimplicitclose} that can be -used to prevent a construct from being closed implicitly. Using \cs{>]} -inside such a construct will close all enclosed constructs. - -See the definition of \cs{EExample} in this manual for an example. - -\Section[sec:opt:test] Testing - -There is an option \opt{test}. - -\endinput - -% 92/11/10 \BlockWidth discussed in 'block' section -% 92/11/15 counter:othercounter discussed -% 92/11/21 option 'arg' - diff --git a/macros/lollipop/doc/manual/out.tex b/macros/lollipop/doc/manual/out.tex deleted file mode 100644 index 23dab4395d..0000000000 --- a/macros/lollipop/doc/manual/out.tex +++ /dev/null @@ -1,349 +0,0 @@ -% out.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter[chap:output] Output - -Every page is formatted according to a `page grid' consisting of -three elements: - -\Enumerate \item the page head, this is everything that's over the -running text; -\item the page foot, this is everything that is below the running -text; -\item the running text. \TeX\ acts as if text is on a long scroll, -and the running text part of a page is simply a portion cut off from -this scroll.\> -Either or both of the head and foot of the page can be empty, but -usually one of the two contains a page number. - -\OutExample -\OptionsMacro:ManPageSize=raggedbottom:10pt topskip:12pt - height:page=5cm width:page=6cm Stop -\DefinePageGrid:TestPage macro:ManPageSize - pagerule textband:start text textband:stop - pagerule band:start PageCounter band:stop Stop -\TestPage -This page does not contain much special.\EjectPage -This page is hardly better. -\OutExampleStop - -This example illustrates how you first define a page grid by -\refcs{DefinePageGrid}, and then activate it by calling its name. That -last action is in fact not necessary: each definition of a page grid -automatically installs that grid as the current one. - -\Section Page dimensions - -Most of the time it is easiest to specify the total height of a page, -that is, including head and bottom, but sometimes it is more -convenient to specify the height of the text, and let the head and -foot simply go over and under that. - -In the first case you can give the command \refcs{Height} with -two parameters: -\Ver>\Height:Page=23.5cm<Rev or inside a page grid definition the -option \refopt{height}\n{:page=...}. - -In the second case you can give the command -\Ver>\Height:Text=19.55cm<Rev or inside a page grid definition the -option \opt{height:text=...}. - -In page grid definitions there is the additional option -\opt{height:lines=23}. - -The \cs{Height} command cannot be used in a page grid definition. - -\Section Positioning the page on the paper - -If your printer driver is up to specs (and you have not done any -creative macro writing) it should have the upper left corner of the -text landing at $2.54$cm from the top and left side of the paper. -If the result is not to your liking, you can shift the page by -\Ver>\Distance:hoffset= ... -\Distance:voffset= ...<Rev -These offset parameters are zero ordinarily, and they indicate the -extra shift added to the customary $2.54$cm in horizontal and -vertical direction. - -\Section Page head, foot, text - -Somewhere in the page grid the option \refopt{text} has to appear. This -option has to be inside a \refopt{textband}: -\Ver> textband:start text textband:stop<Rev -This is not a case of overspecification, because inside a textband -the text option can appear more than once. In this manner a multicolumn -page grid can be specified. - -\def\sometext{Just a bit of words, words. } -\edef\sometext{\sometext\sometext\sometext} -\edef\sometext{\sometext\sometext\sometext\sometext} -\OutExample -\DefinePageGrid:TestPage macro:ManPageSize - pagerule textband:start text hwhite:10pt text textband:stop - pagerule band:start PageCounter band:stop Stop -\FlushRight:no \sometext -\OutExampleStop - -Next to the option \opt{textband} there is \refopt{band}. -Both are ways of -creating a page wide band. The option \opt{band} is used for all -material that is not a text column, for instance footers, as in the -above examples. - -The option \opt{band} can have one unusual parameter: \n{invisible}. -This makes the band act as if it has zero height or width, depending -on whether it is below or above the text, respectively. - -\OutExample -\DefinePageGrid:TestPage macro:ManPageSize - pagerule textband:start text hwhite:10pt text textband:stop - pagerule - band:invisible block:start Style:bold PageCounter Spaces:2 - stickout:left band:stop Stop -\FlushRight:no \sometext -\OutExampleStop - -\SubSection More about text bands - -The text band is that part of the page that has the text in it. You can -also put other material in it, such as rules or white space. - -\OutExample -\DefinePageGrid:TestPage macro:ManPageSize pagerule - textband:start vrule white:3pt text white:3pt vrule textband:stop - pagerule band:start white:fillup PageCounter band:stop Stop -\TestPage This page contains some text, a bit more text, -and even more than that. In all still just a few lines.\EjectPage -This page contains more text, still more text, and still more. -\OutExampleStop - -In the previous example the width of the page was specified. -If we only give the width of the text, the page width is calculated -dynamically. - -\OutExample -\DefinePageGrid:TestPage macro:ManPageSize - textband:start vrule white:3pt text white:3pt vrule textband:stop - pagerule band:start white:fillup PageCounter band:stop Stop -\noindent This page contains some text, a bit more text, -and even more than that. In all still just a few lines.\EjectPage -This page contains more text, still more text, and still more. -\OutExampleStop - -Note how the \refopt{pagerule} and \opt{band} objects stretch -with the page. - - -\SubSection Topskip - -In between the page head and the text is some white space, the -topskip, with special properties. The topskip is defined from the -bottom of the head to the bottom of the first line of the text. If -the height of this first line varies from page to page the topskip -acts as a buffer, keeping the bottom-to-bottom distance constant. - -Topskip is set by the option \refopt{topskip}, for example -\Ver> topskip:25pt<Rev -but if this option is left out, the page grid uses the value of -\cs{topskip} that was current at the time of the definition. -Unfortunately there is no way to change this value after the definition. - -\Section[sec:page-counter] The page number - -The page number behaves as if it had been defined by -\Ver>\NewCounter:Page -\CounterRepresentation:Page=1<Rev -Thus you can use any command from section~\ref[sec:counters] on it. -For instance, you can have page numbers in roman numerals by -specifying -\Ver>\CounterRepresentation:Page=I<Rev - -The page number is typically used as the option \refopt{PageCounter}, -but for some applications the corresponding command \refcs{PageCounter} -can be used. - -If you process a \Lollipop\ document you see that everytime a page is -generated, an item such as \ver>[8,7]> is written on the log file or the -screen. Most of the time the two numbers will be the same, as in -\ver>[8,8]>, but they will differ if you have tinkered with the page -number. The first number is the `sheet counter': it counts how many -pages you have produced so far. The second number is the value of -\cs{PageCounter} for the page that was written out. Take a look at the -log file for this manual for an example. - -\Section[sec:page:tests] Page tests - -The page grid definition can set/query several properties of the -page. The following tests have been provided (see -section~\ref[sec:tests] for tests): -\Ver>\DefineTest:IsRightPage -\DefineTest:IsLeftPage -\DefineTest:FirstPage -\DefineTest:LastPage -\DefineTest:FlushBottom<Rev -\Itemize\item The tests for left/right pages are done by - testing whether the page number of odd or even. -\item The first/last page tests can be used either for the whole -document, or for a file that's loaded as an \cs{InputFile}. -\item The first page test doesn't work at present. -\> - -\OutExample -\DefinePageGrid:TestPage macro:ManPageSize - pagerule textband:start text textband:stop pagerule - band:start ifIsLeftPage else hwhite:fillup fi PageCounter - band:stop Stop \SetCounter:Page=12 -This is a left hand page. \EjectPage -This page is on the right side of a spread. -\OutExampleStop - -\Section[sec:head/foot] Running heads / footers - -Above it was explained how pages can be given a head and foot part. -Quite often you want changing information in such parts, for instance -the head of a left page often contains the number or title of section -that was current when that page started; the head of a right page -often contains the number or title of the section that was current -when that page ended. - -In \Lollipop\ all constructs that have a title or a counter can have -that information referenced in page grids. -\Description\item \refcs{FirstPlaced}:SectionTitle -Take the title of the first section that started on this page, or -the last one that started before this page if no section started on -this page.\item \refcs{LastPlaced}:SubSectionCounter -Take the title of the last subsection that started on this page, or -the last one that started before this page if no subsection started -on this pgae.\item \refcs{PreviousPlaced}:SectionCounter -Take the counter value of the last section that started before this -page.\> - -\OutExample -\DefinePageGrid:TestPage macro:ManPageSize - pagerule textband:start text textband:stop pagerule - band:start Style:italic FirstPlaced:HeadTitle - white:fillup PageCounter band:stop Stop -\DefineHeading:TestHeading Style:bold - line:start TestHeadingCounter Spaces:2 title line:stop Stop -\TestHeading A first section\par And some text.\EjectPage -This page contains text. \TestHeading A second Section\par -And more text. -\OutExampleStop - -The commands \cs{FirstPlaced} and \cs{PreviousPlaced} are typically -used on left pages; \cs{LastPlaced} is more common on right pages. -You can test on what sort of page you are; see -section~\ref[sec:page:tests]. - -\OutExample -\DefinePageGrid:TestPage macro:ManPageSize - pagerule textband:start text textband:stop pagerule - band:start Style:italic - ifIsLeftPage FirstPlaced:HeadTitle white:fillup fi - PageCounter - ifIsRightPage white:fillup LastPlaced:HeadTitle fi - band:stop Stop \SetCounter:Page=10 -\DefineHeading:TestHeading Style:bold - line:start TestHeadingCounter Spaces:2 title line:stop Stop -\TestHeading A first section\par And some text. -\TestHeading Second section\par More text.\EjectPage -\TestHeading Third section\par Is on the right page. -\TestHeading Fourth section\par Concludes this page. -\OutExampleStop - - -\Section Alternating page grids - -In \Lollipop\ it is very easy to switch page grids with the option -\refopt{NextPageGrid}: you simply specify - \Ver> NextPageGrid:otherpage<Rev as one of the options -in the definition. If no next grid is indicated, the same page grid keeps -being used continuously until another page grid is activated -explicitly. - -\OutExample -\DefinePageGrid:LTestPage macro:ManPageSize - pagerule textband:start text textband:stop pagerule - band:start Style:italic - PageCounter white:fillup FirstPlaced:HeadTitle - band:stop NextPageGrid:RTestPage Stop -\DefinePageGrid:RTestPage macro:ManPageSize - pagerule textband:start text textband:stop pagerule - band:start Style:italic - LastPlaced:HeadTitle white:fillup PageCounter - band:stop NextPageGrid:LTestPage Stop -\SetCounter:Page=42 -\DefineHeading:TestHeading Style:bold - line:start TestHeadingCounter Spaces:2 title line:stop Stop -\LTestPage -\TestHeading A first section\par And some text. -\TestHeading Second section\par More text.\EjectPage -\TestHeading Third section\par Is on the right page. -\TestHeading Fourth section\par Concludes this page. -\OutExampleStop - -Another very useful application of this mechanism is to have a -special definition for the opening page of a chapter. This manual uses a -one-shot page grid \cs{EmptyPage} to remove the header and footer on the -title page. It installs \cs{LeftPage} as the next grid. - -\Section Additional User Control - -\SubSection Elementary manipulation - -There are a few commands for simple page manipulation: -\Description\item \refcs{EjectPage} -The current page is filled up with white space, and -a new page is started.\item \refcs{ToRecto} -As \cs{EjectPage} but if the next page is a left page (meaning -that the page number is even) then the page number is increased by -one, so that the next page is a right hand page.\item \refcs{ToVerso} -As \cs{ToRecto}, except that the next page is a left page. -\> - -Additionally, \refcs{NoPages} lets -all formatting and updating of values be performed, but -no pages are written to the dvi file; -\refcs{PagesOut} -reverts the effect of previous command. Note that \cs{NoPages} does not -incur any savings in time: full processing of the document is performed. - -When a page is finished it rests in box \refcs{WholePage}. Then a call is -made to \refcs{CurrentShipout}, which is by default -\ver>\shipout\box\WholePage>. However, you are free to define it -otherwise. If your \cs{CurrentShipout} does not actually ship out pages, -you may want to set \refcs{CountSheetsno} to prevent the effective page -counter from being updated. - -Redefining \cs{CurrentShipout} usually goes together with -\refcs{SuspendOutput} and \refcs{ResumeOutput}. These commands -temporarily save the page number and the current state of the page, -including the current definition of \cs{CurrentOutput}. (This is necessary -because a number of parameters concerned are changed by global -assignments.) See the definition of \cs{OutputExample} in the appendix of -this manual for an elaborate example. - -If you want to see te output routines in action, specify -\Ver>\Trace:out<Rev In addition \Ver>\Trace:mark<Rev tells you what -information is being saved for running head and foot lines. - -\endinput - -% 2014/04/12 Made `output' capitalized. -% 92/11/20 Left right output examples -% 93/01/17 New description of \CurrentShipout diff --git a/macros/lollipop/doc/manual/prelim.tex b/macros/lollipop/doc/manual/prelim.tex deleted file mode 100644 index d0af6d3e02..0000000000 --- a/macros/lollipop/doc/manual/prelim.tex +++ /dev/null @@ -1,327 +0,0 @@ -% prelim.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter[chap:prelim] Preliminaries - -\Section What is Lollipop? - -Lollipop is `\TeX\ made easy'. Lollipop is a macro package -that functions as a toolbox for writing \TeX\ macros. It was my -intention to make macro writing so easy that implementing a fully new -layout in \TeX\ would become a matter of less than an hour for an -average document, and that it would be a task that could be -accomplished by someone with only a very basic training in \TeX\ -programming. - -Lollipop is an attempt to make structured text formatting available -for environments where previously only wysiwyg packages could be used -because adapting the layout is so much more easy with them than with -traditional \TeX\ macro packages. - -\Section But is it compatible? - -Lollipop, like \LaTeX, is not compatible with plain \TeX. I~don't -consider this a real problem. Most plain \TeX\ commands will work in -\Lollipop\ with the exception of anything output routine related. -(See also below.) - -\Lollipop\ is also not compatible with \LaTeX, although it has a lot -of the same functionality. There are two reasons why \Lollipop\ still -has a reason for existing, even though \LaTeX\ is used pretty much -all over the scientific world. - -For one, Lollipop is targeted in part -to different users than the typical plain \TeX\ or -\LaTeX\ user. For another, I~have a vain hope that I~can capture some -of the \LaTeX\ market share. Since developing styles in \Lollipop\ is -so much more easier than in \LaTeX, I~may stand a fighting chance. - -\SubSection \Lollipop\ and plain \TeX - -Having said the above, I'll conceded that \Lollipop\ is more -compatible with plain \TeX\ than with \LaTeX. You can use quite some -plain \TeX\ commands in \Lollipop. However, stay away from the -following:\Description\item \cs{everypar} -This one is heavily used by \Lollipop. You may use \cs{EveryParagraph} -instead, which functions pretty much like \cs{everypar}; see -section~\ref[sec:everypar].\item \cs{everymath} -This one is heavily used by \Lollipop. You may use \cs{EveryMath} -instead, which functions pretty much like \cs{everymath}; see -section~\ref[sec:everymath].\item \cs{everydisplay} -This one is heavily used by \Lollipop. You may use \cs{EveryDisplay} -instead, which functions pretty much like \cs{everydisplay}; see -section~\ref[sec:everydisplay].\item \cs{output} -Page output is done so very differently from plain \TeX\ that all -commands pertaining to page numbers and head/footlines have been -eradicated. (Well, \cs{pageno} still gives the page number.) See -chapter~\ref[chap:output]. - \> - -The current version of \Lollipop\ is based on the plain \TeX\ file -that comes with \TeX\ version~3.141592653. - -\SubSection \Lollipop\ and \TeX\ programming - -The tools in \Lollipop\ allow you to program in a simple manner quite -complicated macros. Still you may want to have some knowledge of -ordinary \TeX\ macro programming. If you are just starting in \TeX\ -you can pick up the basics from the book by Seroul and -Levy~\bibref[SeLe:book], -and after that there is the book by -the original author of \TeX~\bibref[Kn:book] and my own \TeX\ -reference guide~\bibref[E:book]. - - \Section How to Use \Lollipop - -The following files comprise the Lollipop format: -\Ver> - lollipop-define.tex lollipop-document.tex - lollipop-float.tex lollipop-fontdefs.tex - lollipop-fonts.tex lollipop-heading.tex - lollipop-lists.tex lollipop-output.tex - lollipop-plain.tex lollipop-text.tex - lollipop-tools.tex lollipop.tex<Rev - - -To process a file, say \file{test.tex}, with -Lollipop you then type: - -\Ver> -> lollipop test.tex <Rev - -to get the dvi output. - - -\Section[sec:style-dump] Processing a Lollipop file - -Files that you make to be processed with Lollipop contain of course -the input text, but they also have to contain the design macros that -determine the layout. There are two possibilities for these design -macros: - -\Itemize -\item You can simply put them in the same file, either in the -beginning or wherever they are first needed, or -\item You can put the layout definition in a separate file and call this -definition file in your main file. For instance, you can put the layout definition of a -book in a file \file{bookstyle.tex}, and then call this definition file in your -main Lollipop file by putting - -\Ver> -\InputLollipop:bookstyle.tex <Rev - -somewhere in your main Lollipop file. - - - -If you have used \TeX\ before, you will notice that the page numbers -get reported slightly differently from the usual way. See -section~\ref[sec:page-counter] for the explanation. - -\Section The errors of \Lollipop / known bugs - -Since \Lollipop\ is an order of magnitude more powerful -(and hence complicated) than formats such as \LaTeX, its error -messages can also be an order of magnitude more cryptic (see -section~\ref[sec:error-msg] for the possible origin of some of the -more obscure error messages). - -Fortunately, \Lollipop\ is also quite a -bit better than existing formats at catching potential errors. Typos -in a style definition will usually lead to warning messages, and also -during run time \Lollipop\ is able to track down ommisions. - -In addition, you can switch on various trace modes to get more -detailed information about \Lollipop's thought processes. See -chapter~\ref[chap:tracing]. - -These are the known bugs in \Lollipop\ at the moment. - -\Enumerate\item Local references have been insufficiently tested, -and the code definitely is buggy. -\item The `firstpage' test in the page grids does not work. -\item The table of contents example is slightly wrong. -\item Titles get written to the aux file with double spaces. -This shouldn't cause any problem, but it has to be fixed. -\item Rules in page grids get white space around them. -\item External items shouldn't declare \cs{FooTitle} or -\cs{FooCounter}. -\item \cs{ToExternalFile} doesn't work. -\> - - -If you find any other issues, or if you have any fixes/workarounds -for any existing issues, then please post them on GitHub. - -\Section About this manual - -This manual consists of a main file \file{lollipop-manual.tex}, and the -following input files: -\Ver> -titlepag.tex prelim.tex struct.tex head.tex list.tex -out.tex extern.tex opt.tex comm.tex trace.tex appendix.tex<Rev -and the style definition file \file{mandefs.tex}. - -In addition, you need \file{comment.tex} which is used to format this -manual, and \file{btxmac.tex} for the Bib\TeX\ interface, but these -are not really a part of \Lollipop. - -If you format this manual (which you'll have to do three times -to get the page numbering and the table of contents straight) you'll -notice something strange. The file \file{example.tex} is read in -many, many times. This is because this manual formats its examples -along the way, first writing them out, and then reading them in to -show both their code and their output. This way it is guaranteed that -the examples in the manual will always work. - -As a result of formatting this manual you will wind up with, apart -from the usual \file{pdf} and \file{log} file, with \file{lollipop-manual} files -with extensions \file{aux}, \file{toc}, and \file{imp}; -\file{oix} and \file{cix} for indexes of options and commands, -and -\file{tct}, file{tix} which are for the examples. For the -bibliography there are the Bib\TeX\ input file \file{lollipop-manual.bib} and -output file \file{lollipop-manual.bbl}. - -This manual needs quite some resources: here's what \TeX\ told me -it needed. -\Ver>Here is how much of TeX's memory you used: - 1194 strings out of 496579 - 16173 string characters out of 6202690 - 72655 words of memory out of 5000000 - 3270 multiletter control sequences out of 15000+600000 - 11241 words of font info for 40 fonts, out of 8000000 for 9000 - 19 hyphenation exceptions out of 8191 - 24i,4n,24p,187b,562s stack positions out of 5000i,500n,10000p,200000b,80000s<Rev - - -Because of all the examples this manual takes quite some time to -process. A~factor of four over the time for a regular document of -similar length should be expected. Ordinary Lollipop documents will -proceed far faster. - -\Section The most boring section in this manual - -There are a few things about \Lollipop\ that I~want to be clear about. - -\SubSection I am going to hurt you and I am not sorry - -In the secret handbook for the software industry it says that the -final test phase of a product consists of putting it in stores and -having innocent suckers pay good money for it. (You guessed it, this -is the disclaimer section.) So let me just say that -\Lollipop\ is probably good for nothing, at least, I~don't claim it -is. And if you hurt yourself by using it, don't blame me. I~warned -you. - -\SubSection Get a \Lollipop, give one away - -\Lollipop\ is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -The easiest way to get the current copy of \Lollipop\ is to use -a more recent \TeX{} distribution (\TeX Live or Mik\TeX). - -\SubSection The status of \Lollipop - -\Lollipop\ is still under development. Although I~will try not to -make any drastic changes in the user interface (this says nothing -about the internals!) I~really cannot guarantee anything. -However, I~do listen to complaints and suggestions. - -If you have suggestions or complaints about the -useability of \Lollipop\ or the implementation, feel free to contact -me at \n{persian-tex@tug.org} on the Internet. - -\SubSection[sec:wish:list] The wish list - -\Lollipop\ is not quite perfect. Here's a list of things that I~am -going to be adding in the near future. If you want to add items to -this list, just open a ticket on the tickets. - -\Enumerate\item Raggedbottom should really, really be added. Soon! - -\item Capitalization and initial capping of titles. If a -title appears in mixed case, it should be possible to have it in all -uppercase in running heads. Some code has been disabled now. - -\item A better multi-column mode. - -\item Interface to Bib\TeX\ seems to largely in place; what happens -if you don't load btxmac? - -\item Inserts, in particular footnotes. At the moment floating -figures are entirely lacking. (As a matter of fact, the plain \TeX\ -macros are availble, but I'm not telling that.) - -\item A `nomarks' option to prevent wasting two token lists. -Maybe other recourse saving optio for the expert designer? - -\item More sophisticated white space right before and after -page breaks. (Use at least so and so much.) - -\item Dynamic topskip. - -\item Sup­port for RTL lan­guages (such as Per­sian). - - -{\PopIndentLevel\Indent:no The following points are debatable: -maybe I~should just steal a few components from \LaTeX. Maybe this -sort of stuff does not belong in \Lollipop.\par} - -\item A tabular mode. Personally I~always felt \cs{halign} to be more -than sufficient, but some people seem to think otherwise. - -\item Maths constructs. Some things in the \cs{eqalign} vein would be -nice. - -\> - -\SubSection A bit of history - -The \Lollipop\ format was begun in late 1989 to typeset Victor Eijkhout's Ph.D. -thesis, `{\Style:italic Vectorizable and Parallelizable -Preconditioners for the Conjugate Gradient Method}'. At that time -Victor~was using \TeX\ on an Atari 1040ST. -Loading the style definition for the thesis took about two minutes. -\Lollipop\ was heavily augmented in late 1991 to typeset his book -`{\Style:italic \TeX\ by Topic}', for which he~used Sun~3 and Sun~4 -computers. Writing this manual brought \Lollipop\ to its version 0.96; the first public release (version~0.9) was announced on the -internet in October 1992. - -Between 1992 and 2014, Lollipop was unmaintained and Vafa Khalighi took over the -development of Lollipop in April 2014. - -The name `\n{Lollipop}' refers to a quote by Alan -Perlis~\bibref[Pe:epigrams], quoted on page 365 of the \TeX -book~\bibref[Kn:book]. In a way it's rather pretentious. The philosophy -of the \n{Lollipop} format is described~\bibref[EL:Cork,E:Portland]. - -\endinput - -% 2014/04/13 Added some notes about \EveryMath, -% and \EveryDisplay. Also \EveryPar changed to -% \EveryParagraph -% 2014/04/12 Added note about xelollipop format -% 2014/04/11 Updated the manual -% 92/10/22 historical remark about name added -% 92/11/03 section 'Lollipop and plain TeX' added; -% remarks about IniTeX in Textures -% 92/11/26 uses bibrefs diff --git a/macros/lollipop/doc/manual/struct.tex b/macros/lollipop/doc/manual/struct.tex deleted file mode 100644 index 7590b5a365..0000000000 --- a/macros/lollipop/doc/manual/struct.tex +++ /dev/null @@ -1,264 +0,0 @@ -% struct.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter The structure of Lollipop - -Lollipop provides tools for realizing the style or layout of a -document. Some of these tools are macros ready to be used by the end -user; they concern for instance selection of fonts. -Others, the `generic constructs', are for the style designer so that -she can use them to program the macros for the user. - -\Section[sec:doc-start-stop] Lollipop Files - -Any Lollipop document has to have a \cs{Start} and \cs{Stop} command. -Before the \cs{Start} there can be style definition commands, but no -text. For a number of reasons it is advisable to put as much of the -style definition before the \cs{Start} command as possible. You can -do that easily by loading the style as an input file, or by first -dumping it as a format (see section~\ref[sec:style-dump]). - -\ImpNote -Before the \cs{Start} command, \cs{everypar} contains an error -message. The start command installs the default value for -\cs{everypar}. -\ImpNoteStop - -Both the start and the stop file load the \file{.aux} auxiliary file. -None of this should concern you, really. Expert users who want to -have certain actions performed at the start of the document may want -to use \refcs{StartCommand} to specify what they wish done. See -section~\ref[sec:adapt-distance] for an example. - -\Section Generic Constructs - -\label[generic:construct]\label[option:macro] -There are five `generic constructs': headings, lists, text blocks, page -grids, and external items. For each construct type there is a defining -command, for instance \cs{DefineHeading} -which is followed a list of `options', terminated by the word `Stop'. - -Options (possibly with values) have to be separated by a -space or a line end; the keyword \opt{Stop} has to be followed by a -space or a line end. -Options may have zero, one or two values; if there are values, then -the first one is separated from the option by a colon, the second is -separated from the first by an equals sign. - -\Ver>\DefineFoo:Bar optiona optionb optionc:value - optiond:valuea=valueb optione - optionf Stop<Rev - - As a result of this definition, a command -\cs{Bar} is created. If the \con{Foo} construct was a \con{List} or -\con{TextBlock}, an additional command \cs{BarStop} is created. - -This command can then be used in the ordinary way, for instance -after \ver>\DefineHeading:Foo> you can type -\Ver>\Foo The title<Rev and after \ver>\DefineList:Foo> you can type -\Ver>\Foo -\item One item -\item And another -\FooStop<Rev - -\ImpNote -Actually, this `Stop' business can be customized for other languages. -The file \file{tools} has the following lines: -\Ver> -\def\stop@command@suffix{Stop} -\def\stop@command{\@command\stop@command@suffix}<Rev -\ImpNoteStop - -\Section Options - -Options are mostly used to specify how a construct will look. Some -options, for instance \opt{title}, indicate material that will appear -on the page. Other options are interpreted as commands, for instance -\opt{IndentAfter:yes} in the definition of a heading indicates that -the first paragrah after such a heading will indent. - -In addition to keywords that only exist as options, commands can -be used as options. Also, single characters are accepted as options. -For instance a definition of a subsection heading can contain: - -\Ver>\DefineHeading:SubSection - [...] - SectionCounter . SubSectionCounter - [...] Stop<Rev -(Here and later the \n{[...]} will denote arbitrary omitted text.) -This definition contains the commands \cs{SectionCounter} and -\cs{SubSectionCounter} and the \n{.} character. - -If a number of options appears together in a number of constructs it -is convenient to have an abbreviation for them. This can be done with the command -\refcs{OptionsMacro} as follows. The options that appear together are -given a common name - \Ver>\OptionsMacro:baz=optiona optionb:value optionc - Stop<Rev -(be sure to leave -no spaces around the equals sign) and this name is then used as - \Ver> macro:baz<Rev -in the option list wherever the options are needed. - -This is for -instance a good way of specifying identical white space around all -sorts of constructs without duplicating the typing each time. -However, it is only for your convenience: it doesn't save any \TeX\ -resources or processing time. - -\Section[sec:error-msg] Popular error messages. Not! - -Lollipop is a macro package on top of an existing program, \TeX. -Therefore it is inevitable that you will get \TeX\ error messages -every once in a while. Some of these may confuse you. - -Here are a few of the errors that I~keep making. - -\SubSection Missing \cs{endcsname} inserted - -If you forget the second parameter in a \cs{Distance} or -\cs{SetCounter} command, writing for instance - \Ver>\Distance:TheWidth<Rev -instead of \Ver>\Distance:TheWidth=15pt<Rev - \TeX\ will scan -forward, and it can easily bump into something that is highly -unexpected given the context. If this is a \cs{def} or \cs{Define...} -command, a `missing \cs{endcsname}' results. If a blank line follows -the incomplete declaration, the following section applies. - -\SubSection Paragraph ended before something was complete - -\TeX\ has found a blank line (or a~\cs{par} command) where this was -not expected. See for instance the previous section. - -\SubSection Missing number - -You have used something that you thought was the name of a control -sequence, but it wasn't. Example: -\Ver>\Distance:parskip=parundent<Rev -Since \cs{parundent} is undefined, \Lollipop\ thought you were -writing something like - \Ver>\Distance:parskip=5pt<Rev - -And yes, the message refers to `number' even though what is missing -is a distance. - -\ImpNote -\iSection Defining Generic Constructs - -The \cs{Define...} commands are not defined explicitly, instead they -are generated by a call such as -\Ver> \@GenericConstruct{Heading}<Rev -Full definition: -\Ver>\def\@GenericConstruct#1{<Rev -to be used as \ver>\@GenericConstruct{Foo}>; -\Ver> \append@to@list{@gencons}{\\#1;}<Rev -book keeping of existing generic constructs; -\Ver> \csarg\newtoks{#1@defaults} - \csn #1@defaults\ecs{}<Rev -default commands to be executed whenever -an instance of this construct -is defined; -\Ver> \csarg\def{add@#1@default}##1% - {\append@to@list{#1@defaults}{##1}}<Rev -the command \cs{add@Foo@default} -to add defaults for this construct; -\Ver> \Install@Noops{#1}<Rev -possibility to generate error msgs for the use of an option that is -not allowed for this type of construct; -\Ver> \csarg\def{Define#1}:##1 {<Rev -instances of this construct will be defined -by a statement like \ver>\DefineFoo:Bar>; -\Ver> \def\@name{##1}\def\@class{#1} - \Tmessage[def]{Defining a #1: ##1}<Rev -\ver>DefineFoo:Bar> leads to \cs{@name} begin \n{Bar}, -\cs{@class} being \n{Foo}; -\Ver> \the\generic@defaults - \csarg\the{#1@defaults}<Rev -unpack token lists of generic and specific default actions; -\Ver> \Get@Items}<Rev -start recursive processing of list of options. This ends the -definition of \cs{DefineFoo}; the definition of -\cs{@GenericConstruct} ends with -\Ver> \csarg\def{@#1Option}##1% - {\csarg\def{#1@##1}####1####2}<Rev -which defines the \cs{@FooOption} macro; see~\ref[imp:option]. -\Ver> }<Rev - -\iSection Items Processing - -Processing the list of items is recursive; at the end some concluding -actions have to be taken, mostly the actual definition of the -construct. - -First we have to filter out empty arguments, which can be caused by -the use of option macros (\ref[option:macro], \ref[imp:option:macro]). - -\Ver>\def\Get@Items#1 {\if\EmptyList{#1}\let\get@next@item\Get@Items - \else\def\get@next@item{\@Get@Items#1 }\fi - \get@next@item}<Rev - -Next, check if the argument is \opt{Stop} (defined by -\ver>\NewDummy{Stop}>, \ref[imp:new:dummy]), in which case you -have reached the end of a generic definition, and can start performing -the final rites. Otherwise, dissect this option item -and go on with the rest -of the options. -\Ver> -\def\@Get@Items#1 {\let\get@next@item=\Get@Items - \csarg\ifx{#1}\Stop - \the\generic@stop@defaults - \let\get@next@item=\relax - \else \Item@or@Macro#1::. \fi \get@next@item}<Rev - -The \n{::.} concluding \cs{Item@or@Macro} accomodates one, -possibly empty, argument. - -\iSection Options\label[imp:option]\label[imp:option:macro] - -Options can either be specific, defined as -\Ver>\@FooOption{Bar}{ [...] }<Rev -in which case the option \opt{Bar} can only be used inside -a call to \cs{DefineFoo}, -or they can be generic, defined as -\Ver>\@GenericOption{Bar}{ [...] }<Rev -For both definitions, the definition text can use up to two parameters. -Parameters are given to the options as -\Ver> optiona:par1 optionb:par1=par2<Rev - -Specific options are defined by the line -\Ver> - \csarg\def{@#1Option}##1% - {\csarg\def{#1@##1}####1####2}<Rev -in \cs{@DefineGenericConstruct}; a call -\Ver>\@FooOption{Bar}{ ... }<Rev -expands to -\Ver>\def\Foo@Bar#1#2{ ... }<Rev -Generic options are defined by the -following command: -\Ver>\def\@GenericOption#1{ - \append@to@list{@GenericOptions}{\\#1;} - \csarg\def{Option@#1}##1##2}<Rev -A call -\Ver>\@GenericOption{Bar}{ ... }<Rev -expands to -\Ver>\def\Option@Bar#1#2{ ... }<Rev - -\ImpNoteStop - -\endinput diff --git a/macros/lollipop/doc/manual/titlepag.tex b/macros/lollipop/doc/manual/titlepag.tex deleted file mode 100644 index c03ee4cd9e..0000000000 --- a/macros/lollipop/doc/manual/titlepag.tex +++ /dev/null @@ -1,85 +0,0 @@ -% titlepag.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\EmptyPage -\begingroup\AlwaysIndent:no -\PointSize:25 \Style:bold Lollipop Unwrapped - -{\tt https://github.com/persian-tex/lollipop} - -\white:30pt - -\PointSize:20 \SetFont Victor Eijkhout {\rm(Original author)} - -\white:10pt - -Vafa Khalighi {\rm(Current developer)} - -\white:50pt - -\PointSize:15 \Style:roman -A manual for the Lollipop \TeX\ format\par -Version 1.07\par -Last updated 21 May 2016\par -Pages: \LastInPageCounter+\LastRegPageCounter -% so far we could have done this with labels, however -\AddToCounter:LastRegPage=LastInPageValue -=\LastRegPageCounter. - -\EjectPage -\endgroup - -\Chapter Contents - -\Section Regular sections - -\LoadExternalFile:contents - -%\Section Implementer's notes - -%\LoadExternalFile:impnotes - -\Section All of the options - -(You know, this section and the next look much better if you sort the -\file{manual.oix} and \file{manual.cix} files before you format the -document the last time. Do put lines - \Ver>\Writeopindex:no -\Writecsindex:no<Rev somewhere in -the top of the \file{manual.tex} file in order to prevent -overwriting of these files -after you've sorted them.) - -\Indent:no \rightskip=0pt plus 5cm -\LoadExternalFile:optindex - -\Section All of the commands - -\Indent:no -\LoadExternalFile:csindex - -\Section Bibliography - -\bibliographystyle{plain} -\bibliography{lollipop-manual} - -\endinput - -% 2016/04/09 Updated the manual -% 92/11/19 Page total included -% 92/11/26 Bibliography diff --git a/macros/lollipop/doc/manual/trace.tex b/macros/lollipop/doc/manual/trace.tex deleted file mode 100644 index febf97fa76..0000000000 --- a/macros/lollipop/doc/manual/trace.tex +++ /dev/null @@ -1,61 +0,0 @@ -% trace.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\Chapter[chap:tracing] Tracing - -\Section Do you really want to see this? - -You can get glimpses of Lollipop's internal workings by enabling some -of the internal traces. The extreme positions -\Ver> \Trace:yes<Rev -and -\Ver> \Trace:no<Rev -cause all trace information and no trace at all respectively to be -generated. You may find this trace interesting, or it may dumbfound you. -Of course, if your name is Victor you find it pretty useful. - -The following traces are available: -\Ver> \NewTrace:def % definition of user constructs - \NewTrace:ref % cross references - \NewTrace:ext % external files - \NewTrace:doc % document structure - \NewTrace:font % font loading - \NewTrace:out % output routine - \NewTrace:indent % indentation control - \NewTrace:gen % general tools<Rev - -\ImpNote -Trace messages are generated by calls to -\Ver> \Tmessage[type]{text}<Rev -Setting -\Ver> \Trace:no<Rev -defines \cs{Tmessage} to discard its arguments. This is the most -efficient way of generating no trace information. - -Tracing is controlled by a global parameter \cs{trace@all}. -A value of~$-1$ -disables all tracing; $+1$~corresponds to all tracing on; $0$~gives -selective tracing. In the third case a call -\Ver> \Trace:xyz<Rev -set \ver>\trace:xyz> positive so that only -\ver>\Tmessage[xyz]{...}> calls will -produce output. Enabling a selective trace sets \cs{trace@all} to zero, in -case it was~$-1$. -\ImpNoteStop - -\endinput diff --git a/macros/lollipop/doc/tex-inde.xen b/macros/lollipop/doc/tex-inde.xen deleted file mode 100644 index 3f8f2acca6..0000000000 --- a/macros/lollipop/doc/tex-inde.xen +++ /dev/null @@ -1,261 +0,0 @@ -TeX-index entries - -%% the Lollipop format - -The Lollipop format is designed to make implementation of -new style definitions easy, even for people who can barely -program TeX macros. It is not compatible with either plain -TeX or LaTeX, although a lot of plain TeX constructs are -available. There is a manual with many elaborate examples; -see below. - - - -Name: lollipop-define.tex -Description: cross referencing macros for - the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop-document.tex -Description: document handling macros for the - lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop-float.tex -Description: floating insertion macros - for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop-fontdefs.tex -Description: fontdefinitions for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop-fonts.tex -Description: font handling macros - for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop-heading.tex -Description: heading macros for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop-lists.tex -Description: list definition macros - for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop.tex -Description: main file for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: requires lollipop-define.tex, lollipop-document.tex - lollipop-float.tex, lollipop-fontdefs.tex, lollipop-fonts.tex, - lollipop-heading.tex, lollipop-lists,tex, - lollipop-plain.tex, lollipop-output.tex, lollipop-math.tex, - lollipop-text.tex, lollipop-tools.tex. - -Name: lollipop-plain.tex -Description: version of plain.tex customized - for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop-output.tex -Description: output routine macros - for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop-text.tex -Description: text environment definitions - for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -Name: lollipop-tools.tex -Description: utility macros for the lollipop package -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the lollipop package, see lollipop.tex. - -%% lollipop manual - -Name: comment.tex -Description: comment environment for plain TeX, - LaTeX, and lollipop TeX. -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: extern.tex -Description: description of external file handling - in lollipop TeX. -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: head.tex -Description: description of headings in lollipop TeX. -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: list.tex -Description: description of lists in lollipop TeX. -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: mandefs.tex -Description: style definition for the lollipop TeX manual. -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: lollipop-manual.tex -Description: master file for the lollipop TeX manual -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: requires comment.tex, extern.tex, head.tex, list.tex - mandefs.tex, lollipop-manual.bbl, opt.tex, out.tex, prelim.tex, - struct.tex, titlepag.tex, trace.tex. - -Name: opt.tex -Description: description of construct options - in lollipop TeX -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: out.tex -Description: description of output handling - in lollipop TeX. -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: prelim.tex -Description: introductory chapter of lollipop manual. -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: struct.tex -Description: description of the overall structure of - lollipop TeX files -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: titlepag.tex -Description: titlepage of the lollipop manual -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - -Name: trace.tex -Description: description of trace modes in lollipop TeX -Keywords: lollipop, macro package, style definitions -Author: Victor Eijkhout and Vafa Khalighi -Supported: yes -Latest version: v1.07, 21 May 2016 -Archives: http://ctan.org/pkg/lollipop -Note: part of the manual of the lollipop package, - see lollipop.tex. - diff --git a/macros/lollipop/tex/lollipop-define.tex b/macros/lollipop/tex/lollipop-define.tex deleted file mode 100644 index 6f805a2791..0000000000 --- a/macros/lollipop/tex/lollipop-define.tex +++ /dev/null @@ -1,425 +0,0 @@ -% lollipop-define.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\NewTrace:ref -%%%%%%%%%%%%%%%% Symbolic references - -% User command for labels. -% this is hardly ever necessary: -% most commands directly accept the label. -% -\def\label[#1]{\bsp@hack\@label{#1}\esp@hack} - -% Automatic generation of labels. -% after \@Labelize{command}, it is possible to write \command[sym:ref] -% This is done for any generic construct that has a counter. -% -%\add@generic@stop@default{\ifhas@label \@Labelize{\@command}\fi} -\newif\ifhas@label -\add@generic@default{\has@labelno} -\@GenericOption{haslabel}{\global\has@labelyes} -\def\@Labelize#1{\edef\cs@e{\let\CSname{lab@#1}=\CSname{#1}}\cs@e - \csarg\edef{#1}{\begingroup - \aftergroup\CSname{lab@#1}\nxp\@referentiep}} -\def\@referentiep - {\ifnextchar[%] - \x@label{\ifNextChar<%> - \x@o@label{\gdef\xx@label{}\endgroup}% - }} - -% if \command has a symbolic key, -% \x@label#1 = -% \def\xx@label -% \@label{#1} -% \xx@label <- {} -% the \xx@label command is called at the start of every environment -% this delay is necessary, because the label is seen before -% the title, or before any counter is stepped. -% -\newif\ifcustom@label -\def\xx@label{}\def\RefLabel{} -\def\x@o@label<#1>{\global\custom@labeltrue - \global\current@label{#1}\x@label} -\def\x@label[#1]{\gdef\RefLabel{#1}% - \gdef\xx@label{\@label{#1}\global\custom@labelfalse - \gdef\xx@label{}}\endgroup} - -% Label contents -% mostly generated by \step@counter or so -% -\newtoks\current@label -\def\define@reference - #1{\ifcustom@label\else - \edef\cs@e{\global\current@label - {\counter@@repr{#1}{\csarg\number{\counter@name{#1}}}}}% - \cs@e - \fi} - -% Internal labeling command -% 1/ \current@label contains tokens describing the reference -% do a twostep unwrap of that -% 2/ write out the result to the .aux file -% 3/ if the current file has been \InputeFile'd, -% write out to the .aux of the input file. -% -% the string written out is for \@label{Key}: -% \refer@label{ref@Key}{label value}{page counter} -% -\def\@label@key#1{ref@#1} -\noeol -\def\@label#1{\Tmessage[ref]{Label definition: <#1>=\the - \current@label} - \ifWriteExtern \begingroup - \def\label[##1]{}\normalesc - \def\cprotect{\xp\string} - %\xp\xp\xp\string\FooCounter => - %\xp\string\Foo@R{\number\Foo@C} => \string\@arabic{123} - \def\protect{\noexpand\protect\noexpand} - %\test@defined@key{#1} - \edef\cs@e{\edef\nxp\cs@e{\current@label={\the\current@label}} - \nxp\cs@e} - \cs@e - %\Tmessage[ref]{Label as written: <\the\current@label>} - \edef\cs@e{\the\current@label} - \edef\cs@a##1{\nxp\csarg\write{##1@file} - {\string\refer@label{\@label@key{#1}} - {\macro@meaning\cs@e}{\noexpand\PageCounter}}} - \cs@a{aux} - \ifx\@invoernaam\@leeg - \else \ifLocalReferences \cs@a{incaux}\relax \fi\fi - \endgroup\fi} -\newcount\duplicate@labels -\def\test@defined@key#1{\if\UndefinedCS{\@label@key{#1}} - \Tmessage[ref]{First time definition of <#1>} - \else\xp\xp\xp\xp\xp\xp\xp\ifx\xp\xp\xp - \third@of@three\csn \@label@key{#1}\ecs\StaleRef - \begingroup - \edef\cs@e{\CSname{\@label@key{#1}}} - \xp\xp\xp\def\xp\xp\xp\cs@e\xp\xp\xp{\cs@e} - \temptoksa\xp\xp\xp{\xp\first@of@three\cs@e} - \edef\cs@e{\CSname{\@label@key{#1}}} - \xp\xp\xp\def\xp\xp\xp\cs@e\xp\xp\xp{\cs@e} - \temptoksb\xp\xp\xp{\xp\second@of@three\cs@e} - \edef\cs@e{\temptoksa - {{\the\temptoksa}{\the\temptoksb}\nxp\FreshRef}} - \cs@e - \csarg\xdef{\@label@key{#1}}{\the\temptoksa} - \endgroup - \Tmessage[ref]{Refreshing definition of <#1>:\@space - \xp\meaning\csn \@label@key{#1}\ecs} - \else\Wmessage{Duplicate label: <#1>}% - \advance\duplicate@labels\@ne\fi\fi} -\normaleol - -% complete expandable exploding of token lists -\def\macro@meaning#1{\xp\strip@macro@meaning\meaning#1} -\def\toks@meaning#1{\edef\cs@e{\the#1}\macro@meaning\cs@e} -\begingroup\escapechar=-1 -\xp\xp\xp\gdef\xp\xp\xp\strip@macro@meaning\xp\string - \csname macro:->\endcsname{} -\endgroup - -\NewDummy{StaleRef}\NewDummy{FreshRef} - -% Referring and Page references. -% first of all, when the .aux file is read: -% \refer@label{ref@Key}{label}{page} = -% \gdef\ref@Key{ {{label}} {{page}} } -% with extra braces for occurring fonts -% -\def\refer@label#1#2#3{\csarg\gdef{#1}{{{#2}}{{#3}}\StaleRef}} - -% then \ref[key] = \@ref\take@former[key] -% \pgref[key] = \@ref\take@latter[key] -% and \@ref\cs[key] = \expandafter\cs\ref@key -% = \cs {{label}} {{page}} -% -\def\ref {\ifnextchar(%) - {\@ref\first@of@three}{\@ref\first@of@three()}} -\def\pgref{\ifnextchar(%) - {\@ref\second@of@three}{\@ref\second@of@three()}} -\newcount\unknown@refs -\add@start@command{\unknown@refs\z@} -\def\@ref#1(#2)[#3]{% - \if\UndefinedCS{\@label@key{#3}}% - \message{Unknown #1{}{page}{}reference: <#3>}{\bf ??}% - \global\advance\unknown@refs\@ne - \else \@@ref{#1}{#2}{\@label@key{#3}}\fi} -\def\@@ref#1#2#3{\@@@ref#1{#3}% - \if\IsEmptyList{#2}\else,\penalty200\ #2\fi} -\def\@@@ref#1#2{% - \xp\xp\xp#1\csname#2\endcsname} -% for btxmac -\def\@printlabel#1{\@ref\first@of@three()[#1]} -%\@@@ref\first@of@three{\@label@key{#1}}} - -% Test for changed references -% at the end of the job -% -\def\test@refer@label#1#2#3{ - \def\cs@a{{{#2}}{{#3}}\FreshRef} - \def\cs@b{{{#2}}{{#3}}\StaleRef} - \csarg\ifx{#1}\cs@a - \else \csarg\ifx{#1}\cs@b - \else \labels@changedyes - \Tmessage[ref]{New definition for <#1>} - \fi\fi} - -% Citations. -% \cite[key] = [\ref[key]] -% \cite(string)[key] = [\ref[key], string] -% -%\def\cite{\ifnextchar(\y@cite\x@cite} -%\def\y@cite(#1)[#2]{[\ref[#2], #1]} -%\def\x@cite[#1]{[\ref[#1]]} - -% External Generic Option -% use: external:extfile ... external:stop -% stores result in \extern@x/y/z@toks in a tricky way: -% 'x' stores expandable parts, 'y' stores protectable parts. -% this is inserted in \@outerstartcommands -% -\NewTrace:ext -\newif\ifin@external -\add@generic@default{\in@externalno} -\newtoks\extern@toks \newtoks\late@extern@toks -\newtoks\build@extern@toks -\newtoks\extern@x@toks \newtoks\extern@y@toks \newtoks\extern@z@toks -\adds@generic@default{ - \extern@toks\empty@toks \late@extern@toks\empty@toks - \extern@x@toks\empty@toks\extern@y@toks\empty@toks} -\@GenericOption{external}{ - \switch {\if\EqualString{#1}} - {stop} {\external@stop{extern@toks}} - {late} {\external@stop{late@extern@toks}} - {default} {\external@start{#1}} - \endswitch} -\def\external@start#1{\b@group[external]\in@externalyes - \build@extern@toks\empty@toks - \switch@to@options@list{build@extern@toks} - \if\UndefinedCS{\file@ext@name{#1}} - \Wmessage{Unknown external file: <#1> - while defining <\@name>}\def\@add@toks##1{}% - \else \generate@extern{#1}% document: this writes the file name - \Tmessage[ext]{External definition <#1>} - \fi - \extern@x@toks\empty@stack \extern@y@toks\empty@stack - \extern@z@toks\empty@toks - \begingroup \switch@to@options@list{extern@z@toks} - } -\def\external@handle@title#1{\seen@textyes - \external@handle@expandable{#1}{\csn\@@@title{#1}\ecs}{title: <#1>}} -\def\external@handle@expandable#1#2#3{ - \extern@push@part{y}{\the\extern@z@toks} - \extern@push@part{x}{#2} - \Tmessage[ext]{External pushed #3} - \extern@z@toks\empty@toks} -\def\extern@push@part#1{\csarg{\let\xp\cs@a}{extern@#1@toks} - \xp\push@onto@cs\xp\cs@a\xp} -\def\extern@pop@n@pop{} -\def\external@before@title{\in@externalyes\seen@textno - \switch@to@options@list{e@before@toks}} -\def\in@ref@protect{\ifin@label\@add@toks{\protect}\fi} -\def\cs@in@ref@protect#1{% - \ifin@label \title@count@no@protect{#1} \fi - \ifin@external \title@count@no@protect{#1} \fi -} -\def\title@count@no@protect#1{% - \if\has@no@count@string #1Counter? - \if\has@no@title@string #1Title? - \@add@toks{\protect}\fi\fi} -\def\has@no@count@string #1Counter#2? - {00\fi\if\IsEmptyList{#2}} -\def\has@no@title@string #1Title#2? - {00\fi\if\IsEmptyList{#2}} -% wind up making an external: invert the stacks -% and append them -\def\external@stop#1{\extern@push@part{y}{\the\extern@z@toks} - \invert@csstack\extern@x@toks \invert@csstack\extern@y@toks - \xdef\cs@e{\nxp\@add@toks - {{\the\extern@x@toks}{\the\extern@y@toks}}} - \endgroup %revert to build@extern@toks - \cs@e \@add@toks{\e@extern} - \switch@to@options@list{#1} - \edef\cs@e{\nxp\@add@toks{\the\build@extern@toks}}\cs@e - \e@group[external]} -% how do we write stuff to the aux file? -% #1 is the x toks, #2 the y -\def\aux@write@external#1#2{% - \extern@x@toks{#1}\extern@y@toks{#2}% -% \let\\\relax -%\message{Expandables <\the\extern@y@toks>} -% \edef\cs@e{\extern@y@toks{#2}}\cs@e -%\message{becomes <\the\extern@y@toks>} - \length@of@csstack\extern@x@toks - \tempcounta\z@ \extern@toks\empty@toks - \loop\ifnum\tempcounta<\stack@length - \pop@cs@into\extern@z@toks\extern@y@toks - \append@cslist@to@cslist\extern@toks\extern@z@toks - \pop@cs@into\extern@z@toks\extern@x@toks - \extern@z@toks\xp\xp\xp{\the\extern@z@toks}% - \append@cslist@to@cslist\extern@toks\extern@z@toks - \advance\tempcounta\@ne\repeat - \pop@cs@into\extern@z@toks\extern@y@toks - \append@cslist@to@cslist\extern@toks\extern@z@toks - \xp\def\xp\cs@e\xp{\the\extern@toks}\edef\cs@e - {\write\aux@file{\real@meaning\cs@e}}\cs@e} -% -% Protection of expandable control sequences; -% value \nxp\protect\nxp is set during label definition and shipout -% \protect should be empty during execution -% -\def\protect{} - -%%%%%%%%%%%%%%%% External references -% define explicitly the form a reference will take -% label:start ... label:stop -% -% Maybe this can be unified with the `external' option -% -\newif\ifin@label -\newif\iflabel@defined \newtoks\@labelcoms -\add@generic@default{\@labelcoms{} \label@definedno \in@labelno} -\@GenericOption{label}{ - \if\EqualString{#1}{stop}\e@group[label] - \else \global\label@definedyes\global\has@labelyes - \b@group[label] \in@labelyes - \switch@to@options@list{@labelcoms} - \fi} - -%%%%%%%%%%%%%%%% Substitutions - -% Long substitutions -% the style designer declares the existence of a substitution -% -% \DefineSubstitution:Foo = -% \def\Foo#1\par -% -\def\DefineSubstitution:#1 - {\Tmessage[def]{Substitution being defined: #1} - \csarg\edef{#1}##1\par{\@@subdef{#1}} - \edef\cs@e{\let\CSname{if#1Exists}=\CSname{iffalse}} - \cs@e - } -\def\@@subdef#1{\let\CSname{if#1Exists}=\CSname{iftrue}% - \def\CSname{#1@text}{##1}} - -% Short substitutions -% almost the same, but to end of line instead of to \par -% -\def\DefineShortSubstitution:#1 - {\@DefineShortSubstitution{#1}} -{\noeol -\othercr -\gdef\@DefineShortSubstitution#1{ - \Tmessage[def]{Defining short substitution: #1} - {\othercr - \csarg\xdef{#1}{\noexpand\othercr \CSname{@#1}} - \csarg\xdef{@#1}##1^^M{ - \@@subdef{#1}\noexpand\normalcr}} - \global\csarg\let{ifExists#1}=\iffalse}} - - -% Substitute -% is then a command for both user and style designer. -% \Substitute:text=uppercase/lowercase is possible -% but these take more than just expansion. -% -\def\Substitute:#1 {\@substitute#1== } -\def\@substitute#1=#2= - {\if\ifempty{#2}{\csname#1@text\endcsname}% - \else\if\EqualString{#2}{uppercase}% - \uppercase\xp\xp\xp{\csname#1@text\endcsname}% - \else \lowercase\xp\xp\xp{\csname#1@text\endcsname}% - \fi - \fi}%why did this say \noesc\csname\string#1@text... ? - -{\noeol -\othercr -\gdef\variant{\bgroup\othercr \@variant} -\gdef\@variant:#1=#2^^M#3\variantstop{ - \csarg\gdef{#1}{\par\bgroup #3 \csname#2\endcsname} - \csarg\xdef{#1stop}{\CSname{#2stop}\egroup} - \egroup} -} - -% Value -% this is analogous to \Distance (in file text) -% -\def\Value:#1=#2 - {\edef\cs@e{\if\UndefinedCS{#1}\noexpand\new@count - \else \noexpand\set@value \fi - {#1}% - \if\UndefinedCS{#2}{#2}% - \else \CSname{#2}\fi} - \cs@e} - -%%%%%%%%%%%%%%%% Tests -% -% Test user command -% -\def\DefineTest:#1 - {\Tmessage[def]{Defining test: #1} - \csarg\newif{if#1} - \csarg\def{#1}:##1 {\csname #1##1\endcsname}} - -% Test generic option -% -% option test:Foo tests if \ifFoo is defined -% -% if not, \let\ifFoo=\iffalse, and -% \StyleDefinitionStop performs a test -% and warns if still undefined -% -% \let\hang@fi\@empty globally -% \def\hang@fi{\@add@toks{\fi}} is defined locally -% ==> check on unclosed test options. -% -\@GenericOption{test}{ - \switch {\if\EqualString{#1}} - {otherwise}{\hang@else} - {stop}{\hang@fi \e@group} - {default}{\b@group - \if\UndefinedCS{if#1} - \check@existence{if#1} - \edef\cs@e{\global\let\CSname{if#1}\CSname{iffalse}} - \cs@e - \fi - \hang@fi@define - \edef\cs@e{\nxp\@add@toks{\CSname{if#1}}}\cs@e - } - \endswitch} - -% The body of these macros has to be kept outside of conditionals -% -\def\hang@else{\@add@toks{\else}} -\def\hang@fi@define{\def\hang@fi{\@add@toks{\fi}}} -\add@generic@default{\let\hang@fi\@empty} -\add@generic@stop@default - {\ifx\hang@fi\@empty\else - \Emessage{There are tests open in \@name}\fi} - -% voorgegeven tests uit TOOLS -\newif\ifVoortgang -\def\Voortgang:#1 {\csname Voortgang#1\endcsname} -\DefineTest:Diagnose - -\endinput - -% 92/11/26 ifcustom@label and attendant handling -% 92/12/05 \@label@key \ No newline at end of file diff --git a/macros/lollipop/tex/lollipop-document.tex b/macros/lollipop/tex/lollipop-document.tex deleted file mode 100644 index e643cfcab0..0000000000 --- a/macros/lollipop/tex/lollipop-document.tex +++ /dev/null @@ -1,381 +0,0 @@ -% lollipop-document.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% D O C U M E N T S T R U C T U R E %%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\DefineTest:LocalReferences -\NewTrace:doc - -% Start -% open external files and execute default commands -% -\newif\if@started -\def\Start{\@startedyes \the\start@commands - \ifBasicIndentIsSet\else - \Distance:basicindent=parindent \fi - \set@level@indent} -\def\StartCommand#1{\adds@start@command{#1}} - -% End -% 1/ close any open groups and give warnings -% 2/ \vfil\eject the last page -% 3/ \immediate\close the .auxs file -% 4/ load the .aux for writing the external files -% and testing changed references -% -\let\@end=\end -\def\Stop{\Close@all@groups - \the\stop@commands - \vfil \penalty\slotpenalty - \ifnum\unknown@refs>\z@ - \message{-- There \ifnum\unknown@refs=\@ne was an \else - were \number\unknown@refs\@space\fi - unresolved reference\ifnum\unknown@refs>\@ne s\fi.}\fi - \ifnum\duplicate@labels>\z@ - \message{-- There \ifnum\duplicate@labels=\@ne was an\else - were \number\duplicate@labels\@space\fi - duplicate label\ifnum\duplicate@labels>\@ne s\fi.}\fi - \immediate@close@aux@file{aux} - \ifWriteExtern \final@load@aux \fi - \@end} -\def\StopCommand#1{\adds@stop@command{#1}} - -%%%%%%%%%%%% input other files -\newwrite\aux@file \newwrite\incaux@file -\let\ifWriteaux\iftrue -\def\aux@name{aux} \def\aux@extension{aux} -\newif\if@auxopen \newif\if@incauxopen - -% the following line is in output.tex -%\add@mark@item{first@page} - -% Input files are in a group, -% they also set the IsFirstPage test -\def\InputFile:#1 {\begingroup \def\input@name{#1} - \Tmessage[doc]{Input File: #1} - \refresh@mark@item{first@page}{yes} - \refresh@mark@item{first@page}{no} - \ifLocalReferences - \get@aux@file{#1}{incaux}{aux}\fi - \input@file{#1}% - \immediate@close@aux@file{incaux} - \Close@all@groups - \def\test@input@name{#1}\ifx\input@name\test@input@name\else - \Wmessage{Input `#1' overbalanced}\fi - \endgroup} -\def\xInputFile:#1 {\input@file{#1}} -\def\input@file#1{\input #1 \vfil\penalty\slotpenalty\par} - -\let\input@name=\@empty -\let\test@input@name=\@empty - -% Input of Lollipop files -% -\def\InputLollipop:#1 {\makeatletter\input#1\relax\makeatother} - -%%%%%%%%%%%%%%%% External Communication - -% List of files -% not including the .aux file -% -\newtoks\ext@files@list \ext@files@list={} - -% I don't want to remember my own naming conventions. -% -\def\file@ext@name#1{#1@extension} -\def\cs@file@ext@name#1{\csname#1@extension\endcsname} - -% Define External File -% #1 is name known to style definition, -% #2#3#4 is three-letter file extension in -% file system -% -% correspondence: \#1@extension = #2#3#4, \#2#3#4@name = #1 -% -% user test \Write#1 to prevent overwriting -% internal test \if@#2#3#4open -% \newwrite\#2#3#4@file -% -\def\DefineExternalFile:#1=#2#3#4#5 - {\Tmessage[doc]{Define external file `#1' (ext=#2#3#4)} - \csarg\newwrite{#2#3#4@file} - \append@to@list{ext@files@list}{\\#2#3#4; } - \csarg\newtoks{#1@local@defs}%constructed in \ExternalItem - \csarg\gdef{\file@ext@name{#1}}{#2#3#4} - \csarg\gdef{#2#3#4@name}{#1} - \DefineTest:{Write#1} - \global\csname Write#1yes\endcsname - \csarg\newif{if@#2#3#4open} - } - -%%%% Load - -% Initial load of the auxiliary file -% -\def\initial@load@aux{%\begingroup%why this group? - \disable@external@write@command - \Tmessage[doc]{Load initial aux file} - \get@aux@file{\jobname}{aux}{aux} - %\endgroup - \ifWriteExtern - \open@ext@file@for@output{\jobname}{aux}{aux} - \fi} -% A test to determine all-or-nothing writing of .aux file. -% below there is a redefinition for bibTeX -\DefineTest:WriteExtern \WriteExtern:yes -\ifini{\add@start@command{\initial@load@aux}} - -% Load of external file -% -\def\LoadExternalFile:#1 - {\if\UndefinedCS{\file@ext@name{#1}} - \Wmessage{LoadExternalFile: unknown external file `#1'} - \else \begingroup - \Tmessage[doc]{Loading external file: #1} - \WriteExtern:no %prevent trouble with undefined entries - \csarg\the{#1@local@defs} - \get@aux@file{\jobname}{\cs@file@ext@name{#1}} - {\cs@file@ext@name{#1}} - \endgroup - \fi} - -% Basic load -% -\def\get@aux@file#1#2#3{ - \csarg\openin{#2@file} #1.#3 - \csarg\ifeof{#2@file} - \message{No aux file `\csname#2@name\endcsname'} - \else \csarg\closein{#2@file} - \Tmessage[ref]{Inputting aux file <#2>: <#1.#3>} - \Tmessage[ext]{Inputting aux file <#2>: <#1.#3>} - \makeatletter \input #1.#3 \makeatother - \fi} - -% Open for output: -% initially used for the .aux file -% at the final load of the .aux file used to generate .toc -% et cetera -% -\def\open@ext@file@for@output#1#2#3{ - \csname ifWrite\csname #2@name\endcsname\endcsname - \immediate\openout\csname#2@file\endcsname=#1.#3 - \global\csname @#2openyes\endcsname - \immediate\write\csname#2@file\endcsname{\relax} - \Tmessage[doc]{File '#2' (#3) open for output} - \Tmessage[ext]{File '#2' (#3) open for output} - \else - \global\csname @#2openno\endcsname - \Tmessage[doc]{File '#2' (#3) not open for output} - \Tmessage[ext]{File '#2' (#3) not open for output} - \fi} -\def\open@external@files@for@output{ - \def\protect{\noexpand\protect\noexpand} - \def\\##1;{##1}\Tmessage[doc]{External files: \the\ext@files@list} - \def\\##1;{\open@ext@file@for@output{\jobname}{##1}{##1}} - \the\ext@files@list} - -\newif\iflabels@changed -\def\final@load@aux{\labels@changedno - \def\refer@label##1##2##3{\test@refer@label{##1}{##2}{##3}} - \open@external@files@for@output - \install@external@write@command - \Tmessage[doc]{Load aux for label testing and ext file generation} - \Tmessage[ext]{Load aux for label testing and ext file generation} - \makeatletter \input \jobname.aux - \end@write@extern - \iflabels@changed \Wmessage{Labels have changed. Rerun!} \fi - \makeatother} -\def\end@write@extern{ - \def\\##1;{\immediate@close@aux@file{##1}} - \the\ext@files@list} -\def\close@aux@file #1{\csname if@#1open\endcsname - \write\csname#1@file\endcsname{\relax} - \closeout\csname#1@file\endcsname - \Tmessage[doc]{File '#1' closed}\fi} -\def\immediate@close@aux@file#1{\csname if@#1open\endcsname - \immediate\write\csname#1@file\endcsname{\relax} - \immediate\closeout\csname#1@file\endcsname - \Tmessage[doc]{File '#1' immediately closed}\fi} - - -% Generate the extern call in the style definition -% this one is part of 'external:<file name>' -% -\def\generate@extern#1{\edef\cs@e - {\nxp\@add@toks{\nxp\@extern - {\CSname{\file@ext@name{#1}}} - {\@name} - {\ifhas@counter \CSname{\@name Counter}\fi} -%\counter@@repr{\@name} -%{\nxp\the\counter@@name{\@name}}\fi}% - }}\cs@e} - -% call: -% \@extern{extension}{object}{counter}\the\title@toks\e@extern -% to aux: -% \write@to@external{extension}{object}{counter}{page}{tekst}\ew@extern -% to .extension file: -% \object{counter}{page}tekst\par -% where \object is locally defined in the 'extension' file. -% -\def\ToExternalFile:#1=#2 - {\edef\cs@e{\nxp\x@extern{\cs@file@ext@name{#1}}}% - \cs@e{anon}{}{\\{#2}\\{}}{\\{}\\{}\\{}}\e@extern} -\def\@extern{\ifWriteExtern - \xp\x@extern \else \xp\skip@extern \fi} -\def\skip@extern#1#2#3\e@extern - {\Tmessage[ext]{Skipped `#2' for `#1'}} -\newtoks\ext@text@toks -\newtoks\ext@labl@toks -\newtoks\ext@page@toks -\begingroup\noeol\catcode`\?\catcode`\%\catcode`\%=12 -\gdef\x@extern#1#2#3#4#5\e@extern - {\begingroup\normalesc - \def\label[##1]{} - \def\protect{\noexpand\protect\noexpand} - \def\cprotect{\xp\string} - \Tmessage[ext]{Write to aux `#2' for `\csname#1@name\endcsname'} - \edef\cs@e{\write\aux@file{\string\write@to@external - {#1}{#2}{#3}}}\cs@e - \write\aux@file{ - {\counter@@repr{Page}{\csarg\number{\counter@name{Page}}}}%} - \aux@write@external{#4}{#5} - \write\aux@file{\string\ew@extern} - \endgroup} -\normaleol\endgroup - -% string a word, delimited by a space, -% first see whether it is a group, recognized by the fact -% that there is another space in it. -\def\string@um@up#1 {\string@space@group#1 \>\@bean} -\def\string@space@group#1 #2#3\@bean - {\ifx#2\> \string@word#1\@roy - \else \string{\string@um@up#1 #2#3 \string}% - \fi \@space\string@um@up} -% a word is delimited by \@roy; if the word is \> then this -% is the last word, and we should remove -% a trailing \@roy plus the \@space\string@um@up tokens after the call, -% but also parts of the conditional after the call have to be removed: -% \expandafter \take@three \expandafter \@roy \else .. \fi \@space\string@.. -% -% sick. very sick. -% -\def\string@word#1{\ifx#1\>\xp\expandafter\xp\take@three\xp\expandafter - \else \ifx#1\@roy - \else \string#1\ifcat\nxp#1\relax\@space\fi - \xp\xp\xp\string@word - \fi \fi} - -% an attempt to string up a title. -% this covers for the case where there are groups, -% but it is still quite wrong if \else or so is in the title -% -\NewDummy{@roy}\NewDummy{@bean}\NewDummy{@rope}\NewDummy{@bear} -\NewDummy{@Rope} -% Enable/Disable communication to external files -% former during initial load of .aux file, -% latter during final load of .aux file -% -\def\disable@external@write@command - {\def\write@to@external##1\ew@extern{}} -\disable@external@write@command %do this initially just to be sure -\def\install@external@write@command %grouping ok? - {\def\write@to@external##1##2##3##4##5\ew@extern - {\csname if@##1open\endcsname - \Tmessage[ext]{Write `##2' - to `\csname##1@name\endcsname'} - \ext@labl@toks{##3} - \ext@page@toks{##4} - \ext@text@toks{##5} - \immediate\write\csname##1@file\endcsname - {\CSname{##2}{\the\ext@labl@toks}% - {\the\ext@page@toks}\the\ext@text@toks - \string\par} - \else - \Tmessage[ext]{Skipped `##2' - for `\csname##1@name\endcsname'} - \fi}} - -%%%%%%%%%%%%% BibTeX interface -% we interface ourselves to the BtxMac macros -% of Karl Berry and Oren Patashnik, version 0.99h - -% prevent btxmac from rewriting *our* auxfile -% if btxmac has not been loaded this is just \relax -\adds@start@command{\csn @auxfiledonetrue\ecs} - -% alternate name for the aux write stream -\adds@start@command{\let\@auxfile\aux@file} - -% disable / alter Btxmac definitions -\def\bbl@hook{\default@everypar} -\adds@start@command{\let\bblhook\bbl@hook} - -% switch off btxmac if need be -\xp\def\xp\WriteExternno\xp - {\WriteExternno \let\noauxfile\@space} - -% if you want to read an aux file but not load btxmac: -\let\bibstyle\take@one \let\bibdata\take@one -\let\citation\take@one \let\nocite\take@one -% similarly the source: -\let\bibliography\take@one \let\bibliographystyle\take@one - -% user defined bibliography -\def\DefineBBL{\let\bbl@hook\BBL@hook \DefineList:BBL } -\def\BBL@hook - {\def\begin##1##2{\default@everypar\BBL}\def\end##1{\>}% - %intercept \begin{thebibliography}{width} - \def\bibitem{\ifNextChar[%] - \bbl@print@item\bbl@item} - \def\biblabelprint##1{} - } -\def\bbl@item#1{\item[#1]} -\def\bbl@print@item[#1]#2{\item<#1>[#2]} - -% refer to a bib item -\def\bibref[#1]{\cite{#1}}%{[\ref[#1]]\nocite{#1}} - -\def\one@bib@citation#1\@@{% this is what \bib@citation will become - \if@notfirstcitation - \printbetweencitations - \fi - % - \expandafter \ifx \csname\@citelabel{#1}\endcsname \relax - \if@citewarning - \message{\@linenumber Undefined citation `#1'.}% - \fi - % Give it a dummy definition: - \expandafter\gdef\csname\@citelabel{#1}\endcsname{% - {\tt \nobreak\hskip0pt#1\nobreak\hskip0pt}}% - \fi - \@printlabel{#1}% - \@notfirstcitationtrue -} -\def\@c@l#1{@empty} -\adds@start@command{\let\@onecitation\one@bib@citation - \let\@citelabel\@c@l} - -\endinput - -% 92/11/18 \Start extended with start@commands and \basicindent -% 92/11/20 \StopCommand added -% 92/11/21 groups removed from initial loading aux (twice) -% 92/11/26 BibTeX interface \ No newline at end of file diff --git a/macros/lollipop/tex/lollipop-float.tex b/macros/lollipop/tex/lollipop-float.tex deleted file mode 100644 index 6f493748f9..0000000000 --- a/macros/lollipop/tex/lollipop-float.tex +++ /dev/null @@ -1,51 +0,0 @@ -% lollipop-floats.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -% these macros handle inserts for the Lollipop format -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%% Floating insertions %%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\@GenericConstruct{Insertion} - -\NewTrace:ins - -\@InsertionOption{location}{ - \switch {\if\EqualString{#1}} - {top} {} - {bot} {} - {mid} {} - {default} {\Wmessage{Unknown qualifier: <location:#1>}} - \endswitch} -\newif\ifsplit@insert -\add@Insertion@default{\split@insertno} -\@InsertionOption{split}{ - \switch {\if\EqualString{#1}} - {no} {\split@insertno} - {default} {\split@insertyes} - \endswitch} - -\def\@DefineInsertion{ - \csarg\newinsert{\@name @ins} - \csarg\edef{\@name}{\insert\CSname{\@name @ins} - \ifsplit@insert\else\vbox\fi % make this a box if no split allowed - \bgroup \the\before@coms - } - \@DefineStopCommand{\the\after@coms \egroup} - } -\endinput diff --git a/macros/lollipop/tex/lollipop-fontdefs.tex b/macros/lollipop/tex/lollipop-fontdefs.tex deleted file mode 100644 index 1d10a3d411..0000000000 --- a/macros/lollipop/tex/lollipop-fontdefs.tex +++ /dev/null @@ -1,42 +0,0 @@ -% lollipop-fontdefs.tex copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%\noeol -% good (?) old Computer Modern -\DefineTypeface{ComputerModern}{cm}% - {roman:r; slant:sl; italic:ti; mitalic:mi; bold:bx; typewriter:tt; - default:r;}% - {<6:5; <7:6; <8:7; <9:8; <10:9; <11:10; <12:10 \sc@led\magstephalf; - <14:10 \sc@led\magstep1; <16:10 \sc@led\magstep2; - <20:10 \sc@led\magstep3; >19:10 \sc@led\magstep4; - default:10;}% - [\ifStyle:italic \ifnum\Fsize<7 ti7\fi\fi - \ifStyle:typewriter \ifnum\Fsize<8 tt8\fi\fi] -\DefineTypeface{ComputerSans}{cmss}% - {roman:; italic:i; mitalic:i; bold:bx; demiboldcondensed:dc; - default:;}% - {<9:8; <10:9; <11:10; <12:10 \sc@led\magstephalf; - <14:10 \sc@led\magstep1; <16:10 \sc@led\magstep2; - <20:10 \sc@led\magstep3; >19:10 \sc@led\magstep4; - default:10;}% - [\ifStyle:bold \ifnum\Fsize<10 bx10\fi\fi] - - -\endinput - -% 2016/04/13 Removed \DefineTypeface definitions for fonts -% not in TeXLive \ No newline at end of file diff --git a/macros/lollipop/tex/lollipop-fonts.tex b/macros/lollipop/tex/lollipop-fonts.tex deleted file mode 100644 index 3b9a72c19f..0000000000 --- a/macros/lollipop/tex/lollipop-fonts.tex +++ /dev/null @@ -1,416 +0,0 @@ -% lollipop-fonts.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%% Font selection macros %%%%%%%%%%% - -%%%% -%%%% Text Fonts -%%%% - -\NewTrace:font - -% User commands to change the three parameters - -% \Typeface:FACE -% \F@name <-- FACE -% -\def\Typeface:#1 - {\if\UndefinedCS{#1@code}\Wmessage{Undefined typeface: `#1'}\fi - \def\F@name{#1}} -\let\TypeFace\Typeface - -% \Pointsize:NN -% \Fsize <-- NN -% compute script/sscript sizes -% if necessary install math fonts -% -\def\PointSize:#1 {\tempcounta=\@ww{#1}% - \edef\Fsize{\the\tempcounta}%this line is used in \set@mathfont - \xp\@setsizes\xp{\Fsize}% - \xp\pointsize@baselineskip\xp{\Fsize}} -\let\Pointsize=\PointSize - -% \Style:STYLE -% \F@style <-- STYLE -% load actual font -% put font in \textfont0 -% install value of \@space -% -\def\Style:#1 {\def\F@style{#1}% - \ifmmode\SetFamily\else\SetFont\fi} -\def\ifStyle:#1 {\xp\if\xp\EqualStringX\xp{\F@style}{#1}} - -% and together this makes: -% -\def\current@font{\F@name\F@style\romannumeral\Fsize} - - -% abbreviations for common styles -% -\def\tty{\Style:typewriter } -\def\rm{\Style:roman }\def\bf{\Style:bold }\def\it{\Style:italic } -\def\sl{\Style:italic } - -% Command for actual loading is also user command. -% If this is in a style definition, fill the math families. -% -\def\SetFont{\maybe@load@font - \if@started\else\store@main@font\fi - \ifx\cs@a\relax %error condition if load not succeeded - \else \csname\cs@a\endcsname - \@@space=.5em\relax - \fi} -\def\maybe@load@font{\edef\cs@a{\current@font}% - \if\UndefinedCS{\cs@a}\load@font\fi} -\def\load@font{\def@f@ext@name - \Tmessage[font]{Loading font (text): \cs@a=`\f@ext@name'}% - \edef\cs@e{\global\font\CSname{\cs@a}=\f@ext@name\relax}\cs@e - } -\def\def@f@ext@name - {\edef\f@ext@name{\ext@combo}% - \edef\f@ext@name{\ext@name - \ifx\f@ext@name\@empty \ext@style\ext@size - \else \f@ext@name \fi}} - -\def\face@tag{\F@name @code} -\def\cs@face@tag{\csname\face@tag\endcsname} - -% Find relative sizes of the current size -% and install math fonts -% -\def\@ps@rls#1{ps@rls\romannumeral#1} -\def\PointSizeScriptSizes:#1=#2,#3,#4 - {\csarg\def{\@ps@rls#1}{{#2}{#3}{#4}}} -\def\@setsizes#1{\if\UndefinedCS{\@ps@rls{#1}}\tempcounta#1\relax - \tempcountb\tempcounta \multiply\tempcountb7 \divide\tempcountb10 - \tempcountc\tempcounta \divide\tempcountc2 - \edef\@@setsizes - {{\the\tempcounta}{\the\tempcountb}{\the\tempcountc}}% - \else - \edef\@@setsizes{\csname\@ps@rls{#1}\endcsname}% - \fi - \expandafter\@setsize\@@setsizes} -\PointSizeScriptSizes:0=0,0,0 -\PointSizeScriptSizes:1=1,1,1 -\PointSizeScriptSizes:2=2,2,2 -\PointSizeScriptSizes:3=2,3,3 -\PointSizeScriptSizes:4=4,4,4 -\PointSizeScriptSizes:5=5,5,5 -\PointSizeScriptSizes:6=6,5,5 -\PointSizeScriptSizes:7=7,6,5 -\PointSizeScriptSizes:8=8,6,5 -\PointSizeScriptSizes:9=9,7,5 -\PointSizeScriptSizes:10=10,7,5 -\PointSizeScriptSizes:11=11,8,6 -\PointSizeScriptSizes:12=12,9,7 - -% Fill in a math font family corresponding to the -% surrounding size -\def\SetFamily{\ifface@size@changed\begingroup -%\tracingmacros=2 \tracingcommands\tracingmacros - \edef\tmp@sizes{\csname\@ps@rls{\Fsize}\endcsname} - \edef\Fsize{\xp\first@of@three\tmp@sizes}\maybe@load@font - \edef\cs@e{\global\textfont - \CSname{\F@style @fam}\CSname{\cs@a}}\cs@e - \edef\Fsize{\xp\second@of@three\tmp@sizes}\maybe@load@font - \edef\cs@e{\global\scriptfont - \CSname{\F@style @fam}\CSname{\cs@a}}\cs@e - \edef\Fsize{\xp\third@of@three\tmp@sizes}\maybe@load@font - \edef\cs@e{\global\scriptscriptfont - \CSname{\F@style @fam}\CSname{\cs@a}}\cs@e - \endgroup\fi - \csarg\fam{\F@style @fam}} -\newfam\roman@fam \def\roman@face@size{{foo}{bar}} -\newfam\italic@fam \def\italic@face@size{{foo}{bar}} -\newfam\bold@fam \def\bold@face@size{{foo}{bar}} -\newfam\tty@fam \def\tty@face@size{{foo}{bar}} -\def\ifface@size@changed{\iftrue} -\def\temporarily@out@of@order - {\edef\cs@a{\csn\F@style @face@size\ecs} - \if\EqualString{\F@name}{\xp\take@former\cs@a} - \if\EqualString{\Fsize}{\xp\take@latter\cs@a} - \csn iffalse\xp\xp\xp\ecs - \else \Tmessage[font]{Loading family <\F@style>} - \csarg\edef{\F@style @face@size}% - {{\F@name}{\Fsize}} - \csn iftrue\xp\xp\xp\ecs\fi - \else \Tmessage[font]{Loading family <\F@style>} - \csarg\edef{\F@style @face@size}% - {{\F@name}{\Fsize}} - \csn iftrue\xp\ecs \fi} - -% Define relative sizes, -% and install math fonts, -% loading if necessary -% -\def\@setsize#1#2#3{% - \def\normal{\def\Fsize{#1}\SetFont}\relax - \def\script{\def\Fsize{#2}\SetFont}\relax - \def\scriptscript{\def\Fsize{#3}\SetFont}\relax - \def\style@sizes{#1,#2,#3 }} -\newif\ifloading@math -\def\math@setsize#1,#2,#3 {% - \SaveFont \loading@mathyes - \set@mathfont{#1}\textfont - \set@mathfont{#2}\scriptfont - \set@mathfont{#3}\scriptscriptfont - \RestoreFont \loading@mathno - } - -% these lines are in 'text.tex' -%\everymath{\the\every@everymath} -%\everydisplay{\the\every@everymath} -%\every@everymath{\high@fam\count18\relax \xp\math@setsize\style@sizes} - -% Strut: .8\baselineskip+.2\baselineskip -% note: struts should be locally defined! -% -\def\make@strut{\tempdima=.8\baselineskip \tempdimb=.2\baselineskip - \edef\strut{\vrule height \the\tempdima width \z@ - depth \the\tempdimb \relax}} - -% Main Font -% is the font that's current at the end of the style definition -% this is switched to in the output routine (head/footline!) -% and the user can use it too. -% this does not take properly care of baselineskip and strut. -% nor math fonts, come to think of it. -% -\def\store@main@font - {\edef\MainFace{\def\nxp\F@name{\F@name}} - \SaveFont \let\MainFont\RestoreFont} -\let\MainFont\relax %cs is used in output@setup, which may be called - %from lollipop.tex - -% Save and restore fonts -% -\def\SaveFont - {\edef\RestoreFont{\def\nxp\F@name{\F@name}% - \def\nxp\Fsize{\Fsize}% - \def\nxp\F@style{\F@style}% - \nxp\SetFont - \baselineskip=\the\baselineskip\relax - } - } -\def\RestoreFont{\Wmessage{No `Savefont' has been given}} - -% Defined Fonts -% rather limited, because not upscalable. -% -\def\DefineFont:#1=#2,#3,#4 {\begingroup - \Typeface:#2 \PointSize:#3 \Style:#4 - \edef\cs@e{\global\let\CSname{#1}=\CSname{\current@font}}\cs@e - \endgroup} - - -% Increase / decrease point size -% -\def\PointSizeLarger{\if\NextChar[%] - \ps@plus{\ps@plus[1]}} -\def\PointSizeSmaller{\if\NextChar[%] - \ps@minus{\ps@minus[1]}} -\def\ps@plus[#1]{\let\save@Fsize\Fsize - \tempcounta\Fsize\relax \advance\tempcounta#1\relax - \edef\Fsize{\the\tempcounta}\SetFont - \let\Fsize\save@Fsize} -\def\ps@minus[{\ps@plus[-%] - }%] - -% Baselineskip -% -\def\BaselineSkip:#1 {\baselineskip\@ww{#1}\make@strut} -\def\@ps@bls#1{ps@bls\romannumeral#1} -\def\@@ps@bls#1{\tempcounta#1\relax\baselineskip\tempcounta pt - \baselineskip\bls@ps@ratio\baselineskip\relax} -\def\BaselineSkipPointSizeRatio:#1 {\def\bls@ps@ratio{#1}} -\BaselineSkipPointSizeRatio:1.2 -\def\PointSizeBaselineSkip:#1 - {\edef\cs@e{\nxp\pointsize@baselineskip{\w@w{#1}}}\cs@e}%nxp? -\def\pointsize@baselineskip#1{%also used in \PointSize - \if\UndefinedCS{\@ps@bls{#1}}\@@ps@bls{#1}% - \else \baselineskip\csname \@ps@bls{#1}\endcsname \fi - \make@strut} -\def\SetPointSizeBaselineSkip:#1=#2 - {\edef\cs@e{\w@w{#1}}% - \csarg\edef{\@ps@bls\cs@e}{\w@w{#2}}} - -\def\exblssizes#1{\ifcase#1\z@ \or \z@ \or \z@ \or \z@ \or \z@ - \or 6.1pt %5 - \or 7.3pt %6 - \or 8.5pt %7 - \or 9.7pt %8 - \or 11pt %9 - \or 12pt %10 - \or 13pt %11 - \or 14.5pt %12 - \or 15.6pt %13 - \or 16.8pt %14 - \or 18pt %15 - \or 19.2pt %16 - \or 20.4pt %17 - \or 21.6pt %18 - \or 22.8pt %19 - \or 24pt %20 - \else \ifnum#1=24 28pt \else - \ifnum#1=30 36pt \else - \ifnum#1=32 38pt \else - \ifnum#1=48 56pt \else - \z@ \Emessage{Unknown pointsize: #1}\fi\fi\fi\fi - \fi \normalbaselineskip\baselineskip} - -%%%% Math Fonts -% Math fonts are loaded through the \everymath and \everydisplay. -% This means that they are undefined outside math. -% Therefore, any load during the style definition is global. -% -% Symbol and extension fonts don't change with type -% Control sequences \m@.. are \let to 0 or 1 to indicate that -% math at a certain size has been loaded - -% The ten point extension font is special because it is used -% for all smaller sizes -\font\exx=cmex10 - -% Size to external name conversion for math fonts -\def\mi@size#1{\ifcase#1 \or \or \or \or \or 5\or 6\or 7\or 8\or - 9\or 10\or 10 \sc@led \magstephalf \or 10 \sc@led \magstep1\or - \or 10 \sc@led \magstep2\or \or 10 \sc@led \magstep3\or - \or 10 \sc@led \magstep3\or \or 10 \sc@led \magstep4\fi} -\let\sy@size=\mi@size \let\cm@size=\mi@size -\def\ex@size#1{\ifnum#1<10 10 \else\mi@size{#1}\fi} - - -% For a size, test if it has been loaded yet, if not do; -% then install as given style -% -\def\set@mathfont#1#2%% #1=size #2=\text/script/scriptscript style - {\if\UndefinedCS{m@\romannumeral#1}\begingroup - \Tmessage[font]{Loading math style \string#2 at #1pt}%\globaldefs\@ne - \load@mathfammember{cm}{MathIT}{mi}{#1}\mi@size{'177}\relax - \load@mathfammember{cm}{MathSY}{sy}{#1}\sy@size{'060}\relax - \load@mathfammember{cm}{MathRM} {r}{#1}\cm@size{-1}\relax - \ifnum#1>10 \load@mathfammember{cm}{MathEX}{ex}{#1}\ex@size{-1}\relax - \else \global\csarg\let{MathEX\romannumeral#1}\exx - \fi - \global\csarg\let{m@\romannumeral#1}1\relax - \endgroup\fi - \if\UndefinedCS{\F@name VMI\romannumeral#1}\begingroup - \def\Fsize{#1}\def\F@style{mitalic}% - \load@mathfammember{\cs@face@tag} - {\F@name VMI}{\ext@style}{#1} - {\ext@size\take@one}{-1}\relax - \endgroup\fi - \def\Fsize{#1}\SetFont #20\the\font - #21 \csname MathIT\romannumeral#1\endcsname - #22 \csname MathSY\romannumeral#1\endcsname - #23 \csname MathEX\romannumeral#1\endcsname - #2\Kgriek \csname MathRM\romannumeral#1\endcsname - #2\VMIfam \csname \F@name VMI\romannumeral#1\endcsname} -\def\load@mathfammember - #1#2#3#4#5#6% - %% #1=root of external name #2=internal tag - %% #3=external tag #4=size #5=size convertor #6=skew character - {\Tmessage[font]{Loading font (math) - \csname#2\romannumeral#4\endcsname=#1#3#5{#4}}% - \global\xp\font\csname#2\romannumeral#4\endcsname= - #1#3#5{#4}\relax - \global\xp\skewchar\csname#2\romannumeral#4\endcsname=#6\relax - } - -% Allocate a family for cmr, which has Greek capitals -% -\storecat" -\ifini{\newfam\Kgriek} -\mathchardef\Gamma="0\hexdigit\Kgriek 00 -\mathchardef\Delta="0\hexdigit\Kgriek 01 -\mathchardef\Theta="0\hexdigit\Kgriek 02 -\mathchardef\Lambda="0\hexdigit\Kgriek 03 -\mathchardef\Xi="0\hexdigit\Kgriek 04 -\mathchardef\Pi="0\hexdigit\Kgriek 05 -\mathchardef\Sigma="0\hexdigit\Kgriek 06 -\mathchardef\Upsilon="0\hexdigit\Kgriek 07 -\mathchardef\Phi="0\hexdigit\Kgriek 08 -\mathchardef\Psi="0\hexdigit\Kgriek 09 -\mathchardef\Omega="0\hexdigit\Kgriek 0A - -% Math italic variables have to be from the current typeface -% maybe this should be switchable -% -\def\loop@redef@until#1{ -\loop \mathcode\tempcountb\tempcountc - \advance\tempcountb\@ne - \advance\tempcountc\@ne - \ifnum\tempcountb>#1\relax\else \repeat} -\ifini{ -\newfam\VMIfam -\tempcounta=-"100 \advance\tempcounta"\hexdigit\VMIfam00 -\tempcountb=`a \tempcountc=\mathcode`a -\advance\tempcountc\tempcounta -\loop@redef@until{`z} -\tempcountb=`A \tempcountc=\mathcode`A -\advance\tempcountc\tempcounta -\loop@redef@until{`Z} -} - -\restorecat" -\def\cal{\fam2} - -% Typewriter is a bit of a problem -% - \font\ttix=cmtt9 - \font\ttx=cmtt10 \font\ttxi=cmtt10 \sc@led \magstephalf - \font\ttxii=cmtt10 \sc@led \magstep1 - \font\ttxiv=cmtt10 \sc@led \magstep2 - \font\ttxvii=cmtt10 \sc@led \magstep3 - \font\ttxx=cmtt10 \sc@led \magstep4 - -\def\tt{\Typeface:ComputerModern \Style:typewriter } -\def\terugstreep{{\tt \char`\\}} - -% Typeface Definition -% \DefineTypeface{Naam}{rump}{style:exts}{size:exts}{combo:exts} -% after this \Typeface:Naam can be used -% the rump and the extension construct the external file names -% -\def\DefineTypeface#1#2#3#4{\csarg\def{#1@code}{#2} - \csarg\def{#1@styles}{#3 } - \csarg\def{#1@sizes}{#4 } - \if\NextChar[%] - {\DefineTypeface@combos{#1}}{\DefineTypeface@combos{#1}[]}} -\def\DefineTypeface@combos#1[#2]{\csarg\def{#1@combos}{#2}} - -\def\style@selector{\mswitch \xp\if\xp\EqualStringX\xp{\F@style} in: } -\def\a@style@selector#1{\mswitch \xp\if\xp\EqualStringX\xp{#1} in: } -\def\size@selector{\fswitch {\ifnum\Fsize} in: } -\def\a@size@selector#1{\fswitch {\ifnum#1} in: } - -\def\ext@combo{\csname\F@name @combos\endcsname} -\def\ext@style{\xp\xp\xp\style@selector - \csname\F@name @styles\endcsname\endswitch} -\def\ext@size {\xp\xp\xp\size@selector - \csname\F@name @sizes\endcsname\endswitch} -\def\ext@name{\csname\F@name @code\endcsname} - -%\noeol -\endinput - -% 2014/04/16 defined \PointSizeScriptSizes:12 -% 92/11/05 math family setting -% 93/07/03 removed \bold, \italic etc because of change in tools -% 93/07/24 F@size -> Fsize, fontdefs file split off \ No newline at end of file diff --git a/macros/lollipop/tex/lollipop-heading.tex b/macros/lollipop/tex/lollipop-heading.tex deleted file mode 100644 index 02f0a23596..0000000000 --- a/macros/lollipop/tex/lollipop-heading.tex +++ /dev/null @@ -1,49 +0,0 @@ -% lollipop-heading.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%% H E A D I N G S %%%%%%%%%%%% -\@GenericConstruct{Heading} - -\newif\if@headed -\add@generic@default{\add@after@command{\@headedno}} -\add@Heading@default{\add@after@command{\@headedyes}} - -\add@Heading@default{\def\@afterpenalty{\penalty\@M} - \default@break@afterno} -\add@Heading@default{\has@marksyes} - -\def\@DefineHeading{ - \@DefineStopCommand{\relax} - \csarg\edef{\@name}% - {\@gen@open % this contains: \let\CSname{\@name Title}\nxp\tmp@title - \the\@main@options@list - \@gen@close} - } - -\@HeadingOption{TwoLines}{\switch {\if\EqualString{#1}} - {yes} {\add@after@command{\next@paragraph{\clubpenalty\M@ - \next@paragraph{\global\clubpenalty\default@clubpenalty}}}} - {no} {\add@after@command{\clubpenalty\default@clubpenalty}} - {default} {\edef\cs@e{\nxp\add@after@command{\nxp\next@paragraph - {\clubpenalty\@w@w{#1}\relax\nxp\next@paragraph - {\global\clubpenalty\default@clubpenalty}}}} - \cs@e} - \endswitch} - -\endinput \ No newline at end of file diff --git a/macros/lollipop/tex/lollipop-lists.tex b/macros/lollipop/tex/lollipop-lists.tex deleted file mode 100644 index 578610f2c6..0000000000 --- a/macros/lollipop/tex/lollipop-lists.tex +++ /dev/null @@ -1,362 +0,0 @@ -% lollipop-lists.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%% L I S T S - - -\@GenericConstruct{List} - -\newif\if@initem \@initemyes \newif\if@alitem -\newbox\@labelbox - -\def\item{\Emessage{Item command outside list}} - -% Breakpoints around a list -% -% first redefine generic defaults: -% try not to break before, maybe not after, -% -\add@List@default{\def\@beforepenalty{\penalty1000 }} -\add@List@default{\def\@afterpenalty{\penalty200 }} - -% between items is okay -% -\add@List@default{\def\@betweenpenalty{\penalty-50 }} -\@ListOption{breakbetween}{ - \switch {\if\EqualString{#1}} - {no} {\def\@betweenpenalty{\penalty\@M}} - {yes} {\def\@betweenpenalty{\CSname{\h@or@v fil}\penalty-\@M}} - {0} {\def\@betweenpenalty{}} - {default} {\edef\cs@e{\def\nxp\@betweenpenalty{\penalty\@w@w{#1}\relax}} - \cs@e} - \endswitch - } - -\newtoks\indent@depth -\add@List@default{\indent@depth={}} - -\noeol -\def\@DefineList{ - \@DefineStopCommand{\nxp\xx@label \the\item@e@coms\@gen@close} - \csarg\edef{\@name}{\@gen@open - \ifitem@list \nxp\step@counter{itemlevel}\fi - \ifenum@list \nxp\step@counter{enumlevel} - \nxp\represent@counter{item} - {\nxp\enum@repr{\counter@@name{enumlevel}}}\fi - \ifleft@embedded@construct \previousindent\z@ - \else \nxp\PushIndentLevel - \ifauto@indent \else \levelindent\the\indent@depth \fi - \parindent\levelindent - \fi - \nxp\@alitemno - \nxp\start@counter{item}% - \the\item@b@coms - \def\nxp\item@label{ - \nxp\ifdim\wd\@labelbox>\tempdima - \ifitem@tab \advance\tempdima20pt\relax - {\nxp\item@label} - \else \iflabel@flow@right - \ifleft@embedded@construct - \else\hskip-\previousindent\fi - \box\@labelbox - \else \nxp\llap{\box\@labelbox}\fi\fi - \nxp\else \llap{\hbox to \tempdima - {\ifleft@item\else\hfil\fi - \box\@labelbox \ifleft@item\hfil\fi}} - \nxp\fi}% - \def\nxp\num@item - {\setbox\@labelbox=\hbox{\the\item@coms} - \tempdima\previousindent - \nxp\item@label %\nxp\Indent:no - \the\item@a@coms \nxp\xx@label} - \def\nxp\item - {\ifleft@embedded@construct - \else \nxp\if@alitem\@par%\CSname{@itembreek}% - \nxp\hold@parskip \nxp\fi \fi - \nxp\if\nxp\TestCounter:item >0 \@betweenpenalty \nxp\fi - \CSname{@\h@or@v white}{\white@between} - \nxp\@initemno \nxp\@alitemyes \nxp\noindent - \nxp\step@counter{item}\relax - \iflabel@defined\else\nxp\define@reference{item}\fi - \CSname{\@name @item}} - } - \csarg\edef{\@name @item}{ - \iflist@has@description \nxp\desc@item - \else \nxp\num@item\fi} - \@Labelize{\@name @item} - } -\normaleol - -% Inside a list Foo \item is defined as -% -% \item = all sorts of skips and switches -% step item counter, define reference -% \Foo@item -% -% \Foo@item[opt.lab.] = \desc@item or \num@item -% -% \desc@item = -% { \aftergroup\num@item \@description} -% -% \num@item = \item@label \item@a@coms \xx@label -% - -% Item -% start with start/left/right -% indicating alignment, start = left -% -\newif\ifleft@item \newif\ifitem@tab -\add@List@default{\left@itemyes \item@tabno} -\newtoks\item@coms % content of the item label -\newtoks\item@b@coms % start of the list? -\newtoks\item@a@coms % immediately after the item -\newtoks\item@e@coms % after the whole list -\add@List@default{\item@coms{}\item@b@coms{}\item@a@coms{} - \item@e@coms{}\def\@current@options@list{item@b@coms}} -\@ListOption{item}{ - \switch {\if\EqualString{#1}} - {stop} {\@add@toks{\egroup}\e@group - \def\@current@options@list{item@a@coms}} - {tabstop} {\item@tabyes - \@add@toks{\egroup}\e@group - \def\@current@options@list{item@a@coms}} - {left} {\global\left@itemyes - \b@group\def\@current@options@list{item@coms}% - \@add@toks{\bgroup}} - {start}{\global\left@itemyes - \b@group\def\@current@options@list{item@coms}% - \@add@toks{\bgroup}} - {right}{\global\left@itemno - \b@group\def\@current@options@list{item@coms}% - \@add@toks{\bgroup}} - {default} {\Emessage{Unknown option #1 for List, item}} - \endswitch} - -% Label overflow -% -\newif\iflabel@flow@right -\add@List@default{\label@flow@rightyes} -\@ListOption{labeloverflow}{ - \if\EqualString{#1}{left}\label@flow@rightno - \else\label@flow@rightyes\fi} - -% Description -% the line after \item gets picked up, -% and becomes available as `description' -% -\newif\iflist@has@description -\add@List@default{\list@has@descriptionno} -\@ListOption{description}{ - \global\list@has@descriptionyes \@add@toks{\description@text}} -{\noeol - \othercr -\gdef\@description{\bgroup\othercr \@@description} -\gdef\@@description#1^^M - {\gdef\description@text{#1}% - \egroup % balance the \bgroup in \@description - % which kept the \othercr local - \egroup % balance the \bgroup in \desc@item - % which enabled the \aftergroup\num@item - } -} -\def\desc@item{\bgroup - \aftergroup\num@item - \@description} - -% White between items -% -\add@List@default{\def\white@between{0pt}} -\@ListOption{whitebetween}{\def\white@between{#1}} -% \edef\white@between{\@w@w{#1}}} - -% Indentation -% is automatic (default) and level dependent -% or explicit -% -\newif\ifauto@indent -\add@List@default{\auto@indentyes} -\@ListOption{indentation}{ - \if\EqualString{#1}{automatic}\auto@indentyes - \else\auto@indentno - \edef\cs@e{\nxp\indent@depth={\@w@w{#1}}}\cs@e - \fi} - -% Tail of the list: -% everything after the keyword 'text' is tail -% -\@ListOption{text}{\at@breakpointyes - \def\@current@options@list{item@e@coms}} - -%%%%%%%%%%%%%%%% List Nesting Counters -% - -% Item sign -% gives the default, level dependent marker -% -\new@@counter{itemlevel} \set@counter{itemlevel}0 -\newif\ifitem@list -\add@List@default{\item@listno} -\@ListOption{itemsign}{ - \global\item@listyes - \edef\cs@e{\nxp\@add@toks - {\nxp\ifcustom@label\nxp\the\current@label - \nxp\else\nxp\item@sign\counter@@name{itemlevel}% - \nxp\fi}} - \cs@e} -\def\@item@sign#1{itemsign\romannumeral#1} -\def\item@sign#1{\if\UndefinedCS{\@item@sign{#1}}\@@item@sign{#1}% - \else \csname \@item@sign{#1}\endcsname \fi} -\def\@@item@sign#1{\ifcase#1\relax\or - $\bullet$\or $\circ$ \or --\else $\cdot$\fi} -\def\SetItemSign:#1=#2{\csarg\edef{\@item@sign{#1}}% - {\cswitch \ifx#2 in: - b $\bullet$; - c $\circ$; - d $\diamond$; - m ---; - n --; - . $\cdot$; - default $\cdot$; - \endswitch}} - -% Item Counter -% -% Allocate a bare bones counter -\new@@counter{item}\represent@counter{item}1 -\newtoks\item@RL \item@RL{} - -% Keep track of enumerate list level -% -\new@@counter{enumlevel} \set@counter{enumlevel}0 -\newif\ifenum@list -\add@List@default{\enum@listno} -\@ListOption{itemCounter}{ - \global\enum@listyes - \@add@toks{\pad@clear\ifcustom@label\the\current@label - \else\itemCounter\fi} - } -\def\@enum@repr#1{enumrepr\romannumeral#1} -\def\enum@repr#1{\if\UndefinedCS{\@enum@repr{#1}}\@@enum@repr{#1}% - \else \csname \@enum@repr{#1}\endcsname \fi} -\def\@@enum@repr#1{\ifcase#1\relax\or - 1\or A\or I\or a\or i\else 1\fi} -\def\SetItemCounterRepresentation:#1=#2{\csarg\edef{\@enum@repr{#1}}{#2}} - -% -\def\@itembreek{\if@initem\par\fi} - -% Clear items for Widest. -% this is rather susceptible for improvement. -% -\def\ClearFor:#1 - {\def\widest@pad{#1}} -\def\widest@pad{\m@ne} -\def\pad@clear{\ifnum\widest@pad=\m@ne\else - \tempcounta\widest@pad - \advance\tempcounta-\LogTen{\cs@counter@name{item}}\relax - \hphantom{\ifcase\tempcounta \or 9\or 99 \or 999 \or 9999 \else 99999\fi - }% - \fi} - -%%%%%%%%%%%%%%%% Stripped Lists -% -% for use in external files -% - -\@GenericConstruct{ExternalItem}%stripped list - -\add@ExternalItem@default{\extra@args\tw@} - -\noeol -\def\@DefineExternalItem{ - \@DefineStopCommand{\@gen@close} - \ifx\pre@fix\@empty \Wmessage{No file for external item: \@name}\fi - \edef\cs@e{\nxp\append@to@list - {\pre@fix @local@defs} - {\nxp\if\nxp\UndefinedCS{\@command} - \nxp\Wmessage{Item `\@name' not defined for `\pre@fix'} - \nxp\else - \let\CSname{\@name}\CSname{\@command} - \nxp\fi}} - \cs@e - \csarg\edef{\@command}##1##2{ - \def\CSname{\@name Label}{##1} - \@gen@open\def\nxp\Page{##2} - \nxp\PushIndentLevel \let\nxp\nl\relax - \the\item@b@coms - \def\nxp\item{\ifleft@embedded@construct\else\noindent\fi - \setbox\@labelbox=\hbox{\the\item@coms} - \nxp\ifdim\wd\@labelbox>\previousindent - \iflabel@flow@right \hskip-\previousindent\box\@labelbox - \else \nxp\llap{\box\@labelbox}\fi - \nxp\else \llap{\hbox to \previousindent - {\ifleft@item\else\hfil\fi - \box\@labelbox \ifleft@item\hfil\fi}} - \nxp\fi}% - \ifexternal@item@has@item\nxp\item\the\item@a@coms\fi - \ifright@embedded@construct\else\@par\fi - \iflong@external\else\nxp\>\fi - } - } -\normaleol - -\add@ExternalItem@default{\@whitebefore\z@toks} -\add@ExternalItem@default{\@whiteafter\z@toks} -\add@ExternalItem@default{\let\Page\@space - \csarg\let{\@name Label}\@space} - -% Specify for what external file this is meant -% -\@ExternalItemOption{file}{ - \if\UndefinedCS{\file@ext@name{#1}} - \Emessage{File <#1> has not been defined yet}\fi - \def\pre@fix{#1}} - -\newif\iflong@external -\add@ExternalItem@default{\long@externalno} -\@ExternalItemOption{long}{ - \csname long@external#1\endcsname} - -% Commands before and after -% option 'title' is dummy -% -%\@ExternalItemOption{title}{} -% dangerous: better rely on automatic titelization - -% Item -% start with start/left/right -% indicating alignment, start = left -% -\add@ExternalItem@default{\left@itemyes} -\add@ExternalItem@default{\item@coms{}\item@b@coms{}\item@e@coms{} - \item@a@coms{}\def\@current@options@list{item@b@coms}} -\newif\ifexternal@item@has@item -\adds@ExternalItem@default{\external@item@has@itemno} -\def\ExternalItem@item{\external@item@has@itemyes - \List@item} - -% Label overflow -% -\add@ExternalItem@default{\label@flow@rightyes} -\let\ExternalItem@labeloverflow\List@labeloverflow - -\endinput - -% 92/11/26 itemsign / itemCounter changed to handle custom@label -% 93/01/03 item call in ExternalItem made conditional \ No newline at end of file diff --git a/macros/lollipop/tex/lollipop-output.tex b/macros/lollipop/tex/lollipop-output.tex deleted file mode 100644 index 57b0ef8332..0000000000 --- a/macros/lollipop/tex/lollipop-output.tex +++ /dev/null @@ -1,744 +0,0 @@ -% lollipop-output.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%% O U T P U T %%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\@GenericConstruct{PageGrid} - -\newif\if@pagegrid@installed -\ifini{\next@paragraph - {\if@pagegrid@installed \else - \Wmessage{No page grid installed}\fi - }} -\NewTrace:out -\add@PageGrid@default{\text@constructno} -\add@PageGrid@default{\has@marksyes} - -\newtoks\user@overrides -\def\add@user@override#1{\append@to@list{user@overrides}{#1}} - -\newif\if@nubalanceren -\newinsert\botins - -%%%% Page counting -% -% \count0 is the paper counter: -% is increased for every \shipout in the output routine -% \count1 is the page counter: -% you can do with it whatever you like. - -% This appears to the users as if \NewCounter:Page had been done. -% We do it by hand because the number has to be 1. -% -\countdef\sheet@counter=0 -\csarg\countdef{\counter@name{Page}}=1 -\edef\PageValue{\counter@@name{Page}} -\CounterRepresentation:Page=1 -\newtoks\Page@RL %trudge trudge! -\SetCounter:Page=1 - -%%%% Tests -% -\DefineTest:IsRightPage -\DefineTest:IsLeftPage -\DefineTest:IsFirstPage -\DefineTest:IsLastPage -\DefineTest:FlushBottom - -%% anonieme cs'en zijn in gebruik bij opbouw en gebruik %% -% \tempdima : / klad; gebruikt voor hoofdmeting; daarna in \text@column -% \tempdimc : / klad; gebruikt voor voetmeting -% \cs@a : in gebruik door \haalitems - -\def\slotpenalty{-10001} - -\def\@pseudoif#1#2{\tempcounta\escapechar \noesc - \edef\cs@e{\let\CSname{if@\string#1}\CSname{if\string#2}}\cs@e - \escapechar\tempcounta} -\@pseudoif\IsFirstPage\true \@pseudoif\IsLastPage\true -\@pseudoif\IsRightPage\true -\@pseudoif\IsLeftPage\false - -\def\leftright@setup - {\csarg\ifodd{\counter@name{Page}}\relax - \IsRightPage:yes \IsLeftPage:no - \else \IsRightPage:no \IsLeftPage:yes - \fi} -\def\firstpage@setup{\def\cs@a{yes} - \edef\cs@b{\xp\get@placed\xp{\firstmark}{first@page}} - \ifx\cs@a\cs@b \IsFirstPage:yes \else \IsFirstPage:no \fi} -\def\lastpage@setup - {\ifnum\outputpenalty=\slotpenalty\relax - \Tmessage[out]{Last page}\IsLastPage:yes - \else \IsLastPage:no - \fi} -\def\output@setup{\let\par\@par - \parindent\z@ \leftskip\z@ \rightskip\z@ \lineskip\z@ - \default@everypar \MainFont - \leftright@setup \firstpage@setup \lastpage@setup - \@colnum\@ne \output@set@page@width - \Tmessage[out]{Incoming text: (\the\ht\@cclv+\the\dp\@cclv) x - \the\wd\@cclv} - } - -%%%%%%%%%%%%%%%% Head, Foot, Body -% -% Separate boxes are allocated for the page -% head, body, and foot. -% Head and foot contain static material, the -% body contains the text. The body can be empty. -% -\newbox\page@head@box \newtoks\page@head@toks -\page@head@toks{} -\add@PageGrid@default - {\page@head@toks={\setbox\page@head@box=\vbox\bgroup}} -\newdimen\head@height -\def\measure@head{\head@height=\ht\page@head@box - \advance\head@height\dp\page@head@box - \Tmessage[out]{Head measurement: \the\head@height}} - -\newbox\page@foot@box \newtoks\page@foot@toks -\page@foot@toks{} -\add@PageGrid@default{\page@foot@toks= - {\setbox\page@foot@box=\vbox\bgroup}} -\newdimen\foot@height -\def\measure@foot{\foot@height=\ht\page@foot@box - \advance\foot@height\dp\page@foot@box - \Tmessage[out]{Foot measurement: \the\foot@height}} - -\def\goal@height@trace - {\tempdimb\text@height - \multiply\tempdimb\ifnum\user@n@cols=\m@ne\n@cols\else\user@n@cols\fi - \Tmessage[out]{Aim for text height: \the\text@height\@space - \ifnum\user@n@cols>\m@ne (\the\user@n@cols\@space columns; - total height: \the\tempdimb) - \else\ifnum\n@cols>\@ne (\the\n@cols\@space columns; - total height: \the\tempdimb) - \fi\fi}} - -\def\report@body@measurement{ - \Tmessage[out]{Body measurement: - (\the\ht\page@body@box+\the\dp\page@body@box) - x\the\wd\page@body@box} - \ifvoid\topins\else - \Tmessage[out]{Top inserts: \the\ht\topins+\the\dp\topins}\fi - \ifvoid\botins\else - \Tmessage[out]{Foot inserts: \the\ht\footins+\the\dp\footins}\fi - } - -\newbox\page@body@box \newtoks\page@body@toks -\page@body@toks{} -\add@PageGrid@default - {\page@body@toks={\setbox\page@body@box=\vbox\bgroup}} - -\def\finish@part@routines - {\append@to@list{page@head@toks}{\egroup\measure@head} - \append@to@list{page@foot@toks}{\egroup\measure@foot} - \append@to@list{page@body@toks}{\egroup}} - -\newbox\WholePage -\def\make@page{ - \setbox\WholePage=\vbox - {\box\page@head@box - \ifabut@head\nointerlineskip\fi - \ifabut@foot\tempdima\dp\page@body@box\fi - \box\page@body@box - \ifabut@foot\ifvoid\page@foot@box\else - \kern-\tempdima\relax\nointerlineskip\fi\fi - \box\page@foot@box}%\showbox\WholePage - } - -% \vsize has two possibilities: -% 1/ it is calculated dynamically by subtracting -% body and foot height from the total page height. -% If \vsize is different from \ht255, the page -% is thrown back. -% 2/ it is set and the page has whatever size results. -% -\newif\iftext@fits -\def\see@if@text@fits - {{\multiply\text@height\n@cols - \tempdima\text@height - \advance\tempdima-\vsize - \ifdim\tempdima<\z@ \tempdima=-\tempdima \fi - \ifdim\tempdima<.1pt\relax - \global\text@fitsyes - \Tmessage[out]{Page accepted.} - \else \global\text@fitsno - \Tmessage[out]{Text does not fit. (vsize=\the\vsize)} - \global\vsize=\text@height - \fi}} - -% Multicolumn stuff -% -% every PageGrid macro installs \n@cols, but the user -% can specify a different number with \NumberOfColumns:x -% This sets \user@n@cols which is usually -1 -% -\newcount\n@cols \n@cols\@ne -\newcount\@colnum -\newcount\user@n@cols \user@n@cols\m@ne -\Distance:GutterWidth=1cm -\def\NumberOfColumns:#1 - {\user@n@cols=\w@w{#1}\relax - \Tmessage[out]{Switch to \the\user@n@cols\@space columns} - \hsize\page@width - \tempdima\GutterWidth \multiply\tempdima\user@n@cols - \advance\tempdima-\GutterWidth - \advance\hsize-\tempdima \divide\hsize\user@n@cols - \Tmessage[out]{New hsize: \the\hsize}} -\add@user@override{\ifnum\user@n@cols=\m@ne\else - \csarg\let{\output@routine @body}\trivial@body - \n@cols\user@n@cols - \Tmessage[out]{User override: \the\n@cols\@space columns.}% - \fi} - -\def\trivial@body{\Tmessage[out]{Trivial multicolumn (\the\n@cols) setup} - \@colnum\@ne \splittopskip\topskip - \setbox\page@body@box\hbox{\text@column} - \@colnum\tw@ - \ifnum\n@cols>\@ne - \loop \setbox\page@body@box\hbox{\unhbox\page@body@box - \kern\GutterWidth \text@column} - \advance\@colnum\@ne - \ifnum\@colnum>\n@cols\else\repeat - \fi} -\def\real@text@column{\begingroup\vbadness\@M - \setbox\z@ - \ifnum\n@cols=\@ne - \vbox to \vsize{\boxmaxdepth\maxdepth - \ifvoid\topins\else\unvbox\topins \fi - \unvbox\@cclv % open up \box255 - \ifvoid\footins\else % footnote info is present - \vskip\skip\footins - \footnoterule - \unvbox\footins \fi}% - \Tmessage[out]{Column: \the\ht\z@+\the\dp\z@}% - \else - \vsplit\@cclv to \text@height - \Tmessage[out]{Column \the\@colnum: \the\ht\z@+\the\dp\z@}% - \fi \ifnum\badness=\@M\Wmessage{Underfull textcolumn}\fi - \box\z@ \endgroup} - -\def\CurrentShipout{\shipout\box\WholePage} -\let\OriginalShipout\CurrentShipout -\newif\ifCountSheets \CountSheetsyes -\def\finish@off@page{\Tmessage[out]{Whole page: - \the\ht\WholePage+\the\dp\WholePage} - {\def\protect{\noexpand\protect\noexpand} - \def\cprotect{\expandafter\string} - \normalesc - \ifsink@pages - \message{Page sunk [\the\sheet@counter.\csarg\the - {\counter@name{Page}}]} - \deadcycles\z@ - \else \CurrentShipout - \ifCountSheets\global\advance\sheet@counter\@ne\fi - \fi - } - \global\step@counter{Page} - } -\def\shipout@and@unbox@remainder{ - \iftext@fits \make@page \finish@off@page \fi - \ifvoid\@cclv \Tmessage[out]{Shipped out whole page} - \else \Tmessage[out]{Part of page not shipped: \the\ht\@cclv} - \unvbox\@cclv - \ifnum\outputpenalty=\@M\else\penalty\outputpenalty\fi - \fi - \iftext@fits \ifother@grid\install@next@page@grid - \else\Tmessage[out]{Same grid once again.}\fi - \fi} - -\newif\ifsink@pages -\sink@pagesno -\let\NoPages\sink@pagesyes \let\PagesOut\sink@pagesno - -% this is a mess. clear up please. -\newtoks\page@options -\def\options@to@pagepart - {\append@toks@cs@to@list{page@\page@part @toks}\page@options - \page@options={}} -\add@PageGrid@default{\csarg\newtoks{\@name @routine} - \def\@current@options@list{page@options} - \def\page@part{head}\page@options{} - } - -\def\install@output@routine#1{{\globaldefs\@ne - \output=\xp{\csname#1@routine\endcsname}% - \def\output@routine{#1}% - \Tmessage[out]{Install output: #1 ---}% - \@pagegrid@installedyes - \csname#1@install@parameters\endcsname - }} - -\newdimen\text@height - -% During the load of this file we build up a list of -% defaults and test. These are then turned into PageGrid@default -% at the end of this file. -\newtoks\otr@settings \newtoks\otr@conditions -\def\add@otr@setting#1{\append@to@list{otr@settings}{#1}} -\def\del@otr@setting#1{\del@tok@from@list{otr@settings}#1} -\def\add@otr@condition#1{\append@to@list{otr@conditions}{#1}} -\def\set@otr@stuff{\def\cs@e##1{ - \edef\cs@f{\nxp\adds@PageGrid@default{\global##1={\the##1}}} - \cs@f} - \cs@e\otr@settings \cs@e\otr@conditions} -%\showthe\otr@settings \showthe\otr@conditions -%\showthe\PageGrid@defaults} - -\def\@DefinePageGrid{\options@to@pagepart \finish@part@routines - \csarg\edef{\@name @install@parameters}{% - \vsize\the\height@toks\relax \set@topskip - \multiply\vsize - \nxp\ifnum\user@n@cols>\@ne\user@n@cols\relax - \nxp\else\the\n@cols\relax\nxp\fi - \hsize\the\width@toks\relax - \def\CSname{\@name @page@width}% - {\the\width@toks\relax}% - \nxp\Tmessage[out]{Initial hsize: \nxp\the\hsize}% - \ifwidth@of@text - \else \nxp\hsize@from@page@width - \ifnum\the\n@cols>1 - \divide\hsize\the\n@cols\relax\fi - \fi - \nxp\Tmessage[out]{Installed hsize: \nxp\the\hsize}% - } - \csarg\edef{\@name @otr@parameters}{% - \the\otr@settings - \xp\@empty\the\otr@conditions - \CSname{height@of@text\ifheight@of@text yes\else no\fi}% - \text@height\the\height@toks\relax - \CSname{width@of@text\ifwidth@of@text yes\else no\fi}% - \n@cols\the\n@cols\relax} - \csarg\edef{\@name @head@foot}{\the\page@head@toks - \the\page@foot@toks - \ifheight@of@text\else - \advance\text@height-\head@height - \advance\text@height-\foot@height - \fi} - \csarg\edef{\@command @body}{\the\page@body@toks} - \csarg\edef{\@command}{% - \nxp\EjectPage - \nxp\install@output@routine{\@name}% - %\global\hsize= \ifseen@text \CSname{\@name @text@width}% - % \else \CSname{\next@page@grid @text@width}% - % \fi - \outer@start@commands \after@indent - } - \csarg\edef{\@name @routine}{ - \nxp\Tmessage[out]{======== Output routine: \@name\@space ==========} - \nxp\output@setup - \CSname{\@name @otr@parameters} - \nxp\the\user@overrides - \CSname{\@name @head@foot} - \nxp\goal@height@trace - \ifnum\n@cols=\z@ %% no text, trivial case. - \setbox\page@body@box\voidb@x - \nxp\text@fitsyes - \else \nxp\ifragged@bottom\nxp\text@fitsyes - \nxp\else\nxp\see@if@text@fits\nxp\fi - \nxp\iftext@fits - \let\nxp\text@column\nxp\real@text@column - \tempcounta\hbadness\hbadness\@M\CSname{\@name @body} - \nxp\ifnum\badness>\tempcounta - \nxp\Wmessage{Underfull page body}\nxp\fi - \hbadness\tempcounta\nxp\report@body@measurement - \nxp\fi - \fi - \nxp\shipout@and@unbox@remainder - \nxp\Tmessage[out]{==========}% - } - \xp\install@output@routine\xp{\@name} - } - -% not operative yet. -\new@dimen{user@page@height}{\m@ne sp} -\new@dimen{user@text@height}{\m@ne sp} -\def\Height:#1=#2 - {\switch {\if\EqualString{#1}} - {Page} {\user@page@height\w@w{#2}} - {Text} {\user@text@height\w@w{#2}} - {default} {\Wmessage{Unknown option: `Height:#1=#2'}} - \endswitch} - -%-- height of page/text -% -% the \ifheight@of@text conditional is also used -% during run time. -% -\newif\ifheight@of@text -\newtoks\height@toks \newdimen\page@height -\add@PageGrid@default{\height@of@textyes\height@toks{20cm}} -\add@PageGrid@default{\let\text@lines\relax} -\@PageGridOption{height}{ - \switch {\if\EqualString{#1}} - {page} {\height@of@textno} - {text} {\height@of@textyes} - {lines} {\height@of@textyes - \edef\cs@e{\def\nxp\text@lines{\@w@w{#2}}}\cs@e} - {default} {\Wmessage{Strange modifier: `height:#1=#2'}} - \endswitch - \edef\cs@e{\nxp\height@toks={\@w@w{#2}}}\cs@e - } -% Make sure that the \Height command is not used! -\@PageGridNOOP{Height} - -%%%% -% -% Width handling -% -\newif\ifwidth@of@text -\newtoks\width@toks \newdimen\page@width -\@PageGridOption{width}{ - \switch {\if\EqualString{#1}} - {page} {\width@of@textno} - {text} {\width@of@textyes} - {default} {\Wmessage{Strange modifier: `width:#1=#2'}} - \endswitch - \edef\cs@e{\nxp\width@toks={\@w@w{#2}}}\cs@e - } - -% Make sure that the \Width command is not used! -\@PageGridNOOP{Width} - -% At installation of the output routine, calculate the hsize -% if the page width is given. -% -\def\hsize@from@page@width - {\def\text@column{\hskip\z@\relax}% - \everyhbox{}\everyvbox{}% - \let\maybe@to@page@width\relax - \the\page@body@toks -%\ifdim\wd\page@body@box>0pt \showthe\page@body@toks \fi - \Tmessage[out]{Width page body minus text: \the\wd\page@body@box}% - \global\advance\hsize-\wd\page@body@box} - -% At the start of the output routine, calculate the page width -% from the hsize (which may have been tinkered with), or set to -% routine-specific page width (which may also have been changed). -% -\def\output@set@page@width - {\ifwidth@of@text - \edef\text@column{\hskip\the\wd\@cclv\relax\hskip\z@\relax}% - \let\maybe@to@page@width\relax - \csn\output@routine @body\ecs - \page@width\wd\page@body@box - \Tmessage[out]{Deduced page width: \the\page@width} - \else \def\maybe@to@page@width{ to \page@width} - \page@width\csn\output@routine @page@width\ecs\relax - \fi} - -%%%% Topskip -% initially the outer topskip is picked up, unless -% the option 'topskip' is given. -% -\add@PageGrid@default - {\edef\set@topskip - {\topskip\the\topskip\relax\splittopskip\topskip}} -\@PageGridOption{topskip}{ - \edef\cs@e - {\def\nxp\set@topskip{\topskip\@w@w{#1}\relax - \splittopskip\topskip}} - \cs@e - } -% ragged bottom the way it's done in plain TeX. -\newif\ifragged@bottom -\add@otr@setting{\ragged@bottomno} -\@PageGridOption{raggedbottom}{ - \del@otr@setting{\ragged@bottomno} - \add@otr@setting{\ragged@bottomyes} - \if\IsEmptyList{#1}\@add@toks{\var@topskip{60pt}} - \else\edef\cs@e{\nxp\@add@toks{\nxp\var@topskip{\@w@w{#1}}}} - \cs@e - \fi} -\def\var@topskip#1{\tempdima\topskip\tempskipa\z@ plus #1\relax - \topskip\tempdima \advance\topskip\tempskipa - \splittopskip\topskip} - -%-- textband -\newif\ifin@textband \add@PageGrid@default{\in@textbandno} -\@PageGridOption{textband}{ - \switch {\if\EqualString{#1}} - {start} {\start@textband} - {stop} {\stop@textband} - {default} {\Wmessage{Strange modifier `textband:#1'}} - \endswitch} -\newdimen\text@width -\def\start@textband - {\options@to@pagepart - \b@group[textband]\@hmodeyes\in@textbandyes - \@add@toks{\hbox \maybe@to@page@width\bgroup} - } -\def\stop@textband - {\@add@toks{\egroup} \e@group[textband] - \ifseen@text \before@textno - \def\page@part{body} \options@to@pagepart - \def\page@part{foot} - \fi} - -%-- band -\newif\ifabut@foot \newif\ifabut@head -\add@otr@setting{\abut@footno \abut@headno} -\@PageGridOption{band}{ - \switch {\if\EqualString{#1}} - {start} {\@add@toks{\hbox to \page@width\bgroup} - \b@group[band]\@hmodeyes - \def\block@closing{\@add@toks{\hfil\egroup} - \e@group[band]}} - {invisible} {\@add@toks{\setbox\tempboxa - \hbox to \page@width\bgroup} - \b@group[band]\@hmodeyes - \def\block@closing{\@add@toks{\hfil\egroup} - \ifbefore@text - \@add@toks{\vtop to\z@{\kern\z@\box\tempboxa\vss} - \nointerlineskip} - \del@otr@setting{\abut@headno} - \add@otr@setting{\abut@headyes} - %\global\abut@headyes - \else \@add@toks{\nointerlineskip - \vbox to\z@{\vss\box\tempboxa}} - \del@otr@setting{\abut@footno} - \add@otr@setting{\abut@footyes} - %\global\abut@footyes - \fi\e@group[band]}} - {stop} {\block@closing} - {default} {\Wmessage{Strange modifier `band:#1'}} - \endswitch} - - -%-- next page grid -\newif\ifother@grid -\add@PageGrid@default{\other@gridno} -\add@otr@setting{\other@gridno} -\add@otr@condition{\ifother@grid - \def\nxp\install@next@page@grid - {\nxp\install@output@routine{\next@page@grid}}% - \fi} -\@PageGridOption{NextPageGrid}{\other@gridyes - \del@otr@setting{\other@gridno} - \add@otr@setting{\other@gridyes} - \def\next@page@grid{#1} - } - -%-- text -\add@PageGrid@default{\n@cols\z@} -\newif\ifbefore@text -\newif\ifseen@text %this one is also used by 'external' -\add@PageGrid@default{\before@textyes \seen@textno} -\@PageGridOption{text}{\global\seen@textyes - \ifin@textband\else\Emessage{'text' has to be in 'textband'}\fi - \global\advance\n@cols\@ne - \@add@toks{\text@column}} - -%%%%%%%%%%%%%%%%%%%%%%% user commands - -\def\leegbladinvoegen{\@g@stapteller{Page}} -\def\EjectPage{\vfil\eject} -\def\ToRecto{\csarg\ifodd{\counter@name{Page}}\else\step@counter{Page}\fi} -\def\ToVerso{\csarg\ifodd{\counter@name{Page}}\step@counter{Page}\fi} - -% less useful user command (mostly for formatting the manual :-) -% -\newbox\saved@page@box \newdimen\saved@hsize \newcount\saved@pageno -\newtoks\saved@mark@items -\def\SuspendOutput{\xdef\saved@output@routine{\output@routine}% - \let\saved@shipout\CurrentShipout - \global\saved@hsize\hsize \global\saved@mark@items\mark@items - \global\saved@pageno\cs@counter@name{Page}% - \output{\global\setbox\saved@page@box\box\@cclv - \Tmessage[out]{Suspend output @\the\saved@pageno; - saved (\the\ht\saved@page@box+\the\dp\saved@page@box) - x \the\wd\saved@page@box}% - \global\output{\Emessage{You should not call output now!}% - \OriginalShipout\box\@cclv}}% - \eject - } -\def\ResumeOutput - {\xp\install@output@routine\xp{\saved@output@routine}% - \let\CurrentShipout\saved@shipout - \global\hsize\saved@hsize \global\mark@items\saved@mark@items - \global\cs@counter@name{Page}\saved@pageno - \unvbox\saved@page@box - \Tmessage[out]{Resume output}% - } - -%%%%%%%%%%%%%%%% Marks -%%%% -\NewTrace:mark -\def\FirstPlaced:#1 - {\Tmessage[mark]{First Placed #1 from \firstmark}% - \xp\get@placed\xp{\firstmark}{#1}} -\def\PreviousPlaced:#1 - {\Tmessage[mark]{Previous Placed #1 from \topmark}% - \xp\get@placed\xp{\topmark}{#1}} -\def\LastPlaced:#1 - {\Tmessage[mark]{Last Placed #1 from \botmark}% - \xp\get@placed\xp{\botmark}{#1}} -\def\get@placed#1#2{% - \get@@placed{#2}#1{SM}{}$}% SM: StopMarker -\def\get@@placed#1#2#3{\if\EqualStringX{#2}{SM}\xp\take@to@dollar - \else\if\EqualStringX{#1}{#2}% - \maybe@uppercase{#3}\xp\xp\xp\take@to@dollar - \else\xp\xp\xp\get@@placed\fi - \fi{#1}} -\ifini{\newtoks\mark@items} - % \newtoks\mark@toks % is this one used? - -\newif\ifhas@marks -\add@generic@default{\has@marksno} - % only yes in heading and output routine. - % it seems that you can have page breaks at marks... -\@GenericOption{nomarks}{\has@marksno} -\def\add@mark@item#1{\csarg\newtoks{mark@toks@#1}% - \Tmessage[mark]{Adding mark item #1}% - \global\mark@items\xp{\the\mark@items{#1}}} -\def\refresh@mark@item#1#2{\csarg\global{mark@toks@#1}{#2}} -\def\get@mark@items#1{\if\EqualStringX{#1}{SM}% - \else{#1}{\csarg\the{mark@toks@#1}}\xp\get@mark@items - \fi} -\def\place@mark{\mark{\xp\get@mark@items\the\mark@items{SM}}} - -% this one should be defined in document.tex -\add@mark@item{first@page} - -% Page wide rule - -\@PageGridOption{pagerule}{ - \@add@toks{\hrule width\page@width\relax\nobreak}} - -% Set default otr@settings and otr@conditions -\set@otr@stuff - -\endinput - -92/10/24 raggedbottom in progress -92/11/04 splittopskip made equal to topskip -92/11/14 messed with otr@xyz token lists -92/11/15 warning on underfull text column; - ragged bottom still not working properly -93/01/17 box \WholePage, new definition of \CurrentShipout - - -%%%%%%%%%%%%%%%%%%%%%% Old Stuff; maybe useful, maybe not - -\newskip\@topS \newskip\@botS -{\noeol -\othercr -\gdef\topillustratie{\bgroup\othercr \@topill} -\gdef\@topill:#1=#2^^M{\edef\cs@e{\gdef\CSname{@topS#1}{#2}} - \cs@e \global\advance\@topS #2\egroup} -\gdef\botillustratie{\bgroup\othercr \@botill} -\gdef\@botill:#1=#2^^M{\edef\cs@e{\gdef\CSname{@botS#1}{#2}} - \cs@e \global\advance\@botS #2\egroup}} - -\def\@wisill{\global\@topS\z@ \global\@botS\z@ - \csarg\gdef{@topS1}{\z@}\csarg\gdef{@botS1}{\z@} - \csarg\gdef{@topS2}{\z@}\csarg\gdef{@botS2}{\z@} - \csarg\gdef{@topS3}{\z@}\csarg\gdef{@botS3}{\z@} - } -\@wisill - -\newtoks\@stramienlijst -\def\invoerpad{} -\def\opmaak: #1\par{\@stramienlijst={} - \def\cs@a##1 {\eqstring{##1}{klaar}{}% - {\append@to@list{@stramienlijst}{\@probeerstramien ##1;} - \cs@a}} - \cs@a #1klaar }%% let op de significante spaties!! - %% en de spatie achter het laatste stramien komt van de ^^M -\def\invoer: #1 { - \def\@probeerstramien ##1;{\csn ##1\ecs - \message{Ik probeer het met opmaak: ##1} - \@installeertellers{##1} - \input \invoerpad#1.tex - \vfill\eject - \@bewaartellers{##1} - } - \the\@stramienlijst} - -%% uitloop van vorige output routine -% iftempf: als pagina geen uitloop gebruikt, direct eventuele -% uitloop leeg gooien. -% laatste pagina: tempboxa <- vbox{unvcopy255} -% er wordt een pagina uitgeworpen: -% - 255 is void: invoer is op, dus uitlopen -% als dit de laatste pagina was -% - 255 non-void: er is iets terug te werpen; dit was kennelijk niet -% de laatste pagina, dus geen uitloop. - -\newbox\@uitloop \newbox\@tempuitloop \newif\ifisereenuitloop - \Tmessage[out]{Aangetroffen uitloop: \the\ht\@uitloop+\the\dp\@uitloop} - -%-- uitloop -% mag alleen in kop of voet voorkomen. -\setbox\@tempuitloop= - \vbox{\ifvoid\topins\else\unvcopy\topins\fi - \unvcopy\@cclv\kern\z@} -\setbox\@tempuitloop=\hbox{} -\@PageGridOption{uitloop}{\tempfyes - \@add@toks{\Tmessage[out]{Uitloop wordt verwerkt.}% - \copy\@uitloop - }} - - \iftempd - \iftempc \Tmessage[out]{Eerste pagina, derhalve:} - \@loopnietuit \else \@loopuit \fi - \else \Tmessage[out]{Niet de laatste pagina, derhalve:} - \@loopnietuit \fi - - \iftempf \else \nxp\@uitloopwegwerpen \fi %geheugenbesparing. - -\def\@loopuit{\global\isereenuitloopyes - \global\setbox\@uitloop=\box\@tempuitloop - \Tmessage[out]{Uitloop: \the\ht\@uitloop+\the\dp\@uitloop}} -\def\@loopnietuit{\global\isereenuitloopno \@uitloopwegwerpen} -\def\@uitloopwegwerpen{ - \Tmessage[out]{Uitloop weggegooid: \the\ht\@uitloop+\the\dp\@uitloop} - \global\setbox\@uitloop=\hbox{}} - -%-- veld %% is deze nog nodig nu we 'tekstblok' generisch hebben? -\@PageGridOption{veld}{ - \eqstring{#1}{stop}% - {\@add@toks{\egroup}}% - {\@add@toks{\vtop\bgroup\kern0cm} - \eqstring{#1}{uitvullen}{}% - {\@add@toks{\hsize=\w@w{#1}} - \iftempc\advance\text@width-\w@w{#1}\fi} - }} -%-- parallel Nog eens goed over nadenken. -\@PageGridOption{parallel}{ - \eqstring{#1}{stop}% - {\@add@toks{\vfil\egroup\egroup}}% - {\@add@toks{\vtop\bgroup\kern0cm - \vbox to \vsize\bgroup}% dit is fout. - \eqstring{#1}{uitvullen}{}% - {\iftempc\advance\text@width-\w@w{#1}\relax\fi - \@add@toks{\hsize=\w@w{#1}}} - }} -%-- kolommenbalanceren -% heeft alleen zin voor meerkoloms uitvoer, -% werkt alleen op laatste pagina -\@PageGridOption{kolommenbalanceren}{ - \eqstring{#1}{}{\tempgyes}{\csn tempg#1\ecs}} - -\endinput - -% 2016/04/14 Added \footnoterule to \real@text@column \ No newline at end of file diff --git a/macros/lollipop/tex/lollipop-plain.tex b/macros/lollipop/tex/lollipop-plain.tex deleted file mode 100644 index 96a3ed703d..0000000000 --- a/macros/lollipop/tex/lollipop-plain.tex +++ /dev/null @@ -1,1249 +0,0 @@ -% This is lollipop-plain.tex, the version of plain.tex adapted to the -% Lollipop format of Victor Eijkhout and Vafa Khalighi. -% copyright 1991/92 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -\catcode`\{=1 % left brace is begin-group character -\catcode`\}=2 % right brace is end-group character -\catcode`\$=3 % dollar sign is math shift -\catcode`\&=4 % ampersand is alignment tab -\catcode`\#=6 % hash mark is macro parameter character -\catcode`\^=7 \catcode`\^^K=7 % circumflex and uparrow are for superscripts -\catcode`\_=8 \catcode`\^^A=8 % underline and downarrow are for subscripts -\catcode`\^^I=10 % ascii tab is a blank space -\chardef\active=13 \catcode`\~=\active % tilde is active -\chardef\ignored=9 \chardef\other=12 -\catcode`\^^L=\active \outer\def^^L{\par} % ascii form-feed is "\outer\par" - -% We had to define the \catcodes right away, before the message line, -% since \message uses the { and } characters. -% When INITEX (the TeX initializer) starts up, -% it has defined the following \catcode values: -% \catcode`\^^@=9 % ascii null is ignored -% \catcode`\^^M=5 % ascii return is end-line -% \catcode`\\=0 % backslash is TeX escape character -% \catcode`\%=14 % percent sign is comment character -% \catcode`\ =10 % ascii space is blank space -% \catcode`\^^?=15 % ascii delete is invalid -% \catcode`\A=11 ... \catcode`\Z=11 % uppercase letters -% \catcode`\a=11 ... \catcode`\z=11 % lowercase letters -% all others are type 12 (other) - -% INITEX sets up \mathcode x=x, for x=0..127, except that -% \mathcode x=x+"7100, for x = `A to `Z and `a to `z; -% \mathcode x=x+"7000, for x = `0 to `9. -% The following changes define internal codes as recommended -% in Appendix C of The TeXbook: -\mathcode`\^^@="2201 % \cdot -\mathcode`\^^A="3223 % \downarrow -\mathcode`\^^B="010B % \alpha -\mathcode`\^^C="010C % \beta -\mathcode`\^^D="225E % \land -\mathcode`\^^E="023A % \lnot -\mathcode`\^^F="3232 % \in -\mathcode`\^^G="0119 % \pi -\mathcode`\^^H="0115 % \lambda -\mathcode`\^^I="010D % \gamma -\mathcode`\^^J="010E % \delta -\mathcode`\^^K="3222 % \uparrow -\mathcode`\^^L="2206 % \pm -\mathcode`\^^M="2208 % \oplus -\mathcode`\^^N="0231 % \infty -\mathcode`\^^O="0140 % \partial -\mathcode`\^^P="321A % \subset -\mathcode`\^^Q="321B % \supset -\mathcode`\^^R="225C % \cap -\mathcode`\^^S="225B % \cup -\mathcode`\^^T="0238 % \forall -\mathcode`\^^U="0239 % \exists -\mathcode`\^^V="220A % \otimes -\mathcode`\^^W="3224 % \leftrightarrow -\mathcode`\^^X="3220 % \leftarrow -\mathcode`\^^Y="3221 % \rightarrow -\mathcode`\^^Z="8000 % \ne -\mathcode`\^^[="2205 % \diamond -\mathcode`\^^\="3214 % \le -\mathcode`\^^]="3215 % \ge -\mathcode`\^^^="3211 % \equiv -\mathcode`\^^_="225F % \lor -\mathcode`\ ="8000 % \space -\mathcode`\!="5021 -\mathcode`\'="8000 % ^\prime -\mathcode`\(="4028 -\mathcode`\)="5029 -\mathcode`\*="2203 % \ast -\mathcode`\+="202B -\mathcode`\,="613B -\mathcode`\-="2200 -\mathcode`\.="013A -\mathcode`\/="013D -\mathcode`\:="303A -\mathcode`\;="603B -\mathcode`\<="313C -\mathcode`\=="303D -\mathcode`\>="313E -\mathcode`\?="503F -\mathcode`\[="405B -\mathcode`\\="026E % \backslash -\mathcode`\]="505D -\mathcode`\_="8000 % \_ -\mathcode`\{="4266 -\mathcode`\|="026A -\mathcode`\}="5267 -\mathcode`\^^?="1273 % \smallint - -% INITEX sets \uccode`x=`X and \uccode `X=`X for all letters x, -% and \lccode`x=`x, \lccode`X=`x; all other values are zero. -% No changes to those tables are needed in plain TeX format. - -% INITEX sets \sfcode x=1000 for all x, except that \sfcode`X=999 -% for uppercase letters. The following changes are needed: -\sfcode`\)=0 \sfcode`\'=0 \sfcode`\]=0 -% The \nonfrenchspacing macro will make further changes to \sfcode values. - -% Finally, INITEX sets all \delcode values to -1, except \delcode`.=0 -\delcode`\(="028300 -\delcode`\)="029301 -\delcode`\[="05B302 -\delcode`\]="05D303 -\delcode`\<="26830A -\delcode`\>="26930B -\delcode`\/="02F30E -\delcode`\|="26A30C -\delcode`\\="26E30F -% N.B. { and } should NOT get delcodes; otherwise parameter grouping fails! - -% To make the plain macros more efficient in time and space, -% several constant values are declared here as control sequences. -% If they were changed, anything could happen; so they are private symbols. -\chardef\@ne=1 -\chardef\tw@=2 -\chardef\thr@@=3 -\chardef\sixt@@n=16 -\chardef\@cclv=255 -\mathchardef\@cclvi=256 -\mathchardef\@m=1000 -\mathchardef\@M=10000 -\mathchardef\@MM=20000 - -% Allocation of registers - -% Here are macros for the automatic allocation of \count, \box, \dimen, -% \skip, \muskip, and \toks registers, as well as \read and \write -% stream numbers, \fam codes, \language codes, and \insert numbers. - -% When a register is used only temporarily, it need not be allocated; -% grouping can be used, making the value previously in the register return -% after the close of the group. The main use of these macros is for -% registers that are defined by one macro and used by others, possibly at -% different nesting levels. All such registers should be defined through -% these macros; otherwise conflicts may occur, especially when two or more -% macro packages are being used at once. - -% The following counters are reserved: -% 0 to 9 page numbering -% 10 count allocation -% 11 dimen allocation -% 12 skip allocation -% 13 muskip allocation -% 14 box allocation -% 15 toks allocation -% 16 read file allocation -% 17 write file allocation -% 18 math family allocation -% 19 language allocation -% 20 insert allocation -% 21 the most recently allocated number -% 22 constant -1 -% New counters are allocated starting with 23, 24, etc. Other registers are -% allocated starting with 10. This leaves 0 through 9 for the user to play -% with safely, except that counts 0 to 9 are considered to be the page and -% subpage numbers (since they are displayed during output). In this scheme, -% \count 10 always contains the number of the highest-numbered counter that -% has been allocated, \count 14 the highest-numbered box, etc. -% Inserts are given numbers 254, 253, etc., since they require a \count, -% \dimen, \skip, and \box all with the same number; \count 20 contains the -% lowest-numbered insert that has been allocated. Of course, \box255 is -% reserved for \output; \count255, \dimen255, and \skip255 can be used freely. - -% It is recommended that macro designers always use -% \global assignments with respect to registers numbered 1, 3, 5, 7, 9, and -% always non-\global assignments with respect to registers 0, 2, 4, 6, 8, 255. -% This will prevent ``save stack buildup'' that might otherwise occur. - -\count10=22 % allocates \count registers 23, 24, ... -\count11=9 % allocates \dimen registers 10, 11, ... -\count12=9 % allocates \skip registers 10, 11, ... -\count13=9 % allocates \muskip registers 10, 11, ... -\count14=9 % allocates \box registers 10, 11, ... -\count15=9 % allocates \toks registers 10, 11, ... -\count16=-1 % allocates input streams 0, 1, ... -\count17=-1 % allocates output streams 0, 1, ... -\count18=3 % allocates math families 4, 5, ... -\count19=0 % allocates \language codes 1, 2, ... -\count20=255 % allocates insertions 254, 253, ... -\countdef\insc@unt=20 % the insertion counter -\countdef\allocationnumber=21 % the most recent allocation -\countdef\m@ne=22 \m@ne=-1 % a handy constant -\def\wlog{\immediate\write\m@ne} % write on log file (only) - -% Here are abbreviations for the names of scratch registers -% that don't need to be allocated. - -\countdef\count@=255 -\dimendef\dimen@=0 -\dimendef\dimen@i=1 % global only -\dimendef\dimen@ii=2 -\skipdef\skip@=0 -\toksdef\toks@=0 - -% Now, we define \newcount, \newbox, etc. so that you can say \newcount\foo -% and \foo will be defined (with \countdef) to be the next counter. -% To find out which counter \foo is, you can look at \allocationnumber. -% Since there's no \boxdef command, \chardef is used to define a \newbox, -% \newinsert, \newfam, and so on. - -% Be able to save the allocation state. Write streams are -% excepted from this. -\def\SaveAlloc{\xdef\RestoreAlloc - {\begingroup\globaldefs=1 - \count10=\the\count10 \count11=\the\count11 \count12=\the\count12 - \count13=\the\count13 \count14=\the\count14 \count15=\the\count15 - \count16=\the\count16 %\count17=\the\count17 - \count18=\the\count18 - \endgroup}} -%LP no longer outer; switch off trace in these macros -\def\@@newcount{\alloc@0\count\countdef\insc@unt} -\def\@@newdimen{\alloc@1\dimen\dimendef\insc@unt} -\def\@@newskip{\alloc@2\skip\skipdef\insc@unt} -\def\@@newmuskip{\alloc@3\muskip\muskipdef\@cclvi} -\def\@@newbox{\alloc@4\box\chardef\insc@unt} -\let\newtoks\relax -\let\@@newtoks=\relax % we do this to allow plain.tex to be read in twice -\def\@@newhelp#1#2{\newtoks#1#1\expandafter{\csname#2\endcsname}} -\def\@@newtoks{\alloc@5\toks\toksdef\@cclvi} -\def\@@newread{\alloc@6\read\chardef\sixt@@n} -\def\@@newwrite{\alloc@7\write\chardef\sixt@@n} -\def\@@newfam{\alloc@8\fam\chardef\sixt@@n} -\def\@@newlanguage{\alloc@9\language\chardef\@cclvi} - -\def\newcount#1{\@TM@s\@@newcount#1\@TM@r} -\def\newdimen#1{\@TM@s\@@newdimen#1\@TM@r} -\def\newskip#1{\@TM@s\@@newskip#1\@TM@r} -\def\newmuskip#1{\@TM@s\@@newmuskip#1\@TM@r} -\def\newbox#1{\@TM@s\@@newbox#1\@TM@r} -\let\newtoks=\relax % we do this to allow plain.tex to be read in twice -\def\newhelp#1#2{\@TM@s\@@newhelp#1{#2}\@TM@r} -\def\newtoks#1{\@TM@s\@@newtoks#1\@TM@r} -\def\newread#1{\@TM@s\@@newread#1\@TM@r} -\def\newwrite#1{\@TM@s\@@newwrite#1\@TM@r} -\def\newfam#1{\@TM@s\@@newfam#1\@TM@r} -\def\newlanguage#1{\@TM@s\@@newlanguage#1\@TM@r} -\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne - \ch@ck#1#4#2% make sure there's still room - \allocationnumber=\count1#1% - \global#3#5=\allocationnumber - \wlog{\string#5=\string#2\the\allocationnumber}} -\def\newinsert#1{\global\advance\insc@unt by\m@ne - \ch@ck0\insc@unt\count - \ch@ck1\insc@unt\dimen - \ch@ck2\insc@unt\skip - \ch@ck4\insc@unt\box - \allocationnumber=\insc@unt - \global\chardef#1=\allocationnumber - \wlog{\string#1=\string\insert\the\allocationnumber}} -\def\ch@ck#1#2#3{\ifnum\count1#1<#2% - \else\errmessage{No room for a new #3}\fi} - -%% trace -{\def\newcount{\alloc@0\count\countdef\insc@unt} - \def\newdimen{\alloc@1\dimen\dimendef\insc@unt} -\newcount\@TM@c \newcount\@TC@c -\newdimen\z@ \global\z@=0pt} -\def\@TM@s{\@TC@c\tracingcommands \tracingcommands\z@ - \@TM@c\tracingmacros \tracingmacros\z@ - \relax} -\def\@TM@r{\tracingmacros\@TM@c \tracingcommands\@TC@c} -\let\x@TM@s\@TM@s \let\x@TM@r\@TM@r - -% Here are some examples of allocation. -\newdimen\maxdimen \maxdimen=16383.99999pt % the largest legal <dimen> -\newskip\hideskip \hideskip=-1000pt plus 1fill % negative but can grow -\newskip\centering \centering=0pt plus 1000pt minus 1000pt -\newdimen\p@ \p@=1pt % this saves macro space and time -%V \newdimen\z@ \z@=0pt % defined above -\newskip\z@skip \z@skip=0pt plus0pt minus0pt -\newbox\voidb@x % permanently void box register - -% And here's a different sort of allocation: -% For example, \newif\iffoo creates \footrue, \foofalse to go with \iffoo. -\def\newif#1{%\@TM@s - \count@\escapechar \escapechar\m@ne - \expandafter\expandafter\expandafter - \xdef\@if#1{yes}{\let\noexpand#1=\noexpand\iftrue}% - \expandafter\expandafter\expandafter - \xdef\@if#1{true}{\let\noexpand#1=\noexpand\iftrue}% - \expandafter\expandafter\expandafter - \xdef\@if#1{no}{\let\noexpand#1=\noexpand\iffalse}% - \expandafter\expandafter\expandafter - \xdef\@if#1{false}{\let\noexpand#1=\noexpand\iffalse}% - \global\@if#1{no}% the condition starts out false - \escapechar\count@ -% \@TM@r -} -\def\@if#1#2{\csname\expandafter\if@\string#1#2\endcsname} -{\uccode`1=`i \uccode`2=`f \uppercase{\gdef\if@12{}}} % `if' is required - - -% Assign initial values to TeX's parameters - -% All of TeX's numeric parameters are listed here, -% but the code is commented out if no special value needs to be set. -% INITEX makes all parameters zero except where noted. - -\pretolerance=100 -\tolerance=200 % INITEX sets this to 10000 -\hbadness=1000 -\vbadness=1000 -\linepenalty=10 -\hyphenpenalty=50 -\exhyphenpenalty=50 -\binoppenalty=700 -\relpenalty=500 -\clubpenalty=150 -\widowpenalty=150 -\displaywidowpenalty=50 -\brokenpenalty=100 -\predisplaypenalty=10000 -% \postdisplaypenalty=0 -% \interlinepenalty=0 -% \floatingpenalty=0, set during \insert -% \outputpenalty=0, set before TeX enters \output -\doublehyphendemerits=10000 -\finalhyphendemerits=5000 -\adjdemerits=10000 -% \looseness=0, cleared by TeX after each paragraph -% \pausing=0 -% \holdinginserts=0 -% \tracingonline=0 -% \tracingmacros=0 -% \tracingstats=0 -% \tracingparagraphs=0 -% \tracingpages=0 -% \tracingoutput=0 -\tracinglostchars=1 -% \tracingcommands=0 -% \tracingrestores=0 -% \language=0 -\uchyph=1 -% \lefthyphenmin=2 \righthyphenmin=3 set below -% \globaldefs=0 -% \maxdeadcycles=25 % INITEX does this -% \hangafter=1 % INITEX does this, also TeX after each paragraph -% \fam=0 -% \mag=1000 % INITEX does this -% \escapechar=`\\ % INITEX does this -\defaulthyphenchar=`\- -\defaultskewchar=-1 -% \endlinechar=`\^^M % INITEX does this -\newlinechar=-1 -\delimiterfactor=901 -% \time=now % TeX does this at beginning of job -% \day=now % TeX does this at beginning of job -% \month=now % TeX does this at beginning of job -% \year=now % TeX does this at beginning of job -\showboxbreadth=5 -\showboxdepth=3 -\errorcontextlines=5 - -\hfuzz=0.1pt -\vfuzz=0.1pt -\overfullrule=5pt -\hsize=6.5in -\vsize=8.9in -\maxdepth=4pt -\splitmaxdepth=\maxdimen -\boxmaxdepth=\maxdimen -% \lineskiplimit=0pt, changed by \normalbaselines -\delimitershortfall=5pt -\nulldelimiterspace=1.2pt -\scriptspace=0.5pt -% \mathsurround=0pt -% \predisplaysize=0pt, set before TeX enters $$ -% \displaywidth=0pt, set before TeX enters $$ -% \displayindent=0pt, set before TeX enters $$ -\parindent=20pt -% \hangindent=0pt, zeroed by TeX after each paragraph -% \hoffset=0pt -% \voffset=0pt - -% \baselineskip=0pt, changed by \normalbaselines -% \lineskip=0pt, changed by \normalbaselines -\parskip=0pt plus 1pt -\abovedisplayskip=12pt plus 3pt minus 9pt -\abovedisplayshortskip=0pt plus 3pt -\belowdisplayskip=12pt plus 3pt minus 9pt -\belowdisplayshortskip=7pt plus 3pt minus 4pt -% \leftskip=0pt -% \rightskip=0pt -\topskip=10pt -\splittopskip=10pt -% \tabskip=0pt -% \spaceskip=0pt -% \xspaceskip=0pt -\parfillskip=0pt plus 1fil - -\thinmuskip=3mu -\medmuskip=4mu plus 2mu minus 4mu -\thickmuskip=5mu plus 5mu - -% We also define special registers that function like parameters: -\newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt -\newskip\medskipamount \medskipamount=6pt plus 2pt minus 2pt -\newskip\bigskipamount \bigskipamount=12pt plus 4pt minus 4pt -\newskip\normalbaselineskip \normalbaselineskip=12pt -\newskip\normallineskip \normallineskip=1pt -\newdimen\normallineskiplimit \normallineskiplimit=0pt -\newdimen\jot \jot=3pt -\newcount\interdisplaylinepenalty \interdisplaylinepenalty=100 -\newcount\interfootnotelinepenalty \interfootnotelinepenalty=100 - -% Definitions for preloaded fonts - -\def\magstephalf{1095 } -\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or 2074\or 2488\fi\relax} - -% Fonts assigned to \preloaded are not part of "plain TeX", -% but they are preloaded so that other format packages can use them. -% For example, if another set of macros says "\font\ninerm=cmr9", -% TeX will not have to reload the font metric information for cmr9. - -%\font\tenrm=cmr10 % roman text -%\font\preloaded=cmr9 -%\font\preloaded=cmr8 -%\font\sevenrm=cmr7 -%\font\preloaded=cmr6 -%\font\fiverm=cmr5 - -%\font\teni=cmmi10 % math italic %LP in lollipop-fonts.tex -%\font\preloaded=cmmi9 -%\font\preloaded=cmmi8 -%\font\seveni=cmmi7 -%\font\preloaded=cmmi6 -%\font\fivei=cmmi5 - -%\font\tensy=cmsy10 % math symbols %LP in lollipop-fonts.tex -%\font\preloaded=cmsy9 -%\font\preloaded=cmsy8 -%\font\sevensy=cmsy7 -%\font\preloaded=cmsy6 -%\font\fivesy=cmsy5 - -\font\tenex=cmex10 % math extension (This seems to be necessary here) - -%\font\preloaded=cmss10 % sans serif -%\font\preloaded=cmssq8 - -%\font\preloaded=cmssi10 % sans serif italic -%\font\preloaded=cmssqi8 - -%%\font\tenbf=cmbx10 % boldface extended -%\font\preloaded=cmbx9 -%\font\preloaded=cmbx8 -%%\font\sevenbf=cmbx7 -%\font\preloaded=cmbx6 -%%\font\fivebf=cmbx5 - -\font\tentt=cmtt10 % typewriter -%\font\preloaded=cmtt9 -%\font\preloaded=cmtt8 - -%\font\preloaded=cmsltt10 % slanted typewriter - -%%\font\tensl=cmsl10 % slanted roman -%\font\preloaded=cmsl9 -%\font\preloaded=cmsl8 - -%%\font\tenit=cmti10 % text italic -%\font\preloaded=cmti9 -%\font\preloaded=cmti8 -%\font\preloaded=cmti7 - - -\let\preloaded=\undefined % preloaded fonts must be declared anew later. - -%LP \skewchar moved to lollipop-fonts.tex -%\skewchar\teni='177 \skewchar\seveni='177 \skewchar\fivei='177 -%\skewchar\tensy='60 \skewchar\sevensy='60 \skewchar\fivesy='60 - -% Macros for setting ordinary text - -\def\frenchspacing{\sfcode`\.\@m \sfcode`\?\@m \sfcode`\!\@m - \sfcode`\:\@m \sfcode`\;\@m \sfcode`\,\@m} -\def\nonfrenchspacing{\sfcode`\.3000\sfcode`\?3000\sfcode`\!3000% - \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 } - - -% VK define \normalbaselines -\def\normalbaselines{\lineskip\normallineskip - \baselineskip\normalbaselineskip \lineskiplimit\normallineskiplimit} - -\def\^^M{\ } % control <return> = control <space> -\def\^^I{\ } % same for <tab> - -\def\lq{`} \def\rq{'} -\def\lbrack{[} \def\rbrack{]} - -\let\endgraf=\par \let\endline=\cr - -%LP In case we redefine \par, here is the original -\let\@par=\par - -\def\space{ } -\def\empty{} -\def\null{\hbox{}} - -\let\bgroup={ \let\egroup=} - -%%%%%%%%%%%%%%%% Catcode alterations - -%%%% Dospecials -% -% (not counting ascii null, tab, linefeed, formfeed, return, delete) -% Each symbol in the list is preceded by \do, which can be defined -% if you want to do something to every item in the list. -% -% " added wrt plain definition -% -\def\dospecials{\@TM@s\do\ \do\\\do\{\do\}\do\$\do\&% - \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~\do\"\@TM@r} - -% handy abbrevs -% -\def\makeother#1{\catcode`#1\other} -\def\othercr{\makeother\^^M\relax} -\def\normalcr{\catcode`\^^M=5\relax} -\def\activecr{\catcode`\^^M\active} -\def\noeol{\endlinechar\m@ne}\def\normaleol{\endlinechar`\^^M\relax} -\def\noesc{\escapechar\m@ne}\def\normalesc{\escapechar`\\\relax} - -% obeylines -% -% In \obeylines, we say `\let^^M=\par' instead of `\def^^M{\par}' -% since this allows, for example, `\let\par=\cr \obeylines \halign{...' -% -% addition for empty lines -% -{\activecr % these lines must end with % - \gdef\obeylines{\activecr \def^^M{\@par\leavevmode\hbox{}}}% - \global\let^^M\@par} % this is in case ^^M appears in a \write - -% obeyspaces -% -% plain: {\obeyspaces\global\let =\space} -% extended for initial spaces on a line -% -{\catcode`\ \active -\gdef\obeyspaces{\catcode`\ \active\let =\@ospace}} -\def\@ospace{\leavevmode{} } - -%LP minimal improvement over the original \loop macro -\long\def\loop#1\repeat{\long\def\body{#1}\iterate} -\def\iterate{\let\loopnext\relax \body \let\loopnext\iterate \fi - \loopnext} -\let\repeat=\fi % this makes \loop...\if...\repeat skippable - -\def\thinspace{\kern .16667em } -\def\negthinspace{\kern-.16667em } -\def\enspace{\kern.5em } - -\def\enskip{\hskip.5em\relax} -\def\quad{\hskip1em\relax} -\def\qquad{\hskip2em\relax} - -\def\smallskip{\vskip\smallskipamount} -\def\medskip{\vskip\medskipamount} -\def\bigskip{\vskip\bigskipamount} - -\def\nointerlineskip{\prevdepth-1000\p@} -\def\offinterlineskip{\baselineskip-1000\p@ - \lineskip\z@ \lineskiplimit\maxdimen} - -\def\topglue{\nointerlineskip\vglue-\topskip\vglue} % for top of page -\def\vglue{\afterassignment\vgl@\skip@=} -\def\vgl@{\par \dimen@\prevdepth \hrule height\z@ - \nobreak\vskip\skip@ \prevdepth\dimen@} -\def\hglue{\afterassignment\hgl@\skip@=} -\def\hgl@{\leavevmode \count@\spacefactor \vrule width\z@ - \nobreak\hskip\skip@ \spacefactor\count@} - -\def~{\penalty\@M \ } % tie -\def\slash{/\penalty\exhyphenpenalty} % a `/' that acts like a `-' - -\def\break{\penalty-\@M} -\def\nobreak{\penalty \@M} -\def\allowbreak{\penalty \z@} - -\def\filbreak{\par\vfil\penalty-200\vfilneg} -\def\goodbreak{\par\penalty-500 } -\def\eject{\par\break} -\def\supereject{\par\penalty-\@MM} - -\def\removelastskip{\ifdim\lastskip=\z@\else\vskip-\lastskip\fi} -\def\smallbreak{\par\ifdim\lastskip<\smallskipamount - \removelastskip\penalty-50\smallskip\fi} -\def\medbreak{\par\ifdim\lastskip<\medskipamount - \removelastskip\penalty-100\medskip\fi} -\def\bigbreak{\par\ifdim\lastskip<\bigskipamount - \removelastskip\penalty-200\bigskip\fi} - -\def\line{\hbox to\hsize} -\def\leftline#1{\line{#1\hss}} -\def\rightline#1{\line{\hss#1}} -\def\centerline#1{\line{\hss#1\hss}} - -\def\rlap#1{\hbox to\z@{#1\hss}} -\def\llap#1{\hbox to\z@{\hss#1}} - -\def\m@th{\mathsurround\z@} -\def\underbar#1{$\setbox\z@\hbox{#1}\dp\z@\z@ - \m@th \underline{\box\z@}$} - -\newbox\strutbox -\setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width\z@} -\def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi} - -\def\hidewidth{\hskip\hideskip} % for alignment entries that can stick out -\def\ialign{\everycr{}\tabskip\z@skip\halign} % initialized \halign -\newcount\mscount -\def\multispan#1{\omit \mscount#1\relax - \loop\ifnum\mscount>\@ne \sp@n\repeat} -\def\sp@n{\span\omit\advance\mscount\m@ne} - -%LP We keep the old tabbing macros -\newif\ifus@ \newif\if@cr -\newbox\tabs \newbox\tabsyet \newbox\tabsdone - -\def\cleartabs{\global\setbox\tabsyet\null \setbox\tabs\null} -\def\settabs{\setbox\tabs\null \futurelet\next\sett@b} -\let\+=\relax % in case this file is being read in twice -\def\sett@b{\ifx\next\+\def\nxt{\afterassignment\s@tt@b\let\nxt}% - \else\let\nxt\s@tcols\fi \let\next\relax \nxt} -\def\s@tt@b{\let\nxt\relax \us@false\m@ketabbox} -\def\tabalign{\us@true\m@ketabbox} % non-\outer version of \+ -\outer\def\+{\tabalign} -\def\s@tcols#1\columns{\count@#1\dimen@\hsize - \loop\ifnum\count@>\z@ \@nother \repeat} -\def\@nother{\dimen@ii\dimen@ \divide\dimen@ii\count@ - \setbox\tabs\hbox{\hbox to\dimen@ii{}\unhbox\tabs}% - \advance\dimen@-\dimen@ii \advance\count@\m@ne} - -\def\m@ketabbox{\begingroup - \global\setbox\tabsyet\copy\tabs - \global\setbox\tabsdone\null - \def\cr{\@crtrue\crcr\egroup\egroup - \ifus@\unvbox\z@\lastbox\fi\endgroup - \setbox\tabs\hbox{\unhbox\tabsyet\unhbox\tabsdone}}% - \setbox\z@\vbox\bgroup\@crfalse - \ialign\bgroup&\t@bbox##\t@bb@x\crcr} - -\def\t@bbox{\setbox\z@\hbox\bgroup} -\def\t@bb@x{\if@cr\egroup % now \box\z@ holds the column - \else\hss\egroup \global\setbox\tabsyet\hbox{\unhbox\tabsyet - \global\setbox\@ne\lastbox}% now \box\@ne holds its size - \ifvoid\@ne\global\setbox\@ne\hbox to\wd\z@{}% - \else\setbox\z@\hbox to\wd\@ne{\unhbox\z@}\fi - \global\setbox\tabsdone\hbox{\box\@ne\unhbox\tabsdone}\fi - \box\z@} - -\chardef\%=`\% -\chardef\&=`\& -\chardef\#=`\# -\chardef\$=`\$ -\chardef\ss="19 -\chardef\ae="1A -\chardef\oe="1B -\chardef\o="1C -\chardef\AE="1D -\chardef\OE="1E -\chardef\O="1F -\chardef\i="10 \chardef\j="11 % dotless letters -\def\aa{\accent23a} -\def\l{\char32l} -\def\L{\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}} - -\def\leavevmode{\unhbox\voidb@x} % begins a paragraph, if necessary -\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}} -\def\AA{\leavevmode\setbox0\hbox{!}\dimen@\ht0\advance\dimen@-1ex% - \rlap{\raise.67\dimen@\hbox{\char'27}}A} - -\def\mathhexbox#1#2#3{\leavevmode - \hbox{$\m@th \mathchar"#1#2#3$}} -\def\dag{\mathhexbox279} -\def\ddag{\mathhexbox27A} -\def\S{\mathhexbox278} -\def\P{\mathhexbox27B} -\def\Orb{\mathhexbox20D} - -\def\oalign#1{\leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex% - \ialign{##\crcr#1\crcr}}} % put characters over each other -\def\o@lign{\lineskiplimit\z@ \oalign} -\def\ooalign{\lineskiplimit-\maxdimen \oalign} -{\catcode`p=12 \catcode`t=12 \gdef\\#1pt{#1}} \let\getf@ctor=\\ -\def\sh@ft#1{\dimen@#1\kern\expandafter\getf@ctor\the\fontdimen1\font - \dimen@} % kern by #1 times the current slant -\def\d#1{{\o@lign{\relax#1\crcr\hidewidth\sh@ft{-1ex}.\hidewidth}}} -\def\b#1{{\o@lign{\relax#1\crcr\hidewidth\sh@ft{-3ex}% - \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}} -\def\c#1{{\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1% - \else\ooalign{\unhbox\z@\crcr\hidewidth\char24\hidewidth}\fi}} -\def\copyright{{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\Orb}}} - -\def\dots{\relax\ifmmode\ldots\else$\m@th\ldots\,$\fi} -\def\TeX{\protect\@TeX} -\def\@TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX} - -\def\`#1{{\accent18 #1}} -\def\'#1{{\accent19 #1}} -\def\v#1{{\accent20 #1}} \let\^^_=\v -\def\u#1{{\accent21 #1}} \let\^^S=\u -\def\=#1{{\accent22 #1}} -\def\^#1{{\accent94 #1}} \let\^^D=\^ -\def\.#1{{\accent95 #1}} -\def\H#1{{\accent"7D #1}} -\def\~#1{{\accent"7E #1}} -\def\"#1{{\accent"7F #1}} -\def\t#1{{\edef\next{\the\font}\the\textfont1\accent"7F\next#1}} - -\def\hrulefill{\leaders\hrule\hfill} -\def\dotfill{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill} -\def\rightarrowfill{$\m@th\smash-\mkern-7mu% - \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill - \mkern-7mu\mathord\rightarrow$} -\def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu% - \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill - \mkern-7mu\smash-$} -\mathchardef\braceld="37A \mathchardef\bracerd="37B -\mathchardef\bracelu="37C \mathchardef\braceru="37D -\def\downbracefill{$\m@th \setbox\z@\hbox{$\braceld$}% - \braceld\leaders\vrule height\ht\z@ depth\z@\hfill\braceru - \bracelu\leaders\vrule height\ht\z@ depth\z@\hfill\bracerd$} -\def\upbracefill{$\m@th \setbox\z@\hbox{$\braceld$}% - \bracelu\leaders\vrule height\ht\z@ depth\z@\hfill\bracerd - \braceld\leaders\vrule height\ht\z@ depth\z@\hfill\braceru$} - -%\outer\def\bye{\par\vfill\supereject\end} - -% Macros for math setting - -\let\sp=^ \let\sb=_ -\def\,{\mskip\thinmuskip} -\def\>{\mskip\medmuskip} -\def\;{\mskip\thickmuskip} -\def\!{\mskip-\thinmuskip} -\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}} -{\catcode`\'=\active \gdef'{^\bgroup\prim@s}} -\def\prim@s{\prime\futurelet\next\pr@m@s} -\def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else\ifx^\next\let\nxt\pr@@@t - \else\let\nxt\egroup\fi\fi \nxt} -\def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup} -{\catcode`\^^Z=\active \gdef^^Z{\not=}} % ^^Z is like \ne in math -{\catcode`\_=\active \global\let_=\_} % _ in math is either subscript or \_ - -\mathchardef\alpha="010B -\mathchardef\beta="010C -\mathchardef\gamma="010D -\mathchardef\delta="010E -\mathchardef\epsilon="010F -\mathchardef\zeta="0110 -\mathchardef\eta="0111 -\mathchardef\theta="0112 -\mathchardef\iota="0113 -\mathchardef\kappa="0114 -\mathchardef\lambda="0115 -\mathchardef\mu="0116 -\mathchardef\nu="0117 -\mathchardef\xi="0118 -\mathchardef\pi="0119 -\mathchardef\rho="011A -\mathchardef\sigma="011B -\mathchardef\tau="011C -\mathchardef\upsilon="011D -\mathchardef\phi="011E -\mathchardef\chi="011F -\mathchardef\psi="0120 -\mathchardef\omega="0121 -\mathchardef\varepsilon="0122 -\mathchardef\vartheta="0123 -\mathchardef\varpi="0124 -\mathchardef\varrho="0125 -\mathchardef\varsigma="0126 -\mathchardef\varphi="0127 -\mathchardef\Gamma="7000 -\mathchardef\Delta="7001 -\mathchardef\Theta="7002 -\mathchardef\Lambda="7003 -\mathchardef\Xi="7004 -\mathchardef\Pi="7005 -\mathchardef\Sigma="7006 -\mathchardef\Upsilon="7007 -\mathchardef\Phi="7008 -\mathchardef\Psi="7009 -\mathchardef\Omega="700A - -\mathchardef\aleph="0240 -\def\hbar{{\mathchar'26\mkern-9muh}} -\mathchardef\imath="017B -\mathchardef\jmath="017C -\mathchardef\ell="0160 -\mathchardef\wp="017D -\mathchardef\Re="023C -\mathchardef\Im="023D -\mathchardef\partial="0140 -\mathchardef\infty="0231 -\mathchardef\prime="0230 -\mathchardef\emptyset="023B -\mathchardef\nabla="0272 -\def\surd{{\mathchar"1270}} -\mathchardef\top="023E -\mathchardef\bot="023F -\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr - \not\mathrel{\mkern14mu}\crcr - \noalign{\nointerlineskip} - \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}} -\mathchardef\triangle="0234 -\mathchardef\forall="0238 -\mathchardef\exists="0239 -\mathchardef\neg="023A \let\lnot=\neg -\mathchardef\flat="015B -\mathchardef\natural="015C -\mathchardef\sharp="015D -\mathchardef\clubsuit="027C -\mathchardef\diamondsuit="027D -\mathchardef\heartsuit="027E -\mathchardef\spadesuit="027F - -\mathchardef\coprod="1360 -\mathchardef\bigvee="1357 -\mathchardef\bigwedge="1356 -\mathchardef\biguplus="1355 -\mathchardef\bigcap="1354 -\mathchardef\bigcup="1353 -\mathchardef\intop="1352 \def\int{\intop\nolimits} -\mathchardef\prod="1351 -\mathchardef\sum="1350 -\mathchardef\bigotimes="134E -\mathchardef\bigoplus="134C -\mathchardef\bigodot="134A -\mathchardef\ointop="1348 \def\oint{\ointop\nolimits} -\mathchardef\bigsqcup="1346 -\mathchardef\smallint="1273 - -\mathchardef\triangleleft="212F -\mathchardef\triangleright="212E -\mathchardef\bigtriangleup="2234 -\mathchardef\bigtriangledown="2235 -\mathchardef\wedge="225E \let\land=\wedge -\mathchardef\vee="225F \let\lor=\vee -\mathchardef\cap="225C -\mathchardef\cup="225B -\mathchardef\ddagger="227A -\mathchardef\dagger="2279 -\mathchardef\sqcap="2275 -\mathchardef\sqcup="2274 -\mathchardef\uplus="225D -\mathchardef\amalg="2271 -\mathchardef\diamond="2205 -\mathchardef\bullet="220F -\mathchardef\wr="226F -\mathchardef\div="2204 -\mathchardef\odot="220C -\mathchardef\oslash="220B -\mathchardef\otimes="220A -\mathchardef\ominus="2209 -\mathchardef\oplus="2208 -\mathchardef\mp="2207 -\mathchardef\pm="2206 -\mathchardef\circ="220E -\mathchardef\bigcirc="220D -\mathchardef\setminus="226E % for set difference A\setminus B -\mathchardef\cdot="2201 -\mathchardef\ast="2203 -\mathchardef\times="2202 -\mathchardef\star="213F - -\mathchardef\propto="322F -\mathchardef\sqsubseteq="3276 -\mathchardef\sqsupseteq="3277 -\mathchardef\parallel="326B -\mathchardef\mid="326A -\mathchardef\dashv="3261 -\mathchardef\vdash="3260 -\mathchardef\nearrow="3225 -\mathchardef\searrow="3226 -\mathchardef\nwarrow="322D -\mathchardef\swarrow="322E -\mathchardef\Leftrightarrow="322C -\mathchardef\Leftarrow="3228 -\mathchardef\Rightarrow="3229 -\def\neq{\not=} \let\ne=\neq -\mathchardef\leq="3214 \let\le=\leq -\mathchardef\geq="3215 \let\ge=\geq -\mathchardef\succ="321F -\mathchardef\prec="321E -\mathchardef\approx="3219 -\mathchardef\succeq="3217 -\mathchardef\preceq="3216 -\mathchardef\supset="321B -\mathchardef\subset="321A -\mathchardef\supseteq="3213 -\mathchardef\subseteq="3212 -\mathchardef\in="3232 -\mathchardef\ni="3233 \let\owns=\ni -\mathchardef\gg="321D -\mathchardef\ll="321C -\mathchardef\not="3236 -\mathchardef\leftrightarrow="3224 -\mathchardef\leftarrow="3220 \let\gets=\leftarrow -\mathchardef\rightarrow="3221 \let\to=\rightarrow -\mathchardef\mapstochar="3237 \def\mapsto{\mapstochar\rightarrow} -\mathchardef\sim="3218 -\mathchardef\simeq="3227 -\mathchardef\perp="323F -\mathchardef\equiv="3211 -\mathchardef\asymp="3210 -\mathchardef\smile="315E -\mathchardef\frown="315F -\mathchardef\leftharpoonup="3128 -\mathchardef\leftharpoondown="3129 -\mathchardef\rightharpoonup="312A -\mathchardef\rightharpoondown="312B - -\def\joinrel{\mathrel{\mkern-3mu}} -\def\relbar{\mathrel{\smash-}} % \smash, because - has the same height as + -\def\Relbar{\mathrel=} -\mathchardef\lhook="312C \def\hookrightarrow{\lhook\joinrel\rightarrow} -\mathchardef\rhook="312D \def\hookleftarrow{\leftarrow\joinrel\rhook} -\def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft} -\def\models{\mathrel|\joinrel=} -\def\Longrightarrow{\Relbar\joinrel\Rightarrow} -\def\longrightarrow{\relbar\joinrel\rightarrow} -\def\longleftarrow{\leftarrow\joinrel\relbar} -\def\Longleftarrow{\Leftarrow\joinrel\Relbar} -\def\longmapsto{\mapstochar\longrightarrow} -\def\longleftrightarrow{\leftarrow\joinrel\rightarrow} -\def\Longleftrightarrow{\Leftarrow\joinrel\Rightarrow} -\def\iff{\;\Longleftrightarrow\;} - -\mathchardef\ldotp="613A % ldot as a punctuation mark -\mathchardef\cdotp="6201 % cdot as a punctuation mark -\mathchardef\colon="603A % colon as a punctuation mark -\def\ldots{\mathinner{\ldotp\ldotp\ldotp}} -\def\cdots{\mathinner{\cdotp\cdotp\cdotp}} -\def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ - \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} -\def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu - \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu}} - -\def\acute{\mathaccent"7013 } -\def\grave{\mathaccent"7012 } -\def\ddot{\mathaccent"707F } -\def\tilde{\mathaccent"707E } -\def\bar{\mathaccent"7016 } -\def\breve{\mathaccent"7015 } -\def\check{\mathaccent"7014 } -\def\hat{\mathaccent"705E } -\def\vec{\mathaccent"017E } -\def\dot{\mathaccent"705F } -\def\widetilde{\mathaccent"0365 } -\def\widehat{\mathaccent"0362 } -\def\overrightarrow#1{\vbox{\m@th\ialign{##\crcr - \rightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} - $\hfil\displaystyle{#1}\hfil$\crcr}}} -\def\overleftarrow#1{\vbox{\m@th\ialign{##\crcr - \leftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} - $\hfil\displaystyle{#1}\hfil$\crcr}}} -\def\overbrace#1{\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern3\p@} - \downbracefill\crcr\noalign{\kern3\p@\nointerlineskip} - $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits} -\def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr - $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip} - \upbracefill\crcr\noalign{\kern3\p@}}}}\limits} -\def\skew#1#2#3{{\muskip\z@#1mu\divide\muskip\z@\tw@ \mkern\muskip\z@ - #2{\mkern-\muskip\z@{#3}\mkern\muskip\z@}\mkern-\muskip\z@}{}} - -\def\lmoustache{\delimiter"437A340 } % top from (, bottom from ) -\def\rmoustache{\delimiter"537B341 } % top from ), bottom from ( -\def\lgroup{\delimiter"462833A } % extensible ( with sharper tips -\def\rgroup{\delimiter"562933B } % extensible ) with sharper tips -\def\arrowvert{\delimiter"26A33C } % arrow without arrowheads -\def\Arrowvert{\delimiter"26B33D } % double arrow without arrowheads -\def\bracevert{\delimiter"77C33E } % the vertical bar that extends braces -\def\Vert{\delimiter"26B30D } \let\|=\Vert -\def\vert{\delimiter"26A30C } -\def\uparrow{\delimiter"3222378 } -\def\downarrow{\delimiter"3223379 } -\def\updownarrow{\delimiter"326C33F } -\def\Uparrow{\delimiter"322A37E } -\def\Downarrow{\delimiter"322B37F } -\def\Updownarrow{\delimiter"326D377 } -\def\backslash{\delimiter"26E30F } % for double coset G\backslash H -\def\rangle{\delimiter"526930B } -\def\langle{\delimiter"426830A } -\def\rbrace{\delimiter"5267309 } \let\}=\rbrace -\def\lbrace{\delimiter"4266308 } \let\{=\lbrace -\def\rceil{\delimiter"5265307 } -\def\lceil{\delimiter"4264306 } -\def\rfloor{\delimiter"5263305 } -\def\lfloor{\delimiter"4262304 } - -\def\bigl{\mathopen\big} -\def\bigm{\mathrel\big} -\def\bigr{\mathclose\big} -\def\Bigl{\mathopen\Big} -\def\Bigm{\mathrel\Big} -\def\Bigr{\mathclose\Big} -\def\biggl{\mathopen\bigg} -\def\biggm{\mathrel\bigg} -\def\biggr{\mathclose\bigg} -\def\Biggl{\mathopen\Bigg} -\def\Biggm{\mathrel\Bigg} -\def\Biggr{\mathclose\Bigg} -\def\big#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}} -\def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}} -\def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}} -\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}} -\def\n@space{\nulldelimiterspace\z@ \m@th} - -\def\choose{\atopwithdelims()} -\def\brack{\atopwithdelims[]} -\def\brace{\atopwithdelims\{\}} - -\def\sqrt{\radical"270370 } - -\def\mathpalette#1#2{\mathchoice{#1\displaystyle{#2}}% - {#1\textstyle{#2}}{#1\scriptstyle{#2}}{#1\scriptscriptstyle{#2}}} -\newbox\rootbox -\def\root#1\of{\setbox\rootbox - \hbox{$\m@th\scriptscriptstyle{#1}$}\mathpalette\r@@t} -\def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}\dimen@\ht\z@ - \advance\dimen@-\dp\z@ - \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu\box\z@} -\newif\ifv@ \newif\ifh@ -%% LP -\let\v@true=\v@yes \let\v@false=\v@no -\let\h@true=\h@yes \let\h@false=\h@no -\def\vphantom{\v@true\h@false\ph@nt} -\def\hphantom{\v@false\h@true\ph@nt} -\def\phantom{\v@true\h@true\ph@nt} -\def\ph@nt{\ifmmode\def\next{\mathpalette\mathph@nt}% - \else\let\next\makeph@nt\fi\next} -\def\makeph@nt#1{\setbox\z@\hbox{#1}\finph@nt} -\def\mathph@nt#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finph@nt} -\def\finph@nt{\setbox\tw@\null - \ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi - \ifh@ \wd\tw@\wd\z@\fi \box\tw@} -\def\mathstrut{\vphantom(} -\def\smash{\relax % \relax, in case this comes first in \halign - \ifmmode\def\next{\mathpalette\mathsm@sh}\else\let\next\makesm@sh - \fi\next} -\def\makesm@sh#1{\setbox\z@\hbox{#1}\finsm@sh} -\def\mathsm@sh#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finsm@sh} -\def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \box\z@} - -\def\cong{\mathrel{\mathpalette\@vereq\sim}} % congruence sign -\def\@vereq#1#2{\lower.5\p@\vbox{\lineskiplimit\maxdimen\lineskip-.5\p@ - \ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr=\crcr}}} -\def\notin{\mathrel{\mathpalette\c@ncel\in}} -\def\c@ncel#1#2{\m@th\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}} -\def\rightleftharpoons{\mathrel{\mathpalette\rlh@{}}} -\def\rlh@#1{\vcenter{\m@th\hbox{\ooalign{\raise2pt - \hbox{$#1\rightharpoonup$}\crcr - $#1\leftharpoondown$}}}} -\def\buildrel#1\over#2{\mathrel{\mathop{\kern\z@#2}\limits^{#1}}} -\def\doteq{\buildrel\textstyle.\over=} - -\def\log{\mathop{\rm log}\nolimits} -\def\lg{\mathop{\rm lg}\nolimits} -\def\ln{\mathop{\rm ln}\nolimits} -\def\lim{\mathop{\rm lim}} -\def\limsup{\mathop{\rm lim\,sup}} -\def\liminf{\mathop{\rm lim\,inf}} -\def\sin{\mathop{\rm sin}\nolimits} -\def\arcsin{\mathop{\rm arcsin}\nolimits} -\def\sinh{\mathop{\rm sinh}\nolimits} -\def\cos{\mathop{\rm cos}\nolimits} -\def\arccos{\mathop{\rm arccos}\nolimits} -\def\cosh{\mathop{\rm cosh}\nolimits} -\def\tan{\mathop{\rm tan}\nolimits} -\def\arctan{\mathop{\rm arctan}\nolimits} -\def\tanh{\mathop{\rm tanh}\nolimits} -\def\cot{\mathop{\rm cot}\nolimits} -\def\coth{\mathop{\rm coth}\nolimits} -\def\sec{\mathop{\rm sec}\nolimits} -\def\csc{\mathop{\rm csc}\nolimits} -\def\max{\mathop{\rm max}} -\def\min{\mathop{\rm min}} -\def\sup{\mathop{\rm sup}} -\def\inf{\mathop{\rm inf}} -\def\arg{\mathop{\rm arg}\nolimits} -\def\ker{\mathop{\rm ker}\nolimits} -\def\dim{\mathop{\rm dim}\nolimits} -\def\hom{\mathop{\rm hom}\nolimits} -\def\det{\mathop{\rm det}} -\def\exp{\mathop{\rm exp}\nolimits} -\def\Pr{\mathop{\rm Pr}} -\def\gcd{\mathop{\rm gcd}} -\def\deg{\mathop{\rm deg}\nolimits} - -\def\bmod{\nonscript\mskip-\medmuskip\mkern5mu - \mathbin{\rm mod}\penalty900\mkern5mu\nonscript\mskip-\medmuskip} -\def\pmod#1{\allowbreak\mkern18mu({\rm mod}\,\,#1)} - -\def\cases#1{\left\{\,\vcenter{\normalbaselines\m@th - \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}\right.} -\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th - \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr - \mathstrut\crcr\noalign{\kern-\baselineskip} - #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,} -\def\pmatrix#1{\left(\matrix{#1}\right)} -\newdimen\p@renwd -\setbox0=\hbox{\tenex B} \p@renwd=\wd0 % width of the big left ( -\def\bordermatrix#1{\begingroup \m@th - \setbox\z@\vbox{\def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}% - \ialign{$##$\hfil\kern2\p@\kern\p@renwd&\thinspace\hfil$##$\hfil - &&\quad\hfil$##$\hfil\crcr - \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}% - #1\crcr\omit\strut\cr}}% - \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}% - \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}% - \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne - \global\setbox\@ne\vbox{\box\@ne\kern2\p@}% - \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}% - \null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup} - -\def\openup{\afterassignment\@penup\dimen@=} -\def\@penup{\advance\lineskip\dimen@ - \advance\baselineskip\dimen@ - \advance\lineskiplimit\dimen@} -\def\eqalign#1{\null\,\vcenter{\openup\jot\m@th - \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil - \crcr#1\crcr}}\,} -\newif\ifdt@p -\let\dt@ptrue=\dt@pyes \let\dt@pfalse=\dt@pno %%LP -\def\displ@y{\global\dt@ptrue\openup\jot\m@th - \everycr{\noalign{\ifdt@p \global\dt@pfalse \ifdim\prevdepth>-1000\p@ - \vskip-\lineskiplimit \vskip\normallineskiplimit \fi - \else \penalty\interdisplaylinepenalty \fi}}} -\def\@lign{\tabskip\z@skip\everycr{}} % restore inside \displ@y -\def\displaylines#1{\displ@y \tabskip\z@skip - \halign{\hbox to\displaywidth{$\@lign\hfil\displaystyle##\hfil$}\crcr - #1\crcr}} -\def\eqalignno#1{\displ@y \tabskip\centering - \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip - &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering - &\llap{$\@lign##$}\tabskip\z@skip\crcr - #1\crcr}} -\def\leqalignno#1{\displ@y \tabskip\centering - \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip - &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering - &\kern-\displaywidth\rlap{$\@lign##$}\tabskip\displaywidth\crcr - #1\crcr}} - -% Definitions related to output - -%LP Voorlopig even laten staat voor een default output routine - -\countdef\pageno=0 \pageno=1 % first page is number 1 - -\def\textindent#1{\indent\llap{#1\enspace}\ignorespaces} -\newinsert\footins -\def\footnote#1{\let\@sf\empty % parameter #2 (the text) is read later - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi - #1\@sf\vfootnote{#1}} -\def\vfootnote#1{\insert\footins\bgroup - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \splitmaxdepth\dp\strutbox \floatingpenalty\@MM - \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip - \textindent{#1}\footstrut\futurelet\next\fo@t} -\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t - \else\let\next\f@t\fi \next} -\def\f@@t{\bgroup\aftergroup\@foot\let\next} -\def\f@t#1{#1\@foot} -\def\@foot{\strut\egroup} -\def\footstrut{\vbox to\splittopskip{}} -\skip\footins=\bigskipamount % space added when footnote is present -\count\footins=1000 % footnote magnification factor (1 to 1) -\dimen\footins=8in % maximum footnotes per page - -\newinsert\topins -\newif\ifp@ge \newif\if@mid -\let\p@getrue=\p@geyes \let\p@gefalse=\p@geno -\let\@midtrue=\@midyes \let\@midfalse=\@midno -\def\topinsert{\@midfalse\p@gefalse\@ins} -\def\midinsert{\@midtrue\@ins} -\def\pageinsert{\@midfalse\p@getrue\@ins} -\skip\topins=\z@skip % no space added when a topinsert is present -\count\topins=1000 % magnification factor (1 to 1) -\dimen\topins=\maxdimen % no limit per page -\def\@ins{\par\begingroup\setbox\z@\vbox\bgroup} % start a \vbox -\def\endinsert{\egroup % finish the \vbox - \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@ \advance\dimen@12\p@ - \advance\dimen@\pagetotal \advance\dimen@-\pageshrink - \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi - \if@mid \bigskip\box\z@\bigbreak - \else\insert\topins{\penalty100 % floating insertion - \splittopskip\z@skip - \splitmaxdepth\maxdimen \floatingpenalty\z@ - \ifp@ge \dimen@\dp\z@ - \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero - \else \box\z@\nobreak\bigskip\fi}\fi\endgroup} - - -\def\footnoterule{\kern-3\p@ - \hrule width 2truein \kern 2.6\p@} % the \hrule is .4pt high - -% Hyphenation, miscellaneous macros, and initial values for standard layout - -\lefthyphenmin=2 \righthyphenmin=3 % disallow x- or -xx breaks -\input hyphen - -\def\magnification{\afterassignment\m@g\count@} -\def\m@g{\mag\count@ - \hsize6.5truein\vsize8.9truein\dimen\footins8truein} - -\def\loggingall{\tracingcommands\tw@\tracingstats\tw@ - \tracingpages\@ne\tracingoutput\@ne\tracinglostchars\@ne - \tracingmacros\tw@\tracingparagraphs\@ne\tracingrestores\@ne - \showboxbreadth\maxdimen\showboxdepth\maxdimen\errorstopmode} -\def\tracingall{\tracingonline\@ne\loggingall} - -\font\tenrm=cmr10 % aw hell. -\def\showhyphens#1{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen\tenrm - \pretolerance\m@ne\tolerance\m@ne\hbadness0\showboxdepth0\ #1}} - - -\normalbaselines - - -\endinput - -% 2016/04/16 Fixed the error caused by \newhelp -% 2014/04/11 brought up to date with plain.tex for 3.141592653 -% 92/11/03 brought up to date with plain.tex for 3.0 \ No newline at end of file diff --git a/macros/lollipop/tex/lollipop-text.tex b/macros/lollipop/tex/lollipop-text.tex deleted file mode 100644 index d90c0a16b8..0000000000 --- a/macros/lollipop/tex/lollipop-text.tex +++ /dev/null @@ -1,553 +0,0 @@ -% lollipop-text.tex copyright 1992 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%% Text Blocks - -\@GenericConstruct{TextBlock} - -% commands can be before and after text -% store in two token lists -% switch from one to other by option 'text' -% this may also be used by ParagraphShape -% -\add@TextBlock@default{ - \def\@current@options@list{before@coms} - \def\switch@lists{\at@breakpointyes - \def\@current@options@list{after@coms}} - } -\@TextBlockOption{text}{\switch@lists} - -\def\@DefineTextBlock{ - \csarg\edef{\@name}{\@gen@open - \the\before@coms - } - \@DefineStopCommand{\the\after@coms \@gen@close} - } - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%% A L I N E A V O R M E N -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% via \everypar: -% \everypar={\@everyeverypar { ...locaal spul... -% \def\par{... \@par\egroup} -\@GenericConstruct{ParagraphShape} - -%%%%!!!!!!!!!!!!!!!! -% not functioning. -% note: \@defaulteverypar is installed now -% as a start@command! - -%% anonieme namen -% \iftempa : moet dit inspringen -% \iftempb : speciale behandeling staart? - -\def\@ParagraphShapeverstekwaardes{ - \tempano \tempbno - \temptoksb={} \temptoksc={} - \def\cs@d{b}\def\@current@options@list{temptoks\cs@d} - } -\def\@DefineParagraphShape{ - \csarg{\edef}{\@name}{% - \CSname{AltijdInspringen\iftempa yes\else no\fi}% - \nxp\everypar={\nxp\@everyeverypar - \iftempb \bgroup \fi - \the\temptoksb - \iftempb \parfillskip\z@ - \else \if@erislinkswit \parfillskip\z@ \fi\fi - \relax - \iftempb \def\nxp\par{\nxp\unskip\nxp\nobreak\the\temptoksc - \hbox{}\nxp\@par\egroup}\fi - }} } - -\@ParagraphShapeNOOP{verticaal} - -%-- inspringen -\@ParagraphShapeOption{inspringen}{ - \if\EqualString{#1}{no}\else\tempayes\fi} - -%-- tekst -\@ParagraphShapeOption{tekst}{\tempbyes\def\cs@d{c}} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%% U T I L I T I E S -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%% Space, white space -% -% unit space \@@space is set by switching font style -% -\newdimen\@@space \@@space=.5em -\def\Spaces:#1 {\hskip#1\@@space} - -% handig voor bibliografieen -\def\lax{\tolerance\@m \hfuzz\p@} - - -%%%%%%%%%%%%%%%%%%%%%%% -% White space -% -\NewTrace:skip - -\def\hwhite:#1 {\@hwhite{#1}} -\def\@hwhite#1{\ifhmode\unskip\fi\relax - \if\EqualString{#1}{fillup}\hfill\else\hskip\@ww{#1}\relax\fi} - -% Vertical -% subtle: argument should be placed even if -% size is equal: stretch may be different, -% probably more. (cf \par\vwit{0pt plus 1fil} ) -% -\def\vwhite:#1 {\@vwhite{#1}} -\@GenericOption{vwhite}{\protect@breakpoint - \@add@toks{\@vwhite{#1}}\at@breakpointno} -\def\@vwhite#1{\tempskipa=\@ww{#1}\relax \tempskipb\lastskip - \Tmessage[skip]{Considering vskip \the\tempskipa}% - \ifvmode \ifdim\tempskipb>\tempskipa - \Tmessage[skip]{Ignored. (lastskip=\the\tempskipb)}% - \else \Tmessage[skip]{Backvspacing \the\tempskipb}% - \vskip-\tempskipb - \Tmessage[skip]{Vskip \the\tempskipa}% - \vskip\tempskipa \fi - \else \if\EqualString{#1}{fillup}\hfill - \else\vskip\tempskipa \fi - \fi} - -% advance skip by literal or name of control sequence -\def\advance@skip#1#2{\advance#1\@ww{#2}\relax} - -% only backspace the previous; -% in this case prevent creating a breakpoint -% if there was no glue -% -\def\v@buffer#1{\tempskipa=\@ww{#1}\relax \tempskipb\lastskip - \Tmessage[skip]{Clearing for vskip \the\tempskipa}% - \ifvmode \ifdim\tempskipb>\tempskipa - \else \ifdim\tempskipb=\z@ - \else \vskip-\tempskipb\relax - \Tmessage[skip]{Backspaced}\fi - \fi \fi} -\def\unhskip{\ifhmode\unskip\fi} -\def\leavehmode{\unvbox\voidb@x} -\def\novbreak{\leavehmode\nobreak} - -\def\white:#1 {\@white{#1}} -\@GenericOption{white}{\protect@breakpoint - \@add@toks{\@white{#1}}\at@breakpointyes} -\def\@white#1{\ifhmode\@hwhite{#1}\else - \ifvmode\@vwhite{#1}\fi\fi} -\def\fillup{\@white{0pt plus1fill}} - -\def\@@distance#1{\csarg\newskip{#1}} -\def\Distance:#1=#2 - {\if\UndefinedCS{#1}\@@distance{#1}\fi - \edef\cs@e{\global\noexpand\set@value{#1}% - \if\UndefinedCS{#2}{#2}% - \else \CSname{#2}\fi} - \cs@e} -\def\AdaptiveDistance:#1=#2 {\Distance:#1=#2 - \adds@stop@command - {\ifWriteExtern\immediate\write\aux@file - {\string\Distance:#1={\xp\the\csn#1\ecs}}\fi - }} - -\Distance:filler={0pt plus 1fil} -\parindent=30pt -\parskip=0pt -\parfillskip=0cm plus 1 fil -\baselineskip=12pt - -%%%%%%%%%%%%%%%% Rules -\@GenericOption{rule}{ - \if\EqualString{#1}{h}\protect@breakpoint - \@add@toks{\hrule#2\relax} - \at@breakpointyes - \else\if\EqualString{#1}{v}\@add@toks{\vrule#2\relax} - \else\Wmessage{Strange option: <rule:#1=#2>} - \fi \fi} -\@GenericOption{hrule}{\protect@breakpoint - \@add@toks{\hrule}\at@breakpointyes} -\@GenericOption{vrule}{\@add@toks{\vrule}} - -%%%%%%%%%%%%%%%% Indentation Control -% default value for all paragraphs set by AlwaysIndent -% this one is set by by the user, -% or by 'indentinside' option of paragraph shapes -% -\DefineTest:AlwaysIndent -\AlwaysIndent:yes - -% override by Indent -% can be set by the user, -% or by start/end of text constructs -% -\DefineTest:Indent %forceer/onderdruk inspringen - -% Remove indentation -% this is executed by \every@everypar -% -\def\controlled@indentation - {\ifAlwaysIndent - \ifIndent \else \remove@indent \Indent:yes \fi - \else \ifIndent \Indent:no \else \remove@indent \fi - \fi} -\def\remove@indent{{\setbox0=\lastbox}} - -\def\noindentation{\AlwaysIndentno \Indentno} - -% Indentation control in Universal Block -% control sequences \first@indent \inside@indent \after@indent -% are called (in \edef context) in general open/close macros -% for universal environments - -% Indent after this block -% \global because the block may be in a further group -% -\add@generic@default{\def\after@indent{\global\nxp\Indent:no }} -\@GenericOption{indentafter}{ - \def\after@indent{\global\nxp\Indent:#1 }} - -% Indent in this block -\add@generic@default{\def\inside@indent{}} -\@GenericOption{indentinside}{ - \def\inside@indent{\nxp\AlwaysIndent:#1 }} - -% Indent first in this block -\add@generic@default{\def\first@indent{\nxp\Indent:no }} -\@GenericOption{indentfirst}{ - \def\first@indent{\nxp\Indent:#1 }} - -%%%% Level dependent indentation -% -\NewTrace:indent - -% Lots of commands and parameters -% -% \levelindent is the indentation that will be taken -% on the current level, jumping to the next -% -\newdimen\levelindent - -% \previousindent is the indentation that got us to this level -% list item labels have to outdent over this amount -% -\newdimen\previousindent \previousindent\z@ - -% indentlevel counter: used to generate automatic indentation, -% for instance \levelindentvi for level vi -% -\new@@counter{indentlevel} -\set@counter{indentlevel}1 - -% \set@level@indent : set \levelindent to automatically -% generated indentation; if \levelindentiii is defined take it, -% otherwise use \@@level@indent{3}, which uses fraction -% of a \basicindent -% -\def\set@level@indent{\levelindent= - \level@indent{\cs@counter@name{indentlevel}}} -\def\level@indent - #1{\if\UndefinedCS{\@level@indent{#1}}\@@level@indent{#1}% - \else \csname \@level@indent{#1}\endcsname \fi} -\def\@level@indent#1{levelindent\romannumeral#1} -\def\@@level@indent#1{\ifcase#1\z@\or - \basicindent \or .75\basicindent \else .5\basicindent \fi} - -\DefineTest:BasicIndentIsSet -% the following lines appear as the last command in \Start, -% so that the user can tinker with \parindent -% through adaptive distances or in the style -%\ifBasicIndentIsSet\else\Distance:basicindent=parindent\fi -%\set@level@indent - -% \SetLevelIndent : set exact amount of indentation for -% specific level -% -\def\LevelIndent:#1=#2 {\csarg\edef{\@level@indent{#1}}{\@ww{#2}}} - -% Push/Pop indentlevels -% -\def\PushLeftIndentLevel - {\Tmessage[indent]{Old left indent: \the\leftskip}% - \advance\leftskip\levelindent - \previousindent=\levelindent - \step@counter{indentlevel}\set@level@indent - \Tmessage[indent]{New left indent: \the\leftskip, - at level \the\cs@counter@name{indentlevel}}% - } - -\let\PushIndentLevel\PushLeftIndentLevel % for backwards compatibility - -% Popping an indent level requires two pops: one for the \levelindent -% and one for the \previousindent. This last one then has to be -% pushed again. -% -\def\PopLeftIndentLevel - {\ifnum\cs@counter@name{indentlevel}=\@ne - \Emessage{Pop left indent level attempted at outer level} - \else \back@step@counter{indentlevel}% - \back@step@counter{indentlevel}% - \set@level@indent \previousindent\levelindent - \step@counter{indentlevel}% - \set@level@indent\advance\leftskip-\levelindent - \fi} - -\let\PopIndentLevel\PopLeftIndentLevel % for backwards compatibility - -\def\PushRightIndentLevel - {\Tmessage[indent]{Old right indent: \the\rightskip}% - \advance\rightskip\levelindent - \previousindent=\levelindent - \step@counter{indentlevel}\set@level@indent - \Tmessage[indent]{New right indent: \the\rightskip, - at level \the\cs@counter@name{indentlevel}}% - } - -\def\PopRightIndentLevel - {\ifnum\cs@counter@name{indentlevel}=\@ne - \Emessage{Pop right indent level attempted at outer level} - \else \back@step@counter{indentlevel}% - \back@step@counter{indentlevel}% - \set@level@indent \previousindent\levelindent - \step@counter{indentlevel}% - \set@level@indent\advance\rightskip-\levelindent - \fi} - -\def\PushLeftRightIndentLevels - {\Tmessage[indent]{Old left indent: \the\leftskip}% - \Tmessage[indent]{Old right indent: \the\rightskip}% - \advance\leftskip\levelindent - \advance\rightskip\levelindent - \previousindent=\levelindent - \step@counter{indentlevel}\set@level@indent - \Tmessage[indent]{New left indent: \the\leftskip, - at level \the\cs@counter@name{indentlevel}}% - \Tmessage[indent]{New right indent: \the\rightskip, - at level \the\cs@counter@name{indentlevel}}% - } - -\def\PopLeftRightIndentLevels - {\ifnum\cs@counter@name{indentlevel}=\@ne - \Emessage{Pop left and right indents level attempted at outer level} - \else \back@step@counter{indentlevel}% - \back@step@counter{indentlevel}% - \set@level@indent \previousindent\levelindent - \step@counter{indentlevel}% - \set@level@indent\advance\rightskip-\levelindent - \advance\leftskip-\levelindent - \fi} - -%%%%%%%%%%%%%%%% Paragraph Skip control -% parskip is stored and set to zero at the start and end -% of environments -\newskip\@restoreparskip - -% it is recorded if a parskip has been stored -% -\newif\if@parskipsaved \@parskipsavedno - -% Do no parskip -% used at start of environment -% -\def\hold@parskip - {\@restoreparskip\parskip \parskip\z@ \@parskipsavedyes} - -% Hold off parskip -% used at end of environment -% -\def\dono@parskip{\if@parskipsaved \else \hold@parskip \fi} - -% Reestablish the parskip -% this is executed in \every@everypar -% -\def\controlled@parskip - {\if@parskipsaved \@parskipsavedno - \parskip\@restoreparskip - \fi} - -\def\noparskip{\parskip\z@ \@restoreparskip\z@} - -%%%%%%%%%%%%%%%% Every Paragraph -% \everypar is supposed to contain \every@everypar -% as its first element. -% -\newtoks\EveryParagraph -\def\every@everypar{\controlled@indentation \controlled@parskip - \one@shot@coms \@headedno} -\def\default@everypar{\everypar={\every@everypar\the\EveryParagraph}} -\add@start@command{\default@everypar} -\everypar{\Emessage{You forgot to give the \nxp\Start\@space command.}} - -% Execute once -% -\newtoks\one@shot@toks -\def\one@shot@coms{\temptoksa\one@shot@toks - \global\one@shot@toks={}\the\temptoksa\temptoksa{}} -\def\next@paragraph#1{\append@to@list{one@shot@toks}{#1}} - -%%%%%%%%%%%%%%%% Every Math -% just like \everypar. -% -\newtoks\EveryMath -\newtoks\EveryDisplay -\newtoks\every@everymath \newcount\high@fam -\every@everymath{\high@fam\count18\relax - %\MainFace - \xp\math@setsize\style@sizes} -\everymath{\the\every@everymath\the\EveryMath} -\everydisplay{\the\every@everymath\the\EveryDisplay} - -% Flush margins -% -\Distance:rightmarginstretch={0pt plus 6cm} -\Distance:leftmarginstretch={0pt plus 6cm} -\def\FlushLeft:#1 {\switch {\if\EqualString{#1}} - {yes} {\leftskip=1\leftskip} - {default} {\leftskip=1\leftskip - \advance\leftskip\leftmarginstretch} - \endswitch \relax} -\FlushLeft:yes -\def\FlushRight:#1 {\switch {\if\EqualString{#1}} - {yes} {\rightskip=1\rightskip} - {default} {\rightskip=1\rightskip - \advance\rightskip\rightmarginstretch} - \endswitch \relax} -\FlushRight:yes - - -% French Spacing -% -\def\FrenchSpacing:#1 {\switch {\if\EqualString{#1}} - {yes} {\frenchspacing} - {no} {\nonfrenchspacing} - \endswitch \relax} -\FrenchSpacing:no - -%%%%%%% lijn -% #1 : hoogte; #2 : lengte; #3 : elevatie -% parameters kunnen van achter af aan weggelaten worden; -% #4 is dummy, kan niet door de gebruiker gespecificeerd worden. -% NNNNNNNNNBBBBBBBBBBBBB: #2 werkt nog niet!!!!!!!!!!!! -\newtoks\@lijntoks -\@lijntoks={} - -% Lijn. Hier moet ik nog eens naar kijken. -\@GenericOption{lijn}{ - \edef\cs@e{\nxp\lijnanalyse:#1:\@restarg::::;}\cs@e - \edef\cs@e{\nxp\@add@toks{\nxp\leavevmode\the\@lijntoks}} - \cs@e} - -\def\lijnanalyse:#1:#2:#3:#4;{\@lijntoks={} - \eqstring{#1}{}{}{\achteraanlijst{@lijntoks}{height #1 }} - \eqstring{#2}{}{\vooraanlijst{@lijntoks}{\leaders\hrule depth 0cm } - \achteraanlijst{@lijntoks}{\hfill}}% - {\eqstring{#2}{uitvullen}% - {\vooraanlijst{@lijntoks}{\leaders\hrule depth 0cm } - \achteraanlijst{@lijntoks}{\hfill}}% - {\achteraanlijst{@lijntoks}{width \w@w{#2} }% - \vooraanlijst{@lijntoks}{\vrule depth 0cm }} -% \eqstring{#3}{}{}{\vooraanlijst{@lijntoks}{\raise #3\hbox\bgroup} -% \achteraanlijst{@lijntoks}{\egroup}} - } - \achteraanlijst{@lijntoks}{\hbox{}} % \par doet \unskip!!! - } - - -%%%%%%%%%%%%%%%%%%%%%%%%%%% accenten -\gdef\allowhyphens{\penalty\@M \hskip\z@\relax} - -%{\catcode`\"=12 \gdef\hex{"}} - -%\catcode`\"=13 -%\def "#1{\ifx#1i\discretionary{-}{i}{{\accent'177 \i}}% -\def\"#1{\ifx#1i\discretionary{-}{i}{{\accent'177 \i}}% - \else\ifx#1-\allowhyphens-\penalty\z@\allowhyphens - \else\ifx#1"\hskip\z@\relax -% \else\ifx#1!\hex - \else\ifx#1!" - \else\ifx#1|\allowhyphens - \else {\accent'177 #1}\fi\fi\fi\fi\fi} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%% C A S E -%% -\def\UpperCase#1{\edef\cs@a{\uppercase{#1}}\cs@a} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%% L E T T E R S P A C I N G -%% -\def\LetterSpace - {\ifnextchar[\@LetterSpace %] <- to fool emacs - {\@LetterSpace[0ptplus1fil]}} -\def\@LetterSpace[#1]#2{\def\@LS{\hskip#1\relax}% - \edef\cs@e{#2}\xp\@@LS\cs@e&} -\def\@@LS#1#2&{#1\if\IsEmptyList{#2}\xp\take@one\else\@LS\xp\@@LS\fi#2&} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%% Interdictions -%% -\def\NoHyphenation{\hyphenpenalty\@M \exhyphenpenalty\@M} -\def\NoWidows{\widowpenalty\@M} -\def\NoOrphans{\clubpenalty\@M} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%% V E R B A T I M -%% - -\def\setupverbatim{\let\do=\makeother \dospecials} - -%% inline verbatim -\def\ver{\leavevmode\begingroup \setupverbatim \obeyspaces\tt \@ver} -\def\@ver#1{\def\@@ver##1#1{##1\endgroup}\@@ver} - -%% display verbatim -{\activecr % - \gdef\vVer>{\setupverbatim \obeyspaces % - \tt \parindent\z@ \noparskip \obeylines % - \ifnextchar - \@@Ver\@Ver}\noeol % - \gdef\@Ver#1<Rev{#1\VerStop}% - \gdef\@@Ver - #1<Rev{#1\VerStop}} - -%% verbatim files -\def\verbatimfile#1{\begingroup - \setupverbatim \obeyspaces \parindent\z@ \noparskip \obeylines % - \tt \input#1\relax - \endgroup} - -\endinput - -% 2016/05/14 defined \FrenchSpacing -% 2016/04/14 defined \PushLeftIndentLevel, \PopLeftIndentLevel, -% \PushRightIndentLevel, \PopRightIndentLevel, -% \PushLeftRightIndentLevels, and \PopLeftRightIndentLevels -% commands. \PushIndentLevel is now a synonym for -% \PushLeftIndentLevel and \PopIndentLevel is a synonym -% for \PopLeftIndentLevel -% 2014/04/13 defined \EveryParagraph, \EveryMath, and \EveryDisplay -% 2014/04/12 changed "#1 cs to \"#1 cs to be compatible with plain; -% also we can not make " active since it is used by xetex for font selection -% 92/11/08 white options created; -% breakpoint protection in white options -% 92/11/18 AdaptiveDistance implemented -% 92/11/20 \set@counter calls updated for \w@w use -% 92/12/14 default flush right diff --git a/macros/lollipop/tex/lollipop-tools.tex b/macros/lollipop/tex/lollipop-tools.tex deleted file mode 100644 index f7b11454b5..0000000000 --- a/macros/lollipop/tex/lollipop-tools.tex +++ /dev/null @@ -1,1509 +0,0 @@ -% lollipop-tools.tex copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%% anonymous control sequences -\newif\iftempa \newif\iftempb \newif\iftempc \newif\iftempd - -\newdimen\tempdima \newdimen\tempdimb \newdimen\tempdimc - -\newskip\tempskipa \newskip\tempskipb \newskip\tempskipc - -\newcount\tempcounta \newcount\tempcountb \newcount\tempcountc - -\newbox\tempboxa \newbox\tempboxb \newbox\tempboxc \newbox\tempboxd - -\newtoks\temptoksa \newtoks\temptoksb \newtoks\temptoksc -%\newtoks\temptoksd \newtoks\temptokse \newtoks\temptoksf - -%% auxiliaries -\def\@meld#1{{\immediate\write16{\trace@prefix #1}}} -\def\Dmessage#1{\ifDiagnose \@meld{#1}\fi} -\def\Wmessage#1{\@meld{--- Warning: #1}} -\def\Emessage#1{{\errorcontextlines\m@ne - \errmessage{<><><><><><><><> #1 <><><><><><><><>}}} - -\showboxdepth=7 \showboxbreadth=20 -\newlinechar=`\^^J %nodig? - -\chardef\busje`\\ -\def\cs#1{{\tt\char\busje#1}} - -\let\xp\expandafter \let\nxp\noexpand -\let\csn\csname \let\ecs\endcsname - -% Remove or select tokens -% is used in several places -% -\long\def\id@#1{#1} -\long\def\take@former#1#2{#1} \long\def\take@latter#1#2{#2} -\long\def\take@one#1{} \long\def\take@two#1#2{} -\long\def\take@three#1#2#3{} -\long\def\keep@one#1{#1} \long\def\take@to@dollar#1${} -\def\Xignorespaces#1{#1} - -{\noesc -\xp\xp\xp\gdef\xp\xp\xp\meaning@take@zero - \xp\string\csn macro:\xp\xp\xp\xp\xp\xp\xp\ecs - \xp\xp\xp\xp\xp\xp\xp#\xp\xp\xp1\xp\string\csn->\ecs{} -}\def\real@meaning{\xp\meaning@take@zero\meaning} - -\def\first@of@three#1#2#3{#1} -\def\second@of@three#1#2#3{#2} -\def\third@of@three#1#2#3{#3} -\def\first@two@of@three#1#2#3{{#1}{#2}} - - -% Check if this file is being loaded from IniTeX, or -% by \input'ting on top of an already existing format. -% This is to avoid double definitions and major accidents. -% -\def\lollipop@name{Lollipop} -\expandafter\ifx\csname fmtname\endcsname\lollipop@name - \let\ifini\take@one - \let\ifnin\keep@one - \message{! Loading Lollipop on top of format !} -\else - \let\ifini\keep@one %iniTeX run or on top of plain TeX - \let\ifnin\take@one - \everyjob{\let\ifini\take@one\let\ifnin\keep@one} -\fi - -%%%%%%%%%%%%%%%% forward definitions -\def\new@@counter#1{\csarg\newcount{\counter@name{#1}}} -\def\counter@name#1{#1@C} - -%%%%%%%%%%%%%%%% Special characters - -% At sign -% - -\def\makeatletter{\catcode`\@=11\relax} -\def\makeatother{\catcode`\@=12\relax} - -% Catcode (re)storing -% -\def\storecat#1% - {\noesc - \csarg\edef{restorecat\string#1}% - {\catcode`\string#1= - \the\catcode\expandafter`\string#1}% - \catcode\expandafter`\string#1=12\relax - \normalesc} -\def\restorecat#1% - {\noesc - \csname restorecat\string#1\endcsname - \normalesc} - -% save writing. - -\def\@space{ }\def\@empty{} \newtoks\empty@toks \empty@toks{} -\def\sc@led{scaled} -\def\nl{\hfil\break} -\def\IniTeX{Ini\TeX} -\def\LaTeX{L\kern-.3em\raise.35ex\hbox{\script A}\kern-.1em\TeX} -\def\AmsTeX{$\cal A_MS$-\TeX} -%my old def -%\def\LamsTeX{L\kern-.2em\raise.4ex\hbox -% {$\scriptstyle\cal A$}\kern-.2em$\cal_M$\kern-.2em$\cal S\,$\TeX} -%Spivak's old def -%\def\LamSTeX{L\kern-.4em\raise.3ex\hbox{$\ssize\Cal A$}\kern-.25em -% \lower.4ex\hbox{\eightsy M}\kern-.1em{$\Cal S$}-\TeX} -\def\LamsTeX{L\kern-.4em\raise.3ex\hbox{\script$\cal A$}\kern-.25em - \lower.4ex\hbox{\script$\cal M$}\kern-.1em{$\cal S$}-\TeX} - -\def\CorporateLogo{\TeX\kern-.15em \raise.5ex\hbox{T}\kern-.25em - ECHNIQUE} - - -\hsize=15cm - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%% T O O L S %%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% Construct a control sequence inside \edef -% -\def\CSname#1{\expandafter\noexpand\csname#1\endcsname} - -% Construct a control sequence out of #2, and give it to #1 -% -\def\csarg#1#2{\expandafter#1\csname#2\endcsname} - -% Pick an escapecharacter -% this presumes that its argument is a character. -% -\def\pickescape#1{\ifnum`#1=\escapechar\else#1\fi} - -% Equality of strings. -% the fast approach: does not work in expansion-only environment. -% -\def\EqualString#1#2{00\fi\def\eqs@a{#1}\def\eqs@b{#2}% - \ifx\eqs@a\eqs@b} - -% Test by expansion only -% -\def\EqualStringX#1#2{00\fi - \csname if\@EqualStringX#1&$#2&$\endcsname} -\def\@EqualStringX#1#2$#3#4${\ifx#1#3% - \ifx#1&true\else\hop@ES\@EqualStringX#2$#4$\fi - \else false\fi} -\def\hop@ES#1\fi#2\fi{\fi\fi#1} - -% Lexicographic ordering -% note the use of \def -% also note the characters 0,127,255 that are used, -% these are not supposed to appear in the strings -% -{\catcode0=12 \catcode255=12 \catcode127=12 -\gdef\StringBeforeNC#1#2{\00\fi - \CharsBefore#1^^@^^?#2^^ff^^?} -\gdef\CharsBeforeNC#1#2^^?#3#4^^?{% - \ifcat#1\relax\def\next{\CharsBefore#2^^@^^?#3#4^^ff^^?}% - \else\ifcat#3\relax\def\next{\CharsBefore#1#2^^@^^?#4^^ff^^?}% - \else\ifnum\lccode`#1<\lccode`#3 - \def\next{\csname iftrue\endcsname}% - \else\ifnum\lccode`#1>\lccode`#3 - \def\next{\csname iffalse\endcsname}% - \else\def\next{\CharsBefore#2^^?#4^^?}% - \fi \fi \fi \fi - \next} -\gdef\StringBefore#1#2{\00\fi - \CharsBefore#1^^@^^?#2^^ff^^?} -\gdef\CharsBefore#1#2^^?#3#4^^?{% - \ifnum`#1<`#3 - \def\next{\csname iftrue\endcsname}% - \else\ifnum`#1>`#3 - \def\next{\csname iffalse\endcsname}% - \else\def\next{\CharsBefore#2^^?#4^^?}% - \fi\fi - \next} -} - - -% Null argument test -% -\def\ifempty#1{00\fi\xp\ifx\csname#1null\endcsname\null} -\def\ifEmptyX#1{\xp\ifx\csname#1null\endcsname\null} -%\def\ifEmpty#1{\def\cs@a{#1}\ifx\cs@a\empty} -\def\IsEmptyList#1{00\fi\def\cs@a{#1}\ifx\cs@a\empty} - -% Next character test -% -\def\NextChar#1#2#3{00\fi - \let\nxt@ch#1\def\nxt@a{#2}\def\nxt@b{#3}% - \futurelet\nxt@c\@ifnxtc} -\def\ifNextChar#1#2#3{% - \let\nxt@ch#1\def\nxt@a{#2}\def\nxt@b{#3}% - \futurelet\nxt@c\@ifnxtc} -\let\ifnextchar\ifNextChar -\def\@ifnxtc{\ifx\nxt@ch\nxt@c \expandafter\nxt@a - \else \expandafter\nxt@b \fi} - -% Test for defined-ness of string as control sequence. -% works inside \edef -% -%outdated: \def\ifnotdefined#1{\csarg\ifx{#1}\relax} -\def\UndefinedCS#1{00\fi\csarg\ifx{#1}\relax} - -% Define uniquely defined dummy macros, -% usually to serve as bumper blocks at the end of a list -% -\newcount\dummies -\def\NewDummy#1{ - \if\UndefinedCS{#1}\csarg\edef{#1}{dum\the\dummies} - \advance\dummies\@ne - \else - \ifini{\Wmessage{Attempt at second definition of `#1'}} - \fi} - -% string case statement -% use: \switch \iftest{...} in: -% item1 action1 -% ... -% itemn actionn -% default defaultaction [optional] -% \endswitch -% inspired by Jonathan Fine: Some Basic Control Macros -% Tugboat 12 #4 -% -\let\@fi\fi \let\endswitch\relax \NewDummy{default} -\def\switch@exit #1 \@fi #2 \endswitch {\fi #1} -\def\switch #1#2#3{\csarg\ifx{#2}\default\switch@exit #3 \@fi - #1{#2}\switch@exit #3 \@fi - \switch {#1} -} -% this version puts the test object in {} -\def\oswitch #1 in: #2 #3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi - #1{#2}\switch@exit #3 \@fi - \switch #1 in: -} -% this version assumes that the test object is just one character -\def\cswitch #1 in: #2 #3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi - #1#2\switch@exit #3 \@fi - \cswitch #1 in: -} -% this version assumes that the test object can have an optional space -\def\bswitch #1 in: #2 #3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi - #1#2 \switch@exit #3 \@fi - \bswitch #1 in: -} -% this version can cope with significant spaces at the start of #3; -% #2 is macro argument -\def\mswitch #1 in: #2:#3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi - #1{#2}\switch@exit #3 \@fi - \mswitch #1 in: -} -% idem; #2 does not have to be enclosed in braces -\def\fswitch #1 in: #2:#3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi - #1#2 \switch@exit #3 \@fi - \fswitch #1 in: -} - -% Routines for taking the value of a string: -% if the string is defined as control sequence -% take the value of that, otherwise take the string itself - -% String or value of control sequence -% -\def\w@w#1{\if\UndefinedCS{#1}#1\else \the\csname#1\endcsname\fi} - -% String or control sequence -% -\def\@ww#1{\if\UndefinedCS{#1}#1\else \csname#1\endcsname \fi} - -% String or \noexpand-ed control sequence; -% for use in \edef -% -\def\@w@w#1{\if\UndefinedCS{#1}#1\else - \ifin@label\noexpand\protect\fi \CSname{#1}\fi} -\newtoks\are@these@correct -\def\t@w@w#1{% - \if\UndefinedCS{#1}#1% - \ifdefining\append@to@list\are@these@correct{#1 }\fi - \else - \ifin@label\noexpand\protect\fi \CSname{#1}\fi} -% see below what happens to \are@these@correct - -% Allocation -% -\def\new@count#1#2{\csarg\newcount{#1}\global\set@value{#1}{#2}} -\def\new@skip#1#2{\csarg\newskip{#1}\global\set@value{#1}{#2}} -\def\new@dimen#1#2{\csarg\newdimen{#1}\global\set@value{#1}{#2}} - -% Assignment of Values -% -\def\set@value#1#2{\csname#1\endcsname #2\relax} -\def\increase@value#1#2{\advance\csname#1\endcsname #2\relax} -\def\decrease@value#1#2{\advance\csname#1\endcsname -#2\relax} - -% Hex -% -\def\hexdigit#1{\ifcase#10\or 1\or 2\or 3\or 4\or - 5\or 6\or 7\or 8\or 9\or A\or B\or C\or D\or E\or F\fi} - -% Log 10 -% -\def\LogTen#1{\switch{\ifnum#1<} - {10 }{1} {100 }{2} {1000 }{3} {10000 }{4} {default}{5} - \endswitch} - -% List Manipulation ................ -% this assumes that #1 is a list of tokens, #2 is the name of a list -% -% Names of lists (and of items to pop into) are given as strings; -% not as control sequences. -% -\newtoks\toks@lista \newtoks\toks@listb -% basic append/prepend macro -\long\def\@append@to@cslist#1#2#3{\begingroup\toks@lista=#2{#3}% - \global#1=\xp\xp\xp{\xp\the\xp#1\the\toks@lista}\endgroup} -\long\def\@prepend@to@cslist#1#2#3{\begingroup\toks@lista=#2{#3}% - \global#1=\xp\xp\xp{\xp\the\xp\toks@lista\the#1}\endgroup} -\def\@append@to@list{\csarg\@append@to@cslist} -% variations: -\long\def\append@to@list#1#2{\@append@to@list{#1}{}{#2}} -\def\append@list@to@list#1#2{% - \@append@to@list{#1}{\xp\xp\xp}{\xp\the\csn#2\ecs}} -\def\append@cslist@to@cslist#1#2{% - \@append@to@cslist{#1}\xp{\the#2}} -\def\append@toks@cs@to@list#1#2{\@append@to@list{#1}\xp{\the#2}} - -% A few list macros for the user -\def\NewList:#1 {\csarg\newtoks{#1}\global\csn#1\ecs{}} -\def\EmptyList:#1 {\global\csn#1\ecs{}} -\long\def\AppendToList:#1=#2 {\@append@to@list{#1}{}{#2}} -\def\TheList:#1 {\let\oldwbuskip\willbeunhskip \let\willbeunhskip\@empty - \if\UndefinedCS{#1}\message{List <#1> undefined} - \else\csarg\the{#1}\fi - \let\willbeunhskip\oldwbuskip} - -\def\del@tok@from@list#1#2{\begingroup - \long\def\cs@liste##1#2##2\tok@SM - {\toks@lista{##1}\toks@listb{##2}% - \edef\cs@listb{\global\CSname{#1}= - {\the\toks@lista\the\toks@listb}}% - \cs@listb}% - \edef\cs@lista{\nxp\cs@liste{}\xp\the\csn#1\ecs\nxp\tok@SM}% - \cs@lista \endgroup} -\def\in@front@of@list#1{\csarg{\let\xp\cs@lista}{#1}% - \in@front@of@cslist\cs@lista} -\long\def\in@front@of@cslist#1#2{\begingroup\toks@lista={#2}% - \global#1=\xp\xp\xp{\xp\the\xp\toks@lista \the#1}% - \endgroup} -\long\def\local@in@front@of@list#1#2{\toks@lista={#2}% - \csname#1\endcsname\xp\xp\xp\xp\xp\xp\xp - {\xp\xp\xp\the\xp\xp\xp\toks@lista - \xp\the\csname#1\endcsname}% - } -\def\set@list#1{\csarg{\let\xp\cs@lista}{#1}% - \set@cslist\cs@lista} -\long\def\set@cslist#1#2{\begingroup\toks@lista={#2}% - \global#1=\xp{\the\toks@lista}\endgroup} - -%%%%%%%%%%%%%%%% Stack macros -% -% push in terms of prepending of lists -\def\push@cs@onto@cs#1#2{\@prepend@to@cslist#1\xp{\xp\\\xp{\the#2}}} -\def\push@onto#1{\csarg\push@onto@cs{#1}} -\def\push@onto@cs#1#2{\@prepend@to@cslist#1{}{\\{#2}}} -\def\local@push@onto#1#2{\let\\=\relax - \local@in@front@of@list{#1}{\\{#2}}} -% pop via auxiliary macro: #1 is result, #2 is stack -% two cs arguments -\def\pop@cs@into#1#2{\edef\cs@e - {\nxp\@@popinto\nxp#1\nxp#2\the#2\nxp\@@pop}\cs@e} -% two string arguments -\def\pop@into#1#2{\edef\cs@e - {\nxp\@@popinto\CSname{#1}\CSname{#2}\csarg\the{#2}\nxp\@@pop}\cs@e} -\long\def\@@popinto#1#2\\#3#4\@@pop{#1{#3}#2{#4}} -\def\copy@stacktop#1#2{% - \edef\cs@e{\noexpand\@copy@stacktop - {#1}\csarg\the{#2}\noexpand\@@pop}% - \cs@e} -\def\@copy@stacktop#1\\#2#3\@@pop{\csname#1\endcsname#2\relax} -\newcount\stack@length \newtoks\empty@stack \empty@stack{\\{}} -\def\length@of@stack#1{\csarg\length@of@csstack{#1}} -\def\length@of@csstack#1{\def\\##1{\advance\stack@length\@ne}% - \stack@length\m@ne \the#1} -% turn a stack upside down -\def\invert@csstack#1{\length@of@csstack{#1}% - \tempcountb\z@ \temptoksa\empty@stack - \loop\ifnum\tempcountb<\stack@length - \pop@cs@into\temptoksb#1\advance\stack@length\m@ne - \push@cs@onto@cs\temptoksa\temptoksb -% \append@cslist@to@cslist\temptoksb\temptoksa% append a to b -% \temptoksa\temptoksb - \repeat% copy b to a - #1\temptoksa \temptoksa\empty@toks} -% invert a stack into a list -\def\x@stack@to@list#1{\length@of@stack{#1}% - \tempcountb\z@ \temptoksa\empty@toks - \loop\ifnum\tempcountb<\stack@length - \pop@into{temptoksb}{#1}\advance\stack@length\m@ne - \append@list@to@list{temptoksb}{temptoksa}\repeat - \csn#1\ecs\temptoksa \temptoksa\empty@toks} - - -% Bookkeeping and Householding lists................ -% Generic Defaults -% to be executed each time a definition starts -% -\ifini{\newtoks\generic@defaults} -\def\adds@generic@default#1{ - \append@to@list{generic@defaults}{#1}} -\def\add@generic@default#1{\ifini - {\append@to@list{generic@defaults}{#1}}} - -% Document Start Commands -% to be executed by \Start -% -\ifini{\newtoks\start@commands} -\def\add@start@command#1{\ifini - {\append@to@list{start@commands}{#1}}} -\def\adds@start@command#1{% - \append@to@list{start@commands}{#1}} - -% Document Stop Commands -% to be executed by \Stop -% -\ifini{\newtoks\stop@commands} -\def\add@stop@command#1{\ifini - {\append@to@list{stop@commands}{#1}}} -\def\adds@stop@command#1{% - \append@to@list{stop@commands}{#1}} - -% Style Start Commands -% to be executed by \StyleDefinition -% -\ifini{\newtoks\style@start@commands} -\def\add@style@start@command#1{\ifini - {\append@to@list{style@start@commands}{#1}}} - -% Style Stop Commands -% to be executed by \StyleDefinitionStop -% -\ifini{\newtoks\style@stop@commands} -\def\add@style@stop@command#1{\ifini - {\append@to@list{style@stop@commands}{#1}}} -\add@style@stop@command{\style@stop@commands{} - \style@start@commands{}} - -\def\check@existence#1{\Wmessage{Used \nxp\check@existence. Check}} -% \add@style@stop@command{\if\UndefinedCS{#1}\Wmessage -% {Some trouble involving #1; check definitions carefully!}\fi} - -%\add@style@start@command{\are@these@correct{}} -%\add@style@stop@command{\if\IsEmptyList{\the\are@these@correct}\else -% \Wmessage{Check if the following are literals: \the\are@these@correct} -% \fi} - -% Tracing -% -% if trace@all=0 and \trace@foo is >0, every \Tmessage[foo] is written. -% if \Trace:no, then all trace is disabled through \trace@all=-1 -% if \Trace:yes then all traces are written through \trace@all=1 -% by default: \trace@all=0 -% -\def\Tmessage{\ifnum\trace@all>\m@ne\xp\t@message\else\xp\del@message\fi} -\def\del@message[#1]#2{}\let\trace@prefix\@empty -\def\t@message[#1]#2{% - \ifnum\trace@all>\z@ \def\trace@prefix{[T]}\@meld{#2}% - \else\csarg\ifnum{trace@#1}>\z@ - \def\trace@prefix{[T:#1]}\@meld{#2}\fi - \fi\global\let\trace@prefix\@empty} - -\def\Trace:#1 {\switch{\if\EqualString{#1}} - {yes} {\trace@all\@ne\message{Switching ON all tracing}} - {no} {\trace@all\m@ne\message{Switching OFF all tracing}} - {default} {\if\UndefinedCS{trace@#1}\Wmessage{Strange trace: #1}\else - \csname trace@#1\endcsname\@ne \trace@all\z@ \fi} - \endswitch} -\def\NewTrace:#1 {\new@count{trace@#1}\m@ne} -\new@count{trace@all}\z@ -\NewTrace:gen % traces everything in this file -\NewTrace:def % definitions of constructs etc - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%% Generic Constructs %%%%%%%%%%%%%%%%%%%%% - -% \@GenericConstruct{Foo} = -% \newtoks\Foo@defaults -% \Foo@defaults={} -% \def\add@Foo@default#1{...} -% \def\DefineFoo#1 = -% \@FooDefaults % has to be defined explicitly -% \the\Foo@defaults % constructed cumulatively -% \@GenericDefaults % constructed cumulatively -% \@GetOptions -% \@DefineFoo % has to be defined explicitly -% \def\@FooOption ... % same syntax as \@GenericOption -% -% Options are either generic (the ones below) -% defined by \@GenericOption, -% or specific for some construct, -% defined by \@FooOption -% -\ifini{\newtoks\@gencons} -\newif\ifdefining@a@construct -\def\@GenericConstruct#1{ - \ifini{\append@to@list{@gencons}{\\#1;} - \csarg\newtoks{#1@defaults} - \csn #1@defaults\ecs{}} - \csarg\def{add@#1@default}##1{\ifini - {\append@to@list{#1@defaults}{##1}}} - \csarg\def{adds@#1@default}##1{\append@to@list{#1@defaults}{##1}} - \Install@Noops{#1} - \csarg\def{Define#1}:##1 {\defining@a@constructyes - \def\@name{##1}\def\@class{#1} - \Tmessage[def]{Defining a #1: ##1} - \the\generic@defaults - \csarg\the{#1@defaults} - \Get@Items} - \csarg\def{@#1Option}##1{\csarg\def{#1@##1}####1####2} - } -\add@generic@default{\let\pre@fix\@empty} -\def\@command{\ifx\pre@fix\@empty\else\pre@fix @\fi\@name} -\def\stop@command@suffix{Stop} -\def\stop@command{\@command\stop@command@suffix} -\def\@DefineStopCommand{\csarg\edef{\stop@command}} - -%%%% Abbreviated Closing: -% every group defines its own \default@stop@command; -% on the outer level this is an error msg. -% \> closes whatever is open, \>] closes everything that is open. -\def\outer@stop@command{\Emessage{Vacuous group closing}} -\let\default@stop@command\outer@stop@command -\def\>{\default@stop@command%[fool the editor - \ifNextChar]{\ifx\default@stop@command\outer@stop@command - \xp\take@one - \else \xp\>\fi}{}} -\newif\if@implicitclose -\add@generic@default{\@implicitcloseyes} -% the next line replicated below -%\@GenericOption{noimplicitclose}{\@implicitcloseno} -\def\install@stop{\if@implicitclose - \def\nxp\default@stop@command{\CSname{\stop@command}}% - \else \let\nxp\default@stop@command\nxp\outer@stop@command - \fi} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%% Here is the main -%%%%%%%%%%%%%%%% I T E M A N A L Y S I S -%%%%%%%%%%%%%%%% loop -%%%% - -% This macro is recursive, but with some detours. -% first filter out empty arguments -% -\def\Get@Items#1 {\if\IsEmptyList{#1}\let\get@next@item\Get@Items - \else\def\get@next@item{\@Get@Items#1 }\fi - \get@next@item} - -% Check if the argument is `Stop', in which case you -% have reached the end of a generic definition. -% Otherwise filter the special case of a colon, and process an item -% -\NewDummy{Stop} -\def\@Get@Items#1 {\let\get@next@item=\Get@Items - \csarg\ifx{#1}\Stop - \the\generic@stop@defaults - \let\get@next@item=\relax - \else \if\EqualString{#1}{:}\@add@toks{:} - \else \Item@or@Macro#1::. \fi - \fi \get@next@item} - -% Default actions to be executed when GetItems has finished -% -\def\add@generic@stop@default#1{\ifini - {\append@to@list{generic@stop@defaults}{#1}}} -\ifini{\newtoks\generic@stop@defaults} -\add@generic@stop@default{\csname @Define\@class\endcsname} - -% Now check successive possibilities: -% first it can be a macro. -% -\def\OptionsMacro:#1=#2Stop {\global\csarg\def{opt@mac@#1}{#2}} -\def\split@at@is#1=#2=#3.{{#1}{#2}} -\def\Item@or@Macro#1:#2:#3.{ - \switch {\if\EqualString{#1}} - {macro} {\if\UndefinedCS{opt@mac@#2} - \Wmessage{Unknown macro: `#2'} - \else \edef\get@next@item{\nxp\Get@Items \csn opt@mac@#2\ecs } - \fi} - {default} {\edef\cs@e{\nxp\Option@Item{#1}\split@at@is#2==.} - \cs@e} - \endswitch} - -% The option #1 is not a Lollipop style macro. It can be -% - a specific option -% - a generic option -% - a character -% - a defined control sequence -% -% Is it an option of some sort? -% -\def\Option@Item#1#2#3{ - \if\UndefinedCS{\@class @#1} - \if\UndefinedCS{\gen@option@name{#1}} - \Character@CS@Item{#1}{#2}{#3} - \else \if\EqualString{#2}{title} - \edef\cs@e{\CSname{\gen@option@name{#1}}\CSname{#3Title}} - \cs@e - \else \csn \gen@option@name{#1}\ecs{#2}{#3} - \fi - \Tmessage[gen]{Generic option `#1' for `\@class': - `#2' = `#3'} - \fi - \else \if\EqualString{#2}{title} - \edef\cs@e{\CSname{\@class @#1}\CSname{#3Title}} - \cs@e - \else \csn \@class @#1\ecs{#2}{#3} - \fi - \Tmessage[gen]{Specific option `#1' for `\@class': `#2'} - \fi} - -% If it is not an option, is it a character or control sequence? -% -% Commands are either `\Command', `\Command:arg', `\Command:arg1=arg2' -% See what arguments are nonempty in order to attach them; -% in case 2 and 3 append space token. -% -\def\Character@CS@Item#1#2#3{ - \def\cs@b{#1}\def\cs@c##1##2<<<{\def\cs@c{##1}}\cs@c#1<<< - \ifx\cs@b\cs@c \@add@toks{#1} - \Tmessage[gen]{Single character `#1' for `\@class'} - \else - \if\UndefinedCS{#1} - \Wmessage{Unknown option for `\@class': `#1' in `\@name'.} - \@add@toks{\csn#1\ecs} - \else - \cs@in@ref@protect{#1}% - \edef\cs@e{\nxp\@add@toks{\CSname{#1}}}\cs@e - \fi - \if\IsEmptyList{#2} - \else \if\IsEmptyList{#3}\@add@toks{:#2 } - \else - \if\EqualString{#2}{title} - \edef\cs@e{\nxp\@add@toks{:\CSname{#3Title} }} - \cs@e - \else \@add@toks{:#2={#3} } - \fi - \fi - \fi - \Tmessage[gen]{Command `#1' (#2,#3)} - \fi} - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%% G E N E R I C O P T I O N S -%%%% -% -% All generic constructs get these options. -% They are at liberty to redefine them. -% -\newtoks\@GenericOptions -\def\gen@option@name#1{Option@#1} -\def\@GenericOption#1{ - \append@to@list{@GenericOptions}{\\#1;} - \csarg\def{\gen@option@name{#1}}##1##2} -\def\Noop@Error#1#2{\Emessage{Option #2 is not allowed for class #1}} - -\def\Install@Noops#1{ - \csarg\def{@#1NOOP}##1{\csarg\def{#1@##1}{\Noop@Error{#1}{##1}}} - } -\newtoks\@main@options@list -\newtoks\before@coms \newtoks\after@coms -\add@generic@default - {\def\@current@options@list{@main@options@list}% - \@main@options@list{} - \before@coms{} \after@coms{}} -\long\def\@add@toks#1{\append@to@list{\@current@options@list}{#1}} -\def\toks@add@toks#1{ - \edef\cs@e{\nxp\append@to@list - {\nxp\@current@options@list}{\xp\the\csn#1\ecs}} - \cs@e \let\cs@e\relax} -\def\switch@to@options@list#1{\def\@current@options@list{#1}} -\def\temp@options@list#1{ - \xdef\saved@options@list{\@current@options@list} - \def\@current@options@list{#1}} -\def\revert@options@list{ - \xdef\@current@options@list{\saved@options@list} - \global\let\saved@options@list\@empty} - -\newtoks\z@toks \z@toks={0pt} - -% the next line should be higher, -% but \@GenericOption wasn't defined yet there -\@GenericOption{noimplicitclose}{\@implicitcloseno} - -%%%%%%%%%%%%%%%% Universal textblock -% -% These macros will only be used inside an \edef. -% They are meant for text blocks, but the \outer@start@commands -% are also necessary for output routines, hence the test -% if this is a text-like construct. -% -\newif\iftext@construct -\add@generic@default{\text@constructyes} - -% Level of nesting -% -\newcount\nest@depth - -% Open command -% -\def\@gen@open{\outer@start@commands - \begingroup \inner@start@commands} - -\def\outer@start@commands{% - \iftext@construct - \ifleft@embedded@construct \install@h@before@penalty - \else \nxp\leavehmode \nxp\v@buffer{\the\@whitebefore}% - % backspace previous white space while it's visible - \nxp\if@headed\nxp\else\install@v@before@penalty - \nxp\fi - \fi \fi - \ifhas@counter \nxp\StepCounter:\expandafter\@name\@space - % This sets the \current@label by default - \ifhas@marks - \edef\nxp\cs@e{\nxp\nxp\nxp\refresh@mark@item - {\@name Counter}{\CSname{\@name Counter}}}% - \nxp\cs@e - \fi - \fi - \iflabel@defined - \global\current@label={\the\@labelcoms}\fi - \ifhas@title \install@title@code - % subtle: the title has to be installed after any page break - % otherwise footlines may contain the wrong title. - % also the title has to be global. - \fi - \ifhas@marks\nxp\ifnin{\nxp\place@mark}\fi - %otherwise IniTeX'ing Lollipop will output a page - \nxp\xx@label\the\extern@toks\penalty\@M - % also subtle: if this white space would be higher, it would - % be invisible because of marks et cetera. - % insert nobreak after marks/writes to prevent page breaks. - \iftext@construct - \ifleft@embedded@construct - \else \nxp\@vwhite{\the\@whitebefore}\fi - \fi - } -\def\inner@start@commands{% - \nxp\Open@Group\CSname{\@class}\CSname{\@name}% - \install@stop - \ifleft@embedded@construct - \else \nxp\hold@parskip - \nxp\default@everypar - \ifwhiteleft@defined - \advance@skip\leftskip{\the\@whiteleft}\fi - \ifwhiteright@defined - \advance@skip\rightskip{\the\@whiteright}\fi - \nxp\let\nxp\par=\nxp\@par %explain to me again why this is necessary... - \inside@indent \first@indent - \fi - \advance\nest@depth\@ne - } - -\def\@gen@close{\inner@end@commands \endgroup \outer@end@commands} -\def\inner@end@commands{% - \nxp\Close@Group\CSname{\@class}\CSname{\@name}% - \the\late@extern@toks - \ifright@embedded@construct \install@h@after@penalty - \else \nxp\leavehmode \install@v@after@penalty - \nxp\@vwhite{\the\@whiteafter}\fi - } -\def\outer@end@commands{% - \the\after@toks - \ifright@embedded@construct \nxp\@headedno - \else \after@indent \nxp\dono@parskip - \fi} -\let\esp@hack\relax -\def\bsp@hack{\let\esp@hack\relax - \ifhmode\ifdim\lastskip>\z@\let\esp@hack\ignorespaces\fi\fi} - -%%%%%%%%%%%%%%%% Breaking - -% Constructs such as 'line' or 'rule' introduce breakpoints. -% Here's how we deal with that. The \ifat@breakpoint test is set -% by options such as 'line' or 'vwhite'. Similarly, these options -% test for this condition and if necessary protect. -% After 'text' in a text block the condition is set too. -\newif\ifat@breakpoint -\add@generic@default{\at@breakpointno} -\def\protect@breakpoint{\ifat@breakpoint\@add@toks{\nobreak}\fi} - -% Break Before -% user specifies yes/no, numeric value, or name of value -% yes also does a fill -% default: place zero penalty -% -\newif\ifdefault@break@before -\adds@generic@default{\default@break@beforeyes} -\@GenericOption{breakbefore}{\default@break@beforeno - \switch {\if\EqualString{#1}} - {no} {\def\@beforepenalty{\penalty\@M }} - {yes} {\def\@beforepenalty{\CSname{\h@or@v fil}\penalty-\@M}} - {0} {\def\@beforepenalty{}} - {default} - {\edef\cs@e{\def\nxp\@beforepenalty - {\penalty\@w@w{#1}\relax}} - \cs@e} - \endswitch} -\def\install@v@before@penalty - {\ifdefault@break@before\penalty\z@ - \else\nxp\ifnum\lastpenalty=\z@\@beforepenalty\nxp\fi - \fi} -\def\install@h@before@penalty - {\ifdefault@break@before - \else\nxp\ifnum\lastpenalty=\z@\@beforepenalty\nxp\fi - \fi} - -% Break After -% same story -% -\newif\ifdefault@break@after -\adds@generic@default{\default@break@afteryes}% Heading overrides -\@GenericOption{breakafter}{\default@break@afterno - \switch {\if\EqualString{#1}} - {no} {\def\@afterpenalty{\penalty\@M }} - {yes} {\def\@afterpenalty{\CSname{\h@or@v fil}\penalty-\@M}} - {0} {\def\@afterpenalty{}} - {default} - {\edef\cs@e{\def\nxp\@afterpenalty - {\penalty\@w@w{#1}\relax}} - \cs@e} - \endswitch} -\def\install@v@after@penalty - {\ifdefault@break@after\penalty\z@ \else\@afterpenalty \fi} -\def\install@h@after@penalty - {\ifdefault@break@after \else\@afterpenalty \fi} - -%%%%%%%%%%%%%%%% Surrounding White Space -% WhiteBefore -% amount is put in token list \@whitebefore, -% the \@define... macro uses this to its own discretion -% For the three text construct this happens in the general macros -% In ExternalItem a different default is used -% -\ifini{\newtoks\@whitebefore \newskip\whitebefore} -\add@generic@default{\@whitebefore={whitebefore}} -\whitebefore=6pt plus 6pt\relax -\@GenericOption{whitebefore}{ -% \edef\cs@e{\@whitebefore={\@w@w{#1}}}\cs@e} - \@whitebefore={#1}} - -% WhiteAfter -% same story with \@whiteafter -% -\ifini{\newtoks\@whiteafter \newskip\whiteafter} -\add@generic@default{\@whiteafter={whiteafter}} -\whiteafter=6pt\relax -\@GenericOption{whiteafter}{ -% \edef\cs@e{\@whiteafter={\@w@w{#1}}}\cs@e} - \@whiteafter={#1}} - -% WhiteLeft -% same story with \@whiteleft -% -\ifini{\newtoks\@whiteleft} -\newif\ifwhiteleft@defined -\add@generic@default{\@whiteleft\z@toks \whiteleft@definedno} -\@GenericOption{whiteleft}{ -% \edef\cs@e{\nxp\@whiteleft={\@w@w{#1}}}\cs@e - \@whiteleft={#1} - \whiteleft@definedyes} - -% WhiteRight -% same story with \@whiteright -% -\ifini{\newtoks\@whiteright} -\newif\ifwhiteright@defined -\add@generic@default{\@whiteright\z@toks \whiteright@definedno} -\@GenericOption{whiteright}{ - \edef\cs@e{\nxp\@whiteright={\@w@w{#1}}}\cs@e - \whiteright@definedyes} - -%%%%%%%%%%%%%%%% Group Bookkeeping -\def\@@nulklasse{????}\def\@@nulnaam{????} -\let\@@groepklasse=\@@nulklasse \let\@Group@Name=\@@nulnaam - -% Grouping level during definition -% -\new@@counter{group} -\add@generic@default{\start@counter{group}} -\add@generic@stop@default{\if\TestCounter:group >0 - \Emessage{There are groups open in <\@name>}\fi} - -\add@generic@default{\def\current@def@group{>>OUTER LEVEL<<}} -\def\b@group{\edef\@outer@options@list{\@current@options@list} - \bgroup\step@counter{group} - \ifnextchar[\def@def@group{}%] - } -\def\def@def@group[#1]{\def\current@def@group{#1}} -\def\e@group{\ifnextchar[\test@def@group\egroup%] - } -\def\test@def@group[#1]{\def\current@test@group{#1} - \ifx\current@def@group\current@test@group\egroup - \else\Emessage{Closing `\current@def@group' with `\current@test@group' - in \@class: \@name} - \fi} - - -% Grouping during execution -% -\def\@@testklasse{OUTER}\def\@@testnaam{OUTER} -\def\@DEFgroepsluit{\nxp\Close@Group{\@class}{\@name}} -\def\@groepERR#1#2{\Wmessage{Unexpected close of - <\expandafter\string#1; expected: \expandafter\string#2.}} -\newcount\group@open@lineno -\def\Open@Group#1#2{\def\@@groepklasse{#1}\def\@Group@Name{#2}% - \Tmessage[gen]{Open \string#1\@space \string#2 @ \the\inputlineno} - \group@open@lineno\inputlineno} -\def\Close@Group#1#2{\def\@@testklasse{#1}\def\@@testnaam{#2}% - \ifx\@@testnaam\@Group@Name - \Tmessage[gen]{Close \string#1\@space \string#2}% - \else \@groepERR{\@@testnaam}{\@Group@Name}\fi} -\def\Close@all@groups - {\ifx\@Group@Name\@@nulnaam - \else \Wmessage{Group not closed: \expandafter\string\@Group@Name; - start @\the\group@open@lineno} - \endgroup - \Close@all@groups - \fi} - -\def\@groeptester{\ifx\@Group@Name\@@nulnaam - \else \Wmessage{Group still open: \expandafter\string\@Group@Name}\fi} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%% Counters - -% Counter name -% has been abstracted. -% this may be removed later for efficiency. -% -%\def\counter@name#1{#1@C}%defined above -\def\cs@counter@name#1{\csn#1@C\ecs} -\def\counter@@name#1{\CSname{#1@C}} -\def\counter@value#1{\xp\the\csn#1@C\ecs} - -% -% \NewCounter:COUNTER -% \newcount\COUNTER@C -% \CounterRepresentation:COUNTER=1 ; print arabic numeral -% \StartCounter:COUNTER ; set to 0 -% \COUNTER@RL={} ; create reset list -% -% \CounterRepresentation:THING=W -% if W is another counter, make synonym, otherwise -% \THING@R <- representation command -% \THINGCounter = \THING@R \THING@C -% #1 = naam van een nieuw te definieren teller; -% #2 = telwijze of naam van teller waar de nieuwe teller synoniem -% mee moet worden. -% -\def\NewCounter:#1 {\new@counter{#1}} -\def\new@counter#1{ - \new@@counter{#1}\csarg\edef{#1Value}{\counter@@name{#1}} - \CounterRepresentation:{#1}=1 - \StartCounter:{#1} - } -% given above -%\def\new@@counter#1{\csarg\newcount{\counter@name{#1}}} -\def\AdaptiveCounter:#1 - {\if\UndefinedCS{\counter@name{#1}}\new@counter{#1}\fi - \adds@stop@command - {\ifWriteExtern\immediate\write\aux@file - {\string\SetCounter:#1={\counter@value{#1}}} \fi - }} - -% Counter allocation in the generic constructs -% counter:x -% indicates the mode of representation of the counter -% of the construct being defined. The counter is first allocated. -% A switch is thrown that will generate automatic step instructions. -% -\newif\ifhas@counter -\@GenericOption{HasCounter}{ - \switch {\if\EqualString{#1}} - {yes} {\has@counteryes\has@labelyes - \if\IsEmptyList{#2}\else\def\this@counter@repr{#2}\fi} - {no} {\has@counterno} - {default} {\has@counteryes} - \endswitch} -\@GenericOption{counter}{ - \ifin@label \edef\cs@e{\nxp\@add@toks{\CSname{\@name Counter}}} - \cs@e - \else\has@counteryes\has@labelyes \def\this@counter@repr{#1} - \fi} -\def\install@counter#1{\new@counter{\@name}% - \ifhas@marks\xp\add@mark@item\xp{\@name Counter}\fi - \if\IsEmptyList{#1}\else\CounterRepresentation:\@name=#1 \fi - } - -% Counter-related defaults: initially there is no counter, -% if a counter starts it counts Arabic unless otherwise indicated, -% and the countername associated with this construct is -% made available as an option; -% later it will be a command, and the option is removed again. -% -\add@generic@default{\has@counterno\has@labelno - \def\this@counter@repr{1} - \csarg\def{\gen@option@name{\@name Counter}}{% - \edef\cs@e{\nxp\@add@toks{%\nxp\cprotect - \CSname{\@name Counter}}}\cs@e - \global\has@counteryes\global\has@labelyes}} -\add@generic@stop@default - {\csarg\let{\gen@option@name{\@name Counter}}\relax} -\add@generic@stop@default{\ifhas@counter - \xp\install@counter\xp{\this@counter@repr}\fi} - -%titles are handled below but the actions have to be -%in this order. -\add@generic@stop@default - {\ifhas@title \ifshort@title \@sTitelize\@command - \else \@Titelize{\@command} - \fi\fi} -\add@generic@stop@default{\ifhas@label \@Labelize{\@command}\fi} - - -%%%%%%%%%%%%%%%% Counter Representaton -% main use: indicate representation of numerical value of counter -% control sequence \FooCounter <- Foo@R\Foo@C -% two-step approach necessary because of symbolic reference: -% not all representations work purely by expansion. -% - -% 1 arabic, i lowercase roman, I uppercase roman -% a lowercase character, A uppercase Character -% -\def\@arabic#1{\number#1 } -\def\@lcascii#1{{\tempcounta=#1\relax \advance\tempcounta by 96 - \char\tempcounta\relax}} -\def\@ucascii#1{{\tempcounta=#1\relax \advance\tempcounta by 64 - \char\tempcounta\relax}} -\def\@roman#1{\romannumeral#1 } -\def\@Roman#1{\uppercase\expandafter{\romannumeral#1}} - -% Representation has been abstracted -% -\def\counter@repr#1{#1@R} - -% Give the representing control sequence (@roman, ...) -% inside an \edef -% -\def\counter@@repr#1{\xp\xp\xp\string\csname#1@R\endcsname} - -% Counter Representation (user command) -% decides if this is a real representation command, -% or a synonym declaration -% -\def\CounterRepresentation:#1=#2 { - \if\UndefinedCS{\counter@name{#2}}%is this counter a synonym? - \represent@counter{#1}{#2} - \else \@SynonymCounter{#1}{#2} - \fi} -\def\represent@counter#1#2{ - \edef\cs@e{@\if#2iroman\else - \if#2IRoman\else \if#2alcascii\else - \if#2Aucascii\else arabic\fi\fi\fi\fi} -% \csarg\xdef{\counter@repr{#1}}{\CSname{\cs@e}} - \csarg\edef{\counter@repr{#1}}{\CSname{\cs@e}} - \csarg\xdef{#1Counter}{\nxp\cprotect %\xp\string when writing label out - \CSname{\counter@repr{#1}}{\nxp\number\counter@@name{#1}}} - } -\def\cprotect{} - -\def\PrintCounter:#1 {\csn#1Counter\ecs} - -% Synonym Counters -% share the \FooCounter command, internal name, and reset list -% -\def\@SynonymCounter#1#2{ - \edef\cs@b{\nxp\let\counter@@name{#1}=\counter@@name{#2} - \nxp\let\CSname{#1Counter}=\CSname{#2Counter} - \nxp\let\CSname{#1@RL}=\CSname{#2@RL}} - \cs@b - } - -% Synonym as generic option -% sharecounter:xyz -% Don't allocate a counter, but share the counter of the -% 'xyz' construct. -% -\@GenericOption{sharecounter}{\CounterRepresentation:\@name=#1 } - -% Governing counters -% If a counter governs another counter, the other is reset -% whenever the first is altered. -% -\def\GoverningCounter:#1=#2 {\tempano - \if\UndefinedCS{\counter@name{#1}} - \Wmessage{No such counter <#1>} - \else\if\UndefinedCS{\counter@name{#2}} - \Wmessage{No such counter <#2>} - \else\tempayes - \fi\fi - \iftempa\if\UndefinedCS{#2@RL}\csarg\newtoks{#2@RL} - \csn #2@RL\ecs={}\fi - \append@to@list{#2@RL}{\\#1;} - \fi} -\def\reset@subordinates#1{\if\UndefinedCS{#1@RL}\else - \def\\##1;{\start@counter{##1}}% - \the\csname #1@RL\endcsname \let\\=\relax - \fi} - -% User counter manipulation -% should be global, and should reset subordinate counters -% and define references. -% -\def\StartCounter:#1 {\handle@user@counter{#1}{start}{}} -\let\ResetCounter\StartCounter -\def\StepCounter:#1 {\handle@user@counter{#1}{step}{}} -\def\AddToCounter:#1=#2 {\handle@user@counter{#1}{addto}{#2}} -\def\BackStepCounter:#1 {\handle@user@counter{#1}{back@step}{}} -\def\SetCounter:#1=#2 {\handle@user@counter{#1}{set}{#2}} -\def\handle@user@counter#1#2#3{\if\UndefinedCS{\counter@name{#1}} - \Wmessage{Unknown counter: #1} - \else \begingroup\globaldefs\@ne - \csn#2@counter\ecs{#1}{#3}% - \reset@subordinates{#1}\define@reference{#1}% - \endgroup - \fi} - -% Numeric manipulation -% -\def\CounterValue:#1 {% - \if\UndefinedCS{\counter@name{#1}}0 - \else \cs@counter@name{#1}\fi - } -\def\TestCounter:#1 {00\fi\ifnum\cs@counter@name{#1}} - -% Internal counter manipulation -% is local and has no side effects -% -\def\step@counter#1{\increase@value{\counter@name{#1}}\@ne} -\def\addto@counter#1#2{\edef\cs@e - {\nxp\increase@value{\nxp\counter@name{#1}}{\w@w{#2}}}\cs@e} -\def\back@step@counter#1{\increase@value{\counter@name{#1}}\m@ne} -\def\start@counter#1{\set@value{\counter@name{#1}}\z@} -\def\set@counter#1#2{\edef\cs@e - {\nxp\set@value{\nxp\counter@name{#1}}{\w@w{#2}}}\cs@e} - - -%%%%%%%%%%%%%%%% Title -% -% All constructs can have titles. -% By using the option 'title' the user indicates that -% this particular option has a title. -% A control sequence \constructTitle is defined. -% -% In case the \constructTitle is only used in a macro, -% the user has to set HasTitle:yes as an option. -% -\def\@@@title#1{#1Title}\def\@@title{\@@@title\@name} -\newif\ifhas@title\add@generic@default{\has@titleno} -\newif\ifshort@title\add@generic@default{\short@titleno} -\add@generic@stop@default % we cannot use @@title here! - {\ifhas@marks\ifhas@title\xp\add@mark@item\xp{\@name Title}\fi\fi} -\def\give@title{\global\has@titleyes - \global\csarg\let\@@title\@space - %to define it until first call - } -\@GenericOption{title}{\give@title - \ifin@external \if\IsEmptyList{#1} - \external@handle@title{\@name} - \else \external@handle@title{#1}\fi - \else \if\IsEmptyList{#1} - \edef\cs@e{\nxp\@add@toks{\CSname{\@@title}}}\cs@e - \else\Wmessage{Parametrized titles only in external}\fi - \fi - } -\@GenericOption{HasTitle}{ - \switch {\if\EqualString{#1}} - {yes} {\give@title} - {no} {\global\has@titleno} - {short} {\give@title \global\short@titleyes} - {default} {\give@title} - \endswitch - } - -% this code appears in \outer@start@commands; -% it will be executed in an \edef -% -\newtoks\title@toks -\def\install@title@code - {%\nxp\xp\gdef\nxp\xp\CSname{\@name Title}\nxp\xp{% - % \nxp\xp\nxp\maybe@uppercase\nxp\xp{\nxp\the\title@toks}}% - \nxp\xp\gdef\nxp\xp\CSname{\@name Title}\nxp\xp - {\nxp\the\title@toks}% - \ifhas@marks - \edef\nxp\cs@e{\nxp\nxp\nxp\refresh@mark@item - {\@name Title}{\nxp\the\title@toks}}% - \nxp\cs@e - \fi} - -% Give a macro a title -% -%\add@generic@stop@default{\ifhas@title \@Titelize{\@name}\fi} %above! -% -\newcount\extra@args \add@generic@default{\extra@args\z@} -\def\ttl@name#1{ttl@#1} -\def\@Titelize#1{\edef\cs@e{\let\CSname{\ttl@name{#1}}=\CSname{#1}}\cs@e - \ifcase\extra@args %0: - \csarg\edef{#1}##1\par - {\title@toks\nxp\xp{\nxp\id@##1\nxp\willbeunhskip}% -% {\title@toks{##1\nxp\protect\nxp\unhskip}% - \CSname{\ttl@name{#1}}} - \or %1: - \csarg\edef{#1}##1##2\par - {\title@toks\nxp\xp{\nxp\id@##2\nxp\willbeunhskip}% -% {\title@toks{##2\nxp\protect\nxp\unhskip}% - \CSname{\ttl@name{#1}}{##1}} - \or %2: - \csarg\edef{#1}##1##2##3\par - {\title@toks\nxp\xp{\nxp\id@##3\nxp\willbeunhskip}% -% {\title@toks{##3\nxp\protect\nxp\unhskip}% - \CSname{\ttl@name{#1}}{##1}{##2}} - \else \Wmessage{Sorry, too many extra arguments % - for `\@class' : `\@name'} - \fi} -\begingroup\catcode`\^^M\active \endlinechar-1\relax% -% trick: with an active ^^M we can let it expand to \@space -% not a 100\% solution, true. -\gdef\@sTitelize#1{ - \edef\cs@e{\let\CSname{x@\ttl@name{#1}}=\CSname{#1}}\cs@e - \csarg\edef{#1}{\begingroup\endlinechar`\nxp\^^M - \catcode\endlinechar\active\CSname{\ttl@name{#1}}} -% short titles can have no unwanted trailing space - \ifcase\extra@args %0: - \csarg\edef{\ttl@name{#1}}##1^^M - {\endgroup\let\nxp^^M\nxp\@space - \title@toks\nxp\xp{\nxp\id@##1}% -% \title@toks{##1\nxp\protect\nxp\unhskip}% - \CSname{x@\ttl@name{#1}}} - \or %1: - \csarg\edef{\ttl@name{#1}}##1##2^^M - {\endgroup\let\nxp^^M\nxp\@space - \title@toks\nxp\xp{\nxp\id@##2}% -% \title@toks{##2\nxp\protect\nxp\unhskip}% - \CSname{x@\ttl@name{#1}}{##1}} - \or %2: - \csarg\edef{\ttl@name{#1}}##1##2##3^^M - {\endgroup\let\nxp^^M\nxp\@space - \title@toks\nxp\xp{\nxp\id@##3}% -% \title@toks{##3\nxp\protect\nxp\unhskip}% - \CSname{x@\ttl@name{#1}}{##1}{##2}} - \else \Wmessage{Sorry, too many extra arguments % - for `\@class' : `\@name'} - \fi} -\endgroup - -% Uppercase titles are a big problem -% after \MakeUpperCase -% any appearing title (including when it comes out of a mark) -% is uppercased -% -\newif\ifUpperCasing \def\MakeUpperCase{\UpperCasingyes} -\def\maybe@uppercase{\ifUpperCasing\uppercase\xp\fi} - -%%%%%%%%%%%%%%%% M O D E S -% -% controls whether a construct can start/end as part of a paragraph. -% chooses between a lot of horizontal/vertical commands. -% -% this should appear as one of the first options. -% maybe generate an error msg if it doesn't -% -\newif\ifleft@embedded@construct -\newif\ifright@embedded@construct -\add@generic@default{\left@embedded@constructno\right@embedded@constructno} -\newif\if@hmode \newif\if@vmode -\add@generic@default{\@hmodeno\@vmodeyes} -\@GenericOption{embedded}{\switch {\if\EqualString{#1}} - {yes} {\left@embedded@constructyes\right@embedded@constructyes} - {no} {\left@embedded@constructno \right@embedded@constructno} - {left} {\left@embedded@constructyes\right@embedded@constructno} - {right} {\left@embedded@constructno \right@embedded@constructyes} - {default} {\Wmessage{Strange modifier: `embedded:#1'}} - \endswitch - \ifleft@embedded@construct \@hmodeyes \@vmodeno \fi} - -% Mode dependent -% -\def\h@or@v{\ifleft@embedded@construct h\else v\fi} -\def\append@no@hv@break - {\edef\cs@e{\nxp\@add@toks{%\if@hmode \if@vmode\else\nxp\leavevmode\fi\fi - %\if@vmode \if@hmode\else\nxp\leavehmode\fi\fi - \nxp\nobreak}} - \cs@e} - -%%%%%%%%%%%%%%%% Boxes -% -% Line -% is a \hbox to \hsize -% mainly used to determine the width of stuff inside it. -% -\newif\ifin@line -\add@generic@default{\in@lineno} -\newcount\text@in@line \newtoks\line@toks \newbox\line@box -\def\rm@to@end@of@box{\everyvbox{}% - \setbox\tempboxa\vbox\bgroup - \aftergroup\rm@tmp@box} -\def\rm@tmp@box{\setbox\tempboxa\box\voidb@x\egroup} -\def\definitely@to@hsize{\def\maybe@to@hsize{ to\hsize}} -\@GenericOption{line}{ - \switch {\if\EqualString{#1}} - {start} {\protect@breakpoint - \b@group[line]\in@lineyes\line@toks{} - \temp@options@list{line@toks} - \@add@toks{\hbox \maybe@to@hsize\bgroup}\text@in@line\z@ - } - {stop} {\@add@toks{\hfil\egroup}\revert@options@list - \ifnum\text@in@line>\z@ - \edef\cs@e{\nxp\@add@toks - {\line@toks={\the\line@toks}}}\cs@e - \@add@toks{\begingroup\everyvbox{\rm@to@end@of@box}% - \let\maybe@to@hsize\relax - \setbox\line@box\the\line@toks - \tempdima\hsize\advance\tempdima-\wd\line@box - \everyvbox{}\definitely@to@hsize - \everyvbox{\hsize\tempdima}\the\line@toks - \endgroup} - \else \@add@toks{\definitely@to@hsize} - \toks@add@toks{line@toks} - \fi - \e@group[line]\at@breakpointyes} - {default} {\Wmessage{Strange modifier: `line:#1'}} - \endswitch} - -% Tekstkolom. Is een \vbox of \vtop. -% Openen met 'begin' 'ophangen', 'topregel' of 'voetregel', -% start,topregel : \vtop -% voetregel : \vbox -% ophangen : \vtop{\kern\z@ -% Eindigen met 'stop' -\@GenericOption{textcolumn}{ - \switch {\if\EqualString{#1}} - {stop} {\@add@toks{\egroup}\global\BlockWidth\hsize - \e@group[textcolumn]\at@breakpointyes} - {start} {\open@text@column\vtop{}} - {topline} {\open@text@column\vtop{}} - {hang} {\open@text@column\vtop{\kern\z@}} - {footline} {\open@text@column\vbox{}} - {default} {\Wmessage{Strange modifier: `textcolumn:#1=#2'}} - \endswitch} -\def\open@text@column#1#2% - {\ifin@line\advance\text@in@line\@ne\else\protect@breakpoint\fi - \@add@toks{#1\bgroup#2\leftskip\z@ \Indent:no \leavevmode} - \b@group[textcolumn] - \ifin@line\else\aftergroup\at@breakpointyes\fi - } - -% Depth strut: for use in line -\@GenericOption{depth}{ - \edef\cs@e{\nxp\@add@toks{\vrule width\z@ height\z@ depth \@w@w{#1}}} - \cs@e} - -% Block -% is an hbox -% opening -% 1/ blok:start --> \setbox\block@box=\hbox{ -% and \block@closing = } -% 2/ blok:hang --> \setbox\block@box=\hbox{\vtop{\kern\z@\hbox{ -% and \block@closing = }}} -% closing -% 1/ blok:stop --> \block@closing \box\block@box -% 2/ stickout:left/right --> \block@closing \l/rlap{\box\block@box} -% 3/ fillupto:foo --> \block@closing -% \hbox to \foo{\unhbox\block@box\hfil} -% -\newbox\block@box \newif\ifin@box -\add@generic@default{\in@boxno - \def\block@closing{\ifin@box\else - \Wmessage{Closing `block', but not opened. This is serious!}\fi} - } -\def\block@closing{} -\newdimen\BlockWidth -\def\Measure@Block{\global\BlockWidth\wd\block@box} -\@GenericOption{block}{ - \switch {\if\EqualString{#1}} - {stop} {\stop@block} - {hang} {\start@block - {\vtop\bgroup\kern\z@\hbox\bgroup} - {\egroup\egroup}} - {start} {\start@block{}{}} - {default} {\Wmessage{Strange option: `block:#1'}} - \endswitch} -\def\start@block#1#2{ - \ifin@line\else\protect@breakpoint\fi - \@add@toks{\setbox\block@box=\hbox\bgroup#1} - \b@group[block] - \ifin@line\else\aftergroup\at@breakpointyes\fi - \def\block@closing{\@add@toks{#2\egroup\Measure@Block}} - } -\def\stop@block{\block@closing - \ifin@box \@add@toks{\advance\hsize by -\wd\block@box} \fi - \@add@toks{\box\block@box} - \e@group[block]} - -\@GenericOption{fillupto}{ - \block@closing \e@group[block] - \edef\cs@e{\nxp\@add@toks{\hbox to \@w@w{#1}{\unhbox\block@box\hfil}}} - \cs@e - \ifin@line \edef\cs@e{\nxp\@add@toks{\advance\hsize by -\@w@w{#1}}} - \cs@e \fi - } -\@GenericOption{stickout}{ - \block@closing \e@group[block] - \switch {\if\EqualString{#1}} - {right} {\stickout@right{#2}} - {left} {\stickout@left{#2}} - {default} {\Wmessage{Unknown qualifier (stickout:) `#1'}} - \endswitch - } -\def\stickout@left#1{ - \@add@toks{\llap} - \if\IsEmptyList{#1} - \@add@toks{{\box\block@box}} - \else \edef\cs@e{\nxp\@add@toks{{\hbox to \@w@w{#1} - {\box\block@box\hss}}}} - \cs@e - \fi} -\def\stickout@right#1{ - \@add@toks{\rlap} - \if\IsEmptyList{#1} - \@add@toks{{\box\block@box}} - \else \edef\cs@e{\nxp\@add@toks{{\hbox to \@w@w{#1} - {\hss\box\block@box}}}} - \cs@e - \fi} - -%%%%%%%%%%%%%%%% Tidbits - -% Commands -% -\@GenericOption{command}{ - \ifin@external \external@handle@expandable{#1}{\csn#1\ecs}{<#1>} - \else - \if\UndefinedCS{#1}\Wmessage{Undefined command: <#1>}\fi - \edef\cs@e{\nxp\@add@toks{\CSname{#1}}}\cs@e - \fi} -\@GenericOption{CSname}{ - \edef\cs@e{\nxp\@add@toks{\CSname{#1}}}\cs@e} - -% Literal text. -% only problem if this is a colon. -% -\@GenericOption{literal}{\@add@toks{#1}} - -% Arguments. -% -\@GenericOption{arg}{\edef\cs@e - {\nxp\@add@toks{\iftrue{\else}\fi#1\iffalse{\else}\fi}} - \cs@e} -\@GenericOption{OpenBrace}{\edef\cs@e - {\nxp\@add@toks{\iftrue{\else}\fi}} - \cs@e} -\@GenericOption{CloseBrace}{\edef\cs@e - {\nxp\@add@toks{\iffalse{\else}\fi}} - \cs@e} -% Extra Commands before and after -% -\newtoks\before@toks \add@generic@default{\before@toks{}} -\@GenericOption{commandbefore}{ - \edef\cs@e{\nxp\append@to@list{before@toks}{\CSname{#1}}} - \cs@e} -\newtoks\after@toks \add@generic@default{\after@toks{}} -\def\add@after@command#1{\append@to@list{after@toks}{#1}} -\@GenericOption{commandafter}{ - \edef\cs@e{\nxp\add@after@command{\CSname{#1}}} - \cs@e} - -\endinput - -% 2016/04/13 Chnaged \lolli@name to \lollipop@name -% 2014/04/18 Fixed the wrong numbering of nested enumerate lists -% 92/11/03 Improved penalty handling for embedded environments -% \ifini test extended to make loading on top of plain possible -% 92/11/08 Breakpoint protection into line/block/textcolumn -% 92/11/14 Resetlist generation made conditional -% 92/11/21 option 'arg' -% 92/12/12 \sTitelize, \give@title -% 93/07/30 late@after@toks, inputlineno in group errmsg \ No newline at end of file diff --git a/macros/lollipop/tex/lollipop.tex b/macros/lollipop/tex/lollipop.tex deleted file mode 100644 index 5b77aabd78..0000000000 --- a/macros/lollipop/tex/lollipop.tex +++ /dev/null @@ -1,141 +0,0 @@ -% lollipop.tex; master file for the Lollipop tex format. -% This file and all input files and all files for the manual -% (with the exception of hyphen.tex and btxmac.tex) -% copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%% L O L L I P O P T E X %%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% o -% L O L L I P O P -% | | -% -\catcode`\@=11 - -\input lollipop-plain - -\input lollipop-tools - -\input lollipop-define - -\input lollipop-fonts -\input lollipop-fontdefs - -\input lollipop-text - -\input lollipop-document - -\input lollipop-heading - -\input lollipop-output - -\input lollipop-float - -\input lollipop-lists - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\showboxdepth=7 \showboxbreadth=300 -\errorcontextlines=\maxdimen - -\let\willbeunhskip\unhskip - -\Typeface:ComputerModern -\Pointsize:10 -\Style:bold \Style:slant \Style:italic \Style:roman - -\Distance:verbatimwhiteleft=levelindent -\Distance:verbatimwhitebefore={0pt plus 1pt} -\Distance:verbatimwhiteafter={0pt plus 1pt} - -%\tracingmacros=2\tracingcommands\tracingmacros -\DefineTextBlock:Ver - whitebefore:verbatimwhitebefore whiteafter:verbatimwhiteafter - breakbefore:200 breakafter:-100 - whiteleft:verbatimwhiteleft - command:vVer text Stop - -\DefinePageGrid:RightPage height:page=8in width:page=5in - textband:start text textband:stop - vwhite:12pt - band:start PageCounter band:stop - Stop -\RightPage - -\hyphenation{Eijk-hout dis-cre-tio-na-ry al-ign-ment met-hod - met-hods} - -% v0.9 First public release October 1992 -% v0.91 TeX3 based lolplain, penalties in embedded constructs, -% splittopskip -% v0.92 Copyright notices added, math family setting, -% bugs in penalties corrected -% v0.93 Nobreaks in constructs, synonym counters, start floats -% v0.94 Adaptive distances and counters -% v0.95 BibTeX, short titles, improved external handling, -% \CurrentOutput changed -% v0.96 repair: counters, ToExternal, option:title=Smthng, -% changed copyright status! fontdefs file, late externals -% EmptyList -> IsEmp... -% -% v0.97 Update and organized files and generated various -% formats for Lollipop. -% -% v0.98 Changed filenames; the new filename has now -% "lollipop-" prefix, and fixed typewriter font. -% -% v0.99 Improved ini files, and the error in address.tex -% example fixed. -% -% v1.00 Updated lollipop-plain.tex. -% -% v1.01 Updated lollipop-text.tex (changed "#1 cs to \"#1 cs -% to be compatible with plain -% -% v1.02 Updated lollipop-text.tex (defined \EveryParagraph, -% \EveryMath, and \EveryDisplay), defined -% \PointSizeScriptSizes:12 -% -% v1.03 Fixed the wrong numbering of nested enumerate lists -% -% v1.04 Updated version number and date of the format in \fmtversion -% -% v1.05 Changed \lolli@name to \lollipop@name -% added \footnoterule to output routine -% defined \PushLeftIndentLevel, \PopLeftIndentLevel, -% \PushRightIndentLevel, \PopRightIndentLevel, -% \PushLeftRightIndentLevels, and \PopLeftRightIndentLevels -% commands. \PushIndentLevel is now a synonym for -% \PushLeftIndentLevel and \PopIndentLevel is a synonym -% for \PopLeftIndentLevel -% fixed the error caused by \newhelp -% -% v1.06 Defined \FrenchSpacing -% -\edef\fmtname{\lollipop@name}%defined in Tools -\def\fmtversion{v1.07, 21 May 2016} -\append@to@list{everyjob}{\message{ ->>>> This is Lollipop TeX (\fmtversion) <<<<}} - -\makeatother -\errorstopmode -\endinput diff --git a/macros/mtex/README b/macros/mtex/README deleted file mode 100644 index 391d1f0832..0000000000 --- a/macros/mtex/README +++ /dev/null @@ -1,65 +0,0 @@ -Dieser Zoo-File enthaelt die komplette Version der MTEX-Makros zum -automatisierten Notensatz mit TeX, inkl. Dokumentation. -Diese Makros bzw. Fonts sind im Rahmen der Diplomarbeiten von -Frau Steinbach und Frau Schofer in Bonn entstanden. Die Dokumentation -ist eine Kombination aus diesen beiden Arbeiten. -Die Files im einzelnen: - -README diese Datei -mdoc.tex Dokumentation zu MTEX, Plain TeX -mdoc1.tex Teil der Dokumentation -mdoc10.tex "" -mdoc11.tex "" -mdoc12.tex "" -mdoc13.tex "" -mdoc2.tex "" -mdoc3.tex "" -mdoc4.tex "" -mdoc5.tex "" -mdoc6.tex "" -mdoc7.tex "" -mdoc8.tex "" -mdoc9.tex "" -mdocabst.tex "" -mdocams.tex "" -mdocanha.tex "" -mdocanhb.tex "" -mdocanhc.tex "" -mdocanhd.tex "" -mdocdef.tex "" -mdocdef2.tex "" -mdoceinl.tex "" -mdocinh.tex "" -mdocpic1.tex "" (Bilder) -mdocpic2.tex "" -mdocpic3.tex "" -mdocpic4.tex "" -mdoctit.tex "" -mdoctrns.tex "" -mdocverb.tex "" -mtex.tex Mtex-Makros -mtexdemo.tex Demo zu Mtex (benoetigt ein 'grosses' TeX) -mtexinfo.tex Kurz-Dokumentation zu den Makros -webmac.tex Makros zu WEB (fuer Listing des Preprozessors) -music16.mf Metafont-Source der Notensymbole -beam16.mf "" -slur16.mf "" -slurdd16.mf "" -slurdu16.mf "" -slurud16.mf "" -sluruu16.mf "" -sonder16.mf Metafont-Include-Datei -musicdef.mf "" -noten16.mf "" -pause16.mf "" -vio16.mf "" -acc16.mf "" - -Zum Uebersetzen der Dokumentation wird nur ein Plain TeX mit german.tex -vorausgesetzt. Die Fonts muessen natuerlich vorher erstellt werden. - - Dr. P. Janssen - Inst. f. angew. Mathematik - Universitaet Bonn - Wegelerstr. 6 - 5300 Bonn 1 diff --git a/macros/mtex/documentation/mdoc.tex b/macros/mtex/documentation/mdoc.tex deleted file mode 100644 index 9c466500f5..0000000000 --- a/macros/mtex/documentation/mdoc.tex +++ /dev/null @@ -1,75 +0,0 @@ -%format plaing % PLAIN + GERMAN -%%format mtexg % PLAIN + GERMAN + MTeX - -\input pictex % there are some figures (in MDOCPIC*.TEX) -\input mtex % we dont use preloaded mtex -\input mdocverb % verbatim mode -\input mdocams % because we now use PLAIN, not OLDAMS base format. -\input mdocdef % defdipl + dipldef -\input german -\verbatimon - - -\input mdoctit - -{\advance \hsize -2cm -\openup-3pt -\advance\hoffset1.0cm -\ninerm -\input mdocabst -} - - -\chap=-2 -\input mdocinh - - -\pageno=1 -\input mdoceinl - -{ -\verbatimoff -\input mdocdef2 % hier NUR fuer MDOC1,2,3! deshalb Klammerung! - -\input mdoc1 - -\input mdoc2 - -\input mdoc3 -} -\chap=3 - -\input mdoc4 - -\input mdoc5 - -\input mdoc6 - -\input mdoc7 - -\input mdoc8 - -\input mdoc9 - -\input mdoc10 - -\input mdoc11 - -\input mdoc12 - -\input mdoc13 - -%\chap=13\pageno=107 -\input mdocanha - -{ -\verbatimoff -\input mdocdef2 % hier NUR fuer MDOCANHB,C,D! deshalb Klammerung! - -\input mdocanhb % benoetigt noch WEBMAC.TEX - -\input mdocanhc - -\input mdocanhd -} -\bye diff --git a/macros/mtex/documentation/mdoc1.tex b/macros/mtex/documentation/mdoc1.tex deleted file mode 100644 index bc080b00cb..0000000000 --- a/macros/mtex/documentation/mdoc1.tex +++ /dev/null @@ -1,897 +0,0 @@ -\heading{Noteneingabesprachen - im Zusammenhang mit dem automatisierten Notensatz} -\centerline{\bigrm 1.\quad Noteneingabesprachen}\smallskip -\centerline{\bigrm im Zusammenhang mit dem automatisierten Notensatz} -\bigskip -Bevor auf die Automatisierung des Notensatzes eingegangen wird, soll -zuerst die her\-k"ommliche Notationsweise von Musikst"ucken, die -Notenschrift, erl"autert werden, denn aufgrund -ihrer Gestalt ist -die Automatisierung des Notensatzes relativ schwer. -\abs -Das Ziel einer schriftlichen Aufzeichnung der Musik mu\3 es sein, -den Klang graphisch darzustellen und den zeitlichen Ablauf der Musik -festzuhalten. -Die heute gebr"auchliche abendl"andische Notenschrift ist seit dem -11. Jahrhundert st"andig weiterentwickelt worden. -Dabei hat sie einen hohen Grad der Vollkommenheit erreicht. -\abs -In der Notenschrift werden -die Tonh"ohe durch die Stellung der Noten im -Liniensystem, die relative Dauer der Einzelt"one durch die Notengestalt, -die rhythmische Gruppierung und die Akzentlage durch Taktvorzeichen -und Taktstriche und das Tempo durch allgemeine Angaben -oder Metronom--Zahlen -wiedergegeben. Differenzierungen der Tonst"arke, Verzierungen, -Artikulationen oder "ahnliche Zus"atze werden durch schriftliche -Anweisungen oder besondere Zeichen ausgedr"uckt. Die Notenschrift bedient -sich eines zweidimensionalen Systems, in dem die Noten vertikal -und horizontal angeordnet werden. Die vertikale Richtung stellt die -Tonh"ohe und die horizontale -die zeitliche Aufeinanderfolge der T"one dar. -Auf diese Art kann die musikalische Struktur einer Partitur bis in -Einzelheiten visuell veranschaulicht werden. -\abs -Im folgenden soll auf die Problematik des automatisierten Notensatzes -eingegangen -und die Unterschiede zum automatisierten Schriftsatz deutlich gemacht -werden. Zus"atzlich zu den Schwierigkeiten bei der -Entwicklung einer Eingabesprache werden auch kurz die -Probleme der Notenschriftausgabe angesprochen, weil manche dieser -Probleme aus der Eingabe resultieren. -\abschnitt\abschnitt -\centerline{\bf 1.1 Problematik des automatisierten Notensatzes} -\abschnitt -Die "ubliche Aufzeichnung -von Musikst"ucken ist die oben beschriebene -Niederschrift in Noten. Ihr besonderes -Merkmal ist die Anordnung sehr unterschiedlicher Zeichen in einem -zweidimensionalen System, dem Notenliniensystem. Die Zeichen der -Notenschrift, die in der Gr"o\3e stark variieren, treten nicht nur -einzeln sondern auch miteinander kombiniert auf. -Zeichen bzw. Zeichengruppen m"ussen in dem -Notenliniensystem sehr genau plaziert werden. -Es spielt also nicht nur die -horizontale Ausrichtung und Anordnung eine wichtige Rolle, sondern auch -die vertikale. Beide, horizontale wie vertikale Plazierung der Zeichen, -sind f"ur das Verst"andnis eines Musikst"ucks gleichbedeutend und -liefern entscheidende Informationen.\abs -Die Aufgabe der Eingabesprache f"ur den Computer besteht nun -einerseits darin, Ausk"unfte "uber die Plazierung der Zeichen -im Notenliniensystem zu geben. Andererseits sollen -zus"atzliche Informationen, die durch die -zweidimensionale Schreibweise vermittelt werden, genau erfa\3t und -wiedergegeben werden. -Bei der Entwicklung einer Eingabesprache, die diese Aufgabe l"ost, -ist die Umsetzung der zweidimensionalen Notenschrift in eine -lineare Schreibweise die gr"o\3te Schwierigkeit. Diese -"Ubertragung ist erforderlich, weil f"ur den Computer eine -Noteneingabe vorliegen mu\3, bei der die Zeichen ausschlie\3lich -aufeinanderfolgen. Das bedeutet aber auch, da\3 die Zeichen -der Notenschrift durch ein Zeichensystem ersetzt werden m"ussen, -das einem Standardzeichensatz f"ur den Computer angeh"ort. -Bei diesem Umsetzungsschritt sollen die Informationen der Notenschrift -erhalten bleiben, das hei\3t, die "Ubertragung sollte ohne Verf"alschung -und ohne Verlust von Informationen stattfinden. -Der andere Teil der Aufgabe einer Eingabesprache betrifft die -"Ubermittlung von Informationen zur Plazierung der Zeichen bzw. -Zeichengruppen. Ziel sollte es dabei sein, da\3 der Benutzer -nicht die Position der Zeichen in dem zweidimensionalen System, -sondern ihre Funktion und Bedeutung angeben mu\3. Es -sollte bei der Dateneingabe auch nicht n"otig sein, das Ende -einer Notenzeile bzw. einer Seite explizit anzugeben, -da der Endpunkt einer -Zeile bzw. Seite innerhalb eines Musikst"ucks ohne Bedeutung ist. -\abs -Mit diesen Ausf"uhrungen ist ein -wesentlicher Unterschied zum normalen -Schriftsatz herausgestellt worden. Dort -kommt es nur auf die horizontale Anordnung und Aufeinanderfolge der -Schriftzeichen an, die Elemente eines Standardzeichensatzes -f"ur den Computer sind. Damit entf"allt bei der -Automatisierung des Schriftsatzes das Problem, die "ubliche -Niederschrift des Textmaterials bzw. das Zeichensystem -codieren zu m"ussen. -Eine Ausnahme bildet \zB der Satz mathematischer -oder chemischer -Texte, denn f"ur die Notierung mathematischer bzw. chemischer Formeln -wird ebenfalls eine zweidimensionale Schreibweise verwandt. -Es werden dabei auch sehr unterschiedliche Zeichen horizontal wie -vertikal angeordnet. -F"ur diese Art von Texten mu\3 es demnach wie bei einer Noteneingabe -eine Codierungsvorschrift geben, die die zweidimensionale -Notationsform in eine lineare "ubertr"agt. -\abs -Da die Eingabedaten Grundlagen f"ur einen Ausgabealgorithmus -sind, wird dieser von der Art der Eingabe beeinflu\3t. -In unserem Fall bedeutet das, da\3 die -Positionsermittlung der Zeichen im Notenliniensystem -Aufgabe des Ausgabeverfahrens ist. -Au\3erdem mu\3 ein Algorithmus gefunden werden, der den -Seiten-- bzw. Zeilenumbruch selbst"andig vornimmt, -weil das Ende einer Zeile bzw. Seite nicht angegeben zu werden braucht. -An diesen Algorithmus wird die Forderung gestellt, -da\3 er die f"ur einen Umbruch g"unstigsten Stellen findet. G"unstige -Umbruchpunkte sind dabei solche, die das Notenbild und die Bedeutung des -Musikst"ucks nicht beeintr"achtigen. -Ein Umbruchalgorithmus f"ur den Notensatz mu\3 auch vertikale -Zusammengeh"origkeiten ber"ucksichtigen. -Dies ist \zB bei Orchesterpartituren -notwendig, bei denen die Takte der verschiedenen Stimmen exakt -untereinander stehen m"ussen. Der Algorithmus sollte -also f"ur jede Stimme -g"unstige Umbruchpunkte suchen und dann einen f"ur das gesamte System -bestimmen, der f"ur alle Stimmen m"oglichst gut ist. -Solche Umbruchalgorithmen werden auch beim automatisierten -Schriftsatz benutzt. Allerdings m"ussen dort in den meisten F"allen -keine vertikalen Zusammengeh"origkeiten beachtet werden. -\abs -Zus"atzlich zur Ein-- und Ausgabe mu\3 eine weitere Voraussetzung -angesprochen werden, die notwendigen Zeichens"atze. -F"ur den Notensatz werden eine Vielzahl von Schriftelementen -ben"otigt, die sich oft nur geringf"ugig unterscheiden. Als Beispiel -seien dabei die Balken erw"ahnt, die mehrere Noten miteinander -verbinden. Sie unterscheiden sich haupts"achlich in ihrer L"ange bzw. -Steigung. W"unschenswert ist daher -ein zus"atzliches Programmpaket, das beliebige -Zeichens"atze mit m"oglichst geringem manuellem Aufwand erstellt. -\abs -Die angef"uhrten Themen werden in den n"achsten -Kapiteln n"aher erl"autert und Probleml"osungen angegeben. -Die Umsetzung der -zweidimensionalen Notation in eine eindimensionale wird im -zweiten Kapitel, die Zeichensatzerstellung in -Anhang D behandelt. -% -Algorithmen, die den \SZ\ optimieren bzw. die Zeichen im -Notenliniensystem genau plazieren, werden in der Arbeit von -A. Steinbach beschrieben. -% -% -% -\abschnitt\abschnitt -\centerline{\bf 1.2 Einsatz des Textsatzsystems \TeX\ -f"ur den Notensatz} -\abschnitt -In diesem Abschnitt soll gezeigt werden, aus welchen Gr"unden -das schon mehrfach erw"ahnte \Tss\ \TeX\ f"ur den -automatisierten Notensatz verwandt werden kann. -Zuerst wird eine zusammenfassende Beschreibung der Arbeitsweise -mit dem \Tss\ gegeben. -\abs -Mit \TeX\ k"onnen alle Arten von Schrifttexten verarbeitet werden, -auch mathematische und chemische Formeln. -F"ur die Textverarbeitung mit \TeX\ wird eine gew"ohnliche -sequentielle Eingeabedatei erstellt, die den zu setzenden Text enth"alt. -Zusammen mit dem Text werden Steuerbefehle eingegeben, die angeben, -auf welche Art der Text verarbeitet wird. Diese -Steuerbefehle k"onnen Einflu\3 auf die Formatierung nehmen oder -Sonderzeichen ansprechen, wie sie \zB -f"ur mathematische Formeln ben"otigt -werden. -Aus dieser Eingabedatei erzeugt \TeX\ eine Datei, die Angaben -"uber die Art der Zeichen und ihre Position auf einer Manuskriptseite -enth"alt. Diese Datei ist vom m"oglichen Ausgabeger"at v"ollig -unabh"angig. -Mit einem ger"ateabh"angigen Programm wird nun aus dieser Datei -das tats"achliche lesbare Dokument erstellt. -Bemerkenswert ist dabei vor allem, da\3 keinerlei Informationen -"uber Position der Schriftzeichen -oder Umbruchpunkte in der Eingabe n"otig sind, um -eine lesbare Ausgabe zu erhalten. -Damit bietet \TeX\ auch dem Benutzer, der keine oder nur geringe -Kenntnisse von Satzregeln besitzt, die M"oglichkeit, eine -gut formatierte Ausgabe zu erzielen. Andererseits stellt \TeX\ -Mittel bereit, die es zulassen, da\3 der Benutzer den Text genau -nach seinen Vorstellungen formatieren kann. -Zu dem \Tss\ \TeX\ geh"ort das Programmpaket \mf\ \lit{\Knuthmf}, das -f"ur den Textsatz notwendige Zeichens"atze generieren kann. -\abs -Im folgenden werden die Gr"unde dargelegt, die -f"ur eine Anwendung des \Tss s \TeX\ -beim automatisierten Notensatz sprechen. -Einige Aspekte werden beim Vergleich der Anwendungsbereiche und -der Arbeitsweise von \TeX\ mit den speziellen Fragestellungen des -Notensatzes deutlich. Bei der Entwicklung der -Ein-- bzw. Ausgabeverfahren f"ur dieses Textsatzsystem mu\3ten -"ahnliche Probleme gel"ost werden. Die Gemeinsamkeiten dieser -Probleme betreffen vor allem -\item{---} die Umsetzung der zweidimensionalen in eine -lineare Notation, -\item{---} die Formatierung des Textes, -\item{---} die M"oglichkeit, verschiedenartige Texte miteinander -zu verarbeiten und -\item{---} die Wahl der Ausgabeger"ate. -\abs -Die aufgef"uhrten Punkte werden nun n"aher erl"autert und -in Verbindung mit dem Notensatz gebracht. -\abs -\item{1.} -Einer der entscheidenden -Gr"unde, die eine Anwendung des Textsatzsystems \TeX\ bei der -Automatisierung des Notensatzes rechtfertigen, -ist sicherlich, -da\3 es alle M"oglichkeiten bietet, um auch -mathematische Texte zu setzen. -Bisher mu\3ten mathematische -Manuskripte genau wie musikalische ausschlie\3lich von -ausgebildeten Schriftsetzern gesetzt werden. Der Einsatz des Satzsystems -\TeX\ macht es m"oglich, da\3 auch Laien mathematische Texte setzen -k"onnen. -F"ur den Notensatz ist das insofern von Bedeutung, weil -der Satz mathematischer und \m er Manuskripte -Gemeinsamkeiten aufweist, die sich vor allem darin begr"unden, da\3 in -beiden F"allen die Zeichen innerhalb eines zweidimensionalen Systems -angeordnet werden. -F"ur die Eingabe mathematischer Texte mu\3 ebenfalls --- "ahnlich wie f"ur die Notenschrifteingabe -- -eine Methode gefunden werden, -die die oft zweidimensionale Notationsweise f"ur mathematische Formeln -in eine eindimensionale -"ubertr"agt. Knuth ist dies mit seinem \Tss\ auf eine f"ur den Benutzer -relativ leicht zu handhabende Weise gelungen, ohne da\3 das System die -M"oglichkeiten des Benutzers einschr"ankt oder Strukturen -der "ublichen Notation verf"alscht. -Mathematische Texte weisen eine -"ahnliche Blockstruktur wie Musikst"ucke auf. Mit \TeX\ werden die -vorkommenden Bl"ocke in der Eingabe auch -als solche kenntlich gemacht. Die Blockstruktur von Musikst"ucken -zeigt sich in der Zusammenfassung von Notenschriftzeichen -zu Gruppen wie Akkorde, -Verbalkungen, Takte oder im -Zusammenschlu\3 mehrerer Systeme zu einer Partitur. -\item{2.} -Mit dem Satzsystem von Knuth erfolgt auch dann eine gut formatierte -Ausgabe, -wenn der Benutzer keine -oder nur geringe Kenntnisse von Satzregeln besitzt. -Gleichzeitig weist das System -so viel Flexibilit"at auf, da\3 -es die Umsetzung fester Vorstellungen vom -Layout des gesetzten Textes zul"a\3t. Beide M"oglichkeiten sollen auch -f"ur den Notensatz verwirklicht werden. Das bedeutet, da\3 -mit Hilfe einer vorgegebenen Formatierung ein Benutzer, der mit den -Satzregeln -nicht vertraut ist, Partituren eingeben kann und -eine publikationsf"ahige Notenausgabe -erh"alt. Die W"unsche des Benutzers bez"uglich der Formatierung k"onnen -aber mittels Steuerbefehlen ebenfalls ber"ucksichtigt werden. -Des weiteren soll es auch f"ur eine vom Benutzer gew"ahlte -Formatierung nicht n"otig sein, -das Ende einer Zeile bzw. Seite einzugeben. Diese -Endpunkte sollen mittels eines Umbruchalgorithmus gesucht werden. -F"ur das \Tss\ \TeX\ wurde -ein Algorithmus entwickelt, der den \SZ\ optimiert und auf -diese Weise die Formatierung erleichtert. -\item{3.} -Mit Hilfe des Satzsystems von Knuth k"onnen Texte gemeinsam verarbeitet -werden, obwohl sie sich in ihrer Struktur unterscheiden. Beispiele -daf"ur sind mathematische bzw. chemische Formeln oder anderssprachige -Manuskripte, die andere Schriftzeichen verwenden. Dadurch scheint die -M"oglichkeit gegeben zu sein, auch musikalische St"ucke zusammen mit -anderem Textmaterial verarbeiten zu k"onnen. Erleichtert wird das noch -durch die Tatsache, da\3 die Verarbeitung mathematischer und -musikalischer Manuskripte "ahnliche Fragen aufwirft und diese f"ur -mathematische Texte gel"ost wurden. -\item{} -Die Kombination des Notensatzes mit -einem \Tss\ macht es au\3erdem "uberfl"ussig, Zeichens"atze zu -generieren, die die Schriftzeichen f"ur Texte, die innerhalb eines -Musikst"ucks vorkommen, enthalten. Die Zeichs"atze f"ur die -Notenschriftzeichen k"onnen mit dem Programmpaket \mf, das ebenfalls von -Knuth entwik\-kelt wurde, erzeugt werden. Mit \mf\ werden Zeichens"atze -verh"altnism"a\3ig schnell und ohne gro\3en Arbeitsaufwand des Benutzers -erstellt. -\item{4.} -Eine weitere Eigenschaft -des \Tss\ \TeX\ besteht darin, da\3 es maschinen-- und -ausgabeger"ateunabh"angig arbeitet. -Eine Ausgabe wird nicht nur mit einem bestimmten -Ausgabeger"at erreicht, sondern -jede \TeX--Eingabedatei kann durch geeignete -Programme so aufbereitet werden, da\3 die Ausgabe mit verschiedenen -Ausgabeger"aten m"oglich ist. -Dies ist in der heutigen Zeit nicht -unwesentlich, da es eine Vielzahl verschiedener Ger"ate zur -Datenverarbeitung gibt. -Allerdings h"angt die Qualit"at der Ausgabe vom benutzten -Ausgabeger"at ab. -\abs -Aufgrund dieser Gesichtspunkte -sollte im Zusammenhang mit der Automatisierung -des Notensatzes versucht werden, eine Notenausgabe mit Hilfe des \Tss s -\TeX\ zu -erzielen. Dazu ist es notwendig, zus"atzlich zu der Noteneingabesprache -ein "Ubersetzungsprogramm zu entwickeln, das die Eingabedatei -in eine Form "ubertr"agt, auf die \TeX\ -angewandt werden kann. Dieses Programm wird in -Anhang B beschrieben. -\abschnitt -Bevor eine Sprache zur Notenschrifteingabe entwickelt werden kann, -m"ussen die Grunds"atze, auf denen ein -solches Verfahren basieren soll, erarbeitet werden. -Dabei mu\3 vor allem beachtet werden, da\3 eine Noteneingabesprache -nicht speziell f"ur eine Anwendungsm"oglichkeit entwickelt werden soll, -sondern es soll jede Weiterverarbeitung m"oglich werden. -Nat"urlich ist -es dann notwendig, spezielle Programme, die die Eingabe nach -Wunsch aufbereiten, zu erstellen. "Anderungen am Eingabematerial sollten -allerdings unn"otig sein, \dh die Erstellung einer einzigen -Eingabedatei sollte ausreichen. -Denkbare Anwendungsbereiche k"onnten neben der Automatisierung -des Notensatzes die Analyse von Musikst"ucken, die Kopie einzelner -Stimmen zur Katalogisierung oder Transponieren der Stimmen sein. -\abs -Es werden nun -zun"achst die -Bedingungen gestellt, die eine Eingabemethode erf"ullen sollte. -Dabei wird die allgemeine Anwendbarkeit der Sprache -beachtet, obwohl haupts"achlich auf den Notensatz eingegangen wird. -\abschnitt\abschnitt -\centerline{\bf 1.3 Grundlegende Anforderungen an eine Sprache zur -Notenschrifteingabe}\abschnitt -F"ur die \A\ des Notensatzes ist eine sinnvolle -Methode zur Eingabe des musikalischen Materials von gro\3er Bedeutung, -weil sie -- zusammen mit der maschineninternen -Behandlung der eingegebenen Daten -- Auswirkungen auf die -Notenschriftausgabe hat. Eine Eingabesprache, die das Klangbild -musikalischer Werke nicht exakt erfassen kann, -f"uhrt dazu, da\3 -Musikst"ucke -unabh"angig von der -Beschaffenheit des Ausgabeverfahrens -verf"alscht oder fehlerhaft wiedergegeben werden. -Aus diesem Grund resultieren einige der Bedingungen aus -"Uberlegungen, die zur Ausgabe gemacht wurden. Die wichtigsten -Forderungen beziehen sich auf die Darstellung der Eingabedaten -und die -Einsatzm"oglichkeiten f"ur den Benutzer. -\abs -Es wurde schon zu Anfang dieses Kapitels erw"ahnt, -da\3 mit der Notenschrift das -Klangbild einer Partitur bis in Einzelheiten -erfa\3t werden kann. Das liegt daran, -da\3 zus"atzlich zu den Angaben zu jedem einzelnen Ton diese Darstellung -auch den Bezug jedes Tons zur Gesamtstruktur des Musikst"ucks in seinem -horizontalen -wie vertikalen Aufbau erkennen l"a\3t. -Das Ziel bei der Entwicklung einer Eingabesprache -mu\3 also sein, diese Informationsvielfalt der gebr"auchlichen -Notation wiederzugeben. -Aufgrund -der Komplexit"at der Musik und ihrer -Notationsform ist es nicht einfach, das mit einer linearen -Eingabemethode zu verwirklichen. -Zus"atzlich wird das noch durch die Tatsache erschwert, -da\3 eine lineare Notation ein anderes Zeichensystem als -Grundlage hat. Aus der Vielschichtigkeit der -Notenschrift lassen sich Bedingungen f"ur die -Eingabemethode in Textform ableiten. -\item{1.} -Die lineare Darstellung der Musik sollte die gleiche -"Ubersichtlichkeit aufweisen wie die "ubliche Notation. Das bedeutet, -da\3 die Art der Musik und -das Klangbild der Partitur deutlich werden mu\3 und unmittelbar -erkennbar sein sollte. -Dies wird -gew"ahrleistet, wenn die Eingabedatei haupts"achlich Daten zur -Funktion und Bedeutung eines Zeichens innerhalb des \m en Werks -enth"alt. -Die Alternative w"are, die Position der Zeichen anzugeben. -Dazu w"are es notwendig, das -Notenliniensystem mit einer Skalierung zu versehen und dann als -Koordinatensystem zu betrachten. -Allerdings -w"urde dabei -die geforderte "Uberschaubarkeit nicht vorhanden sein, weil -jedes Zeichen f"ur sich ohne Ber"ucksichtigung seiner Umgebung -eingegeben werden m"u\3te. -\abs -Da die Funktion und nicht die Position der Zeichen f"ur die -Eingabe relevant sein soll, kann die folgende Bedingung gestellt -werden. -\item{2.} -Die Eingabe soll nicht -zeilenweise erfolgen. Das Ende einer Zeile bzw. Seite -innerhalb eines -Musikst"ucks braucht deshalb bei der linearen \Em\ -nicht gekennzeichnet werden. Der Grund daf"ur liegt darin, da\3 -im Fall einer zeilenweise Eingabe -der Zusammenhang und die "Uber\-schau\-barkeit des Musikst"ucks -verloren geht. -Beispielsweise m"u\3ten bei -dieser Art der Eingabe die verschiedenen Instrumentenstimmen einer -Orchesterpartitur zerst"uckelt eingegeben werden. -\abs -Die weiteren Anforderungen betreffen die Kenntnisse, die ein -Benutzer haben sollte, der die Methode zur Noteneingabe benutzen -will. -\item{3.} -Ein \Ev\ sollte -schnell erlernbar und einfach zu handhaben sein. Diese -Forderung kann erf"ullt werden, wenn die -Angaben, die eingegeben werden m"ussen, -dem \m en Sprachgebrauch angepa\3t -sind. Das spricht wiederum daf"ur, auf Positionsangaben zu verzichten. -\item{4.} -Die Noteneingabesprache sollte so beschaffen -sein, da\3 auch Laien sie benutzen k"onnen. -Der Benutzer sollte weder -Programmierkenntnisse ben"otigen -noch Notensatzregeln beherrschen m"ussen. -Fertigkeiten im Notenlesen sollten ausreichen, um eine Eingabe f"ur den -Computer erstellen zu k"onnen. -\absatz -Anhand dieser Bedingungen soll im n"achsten Kapitel eine Eingabesprache -entwickelt werden. Dabei wird aufgrund der Themenstellung dieser Arbeit -vor allem die Automatisierung des Notensatzes ber"ucksichtigt. -Zuvor werden einige andere Noteneingabeverfahren vorgestellt, die -aus verschiedenen Motiven entwickelt wurden. -\abschnitt\abschnitt -\centerline{\bf 1.4 Er"orterung und Vergleich -vorhandener Eingabeverfahren} -\abschnitt -Schon seit einiger Zeit werden -einige Methoden zur Noteneingabe, die f"ur den Computer geeignet -sind, ver"offentlicht. Der Nachteil der meisten dieser Eingabeverfahren -besteht darin, da\3 sie nicht sehr flexibel und in ihrer Verwendbarkeit -eingeschr"ankt sind. Die Mehrzahl erf"ullt nur einen -Teil der oben genannten Bedingungen. Um einen ungef"ahren "Uberblick -"uber die bereits ver"offentlichten Arbeiten zu diesem Thema zu -erhalten, werden im folgenden einige davon beschrieben. Ein -Gesichtspunkt der Untersuchung dieser Eingabemethoden wird dabei sein, -ob die obigen Anforderungen erf"ullt werden. Daran kann erkannt werden, -wie geeignet die Methode f"ur die verschiedenen Aufgaben ist. \abs -Allerdings k"onnen an dieser Stelle nicht alle vorhandenen Methoden zur -computergerechten Noteneingabe erfa\3t werden. Genauso wenig ist es -m"oglich, die Eingabeverfahren vollst"andig zu beschreiben und auf jede -Codierungsvorschrift einzugehen. Doch ein "Uberblick "uber die -zug"anglichen Publikationen wird trotzdem vermittelt, und einige -grundlegende Unterschiede der einzelnen Methoden werden ersichtlich. -\abs -Die Eingabemethoden, die beschrieben werden, stehen -jeweils stellvertretend f"ur eine Gruppe -"ahnlicher Verfahren. Mit deren Hilfe werden typische Unterschiede -zwischen den Methoden deutlich. Die Vorstellung der \Ev\ erfolgt -anhand einer knappen Zusammenfassung der Regeln und einiger -Mustercodierungen. -\abschnitt\abschnitt -\subheading{1.4.1 Plaine and Easy Code \lit{\Brook}} -Den Angaben der Autoren zufolge ist diese Methode -nicht entwickelt worden, um vollst"andige Partituren einzugeben. Ihre -Absicht bestand darin, eine M"oglichkeit zu schaffen, Ausz"uge aus -Partituren -- vor allem den Anfang der Musikst"ucke -- speichern zu -k"onnen. Dies wird ben"otigt f"ur Bibliothekskarteien zur -Katologisierung und -schnellen -Identifizierung \m er Werke, f"ur Kataloge, f"ur Musikbeispiele in -Artikeln und B"uchern, bei der Aufstellung von Karteien mit den -wichtigsten Merkmalen eines Musikst"ucks. -\abs -Um den Aufbau der Eingabesprache von Brook und Gould trotz einer -knappen Beschreibung deutlich werden zu lassen, wird zun"achst ein -Beispiel f"ur ihre Eingabe vorgestellt. -% -% -% -$$\hbox{(All bBEAm 34) ,4G / C E G / 2C 4E / 2D ,4xF / 2.G - $\us$ / G /}$$ -\par\vskip-0.7cm -{\hsize13.5cm\parindent3cm -\nointerlineskip -\beginsong\bass\Es\^n{Allegro}{\meter3/4}\v0\|\v3\v5\v7\|% -\h{10}\v{12}\|\h{11}\x6\v6\|\group{\\{\h7\.1}\\{\|}\\{\h7\.1}} -{\\{7}\\{8}\\{7}}\uslur13\go\hfill\endsong} -\vskip-1cm\abs -%Beispiel Brook S.142 oben -% -% -Da es vor allem darum -geht, den Anfang eines Musikst"ucks f"ur eine Klassifizierung -computergerecht aufzubereiten, haben Brook und Gould die \Em\ in zwei -Teile aufgegliedert. -\abs -Der erste Teil enth"alt die Angaben zu Tempo, -Notenschl"ussel, Vorzeichnung und Taktart. Zus"atzlich k"onnen Aussagen -"uber Instrumente bzw. Stimmen, Satznummern und "ahnliches notiert -werden. Die Eingabe des Tempos und der Instrumente bzw. Stimmen erfolgt -durch eine Abk"urzung ihres Namens; die Taktart wird mit Hilfe zweier -Zahlen, die durch einen Schr"agstrich getrennt werden k"onnen, -notiert; f"ur die -Vorzeichnung wird die Art der Vorzeichen durch einen Buchstaben -eingegeben, auf den die Notennamen der Noten folgen, vor denen das -Vorzeichen steht; und der Notenschl"ussel wird durch ein Codewort -angegeben. -\abs -Der zweite Teil der Eingabe enth"alt ein St"uck des Melodieverlaufs. -Dabei werden die Notennamen durch Gro\3buchstaben angegeben. Vor den -Notennamen m"ussen zus"atzliche Angaben wie Tondauer, Oktave, -Versetzungszeichen und Punktierungen stehen. Diese werden gem"a\3 ihrem -Sprachgebrauch codiert: die Tondauer als Ziffer, Versetzungszeichen als -Buchstabe, Punktierungen durch die entsprechende Anzahl von Punkten und -Oktaven durch eine Anzahl von Kommata, die der Oktavlage entspricht. -\abs -Einzelne Noten werden durch Leerstellen voneinander getrennt, die -Takte werden mit einem Schr"agstrich abgeschlossen. -\abs -F"ur -die Verbindung einzelner Noten mit einem Bogen -wird von den Autoren unterschieden, ob zwei oder mehr -Noten mit einem Bogen verbunden werden. F"ur mehrere Noten wird der -Bogenanfang durch den Buchstaben `y', das Bogenende mit `z' markiert. -Falls nur zwei Noten miteinander verbunden werden, so reicht es aus, -dies mit einem Querstrich zwischen den beiden Noten zu kennzeichnen. -% -$$\bunch\hbox{($\sharp$FC 44) `4.D 8D 4E - / 4.F 8F F y ,8B E G z /}\\ -\hbox{G$\us$4F 8E D E y 4F$\us$ / 8F 6E D z 4E 2F //}\endbunch$$ -\par\vskip-0.7cm -{\hsize15cm -\def\beamlist{\\{1-\the\N,}} -\nointerlineskip\beginsong -\vio\D\meter4/4% -\v6\.1\a6\v7\pv\|\v8\.1\group{\\{\a8}\\{\a8}}{\\{8}\\{8}}\lbeam12\go -\group{\\{\a4}\\{\a7}\\{\a9}}{\\{4}\\{7}\\{9}}\lbeam13\uslur13\go\|% -\group{\\{\a9}\\{\v8}}{\\{9}\\{8}}\uslur12\go\a7% -\group{\\{\a6}\\{\a7}}{\\{6}\\{7}}\lbeam12\go% -\def\beamlist{\\{3-5,}\\{4-5,}} -\group{\\{\v8}\\{\|}\\{\a8}\\{\s7}\\{\s6}}{\\{8}\\{8}\\{8}\\{7}\\{6}}\lbeam35% -\uslur13\uslur15\go\v7\h8\doublebarline -\endsong} -%Smith S. 303, aber mit verbundenen Achtel-Noten -\vskip-1cm\abs -% -% -% -Andere Arten von Notengruppen wie Triolen werden mit einer erkl"arenden, -codierten Bemerkung in runde Klammer eingefa\3t. -Auf Verbalkungen von Noten wird nicht n"aher eingegangen, da -vorausgesetzt wird, da\3 Balken immer dort gezeichnet werden, -wo zwei oder mehr aufeinanderfolgende Noten mindestens ein F"ahnchen -haben. -\abs -Die Erfassung der Notenschrift durch -diese Eingabemethode ist unkompliziert und leicht verst"andlich, schon -allein dadurch, da\3 versucht wurde, die normalerweise gebr"auchliche -\m e Ausdrucksweise zu simulieren. -Weiterhin leistet dieses Verfahren -genau das, wof"ur es von Brook und Gould -entwickelt wurde: -es erleichtert die Katalogisierung von Instrumentenstimmen, Themen, -charakteristischen Tonfolgen und "ahnliche Ausz"uge mit deren Hilfe eine -Partitur klassifiziert werden kann. -\abs -Damit sind die Anwendungsm"oglichkeiten -dieser Eingabesprache aber schon weitgehend ersch"opft. -Es werden von den Autoren keine Mittel bereitgestellt, um Partituren -oder andere mehrstimmige Musikst"ucke und Vokalmusik zu erfassen. Auch -f"ur die Notation kompletter einstimmiger Systeme ist das Verfahren in -der vorgestellten Form nicht geeignet, da f"ur viele in der Notenschrift -benutzten Zeichen und Symbole keine Synonyme in der linearen -Eingabemethode angegeben wurden, \zB f"ur Tonst"arkegrade wie crescendo, -descrescendo, Artikulationen oder Wiederholungen. -Es fehlen auch Angaben, ob -mehrzeilige Eingaben m"oglich sind und ob diese zeilenweise oder an -einem St"uck eingegeben werden m"ussen. Zumindest wurden dar"uber in den -Ver"offentlichungen der beiden Autoren keine Angaben gefunden. -Insgesamt l"a\3t der einfache Aufbau dieses Eingabeverfahrens aber -eine -Erweiterung zu, so da\3 es auch f"ur anderweitige Anwendungen benutzt -werden kann. -\abschnitt\abschnitt -Eine ganz andere Vorgehensweise benutzt Leland Smith \lit{\Smith} bei -dem von ihm entwickelten \Ev. -\abschnitt -\subheading{1.4.2 Verfahren zur Noteneingabe von L. Smith} -Smith besch"aftigt sich in seiner Arbeit mit dem automatisierten -Notensatz. Deshalb beschreibt er neben einer \Em\ auch die -Weiterverarbeitung der eingegebenen Daten und wie eine Ausgabe -angefertigt werden und aussehen kann. -\abs -Um eine Vorstellung "uber die Art des \Ev s zu gewinnen, wird vor der -Beschreibung wieder ein Beispiel, das aus der Computer--Eingabe und der -entsprechenden Notation in Notenschrift besteht, angegeben. -Die dargestellte Notenschrift entspricht allerdings nicht der Ausgabe -von Smith, sondern wurde mit dem Verfahren von A. Steinbach \lit{\Steinb} -erstellt. -\eject -% -% -%\abs -$$\bunch -\hbox{TR/K2S/4 4/D5//E/R/M/F///B4/E5/G/M/G/F/E/D/E/F/M/F/E/D/E/ -F/M/$*$}\\ -\hbox{4./8/4//4./8 x 6/4/8///4/8/16//4/2$*$}\\ -\hbox{7 9/ 16 18$*$}\\ -\hbox{7 9 2/ 10 11 1/ 15 16 1/ 15 18 2$*$}\endbunch$$ -\vskip-0.5cm -\par -{\hsize15cm -\parindent0pt -\beginsong -\vio\D\meter4/4% -\v6\.1\a6\v7\pv\|\v8\.1\a8\a8% -\group{\\{\a4}\\{\a7}\\{\a9}}{\\{4}\\{7}\\{9}}\lbeam13\uslur13\go\|% -\group{\\{\a9}\\{\v8}}{\\{9}\\{8}}\uslur12\go\a7\a6\a7% -\def\beamlist{\\{3-5,}\\{4-5,}} -\group{\\{\v8}\\{\|}\\{\a8}\\{\s7}\\{\s6}}{\\{8}\\{8}\\{8}\\{7}\\{6}}\lbeam35% -\uslur13\uslur15\go\v7\h8\doublebarline -\endsong} -\vskip -1.cm\abs -% -%Smith S. 303 -% -An diesem Beispiel ist die Struktur der Eingabedatei erkennbar. Sie ist -in verschiedene Abschnitte unterteilt, die jeweils andere Informationen -zu den Zeichen der Notenschrift enthalten. Au\3erdem mu\3 die Eingabe -zeilenweise erfolgen, \dh das Ende einer Notenzeile wird bei der Eingabe -f"ur den Computer durch ein besonderes Zeichen, einen Stern, -gekennzeichnet. -Einzelne Informationen zu einem Zeichen, die zu einer Datengruppe -geh"oren, sind bei der -Computer--Eingabe durch Schr"agstriche voneinander getrennt. Falls eine -Angabe zu einem Zeichen mit der vorhergehenden -identisch ist, so kann diese weggelassen werden, der trennende -Schr"agstrich mu\3 aber auf jeden Fall geschrieben werden. -\abs -Der erste Datenabschnitt enth"alt in codierter Form Angaben zum -Notenschl"ussel, zur Ton-- und Taktart. Darauf folgen die zur Melodie -geh"orenden Noten, angegeben durch ihren Namen (Buchstabe) und die -Oktave (Zahl), die sich an der Klaviertastatur orientiert. -Danach werden in einer neuen Zeile die Informationen "uber die zu den -Noten geh"orenden Tondauern gegeben, indem die Dauer durch eine ganze -Zahl und eventuell vorkommende Punktierungen durch Punkte dargestellt -werden. -\abs -Im n"achsten Eingabeabschnitt werden die zu verbalkenden Noten -angegeben. Dazu m"ussen die Noten einer Zeile durchnummeriert werden. -Die Eingabe enth"alt dann f"ur jede Balkengruppe jeweils die Nummer der -ersten und letzten Note, die zu der Gruppe geh"oren. -\abs -Als n"achstes k"onnen Angaben zu Akzentuierungen gemacht werden. Im -obigem Beispiel kommen allerdings keine vor, deshalb entf"allt dort -diese Zeile. Sie mu\3 aber nicht durch eine Leerzeile ersetzt werden. -\abs -Zuletzt werden genauso wie bei den Verbalkungen die Noten angegeben, -die durch einen Bogen verbunden werden sollen. Jeder durch -Schr"agstrich getrennte Informationsteil enth"alt au\3er der Nummer f"ur -die erste und letzte Note noch eine Zahl, die die Kr"ummung des zu -zeichnenden Bogens angibt. -\abs -Mit diesem \Ev\ k"onnen ebenfalls Partituren und Vokalmusik eingegeben -werden. Zus"atzlich zu der Noteneingabe wird f"ur Vokalmusik -der Liedtext zusammen mit Angaben zur -Positionierung der Silben notiert. -% -% -$$\bunch \hbox{KY/-/RI/-/E,/KY/-/RI/-/E . . . }\\ -\hbox{1/1.6/2/2.6/3/4/4.7/5/ ....}\endbunch$$ -\par\vskip-0.2cm -{\hsize15cm -\universal -\nointerlineskip\beginsong -\vio\D\meter4/4% -\_{KY - }{\v6\.1}\_{RI - }{\a6}\_{E,}{\v7}\pv\|% -\_{KY - }{\v8\.1}\_{RI - }{\a8}\_{E}{\a8}% -\group{\\{\_{E}{\a4}}\\{\a7}\\{\_{-}{\a9}}} -{\\{4}\\{7}\\{9}}\lbeam13\uslur13\go\|% -\group{\\{\a9}\\{\v8}} -{\\{9}\\{8}}\uslur12\_n{ LE - }\hskip20pt{\gluebrule}\go\_{I-}{\a7}% -\_c{SON,}{\a6}\_{E - }{\a7}% -\def\beamlist{\\{3-5,}\\{4-5,}} -\group{\\{\v8}\\{\|}\\{\a8}\\{\s7}\\{\s6}}{\\{8}\\{8}\\{8}\\{7}\\{6}}\lbeam35% -\uslur13\uslur15\_n{ LE\hskip10pt-\hskip10pt -} -{\go}\_{I - }{\v7}\_c{SON.}{\h8}\doublebarline -\endsong} -\vskip -0.4cm\abs -%smith S.305 -% -% -Unter Verwendung der beschriebenen Eingabe wird nun die -genaue -Position der Zeichen im Notenliniensystem festgelegt. Dazu wird das -Liniensystem in horizontaler wie vertikaler Richtung mit einer Skala -versehen. Die Positionsangaben m"ussen f"ur jedes Zeichen und Symbol, -also f"ur Notenkopf, Notenhals, Punktierungen, Balken, Bogen, -Akkorde, Liniensystem, Pausen usw., gesondert berechnet und -gespeichert werden. -\abs -Mit dieser Methode wird eine optisch ansprechende Ausgabe erreicht, die -Druckqualit"at hat. St"orend erscheint dabei aber der benutzte -Schrifttext, der im Gegensatz zur Notenschrift nicht gut aussieht. -\abs -Das Verfahren von L. Smith kann zur Eingabe aller Musikst"ucke in -traditioneller Notation benutzt werden: f"ur einstimmige und -mehrstimmige Systeme, Partituren und Vokalmusik. Die Art der Eingabe -ist schnell erlernt und einfach, wird aber durch die Verwendung -verschiedener Informationszeilen -sehr aufwendig und umst"andlich. -Ebenfalls negativ erscheint die Tatsache, da\3 eine zeilenweise -Eingabe notwendig ist. -Zus"atzlich werden an einigen Stellen (\zB bei Liedern mit Text) au\3er -Angaben zur Funktion der Zeichen noch Positionsangaben f"ur die -Eingabedatei ben"otigt. Durch diese Notationsform geht die -"Ubersicht "uber die Gesamtstruktur des Musikst"ucks, die die -Notenschrift besitzt, und die Lesbarkeit verloren. -\abschnitt\abschnitt -Ein Verfahren, in dem verschiedene Eingabedateien zur Festlegung der -musikalischen Daten benutzt werden, wird in der Arbeit von R. Werner -\lit{\Werner} dargestellt. -Allerdings kann die dort beschriebene Methode nur in sehr groben -Z"ugen charakterisiert werden, weil sie sehr aufwendig und vielschichtig -ist. Eine genaue Beschreibung w"are deshalb an dieser Stelle zu -umfangreich. -\abschnitt -\subheading{1.4.3 EDM} -(Eingabemethode f"ur Daten der Musik) -Diese \Em\ wurde mit dem Ziel entwickelt, eine umfangreiche und -vollst"andige Musikanalyse aufgrund der Eingabedaten f"ur den Computer -durchf"uhren zu k"onnen. -Die vorgeschlagene Methode benutzt drei verschieden strukturierte -Dateien, um die \m en Informationen abzuspeichern. Jede der drei Dateien -entspricht einer Art, wie die notenbildliche Partitur gelesen werden -kann. -\abs -Eine Datei gibt den horizontalen Verlauf der Musik wieder. Sie -enth"alt Informationen zu allen Noten. -In der n"achsten Datei werden die Daten der T"one, die zusammen -erklingen, gespeichert, \dh sie repr"asentiert die vertikalen Ebene. -Eine weitere Datei beinhaltet alle Strukturen des zeitlichen Ablaufs, -die f"ur die beiden anderen Dateien ben"otigt werden. -Mit diesen drei kurz beschriebenen Dateien wird eine Musikanalyse -m"oglich, deren Vorgehensweise -in der Arbeit von R. Werner beschrieben wird. Da eine n"ahere -Erl"auterung den Rahmen einer Kurzbeschreibung sprengen w"urde, folgt -nun eine Beispielcodierung. Daf"ur wird aus der Vielzahl der m"oglichen -Dateien die ausgew"ahlt, die Informationen zu den Noten enth"alt. -Zur Notation einer Partitur reicht dies aber nicht aus. -% -% -$$\bunch\hbox{F4\T S\T F$*$B5$*<$4; $\sharp$F5\T A4\T\@ B5\T=; -E6\T?1V2?A\T.; P\T A$*$H;}\endbunch$$ -\par\vskip-0.4cm -{\hsize9.5cm\parindent5cm\nointerlineskip -\loose% -\beginsong\vio\C% -\s1\x8\s8\s3\b{11}\s{11}\a{14}\pa\ph\hfill\hbox{}\endsong} -% -\vskip -0.6cm\abs -Die \Em\ bietet die M"oglichkeit, Partituren, die -in hergebrachter Notation -vorliegen, vollst"an\-dig zu codieren und damit eine Vielfalt von -Anwendungsm"oglichkeiten. Obwohl -bei der Entwicklung einer geeigneten Codierung -versucht wurde, diese weitgehend an den musikalischen -Sprachgebrauch anzupassen, -wird durch die Vielzahl der einzugebenden Daten und -Einzelinformationen zu einem Zeichen die Noteneingabe erschwert. -Au\3erdem geht durch die Aufgliederung in drei Dateien mit -verschiedenen Informationsstrukturen die "Ubersicht "uber das -Musikst"uck verloren. -Diese Aussage ist schon anhand obigen Beispiels deutlich geworden. -Um den Gesamtbezug wiederzugewinnen, m"u\3ten -die Dateien parallel gelesen werden. -\abschnitt\abschnitt -Eine letzte Eingabemethode ist -erst in j"ungster Zeit von John Gourlay in der Zeitschrift -``Communications of the ACM'' -ver"offentlicht worden \lit{\Gourlay}. -\abschnitt -\subheading{1.4.4 Sprache zur Noteneingabe von J. Gourlay} -Gourlay beabsichtigte wie L. Smith mit der Entwicklung einer -Noteneingabesprache f"ur den Computer, eine M"oglichkeit zur -Automatisierung des Notensatzes zu schaffen. -\abs -Bei der Verwirklichung dieser Absicht sind seiner Ansicht nach zwei -Ziele im Auge zu behalten: -das Computer--System soll Druckvorlagen in gleicher Qualit"at wie -gestochene liefern, gleichzeitig auf jeden Computer "ubertragbar sein -und nur ein Minimum an Hardware erfordern, um die Kosten -gering zu halten -und die Anwendungsm"oglichkeiten breit zu f"achern. -\abs -% -% -% -Um dies zu erreichen, schl"agt Gourlay vor, -die Eingabesprache mit Hilfe des von Knuth -entwickelten \Tss s \TeX\ -und einiger zus"atzlicher -Programmabschnitte zu verarbeiten. -\abs -F"ur die Eingabesprache von Gourlay -existiert bisher nur eine Beschreibung der Syntax in -Backus--Naur--Form. An diesem Syntaxdiagramm l"a\3t sich erkennen, da\3 -die Eingabesprache f"ur die Anwendung von \TeX\ in Frage kommen k"onnte. -"Ahnlich wie bei \TeX\ werden -Kontrollw"orter bzw. Klammern benutzt, -um anzugeben, was mit dem folgenden -Text geschehen soll bzw. um zusammengeh"orenden Text zu kennzeichnen. -\abschnitt -\leftskip35pt -{\tt title} ``Beispiel'' {\tt system} ({\tt staff} one) -\abs{\tt block} -(voice ({\tt measure} ({\tt clef trebleclef key} 2{\tt sharps meter}4/4 -\abs -(4.;D5) (8;D5) (4;E5) (4))\abs -{\tt measure} ((4.;F5) (8;F5) (8;F5) -{\tt beam slur} ((8;B4) (8;E5) (8;G5))) -\abs -{\tt measure} ({\tt slur} ((8;G5) (4;F5)) (8;E5) (8;D5) (8;E5)\abs -{\tt begin} name1 ({\tt slur}) {\tt begin} name2 ({\tt tie}) -(4;F5))\abs -{\tt measure} ({\tt beam} ((8;F5) {\tt end} name2 (16;E5) (16;D5) -{\tt end} name1) (4;E5) (2;F5)\abs {\tt barline final}))) -%Smith S.303 mit verbundenen Achtel-Noten -\par -\leftskip0pt -\par -{\hsize15cm -\parindent0pt -\beginsong -\vio\D\meter4/4% -\v6\.1\a6\v7\pv\|\v8\.1\a8\a8% -\group{\\{\a4}\\{\a7}\\{\a9}}{\\{4}\\{7}\\{9}}\lbeam13\uslur13\go\|% -\group{\\{\a9}\\{\v8}}{\\{9}\\{8}}\uslur12\go\a7\a6\a7% -\def\beamlist{\\{3-5,}\\{4-5,}} -\group{\\{\v8}\\{\|}\\{\a8}\\{\s7}\\{\s6}}{\\{8}\\{8}\\{8}\\{7}\\{6}}\lbeam35% -\uslur13\uslur15\go\v7\h8\doublebarline -\endsong} -\vskip-0.6cm\abs -% -Falls dieses System zur Anwendung kommt, k"onnen mit seiner -Hilfe alle Arten von Musik in traditioneller Notation verarbeitet -werden. Die Notenschrift wird mit dieser Eingabesprache fast -vollst"andig -codiert, fehlende Vorschriften k"onnten erg"anzt werden. Dadurch -wird auch eine Vielzahl von Anwendungen au\3er dem automatisierten -Notensatz m"oglich gemacht. -\abs -Der Aufbau der Sprache ist komplizierter als \zB bei Brook und -Gould. Dies liegt -daran, da\3 Brook und Gould nicht die gesamte -Notenschrift in eine -lineare Eingabe "ubertragen haben. Da die Eingabesprache von Gourlay dem -Sprachgebrauch der Musiker angepa\3t wurde, ist sie nach kurzer Zeit -trotzdem leicht zu handhaben und einpr"agsam. So deuten \zB die -auftretenden Kontrollw"orter immer an, auf welche Art der folgende -Text verarbeitet werden soll und welche Bedeutung dieser f"ur das -Musikst"uck hat. -\abs -Gourlay kommt in seiner Arbeit der Vorstellung einer optimalen \Em\ -schon sehr nahe, allerdings hat er nicht ausgef"uhrt, wie er sich eine -Weiterverarbeitung mit \TeX\ -vorstellt. -Seine Methode beschreibt die bisher vollst"andigste und gleichzeitig -eing"angigste -Codierung. Falls eine Implementierung gelingen sollte, bietet sie im -Vergleich mit den anderen \Ev\ die vielf"altigsten -Verwendungsm"oglichkeiten. -\abschnitt -Der "Uberblick "uber die \Ev\ verschiedener Autoren, die jeweils eine -andere Methode zur Darstellung der Eingabe verwendeten, zeigt, da\3 -jedes dieser -Verfahren, das von Gourlay ausgenommen, -in mindestens einem Punkt den Anspr"uche an eine -Eingabesprache (siehe 1.3) nicht gen"ugen. -\abs -Im Prinzip h"atte diese Arbeit von der -Eingabesprache von Gourlay ausgehen k"onnen. -Dazu w"aren einige Erweiterungen bzw. Ab"anderungen notwendig -gewesen. Allerdings -erfolgte die Ver"offentlichung erst, als dieser -Teil der Arbeit bereits ausgearbeitet und eine Implementierung -der Noteneingabesprache erfolgt war. -Da die anderen vorgestellten Eingabemethoden zu mangelhaft schienen, -war es notwendig, ein neues Verfahren zu entwickeln, das diese -Bedingungen erf"ullt und universell anwendbar ist. Dabei soll nat"urlich -auch die Einbettung in das \Tss\ \TeX\ ber"ucksichtigt werden, denn das -ist ein Teil der Aufgabenstellung der vorliegenden Arbeit. -\absatz -Die Aufgabe der anschlie\3enden Kapitel ist es, die entwickelte -Eingabesprache exakt zu definieren. Dies geschieht in zwei Schritten: -zuerst wird mit der Beschreibung der Syntax die "au\3ere Form -pr"azisiert (Kapitel 2), danach wird auf die Semantik eingegangen und -die Wirkungsweise und Bedeutung einzelner Kommandos n"aher -erl"autert (Kapitel 3). -\abschnitt -\vfill\eject diff --git a/macros/mtex/documentation/mdoc10.tex b/macros/mtex/documentation/mdoc10.tex deleted file mode 100644 index 65b0256017..0000000000 --- a/macros/mtex/documentation/mdoc10.tex +++ /dev/null @@ -1,205 +0,0 @@ -\heading{Einf"ugen von Texten und Spielanweisungen} -Neben den bisher behandelten Notenschriftelementen m"ussen Texte und -einige andere Zeichen, wie Vortragsbezeichnungen, -Artikulationsanweisungen und Dynamikangaben, in das Notenbild eingef"ugt -werden. -Satztechnisch sind dabei zu unterscheiden: -\item{1)}\disp{Artikulations}zeichen an Noten, -\item{2)} Texte unterhalb des Liniensystems und -\item{3)}Texte oberhalb des Liniensystems. - -Die Artikulationszeichen betreffen die musikalische Ausf"uhrung einer -einzelnen Note. Sie werden also direkt an einer Note angebracht. -Texte unterhalb des Systems k"onnen Angaben zur \disp{Dynamik} sein, -d.h. Tonst"arkegrade (laut, leise) oder "Ubergangsbezeichnungen -(Crescendo, Decrescendo), aber auch Gesangstexte. Texte oberhalb des -Systems geben meistens Vortragsbezeichnungen (Allegro, Moderato), -Orientierungsziffern sowie -Verzierungen einer Note (verschiedene Triller-Zeichen) an. Bei -Vokalmusik werden oft auch Begleitakkorde oberhalb des Systems notiert. - -\subheading{Regeln f"ur das Einf"ugen von Texten} -\item{T1)}Mit Ausnahme der Gesangstexte werden alle Texte so plaziert, -da\3 sie keinen zus"atzlichen horizontalen Raum ben"otigen. Die Texte -oberhalb werden im Abstand von \verbatimon|\nhh| von der Notenlinie -gesetzt, falls dadurch keine "Uberschneidung mit schon gesetzten Noten -auftritt. In diesem Fall wird der Text vertikal in den freien Raum -"uber das Hindernis gesetzt. Ebenso werden die Dynamikangaben -in den freien Raum unterhalb des Systems unter das Hindernis plaziert. -\item{T2)}Gesangstexte m"ussen auf einer horizontalen Linie unterhalb -des Systems ausgeschlossen werden. Da keine M"oglichkeit besteht, -vertikal in Freiraum auszuweichen, kann es vorkommen, da\3 diese Texte -zus"atzlich horizontalen Raum erfordern. Sie m"ussen daher "ahnlich wie -Hunks behandelt werden. Der Text mu\3 so unter der Note plaziert werden, -da\3 ein Erweitern des Raumes zwischen den Noten vermieden wird. -\item{T3)}Alle Artikulationszeichen m"ussen, falls keine mehrstimmige -Notation in einem System vorliegt, am Notenkopf und zwar bei aufw"arts -gestielten Noten direkt unterhalb, bei abw"arts gestielten Noten direkt -oberhalb des Notenkopfes angebracht werden. Dabei m"ussen die Zeichen so -plaziert werden, da\3 sie deutlich erkennbar sind. M"ussen sie innerhalb -des Liniensystems positioniert werden, so kann dies also nur in einem -benachbarten Zwischenraum geschehen. In jedem Fall werden sie horizontal -bzgl. des Notenkopfes zentriert. -\item{}Bei mehrstimmiger Notation in einem -System m"ussen die Artikulationszeichen der Oberstimme wie auch die -Bogen immer oberhalb, die Artikulationszeichen der Unterstimme -unterhalb der Noten (d.h. eventuell auch "uber bzw. unter dem Endpunkt -des Notenhalses) angebracht werden. -\Beispiel -%Artikulationszeichen -{\loose -\hsize9cm -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\C{\stac\h5}{\staccatissimo\h8}\tenuto\h1\h2 -\lchord\h5\h{-2}\endchord% -\two{\group{\\{\a6}\\{\a6}}{\\{6}\\{6}}\ubeam12\go} -{\group{\\{\a3}\\{\a3}}{\\{3}\\{3}}\lbeam12\go}% -\=\endsong} -\goodbreak -\endBeispiel -\subheading{Textunterlage} -F"ur die genaue Positionierung der Gesangstexte unter einer Note oder -einer Notengruppe gibt es keine Regeln. Sie ist im wesentlichen davon -abh"angig, ob der jeweilige Text ein Teil eines mehrsilbigen -oder eines einsilbigen Wortes ist. Die mehrsilbigen W"orter werden in der -Regel so plaziert, da\3 das Wort nicht zu sehr auseinandergerissen wird. -% -Ziel ist es jedoch, da\3 der Text m"oglichst wenig das Notenbild st"ort. -Das Erweitern des Raumes zwischen den Noten soll vermieden werden. - -Abh"angig vom zur Verf"ugung stehenden Raum kann der Text unter -der Note (ohne Beachtung eventuell vorhandener Hunks) zentriert, -linksb"undig oder auch rechtsb"undig unter der Note ausgeschlossen -werden. -Dazu wurde ein Algorithmus entwickelt, der die Textverteilung automatisch -vornimmt. F"ur den Benutzer ist es jedoch m"oglich im Einzelfall auf -den Ausschlu\3 einzuwirken und im Fall eines nicht akzeptablen -automatischen Ausschlusses -selbst zu bestimmen, wie der Text gesetzt werden -soll. - -\def\wt{\ifmmode w_t\else$w_t$ \fi} -\def\wn{\ifmmode w_n\else$w_n$ \fi} -\def\wg{\ifmmode w_g\else$w_g$ \fi} -Sei im folgenden \wt die Breite des zu unterlegenden Textes, -\wn die Breite der Notenbox (ohne Glue und ohne Hunks) -und \wg die nat"urliche -Breite des zugeh"origen Glues. -Dann gibt es folgende M"oglichkeiten: -\medskip - -\def\vt#1{\vtop {\setbox0=\hbox{Parameter\quad}% - \advance\hsize-\wd0#1\par}} -\halign{#\hfil&#\hfil\cr -\strut Parameter\quad&Aktion\cr -\noalign{\hrule} -\strut n&\vt{\strut\wt wird nicht beachtet. Der -Text wird linksb"undig unter der Note ausgeschlossen. Dies ist -platzsparend. Es besteht jedoch die Gefahr der Text"uberlappung.}\cr -\strut l&\vt{\wt bestimmt den Raum, den die -Note(n) einnimmt (einnehmen).}\cr -\strut c&\vt{der Text wird ohne Beachtung von \wt unter der Note -zentriert.}\cr -\strut r&\vt{der Text wird auf $\wt + \wg $ rechtsb"undig, -links"uberlappend gesetzt, wobei nicht ber"ucksichtigt wird, ob der Text -mit vorherigem Text "uberlappt.}\cr} -\medskip - -Bei der automatischen Textverteilung wird -\item{n}verwendet, falls $\wt - \wn \leq 0$, -\item{c}verwendet, falls $0< \wt-\wn \leq \wg$, -\item{r}verwendet, falls $\wg<\wt-\wn\leq 2\wg$, -\item{l} in allen anderen F"allen. - - -F"ur Text oberhalb der Notenzeile gelten f"ur den automatischen Satz -die gleichen Regeln. -Vertikal wird der Text, falls die H"ohe der Notenbox -nicht gr"o\3er ist, |\nhh| oberhalb der 5. Notenlinie gesetzt, sonst -oberhalb der Note. Der Text wird also nicht notwendig auf einer Linie -ausgeschlossen, sondern kann vertikal verschoben werden, falls dies -erforderlich sein sollte. -Diese Variabilit"at ist auch f"ur die Dynamikangaben unterhalb -der Notenlinien erforderlich. Durch Angabe des Parameters -v wird der Text nicht auf der Textlinie ausgeschlossen, sondern direkt -unterhalb der Grundlinie der Notenzeile, falls keine "Uberlappung -mit der zugeh"origen Note auftritt. - -Der Gesangstext wird, falls nicht anders angegeben, in -8-Punkt Schriftgr"o\3e gesetzt, da dies platzsparender ist. -Die Schriftlinie befindet sich eine Rastralh"ohe -unterhalb der Grundlinie. -Der Abstand der Schriftlinie von der Grundlinie -ist im Parameter |\textline| gespeichert. -Da die verschiedenen Textsilben jeder Note einzeln angeheftet sind, kann - eine eventuelle "Uberschneidung mit anderen Notenschriftelementen nicht -vermieden werden. In einem solchen Fall mu\3 der Wert des Parameters -|\textline| erh"oht werden. -Als Beispiel sei die in der Arbeit zur Noteneingabe \lit\Schofer -\ oft verwendete Notenzeile angegeben \lit\smith. -\par\vskip-0.5cm -{\parindent=0.5\iindent -\universal -\beginsong -\vio\D\meter4/4% -\_{KY - }{\v6\.1}\_l{RI -}{\a4}\_{E,}{\v7}\pv\|% -\_{KY - }{\v8\.1}\_l{RI -}{\a8}\_{E}{\a8}% -\group{\\{\_{E}{\a4}}\\{\a7}\\{\_{-}{\a9}}} -{\\{4}\\{7}\\{9}}\lbeam13\uslur13\go\|% -\group{\\{\a9}\\{\v8}} -{\\{9}\\{8}}\uslur12\_n{ LE - }{\gluebrule}\go\_l{I-}{\a7}% -\_l{SON, }{\a6}\_{E - }{\a7}% -\def\beamlist{\\{3-5,}\\{4-5,}} -\group{\\{\v8}\\{\|}\\{\a8}\\{\s7}\\{\s6}}{\\{8}\\{8}\\{8}\\{7}\\{6}}\lbeam35% -\uslur13\uslur15\_n{ LE\quad-\quad -}{\gluebrule}% -{\go}\_{I - }{\v7}\_c{SON.}{\h8}\doublebarline -\endsong} -\vskip-1.2cm -Beispiele f"ur die Textunterlage finden sich auch im Anhang A. -\subheading{Positionierung der Artikulationszeichen} -Neben Legatobogen unterscheidet man in der Artikulation \tex{tenuto} -(gehalten), das durch einen langgezogenen Strich gekennzeichnet wird, -von \tex{staccato} (getrennt), \tex{staccatissimo} (stark getrennt), das -durch einen Punkt bzw. durch einen Keil gekennzeichnet wird, und -\tex{portato} (getragen), das durch \tex{staccato} bzw. -\tex{tenuto}-Zeichen zusammen mit Legatobogen dargestellt wird. Da die -Artikulationsanweisung oft mehrere aufeinanderfolgende Noten betrifft, -wurde f"ur die L"osung des Plazierungsproblems folgende Vorgehensweise -gew"ahlt. Eine Box wird mit dem zu setzenden Zeichen belegt und, solange -diese nicht durch eine leere Box ersetzt wird, den Notationsregeln -entsprechend allen Noten angeheftet. -Die Box wird nur durch eine leere Box ersetzt, -falls -dies ausdr"ucklich angegeben wird (durch Eingabe des Kommandos |\noaccent -| oder wenn die Klammerebene, in der die -Box belegt wurde, verlassen wird. -\Beispiel -\item{}Durch die Eingabe von -\begindisplay -|{\stac|\<Note>\<Note>|}|\<Note> -\enddisplay -oder durch -\begindisplay -|\stac|\<Note>\<Note>|\noaccent|\<Note> -\enddisplay -erh"alt man jeweils das gleiche Ergebnis: - -{\loose -\hsize5cm -\advance\hsize2\iindent -\parindent2\iindent -\beginsong \vio \C {\stac\v5\v1}\v7\|\endsong} -\vskip-1cm\ -\item{} -Das Kommando |\stac| gilt also, obwohl nur einmal angegeben, f"ur -die ersten beiden Noten. Dabei wird der Punkt "uber dem Notenkopf der -ersten Note und unter dem Notenkopf der zweiten Note, den Notationsregeln -entsprechend, plaziert. -Vor dem Setzen der dritten Note wurde die Box, die -den Punkt enth"alt, durch eine leere Box ersetzt. Diese Note erh"alt also -keinen Staccato-Punkt. -\endBeispiel - -\vfill\eject diff --git a/macros/mtex/documentation/mdoc11.tex b/macros/mtex/documentation/mdoc11.tex deleted file mode 100644 index f9ef11754d..0000000000 --- a/macros/mtex/documentation/mdoc11.tex +++ /dev/null @@ -1,283 +0,0 @@ -\heading{Mehrstimmiger Notensatz} -Abschlie\3end soll auf die Problematik mehrstimmiger Notation im -automatischen Notensatz eingegangen werden. -\subheading{Regeln f"ur die mehrstimmige Notation} -Die Regeln hierzu sind im wesentlichen schon in den vorangegangenen -Kapiteln aufgef"uhrt worden. -Neben einigen Notationsvereinbarungen (siehe Kapitel \adchap{-3} N4d und -N9b und Kapitel \adchap{-2} P2), gilt als grunds"atzliche Regel, -da\3 alle T"one, die zur gleichen Zeit einsetzen, untereinander zu -notieren sind. Einige Ausnahmen ergeben sich bei mehrstimmiger Notation -in einem Zeilensystem. In diesem Fall kann es vorkommen, da\3 zur -Verdeutlichung der Stimmf"uhrung einige Noten nach links oder rechts -ausweichen m"ussen, wobei in einem solchen Fall der Ausschlu\3 vom -vorgegebenen Schema abweicht. -\Beispiel -{\hsize5cm -\parindent2\iindent\advance\hsize2\iindent -\beginsong\vio\C\two{\group{\\{\hskip\seminhh -\a1}\\{\advance\sk-\seminhh\a5}}{\\{1}\\{5}}\ubeam12\go}{% -\group{\\{\a3}\\{\a5}}{\\{3}\\{5}}\lbeam12\go} {\rm oder}\two{\group{% -\\{\a5}\\{\a5}\\{\a5}\\{\a5}}{\\{5}\\{5}\\{5}\\{5}}\ubeam14\go}{% -\hskip1.5\nhw\h5}\|\endsong} -\vskip-1cm -\endBeispiel -Da die Noten, abgesehen von den obigen Ausnahmen, untereinander notiert -werden m"ussen, mu\3 der gleiche zus"atzliche Raum, der in einer Stimme -f"ur Hunks ben"otigt wird (z.B. Versetzungszeichen), in den anderen -Stimmen gleicherma\3en ber"ucksichtigt werden. - -F"ur den korrekten Ausschlu\3 mehrstimmiger Notenliteratur reichen die -in Kapitel~\adchap{-4} angegebenen Aus\-schlu\3schemata -im allgemeinen nicht aus, da diese gerade so gew"ahlt sind, da\3 keine -Linearit"at bzgl. der Tondauer besteht. - -\Beispiel Der Raum, den eine Viertel Note einnimmt, ist im allgemeinen -kleiner als der Raum, den zwei Achtel Noten einnehmen. Sollen diese -Noten rhythmisch korrekt untereinander notiert werden, so ist also der -Viertel Note ein gr"o\3erer Raum zuzuordnen. -\par -{\hsize = 4cm -\parindent2\iindent\advance\hsize2\iindent -\beginsong\vio\C\meter3/4\v1\a1\a1\v1\|\endsong -\vskip -1cm -\beginsong\vio\C\meter3/4\v1\v1\a1\a1\|\endsong -} -\vskip -1cm -\item{}Dies ergibt in zweistimmiger -Notation\par -{\hsize = 5cm -\parindent2\iindent\advance\hsize2\iindent -\beginsong\vio\C\meter3/4\two{\v1}{\v1}\two{\a1\a1}{\v1}% -\two{\v1}{\a1\a1}\|\endsong} -\vskip -1cm -\item{}Es ist also in zweistimmigen Fall -mehr horizontaler Raum erforderlich, - obwohl im normalen Satz der insgesamt -ben"otigte Raum im Einzelfall gleich ist. -\endBeispiel - -\subheading{Vertikale Ausrichtung bei D.A. Gomberg} -Als einziger gibt Gomberg (\lit{\gomb, S.70--78}) ein Verfahren -f"ur eine rhythmische (d.h. vertikale) Ausrichtung der Noten an. Dabei -werden sowohl unregelm"a\3ige Unterteilungen von Notenwerten (z.B. -Triolen) als auch das Einf"ugen von Hunks ber"ucksichtigt. Dieses -Verfahren ist kompliziert, jedoch anwendbar auf beliebig viele Stimmen -in mehreren Systemen. Dabei wird eine weitere (imagin"are ) Stimme --- -der sogenannte \disp{Spine} (R"uckgrat) --- konstruiert, die mit den -einzuf"ugenden Hunks versehen ist, nach der alle "ubrigen Stimmen -rhythmisch ausgerichtet werden k"onnen. - -\subsubheading{Konstruktion des Spine} -F"ur Noten, die nicht unregelm"a\3ig unterteilt sind, wird der Spine wie -folgt iterativ konstruiert. -Zur Initialisierung wird eine Stimme als Spine ausgezeichnet. Dieser -Spine wird nun jeweils mit einer weiteren Stimme verglichen und nach -folgendem Verfahren ver"andert. -Sei $m$ die Anzahl der Noten des Spine und \folgi {\bar q}im die -Notenwerte dieser Noten, die im folgenden durch Br"uche -dargestellt seien, d.h. $\folgi {\bar q}im \in \qz^+$. -(Einer Viertel entspricht demnach der Wert $\frac14$, -einer Viertel mit Wertpunkt $\frac38=\frac14+\frac18$.) -Seien die Notenwerte der zu vergleichenden -Stimme durch die Folge $\folgi qjn \in \qz^+$ gegeben. -Dann lautet der Algorithmus: -\item{I)}Initialisierung: $i:=1$, $j:=1$. -\item{II)}Gilt $\bar q_i =q_j$, erh"ohe $i$ und $j$. -\item{III)}Gilt $\bar q_i< q_j$, dann setze $q_j := q_j-\bar q_i$, -iteriere $i$ und fahre mit V) fort. -\item{IV)}Aufspaltung des Spine (\disp{splitting}): Gilt - $\bar q_i> q_j$, dann ersetze $\bar q_i $ durch die beiden -Werte $Q_1=q_j$ und $Q_2=\bar q_i-q_j$, -wobei der neue Spine nun $m+1$ -Elemente besitzt und das $i+1$-te Element gerade $Q_2$ ist. -%Iteriere also $i$ und $j$. -\item{V)} Gilt $j>n$ , dann HALT, sonst fahre mit II) fort. - -Es ergibt sich hierbei die Frage, ob garantiert ist, da\3 der oben -beschriebene Proze\3 der Aufspaltung des Spine immer ``legale'' -Notenwerte ergibt, d.h. Notenwerte, die durch eine Note unter -Zuhilfenahme von Wertpunkten dargestellt werden k"onnen. -Diese Frage ist jedoch zu verneinen: ``legale'' Notenwerte sind -nicht abgeschlossen unter Subtraktion. - -Gomberg f"uhrt dazu folgendes Beispiel an: - - -\hbox to \hsize{% - \hfil - \vbox{% - \hbox{% - \hbox to 2cm{$\bar q:$\hfil}% - \vtop{\hsize=50mm% - \beginsong\vio\C - \hbox to 19mm{\s1\.2\hfil}% - \hbox to 4mm{\d1\hfil}% - \hbox to 15mm{\v1\.1\hfil}% - \endsong - }% - \hfil}% - \vskip-10mm% - \hbox{% - \hbox to 2cm{$ q:$\hfil}% - \vtop{\hsize=50mm% - \beginsong\vio\C - \hbox to 6mm{\z1\hfil}% - \hbox to 28mm{\a1\.2\hfil}% - \hbox to 4mm{\v1\hfil}% - \endsong - }% - \hfil}% - \vskip-10mm - \hbox{% - \hbox to 2cm{neues $\bar q:$\hfil}% - \vtop{\hsize=50mm% - \beginsong\vio\C - \hbox to 6mm{\z1\hfil}% - \hbox to 13mm{${\phantom{x}}^{\tenrm ?}$\hfil}% - \hbox to 4mm{\d1\hfil}% - \hbox to 11mm{\a1\hfil}% - \hbox to 4mm{\v1\hfil}% - \endsong - }% - \hfil}% - }% - \hfil -}% -\vskip -1cm - - -Sei die erste Zeile als Spine ausgezeichnet, dann ist $\bar q = -\frac7{64},\;\frac1{64},\;\frac{24}{64} $ und -$q=\frac2{64},\;\frac{14}{64},\;\frac14$. F"ur den neuen Spine gilt -nun nach dem Algorithmus: $\bar q_1 = \frac1{32} $, -$\bar q_2=\frac{7}{64}-\frac2{64}=\frac5{64}$, -$\bar q_3=\frac1{32}$, $ \bar q_4=\frac18$ und -$\bar q_5=\frac14$. -Dabei ist $\bar q_2$ kein legaler Notenwert, denn dieser Notenwert l"a\3t -sich nur durch "Uberbindung einer Sechzehntel mit einer -Vierundsechzigstel darstellen. In diesem Fall wird diese Note -ausgeschlossen wie eine $\frac6{64}$, d.h. eine mit Wertpunkt versehene -Sechzehntel. - -Anhand des Ausschlu\3schemas kann nun dem Spine der zugeh"orige -Ausschlu\3 zugeordnet und die Noten darunter angeordnet werden. - -Zu bemerken ist, da\3 das oben geschilderte Verfahren -nat"urlich unabh"angig von der Reihenfolge der anzugleichenden Stimmen -ist.\vskip0.5cm -\subsubheading{Unregelm"a\3ige Unterteilungen} -Neben der zweiteiligen Untergliederung der Notenwerte -({\def\beamlist{\\{1-2,}}% -\universal\group{\\{\a0}\\{\a0}}{\\{0}\\{0}}\ubeam12\hskip-\nhh -\go\global\sk=0pt}% -\ ) gibt es -\vadjust{\kern-4pt}% -auch mehrteilige Untergliederungen, z.B. dreiteilige -({\staffheight 3\nhh\small\def\beamlist{\\{1-3,}}% -\group{\\{\a0}\\{\^{3}{\a0}}\\{\a0}}{\\{0}\\{0}\\{0}}\ubeam13\hskip-\nhh -\go}% -\global\sk=0pt\ ). Der -Notenwert einer solchen Triolen-Note entspricht also dem dritten Teil -der Dauer einer Viertel Note: $\frac1{12}$. Gekennzeichnet werden -\vadjust{\kern-4pt}% -unregelm"a\3ige Unterteilungen der Bezugsnote am Balken oder unter einer -Klammer: {\small\setbox2=\hbox{\v0\v0\global\sk0pt}% -\dimen1=\wd2\advance\dimen1 by-\nhh\setbox3\hbox to \dimen1{\vbox{\hrule -\offinterlineskip\hbox to \dimen1{\vrule depth-2pt width0.5pt\hss -\eightpoint 2\hss% -\vrule depth-2pt width0.5pt}}}\vbox{\offinterlineskip -\moveright\nhh\box3\box2} -}. (N"aheres dazu siehe \lit{\ziegen,{\bf 79}f{}f}.) - -Die Unregelm"a\3igkeit wird auch durch einen etwas engeren Ausschlu\3 -verdeutlicht. Der Raum, den eine Achtel Triole einnimmt, unterscheidet -sich also vom Raum, den drei Achtel Noten einnehmen. - -Gomberg verwendet als Ausschlu\3 unregelm"a\3iger Unterteilungen das -n"achst kleinere Ausschlu\3schema, beispielsweise wird - bei ``universellem'' Ausschlu\3 also -``enger'' Ausschlu\3 verwendet -(s. \adchap{-4}.1.1). M"ussen mehrere verschiedene -unregelm"a\3ige Unterteilungen auf einem Notenwert des Spines -ausgeschlossen werden, so wird innerhalb einer solchen ``Nachbarschaft'' -der kleinste Notenwert $\bar a$ ausgew"ahlt und diesem der zugeh"orige -Ausschlu\3 $A$ zugeordnet. F"ur die anderen Notenwerte $\bar a_i$ ergibt -sich dann der Raum, der diesem Notenwert zugeordnet wird, aus der Formel: -$ \Frac A{\bar a}*\bar a_i$. -\subheading{Ausf"uhrung des zweistimmigen Setzens} -Die obige von - D. A. Gomberg vorgeschlagene Vorgehensweise -ist naheliegend -und scheint eine gute M"oglichkeit zu sein, beliebige mehrstimmige -Partituren korrekt zu setzen. Abgesehen von dem Problem, zu den -eingegebenen Noten den passenden Spine zu konstruieren, ergibt sich -jedoch bei der Verwirklichung mit \TeX\ ein weiteres Problem, das die -Anwendung des Algorithmus erschwert. -Mit einem gegebenen Spine k"onnten die einzelnen Noten der Stimmen mit -einigem Aufwand in einer Tabelle plaziert werden. Um den Zeilenumbruch -zu erm"oglichen, m"u\3te also f"ur jedes Spinelement eine Tabelle -angelegt werden, da innerhalb einer gro\3en umfassenden Tabelle kein -Zeilenumbruch m"oglich ist. Dies w"urde zun"achst den variablen Glue -\disp{fest}legen; ein korrekter Ausschlu\3 w"are damit nicht mehr -gew"ahrleistet. Au\3erdem ist eine Verbalkung und eine Plazierung der -Bogen nicht mehr m"oglich, da die Listenverarbeitung in der -vorgestellten Art nicht mehr durchf"uhrbar ist. - -Aus diesen Gr"unden wurde zun"achst nur eine M"oglichkeit -bereitgestellt, einfachere zweistimmige Notenkonstellationen in einem -Zeilensystem, die ohne Spine auskommen, zu setzen. Beispiele sind schon -an einigen Stellen dieser Arbeit demonstriert worden. -Ein mehrstimmiges Setzen von ganzen Nachbarschaften, die nur mit Hilfe -eines Spines gesetzt werden k"onnen, ist noch nicht gegeben. Ohne -zus"atzliches manuelles Eingreifen, d.h. Einf"ugen von weiterem -Ausschlu\3material, erscheinen z.B. die -unten aufgef"uhrten Einzelstimmen -zweistimmig inkorrekt gesetzt: - -{\hsize=8cm -\parindent2\iindent\advance\hsize2\iindent -\beginsong\vio\C -\group{\\{\s7}\\{\s8}\\{\s7}\\{\s9}}{\\{7}\\{8}\\{7}\\{9}}% -\def\beamlist{\\{1-\the\N,}% -\\{1-\the\N,}}\ubeam14\go\hskip20pt -\def\beamlist{\\{1-\the\N,}}% -\group{\\{\a3}\\{\a3}}{\\{3}\\{3}}\lbeam12\go\hskip40pt -\two{\group{\\{\s7}\\{\s8}\\{\s7}\\{\s9}}{\\{7}\\{8}\\{7}\\{9}}% -\def\beamlist{\\{1-\the\N,}% -\\{1-\the\N,}}\ubeam14\go}{% -\def\beamlist{\\{1-\the\N,}}% -\group{\\{\a3}\\{\a3}}{\\{3}\\{3}}\lbeam12\go} \hfill\endsong -}\vskip -1cm -Im Anhang A wurde ein Beispiel eingef"ugt, das zeigt, da\3 das -angegebene Verfahren f"ur viele Musikst"ucke gut anwendbar ist. - -Das zweistimmige Setzen erfolgt nach folgendem Verfahren. Beide -Stimmen werden einzeln wie im einstimmigen Satz unter Ber"ucksichtigung -der Notationsregeln ausgeschlossen. Dann werden die Stimmen linksb"undig -ineinander geschoben. Dabei wird als neuer \verbatimon |\spaceskip| der -aktuelle |\spaceskip| der Stimme gew"ahlt, die mehr horizontalen Raum -erfordert. Zu beachten ist, da\3 eventuelle Versetzungszeichen vor der -Notengruppe wie Vorzeichenakkorde gesetzt werden. -\Beispiel -\par\noindent\vbox{\hsize=8cm -\loose -\parindent2\iindent\advance\hsize2\iindent -\beginsong\vio\C -\group{\\{{\tr\a2}}\\{\x1\s1}\\{\s0}} -{\\{2}\\{1}\\{0}}\def\beamlist{\\{1-3,}\\{2-3,}}% -\ubeam13\lslur23\go -\def\beamlist{\\{1-7,}\\{-2,3-7,}\\{6-7,}} -\x{-5}\n{-1}\two{\group{\\{\s{-1}}\\{\n1\z1}\\{\z0}\\{\z{-1}}% -\\{\z{-2}}\\{\d{-1}}\\{\d{-3}}} -{\\{-1}\\{1}\\{0}\\{-1}\\{-2}\\{-1}\\{-3}}\ubeam17\lslur27\go}{\a{-5}}\|% -\endsong} -\vskip -1cm -\endBeispiel -Unregelm"a\3ige Unterteilungen wurden bisher noch nicht ber"ucksichtigt, -da zum korrekten Setzen ein weiterer Zeichensatz f"ur die Klammerung -eingef"uhrt werden mu\3. Das Setzen von Notengruppen dieser Art ergibt -im einstimmigen Satz jedoch keine weiteren satztechnischen Probleme. -\par - -\vfill\eject diff --git a/macros/mtex/documentation/mdoc12.tex b/macros/mtex/documentation/mdoc12.tex deleted file mode 100644 index 8456673948..0000000000 --- a/macros/mtex/documentation/mdoc12.tex +++ /dev/null @@ -1,89 +0,0 @@ -\def\ck{\discretionary{k-}{}{c}k} -\heading{Zusammenfassung} - -Abschlie\3end sollen die Ergebnisse der beiden vorliegenden Arbeiten -knapp zusammengefa\3t werden. \par -Mit der in Teil 1 -beschriebenen Noteneingabesprache ist es gelungen, eine -lineare Notation zu entwi\ck eln, mit der alle Arten konventioneller -Musik dargestellt werden k"onnen. -Bis auf wenige Ausnahmen wird der -gesamte Umfang der Notenschrift erfa\3t. -Die Eingabesprache k"onnte zum Beispiel noch um -Befehle f"ur Vor-- und Nachschl"age, Oktavierungszeichen -und verschiedene Triller erg"anzt werden. -Gr"o\3ere Erweiterungen w"aren notwendig, um die Notation -moderner Musik -erfassen zu k"onnen, die sich in vielen F"allen -von der herk"ommlichen Schreibweise -unterscheidet. -\parsep -Die vorgestellte Eingabesprache orientiert sich am musikalischen -Sprachgebrauch. Dadurch bleiben der -Aufbau eines Musikst"ucks erkennbar -und die Codierungsvorschriften einpr"agsam. -\parsep -Die Entwicklung der -Sprache geschah haupts"achlich im Hinblick auf die -Anwendung bei der -Automatisierung des Notensatzes. Sie bietet hier -nicht nur die -M"oglichkeit, Texte zur Beschriftung der Musikst"ucke einzusetzen, -sondern die codierten Partituren k"onnen auch in "ubliche -Schrifttexte eingebettet werden. -Ebenso k"onnen beliebige Befehle zur Formatsteuerung -innerhalb der Noteneingabe eingef"ugt werden, die an nachfolgende -Programme weitergegeben werden. -Zus"atzlich zur Anwendung beim automatisierten Notensatz sind -andere Weiterverarbeitungsm"oglichkeiten, zum Beispiel Musikanalysen -oder Katalogisierungen, f"ur die Eingabedaten denkbar und mittels -geeigneter Programme durchf"uhrbar. -\par -Nachdem es sich herausgestellt hatte, da\3 das verwendete -Textsatzsystem \TeX\ f"ur den Notensatz erweiterbar ist (Teil 2 -der Arbeit), mu\3te eine M"oglichkeit geschaffen werden, das mit Hilfe -der Eingabesprache codierte Musikst"uck in eine f"ur die -Weiterverarbeitung mit \TeX\ geeignete Form zu bringen. Das wird von -dem in Anhang B beschriebenen "Ubersetzungsprogramm geleistet, das -die Eingabedaten in der gew"unschten Form bearbeitet. -\par -Um in Teil 2 der vorliegenden Arbeit zu zeigen, da\3 das verwendete -Textsatzsystem f"ur den Notensatz erweitert werden kann, -wurden zun"achst die Satz- und Notationsregeln systematisiert und die -zugeh"origen Verfahren f"ur den automatisierten Notensatz entwickelt. -Als Anwendung ist ein Satzsystem erstellt worden, -das den eingangs erw"ahnten Erfordernissen hinsichtlich -Ausgabequalit"at und Unabh"angigkeit vom Ausgabeger"at gen"ugt. - -Die Frage zu Beginn war, -inwieweit die Datenstrukturen und Satzalgorithmen dieses -Textsatzsystems den Anforderungen des Notensatzes angemessen sind. -Es zeigt sich, da\3 die an jedes Notensatzsystem gestellten Anforderungen, -die den korrekten Ausschlu\3 betreffen, einfach zu erf"ullen sind. -Das Box-Glue-Konzept erm"oglicht das Einf"ugen von Hunks. Der vorhandene -Zeilen- und Seitenumbruchalgorithmus kann erfolgreich eingesetzt werden. -Die Darstellung der einzelnen Notenschriftelemente wird ebenfalls durch -das Box-Glue-Konzept unterst"utzt. Weiterhin ist dadurch auch das -Zusammensetzen der variablen Notenschriftelemente (Noten, Balken, Bogen) -erm"oglicht worden. - -Die Grenzen des Textsatzsystems zeigen sich dort, wo die Plazierung -eines einzelnen Notenschriftelementes vom zweidimensionalen Umfeld -abh"angig ist, da die Datenstrukturen des -Textsatzsystems in diesem Fall den Problemen nicht angemessen sind. - -Als Folgerung daraus ergibt sich, da\3 der Satz in mehreren Systemen -problematisch ist. -Wie alle bisher erschienenen Notensatzsysteme kann auch dieses -in der augenblicklichen Form - nur -einen Teilbereich der konventionellen Notenschrift abdecken. -Es besitzt jedoch den Vorteil, - da\3 hier die Notenschrift, wie in dieser -Arbeit demonstriert, - in laufenden Text -eingebettet werden kann. -Die weitergehenden Anforderungen k"onnen z.B. - durch die Losl"osung vom Textsatzsystem erf"ullt -werden. -\vfill\eject diff --git a/macros/mtex/documentation/mdoc13.tex b/macros/mtex/documentation/mdoc13.tex deleted file mode 100644 index 15b64dfc8f..0000000000 --- a/macros/mtex/documentation/mdoc13.tex +++ /dev/null @@ -1,95 +0,0 @@ - - -\heading{Literatur} - -\ref\keyy{\lit{\Brook}} -\by B.S. Brook, M. Gould \paper -Notating Music with Ordinary Typewriter Characters\jour -Fontes Artis Musicae \vol XI\pages 142--159 \yr1964\endref -\ref \keyy{\lit{\byrd}} -\by D. Byrd \paper A system for music printing by computer -\jour Computers and the -Humanities \vol 8 \pages161--172 \yr 1974 -\endref -\ref \keyy{\lit{\genzmeier}} -\by F. Genzmer \book Das Buch des Setzers \publ Verlag Ullstein -GmbH\publaddr Frankfurt/M.$\cdot$ Berlin \yr 1961 -\endref -\ref\keyy{\lit{\gomb}} -\by D.A. Gomberg \paper A computer--oriented system for music printing -\jour Computers and the Humanities \vol 11 \pages 63--80 \yr 1978 -\endref -\ref\keyy{\lit{\Gourlay}} -\by J.S. Gourlay \paper A language for music printing -\jour Communications -of the ACM \vol 29 \yr 1986 -\endref -\ref\keyy{\lit{\grabner}} -\by H. Grabner \book Allgemeine Musiklehre -\publ B"arenreiter Kassel \publaddr Basel$\cdot$% -Paris$\cdot$London \yr 1970 -\endref -\ref\keyy{\lit{\Hader}} -\by K. Hader -\book Aus der Werkstatt eines Notenstechers -\publ Waldheim--Eberle Verlag \publaddr Wien \yr 1948 -\endref -\ref\keyy{\lit{\Knuth}} -\by D.E. Knuth, M.F. Plass -\paper Breaking Paragraphs into Lines -\jour Software,Practic \& Experience \vol11\yr1981 \pages1118--1184 -\endref -\ref\keyy{\lit{\TeXbook}} -\by D.E. Knuth \book The \TeX book \publ Addison--Wesley -Publ. Comp. \yr 1984 -\endref -\ref\keyy{\lit{\Knuthmf}} -\by D.E. Knuth \book The \mf book \publ Addison-Wesley Publ. Comp. -\yr1986\endref -\ref\keyy{\lit{\Peters}} -\by Peters \paper Informatik I und II -\publ (Vorlesungsausarbeitung, Univ. Bonn) -\yr WS 1978/79 und SS 1979\endref -\ref\keyy{\lit{\Schofer}} -\by A. Schofer \paper Automatisierter -Notensatz mit \TeX\ -- Ein Verfahren zur Notenschrifteingabe -\publ (Diplomarbeit, Univ. Bonn 1986) -\endref -\ref\keyy{\lit{\Smith}} -\by L.C. Smith \paper Editing and printing music by computer -\jour J. Music Theory \vol 17 -\issue 2 \pages 292--309 \yr1973 -\endref -\ref\keyy{\lit{\Steinb}} -\by A. Steinbach \paper Automatisierter -Notensatz mit \TeX\ -- Verfahren zur Notenschriftausgabe -\publ (Diplomarbeit, Univ. Bonn 1986) -\endref -\ref\keyy{\lit{\Werner}} -\by R. Werner \paper EDM (EDV f"ur Musik) -- Modell - kommunikationstheoretisch begr"undeter Musikanalysen -\publ (Dissertation, -Univ. M"unster (Westf.) 1978) -\endref -\ref\keyy{\lit{\Wirth}} -\by N. Wirth \book Compilerbau -\publ Teubner Taschenbuch \publaddr Stuttgart \yr 1984\endref -\ref\keyy{\lit{\Ziegen}} -\by W. Ziegenr"ucker \book Allgemeine Musiklehre -\publ Wilhelm Goldmann Verlag \publaddr -Musikverlag, B. Schotts S"ohne \issue 6 \yr1983 -\endref -\ref\keyy{\lit{\Zima}} -\by H. Zima \book Compilerbau 1 -\publ BI Wissenschaftsverlag \publaddr Mannheim, Wien, Z"urich -\yr 1982\endref -\ref\keyy{\lit{\Zimat}} -\by H. Zima \book Compilerbau 2 -\publ BI Wissenschaftsverlag \publaddr Mannheim, Wien, Z"urich -\yr 1983 -\endref -\vfill\eject - - - - diff --git a/macros/mtex/documentation/mdoc2.tex b/macros/mtex/documentation/mdoc2.tex deleted file mode 100644 index 5cbcf78290..0000000000 --- a/macros/mtex/documentation/mdoc2.tex +++ /dev/null @@ -1,1206 +0,0 @@ -\heading{Formale Darstellung der Noteneingabesprache} - -Eingabeverfahren, die f"ur den Computer geeignet sein sollen, -m"ussen eine -streng formalisierte -"au\3ere Form haben, um Mehrdeutigkeiten bez"uglich der Bedeutung zu -vermeiden. -Solche \Ev\ geh"oren zur Klasse der formalen Sprachen, deren Syntax in -den meisten F"allen mit Hilfe sogenannter Regelgrammatiken definiert -werden kann. -\abs -Auch bei der hier entwickelten Noteneingabesprache kann die Theorie -der formalen Sprachen zugrunde gelegt werden. -Ihre Syntax wird durch die \BNF, -mit der \kf e \G en beschrieben werden k"onnen, dargestellt. Doch -bevor die Syntax der Eingabesprache definiert wird, sollen die -theoretischen Grundlagen dieser Darstellungsweise geschaffen werden. -Deshalb folgt eine kurze Einf"uhrung in formale Sprachen und \kf e \G -en \lit{\Zima}, \lit{\Peters}. -\abschnitt\abschnitt -\centerline{\bf 2.1 Theoretische Grundlagen} -\abschnitt\abschnitt -\subheading{2.1.1 Formale Sprachen} -Um den oben erw"ahnten Begriff der formalen Sprache zu -er\-kl"a\-ren, sind -zun"achst einige andere Definitionen n"otig. -\absatz -\subheading{Definition} -Eine nichtleere endliche Menge -$\Sigma=\{a_1,a_2,\ldots,a_n\}$, $n\ge 1$, hei\3t (endliches) -\de{Alphabet} und die $a_i$, -$1\le i\le n$ sind die Zeichen oder Symbole des Alphabets $\Sigma$. -\absatz -Diese Zeichen lassen sich nach folgender Vorschrift zu W"ortern -zusammensetzen. -\abs -\subheading{Definition} -Sei $\Sigma=\{a_1,\ldots,a_n\}$, $n\ge 1$. Dann hei\3t die endliche -Folge -$$x=a_{i_{\ssize 1}}\cdots a_{i_{\ssize r}}\;, -\q r\ge 0\;,\q 1\le i_j\le n\;, -\q j\in \lbrack 1,r\rbrack$$ -\de{Wort} "uber dem Alphabet $\Sigma$. -Dabei ist $r$ die L"ange des Wortes und wird geschrieben als -$|x|=r$. -Falls $r=0$, so ist $x$ gleich dem leeren Wort $\epsilon$. -Die Menge aller Worte "uber $\Sigma$ wird mit $\Sigma^*$ bezeichnet und -$\Sigma^+=\Sigma^*\setminus \{\epsilon\}$ -ist die Menge aller Worte "uber dem Alphabet $\Sigma$ ohne das leere -Wort. -\absatz -Auf der Menge aller W"orter ist eine Verkn"upfung, die -Konkatenation, wie folgt definiert. -\abs -\subheading{Definition} -Seien -$x=a_{i_{\ssize 1}}\cdots a_{i_{\ssize r}}$ und -$y=a_{k_{\ssize 1}}\cdots a_{k_{\ssize s}}$ -zwei Worte "uber dem Alphabet $\Sigma$. Dann -wird das Wort $z=a_{i_{\ssize 1}}\cdots a_{i_{\ssize r}}a_{k_{\ssize 1}} -\cdots a_{k_{\ssize s}}$ -als \de{Konkatenation} oder \de{Produkt} -von $x$ und $y$ bezeichnet und $z$ -wird geschrieben als $z=xy$. -\absatz -Mit den definierten Begriffen k"onnen nun formale Sprachen eingef"uhrt -werden. -\abs -\subheading{Definition} -Eine -\de{(formale) Sprache} "uber dem Alphabet -$\Sigma$ ist eine beliebige Menge -$L\subseteq \Sigma^*$. -\abschnitt -Es stellt sich die Frage, wie die Sprache $L$ -spezifiziert werden kann und wie die Elemente dieser Menge -beschrieben werden k"onnen. Die -Beantwortung h"angt davon ab, ob die Sprache $L$ endlich oder -nicht endlich ist. -Handelt es sich bei $L$ um eine endliche Wortmenge, so k"onnen die -Elemente aufgez"ahlt werden. -Falls $L$ jedoch nicht endlich ist, mu\3 eine endliche Beschreibung der -Sprache gefunden werden. Bei dieser Beschreibung soll auf nat"urliche -Sprachen verzichtet und formale Methoden angewandt werden, um -Mehrdeutigkeiten zu vermeiden. Es gibt verschiedene Hilfsmittel, um -solch eine Beschreibung zu erhalten. -\abs -Eine der gebr"auchlichsten Methoden zur Beschreibung formaler Sprachen -sind die Regelgrammatiken, die je nach M"achtigkeit verschiedene Klassen -formaler Sprachen definieren. -Die geeignetste Regelgrammatik -zur Darstellung von Eingabesprachen, wie sie bei der -Aufgabenstellung dieser Arbeit vorkommen, sind die \kf en \G en. Sie -erfassen weite Teile der Syntax dieser Eingabesprachen. -\abschnitt\abschnitt -\subheading{2.1.2 Kontext--freie Grammatiken} -Es folgen nun einige Definitionen zu \kf en \G en und Sprachen. -\absatz -\subheading{Definition} -Eine \de{\kf e \G\ } ist ein Quadrupel -$G=(N,\Sigma,P,S)$, -wobei -$N$ die endliche Menge der \de{Nichtterminalsymbole} und -$\Sigma$ die endliche Menge der \de{Terminalsymbole} ist. Es soll -$N\cap\Sigma=\emptyset$ gelten. -Die endliche Menge $\Gamma=N\cup \Sigma$ wird als \de{Gesamtalphabet} -bezeichnet. -$P\subseteq N\times\Gamma^*$ ist die Menge der Regeln oder -\de{Produktionen}. $P$ ist eine endliche Menge. $(A,v)\in P$ -hei\3t eine Regel -f"ur $A$ und wird in der Form -$A\longrightarrow v$ geschrieben. -$S\in N$ hei\3t \de{Startsymbol}. -\absatz -Produktionsregeln aus $P$ lassen sich hintereinander ausf"uhren. -Dies f"uhrt zu folgender Definition -\abs -\subheading{Definition} -Sei -$G=(N,\Sigma,P,S)$ eine \kf e \G\ und -$w,w_0\in \Gamma^*$. Dann hei\3t $w$ aus $w_0$ -\de{ableitbar} bez"uglich $P$, wenn es eine Folge -$w_1,w_2,\ldots,w_m\in \Gamma^*$ gibt, mit -$w_m=w$ und folgender Eigenschaft:\abs -F"ur jedes $i=1,\ldots, m$ gibt es eine Regel -$(A_i,v_i)\in P$ und W"orter -$x_i, y_i\in\Gamma^*$, so da\3 gilt: -$$w_{i-1}=x_iA_iy_i\qq\hbox{und}\qq w_i=x_iv_iy_i\;.$$ -Die Folge -$w_i$, $i=0,\ldots, m$, hei\3t -\de{Ableitung} der L"ange $m$ und wird in der Gestalt -$$w_0\longrightarrow w_1\longrightarrow \ldots -\longrightarrow w_m=w$$ -als solche angedeutet. -Die Tatsache, da\3 es eine Ableitung von $w$ aus $w_0$ in $P$ gibt, -wird durch $w_0\abl^P w$ notiert. -\abs -Mit einer \kf en \G\ lassen sich W"orter erzeugen. Ausgehend vom -Startsymbol $S$ k"onnen nach Belieben Produktionsregeln der -Grammatik angewandt werden. Eine Produktion ersetzt jeweils ein -Nichtterminalsymbol durch ein Element aus der Menge $N\cup\Sigma$. -Terminalsymbole k"onnen nicht ersetzt werden. -Der Ableitungsvorgang terminiert sp"atestens dann, wenn das Wort nur -noch Symbole aus dem Terminalalphabet enth"alt. Er endet auch, -wenn f"ur ein -Nichtterminalzeichen keine Produktion existiert. -Die bei einer Ableitung entstandenen W"orter, die nur -Terminalsymbole enthalten, -hei\3en \de{Terminalw"orter} oder S"atze. Sie geh"oren zur Menge -$\Sigma^*$. Die Menge aller von einer \kf en \G\ erzeugten -Terminalw"orter bilden die zu der \G\ geh"orende \kf e Sprache. -\absatz -\subheading{Definition} -Eine formale Sprache -$L\subseteq \Sigma^*$ hei\3t \de{\kf} genau dann, -wenn es eine \kf e \G\ -$G=(N,\Sigma,P,S)$ gibt, f"ur die -$$L=L(G):=\{w\,\mid\,w\in\Sigma^*\hbox{ und } -S\abl^P w\}$$ -gilt. -\abs -\subheading{Beispiel} -Sei $G_1=(\{S,T\}, \{a,b\}, \{S\to aT|Ta|\epsilon, T\to Sb|bS\}, S)$ -eine kontext--freie Grammatik. -Die verschiedenen Produktionen f"ur ein Nichtterminalsymbol -werden "ublicherweise zu einer Regel zusammengefa\3t und durch -einen senkrechten Strich getrennt. $T\to Sb|bS$ bedeutet also -$T\to Sb$ oder $T\to bS$. -Es gibt zum Beispiel folgende -Ableitungen: -$$S\longrightarrow aT\longrightarrow aSb\longrightarrow ab$$ -oder -$$S\longrightarrow Ta\longrightarrow Sba\longrightarrow aTba -\longrightarrow aSbba\longrightarrow abba\;.$$ -Die W"orter $ab$ bzw. $abba$ sind Terminalworte. -\abschnitt -Sei im folgenden -$G=(N,\Sigma,P,S)$ eine \kf e \G, -$w\in\Sigma^*$ und $L(G)$ die von $G$ erzeugte \kf e Sprache. -\abs -Im Zusammenhang mit \kf en \G en und Sprachen stellt sich -die Frage, ob die Syntax der erzeugten Sprache korrekt ist. -Deshalb sind drei Probleme, auf die im folgenden n"aher eingegangen -wird, -von besonderem Interesse: -\item{---} "Aquivalenz von Grammatiken, -\item{---} -Entscheidbarkeit "uber die Zugeh"origkeit eines Wortes zu der von -der Grammatik $G$ erzeugten Sprache $L(G)$, -\item{---} Eindeutigkeit der Ableitung f"ur ein Wort -$w\in L(G)$. -\abs -Auf diese drei Punkte wird nun n"aher eingegangen. -\abschnitt\abschnitt -\subheading{2.1.3 "Aquivalenz \kf er \G en} -Es kann sein, da\3 eine -\kf e \G\ in ihren Alphabeten Zeichen enth"alt, -f"ur die es keine Ableitungen gibt oder die in den Terminalw"ortern der -erzeugten -Sprache nicht vorkommen. Auch die Menge der Produktionen kann nutzlose -Regeln enthalten, die zur Erzeugung der Sprache, also der -Terminalw"orter, nicht beitragen. -\abs -Es w"are sicherlich w"unschenswert, wenn diese redundanten -beziehungsweise nutzlosen Zeichen -und Regeln aus der \kf en \G\ entfernt werden k"onnten, ohne da\3 sich -die \G\ wesentlich "andert. -Dies geht, indem folgende Einschr"ankungen gemacht werden: -(1) das Startsymbol kommt nur auf der linken Seite einer Ableitung auf, -(2) keine Regel f"uhrt nur zum leeren Wort, (3) kein Nichtterminalsymbol -wird in ein Nichtterminalsymbol abgeleitet und (4) jede Ableitung f"uhrt -zu einem Terminalwort. -Auf welche Art ein Grammatik dahingehend abge"andert werden kann, da\3 -sie diese Bedingungen erf"ullt, wird im Anschlu\3 an die Definition -der "Aquivalenz geschildert. -\absatz -\subheading{Definition} -Zwei \kf e \G en -$G=(N,\Sigma,P,S)$ und -$G'=(N',\Sigma',P',S')$ hei\3en -\de{"aqui\-va\-lent} genau dann, wenn -$L(G)=L(G')$; \dh, wenn die beiden \G en die gleiche Sprache -erzeugen. -\abschnitt -Der folgende Algorithmus "uberf"uhrt die \kf e Grammatik $G$ in -eine \kf e Grammatik $G'$, die -die obigen Bedingungen erf"ullt und "aquivalent zu $G$ ist. -Die Grammatik $G'$ wird \de{reduziert} genannt. F"ur eine -ausf"uhrlichere -Beschreibung des Algorithmus sei auf \lit{\Zima} oder \lit{\Peters} -verwiesen. -\abs -Eine \kf e \G\ -$G=(N,\Sigma,P,S)$ kann durch folgende Schritte reduziert werden: -\abs -\item{1.} -Das Startsymbol $S$ soll nicht auf der rechten Seite einer Ableitung -vorkommen, \dh -in -$A\longrightarrow v$, $A\in N$, $v\in\Gamma^*$, tritt $S$ nicht in $v$ -auf. Diese Bedingung kann erf"ullt werden durch Einf"uhrung eines neuen -Startsymbols $S'$ und der Hinzunahme der Regel $S'\longrightarrow S$. -$N'$ ist dann -$N\cup\{S'\}$. -\item{2.} -Die Produktionen sollen \de{$\epsilon$--frei} sein, \dh -keine Regel soll die Form -$C\longrightarrow \epsilon$, $C\in N$, haben. -Sei $v\in\Gamma^*$ und das Nichtterminalsymbol $C$ kommt in $v$ vor. -Dann kann zu jeder Regel -$A\longrightarrow v$, $A\in N$, -eine Produktion -$A\longrightarrow w$, $w\in\Gamma^*$, hinzugef"ugt werden. -Diese entsteht aus -$A\longrightarrow v$, indem in $w$ alle $C$ durch -$\epsilon$ ersetzt werden. Die Regel -$C\longrightarrow \epsilon$ kann dann eliminiert werden. -\item{3.} -Die Menge der Produktionen enth"alt keine \de{single production}, -also keine Regel der Form -$A\longrightarrow B$ mit $A,B\in N$. Dazu werden alle Produktionen -$C\longrightarrow x$, $x\in\Sigma$ betrachtet. Nun wird -f"ur alle $A$ mit -$ A\longrightarrow B$ und alle -$ C\longrightarrow x$ "uberpr"uft, ob eine Ableitung -$A\abl^P C$ existiert. Falls es so eine Ableitung gibt, wird -$A\longrightarrow x$ als neue Regel hinzugenommen und die Regel -$A\longrightarrow B$ entfernt. -\item{4.} -Jede abgeschlossene Ableitung soll zu einem Terminalwort f"uhren. -Das bedeutet, da\3 es -immer eine Ableitung $S\abl^P vAw\abl^P vuw$ mit -$v,w,u\in\Sigma^*$, $A\in N$, gibt. Dies kann erreicht werden, indem -alle Nichtterminalzeichen aus dem Nichtterminalalphabet $N$ gestrichen -werden, aus denen kein Terminalwort abgeleitet werden kann. Au\3erdem -werden alle nichterreichbaren Symbole aus den Alphabeten gestrichen. -\abs -Die durch obigen Proze\3 entstandene \kf e \G\ -$G'=(N',\Sigma',P',S')$ ist "aquivalent zu der \kf en \G\ $G$, \dh -$L(G')=L(G)$ (Beweis siehe \lit{\Zima}, \lit{\Peters}). -Mit der \G\ $G'$ kann die Sprache $L$ ohne unn"otige bzw. -redundante Ableitungen erzeugt werden. -Au\3erdem wird mit jeder vollst"andigen -Ableitung -ein Terminalwort erreicht. -Ein Ziel wird es demnach sein, -zur Erzeugung einer Sprache eine reduzierte -\kf e \G\ zu benutzen. -\abschnitt -Im folgenden sei die \kf e \G\ -$G=(N,\Sigma,P,S)$ laut obigen Vereinbarungen eine reduzierte Grammatik. -\abschnitt\abschnitt -\subheading{2.1.4 Entscheidbarkeit} -Immer dann, wenn die Syntax einer Sprache "uberpr"uft werden soll, -stellt sich -die Frage nach der Zugeh"origkeit eines Wortes zu dieser -Sprache. -Eine syntaktisch korrekte Sprache enth"alt nur -W"orter, die durch die zugeh"orige Grammatik erzeugt -wurden. Deshalb ist es f"ur die Syntaxanalyse wichtig, entscheiden zu -k"onnen, ob ein Wort zu der von einer Grammatik erzeugten Sprache -geh"ort oder nicht. Falls diese Frage f"ur ein Wort entschieden werden -kann, so mu\3 als -n"achster Schritt eine Ableitung f"ur dieses Wort gefunden werden -- -vorausgesetzt, das Wort geh"ort zu der Sprache. -Anhand der gefundenen Ableitung f"ur ein Wort $x$ kann seine syntaktische -Struktur erkannt werden. -\absatz -\subheading{Definition} -Eine Sprache -$L\subseteq \Sigma^*$ mit der Eigenschaft, da\3 f"ur jedes Wort -$v\in\Sigma^*$ entschieden werden kann, ob -$v\in L$ oder $v\notin L$, hei\3t -\de{entscheidbar}. -\absatz -Jede \kf e Sprache ist entscheidbar (siehe -\lit{\Peters} oder \lit{\Zima}). -Das bedeutet, da\3 in jedem Fall festgestellt werden -kann, ob ein Wort durch die Grammatik erzeugt wird und damit zu -der Sprache geh"ort. -Im Zusammenhang mit der -Entscheidbarkeit \kf er Sprachen werden -Verfahren angegeben, mit denen eine Ableitung f"ur -ein Terminalwort gefunden werden kann. -Verfahren zum systematischen Aufsuchen einer Ableitung zu einer -gegebenen Grammatik $G$ und einem gegebenen Wort -$w\in \Sigma^*$ werden -\de{Syntax--Anlayse--Verfahren} genannt. -\abs -Bei der Konstruktion einer zu $w$ geh"orenden Ableitung k"onnen zwei -prinzipiell verschiedene Wege eingeschlagen werden: -Einerseits kann von den Terminalzeichen, die das Wort $w$ bilden, -ausgegangen und versucht werden, das Startsymbol $S$ zu erreichen -(``bottom--up--Analyse''). Andererseits kann die Konstruktion einer -Ableitung mit dem Startsymbol begonnen werden, um auf diesen Weg das -Terminalwort $w$ zu erreichen (``top--down--Analyse''). -\abs -W"ahrend einer Analyse mu\3 h"aufig zwischen mehreren Regeln gew"ahlt -werden, weil es f"ur ein Nichtterminalsymbol verschiedene Produktionen -geben kann und es oft nicht absehbar ist, ob die eine oder die -andere Regel zum gew"unschten Ergebnis f"uhrt. -Dies zeigt das folgende Beispiel. -\absatz -\subheading{Beispiel} -Sei $G$ eine \kf e \G\ mit $\Sigma=\{a,+,*,(,)\}$, $N=\{S\}$, -\par -$P=\{S\to S+S/S*S/(S)/a\}$ und dem Startsymbol $S$. -Dann kann der Ausdruck $a+a*a$ mit verschiedenen Ableitungen -erreicht werden: -$$S\to S+S\to S+S*S\to a+S\to a+a*S\to a+a*a$$ -oder -$$S\to S+S\to a+S\to a+S*S\to a+a*S\to a+a*a\,.$$ -\absatz -Es kann auch sein, da\3 durch die Wahl einer ungeeigneten Regel -die Anlayse vor Erreichen des Startsymbols $S$ bzw. des Terminalworts -$w$ terminiert. Dann mu\3 die Ableitung bis zu der mehrdeutigen Stelle -r"uckg"angig gemacht werden (``back--tracking'') und von dort aus wieder -mit der Analyse begonnen werden. Allerdings werden die Bem"uhungen -dahingehen, solche Sackgassen zu vermeiden und m"oglichst effiziente -Analysealgorithmen zu verwenden. -\abs -Verfahren, die solche Analysealgorithmen f"ur \kf e Sprachen automatisch -generieren, sind die -$LL(1)$-- und die -$LALR(1)$--Analyse. Die Besprechung dieser Analyseverfahren w"urde -hier zu weit f"uhren, deshalb sei an dieser Stelle wiederum auf -\lit{\Zima} verwiesen. -\absatz -Es ist noch zu sagen, da\3 diese Analysestrategien ausschlie\3lich auf -eindeutige \G en anwendbar sind. Darum schlie\3t an dieser Stelle -eine kurze -Zusammenfassung "uber den Eindeutigkeitsbegriff \kf er \G en an. -\abschnitt\abschnitt -\subheading{2.1.5 Eindeutigkeit} -Bevor Aussagen zur Eindeutigkeit einer \kf en \G\ gemacht werden -k"onnen, m"ussen einige Vereinbarungen "uber Ableitungen getroffen -werden. -Um daf"ur einen anschaulichen Hintergrund zu haben, werden die -Ableitungen durch sogenannte Ableitungsb"aume graphisch dargestellt. -\absatz -\subheading{Definition} -Sei $G$ eine \kf e \G\ und -$w\in L(G)\subseteq\Sigma^*$. Ein -\de{Ableitungsbaum von $w$ in $G$} ist ein Baum mit -den Eigenschaften: -\item{---} -Die Wurzel hat die Marke $S$. -\item{---} -Alle mit Nichtterminalzeichen $A$ markierten Knoten haben -Nachfolger; sind f"ur einen mit $A$ markierten Knoten die Nachfolger mit -$v_1,\ldots, v_n\in\Gamma$ markiert, dann enth"alt $G$ die Regel -$A\longrightarrow v_1\cdots v_n$. -\item{---} -Die Marken der Bl"atter ergeben von links nach rechts gelesen das -Wort $w$. -\absatz -Zu einer Ableitung -$S\abl^P w$ mit -$S\longrightarrow w_1\longrightarrow w_2\longrightarrow -\cdots \longrightarrow w_m=w$, -$w\in L(G)$, kann nach folgenden Regeln ein \de{Ableitungsbaum} -zusammengef"ugt werden: -\par -\item{1.} -Zu jeder Regel -$A\longrightarrow v_1\cdots v_n\in P$ mit -$v_i\in \Gamma$, -$1\le i\le n$, wird der zugeh"orige \de{Regelbaum} -\par -% -\input mdocpic1 -% -\item{ } gebildet. -\item{2.} -Nun wird der Ableitungsbaum f"ur -$S\abl^P w$ begonnen, indem der Regelbaum zur Regel -$S\longrightarrow w_1$ erstellt wird. -\item{3.} -Sei $w_i=xAy$, $1\le i<m$, $x,y\in\Gamma^*$, $A\in N$ und -$w_{i+1}=xvy$, $v\in \Gamma^*$. Der "Ubergang von $w_i$ nach -$w_{i+1}$ wird durch die Anwendung der Regel -$A\longrightarrow v$ bewirkt. -Im Ableitungsbaum wird -der Knoten $A\in N$ durch den Regelbaum f"ur die Regel -$A\longrightarrow v$ ersetzt. -Jeder Ableitungsschritt kann an den -Bl"attern des Baumes von links nach rechts abgelesen werden. -\abs -Auf diese Weise kann f"ur jedes Wort $w$ ein Ableitungsbaum konstruiert -werden. -Der umgekehrte Vorgang ist ebenfalls m"oglich. -Zu einem Ableitungsbaum eines Wortes $w$ k"onnen Ableitungen -gefunden werden; dabei kann es sein, da\3 es zu einem Ableitungsbaum -verschiedene Ableitungen gibt. Deswegen wird jedem Ableitungsbaum eine -ausgezeichnete Ableitung zugeordnet. -\absatz -\subheading{Definition} -Eine Ableitung -$S\longrightarrow w_1\longrightarrow\cdots\longrightarrow w_m=w$ hei\3t -\de{Linksableitung} genau dann, wenn bei jedem "Ubergang -$w_{i}=xAy\longrightarrow xvy$ mit -$w_i,y,v\in\Gamma^*$, -$A\in N$, stets $x\in\Sigma^*$ gilt. -Analog dazu kann auch die \de{Rechtsableitung} definiert werden. -\abs -Jeder Linksableitung von $w$ entspricht genau ein Ableitungsbaum und -umgekehrt. Au\3erdem besitzt jedes Wort einer Sprache -eine Linksableitung. -\abs -Es ist m"oglich, da\3 es zu einem Wort mehrere -Linksableitungen gibt, also auch mehrere Ableitungsb"aume. Aus -diesem Grund ist es sinnvoll, folgende Vereinbarung zu treffen: -\absatz -\subheading{Definition} -Eine \kf e \G\ $G$ hei\3t \de{eindeutig} genau dann, wenn f"ur jedes -$w\in L(G)$ nur eine Linksableitung existiert. Andernfalls hei\3t $G$ -\de{mehrdeutig}. -\abs -\subheading{Definition} -Eine \kf e Sprache $L\subseteq \Sigma^*$ hei\3t \de{eindeutig} genau -dann, wenn es eine eindeutige \kf e \G\ -f"ur $L$ gibt. Andernfalls hei\3t -$L$ \de{mehrdeutig}. -\abs -Es liegt auf der Hand, da\3 Eingabesprachen f"ur den Computer eindeutig -sein sollten, schon allein aus dem Grund, da\3 die semantische -Eindeutigkeit sonst nicht gew"ahrleistet werden kann. -\abschnitt -Zum Abschlu\3 dieses Abschnitts sei darauf hingewiesen, da\3 -sich die praktische Anwendung der \kf en \G en von der Theorie -unterscheidet. -Mit \kf en \G en k"onnen weite Teile der Syntax von -Eingabe-- oder Programmiersprachen erfa\3t werden. Allerdings -m"ussen zus"atzlich zu den Regeln des Produk\-tionssystems $P$ noch -weitere Vorschriften gemacht werden, bei denen es sich dann nicht -mehr um \kf e Regeln handelt. Diese Zusatzregeln sind meist n"otig, -um Eingaben zu vermeiden, die semantisch -keinen Sinn ergeben, aber aus den -Produktionsregeln der \G\ ableitbar sind. -\abs -Trotzdem kann mit \kf en \G en zun"achst die "au\3ere -Struktur der Sprachen, die beschrieben werden m"ussen, -festgelegt werden. -Auch der Aufbau der hier erarbeiteten -Eingabesprache f"ur Musikst"ucke, die -zur Automatisierung des Notensatzes benutzt werden soll, -kann mit Hilfe obiger Theorie behandelt werden. -\abschnitt -\abschnitt -\goodbreak -\centerline{\bf 2.2 Die Syntax der Noteneingabesprache in \BNF} -\abschnitt -In diesem Abschnitt soll die Syntax der Noteneingabesprache, -die f"ur eine Anwendung mit dem Computer entwickelt worden ist und -und deshalb zur Klasse der formalen Sprache geh"ort, dargestellt -werden. -Eine formale Sprache kann durch eine \kf e \G\ erzeugt werden, deren -Produktionsregeln den syntaktischen Aufbau der Sprache -beschreiben. Die entwickelte Noteneingabesprache kann ebenfalls -durch eine \kf e \G\ generiert werden. -Zur Beschreibung dieser \kf en \G\ wird aus mehreren Gr"unden -die standardm"a\3ig benutzte -\BNF\ gew"ahlt. -Zum einen bietet die \BNF\ die M"oglichkeit, -die Nichtterminalzeichen mnemotechnisch zu benennen, was die -Erkennung ihrer Bedeutung innerhalb der Sprache und daher -das Verst"andnis erleichtert. Au\3erdem k"onnen die Nichtterminal%- -symbole in den Produktionsregeln von den Terminalsymbolen durch die -die Art ihrer Darstellung unterschieden werden. Die Menge der -Terminal-- bzw. Nichtterminalzeichen m"ussen demnach nicht gesondert -aufgef"uhrt werden, was vor allem bei sehr umfangreichen \G en\ -von Vorteil ist. -\abs -Bevor der syntaktische Aufbau der Eingabesprache mit Hilfe der -\BNF\ dargestellt wird, soll diese anhand -eines Beispiels -erl"autert werden. -\abschnitt\abschnitt -\subheading{2.2.1 Die \BNF} -Zur Backus--Naur--Form -geh"ort ein Qua\-dru\-pel -$(N,\Sigma,P,S)$. Die Nichtterminalsymbole -werden mnemotechnisch benannt -und in spitze Klammern eingeschlossen. Statt dem Ableitungspfeil wird -das Zeichen -$::=$ zum Anschreiben der Produktionen benutzt. -Bei Auftreten des Zeichens wird -das Nichtterminalsymbol auf der linken Seite durch die rechte -Seite genauer erkl"art. Wie bei Produktionsregeln von \G en "ublich, -werden bei der \BNF\ die verschiedenen M"oglichkeiten einer -Ableitung f"ur ein Nichtterminalzeichen durch einen senkrechten Strich -voneinander getrennt. -\abs -Zum besseren Verst"andnis wird nun ein Beispiel f"ur eine -\kf e \G\ in -\BNF\ gegeben und nach ihren Regeln eine Ableitung konstruiert. -\absatz -\subheading{Beispiel} -Sei -$G=(N,\Sigma,P,S)$ eine \kf e \G\ mit\par -$N=\{$\nl{name},\nl{letter},\nl{alphanum},\nl{numeral},$\}$, -$\Sigma=\{\hbox{B,E,I,S,P,L,1,2,3}\}$, -$S=$\nl{name} und $P$ enth"alt die Produktionen -\item{ } -\nl{name}::=\nl{alphanum}\T\nl{alphanum}\nl{name}, -\item{ } -\nl{alphanum}::=\nl{letter}\T\nl{numeral}, -\item{ } -\nl{letter}::=B\T E\T I\T S\T P\T L, -\item{ } -\nl{numeral}::=1\T2\T3. -\abs -W"orter der von $G$ erzeugten Sprache sind \zB BEISPIEL22, B11LE, -1322 oder BSP1. -Zur Veranschaulichung wird die Linksableitung, dargestellt als -Ableitung und Ableitungsbaum, f"ur das Terminalwort BSP1 konstruiert. -$$\align \nm{name} -&=\nm{alphanum}\nm{name}\\ -&=\nm{letter}\nm{name}\\ -&={\bf B}\nm{name}\\ -&={\bf B}\nm{alphanum}\nm{name}\\ -&={\bf B}\nm{letter}\nm{name}\\ -&={\bf BS}\nm{name}\\ -&={\bf BS}\nm{alphanum}\nm{name}\\ -&={\bf BS}\nm{letter}\nm{name}\\ -&={\bf BSP}\nm{name}\\ -&={\bf BSP}\nm{alphanum}\\ -&={\bf BSP}\nm{numeral}\\ -&={\bf BSP1}\endalign$$ -Der Ableitungsbaum f"ur die Linksableitung hat folgende Gestalt: -\par -{ -\def\HB#1{\hbox to 3cm{\hfil$#1$\hfil}} -\def\Hb#1{\hbox to 1.5cm{\hfil$#1$\hfil}} -\centerline{ \HB{\nm{name}} } -\centerline{ \Hb{\swarrow} \Hb{\searrow} } -\centerline{ \HB{\nm{alphanum}} \HB{\nm{name}} } -\centerline{ \Hb{\swarrow} \Hb{} \Hb{\swarrow} \Hb{\searrow} } -\centerline{ \HB{\nm{letter}} \HB{\nm{alphanum}} \HB{\nm{name}} } -\centerline{ \Hb{\swarrow} \Hb{} \Hb{\swarrow} \Hb{} - \Hb{\swarrow} \Hb{\searrow} } -\centerline{ \HB{\bf B} \HB{\nm{letter}} \HB{\nm{alphanum}} \HB{\nm{name}} } -\centerline{ \Hb{} \Hb{\swarrow} \Hb{} \Hb{\swarrow} \Hb{} \Hb{\swarrow} } -\centerline{ \HB{\bf S} \HB{\nm{letter}} \HB{\nm{alphanum}} } -\centerline{ \Hb{} \Hb{\swarrow} \Hb{} \Hb{\swarrow} } -\centerline{ \HB{\bf P} \HB{\nm{numeral}} } -\centerline{ \Hb{} \Hb{\swarrow} } -\centerline{ \HB{\bf 1} } -} - -Im Anschlu\3 daran kann nun -mit Hilfe der \BNF\ die Syntax der Noteneingabesprache -beschrieben werden. Diese wird -zusammen mit -Erl"auterungen zu den Pro\-duktions\-regeln und ihrer Bedeutung -f"ur die Sprache -im n"achsten Abschnitt geliefert. -\abschnitt\abschnitt -\subheading{2.2.2 Syntaxbeschreibung in \BNF} -Die Grammatik, die die Syntax der Eingabesprache beschreibt, ist eine -nach den Gesichtspunkten aus 2.1.3 reduzierte \G. Das bedeutet, -da\3 sie $\epsilon$--frei ist, keine single production enth"alt und da\3 -das -Startsymbol nur einmal vorkommt, und zwar auf der linken Seite. Des -weiteren gibt es f"ur jedes Nichtterminalsymbol eine Ableitung, die -zu einem Terminalwort f"uhrt und es gibt keine nicht\-erreichbaren -Nichtterminal-- bzw. Terminalzeichen. Die Elemente der erzeugten Sprache, -also die Terminalw"orter, sind Eingaben f"ur den Computer und -beschreiben ein Musikst"uck. -\absatz -Die Grammatik wird haupts"achlich durch ihre Produktionsregeln -charakterisiert. Dabei wird die Vereinbarung getroffen, da\3 die -Nichtterminal-- und Terminalzeichen durch die Art der Notation in den -Ableitungsregeln kenntlich gemacht werden. -Es soll gelten: -\item{---} -$S=\nm{music input}$ -\item{---} -$N$ enth"alt alle metalinguistischen Variablen, das sind die -in spitzen Klammern eingeschlossenen Zeichenfolgen. -\item{---} -$\Sigma$ besteht aus allen fett gedruckten Symbolen. Das k"onnen -auch Zeichenfolgen sein.\abs -Die Menge $P$ der Produktionsregeln, die die Noteneingabesprache -vollst"andig erzeugen, soll im folgenden erl"autert werden. -Allerdings wird aus Gr"unden der besseren Lesbarkeit -darauf verzichtet, die Vorschriften f"ur -Linksableitungen genau zu befolgen. -Bei aufeinanderfolgenden Regeln wird also nicht immer das am weitesten -links stehende Nichtterminalsymbol der vorhergehenden Regel erkl"art. -Stattdessen wird eine Vorgehensweise gew"ahlt, die den Kontext der -einzelnen Produktionsregeln verdeutlichen soll. Dazu werden die Regeln -zu verschiedenen Abschnitten zusammengefa\3t, wobei ein Abschnitt solche -Produktionen f"ur Nichtterminalzeichen enth"alt, die sinngem"a\3 -zusammengeh"oren. Diese Methode f"uhrt zu einer Unterteilung in -sechs Abschnitte, die in Anlehnung an die Notation von -Musikst"ucken in Notenschrift entstanden sind. -Bevor auf die Beschreibung der Produktionsregeln eingegangen wird, -soll zun"achst zum Verst"andnis der gew"ahlten Unterteilung -der Aufbau einer Partitur in groben Z"ugen dargestellt werden. -\abs -Zu Anfang eines Musikst"ucks -stehen "ublicherweise Angaben zum Komponisten -und dem Titel, bei Vokalmusik werden diese erg"anzt durch Informationen -"uber den Dichter. Danach wird, der Art des zu notierenden Musikwerks -entsprechend, die Anzahl der erforderlichen Notenliniensysteme -festgelegt, in die der Melodieverlauf der einzelnen Stimmen der -Partitur in Notenschrift geschrieben wird. -Ein Notenliniensystem besteht -aus f"unf Linien, in die die Notenschriftzeichen eingeordnet werden. -Zur Niederschrift mehrstimmiger Musikst"ucke werden mehrere -Notenliniensysteme benutzt, die untereinander geschrieben -und durch eine geschweifte Klammer auf der linken Seite zu sogenannten -Akkoladen zusammengefa\3t werden (siehe \lit{\Ziegen}). -Im folgenden wird statt Notenliniensystem -auch der Begriff System benutzt. -\abs -Ein einzelnes Notenliniensystem kann grob in zwei Teile gegliedert -werden. Der erste Teil enth"alt die Angaben, die f"ur die gesamte -Melodie des Systems G"ultigkeit haben und die zu Beginn jeder -zu dem System geh"orenden Notenzeile stehen. Mit den einleitenden -Angaben wird durch den Notenschl"ussel und die Tonart eine Aussage -"uber die genaue Tonh"ohe der Melodie gemacht, der Rhythmus -und eventuell Tempo und Tonst"arke festgelegt \lit{\Ziegen}. -Der zweite Teil eines Systems beschreibt den Melodieverlauf, der -haupts"achlich mit Hilfe von Noten, Versetzungszeichen, Pausen -und Taktstrichen notiert wird. Zus"atzlich werden f"ur erl"auternde -Angaben Sonderzeichen oder Text benutzt. -In einem einzelnen System d"urfen entweder ein-- -oder zweistimmige St"ucke notiert werden, die -f"ur Vokalmusik noch mit einem -Liedtext versehen werden k"onnen. -\par -Bei der Notation des Melodieverlaufs bilden die ben"otigten -Notenschriftzeichen in vielen F"allen wiederum Einheiten, -die dadurch zustande kommen, da\3 die Notenschriftzeichen -miteinander verbunden werden, wie \zB mit Balken oder B"ogen. -Es kann also zwischen einzelnen und kombinierten Notenschriftzeichen -unterschieden werden. -\abs -Die Produktionsregeln der \G\ werden nun entsprechend -der von ihnen erzeugten Sprachelemente aufgegliedert, wobei die oben -beschriebene Strukturierung zugrunde gelegt wird. -Je nachdem, zu welchem Abschnitt sie geh"oren, -beschreiben sie dann folgende Teile einer Partitur: -\item{---} -Eigenschaften, die eine Aussage "uber die Art -des Musikwerks machen, -\item{---} -Melodieverlauf eines Systems, -\item{---} -einleitende Angaben, die f"ur ein -System G"ultigkeit haben, -\item{---} -elementare Notenschriftzeichen, -\item{---} -Notengruppen, die von Notenschriftzeichen gebildet werden, und -\item{---} -sonstige Zeichen und Zeichenketten, wie sie f"ur schriftliche -Anmerkungen ben"otigt werden. -\abs -Ausf"uhrliche Erkl"arungen zu den dort zusammengefa\3ten -Produktionsregeln werden im folgenden gegeben. -Doch zuvor noch eine allgemeine Erkl"arung. Manche Regeln der Eingabe% -sprache legen die Reihenfolge, in der die Angaben gemacht werden -m"ussen, nicht fest. -Diese Daten k"onnen also beliebig aufeinanderfolgen, -wie es zum Beispiel bei \nl{preliminary data} erlaubt ist -(siehe 2.2.2, Abschnitt 1). -In solchen F"allen wird das "Ubereinkommen getroffen, da\3 bei -mehrfachen sich eventuell widersprechenden Angaben mit gleichem -Informationsgehalt die zuletzt eingegeben gilt. F"ur Linksableitungen -ist das die, die am weitesten rechts steht. -\abschnitt -\subheading{1) Beschreibung der Art der Partitur}\abs -\def\T{\ |\ } -Dieser Abschnitt enth"alt die Produktionsregeln, -mit denen -die Art des Musikst"ucks bestimmt werden kann und die die -Notenliniensysteme erzeugen, in die anschlie\3end der Melodieverlauf -eingetragen wird. -Durch einige der hier aufgef"uhrten Regeln wird -die Anzahl der zur Notation des Musikst"ucks ben"otigten Systeme -und der Inhalt eines Systems -festgelegt. Andere bieten die M"oglichkeit, die Angaben, die f"ur -die Dauer eines Systems gelten und zu Beginn jeder Zeile des Systems -notiert werden, zu erzeugen. Die Regeln, die zur Generierung der -"Uberschriften einer Partitur ben"otigt werden, sind ebenfalls -in diesem Abschnitt aufgef"uhrt. -Anfang und Ende eines Musikst"ucks m"ussen besonders gekennzeichnet -werden. Das ist vor allem deshalb n"otig, um -eine Noteneingabe innerhalb einer normalen Texteingabe von dieser -abzuheben. Damit k"onnen Partituren gemeinsam -mit Texten eingegeben und verarbeitet werden. -\abs -{\tabskip0pt plus1fill -\halign to\hsize{\hfill$#{}$% -\tabskip0pt&$#$\hfill\tabskip0pt plus 1fill\cr -\nm{music input} ::=& \nm{begin} \nm{piece} \nm{end}\cr -\nm{begin} ::=& {\hbox{\bf!!}} \T \bs{\bf beginsong}\cr -\nm{piece} ::=& \nm{several system} \T \nm{system} \T \nm{heading} -\nm{piece}\cr -\nm{several system} ::=& \bs{\bf system} - \lk\nm{system}\rk \T\cr -&\bs{\bf system} - \lk\nm{system}\rk -\nm{several system}\cr -\nm{system} ::=& \nm{block} \T \nm{preliminary data} \nm{block}\cr -\nm{block} ::=& \nm{melody} \T \nm{two} \T \nm{vocal}\cr -\nm{two} ::=& \bs{\bf two}\lk\nm{melody}\rk \lk% - \nm{melody}\rk\cr -\nm{vocal} ::=& \bs{\bf vocal}\lk\nm{melody}\rk \lk% - \nm{songtext}\rk \T -\bs{\bf vocal}\lk\nm{two}\rk \lk% - \nm{songtext}\rk\cr -\nm{preliminary data} ::=& \nm{voice} \T \nm{clef} \T \nm{signature} \T -\nm{metre} \T - \nm{explanation} \T \cr -&\nm{preliminary data} \nm{preliminary data}\cr -\nm{heading} ::=& \bs{\bf title}\lk\nm{text}\rk \T - \bs{\bf poet}\lk\nm{text}\rk \T - \bs{\bf composer}\lk\nm{text}\rk\cr -\nm{end} ::=& {\hbox{\bf!!}} \T \bs{\bf endsong}\cr -}} -\abs -Die Eingabe eines Musikst"ucks beginnt und endet mit \nl{begin} bzw. -\nl{end}, wobei entweder das Terminalzeichen {\bf!!} oder -\bs{\bf beginsong} bzw. \bs{\bf endsong} benutzt werden kann. -\par -Mit \nl{piece} kann entschieden werden, ob ein System oder mehrere -Systeme eingegeben werden sollen. Falls mehrere Systeme eingegeben -werden, so werden diese hintereinander eingegeben. Dabei zeigt das -Terminalwort \bs{\bf system} den Beginn eines weiteren Systems an. -Zus"atzlich besteht mit \nl{heading} die M"oglichkeit, "Uberschriften -einzugeben.\par -In einem System \nl{system} k"onnen unterschiedliche St"ucke notiert -werden. Diese Wahl findet mit \nl{block} statt. -Einerseits kann es sich bei der Eingabe um eine einstimmige -Melodie \nl{melody} handeln. -Eine andere M"oglichkeit ist, da\3 zwei Stimmen in -einem System dargestellt werden. Dazu wird \nl{two} benutzt. Die -dritte M"oglichkeit, n"amlich die Eingabe eines Liedes, geschieht -mit \nl{vocal}. \par -Einem System k"onnen durch \nl{preliminary data} einleitende -Angaben wie Instrumentenstimmen, Notenschl"ussel, Tonart, Taktart -und Tempoangaben vorangestellt sein. -\abschnitt -\subheading{2) Beschreibung des Melodieverlaufs} -\abs -Die folgenden Produktionsregeln erzeugen den -Melodieverlauf jeweils einer Stimme und den eventuell vorhandenen -Liedtext. -Die Melodie wird charakterisiert durch einfache Notenschriftzeichen wie -Noten, Pausen, -Vorzeichen und Taktunterteilungen. Die Regeln f"ur diese einfachen -Zeichen werden in 4) erl"autert. -Diese Zeichen k"onnen je nach Anordnung -in Gruppen zusammengefa\3t werden, wie es in Abschnitt 5) beschrieben -wird. Zus"atzlich kann eine Melodie -schriftliche Erl"auterungen in Form eines Textes enthalten. -\abs -{\tabskip0pt plus1fill -\halign to\hsize{\hfill$#{}$% -\tabskip0pt&$#$\hfill\tabskip0pt plus 1fill\cr -\nm{melody} ::=& \nm{primitives} \T \nm{group} \T \nm{change} \T - \nm{explanation}\cr -\nm{primitives} ::=& \nm{note} \T \nm{rest} \T -\nm{caesura} \T \nm{barline} \T\cr - & \nm{primitives} \nm{primitives}\cr -\nm{group} ::=& \nm{simple nested group} \T - \nm{mismatched group} \T \cr - & \nm{articulation group} \T \nm{group} \nm{group}\cr -\nm{change} ::=& \nm{clef} \T \nm{signature} \T \nm{metre} \T \nm{change} - \nm{change}\cr -\nm{songtext} ::=& \nm{text} \T \nm{place}\nm{text} \T -\nm{omission} \T -\nm{songtext} \nm{songtext}\cr -\nm{articulation group} ::= -& \bs{\bf stac} \nm{melody} \bs{\bf noaccent} \T\cr -& \bs{\bf staccatissimo} \nm{melody} \bs{\bf noaccent} \T\cr -& \bs{\bf tenuto} \nm{melody} \bs{\bf noaccent}\cr -}} -\abs -Der Melodieverlauf wird in \nl{melody} beschrieben. Die Melodie ist eine -Anordnung von \nl{primitives}, \nl{group}, -\nl{change} und \nl{explanation}. -\par -Dabei handelt es sich bei \nl{primitives} um die Grundbausteine wie -Noten, Pausen, Atemzeichen und Taktstriche. -\par -In \nl{group} werden alle Notengruppen beschrieben. Das sind -\nl{primitives}, die mit Balken, Bogen oder Notenh"alse zu einer -Einheit zusammengefa\3t werden. Unterschieden wird zwischen -\nl{simple nested group}, \nl{mismatched group} und -\nl{articulation group}. -\nl{simple nested group} -ist eine Gruppe, in der die \nl{primi\-tives} entweder -mit einem Balken oder einem Bogen oder einem Notenhals verbunden sind. -Gleichzeitig ist die -M"oglichkeit gegeben, solche Gruppen ineinanderzuschachteln. -\par -Bei einer Noteneingabe kommt es sehr oft vor, da\3 solche Gruppen nicht -``korrekt'' ineinandergeschachtelt sind, \dh es k"onnen -"Uberschneidungen vorkommen. -Eine Gruppe kann innerhalb -einer anderen aufh"oren, obwohl sie au\3erhalb dieser Gruppe -begonnen wurde. Dieser Fall ist mit \nl{mismatched group} abgedeckt. -Auf diese beiden -Notengruppen wird weiter unten in 5) genauer eingegangen. -\par -Mit \nl{articulation group} k"onnen Noten mit Akzentuierungen -versehen werden. Dabei zeigen die Terminalw"orter -\bs{\bf stac}, \bs{\bf staccatissimo} und \bs{\bf tenuto} jeweils -den Beginn, das Terminalwort \bs{\bf noaccent} das Ende der -Gruppe an. F"ur jede Note, die innerhalb dieser Gruppe vorkommt, gilt -dann die Akzentuierung. -\par -Weiterhin kann w"ahrend des Melodieverlaufs ein Wechsel von -Takt-- bzw. Tonart oder ein "Ubergang zu einem anderen Notenschl"ussel -erfolgen. Dies wird mit \nl{change} bewerkstelligt.\par -\nl{songtext} tritt in der Ableitung nur auf, -wenn mit \nl{vocal} Vokalmusik -eingegeben werden soll. Solch eine Textunterlage besteht aus W"ortern und -dem Auslassungszeichen \nl{omission}. Dieses Zeichen ist n"otig, -weil jeder Note eine Textsilbe zugeordnet werden soll. Das Auslassungs% -zeichen wird benutzt, wenn es zu einer Note keinen Text gibt. -Die Silben werden durch Leerzeichen voneinander getrennt und -k"onnen mit einer Positionsangabe versehen werden, -die allerdings nur f"ur -die folgende Silbe gilt. -Falls -mehrere Noten f"ur eine Silbe ben"otigt werden, so m"ussen nach der -Silbe entsprechend der Anzahl der Noten diese Auslassungszeichen -eingef"ugt werden.\par -\abschnitt -\subheading{3) Beschreibung der einleitenden Angaben, -zus"atzliche Anmerkungen} -\abs -Dieser Teil der Menge der Produktionsregeln erzeugt die -oben erw"ahnten einleitenden Angaben, die f"ur -das gesamte System gelten und zu Beginn jeder Zeile eines Systems -stehen. -Dazu geh"oren Instrumentenstimme, -Notenschl"ussel, Vorzeichnung, Taktart, Tempo und Tonst"arke. -\abs -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{\tabskip0pt plus1fill -\halign to\hsize{\hfill$#{}$% -\tabskip0pt&$#$\hfill\tabskip0pt plus 1fill\cr -\nm{voice} ::=& \bs{\bf voice}\lk\nm{text}\rk\cr -\nm{clef} ::=& \bs{\bf treble} \T \bs{\bf bass} \T \bs{\bf baritone} \T - \bs{\bf alto} \T \bs{\bf mezzo} \T \bs{\bf soprano} \T - \bs{\bf tenor} \cr -\nm{signature} ::=& \bs{\bf signature}\lk\nm{several accid}\rk \T - \nm{sign}\cr -\nm{several accid} ::=& \nm{accid} \T \nm{accid} \nm{several accid}\cr -\nm{accid} ::=& \nm{accidental} \nm{simple note} \T -\nm{octave} \nm{accidental} - \nm{simple note} \T \cr - &\nm{accidental} \nm{octave} \nm{simple note}\cr -\nm{sign} ::=& -\bs{\bf C} \T \bs{\bf G} \T \bs{\bf D} \T \bs{\bf A} \T \bs{\bf E} - \T \bs{\bf H} \T \bs{\bf Fis} \T - \bs{\bf Cis} \T \cr - &\bs{\bf a} \T \bs{\bf e} \T -\bs{\bf h} \T \bs{\bf fis} \T -\bs{\bf cis} \T \bs{\bf gis} \T \bs{\bf dis} \T -\bs{\bf ais} \T \cr -&\bs{\bf Ces} \T -\bs{\bf Ges} \T \bs{\bf Des} \T \bs{\bf As} \T - \bs{\bf Es} \T \bs{\bf B} \T - \bs{\bf F} \T \cr - &\bs{\bf as} \T \bs{\bf es} \T - \bs{\bf b} \T \bs{\bf f} \T \bs{\bf c} \T \bs{\bf g} \T \bs{\bf d}\cr -\nm{metre} ::=& \bs{\bf meter}\lk\nm{number}\slash\nm{number}\rk \T -\bs{\bf allabreve} - \T \bs{\bf hC} \T \bs{\bf dC}\cr -\nm{explanation} ::=& \bs{\bf text}\lk\nm{text}\rk \T - \bs{\bf text}\lk\nm{place} \nm{text}\rk \T\cr - &\nm{recital} \T - \lk\nm{place} \nm{recital}\rk \cr -\nm{place} ::=& \bs{\bf\us} \T -\bs{\bf\us l} \T \bs{\bf\us c} \T \bs{\bf\us r} \T -\bs{\bf\us n} \T \bs{\bf\us v} \T \bs{\hbox{\bf\os\ }} \T - \bs{\hbox{\bf\os\ l}} \T - \bs{\hbox{\bf\os\ c}} \T -\bs{\hbox{\bf\os\ r}} \T \bs{\hbox{\bf\os\ n}}\cr -\nm{recital} ::=& -\bs{\bf dacapo} \T \bs{\bf dalsegno} \T - \bs{\bf unisono} \T \bs{\bf cantusfirmus} \T - \bs{\bf crescendo} \T\cr -& \bs{\bf decrescendo} \T \bs{\bf diminuendo} \T - \bs{\bf forte} \T \bs{\bf fortissimo} \T\cr -& \bs{\bf fortissimoposs} \T \bs{\bf mezzoforte} \T - \bs{\bf mezzopiano} \T \bs{\bf piano} \T\cr -& \bs{\bf pianissimo} \T - \bs{\bf pianissimoposs} \T - \bs{\bf fortepiano} \T \bs{\bf forzato} \T\cr -& \bs{\bf rinforzando} \T \bs{\bf sforzato} \T - \bs{\bf sforz} \T \bs{\bf decr} \T \bs{\bf rallentando} \T\cr -& \bs{\bf ritardando} \T \bs{\bf ritenuto} \T - \bs{\bf tr} \T \bs{\bf staccato} \T -\bs{\bf fine} \T - \bs{\bf tacet} -\cr}} -\abs -Einleitende Angaben, die zu einem System gemacht werden k"onnen, -werden in \nl{preliminary data} beschrieben. Die Instrumentenstimme -kann mit \nl{voice} durch das Terminalzeichen \bs{\bf voice} eingegeben -werden, wobei auf das Schl"usselwort in Klammern der Name der -Instrumentenstimme folgen mu\3. \par -Eine andere m"ogliche Angabe betrifft den Notenschl"ussel. Dabei -f"uhrt die Variable \nl{clef} zu einem Terminalzeichen, denn die -Notenschl"ussel werden durch Schl"usselw"orter angegeben.\par -In der Regel f"ur \nl{signature} wird erkl"art, wie die Tonart eingegeben -werden kann. Daf"ur gibt es zwei M"oglichkeiten. Entweder -wird die Tonart durch ein Schl"usselwort aus der Regel f"ur -\nl{sign} beschrieben oder durch die expliziten Angaben der -jeweiligen Vorzeichen. Dies geschieht durch die Eingabe der Tonh"ohe, -auf die das Vorzeichen Einflu\3 nehmen soll, und dem gew"unschten -Vorzeichen.\par -Die Taktart \nl{metre} wird durch das Schl"usselwort \bs{\bf meter} und -der Taktart eingegeben. Abk"urzende Notationen f"ur -Taktarten aus der Mensuralnotation wie allabreve k"onnen durch -die entsprechenden Schl"usselw"orter -erreicht werden.\par -Die letzte einleitende Angabe, die m"oglich ist, kann eine -schriftliche Erkl"arung \zB zum Tempo oder der Tonst"arke -des Musikst"ucks sein. Dazu wird in \nl{explanation} die -erl"auternde Angabe in geschweifte Klammern geschrieben, der das -Schl"usselwort \bs{\bf text} vorangeht. Mit \nl{place} kann -bestimmt werden, wohin der Text geschrieben werden soll: ober-- oder -unterhalb des Notenliniensystems (\bs{\bf\os\ }, \bs{\bf\us}), -links-- oder rechtsb"undig ({\bf l, r}), -zentriert ({\bf c}) -oder so, da\3 die Breite des darunterstehenden -Notenschriftzeichens -der Breite des schriftlichen Hinweises nicht angepa\3t wird ({\bf n}). -Anmerkungen, die unterhalb der Notenzeile stehen, stehen eigentlich -in der f"ur Liedtexte vorgesehenen Zeile. Mit {\bf v} k"onnen sie -direkt unter die Notenzeile gesetzt werden. -\par -Der Gebrauch von \nl{recital} bietet die M"oglichkeit, oft vorkommende -Vortragsbezeichnungen oder Angaben zum Tempo bzw. zur Betonung -mit Hilfe einer Kontrollsequenz einzuf"ugen. Die genaue -Erkl"arung, durch was diese Kontrollw"orter bei der Ausgabe -ersetzt werden, kann in 3.4 gefunden werden. -\abschnitt -\subheading{4) Beschreibung der Grundbausteine f"ur einen Takt}\abs -Mit den folgenden Produktionsregeln k"onnen die elementaren -Zeichen der Notenschrift wie Noten, Pausen, Versetzungszeichen -und Taktstriche generiert werden. -\abs -{\tabskip0pt plus1fill -\halign to\hsize{\hfill$#{}$% -\tabskip0pt&$#$\hfill\tabskip0pt plus 1fill\cr -\nm{note} ::=& \nm{simple note} \T -\nm{note specification} \nm{simple note}\cr -\nm{simple note} ::=& {\bf c} \T {\bf d} \T {\bf e} \T {\bf f} -\T {\bf g} \T {\bf a} \T {\bf h} \cr -\nm{note specification} ::=& -\nm{octave} \T \nm{accidental} \T -\nm{duration} \T\cr -&\nm{punctuation} \T - \nm{note specification} - \nm{note specification} -\cr -\nm{octave} ::=& {\hbox{\bf,}} \T {\hbox{\bf{,,}}} \T -{\hbox{\bf{,,,}}} \T {\hbox{\bf `}} -\T {\hbox{\bf{`}{`}}} \T -{\hbox{\bf{{`}{`}{`}}}} \T -{\hbox{\bf{{`}{`}{`}{`}}}} \cr -\nm{accidental} ::=& {\bf x} \T {\bf{xx}} \T {\bf{b}} \T {\bf{bb}} \T -{\bf{n}}\cr -\nm{duration} ::=& {\bf 1} \T -{\bf 2} \T {\bf 4} \T {\bf 8} \T {\bf 6} \T {\bf 3} \T {\bf 5} -\T {\bf 7} \cr -\nm{punctuation} ::=& \nm{dot} \T -\nm{dot} \nm{punctuation} \cr -\nm{dot} ::=& {\hbox{\bf.}}\cr -\nm{rest} ::=& \nm{rest specification} {\bf p} \T {\bf{p}} \cr -\nm{rest specification} ::=& \nm{duration} \T -\nm{punctuation} \T \cr -&\nm{rest specification} - \nm{rest specification}\cr -\nm{caesura} ::=& {\bf 0p}\cr -\nm{barline} ::=& \strich\ \T\ \strich\strich\ \T -\ \gleich\ \T\ \strich\strich\dpkt\ \T -\ \dpkt\strich\strich\ \T\ \dpkt\strich\strich\dpkt -\cr}} -\abs -Eine Note, dargestellt -durch \nl{note}, besteht entweder aus \nl{simple note} oder -\nl{simple note} versehen mit der \nl{note specification}. Dabei -gibt \nl{simple note} den Notennamen an, \nl{note specification} n"ahere -Angaben zur Oktavlage, Vorzeichen und Tondauer. -Die Oktave kann mit einem der m"oglichen Terminalzeichen f"ur -\nl{octave} eingegeben werden und das Vorzeichen wird durch die -Anwendung der Regel f"ur -\nl{accidental} beschrieben. Die Tondauer ist eine der m"oglichen -Produktionen f"ur \nl{duration}, eventuell zusammen mit einer -Punktierung, die mit \nl{punctuation} dargestellt wird. -\par -Pausen werden mit \nl{rest} analog zu \nl{note} abgeleitet. Das -Atemzeichen \nl{caesura} -gilt als Pause mit der Dauer 0, da es keinen Einflu\3 auf -den Takt hat. \par -Zur Einteilung eines Taktes werden noch die verschiedenen Taktstriche -ben"otigt. Die Terminalzeichen daf"ur werden durch Anwendung der -Regel f"ur \nl{barline} erreicht. -\abschnitt -\subheading{5) Beschreibung der Notengruppen}\abs -Die hier beschriebenen Regeln generieren alle Arten von -Notengruppierungen. Auf diese Weise werden die -einfachen Notenschriftzeichen wie Noten, Pausen und Vorzeichen, -die in Abschnitt 4) beschrieben werden, -zu Einheiten zusammengefa\3t. -Das ist \zB der Fall bei Verbalkungen und Ligaturen. -\abs -{\tabskip0pt plus1fill -\halign to\hsize{\hfill$#{}$% -\tabskip0pt&$#$\hfill\tabskip0pt plus 1fill\cr -\nm{simple nested group} ::=& \bs{\bf beam}\lk% -\nm{nested group}\rk \T - \bs{\bf slur}\lk\nm{nested group}\rk \T\cr - &\bs{\bf cresc}\lk\nm{nested group}\rk \T - \bs{\bf descresc}\lk\nm{nested group}\rk\cr - &\bs{\bf chord}\lk\nm{several notes}\rk \cr -\nm{nested group} ::=& \nm{primitives} \T \nm{explanation} \T -\nm{change} \T \cr -&\nm{simple nested group} \T \nm{articulation group} \T\cr -&\nm{nested group} \nm{nested group}\cr -\nm{mismatched group} ::=& \bs{\bf group}\lk\nm{primitives}\rk - \nm{special group} \T\cr - &\bs{\bf group}\lk\nm{chord}\rk \nm{special group}\cr -\nm{special group} ::=& \bs{\bf gslur}\lk\nm{sign number}\rk \T - \bs{\bf gbeam}\lk\nm{sign number}\rk \cr - &\bs{\bf gcresc}\lk\nm{sign number}\rk \T - \bs{\bf gdecresc}\lk\nm{sign number}\rk \cr - &\nm{special group}\nm{special group}\cr -\nm{chord} ::=& \bs{\bf chord}\lk% -\nm{several notes}\rk \T \nm{chord} \nm{chord}\cr -\nm{several notes} ::=& \nm{note} \T \nm{note} \nm{several notes}\cr -\nm{sign number} ::=& \nm{number} {\hbox{\bf-}} \nm{number} \T -\nm{sign number} {\bf,} \nm{number} {\hbox{\bf-}} \nm{number} -\cr}} -\abs -Die Unterschiede der einzelnen Notengruppen wurden schon in 2) -erl"autert. In \nl{simple nested group} -gibt das jeweilige Schl"usselwort an, um -welche Art von Gruppe es sich handelt. \bs{\bf beam} gibt Anweisung, -die folgende \nl{nested group} zu verbalken, \bs{\bf slur} spannt einen -Bogen "uber die Gruppe, \bs{\bf cresc} bzw. \bs{\bf decresc} steht -f"ur crescendo bzw. decrescendo. Bis auf \nl{chord} k"onnen die -Gruppen von \nl{primitives} gebildet werden. Mit \nl{chord} -werden die in \nl{several notes} notierten Noten zu einem -Akkord verbunden. Au\3er Noten d"urfen in \nl{several notes} -keine anderen Zeichen vorkommen. -Au\3erdem erlaubt es -das Nichtterminalsymbol \nl{simple nested group}, die eben -beschriebenen Gruppen ineinanderzuschachteln. Diese Regel ergibt aber -nur ``korrekt'' geschachtelte Gruppen, also solche, die sich -nicht gegenseitig "uberlappen. -Ein Beispiel f"ur eine Eingabe mit \nl{simple nested group} w"are -$$\hbox{\bf \ks{slur}\{\ks{beam} \{8`a bh n{`}{`}c\}\}}\;.$$ -\par -\vskip-0.5cm -{\universal -\hsize9.5cm -\parindent6cm -\nointerlineskip\beginsong -\vio\C -\group{\\{\a3}\\{\b4\a4}\\{\n5\a5}}{\\{3}\\{4}\\{5}}\lbeam13\uslur13\go -\hfill\hbox{}\endsong} -\vskip-0.6cm\abs -Falls dies nicht der Fall ist, -mu\3 die Gruppe mit Hilfe des Nichtterminalzeichens -\nl{mismatched group} hergeleitet werden. Daf"ur stehen hinter dem -Schl"usselwort \bs{\bf group} die \nl{primitives}, -die die Gruppe bilden. -Diese Angaben werden gefolgt von der Variablen \nl{special group}. -Sie gibt durch die Stellennummer der Notenschriftzeichen -an, welche Zeichen wie -verbunden werden: -$$\hbox{\ks{group}{\bf \{b4.`a 8a g ba\} \ks{gslur}\{1-2\} -\ks{gbeam}\{2-4\}}}$$ -\vskip-.5cm -\par -{\hsize10cm\parindent5.5cm -\universal\nointerlineskip\beginsong -\vio\C% -\group{\\{\b3\v3\.1}\\{\a3}\\{\a2}\\{\b3\a3}} -{\\{3}\\{3}\\{2}\\{3}}\ubeam24\lslur12\go -\hfill\hbox{}\endsong} -\vskip-0.6cm\abs -\abschnitt -\subheading{6) Zeichen und Zeichenketten}\abs -Abschnitt 6) enth"alt die Produktionsregeln, die zur Erzeugung -der schriftlichen Er\-l"au\-terungen notwendig sind. Schriftlich bedeutet -hier, da\3 es sich um Angaben handelt, die mit Hilfe von -normalen Text gemacht werden. -\abs -{\tabskip0pt plus1fill -\halign to\hsize{\hfill$#{}$% -\tabskip0pt&$#$\hfill\tabskip0pt plus 1fill\cr -\nm{word} ::=& \nm{letter} \T \nm{digit} \T \nm{letter} \nm{word} \T -\nm{digit} \nm{word}\cr -\nm{letter} ::=& {\bf a} \T -{\bf b} \T {\bf c} \T {\bf d} \T {\bf e} \T {\bf f} \T {\bf g} -\T {\bf h} \T {\bf i} \T {\bf j} \T {\bf k} \T {\bf l} -\T {\bf m} \cr -&\T {\bf n} \T {\bf o} \T {\bf p} \T {\bf q} \T {\bf r} -\T {\bf s} \T {\bf t} \T {\bf u} \T {\bf v} \T {\bf w} \T {\bf x} -\T {\bf y} \T {\bf z} \T\cr -&{\bf A} \T {\bf B} \T {\bf C} \T {\bf D} -\T {\bf E} \T {\bf F} \T {\bf G} \T {\bf H} \T {\bf I} \T {\bf J} -\T {\bf K} \T {\bf L} \T {\bf M} \T\cr -&{\bf N} \T {\bf O} \T {\bf P} -\T {\bf Q} \T {\bf R} \T {\bf S} \T {\bf T} \T {\bf U} \T {\bf V} -\T {\bf W} \T {\bf X} \T {\bf Y} \T {\bf Z}\cr -\nm{digit} ::=& {\bf 0} \T {\bf 1} \T -{\bf 2} \T {\bf 3} \T {\bf 4} \T {\bf 5} \T {\bf 6} \T {\bf 7} -\T {\bf 8} \T {\bf 9}\cr -\nm{number} ::=& \nm{digit} \T \nm{digit} \nm{number}\cr -\nm{text} ::=& \nm{word} \T \nm{special character} \T - \nm{text} \nm{text}\cr -\nm{special character} ::=&\ {\hbox{\bf,}}\ \T\ {\hbox{\bf;}}\ \T - \ {\hbox{\bf.}}\ \T\ {\hbox{\bf!}}\ \T - \ {\hbox{\bf?}}\ \T\ {\blank}\ \T - \ {\hbox{\bf*}}\ \T\ {\hbox{\bf+}}\ \T - \ {\hbox{\bf-}}\ \T\ {\hbox{\bf`}}\ \T - \ {\hbox{\bf'}}\ \T\ \bs\ \T\ {\hbox{\~\ }}\cr -\nm{omission} ::=&\slash -\cr}} -\abs -W"orter, die in der Syntax mit \nl{word} bezeichnet werden, sind -eine Folge von Buchstaben und Zahlen. \nl{number} beschreibt eine -beliebige positive Zahl.\par -Aus \nl{word} und \nl{special character} wird eine beliebige -Zeichenkette \nl{text} gebildet.\par -Die Bedeutung von \nl{omission}, dem Auslassungszeichen, wurde -in 2) schon erw"ahnt, als \nl{songtext} erkl"art wurde. -\abschnitt -% -% -Eine -andere gebr"auchliche Methode zur Darstellung von Produktionsregeln -einer \kf en \G\ sind sogenannte Syntaxdiagramme. Aus diesem Grund -wird in -Anhang C -das Regelsystem der \G\ f"ur die Noteneingabesprache -der Vollst"andigkeit halber mit Hilfe der Syntaxdiagramme -veranschaulicht. -\abschnitt -\abschnitt -Nachdem in diesem Kapitel die Syntax der Noteneingabesprache mit Hilfe -einer \kf en \G\ beschrieben wurde, wird nun ein Leitfaden f"ur die -Anwendung der Eingabesprache gegeben. -In dieser Anleitung wird die Bedeutung und Handhabung der -Terminalsymbole erl"autert. Dabei wird es sich nicht vermeiden lassen, -da\3 zu den \kf en Regeln der Syntaxbeschreibung einige Anweisungen -hinzukommen, die nicht mehr \kf\ sind. Diese sind n"otig, um -Mehrdeutigkeiten oder Fehler bei der "Ubersetzung auszuschlie\3en. Das -Thema des n"achsten Kapitels ist also weniger die Syntax als die -Semantik der Eingabesprache. -\vfill\eject diff --git a/macros/mtex/documentation/mdoc3.tex b/macros/mtex/documentation/mdoc3.tex deleted file mode 100644 index 9d5b2bf47c..0000000000 --- a/macros/mtex/documentation/mdoc3.tex +++ /dev/null @@ -1,811 +0,0 @@ -\heading{Semantische Struktur der Noteneingabesprache} - -Die Bedeutung der Terminalsymbole wird ausgehend von der kleinsten -Einheit, der Note, erkl"art. Es werden die Terminalzeichen in einem -Abschnitt zusammengefa\3t, die ihrer Bedeutung nach zusammengeh"oren. -Zuerst wird beschrieben, aus welchen Terminalsymbolen einzelne -T"one und einfache Zeichen bestehen, danach folgt die Erl"auterung zur -Eingabe von Zeichengruppen, von ein-- und mehrstimmigen Musikst"ucken in -einem bzw. mehreren System und von Liedtexten. -\abschnitt\abschnitt -\centerline{\bf 3.1 Eingabe eines Tons} -\abschnitt -Ein Ton setzt sich aus zwei Komponenten zusammen, der Tonh"ohe und der -Tondauer. Die Tonh"ohe wird bestimmt von dem Notennamen, der Oktavlage -und etwaigen Versetzungszeichen. Die Tondauer berechnet sich aus dem -Zeitwert der Note und eventuellen Punktierungen. Im folgenden wird -beschrieben, wie diese Informationen in der Eingabesprache dargestellt -werden m"ussen. -\absatz -\subheading{Notennamen} -Die Notennamen werden entsprechend dem Sprachgebrauch, der sich am -jeweiligen Notenschl"ussel orientiert, -durch die -Buchstaben {\bf c}, {\bf d}, {\bf e}, {\bf f}, {\bf g}, -{\bf a}, {\bf h} benannt. -\absatz -\subheading{Oktave} -Angaben zu der Oktavlage werden mit Hilfe von Kommata bzw. Hochkommata -gemacht. Es gelten folgende Regeln: -$$\align -\hbox{\bf{`}{`}{`}{`}}\,&\q\hbox{viergestrichene Oktave}\\ -\hbox{\bf{`}{`}{`}}\,&\q\hbox{dreigestrichene Oktave}\\ -\hbox{\bf{`}{`}}\,&\q\hbox{zweigestrichene Oktave}\\ -\hbox{\bf`}\,&\q\hbox{eingestrichene Oktave}\\ -\hbox{\bf,}\,&\q\hbox{kleine Oktave}\\ -\hbox{\bf,,}\,&\q\hbox{gro\3e Oktave}\\ -\hbox{\bf ,,,}\,&\q\hbox{Kontra--Oktave}\endalign$$ -\absatz -\subheading{Versetzungszeichen} -Bei den Versetzungszeichen wird unterschieden, ob der Ton mittels -eines Kreuzes $\sharp$ -erh"oht oder mit Versetzungszeichen $\flat$ erniedrigt -wird. Die dritte M"oglichkeit, das Aufl"osungszeichen $\natural$, -hebt vorherige Versetzungszeichen auf. -$$\vbox{\halign{\hfil#&#\hfil&#\hfil\cr -\hbox{\bf x}\q&\q\hbox{Kreuz}\q&\q{\music\msharp}\cr -\hbox{\bf xx}\q&\q\hbox{Doppelkreuz}\q&\q{\music\mdoublesharp}\cr -\hbox{\bf b}\q&\q\hbox{Be}\q&\q{\music\mflat}\cr -\hbox{\bf bb}\q&\q\hbox{Doppel--Be}\q&\q{\music\mdoubleflat}\cr -\hbox{\bf n}\q&\q\hbox{Aufl"osungszeichen}\q&\q{\music\mnatural}\cr}}$$ -\absatz -\subheading{Tondauer} -Der Zeitwert einer Note wird durch eine positive, ganze Zahl beschrieben, -wobei folgende Festlegungen getroffen werden: -$$\vbox{\halign -{\hfil#&#\hfil&#\hfil\cr -{\bf 1}\q&\hbox{ganze Note}\q&\q{\music\g1\global\sk=0pt}\cr -{\bf 2}\q&\hbox{halbe Note}\q&\q{\music\h1\global\sk=0pt}\cr -{\bf 4}\q&\hbox{viertel Note}\q&\q{\music\v1\global\sk=0pt}\cr -{\bf 8}\q&\hbox{achtel Note}\q&\q{\music\a1\global\sk=0pt}\cr -{\bf 6}\q&\hbox{sechzehntel Note}\q&\q{\music\s1\global\sk=0pt}\cr -{\bf 3}\q&\hbox{zweiunddrei\3igstel Note}\q -&\q{\music\z1\global\sk=0pt}\cr -{\bf 5}\q&\hbox{vierundsechzigstel Note}\q&\q{\music\d1\global\sk=0pt}\cr -{\bf 7}\q&\hbox{einhundertachtundzwanzigstel Note} -\q&\q{\music\o1\global\sk=0pt}\cr}}$$ -Punktierungen verl"angern die Dauer eines Tones. In der -herk"ommlichen Schreibweise wird die Punktierung durch Punkte notiert. -Diese Notation wird f"ur die Eingabesprache "ubernommen. -Punktierungen werden demnach als eine gewisse Anzahl von Punkten -eingegeben. -\abs -Die Informationen Notenname, Oktave, Versetzungszeichen und Tondauer -machen zusammen den Ton aus. -\abs -F"ur die -Reihenfolge, in der diese Angaben erfolgen m"ussen, gibt es -nur eine Regel: -Der Notenname mu\3 nach allen anderen Informationen zu einem Ton -stehen, er bildet demnach den Abschlu\3 einer Tonangabe. -Alle anderen -Angaben k"onnen in beliebiger Reihenfolge -davor stehen, d"urfen aber nicht -durch Leerzeichen voneinander getrennt werden, sondern -m"ussen direkt aufeinanderfolgen. -Ein Ton wird also durch eine Zeichenfolge, die aus Terminalsymbolen -gebildet wird, beschrieben. Das Ende dieser Zeichenfolge ist der -Notenname. Jede Angabe kann weggelassen werden, nur der Notenname -mu\3 immer eingegeben werden. Falls Angaben fehlen, werden die Werte f"ur -die Tondauer und f"ur die Oktave von der vorherigen Note "ubernommen, -Punktierungen und Versetzungszeichen fallen weg. Gibt es keine vorherige -Note, so werden f"ur die Tondauer der Wert {\bf 4} -und f"ur die Oktave der -Wert {\bf`} angenommen. Bei mehrfacher Setzung der gleichen Information -zu einem Ton wird der Wert als g"ultig angesehen, der vor Erreichen -des Notennamens zuletzt gelesen wurde. -$$\hbox{\bf {`}{`}2d 3`e x4a c 2.h }$$ -\vskip-0.4cm -\par -{\hsize10.5cm\parindent5.5cm -\nointerlineskip\beginsong\vio\C -\universal -\h6\z0\global\advance\sk1.5\nhw\x3\v3\v{-2}\h4\.1\hfill\hbox{}\endsong} -\vskip-1cm\abs -\abschnitt -Au\3er Noten gibt es noch andere Zeichen, die in das Notenliniensystem -geschrieben werden k"onnen. Das sind Pausen, Atemzeichen, Taktstriche, -Notenschl"ussel und Taktangaben. -Die Eingabevorschrift f"ur Notenschl"ussel und f"ur die Taktart -wird in Abschnitt 3.5 beschrieben. Die anderen Zeichen werden -im n"achsten Abschnitt erkl"art. -\par\vfill\eject -\centerline{\bf 3.2 Pausen, Atemzeichen und Taktstriche} -\abschnitt -Die Pausen werden "ahnlich wie die T"one durch einen Buchstaben -zusammen mit einer Angabe zur Pausendauer eingegeben. -Der Buchstabe, der daf"ur benutzt wird, ist das p. Die Dauer der Pause -wird genauso wie die Tondauer angegeben und kann, im Gegensatz -zum Pausennamen {\bf p}, -wegfallen. Das Atemzeichen ist eine spezielle Pause, -sie hat die Dauer 0. F"ur eine Achtelpause w"urde dann also -8p eingegeben werden, f"ur ein Atemzeichen 0p. -\abs -Zur Taktunterteilung werden Taktstriche benutzt. Diese werden analog -zur herk"ommlichen Notation eingegeben, \dh -$$\vbox{\halign{\hfil#&#\hfil&#\hfil\cr -\strich\q&\q\hbox{einfacher Taktstrich} -\q&\q{\music\|\global\sk=0pt}\cr -\strich\strich\q&\q\hbox{Doppelstrich} -\q&\q{\music\doublebarline\global\sk=0pt}\cr -\gleich\q&\q\hbox{Schlu\3strich} -\q&\q{\music\=\global\sk=0pt}\cr -\strich\strich\dpkt\q&\q\hbox{Wiederholungszeichen, Beginn} -\q&\q{\music\rightrepeat\global\sk=0pt}\cr -\dpkt\strich\strich\q&\q\hbox{Wiederholungszeichen, Ende} -\q&\q{\music\leftrepeat\global\sk=0pt}\cr -\dpkt\strich\strich\dpkt\q&\q -\hbox{Wiederholungszeichen, Ende und Beginn} -\q&\q{\music\leftrightrepeat\global\sk=0pt}\cr}}$$ -Damit k"onnten zwei Takte eines Musikst"ucks wie folgt aussehen: -{\bf 4`e g f 8f 8h\strich 4g f e p=}. -\abschnitt\abschnitt -\centerline{\bf 3.3 Notengruppen} -\abschnitt -Au\3er einzelnen Noten gibt es noch Notengruppen, \dh -Noten, die vertikal bzw. horizontal verbunden werden. -In der -herk"ommlichen Notation ist es -erlaubt, Notengruppen beliebig ineinander% -zuschachteln. Dadurch wird die "Ubertragung in eine lineare -Notation erschwert. -Es kann vorkommen, da\3 innerhalb einer -Gruppe verbalkter Noten ein Bogen beginnt, der aber au\3erhalb -dieser Gruppe endet. -Diese Notengruppen sollten bei der Eingabe auch als -solche erkennbar sein. Aus diesem Grund wurde eine Eingabe -durch ein Makro, auf das in Klammern die zur Gruppe geh"orenden -Noten und Zeichen folgen, gew"ahlt. Probleme bereitete dabei -die Erkennung zusammengeh"orender Klammern. Deshalb werden zur -Eingabe von Notengruppen zwei M"oglichkeiten bereitgestellt. -Die erste M"oglichkeit behandelt den Fall, da\3 die Gruppen -nur einfach ineinandergeschachtelt werden, die zweite deckt den -Fall der einander "uberschneidenden oder ``inkorrekt geschachtelter'' -Gruppen ab. -\absatz -\subheading{Einfach geschachtelte Notengruppen} -Die folgenden Makros werden immer in Verbindung mit -einer Anzahl von Noten benutzt, die in Klammern nach dem -Makro folgen. -Die Noten werden dabei in der oben erkl"arten Weise eingegeben. -Diese Noten werden in der Art verbunden, die -durch das jeweilige Schl"usselwort beschrieben wird.\par -Akkorde werden durch das Makro \bs{\bf chord} eingegeben. -$$\hbox{\ks{chord}{\bf \{`4c e g\}}}$$ -\vskip-0.4cm\par -{\hsize8.5cm\parindent7.0cm -\universal -\nointerlineskip\beginsong\vio\C -\lchord\v{-2}\v0\v2\endchord\hfill\hbox{}\endsong} -\vskip-1cm\abs -Mit dem Schl"usselwort \bs{\bf beam} werden die Noten verbalkt. -Die Tondauer der Noten gibt gleichzeitig -die Anzahl der Balken an. -$$\hbox{\ks{beam}{\bf \{8`a h {`}{`}c\}}}$$ -\vskip-0.4cm\par -{\hsize9.5cm\parindent6.5cm -\universal -\nointerlineskip\beginsong\vio\C% -\group{\\{\a3}\\{\a4}\\{\a5}}{\\{3}\\{4}\\{5}}\lbeam13\go% -\hfill\hbox{}\endsong} -\vskip-1cm\abs -\ks{slur} wird ben"otigt, wenn "uber mehrere -Noten ein Bogen gespannt werden soll. -F"ur die "Ubergangsbe\-zeich\-nungen crescendo und decrescendo werden -in der gleichen Weise \bs{\bf cresc} und \bs{\bf decresc} benutzt. -$$\hbox{\ks{cresc}{\bf \{8`a h {`}{`}2c\}}}$$ -\vskip-0.4cm\par -{\hsize9.5cm\parindent6.5cm -\universal -\nointerlineskip\beginsong\vio\C% -\cresc{\a3\v4\h5}% -\hfill\hbox{}\endsong} -\vskip-1cm\abs -Diese Kontrollsequenzen k"onnen ineinandergeschachtelt werden. -Das geht allerdings nur, wenn eine Notengruppe in der Gruppe aufh"ort, in -der sie begonnen hat. -$$\hbox{\bf \ks{slur}\{\ks{beam} \{8`a bh n{`}{`}c\}\}}\qquad\hbox{oder} -\qquad\hbox{\bf \ks{slur}\{4{`}{`}f \ks{beam} \{8f e d\}\}}$$ -\vskip-0.4cm\par -{\hsize10.5cm\universal -\parindent5.5cm -\nointerlineskip\beginsong -\vio\C% -\group{\\{\a3}\\{\b4\a4}\\{\n5\a5}}{\\{3}\\{4}\\{5}}\lbeam13\uslur13\go -\group{\\{\v8}\\{\a8}\\{\a7}\\{\a6}}{\\{8}\\{8}\\{7}\\{6}}% -\lbeam24\uslur14\go\hfill\hbox{} -\endsong} -\vskip-1cm\abs -\absatz -\subheading{"Uberlappende Notengruppen} -F"ur nicht einfach geschachtelte Gruppen, also "Uber\-schneidungen -der oben genannten Gruppen, mu\3 eine andere L"osung gefunden werden. -Damit klar ist, worum es geht, werden zun"achst mehrere Beispiele -f"ur solche Gruppen gezeigt: -\par -{\hsize11.2cm\parindent4.8cm -\nointerlineskip\beginsong\vio\C% -\group{\\{\b3\v3\.1}\\{\a3}\\{\a2}\\{\b3\a3}} -{\\{3}\\{3}\\{2}\\{3}}\ubeam24\lslur12\go\|% -\group{\\{\h7\.1}\\{\h7\.1}\\{\v7\.1}}{\\{7}\\{7}\\{7}}\uslur12\uslur23% -\go\hfill\hbox{}\endsong} -\vskip-1cm\abs -Die Eingabe erfolgt nun mit einem Makro \ks{group}, dem in Klammern -alle Zeichen folgen, die zur Gruppe geh"oren. Das Ende der Gruppe ist -erreicht, wenn alle darin enthaltenen Gruppen abgeschlossen sind. -Nach der Kontrollsequenz \ks{group} m"ussen die Angaben dar"uber -gemacht werden, was mit den zur Gruppe geh"orenden Zeichen -geschehen soll. -Dazu gibt es die Makros \ks{gbeam}, \ks{gslur}, -\ks{gcresc} und \ks{gdecresc}. -Sie geben an, welche Noten miteinander auf welche Art verbunden werden. -Daf"ur stehen in der Parameterliste die erste und letzte Note -einer inneren Gruppe. Die Zeichen werden in diesen Listen durch -ihre Stellennummer in der gesamten Gruppe angegeben. -$$\hbox{\ks{group}{\bf \{{`}{`}2.e .e .4e\}} -\ks{gslur}{\bf \{1-2,2-3\}}}$$ -\vskip-0.4cm\par -{\hsize10.0cm\parindent6.0cm -\nointerlineskip\beginsong\vio\C% -\group{\\{\h7\.1}\\{\h7\.1}\\{\v7\.1}}{\\{7}\\{7}\\{7}}\uslur12\uslur23% -\go\hfill\hbox{}\endsong} -\vskip1.0cm\abs -$$\hbox{\ks{group}{\bf \{b4.`a 8a g ba\} \ks{gslur}\{1-2\} -\ks{gbeam}\{2-4\}}}$$ -\vskip -0.4cm\par -{\hsize10.0cm\parindent6.0cm -\nointerlineskip\beginsong\vio\C% -\group{\\{\b3\v3\.1}\\{\a3}\\{\a2}\\{\b3\a3}} -{\\{3}\\{3}\\{2}\\{3}}\ubeam24\lslur12\go% -\hfill\hbox{}\endsong} -\vskip-1cm \abs -% -\verbatimon -% -Eine andere M"oglichkeit zur Eingabe "uberlappender Notengruppen w"are, -den Anfang und das Ende der einfachen Gruppen, die innerhalb -der "uberlappenden vorkommen, mit |\begin|-- und |\end|macros -anzuzeigen. Dabei ist es ein Nachteil, da\3 die zusammengeh"orenden -|\begin|-- bzw. |\end|macros aufgrund der "Uberschneidungen nicht erkannt -werden k"onnen. Gourlay \lit{\Gourlay} hat dieses Problem -gel"ost, indem den zusammengeh"orenden |\begin|-- und |\end|macros -besondere Namen gegeben werden (siehe auch Beispiel in 1.4.4). -Allerdings ist dieses Verfahren sehr aufwendig und verwirrend. -% -\verbatimoff% -% -Deshalb wurde f"ur die hier beschriebene Noteneingabesprache -die oben dargestellte Form gew"ahlt, obwohl bei "Anderung -eines Notenschriftzeichens innerhalb der Gruppe meist noch andere -"Anderungen notwendig sind. -\abschnitt\abschnitt -\centerline{\bf 3.4 Anfang und Ende eines Musikst"ucks} -\abschnitt -Die Noteneingabesprache soll die M"oglichkeit bieten, -Musikst"ucke in jegliche Art von Texten einzubetten. Deshalb wird der -Beginn und das Ende einer Noteneingabe besonders gekennzeichnet. -Eine Noteneingabe mu\3 mit den Zeichen {\bf !!} oder \ks{beginsong} -begonnen und mit {\bf!!} oder \ks{endsong} beendet werden. -\abs -Zu Beginn eines Musikst"ucks k"onnen auch Angaben zur Instrumentierung, -zum Notenschl"ussel, zur Ton-- und Taktart -und schriftliche Erl"auterungen stehen. -Jede der beschriebenen Angaben ist eine zus"atzliche -Angabe, das hei\3t, sie kann auch weggelassen werden. -Fehlen -diese, so werden folgende Standardwerte -angenommen. Der Notenschl"ussel ist der -Violinschl"ussel, die Tonart ist C--Dur, \dh es gibt keine Vorzeichen, -und der Takt des St"uckes ist der 4/4--Takt. -Schriftliche erl"auternde Angaben gibt es nur, wenn -sie explizit angegeben werden. -Falls andere Werte gew"unscht -werden, k"onnen diese wie in 3.5 beschrieben eingegeben werden. -Angaben zur Instrumentierung sind ebenfalls standardm"a\3ig nicht -vorgesehen. Sie m"ussen gesondert genannt werden. -\absatz -\subheading{Instrumentenstimme} -Etwaige Angaben zur Instrumentierung, die zu Beginn des Musikst"ucks -stehen, werden mit \ks{voice}\{$\ldots$\} -eingegeben. Danach folgt in geschweiften Klammern der Name -der Stimme, die benannt werden soll, \zB -\ks{voice}\{Violine 1\}. -\abschnitt\abschnitt -\centerline{\bf 3.5 Tonh"ohe, Rhythmus, Vortragsbezeichnungen} -\abschnitt -Zur Beschreibung einer Melodie fehlen nun noch genaue Angaben -zur Ton-- und Taktart, zum Tempo, zu den Tonst"arkegrade und -andere Erl"auterungen, die die Art des musikalischen Vortrags -betreffen. -\absatz -\subheading{Notenschl"ussel} -Notenschl"ussel werden durch die hier aufgelisteten Schl"usselw"orter -benannt. -$$\vbox{\halign{\hfil#&#\hfil&#\hfil\cr -\hbox{\ks{treble}}\q&\q\hbox{Violinschl"ussel} -\q&\q{\music\mviolin}\cr -\hbox{\ks{bass}}\q&\q\hbox{Ba\3schl"ussel} -\q&\q{\music\mbass}\cr -\hbox{\ks{baritone}}\q&\q\hbox{Baritonschl"ussel} -\q&\q{\music\mbariton}\cr -\hbox{\ks{tenor}}\q&\q\hbox{Tenorschl"ussel} -\q&\q{\music\mtenor}\cr -\hbox{\ks{alto}}\q&\q\hbox{Altschl"ussel} -\q&\q{\music\malt}\cr -\hbox{\ks{mezzo}}\q&\q\hbox{Mezzosopranschl"ussel} -\q&\q{\music\mmezzosopran}\cr -\hbox{\ks{soprano}}\q&\q\hbox{Sopranschl"ussel} -\q&\q{\music\msopran}\cr -}}$$ -\absatz -\subheading{Tonart} -Zur Eingabe der Tonart kann zwischen zwei M"oglichkeiten gew"ahlt -werden. Einerseits k"onnen wiederum Schl"usselw"orter benutzt werden, die -jeweils einer Tonart entsprechen. -Die Wahl der Schl"ussel\-w"or\-ter ist dem gebr"auchlichen Sprachgebrauch - angepa\3t.\par -Dur--Tonarten: -\ks{C}, \ks{G}, \ks{D}, \ks{A}, \ks{E}, -\ks{H}, \ks{Fis}, \ks{Cis}, \ks{F}, \ks{B}, \ks{Es}, -\ks{As}, \ks{Des}, \ks{Ges}\par -Moll--Tonarten: -\ks{a}, \ks e, \ks h, \ks{fis}, \ks{cis}, \ks{gis}, \ks{dis}, \ks{ais}, -\ks d, \ks g, \ks c, \ks f, \ks b, \ks{es}, \ks{as} -\absatz -Die andere M"oglichkeit besteht darin, die Vorzeichen explizit -anzugeben. Das geht mit Hilfe des Makros \ks{signature}\{$\ldots$\}. -Auf das -Schl"usselwort folgen in geschweiften Klammern die Vorzeichen. -Sie werden eingegeben als Versetzungszeichen vor den entsprechenden -Notennamen, eventuell mit der Oktavlage. -So entspricht zum Beispiel \ks{signature}\{{`}{`}xf {`}{`}xc\} -dem Makro \ks{D}, das ist -die Tonart D--Dur. -\absatz -\subheading{Taktart} -Die Eingabe der Taktart erfolgt mit dem -Makro \ks{meter}, nach dem in Klammern -die Taktart wie in der gebr"auchlichen -Schreibweise als Bruch notiert wird. -Z"ahler und Nenner werden dabei durch einen -Schr"agstrich voneinander getrennt. -Um den 2/4--Takt zu erhalten, mu\3 also eingegeben werden: -\ks{meter}\{2/4\}. -Zus"atzlich gibt es noch die M"oglichkeit, die Taktart -mit Symbolen aus der Mensuralnotation anzugeben. -$$\align -\hbox{\ks{allabreve}}\q&\q\lower4pt\hbox{{\music\allabreve}}\\ -\hbox{\ks{hC}}\q&\q\lower4pt\hbox{{\music\mC}}\\ -\hbox{\ks{dC}}\q&\q\lower4pt\hbox{{\music\mCreverse}}\endalign$$ -\absatz -\subheading{Schriftliche Erl"auterungen} -Zus"atzliche Angaben k"onnen mit dem Makro \ks{text}\{$\ldots$\} -angegeben werden und m"ussen nach dem Notenschriftzeichen stehen, -ab dem sie gelten sollen. -Der einzugebende Text kann durch die Positionsangaben -\ks{\us} bzw. \ks{\os{ }} erg"anzt werden. -Die Positionsangaben besagen, da\3 der -Text unter-- bzw. oberhalb des Notenliniensystems steht. Sie -k"onnen durch einen Hinweis "uber den Anfangspunkt des Textes erg"anzt -werden. Die schriftliche Anmerkung -kann links-- bzw. rechtsb"undig oder -zentriert "uber bzw. unter -das Notenschriftzeichen, ab welchem er gelten soll, -geschrieben werden. Dies geschieht durch die Eingabe der Buchstaben -{\bf l, r} oder {\bf c}, die nur zusammen mit -\ks{\us} bzw. \ks{\os{ }} benutzt werden k"onnen. -Falls die Breite des Notenschriftzeichens dem -Text nicht angepa\3t werden soll, mu\3 das mit {\bf n} vermerkt werden. -Erl"auterungen, die direkt unter der Notenzeile -stehen sollen, mu\3 die Angabe {\bf v} vorangestellt werden, da -der Text ansonsten in die Zeile geschrieben werden, die f"ur -Liedtexte vorgesehen ist. -Insgesamt existieren also folgende -M"oglichkeiten zur Positionsangabe: -$$\hbox{\ks{\os{ }l}, \ks{\os{ }r} -\ks{\os{ }c}, \ks{\os{ }n}, \ks{\us l}, \ks{\us r}, \ks{\us c}, -\ks{\us n}, \ks{\us v}} -\;.$$ -Eine Tempoangabe hat dann \zB die -Gestalt \ks{text}\{\ks{\os{ }c} moderato\} -(siehe Anhang A). -\par -Die Positionsangabe mu\3 nicht vorhanden sein. Falls sie fehlt, -wird der Text horizontal positioniert, je nach vorhandenem Platz. -\par -Erl"auterungen, f"ur die es in der "ublichen Notation -Abk"urzungen gibt, k"onnen Kontroll\-se\-quen\-zen benutzt werden. -Sie betreffen vor allem Angaben zum musikalischen Vortrag, -das Tempo oder die Betonung. Die Kontrollsequenzen werden im -folgenden aufgelistet: -$$\vbox{\halign{\hfil#\q&\q{\it #}\hfil\qquad -&\qquad\hfil#\q&\q{\it#}\hfil\cr -\bs{\bf dacapo}&d.c.& -\bs{\bf pianissimo}&pp\cr -\bs{\bf dalsegno}&d.s.& -\bs{\bf pianissimoposs}&ppp\cr -\bs{\bf fine}&fine& -\bs{\bf fortepiano}&fp\cr -\bs{\bf tacet}&tacet& -\bs{\bf forzato}&fz\cr -\bs{\bf unisono}&unis.& -\bs{\bf rinforzando}&rfz.\cr -\bs{\bf cantusfirmus}&c.f.& -\bs{\bf sforzato}&sfz.\cr -\bs{\bf crescendo}&cresc.& -\bs{\bf sforz}&sfz.\cr -\bs{\bf decrescendo}&decresc.& -\bs{\bf decr}&$>$\cr -\bs{\bf diminuendo}&dim.& -\bs{\bf rallentando}&rall.\cr -\bs{\bf forte}&f& -\bs{\bf ritardando}&rit.\cr -\bs{\bf fortissimo}&ff& -\bs{\bf ritenuto}&riten.\cr -\bs{\bf fortissimoposs}&fff& -\bs{\bf tr}&tr\cr -\bs{\bf mezzoforte}&mf& -\bs{\bf staccato}&stacc.\cr -\bs{\bf mezzopiano}&mp& -\bs{\bf piano}&p\cr}}$$ -Diese Hinweise f"ur den musikalischen Vortrag m"ussen ebenfalls auf das -Notenschriftzeichen folgen, "uber dem sie beginnen sollen. -Sie k"onnen wiederum -mit obigen Positionsangaben versehen werden. In diesem Fall -m"ussen sie dann -zusammen mit den Positionsangaben in Klammern eingeschlossen werden. -\absatz -\subheading{Artikulationen} -Die verschiedenen M"oglichkeiten, T"one miteinander zu verbinden bzw. -abzuheben, werden mit dem Begriff Artikulation zusammengefa\3t. -Die zu trennenden T"one k"onnen breit oder kurz musiziert werden, -was mit den Begriffen \bs{\bf stac}, \bs{\bf staccatissimo} oder -\bs{\bf tenuto} umschrieben wird. Sie entsprechen folgenden -Artikulationszeichen, die stets am Notenkopf stehen, ausgenommen -bei mehrstimmiger Notierung: -$$\align -\bs{\bf staccatissimo}\q&\q\ssize\prime\\ -\bs{\bf stac}\q&\q.\\ -\bs{\bf tenuto}\q&\q\hbox{\vrule width4pt height1pt}\endalign$$ -Sollen Noten mit Artikulationszeichen versehen werden, so wird der -Beginn mit \bs{\bf stac}, \bs{\bf staccatissimo} oder -\bs{\bf tenuto} angezeigt. Darauf folgen die Notenschriftzeichen, -die die Melodie beschreiben. Jede auftretende Note erh"alt das -angegebene Artikulationszeichen. Dieser Vorgang wird mit -\bs{\bf noaccent} beendet. -\abschnitt\abschnitt -\centerline{\bf 3.6 Ein-- oder mehrstimmige St"ucke in einem System} -\abschnitt -Ein System beschreibt den gesamten Melodieverlauf eines -St"uckes. Bevor die Melodie beschrieben wird, k"onnen -"Uberschriften eingegeben werden, die den Titel, Komponisten und -Verfasser des St"uckes nennen. -Diese "Uberschriften werden mit den Makros \ks{title}, -\ks{composer} und \ks{poet} eingegeben, -nach denen in Klammern der entsprechende -Text steht. Ein Beispiel daf"ur steht in Anhang A. -\par -Bei einem St"uck, das in einem System notiert ist, kann es sich -entweder um ein einstimmiges oder zweistimmiges Musikst"uck handeln, -oder um ein Lied. -F"ur einstimmige St"ucke mu\3 der Melodieverlauf eingegeben werden. -Das geschieht, indem die bisher erkl"arten Zeichen und Kontrollsequenzen -benutzt werden. Zus"atzlich k"onnen mit dem Makro \ks{text} -noch schriftliche Anweisungen \zB zu Tonst"arke und Tempo -gegeben werden. Die Anwendung dieses Makros wurde in 3.4 erl"autert. -Handelt es sich bei dem einzugebenden St"uck um ein zweistimmiges, -so mu\3 das Makro \ks{two} benutzt werden. Dieses Makro hat -zwei Parameter, die jeweils den Melodieverlauf einer Stimme beschreiben. -Jede dieser Melodien steht wiederum in Klammern. -Da die Zeichen, die "ubereinander stehen, gekennzeichnet werden m"ussen, -wurde das Auslassungszeichen \slash\ -eingef"uhrt. Dieses Zeichen erscheint -immer dann, wenn ein Zeichen der einen Stimme kein dazugeh"origes in -der anderen Stimme hat. -$$\bunch\hbox{\bf{\ks{two}\{ -4g p nf\strich 8xc \slash\ \slash\ \slash\ 4d\strich -\ks{beam}\{8,g `g\} 4.,a 8p\strich\ks{chord}\{2.,d .a `.d\} -\} }}\\ -%%% -\hbox{\bf{ -\{\ks{slur}\{{`}{`}4d `a\} {`}{`}d\strich -\ks{beam}\{\ks{slur}\{8`g f\} g e\} 4f\strich -\slash\ \slash\ 4.e \ks{tr} 8d\strich \slash\ -\} } }\endbunch$$ -\vskip-0.4cm\par -%%% -{\hsize14cm\parindent 2cm -\nointerlineskip\universal -\beginsong\alto\F\meter3/4% -\two{% -\group{\\{\v{12}}\\{\v9}}{\\{12}\\{9}}\uslur12\go}{\v8\pv}\n7% -\two{\v{12}}{\v7}\|\x4\two{\group{\\{\a8}\\{\a7}\\{\a8}\\{\a6}} -{\\{8}\\{7}\\{8}\\{6}}\ubeam14\uslur12\go}{\a4}\two{\v7}{\v5}\|% -\group{\\{\a1}\\{\a8}}{\\{1}\\{8}}\lbeam12\go\two{\tr\v6\.1}{\v2\.1}% -\two{\a5}{\raise-1.5\nhh\hbox{\pa}}% -\|\lchord \h5\.1\h2\.1\h{-2}\.1\endchord -\rightrepeat -\endsong -} -%%% -\vskip-1cm \abs -Die Eingabe von Vokalmusik geschieht mit dem Schl"usselwort \ks{vocal}. -Dieses Makro hat ebenfalls zwei Parameter. Der erste Parameter -enth"alt den Melodieverlauf, der zweistimmig sein kann, -der zweite den Text des Liedes. -Auch hierbei wird das Auslassungszeichen \slash\ dann benutzt, -wenn einer Note der Melodie keine -zugeh"orige Silbe im Text entspricht. -Silben werden durch Leerzeichen voneinander getrennt und unter -den zugeh"origen Noten zentriert. -Diese Standardsetzung f"ur die Silben kann umgangen werden, indem -eine Positionsangabe (siehe 3.5, schriftliche Erl"auterungen) -vor die Silbe, die anders positioniert werden soll, geschrieben wird. -$$\bunch\hbox{ -\ks{treble}\ks{D}\ks{meter}{\bf\{4/4\}}} -\hbox{\ks{vocal} -{\bf\{4.''d 8d 4e 4p\strich 4.f 8f f \ks{slur}\{\ks{beam} -\{8'h ''e g\}\}\strich}}\\ -\hbox{{\bf \ks{slur}\{8g f\} e d e \ks{group}\{ -4f\strich 8f 6e d\}}}\\ -\hbox{\bf{\ks{gslur}\{1-3,1-5\}\ks{gbeam}\{3-5,4-5\} 4e 2f -\strich\strich\}}}\\ -\hbox{{\bf\{}KY- RI- E, \slash KY- RI- E } -\hbox{E- \slash \slash LE- \slash I- SON,} -\hbox{E- LE- \slash\slash\slash I- SON.{\bf\}}}\endbunch$$ -\vskip-0.4cm\par -{\hsize15cm\parindent1cm -\universal -\nointerlineskip\beginsong -\vio\D\meter4/4% -\_{KY - }{\v6\.1}\_{RI - }{\a6}\_{E,}{\v7}\pv\|% -\_{KY - }{\v8\.1}\_{RI - }{\a8}\_{E}{\a8}% -\group{\\{\_{E}{\a4}}\\{\a7}\\{\_{-}{\a9}}} -{\\{4}\\{7}\\{9}}\lbeam13\uslur13\go\|% -\group{\\{\a9}\\{\v8}} -{\\{9}\\{8}}\uslur12\_n{ LE - }\hskip20pt{\gluebrule}\go\_{I-}{\a7}% -\_c{SON,}{\a6}\_{E - }{\a7}% -\def\beamlist{\\{3-5,}\\{4-5,}} -\group{\\{\v8}\\{\|}\\{\a8}\\{\s7}\\{\s6}}{\\{8}\\{8}\\{8}\\{7}\\{6}}\lbeam35% -\uslur13\uslur15\_n{ LE\hskip10pt-\hskip10pt -}{\gluebrule}% -{\go}\_{I - }{\v7}\_c{SON.}{\h8}\doublebarline -\endsong} -\abs -\centerline{\bf 3.7 Mehrstimmige St"ucke in mehreren Systemen} -\abschnitt -Falls ein St"uck aus verschiedenen Stimmen besteht, die in -mehreren Systemen notiert werden, so wird das mit der -Kontrollsequenz \ks{system} angezeigt. -Danach folgt in Klammern die Melodie der Stimme. -Sie wird auf die in 3.5 beschriebene Art eingegeben. -Dies mu\3 f"ur jede einzelne Stimme gemacht werden, wobei immer -die Kontrollsequenz \ks{system} vorangestellt wird. -\par -Bei mehreren Systemen m"ussen die Zeichen erkenntlich sein, -die gemeinsam erklingen sollen. Sie stehen in den Systemen untereinander. -Deshalb mu\3 die Reihenfolge der Zeichen in den einzelnen Systemen -korrekt angegeben werden. Falls ein Zeichen in einem System mehrerer -Zeichen in einem anderen entsprechen, so mu\3 das Auslassungszeichen -\slash\ eingesetzt werden. F"ur jede freie Stelle in einem System, -an der -in dem anderen ein Notenschriftzeichen -steht, mu\3 also dieses Auslassungszeichen -eingesetzt werden. -$$\bunch -\hbox{\ks{system}\{\ks{vio}\ks{metre}{\bf \{3\slash4\}} -\ks{slur}\{\ks{beam} -{\bf \{`8f g ba bh {`}{`}c `f\}\strich 4.g\} . . .\}}}\\ -\hbox{\ks{system}\{\ks{bass}\ks{metre}{\bf\{3/4\}}\ks{slur}{\bf \{ -{`}{`}.4d \slash \slash 8e \ks{beam}\{nf ng\}\strich 2.a\}. . .}} -\endbunch$$ -\par\vfill\eject -\centerline{\bf 3.8 Allgemeine Anweisungen} -\abschnitt -In diesem Abschnitt werden Anweisungen gegeben, wie die bisher -beschriebenen Zeichen bzw. Zeichengruppen eingegeben werden k"onnen.\abs -Ein Musikst"uck kann in Text eingebettet werden. Der Text -mu\3 als eine g"ultige \TeX--Eingabedatei vorliegen. -Die Noteneingabe erfolgt nicht -zeilenweise, sie h"angt also nicht vom Zeilenumbruch der gebr"auchlichen -Notation ab. Bei der linearen Schreibweise kann an jeder Stelle mit -einer neuen -Zeile begonnen werden. -Leerzeilen innerhalb einer Noteneingabe haben keine Bedeutung und -werden "uberlesen. -\par -In der Eingabedatei f"ur Musikst"ucke k"onnen auch Kommentare eingegeben -werden. Dies geschieht wie in \TeX\ mit dem Zeichen {\bf\%}, -auf das der kommentierende Text folgt. F"ur eine -Weiterverarbeitung ist der Kommentar unerheblich und wird deshalb -"uberlesen. -\par -Bei der Eingabe mehrerer Informationen, die die gleiche Angabe -betreffen, wird die zuletzt gelesene als g"ultig angenommen. -\abschnitt\abschnitt -Mit den Regeln 3.1 bis 3.8 ist eine Eingabe von Partituren m"oglich. -% Es folgt die "Anderung zur Version O. -Beispiele zur Noteneingabe mit der hier entwickelten Eingabesprache -werden in Anhang A gegeben. Dabei folgt bei den Beispielen 1, 3 und -4 auf die Notation in Notenschrift, die mit dem Ausgabeverfahren von -A.~Steinbach \lit{\Steinb} erstellt wurde, die Darstellung durch die -Noteneingabesprache. - -\par\vfill\eject -\endinput - -In Abschnitt 3.9 werden Beispiel zur Noteneingabe -mit der hier entwickelten Eingabesprache gegeben. Dabei folgt -auf die Notation in Notenschrift, -die mit dem Ausgabeverfahren von A.~Steinbach \lit{\Steinb} erstellt -wurde, die Darstellung durch die Noteneingabesprache. -\abschnitt\abschnitt -\goodbreak -\centerline{\bf 3.9 Beispiele zur Noteneingabe} -\abschnitt -\subheading{Beispiel 1} -(aus: Johann Sebastian Bach, Sechs Suiten, f"ur Viola bearbeitet von -Franz Schmidtner, Musikverlag Hans Sikorski, Hamburg) -\abschnitt\abschnitt -% -\input bach -\abschnitt -% -{\bf !!}\ks{title}\{6 Suiten f"ur Cello Solo \bs{atop} -Suite II Menuet I\}\par -\ks{composer}\{Johann Sebastian Bach\}\par -\ks{poet}\{F"ur Viola "ubertragen \bs{atop} von Franz Schmidtner\}\par -\ks{alto}\ks{F}\ks{meter}\{{\bf3}\slash {\bf4}\}\ks{two} -\par {\bf -\{\ \ \ \ks{chord}\{2`d f a\} 4h -\ks{chord}\{`8c `e\}\slash\ \slash\ \slash\ 4a\strich -\par -\ks{chord}\{4,h `d\} g\ks{beam}\{8f e\}\strich -,8a \slash\ \slash\ \slash\ \slash\ \slash\ \strich\par -\ks{chord}\{`2d f a\} 4h\strich \ks{chord}\{8c e\} -\slash\ \slash\ \slash\ -{`}{`}4c \strich\par -\ks{chord}\{4`f a\}\ks{chord}\{,h `f {`}{`}d\} -\ks{chord}\{,g `g {`}{`}e\}\strich -\ks{chord}\{2.,a .`e .x{`}{`}c\} -\dpkt\strich\strich\dpkt -\par\ks{chord}\{2`a {`}{`}e\}\ks{slur}\{\ks{beam}\{8d 6e f\}\}\strich -8`g\slash\ \slash\ \slash\ \slash\ \slash\ \strich -\par2f \slash\ 4e\strich 8d -\slash\ \slash\ \slash\ \slash\ \slash\ -\ks{slur}\{4g f\}e\strich 8f -\slash\ \slash\ \slash\ -\ks{chord}4,h `e {`}{`}d\}\strich \par -\ks{chord}\{4,a `f {`}{`}c\} -\ks{beam}\{8`h a g a\}\strich \ks{beam}\{8f e f a g h\}\strich -\par 2xf 4p \strich b8c -\slash\ \slash\ \slash\ -4f \ks{tr}\strich\par\ks{chord}\{4,h `g {`}{`}d\} -\ks{chord}\{4`c g {`}{`}c\} `d\slash\ \strich -\par\ks{beam}\{\ks{chord}\{,8g `d {`}{`}c\} 8`h a h g h\}\strich -%%%%%%%%%%%%%TEIL 1%%%%%%%%%%% -4g p nf\strich 8xc \slash\ \slash\ \slash\ 4d\strich -\par\ks{beam}\{8,g `g\} 4.,a 8p\strich\ \slash\ -\dpkt\strich\strich\ \ \}\par -%%%%%%%%%%%%%%%%%%%%%%%%%%% -\{\ \ \slash\ \slash\ -\ks{beam}\{\ks{slur}\{8{`}h a\} h g\}\slash\ \strich -\slash\ \slash\ \slash\ \slash\ \strich -\par\ks{beam}\{\ks{slur}\{8f e d\}`xc ,nh a\}\strich -\slash\ \slash\ \strich\par\ks{beam}\{\ks{slur}\{8h a\}\ks{tenuto} h -f \ks{noaccent} \slash\ \}\strich -\slash\ \slash\ \slash\ \strich -\slash\ \dpkt\strich\strich\dpkt\par -\slash\ \slash\ \slash\ \slash\ \strich -\ks{beam}\{\ks{slur}\{8{`}{`}e d xc e `a\}g\}\strich\par -\ks{slur}\{`4a {`}{`}d\}xc\strich -\ks{beam}\{\ks{slur}\{8{`}{`}g f e f d \}nc\}\strich\par -`2h\slash\ {`}{`}4c\strich \ks{beam}\{8`a g a f\}\slash\ \strich -\slash\ \slash\ \slash\ \slash\ \slash\strich -\slash\ \slash\ \slash\ \slash\ \slash\ \slash\strich\par -2`a \ks{tr} 4h\strich -\ks{beam}\{\ks{slur}\{8g f\} g e\}\slash\strich\par -\slash\ \slash\ \ks{beam}\{\ks{slur}\{8h a\}\}\strich -\slash\ \slash\ \slash\ \slash\ \slash\ \slash\ \strich\par -%%%%%%%%%%%%%TEIL 2%%%%%%%%%%% -\ks{slur}\{{`}{`}4d `a\} {`}{`}d\strich -\ks{beam}\{\ks{slur}\{8`g f\} g e\} 4f\strich -\slash\ \slash\ 4.e \ks{tr} 8d\strich -\ks{chord}\{2.,d .a `.d\} -\dpkt\strich\strich -\ \ \}{\bf !!} } -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\abschnitt\abschnitt -\goodbreak -\subheading{Beispiel 2} -(aus: D. Byrd ``A system for music printing by computer'', -Computers and the Humanities 8, 161--172, 1974) -\abschnitt\abschnitt -% -\input byrd -% -\abschnitt -{\bf!!} -\ks{title}\{String Quartett\} -\ks{composer}\{Donald Byrd, 1968\}\ks{voice}\{violin 1\}\par -{\ks{treble}}\ks{meter}\{{\bf9}\slash{\bf8}\} -\ks{text}\{\ks{\os{ }l} moderato\}\par -{\bf 1p\strich\ks{slur}\{4.`a\{\ks{\us v}\ks{mezzopiano}\} -2.{`}{`}e\ks{text}\{\ks{\us v} cant\}\}}\strich \par -{\ks{slur}}{\bf \{\ks{beam}\{8.{`}{`}f b.`h\} b4{`}{`}.d\}} -\ks{slur}{\bf \{\ks{beam}\{8`a h {`}{`}c\}\}}\strich\par -{\bf{\ks{slur}}\{4n.d x`.h\}\ks{slur}\{\ks{beam}\{8`a bh n{`}{`}c\}\}} -\strich\par -{\bf{\ks{meter}}\{6\slash8\} 4.d -\ks{slur}\{{`}{`}.a\strich \ks{meter}\{9/8\} -{`}{`}.a\{\ks{\us v}\ks{crescendo}\}\} -\ks{slur}\{.f {`}{`}{`}.d\}}\strich\par -{\bf{\ks{slur}}\{\ks{beam}\{8.be b{`}{`}.h\}\} -\ks{slur}\{4{`}{`}{`}.f 8f\} -4ne 6g}\strich\par -{\bf{\ks{slur}}\{b.e\{\ks{\us v}\ks{diminuendo}\} -b.{`}{`}a .{`}{`}{`}c\}}\strich\par -{\ks{tenuto}\bf.{`}{`}h \ks{noaccent} \ks{group} -\{2.e \strich\ks{meter}\{6\slash 8\} .e\strich 4.e\}\par -\ks{glsur}\{1-4,4-6\}\ks{slur}\{b.e\{\ks{\us v}\ks{piano}\} -\strich\ks{meter}\{9\slash 8\} .a\} -4.p}\strich\par -{\bf -1p\strich \ks{meter}\{6\slash 8\}\ks{slur} -\{\ks{beam}\{8f\{\ks{\us v}\ks{crescendo}\} .bh {`}{`}{`}d\}\} -4x .c}\strich\par -{\bf{\ks{slur}}\{\ks{beam}\{{`}{`}6a bh n{`}{`}{`}c d\}\} -\ks{slur}\{\ks{beam}\{6xd e xf xg\}\}}\strich\par -{\bf 8a\{\ks{\us v}\ks{forte}\} p p 4.p \gleich !!}\abs -\abschnitt\abschnitt -\goodbreak -\subheading{Beispiel 3} -(aus: R. Baum, ``Geselliges Chorbuch I'' B"arenreiter--Verlag, -Kassel und Basel) -\abschnitt\abschnitt -% -\input distler -\abschnitt -% -{\bf !!}\ks{title}\{Lobe den Herren\} -\ks{composer}\{Hugo Distler\} -\par -\ks{voice}\{Sopran\} -\ks{treble}\ks{signature}\{{`}{`}xf\} -\ks{text}\{\ks{\os{ }r} Schnell\} -\ks{meter}\{{\bf3}\slash {\bf4}\}\ks{vocal} -\par {\bf\{\ \ \ -4g\ks{mezzoforte} g {`}{`}d\strich `h. 8a 4g\strich f e d \strich 2e -\ks{slur}\{4f\strich\ks{meter}\{2\slash 4\} f\} 4g\strich -\par\ks{meter}\{4\slash 4\} 2a 2g\dpkt\strich\strich -\ks{meter}\{3\slash 4\} 4{`}{`}d d d \strich 2.e 0p\strich -\par `4h 8{`}{`}c c -\ks{group}\{4d\strich 8d e d `h 4{`}{`}d\strich 8d e 4.d 8e\strich 4.d\} -\ks{gslur}\{1-3, 1-13\}\par -\ks{gbeam}\{3-6, 9-10\} 8c 4`h\strich 2a -\ks{piano} 0p\ks{beam}\{8h g\}\strich 2a\ks{decr} 0p\par -\ks{beam}\{8h \ks{text}\{{\rm zart}\}g\}\strich -{`}{`}2.d\ks{decr} 0p\strich -\par `4d\ks{forte} .e 8f\strich \ks{meter}\{4\slash 4\} 2g 4a h\strich -\par -\ks{meter}\{7\slash 4\}\ks{slur}\{{`}{`}2c `4.h 8a 4g 2a\}\strich -\ks{meter}\{3\slash 4\} 2.g =\ \ \ \} } -\par -\{\ \ \ \{Lo-\bs{atop} Mei-\} \{be\bs{atop} ne\} \{den\bs{atop} ge-\} -\{Her-\bs{atop} lie-\} \{ren,\bs{atop} be-\}\par -\{den \bs{atop} te\} \{m"ach-\bs{atop} See-\} -\{ti-\bs{atop} le,\} \{gen\bs{atop} das\} \par -\{K"o-\bs{atop} ist\} -\{nig--\bs{atop} mein--\} \slash\ -\{der\bs{atop} Be-\} \{Eh-\bs{atop} geh-\} -\{ren!\bs{atop} ren.\} -\par Kom- met zu Hauf! Psal- ter und Har- -\slash\ \slash\ \slash\ -\slash\ \slash\ \slash\ -\slash\ \slash\ \slash\ \slash\ -fe, \par -wacht auf, wacht \slash\ auf, wacht \slash\ \slash\ auf, \par -las- set -den Lob- ge- sang h"o- -\slash\ \slash\ \slash\ \slash\ -ren!\ \ \ \}{\bf !!} -\vfill\eject diff --git a/macros/mtex/documentation/mdoc4.tex b/macros/mtex/documentation/mdoc4.tex deleted file mode 100644 index e8613ab111..0000000000 --- a/macros/mtex/documentation/mdoc4.tex +++ /dev/null @@ -1,288 +0,0 @@ -\heading{Anforderungen an das Notensatzsystem} - -\subheading{Arbeitsschritte beim manuellen Notensatz} - Der Proze\3, eine handgeschriebene Komposition -in eine druckreife Partitur umzuformen, ist eine zeitaufwendige und -fehleranf"allige Arbeit, denn es ist im Laufe der Zeit - ein umfangreiches Notations- und Satzregelwerk -entstanden. -Ein klares und gleichm"a\3iges Notenbild hilft schlie\3lich -dem Musiker, die Notenschrift schnell zu erfassen. - -Die Aufgabe eines Systems zum automatisierten Notensatz sollte es -deshalb sein, eine -Ausgabequalit"at zu erreichen, die dem Handnotensatz nahe kommt. Dabei -ist es nicht notwendig, die Arbeitsweise des Setzers nachzuahmen, -sondern das Ergebnis ist entscheidend. -Die wesentlichen Arbeitschritte sind gleich, jedoch die -Reihenfolge kann ge"andert werden. Deshalb sei hier der - Arbeitsablauf skizziert. - -Der erste und wichtigste Schritt ist die grobe Aufteilung des -Manuskripts in Seiten und Zeilen, das sogenannte \disp{Abstecken}. Dabei -wird die vertikale Position der einzelnen -Notenschriftzeilen festgelegt, abh"angig -von der H"ohe oder Tiefe des Zeileninhaltes. Diese Einteilung geschieht -oft unter "okonomischen Aspekten -- die Gesamtzahl der Seiten soll ein -Vielfaches von acht oder sechzehn ergeben -- , aber auch aus -auf{}f"uhrungstechnischen Gr"unden. -Eine Pause auf der rechten Seite unten -soll das Wenden der Seite erm"oglichen, ohne das Spiel zu verz"ogern. - - -Als n"achstes erfolgt die -\disp{genaue} vertikale Einteilung der einzelnen -Zeilen, so da\3 sp"ater beim Ausf"ullen der Zeilen keine "Uberlappungen -auftreten k"onnen. Diese Voreinteilung ist besonders sorgf"altig -auszuf"uhren, da im Fehlerfall die ganze Seite erneut bearbeitet werden -mu\3. - -Nach dem Abstecken erfolgt das -\disp{Punktieren}. Dies ist die pr"azise -horizontale Einteilung der Noten und Takte in jeder Zeile. - -Dann erst werden die Balken und Notenh"alse angebracht. - -Im f"unften -Schritt werden Akzente und sonstige Verzierungen eingeschlagen, die -keinen zus"atz\-lichen horizontalen Raum ben"otigen. - -Zum Schlu\3 werden die -Phrasierungs-, Ligatur- und Haltebogen, die restlichen Zeichen, die -Information "uber Spielanweisungen enthalten, sowie Vortragsbezeichnungen -gestochen. -\subheading{Anforderungen f"ur den automatisierten Notensatz} -Die oben beschriebene Vorgehensweise -ist direkt abh"angig von den mechanischen Mitteln, -die dem Setzer zu Verf"ugung stehen, d.h. der Stichplatte, den Stempeln -und "ahnlichen Instrumenten. - -Beim automatisierten Notensatz kann daher eine andere Vorgehensweise -gew"ahlt werden. - -Da die einzelnen Elemente der Notenschrift nicht sofort auf einer Platte -plaziert werden m"ussen, ist es m"oglich, sowohl -die vertikale Verteilung als -auch die Seiteneinteilung erst nach der Zeileneinteilung vorzunehmen. - -Man wird demnach erst global punktieren, danach in Abh"angigkeit vom zur -Verf"ugung stehenden Platz eine Einteilung in die einzelnen Zeilen -vornehmen, d.h. den Zeilenumbruch durchf"uhren. Gleichzeitig k"onnen die -Zeichen lokal punktiert werden und diejenigen Zeichen hinzugef"ugt -werden, die -keinen zus"atzlichen horizontalen Raum ben"otigen, und -die vertikale Einteilung der Seite ist erst am Schlu\3 erforderlich. - -Die wesentlichen von einem Notensatzsystem -zu l"osenden Aufgaben sind also: -\item{1)} das Abstecken und die Darstellung des Liniensystems, -\item{2)} die Darstellung der Notenschriftelemente, -\item{3)} die L"osung des Punktierungsproblems, -\item{4)} die Darstellung und Positionierung der Balken und Bogen, -\item{5)} das Einf"ugen von zus"atzlichen Texten und Spielanweisungen -aller Art, -\item{6)} die mehrstimmige Notation - -Ein Versuch der L"osung dieser Probleme mit dem Textsatzsystem \TeX\ -soll im folgenden dargelegt werden. - -Dabei wurde so vorgegangen, da\3 zu Beginn eines Kapitels zun"achst die -Forderungen an das System, die durch die Notensatzregeln (soweit -vorhanden) gegeben sind, beschrieben werden. -Dazu werden L"osungs\-m"og\-lichkeiten f"ur den automatisierten Notensatz - angegeben, die teilweise allgemeiner Natur sind, teilweise jedoch nur -speziell f"ur das Textsatzsystem \TeX\ G"ultigkeit besitzen. - -% -\subheading{Vor"uberlegungen} -Zun"achst seien einige Voraussetzungen, die als Grundlage f"ur alle -folgenden Kapitel gelten, angef"uhrt. - -\subsubheading{Umgebungen} -Die Schwierigkeiten, die beim automatisierten Notensatz -auftreten, sind anderer Natur als die der internen Darstellung von T"onen -z.B. f"ur die Musikanalyse, denn es m"ussen -gleichartige T"one in verschiedenen Umgebungen im -Notenbild unterschiedlich dargestellt werden. -\Beispiel -Betrachte {\tt c'} als Achtelnote in verschiedenen Umgebungen: - -{\hsize10cm -\loose -\advance\hsize2\iindent -\parindent=2\iindent -\beginsong -\alto\C\_{a)}{\a4}\bass\a{10}\vio\a{-2}\doublebarline -\_{b)}{\lchord\a{-2}\a0\a2\endchord}% -\group{\\{\_{c)}{\a{-2}}}\\{\a0}\\{\a2}}{\\{-2}\\{0}\\{2}}\ubeam13\go -\_{d)}{\gluebrule}\two{\a5}{\a{-2}}\=% -\endsong} -\endBeispiel -\vskip-1cm\par - -Die Gestalt einer Note h"angt nicht von ihrer absoluten Tonh"ohe ab, -sondern von ihrer Position im Liniensystem sowie den Umgebungen, in -denen sie auftritt. - -Es gibt im wesentlichen vier verschiedene Umgebungen: -\item{a)} eine alleinstehende Note, -\item{b)} eine Note als Teil eines Akkordes, -\item{c)} eine Note als Teil einer Gruppe von Noten, die durch einen -oder mehrere Balken verbunden sind, -\item{d)} eine Note im zwei- (oder mehr-)stimmigen Satz in einem -Liniensystem. - -Nat"urlich kann die Note gleichzeitig mehreren Umgebungen zugeordnet -sein. -\Beispiel - -{\loose\hsize=5.5cm -\advance\hsize2\iindent -\parindent=2\iindent -\beginsong -\vio\C -\group{\\{\lchord\a{-2}\a0\endchord}\\{\a0}}{\\{0}\\{0}}\ubeam12\go -\two{\group{\\{\a6}\\{\a8}}{\\{6}\\{8}}\ubeam12\go}{\v2}% -\two{\group{\\{\a8}\\{\a{10}}}{\\{8}\\{10}}\ubeam12\go} -{\rchord\v2\v4\endchord}\=% -\endsong -} -\endBeispiel -\vskip-1cm\par -Die Positionierung aller weiteren Informationen, die einer Note -zugewiesen werden, z.B. Versetzungszeichen, Wertpunkte, Spielanweisungen -oder Artikulationsbezeichnungen, ist abh"angig von der jeweiligen -Umgebung sowie der Position der Note im Liniensystem. -\par\vfill\eject -\Beispiel - -Positionierung von Wertpunkten: - -{\loose\hsize=8cm%wertpunkte -\advance\hsize2\iindent -\parindent=2\iindent -\beginsong -\vio\C \h4\.1\h5\.1\lchord\h1\.1\h3\.1\h5\.1\endchord - \lchord{\def\doteven{\dotdown}% - \h2\.1}\leftfalse\h3\.1\lefttrue\h5\.1\endchord - \rchord\h2\.1\lefttrue\h5\.1\leftfalse\h6\.1\endchord -\=\endsong} -\vskip-1cm\par -Positionierung von Versetzungszeichen: - -{\loose\hsize=6cm%Versetzungszeichen -\advance\hsize2\iindent -\parindent=2\iindent -\beginsong -\vio\C \b4\h4\x5\x{-2}\lchord\h5\h{-2}\endchord - \x{-1}\x5\lchord\h5\h{-1}\endchord -\=\endsong} -\vskip-1cm\par -Positionierung von Artikulationszeichen. -%Artikulationszeichen - -{\loose\hsize=8cm -\advance\hsize2\iindent -\parindent=2\iindent -\beginsong -\vio\C\stac\h5\h8\h1\h2\lchord\h5\h{-2}\endchord% -\two{\group{\\{\a6}\\{\a6}}{\\{6}\\{6}}\ubeam12\go} -{\group{\\{\a3}\\{\a3}}{\\{3}\\{3}}\lbeam12\go}% -\=\endsong} -\endBeispiel -\vskip-1cm\par - -\subsubheading{Aufbau des Systems} -Die bildliche Wiedergabe von T"onen und Kl"angen l"a\3t sich an einem - Koordinatensystem verdeutlichen, wobei die horizontale -Achse den zeitlichen Ablauf des Musikst"uckes, den Rhythmus, -wiedergibt und die vertikale -die Tonh"ohe fixiert (\lit{\ziegen}). -Da alle Noten die gleiche Breite besitzen, mu\3 der Raum, -den sie einnehmen, zus"atzlich ihre zeitliche Dauer ausdr"ucken, d.h. -der Notenwert mu\3 durch die "au\3ere Gestalt der Note \disp{und} den -horizontalen Raum dargestellt werden. -\Beispiel - -{\hsize=5cm\loose -\advance\hsize 2\iindent -\parindent=2\iindent -\setbox240=\hbox to 0pt{\hbox{$\overrightarrow{\hbox to105pt{\hfil}}$% -\hskip-102pt\vbox{\offinterlineskip -\setbox0\hbox{$\uparrow$}\setbox1=\hbox to \wd0{\hss -\vrule height31pt width 0.5pt depth 3pt\hss}\box0\box1}}\hss} -\beginsong -\vio\C\^{\vbox{\offinterlineskip\hbox{\eightrm% -\vrule depth 6pt width 0pt Tonh"ohe}\null}}{\gluebrule}\hskip5pt -\lower17pt\box240\hskip15pt -\two{\v5\v6\hfil}{\rchord \h1\h3\endchord}% -\two{\h5\hfil}{\rchord \h0\h2\endchord} -\_n{Tondauer}{\gluebrule}\hfill\null\endsong -} -\endBeispiel -\vskip-1cm\par - -Das hier erarbeitete Notensatzsystem ist daher -so angelegt, da\3 die Einteilung in die Notenzeilen -bzw. in die Seiten nach optimalen Gesichtspunkten vorgenommen wird. -Dazu werden zun"achst die Notenschrift\-elemente des Musikst"uckes -intern in \disp{einer} beliebig langen Zeile angeordnet, -die dann gleichm"a\3ig so auf Zeilen einer bestimmten L"ange -verteilt werden, da\3 die Einteilung des Raumes erhalten bleibt. - -Die Einteilung in die einzelnen Zeilen ist also -nicht vom Benutzer vorgegeben. -Dies ergibt die Schwierigkeit, da\3 das Notensatzsystem f"ur die Angabe -des aktuellen Notenschl"ussels und der aktuellen -Tonart am Anfang jeder Zeile zust"andig ist. - -Dieses Problem mu\3 von jedem Notensatzsystem -individuell gel"ost werden. Deshalb soll in dieser Arbeit nur eine -L"osungsm"oglichkeit f"ur \TeX\ angeben werden. - -\subsubheading{Ma\3einheiten} -Allen Berechnungen liegen einige wenige voneinander unabh"angige -Ma\3einheiten zugrunde. - -Als Berechnungsgrundlage f"ur alle Abstandsberechnungen, die die -vertikale Richtung betreffen, gilt die H"ohe des ausgef"ullten -Notenkopfes (\disp{noteheadheight}) des verwendeten Zeichensatzes, -im folgenden mit dem \TeX-Parameter |\nhh| bezeichnet. -Dadurch wird vor allem der vertikale Abstand der Notenlinien -festgelegt. - -Allen horizontalen Berechnungen liegt die Breite des ausgef"ullten -Notenkopfes (\disp{noteheadwidth}) --- im folgenden |\nhw| genannt ---- zugrunde. - -Die St"arke aller d"unnen Linien (Notenlinien, Hilfslinien und -Notenh"alse) ist unabh"angig von den obengenannten Ma\3einheiten und -somit unabh"angig vom ausgew"ahlten Zeichensatz (\disp{Font}), da sie -das Notenlesen nur unterst"utzen und nicht dominieren sollen. Sie -sollten so schmal sein, wie das Ausgabeger"at es zul"a\3t. -F"ur den Drucker -AGFA - P400 konnte eine St"arke von 0.15 \pt\ gew"ahlt werden. - -F"ur die Hilfslinien wurde jedoch -die doppelte Linienst"arke verwendet. Dies wurde von -K. Hader (\lit{\hader}) als "ubliche St"arke f"ur den Handnotensatz -angegeben. - -W"ahrend die St"arke der d"unnen Linien unabh"angig vom ausgew"ahlten -Font ist, gilt dies nicht f"ur die dickeren Linien (Balken und -Schlu\3striche). - -K. Hader gibt als Schema f"ur die St"arke der Balken an: - -{\leftskip=30pt\rightskip=\leftskip\sl Sie ist dann richtig, -wenn drei Balken mit ihren -Spatien (Zwischenr"aumen) zusammen genau drei Zwischenr"aume der -Notenzeile ausf"ullen.\par} - -W"ahlt man die Dicke der Spatien so gro\3 wie -die Balkendicke, so ergibt sich $\frac35$ |\nhh| -als Ma\3 f"ur die Balkendicke. -Dieser Wert wurde auch f"ur alle Arten von Schlu\3strichen -( \gleich ) "ubernommen. - -\vfill\eject diff --git a/macros/mtex/documentation/mdoc5.tex b/macros/mtex/documentation/mdoc5.tex deleted file mode 100644 index 2b64cd0ecd..0000000000 --- a/macros/mtex/documentation/mdoc5.tex +++ /dev/null @@ -1,1123 +0,0 @@ -\heading{\TeX\ - Konzepte} -In diesem Kapitel sollen die Konzepte von \TeX\ erl"autert werden, die -die Grundlage f"ur das entwickelte Notensatzsystem sind. Dies ist im -wesentlichen das Box-Glue-Konzept f"ur den Seitenaufbau, das f"ur die -Konstruktion der Notenschriftelemente verwendet wurde, und der -Zeilen- und Seitenumbruchalgorithmus. - -Alle anderen Konzepte (z.B. Definitionen von Makros und -die Definition und -Behandlung der internen Parameter) will ich als bekannt voraussetzen und -f"ur Informationen dazu auf das \TeX book \lit{\Texbook} -verweisen. Daf"ur seien die -obigen Konzepte ausf"uhrlicher dargestellt. -Das vorliegende Kapitel ist im wesentlichen eine Zusammenfassung der -Kapitel~14 und~15 des \TeX book unter Ber"ucksichtigung des Artikels -``Breaking Paragraphs Into Lines'' von D. E. Knuth und M. Plass -\lit\Knuth. Dabei wurden die verwendeten Begriffe: Box, Glue, Penalty, -Kern, Rule, Badness, Interline Glue und Interword Glue -als Fachbegriffe "ubernommen und nicht "ubersetzt. - -\subheading{Basiselemente} -Eine \TeX-Seite wird im wesentlichen aus zwei verschiedenen -Basiselementen aufgebaut: -$$\align &\hbox{1. Box,}\cr&\hbox{2. Glue.}\endalign$$ - -Boxes k"onnen nebeneinander oder untereinander geheftet werden, wobei -sie durch Glue verbunden werden. -Die verschiedenen Formen, in denen Boxes und Glue auftreten k"onnen, und -die Verfahren, wie sie aneinandergeheftet werden, sollen - Gegenstand dieses Abschnitts sein. - -\subsubheading{Die Box} -Eine \defi{Box} -ist ein zweidimensionales Gebilde von rechteckiger Gestalt, die -durch das Tripel $(w,h,d)\in\rz^3 $ vollst"andig -beschrieben ist. Dabei gibt $w$ die Breite, $h$ die H"ohe und $d$ die -Tiefe an. Durch $h$ und $d$ ist die Grundlinie (\tex{baseline}) oder auch -Schriftlinie der Box definiert. Der linke Endpunkt der Grundlinie ist -als Referenzpunkt (\tex{reference point}) ausgezeichnet. -\medskip -{\eightpoint -\setbox0=\hbox{$\uparrow$} -\setbox1=\hbox to \wd0{$\hss\mid\hss$} % with luck, they'll line up -\setbox2=\vbox{\copy0 - \nointerlineskip \kern-.5pt \copy1 - \nointerlineskip \kern-.5pt \copy1 - \moveleft 1em\hbox{H"ohe} - \copy1 \nointerlineskip \kern-.5pt - \copy1 \nointerlineskip \kern-.5pt - \hbox{$\downarrow$} - \kern.2pt} -\setbox3=\vbox{\kern.2pt\copy0 - \moveleft 1em\hbox{Tiefe} - \hbox{$\downarrow$} - \kern0pt} -\setbox4=\vtop{\kern-3pt % this cancels the null text above the samplebox - \hbox{\samplebox{\ht2}{\ht3}{6em}{}% - \kern-6em - \raise3pt\hbox to 6em{\hss Grundlinie\hss}} - \kern3pt - \arrows{6em}{Breite}} -\medskip\indent\hskip30pt -\setbox0=\hbox{$\vcenter{}$}% \ht0 is the axis height -\lower\ht0\hbox{Referenzpunkt$-$\kern-.2em$\rightarrow$\kern2pt}% -\raise\ht2\box4 -\kern1.5em -\raise\ht2\vtop{\kern0pt\box2\nointerlineskip\box3}} -\medskip - -\Beispiel -Die Box wird zur Beschreibung der Schriftelemente verwendet, z.B. -Buchstaben eines Zeichensatzes (\tex{characters}), aber auch Elemente, -die aus -mehreren Zeichen zusammen gesetzt sind, z.B. \`a oder eine mathematische -Formel $\root n \of {x^n+y^n}$. \item{} -Ein Spezialfall ist ein ausgef"ulltes -Rechteck, eine sogenannte \defi{Rule}. -\endBeispiel - -\Bemerkung -F"ur alle Berechnungen werden nur die Werte von $w$, $h$ und $d$ -verwendet, unabh"angig von Inhalt der Box. Viele Zeichen sind z.B. so -konstruiert, da\3 sie entweder die Box nicht ganz ausf"ullen oder -"uber den Rand hinaus ragen, wie z.B. bei \tex{kursiver} Schrift. -Wie sich sp"ater zeigen wird, ist dies eine n"utzliche Eigenschaft. Man -kann Boxes konstruieren, die nichts zur horizontalen Berechnung -beitragen und somit andere Zeichen "uberlappen. -\endBemerkung - -Wie oben bemerkt, kann eine Box wiederum aus mehreren Elementen -bestehen. Diese Elemente k"onnen wiederum Boxes, aber auch Glue sein. -Man unterscheidet Boxes, deren Elemente horizontal aneinander gereiht -werden, von solchen, deren Elemente vertikal untereinandergeheftet -werden. - -\subsubheading{Der Glue} -\defi{Glue} -beschreibt das Ausschlu\3material, das Hilfsmaterial zum F"ullen -der Zeilen. Glue mu\3 also wie der Ausschlu\3 beim Handsatz sowohl -erweiterbar als auch verringerbar sein, um gleiche Zeilenl"angen zu -erhalten. (F"ur die satztechnische Definition der Begriffe: Ausschlu\3, -Erweiterung und Verringerung, verweise ich auf das Buch von F. Genzmer, -``Das Buch des Setzers'' \lit{\genzmer}.) - -Glue wird durch das Tripel $(w,y,z)\in\rz^3 $ vollst"andig -beschrieben. Dabei gibt die Gr"o\3e -$w$ den nat"urlichen Abstand (\tex{natural -space}) an, $y$ den Wert, um den der Abstand erweitert werden kann, -und $z$ den Wert, um den der Abstand verk"urzt werden -kann. D. E. Knuth und M. Plass \lit\Knuth\ beschreiben -die ``variablen'' Gr"o\3en $y$ und $z$ mit ``\tex{strechability}'' und -``\tex{shrinkability}''. -F"ur das folgende Zeilenumbruchverfahren ist es wichtig, da\3 -die Gr"o\3en, die den Glue bestimmen, nach bestimmten Kriterien gew"ahlt -werden. Da -$w$ der Betrag ist, um den in horizontaler bzw. vertikaler Richtung -vorger"uckt (falls $w>0$) bzw. zur"uckgesetzt wird (falls $w<0$), -sollte dieser Wert -so gew"ahlt werden, da\3 der Abstand zwischen den Boxes -optisch gef"allig aussieht. Die ``variablen'' Gr"o\3en $y$ und $z$ -sollten so gew"ahlt werden, da\3 -beim Ausschlu\3 der Zeile der freie Raum $w+y$ bzw. $w+z$ noch akzeptabel -ist. Es sei dabei betont, da\3 -$w$, $y$ und $z$ auch negative Werte annehmen k"onnen. -\Bemerkung -Dimensionen:\par -\item{} -Eine der leistungsf"ahigsten Eigenschaften des Glue-Konzeptes ist, -Streck- und Stauchwerte verschiedener St"arke angeben zu -k"onnen. Es gibt neben den gew"ohnlichen Dimensionsangaben, z.B. 10 \pt\ -(s.\lit{\Texbook, Kapitel 10}), - drei Ma\3einheiten, mit denen ``unbegrenzter'' Glue beschrieben werden -kann. Diese werden in -Einheiten von \fil, \fill\ und \filll\ angegeben. -Im folgenden bezeichne \defi{Glue der Ordnung} $j\in\{0,\ldots,3\} -$ -Glue, dessen Streck- bzw. Stauchwerte in Einheiten von -\pt, \fil, \fill, oder \filll\ angegeben wurden. Glue der -Ordnung 0 ist also ``begrenzter Glue''. -\item{}Im folgenden Ausschlu\3verfahren (\the\chap.2\XX) -wird die Wirkung der verschiedenen M"oglichkeiten, Glue anzugeben, -noch n"aher betrachtet. -\endBemerkung - -Ein Spezialfall von Glue ist \defi{Kern}. Darunter versteht man einen -Freiraum, der nicht variabel ist. Er wird benutzt, um Zeichen zu einer -Einheit zu verbinden, z.B. f"ur das \TeX-Logo, wobei die einzelnen -Buchstaben T, E und X durch Kern ineinander geschoben sind. - -Die Einf"uhrung von Kern im Unterschied zu Glue ohne Streck- und -Stauchwerte ist notwendig, um Glue, an dem eine -Zeile oder Seite umgebrochen werden darf, von Freiraum zu unterscheiden, -bei dem dies verboten ist. (Das \TeX-Logo kann nicht getrennt -werden.) - -Ein weiterer Spezialfall f"ur Glue ist das Ausf"ullen von Leerraum mit -Boxes \verbatimon(|\leaders|). -Dabei wird die Box oder auch Rule so oft gesetzt, wie Glue -daf"ur vorhanden ist. Dies wird z.B. beim Auf{}f"ullen einer Zeile mit -Punkten benutzt \leaders\hbox to 5pt{\hss.\hss}\hfill. - -\subsubheading{Kontrollsequenzen im Zusammenhang mit Box und -Glue} - -Im folgenden seien einige Kontrollsequenzen angegeben. (Die Angaben in -eckigen Klammern ($\lit{ }$) bedeuten, da\3 diese Angabe optional ist.) -\subsubsubheading{Box-Kontrollsequenzen} - -$\left \{{\hbox{\vo|\vbox|\voff}\atop\hbox{\vo|\vtop|\voff}}\right\} -\hbox{\vo| to |\voff}\text{\<Dimensionsangabe>}\{\text -{\<Material f"ur eine vertikale Liste>}\}$\par -\indent\hbox{\vo|\hbox to |\voff}\<Dimensionsangabe>$\{$\<% -Material f"ur eine horizontale Liste>$\}$\par -\verbatimon\rm -\indent\hbox{|\hrule |}$\lbrack$ -|width | \<Dimensionsangabe>$\rbrack$% -$\lbrack$|height |\<Dimensionsangabe>$\rbrack$% -$\lbrack$|depth |\<Dimensionsangabe>$\rbrack$% -\par -\indent\hbox{|\vrule |}$\lbrack$% -|width |\<Dimensionsangabe>$\rbrack$% -$\lbrack$|height |\<Dimensionsangabe>$\rbrack$% -$\lbrack$|depth |\<Dimensionsangabe>$\rbrack$% -\par -\subsubsubheading{Glue-Kontrollsequenzen} - -\indent\hbox{|\vskip |}\<Dimensionsangabe>% -$\lbrack$|plus |\<Dimensionsangabe>$\rbrack$% -$\lbrack$|minus |\<Dimensionsangabe>$\rbrack$% -\par\indent -\hbox{|\hskip |}\<Dimensionsangabe>% -$\lbrack$|plus |\<Dimensionsangabe>$\rbrack$% -$\lbrack$|minus |\<Dimensionsangabe>$\rbrack$ -\par\indent -\hbox{|\kern |}\<Dimensionsangabe>\par\indent -\hbox{|\leaders |}\<Box oder Rule>\<Glueangabe>\par -\verbatimon\rm - -\subsubheading{Anwendung f"ur den Notensatz} - -Da eine Box einen rechtwinkligen Umri\3 besitzt, k"onnen Boxes nur -horizontaler und vertikaler Richtung aneinandergeheftet werden. -Es besteht daher zun"achst keine M"oglichkeit, -Linien in beliebiger Richtung zu setzen. Dies ist jedoch f"ur den -Notensatz zur korrekten Darstellung der Balken notwendig. - Dieses Problem tritt bei allen -pixel-orientierten Graphiksystemen auf. -Mit dem \TeX-Konzept kann es gel"ost werden durch eine -geeignete Zerlegung der Linie in mehrere Rules, die passend -aneinandergeheftet werden. -Das folgende Beispiel zeigt einen Balken, der gegen die -Horizontale um 45 Grad geneigt ist, wobei die verwendeten Rules jeweils -1\pt\ breit sind. Mit -{\obeylines -\begindisplay -|\def\vr{\vrule width 1pt height 4pt depth 0pt}|\cr -|\def\diag#1#2{\length=#1 \gradient=#2pt \m=0|\cr -| \hbox{\loop\advance\length by -1 $\raise\m\gradient\hbox{\vr}$|\cr -| \advance\m by 1|\cr -| \ifnum\length>0 \repeat}|\cr -\enddisplay -} -\def\vr{\vrule width 1pt height 4pt depth 0pt} -\def\diag#1#2{\count1=0 \count2=#1 \dimen3=#2pt% - \hbox{\loop\advance\count2 by -1 $\raise\count1\dimen3\hbox{\vr}$% - \advance\count1 by 1 - \ifnum\count2>0 \repeat}} - -ergibt |\diag{20}{1}| : \hskip20pt{\diag{20}{1}} - -Die Anwendung dieses Verfahrens f"ur den Notensatz -ist jedoch -sehr zeit- und speicherplatzintensiv, wenn eine hohe Aufl"osung erreicht -werden soll, da auf einem Notenblatt eine gro\3e Anzahl solcher Balken -zu setzen sind. -Da \TeX\ selbst keine bessere L"osung dieses Problems bietet, wurden -die notwendigen Balken``linien'' in einem Zeichensatz erzeugt (s. Kapitel -{\advance\chap4 \the\chap}). -\subheading{Verfahren zum Ausschlu\3 einer Box auf gew"unschte Breite -bzw. H"ohe} -\defi{Ausschlu\3} (\tex{setting the glue}) ist der Proze\3, -Glue innerhalb -einer Box so zu erweitern oder zu verringern, da\3 eine bestimmte -Breite erreicht wird. - -Fa\3t man eine Zeile als horizontale Liste von Box- und -Glue-Elementen auf, so bedeutet Zeilenausschlu\3 das Vergr"o\3ern oder -Verkleinern der Glue-Elemente dieser Liste auf die gew"unschte -Zeilenl"ange. Ebenso bedeutet Seitenausschlu\3 das Erweitern oder -Verringern der Glue-Elemente einer Seite, die als vertikale Liste -aufgefa\3t werden kann. - -\subsubheading{Ausschlu\3 einer horizontalen Box} -Der Ausschlu\3 einer horizontalen Box -(\hbox{\vo|\hbox|}) -erfolgt in drei Schritten: - -\item{1)} -Bestimmung der nat"urlichen Breite $x\in\rz$ (\tex{natural width}) der -Box und der zur Verf"ugung stehenden totalen Streck- und -Stauchbarkeit $Y$ bzw. $Z$. - -\item{2)} Sei $\omega>0$ die gew"unschte Breite der Box. Dann wird der -Proportionalit"atsfaktor $r$ (\tex{glue set}) bestimmt, der $x$ in -$\omega$ -"uberf"uhrt, abh"angig von der Ordnung des Ausschlu\3materials $i$ -(\tex{glue set order}). - -\item{3)} -Bestimmung der H"ohe und Tiefe der neuen Box und Festlegung ihres -Referenzpunktes. -\medskip -Diese sollen im folgenden n"aher erl"autert werden. - -Seien $x_1,\ldots,x_m$ die Basiselemente der horizontalen Liste -und $(w_1,y_1,z_1),\ldots ,(w_m,y_m,z_m)$ die zu\-ge\-h"o\-ri\-gen -Tripel, wobei, falls ein $x_j, j\in \{1,\ldots,m\}$ eine Box oder Kern -beschreibt, die Variablen $y_j$ und -$z_j$ verschwinden. Dann erh"alt man die -na\-t"ur\-liche Breite -durch Aufsummieren aller na\-t"ur\-lichen Ab\-st"ande: -$x=\sum_{j=1}^m w_j$. - -Die totale Streckbarkeit $Y$ bzw. Stauchbarkeit $Z$ ergibt sich -ebenfalls durch Bilden von -$Y=\sum_{j=1}^m y_j$ und $Z=\sum_{j=1}^m z_j$. Da die $y_i$ bzw $z_i$ -jeweils Werte verschiedener Ordnungen (im Sinne von \the\chap.1.2) -darstellen, -k"onnen diese -Summen nach den jeweiligen Einheiten aufgespalten werden, d.h. in -$$Y=Y_0+Y_1\fil+Y_2\fill+Y_3\filll$$ -und -$$Z=Z_0+Z_1\fil+Z_2\fill+Z_3\filll\;,$$ -wobei $Y_k$ bzw. $Z_k$, $k\in\{0,\ldots,3\}$ Anzahl der Einheiten von -Glue der Ordnung $k$ - angeben. Dabei bezeichnet $k=0$ ``begrenzten'' -Glue (in Einheiten von z.B. \pt). - -Die \defi{Ordnung des Ausschlu\3materials} -$i$ wird definiert als: -$$i:=\cases 0\;,&\text{falls f"ur alle }k\in\{0,\ldots,3\}\text{ gilt: } - Y_k=0\\\max_{k\in\{0,\ldots.3\}}\{k,Y_k\ne0\}\;,& - \text{sonst}\endcases$$bzw. -$$i:=\cases 0\;,&\text{falls f"ur alle }k\in\{0,\ldots,3\}\text{ gilt: } - Z_k=0\\\max_{k\in\{0,\ldots.3\}}\{k,Z_k\ne0\}\;,& - \text{sonst}\;.\endcases$$ -\medskip -Der Proportionalit"atsfaktor $r$ berechnet sich wie folgt: -\hfil\break -Sei $\omega>0$ die gew"unschte Breite der Box. - -F"ur $x= \omega$ gilt: $r=0$ und jeder Glue erh"alt seinen -nat"urlichen Abstand. - -F"ur $x< \omega$ ist eine Erweiterung erforderlich und es gilt: - -$$r= \cases (\omega -x)/Y_i,&\text{falls $i\ne0$,}\\ - (\omega -x)/Y_0,&\text{falls $i=0$ und $Y_0\ne0$,}\\ - 0, &\text{falls $i=0$ und $Y_0=0$.}\endcases$$ - -F"ur $x> \omega$ ist ein Verringern erforderlich und es gilt: - - $$r= \cases (x -\omega )/Z_i,&\text{falls $i\ne0$,}\\ - (x -\omega )/Z_0,&\text{falls $i=0$ und $((x-\omega)\le Z_0 - $,}\\ -0,&\text{falls $i=0$ und $Z_0=0$,}\\ -1,&\text{falls $i=0$ und $(x-\omega)>Z_0$.}\endcases$$ -\medskip -Damit ergibt sich f"ur jeden Glue $(w,y,z)$ der horizontalen Liste mit -einem Streckwert $y$ von $j$-ter Ordnung und einem -Stauchwert $z$ von $k$-ter Ordnung die neue Breite -\item{a)}bei Erweiterung: $\; w_{{\rm neu}}=\cases w+r\cdot y\;,& -\text{f"ur $j=i$,}\\ -w\;,&\text{sonst,}\endcases$\par -\item{b)}bei Verringerung: $w_{{\rm neu}}=\cases w-r\cdot z\;,& -\text{falls $k=i$,}\\ -w\;,&\text{sonst.}\endcases$ - -\Bemerkung -\item{1)}Da die Glue-Elemente $w$, $y$, $z$ auch negative Werte annehmen -k"onnen, ist es m"oglich, da\3 die Werte f"ur $Y$ und $Z$ auch negativ -werden k"onnen. Dies soll jedoch ausgeschlossen sein, da $\omega$ nur -positive Werte annimmt. -\item{2)}Der Glue wird nur erweitert bzw. verringert, falls die -zugeh"orige Ordnung des Glue der Ordnung des Ausschlu\3materials -$i$ entspricht. Das Einf"ugen von Glue hoher Ordnung kann -also eine Erweiterung oder Verringerung an anderen Stellen -unterdr"ucken. Ebenso kann es vorkommen, da\3 Glue h"oherer Ordnung -ausgel"oscht wird. -\endBemerkung -\medskip -Alle Boxelemente werden so aneinandergereiht, da\3 ihre -Referenzpunkte auf einer Horizontalen liegen. Die Grundlinie der neuen -Box ist demnach die gemeinsame Grundlinie der inneren Elemente. Die -H"ohe bzw. Tiefe der neuen Box ergibt sich als der Maximum der Tiefen -bzw. H"ohen der eingeschlossenen -Boxes. Eine horizontale Box -kann demnach keine negative H"ohe bzw. Tiefe besitzen jedoch eine -negative Breite. -\Bemerkung -Um bei der Eingabe von Texten nicht hinter jedem Wort eine -Kontrollsequenz -einf"ugen zu m"ussen, die den Zwischenraum zum n"achsten Wort angibt, -wird das erste Leerzeichen hinter einem Wort als -Glue interpretiert. -(Gleiches kann mit \hbox{{|\|\tt\char`\ }} erreicht werden.) -Der Wert des Glue richtet sich nach dem -dem aktuell g"ultigen Zeichensatz (\defi{Interword Glue}). -Jedem Zeichensatz ist ein solcher Glue zugeordnet. -In einem Zeichensatz, der f"ur Textsatz verwendet wird, -entspricht der nat"urliche Abstand -der gew"unschten Breite eines Leerzeichens. -Da bei mathematischen -Formeln ein anderer Ausschlu\3 verwendet wird und einige -mathematische Zeichen (z.B. gro\3e Klammern) aus mehreren Elementen der -mathematischen Zeichens"atze zusammengesetzt werden, ist der -{Interword -Glue} in diesem Fall mit |0pt plus 0pt minus 0pt| vorbelegt. -Der {Interword Glue} kann -durch "Andern des Wertes des Parameters |\spaceskip| -ver"andert werden. -Verschwindet dieser Wert nicht, so wird der Wert -dieses Parameters an Stelle des Glue des aktuellen Fonts eingef"ugt. -Da im Notensatz der Glue abh"angig vom Notenwert der vorangegangenen -Note gesetzt werden mu\3, ist dies eine M"oglichkeit, den Glue zwischen -den Noten zu variieren. -\endBemerkung -\verbatimon -\subsubheading{Beispiele und Anwendungen zum horizontalen Ausschlu\3} -\item{1)}Im Notensatz ist es oft notwendig, die Breite eines -oder mehrerer Zeichen zu ignorieren (z.B. f"ur die Oktavstellung von -Versetzungszeichen (s. {\advance\chap3 \the\chap}.1), -f"ur die Textunterlage ({\advance\chap5 \the\chap}.2) oder auch -f"ur die Unterlage des Notenliniensystems). -Dies ist eine einfache Anwendung des -Ausschlu\3verfahrens. Man kann eine Box der Breite Null erzeugen, wobei -der Boxinhalt links- oder rechts"uberlappend erscheint. Das Prinzip soll -am mathematische Zeichen $\ne$ demonstriert werden. Es kann -erzeugt werden durch die Eingabe -\begindisplay -|\hbox to 0pt{/\hskip0pt minus1fil}=| -\enddisplay -\item{}Durch den Glue der Ordnung 1 ist gen"ugend -Stauchm"oglichkeit vorhanden. Das Zeichen |/| wird gesetzt, ohne jedoch -in die horizontale Berechnung einzugehen. Es wird also rechts "uber den -``Rand'' der Box hinausgeschoben. Anschlie\3end wird das -Gleichheitszeichen gesetzt, und man erh"alt $\ne$. - -\item{}Umgekehrt kann das Ergebnis auch erreicht werden durch die Eingabe -\begindisplay -|/\hbox to 0pt{\hskip0pt minus1fil=}| -\enddisplay -\item{} -In diesem Fall wird der Inhalt der Box "uber den linken ``Rand'' der -Box hinausgeschoben. -\item{2)} Die Zeichen |ab| k"onnen in einer Zeile zentriert werden durch -die Eingabe -\begindisplay -|\hbox to\hsize{\hskip0pt plus1fil ab\hskip0pt plus1fil}| -\enddisplay -\item{}Man erh"alt - -\hbox to\hsize{\hskip\iindent\hskip0pt plus1fil \bf ab\hskip0pt plus1fil} -\item{} -Auf beiden Seiten der Zeichen befindet sich Glue der -Ordnung 1. Die Box wird auf Zeilenbreite (|\hsize|) -ausgeschlossen, indem der zur Verf"ugung stehende Raum zu gleichen -Teilen vor |a| bzw. nach |b| aufgeteilt wird. -Verwendet man -\begindisplay -|\hbox to\hsize{\hskip0pt plus2fil ab\hskip0pt plus1fil}| -\enddisplay -\item{}so erh"alt man\par\nobreak -\hbox to\hsize{\hskip\iindent\hskip0pt plus2fil \bf ab\hskip0pt plus1fil} -\item{} -In diesem Fall wird der Glue im Verh"altnis 2:1 aufgeteilt. F"ugt man -zwischen |a| und |b| Glue der Ordnung 2 ein durch die -Eingabe -\begindisplay -\hskip-20pt|\hbox to\hsize{\hskip0pt plus2fil a\hskip0pt plus1fill -b\hskip0pt plus1fil}| -\enddisplay -\item{}so erh"alt man:\par -\hbox to\hsize{\hskip\iindent\hskip0pt plus2fil \bf a\hskip0pt plus1fill -b\hskip0pt plus1fil} -\item{}In diesem Fall werden also die Streckwerte der -Ordnung 1 -unterdr"uckt und die Zeichen jeweils an den linken bzw. rechten -Zeilenrand geschoben. -Die Ausl"oschung von Glue h"oherer Ordnung sei mit dem folgenden Beispiel -demonstriert. Die Eingabe -\begindisplay -\hskip-20pt|\hbox to\hsize{\hskip0pt plus1fill a\hskip0pt plus1fil -b\hskip0pt plus-1fill}| -\enddisplay -\item{}ergibt - -\hbox to\hsize{\hskip\iindent\hskip0pt plus1fill \bf a\hskip0pt plus1fil -b\hskip0pt plus-1fill} -\item{3)} Als weiteres Beispiel sei ein spezielles Notensatzproblem -angef"uhrt: -\item{} -Unabh"angig von der Umgebung, in der eine Note auftritt, soll -die Breite der Noten -immer auf gleiche Art in -die horizontale Rechnung eingehen, d.h. gleich auch f"ur Noten mit und -ohne Hilfslinien (dies sind -kurze Notenlinien, die die Bestimmung der Tonh"ohe -einer Note erleichtert, die nicht au\3erhalb des -Liniensystems plaziert wurde) -denn die Breite solcher Hilfslinien soll nicht -ber"ucksichtigt werden. -\verbatimon -\item{}Die Hilfslinien sind (horizontal) zentriert den Noten zu -unterlegen. Dies geschieht am einfachsten, indem man Note und Hilfslinien -in je einer Box der Breite Null zentriert und diese zusammen zu einer -Box der Breite |\nhw| ausschlie\3t. -Mit -\begindisplay -|\hbox to\nhw{\hskip0pt plus1fil minus 1fil|\cr -|\hbox to0pt{\hskip0pt minus1fil |\<Note>|\hskip0pt minus1fil}|\cr -\hskip2\iindent -|\hbox to0pt{\hskip0pt minus1fil |\<Hilfslinien>|\hskip0pt minus1fil}|\cr -|\hskip0pt minus1fil}| -\enddisplay -\item{}erh"alt man z.B. \quad \v{14}\global\sk=0pt -\subsubheading{Ausschlu\3 einer vertikalen Box} -Der Ausschlu\3 einer vertikalen Box -(\hbox{\vo |\vbox| oder |\vtop|}) -verl"auft "ahnlich wie bei der -horizontalen Box, jedoch erfolgt die Aneinanderheftung nach einem -komplizierteren Schema. - -Ist kein Glue angegeben, wird der Zeilenzwischenraum nach folgendem -Verfahren berechnet: - -Um einen gleichm"a\3igen Ausschlu\3 zu erhalten, sollte der Abstand -zwischen den Grundlinien m"oglichst gleich bleiben. - -Sei der gew"unschte Abstand der Grundlinien -(\hbox{\vo|\baselineskip|\voff}) -zweier -benachbarter Zeilen durch Glue der Form $b$ |plus| $y$ |minus| $z$ -(s. \the\chap.3.2) -gegeben. Sei $l$ Glue (|\lineskip|), -der eingef"ugt werden soll, falls der -berechnete Zwischenraum den Wert $\bar l$ -(\hbox{\vo|\lineskiplimit|\voff}) unterschreitet. Weiter sei -$d$ die Tiefe der oberen Box und $h$ die H"ohe der unteren Box. - -Dann ergibt sich f"ur den Glue, der zwischen den Boxes eingef"ugt wird -(\defi{Interline Glue}): - -\item{1)} Falls $d\le-1000\pt$, wird kein {Interline Glue} -eingef"ugt. -\item{2)} Falls $d>1000\pt$ und $(b-d-h)\ge \bar l$, -wird ein {Interline Glue} von $(b-d-h)$ |plus| $y$ |minus| $z$ -vor der unteren Box eingef"ugt. -\item{3)}Gilt weder 1) noch 2), wird $l$ als {Interline Glue} -eingef"ugt. -\par -\midinsert -\medskip -{\eightpoint -\setbox0=\hbox{$\uparrow$} -\setbox1=\hbox to \wd0{$\hss\mid\hss$} % with luck, they'll line up -\setbox2=\vbox{\copy0 - \nointerlineskip \kern-.5pt \copy1 - \moveleft0em\hbox{$h$}% - \copy1 \nointerlineskip \kern-.5pt - \hbox{$\downarrow$}% - \kern.2pt} -\setbox3=\vbox{\kern.2pt\copy0 - \moveleft 0em\hbox{$d$}% - \hbox{$\downarrow$}% - \kern0pt} -\setbox4=\vbox{\kern.2pt\copy0 - \moveleft 1em\hbox{$(b-d-h)$}% - \hbox{$\downarrow$}% - \kern0pt} -\setbox5=\vbox to 0pt{\vss\copy0 - \nointerlineskip \kern-.5pt \copy1 - \nointerlineskip \kern-.5pt \copy1 - \nointerlineskip \kern-.5pt \copy1 - \nointerlineskip \kern-.5pt \copy1 - \nointerlineskip \kern-.5pt \copy1 - \moveleft0em\hbox{$b$} - \copy1 \nointerlineskip \kern-.5pt - \copy1 \nointerlineskip \kern-.5pt - \copy1 \nointerlineskip \kern-.5pt - \copy1 \nointerlineskip \kern-.5pt - \hbox to \wd0{$\hss\vrule height4pt\hss$}\nointerlineskip \kern-.5pt - \hbox{$\downarrow$}% - \kern.2pt} -\setbox6=\vtop{\kern-3pt % this cancels the null text above the samplebox - \hbox{\samplebox{\ht2}{\ht3}{6em}{}% - \kern-6em - \lower\ht3\hbox to 6em{\hskip1em \vtop{\copy3\nointerlineskip - \copy4}\hss}}% - \kern-3.4pt - \hbox{\samplebox{\ht2}{\ht3}{6em}{}% - \kern-6em - \hbox to 6em{\hbox to 0pt{\hss\box5\hskip1em}\hskip1em \copy2\hss}}% - } -\hbox to \hsize{\hfil\box6\hfil} -} -\medskip -\centerline{{\eightrm Skizze zum Verdeutlichen des Interline Glue -(\the\chap.2.3) }} -\endinsert -\goodbreak -\Bemerkung -\item{1)} -Vor oder hinter einer Rule wird dieser Algorithmus nicht angewendet. -\item{2)}Dieses Verfahren wurde so konzipiert, da\3 - zwischen den Zeilen -immer ein Mindestabstand eingehalten wird, - falls der nat"urliche Abstand von $l$ gleich $\bar l$ ist. - Jedoch k"onnen durch -Ver"andern der Parameter $b$, $l$, $\bar l$ auch andere Effekte erzielt -werden, z.B. wird mit |\baselineskip -10000pt| |\lineskip 0pt| und -|\lineskiplimit 0pt| kein {Interline Glue} -zwischen den Zeilen eingef"ugt. -%Dies wird durch die Kontrollsequenz |\offinterlineskip| erreicht. -\endBemerkung -\goodbreak - -Die vertikale Box wird nach folgendem Verfahren -ausgeschlossen:\item{1)}Bestimmung der ``nat"urlichen H"ohe'', der Tiefe -und Breite sowie des Referenzpunktes, -\item{2)}Bestimmung des Proportionalfaktors $r$. -\medskip -Dazu werden die -Elemente einer vertikalen Liste werden unter -Einbeziehung des {Interline Glue} -so untereinander geheftet, da\3 ihre -Referenzpunkte auf einer Vertikalen liegen. - -{}Der neue Referenzpunkt ist, falls -|\vbox| verwendet wurde, der -Referenzpunkt der untersten inneren Box, bei |\vtop| der der obersten. - -{}Das genaue Verfahren zur Bestimmung des Referenzpunktes, der -nat"urlichen H"ohe $h$ und Tiefe $d$ bei |\vbox| lautet: -\item{I)} Enth"alt die Liste keine Box, gilt $d=0\pt$. -\item{} Ebenso, falls das letzte Element keine Box ist. -Der neue -Referenzpunkt ist also in diesem Fall die linke untere Ecke der -umfassenden Box. -\item{} -Ist das letzte Element eine Box mit Tiefe $\bar d$, gilt $d=\bar d $. -\item{II)} -Ist $d>\hbox{\vo|\boxmaxdepth|\voff}$, wobei dies die Tiefe - ist, die eine Box h"ochstens annehmen kann, gilt - $d:=\hbox{\vo|\boxmaxdepth|\voff}$. -Dieser Paramter wurde eingef"uhrt, damit die Box der letzten Zeile -vollst"andig auf der Seite erscheint. -\item{}Der "Uberschu\3 wird in diesem Fall - zur nat"urlichen H"ohe addiert, was eine Verschiebung des -Referenzpunktes nach unten bewirkt. -\item{III)}Die Breite der neuen Box ist das Maximum des Abstandes -einer eingeschlossenen Box rechts vom Referenzpunkt der neuen Box. -Die Breite einer vertikalen Box ist also immer nicht-negativ. -\medskip - Der Proportionalfaktor $r$ wird wie bei einer horizontalen Box berechnet -in Abh"angigkeit von der Differenz nat"urlicher -H"ohe $h$, die sich aus dem Maximalabstand der inneren Boxes -oberhalb der Grundlinie zur Grundlinie ergibt, -und gew"unschter H"ohe $\omega$ -und den zur Verf"ugung stehenden Dehn- und Stauchm"oglichkeiten. -\medskip -Das genaue Verfahren zur Bestimmung des Referenzpunktes, der -nat"urlichen H"ohe $h$ und Tiefe $d$ bei \hbox{\vo|\vtop|\voff} lautet: -\item{i)}Die Konstruktion und der Ausschlu\3 erfolgt wie in den Regeln -f"ur \hbox{\vo|\vbox|\voff}. -Dabei wird die nat"urliche H"ohe $\bar d $ und Tiefe $\bar h$ bestimmt. -\item{ii)}F"ur die endg"ultige H"ohe $h$ gilt: -$$h=\cases 0\pt\;,& -\text{falls das 1. Listenelement keine Box ist,}\\ -\text{die H"ohe der obersten Box, }&\text{sonst.}\endcases$$ -\item{iii)}Der Referenzpunkt wird so verschoben, da\3 gilt: -$d:= \bar h+\bar d-h$. - -\subsubheading{Beispiele und Anwendungen zum vertikalen Ausschlu\3} -Im folgenden sollen die Unterschiede von |\vtop| und -|\vbox| bei verschiedenen Anwendungen verdeutlicht werden. -\item{1)}Als einfache Anwendung ergibt sich zun"achst der Aufbau des -Liniensystems. Da nach Rules kein Interline Glue eingef"ugt wird, ergibt -sich das Liniensystem durch f"unfmaliges Auf{}f"uhren einer Rule der -L"ange der Zeilenbreite, die durch Kern voneinander getrennt sind: -\begindisplay -|\vbox{|\<Linie>\<Kern>\<Linie>\<Kern>\<Linie>\<Kern>\<Linie>\<Kern>% -\<Linie>|}| -\enddisplay -\item{} -Dies ergibt eine Box, deren Grundlinie die unterste Linie ist, ohne Tiefe -und mit einer H"ohe vom F"unf{}fachen -der Linienh"ohe und Vierfachen des Kern. -W"urde man in diesem Beispiel |\vtop| verwenden, so erg"abe sich als -Grundlinie die oberste Linie, wobei die H"ohe der Box die H"ohe der -Linie betr"agt, und die Tiefe das Vierfache -der Linienh"ohe und des Kerns. Dies wird zum Beispiel bei der -Konstruktion der Hilfslinien unterhalb des Liniensystems ben"otigt. -\item{2)} -Das Ansetzen der F"ahnchen an den Notenhals: -\item{}Da die Notenhalsl"angen variabel sind (s. Kapitel %\XX -{\advance\chap3 \the\chap}), k"onnen -die F"ahnchen nicht zusammen mit dem Notenhals als ein Zeichen in den -Zeichensatz aufgenommen werden. Es gilt nun, eine Konstruktion zu finden, -so da\3 die F"ahnchen am jeweiligen Notenhalsende positioniert werden. -\item{}Dies kann f"ur den nach oben gestielten Hals durch eine -|\vbox|-Konstruktion und f"ur den nach unten gestielten Hals durch eine -|\vtop|-Konstruktion erreicht werden. Zu beachten ist, da\3 in beiden -F"allen kein Interline Glue eingef"ugt werden darf. -\begindisplay -|\vbox to|\<Notenhalsl"ange>|{\hbox{}|\<F"ahnchen>% -|\vskip0pt plus 1fil}|\cr -|\vtop to|\<Notenhalsl"ange>|{\hbox{}\vskip0pt plus1fil|\<F"ahnchen>% -|\hbox{}}| -\enddisplay - -\hbox to\hsize{\hfill -\leaders\hrule\hskip20pt\kern-5pt{\music\char\hex21}% -\vrule height 16pt depth 0pt -\vbox to16pt{\offinterlineskip\hbox{}\hbox{\music -\char\hex29}\vss\hbox{}}% -\leaders\hrule\hskip20pt\kern-3pt\vrule height 0pt -depth16pt\vtop to 16pt{\offinterlineskip\hbox{}\vss\hbox{\music\char -\hex2E}\hbox{}}{\music\char\hex21}\kern-5pt -\leaders\hrule\hskip20pt \hfill} - -\item{}Nach den oben angegebenen Regeln f"ur den Ausschlu\3 der -vertikalen Box ist also der Referenzpunkt die linke untere Ecke -der umfassenden Box, die zu der H"ohe der aktuellen Notenhalsl"ange -ausgeschlossen wurde, so da\3, unabh"angig von der H"ohe und Tiefe -des F"ahnchens, der obere Rand des F"ahnchens mit dem oberen Rand der -Box abschlie\3t. Umgekehrt ist dies im zweiten Fall. Diese Box erh"alt -als Tiefe die Notenhalsl"ange, w"ahrend die H"ohe verschwindet. Der -Referenzpunkt ist also die obere linke Ecke der Box. - -\item{3)}F"ur das genaue Ansetzen der Balken an den Notenhals ist es -notwendig, die Box, in der der Balken zusammengesetzt wurde (s. -\the\chap.1.4), so auszuschlie\3en, da\3 die H"ohe bzw. Tiefe des -Balkens nicht in die -vertikale Berechnung eingeht. -Die Box, in der der Balken zusammengesetzt wurde, hat nach den obigen -Regeln als Breite $w$ den (horizontalen) Abstand des ersten und letzten -Notenhalses der zu verbalkenden Noten. Die H"ohe ergibt sich als Produkt -der Steigung des Balkens mit $w$ zuz"uglich der -Balkenst"arke. Die Tiefe betr"agt -in diesem Fall gleich Null. F"ur die weitere Plazierung anderer -Notenschriftelemente in der N"ahe -einer solchen Box sind diese Ausma\3e hinderlich. -Es reicht aus, den Balken so zu setzen, da\3 die H"ohe nicht in die -Berechnungen eingeht. Dazu wird die Box noch einmal in einer vertikalen -Box ausgeschlossen, so da\3 der Referenzpunkt der ``Balkenbox'' mit dem -Ansatzpunkt des Balkens "ubereinstimmt und die Box keine H"ohe und keine -Tiefe besitzt. -Dies kann "ahnlich wie in den Beispielen -zum horizontalen Ausschlu\3 durch Einf"ugen von Glue der -Ordnung 1 erreicht werden. -\item{} -F"ur positive Steigungen wird dazu die -|\vbox|-Konstruktion -\begindisplay -|\vbox to0pt{\vskip0pt minus1fil\diag{20}{1}\hbox{}}|, -\enddisplay\item{} -verwendet, -w"ahrend f"ur negative Steigungen die -|\vtop|-Konstruktion -\begindisplay -|\vtop to0pt{\hbox{}\diag{20}{1}\vskip0pt minus1fil}| -\enddisplay -benutzt wird. Der so gewonnene Ansatzpunkt soll in der folgenden Skizze -verdeutlicht werden. -\par\par\vskip30pt -{\offinterlineskip -\hbox to\hsize{\hfill \leaders\hrule\hskip20pt -\hbox to0pt{\vbox to0pt{\vskip0pt minus1fil\diag{20}{1}\hbox{}}\hss}% -\leaders\hrule\hskip20pt -\hbox to0pt{\vtop to0pt{\hbox{}\diag{20}{-1}\vskip0pt minus1fil}\hss}% -\leaders\hrule\hskip40pt\hfill}} -\vskip20pt -\item{}Weitere Beispiele im Zusammenhang findet man -in den Notenbeispielen von Kapitel {\advance\chap4 \the\chap} -und im Anhang A. - -\subheading{Der Zeilenumbruchalgorithmus} -F"ur ein Textsatzsystem ist es notwendig, ein Verfahren bereitzustellen, -das eine Folge von Schriftelemen\-ten, d.h. einen Absatz, in Zeilen -einteilt, so da\3 ein gleich\-m"a\3iges Bild entsteht. -Zu l"osen ist also das Optimierungsproblem: - -{\leftskip30pt \sl -Finde eine Folge von Umbruchpunkten, -so da\3 der gesamte Absatz ``m"oglichst gleichm"a\3ig'' umbrochen -wird.\par} - -Ob ein Absatz (\tex{paragraph}) gut ausgeschlossen ist, wird nach drei -Kriterien beurteilt: -\item{$\bullet$}Ist ein Bruch der Zeile an \disp{dieser} Stelle geeignet? -\item{}Dies ist ein lokales Kriterium. Es wird bewertet, ob zum Beispiel -eine Formel ung"unstig getrennt wurde. -\item{$\bullet$}Ist der Ausschlu\3 der Zeile angenehm? -\item{}Dies ist ein globales Kriterum f"ur die Zeile. Bewertet wird, ob -z.B. eine Zeile zu locker oder zu eng ausgeschlossen wurde. -\item{$\bullet$}Gibt es gro\3e Unterschiede im Ausschlu\3 benachbarter -Zeilen? -\item{}Bewertet wird, ob z.B. eine Zeile eng ausgeschlossen wurde und -die folgende sehr locker. - -Es ist also eine Bewertungsfunktion gesucht, die diese Kriterien -ber"ucksichtigt, und das Optimierungsproblem wird durch Minimierung -dieser Bewertungsfunktion gel"ost. - -\subsubheading{Die Penalty} -D. E. Knuth f"uhrt ein weiteres Basiselement -ein, das eine Bewertung nach dem ersten Kriterium er\-m"oglicht. Die -\defi{Penalty} $p\in\rz$ beschreibt die ``"asthetischen Kosten'' f"ur -einen Umbruch an einer Stelle. Kleine Penalty-Werte bedeuten dabei -einen g"unstigen Umbruch, gro\3e einen ung"unstigen. \par -F"ur -$p\le-10\,000$ wird erzwungen, da\3 die Zeile an dieser Stelle -gebrochen wird, -w"ahrend $p\ge10\,000$ dies verhindert. - -Ein Spezialfall ist eine Penalty, der eine Breite $w$ zugeordnet ist. -Diese wird im Falle eines Umbruchs ber"ucksichtigt. Mu\3 z.B. ein Wort -getrennt werden, so ist $w$ die Breite des einzuf"ugenden -Trennungsstriches `-'. Es ist also m"oglich, zwischen Text, der -innerhalb einer Zeile gesetzt werden soll, und Text, der am Zeilenrand -auftritt, zu unterscheiden und ihm eine andere Bewertung zuzuordnen. - -Das zugeh"orige Kommando lautet: -\begindisplay -\hbox{\vo|\discretionary{|\voff}\<pre-break text>|}|% -|{|\<post-break text>|}{|\<no-break -text>|}|\;,\enddisplay -wobei die jeweiligen Textelemente vom Typ Box oder Kern sein m"ussen. -Wird die Zeile and dieser Stelle gebrochen, -wird der \tex{pre-break text} am Zeilenende und -der \tex{post-break text} am neuen Zeilenanfang eingef"ugt. Ist dies -nicht der Fall, so wird der \tex{no-break text} gesetzt. Der Wert der -Penalty an einem \tex{discretionary}-Kommando ist der Wert des -Parameters \hbox{\vo|\hyphenpenalty|\voff}, -falls ein \tex{pre-break text} angegeben wurde, - und der Wert des Parameters \hbox{\vo|\exhyphenpenalty|\voff}, falls der -\tex{pre-break text} fehlt. -\goodbreak -\subsubheading{Vereinbarung} -Im folgenden beschreibe die Folge \folg xn einen Absatz, wobei die -\folgi xjn Basis-Elemente sind. Die Folge \folgi tjn gebe den Typ des -jeweiligen Basis-Elementes an, d.h. -$t_j=\tbox$, falls $x_j$ eine Box\footnote{$^*$}{\noindent\verbatimon -F"ur die folgenden -"Uberlegungen bezeichne \tbox\ alle nicht entfernbaren Elemente. Dazu -geh"oren: Box-Elemente, wie sie in \XX\the\chap.1.1 beschrieben wurden, -|\discretionary|-Komandos -sowie |\special|-, -|\mark|-, |\vadjust|- -und -|\insert|-Kommandos, -die im \TeX-Book \lit{\Texbook} n"aher beschrieben -sind.} - ist, -$t_j=\tglue$, falls $x_j$ Glue ist, -$t_j=\tkern$, falls $x_j$ Kern ist und -$t_j=\tpenalty$, falls $x_j$ eine Penalty ist. -\folg wn , \folg yn und \folg zn seien -die jeweils zugeh"origen Attribute wie in \the\chap.1.2\XX, wobei -$y_j=z_j=0$ f"ur $t_j=\tbox$ oder $t_j=\tkern$ oder $t_j=\tpenalty$. - -\subsubheading{Definition der Umbruchpunkte} -Ein \defi{m"oglicher Umbruchpunkt} ist ein Index $e\in\{1,\ldots,n\}$, -f"ur den eine der folgenden Bedingungen (I)--(IV) erf"ullt ist: - -\item{(I)} $t_e=\tglue$ und $t_{e-1}=\tbox$, -\item{(II)} $t_e=\tkern$ und $t_{e+1}=\tglue$, -\item{(III)} $t_e=\tpenalty$, wobei $w_e=0$, -\item{(IV)} $x_e$ ist ein \tex{discretionary}-Kommando. - -Jedem Umbruchpunkt wird eine Penalty zugewiesen. -Dabei ist f"ur die F"alle -(I) und (II) $p_e=0$. F"ur (III) ist $p_e$ der Wert von $x_e$. -Der Wert der Penalty von (IV) ist, wie oben erw"ahnt, der -Wert von \hbox{\vo|\hypenpenalty|\voff} -bzw. von \hbox{\vo|\exhyphenpenalty|\voff}. - -Nicht jeder Umbruchpunkt ist jedoch als Zeilenendpunkt geeignet, -falls dadurch z.B. die -Zeile zu locker oder zu eng ausgeschlossen werden m"u\3te. "Ubersteigt -die Bewertung des Zeilenausschlusses (s. \the\chap.3.4\XX) -eine bestimmte Toleranzgrenze (i.e. der -Wert von \hbox{\vo|\tolerance|\voff}), -so wird dieser Umbruchpunkt aus der Liste der -m"oglichen Umbruchpunkte entfernt. Ein Punkt, dessen Bewertung kleiner -als die Toleranzgrenze ausf"allt, hei\3t \defi{legaler Umbruchpunkt}. - -\subsubheading{Bewertung der G"ute des Zeilenausschlusses} -Sei $r$ der zum Zeilenausschlu\3 geh"orige Proportionalfaktor -(s. \the\chap.2.1\XX) -mit der zugeh"origen Ordnung $i$ des Ausschlu\3materials -der Zeile. Die G"ute des Zeilenausschlusses wird quantitativ durch die -folgende Funktion ausgedr"uckt: -$$\beta(r,i)=\cases 0,&i\ne0\,,\\\min(100\,r^3,10000),&i=0\,.\endcases$$ -D. E. Knuth bezeichnet den Wert $\bar\beta=\beta(r,i)$ als -\defi{Badness} der Zeile. -Diese Funktion ist heuristisch so festgelegt worden, da\3 sie f"ur -kleine $r$ niedrige Werte liefert und f"ur gr"o\3ere $r$ schnell -anw"achst. - -Mit dieser Funktion k"onnen nun die Zeilenausschl"usse klassifiziert -werden: - -{\advance\iindent by 40pt -\item{$\bar\beta>100$} -Dieser Wert kann nur durch eine Erweiterung der Zeile - erreicht werden. In diesem Fall gilt $r>1$. Dies bedeutet eine -Streckung um "uber 100\% der totalen Streckbarkeit. -Eine solche Zeile wird als \disp{sehr locker} (\tex{very loose}) -klassifiziert. -\item{$12.5<\bar\beta\le100$}In diesem Fall gilt $0.5\le r\le 1$. -Es ist eine -Streckung bzw. Stauchung um mindestes 50\% der totalen Steckbarkeit bzw. -Stauchbarkeit notwendig. -Die Zeile wird daher bei Erweiterung als \disp{locker} -(\tex{loose}) und bei -Verringerung als \disp{eng} (\tex{tight}) klassifiziert. -\item{$0<\bar\beta\le12.5$} Es gilt $0\le r<0.5$ in beiden F"allen. -Eine solche Zeile wird als \disp{% -unauf\-f"allig} (\tex{decent}) klassifiziert. - -} -Man erh"alt also vier Klassen: {sehr locker, locker, unauff"allig -} und -{eng}. -Man definiert zwei aufeinanderfolgende Zeilen als -\defi{optisch inkompatibel}, -wenn sie nicht in der gleichen und nicht in benachbarten Klassen liegen. -\Bemerkung -Die Festlegung der Bewertungsfunktion $\beta(r,i)$ und damit die -Klassifizierung beruht auf der Annahme, da\3 die einzelnen -Gluekomponenten wie in \the\chap.1.2 -gew"ahlt wurden, so da\3 im Fall $r=1$ der -dadurch entstehende Freiraum noch akzeptabel ist. Bei Zeilenerweiterung -ist $r>1$ zul"assig, aber unerw"unscht, so da\3 die Funktion in diesem -Fall schnell hohe Werte annimmt. -\endBemerkung - -\subsubheading{Bewertung der Zeilen} -Eine Indexfolge - $b_1<\ldots<b_k$ legaler Umbruchpunkte eines Absatzes von -$k$ Zeilen, so da\3 -%Folgenelement $b_j$ angenommen wird, da\3 -$x_{b_j}$ letztes Element -der $j$-ten Zeile des Absatzes ist, hei\3t Zeilenendpunktfolge. - -\Bemerkung -Jeder erzwungene Umbruchpunkt mu\3 in jeder solchen Folge enthalten -sein. Es gilt immer $b_k=n$, denn beim Abschlie\3en einer horizontalen -Liste wird das letzte Element, falls es -Glue ist, entfernt. Gleichzeitig werden als weitere -Elemente -\begindisplay \verbatimon -|\penalty10000\hskip\parfillskip\penalty-10000|\verbatimoff -\enddisplay -\verbatimon -eingef"ugt. $x_n$ ist also immer eine Penalty, die erzwingt, da\3 die -Zeile an dieser Stelle gebrochen wird. -\endBemerkung - -Sei nun -$b_1<\ldots<b_k$ -die Folge von Zeilenendpunkten. Dann ist -dieser eine Indexfolge -$a_1<\ldots<a_k$ f"ur Zeilenelemente $x_{a_j}$ -zugeordnet, die jeweils -den Anfang der Zeile zu den jeweiligen Endpunkten markiert. -Diese Punkte werden festgelegt, indem man die Zeile an den Umbruchpunkten -$b_j$ teilt und zu Beginn jeder neuen Zeile alle Glue- und -Penalty-Elemente entfernt. Der Zeilenanfangspunkt $a_{j+1}$ ist dann -das erste Element f"ur das gilt $t_{a_{j+1}}=\tbox$. - -Genauer gilt: Sei $b_0=0 $. Ist -$$I_j =\{b_{j-1}<i<b_j\mid t_i=\tbox \text{ oder }t_i=\tpenalty -\text{ mit } p_i\ge-10000\}\;$$ aus allen Elementen der $j$-ten Zeile. -Dann ist $$a_j= \cases b_j\;,&\text{falls }I_j =\emptyset\\ - \min I_j\;,&\text{sonst.}\endcases$$ -Die $j$-te Zeile enth"alt dann also alle Elemente $x_i$ mit -$a_j\le i \le b_j$ und $i=b_j$, falls $t_{b_j}=\tpenalty$. - - -\Bemerkung -Die legalen Umbruchpunkte werden im Verfahren - so gew"ahlt, da\3 normalerweise kein -Glue am Zeilenende und am Zeilenanfang -steht, es sei denn durch ausdr"uckliches Kommando. Glue am Zeilenende -ist im Notensatz -jedoch erforderlich f"ur den Fall eines Zeilenumbruchs in der Taktmitte, -d.h. nach einer Note innerhalb des Taktes.\item{} -Glue am Zeilenende erh"alt man, indem man den {% -Interword Glue} ersetzt -durch eine Glue-Penalty-Folge der Art: -\begindisplay -|\penalty10000\hskip|$w$|\penalty0|, -\enddisplay -\item{} -wobei $w$ den zu setzenden Wert des Glue bezeichnet. -\item{} -Die Penalty 10000 unterdr"uckt, da\3 die Zeile an dieser Stelle gebrochen -wird. -Der Glue -wird nicht in die Liste der m"oglichen Umbruchpunkte aufgenommen, da die -Bedingung (I) nicht erf"ullt ist. Als Ausgleich wird die Penalty 0 in -die Liste aufgenommen. Wird die Zeile an dieser Stelle gebrochen, so -erscheint also Glue am Zeilenende. -\item{} -Glue am Zeilenanfang erh"alt man, indem man dem normalen -{Interword Glue} -die Box-Glue-Penalty-Folge -\begindisplay -|\penalty0\hskip|$-w$|\penalty10000\hskip|$w$ -\enddisplay -\item{} -hinzuf"ugt. -\item{} -Innerhalb der Zeile heben sich die Glues auf. Der einzige m"ogliche -Umbruchpunkt in dieser Folge ist die erste Penalty. Wird die Zeile an -dieser Stelle gebrochen, so wird der Glue bis zur Box entfernt, und es -erscheint Glue am Zeilenanfang. Ein Fehlen der leeren Box w"urde also -auch die Entfernung des zweiten Glues im Falle eines Zeilenbruchs an der -ersten Penalty bewirken. -\endBemerkung - -Mit diesen Voraussetzungen kann nun die Bewertung der einzelnen Zeilen -erfolgen. - -Seien $\beta_j$ und $p_j$ die dem Zeilenendpunkt der $j$-ten Zeile -zugeordnete Badness bzw. Penalty. Dann sind die sogenannten Kosten -(\tex{demerits}) $d_j$ f"ur diese Zeile definiert durch: - -$$d_j=\cases (l_j+\beta_j)^2 + p_j^2\;,&\text{falls }0\le p_j<10000,\\ - (l_j+\beta_j)^2 - p_j^2\;,&\text{falls }-10000< p_j<0,\\ - (l_j+\beta_j)^2\;,\hfill &\text{falls }p_j\le-10000,\endcases$$ -wobei $l_j$ ein Parameter ist, der je nach Wert die Gesamtkosten -erh"ohen oder senken kann. Dabei ist $l_j$ der aktuelle Wert von - \hbox{\vo|\linepenalty|\voff}. - -\Bemerkung -Die Unstetigkeitsstelle der Funktion f"ur $p_j\le-10000$ ist aus -programmiertechnischen Gr"unden eingef"ugt worden. Da in diesem Fall -$\beta_j$ in jeder Zeilenendpunktfolge enthalten ist, tr"agt es auch -nicht zur Minimierung der Bewertungsfunktion des gesamten -Absatzes bei (s. \the\chap.3.8\XX). -Es wird in diesem Fall also nicht zus"atzlich -noch ein gro\3er Wert abgezogen, um einem arithmetischen "Uberlauf -vorzubeugen. -\endBemerkung - -Zus"atzlich werden zu $d_j$ noch Kosten in Abh"angigkeit von der -Umgebung der Zeile addiert, und zwar: -der Wert von \hbox{\vo|\adjdemerits|\voff}, falls die Zeilen - $j-1$ und $j$ inkompatibel sind, -der Wert von {\vo|\doublehyphendemerits|\voff}, -falls sowohl $x_{b_{j-1}}$ als auch $x_{b_j}$ ein -\tex{discretionary}-Kommando ist, und -der Wert von {\vo|\finalhyphendemerits|\voff}, -falls $x_{b_{k-1}}$ ein \tex{discretionary}-Kommando ist. - -\subsubheading{Bewertung des Absatzes} - -Die Folge $b_1<\ldots<b_k$ von Umbruchpunkten, f"ur die -$\sum_{j=1}^k d_j$ minimal ist (Minimum der Summe der Quadrate der -Penalties und Badness jeder Zeile) wird als endg"ultige Folge -ausgew"ahlt. Damit wird meistens auch -$\max \beta_j$ minimiert, -aber nicht notwendigerweise. Dies ist auch nicht -erw"unscht, da mit der Methode der kleinsten Quadrate ein gleichm"a\3iger -Ausschlu\3 des gesamten Absatzes erzielt werden soll. - -\subsubheading{Bemerkungen zum Zeilenumbruch - und zur Wahl von Parametern} - -\item{1)}Durch Ver"andern der Parameter k"onnen verschiedenen Effekte -erzielt werden, z.B.: -\itemitem{a)}F"ur normalen Textsatz wird man -\hbox{\vo|\parfillskip 0pt plus 1fil|\voff} verwenden. -Setzt man -\hbox{\vo|\parfillskip 0pt|\voff}, so wird die letzte Zeile des -Absatzes bis zum Ende ausgeschlossen, was f"ur den Notensatz -erforderlich ist. -Ist der Text nicht lang genug oder -zu schmal, gibt es Schwierigkeiten, da zu wenig Streckm"oglichkeit -vorhanden ist und nicht gen"ugend Umbruchpunkte zur Wahl stehen. -\itemitem{b)} -Durch Erh"ohen von \hbox{\vo|\adjdemerits|\voff} kann man verhindern, -da\3 die Zeilen zu unterschiedlich ausgeschlossen werden. - -\item{2)} Der \TeX-Zeilenumbruchalgorithmus ist so konzipiert, -da\3 nicht sofort bei -der ersten Gelegenheit, sondern abh"angig von -den benachbarten Zeilen umgebrochen wird. Der -Algorithmus ist also in gewisser Weise voraus- bzw. -zur"uckschauend. - -\subheading{Der Seitenumbruch} - -Ist die optimale Folge von Umbruchpunkten gefunden, werden die einzelnen -Zeilen, verbunden durch {Interline Glue} (s. \the\chap.2.3\XX) -an die aktuelle ``Seitenliste'' angef"ugt. - -Zus"atzlich wird vor jedem Glue eine Penalty -eingef"ugt und danach vertikales Material, -das aus -der jeweiligen Zeile mit -\hbox{\vo|\vadjust{|\voff}\<vertical list>|}| ausgelagert wurde -in der Reihenfolge des Erscheinens (d.h. von links nach rechts). -Dieses eingef"ugte vertikale Material beeinflu\3t also nicht den -{Interline Glue}. - -\subsubheading{Die Seitenumbruchpunkte} -Das Verfahren f"ur den Seitenumbruch ist dem -Zeilenumbruchalgorithmus "ahnlich. - -Ein Seitenumbruch kann stattfinden -\item{a)} vor Glue, dem unmittelbar eine Box -der vertikalen Liste vorangeht, -\item{b)} vor Kern, falls dieser unmittelbar von Glue gefolgt -wird, -\item{c)}an einer Penalty. - -\subsubheading{Die Bewertung des Seitenumbruchs} -Eine Penalty $p\le-10000$ erzwingt somit einen Seitenumbruch. - -Jede Seite wird einzeln bearbeitet, d.h. es wird nicht wie beim -Zeilenumbruch voraus- oder zu\-r"uck\-schauend gearbeitet, -da dies zu viel Speicherungsaufwand erfordern w"urde. -Zu jedem in -Erw"agung gezogenen Seitenumbruchpunkt werden mittels einer -Bewertungsfunktion die ``Kosten'' $c$ berechnet: -$$c=\cases \beta\;, &\text{falls }\beta<\infty\text{ und } - p\le-10000\;,\\ - \beta+p\;, &\text{falls }\beta<10000 \text{ und }-10000<p<10000 - \;,\\ - 100000,&\text{falls }\beta\ge10000\text{ und }-10000<p<10000 - \;,\endcases$$ -wobei $\beta$ die Badness und $p$ die -zugeordnete Penalty bezeichnet. -Die {Badness} einer vertikalen Liste -wird im wesentlichen genauso berechnet wie die der horizontalen Liste. - -Die Kosten werden an jedem legalen Umbruchpunkt berechnet, solange bis -ein Umbruchpunkt gefunden wird, an dem das neuberechnete -$c$ gr"o\3er ist als das zuvorberechnete. Dann wird die Seite am -vorletzten Seitenumbruchpunkt umbrochen. -Nach dem Seitenumbruch werden alle folgenden -Glue-, Kern- und Penalty-Elemente der horizontalen -Liste solange entfernt, bis ein Box-Element erscheint. -Es kann also durch -\hbox{\vo|\penalty-10000\penalty-10000|\voff} in der vertikalen -Liste keine Leerseite erzeugt werden. - -\vfill\eject diff --git a/macros/mtex/documentation/mdoc6.tex b/macros/mtex/documentation/mdoc6.tex deleted file mode 100644 index 0296fcdc73..0000000000 --- a/macros/mtex/documentation/mdoc6.tex +++ /dev/null @@ -1,527 +0,0 @@ -\heading {R"aumliche Einteilung des Notenblattes} - -Das Grundproblem, das von jedem automatisierten Noten\-% -satzsystem gel"ost werden -mu\3, ist die ``grobe'' r"aumliche Einteilung des Notenblattes, so da\3 -das Erscheinungsbild "ubersichtlich und die Struktur des Musikst"uckes -erkennbar wird. Diese Einteilung sollte automatisch erfolgen und nicht -vom Benutzer des Notensatzsystems ausgef"uhrt werden. - -Das Problem der Gestaltung -der ``"au\3eren Form'' des Notenblattes -gliedert sich in -f"unf Teilprobleme: -\item{0)}Die Gestaltung der "Uberschriften, wie Angaben zu Titel, -Komponist und Textverfasser -\item{1)}Die Konstruktion des Notenliniensystems -\item{2)}Die gleichm"a\3ige vertikale Einteilung des Musikst"uckes, d.h. -das Abstecken -\item{3)}Das automatische Plazieren der jeweils g"ultigen -Notenschl"ussel, Vorzeichnung und Taktart -\item{4)}Die Strukturierung des Musikst"uckes durch Taktstriche - -Die L"osung dieser Teilprobleme ist abh"angig vom verwendeten -Notensatzsystem. -Spezielle Verfahren habe ich in der mir bekannten Literatur nicht -angetroffen. Im folgenden sollen die zugeh"origen Satz- und -Notationsregeln beschrieben und die zugeh"origen -Verfahren f"ur die Ausf"uhrung mit \TeX\ -angegeben werden. - -Da \TeX\ als Textsatzsystem zeilenweise arbeitet, konnte das -Notensatzsystem bisher nur f"ur ein Zeilensystem verwirklicht werden. -Da es zum Verst"andnis einiger Satzregeln jedoch notwendig ist, die -Regeln f"ur mehrzeilige Systeme zu kennen, soll hier auf die Angabe -dieser Regeln nicht verzichtet werden. - -\Bemerkung -Da \TeX\ ein Textsatzsystem ist, sind der Gestaltung der "Uberschriften -keine Grenzen gesetzt. Sie soll deshalb kein Thema dieser Arbeit sein. -Gourlay (\lit{\gourlay, S. 397}) schl"agt vor, den Titel zu -zentrieren, w"ahrend der Textverfasser und Komponist links- bzw. -rechtsb"undig darunter erscheinen sollen. Dieser Vorschlag wurde als -M"oglichkeit in das Notensatzformat aufgenommen. -\endBemerkung -\goodbreak -\subheading{Satz- und Notationsregeln zur r"aumlichen Einteilung} -\subsubheading{Das System} -\item{S1)} Die Notenschriftelemente werden in ein Zeilensystem mit -f"unf Notenlinien eingeordnet. -Dabei werden sowohl die Linien als auch die Zwischenr"aume -genutzt \lit{{\ziegen, \bf17}}. -Ein solches Zeilensystem wird in der Musiktheorie als -\defi{System} bezeichnet. -\item{S2)} Zur Notation mehrstimmiger Musik k"onnen mehrere Systeme -verwendet werden, die durch eine sogenannte \disp{Akkoladenklammer} zu -einer Akkolade zusammengefa\3t werden. (Die Taktstriche werden in diesem -Fall unter Ber"ucksichtigung der Instrumentengruppe in -Partituren durchgezogen.) -\item{S3)} Bei der Notation in \disp{einem} -Zeilensystem steht am Zeilenanfang kein Taktstrich. -\item{S4)} Die L"ange der Notenlinien einer Notenzeile -entspricht der Breite des -Notenblattes, jedoch ist es oft "ublich, die erste Zeile wie den Absatz -im Textsatz um einen gewissen Betrag einzuziehen. Dieser gewonnene -Trennraum wird oft zur Kennzeichnung des jeweiligen Instruments -verwendet. -\item{S5)} Der Abstand der Notenlinien entspricht der H"ohe eines -Notenkopfes. -\goodbreak -\subsubheading{Das Abstecken} -Im Gegensatz zum Handnotensatz wird das genaue Plazieren der einzelnen -Notenzeilen auf der Seite erst nach dem Zeilenumbruch vorgenommen, wenn -sich gen"ugend Material f"ur eine Seite angesammelt hat. Jedoch ist es -f"ur die gleichm"a\3ige vertikale Verteilung der einzelnen Notenzeilen -angebracht einen Mindestabstand der Notenzeilen anzugeben, wobei es -jedoch m"oglich sein mu\3, den Abstand zwischen den Zeilen zu erh"ohen, -falls die Noten oder unterlegte Texte weit in diesen Zwischenraum -ragen. - -Berechnungsgrundlage f"ur den Zwischenraum zwischen zwei Systemen ist das -Zweifache der H"ohe des Systems (\disp{Rastralh"ohe}). Die -Notenschriftelemente k"onnen also von oben und von unten bis zu einer -Rastralh"ohe in diesen Zwischenraum hineinragen. Wird dieser Betrag -"uberschritten, so mu\3 der Raum zwischen den Systemen - unbedingt vergr"o\3ert werden -\lit{\gomb}. - -Der Abstand ist so gew"ahlt, da\3 die Zwischenr"aume nur dann -vergr"o\3ert werden m"ussen, wenn Noten mit vier Hilfslinien dargestellt -werden m"ussen. - -\subsubheading{Regeln zum Satz von Notenschl"usseln, Vorzeichnung und -Taktart} - -\item{V1)} Zu Beginn jeder Notenzeile mu\3 der aktuelle Notenschl"ussel -zusammen mit der Vorzeichnung, d.h. der Tonartkennzeichnung, angegeben -werden. Dabei mu\3 der Notenschl"ussel immer der Vorzeichnung -vorangestellt sein. Dies entspricht der Regel 3) in der von K. Hader -aufgestellten -``musikalischen Orthographie''(\lit{\hader}): - -{\leftskip=30pt \rightskip=\leftskip \sl -Musikbeschriebene Notensysteme -ohne Schl"ussel und Tonart sind unbrauchbar.\par} -\item{V2)}Die Vorgaben zu Beginn des Musikst"uckes gelten f"ur das -gesamte Musikst"uck (\lit{\ziegen, S. 58}). -\item{V3)} Die Taktart soll -zu Beginn des Musikst"uckes angezeigt werden und -zwar direkt nach Notenschl"ussel und Tonart. -\item{V4)} Wechsel: Jeder Wechsel von Notenschl"ussel, Tonart oder -Taktart mu\3 im Notenbild angezeigt werden. - -\item{a)}Ein Taktwechsel kann -nur zu Beginn eines neuen Taktes erfolgen. Meist steht die ge"anderte -Taktangabe nach dem Taktstrich vor der ersten Note. Beginnt eine neue -Zeile mit Taktwechsel, so wird dies zus"atzlich am Ende der -vorhergehenden Zeile vermerkt. Bei h"aufigem Taktwechsel kann die -"Anderung, um Platz zu sparen, auch "uber dem System angegeben -werden, wobei kein zus"atzlicher horizontaler Raum ben"otigt wird. -\item{} -Bei regelm"a\3ig wiederholtem Taktwechsel braucht das Kennzeichen nicht -in jedem Takt erneut zu erfolgen. Die wechselnden Taktangaben k"onnen -einmalig zu Beginn angegeben werden (\lit{\ziegen}). -\Beispiel -{\parindent\iindent -\small -\beginsong -\vio\G\meter2/8\meter3/4% -\group{\\{\a{-1}}\\{\a0}\\{\a1}}{\\{-1}\\{0}\\{1}}\ubeam13\go\|% -\group{\\{\v{2}}\\{\v{-1}}} -{\\{1}\\{-1}}\lslur12\go\|\go\|\v2\.1\a3\v4\|\h2\v{-1}\| -\group{\\{\v2}\\{\v{-1}}} -{\\{1}\\{-1}}\lslur12\go\|\go\|\v2\.1\a3\v4\=% -\endsong -} -\endBeispiel -\vskip -1cm - -\item{b)} Ein Wechsel der Tonart kann nur am Anfang eines Taktes -angegeben werden. Dabei mu\3 die vorher g"ultige Tonart zun"achst -``aufgel"ost'' und die neue angegeben werden. -\Beispiel -{\hsize5cm\advance\hsize2\iindent\parindent=2\iindent -\loose -\beginsong -\vio\Es\hskip20pt\E\hskip20pt\hfill -\endsong} -\endBeispiel -\vskip -1cm -\item{} -Ein Tonartwechsel am Anfang einer neuen Zeile mu\3 zus"atzlich am Ende -der vorangehenden Zeile notiert werden. -\item{c)} F"ur den Wechsel des Notensch"ussels gelten die gleichen -Regeln wie unter b), jedoch kann ein Wechsel auch innerhalb des Taktes -vorkommen. In diesem Fall wird nur dann zus"atzlich horizontaler Raum -bereitgestellt, wenn nicht gen"ugend Freiraum von der vorangehenden Note -zur Verf"ugung steht. (\lit{\gomb}) - - -\item{d)} Beim Satz von Akkoladen gilt ein Wechsel von Taktart und -Tonart -global f"ur alle Systemzeilen, w"ahrend der Notensch"usselwechsel sich -nur lokal auf eine Zeile bezieht. -\item{e)} Die zur Kennzeichnung des Notenschl"usselwechsels -verwendeten -Notensch"ussel innerhalb einer Zeile sind normalerweise etwas kleiner -als am Zeilenanfang. Bei Wechsel des Notenschl"ussels "andert sich -zugleich die Position der Versetzungszeichen in der Vorzeichnung. -{\Beispiel -\hsize8cm -\advance\hsize2\iindent\parindent=2\iindent -\beginsong -\vio\C \hskip20pt\|\v2 \ \setbox\hunkbox\hbox{\music\char\hex48}% -\|\group{\\{\a1}\\{\a1}\\{\a1}\\{\a1}} -{\\{1}\\{1}\\{1}\\{1}}\ubeam14\go\setbox\hunkbox\hbox{% -\music\char\hex4A}\|\hskip10pt\hfill -\endsong\offinterlineskip -\parskip0pt -\endBeispiel} -\vskip -1cm -\subsubheading{Taktstriche} -\item{R1)} Taktstriche gliedern den musikalischen Ablauf im Notenbild. -\item{R2)} Im einstimmigen Satz befindet sich am Zeilenanfang kein -Taktstrich, im Satz von Akkoladen werden die einzelnen Systeme unter -Ber"ucksichtigung der Instrumentengruppen in Partituren -durchgezogen (\lit{\ziegen, \defi{44}f}). -\item{R3)} Gr"o\3ere Abschnitte werden durch \disp{Doppelstriche} -( \dbl\ ), -z.B. bei Tonartwechsel, voneinander getrennt. Das Ende -eines Musikst"uckes wird durch \disp{Schlu\3striche} ( \gleich\ ) -angezeigt (\lit{\ziegen, \defi{46}}). -\item{R4)} Soll ein Abschnitt wiederholt werden, so wird dies durch -Wiederholungszeichen angezeigt \hfill\break( \lrepeat \dots -\lrrepeat\dots\rrepeat\ ). Weicht beim Wiederholen der Schlu\3 -ab, so wird dies durch \disp{K"asten} vermerkt -( \vbox{{\offinterlineskip \dimen3=\ht\strutbox\advance\dimen3-0.2pt -\hbox to 40pt{\strut \vrule depth-3pt\rlap{1.}% -\leaders\hrule height \ht\strutbox depth-\dimen3\hfill\vrule depth-3pt} -\kern-3pt -\hbox to 40pt{\strut \vrule \hfill \dots\hfill:\kern2pt\vrule}}}\kern2pt -\vbox{{\offinterlineskip \dimen3=\ht\strutbox\advance\dimen3-0.2pt -\hbox to 40pt{\strut \vrule depth-3pt\rlap{2.}% -\leaders\hrule height \ht\strutbox depth-\dimen3\hfill}\kern-3pt -\hbox to 40pt{\strut \vrule width 2pt\hfill \dots\hfill }}} ) - -Eine weitere Strukturierung wird erreicht durch sogenannte -\disp{Orientierungsziffern} oder \disp{Buchstaben} \boxed1, -\ball1% -oder \boxed{\rm A}, die sich oberhalb eines Taktstriches befinden. Ebenso -werden Takte gez"ahlt und die Taktzahl am Anfang der Zeile vermerkt. - -Eine Notenzeile kann nur nach einem Taktstrich umbrochen werden. -Ausnahmen ergeben sich, falls die einzelnen Texte sehr gro\3en -horizontalen Raum beanspruchen und daher kein gleichm"a\3iger -Zei\-len\-umbruch erzielt werden kann. In einem solchen Fall darf in der -Taktmitte umbrochen werden. -\Bemerkung Da die Taktstriche im laufenden Text angegeben werden, wird -ihre genaue Positionierung in Kapitel {\advance\chap1 \the\chap} -beschrieben. \endBemerkung -\subheading{Ausf"uhrung des Absteckens} -\subsubheading{Einf"ugen von zus"atzlichem Notenschriftmaterial} -Das erste zu l"osende Problem ist das Einf"ugen von zus"atzlichem -Notenschriftmaterial in den fortlaufenden Text. -\item{1)} Jede Zeile ist mit Notenlinien zu unterlegen. -\item{2)} F"ur Notenschl"ussel und Vorzeichnung am Zeilenanfang ist -horizontaler Raum bereitzuhalten. -\item{3)} Der Wechsel von Notenschl"ussel, Vorzeichnung und Taktart am -Zeilenanfang ist am Ende der vorherigen Zeile nochmals anzuzeigen. - -Der Zeilenumbruchalgorithmus (s. {\advance\chap-1 \the\chap.3}\XX) -arbeitet so, da\3 mit dem Umbruch erst nach der Feststellung des -Absatzendes begegonnen wird. Dann gibt es jedoch keine -M"oglichkeit, anschlie\3end noch zus"atzlichen Text einzuf"ugen. - -\subsubsubheading{Verfahren 1} -Das \TeX-Kommando |\vadjust{|\<text>|}| erm"oglicht es, Text aus einer -horizontalen Liste {(s. \advance\chap-1 \the\chap.4\XX)} -in die "au\3ere vertikale Liste zu "ubertragen. -Der Text wird erst nach Abarbeitung des Zeilenumbruchalgorithmus -hinter der Zeile eingef"ugt, in der er aufgetreten ist. Bei konstanter -Zeilentiefe kann man durch negativen vertikalen Kern zur -Zeilengrundlinie zur"uckkehren und den Text z.B. an den Zeilenanfang -setzen. "Ubertr"agt man in jeder Zeile den aktuellen Notenschl"ussel und -die aktuelle Vorzeichnung sowie das Liniensystem mit |\vadjust| in die -vertikale Liste, so k"onnen diese Zeichen nachtr"aglich noch eingef"ugt -werden. - -Bei Verwirklichung dieses Verfahrens treten folgende Probleme -auf: -\item{1)} Das Makro |\vadjust| mu\3 so eingesetzt werden, da\3 es in jeder -Zeile mindestens einmal vorkommt, unabh"angig von der Zeilenl"ange. -\item{2)} Taucht das Makro |\vadjust| mehrfach in einer Zeile auf, so -wird nach obigem Schema die Vorzeichnung mehrfach "ubereinander\-gesetzt. -Bei Notenschl"ussel- oder Tonartwechsel innerhalb der Zeile werden so -verschiedene Zeichen "ubereinandergesetzt. -\item{3)} F"ur Notenschl"ussel und Vorzeichnung mu\3 am Anfang jeder -Zeile gen"ugend horizontaler Raum freigelassen werden. -\medskip -Die erste Forderung kann erf"ullt werden, indem man die -"Ubertragung in Verbindung mit dem Setzen eines Taktstriches vornimmt. -Da in konventioneller Musik in jeder Zeile mindestens ein Taktstrich -vorkommt, ist die aufgestellte Forderung hier erf"ullt. - -Das mehrfache "Ubereinandersetzen - kann nur verhindert werden, indem man ein Verfahren -sucht, das nur das erste der durch |\vadjust| in die vertikale Liste -hinter der jeweiligen "ubertragen Elemente ausw"ahlt und setzt. Dieses -Verfahren kann jedoch nicht mit \TeX\ allein realisiert werden, da es -keine M"oglichkeit gibt, das erste Element nach der Box mit dem -Zeileninhalt zu erkennen. Es gibt ein \TeX-Kommando (|\special|), das -Informationen an das Treiber-Programm des jeweiligen Ausgabeger"ates -"ubergibt, welches diese abh"angig von der Zeilen- und Spaltenposition -auf dem Notenblatt auswerten und entscheiden kann, welche Zeichenfolge -gesetzt werden soll. Dieses Verfahren ist jedoch kompliziert und macht -das Notensatzsystem vom Ausgabeger"at abh"angig. - -Das Einf"ugen von freiem Raum am Zeilenanfang -kann mittels des Zeilenumbruchalgorithmus einfach -gel"ost werden. Der Glue, der hinter jeder Note gesetzt wird, mu\3 so -gestaltet werden, da\3 bei Zeilen\-% -umbruch jeweils die Breite des aktuellen -Notenschl"ussels und der Vorzeichnung freigelassen wird. Eine -M"oglichkeit, dies zu erreichen, wurde bereits in {\advance\chap-1 -\the\chap.3.6\XX} gezeigt. -\Bemerkung \item{1)} Wie in Kapitel {\advance\chap-1 \the\chap} -beschrieben, ist es m"oglich, -hinter jedem Zeichen eine Penalty einzuf"ugen, um den Zeilenumbruch vor -einem -Notenschl"ussel und Vorzeichenwechsel zu unterbinden, aber den Umbruch -danach zu f"ordern, d.h. einen Wechsel am Zeilenende zu bevorzugen. -Man erh"alt so die neue Vorzeichnung oder den neuen Notenschl"ussel am -Zeilenende und am Anfang der neuen Zeile. Die Verdopplung der Taktangabe -bei Wechsel l"a\3t sich jedoch mit diesem Verfahren -nicht erreichen, da die -Taktangabe nicht an jedem Zeilenanfang angegeben werden mu\3. -\item{2)} Die angegebene L"osung ist nicht befriedigend, da sie vom -Ausgabeger"at abh"angig ist, au\3erdem die Tiefe der Zeilen konstant -sein mu\3 und nicht alle oben genannten Forderungen erf"ullt werden. - -\subsubsubheading{Verfahren 2} -Eine zweite M"oglichkeit, das Problem zu l"osen, ist durch das -|\discretionary|-Komman\-do (s. {\advance\chap-1 \the\chap.3.1% -}\XX) gegeben. -Dieses Kommando bewirkt, da\3 - im Fall des Zeilenumbruches am Zeilenende der \tex{pre-break text} und -am Anfang der neuen Zeile der \tex{post-break text} eingef"ugt wird, -andernfalls wird der \tex{no-break text} gesetzt. Jedoch d"urfen -die Texte nur Elemente vom Typ Box, Kern oder Penalty enthalten. Ein -Erweitern oder Verringern der Abst"ande in diesem Text ist also nicht - m"oglich. Dies ist auch zur L"osung des Problems nicht notwendig. - -\Beispiel -\item{} -Im normalen Textsatz ist die Kontrollsequenz -|\-| gleichbedeutend mit - \hbox{|\discretionary{-}{}{}|}. Wird |\-| an den Trennstellen eines -Wortes eingef"ugt, so wird also im Falle des Zeilenumbruches an einer -dieser Stellen ein Trennstrich - eingef"ugt, andernfalls nichts. -\item{} -Um eine -Trennung des Wortes \disp{backen} zu erm"oglichen, kann -|ba\discretionary{k-}{k}{ck}en| notiert werden. -Im Falle eines Zeilenumbruches wird -|ck| zu |k-k|. Mit diesem Verfahren k"onnen alle Forderungen, die durch -die Satz- und Notationsregeln zur Gestaltung der ``"au\3eren Form'' - gegeben -sind, erf"ullt werden. Dazu ist es jedoch notwendig, die den -Zeilenumbruch bestimmenden Parameter so zu "andern, -da\3 ein Zeilenumbruch -nur an einem \tex{discretionary}-Kommando stattfinden kann. Dies kann -erreicht werden, indem man sowohl |\hyphenpenalty| und -|\exhyphenpenalty| als auch den zus"atzlichen Kosten -|\finalhyphendemerits| und |\doublehyphendemerits|, die in -Abh"angigkeit von der Umgebung der Zeile addiert werden, jeweils -negative Werte zuweist, so da\3 ein Zeilenumbruch an einem -\tex{discretionary}-Kommando eine niedrige Badness erzeugt. - -\Bemerkung -\item{1)} Auch in diesem Fall ist es nicht vorteilhaft, neben den -Trennungsm"oglichkeiten an einem Taktstrich zus"atzliche -Trennungsm"oglichkeiten innerhalb eines Taktes, z.B. nach einer -Note, anzugeben, jedoch aus einem anderen Grund als bei der ersten -L"osungsm"oglichkeit. \par -\item{}Da der Wert von |\hyphenpenalty| sich nicht -"andert, w"urden Umbruchpunkte innerhalb eines Taktes genauso -bewertet wie Umbruchpunkte am Taktstrich. -Es ist also keine Unterscheidung mehr m"oglich. Dies widerspricht jedoch -der Forderung, da\3 ein -Bruch der Zeile am Taktstrich in jedem Fall zu -bevorzugen ist. Aus diesem Grund wurde das Notensatzsystem so -konzipiert, da\3 kein Bruch innerhalb eines Taktes stattfinden kann. -Ist dies dennoch erw"unscht, so k"onnen zus"atzlich -Umbruchm"oglichkeiten durch Angabe von |\-| z.B. in der Taktmitte -angegeben werden. - -\item{2)} Mit diesem Verfahren k"onnen die Linien erst in der zweiten -Zeile unterlegt werden. Die erste Zeile mu\3 daher gesondert bearbeitet -werden. Dies ist kein Nachteil, denn dieses Vorgehen erm"oglicht es, -einen Einzug der ersten Zeile zu ber"ucksichtigen. Dies wird im -n"achsten Abschnitt n"aher beschrieben. -\endBeispiel - -\subsubheading{Konstruktionen} - Im folgenden werden die Konstruktionen f"ur das Liniensystem sowie den -Takt-, Tonart- und Notenschl"usselwechsel beschrieben. - -\subsubsubheading{Konstruktion der Notenlinien} -Eine Notenlinie wird durch eine schwarz ausgef"ullte Box, - in der \TeX-Terminologie -mit \disp{Rule} bezeichnet, dargestellt. - Die H"ohe der Rule entspricht der St"arke einer d"unnen Linie - ({\advance\chap-2 \the\chap.3.3}\XX). -Die Breite wird durch die aktuellen -Seitenbreite (d.h. |\hsize|) gegeben, wobei die Breite in der ersten -Zeile um den Betrag des Einzuges (|\parindent|) verk"urzt ist. -F"unf dieser Linien werden in einem Abstand von einer Notenkopfh"ohe -untereinander gesetzt, d.h. in einer vertikalen Liste verarbeitet. - -Da das Liniensystem nur unterlegt werden soll, darf es nicht in die -horizontale Berechnung eingehen. Dies kann wie in -{\advance\chap-1 \the\chap.2.2} \XX -beschrieben, -durch Erzeugen einer horizontalen Box der Breite 0\pt\ geschehen, -wobei das Liniensystem "uber den rechten Rand hinausragt. - -Es ergibt sich so die folgende {Box-Glue-Kombination}: -\begindisplay -|\hbox to 0pt{\vbox{\hr\kern\nhh\hr\kern\nhh\hr\kern\nhh\hr|% -|\kern\nhh\hr}|, -\enddisplay - wobei |\hr| die Rule |\hrule height|\<Zeilenst"arke>| depth -0pt width|\<Zeilenl"ange> bezeichnet. -\Bemerkung -Das Liniensystem ist so angelegt, da\3 die unterste Linie mit -der Grundlinie der ganzen Zeile "ubereinstimmt ({\advance\chap-1 -\the\chap.2.4}\XX). -Dies erschien bei der Konzeption des Notensatzsystems unter Verwendung -von \TeX\ g"unstiger. In anderen Notensatzsystemen, z.B. dem von Gourlay -(\lit{\gourlay}) -wird jedoch die Mittellinie (dritte Linie) als Grundlinie -ausgezeichnet. - -\subsubsubheading{Der Taktwechsel} -Zu unterscheiden ist zwischen den beiden Taktartnotationen: -\item{a)} Taktangabe innerhalb des Zeilensystems, -\item{b)} Taktangabe oberhalb des Systems. - -Im Fall b) wird der Taktwechsel am Zeilenende nicht zus"atzlich -angek"undigt. Er soll deshalb hier nicht betrachtet werden. - -Die Forderungen an die Taktangabe k"onnen leicht erf"ullt werden durch -das Kommando - -|\discretionary{|\<Taktangabe>|}| -\par -\indent\hbox{}\hskip75pt -|{|\<Zeilensystem>\<Notenschl"ussel>\<Tonart>\<Taktangabe>|}| -\par -\indent\hbox{}\hskip75pt -|{|\<Taktangabe>|}|, - -wobei \<Taktangabe> die Box bezeichnet, die die aktuelle Taktangabe -enth"alt. Entsprechendes gilt f"ur \<Zeilensystem> und \<Tonart>. - -\subsubsubheading{Der Tonartwechsel} -Der Tonartwechsel kann auf "ahnliche Weise beschrieben werden. Jedoch -ist zu beachten, da\3 die vorher g"ultige Tonart aufgel"ost werden mu\3. -Dazu werden die Versetzungszeichen in zwei verschiedenen Token-Registern -gespeichert (s.\lit{\TeXbook, S.121 ff (Kap. 15)}), wobei das eine die -Versetzungszeichen der aktuellen Tonart und das -andere die aktuelle Tonart mit den jeweiligen Aufl"osungszeichen -enth"alt. - -Bei Tonartwechsel wird zun"achst nur das erste Register durch die neue -Tonart ersetzt, und nachdem der Doppelstrich, die ``aufgel"oste'' vorige -Tonart und die neue Tonart gesetzt wurden, das zweite Register durch die -aktuelle ``aufgel"oste'' Tonart ersetzt. \par -Die Forderungen, die an den -Tonartwechsel gestellt sind, werden dann durch das Kommando - -|\discretionary{|\<Doppelstrich>\<aufgel"oste Tonart>\<neue Tonart>|}| -\par -\indent\hbox{}\hskip75pt -|{|\<Zeilensystem>\<Notenschl"ussel>\<neueTonart>|}|\hfil\break -\indent\hbox{}\hskip75pt -|{|\<Doppelstrich>\<aufgel"oste Tonart>\<neue Tonart>|}|\par - -erf"ullt. - -Gleichzeitig mu\3 die Definition der Kontrollsequenz |\-|, - die den Zeilenumbruch nach einem -Taktstrich regelt, der neuen Tonart angepa\3t werden, und zwar in -\begindisplay -|\discretionary{}{|\<Zeilensystem>\<Notenschl"ussel>% -\<neue Tonart>|}{}|. -\enddisplay -\subsubsubheading{Der Notenschl"usselwechsel} -Im Unterschied zu Taktart und Tonart besitzt der Notensch"ussel im -Zeileninneren eine andere Gr"o\3e als am Zeilenrand, es mu\3 also ein -anderes Zeichen verwendet werden. Au\3erdem mu\3 nicht unbedingt -zus"atzlicher horizontaler Raum zur Verf"ugung gestellt werden. Aus -diesem Grund wird der Notenschl"ussel im Zeileninneren behandelt wie die -Versetzungszeichen vor einer Note im Taktinneren. Dies soll im n"achsten -Kapitel n"aher erl"autert werden. - -Wie bei der Tonart wird auch der Notenschl"ussel in einem Token-Register -gespeichert, das bei Schl"ussel\-wechsel ausgetauscht wird. Es ist zu -beachten, da\3 ein Schl"usselwechsel eine Umpositionierung der -Versetzungszeichen der Vorzeichnung notwendig macht. - -\Beispiel -%Versetzungszeichen -{\hsize7cm -\advance\hsize2\iindent\parindent=2\iindent -\beginsong -\vio\Es\hskip20pt \E\hskip20pt\bass\Es\ \hfill -\=\endsong} -\endBeispiel -\vskip-1cm - -\Bemerkung - -\item{1)} Da nur Taktart und Tonart einen \tex{pre-break text} -ben"otigen, -kann eine verfeinerte Bewertung erfolgen, indem man |\exhyphenpenalty| -und |\hyphenpenalty| verschiedene Werte zuweist, um einen Umbruch bei -Takt- oder Tonartwechsel zu bevorzugen. - - -\item{2)} Die genauen Definitionen sind im Format zu finden. -\endBemerkung - -\subsubheading{Abstecken} - -Das Problem des gleichm"a\3igen Absteckens kann mit \TeX\ auf einfache -Weise gel"ost werden, indem man nach dem in \XX -{\advance\chap-1 \the\chap.2.4} angegebenen -Verfahren den \tex{Interline Glue} festlegt. -Nach \XX \the\chap.1.2 -betr"agt die Berechnungsgrundlage f"ur den Abstand -zwischen zwei Liniensystemen zwei Rastralh"ohen. Dieser Wert wird nun -f"ur den nat"urlichen Abstand des Parameters |\baselineskip| angesetzt. - -F"ur den Parameter |\lineskiplimit| ist eine halbe Rastralh"ohe -vorgesehen. Dieser Wert wird auch f"ur den nat"urlichen Abstand von -|\lineskip| festgelegt. -W"ahlt man nun als Stauchm"oglichkeit f"ur |\baselineskip| und -|\lineskip| den gleichen Wert, so ist gew"ahrleistet, da\3 die Zeilen -sich bei maximaler Stauchung nicht "uberschneiden k"onnen. Die -Abst"ande k"onnen bis zu einer Rastralh"ohe vergr"o\3ert werden. - -Gebe der Parameter |\staffheight| - die Rastralh"ohe an. Dann -ergibt sich f"ur die {Interline-Glue}-Parameter: -\begindisplay -|\baselineskip = 3 \staffheight plus \staffheight minus 1/2 \staffheight| -\cr -|\lineskiplimit = 1/2 \staffheight| -\cr -|\lineskip = 1/2 \staffheight plus \staffheight minus 1/2 \staffheight| -\enddisplay - -Dieser Interline Glue wurde auch f"ur die -im Anhang D gesetzten Beispiele verwendet. - -\vfill\eject - diff --git a/macros/mtex/documentation/mdoc7.tex b/macros/mtex/documentation/mdoc7.tex deleted file mode 100644 index 574eda9eb4..0000000000 --- a/macros/mtex/documentation/mdoc7.tex +++ /dev/null @@ -1,398 +0,0 @@ -\heading{Punktierung bei einstimmigem Notensatz} -Im Noten\/\disp{satz}\/ bezeichnet \defi{Punktierung} die pr"azise -Bestimmung der horizontalen Position -aller Notenschriftelemente, die horizontal Raum erfordern \lit{\gomb}. -Diese ``pr"azise Bestimmung'' erfolgt im wesentlichen nach -Gesichtspunkten wie Gleichm"a\3igkeit und "Ubersichtlichkeit. -K. Hader (\lit{\hader}) dr"uckt dies so aus:\par\medskip -{\leftskip=30pt \rightskip=\leftskip\sl -Aufliegende Seiten sollen als m"oglichst gleichm"a\3iges Bild -erscheinen, nicht im Hinblick auf eine gleiche Taktanzahl (in den -Notenzeilen), sondern im gleichwertigen Raumverh"altnis gleichwertiger -Noten. -In dieses gleichwertige Raumverh"altnis sind aber nicht nur die Noten, -sondern auch die dazugeh"origen Versetzungszeichen, Wechselschl"ussel -u."a. einzubeziehen. Ganz besonders zu ber"ucksichtigen sind die Silben -der Gesangslinie bei Klavier- und Gesangssystemen.\par} -\medskip -D.A. Gomberg \lit{\gomb} teilt die Notenschriftelemente aus diesem Grund -in drei Gruppen ein: -\item{A)}Die Zeichen, die die horizontale Einteilung der Zeile, d.h. den -zeitlichen Ablauf des Musikst"uckes, bestimmen. -\item{}Dazu geh"oren: Noten (keine Vorschlagnoten), Pausen, Taktstriche, -Taktangaben und Vorzeichnung sowie alle Wertpunkte. -\item{B)}Die Zeichen, die ``in das gleichwertige Raumverh"altnis -einzubeziehen'' sind. Gomberg nennt diese Zeichen -\disp{Hunks}.\item{}Dazu geh"oren: Versetzungszeichen, -Wechselschl"ussel, Z"asuren, Vorschlagnoten u."a., sowie die Silben der -Gesangslinie. -\item{C)}Die Zeichen, die keine horizontale Auswirkung haben. Dies sind -z.B. alle Zeichen, die in den freien Raum ober- oder unterhalb der -Noten, d.h. vertikal, ausweichen k"onnen. -\item{}Dazu geh"oren: Akzente, -Spielanweisungen, Bogen, Balken und Crescendo-Zeichen. -\par -\medskip -Die Punktierung bezieht sich also auf die Positionierung der Elemente -der Gruppen A und B nach den Gesichtspunkten, die Hader angibt. -Auf die Positionierung der Elemente der Gruppe C soll in den folgenden -Kapiteln {\advance\chap2 \the\chap} -und~{\advance\chap3 \the\chap} n"aher eingegangen werden. \XX - - -\subheading{Regeln zur Bestimmung des Ausschlusses} -Das Punktierungsproblem -l"a\3t sich zur"uckf"uhren auf die Bestimmung eines -geeigneten Ausschlu\3\-schemas. -\subsubheading{Ausschlu\3schemata}\par -Wie schon mehrfach erw"ahnt, l"auft die Notenschrift einer Komposition -entlang einer gedachten horizontalen Zeitachse. -Um die zeitliche Struktur der Komposition leichter erfassen zu k"onnen, -wird jeder Note zus"atzlich zu ihrer \disp{Gestalt} ein vom Notenwert -abh"angiger \disp{Raum} zugeordnet, in dem sie plaziert wird. -Diese Abbildung ist aus satztechnischen Gr"unden nicht linear bzgl. der -Tondauer und nicht eindeutig f"ur jede Art von Musikst"uck festgelegt. -Meist bestimmt der Setzer selbst die Art des Ausschlusses. - -K. Hader \lit{\Hader} gibt f"ur den Handnotensatz -als Richtschema f"ur den Ausschlu\3 einzelner -Notenwerte innerhalb einer Notenzeile eines Systems folgende Faustregel -an: - -Der horizontale Raum, den eine Viertelnote einnimmt, entspricht -dem Raum, den $1\frac12$ Achtelnoten einnehmen w"urden. -Der Raum, den eine Halbenote einnimmt, entspricht dem Raum von -2 Achtelnoten, der Raum, den eine - Ganzenote einnimmt, dem von 3 Achtelnoten. - -Dabei wird der Raum, den eine Achtel einnimmt, -nach dem Inhalt der jeweiligen Notenzeile bestimmt. - -D.~A.~Gomberg~\lit\gomb\ beschreibt ein anderes Vorgehen. -Nach Gomberg bestimmt der Setzer zun"achst einen \disp{Grundnotenwert}. -Dies ist -der am h"aufigsten auf dem Notenblatt auftretende Notenwert. -Der den Notenwerten zugeordnete Raum ist eine -Funktion dieses Grundnotenwertes. -Als horizontale Ma\3einheit w"ahlt -Gomberg die Breite eines ausgef"ullten -Notenkopfes. Ihr entspricht in unserem Notensatzsystem der Wert von -|\nhw| (s. {\advance\chap-3 \the\chap}.3.3). - -Im Gegensatz zu Hader arbeitet -Gomberg mit folgender Tabelle als Richtschema (in Einheiten von |\nhw|): -\medskip -\setbox0=\vbox{\offinterlineskip% -\halign{\strut#\hfil&&\vrule\quad #\hfil\quad\cr -Bezeichnung des Ausschlusses\quad -&\hfil ``Sechzehntel''&\hfil ``Achtel'' -&\hfil ``Viertel''&\hfil ``Halbe''\cr -\noalign{\hrule} -``eng''&1.5&2.5&3.5&4.5\cr -``universell''&2&3&4&5\cr -``weit''&2.5&3.5&4.5&5\cr -``locker''&3&4&5&6\cr -``sehr locker''&3.5&4.5&6&7\cr}}\centerline{\box0} -\medskip -Die Werte in den Zeilen geben jeweils den Raum, den eine Note mit -jeweiligem Notenwert ben"otigt, f"ur ein Ausschlu\3schema an. -F"ur kleinere bzw. gr"o\3ere Notenwerte als die in der Tabelle -vorhandenen werden die Werte der ersten -bzw. letzten Spalte der Tabelle benutzt. - -\Beispiel -Zur Anwendung bestimmt man -den Grundnotenwert, z.B. ``Achtel'', -und w"ahlt einen Ausschlu\3 der zugeh"origen Spalte, -z.B. 3.5|\nhw|. -Dann sind die zugeh"origen Ausschl"usse f"ur alle anderen -Notenwerte in der gleichen Zeile der Tabelle zu finden, in der sich der -Ausschlu\3 des Grundnotenwertes befindet (im Beispiel: ``weit''). -\endBeispiel - -Bei diesem Vorgehen werden die Abst"ande zu Beginn -festgelegt und sind im -wesentlichen nicht mehr ver"anderbar. Im Unterschied dazu wird bei Hader -erst in jeder einzelnen Zeile der Raum, den eine Achtel einnimmt, -bestimmt. Dieses Vorgehen ist aber beim automatisierten Notensatz nicht -m"oglich, da der Inhalt der Zeilen erst nach Ablauf des Zeilenumbruch\-% -algorithmus bekannt ist. - -\Bemerkung -\item{1)}Das obige Ausschlu\3schema gilt bei Noten ohne Wertpunkt -(s. {\advance\chap-3 \the\chap}.3.1). -Jedem Wertpunkt wird zus"atzlich ein horizontaler Raum -von 0.5|\nhw| zugewiesen. Diese Erweiterung ist also -nicht abh"angig vom Notenwert. - -\item{2)}Die Abstandsverh"altnisse aller -F"alle, die Gomberg angibt, entsprechen nicht - Haders Richtschema. -Nur der ``enge'' Ausschlu\3 kommt diesem nahe. -Dieses Schema erscheint Gomberg demnach nur -f"ur sehr engen Ausschlu\3 g"unstig, -denn bei lockerem Satz ordnet er einer Halben weniger freien Raum zu. -Unterschiedlich ist auch, da\3 Gomberg -Halbe und Ganze in dieser Hinsicht gleichbehandelt, wohingegen - Hader keine Angaben zum Ausschlu\3 -von kleineren Notenwerten wie Sechzehntel usw. macht. -\item{} -Ein Vergleich verschiedener Notenbl"atter verschiedener Verlage -zeigt, -da\3 sowohl -Ganze und Halbe als auch Sechzehntel und kleinere -Notenwerte unterschiedlich ausgeschlossen werden. - -\item{3)}Im Gegensatz zum manuellen Satz ist es beim -automatisierten Layout-Proze\3 notwendig, die Abst"ande zu Beginn des -Musikst"uckes zuzuweisen, um einen gleichm"a\3igen Ausschlu\3 zu -gew"ahr\-leisten. -\item{} -Gomberg hat mit seinem - Verfahren in den meisten F"allen Ergebnisse, -``die einem als angenehmste auffallen'', mit ``universellem'' Ausschlu\3 -erzielt. Dieser erlaubt -das Einf"ugen von Versetzungszeichen und -einigen anderen Verzierungen der Note ohne Vergr"o\3erung des -Zwischenraumes zwischen den Noten. \item{} -Das Einf"ugen von Versetzungszeichen -u."a. ist ein Problem des automatisierten sowie des manuellen Notensatzes -und wird daher sp"ater noch genauer behandelt (s. \the\chap.2.2\XX). -\endBemerkung - -\subsubheading{Hunks} -Eine Note kann neben Notenwert und Tonh"ohe (siehe Kapitel -{\advance\chap1 \the\chap}), -die ihre Gestalt bestimmen, -noch weitere Attribute besitzen, die meistens durch Voranstellen eines -Zeichens ausgedr"uckt werden. Diese Elemente wurden in Gruppe B zusam\-% -mengefa\3t. Sie ben"otigen -horizontalen Raum und st"oren somit die Regel, da\3 die Horizontale den -zeitlichen Ablauf darstellt. -Gomberg verwendet daf"ur den Ausdruck ``Hunks'', was etwa -bedeutet, da\3 beim Satz solcher Zeichen mit horizontalem Raum zu -``geizen'' ist. - -\defi{Hunks} sind also -Notenschriftelemente, die in vorhandenen horizontalen -Freiraum einzuf"ugen sind. Nur bei drohender "Uberlappung mit anderen -Notenschriftelementen ist dieser Raum zu erweitern. - -\subsubheading{Kriterien f"ur den Zeilenumbruch beim Notensatz} - -Die Kriterien, die den Zeilenumbruch eines Musikst"ucks bestimmen, sind -andere als die f"ur den Textsatz. Die Kriterien, die \TeX\ f"ur den -Textsatz verwendet und unterst"utzt, k"onnen also nicht unbedacht -"ubernommen werden. -Im Unterschied zum Notensatz wird das Einf"ugen eines Umbruchpunktes - direkt nach einem Wort unterst"utzt. Darauf wird -nachfolgender Glue -bis zum n"achsten Wort entfernt. Da -die letzte Zeile nicht bis zum Ende aufgef"ullt sein mu\3, -kann ein gleichm"a\3iger Umbruch erzielt werden. - -Dem gegen"uber mu\3 f"ur den Zeilenumbruch beim Notensatz zwischen -einzelnen Notenschriftelementen unterschieden werden. -Dies bedeutet: -\item{1.} Umbruch direkt nach einer Note ist nicht erlaubt, -\item{2.} Umbruch direkt vor -einer Note ist nur ausnahmsweise in der Taktmitte erlaubt, -\item{3.} Umbruch direkt vor einem Taktstrich ist nicht erlaubt, -\item{4.} Umbruch direkt nach Taktstrich ist erw"unscht und g"unstig, -\item{5.} Umbruch zwischen Hunks und Note oder Taktstrich ist -nicht erlaubt. -\item{6.} Am Zeilenanfang m"ussen Notenschl"ussel -und Vorzeichnung eingef"ugt werden (s. Kapitel -{\advance\chap-1 \the\chap}). - - -\subheading{Ausf"uhrung des Punktierens} -\subsubheading{Bestimmung der Zeilenauschlu\3parameter} - -Wie in {\advance\chap-2 \the\chap}.2.1\XX\ -bemerkt, steuert \TeX\ den Zeilenauschlu\3 im wesentlichen -durch den Glue hinter jedem Wort abh"angig vom Wert des Glueparameters -|\spaceskip|. - -Der Notenfont kann nicht als normaler Textfont aufgefa\3t werden, -sondern "ahnelt in seinem Aufbau einem mathematischen Zeichensatz, -da eine Note erst aus mehreren Elementen -des Zeichensatzes zusammengesetzt werden mu\3. Aus diesem Grund wurde -der dem Notenfont zugeh"orige Glue -(\tex{Interword Glue}) wie in einem mathematischen Zeichensatz -mit 0\pt\ vorbelegt \lit\Texbook. - -Jedem Notenwert kann nun ein Glue zugewiesen werden, der - dem Glueparameter |\spaceskip| zugewiesen wird, - wenn eine Note -dieses Notenwertes gesetzt werden soll. - Sollte es vorkommen, da\3 der -|\spaceskip| verschwindet, so kann auch durch den Interword Glue kein -Vorschub erfolgen. -Abh"angig von der -Breite der einzuf"ugenden -Hunks wird dieser |\spaceskip| nochmals ver"andert (s. \the\chap.2.2). -Dabei kann es vorkommen, da\3 im Laufe der Berechnungen sich -|\spaceskip| = 0 pt ergibt. Nach der Regel w"urde in diesem Fall der -{Interword Glue} des aktuellen Fonts eingef"ugt. Da dieser jedoch mit 0 -pt vorbelegt ist, kann kein Vorschub erfolgen. - -Es haben sich verschiedene Ausschlu\3schemata ergeben -auf die durch Aufruf der -Makros |\hsmall| (Hader), |\small|, |\universal|, |\wide| -und |\loose| (Gomberg) zugegriffen werden kann. -Dem Benutzer steht es frei, diese Makros zu "andern. -Es ist so m"oglich, jeden beliebigen Ausschlu\3 zu verwenden. - -F"ur die vorgegebenen -Ausschlu\3verfahren wurden die Verfahren von Gomberg und Hader -kombiniert. -Der Raum $w$, der einem Notenwert zugewiesen wird, richtet sich jeweils -nach einem fest vorgegebenen Ausschlu\3schema in der von Gomberg -angegebenen Art. -Aus diesen Abst"anden -erh"alt man als Richtschema die -Raumverh"altnisse der einzelnen Notenwerte untereinander. - -Mit diesem Richtschema k"onnen nun die Gluekomponenten bestimmt werden -unter Ber"ucksichtigung der folgenden "Uberlegungen: -\medskip -\item{1)}Der nat"urliche Abstand des zugeordneten - Glue entspricht immer $w-\hbox{|\nhw|}$. -\item{2)} -Die Streck- und Stauchkomponenten eines -einzelnen Glue werden so gew"ahlt, -da\3 sie das Raumverh"altnis der Notenwerte ausdr"ucken. Aus der -Berechnung des Proportionalit"atsfaktors $r$ (s. -{\advance\chap-2 \the\chap}.2.1\XX) -folgt sofort, da\3 -die Raumverh"altnisse in jeder -Zeile erhalten bleiben. -W"ahlt man f"ur alle Streck- und Stauchkomponenten jeweils den gleichen -Wert, so wird jedem Glue der gleiche konstante Wert -angef"ugt bzw. entfernt. - -\Bemerkung -F"ur den Ausschlu\3 in -komplizierteren Notengebilden, wie z.B. verbalkten Noten, l"a\3t sich -dieses Verfahren jedoch nicht mehr gleichm"a\3ig durchf"uhren. - -\item{}Da Notengruppen dieser Art in einer Box -zusammengefa\3t werden m"ussen (s. {\advance\chap2 \the\chap}.3\XX), -verlieren die inneren Noten - alle Stauch- und -Streckm"oglichkeit, da z.B. die L"angen der Balken nur f"ur die -nat"urliche Breite berechnet werden k"onnen. -In einem solchen Fall wird also bei Zeilenausschlu\3 nur der nat"urliche -Glue eingef"ugt. -Aus diesem Grund wurden die -"ubrigen Streck- und Stauchm"oglichkeiten -nicht zu gro\3 angesetzt, da sich dies sonst -optisch ung"unstig auswirkt. - -Beispiele f"ur die verschiedenen Ausschlu\3schemata, die in das -entwickelte Format aufgenommen wurden, sind im Anhang A -zu finden. -(|\hsmall| entspricht dem vom Hader vorgegebenen -Ausschlu\3schema, wenn man als Einheit -wiederum |\nhw| verwendet. Der Ausschlu\3 ``sehr locker'' wurde nicht -realisiert.) - -\subsubheading{Einbeziehen der Zeichen der Gruppe B}\par - -F"ur den einfachen Notensatz ist es nur notwendig, zu wissen, ob vor der -Note f"ur Hunks gen"ugend Platz vorhanden ist. Dies legt es nahe, -den einer Note zugeordneten Glue - erst dann endg"ultig einzuf"ugen (durch |\|{\tt\char`\ }), -wenn bekannt ist, ob f"ur Hunks Raum ben"otigt wird. -Dazu werden Hunks, die zwischen zwei Noten oder -zwischen Note und Taktstrich oder -Taktstrich und Note auftreten, -in einer Box akkumuliert. Abh"angig von der Breite dieser -Box kann nun der erforderliche -Glue zwischen den Noten festgelegt werden. Dann erst wird diese Box -zusammen mit dem zugeh"origen Notenschriftelement plaziert. - -Ist die Breite der ``Hunkbox'' kleiner als der nat"urliche Abstand des -aktuellen |\spaceskip|, so bleibt der |\spaceskip| unver"andert, -andernfalls wird der nat"urliche Abstand des -|\spaceskip| um die Differenz erh"oht. -W"ahrend die Streckm"oglichkeit des aktuellen |\spaceskip| -erhalten bleibt, wird die Stauchm"oglich\-keit entfernt. - - -\subsubheading{Einf"ugen von Glue zwischen Elementen der Gruppe A} - -Im vorigen Abschnitt wurde das Ausschlu\3schema f"ur Noten bestimmt. -Dieses kann auch f"ur den Ausschlu\3 der Pausen verwendet werden. - -F"ur den nat"urlichen Abstand nach Taktstrichen wurden in der Literatur -keine Werte angegeben. Der Vergleich mehrerer Notenbl"atter ergab jedoch -einen mittleren Abstand von |\nhw|. Dies ist auch der Abstand, der -"ublicherweise nach Notenschl"ussel und Vorzeichnung am Zeilenanfang und -nach Taktwechsel eingehalten wird. - -F"ur die restlichen Zeichen der Gruppe A wurde also nur ein einziger -Glueparameter verwendet. Dies tr"agt dem Gesichtspunkt der -Gleichm"a\3igkeit Rechnung. - -Da ein Zeilenumbruch nach einem Taktstrich vorzuziehen ist, gliedert -sich das Bestimmungsproblem des geeigneten Glue zwischen zwei Elementen -der Gruppe A auf in die Festlegung des Glue an Taktstrichen und der -Festlegung des Glue vor den anderen Zeichen der Gruppe A. Dies soll im -folgenden f"ur die Noten durchgef"uhrt werden. - -\subsubsubheading{Das Festlegen der Box-Glue-Penalty-Folge vor Noten} -Das Festlegen des Glue vor Noten geschieht nach folgenden -Gesichtspunkten: -\item{1)} -Es mu\3 eine M"oglichkeit vorhanden sein f"ur einen Zeilenumbruch -zwischen zwei Noten. Dabei mu\3 ber"ucksichtigt werden, da\3 nicht direkt nach -der vorangehenden Note umgebrochen wird, -sondern der zugeh"orige |\spaceskip| am Zeilenende gesetzt wird. -\item{2)}Es m"ussen eventuell auftretende Hunks vor der Note einbezogen -und dabei ein Umbruch zwischen Hunks und Note verhindert -werden. - -Nach den Kriterien f"ur Umbruchpunkte -(s. {\advance\chap-2 \the\chap}.3.3\XX) kann -ein Umbruch nach einem Glue-Element erzielt werden mit -\begindisplay -|\penalty10000\|{\tt\char`\ }|\penalty| \hbox{$x$}\,. -\enddisplay -Dabei bedeutet -|\|{\tt\char`\ }, da\3 Glue vom aktuellen Wert von |\spaceskip| gesetzt -wird. -|\penalty10000| verhindert einen Umbruch vor dem Glue, wogegen die -zweite Penalty einen m"oglichen Umbruchpunkt bildet, falls $x<10000$. - -Es mu\3 ber"ucksichtigt werden, da\3 Hunks vor Noten -abh"angig sind vom |\spaceskip| der vorangegangenen Noten. -Die Hunks werden in den vorhandenen Raum zwischen zwei Noten eingef"ugt. -Es ergibt sich also eine Folge -\begindisplay -|\penalty10000\|\hbox{{\tt\char`\ }}|\penalty|\hbox{$x$}% -|\hskip-\hunkskip\box\hunkbox|\;, -\enddisplay -wobei |\hunkskip| die Breite der ``Hunkbox'' angibt. -Bei Umbruch an der Penalty $x$ erscheint -der Glue der vorangehenden Note am Zeilenende und -|\hunkskip| wird entfernt. Das erste Element der neuen Zeile wird -der Inhalt der |\hunkbox|. - -F"ugt man an Stelle von |\penalty| $x$ das |\discretionary|-Kommando -von {\advance\chap-2 \the\chap}.3.1\XX\ ein, -so erh"alt man alle in \the\chap.1.3\XX\ geforderten Eigenschaften f"ur -den Umbruch zwischen zwei Noten. -Es ergibt sich so -\begindisplay -|\penalty10000\|\hbox{{\tt\char`\ }}|\-|% -|\hskip-\hunkskip|\;. -\enddisplay - -\subsubsubheading{Glue an Taktstrichen} -Der Glue vor Taktstrichen entspricht dem Glue vor Noten, jedoch darf ein -Umbruch an dieser Stelle nicht erlaubt werden. Aus diesem Grund wird -|\-| nicht vorher eingef"ugt, sondern erst direkt nach dem Taktstrich. - -\vfill\eject diff --git a/macros/mtex/documentation/mdoc8.tex b/macros/mtex/documentation/mdoc8.tex deleted file mode 100644 index d766fa8211..0000000000 --- a/macros/mtex/documentation/mdoc8.tex +++ /dev/null @@ -1,617 +0,0 @@ -\heading{Setzen der Notenschriftelemente} - -\def\adchap#1{{\advance\chap#1{}\the\chap}} -In diesem Kapitel sollen die wichtigsten Notenschriftelemente behandelt -werden. Dabei wird jedoch das Setzen der ver"anderlichen Zeichen wie -z.B. der -Balken und Bogen sowie der Artikulationszeichen und anderer Zeichen, -die keinen horizontalen Raum ben"otigen, -in den folgenden Kapiteln~\adchap1 -und~\adchap2 behandelt. -Die Umgebung des mehrstimmigen Notensetzens wird in -Kapitel~\adchap3 beschrieben. -\subheading{Regeln zur Notation der Notenschriftelemente} - -\item{N1)} Der Aufbau der Noten: - -\item{} -Die Note besteht aus dem hohlen oder ausgef"ullten Kopf und dem Hals, der -oft auch als Stiel bezeichnet wird und -an dem ein oder mehrere F"ahnchen angebracht sein k"onnen. - -\item{N2)} Akkorde: -\item{} -Erklingen mehrere T"one gleichzeitig, so verbindet man sie -mit einem \disp{gemeinsamen} Hals. - -\item{N3)} Balken: -\item{} -Mehrere aufeinanderfolgende kleine Notenwerte schreibt man in der -\disp{Vokalmusik} mit F"ahnchen, wobei jeder Textsilbe ein eigenes, von -den anderen getrenntes Notensymbol zugeordnet wird. In der -\disp{Instrumentalmusik} findet ausschlie\3lich die Schreibweise mit -Balken Anwendung. Die Anzahl der Balken entspricht der Anzahl der -F"ahnchen. - -\item{N4)} Die Stellung der Halsrichtung: -\itemitem{a)} Einzelne Noten auf oder "uber der Mittellinie erhalten bei -einstimmiger Notation den Hals links vom Kopf nach unten angebracht. -Noten unterhalb der Mittellinie sind rechts vom Kopf nach oben zu -stielen. - -\itemitem{b)} Bei Akkorden richtet sich die Stellung und Richtung des -Notenhalses nach der am weitesten von der Mittellinie entfernten Note -(\disp{Bezugsnote}). Bei gleichem Abstand weist der Hals nach unten. - -\itemitem{c)} Bei zu verbalkenden Noten richtet sich die Lage des Balkens -und damit die Richtung aller Notenh"alse dieser Notengruppe entweder wie -bei Akkorden nach dem am weitesten von der Mittellinie entfernten -Notenkopf (\lit{\ziegen}), oder er -wird durch die Lage der Mehrzahl der Noten der Gruppe bestimmt. - -\itemitem{d)}Wird zweistimmig in {einem} System notiert, so gilt: - alle Noten der Oberstimme sind nach oben, -die der Unterstimme nach unten zu stielen. -\itemitem{} -Aus der Stimmf"uhrung kann sich ergeben, da\3 Zweistimmigkeit in -Einstimmigkeit "uber geht. Dann erhalten diese Noten jeweils einen Hals -nach oben und nach unten. -Dabei sind die 7. und 8. Orthographische Regel von -K. Hader (\lit{\hader}) zu beachten: - -{\leftskip=60pt\rightskip=30pt\sl -Eine ``ausgef"ullte'' (schwarze) und eine ``hohle'' Note, ebenso eine -Note -mit Wertpunkt und eine Note ohne Wertpunkt k"onnen gleichzeitig niemals -durch eine doppeltgestrichene ``hohle'' oder ``ausgef"ullte'' Note -dargestellt werden. Eine doppeltgestrichene schwarze Note ohne Wertpunkt -kann nach beiden Seiten einen verschiedenen Wert darstellen. -\par} - -\Beispiel - -{\hsize8cm -\advance\hsize2\iindent -\parindent2\iindent -\small -\beginsong -\vio\C\two{\v5}{\v3}\two{\v4}{\v4}% -\two{\group{\\{\v5}\\{\v6}}{\\{5}\\{6}}\ubeam12\go} -{\group{\\{\v2}\\{\v3}}{\\{2}\\{3}}\lbeam12\go}\two{\v7}{\v3}\|% -\two{\group{\\{\hskip\seminhw\v1}\\{\global\advance\sk-\seminhw -\v3}}{\\{1}\\{3}}\ubeam12\go} -{\group{\\{\v5}% -\\{\v3}}{\\{5}\\{3}}\lbeam12\go}\two{\v3}{\v3}\two{\h5}{\h3}\|% -\hfill -\endsong} -\endBeispiel -\vskip-1cm - -\item{N5)}Die L"ange des Notenhalses: -\item{} Die L"ange des Notenhalses ist -nicht konstant f"ur alle Noten, sondern abh"angig von der Position im -Liniensystem. Die L"ange des Notenhalses bei Akkorden richtet sich nach -der am weitesten von der Bezugsnote entfernten Note. F"ur die L"ange des -Notenhalses innerhalb einer Balkengruppe gelten gesonderte Regeln -(s. {\advance\chap1 \the\chap.1.2}\XX). - -\item{N6)} F"ahnchen: - -\item{} -F"ahnchen an einzelnen Noten werden immer rechts vom Notenhals notiert. -Sie werden auch nicht in die horizontale Berechnung z.B. f"ur den -Abstand zwischen zwei Noten einbezogen. - -\item{N7)} Hilfslinien: -\item{} -Noten, die au\3erhalb des Liniensystems positioniert werden m"ussen, sind -mit Hilfslinien zu notieren. -\item{N8)} Stellung der Notenk"opfe bei Akkorden\item{} -Gibt es innerhalb eines Akkordes Sekundintervalle, so wechselt der -Notenkopf der am weitesten von der Bezugsnote entfernten Note des -Intervalls auf die andere Seite des Notenhalses. - -\Beispiel -{\hsize7cm -\advance\hsize2\iindent -\parindent2\iindent\small -\beginsong -\vio\C -\rchord\v9\h6\h4\lefttrue\h8\endchord -\lchord\v0\h3\h5\leftfalse\h2\endchord -\lchord\v1\h3\leftfalse\h4\endchord \ \hbox{\rm aber:} -\lchord\v0\h4\h6\leftfalse\h5\endchord -\hfill\null\endsong -\vskip-1cm -\leftline{\indent\rm $\bullet $ = ``Bezugsnote''.} -} -\endBeispiel - -\item{N9)}Stellung der Wertpunkte (Verl"angerungspunkte): -\itemitem{a)} -Die Wertpunkte erscheinen unabh"angig von Umgebung immer rechts vom -Notenkopf (auch bei Akkorden). -Dabei wird der -Punkt bei Noten, die \disp{in} einem Zwischenraum liegen, rechts neben -dem Notenkopf in der ``Mitte'' des Zwischenraums positioniert, bei -Noten, die \disp{auf} einer Notenlinie liegen, rechts neben den -Notenkopf in der Mitte des dar"uberliegenden Zwischenraumes. -\itemitem{b)} Bei -zweistimmiger Notation ist es jedoch auch "ublich, Wertpunkte bei Noten -der Unterstimme (auf der Linie) in den darunter liegenden Zwischenraum -zu positionieren. Alle Wertpunkte eines Akkordes werden zusammengefa\3t -und in einer Vertikalen untereinander gesetzt. - -\Beispiel -{\hsize7cm -\advance\hsize2\iindent -\parindent2\iindent\small -\beginsong -\vio\C \h4\.1\h5\.1\h3\.1 \rchord\h8\.1\h4\.1\lefttrue\h7\.1\endchord -\two{\h6\.1}{\h2\.1} -\hfill -\=\endsong} -\endBeispiel -\vskip-1cm - -\item{N10)} Pausen:\item{} -Zu jedem Notenwert gibt es ein Pausenzeichen. -Die Gestalt der Pause ist abh"angig von ihrem ``Pausenwert'' -(\lit{{\ziegen, \bf60}}). - -\item{}Die Pause wird wie die Note - ihrem ``Pausenwert'' entsprechend -in den horizontalen Ausschlu\3 - einbezogen (\adchap{-1}.1\XX). -Pausiert eine Stimme in einem Musikst"uck "uber mehrere Takte, so -k"onnen diese \disp{Pausentakte} in der Einzelstimme -zusammengefa\3t werden. Diese Pausenzeichen werden zwischen -den Taktstrichen zentriert. Dies mu\3 beim Ausschlu\3 ber"ucksichtigt -werden. - -\Beispiel -{\hsize8cm -\advance\hsize2\iindent -\parindent2\iindent\small -%Pausentakte -\beginsong -\vio\C \^{\rm1}{\pg}\|% -\^{\rm2}{\dpd}\|% -\^{\rm3}{\dpg}\|% -\^{\rm4}{\dpdd}\|\hfill\endsong} -\endBeispiel -\vskip-1cm - -\item{} -Alle Pausenwertpunkte erscheinen bei einstimmiger Notation im dritten -Zwischenraum des Liniensystems rechts von der Pause: - -\Beispiel -{\hsize5cm -\advance\hsize2\iindent -\parindent2\iindent\small -\beginsong -\vio\C \pv\.1\ \pg\.1\ \pa\.1 \hfill -\=\endsong} -\vskip-1cm -\endBeispiel - -\item{N11)} Versetzungszeichen:\item{} -Die Versetzungszeichen werden links vom Notenkopf gesetzt. -\item{} -Vor Akkorden werden sie nacheinander notiert, um "Uberlappungen zu -vermeiden und die "Uber\-sichtlichkeit zu wahren. Dabei gilt die -Ausnahme:\itemitem{} -``{\sl Vorzeichen in der Oktave sind untereinander zu stellen}'' -(\lit{\hader}). -\item{} -Die Reihenfolge der Vorzeichen ist keiner festen Regel -unterworfen. Von innen nach au\3en werden die Vorzeichen mit der -h"ochsten Tonh"ohe beginnend m"oglichst platzsparend notiert. - -\Beispiel -{\hsize5cm -\advance\hsize2\iindent -\parindent2\iindent\small -\beginsong -\vio\C\hskip20pt -\x1\x6\x{10}\x3\rchord\v{10}\v6\v3\v1\endchord\hskip20pt -\x{-6}\x{-1}\x{3}\x{-4}\lchord\v{-6}\v{-4}\v{-1}\v3\endchord -\hfill\endsong} -\vskip-1cm -\endBeispiel - -\verbatimon -\subheading{Das Setzen der Notenschriftelemente} -\subsubheading{Interne Darstellung der Tonh"ohe} - -Unter Tonh"ohe versteht man im allgemeinen die absolute Tonh"ohe -einer Note (siehe \lit\Schofer), wobei man sich auf eine Skalierung von -Subkontra-A bis $c'''''$ geeinigt hat. -In der Notenschrift werden die Tonh"ohen -auf einer Vertikalen dargestellt. -Um die vertikale Richtung ablesen zu k"onnen, bedient man sich des -Liniensystems. -Alle h"orbaren absoluten Tonh"ohen k"onnten in einem 32-Liniensystem -positioniert werden, und zwar auf Linien und in den Zwischenr"aumen. -(N"aheres dazu siehe \lit\Werner.) - -Da der Tonumfang eines nat"urlichen Instruments -(die Gesangsstimme eingeschlossen) -jedoch nur Teilbereiche --- ca. drei Oktaven --- -des gesamten h"orbaren Tonspektrums -umfa\3t und die Darstellung in einem -32-Liniensystem un"ubersichtlich ist, -werden zur Notation nur -Ausschnitte aus diesem Liniensystem verwendet, wobei -T"one, die nicht in dieses System passen, unter Hinzunahme von -Hilfslinien -oberhalb oder unterhalb des Systems gesetzt werden. - - -F"ur das Setzen der Noten, Vorzeichen und Wertpunkte -(d.h. f"ur das Notenbild) ist nur die Position der Note -in diesem F"unf-Liniensystem wichtig (unabh"angig vom Notenschl"ussel). - -Wie in \adchap{-2}.2.2\XX\ bemerkt, ist die - \defi{Grundlinie} die unterste Notenlinie des -F"unf-Liniensystems. -Diese sei mit 0 bezeichnet und das -F"unf-Liniensystem -von Linie zu Zwischenraum durchnumeriert, wobei die Hilfslinien -mitgez"ahlt werden. -Dann bezeichnet die \defi{interne Tonh"ohe} die der Note zugeordnete -Nummer der Stellung -im Liniensystem ohne Ber"ucksichtigung des Vorzeichens. - -Die T"one oberhalb der Grundlinie erhalten -so eine positive Nummer, die T"one unterhalb eine negative. -Weiter erhalten alle Noten auf einer Notenline eine gerade -Nummer, die Noten in den Zwischenr"aumen eine ungerade. - -Man erh"alt folgendes System: - -\medskip -\def\vb#1{\vbox to 0pt{\vss\hbox{#1}\vss}} -\hbox to \hsize -{\hfill\vbox{\offinterlineskip\halign{\hfil#&\hfil#&&\hfil#\hfil\cr -$\vdots$&&\ \ \vrule height 0.4pt width 12pt\vb{ 2.Hilfslinie}\hfill\cr -\noalign{\vskip8pt} -\vb{10}&&\ \ \vrule height 0.4pt width 12pt\vb{ 1.Hilfslinie}\hfill\cr -\noalign{\vskip4pt} -&\vb{9}&\cr -\noalign{\vskip4pt} -\vb{8}&&\ \vrule height 0.4pt width 200pt\cr -\noalign{\vskip4pt} -&\vb{7}&\cr -\noalign{\vskip4pt} -\vb{6}&&\ \vrule height 0.4pt width 200pt\cr -\noalign{\vskip4pt} -&\vb{5}&\cr -\noalign{\vskip4pt} -\vb{4}&&\ \vrule height 0.4pt width 200pt&\vb{ Mittellinie }\cr -\noalign{\vskip4pt} -&\vb{3}&\cr -\noalign{\vskip4pt} -\vb{2}&&\ \vrule height 0.4pt width 200pt\cr -\noalign{\vskip4pt} -&\vb{1}&\cr -\noalign{\vskip4pt} -\vb{0}&&\ \vrule height 0.4pt width 200pt&\vb{ Grundlinie }\cr -\noalign{\vskip4pt} -&\vb{-1}&\cr -\noalign{\vskip4pt} -\vb{-2}&&\ \ \vrule height 0.4pt width 12pt\vb{ 1.Hilfslinie }\hfill\cr -\noalign{\vskip4pt} -$\vdots$&\cr -\noalign{\vskip4pt} \hbox to0pt{\hss interne Tonh"ohe\hss}\cr}}\hfill} -\medskip - - -\Beispiel -Noten auf der Mittelline erhalten die interne Tonh"ohe 4, -Noten im ersten Zwischenraum unter der Grundlinie die intere Tonh"ohe --1.\endBeispiel - -Im folgenden soll, falls nicht anders explizit angegeben, die -interne Tonh"ohe nur noch kurz \disp{Tonh"ohe} genannt werden. - - -\subsubheading{Aufbau der Noten} -Aus den Regeln ergibt sich, da\3 -die Gestalt einer allein stehenden -Note durch den Notenwert, die Tonh"ohe und -die Richtung des angehefteten Notenhalses vollst"andig bestimmt ist. - -\item{1)}Der Notenwert bestimmt die Kopf{}form, - -\item{2)} -die Gestalt des F"ahnchens wird durch Richtung des Notenhalses und den -Notenwert bestimmt und -\item{3)} -die L"ange des Notenhalses ist abh"angig von Tonh"ohe, Richtung des -Notenhalses und Notenwert. - -Im folgenden sollen formal die Regeln, die die Gestalt der Note -bestimmen, beschrieben werden. - -Sei $N$ eine Note und $ p \in\rz $ ihre Tonh"ohe. -Die Variable $ d\in\{-1,0,+1\} $ beschreibe die Richtung des Notenhalses. -Es gelte $ d=+1 $, -falls der Notenhals aufw"arts gestielt ist, $ d=-1 $, falls er abw"arts -gestielt ist, und $ d=0 $, falls der Notenkopf keinen Hals besitzt. -Die Variable $ v\in\{0,1,2,\ldots,7\}$ beschreibe den Notenwert. - -Die Zuordnung soll gem"a\3 folgender Tabelle erfolgen: - -\def\noten#1{\char\hex21\hbox{\vrule\char\hex#1}} -\hbox to\hsize{\hfill\vbox{\offinterlineskip -\halign{#\hfil\quad\strut&&\vrule\quad\hfil#\hfil\quad\cr -Name&$v$&\cr -\noalign{\hrule} -Ganze&0&{\music\char\hex23}\cr -\omit\vrule width0pt height2pt&&\cr -Halbe&1&{\music\char\hex22\vrule height12pt depth0pt}\cr -\omit\vrule width0pt height2pt&&\cr -Viertel&2&{\music\char\hex21\vrule height12pt depth0pt}\cr -\omit\vrule width0pt height2pt&&\cr -Achtel&3&{\music\noten{28}}\cr -\omit\vrule width0pt height2pt&&\cr -Sechzehntel&4&{\music\noten{29}}\cr -\omit\vrule width0pt height2pt&&\cr -Zweiunddrei\3igstel&5&{\music\noten{2A}}\cr -\omit\vrule width0pt height2pt&&\cr -Vierundsechzigstel&6&{\music\noten{2B}}\cr -\omit\vrule width0pt height2pt&&\cr -Hundertachtundzwanzigstel&7&{\music\noten{2C}}\cr}}\hfill} -\medskip -Der Fall $ v=0 $ impliziert also $ d=0 $. - -Der vertikale Versatz $ \bar p $ des Notenkopfes, d.h. der Betrag, um -den die Note zur Positionierung von der Grundlinie aus vertikal -verschoben werden mu\3, ist nun: $\bar p := p\cdot 0.5\hbox{|\nhh|}$. - -Ein Akkord $A$ ist dann eine Folge von Noten $A=\folgi Nin$ mit -zugeh"origen Attributen $(v_i, p_i, d_i)\,,\; i=1,\ldots,n$. - In den meisten F"allen gilt f"ur alle $i,j=1,\ldots,n \,,\;i\ne j$: -$v_i=v_j$, - -O.B.d.A. seien diese Noten im folgenden nach der internen Tonh"ohe -aufsteigend geordnet, d.h. es gilt $p_i<p_{i+1}\,,i=1,\ldots,n$. - - -\subsubsubheading{Der Notenkopf} -Alle Notenkopf{}formen wurden so konstruiert (im Notenfont), da\3 der -umschlie\3enden Box die Werte -$(ht,dp,wd) = (0.5 \hbox{|\nhh|}, 0.5 \hbox -{|\nhh|}, \hbox{|\nhw|})$ zugeordnet sind. -Ohne vertikalen Versatz wird der Notenkopf also -vertikal auf der Grundlinie -zentriert. - -\subsubsubheading{Der Notenhals} -Sei im folgenden $ v=0 $ vorausgesetzt. -Bei einstimmigem Notensatz gilt f"ur eine einzelne -Note $N$ die Zuweisung $d=+1$, -falls $p<4$, und $d=-1$, falls -$p\ge4$. Dabei erscheint der Notenhals f"ur $d=+1$ rechts vom Kopf -und f"ur $d=-1$ links vom Kopf. Angesetzt wird er jeweils an der -Grundlinie des Notenkopfes. - -Sei $A=\folgi Nin$ ein Akkord. Dann gilt nach N4b) aus \the\chap.1 -$$d_A= \cases d_0\,,&\text{falls }4-p_0>p_n-4\,,\\ - d_n\,,&\text{falls }4-p_0\le p_n-4\,.\endcases$$ -Die Stellung des Notenkopfes bzgl. des Notenhalses -wird nach folgender Formel bestimmt: gilt f"ur mindestens ein $i$ -$$p_i+1=p_{i+1}\;,$$ -so wird der Notenkopf auf die -andere Seite des Notenhalses verschoben, falls dies nicht schon f"ur die -vorige Note geschehen ist. - -Rekursiv kann dieses Vorgehen wie folgt beschrieben werden: - -F"ur $d=+1$ und $i\in\{2,\ldots,n\}$ -gilt: $N_{i}$ erscheint genau dann -\disp{rechts} vom Notenhals, wenn -$p_{i-1}+1=p_{i}$ und $N_{i-1}$ links erscheint. - -F"ur $d=-1$ und $i\in\{1,\ldots,n-1\}$ -gilt: $N_{i}$ erscheint genau dann -\disp{links} vom Notenhals, wenn -$p_{i+1}=p_{i}+1$ und $N_{i+1}$ rechts erscheint. - -\subsubsubheading{Die Bestimmung der Notenhalsl"ange} -Die L"ange des Notenhalses ist nicht konstant, sondern -abh"angig von $p$ und $d$. - -Grunds"atzlich gibt es keine Regel, die die L"ange eindeutig festlegt, -jedoch kann man eine Funktion finden, die bestimmte optische -Gesichtspunkte ber"ucksichtigt und erf"ullt. - -\item{1)} Der Gesamteindruck soll ruhig sein, so da\3 die Noten, die -keine Hilfslinien ben"otigen, eine einheitliche Notenhalsl"ange erhalten. -Diese L"ange betr"agt vom Notenkopfmittelpunkt aus gemessen 3.5 |\nhh|. - Sie ergibt sich f"ur eine Viertel mit $p=1$ und -$d=+1$ oder $p=7$ und $d=-1$. Dann betr"agt die -Gesamth"ohe der Note 4 |\nhh|, d.h. sie f"ullt genau vier -Zwischenr"aume aus. -\item{2)} Der Endpunkt des Notenhalses sollte die zweiten -Hilfslinien oberhalb bzw. unterhalb des Systems m"oglichst -nicht "uberschreiten bzw. unterschreiten, da sonst zu viel vertikaler -Platz verbraucht wird. -Jedoch darf die L"ange eine gewisse Mindestl"ange, die -abh"angig vom Notenwert ist, nicht unterschreiten. - -\item{3)}F"ur $d=-1$ bzw. $d=+1$ sollte der Endpunkt des -Notenhalses die Mittellinie nicht unter- bzw. nicht "uberschreiten. - -\Beispiel -{\advance\hsize2\iindent -\parindent2\iindent\small -\hsize7cm -\beginsong -\vio\C\hfill -\_{1)}{\gluebrule}\h1\h7\|\_{2)}{\gluebrule}\two{\h8}{\h1}% -\|\_{3)}{\gluebrule}\h{-4}\h{11}\doublebarline -\endsong} -\vskip-1cm -\endBeispiel - -Die Funktion zur Berechnung der Notenhalsl"ange, die im Notensatzsystem -verwendet wird, lautet: -$$ -s(p,d,v)= -\cases0\,,&\text{f"ur } v=0\\ -\max(\mins(v),s^d(p))\,, &\text{f"ur } v>0,\,0\le p\le7 -\endcases$$ -mit -$$ -\mins(v)= -\cases2\hbox{|\nhh|}\,, &\text{f"ur }v=1 \text{ oder }v=2\\ -\vspace{2pt} -\Frac{v+3}2\hbox{|\nhh|}\,, &\text{f"ur }v>2 -\endcases$$ -und -$$ -s^1(p)= -\cases2\hbox{|\nhh|}\,, &\text{f"ur }p\ge8\,,\\ -\vspace{2pt} - \Frac{12-p}2\hbox{|\nhh|}\,, &\text{f"ur }p=6 \text{ oder } p=7\,,\\ -\vspace{2pt} -\Frac72\hbox{|\nhh|}\,, &\text{f"ur }-3\le p\le5\,,\\ -\vspace{2pt} -\Frac{4-p}2\hbox{|\nhh|}\,, &\text{f"ur } p\le-4\,, -\endcases$$ -$$ -s^{-1}(p)= -\cases\Frac{p-4}2\hbox{|\nhh|}\,, &\text{f"ur }p\ge12\,,\\ -\vspace{2pt} -\Frac72\hbox{|\nhh|}\,, &\text{f"ur }3\le p\le11\,,\\ -\vspace{2pt} -\Frac{4+p}2\hbox{|\nhh|}\,, &\text{f"ur }p=1\text { oder } p=2\,,\\ -\vspace{2pt} - 2\hbox{|\nhh|}\,, &\text{f"ur } p\le0\,. -\endcases$$ -Noten, die au\3erhalb des Liniensystems liegen, werden also an die -Mittellinie ``angeh"angt''. - -\Bemerkung Seien $ N_1 $ und $ N_2 $ zwei Noten mit $ p_1\ne p_2 $, -$d_1=d_2$ und $v_1=v_2$, dann gilt mit $s_1=s^d(p_1)$ und -$\verbatimoff s_2=s^d(p_2)\quad|s_1-s_2|\le|p_1-p_2| $. -\medskip\verbatimon -F"ur die Halsl"ange eines Akkordes $A=\folgi Nin$ gilt: -$$s_A=\cases\Frac{p_n-p_0}2\hbox{|\nhh|}+ -\cases s(p_0,-1,v)\;,&\text{falls }d_A=-1\,,\\ - s(p_n,+1,v)\;,&\text{falls }d_A=+1\,,\endcases\,,& - \text{falls }v>0\\ -0\,,& \text{falls }v=0\endcases\,,$$ -wobei der Notenhals in $N_0$ f"ur $d_A=+1$ und in $N_n$ f"ur -$d_A=-1$ angesetzt wird. - -Sind mehrere Noten miteinander zu verbalken, so gelten die obigen -L"angenangaben nicht mehr uneingeschr"ankt -(s. Kapitel \adchap1\XX). - -\subsubsubheading{Die Konstruktion der Noten} -Die einzelnen Teile der Note werden nacheinander zusammengef"ugt, -an den Notenkopf wird der Notenhals -(falls vorhanden) angesetzt. \par -Der Hals wird durch eine Rule f"ur $d=+1$ mit -$(ht,dp,wd)=(s(p,d,v),\,0,\,2\hbox{|\linethickness|})$ -bzw. - f"ur $d=-1$ mit -$(ht,dp,wd)=(0,\,s(p,d,s),\,2\hbox{|\linethickness|})$ -dargestellt. - -F"ur \TeX\ hat es sich als g"unstig erwiesen, die F"ahnchen im -Zeichensatz so -zu konstruieren, da\3 nur der Wert der H"ohe positiv ist ($ht=\mins(v)$) -und die "ubrigen Werte f"ur Tiefe und Breite verschwinden. - -Ist die Note so zusammengesetzt, wird sie um -$\bar p $ -vertikal verschoben. Zus"atzlich m"ussen noch f"ur $p>9$ und $p<-1$ -Hilfslinien eingef"ugt werden. - -Die Anzahl $z$ der Linien ist abh"angig von der Tonh"ohe $p$: -\verbatimoff -$$ -z(p):=\cases(p-8) \mod 2\;,&\text{f"ur } p>8\;,\\ -|p|\mod 2\;,&\text{f"ur }p<0\;.\endcases -$$ -\verbatimon -Die Hilfslinien -besitzen eine L"ange von 2|\nhh| und m"ussen daher -links und rechts von der Box, in der die Note zusammengesetzt wird, -"uberstehen, damit die Gesamtbreite der Note |\nhw| bleibt. Dies ist -wichtig f"ur einen gleichm"a\3igen Notensatz. - - -\subsubsubheading{Die Konstruktion der Akkorde} -F"ur die Zusammensetzung eines Akkordes $A$ werden zun"achst alle -zugeh"origen Notenk"opfe, die links vom Notenhals erscheinen sollen, und -alle Notenk"opfe, die rechts erscheinen sollen, in jeweils einer -Notenbox und mit -zugeh"origen Hilfslinien der Tonh"ohe entsprechend -"ubereinander angeordnet. - -Diese werden dann zusammen mit einem Notenhals der L"ange $s_A$ und -zugeh"origem F"ahnchen, falls kein Balken gesetzt werden soll, - zu der endg"ultigen -Notenbox zusammengef"ugt. - -\Bemerkung -\item{1)}Da\3 die Breite der F"ahnchen -nicht ber"ucksichtigt wird, hat den Grund, da\3 die Breite des -F"ahn\-chens nicht den Glue zwischen zwei Noten beeinflussen darf. -Dies birgt aber die Gefahr der "Uberlappung mit anderen Noten und -mu\3 daher bei der Wahl des Glue ber"ucksichtigt werden (s. -\adchap{-1}.2.1). -\item{2)}F"ur das Zusammensetzen der einzelnen Teile einer Note -bzw. eines Akkordes wurden im wesentlichen die unter -\adchap{-3}.2.2 und \adchap{-3}.2.4 -beschriebenen -Verfahren f"ur den Ausschlu\3 innerhalb von horizontalen und -vertikalen Boxen verwendet. -\item{3)} Die Funktion zur Berechnung der Notenhalsl"ange - wurde so definiert, -da\3 sie auch f"ur die -zweistimmige Notation (s. N4d) und zu verbalkende Noten angewendet werden -kann, da in diesen F"allen z.B. Noten oberhalb der Mittellinie mit $d=+1$ -m"oglich sind. -\endBemerkung - -\subsubheading{Versetzungszeichen} - -Die Versetzungszeichen m"ussen auf zwei verschiedene Arten konstruiert -werden, abh"angig von den verschiedenen Umgebungen, in denen sie -vorkommen: -\item{1)} Versetzungszeichen vor einer Note bzw. einem Akkord, -\item{2)} Versetzungszeichen als Elemente der Vorzeichnung. -Im ersten Fall mu\3 -zur richtigen Positionierung den Versetzungszeichen -ebenso wie den Noten eine interne Tonh"ohe $p\in\gz$ zugeordnet sein, so -da\3 der vertikale Versatz des Zeichens berechnet werden kann. \item{} -Die Versetzungszeichen werden dann -zun"achst in der Hunkbox gespeichert, so -da\3 sie erst mit der n"achsten Note oder dem n"achsten Akkord gesetzt -werden.\item{}Bei ``Versetzungszeichen-Akkorden'' ist die Oktavierung zu -beachten. Gilt f"ur zwei aufeinanderfolgende Versetzungszeichen mit -\verbatimoff -$p_1$ und $p_2$ der Abstand $|p_1-p_2|=7$, so darf die Zeichenbreite des -zweiten Versetzungszeichens nicht ber"ucksichtigt werden (s. Regel N11 -).\verbatimon - -Im zweiten Fall werden - die Versetzungszeichen der Vorzeichnung -direkt plaziert und nicht in einer Box akkumuliert. -Da sich die internen Tonh"ohen der Vorzeichnung bei -Notenschl"usselwechsel "andern, -die Vorzeichnung mit -internen Tonh"ohen f"ur den Violinschl"ussel angegeben werden. -Abh"angig vom aktuellen Notenschl"ussel wird zur internen Tonh"ohe eine -Konstante addiert, die die Versetzungszeichen in die vertikalen -Positionen bez"uglich des aktuellen Notenschl"ussels "uberf"uhrt. - Ein Beispiel dazu findet sich unter Regel V4e). - -\vfill\eject diff --git a/macros/mtex/documentation/mdoc9.tex b/macros/mtex/documentation/mdoc9.tex deleted file mode 100644 index d0ed715c54..0000000000 --- a/macros/mtex/documentation/mdoc9.tex +++ /dev/null @@ -1,1135 +0,0 @@ -\def\adchap#1{{\advance\chap#1{}\the\chap}} -\heading{Der Balken- und Bogensatz} -Im Gegensatz zu den bisher behandelten Notenschriftzeichen sind die -Balken und Bogen satztechnisch dadurch ausgezeichnet, da\3 sie in der -L"ange und Gestalt variieren k"onnen, so da\3 es nicht ausreicht, nur -ein Element in einem Font f"ur den Satz zur Verf"ugung zu stellen. Die -Neigung der Balken bzw. die Kr"ummung der Bogen ist abh"angig von den zu -verbindenden bzw. zu "uberspannenden Noten. - -Au\3er den Faustregeln, -da\3 aus der Neigung des Balkens der Melodieverlauf -erkenntlich sein soll, um ein schnelleres Notenlesen zu erm"oglichen, und -da\3 der -Bogen von Notenkopf zu Notenkopf verlaufen sollte, jedoch andere -Zeichen nicht schneiden darf, gibt es keine -expliziten Regeln f"ur den Satz dieser Notenschriftelemente. - -\Beispiel -{\loose -\hsize10cm -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\C -\group{\\{\a0}\\{\a2}\\{\a4}}{\\{0}\\{2}\\{4}}\ubeam13\go -\group{\\{\a4}\\{\a2}\\{\a0}}{\\{4}\\{2}\\{0}}\ubeam13\go -\group{\\{\a4}\\{\a6}}{\\{4}\\{6}}\lbeam12\uslur12\go -\group{\\{\a2}\\{\a4}}{\\{2}\\{4}}\ubeam12\lslur12\go -\group{\\{\h4}\\{\h2}}{\\{4}\\{2}}\uslur12\go\doublebarline -\endsong} -\vskip-1cm -\endBeispiel - -Alle anderen Satzregeln m"ussen daher aus der Notenliteratur abgeleitet -werden. Es gilt also, Verfahren f"ur den automatischen Notensatz zu -entwickeln, die den ansonsten nicht notwendig einheitlichen -Handsatz so nachahmen, da\3 die Ergebnisse in den -meisten F"allen mit dem Handgesetzten "ubereinstimmen. - -Die Verfahren f"ur den Balken- und Bogensatz gliedern sich in folgende -Abschnitte: -\item{1)} Berechnung der Steigung des Balkens bzw. der Sekantensteigung -des Bogens, - -\item{2)} Diskretisierung der Steigungen und Zusammenstellung der -Balken bzw. Bogen aus den Zei\-chen\-s"at\-zen, - -\item{3)} Endg"ultige Positionierung des Balkens bzw. Bogens. - -\Bemerkung Die hier vorgestellte Vorgehensweise ist durch die Tatsache -bedingt, da\3 ein Textsatzprogramm verwendet wird und nicht -koordinaten-orientiert gearbeitet wird. Das Zeichnen der Balken w"are -im anderen Fall direkt und ohne Diskretisierung - der berechneten Steigung -ausf"uhrbar. -\endBemerkung - -\subheading{Entwicklung des Verfahrens zur Verbalkung} -Gesucht ist ein Verfahren zur \defi{Verbalkung} von Noten, -d.h. ein Verfahren, -das jede beliebige Folge von Noten $(N_i)_{i=1,\ldots,n}$ durch einen -(oder mehrere) Balken verbindet, so da\3 der Aufpunkt $P$ und die -Neigung $S$ der Balken dem Handgesetzten nahe kommt. - -Ein solches Verfahren gliedert sich in drei Teilschritte: - -\item{1)} Bestimmung der Balkensteigung. -\item{2)} Anpassung der Notenh"alse. -\item{3)} Bestimmung des Aufpunktes aller Balkenst"ucke der Notengruppe. - -\Bemerkung -\item{1)} -Die Anzahl der Balken an einer Note stimmt mit der Anzahl der dem -Notenwert entsprechenden F"ahnchen (s. a. \the\chap.2.2) "uberein. -Alle Balkensteigungen innerhalb einer Notengruppe stimmen mit -der des "au\3ersten (d.h. des `Achtel'-Balkens) "uberein. -\item{}Es gen"ugt also, nur eine Steigung f"ur die ganze Notengruppe zu -berechnen. -\item{2)} Die Lage der Balken (oberhalb oder unterhalb der Notenk"opfe) -ist durch Regel N4b in \adchap{-1}.1 \XX festgelegt. -Die gemeinsame Richtung der -Notenh"alse kann zu jeder Folge von Noten bestimmt werden und sei -o.B.d.A. vorgegeben. -\item{3)} Die Balkensteigung ist nicht abh"angig von der absoluten -Tonh"ohe der Noten, sondern von der Position der Noten im Liniensystem. -Es gen"ugt also, - die interne Tonh"ohe der betroffenen Noten zu betrachten. -\endBemerkung - -\subsubheading{Bestimmung der Balkensteigung} -F"ur die folgenden "Uberlegungen beschreibe $d\in\{-1,+1\}$ wie in -\adchap{-1}.2.2 -die nach Regel N4c) bestimmte gemeinsame Richtung der Notenh"alse der -Balkengruppe. - -\subsubsubheading{Das Vorzeichen der Steigung} -Betrachtet man zun"achst zwei Noten $N_1$ und $N_2$ mit zugeh"origen -internen Tonh"ohen $p_1$ und $p_2$, -dann gilt unabh"angig von der gemeinsamen Richtung der Notenh"alse -$d$ f"ur das -Vorzeichen der Steigung $S$: -$$\align \text{F"ur }p_1<p_2& \text{ gilt }S>0\;,\\ - \text{f"ur }p_1=p_2& \text{ gilt }S=0 \text { und }\\ - \text{f"ur }p_1>p_2& \text{ gilt }S<0 \;.\endalign%\tag{S$_1$} - $$ -d.h. die Balkensteigung entspricht der Tendenz des Melodieverlaufs. - -\Beispiel -{\loose -\hsize10cm -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\C -\group{\\{\a2}\\{\a3}}{\\{2}\\{3}}\ubeam12\go -\group{\\{\a3}\\{\a2}}{\\{3}\\{2}}\ubeam12\go -\group{\\{\a3}\\{\a8}}{\\{3}\\{8}}\lbeam12\go -\group{\\{\a6}\\{\a4}}{\\{6}\\{4}}\lbeam12\go -\group{\\{\a4}\\{\a4}}{\\{4}\\{4}}\lbeam12\go -\group{\\{\a3}\\{\a3}}{\\{3}\\{3}}\ubeam12\go -\=\endsong} -\vskip-1cm -\endBeispiel - -Das Vorzeichen ist f"ur zwei beliebige Noten eindeutig festgelegt. - -Dies gilt jedoch nicht mehr unbedingt f"ur Notengruppen mit mehr -Elementen. Man findet in der Literatur: - -{\loose -\hsize8cm -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\C -\group{\\{\a0}\\{\a1}\\{\a2}\\{\a3}}{\\{0}\\{1}\\{2}\\{3}}\ubeam14\go -\group{\\{\a2}\\{\a1}\\{\a0}}{\\{2}\\{1}\\{0}}\ubeam13\go -\group{\\{\a4}\\{\a8}\\{\a4}}{\\{4}\\{8}\\{4}}\lbeam13\go\=% -\endsong} -\vskip-1cm - -Das Beispiel f"ur $p_1=p_n$ zeigt, da\3 hier die Steigung abh"angig von -der Tonh"ohe der ersten -und letzten Note bestimmt wurde. - -Untersucht man andere -Notenkombinationen, so zeigt sich auch f"ur F"alle mit $p_1\ne p_n$, -da\3 die Neigung nach der ersten -und letzten Note bestimmt wurde. - -\Beispiel -{\hsize 7cm -\loose -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\C -\def\beamlist{\\{1-3,}\\{2-3,}} -\group{\\{\a6}\\{\s8}\\{\s2}}{\\{6}\\{8}\\{2}}\lbeam13\go -\def\beamlist{\\{1-\the\N,}} -\group{\\{\a4}\\{\a{12}}\\{\a{10}}\\{\a8}}{\\{4}\\{12}\\{10}\\{8}}% -\lbeam14\go\=% -\endsong} -\vskip-1cm -\endBeispiel - -Allgemein gilt f"ur $n>2$: -$$\align \text{F"ur }p_1<p_n&\text{ gilt }S\ge0\;,\\ - \text{f"ur }p_1=p_n&\text{ gilt }S=0 \text { und }\\ - \text{f"ur }p_1>p_n&\text{ gilt }S\le0 \;.\endalign%\tag{S$_2$} - $$ -Dabei gilt $S=0$, falls f"ur ein $i\in\{2,\ldots,n-1\}$ gilt: -$$\align &p_i\ge \max(p_1,p_n )\text{, falls }\quad d=1\;\\ -\text{oder }& p_i\le \min(p_1,p_n)\text{, falls }\quad -d=-1\;.\endalign$$ -Gibt es also innerhalb einer Notengruppe, deren Notenh"alse nach oben -gestielt sind, Noten, deren Tonh"ohe gr"o\3er oder gleich der Tonh"ohe -der h"ohergelegenen ``Randnote'' ist, so wird der Balken nicht -geneigt. Weisen alle Notenh"alse nach unten, -so wird die jeweils tiefergelegene ``Randnote'' betrachtet. -\Beispiel -\par\noindent\vbox{\hsize 6cm -\loose -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\C -\group{\\{\a4}\\{\a3}\\{\a5}}{\\{4}\\{3}\\{5}}\lbeam13\go -\group{\\{\a0}\\{\a3}\\{\a3}}{\\{0}\\{3}\\{3}}\ubeam13\go\=% -\endsong} -\vskip-1cm -\endBeispiel - -Das Vorzeichen der Steigung wird also -nach der Konstellation der ersten und -letzten Note der Balkengruppe bestimmt. - -\subsubsubheading{Der Betrag der Steigung} -Sei im folgenden \folgi Nin eine Folge von Noten, f"ur die nach den -obigen Bedingungen -die Steigung $S$ nicht verschwindet. -Um gr"o\3ere Steigungen zu vermeiden, wird der -Betrag der Steigung nicht nach der -Position der Notenk"opfe bestimmt wird, sondern bez"uglich der Endpunkte -der Notenh"alse. - -Sei $E_i=(h_i,e_i)$ der Endpunkt des Notenhalses von $N_i$, wobei $h_i$ -den Abszissenwert des Notenhalses und $e_i:=\bar p_i+ d\cdot s^d(p_i)$ -den -vertikalen Abstand von der Grundlinie angibt ($\bar p_i = p_i\cdot 0.5 -\verbatimon|\nhh|$). - -Aus diesen Werten kann allgemein die Steigung $S^*$ einer Geraden durch -die Punkte $E_1$ und $E_n$ berechnet werden durch Bildung des -Differenzenquotienten -$$S^*= -\Frac{e_n-e_1}{h_n-h_1}\;.$$ -Diese errechnete Steigung kann jedoch erst nach einigen weiteren -Korrekturen der Notenh"alse als endg"ulti\-ge Steigung f"ur den Balken -"ubernommen werden. -\subsubsubheading{Die Korrektur der Notenhalsl"angen} -Es sind zun"achst zwei verschiedene Korrekturen der Notenhalsl"angen -m"oglich. -\item{1)} -Wegen -$$\verbatimoff |s^d(p_1)-s^d(p_n)|\le|\bar p_1-\bar p_n|$$ -gilt immer: -$$ -\align &e_n-e_1\ge0 \text{ f"ur }p_1<p_n\;\\ -\text{und }& e_n-e_1\le0\text{ f"ur }p_1>p_n\;.\endalign$$ -\item{} -In einigen F"allen wird -jedoch die strikte Positivit"at bzw. Negativit"at -von $S^*$ nicht mehr gew"ahrleis\-tet. - -\Beispiel -{\hsize 4cm -\loose -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\C -\ \v{-4}\v{-3}\v{11}\v{13}\hfill\null -\endsong} -\vskip-1cm -\endBeispiel - -\item{} -In diesen F"allen m"ussen also die Notenhalsl"angen so korrigiert werden, -da\3 die Bedingung f"ur das Vorzeichen der Steigung - erf"ullt ist, und eine betragsm"a\3ig -kleine Steigung -die Tendenz der Notengruppe ausdr"uckt. - -\item{2)}Eine -weitere Korrektur ergibt sich aus der Tatsache, -da\3 Balken mit einer Steigung von mehr als - $25^\circ $--$ 30^\circ$ geneigt sind, nicht -verwendet werden, da sie das Gesamtbild optisch unruhig erscheinen -lassen. -Da die Steigung von der Differenz der Abszissenwerte der Notenh"alse -abh"angig ist, -tritt dies h"aufig auf bei Notenpaaren -mit stark unterschiedlichen Tonh"ohen, z.B. - -{\hsize 4cm -\advance\hsize2\iindent -\parindent2\iindent -\universal -\beginsong -\vio\C -\hskip20pt\v{-3}\v{3} \hfill -\endsong} -\vskip-1cm\ -\item{} -Die Korrektur sollte also dahin zielen, den Betrag der Balkensteigung so -zu verkleinern, da\3 die h"ochstzul"assige Steigung angenommen wird. -Dies kann auf zwei Arten geschehen: -\itemitem{a)} Vergr"o\3ern des horizontalen Abstands, was aus den in -Kapitel \adchap{-2}.1 -\XX angef"uhrten Gr"unden jedoch unzul"assig ist, und -\itemitem{b)} Verkleinern des vertikalen Abstandes durch Ver"andern der -Notenhalsl"angen. - -\item{}Auch in diesem Fall ist also eine Korrektur der Notenhalsl"angen -erforderlich. - -Aus den Beipielen in der Notenliteratur ergibt sich, da\3 -die Korrektur der Notenhalsl"angen stets durch Verl"angern der -entsprechenden Notenh"alse erfolgt, nie durch Verk"urzen. - -Die Verl"angerung der Notenh"alse ist nicht unabh"angig von der -gemeinsamen Notenhalsrichtung $d$. Es gilt -f"ur die zu den Noten $N_1$ und $N_n$ zugeh"origen Halsl"angen $s_1$ und -$s_n$ f"ur die zuerst vorgestellte Korrekturm"oglichkeit: -\verbatimon -$$\align \text{Ist }d\cdot(p_1-p_n)>0&\text{, so gilt } -s_1 =s^d(p_1)+0.5\hbox{|\nhh| und } s_n=s^d(p_n)\,,\\ - \text{und ist }d\cdot(p_1-p_n)<0&\text{, so gilt } -s_n =s^d(p_n)+0.5\hbox{|\nhh| und } s_1=s^d(p_1)\;.\endalign$$ -Die zweite Korrektur wird wie folgt durchgef"uhrt: - -Sei $h:=h_n-h_1$ die Differenz der Abzissen der Notenh"alse -und $\epsilon:=\sin\alpha$, wobei $\alpha$ den maximal zul"assigen -Neigungswinkel angibt. Dann gilt -$$\align \text{Ist }d\cdot(p_1-p_n)>0&\text{, so gilt } -s_1 =s^d(p_1)+\verbatimoff (|e_n-e_1| -\epsilon \cdot h) -\hbox{ und } s_n=s^d(p_n)\,,\\ - \text{und ist }d\cdot(p_1-p_n)<0&\text{, so gilt } -s_n =s^d(p_n)+\verbatimoff (|e_n-e_1| -\epsilon \cdot h) -\hbox{ und } s_1=s^d(p_1)\;.\endalign$$ - -Die der Notengruppe zugeh"orige Balkensteigung $S$ lautet nun: -$$S:=\Frac{(\bar p_n - \bar p_1) + d(s_n-s_1)}{h_n-h_1} $$ - -\Beispiel -\par -\input mdocpic2 -\endBeispiel - -\subsubsubheading{Die Diskretisierung der Balkensteigung} -Die Balkensteigung $S$ hat einen reellen Wertebereich, wenn man die oben -angef"uhrte Definition anwendet -($S\in\lbrack-\tan\alpha,\tan\alpha\rbrack\subset\rz$). - -Wie schon in -\adchap{-4}.1.4 \XX angedeutet, bietet \TeX\ au\3er Rules keine -M"oglichkeit, Linien zu setzen. Man w"urde also einen Balken beliebiger -Steigung aus gen"ugend kleinen ausgef"ullten Rechtecken zusammensetzen -m"ussen und dabei ein Optimierungsverfahren anwenden. Diese -Vorgehensweise w"are sowohl im Satz als auch in der Ausgabe sehr -zeitaufwendig und w"urde dennoch bei von Null verschiedenen Steigungen -eine sichtbare Treppenstruktur ergeben. - -Es liegt daher nahe, die Balkensteigung zu diskretisieren und Balken -dieser Steigungen in einem eigenen Zeichensatz zusammenzufassen. - -\Bemerkung -\item{1)}Das folgende Verfahren ist nicht spezifisch f"ur das -Textsatzsystem \TeX, sondern k"onnte auch f"ur andere Satzsysteme -verwendet werden. -\item{2)} -Diese Vorgehensweise der Diskretisierung -findet man auch beim Typendruckverfahren, -das im wesentlichen zwei verschiedene Neigungen verwendet: -steile und flache (s. \lit{\genzmeier, S.119}). - -\endBemerkung -Es sollen hier jedoch feinere Unterschiede gemacht werden: -\item{1)}Die Balkensteigung soll die errechnete m"oglichst realistisch -wiedergeben. -\item{2)}Die gr"o\3te Steigung entspricht $\tan\alpha$, wobei -$\alpha$ den maximal zul"assigen Neigungswinkel angibt. (Es gilt z.B. -$25^\circ\approx\arctan{\hbox{|\nhh|}\over\hbox{2|\nhw|}}=\arctan -0.\overline{45}$, falls |\nhw|=1.1|\nhh|.) - -Gesucht ist eine Folge $0=m_0<m_1<\ldots<m_k\cong 0.45$, die die in -der Notenliteratur erforderlichen Steigungen wiedergibt. -(Als negative Steigungen ergeben sich dann $-m_i\;,\;i=0,\ldots,k$.) - -Als Schranke $\eta>0$ f"ur den absoluten Fehler wurde das Zweifache der -Balkenst"arke gew"ahlt, so da\3 sich -bei Rundung auf den n"achsten diskreten -Steigungswert ein maximaler Fehler von $\eta/2$, d.h. der St"arke eines -Balkens ($\approx$0.6|\nhh|), ergibt. -Sei $\epsilon:=\max_{i=0,\ldots,k-1}\{m_{i+1}-m_i\}$, so gilt f"ur den -absoluten Fehler: -$$\verbatimoff |m_{i+1}-m_i|\cdot|h|<\eta\;.$$ -Die Wahl von $\epsilon$ ist also abh"angig von $|h|$. -W"ahlt man acht verschiedene Steigungen, d.h. $k=8$, und als obere -Schranke $m_8=0.45$, so erh"alt man f"ur -$\epsilon=\Frac{0.45}8\cong0.056$ die gew"unschte Genauigkeit f"ur -\verbatimoff -$|h|=\verbatimon{\hbox{1.2|\nhh|}\over\dsize0.056}\cong21\hbox{|\nhh|} -\cong20\hbox{|\nhw|}$.\verbatimon - -Diese Genauigkeit wird also bei einer Verbalkung von zehn Achtelnoten -bei universellem Zeilenausschlu\3 (s. 5.1.1\XX) eingehalten. Dies ist -ausreichend, da selten l"angere Balken ben"otigt werden. Bei einer -Verbalkung von sechs Achtelnoten erreicht man eine Genauigkeit von -$\eta/2$. -Aus diesen Gr"unden wurde f"ur den Balkenzeichensatz der -`Steigungssatz' $m_i=0.056\cdot i\,,$ $i=1,\ldots,8$ gew"ahlt. - -Die Anpassung der oben berechneten Steigung $S$ an die im Zeichensatz -vorhandenen erfolgt f"ur -\verbatimoff$|S|\ge m_1$ durch Runden auf den n"achsten diskreten -Steigungswert $m_i$ mit $m_i\le |S|$ und - f"ur $0<|S|<m_1$ durch -Aufrunden auf $m_1$, damit die obigen Bedingungen f"ur das Vorzeichen der -Steigung auch bei diskretisierter Steigung erf"ullt bleiben. - -\verbatimon -Stellt man den Zeichensatz so zusammen, da\3 zu jeder Steigung -Balkenst"ucke der Zeichenbreite $w_i:=\frac12\cdot 2^i\pt=2^{i-1}\pt$, -$i\in\{0,\ldots,7\}$ existieren, so k"onnen Balken beliebiger L"ange auf -$0.5\pt$ genau zusammengef"ugt werden, wobei die auf den Drucker -zu "ubertragende Anzahl der Zeichen minimiert ist -Der dazu erstellte Zeichensatz ist im Anhang D zu finden. - -\subsubheading{Die Anpassung der Notenhalsl"angen} -Da der Balkenverlauf nur nach der ersten und letzten Note bestimmt -wurde, aber die dazwischen liegenden Noten $N_2,\ldots,N_{n-1}$ beliebig -sind, ist es notwendig, zun"achst die "ubrigen Notenhalsl"angen -anzugleichen, abh"angig von den internen Tonh"ohen der inneren Noten -eine dritte Korrektur aller Notenh"alse durchzuf"uhren und abh"angig -von der Anzahl der zu setzenden Balkenreihen eventuell die Notenh"alse -durch eine vierte Korrektur erneut zu verl"angern. - -\subsubsubheading{Das Angleichen der Notenh"alse} -Ausgehend vom -(eventuell korrigierten) Notenhalsendpunkt $E_1$ ist die L"ange des -Notenhalses $s_i$ von $N_i$ der vertikale Abstand des Notenkopfes vom -Balken. Es gilt: -$$s_i:= s_1+d(\bar p_1 -\bar p_i + S\cdot (h_i-h_1))\;,$$ -wobei $S$ die angepa\3te diskretisierte Steigung ist und $d$ wiederum -die gemeinsame Notenhalsrichtung beschreibt. - -\subsubsubheading{Die erste Verl"angerung der Notenh"alse} -Sei $\bar s$ die minimal zul"assige Halsl"ange innerhalb einer -Notengruppe. Dann sind zun"achst alle Halsl"angen der Gruppe um -$$s^*:=\max_{1\le i\le n}(0,\bar s-s_i)$$ -zu verl"angern. Die Verl"angerung $s^*$ ist also nur positiv, falls f"ur -mindestens ein $i$ gilt $s_i<\bar s$, andernfalls ist keine Korrektur -notwendig. - -Die minimal zul"assige Halsl"ange ist wie folgt bestimmt: -$$\bar s =\cases 2\hbox{|\nhh|}\,,&\text{falls -}s^d(p_1)\le3\hbox{|\nhh|}\text{ oder } -s^d(p_n)\le3\hbox{|\nhh|}\;,\\3\hbox{|\nhh|}\,,&\text{sonst.}\endcases$$ -Es gilt also $\bar s=2\hbox{|\nhh|}$ f"ur $p\ge6$, falls $d=+1$ und f"ur -$p\le1$, falls $d=-1$. - -Diese (willk"urlich festgelegten) Werte f"ur $\bar s$ haben sich in der -Praxis bew"ahrt. - -\Beispiel -\par -\input mdocpic3 -\endBeispiel - -\subsubsubheading{Die zweite Verl"angerung der Notenh"alse} -Abh"angig von der Anzahl der Balkenreihen $r$ m"ussen die -Notenhalsl"angen eventuell nochmals korrigiert werden um -$$s^{**}:=\cases0\,,&\text{f"ur -}r\le2\,,\\(r-2)\hbox{|\nhh|}\,,&\text{f"ur }r>2\,.\endcases$$ -Auch diese Werte sind heuristisch bestimmt. -\par -\subsubheading{% -Bestimmung des Aufpunktes aller Balken der Notengruppe} -Der Aufpunkt $P_{i,j}=(h_i,a_{i,j})\,,1\le i\le n$ und $1\le j\le r$, -der einzelnen Balken der Notengruppe -wird nun wie folgt bestimmt: -$$a_{i,j} = \bar p_i + d\cdot s_i + d\cdot r\cdot\hbox{|\nhh|}\;.$$ -Dabei wird der Balken bis auf den Spezialfall eines ``Halbbalkens'' -immer rechts vom Notenhals positioniert. Gilt ein Balken nur f"ur -eine Note, so wird er je nach Position der Note innerhalb der -Notengruppe links oder rechts vom Notenhals plaziert, z.B immer links -f"ur $N_n$ und immer rechts f"ur $N_1$. Innerhalb der Gruppe richtet -sich die Position nach dem metrischen Gef"uge (s.\lit\ziegen). Ein -solcher Balken hat immer als L"ange die H"ohe -eines Notenkopfes. - -\Beispiel -{\hsize 10cm -\advance\hsize2\iindent -\parindent2\iindent -\loose -\beginsong -\vio\C -\def\beamlist{\\{1-2,}\\{-2,}} -\group{\\{\a6\.1}\\{\s6}}{\\{6}\\{6}}\lbeam12\go -\def\beamlist{\\{1-2,}\\{1-1,}} -\group{\\{\s6}\\{\a7\.1}}{\\{6}\\{7}}\lbeam12\go -\def\beamlist{\\{1-4,}\\{-2,-4,}} -\group{\\{\a7\.1}\\{\s8}\\{\a6\.1}% -\\{\s7}}{\\{7}\\{8}\\{6}\\{7}}\lbeam14\go -\def\beamlist{\\{1-4,}\\{1-1,3-3,}} -\group{\\{\s7}\\{\a8\.1}\\{\s6}\\{\a7\.1}} -{\\{7}\\{8}\\{6}\\{7}}\lbeam14\go -\hfill\=% -\endsong} -\vskip-1cm -\endBeispiel - -\subsubheading{Abschlie\3ende Bemerkungen zur Verbalkung} -Das obige -Verfahren zur Verbalkung l"a\3t sich auch f"ur Akkorde durchf"uhren, -wenn f"ur die interne Tonh"ohe die am weitesten von der jeweiligen -Bezugsnote entfernte Note zur Berechnung verwendet wird. - -\Beispiel -{\hsize 4cm -\advance\hsize2\iindent -\parindent2\iindent -\loose -\beginsong -\vio\C% -\def\beamlist{\\{1-3,}\\{1-3,}}% -\group{\\{\b7\rchord\a7\a{-1}\endchord}\\{\rchord\a{14}\a8\endchord} -\\{\rchord\a{11}\a5\endchord}}{\\{-1}\\{8}\\{5}}\lbeam13\go\hfill -\endsong} -\vskip-1cm -\endBeispiel - -\subheading{Entwicklung eines Verfahrens zur Phrasierung} - -Gesucht ist ein Verfahren zur \defi{Phrasierung} -von Noten, d.h. ein Verfahren, -das jede beliebige Folge von Noten \folgi Nin mit zugeh"origen -Tonh"ohen \folgi pin, Notenhalsl"angen \folgi sin und -Notenhalsrichtungen \folgi din mit einem Bogen "uberspannt. - -Wie bei der Verbalkung mu\3 zun"achst entschieden werden, ob der Bogen -oberhalb oder unterhalb der Noten verl"auft. Verl"auft der Bogen -oberhalb, so ist eine konkave Form zu w"ahlen, andernfalls -eine konvexe Form. - -Als Grundregel gilt: - -\item{P1)}Bei einstimmiger Notation wird der Bogen von Notenkopf zu -Notenkopf gef"uhrt, so da\3 die betroffenen Noten deutlich erkennbar -sind, d.h. f"ur $d_1=d_n$ wird der Bogen -unterhalb der Notenk"opfe gef"uhrt, -falls $d_1=+1$, und oberhalb, falls $d_1=-1$. -\item{} -F"ur $d_1\ne d_n$ gibt es keine einheitliche Regelung, jedoch findet man -meistens (vor allem in der Vokalmusik) die Regelung, da\3 der Bogen -oberhalb -der Notenk"opfe gef"uhrt wird, um nicht in Konflikt mit unterlegtem Text -zu geraten. -\item{P2)} Bei zwei- (oder mehr-)stimmiger Notation gilt jedoch -allgemeing"ultig die Regelung, da\3 f"ur die Phrasierung der Oberstimme -konkave Bogen und f"ur die Phrasierung der Unterstimme konvexe Bogen -vorgeschrieben sind. - -\Beispiel -{\universal -\hsize 10 cm -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\C -\group{\\{\h5}\\{\h5}}{\\{5}\\{5}}\uslur12\go -\group{\\{\h3}\\{\h3}}{\\{3}\\{3}}\lslur12\go -\group{\\{\h4}\\{\h3}}{\\{4}\\{3}}\uslur12\go -\group{\\{\h3}\\{\h4}}{\\{3}\\{4}}\uslur12\go -\two{% -\group{\\{\h3}\\{\h7}}{\\{3}\\{7}}\uslur12\go} -{\group{\\{\h1}\\{\h4}}{\\{1}\\{4}}\lslur12\go}\=\endsong -}\vskip-1cm -\endBeispiel - -Der Bogen wird im Gegensatz zum Balken -nicht dazu verwendet, den Melodieverlauf auszudr"ucken, -sondern wird abh"angig vom zur Verf"ugung stehenden Freiraum -positioniert, d.h. er darf innere Noten der Notengruppe nicht -durchkreuzen. - -Beim Handnotensatz unterscheidet der Notensetzer Legato- und Haltebogen -von Phrasierungsbogen. - -Legato- und Haltebogen sind k"urzer und meist schon als Stempel -vorhanden, w"ahrend Phrasierungsbogen freier gestochen -werden und l"anger sind. - -Legatobogen haben also f"ur eine bestimmte L"ange eine feste Kr"ummung, -w"ahrend Phrasierungsbogen in der Form variieren k"onnen. - -Da \TeX\ nicht die graphischen M"oglichkeiten besitzt, Bogen zu -zeichnen, mu\3te eine Algorithmus gefunden werden, der Bogen mit einer -festen Kr"ummung bei gleicher Breite setzt. - -Berechnet man also die Sekantensteigungen des Bogens, so ist der -zugeh"orige zu w"ahlende Bogen eindeutig bestimmt und in einem -Zeichensatz speicherbar. - -Daher ist es f"ur das Setzen eines Bogens -ausreichend, nur seine Sekantensteigung zu berechnen und -diese zu diskretisieren. - -\subsubheading{Bestimmung des Anfangs- und Endpunktes des Bogens} - -O.B.d.A. seien im folgenden Noten durch einen konkaven Bogen zu -"uberspannen. F"ur den konvexen Bogen lassen sich die "Uberlegungen -analog durchf"uhren. - -Sei \folgi Nin eine Notengruppe. Seien -\folgi pin die zugeh"origen Tonh"ohen und -$\bar p_i:=p_i\cdot0.5\hbox{|\nhh|} $ wie oben. -Seien \folgi din die Richtungen der Notenh"alse, - \folgi sin die zugeh"origen Notenhalsl"angen und - \folgi hin die Abszissenwerte der Notenh"alse. -\Bemerkung O.B.d.A. sei $h_1:=0$. Gilt -$d_i=0$ f"ur ein $i$, so besitzt -die Note keinen Notenhals. In diesem Fall sei $h_i$ -der Abszissenwert des Notenkopfmittelpunktes. -\endBemerkung -Dann gilt f"ur den Anfangspunkt $A_i$ des Bogens f"ur Noten, die nicht -mit aufw"arts gestielten Notenh"alsen verbalkt sind: -$$\matrix\format\r&\l&\l\\ -\text{F"ur } &d_i=+1& \text{ gilt } A_i=(h_i+0.5\hbox{|\nhh|}, -\bar p_i+\hbox{|\nhh|})\,,\\ - \text{f"ur } &d_i=0&\text{ gilt } A_i=(h_i, -\bar p_i+\hbox{|\nhh|})\,,\\ - \text{f"ur } &d_i=-1&\text{ gilt } A_i=(h_i+0.5\hbox{|\nhh|}, -\bar p_i+\hbox{|\nhh|})\,.\endmatrix$$ -Ist $N_i$ Element einer oberhalb der Notenk"opfe verbalkten Notengruppe, -so ist eine weitere Fallunterscheidung notwendig. Falls $N_i$ nicht das -\disp{letzte} Element der verbalkten Notengruppe ist, gilt: -$A_i =(h_i,\bar p_i+s_i+0.5\hbox{|\nhh|})\;.$ -Dies gilt auch f"ur die letzte Note einer ``Balkengruppe'', falls die -Note des Bogenendes auf die gleiche Weise verbalkt wurde, andernfalls -gilt $A_i= (h_i+0.5\hbox{|\nhh|}, \bar p_i+\hbox{|\nhh|})$. - -F"ur den Endpunkt $E_i$ des Bogens f"ur Noten, die nicht -mit aufw"arts gestielten Notenh"alsen verbalkt sind, gilt: -$$\matrix\format\r&\l&\l\\ -\text{F"ur }& d_i=+1&\text{ gilt } E_i=(h_i-0.5\hbox{|\nhh|}, -\bar p_i+\hbox{|\nhh|})\,,\\ - \text{f"ur }& d_i=0&\text{ gilt } E_i=(h_i, -\bar p_i+\hbox{|\nhh|})\,,\\ - \text{f"ur }&d_i=-1&\text{ gilt } E_i=(h_i+0.5\hbox{|\nhh|}, -\bar p_i+\hbox{|\nhh|})\,.\endmatrix$$ -Ist $N_i$ Element einer oberhalb der Notenk"opfe verbalkten Notengruppe, -so ist wiederum -eine Fallunterscheidung notwendig. Falls $N_i$ nicht das -\disp{erste} Element der verbalkten Notengruppe ist, so ist -$E_i =(h_i,\bar p_i+s_i+0.5\hbox{|\nhh|})\;.$ -Dies gilt auch f"ur die erste Note einer ``Balkengruppe'', falls die -Note des Bogenendes auf die gleiche Weise verbalkt wurde, andernfalls -ist $E_i= (h_i,\bar p_i+\hbox{|\nhh|})$. -\verbatimoff -\par -\Beispiel -\par -{\hsize 16 cm\universal -\parindent = 0pt -\beginsong -\vio\C% -\group{\\{\h3}\\{\h3}}{\\{3}\\{3}}\uslur12\go -\group{\\{\h3}\\{\g5}}{\\{3}\\{5}}\uslur12\go -\group{\\{\h3}\\{\h4}}{\\{3}\\{4}}\uslur12\go\doublebarline -\group{\\{\g4}\\{\h1}}{\\{4}\\{1}}\uslur12\go -\group{\\{\g5}\\{\g5}}{\\{5}\\{5}}\uslur12\go -\group{\\{\g5}\\{\h5}}{\\{5}\\{5}}\uslur12\go\doublebarline -\group{\\{\h4}\\{\h3}}{\\{4}\\{3}}\uslur12\go -\group{\\{\h5}\\{\g5}}{\\{5}\\{5}}\uslur12\go -\group{\\{\h4}\\{\h8}}{\\{4}\\{8}}\uslur12\go\hfill\doublebarline -\group{\\{\a3}\\{\a3}\\{\h6}}{\\{3}\\{3}\\{6}}\ubeam12\uslur13\go -\group{\\{\a3}\\{\a3}\\{\h6}}{\\{3}\\{3}\\{6}}\ubeam12\uslur23\go -\doublebarline -\group{\\{\a3}\\{\a3}\\{\a3}\\{\a3}}{\\{3}\\{3}\\{3}\\{3}% -}\ubeam12\ubeam34\uslur13\go\|% -\group{\\{\a3}\\{\a3}\\{\a3}\\{\a3}}{\\{3}\\{3}\\{3}\\{3}% -}\ubeam12\ubeam34\uslur23\go -\=\endsong} -\vskip-1cm -\endBeispiel - -Wie bei der Verbalkung mu\3 in Extremf"allen die Sekantensteigung - korrigiert werden. Dies geschieht wiederum nur durch Verschieben der -Anfangs- bzw. Endpunkte in vertikaler Richtung, d.h. durch Ver"andern der -Ordinaten. -\verbatimon - -Im folgenden seien \folgi ain und \folgi ein die Ordinatenwerte der -Punkte \folgi Ain{}bzw. \folgi Ein. -Eine Korrektur wird (auch in der Notenliteratur) nur so durchgef"uhrt, -da\3 die Sekantensteigung betragsm"a\3ig verkleinert wird, jedoch kein -Vorzeichenwechsel auftritt. - -Da die -Anfangs- und Endpunkte f"ur einen konkaven Bogen so gew"ahlt sind, -da\3 der vertikale Abstand von der Grundlinie der minimal m"ogliche ist, -kann die Korrektur nur durch Erh"ohen des Abstandes durchgef"uhrt werden. - -\item{1)}Zun"achst ist eine Korrektur notwendig, -falls der Bogen, der die Noten zwischen $N_1$ und $N_n$ "uberspannen -soll, die inneren Noten schneidet. -Die Bogen der Notenliteratur "ahneln eher Parabelausschnitten als -Kreisbogenausschnitten, wie man zun"achst vermuten w"urde. Um den -Bogenverlauf m"oglichst genau nachzuahmen, wurde ein Parabelausschnitt -gew"ahlt, der durch die beiden Endpunkte des Bogens und einen dritten -Punkt eindeutig bestimmt ist. Dieser dritte Punkt ist durch einen -Vektor, der senkrecht auf der Sekante steht, mit dem Sekantenmittelpunkt -als Aufpunkt und einer L"ange, abh"angig von der Sekantenl"ange, gegeben. -Als L"ange hat sich -hierbei ein Sechstel der Sekantenl"ange bew"ahrt, soweit -diese nicht den Betrag von |2\nhh| "uberschreitet. -\par -\item{} -Da nur eine grobe Korrektur notwendig ist, gen"ugt es, den Bogen -geeignet linear zu approximieren und zu "uberpr"ufen, ob die -inneren Noten unterhalb einer solchen Geraden -verlaufen. -\item{} -Die Gerade, die dies f"ur alle F"alle gew"ahrleistet, ist nat"urlich -die Gerade durch die -Sekante des Bogens. Dies f"uhrt jedoch f"ur die Noten, -die sich unter der Sekantenmitte befinden, zu unbefriedigenden -Ergebnissen. - Da -sich jedoch in unmittelbarer N"ahe der Bogenendpunkte keine -inneren Noten befinden, kann eine Gerade gew"ahlt werden, die -zur Sekante parallel verl"auft. -Der Abstand zur Sekante ist - abh"angig von der ``Auslenkung'' des -Bogens und der Sekantensteigung. -\item{} -Sei $\epsilon$ der Abstand der beiden -Geraden und -$S$ die errechnete Sekantensteigung bzgl. $A_1$ und $E_n$. -Dann ist -$s^*=\max_{i=2,\ldots,n-1}\{0\,,\,(e_i-a_1+S\cdot h_i)-\epsilon\}$ -der Maximalwert, um den die Approximationsgerade "uberschritten wurde. -Die Korrektur der Bogensteigung wird dann wie folgt durchgef"uhrt: -gilt $a_1<e_n$, dann wird $a_1$ um $s^*$ -vergr"o\3ert. -Falls $a_1+s^*>e_n$, wird so korrigiert, da\3 $S$ verschwindet, d.h. -$e_n$ mu\3 um den Betrag $e_n-(a_1+s^*)$ vergr"o\3ert werden. F"ur -$a_1>e_n$ wird zun"achst $e_n$ vergr"o\3ert. Falls dabei -$S$ Null wird, ist zus"atzlich $a_1$ zu korrigieren. -\medskip -\input mdocpic4 -\medskip -\centerline{{\eightrm Skizze zur Approximation des Bogens}} -\item{2)}Eine weitere Korrektur mu\3 (nach der Diskretisierung -(s. \the\chap.2.2\XX)) -durchgef"uhrt werden, falls die Steigung die f"ur die -Zeichenbreite des Bogens zul"assige maximale Steigung "uberschreitet. -\item{} -Die Sekantensteigungen $S$ liegen im Intervall $(-1,1)\in\rz$, jedoch -kommt es auch nur selten vor, da\3 \verbatimoff$S\cdot |h|>\verbatimon -4\hbox{|\nhh|}$, d.h. die H"ohe des Zeilensystems "uberschreitet. Die -maximal zul"assige Steigung ist also abh"angig von $h$ und kann -beschrieben werden durch: -\verbatimon -$$\bar s(h)=\min(1,{4\hbox{|\nhh|}\over h})\;.$$ -Dann wird die Korrektur wiederum so durchgef"uhrt, da\3 -$a_1$ vergr"o\3ert wird, falls $a_1<e_n$, -und $e_n$ vergr"o\3ert wird, falls $a_1>e_n$. - Es gilt: -$$a_{1,{\rm neu}}:=e_n-\bar s(h)\cdot h \quad\text{ bzw. }\quad -e_{1,{\rm neu}}:=a_n-\bar s(h)\cdot h \;.$$ - -\subsubheading{Diskretisierung der Sekantensteigung} -Aus den gleichen Gr"unden wie bei der Verbalkung ist eine -Diskretisierung der Sekantensteigung notwendig. Da die St"arke des -Bogens jeweils zum Bogenende abnimmt, w"are es sehr zeitaufwendig, den -Bogen aus Einzelst"ucken zusammenzusetzen. -Zu jeder Breite und jeder Steigung m"u\3te also ein vollst"andiger Bogen -bereitgehalten werden. - -Ber"ucksichtigt man folgende Gesichtspunkte, kann jedoch eine -repr"asentative Auswahl getroffen werden. -\item{1)}Da der Bogen die -Notengruppe nur "uberspannen und nicht exakt zwischen zwei Notenh"alsen -eingepa\3t werden mu\3, gen"ugt es, Bogen der Zeichenbreite $w=k\cdot -\hbox{|\nhw|} \text { mit } k\in\nz^+$ bereitzuhalten. -\item{2)}Der vertikale Abstand der Bogenendpunkte betr"agt (meistens) -ein -$m$-faches von 0.5|\nhh|, wobei als obere Grenze 4|\nhh| -angesehen werden kann, d.h. $m\le8$. -% -\item{3)}Eine weitere Schranke ist $m\le2k$, da die Sekantensteigung -kleiner als 1 sein sollte. -\item{4)}Da jedoch nicht Bogen beliebiger -L"ange bereitgehalten werden k"onnen, ist es entgegen obiger -"Uberlegung doch notwendig, Bogen gr"o\3erer Breite aus Einzelst"ucken -zusammenzusetzen. Dabei wird das Mittelst"uck durch eine Rule beliebiger -L"ange ersetzt. - -Es ergeben sich aus den obigen Gesichtspunkten f"unf verschiedene -Zeichens"atze: -\item{1)}konkave Bogen positiver Sekantensteigungen ($\frac{ht}w$) mit -Breiten $w = i\cdot\hbox{|\nhw|}\,,i\in\{1,\ldots,17\}$ und H"ohen -$ht = j\cdot0.5\hbox{|\nhh|}\,,j\in\{1,\ldots,\min({2i,8})\}$. - -\item{2)}konkave Bogen negativer Sekantensteigungen ($\frac{dp}w$) mit -Breiten $w = i\cdot\hbox{|\nhw|}\,,i\in\{1,\ldots,17\}$ und Tiefen -$dp =-j\cdot0.5\hbox{|\nhh|}\,,j\in\{1,\ldots,\min({2i,8})\}$. - -\item{3)}konvexe Bogen positiver Sekantensteigungen ($\frac{ht}w$) mit -Breiten $w$ und H"ohen $ht$ wie oben. -\item{4)}konvexe Bogen negativer Sekantensteigungen ($\frac{dp}w$) mit -Breiten $w$ und Tiefen $dp$ wie oben. -\item{5)}konkave und konvexe Haltebogen ($j=0$) verschiedener Breite -$w$ wie oben -und konkave und konvexe Bogenst"ucke -positiver und negativer Sekantensteigung konstanter Breite (% -$w=9\hbox{|\nhw|}$). -\Bemerkung -\item{1)}Die Maximalbreite $w=17\hbox{|\nhw|}$ hat sich so ergeben, da\3 -die Zeichens"atze mit jeweils 124 Elementen belegt werden konnten. -Vollst"andige Bogen einer gr"o\3eren Breite erschienen nicht sinnvoll, -da sie selten vorkommen und viel Speicherplatz ben"otigen. -\item{2)} -Zur Wahl der Bogenst"ucke: -\item{}Der Bogen wird aus drei Teilen zusammengesetzt und zwar werden je -ein Bogenst"uck positiver Sekantensteigung und ein Bogenst"uck -negativer Sekantensteigung, die jeweils konvex bzw. konkav sind, durch -eine Rule beliebiger L"ange verbunden. Dabei k"onnen sich vier -verschiedene Situationen ergeben: - -\Beispiel\vskip-1cm -\begingroup -\def\vt#1{{\offinterlineskip\vtop{\null\hbox{\slurfont\char\hex#1}\vss}% -}} -\def\vb#1{{\offinterlineskip\vbox{\vss\hbox{\slurfont\char\hex#1}\null}% -}} -\medskip -\def\rulet{\vrule height 0pt depth 1pt width36pt} -\def\ruleb{\vrule height 1pt depth 0pt width36pt} -\baselineskip2cm -\halign{\hskip\iindent#\hfil&\quad$\vcenter{#}$&\hskip\iindent#\hfil -&\quad$\vcenter{#}$\cr -a)&\hbox{\vt{28} \rulet\ \vt{30}}&b)&\hbox{\vt{20} \rulet\ \vt{38}}\cr -c)&\hbox{\vb{40} \ruleb\ \vb{58}}&d)&\hbox{\vb{48} \ruleb\ \vb{50}}\cr} -\endgroup -\medskip -\endBeispiel -\item{} -Die folgenden "Uberlegungen gelten f"ur die in Beispiel a) -aufgef"uhrte Situation, k"onnen jedoch auch auf die anderen "ubertragen -werden. -\item{} -Sei $S=\Frac{e_n-a_1}h={\dsize j\cdot0.5\hbox{|\nhh|}\over \dsize -h}$, wobei -$j\in\{0,\ldots,8\}$. -O.B.d.A. gilt $e_n>a_1$. Sei $S_1>0$ die Sekantensteigung des ersten -Bogenst"ucks und $S_2<0$ die des zweiten. Dann gilt $S_1>S$. -Die f"ur die Bogen gew"ahlten Steigungen reichen also in diesem Fall -nicht aus. Je gr"o\3er \verbatimoff$|S_2|$ gew"ahlt wird, desto -gr"o\3ere Werte m"ussen also f"ur $S_1$ bereitgehalten werden. -\item{} -Dann gilt:\verbatimon -$$S_1={S\cdot h + 9\hbox{|\nhw|}\cdot -\verbatimoff|S_2|\over\verbatimon -9\hbox{|\nhw|}}$$\verbatimon -Da die H"ohen in den "ubrigen Zeichens"atzen als Vielfaches von -0.5|\nhh| gew"ahlt wurden, d.h. -da\3 $S\cdot h = j\cdot 0.5\hbox{|\nhh|}$ f"ur ein -$j\in\{1,\ldots,8\}$, gilt, falls eine solche Darstellung auch f"ur -\verbatimoff $|S_2|\cdot 9\verbatimon -\hbox{|\nhw|}=j^*\cdot0.5\hbox{|\nhh|}$ mit fest gew"ahltem -$j^*\in\nz$ -angenommen wird,\verbatimon -$$S_1={(j+j^*)\cdot 0.5\hbox{|\nhh|}\over 9\hbox{|\nhw|}}\,.$$ -Dies ergibt f"ur $S_1$ acht verschiedene Werte -$ht_j=j\cdot\hbox{|\nhh|}$, -$j\in\{j^*+1,\ldots,j^*+8\}$. \verbatimoff -Da der Wert f"ur $|S_2|$ noch mitgerechnet \verbatimon -werden mu\3, sind neun verschiedene Bogenst"ucke f"ur jeden Fall -notwendig (positiv, negativ, konvex, konkav). -\item{} -Die Auswahl der Steigungen ist also nur abh"angig von $j^*$ und nicht -von $h$. -Die vorliegenden Zeichens"atze wurden mit $j^*=2$ erzeugt. -Der Fall $S=0$ mu\3 als Sonderfall betrachtet werden, da in diesem Fall -$S_1=-S_2$ gelten mu\3. Die Wahl -$j^*=2$ erweist sich in diesem Fall jedoch als -zu flach. Aus diesem Grund werden f"ur $S=0$ Bogen mit $j=4$ -verwendet. -\endBemerkung -\subheading{Ausf"uhrung des Balken- und Bogensatzes} - -\subsubheading{Nachbarschaften} - -Das Setzen der Bogen und Balken ist in hohem Ma\3e abh"angig vom -Kontext, z.B. Bestimmung der Anfangs- und Endpunkte der Bogen, die -Richtung und L"ange der Notenh"alse. - -Im Unterschied zum Textsatz besteht hier die Notwendigkeit, -Notenschriftelemente, die auf eine solche Weise in Verbindung stehen, -d.h. nicht isoliert zu behandeln sind, gleichzeitig zu verarbeiten. - -Gomberg (\lit\gomb) hat f"ur Notenschriftelemente, die untereinander in -Beziehung stehen, indem sie gleichen horizontalen Raum beanspruchen, -den Begriff der \defi{Nachbarschaften} formuliert -(s.a. Kapitel \adchap2\XX). - -Anlehnend an diesen Begriff m"ochte ich Notenschriftelemente, die in -irgendeiner Weise (graphisch) miteinander verbunden sind, zu einer -Nachbarschaft zusammenfassen. Dazu geh"oren Notengruppen, die verbalkt -werden sollen, aber auch Notengruppen, die mit einem Bogen "uberspannt -werden sollen. Da sich diese Gruppen "uberschneiden k"onnen, sind -Nachbarschaften oft gr"o\3er als die einzelne Notengruppe. - -\Beispiel -{\hsize 10 cm -\loose -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\Es \hskip20pt\group{\\{\a8}\\{\s3}\\{\s4}\\{\a5} -\\{\s5}\\{\s6}\\{\n7\a7}\\{\s{13}}\\{\s7}} -{\\{8}\\{3}\\{4}\\{5}\\{5}\\{6}\\{7}\\{13}\\{7}} -\def\beamlist{\\{1-3,}\\{2-3,}}\lbeam13% -\def\beamlist{\\{4-6,}\\{5-6,}}\lbeam46% -\def\beamlist{\\{7-9,}\\{8-9,}}\lbeam79\uslur24\uslur57\uslur89\go -\hfill\=% -\endsong} -\vskip-1cm -\endBeispiel - -\Bemerkung Da es in einer Nachbarschaft nicht m"oglich ist, eine Note -isoliert zu sehen, ist es auch nicht m"oglich, eine Nachbarschaft ohne -"au\3eres Einwirken (durch den Benutzer) zu trennen. -\item{} -In \TeX\ wird eine solche Nachbarschaft als Box aufgefa\3t, deren Glue -nicht mehr variabel ist. Enth"alt ein Musikst"uck gr"o\3ere -Nachbarschaften, wird es problematisch, geeignete Umbruchpunkte f"ur den -Zeilenumbruch zu finden. -\item{} -Das \TeX-Konzept f"ur Ausschlu\3 und Zeilenumbruch erweist sich also an -dieser Stelle als hinderlich. -\goodbreak -\subsubheading{Verarbeitung der Nachbarschaften}Zur Verarbeitung der -Nachbarschaften ist es notwendig, Informationen "uber die einzelnen -Nachbarschaftselemente zu verwalten, z.B. die Tonh"ohen der Noten, die -L"angen der Notenh"alse, den oberen und unteren Anfangs- und Endpunkt -f"ur Bogen. - -Eine Speicherung beliebig vieler gleichartiger Elemente, z.B. in -Vektoren, ist in \TeX\ nicht vorgesehen. Es ist jedoch m"oglich, mit -Hilfe von Kontrollsequenzen Listen aufzubauen (\lit\Knuth, \Texbook, -Anhang D.2). -Eine Liste von $n$ Informationen kann in der Form -\begindisplay -|\\{|\<item$_1$>|}\\{|\<item$_2$>|}| $\ldots$ |\\{|\<item$_n$>|}| -\enddisplay -kodiert werden, -wobei jedes \<item> eine wohlgeklammerte Tokenliste ist. - -Eine parameterlose Kontrollsequenz, z.B. |\liste|, deren Ersetzungstext -obige Form besitzt, hei\3t \defi{Listenmacro} (\tex{list macro}). -Das leere Listenmacro mit $n=0$ hei\3t |\empty|. Die einzelnen Elemente -werden durch |\\| getrennt. -Wird |\\| als Kontrollsequenz aufgefa\3t und als Makro -mit einem Argument definiert, so k"onnen -verschiedene Effekte erzielt werden, wenn es auf die -Liste angewendet wird. -\Beispiel -Mit |\def\\#1{\hbox{#1}}| -werden durch Aufruf von |\vbox{\liste}| alle Elemente von Liste -untereinander gesetzt. -\endBeispiel -Durch Umdefinieren von |\\| kann man auch auf die Elemente selber -einwirken. Sie k"onnen ausgetauscht werden, neue Elemente an- und -eingef"ugt oder alte gel"oscht werden. - -Solche Listen k"onnen also dazu benutzt werden, Informationen, die zur -Bearbeitung der Nachbarschaften notwendig sind, zu speichern. - -Die Bearbeitung der Nachbarschaften erfolgt in drei Teilschritten: -\item{1)}Die Initialisierung der ben"otigten Listen. -\item{2)}Die Berechnung der ben"otigten Balken und Bogen nach den in -\the\chap.1 und \the\chap.2 -beschriebenen Verfahren und das Einf"ugen der ent\-% -sprechenden Zeichensatzelemente in die Nachbarschaft. -\item{3)} Das endg"ultige Setzen der Nachbarschaft. - -\subsubsubheading{Die ben"otigten Listen} -Im folgenden sollen die ben"otigten Listen beschrieben werden. - -\item{1)}Als Anfangsinformation m"ussen folgende Listen gegeben sein. -Diese sind vom "Ubersetzungspro\-gramm -(\lit\Schofer) bereitzustellen: -\item{a)}Die Liste aller Elemente der Nachbarschaft (|\elementlist|). -\item{} -Normalerweise bestehen die Elemente aus jeweils einer Note mit, falls -vorhanden, zugeh"origem Vorzeichen und eventuellen Wertpunkten. -Des weiteren kann ein Element einen Akkord beinhalten oder -andere Notenschriftelemente wie z.B. Taktstriche, zu unterlegende Texte -oder Akzente. -\item{b)}Die Liste der Tonh"ohen der Noten der -Nachbarschaft (|\pitchlist|).\item{} -Das $i$-te Element der -|\pitchlist| enth"alt die jeweilige - Tonh"ohe des $i$-ten Elementes der |\elementlist|. - Bei Akkorden kann jedoch -nur die Tonh"ohe des Notenkopfes, der f"ur die Verbalkung -relevant ist, angegeben werden. Auch Taktstrichen kann eine Tonh"ohe -zugewiesen werden. So kann man vor einem Zeilenumbruch einen -Bogen "uber einem Taktstrich enden lassen. -\item{c)} Die Liste, die Informationen "uber die durch Balken zu -verbindenden Noten enth"alt (|\beamlist|). -\item{} -Die Zahl der Elemente gibt die Anzahl der Balkenreihen $r$ an und die -jeweiligen Elemente, -welche Noten in der Balkenreihe zu verbinden sind. -Wie in \XX \the\chap.1 -erw"ahnt, ist nicht allein aus den Notenwerten erkennbar, -welche Noten der Nachbarschaft miteinander verbunden werden m"ussen, da -die Noten -innerhalb der Balkengruppe noch weiter gruppiert werden m"ussen, -um die Betonungsverh"altnisse im Takt zu verdeutlichen. -\item{} -Aus diesem Grund enthalten die Elemente der Balkenlisten eine weitere -Liste, die angibt, welche Noten in der jeweiligen Balkenreihe -miteinander verbunden werden. -\item{} -Sei $l$ die Anzahl der Elemente einer solchen ``Unterliste'' und -seien die Elemente $n_1$ bis $n_2$ der Nachbarschaft zu verbalken. -Das $i$-te Element des Listenelementes ist dabei -von der Form: -$$\matrix\format\l&\r&\l\\\hbox{A:}\qquad& -k_{i_1}-k_{i_2},& \text{ wobei }k_{i_{1,2}}\in\{n_1,\ldots,n_2\} -\text{ und }k_{i_1}\leq k_{i_2}\,,\\ -\noalign{\text{ oder }} -\hbox{B:}\qquad&-k_{i_2},&\text{ wobei }k_{i_2} -\text{ wie oben und }k_{i_1} \text{ fehlt.} -\endmatrix$$ -\item{}F"ur die Folge -$(k_{i_1},k_{i_2}),i\in\{1,\ldots,l-1\}$ mu\3 gelten: -$$k_{i_1}<k_{(i+1)_1}\text{ und }k_{i_2}\leq k_{(i+1)_1}\,,\text{ falls -}k_{i_2}\text{ nicht fehlt.}$$ -\item{}Dabei bedeutet die Form: -{\iindent=40pt -\itemitem{$k_{i_1}-k_{i_2}$:} Verbalke das $k_{i_1}$-te bis -$k_{i_2}$-te Element der |\elementlist|, falls $k_{i_1}\ne k_{i_2}$, -sonst verbalke Element $k_{i_1}$ nach rechts. -\itemitem{$-k_{i_2}$:}Verbalke das $k_{i_2}$-te Element nach -links. -\par} -\item{}In beiden F"allen betr"agt die Breite des Balkens |\nhw|. - -\Beispiel(s. \the\chap.1.3) -\endBeispiel -\item{} -Es ist nach oben beschriebenem System nicht unbedingt notwendig, da\3 -die erste Balkenreihe durchgehend ist, d.h. von der Form $n_1-n_2$. - Dies ist kein -Fehler, sondern es erm"oglicht, ein Bild folgender Art zu erhalten: - -{\loose -\hsize7cm -\advance\hsize2\iindent -\parindent2\iindent -\beginsong -\vio\C -\def\beamlist{\\{1-4,5-8,}}% -\group{\\{\a{-2}}\\{\a{-1}}\\{\a0}\\{\a1}\\{\a2}\\{\a3}\\{\a4}\\{\a5}} -{\\{-2}\\{-1}\\{0}\\{1}\\{2}\\{3}\\{4}\\{5}}\ubeam18\go\=% -\endsong} -\vskip-1cm -\goodbreak -\item{2)}Zur Verarbeitung werden folgende Listen ben"otigt: -\item{}Da diese Listen Informationen "uber das jeweilige Element -der |\elementlist| speichern, mu\3 -die Anzahl der Listenelemente (Kardinalit"at) -mit der Anzahl der Elemente der |\elementlist| "ubereinstimmen. -\item{a)}Die Liste, die Informationen "uber die horizontale -Breite der Nachbarschaft und ihrer Elemente enth"alt (|\Hlist|). -\item{} -Das $i$-te Element enth"alt die Breite der Nachbarschaft -vom 1. bis $i$-ten Element einschlie\3lich, ohne da\3 am Ende -Glue angef"ugt wurde. Ist die $i$-te Note nicht punktiert, so schlie\3t -diese Nachbarschaft f"ur $d_i=+1$ mit dem Notenhals, f"ur -$d_i=-1$ mit dem Notenkopf ab. Der Abstand des Notenhalses zum -Ende dieser Notengruppe betr"agt also |\nhw|. -Ist die Note mit Wertpunkten versehen, -so erh"oht sich der Abstand um die Breite, die -die Punkte beanspruchen. Bei Akkorden mit aufsteigendem Notenhals -kann es vorkommen, da\3 die Nachbarschaft nicht mit dem Notenhals ab\-% -schlie\3t, falls ein Notenkopf auf der rechten Seite des Notenhalses -erscheint. Der Abstand betr"agt dann, falls keine Wertpunkte vorhanden -sind, |\nhw|. -\item{b)} Die Liste, die Informationen "uber die Abszissenwerte der -Notenh"alse liefert (|\Hcorlist|). -\item{} -Das $i$-te Element enth"alt als Korrektur den -horizontalen Abstand des Notenhalses des $i$-ten Elements zum -Ende einer Nachbarschaft, die mit diesem Element abschlie\3en w"urde. -Mit dieser Liste k"onnen die Wertpunkte sowie Akkorde -z.B. f"ur die Berechnung -der L"ange des Balkens ber"ucksichtigt werden. -\item{} -Das $i$-te Element enth"alt als Korrektur den -horizontalen Abstand des Notenhalses des $i$-ten Elements zum -Ende einer Nachbarschaft, die mit diesem Element abschlie\3en w"urde. -\item{c)} Die Liste, die Informationen "uber die Notenhalsl"angen der -zu verbalkenden Noten enth"alt (|\stemlist|). -\item{}Diese Liste wird zun"achst mit Null initialisiert und nur -ver"andert, falls eine Note zu verbalken ist. Es ist also eine Unter\-% -scheidung zwischen einzelstehenden Noten und Balkengruppen anhand dieser -Liste m"oglich. -\item{d)}Die Liste, die Informationen "uber die Richtung der -Notenh"alse in der Notengruppe enth"alt (|\dirlist|). -\item{} -Bei Verbalkung wird die eventuelle "Anderung der Notenhalsrichtung der -betroffenen Noten in dieser Liste vermerkt, soda\3 es m"oglich ist -einen Bogen "uber oder unter diesen Noten korrekt zu plazieren. -\item{e)}Die Listen, die die vertikalen Positionen der Bogenanfangs- -und Endpunkte oberhalb bzw. unterhalb der Noten enthalten -(|\uslurlist| und |\lslurlist|). -\item{}Die Listen sind so angelegt, da\3 ein Element -Informationstr"ager sowohl der Ordinaten des - Anfangs- als auch des Endpunktes -ist. Stimmen die Werte nicht "uberein, so wird dies durch einen Wert, -der betragsm"a\3ig gr"o\3er als 100\pt\ ist, angezeigt. -\item{} -Die Elemente erhalten nur von Null verschiedene Werte, falls der -Anfangs- bzw. Endpunkt nicht direkt am Notenkopf liegt. Andernfalls -werden sie abh"angig vom jeweiligen Wert der Tonh"ohenliste berechnet. - -Weitere Listen sind f"ur den einstimmigen Notensatz nicht erforderlich. -% - -\subsubsubheading{Die Initialisierung der Listen} - -Durch das Makro |\group| werden alle Listen, die nicht vorgegeben sind, -initialisiert.\par -Dies geschieht, indem die Nachbarschaftsliste (|\elementlist|) einmal -abgearbeitet, jedoch noch nicht gesetzt, sondern zun"achst -in einer Box akkumuliert wird. -Weiterhin wird das Z"ahler-Register |\N| mit der Anzahl -der Listenelemente der |\elementlist| belegt. - -\subsubsubheading{Das Setzen der Nachbarschaft} -Nachdem die Nachbarschaftsliste durch die Informationen "uber die zu -setzenden Balken und Bogen, Aufpunkt, L"ange und Steigung, erweitert -wurde, mu\3 sie ein zweites Mal abgearbeitet werden. -Dabei mu\3 ber"ucksichtigt werden, da\3 -der variable Glue der vorangegangenen Note vor der Nachbarschaft gesetzt -wird, um einen besseren Zeilenausschlu\3 zu erm"oglichen. Der -Glue innerhalb der Nachbarschaft mu\3 auf den nat"urlichen Abstand -fixiert werden, da die L"angen der Balken und Bogen nicht mehr ver"andert -werden k"onnen. -F"ur die Notenhalsl"ange wird im Falle, da\3 die Note verbalkt wird, -der Wert der |\stemlist| gew"ahlt; andernfalls wird sie anhand - der Funktion f"ur die Notenhalsl"ange neu berechnet. - -\vfill\eject diff --git a/macros/mtex/documentation/mdocabst.tex b/macros/mtex/documentation/mdocabst.tex deleted file mode 100644 index 9b351afc34..0000000000 --- a/macros/mtex/documentation/mdocabst.tex +++ /dev/null @@ -1,73 +0,0 @@ -\indent\null\par\vskip3cm - -Bis heute sind alle Versuche, -Musiknotensatz maschinell auszuf"uhren, -erfolglos geblieben. -Die Notenbl"atter werden immer noch im Handsatz hergestellt. -Ein neuer Zugang, den -Notensatz zu automatisieren, er"offnete sich mit der Einf"uhrung -leistungsf"ahiger Computer mit qualitativ hochwertigen Graphiksystemen. -Die dazu entwickelten Notensatzprogramme orientierten sich an -bestehenden Graphikprogrammen (s. L. Smith (1973)\lit\smith, D. Byrd -(1974)\lit\byrd\ und D. Gomberg (1978)\lit\gomb). -Die vorliegende -Arbeit ist eine "uberarbeitete Zusammenfassung der beiden -Diplomarbeiten -``Automatisierter Notensatz mit \TeX'' (\lit\Steinb, \lit\Schofer) -Es wird gezeigt, wie -das Textsatzsystem \TeX\ so erweitert werden kann, da\3 -eine automatisierte Ausgabe von Notenschrift m"oglich ist. -Dazu wird im ersten Teil ``Ein Verfahren zur Notenschrifteingabe'' -eine an der konventionellen Notenschrift orientierte -Eingabesprache entworfen -und ein "Ubersetzungsprogramm entwickelt, das die mit ihrer Hilfe -codierten Musikst"ucke -in von \TeX\ verarbeitbare Kontrollsequenzen "ubertr"agt. -Im zweiten Teil ``Verfahren zur Notenschriftausgabe'' -werden sowohl -die umfangreichen, in der Literatur oft -unvollst"andig angegebenen Notations- und Satzregeln -vorgestellt als auch Verfahren zur Umsetzung dieser Regeln -hergeleitet und entwickelt. -Das Problem, einstimmigen Notensatz -in einem (Zeilen-)System mit dem Textsatzsystem zu automatisieren, wurde -benutzerfreundlich und vom Ausgabeger"at unabh"angig gel"ost. - -Die erforderlichen Makros und die Programme -der entwickelten Zeichens"atze wurden nicht in diese -Arbeit aufgenommen. -Sie k"onnen auf diversen \TeX-Fileservern gefunden werden, -z.B. bei `LISTSERV at DHDURZ1.BITNET'. - -\vfill -Previous attempts at printing music mechanically -have been unsuccessful. -Even today, music is printed manually. -A new approach to -automating music printing was made possible -with the introduction of powerful -computers with high-quality graphic systems. The earliest programs -developed -for music printing oriented themselves towards existing graphics -programs (see L. Smith (1973) -\lit\smith, D. Byrd (1974) \lit\byrd, D. Gomberg (1978)\lit\gomb). The -present paper is a revised version of the two theses -``Automatisierter Notensatz mit \TeX''. -It is shown that the typsetting -system \TeX\ can be extended for automatic music printing. The first -part ``Ein Verfahren f"ur Notenschrifteingabe'' -is the design of an input language which is based upon conventional -musical notation, and the development of a translation program that -transforms the coded pieces into control sequences which are -understood by \TeX. In the second part ``Verfahren zur -Notenschriftausgabe'' both extensive notation and setting rules and -methods to realize these rules are developed. -The task of automatting single-staff notation has been solved -in a user friendly way and is device independent. - -Macro listings and program listings of the -music fonts are not included in this paper. -They can be found on several \TeX-fileservers, -e.g. at `LISTSERV at DHDURZ1.BITNET'. - -\vfill\eject diff --git a/macros/mtex/documentation/mdocams.tex b/macros/mtex/documentation/mdocams.tex deleted file mode 100644 index 572937adb4..0000000000 --- a/macros/mtex/documentation/mdocams.tex +++ /dev/null @@ -1,261 +0,0 @@ -%------------------------------------------------------------------ -% parts from AMSTeX Version 0.999999 (C) AMS 1983 -% -\catcode`\@=11 - -\def\@{\char'100 } -\catcode`\~=13 -\def\{{\relax@AmS\ifmmode\delimiter\dq4266308 - \else$\delimiter\dq4266308$\fi} -\def\}{\relax@AmS\ifmmode\delimiter\dq5267309 - \else$\delimiter\dq5267309 $\fi} - -\def\tex{\TeX} - -% - -% STYLE, SPACING AND ALTERNATE NAMES - -\let\dsize=\displaystyle -\let\tsize=\textstyle -\let\ssize=\scriptstyle -\let\sssize=\scriptscriptstyle - -\def\quad{\relax@AmS\ifmmode - \hbox{\hskip1em}\else\hskip1em\relax@AmS\fi} % NOTE 20 -\def\qquad{\quad\quad} -\def\,{\relax@AmS\ifmmode\mskip\thinmuskip\else$\mskip\thinmuskip$\fi} -\def\;{\relax@AmS - \ifmmode\mskip\thickmuskip\else$\mskip\thickmuskip$\fi} -\def\parsep{\par\penalty -50\vskip 3pt plus 3pt minus 3pt} -\def\Parsep{\par\penalty -100\vskip 6pt plus 3pt minus 4pt} -\def\frac#1#2{{#1\over#2}} -\def\Frac#1#2{{\displaystyle{#1\over#2}}} -\def\text#1{\hbox{\rm#1}} -% -% SOME BASIC CONTROL SEQUENCES USED IN OTHER DEFINITIONS -% -\def\eat@AmS#1{} -\long\def\comp@AmS#1#2{\def\@AmS{#1}\def\@@AmS{#2}\ifx - \@AmS\@@AmS\def\cresult@AmS{T}\else\def\cresult@AmS{F}\fi} -\def\in@AmS#1#2{\def\intest@AmS##1#1##2{\comp@AmS##2\end@AmS\if T\cresult@AmS - \def\cresult@AmS{F}\def\in@@AmS{}\else - \def\cresult@AmS{T}\def\in@@AmS####1\end@AmS{}\fi\in@@AmS}% - \def\cresult@AmS{F}\intest@AmS#2#1\end@AmS} -% -% ALIGNED UNITS -% -\let\relax@AmS=\relax -\def\Let@AmS{\relax@AmS\iffalse{\fi\let\\=\cr\iffalse}\fi} -\def\align{\def\vspace##1{\noalign{\vskip ##1}} - \,\vcenter\bgroup\Let@AmS\tabskip=0pt\openup3pt\mathsurround=0pt - \halign\bgroup\strut - \hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil\cr} -\def\endalign{\strut\crcr\egroup\egroup} -% -\def\bunch{\def\vspace##1{\noalign{\vskip ##1}} - \,\vcenter\bgroup\Let@AmS\tabskip=0pt\openup3pt\mathsurround=0pt - \halign\bgroup\strut\hfil$\displaystyle{##}$\hfil\cr} -\def\endbunch{\strut\crcr\egroup\egroup} -% -\def\cases{\left\{ \,\vcenter\bgroup\Let@AmS\normalbaselines\tabskip=0pt - \halign\bgroup$##\hfil$&\qquad$##\hfil$\cr} -\def\endcases{\crcr\egroup\egroup\right.} -% -\def\matrix{\catcode`\^^I=4 \futurelet\tok@AmS\matrix@AmS} -\def\matrix@AmS{\relax@AmS\iffalse{\fi \ifnum`}=0\fi\ifx\tok@AmS\format - \def\next@AmS{\expandafter\matrix@@AmS\eat@AmS}\else - \def\next@AmS{\matrix@@@AmS}\fi\next@AmS} -\def\matrix@@@AmS{ - \ifnum`{=0\fi\iffalse}\fi\,\vcenter\bgroup\Let@AmS\tabskip=0pt - \normalbaselines\halign\bgroup $\strut\hfil##\hfil$&&\quad$\strut - \hfil##\hfil$\cr\strut\cr\noalign{\kern-\baselineskip}} -\def\matrix@@AmS#1\\{ - \def\premable@AmS{#1}\toks@{##} - \def\c{$\copy\strutbox\hfil\the\toks@\hfil$}\def\r - {$\copy\strutbox\hfil\the\toks@$}% - \def\l{$\copy\strutbox\the\toks@\hfil$}% - \setbox0= - \hbox{\xdef\Preamble@AmS{\premable@AmS}} - \def\vspace##1{\noalign{\vskip ##1}}\ifnum`{=0\fi\iffalse}\fi - \,\vcenter\bgroup\Let@AmS - \tabskip=0pt\normalbaselines\halign\bgroup\span\Preamble@AmS\cr - \mathstrut\cr\noalign{\kern-\baselineskip}} -\def\endmatrix{\crcr\mathstrut\cr\noalign{\kern-\baselineskip - }\egroup\egroup\,\catcode`\^^I=10 } - - - -% STUFF FOR BIBLIOGRAPHY - -\def\refto#1{\in@AmS,{#1}\if T\cresult@AmS\refto@AmS#1\end@AmS\else - [{\bf#1}]\fi} -\def\refto@AmS#1,#2\end@AmS{[{\bf#1},#2]} - -\def\Refs{\bigbreak\hbox to \hsize{\hfil\tenpoint - \smc \Referenceword@AmS\hfil}\penalty 10000 - \bigskip\eightpoint\sfcode`.=1000 } - -\newbox\nobox@AmS \newbox\keybox@AmS \newbox\bybox@AmS -\newbox\bysamebox@AmS \newbox\paperbox@AmS \newbox\paperinfobox@AmS -\newbox\jourbox@AmS \newbox\volbox@AmS \newbox\issuebox@AmS -\newbox\yrbox@AmS \newbox\pagesbox@AmS \newbox\bookbox@AmS -\newbox\bookinfobox@AmS \newbox\publbox@AmS \newbox\publaddrbox@AmS -\newbox\finalinfobox@AmS - - - -\def\refset@AmS#1{\expandafter\gdef\csname is\expandafter\eat@AmS - \string#1@AmS\endcsname{F}\expandafter - \setbox\csname \expandafter\eat@AmS\string#1box@AmS\endcsname=\null} - -\def\ref@AmS{\refset@AmS\no \refset@AmS\key \refset@AmS\by -\gdef\isbysame@AmS{F}% - \refset@AmS\paper - \refset@AmS\paperinfo \refset@AmS\jour \refset@AmS\vol - \refset@AmS\issue \refset@AmS\yr - \gdef\istoappear@AmS{F}% - \refset@AmS\pages - \gdef\ispage@AmS{F}% - \refset@AmS\book - \gdef\isinbook@AmS{F}% - \refset@AmS\bookinfo \refset@AmS\publ - \refset@AmS\publaddr \refset@AmS\finalinfo \bgroup - \ignorespaces} - -\def\ref{\noindent\hangindent 20pt \hangafter 1 \def\refi@AmS{T}% - \def\refl@AmS{F}\def\\{\egroup\endref@AmS\gdef\refi@AmS{F}\ref@AmS}\ref@AmS} - -\def\refdef@AmS#1#2{\def#1{\egroup\expandafter - \gdef\csname is\expandafter\eat@AmS - \string#1@AmS\endcsname{T}\expandafter\setbox - \csname \expandafter\eat@AmS\string#1box@AmS\endcsname=\hbox\bgroup#2}} - -\refdef@AmS\no{} \refdef@AmS\key{} \refdef@AmS\by{} -\def\bysame{\egroup\gdef\isbysame@AmS{T}\bgroup} -\refdef@AmS\paper\it -\refdef@AmS\paperinfo{} \refdef@AmS\jour{} \refdef@AmS\vol\bf -\refdef@AmS\issue{} \refdef@AmS\yr{} -\def\toappear{\egroup\gdef\istoappear@AmS{T}\bgroup} -\refdef@AmS\pages{} -\def\page{\egroup\gdef\ispage@AmS{T}\setbox - \pagesbox@AmS=\hbox\bgroup} -\refdef@AmS\book{} -\def\inbook{\egroup\gdef\isinbook@AmS{T}\setbox - \bookbox@AmS=\hbox\bgroup} -\refdef@AmS\bookinfo{} \refdef@AmS\publ{} -\refdef@AmS\publaddr{} -\refdef@AmS\finalinfo{} - - -\def\setpunct@AmS{\def\prepunct@AmS{, }} -\def\ppunbox@AmS#1{\prepunct@AmS\unhbox#1\unskip} - -\def\endref@AmS{\def\prepunct@AmS{}% -\if T\refi@AmS - \if F\isno@AmS\hbox to 10pt{}\else - \hbox to 20pt{\hss\unhbox\nobox@AmS\unskip. }\fi - \if T\iskey@AmS \unhbox\keybox@AmS\unskip\ \fi - \if T\isby@AmS \hbox{\unhcopy\bybox@AmS\unskip}\setpunct@AmS - \setbox\bysamebox@AmS=\hbox{\unhcopy\bybox@AmS\unskip}\fi - \if T\isbysame@AmS - \hbox to \wd\bysamebox@AmS{\leaders\hrule\hfill}\setpunct@AmS\fi - \fi - \if T\ispaper@AmS\ppunbox@AmS\paperbox@AmS\setpunct@AmS\fi - \if T\ispaperinfo@AmS\ppunbox@AmS\paperinfobox@AmS\setpunct@AmS\fi - \if T\isjour@AmS\ppunbox@AmS\jourbox@AmS\setpunct@AmS - \if T\isvol@AmS \ \unhbox\volbox@AmS\unskip\setpunct@AmS\fi - \if T\isissue@AmS \ \unhbox\issuebox@AmS\unskip\setpunct@AmS\fi - \if T\isyr@AmS \ (\unhbox\yrbox@AmS\unskip)\setpunct@AmS\fi - \if T\istoappear@AmS \ (to appear)\setpunct@AmS\fi - \if T\ispages@AmS \ppunbox@AmS\pagesbox@AmS\setpunct@AmS\fi - \if T\ispage@AmS - \prepunct@AmS p.\ \unhbox\pagesbox@AmS\unskip\setpunct@AmS\fi - \fi - \if T\isbook@AmS \prepunct@AmS - ``\unhbox\bookbox@AmS\unskip''\setpunct@AmS\fi - \if T\isinbook@AmS \prepunct@AmS - \unskip\ in ``\unhbox\bookbox@AmS\unskip''\setpunct@AmS - \gdef\isbook@AmS{T}\fi - \if T\isbookinfo@AmS \ppunbox@AmS\bookinfobox@AmS\setpunct@AmS\fi - \if T\ispubl@AmS \ppunbox@AmS\publbox@AmS\setpunct@AmS\fi - \if T\ispubladdr@AmS \ppunbox@AmS\publaddrbox@AmS\setpunct@AmS\fi - \if T\isbook@AmS - \if T\isyr@AmS \prepunct@AmS \unhbox\yrbox@AmS\unskip - \setpunct@AmS\fi - \if T\istoappear@AmS \ (to appear)\setpunct@AmS\fi - \if T\ispages@AmS - \prepunct@AmS pp.\ \unhbox\pagesbox@AmS\unskip\setpunct@AmS\fi - \if T\ispage@AmS - \prepunct@AmS p.\ \unhbox\pagesbox@AmS\unskip\setpunct@AmS\fi - \fi - \if T\isfinalinfo@AmS \period\unhbox\finalinfobox@AmS\else - \if T\refl@AmS .\else ; \fi\fi} - -\def\endref{\egroup\gdef\refl@AmS{T}\endref@AmS\par} - - - - -% EXTRA FONTS NEEDED - - -\font\eightrm=cmr8 -\font\sixrm=cmr7 %cmr6 % fonts not on Atari -\font\eighti=cmmi10 %cmmi8 \skewchar\eighti='177 -\font\sixi=cmmi7 %cmmi6 \skewchar\sixi='177 -\font\eightsy=cmsy10 %cmsy8 \skewchar\eightsy='60 -\font\sixsy=cmsy7 %cmsy6 \skewchar\sixsy='60 -\font\eightbf=cmbx10 %cmbx8 -\font\sixbf=cmbx7 %cmbx6 -\font\eightsl=cmsl10 %cmsl8 -\font\eightit=cmsl10 %cmti8 -\font\tensmc=cmcsc10 - - -% TWO DIFFERENT POINT SIZES - -\def\tenpoint{\def\pointsize@AmS{t}\normalbaselineskip=12pt % NOTE 1 - \abovedisplayskip 12pt plus 3pt minus 9pt - \belowdisplayskip 12pt plus 3pt minus 9pt - \abovedisplayshortskip 0pt plus 3pt - \belowdisplayshortskip 7pt plus 3pt minus 4pt - \def\rm{\fam0\tenrm}% - \def\it{\fam\itfam\tenit}% - \def\sl{\fam\slfam\tensl}% - \def\bf{\fam\bffam\tenbf}% - \def\smc{\tensmc}% - \def\mit{\fam 1}% - \def\cal{\fam 2}% - \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm - \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei - \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy - \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex - \textfont\itfam=\tenit - \textfont\slfam=\tensl - \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf - \scriptscriptfont\bffam=\fivebf -\normalbaselines\rm} - -\def\eightpoint{\def\pointsize@AmS{8}\normalbaselineskip=10pt - \abovedisplayskip 10pt plus 2.4pt minus 7.2pt - \belowdisplayskip 10pt plus 2.4pt minus 7.2pt - \abovedisplayshortskip 0pt plus 2.4pt - \belowdisplayshortskip 5.6pt plus 2.4pt minus 3.2pt - \def\rm{\fam0\eightrm}% - \def\it{\fam\itfam\eightit}% - \def\sl{\fam\slfam\eightsl}% - \def\bf{\fam\bffam\eightbf}% - \def\mit{\fam 1}% - \def\cal{\fam 2}% - \textfont0=\eightrm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm - \textfont1=\eighti \scriptfont1=\sixi \scriptscriptfont1=\fivei - \textfont2=\eightsy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy - \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex - \textfont\itfam=\eightit - \textfont\slfam=\eightsl - \textfont\bffam=\eightbf \scriptfont\bffam=\sixbf - \scriptscriptfont\bffam=\fivebf -\normalbaselines\rm} - -\catcode`\@=12 diff --git a/macros/mtex/documentation/mdocanha.tex b/macros/mtex/documentation/mdocanha.tex deleted file mode 100644 index 4a238aa13e..0000000000 --- a/macros/mtex/documentation/mdocanha.tex +++ /dev/null @@ -1,670 +0,0 @@ -\def\ks#1{\noindent\hbox{{\tt \char\hex5C}\bf#1}} -\def\bs{\noindent\hbox{{\tt \char\hex5C}}}%Backslash -\def\lk{\hbox{{\tt\char\hex7B}}}%linke Klammer auf -\def\strich{{\hbox{\tt \char\hex7C}}} -\def\dpkt{{\hbox{\tt \char\hex3A}}}%Doppelpunkt -\def\gleich{{\hbox{\tt \char\hex3D}}}% -\def\slash{\noindent{\hbox{\tt \char\hex2F}}} -\def\blank{{\hbox{\tt \char\hex20}}} -% -\verbatimon -\normalbaselines -\openup\jot -\heading{Anhang A:\quad Beispiele} - -Abschlie\3end sollen vier Musikst"ucke angef"ugt werden, -die mit dem entwickelten Format gesetzt wurden. -Sie sollen zus"atzlich zu den im Text angegebenen Beispielen die -vorgestellten Verfahren verdeutlichen. -Zum Vergleich ist die Codierung des ersten, dritten und vierten Beispiels -hinzugef"ugt. - -Das erste Beispiel wurde von D. Byrd \lit{\byrd} in der -Beschreibung als Test -seines Notensatzsystems verwendet. -% -Mit dem ersten und zweiten Beispiel sollen die verschiedenen -im Format zur Verf"ugung gestellten Auschlu\3schemata -(|\hsmall|, |\small|, |\universal|, |\wide| und -|\loose|) verdeutlicht -werden. -Als drittes Beispiel wurde ein zweistimmiges St"uck ausgew"ahlt. -Das vierte ist ein Beispiel f"ur ein Musikst"uck, das mit Text unterlegt -wurde. - -Beim Satz der Beispiele -zeigte sich, da\3 es notwendig ist, das Ausschlu\3schema abh"angig -vom Charakter des Musikst"uckes und von der gew"unschten Zeilenl"ange -auszuw"ahlen. -Die schon in Kapitel 9 angedeutete Problematik, da\3 -innerhalb gr"o\3erer Nachbarschaften nicht umbrochen werden kann und -der Ausschlu\3 an dieser Stelle nicht mehr variabel ist, wird am -Beispiel von D. Byrd deutlich. Bei der gew"ahlten Zeilenl"ange -und dem Ausschlu\3 |\small| steht f"ur die letzte Zeile nicht gen"ugend -Satzmaterial zur Verf"ugung. Sie wird also nicht -zufriedenstellend ausgeschlossen. -W"ahlt man als Ausschlu\3 |\wide|, so wird das -St"uck weiter ausgeschlossen und die dritte Zeile kann gef"ullt werden. -Dabei wurde es jedoch notwendig, einen Takt in der Taktmitte zu teilen. - -Umgekehrt konnten f"ur das zweite Beispiel mit engem und -universellem Ausschlu\3 -(|\hsmall| und |\universal|) -gute Ergebnisse, jedoch beim lockeren Ausschlu\3 -(|\loose|) kein zufriedenstellendes Ergebnis erzielt werden. -Dies ist u.a. auch darauf zur"uckzuf"uhren, da\3 beim lockeren Ausschlu\3 -die Takte sehr breit werden. Die Forderung, da\3 nur nach einem -Taktstrich umbrochen werden darf, f"uhrt hier zus"atzlich noch -zu einer "ubervollen Zeile. - -F"ur das dritte und vierte -Beipiel wurde jeweils der universelle Ausschu\3 verwendet. -\vskip2cm -\vfill\supereject - -%fuer die Beispiele \headings wieder zulassen! - -\catcode`@=11 -\def\headings{\par\hbox to \hsize{\hss\title@\hss}% - \hbox to \hsize {\poet@\hss\comp@}% - \def\comp@{\hbox{}}\def\poet@{\hbox{}}\def\title@{\hbox{}}} -\catcode`@ = 12 - - -{\bf Beispiel 1 \rm (Ausschlu\3: Gomberg ``eng''(\verbatimon -|\small|) und ``weit'' (|\wide|))\Parsep -} -\vskip1cm -\let \baselines = \baselinesb -\parindent 40pt -\small -\title{\bf String Quartett}% -\composer{ Donald Byrd, 1968}% -\voice{Violin 1}% -\beginsong\vio\C\^n{moderato}{\vrule height 7\nhh width0pt \gluebrule}% -\meter9/8% -\pg\|% -\group{\\{\_v{\mezzopiano}{\v3\.1}}\\{\_v{{\it cant.}}{\h7\.1}}} -{\\{3}\\{7}}\uslur13\go\|% -\group{\\{\a8\.1}\\{\b4\a4\.1}\\{\b6\v6\.1}} -{\\{8}\\{4}\\{6}}\lbeam12\uslur13\go -\group{\\{\a3}\\{\a4}\\{\a5}}{\\{3}\\{4}\\{5}}\lbeam13\uslur13\go\|% -\group{\\{\n6\v6\.1}\\{\x4\v4\.1}}{\\{6}\\{4}}\uslur12\go -\group{\\{\a3}\\{\b4\a4}\\{\n5\a5}}{\\{3}\\{4}\\{5}}\lbeam13\uslur13\go -\|\meter6/8\v6\.1\group{\\{\v{10}\.1}\\{\|\meter9/8}% -\\{\_v{\crescendo}{\v{10}\.1}}}{\\{10}\\{8}\\{10}}\uslur13\go -\group{\\{\v9\.1}\\{\v{13}\.1}}{\\{9}\\{13}}\uslur12\go\|% -\group{\\{\b{14}\a{14}\.1}\\{\b{11}\a{11}\.1}}{\\{14}\\{11}}% -\lbeam12\uslur12\go -\group{\\{\v{15}\.1}\\{\a{15}}}{\\{15}\\{15}}\uslur12\go -\n{14}\v{14}\|% -\group{\\{\_v{\diminuendo}{\b{14}\v{14}\.1}}% -\\{\b{10}\v{10}\.1}\\{\v{12}\.1}}{\\{14}\\{10}\\{12}}\uslur13\go\|% -{\tenuto\v{11}\.1}% -\group{\\{\h7\.1}\\{\|\meter6/8}\\{\h7\.1}\\{\|}\\{\v7\.1}} -{\\{7}\\{8}\\{7}\\{8}\\{7}}\uslur13\uslur35\go -\group{\\{\_v{\piano}{\b7\v7\.1}}\\{\|\meter9/8}% -\\{\v{10}\.1}}{\\{7}\\{8}\\{10}}\uslur13\go -\pv\.1\|\pg\|\meter6/8% -\group{\\{\_v{\crescendo}{\a8}}\\{\b{11}\a{11}}\\{\a{13}}} -{\\{8}\\{11}\\{13}}\lbeam13\uslur13\go -\x{12}\v{12}\.1\|% -{\def\beamlist{\\{1-4,}\\{1-4,}}% -\group{\\{\s{10}}\\{\b{11}\s{11}}\\{\n{12}\s{12}}\\{\s{13}}} -{\\{10}\\{11}\\{12}\\{13}}\lbeam14\uslur14\go}% -{\def\beamlist{\\{1-4,}\\{1-4,}}% -\group{\\{\x{13}\s{13}}\\{\s{14}}\\{\x{15}\s{15}}\\{\x{16}\s{16}}} -{\\{13}\\{14}\\{15}\\{16}}\lbeam14\uslur14\go}% -\|\_v{{\it f}}{\a{17}}\pa\pa\pv\.1\=\endsong -\par -\Parsep\Parsep -\parindent 0pt -Die Eingabe zu diesem St"uck sieht wie folgt aus: -\vskip1cm -%%%%%%%%%%%%% -%%% byrd%%% -%%%%%%%%%%%%% -{\bf!!} -\ks{title}\{String Quartett\} -\ks{composer}\{Donald Byrd, 1968\}\ks{voice}\{Violin 1\}\par -{\ks{treble}}\ks{text}\{\ks{\os{ }c} moderato\} -\ks{meter}\{{\bf9}\slash{\bf8}\}\par -{\bf 1p\strich\ks{slur}\{4.`a\{\ks{\us v}\ks{mezzopiano}\} -2.{`}{`}e\ks{text}\{\ks{\us v} cant\}\}}\strich \par -{\ks{slur}}{\bf \{\ks{beam}\{8.{`}{`}f b.`h\} b4{`}{`}.d\}} -\ks{slur}{\bf \{\ks{beam}\{8`a h {`}{`}c\}\}}\strich\par -{\bf{\ks{slur}}\{4n.d x`.h\}\ks{slur}\{\ks{beam}\{8`a bh n{`}{`}c\}\}} -\strich\par -{\bf{\ks{meter}}\{6\slash8\} 4.d -\ks{slur}\{{`}{`}.a\strich \ks{meter}\{9/8\} -{`}{`}.a\{\ks{\us v}\ks{crescendo}\}\} -\ks{slur}\{.f {`}{`}{`}.d\}}\strich\par -{\bf{\ks{slur}}\{\ks{beam}\{8.be b{`}{`}.h\}\} -\ks{slur}\{4{`}{`}{`}.f 8f\} -4ne}\strich\par -{\bf{\ks{slur}}\{b.e\{\ks{\us v}\ks{diminuendo}\} -b.{`}{`}a .{`}{`}{`}c\}}\strich\par -{\ks{tenuto}\bf.{`}{`}h \ks{noaccent} \ks{group} -\{2.e \strich\ks{meter}\{6\slash 8\} .e\strich 4.e\}\par -\ks{glsur}\{1-4,4-6\}\ks{slur}\{b.e\{\ks{\us v}\ks{piano}\} -\strich\ks{meter}\{9\slash 8\} .a\} -4.p}\strich\par -{\bf -1p\strich \ks{meter}\{6\slash 8\}\ks{slur} -\{\ks{beam}\{8f\{\ks{\us v}\ks{crescendo}\}bh {`}{`}{`}d\}\} -4x .c}\strich\par -{\bf{\ks{slur}}\{\ks{beam}\{{`}{`}6a bh n{`}{`}{`}c d\}\} -\ks{slur}\{\ks{beam}\{6xd e xf xg\}\}}\strich\par -{\bf 8a\{\ks{\us v}\ks{forte}\} p p 4.p \gleich !!}\Parsep\Parsep -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\vfill\break -Verwendet man weiten Ausschlu\3 (|\wide|), so erh"alt man: -\vskip1cm -\parindent=40pt -{\wide -\title{\bf String Quartett}% -\composer{Donald Byrd, 1968}% -\voice{Violin 1}% -\beginsong\vio\C\^n{moderato}{\vrule height7\nhh width0pt\gluebrule}% -\meter9/8% -\pg\|% -\group{\\{\_v{\mezzopiano}{\v3\.1}}\\{\_v{{\it cant.}}{\h7\.1}}} -{\\{3}\\{7}}\uslur13\go\|% -\group{\\{\a8\.1}\\{\b4\a4\.1}\\{\b6\v6\.1}} -{\\{8}\\{4}\\{6}}\lbeam12\uslur13\go -\group{\\{\a3}\\{\a4}\\{\a5}}{\\{3}\\{4}\\{5}}\lbeam13\uslur13\go\|% -\group{\\{\n6\v6\.1}\\{\x4\v4\.1}}{\\{6}\\{4}}\uslur12\go -\group{\\{\a3}\\{\b4\a4}\\{\n5\a5}}{\\{3}\\{4}\\{5}}\lbeam13\uslur13\go -\|\meter6/8\v6\.1\group{\\{\v{10}\.1}\\{\|\meter9/8}% -\\{\_v{\crescendo}{\v{10}\.1}}}{\\{10}\\{8}\\{10}}\uslur13\go -\group{\\{\v9\.1}\\{\v{13}\.1}}{\\{9}\\{13}}\uslur12\go\|% -\group{\\{\b{14}\a{14}\.1}\\{\b{11}\a{11}\.1}}{\\{14}\\{11}}% -\lbeam12\uslur12\go -\group{\\{\v{15}\.1}\\{\a{15}}}{\\{15}\\{15}}\uslur12\go -\n{14}\v{14}\|% -\group{\\{\_v{\diminuendo}{\b{14}\v{14}\.1}}% -\\{\b{10}\v{10}\.1}\\{\v{12}\.1}}{\\{14}\\{10}\\{12}}\uslur13\go\|% -{\tenuto\v{11}\.1}% -\group{\\{\h7\.1}\\{\|\meter6/8}\\{\h7\.1}\\{\|}\\{\v7\.1}} -{\\{7}\\{8}\\{7}\\{8}\\{7}}\uslur13\uslur35\go\+% -\group{\\{\_v{\piano}{\b7\v7\.1}}\\{\|\meter9/8}% -\\{\v{10}\.1}}{\\{7}\\{8}\\{10}}\uslur13\go -\pv\.1\|\pg\|\meter6/8% -\group{\\{\_v{\crescendo}{\a8}}\\{\b{11}\a{11}}\\{\a{13}}} -{\\{8}\\{11}\\{13}}\lbeam13\uslur13\go -\x{12}\v{12}\.1\|% -{\def\beamlist{\\{1-4,}\\{1-4,}}% -\group{\\{\s{10}}\\{\b{11}\s{11}}\\{\n{12}\s{12}}\\{\s{13}}} -{\\{10}\\{11}\\{12}\\{13}}\lbeam14\uslur14\go}% -{\def\beamlist{\\{1-4,}\\{1-4,}}% -\group{\\{\x{13}\s{13}}\\{\s{14}}\\{\x{15}\s{15}}\\{\x{16}\s{16}}} -{\\{13}\\{14}\\{15}\\{16}}\lbeam14\uslur14\go}% -\|\_v{{\it f}}{\a{17}}\pa\pa\pv\.1\=\endsong} -\par -\vfill \eject -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\parindent0pt -{\bf Beispiel 2 \rm (Ausschlu\3: Hader (\verbatimon -|\hsmall|), Gomberg ``universell'' (|\universal|)) und - Gomberg ``locker'' (|\loose|)).} -\vskip2cm -\verbatimon -\hbox to \hsize{\hfill\bf Ausschlu\3: Hader (|\hsmall|)\hfill} -\Parsep -\hsmall\parindent0pt -\poet{\rm Allegro}\composer{Georg Friedrich H\"andel} -\beginsong\vio\C% -{\music\mC}%\meter4/4% -\a7\|\group{\\{\a5}\\{\a3}\\{\a5}\\{\a7}}{\\{5}\\{3}\\{5}\\{7}}% -\lbeam14\go%\uslur14\go -\group{\\{\a5}\\{\a{3}}}{\\{5}\\{3}}\lbeam12\go -\pa\a7\|% -\group{\\{\a5}\\{\a3}\\{\a5}\\{\a7}}{\\{5}\\{3}\\{5}\\{7}}\lbeam14\go -\group{\\{\a5}\\{\a{3}}}{\\{5}\\{3}}\lbeam12\go\pa\a7\|% -\group{\\{\a{10}}\\{\a3}\\{\a6}\\{\a8}}{\\{10}\\{3}\\{6}\\{8}}\lbeam14% -\go\v4\pa\a6\|% -\group{\\{\a{9}}\\{\a2}\\{\a5}\\{\a7}}{\\{9}\\{2}\\{5}\\{7}}% -\lbeam14\go\v3\pa\a5\|% -\group{\\{\a{8}}\\{\a6}\\{\a{11}}\\{\a{13}}}{\\{8}\\{6}\\{11}\\{13}}% -\lbeam14\go\x9\v9\pa\a9\|% -\group{\\{\a{11}}\\{\a4}\\{\a{6}}\\{\a{4}}}{\\{11}\\{4}\\{6}\\{4}}% -\lbeam14\go\v8\pa\a4\|% -\group{\\{\a{6}}\\{\a8}\\{\x9\a{9}}\\{\a{11}}}{\\{6}\\{8}\\{9}\\{11}}% -\lbeam14\go\v{13}\pa\x9\a9\|% -\group{\\{\a{10}}\\{\a7}\\{\a{11}}\\{\a7}}{\\{10}\\{7}\\{11}\\{7}}% -\lbeam14\go -\group{\\{\a{12}}\\{\a{7}}}{\\{12}\\{7}}\lbeam12\go -\group{\\{\v8}\\{\|}\\{\a{8}}\\{\a{7}}\\{\a{10}}\\{\a6}% -\\{\a{6}}\\{\a7}\\{\a{5}}\\{\a4}} -{\\{8}\\{8}\\{8}\\{7}\\{10}\\{6}\\{6}\\{7}\\{5}\\{4}}% -\lbeam36\lbeam7{10}\uslur13\uslur67\go\|% -\def\beamlist{\\{1-4,}\\{-2,-5,}}% -\group{\\{\a{5}\.1}\\{\s6}\\{\a{4}\.1}\\{\s{3}}}% -{\\{5}\\{6}\\{4}\\{3}}% -\lbeam16\go\v3\pa\a{11}\|% -\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{12}}\\{\s{11}}\\{\s{10}}}{\\{12}\\{11}\\{10}}% -\lbeam13\go -\def\beamlist{\\{1-2,}}% -\group{\\{\a{9}}\\{\a{8}}}{\\{9}\\{8}}% -\lbeam12\go\v7\pa\a{8}\|% -\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{9}}\\{\s{10}}\\{\s{9}}}{\\{9}\\{10}\\{9}}% -\lbeam13\go -\def\beamlist{\\{1-4,}\\{1-4,}}% -\group{\\{\s{8}}\\{\s{7}}\\{\s6}\\{\s5}}{\\{8}\\{7}\\{6}\\{5}}% -\lbeam14\go\v4\pa\a{2}\|% -\def\beamlist{\\{1-\the\N,}}% -\group{\\{\a{5}}\\{\a7}\\{\a9}\\{\b4\a4}}{\\{5}\\{7}\\{9}\\{4}}% -\lbeam14\go\v3\pa\a3\|% -\group{\\{\a{6}}\\{\x8\a8}\\{\a{10}}\\{\a5}}{\\{6}\\{8}\\{10}\\{5}}% -\lbeam14\go\n4\v4\pa\a4\|% -\group{\\{\a{7}}\\{\x9\a{9}}\\{\a{11}}\\{\a{6}}}{\\{7}\\{9}\\{11}\\{6}}% -\lbeam14\go\v5\pa\a{12}\|% -\group{\\{\a{12}}\\{\a{10}}\\{\a{8}}\\{\a{10}}}{\\{12}\\{10}\\{8}\\{10}}% -\lbeam14\go\v4\pa\a{13}\|% -\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{11}}\\{\s{10}}\\{\s{9}}}{\\{11}\\{10}\\{9}}% -\lbeam13\go -\group{\\{\a{10}}\\{\a{11}}}{\\{10}\\{11}}% -\def\beamlist{\\{1-2,}}% -\lbeam12\go\v{12}\pa\a{9}\|% -\group{\\{\a{12}}\\{\a{9}}}{\\{12}\\{9}}% -\def\beamlist{\\{1-2,}}% -\lbeam12\go -\group{\\{\tr\a{7}\noaccent -\.1}\\{\z{6}}\\{\z{5}}}{\\{7}\\{6}\\{5}}% -\def\beamlist{\\{1-3,}\\{2-3,}\\{2-3,}}% -\lbeam14\go -\def\beamlist{\\{1-4,}}% -\group{\\{\a{8}}\\{\a{9}}\\{\a{7}}\\{\a{6}}}{\\{8}\\{9}\\{7}\\{6}}% -\lbeam14\go\|\v7% -\def\beamlist{\\{1-2,}\\{-2,}}% -\group{\\{\a{6}\.1}\\{\s{5}}}{\\{6}\\{5}}% -\lbeam13\go\v5\.1\=% % -\endsong -\Parsep\Parsep -{\eightrm -Aus: Helmut M\"onkemeyer, Handleitung f"ur das Spiel der Blockfl\"ote, -Teil I, Edition Moeck Nr. 2033, Moeck Verlag, Celle. -} -\vfill\supereject -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\hbox to \hsize{\hfill\bf Ausschlu\3: Hader (|\universal|)\hfill} -\universal -\poet{\rm Allegro}\composer{ Georg Friedrich H\"andel}% -\beginsong\vio\C% -{\music\mC}%\meter4/4% -\a7\|\group{\\{\a5}\\{\a3}\\{\a5}\\{\a7}}{\\{5}\\{3}\\{5}\\{7}}% -\lbeam14\go%\uslur14\go -\group{\\{\a5}\\{\a{3}}}{\\{5}\\{3}}\lbeam12\go -\pa\a7\|% -\group{\\{\a5}\\{\a3}\\{\a5}\\{\a7}}{\\{5}\\{3}\\{5}\\{7}}\lbeam14\go -\group{\\{\a5}\\{\a{3}}}{\\{5}\\{3}}\lbeam12\go\pa\a7\|% -\group{\\{\a{10}}\\{\a3}\\{\a6}\\{\a8}}{\\{10}\\{3}\\{6}\\{8}}\lbeam14% -\go\v4\pa\a6\|% -\group{\\{\a{9}}\\{\a2}\\{\a5}\\{\a7}}{\\{9}\\{2}\\{5}\\{7}}% -\lbeam14\go\v3\pa\a5\|% -\group{\\{\a{8}}\\{\a6}\\{\a{11}}\\{\a{13}}}{\\{8}\\{6}\\{11}\\{13}}% -\lbeam14\go\x9\v9\pa\a9\|% -\group{\\{\a{11}}\\{\a4}\\{\a{6}}\\{\a{4}}}{\\{11}\\{4}\\{6}\\{4}}% -\lbeam14\go\v8\pa\a4\|% -\group{\\{\a{6}}\\{\a8}\\{\x9\a{9}}\\{\a{11}}}{\\{6}\\{8}\\{9}\\{11}}% -\lbeam14\go\v{13}\pa\x9\a9\|% -\group{\\{\a{10}}\\{\a7}\\{\a{11}}\\{\a7}}{\\{10}\\{7}\\{11}\\{7}}% -\lbeam14\go -\group{\\{\a{12}}\\{\a{7}}}{\\{12}\\{7}}\lbeam12\go -\group{\\{\v8}\\{\|}\\{\a{8}}\\{\a{7}}\\{\a{10}}\\{\a6}% -\\{\a{6}}\\{\a7}\\{\a{5}}\\{\a4}} -{\\{8}\\{8}\\{8}\\{7}\\{10}\\{6}\\{6}\\{7}\\{5}\\{4}}% -\lbeam36\lbeam7{10}\uslur13\uslur67\go\|% -\def\beamlist{\\{1-4,}\\{-2,-5,}}% -\group{\\{\a{5}\.1}\\{\s6}\\{\a{4}\.1}\\{\s{3}}}% -{\\{5}\\{6}\\{4}\\{3}}% -\lbeam16\go\v3\pa\a{11}\|% -\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{12}}\\{\s{11}}\\{\s{10}}}{\\{12}\\{11}\\{10}}% -\lbeam13\go -\def\beamlist{\\{1-2,}}% -\group{\\{\a{9}}\\{\a{8}}}{\\{9}\\{8}}% -\lbeam12\go\v7\pa\a{8}\|% -\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{9}}\\{\s{10}}\\{\s{9}}}{\\{9}\\{10}\\{9}}% -\lbeam13\go -\def\beamlist{\\{1-4,}\\{1-4,}}% -\group{\\{\s{8}}\\{\s{7}}\\{\s6}\\{\s5}}{\\{8}\\{7}\\{6}\\{5}}% -\lbeam14\go\v4\pa\a{2}\|% -\def\beamlist{\\{1-\the\N,}}% -\group{\\{\a{5}}\\{\a7}\\{\a9}\\{\b4\a4}}{\\{5}\\{7}\\{9}\\{4}}% -\lbeam14\go\v3\pa\a3\|% -\group{\\{\a{6}}\\{\x8\a8}\\{\a{10}}\\{\a5}}{\\{6}\\{8}\\{10}\\{5}}% -\lbeam14\go\n4\v4\pa\a4\|% -\group{\\{\a{7}}\\{\x9\a{9}}\\{\a{11}}\\{\a{6}}}{\\{7}\\{9}\\{11}\\{6}}% -\lbeam14\go\v5\pa\a{12}\|% -\group{\\{\a{12}}\\{\a{10}}\\{\a{8}}\\{\a{10}}}{\\{12}\\{10}\\{8}\\{10}}% -\lbeam14\go\v4\pa\a{13}\|% -\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{11}}\\{\s{10}}\\{\s{9}}}{\\{11}\\{10}\\{9}}% -\lbeam13\go -\group{\\{\a{10}}\\{\a{11}}}{\\{10}\\{11}}% -\def\beamlist{\\{1-2,}}% -\lbeam12\go\v{12}\pa\a{9}\|% -\group{\\{\a{12}}\\{\a{9}}}{\\{12}\\{9}}% -\def\beamlist{\\{1-2,}}% -\lbeam12\go -\group{\\{\tr\a{7}\noaccent -\.1}\\{\z{6}}\\{\z{5}}}{\\{7}\\{6}\\{5}}% -\def\beamlist{\\{1-3,}\\{2-3,}\\{2-3,}}% -\lbeam14\go -\def\beamlist{\\{1-4,}}% -\group{\\{\a{8}}\\{\a{9}}\\{\a{7}}\\{\a{6}}}{\\{8}\\{9}\\{7}\\{6}}% -\lbeam14\go\|\v7% -\def\beamlist{\\{1-2,}\\{-2,}}% -\group{\\{\a{6}\.1}\\{\s{5}}}{\\{6}\\{5}}% -\lbeam13\go\v5\.1\=% % -\endsong -\Parsep\Parsep\vfill\supereject -\advance \hsize+0.7cm -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\loose -\hbox to \hsize{\hfill\bf Ausschlu\3: Hader (|\loose|)\hfill} -\poet{\rm Allegro}\composer{ Georg Friedrich H\"andel}% -\beginsong\vio\C% -{\music\mC}%\meter4/4% -\a7\|\group{\\{\a5}\\{\a3}\\{\a5}\\{\a7}}{\\{5}\\{3}\\{5}\\{7}}% -\lbeam14\go%\uslur14\go -\group{\\{\a5}\\{\a{3}}}{\\{5}\\{3}}\lbeam12\go -\pa\a7\|% -\group{\\{\a5}\\{\a3}\\{\a5}\\{\a7}}{\\{5}\\{3}\\{5}\\{7}}\lbeam14\go -\group{\\{\a5}\\{\a{3}}}{\\{5}\\{3}}\lbeam12\go\pa\a7\|% -\group{\\{\a{10}}\\{\a3}\\{\a6}\\{\a8}}{\\{10}\\{3}\\{6}\\{8}}\lbeam14% -\go\v4\pa\a6\|% -\group{\\{\a{9}}\\{\a2}\\{\a5}\\{\a7}}{\\{9}\\{2}\\{5}\\{7}}% -\lbeam14\go\v3\pa\a5\|% -\group{\\{\a{8}}\\{\a6}\\{\a{11}}\\{\a{13}}}{\\{8}\\{6}\\{11}\\{13}}% -\lbeam14\go\x9\v9\pa\a9\|% -\group{\\{\a{11}}\\{\a4}\\{\a{6}}\\{\a{4}}}{\\{11}\\{4}\\{6}\\{4}}% -\lbeam14\go\v8\pa\a4\|% -\group{\\{\a{6}}\\{\a8}\\{\x9\a{9}}\\{\a{11}}}{\\{6}\\{8}\\{9}\\{11}}% -\lbeam14\go\v{13}\pa\x9\a9\|% -\group{\\{\a{10}}\\{\a7}\\{\a{11}}\\{\a7}}{\\{10}\\{7}\\{11}\\{7}}% -\lbeam14\go -\group{\\{\a{12}}\\{\a{7}}}{\\{12}\\{7}}\lbeam12\go -\group{\\{\v8}\\{\|}\\{\a{8}}\\{\a{7}}\\{\a{10}}\\{\a6}% -\\{\a{6}}\\{\a7}\\{\a{5}}\\{\a4}} -{\\{8}\\{8}\\{8}\\{7}\\{10}\\{6}\\{6}\\{7}\\{5}\\{4}}% -\lbeam36\lbeam7{10}\uslur13\uslur67\go\|% -\def\beamlist{\\{1-4,}\\{-2,-5,}}% -\group{\\{\a{5}\.1}\\{\s6}\\{\a{4}\.1}\\{\s{3}}}% -{\\{5}\\{6}\\{4}\\{3}}% -\lbeam16\go\v3\pa\a{11}\|% -\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{12}}\\{\s{11}}\\{\s{10}}}{\\{12}\\{11}\\{10}}% -\lbeam13\go -\def\beamlist{\\{1-2,}}% -\group{\\{\a{9}}\\{\a{8}}}{\\{9}\\{8}}% -\lbeam12\go\v7\pa\a{8}\|% -\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{9}}\\{\s{10}}\\{\s{9}}}{\\{9}\\{10}\\{9}}% -\lbeam13\go -\def\beamlist{\\{1-4,}\\{1-4,}}% -\group{\\{\s{8}}\\{\s{7}}\\{\s6}\\{\s5}}{\\{8}\\{7}\\{6}\\{5}}% -\lbeam14\go\v4\pa\a{2}\|% -\def\beamlist{\\{1-\the\N,}}% -\group{\\{\a{5}}\\{\a7}\\{\a9}\\{\b4\a4}}{\\{5}\\{7}\\{9}\\{4}}% -\lbeam14\go\v3\pa\a3\|% -\group{\\{\a{6}}\\{\x8\a8}\\{\a{10}}\\{\a5}}{\\{6}\\{8}\\{10}\\{5}}% -\lbeam14\go\n4\v4\pa\a4\|% -\group{\\{\a{7}}\\{\x9\a{9}}\\{\a{11}}\\{\a{6}}}{\\{7}\\{9}\\{11}\\{6}}% -\lbeam14\go\v5\pa\a{12}\|% -\group{\\{\a{12}}\\{\a{10}}\\{\a{8}}\\{\a{10}}}{\\{12}\\{10}\\{8}\\{10}}% -\lbeam14\go\v4\pa\a{13}\|% -\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{11}}\\{\s{10}}\\{\s{9}}}{\\{11}\\{10}\\{9}}% -\lbeam13\go -\group{\\{\a{10}}\\{\a{11}}}{\\{10}\\{11}}% -\def\beamlist{\\{1-2,}}% -\lbeam12\go\v{12}\pa\a{9}\|% -\group{\\{\a{12}}\\{\a{9}}}{\\{12}\\{9}}% -\def\beamlist{\\{1-2,}}% -\lbeam12\go -\group{\\{\tr\a{7}\noaccent -\.1}\\{\z{6}}\\{\z{5}}}{\\{7}\\{6}\\{5}}% -\def\beamlist{\\{1-3,}\\{2-3,}\\{2-3,}}% -\lbeam14\go -\def\beamlist{\\{1-4,}}% -\group{\\{\a{8}}\\{\a{9}}\\{\a{7}}\\{\a{6}}}{\\{8}\\{9}\\{7}\\{6}}% -\lbeam14\go\|\v7% -\def\beamlist{\\{1-2,}\\{-2,}}% -\group{\\{\a{6}\.1}\\{\s{5}}}{\\{6}\\{5}}% -\lbeam13\go\v5\.1\=% % -\endsong -\vfill\supereject -\advance \hsize-0.4cm -{\bf Beispiel 3 \rm(zweistimmiger Satz in einem System)} -\vskip0.5cm -\universal -\title{\vbox{\hbox to 0pt{\hss 6 Suiten f"ur Cello Solo\hss} - \hbox to 0pt{\hss Suite II Menuet I\hss}}} -\poet{\vtop{\hbox to 0pt{F"ur Viola "ubertragen \hss} - \hbox to 0pt{von Franz Schmidtner\hss}}} -\composer{Johann Sebastian Bach} -\parindent 20pt -\beginsong\alto\F\meter3/4% -\rchord \h5\h7\h9\endchord\v{10}\|% -\two{\group{\\{\a{10}}\\{\a9}\\{\a{10}}\\{\a8}}{\\{10}\\{9}\\{10}\\{8}}% -\ubeam14\uslur12\go}{\rchord \a4\a6\endchord}% -\v9\|\rchord\v3\v5\endchord\v8% -\group{\\{\a7}\\{\a6}}{\\{7}\\{6}}\lbeam12\go\|% -\two{\group{\\{\a7}\\{\a6}\\{\a5}\\{\x4\a4}\\{\n3\a3}\\{\a2}} -{\\{7}\\{6}\\{5}\\{4}\\{3}\\{2}}\ubeam16\uslur13\go}% -{\a2}\|\rchord \h5\h7\h9\endchord\v{10}\|% -\two{\group{\\{\a{10}}\\{\a9}\\{\tenuto\a{10}}\\{\tenuto\a8\noaccent}} -{\\{10}\\{9}\\{10}\\{8}}\ubeam14\uslur12\go}{\a6}% -\v{11}\|\rchord\v7\v9\endchord\rchord\v3\v7\v{12}\endchord -\rchord\v1\v8\v{13}\endchord\|\rchord\h2\.1\h6\.1\x{11}\h{11}\.1\endchord -\leftrightrepeat -\rchord\h9\h{13}\endchord -{\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{12}}\\{\s{13}}\\{\s{14}}}{\\{12}\\{13}\\{14}}\lbeam13% -\uslur13\go}\| -\two{\group{\\{\a{13}}\\{\a{12}}\\{\x{11}\a{11}}\\{\a{13}}\\{\a9}\\{\a8}} -{\\{13}\\{12}\\{11}\\{13}\\{9}\\{8}}\ubeam16\uslur15\go}{\a8}\|% -\two{\group{\\{\v9}\\{\v{12}}}{\\{9}\\{12}}\uslur12\go}{\h7}% -\x{11}\two{\v{11}}{\v6}\|% -\two{\group{\\{\a{15}}\\{\a{14}}\\{\a{13}}\\{\a{14}}\\{\a{12}}% -\\{\n{11}\a{11}}} -{\\{15}\\{14}\\{13}\\{14}\\{12}\\{11}}\ubeam16\uslur15\go}{\a5}\|% -\two{\h{10}}{\group{\\{\v8}\\{\v7}}{\\{8}\\{7}}\lslur12\go}% -\two{\v{11}}{\v6}\|% -\two{\group{\\{\a9}\\{\a8}\\{\a9}\\{\a7}}{\\{9}\\{8}\\{9}\\{7}}\ubeam14% -\go}{\a7}% -\rchord\v{12}\v6\v3\endchord\|\rchord\v{11}\v7\v2\endchord -\group{\\{\a{10}}\\{\a9}\\{\a8}\\{\a9}}{\\{10}\\{9}\\{8}\\{9}}\lbeam14\go -\|\group{\\{\a7}\\{\a6}\\{\a7}\\{\a9}\\{\a8}\\{\a{10}}} -{\\{7}\\{6}\\{7}\\{9}\\{8}\\{10}}\lbeam16\go\|% -\x7\two{\tr\h9\noaccent}{\h7}% -\two{\v{10}}{\pv}\|\b6% -\two{\group{\\{\a8}\\{\a7}\\{\a8}\\{\a6}} -{\\{8}\\{7}\\{8}\\{6}}\ubeam14\uslur12\go}{\a6}% -\x7\tr\v7\noaccent\|\rchord\v{12}\v8\v3\endchord\rchord\v{11}\v8\v4\endchord -\two{\group{\\{\a{10}}\\{\a9}}{\\{10}\\{9}}\ubeam12\uslur12\go}{\v5}\|% -\group{\\{\rchord\a{11}\a5\a1\endchord -}\\{\a{10}}\\{\a9}\\{\a{10}}\\{\a8}\\{\a{10}}} -{\\{1}\\{10}\\{9}\\{10}\\{8}\\{10}}\lbeam16\go\|% -\two{\group{\\{\v{12}}\\{\x{11}\v{11}}} -{\\{12}\\{11}}\uslur12\go}{\v8\pv}\n7% -\two{\v{12}}{\v7}\|\x4% -\two{\group{\\{\a8}\\{\a7}\\{\a8}\\{\a6}} -{\\{8}\\{7}\\{8}\\{6}}\ubeam14\uslur12\go}{\a4}% -\two{\v7}{\v5}\|% -\group{\\{\a1}\\{\a8}}{\\{1}\\{8}}\lbeam12\go\two{\tr\v6\.1}{\v2\.1}% -\two{\a5}{\raise-1.5\nhh\hbox{\pa}}\|\lchord\h5\.1\h2\.1\h{-2}\.1\endchord -\rightrepeat -\endsong -\parindent0pt -\vskip-1cm -{\eightrm -Aus: Johann Sebastian Bach, Sechs Suiten, f"ur Viola bearbeitet von -Franz Schmidtner, Musikverlag Hans Sikorski, Hamburg. -} -\vskip0.5cm -F"ur dieses Musikst"uck lautet die Eingabe: -\vskip0.5cm -%%%%%%%%%%%%%%%%%% -%%%%% bach %%%%%%% -%%%%%%%%%%%%%%%%%% -{\bf !!} -\ks{title}\{6 Suiten f"ur Cello Solo -\bs{atop} Suite II Menuet I\}\par -\ks{composer}\{Johann Sebastian Bach\} -\ks{poet}\{F"ur Viola "ubertragen \bs{atop} von Franz Schmidtner\}\par -\ks{alto}\ks{F}\ks{meter}\{{\bf3}\slash {\bf4}\}\ks{two} -\par{\bf \{\ \ \ \ks{chord}\{2`d f a\} 4h\strich -\ks{chord}\{'8c `e\}\slash\ \slash\ \slash\ 4a\strich -\par -\ks{chord}\{4,h `d\} g\ks{beam}\{8f e\}\strich -,8a \slash\ \slash\ \slash\ \slash\ \slash\ \strich -\ks{chord}\{`2d f a\} 4h\strich 8e -\slash\ \slash\ \slash\ -{`}{`}4c \strich\par -\ks{chord}\{4`f a\}\ks{chord}\{,h `f {`}{`}d\} -\ks{chord}\{,g `g {`}{`}e\}\strich -\par\ks{chord}\{2.,a .`e .x{`}{`}c\} -\dpkt\strich\strich\dpkt -\par\ks{chord}\{2`a {`}{`}e\}\ks{slur}\{\ks{beam}\{8d 6e f\}\}\strich -8`g\slash\ \slash\ \slash\ \slash\ \slash\ \strich -2f \slash\ 4e\strich 8d \slash\ \slash\ \slash\ \slash\ \slash\strich -\ks{slur}\{4g f\}e\strich\par - 8f\slash\ \slash\ \slash\ -\ks{chord}\{4,h `e {`}{`}d\}\strich\ks{chord}\{4,a `f {`}{`}c\} -\ks{beam}\{8`h a g a\}\strich\par \ks{beam}\{8f e f a g h\}\strich -2xf 4p \strich b8e \slash\ \slash\ \slash\ -4xf \ks{tr}\strich\ks{chord}\{4,h `g {`}{`}d\} -\ks{chord}\{4`c g {`}{`}c\} `d\slash\ \strich -\par\ks{beam}\{\ks{chord}\{,8g `d {`}{`}c\} 8`h a h g h\}\strich -4g p nf\strich 8xc \slash\ \slash\ \slash\ 4d\strich -\par\ks{beam}\{8,g `g\} 4.,a 8p\strich \ \slash\ -\dpkt\strich\strich\ \ \}\par -\{\ \ \slash\ \slash\ \strich -\ks{beam}\{\ks{slur}\{8{`}h a\} h g\}\slash\ \strich -\slash\ \slash\ \slash\ \slash\ \strich -\ks{beam}\{\ks{slur}\{'8f e d\}xc ,nh a\}\strich -\slash\ \slash\ \strich\par\ks{beam}\{\ks{slur}\{8h a\}\ks{tenuto} h -f \ks{noaccent}\ \slash\ \}\strich -\slash\ \slash\ \slash\ \strich -\slash\ \dpkt\strich\strich\dpkt\par -\slash\ \slash\ \slash\ \slash\ \strich -\ks{beam}\{\ks{slur}\{8{`}{`}e d xc e `a\}g\}\strich -\ks{slur}\{`4a {`}{`}d\}xc\strich -\ks{beam}\{\ks{slur}\{8{`}{`}g f e f d \}nc\}\strich\par -`2h\slash\ {`}{`}4c\strich \ks{beam}\{8`a g a f\}\slash\ \strich -\slash\ \slash\ \slash\ \slash\ \slash\strich -\slash\ \slash\ \slash\ \slash\ \slash\ \slash\strich\par -2`a \ks{tr} 4h\strich -\ks{beam}\{\ks{slur}\{8g f\} g e\}\slash\strich -\slash\ \slash\ \ks{beam}\{\ks{slur}\{8h a\}\}\strich -\slash\ \slash\ \slash\ \slash\ \slash\ \slash\ \strich\par -\ks{slur}\{{`}{`}4d `a\} {`}{`}d\strich -\ks{beam}\{\ks{slur}\{8`g f\} g e\} 4f\strich -\slash\ \slash\ 4.e \ks{tr} 8d\strich -\ks{chord}\{2.,d .a `.d\} - \dpkt\strich\strich -\ \ \} }{\bf!!} -\vfill\eject -\advance \hsize-0.3cm -{\bf Beispiel 4 \rm(Textunterlage)} -\vskip2cm -\title{Lobe den Herren} -\composer{Hugo Distler} -\def\@#1#2{{$\hbox{#1\hfill}\atop\hbox{#2\hfill}$}} -\def\lv{{\leaders\hrule \hskip1cm plus 1fill}} -\parindent 40pt -\voice{Sopran}% -\universal -\beginsong\vio\G\^r{{\rm Schnell}}{\vrule height 7\nhh width0pt% -\gluebrule}\meter3/4% -\^{\mezzoforte}\_{\@{Lo-}{Mei-}}{\v2}% -\_{\@{be}{ne}}{\v2}% -\_{\@{den}{ge - }}{\v6}\|% -\_{\@{Her-}{lie - }}{\v4\.1}\_{\@{ren, }{be - }}{\a3}% -\_l{\@{den}{te }}{\v2}\|% -\_l{\@{m"ach - }{See - }}{\v1}\_{\@{ti - }{le, }}{\v0}% -\_{\@{gen }{das }}{\v{-1}}\|% -\_{\@{K"o - }{ist }}{\h0}% -\group{\\{\_n{\@{nig \lv }{mein \lv }}{\v1}}\\{\|\meter2/4}\\{\v1}} -{\\{1}\\{0}\\{1}}\lslur13\go\_{\@{der }{Be- }}{\v2}\|\meter4/4% -\_{\@{Eh - }{geh - }}{\h3}\_{\@{ren!}{ren.}}{\h2}\rightrepeat\meter3/4% -%Ende Wiederholung -\_{Kom-}\^{\forte}{\v6}\_{met}{\v6}\_{zu}{\v6}\|% -\_{Hauf!}{\h7\.1}\caesura\|\_l{Psal - }{\v4}\_{ter}{\a5}% -\_l{und }{\a5}% -\group{\\{\_n{Har\hskip40pt - \hskip40pt -\hskip 40pt - \hskip40pt -}{\v6}}\\{\|}\\{\a6}\\{\a7}\\{\a6}\\{\a4}\\{\v6}% -\\{\|}\\{\a6}\\{\a7}\\{\v6\.1}\\{\a7}\\{\|}\\{\v6\.1}} -{\\{6}\\{8}\\{6}\\{7}\\{6}\\{4}\\{6}\\{8}\\{6}\\{7}\\{6}\\{7}\\{8}\\{6}}% -\lbeam36\lbeam9{10}\uslur13\uslur79\uslur1{14}\go -\_{fe,}{\a5}\_l{wacht}{\v4}\|% -\^{\piano}\_{auf, }{\h3}\group{\\{\_n{wacht}{\caesura\a4}}\\{\a2}} -{\\{4}\\{2}}\ubeam12\go\|\^{\dec}\_{auf,}{\h3}% -\group{\\{\_n{wacht}\^{zart}{\caesura\a4}}\\{\a2}} -{\\{4}\\{2}}\ubeam12\go\|\^{\dec}\_{auf,}{\h6\.1}\caesura\|% -\^{\forte}\_{las-}{\v{-1}}\_{set}{\v0\.1}\_{den}{\a1}\|% -\meter4/4\_{Lob - }{\h2}\_{ge - }{\v3}\_{sang}{\v4}\|\meter7/4% -\group{\\{\_n{h"o \hskip20pt - \hskip20pt - \hskip20pt -- }{\h5}}\\{\v4\.1}\\{\a3}\\{\v2}\\{\h3}} -{\\{5}\\{4}\\{3}\\{2}\\{9}}\uslur15\go -\|\meter3/4\_{ren!}{\h2\.1}\=\endsong -\parindent=0pt \eightrm -Aus: R. Baum,``Geselliges Chorbuch I'' B"arenreiter-Verlag, Kassel und -Basel. -\vskip1cm \rm Auch zu diesem St"uck sei die Eingabe aufgef"uhrt: -\vskip1cm -%%%%%%%%%%%%%%%% -%%%%%% distler% -%%%%%%%%%%%%%%%% -{\bf !!}\ks{title}\{Lobe den Herren\} -\ks{composer}\{Hugo Distler\} -\par -\ks{voice}\{Sopran\} -\ks{treble}\ks{signature}\{{`}{`}xf\} -\ks{text}\{\ks{\os{ }l} Schnell\} -\ks{meter}\{{\bf3}\slash {\bf4}\}\ks{vocal} -\par {\bf\{\ \ \ -4g\ks{mezzoforte} g {`}{`}d\strich `h. 8a 4g\strich f e d \strich 2e -\ks{slur}\{4f\strich\ks{meter}\{2\slash 4\} f\} 4g\strich -\par\ks{meter}\{4\slash 4\} 2a 2g\dpkt\strich\strich -\ks{meter}\{3\slash 4\} 4{`}{`}d d d \strich 2.e 0p\strich -\par `4h 8{`}{`}c c -\ks{group}\{4d\strich 8d e d `h 4{`}{`}d\strich 8d e 4.d 8e\strich 4.d\} -\ks{gslur}\{1-3, 1-13\}\par -\ks{gbeam}\{3-6, 9-10\} 8c 4`h\strich 2a -\ks{piano} 0p\ks{beam}\{8h g\}\strich\par 2a \ks{decr} 0p -%ks{beam}\{8h g\}\strich\par 2a \ks{decr} 0p -\ks{beam}\{8h \ks{text}\{{\rm zart}\}g\}\strich - {`}{`}2.d\ks{decr} 0p\strich -\par `4d\ks{forte} .e 8f\strich \ks{meter}\{4\slash 4\} 2g 4a h\strich -\par -\ks{meter}\{7\slash 4\}\ks{slur}\{`{}`2c `4.h 8a 4g 2a\}\strich -\ks{meter}\{3\slash 4\} 2.g \gleich\ \ \ \} } -\par -\{\ \ \ \{Lo-\bs{atop} Mei-\} \{be\bs{atop} ne\} \{den\bs{atop} ge-\} -\{Her-\bs{atop} lie-\} \{ren,\bs{atop} be-\}\par - \{den \bs{atop} te\} \{m"ach-\bs{atop} See-\} - \{ti-\bs{atop} le,\} \{gen\bs{atop} das\} \par - \{K"o-\bs{atop} ist\} - \{nig--\bs{atop} mein--\} \slash\ - \{der\bs{atop} Be-\} \{Eh-\bs{atop} geh-\} - \{ren!\bs{atop} ren.\} -\par Kom- met zu Hauf! Psal- ter und Har- -\slash\ \slash\ \slash\ -\slash\ \slash\ \slash\ -\slash\ \slash\ \slash\ \slash\ -fe, \par -wacht auf, wacht \slash\ auf, wacht\ \slash\ auf, \par -las- set -den Lob- ge- sang h"o- -\slash\ \slash\ \slash\ \slash\ -ren!\ \ \ \}{\bf!!} -\vfill\eject -\verbatimoff diff --git a/macros/mtex/documentation/mdocanhb.tex b/macros/mtex/documentation/mdocanhb.tex deleted file mode 100644 index d615bdb6da..0000000000 --- a/macros/mtex/documentation/mdocanhb.tex +++ /dev/null @@ -1,49 +0,0 @@ -\font\bigrm=cmbx12 -\heading{Anhang B:\quad Das "Ubersetzungsprogramm} -\bigskip -Die vorgestellte Noteneingabesprache wurde so angelegt, da\3 mit -Hilfe eines "Uber\-setzungsprogramms die Daten, die -f"ur die Erstellung der Ausgabe notwendig sind, erzeugt werden k"onnen. -Um eine Vorstellung von der Form, in der diese Daten vorliegen m"ussen, -zu vermitteln, wird hier ein kurzes Beispiel -eingef"ugt. F"ur dieses Beispiel wird die Darstellung in -der Noteneingabesprache und in Notenschrift ebenfalls angegeben. -\par -Zun"achst die Eingabe mit Hilfe der Noteneingabesprache: -$$\hbox{\ks{group}{\bf \{b4.`a 8a g ba\} \ks{gslur}\{1-2\} -\ks{gbeam}\{2-4\}}}$$ -Dies entspricht der anschlie\3enden Notation in Notenschrift: -\par -{\hsize9cm\parindent4.5cm -\universal\nointerlineskip\beginsong -\vio\C% -\group{\\{\b3\v3\.1}\\{\a3}\\{\a2}\\{\b3\a3}} -{\\{3}\\{3}\\{2}\\{3}}\ubeam24\lslur12\go -\hfill\hbox{}\endsong} -\par -Um die obige Ausgabe zu erhalten, m"ussen die Daten folgende Form -haben:\absatz\parindent30pt -\verbatimon -|\universal\beginsong| -|\vio\C%|\par -|\group{\\{\b3\v3\.1}\\{\a3}\\{\a2}\\{\b3\a3}}|\par -|{\\{3}\\{3}\\{2}\\{3}}\ubeam24\lslur12\go| -|\endsong| -\par -\verbatimoff - - - -\vskip 3cm - -\noindent Die folgende (unvollst"andige) Programmliste gibt den Aufbau -und die wesentlichen Einzelteile des "Ubersetzungsprogramms -wieder. - -\parindent0pt -\vfill\eject - -{ - \input mdoctrns.tex -} -\output={\plainoutput} diff --git a/macros/mtex/documentation/mdocanhc.tex b/macros/mtex/documentation/mdocanhc.tex deleted file mode 100644 index fc7a7278e8..0000000000 --- a/macros/mtex/documentation/mdocanhc.tex +++ /dev/null @@ -1,204 +0,0 @@ -\heading{Anhang C:\quad Darstellung der Syntax in \BNF} -\abschnitt -Anhang C enth"alt die vollst"andige Beschreibung der Syntax in -\BNF. Die Nichtterminalzeichen sind alphabetisch aufgelistet, -um das Aufsuchen bestimmter Nichtterminalsymbole zu erleichtern. -Das Startsymbol $S$ der Grammatik ist \nl{music input}. -\abschnitt - - -\def\T{|} -$$\align -\nm{accid} ::=& \nm{accidental} \nm{simple note} \T - \nm{octave} \nm{accidental} - \nm{simple note} \T\\ - &\nm{accidental} \nm{octave} \nm{simple note}\\ -\nm{accidental} ::=& {\bf x} \T {\bf{xx}} \T {\bf{b}} \T {\bf{bb}} \T - {\bf{n}}\\ -\nm{articulation group} ::=& -\bs{\bf stac} \nm{melody} \bs{\bf noaccent}\T -\bs{\bf staccatissimo} \nm{melody} \bs{\bf noaccent}\T\\ -& \bs{\bf tenuto} \nm{melody} \bs{\bf noaccent}\\ -\nm{barline} ::=& \strich\ \T\ \strich\strich\ \T -\ \gleich\ \T\ \strich\strich\dpkt\ \T - \ \dpkt\strich\strich\ \T - \ \dpkt\strich\strich\dpkt - \\ -\nm{begin} ::=& {\hbox{\bf!!}} \T \bs{\bf beginsong}\\ -\nm{block} ::=& \nm{melody} \T \nm{two} \T \nm{vocal}\\ -\nm{caesura} ::=& {\bf 0p}\\ -\nm{change} ::=& \nm{clef} \T \nm{signature} \T \nm{metre} \T \nm{change} - \nm{change}\\ -\nm{chord} ::=& \bs{\bf chord}\lk% - \nm{several notes}\rk \T \nm{chord} \nm{chord}\\ -\nm{clef} ::=& \bs{\bf treble} \T \bs{\bf bass} \T \bs{\bf baritone} \T - \bs{\bf alto} \T \bs{\bf mezzo} \T \bs{\bf soprano} \T - \bs{\bf tenor} \\ -\nm{digit} ::=& {\bf 0} \T {\bf 1} \T - {\bf 2} \T {\bf 3} \T {\bf 4} \T {\bf 5} \T {\bf 6} \T {\bf 7} - \T {\bf 8} \T {\bf 9}\\ -\nm{dot} ::=& {\hbox{\bf.}}\\ -\nm{duration} ::=& {\bf 1} \T - {\bf 2} \T {\bf 4} \T {\bf 8} \T {\bf 6} \T {\bf 3} \T {\bf 5} - \T {\bf 7} \\ -\nm{end} ::=& {\hbox{\bf!!}} \T \bs{\bf endsong}\\ -\nm{explanation} ::=& \bs{\bf text}\lk\nm{text}\rk \T - \bs{\bf text}\lk\nm{place} \nm{text}\rk \T\\ - &\nm{recital} \T - \lk\nm{place} \nm{recital}\rk\\ -\nm{group} ::=& \nm{simple nested group} \T - \nm{mismatched group} \T\\ - &\nm{articulation group} \T \nm{group} \nm{group} - \\ -\nm{heading} ::=& \bs{\bf title}\lk\nm{text}\rk \T - \bs{\bf poet}\lk\nm{text}\rk \T - \bs{\bf composer}\lk\nm{text}\rk\\ -\nm{letter} ::=& {\bf a} \T - {\bf b} \T {\bf c} \T {\bf d} \T {\bf e} \T {\bf f} \T {\bf g} - \T {\bf h} \T {\bf i} \T {\bf j} \T {\bf k} \T {\bf l} - \T {\bf m} \T {\bf n} \T {\bf o} \T {\bf p} \T {\bf q} \T {\bf r} - \T {\bf s} \T {\bf t} \T {\bf u} \T {\bf v} \T {\bf w} \T {\bf x} - \T {\bf y} \T {\bf z} \T \\ - &{\bf A} \T {\bf B} \T {\bf C} \T {\bf D} - \T {\bf E} \T {\bf F} \T {\bf G} \T {\bf H} \T {\bf I} \T {\bf J} - \T {\bf K} \T {\bf L} \T {\bf M} \T {\bf N} \T {\bf O} \T {\bf P} - \T {\bf Q} \T {\bf R} \T {\bf S} \T {\bf T} \T {\bf U} \T {\bf V} - \T {\bf W} \T {\bf X} \T {\bf Y} \T {\bf Z}\\ -\nm{melody} ::=& \nm{primitives} \T \nm{group} \T \nm{change} \T - \nm{explanation}\\ -\nm{metre} ::=& \bs{\bf meter} \lk\nm{number} \slash \nm{number}\rk \T - \bs{\bf allabreve} - \T \bs{\bf hC} \T \bs{\bf dC}\\ -\nm{mismatched group} ::=& \bs{\bf group}\lk\nm{primitives}\rk - \nm{special group} \T\\ - &\bs{\bf group}\lk% - \nm{chord}\rk \nm{special group}\\ -\nm{music input} ::=& \nm{begin} \nm{piece} \nm{end} -\endalign$$ -\vfill\eject -$$\align -\nm{nested group} ::=& \nm{primitives} \T \nm{explanation} \T -\nm{change} \T\\ -&\nm{simple nested group} \T \nm{articulation group} \T\\ - &\nm{nested group} \nm{nested group} -\\ -\nm{note} ::=& \nm{simple note} \T - \nm{note specification} \nm{simple note} -\\ -\nm{note specification} ::=& \nm{octave} \T \nm{accidental} \T - \nm{duration} \T \nm{punctuation} \T\\ - &\nm{note specification} \nm{note specification}\\ -\nm{number} ::=& \nm{digit} \T \nm{digit} \nm{number}\\ -\nm{octave} ::=& {\hbox{\bf,}} \T {\hbox{\bf{,,}}} \T - {\hbox{\bf{,,,}}} \T {\hbox{\bf `}} - \T {\hbox{\bf{`}{`}}} \T - {\hbox{\bf{{`}{`}{`}}}} \T {\hbox{\bf{{`}{`}{`}{`}}}}\\ -\nm{omission} ::=& \slash\\ -\nm{piece} ::=& \nm{several system} \T - \nm{system} \T \nm{heading} \nm{piece}\\ -\nm{place} ::=& \bs{\bf\us}\T -\bs{\bf\us l} \T \bs{\bf\us c} \T \bs{\bf\us r} \T -\bs{\bf\us n} \T \bs{\bf\us v} \T \bs{\hbox{\bf\os\ }} \T -\bs{\hbox{\bf\os\ l}} \T - \bs{\hbox{\bf\os\ c}} \T \bs{\hbox{\bf\os\ r}} \T - \bs{\hbox{\bf\os\ n}} \\ -\nm{preliminary data} ::=& \nm{voice} \T \nm{clef} \T \nm{signature} \T - \nm{metre} \T - \nm{explanation} \T\\ - &\nm{preliminary data} \nm{preliminary data}\\ -\nm{primitives} ::=& \nm{note} \T - \nm{rest} \T \nm{caesura} \T \nm{barline} - \T \nm{primitives} \nm{primitives}\\ -\nm{punctuation} ::=& \nm{dot} \T \nm{dot} \nm{punctuation} \\ -\nm{recital} ::=& -\bs{\bf dacapo} \T \bs{\bf dalsegno} \T - \bs{\bf unisono} \T \bs{\bf cantusfirmus} \T - \bs{\bf crescendo} \T\\ -& \bs{\bf decrescendo} \T \bs{\bf diminuendo} \T - \bs{\bf forte} \T - \bs{\bf fortissimo} \T\\ -& \bs{\bf fortissimoposs} \T \bs{\bf mezzoforte} \T - \bs{\bf mezzopiano} \T - \bs{\bf piano} \T\\ -& \bs{\bf pianissimo} \T - \bs{\bf pianissimoposs} \T - \bs{\bf fortepiano} \T - \bs{\bf forzato} \T\\ -& \bs{\bf rinforzando} \T \bs{\bf sforzato} \T - \bs{\bf sforz} \T - \bs{\bf decr} \T \bs{\bf rallentando} \T\\ -& \bs{\bf ritardando} \T \bs{\bf ritenuto} \T - \bs{\bf tr} \T \bs{\bf staccato} \T -\bs{\bf fine} \T - \bs{\bf tacet} \\ -\nm{rest} ::=& \nm{rest specification} {\bf p} \T {\bf{p}} \\ -\nm{rest specification} ::=& \nm{duration} \T - \nm{punctuation} \T \nm{rest specification} - \nm{rest specification}\\ -\nm{several accid} ::=& \nm{accid} \T \nm{accid} \nm{several accid}\\ -\nm{several notes} ::=& \nm{note} \T \nm{note} \nm{several notes}\\ -\nm{several system} ::=& \bs{\bf system} - \lk\nm{system}\rk \T\\ - &\bs{\bf system} \lk\nm{system}\rk - \nm{several system} -\\ -\nm{sign} ::=& - \bs{\bf C} \T \bs{\bf G} \T \bs{\bf D} \T \bs{\bf A} \T \bs{\bf E} - \T \bs{\bf H} \T \bs{\bf Fis} \T - \bs{\bf Cis} \T\\ - &\bs{\bf a} \T \bs{\bf e} \T - \bs{\bf h} \T \bs{\bf fis} \T - \bs{\bf cis} \T \bs{\bf gis} \T \bs{\bf dis} \T - \bs{\bf ais} \T\\ - &\bs{\bf Ces} \T - \bs{\bf Ges} \T \bs{\bf Des} \T \bs{\bf As} \T - \bs{\bf Es} \T \bs{\bf B} \T - \bs{\bf F} \T\\ - &\bs{\bf as} \T \bs{\bf es} \T - \bs{\bf b} \T \bs{\bf f} \T - \bs{\bf c} \T \bs{\bf g} \T \bs{\bf d} -\endalign$$ -\vfill\eject -$$\align -\nm{signature} ::=& \bs{\bf signature}\lk\nm{several accid}\rk \T - \nm{sign}\\ -\nm{sign number} ::=& \nm{number} {\hbox{\bf-}} \nm{number} \T - \nm{sign number} {\bf,} \nm{number} {\hbox{\bf-}} \nm{number} -\\ -\nm{simple nested group} ::=& \bs{\bf beam}\lk% - \nm{nested group}\rk \T - \bs{\bf slur}\lk\nm{nested group}\rk \T\\ - &\bs{\bf cresc}\lk\nm{nested group}\rk \T - \bs{\bf descresc}\lk\nm{nested group}\rk\\ - &\bs{\bf chord}\lk\nm{several notes}\rk\\ -\nm{simple note} ::=& {\bf c} \T {\bf d} \T {\bf e} \T {\bf f} - \T {\bf g} \T {\bf a} \T {\bf h} \\ -\nm{songtext} ::=& \nm{text} \T - \nm{place}\nm{text} \T - \nm{omission} \T - \nm{songtext} \nm{songtext}\\ -\nm{special character} ::=&\ {\hbox{\bf,}}\ \T\ {\hbox{\bf;}}\ \T - \ {\hbox{\bf.}}\ \T \ {\hbox{\bf!}}\ \T \ \blank\ \T - \ {\hbox{\bf?}}\ \T\ {\hbox{\bf*}}\ \T\ {\hbox{\bf+}}\ \T - \ {\hbox{\bf-}}\ \T \ {\hbox{\bf`}}\ \T - \ {\hbox{\bf'}}\ \T\ \bs\ \T\ {\hbox{\bf\~\ }}\\ -\nm{special group} ::=& \bs{\bf gslur}\lk\nm{sign number}\rk \T - \bs{\bf gbeam}\lk\nm{sign number}\rk \T\\ - &\bs{\bf gcresc}\lk\nm{sign number}\rk \T - \bs{\bf gdecresc}\lk\nm{sign number}\rk \T\\ - &\nm{special group}\nm{special group}\\ -\nm{system} ::=& \nm{block} \T \nm{preliminary data} \nm{block}\\ -\nm{text} ::=& \nm{word} \T \nm{special character} \T - \nm{text} \nm{text}\\ -\nm{two} ::=& \bs{\bf two}\lk\nm{melody}\rk \lk% - \nm{melody}\rk\\ -\nm{vocal} ::=& \bs{\bf vocal}\lk\nm{melody}\rk \lk% - \nm{songtext}\rk \T -\bs{\bf vocal}\lk\nm{two}\rk \lk% - \nm{songtext}\rk\\ -\nm{voice} ::=& \bs{\bf voice}\lk\nm{text}\rk\\ -\nm{word} ::=& \nm{letter} \T \nm{digit} \T \nm{letter} \nm{word} \T - \nm{digit} \nm{word} -\endalign$$ -\vfill\eject - diff --git a/macros/mtex/documentation/mdocanhd.tex b/macros/mtex/documentation/mdocanhd.tex deleted file mode 100644 index 982b15e07b..0000000000 --- a/macros/mtex/documentation/mdocanhd.tex +++ /dev/null @@ -1,220 +0,0 @@ -\font\bigrm=cmbx12 -\def\akkzent#1{{\accent'175 #1}} -\def\Oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant -\def\Hex#1{\hbox{\rm\akkzent{}\tt#1}} % hexadecimal constant -\def\mf{METAFONT} -\def\absatz{\par\penalty-50\vskip7.5pt plus4.5pt minus6pt\noindent} -\def\abs{\parsep} -\verbatimon -\heading {Anhang D:\quad Zeichens"atze} -\bigskip -Eine zus"atzliche -Aufgabe, die sich bei der Automatisierung des Notensatzes -ergibt, ist die Erstellung von besonderen -Zeichens"atzen, denn in der Regel enthalten -die vorhandenen Zeichens"atze keine Notenschriftzeichen. -Obwohl sie nicht f"ur -die Noteneingabe, sondern f"ur die Ausgabe von Musik von Bedeutung -ist, soll hier kurz auf die erstellten Zeichens"atze eingegangen -werden. Diese werden dann in der Arbeit von A. Steinbach -\lit{\Steinb} benutzt. -\abs -Wie in der Einleitung schon gesagt wurde, wird zur Erstellung der -Zeichen das zu \TeX\ geh"orende Programm \mf\ verwandt. -Dieses soll im folgenden kurz erl"autert werden. -\absatz -\subheading{Methode zur Erstellung von Zeichens"atzen} -Die f"ur den Notensatz notwendigen Zeichens"atze werden mit dem -von D. E. Knuth entwickelten Programm \mf\ erzeugt \lit{\Knuthmf}. -Dieses Programm bietet sich an, weil zur Darstellung eines Zeichens -im Gegensatz zu anderen Methoden relativ wenig Daten erforderlich sind. -Au\3erdem ist es an das f"ur die Automatisierung des Notensatzes -benutzte Textsatzsystem \TeX\ angepa\3t. -\abs -\mf\ erh"alt als Eingabe eine mathematische Beschreibung der Zeichen. -Diese besteht im wesentlichen aus der Angabe von Kontrollpunkten -und Anweisungen, wie diese zu verbinden sind. -Die Punkte werden durch ihre -Koordinaten, die Verbindungsvorschriften durch Winkel und Steigungen -beschrieben. \mf\ zieht daraufhin mit verschiedenen Stiften, -deren Form ebenfalls gew"ahlt werden kann, laut Anweisung -Kurven durch die Kontrollpunkte. Dazu werden Splines verwendet. -Ein Vorteil, der bei der Erstellung der Zeichen f"ur den -Notensatz oft ausgenutzt wird, ist, da\3 mehrmals auftretende Kurven -einmal -definiert und mit Hilfe einer Kontrollsequenz -an den entsprechenden Stellen -eingesetzt werden k"onnen. -\abs -\mf\ erzeugt die Zeichen in der vom Benutzer gew"unschten -ger"atespezifischen Aufl"osung. -Eine ausf"uhrliche Beschreibung von \mf\ -steht in dem Buch ``The \mf--book'' von D. E. Knuth \lit{\Knuthmf}. -\absatz -Nach dieser kurzen Erkl"arung der Arbeitsweise des Programms -\mf\ sollen nun die f"ur den automatisierten Notensatz notwendigen -Zeichens"atze vorgestellt werden. -\absatz -\subheading{Zeichens"atze f"ur den Notensatz} -In den folgenden Tabellen 1 bis 7 werden die erzeugten Zeichens"atze -(Fonts) gezeigt. Jedes Zeichen (Character) eines Fonts kann "uber -seinen zugeordneten Charactercode angesprochen werden. -Die Tabellen sind so aufgebaut, da\3 die -Codes k"onnen am Tabellenrand sowohl in oktaler -(\Oct{000} -- \Oct{177}) als auch in hexadezimaler -(\Hex{00} -- \Hex{7F}) Notation abgelesen werden. -So hat zum Beispiel das Aufl"osungszeichen -(\font\music= music16 {\music \char'066\ }) den Oktalcode -\Oct{066} und den Hexadezimalcode \Hex{36}, der kleine -Violinschl"ussel dagegen den Code \Oct{118} bzw. \Hex{48}. -Die bisher erstellten und verwendeten Zeichens"atze haben ein -Schriftgr"o\3e von 16pt, dies entspricht der H"ohe eines -Notenliniensystems (Rastralh"ohe). Sie sind also f"ur -Noten, die eine Notenkopfh"ohe |\nhh| = 4pt besitzen, ausgelegt. -Der Name -oben -links in der Tabelle bezeichnet den jeweiligen Zeichensatz. -\abs -Die erste Tabelle enth"alt die Notenschriftelemente wie Notenk"opfe, -F"ahnchen, Versetzungszeichen, Pausen, Notenschl"ussel und Sonderzeichen, -zum Beispiel f"ur Taktangaben. -Dieser Zeichensatz ist noch durch Hinzunahme weiterer Sonderzeichen -erweiterbar. -\abs -Tabelle 2 zeigt den Zeichensatz, der f"ur den Satz der Balken -notwendig ist. Die Balken unterscheiden -sich in der L"ange und der Steigung -voneinander. Allerdings k"onnen nicht alle Balken beliebiger L"ange -in den Zeichens"atzen aufgef"uhrt werden, da diese sonst zu -umfangreich werden w"urden. Aus diesem Grund werden die -Balken -aus Teilst"ucken zusammengesetzt. F"ur die Steigungen sind -charakteristische Balkensteigungen ausgew"ahlt worden (\lit{\Steinb}, -Kap.11). Eine Zeile der Tabelle enth"alt die zu einer festen -Balkensteigung geh"orenden Teilst"ucke. Die L"ange -dieser Teilst"ucke wird dabei von einer Spalte zur andern verdoppelt. -In einer Spalte stehen die Teilst"ucke, deren Anfangs-- und -Endpunkte jeweils die gleichen Abzissenwerte haben. Der Code eines -Balkenst"ucks kann demnach mit einer einfachen Gleichung -aus seiner L"ange und Steigung -berechnet werden. -\abs -Der dritte Zeichensatz (Tabelle 3) enth"alt die ungeteilten Haltebogen, -die Crescendo-- und Decrescendozeichen und Bogenst"ucke, aus -denen Bogen zusammengesetzt werden k"onnen. Die Bogenst"ucke -sind zeilenweise mit wachsender Steigung angeordnet, w"ahrend die -anderen Zeichen dieses Zeichensatzes der L"ange nach geordnet sind. -Der Auswahl der L"angen und Steigungen liegen die Berechnungen -aus \lit{\Steinb}, Kap.11 zugrunde. Dies gilt auch f"ur die -n"achsten Zeichens"atze. -\abs -Die restlichen vier Tabellen zeigen die Zeichens"atze f"ur -Bogen. Tabelle 4 und 5 enthalten die konvexen Bogen, Tabelle 6 und -7 die konkaven Bogen. Die konvexen Bogen werden oberhalb -einer Notenzeile gezogen, w"ahrend die konkaven Bogen -unterhalb einer Notenzeile gezeichnet werden. -Die beiden Zeichens"atze, die zu einer Bogenart geh"oren, unterscheiden -sich in der Sekantensteigung. In Tabelle 4 und 6 sind die Bogen -mit positiver, in Tabelle 5 und 7 mit negativer Sekantensteigung -aufgelistet. -Die Bogen innerhalb eines Zeichensatzes sind wiederum so angelegt, da\3 -der Charactercode eines Bogens wieder -aus der -L"ange und Steigung berechnet werden kann. -Dabei wurden jedoch die Bogen spaltenweise mit wachsender Steigung -angeordnet, wobei jede Spalte Bogen von zwei verschiedenen L"angen -enth"alt. Eine Ausnahme bildet die erste Spalte. Dort wurden -alle zum Satz erforderlichen Bogen der L"angen 1 |\nhw|, 2 |\nhw| -und 3 |\nhw| angeordnet. -\absatz -Im Anschlu\3 an diese Beschreibung folgen die einzelnen -Zeichens"atze (Tabellen 1 bis 7). Das \mf-Programm, mit dem -die Zeichens"atze generiert werden k"onnen, -ist in der vorliegenden Arbeit -weggelassen worden und kann gesondert angefordert werden. -\vfill\eject -\verbatimoff - - -% macros for font tables -% aus dem \tex book von Donald E. Knuth -\verbatimon -\countdef\counter=255 -\def\oddline#1{\cr - \noalign{\nointerlineskip} - \multispan{19}\hrulefill& - \setbox0=\hbox{\lower 2.3pt\hbox{\Hex{#1x}}}\smash{\box0}\cr - \noalign{\nointerlineskip}} -\def\evenline{\cr\noalign{\hrule}} -\def\chartstrut{\lower4.5pt\vbox to14pt{}} -\def\beginchart#1{$$\global\counter=0 #1 - \halign to\hsize\bgroup - \chartstrut##\tabskip0pt plus10pt& - &\hfil##\hfil&\vrule##\cr - \lower6.5pt\null - &{\it\fontname\ } -&&\Oct0&&\Oct1&&\Oct2&&\Oct3&&\Oct4&&\Oct5&&\Oct6&&\Oct7&\evenline} -\def\endchart{\raise11.5pt\null&&&\Hex 8&&\Hex 9&&\Hex A&&\Hex B& - &\Hex C&&\Hex D&&\Hex E&&\Hex F&\cr\egroup$$} -\def\:{\setbox0=\hbox{\char\counter}% - \ifdim\ht0>7.5pt \dimen1=\ht0 \advance \dimen1 by 2pt \ht0=\dimen1 \fi - \ifdim\dp0>2.5pt \dimen1=\dp0 \advance \dimen1 by 2pt \dp0=\dimen1 \fi - \setbox0=\hbox{% - \vrule depth \dp0 width 0pt \box0}\box0\global\advance\counter by1 } -\def\normalchart{% - &\Oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline0 - &\Oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline - &\Oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline1 - &\Oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline - &\Oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2 - &\Oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline - &\Oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3 - &\Oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline - &\Oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4 - &\Oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline - &\Oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5 - &\Oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline - &\Oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6 - &\Oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline - &\Oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7 - &\Oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline} -\def\table #1 {{\offinterlineskip -\font\sfont=#1 -\edef\fontname{#1} -\beginchart\sfont -\normalchart -\endchart -\bigskip -}} - -\table{music16} -\centerline{\bf Tabelle 1} -\vfill\eject - -\table{beam16} -\centerline{\bf Tabelle 2} -\vfill\eject -% -{ -\advance\hsize by 4cm\advance \hoffset by -2cm -\table{slur16} -\centerline{\bf Tabelle 3} -\vfill\eject -} - -\table{sluruu16} -\centerline{\bf Tabelle 4} -\vfill\eject - -\table{slurdu16} -\centerline{\bf Tabelle 5} -\vfill\eject - -\table{slurud16} -\centerline{\bf Tabelle 6} -\vfill\eject - -\table{slurdd16} -\centerline{\bf Tabelle 7} -\vfill\eject - diff --git a/macros/mtex/documentation/mdocdef.tex b/macros/mtex/documentation/mdocdef.tex deleted file mode 100644 index f8d82101e0..0000000000 --- a/macros/mtex/documentation/mdocdef.tex +++ /dev/null @@ -1,258 +0,0 @@ -% this is MDOCDEF.TEX -% -\frenchspacing -\openup3pt -\hsize=16.0cm -\vsize=25.0cm -\advance\hoffset by 0.5cm -\parindent 0pt -\nopagenumbers -% -\font\bigrm=cmbx12 -%\font\ninerm=cmr9 %not on Atari -\font\ninerm=cmr10 -\font\eightrm=cmr7 %only on Atari -\font\tensl=cmr10 %only on Atari - -\font\eighttt=cmtt8 -%\font\hugem=cmbx10 scaled 2000 %not on Atari -\font\hugem=cmbx10 scaled 1440 -\font\huge=cmbx12 -% -\let\headings\relax -\let\keyy=\key -\def\us{\hbox{\tt\char`\_}} -\def\os{\hbox{\tt\char`\^}} - -\newskip \iindent \iindent=30pt -\footline={} -\parindent=0pt -\def\lit#1{\ifmmode\lbrack\text{#1}\rbrack -\else$\lbrack\,${}#1{}$\,\rbrack$\fi} -\def\tex#1{{\it #1\/}} -\def\disp#1{{\sl #1\/}} -\def\defi#1{{\bf #1}} -\def\definition{\Parsep\hang\hangafter 1 -\noindent{\bf Definition:}\hskip1em\relax} -\def\parh{\par\hang\hangafter0} -\def\parn{\par\noindent} -\def\enddefinition{\Parsep} -\def\Beispiel{\goodbreak\Parsep\hang\hangafter 1 -\noindent{\bf Beispiel:}\hskip1em\relax} -\def\endBeispiel{\Parsep} -\def\Bemerkung{\Parsep\hang\hangafter 1 -\noindent{\bf Bemerkung:}\hskip1em\relax} -\def\endBemerkung{\Parsep} -\def\ul#1{$\underline{\text{#1}}$} -\def\pt{\ifmmode\,{\rm pt}\else pt\fi}%nur f"ur mathmode -\def\<#1>{\leavevmode\hbox{$\langle$#1\/$\rangle$}} % syntactic quantity -\def\fil{\ifmmode\,{\rm fil}\else fil\fi}%nur f"ur mathmode -\def\fill{\ifmmode\,{\rm fill}\else fill\fi}%nur f"ur mathmode -\def\filll{\ifmmode\,{\rm filll}\else filll\fi}%nur f"ur mathmode -\def\tbox{{\hbox{\rm `box'}}} -\def\tglue{{\hbox{\rm `glue'}}} -\def\tkern{{\hbox{\rm `kern'}}} -\def\tpenalty{{\hbox{\rm `penalty'}}} -\def\summ{\sum_{j=1}^m} -\def\folg#1#2{${#1}_1,\ldots,{#1}_{#2}$} -\def\folgi#1#2#3{\ifmmode ({#1}_{#2})_{{#2}=1,\ldots,{#3}} -\else \hbox{$({#1}_{#2})_{{#2}=1,\ldots,{#3}}$}\fi} -\def\bull{\vrule height .9ex width .8ex depth -.1ex } % square bullet -\def\hang{\hangindent\iindent} -\def\textindent#1{\noindent\hskip\iindent\llap{#1\enspace}\ignorespaces} -\def\item{\par\hang\textindent} -\def\itemitem{\par\noindent\hskip\iindent\hangindent2\iindent\textindent} -% macros for non-centered displays -\outer\def\begindisplay{\obeylines\startdisplay} -{\obeylines\gdef\startdisplay#1 -{\catcode`\^^M=5$$#1\halign\bgroup\hskip\iindent##\hfil&&\qquad##\hfil\cr}} -\outer\def\enddisplay{\crcr\egroup$$} -\def\vo{\tt\verbatimon} -\def\voff{\tt\verbatimoff} -\def\mod{\hbox{mod}} -\def\sign{\hbox{sign}} -\def\const{\hbox{const}} -\def\mins{\hbox{mins}} - -\def\Brook{1} -\def\brook{1} -\def\byrd{2} -\def\genzmeier{3}%lehrbuch f"ur textsatz -\def\genzmer{3}%lehrbuch f"ur textsatz -\def\grabner{6} -\def\gomb{4} -\def\Gourlay{5} -\def\gourlay{5} -\def\Hader{7} -\def\hader{7} -\def\Knuth{8} -\def\Texbook{9} -\def\TeXbook{9} -\def\Knuthmf{10} -\def\Peters{11} -\def\Schofer{12} -\def\smith{13} -\def\Smith{13} -\def\Steinb{14} -\def\Werner{15} -\def\werner{15} -\def\Wirth{16} -\def\ziegen{17} -\def\Ziegen{17} -\def\Zima{18} -\def\Zimat{19} - - -% \box\bigdot is a null box with a bullet at its reference point -\newbox\bigdot \newbox\smalldot -\setbox0=\hbox{$\vcenter{}$} % \ht0 is the axis height -\setbox1=\hbox to0pt{$\hss\bullet\hss$} % bullet is centered on the axis -\setbox\bigdot=\vbox to0pt{\kern-\ht1 \kern\ht0 \box1 \vss} -\setbox1=\hbox to0pt{$\hss\cdot\hss$} % cdot is centered on the axis -\setbox\smalldot=\vbox to0pt{\kern-\ht1 \kern\ht0 \box1 \vss} - -% \samplebox makes the outline of a box, with big dot at reference point -\def\samplebox#1#2#3#4{% #1=ht, #2=dp, #3=wd, #4=text - {\setbox0=\vtop{\vbox to #1{\hbox to #3{}\vss} - \nointerlineskip - \vbox to #2{}}% now \box0 has the desired ht, dp, and wd - \hbox{\copy\bigdot - \vrule height.2pt depth.2pt width#3% - \kern-#3% - \makelightbox - \kern-#3% - \raise#1\vbox{\hbox to #3{\hss#4\hss} - \kern 3pt}}}} - - -\def\adchap#1{{\advance\chap#1\the\chap}} - -\newcount\chap -\newcount\sub -\newcount\subsub -\newcount\subsubsub -\pageno=1 -\chap=0 -\sub=0 -\subsub=0 -\subsubsub=0 -\def\heading#1{\advance\chap1 \sub=0\subsub=0\subsubsub=0 -\hbox{} -\vskip1.5cm -\ifodd\pageno\else\advance\pageno1\fi -\count2=\pageno -\ifnum\chap>-1 -\headline={\ifnum\count2=\pageno \hfill -\else \ifodd\pageno\hss\eightrm\ifnum\chap<1\else\ifnum\chap<14 -\the\chap. \else\fi\fi#1\hss{\tenrm\folio} -\else{\tenrm\folio}\hss\eightrm\ifnum\chap<1\else\ifnum\chap<14 -\the\chap. \else\fi\fi#1\hss -\fi\fi}% -\else \headline={\hfill}\fi -\ifnum\chap=1 -\else\line{\hfil\bigrm\ifnum\chap<1\else\ifnum\chap<14 -\the\chap.\quad\else\fi\fi#1\hfil}\fi -\lineouti{#1}\bigskip} -\def\subheading#1{\advance\sub1\subsub=0 -\subsubsub=0\goodbreak -\bigskip\line{\bf\the\chap.\the\sub\quad#1\hfil}\lineoutii{#1}\smallskip} -\def\subsubheading#1{\advance\subsub1 -\subsubsub=0 -\medskip\line{\bf\the\chap.\the\sub.\the\subsub -\quad#1\hfil}%\lineoutiii{#1} -\smallskip} -\def\subsubsubheading#1{\advance\subsubsub1 -\goodbreak -\medskip{\bf #1.%\lineoutiv{#1} -}\quad} -% -\def\mf{{\rm METAFONT}} -\newwrite\refs -\newwrite\inhalt -\immediate\openout\refs = xrefs.tex -\immediate\openout\inhalt = inhalt.tex -\def\lineoutiv#1{\immediate\write\inhalt{\the\chap.\the\sub.\the\subsub.% -\the\subsubsub : #1 = \the\pageno}} -\def\lineoutiii#1{\immediate\write\inhalt{\the\chap.\the\sub.\the\subsub% -\ #1 }} -\def\lineoutii#1{\immediate\write\inhalt{\the\chap.\the\sub -&\noexpand\rm \noexpand#1 &\the\pageno\cr}} -\def\lineouti#1{\immediate\write\inhalt{\cr -\the\chap &\noexpand\bf \noexpand#1 &\the\pageno\cr\cr}} -\def\XX{\immediate\write\refs{\the\pageno : \the\chap.\the\sub.% -\the\subsub.\the\subsubsub}} - -% Macros for drawing figures -\def\hidehrule#1#2{\kern-#1\hrule height#1 depth#2 \kern-#2 } -\def\hidevrule#1#2{\kern-#1{\dimen0=#1 - \advance\dimen0 by#2\vrule width\dimen0}\kern-#2 } -% \makeblankbox puts rules at the edges of a blank box -% whose dimensions are those of \box0 (assuming nonnegative wd,ht,dp) -% #1 is rule thickness outside, #2 is rule thickness inside -\def\makeblankbox#1#2{\hbox{\lower\dp0\vbox{\hidehrule{#1}{#2}% - \kern-#1% overlap the rules at the corners - \hbox to\wd0{\hidevrule{#1}{#2}% - \raise\ht0\vbox to #1{}% set the vrule height - \lower\dp0\vtop to #1{}% set the vrule depth - \hfil\hidevrule{#2}{#1}}% - \kern-#1\hidehrule{#2}{#1}}}} -\def\maketypebox{\makeblankbox{0pt}{1pt}} -\def\makelightbox{\makeblankbox{.2pt}{.2pt}} -% \arrows makes things like <--- text ---> -\def\arrows#1#2{% #1=width, #2=text - {\setbox0=\hbox{$\mkern-2mu\mathord-\mkern-2mu$} - \hbox to #1{\kern-.055556em$\leftarrow\mkern-6mu$% - \cleaders\copy0\hfil - \kern.4em #2\kern.4em - \cleaders\copy0\hfil - $\mkern-6mu\rightarrow$\kern-.055556em}}} -%Taktstriche -\def\gleich{\hbox{\strut\vrule\kern2pt\vrule width2pt} } -\def\dbl{\hbox{\strut\vrule\kern2pt\vrule}} -\def\lrepeat{\hbox{\strut\vrule width2pt\kern2pt\vrule\kern2pt: }} -\def\rrepeat{\hbox{\strut\ :\kern2pt\vrule \kern2pt\vrule width2pt }} -\def\lrrepeat{\hbox{\strut\ :\kern2pt\vrule \kern2pt% - \vrule width2pt \kern2pt\vrule\kern2pt: }} -\def\ball#1{\noindent\hbox to 15pt{\hss\hbox to 0pt{\hss$\bigcirc$\hss}% -\hbox to0pt{\hss#1\hss}\hss}} -\def\vspace#1{\noalign{\vskip#1}} -\catcode`\@=11 -\outer\def\Refs{\relaxnext@\def\refskip@{\hskip\@ne sp\hskip\m@ne sp}% - \def\next@{\ifx\next\nofrills\def\next@\nofrills{\nextii@}\else - \def\next@{\nextii@{}}\fi\next@}% - \def\nextii@##1{\bigbreak\hbox to\hsize{\hfil\tenpoint - \smc\ignorespaces##1\unskip\hfil}\nobreak - \bigskip\sfcode`.=\@m}% - \futurelet\next\next@\openup\jot} -\catcode`\@=\active - - - -\newskip \iindent \iindent=30pt -\def\hang{\hangindent\iindent} -\def\textindent#1{\noindent\hskip\iindent\llap{#1\enspace}\ignorespaces} -\def\item{\par\hang\textindent} -\def\itemitem{\par\noindent\hskip\iindent\hangindent2\iindent\textindent} -% -% Definitionen f"ur Literatur %%%%% -\def\Brook{1} -\def\Gourlay{2} -\def\Texbook{3} -\def\Knuthmf{4} -\def\Peters{5} -\def\Smith{6} -\def\Steinb{7} -\def\Werner{8} -\def\Zima{11} -\def\Zimat{12} -\def\Wirth{9} -\def\Ziegen{10} - -%% Additional macros (SFB72) -\def\rz{\ifmmode I\hskip-0.4em R\else$I\hskip-0.4em R$\fi} -\def\nz{\ifmmode{I\hskip -3pt N}\else{\hbox{$I\hskip -3pt N$}}\fi} -\def\gz{\ifmmode{Z\hskip -4.8pt Z}\else{\hbox{$Z\hskip -4.8pt Z$}}\fi} -\def\qz{\ifmmode{Q\hskip-5.0pt\vrule height6.0pt depth 0pt\hskip6pt} - \else{\hbox{$Q\hskip-5.0pt\vrule height6.0pt depth 0pt\hskip6pt$}}\fi} - -% diff --git a/macros/mtex/documentation/mdocdef2.tex b/macros/mtex/documentation/mdocdef2.tex deleted file mode 100644 index 1652bc6e8f..0000000000 --- a/macros/mtex/documentation/mdocdef2.tex +++ /dev/null @@ -1,60 +0,0 @@ -% -% Definitionen nur fuer MDOC1,2,3 + ANHB !!! -% -\def\mf{METAFONT} -\def\P{Partitur} -\def\BNF{Backus--Naur--Form} -\def\kf{kontext--frei} -\def\G{Grammatik} -\def\A{Automatisierung} -\def\Em{Eingabemethode} -\def\Ev{Eingabeverfahren} -\def\SZ{Seiten-- und Zeilenumbruch} -\def\Tss{Textsatzsystem} -\def\m{musikalisch} -\def\abschnitt{\par\penalty-100\vskip15pt plus7.5pt minus10pt\noindent} -\def\absatz{\par\penalty-50\vskip7.5pt plus4.5pt minus6pt\noindent} -\def\abs{\parsep} -\def\zB{zum Beispiel } -\def\dh{das hei\3t } -\def\lit#1{\lbrack {#1}\rbrack} -\def\de#1{{\sl #1}} -\def\q{\quad} -\def\qq{\quad\quad} -\def\abl{\mathop{\Longrightarrow}\limits} -\def\ks#1{\noindent\hbox{{\tt \char\hex5C}\bf#1}} -%\def\ks#1{\bs{\bf#1}} %definition f"ur Kontrollsequenzen - -\mathchardef\SETMINUS=\hex226E -\def\SETminus{\raise2pt\hbox{${\scriptstyle\SETMINUS}$}} -\def\Setminus{\raise1.5pt\hbox{${\scriptscriptstyle\SETMINUS}$}} -\def\setminus{{\mathchoice{\SETminus}{\SETminus}{\Setminus} - {\Setminus}}} - -\mathchardef\Bullet=\hex220F -\def\bullet{\,{\raise1pt\hbox{$\scriptscriptstyle\Bullet$}}\,} -\mathchardef\CHI=\hex011F -\def\chi{{\raise2pt\hbox{$\CHI$}}} - -\def\bs{\noindent\hbox{{\tt \char\hex5C}}}%Backslash -\def\nl#1{{$\langle${\rm #1}$\rangle$}} %Klammerung f"ur BNF im Text -\def\nls#1{{$\langle${\eightrm #1}$\rangle$}} -%Klammerung f"ur BNF im Text eightrm -\def\nm#1{{\langle{\hbox{\rm#1}}\rangle}}% " " "in Math -\def\T{{$|$}} %definiert den Trennungsstrich f"ur die BNF -\def\lk{\hbox{{\tt\char\hex7B}}}%linke Klammer auf -\def\rk{{\hbox{\tt \char\hex7D}}}%rechte -\def\strich{{\hbox{\tt \char\hex7C}}} -\def\dpkt{{\hbox{\tt \char\hex3A}}}%Doppelpunkt -\def\gleich{{\hbox{\tt \char\hex3D}}}% -\def\slash{\noindent{\hbox{\tt \char\hex2F}}} -\def\blank{{\hbox{\tt \char\hex20}}} - -\def\bss{\hbox{{\eighttt \char\hex5C}}}%kleiner backslash -\def\lks{\hbox{{\eighttt\char\hex7B}}}%kleine linke Klammer -\def\rks{{\hbox{\eighttt \char\hex7D}}}%rechts -\def\blanks{{\hbox{\eighttt \char\hex20}}}%kleines blank - -\def\subheading#1{\smallbreak\noindent{\tenpoint\bf\ignorespaces - #1\unskip.\enspace}\ignorespaces} - diff --git a/macros/mtex/documentation/mdoceinl.tex b/macros/mtex/documentation/mdoceinl.tex deleted file mode 100644 index f36cd336e1..0000000000 --- a/macros/mtex/documentation/mdoceinl.tex +++ /dev/null @@ -1,207 +0,0 @@ -\heading{Einleitung} - -\defi{Notensatz} kann als Herstellungsproze\3 einer -reproduktionsf"ahigen Vorlage zum Druck eines Notenblattes definiert -werden. -Wurde urspr"unglich dieser Begriff nur f"ur das Herstellungsverfahren mit -Metall-Lettern verwendet, so bezeichnet er heute allgemein das -Positionieren der einzelnen Notenschriftzeichen unabh"angig vom dazu -verwendeten Verfahren. -Bis heute ist es noch "ublich, die Druckvorlagen f"ur den Notensatz -manuell herzustellen. Es wurde bisher noch kein zufriedenstellendes -Verfahren gefunden, das die langwierigen Techniken des Handnotensatzes -durch Satzmaschinen abl"osen k"onnte. - -\subsubsubheading{Geschichtliche Entwicklung des Handnotensatzes im -"Uberblick} - Mit der Erfindung des Buchdruckes mit beweglichen Lettern - durch Johannes Gutenberg um das Jahr 1440 -begannen fast gleichzeitig die ersten Versuche, -neben Texten auch Musiknoten zu setzen. -Die Notenzeichen -wurden in Holz geschnitten, sp"ater mit Holz- und Metall-Lettern -gesetzt. -Gleichzeitig entwickelte sich das konkurrierende Verfahren des -Stichs in Kupfer-, Zinn- und Zinkplatten: -in die hochgl"anzende Metallplatte erfolgt nach einer -"Ubersichtseinteilung und Rastrieren der Notenlinien das Einschlagen -der Typen (Notenk"opfe, Zeichen und Buchstaben) mit Hilfe von -Stahlstempeln und anschlie\3end das eigentliche ``Stechen'' der -Taktstriche, Stiele (Notenh"alse), Kopfstriche, Balken, Crescendozeichen -und Bogen. - -Im Laufe der Jahrhunderte wurden viele Versuche unternommen, das -aufwendige und komplizierte Verfahren zur Herstellung einer Druckvorlage -zu vereinfachen. -Im Jahr 1755 f"uhrte J. G. Immanuel Breitkopf den Typendruck zu einer -praktikablen und technisch ausgereiften L"osung, die bis heute -unver"andert angewandt wird. Dieses Verfahren eignet sich jedoch nur -f"ur kleinere Notenbeispiele, die in laufenden Text eingegliedert werden -(z.B. in Schulliederb"uchern), da die Zahl der Lettern selbst f"ur kurze -einzeilige St"ucke sehr gro\3 ist. - -Als einziges Verfahren neben dem Plattenstich, das universell anwendbar -ist, hat sich das Autographie-Lichtpause-Verfahren, die sogannte -\disp{Autographie}, erwiesen. Dieses Verfahren kommt dem Versuch -gleich, die Lettern des Buchdruckes \disp{handschriftlich} nachzuahmen, -denn die Noten werden von Hand auf Pauspapier geschrieben und auf -lichtempfindlich gemachte Offset-Druckplatten kopiert. Die Autographie -ist weniger zeitaufwendig aber qualitativ minderwertiger als der -Plattenstich. - -\subsubsubheading{Entwicklung des automatisierten Notensatzes} -Der Grund f"ur das Scheitern aller anderen Verfahren, z.B. die Benutzung - einer \disp{Noten-Schreibmaschine}, ist in erster Linie in der -Vielfalt der Notenschriftelemente und der M"oglichkeiten ihrer -Anordnung auf dem Blatt zu sehen, die f"ur - eine \disp{korrekte} Wiedergabe eines Musikst"uckes notwendig ist. - -Im Gegensatz zum Textsatz war es also kaum m"oglich, den Handnotenstich -maschinell auszuf"uhren, da der Satzproze\3 komplizierter ist. -Jedes Notenschriftelement enth"alt mehrere Informationen. -Zum Beispiel dr"uckt die -\disp{Gestalt} einer Note ihre zeitliche -Dauer aus und die Position im Zeilensystem ihre Tonh"ohe. -Die Menge an Informationen, die auf engsten Raum dem Musiker -vermittelt werden mu\3, macht eine Vielzahl von Satz- und Notations\-% -regeln erforderlich. Diese Konventionen sind historisch gewachsen und -m"ussen genauestens beachtet werden. -Da au\3erdem eine gro\3e Anzahl -von (mitunter variablen) Schriftzeichen ben"otigt wird, war - jeder Versuch, mit beweglichen Lettern zu setzen, -von vornherein zum Scheitern verurteilt. - -Bis heute ist kein Verfahren bekannt, das den Satzvorgang beschleunigt -und gleichzeitig die Qualit"at des -Metallplattenstichs zumindest erreicht. - -Als die ersten leistungsf"ahigen Rechner in den Universit"aten und -anderen Forschungseinrichtungen zu Verf"ugung standen, wurden sie -zun"achst f"ur die Musiktheorie interessant als Speicherm"oglichkeit -f"ur Musikliteratur. Es wurden also zun"achst -Eingabesprachen entwickelt, die eine interne Darstellung von Noten -m"oglich machten. Arbeiten auf diesem Gebiet erschienen unter anderen -von Brook und Gould \lit{\brook}. Diese Eingabesprachen wurden -weiterentwickelt, so da\3 sie f"ur die Musikanalyse verwendet werden -konnten (s. z.B. die Arbeit von R. Werner \lit\werner). -Die Ergebnisse konnten auch genutzt werden, Programmsysteme, -die den automatisierten Notensatz erm"oglichen, im folgenden kurz -``Notensatzsysteme'' genannt, zu entwickeln. - Dieses Gebiet wurde zun"achst von - von D. Byrd (\lit\byrd), D. A. Gomberg (\lit\gomb) und -L. Smith (\lit\smith) bearbeitet. -Bei diesen sind verschiedene -Entwicklungsziele zu beachten: die Spannbreite reicht von spezialisierten -Zeichenprogrammen bis zum Versuch, den Noten\disp{satz} zu automatisieren. -Allen bisher bekannt gewordenen Notensatzsystemen ist gemeinsam, da\3 -sie jeweils nur Teilbereiche der konventionellen Notenschrift abdecken. - -In letzter Zeit sind neue Versuche -bekannt geworden, Notensatz zu automatisieren -(s. z.B. \lit{\Gourlay}). - - -Das liegt einerseits an der steigenden Ausgabequalit"at -von graphischen Systemen und andererseits an den steigenden Kosten -von neuen Editionen, die im manuellen Verfahren hergestellt werden. -Um qualititativ hochwertige Ergebnisse zu erzielen, -sind jedoch nur solche automatisierten -Satzsysteme von Interesse, die weitgehend -unabh"angig vom Ausgabeger"at und benutzerfreundlich arbeiten. -Das hei\3t, da\3 Benutzer, die keine Satzregeln kennen, -mit Hilfe eines Satzprogramms ein \disp{korrekt} gesetztes Notenblatt -erstellen k"onnen. - -Der Vorteil des Computersatzes gegen"uber manuellen oder -anderen maschinellen Satzverfahren -liegt einerseits darin, da\3 die einzelnen Stimmen eines - Musikst"ucks im wesentlichen nur einmal -eingegeben werden brauchen, aber auf verschiedene Weise verarbeitet -werden k"onnen (z.B. sowohl f"ur die Partitur als auch f"ur die -Orchesterstimmen, so da\3 die Fehleranf"alligkeit vermindert wird), -andererseits in der M"oglichkeit der -dynamischen Notenplazierung (z.B. -der automatisierte Umbruch von Notenzeilen). - - -\subsubsubheading{Verwendung eines Textsatzsystems f"ur den Notensatz} -Aus der Benutzung des Programmsystems zum Satz mathematischer Texte von -D. E. Knuth, genannt \TeX, am hiesigen Institut erwuchs das Interesse, -dessen M"oglichkeiten f"ur den Notensatz zu verwenden. -Dieses Textsatzsystem zeichnet sich aus durch einen -qualitativ hochwertigen Algorithmus zum -Umbruch von Zeilen und durch einen weitgehend zeilenungebundenen Satz -von mathematischen Formeln. -Eine von \TeX\ zu verarbeitende -Eingabedatei besteht dabei aus Texten, die mit Hilfe von zus"atzlich -einzugebenden sogenannten ``Kontrollsequenzen'' (dies sind in der -Hauptsache Satzanweisungen) formatiert werden k"onnen. -Der Benutzer kann dabei -auch aus bereits bekannten Kontrollsequenzen eigene zusammenstellen und -benennen. Dadurch entsteht eine neue Kontrollsequenz, das sogenannte -``Makro''. Mehrere solcher Makros k"onnen zu einem sogenannten ``Format'' -zusammengefa\3t werden. Dies erm"oglicht es, Texte nach eigenen -Vorstellungen zu gestalten. - -Die grundlegende Frage zu Beginn dieser Arbeit war es, ob es m"oglich -ist, ein Textsatzsystem zur L"osung des Notensatzproblems -einzusetzen, - das unter anderem darin besteht, -die umfangreichen Notations- und Satzregeln zu programmieren. - -Es wird gezeigt, da\3 eine Erweiterung zu einem Notensatzsystem -m"oglich ist, ohne das zugrunde gelegte Programm zu "andern. - -Um das entwickelte System -benutzbar zu machen, wurde eine eigene Eingabesprache entwickelt, denn -die \TeX-Eingabe selbst ist sehr aufwendig, -da man -die Notenschrift nicht als fortlaufenden Text eingeben kann, sondern nur -Kontrollsequenzen verwenden mu\3. -Dazu wurde ein "Ubersetzungsprogramm angefertigt, das zus"atzlich zu der -Transformation der Eingabesprache in \TeX\ auch noch einige -Notensatzregeln umsetzt, zum Beispiel die Bestimmung der -Notenhalsrichtung bei Akkorden und Balkengruppen. -Die Eingabesprache wird im ersten Teil -dieser Arbeit entwickelt --- die Beschreibung des -dazugeh"origen "Ubersetzungsprogramms ist als Anhang B angef"ugt ---, - w"ahrend im zweiten Teil die Verfahren zur -Ausf"uhrung der Satzregeln hergeleitet werden. -In der Literatur nicht beschriebene Verfahren werden entwickelt. - - -Ein erstes Ergebnis war der einstimmige Notensatz in -\disp{einem} System (im Sinne der Musiktheorie, s.a. Kapitel 7), -der noch am ehesten dem Textsatz "ahnelt. Das Hauptproblem -bei der Notation und beim Satz -mehrerer zusammengefa\3ter Systeme ist, da\3 die horizontale Plazierung -eines Elementes der Notenschrift nicht mehr eindimensional entscheidbar, -sondern abh"angig vom zweidimensionalen Umfeld ist. Ein Problem dieser -Art ist im Textsatz unbekannt. -Es kann jedoch eine mehrstimmige Notation in einem System erreicht -werden. - -Alle in dieser Arbeit aufgef"uhrten Notenbeispiele wurden -durch das Satzsystem erzeugt und konnten in den laufenden -Text eingegliedert werden -(Ausnahme: Das in 11.2.1 angef"uhrte Beispiel wurde aus der Arbeit von -D. A. Gomberg \lit{\gomb} entnommen.) -Weitere (l"angere) Notenbeispiele -finden sich in Anhang A. -Das "Ubersetzungsprogramm wurde als Anhang B in die Arbeit -aufgenommen, die Syntax der Eingabesprache als Anhang C und -die verwendeten Zeichens"atze in Anhang D. -Das entwickelte Format und die \mf-Programme der Zeichens"atze -wurden aus Kostengr"unden nicht an -diese Arbeit angef"ugt, k"onnen jedoch zusammen mit den Fonts auf -Anfrage auf Diskette zugeschickt werden. - -Das entwickelte Notensatzsystem erreicht eine -publikationsf"ahige Qualit"at und ist f"ur -satzunkundige Benutzer wie f"ur Benutzer -mit festen Vorstellungen vom Layout -geeignet. Es bleibt im Hinblick auf -zeitgen"ossische Musik erweiterbar und erm"oglicht die Einbettung von -Musikst"ucken in Text. - -\vfill\eject diff --git a/macros/mtex/documentation/mdocinh.tex b/macros/mtex/documentation/mdocinh.tex deleted file mode 100644 index f2568f4a1d..0000000000 --- a/macros/mtex/documentation/mdocinh.tex +++ /dev/null @@ -1,91 +0,0 @@ -\heading{Inhaltsverzeichnis} -% -\message{Seitennummern muessen per Hand angepasst werden!} -\message{(in Datei MDOCINH.TEX)} -% -{\tabskip 0pt plus 1fil -\halign to\hsize {\quad\bf#\hfil\quad&\hbox to 14cm{#\dotfill}% -&\quad\bf\hfil#\cr -&\bf Einleitung &1\cr -&\rm Geschichtliche Entwicklung des Handnotensatzes im "Uberblick &1\cr -&\rm Entwicklung des automatisierten Notensatzes &1\cr -&\rm Verwendung eines Textsatzsystems f"ur den Notensatz &2\cr -\cr -\noalign{{\bf Teil 1: Ein Verfahren zur Notenschrifteingabe\par}} -\cr -1&\bf Noteneingabesprachen im Zusammenhang mit dem automatisierten -&5\cr -%Notensatz&5\cr -1.1&\rm Problematik des automatisierten Notensatzes &5\cr -1.2&\rm Einsatz des Textsatzsystems \TeX\ f"ur den Notensatz &6\cr -1.3&\rm Grundlegende Anforderungen an ein Verfahren zur Noteneingabe -&8\cr -1.4&\rm Er"orterung und Vergleich vorhandener Eingabeverfahren -&9\cr -\cr -2&\bf Formale Darstellung der Noteneingabesprache&17\cr -2.1&\rm Theoretische Grundlagen &17\cr -2.2&\rm Die Syntax der Noteneingabesprache in Backus--Naur--Form &22\cr -\cr -3&\bf Semantische Struktur der Noteneingabesprache&31\cr -3.1&\rm Eingabe eines Tons &31\cr -3.2&\rm Pausen, Atemzeichen und Taktstriche &33\cr -3.3&\rm Notengruppen &33\cr -3.4&\rm Anfang und Ende eines Musikst"ucks &35\cr -3.5&\rm Tonh"ohe, Rhythmus, Vortragsbezeichnungen &35\cr -3.6&\rm Ein-- oder mehrstimmige St"ucke in einem System &37\cr -3.7&\rm Mehrstimmige St"ucke in mehreren Systemen &38\cr -3.8&\rm Allgemeine Anweisungen &39\cr -\cr -\noalign{{\bf Teil 2: Verfahren zur Notenschriftausgabe\par}} -\cr -4&\bf Anforderungen an das Notensatzsystem &41\cr -4.1&\rm Arbeitsschritte beim manuellen Notensatz &41\cr -4.2&\rm Anforderungen f"ur den automatisierten Notensatz &41\cr -4.3&\rm Vor"uberlegungen &42\cr -\cr -5&\bf \TeX \ - Konzepte &45\cr -5.1&\rm Basiselemente &45\cr -5.2&\rm Verfahren zum Ausschlu\3 einer Box auf gew"unschte Breite bzw. H"ohe -&47\cr -5.3&\rm Der Zeilenumbruchalgorithmus &53\cr -5.4&\rm Der Seitenumbruch &57\cr -\cr -\cr\cr%\noalign{\goodbreak} -6&\bf R"aumliche Einteilung des Notenblattes &59\cr -6.1&\rm Satz- und Notationsregeln zur r"aumlichen Einteilung &59\cr -6.2&\rm Ausf"uhrung des Absteckens &61\cr -\cr -7&\bf Punktierung bei einstimmigem Notensatz &67\cr -7.1&\rm Regeln zur Bestimmung des Ausschlusses &67\cr -7.2&\rm Ausf"uhrung des Punktierens &69\cr -\cr -8&\bf Setzen der Notenschriftelemente &73\cr -8.1&\rm Regeln zur Notation der Notenschriftelemente &73\cr -8.2&\rm Das Setzen der Notenschriftelemente &75\cr -\cr -9&\bf Der Balken- und Bogensatz &81\cr -9.1&\rm Entwicklung des Verfahrens zur Verbalkung &81\cr -9.2&\rm Entwicklung eines Verfahrens zur Phrasierung &87\cr -9.3&\rm Ausf"uhrung des Balken- und Bogensatzes &91\cr -\cr -10&\bf Einf"ugen von Texten und Spielanweisungen &95\cr -10.1&\rm Regeln f"ur das Einf"ugen von Texten &95\cr -10.2&\rm Textunterlage &96\cr -10.3&\rm Positionierung der Artikulationszeichen &97\cr -\cr -11&\bf Mehrstimmiger Notensatz &99\cr -11.1&\rm Regeln f"ur die mehrstimmige Notation &99\cr -11.2&\rm Vertikale Ausrichtung bei D.A. Gomberg &100\cr -11.3&\rm Ausf"uhrung des zweistimmigen Setzens &101\cr -\cr -12&\bf Zusammenfassung &103\cr -\cr -13&\bf Literatur &105\cr -\cr - &\bf Anhang A: Beispiele &107\cr - &\bf Anhang B: Das "Ubersetzungsprogramm &115\cr - &\bf Anhang C: Darstellung der Syntax in Backus--Naur--Form &137\cr - &\bf Anhang D: Zeichens"atze &141\cr}} - -\vfill\eject diff --git a/macros/mtex/documentation/mdocpic1.tex b/macros/mtex/documentation/mdocpic1.tex deleted file mode 100644 index d8f692ffa8..0000000000 --- a/macros/mtex/documentation/mdocpic1.tex +++ /dev/null @@ -1,34 +0,0 @@ - -\centerline{ - \beginpicture - \setcoordinatesystem units <1.0cm,1.0cm> - \setlinear - \setdots % speed up PiCTeX -% - \put {$A$} [b] <0mm,1.5mm> at 3.0 2.5 - \put {$\bullet$} at 3.0 2.5 -% - \put {$v_1$} [t] <0mm,-1.5mm> at 0.0 0.0 - \put {$\bullet$} at 0.0 0.0 - \plot 0.0 0.0 3.0 2.5 / -% - \put {$v_2$} [t] <0mm,-1.5mm> at 1.0 0.0 - \put {$\bullet$} at 1.0 0.0 - \plot 1.0 0.0 3.0 2.5 / -% - \put {$\bullet$} at 2.5 0.0 - \plot 2.5 0.0 3.0 2.5 / -% - \put {$\bullet$} at 3.5 0.0 - \plot 3.5 0.0 3.0 2.5 / -% - \put {$\bullet$} at 4.5 0.0 - \plot 4.5 0.0 3.0 2.5 / -% - \put {$v_n$} [t] <0mm,-1.5mm> at 6.0 0.0 - \put {$\bullet$} at 6.0 0.0 - \plot 6.0 0.0 3.0 2.5 / -% - \endpicture -} - diff --git a/macros/mtex/documentation/mdocpic2.tex b/macros/mtex/documentation/mdocpic2.tex deleted file mode 100644 index b7b4130e01..0000000000 --- a/macros/mtex/documentation/mdocpic2.tex +++ /dev/null @@ -1,45 +0,0 @@ - -\centerline{ - \beginpicture - \setcoordinatesystem units <1mm,1mm> - \setlinear -% - \putrule from 0 00 to 40 00 - \putrule from 0 04 to 40 04 - \putrule from 0 08 to 40 08 - \putrule from 0 12 to 40 12 - \putrule from 0 16 to 40 16 - \setsolid - \put {$\bigcirc$} [rt] at 25 8 %Notenkopf rechts - \putrule from 25 6 to 25 20 %Notenhals rechts - \putrule from 9 -4 to 16 -4 %kurze Notenlinie - \put {$\bigcirc$} [rt] at 15 -4 %Notenkopf links - \putrule from 15 -6 to 15 8 %Notenhals links - \setdots <1mm> - \putrule from 15 8 to 15 14 %Notenhals Verlaengerung links - \setsolid - \putrule from 15 -12 to 25 -12 % Beschriftung unten - \putrule from 15 -11 to 15 -13 - \putrule from 25 -11 to 25 -13 - \put {$h$} [t] at 20 -13 - \putrule from -4 14 to -4 20 % Beschriftung links - \putrule from -3 14 to -5 14 - \putrule from -3 20 to -5 20 - \put {$\epsilon\cdot h$} [rB] at -5 15 - \setdashes - \putrule from -2 20 to 25 20 %hilfslinien - \putrule from -2 14 to 15 14 - \setdots - \plot 10 2 30 26 / % Balken-Gerade gepunktet - \setdots <0.5mm> - \plot 15 14 25 20 / % Balken - \plot 15 13 25 19 / - \plot 15 12 25 18 / - \circulararc 30 degrees from 17 20 center at 25 20 % Winkel - \setsolid - \putrule from 19 18 to 19 22 - \put {$\alpha$} [b] at 19 23 -% - \endpicture -} - diff --git a/macros/mtex/documentation/mdocpic3.tex b/macros/mtex/documentation/mdocpic3.tex deleted file mode 100644 index b234d0bf0c..0000000000 --- a/macros/mtex/documentation/mdocpic3.tex +++ /dev/null @@ -1,46 +0,0 @@ - -\centerline{ - \beginpicture - \setcoordinatesystem units <1mm,1mm> - \setlinear -% - \putrule from 0 00 to 60 00 - \putrule from 0 04 to 60 04 - \putrule from 0 08 to 60 08 - \putrule from 0 12 to 60 12 - \putrule from 0 16 to 60 16 - \setsolid - \put {$\bigcirc$} [rt] at 10 2 %Notenkopf 1 - \putrule from 10 0 to 10 14 %Notenhals 1 - \setdots <1mm> - \putrule from 10 14 to 10 23.5 %Notenhals Verlaengerung 1 - \setsolid - \put {$\bigcirc$} [rt] at 20 12 %Notenkopf 2 - \putrule from 20 10 to 20 22 %Notenhals 2 - \setdots <1mm> - \putrule from 20 22 to 20 25 %Notenhals Verlaengerung 2 - \setsolid - \put {$\bigcirc$} [rt] at 30 4 %Notenkopf 3 - \putrule from 30 2 to 30 16 %Notenhals 3 - \setdots <1mm> - \putrule from 30 16 to 30 26.5 %Notenhals Verlaengerung 3 - \setsolid - \put {$\bigcirc$} [rt] at 40 20 %Notenkopf 4 - \putrule from 40 18 to 40 28 %Notenhals 4 - % hier keine Verlaengerung - \put {$\bigcirc$} [rt] at 50 8 %Notenkopf 5 - \putrule from 50 6 to 50 20 %Notenhals 5 - \setdots <1mm> - \putrule from 50 20 to 50 29.5 %Notenhals Verlaengerung 5 - \setsolid -% - \setdots - \plot 0 12.5 60 21.5 / % Balken-Gerade gepunktet - \setdots <0.5mm> - \plot 10 23.5 50 29.5 / % Balken - \plot 10 22.5 50 28.5 / - \plot 10 21.5 50 27.5 / -% - \endpicture -} - diff --git a/macros/mtex/documentation/mdocpic4.tex b/macros/mtex/documentation/mdocpic4.tex deleted file mode 100644 index 4a25fb53e3..0000000000 --- a/macros/mtex/documentation/mdocpic4.tex +++ /dev/null @@ -1,24 +0,0 @@ - -\centerline{ - \beginpicture - \setcoordinatesystem units <1mm,1mm> - \setlinear -% - \setdots <1mm> - \setlinear - \plot 0 0 60 20 / - \put {$\bullet$} at 0 0 - \put {$A_1$} [rt] at -1 0 - \put {$\bullet$} at 60 20 - \put {$E_n$} [lt] at 61 20 - \setquadratic - \plot 0 0 30 20 60 20 / - \setlinear - \plot 30 10 30 16 / - \put {$\epsilon$} [rb] at 29 11 - \setdots - \plot 0 6 60 26 / -% - \endpicture -} - diff --git a/macros/mtex/documentation/mdoctit.tex b/macros/mtex/documentation/mdoctit.tex deleted file mode 100644 index 5df13080fc..0000000000 --- a/macros/mtex/documentation/mdoctit.tex +++ /dev/null @@ -1,15 +0,0 @@ -\hbox{ } -\vskip3cm -\centerline{\hugem Automatisierter Notensatz mit \TeX} -\vskip5cm -\centerline{von} -\vskip1cm -\centerline{Angelika Schofer und Andrea Steinbach} -\vskip1cm -\centerline{Rheinische Friedrich--Wilhelms--Universit"at} -\vskip.5cm -\centerline{Bonn} -\vskip1cm -\centerline{August 1987} - -\vfill\eject diff --git a/macros/mtex/documentation/mdoctrns.tex b/macros/mtex/documentation/mdoctrns.tex deleted file mode 100644 index 6990fb99ad..0000000000 --- a/macros/mtex/documentation/mdoctrns.tex +++ /dev/null @@ -1,1201 +0,0 @@ -%format plaine -\input webmac -\newdimen\pageheight \pageheight=25cm -\newdimen\pagewidth \pagewidth=16cm -\advance\topskip by 3mm -\parindent0pt -\frenchspacing -\def\_{\us} -\def\8{\char25{}} -\catcode`\"=\active %Umlaute -\def"{\accent'177} -\openup -3pt - -\N1. Anhang B: Definitionen. - -\fi - -\M2. One of the extensions to standard \\{pascal} that we shall deal with -is to use a default \&{case} as in \\{tangle}, \\{weave}, etc. - -\Y\P\D \37$\\{othercases}\S\\{otherwise}$\C{default for cases not listed -explicitly}\par -\P\D \37$\\{endcases}\S$ \6 -\&{end} \C{follows the default case}\par -\P\F \37$\\{othercases}\S\\{else}$\par -\P\F \37$\\{endcases}\S\\{end}$\par -\fi - -\M3. Folgende Definitionen sind Abk"urzungen f"ur den Befehl, eine Meldung -gleichzeitig auf den Bildschirm und in eine Datei zu schreiben. - -\Y\P\D \37$\\{writeln\_error}(\#)\S\\{writeln}(\\{err},\39\#)$;\5 -$\\{writeln}(\\{outterm},\39\#)$\par -\P\D \37$\\{write\_error}(\#)\S\\{write}(\\{err},\39\#)$;\5 -$\\{write}(\\{outterm},\39\#)$\par -\fi - -\N4. Anhang B: Heading und Funktion getchar. - -\fi - -\M5. Programmkopf und Variablendeklarationen\par -Das Programm hat vier Textfiles als Parameter. \\{infile} enth"alt die -Eingabedaten in der entwickelten Noten\-ein\-ga\-be\-sprache. Nach der -Bearbeitung durch das vorliegende Programm werden die Daten in eine -f"ur die Notenausgabe ben"otigte Datei \\{outfile} geschrieben. -Syntax-Fehler in der Eingabedatei werden mit Hilfe von -\\{outterm} auf dem Terminal angezeigt und gleichzeitig in die -Datei \\{err} geschrieben. Mit \\{interm} sind -Eingaben vom Terminal m"oglich. - -\Y\P\4\&{program}\1\ \37$\\{trans}(\\{infile},\39\\{outfile},\39\\{err},\39% -\\{outterm},\39\\{interm})$; \6 -\4\&{label} \X18:Labels\X \6 -\4\&{type} \X44:New type\X \6 -\4\&{var} \37\X6:Files\X\X7:Globals\X\X8:Function getchar\X\X31:Procedure -newline music\X\X62:Procedure error\X\X21:Function ausruf\X\X67:Procedure macro% -\X\X65:Procedure backslash\X\X33:Procedure nonmusic\X\X35:Procedure music\X\par -\fi - -\M6. In diesem Teil sind die ben"otigten Textfiles deklariert. - -\Y\P$\4\X6:Files\X\S$\6 -\4\\{infile}: \37\\{text};\6 -\4\\{outfile}: \37\\{text};\6 -\4\\{outterm}: \37\\{text};\6 -\4\\{interm}: \37\\{text};\6 -\4\\{err}: \37\\{text};\par -\U section~5.\fi - -\M7. Es folgt nun die Einleseroutine \\{get\_char} -und die Deklaration -der daf"ur ben"otigten Variablen. -\\{get\_char} ist eine function, die auf die folgenden Weise -an das Programm das n"achste Zeichen - einen Character - -zur"uckgibt. -\par -Die Eingabedatei \\{infile} wird zeilenweise abgearbeitet. Jede neue -Zeile wird auf den string \\{in\_line} eingelesen, der wiederum auf -den array \\{buffer} kopiert wird. Dieses Feld enth"alt gleichzeitig -drei Zeilen der Eingabedatei: die letzte abgearbeitete Zeile der -L"ange \\{last\_line\_length}; die Zeile, die gerade bearbeitet wird -- sie hat die L"ange \\{actual\_line\_length} - und die Zeile, die als -n"achstes gelesen werden soll mit der L"ange \\{next\_line\_length}. -Die Variable \\{line\_ptr} gibt dabei immer an, wie weit die -\\{actual\_line} abgearbeitet ist. \par -Falls das Ende dieser Zeile -erreicht ist, werden die Zeilen im \\{buffer} nach links geschoben. -Die \\{last\_line} wird durch die \\{actual\_line}, die \\{actual\_line} durch -die \\{next\_line} und die \\{next\_line} durch eine neue \\{in\_line} -ersetzt. -Bei einem Zeilenwechsel wird die Variable \\{change} auf true -gesetzt, ansonsten hat sie den Wert false. -\par -Mit Hilfe der character-Variablen \\{sign} wird jeweils das n"achste -Zeichen einer Zeile an das Programm "ubergeben. -Die gelesenen Zeilen werden mit \\{line\_num} gez"ahlt. -Beim ersten Einlesen von der Datei \\{in\_file} kann das -``Weiterschieben'' im \\{buffer} unterbleiben, deshalb gibt es -daf"ur eine gesonderte Abfrage. -Gesondert werden ebenfalls die F"alle $\\{inline\_length}=0$ und -$\\{actual\_line\_length}=0$ behandelt. Im ersten Fall wird der Teil des -\\{buffer}, der nicht belegt ist, mit blanks besetzt, um falsche -Belegung von \\{sign} zu vermeiden, im zweiten Fall erh"alt -\\{get\_char} den Wert \.{\'\ \'}. -\par -\noindent\\{eof\_infile} zeigt an, wenn die Eingabedatei einschlie\8lich -der letzten Zeile abgearbeitet ist. Diese Variable ist -notwendig, weil das Ende der Datei mit dem Lesen der letzten Zeile -auf \\{in\_line} erreicht ist, diese dann aber noch abgearbeitet -werden mu\8. - - - -\Y\P$\4\X7:Globals\X\S$\6 -\4\\{buffer}: \37\&{array} $[1\to240]$ \1\&{of}\5 -\\{char};\2\6 -\4\\{in\_line}: \37$\\{string}(80)$;\6 -\4\\{sign}: \37\\{char};\6 -\4\\{last\_line\_length}: \37\\{integer};\6 -\4\\{actual\_line\_length}: \37\\{integer};\6 -\4\\{next\_line\_length}: \37\\{integer};\6 -\4\\{inline\_length}: \37\\{integer};\6 -\4\\{line\_ptr}: \37\\{integer};\6 -\4\\{line\_num}: \37\\{integer};\6 -\4\\{eof\_infile}: \37\\{boolean};\6 -\4\\{change}: \37\\{boolean};\par -\A sections~17, 20, 36, 39, 41, 45, 50, 57, and~61. -\U section~5.\fi - -\M8. - -\Y\P$\4\X8:Function getchar\X\S$\6 -\4\&{function}\1\ \37\\{get\_char}: \37\\{char};\6 -\4\&{var} \37\|j: \37\\{integer};\2\6 -\&{begin} \37\&{if} $\\{line\_num}=0$ \1\&{then}\6 -\&{begin} \37\&{if} $\R\\{eof}(\\{infile})$ \1\&{then}\6 -\&{begin} \37\X9:Lesen der n"achsten Zeile von infile\X;\6 -\X10:Einlesen der neuen Zeile in den buffer\X;\6 -\&{end}\6 -\4\&{else} \&{goto} \3710;\2\6 -\&{end};\2\6 -\&{if} $\\{line\_ptr}>\\{last\_line\_length}+\\{actual\_line\_length}$ \1% -\&{then}\6 -\&{begin} \37\X11:Neubelegung der \\{actual\_line} durch \\{next\_line}, -Zeilenwechsel\X;\6 -$\\{get}(\\{infile})$;\6 -\&{if} $\R\\{eof}(\\{infile})$ \1\&{then}\6 -\&{begin} \37\X9:Lesen der n"achsten Zeile von infile\X;\6 -\&{if} $\\{inline\_length}=0$ \1\&{then}\6 -\&{begin} \37\X12:\\{in\_line} ist Leerzeile bzw. existiert nicht\X;\6 -\&{end}\6 -\4\&{else} \&{begin} \37\X10:Einlesen der neuen Zeile in den buffer\X;\6 -\&{end};\2\6 -\&{end}\6 -\4\&{else} \&{begin} \37\X12:\\{in\_line} ist Leerzeile bzw. existiert nicht\X;% -\6 -\&{end};\2\6 -$\\{line\_ptr}\K\\{last\_line\_length}+1$;\6 -\&{end}\6 -\4\&{else} \&{begin} \37\X13:Kein Zeilenwechsel\X;\6 -\&{end};\2\6 -\&{if} $\\{actual\_line\_length}=0$ \1\&{then}\6 -\&{begin} \37\X14:\\{actual\_line} ist Leerzeile\X;\6 -\&{end}\6 -\4\&{else} \&{begin} \37\X15:Zeichen lesen\X;\6 -\&{end};\2\6 -$\\{line\_ptr}\K\\{line\_ptr}+1$;\5 -$\\{eof\_infile}\K(\\{eof}(\\{infile})\W(\\{line\_ptr}>\\{last\_line\_length}+% -\\{actual\_line\_length}))$;\6 -\&{end};\par -\U section~5.\fi - -\M9. Es wird eine neue Zeile aus der Eingabedatei \\{infile} gelesen. -"Uberfl"ussigen blanks werden entfernt. - -\Y\P$\4\X9:Lesen der n"achsten Zeile von infile\X\S$\6 -$\\{read}(\\{infile},\39\\{in\_line})$;\5 -$\\{in\_line}\K\\{ltrim}(\\{in\_line})$;\5 -$\\{in\_line}\K\\{trim}(\\{in\_line})$;\5 -$\\{in\_line}\K\\{compress}(\\{in\_line})$;\5 -$\\{inline\_length}\K\\{length}(\\{in\_line})$;\par -\U sections~8 and~8.\fi - -\M10. Die neue Zeile wird in den string \\{buffer} gelesen. - -\Y\P$\4\X10:Einlesen der neuen Zeile in den buffer\X\S$\6 -\&{for} $\|j\K1\mathrel{\&{to}}\\{inline\_length}$ \1\&{do}\5 -$\\{buffer}[\\{actual\_line\_length}+\\{next\_line\_length}+\|j]\K\\{in\_line}[% -\|j]$;\2\6 -$\\{last\_line\_length}\K\\{actual\_line\_length}$;\5 -$\\{actual\_line\_length}\K\\{next\_line\_length}$;\5 -$\\{next\_line\_length}\K\\{inline\_length}$;\par -\U sections~8 and~8.\fi - -\M11. Die \\{actual\_line} im \\{buffer} wird mit einer neuen Zeile, n"amlich -der \\{next\_line} belegt. Auf \\{last\_line} wird die vorherige \\{actual% -\_line} -geschrieben. \\{change} wird true, da ein Zeilenwechsel -stattfindet. - -\Y\P$\4\X11:Neubelegung der \\{actual\_line} durch \\{next\_line}, -Zeilenwechsel\X\S$\6 -\&{for} $\|j\K1\mathrel{\&{to}}\\{actual\_line\_length}$ \1\&{do}\5 -$\\{buffer}[\|j]\K\\{buffer}[\\{last\_line\_length}+\|j]$;\2\6 -\&{for} $\|j\K1\mathrel{\&{to}}\\{next\_line\_length}$ \1\&{do}\5 -$\\{buffer}[\\{actual\_line\_length}+\|j]\K\\{buffer}[\\{last\_line\_length}+% -\\{actual\_line\_length}+\|j]$;\2\6 -$\\{line\_num}\K\\{line\_num}+1$;\5 -$\\{change}\K\\{true}$;\par -\U section~8.\fi - -\M12. \\{in\_line} ist eine Leerzeile. - -\Y\P$\4\X12:\\{in\_line} ist Leerzeile bzw. existiert nicht\X\S$\6 -\&{for} $\|j\K\\{actual\_line\_length}+\\{next\_line\_length}+1\mathrel{% -\&{to}}240$ \1\&{do}\5 -$\\{buffer}[\|j]\K\.{\'\ \'}$;\2\6 -$\\{last\_line\_length}\K\\{actual\_line\_length}$;\5 -$\\{actual\_line\_length}\K\\{next\_line\_length}$;\5 -$\\{next\_line\_length}\K0$;\par -\U sections~8 and~8.\fi - -\M13. Es findet kein Zeilenwechsel statt, da das Ende der \\{actual\_line} noch -nicht erreicht ist: \\{change} ist false. - -\Y\P$\4\X13:Kein Zeilenwechsel\X\S$\6 -$\\{change}\K\\{false}$;\par -\U section~8.\fi - -\M14. Die \\{actual\_line} ist eine Leerzeile. Da ein Wert an das Programm -zur"uckgegeben werden mu\8, erh"alt \\{get\_char} den Wert \.{\'\ \'}. - -\Y\P$\4\X14:\\{actual\_line} ist Leerzeile\X\S$\6 -$\\{get\_char}\K\.{\'\ \'}$;\par -\U section~8.\fi - -\M15. Ist der \\{buffer} richtig belegt, so kann das n"achste Zeichen auf -\\{get\_char} eingelesen werden. - -\Y\P$\4\X15:Zeichen lesen\X\S$\6 -$\\{get\_char}\K\\{buffer}[\\{line\_ptr}]$;\par -\U section~8.\fi - -\N16. Anhang B: Hauptprogramm und Function ausruf. - -\fi - -\M17. Hauptprogramm\par -Im Hauptprogramm werden die oben definierten Textfiles zum Lesen bzw. -Schreiben ge"offnet. Solange das Ende der Eingabedatei nicht -erreicht ist, wird mit der Variablen \\{music\_num} -unterschieden, ob gerade eine Noteneingabe ($\\{music\_num}=\\{true}$) -oder eine -Texteingabe ($\\{music\_num}=\\{false}$) bearbeitet wird. -Je nachdem wird entweder die Routine \\{nonmusic} oder \\{music} aufgerufen. -Texteingaben werden so wie sie in der Eingabedatei stehen in -die Ausgabedatei \\{outfile} geschrieben, also Zeile f"ur Zeile. -Noteneingaben werden in eine -andere Form gebracht. - -Falls innerhalb einer Routine das Ende der Eingabedatei erreicht -wird, soll das Programm beendet werden. An der entsprechenden Stelle -in der Routine wird dann auf das Label 10 verwiesen. - -\Y\P$\4\X7:Globals\X\mathrel{+}\S$\6 -\4\\{music\_num}: \37\\{boolean};\par -\fi - -\M18. Labeldeklaration -\Y\P$\4\X18:Labels\X\S$\6 -10;\par -\U section~5.\fi - -\M19. Hauptprogramm. - -\Y\P\&{begin} \37$\\{termout}(\\{outterm})$;\5 -$\\{termin}(\\{interm})$;\5 -\X59:Setze die default-Werte\X;\6 -$\\{reset}(\\{infile})$;\5 -$\\{rewrite}(\\{outfile})$;\5 -$\\{rewrite}(\\{err})$;\5 -$\\{eof\_infile}\K(\\{eof}(\\{infile})\W(\\{line\_ptr}>\\{last\_line\_length}+% -\\{actual\_line\_length}))$;\6 -\&{while} $\R(\\{eof\_infile})$ \1\&{do}\6 -\&{begin} \37\&{case} $\\{music\_num}$ \1\&{of}\6 -\4\\{false}: \37\\{nonmusic};\6 -\4\\{true}: \37\\{music};\6 -\4\&{othercases} \37;\2\6 -\&{endcases};\6 -\&{end};\2\6 -\410: \37\&{end}.\par -\fi - -\M20. Routine, die den Wechsel zwischen Noteneingabe und Texteingabe -anzeigt\par -Die Funktion berechnet als Wert, ob sich der mode ge"andert hat -oder nicht. -Ein Wechsel des Modes wird durch zwei aufeinanderfolgende -Ausrufezeichen angezeigt. Die Routine wird also aufgerufen, -sobald ein Ausrufezeichen gelesen wurde. Dann mu\8 -"uberpr"uft werden, ob ein zweites Ausrufezeichen folgt oder nicht. -\par -An die Routine wird der Wert von \\{change} "ubergeben, da es -f"ur das Schreiben in \\{outfile} f"ur allem bei Texteingabe -notwendig ist, "uber einen Zeilenwechsel Bescheid zu wissen. -\par -Falls es "uberhaupt kein n"achstes Zeichen gibt, also das -Ende der Eingabedatei erreicht wurde, wird bei einer Texteingabe -($\\{music\_num}=\\{false}$) -das gelesene Zeichen -in die Ausgabedatei \\{outfile} geschrieben; bei einer Noteneingabe -zeigt das Ausrufezeichen das Ende an.\par -Falls das n"achste Zeichen kein Ausrufezeichen ist, werden im -Fall $\\{music\_num}=\\{false}$ das Ausrufezeichen und das neu gelesene Zeichen -in \\{outfile} geschrieben. F"ur $\\{music\_num}=\\{true}$ wird angenommen, da% -\8 -das zweite Ausrufezeichen vergessen wurde, also ein Wechsel -in den nonmusic-mode stattfindet. Das neu gelesene Zeichen wird -dann - als erstes Zeichen der Texteingabe - -in eine neue Zeile von \\{outfile} geschrieben. -\par -Der dritte Fall ist, da\8 es sich bei dem neuen Zeichen um ein -Ausrufezeichen handelt. Dann findet ein mode-Wechsel statt. -\par\noindent -\\{w\_column} ist die Variable, die anzeigt, in welche Spalte von \\{outfile} -geschrieben wird. - - -\Y\P$\4\X7:Globals\X\mathrel{+}\S$\6 -\4\\{w\_column}: \37\\{integer};\par -\fi - -\M21. - -\Y\P$\4\X21:Function ausruf\X\S$\6 -\4\&{function}\1\ \37$\\{ausruf}(\\{help}:\\{boolean})$: \37\\{boolean};\2\6 -\&{begin} \37\&{if} $\R(\\{eof\_infile})$ \1\&{then}\5 -\X22:Lesen des n"achsten Zeichens\X\6 -\4\&{else} \X30:Ende der Eingabedatei erreicht\X;\2\6 -\&{end};\par -\U section~5.\fi - -\M22. Das n"achste Zeichen wird auf \\{sign} gelesen und "uberpr"uft, ob es -ein Ausrufezeichen ist oder nicht. - -\Y\P$\4\X22:Lesen des n"achsten Zeichens\X\S$\6 -\&{begin} \37$\\{sign}\K\\{get\_char}$;\6 -\&{if} $\\{sign}=\.{\'!\'}$ \1\&{then}\5 -\X23:Wechsel des modes\X\6 -\4\&{else} \X26:Kein Wechsel des modes\X\2\6 -\&{end}\par -\U section~21.\fi - -\M23. - -\Y\P$\4\X23:Wechsel des modes\X\S$\6 -\&{begin} \37\&{case} $\\{music\_num}$ \1\&{of}\6 -\4\\{false}: \37\X24:Wechsel in music mode\X;\6 -\4\\{true}: \37\X25:Wechsel in nonmusic mode\X;\6 -\4\&{othercases} \37;\2\6 -\&{endcases};\6 -\&{end}\par -\U section~22.\fi - -\M24. Beim Wechsel in den musicmode bzw. nonmusicmode wird jeweils eine -neue Zeile angefangen. - -\Y\P$\4\X24:Wechsel in music mode\X\S$\6 -\&{begin} \37\&{if} $\\{line\_num}>1$ \1\&{then}\5 -$\\{writeln}(\\{outfile})$;\2\6 -$\\{write}(\\{outfile},\39\.{\'\\beginsong\'})$;\5 -$\\{ausruf}\K\\{true}$;\5 -$\\{w\_column}\K10$;\6 -\&{end};\par -\U section~23.\fi - -\M25. - -\Y\P$\4\X25:Wechsel in nonmusic mode\X\S$\6 -\&{begin} \37$\\{newline\_music}(9)$;\5 -$\\{writeln}(\\{outfile},\39\.{\'\\endsong\'})$;\5 -$\\{w\_column}\K0$;\5 -$\\{ausruf}\K\\{false}$;\6 -\&{end};\par -\U section~23.\fi - -\M26. - -\Y\P$\4\X26:Kein Wechsel des modes\X\S$\6 -\&{begin} \37\&{case} $\\{music\_num}$ \1\&{of}\6 -\4\\{false}: \37\X27:Gelesene Zeichen schreiben\X;\6 -\4\\{true}: \37\&{begin} \37\X28:Ausrufezeichen fehlt\X;\6 -\X29:Ende musicmode, Zeichen schreiben\X;\6 -\&{end};\6 -\4\&{othercases} \37;\2\6 -\&{endcases};\6 -\&{end};\par -\U section~22.\fi - -\M27. Falls ein Zeilenwechsel beim Lesen des letzten Zeichens stattgefunden -hat, wird das Ausrufezeichen in die letzte Zeile von \\{outfile} -geschrieben, f"ur das neue Zeichen wird eine neue Zeile angefangen. -\par -Hat der Zeilenwechsel beim Lesen des Ausrufezeichens stattgefunden, -werden beide Zeichen in eine neue Zeile geschrieben. - -\Y\P$\4\X27:Gelesene Zeichen schreiben\X\S$\6 -\&{begin} \37\&{if} $\\{change}=\\{true}$ \1\&{then}\6 -\&{begin} \37$\\{writeln}(\\{outfile},\39\.{\'!\'})$;\5 -$\\{write}(\\{outfile},\39\\{sign})$;\6 -\&{end}\6 -\4\&{else} \&{begin} \37\&{if} $\\{help}=\\{true}$ \1\&{then}\6 -\&{begin} \37$\\{writeln}(\\{outfile})$;\5 -$\\{write}(\\{outfile},\39\.{\'!\'},\39\\{sign})$;\6 -\&{end}\6 -\4\&{else} $\\{write}(\\{outfile},\39\.{\'!\'},\39\\{sign})$;\2\6 -\&{end};\2\6 -$\\{ausruf}\K\\{false}$;\6 -\&{end};\par -\U section~26.\fi - -\M28. - -\Y\P$\4\X28:Ausrufezeichen fehlt\X\S$\6 -\&{if} $\\{change}=\\{true}$ \1\&{then}\5 -$\\{error}(\.{\'Fehlendes\ Ausrufezeichen\ gesetzt\'},\39\\{line\_num}-1)$\6 -\4\&{else} $\\{error}(\.{\'Fehlendes\ Ausrufezeichen\ gesetzt\'},\39\\{line% -\_num})$;\2\par -\U section~26.\fi - -\M29. - -\Y\P$\4\X29:Ende musicmode, Zeichen schreiben\X\S$\6 -$\\{ausruf}\K\\{false}$;\5 -$\\{newline\_music}(9)$;\6 -\&{if} $\\{eof}(\\{infile})$ \1\&{then}\6 -\&{begin} \37\&{if} $\\{actual\_line\_length}=0$ \1\&{then}\5 -$\\{write}(\\{outfile},\39\.{\'\\endsong\'})$\6 -\4\&{else} $\\{writeln}(\\{outfile},\39\.{\'\\endsong\'})$;\2\6 -\&{end}\6 -\4\&{else} $\\{writeln}(\\{outfile},\39\.{\'\\endsong\'})$;\2\6 -$\\{write}(\\{outfile},\39\\{sign})$;\5 -$\\{w\_column}\K1$;\par -\U section~26.\fi - -\M30. - -\Y\P$\4\X30:Ende der Eingabedatei erreicht\X\S$\6 -\&{begin} \37\&{if} $\\{music\_num}=\\{true}$ \1\&{then}\6 -\&{begin} \37$\\{newline\_music}(8)$;\5 -$\\{write}(\\{outfile},\39\.{\'\\endsong\'})$;\5 -$\\{error}(\.{\'Fehlendes\ Ausrufezeichen\ am\ Ende\ gesetzt\'},\39\\{line% -\_num})$;\6 -\&{end}\6 -\4\&{else} $\\{write}(\\{outfile},\39\.{\'!\'})$;\2\6 -$\\{ausruf}\K\\{music\_num}$;\5 -\&{goto} \3710;\6 -\&{end};\par -\U section~21.\fi - -\M31. F"ur das Schreiben in die Ausgabedatei wird f"ur den music-mode -eine weitere Routine ben"otigt, die berechnet, ob -eine neue Zeile in der Ausgabedatei begonnen werden mu\8. -F"ur den nonmusic-mode ist das nicht n"otig, da die Zeilen -so "ubernommen werden, wie sie in der Eingabedatei stehen. -"Ubergeben wird zur Berechnung die L"ange des zu schreibenden Worts. - -\Y\P$\4\X31:Procedure newline music\X\S$\6 -\4\&{procedure}\1\ \37$\\{newline\_music}(\\{word\_length}:\\{integer})$;\2\6 -\&{begin} \37$\\{w\_column}\K\\{w\_column}+\\{word\_length}$;\6 -\&{if} $\\{w\_column}\G70$ \1\&{then}\6 -\&{begin} \37$\\{write}(\\{outfile},\39\.{\'\%\'})$;\5 -$\\{writeln}(\\{outfile})$;\5 -$\\{w\_column}\K\\{word\_length}$;\6 -\&{end};\2\6 -\&{end};\par -\U section~5.\fi - -\N32. Anhang B: Prozedur nonmusic. - -\fi - -\M33. Prozedur, die normalen Text ausgibt, solange \\{music\_num} false ist. -Ein Zeilenwechsel im Ausgabefile findet statt, wenn die -Zeile in der Eingabedatei ebenfalls gewechselt wird. Falls -ein Ausrufezeichen eingelesen wird, mu\8 die Funktion \\{ausruf} -aufgerufen werden. - -\Y\P$\4\X33:Procedure nonmusic\X\S$\6 -\4\&{procedure}\1\ \37\\{nonmusic};\2\6 -\&{begin} \37\&{while} $\\{music\_num}=\\{false}$ \1\&{do}\6 -\&{begin} \37\&{if} $\R(\\{eof\_infile})$ \1\&{then}\6 -\&{begin} \37$\\{sign}\K\\{get\_char}$;\6 -\&{if} $\\{sign}=\.{\'!\'}$ \1\&{then}\5 -$\\{music\_num}\K\\{ausruf}(\\{change})$\6 -\4\&{else} \&{begin} \37\&{if} $\\{line\_num}=1$ \1\&{then}\5 -$\\{write}(\\{outfile},\39\\{sign})$\6 -\4\&{else} \&{begin} \37\&{if} $\\{change}=\\{false}$ \1\&{then}\5 -$\\{write}(\\{outfile},\39\\{sign})$\6 -\4\&{else} \&{begin} \37\&{if} $\\{w\_column}=0$ \1\&{then}\5 -$\\{write}(\\{outfile},\39\\{sign})$\6 -\4\&{else} \&{begin} \37$\\{writeln}(\\{outfile})$;\5 -$\\{write}(\\{outfile},\39\\{sign})$\6 -\&{end};\2\6 -\&{end};\2\6 -\&{end};\2\6 -\&{end};\2\6 -$\\{w\_column}\K\\{line\_ptr}-1$;\6 -\&{end}\6 -\4\&{else} \&{goto} \3710;\2\6 -\&{end};\2\6 -\&{end};\par -\U section~5.\fi - -\N34. Anhang B: Prozedur music. - - -\fi - -\M35. Prozedur, die Musikeingabe abarbeitet und abfragt, -um welches Zeichen es sich gerade handelt. -Dabei wird unterschieden, -ob es sich um eine Tonh"ohe , um eine Pause oder -Taktstrich, um erg"anzende Angaben zur -Tonh"ohe (z. B. Dauer, Vorzeichen, Oktave, Punkte), -um das Ende der Musikeingabe oder -um den Beginn -einer Kontrollsequenz (\\{backslash}) oder eines Kommentars handelt. - - - -\Y\P$\4\X35:Procedure music\X\S$\6 -\4\&{procedure}\1\ \37\\{music};\2\6 -\&{begin} \37\&{while} $\\{music\_num}=\\{true}$ \1\&{do}\6 -\&{begin} \37\&{if} $\R(\\{eof\_infile})$ \1\&{then}\6 -\&{begin} \37$\\{sign}\K\\{get\_char}$;\6 -\&{case} $\\{sign}$ \1\&{of}\6 -\X37:Zeichen ist Angabe zum Ton\X;\6 -\X38:Zeichen ist Tonh"ohe\X;\6 -\X51:Zeichen ist Pause oder Taktstrich\X;\6 -\X56:Zeichen bedeutet Ende der Musikeingabe\X;\6 -\X54:Zeichen ist Kommentar\X;\6 -\X55:Zeichen ist backslash\X;\6 -\4\&{othercases} \37;\2\6 -\&{endcases};\6 -\&{end}\6 -\4\&{else} \&{goto} \3710;\2\6 -\&{end};\2\6 -\&{end};\par -\U section~5.\fi - -\M36. Es folgen die Variablen, die f"ur die Prozedur \\{music} ben"otigt -werden. Die einzelnen Programmteile werden an den entsprechenden -Stellen erl"autert. - -\Y\P$\4\X7:Globals\X\mathrel{+}\S$\6 -\4\\{octave\_num}: \37\\{integer};\6 -\4\\{dot\_num}: \37\\{integer};\6 -\4\\{nat\_num}: \37\\{integer};\6 -\4\\{b\_num}: \37\\{integer};\6 -\4\\{x\_num}: \37\\{integer};\6 -\4\\{duration}: \37\\{char};\par -\fi - -\M37. In diesem Teil werden die f"ur die Note notwendigen Variablen -besetzt. -\\{octave\_num} z"ahlt die Hochkommata bzw. Kommata, -die zur Angabe der Oktave -eingegeben wurden. -Die Tondauer mu\8 f"ur den Ausgabefile mit einer Zahl angegeben -werden. Diese Belegung findet mit Hilfe von \\{duration} statt. -\\{dot\_num} z"ahlt die eingegebenen Punkte. -Etwaige Vorzeichen werden registriert. Da ein Doppelkreuz bzw. Doppel-be -durch zwei x bzw. b eingegeben wird, werden diese mit \\{x\_num} -bzw. \\{b\_num} gez"ahlt. - - -\Y\P$\4\X37:Zeichen ist Angabe zum Ton\X\S$\6 -\4\.{\',\'}: \37$\\{octave\_num}\K\\{octave\_num}-1$;\6 -\4\.{\'\'}\.{\'\'}: \37$\\{octave\_num}\K\\{octave\_num}+1$;\6 -\4\.{\'1\'}: \37$\\{duration}\K\.{\'g\'}$;\6 -\4\.{\'2\'}: \37$\\{duration}\K\.{\'h\'}$;\6 -\4\.{\'4\'}: \37$\\{duration}\K\.{\'v\'}$;\6 -\4\.{\'8\'}: \37$\\{duration}\K\.{\'a\'}$;\6 -\4\.{\'6\'}: \37$\\{duration}\K\.{\'s\'}$;\6 -\4\.{\'5\'}: \37$\\{duration}\K\.{\'z\'}$;\6 -\4\.{\'.\'}: \37$\\{dot\_num}\K\\{dot\_num}+1$;\6 -\4\.{\'b\'}: \37$\\{b\_num}\K\\{b\_num}+1$;\6 -\4\.{\'x\'}: \37$\\{x\_num}\K\\{x\_num}+1$;\6 -\4\.{\'n\'}: \37$\\{nat\_num}\K5$;\par -\U section~35.\fi - -\M38. Die oben -beschriebene Belegung ist beendet, sobald ein Notenname eingelesen -wird. -Dann wird die Oktave endg"ultig berechnet, -der Tonh"ohe wird -eine Zahl zugeordnet, die die Stellung der Note im Notenliniensystem -angibt und die Vorzeichen angegeben. Anschlie\8end wird die -Note in die Ausgabedatei \\{outfile} geschrieben. - -\Y\P$\4\X38:Zeichen ist Tonh"ohe\X\S$\6 -\4$\.{\'c\'},\39\.{\'d\'},\39\.{\'e\'},\39\.{\'f\'},\39\.{\'g\'},\39\.{\'a\'},% -\39\.{\'h\'}$: \37\&{begin} \37\X42:Berechnung der richtigen Oktave\X;\6 -\X40:Umsetzung der Tonh"ohe in eine Zahl\X;\6 -\X46:Gibt es ein Vorzeichen\X;\6 -\X48:Schreibe die gelesene Note\X;\6 -\X49:Schreibe die Punkte\X;\6 -\&{end};\par -\U section~35.\fi - -\M39. - -\Y\P$\4\X7:Globals\X\mathrel{+}\S$\6 -\4\\{pitchnum}: \37\\{integer};\par -\fi - -\M40. Das Liniensystem wird mit einer Numerierung versehen. Jedem Notennamen -wird dann mit der Variablen \\{pitchnum} die entsprechende Zahl zwischen --2 und 4 in Abh"angigkeit von der Lage -im Notenliniensystem zugeordnet. - -\Y\P$\4\X40:Umsetzung der Tonh"ohe in eine Zahl\X\S$\6 -\&{case} $\\{sign}$ \1\&{of}\6 -\4\.{\'c\'}: \37$\\{pitchnum}\K-2$;\6 -\4\.{\'d\'}: \37$\\{pitchnum}\K-1$;\6 -\4\.{\'e\'}: \37$\\{pitchnum}\K0$;\6 -\4\.{\'f\'}: \37$\\{pitchnum}\K1$;\6 -\4\.{\'g\'}: \37$\\{pitchnum}\K2$;\6 -\4\.{\'a\'}: \37$\\{pitchnum}\K3$;\6 -\4\.{\'h\'}: \37$\\{pitchnum}\K4$;\6 -\4\&{othercases} \37;\2\6 -\&{endcases};\par -\A section~43. -\U section~38.\fi - -\M41. - -\Y\P$\4\X7:Globals\X\mathrel{+}\S$\6 -\4\\{octave}: \37\\{integer};\par -\fi - -\M42. Nun wird die Oktave berechnet. Das ist wichtig f"ur -die n-gestrichene Oktave (n$>$0), da die eingestrichene Oktave -den Wert \\{octave}=0 erhalten soll, die zweigestrichene den Wert 1 usw. -Weil aber zun"achst die Hochkommas gez"ahlt wurden, ist eine -Zur"ucksetzung erforderlich. - -\Y\P$\4\X42:Berechnung der richtigen Oktave\X\S$\6 -\&{if} $\\{octave\_num}>0$ \1\&{then}\6 -\&{begin} \37$\\{octave}\K\\{octave\_num}-1$;\5 -$\\{octave\_num}\K0$;\6 -\&{end}\6 -\4\&{else} \&{begin} \37\&{if} $\\{octave\_num}<0$ \1\&{then}\6 -\&{begin} \37$\\{octave}\K\\{octave\_num}$;\5 -$\\{octave\_num}\K0$;\6 -\&{end}\2\6 -\&{end};\2\par -\U section~38.\fi - -\M43. Nun wird die Tonh"ohe unter Ber"ucksichtigung der -eben gesetzten Zahl \\{pitchnum} und der Oktave \\{octave} -endg"ultig berechnet. - -\Y\P$\4\X40:Umsetzung der Tonh"ohe in eine Zahl\X\mathrel{+}\S$\6 -\&{if} $(-3\L\\{octave})\W(\\{octave}\L3)$ \1\&{then}\5 -$\\{pitchnum}\K\\{pitchnum}+(\\{octave})\ast7$\6 -\4\&{else} \&{begin} \37$\\{error}(\.{\'Die\ Oktave\ wurde\ falsch\ eingegeben,% -\ default\ gesetzt\'},\39\\{line\_num})$;\5 -$\\{octave\_num}\K0$;\6 -\&{end};\2\par -\fi - -\M44. Zur Berechnung der Vorzeichen mu\8. -ein neuer Variablentyp definiert werden. -\\{accidental} ist ein array, mit dem mit Hilfe der -eingelesenen Anzahl der x bzw. b das Vorzeichen bestimmt werden kann. - -\Y\P$\4\X44:New type\X\S$\6 -$\\{accidental}=$\1\5 -\&{array} $[1\to5]$ \1\&{of}\5 -$\\{string}(2)$;\2\2\par -\U section~5.\fi - -\M45. - -\Y\P$\4\X7:Globals\X\mathrel{+}\S$\6 -\4\\{accid}: \37\\{accidental};\6 -\4\\{acc}: \37$\\{string}(2)$;\par -\fi - -\M46. Falls \\{x\_num} bzw. \\{b\_num} von 0 verschieden sind, gibt es ein -Vorzeichen. Ob es sich um ein Kreuz oder ein b handelt, -wird anhand der Variablen -\\{x\_num} bzw. \\{b\_num} deutlich. Diese integer-Zahlen werden als -Index von \\{accid} benutzt, dieser gibt dann das Vorzeichen an. -Danach werden \\{x\_num}, \\{b\_num} und \\{nat\_num} auf die defaults -gesetzt. - -\Y\P$\4\X46:Gibt es ein Vorzeichen\X\S$\6 -\&{if} $\\{x\_num}>0$ \1\&{then}\6 -\&{begin} \37$\\{acc}\K\\{accid}[\\{x\_num}]$;\5 -$\\{x\_num}\K0$;\5 -\X47:Schreibe das Vorzeichen\X;\6 -\&{end}\6 -\4\&{else} \&{begin} \37\&{if} $\\{b\_num}>2$ \1\&{then}\6 -\&{begin} \37$\\{acc}\K\\{accid}[\\{b\_num}]$;\5 -$\\{b\_num}\K2$;\5 -\X47:Schreibe das Vorzeichen\X;\6 -\&{end}\6 -\4\&{else} \&{begin} \37\&{if} $\\{nat\_num}=5$ \1\&{then}\6 -\&{begin} \37$\\{acc}\K\\{accid}[\\{nat\_num}]$;\5 -$\\{nat\_num}\K0$;\5 -\X47:Schreibe das Vorzeichen\X;\6 -\&{end};\2\6 -\&{end};\2\6 -\&{end};\2\par -\U section~38.\fi - -\M47. Die Schreibbefehle f"ur Vorzeichen, Noten, Pausen, Punkte folgen. -\par -Das Vorzeichen wird geschrieben, falls vorhanden. -Beim Schreiben m"ussen zwei F"alle unterschieden werden. -Falls n"amlich \\{pitchnum} kleiner als 0 oder gr"o\8er als 9 -ist, mu\8 die Zahl in -geschweifte Klammern geschrieben werden, sonst nicht. -Die Zahl, die zu der Variablen -\\{w\_column} (z"ahlt die Spalte in \\{outfile}) -addiert wird, ist die gr"o\8tm"ogliche. - -\Y\P$\4\X47:Schreibe das Vorzeichen\X\S$\6 -\&{if} $(\\{pitchnum}<0)\V(\\{pitchnum}>9)$ \1\&{then}\6 -\&{begin} \37$\\{newline\_music}(8)$;\5 -$\\{write}(\\{outfile},\39\.{\'\\\'},\39\\{acc},\39\.{\'\{\'},\39% -\\{pitchnum}:1,\39\.{\'\}\'})$;\6 -\&{end}\6 -\4\&{else} \&{begin} \37$\\{newline\_music}(5)$;\5 -$\\{write}(\\{outfile},\39\.{\'\\\'},\39\\{acc},\39\\{pitchnum}:1)$;\6 -\&{end};\2\par -\U sections~46, 46, and~46.\fi - -\M48. Die Note wird - "ahnlich wie das Vorzeichen - geschrieben. - -\Y\P$\4\X48:Schreibe die gelesene Note\X\S$\6 -\&{if} $(\\{pitchnum}<0)\V(\\{pitchnum}>9)$ \1\&{then}\6 -\&{begin} \37$\\{newline\_music}(7)$;\5 -$\\{write}(\\{outfile},\39\.{\'\\\'},\39\\{duration},\39\.{\'\{\'},\39% -\\{pitchnum}:1,\39\.{\'\}\'})$;\6 -\&{end}\6 -\4\&{else} \&{begin} \37$\\{newline\_music}(4)$;\5 -$\\{write}(\\{outfile},\39\.{\'\\\'},\39\\{duration},\39\\{pitchnum}:1)$;\6 -\&{end};\2\par -\U section~38.\fi - -\M49. Punkte werden geschrieben, falls vorhanden. -Danach wird \\{dot\_num} auf 0 gesetzt. - -\Y\P$\4\X49:Schreibe die Punkte\X\S$\6 -\&{if} $\\{dot\_num}>0$ \1\&{then}\6 -\&{begin} \37$\\{newline\_music}(\\{dot\_num}+1)$;\5 -$\\{write}(\\{outfile},\39\.{\'\\\'},\39\.{\'.\'},\39\\{dot\_num}:1)$;\5 -$\\{dot\_num}\K0$;\6 -\&{end};\2\par -\U section~38.\fi - -\M50. - -\Y\P$\4\X7:Globals\X\mathrel{+}\S$\6 -\4\\{bar\_line}: \37\\{char};\6 -\4\\{rest}: \37\\{char};\par -\fi - -\M51. Pause und Taktstrich werden gesondert behandelt und sofort -ausgedruckt. - -\Y\P$\4\X51:Zeichen ist Pause oder Taktstrich\X\S$\6 -\4$\.{\'|\'},\39\.{\'=\'}$: \37\&{begin} \37$\\{bar\_line}\K\\{sign}$;\5 -\X53:Schreibe Taktstrich\X;\6 -\&{end};\6 -\4\.{\'p\'}: \37\&{begin} \37$\\{rest}\K\\{sign}$;\5 -\X52:Schreibe Pause\X;\6 -\&{end};\par -\U section~35.\fi - -\M52. Pause wird geschrieben. - -\Y\P$\4\X52:Schreibe Pause\X\S$\6 -$\\{newline\_music}(3)$;\5 -$\\{write}(\\{outfile},\39\.{\'\\\'},\39\\{rest},\39\\{duration})$;\par -\U section~51.\fi - -\M53. Taktstrich wird geschrieben. - -\Y\P$\4\X53:Schreibe Taktstrich\X\S$\6 -$\\{newline\_music}(2)$;\5 -$\\{write}(\\{outfile},\39\.{\'\\\'},\39\\{bar\_line})$;\par -\U section~51.\fi - -\M54. Das Zeichen ist ein Kommentarzeichen. Der Rest der Zeile -soll im Musikmode nicht mit"ubergeben werden. Deshalb setzen wir -\\{line\_ptr} um eins zu hoch; daraufhin wird die n"achste Zeile -eingelesen. - -\Y\P$\4\X54:Zeichen ist Kommentar\X\S$\6 -\4\.{\'\%\'}: \37$\\{line\_ptr}\K\\{last\_line\_length}+\\{actual\_line% -\_length}+1$;\par -\U sections~35 and~65.\fi - -\M55. Das Zeichen ist Beginn eines macros. - -\Y\P$\4\X55:Zeichen ist backslash\X\S$\6 -\4\.{\'\\\'}: \37\\{backslash};\par -\U sections~35 and~65.\fi - -\M56. Es wird "uberpr"uft, ob man zum Ende der Musikeingabe gelangt ist. - -\Y\P$\4\X56:Zeichen bedeutet Ende der Musikeingabe\X\S$\6 -\4\.{\'!\'}: \37$\\{music\_num}\K\\{ausruf}(\\{change})$;\par -\U section~35.\fi - -\M57. - -\Y\P$\4\X7:Globals\X\mathrel{+}\S$\6 -\4\|i: \37\\{integer};\par -\fi - -\N58. Anhang B: Default-Werte. - - -\fi - -\M59. Die am Anfang notwendigen Werte werden gesetzt. - -\Y\P$\4\X59:Setze die default-Werte\X\S$\6 -$\\{last\_line\_length}\K0$;\5 -$\\{actual\_line\_length}\K0$;\5 -$\\{next\_line\_length}\K0$;\5 -$\\{inline\_length}\K0$;\5 -$\\{line\_ptr}\K1$;\5 -$\\{line\_num}\K0$;\5 -$\\{music\_num}\K\\{false}$;\5 -$\\{change}\K\\{false}$;\5 -$\\{w\_column}\K0$;\5 -$\\{octave\_num}\K0$;\5 -$\\{duration}\K\.{\'v\'}$;\5 -$\\{dot\_num}\K0$;\5 -$\\{x\_num}\K0$;\5 -$\\{b\_num}\K2$;\5 -$\\{nat\_num}\K0$;\5 -$\\{octave}\K0$;\5 -$\\{accid}[1]\K\.{\'x\'}$;\5 -$\\{accid}[2]\K\.{\'xx\'}$;\5 -$\\{accid}[3]\K\.{\'b\'}$;\5 -$\\{accid}[4]\K\.{\'bb\'}$;\5 -$\\{accid}[5]\K\.{\'n\'}$;\5 -$\|i\K1$;\par -\U section~19.\fi - -\N60. Anhang B: Fehlermeldungen. - -\fi - -\M61. Prozedur, die f"ur manche -Syntaxfehler Meldungen auf den Bildschirm und in einen -Fehler--file (\\{err}) schreibt. -Dabei wird die Zeile, in der der Fehler vorkommt bis zur falschen -Stelle ausgedruckt, der Rest der Zeile \\{actual\_line} wird in der -n"achsten Zeile ausgedruckt. Au\8erdem wird mit der Fehlermeldung -auch die Zeilennummer in der der Fehler steht, ausgedruckt. -"Ubergeben wird der Text der Fehlermeldung, ein string -der L"ange 80, und die Zeilennummer \\{line\_num} der Zeile, in der der -Fehler auftritt. - -\Y\P$\4\X7:Globals\X\mathrel{+}\S$\6 -\4\\{error\_help}: \37$\\{string}(20)$;\6 -\4\\{input\_term}: \37$\\{string}(20)$;\6 -\4\\{input\_char}: \37\\{char};\par -\fi - -\M62. - -\Y\P$\4\X62:Procedure error\X\S$\6 -\4\&{procedure}\1\ \37$\\{error}(\\{error\_text}:\\{string}(80);\,\35\\{help}:% -\\{integer})$;\6 -\4\&{var} \37\|i: \37\\{integer};\2\6 -\&{begin} \37$\\{writeln\_error}(\.{\'\ \'})$;\5 -$\\{writeln\_error}(\.{\'Fehler\ in\ Zeile:\ \'},\39\\{help}:1)$;\6 -\&{if} $\\{line\_ptr}-11>0$ \1\&{then}\6 -\&{begin} \37\&{for} $\|i\K10\mathrel{\&{downto}}0$ \1\&{do}\6 -\&{begin} \37$\\{write\_error}(\\{buffer}[\\{line\_ptr}-1-\|i])$;\6 -\&{end};\2\6 -$\\{writeln\_error}(\.{\'\ \'})$;\5 -$\\{write\_error}(\.{\'\ \ \ \ \ \ \ \ \ \ \ \'})$;\6 -\&{for} $\|i\K1\mathrel{\&{to}}11$ \1\&{do}\6 -\&{begin} \37$\\{write\_error}(\\{buffer}[\\{line\_ptr}-1+\|i])$;\6 -\&{end};\2\6 -\&{end}\6 -\4\&{else} \&{begin} \37\&{for} $\|i\K1\mathrel{\&{to}}(\\{line\_ptr}-1)$ \1% -\&{do}\6 -\&{begin} \37$\\{write\_error}(\\{buffer}[\|i])$;\6 -\&{end};\2\6 -$\\{writeln\_error}(\.{\'\ \'})$;\6 -\&{for} $\|i\K1\mathrel{\&{to}}(\\{line\_ptr}-1)$ \1\&{do}\6 -\&{begin} \37$\\{write\_error}(\.{\'\ \'})$;\6 -\&{end};\2\6 -\&{for} $\|i\K1\mathrel{\&{to}}11$ \1\&{do}\6 -\&{begin} \37$\\{write\_error}(\\{buffer}[\\{line\_ptr}-1+\|i])$;\6 -\&{end};\2\6 -\&{end};\2\6 -$\\{writeln\_error}(\.{\'\ \'})$;\5 -$\\{writeln\_error}(\\{error\_text})$;\5 -\X63:Eingabe vom Terminal\X;\6 -\&{end};\par -\U section~5.\fi - -\M63. Nach der Fehlermeldung kann eine Eingabe vom Terminal erfolgen. - -\Y\P$\4\X63:Eingabe vom Terminal\X\S$\6 -$\\{writeln}(\\{err},\39\.{\'?\'})$;\5 -$\\{writeln}(\\{outterm},\39\.{\'?\'})$;\5 -$\\{read}(\\{interm},\39\\{input\_char})$;\6 -\&{case} $\\{input\_char}$ \1\&{of}\6 -\4\.{\'i\'}: \37\&{begin} \37$\\{writeln\_error}(\.{\'input>\'})$;\5 -$\\{read}(\\{interm},\39\\{input\_term})$;\5 -$\\{error\_help}\K\\{input\_term}$;\6 -\&{end};\6 -\4\.{\'x\'}: \37\&{goto} \3710;\6 -\4\&{othercases} \37;\2\6 -\&{endcases};\par -\U section~62.\fi - -\N64. Anhang B: Prozedur backslash. - -\fi - -\M65. Prozedur, die aufgerufen wird, wenn ein backslash eingelesen -wurde. Sie erkennt, um welches Kontrollwort es sich handelt und -ruft die entsprechenden Unterprogramme auf. -Daf"ur wird zun"achst das macro auf den string \\{control} gelesen. -Das Kontrollwort ist beendet, falls $\\{macroend}=\\{true}$, d.h. -das eingelesen Zeichen ist ein \.{\'\ \'}, \.{\'\{\'}, \.{\'\%\'} oder \.{\'% -\\\'}. - -\Y\P$\4\X65:Procedure backslash\X\S$\6 -\4\&{procedure}\1\ \37\\{backslash}; \6 -\4\&{var} \37\\{control}: \37$\\{string}(80)$;\5 -\\{macroend}: \37\\{boolean}; \X67:Procedure macro\X \6 -\&{begin} \37$\\{control}\K\\{str}(\.{\'\ \'})$;\6 -\1\&{repeat} \37\&{begin} \37\X66:Einlesen der Kontrollsequenz auf \\{control}% -\X\6 -\&{end}\6 -\4\&{until}\5 -$\\{macroend}=\\{true}$;\2\6 -$\\{control}\K\\{trim}(\\{control})$;\5 -$\\{control}\K\\{ltrim}(\\{control})$;\6 -\&{if} $((\\{control}=\.{\'\\beam\'})\V(\\{control}=\.{\'\\slur\'})\V(% -\\{control}=\.{\'\\cresc\'})\V(\\{control}=\.{\'\\decresc\'})\V(\\{control}=\.{% -\'\\chord\'}))$ \1\&{then}\6 -\&{begin} \37$\\{macro}(\\{control})$\6 -\&{end}\6 -\4\&{else} \&{begin} \37\&{if} $\\{control}=\.{\'\\group\'}$ \1\&{then}\6 -\&{begin} \37$\\{macro}(\\{control})$\6 -\&{end}\6 -\4\&{else} \&{begin} \37\&{if} $\\{control}=\.{\'\\signature\'}$ \1\&{then}\6 -\&{begin} \37$\\{macro}(\\{control})$\6 -\&{end}\6 -\4\&{else} \&{begin} \37\&{if} $((\\{control}=\.{\'\\text\'})\V(\\{control}=\.{% -\'\\vocal\'})\V(\\{control}=\.{\'\\two\'}))$ \1\&{then}\6 -\&{begin} \37$\\{macro}(\\{control})$\6 -\&{end}\6 -\4\&{else} \&{begin} \37$\\{newline\_music}(\\{length}(\\{control}))$;\5 -$\\{write}(\\{outfile},\39\\{control})$;\6 -\&{case} $\\{sign}$ \1\&{of}\6 -\X54:Zeichen ist Kommentar\X;\6 -\X55:Zeichen ist backslash\X;\6 -\4\&{othercases} \37;\2\6 -\&{endcases};\6 -\&{end};\2\6 -\&{end};\2\6 -\&{end};\2\6 -\&{end};\2\6 -\&{end};\par -\U section~5.\fi - -\M66. Dieser Teil wird von der Prozedur \\{backslash} ben"otigt und -liest auf den String \\{control} die Kontrollsequenz ein, die durch -backslash angezeigt wird. - -\Y\P$\4\X66:Einlesen der Kontrollsequenz auf \\{control}\X\S$\6 -$\\{control}\K\\{control}\\{str}(\\{sign})$;\6 -\&{if} $\R(\\{eof\_infile})$ \1\&{then}\6 -\&{begin} \37$\\{sign}\K\\{get\_char}$;\5 -$\\{macroend}\K((\\{sign}=\.{\'\{\'})\V(\\{sign}=\.{\'\%\'})\V(\\{sign}=\.{\'% -\\\'})\V(\\{sign}=\.{\'\ \'}))$;\6 -\&{end}\6 -\4\&{else} \&{begin} \37$\\{control}\K\\{trim}(\\{control})$;\5 -$\\{newline\_music}(\\{length}(\\{control}))$;\5 -$\\{write}(\\{outfile},\39\\{control})$;\5 -\&{goto} \3710;\6 -\&{end};\2\par -\U section~65.\fi - -\M67. - -\Y\P$\4\X67:Procedure macro\X\S$\6 -\4\&{procedure}\1\ \37$\\{macro}(\\{help}:\\{string}(80))$;\2\6 -\&{begin} \37$\\{help}\K\\{trim}(\\{help})$;\5 -$\\{help}\K\\{ltrim}(\\{help})$;\5 -$\\{help}\K\\{compress}(\\{help})$;\5 -$\\{newline\_music}(\\{length}(\\{help}))$;\5 -$\\{write}(\\{outfile},\39\\{help})$;\5 -$\\{line\_ptr}\K\\{line\_ptr}-1$;\6 -\&{end};\par - -\U sections~5 and~65.\fi - -\pageheight=23cm\vskip0.5cm \def\rhead{ANHANG B: INDEX} -\inx -\:\\{acc}, 45, 46, 47. -\:\\{accid}, 45, 46, 59. -\:\\{accidental}, 44, 45. -\:\\{actual\_line}, 7, 11, 13, 14, 61. -\:\\{actual\_line\_length}, 7, 8, 10, 11, 12, 19, 29, 54, 59. -\:\\{ausruf}, \[21], 24, 25, 27, 29, 30, 33, 56. -\:\\{b\_num}, 36, 37, 46, 59. -\:\\{backslash}, 35, 55, \[65], 66. -\:\\{bar\_line}, 50, 51, 53. -\:\\{boolean}, 7, 17, 21, 65. -\:\\{buffer}, 7, 10, 11, 12, 15, 62. -\:\\{change}, 7, 11, 13, 20, 27, 28, 33, 56, 59. -\:\\{char}, 7, 8, 36, 50, 61. -\:\\{compress}, 9, 67. -\:\\{control}, \[65], 66. -\:\\{dot\_num}, 36, 37, 49, 59. -\:\\{duration}, 36, 37, 48, 52, 59. -\:\&{else}, 2. -\:\&{end}, 2. -\:\&{endcases}, \[2]. -\:\\{eof}, 8, 19, 29. -\:\\{eof\_infile}, 7, 8, 19, 21, 33, 35, 66. -\:\\{err}, 3, 5, 6, 19, 61, 63. -\:\\{error}, 28, 30, 43, \[62]. -\:\\{error\_help}, 61, 63. -\:\\{error\_text}, 62. -\:\\{false}, 13, 17, 19, 20, 23, 25, 26, 27, 29, 33, 59. -\:\\{get}, 8. -\:\\{get\_char}, 7, \[8], 14, 15, 22, 33, 35, 66. -\:\\{help}, 21, 27, 62, 67. -\:\|{i}, \[62]. -\:\\{in\_file}, 7. -\:\\{in\_line}, 7, 9, 10, 12. -\:\\{infile}, 5, 6, 7, 8, 9, 19, 29. -\:\\{inline\_length}, 7, 8, 9, 10, 59. -\:\\{input\_char}, 61, 63. -\:\\{input\_term}, 61, 63. -\:\\{integer}, 7, 8, 20, 31, 36, 39, 41, 57, 62. -\:\\{interm}, 5, 6, 19, 63. -\:\|{j}, \[8]. -\:\\{last\_line}, 7, 11. -\:\\{last\_line\_length}, 7, 8, 10, 11, 12, 19, 54, 59. -\:\\{length}, 9, 65, 66, 67. -\:\\{line\_num}, 7, 8, 11, 24, 28, 30, 33, 43, 59, 61. -\:\\{line\_ptr}, 7, 8, 15, 19, 33, 54, 59, 62, 67. -\:\\{ltrim}, 9, 65, 67. -\:\\{macro}, 65, \[67]. -\:\\{macroend}, 65, 66. -\:\\{music}, 17, 19, \[35], 36. -\:\\{music\_num}, 17, 19, 20, 23, 26, 30, 33, 35, 56, 59. -\:\\{nat\_num}, 36, 37, 46, 59. -\:\\{newline\_music}, 25, 29, 30, \[31], 47, 48, 49, 52, 53, 65, 66, 67. -\:\\{next\_line}, 7, 11. -\:\\{next\_line\_length}, 7, 10, 11, 12, 59. -\:\\{nonmusic}, 17, 19, \[33]. -\:\\{octave}, 41, 42, 43, 59. -\:\\{octave\_num}, 36, 37, 42, 43, 59. -\:\&{othercases}, \[2]. -\:\\{otherwise}, 2. -\:\\{outfile}, 5, 6, 17, 19, 20, 24, 25, 27, 29, 30, 31, 33, 38, 47, 48, 49, -52, 53, 65, 66, 67. -\:\\{outterm}, 3, 5, 6, 19, 63. -\:\\{pascal}, 2. -\:\\{pitchnum}, 39, 40, 43, 47, 48. -\:\\{read}, 9, 63. -\:\\{reset}, 19. -\:\\{rest}, 50, 51, 52. -\:\\{rewrite}, 19. -\:\\{sign}, 7, 22, 27, 29, 33, 35, 40, 51, 65, 66. -\:\\{str}, 65, 66. -\:\\{string}, 7, 44, 45, 61, 62, 65, 67. -\:\\{tangle}, 2. -\:\\{termin}, 19. -\:\\{termout}, 19. -\:\\{text}, 6. -\:\\{trans}, \[5]. -\:\\{trim}, 9, 65, 66, 67. -\:\\{true}, 11, 17, 19, 20, 23, 24, 26, 27, 28, 30, 35, 65. -\:\\{w\_column}, 20, 24, 25, 29, 31, 33, 47, 59. -\:\\{weave}, 2. -\:\\{word\_length}, 31. -\:\\{write}, 3, 24, 27, 29, 30, 31, 33, 47, 48, 49, 52, 53, 65, 66, 67. -\:\\{write\_error}, \[3], 62. -\:\\{writeln}, 3, 24, 25, 27, 29, 31, 33, 63. -\:\\{writeln\_error}, \[3], 62, 63. -\:\\{x\_num}, 36, 37, 46, 59. -\fin -\def\rhead{ANHANG B: NAMES OF THE SECTIONS} -\:\X28:Ausrufezeichen fehlt\X -\U section~26. -\:\X42:Berechnung der richtigen Oktave\X -\U section~38. -\:\X63:Eingabe vom Terminal\X -\U section~62. -\:\X66:Einlesen der Kontrollsequenz auf \\{control}\X -\U section~65. -\:\X10:Einlesen der neuen Zeile in den buffer\X -\U sections~8 and~8. -\:\X30:Ende der Eingabedatei erreicht\X -\U section~21. -\:\X29:Ende musicmode, Zeichen schreiben\X -\U section~26. -\:\X6:Files\X -\U section~5. -\:\X21:Function ausruf\X -\U section~5. -\:\X8:Function getchar\X -\U section~5. -\:\X27:Gelesene Zeichen schreiben\X -\U section~26. -\:\X46:Gibt es ein Vorzeichen\X -\U section~38. -\:\X7, 17, 20, 36, 39, 41, 45, 50, 57, 61:Globals\X -\U section~5. -\:\X26:Kein Wechsel des modes\X -\U section~22. -\:\X13:Kein Zeilenwechsel\X -\U section~8. -\:\X18:Labels\X -\U section~5. -\:\X9:Lesen der n"achsten Zeile von infile\X -\U sections~8 and~8. -\:\X22:Lesen des n"achsten Zeichens\X -\U section~21. -\:\X11:Neubelegung der \\{actual\_line} durch \\{next\_line}, Zeilenwechsel\X -\U section~8. -\:\X44:New type\X -\U section~5. -\:\X65:Procedure backslash\X -\U section~5. -\:\X62:Procedure error\X -\U section~5. -\:\X67:Procedure macro\X -\U sections~5 and~65. -\:\X35:Procedure music\X -\U section~5. -\:\X31:Procedure newline music\X -\U section~5. -\:\X33:Procedure nonmusic\X -\U section~5. -\:\X52:Schreibe Pause\X -\U section~51. -\:\X53:Schreibe Taktstrich\X -\U section~51. -\:\X47:Schreibe das Vorzeichen\X -\U sections~46, 46, and~46. -\:\X49:Schreibe die Punkte\X -\U section~38. -\:\X48:Schreibe die gelesene Note\X -\U section~38. -\:\X59:Setze die default-Werte\X -\U section~19. -\:\X40, 43:Umsetzung der Tonh"ohe in eine Zahl\X -\U section~38. -\:\X23:Wechsel des modes\X -\U section~22. -\:\X24:Wechsel in music mode\X -\U section~23. -\:\X25:Wechsel in nonmusic mode\X -\U section~23. -\:\X56:Zeichen bedeutet Ende der Musikeingabe\X -\U section~35. -\:\X37:Zeichen ist Angabe zum Ton\X -\U section~35. -\:\X54:Zeichen ist Kommentar\X -\U sections~35 and~65. -\:\X51:Zeichen ist Pause oder Taktstrich\X -\U section~35. -\:\X38:Zeichen ist Tonh"ohe\X -\U section~35. -\:\X55:Zeichen ist backslash\X -\U sections~35 and~65. -\:\X15:Zeichen lesen\X -\U section~8. -\:\X14:\\{actual\_line} ist Leerzeile\X -\U section~8. -\:\X12:\\{in\_line} ist Leerzeile bzw. existiert nicht\X -\U sections~8 and~8. - -\vfill\eject % finish the section names -\rightskip 0pt \hyphenpenalty 50 \tolerance 200 -\setpage diff --git a/macros/mtex/documentation/mdocverb.tex b/macros/mtex/documentation/mdocverb.tex deleted file mode 100644 index 8ec5d53d0a..0000000000 --- a/macros/mtex/documentation/mdocverb.tex +++ /dev/null @@ -1,40 +0,0 @@ -% macros for verbatim scanning -% im wesentlichen dem file MANHDR TEX von DEK entnommen -\catcode`@=11 -\def\tt{\fam\ttfam\tentt}% -\newskip\ttglue \ttglue=.5em plus .25em minus .15em -\chardef\other=12 -\def\ttverbatim{\begingroup - \catcode`\\=\other - \catcode`\{=\other - \catcode`\}=\other - \catcode`\$=\other - \catcode`\&=\other - \catcode`\#=\other - \catcode`\%=\other - \catcode`\~=\other - \catcode`\_=\other - \catcode`\^=\other - \catcode`\"=\other - \parskip \z@ - \obeyspaces \obeylines \tt} - -\def\begintt{$$\let\par=\endgraf \ttverbatim - \catcode`\|=0 \rightskip-5pc \ttfinish} -{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character - |obeylines % end of line is active - |gdef|ttfinish#1^^M#2\endtt{|vbox{#2}|endgroup$$}} - -\catcode`\|=\active -{\obeylines \gdef|{\ttverbatim \spaceskip\ttglue \let^^M=\ \let|=\endgroup}} -%\def\ttspace{{\tt\hskip\ttglue}} - -\def\vrt{\hbox{\tt\char`\|}} % vertical line -\def\dn{\hbox{\tt\char'14}} % downward arrow -\def\up{\hbox{\tt\char'13}} % upward arrow -\def\]{\hbox{\tt\char`\ }} % visible space - -\catcode`@=12 % at signs are no longer letters -\def\verbatimon{\catcode`\|=\active} -\def\verbatimoff{\catcode`\|=\other} -\verbatimoff diff --git a/macros/mtex/documentation/webmac.tex b/macros/mtex/documentation/webmac.tex deleted file mode 100644 index 769fa8bf9d..0000000000 --- a/macros/mtex/documentation/webmac.tex +++ /dev/null @@ -1,201 +0,0 @@ -% This is WEBMAC.TEX in text format, as of May 5, 1986. -% standard macros for WEB listings (in addition to PLAIN.TEX) -\xdef\fmtversion{\fmtversion+WEBMAC1.4} -\parskip 0pt % no stretch between paragraphs -\parindent 1em % for paragraphs and for the first line of Pascal text - -\font\eightrm=cmr8 -\let\sc=\eightrm \let\mainfont=\tenrm -\font\titlefont=cmr7 scaled\magstep4 % title on the contents page -\font\ttitlefont=cmtt10 scaled\magstep2 % typewriter type in title -\font\tentex=cmtex10 % TeX extended character set (used in strings) - -\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers -\def\|#1{\hbox{$#1$}} % one-letter identifiers look a bit better this way -\def\{\hbox{\bf#1\/}} % boldface type for reserved words -\def\.#1{\hbox{\tentex % typewriter type for strings - \let\\=\BS % backslash in a string - \let\'=\RQ % right quote in a string - \let\`=\LQ % left quote in a string - \let\{=\LB % left brace in a string - \let\}=\RB % right brace in a string - \let\~=\TL % tilde in a string - \let\ =\SP % space in a string - \let\_=\UL % underline in a string - \let\&=\AM % ampersand in a string - #1}} -\def\#{\hbox{\tt\char`\#}} % parameter sign -\def\${\hbox{\tt\char`\$}} % dollar sign -\def\%{\hbox{\tt\char`\%}} % percent sign -\def\^{\ifmmode\mathchar"222 \else\char`^ \fi} % pointer or hat -% circumflex accents can be obtained from \^^D instead of \^ -\def\AT!{@} % at sign for control text - -\chardef\AM=`\& % ampersand character in a string -\chardef\BS=`\\ % backslash in a string -\chardef\LB=`\{ % left brace in a string -\def\LQ{{\tt\char'22}} % left quote in a string -\chardef\RB=`\} % right brace in a string -\def\RQ{{\tt\char'23}} % right quote in a string -\def\SP{{\tt\char`\ }} % (visible) space in a string -\chardef\TL=`\~ % tilde in a string -\chardef\UL=`\_ % underline character in a string - -\newbox\bak \setbox\bak=\hbox to -1em{} % backspace one em -\newbox\bakk\setbox\bakk=\hbox to -2em{} % backspace two ems - -\newcount\ind % current indentation in ems -\def\1{\global\advance\ind by1\hangindent\ind em} % indent one more notch -\def\2{\global\advance\ind by-1} % indent one less notch -\def\3#1{\hfil\penalty#10\hfilneg} % optional break within a statement -\def\4{\copy\bak} % backspace one notch -\def\5{\hfil\penalty-1\hfilneg\kern2.5em\copy\bakk\ignorespaces}% optional break -\def\6{\ifmmode\else\par % forced break - \hangindent\ind em\noindent\kern\ind em\copy\bakk\ignorespaces\fi} -\def\7{\Y\6} % forced break and a little extra space - -\let\yskip=\smallskip -\def\to{\mathrel{.\,.}} % double dot, used only in math mode -\def\note#1#2.{\Y\noindent{\hangindent2em\baselineskip10pt\eightrm#1 #2.\par}} -\def\lapstar{\rlap{*}} -\def\startsection{\Q\noindent{\let\*=\lapstar\bf\modstar.\quad}} -\def\defin#1{\global\advance\ind by 2 \1\&{#1 }} % begin `define' or `format' -\def\A{\note{See also}} % cross-reference for multiply defined section names -\def\B{\mathopen{\.{@\{}}} % begin controlled comment -\def\C#1{\ifmmode\gdef\XX{\null$\null}\else\gdef\XX{}\fi % Pascal comments - \XX\hfil\penalty-1\hfilneg\quad$\{\,$#1$\,\}$\XX} -\def\D{\defin{define}} % macro definition -\def\E{\cdot10^} % exponent in floating point constant -\def\F{\defin{format}} % format definition -\let\G=\ge % greater than or equal sign -\def\H#1{\hbox{\rm\char"7D\tt#1}} % hexadecimal constant -\let\I=\ne % unequal sign -\def\J{\.{@\&}} % TANGLE's join operation -\let\K=\gets % left arrow -\let\L=\le % less than or equal sign -\outer\def\M#1.{\MN#1.\ifon\vfil\penalty-100\vfilneg % beginning of section - \vskip12ptminus3pt\startsection\ignorespaces} -\outer\def\N#1.#2.{\MN#1.\vfil\eject % beginning of starred section - \def\rhead{\uppercase{\ignorespaces#2}} % define running headline - \message{*\modno} % progress report - \edef\next{\write\cont{\Z{#2}{\modno}{\the\pageno}}}\next % to contents file - \ifon\startsection{\bf\ignorespaces#2.\quad}\ignorespaces} -\def\MN#1.{\par % common code for \M, \N - {\xdef\modstar{#1}\let\*=\empty\xdef\modno{#1}} - \ifx\modno\modstar \onmaybe \else\ontrue \fi \mark{\modno}} -\def\O#1{\hbox{\rm\char'23\kern-.2em\it#1\/\kern.05em}} % octal constant -\def\P{\rightskip=0pt plus 100pt minus 10pt % go into Pascal mode - \sfcode`;=3000 - \pretolerance 10000 - \hyphenpenalty 10000 \exhyphenpenalty 10000 - \global\ind=2 \1\ \unskip} -\def\Q{\rightskip=0pt % get out of Pascal mode - \sfcode`;=1500 \pretolerance 200 \hyphenpenalty 50 \exhyphenpenalty 50 } -\let\R=\lnot % logical not -\let\S=\equiv % equivalence sign -\def\T{\mathclose{\.{@\}}}} % terminate controlled comment -\def\U{\note{This code is used in}} % cross-reference for uses of sections -\let\V=\lor % logical or -\let\W=\land % logical and -\def\X#1:#2\X{\ifmmode\gdef\XX{\null$\null}\else\gdef\XX{}\fi % section name - \XX$\langle\,$#2{\eightrm\kern.5em#1}$\,\rangle$\XX} -\def\Y{\par\yskip} -\let\Z=\let % now you can \send the control sequence \Z -\def\){\hbox{\.{@\$}}} % sign for string pool check sum -\def\]{\hbox{\.{@\\}}} % sign for forced line break -\def\=#1{\kern2pt\hbox{\vrule\vtop{\vbox{\hrule - \hbox{\strut\kern2pt\.{#1}\kern2pt}} - \hrule}\vrule}\kern2pt} % verbatim string -\let\~=\ignorespaces -\let\*=* - -\def\onmaybe{\let\ifon=\maybe} \let\maybe=\iftrue -\newif\ifon \newif\iftitle \newif\ifpagesaved -\def\lheader{\mainfont\the\pageno\eightrm\qquad\rhead\hfill\title\qquad - \tensy x\mainfont\topmark} % top line on left-hand pages -\def\rheader{\tensy x\mainfont\topmark\eightrm\qquad\title\hfill\rhead - \qquad\mainfont\the\pageno} % top line on right-hand pages -\def\page{\box255 } -\def\normaloutput#1#2#3{\ifodd\pageno\hoffset=\pageshift\fi - \shipout\vbox{ - \vbox to\fullpageheight{ - \iftitle\global\titlefalse - \else\hbox to\pagewidth{\vbox to10pt{}\ifodd\pageno #3\else#2\fi}\fi - \vfill#1}} % parameter #1 is the page itself - \global\advance\pageno by1} - -\def\rhead{\.{WEB} OUTPUT} % this running head is reset by starred sections -\def\title{} % an optional title can be set by the user -\def\topofcontents{\centerline{\titlefont\title} - \vfill} % this material will start the table of contents page -\def\botofcontents{\vfill} % this material will end the table of contents page -\def\contentspagenumber{0} % default page number for table of contents -\newdimen\pagewidth \pagewidth=6.5in % the width of each page -\newdimen\pageheight \pageheight=8.7in % the height of each page -\newdimen\fullpageheight \fullpageheight=9in % page height including headlines -\newdimen\pageshift \pageshift=0in % shift righthand pages wrt lefthand ones -\def\magnify#1{\mag=#1\pagewidth=6.5truein\pageheight=8.7truein - \fullpageheight=9truein\setpage} -\def\setpage{\hsize\pagewidth\vsize\pageheight} % use after changing page size -\def\contentsfile{CONTENTS} % file that gets table of contents info -\def\readcontents{\input CONTENTS} - -\newwrite\cont -\output{\setbox0=\page % the first page is garbage - \openout\cont=\contentsfile - \global\output{\normaloutput\page\lheader\rheader}} -\setpage -\vbox to \vsize{} % the first \topmark won't be null - -\def\ch{\note{The following sections were changed by the change file:} - \let\*=\relax} -\newbox\sbox % saved box preceding the index -\newbox\lbox % lefthand column in the index -\def\inx{\par\vskip6pt plus 1fil % we are beginning the index - \write\cont{} % ensure that the contents file isn't empty - \closeout\cont % the contents information has been fully gathered - \output{\ifpagesaved\normaloutput{\box\sbox}\lheader\rheader\fi - \global\setbox\sbox=\page \global\pagesavedtrue} - \pagesavedfalse \eject % eject the page-so-far and predecessors - \setbox\sbox\vbox{\unvbox\sbox} % take it out of its box - \vsize=\pageheight \advance\vsize by -\ht\sbox % the remaining height - \hsize=.5\pagewidth \advance\hsize by -10pt - % column width for the index (20pt between cols) - \parfillskip 0pt plus .6\hsize % try to avoid almost empty lines - \def\lr{L} % this tells whether the left or right column is next - \output{\if L\lr\global\setbox\lbox=\page \gdef\lr{R} - \else\normaloutput{\vbox to\pageheight{\box\sbox\vss - \hbox to\pagewidth{\box\lbox\hfil\page}}}\lheader\rheader - \global\vsize\pageheight\gdef\lr{L}\global\pagesavedfalse\fi} - \message{Index:} - \parskip 0pt plus .5pt - \outer\def\:##1, {\par\hangindent2em\noindent##1:\kern1em} % index entry - \let\ttentry=\. \def\.##1{\ttentry{##1\kern.2em}} % give \tt a little room - \def\[##1]{$\underline{##1}$} % underlined index item - \rm \rightskip0pt plus 2.5em \tolerance 10000 \let\*=\lapstar - \hyphenpenalty 10000 \parindent0pt} -\def\fin{\par\vfill\eject % this is done when we are ending the index - \ifpagesaved\null\vfill\eject\fi % output a null index column - \if L\lr\else\null\vfill\eject\fi % finish the current page - \parfillskip 0pt plus 1fil - \def\rhead{NAMES OF THE SECTIONS} - \message{Section names:} - \output{\normaloutput\page\lheader\rheader} - \setpage - \def\note##1##2.{\hfil\penalty-1\hfilneg\quad{\eightrm##1 ##2.}} - \linepenalty=10 % try to conserve lines - \def\U{\note{Used in}} % cross-reference for uses of sections - \def\:{\par\hangindent 2em}\let\*=*\let\.=\ttentry} -\def\con{\par\vfill\eject % finish the section names - \rightskip 0pt \hyphenpenalty 50 \tolerance 200 - \setpage - \output{\normaloutput\page\lheader\rheader} - \titletrue % prepare to output the table of contents - \pageno=\contentspagenumber \def\rhead{TABLE OF CONTENTS} - \message{Table of contents:} - \topofcontents - \line{\hfil Section\hbox to3em{\hss Page}} - \def\Z##1##2##3{\line{\ignorespaces##1 - \leaders\hbox to .5em{.\hfil}\hfil\ ##2\hbox to3em{\hss##3}}} - \readcontents\relax % read the contents info - \botofcontents \end} % print the contents page(s) and terminate diff --git a/macros/mtex/macros/mtex.tex b/macros/mtex/macros/mtex.tex deleted file mode 100644 index 57c2acdb2d..0000000000 --- a/macros/mtex/macros/mtex.tex +++ /dev/null @@ -1,1976 +0,0 @@ -% % -% Copyright (C) 1986,1987 by Andrea Steinbach and Angelika Schofer % -% % -% % -% 10.11.87 \def\hunkglue ge"andert. (welche Auswirkungen hat das, % -% ausser dass \two... einen Fehler weniger macht???) % -% 16.11.87 \def\intslurwidth ge"andert (vor division += \seminhw % -% 16.11.87 \def\gradientslur ge"andert (vor division += .5\seminhh % -% % -\def\fmtname{MTeX}\def\fmtversion{0.92} -\immediate\write10{MTeX Version 0.92 - Release 16 November 1987} -% % -% INHALTSVERZEICHNIS % -% % -% Allgemeine Vereinbarungen ......................................... 2 % -% Definitionen der neuen Zeichensaetze .............................. 2 % -% Definitionen der neuen Character .................................. 2 % -% Registerdefinitionen: Count,Box,Dimen usw ......................... 3 % -% Registerinitialisierungen ......................................... 6 % -% Punktierung ....................................................... 7 % -% Hilfsfunktionen - Hilfsmacros ..................................... 8 % -% Macros zur Listenerzeugung und Verarbeitung .......................10 % -% Notenlinien und Hilfslinien .......................................11 % -% Taktstriche u. ae. ................................................12 % -% Das Setzen der Versetzungszeichen .................................13 % -% Versetzungszeichen - Eingabemacros ................................14 % -% Noten - Eingabemacros ................................14 % -% Pausen - Eingabemacros ................................14 % -% Wertpunkte ........................................................15 % -% Akkorde - Eingabemacros ................................16 % -% Konstruktion der Noten und Pausen .................................16 % -% Berechnung der Notenhalslaengen ...................................17 % -% Konstruktion der Notenhaelse ......................................18 % -% Das Setzen der Noten ..............................................18 % -% Tonarten und Aufloesung, Notenschluessel und Taktangabe ...........19 % -% Die Verarbeitung der Nachbarschaften ..............................20 % -% Die Initialisierung der Listen einer Notengruppe ..................20 % -% Abarbeitung und Setzen einer Notengruppe ..........................21 % -% Verbalkung - Eingabemacros ........................................21 % -% Berechnungen der Halslaengen und Steigung .........................22 % -% Plazierung und Zusammensetzung der Balken .........................24 % -% Die Bogen .........................................................25 % -% Akzente fuer Noten und Akkorde ....................................30 % -% Textunterlage .....................................................31 % -% Zweistimmige Notation in einem System .............................33 % -% Beginn und Ende ...................................................33 % -% Defaults ..........................................................34 % -% % -% % -% (Seitennummern bei Druck des Makropakets mit 60 Zeilen je Seite) % -% % -% % -% % -% % -% % -% % -% % -% % -% % -% % -% % -% % -% % -% % -\catcode`@=11 -% ************************************************** % -% * Allgemeine Vereinbarungen * % -% ************************************************** % -\frenchspacing -%\parindent 0pt -% Parameter fuer Notensatz -\def\inisong{\linepenalty10%\linepenalty100 - \pretolerance=-1 - \tolerance=200 - \finalhyphendemerits=-1000 - \hyphenpenalty=-1000 - \exhyphenpenalty=-100 - \doublehyphendemerits=-1000 - \adjdemerits=1000 - \adjdemerits=250 - \interlinepenalty=-10 \inidefaults}%\inidefaults siehe DEFAULTS -%\parfillskip0pt -% Dimensionen die in PLAIN TEX eingefuehrt wurden -%\newdimen\p@ \p@=1pt % this saves macro space and time -%\newdimen\z@ \z@=0pt % can be used both for 0pt and 0 -%\newskip\z@skip \z@skip=0pt plus0pt minus0pt -%\newbox\voidb@x % permanently void box register -% ************************************************** % -% * Definition der neuen Zeichensaetze * % -% ************************************************** % -\font\music=music16 %Noten -\font\smallmusic=music16 %Noten(im Moment noch mit - %\music identisch -\font\beamfont=beam16 %Balken -\font\slurfont=slur16 %Bogen -\font\slurfontuu=sluruu16 %Bogen -\font\slurfontud=slurud16 %Bogen -\font\slurfontdu=slurdu16 %Bogen -\font\slurfontdd=slurdd16 %Bogen -\font\eightrm =cmr8 -% ************************************************** % -% * Definition der neuen Character * % -% ************************************************** % -\catcode`\"=12 -\def\hex{"} % zum Eingeben von Zahlen in hex -\def\3{\char"19{}} -\catcode`\"=\active %Unlaute -\def"{\accent'177} -% -\chardef\quart=\hex21 %Notenkoepfe -\chardef\half=\hex22 -\chardef\whole=\hex23 -\chardef\eighthup=\hex28 %Faehnchen -\chardef\eighthdown=\hex2D -\chardef\sixteenthup=\hex29 -\chardef\sixteenthdown=\hex2E -\chardef\thirtytwoup=\hex2A -\chardef\thirtytwodown=\hex2F -\chardef\sixtyfourup=\hex2B -\chardef\sixtyfourdown=\hex30 -\chardef\hundredtwentyeightup=\hex2C -\chardef\hundredtwentyeightdown=\hex31 -\chardef\wholerest=\hex3C %Pausen -\chardef\halfrest=\hex3D -\chardef\quartrest=\hex3E -\chardef\eighthrest=\hex3F -\chardef\sixteenthrest=\hex40 -\chardef\doublerest=\hex3A %Taktpausen -\chardef\ddoublerest=\hex3B -\chardef\fermateup=\hex50 %Fermaten -\chardef\fermatedown=\hex51 -\chardef\mflat=\hex32 %Versetzungszeichen -\chardef\mdoubleflat=\hex33 -\chardef\mquartflat=\hex37 -\chardef\mthreequartflat=\hex3A -\chardef\msharp=\hex34 -\chardef\mdoublesharp=\hex35 -\chardef\mnatural=\hex36 -\chardef\mviolin=\hex47 %Notenschluessel -\chardef\mviolinoct=\hex47 -\chardef\mviolinOct=\hex47 -\chardef\mbass=\hex49 -\chardef\mbassoct=\hex49 -\chardef\mbassOct=\hex49 -\chardef\mbariton=\hex4D -\chardef\mtenor=\hex4C -\chardef\malt=\hex4B -\chardef\mmezzosopran=\hex4E -\chardef\msopran=\hex4E -\chardef\mC=\hex53 %Taktangaben -\chardef\allabreve=\hex52 -\chardef\mCreverse=\hex54 -% ************************************************** % -% * Registerdefinitionen * % -% ************************************************** % -%1.Hilfsregister -\newbox\hb@i % Hilfsbox -\newbox\hb@ii % Hilfsbox -\newbox\hb@iii % Hilfsbox -\newbox\hb@iv % Hilfsbox -\newdimen\hd@i % Hilfsdimension -\newdimen\hd@ii % Hilfsdimension -\newdimen\hd@iii % Hilfsdimension -\newcount\hc@i % Hilfscount -\newcount\hc@ii % Hilfscount -\newskip\hs@i % Hilfsskip -\newskip\hs@ii % Hilfsskip -\newskip\hs@iii % Hilfsskip -\newskip\hs@iv % Hilfsskip -\newskip\hs@v % Hilfsskip -\newskip\hs@vi % Hilfsskip -\newskip\hs@vii % Hilfsskip -\newtoks\ht@i % Hilfstokenregister -%2. Boxes fuer Notenkonstruktionen -\newbox\notebox %zum Setzen der Noten -\newbox\leftbox %Akkordnoten links vom Notenhals -\newbox\rightbox %Akkordnoten rechts vom Notenhals -\newbox\dotbox %Wertpunkte fuer Akkorde -\newbox\akzentbox %Akzente -\newbox\hunkbox %Hunks -\newbox\h@nkbox %Hunks im zweidimensionalen Satz -\newbox\legerbox %Hilfslinien -\newbox\firstvoice %erste Stimme bei Zweistimmiger Notation -\newbox\secondvoice %zweite Stimme bei Zweistimmiger Notation -\newbox\placebox %zum Setzen der Taktangabe -\newbox\neighborhood %Box zum Speichern der Nachbarschaft -%3. Tokenregister -\newtoks\notename %Noten- oder Pausenwertname -\newtoks\direction %Richtung des Notenhalses up oder down -\newtoks\d@rection %Richtung des Notenhalses (global) -\newtoks\cleftoks %aktueller Notenschluessel -\newtoks\signtoks %aktuelle Vorzeichnung -\newtoks\canceltoks %aktuelle Aufloesung -\newtoks\slurtoks %zur Bestimmung des Charactercodes fuer Bogen -\newtoks\ta %fuer Listenverarbeitung .... -\newtoks\tb % .... bei \rightappend -%4.Umgebungen -\newif\iffirst %erste Zeile Zeilenanfang: Initialisierung von - %Notenschluessel, Tonart und Taktart -\newif\ifbeam %Verbalkung -\newif\ifchord %Akkord -\newif\ifleft %Plazieren der Akkordnoten links vom Notenhals -\newif\ifstemup %Notenhalsrichtung aufwaerts -\newif\ifgroup %Initialisierung der Nachbarschaftslisten -\newif\iftwo %zweistimmiger Notensatz -\groupfalse\chordfalse\leftfalse\beamfalse\groupfalse\twofalse -%5.Countregister -\newcount\dur@tion -% \dur@tion Notenwert -% 0 1/1 -% 1 1/2 -% 2 1/4 -% 3 1/8 -% 4 1/16 -% 5 1/32 -% 6 1/64 -% 7 1/128 -\newcount\pitch % interne Tonhoehe -\newcount\pit@ % interne Hilfstonhoehe -\newcount\oldpitch % interne Tonhoehe -\global\oldpitch=0 % Anfangsbelegung -\newcount\maxpitch % maximale interne Tonhoehe bei Akkord -\newcount\minpitch % minimale interne Tonhoehe bei Akkord -\newcount\nn % Anzahl der Hilfslinien -\newcount\clefcount % Parameter Verschieben der Vorzeichnung - % abhaengig von Notenschluessel -\newcount\accpitch % Vozeichnungs Tonhoehe - %Nachbarschaften: Balken- und Bogengruppen -\newcount\tieconst % Konstante fuer Hoehe des Bogenstuecks - % fuer Haltebogen -\newcount\phraseconst % konstantes Bogenstueck bei Phrasierungs- - % bogen -\newcount\n@a % Index 1.Element einer Gruppe -\newcount\n@i % Laufindex in der Gruppe -\newcount\n@e % Index letztes Element einer Gruppe -\newcount\N % Kardinalitaet der Nachbarschaft -\newcount\m@i % Listenindex -\newcount\m@ii % Listenindex -\newcount\L@ % Laenge des Balkens in 0.5pt -\newcount\l@ % zur Zusammensetzung des Balkens -\newcount\m@a\newcount\m@e % Anfangs- und Endindex der Elementliste - % die durch einen Balken verbunden werden - % sollen -\newcount\P@i %lok. pitch, der in endpoint benutzt wird -\newcount\P@a %Anfangspitch -\newcount\P@e %Endpitch -\newcount\beamrow %Korrektur von vpos bei mehrfachverb. -\newcount\S % Steigung -\newcount\S@ % Absolutbetrag der Steigung -\newcount\slurwidth % Ganzzahlige Breite eines Bogens in - % Einheiten von \nhw -\newcount\V@int % Ganzzahlige Hoehe eines Bogens in - % Einheiten von 1/2\nhh -\newcount\CODE % Charcode Steigung von Balken -\newcount\flaga % Werte 0,1,2 Bogenanfang -\newcount\flagb % Werte 0,1,2 Bogenende -\newcount\flagc % Balkensteigung = 0 ja/nein -%6.Dimensionsregister -%Konstanten -\newdimen\linethickness % Dicke einer Notenlinie -\newdimen\nhh % Linienabstand, noteheadheight -\newdimen\nhw % Notenkopfbreite, noteheadwidth -\newdimen\seminhh % halber Linienabstand = 1/2\nhh -\newdimen\seminhw % halbe Notenkopfbreite = 1/2\nhw -\newdimen\twonhh % = 2\nhh -\newdimen\I@@ % = 100pt -\newdimen\stemwidth % = 2\linethickness -\newdimen\beamthickness % = 0.6 \nhh -\newdimen\staffheight % = 4\nhh + \linehight -\newdimen\textline % = \staffheigth, Abstand Schriftlinie -- - % Grundlinie bei Textunterlage -\newdimen\linekern % \nhh - \linethickness,kern zw.den Zeilen -\newdimen\Linekern % \nhh -2\linethickness,kern zw.den Zeilen - % bei Hilfslinien -\newdimen\dotwd % Breite eines Verlaengerungspunktes -\newdimen\smkern % kleiner Kern zur Korrektur vor und - % nach Notenkoepfen (Hilfslinien) -%Parameter -\newdimen\yshift % dimen!, um die die Vorzeichen verschoben - % werden in Y-Richtung! -\newdimen\nyshift % dimen!, um die die NOTENbox verschoben - % wird in Y-Richtung! -\newdimen\lyshift % dimen!, um die die LEGERbox verschoben - % wird in Y-Richtung! -\newdimen\akzent@pos %vertikale Positionierung eines - %Artikulationszeichens - %Nachbarschaften: Balken- und Bogengruppen -\newdimen\s@a %Anfangstemlength -\newdimen\s@e %Endstemlength -\newdimen\minsl %untere Grenze f. Stemverkuerzung -\newdimen\R@i % rel. Hoehe des Notenkopfes pitch*seminhh -\newdimen\E@a % Endpunkt des Notenhalses Anfangsnote -% pitch*seminhh +(-)stemlength -\newdimen\R@a % rel. Hoehe des Notenkopfes pitch*seminhh -\newdimen\E@e % Endpunkt des Notenhalses Endnote -% pitch*seminhh +(-)stemlength -\newdimen\R@e % relative Hoehe des Notenkopfes -\newdimen\s@i %lok. stemlength, in endpoint -\newdimen\Abs %Absoluter Abstand zwischen 2 Endpunkten -\newdimen\corr %Korrekturwert fuer 2. Stem -\newdimen\sl@c %4.Korrekturwert fuer Stemlaengen -\newdimen\EP@ %Endpunkt des ersten Stems einer Notengr. -\newdimen\EP@i %Endpunkt des Stems innerhalb einer Gruppe -\newdimen\E@l % Unterer Startpunkt fuer Bogenansatz -\newdimen\E@u % oberer Startpunkt fuer Bogenansatz -\newdimen\H@e % horizontaler Abstand zwischen zwei Noten -\newdimen\H@a % Korrekturwert zur Berechnung von H@e -\newdimen\H@a@cor % Korrekturwert zur Berechnung der Laenge - % Balkens oder Bogens (bzgl. H@list) -\newdimen\H@e@cor % Korrekturwert zur Berechnung der Laenge - % Balkens oder Bogens (bzgl. H@list) -\newdimen\limit %\limit = 0.45\H@e=Grenzwert -\newdimen\V@ %vertikaler Abstand zwischen zwei Noten -\newdimen\gradfactor %= 0.005\S\p@ -\newdimen\SHIFT -\newdimen\slurcor % horizontal Kern fuer Bogenpositionierung -\newdimen\H@m@a % Horizontaler Abschnitt von m@a -\newdimen\L@a % Balkenlaenge -\newdimen\V@a % vertikale Position des Balkens -\newdimen\stemlength % Laenge des Notenhalses -\newdimen\linelength % Laenge der Notenlinien -%Textunterlage -\newdimen\overtext % fuer Textueberlage -\newdimen\undertext % fuer Textunterlage -%6. Skipregister -% Ausschlussparamter -\newskip \NOTEskip % Glue nach ganzer Note -\newskip \Noteskip % Glue nach halber Note -\newskip \noteskip % Glue nach 1/4 Note -\newskip \notEskip % Glue nach 1/8 Note -\newskip \noTEskip % Glue nach 1/16 Note -\newskip \nOTEskip % Glue nach 1/32 Note -\newskip \nOteskip % Glue nach 1/64 Note -\newskip \nOtEskip % Glue nach 1/128 Note -\newskip \ruleskip % Glue nach Rules -\newdimen\hunkskip % Glue fuer Hunks -\newskip\oldskip % aktueller \spaceskip vor Nachbarschaft -% ************************************************** % -% * Registerinitialisierungen * % -% ************************************************** % -\beamfont \beamthickness = 1ex -\music \nhh = 1ex \nhw = 1em - \seminhh = 0.5\nhh \seminhw = 0.5\nhw - \twonhh = 2 \nhh -\I@@ = 100 pt -\linethickness = 0.15pt -\stemwidth = 2\linethickness -\staffheight = 4 \nhh \advance\staffheight by \linethickness -\linekern = \nhh \advance\linekern by-\linethickness -\Linekern = \nhh \advance\Linekern by-2\linethickness -\overtext =\staffheight \advance\overtext by\nhh -\def\u@text{\relax}\def\l@text{\relax} -\textline =\staffheight -\undertext =\textline -\tieconst = 4 \phraseconst = 2 -\def\up@{up}\def\down@{down} -% ************************************************** % -% * Punktierung * % -% ************************************************** % -%1.Ausschluss-schemata -\let\sk=\spaceskip -%\ruleskip = \seminhw plus \seminhw minus 0.5\seminhw -\ruleskip = \nhw plus \seminhw minus \seminhw -\smkern = 0.2\nhw \relax -\def\hsmall{%hader -\Noteskip 3\nhw plus 2\seminhw minus 2\seminhw -\NOTEskip = \Noteskip -\noteskip 2\nhw plus 1.5\seminhw minus 1.5\seminhw -\notEskip 1\nhw plus \seminhw minus \seminhw -\noTEskip \z@ plus 0.5\seminhw minus \z@ -\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip -\hunkskip \z@\relax} -\def\small{% -\Noteskip 3.5\nhw plus 1.8\seminhw minus 1.8\seminhw -\NOTEskip = \Noteskip -\noteskip 2.5\nhw plus 1.4\seminhw minus 1.4\seminhw -\notEskip 1.5\nhw plus \seminhw minus \seminhw -\noTEskip \seminhw plus 0.6\seminhw minus 0.6\seminhw -\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip -\hunkskip \z@ \relax} -\def\universal{% -\Noteskip 4\nhw plus 1.6\nhw minus 1.6\nhw -\NOTEskip = \Noteskip -\noteskip 3\nhw plus 1.3\nhw minus 1.3\nhw -\notEskip 2\nhw plus \nhw minus \nhw -\noTEskip \nhw plus 0.6\nhw minus 0.6\nhw -\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip -\hunkskip \z@ \relax} -\def\wide{% -\Noteskip 4\nhw plus 1.42\nhw minus 1.42\nhw -\NOTEskip = \Noteskip -\noteskip 3.5\nhw plus 1.28\nhw minus 1.28\nhw -\notEskip 2.5\nhw plus \nhw minus \nhw -\noTEskip 1.5\nhw plus 0.9\nhw minus 0.9\nhw -\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip -\hunkskip \z@ \relax} -\def\loose{% -\Noteskip 5\nhw plus 1.5\nhw minus 1.5\nhw -\NOTEskip = \Noteskip -\noteskip 4\nhw plus 1.25\nhw minus 1.25\nhw -\notEskip 3\nhw plus \nhw minus \nhw -\noTEskip 2\nhw plus 0.75\nhw minus 0.75\nhw -\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip -\hunkskip \z@\relax} -%1.Glue-Makros -\def\hunkglue{\hunkskip=\sk\relax\advance \hunkskip by -\wd\hunkbox - \ifdim\hunkskip>\z@ \hunkskip=\wd\hunkbox\relax -% \else \hunkskip=\sk \advance\hunkskip-\seminhw\relax \fi}%schm 10.11.87 - \else \hunkskip=\sk \relax \fi}%schm 10.11.87 -%Glue vor einer Rule (Taktstrich etc.) -\def\gluebrule{\hunkglue\nobreak\ \hskip-\hunkskip\box\hunkbox% - \u@text\l@text\nobreak} -%Glue vor einer Taktangabe -\def\gluebmeter{\hunkglue\kern\seminhw\nobreak\box\hunkbox% - \u@text\l@text\nobreak} -%Glue nach einer Rule (Taktstrich etc.) -\def\gluearule{\-\global\sk\ruleskip} -\def\set@rulesk{\global\sk\ruleskip} -%Glue vor einer Note -\def\sethunkglue{\hunkglue\nobreak\ \hskip-\hunkskip} -%Umbruchm"oglichkeit im Taktinnern -\def\+{\ \-\global\sk=\z@skip} -% ************************************************** % -% * Hilfsfunktionen * % -% ************************************************** % -%entspricht dem von Knuth angegebenen Makro der \loop-Schleife, jedoch -%wird die Schleife bei \else wiederholt. -\def\looop#1\leave{\def\boddy{#1}\iiterate} -\def\iiterate{\boddy \let\nexxt\relax \else\let\nexxt\iiterate\fi \nexxt} -\let\leave=\fi % this makes \looop...\if...\leave skippable -% entspricht |#1 - #2| -\def\distance#1#2{\relax\ifdim#1>#2\relax\Abs=#1\advance\Abs by-#2\relax - \else\Abs=#2\advance\Abs by-#1\relax\fi} -%Notensetzen, z.B. Ineinanderschieben von Hilfslinienbox und Notenbox -%Breite des Boxinhalts wird ignoriert -\def\cbox#1{\hbox to \z@{\hss#1\hss}} % zentriert den Inhalt der Box -\def\hboxnhw#1#2{\hbox to \nhw{\hss\cbox{#1}\cbox{#2}\hss}} - %Box der Breite eines Notenkopfes -\def\ignore#1{\hbox to \z@{\hss#1}} % entspricht \llap in PLAIN - %z.B. fuer Oktavierung des Versetzungszeichen -%Rules fuer Phrasierungen -\def\r@lef@ill#1{\leaders\hrule height \z@ depth #1 \relax\hfill} -\def\r@lef@ll#1{\leaders\hrule height #1 depth \z@ \relax\hfill} -%zum Setzen der Phrasierungsboegen -\def\vt@@#1{\vtop to\z@{\offinterlineskip\null\hbox{#1}\vss}} -\def\vb@@#1{\vbox to\z@{\offinterlineskip\vss\hbox{#1}\null}} -% Korrekturfunktionen fuer Berechnung der Halslaenge -\def\corra#1{\relax \ifdim\Abs>\seminhh - \ifdim#1>\minsl \advance #1 by -\seminhh\fi - \fi} -%1. Verkuerzung, des hoeherliegenden(stemup) bzw. tieferliegenden -%(stemdown) Notenhalses um \seminhh falls moeglich(Abstand>\seminhh) -\def\corrb#1{\advance #1 by \corr} -%2. Verlaengerung des anderen Notenhalses um Hoechstabstand zu -%erreichen -\def\corrc#1{\advance #1 by \seminhh} -%3. p1^=p2 Abstand =0 : Verkuerzung des Notenhalses der tiefer (hoeher) -%gelegenen Note um \seminhh -% -%Funktionen die die vertikalen Abstaende -%der Bogenendpunkte von der Grundlinie berechnen -%dabei ist E@u der Ansatz des oberhalb verlaufenden Bogens -%und E@l der Ansatz des unterhalb verlaufenden Bogens -%Punkte fuer Akkorde (oberhalb/unterhalb) -\def\chordupperstartpoints{% - \global\E@u\maxpitch\seminhh \global\advance\E@u\nhh - \ifdim\E@u<\z@ \global\advance \E@u-\I@@ - \else \global\advance \E@u \I@@ \fi} -\def\chordlowerstartpoints{% - \global\E@l\minpitch\seminhh \global\advance\E@l-\nhh - \ifdim\E@l<\z@ \global\advance \E@l-\I@@ - \else \global\advance \E@l \I@@ \fi} -\def\whatisnewstartpoint{% - \ifdim\E@a=\z@ \global\E@a = 1sp \fi - \ifstemup\relax - \expandafter\exchange\the\E@a\in\uslurlist\at \n@a - \else \relax - \expandafter\exchange\the\E@a\in\lslurlist\at \n@a - \fi - } -%neue Ansatzwerte E@l E@u berechnen und an \n@i-te Stelle der -% \lslurlist bzw. \uslurlist setzen (NACH Balkenberechnung) -\def\whatarenewstartpoints{% - \ifdim\EP@i=\z@ \global\EP@i = 1sp \fi - \ifstemup\relax - \expandafter\exchange\the\EP@i\in\uslurlist\at \n@i - \else \relax - \expandafter\exchange\the\EP@i\in\lslurlist\at \n@i - \fi - } -% belegt #2 mit dem Endpunkt des Notenhalses des #1-ten Elementes der -% Notengruppe -\def\getendpoint#1#2{\relax\hc@i=#1% - \lokalassign\hc@i\of\H@list\to\hd@i - \lokalassign\hc@i\of\H@corlist\to\hd@ii - \select\hc@i\of\dir@list\to\dir@i - \ifx\dir@i\down@ \advance\hd@ii\nhw \fi - \advance\hd@i by-\hd@ii - \advance\hd@i by-\H@a \multiply\hd@i by\S \hd@i=0.01 \hd@i - \advance\hd@i by\EP@ %EP@ = Endpunkt @ n@a - \global#2=\hd@i} -% -% Weist \S die im Balken- / Bogenfont vorhandene Steigung zu -\def\addC{\global\advance\CODE by } -\def\assignS{% - \ifnum\S<0 \S@=-\S \else \S@=\S \fi - \ifnum\S@< 1 \S@=0 \else - \ifnum\S@< 8 \S@=5 \else - \ifnum\S@<12 \S@=10 \else - \ifnum\S@<17 \S@=15 \else - \ifnum\S@<22 \S@=20 \else - \ifnum\S@<27 \S@=25 \else - \ifnum\S@<32 \S@=30 \else - \ifnum\S@<40 \S@=35 \else \S@=45\fi\fi\fi\fi\fi\fi\fi\fi - \ifnum\S<0\global\S=-\S@ \else\global\S=\S@\fi} -% Berechnet den Code der Steigung im Bogenfont -\def\assignCODE{% - \ifnum\S< 0 \global\CODE = 64 \S@ = -\S \else \S@ = \S - \global\CODE = 0 \fi - \ifnum\S@< 6 \addC 0 \else - \ifnum\S@<11 \addC 8 \else - \ifnum\S@<16 \addC16 \else - \ifnum\S@<21 \addC24 \else - \ifnum\S@<26 \addC32 \else - \ifnum\S@<31 \addC40 \else - \ifnum\S@<36 \addC48 \else - \ifnum\S@<46 \addC56 \fi\fi\fi\fi\fi\fi\fi\fi} -%Im Moment benutzte Steigungen -%5 10 15 20 25 30 35 45 -\def\assignuslurchar{\hc@i=\slurwidth - \ifnum\V@int= 0 %\V@=\z@ - \ifnum\hc@i>1 \advance\hc@i-2 \else \advance\hc@i-1 \fi - \edef\slurchar{\the\hc@i}% - \else - \ifnum\slurwidth<4 \multiply\hc@i\slurwidth - \advance\hc@i-\slurwidth\advance\hc@i\V@int\advance\hc@i-1 - \multiply\hc@i8\edef\slurchar{\the\hc@i}% - \else\advance\hc@i-2 \hc@ii=\V@int\advance\hc@ii-1 - \ifodd\hc@i\divide\hc@i2 - \edef\slurchar{\noexpand'1\the\hc@ii\the\hc@i}% - \else \divide\hc@i 2 \edef\slurchar{\noexpand'\the\hc@ii\the\hc@i}\fi - \fi - \fi\slurtoks=\expandafter{\slurchar}} -\def\assignlslurchar{\hc@i=\slurwidth - \ifnum\V@int= 0 %\V=\z@ - \ifnum\hc@i>1\advance\hc@i14 \else\advance\hc@i15 \fi - \edef\slurchar{\the\hc@i}% - \else - \ifnum\slurwidth<4 \multiply\hc@i by \slurwidth - \advance\hc@i-\slurwidth\advance\hc@i\V@int\advance\hc@i-1 - \multiply\hc@i8\edef\slurchar{\noexpand\the\hc@i}% - \else\advance\hc@i-2\hc@ii=\V@int\advance\hc@ii-1 - \ifodd\hc@i\divide\hc@i2 - \edef\slurchar{\noexpand'1\the\hc@ii\the\hc@i}% - \else \divide\hc@i2 \edef\slurchar{\noexpand'\the\hc@ii\the\hc@i}\fi - \fi - \fi\slurtoks=\expandafter{\slurchar}} -% ************************************************** % -% * Macros zur Listenerzeugung und Verarbeitung * % -% ************************************************** % -%\newtoks\ta\newtoks\tb -%Haengt an Liste #2 ein neues Element mit Inhalt #1 an -\long\def\rightappend#1\to#2{\ta={\\{#1}}\tb=\expandafter{#2}% - \edef#2{\the\tb\the\ta}} -%Weist dem Register (Counter oder Dimension oder Skip ) den Wert des -%#1-ten Elementes der Liste #2 zu (lokal bzw. global) -\def\assign#1\of#2\to#3{\m@i=#1\relax - \long\def\\##1{\advance\m@i-1\relax % globale Zuweisung - \ifnum\m@i=0\relax\global#3=##1\fi}#2\relax} -% -\def\lokalassign#1\of#2\to#3{\m@i=#1\relax % lokale Zuweisung - \long\def\\##1{\advance\m@i-1\relax\ifnum\m@i=0\relax#3=##1\fi}#2\relax} -% -%Definiert die Kontrollsequenz #3 als den Inhalt des -%#1-ten Elementes der Liste #2 zu (lokal). -\def\select#1\of#2\to#3{\m@i=#1\relax % lokale Zuweisung - \long\def\\##1{\advance\m@i-1\relax\ifnum\m@i=0\relax\def#3{##1}\relax - \fi}#2\relax} -% -%setzt #1=Anzahl der Elemente einer Liste -\def\cardinality#1\to#2{#2=0\long\def\\##1{\advance#2 by 1 }#1} -% -%Tauscht in Liste #2 den Inhalt des #3-ten Elementes gegen #1 aus. -\def\exchange#1\in#2\at#3{\m@i=#3\long\def\\##1{\advance\m@i-1 - \ifnum\m@i=0 \rightappend{#1}\to\helplist - \else\rightappend##1\to\helplist\fi}#2% - \let\hhelplist=\helplist\global\let#2=\hhelplist\let\helplist=\empty - } -%abhaengig von der Notenkonstellation Abfrage auf \S=0 -\def\gradz@\in#1\with#2#3\from#4\to#5{\m@i=#4\m@ii=#5\relax - \advance\m@i 1 \advance\m@ii -1 - \long\def\\##1{\advance\m@i-1\advance\m@ii-1 - \ifnum\m@i<1 \ifnum\m@ii>-1 \hc@i=##1\relax - \ifnum\hc@i#2#3 \relax \else - \global\flagc=0 \ifnum\hc@i#2 4 \relax \else \global\minsl=\twonhh\fi - \fi\fi\fi}#1} -% -%addiert den Wert von \sl@c zum Wert in Liste #1 von Element #2 bis #3 -\def\addslc\in#1\from#2\to#3{\m@i=#2\m@ii=#3\long\def\\##1{\advance\m@i-1 - \advance\m@ii-1 - \ifnum\m@i<1 \ifnum\m@ii>-1 \hd@i=##1 \advance\hd@i\sl@c - \expandafter\rightappend\the\hd@i\to\helplist\else - \rightappend##1\to\helplist\fi\else\rightappend##1\to\helplist\fi}#1% - \let\hhelplist=\helplist\global\let#1=\hhelplist\let\helplist=\empty} -% -%wechselt die Richtungen der Notenh"alse in der \dir@list vom -%#2-ten bis zum #3-ten Element gegen #1 aus. -\def\putdir#1\from#2\to#3{\m@i=#2\m@ii=#3\def\helplist{}% -\long\def\\##1{\advance\m@i-1 - \advance\m@ii-1 - \ifnum\m@i<1 \ifnum\m@ii>-1 - \expandafter\rightappend#1\to\helplist\else - \rightappend##1\to\helplist\fi\else\rightappend##1\to\helplist\fi}% - \dir@list% - \let\hhelplist=\helplist\global\let\dir@list - =\hhelplist\let\helplist=\empty} -% -%Ersetzt den Inhalt des #4-ten Elementes der Liste #3 durch -%#1 Inhalt #2 -\def\additem#1#2\in#3\at#4{\m@i=#4\long\def\\##1{\advance\m@i-1 \relax - \ifnum\m@i=0\ht@i{##1}\edef\h@@@{#1\the\ht@i#2}\expandafter - \rightappend\h@@@\to\helplist\else\rightappend##1\to\helplist\fi}#3% - \let\hhelplist=\helplist\global\let#3=\hhelplist\let\helplist=\empty - } -% ************************************************** % -% * Notenlinien und Hilfslinien * % -% ************************************************** % -\def\nobaselines{\baselineskip=\z@ \lineskip=\z@ \lineskiplimit=\z@} -%\baselinesa und \baselinesb = zwei Verschiedene M"oglichkeiten f"ur -% die Interline Glue Wahl. -\def\baselinesa{% - \baselineskip=2\staffheight plus \staffheight minus .5\staffheight - \lineskip=0.5\staffheight plus \staffheight minus .5\staffheight - \lineskiplimit=0.5\staffheight} -\def\baselinesb{% - \baselineskip=3\staffheight plus \staffheight minus .5\staffheight - \lineskip=0.5\staffheight plus \staffheight minus .5\staffheight - \lineskiplimit=0.5\staffheight} -%Notenlinie -\def\hr{\hrule height\linethickness depth \z@ width \linelength} -%Notenlinie und Zwischenraum -\def\hrv{\hr\kern\linekern} -%Hilfslinie -\def\HRULE{\hrule height\linethickness depth\linethickness width \twonhh} -%Hilfslinie und Zwischenraum fuer Hilfslinien unterhalb des Systems -\def\KHR{\kern\Linekern\HRULE} -%Hilfslinie und Zwischenraum fuer Hilfslinien oberhalb des Systems -\def\HRK{\HRULE\kern\Linekern} -%Liniensystem -\def\lines{\linelength=\hsize - \hbox to \z@{\vbox{\hrv\hrv\hrv\hrv\hr}\hss}} -%Liniensystem fuer erste Zeile unter Ber"ucksichtigung des \parindent -\def\firstlines{\hbox to \z@{\linelength=\hsize\advance\linelength by - -\parindent \vbox{\hrv\hrv\hrv\hrv\hr}\hss}} -% -%macros, die die Hilfslinienbox herstellen zur zugeho"rigen Note -%\nn = Anzahl der ben"otigten Hilfslinien -%formel: \pitch<0 \nn=-\pitch/2, \pitch>8 \nn=(\pitch-8)/2, \nn=0 sonst -\def\legerlines{\leger@cal\ifnum\nn=0 \global\setbox\legerbox\null% - \else\relax\ifnum\pitch<0 \global\setbox\legerbox=\vtop{\leger@line}% - \else\global\setbox\legerbox=\vbox{\leger@line}\fi\fi} -\def\leger@line{\begingroup \loop \ifnum \nn>0 \aftergroup \HR - \advance\nn-1 \repeat \endgroup} -\def\leger@cal{\ifnum\pitch<-1 \nn =-\pitch \lyshift =\z@ \let\HR=\KHR - \else\relax\ifnum\pitch<10 \nn = 0 \lyshift =\z@ - \else\nn=\pitch\advance\nn-8 \lyshift=4\nhh%\staffheight-\linethickness - \let\HR=\HRK - \fi\fi \divide \nn by 2 } -%Hilfslinien bei Akkorden -\def\chordlegerlines{% - \ifleft - \global\setbox\leftbox= - \hboxnhw{$\raise\lyshift\box\legerbox$}{\box\leftbox}% - \else - \global\setbox\rightbox= - \hboxnhw{$\raise\lyshift\box\legerbox$}{\box\rightbox}% - \fi} -% ************************************************** % -% * Taktstriche u. a". * % -% ************************************************** % -%Striche -%Atemzeichen -\def\caesurasign{\vrule height4.5\nhh depth-3.5\nhh width3\linethickness} -%schmaler Strich: Taktstrich -\def\thinvrule{\vrule height\staffheight depth \z@ width2 \linethickness} -%dicker Strich: -\def\thickvrule{\vrule height\staffheight depth \z@ width 0.5\nhh} -%Doppelpunkt fuer Wiederholungszeichen: -\def\doppelpunkt{% - \hbox{\vrule height 2.6\nhh depth-2.4\nhh width 0.2\nhh\kern-0.2\nhh - \vrule height 1.6\nhh depth-1.4\nhh width 0.2\nhh}} -%zu Taktstrichen zusammengesetzte Striche: -\def\doppelstrich{\thinvrule\kern.25\nhw\thinvrule} -\def\schlussstrich{\thinvrule\kern\seminhw\thickvrule} -%wiederholungszeichen mit Doppelpunkt links -\def\repstrich{\doppelpunkt\kern\seminhw - \thinvrule\kern\seminhw\thickvrule} -%wiederholungszeichen mit Doppelpunkt rechts -\def\revrepstrich{\thickvrule\kern\seminhw\thinvrule\kern\seminhw - \doppelpunkt} -% -%taktstriche mit Glue -\def\|{\gluebrule\thinvrule\gluearule} -\def\={\gluebrule\schlussstrich\gluearule\null} -\def\doublebarline{\gluebrule\doppelstrich\gluearule\null} -\def\rightrepeat{\gluebrule\repstrich\gluearule\null} -\def\leftrepeat{\gluebrule\thinvrule\-\revrepstrich\nobreak} -\def\leftrightrepeat{\gluebrule\repstrich\-% - \kern-\seminhw\revrepstrich\global\sk\ruleskip} -% -% Makro fuer Orientierungszeichen -\def\boxed#1{\setbox0=\hbox{$\displaystyle{#1}$}\hbox{\lower.4pt\hbox{\lower - 3pt\hbox{\lower 1\dp0\hbox{\vbox{\hrule height .4pt \hbox{\vrule width - .4pt \hskip 3pt\vbox{\vskip 3pt\box0\vskip3pt}\hskip 3pt \vrule width - .4pt}\hrule height .4pt}}}}}} -%Kaesten -\def\1#1\2#2\*{\def\f@rsttime{#1*}\def\s@condtime{#2*}% - \expandafter\evalfirst\f@rsttime!!!% - \ifx\interim\empty \nobreak\box@@@\else - \looop\expandafter\evalinterim\interim!!!% - \ifx\interim\empty\relax\nobreak\box@@@\leave\fi - \expandafter\evalsecond\s@condtime!!!% - \ifx\interim\empty \relax\else - \looop\expandafter\evalinterim\interim!!!% - \ifx\interim\empty\relax\leave\fi -} -\def\evalfirst#1*#2!!!{\def\interim{#2}\penalty-1000\box@{#1}} -\def\evalinterim#1*#2!!!{\def\interim{#2}\penalty-1000\box@@{#1}} -\def\evalsecond#1*#2!!!{\def\interim{#2}\penalty-1000\box@@@@{#1}} -\def\box@#1{\let\setlines\relax\gluebrule - \vbox{\halign{##\cr\repbox{1.}\r@lef@ll{\linethickness}\cr - \noalign{\nointerlineskip}% - \repstrut\thinvrule\gluearule#1\cr}}% - \let\setlines=\s@tlines} -\def\box@@#1{\let\setlines\relax -\vbox{\halign{##\cr\r@lef@ll{\linethickness}\cr - \noalign{\nointerlineskip}\repstrut#1\cr}}% - \let\setlines=\s@tlines} -\def\box@@@{\vbox{\halign{##\cr\r@lef@ll{\linethickness}\repbox{}\cr - \noalign{\nointerlineskip}% - \repstrut\setgluebrule\doppelpunkt\kern\seminhw\thinvrule\cr}}} -\def\box@@@@#1{\let\setlines\relax\vbox{\tabskip\seminhw - \halign{##\tabskip\z@\cr - \repbox{2.}\r@lef@ll{\linethickness}\cr - \noalign{\nointerlineskip}% - \repstrut\thickvrule\setgluearule#1\cr}}% - \let\setlines=\s@tlines} -\def\repbox#1{\vtop to\z@{\null\nointerlineskip - \hbox to \z@{\vrule height10pt depth -\nhh width\stemwidth{#1}\hss - }\vss}} -\def\repstrut{\vrule width \z@ height 7\nhh depth\z@} -\def\overstrut{\vrule width \z@ height 6\nhh depth\z@} -%\let\overstrut=\repstrut -% -% ************************************************** % -% * SETZEN der VERSETZUNGSZEICHEN * % -% ************************************************** % -%Setzen der Versetzungszeichen vor Noten: -\def\setvorz#1{\relax\setbox \hunkbox=\hbox{\unhbox\hunkbox% - \global\advance\oldpitch-7 \yshift=\pitch\seminhh - \ifnum\oldpitch=\pitch$\raise\yshift\hbox to \z@{\hss\music#1}$\else - $\raise\yshift\hbox{\music#1}$\fi}\global\oldpitch=\pitch} -%Setzen der Versetzungszeichen in der Vorzeichnung: -\def\setsign#1#2{\hc@i=#1 \advance\hc@i by \clefcount - \ifnum\hc@i<-1 \advance\hc@i7 \else\ifnum\hc@i>9 \advance\hc@i-7 \fi\fi - $\raise\hc@i\seminhh\hbox{\music#2}$} -%Atemzeichen -\def\caesura{\setbox\hunkbox=\hbox{\unhbox\hunkbox% - \kern\p@\caesurasign\kern\nhh}} -% ************************************************** % -% * Versetzungszeichen - Eingabemacros * % -% ************************************************** % -%\x=\sharp Kreuz -%\xx= Doppel-Kreuz -%\n=\natural Aufloesungszeichen -%\b=\flat -%\bb=Doppel-Be -\def\x#1{\global\pitch=#1\relax\setvorz{\msharp}} -\def\xx#1{\global\pitch=#1\relax\setvorz{\mdoublesharp}} -\def\n#1{\global\pitch=#1\relax\setvorz{\mnatural}} -\def\b#1{\global\pitch=#1\relax\setvorz{\mflat}} -\def\bb#1{\global\pitch=#1\relax\setvorz{\mdoubleflat}} -%Versetzungszeichen in der Vorzeichnung -\def\b@#1{\setsign{#1}{\mflat}} -\def\x@#1{\setsign{#1}{\msharp}} -\def\n@#1{\setsign{#1}{\mnatural}} -% ************************************************** % -% * NOTEN - Eingabemacros * % -% ************************************************** % -%ganze -\def\g#1{\global\pitch=#1\setnotes{NOTE}} -%halbe -\def\h#1{\global\pitch=#1\setnotes{Note}} -%viertel -\def\v#1{\global\pitch=#1\setnotes{note}} -%achtel -\def\a#1{\global\pitch=#1\setnotes{notE}} -%sechzehntel -\def\s#1{\global\pitch=#1\setnotes{noTE}} -%zweiunddreissigstel -\def\z#1{\global\pitch=#1\setnotes{nOTE}} -%vierundsechzigstel -\def\d#1{\global\pitch=#1\setnotes{nOte}} -%hundertachtundzwanzigstel -\def\o#1{\global\pitch=#1\setnotes{nOtE}} -% ************************************************** % -% * PAUSEN - Eingabemacros * % -% ************************************************** % -%Pausen erhalten \pitch = 5 zum Setzen der Wertpunkte im 3. Zwischenraum -\def\sethunks{\sethunkglue\box\hunkbox\u@text\l@text} -%ganze -\def\pg{\ifdim\spaceskip=\ruleskip \global\sk=\NOTEskip\fi - \sethunks\PAUSE\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk=\NOTEskip} -%zwei Pausentakte -\def\dpd{\ifdim\spaceskip=\ruleskip \global\sk=\NOTEskip\fi - \sethunks{\music - \doublerest}\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk=\NOTEskip} -%drei Pausentakte -\def\dpg{\ifdim\spaceskip=\ruleskip \global\sk=\NOTEskip\fi - \sethunks{\music\doublerest}\hskip\nhh - \PAUSE\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk=\NOTEskip} -%vier Pausentakte -\def\dpdd{\ifdim\spaceskip=\ruleskip \global\sk=\NOTEskip\fi - \sethunks{\music\ddoublerest}% - \global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk=\NOTEskip} -%halbe -\def\ph{\sethunks\Pause\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk\Noteskip} -%viertel -\def\pv{\sethunks\pause\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk\noteskip} -%achtel -\def\pa{\sethunks\pausE\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk\notEskip} -%sechzehntel -\def\ps{\sethunks\pauSE\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk\noTEskip} -%zweiunddreissigstel -\def\pz{\sethunks\paUSE\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk\nOTEskip} -%vierundsechzigstel -\def\pd{\sethunks\pAuse\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk\nOteskip} -%hundertachtundzwanzigstel -\def\po{\sethunks\pAusE\global\pitch=5\global\nyshift=\pitch\seminhh - \nobreak\global\sk\nOtEskip} -% ************************************************** % -% * Wertpunkte * % -% ************************************************** % -%\dotwd wird in einer Notengruppe benoetigt zur Berechnung der Laenge -%des Balkens oder Bogens -\setbox0=\hbox to\seminhw{\rm\kern\p@.\hss}\dotwd=\wd0 -%#1 gibt Anzahl der Punkte an. -%- Eingabemacro -\def\.#1{\relax\hc@i=#1\relax - \ifchord\chordjoindots\else\relax\joindots% - \ifgroup\global\advance\H@a@cor by #1\dotwd \fi - \fi} -\def\dotodd{\hbox to \seminhw{\rm\kern\p@.\hss}}% -%Verschieben der Wertpunkte von Noten auf einer Notenlinie in -%......den Zwischenraum oberhalb -\def\dot@up{\hbox{$\raise0.3\nhh - \hbox to \seminhw{\rm\kern\p@.\hss}$}} -%......den Zwischenraum unterhalb der Notenlinie -\def\dot@down{\hbox{$\raise-0.5\nhh - \hbox to \seminhw{\rm\kern\p@.\hss}$}} -%Normalfall: Verschiebung in den oberen Zwischenraum -\def\doteven{\dot@up} -%setzt #1 Punkte bei einzelnen Noten -\def\joindots{\ifodd\pitch\let\punkt\dotodd\else\let\punkt\doteven\fi - $\raise\nyshift\hbox{%\kern\smkern - \begingroup \loop \ifnum \hc@i>0 \aftergroup \punkt - \advance\hc@i-1 \repeat \endgroup}$} -%Wertpukte bei Akkorden -\def\chordjoindots{\global - \setbox\dotbox\hboxnhw{\box\dotbox}{\joindots\unskip}} -% ************************************************** % -% * Akkorde - Eingabemacros * % -% ************************************************** % -\def\lchord#1\endchord{%Initialisierung - \global\maxpitch=-10000\global\minpitch=10000 - \sethunkglue\begingroup\chordtrue\lefttrue\stemuptrue - \global\setbox\rightbox=\null\global\setbox\leftbox=\null% - \global\setbox\dotbox\null% - #1\endchord} -% -\def\rchord#1\endchord{%Initialisierung - \global\maxpitch=-10000\global\minpitch=10000 - \sethunkglue\begingroup\chordtrue\leftfalse\stemupfalse - \global\setbox\rightbox=\null% - \global\setbox\leftbox=\null\global\setbox\dotbox\null% - #1\endchord} -% ************************************************** % -% * Konstruktion der Noten und Pausen * % -% ************************************************** % -%Bestimmung der zu setzenden Noten und Bestimmung der Halsrichtung -\def\tunedef{\ifchord \relax - \gdef\tune{\csname\the\notename\endcsname}% - \else\ifbeam \relax \else\stemdirectiondef\fi - \gdef\tune{\csname\the\notename\the\direction\endcsname}% - \ifgroup \global\d@rection\expandafter{\the\direction}\fi\fi} -\def\stemdirectiondef{% - \ifnum\pitch<4 \stemuptrue \direction={up}% - \else \stemupfalse \direction={down}\fi} -% -\def\calstemlup#1{\global\dur@tion=#1\relax\stemupeval of \pitch} -\def\calstemldown#1{\global\dur@tion=#1\relax\stemdowneval of \pitch} -% -%ganze noten \NOTEup=\NOTEdown -% -\def\NOTEup{\ifbeam\relax\else\global\stemlength=\z@\fi - \global\dur@tion = 0 \hbox{\music\whole}} -\let\NOTEdown=\NOTEup -\def\NOTE{\hbox{\music\whole}\global\dur@tion = 0} -% -%Halbenoten, Hals aufwaerts , Hals abw"arts gestielt -% -\def\Note{\hbox{\music\half}\global\dur@tion = 1} -\def\Noteup{\ifbeam\relax\else\calstemlup1\fi - \hbox{\music\half \stemup}} -\def\Notedown{\ifbeam\relax\else\calstemldown1\fi - \hbox{\music\stemdown \half}} -% -%Viertelnoten, Hals aufwaerts , Hals abwaerts gestielt -% -\def\noteup{\ifbeam\relax\else\calstemlup2\fi - \hbox{\music\quart\stemup}} -\def\notedown{\ifbeam\relax\else\calstemldown2\fi - \hbox{\music\stemdown\quart}} -\def\note{\hbox{\music\quart}\global\dur@tion= 2} -% -%Achtelnoten, Hals aufwaerts , Hals abwaerts gestielt -% -\def\notE{\hbox{\music\quart}\global\dur@tion= 3} -\def\notEup{\ifbeam\relax\else\calstemlup3\fi - \hbox{\music\quart\flagup{\eighthup}}} -\def\notEdown{\ifbeam\relax\else\calstemldown3\fi - \hbox{\music\flagdown{\eighthdown}\quart}} -% -%Sechzehntelnoten, Hals aufwaerts , Hals abwaerts gestielt -% -\def\noTE{\hbox{\music\quart}\global\dur@tion= 4} -\def\noTEup{\ifbeam\relax\else\calstemlup4\fi - \hbox{\music\quart\flagup{\sixteenthup}}} -\def\noTEdown{\ifbeam\relax\else\calstemldown4\fi - \hbox{\music\flagdown{\sixteenthdown}\quart}} -% -%Zweiunddreissigstelnoten, Hals aufwaerts , Hals abwaerts gestielt -% -\def\nOTE{\hbox{\music\quart}\global\dur@tion= 5} -\def\nOTEup{\ifbeam\relax\else\calstemlup5\fi - \hbox{\music\quart\flagup{\thirtytwoup}}} -\def\nOTEdown{\ifbeam\relax\else\calstemldown5\fi - \hbox{\music\flagdown{\thirtytwodown}\quart}} -% -%Vierundsechzigstelnoten, Hals aufwaerts , Hals abwaerts gestielt -% -\def\nOte{\hbox{\music\quart}\global\dur@tion= 6} -\def\nOteup{\ifbeam\relax\else\calstemlup6\fi - \hbox{\music\quart\flagup{\sixtyfourup}}} -\def\nOtedown{\ifbeam\relax\else\calstemldown6\fi - \hbox{\music\flagdown{\sixtyfourdown}\quart}} -% -%Hundertachtundzwanzigstelnoten, Hals aufwaerts , Hals abwaerts gestielt -% -\def\nOtE{\hbox{\music\quart}\global\dur@tion= 7} -\def\nOtEup{\ifbeam\relax\else\calstemlup7\fi - \hbox{\music\quart\flagup{\hundredtwentyeightup}}} -\def\nOtEdown{\ifbeam\relax\else\calstemldown7\fi - \hbox{\music\flagdown{\hundredtwentyeightdown}\quart}} -% P A U S E N -\def\PAUSE{{\music\wholerest}} -\def\Pause{{\music\halfrest}} -\def\pause{{\music\quartrest}} -\def\pausE{{\music\eighthrest}} -\def\pauSE{{\music\sixteenthrest}} -\def\pauSE{{\music\sixteenthrest}} % bis auf weiteres, da diese im -\def\paUSE{{\music\sixteenthrest}} %Zeichensatz noch nicht -\def\pAuse{{\music\sixteenthrest}} %vorhanden sind. -\def\pAusE{{\music\sixteenthrest}} % -% ************************************************** % -% * Berechnung der Notenhalslaengen * % -% ************************************************** % -\def\min@stemlength{\ifnum\dur@tion>2 - \hc@i= 3 \advance\hc@i by \dur@tion \hd@i= \hc@i\seminhh - \ifdim\hd@i>\stemlength \global\stemlength=\hd@i\fi \fi} -%Hals nach oben -\def\stemupeval of #1{\pit@=#1\relax - \ifnum\pit@<-3 \advance\pit@ by -4 \global\stemlength=-\pit@\seminhh - \else\eval@up\fi\ifgroup\relax\else\min@stemlength\fi} -\def\eval@up{\ifnum \pit@<6 \global\stemlength=7\seminhh - \else - \ifnum\pit@<8 \advance\pit@ by-12 \global\stemlength=-\pit@\seminhh - \else \global\stemlength=\twonhh - \fi\fi} -% -\def\stemdowneval of #1{\pit@=#1\relax - \ifnum\pit@>11 \advance\pit@ by -4 \global\stemlength=\pit@\seminhh - \else \eval@down\fi\ifgroup\relax\else\min@stemlength\fi} -\def\eval@down{\ifnum \pit@ > 2 \global\stemlength=7\seminhh - \else\ifnum\pit@ > 0 \advance\pit@ 4 \global\stemlength=\pit@\seminhh - \else \global\stemlength=\twonhh - \fi\fi} -% ************************************************** % -% * Konstruktion der Notenhaelse * % -% ************************************************** % -%Hals nach oben -\def\stemup{\vrule height \stemlength depth\z@ width\stemwidth} -%Hals nach unten -\def\stemdown{\vrule height\z@ depth\stemlength width\stemwidth - \hskip-2\stemwidth} -%Hals nach unten mit Fahne -\def\flagdown#1{\stemdown\ifbeam\relax\else - \vtop to\stemlength{\offinterlineskip\null\vss\hbox{\music#1}\null}\fi} -%Hals nach oben mit Fahne -\def\flagup#1{\stemup\ifbeam\relax\else - \vbox to\stemlength{\offinterlineskip\hbox{\music#1}\vss\null}\fi} -% -%Bestimmung des Notenhalses im Akkord -% -\def\stemdef{% - \ifstemup\edef\stem{\hbox{\ifcase\dur@tion \noexpand\relax - \or\stemup \or\stemup \or\flagup{\eighthup}% - \or\flagup{\sixteenthup}\or\flagup{\thirtytwoup}% - \or\flagup{\sixtyfourup}\or\flagup{\hundredtwentyeightup}% - \else\noexpand\relax\fi}}% - \else\edef\stem{\hbox{\ifcase\dur@tion \noexpand\relax - \or\stemdown \or\stemdown \or\flagdown{\eighthdown}% - \or\flagdown{\thirtytwodown}\or\flagdown{\sixteenthdown}% - \or\flagdown{\sixtyfourdown}\or\flagdown{\hundredtwentyeightdown}% - \else\noexpand\relax \fi}}% - \fi} -% Setzen des Notenhalses im Akkord -\def\setstem{\relax - \ifstemup $\raise\minpitch\seminhh\stem $% - \else $\raise\maxpitch\seminhh\stem $\fi} -% ************************************************** % -% * Das Setzen der Noten * % -% ************************************************** % -\def\setnotes#1{\relax\notename={#1}\global\nyshift=\pitch\seminhh - \legerlines\tunedef - \ifchord\setchord\else \sethunkglue \setnote \fi - } -%einzelne Note -\def\setnote{\global\setbox\notebox= - \hboxnhw{$\raise\lyshift\box\legerbox$}{$\raise\nyshift\hbox{\tune}$}% - \setakzent - \box\hunkbox\kern\smkern\u@text\l@text\box\notebox - \global\spaceskip=\csname\the\notename skip\endcsname\nobreak -% \ifnum\dur@tion=0 \global\H@a@cor =\seminhw\fi - \ifgroup \global \H@a@cor = \z@ \fi -} -%Akkorde -%Zusammenfassung der einzelnen Noten in \leftbox bzw. \rightbox -\def\setchord{% - \ifnum\maxpitch<\pitch \global\maxpitch = \pitch\fi - \ifnum\minpitch>\pitch \global\minpitch = \pitch\fi - \chordlegerlines - \ifleft - \global\setbox\leftbox= - \hboxnhw{\box\leftbox}{$\raise\nyshift\hbox{\tune}$}% - \else - \global\setbox\rightbox= - \hboxnhw{\box\rightbox}{$\raise\nyshift\hbox{\tune}$}\fi - } -% -\def\endchord{% - \nobreak\global\sk=\csname\the\notename skip\endcsname - \ifbeam \relax \else\chordnobeam\fi - \hc@i=\maxpitch \advance\hc@i-\minpitch - \global\advance\stemlength by \hc@i\seminhh - \stemdef - \ifgroup \global\H@a@cor=\z@ - \ifstemup - \ifdim\wd\rightbox>\z@ \global\advance\H@a@cor by \nhw \fi - \fi - \global\advance\H@a@cor by \wd\dotbox - \global\d@rection\expandafter{\the\direction}% - \fi - \global\setbox\notebox= - \hbox{\box\leftbox\setstem\box\rightbox\box\dotbox}% - \setchordakzent - \box\hunkbox\kern\smkern\u@text\l@text\box\notebox\chordfalse\endgroup} -\def\chordnobeam{\relax\ifstemup \stemupeval of \maxpitch - \else \stemdowneval of \minpitch\fi - \ifgroup\ifstemup\chordlowerstartpoints - \else\chordupperstartpoints\fi - \fi} -% *********************************************************** % -% * Tonarten und Aufloesung, Notenschluessel und Taktangabe * % -% *********************************************************** % -%\discretionary{vor}{nach}{kein} -\def\change{\edef\-{\noexpand\discretionary{}%vor - {\noexpand\hbox{\noexpand\lines}% - \noexpand\hbox{\the\cleftoks\the\signtoks}% - \noexpand\kern\noexpand\seminhw}%nach - {}}}%kein -\def\signchange{\change\gluebrule\discretionary{% - \hbox{\doppelstrich\set@rulesk\the\canceltoks\the\signtoks\set@rulesk - }}{\hbox{\lines\the\cleftoks\the\signtoks}\kern\seminhw}{% - \hbox{\doppelstrich\set@rulesk\the\canceltoks\the\signtoks}}% - \set@rulesk} -\def\clefchange{\change\setbox\hunkbox=\hbox{\unhbox\hunkbox% - \kern\p@{{\let\music=\smallmusic\the\cleftoks}}}} -%Taktangabe -\def\meter#1/#2{\nobreak\gluebmeter\discretionary{% - \hbox{\place4{#1}\kern-\wd\placebox\place0{#2}}\kern\seminhw - }{\hbox{\lines\the\cleftoks\the\signtoks\set@rulesk - \hbox{\place4{#1}\kern-\wd\placebox\place0{#2}}}\kern0.25\seminhw}% - {\hbox{\place4{#1}\kern-\wd\placebox\place0{#2}% - \kern0.5\seminhw}}\set@rulesk} -% \kern\seminhw}}\set@rulesk} -\def\place#1#2{\setbox\placebox\hbox{\rm#2}$\raise#1.5\seminhh\hbox{\copy - \placebox}$} -%Vorzeichnung -\def\signature#1#2{\global\signtoks={#1\kern\nhw}% - \iffirst\change\box\hunkbox\the\signtoks\set@rulesk - \else\signchange\fi\global\canceltoks={#2}} -%Notenschluessel -\def\clef#1#2{\global\clefcount=#1 - \global\cleftoks={\setkey{#2}\kern\seminhw}% - \clefchange} -%Abkuerzungen fuer Vorzeichnungen - gro\3e Buchstaben =Dur-Tonarten -% kleine Buchstaben =Moll-Tonarten -\def\F{\signature{\b@4}{\n@4}} -\def\B{\signature{\b@4\b@7}{\n@4\n@7}} -\def\Es{\signature{\b@4\b@7\b@3}{\n@4\n@7\n@3}} -\def\As{\signature{\b@4\b@7\b@3\b@6}{\n@4\n@7\n@3\n@6}} -\def\Des{\signature{\b@4\b@7\b@3\b@6\b@2}{\n@4\n@7\n@3\n@6\n@2}} -\def\Ges{\signature{\b@4\b@7\b@3\b@6\b@2\b@5}{\n@4\n@7\n@3\n@5\n@2\n@5}} -\def\Ces{\signature{\b@4\b@7\b@3\b@6\b@2\b@5\b@1}% - {\n@4\n@7\n@3\n@5\n@2\n@5\n@1}} -\def\C{\signature{}{}} -\def\G{\signature{\x@8}{\n@8}} -\def\D{\signature{\x@8\x@5}{\n@8\x@5}} -\def\A{\signature{\x@8\x@5\x@9}{\n@8\n@5\n@9}} -\def\E{\signature{\x@8\x@5\x@9\x@6}{\n@8\n@5\n@9\n@6}} -\def\H{\signature{\x@8\x@5\x@9\x@6\x@3}{\n@8\n@5\n@9\n@6\n@3}} -\def\Fis{\signature{\x@8\x@5\x@9\x@6\x@3\x@4}{\n@8\n@5\n@9\n@6\n@3\n@4}} -\let\mdis=\F \let\ma=\C -\let\mgis=\H \let\md=\F -\let\mcis=\E \let\mg=\B -\let\mfis=\A \let\mc=\Es -\let\mh=\D \let\mf=\As -\let\me=\G \let\mb=\Des - \let\mes=\Ges -%Notenschluessel -\def\setkey#1{\hbox{\music#1}} -\def\vio{\clef{0}{\mviolin}} -\def\viooct{\clef{0}{\mviolinoct}}% noch nicht im Font -\def\vioOct{\clef{0}{\mviolinOct}} % noch nicht im Font -\def\bass{\clef{-2}{\mbass}} -\def\bassoct{\clef{-2}{\mbassoct}} %noch nicht im Font -\def\bassOct{\clef{-2}{\mbassOct}} %noch nicht im Font -\def\bariton{\clef{3}{\mbariton}} -\def\tenor{\clef{1}{\mtenor}} -\def\alto{\clef{-1}{\malt}} -\def\mezzosopran{\clef{-3}{\mmezzosopran}} -\def\sopran{\clef{-5}{\msopran}} -% ************************************************** % -% * Die Verarbeitung der Nachbarschaften * % -% ************************************************** % -\mathsurround=\z@ -% ************************************************** % -% * Initialisierung der Listen einer Notengruppe * % -% ************************************************** % -%Gruppe belegt die notwendigen Listen fuer die Notengruppe -\def\group#1#2{\grouptrue - \global\oldskip=\sk - \let\u@@text = \u@text - \let\l@@text = \l@text - \global\setbox\neighborhood=\null - \gdef\elementlist{#1}\gdef\pitchlist{#2}% - \gdef\H@list{}\gdef\stemlist{}% - \gdef\uslurlist{}\gdef\lslurlist{}% - \gdef\H@corlist{}% - \gdef\dir@list{}% - \global\sl@c=\z@ - \global\S=0 - \N=0 - \long\def\\##1{% - \global\E@l=\z@\global\E@u=\z@%zuruecksetzen auf 0pt - \global\setbox\neighborhood=\hbox{\unhbox\neighborhood##1}% - \rightappend0pt\to\stemlist %initialisiert \stemlist - \expandafter\rightappend\the\wd\neighborhood\to\H@list%belegt \H@list - \expandafter\rightappend\the\E@u\to\uslurlist - %belegt obere startpunkte fuer slurs - \expandafter\rightappend\the\E@l\to\lslurlist - %belegt untere startpunkte fuer slurs - \expandafter\rightappend\the\H@a@cor\to\H@corlist - %initialisiert \H@corlist - \global\H@a@cor=\z@%zuruecksetzen auf 0pt - \expandafter\rightappend\the\d@rection\to\dir@list - %initialisiert \dir@list - \advance\N1 }\elementlist\groupfalse - } -% ************************************************** % -% * Abarbeitung & Setzen einer Notengruppe * % -% ************************************************** % -\def\go{% - \let\u@text=\u@@text - \let\l@text=\l@@text - \m@ii=0 \long\def\\##1{\advance\m@ii 1 - {\assign\m@ii\of\stemlist\to\stemlength}% - \ifdim\stemlength=\z@\beamfalse\else\beamtrue\fi##1}% - \global\sk=\oldskip - \sethunkglue\hbox{\global\sk=\z@skip\elementlist}\nobreak - \beamfalse} -% ************************************************** % -% * Verbalkung - Eingabemacros * % -% ************************************************** % -% Eingabemacros - Balken oberhalb - Balken unterhalb der Notengruppe -\def\ubeam#1#2{\stemuptrue \n@a=#1 \n@e=#2 \direction{up}% - \putdir{up}\from\n@a\to\n@e\b@@m} -% -\def\lbeam#1#2{\stemupfalse \n@a=#1 \n@e=#2 \direction{down}% - \putdir{down}\from\n@a\to\n@e\b@@m} -% -\def\b@@m{% - %Initialisierung - \additem{\noexpand\direction{\the\direction}}{}\in\elementlist\at\n@a - \ifnum\n@e>\N \n@e=\N\fi - \global\minsl=2\nhh - \assign\n@a\of\pitchlist\to\P@a - \assign\n@e\of\pitchlist\to\P@e - \assign\n@e\of\H@list\to\H@e - \assign\n@a\of\H@list\to\H@a - \select\n@a\of\dir@list\to\dir@i - \lokalassign\n@a\of\H@corlist\to\hd@i % vorne verkuerzt - \ifx\dir@i\down@\advance\hd@i \nhw \fi - \global\advance\H@a by-\hd@i - \lokalassign\n@e\of\H@corlist\to\hd@i % und hinten verkuerzt - \select\n@e\of\dir@list\to\dir@i - \ifx\dir@i\down@\advance\hd@i \nhw \fi - \global\advance\H@e by-\hd@i - \global\advance\H@e by-\H@a - %Berechnung der Steigung - \csname gradient\the\direction\endcsname% - %Anpassung der Notenhaelse - \csname calstems\the\direction\endcsname% - %Positionierung des Balkens - \beaming - %Addieren der berechneten Halsl"angenkorrektur in der \stemlist - \addslc\in\stemlist\from\n@a\to\n@e - \global\advance\sl@c \seminhh - %Korrektur der Bogenangfangspunkte oberhalb bzw. unterhalb der Noten - \ifstemup\relax - \addslc\in\uslurlist\from\n@a\to\n@e - \else \relax\global\sl@c=-\sl@c - \addslc\in\lslurlist\from\n@a\to\n@e - \global\sl@c=-\sl@c - \fi - \global\sl@c=\z@ - } -% ************************************************** % -% * Berechnungen der Halslaengen und Steigung * % -% ************************************************** % -\def\gradientup{\gradient{<}{+}} -\def\gradientdown{\gradient{>}{-}} -\def\gradient#1#2{% - \R@a=\P@a\seminhh - \R@e=\P@e\seminhh -%jetzt erst die Stemhoehe berechnen. - \ifstemup \stemupeval of \P@a \s@a=\stemlength - \stemupeval of \P@e \s@e=\stemlength - \else \stemdowneval of \P@a \s@a=\stemlength - \stemdowneval of \P@e \s@e=\stemlength - \fi - \global\E@a=\R@a \global\advance \E@a by#2\s@a - \global\E@e=\R@e \global\advance \E@e by#2\s@e - \ifnum\P@a=\P@e \global\S=0 - \else\global\flagc=1 - \ifnum\P@a#1\P@e \gradz@\in\pitchlist\with#1\the\P@e\from\n@a\to\n@e - \else \gradz@\in\pitchlist\with#1\the\P@a\from\n@a\to\n@e\fi - \ifnum\flagc=0 \global\S=0\else \global\S=1\fi - \fi - \relax - \ifnum\S = 0 \relax - \ifdim\E@a#1\E@e \global\E@a=\E@e \s@a=#2\E@a \advance\s@a-#2\R@a \fi - \else - \distance\E@a\E@e - \ifdim\Abs=\z@\relax - \ifnum\P@e#1\P@a \corrc\s@a - \global\E@a=\R@a\global\advance\E@a by#2\s@a\relax - \else \corrc\s@e - \global\E@e=\R@e\global\advance\E@e by#2\s@e\relax\fi - \fi - \distance\E@a\E@e - \limit=0.45 \H@e - \ifdim\limit>4\nhh \limit=4\nhh \fi - \hd@i=\Abs\advance\hd@i by -\limit \corr=\hd@i - \ifdim\corr>\z@\relax - \ifnum\P@a#1\P@e \corrb\s@a - \global\E@a=\R@a\global\advance\E@a by#2\s@a\relax - \else\corrb\s@e\global\E@e=\R@e\global\advance\E@e by#2\s@e\fi - \Abs=\corr - \fi - \ifnum\P@a>\P@e\global\S=-\Abs\else\global\S=\Abs\fi - \global\multiply\S by 100 \global\divide\S by \H@e - \fi %von P@a=Pb Abfrage -%\s@a und \s@e zurueckpacken an \n@a-te bzw. \N-te Stelle der \stemlist - \expandafter\exchange\the\s@a\in\stemlist\at\n@a - \expandafter\exchange\the\s@e\in\stemlist\at\n@e - \whatisnewstartpoint - \assignS} -% -\def\calstemsup{\calstems{+}} -\def\calstemsdown{\calstems{-}} -\def\calstems#1{% - \n@i=\n@a - \global\sl@c=\z@ - \EP@=\E@a - \loop\advance\n@i by 1 - \assign\n@i\of\pitchlist\to\P@i - \R@i=\P@i\seminhh - \getendpoint\n@i\EP@i - \s@i=\EP@i - \advance\s@i by-\R@i %Laenge des stems - \s@i=#1\s@i - \expandafter\exchange\the\s@i\in\stemlist\at\n@i - \whatarenewstartpoints - \ifdim\s@i<\minsl\relax - \ifdim\s@i<\z@ \s@i=-\s@i\advance\s@i by \minsl - \else\s@i=\R@i\advance\s@i by #1\minsl\advance\s@i by-\EP@i\s@i=#1\s@i\fi - \ifdim\s@i>\sl@c\relax\global\sl@c=\s@i\fi - \fi - \ifnum\n@i<\n@e \repeat - } -% -%Auswertung der \beamlist -\def\evalbeamlist#1-#2,#3#{\def\aa{#1}\def\bb{#2}% - \ifx\aa\empty\m@a=0\else\m@a=#1\fi - \ifx\bb\empty\m@e=\m@a\else\m@e=#2\fi\def\nxt{#3}% - \ifnum\m@a<0\m@a=0\fi %belegung von m@a und m@e, so dass in - \ifnum\m@a>\N\m@a=\N\fi %createbeam keine schwierigkeiten auftauchen - \ifnum\m@e<1\m@e=1\fi %koennen, z.B. bei \assign usw. - \ifnum\m@e>\N\m@e=\N\fi %0<=\m@a<=\N; 1<=\m@e<=\N - \ifnum\m@e<\m@a\hc@i=\m@a\m@a=\m@e\m@e=\hc@i\fi -} -% -\def\beamposition{% - \assign\m@a\of\H@list\to\H@m@a - \assign\m@a\of\H@corlist\to\H@a@cor - \select\m@a\of\dir@list\to\dir@i - \relax\ifx\dir@i\down@ \global\advance\H@a@cor \nhw \fi - \global\advance\H@m@a by -\H@a@cor - \V@a=\H@m@a - \advance\V@a-\H@a - \multiply\V@a by\S \V@a=0.01\V@a - \ifstemup \advance \V@a by \sl@c \relax - \else \advance \V@a by-\sl@c - \fi - \advance\V@a by \EP@ - \ifstemup\ifnum\S<0 \relax - \else \advance \V@a-\beamthickness \fi - \else - \ifnum\S<0 \advance\V@a \beamthickness\fi - \fi - \ifstemup - \advance\V@a by-\beamrow\nhh%zur Platzierung der Balken - \else - \advance\V@a by \beamrow\nhh%zur Platzierung der Balken - \fi - } -\def\createbeam{% - \looop\expandafter\evalbeamlist\nxt{}% - \ifnum\m@a>0\beamposition - \ifnum\m@e=\m@a\relax -%% \immediate\write0{rrule \the\S}% - \additem{}{\noexpand\beamr{\the\S}% - {\the\V@a}{\the\H@a@cor}}\in\elementlist\at\m@a - \else \lokalassign\m@e\of\H@list\to\hd@i - \lokalassign\m@e\of\H@corlist\to\hd@ii - \select\m@e\of\dir@list\to\dir@i - \relax\ifx\dir@i\down@ \advance\hd@ii\nhw \fi - \advance\hd@i by-\hd@ii - \advance\hd@i by-\H@m@a -%% \immediate\write0{rule \the\hd@i}% - \additem{}{\noexpand\beam{\the\S}% - {\the\hd@i}{\the\V@a}{\the\H@a@cor}}\in\elementlist\at\m@a - \fi - \else - \m@a=\m@e\beamposition -%% \immediate\write0{lrule \the\S}% - \additem{}{\noexpand\beaml{\the\S}% - {\the\V@a}{\the\H@a@cor}}\in\elementlist\at\m@a - \fi - \ifx\nxt\empty\relax\leave% - } -% -\def\beaming{\cardinality\beamlist\to\hc@i% - \ifnum\hc@i>2 \advance\hc@i-2 \global\advance\sl@c by\hc@i\seminhh\fi - \global\beamrow0 - \def\\##1{{\def\nxt{##1}\relax\createbeam\global\advance\beamrow 1% - }}\beamlist} -% ************************************************** % -% * Plazierung und Zusammensetzung der Balken * % -% ************************************************** % -\def\beam#1#2#3#4{\global\S=#1\global\L@a=#2% - $\raise#3\hbox to \z@{\kern-#4\drawbeam\hss}$} -\def\beamr#1#2#3{\global\S=#1% - $\raise#2\hbox to\z@{\kern-#3\drawbe@m\hss}$} -\def\beaml#1#2#3{\global\S=#1$\raise#2\hbox to\z@{\hss - \drawb@@m\ifstemup\else\kern\nhw\fi}$} -% -\def\putintovbox#1{% - \ifstemup - \ifnum\S>0 \vb@@{#1}\else \vt@@{#1}\fi - \else - \ifnum\S<0 \vt@@{#1}\else \vb@@{#1}\fi - \fi} -\def\putintovb@x#1{% - \ifstemup - \ifnum\S<0 \vt@@{#1}\else \vb@@{#1}\fi - \else - \ifnum\S<0 \vb@@{#1}\else\vt@@{#1}\fi - \fi} -% -\def\makebeam{\loop - \ifodd\L@ - $\raise\SHIFT\hbox{\beamfont\char\the\CODE}$% - \advance\SHIFT by \l@\gradfactor - \fi - \divide\L@ 2 \addC1 \multiply\l@2 - \ifnum\L@>0\repeat} -% -\def\drawbeam{% - {\gradfactor=\S\p@ \gradfactor = 0.005 \gradfactor - \ifnum\S=0 - \hbox{\vrule height \beamthickness depth\z@ width\L@a}% - \else\l@=1\assignCODE - \L@=\L@a - \advance \L@ by 32677%um Rundungsfehler zu vermeiden - \divide\L@ by 32678%Genauigkeit 0.5pt - \SHIFT=\z@ - \putintovbox{\beamfont \ifnum \L@ >255 \setlongbeams\fi \makebeam}% - \fi}} -\def\setlongbeams{\relax\hc@i=\CODE \advance\hc@i 7% - \loop$\raise\SHIFT\hbox{\char\the\hc@i}$% - \advance\SHIFT 128 \gradfactor \advance\L@-255 - \ifnum \L@>255 \repeat} -% -\def\drawbe@m{% - \ifnum\S=0\hbox{\vrule height \beamthickness depth \z@ width\nhh}% - \else\assignCODE\addC3\putintovbox{\beamfont\char\the\CODE}\fi} -\def\drawb@@m{% - \ifnum\S=0\hbox{\vrule height \beamthickness depth \z@ width\nhh}% - \else\assignCODE\addC3\putintovb@x{\beamfont\char\the\CODE}\fi} -% ************************************************** % -% * Die Bogen * % -% ************************************************** % -%-Eingabemacros - Bogen oberhalb - Bogen unterhalb der Notengruppe -\def\uslur#1#2{\n@a=#1\n@e=#2% - %Initialisierung - \inislur - \assign\n@a\of\uslurlist\to\E@a - \assign\n@e\of\uslurlist\to\E@e - \assignflags - %Berechnung der entgueltigen Bogenbreite - %Belegung des Anfangs- und Endpunktes des Bogens - %Berechnung des horizontalen Versatzes des Bogens - \ifdim\s@a=\z@ \ifdim\s@e=\z@ \u@nobeaming \else \u@rightbeaming \fi - \else \ifdim\s@e=\z@ \u@leftbeaming \else\u@leftrightbeaming\fi - \fi - %Berechnung der Laenge des Bogens - \intslurwidth - %Berechnung der Sekantensteigung - \gradientslur{<}{-}% - %Positionierung des Bogens - \ifnum\slurwidth > 17 \caluphrase - \else - \assignuslurchar - \ifnum\V@int=0\setslurs{2}{0}\else - \ifdim\V@<\z@\setslurs{0}{-1}\else\setslurs{0}{+1}\fi\fi - \fi -} -\def\lslur#1#2{\n@a=#1\n@e=#2% - %Initialisierung - \inislur - \assign\n@a\of\lslurlist\to\E@a - \assign\n@e\of\lslurlist\to\E@e - \assignflags - %Berechnung der entgueltigen Bogenbreite - %Belegung des Anfangs- und Endpunktes des Bogens - %Berechnung des horizontalen Versatzes des Bogens - \ifdim\s@a=\z@ \ifdim\s@e=\z@ \l@nobeaming \else \l@rightbeaming \fi - \else \ifdim\s@e=\z@ \l@leftbeaming \else\l@leftrightbeaming\fi - \fi - %Berechnung der Laenge des Bogens - \intslurwidth - %Berechnung der Sekantensteigung - \gradientslur{>}{+}% - %Positionierung des Bogens - \ifnum\slurwidth > 17 \callphrase - \else - \assignlslurchar - \ifnum\V@int=0\setslurs{3}{0}\else - \ifdim\V@<\z@\setslurs{1}{-1}\else\setslurs{1}{+1}\fi\fi - \fi -} -% -\def\intslurwidth{% - %\slurwidth*\nhw <= \H@e < (\slurwidth+1)*\nhw - \slurwidth=\H@e - \advance\slurwidth \seminhw - \divide\slurwidth by \nhw - \ifnum\slurwidth< 1 \slurwidth= 1 \fi} -%Hilfsfunktionen -\def\newslurwidth#1#2{% - \ifcase#1 \global\advance\H@e #2\nhw - \or \global\advance\H@e #2\seminhw \fi} -\def\calslurwidth{\global\advance\H@e-\H@e@cor - \global\advance\H@a-\H@a@cor - \global\advance\H@e-\H@a\relax} -\def\calslurcor#1{\slurcor=\H@a@cor \advance\slurcor #1\seminhw - \slurcor = -\slurcor} -\def\newE@a#1{\ifnum\flaga=0 \global\E@a=\P@a\seminhh - \global\advance\E@a#1\nhh \fi} -\def\newE@e#1{\ifnum\flagb=0 \global\E@e=\P@e\seminhh - \global\advance\E@e#1\nhh \fi} -\def\inislur{\relax - \ifnum\n@e>\N \n@e=\N\fi - \ifnum\n@a<1 \n@a= 1\fi - \ifnum\n@a>\n@e\n@e=\hc@i \n@e=\n@a \n@a=\hc@i\fi - % - \assign\n@e\of\H@list\to\H@e - \lokalassign\n@e\of\H@corlist\to\H@e@cor - \assign\n@a\of\H@list\to\H@a - \assign\n@a\of\H@corlist\to\H@a@cor - \select\n@a\of\dir@list\to\dir@a - \select\n@e\of\dir@list\to\dir@e - \ifx\dir@a\down@ \global\advance\H@a@cor \nhw \fi - \ifx\dir@e\down@ \advance\H@e@cor \nhw \fi - % - \assign\n@e\of\pitchlist\to\P@e - \assign\n@a\of\pitchlist\to\P@a - \lokalassign\n@e\of\stemlist\to\s@e - \lokalassign\n@a\of\stemlist\to\s@a -} -\def\assignflags{% - \flaga=2 \ifdim \E@a=\z@ \flaga=0 \fi - \ifdim\E@a> \I@@ \flaga=1 \global\advance \E@a-\I@@\fi - \ifdim\E@a<-\I@@ \flaga=1 \global\advance \E@a-\I@@\fi - \flagb=2\ifdim \E@e =\z@ \flagb=0\fi - \ifdim\E@e> \I@@ \flagb=1 \global\advance \E@e-\I@@\fi - \ifdim\E@e<-\I@@ \flagb=1 \global\advance \E@e \I@@\fi - \relax} -% -%ohne Verbalkung -\def\u@nobeaming{\calslurwidth - \ifx\dir@e\up@ \relax\newslurwidth{0}{-}\fi %stemup - \calslurcor{-}\newE@a{+}\newE@e{+}} -% -\def\l@nobeaming{\calslurwidth - \ifx\dir@a\down@ \newslurwidth{0}{-}\fi%stemdown - \ifx\dir@a\up@\calslurcor{+}\else \calslurcor{-}\fi - \newE@a{-}\newE@e{-}} -% Verbalkung nur in \n@e -\def\u@rightbeaming{\ifnum\flagb<2 \u@rightstemdown \else - \u@rightstemup \fi} -\def\u@rightstemdown{\calslurwidth - \calslurcor{-}\newE@a{+}\newE@e{+}} -\def\u@rightstemup{\calslurwidth - \advance\n@e-1 - \ifnum\n@e=\n@a \newslurwidth{0}{-}\calslurcor{-}\newE@a{+}\newE@e{+}% - \else\newslurwidth{1}{-}\calslurcor{-}\newE@a{+}%\E@e belegt - \fi\advance\n@e1} -% -\def\l@rightbeaming{\ifnum\flagb<2 \l@rightstemup \else - \l@rightstemdown \fi} -\def\l@rightstemup{\calslurwidth - \ifx\dir@a\down@ \newslurwidth{0}{-}\fi - \ifx\dir@a\up@\calslurcor{+}\else\calslurcor{-}\fi\newE@a{-}\newE@e{-}} -\def\l@rightstemdown{\calslurwidth - \advance\n@e-1 - \ifnum\n@e=\n@a \ifx\dir@a\up@\newslurwidth{0}{-}\fi - \ifx\dir@a\up@\calslurcor{+}\else\calslurcor{-}\fi\newE@a{-}\newE@e{-}% - \else\ifx\dir@a\up@\newslurwidth{1}{+}\else\newslurwidth{1}{-}\fi - \ifx\dir@a\up@\calslurcor{+}\else\calslurcor{-}\fi\newE@a{-}%\E@e belegt - \fi\advance\n@e 1 } -% -% Verbalkung nur in \n@a -\def\u@leftbeaming{\ifnum\flaga<2 \u@leftstemdown \else - \u@leftstemup \fi} -\def\u@leftstemdown{\calslurwidth - \ifx\dir@e\up@\newslurwidth{0}{-}\fi - \calslurcor{-}\newE@a{+}\newE@e{+}} -\def\u@leftstemup{\calslurwidth - \advance\n@e-1 - \ifnum\n@e=\n@a \ifx\dir@e\up@\newslurwidth{0}{-}\fi - \calslurcor{-}\newE@a{+}\newE@e{+}% - \else\ifx\dir@e\up@\newslurwidth{1}{-}\else\newslurwidth{1}{+}\fi - \slurcor=-\H@a@cor \newE@e{+}%\E@a belegt - \fi\advance\n@e1} -% -\def\l@leftbeaming{\ifnum\flaga<2 \l@leftstemup \else - \l@leftstemdown \fi} -\def\l@leftstemup{\calslurwidth - \calslurcor{+}\newE@a{-}\newE@e{-}} -\def\l@leftstemdown{\calslurwidth - \advance\n@e-1 - \ifnum\n@e=\n@a \newslurwidth{0}{-}\calslurcor{-}\newE@a{-}\newE@e{-}% - \else\newslurwidth{1}{-}\slurcor=-\H@a@cor\newE@e{-}%\E@a belegt - \fi\advance\n@e 1 } -% -% Verbalkung in beiden Faellen -\def\u@leftrightbeaming{\ifnum\flagb<2 \u@stemdown \else \u@stemup \fi} -\def\u@stemdown{% - \ifnum\flaga<2 \u@stemdownstemdown \else \u@stemupstemdown \fi} -\def\u@stemdownstemdown{\calslurwidth - \calslurcor{-}\newE@a{+}\newE@e{+}} -\def\u@stemupstemdown{\calslurwidth - \advance\n@e-1 - \ifnum\n@e=\n@a \calslurcor{-}\newE@a{+}\newE@e{+}% - \else\newslurwidth{1}{-}\slurcor=-\H@a@cor\newE@e{+}%\E@a belegt - \fi\advance\n@e 1 } -\def\u@stemup{% - \ifnum\flaga<2 \u@stemdownstemup \else \u@stemupstemup \fi} -\def\u@stemdownstemup{\calslurwidth - \advance\n@e-1 - \ifnum\n@e=\n@a \newslurwidth{0}{-}\calslurcor{-}\newE@a{+}\newE@e{+}% - \else\newslurwidth{1}{-}\calslurcor{-}\newE@a{+}%\E@e belegt - \fi\advance\n@e 1 } -\def\u@stemupstemup{\calslurwidth - \slurcor=-\H@a@cor}%E@a,E@e belegt -% -\def\l@leftrightbeaming{\ifnum\flaga<2 \l@stemup \else \l@stemdown \fi} -\def\l@stemup{% - \ifnum\flagb<2 \l@stemupstemup \else \l@stemupstemdown \fi} -\def\l@stemupstemup{\calslurwidth - \calslurcor{+}\newE@a{-}\newE@e{-}} -\def\l@stemupstemdown{\calslurwidth - \advance\n@e-1 - \ifnum\n@e=\n@a \calslurcor{+}\newE@a{-}\newE@e{-}% - \else\newslurwidth{1}{+}\calslurcor{+}\newE@a{-}%\E@e belegt - \fi\advance\n@e 1 } -\def\l@stemdown{% - \ifnum\flagb<2 \l@stemdownstemup \else \l@stemdownstemdown \fi} -\def\l@stemdownstemup{\calslurwidth - \advance\n@e-1 - \ifnum\n@e=\n@a \newslurwidth{0}{-}\calslurcor{+}\newE@a{-}\newE@e{-}% - \else\newslurwidth{1}{-}\slurcor=-\H@a@cor\newE@e{-}%\E@a belegt - \fi\advance\n@e 1 } -\def\l@stemdownstemdown{\calslurwidth\slurcor=-\H@a@cor}%E@a,E@e belegt -% -%Sekantensteigung -\def\gradientslur#1#2{% - \ifdim\E@a=\E@e \V@int=0 \V@=\z@%auswaehlen von angemessenen Boegen - \else - \V@ = \E@e \advance \V@ by -\E@a - \ifdim\V@>\z@ \V@int=\V@ \else \V@int=-\V@ \fi - \advance\V@int \V@int \advance\V@int \seminhh \divide \V@int by 2 - \divide \V@int by \seminhh - \ifnum\V@int>8 \V@int=8 \else \ifnum\slurwidth<4 - \hc@i=\slurwidth \multiply \hc@i2 - \ifnum\hc@i<\V@int \V@int=\hc@i - \fi\fi - \fi - \hd@i=\V@int\seminhh - \ifdim\E@a#1\E@e \global\E@a=\E@e\global\advance\E@a#2\hd@i - \else \global\E@e=\E@a\global\advance\E@e#2\hd@i\fi - \fi - } -% -%Postitionierung und Bogensatz -\def\caluphrase{\ifnum\V@int=0 - \caltie{0}{3}{+}\else \calphrase{<}{+}{0}\fi} -\def\callphrase{\ifnum\V@int=0 - \caltie{1}{3}{-}\else \calphrase{>}{-}{1}\fi} -\def\caltie#1#2#3{\hd@i=\E@a \hd@ii=\tieconst\seminhh - \advance\hd@ii\nhh - \advance\hd@i #3\hd@ii - \additem{}{\noexpand\phrase{#1}{\the\H@e}% - {#2}{#2}{\the\hd@i}{\the\slurcor}}\in\elementlist\at\n@a} -\def\calphrase#1#2#3{% - \ifdim\V@#1 \z@ - \hd@i=\phraseconst\seminhh \advance\hd@i\nhh - \global\advance\E@a#2\hd@i - \additem{}{\noexpand\phrase{#3}{\the\H@e}% - {0}{\the\V@int}{\the\E@a}{\the\slurcor}}\in\elementlist\at\n@a -% 0 entspr. slur aus der ersten spalte im font Sconst - \else - \hd@i=\phraseconst\seminhh \advance\hd@i\seminhh - \global\advance\E@a by #2\hd@i\relax - \hd@i=\V@int\seminhh - \global\advance\E@a by #2\hd@i \relax - \additem{}{\noexpand\phrase{#3}{\the\H@e}% - {\the\V@int}{0}{\the\E@a}{\the\slurcor}}\in\elementlist\at\n@a -% 0 entspr. slur aus der ersten spalte im font - \fi} -\def\phrase#1#2#3#4#5#6{\hc@i=#3\hc@ii=#4% - $\raise#5\hbox to \z@{{\kern#6% - \ifcase#1 - \vt@@{\hbox to #2 {\slurfont - \vt@@{\char\hex2\the\hc@i}\r@lef@ill{\p@}\vt@@{\char\hex3\the\hc@ii}}}% - \or - \vb@@{\hbox to #2 {\slurfont - \vb@@{\char\hex4\the\hc@i}\r@lef@ll{\p@}\vb@@{\char\hex5\the\hc@ii}}}% - \fi - \hss}}$} -% -\def\setslurs#1#2{\additem{}{\noexpand\setslur{#2}{#1}% - {\the\E@a}{\the\slurcor}{\the\slurtoks}}\in\elementlist\at\n@a} -\def\setslur#1#2#3#4#5{\S@=#1\hc@i=#2% - $\raise#3\hbox to \z@{{\kern#4\relax - \ifnum\S@<0 \vt@@{\selectfont\char#5}\else - \vb@@{\selectfont\char#5}\fi - \hss}}$} -\def\selectfont{% - \ifcase\hc@i\ifnum\S@<0\slurfontdu\else\slurfontuu\fi%0 - \or \ifnum\S@<0\slurfontdd\else\slurfontud\fi%1 - \or \slurfont \or \slurfont \fi} -% ************************************************** % -% * Akzente fuer Noten und Akkorde * % -% ************************************************** % -%Abkuerzungen -\def\cantusfirmus{{\it c.f.}} -\def\crescendo{{\it cresc.}} -\def\dacapo{{\it d.c.}} -\def\dalsegno{{\it d.s.}} -\def\decrescendo{{\it decresc.}} -\def\diminuendo{{\it dim.}} -\def\fine{{\it fine}} -\def\forte{{\it f}} -\def\fortissimo{{\it ff}} -\def\fortissimoposs{{\it fff}} -\def\fortepiano{{\it fp}} -\def\forzato{{\it fz}} -\def\mezzoforte{{\it mf}} -\def\mezzopiano{{\it mp}} -\def\piano{{\it p}} -\def\pianissimo{{\it pp}} -\def\pianissimoposs{{\it ppp}} -\def\rallentando{{\it rall.}} -\def\rinforzando{{\it rfz.}} -\def\ritardando{{\it rit.}} -\def\ritenuto{{\it riten.}} -\def\sforzato{{\it sfz}} -\def\sforz{{\it sf}} -\def\staccato{{\it stacc.}} -\def\tacet{{\it tacet}} -\def\unisono{{\it unis.}} -%Plazierung der Spielanweisungen am Notenkopf -\def\noaccent{\setbox\akzentbox\null} -\def\stac{\setbox\akzentbox\hboxnhw{{\rm.}}{\box\akzentbox}} -\def\dec{{{\slurfont\char'160}}} -\def\staccatissimo{\setbox\akzentbox% - \hboxnhw{$\ssize\prime$}{\box\akzentbox}} -\def\tr{\setbox\akzentbox\hboxnhw{{\rm{\it tr}}}{\box\akzentbox}} -\def\trbrack{\setbox\akzentbox\hboxnhw{{\rm({\it tr})}}{\box\akzentbox}} -\def\tenuto{\setbox\akzentbox\hboxnhw{{\vrule width \nhh height 1pt}} -{\box\akzentbox}} -\def\plus{\setbox\akzentbox= - \hboxnhw{$\scriptscriptstyle+$}{\box\akzentbox}} -\def\setchordakzent{% - \ifdim\wd\akzentbox=\z@\relax\else - \iftwo \akzent@position \else - \ifstemup \l@akzent@position \else \u@akzent@position\fi \fi - \ifstemup\global\setbox\notebox=\hbox{$ - \raise \akzent@pos\hbox to \z@{\copy\akzentbox\hss}$\box\notebox}\else - \global\setbox\notebox=\hbox{\box\notebox$ - \raise \akzent@pos\hbox to\z@{\hss\copy\akzentbox}$}\fi\fi} -\def\setakzent{% - \ifdim\wd\akzentbox=\z@\relax\else - \iftwo \akzent@position \else - \ifstemup \l@akzent@position \else \u@akzent@position\fi \fi - \global\setbox\notebox=\hboxnhw{\box\notebox}{$ - \raise \akzent@pos\hbox{\copy\akzentbox}$}\fi} -\def\u@akzent@position{\hc@i=\ht\notebox \divide\hc@i by \seminhh - \ifnum\hc@i>7 \advance\hc@i 1 \else - \ifodd\hc@i \advance \hc@i 2 \else \advance \hc@i 1\fi\fi - \akzent@pos = \hc@i\seminhh\relax - \ifgroup - \global\E@u=\akzent@pos \global\advance\E@u\ht\akzentbox - \global\advance\E@u\seminhh - \ifdim\E@u<\z@ \global\advance \E@u-\I@@ - \else \global\advance \E@u \I@@ \fi\fi - } -\def\l@akzent@position{\hc@i=\dp\notebox \divide\hc@i by \seminhh - \ifdim\dp\notebox>\z@ \advance\hc@i 1 \akzent@pos= -\hc@i\seminhh - \else - \ifnum\pitch>2 \akzent@pos=\seminhh \else \akzent@pos=-\seminhh\fi\fi - \advance\akzent@pos-\ht\akzentbox - \ifgroup - \global\E@l=\akzent@pos \global\advance\E@l-\seminhh - \ifdim\E@l<\z@ \global\advance \E@l-\I@@ - \else \global\advance \E@l \I@@ \fi\fi} -%varable (De-)Crescendo - Zeichen -\def\cresc#1{\sethunkglue\box\hunkbox\global\sk=0pt - \setbox\hb@i\hbox{#1}\hc@i=\wd\hb@i\divide\hc@i\nhw - \ifnum\hc@i < 1 \hc@i=1 \fi \ifnum\hc@i>16 \hc@i = 16\fi\advance\hc@i95 - \setover{\slurfont\char\the\hc@i}{\overstrut\unhbox\hb@i}} -\def\decresc#1{\sethunkglue\box\hunkbox\global\sk=0pt - \setbox\hb@i\hbox{#1}\hc@i=\wd\hb@i\divide\hc@i\nhw - \ifnum\hc@i < 1 \hc@i=1 \fi \ifnum\hc@i>16 \hc@i=16 \fi\advance\hc@i111 - \setover{\slurfont\char\the\hc@i}{\overstrut\unhbox\hb@i}} -\def\setover#1#2{\vbox{\offinterlineskip\hbox{#1}\hbox{#2}}} -% ************************************************** % -% * Textunterlage * % -% ************************************************** % -% Text oberhalb und unterhalb der Notenlinien -%- Eingabemacros -\def\^#1#{\set@above@parms{#1}\set@above@box} -\let\us=\_ -\def\_#1#{\set@below@parms{#1}\set@below@box} -\def\a@tok{\^}\def\b@tok{\_} -%#1 n : Der Text soll nicht in die Berechnung einbezogen werden, -%#1 c : Der Text wird unterhalb der Notenbox zentriert und nicht in -% die weitere Berechnung einbezogen -%#1 l: (linksbuendig) aber neuer spaceskip festgesetzt, Box ist so breit -%wie Text. -%#1 r: (rechtsbuendig) Box ist so breit wie Notenbox + ihr spaceskip -%der Rest wird links ueberstehen. sk veraendert. -\def\set@above@parms#1{\def\aresp{#1}\ifx\aresp\empty \def\aresp{x}\fi - \overtext=\staffheight\advance\overtext by\nhh} -\def\set@below@parms#1{\def\bresp{#1}\ifx\bresp\empty \def\bresp{x}\fi - \undertext=\textline} -\def\set@above@box#1{\hs@iv=\sk\setbox\hb@i=\hbox{\global\sk=\z@skip - \strut\eightrm#1}\get@below@box} -\def\get@below@box#1#{\def\@B@{#1}\begingroup\aftergroup\set@below - \ifx\@B@\b@tok\relax %\aftergroup#2 - \else\aftergroup e\aftergroup{\aftergroup}\fi - \endgroup} -\def\set@below#1#{\set@below@parms{#1}\set@boxes} -\def\set@boxes#1#2{\setbox\hb@ii=\hbox{\global\sk=\z@skip\strut\eightrm#1}% - \global\sk=\hs@iv \setbox\hb@iii\hbox{#2}% - \hs@v=\sk \relax\hs@vi=\sk - \above{\aresp}\below{\bresp}\global\sk=\hs@iv\relax - \ifvoid\hb@iii \global\sk=\z@skip \hbox{\u@text\l@text}\else #2\fi - \ifdim\hs@vi>\hs@v\global\sk=\hs@vi\else\global\sk=\hs@v\fi - \def\l@text{\relax}\def\u@text{\relax}} -% -\def\set@below@box#1{\hs@iv=\sk\setbox\hb@ii=\hbox{\global\sk=\z@skip - \strut\eightrm#1}\get@above@box} -\def\get@above@box#1#{\def\@A@{#1}\begingroup\aftergroup\set@above - \ifx\@A@\a@tok\relax%\aftergroup#2 - \else\aftergroup e\aftergroup{\aftergroup}\fi\endgroup} -\def\set@above#1#{\set@above@parms{#1}\set@@boxes} -\def\set@@boxes#1#2{\setbox\hb@i=\hbox{\global\sk=\z@skip\strut\eightrm#1}% - \global\sk=\hs@iv \setbox\hb@iii\hbox{#2}% - \hs@v=\sk \relax\hs@vi=\sk - \above{\aresp}\below{\bresp}\global\sk=\hs@iv\relax - \ifvoid\hb@iii\global\sk=\z@skip\hbox{\u@text\l@text}\else#2\fi - \ifdim\hs@vi>\hs@v\global\sk=\hs@vi\else\global\sk=\hs@v\fi - \def\l@text{\relax}\def\u@text{\relax}} -\def\above#1{\ifdim\ht\hb@iii>\overtext \overtext = \ht\hb@iii - \advance \overtext \seminhh \fi - \if#1e\def\u@text{\relax}\else - \if#1n\anorespect\else - \if#1c\acrespect\else - \if#1r\arrespect\else - \if#1l\alrespect\else\aautoset\fi\fi\fi\fi\fi\nobreak} -\def\below#1{% - \if#1e\def\l@text{\relax}\else - \if#1n\bnorespect\else - \if#1c\bcrespect\else - \if#1r\brrespect\else - \if#1l\blrespect\else - \if#1v\bvrespect\else\bautoset\fi\fi\fi\fi\fi\fi\nobreak} -\def\anorespect{% - \def\u@text{$\raise\overtext\hbox to\z@{\box\hb@i\hss}$}} -\def\acrespect{\hd@i=\wd\hb@iii\advance\hd@i-\hs@iv\relax - \setbox\hb@i\hbox to\hd@i{\hss\box\hb@i\hss}% - \def\u@text{$\raise\overtext\hbox to \z@{\box\hb@i\hss}$}} -\def\arrespect{\hd@i=\wd\hb@iii - \advance\hd@i by \hs@v \advance\hd@i by-\hs@iv - \setbox\hb@i\hbox to \hd@i{\hss\box\hb@i}% - \def\u@text{$\raise\overtext\hbox to \z@{\box\hb@i\hss}$}% - \advance\hs@v by \nhh plus\nhh\relax} -\def\alrespect{\hd@i=\wd\hb@iii\advance\hd@i-\hs@iv - \distance{\hd@i}{\wd\hb@i}\ifdim\hd@i>\wd\hb@i - \hs@v=\Abs plus\nhh \fi - \def\u@text{$\raise\overtext\hbox to \z@{\box\hb@i\hss}$}} -\def\bnorespect{% - \def\l@text{$\lower\undertext\hbox to\z@{\box\hb@ii\hss}$}} -\def\bvrespect{\undertext=\ht\hb@ii\relax - \ifdim\dp\hb@iii>\z@ \advance\undertext by\dp\hb@iii\fi\bnorespect} -\def\bcrespect{% - \hd@i=\wd\hb@iii\advance\hd@i-\hs@iv\relax - \setbox\hb@ii\hbox to\hd@i{\hss\box\hb@ii\hss}% - \def\l@text{$\lower\undertext\hbox to \z@{\box\hb@ii\hss}$}} -\def\brrespect{\hd@i=\wd\hb@iii - \advance\hd@i by \hs@vi \advance\hd@i by-\hs@iv - \setbox\hb@ii\hbox to \hd@i{\hss\box\hb@ii}% - \def\l@text{$\lower\undertext\hbox to \z@{\box\hb@ii\hss}$}% - \advance\hs@vi by \nhh plus\nhh\relax} -\def\blrespect{\hd@i=\wd\hb@iii\advance\hd@i-\hs@iv - \distance{\hd@i}{\wd\hb@ii}\ifdim\hd@i>\wd\hb@i - \hs@vi=\Abs plus\nhh\relax \fi - \def\l@text{$\lower\undertext\hbox to \z@{\box\hb@ii\hss}$}} -\def\aautoset{\hd@i=\wd\hb@i \advance \hd@i-\wd\hb@iii - \advance\hd@i-\hs@iv - \ifdim\hd@i>\z@ \relax - \ifdim\hd@i>0.75\hs@v \advance\hd@i-\hs@v - \ifdim\hd@i<\hs@v \arrespect\else\alrespect\fi - \else\acrespect\fi - \else\anorespect\fi - } -\def\bautoset{\hd@i=\wd\hb@ii \advance\hd@i-\wd\hb@iii - \advance\hd@i-\hs@vi - \ifdim\hd@i>\z@ \relax - \ifdim\hd@i>\sk \advance\hd@i-\sk - \ifdim\hd@i<\sk \brrespect\else\blrespect\fi - \else\bcrespect\fi - \else\bnorespect\fi - } -% ************************************************** % -% * Zweistimmige Notation in einem System * % -% ************************************************** % -\def\two#1#2{{\def\stemdirectiondef{\relax}\twotrue - \setbox\h@nkbox=\hbox{\box\hunkbox}% - \hs@i=\sk \global\sk=\z@skip - \setbox\firstvoice\hbox{\stemuptrue - \let\akzent@position=\u@akzent@position\direction{up}#1}% - \hs@ii=\sk \global\sk=\z@skip - \setbox\secondvoice\hbox{% - \def\doteven{\dot@down}\let\akzent@position=\l@akzent@position - \stemupfalse\direction{down}#2}% - \hs@iii=\sk - \hbox{\global\sk=\hs@i\sethunkglue - \box\h@nkbox\ifdim\wd\firstvoice<\wd\secondvoice - \hd@i=\wd\firstvoice\global\sk=\z@skip\box\firstvoice\hskip-\hd@i - \global\sk=\z@skip\box\secondvoice\global\sk=\hs@iii\else - \hd@i=\wd\secondvoice\global\sk=\z@skip\box\secondvoice\hskip-\hd@i - \global\sk=\z@skip\box\firstvoice\global\sk=\hs@ii\fi}\twofalse}} -% ************************************************** % -% * Beginn und Ende * % -% ************************************************** % -%Material fuer die Ueberschrift eines Musikstueckes -\def\comp@{\hbox{}} %Komponist -\def\poet@{\hbox{}} % Texter -\def\title@{\hbox{}}% Titel -\def\voice@{\hbox{}}%Text zu Beginn der ersten Notenzeile -\def\composer#1{\def\comp@{\hbox{\eightrm #1}}} -\def\poet#1{\def\poet@{\hbox{\eightrm#1}}} -\def\title#1{\def\title@{\hbox{\bf#1}}} -\def\voice#1{\def\voice@{\hbox to \parindent{\offinterlineskip - \hss\vbox to \staffheight{\vfil\hbox{\rm#1}\vfil}\hss}}} -%Zusammensetzen der Ueberschrift -\def\headings{\par\hbox to \hsize{\hss\title@\hss}% - \hbox to \hsize {\poet@\hss\comp@}% - \def\comp@{\hbox{}}\def\poet@{\hbox{}}\def\title@{\hbox{}}} -%Rahmen \beginsong ...... \endsong -\outer\def\beginsong#1#2{\headings\par\nointerlineskip - \begingroup\inisong - \global\signtoks={}\global\cleftoks={}% - \noaccent - \baselines\parskip\staffheight plus 0.5\staffheight \relax - \firsttrue\indent\llap{\voice@}% - \firstlines#1#2\firstfalse\music} -\def\endsong{\break\null\par\endgroup\def\voice@{\hbox{}}\global\sk=0pt} -\outer\def\ende{\endsong\end} -% ************************************************** % -% * Defaults * % -% ************************************************** % -%Defaults zu Beginn des Musikstueckes -\def\inidefaults{\let\dotdown=\dot@down - \def\helplist{}% - \global\minsl=3 \nhh - \let\na=\n@a \let\nee=\n@e - \def\beamlist{\\{\the\n@a-\the\n@e,}}% -% Minimal moegliche Halslaenge bei Verbalkung - Anfangsbelegung - \n@a=1} -%Diese k"onnen nicht in \beginsong .... \endsong eingebettet werden -%da sonst keine Aenderung moeglich - \universal - \normalbaselines -\catcode`@ = 12 -%\let\baselines = \baselinesa %fuer Einbettung einzeiliger Beispiele - %in Text -\let\baselines = \baselinesb %fuer mehrzeilige Beispiele -\rm diff --git a/macros/mtex/macros/mtexdemo.tex b/macros/mtex/macros/mtexdemo.tex deleted file mode 100644 index e1c8402c6e..0000000000 --- a/macros/mtex/macros/mtexdemo.tex +++ /dev/null @@ -1,299 +0,0 @@ -%format plain -%--------------------------------------------------- -\input german.sty -%\input verbatim -% macros for verbatim scanning -% im wesentlichen dem file MANHDR TEX von DEK entnommen -\catcode`@=11 -\def\tt{\fam\ttfam\tentt}% -\newskip\ttglue \ttglue=.5em plus .25em minus .15em -\chardef\other=12 -\def\ttverbatim{\begingroup - \catcode`\\=\other - \catcode`\{=\other - \catcode`\}=\other - \catcode`\$=\other - \catcode`\&=\other - \catcode`\#=\other - \catcode`\%=\other - \catcode`\~=\other - \catcode`\_=\other - \catcode`\^=\other - \catcode`\"=\other - \parskip \z@ - \obeyspaces \obeylines \tt} - -\def\begintt{$$\let\par=\endgraf \ttverbatim - \catcode`\|=0 \rightskip-5pc \ttfinish} -{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character - |obeylines % end of line is active - |gdef|ttfinish#1^^M#2\endtt{|vbox{#2}|endgroup$$}} - -\catcode`\|=\active -{\obeylines \gdef|{\ttverbatim \spaceskip\ttglue \let^^M=\ \let|=\endgroup}} -%\def\ttspace{{\tt\hskip\ttglue}} - -\def\vrt{\hbox{\tt\char`\|}} % vertical line -\def\dn{\hbox{\tt\char'14}} % downward arrow -\def\up{\hbox{\tt\char'13}} % upward arrow -\def\]{\hbox{\tt\char`\ }} % visible space - -\catcode`@=12 % at signs are no longer letters -\def\verbatimon{\catcode`\|=\active} -\def\verbatimoff{\catcode`\|=\other} -\verbatimoff -%--------------------------------------------------- end of verbatim.tex -\nopagenumbers -\headline{\eightrm \hfill Beispiele f"ur den Notensatz mit \TeX -\hfill\hbox to 0pt{\hss Schofer/Steinbach 1987}} -%--------------------------------------------------- -\input mtex -%--------------------------------------------------- -\let\os=\^ -\let\us=\_ -\def\ks#1{\noindent\hbox{{\tt \char\hex5C}\bf#1}} -\def\bs{\noindent\hbox{{\tt \char\hex5C}}}%Backslash -\def\lk{\hbox{{\tt\char\hex7B}}}%linke Klammer auf -\def\strich{{\hbox{\tt \char\hex7C}}} -\def\dpkt{{\hbox{\tt \char\hex3A}}}%Doppelpunkt -\def\gleich{{\hbox{\tt \char\hex3D}}}% -\def\slash{\noindent{\hbox{\tt \char\hex2F}}} -\def\blank{{\hbox{\tt \char\hex20}}} -% -\let\leftbrace=\{ -\def\{{\ifmmode\leftbrace\else{$\leftbrace$}\fi} -\let\rightbrace=\} -\def\}{\ifmmode\rightbrace\else{$\rightbrace$}\fi} -% -% -\verbatimon -\normalbaselines -\openup\jot -% -%\universal %ist f"ur MTEX etwas zu breit -\small %so gehts vielleicht besser -% -\title{\vbox{\hbox to 0pt{\hss 6 Suiten f"ur Cello Solo\hss} - \hbox to 0pt{\hss Suite II Menuet I\hss}}} -\poet{\vtop{\hbox to 0pt{F"ur Viola "ubertragen \hss} - \hbox to 0pt{von Franz Schmidtner\hss}}} -\composer{Johann Sebastian Bach} -\parindent 20pt -\beginsong\alto\F\meter3/4% -\rchord \h5\h7\h9\endchord\v{10}\|% -\two{\group{\\{\a{10}}\\{\a9}\\{\a{10}}\\{\a8}}{\\{10}\\{9}\\{10}\\{8}}% -\ubeam14\uslur12\go}{\rchord \a4\a6\endchord}% -\v9\|\rchord\v3\v5\endchord\v8% -\group{\\{\a7}\\{\a6}}{\\{7}\\{6}}\lbeam12\go\|% -\two{\group{\\{\a7}\\{\a6}\\{\a5}\\{\x4\a4}\\{\n3\a3}\\{\a2}} -{\\{7}\\{6}\\{5}\\{4}\\{3}\\{2}}\ubeam16\uslur13\go}% -{\a2}\|\rchord \h5\h7\h9\endchord\v{10}\|% -\two{\group{\\{\a{10}}\\{\a9}\\{\tenuto\a{10}}\\{\tenuto\a8\noaccent}} -{\\{10}\\{9}\\{10}\\{8}}\ubeam14\uslur12\go}{\a6}% -\v{11}\|\rchord\v7\v9\endchord\rchord\v3\v7\v{12}\endchord -\rchord\v1\v8\v{13}\endchord\|\rchord\h2\.1\h6\.1\x{11}\h{11}\.1\endchord -\leftrightrepeat -\rchord\h9\h{13}\endchord -{\def\beamlist{\\{1-3,}\\{2-3,}}% -\group{\\{\a{12}}\\{\s{13}}\\{\s{14}}}{\\{12}\\{13}\\{14}}\lbeam13% -\uslur13\go}\| -\two{\group{\\{\a{13}}\\{\a{12}}\\{\x{11}\a{11}}\\{\a{13}}\\{\a9}\\{\a8}} -{\\{13}\\{12}\\{11}\\{13}\\{9}\\{8}}\ubeam16\uslur15\go}{\a8}\|% -\two{\group{\\{\v9}\\{\v{12}}}{\\{9}\\{12}}\uslur12\go}{\h7}% -\x{11}\two{\v{11}}{\v6}\|% -\two{\group{\\{\a{15}}\\{\a{14}}\\{\a{13}}\\{\a{14}}\\{\a{12}}% -\\{\n{11}\a{11}}} -{\\{15}\\{14}\\{13}\\{14}\\{12}\\{11}}\ubeam16\uslur15\go}{\a5}\|% -\two{\h{10}}{\group{\\{\v8}\\{\v7}}{\\{8}\\{7}}\lslur12\go}% -\two{\v{11}}{\v6}\|% -\two{\group{\\{\a9}\\{\a8}\\{\a9}\\{\a7}}{\\{9}\\{8}\\{9}\\{7}}\ubeam14% -\go}{\a7}% -\rchord\v{12}\v6\v3\endchord\|\rchord\v{11}\v7\v2\endchord -\group{\\{\a{10}}\\{\a9}\\{\a8}\\{\a9}}{\\{10}\\{9}\\{8}\\{9}}\lbeam14\go -\|\group{\\{\a7}\\{\a6}\\{\a7}\\{\a9}\\{\a8}\\{\a{10}}} -{\\{7}\\{6}\\{7}\\{9}\\{8}\\{10}}\lbeam16\go\|% -\x7\two{\tr\h9\noaccent}{\h7}% -\two{\v{10}}{\pv}\|\b6% -\two{\group{\\{\a8}\\{\a7}\\{\a8}\\{\a6}} -{\\{8}\\{7}\\{8}\\{6}}\ubeam14\uslur12\go}{\a6}% -\x7\tr\v7\noaccent\|\rchord\v{12}\v8\v3\endchord\rchord\v{11}\v8\v4\endchord -\two{\group{\\{\a{10}}\\{\a9}}{\\{10}\\{9}}\ubeam12\uslur12\go}{\v5}\|% -\group{\\{\rchord\a{11}\a5\a1\endchord -}\\{\a{10}}\\{\a9}\\{\a{10}}\\{\a8}\\{\a{10}}} -{\\{1}\\{10}\\{9}\\{10}\\{8}\\{10}}\lbeam16\go\|% -\two{\group{\\{\v{12}}\\{\x{11}\v{11}}} -{\\{12}\\{11}}\uslur12\go}{\v8\pv}\n7% -\two{\v{12}}{\v7}\|\x4% -\two{\group{\\{\a8}\\{\a7}\\{\a8}\\{\a6}} -{\\{8}\\{7}\\{8}\\{6}}\ubeam14\uslur12\go}{\a4}% -\two{\v7}{\v5}\|% -\group{\\{\a1}\\{\a8}}{\\{1}\\{8}}\lbeam12\go\two{\tr\v6\.1}{\v2\.1}% -\two{\a5}{\raise-1.5\nhh\hbox{\pa}}\|\lchord\h5\.1\h2\.1\h{-2}\.1\endchord -\rightrepeat -\endsong -\parindent0pt -{\eightrm -Aus: Johann Sebastian Bach, Sechs Suiten, f"ur Viola bearbeitet von -Franz Schmidtner, Musikverlag Hans Sikorski, Hamburg. -} -\vskip0.5cm -F"ur dieses Musikst"uck lautet die Eingabe: -\vskip0.5cm -%%%%%%%%%%%%%%%%%% -%%%%% bach %%%%%%% -%%%%%%%%%%%%%%%%%% -{\bf !!} -\ks{title}\{6 Suiten f"ur Cello Solo -\bs{atop} Suite II Menuet I\}\par -\ks{composer}\{Johann Sebastian Bach\} -\ks{poet}\{F"ur Viola "ubertragen \bs{atop} von Franz Schmidtner\}\par -\ks{alto}\ks{F}\ks{meter}\{{\bf3}\slash {\bf4}\}\ks{two} -\par{\bf \{\ \ \ \ks{chord}\{2`d f a\} 4h\strich -\ks{chord}\{'8c `e\}\slash\ \slash\ \slash\ 4a\strich -\par -\ks{chord}\{4,h `d\} g\ks{beam}\{8f e\}\strich -,8a \slash\ \slash\ \slash\ \slash\ \slash\ \strich -\ks{chord}\{`2d f a\} 4h\strich 8e -\slash\ \slash\ \slash\ -{`}{`}4c \strich\par -\ks{chord}\{4`f a\}\ks{chord}\{,h `f {`}{`}d\} -\ks{chord}\{,g `g {`}{`}e\}\strich -\par\ks{chord}\{2.,a ,`e ,x{`}{`}c\} -\dpkt\strich\strich\dpkt -\par\ks{chord}\{2`a {`}{`}e\}\ks{slur}\{\ks{beam}\{8d 6e f\}\}\strich -8`g\slash\ \slash\ \slash\ \slash\ \slash\ \strich -2f \slash\ 4e\strich 8d \slash\ \slash\ \slash\ \slash\ \slash\strich -\ks{slur}\{4g f\}e\strich\par - 8f\slash\ \slash\ \slash\ -\ks{chord}\{4,h `e {`}{`}d\}\strich\ks{chord}\{4,a `f {`}{`}c\} -\ks{beam}\{8`h a g a\}\strich\par \ks{beam}\{8f e f a g h\}\strich -2xf 4p \strich b8e \slash\ \slash\ \slash\ -4xf \ks{tr}\strich\ks{chord}\{4,h `g {`}{`}d\} -\ks{chord}\{4`c g {`}{`}c\} `d\slash\ \strich -\par\ks{beam}\{\ks{chord}\{,8g `d {`}{`}c\} 8`h a h g h\}\strich -4g p nf\strich 8xc \slash\ \slash\ \slash\ 4d\strich -\par\ks{beam}\{8,g `g\} 4.,a 8p\strich \ \slash\ -\dpkt\strich\strich\ \ \}\par -\{\ \ \slash\ \slash\ \strich -\ks{beam}\{\ks{slur}\{8{`}h a\} h g\}\slash\ \strich -\slash\ \slash\ \slash\ \slash\ \strich -\ks{beam}\{\ks{slur}\{'8f e d\}xc ,nh a\}\strich -\slash\ \slash\ \strich\par\ks{beam}\{\ks{slur}\{8h a\}\ks{tenuto} h -f \ks{noaccent}\ \slash\ \}\strich -\slash\ \slash\ \slash\ \strich -\slash\ \dpkt\strich\strich\dpkt\par -\slash\ \slash\ \slash\ \slash\ \strich -\ks{beam}\{\ks{slur}\{8{`}{`}e d xc e `a\}g\}\strich -\ks{slur}\{`4a {`}{`}d\}xc\strich -\ks{beam}\{\ks{slur}\{8{`}{`}g f e f d \}nc\}\strich\par -`2h\slash\ {`}{`}4c\strich \ks{beam}\{8`a g a f\}\slash\ \strich -\slash\ \slash\ \slash\ \slash\ \slash\strich -\slash\ \slash\ \slash\ \slash\ \slash\ \slash\strich\par -2`a \ks{tr} 4h\strich -\ks{beam}\{\ks{slur}\{8g f\} g e\}\slash\strich -\slash\ \slash\ \ks{beam}\{\ks{slur}\{8h a\}\}\strich -\slash\ \slash\ \slash\ \slash\ \slash\ \slash\ \strich\par -\ks{slur}\{{`}{`}4d `a\} {`}{`}d\strich -\ks{beam}\{\ks{slur}\{8`g f\} g e\} 4f\strich -\slash\ \slash\ 4.e \ks{tr} 8d\strich -\ks{chord}\{2.,d .a `.d\} - \dpkt\strich\strich -\ \ \} }{\bf!!} - -\vfill\eject -\vskip2cm -\title{Lobe den Herren} -\composer{Hugo Distler} -\def\@#1#2{{$\hbox{#1\hfill}\atop\hbox{#2\hfill}$}} -\def\lv{{\leaders\hrule \hskip1cm plus 1fill}} -\parindent 40pt -\voice{Sopran}% -\universal -\beginsong\vio\G\^r{{\rm Schnell}}{\vrule height 7\nhh width0pt% -\gluebrule}\meter3/4% -\^{\mezzoforte}\_{\@{Lo-}{Mei-}}{\v2}% -\_{\@{be}{ne}}{\v2}% -\_{\@{den}{ge - }}{\v6}\|% -\_{\@{Her-}{lie - }}{\v4\.1}\_{\@{ren, }{be - }}{\a3}% -\_l{\@{den}{te }}{\v2}\|% -\_l{\@{m"ach - }{See - }}{\v1}\_{\@{ti - }{le, }}{\v0}% -\_{\@{gen }{das }}{\v{-1}}\|% -\_{\@{K"o - }{ist }}{\h0}% -\group{\\{\_n{\@{nig \lv }{mein \lv }}{\v1}}\\{\|\meter2/4}\\{\v1}} -{\\{1}\\{0}\\{1}}\lslur13\go\_{\@{der }{Be- }}{\v2}\|\meter4/4% -\_{\@{Eh - }{geh - }}{\h3}\_{\@{ren!}{ren.}}{\h2}\rightrepeat\meter3/4% -%Ende Wiederholung -\_{Kom-}\^{\forte}{\v6}\_{met}{\v6}\_{zu}{\v6}\|% -\_{Hauf!}{\h7\.1}\caesura\|\_l{Psal - }{\v4}\_{ter}{\a5}% -\_l{und }{\a5}% -\group{\\{\_n{Har\hskip40pt - \hskip40pt -\hskip 40pt - \hskip40pt -}{\v6}}\\{\|}\\{\a6}\\{\a7}\\{\a6}\\{\a4}\\{\v6}% -\\{\|}\\{\a6}\\{\a7}\\{\v6\.1}\\{\a7}\\{\|}\\{\v6\.1}} -{\\{6}\\{8}\\{6}\\{7}\\{6}\\{4}\\{6}\\{8}\\{6}\\{7}\\{6}\\{7}\\{8}\\{6}}% -\lbeam36\lbeam9{10}\uslur13\uslur79\uslur1{14}\go -\_{fe,}{\a5}\_l{wacht}{\v4}\|% -\^{\piano}\_{auf, }{\h3}\group{\\{\_n{wacht}{\caesura\a4}}\\{\a2}} -{\\{4}\\{2}}\ubeam12\go\|\^{\dec}\_{auf,}{\h3}% -\group{\\{\_n{wacht}\^{zart}{\caesura\a4}}\\{\a2}} -{\\{4}\\{2}}\ubeam12\go\|\^{\dec}\_{auf,}{\h6\.1}\caesura\|% -\^{\forte}\_{las-}{\v{-1}}\_{set}{\v0\.1}\_{den}{\a1}\|% -\meter4/4\_{Lob - }{\h2}\_{ge - }{\v3}\_{sang}{\v4}\|\meter7/4% -\group{\\{\_n{h"o \hskip20pt - \hskip20pt - \hskip20pt -- }{\h5}}\\{\v4\.1}\\{\a3}\\{\v2}\\{\h3}} -{\\{5}\\{4}\\{3}\\{2}\\{9}}\uslur15\go -\|\meter3/4\_{ren!}{\h2\.1}\=\endsong -\parindent=0pt \eightrm -Aus: R. Baum,``Geselliges Chorbuch I'' B"arenreiter-Verlag, Kassel und -Basel. -\vskip1cm \rm Auch zu diesem St"uck sei die Eingabe aufgef"uhrt: -\vskip1cm -%%%%%%%%%%%%%%%% -%%%%%% distler% -%%%%%%%%%%%%%%%% -{\bf !!}\ks{title}\{Lobe den Herren\} -\ks{composer}\{Hugo Distler\} -\par -\ks{voice}\{Sopran\} -\ks{treble}\ks{signature}\{{`}{`}xf\} -\ks{text}\{\ks{\os{ }l} Schnell\} -\ks{meter}\{{\bf3}\slash {\bf4}\}\ks{vocal} -\par {\bf\{\ \ \ -4g\ks{mezzoforte} g {`}{`}d\strich `h. 8a 4g\strich f e d \strich 2e -\ks{slur}\{4f\strich\ks{meter}\{2\slash 4\} f\} 4g\strich -\par\ks{meter}\{4\slash 4\} 2a 2g\dpkt\strich\strich -\ks{meter}\{3\slash 4\} 4{`}{`}d d d \strich 2.e 0p\strich -\par `4h 8{`}{`}c c -\ks{group}\{4d\strich 8d e d `h 4{`}{`}d\strich 8d e 4.d 8e\strich 4.d\} -\ks{gslur}\{1-3, 1-13\}\par -\ks{gbeam}\{3-6, 9-10\} 8c 4`h\strich 2a -\ks{piano} 0p\ks{beam}\{8h g\}\strich\par 2a \ks{decr} 0p -%ks{beam}\{8h g\}\strich\par 2a \ks{decr} 0p -\ks{beam}\{8h \ks{text}\{{\rm zart}\}g\}\strich - {`}{`}2.d\ks{decr} 0p\strich -\par `4d\ks{forte} .e 8f\strich \ks{meter}\{4\slash 4\} 2g 4a h\strich -\par -\ks{meter}\{7\slash 4\}\ks{slur}\{`{}`2c `4.h 8a 4g 2a\}\strich -\ks{meter}\{3\slash 4\} 2.g \gleich\ \ \ \} } -\par -\{\ \ \ \{Lo-\bs{atop} Mei-\} \{be\bs{atop} ne\} \{den\bs{atop} ge-\} -\{Her-\bs{atop} lie-\} \{ren,\bs{atop} be-\}\par - \{den \bs{atop} te\} \{m"ach-\bs{atop} See-\} - \{ti-\bs{atop} le,\} \{gen\bs{atop} das\} \par - \{K"o-\bs{atop} ist\} - \{nig--\bs{atop} mein--\} \slash\ - \{der\bs{atop} Be-\} \{Eh-\bs{atop} geh-\} - \{ren!\bs{atop} ren.\} -\par Kom- met zu Hauf! Psal- ter und Har- -\slash\ \slash\ \slash\ -\slash\ \slash\ \slash\ -\slash\ \slash\ \slash\ \slash\ -fe, \par -wacht auf, wacht \slash\ auf, wacht\ \slash\ auf, \par -las- set -den Lob- ge- sang h"o- -\slash\ \slash\ \slash\ \slash\ -ren!\ \ \ \}{\bf!!} -\vfill\eject -% -% -\bye diff --git a/macros/mtex/macros/mtexinfo.tex b/macros/mtex/macros/mtexinfo.tex deleted file mode 100644 index 2236c5b919..0000000000 --- a/macros/mtex/macros/mtexinfo.tex +++ /dev/null @@ -1,468 +0,0 @@ -%format plain -%\input verbatim -%-------------------------------------------------------------------- -% macros for verbatim scanning -% im wesentlichen dem file MANHDR TEX von DEK entnommen -\catcode`@=11 -\def\tt{\fam\ttfam\tentt}% -\newskip\ttglue \ttglue=.5em plus .25em minus .15em -\chardef\other=12 -\def\ttverbatim{\begingroup - \catcode`\\=\other - \catcode`\{=\other - \catcode`\}=\other - \catcode`\$=\other - \catcode`\&=\other - \catcode`\#=\other - \catcode`\%=\other - \catcode`\~=\other - \catcode`\_=\other - \catcode`\^=\other - \catcode`\"=\other - \parskip \z@ - \obeyspaces \obeylines \tt} - -\def\begintt{$$\let\par=\endgraf \ttverbatim - \catcode`\|=0 \rightskip-5pc \ttfinish} -{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character - |obeylines % end of line is active - |gdef|ttfinish#1^^M#2\endtt{|vbox{#2}|endgroup$$}} - -\catcode`\|=\active -{\obeylines \gdef|{\ttverbatim \spaceskip\ttglue \let^^M=\ \let|=\endgroup}} -%\def\ttspace{{\tt\hskip\ttglue}} - -\def\vrt{\hbox{\tt\char`\|}} % vertical line -\def\dn{\hbox{\tt\char'14}} % downward arrow -\def\up{\hbox{\tt\char'13}} % upward arrow -\def\]{\hbox{\tt\char`\ }} % visible space - -\catcode`@=12 % at signs are no longer letters -\def\verbatimon{\catcode`\|=\active} -\def\verbatimoff{\catcode`\|=\other} -\verbatimoff -%---------------------------------------------- end of verbatim.tex -\catcode`\"=12 -\def\hex{"} % zum Eingeben von Zahlen in hex -\def\3{\char"19{}} -\catcode`\"=\active %Umlaute -\def"{\accent'177} -\newskip \iindent \iindent=30pt -\font\bigrm=cmbx12 -\font\ninerm=cmr9 -\font\music=music16 -%\footline={} -\headline={\hfill Benutzermacros der aktuellen Version MTEX TEX} -\parindent=0pt -% -% einige allgemeine Definitionen (nicht alle hier ben"otigt) -\def\tex#1{{\it #1\/}} -\def\disp#1{{\sl #1\/}} -\def\defi#1{{\bf #1}} -\def\parh{\par\hang\hangafter0} -\def\parn{\par\noindent} -\def\ul#1{$\underline{\text{#1}}$} -\def\pt{\,{\rm pt}}%nur f"ur mathmode -\def\<#1>{\leavevmode\hbox{$\langle$#1\/$\rangle$}} % syntactic quantity -\def\bull{\vrule height .9ex width .8ex depth -.1ex } % square bullet -\def\hang{\hangindent\iindent} -\def\textindent#1{\noindent\hskip\iindent\llap{#1\enspace}\ignorespaces} -\def\item{\par\hang\textindent} -\def\itemitem{\par\noindent\hskip\iindent\hangindent2\iindent\textindent} -\frenchspacing -% macros for non-centered displays -\outer\def\begindisplay{\obeylines\startdisplay} -{\obeylines\gdef\startdisplay#1 -{\catcode`\^^M=5$$#1\halign\bgroup\hskip\iindent##\hfil&&\qquad##\hfil\cr}} -\outer\def\enddisplay{\crcr\egroup$$} -\def\vo{\tt\verbatimon} -\def\voff{\tt\verbatimoff} -\def\mf{{\rm METAFONT}} -%\let\headings\relax -% -\openup\jot -Dies ist eine Auf{}listung der -benutzbaren Kontrollsequenzen aus MTEX zum Notensatz. - -\verbatimon -Jedes eingegebene Musikst"uck mu\3 in folgender Form aufgebaut sein: -\begindisplay -Kopfzeile\cr -|\beginsong|\<Notenschl"ussel>\<Tonart>\cr -{}$\vdots$\cr -|\endsong|\cr -\enddisplay -In der Kopfzeile k"onnen die Informationen "uber Titel, Komponist oder -Textautor in beliebiger Reihenfolge angegeben werden mit: -\begindisplay -|\title{...}|\cr -|\composer{...}|\cr -|\poet{...}|\cr -\enddisplay -Mit |\voice{...}| kann der Name der Stimme angegeben werden. Dieser -wird in der ersten Zeile vor das Liniensystem geschrieben. - -Als Notenschl"ussel sind verf"ugbar: -\begindisplay -|\vio| && Violinschl"ussel \cr -%|\viooct| && oktavierter Violinschl"ussel (nach unten) \cr -%|\vioOct| && oktavierter Violinschl"ussel (nach oben) \cr -|\bass| && Ba\3schl"ussel \cr -%|\bassoct| && oktavierter Ba\3schl"ussel (nach unten) \cr -%|\bassOct| && oktavierter Ba\3schl"ussel (nach oben) \cr -C-Schl"ussel:\cr -|\bariton| && Baritonschl"ussel \cr -|\tenor| && Tenorschl"ussel \cr -|\alto| && Altschl"ussel \cr -|\mezzosopran| && Mezzosopransch"ussel \cr -|\sopran| && Sopranschl"ussel \cr -\enddisplay -%Test: -%\def\viooct{$\mathop{\hbox{\music\mviolin}}\limits^8_8$} -%\def\bassoct{$\mathop{\hbox{\music\mbass}}\limits^8_8$} -%\viooct -%\bassoct -F"ur die Tonartangabe wurden folgende Kontrollsequenzen verwendet: -\begindisplay -Durtonarten:\cr -|\F| && |\C| \cr -|\B| && |\G| \cr -|\Es| && |\D| \cr -|\As| && |\A| \cr -|\Des| && |\E| \cr -|\Ges| && |\H| \cr -|\Ces| && |\Fis| \cr -Molltonarten:\cr -|\mdis| && |\ma| \cr -|\mgis| && |\md| \cr -|\mcis| && |\mg| \cr -|\mfis| && |\mc| \cr -|\mh| && |\mf| \cr -|\me| && |\mb| \cr - && |\mes| \cr -\enddisplay -Die Taktart wird angegeben durch -\begindisplay -|\meter{|\<Anzahl der Grundwerte pro Takt>|}/{|\<Takteinheit>|}| -\enddisplay -Die Symbole f"ur Taktangaben k"onnen auch mit |\meter| -eingegeben werden, indem f"ur den ersten Parameter -nichts eingegeben wird, z.B.: |\meter/{\mC}| f"ur {\music \char\hex53}. - -Die Musikfonts k"onnen "uber folgende Kontrollsequenzen angesprochen -werden: -\begindisplay -|\music| && Musikzeichen \cr -|\beamfont| && Balkenfont \cr -|\slurfontuu| && Bogenfont (konkav, steigend) \cr -|\slurfontud| && Bogenfont (konkav, fallend) \cr -|\slurfontdu| && Bogenfont (konvex, steigend) \cr -|\slurfontdd| && Bogenfont (konvex, fallend) \cr -zus"atzlich noch: \cr -|\eightrm| && Acht-Punkt Roman Font f"ur die Textunterlage \cr -\enddisplay -Die Namen f"ur die \tex{character} im Font |\music| sind: -\begindisplay -Notenk"opfe:\cr -|\quart| (|\hex21|) && ausgef"ullter Notenkopf\cr -|\half| (|\hex22|) && unausgef"ullter Notenkopf\cr -|\whole| (|\hex23|) && ganze Note \cr -F"ahnchen:\cr -|\eighthup| (|\hex28|) && Achtel aufw"arts \cr -|\eighthdown| (|\hex2D|) && Achtel abw"arts \cr -|\sixteenthup| (|\hex29|) && Sechzehntel aufw"arts \cr -|\sixteenthdown| (|\hex2E|) && Sechzehntel abw"arts \cr -|\thirtytwoup| (|\hex2A|) && Zweiunddrei\3igstel aufw"arts \cr -|\thirtytwodown| (|\hex2F|) && Zweiunddrei\3igstel abw"arts\cr -|\sixtyfourup| (|\hex2B|) && Vierundsechzigstel aufw"arts \cr -|\sixtyfourdown| (|\hex30|) && Vierundsechzigstel abw"arts\cr -|\hundredtwentyeightup| (|\hex2C|)&& Hunderteinundzwanzigstel aufw"arts\cr -|\hundredtwentyeightdown| (|\hex31|)&& Hunderteinundzwanzigstel abw"arts\cr -Pausen: \cr -|\wholerest| (|\hex3C|) && Ganze \cr -|\halfrest| (|\hex3D|) && Halbe \cr -|\quartrest| (|\hex3E|) && Viertel \cr -|\eighthrest| (|\hex3F|) && Achtel \cr -|\sixteenthrest| (|\hex40|) && Sechzehntel \cr -Taktpausen: \cr -|\doublerest| (|\hex3A|) && zwei Takte \cr -|\ddoublerest| (|\hex3B|) && vier Takte \cr -Fermaten: \cr -|\fermateup| (|\hex50|) && Fermate oberhalb \cr -|\fermatedown| (|\hex51|) && Fermate unterhalb \cr -Versetzungszeichen: \cr -|\mflat| (|\hex32|) && b \cr -|\mdoubleflat| (|\hex33|) && Doppel-b \cr -|\mquartflat| (|\hex37|) && Viertelton-b \cr -|\mthreequartflat| (|\hex3A|) && Dreiviertelton-b \cr -|\msharp| (|\hex34|) && Kreuz \cr -|\mdoublesharp| (|\hex35|) && Doppel-Kreuz \cr -|\mnatural| (|\hex36|) && Aufl"osungszeichen \cr -Notenschl"ussel: \cr -|\mviolin| (|\hex47|) && Violinschl"ussel \cr -%|\mviolinoct| (|\hex47|) && \cr -%|\mviolinOct| (|\hex47|) && \cr -|\mbass| (|\hex49|) && Ba\3schl"ussel \cr -%|\mbassoct| (|\hex49|) && \cr -%|\mbassOct| (|\hex49|) && \cr -|\mbariton| (|\hex4D|) && Baritonschl"ussel \cr -|\mtenor| (|\hex4C|) && Tenorschl"ussel \cr -|\malt| (|\hex4B|) && Altschl"ussel \cr -|\mmezzosopran| (|\hex4E|) && Mezzosopranschl"ussel \cr -|\msopran| (|\hex4E|) && Sopranschl"ussel \cr -Taktangaben: \cr -|\mC| (|\hex53|) \cr -|\allabreve| (|\hex52|)\cr -|\mCreverse| (|\hex54|)\cr -\enddisplay -"Anderbare Parameter sind: -\begindisplay -|\textline| && Abstand der Schriftlinie von der untersten Notenlinie\cr -|\minsl| && minimale Notenhalsl"ange (bei Verbalkung) \cr -|\overtext| && Schriftlinie oberhalb des Liniensystems \cr -|\undertext| && Schriftline unterhalb des Liniensystems \cr -\enddisplay -Ausschlu\3parameter nach den Noten: -\begindisplay -|\NOTEskip| && Glue nach ganzer Note \cr -|\Noteskip| && Glue nach halber Note \cr -|\noteskip| && Glue nach 1/4 Note \cr -|\notEskip| && Glue nach 1/8 Note \cr -|\noTEskip| && Glue nach 1/16 Note \cr -|\nOTEskip| && Glue nach 1/32 Note \cr -|\nOteskip| && Glue nach 1/64 Note \cr -|\nOtEskip| && Glue nach 1/128 Note \cr -|\ruleskip| && Glue nach Rules \cr -|\hunkskip| && Glue vor Noten und Rules \cr -\enddisplay -Nachfolgend sind die z.Zt. verf"ugbaren Ausschlu\3schemata angef"uhrt: -\begindisplay -|\ruleskip = \nhw plus \seminhw minus \seminhw| \cr -\cr -|\def\hsmall{%hader| \cr -|\Noteskip 3\nhw plus 2\seminhw minus 2\seminhw| \cr -|\NOTEskip = \Noteskip| \cr -|\noteskip 2\nhw plus 1.5\seminhw minus 1.5\seminhw| \cr -|\notEskip 1\nhw plus \seminhw minus \seminhw| \cr -|\noTEskip \z@ plus 0.5\seminhw minus \z@| \cr -|\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip| \cr -|\hunkskip \z@\relax}| \cr -\cr -|\def\small{%| \cr -|\Noteskip 3.5\nhw plus 1.8\seminhw minus 1.8\seminhw| \cr -|\NOTEskip = \Noteskip| \cr -|\noteskip 2.5\nhw plus 1.4\seminhw minus 1.4\seminhw| \cr -|\notEskip 1.5\nhw plus \seminhw minus \seminhw| \cr -|\noTEskip \seminhw plus 0.6\seminhw minus 0.6\seminhw| \cr -|\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip| \cr -|\hunkskip \z@ \relax}| \cr -\cr -|\def\universal{%| \cr -|\Noteskip 4\nhw plus 1.6\nhw minus 1.6\nhw| \cr -|\NOTEskip = \Noteskip| \cr -|\noteskip 3\nhw plus 1.3\nhw minus 1.3\nhw| \cr -|\notEskip 2\nhw plus \nhw minus \nhw| \cr -|\noTEskip \nhw plus 0.6\nhw minus 0.6\nhw| \cr -|\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip| \cr -|\hunkskip \z@ \relax}| \cr -\cr -|\def\wide{%| \cr -|\Noteskip 4\nhw plus 1.42\nhw minus 1.42\nhw| \cr -|\NOTEskip = \Noteskip| \cr -|\noteskip 3.5\nhw plus 1.28\nhw minus 1.28\nhw| \cr -|\notEskip 2.5\nhw plus \nhw minus \nhw| \cr -|\noTEskip 1.5\nhw plus 0.9\nhw minus 0.9\nhw| \cr -|\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip| \cr -|\hunkskip \z@ \relax}| \cr -\cr -|\def\loose{%| \cr -|\Noteskip 5\nhw plus 1.5\nhw minus 1.5\nhw| \cr -|\NOTEskip = \Noteskip| \cr -|\noteskip 4\nhw plus 1.25\nhw minus 1.25\nhw| \cr -|\notEskip 3\nhw plus \nhw minus \nhw| \cr -|\noTEskip 2\nhw plus 0.75\nhw minus 0.75\nhw| \cr -|\nOTEskip=\noTEskip \nOteskip=\noTEskip \nOtEskip=\noTEskip| \cr -|\hunkskip \z@\relax}| \cr -\enddisplay -Baselineskip-Macros: -\begindisplay -|\baselinesa| && f"ur Einzeilige Notenbespiele \cr -|\baselinesb| && f"ur Musikst"ucke \cr -\enddisplay -Default ist: |\let\baselines = \baselinesb| - -\bigskip -\goodbreak -Makros f"ur die Noteneingabe: - -Zun"achst die Noten und Pausen und Versetzungszeichen: -\begindisplay -Notennamen:\cr -|\g{|\<interne Tonh"ohe>|}| && ganze Note \cr -|\h{|\<interne Tonh"ohe>|}| && halbe Note \cr -|\v{|\<interne Tonh"ohe>|}| && viertel Note \cr -|\a{|\<interne Tonh"ohe>|}| && achtel Note \cr -|\s{|\<interne Tonh"ohe>|}| && sechzehntel Note \cr -|\z{|\<interne Tonh"ohe>|}| && zweiunddrei\3igstel Note \cr -|\d{|\<interne Tonh"ohe>|}| && vierundsechzigstel Note \cr -|\o{|\<interne Tonh"ohe>|}| && hundertachtundzwanzigstel Note \cr -Versetzungszeichen:\cr -|\x{|\<interne Tonh"ohe>|}| && Kreuz \cr -|\xx{|\<interne Tonh"ohe>|}| && Doppelkreuz \cr -|\n{|\<interne Tonh"ohe>|}| && Aufl"osungszeichen \cr -|\b{|\<interne Tonh"ohe>|}| && Be \cr -|\bb{|\<interne Tonh"ohe>|}| && Doppel-Be \cr -Versetzungszeichen in der Vorzeichnung:\cr -|\b@{|\<interne Tonh"ohe>|}| && Be \cr -|\x@{|\<interne Tonh"ohe>|}| && Kreuz \cr -|\n@{|\<interne Tonh"ohe>|}| && Aufl"osungszeichen \cr -\enddisplay -Pausen erhalten als interne Tonh"ohe |\pitch=5| -zum Setzen der Wertpunkte im 3. Zwischenraum: -\begindisplay -|\pg| && ganze Pause \cr -|\dpd| && Zwei Pausentakte \cr -|\dpg| && drei Pausentakte \cr -|\dpdd| && vier Pausentakte \cr -|\ph| && halbe Pause \cr -|\pv| && viertel Pause \cr -|\pa| && achtel Pause \cr -|\ps| && sechzehntel Pause \cr -|\pz| && zweiunddrei\3igstel Pause \cr -|\pd| && vierundsechzigstel Pause \cr -|\po| && hundertachtundzwanzigstel Pause \cr -Wertpunkte: \cr -|\.{|\<Anzahl der Punkte>|}| \cr -Taktstriche:\cr -|\|\vrt && normaler Taktstrich \cr -|\=| && Schlu\3strich \cr -|\doublebarline| && doppelter Taktstrich \cr -|\rightrepeat| && Wiederholungszeichen rechts :\vrt\vrt \cr -|\leftrepeat| && Wiederholungszeichen links \vrt\vrt: \cr -|\leftrightrepeat| && doppeltes Wiederholungszeichen :\vrt\vrt: \cr -Makro f"ur Orientierungszeichen:\cr -|\boxed{|\<Nummer oder Buchstabe>|}| \cr -K"asten: \cr -|\1|\<erstes Mal>|\2|\<Wiederholung>|\*|\cr -Atemzeichen:\cr -|\caesura|\cr -Akzentzeichen:\cr -|\noaccent| && Akzente l"oschen \cr -|\stac| && Stakkatozeichen \cr -|\dec| && kleines $>$ am Notenkopf \cr -|\staccatissimo| && Stakkatissimozeichen \cr -|\tr| && Triller {\it tr} \cr -|\trbrack| && Triller in Klammern ({\it tr}) \cr -|\tenuto| && Tenutozeichen \cr -|\plus| && Triller $+$ \cr -|\cresc{|\<Noten>|}| && Crescendozeichen $<$ "uber Noten\cr -|\decresc{|\<Noten>|}| && Decrescendozeichen $>$ "uber Noten\cr -Abk"urzungen f"ur Akzente:\cr -|\cantusfirmus| && {\it c.f.} \cr -|\crescendo| && {\it cresc.} \cr -|\dacapo| && {\it d.c.} \cr -|\dalsegno| && {\it d.s.} \cr -|\decrescendo| && {\it decresc.} \cr -|\diminuendo| && {\it dim.} \cr -|\fine| && {\it fine} \cr -|\forte| && {\it f} \cr -|\fortissimo| && {\it ff} \cr -|\fortissimoposs| && {\it fff} \cr -|\fortepiano| && {\it fp} \cr -|\forzato| && {\it fz} \cr -|\mezzoforte| && {\it mf} \cr -|\mezzopiano| && {\it mp} \cr -|\piano| && {\it p} \cr -|\pianissimo| && {\it pp} \cr -|\pianissimoposs| && {\it ppp} \cr -|\rallentando| && {\it rall.} \cr -|\rinforzando| && {\it rfz.} \cr -|\ritardando| && {\it rit.} \cr -|\ritenuto| && {\it riten.} \cr -|\sforzato| && {\it sfz} \cr -|\sforz| && {\it sf} \cr -|\staccato| && {\it stacc.} \cr -|\tacet| && {\it tacet} \cr -|\unisono| && {\it unis.} \cr -\enddisplay -\goodbreak -Balkengruppen und Bogen werden wie folgt eingegeben: - -Zun"achst mu\3 die Notengruppe eingegeben werden. Und zwar mit -\begindisplay -|\group{|\<Elementliste>|}{|\<Tonh"ohenliste>|}|\cr -\enddisplay -Dabei mu\3 die Elementliste so aussehen:\begindisplay -|\\{|\<Note1>|}|$\ldots$|\\{|\<NoteN>|}| -\enddisplay -Die Tonh"ohenliste sieht genauso aus. Nur muss anstatt der Note die dem -$i$-ten Element der Notenliste zugeh"orige interne Tonh"ohe eingetragen -sein. -Anschlie\3end kann die Verbalkung und die Angabe der Bogen geschehen: -\begindisplay -|\ubeam{|\<Balkenanfangsnr.>|}{|\<Balkenendenr.>|}| && Balken an -aufw"arts gestielten Noten \cr -|\lbeam{|\<Balkenanfangsnr.>|}{|\<Balkenendenr.>|}| && Balken an -abw"arts gestielten Noten \cr -|\ubeam{|\<Bogenanfangsnr.>|}{|\<Bogenendenr.>|}| && Bogen oberhalb der -Notengruppe \cr -|\lbeam{|\<Bogenanfangsnr.>|}{|\<Bogenendenr.>|}| && Bogen unterhalb der -Notengruppe \cr -\enddisplay -Diese Makros k"onnen beliebig oft aufgerufen werden. Es mu\3 jedoch mit -dem Makro |\go| abgeschlossen werden. -Die Balken werden nach der jeweils aktuellen |\beamlist| gesetzt. Diese -enth"alt Informationen "uber die zu setzenden Balken einer -Teilnotengruppe. -Der Aufbau der |\beamlist| ist etwas komlizierter, aber -in der Diplomarbeit genau beschrieben. -Default ist -\begindisplay - |\def\beamlist{\\{\the\n@a-\the\n@e,}}| -\enddisplay -wobei |\n@a| das erste Element der Balkengruppe ist, und |\n@e| das -letzte. Ein Element der |\beamlist| beschreibt eine Balkenreihe, das -hei\3t, wird der Default verwendet k"onnen nur Achtel-Balken gesetzt -werden. - -Als weiteres ist noch zu erw"ahnen der zweistimmige Notensatz und die -Textunterlage. -Mit |\two{|\<obere Note(n)>|}{|\<untere Noten(n)>|}| k"onnen Noten -"ubereinander notiert werden. -Text"uberlage bzw. Textunterlage erh"alt man mit: -\begindisplay -|\^|$\lbrack$\<Positionierungskennzeichen>$\rbrack$% -|{|\<Text>|}{|\<Note>|}|\cr -|\_|$\lbrack$\<Positionierungskennzeichen>$\rbrack$% -|{|\<Text>|}{|\<Note>|}| -\enddisplay -Als Positionierungskennzeichen kann |n| (Textbreite wird nicht -ber"ucksichtigt), |c| (Text wird "uber der Note zentriert), |l| (Text -wird linksb"undig "uber der Note unter Ber"ucksichtigung der Breite -positioniert) oder |r| (Text wird rechtsb"undig "uber der Note -positioniert) angegeben werden. -Im Falle der Textunterlage gibt es ein weiteres -Positionierungskennzeichen: |v|. In diesem Fall wird der Text variabel -direkt -unter der Noten und nicht auf der Schriftlinie positioniert. -Wird kein Positionierungskennzeichen angegeben, so wird das Zeichen -automatisch positioniert. - -Bei der Eingabe von Akkorden mu\3 zun"achst entschieden werden, ob -der Notenhals nach oben oder nach unten zeigen soll, d.h. rechts oder -links der Notenk"opfe erscheinen soll. -Die Eingabe erfolgt mit: -\begindisplay -|\rchord|\<Noten>|\endchord|\cr -|\lchord|\<Noten>|\endchord| -\enddisplay -Die Noten sollten in der Reihenfolge von oben nach unten eingegeben -werden. -\bigskip -Allgemeine abschlie\3ende Bemerkungen:\hfill \break -\hang Bei der Eingabe des Musikst"uckes ist zu beachten, da\3 keine -unn"otigen Leerzeichen eingegeben werden (Regeln f"ur Kontrollsequenzen -beachten!). Daher sollte jede Eingabezeile mit einem Kommentarzeichen -(\%) enden. - -\end diff --git a/macros/mtex/metafont/acc16.mf b/macros/mtex/metafont/acc16.mf deleted file mode 100644 index 821f879e8a..0000000000 --- a/macros/mtex/metafont/acc16.mf +++ /dev/null @@ -1,142 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% VERSETZUNGSZEICHEN % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - - -%%%%%%%%%%%% -%% "flat" % -%%%%%%%%%%%% - -beginchar(50, nhw#, 2nhh#, 2nhh#); - clear; - penpos4(7/24nhh, 30);%/5,20 % 1 - penpos3(nhh/5,-90);%/5,20 % - penpos2(nhh/5, 90);%/5,20 % - y1 = h; %4 - x1 = x2 = x3 = s; x4 = w-s; % 2 - y4 = s; % - y2l - y3r = 1/4h; y2l = 0; % 3 - currentpen:= pencircle scaled 3thinwidth; - penstroke z2e...z4e...z3e{sw};%right ,sw - draw z1--z3; - draw z1--z3; -penlabels(1,2,3,4); -endchar; - -%%%%%%%%%% -%% "bb" % -%%%%%%%%%% - -beginchar(51,2nhw#, 2nhh#, 2nhh#); - clear; - penpos4(nhh/4, 0);%/5,20 - penpos3(nhh/4,-90);%/5,20 - penpos2(nhh/4, 90);%/5,20 - y1 = h; %4 - x1 = x2 = x3 = s; x4 = w/2-s; % 2 - y4 = s; % - y2l - y3r = 1/4h; y2l = 0; % 3 - currentpen:= pencircle scaled 3thinwidth; - draw z1--z3; - draw z1--z3; - penstroke z2e..z4e...z3e{sw}; - draw (z1--z3) shifted ((w/2 - 1.5s),0); - penstroke (z2e..z4e...z3e{sw})shifted ((w/2 -1.5s),0); -endchar; - -%%%%%%%%%%%%% -%% "sharp" % -%%%%%%%%%%%%% - -beginchar(52, nhw#, 1.5nhh#, 1.5nhh#); - clear; - penpos3(nhh/2,90); - penpos4(nhh/2,90); - y1 = h - s; y1 - y2 = 2h - s; - x1 = x2 = s; z3 = (0,1/4nhh); - y4l = y3r; x4 = w; - currentpen:= pencircle scaled 3thinwidth; - draw z1--z2; - draw (z1--z2) shifted (w-2s,s); - penstroke z3e--z4e; - penstroke (z3e--z4e) shifted (0, -nhh); -penlabels(1,2,3,4); -endchar; - -%%%%%%%%%% -%% "xx" % -%%%%%%%%%%% - -beginchar(53, nhw#, .5nhh#, .5nhh#); - clear; - z1 = (s, h-s); z2 = (w-s, h-s); - z3 = (s,-h+s); z4 = (w-s,-h+s); - currentpen:= pencircle scaled .2nhh; - draw z1--z4; draw z3--z2; - currentpen:= pencircle scaled .3nhh; - drawdot z1; drawdot z2; drawdot z3; drawdot z4; -endchar; - -%%%%%%%%%%%%%%% -%% "natural" % -%%%%%%%%%%%%%%% - -beginchar(54, nhw#, 1.5nhh#, 1.5nhh#); - clear; - penpos3(nhh/2,90); - penpos4(nhh/2,90); - y1 = h; y2 = -h + nhh/2; - x1 = x2 = s; z3l = (s,0); - y4 = y3r; x4 = w-s; - currentpen:= pencircle scaled 3thinwidth; - draw z1--z2; - draw (z1--z2) shifted (w-2s,-h+y4r); - penstroke z3e--z4e; - penstroke (z3e--z4e) shifted (0, -nhh); -endchar; - -%%%%%%%%%%%%%%%% -%% "1/4 flat" % -%%%%%%%%%%%%%%%% - -beginchar(55, nhw#, 2nhh#, 2nhh#); - clear; - penpos4(7/24nhh, 30);%/5,20 % 1 - penpos3(nhh/5,-90);%/5,20 % - penpos2(nhh/5, 90);%/5,20 % - y1 = h; % 4 - x1 = x2 = x3 = w-s; x4 =2w-3s; % 2 - y4 = s; % - y2l - y3r = 1/4h; y2l = 0; % 3 - currentpen:= pencircle scaled 3thinwidth; - penstroke (counterclockwise - (z2e...z4e...z3e{sw}) reflectedabout(z1 ,z3)); - draw z1--z3; - draw z1--z3; -penlabels(1,2,3,4); -endchar; - -%%%%%%%%%%%%%%%% -%% "3/4 flat" % -%%%%%%%%%%%%%%%% - -beginchar(56, 2nhw#-2S, 2nhh#, 2nhh#); - clear; - penpos4(7/24nhh, 30);%/5,20 % 1 - penpos3(nhh/5,-90);%/5,20 % - penpos2(nhh/5, 90);%/5,20 % - y1 = h; % 4 - x1 = x2 = x3 = w/2; x4 =w-s; % 2 - y4 = s; % - y2l - y3r = 1/4h; y2l = 0; % 3 - currentpen:= pencircle scaled 3thinwidth; - penstroke z2e...z4e...z3e{sw}; - penstroke (counterclockwise - (z2e...z4e...z3e{sw}) reflectedabout(z1 ,z3)); - draw z1--z3; - draw z1--z3; -penlabels(1,2,3,4); -endchar; diff --git a/macros/mtex/metafont/beam16.mf b/macros/mtex/metafont/beam16.mf deleted file mode 100644 index 03239d1784..0000000000 --- a/macros/mtex/metafont/beam16.mf +++ /dev/null @@ -1,79 +0,0 @@ -input musicdef -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% BALKEN % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - - -font_x_height beamht#; - -def drawbeams (expr st, jj) = - save i, length, height; - numeric i, length, height; - length:= 0.5; - for i=0 upto 7: - height := length*st + beamht#; - beginchar(jj*8+i, length, height, 0); - clear; - % x2 = w; x1 = 0; - z2r = (w,h); - z1l = origin; - penpos1(beamht,90); - penpos2(beamht,90); - penstroke z1e---z2e; - endchar; - length := 2*length; - endfor; -enddef; - -def drawbeamsneg (expr st, jj) = - save i, length, depth; - numeric i, length, depth; - length:= 0.5; - for i=0 upto 7: - depth := length*st - beamht#; - beginchar(jj*8+i, length, 0, depth); - clear; - z2l = (w,d); - z1r = origin; - penpos1(beamht,90); - penpos2(beamht,90); - penstroke z1e---z2e; - endchar; - length := 2*length; - endfor; -enddef; - -numeric ss[]; - -ss[0]:=0.05; -ss[1]:=0.10; -ss[2]:=0.15; -ss[3]:=0.20; -ss[4]:=0.25; -ss[5]:=0.30; -ss[6]:=0.35; -ss[7]:=0.45; - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Balken mit positiver Steigung % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -for j=0 upto 7 : -drawbeams(ss[j],j); -endfor; - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Balken mit negativer Steigung % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -for j=0 upto 7 : -drawbeamsneg(-ss[j],j+8); -endfor; - -end; - diff --git a/macros/mtex/metafont/music16.mf b/macros/mtex/metafont/music16.mf deleted file mode 100644 index 9565133273..0000000000 --- a/macros/mtex/metafont/music16.mf +++ /dev/null @@ -1,12 +0,0 @@ -input musicdef -font_x_height nhh#; -font_quad nhw#; -font_normal_space 0pt; -font_normal_stretch 0pt; -font_normal_shrink 0pt; -input noten16 -input acc16 -input pause16 -input vio16 -input sonder16 -end diff --git a/macros/mtex/metafont/musicdef.mf b/macros/mtex/metafont/musicdef.mf deleted file mode 100644 index fbbef58249..0000000000 --- a/macros/mtex/metafont/musicdef.mf +++ /dev/null @@ -1,71 +0,0 @@ -% this is musicdef.mf -% -% -% hier evtl. mode fuer gewuenschten output setzen -% -% AGFA P400 mode: for devices that print 406 pixels per inch -% mode_def agfa = -% proofing:=0; -% fontmaking:=1; -% tracingtitles:=0; -% pixels_per_inch:=406; -% blacker:=0.65; -% fillin:=0; -% o_correction:=1; -% enddef; -% localfont:=agfa; -% mode:=agfa; -% -% low resolution music fonts are not very nice - but you need something... - mode_def atari = - proofing:=0; - fontmaking:=1; - tracingtitles:=0; - pixels_per_inch:=96; - blacker:=1.0; - fillin:=0; - o_correction:=1; - enddef; - localfont:=atari; - mode:=atari; - mode_setup; -% -% -%mode_def ibm = % ibm mode: for the IBM3820 -% proofing:=0; % no, we're not making proofs -% fontmaking:=1; % yes, we are making a font -% tracingtitles:=0; % no, don't show titles in the log -% pixels_per_inch:=240; -% blacker:=.78; % (this value is conjectural) -% fillin:=0.25; % (ditto) -% o_correction:=.5; % (ditto) -% enddef; -% -fontmaking:=1; -turningcheck:=0; -displaying:=1; -designsize:=16; -nhh#:=1/4designsize; %noteheadheight -nhw#:=1.2nhh#; %noteheadwidth -beamht#:=0.6nhh#; %Balkenst"arke -nhh:=nhh#*pt; %noteheadheight *pt -nhw:=nhw#*pt; %noteheadwidth *pt -thinwidth := 0.1pt; -beamht := beamht#*pt; -s := 10thinwidth; -S := 1/16designsize; -%pair constants -pair ne,se,sw,nw; %northeast,southeast,southwest,northwest -ne = up+right; se = down+right; sw = down+left; nw = up+left; -openit; -def clear = - numeric x[],y[],x[]l,y[]l,x[]r,y[]r,dx[],dy[]; - pair sh[]; -enddef; -% -pickup pencircle scaled (0.1pt); -def penstrike text t = - forsuffixes e = l,r: path_.e:=t; endfor - if cycle path_.l: cyclestroke_ - else: filldraw path_.l -- reverse path_.r -- cycle fi enddef; -% diff --git a/macros/mtex/metafont/noten16.mf b/macros/mtex/metafont/noten16.mf deleted file mode 100644 index 6aff8ab739..0000000000 --- a/macros/mtex/metafont/noten16.mf +++ /dev/null @@ -1,292 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% NOTENKOEPFE UND FAEHNCHEN % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% -% -% -%%%%%%%%%%%%%%% -%%notenkoepfe % -%%%%%%%%%%%%%%% -% -% -% -% -def drawnoteb(expr noteheadwidth, theta_a, theta_b, theta_c, -width_a, width_b) = - % .l - penpos1(width_a, theta_a); % .2 - % .r - penpos3(width_a, 180+theta_a); %.l.1.r .r.3.l - % .r - penpos2(width_b, 180+theta_b); % .4 - % .l - penpos4(width_b, theta_b); % - y1 = y3 = 0; - x2 = x4 = 1/2noteheadwidth; - x1l= 0; x3l = w; y2l = h; y4l = -h; - penstroke (z1e{up}..z2e{right}..z3e{down}..z4e{left}..cycle) - rotatedaround((origin +1/2w*right),theta_c); - enddef; -% -% -%%%%%%%%%%%%%%% -%% flags % -%%%%%%%%%%%%%%% -% -% -% -pickup pencircle scaled (0.1pt); -def penstrike text t = - forsuffixes e = l,r: path_.e:=t; endfor - if cycle path_.l: cyclestroke_ - else: filldraw path_.l -- reverse path_.r -- cycle fi enddef; -def flagshape (suffix i) (expr width, height, thicka, thin, shift) = - pair intersectionp; % - thick := 1/3 height; - sh[-3] = origin; - sh[i] = shift; % .1 - penpos[i](thick,90); % - penpos[i+1]( 3thin ,90); % .2 - penpos[i+2](thin,0); % - penpos[i+3](thin,0); % .3 - x[i] = -1/16mm; % - y[i]r = height; % .4 - x[i+1] = 3/8width; % - y[i+1] = height - thick; % - y[i+3] = 0; - x[i+2]r = x[i+3]+2s= width; - y[i+2]r = height - 2thick; - if i>1: intersectionp = z[i-2]; - else : intersectionp = z[i+3]; - fi; - penstrike (z[i]e{dir(angle(z[i+1]e-z[i]e)-15)} - ..z[i+1]e{z[i+1]e-z[i]e} - ..z[i+2]e{down}..intersectionp shifted (sh[i-4]-sh[i])) - shifted sh[i]; - for n=0 upto 3: - k:=i+n; - penlabels(k);endfor; - enddef; - -%def flagshaper (suffix i) (expr width, height, thicka, thin, shift) = -% pair intersectionp; % -% thick := 1/3 height; -% sh[-3] := origin+shift; -% sh[i] = shift; % .1 -% penpos[i](thick,90); % -% penpos[i+1]( 3thin ,90); % .2 -% penpos[i+2](thin,0); % -% penpos[i+3](thin,0); % .3 -% x[i] = 0; % -% y[i]r = height; % .4 -% x[i+1] = 3/8width; % -% y[i+1] = height - thick; % -% y[i+3] = 0; -% x[i+2]r = x[i+3]+2s= width; -% y[i+2]r = height - 2thick; -% if i>1: intersectionp = z[i-2]; -% else : intersectionp = z[i+3]; -% fi; -% penstroke (counterclockwise -% (z[i]e{dir(angle(z[i+1]e-z[i]e)-15)} -% ..z[i+1]e{z[i+1]e-z[i]e} -% ..z[i+2]e{down}..intersectionp shifted (-sh[i-4]+sh[i])) -% reflectedabout (z1r scaled 0.5, -% z1r scaled 0.5+right) ) -% shifted sh[i]; -% for n=0 upto 3: -% k:=i+n; -% penlabels(k);endfor; -% enddef; - -def flagshaper (suffix i) (expr width, height, thicka, thin, shift) = - pair intersectionp; % - thick := 1/3 height; - sh[-3] := origin+shift; - sh[i] = shift; % .1 - penpos[i](thick,90); % - penpos[i+1]( 3thin ,90); % .2 - penpos[i+2](thin,0); % - penpos[i+3](thin,0); % .3 - x[i] = 0; % - y[i]r = height; % .4 - x[i+1] = 3/8width; % - y[i+1] = height - thick; % - y[i+3] = 0; - x[i+2]r = x[i+3]+2s= width; - y[i+2]r = height - 2thick; - if i>1: intersectionp = z[i-2]; - else : intersectionp = z[i+3]; - fi; - penstrike (counterclockwise - (z[i]e{dir(angle(z[i+1]e-z[i]e)-15)} - ..z[i+1]e{z[i+1]e-z[i]e} - ..z[i+2]e{down}..intersectionp shifted (-sh[i-4]+sh[i])) - reflectedabout (z1r scaled 0.5, - z1r scaled 0.5+right) ) - shifted sh[i]; - enddef; - - -%%%%%%%%%%%%%%% -%% volle Note % -%%%%%%%%%%%%%%% - -beginchar(33, nhw#, .5nhh#, .5nhh#); - w:=w+2thinwidth; - drawnoteb(w, 0, 90, 20, w/2, nhh/2); -endchar; - -%%%%%%%%%%%%%%% -%% halbe Note % -%%%%%%%%%%%%%%% - -beginchar(34, nhw#, .5nhh#, .5nhh#); - w:=w+2thinwidth; - drawnoteb(w, 0, 90, 20, 3*thinwidth, nhh/4); -endchar; - -%%%%%%%%%%%%%%% -%% ganze Note % -%%%%%%%%%%%%%%% - -beginchar (35,1.5nhh#, .5nhh#, .5nhh#); - drawnoteb(w, 0, 85, 0, nhh/3, 3*thinwidth); -endchar; - -%%%%%%%%%%%%%%%%%%%%%%% -%% "8flag nach unten" % -%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(40, 0, 3nhh#, 0); - clear; - w:=nhw; - flagshape (1,w, h, nhh, 5thinwidth, origin); - w:=0; -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%% -%% "16flag nach unten" % -%%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(41, 0, 3.25nhh#, 0); - clear; - w:=nhw; - flagshape (1, w, 2.5nhh, 2/3nhh, 5thinwidth, origin); - flagshape (5,.95 w, 2.25 nhh, 2/3nhh, 5thinwidth, (0,nhh)); - w:=0; -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%% -%% "32flag nach unten" % -%%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(42, 0, 3.75 nhh#, 0); - clear; - w:=nhw; - flagshape (1, w, 2.5nhh, 2/3nhh, 5thinwidth, origin); - flagshape (5, .95w, 2.25 nhh, 2/3nhh, 5thinwidth, (0,nhh)); - flagshape (9, .9w, 2 nhh, 2/3nhh, 5thinwidth, (0,1.75nhh)); - w:=0; -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%% -%% "64flag nach unten" % -%%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(43, 0, 4.25nhh#, 0); - clear; - w:=nhw; - flagshape (1, w, 2.5nhh, 2/3nhh, 5thinwidth, origin); - flagshape (5,.95 w, 2.25 nhh, 2/3nhh, 5thinwidth, (0,nhh)); - flagshape (9,.9w, 2 nhh, 2/3nhh, 5thinwidth, (0,1.75nhh)); - flagshape(13,0.85w, 2nhh, 2/3nhh, 5thinwidth, (0,2.25nhh)); - w:=0; -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%%% -%% "128flag nach unten" % -%%%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(44, 0, 4.5nhh#, 0); - clear; - w:=nhw; - flagshape (1, w, 2.5nhh, 2/3nhh, 5thinwidth, origin); - flagshape (5, w, 2.25nhh, 2/3nhh, 5thinwidth, (0,nhh)); - flagshape (9, w, 2 nhh, 2/3nhh, 5thinwidth, (0,1.75nhh)); - flagshape(13,0.9 w, 2nhh, 2/3nhh, 5thinwidth, (0,2.25nhh)); - flagshape(17,0.9 w, 1.5nhh, 1/3nhh, 5thinwidth, (0,3nhh)); - w:=0; -endchar; - -%%%%%%%%%%%%%%%%%%%%%% -%% "8flag nach oben" % -%%%%%%%%%%%%%%%%%%%%%% - -beginchar(45, 0, 3nhh#, 0); - clear; - w:=nhw; - flagshaper(1,w, h, nhh, 5thinwidth, origin); - penlabels(1,2,3,4); - w:=0; -endchar; - -%%%%%%%%%%%%%%%%%%%%%%% -%% "16flag nach oben" % -%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(46, 0, 3.25nhh#, 0); - clear; - w:=nhw; - flagshaper(1, w, 2.5nhh, 2/3nhh, 5thinwidth, (0,0.75nhh)); - flagshaper(5, w, 2.25 nhh, 2/3nhh, 5thinwidth,(0,-0.25nhh)); - penlabels(1,2,3,4,5,6,7,8); - w:=0; -endchar; - -%%%%%%%%%%%%%%%%%%%%%%% -%% "32flag nach oben" % -%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(47, 0, 3.75 nhh#, 0); - clear; - w:=nhw; - flagshaper(1, w, 2.5nhh, 2/3nhh, 5thinwidth, (0,1.5nhh)); - flagshaper(5, w, 2.5nhh, 2/3nhh, 5thinwidth, (0,0.75nhh)); - flagshaper(9, .95w, 2.25 nhh, 2/3nhh, 5thinwidth, origin); - penlabels(1,2,3,4,5,6,7,8,9,10,11,12); - w := 0; -endchar; - -%%%%%%%%%%%%%%%%%%%%%%% -%% "64flag nach oben" % -%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(48, 0, 4.25nhh#, 0); - clear; - w:=nhw; - flagshaper(1, w, 2.5nhh, 2/3nhh, 5thinwidth, (0,1.75nhh)); - flagshaper(5, w, 2.25 nhh, 2/3nhh, 5thinwidth, (0,1nhh)); - flagshaper(9,w, 2 nhh, 2/3nhh, 5thinwidth, (0,0.34nhh)); - flagshaper(13,0.9w, 2nhh, 2/3nhh, 5thinwidth, (0,-0.32nhh)); - penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); - w := 0; -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%% -%% "128flag nach oben" % -%%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(49, 0, 4.5nhh#, 0); - clear; - w:=nhw; - flagshaper (1, w, 2.25nhh, 2/3nhh, 5thinwidth, (0,2.5nhh)); - flagshaper (5, w, 2.25nhh, 2/3nhh, 5thinwidth, (0,1.75nhh)); - flagshaper (9, w, 2 nhh, 2/3nhh, 5thinwidth, (0,1nhh)); - flagshaper(13,0.9 w, 2nhh, 2/3nhh, 5thinwidth, (0,0.5nhh)); - flagshaper(17,0.9 w, 2nhh, 1/3nhh, 5thinwidth, (0,0nhh)); - w := 0; -endchar; diff --git a/macros/mtex/metafont/pause16.mf b/macros/mtex/metafont/pause16.mf deleted file mode 100644 index 7ebbf449f9..0000000000 --- a/macros/mtex/metafont/pause16.mf +++ /dev/null @@ -1,184 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% PAUSEN % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - - - -%%%%%%%%% -%% "dp" % -%%%%%%%%% - -beginchar(58,1/2nhw#, 3nhh#, 0); - clear; - penpos1(nhh,90); - penpos2(nhh,90); - y1r = y2r = h; - x1r = 0; x2r = w; - currentpen:= pencircle; - penstroke z1e--z2e; -labels(1,2); -endchar; - -%%%%%%%%%% -%% "ddp" % -%%%%%%%%%% - -beginchar(59,1/2nhw#, 3nhh#, 0); - clear; - penpos1(2nhh,90); - penpos2(2nhh,90); - y1r = y2r = h; - x1r = 0; x2r = w; - currentpen:= pencircle; - penstroke z1e--z2e; -labels(1,2); -endchar; - -%%%%%%%%%%%%%%%%%% -%% "ganze Pause" % -%%%%%%%%%%%%%%%%%% - -beginchar(60, nhw#, 3nhh#, 0); - clear; - penpos1(nhh/2,90); - penpos2(nhh/2,90); - y1r = y2r = h; - x1r = 0; x2r = w; - currentpen:= pencircle; - penstroke z1e--z2e; -endchar; -%charwd:=4.5; chardx:=charwd*pt; chardp:=0; charht:=4; - -%%%%%%%%%%%%%%%%%% -%% "halbe Pause" % -%%%%%%%%%%%%%%%%%% - -beginchar(61, nhw#, 2.5nhh#, 0); - clear; - penpos1(nhh/2,90); - penpos2(nhh/2,90); - y1r = y2r = h; - x1r = 0; x2r = w; - currentpen:= pencircle; - penstroke z1e--z2e; -endchar; - -%%%%%%%%%%%%%%%%%%%% -%% "viertel Pause" % -%%%%%%%%%%%%%%%%%%%% - -beginchar(62, nhw#, 4nhh#, 0); % .1 - clear; % .2 - thin := 5 thinwidth; thick := 1/2 nhh; % 8..3 - alpha_a = -50; alpha_b = -50; % .4 - penpos1 ( thin, (alpha_a+90)); % .5 - penpos5 ( thin, (alpha_b)); % .6 - penpos2 ( thick, alpha_a ); % - penpos4 ( thick, alpha_b ); % .7 - penpos3 ( thick, 1/2(alpha_a+alpha_b)); - x3r:=9/10[x3,x3r]; - penpos8 ( thick, 1/2(alpha_a+alpha_b)); - x8l:=9/10[x8,x8l]; - penpos6 ( 1/2thick, (alpha_b+10)); - penpos7 ( 1/4thick,-20); - y1l = h - 2s; - x1l = 2s; - z2r = z1 +(nhh* right) rotated alpha_a; - z5 = z4l+(nhh* right) rotated alpha_b; - z3 = 1/3[z2,z4]; - z8 = 2/3[z2,z4]; -% z3 = 1/2[z2r,z4]; - z4 = (w,h) scaled .5; - y6r = 1.5nhh; - x6l = x4l; - x7 = w/2; y7r= nhh; - currentpen:= pencircle scaled thin; - draw z1--z2r; draw z5--z4l; - penstroke z2e..z3e..z8e..z4e; - penstroke z5e{nw}..z6e{z7-z6}..z7e; -endchar; -%%title "viertelpause"; % -%beginchar(62, nhw#, 4nhh#, 0); % .1 -% clear; % .2 -% thin := 5 thinwidth; thick := 1/2 nhh; % 8..3 -% alpha_a = -50; alpha_b = -50; % .4 -%% penpos4(thick,-45); -% z1 = (s,h-s); -% z3 = (w,nhh); -% z2-z3=(h/2-s)*up; -% z1-z6=(h/2-2s)*up; -% z4r = 1/3z1; -% z4l = (w/2,nhh);% z2 = (w-s,h-nhh-s); -% % 1[z2,z4r]=1/3(w,h); -% z5 = 1/2(w,nhh); -% currentpen:= pencircle scaled thin;%4 -% draw z1--z2; draw z6--z3; -% filldraw z1--z2..control1/3[-z2,z4r] -% %-(w/2,h/2))} -% ..z3--z6..control1/4[-z6,z2] -% %(w/2,h-nhh))} -% ..z1--cycle; -% filldraw z3...z4r...z5--z5..z4l..z3..cycle; -%penlabels(1,2,3,4,5,6); -%endchar; -%end; - -%%%%%%%%%%%%%%%%%%% -%% "achtel Pause" % -%%%%%%%%%%%%%%%%%%% - -beginchar(63, 2nhh#, 3nhh#, 0) -clear; - %punkte f"ur achtelpause, 16. und 32. Pause - x1=y1= nhh; x2=x6=7/4nhh; y2=11/4nhh; - x3=x4=x5=1/2nhh; y3=10/4nhh; - y4=3nhh; y5=0; y6=15/4nhh; - currentpen := pencircle scaled 2thinwidth; - draw z1..z2; - currentpen := pensquare rotated45 scaled(sqrt2*thinwidth); - draw z2..z3{up+left}; - fill z3..z4..z3..cycle; -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%% -%% "sechzehntel Pause" % -%%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(64,2nhh#, 3nhh#, 0) - clear; - %punkte f"ur achtelpause, 16. und 32. Pause - x1=y1= nhh; x2=x6=7/4nhh; y2=11/4nhh; - x3=x4=x5=1/2nhh; y3=10/4nhh; - y4=3nhh; y5=0; y6=15/4nhh; - currentpen := pencircle scaled 2thinwidth; - draw z5..z2; - currentpen := pensquare rotated45 scaled(sqrt2*thinwidth); - draw z2..z3{up+left}; - draw z2..z3{up+left} shifted(-1/2nhh,-nhh); - fill z3..z4..z3..cycle; - fill z3..z4..z3..cycle shifted (-1/2nhh,-nhh); -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% "zweiunddreissigstel Pause" % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -beginchar(65,2nhh#, 4nhh#, 0) - clear; - %punkte f"ur achtelpause, 16. und 32. Pause - x1=y1= nhh; x2=x6=7/4nhh; - y2=11/4nhh; x3=x4=x5=1/2nhh; y3=10/4nhh; - y4=3nhh; y5=0; y6=15/4nhh; - currentpen := pencircle scaled 2thinwidth; - draw z5..z6; - currentpen := pensquare rotated45 scaled(sqrt2*thinwidth); - draw z2..z3{up+left} shifted( 0,nhh); - draw z2..z3{up+left} shifted(-1/4nhh, 0); - draw z2..z3{up+left} shifted(-2/3nhh,-nhh); - fill z3..z4..z3..cycle shifted ( 0, nhh); - fill z3..z4..z3..cycle shifted (-1/4nhh, 0); - fill z3..z4..z3..cycle shifted (-2/3nhh,-nhh); -endchar; diff --git a/macros/mtex/metafont/slur16.mf b/macros/mtex/metafont/slur16.mf deleted file mode 100644 index 1ce0c194ae..0000000000 --- a/macros/mtex/metafont/slur16.mf +++ /dev/null @@ -1,229 +0,0 @@ -input musicdef -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% BOGEN UND (DE)CRESCENDO % -% % -% (Phrasierungsbogen und Bogen der Steigung 0) % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -def drawslurs (expr st) = - save i, factor, length, height; - numeric i, absp, length, height, factor; - factor:= 1/6; - for i= 0 upto 15: - length := (i+2)*nhw#; - height := 0 ; - - beginchar(i, length, height, 0); - clear; - z2r = (w,h); - z1l = origin; - absp := abs((-h,w)); - if (factor*absp)>2nhh : factor:= 2nhh/absp fi; - z3r = 1/2z2l+factor*(-h,w); - penpos1(thinwidth,90); - penpos2(thinwidth,90); - penpos3(5/12beamht,90); - % currentpen := pencircle xscaled thinwidth yscaled beamht ; - pickup pencircle scaled (1/16mm + blacker); - penstroke z1e..z3e..z2e; %statt dir 30 - endchar; - endfor; -enddef; - -def drawslursneg (expr st) = - save i, factor, length, depth; - numeric i, absp, length, depth, factor; - factor:= 1/6; - for i=0 upto 15: - length := (i+2)*nhw#; - depth := length*st ; - - beginchar(16+i, length, 0, depth); - clear; - z2l = (w,-d); - z1r = origin; - absp := abs((d,w)); - if (factor*absp)>2nhh : factor:= 2nhh/absp fi; - z3r = 1/2z2l+factor*(d,w); - penpos1(thinwidth,90); - penpos2(thinwidth,90); - penpos3(5/12beamht,90); -% currentpen := pencircle xscaled thinwidth yscaled beamht ; - pickup pencircle scaled (1/16mm + blacker); - penstroke (z1e..z3e..z2e) rotatedaround(1/2z2r, 180); - endchar; - endfor; -enddef; - -def drawleftslur = - save i, length, height; - numeric i, length, height; - length := 9*nhw#; - for i = 1 upto 9: - height := (i+2)*1/2nhh# ; - beginchar(i-1+32, length, height, 0); - clear; - z2r = (w+4thinwidth,h); - z1l = origin; - penpos1(thinwidth,90); - penpos2(5/12beamht,90); -% currentpen := pencircle xscaled thinwidth yscaled beamht ; - pickup pencircle scaled (1/16mm + blacker); - penstroke z1e..z2e{(2w,0)}; %statt dir 30 - endchar; - endfor; -enddef; - -def drawrightslur = - save i, length, height; - numeric i, length, height; - length := 9*nhw#; - for i= 1 upto 9: - height := (i+2)*1/2nhh#; - beginchar(i-1+48, length, height, 0); - clear; - z1r = (0-4\thinwidth,h); - z2l = (w,0); - penpos2(thinwidth,90); - penpos1(5/12beamht,90); -% currentpen := pencircle xscaled thinwidth yscaled beamht ; - pickup pencircle scaled (1/16mm + blacker); - penstroke z1e{right}..z2e; %statt dir 30 - endchar; - endfor; -enddef; - -def drawleftslurneg = - save i, length, depth; - numeric i, length, depth; - length := 9*nhw#; - for i= 1 upto 9: - depth := (i+2)*1/2nhh# ; - beginchar(i-1+64, length, 0, depth); - clear; - z2l = (w+4thinwidth,-d); - z1r = origin; - penpos1(thinwidth,90); - penpos2(5/12beamht,90); - pickup pencircle scaled (1/16mm + blacker); - % currentpen := pencircle xscaled thinwidth yscaled beamht ; - penstroke z1e..z2e{(2w,0)}; %statt dir 30 - endchar; - endfor; -enddef; - -def drawrightslurneg = - save i, length, depth; - numeric i, length, depth; - length := 9*nhw#; - for i= 1 upto 9: - depth := (i+2)*1/2nhh#; - - beginchar(i-1+80, length, 0, depth); - clear; - z1l = (0-4\thinwidth,-d); - z2r = (w,0); - penpos2(thinwidth,90); - penpos1(5/12beamht,90); -% currentpen := pencircle xscaled thinwidth yscaled beamht ; - pickup pencircle scaled (1/16mm + blacker); - penstroke z1e{right}..z2e; %statt dir 30 - endchar; - endfor; -enddef; - -%decrescendo und cresc. -def drawcrescendo = - save i, height, length, depth; - numeric i, length, height, depth; - for i= 0 upto 15: - length := (i+1)*nhw#; - depth := 1/2nhh# ; - height := depth ; - - beginchar(i+96, length, height, depth); - clear; - z1 = origin; - z2l = (w,h); - z3r = (w,-d); - penpos2(1/16mm,90); - penpos1(1/16mm,90); - penpos3(1/16mm,90); - pickup pencircle scaled (blacker); - penstrike z1e--z2e; - penstrike z1e--z3e; - endchar; - endfor; -enddef; - -def drawdecrescendo = - save i, height, length, depth; - numeric i, length, height, depth; - for i= 0 upto 15: - length := (i+1)*nhw#; - depth := 1/2nhh# ; - height := depth ; - - beginchar(i+112, length, height, depth); - clear; - z1l = (0,h); - z2 = (w,0); - z3r = (0,-d); - penpos2(1/16mm,90); - penpos1(1/16mm,90); - penpos3(1/16mm,90); - pickup pencircle scaled (blacker); - penstrike z3e---z2e; - penstrike z1e---z2e; -%label(1,2,3); - endchar; - endfor; -enddef; - -%%%%%%%%%%%%%%%%%%% -% Bogen nach oben % -%%%%%%%%%%%%%%%%%%% - -drawslurs(0); - -%%%%%%%%%%%%%%%%%%%% -% Bogen nach unten % -%%%%%%%%%%%%%%%%%%%% - -drawslursneg(0); - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% linge Halbboegen nach oben % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -drawleftslur; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% rechte Halbboegen nach oben % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -drawrightslur; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% linke Halbboegen nach unten % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -drawleftslurneg; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% rechte Halbboegen nach unten % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -drawrightslurneg; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Crescendo und Decrescendo % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -drawcrescendo; -drawdecrescendo; - - -end; diff --git a/macros/mtex/metafont/slurdd16.mf b/macros/mtex/metafont/slurdd16.mf deleted file mode 100644 index fd5712c57c..0000000000 --- a/macros/mtex/metafont/slurdd16.mf +++ /dev/null @@ -1,41 +0,0 @@ -input musicdef -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% BOGEN (KONKAV) % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -def drawslursneg (expr i, j) = - save jj, factor, length, depth; - numeric jj, absp, length, depth, factor; - factor:= 1/6; - length := j*nhw#; - depth := i*1/2nhh#; - if j<4 : jj := (j*(j-1)+(i-1))*8 - else: jj := (i-1)*8+(j mod 2)*64+floor((j-2)/2);fi; - beginchar(jj, length, 0, depth); - clear; - z2r = (w,-d); - z1l = origin; - absp := abs((d,w)); - if (factor*absp)>2nhh : factor:= 2nhh/absp fi; - z3r = 1/2z2r+factor*(d,w); - penpos1(thinwidth,90); - penpos2(thinwidth,90); - penpos3(5/12beamht,90); - currentpen := pencircle xscaled thinwidth yscaled beamht ; - penstroke (z1e..z3e..z2e) rotatedaround (1/2z2r,180); - endchar; -enddef; - -%%%%%%%%%%%%%%%%%%%%%%% -% negative Steigungen % -%%%%%%%%%%%%%%%%%%%%%%% - -for j= 1 upto 17: -for i= 1 upto min(2j,8): -drawslursneg(i,j); -endfor;endfor; -end; - diff --git a/macros/mtex/metafont/slurdu16.mf b/macros/mtex/metafont/slurdu16.mf deleted file mode 100644 index 20282e2ca7..0000000000 --- a/macros/mtex/metafont/slurdu16.mf +++ /dev/null @@ -1,42 +0,0 @@ -input musicdef -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% BOGEN (KONVEX) % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -def drawslursneg (expr i,j) = - save jj, factor, length, depth; - numeric jj, absp, length, depth, factor; - factor:= 1/6; - length := j*nhw#; - depth := i*1/2nhh#; - if j<4 : jj := (j*(j-1)+(i-1))*8 - else: jj := (i-1)*8+(j mod 2)*64+floor((j-2)/2);fi; - beginchar(jj, length, 0, depth); - clear; - % x2 = w; x1 = 0; - z2r = (w,-d); - z1l = origin; - absp := abs((d,w)); - if (factor*absp)>2nhh : factor:= 2nhh/absp fi; - z3r = 1/2z2r+factor*(d,w); - penpos1(thinwidth,90); - penpos2(thinwidth,90); - penpos3(5/12beamht,90); - currentpen := pencircle xscaled thinwidth yscaled beamht ; - penstroke (z1e..z3e..z2e); - endchar; -enddef; - -%%%%%%%%%%%%%%%%%%%%%%% -% negative Steigungen % -%%%%%%%%%%%%%%%%%%%%%%% - -for j= 1 upto 17: -for i= 1 upto min(2j,8): -drawslursneg(i,j); -endfor;endfor; -end; - diff --git a/macros/mtex/metafont/slurud16.mf b/macros/mtex/metafont/slurud16.mf deleted file mode 100644 index f4028a8e96..0000000000 --- a/macros/mtex/metafont/slurud16.mf +++ /dev/null @@ -1,40 +0,0 @@ -input musicdef -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% BOGEN (KONKAV) % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -def drawslurs (expr i,j) = - save jj, factor, length, height; - numeric jj, absp, length, height, factor; - factor:= 1/6; - height := i*1/2nhh#; - length := j*nhw#; - if j<4 : jj := (j*(j-1)+(i-1))*8 - else: jj := (i-1)*8+(j mod 2)*64+floor((j-2)/2);fi; - beginchar(jj, length, height, 0); - clear; - z2r = (w,h); - z1l = origin; - absp := abs((-h,w)); - if (factor*absp)>2nhh : factor:= 2nhh/absp fi; - z3r = 1/2z2r+factor*(-h,w); - penpos1(thinwidth,90); - penpos2(thinwidth,90); - penpos3(5/12beamht,90); - currentpen := pencircle xscaled thinwidth yscaled beamht ; - penstroke (z1e..z3e..z2e) rotatedaround (1/2z2r,180); - endchar; -enddef; - -%%%%%%%%%%%%%%%%%%%%%%% -% positive Steigungen % -%%%%%%%%%%%%%%%%%%%%%%% - -for j= 1 upto 17: -for i= 1 upto min(2j,8): -drawslurs(i,j); -endfor;endfor; -end; diff --git a/macros/mtex/metafont/sluruu16.mf b/macros/mtex/metafont/sluruu16.mf deleted file mode 100644 index 59fa5b22de..0000000000 --- a/macros/mtex/metafont/sluruu16.mf +++ /dev/null @@ -1,39 +0,0 @@ -input musicdef -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% BOGEN (KONVEX) % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -def drawslurs(expr i,j) = - save jj,factor, length, height; - numeric jj, absp, length, height, factor; - factor:= 1/6; - height = i*1/2nhh#; - length = j*nhw#; - if j<4 : jj := (j*(j-1)+(i-1))*8 - else: jj := (i-1)*8+(j mod 2)*64+floor((j-2)/2);fi; - beginchar(jj, length, height, 0); - clear; - z2r = (w,h); - z1l = origin; - absp := abs((-h,w)); - if (factor*absp)>2nhh : factor:= 2nhh/absp fi; - z3r = 1/2z2l+factor*(-h,w); - penpos1(thinwidth,90); - penpos2(thinwidth,90); - penpos3(5/12beamht,90); - currentpen := pencircle xscaled thinwidth yscaled beamht ; - penstroke z1e..z3e..z2e; %statt dir 30 - endchar; -enddef; - -%%%%%%%%%%%%%%%%%%%%%%% -% positive Steigungen % -%%%%%%%%%%%%%%%%%%%%%%% - -for j= 1 upto 17: -for i= 1 upto min(2j,8): -drawslurs(i,j); -endfor;endfor; -end; diff --git a/macros/mtex/metafont/sonder16.mf b/macros/mtex/metafont/sonder16.mf deleted file mode 100644 index 8421dee032..0000000000 --- a/macros/mtex/metafont/sonder16.mf +++ /dev/null @@ -1,112 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SONDERZEICHEN % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - - - -def alla_breve (expr trans) = - thin := 5thinwidth; thick := 1/2 nhh; - penpos1(thin, 0); - penpos2(thin, -90); - penpos3(thick,180); - penpos4(2/3thin, 90); - penpos5(thin, 45); - penpos6(3/4thick,45); - 2x2r = 2x4r = x1 + 2s = w; - x3r = 0; 2y1 = 3y2 = y4r = h; - y3r = 2/3h; - x5 = w -2s; - y5 = h -2s; - z6r = z5r; - penstroke (z1e..z2e..z3e..z4e..z5e) transformed trans; - currentpen := pencircle scaled (2/3thick); - drawdot z6; -enddef; - - -%%%%%%%%%%%%%%%% -% "allabreve" %% -%%%%%%%%%%%%%%%% - -beginchar(82, 2nhh#, 3nhh#, 0); - clear; - alla_breve(identity); - z7 = z4 + 2/16 h *up; - z8 = z2 + 2/16 h *down; - currentpen := pencircle scaled (thin); - draw z7--z8; - -endchar; - -%%%%%%%% -% "C" %% -%%%%%%%% - -beginchar(83, 2nhh#, 3nhh#, 0); - clear; - alla_breve(identity); - -endchar; - -%%%%%%%%%%%%%%% -% "reverseC" %% -%%%%%%%%%%%%%%% - -beginchar(84, 2nhh#, 3nhh#, 0); - clear; - transform T; - xxpart T = -yypart T; xypart T = yxpart T; % T is a reflection - (w/2,0) transformed T = (w/2,0); (w/2,1) transformed T = (w/2,1); - thin := 5thinwidth; thick := 1/2 nhh; - penpos1(thin, 0); - penpos2(thin, -90); - penpos3(thick,180); - penpos4(2/3thin, 90); - penpos5(thin, 45); - penpos6(3/4thick,45); - 2x2r = 2x4r = x1 + 2s = w; - x3r = 0; 2y1 = 3y2 = y4r = h; - y3r = 2/3h; - x5 = w -2s; - y5 = h -2s; - z6r = z5r; - penstroke (counterclockwise - (z1e..z2e..z3e..z4e..z5e) transformed T); - currentpen := pencircle scaled (2/3thick); - drawdot (z6 transformed T); - -endchar; - -%%%%%%%%%%%%%%% -% "fermate1" %% -%%%%%%%%%%%%%%% - -beginchar(80, 2nhw#, 1.25nhh#, 0); - clear; - penpos2(nhh/4,90); - penpos4(nhh/4,90); - y2r = h; - z1 = origin; 2x2l = 2x4l = x3 = w; y4l = y3 = 0; - penstroke z1..z2e..z3; - currentpen:= pencircle scaled (nhh/4); - drawdot z4; -endchar; - -%%%%%%%%%%%%%%% -% "fermate2" %% -%%%%%%%%%%%%%%% - -beginchar(81, 2nhw#, 0, 1.25nhh#); - clear; - penpos2(nhh/4,90); - penpos4(nhh/4,90); - y2l = -d; - z1 = origin; 2x2l = 2x4 = x3 = w; - y4r = y3 = 0; - penstroke (z1..z2e..z3); - currentpen := pencircle scaled (nhh/4); - drawdot z4; -endchar; diff --git a/macros/mtex/metafont/vio16.mf b/macros/mtex/metafont/vio16.mf deleted file mode 100644 index 8626d6c180..0000000000 --- a/macros/mtex/metafont/vio16.mf +++ /dev/null @@ -1,195 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% NOTENSCHLUESSEL % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%% -% VIOLINSCHLUESSEL % -%%%%%%%%%%%%%%%%%%%% - -def violin(expr width, beginleft, begindown, thick, penthick) = -x10=x3=x2=x8; -y6l=56/15width+y12r; -x11-x4=width; -x5=x4+13/15width; -x2=x4+31/45 width; -x1=x4+7/15width; -x4=beginleft; -x2-x12=4/15 width; -x9+2/5width=x6; -x6-4/15width=x7; -x9=x4+1/5width; -y12r=begindown; -y2r=y4=2y11; -y8=y12r+4/15width; -y2r=y12r+28/15width; -y1=y12r+width; -y3r=y12r+13/15width; -y7=y12r+116/45width; -y5=y12r+16/5width; -y5-y10=y11; -y9=y12r+2/15width; -penpos1(0,180); -penpos2(thick,90); -penpos3(penthick+1/16thick,-90); -penpos4(5/4thick,120); -penpos5(5/6thick,-120); -penpos6(5/3thick,-85); -penpos7(1/2thick,0); -penpos8(penthick,0); -penpos9(5/4thick,170); -penpos10(5/6thick,180); -penpos11(thick,0); -penpos12(penthick,-90); -pickup pencircle scaled 1s; -penstroke z1e{2left}..z2e..z11e..z3e -..z4e{right+up}..z10e..{up}z5e..z6e; -penstroke z6e{down+left}..{down}z7e--z8e; -fill z8l{2down+right}..z12l..z9l ---z9r..z12r..{up}z8r..cycle; -pickup pencircle scaled 1s; -fill z9l{3/2right+up}..{right+2down}z9r..cycle; -penlabels(1,2,3,4,5,6,7,8,9,10,11,12); -enddef; - -beginchar(71,3.25nhw#, 6nhh#, 2nhh#); -clear; -violin(15/8nhh,7/4nhh,-3/2nhh,2/5nhh,1/9nhh); -endchar; - -%%%%%%%%violin-schluessel verkleinert%%%%%%%% -beginchar(72,3.25nhw#, 6nhh#, 2nhh#); -clear; -violin(12/8nhh,7/4nhh,-2/2nhh,3/10nhh,1/10nhh); -endchar; - -%%%%%%%%%%%%%%%%%%%%% -% BASS--SCHLUESSEL %% -%%%%%%%%%%%%%%%%%%%%% - -def bass(expr width, beginleft, begindown, thick, dotthick)= - -y1=begindown; -x1l=beginleft; -x4=x5; -x4-x3=width; -x1l-x3=1/10width; -y2=3/6(y4+y5); -y4-y5=3/9width; -y5-y3=9/9width; -y3=y1-17/12width; -x4-x2=3/9width; -x7-x3=1/5width; -y7=1/4(3y5+y4); -penpos1(1/2thick,10); -penpos2(thick,180); -penpos3(0,180); -penpos7(1/3thick,90); - -pickup pencircle scaled dotthick; -drawdot z4; drawdot z5; -pickup pencircle scaled 1s; -penstroke z3e{up+right}..z2e{up}..{down+left}z1e; -fill z1l{down+left}..{right}z7l{right}..{left+up}z1r..cycle; -penlabels(1,2,3,4,5,7); -enddef; - -beginchar(73,3nhw#, 4nhh#, 0nhh#); -clear; -bass(9/4nhh, 49/40nhh, 58/16nhh, 1/2nhh, 2s); -endchar; - -%%%%%%verkleinerter bass-schluessel%%%%%%%%% -beginchar(74,3nhw#, 4nhh#, 0nhh#); -clear; -bass(7/4nhh, 60/40nhh, 56/16nhh, 1/2nhh, 1.5s); -endchar; - -%%%%%%%%%%%%%%%%%%% -% ALT--SCHLUESSEL % -%%%%%%%%%%%%%%%%%%% - -def alt(expr height, beginleft, begindown, thick) = -x1=x7; -x2=x8; -y1-y7=height; -y2-y8=height; -y7=begindown; -x7=beginleft; -x2=x1+1/4height; -x6l=x8l; -y5=y7+1/2height; -x5=x3; -y4=y5+1/3(y3-y5); -x4-x7=height; -x4-x5=1/2height; -y3-y5=2/5height; -y8=y7; -y6=y7; -x9=x3; -y9=y7-1/2height-2/5height; -penpos8(1/4thick,180); -penpos2(1/4thick,180); -penpos1(thick,180); -penpos7(thick,180); -penpos6(thick,0); -penpos5(1/10thick,0); -penpos3(1/2thick,0); -penpos4(2/3thick,180); - -pickup pencircle scaled 1s; -fill z7l--z1l--z1r--z7r--cycle; -fill z8l--z2l--z2r--z8r--cycle; -penstroke z5e..{left+2down}z6e; -penstroke z5e{right+4down}..{up}z4e{up}..{left+down}z3e; -pickup pencircle scaled 1.8s; -drawdot z3; - - -pickup pencircle scaled 1s; -penstroke - (counterclockwise(z7e--z1e)reflectedabout(z7,z8)); -penstroke -(counterclockwise(z8e--z2e)reflectedabout(z7,z8)); -penstroke -(counterclockwise(z5e..{left+2down}z6e)reflectedabout(z7,z8)); -penstroke -(counterclockwise (z5e{right+4down}..{up}z4e{up}..{left+down}z3e) -reflectedabout(z7,z8)); - -pickup pencircle scaled 1.75s; -drawdot z9; -penlabels(1,2,3,4,5,6,7,8); -enddef; - -%%%%%%%%%%%Altschl"usseL%%%%%%%%%%% -beginchar(75,3.5nhw#, 4nhh#, 0nhh#); -clear; -alt(2nhh,1.25nhh,2nhh,2/5nhh); -endchar; - -%%%%%%%%%Tenorschluessel%%%%%%%%% -beginchar(76,3.5nhw#, 4nhh#, 0nhh#); -clear; -alt(2nhh,1.25nhh,3nhh,2/5nhh); -endchar; - -%%%%%%%%%Baritonschluessel%%%%%%%%% -beginchar(77,3.5nhw#, 4nhh#, 0nhh#); -clear; -alt(2nhh,1.25nhh,4nhh,2/5nhh); -endchar; - -%%%%%%%%%Mezzosopranschluessel%%%%%%%%% -beginchar(78,3.5nhw#, 4nhh#, 0nhh#); -clear; -alt(2nhh,1.25nhh,1nhh,2/5nhh); -endchar; - -%%%%%%%%%Sopranschluessel%%%%%%%%% -beginchar(79,3.5nhw#, 4nhh#, 0nhh#); -clear; -alt(2nhh,1.25nhh,0nhh,2/5nhh); -endchar; - diff --git a/macros/physe/physe.doc b/macros/physe/physe.doc deleted file mode 100644 index 4709e695c6..0000000000 --- a/macros/physe/physe.doc +++ /dev/null @@ -1,2582 +0,0 @@ -%Changes by lde -% changed .texindex extension to .index -% set IBMfalse -% -%FORMAT physe % use PHYSE format -%*** this is file PMANUAL as of 07.03.86 *** -% \input themac -%*** this is file THEMAC as of 11.02.86 *** -% \input mppmac % get MPP macros -%*** this is file MPPMAC as of 17.03.86 *** -\input physupdt % get updates and corrections to PHYS-TeX -\def\wlog#1{} % suppress allocation messages -\catcode`\@=11 - -%\def\jobname{pmanual} -%*** additional macros for MPP *** -%*** (Max-Planck-Institut fuer Physik und Astrophysik) *** -%*** (Werner-Heisenberg-Institut fuer Physik) *** - -\def\mppaddresstext{Postfach 40 12 12, D-8000 M\"unchen 40\else - P.O.Box 40 12 12, Munich (Fed.~Rep.~Germany)} - -\def\mppaddress{\address - {Max-Planck-Institut f\"ur Physik und Astrophysik% - \\-- Werner-Heisenberg-Institut f\"ur Physik --% - \\\case@language\mppaddresstext}} - -\def\mppnum#1{\topright{MPI--PAE/#1}} - -%*** mpp letterhead *** - -\font\fourtenbf=\font@sel ssbx10 scaled \magstep2 % for letterhead -\font\sixtenbf=\font@sel ssbx10 at 16.587 pt % for letterhead - % (LasergrafiX) -\font\seventenbf=\font@sel ssbx10 scaled \magstep3 % for letterhead - % (Canon) - -\def\mppae@text{MAX-PLANCK-INSTITUT F\"UR PHYSIK UND ASTROPHYSIK} - -\def\letterC{\endpage \vglue-19mm\centerline{\seventenbf - \mppae@text}\l@tt@r} % for output on canon -\def\letterL{\endpage \vglue-26mm\centerline{\sixtenbf - \mppae@text}\l@tt@r} % for output on lasergrafix -\let\letter=\letterL % default is lasergrafix - -\def\l@tt@r#1#2#3{\centerline{\fourtenbf - WERNER-HEISENBERG-INSTITUT F\"UR PHYSIK}% - \skippagenum T\skipheadline T\skipfootline T% - \centerline{\strut#1}\vskip.5cm% - \line{\vtop to5cm{\lftline{\strut}\vfil - \let\\\cr \halign{\strut##\hfil\cr#3\cr}\vfil}% - \hss\vtop to5cm{\def\lftline##1{\hbox to 5cm{##1\hfil}}% - \lftline{\strut}\eightrm \setbaselineskip=12pt \vfil - \lftline{F\"OHRINGER RING 6}\lftline{\tenrm D-8000 M\"UNCHEN 40}% - \lftline{\case@language{TELEFON\else PHONE}: (089) 31 893 - \if!#2!\else - #2 \case@language{oder\else or} \fi-1}% - \lftline{TELEGRAMM:}\lftline{PHYSASTROPLANCK M\"UNCHEN}% - \lftline{TELEX: 52 15 61 9 mppa d}% - \lftline{POSTFACH 40 12 12}\vfil}}% - \vskip1cm\rtline{\thedate}\vskip 1cm plus 1cm minus.5cm} - -\def\wlog{\immediate\write\m@ne} % restore PLAIN's definition -\catcode`\@=12 % @ signs are no longer letters -%*** end of file MPPMAC *** -\def\wlog#1{} % suppress allocation messages -\catcode`\@=11 - -\outer\def\pthnum#1{\mppnum{PTh #1}} -\let\pthdate=\pubdate - -\def\wlog{\immediate\write\m@ne} % restore PLAIN's definition -\catcode`\@=12 % @ signs are no longer letters - -%*** additional physics journals *** - -\def\AP{\journal{Ann.\ \Phys}} -\def\CMP{\journal{Commun.\ \Math\Phys}} -\def\JMP{\journal{J.\ \Math\Phys}} -\def\PRep{\journal{\Phys Rep.\ }} -\def\RMP{\journal{\Rev Mod.\ \Phys}} -\def\TMF{\journal{Teor.\ Mat.\ Fiz.\ }} - -%*** end of file THEMAC *** -% \input pmanmac -%*** this is file PMANMAC as of 06.03.86 *** -\catcode`\@=11 - -\newif\ifIBM -%\IBMtrue % print the character ^ as `neg' (as on IBM terminals) -\IBMfalse % print the character ^ as `hat' (as in the TeXbook) - -\hyphenchar\twelvett=-1 \hyphenchar\tentt=-1 -\hyphenchar\eighttt=-1 % prevent hyphenation inside verbatim - -\newinsert\margin -\dimen\margin=\maxdimen % no limit on the number of marginal notes -\count\margin=0 \skip\margin=0pt % marginal notes take up no space - -\def\skip@userexit{\setbox\z@\box\@cclv \setbox\z@\box\margin} -\def\ship@userexit{\ifvbox\margin \nointerlineskip - \rlap{\hskip\hsize \hskip6pt\vbox to\z@{\kern4\p@ \box\margin \vss - }}\fi \unvbox\@cclv} -\let\skipuserexit=\skip@userexit -\let\shipuserexit=\ship@userexit - -\newif\ifmultic@lumn \newcount\numc@lumn \newdimen\c@lumnwidth -\newbox\partialp@ge \newdimen\p@gewidth \newdimen\p@geheight - -\let\multicolumn=\relax -\outer\def\singlecolumn{\ifmultic@lumn \singlec@lumn \bigskip \fi} -\outer\def\doublecolumn{\multicolumn\tw@} -\outer\def\triplecolumn{\multicolumn\thr@@} -\outer\def\multicolumn{\ifmultic@lumn \singlec@lumn \fi \multic@lumn} -\def\singlec@lumn{\output{\balancec@lumns}\eject - \endgroup \pagegoal\vsize} -\def\multic@lumn{\begingroup \multic@lumntrue - \afterassignment\multic@l@mn \numc@lumn=} -\def\multic@l@mn{\output{\global\setbox\partialp@ge - \vbox{\unvbox\@cclv\bigskip}}\eject - \p@gewidth\hsize \p@geheight\vsize \advance\hsize12\p@ - \divide\hsize\numc@lumn \advance\hsize-12\p@ \c@lumnwidth\hsize - \multiply\vsize\numc@lumn \advance\vsize12\p@ - \let\skipuserexit\skipsofar \let\shipuserexit\shipsofar - \output{\multic@lumnout}} -\def\multic@lumnout{\splittopskip\topskip \splitmaxdepth\maxdepth - \dimen@\p@geheight \advance\dimen@-\ht\partialp@ge - \setbox\tw@\hbox{\count@\@ne \loop \setbox\z@\vsplit\@cclv to\dimen@ - \wd\z@\c@lumnwidth \box\z@ \hfil \advance\count@\@ne - \ifnum\count@<\numc@lumn \repeat}% - \setbox\f@ur\vsplit\@cclv to\dimen@ - \bgroup \hsize\p@gewidth \vsize\p@geheight \physoutput \egroup - \unvbox\@cclv \penalty\outputpenalty} -\def\skipsofar{\setbox\z@\box\partialp@ge} -\def\shipsofar{\unvbox\partialp@ge - \hbox to\p@gewidth{\unhbox\tw@ \wd\f@ur\c@lumnwidth \box\f@ur}} -\def\balancec@lumns{\setbox\z@\vbox{\unvbox\@cclv}\splittopskip\topskip - \dimen@-\topskip \advance\dimen@\baselineskip - \advance\dimen@-\numc@lumn\dimen@ - \advance\dimen@\ht\z@ \divide\dimen@\numc@lumn - {\vbadness\@M \loop \global\setbox\thr@@\copy\z@ - \global\setbox\@ne\hbox{\count@\@ne \loop - \setbox\z@\vsplit\thr@@ to\dimen@ - \setbox\z@\vbox to\dimen@{\unvbox\z@}\wd\z@\c@lumnwidth \box\z@ - \hfil \advance\count@\@ne \ifnum\count@<\numc@lumn \repeat}% - \ifdim\ht\thr@@>\dimen@ \global\advance\dimen@\p@ \repeat}% - \setbox\tw@\box\@ne \setbox\f@ur\vbox to\dimen@{\unvbox\thr@@}% - \shipsofar} - -\def\AmSTeX{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em - S$-\TeX} -\def\bull{\vrule height .9ex width.8ex depth -.1ex } % square bullet -\def\dn{\leavevmode\hbox{\tt\char'14}} % downward arrow -\def\up{\leavevmode\hbox{\tt\char'13}} % upward arrow -\def\|{\leavevmode\hbox{\tt\char`\|}} % vertical line -\def\vspace{\leavevmode\hbox{\tt\char`\ }} % visible space - -\def\pt{\,{\rm pt}} % units of points -\def\<#1>{\leavevmode\hbox{$\langle$#1\/$\rangle$}} % syntactic quantity -\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant -\def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant -\def\cstok#1{\leavevmode\thinspace\hbox{\vrule\vtop{\vbox{\hrule\kern1pt - \hbox{\vphantom{\tt/}\thinspace{\tt#1}\thinspace}}% - \kern1pt\hrule}\vrule}\thinspace} % control sequence token - -\outer\def\begindisplay{\obeylines\startdisplay} -{\obeylines\gdef\startdisplay#1 - {\catcode`\^^M=5$$#1\halign\bgroup\indent##\hfil&&\qquad##\hfil\cr}} -\outer\def\enddisplay{\crcr\egroup$$} - -{\catcode`\^=\active - \gdef\ttverbatim{\begingroup \catcode`\\\@ther \catcode`\{\@ther - \catcode`\}\@ther \catcode`\$\@ther \catcode`\&\@ther - \catcode`\#\@ther \catcode`\%\@ther \catcode`\~\@ther - \catcode`\_\@ther \catcode`\`\active - \ifIBM \catcode`\^\active \let^\tt@neg \else \catcode`\^\@ther \fi - \obeyspaces \obeylines \tt}} -{\catcode`\`=\active \gdef`{\relax\lq}} -\def\tt@neg{\hbox to.5em{\hss\the\scriptfont2:\hss}} -{\obeyspaces\gdef {\ }} % \obeyspaces now gives \ , not \space - -\outer\def\begintt{\strut \begingroup - \abovedisplayskip\parskip \abovedisplayshortskip\abovedisplayskip - \belowdisplayskip\parskip \belowdisplayshortskip\belowdisplayskip - $$\let\par=\endgraf \ttverbatim \parskip0pt - \catcode`\|=0 \rightskip=-5pc \tt@finish} - -\outer\def\beginttlines{\begingroup\tenpoint - \let\par=\cr \ttverbatim \catcode`\|=0 - \ifhmode \strut \expandafter\vadjust\fi \bgroup \ttlines@finish} - -{\catcode`\|=0 |catcode`|\=\@ther % | is temporary escape character - |obeylines % end of line is active - |gdef|tt@finish#1^^M#2\endtt{#1|vbox{|strut#2}|endgroup % - $$|endgroup |ignorespaces} % - |gdef|ttlines@finish#1^^M#2\endttlines{#1|halign % - {|hbox{|strut|quad *|quad##|hfil}|crcr#2|crcr}|egroup % - |ifhmode |lb |fi |endgroup |endgroup |ignorespaces}} - -\catcode`\|=\active -{\obeylines - \gdef|{\ttverbatim\ttglue\let^^M=\ \let|=\endgroup} - \gdef\utt|{\setbox\z@\hbox\bgroup|\aftergroup\utt@end} -} -\def\utt@end{\egroup$\underline{\box\z@}$} - -\def\ttglue{\spaceskip=.5em plus.25em minus.15em} - -\def\beginlines{\par\begingroup\nobreak\medskip\parindent\z@ - \parskip\z@ \hrule\kern1pt\nobreak \obeylines \everypar{\strut}} -\def\endlines{\kern1pt\hrule\endgroup\medbreak\noindent} - -\newwrite\inx -\immediate\openout\inx=\jobname.index % file for index remainders -\def\marginstyle{\eightrm % marginal notes are in 8pt - \vrule height9pt depth3pt width0pt } % a strut for \insert\margin - -\newif\ifsilent -\def\specialhat{\ifmmode \expandafter^\else \expandafter\beginxref\fi} -\def\beginxref{\futurelet\n@xt\beginxrefswitch} -\def\beginxrefswitch{\ifx\n@xt\specialhat \expandafter\silentxref\else - \silentfalse \expandafter\xref\fi} -\catcode`\^=\active \let ^=\specialhat -\def\silentxref^{\silenttrue\xref} - -\begingroup \lccode`\*=`\\ \lowercase{\gdef\bslash{*}} \endgroup -\def\xref{\futurelet\n@xt\xrefswitch} % branch on the next character -\def\xrefswitch{\begingroup\ifx\n@xt|\aftergroup\vxref - \else \begingroup \ifx\n@xt\<\aftergroup\anglexref - \else\aftergroup\normalxref \fi\fi \endgroup} -\def\vxref|{\ttverbatim \futurelet\n@xt\vxrefswitch} -\def\vxrefswitch#1|{\vxref@switch#1@@\@} -{\lccode`\~=`\` \lccode`\?=`\^ \lccode`\+=`\\ \lowercase{ - \gdef\vxref@switch#1#2@#3\@{\if\bslash\noexpand\n@xt - \def\xreftype{2}\def\text{\bslash#2}% code 2, |\arg| - \else\def\xreftype{1}\def\text{#1#2}\fi % code 1, |arg| - \bgroup \def^{?}\def~{`}\let\bslash\empty % for write - \makexref} - \gdef\normalxref#1{\def\xreftype{0}\def\text{#1}% - \bgroup \def\tt{+tt}\def\^{+?}% for write - \makexref} -}} -\def\anglexref\<#1>{\def\xreftype{3}\def\text{\<#1>}% code 3, \<arg> - \bgroup \def\text{#1}% for write - \makexref} - -\newif\ifproofmode -\proofmodefalse % for camera-ready copy -%\proofmodetrue % this should be false when making camera-ready copy -\def\makexref{\ifproofmode \insert\margin{\hbox{\marginstyle\text}}% - \xdef\writeit{\write\inx{\text\space!\xreftype\space - \noexpand\number\pageno.}}\writeit - \else\ifhmode\kern0pt \fi\fi - \ifsilent \egroup \endgroup \ignorespaces \else - \egroup \text \endgroup \fi} - -\outer\def\startindex{\superendpage - \he@d{\strut\case@language\indextext}% - \toc{\case@language\indextext}{\unskip}} -\def\indextext{Stichwortverzeichnis\else Index} -\outer\def\makeindex{\openin\test@read=pmanual.index - \ifeof\test@read \message{* file pmanual.index missing *}\else - \closein\test@read \expandafter\make@index\fi} -\def\make@index{\beginindex \input pmanual.index \endindex } - -\let\endindex=\endgroup \let\sub=\indent - -\def\beginindex{\begingroup \maxdepth\maxdimen - \def\par{\endgraf \futurelet\n@xt\inxentry}\obeylines - \everypar{\hangindent\tw@\parindent}\exhyphenpenalty\@M - \parindent1em\raggedright} -\def\inxentry{\ifx\n@xt\endindex \else \noindent \fi} - -\catcode`\@=12 % @ signs are no longer letters -%*** end of file PMANMAC *** - - -%\IBMtrue % print the character ^ as `neg' (as on IBM terminals) - \IBMfalse % print the character ^ as `hat' (as in the TeXbook) - -\tolerance=1000 - -\def\chapuserexit{\wlog{\expandafter\empty\the\toks0 - \space\the\toks2}} -\def\secsssuserexit{\expandafter\myuserexit\the\toks0 } -\def\myuserexit#1.{\wlog{#1: \the\toks2}\toks0{#1}} - -%\pagesel{39}{99} % print selected pages only - -\english -\chapters \chappage -\pageall \toppagenum -\althead -\lheadtext={The PHYS-{\TeX} Manual} -\rheadtext={P. Breitenlohner, A. Kabelschacht and R.J. Drofnats} -\centfoot -\lfoottext={\thetime} \rfoottext={\thedate} -\equleft \equsect \equshort -\figchap -\tabchap -\refsqb -\tocsect -\footpar \footbot \let\footstyle=\tenpoint - -% \input pmantitp % title page -%*** this is file PMANTITP as of 07.03.86 *** -\submit{Journal ???} -\mppnum{PTh xx/86} -\topright{Version 1.0} -\pubdate{March 1986} - -\title{The PHYS-{\TeX} Manual} -\titcon{How to use the {\TeX} formats PHYSE and PHYS -\rm\footnote -*{This output is produced from the file PMANUAL TEX. -Here you could add things like the phrase: Talk given at {\dots} or -similar.}} - -\author{P. Breitenlohner\\A. Kabelschacht} -\mppaddress -\autcon{R.J. Drofnats} -\address{Dept.~of Farm Ecology, The University of St.~Anford\\% -P.O.Box 1009, Haga Alto, CA 94321 (USA)} - -\abstract{This manual describes how to use the {\TeX} formats PHYSE -and PHYS to write physics papers. -These formats contain MACROS which will automatically number -chapters, sections, \dots, appendices, pages, footnotes, equations, -figures, references and tables. -In addition lists of all figure captions, table captions, references -as well as a table of contents can be generated.} -\endpage -\startpage-2 -\null\vskip3in -\centerline{\it This page intentionally left blank} -\vskip3in -\endpage -%*** end of file PMANTITP *** -\startpage1 % leave room for toc on pages iii and iv -% \input pmanintr % introduction -%*** this is file PMANINTR as of 08.03.86 *** -\chap{Introduction} -The {\TeX} formats PHYSE and PHYS are extensions of the PLAIN format -and should simplify the writing of physics papers. -They differ from eachother by the use of english -or german hyphenation patterns ^^{hyphenation, german and english} -and by having ^|\english| or ^|\german| as default. -Practically all features of PLAIN-{\TeX} as described in the -\TeX book \RF{\texbook}{{\it The \TeX book}, Donald E.~Knuth, -Addison-Wesley, 1984.}\quref{\texbook} can be used without any change. -The only exception is that PLAIN's ^|\item| has been renamed -to ^|\plainitem|. -The PHYSE and PHYS formats have been developed at the -Max-Planck-Institut f\"ur Physik, M\"unchen, and are derived from -the macros for physics papers used at SLAC\null. - -These formats exist as dump files which can be -invoked in the same way as PLAINE or PLAIN\null. -Your input should start with the command |\input|~^|physupdt| -(compare appendix B for details). - -\ifIBM % print this paragraph if ^ is represented as `neg' -The character for superscripts (^{{\tt\char`\^}} in the -{\TeX}book) is printed as ^|^| in this manual, in the same way as it -appears on IBM terminals.\fi - -%*** end of file PMANINTR *** -% \input pmanfont % fonts, text sizes, styles and headings -%*** this is file PMANFONT as of 06.03.86 *** -\chap{Fonts, Text Sizes, Styles and Headings} -\sect{Text Sizes and Spacing} -You can produce text in various ^{sizes}. -If you use the command ^|\twelvepoint| (which is the default) at the -begin of your input file, everything will be \LARGE{\bf large} -i.e.\ normal text and equations will be in 12\pt, subscripts -and superscripts in 10{\pt} and sub-subscripts etc.\ in 8{\pt} size. -If you use ^|\tenpoint| you get \MEDIUM{\bf medium} size -(10\pt, 8{\pt} and 6\pt) and if you use ^|\eightpoint| you get -\SMALL{\bf small} size (8\pt, 6{\pt} and 5\pt). -Independently you can specify ^^{spacing} ^|\singlespace|, -^|\doublespace| (the default) or ^|\triplespace| to obtain narrow, -medium or wide space between consecutive lines of text -(^|\baselineskip|); other spacing parameters are set accordingly. -Each time you select a size or spacing the ^|\strut| is suitably -redefind. -The combination |\twelvepoint\triplespace| should about satisfy -{\it Phys.~Rev.}'s requirements. - -You can use |\medium{text}| or |\MEDIUM{text}| to get `text' in -{\bf medium} size. -The difference is that ^|\medium| puts `text' into -one or several separate paragraphs whereas ^|\MEDIUM| puts `text' -into the middle of the current paragraph. -The commands ^|\large|, ^|\LARGE|, ^|\small| and ^|\SMALL| -can be used in exactly the same way. -Finally we add a displayed equation: -$$\smallint_0^\infty e^{-x^2} dx = {\sqrt{\pi}\over 2}\qquad\qquad -\smallprod_{i=1}^n e^{x_i}=e^{\smallsum_{i=1}^n x_i}\eqn$$ -to see the size of superscripts and super-superscripts. -\medium{\singlespace This paragraph in {\bf medium} size starts with -|\medium{\singlespace This|\dots\space -and uses |\LARGE| and |\SMALL| to get a \LARGE{large} and a -\SMALL{small} word in the middle. -Now we add a very long sentence so that we can see the effect of -the large word on the interline spacing (if any). -Again we add a displayed equation: -$$\smallint_0^\infty e^{-x^2} dx = {\sqrt{\pi}\over 2}\qquad\qquad -\smallprod_{i=1}^n e^{x_i}=e^{\smallsum_{i=1}^n x_i}\eqn$$ -to see the size of superscripts and super-superscripts.} -\small{\singlespace This paragraph in {\bf small} size starts with -|\small{\singlespace This|\dots\space -and, after the first line which is entirely in small type, -uses |\LARGE| and |\MEDIUM| to get a \LARGE{large} and a -\MEDIUM{medium} word in the middle. -Again we add a very long sentence in order to see the effect -of the large and the medium word on the interline spacing. -Again we add a displayed equation: -$$\smallint_0^\infty e^{-x^2} dx = {\sqrt{\pi}\over 2}\qquad\qquad -\smallprod_{i=1}^n e^{x_i}=e^{\smallsum_{i=1}^n x_i}\eqn$$ -to see the size of superscripts and super-superscripts.} -\sect{Fonts} -For each size there are several `^{fonts}' available, i.e.\ sets of -characters of different shape. -Normally text is typed in `roman' and equations are typed in -`math italic'. -You can choose among:\lb -^|\rm| for {\rm roman}\lb -|$|\dots|$| (or |\mit| inside equations) for $math\; italic$\lb -^|\cal| for $\cal CALIGRAPHIC$ (inside equations and for capitals -only)\lb -^|\it| for {\it text italic}\lb -^|\sl| for {\sl slanted}\lb -^|\bf| for {\bf bold}\lb -^|\tt| for {\tt typewriter}\lb -^|\caps| for {\caps Large and Small Capitals}\lb -but not all fonts are available in all sizes. -\sect{Styles} ^^{styles} -There are macros which determine how various things are printed -(e.g.\ page numbers, headings, titles and so on). -The are listed below and can be changed as necessary. -%*** the following lines are copied from PHYSTEXT *** -\beginttlines -\let\headlinestyle=\twelverm -\let\footlinestyle=\twelverm -\let\pagestyle=\twelverm % page numbers -\let\titlestyle=\bf % title of paper, chapters, appendices -\let\authorstyle=\caps -\let\addressstyle=\sl -\let\sectstyle=\caps % section titles -\def\secsstyle{\sectstyle} -\def\secssstyle{\secsstyle} -\def\secsssstyle{\secssstyle} -\def\subsecstyle#1{\hbox{$\underline{\hbox{#1}}$\enskip}\ignorespaces} -\let\headstyle=\UPPERCASE % headlines for list of figure capts. etc -\let\captionstyle=\it % figure and table captions -\let\journalstyle=\sl -\let\volumestyle=\bf -\let\figstyle=\empty % list of figure captions -\def\figindent{to4em} -\def\figbreak{\goodbreak \vskip\refbetweenskip} -\let\tabstyle=\empty % list of table captions -\let\tabindent=\figindent -\let\tabbreak=\figbreak -\let\refstyle=\empty % list of references -\let\refindent=\figindent -\def\namrefindent{2em} -\def\refbreak{\filbreak \vskip\refbetweenskip} -\let\tocstyle=\empty % table of contents -\let\tocindent=\empty -\let\tocbreak=\refbreak -\let\footstyle=\empty % (list of) footnotes -\let\footindent=\figindent -\let\footbreak=\figbreak -\let\stmttitlestyle=\bf % mathematical statements -\let\stmtstyle=\sl -\let\prftitlestyle=\caps -\let\prfstyle=\sl -\endttlines -The command |\UPPERCASE| translates it's argument to uppercase -(as does |\uppercase|) but all macros in the argument are -expanded before the translation. -The definition is -\beginttlines -\def\UPPERCASE#1{\edef\next{#1}\uppercase\expandafter{\next}} -\endttlines -\sect{Headings} -^^{headings}The text of most headings is defined by macros which -are listed below (\<german text>|\else|\<english text>), -and which can be easily changed. -%*** the following lines are copied from PHYSTEXT *** -\beginttlines -\def\submittextone{Zur Ver\"offentlichung in\else Submitted to} -\def\submittexttwo{ eingereicht\else} -\def\abstracthead{Zusammenfassung\else Abstract} -\def\ackhead{Danksagung\else Acknowledgements} -\def\appendixhead{Anhang\else Appendix} -\def\eqabbr{Gl\else eq} -\def\eqsabbr{Gln\else eqs} -\def\figpref{Abb\else Fig} -\def\fighead{Abbildungen\else Figure captions} -\def\figabbr{Bild\nodot\else Fig} -\def\tabpref{Tab\else Tab} -\def\tabhead{Tabellen\else Table captions} -\let\tababbr=\tabpref -\def\refpref{Lit\else Ref} -\def\refhead{Literaturverzeichnis\else References} -\def\refabbr{???\else Ref} -\def\refsabbr{????\else Refs} -\def\tocpref{Inh\else Toc} -\def\tochead{Inhaltsverzeichnis\else Table of contents} -\def\footpref{Anm\else Foot} -\def\foothead{Anmerkungen\else Footnotes} -\def\prfhead{Beweis\else Proof} -\endttlines - -%*** end of file PMANFONT *** -% \input pmanpage % page numbers -%*** this is file PMANPAGE as of 07.03.86 *** -\chap{Page Numbers, Head- and Footlines} -\sect{Page Numbers} -^^{page numbers} -If you use ^|\pageall| (default) the pages are numbered throughout -the paper, starting with `1' for the ^{title page}. -If you use ^|\pagechap| the title page is page~0 and the pages are -numbered separately for each chapter, appendix, the figure captions, -the table captions, the list of references, the table of contents -and (if applicable) the footnotes, with the number of the chapter or -similar as prefix. -The page number of the title page will never be printed and with -|\pagechap| the same is true for the first page of figure captions, -table captions etc. - -You can use\lb -^|\toppagenum| to get page numbers on top of each page,\lb -^|\botpagenum| (default) to get page numbers at the bottom of each page -or\lb -^|\nopagenum| to supress the printing of page numbers. -\sect{Head- and Footlines} -^^{headlines}^^{footlines} -Independently from the page numbers there may be running head- and -footlines. -You can specify specify a left head line text with -^|\lheadtext||={|\dots|}| and similarly a right head line text -(^|\rheadtext|) and a ^|\cheadtext| as well as foot line texts -(^|\lfoottext|, ^|\rfoottext| and ^|\cfoottext|). -All these texts are initially empty. - -If you choose the option ^|\centhead| (default) the headline -will contain the |\lheadtext| in the left corner, the |\rheadtext| -in the right corner and a page number or blank in the center. -With the option ^|\righthead| the |\rheadtext| is centered, -the ^|\cheadtext| in the left corner and a page number will be in -the right corner; with the option ^|\lefthead| you get the same -with left and right exchanged. -With the option ^|\althead| you get alternatingly the result from -|\righthead| on the odd numbered (right) pages and from |\lefthead| -on the even numbered (left) pages. - -The options ^|\centfoot| (default), ^|\rightfoot|, ^|\leftfoot| and -^|\altfoot| will do the same for the footlines. - -You can use the command ^|\skippagenum||=T| to suppress the printing -of a page number on the current page. -Similarly ^|\skipheadline||=T| and ^|\skipfootline||=T| will suppress -the printing of the entire headline and footline. -All three commands are used automatically on the title page and all -three switches are automatically reset to `|F|' when a new page is -started. -You should, however, be careful where to put these commands because -{\TeX} may have different ideas about what is the current page than -you do (see chapter~15: How {\TeX} Makes Lines into Pages in the -{\TeX}book for details). -\sect{Portrait and Landscape Format} -{\TeX} usually produces output in `portrait' format (|\vsize| is larger -than |\hsize|). -Some times you may want to use `landscape' format, i.e.\ for large -tables. -You can use the commands ^|\portrait| (default) and ^|\landscape| to -switch between portrait and landscape format. -If such a switch occurs any partial page accumulated so far will be -terminated and then the values for |\hsize| and |\vsize| will be -interchanged and adjusted for the presence of head- and footlines. -It is, therefore, \underbar{not} possible to use a |\pageinsert| in -landscape format while processing a page in portrait format. -\subsec{Warning:}Some output devices may not be able to handle -landscape format properly or they may not be able to handle a -mixture of both formats. - -%*** end of file PMANPAGE *** -% \input pmantitl % the title page -%*** this is file PMANTITL as of 07.03.86 *** -\chap{The Title Page} -There are several macros to facilitate the production of a ^{title -page}. -These macros provide vertical spacing which should normally give a -reasonable layout. - -You should use ^|\titlepage| (default) or ^|\notitlepage| if the title -of the paper, the name(s) and address(es) of author(s) and possibly -the abstract do or don't appear on a separate page which is -terminated with |\endpage|. - -You can use ^|\topleft| and ^|\topright| as often as needed to -collect information to appear on the top left and top right corners -of the title page. -This information is stored in boxes and is printed with the (first) -use of ^|\title|. - -The command ^|\submit||{...}| uses topleft to produce the two -lines `Submitted~to' and `\dots' in the top left corner,\lb -^|\mppnum||{...}| is equivalent to |\topright{MPI--PAE/...}|, -\lb and ^|\pubdate| is a synonym for |\topright|. - -You can use ^|\title||{...}| to print (the first line of) the title -of the paper and ^|\titcon||{...}| for continuation lines. - -The command ^|\author||{...}| will print one or more lines with -authors, ^|\\| indicates the start of a new line, -^|\autcon||{...}| will print `and' or `und' and more authors. -You can use the commands |\author|, |\autcon| and -|\address| as often as required. - -Any of the above macros may use ^|\foot| or ^|\footnote|, -but you should surround the footnote with -|{|^|\rm|~|...}|, otherwise the footnote will be printed in the -current font. - -The command ^|\address||{...}| prints the address of the -institution with one or more lines which are again separated by ^|\\|. - -The command ^|\mppaddress| prints the address of the -Max-Planck-Institut f\"ur Physik. - -The command ^|\abstract||{...}| prints the english heading -`^{Abstract}' or the german one `^{Zusammenfassung}' and the text of -the abstract which may consist of several paragraphs. - -Finally we want to mention one command which does not belong to the -title page: ^|\ack| prints the heading `^{Acknowledgements}' or -`^{Danksagung}'. - -The title page of this manual is produced by the following -sequence of commands: -%*** the following lines are copied from PMANTITP *** -\beginttlines -\submit{Journal ???} -\mppnum{PTh xx/86} -\topright{Version 1.0} -\pubdate{March 1986} - -\title{The PHYS-{\TeX} Manual} -\titcon{How to use the {\TeX} formats PHYSE and PHYS -\rm\footnote -*{This output is produced from the file PMANUAL TEX. -Here you could add things like the phrase: Talk given at {\dots} or -similar.}} - -\author{P. Breitenlohner\\A. Kabelschacht} -\mppaddress -\autcon{R.J. Drofnats} -\address{Dept.~of Farm Ecology, The University of St.~Anford\\% -P.O.Box 1009, Haga Alto, CA 94321 (USA)} - -\abstract{This manual describes ... -.... -.... can be generated.} -\endpage -\endttlines - -%*** end of file PMANTITL *** - -% \input pmanchap % structuring the text - -%*** this is file PMANCHAP as of 10.03.86 *** -\chap{Structuring the Text} -\sect{Chapters and Sections} -You can use ^|\chap| to start a new ^{chapter} and ^|\appendix| -to start a new ^{appendix}. -Chapters and appendices will be numbered automatically, starting with -`1' resp.\ `A'\null. -Chapters and appendices can appear in any order but this may be of -little use unless you choose the option ^|\pagechap|. -The text before the first chapter or appendix is treated as chapter~0. - -At the begin of your input you should use the command ^|\chapters| -(default) or ^|\nochapters| if your paper does or does not contain -chapters. -If you choose |\chapters| the chapter number will appear as -prefix in section numbers and possibly (depending on other options) -in page numbers, equation numbers, etc. -If you choose |\nochapters| this prefix will be omitted. -In this case you can not use |\chap| to start a new chapter. - -You can use ^|\arabicchapnum| (default) or ^|\romanchapnum| to get -arabic chapter numbers or (uppercase) roman numerals resp., both in -the chapter titles and in the prefix of e.g.\ ^{equation numbers}. - -Whithin a chapter, but not within an appendix, you may use -^|\sect| to start a ^{section}. -They will again be numbered, starting with `1', and the text before -the first section within a chapter will be treated as section~0. - -You can use ^|\chappage| or ^|\nochappage| (default) to indicate that -each chapter and appendix should or should not start on a new page. - -{\TeX} will try not to begin a chapter or section to low at a page, -it will rather leave blank space and start with the chapter or -section title on a new page. -This mechanism is governed by the parameters\lb -^|\chapstretch| (default `2.5 cm'),\lb -^|\chappenalty| (default `-800'),\lb -^|\sectstretch| (default `2 cm') and\lb -^|\sectpenalty| (default `-400')\lb -and has the additional advantage that a minor change in the -text will quite often lead to identical page breaks after a few -pages which have changed. - -Depending on the choice of other options ^|\chap|, ^|\sect| and -^|\appendix| may influence the numbering of pages, equations, -figures and tables. - -Within a section or an appendix you can use ^|\secs| to start a -numbered subsection and so on down to ^^|\secss| ^|\secsss| for -sub-sub-subsections. -All four commands used to generate numbered (sub-)sections will -generate the (sub-)section numbers automatically. -You can, however, specify your own numbers by using e.g.\lb -|\sect|^\<number>|{|\<title>|}| - -In addition you can use ^|\subsec| to generate an unnumbered -subsection. -You can use |\subsec| everywhere in your text, in appendices as well -as in chapters. -\subsec{Examples:}The present chapter was started with the commands\lb -|\chap{Structuring the Text}|\lb -|\sect{Chapters and sections}|\lb -If you need a continuation line for the chapter title use\lb -|\titcon{continuation of the title}|\lb -as often as needed. -The titles for (sub-)sections will automatically occupy as many -lines as needed. -The unnumbered subsection with these examples starts with\lb -|\subsec{Examples:}The|\dots\foot{The lack of space between `|}|' -and `|The|' in this and similar constructions is significant!}\lb -If you want to start an appendix -you can either use |\appendix| for an appendix without a title -or |\appendix{Title}| for an appendix with a title. -In the former case the text of the appendix must not start with -an explicit or implicit -`|{|' (you could e.g.\ start the text of the appendix with |\relax| -which instructs {\TeX} to `do nothing'). - -You can use ^|\app||{|\dots|}| to start an unnumbered appendix. -This command will just print the heading `Appendix \dots' (using -^|\headstyle|) but will not influence the numbering of equations -or similar. - -\sect{Items and Points} ^^{item}^^{point} -There is another quite different way to structure the text. -You may want to list several important points and either number them -or mark them by a symbol. -There are three levels to do that: ^|\item|s are indented 2.5 em, -^|\sitem|s (subitems) are indented 4.5 em and -^|\ssitems|s (sub-subitems) are indented 6.5 em (an `em' is the width -of a `quad' in the current font). -Each item, sitem or ssitem ends with the end of -the paragraph (^|\par| or a ^{blank line}). -\item{x}This item was started with |\item{x}This|\dots\lb -You could also use\lb -^|\bullitem|~|This|\dots or ^|\staritem|~|This|\dots or -^|\dashitem|~|This|\dots\lb -to get an item marked by `$\bullet$', `$\ast$' or `---' instead of the -`x'.\lb -Similarly there are ^|\sbullitem|, ^|\sstaritem| and ^|\sdashitem| for -sitems as well as ^|\ssbullitem|, ^|\ssstaritem| and ^|\ssdashitem| -for ssitems. -\sitem{y}This sitem was started with |\sitem{y}This|\dots\lb -and this works just the same way for ssitems: -\ssitem{z}This is a sub-subitem. -\itemcon We now want to continue the item with a new paragraph and in -order to do so we had to start the present paragraph with -^|\itemcon|~|We|\dots\lb -For sitem use the analogous command ^|\sitemcon| and for -ssitem you can use ^|\ssitemcon|. - -\noindent -A ^{point} is an item which is numbered automatically and similarly -for an spoint and an sspoint. -\pointbegin This is the first point of a list and was therefore -started with\lb -^|\pointbegin|~|This|\dots\lb -in order to initialize the numbering. -\point This is the next point which was started with the command\lb -^|\point|~|This|\dots\lb -You can add another paragraph to a point by using either -^|\pointcon| or ^|\itemcon|. - -The commands ^|\spointbegin|, ^|\spoint| and ^|\spointcon| -are used to generate spoint, -the commands ^|\sspointbegin|, ^|\sspoint| and ^|\sspointcon| -are used to generate sspoints, -they work in exactly the same way but differ in the numbering -and in the amount of indentation. -\spointbegin The first spoint of a list -\spoint The second spoint of the list -\sspointbegin The first sspoint of a list -\sspoint The second sspoint of the list - -\noindent An spoint may but need not appear within a point. -In order to have no paragraph indentation, this paragraph was started -with ^|\noindent| which is a good idea after a list of -items or points. - -In fact ((sub-)sub)items, ((sub-)sub)points etc.\ are just special -cases of a more general construction ^|\varitem| with the syntax\lb -|\varitem|\<box~specification>|{|\<item~label>|}|\lb -where the optional \<box~specification> can be either\lb -^|to|~\<dimension> or ^|spread|~\<dimension>\lb - just as for any |\hbox|. -The \<item~label> will be put into an |\hbox| using the -\<box~specification> (if any) and the rest of -the paragraph will be indented by the width of this |\hbox|. -An |\item| (or |\point|) is a |\varitem| with the \<box~specification> -|to|~|2.5em|, |\sitem| uses |to|~|4.5em| and |\ssitem| uses -|to|~|6.5em|. -You can start a new paragraph but keep the indentation with -either one of the commands ^|\hvskip|\<glue> or ^|\parvskip|\<glue>, -e.g.\ with |\hvskip\parskip| if you want the normal spacing between -paragraphs. -These two commands are almost identical, the difference will -matter to {\TeX}perts only. - -If you use the command ^|\bpargroup| inside a paragraph or item all -subsequent local definitions (e.g.\ changes of fonts or spacing) -will be effective only until the next ^|\par| or ^{blank line}. -\sect{Code Names} -Very often you will use numbers for equations, figures, tables, -references, chapters, sections and so on which are generated -automatically by {\TeX}. -If you want to refer later on to these numbers you can choose a -^{code name} for e.g.\ an equation number and refer to this code -name. -This has the advantage that the value assigned to such a code name -changes automatically if the equation number changes due to some -modifications of your manuscript. -These code names are ordinary {\TeX} control sequence names and -you should be careful not to use any code name which is the name -of a {\TeX} command (either a primitive command such as |\input| or a -command defined in the PLAIN format such as |\line| or a -command defined in PHYS such as |\eqtag|). -Contrary to the usual {\TeX} rules such code names may contain -not only (upper and lower case) letters but digits and apostrophes -as well. -If you use this possibility such code names must not occur except -as argument to an appropriate command (e.g.\ ^|\quote| or ^|\queq| or -^|\quref|). - -Most of the commands which define code names will be discussed in -subsequent chapters of this manual. -At this point we just want to mention two of them. - -The command ^|\label|\<code~name> will, in most cases, define the code -name such that its value is the (full) number of the most recent -chapter, appendix, (sub-)section or (sub-)point. -If we use, at this point, the command |\label\here| \label\here -then `|\quote{\here}|' will yield `\quote{\here}' because this is -\def\next#1.#2.{section~#2 in chapter~#1}% -\expandafter\next\here. and no subsection or (sub-)point was used -in this section. - -The command ^|\pagelabel|\<code~name> will define the code name such -that it yields the page number of the current page. -This is, however, a somewhat delayed action. -The code name will not be properly defined until after {\TeX} has -decided where to finish the current page. -Any use of the code name before that point must be considered as a -^{forward reference}. - -%*** end of file PMANCHAP *** -% \input pmanequ % equations -%*** this is file PMANEQU as of 10.03.86 *** -\chap{Equations} -\sect{Equation Numbers} -You should use ^|\eqtag| instead of PLAIN's ^|\eqno| or ^|\leqno| to -generate ^{equation numbers}. -Similarly you should use ^|\eqaligntag| instead of PLAIN's -^|\eqalignno| or ^|\leqalignno|. -The commands ^|\equleft| or ^|\equright| (default) will then -automatically put all equation numbers to the left or right of the -equations. -There is a third option ^|\equnone| which inhibits the printing of -all equation numbers. -This may be useful to prepare slides with equations. - -You may choose to have your equations numbered automatically -by {\TeX}; to do so use the following equation number macros. -You can use ^|\equall|, ^|\equchap| (default) or -^|\equsect| to indicate that the equations should be -numbered throughout the paper, separately for each -chapter and appendix or separately for each section and appendix. -In case you choose |\equchap| or |\equsect| the numbers -will have an appropriate prefix. - -Whenever you want to generate an equation number you can use -^|\eq|, e.g.\ in |\eqaligntag{|\dots|&\eq\cr|\dots|}| or -|$$|\dots|\eqtag\eq$$|. - -Sometimes you may want to generate equation numbers e.g.\ \queq{5}, -\queq{5a}, \queq{5b}, \dots, \queq{6}. -To do so you may use |\eq|, ^|\subeqbegin|, ^|\subeq|, \dots, |\eq|. -If you want to generate instead the equation numbers \queq{5}, -\queq{6a}, \queq{6b}, \dots, \queq{7} you should use |\eq|, ^|\eqadv| -(\underbar{adv}ance the \underbar{eq}uation number by 1), -|\subeqbegin|, |\subeq|, \dots, |\eq|. - -If you want to refer to the number of an equation in the text -you should use\lb -^|\EQ|\<code~name> instead of |\eq|,\lb -^|\EQADV|\<code~name> instead of |\eqadv|,\lb -^|\SUBEQBEGIN|\<code~name> instead of |\subeqbegin| and\lb -^|\SUBEQ|\<code~name> instead of |\subeq|.\lb -The \<code~name> will then be defined to -represent the equation number (|\EQ| and |\EQADV|) -or the suffix, e.g.\ $a$ or $b$ (|\SUBEQBEGIN| and |\SUBEQ|).\lb - -Assuming you have chosen the option |\eqsect|, the $5^{\rm th}$ -equation of section~2 in chapter~3 will get the tag -`\queq{3.2.5}'. -The \<code~name> will then evaluate to `5' in section~2 -of chapter~3, to `2.5' in all other sections of chapter~3, -and to `3.2.5' outside of chapter~3. -You may always enforce the short form `5' by using -^|\shorttag|\<code~name> or the long form `3.2.5' by using -^|\fulltag|\<code~name>. - -You may refer to one or more equations by using ^|\queq| -(\underbar{qu}ote \underbar{eq}uation), e.g.\lb -|\queq{|\<code~name>|}| might evaluate to `\queq{3.2.5}',\lb -|\queq{|\<code~name>|,\fulltag|\<code~name>|}| to -`\queq{3.2.5,4.1.7}' and\lb -|\queq{|\<code~name>|-\shorttag|\<code~name>|}| to `\queq{3.2.5-7}'.\lb -The command |\queq| puts the equation numbers into an -|\hbox|, therefore there will never be a line break between them. - -There are in fact two options available: -If you specify |\equshort| (default) then |\queq{|\dots|}| -will give you abbreviated equation numbers as described above and -demonstrated in the examples below. -If you specify |\equfull| then |\queq{|\dots|}| will give -you the full equation numbers. -In either case an explicit |\fulltag| or |\shorttag| in the -argument of |\queq| takes precedence over these options. - -Sometimes you will want to not only quote the equation -number(s) but to have `eq.\vspace' or `eqs.\vspace' or the -german equivalent in front of the equation number(s). -The commands ^|\qeq||{|\dots|}| and ^|\qeqs||{|\dots|}| will just do -that for you. - -Assume you have used the command \dots|\EQ\eqname|\dots -to generate the equation number `\queq{3.2.5}'. -Somewhat later in the text you might want to use the number -`\queq{3.2.5'}' for a modified version of that equation. -For this purpose you can use the command |\eqapp\eqname '| -(\underbar{app}end to \underbar{eq}uation number). - -You can use the abbreviations\lb -^|\eqn| instead of |\eqtag\eq|,\lb -^|\EQN| instead of |\eqtag\EQ|,\lb -^|\subeqnbegin| instead of |\eqtag\subeqbegin|,\lb -^|\SUBEQNBEGIN| instead of |\eqtag\SUBEQBEGIN|,\lb -^|\subeqn| instead of |\eqtag\subeq|,\lb -^|\SUBEQN| instead of|\eqtag\SUBEQ| and\lb -^|\eqnapp| instead of |\eqtag\eqapp|. - -\subsec{Examples:}We will now use -\begintt -$$a=b+c-d\qquad\hbox{this is equation `Eq1'}\EQN\Eq1$$ -\endtt -to produce: -$$a=b+c-d\qquad\hbox{this is equation `Eq1'}\EQN\Eq1$$ -and use `|\qeq{\Eq1}|' to refer to equation `|\Eq1|' as -`\qeq{\Eq1}'. -\sect{More Examples:} -Being in a new section we can again use `|\qeq{\Eq1}|' to refer -to equation `|\Eq1|' as `\qeq{\Eq1}', but the result is -different. - -The input -\beginlines -\dots|$${\cal A}=7\EQN\eqa$$| -\dots|$$\eqaligntag{A_1&=5&\SUBEQBEGIN\eqaa\cr| -|A_2&=12&\SUBEQ\eqab\cr}$$| -\dots|$$C_1=3\EQADV\eqb\SUBEQNBEGIN\eqba$$| -\dots|$$C_2=-21\SUBEQN\eqbb$$| -\dots|$${\cal A}=-7\eqnapp\eqa '$$|\dots -|Eqs.~\queq{\fulltag\eqa-\shorttag\eqb}|\dots -|\qeqs{\eqb\eqba,\eqa '}|\dots -\endlines -yields:\lb -\dots$${\cal A}=7\EQN\eqa$$ -\dots$$\eqaligntag{A_1&=5&\SUBEQBEGIN\eqaa\cr -A_2&=12&\SUBEQ\eqab\cr}$$ -\dots$$C_1=3\EQADV\eqb\SUBEQNBEGIN\eqba$$ -\dots$$C_2=-21\SUBEQN\eqbb$$ -\dots$${\cal A}=-7\eqnapp\eqa '$$\dots -Eqs.~\queq{\fulltag\eqa-\shorttag\eqb} \dots -\qeqs{\eqb\eqba,\eqa '} \dots -%*** end of file PMANEQU *** -% \input pmanfgtb % figures and tables -%*** this is file PMANFGTB as of 10.03.86 *** -\chap{Figures and Tables} -\sect{Storage Management} ^^{storage management} -The text of ^{figure captions}, ^{table captions}, ^{references}, -the ^{table of contents} and (possibly) ^{footnotes} are collected -during the execution and stored for later printing. -If you specify the command ^|\storebox|, ^|\storelist| (default) -or ^|\storefile| these texts will be stored in boxes, -as lists of macro definitions or on external files (sysut1--sysut7). -Each of these methods has its advantages and disadvantages. -\pointbegin |\storebox|: This is the fastest method but it also uses -the largest amount of storage because all macros are expanded before -the text is stored. -Moreover the command |\save| will not be able to write these texts -to an external file for later |\restore|. -\point |\storelist|: This method is slightly slower but needs less -storage (macros are not expanded until the texts are finally printed). -\point |\storefile|: This is the slowest method but it avoids all -storage problem because the texts are stored on external files and are -reread only when they are printed. -\sect{Figure Captions} -The following figure caption macros allow you to automatically -number the figures, collect a list of ^{figure captions} -and print this list. - -If you use ^|\figall| (default) the figures are numbered -throughout the paper, -if you use ^|\figchap| they are numbered separately for -each chapter and appendix, with the number of the chapter or -the letter of the appendix as prefix, -if you use ^|\figsect| they are numbered separately for -each section and appendix, with the the chapter and section number or -the letter of the appendix as prefix. - -If you use ^|\figpage| (default) the list of figure captions -(if any) will be printed on one or several separate pages. -If you use ^|\nofigpage| the list will appear on separate -pages only if you choose ^|\pagechap|. - -If you use ^|\fig||{|\<caption>|}| a number will be assigned to the -figure and the \<caption> will be saved for the list of figure -captions. -If you want to assign your own label to a figure, i.e.\ just -want to save the figure caption for later printing, use -|\fig|^\<label>|{|\<caption>|}|. -The label must not contain any explicit braces (|{| or |}|). -It must contain the entire number for the figure (including -any chapter number as prefix) and could e.g.\ be a figure -number defined previously (with |\FIG|) with a suffix (a, b, \dots). - -You can save a figure caption for the list of captions and at the -same time generate the description of the figure in the text. -Just use ^|\ffig| instead of |\fig|. - -If you want to refer to a figure in the text you should use\lb -^|\FIG|\<code~name> instead of |\fig| or\lb -^|\FFIG|\<code~name> instead of |\ffig|.\lb -You can then refer to figures e.g.\ by -^|\qufig||{|\<code~name>|}|,\lb -|\qufig{|\<code~name>|,|\<code~name>|}| -or |\qufig{|\<code~name>|-|\<code~name>|}|\lb -which might evaluate to -\begingroup % for local def's - \def\name{5} - `\qufig{\name}', - \def\name{3.1} \def\namea{4.2} \german - `\qufig{\name,\namea}' or - \def\name{9} \def\namea{11} \english - `\qufig{\name-\namea}'. -\endgroup % for local def's - -The command ^|\figadd||{...}| can be used to add an ordinary -paragraph of text to the list of figure captions. -Such paragraphs can occur before the first caption, between captions -or after the last caption. - -You can use ^|\figout| to print a list of all -figure captions collected so far (if any). -This will at the same time empty the list. -If you want a separate list of figure captions for each chapter -just use the command |\figout| at the end of each chapter. - -The command ^|\figkill| discards all figure captions collected so far; -this may be helpful to avoid storage problems. -\sect{Figures and Plots} ^^{figures} -The command ^|\frame||{|\<width>|}{|\<heigth>|}{|\<depth>|}| produces -an |\hbox| containing a box of the given dimensions which is empty -except for rules just inside the box boundaries. -Both \<width> and \<height>+\<depth> must be positive but either -\<height> -or \<depth> could be negative. -Note, however, that the surrounding box (as any |\hbox|) will have -nonnegative height and depth! - -In the following we will illustrate how such a frame box or any other -box (e.g.\ a |\table|), possibly together with a description, can be -placed in the text or as an insertion. -First we want to demonstrate how frame boxes will appear in -the middle of a line: -e.g.\ |\frame{1cm}{1cm}{-.5cm}| \frame{1cm}{1cm}{-.5cm} or -|\frame{2cm}{-1mm}{6mm}| \frame{2cm}{-1mm}{6mm} or -|\frame{1cm}{5mm}{5mm}| \frame{1cm}{5mm}{5mm} and so on. - -\def\marginbox#1{\par\begingroup \count255=#1\relax - \dimen0=\ht\count255 \advance\dimen0\dp\count255 - \dimen2\dimen0 \advance\dimen2\parskip - \skip0=0pt plus\dimen2 \vskip\skip0 \penalty-110 \vskip-\skip0 - \strut \vadjust{\kern-\dp\strutbox \vtop to\dp\strutbox - {\kern-\ht\strutbox \baselineskip\dp\strutbox - \rtline{\copy\count255}\vss\null}}% - \dimen2.5em\advance\dimen2\wd\count255 - \count255=0 \loop \ifdim\dimen0>0pt\advance\count255-1 - \advance\dimen0-\baselineskip \repeat - \edef\next{\endgroup \hangafter\the\count255 - \hangindent-\the\dimen2}\next} -\setbox0\frame{3cm}{3cm}{0cm} ^^|\marginbox| -\marginbox{0}At the begin of a paragraph you can leave room -for a box on the right side by using ^|\hangindent| and ^|\hangafter|. -In the present example the values for these commands have been -computed from the dimensions of the box. -In addition we made sure that there will be no page break -between the first lines of the paragraph with the hanging -indentation. -This paragraph was started with the commands -\begintt -\setbox0\frame{3cm}{3cm}{0cm} -\marginbox{0}At the begin ... -\endtt -and the macro definition -\beginttlines -\def\marginbox#1{\par\begingroup \count255=#1\relax - \dimen0=\ht\count255 \advance\dimen0\dp\count255 - \dimen2\dimen0 \advance\dimen2\parskip - \skip0=0pt plus\dimen2 \vskip\skip0 \penalty-110 \vskip-\skip0 - \strut \vadjust{\kern-\dp\strutbox \vtop to\dp\strutbox - {\kern-\ht\strutbox \baselineskip\dp\strutbox - \rtline{\copy\count255}\vss\null}}% - \dimen2.5em\advance\dimen2\wd\count255 - \count255=0 \loop \ifdim\dimen0>0pt\advance\count255-1 - \advance\dimen0-\baselineskip \repeat - \edef\next{\endgroup \hangafter\the\count255 - \hangindent-\the\dimen2}\next} -\endttlines -\noindent With slight modifications in the definition of -|\marginbox| the paragraph could start without the usual paragraph -indentation (|\noindent|) or the hanging indentation could be on the -left side (|\hangindent>0|). - -\def\stepbox#1{\begingroup\count255=#1\relax - \dimen0\ht\count255 \advance\dimen0-\ht\strutbox - \lower\dimen0\copy\count255 - \dimen0\ht\count255 \advance\dimen0\dp\count255 - \advance\dimen0\lineskip - \vadjust{\nobreak \vskip-\dimen0}\allowbreak - \dimen0\hsize \advance\dimen0-\leftskip - \advance\dimen0-\rightskip \advance\dimen0-\wd\count255 - \dimen4\ht\count255 \dimen6\dp\count255 \dimen8\wd\count255 - \setbox0\null \ht0\dimen4 \dp0\dimen6 \wd0\dimen8 - \advance\dimen6-\dp\strutbox - \count255=0 \dimen2=0pt \loop \advance\count255 1 - \ifdim\dimen2<\dimen0 - \advance\dimen2 .25em\repeat \divide\dimen0\count255 - \loop\ifnum\count255>0 \advance\count255-1 \vadjust{}\kern\dimen0 - \allowbreak \repeat - \raise\dimen6\box0 \endgroup} -\setbox0\hbox{$\mat{a&b\cr c&d\cr}$} -\setbox2\frame{2cm}{15mm}{0pt} ^^|\stepbox| -Finally, as the most complicated example to place boxes in a paragraph, -we have a matrix \stepbox{0} and a framebox \stepbox{2} placed such -that their top matches the text to their left and their bottom -matches the text to their right. - -\edef\next{\the\prevgraf}The method used to achieve this effect is -somewhat devious and not entirely satisfactory, but it is the best we -could think of. -The previous paragraph actually consists of {\next} lines and there is -a slight chance that there is an undesirable page break. -We have used the commands -\begintt -\setbox0\hbox{$\mat{a&b\cr c&d\cr}$} -\setbox2\frame{2cm}{15mm}{0pt} -.... matrix \stepbox{0} and a framebox \stepbox{2} placed ... -\endtt -together with the macro definition -\beginttlines -\def\stepbox#1{\begingroup\count255=#1\relax - \dimen0\ht\count255 \advance\dimen0-\ht\strutbox - \lower\dimen0\copy\count255 - \dimen0\ht\count255 \advance\dimen0\dp\count255 - \advance\dimen0\lineskip - \vadjust{\nobreak \vskip-\dimen0}\allowbreak - \dimen0\hsize \advance\dimen0-\leftskip - \advance\dimen0-\rightskip \advance\dimen0-\wd\count255 - \dimen4\ht\count255 \dimen6\dp\count255 \dimen8\wd\count255 - \setbox0\null \ht0\dimen4 \dp0\dimen6 \wd0\dimen8 - \advance\dimen6-\dp\strutbox - \count255=0 \dimen2=0pt \loop \advance\count255 1 - \ifdim\dimen2<\dimen0 - \advance\dimen2 .25em\repeat \divide\dimen0\count255 - \loop\ifnum\count255>0 \advance\count255-1 \vadjust{}\kern\dimen0 - \allowbreak \repeat - \raise\dimen6\box0 \endgroup} -\endttlines - -On our installation there exists the possibility to combine {\TeX} -output -with ^{plots}. -If you specify the option ^|\graphics| the command\lb -^|\graphic||{|\<plot -specification>|}{|\<width>|}{|\<heigth>|}{|\<depth>|}|\lb -produces an invisible plot box and uses ^|\special| commands in order to -transfer the \<plot specification> together with the coordinates to the -DVI-file. -Lateron when the DVI-file is prepared for printing on a suitable device -a plot from a (GKS) plot metafile will be inserted. -If you specify the option ^|\nographics| (default) the command -|\graphic| -will produce a frame box of exactly the same dimensions as the plot box -and write a note to the LOG-file. -\midinsert \advance\leftskip by 2.5 cm -\advance\rightskip by 2.5 cm -\ctrline{\frame{10cm}{5cm}{0cm}} -\FFIG\figr1{Demonstration of how to leave 5 cm of blank space for -a figure and to generate a figure caption} \endinsert -\subsec{Example:}Immediately before this unnumbered subsection -we have used the commands -\begintt -\midinsert \advance\leftskip by 2.5 cm -\advance\rightskip by 2.5 cm -\ctrline{\frame{10cm}{5cm}{0cm}} -\FFIG\figr1{Demonstration of how to leave 5 cm of blank space for -a figure and to generate a figure caption} \endinsert -\endtt -to leave blank space for a figure and generate the caption. -We can now refer to this figure as `\qufig{\figr1}' by using -the command `|\qufig{\figr1}|'. - -Another set of commands reserves blank space for pictures -and allows for a more elaborate description below them, but -will not produce entries for the list of figure captions. -If you want such entries you have to combine these commands -with |\fig| or |\FIG|. -The command\lb -|\pict{|\<dimension>|}| or ^|\pict|^\<label>|{|\<dimension>|}|\lb -will reserve a blank space of vertical dimension -\<dimension> for a picture, followed by a description -(actually a ^|\varitem|). -If the \<label> is omitted {\TeX} will assign a figure number, -otherwise the \<label> will be used. -You can use ^|\PICT|\<code~name> instead of |\pict| if you want -to refer to the figure number lateron. -The description may start with a part relevant for the whole -picture. -This may be followed by one or several commands -^|\spict||{|^\<slabel>|}| and the description of some part of -the picture labelled \<slabel>. -The entire description will terminate with the next ^|\par| -or ^{blank line}. -You may, however, use ^|\parvskip||\parskip| to divide the description -itself into several paragraphs. - -\pageinsert\singlespace\centerline{An inserted page\strut}\hrule -\strut First we give an example where |\PICT| is used without -a \<label> (automatic numbering). -The sequence of commands -\beginttlines -\PICT\figr2{1cm} First we have a description for the whole -picture. The descriptions for its parts could, of course, be -omitted. -\spict{(a)} This is the description for part (a) if the picture. -It is indented somewhat more to leave room for the sub-label. -\spict{(b)} Here is the description for another part. - -\endttlines -yields -\PICT\figr2{1cm} First we have a description for the whole -picture. The descriptions for its parts could, of course, be -omitted. -\spict{(a)} This is the description for part (a) if the picture. -It is indented somewhat more to leave room for the sub-label. -\spict{(b)} Here is the description for another part. - -\noindent Note that we have not produced an entry in the list of -figure captions for the \qufig{\figr2} above. -In the next example we use |\FIG| to produce such an entry and then -|\pict| with a \<label> to generate the description. -Moreover we use |\parvskip\parskip| to start a new paragraph -inside the description. -\beginttlines -\FIG\figr3{A picture with description for its two -parts (a) and (b)} -\pict\figr3{12mm}\spict{(a)} Here the description for the first -part starts without any description common to all parts. -\parvskip\parskip We can start a new paragraph without -\parvskip\parskip\indent or with indentation. -\spict{(b)} Description for the second part.\par -\noindent We can now refer to the whole figure as \qufig{\figr3} -or just to the second part as \qufig{\figr3}b and so on. -\endttlines -\FIG\figr3{A picture with description for its two -parts (a) and (b)} -\pict\figr3{12mm}\spict{(a)} Here the description for the first -part starts without any description common to all parts. -\parvskip\parskip We can start a new paragraph without -\parvskip\parskip\indent or with indentation. -\spict{(b)} Description for the second part.\par -\noindent We can now refer to the whole figure as \qufig{\figr3} -or just to the second part as \qufig{\figr3}b and so on\strut. -\par\hrule\endpage\endinsert -Here we have used the commands -\begintt -\pageinsert\singlespace\centerline{An inserted page\strut}\hrule -\strut First we give ... -.... -.... and so on\strut. -\par\hrule\endpage\endinsert -\endtt -to demonstrate, on a separate page, how these commands work and how -they can be combined with the other figure caption macros. -\sect{Table Captions and Tables} ^^{table captions} -The table options ^|\taball|, ^|\tabchap|, ^|\tabsect|, -^|\tabpage|, ^|\notabpage| and the table caption macros -^|\tab|, ^|\ttab|, ^|\TAB|, ^|\TTAB|, -^|\qutab|, ^|\tabadd|, ^|\tabout| and ^|\tabkill| -are the exact analogue of those for figures. - -The {\TeX}book \quref{\texbook} explains in detail the use of -^|\halign| to align table entries. -This is in fact rather simple as long as you do not want vertical -rules. -For tables with vertical rules you may consult the examples on pages -247 (Chapter 22: Alignment) and 392 (Appendix D: Dirty Tricks). - -Based on the example on page 247 there is a macro ^|\table| -for ^{tables} with vertical rules. -The syntax for |\table| is identical to that for |\halign|:\lb -|\table|^\<box specification>|{|^\<alignment material>|}|.\lb -There are, however, a few restrictions. -\pointbegin The ^\<preamble> must terminate with ^|\cr|, -not with ^|\crcr|. -Immediately after the |{| which precedes the preamble, after an |&| -which terminates a template in the preamble (but not after a second -|&| which indicates that the remainder of the preamble shall be -repeated if necessary) and immediately after the |\cr| which -terminates the preamble you can specify ^|\vrule| to indicate a vertical -rule at this point. -\point Immediately after the preamble (after the |\cr| or |\vrule|) -you may specify ^|\hrule| or ^|\noalign||{...}|. -If you use |\noalign| the vertical rules will, in general, be -interrupted. -\point The preamble may contain ^|\span| (expand) as usual but this -macro expansion must not produce any |&|, |\vrule| or |\cr|. -\point The rest of the ^\<alignment material> may contain -^|\omit|, ^|\span| and ^|\multispan| as usual but all |&|'s -and |\cr|'s must be explicit. -\point |\table| uses the \<glue> parameter ^|\htabskip| and the -\<dimension> parameter ^|\vtabskip| for extra space between the -aligned material and the position where rules are or could be. -The default values are `1em plus 2em minus .5 em' (for 12pt roman) -and `2.5pt' respectively. -\point Inside a table you can use -|\ml{...\nl...}| to produce table entries which consist -of several lines. -The ^|\ml| (multi line mode) could be part of the preamble, -each ^|\nl| (new line) starts a new line. -\midinsert \hbox{\hskip1cm\vtop{\hrule height0pt\table to5.5cm{ - \vrule\hfil#&\vrule#\hfil\cr \vrule \hrule - This is a&\ml{simple\nl table}\cr \hrule - A normal&row\cr \hrule \noalign{\vskip1pt}\hrule - \multispan2\hfil Three rows which span\hfil\cr - \multispan2\hfil two columns and are\hfil\cr - \multispan2\hfil centered\hfil\cr \hrule}}\hskip.5cm% - \vtop{\hsize7cm\hrule height0pt\raggedright - \TTAB\tabl1{Example of a rather simple table which - is extended to 5.5 cm. The description appears as - a 7 cm wide paragraph to the right of the table.}}} -\endinsert -\midinsert \advance\leftskip by 2 cm -\advance\rightskip by 2 cm -\TTAB\tabl2\tabl1 a{E. Cartan's list of classical and -exceptional simple Lie algebras.} -\bigskip -\centerline{\table to 11cm{ - $#$\hfil&\vrule&\hfil$#$\hfil&\vrule - \hfil$#$\hfil&\vrule$#$\hfil\cr\hrule - $Lie Algebra$&\rm Rank&\rm Dimension&% - \ml{corresponding\nl classical group - \nl(compact real form)}\cr\hrule - A_n\quad(n\ge1)&n&n(n+2)&SU(n+1)\cr - B_n\quad(n\ge2)&n&n(2n+1)&SO(2n+1)\cr - C_n\quad(n\ge3)&n&n(2n+1)&USp(2n)\cr - D_n\quad(n\ge4)&n&n(2n-1)&SO(2n)\cr \hrule - G_2&2&14\cr F_4&4&52\cr E_6&6&78\cr - E_7&7&133\cr E_8&8&248\cr }}\endinsert -\subsec{Examples:}The two tables \qutab{\tabl1} and \qutab{\tabl2} -are produced with the following sequence of commands: -\beginlines -|\midinsert \hbox{\hskip1cm\vtop{\hrule height0pt\table to5.5cm{| -| \vrule\hfil#&\vrule#\hfil\cr \vrule \hrule| -| This is a&\ml{simple\nl table}\cr \hrule| -| A normal&row\cr \hrule \noalign{\vskip1pt}\hrule| -| \multispan2\hfil Three rows which span\hfil\cr| -| \multispan2\hfil two columns and are\hfil\cr| -| \multispan2\hfil centered\hfil\cr \hrule}}\hskip.5cm%| -| \vtop{\hsize7cm\hrule height0pt\raggedright| -| \TTAB\tabl1{Example of a rather simple table which| -| is extended to 5.5 cm. The description appears as| -| a 7 cm wide paragraph to the right of the table.}}}| -|\endinsert| -\endlines -and -\beginlines -|\midinsert \advance\leftskip by 2 cm| -|\advance\rightskip by 2 cm| -|\TTAB\tabl2\tabl1 a{E. Cartan's list of classical and| -|exceptional simple Lie algebras.}| -|\bigskip| -|\centerline{\table to 11cm{| -| $#$\hfil&\vrule&\hfil$#$\hfil&\vrule| -| \hfil$#$\hfil&\vrule$#$\hfil\cr\hrule| -| $Lie Algebra$&\rm Rank&\rm Dimension&%| -| \ml{corresponding\nl classical group| -| \nl(compact real form)}\cr\hrule| -| A_n\quad(n\ge1)&n&n(n+2)&SU(n+1)\cr| -| B_n\quad(n\ge2)&n&n(2n+1)&SO(2n+1)\cr| -| C_n\quad(n\ge3)&n&n(2n+1)&USp(2n)\cr| -| D_n\quad(n\ge4)&n&n(2n-1)&SO(2n)\cr \hrule| -| G_2&2&14\cr F_4&4&52\cr E_6&6&78\cr| -| E_7&7&133\cr E_8&8&248\cr }}\endinsert| -\endlines - -%*** end of file PMANFGTB *** -% \input pmanref % references -%*** this is file PMANREF as of 11.03.86 *** -\chap{References} -There are two basic way to quote ^{references} in an article or book. -One possibility is to assign a number to each reference when it -is used for the first time and to list them all, ordered by numbers, -in the list of references. -The other possibility is to quote references by the name of the -author(s) and possibly a date and list them all in alphabetic order. -Most of this chapter deals with the first of these -possibilities (numeric references). ^^{references, numeric} -Only one section later on will describe how to use references by name. -^^{references, by name} - -The reference macros have to serve several purposes: they must -\pointbegin save the reference text, -\point assign numbers to the references, -\point put quotations to references in the text and -\point print a list of all references. -\par\noindent There is a variety of reference macros which perform -one or several of these tasks. -\sect{Form of References} -The command ^|\quref| is very similar to the command ^|\queq| -for equations, it quotes all the references in its argument. - -You may specify ^|\refsup| (default) if quotations to references -should normally appear as superscripts -(\qurefsup like this \quref{\texbook}) -or ^|\refsqb| if they or should be enclosed in square brackets -(\qurefsqb like this \quref{\texbook}). -These options will also affect the form of the list of references -and they cannot be changed once the first reference is used. -You can however specify ^|\qurefsup| (default with |\refsup|), -^|\qurefsqb| (default with |\refsqb|) or ^|\qurefnum| -if at some place you want to deviate from your usual style of -quotation. -Unlike most other specifications described in this manual they are -local to the group (e.g.\ |{...}|) within which they occur. -The input:\lb -|the conjecture by {\qurefsup M\"uller \quref{a}} and {\qurefsqb|\lb -|Schulz \quref{b}} was proven in {\qurefnum Ref.~\quref{I}}.|\lb -yields:\lb -the conjecture by {\qurefsup M\"uller \quref{a}} and {\qurefsqb -Schulz \quref{b}} was proven in {\qurefnum Ref.~\quref{I}}. - -The commands ^|\qref| and ^|\qrefs| are similar to ^|\qeq| and ^|\qeqs|, -i.e. |\qref{...}| is a shorthand for\lb -|{\qurefnum Ref.~\quref{...}}| (or its german equivalent). - -The commands ^|\refpage|, ^|\norefpage|, ^|\refadd|, ^|\refout| and -^|\refkill| have exactly the same function -as the corresponding ones for figures and tables. -\sect{Predefined References} ^^{references, predefined} -You may wish to define some or all references at the begin of your -input. -The command ^|\RF|\<code~name>|{|\<text>|}| will save \<text> -but will not assign a number to the reference. -A number will be assigned when the first quotation of this reference -appears in the text. -References defined with |\RF| can therefore appear in any order. -Those never quoted will not appear in the list of references. - -If you use the commnand ^|\RFlist| (default) predefined references will -be stored as macro definitions, -if you use ^|\RFfile| they will be stored on an external file. - -You can use the command ^|\RFext|~\<filename>{\vspace} to indicate that -all your |\RF|'s are contained in an external file. -This method is somewhat more efficient than |\RFfile| because there -is no need to copy all |\RF|'s to an auxiliary file. -\subsec{Note:}Clearly |\RFlist| is faster than |\RFfile| and |\RFext| -but also needs more storage to keep the text of all references. -|\RFfile| or |\RFext| should only be used if necessary, because the -method is not very efficient. -It may happen that the (auxiliary or external) file containing the -|\RF|'s has to be read several times in order to retrieve the text -of all references. -The maximal number of predefined references kept in storage is given -by the counter ^|\RFmax| with the default value 50. -If the reference texts are very long it may be necessary to reduce this -value, if the texts are rather short and there are more than 50 -predefined references the value of |\RFmax| could be increased. -\subsec{Warning:}Alternating definition and (first) use of predefined -references should be avoided under all circumstances, if |\RFfile| has -been specified. -\subsec{Examples:}We may use the commands -\lb|\RF\AUThor{A.U. Thor, \dots}| -\lb|\RF\Drof{R.J. Drofnats, \dots;\lb| -\lb| A. Kabelschacht, \dots}|\lb -\RF\AUThor{A.U. Thor, \dots} -\RF\Drof{R.J. Drofnats, \dots;\lb - A. Kabelschacht, \dots} -to predefine two references, the second one with two articles. -Lateron we use the input\lb -|\dots\space this hypothesis \quref{\Drof} has recently been|\lb -|proven \quref{\AUThor} \dots|\lb -to obtain:\lb -\dots\space this hypothesis \quref{\Drof} has recently been -proven \quref{\AUThor} \dots - -A certain difficulty arises if all references are predefined and you -want (e.g.\ in the introduction) to refer to several of them as -e.g.\ `\quref{1-4}', because you have to use all of them in order to -assign numbers but you do not want all these numbers in your output. -The solution is\lb -|\quref{|\<code~name>|\use{|\<code~name>\<code~name>|}-|\<code~name>|}|. -\lb -The command ^|\use| puts its argument into an hbox and throws this -hbox away, which may be useful for other purposes as well. -\subsec{Examples:}The input -\begintt -\RF\uuu{uuu} \RF\vvv{vvv} -\RF\www{www} \RF\xxx{xxx} -\dots\space \quref{\uuu\use{\vvv\www}-\xxx} \dots -\endtt -yields:\lb -\RF\uuu{uuu} \RF\vvv{vvv} -\RF\www{www} \RF\xxx{xxx} -\dots\space \quref{\uuu\use{\vvv\www}-\xxx} \dots -\sect{Single References} -You can use ^|\ref||{|\<text>|}| to define a reference which is used -just once. -This command saves \<text>, assigns a number and quotes this reference. -\lb You can use ^|\REF|\<code~name>|{|\<text>|}| to define a reference -which is used several times. -This command saves the \<text> and assigns a number. -It will, however, generate no quotation to this reference. -To obtain such a quotation use ^|\refend| (which always refers -to the reference number which was assigned last) or -|\quref{|\<code~name>|}|. -\subsec{Examples:}The input\lb -|\dots\space \ref{aaa} \dots\space \REF\bbb{bbb}\refend\space\dots|\lb -yields:\foot{Observe the effects in the list of references}\lb -\dots\space \ref{aaa} \dots\space \REF\bbb{bbb}\refend\space\dots -\sect{Multiple References} ^^{references, multiple} -In order to generate multiple references you can, of course, use -|\quref| with sufficiently complicated arguments. -If you want, however, to introduce a number of new references and -refer to all of them you can use the sequence of commands: -\lb^|\refs||{|\<text>|}| or ^|\REFS|\<code~name>|{|\<text>|}| -\lb^|\refscon||{|\<text>|}| or ^|\REFSCON|\<code~name>|{|\<text>|}| -\lb|...| -\lb|\refscon{|\<text>|}| or |\REFSCON|\<code~name>|{|\<text>|}| -\lb^|\refsend|. -\lb If you omit the |\refsend| the quotation -to these references will be omitted. -If you wish, you can in fact use |\refsend| several times. -\subsec{Examples:}The input -\begintt -\dots\space \REFS\ccc{ccc} \refscon{This is a ... indented.} -\REFSCON\eee{eee} \refsend\space\dots -\quref{\Drof,\ccc-\eee} -\endtt -yields:\lb -\dots\space \REFS\ccc{ccc} \refscon{This is a very long reference which -will certainly need more than one line; the second line will be -indented.} -\REFSCON\eee{eee} \refsend\space\dots -\quref{\Drof,\ccc-\eee} -\sect{References by Name} ^^{references, by name} -The command ^|\refnam| indicates that you want references by -name. -In this case all references must be predefined (|\RF|) and their order -is important. -All those used at least once will be printed in the list of references -in exactly the same order. -Because it is much harder to standardize quotations for references by -name the command |\quref| will not produce any visible output. -It will just remember which references have been used. -The commands |\qref|, |\qrefs| and all commands for single or multiple -references cannot be used together with |\refnam|. -\sect{Multiple Lists of References} -It is quite possible to have a separate list of references after -each chapter. -You just have to use |\refout| (probably with the option |\norefpage|) -at the end of each chapter. -The command ^|\refout| will not only print a list of references -but will in addition reset the reference counter to zero and forget -all code names used for single and multiple references. -All the code names for predefined references will, however, still be -defined and available for future use in a later chapter. -\sect{Macros for Physics Journals} -In order to facilitate the writing of references and to conserve -storage there are macros for frequently used ^{physics journals}. -You can choose between the options ^|\yearpage| (default) or -^|\pageyear| if references generated by these macros should have -the form `\yearpage \journal{journal}volume(year)page*' -or `\pageyear \journal{journal}volume(year)page*'.\yearpage -The printing of the journal name and volume is determined by -^|\journalstyle| and ^|\volumestyle| with the default definitions -\lb|\def\journalstyle{\sl}| (slanted) and -\lb|\def\volumestyle{\bf}| (boldface);\lb - other useful possibilities are -\lb|\def\volumestyle{\underbar}| (underlined) or -\lb|\def\volumestyle{}| (roman). - -The basic macros are\lb -^|\journal||{|\<journal name>|}|\<volume>|(|\<year>|)|\<page(s)>|*|\lb -for journals with ordinary volume numbers,\lb -^|\journalp||{|\<journal name>|}|\<letter>\<volume>|(|\<year>|)|% -\<page(s)>|*|\lb -for journals where a letter precedes the volume numbers -(e.g.\ \Nucl\Phys) and\lb -^|\journalf||{|\<journal name>|}|\<letter>\<volume>|(|\<year>|)|% -\<page(s)>|*|\lb -for journals where a letter follows the volume numbers -(e.g.\ \Phys\Lett). - -The following macros for frequently used physics journals are defined -in terms of these basic macros: -^^|\NPA|^^|\NPB|^^|\PLA|^^|\PLB|^^|\PR|^^|\PRA|^^|\PRB|^^|\PRC| -^^|\PRD|^^|\PRL| -%*** the following lines are copied from PHYSJRNL *** -\beginttlines -\def\NPA{\journalp{\Nucl\Phys}A} -\def\NPB{\journalp{\Nucl\Phys}B} -\def\PLA{\journalf{\Phys\Lett}A} -\def\PLB{\journalf{\Phys\Lett}B} -\def\PR{\journal{\Phys\Rev}} -\def\PRA{\journalp{\Phys\Rev}A} -\def\PRB{\journalp{\Phys\Rev}B} -\def\PRC{\journalp{\Phys\Rev}C} -\def\PRD{\journalp{\Phys\Rev}D} -\def\PRL{\journal{\Phys\Rev\Lett}} -\endttlines -where macros for frequently used abbreviations -(e.g.\ `|\Phys|' for `\Phys') -are used in order to conserve storage space. -\subsec{Examples:}The following list displays the use of some of these -macros together with the resulting output. - -\halign{`#'\qquad\hfill&`#'\hfill\cr -|\pageyear\PRL23(1976)27*|&\pageyear\PRL23(1976)27*\cr -|\yearpage\PRL23(1976)27--29*|&\yearpage\PRL23(1976)27--29*\cr -|\PRL45(1980)*|&\PRL45(1980)*\cr -|\PRL45()*|&\PRL45()*\cr -|\PRL(1984)*, to appear|&\PRL(1984)*, to appear\cr -|\NPB72(1982)13*|&\NPB72(1982)13*\cr -|\NPB()* (to appear)|&\NPB()* (to appear)\cr -|\PLA72(1982)13--27*|&\PLA72(1982)13--27*\cr -} - -%*** end of file PMANREF *** -% \input pmanfoot % footnotes and insertionss -%*** this is file PMANFOOT as of 11.03.86 *** -\chap{Footnotes and Insertions} -\sect{Footnotes} ^^{footnotes} -You can use the command ^|\footbot| (default) or ^|\footend| -if `footnotes' should appear at the bottom of the page (as footnotes -like this\foot{A footnote at the bottom of the page}) -or should be printed separately at the end in the same way as -figure captions, table captions and references (as required -by some journals) like this\footend\foot{A footnote at the end -of the paper}\footbot. -In the later case you can use the commands ^|\footpage|, -^|\nofootpage|, ^|\footadd|, ^|\footout| and ^|\footkill| -which have exactly the same function as the corresponding ones for -figures, tables and references. - -To generate footnotes you can use either\lb -^|\footnote||{|\<symbol>|}{|\<text>|}|\foot{The lack of space between -`|}|' and `|{|' in this and similar constructions is significant!} -or ^|\foot||{|\<text>|}|.\lb -The difference is that with |\footnote| you choose your own -symbol, whereas footnotes produced with |\foot| are automatically -numbered and the (superscripted) number is used as symbol. -You can choose between ^|\footsqb| (default) and ^|\footpar| -to get these numbers enclosed in square brackets or followed by -a parenthesis. - -The text of footnotes (only those at the bottom of the page) will -start with the command ^|\footstyle| with the default definition\lb -|\let\footstyle\relax|.\lb -If you want your footnotes printed in 10pt you should replace this -by e.g.\lb -|\def\footstyle{\tenpoint}|. -\subsec{Examples:}We will first use \foot{This is a short footnote}\lb -|\foot{This is a short footnote}|\lb -then -\footnote{*}{This is a footnote. In order to see the difference -in spacing within and between footnotes we make it long}\lb -|\footnote{*}{This|\dots\lb -\dots| long}|\lb -and finally \foot{This is another short footnote}\lb -|\foot{This is another short footnote}|\lb -to generate three footnotes. - -With the option |\footbot| footnotes are insertions which should -eventually migrate to \TeX's main vertical list (compare the -\TeX book \quref{\texbook}). -They will, however, not do so, i.e.\ are lost, if they are hidden -inside nested boxes, e.g.\ in a table. -In such a case you can split the function of\lb -|\foot{|\<text>|}| resp.\ |\footnote{|\<symbol>|}{|\<text>|}| into\lb -^|\hfoot| resp.\ ^|\hfootnote{|\<symbol>|}| which will produce the -reference to the footnote as well as save the symbol in the (global) -variable ^|\footid| and\lb -^|\vfootnote||\footid{|\<text>|}| somewhat later on the same page which -will produce the footnote insertion, such that the insertion can -migrate to the main vertical list. -\subsec{Examples:}The input ^^|\boxit| -\begintt -\boxit{A lost footnote\foot{A lost footnote}}\quad -\boxit{Two footnotes\hfoot \glet\footxx=\footid \space inside - a box\hfootnote{$^*$}} -\vfootnote\footxx{First footnote from inside a box} -\vfootnote\footid{Second footnote from inside a box} -\endtt -yields:\lb -\boxit{A lost footnote\foot{A lost footnote}}\quad -\boxit{Two footnotes\hfoot \glet\footxx=\footid \space inside - a box\hfootnote{$^*$}} -\vfootnote\footxx{First footnote from inside a box} -\vfootnote\footid{Second footnote from inside a box} -\sect{Insertions} -You can use PLAIN's commands ^|\midinsert|, ^|\topinsert| and -^|\pageinsert| together with ^|\endinsert| to produce ^{insertions} -(e.g.\ tables or blank space for figures). - -%*** end of file PMANFOOT *** -% \input pmantoc % table of contents -%*** this is file PMANTOC as of 06.03.86 *** -\chap{Table of Contents} -During the processing of your manuscript you {\TeX} can collect -information for a ^{table of contents} which can be printed at the end. -It is, however, no problem to manipulate page numbers in such a way -that the table of contents appears e.g.\ on pages 1 and 2 and the -text starts on page 3. - -The commands ^|\tocpage|, -^|\notocpage|, ^|\tocadd|, ^|\tocout| and ^|\tockill| -which have exactly the same function as the corresponding ones for -figures, tables and references. - -You can specify an entry for the table of contents with the command\lb -^|\toc||{|\<label>|}{|\<text>|}|\lb -and the page number will be automatically appended to the \<text>. - -You can also use the possibility to generate entries automatically. -\bullitem If you choose the option ^|\tocnone| (default) there will -be no automatic entries for the table of contents. -\bullitem With the option ^|\tocchap| one entry will be -automatically generated for each chapter (with the chapter -number as \<label> and the chapter title as \<text>) and for each -appendix. -\bullitem With the option ^|\tocsect| there will be in addition -one entry for each section (as in this manual). -\bullitem With the option ^|\tocsecs| there will be in addition -one entry for each subsection. -\bullitem With the option ^|\tocsecss| there will be in addition -one entry for each sub-subsection. -\bullitem With the option ^|\tocsecsss| there will be in addition -one entry for each sub-sub-subsection. - -\noindent You can combine these automatic entries with additional ones -specified by ^|\toc| and ^|\tocadd|. -The input -\begintt -\tocadd{Note that most of this table of contents has been produced - automatically with the option `tocsect'. - Only this paragraph and the immediately following entry - have been produced explicitely.} -\toc{Demonstration}{how to generate (explicitely) an entry for the - table of contents. Very long entries will be split into several - lines with apropriate indentation on both sides} -\endtt -\tocadd{Note that most of this table of contents has been produced - automatically with the option `tocsect'. - Only this paragraph and the immediately following entry - have been produced explicitely.} -\toc{Demonstration}{how to generate (explicitely) an entry for the - table of contents. Very long entries will be split into several - lines with apropriate indentation on both sides} -does not produce any visible output at this point. -The effect can, however, been seen in the table of contents. - -%*** end of file PMANTOC *** -% \input pmantext % some macros for text -%*** this is file PMANTEXT as of 06.03.86 *** -\chap{Some Macros for Text} -The command ^|\thetime| yields the time in the form `hh:mm' -(e.g.\ \thetime), ^|\themonth| yields the current month in words -(e.g.\ \themonth\ or \german\themonth), -^|\date| yields todays date in the form `dd.mm.yy' (e.g.\ \date) and -^|\thedate| yields todays date in long form such as `\thedate' or -`\english\thedate'. - -You can use ^|\ctrline|, ^|\lftline| or ^|\rtline| to produce a -centered, left-justified or right-justified line of text. -These commands are almost identical to PLAIN's ^|\centerline|, -^|\leftline| and ^|\rightline| but they use |\hfil| instead -of |\hss|. -The use of |\hfil| does not allow the line to stick out on one -or both sides but it does allow to cancel the |\hfil| by an -|\hfilneg| or to override it by an |\hfill|. - -The definition of ^|\loop| has been modified in order to allow -the construction\lb -|\loop ... \if... ... \else ... \repeat| in addition to\lb -|\loop ... \if... ... \repeat|. - -PLAIN's commands `^|\{|', `^|\}|', `^|\,|', `^|\>| and `^|\;|' -have been modified and can be used in horizontal mode -as well as in math mode. -Moreover you can use ^|\Mit||{...}| to produce `math italic' and -^|\Cal||{...}| to produce `caligraphic' text. -Both commands can be used inside and outside math mode and |\Cal| -will automatically translate its argument to upper case. - -Any input between ^|\comment| end ^|\endcomment| will be ignored, -i.e.\ treated as comment. -Note, however, that |\endcomment| must appear as the first -(nonblank) token of an input line. - -The command ^|\boxit||{...}| puts its argument into a box. - -The commands ^|\topsmash| and ^|\botsmash| are similar to ^|\smash| -but only the part above or below the baseline is `smashed'. -\subsec{Examples:}The input -\begintt - -\line{\boxit{\boxit{\;$a\over b$\;}}\hfill - \boxit{\boxit{\vphantom{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\hphantom{\;$a\over b$\;}}}} -\line{\boxit{\boxit{\rlap{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\topsmash{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\phantom{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\botsmash{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\smash{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\llap{\;$a\over b$\;}}}} - -\endtt -yields: - -\line{\boxit{\boxit{\;$a\over b$\;}}\hfill - \boxit{\boxit{\vphantom{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\hphantom{\;$a\over b$\;}}}} -\line{\boxit{\boxit{\rlap{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\topsmash{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\phantom{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\botsmash{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\smash{\;$a\over b$\;}}}\hfill - \boxit{\boxit{\llap{\;$a\over b$\;}}}} - -The command ^|\lb| is equivalent to |\hfil\break| and can be used to -force a line break.\lb -The command ^|\endpage| is equivalent to |\par\vfil\eject| and can be -used to force a page break.\lb -If you use ^|\superendpage| instead of |\endpage| all pending footnotes -and insertions will be printed before the new page is started. - -The command ^|\use| has already been mentioned, it puts its argument -into an |\hbox| (with macro expansion as usual) and discards this -box.\lb -The command ^|\eat| equally discards its argument but without any macro -expansion.\lb -The command ^|\glet| is an abbreviation for |\global\let| and is used -primarily to conserve space used for macros. - -%*** end of file PMANTEXT *** -% \input pmanmath % mathematical expressions -%*** this is file PMANMATH as of 06.03.86 *** -\chap{Mathematical Expressions} -Let us once again use `|\qeq{\Eq1}|' to refer to equation -`|\Eq1|' defined earlier: -this time the result is `\qeq{\Eq1}'. - -PLAIN's macros ^|\matrix|, ^|\pmatrix| and ^|\bordermatrix| -have been modified as follows: -If you use the commands ^|\matc| (default), ^|\matl| or ^|\matr| -matrix elements will be centered (as in PLAIN), left justified -or right justified respectively. -Moreover you can use ^|\mat| as an abbreviation for ^|\pmatrix|. -\subsec{Examples:}The sequence of commands -\begintt -$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ -\matl -$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ -\matr -$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ -\matc -$$\mat{\sin\lambda&1&0\cr&\sin\lambda&1\cr&&\sin\lambda\cr}\eqn$$ -\endtt -yields -$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ -\matl -$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ -\matr -$$\mat{\sin\lambda\cr1&\sin\lambda\cr0&1&\sin\lambda\cr}\eqn$$ -\matc -$$\mat{\sin\lambda&1&0\cr&\sin\lambda&1\cr&&\sin\lambda\cr}\eqn$$ - -The macros ^|\smallsum| and ^|\smallprod| give small summation -and product signs similar to PLAIN's ^|\smallint|. -These symbols are reduced in size if they appear in sub- or -superscripts. - -There are additional `^{math accents}' and there are also the -corresponding symbols which can be used as superscripts. -The complete list is:\lb -^|\dot| and ^|\dotsymbol| for one dot,\lb -^|\dotii| (or ^|\ddot|) and ^|\dotiisymbol| for two dots,\lb -^|\dotiii| and ^|\dotiiisymbol| for three dots,\lb -^|\dotiv| and ^|\dotivsymbol| for four dots,\lb -^|\vec| and ^|\vecsymbol| for an arrow,\lb -^|\bar| and ^|\barsymbol| for a bar,\lb -^|\tilde| and ^|\tildesymbol| for a tilde and\lb -^|\hat| and ^|\hatsymbol| for a hat. -\subsec{Examples:}The input: -\begintt -$\dot x=\dotii x=\dotiii x=\dotiv x= -\vec x=\bar x=\tilde x=\hat x$ or -$ABC^\dotsymbol=ABC^\dotiisymbol= -ABC^\dotiiisymbol=ABC^\dotivsymbol$ or -$DEF^\vecsymbol=DEF^\barsymbol= -DEF^\tildesymbol=DEF^\hatsymbol$ -\endtt -yields:\lb -$\dot x=\dotii x=\dotiii x=\dotiv x= -\vec x=\bar x=\tilde x=\hat x$ or -$ABC^\dotsymbol=ABC^\dotiisymbol= -ABC^\dotiiisymbol=ABC^\dotivsymbol$ or -$DEF^\vecsymbol=DEF^\barsymbol= -DEF^\tildesymbol=DEF^\hatsymbol$ -\sect{Mathematical Statements} -You may want to use macros to typeset ^{mathematical statements} -such as definitions, theorems, propositions, {\dots} and -proofs. -The problem is that different people have different ideas -how to name these statements. -Moreover one author prefers to number each class of -statements independently whereas another one would like them -all to share one sequence of numbers. -Therefore you must use the command ^|\defstmt| -(\underbar{def}ine \underbar{st}ate\underbar{m}en\underbar{t}) -to define macros for theorems etc.\ yourself according to -your preferences. -The syntax is\lb -|\defstmt{|\<macro>|}{|\<name>|}{|\<numbering>|} |.\lb -The command |\defstmt{Thm}{Theorem}{|\<numbering>|}| will -define a macro ^|\Thm| which can be used to state `Theorem's. -Any such `Theorem' starts with |\Thm|, followed by optional -text and by `:\vspace', and extends until the next statement or -^|\par| or ^{blank line} is encountered. -You may, however, use ^|\endgraf| to start a new paragraph -within a statement. -While you are inside such a statement the command -^|\label| will define a \<code~name> such that it represents -the number assigned to the statement. - -The command ^|\Prf| can be used to generate a proof. -The only difference is that proofs have no numbers and that -they may appear in a different font. - -The last argument \<numbering> of |\defstmt| determines how -this class of statements shall be numbered and must be one -of the following: -\bullitem `|aa|', `|ca|', `|cc|', `|sa|', `|sc|' or `|ss|' -where the first letter indicates whether the statements -shall be numbered throughout the whole paper (a), -per chapter (c) or per section (s). -The second letter indicates whether -these numbers shall be unique throughout the whole paper -(a), through each chapter, i.e.\ chapter numbers as prefix are -omitted, (c) or through each section, i.e.\ chapter and -section numbers are omitted, (s). -That means that the numbering options `|aa|', `|cc|' and -`|ss|' will yield numbers which look alike but which are -reset differently. -\bullitem `|=|' immediately followed by \<macro> of another -class of statements with which the new class shall share the -numbers. -\par\noindent Since the names of these statements are -supplied by the user there is no need to provide for -automatic switching between english and german text. -The following example demonstrates some of the possibilities. -The input: -\beginlines -|\defstmt{Def}{Definition}{ca}| -|\defstmt{Thm}{Theorem}{cc}| -|\defstmt{Lem}{Lemma}{=Thm}| -|\Def: \label\Df1 This is definition~\quote{\Df1}.| -|\Thm (very important)\label\Tm1 : Assume $X$ has the properties| -| \spointbegin $X$ is {\dots} and| -| \spoint $X$ is \dots| -|\endgraf\noindent Then \dots| -|\par Before we prove Theorem~\quote{\Tm1} we need| -|\Lem: \label\Lm1 This is a Lemma.| -|\Prf: According to Definition \quote{\Df1} all $X$ \dots| -|\Prf \rm of Theorem~\quote{\Tm1}:| -|Using Lemma~\quote{\Lm1} we can \dots| -|\par| -\endlines -yields: -\defstmt{Def}{Definition}{ca} -\defstmt{Thm}{Theorem}{cc} -\defstmt{Lem}{Lemma}{=Thm} -\Def: \label\Df1 This is definition~\quote{\Df1}. -\Thm (very important)\label\Tm1 : Assume $X$ has the properties - \spointbegin $X$ is {\dots} and - \spoint $X$ is \dots -\endgraf\noindent Then \dots -\par Before we prove Theorem~\quote{\Tm1} we need -\Lem: \label\Lm1 This is a Lemma. -\Prf: According to Definition \quote{\Df1} all $X$ \dots -\Prf \rm of Theorem~\quote{\Tm1}: -Using Lemma~\quote{\Lm1} we can \dots -\par - -%*** end of file PMANMATH *** -% \input pmansel % selective printing and start macros -%*** this is file PMANSEL as of 10.03.86 *** -\chap{Selective Printing and Start Macros} -\sect{Selective Printing} -Sometimes you want to print just one or a few pages of a long paper, -e.g.\ because there have been some minor changes.\lb -The command ^|\pagesel||{|\<first>|}{|\<last>|}| will suppress the -printing of all pages with page numbers not in the range `first--last'. -You can use |\pagesel| more than once, but you should consider -that \TeX's page breaking mechanism is somewhat delayed. - -Note, however, that |\pagesel| does not save any computing time. -Paragraphs will be broken into lines and lines will be assembled into -pages as usual. -\sect{Start Macros} -If you prepare a long paper you will usually want to process -smaller parts of it, one at a time. -This is always somewhat difficult but the following `start macros' -should help you:\lb -^|\startpage|\<number> for ^|\pageall| or\lb -^|\startpage|\<prefix>|.|\<number> for ^|\pagechap| sets the number -of the first page (as displayed on the LOG file),\lb -^|\startchap|\<number> sets the number for the next chapter,\lb -^|\startsect|\<number> sets the number for the next section,\lb -^|\startappendix||`|\<character> sets the character for the -next appendix,\lb -^|\startequ|\<number> sets the number for the next equation,\lb -^|\startfig|\<number> sets the number for the next figure,\lb -^|\starttab|\<number> sets the number for the next table,\lb -^|\startref|\<number> sets the number for the next reference and\lb -^|\startfoot|\<number> sets the number for the next footnote. - -These start macros initialize various count registers, but you may -still have to initialize other internal variables (e.g.\ the prefix -for equation numbers) which is normally done by ^|\chap|, ^|\sect| or -^|\appendix|. -In order to do so use -\pointbegin ^|\sectinit| if you want to \underbar{continue} a section -within chapter~0, -\point ^|\chapinit| if you want to \underbar{continue} any chapter -except chapter~0, or -\point ^|\appinit| if you want to \underbar{continue} an appendix. -\sect{Save and Restore} -If you want to process only one part of your manuscript but at the -same time want to refer to equations, figures, tables and references -defined in earlier parts you should use ^|\save|~\<filename>\vspace. -{\TeX} maintains a list of all \<code~name>'s defined so far -(except the names of references defined by ^|\RF| which have not yet -been used). -In order to save storage space you can use the commands\lb -^|\kill|\<code~name> or |\kill{|\<code~name>|...|\<code~name>|}|\lb -to delete \<code~name>'s which are no longer needed; -they are removed from the list and the corresponding definitions -are discarded. - -The command |\save| writes a sequence of commands to an external file -(with file type ^{TEXSAVE}) which can be used to restore all -definitions. -First there is a sequence of commands specifying options, -followed by start macros with appropriate arguments and macros which -will -restore the definitions of all \<code~name>'s on the list. -Note, however, that the counts for subequations, -((sub-)sub-)subsections and ((sub-)sub)points will -neither be saved nor restored. - -To set up a job which starts at the point of the ^|\save| -command you should -\pointbegin respecify all private macro definitions -\point repeat all definitions of references by ^|\RF| -\point use the command ^|\restore|~\<filename>\vspace -\foot{Sometimes it will be necessary to increase the page numer by -one. -The command |\startpage| should be followed by the page number of -that page on which the text immediately following the |\save| -command appears.} -\point start whith the input right after the |\save| command. -\par\noindent Finally if the text immediately after the |\save| -command (e.g.\ a new chapter) doesn't start on a new page -\point either start with the command ^|\vglue| (not |\vskip|) -followed by the right dimension (e.g.\ `5.3cm') or -insert commands to enforce a line and page break at the desired -point:\lb -^|\vadjust||{\endpage}\lb| for a page break in the middle of a paragraph -or\lb -^|\endpage| for a page break between paragraphs. -\sect{Forward References} -Usualy you can refer to a \<code~name> only after it has been defined -and a value is assigned to it (^{backward reference}s). -If you want to refer to something which is defined at a later point in -the manuscript (^{forward reference}) you can use the command -^|\crossrestore|~\<filename>{\vspace} (restore information for cross -references) just before the begin of the actual text of the -manuscript and the commands |\superendpage| and |\save| (with the -same \<filename>) -immediately before the command |\bye|. -If you process your manuscript for the first time you will get -an error message that the file for |\crossrestore| is missing and a -%*** user exits *** % called before -lot of \<code~name>'s will be undefined. -The next time, when the file for |\crossrestore| is present, all these -names will be defined in exactly the same way they were defined at -the end of the previous run. -There should be no more undefined \<code~name>'s unless they are -misspelled or are defined nowhere in the manuscript. -Clearly these definitions may not be accurate if you have meanwhile -modified the manuscript; in this case forward references will not be -accurate in the this run but backward references will allways be -correct. -\sect{User Exits} -There are a few ^{user exits} which can be used for special -applications. -All user exits are named ^|\...userexit| and any argument(s) are -contained in the token list register ^|\toks0|, ^|\toks2|, |...|~. - -The following list contains all user exits presently defined together -with their default definition: -%*** the following lines are copied from PHYSTEXT *** -\beginttlines -%*** user exits *** % called before - -\def\skipuserexit{\setbox0\box255 } % page is not printed -\def\shipuserexit{\unvbox255 } % page is printed - -\def\chapuserexit{\sectuserexit} % chapter title -\def\appuserexit{\chapuserexit} % appendix title -\def\sectuserexit{\secsuserexit} % section title -\def\secsuserexit{\secssuserexit} % subsection title -\def\secssuserexit{\secsssuserexit} % subsubsection title -\let\secsssuserexit=\relax % subsubsubsection title -\endttlines -They are all called immediately before the title of the chapter, -appendix, section, {\dots} is printed. -At this point |\toks0| contains (macros which will expand to) the -number and |\toks2| contains the actual title. -For an appendix |\toks0| will in addition contain the word `Appendix' -or `Anhang' and |\toks2| may contain just `|\unskip|' if the appendix -has no title. -The following two examples show some details. - -Assume you want to remove the final dot in the (sub-)section -number. -In order to do that you have to define |\secsssuserexit| -which will automatically be used for all higher exits up to -|\sectuserexit| and you must make sure that this macro is not used -for chapters and sections: -\begintt -\let\chapuserexit=\relax -\def\secsssuserexit{\expandafter\myuserexit\the\toks0 } -\def\myuserexit#1.{\toks0{#1}} -\endtt - -Let us now consider a more complicated example. -Suppose you want to start each chapter and appendix on a new -page with two title lines in a huge font with 5mm extra space -between them and 20mm extra space below and above. -The first line shall contain the chapter or appendix number -and the second line the actual title. -Moreover the titles shall appear in the headline and a horizontal rule -should be placed below the headline. -You could, of course, write your own chapter and appendix -macros for this purpose, taking care of things like resetting -section numbers, possibly equation numbers ond so on. -This might, however, cause incompatibilities with future -changes of the PHYS macro package. -It is, therefore, strongly recommended to use the appropriate -user exits |\chapuserexit| and |\appuserexit| for this -purpose. - -Below we give a sequence of commands which does all the required -things. -In order to understand them you have to know that immediately after -the user exits the title line is printed with the command\lb -|\ctrline{\titlestyle{\the\toks0\ \the\toks2}}|.\lb -The use of |\mark|'s is not quite necessary in a situation where -each chapter and appendix starts on a new page. -The code around the marks is, however, necessary if there are titles -with footnotes. -\beginttlines -\font\huge=ambx10 scaled\magstep3 % a huge font -\toppagenum\chappage\althead \chapstretch=5cm -\let\physskipheadline=\skipheadline % preserve old definition -\def\skipheadline#1{\glet\skipheadrule#1% skip head line rule - \physskipheadline#1} % if headline is skipped -\lheadtext={\firstmark} \rheadtext={\botmark} -\let\physmakeheadline=\makeheadline % preserve old definition -\def\makeheadline{\physmakeheadline % define new headline - \if F\skipheadrule \vbox to0mm{\vskip-8 mm\hrule - width \hsize \vss}\fi \nointerlineskip} -\skipheadline=F % initialize \skipheadrule -\def\titlestyle{\vadjust{\nobreak \vskip 5mm}\huge} -\def\chapuserexit{\vglue 20mm% - \expandafter\ifx\expandafter\unskip\the\toks2 \toks4=\toks0 - \else - \toks4={\unskip\egroup\egroup\ctrline\bgroup\titlestyle\bgroup}% - \edef\next{\the\toks4 \the\toks2}\toks4=\toks2 - \toks2=\expandafter{\next}\fi - \bgroup\def\footnote{\expandafter\eat\eat}% - \let\hfootnote=\footnote % allow footnotes - \let\foot=\eat \let\hfoot=\eat % in title - \mark\expandafter{\the\toks4}\egroup - \toks2=\expandafter{\the\toks2\vadjust{\vskip 15mm}}} -\endttlines - -\indent\bpargroup The two exits |\skipuserexit| and |\shipuserexit| -are called by the output routine |\physoutput| when a page is skipped -(due to |\pagesel|) or is prepared for printing. -The index of this manual is printed in three columns by using these -two exits without any change in |\physoutput|. - -%*** end of file PMANSEL *** -% \input pmanack % acknowledgements -%*** this is file PMANACK as of 06.03.86 *** -\ack -The authors have profited from many discussion with E. Belau, -G. Raffelt and W. Wiedenmann. -The present |\table| macro was originally designed by R. Schilling -and many improvements at various places are due to discussions with him. -Many macros descibed in this paper originate from macros for physics -papers written at SLAC\null, -some of them have been inspired by \AmSTeX. -%*** end of file PMANACK *** -% \input pmanopts % list of all options -%*** this is file PMANOPTS as of 06.03.86 *** -\appendix{List of all Options} ^^{options, list of all} -This appendix lists all the options you can use with the -PHYSE or PHYS formats. -The default option is underlined unless otherwise indicated. - -The commands |\english| (default for PHYSE) or |\german| (default -for PHYS) indicate that certain headings should be in english or -german language (e.g.\ `Abstract' or `Zusammenfassung'). - -You should choose \utt|\titlepage| or |\notitlepage| if the title of -the paper etc.\ do or don't appear on a separate page which is -terminated with |\endpage|. -You can choose \utt|\botpagenum|, |\toppagenum| or |\nopagenum| -to get page numbers printed at the bottom of each page, -at the top of each page or to get no page numbers. -In any case there will be no page number on the title page. -You can choose \utt|\pageall| or |\pagechap| to get -pages numbered throughout the paper or numbered separately for each -chapter and appendix. -The commands \utt|\portrait| and |\landscape| will switch between -portrait and landscape format. -In the later case the page numbers will have -the number of the chapter or the letter of the appendix as prefix. -\utt|\figpage| and |\nofigpage| indicate that the -figure captions (if any) should or should not appear on one or -several separate pages. -The use of |\pagechap| forces them on separate pages in any case. -The analogous commands \utt|\tabpage|, |\notabpage|, -\utt|\refpage|, |\norefpage| and \utt|\footpage|, |\nofootpage| -do exactly the same for the table captions, the list of references -and (if applicable) the list of footnotes. - -You should use \utt|\chapters| or |\nochapters| if your -paper does or does not contain chapters. -Depending on other options this may influence the numbering of pages, -equations, \dots\ . -You should use \utt|\arabicchapnum| or |\romanchapnum| if you want -the chapter numbers printed as arabic numbers or as (uppercase) -roman numerals. -You should use |\chappage| or \utt|\nochappage| if each chapter -and appendix should or should not start on a new page. - -You can choose among |\equall|, \utt|\equchap| and -|\equsect| if the equations should be numbered throughout the -paper, for each chapter and appendix or for each section and appendix. -Use |\equleft|, \utt|\equright|, or |\equnone| if the equation numbers -should appear on the left side of the page, on the right side of -the page, or should not be printed at all. -You can choose |\equfull| or \utt|\equshort| -to indicate that |\queq| should -quote equation numbers in full or in abbreviated form (unless there is -an explicit |\fulltag| or |\shorttag|). - -Use |\storebox|, \utt|\storelist| or |\storefile| if the -figure captions, table captions, references and (possibly) footnotes -shall be stored in boxes, as lists of macro definitions or on -external files. - -Use \utt|\figall|, |\figchap| or |\figsect| if the figures should -be numbered throughout the paper, for each chapter and appendix or -for each section and appendix. -Use \utt|\taball|, |\tabchap| or |\tabsect| if the tables should -be numbered throughout the paper, for each chapter and appendix or -for each section and appendix. - -Use \utt|\refsup| or |\refsqb| if quotations to references -should appear as superscripts or enclosed in square brackets. -Use \utt|\yearpage| or |\pageyear| if references generated -by the macros for physics journals should appear in the form -`journal {\bf volume} (year) page' or -`journal {\bf volume}, page (year)'. - -Use \utt|\footbot| or |\footend| if `footnotes' should appear at -the bottom of the page or at the end of the paper. -Use \utt|\footsqb| or |\footpar| if you want footnote -numbers enclosed in square brackets or followed by a parenthesis. -This applies only to footnote numbers generated by |\foot|, -not to the symbols which are given to |\footnote| as argument. - -%*** end of file PMANOPTS *** -% \input pmanupdt % updates and corrections ... -%*** this is file PMANUPDT as of 06.03.86 *** -\appendix{Updates and Corrections to PHYS/PHYSE} -\titcon{and Macro Libraries} -\secs{Updates and Corrections to PHYS/PHYSE} -The file PHYSUPDT TEX will contain ^{updates and corrections} of -errors which are not yet implemented in the PHYS/PHYSE format. -Therefore your {\TeX} input should start with the command -|\input physupdt| in order to get all known errors corrected. -In most cases you will, however, use a macro library and -it is most convenient to put this command into the macro library. -\secs{Private and Public Macro Libraries} -It is recommended to organize ^{macro libraries} in a hierarchical -fashion: -\dashitem one public macro library which contains macros useful for -all users at a computer or an institute. -This library should start with the command |\input|~^|physupdt|. -\dashitem one semi-public macro library for each larger group -of users which should start with a command that reads the -public macro library. -\dashitem one private macro library for one user (or for several -users working closely together) which should start with an -|\input| command for the appropriate semi-public library. -\secs{Macro Libraries at MPP} -At present we use the following public and semi-public macro -libraries: -\secss{The File MPPMAC} ^^|mppmac| -This library starts with |\input|~|physupdt| and contains macros -which should be useful for everybody at the Max-Plack-Institut f\"ur -Physik.\lb -^|\mppnum| to generate an MPP preprint or report number and\lb -^|\mppaddress| to generate the MPP address on the title page\lb -are described elsewhere in this manual and are needed in order -to produce a copy of this manual from the {\TeX} source. - -In addition there is a command\lb -^|\letter||{|\<name>|}{|\<phone>|}{|\<address>|}|\lb -which will produce an MPP letter head with your \<name> and -\<phone> and the \<address> of the recipient. -As usual different lines in this address are separated by |\\|. -There are actually two such commands, |\letterL| for output -on a LasergrafiX and |\letterC| for output on a Canon laser printer, -because none of the large fonts is available for both devices. -|\letter| is just a synonym for |\letterL|. - -\secss{The File CELMAC} ^^|celmac| -This library starts with |\input|~|mppmac| and contains additional -macros useful for the CELLO group at MPP\null. -If you use this library the following additional macros are defined:\lb -^|\Znull|, ^|\Wplus|, ^|\Wminus|, ^|\Wpm|, etc.. - -\secss{The File THEMAC} ^^|themac| -This library starts with |\input|~|mppmac| and contains additional -macros useful for the THEORY group at MPP\null. -If you use this library the following additional macros are defined:\lb -^|\pthnum||{|\dots|}| instead of |\mppnum{PTh |\dots|}| and\lb -^|\pthdate| instead of and |\pubdate|. - -The following additional macros for physics journals are defined in -this file: -^^|\AP|^^|\CMP|^^|\JMP|^^|\PRep|^^|\RMP|^^|\TMF| -%*** the following lines are copied from THEMAC *** -\beginttlines -\def\AP{\journal{Ann.\ \Phys}} -\def\CMP{\journal{Commun.\ \Math\Phys}} -\def\JMP{\journal{J.\ \Math\Phys}} -\def\PRep{\journal{\Phys Rep.\ }} -\def\RMP{\journal{\Rev Mod.\ \Phys}} -\def\TMF{\journal{Teor.\ Mat.\ Fiz.\ }} -\endttlines -%*** end of file PMANUPDT *** -% \input pmanmacs % macro expansions, arguments, ... -%*** this is file PMANMAC as of 06.03.86 *** -\appendix{Macro Expansions, Arguments and Category Codes} -In this appendix we have to treat some sublteties which may become -important to someone designing somewhat more complicated macros. -Most users should skip this appendix, at least when reading this -manual for the first time. - -It was said earlier that code names may consist of letters, -digits and apostrophes whereas usually {\TeX}'s control word -names consist of letters only. -The way this can be done is by temporarily declaring the -digits and the apostrophe to be letters while the code name -is read. -Since {\TeX} decides which characters are letters when they -are first read from the input file it is important that -e.g.\ the argument `|\Author81|' of |\quref{\Author81}| is -read by the macro |\quref| which temporarily causes the -digits |8| and |1| to behave as letters. -Things will clearly go wrong if you use something like\lb -|\def\xxx#1{#1}|\dots|\xxx{|\dots|\quref{\Author81}|\dots|}|\lb -because then `|\Author81|' is read as part of |\xxx|'s -argument as control word `|\Author|' (probably undefined) -followed by the digits `|81|'. -(Compare Chapter~7: How {\TeX} Reads What You Type, -Chapter~20: Definitions (also called Macros), and -Appendix~D: Dirty Tricks of the {\TeX}book\quref{\texbook} -for more details.) - -Consider the macro definition |\def\line{\hbox to\hsize}|. -After expanding and processing the macro |\line|, which has -no argument, {\TeX} continues to read input characters and -expand macros and expects to find a left brace (either an -explicit one (|{|) or an implicit one (|\bgroup|)) which -starts a new level of grouping. -{\TeX} continues to read and expand input until eventually a matching -right brace is found at which point the horizontal list -built so far is put into an |\hbox| of width |\hsize|. -The input commands\lb -|\line{abc}| or |\line\bgroup abc\egroup| or\lb -|\def\xx{{abc}}\line\xx| or even things like\lb -|\line{abc\egroup| or |\def\xxx{\bgroup abc}\line\xxx}|\lb -would all give the same result. -The commands\lb -|\def\zzz{\egroup\line\bgroup}\line{abc\zzz def}|\lb -would even produce two lines. -The input\lb -|\def\yy{abc}\line\yy|\lb -would, however, be wrong and would lead to an error message. - -Things are quite different with PLAIN's macro definition\lb -|\def\leftline#1{\line{#1\hss}}|\lb -because (with this definition) |\leftline| has one argument. -After reading the macro |\leftline| {\TeX} reads its -argument (without any macro expansion) and will subsequently -substitute this argument whenever there is a |#1| in the -replacement text. -Braces around a complex argument must be explicit and do not -provide a new level of grouping. -The input commands\lb -|\leftline{abc}| or |\def\yy{abc}\leftline\yy|\lb -would, therefore, give the same result. -The input\lb -|\leftline\bgroup abc\egroup|\lb -would, however, be wrong (the argument would be `|\bgroup|') -and would produce a quite different result. - -We are here mostly concerned with code names. -The construction\lb -|\line{|\dots|\quref{\Author81}|\dots|}|\lb -works fine because |\Author81| will be read after expanding -the macro |\quref| as usual. -The construction\lb -|\leftline{|\dots|\quref{\Author81}|\dots|}|\lb -(with PLAIN's definition of |\leftline|) would however fail, -because |\Author81| is read ahead of time as part of the -argument for |\leftline|. -It is exactly for this reason that the macros ^|\leftline|, -^|\rightline|, ^|\centerline|, ^|\rlap| and ^|\llap| have been -redefined in PHYS such that the above construction does what -it is assumed to do. -The original definitions, which are slightly faster, are -still available under the names ^|\plainleftline|, -^|\plainrightline|, ^|\plaincenterline|, ^|\plainrlap| and -^|\plainllap|. -%*** end of file PMANMAC *** -% \input pmanold % compatibility with the older version (0.95) ... -%*** this is file PMANOLD as of 06.03.86 *** -\appendix{Compatibility with the older Version (0.95) of PHYS} -The present version 1.0 of the PHYS/PHYSE format is not entirely -compatible with the previous one (0.95). -The main incompatibilities are: -\pointbegin the option ^|\equold| is no longer supported -\point the ^|\table| macro -\par\noindent -You can, however, still use the old (0.8) form of equation numbers -if you use the command |\input|~^|equold| instead of the option -|\equold|. - -The new |\table| macro is based on the example on page 247 -(Chapter~22: Alignment) of the {\TeX}book \quref{\texbook} -whereas the old macro was based on the example on page 392 -(Appendix~D: Dirty Tricks). -The new macro is more flexible but sometimes you may want -to still use the old one. -In order to do so you can use the command |\input|~^|oldtabl| -to read the old macro definition. -Once this is done you can use ^|\oldtable| (default after -|\input|~|oldtabl|) or ^|\newtable| to indicate that |\table| shall -be the old or the new table macro. - -The syntax of the old |\table| macro is\lb -|\table|\<box~specification>|{|\<alignment~material>|}|\lb -with the following restrictions: -\pointbegin The alignment preamble must terminate with |\cr|, -not with |\crcr|, and the table must contain at least one row -of aligned items. -\point The last row of the table must contain the maximal number of -columns (you can add empty entries if necessary) -\point Every row of the table should contain a |\strut| -to ensure the correct vertical spacing. -It is in fact advisable to have a strut in each table entry in order -to avoid `underfull hbox'es. -\point The alignment material should not contain |\noalign|. -All horizontal rules should be produced with |\tabrule| -right after the corresponding |\cr|. -\point The vertical rules are put into the middle of the tabskip glue -and the parts of the tabskip glue to the left of the leftmost rule -and to the right of the rightmost rule are cut off. -If the initial tabskip is zero (default) |\table| inserts its own -value (24.4pt plus 24pt minus 12pt, .4pt are for the width of the -vrule). -You can modify the value of tabskip in the alignment preamble, -but you should know exactly what you are doing. -Irrespective of your modifications |\table| will use the same -tabskip value after the last column as before the first column. -\point If you want to omit a vertical rule use |\omitrule| in the -alignment preamble, either immediately after the `|{|' or -immediately before an `|&|' or the `|\cr|'. -%*** end of file PMANOLD *** - -\nofigpage\figout % print figure captions on same page -\notabpage\tabout % print table captions on same page -\norefpage\refout % print references on same page -\nofootpage\footout % print footnotes on same page (\footbot) - -\startindex %make the index -\triplecolumn\tenpoint -\makeindex -\singlecolumn - -\endpage\startpage-3\singlespace -\tocpage\tocout % print table of contents on new page -\bye % end of the TEX job -%*** end of file PMANUAL *** - diff --git a/macros/physe/physe.tex b/macros/physe/physe.tex deleted file mode 100644 index d1aa5803d2..0000000000 --- a/macros/physe/physe.tex +++ /dev/null @@ -1,2024 +0,0 @@ -%FORMAT plaine % use PLAINE format -%*** this is file PHYSE as of 11.02.86 *** -% \input physorg % macros for physics papers -%*** this is file PHYSORG as of 14.03.86 *** -%*** PHYSORG Version 1.00 *** - -\message{Preloading the phys format:} - -% I make @ signs act like letters, temporarily, to avoid conflict -% with user-defined control sequences in certain cases. - -\catcode`\@=11 - -\chardef\f@ur=4 -\chardef\l@tter=11 -\chardef\@ther=12 -\toksdef\toks@i=1 % global only -\toksdef\toks@ii=2 -\newtoks\emptyt@ks % permanently empty token list register - -\def\glet{\global\let} -\def\gz@#1{\global#1\z@} -\def\gm@ne#1{\global#1\m@ne} -\def\g@ne#1{\global\advance#1\@ne} - -\def\@height{height} % save token space -\def\@depth{depth} % (5 or 6 tokens at the cost -\def\@width{width} % of one macro expansion) - -\def\@plus{plus} % save -\def\@minus{minus} % token space - -\message{macros for text,} - -% \input physmain - -%*** this is file PHYSMAIN as of 07.03.86 *** -%*** macros for text *** - -% allow the construction `\loop ... \if... ... \else ... \repeat' -\def\loop#1\repeat{\def\iter@te{#1\expandafter\iter@te \fi}\iter@te - \let\iter@te\undefined} -\let\iterate=\undefined - -\def\par{\ifhmode \unpenalty\unskip \fi \endgraf} -\def\lb{\hfil\break} -\def\endpage{\par \vfil \eject} -\def\superendpage{\par \vfil \supereject} - -%*** allow change of \catcodes's inside \leftline, ... - -\let\plainleftline=\leftline % rename \leftline from PLAIN -\let\plainrightline=\rightline % rename \rightline from PLAIN -\let\plaincenterline=\centerline % rename \centerline from PLAIN - -\def\leftline{\@line\hsize\empty\hss} -\def\rightline{\@line\hsize\hss\empty} -\def\centerline{\@line\hsize\hss\hss} - -\let\plainrlap=\rlap % rename \rlap from PLAIN -\let\plainllap=\llap % rename \llap from PLAIN - -\def\rlap{\@line\z@\empty\hss} -\def\llap{\@line\z@\hss\empty} - -\def\lftline{\@line\hsize\empty\hfil} -\def\rtline{\@line\hsize\hfil\empty} -\def\ctrline{\@line\hsize\hfil\hfil} - -\def\@line#1#2#3{\hbox to#1\bgroup#2\let\n@xt#3% - \afterassignment\@@line \setbox\z@\hbox} -\def\@@line{\aftergroup\@@@line} -\def\@@@line{\unhbox\z@ \n@xt\egroup} - -\def\after@arg#1{\bgroup\aftergroup#1\afterassignment\after@@arg\@eat} -\def\after@@arg{\ifcat\bgroup\noexpand\n@xt\else \n@xt\egroup \fi} -\def\@eat{\let\n@xt= } % eat one token -\def\eat#1{} % eat one argument -\def\@eat@#1{\@eat} % eat one argument and one token - -%*** phantom and smash *** - -\def\begin@{\ifmmode \expandafter\mathpalette\expandafter\math@ \else - \expandafter\make@ \fi} -\def\make@#1{\setbox\z@\hbox{#1}\fin@} -\def\math@#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\fin@} - -\def\ph@nt{\let\fin@\finph@nt \begin@} -\let\makeph@nt=\undefined -\let\mathph@nt=\undefined - -\newif\ift@ \newif\ifb@ -\def\topsmash{\t@true\b@false\sm@sh} -\def\botsmash{\t@false\b@true\sm@sh} -\def\smash{\t@true\b@true\sm@sh} -\def\sm@sh{\let\fin@\finsm@sh \begin@} -\let\makesm@sh=\undefined -\let\mathsm@sh=\undefined -\def\finsm@sh{\ift@\ht\z@\z@\fi \ifb@\dp\z@\z@\fi \box\z@} - -%*** boxit *** - -\newdimen\boxitsep \boxitsep=5pt - -\def\boxit{\fboxit{.4}} -\def\fboxit#1#2{\hbox{\vrule \@width#1\p@ - \vtop{\vbox{\hrule \@height#1\p@ \vskip\boxitsep - \hbox{\hskip\boxitsep #2\hskip\boxitsep}}% - \vskip\boxitsep \hrule \@height#1\p@}\vrule \@width#1\p@}} - -%*** active characters `:,`; and `^^M *** - -\begingroup - \catcode`\:=\active - \lccode`\*=`\\ \lowercase{\gdef:{*}} % `: -> `\ - \catcode`\;=\active - \lccode`\* `\% \lowercase{\gdef;{*}} % `; -> `% - \catcode`\^^M=\active \glet^^M=\space % `^^M -> \space -\endgroup - -%*** comment *** - -\begingroup - \catcode`\:=\active - \outer\gdef\comment{\begingroup - \catcode`\\\@ther \catcode`\%\@ther \catcode`\^^M\@ther - \catcode`\{\@ther \catcode`\}\@ther \catcode`\#\@ther - \wlog{* input between `:comment' and `:endcomment' ignored *} - \c@mment} -\endgroup -{\lccode`\:=`\\ \lccode`\;=`\^^M - \lowercase{\gdef\c@mment#1;{\c@@mment:endcomment*}}} -\def\c@@mment#1#2*#3{\if #1#3\ifx @#2@ \let\n@xt\endgroup \else - \def\n@xt{\c@@mment#2*}\fi \else \def\n@xt{\c@mment#3}\fi \n@xt} -\let\endcomment=\relax % avoid errmessage for unmatched \endcomment - -\message{date and time,} - -%*** language *** - -\newcount\langu@ge - -\outer\def\english{\gm@ne\langu@ge} -\outer\def\german{\gz@\langu@ge} - -\def\case@language#1{\ifcase\expandafter\langu@ge #1\fi} -\def\case@abbr#1{{\let\nodot\n@dot\case@language{#1}.~}} -\def\n@dot{\expandafter\eat} -\let\nodot=\empty - -%*** date and time *** - -\def\themonth{\xdef\themonth{\noexpand\case@language - {\ifcase\month \or Jannuar\or Februar\or M\noexpand\"arz\or April\or - Mai\or Juni\or Juli\or August\or September\or Oktober\or November\or - Dezember\fi - \noexpand\else - \ifcase\month \or January\or February\or March\or April\or May\or - June\or July\or August\or September\or October\or November\or - December\fi}}\themonth} - -\def\thedate{\case@language{\else\themonth\ }\number\day - \case@language{.\ \themonth \else ,} \number\year} - -\def\date{\number\day.\,\number\month.\,\number\year} - -%*** \thetime is defined twice, once if this file is read - -\count@\time \divide\count@60 \edef\thetime{\the\count@ :} -\multiply\count@-60\advance\count@\time -\edef\thetime{\thetime \ifnum10>\count@ 0\fi \the\count@} - -% and once if a dump file is loaded *** - -\everyjob={% - \count@\time \divide\count@60 \edef\thetime{\the\count@ :}% - \multiply\count@-60\advance\count@\time - \edef\thetime{\thetime \ifnum10>\count@ 0\fi \the\count@}% - \everyjob{}} -%*** end of file PHYSMAIN *** - -\message{spacing, fonts and sizes,} - -% \input physfont -%*** this is file PHYSFONT as of 14.03.86 *** -%*** spacing parameters *** - -\newskip\refbetweenskip \newskip\chskiptamount -\newskip\chskiplamount \newskip\secskipamount -\newskip\footnotebaselineskip \newskip\interfootnoteskip - -\newdimen\chapstretch \chapstretch=2.5cm -\newcount\chappenalty \chappenalty=-800 -\newdimen\sectstretch \sectstretch=2cm -\newcount\sectpenalty \sectpenalty=-400 - -\def\chskipt{\chapbreak \vskip\chskiptamount} -\def\chskipl{\nobreak \vskip\chskiplamount} -\def\unchskip{\vskip-\chskiplamount} -\def\secskipt{\sectbreak \vskip\secskipamount} -\def\chapbreak{\vskip\z@\@plus\chapstretch \penalty\chappenalty - \vskip\z@\@plus-\chapstretch} -\def\sectbreak{\vskip\z@\@plus\sectstretch \penalty\sectpenalty - \vskip\z@\@plus-\sectstretch} - -%*** fonts *** - -%*** load am... or cm... fonts according to PLAIN's selection *** - -\begingroup \lccode`\*=`\r - \lowercase{\def\n@xt#1*#2@{#1} - \xdef\font@sel{\expandafter\n@xt\fontname\tenrm*@}}\endgroup - -\message{loading \font@sel\space fonts,} - -\font\twelverm=\font@sel r10 scaled \magstep1 % roman text -%\font\tenrm=\font@sel r10 % already defined in PLAIN -\font\ninerm=\font@sel r9 -\font\eightrm=\font@sel r8 -%\font\sevenrm=\font@sel r7 % already defined in PLAIN -\font\sixrm=\font@sel r6 -%\font\fiverm=\font@sel r5 % already defined in PLAIN - -\font\twelvei=\font@sel mi10 scaled\magstep1 - \skewchar\twelvei='177 % math italic -%\font\teni=\font@sel mi10 % already defined in PLAIN -\font\ninei=\font@sel mi9 \skewchar\ninei='177 -\font\eighti=\font@sel mi8 \skewchar\eighti='177 -%\font\seveni=\font@sel mi7 % already defined in PLAIN -\font\sixi=\font@sel mi6 \skewchar\sixi='177 -%\font\fivei=\font@sel mi5 % already defined in PLAIN - -\font\twelvesy=\font@sel sy10 scaled \magstep1 - \skewchar\twelvesy='60 % math symbols -%\font\tensy=\font@sel sy10 % already defined in PLAIN -\font\ninesy=\font@sel sy9 \skewchar\ninesy='60 -\font\eightsy=\font@sel sy8 \skewchar\eightsy='60 -%\font\sevensy=\font@sel sy7 % already defined in PLAIN -\font\sixsy=\font@sel sy6 \skewchar\sixsy='60 -%\font\fivesy=\font@sel sy5 % already defined in PLAIN - -%\font\tenex=\font@sel ex10 % math extension already defined in PLAIN - -%\font\preloaded=\font@sel ss10 % sans serif -%\font\preloaded=\font@sel ssq8 - -%\font\preloaded=\font@sel ssi10 % sans serif italic -%\font\preloaded=\font@sel ssqi8 - -\font\twelvebf=\font@sel bx10 scaled \magstep1 % boldface extended -%\font\tenbf=\font@sel bx10 % already defined in PLAIN -\font\ninebf=\font@sel bx9 -\font\eightbf=\font@sel bx8 -%\font\sevenbf=\font@sel bx7 % already defined in PLAIN -\font\sixbf=\font@sel bx6 -%\font\fivebf=\font@sel bx5 % already defined in PLAIN - -\font\twelvett=\font@sel tt10 scaled \magstep1 % typewriter -%\font\tentt=\font@sel tt10 % typewriter already defined in PLAIN -%\font\preloaded=\font@sel tt9 -\font\eighttt=\font@sel tt8 - -%\font\preloaded=\font@sel sltt10 % slanted typewriter - -\font\twelvesl=\font@sel sl10 scaled \magstep1 % slanted roman -%\font\tensl=\font@sel sl10 % already defined in PLAIN -\font\ninesl=\font@sel sl9 -\font\eightsl=\font@sel sl8 -\let\sixsl=\eightsl % there is no sl6 font -\let\fivesl=\sixsl % there is no sl5 font - -\font\twelveit=\font@sel ti10 scaled \magstep1 % text italic -%\font\tenit=\font@sel ti10 % already defined in PLAIN -\font\nineit=\font@sel ti9 -\font\eightit=\font@sel ti8 -\font\sevenit=\font@sel ti7 -\let\sixit=\sevenit % there is no ti6 font -\let\fiveit=\sixit % there is no ti5 font - -%\font\preloaded=\font@sel u10 % unslanted text italic - -%\font\preloaded=\font@sel bi10 % bold math italic -%\font\preloaded=\font@sel bsy10 % bold math symbols - -\font\twelvecsc=\font@sel csc10 scaled \magstep1 % caps and small caps -\font\tencsc=\font@sel csc10 -\let\eightcsc=\tencsc % there is no csc8 font - -%\font\preloaded=\font@sel ssbx10 % sans serif bold extended - -%\font\preloaded=\font@sel dunh10 % Dunhill style - -%\font\preloaded=\font@sel r7 scaled \magstep4 % for titles -%\font\preloaded=\font@sel tt10 scaled \magstep2 -%\font\preloaded=\font@sel ssbx10 scaled \magstep2 - -%\font\preloaded=manfnt % METAFONT logo and dragon curve - % and special symbols - -%*** sizes *** - -\def\twelvepoint{\twelve@point - \let\normal@spacing\twelve@spacing \set@spacing} -\def\tenpoint{\ten@point - \let\normal@spacing\ten@spacing \set@spacing} -\def\eightpoint{\eight@point - \let\normal@spacing\eight@spacing \set@spacing} - -\def\rm{\fam\z@ \@fam} -\def\mit{\fam\@ne} -\def\oldstyle{\mit \@fam} -\def\cal{\fam\tw@} -\def\it{\fam\itfam \@fam} -\def\sl{\fam\slfam \@fam} -\def\bf{\fam\bffam \@fam} -\def\tt{\fam\ttfam \@fam} -\def\caps{\@caps} -\def\@fam{\the\textfont\fam} - -%*** fonts for sizes *** - -\def\twelve@point{\set@fonts twelve ten eight } -\def\ten@point{\set@fonts ten eight six } -\def\eight@point{\set@fonts eight six five } - -\def\set@fonts#1 #2 #3 {\textfont\ttfam\csname#1tt\endcsname - \edef\n@xt{\csname#1csc\endcsname}% - \expandafter\let\expandafter\@caps\n@xt - \def\n@xt##1##2{\textfont##1\csname#1##2\endcsname - \scriptfont##1\csname#2##2\endcsname - \scriptscriptfont##1\csname#3##2\endcsname}% - \set@@fonts} -\def\set@@fonts{\n@xt0{rm}\n@xt1i\n@xt2{sy}% - \textfont3\tenex \scriptfont3\tenex \scriptscriptfont3\tenex - \n@xt\itfam{it}\n@xt\slfam{sl}\n@xt\bffam{bf}\rm} - -%*** spacing for sizes *** - -\def\singlespace{\chardef\@spacing\z@ \set@spacing} -\def\doublespace{\chardef\@spacing\@ne \set@spacing} -\def\triplespace{\chardef\@spacing\tw@ \set@spacing} -\chardef\@spacing=1 % \doublespace - -\def\set@spacing{\toks@\expandafter{\spacing@names @}% - \expandafter\set@@spacing\normal@spacing \normalbaselines} -\def\set@@spacing{\expandafter\set@@@spacing\the\toks@\@@} -\def\set@@@spacing#1#2\@@{\ifx #1@\else\toks@{#2}% - \expandafter\set@@@@spacing\expandafter#1\fi} -\def\set@@@@spacing#1#2+#3*{#1#3\multiply#1\@spacing - \advance#1#2\set@@spacing} - -\def\normalbaselines{\lineskip\normallineskip - \setbaselineskip\normalbaselineskip - \lineskiplimit\normallineskiplimit} - -\def\setbaselineskip{\afterassignment\set@strut \baselineskip} -\def\set@strut{\setbox\strutbox\spacer\z@\baselineskip} - -\def\spacer{\hbox\bgroup \afterassignment\x@spacer \dimen@} -\def\x@spacer{\ifdim\dimen@=\z@\else \hskip\dimen@ \fi - \afterassignment\y@spacer \dimen@} -\def\y@spacer{\setbox\z@\hbox{$\vcenter{\vskip\dimen@}$}% - \vrule \@height\ht\z@ \@depth\dp\z@ \@width\z@ \egroup} - -\def\spacing@names{% list of all variable spacing parameters - \normalbaselineskip - \normallineskip - \normallineskiplimit - \footnotebaselineskip - \interfootnoteskip - \parskip - \refbetweenskip - \abovedisplayskip - \belowdisplayskip - \abovedisplayshortskip - \belowdisplayshortskip - \chskiptamount - \chskiplamount - \secskipamount - } - -\def\twelve@spacing{% parameters and increments for twelvepoint - 14\p@ +5\p@ *%\normalbaselineskip - \p@ +\z@ *%\normallineskip - \z@ +\z@ *%\normallineskiplimit - 14\p@ +\p@ *%\footnotebaselineskip - 20\p@ +\z@ *%\interfootnoteskip - 5\p@\@plus\p@ +-2\p@ *%\parskip - \z@ +6\p@ *%\refbetweenskip - 8\p@\@plus2\p@\@minus3\p@ +% - 4\p@\@plus3\p@\@minus5\p@ *%\abovedisplayskip - 8\p@\@plus2\p@\@minus3\p@ +% - 4\p@\@plus3\p@\@minus5\p@ *%\belowdisplayskip - \p@\@plus2\p@\@minus\p@ +% - 4\p@\@plus3\p@\@minus2\p@ *%\abovedisplayshortskip - 8\p@\@plus2\p@\@minus3\p@ +% - \p@\@plus2\p@\@minus2\p@ *%\belowdisplayshortskip - 20\p@\@plus5\p@ +\z@ *%\chskiptamount - 5.5\p@ +\z@ *%\chskiplamount - 6\p@\@plus2\p@ +\z@ *%\secskipamount - } - -\def\ten@spacing{% parameters and increments for tenpoint - 11\p@ +4.5\p@ *%\normalbaselineskip - \p@ +\z@ *%\normallineskip - \z@ +\z@ *%\normallineskiplimit - 12\p@ +\p@ *%\footnotebaselineskip - 16\p@ +\z@ *%\interfootnoteskip - 5\p@\@plus\p@ +-2\p@ *%\parskip - \z@ +5\p@ *%\refbetweenskip - 8\p@\@plus2\p@\@minus3\p@ +% - 4\p@\@plus3\p@\@minus5\p@ *%\abovedisplayskip - 8\p@\@plus2\p@\@minus3\p@ +% - 4\p@\@plus3\p@\@minus5\p@ *%\belowdisplayskip - \p@\@plus2\p@\@minus\p@ +% - 4\p@\@plus3\p@\@minus2\p@ *%\abovedisplayshortskip - 8\p@\@plus2\p@\@minus3\p@ +% - \p@\@plus2\p@\@minus2\p@ *%\belowdisplayshortskip - 20\p@\@plus5\p@ +\z@ *%\chskiptamount - 5.5\p@ +\z@ *%\chskiplamount - 6\p@\@plus2\p@ +\z@ *%\secskipamount - } - -\def\eight@spacing{% parameters and increments for eightpoint - 9\p@ +3.5\p@ *%\normalbaselineskip - \p@ +\z@ *%\normallineskip - \z@ +\z@ *%\normallineskiplimit - 10\p@ +\p@ *%\footnotebaselineskip - 14\p@ +\z@ *%\interfootnoteskip - 5\p@\@plus\p@ +-2\p@ *%\parskip - \z@ +5\p@ *%\refbetweenskip - 8\p@\@plus2\p@\@minus3\p@ +% - 4\p@\@plus3\p@\@minus5\p@ *%\abovedisplayskip - 8\p@\@plus2\p@\@minus3\p@ +% - 4\p@\@plus3\p@\@minus5\p@ *%\belowdisplayskip - \p@\@plus2\p@\@minus\p@ +% - 4\p@\@plus3\p@\@minus2\p@ *%\abovedisplayshortskip - 8\p@\@plus2\p@\@minus3\p@ +% - \p@\@plus2\p@\@minus2\p@ *%\belowdisplayshortskip - 20\p@\@plus5\p@ +\z@ *%\chskiptamount - 5.5\p@ +\z@ *%\chskiplamount - 6\p@\@plus2\p@ +\z@ *%\secskipamount - } - -\twelvepoint - -%*** macros for sizes *** - -\def\large{\par \bgroup \twelvepoint \after@arg\@size} -\def\medium{\par \bgroup \tenpoint \after@arg\@size} -\def\small{\par \bgroup \eightpoint \after@arg\@size} -\def\@size{\par \egroup} - -\def\LARGE#1{{\twelve@point #1}} -\def\MEDIUM#1{{\ten@point #1}} -\def\SMALL#1{{\eight@point #1}} -%*** end of file PHYSFONT *** - -\message{texts, headings and styles,} - -% \input phystext -%*** this is file PHYSTEXT as of 06.03.86 *** -%*** texts and headings *** - -\def\submittextone{Zur Ver\"offentlichung in\else Submitted to} -\def\submittexttwo{ eingereicht\else} -\def\abstracthead{Zusammenfassung\else Abstract} -\def\ackhead{Danksagung\else Acknowledgements} -\def\appendixhead{Anhang\else Appendix} -\def\eqabbr{Gl\else eq} -\def\eqsabbr{Gln\else eqs} -\def\figpref{Abb\else Fig} -\def\fighead{Abbildungen\else Figure captions} -\def\figabbr{Bild\nodot\else Fig} -\def\tabpref{Tab\else Tab} -\def\tabhead{Tabellen\else Table captions} -\let\tababbr=\tabpref -\def\refpref{Lit\else Ref} -\def\refhead{Literaturverzeichnis\else References} -\def\refabbr{???\else Ref} -\def\refsabbr{????\else Refs} -\def\tocpref{Inh\else Toc} -\def\tochead{Inhaltsverzeichnis\else Table of contents} -\def\footpref{Anm\else Foot} -\def\foothead{Anmerkungen\else Footnotes} -\def\prfhead{Beweis\else Proof} - -%*** styles *** - -\def\UPPERCASE#1{\edef\n@xt{#1}\uppercase\expandafter{\n@xt}} - -\let\headlinestyle=\twelverm -\let\footlinestyle=\twelverm -\let\pagestyle=\twelverm % page numbers -\let\titlestyle=\bf % title of paper, chapters, appendices -\let\authorstyle=\caps -\let\addressstyle=\sl -\let\sectstyle=\caps % section titles -\def\secsstyle{\sectstyle} -\def\secssstyle{\secsstyle} -\def\secsssstyle{\secssstyle} -\def\subsecstyle#1{\hbox{$\underline{\hbox{#1}}$\enskip}\ignorespaces} -\let\headstyle=\UPPERCASE % headlines for list of figure capts. etc -\let\captionstyle=\it % figure and table captions -\let\journalstyle=\sl -\let\volumestyle=\bf -\let\figstyle=\empty % list of figure captions -\def\figindent{to4em} -\def\figbreak{\goodbreak \vskip\refbetweenskip} -\let\tabstyle=\empty % list of table captions -\let\tabindent=\figindent -\let\tabbreak=\figbreak -\let\refstyle=\empty % list of references -\let\refindent=\figindent -\def\namrefindent{2em} -\def\refbreak{\filbreak \vskip\refbetweenskip} -\let\tocstyle=\empty % table of contents -\let\tocindent=\empty -\let\tocbreak=\refbreak -\let\footstyle=\empty % (list of) footnotes -\let\footindent=\figindent -\let\footbreak=\figbreak -\let\stmttitlestyle=\bf % mathematical statements -\let\stmtstyle=\sl -\let\prftitlestyle=\caps -\let\prfstyle=\sl - -%*** user exits *** % called before - -\def\skipuserexit{\setbox\z@\box\@cclv} % page is not printed -\def\shipuserexit{\unvbox\@cclv} % page is printed - -\def\chapuserexit{\sectuserexit} % chapter title -\def\appuserexit{\chapuserexit} % appendix title -\def\sectuserexit{\secsuserexit} % section title -\def\secsuserexit{\secssuserexit} % subsection title -\def\secssuserexit{\secsssuserexit} % subsubsection title -\let\secsssuserexit=\relax % subsubsubsection title -%*** end of file PHYSTEXT *** - -\message{page numbers and output,} - -% \input physpage -%*** this is file PHYSPAGE as of 13.03.86 *** -%*** page numbers and pagesel *** - -\newcount\firstp@ge \firstp@ge=-10000 -\newcount\lastp@ge \lastp@ge=10000 -\outer\def\pagesel#1#2{\global\firstp@ge#1 \global\lastp@ge#2 - \wlog{(* pages #1-#2 selected for printing, - others will be skipped *)}} - -\newbox\pageb@x - -\outer\def\toppagenum{\glet\page@tbn T% - \glet\headb@x\pageb@x \glet\footb@x\voidb@x} -\outer\def\botpagenum{\glet\page@tbn B% - \glet\headb@x\voidb@x \glet\footb@x\pageb@x} -\outer\def\nopagenum{\glet\page@tbn N% - \glet\headb@x\voidb@x \glet\footb@x\voidb@x} - -\outer\def\lefthead{\glet\head@lrac L} -\outer\def\righthead{\glet\head@lrac R} -\outer\def\althead{\glet\head@lrac A} -\outer\def\centhead{\glet\head@lrac C} -\outer\def\leftfoot{\glet\foot@lrac L} -\outer\def\rightfoot{\glet\foot@lrac R} -\outer\def\altfoot{\glet\foot@lrac A} -\outer\def\centfoot{\glet\foot@lrac C} - -\newtoks\lheadtext \newtoks\cheadtext \newtoks\rheadtext -\newtoks\lfoottext \newtoks\cfoottext \newtoks\rfoottext - -\headline={\headlinestyle \head@foot\skip@head\head@lrac - \lheadtext\cheadtext\rheadtext\headb@x} -\footline={\footlinestyle \head@foot\skip@foot\foot@lrac - \lfoottext\cfoottext\rfoottext\footb@x} -\lheadtext={} \cheadtext={} \rheadtext={} -\lfoottext={} \cfoottext={} \rfoottext={} - -\newbox\page@strut -\setbox\page@strut\hbox{\vrule \@height 15mm\@depth 10mm\@width \z@} - -\def\head@foot#1#2#3#4#5#6{\unhcopy\page@strut - \if#1T\hfil \else - \if#2C\head@@foot{\the#3}{\copy#6}{\the#5}\else - \if#2A\ifodd\pageno \let#2R\else \let#2L\fi \fi - \if#2R\head@@foot{\the#4}{\the#5}{\copy#6}\else - \head@@foot{\copy#6}{\the#3}{\the#4}\fi \fi \fi} -\def\head@@foot#1#2#3{\plainrlap{#1}\hfil#2\hfil\plainllap{#3}} - -\let\startpage=\relax % allow input to be read twice - -\outer\def\pageall{\glet\page@ac A% - \global\countdef\pageno\z@ \global\pageno\@ne - \global\countdef\pageno@pref\@ne \gz@\pageno@pref - \glet\page@pref\empty \glet\page@reset\count@ - \glet\chap@break\chskipt \outer\gdef\startpage{\global\pageno}} -\outer\def\pagechap{\glet\page@ac C% - \global\countdef\pageno\@ne \gz@\pageno - \global\countdef\pageno@pref\z@ \gz@\pageno@pref - \gdef\page@pref{\dash@pref}% - \gdef\page@reset{\global\pageno\@ne \global\pageno@pref}% - \glet\chap@break\superendpage - \outer\gdef\startpage##1.{\global\pageno@pref##1\global\pageno}} - -%*** output *** - -\hsize=15 cm \hoffset=0 mm -\vsize=22 cm \voffset=0 mm - -\newdimen\hoffset@corr@p \newdimen\voffset@corr@p -\newdimen\hoffset@corrm@p \newdimen\voffset@corrm@p -\newdimen\hoffset@corr@l \newdimen\voffset@corr@l -\newdimen\hoffset@corrm@l \newdimen\voffset@corrm@l - -\outer\def\portrait{\switch@pl P% - \glet\hoffset@corr\hoffset@corr@p - \glet\voffset@corr\voffset@corr@p - \glet\hoffset@corrm\hoffset@corrm@p - \glet\voffset@corrm\voffset@corrm@p} -\outer\def\landscape{\switch@pl L% - \glet\hoffset@corr\hoffset@corr@l - \glet\voffset@corr\voffset@corr@l - \glet\hoffset@corrm\hoffset@corrm@l - \glet\voffset@corrm\voffset@corrm@l} -\def\switch@pl#1{\if #1\ori@pl \else \superendpage \glet\ori@pl#1% - \dimen@\ht\page@strut \advance\dimen@\dp\page@strut - \advance\vsize\dimen@ \dimen@ii\hsize \global\hsize\vsize - \advance\dimen@ii-\dimen@ \global\vsize\dimen@ii \fi} -\let\ori@pl=P - -\def\m@g{\dimen@\ht\page@strut \advance\dimen@\dp\page@strut - \advance\vsize\dimen@ \divide\vsize\count@ - \multiply\vsize\mag \advance\vsize-\dimen@ - \divide\hsize\count@ \multiply\hsize\mag - \divide\dimen\footins\count@ \multiply\dimen\footins\mag - \mag\count@} - -\output={\physoutput} - -\def\physoutput{\ifvbox\toc@ins \make@toc \fi - \ifnum \pageno<\firstp@ge \skipp@ge \else - \ifnum \pageno>\lastp@ge \skipp@ge \else \shipp@ge \fi \fi - \advancepageno \skippagenum F\skipheadline F\skipfootline F% - \ifnum\outputpenalty>-\@MM \else \dosupereject \fi} - -\def\skippagenum{\glet\skip@page} -\def\skipheadline{\glet\skip@head} -\def\skipfootline{\glet\skip@foot} - -\def\skipp@ge{{\skipuserexit \setbox\z@\box\topins - \setbox\z@\box\footins}\deadcycles\z@} -\def\shipp@ge{\setbox\pageb@x\hbox{% - \if F\skip@page \pagestyle{\page@pref \folio}\fi}% - \dimen@-.5\hsize \advance\dimen@\hoffset@corrm - \divide\dimen@\@m \multiply\dimen@\mag - \advance\hoffset\dimen@ \advance\hoffset\hoffset@corr - \dimen@\ht\page@strut \advance\dimen@\dp\page@strut - \advance\dimen@\vsize \dimen@-.5\dimen@ - \advance\dimen@\voffset@corrm - \divide\dimen@\@m \multiply\dimen@\mag - \advance\voffset\dimen@ \advance\voffset\voffset@corr - \shipout\vbox{\makeheadline \vbadness\@M \setbox\z@\pagebody - \dimen@\dp\z@ \box\z@ \kern-\dimen@ \makefootline}} - -\def\pagecontents{\ifvbox\topins\unvbox\topins\fi - \dimen@=\dp\@cclv \shipuserexit % open up \box255 - \ifvbox\footins % footnote info is present - \vskip\skip\footins \footnoterule \unvbox\footins\fi - \ifr@ggedbottom \kern-\dimen@ \vfil \fi} - -\def\folio{\ifnum\pageno<\z@ \ifcase\langu@ge \MEDIUM{\uppercase - \expandafter{\romannumeral-\pageno}}\else \romannumeral-\pageno \fi - \else \number\pageno \fi} - -\def\makeheadline{\line{\the\headline}\nointerlineskip} -\def\makefootline{\nointerlineskip \line{\the\footline}} - -\skippagenum=F \skipheadline=F \skipfootline=F -%*** end of file PHYSPAGE *** - -\message{title page macros,} - -% \input physchap -%*** this is file PHYSCHAP as of 07.03.86 *** -%*** title page macros *** - -\outer\def\titlepage{\glet\titl@fill\vfil} -\outer\def\notitlepage{\gdef\titl@fill{\vskip20\p@}} - -\newbox\t@pleft \newbox\t@pright -\def\t@pinit{% - \global\setbox\t@pleft\vbox{\hrule \@height\z@ \@width.26\hsize}% - \global\setbox\t@pright\copy\t@pleft} -\t@pinit - -\def\topleft{\t@p\t@pleft} -\def\topright{\t@p\t@pright} -\def\t@p#1#2{\global\setbox#1\vtop{\unvbox#1\hbox{\strut #2}}} - -\outer\def\submit#1{\topleft{\case@language\submittextone}% - \topleft{{#1}\case@language\submittexttwo}} - -\let\pubdate=\topright - -\outer\def\title{\vbox{\line{\box\t@pleft \hss \box\t@pright}}% - \skippagenum T\skipheadline T\skipfootline T% - \t@pinit \titl@fill \vskip\chskiptamount \titl@} -\outer\def\titcon{\unchskip \titl@} -\def\titl@#1{\ctrline{\titlestyle{#1}}\chskipl} - -\def\author#1{\titl@fill{\let\\\cr \tabskip\centering - \halign to\hsize{&\hfil\authorstyle{##}\hfil\crcr#1\crcr}}} -\def\autcon{\and@con \author} - -\def\address#1{\titl@fill{\let\\\cr \tabskip\centering - \halign to\hsize{&\hfil\addressstyle{##}\hfil\crcr#1\crcr}}} -\def\addcon{\and@con \address} - -\def\and@con{\titl@fill \ctrline{\case@language{und\else and}}} - -\def\abstract{\titl@fill \he@d{\case@language\abstracthead}% - \after@arg\titl@fill} - -\def\ack{\chskipt \he@d{\case@language\ackhead}} - -\def\he@d#1{\ctrline{\headstyle{#1}}\chskipl} - -\message{chapters, sections and appendices,} - -%*** label *** - -\newtoks\l@names \l@names={\\\the@label} -\let\the@label=\empty - -\def\label{\num@lett\@label} -\def\@label#1{\def@name\l@names#1{\the@label}} -\def\pagelabel{\num@lett\@pagelabel} -\def\@pagelabel#1{\def@name\l@names#1{??}\wlog{* \noexpand\pagelabel - is not yet implemented, \noexpand#1will be defined as #1 *}} -\def\quote{\num@lett\empty} - -\outer\def\lblrestore{\all@restore\l@names} - -%*** initialization *** - -\let\sect=\relax \let\s@ct=\relax % allow input to be read twice - -\def\chapinit{\chap@init{\chap@pref}\glet\sect@@eq\@chap@sect@eq - \sectinit} -\def\appinit{\chap@init{\char\the\appn@m}\glet\sect@@eq\@chap@eq - \glet\sect@dot@pref\empty \glet\ddot@pref\dot@pref - \glet\sect\undefined} -\def\sectinit{\xdef\sect@dot@pref{\the\sectn@m.}% - \xdef\ddot@pref{\dot@pref\sect@dot@pref}\glet\sect\s@ct} -\def\chap@init#1{\xdef\the@label{#1}\xdef\dot@pref{\the@label.}% - \xdef\dash@pref{\the@label--}\glet\chap@@eq\@chap@eq} - -%*** chap *** - -\newcount\chapn@m \chapn@m=0 - -\outer\def\chappage{\glet\chap@page T} -\outer\def\nochappage{\glet\chap@page F} - -\outer\def\arabicchapnum{\glet\chap@ar A\gdef\chap@pref{\the\chapn@m}} -\outer\def\romanchapnum{\glet\chap@ar R% - \gdef\chap@pref{\uppercase{\romannumeral\chapn@m}}} - -\let\chap=\relax \let\ch@p=\relax % allow input to be read twice - -\outer\def\chapters{\glet\chap@yn Y\glet\chap\ch@p - \chap@init{0}\glet\sect@@eq\@chap@sect@eq \sectinit} -\outer\def\nochapters{\glet\chap@yn N\glet\chap\undefined - \glet\dot@pref\empty \glet\dash@pref\empty - \glet\chap@@eq\@eq \glet\sect@@eq\@sect@eq \sectinit} - -\outer\def\ch@p#1{\if T\chap@page \superendpage \else \chap@break \fi - \g@ne\chapn@m \sect@reset \chapinit \page@reset\chapn@m - \eq@reset \fig@reset \tab@reset - \toks@{\dot@pref}\toks@ii{#1}\chapuserexit - \titl@{\the\toks@\ \the\toks@ii}% - \ifnum\auto@toc>\m@ne \toks@store{#1}\@toc\dot@pref \fi} - -%*** sect *** - -% use \read@store to read (sub-)section titles in case they are used -% in table of contents - -\def\sec@title#1#2#3#4#5#6#7#{\ifx @#7@\g@ne#1\else\global#1#7\fi - #2\secskipt \xdef\the@label{#4\the#1}\xdef#5{\the@label.}% - \bpargroup #3\read@store{\sec@@title#5#6}} -\def\sec@@title#1#2#3{\toks@{\the@label.}\toks@ii\toks@store - #3\varitem{\the\toks@}\the\toks@store - \ifnum\auto@toc>#2\@toc{#1}\fi \par \nobreak} - -\newcount\sectn@m \sectn@m=0 -\def\sect@reset{\gz@\sectn@m} -\outer\def\s@ct{\sec@title\sectn@m - {\secs@reset \sectinit \eq@@reset \fig@@reset \tab@@reset}% - \sectstyle\dot@pref\ddot@pref{\z@\sectuserexit}} - -\newcount\secsn@m \secsn@m=0 -\def\secs@reset{\gz@\secsn@m} -\outer\def\secs{\sec@title\secsn@m\secss@reset - \secsstyle\ddot@pref\secs@pref{\@ne\secsuserexit}} - -\newcount\secssn@m \secssn@m=0 -\def\secss@reset{\gz@\secssn@m} -\outer\def\secss{\sec@title\secssn@m\secsss@reset - \secssstyle\secs@pref\secss@pref{\tw@\secssuserexit}} - -\newcount\secsssn@m \secsssn@m=0 -\def\secsss@reset{\gz@\secsssn@m} -\outer\def\secsss{\sec@title\secsssn@m\secssss@reset - \secsssstyle\secss@pref\secsss@pref{\thr@@\secsssuserexit}} - -\let\secssss@reset=\empty - -\outer\def\subsec#1{\par \noindent \subsecstyle{#1}} - -%*** appendix *** - -\newcount\appn@m \appn@m=64 - -\outer\def\appendix{\if T\chap@page \superendpage \else\chap@break \fi - \g@ne\appn@m \secs@reset \appinit \page@reset\appn@m - \eq@reset \fig@reset \tab@reset \futurelet\n@xt \app@ndix} - -\def\app@ndix{\ifcat\bgroup\noexpand\n@xt \expandafter\@ppendix \else - \expandafter\@ppendix\expandafter\unskip \fi} - -\def\@ppendix#1{\toks@{\case@language\appendixhead~\dot@pref} - \toks@ii{#1}\appuserexit - \titl@{\the\toks@\ \the\toks@ii}% - \ifnum\auto@toc>\m@ne \toks@store{#1}% - \@toc{\case@language\appendixhead\ \dot@pref}\fi} - -\def\app#1{\chskipt \he@d{\case@language\appendixhead\ #1}} -%*** end of file PHYSCHAP *** - -\message{equations,} - -% \input physequ -%*** this is file PHYSEQU as of 20.02.86 *** -%*** quotation of equations, figures, tables and references *** - -\def\num@lett{\cat@lett \num@@lett} -\def\num@@lett#1#2{\egroup #1{#2}} - -\def\num@l@tt{\cat@lett \num@@l@tt} -\def\num@@l@tt#1#{\egroup #1} - -\def\cat@lett{\bgroup - \catcode`\0\l@tter \catcode`\1\l@tter \catcode`\2\l@tter - \catcode`\3\l@tter \catcode`\4\l@tter \catcode`\5\l@tter - \catcode`\6\l@tter \catcode`\7\l@tter \catcode`\8\l@tter - \catcode`\9\l@tter \catcode`\'\l@tter} - -\def\quote@all#1{\hbox{\mathcode`\-"707B$#1$}} -\def\use{\num@lett\@use} -\def\@use{\setbox\z@\hbox} - -%*** equations *** - -\newtoks\e@names \e@names={} -\newcount\eqn@m \eqn@m=0 - -\outer\def\equall{\glet\eq@acs A\glet\eq@pref\empty - \glet\def@eq\@eq \glet\eq@reset\relax \glet\eq@@reset\relax} -\outer\def\equchap{\glet\eq@acs C\gdef\eq@pref{\dot@pref}% - \gdef\def@eq{\chap@@eq}\glet\eq@reset\eqz@ \glet\eq@@reset\relax} -\outer\def\equsect{\glet\eq@acs S\gdef\eq@pref{\ddot@pref}% - \gdef\def@eq{\sect@@eq}\glet\eq@reset\eqz@ \glet\eq@@reset\eqz@} -\def\eqz@{\gz@\eqn@m} - -\outer\def\equfull{\glet\eq@fs F\gdef\eq@@fs{\let\test@eq\full@eq}} -\outer\def\equshort{\glet\eq@fs S\glet\eq@@fs\relax} - -\def\@eq(#1){#1} -\def\@chap@eq{\noexpand\chap@eq\@eq} -\def\@sect@eq{\noexpand\sect@eq\@eq} -\def\@chap@sect@eq{\noexpand\chap@sect@eq\@eq} - -\def\chap@eq{\test@eq\empty\dot@pref} -\def\sect@eq{\test@eq\empty\sect@dot@pref} -\def\chap@sect@eq{\test@eq\sect@eq\dot@pref} -\def\test@eq#1#2#3.{\def\n@xt{#3.}\ifx#2\n@xt \let\n@xt#1\fi \n@xt} -\def\full@eq#1#2{} -\def\short@eq#1#2#3.{#1} - -\outer\def\equleft{\glet\eq@lrn L\glet\eqtag\leqno - \glet\eq@tag\leq@no} -\outer\def\equright{\glet\eq@lrn R\glet\eqtag\eqno - \glet\eq@tag\eq@no} -\outer\def\equnone{\glet\eq@lrn N\glet\eqtag\n@eqno - \glet\eq@tag\neq@no} - -\begingroup - \catcode`\$=\active \catcode`\*=3 \lccode`\*=`\$ - \lowercase{\gdef\n@eqno{\catcode`\$\active - \def$${\egroup **}\setbox\z@\hbox\bgroup}} -\endgroup -\def\eq@no{\llap{$##$}\tabskip\z@skip} -\def\leq@no{\kern-\displaywidth \rlap{$##$}\tabskip\displaywidth} -\def\neq@no{\@use{$##$}\tabskip\z@skip} - -\def\eqalignno{\let\eq@@tag\eq@no \eqalign@tag} -\def\leqalignno{\let\eq@@tag\leq@no \eqalign@tag} -\def\eqaligntag{\let\eq@@tag\eq@tag \eqalign@tag} -\def\eqalign@tag{\afterassignment\eqalign@@tag \@eat} -\def\eqalign@@tag{\displ@y - \tabskip\centering \halign to\displaywidth\n@xt - \hfil$\displaystyle{##}$\tabskip\z@skip - &$\displaystyle{{}##}$\hfil\tabskip\centering - &\span\eq@@tag\crcr} - -\def\fulltag#1{{\let\test@eq\full@eq#1}} -\def\shorttag#1{{\let\test@eq\short@eq#1}} - -\def\eq{\g@ne\eqn@m \make@eq\empty} -\def\make@eq#1{(\eq@pref\the\eqn@m #1)} -\def\EQ{\eq \num@lett\eq@save} -\def\eq@save#1{\def@name\e@names#1{\expandafter\def@eq\make@eq\empty}} - -\def\eqn{\eqtag\eq} -\def\EQN{\eqtag\EQ} - -\def\eqadv{\g@ne\eqn@m} -\def\EQADV{\eqadv \num@lett\eq@save} - -\newcount\seqn@m \seqn@m=96 - -\def\subeqbegin{\global\seqn@m96 \subeq} -\def\SUBEQBEGIN{\global\seqn@m96 \SUBEQ} -\def\subeq{\g@ne\seqn@m \make@eq{\char\seqn@m}} -\def\SUBEQ{\num@lett\@SUBEQ} -\def\@SUBEQ#1{\subeq \def@name\e@names#1{\char\the\seqn@m}} - -\def\subeqnbegin{\eqtag\subeqbegin} -\def\SUBEQNBEGIN{\eqtag\SUBEQBEGIN} -\def\subeqn{\eqtag\subeq} -\def\SUBEQN{\eqtag\SUBEQ} - -\def\eqapp{\num@lett\@eqapp} -\def\@eqapp#1#2{(\fulltag#1#2)} -\def\eqnapp{\eqtag\eqapp} - -\def\queq{\num@lett\@queq} -\def\@queq#1{\quote@all{\eq@@fs(#1)}} -\def\qeq{\case@abbr\eqabbr\queq} -\def\qeqs{\case@abbr\eqsabbr\queq} - -\outer\def\eqrestore{\all@restore\e@names} -%*** end of file PHYSEQU *** - -\message{storage management,} - -% \input physstor -%*** this is file PHYSSTOR as of 28.02.86 *** -%*** storage management for figures, tables, references, *** -%*** table of contents and (possibly) footnotes *** - -% Note: The text for figure captions, table captions, references, -% table of contents and (if applicable) footnotes must be read -% from the input file, i.e. tokenized, via \read@store - -\newtoks\toks@store -\newtoks\file@list \file@list={1234567} - -\begingroup - \let\storebox=\relax \let\refnam=\relax % allow input to be - \let\RFfile=\relax \let\RFext=\relax % read twice - \newhelp\opt@help{The options \string\refnam, \string\RFfile\space - and \string\RFext\space are incompatible with \string\storebox. - Your request will be ignored.} - \global\opt@help=\opt@help % make this definition global - \gdef\opt@err{{\errhelp\opt@help \errmessage{Incompatible options}}} -\endgroup - -% Freeze option \storebox, \storelist or \storefile and eliminate -% code not needed for that option -\begingroup - \let\storebox=\relax \let\storelist=\relax % allow input to be - \let\storefile=\relax \let\RFfile=\relax % read twice - \gdef\case@store{% - \glet\storebox\undefined - \if B\store@blf \glet\storebox\empty \glet\case@store\case@box - \else \glet\box@store\undefined - \glet\box@out\undefined \glet\box@print\undefined - \glet\box@save\undefined \glet\box@kill\undefined \fi - \glet\storelist\undefined - \if L\store@blf \glet\storelist\empty \glet\case@store\case@list - \else \glet\list@store\undefined - \glet\list@out\undefined \glet\list@print\undefined - \glet\list@save\undefined \glet\list@kill\undefined \fi - \glet\storefile\undefined - \if F\store@blf \glet\storefile\empty \glet\case@store\case@file - \else \store@setup - \glet\file@out\undefined \glet\file@print\undefined - \glet\file@save\undefined \glet\file@kill\undefined \fi - \glet\case@box\undefined \glet\case@list\undefined - \glet\case@file\undefined \glet\store@setup\undefined - \case@store} - \gdef\store@setup{\ifx \RFfile\undefined \glet\file@store\undefined - \glet\file@open\undefined \glet\file@close\undefined - \glet\file@wlog\undefined \glet\file@free\undefined - \glet\file@copy\undefined \glet\file@read\undefined \fi} -\endgroup - -\outer\def\storebox{\if L\RF@lfe \if N\ref@sbn \opt@err - \else \glet\store@blf B\fi \else \opt@err \fi} -\outer\def\storelist{\glet\store@blf L} -\outer\def\storefile{\glet\store@blf F} - -\def\read@store{\bgroup \@read@store} -\def\read@@store{\bgroup \catcode`\@\l@tter \@read@store} -\def\@read@store#1{\def\n@xt{\egroup \toks@store\toks@i - #1\ignorespaces}% - \catcode`\^^M\active \afterassignment\n@xt \global\toks@i} -\begingroup - \catcode`\:=\active - \gdef\write@save#1{\s@ve{:restore\@type{#1}{\the\toks@store}}} -\endgroup -\def\f@rm@t#1#2{\bgroup \leftskip\z@skip \rightskip\z@skip \f@rmat - \ifx @#1@\noindent \strut \indent - \else \varitem\@indent{#1}\strut \fi #2\form@t \egroup} -\let\f@rmat=\nointerlineskip -\def\form@t{\unskip \strut \par \@break} - -\def\@store{\case@store\box@store\list@store\file@store} -\def\@sstore#1#2#3{\par \noindent \bgroup \captionstyle - \case@abbr#2#3:\enskip \the\toks@store \egroup \par \@store#1{#3.}} -\def\@add#1{\read@store{\@store#1\empty}} -\def\@out#1#2#3#4#5{\case@store\box@out\list@out\file@out#1\begingroup - \if T#2\let\chap@break\superendpage \fi \chap@break - \chap@init{\case@language#3}% - \if C\page@ac \skippagenum T\fi - \page@reset6#1% - \@style \he@d{\strut\case@language#4}\@break \@print#1% - \ifx\chap@break\superendpage \superendpage \fi - \def\\##1{\glet##1\undefined}\the#5\global#5\emptyt@ks - \endgroup \fi} -\def\@print{\case@store\box@print\list@print\file@print} -\def\@save{\case@store\box@save\list@save\file@save} -\def\@kill{\case@store\box@kill\list@kill\file@kill} - -\def\case@box#1#2#3{\case@@store#1% - \fig@box\tab@box\ref@box\toc@box\foot@box} -\def\case@list#1#2#3{\case@@store#2% - \fig@list\tab@list\ref@list\toc@list\foot@list} -\def\case@file#1#2#3{\case@@store{\expandafter#3}% - \fig@file\tab@file\ref@file\toc@file\foot@file} - -\def\case@@store#1#2#3#4#5#6#7{\ifcase#7% - \toks@{\fig@type#1#2}\or - \toks@{\tab@type#1#3}\or - \toks@{\ref@type#1#4}\or - \toks@{\toc@type#1#5}\or - \toks@{\foot@type#1#6}\fi - \expandafter\let\expandafter\@type\the\toks@} -\def\@style{\csname\@type style\endcsname} -\def\@indent{\csname\@type indent\endcsname} -\def\@break{\csname\@type break\endcsname} - -\def\box@store#1#2{\global\setbox#1\vbox - {\ifvbox#1\unvbox#1\fi \@style \f@rm@t{#2}{\the\toks@store}}} -\def\box@out{\ifvbox} -\def\box@print{\vskip\baselineskip \unvbox} -\begingroup - \catcode`\:=\active \catcode`\;=\active - \gdef\box@save#1{\wlog{; Unable to save text for - \@type's with option :storebox}} -\endgroup -\def\box@kill#1{{\setbox\z@\box#1}} - -\def\list@store#1#2{\toks@\expandafter{#1\\}% - \xdef#1{\the\toks@ {#2}{\the\toks@store}}} -\def\list@out#1{\ifx #1\empty \else} -\def\list@print#1{\let \\\f@rm@t #1\glet#1\empty} -\def\list@save{\def\\##1##2{\toks@store{##2}\write@save{##1}}% - \newlinechar`\^^M} -\def\list@kill#1{\glet#1\empty} - -\begingroup - \catcode`\:=\active - \gdef\file@store#1#2#3#4{\if0#3\expandafter\file@open\the\file@list - \@@#1#2\fi - {\newlinechar`\^^M\immediate\write#2{::{#4}{\the\toks@store}}}} -\endgroup -\def\file@open#1#2\@@#3#4{\immediate\openout#4\jobname.sysut#1% - \gdef#3{#3#4#1}\global\file@list{#2}\file@wlog{open}#1} -\def\file@wlog#1#2{\wlog{#1 \jobname.sysut#2 for \@type's}} -\def\file@out#1#2#3{\if0#3\else} -\def\file@print#1#2#3{\file@close#2#3\let\\\f@rm@t \file@copy#1#2#3} -\def\file@save#1#2#3{\if0#3\else \file@close#2#3% - \def\\##1{\read@store{\expandafter\file@store#1{##1}% - \write@save{##1}}}% - \newlinechar`\^^M\file@copy#1#2#3\fi} -\def\file@kill#1#2#3{\if0#3\else \file@close#2#3\file@free#1#2#3\fi} -\def\file@close#1#2{\immediate\closeout#1\file@wlog{close}#2} -\def\file@copy#1#2#3{\file@free#1#2#3\file@read#3} -\def\file@read#1{\input \jobname.sysut#1 } -\def\file@free#1#2#3{\gdef#1{#1#20}% - \global\file@list\expandafter{\the\file@list#3}} -%*** end of file PHYSSTOR *** - -\message{figures,} - -% \input physfig -%*** this is file PHYSFIG as of 28.02.86 *** -%*** figures and tables *** - -\def\bf@t#1{\bgroup \let\f@t#1\num@l@tt} -\def\ef@t#1#2#3#4#{\ifx @#4@\g@ne#1\xdef\thef@tn@m{#2\the#1}\else - \gdef\thef@tn@m{#4}\fi #3\read@store{\f@t\egroup}} - -%*** figures *** - -\newtoks\f@names \f@names={} -\newcount\fign@m \fign@m=0 -\def\fig@type{fig} -\newbox\fig@box -\let\fig@list=\empty -\newwrite\fig@write \def\fig@file{\fig@file\fig@write0} - -\outer\def\figall{\glet\fig@acs A\glet\fig@pref\empty - \glet\fig@reset\relax \glet\fig@@reset\relax} -\outer\def\figchap{\glet\fig@acs C\gdef\fig@pref{\dot@pref}% - \glet\fig@reset\figz@ \glet\fig@@reset\relax} -\outer\def\figsect{\glet\fig@acs S\gdef\fig@pref{\ddot@pref}% - \glet\fig@reset\figz@ \glet\fig@@reset\figz@} -\def\figz@{\gz@\fign@m} - -\outer\def\figpage{\glet\fig@page T} -\outer\def\nofigpage{\glet\fig@page F} - -\def\fig{\bf@t\fig@\@fig} -\def\FIG{\bf@t\fig@\@FIG} -\def\ffig{\bf@t\ffig@\@fig} -\def\FFIG{\bf@t\ffig@\@FIG} - -\def\@fig{\ef@t\fign@m\fig@pref\relax} -\def\@FIG#1{\ef@t\fign@m\fig@pref{\def@name\f@names#1{\thef@tn@m}}} - -\def\fig@{\@store0{\thef@tn@m .}} -\def\ffig@{\@sstore0\figpref{\thef@tn@m}} -\def\figadd{\@add0} - -\def\qufig{\case@abbr\figabbr\num@lett\quote@all} - -\outer\def\figout{\@out0\fig@page\figpref\fighead\f@names} -\outer\def\figkill{\@kill0} -\outer\def\restorefig#1{\read@store{\@store0{#1}}} -\outer\def\figrestore{\all@restore\f@names} -%*** end of file PHYSFIG *** - -% \input physpict -%*** this is file PHYSPICT as of 19.03.86 *** -%*** picture macros *** - -\newdimen\spictskip \spictskip=2.5pt - -\def\pict{\bf@t\pict@\@fig} -\def\PICT{\bf@t\pict@\@FIG} - -\def\pict@#1{\vskip\the\toks@store \egroup \bpargroup - \raggedright \captionstyle \varitem{\qufig{\thef@tn@m\,}:}% - \let\@spict\spict@ \spacefactor998\ignorespaces} - -\def\spict#1{\ifnum\spacefactor=998\else \parvskip\spictskip \fi - \@spict{#1\enskip}\ignorespaces} -\def\spict@#1{\setbox\z@\hbox{#1}\advance\hangindent\wd\z@ - \box\z@ \let\@spict\llap} - -%*** graphic macros *** - -\outer\def\graphics{\glet\graphic\gr@phic} -\outer\def\nographics{\glet\graphic\nogr@phic} - -\def\gr@phic#1#2#3#4{\hbox\bgroup \setbox\z@\hbox{\special{^X#1^A}}% - \lower#4\copy\z@ \hskip#2\raise#3\box\z@ \egroup} -\def\nogr@phic#1#2#3#4{\hbox\bgroup \write\m@ne{Insert graphic #1}% - \frame{#2}{#3}{#4}\egroup} - -\def\frame#1#2#3{\hbox to#1\bgroup \dimen@#2\dimen@ii#3\vrule\fr@@me - \bgroup \dimen@ii-\dimen@ \fr@me\dimen@ii \hfilneg - \bgroup \dimen@-\dimen@ii \fr@me\dimen@ \vrule\fr@@me \egroup} -\def\fr@me#1{\advance#1.4\p@ \leaders \hrule\fr@@me \hfil \egroup} -\def\fr@@me{\@height\dimen@ \@depth\dimen@ii} -%*** end of file PHYSPICT *** - -\message{tables,} - -% \input phystab -%*** this is file PHYSTAB as of 28.02.86 *** -%*** tables *** - -\newtoks\t@names \t@names={} -\newcount\tabn@m \tabn@m=0 -\def\tab@type{tab} -\newbox\tab@box -\let\tab@list=\empty -\newwrite\tab@write \def\tab@file{\tab@file\tab@write0} - - -\outer\def\taball{\glet\tab@acs A\glet\tab@pref\empty - \glet\tab@reset\relax \glet\tab@@reset\relax} -\outer\def\tabchap{\glet\tab@acs C\gdef\tab@pref{\dot@pref}% - \glet\tab@reset\tabz@ \glet\tab@@reset\relax} -\outer\def\tabsect{\glet\tab@acs S\gdef\tab@pref{\ddot@pref}% - \glet\tab@reset\tabz@ \glet\tab@@reset\tabz@} -\def\tabz@{\gz@\tabn@m} - -\outer\def\tabpage{\glet\tab@page T} -\outer\def\notabpage{\glet\tab@page F} - -\def\tab{\bf@t\tab@\@tab} -\def\TAB{\bf@t\tab@\@TAB} -\def\ttab{\bf@t\ttab@\@tab} -\def\TTAB{\bf@t\ttab@\@TAB} - -\def\@tab{\ef@t\tabn@m\tab@pref\relax} -\def\@TAB#1{\ef@t\tabn@m\tab@pref{\def@name\t@names#1{\thef@tn@m}}} - -\def\tab@{\@store1{\thef@tn@m .}} -\def\ttab@{\@sstore1\tabpref{\thef@tn@m}} -\def\tabadd{\@add1} - -\def\qutab{\case@abbr\tababbr\num@lett\quote@all} - -\outer\def\tabout{\@out1\tab@page\tabpref\tabhead\t@names} -\outer\def\tabkill{\@kill1} -\outer\def\restoretab#1{\read@store{\@store1{#1}}} -\outer\def\tabrestore{\all@restore\t@names} -%*** end of file PHYSTAB *** - -% \input phystabl -%*** this is file PHYSTABL as of 07.03.86 *** -%*** table macro *** - -\newskip\htabskip \htabskip=1em plus 2em minus .5em -\newdimen\vtabskip \vtabskip=2.5pt -\newbox\tab@top \newbox\tab@bot - -\let\@hrule=\hrule -\let\@halign=\halign -\let\@valign=\valign -\let\@span=\span -\let\@omit=\omit - -\def\@@span{\@span\@omit\@span} -\def\@@@span{\@span\@omit\@@span} - -\def\sp@n{\span\@omit\advance\mscount\m@ne} % for multispan - -\def\table#1#{\vbox\bgroup\offinterlineskip - \toks@ii{#1\bgroup \unhcopy\tab@top \unhcopy\tab@bot - ##}\afterassignment\tab@preamble \@eat} - -%*** scan preamble of table - -\def\tab@preamble#1\cr{\let\tab@@vrule\tab@repeat - \let\tab@amp@\empty \let\tab@amp\empty \let\span@\@@span - \toks@{\tab@space#1&\cr}\the\toks@} -\def\tab@space{\tab@test{ }{}\tab@vrule} % blank -\def\tab@vrule{\tab@test\vrule{\tab@add\vrule}% % \vrule - \tab@@vrule} -\def\tab@repeat{\tab@test&{\tab@add&% % & (repeat) - \let\tab@@vrule\tab@template \let\tab@amp@\tab@@amp - \let\tab@amp&\let\span@\@@@span}\tab@template} -\def\tab@template#1&{\tab@add{\@span\tab@amp@ - \tabskip\htabskip&\tab@setup#1&\tabskip\z@skip##}% % <template> - \tab@test\cr{\let\tab@@vrule\tab@exec}\tab@space} % \cr -\def\tab@@amp{&##} - -\def\tab@test#1#2#3{\let\tab@comp= #1\toks@{#2}\let\tab@go#3% - \futurelet\n@xt \tab@@test} -\def\tab@@test{\ifx \tab@comp\n@xt \the\toks@ - \afterassignment\tab@go \expandafter\@eat \else - \expandafter\tab@go \fi} - -\def\tab@add#1{\toks@ii\expandafter{\the\toks@ii#1}} - -%*** execute preamble of table - -\def\tab@exec{\tab@reset\everycr{\tab@body}% - \def\halign{\tab@reset \halign}\def\valign{\tab@reset \valign}% - \def\omit{\@omit \tab@setup}% - \def\n@xt##1{\hbox{\dimen@\ht\strutbox\dimen@ii\dp\strutbox - \advance##1\vtabskip \vrule \@height\dimen@ \@depth\dimen@ii - \@width\z@}}% - \setbox\tab@top\n@xt\dimen@ \setbox\tab@bot\n@xt\dimen@ii - \def\ml##1{\relax % multi - \ifmmode \let\@ml\empty \else \let\@ml$\fi % line - \@ml\vcenter{\hbox\bgroup\unhcopy\tab@top % mode - ##1\unhcopy\tab@bot\egroup}\@ml}% - \def\nl{\egroup\hbox\bgroup\strut}% % new line - \tabskip\z@skip\@halign\the\toks@ii\cr} - -\def\tab@reset{\let\cr\endline \everycr\emptyt@ks - \let\halign\@halign \let\valign\@valign - \let\span\@span \let\omit\@omit} -\def\tab@setup{\relax \iffalse {\fi \let\span\span@ \iffalse }\fi} - -%*** scan and execute body of table - -\def\tab@body{\noalign\bgroup \tab@@body} % scan inside -\def\tab@@body{\futurelet\n@xt \tab@end} % noalign -\def\tab@end{\ifcat\egroup\noexpand\n@xt - \expandafter\egroup \expandafter\egroup \else % } - \expandafter\tab@blank \fi} -\def\tab@blank{\ifcat\space\noexpand\n@xt - \afterassignment\tab@@body \expandafter\@eat \else % blank - \expandafter\tab@hrule \fi} -\def\tab@hrule{\ifx\hrule\n@xt - \def\hrule{\@hrule\egroup \tab@body}\else % \hrule - \expandafter\tab@noalign \fi} -\def\tab@noalign{\ifx\noalign\n@xt - \aftergroup\tab@body \expandafter\@eat@ \else % \noalign - \expandafter\tab@row \fi} -\def\tab@row#1\cr{\toks@ii{\toks@ii{\egroup}% % one row - \tab@item#1&\cr}\the\toks@ii} -\def\tab@item#1&{\tab@add{\tab@amp&}% % one item - \futurelet\n@xt \tab@cr} -\def\tab@cr{\ifx\cr\n@xt - \expandafter\the\expandafter\toks@ii \else % cr - \expandafter\tab@item \fi} -%*** end of file PHYSTABL *** - -\message{references,} - -% \input physref -%*** this is file PHYSREF as of 18.02.86 *** -%*** references *** - -\newtoks\r@names \r@names={} -\newcount\refn@m \refn@m=0 -\newcount\ref@temp -\def\ref@type{ref} -\newbox\ref@box -\let\ref@list=\empty -\newwrite\ref@write \def\ref@file{\ref@file\ref@write0} - -\begingroup \let\refnam=\relax % allow input to be read twice - \newhelp\ref@help{The option \string\refnam\space allows predefined - references only and is incompatible with \string\qref(s). - Your request will be ignored.} - \global\ref@help=\ref@help % make this definition global - \gdef\ref@err{{\errhelp\ref@help \errmessage{Invalid request}}} -\endgroup - -% Freeze option \refsup, \refsqb or \refnam and eliminate -% code not needed for that option -\begingroup - \let\refsup=\relax \let\refsqb=\relax % allow input to be - \let\refnam=\relax % read twice - \gdef\ref@setup{% - \glet\refsup\undefined - \if S\ref@sbn \glet\refsup\empty \glet\therefn@m\suprefn@m \fi - \glet\refsqb\undefined - \if B\ref@sbn \glet\refsqb\empty \glet\therefn@m\sqbrefn@m \fi - \glet\refnam\undefined - \if N\ref@sbn \glet\refnam\empty \glet\the@quref\nam@quref - \glet\@@ref\ref@err \gdef\qref{\ref@err \quref}\glet\qrefs\qref - \glet\RF@def@\RF@def@nam - \glet\RF@find\undefined \glet\RF@search\undefined - \glet\RF@locate\undefined \glet\@RFread\undefined - \glet\qurefsup\ref@err \glet\sup@quref\undefined - \glet\qurefsqb\ref@err \glet\sqb@quref\undefined - \glet\qurefnum\ref@err \glet\num@quref\undefined - \glet\ref@restore\ref@err - \else \gdef\@@ref{\@store2\therefn@m}% - \gdef\qref{\case@abbr\refabbr\num@lett\quote@all}% - \gdef\qrefs{\case@abbr\refsabbr\num@lett\quote@all}% - \glet\RF@def@\RF@def@num \glet\RF@print\undefined - \gdef\ref@restore{\all@restore\r@names}\fi - \glet\nam@quref\undefined - \gdef\quref{\ref@unskip \num@lett\the@quref}% - \glet\RF@def@num\undefined \glet\RF@def@nam\undefined - \gdef\RF@restore{\all@restore\R@names}% - \glet\ref@setup\undefined} -\endgroup - -\outer\def\refsup{\glet\ref@sbn S\global\qurefsup} -\outer\def\refsqb{\glet\ref@sbn B\global\qurefsqb} -\outer\def\refnam{\if B\store@blf \opt@err \else \glet\ref@sbn N\fi} - -\def\qurefsup{\let\the@quref\sup@quref} -\def\qurefsqb{\let\the@quref\sqb@quref} -\def\qurefnum{\let\the@quref\num@quref} - -\outer\def\refpage{\glet\ref@page T} -\outer\def\norefpage{\glet\ref@page F} - -\def\ref{\ref@advance \refend \@ref} -\def\REF{\num@lett\@REF} -\def\@REF#1{\ref@name#1\@ref} -\def\refend{\quref{\the\refn@m}} - -\def\refs{\ref@advance \ref@temp\refn@m \@ref} -\def\REFS{\num@lett\@REFS} -\def\@REFS#1{\ref@name#1\ref@temp\refn@m \@ref} -\def\refscon{\ref@advance \@ref} -\let\REFSCON=\REF -\def\refsend{\quref{\the\ref@temp -\the\refn@m}} - -\def\ref@advance{\ref@unskip \g@ne\refn@m} -\def\ref@name{\ref@@name\r@names} -\def\ref@@name#1#2{\ref@advance \def@name#1#2{\the\refn@m}} -\def\ref@unskip{\ifhmode \unskip \fi} - -\def\suprefn@m{\the\refn@m .} -\def\sqbrefn@m{$\lbrack \the\refn@m \rbrack$} -\def\@ref{\read@store\@@ref} -\def\@@ref{\ref@setup \@@ref} -\def\refadd{\@add2} - -\def\sup@quref#1{\leavevmode \nobreak \quote@all{^{#1}}} -\def\sqb@quref#1{\ \quote@all{\lbrack #1\rbrack}} -\def\num@quref{\ \quote@all} -\def\nam@quref{\@use} -\def\quref{\ref@setup \quref} -\def\qref{\ref@setup \qref} -\def\qrefs{\ref@setup \qrefs} - -\outer\def\refout{{\@out2\ref@page\refpref\refhead\r@names - \let\\\@RFdef \the\R@names \global\R@names\emptyt@ks - \if L\RF@lfe \else \glet\RF@list\empty \gz@\RF@high \fi - \gz@\refn@m}} -\outer\def\refkill{\@kill2} -\outer\def\restoreref#1{\read@@store{\@store2{#1}}} -\outer\def\refrestore{\ref@restore} -\outer\def\RFrestore{\RF@restore} -\def\ref@restore{\ref@setup \ref@restore} -\def\RF@restore{\ref@setup \RF@restore} - -%*** predefined references *** - -\newtoks\R@names \R@names={} -\newcount\RFn@m \newcount\RF@high -\newcount\RFmax \RFmax=50 % maximum number of RF's held in storage -\def\RF@type{RF} -\let\RF@list=\empty -\newwrite\RF@write \def\RF@file{\RF@file\RF@write0} -\let\RF@noc=N - -% Freeze option \RFlist, \RFfile or \RFext and eliminate -% code not needed for that option -\begingroup \let\storefile=\relax % allow input - \let\RFlist=\relax \let\RFfile=\relax % to be read - \let\RFext=\relax \let\RF=\relax % twice - \gdef\@RF{% - \glet\RFlist\undefined - \if L\RF@lfe \glet\RFlist\empty \glet\@RF\@RFlist - \gdef\RF@input{\RF@list}% - \else \glet\@RFlist\undefined \fi - \glet\RFfile\undefined - \if F\RF@lfe \glet\RFfile\empty \glet\@RF\@RFfile - \else \RF@setup - \glet\@RFfile\undefined \glet\@RFcopy\undefined - \glet\RF@store\undefined \glet\RF@copy\undefined - \glet\RF@@input\undefined \fi - \glet\RFext\undefined - \if E\RF@lfe \gdef\RFext##1 {}\glet\@RF\@RFext - \else \glet\@RFext\undefined \fi - \glet\RF@setup\undefined \@RF} - \gdef\RF@setup{\ifx \storefile\undefined \glet\file@store\undefined - \glet\file@open\undefined \glet\file@close\undefined - \glet\file@wlog\undefined \glet\file@free\undefined - \glet\file@copy\undefined \glet\file@read\undefined \fi} -\endgroup - -\outer\def\RFlist{\glet\RF@lfe L} -\outer\def\RFfile{\if B\store@blf \opt@err \else \glet\RF@lfe F\fi} -\outer\def\RFext#1 {\if B\store@blf \opt@err \else - \glet\RF@lfe E\gdef\RF@input{\input#1 }\RF@input \fi} - -\def\@RFdef#1{\gdef#1{\RF@def#1}} -\def\@RF@list#1{\toks@\expandafter{\RF@list\RF@#1}% - \xdef\RF@list{\the\toks@ {\the\toks@store}}} -\def\@RFcopy#1{\RF@store{\noexpand#1}} -\def\RF@store{\let\@type\RF@type \if C\RF@noc \glet\RF@noc N% - \RF@copy \fi \glet\RF@noc O\expandafter\file@store\RF@file} -\def\RF@input{\expandafter\RF@@input\RF@file} -\begingroup \let\RF=\relax % allow input to be read twice - \gdef\RF@copy{{\let\\\RF \let\@RF\@RFcopy - \expandafter\file@copy\RF@file}} - \gdef\RF@@input#1#2#3{\if O\RF@noc \let\@type\RF@type - \file@close#2#3\glet\RF@noc C\fi \let\\\RF \file@read#3} -\endgroup - -\def\RF@def#1{\ref@@name\R@names#1\RF@def@ #1} -\def\RF@def@{\ref@setup \RF@def@} -\def\RF@def@num{\toks@store\expandafter{\expandafter\RF@find - \expandafter{\the\refn@m}}\@@ref} -\def\RF@def@nam{\ifnum\refn@m=\@ne \refadd{\RF@print}\fi} -\def\RF@test#1{\z@} - -\def\RF@print{\let\@RF\@RF@print \let\RF@def\RF@test - \let\RF@first T\RF@input} -\def\@RF@print#1{\ifnum#1>\z@ - \if\RF@first T\let\RF@first F\setbox\z@\lastbox - \else \form@t\f@rmat \noindent \strut \fi - \hangindent\namrefindent \the\toks@store \fi} - -\def\RF@find#1{\RFn@m#1\bgroup \let\RF@def\RF@test - \if L\RF@lfe \else \ifnum\RFn@m<\RF@high \else \RF@search \fi \fi - \let\RF@\RF@locate \RF@list \egroup} - -\def\RF@search{\global\RF@high\RFn@m \global\advance\RF@high\RFmax - \glet\RF@list\empty \let\@RF\@RFread \RF@input} -\def\@RFread#1{\ifnum#1<\RFn@m \else \ifnum#1<\RF@high - \@RF@list#1\fi \fi} -\def\RF@locate#1#2{\ifnum#1=\RFn@m #2\fi} - -\def\@RFlist#1{\@RFdef#1\@RF@list#1} -\def\@RFfile#1{\@RFdef#1\@RFcopy#1} -\let\@RFext=\@RFdef - -\outer\def\RF{\num@lett\RF@} -\def\RF@#1{\ref@unskip \read@store{\@RF#1}} -%*** end of file PHYSREF *** - -% \input physjrnl -%*** this is file PHYSJRNL as of 11.02.86 *** -%*** physics journals *** - -\outer\def\yearpage{\glet\yearpage@yp Y} -\outer\def\pageyear{\glet\yearpage@yp P} - -\def\journal#1{{\journalstyle{#1}}\j@urnal{}} -\def\journalp#1{{\journalstyle{#1}}\j@urnal} -\def\journalf#1#2#3({{\journalstyle{#1}}\j@urnal{#3}#2(} - -\def\j@urnal#1#2(#3)#4*{\unskip - \ {\volumestyle{#1\ifx @#1@\else\ifx @#2@\else - \kern.2em\fi \fi#2}}\unskip - \ifx @#3@\else\ifx @#4@ (#3)\else\if Y\yearpage@yp\ (#3) #4\else - , #4 (#3)\fi \fi \fi} - -\def\Lett{Lett.\ } -\def\Math{Math.\ } -\def\Nucl{Nucl.\ } -\def\Phys{Phys.\ } -\def\Rev{Rev.\ } - -\def\NPA{\journalp{\Nucl\Phys}A} -\def\NPB{\journalp{\Nucl\Phys}B} -\def\PLA{\journalf{\Phys\Lett}A} -\def\PLB{\journalf{\Phys\Lett}B} -\def\PR{\journal{\Phys\Rev}} -\def\PRA{\journalp{\Phys\Rev}A} -\def\PRB{\journalp{\Phys\Rev}B} -\def\PRC{\journalp{\Phys\Rev}C} -\def\PRD{\journalp{\Phys\Rev}D} -\def\PRL{\journal{\Phys\Rev\Lett}} -%*** end of file PHYSJRNL *** - -\message{table of contents,} - -% \input phystoc -%*** this is file PHYSTOC as of 03.03.86 *** -%*** table of contents *** - -\newinsert\toc@ins -\count\toc@ins=0 \dimen\toc@ins=\maxdimen \skip\toc@ins=0pt -\newcount\auto@toc \auto@toc=-1 -\let\toc@saved\empty - -\def\toc@type{toc} -\newbox\toc@box -\let\toc@list=\empty -\newwrite\toc@write \def\toc@file{\toc@file\toc@write0} - -\outer\def\tocpage{\glet\toc@page T} -\outer\def\notocpage{\glet\toc@page F} - -\outer\def\tocnone{\gm@ne\auto@toc} -\outer\def\tocchap{\gz@\auto@toc} -\outer\def\tocsect{\global\auto@toc\@ne} -\outer\def\tocsecs{\global\auto@toc\tw@} -\outer\def\tocsecss{\global\auto@toc\thr@@} -\outer\def\tocsecsss{\global\auto@toc\f@ur} - -\def\toc#1{\read@store{\@toc{#1}}} -\def\tocadd{\toc\empty} -\def\@toc#1{\insert\toc@ins{\vbox{}}% - \toks@\expandafter{\toc@saved}% - \xdef\toc@saved{\the\toks@{#1}{\the\toks@store}}} - -\def\make@toc{\setbox\z@\vbox{\unvbox\toc@ins - \loop \setbox\z@\lastbox \ifvbox\z@ - \expandafter\make@@toc\toc@saved\@@ \repeat}} -\def\make@@toc#1#2{\toks@store{#2}\def\n@xt{#1}\ifx\n@xt\empty \else - \edef\n@xt{\the\toks@store\noexpand\toc@fill\page@pref\folio}% - \toks@store\expandafter{\n@xt}\fi \@store3{#1}\make@@@toc} -\def\make@@@toc#1\@@{\gdef\toc@saved{#1}} -\def\toc@fill{\rightskip4em\parfillskip-\rightskip - \leaders\hbox to1em{\hss.\hss}\hfil} - -\outer\def\tocout{\@out3\toc@page\tocpref\tochead\emptyt@ks} -\outer\def\tockill{\@kill3} -\outer\def\restoretoc#1{\read@@store{\@store3{#1}}} -%*** end of file PHYSTOC *** - -\message{footnotes,} - -% \input physfoot -%*** this is file PHYSFOOT as of 17.03.86 *** -%*** footnotes *** - -\newcount\footn@m \footn@m=0 -\def\foot@type{foot} -\newbox\foot@box -\let\foot@list=\empty -\newwrite\foot@write \def\foot@file{\foot@file\foot@write0} - -\outer\def\footsqb{\glet\foot@bp B\glet\thefootn@m\sqbfootn@m} -\outer\def\footpar{\glet\foot@bp P\glet\thefootn@m\parfootn@m} - -\outer\def\footbot{\glet\foot@be B\glet\vfootnote\vfootn@te} -\outer\def\footend{\glet\foot@be E\glet\vfootnote\foot@store} - -\outer\def\footpage{\glet\foot@page T} -\outer\def\nofootpage{\glet\foot@page F} - -\def\sqbfootn@m{\lbrack \the\footn@m \rbrack} -\def\parfootn@m{\the\footn@m )} - -\def\foot{\hfoot \vfootnote\footid} -\def\hfoot{\g@ne\footn@m \edef\n@xt{{$^{\thefootn@m}$}}% - \expandafter\hfootnote\n@xt} -\def\footnote#1{\hfootnote{#1}\vfootnote\footid} -\def\hfootnote#1{\let\@sf\empty - \ifhmode\unskip\edef\@sf{\spacefactor\the\spacefactor}\/\fi - #1\@sf \gdef\footid{#1}} -\def\vfootn@te#1{\insert\footins\bgroup \footstyle - \interlinepenalty\interfootnotelinepenalty - \baselineskip\footnotebaselineskip - \splittopskip\interfootnoteskip % top baseline for broken footnotes - \splitmaxdepth\dp\strutbox \floatingpenalty\@MM - \leftskip.05\hsize \rightskip\z@skip - \spaceskip\z@skip \xspaceskip\z@skip - \noindent \llap{#1}\footstrut \after@arg\@foot} -\let\fo@t=\undefined -\let\f@@t=\undefined -\let\f@t=\undefined - -\def\foot@store#1{\read@store{\@store4{#1}}} -\def\footadd{\@add4} - -\outer\def\footout{\@out4\foot@page\footpref\foothead\emptyt@ks} -\outer\def\footkill{\@kill4} -\outer\def\restorefoot#1{\read@store{\@store4{#1}}} -%*** end of file PHYSFOOT *** - -\message{items and points,} - -% \input physitem -%*** this is file PHYSITEM as of 21.02.86 *** -%*** item *** - -\let\plainitem=\item % rename \item from PLAIN - -\def\varitem{\afterassignment\v@ritem \setbox\z@\hbox} -\def\v@ritem{\hss \bgroup \aftergroup\v@@ritem} -\def\v@@ritem{\enskip \egroup \endgraf \noindent - \hangindent\wd\z@ \box\z@ \ignorespaces} - -\def\bpargroup{\bgroup \def\par{\endgraf - \edef\n@xt{\egroup \prevdepth\the\prevdepth}\n@xt}} - -\def\hvskip{\afterassignment\h@vskip \skip@} -\def\h@vskip{\unskip\nobreak \vadjust{\vskip\skip@}\lb \ignorespaces} - -\def\parvskip{\bgroup \afterassignment\par@vskip \parskip} -\def\par@vskip{\parindent\hangindent \endgraf \indent \egroup - \ignorespaces} - -\def\item{\varitem to2.5em} -\def\sitem{\varitem to4.5em} -\def\ssitem{\varitem to6.5em} - -\def\itemcon{\item{}} -\def\sitemcon{\sitem{}} -\def\ssitemcon{\ssitem{}} - -%*** point *** - -\newcount\pointn@m \pointn@m=0 -\def\pointbegin{\gz@\pointn@m \point} -\def\point{\g@ne\pointn@m - \xdef\the@label{\the\pointn@m}\item{\the@label.}} - -\newcount\spointn@m \spointn@m=96 -\def\spointbegin{\global\spointn@m96 \spoint} -\def\spoint{\g@ne\spointn@m - \xdef\the@label{\char\the\spointn@m}\sitem{(\the@label)}} - -\newcount\sspointn@m \sspointn@m=0 -\def\sspointbegin{\gz@\sspointn@m \sspoint} -\def\sspoint{\g@ne\sspointn@m - \xdef\the@label{\romannumeral\sspointn@m}\ssitem{\the@label)}} - -\let\pointcon=\itemcon -\let\spointcon=\sitemcon -\let\sspointcon=\ssitemcon - -%*** bull-, star- and dashitem *** - -\def\bullitem{\item{$\bullet $}} -\def\staritem{\item{$\ast $}} -\def\dashitem{\item{---}} -\def\sbullitem{\sitem{$\bullet $}} -\def\sstaritem{\sitem{$\ast $ }} -\def\sdashitem{\sitem{---}} -\def\ssbullitem{\ssitem{$\bullet $}} -\def\ssstaritem{\ssitem{$\ast $ }} -\def\ssdashitem{\ssitem{---}} -%*** end of file PHYSITEM *** - -\message{matrices and additional math symbols,} - -% \input physmath -%*** this is file PHYSMATH as of 21.02.86 *** -%*** matrices *** - -\def\matc{\let\mat@lfil\hfil \let\mat@rfil\hfil} -\def\matl{\let\mat@lfil\relax \let\mat@rfil\hfil} -\def\matr{\let\mat@lfil\hfil \let\mat@rfil\relax} - -\def\matrix#1{\,\vcenter{\normalbaselines\m@th - \ialign{$\mat@lfil##\mat@rfil$&&\quad$\mat@lfil##\mat@rfil$\crcr - \mathstrut\crcr\noalign{\kern-\baselineskip}% - #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,} - -\def\bordermatrix#1{\begingroup \m@th - \setbox\z@\vbox{% - \def\cr{\crcr\noalign{\kern2\p@\glet\cr\endline}}% - \ialign{$##\hfil$\kern2\p@\kern\p@renwd&\thinspace$\mat@lfil##% - \mat@rfil$&&\quad$\mat@lfil##\mat@rfil$\crcr - \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}% - #1\crcr\omit\strut\cr}}% - \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}% - \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}% - \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne - \global\setbox\@ne\vbox{\box\@ne\kern2\p@}% - \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}% - \;\vbox{\kern\ht\@ne\box\tw@}\endgroup} - -\let\mat=\pmatrix - -%*** additional math symbols *** - -\mathchardef\smallsum="1006 -\mathchardef\smallprod="1005 - -\def\b@mmode{\relax\ifmmode\else - \hbox\bgroup$\def\e@mmode{$\egroup}\fi} -\let\e@mmode=\empty - -\def\{{\b@mmode \lbrace \e@mmode} -\def\}{\b@mmode \rbrace \e@mmode} - -\def\,{\b@mmode \mskip\thinmuskip \e@mmode} -\def\>{\b@mmode \mskip\medmuskip \e@mmode} -\def\;{\b@mmode \mskip\thickmuskip \e@mmode} - -\def\Mit#1{\b@mmode \mit#1\e@mmode} -\def\Cal#1{\b@mmode \cal\uppercase\expandafter{#1}\e@mmode} - -\def\dotii#1{{\mathop{#1}\limits^{\vbox to -1.4\p@{\kern-2\p@ - \hbox{\tenrm..}\vss}}}} -\def\dotiii#1{{\mathop{#1}\limits^{\vbox to -1.4\p@{\kern-2\p@ - \hbox{\tenrm...}\vss}}}} -\def\dotiv#1{{\mathop{#1}\limits^{\vbox to -1.4\p@{\kern-2\p@ - \hbox{\tenrm....}\vss}}}} - -\let\vecsymbol\rightarrow -\let\barsymbol - -\mathchardef\tildesymbol="0218 -\def\hatsymbol{{\mathchoice{\null}{\null}{\,\,\hbox{\lower 10\p@\hbox - {$\widehat{\null}$}}}{\,\hbox{\lower 20\p@\hbox - {$\hat{\null}$}}}}} -\def\dotiisymbol{{\nonscript\,\hbox{\tenrm..}}} -\def\dotiiisymbol{{\nonscript\,\hbox{\tenrm...}}} -\def\dotivsymbol{{\nonscript\,\hbox{\tenrm....}}} -\def\dotsymbol{{\nonscript\,\hbox{\tenrm.}}} - -%*** mathematical statements *** - -\def\adv@stmt#1#2#3#4{\par\noindent\bpargroup\stmttitlestyle - \count@\ifx#2#3#1 \else\z@ \glet#2#3\fi \advance\count@\@ne - \xdef#1{\the\count@}\edef\the@label{#4#1}} - -\def\make@stmt{\ \the@label \make@@stmt} -{\catcode`\:\active - \gdef\make@@stmt{\ \catcode`\:\active \let:\end@stmt} -} -\def\end@stmt{\catcode`\:\@ther \unskip :\stmtstyle - \enskip \ignorespaces} - -\def\defstmt#1#2#3{\toks@{#2}{\edef\n@xt{\csname#1@stmt@adv\endcsname - \the\toks@ \noexpand\make@stmt}% - \expandafter\glet\csname#1\endcsname\n@xt \def@stmt{#1@stmt@}#3@}} -\def\def@stmt#1#2#3@{\if#2=\edef\n@xt{\expandafter\noexpand - \csname#3@stmt@adv\endcsname}\else - \toks@{\empty}\toks@ii\toks@ \if#2c\toks@{\dot@pref}\fi - \if#2s\toks@{\ddot@pref}\if#3c\toks@ii{\sect@dot@pref}\fi \fi - \if#3a\toks@ii\toks@ \fi - \edef\n@xt{\noexpand\adv@stmt \csname#1num\endcsname - \csname#1save\endcsname \the\toks@ \the\toks@ii}\fi - \expandafter\glet\csname#1adv\endcsname\n@xt} - -\def\Prf{\par\noindent\bpargroup\prftitlestyle \case@language\prfhead - \let\stmtstyle\prfstyle \make@@stmt} -%*** end of file PHYSMATH *** - -\message{save, restore and start macros,} - -% \input physsave -%*** this is file PHYSSAVE as of 05.03.86 *** -%*** save and restore *** - -\def\save@type{.texsave } % file type for save and restore -\newread\test@read -\newwrite\save@write - -\def\s@ve{\immediate\write\save@write} -\begingroup \catcode`\:=\active \catcode`\;=\active - \outer\gdef\save#1 {{\let\,\space - \immediate\openout\save@write#1\save@type - \s@ve{;* definitions for :restore #1 \date\space- \thetime\space*}% - \s@ve{:comment}% - \s@ve{:\case@language{german\else english}}\save@page \save@chap - \save@equ \save@fig \save@tab \save@ref \save@toc \save@foot - \bgroup \def\n@xt##1.##2{\advance##2\@ne \s@ve{:start##1\the##2}}% - \n@xt chap.\chapn@m \n@xt sect.\sectn@m - \n@xt appendix.\appn@m \n@xt equ.\eqn@m - \n@xt fig.\fign@m \n@xt tab.\tabn@m - \n@xt ref.\refn@m \n@xt foot.\footn@m \egroup - \s@ve{:\ifx\chap@@eq\sect@@eq app\else - \ifnum\chapn@m=\z@ sect\else chap\fi \fi init}% - \@save0\@save1\@save2\@save3\@save4% - \save@restore ref \r@names \save@restore RF \R@names - \s@ve{:endcomment}% - \save@restore lbl \l@names \save@restore eq \e@names - \save@restore fig \f@names \save@restore tab \t@names - \s@ve{;* end of definitions *}\immediate\closeout\save@write - }\wlog{* file #1\save@type saved *}} - \gdef\save@restore#1 {\def\\{\s@ve{:#1restore}% - \let\\\save@@restore \\}\the} - \gdef\save@@restore#1{\toks@\expandafter{#1}% - \s@ve{:dorestore\string#1{\the\toks@}}} - \gdef\save@page{\s@ve{:\@opt\page@tbn Ttop Bbot Nno *pagenum% - :\@opt\head@lrac Llef Rrigh Aal Ccen *thead% - :\@opt\foot@lrac Llef Rrigh Aal Ccen *tfoot% - :page\@opt\page@ac Aall Cchap *% - :\@opt\ori@pl Pportrait Llandscape *}% - \s@ve{:startpage\@opt\page@ac C\the\pageno@pref. *\the\pageno}} - \gdef\save@chap{\s@ve{:\@opt\chap@page Fno *chappage% - :\@opt\chap@yn Nno *chapters% - :\@opt\chap@ar Aarabic Rroman *chapnum}} - \gdef\save@equ{\s@ve{:equ\@opt\eq@acs Aall Cchap Ssect *% - :equ\@opt\eq@lrn Lleft Rright Nnone *% - :equ\@opt\eq@fs Ffull Sshort *}} - \gdef\save@fig{\s@ve{:\@opt\fig@page Fno *figpage% - :fig\@opt\fig@acs Aall Cchap Ssect *}} - \gdef\save@tab{\s@ve{:\@opt\tab@page Fno *tabpage% - :tab\@opt\tab@acs Aall Cchap Ssect *}} - \gdef\save@ref{\s@ve{:\@opt\ref@page Fno *refpage% - :ref\@opt\ref@sbn Ssup Bsqb Nnam *% - :\@opt\yearpage@yp Yyearpage Ppageyear *}} - \gdef\save@toc{\s@ve{:\@opt\toc@page Fno *tocpage% - :toc\ifcase\auto@toc chap\or - sect\or secs\or secss\or secsss\else none\fi}} - \gdef\save@foot{\s@ve{:\@opt\foot@page Fno *footpage% - :foot\@opt\foot@be Bbot Eend *% - :foot\@opt\foot@bp Bsqb Ppar *}} -\endgroup -\def\@opt#1#2#3 #4{\if #1#2#3\fi \if #4*\else - \expandafter\@opt\expandafter#1\expandafter#4\fi} - -\begingroup \let\comment=\relax - \outer\gdef\restore{\@kill0\@kill1\@kill2\@kill3\@kill4% - {\def\\##1{\glet##1\undefined}% - \def\n@xt##1{\the##1\global##1\emptyt@ks}% - \n@xt\l@names \n@xt\e@names \n@xt\f@names \n@xt\t@names - \n@xt\r@names \let\\\@RFdef \n@xt\R@names} - \bgroup \let\comment\relax \@restore} -\endgroup -\def\crossrestore#1 {\bgroup \openin\test@read#1\save@type - \ifeof\test@read \let\n@xt\egroup - \message{* file #1\save@type missing *}\else - \def\n@xt{\@restore#1 }\closein\test@read \fi \n@xt} -\def\@restore#1 {\input #1\save@type \egroup} -\def\all@restore{\glet\name@list} -\outer\def\dorestore{\bgroup \catcode`\@\l@tter \num@lett\d@restore} -\def\d@restore#1#2{\egroup \toks@{#2}\def@name\name@list#1{\the\toks@}} - -\def\def@name#1#2{\let\name@list#1\add@name#2\xdef#2} -\def\del@name#1{\bgroup - \def\n@xt##1\\#1##2\\#1##3\@@##4{\global##4{##1##2}}% - \def\del@@name##1{\expandafter\n@xt\the##1\\#1\\#1\@@##1}% - \del@@name\l@names \del@@name\e@names \del@@name\f@names - \del@@name\t@names \del@@name\r@names \del@@name\R@names \egroup} -\def\add@name#1{\del@name#1% - {\global\name@list\expandafter{\the\name@list\\#1}}} - -\def\kill{\num@lett\@k@ll} -\def\@k@ll#1{\def\k@ll##1{\ifx##1\k@ll \let\k@ll\relax \else - \del@name##1\glet##1\undefined \fi \k@ll}\k@ll#1\k@ll} - -%*** start macros *** - -\outer\def\startchap{\st@rt\chapn@m} -\outer\def\startsect{\st@rt\sectn@m} -\outer\def\startappendix{\st@rt\appn@m} -\outer\def\startequ{\st@rt\eqn@m} -\outer\def\startfig{\st@rt\fign@m} -\outer\def\starttab{\st@rt\tabn@m} -\outer\def\startref{\st@rt\refn@m} -\outer\def\startfoot{\st@rt\footn@m} - -\def\st@rt#1{\gm@ne#1 \global\advance#1} -%*** end of file PHYSSAVE *** - -\message{installation dependent parameters,} - -% \input physinst -%*** this is file PHYSINST as of 13.03.86 *** -%*** installation dependent parameters *** - -%*** \hoffset@corr, \hoffset@corrm, \voffset@corr and \voffset@corrm -% are corrections to \hoffset and \voffset chosen such that -% the output pages are centered correctly on the paper. - -%*** the values used are: -% \hoffset@corr@p etc. for the portrait format are -% \hoffset@corr@l etc. for the landscape format are - -\hoffset@corr@p=86mm \voffset@corr@p=98mm % absolute -\hoffset@corrm@p=-5mm \voffset@corrm@p=4mm % magnified -\hoffset@corr@l=134mm \voffset@corr@l=70mm % absolute -\hoffset@corrm@l=-5mm \voffset@corrm@l=-4mm % magnified -%*** end of file PHYSINST *** - -\catcode`\@=12 % @ signs are no longer letters - -\message{and default options.} - -%*** default options *** - -%\twelvepoint % 12pt, 10pt and 8pt fonts -%\doublespace % medium spacing between lines - -\hbadness=2000 % to avoid too many underfull hbox messages - -\english % headings in english language (default for PHYSE) - -\botpagenum % page numbers at bottom of page -\centhead % headlines not alternating, - % page numbers (if any) centered -\centfoot % footlines not alternating, - % page numbers (if any) centered -\pageall % pages numbered thoughout the paper -\portrait % portrait orientation ( vsize > hsize ) -\titlepage % title etc. on a separate page (e.g. preprint) -\nochappage % chapters and appendices not on separate pages -\arabicchapnum % arabic chapter numbers -\chapters % paper has chapters -\equchap % equations numbered per chapter and appendix -\equshort % equation numbers quoted in abbreviated form -\equright % equation numbers on right side -\storelist % figure captions etc. stored in lists (macros) -\figall % figures numbered throughout the paper -\figpage % figure captions on a separate page -\nographics % graphic yields an empty frame -\taball % tables numbered throughout the paper -\tabpage % table captions on a separate page -\refsup % quotations of references as superscripts -\refpage % references on a separate page -\RFlist % predefined ref's stored in list (macros) -\yearpage % journals quoted in the form `vol (year) page' -\tocpage % table of contents on a separate page -\tocnone % no automatic entries in toc -\footsqb % footnote numbers in square brackets -\footbot % footnotes at bottom of page (as footnotes) -\footpage % footnotes on a separate page (for \footend only) -\matc % matrix elements are centered - -\wlog{summary of allocations:} -\wlog{last count=\number\count10 } -\wlog{last dimen=\number\count11 } -\wlog{last skip=\number\count12 } -\wlog{last muskip=\number\count13 } -\wlog{last box=\number\count14 } -\wlog{last toks=\number\count15 } -\wlog{last read=\number\count16 } -\wlog{last write=\number\count17 } -\wlog{last fam=\number\count18 } -\wlog{last insert=\number\count19 } - -%*** make sure the file physupdt with corrections and updates -% is read by the user - -\let\physpar=\par -\def\resetpar{\glet\par\physpar \glet\physpar\undefined - \glet\resetpar\undefined} -\def\par{\begingroup - \errhelp{You should have used the command `\input physupdt' to read - the corrections and updates to the current version of PHYS(E)}% - \errmessage{file physupdt missing}\endgroup \resetpar \par}% -% -%*** no more blank lines until physupdt is read !! -% -\def\fmtname{phys} -\def\fmtversion{1.0} % identifies the current format -%*** end of file PHYSORG *** -\english % default language for headings etc. is english -%\dump -%*** end of file PHYSE *** diff --git a/macros/physe/physupdt.tex b/macros/physe/physupdt.tex deleted file mode 100644 index 3f69f53326..0000000000 --- a/macros/physe/physupdt.tex +++ /dev/null @@ -1,109 +0,0 @@ -%*** this is file PHYSUPDT as of 1988.04.06 *** -%*** modifications and updates to PHYS-TeX version 1.0 *** -% -%*** make sure this file is read once and only once !! -% -\ifx\resetpar\undefined - \wlog{* don't read the file physupdt twice !! *}% - \expandafter\endinput\fi -\resetpar % restore definition of \par - -\def\fmtupdt{1.3.0} % identifies the current update version - -\wlog{* modifications and updates as of 1988.04.11 *} - -\ifx\userid\undefined \def\userid{YOUR~USERID}\fi - -\def\wlog#1{} % suppress allocation messages -\catcode`\@=11 - -%*** physorg *** - -%*** physmain *** - -%*** physfont *** - -%*** load am... or cm... fonts according to PLAIN's selection *** - -%\font\sevensl=\font@sel sl7 %not included in physe (check for TFM first) - -%*** sizes *** - -\def\modtwelvepoint{\modtwelve@point - \let\normal@spacing\twelve@spacing \set@spacing - \let\big=\modtwelvebig \let\Big=\modtwelveBig - \let\bigg=\modtwelvebigg \let\Bigg=\modtwelveBigg} -\def\modtwelvebig#1{{\hbox{$\left#1\vbox to9.5\p@{}\right.\n@space$}}} -\def\modtwelveBig#1{{\hbox{$\left#1\vbox to12.5\p@{}\right.\n@space$}}} -\def\modtwelvebigg#1{{\hbox{$\left#1\vbox to15.5\p@{}\right.\n@space$}}} -\def\modtwelveBigg#1{{\hbox{$\left#1\vbox to18.5\p@{}\right.\n@space$}}} - -%*** fonts for sizes *** - -\def\modtwelve@point{\set@fonts twelve nine eight } %let 8 ->7 if tfm's avail. - -%*** macros for sizes *** - -\def\modlarge{\par \bgroup \modtwelvepoint \after@arg\@size} -\def\MODLARGE#1{{\modtwelve@point #1}} - -%*** phystext *** - -%*** physpage *** - -%*** physchap *** - -%*** physequ *** - -%*** physstor *** - -%*** physfig *** - -%*** physpict *** - -%*** ProPLOT macros *** - -\outer\def\ProPLOTfigs{\glet\ProPLOTpfig\pr@pfig \glet\ProPLOTlfig\pr@lfig} -\outer\def\noProPLOTfigs{\glet\ProPLOTpfig\nopr@fig \glet\ProPLOTlfig\nopr@fig} - -\def\pr@pfig#1#2#3#4{\hbox\bgroup \setbox\z@\hbox{\special{ps: plotfile #1}} - \dimen\z@=#3 \advance\dimen\z@ by #4 \wd\z@=#2 \ht\z@=\dimen\z@ \dp\z@=\z@ - \lower#4\box\z@ \egroup} -\def\pr@lfig#1#2#3#4{\hbox\bgroup \setbox\z@\null - \dimen\z@=#3 \advance\dimen\z@ by #4 \wd\z@=#2 \ht\z@=#3 \dp\z@=#4 \box\z@ - \wd\z@=\z@ \setbox\z@\hbox{\special{ps: plotfile #1}} \lower#4\box\z@ \egroup} -%\def\pr@fig#1#2#3#4{\hbox\bgroup \setbox\z@\hbox{\special{ps: plotfile #1}}% -% \lower#4\copy\z@ \hskip#2\raise#3\box\z@ \egroup} -\def\nopr@fig#1#2#3#4{\hbox\bgroup \write\m@ne{Insert ProPLOT Output File: #1}% - \frame{#2}{#3}{#4}\egroup} - -\ProPLOTfigs %set the default - -%*** phystab *** - -%*** phystabl *** - -%*** physref *** - -%*** physjrnl *** - -%*** phystoc *** - -%*** physfoot *** - -%*** physitem *** - -%*** physmath *** - -%*** physsave *** - -\def\save@type{.sav } % file type for save and restore - % modified from .texsave to .sav for PC use -%*** physinst *** - -%*** physorg (options which must be set after defining macros) *** - - -\def\wlog{\immediate\write\m@ne} % restore PLAIN's definition -\catcode`\@=12 % @ signs are no longer letters -%*** end of file PHYSUPDT *** diff --git a/macros/phyzzx/myphyx.tex b/macros/phyzzx/myphyx.tex deleted file mode 100644 index fc03f94b58..0000000000 --- a/macros/phyzzx/myphyx.tex +++ /dev/null @@ -1,288 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% MYPHYX for TEX Version 2.9 -- created 12/15/88 -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\def\MYHEAD{\setbox0=\vtop{\baselineskip=10pt - \ialign{\eightrm ##\hfil\cr - \slacbin\cr - P.~O.~Box 4349\cr - Stanford, CA 94309\cropen{1\jot} - (415) 926--4423\cr - SHARON at SLACVM\cr}}% - \setbox2=\hbox{\caps Stanford Linear Accelerator Center}% - \hrule height 0pt \kern -0.5in - \vbox to 0pt{\vss\centerline{\seventeenrm STANFORD UNIVERSITY}} - \vbox{} \medskip - \line{\hbox to 0.7\hsize{\hss \lower 10pt \box2 \hfill }\hfil - \hbox to 0.25\hsize{\box0 \hfil }}\medskip } - - \def\myletter{\let\letterhead=\MYHEAD \letter} - \def\binno{81} - \def\slacext{2266} - \def\half{\hbox{${1\over 2}\,$}} - \def\etal{{\it et al.}} - - \def\bar#1{\overline{#1}} - \def\kbar{{\mathchar'26\mskip-9muk}} - \def\pbar{{\rlap/p}} - \def\ubar{\bar{u}} - \def\dbar{\bar{d}} - - \def\str{\penalty-10000\hfilneg\ } % line break with right adjust - \def\Str{\penalty-10000\hfilneg\ } % line break with right adjust - \def\nostr{\hfill\penalty-10000\ } % line break with ragged right - \let\brk=\nextline - \def\|{\vrule height 16pt depth 6 pt} - -\def\ZZ{\hbox{$\not\kern0.15em\not\kern-0.21em\lower0.2em - \vbox{\hrule width 0.52em height 0.06em depth 0pt} - \kern-0.50em\raise0.7em - \vbox{\hrule width 0.52em height 0.06em depth 0pt}$}} - -\def\frac#1/#2{\leavevmode\kern.1em\raise.5ex\hbox{\the\scriptfont0 - #1}\kern-.1em/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}} - -% \frac3/4 gives you a very nice 3/4 - slanted. - - \def\IR{{$\rm I\!R$}} - \def\lozenge{\boxit{\hbox to 1.5pt{ - \vrule height 1pt width 0pt \hfill}}} - - \def\Buildrel#1\under#2{\mathrel{\mathop{#2}\limits_{#1}}} - \def\simZ{{\Buildrel \sim \under Z}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% This macro inserts pictures (and, more generally, \vbox es) neatly -% into the MIDDLE of a paragraph. -% --- #1 should be a \vbox --- -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - \def\pix#1{\vadjust{\vbox{\kern 1.0cm #1 \kern 1.0cm}}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% These macros insert (\vbox es) using respectively \topinsert and -% \pageinsert. Since these macros put you into vertical mode, -% they should only be called BETWEEN paragraphs. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - \def\tpix#1{\topinsert #1 \endinsert} - \def\ppix#1{\pageinsert #1 \endinsert} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% To define a \vbox for an inserted figure, use the following command: -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% \Picture\CompEP\height=4.125in \width=\hsize\caption{\narrower -% The caption goes here.} -% \savepicture\FigureOne -% (\Picture calls \FIG and assigns the figure the caption -% indicated and the figure number \CompEP. It also -% creates a \vbox of the right size for a picture -% of the indicated height, and \savepicture assigns this -% to the macro \FigureOne.) -% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% TWO LINE MACRO (used in tables) -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\twoline#1:#2#3{\vtop{\hbox to #1{\hss \strut #2 \hss} - \hbox to #1{\hss \strut #3 \hss}}} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Three nice dots left to right moving upward. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\def\mddots{\mathinner{\mskip1mu\raise1pt\hbox{.}\mskip2mu - \raise4pt\hbox{.}\mskip2mu\raise7pt\vbox{\kern7pt\hbox{.}}\mskip1mu}} -% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% \clock returns time in hours:minutes on a 24 hour basis -% check \fullclock too -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\newcount\timecount -\newcount\hours \newcount\minutes \newcount\temp \newcount\pmhours - -\hours = \time -\divide\hours by 60 -\temp = \hours -\multiply\temp by 60 -\minutes = \time -\advance\minutes by -\temp -\def\hour{\the\hours} -\def\minute{\ifnum\minutes<10 0\the\minutes - \else\the\minutes\fi} -\def\clock{ -\ifnum\hours=0 12:\minute\ AM -\else\ifnum\hours<12 \hour:\minute\ AM - \else\ifnum\hours=12 12:\minute\ PM - \else\ifnum\hours>12 - \pmhours=\hours - \advance\pmhours by -12 - \the\pmhours:\minute\ PM - \fi \fi \fi \fi } - -\def\fullclock{\hour:\minute} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% \draft causes the symbolic names of equations to be printed -% alongside the equation numbers -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\let\eqnameold=\eqname -\def\draft{\def\eqname##1{\eqnameold##1:{\tt\string##1}}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Letter with no letterhead -% insert \blankheads after \letters -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\blankheads{\let\letterhead=\blankletterhead - \lettertopskip=7pt plus 3pt} -\def\blankletterhead{\hrule height 0pt \vskip 1.3in} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% this gives you a boldface character in math mode. -% $\bold\beta$ -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\bold#1{\setbox0=\hbox{$#1$}% - \kern-.025em\copy0\kern-\wd0 - \kern.05em\copy0\kern-\wd0 - \kern-.025em\raise.0433em\box0 } - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Definition for a slash over a letter -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% from M. Peskin -\def\dslash{\not{\hbox{\kern-2pt $\partial$}}} -\def\Dslash{\not{\hbox{\kern-4pt $D$}}} -\def\Qslash{\not{\hbox{\kern-4pt $Q$}}} -\def\pslash{\not{\hbox{\kern-2.3pt $p$}}} -\def\kslash{\not{\hbox{\kern-2.3pt $k$}}} -\def\qslash{\not{\hbox{\kern-2.3pt $q$}}} -% -% - \newtoks\slashfraction - \slashfraction={.13} - \def\slash#1{\setbox0\hbox{$ #1 $} - \setbox0\hbox to \the\slashfraction\wd0{\hss \box0}/\box0 } - -% EXAMPLE OF HOW TO USE IT -% $\slash D$ -% {\slashfraction={.075} $\slash{\cal A}$} -% $\slash B$ -% $\slash a$ -% {\slashfraction={.09} $\slash p$} -% $\slash q$ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% this gives you \leftrightarrow over \slash\partial -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - \def\leftrightarrowfill{$\mathord-\mkern-6mu% - \cleaders\hbox{$\mkern-2mu\mathord-\mkern-2mu$}\hfill - \mkern-6mu\mathord\leftrightarrow$} - \def\overlrarrow#1{\vbox{\ialign{##\crcr - \leftrightarrowfill\crcr\noalign{\kern-1pt\nointerlineskip} - $\hfil\displaystyle{#1}\hfil$\crcr}}} - -% $$ \overlrarrow{\slash\partial} $$ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% This is a macro written by Marvin which makes Young tableaux: -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - \def\yboxit#1#2{\vbox{\hrule height #1 \hbox{\vrule width #1 - \vbox{#2}\vrule width #1 }\hrule height #1 }} - - \def\fillbox#1{\hbox to #1{\vbox to #1{\vfil}\hfil}} - \def\ybox{\yboxit{0.4pt}{\fillbox{8pt}}\hskip-0.4pt} - \def\nbox{\yboxit{0pt}{\fillbox{8pt}}} - - \def\tableaux#1{\vcenter{\offinterlineskip - \halign{&\tabskip 0pt##\cr #1}}} - \def\cry{\cropen{-0.4pt}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% An example of the use of \tableaux is: -% $$ X = \tableaux{\ybox & \ybox & \ybox \cry -% \ybox & \ybox & \nbox \cry -% \ybox & \nbox & \nbox \cry} $$ -% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% by M. Peskin -% These macros make 4- and 5-pt skeleton diagrams -% with labelled endpoints and internal lines. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - \def\fourptfcn#1#2#3#4#5{ \matrix{#1\cr\cr#2\cr} - \hbox{$ \Bigg\rangle \kern -2.5pt - {\phantom{whichcan}\over {\textstyle \downabit #5} } - \kern-2.5pt \Bigg\langle$} \matrix{#3\cr\cr#4\cr} } - \def\fiveptfcn#1#2#3#4#5#6#7{ \matrix{#1\cr\cr#2\cr} - \hbox{$ \Bigg\rangle \kern -2.5pt - {{\pile} \lower 6pt\hbox{$\spire#5$} {\pile}\over - \phantom{can}{\textstyle \downabit#6}\phantom{which} - {\textstyle \downabit #7}\phantom{can}} - \kern-2.5pt \Bigg\langle$} \matrix{#3\cr\cr#4\cr} } - \def\spire#1{\matrix{#1\cr\Bigm|\cr}} - \def\pile{\phantom{\matrix{1\cr2\cr3\cr}}} - \def\downabit{\vphantom{\bigm|}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\unlock{\catcode`@=11} % This allows us to modify PLAIN macros. -% -\def\lock{\catcode`@=12} % at signs are no longer letters -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% These changes give you references on the line in brackets [3] -% and in the reference list. [1] A. Einstein ... -% -% -%\unlock -%\def\step@ver#1{\rel@x \ifmmode #1\else \ifhmode -% \roll@ver{$\ {} #1$ }\else {\setbox0=\hbox{${} #1$ }}\fi\fi } -%\def\attach#1{\step@ver{\strut {\mkern 4mu #1} }} -%\def\normalrefmark#1{\attach{ [ #1 ] }} -%\def\NPrefmark#1{\step@ver{{\ [#1]}}} -%\def\refitem#1{\r@fitem{[#1]}} -%\lock -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% diff --git a/macros/phyzzx/phyzdoc.tex b/macros/phyzzx/phyzdoc.tex deleted file mode 100644 index 221fbb23b8..0000000000 --- a/macros/phyzzx/phyzdoc.tex +++ /dev/null @@ -1,3279 +0,0 @@ -% Note: I have included the Phyzzx macros on the CMS distribution -% tape for TeX at the request of several TeX users who have heard of it -% or used it. Some of the information herein is specific to facilities -% or practices at Stanford Linear Accelerator Center. -% -- Alan Spragens 17 July 1986 -\input phyzzx -\nopagenumbers -\singlespace -\def\leaderfill{\leaders\hbox to 1em{\hss.\hss}\hfill} -\centerline{TABLE OF CONTENTS} -\item{1.} INTRODUCTION\leaderfill 2 -\item{2.} BASICS\leaderfill 3 -\sitem{2.1} What is \TeX\ ?\leaderfill 3 -\sitem{2.2} What Is PHYZZX?\leaderfill 7 -\item{3.} STRUCTURING PREPRINTS\leaderfill 10 -\sitem{3.1} Chapters, Sections and Subsections\leaderfill 11 -\sitem{3.2} Other Subdivisions: Appendices -and Acknowledgements\leaderfill 19 -\sitem{3.3} Controlling the Way Chapters -are Numbered\leaderfill 21 -\item{4.} DISPLAYED EQUATIONS: NUMBERING -AND NAMING THEM\leaderfill 23 -\sitem{4.1} A Simple Solution to Numbering -Equations\leaderfill 25 -\sitem{4.2} Naming Equations: A Powerful Tool\leaderfill 28 -\sitem{4.3} Other Macros For Naming Equations\leaderfill 30 -\item{5.} REFERENCES, FIGURE CAPTIONS AND TABLE \hfil\break CAPTIONS: -THEIR NAMING AND NUMBERING \leaderfill 33 -\sitem{5.1} References: Stuff Which Comes -at the Back\leaderfill 33 -\sitem{5.2} Figures and Tables\leaderfill 45 -\item{6.} FOOTNOTES: THINGS WHICH -COME AT THE BOTTOM\leaderfill 47 -\item{7.} ITEMIZED LISTS: POINTS, -ITEMS AND OTHER STUFF\leaderfill 49 -\sitem{7.1} Fixed Format Lists: -Points, Subpoints, Subsubpoints\leaderfill 50 -\sitem{7.2} For Less -Structure Consider Items\leaderfill 53 -\sitem{7.3} Having Your -Cake and Eating It Too! -- Making Your Own Points -\leaderfill 54 -\item{8.} MISCELLANEOUS -STUFF ABOUT PAPERS\leaderfill 56 -\sitem{8.1} Page Numbers\leaderfill 56 -\sitem{8.2} Spacing\leaderfill 57 -\sitem{8.3} Commands Which Break -Lines and Pages\leaderfill 58 -\sitem{8.4} Some Remarks About Penalties\leaderfill 59 -\sitem{8.5} The Titlepage\leaderfill 59 -\item{9.} MEMOS\leaderfill 66 -\eject -\item{10.} TYPING LETTERS AUTOMATICALLY\leaderfill 71 -\sitem{10.1} Multiple Letters\leaderfill 74 -\item{11.} MISCELLANEOUS MACROS -WHICH PHYZZX DEFINES\leaderfill 76 -\item{12.} GOODBYE\leaderfill 78 -\sitem{12.1} Using Your MYPHYX File\leaderfill 78 -\endpage - - -\pagenumbers -\FRONTPAGE -\Pubnum={$\caps SLAC - TN - 84 - \the\pubnum $} -\pubnum{7} -\date{October 1984} -\pubtype={\ } -\titlepage -\vfil -\title{EVERYTHING YOU WANTED TO KNOW ABOUT\ \ -{\bf -PHYZZX}\ \ BUT DIDN'T KNOW TO ASK} -\vskip .50in -\author{M. Weinstein\doeack} -\SLAC -\vfil -\endpage - -\Pubnum={$\caps SLAC - PUB - \the\pubnum $} -\def\hbreak{\hfil \break} -\def\tc#1{\nextline \hskip 2.5\itemsize {\bf #1 }\nextline } -\def\tcon#1{\hskip 2.5\itemsize {\bf #1 }\nextline } -\newcount\tempchap \tempchap=0 -\newcount\tempsec \tempsec=0 -\def\storechap{\tempchap=\chapternumber} -\def\recallchap{\chapternumber=\tempchap \advance\chapternumber by -1} -\def\storesec{\tempsec=\sectionnumber } -\def\recallsec{\sectionnumber=\tempsec } -\chapterminspace=1pt -\sectionminspace=1pt - -\chapter{INTRODUCTION} - -Hi \TeX\ fans, the time has come to document the new -version of the macro package, PHYZZX. -Vadim Kaplunovsky has updated it to -run under \TeX 1. -Since we envision this to be the penultimate version -of PHYZZX, except for minor corrections to remove heretofore -undiscovered bugs, it now pays to explain what PHYZZX is -and how to use its various features in some detail. -For those of you who are familiar with the old version of -PHYZZX you can rest easy, this version has been designed to be -as upward compatible as possible. -Unfortunately, there are a few minor changes in the way some -macros work simply because Knuth changed \TeX\ and made it -impossible for us to keep some of the old commands. -In general the changes make things easier to use and any file -written for \TeX 97 will, with very few changes, run on \TeX 1. -For this reason the adventurous user can begin by ignoring this -writeup completely and try to run his old files. -If luck is with you, you will not have to change anything; -if luck deserts you, then either PHYZZX will help you along -(only somewhat likely) or you will have to do a little reading. - -Our present incarnation of PHYZZX resides in two places. -The FMT file (a term designed to strike terror into the hearts of -those who have not been initiated into the high mysteries) -is on the T--disk, and this is the version you really want to use. -One uses the FMT file because it loads much faster and so you don't -have the interminable wait for something to happen while the computer -is reading all of the definitions contained in PHYZZX TEX. -To use the FMT file all you have to do is make the first command -to \TeX\ say {\tt\&phyzzx} instead of putting -\tc{\\input phyzzx} in the file. - -For the curious we try to keep an updated version of the -file PHYZZX TEX on the theory group disk. -People interested in mucking around in the guts of this file -in order to see how things were done and what goodies, not described -in this writeup (and there are many), are available -can access this disk by -saying -\tc{GIME PUB\$TH } -If you wish to use this file to convince yourself how much better it -is to use an FMT file, you can do this by accessing the PUB\$TH disk -and starting your file with -\tc{\\input phyzzx} -{\it For cognoscenti\/}: -as in earlier incarnations you can tailor much of PHYZZX to -your liking by having a file MYPHYX TEX on your A disk. -Each time you run PHYZZX it loads this file. -Any definitions which are in this file then take precedence over -those specified in PHYZZX. -So much for generalities, now on to specifics. - -\chapter{BASICS} - -\section{What is \TeX\ ?} - -In order to make this as simple as possible for the first time -user, we will say a few words about what \TeX\ is, before going on -to talk about what PHYZZX does. - -\TeX\ is the baby of Donald~E.~Knuth of Stanford University and -it is our choice for the best available text processor for -use at SLAC. -{\it Clear as mud!} you say. {\it What the hell is a -text processor ?}, you say. -{\it How is it different from Xedit and Wylbur ?}, you say. -Tell you what I'm gonna do, I'm going to tell you the answers to -these questions even if you weren't perceptive enough to ask. -A text processor is to Xedit and Wylbur what a publishing company -(as embodied by editors and printers) is to -a technical typist; namely, it is a thingamajig which takes a -crudely typed manuscript and turns it into a book. -Physicists and engineers all know that the -nicer your paper looks before it goes out, the more your -colleagues believe what is in it. -Therefore we all want to use \TeX\ -to prepare our papers for journals, summer schools -and conference proceedings. -Some of us (hopefully that means some of you reading this -introduction) will use \TeX\ to type our own papers, and some -of us will rely on others for this task. -In any event somewhere in that chain someone has to know how to -use the thingamajig or beautiful manuscripts just won't come out the -other end. -In that case our colleagues won't know all of the wonderful things -we have to say. -To facilitate this process to some degree we wrote the macro package -PHYZZX. In order -to make PHYZZX and \TeX\ more accessible to people at the -lab, we have generated this writeup. - -As I said, -to all intents and purposes you and Xedit (or you and Wylbur, if -you insist on living in prehistoric times) make a typist. -Actually, you make a pretty good typist for text, but you -don't do too well as a technical typist because neither -Xedit nor Wylbur does a very good job at typing equations. -You plus Xedit plus \TeX\ make a stupendous technical typist -and a remarkably good printing company. -Pursuing this analogy the process for producing a beautiful -book quality manuscript starts with somebody typing the -first draft. -This somebody is presumably you, the reader, and the -tools you use are your trusty computer terminal and an editor like -Xedit. -Obviously I have no intention of explaining how to use Xedit -since this is probably unnecessary and anyhow, everything you -have to know for the purpose of typing a text file -can be easily learned by reading the {\bf IBM Virtual Machine/ -System product: CMS Primer}. -Hence, this writeup assumes that you know how to log on to the -computer and use the editor. - -To use the editor to start collecting a file which \TeX\ will -turn into a beautiful paper, memo, or letter, you have to -follow a simple procedure. -First, in your incarnation as typist, you have log on -and enter an editor (e.g., Xedit) by telling it you want to -create a file whose name is {\bf CRAP} and whose filetype is {\bf TEX}. -You accomplish this feat by typing something difficult like -\tc{X {\rm (or XEDIT)} CRAP TEX A } -whereupon the powers that be will throw you into the editor. -At this point, since you are a person of discerning tastes, -the very next line you enter is -\tc{\\input phyzzx}. -This command will make sure that when you tell the computer -to print a version of the paper it will become an editor and instruct -the typesetter to lay out the copy according to the criteria -established by the macro package PHYZZX. -The very next thing you do is skip a line (i.e., enter a blank line) -in order to make your copy easy to read, and then -start to enter your copy. -So much for you as a typist. - -\subsection{You As An Editor: Correcting a Mistaken Impression} - -The preceding discussion indicates that you are to take your -manuscript and type it into the editor in exactly the same way -as you would at a typewriter. -While this is a possible way of proceeding it is not really -the best way to do things. -In order to you to understand why this is true, you have to -understand that once you have functioned as a typist, the -next thing you have to be is an editor. - -An editor's job is to make sure the text looks good and that -the printer knows how he is supposed to layout the copy which -he receives. -For example, he has to know: -how much space to put between lines of text, -what font to set chapter headings in, how much space to skip -before and after a chapter heading, which math symbols are -exponents, greek letters etc. -Since you are the editor and \TeX\ is going to be the printer, -you have to mark up the copy so that \TeX\ and/or PHYZZX knows -what to do with it. -This feat is accomplished by including editor's comments (or marks) -in the text. -These comments (or commands to \TeX ) have to have a special -character in front of them so that \TeX\ will recognize them -for what they are; this character is the $\backslash$, and the -combination of a \\ followed by a string of characters -is called a control sequence. -One example of a control sequence is {\bf \\par} which tells -\TeX\ to begin a new paragraph. -Note that this is not a trivial thing since \TeX\ has to know -to skip some extra space between the text in different paragraphs, -indent the first line by some amount, etc. -The basic version of \TeX\ has lots of control sequences -which tell \TeX\ to do lots of wonderful things. -To learn about these things (probably more than you initially -want to know about how \TeX\ operates) you have to read -{\it selectively} in the \TeX book written by Knuth. -Since this discussion is between friends, let me warn you -this book stinks as a reference manual and ain't so hot -as an introduction to \TeX . -Knuth has a philosophy of learning by ever increasing levels of -mistakes which I (and many of my acquaintances) find -at best distracting and at worst impenetrable. -Unfortunately, this book is all that is -available as an in depth introduction -to the basic version of \TeX . -If you want to know how to do sophisticated things which lie -outside of the purview of PHYZZX you will have to read quite a -lot of it.\foot{To get a feeling for \TeX\ -it is advisable to browse through the first three -chapters and read about boxes and modes. -If you just wish to type papers in the most straightforward way -you can defer this reading until you are more experienced so long as -you use PHYZZX. -However, in any event, you must -read the sections on typing math formulas, -typing displayed equations and a little bit about making boxes -since I have neither the time nor inclination to go into those things -in this writeup, and you must have a basic idea of how this stuff -works in order to proceed. -After all, ostensibly this writeup is about how to use PHYZZX -and is not a primer on \TeX .} -A really good thing to read to get an idea of the basic -things you can do with \TeX\ and to learn about the important control -sequences is a primer entitled {\bf First Grade \TeX\ \bf A Beginner's -\TeX\ Manual \rm by \it Arthur L. Samuel}. -This is short, readable and contains everything you need to -supplement this discussion of PHYZZX. -You can request a copy of this manual from the SLAC Library \hbreak -\vskip .10in -\vbox{\kern 3\lineskip -\centerline{ \bf First Grade Tex -- A Beginner's \TeX\ Manual} -\centerline{by} -\centerline{\it Arthur L. Samuel} -\centerline{ STAN--CS--83--985}} - -Since you are going to be both typist and editor it pays for -you to combine these jobs and mark up the manuscript at the -same time that you type it. -To be precise, this means that you want to type in equations -so that superscripts, \break \eject \noindent -subscripts, etc., are clearly indicated. -You also want to type chapter headings, subchapter headings, etc., -in such a way that the font to be used, the space to be skipped -above and below the heading, etc. are all clearly indicated. -In general you want to tell the printer how to lay out the -resulting copy as you type it in. -This of course requires that you make many formatting decisions -and then use the basic \TeX\ control sequences in order to tell -it what to do. -It will come as no surprise to you that this can get very -complicated very quickly. -That's where PHYZZX comes in. - -\section{What Is PHYZZX?} - -PHYZZX is a {\it macropackage} which is designed to make typing papers -destined for Physical Review or Nuclear Physics as simple as possible. -In addition it allows you to type letters and produce memos without -knowing much about the way \TeX\ works. - -The first question which arises at this point is {\it What is a -macropackage ?}, or for that matter {\it What is a macro?}. -Despite the name a {\it macro} is not something eaten on a -macrobiotic diet. -It is a name for a simple thing. -Unfortunately, this name has -been carefully designed by computerniks -to strike terror into the heart of occasional users and keep them -in their place. (There is nothing more annoying than an -uppity occasional user.) -Basically a macro is a way of defining an entry in a dictionary -which is kept in the guts of the computer. -The computer uses this dictionary to -find the meaning of words which have been defined -using the control sequence {\bf \\def}. -A macropackage is, as the name implies, a package of macros (or -definitions of commands) which we can use to give complicated -formatting instructions to \TeX\ without having to go -to the trouble of typing everything out each time we want to -give the same instruction. - -It follows from this discussion that PHYZZX is just a collection -of definitions which tell \TeX\ to do a well defined set of things -to make the text which follows look just the way you want it to look. -The best thing about a macropackage is that once it is written -you only have to know what happens when you -issue a given instruction; -you don't have to know how it is made to happen. -Although each of the commands which appear in the macropackage -cause apparently simple things to happen, making them happen can -get quite involved if you try to use the PLAIN version of \TeX . - -\subsection{Why Create A Macropackage like PHYZZX ?} - -Finally we get down to brass tacks. -We already pointed out that you, the person preparing the -manuscript, must to play the role of typist and editor. -As editor you have the job of telling the printer how large to -make chapter titles, what typeface to use for chapter titles, -how much space to skip above and below a chapter title, etc. -Having to give this set of instructions every time you want to -type a chapter title can get to be a pain in the neck. -Not only that, but imagine the problem of remembering exactly what -format you want for chapter titles, section titles, subsection -titles, etc., if -- as is the case with PHYZZX -- you use a different -format for each one. -Clearly, if one had to type all of this each time and keep all this -information in one's head one would probably choose not to use -\TeX\ at all. - -This discussion raises another point, namely that if one did -not have a predefined set of macros to tell \TeX\ what to -do at a certain point then you would have one more job dumped upon -your shoulders. -In addition to being typist and editor you would have to be a book -designer. -That means that you would have to make all of the esthetic decisions -about the most attractive print to use for a given paper, the spacing -to use between lines, the best way to number equations and -the rest of that crap. -This can be an onerous task which the average user doesn't want to -have to deal with. -Moreover, everybody has his own esthetic criteria (even though some -people have more taste than others), so without -a macropackage, to -set the formats into predefined molds, there would be little -or no uniformity in the layout of papers coming out of SLAC. -While this would be no great tragedy, it could get confusing. - -Okay, so PHYZZX is a macropackage which provides a dictionary -of editor's commands which allow one to easily format a -document for the printer. -It makes a set of esthetic choices for how these documents should -look and, in the interests of simplicity, doesn't make it trivial -for the casual user to mess around with these choices. -(Actually, this is not really true since there are many -ways in which PHYZZX can be tailored to your personal preferences, -but we will discuss that as we go along.) -The obvious question which comes up at this point is {\it Who -made all of these esthetic decisions?\/}. -In the interests of preserving the lives of the parties involved, -anonymity must be preserved. -Rest assured, however, it was a consultative process -and many people had an input into the final result. -Despite the fact that PHYZZX is an animal put together -by a committee, we think it does its job fairly well. - -\subsection{ So, what does it do?} - -The main job which PHYZZX is designed to do is to make -it easy to format SLAC preprints destined for submission to -Physical Review or Nuclear Physics. -Since these journals require different ways of handling line spacing, -footnotes, references, etc., PHYZZX you need to specify the journal -to which the preprint is to be submitted. -Actually, you only have to tell if the journal is going to be -Physical Review, since the default format is that for -Nuclear Physics. -This is because we, with our usual impeccable good taste, -decided that the Nuclear Physics format was a better -general purpose format. -If you don't like our decision write your own macropackage. - -All kidding aside, -changing to Physical Review format is easy, all you have to -do is start your typing with -\tc{\\input phyzzx} -\tcon{\\PHYSREV} -Note, when you are typing a control sequence everything counts; i.e., -\TeX\ cares about capital letters, small letters, spaces, etc. -Be careful to copy just what you see typed here or it won't work; -worse yet, it might work in an unexpected way. - -In addition to formatting papers PHYZZX does a great job of -producing letters and memos. -In each of these cases it produces, by itself, the appropriate -letterhead and formats the text in a way appropriate to the -document at hand. -Since, however, we consider the preprint formatting capabilities -of PHYZZX to be of paramount importance, we will discuss them first -and turn to letters and memos when we have finished. - - -\chapter{STRUCTURING PREPRINTS} - -A preprint is a document which eventually -will be submitted to a journal for publication. -In setting up PHYZZX we assumed that format of a preprint -is essentially fixed. -The size type to be used in the body of -the preprint is chosen so that when run off on the laser printer -and reduced for distribution it will be easily readable. -In addition, normally we skip -one and a half lines between lines of text. -We think this looks most attractive with the size type we are using -and makes the preprints a little shorter, saving paper. -To satisfy the requirements of journals like Phys.Rev. Letters -which specify the number of lines per inch which a -manuscript must have, you must use double spacing; -the command {\bf \\PHYSREV} automatically -takes care of this, as well as -a number of other things. - -Concerning spacing and other parameters you may well ask -{\it How fixed is fixed ?\/}. -The answer varies. -For example, -since we realize that people like to play around with line spacing -to some degree, we have provided commands which we hope will -enable you to change the average interline spacing to -something closer to your heart's desire. -The commands which perform this wondrous feat are -\tc{\\singlespace} -\tcon{\\doublespace} -and -\tc{\\normalspace} -Obviously, {\bf \\doublespace} means twice {\bf \\singlespace}; -but {\it What is the meaning of \bf \\normalspace \it ?\/}. -The answer to this question is that {\bf \\normalspace} -corresponds to a spacing between single and doublespace. - -You might think, having read a little in the \TeX\ book, -that you can achieve the same thing by changing {\bf \\baselineskip} -and {\bf \\lineskip}. -In a sense you would be correct. -However, you should know that the commands {\bf \\doublespace}, etc., -do more; this is because -they do different things depending upon the font and -format you are using. -If you want to do the same thing you will have to modify -a lot of basic \TeX\ parameters or the esthetic impact of the -document which emerges just won't be the same. - -All of this is by way of a parenthetical comment since it won't -do you any good unless you know how to use the simplest version -of PHYZZX first. - -\section{Chapters, Sections and Subsections} - -\subsection{Chapters} - -Most longer papers are divided into several parts in order -to make them easier to read. -These parts usually are preceded by headings or titles -which indicate the subject to be covered in discussion which follows. -Stylistically, several decisions have to be made about how -these headings are to be set in type. -You, as editor, have to tell the printer what to do. - -We will refer to the major divisions of a paper as chapters. -In general each chapter has a heading. -Our choice as book designers has been to set this heading in -larger type and preface the text of the heading with a number. -The number is automatically increased each time you declare a -new chapter. -In addition, some extra space is skipped both above and below -each chapter heading. -All of this magic is at your disposal if you simply use the -{\bf \\chapter} command to indicate that the text you are -about to type is the heading of a chapter. -\storechap \storesec -To be precise, the way you use this command is to type -\tc{ \\chapter $\{$ {\it text} $\}$ } -where $\{$ {\it text} $\}$ stands -for the chapter name which you have to make -up and insert. -For example, the chapter title for this chapter was generated by -typing -\tc{\\chapter$\{$ {\it STRUCTURING PREPRINTS} $\}$} - -Note, I chose to type the heading in capitals. -That's because I like the way it looks. -You certainly don't have to do that. -If you don't, but instead type -\tc{\\chapter$\{$ {\it Structuring Preprints} $\}$} -then you obtain \recallchap -\chapter{Structuring Preprints} - -One thing to notice is the curly braces surrounding the text. -These braces are absolutely necessary. -They are grouping symbols which tell \TeX\ how much of the -text to follow is to be considered part of the chapter heading -and if they are omitted you will get a disastrous error message -saying something like \TeX 's capacity is exhausted. -Unfortunately, on the screen of a computer terminal, -these symbols are easy to confuse with ( \ -and so you will have to be careful. -If you are in {\bf XEDIT} -you will be able to issue the command {\bf balance}. -This is an {\bf XEDIT} command defined by an exec file on the U -disk which counts matching pairs of curly braces. -It is helpful in that it tells you there is a problem, but -unfortunately it doesn't find the problem for you. - -In general you won't want to play around with the choice of font -inside of a chapter heading and so, by default, you will -get a roman font. -However, you can play with it if you wish. -We have provided a series of control sequences, or editors marks, -which allow you to change between different fonts all of which -have essentially the same size. -Hence, if you type {\bf \\rm} you get the current roman font, -if you type {\bf \\bf} you get the bold face version of the current font, -if you type {\bf \\sl} you get a slanted version of the current font, -if you type {\bf \\it} you get an italic font, and if -you type {\bf \\tt} you usually get a typewriter font. -I say that you usually get a typewriter font because we do not -have typewriter available in all sizes of print. -When we don't PHYZZX makes a substitution of the same font at a different -size. -Another font for which this happens is {\bf \\caps} which is -a font \endpage \noindent which is made up of only capital letters. -This font distinguishes between upper and lowercase letters only by size. -As an example of switching fonts let us see what happens if we change -font inside the command chapter. - -If you type \recallchap -\tc{\\chapter$\{$\\bf{ \it Formatting Text}$\}$ } -you get -\chapter{\bf Formatting Text} -If you type \recallchap -\tc{\\chapter$\{$\\sl {\it Formatting Text}$\}$ } -you get -\chapter{\sl Formatting Text} -If you type \recallchap -\tc{\\chapter$\{$\\it {\it Formatting Text}$\}$ } -you get -\chapter{\it Formatting Text} -\endpage -If you type \recallchap -\tc{\\chapter$\{$\\caps {\it Formatting Text}$\}$ } -you get -\chapter{\caps Formatting Text} -Finally, if you type \recallchap -\tc{\\chapter$\{$\\tt {\it Formatting Text} $\}$ } -you get -\chapter{\tt Formatting Text} - -While all of this is very nice you should note that the font -used to set the chapter number does not change with the text. -This illustrates something about \TeX 's grouping symbols. -Since we put the control sequences for changing fonts inside the -braces, only the text inside the braces is affected. -That is, the change only occurs {\it locally}. -In general any change you make inside a pair of curly braces only -affects the material inside the braces, unless you force -the effect to persist. -(If you want to know how to do this look up the {\bf \\global} -command in the \TeX\ book.) -It follows, therefore, that if we want the number to change -we have to change the font before we give the {\bf \\chapter} -command. - -\medbreak -If you type \recallchap -\tc{$\{$ \\bf \\chapter$\{$ {\it Formatting Text}$\} \}$} -you get -{\bf \chapter{Formatting Text}} -\endpage -If you type \recallchap -\tc{$\{$ \\sl \\chapter$\{$ {\it Formatting Text} $\} \}$} -you get -{\sl \chapter{ Formatting Text}} -\medbreak -If you type \recallchap -\tc{$\{$ \\it \\chapter$\{$ {\it Formatting Text} $\} \}$ } -you get -{\it \chapter{ Formatting Text}} -\goodbreak -If you type \recallchap -\tc{$\{$ \\caps \\chapter$\{$ {\it Formatting Text} $\} \}$ } -you get -{\caps \chapter{ Formatting Text}} -\medbreak -Finally, if you type \recallchap -\tc{$\{$ \\tt \\chapter$\{$ {\it Formatting Text} $\} \}$ } -you get -{\tt \chapter{ Formatting Text}} -\noindent Much better, no? - -We have already mentioned that PHYZZX put extra space -above and below a chapter heading. -Since all of the chapter headings for this writeup -were generated using -the command {\bf \\chapter}, you only have to examine them -to see how \TeX\ handles these extra spaces. - -Another remark worth making is that in the current incarnation -of PHYZZX you do not have to worry about chapter titles which -are too long. -The chapter macro is set up to split your line when necessary -and automatically center each line. -To accomplish this feat PHYZZX makes use of a control sequence -called {\bf \\titlestyle}. -The command {\bf \\titlestyle} is worth knowing about because -sometimes you want to be able to type in a longish amount of -material and want the various lines to be centered, not left or -right adjusted after each break. -Typing {\bf \\titlestyle$\{$ {\it text} $\}$} will accomplish this feat. -In addition, -if you don't like the way PHYZZX chooses to break the lines -you can force your desires upon the machine by inserting: the -command {\bf \\break}. -This command forces the line to break at the point where the command is -given. -The command {\bf \\nobreak} will stop the line from -breaking at an undesirable place, and the symbol \~ \ will -insert some unbreakable space between words. -This stuff is covered in the basic books on \TeX\ and we refer you to -there for details. -Combining these control sequences with the control sequence -{\bf \\titlestyle} allows you to {\it easily} -achieve many interesting effects. -For example, you can generate an invitation by typing \hbreak -{\bf \\titlestyle $\{$ \\it \it You are cordially invited \bf \\break -\hbreak -\it to the coming out party for \bf \\break \hbreak -\it the new macro package \bf \\break \hbreak -\\rm \it PHYZZX \bf \\break $\}$ } \hbreak -and obtain -\titlestyle {\it You are cordially invited \break -to the coming out party for \break -the new macro package \break -\rm PHYZZX \break } - -If you are really sharp, and I assume that you are, you will -have noticed that the type in which the invitation is set is larger -than the normal type. -Remember that I already told you that titles are set in larger -type than the basic text. -I also told you that the commands {\bf \\rm}, {\bf \\bf}, {\bf \\it}, -etc., change the style of the font but leave it the same size. -What we have not discussed is how you change the size of the font -the way {\bf \\titlestyle} does with impunity. -Well, all things come to he who waits! -Now's the time to discuss this point. - -Font sizes, as you learn from reading the \TeX book come in sizes -measured in a mysterious printer's unit call {\it points}. -You don't have to know what a point is, you only have to know that -most of the text in this writeup is twelve point type, the titles -are in fourteen point type and the footnotes are in ten point type. -It is possible for you to force \TeX\ to use a particular size -of type by saying {\bf \\tenpoint},{\bf \\twelvepoint} or -{\bf \\fourteenpoint}; in which case the obvious thing happens. -Thus, for example, if you change the typed instructions for generating -the invitation to read \hbreak -{\bf \\titlestyle $\{$ \\twelvepoint -\\it \it You are cordially invited \bf \\break -\hbreak -\it to the coming out party for \bf \\break \hbreak -\it the new macro package \bf \\break \hbreak -\\rm \it PHYZZX \bf \\break $\}$ } \hbreak -you get -\vskip -\parskip -\titlestyle {\twelvepoint \it You are cordially invited \break -to the coming out party for \break -the new macro package \break -\rm PHYZZX \break } -\endpage -\noindent and if you type \hbreak -{\bf \\titlestyle $\{$ \\tenpoint -\\it \it You are cordially invited \bf \\break -\hbreak -\it to the coming out party for \bf \\break \hbreak -\it the new macro package \bf \\break \hbreak -\\rm \it PHYZZX \bf \\break $\}$ }\hbreak -the result is -\titlestyle {\tenpoint \it You are cordially invited \break -to the coming out party for \break -the new macro package \break -\rm PHYZZX \break } - -\subsection{Sections} - -Now that we know everything about generating chapters, we turn -to the problem of generating smaller subdivisions; namely, -sections and subsections. - -\recallchap \recallsec -The numbering is done as $\{ chapter number\}.\{section number\}$ . -Each time you start a new chapter, the section numbers restart from -1. -You have already seen many examples of the results produced by -the section macro in this writeup. -As in the case of the chapter macro all of the numbering is taken -care of automatically. -To accomplish the feat of generating a new section heading you type -\tc{\\section $\{$ {\it section heading} $\}$ } -For example, if you type -\tc{ \\section $\{$ {\it New Section} $\}$ } -you get -\advance\sectionnumber by -1 \section{ New Section } -As in the case of chapter headings you can play with the -fonts if you insist; however, remember that the space above and -below chapter and section headings have been carefully matched -to our choices of fonts. -If you play too much, the esthetic balance of the final copy -won't be the same. - -\subsection{Subsections} - -The smallest subdivision for which we have a formal macro -defined is a subsection. -Our choice has been to make subsections unnumbered and underlined. -When you type the command {\bf \\subsection -$\{$ {\it subsec.heading} $\}$ } -you get the sort of heading which introduces this paragraph. -All of the control sequences, {\bf \\chapter}, {\bf \\section} and -{\bf \\subsection} force the start of a new paragraph, so in principle -you do not have to skip lines as you type in text. -However, from the point of being able to proofread your -typed copy in order to make corrections, not skipping lines -can be a disaster. - -The underlining of the text in the section macro is accomplished using -the control sequence -\tc{\\undertext $\{$ {\it text} $\}$ } -This is a command worth knowing about, but in general using italics -is a better way to emphasize text. - -This completes our discussion of the macros which handle the -generation of titles for the major subdivisions of the usual paper. - -\section{Other Subdivisions: Appendices and Acknowledgements} - -In addition to chapters, sections and subsections, papers tend -to have auxiliary junk attached. -This extra junk is usually called either -acknowledgements or appendices. -To save you the bother of figuring out which font sizes and spacing -choices are necessary to make these appendages -consistent with the rest of the paper we also have -control sequences to generate headings for them. -Typing the command -\tc{ \\ack } -generates the line -\ack -Note the beauty of the typeface and the precisely chosen amounts of -extra space which gracefully offset the title generated with this -simple command. -Once again, for the Philistines among you, you can play with -the fonts using the commands {\bf \\bf}, {\bf \\sl}, etc.; -however, let the esthetic violence you do to the manuscript -be on your own head. - -Generating appendices presents us with a slightly more complex -situation and so you get more choices as to how to proceed. -The questions which arise at this juncture are -{\it How many appendices will there be ?\/} and -{\it How do you want them numbered ?\/}. -Clearly, if there is to be only one appendix then the choice is -simple. -In that event you generate a lovely heading by simply typing -\tc{ \\appendix } -which causes \TeX\ to generate the line -\appendix -If there are to be many appendices and you want to number them -in any way which suits you, you only need type -\tc{\\Appendix$\{$ {\it text} $\}$ } -note the capital letter appearing as the first letter of this control -sequence. -Remember, \TeX\ cares about upper and lowercase, so this is a -different command from { \bf \\appendix}. - -Typing -\tc{\\Appendix$\{$ {\it A} $\}$ } -generates -\Appendix{A} -\noindent Typing -\tc{ \\Appendix$\{$ {\it I} $\}$ } -generates -\Appendix{I} -\endpage -\noindent and typing -\tc{ \\Appendix$\{$ {\it 1} $\}$ } -generates -\Appendix{1} - -\recallchap \recallsec \advance\chapternumber by 1 -\def\chapterlabel{3.} -\advance\sectionnumber by 1 -\def\sectionlabel{\number\sectionnumber \quad} - -This completes the discussion of the basic commands which generate -division headings. -Now we turn to a discussion of the special commands which -PHYZZX has included to allow you to tailor the way in which -these macros handle numbering conventions. - -\section{Controlling the Way Chapters are Numbered} - -The discussion to follow is really not necessary if what you want to -learn is how to use PHYZZX to type a paper. -This section is devoted to making PHYZZX do something out of -the ordinary; i.e., something it ordinarily doesn't want to do. - -\subsection{Playing With Numbers} - -There will be times when you want to print out just a -piece of a paper either because it is long, or because (as I -understand is the case for that strange group of people called -{\it experimental physicists}) many people are working on different -chapters (perhaps even sections) of the same paper. -In this event you probably want the chapter and section numbers to -print correctly when you are proof reading so that you don't get -confused. -Rest easy, this can be done. -PHYZZX defines two quantities which it updates and refers to when -it needs chapter and section numbers. -These quantities are called {\bf \\chapternumber} and -{\bf \\sectionnumber} (big surprise!). -You, as the editor, can tell PHYZZX to set these numbers to a -specific value, say 7, by typing -\tc{\\chapternumber$=$7} -or -\tc{\\sectionnumber$=$7} -Note that for the first time you have encountered an $=$ -sign occurring in a statement to \TeX . -You will encounter this sort of syntax many times, -in general when it occurs it will be because it is the natural -way to write something. - -Once you get involved in fooling with chapter and section numbers -there are a few things you have to know. -Both the {\bf \\chapter} and {\bf \\section} macros increase -the respective chapter or section number by 1 before they print -anything. -Thus, if you want to get a chapternumber like 7 you set -\tc{\\chapternumber$=$6} -The same is true for setting the section number. -If you are so perverse as to start in the middle of a chapter, then -when you set the section number you must also set -the chapter number, since it appears as part of the section -heading. -Actually, the quantity which appears in the section heading is -called {\\bf \\chapterlabel} and to set it you have to say -\tc{\\let\\chapterlabel={\it 6}} -or whatever label you want instead of 6. -This extra step is required because we really don't think its -such a great idea to start in the middle of a chapter and -so didn't bother to make it too trivial to do so. -If you are starting a chapter, then you don't have to worry -about setting the section number since the command {\bf \\chapter} -automatically resets the section number to 0. - -\subsection{Changing Styles} - -Another way you might want to modify the way PHYZZX handles divisions -is to have it number chapters using letters, or roman numerals, -instead of arabic numerals. -Although this defeats the purpose of establishing some sort -of uniformity of style for preprints, etc., it is possible to do. -This feature was added to PHYZZX because we recognize that some -folks, particularly experimentalists, just can't leave well -enough alone. -The mood of people like this begins to verge upon hysteria if -they don't have knobs to twiddle and buttons to push. -For this small number of benighted souls there exists the -special command called {\bf \\chapterstyle}. -You change the way in which PHYZZX numbers chapters by saying -\settabs 2 \columns -\+ {\bf \\chapterstyle$=$$\{$\\alphabetic$\}$}& to get -the l.c. letters a,b,c,$\ldots$ \cr -\+ {\bf \\chapterstyle$=$$\{$\\Alphabetic$\}$}& to get -the u.c. letters A,B,C,$\ldots$ \cr -\+ {\bf \\chapterstyle$=$$\{$\\roman$\}$} & to get -the l.c. roman numerals i,ii,iii,$\ldots$ \cr -\+ {\bf \\chapterstyle$=$$\{$\\Roman$\}$} & to get -the u.c. roman numerals I,II,III,$\ldots$ \cr - -There is one more option open to you, that is to have all -chapters, sections and subsections unnumbered.\foot{Note that -this implies that all equations will automatically be sequentially -numbered} -To select this option you begin your file with the command -\tc{\\unnumberedchapters} -This is not too difficult, but it is long to type. - -One final remark. -We have not made it possible, other than shutting it off -completely, for you to change the style used when numbering subsections. -All you get is {$ chapterlabel.section number $} no matter what you -do. -Moreover, the section number is always an arabic numeral. -If you don't like this, write your own section macro. -(This isn't as bad as it sounds. We'll discuss doing this sort of -thing at the end of this writeup.) - -\chapter{DISPLAYED EQUATIONS: NUMBERING AND NAMING THEM} - -We have now discussed the macros available for defining the basic -parts of a paper and appropriately titling them. -Now let us turn to the most important -stuff -- other than text -- which appears in each section; namely -equations. -If you've done your homework and read Knuth or {\bf First Grade -\TeX\ } you know that equations are typed in {\it math mode} -and that you let \TeX\ know that you are in math mode by -typing either \$ or \$\$ . -Enclosing an equation inside a pair of single \$ signs -puts it in ordinary mode; enclosing the same equation between -matching pairs of \$\$ signs puts it in display mode. -Regular math mode is used for inserting equations into a line of -text. -Since you have done your homework we don't have to say -anything about this, since PHYZZX doesn't play with ordinary math mode -at all. -Display mode is used for generating equations which are to stand out -from the ordinary text. -It allows you to type \hbreak -{\bf \$\$} {\it (x+y)(x-y) = x\^\ 2 - y\^\ 2 }{\bf\$\$ } \hbreak -in order to get -$$ (x+y)(x-y) = x^2 -y^2 $$ -This is called a displayed equation. - -Displayed equations are used in all journals and are usually -numbered. -In PLAIN \TeX\ there is a built in -capability for allowing you to generate -equation numbers; it is the macro {\bf \\eqno}. -If you type \hbreak -{\bf \$\$ \it (x+y)(x-y) = x\^\ 2 - y\^\ 2 \bf \\eqno({\it 13}) \$\$ } -you get -$$ (x+y)(x-y) = x^2 -y^2 \eqno(13) $$ -This example shows what the command {\bf \\eqno} does. It makes -the material appearing to the right of this command into -a label for the displayed equation and sticks it in the right hand -side of the line. -There is also the PLAIN \TeX\ command {\bf \\leqno} which does the same -thing but puts the equation number on the left. -For example, typing \hbreak -{\bf \$\$ \it 7x+12 = 24 \bf \\leqno ({\it 13}) \bf \$\$ } \hbreak -produces -$$ 7x + 12 = 24 \leqno(13) $$ - -{\it So}, you ask, {\it what does PHYZZX have to do with this?} -Well the answer to that question depends upon who you are. -If you are typing someone else's handwritten manuscript which is -in final proofread form, then these macros for putting in -equation numbers are all you need. -If, however, you are the author of the paper, typing it in yourself, -either from a rough copy or composing it directly at the -terminal, then these two commands leave a great deal to be desired. - -To begin with, if you are anything like me, when composing -at the typewriter you usually forget the number of the last -equation you have typed. -Of course you can always go back and look it up, but this is time -consuming and sometimes difficult to do. -In addition if, as is usually the case, you expect the manuscript -to be changed after it is typed, then it is highly likely -that equations will be added, deleted and moved around. -In that case, if you have used {\bf \\eqno} or {\bf \\leqno} -you will have to go through the text and change all of the -equation numbers and all references to those numbers each time -there is a revision. -Clearly this can get to be a big nuisance. -Wouldn't it be nice if \TeX\ would just take care of numbering -all of the equations properly each time it prints the manuscript -taking into account all of the revisions automatically.\hbreak -\centerline{{\it Joy of joys} it can be done!} - -\section{A Simple Solution to Numbering Equations} - -PHYZZX has a macro {\bf \\eq} which can take care of this chore for -you automatically. -All you have to do is type \hbreak -\tc{ \$\$ \it x + y = {\bf $\{$} 2 {\bf \\over} (x - y) {\bf $\}$} -\bf \\eqno\\eq \$\$} -to get \hbreak -$$ x + y = {2 \over (x-y)} \eqno\eq $$ -and you will have automatically generated an equation number. -The question is, {\it What sort of equation -number will you generate ?\/}. -Once again, this is a question of style. -If you are in the Phys.Rev. format, or in the default Nuclear Physics -format then the equation label is of the form -{ \it chapterlabel.equation number}. -Equations are numbered sequentially within each chapter, but -when you change chapters the chapter number is increased by -1 and the equation number is reset to 1. -If you have chosen the format with unnumbered chapters and sections, -then {\\eq } will automatically generate sequential equation numbers. -As far as we are concerned this is the most satisfactory way of -numbering things. -For short papers, i.e. those with only one chapter, choose the unnumbered -chapter format and all of your equations will be numbered sequentially; -for longer papers, i.e. those which call for dividing them into -chapters, numbering the equations by their chapter and number within -the chapter makes it easier to refer to them. -Sometimes, however, either out of perversity or because a paper -has many chapters but very few equations, an author wishes to -choose the format with numbered chapters but sequential equation numbers. -This will happen if, before entering the first equation in your paper -you type the command {\bf \\sequentialequations} -Hence, in the default mode, typing -\tc{ \$\$ \it 7x + 11x\bf \^\ \it 2 = 50 \bf \\eqno\\eq \$\$ } -\tcon{ \$\$ \it 3x + x\bf \^\ \it 3 = 85 \bf \\eqno\\eq \$\$ } -\tcon{ \$\$ \it 4x + 8x\bf \^\ \it 7 = 12 \bf \\eqno\\eq \$\$ } -\tcon{ \$\$ \it 7x + 4x\bf \^\ \it 2 = 0 \bf \\eqno\\eq \$\$ } -\tcon{ \$\$ \it x + 21x\bf \^\ \it 5 = -5 \bf \\eqno\\eq \$\$ } -yields -\equanumber=0 -$$ 7x + 11x^2 = 50 \eqno\eq $$ -$$ 3x + x^3 = 85 \eqno\eq $$ -$$ 4x + 8x^7 = 12 \eqno\eq $$ -$$ 7x + 4x^2 = 0 \eqno\eq $$ -$$ x + 21x^5 = -5 \eqno\eq $$ -If, however, you first type {\bf \\sequentialequations}; -then typing \hbreak -\tc{ \$\$ \it 7x + 11x\bf \^\ \it 2 = 50 \bf \\eqno\\eq \$\$ } -\tcon{ \$\$ \it 3x + x\bf \^\ \it 3 = 85 \bf \\eqno\\eq \$\$ } -\tcon{ \$\$ \it 4x + 8x\bf \^\ \it 7 = 12 \bf \\eqno\\eq \$\$ } -\tcon{ \$\$ \it 7x + 4x\bf \^\ \it 2 = 0 \bf \\eqno\\eq \$\$ } -\tcon{ \$\$ \it x + 21x\bf \^\ \it 5 = -5 \bf \\eqno\\eq \$\$ } -yields -\sequentialequations -$$ 7x + 11x^2 = 50 \eqno\eq $$ -$$ 3x + x^3 = 85 \eqno\eq $$ -$$ 4x + 8x^7 = 12 \eqno\eq $$ -$$ 7x + 4x^2 = 0 \eqno\eq $$ -$$ x + 21x^5 = -5 \eqno\eq $$ - -Since you are an astute reader you have no doubt noticed -that what I have told you to this point only solves half of the -problem. -While {\bf \\eq} automatically generates equation numbers -which, each time you run the paper through \TeX\ , -are automatically updated to conform to the order in which -they appear in the text, we have no a priori way of knowing what these -numbers are. -The question is, {\it How do we get hold of these numbers so that -we can refer to them in the text?\/} -Well, {\bf \\eq} provides a partial solution to this problem by -definiing the control sequence {\bf \\?} a synonym for that -number each time it is invoked. -Hence, typing {\bf \\?} at any point in the text causes \TeX\ to -print the number of the last equation in which you used the -command {\bf \\eq}. -For example by typing {\it equation \bf \\?} we cause \TeX\ to print -equation \? , which is the number of the last equation -appearing in our examples. -The only thing wrong with this solution is that the meaning of -the symbol {\bf \\?} changes each time you invoke {\bf \\eq}, -so what happens if you want to refer back to an equation -at several different points in the text? - -\section{Naming Equations: A Powerful Tool} - -In order to make it possible to refer back to a specific equation -without knowing its number, PHYZZX has a way of giving the equation -a symbolic name, like {\bf \\?}, which will always stand for the -number of that equation. -The macro which accomplishes this feat does this at the same time -it generates (and prints) the number associated with this -equation. -Since this command does just one more thing than the command -{\bf \\eq} does, we have given it a name which is just one -letter longer; the name is {\bf \\eqn}. -To use {\bf \\eqn} you type -\tc{ \\eqn\\{\it equation\_name}} -\equanumber=6 -Note carefully the \\ appearing before the equation name inside the -braces. -This backslash must always precede the name itself because you -are using {\bf \\eqn} to define a new control sequence and, as -we have already noted, control sequences always start with a \\ . -Also note the grouping symbols. -They tell \TeX\ to include everything in the braces as the -equation name and they are necessary. -To use this command you type something like \nextline -{\bf {\it the value of} \$ \\pi \$ {\it is}} \nextline -\tc{ \$\$ \\pi \\approx {\it 3.14159 } \\eqn\\{\it valueofpi} \$\$ } -to obtain \nextline - -the value of $\pi$ is -$$ \pi \approx 3.14159 \eqn\valueofpi $$ -If you now type \nextline -{\it the circumference of a circle is given by} \nextline -{\bf \$\$ {\it 2} \\pi {\it r} -\^\ {\it 2} \\eqn\\{\it circumference} \$\$ }\nextline -you define a new equation number and a new name. -The result of this is \nextline - -\noindent the circumference of a circle is given by -$$ 2\pi r^2 \eqn\circumference $$ -If we now type {\bf \\valueofpi} we get \valueofpi , -if we type {\bf \\circumference} we get \circumference . - -A little thought will convince you that this ability to name -equations is a very powerful time saving tool. -By giving names to equations you are able to refer to them -at will without ever giving a thought to the number they -will be assigned when the paper is printed. -If you use the command {\bf \\eqn\\{\it name}} to -deal with the numbering problem, then the number assigned to the -equation and all references to the equation will always be correct. -It won't matter if you delete equations, add equations, move -equations around, or decide to switch from the normal conventions -for numbering equations to sequential numbering, etc. - -\subsection{Restrictions on Equation Names} - -There are only a few simple rules you should observe when giving -names to equations using the command {\bf \\eq} -\pointbegin -First, the name has to be proceeded by a \\ as we already noted -\point -Second, the rest of the name has to be all letters. -{\it No numbers are allowed\/}. -You may however use upper and lowercase letters, and names can -be arbitrarily long. -Everyone seems to have his own favorite way of naming equations -in order to facilitate referring back to them later. -I invite you to play around with this until you find a scheme -which makes you comfortable. -\point -Third, try to remember to always use a different name for each -equation. -Neither \TeX\ nor PHYZZX will warn you if you give two equations -the same name. -They will quite happily change the meaning of the -previously defined name to mean the number of the last equation -to which you have given that name. -If you wish this to happen, o.k., however be sure that is what you -want or you will be in for some surprises later. -\point -Finally, {\it never use the name of any macro for an equation name}, -this road surely leads to disaster. -For example, if you accidentally type {\bf \\eqn\\bf} -you not only change the previous meaning of {\bf \\bf} but you -also mess up any macro which uses that control sequence. - -As an example of this I note that the names {\bf \\herman}, -{\bf \\Suzanne}, {\bf \\duMMy } are all good names; however, -{\bf \\jerk3}, {\bf \\don't} and {\bf \\sl} are not. -There is one exception to this rule, you can give the name {\bf \\?} -to an equation, which is what the macro {\bf \\eq} does. -This is useful only if you intend to use it as a temporary name -for an equation that will be referred to once or twice before -the name is redefined. -If you really want to give use numbers for you equation names -roman numerals are all right. -You can name equations {\bf \\eqi},{\bf \\eqii},$\ldots$, -{\bf \\eqix }, etc. - -\section{Other Macros For Naming Equations} - -We have already noted that \TeX\ allows you to put equations -on the left hand side of a line using the macro {\bf \\leqno}. -For this reason, we too need a version of the naming macros -which do the same thing. -The obvious name for such a macro would be {\bf \\leqn} -and it is invoked by typing -\tc{\\leqn\\{\it equation.name}} -If you include this in an equation the number comes out on the left. - -In addition to this obvious addition to the macro set -there are macros meant to be used for the automatic numbering of -aligned equations. -To learn about aligned equations you should read in the \TeX book -or in {\bf First Grade \TeX }. -Assuming that you have done so, let me remind you how about how -aligned equations are generated, in order to set the stage for -explaining how the macros {\bf \\eqinsert}, {\bf \\leqinsert}, -{\bf \\mideqn} and {\bf \\midleqn} work. - -Aligned equations are, as the name implies, a set of equations -which appear one after the other. -In order to make the spacing between these equations look nice -and in order to make them line up so as not to look messy -PLAIN \TeX\ introduces the macro {\bf \\eqalign}. -This macro produces a list of equations which are aligned with -respect to some common feature of each equation, for example -an $=$ sign. -As with single displayed equations \TeX\ allows you to number these -sets of equations as if they are a single equation by using the -commands {\bf \\eqno}, {\bf \\leqno}. -PHYZZX, too, is kind and permits exactly the same thing; to do this you -use the commands {\bf \\eqn} and {\bf \\leqn}. -Since {\bf \\eqalign} is a macro whose argument is the text of the -equations, the way to use {\bf \\eqn}, etc. is to type them -{\it after} the right $\}$ which closes the {\bf \\eqalign} %{ -command. -For example, typing \nextline -{\bf \$\$ \\eqalign$\{$ \\cos $\{$ \\pi \\over {\it 6} $\}$\\ = \& \\ -\\sqrt$\{${\it 3/4}$\}$ \\cr \nextline -\\cos$\{$\\pi\\over{\it 4}$\}$\\ =\&\\ \\sqrt$\{${\it 1/2}$\}$ \\cr -\nextline -\\cos$\{$\\pi\\over{\it 3}$\}$\\ =\&\\ \\sqrt$\{${\it 8}$\}$ \\cr $\}$ -\\eqn\\trig \$\$ }\nextline -yields -$$ \eqalign{\cos{\pi \over 6}\ = &\ \sqrt{3/4} \cr -\cos{\pi\over 4}\ = &\ \sqrt{1/2} \cr -\cos{\pi \over 3}\ =&\ \sqrt{8} \cr} \eqn\trig $$ - -\subsection{Things to Remember About {\bf \\eqalign}} - -\pointbegin -The entire argument of {\bf \\eqalign} must be enclosed in braces. -Successive rows of the equation must be separated by the control -symbol {\bf \\cr} to tell \TeX\ to make a carriage return. -\point -Every row contains two parts (or {\it templates}) separated -by the special tabulation symbol \&. -This symbol tells \TeX\ what character you want to line up in each -line of the set of equations. -If you want half of some of the lines to be empty that is all right, -but the symbol \& must always appear. -Left and right braces within a {\it template} must balance separately. -\point -PLAIN \TeX\ sometimes puts aligned equations too close together. -If you want to force {\bf \\eqalign} to spread the lines apart -somewhat there is a special control symbol for doing this. -All you have to do is type {\bf \\cropen$\{${\it space}$\}$} -instead of {\bf \\cr} at the end of each line. -For example, {\bf \\cropen$\{${\it 12pt}$\}$ } will force -the lines 12pt further apart. -The control sequence {\bf \\crr} is an abbreviation for -{\bf \\cropen$\{${\it 10pt}$\}$}. - -Although it is not obvious from the previous example, {\bf \\eqalign} -won't always put the equation number where you would like it. -For example, if one of the equation lines is very long and -pushes into the right hand margin, then {\bf \\eqalign} will -put the equation number on a separate line below the last equation -in the set. -If, as often happens, there is only one or two long lines and -there is room on one of the other lines for an equation number -you can force \TeX\ to put it there if you wish. -The way to do this is to use the PLAIN \TeX\ control sequence -{\bf \\eqinsert} immediately following the {\bf \\cr} or -{\bf \\cropen} ending the line you wish to have the equation on. -If you type \nextline -{\bf \$\$} $\ldots$ {\bf =\&} $\ldots$ {\bf \\cr \\eqinsert$\{$ -{\it equation.number}$\}$ \$\$ } \nextline -then you get the equation number you specify on the line -indicated. -The corresponding PHYZZX macros which allow you to do this -while at the same time automatically generating a name and number -for the aligned set of equations are -\tc{\\mideqn\\{\it name}} -If you don't want to name the equation at the same time that -you automatically generate a number for it you can simply use -\tc{\\eqinsert\\eq} - -\subsection{Numbering Aligned Equations Independently} - -Sometimes you will wish to generate a set of aligned equations -but refer to each of them individually. -In this case you will wish to be able to number them independently. -PLAIN \TeX\ provides the control sequence {\bf \\eqaligno} -to handle this eventuality. -The command {\bf \\eqaligno} works like {\bf \\eqalign} -except that each equation line consists of three -parts (or {\it templates\/}) separated by the character \&. -The third template is where you put the appropriate label for -that line of the set of equations. -If you wish to number each equation line sequentially without -generating a name, then all you have to do is type \nextline -{\bf \$\$ \\eqaligno $\{$ {\it junk} \& {\it more junk} \& -\\eq \\cr $\}$ \$\$ }\nextline -If, however, you wish to name each line separately -you {\it may not} use the macro {\bf \\eqn}. -It will not work and will give you a peculiar message of the form -{\it you cannot use {\bf \\eqno} inside {\bf \\eqalign}}. -To name individual lines of aligned equations the correct macro -to use is {\bf \\eqnalign $\{$ \\{\it name} $\}$ } as the -entry for the third template followed by the command {\bf \\cr}. -The same command will work in {\bf \\leqaligno} which works -in exactly the same way as {\bf \\eqalign} but puts the contents -of the third template to the left of each equation instead of to -the right. -In general, {\bf \\leqaligno} causes more difficulties than -{\bf \\eqaligno} and you should read about it in the \TeX book -before using it. - -\chapter{REFERENCES, FIGURE CAPTIONS AND TABLE CAPTIONS: -THEIR NAMING AND NUMBERING } - -\section{References: Stuff Which Comes at the Back} - -To this point we have discussed the partitioning of a document -into it's major parts, and the automatic numbering and naming -of equations. -We now come to the question of generating references. -In general a reference is signaled by attaching a -label or reference mark, i.e. -either a superscripted number or a superscripted number -enclosed in delimiters (e.g., braces, brackets or parentheses), -to a specified word in the text. -This number indicates that in the back of the document, on a page -(or pages) labelled REFERENCES, one will find a corresponding -chunk of text prefaced by the same number. -This text will usually be -a reference to work published in some journal -or some comment which is only marginally relevant to the subject -being discussed. -Your problem as typist and editor is to generate the appropriate -number, attach it to the desired word and then type the desired -text into a separate file of text at the same time numbering it -with the corresponding number. -You therefore are faced with several formatting decisions; -namely, how to attach the reference number to the word in -the text, and how to format the references when they are typed -in the back of the paper. -Clearly, there is a real need for a macro -to help you handle this dull and repetitive chore. - -\subsection{What features should such a macro possess ?} - -First it should handle the task of -attaching the desired number to the designated word, and -then it should file away the pertinent text in a form which will -allow it to be printed at the end of the paper. -In addition to the mechanical act of attaching the reference mark and -sending the text to another page, we would also like it -to automatically generate the number for us; so that we don't have to -constantly refer back to the number of the last reference -inserted. -As in the case of equations, this would be nice, since then -the numbering will automatically come out correct even if we -add, delete or move references around. -Finally, since one often cites the same reference -in many places in the text, it would be nice for the macro to -allow us to name a reference (in the same way we named equations) -so that we can cite it without ever knowing exactly -what number PHYZZX has assigned to it.\nextline - -\centerline{PHYZZX \it has the macro capability to do all of this -and more.} - -Since, however, -there are may different ways in which people like to -generate and cite references we had to make the commands for -carrying out these tasks more flexible than those which we -have been discussing to now. -For this reason there are more of them to learn about -and their syntax is a little more complicated. -We will take them one at a time in increasing order of -generality. - -\subsection{Single References} - -Let us deal with the simplest case first. -Suppose you wish to generate a reference, mark the appropriate word -and save the indicated text for printing in the back of the paper. -The command used to accomplish this feat is -{\bf \\ref}. -The syntax of this command is -\tc{ \\ref$\{$\it text$\}$} -where the indicated text is the material which you wish to have -appear in the back of the paper. -For example if you type\ref{This is the place you want to put a -reference}{\bf \\ref$\{$ \it This is the place you want to put a -reference \bf $\}$}; then PHYZZX will, as you see, generate a -reference number, attach it to the word immediately preceding -the macro command and store the text in a file on your A disk. -Each time you invoke the macro {\bf \\ref} it increases the -reference number by 1 and adds the next reference to the file on -your A disk. -Anytime that you wish to print this file all you have to do is -type the command {\bf \\refout}. -Normally, you would wait to do this until the end of the document; -however, to see what happens we will now type {\bf \\refout} to -obtain -\nobreak -\refout - -\referencecount=0 -Note, that the simple command {\bf \\ref} is like the command {\bf \\eq}: -it automatically numbers the reference and stores it away, -however it does not allow you the freedom of naming it. -It is like {\bf \\eq} in another way; -like {\bf \\eq} it automatically -gives the reference the name {\bf \\?}. -This allows you to refer to the last reference until -you do something to redefine {\bf \\?}. -Clearly, this command has only -limited flexibility and one needs a more sophisticated command -to allow you to individually name each reference. -The command which does this is {\bf \\Ref}; the syntax for this -command is -\tc{\\Ref\\{\it name}$\{${\it text of reference}$\}$} -where {\it name} is the name you wish to assign to this -reference and {\it text} is the material which you wish to have -appear on the page of references at the back of the document. -To use the command {\bf \\Ref} you simply begin typing the -appropriate reference immediately following the word to which -the reference number is to be attached. -For example if you type \nextline -$ \ldots $ {\it this is the result obtained by Banks and -Kaplunovsky{\bf \\Ref\\}junkname{\bf $\{$}T.\~\ Banks -and V.\~\ Kaplunovsky \bf $\}$} -you get \nextline -$\ldots$ this is the result -obtained by Banks and Kaplnovsky\Ref{\junkname}{T.~Banks -and V.~Kaplunovsky}\nextline -Note that the word Kaplunovsky has a superscripted version of the -current reference number attached to it and the text has disappeared. -The text is stored away in a file called -{\bf referenc.texauxil}. -This file is automatically stored on your A disk -when the \TeX\ file is processed. -Once again, to print this stuff we type {\bf \\refout} - -\refout - -\noindent If we wish to refer to this reference we need only type -{\it Ref. {\bf \\junkname}} to obtain Ref.\junkname . -Note that when you type {\bf \\junkname} you do not automatically -get a space after the number generated, even if you typed one. -This is because \TeX\ eats a space which appears after a control -sequence. -If you want a space to follow the number you should type -{\bf \\junkname\\ \quad }; i.e., {\bf \\junkname} followed -by a {\bf \\ \it (space)}, which is \TeX 's control sequence for an -extra space. - -\subsection{Gaining Ultimate Control of Referencing} - -Recapping, we see that -the command {\bf \\Ref} basically does for references what {\bf \\eqn} -does for equations. -Ordinarily, {\bf \\Ref} is the most convenient version of the -reference command and will be the one you will use most -often. -There will be situations, however, where you wish to generate a named -reference without generating its reference mark. -For example, you may be typing a formula, or a footnote and wish -to put the superscripted reference mark inside the footnote or formula -(or for that matter, inside some {\bf \\hbox} which you are -defining). -You must be careful because the command -{\bf \\Ref} cannot be used in these situations. -This has to do with the way in which it goes about doing its job. -You really don't have to know the reasons why it won't work, -you just have to know it won't. -This problem is easily solved if you know how to use the most -flexible form of the reference command; namely, the command -\tc{\\REF\\{\it junkname}$\{$ {\it text }$\}$} -As you see the syntax of this command is identical to {\bf \\Ref} -and in fact, it does almost exactly the same thing. -It generates a dummy name ({\bf \\junkname}) and writes the text -material into the file {\bf referenc.texauxil}. -The difference is that when {\bf \\REF} is finished it does not -attach the reference mark to the preceding word. -To attach the reference mark to a specific word you type the command -{\bf \\refend} immediately following that word. -Basically, what {\bf \\Ref} does is invoke the command {\bf \\REF} -immediately followed by the command {\bf \\refend}. -Dividing the reference generating command from the -command which attaches the reference mark -solves all of the aforementioned problems. -If you wish to put a reference in a forbidden place, like a footnote, -or hbox, or formula, all you have to do is use {\bf \\REF} -somewhere before you enter the forbidden territory and then use -{\bf \\refend} immediately following the place where you want the -reference mark. - -\subsection{Generating Your Own Reference Marks} - -Since the referencing commands are the ones which are -most often played with (because -so many people have their own styles for referencing things) it -is worth spending a few moments giving you a better understanding -of the various subcommands which go into their construction. -First, you should know that the current value of the number -assigned to the last reference -is filed away under the name -{\bf \\referencecount}. -To get hold of this number you type -\tc{\\number\\referencecount} -and then \TeX\ will type out the current value of this number. -PHYZZX attaches this number to a word by invoking -the command {\bf \\refmark}. -The syntax of the control sequence {\bf \\refmark} is -\tc{\\refmark$\{$ {\it number or name of reference}$\}$ } -When this command is issued PHYZZX tells \TeX\ to generate a -superscripted version of the material appearing inside the braces -and attach it to the word immediately preceding the place where you -typed this control sequence. -It is not advisable to leave spaces between the word -and the command {\bf \\refmark} (or for that matter {\bf \\ref, \\Ref} -and {\bf \\refend}), -because if space is left it might creep into the text. -The command {\bf \\refmark} does one more thing, it changes the -appearance of the reference mark depending upon whether the paper -is in Nuclear Physics or Physical Review format. - -Since I have referred to {\bf \\refmark} as a subcommand -it is only fair to give an example of how it is used. -One place is in the definition of the command {\bf \\refend}. -PHYZZX defines the command {\bf \\refend} to mean -\tc{\\refmark$\{$\\number\\referencecount$\}$} -Using {\bf \\REF} to define a reference outside -of a forbidden region and using {\bf \\refend} inside this region -to generate the reference mark provides only a partial solution to the -problem we have been discussing. -This is because {\bf \\refend} causes the current value -of {\bf \\referencecount} to be printed. -If, for some reason you wish to delay the printing of -several reference names; or, if you wish to mix and match various -references and stick them in a single reference mark, you can -do this by typing {\bf \\refmark$\{$ \\junkname} $\ldots$ {\bf $\}$} -In this way you can gain all but stylistic control -of your reference marks. -It is still true that {\bf \\refmark} changes the form of the -reference mark depending upon whether the paper is headed for -Phys.Rev. or Nucl.Phys. - -To gain total control of your reference marks -you need to use the command {\bf \\attach}. -The syntax of this command is -\tc{\\attach$\{$ \it stuff \bf $\}$} -What {\bf \\attach} does is put {\it stuff} into math mode, -make a superscript out of it and attach it to the word that -comes before. -It also spaces from that word so as to make the attached -quantity look most natural. -The {\bf \\attach} command does nothing at all to the reference -mark and it is independent of the format of the paper. - -\subsection{Multiple References} - -You have now learned all you should know about generating -single references and taking complete control of the way in which -they generate reference marks. -However, you still do not know everything about the -way in which PHYZZX can handle references. -This is because we have not yet discussed the question of -multiple references. - -{\it What is a multiple reference?} and {\it Why should I care about -multiple references?} you ask. -Good question! -In principle you don't need to care about them at all. -You already have the basic tools for handling any referencing problem -should the need arise, all you need to do is -use the commands {\bf \\REF} and {\bf \\refmark}. -Nevertheless, since multiple references occur frequently, especially -in experimental papers, they merit a special -construct to make them simpler to handle. - -The problem of generating multiple references comes up -when you reach a point in the text where you wish to -add a reference to several authors and at the same time -you do not wish to have this saved as a single reference. -This may happen for several reasons, the principal reason -being that you may wish to refer to some of these references -individually at a later point in the text. -In this case there exists a set of commands which allow you -to do this. -These commands allow you to tell \TeX\ that the material to -follow will define and name several references. -They assign a number to each of these references, -store them away individually and then attach the reference mark \nextline -$\{$ {\it number of first ref. in set -- number of last ref. in set}$\}$ -\nextline -The presence or absence of delimiters (in the form of brackets) depends -upon whether or not you have typed {\bf \\PHYSREV}. -The commands which perform this service are -\tc{\\REFS\\{\it name}\bf$\{$ \it text \bf$\}$} -\tcon{\\REFSCON\\{\it name}\bf $\{$ \it text \bf $\}$} -and -\tc{\\refsend .} - -To use these commands to generate multiple references you invoke -them sequentially. -For example, suppose you wish the next three references to form -a single multiple reference. -Begin by selecting the word to which you wish to attach the -reference mark. -After the word to which you wish to attach the appropriate -reference mark, you type in the first reference -\referencecount=0 -\REFS\first{This is the first reference of a series.} -\REFSCON\second{The papers just mentioned are unimaginative, -stupid, incorrect and besides I did it first.} -\REFSCON\third{I am running out of references.} -by typing \nextline -{\bf \\REFS\\{\it first}\bf $\{$ \it -This is the first reference of a series. \bf $\}$} \nextline -You then type the next reference using the command {\bf \\REFSCON} -as follows \nextline -{\bf \\REFSCON\\{\it second}\bf $\}\{$ \it -The papers just mentioned are unimaginative, -stupid, incorrect and besides I did it first.\bf $\}$} \nextline -In the same way you continue with {\bf \\REFSCON} to generate -all succeeding references. -Hence, to input the third reference you type \nextline -{\bf \\REFSCON\\{\it third}\bf $\{$ \it -I am running out of references. \bf $\}$ } \nextline -You finally cause PHYZZX to generate the reference mark by -typing\refsend -\tc{\\refsend} -after the closing brace of the last reference. -As you see, this set of macros has kept track of the numbers -of the references, filed the text for -each reference away and finally combined the number of the first -and last reference in the set into a single reference mark and -attached it to the word {\it typing}. -To see what has been filed away we type {\bf \\refout} -and obtain - -\refout - -If you wish to generate an automatically numbered multiple -reference but have no need to name the individual references -then we provide the commands {\bf \\refs} and {\bf \\refscon}. -The syntax of these commands are -\tc{\\refs$\{$ \it text \bf $\}$ } -and -\tc{\\refscon$\{$ \it text \bf $\}$ } -The command {\bf \\refs$\{$ \it text \bf $\}$} is equivalent -to {\bf \\REFS\\?$\{$ \it text \bf $\}$ } -and the command {\bf \\refscon$\{$ \it text \bf $\}$} -is equivalent to {\bf \\REFSCON\\?$\{$ \it text \bf $\}$}. -The fact that the name {\bf \\?} is assigned -to each reference in turn makes it less useful than in the command -{\bf \\ref} and so you would not tend to use this command unless -you are typing an already finalized manuscript. - -\subsection{The Problem of Long References } - -First, you we should observe that there is no problem combining -many citations in a single reference. -Obviously, this can be done by typing them in as the argument -of any one of the reference commands. -If, however, you wish to have a series of citations all appear -under the same number, but wish to have them appear on -individual lines all you have to do is follow each one by the -command {\bf \\nextline}. -What {\bf \\nextline} does is generate a neat break and starts -\TeX\ off printing the material which follows at the beginning of -a new line. -The important fact about {\bf \\nextline} is that it preserves -the indentation of the text established by the reference macro. - -This brings us to the second point. -{\it What happens if you wish to have a reference which consists -of several paragraphs ?\/} -Here you have to be careful, since if you use the command {\bf \\par} -or leave a blank line (which amounts to the same thing) -you will spoil the indentation of the text material. -To avoid this a special macro exists called {\bf \\subpar}. -To get vertical space between text in a single reference -type the command {\bf \\subpar} -whenever you would ordinarily insert -the command {\bf \\par} or leave a blank line. -It will accomplish the same feat as {\bf \\par \\noindent} -but it will not mess up the formatting of the reference page. - -Having discussed the way to properly generate long references, we -now come to the problems this will cause. -The fact is, \TeX\ has trouble writing long lines to -an external file. -Since, as far as \TeX\ is concerned the argument of any one of -the reference macros is just one long line, there will come the -time when \TeX\ will complain in a mysterious way. -If you are running interactively it will issue a horrible looking -PASCAL error message (sending the unforwarned into a case of -cardiac arrest) and then continue with its processing. -Since \TeX\ will resume processing after this frightening hiatus -you will promptly recover, shake your head and say {\it Ain't -computers peculiar?\/}. -You will also, in all probability, ignore the fact that it happened. -This will be a mistake. -If you look in {\bf referenc.texauxil} on your A disk, you will find -that \TeX\ has found one of the references is too long -and has chopped it off, replacing most of the text by -{\bf \\ETC}. -I presume that in general this will not be what you intended. -\nextline -\titlestyle{\twelvepoint \it Have no fear, PHYZZX is here !}\nextline -There is a control sequence which solves this problem; unfortunately, -it is not a really neat solution. -The solution is to go back into the reference and type -{\bf \\splitout} at various places in the text. -This command tells \TeX\ to begin sending a new line to the -file. -As I said, this is a solution but not an elegant one. -We are saddened that the elegant solution has escaped us and -hope that a \TeX pert out there will tell us a better way to proceed. - -\subsection{Questions of Style} - -Sometimes you will wish to attach a reference mark to a word -which is immediately followed by a comma. -This presents you with two choices neither of which produce -truly satisfactory text. -If you type \nextline -\ $\ldots $ {\it this is the place,}{\bf \\refend} \nextline -you get \nextline -$\ldots $ this is the place,\refend \nextline -and if you type \nextline -$\ldots $ {\it this is the place}{\bf \\refend}, \nextline -you get -$\ldots $ this is the place\refend , \nextline -In the first case the reference mark is really attached to the -comma, causing an unsightly extra amount of space; -in the second case the reference mark separates the word from -the comma, which is even worse. -The way out of this predicament is to make use of Knuth's -command {\bf \\rlap} -If you type \nextline -$\ldots $ {\it this is the place}{\bf \\rlap},{\bf \\refend} \nextline -you get \nextline -$\ldots $ this is the place\rlap,\refend \nextline -which is much better. -Obviously the same trick applies to the macros -{\bf \\refsend}, {\bf \\refmark}, {\bf \\ref}, {\bf \\Ref} and -{\bf \\attach}. - -Because of the way references work you always get a single -space after an attached reference. -Basically this means that if you attach the reference mark to -the last word in a sentence, the next sentence will start too -close. -There is a way out of this dilemma. -Type \nextline -{\it the end of the world}{\bf \\rlap}.{\bf \\refend\\ \quad} -The next\nextline -which will produce \nextline -the end of the world\rlap .\refend\ The next \nextline -The {\bf \\ \quad} forces more space between the sentences. - -Finally, if you need a reference followed by a colon and want -to get rid of the extra space that the reference macro puts in -simply type {\bf \\refend\\unskip}. -The command {\bf \\unskip} is a Knuth construct which eats -the last extra space you entered. -(Actually, it eats the last bit of glue that -was inserted into the text, but that is a matter for \TeX perts.) - -\subsection{Typing Journal Entries: A Convenient Macro } - -Since many of the references which appear in a paper are -citations of articles appearing in various physics journals -we have a special macro to handle this problem. -The reason one uses a macro to do this is that \TeX perts -are expected to typeset such references with the journal name -in as slanted ({\bf \\sl}) font, the volume number in boldface -({\bf \\bf}) font and the remaining text in roman ({\bf \\rm}) font. -You can either remember to do all of this or you can use the -command {\bf \\journal}. -The syntax of this command is -\tc{\\journal{\it journal name}{\bf \&}{\it volume number}% -{\bf (}{\it year}\bf )} -This command is used inside any -one of the reference commands as follows: -if you want to obtain the same result as typing \nextline -{\bf \\ref$\{$ \it T.\~\ Banks and V.\~\ Kaplunovsky \bf \\sl -\it Nucl. Phys. \bf \~\ -\\bf \it B211 \bf \\rm \it (1983) 529 \bf $\}$} \nextline -you need only type \nextline -{\bf \\ref$\{$ \it T.\~\ Banks and V.\~\ Kaplunovsky \bf -\\journal \it Nucl.Phys.\bf \& \it B211 (83) 529 $\}$} -This will produce a reference entry of the form \nextline -\refitem{1.} T.~Banks and V.~Kaplunovsky \journal Nucl.Phys. & B211 (83) -529 - -Note, the blanks before {\bf \\journal}, before and after the -character {\bf \&} and before and after the {\it (year)} are -optional. -If everything is working as it should they will have no effect -on the final result. -On the other hand, be careful about blanks within the parentheses; -if you put them in they will appear. -Thus, typing ( 83 ) produces a different result from typing (83). -The first will result in the journal year being typed as 19 83 -and not 1983 which is, presumably, the desired result. - -\section{Figures and Tables} - -There are two other things which tend to appear at the end -of a paper and to which one refers in the text. -These are Figure Captions and Table Captions. -In general these things come up as you are typing -in some text and decide {\it Aha! This is a good place for a figure -(or table)}. -As with equations and references, it is convenient to be able -to generate a number for this figure(table), name it and file -away the text of the figure caption (or something which will remind -you what figure you wanted to put there) in a file called -{\bf figures.texauxil} (or {\bf tables.texauxil}) to be printed -at the end of the paper. -The commands which accomplish this feat are -\tc{\\FIG\\{\it name}\bf$\{$ \it text $\}$} -and -\tc{\\TABLE\\{\it name}\bf $\{$ \it text \bf $\}$} -As in all other variants of this naming convention, -{\bf \\name} will be the name of the figure (or table) -generated, and {\it text} is the material to be stored away -in a file on your A disk. -These commands work like the reference or equation commands -in that the numbering is automatic and -will always be correct no matter how you subsequently modify the -text. -The commands, analagous to {\bf \\refout}, which print the -list of figure or table captions are -\tc{\\figout} -and -\tc{\\tabout} -which should come as no big surprise. - -There is a fundamental way in which the figure and table caption -macros differ from the reference macros; namely, they do not -automatically generate a reference mark. -This is because you normally want to say something like \nextline -$\ldots$ {\it as you can see from Fig. 7 } \nextline -or something like that. -The basic macros, i.e. {\bf \\FIG} or {\bf \\TABLE} permit -you to type this in as you please. -For example, one way to have \TeX\ generate the line above -is to type \nextline \figurecount=7 -{$\ldots $ \it as you can see from \bf \\FIG\\?$\{$ \it text -\bf $\}$} Fig.{\bf \~\ \\?} \nextline -which will produce \nextline -$\ldots $ as you can see in \FIG{\?}{this is the picture of the Mona -Lisa generated as a fractile} Fig.~\? \nextline -Obviously, using this form of the command (either for a figure or -a table) you have total control of what follows. -Moreover, for simplicity I chose to name the figure {\bf \\?} -since I only intended to refer to it this one time. -It is clear that I could have given it any name. - -For those of you who are happy to use the command exactly in this -way, i.e. to name the figure {\bf \\?}, file away the caption -and then type either {\it Fig.\~\ \\?} or {\it fig.\~\ \\?} -there are two macros, named {\bf \\Fig} and {\bf \\fig} -respectively. -The syntax of these commands is somewhat simpler; namely, -\tc{\\Fig$\{$ \it text \bf $\}$} -and -\tc{\\fig$\{$ \it text \bf $\}$ } -They are the analogues of the set of reference macros which -automatically generate a reference mark whose name is {\bf \\?} -after filing away the text of the figure caption. -What they do is first execute the command \nextline -\tc{\\FIG\\?$\{$ \it text \bf $\}$} -and then follow this by either Fig.\~\ or fig.\~\ . -The analagous macro for tables is -\tc{\\Table$\{$ \it text \bf $\}$} -which performs the same task as typing -\tc{\\TABLE\\?$\{$ \it text \bf $\}$ \rm Table\bf \~\ \\?} - -This completes our discussion of macros associated with {\it things -which come at the back}. - -\chapter{FOOTNOTES: THINGS WHICH COME AT THE BOTTOM} - -Everybody knows what a footnote is and you have already seen an -example of a footnote appearing on page~5. -Basically what a footnote macro has to do is -attach a footnote mark to a specified word and then -file away material to be put at the bottom of the page -(in ten point type). -The macro has to decide what to do if the footnote is too long, -or if many footnotes appear on the same page. -In addition, it has to decide what footnote mark to generate. -PHYZZX has two macros which carry out this feat. - -The first macro, {\bf \\foot}, has the syntax -\tc{\\foot$\{$ \it text $\}$} -where the text of the footnote is to be inserted between the -braces. -When you invoke this command immediately following the word -to which you want to attach a footnote mark it does several -things. -First it generates the footnote mark and attaches it to the -preceding word. -If you are in the Nucl.Phys. format, this symbol will automatically -be chosen from the set of symbols $\star$, $\dagger$, $\ast$, -$\ddagger$, $\natural$, $\diamond$, $\bullet$ and $\nabla$. -The macro will continually cycle through this table, according -to a specified algorithm, in such a way that the same symbol -will not (except in truly extraordinary circumstances) appear twice -on a single page. -If you are in PHYSREV mode, then the footnote mark will be a -superscripted $\sharp$ sign followed by the current value of -{\bf \\number\\footsymbolcount}. -This is a truly ugly convention, however it is included only -to provide something for people who insist on numbering footnotes. -Actually, Phys.Rev. does not like footnotes and preferes this -material be included in with the references as endnotes. - -Note, that as with references, the text of a footnote is -indented using the \TeX\ command {\bf \\hangindent}, -hence to insert multi-paragraph footnotes one cannot use the {\bf \\par} -command but must use instead the {\bf \\subpar} command. -If you don't do this, but use {\bf \\par} (or equivalently insert a -blank line) then \TeX\ will, obligingly, turn off the {\bf \\hangindent}. -This will, of course, mess up the footnote considerably. - -\subsection{Hints and Warnings} - -Since footnotes use \TeX 's basic {\bf \\insert} command, -they are meant to be used in {\it unrestricted horizontal mode}. -In other words, you use them inside paragraphs, but outside -of {\bf \\hbox}, {\bf \\centerline} or similar commands. -If you don't understand the meaning of the phrase {\it unrestricted -horizontal mode} you should read about it in the \TeX book, -or in {\bf First Grade \TeX }. -This fact means that one has to be careful in attempting combine -certain other control sequences with the {\bf \\foot} command. - -\pointbegin -Do not define references, figure captions, table captions, etc., -inside the text of a footnote. -If you must put a reference mark inside a footnote use the command -{\bf \\REF} somewhere before you start the footnote and then -use {\bf \\refend} inside the text of the footnote. - -\point -If you choose to invoke a footnote when you are in vertical mode -between paragraphs, then the footnote, complete with its footnote -mark, will be generated; however, since there is nothing to -attach this mark to, no superscripted footnote mark will appear. -Since the command will generate a footnote mark, the counter -{\bf \\footsymbolcount} will be advanced and so, insofar as PHYZZX -is concerned, the symbol is waiting around to be used. -Hence, if you wish to attach this symbol to a word at a later point -this can be accomplished by use of the subcommand {\bf \\footattach}. -All you have to do to use {\bf \\footattach} is type it immediately -following the word to which you wish to attach the footnote mark. -This command works just like {\bf \\attach} or {\bf \\refmark} -except that it attaches the current footnote mark and knows whether -to use Nucl.Phys. or Phys.Rev. format. - -\point -We already noted that if you wish to attach a footnote -inside of a box (either horizonatal or vertical) -the way to do it is to use {\bf \\foot} after the previous paragraph -has ended, but before you make the box in question. -Then use the command {\bf \\footattach} inside the box. -What happens if you need to attach the footnote mark -to something inside a box which appears inside a paragraph? -In this case you can use the PLAIN command {\bf \\vadjust} -to accomplish this feat. -Simply type -\tc{\\vadjust$\{$ \it text \bf $\}$\\nobreak} -immediately before the box and then use {\bf \\footattach} inside -the box. - -\subsection{Controlling Your Footnote Marks} - -Once again, this section is for those who wish to go beyond -the mundane and use unusual symbols for their footnotes. -This can be done by using the PHYZZX command -\tc{\\footnote$\{$ \it symbol \bf $\}\{$ \it text \bf $\}$ } -which will generate a footnote using the {\it symbol} you have -specified as the footnote mark. -The symbol can be any math mode symbol, or any outr\'e thing -that you can think up. -The symbol does have to be in math mode, so if it is something -you made up instead of a math mode control sequence, be sure to -{\bf \\hbox} it and enclose it in \$ signs. - -\chapter{ITEMIZED LISTS: POINTS, ITEMS AND OTHER STUFF} - -You now have all of the necessary information to allow you -to use PHYZZX to format a paper for the printer: you can -tell him to set up chapter, section and subsection headings; -number equations; format the reference, figure caption and -table caption page; format footnotes, keep track of how -many are on a page and carry them over to succeeding pages if -it is necessary. -From a stylistic point of view there is nothing more for you -to learn about papers. -Using the basic commands defined in PLAIN \TeX\ and those -PHYZZX macros which we have already discussed, you are now -capable of generating a paper of the correct style to be -the body of a SLAC preprint. -What we have not discussed to this point are things like macros for -title pages and macros which make typing special constructions -simpler than they would be in PLAIN. - -In this section we will discuss a set of -macros which make the construction -of {\it itemized lists} particularly easy to achieve. -Itemized lists appear most often when one is outlining a paper -and trying to arrange the material in some systematic fashion. -This sort of outline shows up in memos and the introduction to a -paper. -Itemized lists also appear in the body of the text when one wants -to make a series of points and, at the same time, clearly separate them -from the format of the general body of the text. - -Lists of this sort are conventionally set up as a series of indented -paragraphs preceded by some sort of highlighting symbol. -This symbol can be a number, letter, roman numberal or some math -mode symbol such as a dot, star, diamond, etc. -When used in writing outlines, etc., one indicates the major divisions of -the outline by indenting the text associated with -them some fixed amount and highlighting this text with a specific -type of symbol. -When itemizing the ideas which fall within each major division, one -usually indents the text somewhat more than one did for the major -divisions and highlights each of these sub-points with a symbol -which differs in type from those used to highlight the major points. -One then further subdivides each of these categories into smaller -steps and indicates this fact by once again increasing the amount of -indentation and once again changing the type of highlighting symbol used. -So on ad-infinitum $\ldots$ - -Obviously, at least for those of you who have read the \TeX book, -all of this can be done using the commands {\bf \\hangindent} -and {\bf \\hangafter}. -However, if one is creating long lists of points, subpoints, -subsubpoints, etc., then keeping track of the symbols and -appropriate levels of indentation can get to be a problem. -For this reason PHYZZX provides a series of macros to make this as simple -as possible. -As in the previous cases, we will begin by discussing the -fixed format versions of the macros, which are the ones which are easiest -to use, and go on to discuss the ones which allow you greater flexibility. - -\section{Fixed Format Lists: Points, Subpoints, Subsubpoints} - -\subsection{Points} - -The macros {\bf \\point},{\bf \\subpoint} and {\bf \\subsubpoint} -exist to make it easy to deal with itemized -lists having up to three levels -of indentation. -The first level of indentation is the smallest and is generated by -typing the command {\bf \\point} followed by the text associated with that -point. -Note that unlike the reference or footnote macros, -the text associated with -a {\bf \\point} {\it does not} need to be enclosed in braces. -Points, etc. are constructed using the {\bf \\hangindent} command -and so \TeX\ accepts all of the text up to the next {\bf \\par} (or blank -line) and formats it as you desire. -For this reason, if a point is to consist of more than one paragraph -{\it do not use the {\bf \\par} command to generate the second paragraph} -but, instead, use the special command {\bf \\subpar}. -In addition to indenting the material to follow, the command -{\bf \\point} also generates a number for the point and attaches it -to the left of the first line. -You have seen examples of points in other parts of this writeup; go back -and look at them if my sentences are confusing. -Each time you type {\bf \\point} -PHYZZX generates a new paragraph, increases -the number of the last point by one and appends this to the left of the -first line of the new point. -Obviously, this works well until you finish with a given set of points -and then decide you want to make a new list of points at a later point -in the same paper. -Except in unusual circumstances you would like the first item on this -list to be labelled 1, and not start up from the number assigned to -the last point in the previous list. -To avoid this sort of calamity you use a special command to begin -a new set of points namely, the command {\bf \\pointbegin}. -(Clearly this choice of nomenclature is far -from sprightly and imaginative, -but it is easy to guess what the correct command is even if you -have forgotten it.) - -As an example suppose you type \nextline -{\bf \\pointbegin} \nextline -This is the first point I wish to make. \nextline -{\bf \\point} \nextline -This is the second point. \nextline -{\bf \\point} \nextline -I am not very imaginative, so this is the third point. \nextline -You then obtain -\pointbegin -This is the first point I wish to make. -\point -This is the second point. -\point -I am not very imaginative, so this is the third point. - -\noindent -You then return to typing ordinary text by following the text of -the last point in your list with a {\bf \\par} or blank line. - -\subsection{Subpoints and Subsubpoints} - -The format of a subpoint is that it is indented further and -highlighted by lower case letters enclosed in parentheses. -The command for generating a subpoint is {\bf \\subpoint} -and, as with points, each time you type {\bf \\subpoint} -you automatically generate the next letter in the alphabet -as a highlight. -As with points, in order to start the numbering over again -you start each set of subpoints by typing -{\bf \\subpointbegin} instead of {\bf \\subpoint}. -For example, typing \nextline -{\bf \\pointbegin} \nextline -This is the first point I wish to make. \nextline -{\bf \\subpointbegin} \nextline -This is the first subpoint. \nextline -{\bf \\subpoint} \nextline -This is the second subpoint \nextline -{\bf \\subpoint} \nextline -Etc. \nextline -{\bf \\point} \nextline -This is the second point. \nextline -will generate -\pointbegin -This is the first point I wish to make. -\subpointbegin -This is the first subpoint. -\subpoint -This is the second subpoint -\subpoint -Etc. -\point -This is the second point. - -Subsubpoints are the last automatically provided subdivision -and are generated using the commands {\bf \\subsubpointbegin} -and {\bf \\subsubpoint}. -They are indented still further and highlighted by lower case -roman numerals enclosed in parentheses. -I leave it to you to generate you own examples of subsubpoints, -the syntax is completely similar to that of the previous examples. - -The command {\bf \\spoint} is acceptable as an abbreviation -for {\bf \\subpoint}. -Abbreviations for the other commands are similar; i.e., -\settabs 3 \columns -\+ {\bf \\spointbegin} & for &{\bf \\subpointbegin} \cr -\+ {\bf \\sspoint} & for & {\bf \\subsubpoint} \cr -and -\+ {\bf \\sspointbegin} & for & {\bf \\subsubpointbegin} \cr - -\section{For Less Structure Consider Items} - -There will come the time, especially for those of you who learn -to use \TeX\ to generate transparencies, when you want to be able -generate itemized lists, but you don't want the highlighting -to happen automatically. -Instead you might like to generate stuff with a {\bf \\bullet} -or an {\bf \\ast} as a highlight. -For those among you who are left brain dominated and -feel the need for a macro set which -takes care of the boring details of indentation, but allows -you to play fast and loose with the highlights, -PHYZZX provides the macros -\tc{\\item$\{$ \it symbol \bf $\}$} -\tc{\\subitem$\{$ \it symbol \bf $\}$} -and -\tc{\\subsubitem$\{$ \it symbol $\}$} -(The last two commands can be abbreviated as {\bf \\sitem} and -{\bf \\ssitem} respectively.) - -\item\bullet -For example, this item was generated by typing {\bf \\item\\bullet}. -Note that I did not put {\bf \\bullet} in braces since it -is a single control sequence. If I had, however, it would have -done no harm. -Spaces and blank lines before {\bf \\item} are irrelevant, -however, since {\bf \\bullet} is a control sequence and eats -one space following it, you have to have at least one blank -after {\it symbol}. -Once again I caution you that if you put a blank line or {\bf \\par} -after {\bf \\item} and before the text, or inside a multiparagraph -{\bf \\item}, then you destroy the level of indentation. -{\it Remember, indentation only holds for a single paragraph in \TeX .} - -\item\ast -As a second example consider this item which was generated by -typing {\bf \\item\\ast} - -\item\dash -Or this, which was generated by typing {\bf \\item\\dash}. - -At this point I have inserted a blank line in my text and have -caused the item to terminate and the text reverts to its ordinary -format. - -\item\clubsuit -This is item {\bf \\item\\clubsuit} - -\sitem\diamondsuit -And this is {\bf \\sitem\\diamondsuit} - -\ssitem\dash -Finally, this is a subsubitem; \nextline -it was generated by typing -{\bf \\ssitem\\dash}. - -\section{Having Your Cake and Eating It Too!} - -Clearly, the {\bf \\item},{\bf \\sitem} and {\bf \\ssitem} -macros provide you with the ultimate in flexibility -in the choice of highlighting conventions. -With them alone you can choose your own format for numbered lists -and never have to accept the format imposed by {\bf \\point}, etc. -However, the total lack of structure of {\bf \\item}, etc. -has a drawback; namely, if you use it to define your points, subpoints -etc., you are responsible for keeping track of all of the numbering. -This is certainly not too -formidable a task, but it can get tedious. \nextline -\centerline{\it Fortunately, there is a middle ground.} - -\subsection{Levels of Indentation} - -If all that you want to do is change the levels of indentation -of points, subpoints and subsubpoints you only have to modify -the parameter {\bf \\itemsize}. -This parameter is a dimension stored away in \TeX 's memory -and items are indented {\bf 1.0\\itemsize}, subitems are indented -{\bf 1.75\\itemsize} and subsubitems are indented {\bf 2.5\\itemsize}. -The current value of {\bf \\itemsize} is 30pt (30 points); -however, you can change this by simply typing -\tc{\\itemsize = \it 40pt} -or whatever else strikes your fancy. - -\subsection{Getting More Serious} - -Let us suppose, although I cannot imagine that this could possibly -be the case, that you have more serious problems with points, subpoints -and subsubpoints. -Perhaps you would prefer to define your own listing macros -so that {\bf \\mypoint} generates a point whose highlight -is a capital letter followed by a period; {\bf \\myspoint} -generates a subpoint highlighted by a number square brackets; -and {\bf \\mysspoint} generates a subsubpoint highlighted -by a lowercase letter in parentheses. -You have two options, you can write your own macro set -or you can use the PHYZZX command {\bf \\newlist}. - -The command {\bf \\newlist} allows you to define your own -listing macros which format things in a manner which is closer -to your heart's desire. -All you have to decide is what sort of delimiters you want -around the highlighting number and what you want the numbering -convention for that level of point to be. -Your available choices are the five defined when we discussed -changing chapterstyle; namely, {\bf \\Number}, -{\bf Alphabetic}, {\bf \\alphabetic}, -{\bf \\Roman} or {\bf \\roman}. - -The syntax of the newlist command is as follows -\tc{\\newlist\\{\it name}= \it [left delim.][style]\& [right delim.] \& -[dimen]; } -(Note that the =, \& , and ; all count.) -As an example of its application note that the {\bf \\point} -command is defined by saying -\tc{\\newlist\\point=\\Number\&.\&1.0\\itemsize;} -This line tells PHYZZX to define a new command called -{\bf \\point} and to have it generate a highlighting symbol -which consists of no left delimiter, followed by a number, -followed by a right delimiter which is a period and the indentation -of a point is to be {\bf 1.0\\itemsize}. -Similarly, subpoints are defined to be -\tc{\\newlist\\subpoint=(\\alphabetic\&)\&1.75\\itemsize;} -and subsubpoints are defined by saying -\tc{\\newlist\\subsubpoint=(\\roman\&)\&2.5\\itemsize;} -The abbreviations for {\bf \\subpoint} and {\bf \\subsubpoint} -are obtained by following their definition with the -statements -\tc{\\let\\spoint=\\subpoint} -\tcon{\\let\\sspoint=\\subsubpoint} -Note, if you have chosen to redefine {\bf \\subpoint} -and {\bf \\subsubpoint} using newlist, the commands {\bf \\spoint} -and {\bf \\sspoint} will {\it not} be redefined unless you follow -your newlist instructions with the two lines printed above. - -To define the new set of listing macros mentioned earlier you would type -\tc{\\newlist\\mypoint=\\Alphabetic\&.\&1.0\\itemsize;} -\tcon{\\newlist\\myspoint=[\\number \& ]\& 1.75\\itemsize;} -and -\tc{\\newlist\\mysspoint=(\\alphabetic\& )\& \\2.5\\itemsize;} -Note, while there are only five styles available for numbering -things, delimiters are limited only by your imagination. - -\chapter{MISCELLANEOUS STUFF ABOUT PAPERS} - -\section{Page Numbers} - -Page numbering is a totally automatic procedure -and, in general, requires none of your attention. -Normally, if you are not doing anything funny PHYZZX will -produce a document whose pages are numbered consecutively -starting from 1. -In general the first page you get will be numbered, unless -you have told PHYZZX not to do so. -The macros {\bf \\FRONTPAGE}, {\bf \\MEMO}, {\bf \\letter} -and {\bf \\titlepage} do issue such a command, and when -invoked produce a document where all pages but the -first page are numbered consecutively. -If you type {\bf \\FRONTPAGE} then PHYZZX will complete the previous -page (if there is any), set the current value of the page number to -1 and then tells \TeX\ not to number this page. -Visible numbers appear at the bottom of all the pages which follow -and the first visible number is 2. -The command {\bf \\Frontpage} is a synonym for {\bf \\FRONTPAGE}. -The {\bf \\letter} and {\bf \\MEMO} macros, which -will be discussed later, -and the {\bf \\titlepage} macro, which is invoked when you are about -to type the title page of your latest magnum opus, all suppress -the printing of the pagenumber at the bottom of the first page. - -If you wish to start a document in the middle and set the pagenumber -all you have to do is reset the counter called, of all things, -{\bf \\pagenumber} by typing -\tc{\\pagenumber= \it number} -This will make the first page \TeX\ prints have this number. -To make sure that the printing of this number is not suppressed -you should also type {\bf \\frontpagefalse}. -If you wish to have PHYZZX number the pages using roman numerals -you can accomplish this by saying {\bf \\pagenumber=-1} -(or {\bf \\pagenumber=-n} if you wish to start with the roman -numeral equivalent to the number n). - -\item\dash -If you wish no pagenumbers type {\bf \\nopagenumbers} -(be careful, its not easy to make them come back afterwards). -\item\star -If you want to suppress the page number on a particular page you -can type {\bf \\frontpagetrue}, which will make PHYZZX -think that this is the front page. -You'll sometimes have to play to make this happen where you want. - -\section{Spacing} - -We have already talked about changing font sizes and selecting -spacing, and have pointed out that three families of fonts are -available. -These are fonts which are fourteen points high, twelve points -high and tenpoints high. -The twelvepoint font is the font PHYZZX uses for normal text -because it looks best when reduced. -The fourteenpoint fonts are used for chapter titles, etc., and -the tenpoint font sets, which are kind of small when reduced, -are generally reserved for footnotes. -To change font size at will you type either -{\bf \\tenpoint}, or {\bf \\twelvepoint}, or -{\bf \\fourteenpoint}. -To change spacing conventions you use the commands -{\bf \\singlespace}, or {\bf \\normalspace} -or {\bf \\doublespace}. -Note that all of these commands can be used inside the paper -to temporarily change what is going on; -however, you should only invoke the -commands which change spacing when you are between paragraphs. -If you violate this rule, eventually, you -will be sorry. - -\section{Commands Which Break Lines and Pages} - -\TeX\ has its own way of breaking lines and pages and you can learn -about them by reading the \TeX book. -However, we have added three commands which are convenient. -The first command {\bf \\nextline} allows you to generate and -incomplete line. -For example, typing {\it This is the way the world ends \bf \\nextline} -produces \nextline -This is the way the world ends \nextline -Notice that \TeX\ has not tried to space the words out to fill -the line the way it would have if you had typed {\bf \\break}. -The command {\bf \\nextline} is essentially the same as typing -{\bf \\hfil\\break}; it differs slightly in that it also -does some things about glue, but you don't have to know about that. - -The command which forces \TeX\ to break the page at will -is {\bf \\endpage}. -Typing this command forces \TeX\ to start a new page -and at the same time it insures that even if the previous page -is not completely full of text the material will be spaced correctly. - -The command with which you finish a paper, memo, letter, etc., -is {\bf \\bye}. -This command tells \TeX\ to complete the last page, print it and -then turn itself off, returning you to CMS. - -\section{Some Remarks About Penalties} - -There are a few commands, which belong to PLAIN and not PHYZZX -which you should know about. -The basic command which allows you to tell \TeX\ that you -would advise it that this is a good or bad place to break -a page or line of text is {\bf \\penalty}. -Penalties can be either positive or negative. -If a penalty is positive it tells \TeX\ that this is not a good -place to put in a break. -The bigger the penalty is, the worse \TeX\ thinks it is to cause -a break at this point. -The biggest allowable penalty is {\bf \\penalty 10000}. -If you type {\bf \\penalty 10000} at a specific point in the text -than \TeX , as the printer, will assume that no matter what his -judgement tells him, you insist that no break can occur at this -point. -\TeX\ defines a control sequence {\bf \\nobreak} which equivalent -to typing {\bf \\penalty 10000}. -If the penalty is negative, then \TeX\ is advised that you -believe this point to be a good place to cause a break. -The more negative the penalty, the better you think this place is. -If the penalty is negative and greater than --10000, then \TeX\ will -use its own judgement to balance off your suggestion against its -own esthetic criteria. -If the penalty is -10000 (or less), then you are telling \TeX\ -that your judgement must carry the day. -The abbreviation of {\bf \\penalty -10000} is {\bf \\break}. - -Note that using the -same commands inside paragraphs and between paragraphs -tell \TeX\ to do different things. -Inside of a paragraph {\bf \\break} tells \TeX\ to break the -current line at this point, between paragraphs it tells \TeX\ -to break the page. -If you wish to force \TeX\ to break the page inside a paragraph, -without terminating the paragraph, you have to type -\tc{\\vadjust\\break} - - -\section{The Titlepage} - -We have now finished with our discussion of macros which PHYZZX -defines for simplifying the formatting of the body of a paper. -To complete our discussion of the paper generating capabilities -of PHYZZX we now have to turn to the question of generating -the title page. -A SLAC title page has several parts. -\pointbegin -First, in the upper right hand corner of the title page -one has the publication number, date of submission and -a line telling whether this paper is to be distributed as -T, E or T/E . -This chunk of text has to be set up as a block with the -appropriate typeface chosen for each line and then the -entire block is right adjusted. -This block is referred to as the pub-block -\point -Next comes the title of the paper, which is set in fourteen point -type and this is followed by the list of authors and the -institutions they come from. -\point -After the title and author list you have a choice. -If you have a short abstract it is included at this point -and printed on the title page. -If, however, the abstract is too long, it will not fit -on the title page. -In this event you skip it and put it on the next page of the paper. -\point -After the abstract, or after the title and author list if the abstract -is too long, we have a line which tells the journal to which the -preprint has been submitted. -\point -The next line ends the main body of the title page. -After this line the remaining material, which are contract -acknowledgements, etc., are put at the bottom page in footnote format. - -As you can see from this discussion the problem of formatting -the title page can get to be quite difficult if we don't have -special macros to help out. -For this reason a special set of macros for formatting title pages -has been included in PHYZZX. - -\subsection{The Publication Block or Pub-block} - -The first commands which you use relate to setting up the -block of type which gives the date, publication number, etc. -If you do not want such a block, you type -\tc{\\nopubblock} -If, as will usually be the case you want a pub-block, then -you have to specify what goes into it. -To specify the publication number you type -\tc{\\pubnum$\{$\it number \bf$\}$} -This causes PHYZZX to put the quantity {\bf \\pubnum} into -the publication number. -When you start the quantity {\bf \\pubnum} is {\bf 0000}. - -The next item which appears in the macro is the date. -If you do nothing, then each time you run \TeX\ to produce a new -copy of the file it will put the current date in this place. -If you wish to set the date to printed by yourself, then you type -\tc{ \\date = $\{$ \it month day, year \bf $\}$ } -Note the braces around the entry because they have to be there. - -Finally, the last thing that has to specified for the pub-block -is the pubtype, which is either T, E, or T/E. -To specify this quantity you type -\tc{\\pubtype=$\{$ \it publication type \bf $\}$} - -\subsection{Specifying the Titlepage} - -The next macro which has to be invoked is -\tc{\\titlepage} -This is a single control sequence which you type in just before the -titlepage. This command must follow the setting of the -{\bf \\pubnum}, {\bf \\date} and {\bf \\pubtype} -or you will only get the default values for these quantities. -What this macro does is tell \TeX\ that this is the titlepage of the -document and it should not be numbered. - - -\subsection{Typesetting the Title} - -The next item to be typed is the title of the paper. -Since this is set in different size type and requires a certain -amount of spacing above and below the text, you should use the -macro {\bf \\title}. -The syntax of this command is -\tc{\\title$\{$ \it title \bf $\}$} -You are now ready to type in the name and institution of the author (or -authors) of the paper. - -\subsection{Getting the Author(s) Right} - -If there is a single author you type -\tc{\\author$\{$ \it author's name \bf $\}$} -This is, of course to be followed by his address. -PHYZZX will set the name in upper and lower case capital letters -and center it on the page. -Then, if you use the macro {\bf \\address} PHYZZX will typeset the -address in italics and center it -directly below the author's name. -The syntax of this macro is -\tc{\\address$\{$ \it address \bf $\}$} -In general PHYZZX will let \TeX\ decide how to break the address -into several lines if it is too long. -If you wish to force these breaks use the command {\bf \\break}. -Note, this is a place where you do not want to use the command -{\bf \\nextline} or you will force the address to come out -without having been properly centered. -For those lucky persons who live at SLAC, there is a special macro -to save them typing. -This macro has the name {\bf \\SLAC} and if you wish to tell PHYZZX -that your address is SLAC all you have to type -\tc{\\SLAC} -If the author of the paper is a visitor, or is here on detached service, -then you might want to give two addresses. -To have \TeX\ print the second address below the first with the -word {\it and} in between, all you have to do is type -\tc{\\andaddress$\{$ \it second address \bf $\}$} - -If the paper has more than one author you have two options. -If the number of authors is small and they come from different -institutions, then you use the macro {\bf \\andauthor} -whose syntax is -\tc{\\andauthor$\{$ \it author's name \bf $\}$} -This does what the {\bf \\author} command does but it also -precedes this name with a line which has the word {\it and} -centered above the author's name. -This command is then to be followed by {\bf \\address} in order to -give the address of the second author. -This can go on as long as you like. - -All of this works well for theorists, however it does not work -well for experimental papers. -Experimantal collaborations tend to involve many authors from -several different institutions. -All we can do in this situation is to type the command -{\bf \\authors} and then follow this with a list of authors -and institutions. -All this command does for you is put the correct amount of -space between the list of authors and the material preceding it. - -\subsection{Setting up the Abstract} - -At this point you have to decide whether or not you want to -include the abstract on the titlepage. -If you wish to do so this is the time to type -{\bf \\abstract}. -This will cause \TeX\ to typeset the word ABSTRACT in the center -of the next line of text, skip the appropriate amount of space -and set you up in a new paragraph. -The next thing you do is type in the body of the abstract. -If you don't put the abstract on the titlepage then you -carry out this sequence of commands after you have finished the -titlepage with the command {\bf \\endpage}. -After you type in the abstract on the second page you should force -\TeX\ to print this as a separate page by once again typing -{\bf \\endpage}. -This will produce an abstract on its own page with white space -above and below the text. - -If you are in the situation of having an abstract which is too -long for the title page but too short to fill the entire -second page you will get ugly output if you type it in -and follow it with the command {\bf \\endpage}. -\TeX\ will simply shove everything to the top of the -page because {\bf \\endpage} is the same as {\bf \\vfil\\break}. -The way to force \TeX\ to center the title and material is to type -\tc{\\vfil} -\tcon{\\abstract} -\tcon{\it text of abstract} -\tcon{\\endpage} - -\subsection{Where's The Paper Going?} - -In order to specify the journal to which you have submitted the paper -you type -\tc{\\submit$\{$ \it journal \bf $\}$} -For example, if it is going to Phys.Rev. D you would type -\tc{\\submit$\{$ \it Physical Review \bf \\bf \it D \bf $\}$} -which will produce the line \nextline -\centerline{ Submitted to Physical Review \bf D} - -\subsection{Acknowledgements} - -It is customary to acknowledge the support of various grants or -contracts somewhere on the titlepage. -Generally this is done in the form of a footnote. -The easiest way to get \TeX\ to typeset such acknowledgements is to -use the macro {\bf \\foot}. -You insert this footnote just after the last word of the title -or author's name, depending upon the situation, and then continue -setting the title page. -The {\bf \\title}, {\bf \\author} and {\bf \\address} macros -have been written in such a way that the {\bf \\foot} command -can be used with these macros without any trouble. -If you fool around with the title page and put things inside boxes -using the PLAIN \TeX\ commands {\bf \\line} or {\bf \\centerline} -this is not true. -In this case the text will be put inside a box in restricted -horizontal mode and you must use the commands {\bf \\footnote} -and {\bf \\footmark} as explained in our discussion of footnotes. - -For theory group users there is a special macro which generates -the acknowledgement to the Department of Energy. -the command is {\bf \\doeack}. -To generate this acknowledgement you simply type -{\bf \\doeack} immediately after the last word in the title. -If other groups want to have their own {\bf \\doeack} macro -they need generate a file called MYPHYX TEX -and make sure it contains the lines \nextline -{\bf \\def\\doeack$\{$\\foot$\{$ \rm Work supported by the Department of -Energy, contract \bf \$\\caps \rm DE-$\ldots$ \bf \$ $\}\}$ } - -\subsection{Finishing the Title Page} - -Close the title page with command {\bf \\endpage}. -If you don't do this \TeX\ will make some stupid decision about -adding extra material to this page. -You won't be happy with the results. - -\section{A Sample Titlepage} - -Let us conclude this section by including a sample title page. -If you type \nextline -\newcount\lastpage \lastpage=\pagenumber -\newcount\lastchap \lastchap=\chapternumber -\newcount\lastsection \lastsection=\sectionnumber -\let\lastchapterlabel=\chapterlabel \lastsection=\sectionnumber - -\tc{\\pubnum=$\{$ \it 6666\bf $\}$} -\tcon{\\date$\{$\it September 1984\bf $\}$} -\tcon{\\pubtype$\{$CRAP$\}$} -\tcon{\\titlepage } -\tcon{\\title$\{$\it THE JOY OF TYPING PAPERS USING PHYZZX -\bf \\doeack$\}$ } -\tcon{\\author$\{$\it Marvin Weinstein -\\footnote$\{$\\dag$\}\{$% -\it another acknowledgement \bf $\}$ -$\}$} -\tcon{\\SLAC} -\tcon{\\andauthor$\{$\it V.\~\ K.\~\ Kaplunovsky \bf $\}$ } -\tcon{\\address$\{$ \it Princeton \bf $\}$ } -\tcon{\\abstract} -\tcon{\\centerline$\{$ \it This paper is a crock. \bf $\}$} -\tcon{\\submit$\{$ \it Physical Review D \bf $\}$ } -\tcon{\\endpage} - -then you get - -\endpage - -\pubnum{6666} -\date{September 1984} -\pubtype{CRAP} -\titlepage -\title{THE JOY OF TYPING PAPERS USING PHYZZX\doeack} -\author{Marvin Weinstein} -\SLAC\footnote{\dag}{another acknowledgement} -\andauthor{V.~K.~Kaplunovsky} -\address{Princeton} -\abstract -\centerline{This paper is a crock} -\submit{Physical Review D} - -\endpage - -\advance\lastpage by 1 \pagenumber=\lastpage -\let\chapterlabel=\lastchapterlabel \chapternumber=\lastchap -\sectionnumber=\lastsection - -\chapter{MEMOS} - -We have now finished discussing all of the macros which have to -do with the formatting of papers. -Now as promised we will turn to a discussion of the two other -formats which PHYZZX supports. -The first format is that of a SLAC memorandum. -The second format is that of a letter. - -A memorandum, as we have defined it, is a document meant for internal -distribution, addressed to a specific group of people and -designed to transmit information on a specific subject. -This sort of document tends to have a heading which identifies it -as a memorandum, gives the date, says to whom the memorandum is -being sent, from whom the memorandum comes and briefly summarizes -the topic being discussed. -This heading is then separated from the body of the memorandum -by some sort of ruled line and then one types in the text of -the memorandum. - -To type a memorandum you begin by typing the formatting instruction -\tc{\\MEMO} -which tells PHYZZX the document to follow is a memorandum. -It also forces the document to be single spaced and generates -the heading which identifies the document as a SLAC memo -and gives the date at which the file was processed; \ie , the current -date. -If you wish to type a heading which has the date of your choice -then use the command {\bf \\memodate} instead of {\bf \\MEMO}. -The syntax of this command is -\tc{\\memodate$\{$ \it date of your choice \bf $\}$} - -Now you have to generate the remainder of the heading; i.e., -the to, from and topic (or subject) entries. -The macros which do this are -\tc{\\to \rm , \bf \\from \rm , and \bf \\topic \rm or \bf \\subject } -The commands {\bf \\to}, {\bf \\from} and {\bf \\topic} or -{\bf \\subject} work like points or items. -Hence, they do not need braces. - -Finally, after typing in these commands followed by the relevant -text you need to generate a line to separate the heading from the -body of the memorandum. -This is done with the command {\bf \\rule}. -Having done this you are now ready to type in the text of the memorandum. - -Note, all of the itemized list macros which we have discussed -in earlier sections work in the MEMO format too. -Hence, you can use them with impunity. -The same is true for footnotes, etc. - -Finally, when you complete the memo, if you wish to indicate to whom -copies are to be sent you type -\tc{\\copies} -This command works like {\bf \\point} or {\bf \\item} -and so you would type -\tc{\\copies} -Mr. A. {\bf \\nextline} \nextline -Mr. B. {\bf \\nextline} \nextline -etc. \nextline -in order to get what you want - -Don't be surprised when you generate multipage memoranda. -The way pages are numbered is going to be different from the -numbering of papers. -For a memorandum all but the first page are numbered with the numbers -appearing at the top of the page. - -A sample memorandum is generated as follows; \nextline - -\vbox{\tc{\\MEMO} -\tc{\\to} -Whom it may concern -\tc{\\from} -Marvin Weinstein -\tc{\\subject} -Generating memos without tears. -\tc{\\rule} -{\it -Look how easy it is to generate a sample memo. -Even a baby can type something like this. -If you use this macro to type your memos people will probably -take what you have to say more seriously. -(They shouldn't but they will!) -You can even type points, for example: \nextline -{\bf \\pointbegin} \nextline -Any fool would recognize that if we proceed in this way we can only -wind up with a disaster. \nextline -{\bf \\point} \nextline -Who cares if the DOE doesn't want us to use the construction funds -to take a Hawaiian vacation. They're just a bunch of old stick in the -muds. } -\tc{\\copies} -{\it Burton Richter \bf \\nextline} \nextline -{\it Richard Taylor } -\tc{\\endpage} -Which generates something which looks like this} - -\endpage -\lastpage=\pagenumber \lastchap=\chapternumber -\lastsection=\sectionnumber \let\lastchapterlabel=\chapterlabel - -\MEMO -\to -Whom it may concern - -\from -Marvin Weinstein - -\subject -Generating memos without tears. - -\rule - -Look how easy it is to generate a sample memo. -Even a baby can type something like this. -If you use this macro to type your memos people will probably -take what you have to say more seriously. -(They shouldn't but they will!) -You can even type points, for example: - -\pointbegin -Any fool would recognize that if we proceed in this way we can only -wind up with a disaster. - -\point -Who cares if the DOE doesn't want us to use the construction funds -to take a Hawaiian vacation. They're just a bunch of old stick in the -muds. - -\copies -Burton Richter \nextline -Richard Taylor - -\endpage - -\papers \advance\lastpage by 1 \pagenumber=\lastpage -\chapternumber=\lastchap \sectionnumber=\lastsection -\let\chapterlabel=\lastchapterlabel - -If we use the commands {\bf \\memodate} and -we would obtain - -\vbox{\tc{\\memodate$\{$ \it the fifth of octember \bf $\}$} -\tc{\\to} -Whom it may concern -\tc{\\from} -Marvin Weinstein -\tc{\\topic} -Generating memos without tears. -\tc{\\rule} -\noindent {\it -Look how easy it is to generate a sample memo. -Even a baby can type something like this. -If you use this macro to type your memos people will probably -take what you have to say more seriously. -(They shouldn't but they will!) -You can even type points, for example: \nextline -{\bf \\pointbegin} \nextline -Any fool would recognize that if we proceed in this way we can only -wind up with a disaster. \nextline -{\bf \\point} \nextline -Who cares if the DOE doesn't want us to use the construction funds -to take a Hawaian vacation. They're just a bunch of old stick in the -muds.} -\tc{\\copies} -{\it Burton Richter \bf \\nextline} \nextline -{\it Richard Taylor } -\tc{\endpage}} -\lastpage=\pagenumber -\endpage - -\memodate{fifth of octember} - -\to -Whom it may concern - -\from -Marvin Weinstein - -\topic -Generating memos without tears. - -\rule - -Look how easy it is to generate a sample memo. -Even a baby can type something like this. -If you use this macro to type your memos people will probably -take what you have to say more seriously. -(They shouldn't but they will!) -You can even type points, for example: - -\pointbegin -Any fool would recognize that if we proceed in this way we can only -wind up with a disaster. - -\point -Who cares if the DOE doesn't want us to use the construction funds -to take a Hawaian vacation. They're just a bunch of old stick in the -muds. - -\copies -Burton Richter \nextline -Richard Taylor - -\endpage - -\papers \advance\lastpage by 1 \pagenumber=\lastpage -\chapternumber=\lastchap \sectionnumber=\lastsection -\let\chapterlabel=\lastchapterlabel - -\chapter{TYPING LETTERS AUTOMATICALLY} - -In addition to typing papers and memos PHYZZX supports a format -for typing letters. -To choose this format all you need to type the command -\tc{\\letters} -immediately following -\tc{\\input phyzzx} -This command will cause PHYZZX to switch over to a different page -size, 8 inches long by 6.5 inches wide (this is a little -wider than a preprint) and it automatically changes the linespacing -to singlespace. -In addition, the same command tells PHYZZX to put a SLAC letterhead -at the top of the first page, and to change the way in which pages are -are numbered. - -Having switched over to this mode the very next thing you need to do -is type in the date, followed by the name and address -of the person to whom the letter is being sent. -Getting the alignment of these various elements just right -takes some doing and so we have a macro to do the job. -The name of this macro is -\tc{\\letter} -Do not confuse this command with the initialization -command {\bf \\letters}. -Both statements must appear in your file and the command {\bf \\letters} -must come first. -I apologize for this construction but it is a leftover from -previous incarnations of PHYZZX. -Since we wanted this version of PHYZZX to be upward compatible we didn't -change it. -What the command {\bf \\letters} does is to tell PHYZZX that the -text to follow is to be set in {\bf \\letterstyle} and then -it makes PHYZZX print {\bf STANFORD UNIVERSITY} across the top of the -first page. -The command {\bf \\letter} tells PHYZZX that this is the first page -of a letter, prints the rest of the SLAC letterhead, -suppresses the printing of the pagenumber at the -bottom of this page and then allows you to type in the -name and address of the person to whom the letter is being sent. -The syntax of this command is -\tc{\\letter$\{$ \vtop{\hbox{\it Name \bf \\cr} - \hbox{\it first line of address \bf \\cr} - \hbox{$\ldots$ \\cr} - \hbox{\it last line of address \bf \\cr $\}$}}} -Note that any of the {\bf \\cr}'s can be replaced by the command -\tc{\\cropen$\{$ \it extra space \bf $\}$} -which will cause PHYZZX to leave the extra amount of space requested -between the lines; or you can replace the {\bf \\cr} by {\bf \\crr} -if what you want is 10 points of extra space. - -The reason for typing the commands {\bf \\letters} and {\bf \\letter} -separately is that {\bf \\letters} initializes the format for typing -a letter and then {\bf \\letter} allows you to start several new letters -in a single file. -So long as you begin each letter with the {\bf \\letter} macro -each letter will start on a new page, and the letters will not know -about one another. - -As with the titlepage macro, PHYZZX assumes that the date which is -to appear above the name and address is the current date. -If, however, you wish to fix the date appearing on the letter you -can do so by typing -\tc{\\date$\{$ \it your date \bf $\}$} -The {\bf \\date} macro will then make {\it your date} appear on all -of the letters in this file. - -Once you have generated the letterhead, date and filled in the name -and address of the person to whom the letter is being sent, -you are ready to type in the body of the letter. -This is to be done in the same manner as for a paper or memo, -and all of the itemized list, etc., macros will work in this format -too. - -\subsection{Typing the Salutation} - -Finally, having typed in the body of the letter we come to the -problem of generating the signature. -Once again, since placing this upon the space and leaving the -correct space between the {\it Very truly yours,\/} and -the typed version of your name can get to be hairy, we provide the -macro {\bf \\signed}. -The syntax of this command is -\tc{\\signed$\{$ -\vtop{\hbox{ \it Very truly yours (or whatever) {\bf \\cr}} - \hbox{ \it Your name \bf \\cr $\}$ }}} -If copies of the letter are to go to several people you type this -at the bottom of the letter using the {\bf \\copies} command -discussed in the section on memos. - -You finish a letter with the command {\bf \\endletter}. -This command insures that if there are several letters in the same -file each one will be processed independently. - -\lastpage=\pagenumber \lastchap=\chapternumber -\lastsection=\sectionnumber \let\lastchapterlabel=\chapterlabel - -A sample letter is generated as follows -\tc{\\letters} -\tcon{\\letter$\{$ \vtop{\hbox{\it Dr. Boris Kayser \bf \\cr } - \hbox{\it Program Director for Theoretical Physics \bf \\cr} - \hbox{\it National Science Foundation \bf \\cr} - \hbox{\it Washington, D. C. 20550 \bf \\cr $\}$ }}} -\tcon{\it Dear Boris,} - -{\it Please send more money.} - - - -\tc{\\signed$\{$ \vtop{\hbox{\it Sincerely, \bf \\cr} - \hbox{\it Michael E. Peskin \bf \\cr $\}$ }}} -\tcon{\\endletter} -\tcon{\\end} -which produces - -\lastpage=\pagenumber \lastchap=\chapternumber -\lastsection=\sectionnumber \let\lastchapterlabel=\chapterlabel -\endpage - -\letters -\letter{Dr. Boris Kayser \cr - Program Director for Theoretical Physics \cr - National Science Foundation \cr - Washington, D. C. 20550\cr} -Dear Boris, - - Please send more money. - - - -\signed{Sincerely, \cr - Michael E. Peskin \cr } -\endletter - - -\papers \advance\lastpage by 1 \pagenumber=\lastpage -\chapternumber=\lastchap \sectionnumber=\lastsection -\let\chapterlabel=\lastchapterlabel - - -\section{Multiple Letters} - -Very often you wish to send the same letter to many different -people; hence, the text of each letter is the same but the -salutations will be different. -There are two ways to go about generating such a series of letters. -The only difference between them is that the first is somewhat -more conservative of computer time, but it can only be used for -relatively short letters; the second is a bit more demanding of -computer time, but it doen't care how long the letter is. -By a short letter I mean one which is no more than -one or two pages in length. - -\subsection{Short Letters} - -To type in short letters you begin by typing -\tc{\\letters\\multiletter} -This command is to be followed by the text of your letter. -What {\bf \\multiletter} does is tell PHYZZX to file away the -material to follow in the depths of its memory, to be used later. -You let PHYZZX know to stop stuffing stuff away by typing -\tc{\\letterend} -when you have finished. -Having now saved the body of the letter for future use you -generate your letters by typing -\tc{\\letter$\{$ \it Addressee \bf $\}$} -followed by -\tc{\it Dear Mr. Soandso \bf \\par} -followed by the commands -\tc{\\lettertext\\endletter} -As you will have guessed the command {\bf \\lettertext} -is the name PHYZZX has assigned to the body of the -letter. - -\subsection{For Longer Letters} - -The second method for generating many letters is slightly more wasteful -of computer time, but to my mind it is simpler to use. -I reccommend it over the command {\bf \\multiletter} and -have included a brief discussion of the previous case only -to keep the macro set upward compatible. -Do us both a favor and forget I mentioned it. - -This method takes a little longer because it requires \TeX\ to input the -same file many times. -It is simpler because it requires no change in syntax from -the format used for a single letter. -To use this method you create a file YOUR FILE A (the filetype -doesn't have to be TEX here), -which contains the body of your letter, including your signature. -You then create a driver file (filename TEX A) of the form -\tc{\\input phyzzx} -\tcon{\\letters} -\tcon{\it optional \quad \bf \\date$\{$ \it your date \bf $\}$} -\tcon{\\letter$\{$ \it Addressee \bf $\}$} -\tcon{\it Dear $\ldots$ \bf \\par} -\tcon{\\input your.file} -\tcon{\\endletter} -\tcon{\it $\ldots$} -\tcon{\\letter$\{$ \it Addressee \bf $\}$} -\tcon{\it Dear $\ldots$ \bf \\par} -\tcon{\\input your.file} -\tcon{\\endletter} -\tcon{\\end} -Note, the period between the filename and filetype is crucial. -What is being done in this method is that we are using \TeX 's -ability to input an external file as often as you wish. -This technique has the added advantage that you can even have the -letters vary somewhat. -To perform this trick you use the {\bf \\def} command. -To begin you use the names of some undefined control sequences in -the file YOUR FILE A, and then redefine these sequences -in the main driver file after each {\bf \\endletter} and before -the start of the next letter. - - -\chapter{MISCELLANEOUS MACROS WHICH PHYZZX DEFINES} - -We have now finished our discussion of all of the macros which -pertain to the formatting of special documents. -This section simply lists some special macros which we have -included in PHYZZX simply because they simplify the task of -typing things which occur frequently. - -The commands will be listed giving the syntax of each command and -an example of what it does. - -\pointbegin -\tc{\\ie \quad \rm generates \ie} -\point -\tc{\\eg \quad \rm generates \eg} -\point -\tc{\\dash \quad \rm generates \dash} -\point -\tc{\\\\ \quad \rm generates \\} - -In math mode we have the following useful commands - -\point -\tc{\\coeff$\{$ \it a \bf $\}\{$ \it b \bf $\}$ \quad \rm generates} -$$ \coeff{a}{b} $$ - -\endpage - - -\point -\tc{\\partder$\{$ \it f(x) -\bf $\}\{$ \it x \bf $\}$ \quad \rm generates} -$$ \partder{f(x)}{x} $$ -\point -\tc{\\bra$\{$ \it \\Psi \bf $\}$ \quad \rm generates } -$$ \bra{\Psi} $$ -\point -\tc{\\ket$\{$ \it phi \bf $\}$ \quad \rm generates } -$$ \ket{\phi} $$ -\point -\tc{\\VEV$\{$ \it H \bf $\}$ \quad \rm generates } -$$ \VEV{H} $$ -\point -\tc{\\Tr$\{$ \it G \bf $\}$ \quad \rm generates } -$$ \Tr{G} $$ - -\endpage - -\point -\tc{\\int \rm generates } -$$ \int $$ -\point -\tc{\\prop \rm generates $\prop $} -\point -\tc{\\lsim \rm generates $\lsim $} -\point -\tc{\\gsim \rm generates $\gsim $ } - -\chapter{GOODBYE} - -This completes the basic writeup of the capabilities of PHYZZX. -As I indicated in the introduction, this is not the final version of -the macro set, but is in fact the last but one version that I -will have something to do with. -The final version will appear one of these days and will include -in the body of the FMT file several macros for creating wrap around -figure inserts and simple tables. -The macros already exist but -have not yet been collected together and finalized in format. -In addition, it will probably include a label making capability -to generate mailing labels for letters. -Don't hold your breath for this version, however, first I have -to get over having typed this documentation. - -\section{Using Your MYPHYX File} - -I promised you a short discussion of tailoring PHYZZX -into your own inimitable macro package. -The simplest way to do this is to have a complicated -file called MYPHYX TEX on your A disk. -If there are a few features of PHYZZX which do almost what you -want, but not quite, you can -look at the file PHYZZX TEX. -By reading Knuth and studying this file you will see how -everything PHYZZX does is made to happen. -The way to change something is to steal the relevant definition -from this file and copy it to your MYPHYX file. -Then, make the changes which you wish to make. -Since PHYZZX inputs this file after it makes its own -definitions, you desires will override the PHYZZX definitions. - -\titlestyle{ \bf GOOD LUCK !!!!!} - -\bye - diff --git a/macros/phyzzx/phyzzx.fonts b/macros/phyzzx/phyzzx.fonts deleted file mode 100644 index c644ae828a..0000000000 --- a/macros/phyzzx/phyzzx.fonts +++ /dev/null @@ -1,106 +0,0 @@ -% -% PHYZZX fonts are kept in this separate file -% in order to facilitate font substitution. -% -% This file should be called PHYZZX.FONTS on sites using CM fonts -% and PHYZZX.CMFONTS on other sites. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\font\seventeenrm =cmr17 -\font\fourteenrm =cmr12 scaled\magstep1 -\font\twelverm =cmr12 -\font\ninerm =cmr9 -\font\sixrm =cmr6 -% -\font\seventeenbf =cmbx12 scaled\magstep2 -\font\fourteenbf =cmbx12 scaled\magstep1 -\font\twelvebf =cmbx12 -\font\ninebf =cmbx9 -\font\sixbf =cmbx6 -% -\font\seventeeni =cmmi12 scaled\magstep2 \skewchar\seventeeni='177 -\font\fourteeni =cmmi12 scaled\magstep1 \skewchar\fourteeni='177 -\font\twelvei =cmmi12 \skewchar\twelvei='177 -\font\ninei =cmmi9 \skewchar\ninei='177 -\font\sixi =cmmi6 \skewchar\sixi='177 -% -\font\seventeensy =cmsy10 scaled\magstep3 \skewchar\seventeensy='60 -\font\fourteensy =cmsy10 scaled\magstep2 \skewchar\fourteensy='60 -\font\twelvesy =cmsy10 scaled\magstep1 \skewchar\twelvesy='60 -\font\ninesy =cmsy9 \skewchar\ninesy='60 -\font\sixsy =cmsy6 \skewchar\sixsy='60 -% -\font\seventeenex =cmex10 scaled\magstep3 -\font\fourteenex =cmex10 scaled\magstep2 -\font\twelveex =cmex10 scaled\magstep1 -% -\font\seventeensl =cmsl12 scaled\magstep2 -\font\fourteensl =cmsl12 scaled\magstep1 -\font\twelvesl =cmsl12 -\font\ninesl =cmsl9 -% -\font\seventeenit =cmti12 scaled\magstep2 -\font\fourteenit =cmti12 scaled\magstep1 -\font\twelveit =cmti12 -\font\nineit =cmti9 -% -\font\fourteentt =cmtt12 scaled\magstep1 -\font\twelvett =cmtt12 -% -\font\fourteencp =cmcsc10 scaled\magstep2 -\font\twelvecp =cmcsc10 scaled\magstep1 -\font\tencp =cmcsc10 -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\def\fourteenf@nts{\relax - \textfont0=\fourteenrm \scriptfont0=\tenrm - \scriptscriptfont0=\sevenrm - \textfont1=\fourteeni \scriptfont1=\teni - \scriptscriptfont1=\seveni - \textfont2=\fourteensy \scriptfont2=\tensy - \scriptscriptfont2=\sevensy - \textfont3=\fourteenex \scriptfont3=\twelveex - \scriptscriptfont3=\tenex - \textfont\itfam=\fourteenit \scriptfont\itfam=\tenit - \textfont\slfam=\fourteensl \scriptfont\slfam=\tensl - \textfont\bffam=\fourteenbf \scriptfont\bffam=\tenbf - \scriptscriptfont\bffam=\sevenbf - \textfont\ttfam=\fourteentt - \textfont\cpfam=\fourteencp } -% -\def\twelvef@nts{\relax - \textfont0=\twelverm \scriptfont0=\ninerm - \scriptscriptfont0=\sixrm - \textfont1=\twelvei \scriptfont1=\ninei - \scriptscriptfont1=\sixi - \textfont2=\twelvesy \scriptfont2=\ninesy - \scriptscriptfont2=\sixsy - \textfont3=\twelveex \scriptfont3=\tenex - \scriptscriptfont3=\tenex - \textfont\itfam=\twelveit \scriptfont\itfam=\nineit - \textfont\slfam=\twelvesl \scriptfont\slfam=\ninesl - \textfont\bffam=\twelvebf \scriptfont\bffam=\ninebf - \scriptscriptfont\bffam=\sixbf - \textfont\ttfam=\twelvett - \textfont\cpfam=\twelvecp } -% -\def\tenf@nts{\relax - \textfont0=\tenrm \scriptfont0=\sevenrm - \scriptscriptfont0=\fiverm - \textfont1=\teni \scriptfont1=\seveni - \scriptscriptfont1=\fivei - \textfont2=\tensy \scriptfont2=\sevensy - \scriptscriptfont2=\fivesy - \textfont3=\tenex \scriptfont3=\tenex - \scriptscriptfont3=\tenex - \textfont\itfam=\tenit \scriptfont\itfam=\seveni % no \sevenit - \textfont\slfam=\tensl \scriptfont\slfam=\sevenrm % no \sevensl - \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf - \scriptscriptfont\bffam=\fivebf - \textfont\ttfam=\tentt - \textfont\cpfam=\tencp } -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% diff --git a/macros/phyzzx/phyzzx.local b/macros/phyzzx/phyzzx.local deleted file mode 100644 index 183d4b77da..0000000000 --- a/macros/phyzzx/phyzzx.local +++ /dev/null @@ -1,108 +0,0 @@ -% -% This is the PHYZZX.LOCAL file. -% It contains local, ie. site-dependent macros. -% -% This version of the file is for use at SLAC only. -% Do not use it as is at other sites -- it is distributed only -% to provide an example of macros you may want to use at your site. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\def\slacpub{\afterassignment\slacp@b\toks@} -\def\slacp@b{\edef\n@xt{\Pubnum={SLAC--PUB--\the\toks@}}\n@xt} -\let\pubnum=\slacpub -% -\expandafter\ifx\csname eightrm\endcsname\relax - \let\eightrm=\ninerm \let\eightbf=\ninebf \fi -% -\def\memohead{\hrule height\z@ \kern -0.5in - \line{\quad\fourteenrm SLAC MEMORANDUM\hfil \twelverm\the\date\quad}} -\def\memorule{\par \medskip \hrule height 0.5pt \kern 1.5pt - \hrule height 0.5pt \medskip} -% -\def\SLACHEAD{\setbox0=\vtop{\baselineskip=10pt - \ialign{\eightrm ##\hfil\cr - \slacbin\cr - P.~O.~Box 4349\cr - Stanford, CA 94309\cropen{1\jot} - \slacphone\cr }}% - \setbox2=\hbox{\caps Stanford Linear Accelerator Center}% - \hrule height \z@ \kern -0.5in - \vbox to 0pt{\vss\centerline{\seventeenrm STANFORD UNIVERSITY}} - \vbox{} \medskip - \line{\hbox to 0.7\hsize{\hss \lower 10pt \box2 \hfill }\hfil - \hbox to 0.25\hsize{\box0 \hfil }}\medskip } -\let\letterhead=\SLACHEAD -% -\FromAddress={\crcr \slacbin \cr - P.\ O.\ Box 4349\cr Stanford, California 94309\cr } -% -\def\slacbin{SLAC\expandafter\ifx\csname binno\endcsname\relax - \else , Bin \binno \fi } -\def\slacphone{(415) 926--\slacext} -\def\slacext{3300} -% -\def\doeack{\foot{Work supported by the Department of Energy, - contract DE--AC03--76SF00515.}} -% -\VOFFSET=33pt -\papersize -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Now comes the graphic package. -% This version is rather primitive -% -\newwrite\figscalewrite -\newif\iffigscaleopen -\newif\ifgrayscale -\newif\ifreadyfile -\def\picturedefault{\grayscalefalse \readyfilefalse - \gdef\ready{\readyfiletrue}\gdef\gray{\ready\grayscaletrue}} -% -\def\parsefilename{\ifreadyfile \else - \iffigscaleopen \else \gl@bal\figscaleopentrue - \immediate\openout\figscalewrite=\jobname.scalecon \fi - \toks0={ }\immediate\write\figscalewrite{% - \the\p@cwd \the\toks0 \the\p@cht \the\toks0 \the\picfilename }% - \expandafter\p@rse \the\picfilename..\endp@rse \fi } -% -\def\p@rse#1.#2.#3\endp@rse{% - \if*#3*\dop@rse #1.1..\else \if.#3\dop@rse #1.1..\else - \dop@rse #1.#3\fi \fi - \expandafter\picfilename\expandafter{\n@xt}} -\def\dop@rse#1.#2..{\count255=#2 \ifnum\count255<1 \count255=1 \fi - \ifnum\count255<10 \edef\n@xt{#1.PICT00\the\count255}\else - \ifnum\count255<100 \edef\n@xt{#1.PICT0\the\count255}\else - \edef\n@xt{#1.PICT\the\count255}\fi\fi } -% -\def\redopicturebox{\edef\picturedefinition{\ifgrayscale - \special{insert(\the\picfilename)}\else - \special{mergeug(\the\picfilename)}\fi }} -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Few miscellaneous macros -% -\let\us=\undertext -\let\rule=\memorule -\let\eqnalign=\eqname -% -\def\pri{^{\, \prime }} -\def\prii{^{\, \prime\, \prime }} -\def\priii{^{\, \prime\, \prime\, \prime }} -\def\epem{{e^+e^-}} -%% -\def\larrow{\leftarrow} -\def\rarrow{\rightarrow } -\def\uarrow{\uparrow } -\def\darrow{\downarrow } -\def\dblarrow{\doublearrow } -\def\longvec{\overrightarrow } -\def\wtilde{\widetilde } -%% -\def\xplus{\becomes{x\rarrow{+\infty}}} -\def\xminus{\becomes{x\rarrow{-\infty}}} -\def\xxx{\becomes{x\rarrow\infty}} -%% -\def\boxit#1{\vbox{\hrule\hbox{\vrule\kern3pt -\vbox{\kern3pt#1\kern3pt}\kern3pt\vrule}\hrule}} -%% diff --git a/macros/phyzzx/phyzzx.plus b/macros/phyzzx/phyzzx.plus deleted file mode 100644 index d32692ceed..0000000000 --- a/macros/phyzzx/phyzzx.plus +++ /dev/null @@ -1,1066 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%% This is PHYZZX.PLUS (cm version) %%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% %%%% -%% %%% -%% Enhancements to PHYZZX.TEX which make it possible to %%% -%% (1) produce documents in draftmode and in two-to-a-page %%% -%% preprint style a la Harvmac %%% -%% (\preprint and \draft) %%% -%% (2) produce two column format similar to RevTex %%% -%% (3) produce labels for 3 X 8 or 3 X 11 label sheets when %%% -%% creating multiple letters using PHYZZX and a label %%% -%% formatting routine LABELFORM.TEX (included at the end %%% -%% of the file) (\labelformlabels) %%% -%% (4) make boldface chapter headings without typing {\bf\chapter} %%% -%% all the time (use \chapterheadstyle={\bf} in the %%% -%% beginning of the TeX file.) %%% -%% %%% -%% Insert this file at the beginning of your phyzzx.local %%% -%%% %%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%% Latest update/debug: November 15, 1993. %%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\message{ PHYZZX Plus } -\catcode`@=11 % This allows us to modify PLAIN macros. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ADD SAN SERIF FONTS -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newfam\ssfam % Define a San Serif font family -\font\seventeenss =cmss10 scaled\magstep4 -\font\fourteenss =cmss10 scaled\magstep2 -\font\twelvess =cmss10 scaled\magstep1 -\font\tenss =cmss10 -\font\niness =cmss9 -\font\eightss =cmss8 -% -\font\seventeenssbx =cmssbx10 scaled\magstep4 -\font\fourteenssbx =cmssbx10 scaled\magstep2 -\font\twelvessbx =cmssbx10 scaled\magstep1 -\font\tenssbx =cmssbx10 -% -\def\seventeenpoint{\relax - \textfont0=\seventeenrm \scriptfont0=\twelverm - \scriptscriptfont0=\ninerm - \textfont1=\seventeeni \scriptfont1=\twelvei - \scriptscriptfont1=\ninei - \textfont2=\seventeensy \scriptfont2=\twelvesy - \scriptscriptfont2=\ninesy - \textfont3=\seventeenex \scriptfont3=\twelveex - \scriptscriptfont3=\ninex - \textfont\itfam=\seventeenit %\scriptfont\itfam=\twelveit - \textfont\slfam=\seventeensl %\scriptfont\slfam=\twelvesl - \scriptscriptfont\slfam=\ninesl - \textfont\bffam=\seventeenbf \scriptfont\bffam=\twelvebf - \scriptscriptfont\bffam=\ninebf - \textfont\ttfam=\seventeentt - \textfont\cpfam=\seventeencp - \textfont\ssfam=\seventeenss \scriptfont\ssfam=\twelvess - \scriptscriptfont\ssfam=\niness - \samef@nt - \b@gheight=17pt - \setbox\strutbox=\hbox{\vrule height 0.85\b@gheight - depth 0.35\b@gheight width\z@ }} -% -% -\def\fourteenf@nts{\relax - \textfont0=\fourteenrm \scriptfont0=\tenrm - \scriptscriptfont0=\sevenrm - \textfont1=\fourteeni \scriptfont1=\teni - \scriptscriptfont1=\seveni - \textfont2=\fourteensy \scriptfont2=\tensy - \scriptscriptfont2=\sevensy - \textfont3=\fourteenex \scriptfont3=\twelveex - \scriptscriptfont3=\tenex - \textfont\itfam=\fourteenit \scriptfont\itfam=\tenit - \textfont\slfam=\fourteensl \scriptfont\slfam=\tensl - \textfont\bffam=\fourteenbf \scriptfont\bffam=\tenbf - \scriptscriptfont\bffam=\sevenbf - \textfont\ttfam=\fourteentt - \textfont\cpfam=\fourteencp - \textfont\ssfam=\fourteenss \scriptfont\ssfam=\tenss - \scriptscriptfont\ssfam=\sevenrm } -% -\def\twelvef@nts{\relax - \textfont0=\twelverm \scriptfont0=\ninerm - \scriptscriptfont0=\sixrm - \textfont1=\twelvei \scriptfont1=\ninei - \scriptscriptfont1=\sixi - \textfont2=\twelvesy \scriptfont2=\ninesy - \scriptscriptfont2=\sixsy - \textfont3=\twelveex \scriptfont3=\tenex - \scriptscriptfont3=\tenex - \textfont\itfam=\twelveit \scriptfont\itfam=\nineit - \textfont\slfam=\twelvesl \scriptfont\slfam=\ninesl - \textfont\bffam=\twelvebf \scriptfont\bffam=\ninebf - \scriptscriptfont\bffam=\sixbf - \textfont\ttfam=\twelvett - \textfont\cpfam=\twelvecp \scriptfont\cpfam=\tencp - \textfont\ssfam=\twelvess \scriptfont\ssfam=\niness - \scriptscriptfont\ssfam=\sixrm } -% -\def\tenf@nts{\relax - \textfont0=\tenrm \scriptfont0=\sevenrm - \scriptscriptfont0=\fiverm - \textfont1=\teni \scriptfont1=\seveni - \scriptscriptfont1=\fivei - \textfont2=\tensy \scriptfont2=\sevensy - \scriptscriptfont2=\fivesy - \textfont3=\tenex \scriptfont3=\tenex - \scriptscriptfont3=\tenex - \textfont\itfam=\tenit \scriptfont\itfam=\seveni % no \sevenit - \textfont\slfam=\tensl \scriptfont\slfam=\sevenrm % no \sevensl - \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf - \scriptscriptfont\bffam=\fivebf - \textfont\ttfam=\tentt - \textfont\cpfam=\tencp - \textfont\ssfam=\tenss \scriptfont\ssfam=\eightss - \scriptscriptfont\ssfam=\fiverm } -% -\def\sans{\n@expand\f@m\ssfam} -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Later phyzzx mods from SLAC -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\def\subspaces@t#1:#2;{\rel@x - \baselineskip = \normalbaselineskip - \multiply\baselineskip by #1 \divide\baselineskip by #2 - \lineskip = \normallineskip - \multiply\lineskip by #1 \divide\lineskip by #2 - \lineskiplimit = \normallineskiplimit - \multiply\lineskiplimit by #1 \divide\lineskiplimit by #2 - \parskip = \normalparskip - \multiply\parskip by #1 \divide\parskip by #2 - \abovedisplayskip = \normaldisplayskip - \multiply\abovedisplayskip by #1 \divide\abovedisplayskip by #2 - \belowdisplayskip = \abovedisplayskip - \abovedisplayshortskip = \normaldispshortskip - \multiply\abovedisplayshortskip by #1 - \divide\abovedisplayshortskip by #2 - \belowdisplayshortskip = \abovedisplayshortskip - \advance\belowdisplayshortskip by \belowdisplayskip - \divide\belowdisplayshortskip by 2 - \smallskipamount = \skipregister - \multiply\smallskipamount by #1 \divide\smallskipamount by #2 - \medskipamount = \smallskipamount \multiply\medskipamount by 2 - \bigskipamount = \smallskipamount \multiply\bigskipamount by 4 } -% -\newif\ifcn@ \cn@true -\newif\ifcn@@ \cn@@false -\def\numberedchapters{\cn@true} -\def\unnumberedchapters{\cn@false\sequentialequations} -% -\def\chapterreset{\gl@bal\advance\chapternumber by 1 - \ifnum\equanumber<0 \else\gl@bal\equanumber=0\fi - \sectionnumber=0 \let\sectionlabel=\rel@x - \ifcn@ \gl@bal\cn@@true {\pr@tect - \xdef\chapterlabel{\the\chapterstyle{\the\chapternumber}}}% - \else \gl@bal\cn@@false \gdef\chapterlabel{\rel@x}\fi } -% -\def\@alpha#1{\count255='140 \advance\count255 by #1\char\count255} - \def\alphabetic{\n@expand\@alpha} -\def\@Alpha#1{\count255='100 \advance\count255 by #1\char\count255} - \def\Alphabetic{\n@expand\@Alpha} -\def\@Roman#1{\uppercase\expandafter{\romannumeral #1}} - \def\Roman{\n@expand\@Roman} -\def\@roman#1{\romannumeral #1} \def\roman{\n@expand\@roman} -\def\@number#1{\number #1} \def\Number{\n@expand\@number} -\def\BLANK#1{\rel@x} \let\BLANC=\BLANK -% -\def\section#1{\par \ifnum\lastpenalty=30000\else - \penalty-200\vskip\sectionskip \spacecheck\sectionminspace\fi - \gl@bal\advance\sectionnumber by 1 - {\pr@tect - \xdef\sectionlabel{\ifcn@@ \chapterlabel.\fi - \the\sectionstyle{\the\sectionnumber}% - }% - \wlog{\string\section\space \sectionlabel} - }% - \noindent {\caps\enspace\sectionlabel.~~#1}\par - \nobreak\vskip\headskip \penalty 30000 } -% -\def\FRONTPAGE{\ifvoid255\else\vfill\penalty-20000\fi - \gl@bal\pagenumber=1 \gl@bal\chapternumber=0 - \gl@bal\equanumber=0 \gl@bal\sectionnumber=0 - \gl@bal\referencecount=0 \gl@bal\figurecount=0 - \gl@bal\tablecount=0 \gl@bal\frontpagetrue - \gl@bal\lastf@@t=0 \gl@bal\footsymbolcount=0 - \gl@bal\cn@@false } -\let\Frontpage=\FRONTPAGE -% -\def\makelabels{\afterassignment\Makelabels \sendername=} % extra s in ias -% % version -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%% modify phyzzx for UW label format %%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%% To produce labels, tex LABELFORM.TEX %%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%% included at the end of the file %%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begingroup - \catcode `\{ = 12 % Dirty trick to write out the character { - \catcode `\} = 12 % Dirty trick to write out the character } - \catcode `\[ = 1 - \catcode `\] = 2 -\gdef\labelformlabels[% - \gdef\rwl@begin##1\cr[\rw@toks=[##1]\rel@x - \immediate\write\labelswrite[\the\rw@toks]\futurelet\n@xt\rwl@next] - \gdef\writenextlabel##1[% - \immediate\write\labelswrite[ ]% - \immediate\write\labelswrite[{]% - \rwl@begin ##1% - \rwl@end% - \immediate\write\labelswrite[}]]% - \gdef\writelabel##1[% - \immediate\write\labelswrite[{]% - \rwl@begin ##1% - \rwl@end% - \immediate\write\labelswrite[}]% - \let\writelabel=\writenextlabel]% -] -\endgroup -\newtoks\@ndtoks \@ndtoks={\vfill\eject} -\newtoks\t@ptoks \t@ptoks={\voffset=3.0in % -\hoffset=3.0in\nopagenumbers\obeylines\singlespace\twelvess} -\gdef\envelopelabels{% - \gdef\rwl@begin##1\cr{\rw@toks={##1}\rel@x - \immediate\write\labelswrite{\the\rw@toks}\futurelet\n@xt\rwl@next} - \gdef\writenextlabel##1{% - \rwl@begin ##1% - \rwl@end% - \immediate\write\labelswrite{\the\@ndtoks}}% - \gdef\writelabel##1{% - \immediate\write\labelswrite{\the\t@ptoks}% - \rwl@begin ##1% - \rwl@end% - \immediate\write\labelswrite{\the\@ndtoks}% - \let\writelabel=\writenextlabel}% -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% some phyzzx overrides -% -% -%\def\addressee#1{\bigskip\medskip -% \line{\hskip 0.5\hsize minus 0.5\hsize \the\date\hfil} \bigskip -% \vskip\lettertopfil -% \ialign to\hsize{\strut ##\hfil\tabskip 0pt plus \hsize \cr #1\crcr} -% \medskip\noindent\hskip\spskip} -% -\def\figitem#1{\r@fitem{#1.}} -\def\tabitem#1{\r@fitem{#1.}} -% -\def\ack{\ACK} % make new phyzzx compatible with old phyzzx -% -\def\sequentialequations{\rel@x \ifnum\equanumber<0 \else - \gl@bal\equanumber=-\equanumber \gl@bal\advance\equanumber by -1 \fi } -% -%% a Journal macro that handles NPB and PR format -%\def\Journal#1(#4){\begingroup \let\Journal=\dummyj@urnal -% \unskip,~#1\unskip~% -% \ifPhysRev\bf\fi\ignorespaces #2\rm -% \ifPhysRev\unskip,~\ignorespaces #3\fi -% \unskip~(\afterassignment\j@ur \count255=#4) -% \ifPhysRev\else\unskip,~\ignorespaces #3\fi -% \endgroup\unskip\ignorespaces } -% -\def\boxit#1{\vbox{\hrule\hbox{\vrule\kern3pt -\vbox{\kern3pt#1\kern3pt}\kern3pt\vrule}\hrule}} -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Making double-column (these are modified from manmac.tex) -%% with a full size columns as well. -%% (This is still buggy--gives overfull boxes etc.) -%% Report bugs to T.J. Allen (tjallen@wishep.physics.wisc.edu -%% or tja@theory3.caltech.edu) -%% -%% This will NOT produce double columns in preprintmode since -%% there are conflicting \output commands. The whole -%% macro should be rewritten using a modified \output. -%% -%% Where you want -%% the doublecolumn output to start, use \begindoublecolumns. -%% Where you want to go back to single columns use -%% \enddoublecolumns. This produces output much like that -%% of RevTeX. If you wish to specify that there be a rule -%% between the columns of output, then set \columnrulewidth -%% = 0.4pt. -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -\newbox\partialpage -\newdimen\pageheight \pageheight=\vsize -\newdimen\pagewidth \pagewidth=6.6truein -\newdimen\columnwidth \columnwidth=3.2truein -\newdimen\columnrulewidth \columnrulewidth=0pt -\newdimen\ruleht \ruleht=.5pt -\newinsert\margin -% -\def\twocolumn{% - \singlespace - \vsize=9truein - \pagetextwidth=\pagewidth - \hsize=\pagewidth - \titlepagewidth=\pagewidth - \hoffset=0truein - \voffset=0truein - \dimen\margin=\maxdimen - \count\margin=0 \skip\margin=0pt -% - \def\begindoublecolumns{ - \ifpr@printstyle - \message{ I'm unable to print double columns in PREPRINTSTYLE } - \end\fi - \begingroup - \global\vsize=2\pageheight - \output={\global\setbox\partialpage=\vbox{\unvbox255\bigskip\bigskip} - \global\vsize=2\pageheight\global\advance\vsize by -2\ht\partialpage - \global\advance\vsize by 2\bigskipamount - \global\advance\vsize by 1 pc}\eject % a little extra room; 1pc - \output={\doublecolumnout\global\vsize=2\pageheight} - \global\pagetextwidth=\columnwidth \global\hsize=\columnwidth} -% -% keeps footnotes on correct page -% - \def\enddoublecolumns{\output={\balancecolumns\global\hsize=\pagewidth - \global\pagetextwidth=\pagewidth - \global\vsize=\pageheight - \unvbox255 }\eject\endgroup} -% - \def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth - \dimen@=\pageheight\advance\dimen@ by -\ht\partialpage - \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to \dimen@ - \onepageout\pagesofar \unvbox255 \penalty\outputpenalty} -% - \def\pagesofar{\unvbox\partialpage - \wd0=\columnwidth \wd2=\columnwidth \hbox to \pagewidth{\box0\hfil - \columnrule \hfil \box2}} -% - \def\columnrule{\vrule width \columnrulewidth height \ht2} -% - \def\balancecolumns{\setbox0=\vbox{\unvbox255}\dimen@=\ht0 - \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip - \advance\dimen@ by -2\ht\partialpage % what if we begin and end on the - \divide\dimen@ by2 % same page?!? - \splittopskip=\topskip - {\vbadness=10000 \loop \global\setbox3=\copy0 - \global\setbox1=\vsplit3 to \dimen@ - \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat} - \setbox0=\vbox to \dimen@{\unvbox1} \setbox2=\vbox to \dimen@{\dimen2=\dp3 - \unvbox3 \kern-\dimen2 \vfil } - \pagesofar } -% - \def\onepageout##1{ \setbox0=\vbox{##1} \dimen@=\dp0 - \shipout\vbox{ % here we define one page of output - \makeheadline - \vbox to \pageheight{ - \boxmaxdepth=\maxdepth - \ifvoid\margin\else % marginal info is present - \rlap{\kern31pc\vbox to 0pt{\kern4pt\box\margin\vss}}\fi - \ifvoid\topins\else\unvbox\topins\vskip\skip\topins\fi - ##1 % now insert the main information - \vskip\pagebottomfiller - \ifvoid\footins\else\vskip\skip\footins\footrule\unvbox\footins\fi - \ifr@ggedbottom\kern-\dimen@ \vfil\fi} %need a replacement for here - \makefootline} - \advancepageno\frontpagefalse} -% - \def\makeheadline{\vbox to\z@{\vskip-22.5\p@ - \hbox to \pagewidth{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip} -% - \def\makefootline{\baselineskip = 1.5\normalbaselineskip - \hbox to \pagewidth{\the\footline}} -%\def\makefootline{\baselineskip24\p@\line{\the\footline}} - -% - \def\footrule{\dimen@=\prevdepth\nointerlineskip - \vbox to 0pt{\vskip -0.25\baselineskip \hrule width 0.62\pagewidth \vss} - \prevdepth=\dimen@ } -% - \def\Vfootnote##1{\insert\footins\bgroup - \interlinepenalty=\interfootnotelinepenalty \floatingpenalty=20000 - \singl@true\doubl@false\Tenpoint \hsize=\pagewidth - \splittopskip=\ht\strutbox \boxmaxdepth=\dp\strutbox - \leftskip=\footindent \rightskip=\z@skip - \parindent=0.5\footindent \parfillskip=0pt plus 1fil - \spaceskip=\z@skip \xspaceskip=\z@skip \footnotespecial - \Textindent{##1}\footstrut\futurelet\next\fo@t} -% make the footnotes all have the correct size and the same footrule! -%% Make column separators for large one-column equations %%%%%%%%%%%%%%%%%%% - \def\sp@cecheck##1{\dimen@=\pagegoal\advance\dimen@ by -\pagetotal - \ifdim\dimen@<##1 \ifdim\dimen@>0pt \vfil\break \fi\fi} - \def\endleftcolumn{\dimen@=\pagegoal\advance\dimen@ by -\pagetotal - \ifdim\dimen@<\chapterminspace \ifdim\dimen@>0pt \vfil\break \fi - \hbox{\vbox{\hrule width \columnwidth}\hbox to 0.4pt - {\vrule height 10pt depth 0pt}\hfil}\fi} - \def\beginrightcolumn{\dimen@=\pagegoal\advance\dimen@ by -\pagetotal - \ifdim\dimen@<\chapterminspace \ifdim\dimen@>0pt \vfil\break \fi - \hbox to \hsize{\hss\hbox{\vrule height 0pt depth 10pt - \vbox{\hrule width \columnwidth}}}\fi} -} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Now start the draftmode and preprintmode enhancement features -%% (Homage to harvmac.tex) -%% Report any bugs to T.J. Allen -%% tja@theory3.caltech.edu or -%% tjallen@wishep.physics.wisc.edu -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Here is the draftmode feature -%% -%% Use the following on the preliminary draft, -%% puts time/date on each page in writes labels in margins -%% and puts reference labels on the reference page. -%% Putting \draft in the beginning of the paper causes it -%% to be printed in draftmode. use \nodraftlabels to get rid of -%% eqn, ref, and fig labels in draft mode -%% -%% Timestamp routine bug fixed October 30, 1991 by T.J.A. -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\newif\ifdr@ftmode -\newtoks\r@flabeltoks -\def\draftmode{ - \pagetextwidth=6truein - \fullhsize=6truein - \titlepagewidth=6truein - \vsize=8.3truein - \normalspace - \hoffset=0.3truein - \voffset=0.2truein - \advance\hoffset by\HOFFSET - \advance\voffset by\VOFFSET - \hsize=\pagetextwidth - \tenpoint - \baselineskip=24pt plus 2pt minus 2pt - \dr@ftmodetrue - \message{ DRAFTMODE } - \writedraftlabels - \def\timestring{\begingroup - \count0 = \time \divide\count0 by 60 - \count2 = \count0 % the hour - \count4 = \time \multiply\count0 by 60 - \advance\count4 by -\count0 % the minute - \ifnum\count4<10 \toks1={0} % get a leading zero. - \else \toks1 = {} - \fi - \ifnum\count2<12 \toks0={a.m.} % - \ifnum\count2<1 \count2=12 \fi% Make midnight `12' - \else \toks0={p.m.} % - \ifnum\count2=12 % keep noon `12' - \else - \advance\count2 by -12 % keep afternoon times < 12 - \fi - \fi -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% \ifnum\count2=0 \count2 = 12\fi % make midnight `12'. % There seems to -%% be a bug in TeX when checking a count which has the value 0. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \number\count2:\the\toks1 \number\count4\thinspace \the\toks0 - \endgroup}% -% - \def\draftdate{{{\tt preliminary version:}\space{\rm - \timestring\quad\the\date}}} -% -\def\R@FWRITE##1{\ifreferenceopen \else \gl@bal\referenceopentrue - \immediate\openout\referencewrite=\jobname.refs - \toks@={\begingroup \refoutspecials \catcode`\^^M=10 }% - \immediate\write\referencewrite{\the\toks@}\fi - \immediate\write\referencewrite% - {\noexpand\refitem{\the\r@flabeltoks[\the\referencecount]}}% - \p@rse@ndwrite \referencewrite ##1} -% -\def\refitem##1{\r@fitem{##1}} -\def\REF##1##2{\reflabel##1 \REFNUM ##1\REFWRITE{\ignorespaces ##2}} -\def\Ref##1##2{\reflabel##1 \Refnum ##1\REFWRITE{ ##2}} -\def\REFS##1##2{\reflabel##1 \REFNUM ##1% -\gl@bal\lastrefsbegincount=\referencecount\REFWRITE{ ##2}} -\def\refs{\REFS\?} -\def\refc{\REF\?} -\let\refscon=\refc \let\REFSCON=\REF -% -} -\def\nodraftlabels{\def\leqlabel##1{}\def\eqlabel##1{}\def\reflabel##1{}% -\def\leqlabel##1{}} -\def\writedraftlabels{ - \def\eqlabel##1{{\escapechar-1\rlap{\sevenrm\hskip.05in\string##1}}}% - \def\leqlabel##1{{\escapechar-1\llap{\sevenrm\string##1\hskip.05in}}}% - \def\reflabel##1{\r@flabeltoks={{\escapechar-1\sevenrm\string##1\hskip.06in% -}}}} -\def\draft{\draftmode} -\def\draftstyle{\draftmode} -\nodraftlabels % Make the default mode no labels -\dr@ftmodefalse % Turn off draftmode -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Here come macros for equation numbering. -%% (Equation numbers are modified in draft mode) -%% -%% Sections are automatically numbered independently, unless -%% one puts the command \sequentialequations -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\def\eqname#1{\rel@x {\pr@tect - \ifnum\equanumber<0 \xdef#1{{\rm(\number-\equanumber)}}% - \gl@bal\advance\equanumber by -1 - \else \gl@bal\advance\equanumber by 1 - \xdef#1{{\rm(\ifcn@@ \chapterlabel.\fi \number\equanumber)}}\fi - }#1} -% -\def\eq{\eqname\?} -\def\eqn#1{\eqno\eqname{#1}\eqlabel#1} -\def\leqn#1{\leqno\leqlabel#1\eqname{#1}} %MODIFICATION -% -\def\eqinsert#1{\noalign{\dimen@=\prevdepth \nointerlineskip - \setbox0=\hbox to\displaywidth{\hfil #1} - \vbox to 0pt{\kern 0.5\baselineskip\hbox{$\!\box0\!$}\vss} - \prevdepth=\dimen@}} %MODIFICATION -% -\def\leqinsert#1{\eqinsert{#1\hfill}} -\def\mideqn#1{\eqinsert{\eqname{#1}}} %MODIFICATION -\def\midleqn#1{\leqinsert{\eqname{#1}}} -% -\def\eqnalign#1{\eqname{#1}} %MODIFICATION -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Here come modified reference macros -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% -\def\refout{\par\penalty-400\vskip\chapterskip - \spacecheck\referenceminspace - \ifreferenceopen \Closeout\referencewrite \referenceopenfalse \fi - \line{\ifpr@printstyle\twelverm\else\fourteenrm\fi - \hfil REFERENCES\hfil}\vskip\headskip - \input \jobname.refs - } -\def\ACK{\par\penalty-100\medskip \spacecheck\sectionminspace - \line{\ifpr@printstyle\twelverm\else\fourteenrm\fi - \hfil ACKNOWLEDGEMENTS\hfil}\nobreak\vskip\headskip } -\def\tabout{\par\penalty-400 - \vskip\chapterskip\spacecheck\referenceminspace - \iftableopen \Closeout\tablewrite \tableopenfalse \fi - \line{\ifpr@printstyle\twelverm\else\fourteenrm\fi\hfil TABLE % - CAPTIONS\hfil} - \vskip\headskip - \input \jobname.tabs - } -\def\figout{\par\penalty-400 - \vskip\chapterskip\spacecheck\referenceminspace - \iffigureopen \Closeout\figurewrite \figureopenfalse \fi - \line{\ifpr@printstyle\twelverm\else\fourteenrm\fi\hfil FIGURE % - CAPTIONS\hfil} - \vskip\headskip - \input \jobname.figs - } -% -\def\masterreset{\begingroup\hsize=\pagetextwidth - \global\pagenumber=1 \global\chapternumber=0 - \global\equanumber=0 \global\sectionnumber=0 - \global\referencecount=0 \global\figurecount=0 \global\tablecount=0 - \endgroup} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Here start the preprintmode enhancements -%% To cause the paper to be printed in preprintmode, which -%% emulates the l answer in harvmac, insert \preprint at the -%% beginning of the file -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Next, I define output routines, footnotes & related stuff. -%% (The headline has been modified for draftmode and preprints -%% may be produced in landscape form, two columns sideways) -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% -\newif\ifpr@printstyle \pr@printstylefalse -\newbox\leftpage -\newdimen\fullhsize -\newdimen\titlepagewidth -\newdimen\pagetextwidth -\def\preprintstyle{% - \message{(This will be printed PREPRINTSTYLE)} - \let\lr=L - \frontpagetrue - \pr@printstyletrue - \vsize=7truein - \pagetextwidth=4.75truein - \fullhsize=10truein - \titlepagewidth=8truein - \normalspace - \Tenpoint - \voffset=-.31truein - \hoffset=-.46truein - \iffrontpage\hsize=\titlepagewidth\else\hsize=\pagetextwidth\fi - % Comment out the above line for SLAC style frontpage - % and uncomment the following line - %\hsize=\pagetextwidth - \output={% - \iffrontpage - \shipout\vbox{\special{\printertype}\makeheadline - \hbox to \fullhsize{\hfill\pagebody\hfill}} - \advancepageno - \else - \almostshipout{\leftline{\vbox{\pagebody\makefootline}}}\advancepageno - \fi} - \def\almostshipout##1{\if L\lr \count2=1 - \message{[\the\count0.\the\count1.\the\count2]} - \global\setbox\leftpage=##1 \global\let\lr=R - \else \count2=2 - \shipout\vbox{\special{\printertype} - \hbox to\fullhsize{\hfill\box\leftpage\hskip0.5truein##1\hfill}} - \global\let\lr=L \fi} - \multiply\chapterminspace by 7 \divide\chapterminspace by 9 - \multiply\sectionminspace by 7 \divide\sectionminspace by 9 - \multiply\referenceminspace by 7 \divide\referenceminspace by 9 - \multiply\chapterskip by 7 \divide\chapterskip by 9 - \multiply\sectionskip by 7 \divide\sectionskip by 9 - \multiply\headskip by 7 \divide\headskip by 9 - \multiply\baselineskip by 7 \divide\baselineskip by 9 - \multiply\abovedisplayskip by 7 \divide\abovedisplayskip by 9 - \belowdisplayskip = \abovedisplayskip -% -\def\advancepageno{\if L\lr \gl@bal\advance\pagen@ by 1\fi - \ifnum\pagenumber<0 \gl@bal\advance\pagenumber by -1 - \else\gl@bal\advance\pagenumber by 1 \fi - \gl@bal\frontpagefalse \swing@ - \gl@bal\hsize=\pagetextwidth} -} % end of preprintstyle specs -% -\let\preprint=\preprintstyle -\let\preprintmode=\preprintstyle -\tolerance=1000 -%\def\printertype{ps: } -\def\printertype{} -% -% Default values for the fullsize document page -\def\oldpapersize{\ifpr@printstyle\relax\else - \ifdr@ftmode\relax\else - \pagetextwidth=6truein - \fullhsize=6truein - \titlepagewidth=6truein - \vsize=8.3truein - \hsize=\pagetextwidth - \Twelvepoint - \hoffset=0.3 truein - \voffset=0.2 truein - \advance\hoffset by\HOFFSET - \advance\voffset by\VOFFSET - \pagebottomfiller=0pc - \skip\footins=\bigskipamount - \normalspace\fi\fi} -% -\def\bigpapersize{\ifpr@printstyle\relax\else - \ifdr@ftmode\relax\else - \pagetextwidth=6.5truein - \fullhsize=6.5truein - \titlepagewidth=6.5truein - \hsize=\fullhsize - \vsize=9truein - \Twelvepoint - \hoffset=0.05 truein - \voffset=-0.1truein - \advance\hoffset by\HOFFSET - \advance\voffset by\VOFFSET - \pagebottomfiller=0pc - \skip\footins=\bigskipamount - \normalspace\fi\fi } -% -\paperheadline={\ifdr@ftmode\hfil\draftdate\else\hfill\fi} -% -\def\advancepageno{\gl@bal\advance\pagen@ by 1 - \ifnum\pagenumber<0 \gl@bal\advance\pagenumber by -1 - \else\gl@bal\advance\pagenumber by 1 \fi - \gl@bal\frontpagefalse \swing@ - \gl@bal\hsize=\pagetextwidth} %MODIFICATION -% -\let\papersize=\bigpapersize -% -\papers -% -\def\lettersize{\fullhsize=6.5in - \pagetextwidth=6.5in - \hsize=\fullhsize - \vsize=8.5in - \hoffset=0in - \voffset=0.5in - \advance\hoffset by\HOFFSET - \advance\voffset by\VOFFSET - \pagebottomfiller=\letterbottomskip - \skip\footins=\smallskipamount - \multiply\skip\footins by 3 - \singlespace } -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Here come chapter, section, subsection & appendix macros. -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% The following allows a shortcut for making titles bold etc. -%% Just use \chapterheadstyle={\bf} in the beginning of the -%% TeX file. -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newtoks\chapterheadstyle \chapterheadstyle={\relax} -% -\def\chapter#1{{\the\chapterheadstyle\par \penalty-300 \vskip\chapterskip - \spacecheck\chapterminspace - \chapterreset\titlestyle{\ifcn@@{\ifPhysRev\Roman{\the\chapternumber}.~ - \else{\the\chapternumber}.~\fi}\fi #1} - \nobreak\vskip\headskip \penalty 30000 - \message{(\the\chapternumber. #1)} - {\pr@tect\wlog{\string\chapter\space \chapterlabel}} }} -\def\chap{\chapter} -\def\APPENDIX#1#2{{\the\chapterheadstyle\par\penalty-300\vskip\chapterskip - \spacecheck\chapterminspace \chapterreset \xdef\chapterlabel{#1} - \titlestyle{APPENDIX #2} \nobreak\vskip\headskip \penalty 30000 - \wlog{\string\Appendix~\chapterlabel} }} -% -\def\chapterreset{\gl@bal\advance\chapternumber by 1 - \ifnum\equanumber<0 \else\gl@bal\equanumber=0\fi - \gl@bal\sectionnumber=0 \let\sectionlabel=\rel@x - \ifcn@ \gl@bal\cn@@true {\pr@tect - \xdef\chapterlabel{{\the\chapterstyle{\the\chapternumber}}}}% - \else \gl@bal\cn@@false \gdef\chapterlabel{\rel@x}\fi }%MODIFICATION -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Various little user definitions -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\def\half{{\textstyle{1\over2}}} -\def\third{{\textstyle{1\over3}}} -\def\fourth{{\textstyle{1\over4}}} -\def\12{{1\over2}} -\def\etal{{\it et al.\ }} -\def\via{{\hbox{\it via}}} -\def\cf{{\hbox{\it cf.}}} -\def\sla{\raise.15ex\hbox{$/$}\kern-.57em} -\def\leaderfill{\leaders\hbox to 1em{\hss.\hss}\hfill} -\def\dual{{\,^*\kern-.20em}} %%% produces a raised * in front of a form -\def\inner{\,{\vcenter{ %%% symbol _| for vector, form inner product - \hbox{ \kern 4pt - \vrule width 0.5pt height 7pt} - \hrule height 0.5pt}}\,} -\def\bx{{\vcenter{\hrule height 0.4pt - \hbox{\vrule width 0.4pt height 10pt \kern 10pt - \vrule width 0.4pt} - \hrule height 0.4pt}}} -\def\sqr#1#2{{\vcenter{\hrule height.#2pt - \hbox{\vrule width.#2pt height#1pt \kern#1pt - \vrule width.#2pt} - \hrule height.#2pt}}} -\def\rect#1#2#3#4{{\vcenter{\hrule height#3pt - \hbox{\vrule width#4pt height#1pt \kern#1pt - \vrule width#4pt} - \hrule height#3pt}}} -\def\rec{\rect{15}{15}{.5}{.5}} -\def\bx{{\vcenter{\hrule height 0.4pt - \hbox{\vrule width 0.4pt height 10pt \kern 10pt - \vrule width 0.4pt} - \hrule height 0.4pt}}} -\def\ssquare{\mathchoice\sqr34\sqr34\sqr{2.1}3\sqr{1.5}3} -\def\up#1{\leavevmode \raise.16ex\hbox{#1}} -\def\twiddle{\lower.9ex\rlap{$\kern-.1em\scriptstyle\sim$}} -\def\bigtwiddle{\lower1.ex\rlap{$\sim$}} -\def\gtwid{\mathrel{\raise.3ex\hbox{$>$\kern-.75em\lower1ex\hbox{$\sim$}}}} -\def\ltwid{\mathrel{\raise.3ex\hbox{$<$\kern-.75em\lower1ex\hbox{$\sim$}}}} -\def\square{\kern1pt\vbox{\hrule height 1.2pt\hbox{\vrule width 1.2pt\hskip 3pt - \vbox{\vskip 6pt}\hskip 3pt\vrule width 0.6pt}\hrule height 0.6pt}\kern1pt} -\def\tdot#1{\mathord{\mathop{#1}\limits^{\kern2pt\ldots}}} -\def\super#1{$^{#1}$} -\def\pmb#1{\setbox0=\hbox{#1} % POOR MAN'S BOLD - \kern-.025em\copy0\kern-\wd0 - \kern .05em\copy0\kern-\wd0 - \kern-.025em\raise.0433em\box0 } -\def\qed{\vrule height 1.2ex width 0.5em} -\def\dalemb{{\cal t}} %%DALEMBERTIAN, USED TO BE \box -\def\grad{\nabla} -\def\const{{\rm const}} -\def\s{{\,\rm s}} -\def\cm{{\,\rm cm}} -\def\g{{\,\rm g}} -\def\coeff#1#2{\textstyle{#1\over #2}} -\def\partder#1#2{{{\partial #1}\over{\partial #2}}} -\def\Tr{\mathop{\rm Tr}\nolimits} -\def\gev{{\,\rm GeV}} -\def\ev{{\,\rm eV}} -\def\inv{^{\raise.15ex\hbox{${\scriptscriptstyle -}$}\kern-.05em 1}} -\def\dup{^{\vphantom{1}}} -\def\Dsl{\,\raise.15ex\hbox{/}\mkern-13.5mu D} %this one can be subscripted -\def\dsl{\raise.15ex\hbox{/}\kern-.57em\partial} -\def\del{\partial} -\def\Psl{\dsl} -\def\tr{{\rm tr}} -\font\bigit=cmti10 scaled \magstep1 -\def\biglie{\hbox{\bigit\$}} %pound sterling -\def\boxeqn#1{\vcenter{\vbox{\hrule\hbox{\vrule\kern3pt\vbox{\kern3pt - \hbox{${\displaystyle #1}$}\kern3pt}\kern3pt\vrule}\hrule}}} -\def\mbox#1#2{\vcenter{\hrule \hbox{\vrule height#2in - \kern#1in \vrule} \hrule}} %e.g. \mbox{.1}{.1} -\hyphenation{anom-aly anom-alies coun-ter-term coun-ter-terms} -%% -%% matters of taste -%% -%% -%% -%\def\tilde{\widetilde} \def\bar{\overline} \def\hat{\widehat} -\def\e#1{{\rm e}^{^{\textstyle#1}}} -\def\grad#1{\,\nabla\!_{{#1}}\,} -\def\ph{\varphi} -\def\psibar{\overline\psi} -\def\om#1#2{\omega^{#1}{}_{#2}} -\def\darr#1{\raise1.5ex\hbox{$\leftrightarrow$}\mkern-16.5mu #1} -\def\lie{\hbox{\it\$}} %pound sterling -\def\roughly#1{\raise.3ex\hbox{$#1$\kern-.75em\lower1ex\hbox{$\sim$}}} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Miscellaneous macros -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%\def\letter{\FRONTPAGE \letterhead \addressee } -% -% A copies-to macro for the end of letters -% -\def\cc#1{% -\setbox0 = \vtop{\ialign to\hsize{\strut ##\hfil\tabskip 0pt plus \hsize % -\crcr #1\crcr}}% -\hbox{{cc:\ }\box0}% -} -%%% undertildes -\def\underwig#1{{ -\setbox0=\hbox{$#1$} -\setbox1=\hbox{} -\wd1=\wd0 -\ht1=\ht0 -\dp1=\dp0 -\setbox2=\hbox{$\rm\widetilde{\box1}$} -\dimen@=\ht2 \advance \dimen@ by \dp2 \advance \dimen@ by 1.5pt -\ht2=0pt \dp2=0pt -\hbox to 0pt{$#1$\hss} \lower\dimen@\box2 -}} -% -\def\bunderwig#1{{ -\setbox0=\hbox{$#1$} -\setbox1=\hbox{} -\wd1=\wd0 -\ht1=\ht0 -\dp1=\dp0 -\setbox2=\hbox{$\seventeenrm\widetilde{\box1}$} -\dimen@=\the\ht2 \advance \dimen@ by \the\dp2 \advance \dimen@ by 1.5pt -\ht2=0pt \dp2=0pt -\hbox to 0pt{$#1$\hss} \lower\dimen@\box2 -}} -% -\def\journal#1(#3){\unskip, \sl #1~\bf #2 \rm (19#3) } - % Journal reference. Alignment - % tabs & set off name, vol, year, page -\def\npjournal#1&{\unskip, #1~\rm #2 \rm (#3) #4} -\gdef\prjournal#1&{\unskip, #1~\bf #2, \rm #4 (#3)} -\def\JOURNAL{\ifPhysRev\prjournal\else\npjournal\fi} -% -\def\coeff#1#2{\textstyle{#1\over #2}} -\def\partder#1#2{{\partial #1\over\partial #2}} -\def\bra#1{\left\langle #1\right|} -\def\ket#1{\left| #1\right\rangle} -\def\VEV#1{\left\langle #1\right\rangle} -\let\vev=\VEV -\def\Tr{\mathop{\rm Tr}\nolimits} -\let\int=\intop \let\oint=\ointop -\def\semi{;\hfil\break} -\catcode`@=12 % at signs are no longer letters -% -\masterreset -\endinput -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%% This is LABELFORM.TEX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Macro to make mailing labels on Avery sheets from an address file. -%% Address file should be formatted as: -%% -%% { -%% <name> -%% <multi(<=5)line address> -%% } -%% -%% with a blank line between addresses and NO BLANK LINES at the -%% BEGINNING or the END -%% -%% The enhanced phyzzx.plus automatically formats the input file for -%% addresses correctly if the command \labelformlabels is inserted -%% BEFORE the \multiletter command -%% -%% The present format has ELEVEN labels in each column, THREE columns/page -%% and prints in a tenpoint san serif typeface -%% (Appended to the end of this file is the format for EIGHT labels/column) -%% -%% No matter what the name of the address file input is, the output will -%% be called LABELFORM.DVI -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\font\tenss = cmss10 -\tenss -\nopagenumbers -\baselineskip=9truept % use 10truept here for labels with only four lines -\parindent 0pt -\hsize=8.5truein -\vsize=11 truein -\hoffset=-0.65 truein -\voffset=-0.795 truein -% -\newread\addrfileno -\loop\immediate\write16{ } - \message{Address file name? } - \read-1 to \addrfile - \immediate\write16{ } - \openin\addrfileno=\addrfile - \ifeof\addrfileno \immediate\write16{File not found.} -\repeat -% -\newbox\onelabel -\newbox\wall -\setbox\wall=\hbox to 0pt{\null} -\newcount\across \across=0 -\newcount\down \down=0 -% -\newif\ifanymore -\loop - \endlinechar=`\^^M % normal expansion of <cr> - \begingroup\obeylines % to get address read in with \par's - \global\read\addrfileno to \addresslines % - \endgroup - \setbox\onelabel=\hbox to 2.8truein{\vbox to 0.99truein{\vskip 3truept - \hbox{\vbox{\hsize=2.8truein \addresslines}} - \vfil}} % - \setbox\wall=\hbox{\box\wall\box\onelabel} - \advance\across by 1 - \ifnum\across=3 % if 3 labels in a row, add row - \box\wall - \vskip -1.0pt % correct downward creep - \setbox\wall=\hbox to 0pt{\null} - \advance\down by 1 - \across=0 - \ifnum\down=11 % if 11 rows on page, print page - \eject - \down=0 - \fi - \fi - \read\addrfileno to \emptyline % 1 blank line divides addresses - \ifeof\addrfileno\anymorefalse % last line in the file - \else\anymoretrue\fi % otherwise repeat the loop - \ifanymore -\repeat -\closein\addrfileno -\ifnum\across=0 % if addresses ended with a full row, no need to fill - \else % if addresses didn't end with a full row, fill it out - \setbox\wall=\hbox to\hsize{\box\wall\hfill} - \box\wall \vfill\eject -\fi -\bye -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%% This is LABELFORM.TEX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% Macro to make mailing labels on Avery sheets from an address file. -%% Address file should be formatted as: -%% -%% -%% { -%% <name> -%% <multi(<=6)line address> -%% } -%% -%% with a blank line between addresses and NO BLANK LINES at the -%% BEGINNING or the END -%% -%% The enhanced phyzzx.plus automatically formats the input file for -%% addresses correctly if the command \labelformlabels is inserted BEFORE -%% the \multiletter command -%% -%% The present format has EIGHT labels in each column, THREE columns/page -%% and prints in a san serif typeface -%% -%% No matter what the name of the address file input is, the output will -%% be called LABELFORM.DVI -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\font\tenss = cmss10 -\tenss -\nopagenumbers -\baselineskip=9 truept -\parindent 0pt -\hsize=8.5truein -\vsize=11truein -\hoffset=-0.65truein -\voffset=-0.4truein -% -\newread\addrfileno -\loop\immediate\write16{ } - \message{Address file name? } - \read-1 to \addrfile - \immediate\write16{ } - \openin\addrfileno=\addrfile - \ifeof\addrfileno \immediate\write16{File not found.} -\repeat -% -\newbox\onelabel -\newbox\wall -\setbox\wall=\hbox to 0pt{\null} -\newcount\across \across=0 -\newcount\down \down=0 -% -\newif\ifanymore -\loop - \endlinechar=`\^^M % normal expansion of <cr> - \begingroup\obeylines % to get address read in with \par's - \global\read\addrfileno to \addresslines % - \endgroup - \setbox\onelabel=\hbox to 2.8truein{\vbox to 1.35truein{\vskip 3truept - \hbox{\vbox{\hsize=2.8 truein \addresslines}} - \vfil}} % - \setbox\wall=\hbox{\box\wall\box\onelabel} - \advance\across by 1 - \ifnum\across=3 % if 3 labels in a row, add row - \box\wall - \vskip -1.0pt % correct downward creep - \setbox\wall=\hbox to 0pt{\null} - \advance\down by 1 - \across=0 - \ifnum\down=8 % if 8 rows on page, print page - \eject - \down=0 - \fi - \fi - \read\addrfileno to \emptyline % 1 blank line divides addresses - \ifeof\addrfileno\anymorefalse % last line in the file - \else\anymoretrue\fi % otherwise repeat the loop - \ifanymore -\repeat -\closein\addrfileno -\ifnum\across=0 % if addresses ended with a full row, no need to fill - \else % if addresses didn't end with a full row, fill it out - \setbox\wall=\hbox to\hsize{\box\wall\hfill} - \box\wall \vfill\eject -\fi -\bye diff --git a/macros/phyzzx/phyzzx.tex b/macros/phyzzx/phyzzx.tex deleted file mode 100644 index ad05eea87e..0000000000 --- a/macros/phyzzx/phyzzx.tex +++ /dev/null @@ -1,931 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -%%% This is PHYZZX macro package. % % % % % % % % % % % % % % % % % -%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -%%% This version of PHYZZX should be used with Version >1.0 of TEX % % -%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -%%% To preload both PLAIN and PHYZZX, begin your file with % % % % -%%% a line "%macropackage=phyzzx" instead of "\input phyzzx". % % % % -%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%% Created by Vadim Kaplunovsky in June 1984. %%%%%%%%%%%%%%%%%% -% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -%%%%%%%%%%%% Latest update/debug: April 27, 1988 %%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -\expandafter\ifx\csname phyzzx\endcsname\relax - \message{It is better to use PHYZZX format than to - \string\input\space PHYZZX}\else - \wlog{PHYZZX macros are already loaded and are not - \string\input\space again}% - \endinput \fi -% -\catcode`\@=11 % This allows us to modify PLAIN macros. -% -\let\rel@x=\relax -\let\n@expand=\relax -\def\pr@tect{\let\n@expand=\noexpand} -\let\protect=\pr@tect -\let\gl@bal=\global -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% First, I define fonts and basic spacing parameters -% -\newfam\cpfam -% -\newdimen\b@gheight \b@gheight=12pt -\newcount\f@ntkey \f@ntkey=0 -\def\f@m{\afterassignment\samef@nt\f@ntkey=} -\def\samef@nt{\fam=\f@ntkey \the\textfont\f@ntkey\rel@x} -\def\setstr@t{\setbox\strutbox=\hbox{\vrule height 0.85\b@gheight - depth 0.35\b@gheight width\z@ }} -% -\input phyzzx.fonts -% Actual font definitions are kept in a separate file -% to facilitate font substitution. -% -\def\rm{\n@expand\f@m0 } -\def\mit{\n@expand\f@m1 } \let\oldstyle=\mit -\def\cal{\n@expand\f@m2 } -\def\it{\n@expand\f@m\itfam} -\def\sl{\n@expand\f@m\slfam} -\def\bf{\n@expand\f@m\bffam} -\def\tt{\n@expand\f@m\ttfam} -\def\caps{\n@expand\f@m\cpfam} \let\cp=\caps -\def\em@{\rel@x\ifnum\f@ntkey=0 \it \else - \ifnum\f@ntkey=\bffam \it \else \rm \fi \fi } -\def\em{\n@expand\em@} -% -\def\fourteenpoint{\fourteenf@nts \samef@nt \b@gheight=14pt \setstr@t } -\def\twelvepoint{\twelvef@nts \samef@nt \b@gheight=12pt \setstr@t } -\def\tenpoint{\tenf@nts \samef@nt \b@gheight=10pt \setstr@t } -% -% -\normalbaselineskip = 20pt plus 0.2pt minus 0.1pt -\normallineskip = 1.5pt plus 0.1pt minus 0.1pt -\normallineskiplimit = 1.5pt -\newskip\normaldisplayskip -\normaldisplayskip = 20pt plus 5pt minus 10pt -\newskip\normaldispshortskip -\normaldispshortskip = 6pt plus 5pt -\newskip\normalparskip -\normalparskip = 6pt plus 2pt minus 1pt -\newskip\skipregister -\skipregister = 5pt plus 2pt minus 1.5pt -% -\newif\ifsingl@ -\newif\ifdoubl@ -\newif\iftwelv@ \twelv@true -% -\def\singlespace{\singl@true\doubl@false\spaces@t} -\def\doublespace{\singl@false\doubl@true\spaces@t} -\def\normalspace{\singl@false\doubl@false\spaces@t} -\def\Tenpoint{\tenpoint\twelv@false\spaces@t} -\def\Twelvepoint{\twelvepoint\twelv@true\spaces@t} -% -\def\spaces@t{\rel@x - \iftwelv@ \ifsingl@\subspaces@t3:4;\else\subspaces@t1:1;\fi - \else \ifsingl@\subspaces@t3:5;\else\subspaces@t4:5;\fi \fi - \ifdoubl@ \multiply\baselineskip by 5 - \divide\baselineskip by 4 \fi } -% -\def\subspaces@t#1:#2;{ - \baselineskip = \normalbaselineskip - \multiply\baselineskip by #1 \divide\baselineskip by #2 - \lineskip = \normallineskip - \multiply\lineskip by #1 \divide\lineskip by #2 - \lineskiplimit = \normallineskiplimit - \multiply\lineskiplimit by #1 \divide\lineskiplimit by #2 - \parskip = \normalparskip - \multiply\parskip by #1 \divide\parskip by #2 - \abovedisplayskip = \normaldisplayskip - \multiply\abovedisplayskip by #1 \divide\abovedisplayskip by #2 - \belowdisplayskip = \abovedisplayskip - \abovedisplayshortskip = \normaldispshortskip - \multiply\abovedisplayshortskip by #1 - \divide\abovedisplayshortskip by #2 - \belowdisplayshortskip = \abovedisplayshortskip - \advance\belowdisplayshortskip by \belowdisplayskip - \divide\belowdisplayshortskip by 2 - \smallskipamount = \skipregister - \multiply\smallskipamount by #1 \divide\smallskipamount by #2 - \medskipamount = \smallskipamount \multiply\medskipamount by 2 - \bigskipamount = \smallskipamount \multiply\bigskipamount by 4 } -% -\def\normalbaselines{ \baselineskip=\normalbaselineskip - \lineskip=\normallineskip \lineskiplimit=\normallineskip - \iftwelv@\else \multiply\baselineskip by 4 \divide\baselineskip by 5 - \multiply\lineskiplimit by 4 \divide\lineskiplimit by 5 - \multiply\lineskip by 4 \divide\lineskip by 5 \fi } -% -\Twelvepoint % That's the default -% -\interlinepenalty=50 -\interfootnotelinepenalty=5000 -\predisplaypenalty=9000 -\postdisplaypenalty=500 -\hfuzz=1pt -\vfuzz=0.2pt -\newdimen\HOFFSET \HOFFSET=0pt -\newdimen\VOFFSET \VOFFSET=0pt -\newdimen\HSWING \HSWING=0pt -\dimen\footins=8in -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Next, I define output routines, footnotes & related stuff. -% -\newskip\pagebottomfiller -\pagebottomfiller=\z@ plus \z@ minus \z@ -% -\def\pagecontents{ - \ifvoid\topins\else\unvbox\topins\vskip\skip\topins\fi - \dimen@ = \dp255 \unvbox255 - \vskip\pagebottomfiller - \ifvoid\footins\else\vskip\skip\footins\footrule\unvbox\footins\fi - \ifr@ggedbottom \kern-\dimen@ \vfil \fi } -% -\def\makeheadline{\vbox to 0pt{ \skip@=\topskip - \advance\skip@ by -12pt \advance\skip@ by -2\normalbaselineskip - \vskip\skip@ \line{\vbox to 12pt{}\the\headline} \vss - }\nointerlineskip} -\def\makefootline{\baselineskip = 1.5\normalbaselineskip - \line{\the\footline}} -% -\newif\iffrontpage -\newif\ifp@genum -\def\nopagenumbers{\p@genumfalse} -\def\pagenumbers{\p@genumtrue} -\pagenumbers -% -\newtoks\paperheadline -\newtoks\paperfootline -\newtoks\letterheadline -\newtoks\letterfootline -\newtoks\letterinfo -\newtoks\date -% -\paperheadline={\hfil} -\paperfootline={\hss\iffrontpage\else\ifp@genum\tenrm\folio\hss\fi\fi} -\letterheadline{\iffrontpage \hfil \else - \rm \ifp@genum page~~\folio\fi \hfil\the\date \fi} -\letterfootline={\iffrontpage\the\letterinfo\else\hfil\fi} -\letterinfo={\hfil} -% -\def\monthname{\rel@x\ifcase\month 0/\or January\or February\or - March\or April\or May\or June\or July\or August\or September\or - October\or November\or December\else\number\month/\fi} -\def\today{\monthname~\number\day, \number\year} -\date={\today} -% -\headline=\paperheadline % The default is -\footline=\paperfootline % \papers -% -\countdef\pageno=1 \countdef\pagen@=0 -\countdef\pagenumber=1 \pagenumber=1 -\def\advancepageno{\gl@bal\advance\pagen@ by 1 - \ifnum\pagenumber<0 \gl@bal\advance\pagenumber by -1 - \else\gl@bal\advance\pagenumber by 1 \fi - \gl@bal\frontpagefalse \swing@ } -% -\def\folio{\ifnum\pagenumber<0 \romannumeral-\pagenumber - \else \number\pagenumber \fi } -% -\def\swing@{\ifodd\pagenumber \gl@bal\advance\hoffset by -\HSWING - \else \gl@bal\advance\hoffset by \HSWING \fi } -% -\def\footrule{\dimen@=\prevdepth\nointerlineskip - \vbox to 0pt{\vskip -0.25\baselineskip \hrule width 0.35\hsize \vss} - \prevdepth=\dimen@ } -% -\let\footnotespecial=\rel@x -\newdimen\footindent -\footindent=24pt -\def\Textindent#1{\noindent\llap{#1\enspace}\ignorespaces} -% -\def\Vfootnote#1{\insert\footins\bgroup - \interlinepenalty=\interfootnotelinepenalty \floatingpenalty=20000 - \singl@true\doubl@false\Tenpoint - \splittopskip=\ht\strutbox \boxmaxdepth=\dp\strutbox - \leftskip=\footindent \rightskip=\z@skip - \parindent=0.5\footindent \parfillskip=0pt plus 1fil - \spaceskip=\z@skip \xspaceskip=\z@skip \footnotespecial - \Textindent{#1}\footstrut\futurelet\next\fo@t} -% -\def\Footnote#1{\attach{${#1}$}\Vfootnote{#1}} -\def\vfootnote#1{\Vfootnote{${#1}$}} -\def\footnote#1{\attach{#1}\vfootnote{#1}} -\def\footattach{\attach\footsymbol} -\def\foot{\attach\footsymbolgen\vfootnote{\footsymbol}} -\let\footsymbol=\star -% -\newcount\lastf@@t \lastf@@t=-1 -\newcount\footsymbolcount \footsymbolcount=0 -\newif\ifPhysRev -% -\def\footsymbolgen{\bumpfootsymbolcount \generatefootsymbol \footsymbol } -% -\def\bumpfootsymbolcount{\rel@x - \iffrontpage \bumpfootsymbolpos \else \advance\lastf@@t by 1 - \ifPhysRev \bumpfootsymbolneg \else \bumpfootsymbolpos \fi \fi - \gl@bal\lastf@@t=\pagen@ } -\def\bumpfootsymbolpos{\ifnum\footsymbolcount <0 - \gl@bal\footsymbolcount =0 \fi - \ifnum\lastf@@t<\pagen@ \gl@bal\footsymbolcount=0 - \else \gl@bal\advance\footsymbolcount by 1 \fi } -\def\bumpfootsymbolneg{\ifnum\footsymbolcount >0 - \gl@bal\footsymbolcount =0 \fi - \gl@bal\advance\footsymbolcount by -1 } -% -\def\fd@f#1 {\xdef\footsymbol{\mathchar"#1 }} -\def\generatefootsymbol{\ifcase\footsymbolcount \fd@f 13F \or \fd@f 279 - \or \fd@f 27A \or \fd@f 278 \or \fd@f 27B \else - \ifnum\footsymbolcount <0 \fd@f{023 \number-\footsymbolcount } - \else \fd@f 203 {\loop \ifnum\footsymbolcount >5 - \fd@f{203 \footsymbol } \advance\footsymbolcount by -1 - \repeat }\fi \fi } - -% -\def\nonfrenchspacing{\sfcode`\.=3001 \sfcode`\!=3000 \sfcode`\?=3000 - \sfcode`\:=2000 \sfcode`\;=1500 \sfcode`\,=1251 } -\nonfrenchspacing -\newdimen\d@twidth -{\setbox0=\hbox{s.} \gl@bal\d@twidth=\wd0 \setbox0=\hbox{s} - \gl@bal\advance\d@twidth by -\wd0 } -\def\removehglue{\loop \unskip \ifdim\lastskip >\z@ \repeat } -\def\roll@ver#1{\removehglue \nobreak \count255 =\spacefactor \dimen@=\z@ - \ifnum\count255 =3001 \dimen@=\d@twidth \fi - \ifnum\count255 =1251 \dimen@=\d@twidth \fi - \iftwelv@ \kern-\dimen@ \else \kern-0.83\dimen@ \fi - #1\spacefactor=\count255 } -\def\step@ver#1{\rel@x \ifmmode #1\else \ifhmode - \roll@ver{${}#1$}\else {\setbox0=\hbox{${}#1$}}\fi\fi } -\def\attach#1{\step@ver{\strut^{\mkern 2mu #1} }} -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Here come chapter, section, subsection & appendix macros. -% -\newcount\chapternumber \chapternumber=0 -\newcount\sectionnumber \sectionnumber=0 -\newcount\equanumber \equanumber=0 -\let\chapterlabel=\rel@x -\let\sectionlabel=\rel@x -\newtoks\chapterstyle \chapterstyle={\Number} -\newtoks\sectionstyle \sectionstyle={\Number} -\newskip\chapterskip \chapterskip=\bigskipamount -\newskip\sectionskip \sectionskip=\medskipamount -\newskip\headskip \headskip=8pt plus 3pt minus 3pt -\newdimen\chapterminspace \chapterminspace=15pc -\newdimen\sectionminspace \sectionminspace=10pc -\newdimen\referenceminspace \referenceminspace=20pc -% -\newif\ifcn@ \cn@true -\newif\ifcn@@ \cn@@false -\def\numberedchapters{\cn@true} -\def\unnumberedchapters{\cn@false\sequentialequations} -% -\def\chapterreset{\gl@bal\advance\chapternumber by 1 - \ifnum\equanumber<0 \else\gl@bal\equanumber=0\fi - \sectionnumber=0 \let\sectionlabel=\rel@x - \ifcn@ \gl@bal\cn@@true {\pr@tect - \xdef\chapterlabel{\the\chapterstyle{\the\chapternumber}}}% - \else \gl@bal\cn@@false \gdef\chapterlabel{\rel@x}\fi } -% -\def\@alpha#1{\count255='140 \advance\count255 by #1\char\count255} - \def\alphabetic{\n@expand\@alpha} -\def\@Alpha#1{\count255='100 \advance\count255 by #1\char\count255} - \def\Alphabetic{\n@expand\@Alpha} -\def\@Roman#1{\uppercase\expandafter{\romannumeral #1}} - \def\Roman{\n@expand\@Roman} -\def\@roman#1{\romannumeral #1} \def\roman{\n@expand\@roman} -\def\@number#1{\number #1} \def\Number{\n@expand\@number} -\def\BLANK#1{\rel@x} \let\BLANC=\BLANK -% -\def\titleparagraphs{\interlinepenalty=9999 - \leftskip=0.03\hsize plus 0.22\hsize minus 0.03\hsize - \rightskip=\leftskip \parfillskip=0pt - \hyphenpenalty=9000 \exhyphenpenalty=9000 - \tolerance=9999 \pretolerance=9000 - \spaceskip=0.333em \xspaceskip=0.5em } -\def\titlestyle#1{\par\begingroup \titleparagraphs - \iftwelv@\fourteenpoint\else\twelvepoint\fi - \noindent #1\par\endgroup } -% -\def\spacecheck#1{\dimen@=\pagegoal\advance\dimen@ by -\pagetotal - \ifdim\dimen@<#1 \ifdim\dimen@>0pt \vfil\break \fi\fi} -% -\def\chapter#1{\par \penalty-300 \vskip\chapterskip - \spacecheck\chapterminspace - \chapterreset \titlestyle{\ifcn@@\chapterlabel.~\fi #1} - \nobreak\vskip\headskip \penalty 30000 - {\pr@tect\wlog{\string\chapter\space \chapterlabel}} } -\let\chap=\chapter -% -\def\section#1{\par \ifnum\lastpenalty=30000\else - \penalty-200\vskip\sectionskip \spacecheck\sectionminspace\fi - \gl@bal\advance\sectionnumber by 1 - {\pr@tect - \xdef\sectionlabel{\ifcn@@ \chapterlabel.\fi - \the\sectionstyle{\the\sectionnumber}}% - \wlog{\string\section\space \sectionlabel}}% - \noindent {\caps\enspace\sectionlabel.~~#1}\par - \nobreak\vskip\headskip \penalty 30000 } -% -\def\subsection#1{\par - \ifnum\the\lastpenalty=30000\else \penalty-100\smallskip \fi - \noindent\undertext{#1}\enspace \vadjust{\penalty5000}} -\let\subsec=\subsection -% -\def\undertext#1{\vtop{\hbox{#1}\kern 1pt \hrule}} -% -\def\ACK{\par\penalty-100\medskip \spacecheck\sectionminspace - \line{\fourteenrm\hfil ACKNOWLEDGEMENTS\hfil}\nobreak\vskip\headskip } -\def\ack{\subsection{Acknowledgements:}} -% -\def\APPENDIX#1#2{\par\penalty-300\vskip\chapterskip - \spacecheck\chapterminspace \chapterreset \xdef\chapterlabel{#1} - \titlestyle{APPENDIX #2} \nobreak\vskip\headskip \penalty 30000 - \wlog{\string\Appendix~\chapterlabel} } -\def\Appendix#1{\APPENDIX{#1}{#1}} -\def\appendix{\APPENDIX{A}{}} -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Here come macros for equation numbering. -% -\def\eqname#1{\rel@x {\pr@tect - \ifnum\equanumber<0 \xdef#1{{\rm(\number-\equanumber)}}% - \gl@bal\advance\equanumber by -1 - \else \gl@bal\advance\equanumber by 1 - \xdef#1{{\rm(\ifcn@@ \chapterlabel.\fi \number\equanumber)}}\fi - }#1} -% -\def\eq{\eqname\?} -\def\eqn{\eqno\eqname} -\def\leqn{\leqno\eqname} -% -\def\eqinsert#1{\noalign{\dimen@=\prevdepth \nointerlineskip - \setbox0=\hbox to\displaywidth{\hfil #1} - \vbox to 0pt{\kern 0.5\baselineskip\hbox{$\!\box0\!$}\vss} - \prevdepth=\dimen@}} -% -\def\leqinsert#1{\eqinsert{#1\hfill}} -\def\mideqn#1{\eqinsert{\eqname{#1}}} -\def\midleqn#1{\leqinsert{\eqname{#1}}} -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Here come items and lists -% -\def\GENITEM#1;#2{\par \hangafter=0 \hangindent=#1 - \Textindent{$ #2 $}\ignorespaces} -\outer\def\newitem#1=#2;{\gdef#1{\GENITEM #2;}} -% -\let\Item=\item -\newdimen\itemsize \itemsize=30pt -\newitem\item=1\itemsize; -\newitem\sitem=1.75\itemsize; \let\subitem=\sitem -\newitem\ssitem=2.5\itemsize; \let\subsubitem\ssitem -% -\outer\def\newlist#1=#2{\toks0={#2}\toks1={#3}% - \count255=\escapechar \escapechar=-1 - \alloc@0\list\countdef\insc@unt\listcount \listcount=0 - \edef#1{\par - \countdef\listcount=\the\allocationnumber - \advance\listcount by 1 - \hangafter=0 \hangindent=#4 - \Textindent{\the\toks0{\listcount}\the\toks1}} - \expandafter\expandafter\expandafter - \edef\c@t#1{begin}{\par - \countdef\listcount=\the\allocationnumber \listcount=1 - \hangafter=0 \hangindent=#4 - \Textindent{\the\toks0{\listcount}\the\toks1}} - \expandafter\expandafter\expandafter - \edef\c@t#1{con}{\par \hangafter=0 \hangindent=#4 \noindent} - \escapechar=\count255} -\def\c@t#1#2{\csname\string#1#2\endcsname} -% -\newlist\point=\Number&.&1.0\itemsize; -\newlist\subpoint=(\alphabetic&)&1.75\itemsize; -\newlist\subsubpoint=(\roman&)&2.5\itemsize; -% -\let\spoint=\subpoint \let\sspoint=\subsubpoint -\let\spointbegin=\subpointbegin \let\sspointbegin=\subsubpointbegin -\let\spointcon=\subpointcon \let\sspointcon=\subsubpointcon -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Here come macros for references, figures & tables. -% -% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -%% First, references. -% -\newcount\referencecount \referencecount=0 -\newcount\lastrefsbegincount \lastrefsbegincount=0 -\newif\ifreferenceopen \newwrite\referencewrite -\newdimen\refindent \refindent=30pt -% -\def\normalrefmark#1{\attach{\scriptscriptstyle [ #1 ] }} -\let\PRrefmark=\attach -\def\NPrefmark#1{\step@ver{{\;[#1]}}} -\def\refmark#1{\rel@x\ifPhysRev\PRrefmark{#1}\else\normalrefmark{#1}\fi} -% -\def\refend@{\refmark{\number\referencecount}} -\def\refend{\refend@{}\space } -\def\refsend{\refmark{\count255=\referencecount - \advance\count255 by-\lastrefsbegincount - \ifcase\count255 \number\referencecount - \or \number\lastrefsbegincount,\number\referencecount - \else \number\lastrefsbegincount-\number\referencecount \fi}\space } -% -\def\REFNUM#1{\rel@x \gl@bal\advance\referencecount by 1 - \xdef#1{\the\referencecount }} -\def\Refnum#1{\REFNUM #1\refend@ } \let\refnum=\Refnum -\def\REF#1{\REFNUM #1\R@FWRITE\ignorespaces} -\def\Ref#1{\Refnum #1\REFWRITE } -\def\ref{\Ref\?} -\def\REFS#1{\REFNUM #1\gl@bal\lastrefsbegincount=\referencecount - \REFWRITE } -\def\refs{\REFS\?} -\def\refc{\REF\?} -\let\refscon=\refc \let\REFSCON=\REF -% -\def\r@fitem#1{\par \hangafter=0 \hangindent=\refindent \Textindent{#1}} -\def\refitem#1{\r@fitem{#1.}} -\def\NPrefitem#1{\r@fitem{[#1]}} -\def\NPrefs{\let\refmark=\NPrefmark \let\refitem=NPrefitem} -% -% -\def\REFWRITE{\R@FWRITE\rel@x } -\def\R@FWRITE#1{\ifreferenceopen \else \gl@bal\referenceopentrue - \immediate\openout\referencewrite=\jobname.refs - \toks@={\begingroup \refoutspecials \catcode`\^^M=10 }% - \immediate\write\referencewrite{\the\toks@}\fi - \immediate\write\referencewrite{\noexpand\refitem % - {\the\referencecount}}% - \p@rse@ndwrite \referencewrite #1} -% -\begingroup - \catcode`\^^M=\active \let^^M=\relax % - \gdef\p@rse@ndwrite#1#2{\begingroup \catcode`\^^M=12 \newlinechar=`\^^M% - \chardef\rw@write=#1\sc@nlines#2}% - \gdef\sc@nlines#1#2{\sc@n@line \g@rbage #2^^M\endsc@n \endgroup #1}% - \gdef\sc@n@line#1^^M{\expandafter\toks@\expandafter{\deg@rbage #1}% - \immediate\write\rw@write{\the\toks@}% - \futurelet\n@xt \sc@ntest }% -\endgroup -\def\sc@ntest{\ifx\n@xt\endsc@n \let\n@xt=\rel@x - \else \let\n@xt=\sc@n@notherline \fi \n@xt } -\def\sc@n@notherline{\sc@n@line \g@rbage } -\def\deg@rbage#1{} -\let\g@rbage=\relax \let\endsc@n=\relax -% -% -\def\refout{\par\penalty-400\vskip\chapterskip - \spacecheck\referenceminspace - \ifreferenceopen \Closeout\referencewrite \referenceopenfalse \fi - \line{\fourteenrm\hfil REFERENCES\hfil}\vskip\headskip - \input \jobname.refs - } -\def\refoutspecials{\sfcode`\.=1000 \interlinepenalty=1000 - \rightskip=\z@ plus 1em minus \z@ } -% -\def\Closeout#1{\toks0={\par\endgroup}\immediate\write#1{\the\toks0}% - \immediate\closeout#1} -% -% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -%% Next, figure captions and table captions. -% -\newcount\figurecount \figurecount=0 -\newcount\tablecount \tablecount=0 -\newif\iffigureopen \newwrite\figurewrite -\newif\iftableopen \newwrite\tablewrite -% -\def\FIGNUM#1{\rel@x \gl@bal\advance\figurecount by 1 - \xdef#1{\the\figurecount}} -\def\FIGURE#1{\FIGNUM #1\F@GWRITE\ignorespaces } -\let\FIG=\FIGURE -\def\Fig{\FIGNUM\?Figure~\?\FIGWRITE } -\def\fig{\FIGNUM\?figure~\?\FIGWRITE } -\def\figitem#1{\r@fitem{#1)}} -\def\FIGWRITE{\F@GWRITE\rel@x } -% -\def\TABNUM#1{\rel@x \gl@bal\advance\tablecount by 1 - \xdef#1{\the\tablecount}} -\def\TABLE#1{\TABNUM #1\T@BWRITE\ignorespaces } -\def\Table{\TABNUM\?Table~\?\TABWRITE } -\def\tabitem#1{\r@fitem{#1:}} -\def\TABWRITE{\T@BWRITE\rel@x } -% -\def\F@GWRITE#1{\iffigureopen \else \gl@bal\figureopentrue - \immediate\openout\figurewrite=\jobname.figs - \toks@={\begingroup \catcode`\^^M=10 }% - \immediate\write\figurewrite{\the\toks@}\fi - \immediate\write\figurewrite{\noexpand\figitem % - {\the\figurecount}}% - \p@rse@ndwrite \figurewrite #1} -\def\T@BWRITE#1{\iftableopen \else \gl@bal\tableopentrue - \immediate\openout\tablewrite=\jobname.tabs - \toks@={\begingroup \catcode`\^^M=10 }% - \immediate\write\tablewrite{\the\toks@}\fi - \immediate\write\tablewrite{\noexpand\tabitem % - {\the\tablecount}}% - \p@rse@ndwrite \tablewrite #1} -% -\def\figout{\par\penalty-400 - \vskip\chapterskip\spacecheck\referenceminspace - \iffigureopen \Closeout\figurewrite \figureopenfalse \fi - \line{\fourteenrm\hfil FIGURE CAPTIONS\hfil}\vskip\headskip - \input \jobname.figs - } -\def\tabout{\par\penalty-400 - \vskip\chapterskip\spacecheck\referenceminspace - \iftableopen \Closeout\tablewrite \tableopenfalse \fi - \line{\fourteenrm\hfil TABLE CAPTIONS\hfil}\vskip\headskip - \input \jobname.tabs - } -% -% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -%% Finally, inserted figures. -% -% -\newbox\picturebox -\def\p@cht{\ht\picturebox } -\def\p@cwd{\wd\picturebox } -\def\p@cdp{\dp\picturebox } -\newdimen\xshift -\newdimen\yshift -% -\newdimen\captionwidth -\newskip\captionskip -\captionskip=15pt plus 5pt minus 3pt -\def\fullwidth{\captionwidth=\hsize } -\newtoks\Caption -\newif\ifcaptioned -\newif\ifselfcaptioned -\def\caption{\captionedtrue \Caption } -\newcount\linesabove -% -\newif\iffileexists -\newtoks\picfilename -\def\fil@#1 {\fileexiststrue \picfilename={#1}} -\def\file#1{\if=#1\let\n@xt=\fil@ \else \def\n@xt{\fil@ #1}\fi \n@xt } -% -\def\pl@t{\begingroup \pr@tect - \setbox\picturebox=\hbox{}\fileexistsfalse - \let\height=\p@cht \let\width=\p@cwd \let\depth=\p@cdp - \xshift=\z@ \yshift=\z@ \captionwidth=\z@ - \Caption={}\captionedfalse - \linesabove =0 \picturedefault } -\def\plot{\pl@t \selfcaptionedfalse } -\def\Picture#1{\gl@bal\advance\figurecount by 1 - \xdef#1{\the\figurecount}\pl@t \selfcaptionedtrue } -\def\picture{\Picture\?} -% -\def\s@vepicture{\iffileexists \parsefilename \redopicturebox \fi - \ifdim\captionwidth>\z@ \else \captionwidth=\p@cwd \fi - \xdef\lastpicture{\iffileexists - \setbox0=\hbox{\raise\the\yshift \vbox{% - \moveright\the\xshift\hbox{\picturedefinition}}}% - \else \setbox0=\hbox{}\fi - \ht0=\the\p@cht \wd0=\the\p@cwd \dp0=\the\p@cdp - \vbox{\hsize=\the\captionwidth \line{\hss\box0 \hss }% - \ifcaptioned \vskip\the\captionskip \noexpand\Tenpoint - \ifselfcaptioned Figure~\the\figurecount.\enspace \fi - \the\Caption \fi }}% - \endgroup } -% -\let\endpicture=\s@vepicture -\def\savepicture#1{\s@vepicture \global\let#1=\lastpicture } -\def\displaypicture{\fullwidth \s@vepicture $$\lastpicture $${}} -\def\toppicture{\fullwidth \s@vepicture \topinsert - \lastpicture \medskip \endinsert } -\def\midpicture{\fullwidth \s@vepicture \midinsert - \lastpicture \endinsert } -% -% Wraparound macros - a try. -% -\def\leftpicture{\pres@tpicture - \dimen@i=\hsize \advance\dimen@i by -\dimen@ii - \setbox\picturebox=\hbox to \hsize {\box0 \hss }% - \wr@paround } -\def\rightpicture{\pres@tpicture - \dimen@i=\z@ - \setbox\picturebox=\hbox to \hsize {\hss \box0 }% - \wr@paround } -% -\def\pres@tpicture{\gl@bal\linesabove=\linesabove - \s@vepicture \setbox\picturebox=\vbox{ - \kern \linesabove\baselineskip \kern 0.3\baselineskip - \lastpicture \kern 0.3\baselineskip }% - \dimen@=\p@cht \dimen@i=\dimen@ - \advance\dimen@i by \pagetotal - \par \ifdim\dimen@i>\pagegoal \vfil\break \fi - \dimen@ii=\hsize - \advance\dimen@ii by -\parindent \advance\dimen@ii by -\p@cwd - \setbox0=\vbox to\z@{\kern-\baselineskip \unvbox\picturebox \vss }} -\def\wr@paround{\Caption={}\count255=1 - \loop \ifnum \linesabove >0 - \advance\linesabove by -1 \advance\count255 by 1 - \advance\dimen@ by -\baselineskip - \expandafter\Caption \expandafter{\the\Caption \z@ \hsize }% - \repeat - \loop \ifdim \dimen@ >\z@ - \advance\count255 by 1 \advance\dimen@ by -\baselineskip - \expandafter\Caption \expandafter{% - \the\Caption \dimen@i \dimen@ii }% - \repeat - \edef\n@xt{\parshape=\the\count255 \the\Caption \z@ \hsize }% - \par\noindent \n@xt \strut \vadjust{\box\picturebox }} -% -\let\picturedefault=\relax -\let\parsefilename=\relax -\def\redopicturebox{\let\picturedefinition=\rel@x - \errhelp=\disabledpictures - \errmessage{This version of TeX cannot handle pictures. Sorry.}} -\newhelp\disabledpictures - {You will get a blank box in place of your picture.} -% -% -% -% Above definitions of \parsefilename and \redopicturebox -% are dumb defaults. Actual definition are system dependent; -% you will probably find them in your PHYZZX.LOCAL file. -% -% The example below is used at Princeton. -% -%\def\parsefilename{\expandafter\p@rse\the\picfilename.\endp@rse } -%\def\p@rse#1.#2\endp@rse{\if"#2"\expandafter\picfilename -% \expandafter{\the\picfilename.fig}\fi } -% -%\newread\pictureread -%\def\redopicturebox{\expandafter\openin\expandafter\pictureread -% \the\picfilename -% \ifeof\pictureread \errhelp=\disabledpictures -% \edef\n@xt{\errmessage={Cannot find file \the\picfilename}\n@xt -% \let\pictureboxdefinition=\relax \else -% \read\pictureread to\y@p \read\pictureread to\y@p -% \read\pictureread to\x@p \read\pictureread to\y@m -% \read\pictureread to\x@m \closein\pictureread -% \p@cht=\y@p truein \advance\p@cht by -\y@m truein -% \advance\yshift by \y@p truein -% \p@cwd=\x@p truein \advance\p@cwd by -\x@m truein -% \advance\xshift by \x@m truein -% \edef\picturedefinition{\special{pos,inc=\the\picfilename}}% -% \fi } -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Here come macros for memos & letters. -% -\def\FRONTPAGE{\ifvoid255\else\vfill\penalty-20000\fi - \gl@bal\pagenumber=1 \gl@bal\chapternumber=0 - \gl@bal\equanumber=0 \gl@bal\sectionnumber=0 - \gl@bal\referencecount=0 \gl@bal\figurecount=0 - \gl@bal\tablecount=0 \gl@bal\frontpagetrue - \gl@bal\lastf@@t=0 \gl@bal\footsymbolcount=0 - \gl@bal\cn@@false } -\let\Frontpage=\FRONTPAGE -% -\def\papers{\papersize\headline=\paperheadline\footline=\paperfootline} -% -\def\papersize{\hsize=35pc \vsize=50pc \hoffset=0pc \voffset=1pc - \advance\hoffset by\HOFFSET \advance\voffset by\VOFFSET - \pagebottomfiller=0pc - \skip\footins=\bigskipamount \normalspace } -% -\papers % This is the default -% -% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -% -\newskip\lettertopskip \lettertopskip=20pt plus 50pt -\newskip\letterbottomskip \letterbottomskip=\z@ plus 100pt -\newskip\signatureskip \signatureskip=40pt plus 3pt -% -\def\lettersize{\hsize=6.5in \vsize=8.5in \hoffset=0in \voffset=0.5in - \advance\hoffset by\HOFFSET \advance\voffset by\VOFFSET - \pagebottomfiller=\letterbottomskip - \skip\footins=\smallskipamount \multiply\skip\footins by 3 - \singlespace } -% -\def\MEMO{\lettersize \headline=\letterheadline \footline={\hfil }% - \let\rule=\memorule \FRONTPAGE \memohead } -\let\memo=\MEMO -\def\memodate{\afterassignment\MEMO \date } -% -\def\memit@m#1{\smallskip \hangafter=0 \hangindent=1in - \Textindent{\caps #1}} -\def\subject{\memit@m{Subject:}} -\def\topic{\memit@m{Topic:}} -\def\from{\memit@m{From:}} -\def\to{\rel@x \ifmmode \rightarrow \else \memit@m{To:}\fi } -\def\memorule{\medskip\hrule height 1pt\bigskip} % default definitions -\def\memohead{\centerline{\fourteenrm MEMORANDUM}}% see phyzzx.local -% -\newwrite\labelswrite -\newtoks\rw@toks -\def\letters{\lettersize - \headline=\letterheadline \footline=\letterfootline - \immediate\openout\labelswrite=\jobname.lab} -\def\letter{\FRONTPAGE \letterhead \addressee } -\let\letterhead=\rel@x -% -\def\addressee#1{\medskip\line{\hskip 0.75\hsize plus\z@ minus 0.25\hsize - \the\date \hfil }% - \vskip \lettertopskip - \ialign to\hsize{\strut ##\hfil\tabskip 0pt plus \hsize \crcr #1\crcr} - \writelabel{#1}\medskip \noindent\hskip -\spaceskip \ignorespaces } -% -\def\rwl@begin#1\cr{\rw@toks={#1\crcr}\rel@x - \immediate\write\labelswrite{\the\rw@toks}\futurelet\n@xt\rwl@next} -\def\rwl@next{\ifx\n@xt\rwl@end \let\n@xt=\rel@x - \else \let\n@xt=\rwl@begin \fi \n@xt} -\let\rwl@end=\rel@x -\def\writelabel#1{\immediate\write\labelswrite{\noexpand\labelbegin} - \rwl@begin #1\cr\rwl@end - \immediate\write\labelswrite{\noexpand\labelend}} -% -\newtoks\FromAddress \FromAddress={} -\newtoks\sendername \sendername={} -\newbox\FromLabelBox -\newdimen\labelwidth \labelwidth=6in -% -\def\makelabels{\afterassignment\Makelabels \sendername=} -\def\Makelabels{\FRONTPAGE \letterinfo={\hfil } \MakeFromBox - \immediate\closeout\labelswrite \input \jobname.lab\vfil\eject} -\let\labelend=\rel@x -\def\labelbegin#1\labelend{\setbox0=\vbox{\ialign{##\hfil\cr #1\crcr}} - \MakeALabel } -% -\def\MakeFromBox{\gl@bal\setbox\FromLabelBox=\vbox{\Tenpoint - \ialign{##\hfil\cr \the\sendername \the\FromAddress \crcr }}} -\def\MakeALabel{\vskip 1pt \hbox{\vrule \vbox{ - \hsize=\labelwidth \hrule\bigskip - \leftline{\hskip 1\parindent \copy\FromLabelBox}\bigskip - \centerline{\hfil \box0 } \bigskip \hrule - }\vrule } \vskip 1pt plus 1fil } -% -\def\signed#1{\par \nobreak \bigskip \dt@pfalse \begingroup - \everycr={\noalign{\nobreak - \ifdt@p\vskip\signatureskip\gl@bal\dt@pfalse\fi }}% - \tabskip=0.5\hsize plus \z@ minus 0.5\hsize - \halign to\hsize {\strut ##\hfil\tabskip=\z@ plus 1fil minus \z@\crcr - \noalign{\gl@bal\dt@ptrue}#1\crcr }% - \endgroup \bigskip } -% -\def\copies{\par\hang\textindent{\tenrm cc:}} -\def\endletter{\par \iffrontpage \else \vfil \fi \supereject } -% -\newbox\letterb@x -\def\lettertext{\par \vskip\parskip \unvcopy\letterb@x \par } -\def\multiletter{\setbox\letterb@x=\vbox\bgroup - \everypar{\vrule height 1\baselineskip depth 0pt width 0pt } - \singlespace \topskip=\baselineskip } -\def\letterend{\par\egroup} -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Here come macros for title pages. -% -\newskip\frontpageskip -\newtoks\Pubnum \let\pubnum=\Pubnum -\newtoks\Pubtype \let\pubtype=\Pubtype -\newif\ifp@bblock \p@bblocktrue -% -\def\PH@SR@V{\doubl@true \baselineskip=24.1pt plus 0.2pt minus 0.1pt - \parskip= 3pt plus 2pt minus 1pt } -\def\PHYSREV{\papers\PhysRevtrue\PH@SR@V} -\let\physrev=\PHYSREV -\def\titlepage{\FRONTPAGE\papers\ifPhysRev\PH@SR@V\fi - \ifp@bblock\p@bblock \else\hrule height\z@ \rel@x \fi } -\def\nopubblock{\p@bblockfalse} -\def\endpage{\vfil\break} -% -\frontpageskip=12pt plus .5fil minus 2pt -\Pubtype={} -\Pubnum={} -% -\def\p@bblock{\begingroup \tabskip=\hsize minus \hsize - \baselineskip=1.5\ht\strutbox \topspace-2\baselineskip - \halign to\hsize{\strut ##\hfil\tabskip=0pt\crcr - \the\Pubnum\crcr\the\date\crcr\the\pubtype\crcr}\endgroup} -% -\def\title#1{\vskip\frontpageskip \titlestyle{#1} \vskip\headskip } -% -\def\author#1{\vskip\frontpageskip\titlestyle{\twelvecp #1}\nobreak} -\def\andauthor{\vskip\frontpageskip\centerline{and}\author} -\def\authors{\vskip\frontpageskip\noindent} -% -\def\address#1{\par\kern 5pt\titlestyle{\twelvepoint\it #1}} -\def\andaddress{\par\kern 5pt \centerline{\sl and} \address} -\def\SLAC{\address{Stanford Linear Accelerator Center\break - Stanford University, Stanford, California~94309}} -\def\JHL{\address{Joseph Henry Laboratories\break - Princeton University\break Princeton, New Jersey 08544}} -% -\def\abstract{\par\dimen@=\prevdepth \hrule height\z@ \prevdepth=\dimen@ - \vskip\frontpageskip\centerline{\fourteenrm ABSTRACT}\vskip\headskip } -\def\submit#1{\par\nobreak\vfil\nobreak\medskip - \centerline{Submitted to \sl #1}} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Miscellaneous macros -% -\def\ie{\hbox{\it i.e.}} \def\etc{\hbox{\it etc.}} -\def\eg{\hbox{\it e.g.}} \def\cf{\hbox{\it cf.}} -\def\etal{\hbox{\it et al.}} \def\dash{\hbox{---}} -\def\\{\rel@x \ifmmode \backslash \else {\tt\char`\\}\fi } -% -\def\sequentialequations{\rel@x \if\equanumber<0 \else - \gl@bal\equanumber=-\equanumber \gl@bal\advance\equanumber by -1 \fi } -% -\def\nextline{\unskip\nobreak\hfill\break} -\let\brk=\nextline -\def\subpar{\unskip\nobreak\vadjust{\allowbreak\vskip\parskip}% - \hskip\parfillskip\break} -% -\def\journal#1(#3){\begingroup \let\journal=\dummyj@urnal - \unskip, \sl #1\unskip~\bf\ignorespaces #2\rm - (\afterassignment\j@ur \count255=#3), \endgroup\ignorespaces } -\def\j@ur{\ifnum\count255<100 \advance\count255 by 1900 \fi - \number\count255 } -\def\dummyj@urnal{% - \toks@={Reference foul up: nested \journal macros}% - \errhelp={Your forgot & or ( ) after the last \journal}% - \errmessage{\the\toks@ }} -% -\def\cropen#1{\crcr\noalign{\vskip #1}} -\def\crr{\cropen{3\jot }} -\def\topspace{\hrule height 0pt depth 0pt \vskip} -% -\def\coeff#1#2{{\textstyle{#1\over #2}}} -\def\half{\coeff12 } -\def\partder#1#2{{\partial #1\over\partial #2}} -\def\Buildrel#1\under#2{\mathrel{\mathop{#2}\limits_{#1}}} -% -\def\becomes#1{\mathchoice{\becomes@\scriptstyle{#1}} - {\becomes@\scriptstyle{#1}} {\becomes@\scriptscriptstyle{#1}} - {\becomes@\scriptscriptstyle{#1}}} -\def\becomes@#1#2{\mathrel{\setbox0=\hbox{$\m@th #1{\,#2\,}$}% - \mathop{\hbox to \wd0 {\rightarrowfill}}\limits_{#2}}} -% -\def\bra#1{\left\langle #1\right|} -\def\ket#1{\left| #1\right\rangle} -\def\braket#1#2{\VEV{#1 | #2}} -\def\VEV#1{\left\langle #1\right\rangle} -\let\vev=\VEV -% -\def\Tr{\mathop{\rm Tr}\nolimits} -\def\tr{\mathop{\rm tr}\nolimits} -\let\int=\intop \let\oint=\ointop -% -\def\lsim{\mathrel{\mathpalette\@versim<}} -\def\gsim{\mathrel{\mathpalette\@versim>}} -\def\@versim#1#2{\vcenter{\offinterlineskip - \ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr\sim\crcr } }} -% -\def\big#1{{\hbox{$\left#1\vbox to 0.85\b@gheight{}\right.\n@space$}}} -\def\Big#1{{\hbox{$\left#1\vbox to 1.15\b@gheight{}\right.\n@space$}}} -\def\bigg#1{{\hbox{$\left#1\vbox to 1.45\b@gheight{}\right.\n@space$}}} -\def\Bigg#1{{\hbox{$\left#1\vbox to 1.75\b@gheight{}\right.\n@space$}}} -% -\def\){\mskip 2mu\nobreak } -% -% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % -% -% Finally, some bug fixings. -% -\let\sec@nt=\sec -\def\sec{\rel@x\ifmmode\let\n@xt=\sec@nt\else\let\n@xt\section\fi\n@xt} -% -\def\obsolete#1{\message{Macro \string #1 is obsolete.}} -% -\def\firstsec#1{\obsolete\firstsec \section{#1}} -\def\firstsubsec#1{\obsolete\firstsubsec \subsection{#1}} -\def\thispage#1{\obsolete\thispage \gl@bal\pagenumber=#1\frontpagefalse} -\def\thischapter#1{\obsolete\thischapter \gl@bal\chapternumber=#1} -\def\splitout{\obsolete\splitout\rel@x} -\def\prop{\obsolete\prop \propto } -% -\def\nextequation#1{\obsolete\nextequation \gl@bal\equanumber=#1 - \ifnum\the\equanumber>0 \gl@bal\advance\equanumber by 1 \fi} -% -\def\BOXITEM{\afterassigment\B@XITEM\setbox0=} -\def\B@XITEM{\par\hangindent\wd0 \noindent\box0 } -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% That's about it -% -\def\phyzzx{PHY\setbox0=\hbox{Z}\copy0 \kern-0.5\wd0 \box0 X} -\def\fmtname{phyzzx} \def\fmtversion{0.94} -\everyjob{\xdef\today{\monthname~\number\day, \number\year} - \input myphyx.tex } -\message{ by V.K.} -% -\input phyzzx.local -\catcode`\@=12 % at signs are no longer letters -% diff --git a/macros/plain/formats/lollipop/README b/macros/plain/formats/lollipop/README new file mode 100644 index 0000000000..fd6a650318 --- /dev/null +++ b/macros/plain/formats/lollipop/README @@ -0,0 +1,86 @@ +About Lollipop and its manual. + +You have obtained a package containing the Lollipop format +and its manual. + +The manual is a pretty good illustration of the power of +Lollipop, but there is also a file 'address.tex' which +contains example macros for an address book. + +Lollipop is still under development. The manual contains +some remarks about what is still to be done. If you have any +questions, remarks, suggestions (or if you want to voice +your appreciation :-) , feel free to contact me: + + Vafa Khalighi + persian-tex@tug.org + +Here is how much of TeX's memory you used: + 1194 strings out of 496579 + 16173 string characters out of 6202690 + 72655 words of memory out of 5000000 + 3270 multiletter control sequences out of 15000+600000 + 11241 words of font info for 40 fonts, out of 8000000 for 9000 + 19 hyphenation exceptions out of 8191 + 24i,4n,24p,187b,562s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on lollipop-manual.dvi (59 pages, 155468 bytes). + +History so far: + +0.9 October 1992, first public release + +0.91 Unannounced update + TeX3 based lollipop-plain + penalties and white space in embedded constructs + splittopskip set equal to topskip + +0.92 November 1992, update for friends and family + Copyright notices added + math family setting for \rm, \bf, \tt + bugs in penalties corrected + +0.93 December 1992, official update + Lots of nobreaks in pre/post-tex material of constructs + Synonym counters repaired + Topskip and raggedbottom in state of repair + +0.94 December 1992, unofficial update + Adaptive distances + +0.95 January 1993, unofficial update + Short titles, rewritten external files, + address book example format. + +0.97 4 April 2014, organized and updated + files and also generated format. + +0.98 6 April 2014, changed all lollipop filenames + to start with `lollipop' prefix, and fixed typewriter font. + +0.99 9 April 2014, improved ini file, and the error in + address.tex example fixed. + +1.00 11 April 2014, updated lollipop-plain.tex and manual. + +1.01 12 April 2014, Updated lollipop-text.tex (changed "#1 cs to \"#1 cs + to be compatible with plain + +1.02 16 April 2014, Updated lollipop-text.tex (defined \EveryParagraph, + \EveryMath, and \EveryDisplay), defined \PointSizeScriptSizes:12 + +1.03 19 April 2014, Fixed the wrong numbering of nested enumerate lists + +1.05 16 April 2016, Changed \lolli@name to \lollipop@name + added \footnoterule to output routine + defined \PushLeftIndentLevel, \PopLeftIndentLevel, + \PushRightIndentLevel, \PopRightIndentLevel, + \PushLeftRightIndentLevels, and \PopLeftRightIndentLevels + commands. \PushIndentLevel is now a synonym for + \PushLeftIndentLevel and \PopIndentLevel is a synonym + for \PopLeftIndentLevel + fixed the error caused by \newhelp + +1.06 14 May 2016, Defined \FrenchSpacing + +1.07 21 May 2016, Some minor changes \ No newline at end of file diff --git a/macros/plain/formats/lollipop/config/lollipop.ini b/macros/plain/formats/lollipop/config/lollipop.ini new file mode 100644 index 0000000000..d7314a3e44 --- /dev/null +++ b/macros/plain/formats/lollipop/config/lollipop.ini @@ -0,0 +1,23 @@ +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\scrollmode +\input lollipop +\dump +\endinput + +% lollipop.fmt is generated by `tex -ini -jobname=lollipop -progname=lollipop lollipop.ini' \ No newline at end of file diff --git a/macros/plain/formats/lollipop/doc/manual/address.tex b/macros/plain/formats/lollipop/doc/manual/address.tex new file mode 100644 index 0000000000..3627c90d55 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/address.tex @@ -0,0 +1,186 @@ +% address book macros +% copyright 1993 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +% These macros are based on the Lollipop macro package, +% copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% Format this file twice to get external files right. +% + +% Some general options. +% Please use another typeface if you have it! +% +\Distance:whitebefore=0pt \Distance:whiteafter=0pt +\AlwaysIndent:no \FlushRight:no +\TypeFace:ComputerSans \PointSize:8 \Style:roman +\def\\{,\Spaces:1 } + +% The page is four columns, no footers etc +% +\DefinePageGrid:ThePage width:page=6.5in height:page=5in + textband:start text white:10pt text white:10pt + text white:10pt text textband:stop Stop + +% The main macro is the text block \Entity, representing one item +% in the address book. +% +\DefineTextBlock:Entity HasTitle:short + whitebefore:{6pt plus 6pt minus 3pt} whiteafter:whitebefore + line:start rule:v={height 7pt width7pt depth0pt} Spaces:2 + Style:italic title line:stop Stop + +% Data in an entity is formatted as a number of headings. +% We declare all headings to be embedded, ie, they form a paragraph. +% The 'nomarks' option is to prevent memory overflow. +% +\OptionsMacro:embed=embedded:yes nomarks + whitebefore:0pt whiteafter:0pt Stop +\DefineHeading:phone HasTitle:short macro:embed + literal:phone : Spaces:1.5 title , Spaces:2 Stop +\DefineHeading:fax HasTitle:short macro:embed + literal:fax : Spaces:1.5 title , Spaces:2 Stop +\DefineHeading:Address HasTitle:short macro:embed + title , Spaces:2 Stop +\DefineHeading:Note HasTitle:short macro:embed + ( title ) Spaces:2 Stop + +% Here's an example of non-standard handling of the title: +% email addresses are set in \tt, and can be broken differently +% +\def\breakemail{\hyphenchar\font=`. } +\DefineHeading:email HasTitle:short macro:embed + begingroup tt breakemail title endgroup , Spaces:2 Stop + +% This is invisible information; maybe later we'll do something +% with it. +\DefineHeading:Route HasTitle:short Stop + +% Here is the first really cute application. +% If a person is declared to be \At a certain company, then +% that fact is written out to an external file, which can be loaded +% later. +% +\DefineExternalFile:companies=ats +\def\WorksAt{Works at: } +\DefineHeading:At macro:embed + HasTitle:short WorksAt title Spaces:2 + external:companies title unhskip title:Entity unhskip external:stop Stop +% When the 'companies' file gets loaded the title only gets +% parsed by the macro \CompNam, and nothing else happens. +% The title is split into company and person; #1 becomes the name +% of a list to which #2 is added. +% +\def\CompNam#1\unhskip#2\unhskip{ + \if\UndefinedCS{#1}\NewList:{#1} \fi + \AppendToList:#1={#2\unhskip, } } +\DefineExternalItem:At file:companies + expandafter CompNam title Stop +% The company lists are later simply loaded; see below. + +% Even more complicated: birthdays. +% All birthdays are written to an external file. +% +\DefineExternalFile:births=brt +\DefineHeading:birthday HasTitle:short macro:embed + literal:Born : title Spaces:2 + external:births title unhskip title:Entity unhskip external:stop Stop +% Later every month becomes something like an entity; +% here is how we generate a token list for each month. +% +\def\month#1{\ifcase#1\or jan\or feb\or mar\or apr\or may\or jun\or + jul\or aug\or sep\or oct\or nov\or dec\fi} +\tempcounta=1 \loop\ifnum\tempcounta<13 + \xp\NewList\xp:\xp{\month\tempcounta} + \advance\tempcounta1 \repeat +% Formatting the caboodle means: +% -- loading the 'births' file +% -- formatting each month separately by \OneMonth +% which is essentially a call to the text block \Month +% +\def\AllBirths{\LoadExternalFile:births + \tempcounta=1 \loop\ifnum\tempcounta<13 + \OneMonth \advance\tempcounta1 \repeat} +\def\OneMonth{\xp\Month\month\tempcounta\par + \TheList:{\month\tempcounta} \>} +% Month is much like \Entity, just a bit different visually. +% +\DefineTextBlock:Month + whitebefore:{6pt plus 6pt minus 3pt} whiteafter:whitebefore + line:start rule:v={height 7pt width7pt depth0pt} Spaces:2 + Style:italic title Spaces:2 + fillup rule:v={height 7pt width7pt depth0pt} line:stop + Stop +% When the external file is loaded, every birthday is processed +% by \BirNam which splits it into #1 year #2 month #3 day and +% #4 person's name. This is then written to the list for the +% appropriate month. +% +\def\BirNam#1 #2 #3\unhskip #4\unhskip + {\tempcounta#2\relax + \AppendToList:{\month\tempcounta}={\JollyFellow #3 #4 (#1)\par} + } +\DefineExternalItem:birthday file:births + expandafter BirNam title Stop +\DefineHeading:JollyFellow title nomarks Stop + +% Phooeew! Now we can get down to business! + +\WriteExtern:yes +\Start +\LoadExternalFile:companies + +\Entity Adam Aardvark +\Address Page~1, English Language Dictionary +\> + +\Entity Barbara Beeton +\At Tugbt +\Note Editor in chief +\> + +\Entity Jane Doe +\email doe@re.mi.sol +\> + +\Entity John Doe +\phone +1 212 555 4141 +\> + +\Entity Victor Eijkhout +\Address Department of Computer Science, University of Tennessee +\phone +1 615 974 8298 +\At Tugbt +\Note merely associate editor +\email eijkhout@cs.utk.edu +\birthday 1959 11 29 +\> + +\Entity Elvis Presley +\birthday 1938(?) 01 08 +\> + +\Entity Tugboat +\TheList:Tugbt +\> + +\AllBirths + +\Stop + diff --git a/macros/plain/formats/lollipop/doc/manual/appendix.tex b/macros/plain/formats/lollipop/doc/manual/appendix.tex new file mode 100644 index 0000000000..5b05e32214 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/appendix.tex @@ -0,0 +1,69 @@ +% appendix.tex copyright1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter Example styles + +To show you the strength of \Lollipop, this chapter collects a few +example style definitions. The first one is that of this manual. + +\Section The style definition for this book + +In case you were wondering how this book was typeset, here is the +full style definition. By the standards of what Lollipop can do it is +pretty pedestrian. + +One thing that may have provide intellectual titilation is the +definition of \cs{Example} and \cs{OutExample}. +It allowed me to keep the examples in sync with their output. + +Of course that +doesn't really rely on \Lollipop. It does illustrate the fact that +\Lollipop\ is interfaceable to arbitrary macros. (But don't try +loading \Lollipop\ on top of \LaTeX! On second thought, do. It +disables most of \LaTeX. Just kidding.) + +\begingroup \PointSize:8 \tt +\verbatimfile{mandefs.tex}\endgroup + +\Section[sec:address] Address book + +The following macros generate an address book. Several noteworthy +features: +\Itemize\item Most titles are short, that is, delimited by the line +end. + \item Since a page will now have several dozens of headings, the +number of marks placed will become a problem, therefore the option +\opt{nomarks} is included everywhere. Without this you would easily +have memory overflows. + \item The \cs{At} heading writes its information to an external +file. This is then parsed by the macro \cs{CompNam}. A~slight amount +of knowledge of Lollipop internals is used here for parameter parsing, +but not more than can be gleaned from simply looking at the external +file.\par + Then a token list is created for each company, and these lists are +printed somewhere down the file. This is a bit of \TeX\ programming +that is not quite elementary, but still \Lollipop saves you a lot of +work. + \> +If you want to see the output, run \TeX\ with Lollipop twice on the +\file{address.tex} file. + + \begingroup \PointSize:8 \tt +\verbatimfile{address.tex}\endgroup + +\endinput \ No newline at end of file diff --git a/macros/plain/formats/lollipop/doc/manual/btxmac.tex b/macros/plain/formats/lollipop/doc/manual/btxmac.tex new file mode 100644 index 0000000000..3093ed1a83 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/btxmac.tex @@ -0,0 +1,812 @@ +%% @texfile{ +%% author = "Karl Berry and Oren Patashnik", +%% version = "0.99h", +%% date = "24 Apr 1991", +%% filename = "btxmac.tex", +%% address = "Please use electronic mail", +%% checksum = "812 4053 30557", +%% email = "opbibtex@neon.stanford.edu", +%% codetable = "ISO/ASCII", +%% supported = "yes", +%% docstring = "Defines macros that make BibTeX work with plain TeX", +%% } +% BibTeX-for-TeX macros, version 0.99h, for BibTeX 0.99c, TeX 3.0 or later. +% Copyright (C) 1990--91 by Karl Berry and Oren Patashnik; all rights reserved. +% You may copy this file provided: that it's accompanied by the +% "BibTeXing" document, whose text is contained in the file `btxdoc.tex'; +% that any documentation you write for these macros also gives a +% reference for "BibTeXing"; and that either you make absolutely no +% changes to your copy, or if you do make changes, (1) you name the file +% something other than `btxmac.tex' and you remove all occurrences of +% `btxmac.tex' from the file, (2) you put, somewhere in the first twenty +% lines of the file, your name, along with an electronic address at which +% others who might use the file may reach you, and (3) you remove each +% occurrence of Oren's name and electronic address from this file. These +% restrictions help ensure that all standard versions of these macros are +% identical, and that Oren doesn't get deluged with inappropriate e-mail. +% +% This file, btxmac.tex, contains TeX macros that allow BibTeX, a +% bibliography program that was originally designed for use with LaTeX, +% to work with plain TeX. Please report any bugs (outright goofs, +% improvable macros, misfeatures, or unclear documentation) to Oren +% Patashnik (opbibtex@neon.stanford.edu). These macros will become +% frozen shortly after BibTeX version 1.00 is released. +% +% To use these macros you should be familiar with how BibTeX interacts +% with LaTeX, since BibTeX's interaction with TeX is very similar; that +% interaction is explained in the LaTeX manual. It also helps to +% have read "BibTeXing", the documentation that accompanies BibTeX. +% Then, if you want, you should redefine any of the macros that begin +% with `\bbl' or `\biblabel' or `\print' that you need to get formatting +% different from the default (the default settings are designed to +% accompany a bibliography style like BibTeX's standard style `plain'). +% The macros you might want to change are described briefly a few +% paragraphs hence. Finally, as long as you follow the guidelines given +% by the LaTeX manual and "BibTeXing", you simply \input btxmac. +% [Remember the general scheme: Running (La)TeX writes information on +% the .aux (auxiliary) file; then running BibTeX reads information from +% the .aux, .bst (style), and .bib (database) files, and writes +% information (the bibliography) on a .bbl file; then running (La)TeX +% incorporates the bibliography; then running (La)TeX once more fixes +% the remaining forward references into the bibliography. Thus, to get +% everything incorporated into your output, you'll have to run (La)TeX, +% BibTeX, (La)TeX, (La)TeX. (Standup, sitdown, fight, fight, fight.)] +% +% These macros can stand alone or they can be \input into macro packages +% like Eplain. If you want to try out these macros on the 0.99 version +% of the xampl.bib file that's distributed with BibTeX (that version of +% the file has no self-identification), you'll need to define \mbox, +% which is a LaTeX command, to be \hbox. +% +% +% HISTORY +% +% Karl Berry wrote the original version of these macros in 1989 and +% 1990, for use in his `Eplain' package. Oren Patashnik modified them +% slightly in July 1990, as part of the official BibTeX distribution. +% +% 1-Aug-90 Version 0.99a, not released to the general public. +% 14-Aug-90 0.99b, first general release. +% 26-Aug-90 0.99c, made \@undefinedmessage work with other macro packages. +% 6-Sep-90 0.99d, allowed for general formatting of bibliography labels, +% for general formatting of (in-text) citations, and for +% changing certain catcodes while reading the .aux file. +% 14-Nov-90 0.99e, changed the way \@setletters works, made some \new...'s +% non-outer, and changed the way Eplain reads this file. +% 12-Dec-90 0.99f, made \@resetnumerals change the `,' and `.' catcodes; and +% added \biblabelextrahang, \@getoptionalarg, and \bblsc. +% 11-Mar-91 0.99g, made a few minor changes required by the way Eplain reads +% this file, but no functional changes. +% 24-Apr-91 0.99h, inhibited the reading and writing of the .aux file if it +% isn't used or if the \noauxfile macro is defined, and +% removed some .aux-file-opening detritus; printed the +% cite-key of undefined citations in \tt font; changed the +% catcode of `_' inside \cite; and called \@resetnumerals +% from inside a group. +% +% +% The LaTeX-related commands defined in this file include (a) the four +% commands that a user types (\bibliography, \bibliographystyle, \cite, +% and \nocite); (b) the three commands that BibTeX looks for in the .aux +% file (\bibdata, \bibstyle, and \citation---there is a fourth command +% that BibTeX looks for, but that command is related to LaTeX's \include +% facility, so these macros ignore that command); and (c) a LaTeX +% command (\newcommand) that's written by one of the four standard +% bibliography styles (alpha). The definitions here are not exactly the +% same as the corresponding LaTeX definitions (those eight LaTeX +% definitions depend on a significant fraction of LaTeX itself). But +% the only substantial differences are with \newcommand, which here, +% without complaining, lets you redefine a preexisting control sequence +% (in LaTeX, \newcommand won't let you redefine a preexisting command), +% and which here doesn't make the control sequences it defines \long (in +% LaTeX, that happens automatically); there may also be other minor +% differences. To summarize: Unless you know what you're doing, you +% shouldn't define any control sequences with these eight names: +% +% \bibdata +% \bibliography +% \bibliographystyle +% \bibstyle +% \citation +% \cite +% \newcommand +% \nocite +% +% There are three other commands written by one or more of the four +% standard (plain, abbrv, alpha, unsrt) or four semistandard (acm, +% apalike, ieeetr, siam) bibliography styles; they take effect only +% within the bibliography, and are redefinable, as explained later: +% +% \em +% \newblock +% \sc +% +% There's one control sequence you might want to use (but not redefine) +% in redefining \biblabelprint: +% +% \biblabelwidth +% +% There are twelve other control sequences (explained later in more detail) +% that the macros of this file will use if you define them---you should +% define them after the \input btxmac command but before the \bibliography +% command. The first five begin with `\bbl' and affect fonts, spacing, +% and perhaps other characteristics of the bibliography; the next three +% begin with `\biblabel' and determine how labels are formatted in the +% bibliography; and the last four begin with `\print' and determine how +% the in-text citations are formatted: +% +% \bblem +% \bblhook +% \bblnewblock +% \bblrm +% \bblsc +% \biblabelcontents +% \biblabelextrahang +% \biblabelprint +% \printbetweencitations +% \printcitefinish +% \printcitenote +% \printcitestart +% +% If it's defined before the \input btxmac command, the control sequence +% below inhibits the reading and writing of the .aux file(s), and the +% issuing of related warning messages. Any definition will do. This +% feature might help when you're working on draft stages of a document: +% +% \noauxfile +% +% Here's another control sequence (it's described later), with an `@' +% in its name, that you probably won't want to redefine unless you are +% writing another macro package; if you do redefine it, however, do it +% before the \input btxmac command: +% +% \@undefinedmessage +% +% And here are still more control sequences that, should you already have +% them defined, might conflict with the way the btxmac.tex macros use them +% (but since each of these has an `@' in its name, it's unlikely that such +% conflicts will arise unless you intend them): +% +% \@auxfile \@auxfiledonefalse \@auxfiledonetrue +% \@bracketcheck \@citation \@cite +% \@citedef \@citelabel \@citewarningfalse +% \@citewarningtrue \@commandname \@continuenewcommand +% \@emptymarkA \@emptymarkB \@fileexistsfalse +% \@fileexiststrue \@finishcitedef \@finishtestfileexistence +% \@for \@forloop \@fornoop +% \@fortmp \@getoptionalarg \@@getoptionalarg +% \@gobble \@if@auxfiledone \if@citewarning +% \@ifempty \@@ifempty \if@fileexists +% \if@notfirstcitation \@iforloop \@innerdef +% \@innernewcount \@innernewdimen \@innernewif +% \@innernewwrite \@itemnum \@letter +% \@linenumber \@newcommandwithargs \@newcommand +% \@next \@nextwhile \@nil +% \@nnil \@notfirstcitationfalse \@notfirstcitationtrue +% \@numparams \@oldatcatcode \@onecitation +% \@optionalarg \@other \@paramdef +% \@readauxfile \@readbblfile \@resetnumerals +% \@scfont \@setletters \@spacesub +% \@startdef \@testfileexistence \@tokstostring +% \@ttsA \@ttsB \@ttsmarkA +% \@ttsmarkB \@undefined \@writeaux +% +% +% So to start things off we turn `@' into a letter (category code 11), +% keeping track of the old category code for future restoration. +% (Simply resetting it to 12 when we leave these macros is +% insufficient.) The use of `\cite' as a temporary control sequence is +% a kludge, but it's a reasonably simple way to accomplish what we need +% without possibly overwriting something (without an `@' in its name) +% that might already be defined. +% +\edef\cite{\the\catcode`@}% +\catcode`@ = 11 +\let\@oldatcatcode = \cite +\chardef\@letter = 11 +\chardef\@other = 12 +% +% +% Next come some things that will be useful later. +% +% Make an outer definition into an inner one (due to Chris Thompson). +% The arguments should be the control sequence to be defined, and the +% new of the \outer control sequence, as characters; the control +% sequence #1 is defined to be just the same as \csname#2\endcsname, but +% not \outer. For example, \@innerdef\innernewcount{newcount} would +% define \innernewcount to be a non-outer version of \newcount. +% +\def\@innerdef#1#2{\edef#1{\expandafter\noexpand\csname #2\endcsname}}% +% +% We use \@innerdef to make some of our allocations local, because +% Eplain includes our code inside a conditional. We put @'s in the +% names to minimize the (already small) chance of conflicts. +% +\@innerdef\@innernewcount{newcount}% +\@innerdef\@innernewdimen{newdimen}% +\@innerdef\@innernewif{newif}% +\@innerdef\@innernewwrite{newwrite}% +% +% +% Swallow one parameter. +% +\def\@gobble#1{}% +% +% +% Use TeX 3.0's \inputlineno to get the line number, for better error +% messages, but if we're using an old version of TeX, don't do anything. +% +\ifx\inputlineno\@undefined + \let\@linenumber = \empty % Pre-3.0. +\else + \def\@linenumber{\the\inputlineno:\space}% +\fi +% +% +% \@getoptionalarg\CS gets an optional argument from the input, enclosed +% in brackets, then expands \CS. We set \@optionalarg to \empty if we +% don't find one, otherwise to the text of the argument. This assumes +% the brackets don't have a funny category code. +% +\def\@getoptionalarg#1{\let\temp = #1\futurelet\next\@bracketcheck}% +\def\@bracketcheck{\begingroup + \if [\next + \aftergroup\@@getoptionalarg + \else + \global\let\@optionalarg = \empty + % + % We can't do the \aftergroup\temp after the \fi, because then the + % \temp gets in the way of reading the optional argument from the + % input, if we do have one. + \aftergroup\temp + \fi +\endgroup}% +% +\def\@@getoptionalarg[#1]{% + \def\@optionalarg{#1}% + \temp +}% +% +% +% \@tokstostring converts its argument into a list of character tokens. +% It uses no commands that are executed in the stomach, only expansions +% handled in the gullet. (This is necessary for use with \edef). +% +% Control sequences in the argument are not expanded. Blanks become a +% \spacesub. The argument shouldn't contain other special characters. +% +\def\@tokstostring#1{\@ttsA#1 \@ttsmarkA}% +% +% \@ttsA partitions a sequence of tokens into portions delimited by blanks. +% +\def\@ttsA#1 #2\@ttsmarkA{% + \@ifempty{#1}\else + \@ttsB #1\@ttsmarkB + % + \@ifempty{#2}\else + \@spacesub\@ttsA#2\@ttsmarkA + \fi + \fi +}% +% +% \@ttsB processes a sequence of tokens with no contained blanks. +% +\def\@ttsB#1{% + \ifx #1\@ttsmarkB\else + \string #1% + \expandafter\@ttsB + \fi +}% +% +% This is just so \ifx won't complain about an undefined control sequence. +% +\def\@ttsmarkB{\@ttsmarkB}% should never be expanded +% +% The expansion of this macro replaces spaces. +% +\def\@spacesub{+}% +% +% +% \@ifempty tests if it is given an argument. +% +\def\@ifempty#1{\@@ifempty #1\@emptymarkA\@emptymarkB}% +\def\@@ifempty#1#2\@emptymarkB{\ifx #1\@emptymarkA}% +% +\def\@emptymarkA{\@emptymarkA}% Again, so \ifx won't complain. +% +% +% From LaTeX. +% +\def\@nnil{\@nil}% +\def\@fornoop#1\@@#2#3{}% +% +\def\@for#1:=#2\do#3{% + \edef\@fortmp{#2}% + \ifx\@fortmp\empty \else + \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}% + \fi +}% +% +\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else + #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi +}% +% +\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil + \let\@nextwhile=\@fornoop \else + #4\relax\let\@nextwhile=\@iforloop\fi\@nextwhile#2\@@#3{#4}% +}% +% +% +% This macro tests if a file \jobname.#1 exists, and sets +% \if@fileexists appropriately. If an optional argument is given, it is +% used as the root part of the filename instead of \jobname. +% +\@innernewif\if@fileexists +% +\def\@testfileexistence{\@getoptionalarg\@finishtestfileexistence}% +\def\@finishtestfileexistence#1{% + \begingroup + \def\extension{#1}% + \immediate\openin0 = + \ifx\@optionalarg\empty\jobname\else\@optionalarg\fi + \ifx\extension\empty \else .#1\fi + \space + \ifeof 0 + \global\@fileexistsfalse + \else + \global\@fileexiststrue + \fi + \immediate\closein0 + \endgroup +}% +% +% +%% [[[start of BibTeX-specific stuff]]] +% +% Now come the four main LaTeX commands and their associated .aux +% commands. Just as in LaTeX, \bibliographystyle defines the BibTeX +% style name (.bst file, that is), and \bibliography defines the +% database (.bib) file(s). The corresponding .aux-file commands are +% \bibstyle and \bibdata, which are there only for BibTeX's (but not +% LaTeX's) use. +% +\def\bibliographystyle#1{% + \@readauxfile + \@writeaux{\string\bibstyle{#1}}% +}% +\let\bibstyle = \@gobble +% +% As well as writing the \bibdata command to tell BibTeX +% which .bib files to read, we read the .bbl file that +% BibTeX (or a person, conceivably) has produced. +% +\def\bibliography#1{% + \@readauxfile + \@writeaux{\string\bibdata{#1}}% + \@testfileexistence{bbl}% + \if@fileexists + \@readbblfile + \fi +}% +\let\bibdata = \@gobble +% +% The \nocite{label,label,...} command writes its argument to \@auxfile, +% unless instructed not to, but produces no text in the document. Both +% the \nocite and \cite commands produce \citation commands in the .aux file. +% +\def\nocite#1{% + \@readauxfile + \@writeaux{\string\citation{#1}}% +}% +% +\@innernewif\if@notfirstcitation +% +% \cite[note]{label,label,...} produces the citations for the labels as +% well. If the optional argument `note' is present, it's added after +% the labels. Since \cite calls \nocite before doing any writing, it +% doesn't need to call \@readauxfile. We change the category code of +% `_' so that the dummy definition given to the citation label doesn't +% include a subcript character; that would cause TeX to complain. +% +\def\cite{\begingroup\catcode`_ = \@letter \@getoptionalarg\@cite}% +% +% Typeset the citations for the labels in #1, followed by the note, if +% it exists. To change the citation's format in the text, redefine one +% or more `\print...' macros, whose defaults appear later in this file. +% +\def\@cite#1{% + \nocite{#1}% + % Start printing the text, beginning with a left bracket by default. + % + \printcitestart + \@notfirstcitationfalse + \@for \@citation :=#1\do + {% + \expandafter\@onecitation\@citation\@@ + }% + \ifx\empty\@optionalarg\else + \printcitenote{\@optionalarg}% + \fi + \printcitefinish + \endgroup +}% +% +\def\@onecitation#1\@@{% + \if@notfirstcitation + \printbetweencitations + \fi + % + \expandafter \ifx \csname\@citelabel{#1}\endcsname \relax + \if@citewarning + \message{\@linenumber Undefined citation `#1'.}% + \fi + % Give it a dummy definition: + \expandafter\gdef\csname\@citelabel{#1}\endcsname{% + {\tt \nobreak\hskip0pt#1\nobreak\hskip0pt}}% + \fi + % Now produce the text, whether it was undefined or not. + \csname\@citelabel{#1}\endcsname + \@notfirstcitationtrue +}% +% +% Given a label `foo', the macro `\b@foo' is supposed to +% hold the text that should be produced. +% +\def\@citelabel#1{\@tokstostring{b@#1}}% +% +% So, how does a citation label get defined? When we read the .bbl file +% (below), a \bibitem writes out a \@citedef command. And when we read +% the \@citedef, we define \@citelabel{#1}, where #1 is the user's +% label. But we have to be careful when reading the \@citedef, because +% the second argument might have accents or other commands with numbers +% as arguments. We have given the numerals category code 11 for reading +% the .aux file, and that prevents them from being recognized as TeX +% <number>s. Similarly for the other characters that can be part of a +% <number>. So we have to reset the category codes before reading the +% second argument. We also have to reset them back to letters when we +% finish reading the \@citedef's, because there might be more labels +% with numerals in them defined afterwards in the .aux file, put there +% by Eplain or whatever. +% +\def\@citedef#1{% + \begingroup + \@resetnumerals + \@finishcitedef{#1}% +}% +\def\@finishcitedef#1#2{% + \expandafter\gdef\csname\@citelabel{#1}\endcsname{#2}% + \endgroup +}% +\def\@resetnumerals{% + \catcode`0 = \@other \catcode`1 = \@other \catcode`2 = \@other + \catcode`3 = \@other \catcode`4 = \@other \catcode`5 = \@other + \catcode`6 = \@other \catcode`7 = \@other \catcode`8 = \@other + \catcode`9 = \@other \catcode`" = \@other \catcode`' = \@other + \catcode`` = \@other \catcode`, = \@other \catcode`. = \@other +}% +% +% +% Reading the .bbl file also produces the typeset bibliography. Please +% notice, however, that we do not produce the title for the references +% (e.g., `References'), as LaTeX does. The formatting and spacing of +% that title, whether it should go into the headline, and so on, are all +% things determined by your format. We cannot know those things in +% advance. If you wish, you can define \bblhook to produce the title. +% Or just do it before the \bibliography command. +% +\def\@readbblfile{% + % Define a counter to tell us which item number we are on. + \@innernewcount\@itemnum + % + \begingroup + \def\begin##1##2{% + % ##1 is just `thebibliography'. + % ##2 is the widest label. + % We set (new dimen) \biblabelwidth based on the widest label + \setbox0 = \hbox{\biblabelcontents{##2}}% + \biblabelwidth = \wd0 + }% + \def\end##1{}% ##1 is `thebibliography' again. + % + % Here we have two possibilities: + % \bibitem[typesetlabel]{citationlabel} + % \bibitem{citationlabel} + % If we have the second of these, the citations are numbered, starting + % from one; we use our own count register \@itemnum for this. + % + \@itemnum = 0 + \def\bibitem{\futurelet\next\@bibitem}% + \def\@bibitem{% + \begingroup \if [\next + \aftergroup\@alphabibitem + \else + \aftergroup\@numberedbibitem + \fi \endgroup + }% + \def\@alphabibitem[##1]##2{% + % Need \xdef here for various reasons. + \expandafter \xdef\csname\@citelabel{##2}\endcsname {##1}% + \@finishbibitem{##2}% + }% + % + \def\@numberedbibitem##1{% + \advance\@itemnum by 1 + \expandafter \xdef\csname\@citelabel{##1}\endcsname{\number\@itemnum}% + \@finishbibitem{##1}% + }% + % + \def\@finishbibitem##1{% + \biblabelprint{\csname\@citelabel{##1}\endcsname}% + \@writeaux{\string\@citedef{##1}{\csname\@citelabel{##1}\endcsname}}% + \ignorespaces + }% + % + % Do the printing (we're producing the bibliography, remember). + % + \let\em = \bblem + \let\newblock = \bblnewblock + \let\sc = \bblsc + % Punctuation won't affect spacing; + \frenchspacing + % the penalties below are from LaTeX's [article,book,report].sty; + \clubpenalty = 4000 \widowpenalty = 4000 + % the next two values come from LaTeX's \sloppy command; + \tolerance = 10000 \hfuzz = .5pt + \everypar = {\hangindent = \biblabelwidth + \advance\hangindent by \biblabelextrahang}% + \bblrm + % the \parskip is a guess at what looks good; + \parskip = 1.5ex plus .5ex minus .5ex + % and the .5em matches the \enspace of \biblabelprint below. + \biblabelextrahang = .5em + \bblhook + % + \input \jobname.bbl + \endgroup +}% +% +% The widest label's width is useful for redefining \biblabelprint; you +% redefine \biblabelwidth, in effect, by redefining the +% \biblabelcontents macro that appears below. And \biblabelextrahang, +% which is redefinable inside \bblhook, is added to \biblabelwidth to +% determine the amount of hanging indentation. +% +\@innernewdimen\biblabelwidth +\@innernewdimen\biblabelextrahang +% +% Now come the main macros that are related to the printing of the +% bibliography. Since you might want to redefine them, they are given +% default definitions outside of \@readbblfile. +% +% The first one controls the printing of a bibliography entry's label. +% If you change it, make sure that it starts with something like +% \noindent or \indent that puts TeX into horizontal mode (even if the +% label itself is empty); otherwise, the hanging indentation will get +% messed up in certain circumstances. +% +\def\biblabelprint#1{% + \noindent\hbox to \biblabelwidth{\biblabelcontents{#1}\hss}\enspace}% +% +% By default the labels are typeset in \bblrm, and enclosed in brackets. +% +\def\biblabelcontents#1{\bblrm [#1]}% +% +% The main text, too, is typeset using \bblrm, which is \rm by default. +% +\def\bblrm{\rm}% +% +% Emphasis for producing, e.g., titles, is done with \it by default. +% +\def\bblem{\it}% +% +% Some styles use a caps-and-small-caps font for author names. LaTeX +% defines an \sc command but plain TeX doesn't, so we need one here. +% The definition below doesn't load the font unless it's needed, but it +% tries to load only the 10pt version, because it might not exist at +% other point sizes. +% +\def\bblsc{\ifx\@scfont\@undefined + \font\@scfont = cmcsc10 + \fi + \@scfont +}% +% +% The major parts of an entry are separated with \bblnewblock. The +% numbers below are taken from LaTeX's `article' style. +% +\def\bblnewblock{\hskip .11em plus .33em minus .07em}% +% +% Here's where you stick any other bibliography-formatting goodies, or +% redefine the values above. +% +\let\bblhook = \empty +% +% +% Here are the four default definitions for formatting the in-text +% citations. These are what you redefine (after your \input btxmac but +% before your \bibliography) to get parens instead of brackets, or +% superscripts, or footnotes, or whatever. +% +\def\printcitestart{[}% left bracket +\def\printcitefinish{]}% right bracket +\def\printbetweencitations{, }% comma, space +\def\printcitenote#1{, #1}% comma, space, note (if it exists) +% +% That scheme is pretty flexible. For example you could use +% \def\printcitestart{$^\bgroup} +% \def\printcitefinish{\egroup$} +% \def\printbetweencitations{,} +% \def\printcitenote#1{\hbox{\sevenrm\space (#1)}} +% to get superscripted in-text citations. To get something radically +% different, however, you'll have to define your own \cite command. +% +% When we read this from the .aux file, \citation means nothing. +% +\let\citation = \@gobble +% +% +% Now comes the stuff for dealing with LaTeX's \newcommand. As +% mentioned earlier, this \newcommand will redefine a preexisting +% command; that's different from how LaTeX's \newcommand behaves. +% +\@innernewcount\@numparams +% +% \newcommand{\foo}[n]{text} defines the control sequence \foo to have +% n parameters, and replacement text `text'. +% +\def\newcommand#1{% + \def\@commandname{#1}% + \futurelet\@next\@continuenewcommand +}% +% +% Figure out if this definition has parameters. +% +\def\@continuenewcommand{\begingroup + \if [\@next + \aftergroup\@newcommandwithargs + \else + \global\@numparams = 0 + \aftergroup\@newcommand + \fi +\endgroup}% +% +\def\@newcommandwithargs[#1]{% + \global\@numparams = #1 + \@newcommand +}% +% +% \@numparams is how many arguments this command has. The name of the +% command is \@commandname. The replacement text for the new macro is #1. +% +\def\@newcommand#1{% + \def\@startdef{\expandafter\edef\@commandname}% + \ifnum\@numparams=0 + \let\@paramdef = \empty + \else + \ifnum\@numparams>9 + \errmessage{\the\@numparams\space is too many parameters}% + \else + \ifnum\@numparams<0 + \errmessage{\the\@numparams\space is too few parameters}% + \else + \edef\@paramdef{% + % This is disgusting, but \loop doesn't work inside \edef, + % because \body isn't defined. + % + \ifcase\@numparams + \empty No arguments. + \or ####1% + \or ####1####2% + \or ####1####2####3% + \or ####1####2####3####4% + \or ####1####2####3####4####5% + \or ####1####2####3####4####5####6% + \or ####1####2####3####4####5####6####7% + \or ####1####2####3####4####5####6####7####8% + \or ####1####2####3####4####5####6####7####8####9% + \fi + }% + \fi + \fi + \fi + \expandafter\@startdef\@paramdef{#1}% +}% +% +%% [[[end of BibTeX-specific stuff]]] +% +% +% Names of references (arguments given in the \cite and \nocite +% commands) and file names (arguments given in the \bibliography and +% \bibliographystyle commands) are recorded in \jobname.aux, called the +% \@auxfile in these macros. Here's how they get read in. +% +\def\@readauxfile{% + \if@auxfiledone \else % remember: \@auxfiledonetrue if \noauxfile is defined + \global\@auxfiledonetrue + \@testfileexistence{aux}% + \if@fileexists + \begingroup + % Because we might be in horizontal mode when \@readauxfile + % is called (if it's in response to a \cite or \nocite), we + % want to ignore all the would-be spaces at the ends of + % lines in the aux file. Fortunately, there are never any + % (non-pathological) cases where an end-of-line might + % actually be desired. If you really need to do something + % strange, you can redefine \@setletters to do something + % besides what it does now (this is intentionally left as + % being somewhat painful to do). + \endlinechar = -1 + \@setletters + \input \jobname.aux + \endgroup + \else + \message{\@undefinedmessage}% + \global\@citewarningfalse + \fi + \immediate\openout\@auxfile = \jobname.aux + \fi +}% +% +% The \@readauxfile macro does all that work the first time it's called. +% Since it's called once for every \cite, \nocite, \bibliography, and +% \bibliographystyle command that the user issues, we need to remember +% whether the work's been done. It's considered done if we're not to do +% it---that is, if \noauxfile is defined. +% +\newif\if@auxfiledone +\ifx\noauxfile\@undefined \else \@auxfiledonetrue\fi +% +% Since lots of characters are allowable inside reference names, and +% since a reference name can get converted into a control sequence, +% \@readauxfile must treat many characters as letters. It does that by +% calling \@setletters, which changes the category code of all \@other +% characters to \@letter. The 128/256 business arises because character +% codes go up to 256 starting with TeX 3.0, but up to only 128 with +% earlier versions. +% +\def\@setletters{% + \count255 = 0 + \edef\temp{\ifx\inputlineno\@undefined 128\else 256\fi}% + \loop + \ifnum\catcode\count255 = \@other + \catcode\count255 = \@letter + \fi + \advance\count255 by 1 + \ifnum\count255<\temp + \repeat + % The Eplain package uses underscores to construct the label names. + \catcode`\_ = \@letter +}% +% +% It's conceivable you'd want to change how other characters are read; +% to do that, change their category code before doing \input btxmac. +% +% +% After reading the .aux file, \@readauxfile opens it for writing. +% The \@writeaux macro does the actual writing (as long as +% \noauxfile is undefined). +% +\@innernewwrite\@auxfile +\def\@writeaux#1{\ifx\noauxfile\@undefined \write\@auxfile{#1}\fi}% +% +% +% A macro package that uses btxmac.tex might define +% \@undefinedmessage (before doing an \input btxmac). +% +\ifx\@undefinedmessage\@undefined + \def\@undefinedmessage{No .aux file; I won't give you warnings about + undefined citations.}% +\fi +% +% Even if citations are undefined, we want to complain only if +% \@citewarningtrue. The default is to set \@citewarningtrue unless +% \noauxfile is defined. Again, a macro package that uses +% btxmac.tex might want to redefine this. +% +\@innernewif\if@citewarning +\ifx\noauxfile\@undefined \@citewarningtrue\fi +% +% +% Finally, before leaving we restore @'s old category code. +% +\catcode`@ = \@oldatcatcode diff --git a/macros/plain/formats/lollipop/doc/manual/comm.tex b/macros/plain/formats/lollipop/doc/manual/comm.tex new file mode 100644 index 0000000000..2876acf959 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/comm.tex @@ -0,0 +1,642 @@ +% comm.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter Commands + +\Section[sec:counters] Counters + +Counters can be declared explicitly by the user, but more often they +are defined automatically in some generic construct: + +The \cs{Foo} defined by +\Ver>\DefineBar:Foo ... + counter:i ... + Stop<Rev + +will have a counter that counts in roman lowercase, and which is +accessible as \refcs{FooCounter}. Everytime \cs{Foo} is used, this +counter is increased by one. + +The use of the \opt{counter} option is described +in~\ref[sec:opt:counter]. +Here are the commands for explicit manipulation of counters. + +\SubSection[sec:counter:repr] Allocation and representation + +A counter is created by for instance +\Ver>\NewCounter:Things<Rev +This will create control sequence \cs{ThingsCounter} that will print +the value of the counter. +The counter will usually be printed as an Arabic numeral, but other +counter representations can be specified by +\refcs{CounterRepresentation}. Here are their codes: \Description +\item 1 +numeric +\item a +lowercase character +\item A +uppercase character +\item i +lowercase roman +\item I +lowercase roman +\> +for instance +\Ver>\CounterRepresentation:Things=i<Rev +will cause \cs{ThingsCounter} to print a lowercase Roman numeral. + +However, a call such as +\Ver>\CounterRepresentation:Theorem=Lemma<Rev +will make the \cs{TheoremCounter} a synonym of an earlier created +\cs{LemmaCounter} + +\SubSection Counter manipulation + +The following commands can be used to manipulate counters, both when +they are created by hand using \refcs{NewCounter} and when they were +generated automatically in some generic construct: + +With \refcs{StartCounter} reset the counter to one: + \Ver>\StartCounter:things<Rev + +With \refcs{StepCounter} increase the counter by one: + \Ver>\StepCounter:things<Rev + +With \refcs{BackStepCounter} decrease the counter by one: + \Ver>\BackStepCounter:things<Rev + +With \refcs{SetCounter} set the counter to some specified value: + \Ver>\SetCounter:things=5<Rev + +With \refcs{AddToCounter} increase the counter by some +specified value: + \Ver>\AddToCounter:things=7<Rev + +The last two commands accept names of numerical parameters, for +instance the value of a counter: + \Ver>\NewCounter:Favourite +\AddToCounter:things=FavouriteValue<Rev +More about this `value' thing in the next section. + +\SubSection What do you get when you define a counter? + +After you define a counter as \Ver>\NewCounter:MyThings<Rev there are +two commands that it is important to distinguish between. First of +all, \cs{MyThingsCounter} gives the {\it printed\/} value of the +counter. This is the command that you will use mostly. It uses +whatever representation you have specified for the counter, or plain +Arabic numerals if haven't specified anything. + +Secondly, \cs{MyThingsValue} gives the value of the counter. You can +not use this command on its own: you will get a `number expected' +error. + +\SubSection Counter hierarchies + +Often counters are related to each other. For instance, when a new +section begins, the subsection counter has to be reset. The same may +be true for equation counters. In Lollipop such a relation is +indicated by a call to \refcs{GoverningCounter}, for instance + +\Ver>\GoverningCounter:SubSection=Section<Rev + +All of the counter manipulation commands applied to a governing +counter will cause all governed counters to be reset. Such a reset +also occurs if the counter was created in some generic construct. + +For examples, see section~\ref[sec:head:examples]. + +\SubSection Referencing counters + +All counters that are declared as part of a generic construct, or +explicitly through \refcs{NewCounter} automatically become the current +reference when they are altered. Thus \ver>\label[bar]> will make +\ver>\ref[bar]> refer to the value of the counter most recently +changed. The way the counter is referenced can be altered by the +\opt{label} option in generic constructs; see +section~\ref[sec:opt:label]. + +For generic constructs with a counter no explicit \refcs{label} commands +need to be given; such commands take an optional argument with the +label key: +\Ver>\Section[sec:examples] Examples<Rev + +\SubSection Adaptive counters + +It may happen that you want to compute a value during one run of +\TeX, and use it in the next. An example is the fact that this manual +states the total number of pages on the title page. For this you can +use \refcs{AdaptiveCounter} + \Ver>\AdaptiveCounter:LastPage<Rev +which is like \cs{NewCounter}, except that the value of this counter +gets written to the \file{.aux} file. + +There are two ways of setting an adaptive counter: you can simply use +it in some construct (for instance through a counter synonym; +section~ref[sec:counter:repr]), or you can set it explicitly, for +instance as + \Ver>\SetCounter:LastPage=PageValue<Rev +See how this manual does it. + +\SubSection Examples of counter usage + +Items start at the value of one, so if a starting value of zero is +necessary, the following will work +\Ver> +\Enumerate \SetCounter:item=-1 +\item ...<Rev + + +\Section[sec:font] Font selection + +In \Lollipop, choosing a font is done through three parameters: +\Description\item Typeface +A collection of related styles and sizes. The typeface is set by the +command \refcs{Typeface}. +\item Style +Italic, bold, roman, typewriter. You know. The style is set by the +command \refcs{Style}. +\item PointSize +The size of a font in typographical points ($72.27$ per inch). +The pointsize is set by the command \refcs{PointSize}. +\> + +The most common change of font is a change in style. Therefore, +issuing a command such as \Ver>\Style:bold<Rev immediately changes +the font to the bold of the current typeface in the current pointsize. + +However, issuing a command such as \Ver>\Typeface:GoudyOldStyle<Rev +or \Ver>\PointSize:28<Rev will not change the font, since such +changes are usually accompanied by a change in style. In case that an +immediate switch is necessary, the command +\refcs{SetFont} can be given. +This evaluates the current value of the typeface, style, and +pointsize commands, and sets the font accordingly. + +A number of typeface names have been predefined in \Lollipop, +however, in order to print them your printer (software) must have them +available. + +\Example +\SerifFace \PointSize:12 +\Style:roman This \Style:italic sentence \PointSize:10 has +\SetFont way \SansFace \Style:roman too \SetFont many +\PointSize:12 \SetFont font \Style:bold changes. +\ExampleStop + +(The commands \cs{SerifFace} and \cs{SansFace} are defined in +the master file of this manual, and serve to make this manual +formattable on any system.) + +\SubSection Relative size changes + +Apart from setting the pointsize explicitly, it is also possibly to +make size changes relative to the current size. For instance, +\refcs{PointSizeLarger} and \refcs{PointSizeSmaller} with an optional +argument indicating the size of the change can be used. These +commands are not cumulative. + +\Example +\SerifFace +\PointSize:9 \SetFont Every once in a while,\SaveFont +\PointSizeLarger[2] shouting \PointSizeLarger helps. +\PointSizeSmaller[2]But most of the times it doesn't. +\RestoreFont Unfortunately. +\ExampleStop + +Similar to the changes in mathematics mode to script and scriptscript +size, the same relative changes are available in text mode through +the control sequences \refcs{script} and \refcs{scriptscript}. +The control +sequence \refcs{normal} can be used to restore the default size. + +Here is one application of such relative changes: +\Ver> +L\kern -.3em\raise .35ex\hbox {\script A}\kern -.1em\TeX<Rev +which gives definition of the \LaTeX\ logo that is independent +of typeface, size and style. + +The relative sizes of script and scriptscript fonts are by default at +$70\%$ and $50\%$, but they can be set explicitly by +\Ver>\PointSizeScriptSizes:10=10,7,5<Rev +This also gives the possibility to have the \cs{normal} size to be +different from the surrounding pointsize. + +\SubSection Typeface definition + +Defining a typeface means telling \Lollipop\ how the external font +name, that is, the name of the \n{tfm} file, is to be constructed from +the internal parameters. The command \refcs{DefineTypeface} takes four +parameters and an optional fifth. The parameters are in sequence +\Enumerate\item The internal name of the typeface: the name that is +given to the \cs{Typeface} command. +\item The root of the external file name. It is assumed that all +font names of different styles and sizes are constructed by appending +characters to this base. +\item Suffixes corresponding to the styles that are available. +\item Suffixes corresponding to the sizes that are available. +\> + +Here is the definition of the Computer Modern typeface: + +\Ver> +\DefineTypeface{ComputerModern}{cm} + {roman:r; slant:sl; italic:ti; mitalic:mi; bold:bx; typewriter:tt; + default:r;} + {<6:5; <7:6; <8:7; <9:8; <10:9; <11:10; + <12:10 \scaled\magstephalf; + <14:10 \scaled\magstep1; <16:10 \scaled\magstep2; + <20:10 \scaled\magstep3; >19:10 \scaled\magstep4; + default:10;}<Rev + +Actually, not all combinations of styles and sizes are available. +That's where the optional argument comes in. This argument can be +used to specify with \TeX\ conditionals exceptional style/size +combinations. Here some trickery is needed: internally the size is +stored in \cs{Fsize}, and in order to use this parameter we need to +make the at-sign a letter temporarily. + +\Ver>\makeatletter +\DefineTypeface{Compu ... + ... + default:10;} + [\ifStyle:italic \ifnum\Fsize<7 ti7\fi\fi + \ifStyle:typewriter \ifnum\Fsize<8 tt8\fi\fi]<Rev + +You may have noticed that this scheme is not all-powerful. Thus +I~found it easier to move all Computer Modern sans serif fonts into a +new typeface: \n{ComputerSans}. + +For other typefaces specifying the size suffix may be much easier +than for Computer Modern. For instance, here is the definition of the +PostScript Helvetica typeface. + +\Ver>\makeatletter +\DefineTypeface{psHelvetica}{helv} + {roman:; italic:i; mitalic:i; bold:b; default:;} + {default: at \Fsize pt;} +\makeatother<Rev + + +\SubSection Math fonts + +Switching styles in math mode should be possible: +$${\Style:bold x\Style:roman y}z$$ + +\SubSection Other font matters + +The combination \refcs{SaveFont} with a subsequent +\refcs{RestoreFont} can +be used to save and restore the current font. + +An abbreviation for a font can be defined by +\Ver>\DefineFont:name=face,size,style<Rev +This has the same effect as +\Ver>\def\name{\TypeFace:face \PointSize:size \Style:style }<Rev +but it takes considerable less processing inside \TeX. + +Even if you don't use Computer Modern as your main typeface, the +typewriter style is not bad, so a control sequence +\Ver> +\def\tt{\Typeface:ComputerModern \Style:typewriter }<Rev +has been given that makes \refcs{tt} always refer to the +\n{cmtt} fonts. You're at liberty to change this, of course. + +\Section Baselineskip + +Corresponding to a font size usually the baseline skip has to change. +By default a fixed ratio of~$1.2$ for this is taken, for instance +using a 12~point baseline skip for 10~point fonts. Changing the ratio +can be done by +\Ver>\BaselineSkipPointSizeRatio:1.3<Rev + +If only for some specific size the baseline skip has to deviate from +the default ratio, then this can be set by +\Ver>\SetPointSizeBaselineSkip:9=12<Rev + +\Section[sec:indent:control] Indentation Control + +\SubSection To indent or not to indent + +In most documents there is a general rule that all paragraphs indent +unless a certain condition, or that they do not indent unless certain +special conditions hold. For \Lollipop\ documents this is determined +by the command \refcs{AlwaysIndent}, with values \n{yes}/\n{no}. + +To override this default setting a command \refcs{Indent} +(with values \n{yes}/\n{no}) exists, but that is mostly useful as an +option in generic constructs, and even there it will not be used much. +See section~\ref[sec:opt:indent] for options relating to indentation. + +Important: never set \cs{parindent} to zero. Preventing indentation +globally should be done through \ver>\AlwaysIndent:no>. + +\SubSection[sec:basic-indent] Basic indent + +There is a quantity \refcs{basicindent} that is used on the first +indentation level (see the next section for an explanation of these +levels). At the start of a document it is set to the then current +value of \cs{parindent}. You can override that by +\refcs{BasicIndentIsSet}: give +\Ver>\BasicIndentIsSet:no<Rev before the \cs{Start} command. + +This way, setting \cs{parindent} in the style definition controls the +indentation in the whole document. + +\SubSection Indentation levels; indentation size + +When \Lollipop\ decides that text should be indented, it refers to a +list of indentations for the exact amount. This list contains +indentation amounts for each `level' of indentation: initially the +level is one, and if you nest constructs that indent (for instance +using a list inside a list) the level goes up one step per nested +construct. + +By +default the indentation on different levels is a fraction of the +\cs{basicindent}. Thus you can regulate the indentation on +all levels simultaneously by resetting the \cs{basicindent}. + +\Example +\Distance:basicindent=15pt +\DefineList:TestList item:left itemCounter item:stop Stop +\TestList\item Level one \TestList\item Level two +\TestList\item Level three\>] +\Distance:basicindent=25pt +\TestList\item Level one \TestList\item Level two +\TestList\item Level three\>] +\ExampleStop + +The amount of +indentation on a certain level can be set explicitly with +\refcs{LevelIndent}. + +\Example +\Distance:basicindent=15pt +\LevelIndent:2=20pt +\DefineList:TestList item:left itemCounter item:stop Stop +\TestList\item Level one \TestList\item Level two +\TestList\item Level three\>] +\ExampleStop + +In fact, sometimes you may want to know the name of the indentation +on a certain level. This is a control sequence such as +\refcs{levelindentii} for the second level. You get the idea. + +\SubSection Manipulating the indentation level + +Every once in a while it can be useful to move to a next indentation +level, or to return to a previous level. For this +the two commands \refcs{PushIndentLevel} and \refcs{PopIndentLevel} are +available. One application is for `interrupted lists': + +\Example +\Itemize\item One +{\par\PopIndentLevel Interrupted text!\par} +\item Two\> +\ExampleStop + +See chapter~\ref[chap:external-files] for examples of the use of +\cs{PushIndentLevel} + +\Section Margins + +By default, \Lollipop\ tries to keep straight margins. You can change +its mind about that by \refcs{FlushRight} and \refcs{FlushLeft} +which are tests: +\Ver>\FlushRight:no \FlushLeft:no<Rev +If the margins are not flush, the stretchable white space used +is \refcs{rightmarginstretch} and \refcs{leftmarginstretch}, +which can be set by \cs{Distance}. + +You have to set the amount of stretch {\it before} specifying that +the margins will not be flush. The \cs{FlushRight/Left} commands take +the current value whenever they are called. + +\Section White Space + +White space can be indicated by \refcs{hwhite} and \refcs{vwhite}. +They are often useful in style definitions. Use: +\Ver>\vwhite:15pt<Rev +or \Ver>\hwhite:{15pt minus 3pt}<Rev +for stretch and shrink. The command \refcs{white} is independent +of the mode, and it expands to \cs{hwhite} or \cs{vwhite} +depending on the prevailing mode of \TeX. + +The command \refcs{fillup} is mostly useful in style definitions: +it tries to fill up as much white space as is possible. +For instance +\Ver> line:start litteral:foo fillup litteral:bar line:stop<Rev +will push \n{foo} and \n{bar} as far apart as is possibly +within the margins. + +\ImpNote +All three control sequences \cs{white}, \cs{hwhite}, \cs{vwhite} +have internal equivalents, for instance +\Ver>\def\white:#1 {\@white{#1}}<Rev +\ImpNoteStop + +\Section[sec:com:distance] Distances + +The command \refcs{Distance} can be used +to declare a name for a certain +distance, or in more correct \TeX nical lingo, for a certain piece of +glue. For instance, declaring that + \Ver>\Distance:oneline=15pt<Rev +means that you can specify in some constructs +\Ver>\DefineFoo:Bar whitebefore:oneline whiteafter:oneline<Rev +If you change your mind later about the value of \n{oneline} you only +need to change one line in the style definition. + +Since the second parameter of \cs{Distance} is bounded by a space (or +the line end, whatever comes first), you can specify stretchable +distances by enclosing \n{plus} and \n{minus} parts in braces: +\Ver>\Distance:oneline={15pt plus 2pt minus 3pt}<Rev + +The effect of \cs{Distance} is global. Let me know if you don't +like it. + +\SubSection Distance synonyms + +Another use of \cs{Distance} is to define one distance as a synonym +of another. This may come in handy if you use some basic distance, +such as \n{oneline} for several purposes. Example: if you specify +\Ver>\Distance:whitebefore=oneline<Rev +than the whitespace before a construct will be taken to be +\n{oneline} if you don't use the \opt{whitebefore} option explicitly. + +\SubSection[sec:adapt-distance] Adaptive distances + +Suppose you want to declare a section heading as + \Ver>\DefineHeading:Section ... + block:start [...] fillupto:widelabel title<Rev +where \cs{widelabel} is the width of the widest label that +occurs in your document. This requires just a tad of \TeX\ +programming. Just copy the details from the example below, which is +the definition of \cs{Section} in this manual. + +By declaring something a \refcs{AdaptiveDistance} instead of just +\cs{Distance} its value gets written to the \file{.aux} file at the +end of the run, and restored in the next run. The second argument is +simply the default value, in case you don't have an auxiliary file +yet. + +\Ver>\AdaptiveDistance:WidestLabel=15pt +\def\MeasureLabel{\ifdim\BlockWidth>\WidestLabel + \global\WidestLabel\BlockWidth\fi} +\DefineHeading:Section + whitebefore:{20pt plus 2pt} whiteafter:14pt + line:start PointSize:14 Style:italic + block:start block:start ChapterCounter . SectionCounter + Spaces:1 block:stop MeasureLabel + fillupto:WidestLabel + title line:stop + external:contents title external:stop + label:start ChapterCounter . SectionCounter label:stop + Stop<Rev + +Note how two nested blocks are used: the first is to measure the +label, and the width is written to the adaptive distance by means of +a small macro; the second block is to fill out the white space. + +If you want the paragraph indentation to depend on this adaptive +width, you can give + \Ver>\StartCommand{\Distance:parindent=WidestLabel }<Rev +to set \cs{parindent} at the start of the document. +See section~\ref[sec:doc-start-stop] and~\ref[sec:basic-indent]. + +\Section[sec:InputFile] Input Files + +Parts of a document can be loaded by +\Ver>\InputFile:parta +\InputFile:partb<Rev +et cetera. A~document part loaded by \refcs{InputFile} always starts +on a new page. In section~\ref[sec:ref-local] it was already +explained how local references for such files can be created. + +Perhaps most importantly, loading files this way provides a form of +error checking; \Lollipop\ checks at the end of such a file whether all +used constructs are balanced properly. + + +\Section[sec:tests] Tests + +Users can define tests: +\Ver>\DefineTest:SomethingTheMatter<Rev +which are set like any other test: +\Ver>\SomethingTheMatter:yes<Rev +or \Ver>\SomethingTheMatter:no<Rev + +Tests can be used as \Ver>\ifSomethingTheMatter ... \else ... \fi<Rev +Like any other conditional, test can be used inside constructs. +\Ver>\DefineFoo:Bar [...] + ifSomethingTheMatter [...] fi + [...] Stop<Rev + +\Section Goodies + +\SubSection List commands + +Lollipop does a lot of list processing internally, and a few +of the commands have been made available to the user. + +\Description\item \refcs{NewList} +creates a list, and sets it to empty: + \Ver>\NewList:mylist<Rev + \item \refcs{EmptyList} +just empty a list. + \item \refcs{TheList} +inserts the list. This will typeset the contents of it. + \Ver>\TheList:mylist<Rev + \item \refcs{AppendToList} +adds data to a list. \Ver>\AppendToList:mylist={my data}<Rev +The data are terminated by a space or line end, hence the braces. +\> + +\SubSection Programming Tools + +A few commands are useful for the Lollipop style designer who wants +to write more sophisticated macros (see for instance the address book +macros in the last chapter). + +\Description\item \refcs{UndefinedCS} +is a test on control sequences. + \Ver>\if\UndefinedCS{testcs} ... \else ... \fi<Rev + \item \refcs{EqualString} +tests equality of strings. + \Ver>\if\EqualString{one}{two} ... \else ... \fi<Rev + \item \refcs{EqualStringX} +tests equality of strings, using only expansion. + \Ver>\if\EqualStringX{one}{two} ... \else ... \fi<Rev + \item \refcs{StringBefore} +tests lexicographic ordering of strings. The string are not supposed +to contain characters with char codes~0, 127,~255. + \Ver>\if\StringBefore{one}{two} ... \else ... \fi<Rev + \item \refcs{NextChar} +chooses between two actions, based on the next character. + \Ver>\if\NextChar[{\macro}{\macro[default]} ...<Rev + \item \refcs{IsEmptyList} +can test whether an argument is empty. + \Ver>\if\IsEmptyList{#1} ...<Rev +is true for calls such as \ver>\macro{}>. + \item\refcs{loop} +can be used for repeated execution of statements. (Users of plaing +\TeX\ may recognize this macro; it is slightly extended here +to include the \cs{else} case.) It is +used as: + \Ver>\loop ... \if ... \repeat<Rev +of \Ver>\loop ... \if ... \else ... \repeat<Rev + + + \> + +\SubSection[sec:everypar] \cs{everypar} + +The \TeX\ primitive \cs{everypar} should not be used any more. +Instead use the command \refcs{EveryParagraph} as if you are setting +a token list: + \Ver>\EveryParagraph{ ... }<Rev + +\SubSection[sec:everymath] \cs{everymath} + +The \TeX\ primitive \cs{everymath} should not be used any more. +Instead use the command \refcs{EveryMath} as if you are setting +a token list: + \Ver>\EveryMath{ ... }<Rev + +\SubSection[sec:everydisplay] \cs{everydisplay} + +The \TeX\ primitive \cs{everydisplay} should not be used any more. +Instead use the command \refcs{EveryDisplay} as if you are setting +a token list: + \Ver>\EveryDisplay{ ... }<Rev + +\SubSection Allocation + +The commands \refcs{SaveAlloc} and subsequent \refcs{RestoreAlloc} save and +reset the internal \TeX\ allocation counters. + +\endinput + +% 2014/04/13 Added some notes about \EveryMath, and +% \EveryDisplay. Also the wrong spelling of `note' changed +% to `not' in `sec:everypar'. +% 2014/04/11 Changed \n{tty} style to \n{typewriter} style +% 92/11/18 Adaptive distances explained +% 92/11/20 Adaptive counters explained +% 93/05/13 changes in font macros diff --git a/macros/plain/formats/lollipop/doc/manual/comment.tex b/macros/plain/formats/lollipop/doc/manual/comment.tex new file mode 100644 index 0000000000..fb7047c425 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/comment.tex @@ -0,0 +1,129 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% comment.sty version 3.0, 3 September 1992 +% selectively in/exclude pieces of text: the user can define new +% comment versions, and each is controlled separately. +% Special comments can be defined where the user specifies the +% action that is to be taken with each comment line. +% +% This style can be used with plain TeX or LaTeX, and probably +% most other packages too. +% +% Author +% Victor Eijkhout and Vafa Khalighi +% persian-tex@tug.org +% +% Usage: all text included in between +% \comment ... \endcomment +% or \begin{comment} ... \end{comment} +% is discarded. The closing command should appear on a line +% of its own. No starting spaces, nothing after it. +% This environment should work with arbitrary amounts +% of comment. +% +% Other 'comment' environments are defined by +% and are selected/deselected with +% \includecomment{versiona} +% \excludecoment{versionb} +% +% These environments are used as +% \versiona ... \endversiona +% or \begin{versiona} ... \end{versiona} +% with the closing command again on a line of its own. +% +% Special comments are defined as +% \specialcomment{name}{before commands}{after commands} +% where the second and third arguments are executed before +% and after each comment. By defining a control sequence +% \Thiscomment#1{...} in the before commands the user can +% specify what is to be done which each comment line. +% +% Basic approach: +% to comment something out, scoop up every line in verbatim mode +% as macro argument, then throw it away. +% For inclusions, both the opening and closing comands +% are defined as noop +% +% This file copyright Victor Eijkhout and Vafa Khalighi. +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% + +\def\makeinnocent#1{\catcode`#1=12 } +\def\csarg#1#2{\expandafter#1\csname#2\endcsname} + +\def\TreatAsComment#1{\begingroup + \def\CurrentComment{#1}% + \let\do\makeinnocent \dospecials + \makeinnocent\^^L% and whatever other special cases + \endlinechar`\^^M \catcode`\^^M=12 \xComment} +{\catcode`\^^M=12 \endlinechar=-1 % + \gdef\xComment#1^^M{\def\test{#1} + \csarg\ifx{PlainEnd\CurrentComment Test}\test + \def\next{\endgroup\AfterComment}% + \else \csarg\ifx{LolliEnd\CurrentComment Test}\test + \def\next{\endgroup\AfterComment}% + \else \csarg\ifx{LaLaEnd\CurrentComment Test}\test + \edef\next{\endgroup\noexpand\AfterComment + \noexpand\end{\CurrentComment}} + \else \ThisComment{#1}\let\next\xComment + \fi \fi \fi \next} +} + +\def\includecomment + #1{\message{Including comment '#1'}% + \expandafter\def\csname#1\endcsname{}% + \expandafter\def\csname end#1\endcsname{}} +\def\excludecomment + #1{\message{Excluding comment '#1'}% + \csarg\def{#1}{\let\AfterComment\relax + \def\ThisComment####1{}\TreatAsComment{#1}}% + {\escapechar=-1\relax + \csarg\xdef{PlainEnd#1Test}{\string\\end#1}% + \csarg\xdef{LolliEnd#1Test}{\string\\#1Stop}% + \csarg\xdef{LaLaEnd#1Test}{\string\\end\string\{#1\string\}}% + }} +\long\def\specialcomment + #1#2#3{\message{Special comment '#1'}% + \csarg\def{#1}{\def\ThisComment{}\def\AfterComment{#3}#2% + \TreatAsComment{#1}}% + {\escapechar=-1\relax + \csarg\xdef{PlainEnd#1Test}{\string\\end#1}% + \csarg\xdef{LolliEnd#1Test}{\string\\#1Stop}% + \csarg\xdef{LaLaEnd#1Test}{\string\\end\string\{#1\string\}}% + }} +\excludecomment{comment} + +\endinput + +% a test of the special comments +\newcount\comlines +\specialcomment{countedcomment} + {\comlines=-1\relax %note that the rest of the first line is also comment + \def\ThisComment{\global\advance\comlines1\relax}} + {\endgraf **Comment: \number\comlines\ line(s) removed**\endgraf} + +This is a line of text +\countedcomment +Oneline +\endcountedcomment +another line of text +\countedcomment +One line +Two line +Three line +\endcountedcomment +last line of text +\end diff --git a/macros/plain/formats/lollipop/doc/manual/example.tex b/macros/plain/formats/lollipop/doc/manual/example.tex new file mode 100644 index 0000000000..5b38d8eefb --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/example.tex @@ -0,0 +1,4 @@ + +\Itemize\item One +{\par\PopIndentLevel Interrupted text!\par} +\item Two\> diff --git a/macros/plain/formats/lollipop/doc/manual/extern.tex b/macros/plain/formats/lollipop/doc/manual/extern.tex new file mode 100644 index 0000000000..aff8e97d59 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/extern.tex @@ -0,0 +1,428 @@ +% extern.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter[chap:referencing] +Referencing + +In manuals and scientific documents you often want to write something +like `see Chapter~4'. But what if you shuffle the chapters a bit? It +would be nice if the number would be updated automatically. With +\Lollipop, as with many other \TeX\ macro packages, this is easily +done. + +Here is an example to set the mood for the rest of this chapter. +The sort of thing that is referred to most is a heading. So suppose +you want to refer to a section number. + +\Example +\DefineHeading:TestSection + line:start Style:italic TestSectionCounter Spaces:2 title + line:stop Stop +\TestSection[one:section?] First section\par +After this section will come section~\ref[other:section!]. + +\TestSection[other:section!] Another section\par +This is the section that came after section~\ref[one:section?]. +\ExampleStop + +\Section What and how do you reference? + +You can reference not only headings but everything that has a +counter. Thus all generic constructs can be referenced, and in +addition you can reference item numbers in a list (there are examples +of this latter possibility in section~\ref[sec:bib]). The simplest way +of referencing something is to put the key in square brackets behind +it: + +\Ver>\Section[this:section] The title of This Section<Rev +You can then reference the key by \refcs{ref}, or the page +where it appeared by~\refcs{pgref}: +\Ver>Section \ref[this:section] on page \pgref[this:section]<Rev + +As you may have guessed from the above examples, keys can contain all +sorts of characters. Only brackets, braces, and the hash sign are +excepted. You get an error message if you try to use the same key +twice. + +Another way of declaring a key is to use the command \refcs{label} +carrying the key +\Ver>\label[the:key]<Rev +This can be useful if you want to declare two keys for a single +reference. Make sure that the \cs{label} command is not part of the +title. Unexplained phenomena occur if you do that. Instead put the +label after the construct you want to reference: +\Ver>\Section Precautions and remedies + +\label[sec:precautions]\label[sec:remedies] +In this section ...<Rev + +\Section[sec:shape:reference] The shape of the reference + +By default, a reference consists of just the number of the thing you +reference. There are two ways in which you can change this, one +systematic, and one on-the-fly. + +\SubSection Defining the shape of the reference + +You can customize the way an object is +referenced by using the option \refopt{label} in its definition. For +instance, often you want things like parentheses around references. +Putting this information in the label definition saves you a lot of +work in case you change your mind later. + +\Example +\DefineHeading:TestSection + line:start Style:italic TestSectionCounter Spaces:2 title line:stop + label:start ( TestSectionCounter ) label:stop Stop +\TestSection[one:section?2] First section\par +After this section will come section~\ref[other:section!2]. + +\TestSection[other:section!2] Another section\par +This is the section that came after section~\ref[one:section?2]. +\ExampleStop + +Another use of customized labels is including other counters in the +reference: + +\Example +\DefineHeading:TestChapter + line:start Style:bold TestChapterCounter / title line:stop Stop +\DefineHeading:TestSection + line:start Style:italic TestSectionCounter Spaces:2 title line:stop + label:start TestChapterCounter . + TestSectionCounter label:stop Stop +\TestChapter First chapter\par +Pretty short chapter +\TestChapter Second chapter\par +\TestSection[one:section?3] First section\par +After this section will come section~\ref[other:section!3]. + +\TestSection[other:section!3] Another section\par +This is the section that came after section~\ref[one:section?3]. +\ExampleStop + +A more surprising application of explicit definition of labels is +inclusion of the title in the reference. +\Example +\DefineHeading:TestSection + line:start Style:italic TestSectionCounter Spaces:2 title line:stop + label:start TestSectionCounter literal: Spaces:1 + Style:italic title label:stop Stop +\TestSection[one:section?4] First section\par +After this section will come section~\ref[other:section!4]. + +\TestSection[other:section!4] Another section\par +This is the section that came after section~\ref[one:section?4]. +\ExampleStop + +\SubSection[sec:exp-ref] Explicit specification of the reference + +For every specific object referenced you can specify the reference by +using an optional argument before the label key. Have a look at the +next example. + +\Example +\DefineHeading:TestSection counter:A + line:start Style:bold TestSectionCounter . Spaces:2 title line:stop + Stop +\TestSection[ref:one] Lalala\par +This is before section \ref[ref:two]. +\TestSection<`the Didi section'>[ref:two] Dididi\par +This is after section \ref[ref:one]. +\ExampleStop + +This mechanism is also used in lists, where it's mostly useful for +bibliographies generated by Bib\TeX; see section~\ref[sec:BibTeX]. + +\Section[sec:ref-local] Local references + +Some documents are +collated out of parts that were documents in themselves. +The \Lollipop\ command \cs{InputFile} facilitates in a number +of ways working with such a segmented file (see +section~\ref[sec:InputFile]). One of the problems with input files is +that in such a case it may happen that the same reference key is used +in more than one part of the document. This phenomenon is +not at all unknown in multiple authored documents. Ordinarily this +would result in incorrect references. + +To prevent such collisions \Lollipop\ can use local +references: the command \refcs{LocalReferences} has default \n{no}, +and specifying +\Ver>LocalReferences:yes<Rev +creates local \file{aux} files for each input file. + +\Section[sec:bib] Bibliography citations + +\Lollipop\ has an interface to Bib\TeX. However, since a bibliography +is just a list, referencing items in it is quite easy, even if you +don't use Bib\TeX. + +\SubSection Bibliographies without Bib\TeX + +This section doesn't tell you anything that cannot be found elsewhere +in this manual. The following two examples define a bibliography as +just a list, and by giving labels to the items you can refer to them. + +\Example +\DefineList:BibList item:left [ itemCounter ] item:stop + label:start [ itemCounter ] label:stop Stop +In this example we shall have occasion to refer to +\ref[Abee80] and~\ref[Ceede79].\par +\Indent:no Bibliography +\BibList \item[Ace55] C.D. Ace, Inscrutible title. +\item[Abee80] E.F. Abee, Worthless drivel. +\item[Ceede79] G.H. Ceede, Contractual obligation. +\> +\ExampleStop + +Here is a way to customize the label (if you need to refresh your +memory about description lists, see +section~\ref[sec:description:list]). + +\Example +\DefineList:BibList item:left [ itemCounter ] item:stop + label:start ( description ) label:stop Stop +In this example we shall have occasion to refer to +\ref[Abe80] and~\ref[Ceedee79].\par +\Indent:no Bibliography +\BibList \item[Aace55] Aace55 +C.D. Aace, Inscrutible title. +\item[Abe80] Abe80 +E.F. Abe, Worthless drivel. +\item[Ceedee79] Ceedee79 +G.H. Ceedee, Contractual obligation. +\> +\ExampleStop + +\SubSection[sec:BibTeX] Bibliographies with Bib\TeX + +\Lollipop has an interface to the popular Bib\TeX\ +bibliography database program, based on the `BtxMac' macros +by Karl Berry and Oren Patashnik. \Lollipop\ is set up for them, you +only have to \cs{input} the file \file{btxmac.tex}. (The version +of btxmac used to test this is \n{0.99h}.) You can find global +information about Bib\TeX\ in the \LaTeX\ book~{%\tracingmacros=2 +%\tracingcommands\tracingmacros +\bibref[La:book]}, +since Bib\TeX\ was +originally written for \LaTeX. + +Since there is some redefining going on between btxmac and \Lollipop\ +you have to load the btxmac file before the \cs{Start} command (see +section~\ref[sec:doc-start-stop]). + +Since the btxmac file already has a default way of formatting the +bibliography you can get away with just putting the lines + \Ver>\bibliography{ <bfile> } +\bibliographystyle{ <bstyle> }<Rev + in your file wherever you want the bibliography. + +If you want to define your own bibliography, you have to use +\refcs{DefineBBL} which is practically a synonym for +\ver>\DefineList:BBL>, so you can see in the `lists' chapter of this +manual what options apply. + +For example: + \Ver>\DefineBBL line:start Style:italic literal:Literature line:stop + item:left [ begingroup Style:bold itemCounter + endgroup ] item:stop + Stop<Rev + +You refer to a bibliography item by \refcs{bibref}, as in +\ver>\bibref[Knuth80]>. This command has a very simple definition + \Ver>\def\bibref[#1]{[\ref[#1]]\nocite{#1}}<Rev +so you can easily redefine it. For instance + \Ver>\def\supref[#1]{$^{\rm \ref[#1]}$\nocite{#1}}<Rev + will make your references into superscripts. +Make sure that +the call to \cs{nocite} appears, because that generates the request for +Bib\TeX. + +The \Lollipop\ command \ver>\WriteExtern:no> (see +section~\ref[sec:write-extern]) defines \cs{noauxfile} to prevent +regeneration of the bib entries in the \file{.aux} file. +You don't have to do that anymore. + +\Section Obscure details + +For the sake of efficiency, not all macros in Lollipop automatically +accept labels for referencing, only the ones that use the \n{label} +option, or that have a counter (remember, the default form of the +reference is just the counter). If you want a macro that has no +counter and no label specification to accept a label, use the option +\refopt{haslabel}. One reason for doing this is that you have access to +the label itself through the control sequence \refcs{RefLabel}. + +\Chapter[chap:external-files] External Files + +Some document require information to be collected during a run. Such +information typically is a table of contents or index, and it is +gathered in an external file. (The reason for gathering such +information in a file at all is that often some external manipulation, +for instance sorting of an index, is needed.) Since there are many +possibilities for external files (mathematical monographs may have a +list of definitions, or a list of notations) \Lollipop\ does not +predefine such files, but supplies all of the tools for creating them. + +External files involve four actions: +\Enumerate\item The file should be declared. +\item It should be specified what information is to be written to the +file. +\item The formatting of the contents of the file has to be specified. +\item The file has to be loaded. +\> + +You can have at most 15 external files per document. + +\Section[sec:write-extern] Declaring and loading an external file + +The first act, declaring the existence of the external file is very +easy with the command \refcs{DefineExternalFile}: + an internal name and a three-character file name extension have +to be given as parameters. +\Ver>\DefineExternalFile:contents=toc<Rev +With this definition, if the document is called \file{book.tex} then +the `contents' will be gathered in a file called \file{book.toc}. +(The declaration of an external file has to come before any calls +to \cs{ExternalItem} or any options \n{external} that write +to this file.) + +For each external file \n{Foo} there is a command to determine whether +that file will be regenerated in the next run of \TeX: +\refcs{WriteFoo} with values \n{yes}/\n{no} will allow or prevent the +file being regenerated. The value \opt{yes} is default. The +command \refcs{WriteExtern} (values \n{yes}/\n{no}) +can be used to prevent writing out any external files (including the +\file{.aux} file that keeps track of references). + +The final act, loading an external file, is as easy as declaring it: +use \refcs{LoadExternalFile} as in +\Ver>\LoadExternalFile:contents<Rev +This does not cause any page breaks or headings to be set over the +loaded material, so you have to do that explicitly. + +\Section[sec:ext-option] Generating external files + +Next, macros that write to the table of contents have to declare this +information. The \refopt{external} option is used for this. +Any counter that the construct has will be written out +automatically, and the style designer usually has to specify only +that the title will be written out. +\Ver>\DefineHeading:Section + [...] + external:contents title external:stop<Rev + +There is no objection to a construct writing information to more than +one external file. + +If you write more than just \n{title} to an external file, know that +any control sequence you specify is automatically protected from +expansion. See section~\ref[opt:csname] for an exception to this. + +Other titles can be included by specifying \opt{title:OtherThing}. +Using \opt{OtherThingTitle} would not work, because of the protection +of control sequences mentioned above. + +You can write arbitrary information to an external file, if you see a +reason to do so, by \refcs{ToExternalFile}, which takes a file name +and an text argument. The example below has an instance of this +command. In order to format this information you have to define an +external construct of type \cs{anon}. + +\Section[sec:ext-item] Formatting an external file + +The hardest part is declaring the formatting of an external file. For +this a separate generic construct exists: the `external item' with +defining command \refcs{DefineExternalItem}. For example, if +\cs{Section} writes to \n{contents}, than an external item \n{Section} +corresponding to this file has to be declared. The option +\refopt{file} is use to declare to which file the external item +belongs. This way the same name can be reused for more than one file. + +\Ver>\DefineExternalItem:Section file:contents + [...] Stop<Rev + +An external item is basically a list with just one item. Thus, the +option \refopt{item} is available. The elements of an external item are +the label (the counter value), the page number where the information +was generated, and the title. +For the label (say for a construct \cs{Foo}) +an option \refopt{FooLabel} is created. +Thus the typical formating looks like +\Ver>\DefineExternalItem:Chapter file:contents + item:left ChapterLabel item:stop + title begingroup Spaces:2 Style:italic Page endgroup + Stop<Rev +In fact, a control sequence \refcs{FooLabel} is created, which +can be used in other external items. + +Since an external item is a list in itself, you have to pull a +certain trick to get items for subsections to indent further than +those for sections. This is what the command \cs{PushIndentLevel} was +designed for. + +A typical indented item looks like: +\Ver>\DefineExternalItem:SubSection file:contents + PushIndentLevel PushIndentLevel + item:left SectionLabel . SubSectionLabel item:stop + title begingroup Spaces:2 Style:italic Page endgroup + Stop<Rev + +\Section Example + +The following example is for a typical table of contents that +records sections and subsections. In good old-fashioned style, the +subsections are indented with respect to the sections. +\endinput +\Example +\DefineExternalFile:TheContents=tct +\DefineHeading:TestChapter Style:bold + line:start TestChapterCounter Spaces:2 title line:stop + external:TheContents title external:stop Stop +\DefineExternalItem:TestChapter file:TheContents + item:left Style:bold TestChapterLabel item:stop title white:5pt + Page par Stop +\DefineHeading:TestSection Style:italic + line:start TestChapterCounter . TestSectionCounter + Spaces:2 title line:stop + external:TheContents title external:stop Stop +\GoverningCounter:TestSection=TestChapter +\DefineExternalItem:TestSection file:TheContents PushIndentLevel + item:left Style:bold TestChapterLabel . TestSectionLabel item:stop + title white:5pt Page par Stop +\DefineExternalItem:anon file:TheContents begingroup + Style:italic title white:5pt Page par Stop + +\LoadExternalFile:TheContents +\TestChapter First heading\par +\TestSection First subheading\par +Some text might be nice. +\TestSection Second subheading\par +Some more text. +\ToExternalFile:TheContents={Enclosed Graphics} +\TestChapter Second heading\par +\TestSection Third subheading\par +Yet more text. +\TestSection Fourth subheading\par +And again: text. +\ExampleStop + +\endinput + +% 92/11/26 BibTeX section diff --git a/macros/plain/formats/lollipop/doc/manual/head.tex b/macros/plain/formats/lollipop/doc/manual/head.tex new file mode 100644 index 0000000000..2053c58c63 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/head.tex @@ -0,0 +1,118 @@ +% head.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter Headings + +Headings for sections, chapters, and such, are an essential part of +any \TeX\ macro package. In Lollipop they are maybe a bit less +special: all options for headings are general options, meaning that +they also apply to text blocks and lists. There are only two things +that distinguish headings: + +\Enumerate +\item there will be no page break after a heading; +\item there is no closing command for a heading. +\> + +\Section[sec:head:examples] Examples + +Headings are defined by \refcs{DefineHeading}. +The most obvious element in a heading is the title, marked by the +option \refopt{title}. The title is anything that follows the heading +command, upto the first empty line. + +\Ver>\SomeHeading Some title + +And some text following it.<Rev + +\ImpNote +Titles can also be terminated by \cs{par}, but knowledge of this is +not encouraged. See further~\ref[imp:title:delimiting]. +\ImpNoteStop + +The title has to be +included in a line or a textcolumn for proper handling (see +also section~\ref[sec:opt:traps]). For titles that do not exceed one +line, the \opt{line} option suffices (section~\ref[sec:opt:line]); if a +title is possibly more than one line long, the \opt{textcolumn} option +has to be used (section~\ref[sec:opt:textcolumn]. + +\Example +\DefineHeading:TestSection Style:bold + line:start TestSectionCounter Spaces:2 title line:stop + Stop +\TestSection The Title + +The text after the heading. +\ExampleStop + +By default, the text after a heading is indented. Overriding this +default behaviour is done with the option \refopt{indentafter}. + +\Example +\AlwaysIndent:no % as a default, don't indent paragraphs +\DefineHeading:TestSection Style:bold + line:start TestSectionCounter Spaces:2 title line:stop + indentafter:yes Stop +\TestSection The Title + +The text after the heading.\par +The second paragraph after the heading +\ExampleStop + +Usually headings come in a hierarchy, where the counter of one type, +for instance a subsection, is reset everytime the counter of a higer +level is stepped. In \Lollipop, this subordinating of headings is +done by declaring one counter to be governed by another (counters +are explained in full detail in section~\ref[sec:counters]). + +\Example +\DefineHeading:TestChapter Style:bold + line:start TestChapterCounter Spaces:1 title line:stop + Stop +\DefineHeading:TestSection Style:italic + line:start TestChapterCounter : TestSectionCounter . Spaces:1 + title line:stop Stop +\GoverningCounter:TestSection=TestChapter + +\TestChapter Level One Heading\par +\TestSection Level Two Heading\par +Some text. +\TestSection Level Two again\par +More text. +\TestChapter Level One is Stepped\par +\TestSection Level Two\par +Again text. +\ExampleStop + +Headings will often wind up in a table of contents. For this, the +table of contents will have to be declared: +\Ver>\DefineExternalFile:contents=toc<Rev +and its formatting will have to be specified, but also every +construct that writes to this file has to be declared as such. + +\Ver>\DefineHeading:TestSection + [...] + external:contents title external:stop + Stop<Rev + +Usually, the title is all that has to be written out (the counter +value is written by default), but the possibility exists for writing +out other information as well. See section~\ref[sec:ext-option]. + +\endinput \ No newline at end of file diff --git a/macros/plain/formats/lollipop/doc/manual/list.tex b/macros/plain/formats/lollipop/doc/manual/list.tex new file mode 100644 index 0000000000..24df43a61b --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/list.tex @@ -0,0 +1,442 @@ +% list.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter Lists + +Lists in Lollipop are defined by \refcs{DefineList}: + +\Ver>\DefineList:Foo [...] + item:start [...] item:stop + [...] Stop<Rev +and the resulting list is used as +\Ver>\Foo +\item [ ..text.. ] +\item [ ... ] +\FooStop<Rev +where the closing command can be abbreviated as~\cs{>}. + +\Section Label alignment + +In general there is a default position for labels; +either aligning with the +left or the right side of the margin over which the list is indented. +The two ways are indicated with the option \refopt{item}: +\Ver> item:left [...] item:stop<Rev +and \Ver> item:right [...] item:stop<Rev respectively. +Specifying \opt{item:start} gives the default left aligning position. + +\Example +\DefineList:enumerate + item:start itemCounter ) item:stop Stop +\DefineList:enumerateright + item:right ( itemCounter ) Spaces:1 item:stop Stop +\enumerate\item Some item +\item And another +\enumerateright\item First nested item +\item Next nested item\> +\item And back to the original list.\> +\ExampleStop + +\Section List indentation + +The amount over which the text of a list (excluding the item labels) +is indented is controled by a list of indentations. This is explained +in section~\ref[sec:indent:control]. The indentation amount is most of +the time also equal to the value of the paragraph indentation outside +that list. + +In the rare case where the indentation of a list has to be controlled +explicitly, there is an option \refopt{indentation} with one value. +\Ver>\DefineList:SomeList indentation=30pt [...] Stop<Rev + + +\Section Label style + +Every list that uses the \refopt{itemsign} option is an `itemize' list, +no matter what it's name, and there is a counter in Lollipop that +keeps track of how deep you are in itemize lists. Similarly, every +list that uses \refopt{itemCounter} is an `enumerate' lists, and these +are counted too. + +On every next level a new style of item sign or counter is used. For +item signs this is in sequence: $\bullet$, $\circ$, --, and $\cdot$ +for all higher levels. The style of sign can be changed by +\refcs{SetItemSign}: \Ver>\SetItemSign:6=m<Rev where the letter +indicating the sign is interpreted as: \n b~$\bullet$ (bullet), \n +c~$\circ$ (circle), \n d~$\diamond$ (diamond), \n m~--- (em-dash), \n +n~-- (en-dash), \n .~$\cdot$. + +Similarly, the counter style can be set by +\refcs{SetItemCounterRepresentation}: +\Ver>\SetItemCounterRepresentation:2=i<Rev where the letter +representing the style is interpreted as: 1~Arabic, I~uppercase roman, +i~lowercase roman, A~uppercase characters, a~lowercase characters. + +\Section Label width + +The default width for a label is at most the width of the margin over +which the list is indented. Using \opt{item:left} or \opt{item:right} +will have the label pushed to the left or right side of this margin +respectively. Now what if the label material is wider than this +margin? Usually you want the label then to expand to the right, and +that is indeed what happens, unless you specify +\refopt{labeloverflow} with value \n{left}, in which case the right +boundary of the label will not budge, and the label will start +protruding into the outer margin. + +\Section[sec:description:list] Description lists + +A common type of list is the type where each item label consists of a +piece of text. Such a list is called a `description' list in +\Lollipop, and it recognized by the occurrence of the option +\refopt{description} in its definition. A~description list can also use +the item sign or the item counter, of course. + +Using a description list, the description text is everything that +follows the command \cs{item}, up to the end of the line. + +\Example +\DefineList:TestList + item:left Style:bold itemCounter . Spaces:1 description + Spaces:2 item:stop Stop +\TestList\item Do +A deer, a female deer.\item Re +According to mr. Fowler only a legal term. +\item Mimi Jett +The owner/founder of ETP\> +\ExampleStop + +As you can see, the problem of label overflow can easily occur with +description lists. Thus it is a good idea to end the item material +with some white space, as in the above example. + + Exceptional situation: +if you use an empty description text, you should write \ver>\item{}>. + +\Section Suspended lists + +Occasionally the is a need to resume an enumerate list, that is, +after a piece of text that is not part of the list an enumerate list +should start counting from the previous value on. In \Lollipop\ this +phenomenon can be realized by never ending the enumerate list, and +simply moving the text one indentation level back with +\refcs{PopIndentLevel}. + +\Example +\DefineList:enumerate item:left itemCounter item:stop Stop +\enumerate\item First some item\par +{\PopIndentLevel \Indent:no +This text seems to be outside the list. Don't you believe it.\par} +\item And another item\> +\ExampleStop + +Note that the `popped' text has to be in a group (otherwise the +subsequent items will also be popped back), and it has to be +separated from the preceding and following text by \cs{par}; the +trailing \cs{par} has to be in the group. + +\Section Item counter manipulation + +The item counter can be manipulated explicitly. This is necessary for +instance for starting a list at another value than one. What you need +to realize here is that the command \cs{item} starts by incrementing +the counter. Furthermore, the only way to access the item counter is +through the commands for counters; see section~\ref[sec:counters]. + +\Example +\DefineList:enumerate item:left itemCounter item:stop Stop +\enumerate \SetCounter:item=-1 +\item Escape: usually the backslash. +\item Begin Group.\> +\ExampleStop + +\Section List titles and list tails + +Lists can have titles. The title follows the command that invokes the +list, in the usual manner. Material to follow the list can also be +specified: anything following the option \refopt{text} is considered to +be trailing material. + +\Example +\DefineList:TestList hrule line:start Style:bold title line:stop + item:left Style:italic itemCounter item:stop + text vwhite:3pt hrule Stop +\TestList In the last fiscal year, have you:\par +\item Eaten peanuts? \item Walked the dog? +\item Bought a Frank Zappa record?\> +\ExampleStop + +In case you wonder what happens with textual material after +\opt{item:stop} and before any \opt{text}, well, that is taken to be +inserted immediately after each item label. + +\Section Between the items + +There are special list options controlling what happens in between +items. \Lollipop\ has an option \refopt{breakbetween}, analogous to +\opt{breakbefore} and \opt{breakafter}; see +section~\ref[sec:opt:penalties]. This item be default has a +value of~\n{$-50$}, implying that breaks in between items +should be preferred slightly over breaks in between the +lines of an item. + +Similarly, there is an option \refopt{whitebetween} +controlling the amount of white space in between items that is +analogous to \opt{whitebefore} and \opt{whiteafter}. Like these two +options, it can also be set by the \cs{Distance} command +(section~\ref[sec:com:distance]). + +\Section Indentation in lists + +An item can be considered to be consisting of at least one paragraph. +That paragraph is never indented. For the behaviour of any next +paragraph within the same item, the option \refopt{indentinside} can be +used. This option has values yes/no. In case paragraphs inside an +item indent, the indentation amount is level-controlled; see +section~\ref[sec:indent:control]. + +\Chapter[chap:text:block] Text Blocks + +The `text block' is a way of treating a moderate sized chunk of text +in a different way from the surrounding text. Text blocks are +created by \refcs{DefineTextBlock}. Here is a small example. + +\Example +\DefineTextBlock:Quote + PushIndentLevel PointSize:9 SetFont text Stop +\Indent:no In some context it has been written that +\Quote No man is an island.\QuoteStop +In another: +\Quote Run don't walk to the nearest island.\> +Sometimes one would wish women weren't so logical. +\ExampleStop + +Note that the text block has an explicit closing command, +consisting of the name of the block followed by \opt{Stop}, +and that implicit closing by \cs{>} is possible. + +\Section The \opt{text} option + +Text blocks have only one specific option: \refopt{text}. This option +is used to separate material heading the block from material trailing +the block. Example: + +\Example +\DefineTextBlock:DisplayEq + whitebefore:abovedisplayskip whiteafter:belowdisplayskip + line:start white:parindent $ displaystyle text $ line:stop Stop +The formula +\DisplayEq e^{\pi i}+1=0\> +contains nature's five most interesting constants. +\ExampleStop + +Here one dollar comes before the text, and one after, so the first is +inserted by \cs{DisplayEq} and the second by the corresponding +closing command. + +Material before and after the text should usually not be broken. +Hence \cs{nobreak} is automatically inserted. See the \cs{Example} +macro for this manual: pages should not be broken after rules, or +around the text `example~xyz'. + +\Section More examples + +A text block can encompass more than one paragraph, so the options +\opt{indentinside} and \opt{indentfirst} are particularly useful here. + +\Example +\AlwaysIndent:no +\DefineTextBlock:TestBlock PushIndentLevel + indentafter:yes indentfirst:no indentinside:yes + text unskip hfill $ bullet $ par Stop +One paragraph.\par The next paragraph +\TestBlock Inside the block one paragraph.\par +Inside the block the next paragraph.\> +Outside the following paragraph.\par And the last paragraph. +\ExampleStop + +\ImpNote +\iSection[imp:gen:open:close] The environment in generic constructs + +The text block is just about the purest use of the \Lollipop\ +environment mechanism. Here is how a text block is defined: +\Ver> +\def\@DefineTextBlock{ + \csarg\edef{\@name}{\@gen@open + \the\before@coms + } + \@DefineStopCommand{\the\after@coms \@gen@close} + }<Rev + +The \cs{before@coms} and \cs{after@coms} are two token lists with +the heading and trailing commands. + +It is important to note that the definition of the control sequence +of the block is defined by \cs{edef}. This first of all unwraps the +token lists, but it also has an important effect on +\cs{@gen@open/close}. These control sequences contain a lot of +conditionals which, in combination with the \cs{edef} give a really +dynamic definition of generic constructs in \Lollipop. + +First of all, the opening and closing commands induce a group +so that various quantities can be set locally. +\Ver> +\def\@gen@open{\outer@start@commands + \begingroup \inner@start@commands} +\def\@gen@close{\inner@end@commands + \endgroup \outer@end@commands}<Rev + +The outer start commands concern global actions such as backspacing +previous skips, incrementing counters and setting references. +\Ver> +\def\outer@start@commands{% + \iftext@construct + \ifleft@embedded@construct + \nxp\bsp@hack + \else \nxp\leavehmode \nxp\bvwit{\the\@whitebefore}\fi<Rev +The `embedded construct' tests are only true if the construct +can be embedded in a paragraph. A~rare occurence most of the time. +\Ver> + % backspace previous white space while it's visible + \nxp\if@headed\nxp\else + \ifforced@break@before\@beforepenalty + \else\nxp\ifnum\lastpenalty=\z@ + \@beforepenalty\nxp\fi + \fi + \nxp\fi<Rev +A subtle point: a preceding heading will have placed \cs{nobreak} +followed by a skip. It is dangerous to place any sort of penalty +after this because it might induce a page break. + +Now the counter, title, and stuff connected to that. +\Ver> + \fi + \ifhas@counter \nxp\StepCounter:\expandafter\@name\@space + % This sets the \current@label by default<Rev +Since this is used inside an \cs{edef} we can use some trickery +to get the space token after the argument to \cs{StepCounter}. +\Ver> + \ifhas@marks \edef\nxp\cs@e + {\nxp\nxp\nxp\refresh@mark@item + {\@name Counter}{\CSname{\@name Counter}}}% + \nxp\cs@e + \fi + \fi + \iflabel@defined + \global\current@label={\the\@labelcoms}\fi + \ifhas@title \install@title@code<Rev +This title business is explained in~\ref[imp:install:title]. +This piece of code also refreshes the title in the mark structure. +This has to be done after any page break for the benefit +of headers/footers. +\Ver> + \fi + \ifhas@marks\nxp\ifnin{\nxp\place@mark}\fi + %otherwise IniTeX'ing Lollipop will output a page + \nxp\xx@label\the\extern@toks\penalty\@M + % also subtle: if this white space would be higher, it would + % be invisible because of marks et cetera. + % insert nobreak after marks/writes to prevent page breaks. + \iftext@construct + \ifleft@embedded@construct + \else \nxp\@vwhite{\the\@whitebefore}\fi + \fi + }<Rev + +Inner start commands are concerned with setting local values. +\Ver> +\def\inner@start@commands{% + \nxp\Open@Group\CSname{\@class}\CSname{\@name}%<Rev +The \cs{Open@Group} call makes it possible to track down groups +that have inadvertendly been left open. Since we now know the +name we can give helpful error msgs. +\Ver> + \install@stop<Rev +Install the right implicit closing, see~\ref[sec:implicit:close] +and~\ref[imp:implicit:close]. +\Ver> + \ifleft@embedded@construct + \else \nxp\hold@parskip + \nxp\@defaulteverypar + \ifwhiteleft@defined \advance\leftskip \the\@whiteleft \relax \fi + \ifwhiteright@defined \advance\rightskip \the\@whiteright \relax \fi + \nxp\let\nxp\par=\nxp\@par %explain to me again why this is necessary... + \inside@indent \first@indent + \fi + \advance\nest@depth\@ne<Rev +The nest depth is used for determining indentation levels. +\Ver> + }<Rev + +End commands set up some conditions, most of which will be tested +by the start of any next construct. +\Ver> +\def\inner@end@commands{% + \nxp\Close@Group\CSname{\@class}\CSname{\@name}% + \ifright@embedded@construct \else \nxp\leavehmode \fi + \@afterpenalty + \ifright@embedded@construct \else \nxp\@vwhite{\the\@whiteafter}\fi + } +\def\outer@end@commands{% + \the\after@toks + \ifright@embedded@construct + \nxp\@headedno \nxp\esp@hack + \else + \after@indent \nxp\dono@parskip + \fi}<Rev + +\iSection[imp:implicit:close] Implicit closing + +Constructs with an explicit closing command, lists and text blocks, +can be closed by~\cs{>}, which simply closes the current +construct. A~more drastic version, \cs{>]}, closes all currently +open constructs. +\Ver> +\def\outer@stop@command{\Emessage{Vacuous group closing}} +\let\default@stop@command\outer@stop@command +\def\>{\default@stop@command%[fool the editor + \ifNextChar]{% + \ifx\default@stop@command\outer@stop@command + \xp\take@one + \else \xp\>\fi}{}}<Rev +The \cs{outer@stop@command} is meant to give an error msg if the +user attempts to close a group while none is open. + +The current meaning of~\cs{>} is installed in +\cs{inner@start@commands}: +\Ver> +\def\install@stop{\if@implicitclose + \def\nxp\default@stop@command + {\CSname{\stop@command}}% + \else \let\nxp\default@stop@command + \nxp\outer@stop@command + \fi}<Rev + +By default, constructs can be closed implicitly, but there is an +option \refopt{noimplicitclose} to disable this. +\Ver> +\newif\if@implicitclose +\add@generic@default{\@implicitcloseyes} +\@GenericOption{noimplicitclose}{\@implicitcloseno}<Rev +This option is for instance used in the examples in this manual. +Otherwise closing a construct in the example would also close the +example itself. + +\ImpNoteStop + +\endinput \ No newline at end of file diff --git a/macros/plain/formats/lollipop/doc/manual/lollipop-manual.bib b/macros/plain/formats/lollipop/doc/manual/lollipop-manual.bib new file mode 100644 index 0000000000..d742991915 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/lollipop-manual.bib @@ -0,0 +1,59 @@ +@article{EL:Cork, +author = {Victor Eijkhout and Andries Lenstra}, +title = {The document style designer as a separate entity}, +journal = {TUGboat}, +volume = {12}, +issue = {1}, +year = {1991}, +pages = {31--34} +} + +@misc{E:book, +author = {Victor Eijkhout}, +title = {{\TeX} by Topic}, +publisher = {Addison-Wesley}, +howpublished = {{\tt http://eijkhout.net/texbytopic/texbytopic.html}}, +year = {1992} +} + +@article{E:Portland, +author = {Victor Eijkhout}, +title = {Just give me a Lollipop (it makes my heart go giddy-up)}, +journal = {TUGboat}, +volume = {13}, +issue = {3}, +year = {1992}, +pages = {341--346} +} + +@book{Kn:book, +author = {Donald E. Knuth}, +title = {The {\TeX} Book}, +publisher = {Addison-Wesley}, +year = {1984, reprinted with corrections 1989} +} + +@book{La:book, +author = {Leslie Lamport}, +title = {{\LaTeX} A Document Preparation System}, +publisher = {Addison-Wesley}, +year = {1986} +} + +@article{Pe:epigrams, +author = {Alan Perlis}, +title = {Epigrams on programming}, +journal = {ACM Sigplan Notices}, +volume = {17}, +issue = {9}, +year = {1982}, +pages = {7--13} +} + +@book{SeLe:book, +author = {Raymond Seroul and Silvio Levy}, +title = {A Beginner's Book of \TeX}, +publisher = {Springer Verlag}, +year = {1990} +} + diff --git a/macros/plain/formats/lollipop/doc/manual/lollipop-manual.pdf b/macros/plain/formats/lollipop/doc/manual/lollipop-manual.pdf new file mode 100644 index 0000000000..533d578a0b Binary files /dev/null and b/macros/plain/formats/lollipop/doc/manual/lollipop-manual.pdf differ diff --git a/macros/plain/formats/lollipop/doc/manual/lollipop-manual.tex b/macros/plain/formats/lollipop/doc/manual/lollipop-manual.tex new file mode 100644 index 0000000000..b2e7884733 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/lollipop-manual.tex @@ -0,0 +1,92 @@ +% lollipop-manual.tex master file for the Lollipop TeX manual. +% this file and all input files for it copyright 1992 Victor Eijkhout, +% copyright 2014--2016 Vafa Khalighi, +% except where indicated otherwise. +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\tracingstats=1 +\makeatletter +\makeatother +\showboxdepth=-1 + +\input comment +% By shuffling the \comment line you can load different fonts. +% This is machine dependent, so by default you get the CM font, +% which should work everywhere. +% +\def\SerifFace{\TypeFace:ComputerModern } +\def\SansFace{\TypeFace:ComputerSans } + + +% Now load the style definition. This takes some time. +\input mandefs + +% Prevent regeneration of external files; change 'yes' into 'no' +% if you are changing page dimensions or so. +\WriteExtern:yes + +% BibTeX interface by Berry and Patashnik +\input btxmac + +% Start formating +\Start + +% Include the next line if you are formatting the second half +% of this manual: +%\comment + +\CounterRepresentation:Page=i \RightPage +\InputFile:titlepag + +\InputFile:prelim +\SetCounter:LastInPage=PageValue +\BackStepCounter:LastInPage + +\ToRecto\RightPage +\CounterRepresentation:Page=1 \SetCounter:Page=1 + +\InputFile:struct + +\InputFile:head + +\InputFile:list + +% For the first half include the following line: +%\Stop +% For second half include the following lines: +%\endcomment +%\RightPage \SetCounter:Page=11 + +\InputFile:out + +\InputFile:extern + +\InputFile:opt + +\InputFile:comm + +\InputFile:trace + +\InputFile:appendix + +\SetCounter:LastRegPage=PageValue +\BackStepCounter:LastRegPage +\Stop + +% 2016/04/09 Updated the manual +% 92/11/20 Total pages counter +% 93/01/08 \comment and such for two part processing diff --git a/macros/plain/formats/lollipop/doc/manual/mandefs.tex b/macros/plain/formats/lollipop/doc/manual/mandefs.tex new file mode 100644 index 0000000000..dbc822d78d --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/mandefs.tex @@ -0,0 +1,225 @@ +% mandefs.tex style definition for the Lollipop manual +% copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\def\con#1{{\tt#1}} +\def\n#1{{\tt#1}} +\def\file#1{{\tt#1}} + +\def\Lollipop{Lollipop} + +\Distance:rightmarginstretch={0cm plus 2.54cm} +\Distance:whitebefore={6pt plus 3pt minus 2pt} +\Distance:whiteafter=whitebefore +\FlushRight:no + +\DefineExternalFile:contents=toc + +\DefineHeading:Chapter + breakbefore:yes whiteafter:20pt + line:start PointSize:14 Style:bold literal:Chapter + Spaces:1 ChapterCounter line:stop + vwhite:15pt + line:start PointSize:16 Style:bold title line:stop + external:contents title external:stop + Stop + +\AdaptiveDistance:WidestLabel=15pt +\def\MeasureLabel{\ifdim\BlockWidth>\WidestLabel + \global\WidestLabel\BlockWidth\fi} +\StartCommand{\Distance:parindent=WidestLabel } +\DefineHeading:Section + whitebefore:{20pt plus 2pt} whiteafter:14pt + line:start PointSize:14 Style:italic + block:start block:start ChapterCounter . SectionCounter + Spaces:1 block:stop MeasureLabel + fillupto:WidestLabel + title line:stop + external:contents title external:stop + label:start ChapterCounter . SectionCounter label:stop + Stop +\GoverningCounter:Section=Chapter + +\DefineHeading:SubSection + whitebefore:{14pt plus 2pt} whiteafter:8pt + line:start PointSize:10 Style:italic + ChapterCounter . SectionCounter . SubSectionCounter + Spaces:1 title line:stop + label:start ChapterCounter . Spaces:.2 SectionCounter + . Spaces:.2 SubSectionCounter label:stop + Stop +\GoverningCounter:SubSection=Section + +\DefineExternalFile:impnotes=imp +\DefineHeading:iSection + whitebefore:{10pt plus 1pt} whiteafter:8pt + line:start PointSize:12 Style:bold I - + Style:italic iSectionCounter + Spaces:1 title line:stop + label:start I - iSectionCounter label:stop + external:impnotes title external:stop + Stop +%\GoverningCounter:iSection=Chapter +\DefineExternalItem:iSection file:impnotes PushIndentLevel + item:left I - Style:italic iSectionLabel item:stop + title begingroup Spaces:2 Style:italic Page endgroup + Stop + +\DefineExternalItem:Chapter file:contents + item:left ChapterLabel item:stop + title begingroup Spaces:2 Style:italic Page endgroup + Stop +\DefineExternalItem:Section file:contents PushIndentLevel + item:left ChapterLabel . SectionLabel item:stop + title begingroup Spaces:2 Style:italic Page endgroup + Stop + +\def\impnotetxt{Implementor's Note} +\DefineTextBlock:ImpNote PushIndentLevel + whitebefore:12pt whiteafter:11pt + line:start PointSize:12 Style:italic impnotetxt line:stop + SansFace PointSize:9 SetFont text + Stop +\excludecomment{ImpNote} + +\DefineTextBlock:WizNote + PushIndentLevel PointSize:9 SetFont text + Stop + +\DefineList:Description + item:left description Spaces:2 item:stop whitebetween:6pt + Stop + +\DefineList:cDescription + item:left tt char busje description Spaces:2 item:stop + whitebetween:6pt + Stop + +\DefineList:Enumerate + item:left itemCounter item:stop + Stop + +\DefineList:Itemize + item:left itemsign item:stop + Stop + +\DefineBBL + item:left [ - itemCounter - ] item:stop + Stop + +\SerifFace \SetFont + +\newwrite\exfile +\def\HereAndOut#1{\immediate\write\exfile{#1}} +\specialcomment{Example} + {\EExample + \immediate\openout\exfile=example.tex\relax + \let\ThisComment\HereAndOut} + {\immediate\closeout\exfile + \begingroup \tt \SetFont + \verbatimfile{example.tex}\endgroup + \SaveAlloc \input example.tex\relax \RestoreAlloc + \EExampleStop} +\DefineTextBlock:EExample whiteafter:{6pt plus 5pt} + noimplicitclose rule:h vwhite:3pt + line:start literal:Example Spaces:1.5 + ChapterCounter . EExampleCounter + line:stop + vwhite:3pt rule:h vwhite:3pt text vwhite:3pt rule:h + Stop +\GoverningCounter:EExample=Chapter + +\specialcomment{OutExample} + {\EExample + \immediate\openout\exfile=example.tex\relax + \let\ThisComment\HereAndOut} + {\immediate\closeout\exfile + \begingroup \tt \SetFont + \verbatimfile{example.tex}\endgroup + \par\penalty0\relax + \SaveAlloc \SuspendOutput \begingroup \CountSheetsno + \global\setbox\PageRow\hbox{}% + \let\CurrentShipout\ToPageRow + \xInputFile:example + \endgroup + \ResumeOutput \RestoreAlloc + \noindent\unhbox\PageRow\hbox{}\par + \EExampleStop} +\newbox\PageRow\newbox\RowPage +\def\ToPageRow{\setbox\RowPage\box\WholePage \xToPageRow} +\def\xToPageRow{\global\setbox\PageRow + \hbox{\unhbox\PageRow\box\RowPage\hfill}} + +\def\opt#1{{\tt#1}} +\DefineExternalFile:optindex=oix +\def\refopt#1{\OptToIdx #1\par} +\DefineHeading:OptToIdx embedded:yes + block:start tt title block:stop + external:optindex title external:stop + nomarks Stop +\DefineExternalItem:OptToIdx file:optindex + embedded:yes + begingroup tt title endgroup + nobreak Spaces:1.5 Page Spaces:2.5 Stop + +\DefineExternalFile:csindex=cix +\def\refcs#1{\CsToIdx #1\par} +\DefineHeading:CsToIdx embedded:yes + block:start tt char busje title block:stop + external:csindex title external:stop + nomarks Stop +\DefineExternalItem:CsToIdx file:csindex + embedded:yes + begingroup tt char busje title endgroup + nobreak Spaces:1.5 Page Spaces:2.5 Stop + +\topskip20pt +\OptionsMacro:PageDims=width:page=15cm height:page=23cm Stop +\DefinePageGrid:LeftPage macro:PageDims + band:start block:start PointSize:9 Style:italic + FirstPlaced:ChapterCounter Spaces:2 stickout:left + FirstPlaced:ChapterTitle band:stop + textband:start text textband:stop + band:invisible block:start PointSize:9 Style:bold + PageCounter Spaces:2 stickout:left band:stop + NextPageGrid:RightPage Stop +\DefinePageGrid:RightPage macro:PageDims + band:start fillup PointSize:9 Style:italic + LastPlaced:SectionTitle + block:start Spaces:2 LastPlaced:ChapterCounter . + LastPlaced:SectionCounter stickout:right + band:stop + textband:start text textband:stop + band:invisible fillup + block:start PointSize:9 Style:bold Spaces:2 + PageCounter stickout:right band:stop + NextPageGrid:LeftPage Stop +\DefinePageGrid:EmptyPage macro:PageDims + textband:start text textband:stop + NextPageGrid:LeftPage Stop + +\AdaptiveCounter:LastInPage \CounterRepresentation:LastInPage=i +\AdaptiveCounter:LastRegPage \CounterRepresentation:LastRegPage=1 +%\SetCounter:LastInPage=PageValue -- at the end of prelim.tex +%\SetCounter:LastRegPage=PageValue -- at the end of manual.tex + +\endinput + +% 92/11/05 stretch added +% 92/11/18 adaptive label width +% 92/11/19 adaptive last page \ No newline at end of file diff --git a/macros/plain/formats/lollipop/doc/manual/opt.tex b/macros/plain/formats/lollipop/doc/manual/opt.tex new file mode 100644 index 0000000000..1d0b5d7959 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/opt.tex @@ -0,0 +1,408 @@ +% opt.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter Options + +This chapter discusses the various options that are common to all +\Lollipop\ constructs. + +\Section Titles + +Any construct can have a title, although of course it is most useful +for headings. +A construct has a title if the option \refopt{title} appears. +Example: +\Ver> +\DefineHeading:Section [...] + Style:bold title + [...] Stop<Rev + +will define a \cs{Section} macro that has a title. +The macro is then used as +\Ver> +\Section The title of this section + +Some text in this section.<Rev +that is, the title is delimited by an empty line. + +The title is actually available as a macro \refcs{FooTitle}, so that you +can write a macro, for instance +\Ver> +\def\ComplicatedTitle{ .. \hrule ... + \vrule ... \vbox \bgroup ... + \FooTitle ... + }<Rev +and use this macro instead of the \opt{title} option +\Ver>\DefineBar:Foo ... + ComplicatedTitle + ... Stop<Rev +However, since the option \opt{title} now doesn't appear anymore, it +becomes necessary to specify explicitly that there is a title. +This can be done with the \refopt{HasTitle} option. For instance, +you define +\Ver>\DefineBar:Foo ... + HasTitle + ComplicatedTitle + ... Stop<Rev +where \cs{ComplicatedTitle} is a macro that formats the title. + +\SubSection Short titles + +The option \opt{HasTitle} can have a parameter \n{short}, denoting that +the title is not delimited by an empty line (or \cs{par}) but by the +line end. For an example see section~\ref[sec:address]. + +\Section[sec:opt:counter] Counters + +There are three ways for Lollipop to figure out that a generic +construct has a counter. First of all, in +\Ver>\DefineFoo:Bar [...] + BarCounter [...]<Rev +the \cs{BarCounter} will be defined automatically. + +Additionally there is the option \refopt{counter}, which can be used +to declare the representation of the option, for instance +\opt{counter:i} allocated a counter that is printed in lowercase roman +numerals. For the available representations, +see~\ref[sec:counter:repr]. + +Finally, if the counter is only used in a macro, the +option \refopt{HasCounter} will cause the counter to be created anyhow. +This is analogous to the \opt{HasTitle} option. + +\SubSection Counter synonyms + +Every once in a while you may want different constructs to use the same +counter. For instance, if your book has definitions, theorems, lemmas, +corollaries and notations, it may confuse the reader if they all have +their own counter. The numbering would seem to jump all over the place. + +A `counter synonym' can be declared in \Lollipop\ by a slight abuse of +the \opt{counter} option. +\Example +\DefineTextBlock:Theorem counter:1 begingroup Style:bold + literal:Theorem Spaces:1 TheoremCounter Spaces:2 endgroup + text Stop +\DefineTextBlock:Corollary counter:Theorem begingroup Style:italic + literal:Corollary Spaces:1 CorollaryCounter Spaces:2 endgroup + text Stop +\DefineTextBlock:Definition counter:Theorem begingroup Style:roman + literal:Definition Spaces:1 DefinitionCounter Spaces:2 endgroup + text Stop +\Definition We define a {\it Foo} to be an arbitrary object\> +\Theorem Foos have arbitrary properties\> +\Corollary Foos are extremely valuable\> +\Corollary Foos are extremely worthless\> +\Theorem Foos don't exist\> +\ExampleStop + +You can only declare a counter to be synonym for something that has +already been created. In the above example you cannot define the +\cs{Theorem} after the \cs{Corollary}. + +\ImpNote +At the start of defining the construct, \cs{BarCounter} is defined to +be an option: +\Ver>\add@generic@default{\has@counterno + \def\counter@repr{1} + \csarg\def{\gen@option@name{\@name Counter}}{% + \@add@toks{\@name Counter}\global\has@counteryes}}<Rev + +Then, +\Ver>\add@generic@stop@default{\ifhas@counter + \xp\expandafter\xp\install@counter + \xp\counter@repr\@space\fi}<Rev + + +The counter is stepped, and the new value is stored in a mark item, +in \cs{outer@start@commands}: + +\Ver> + \ifhas@counter + \nxp\StepCounter:\expandafter\@name\@space + % This sets the \current@label by default + \ifhas@marks \edef\nxp\cs@e + {\nxp\nxp\nxp\refresh@mark@item + {\@name Counter}{\CSname{\@name Counter}}}% + \nxp\cs@e + \fi + \fi<Rev +\ImpNoteStop + +\Section Chunks of text + +Especially in headings, short chunks of text may need a special +treatment. For instance, the number may have to be filled to a certain +width, or a line may have to be drawn of the exact length of the +title. Lollipop have various general options (so they can also be used +in other contexts than headings) for handling pieces of text. + +\SubSection[sec:opt:block] The \opt{block} option\label[opt:block] + +The \refopt{block} option takes up a piece of text and fits it on one +line. It can measure the text, or set the size. Also there are a number +of ways of placing a block. + +Basic usage: +\Ver> block:start [...] block:stop<Rev +This takes the enclosed text, and reproduces it. This is mostly +interesting in combination with \opt{textcolumn}, +see~\ref[sec:opt:textcolumn]. +\Ver> block:hang [...] block:stop<Rev +The resulting block is dropped until its top touches the baseline. +For uniformity of appearance, the resulting width of the block can be +specified: +\Ver> block:start [...] fillupto:20pt<Rev +The name of a \cs{Distance} parameter can be used here. + +\Example +\DefineHeading:TestHeading + line:start block:hang PointSize:8 SetFont + TestHeadingCounter fillupto:20pt + block:hang PointSize:14 SetFont title block:stop + line:stop Stop +\TestHeading Top Aligning the Title + +\endExample + +The block is usually in between the margins of the text, but it can be +made to stick out into the margin, by closing it with the option +\refopt{stickout}. For the left margin this done as + \Ver> block:start [...] stickout:left<Rev +and for the right margin + \Ver> block:start [...] stickout:right<Rev +The size of the box can be specified, for instance as + \Ver> block:start [...] stickout:left=20pt<Rev +For a left box the material in it is pushed to the left edge, for a +right sticking box it is shifted to the right. + +\SubSection[sec:blockwidth] Block Measuring + +All blocks are immediately measured when they are placed. This makes it +possible for instance to underline a title exactly. After a block has +been placed, its width is available as \refcs{BlockWidth}. + \Example +\def\rulespecs{height 1pt width \BlockWidth\relax} +\DefineHeading:TestHeading Style:bold + line:start block:start TestHeadingCounter . Spaces:2 stickout:left + block:start title block:stop line:stop + vwhite:2pt hrule rulespecs vwhite:10pt Stop +\TestHeading The Title Is Underlined + +The text follows. +\ExampleStop +Observe how a control sequence \cs{rulespecs} is used to sneak the +height and width of the rule into the definition. This is necessary +because control sequences are not allowed in a construct definition. + +\SubSection[sec:opt:line] The \opt{line} option + +The option \refopt{line} is used to create a single strip of text that +fits exactly in between the margins of the page. Most of the time, titles +will be in a line. + +\Example +\DefineHeading:TestHeading + line:start block:start TestHeadingCounter Spaces:1.5 stickout:left + title line:stop Stop +\TestHeading A Title + +\endExample + +Another example was above. Here is another use of a line: + +\Example +\DefineHeading:TestHeading + line:start TestHeadingCounter fillup title line:stop Stop +\TestHeading The title + +\endExample + +\SubSection[sec:opt:textcolumn] The \opt{textcolumn} option + +In the examples above all titles fit on one line comfortably. If this +is not the case, the title can be put in a \refopt{textcolumn} which can +span several lines. + +\Example +\DefineHeading:TestHeading + line:start block:start TestHeadingCounter Spaces:2 block:stop + textcolumn:topline title textcolumn:stop + line:stop Stop +\TestHeading A very very very very very very very very very very very +very very very very very very very very very very very very very +very very very very very very very very long title + +\endExample + +This option is mostly interesting in combination with others such as +\opt{block} and \opt{line}. As is apparent from the above example: a +block placed in the same line as a text column will detract from the +latter's width. + +(In fact it is the other way around: \Lollipop\ sets +the line with a text column of width zero to determine the remaining +space. Then the line is set again. This may give problems if you +manipulate parameters inside the line, because the line is in effect +typeset twice. Also make sure not to have other \cs{vbox}-es in the +line than the text column.) + +\SubSection[sec:opt:traps] Traps + +It is a bad idea to have material in headings and such that is not +inside a block, textcolumn, or line. For instance: + +\Example +\DefineHeading:TestHeading + block:start TestHeadingCounter Spaces:2 block:stop + title Stop +\TestHeading Where does the title go? + +\endExample + +\Section[sec:opt:label] Labels + +References to any counter will always be correct, no matter if that +counter has changed after retypesetting the document, if symbolic +references are used. Referencing is explained in detail in +chapter~\ref[chap:referencing]. + +The way a symbolic reference is formatted can be altered from the +default (just give the counter) by using the \refopt{label} option. +\Ver>\DefineHeading:TestSection + line:start Style:italic TestSectionCounter Spaces:2 title line:stop + label:start ( TestSectionCounter ) label:stop Stop<Rev +See further section~\ref[sec:shape:reference]. + + +\Section[sec:opt:penalties] Break before / after + +The options \refopt{breakbefore} and \refopt{breakafter} control how +eager \TeX\ will be to break the page before or after a construct. These +options take one value, a so-called `penalty' value, meaning that the +higher the value you specify, the higher the penalty is, and +therefore the less likely it is that the page will be broken there. + +Numerical values are typically in the tens or hundreds; any value +of \n{10$\,$000} or more means that there will never be a break at +that point; a value of \n{-10$\,$000} or less means a guaranteed +break. If you don't want to remember these rules, values of \n{yes} +and \n{no} mean a guaranteed break, and no break respectively. + +\WizNote +A further exceptional value is \n{breakbefore/after:0}, this will +cause no penalty to be placed. The reason for this is highly \TeX +nical. +\> + +\Section[sec:opt:indent] Indentation + +The option \refopt{indentafter} controls the behaviour of the first +paragraph after a generic construct., \refopt{indentinside}, +\refopt{indentfirst}. + +\Section Rules + +There is an option \refopt{hrule}. You should not write +\Ver>\def\rulemacro{\hrule height [...] } +\DefineHeading [...] rulemacro [...] Stop<Rev +because then \Lollipop\ cannot prevent page breaks around the rule. +Instead write +\Ver>\def\rulespecs{ height [...] } +\DefineHeading [...] hrule rulespecs [...] Stop<Rev +so that the option \opt{hrule} is used. See +section~\ref[sec:blockwidth] for an example. + +\Section Embedded constructs + +Most generic constructs will be vertically separated from the +surrounding text. However, in rare cases (and for unusual applications) +it be desired to have a construct that is part of a paragraph. For this +the option \refopt{embedded} exists. + +This option has the following values. +\Ver> embedded:no<Rev +This is the default. +\Ver> embedded:left<Rev +The construct continues an already started paragraph, but after the +construct a vertical break follows. +\Ver> embedded:right<Rev +After the construct a paragraph can continue, but the construct is +separated vertically from preceding text. +\Ver> embedded:yes<Rev +The construct is both left and right embedded. + +Embedding a construct has an interesting application to generating +indexes. (See chapter~\ref[chap:external-files] for general information +about external files.) This can be done by having embedded headings +that write their title to the index file. + +\Example +\DefineExternalFile:tIndex=tix +\DefineHeading:NewWord embedded:yes + block:start Style:bold title block:stop + external:tIndex title external:stop Stop +\def\introword#1{\NewWord #1\par} +In this sentence two \introword{flubrious} words are +\introword{stinselsed}. +\ExampleStop + +Cute, ain't it? + +A word of warning though. Headings and such generate \TeX\ `marks' +which take up main memory. You only need these if you are going +to be referring to that object with \cs{LastPlaced} or such; see +section~\ref[sec:head/foot]. Embedded headings used as above +usually don't need these marks, so you can prevent \TeX\ overflow by +putting the option \opt{nomarks} in their definition. + +\Section Obscure options + +\SubSection Arguments + +In case you want to interface to other macro packages, you may want to +let a construct generate a call to the other package. For this, the +\Lollipop\ macro should be able to produce sequences such as +\ver>\begin{itemize}>. The problem here is the braces. The option +\refcs{arg} produces a braced expression. + +For instance +\Ver>\DefineTextBlock:LaTeXlist begin arg:{itemize} text + end arg:{itemize} Stop<Rev +makes it possible to use call \LaTeX\ macros from \Lollipop. + +\SubSection[sec:implicit:close] Implicit closing + +The control sequence \refcs{>} closes the current group, and \refcs{>]} +closes all currently open groups. Every once in a while this is too +drastic. Hence there is an option \refopt{noimplicitclose} that can be +used to prevent a construct from being closed implicitly. Using \cs{>]} +inside such a construct will close all enclosed constructs. + +See the definition of \cs{EExample} in this manual for an example. + +\Section[sec:opt:test] Testing + +There is an option \opt{test}. + +\endinput + +% 92/11/10 \BlockWidth discussed in 'block' section +% 92/11/15 counter:othercounter discussed +% 92/11/21 option 'arg' + diff --git a/macros/plain/formats/lollipop/doc/manual/out.tex b/macros/plain/formats/lollipop/doc/manual/out.tex new file mode 100644 index 0000000000..23dab4395d --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/out.tex @@ -0,0 +1,349 @@ +% out.tex copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter[chap:output] Output + +Every page is formatted according to a `page grid' consisting of +three elements: + +\Enumerate \item the page head, this is everything that's over the +running text; +\item the page foot, this is everything that is below the running +text; +\item the running text. \TeX\ acts as if text is on a long scroll, +and the running text part of a page is simply a portion cut off from +this scroll.\> +Either or both of the head and foot of the page can be empty, but +usually one of the two contains a page number. + +\OutExample +\OptionsMacro:ManPageSize=raggedbottom:10pt topskip:12pt + height:page=5cm width:page=6cm Stop +\DefinePageGrid:TestPage macro:ManPageSize + pagerule textband:start text textband:stop + pagerule band:start PageCounter band:stop Stop +\TestPage +This page does not contain much special.\EjectPage +This page is hardly better. +\OutExampleStop + +This example illustrates how you first define a page grid by +\refcs{DefinePageGrid}, and then activate it by calling its name. That +last action is in fact not necessary: each definition of a page grid +automatically installs that grid as the current one. + +\Section Page dimensions + +Most of the time it is easiest to specify the total height of a page, +that is, including head and bottom, but sometimes it is more +convenient to specify the height of the text, and let the head and +foot simply go over and under that. + +In the first case you can give the command \refcs{Height} with +two parameters: +\Ver>\Height:Page=23.5cm<Rev or inside a page grid definition the +option \refopt{height}\n{:page=...}. + +In the second case you can give the command +\Ver>\Height:Text=19.55cm<Rev or inside a page grid definition the +option \opt{height:text=...}. + +In page grid definitions there is the additional option +\opt{height:lines=23}. + +The \cs{Height} command cannot be used in a page grid definition. + +\Section Positioning the page on the paper + +If your printer driver is up to specs (and you have not done any +creative macro writing) it should have the upper left corner of the +text landing at $2.54$cm from the top and left side of the paper. +If the result is not to your liking, you can shift the page by +\Ver>\Distance:hoffset= ... +\Distance:voffset= ...<Rev +These offset parameters are zero ordinarily, and they indicate the +extra shift added to the customary $2.54$cm in horizontal and +vertical direction. + +\Section Page head, foot, text + +Somewhere in the page grid the option \refopt{text} has to appear. This +option has to be inside a \refopt{textband}: +\Ver> textband:start text textband:stop<Rev +This is not a case of overspecification, because inside a textband +the text option can appear more than once. In this manner a multicolumn +page grid can be specified. + +\def\sometext{Just a bit of words, words. } +\edef\sometext{\sometext\sometext\sometext} +\edef\sometext{\sometext\sometext\sometext\sometext} +\OutExample +\DefinePageGrid:TestPage macro:ManPageSize + pagerule textband:start text hwhite:10pt text textband:stop + pagerule band:start PageCounter band:stop Stop +\FlushRight:no \sometext +\OutExampleStop + +Next to the option \opt{textband} there is \refopt{band}. +Both are ways of +creating a page wide band. The option \opt{band} is used for all +material that is not a text column, for instance footers, as in the +above examples. + +The option \opt{band} can have one unusual parameter: \n{invisible}. +This makes the band act as if it has zero height or width, depending +on whether it is below or above the text, respectively. + +\OutExample +\DefinePageGrid:TestPage macro:ManPageSize + pagerule textband:start text hwhite:10pt text textband:stop + pagerule + band:invisible block:start Style:bold PageCounter Spaces:2 + stickout:left band:stop Stop +\FlushRight:no \sometext +\OutExampleStop + +\SubSection More about text bands + +The text band is that part of the page that has the text in it. You can +also put other material in it, such as rules or white space. + +\OutExample +\DefinePageGrid:TestPage macro:ManPageSize pagerule + textband:start vrule white:3pt text white:3pt vrule textband:stop + pagerule band:start white:fillup PageCounter band:stop Stop +\TestPage This page contains some text, a bit more text, +and even more than that. In all still just a few lines.\EjectPage +This page contains more text, still more text, and still more. +\OutExampleStop + +In the previous example the width of the page was specified. +If we only give the width of the text, the page width is calculated +dynamically. + +\OutExample +\DefinePageGrid:TestPage macro:ManPageSize + textband:start vrule white:3pt text white:3pt vrule textband:stop + pagerule band:start white:fillup PageCounter band:stop Stop +\noindent This page contains some text, a bit more text, +and even more than that. In all still just a few lines.\EjectPage +This page contains more text, still more text, and still more. +\OutExampleStop + +Note how the \refopt{pagerule} and \opt{band} objects stretch +with the page. + + +\SubSection Topskip + +In between the page head and the text is some white space, the +topskip, with special properties. The topskip is defined from the +bottom of the head to the bottom of the first line of the text. If +the height of this first line varies from page to page the topskip +acts as a buffer, keeping the bottom-to-bottom distance constant. + +Topskip is set by the option \refopt{topskip}, for example +\Ver> topskip:25pt<Rev +but if this option is left out, the page grid uses the value of +\cs{topskip} that was current at the time of the definition. +Unfortunately there is no way to change this value after the definition. + +\Section[sec:page-counter] The page number + +The page number behaves as if it had been defined by +\Ver>\NewCounter:Page +\CounterRepresentation:Page=1<Rev +Thus you can use any command from section~\ref[sec:counters] on it. +For instance, you can have page numbers in roman numerals by +specifying +\Ver>\CounterRepresentation:Page=I<Rev + +The page number is typically used as the option \refopt{PageCounter}, +but for some applications the corresponding command \refcs{PageCounter} +can be used. + +If you process a \Lollipop\ document you see that everytime a page is +generated, an item such as \ver>[8,7]> is written on the log file or the +screen. Most of the time the two numbers will be the same, as in +\ver>[8,8]>, but they will differ if you have tinkered with the page +number. The first number is the `sheet counter': it counts how many +pages you have produced so far. The second number is the value of +\cs{PageCounter} for the page that was written out. Take a look at the +log file for this manual for an example. + +\Section[sec:page:tests] Page tests + +The page grid definition can set/query several properties of the +page. The following tests have been provided (see +section~\ref[sec:tests] for tests): +\Ver>\DefineTest:IsRightPage +\DefineTest:IsLeftPage +\DefineTest:FirstPage +\DefineTest:LastPage +\DefineTest:FlushBottom<Rev +\Itemize\item The tests for left/right pages are done by + testing whether the page number of odd or even. +\item The first/last page tests can be used either for the whole +document, or for a file that's loaded as an \cs{InputFile}. +\item The first page test doesn't work at present. +\> + +\OutExample +\DefinePageGrid:TestPage macro:ManPageSize + pagerule textband:start text textband:stop pagerule + band:start ifIsLeftPage else hwhite:fillup fi PageCounter + band:stop Stop \SetCounter:Page=12 +This is a left hand page. \EjectPage +This page is on the right side of a spread. +\OutExampleStop + +\Section[sec:head/foot] Running heads / footers + +Above it was explained how pages can be given a head and foot part. +Quite often you want changing information in such parts, for instance +the head of a left page often contains the number or title of section +that was current when that page started; the head of a right page +often contains the number or title of the section that was current +when that page ended. + +In \Lollipop\ all constructs that have a title or a counter can have +that information referenced in page grids. +\Description\item \refcs{FirstPlaced}:SectionTitle +Take the title of the first section that started on this page, or +the last one that started before this page if no section started on +this page.\item \refcs{LastPlaced}:SubSectionCounter +Take the title of the last subsection that started on this page, or +the last one that started before this page if no subsection started +on this pgae.\item \refcs{PreviousPlaced}:SectionCounter +Take the counter value of the last section that started before this +page.\> + +\OutExample +\DefinePageGrid:TestPage macro:ManPageSize + pagerule textband:start text textband:stop pagerule + band:start Style:italic FirstPlaced:HeadTitle + white:fillup PageCounter band:stop Stop +\DefineHeading:TestHeading Style:bold + line:start TestHeadingCounter Spaces:2 title line:stop Stop +\TestHeading A first section\par And some text.\EjectPage +This page contains text. \TestHeading A second Section\par +And more text. +\OutExampleStop + +The commands \cs{FirstPlaced} and \cs{PreviousPlaced} are typically +used on left pages; \cs{LastPlaced} is more common on right pages. +You can test on what sort of page you are; see +section~\ref[sec:page:tests]. + +\OutExample +\DefinePageGrid:TestPage macro:ManPageSize + pagerule textband:start text textband:stop pagerule + band:start Style:italic + ifIsLeftPage FirstPlaced:HeadTitle white:fillup fi + PageCounter + ifIsRightPage white:fillup LastPlaced:HeadTitle fi + band:stop Stop \SetCounter:Page=10 +\DefineHeading:TestHeading Style:bold + line:start TestHeadingCounter Spaces:2 title line:stop Stop +\TestHeading A first section\par And some text. +\TestHeading Second section\par More text.\EjectPage +\TestHeading Third section\par Is on the right page. +\TestHeading Fourth section\par Concludes this page. +\OutExampleStop + + +\Section Alternating page grids + +In \Lollipop\ it is very easy to switch page grids with the option +\refopt{NextPageGrid}: you simply specify + \Ver> NextPageGrid:otherpage<Rev as one of the options +in the definition. If no next grid is indicated, the same page grid keeps +being used continuously until another page grid is activated +explicitly. + +\OutExample +\DefinePageGrid:LTestPage macro:ManPageSize + pagerule textband:start text textband:stop pagerule + band:start Style:italic + PageCounter white:fillup FirstPlaced:HeadTitle + band:stop NextPageGrid:RTestPage Stop +\DefinePageGrid:RTestPage macro:ManPageSize + pagerule textband:start text textband:stop pagerule + band:start Style:italic + LastPlaced:HeadTitle white:fillup PageCounter + band:stop NextPageGrid:LTestPage Stop +\SetCounter:Page=42 +\DefineHeading:TestHeading Style:bold + line:start TestHeadingCounter Spaces:2 title line:stop Stop +\LTestPage +\TestHeading A first section\par And some text. +\TestHeading Second section\par More text.\EjectPage +\TestHeading Third section\par Is on the right page. +\TestHeading Fourth section\par Concludes this page. +\OutExampleStop + +Another very useful application of this mechanism is to have a +special definition for the opening page of a chapter. This manual uses a +one-shot page grid \cs{EmptyPage} to remove the header and footer on the +title page. It installs \cs{LeftPage} as the next grid. + +\Section Additional User Control + +\SubSection Elementary manipulation + +There are a few commands for simple page manipulation: +\Description\item \refcs{EjectPage} +The current page is filled up with white space, and +a new page is started.\item \refcs{ToRecto} +As \cs{EjectPage} but if the next page is a left page (meaning +that the page number is even) then the page number is increased by +one, so that the next page is a right hand page.\item \refcs{ToVerso} +As \cs{ToRecto}, except that the next page is a left page. +\> + +Additionally, \refcs{NoPages} lets +all formatting and updating of values be performed, but +no pages are written to the dvi file; +\refcs{PagesOut} +reverts the effect of previous command. Note that \cs{NoPages} does not +incur any savings in time: full processing of the document is performed. + +When a page is finished it rests in box \refcs{WholePage}. Then a call is +made to \refcs{CurrentShipout}, which is by default +\ver>\shipout\box\WholePage>. However, you are free to define it +otherwise. If your \cs{CurrentShipout} does not actually ship out pages, +you may want to set \refcs{CountSheetsno} to prevent the effective page +counter from being updated. + +Redefining \cs{CurrentShipout} usually goes together with +\refcs{SuspendOutput} and \refcs{ResumeOutput}. These commands +temporarily save the page number and the current state of the page, +including the current definition of \cs{CurrentOutput}. (This is necessary +because a number of parameters concerned are changed by global +assignments.) See the definition of \cs{OutputExample} in the appendix of +this manual for an elaborate example. + +If you want to see te output routines in action, specify +\Ver>\Trace:out<Rev In addition \Ver>\Trace:mark<Rev tells you what +information is being saved for running head and foot lines. + +\endinput + +% 2014/04/12 Made `output' capitalized. +% 92/11/20 Left right output examples +% 93/01/17 New description of \CurrentShipout diff --git a/macros/plain/formats/lollipop/doc/manual/prelim.tex b/macros/plain/formats/lollipop/doc/manual/prelim.tex new file mode 100644 index 0000000000..d0af6d3e02 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/prelim.tex @@ -0,0 +1,327 @@ +% prelim.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter[chap:prelim] Preliminaries + +\Section What is Lollipop? + +Lollipop is `\TeX\ made easy'. Lollipop is a macro package +that functions as a toolbox for writing \TeX\ macros. It was my +intention to make macro writing so easy that implementing a fully new +layout in \TeX\ would become a matter of less than an hour for an +average document, and that it would be a task that could be +accomplished by someone with only a very basic training in \TeX\ +programming. + +Lollipop is an attempt to make structured text formatting available +for environments where previously only wysiwyg packages could be used +because adapting the layout is so much more easy with them than with +traditional \TeX\ macro packages. + +\Section But is it compatible? + +Lollipop, like \LaTeX, is not compatible with plain \TeX. I~don't +consider this a real problem. Most plain \TeX\ commands will work in +\Lollipop\ with the exception of anything output routine related. +(See also below.) + +\Lollipop\ is also not compatible with \LaTeX, although it has a lot +of the same functionality. There are two reasons why \Lollipop\ still +has a reason for existing, even though \LaTeX\ is used pretty much +all over the scientific world. + +For one, Lollipop is targeted in part +to different users than the typical plain \TeX\ or +\LaTeX\ user. For another, I~have a vain hope that I~can capture some +of the \LaTeX\ market share. Since developing styles in \Lollipop\ is +so much more easier than in \LaTeX, I~may stand a fighting chance. + +\SubSection \Lollipop\ and plain \TeX + +Having said the above, I'll conceded that \Lollipop\ is more +compatible with plain \TeX\ than with \LaTeX. You can use quite some +plain \TeX\ commands in \Lollipop. However, stay away from the +following:\Description\item \cs{everypar} +This one is heavily used by \Lollipop. You may use \cs{EveryParagraph} +instead, which functions pretty much like \cs{everypar}; see +section~\ref[sec:everypar].\item \cs{everymath} +This one is heavily used by \Lollipop. You may use \cs{EveryMath} +instead, which functions pretty much like \cs{everymath}; see +section~\ref[sec:everymath].\item \cs{everydisplay} +This one is heavily used by \Lollipop. You may use \cs{EveryDisplay} +instead, which functions pretty much like \cs{everydisplay}; see +section~\ref[sec:everydisplay].\item \cs{output} +Page output is done so very differently from plain \TeX\ that all +commands pertaining to page numbers and head/footlines have been +eradicated. (Well, \cs{pageno} still gives the page number.) See +chapter~\ref[chap:output]. + \> + +The current version of \Lollipop\ is based on the plain \TeX\ file +that comes with \TeX\ version~3.141592653. + +\SubSection \Lollipop\ and \TeX\ programming + +The tools in \Lollipop\ allow you to program in a simple manner quite +complicated macros. Still you may want to have some knowledge of +ordinary \TeX\ macro programming. If you are just starting in \TeX\ +you can pick up the basics from the book by Seroul and +Levy~\bibref[SeLe:book], +and after that there is the book by +the original author of \TeX~\bibref[Kn:book] and my own \TeX\ +reference guide~\bibref[E:book]. + + \Section How to Use \Lollipop + +The following files comprise the Lollipop format: +\Ver> + lollipop-define.tex lollipop-document.tex + lollipop-float.tex lollipop-fontdefs.tex + lollipop-fonts.tex lollipop-heading.tex + lollipop-lists.tex lollipop-output.tex + lollipop-plain.tex lollipop-text.tex + lollipop-tools.tex lollipop.tex<Rev + + +To process a file, say \file{test.tex}, with +Lollipop you then type: + +\Ver> +> lollipop test.tex <Rev + +to get the dvi output. + + +\Section[sec:style-dump] Processing a Lollipop file + +Files that you make to be processed with Lollipop contain of course +the input text, but they also have to contain the design macros that +determine the layout. There are two possibilities for these design +macros: + +\Itemize +\item You can simply put them in the same file, either in the +beginning or wherever they are first needed, or +\item You can put the layout definition in a separate file and call this +definition file in your main file. For instance, you can put the layout definition of a +book in a file \file{bookstyle.tex}, and then call this definition file in your +main Lollipop file by putting + +\Ver> +\InputLollipop:bookstyle.tex <Rev + +somewhere in your main Lollipop file. + + + +If you have used \TeX\ before, you will notice that the page numbers +get reported slightly differently from the usual way. See +section~\ref[sec:page-counter] for the explanation. + +\Section The errors of \Lollipop / known bugs + +Since \Lollipop\ is an order of magnitude more powerful +(and hence complicated) than formats such as \LaTeX, its error +messages can also be an order of magnitude more cryptic (see +section~\ref[sec:error-msg] for the possible origin of some of the +more obscure error messages). + +Fortunately, \Lollipop\ is also quite a +bit better than existing formats at catching potential errors. Typos +in a style definition will usually lead to warning messages, and also +during run time \Lollipop\ is able to track down ommisions. + +In addition, you can switch on various trace modes to get more +detailed information about \Lollipop's thought processes. See +chapter~\ref[chap:tracing]. + +These are the known bugs in \Lollipop\ at the moment. + +\Enumerate\item Local references have been insufficiently tested, +and the code definitely is buggy. +\item The `firstpage' test in the page grids does not work. +\item The table of contents example is slightly wrong. +\item Titles get written to the aux file with double spaces. +This shouldn't cause any problem, but it has to be fixed. +\item Rules in page grids get white space around them. +\item External items shouldn't declare \cs{FooTitle} or +\cs{FooCounter}. +\item \cs{ToExternalFile} doesn't work. +\> + + +If you find any other issues, or if you have any fixes/workarounds +for any existing issues, then please post them on GitHub. + +\Section About this manual + +This manual consists of a main file \file{lollipop-manual.tex}, and the +following input files: +\Ver> +titlepag.tex prelim.tex struct.tex head.tex list.tex +out.tex extern.tex opt.tex comm.tex trace.tex appendix.tex<Rev +and the style definition file \file{mandefs.tex}. + +In addition, you need \file{comment.tex} which is used to format this +manual, and \file{btxmac.tex} for the Bib\TeX\ interface, but these +are not really a part of \Lollipop. + +If you format this manual (which you'll have to do three times +to get the page numbering and the table of contents straight) you'll +notice something strange. The file \file{example.tex} is read in +many, many times. This is because this manual formats its examples +along the way, first writing them out, and then reading them in to +show both their code and their output. This way it is guaranteed that +the examples in the manual will always work. + +As a result of formatting this manual you will wind up with, apart +from the usual \file{pdf} and \file{log} file, with \file{lollipop-manual} files +with extensions \file{aux}, \file{toc}, and \file{imp}; +\file{oix} and \file{cix} for indexes of options and commands, +and +\file{tct}, file{tix} which are for the examples. For the +bibliography there are the Bib\TeX\ input file \file{lollipop-manual.bib} and +output file \file{lollipop-manual.bbl}. + +This manual needs quite some resources: here's what \TeX\ told me +it needed. +\Ver>Here is how much of TeX's memory you used: + 1194 strings out of 496579 + 16173 string characters out of 6202690 + 72655 words of memory out of 5000000 + 3270 multiletter control sequences out of 15000+600000 + 11241 words of font info for 40 fonts, out of 8000000 for 9000 + 19 hyphenation exceptions out of 8191 + 24i,4n,24p,187b,562s stack positions out of 5000i,500n,10000p,200000b,80000s<Rev + + +Because of all the examples this manual takes quite some time to +process. A~factor of four over the time for a regular document of +similar length should be expected. Ordinary Lollipop documents will +proceed far faster. + +\Section The most boring section in this manual + +There are a few things about \Lollipop\ that I~want to be clear about. + +\SubSection I am going to hurt you and I am not sorry + +In the secret handbook for the software industry it says that the +final test phase of a product consists of putting it in stores and +having innocent suckers pay good money for it. (You guessed it, this +is the disclaimer section.) So let me just say that +\Lollipop\ is probably good for nothing, at least, I~don't claim it +is. And if you hurt yourself by using it, don't blame me. I~warned +you. + +\SubSection Get a \Lollipop, give one away + +\Lollipop\ is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +The easiest way to get the current copy of \Lollipop\ is to use +a more recent \TeX{} distribution (\TeX Live or Mik\TeX). + +\SubSection The status of \Lollipop + +\Lollipop\ is still under development. Although I~will try not to +make any drastic changes in the user interface (this says nothing +about the internals!) I~really cannot guarantee anything. +However, I~do listen to complaints and suggestions. + +If you have suggestions or complaints about the +useability of \Lollipop\ or the implementation, feel free to contact +me at \n{persian-tex@tug.org} on the Internet. + +\SubSection[sec:wish:list] The wish list + +\Lollipop\ is not quite perfect. Here's a list of things that I~am +going to be adding in the near future. If you want to add items to +this list, just open a ticket on the tickets. + +\Enumerate\item Raggedbottom should really, really be added. Soon! + +\item Capitalization and initial capping of titles. If a +title appears in mixed case, it should be possible to have it in all +uppercase in running heads. Some code has been disabled now. + +\item A better multi-column mode. + +\item Interface to Bib\TeX\ seems to largely in place; what happens +if you don't load btxmac? + +\item Inserts, in particular footnotes. At the moment floating +figures are entirely lacking. (As a matter of fact, the plain \TeX\ +macros are availble, but I'm not telling that.) + +\item A `nomarks' option to prevent wasting two token lists. +Maybe other recourse saving optio for the expert designer? + +\item More sophisticated white space right before and after +page breaks. (Use at least so and so much.) + +\item Dynamic topskip. + +\item Sup­port for RTL lan­guages (such as Per­sian). + + +{\PopIndentLevel\Indent:no The following points are debatable: +maybe I~should just steal a few components from \LaTeX. Maybe this +sort of stuff does not belong in \Lollipop.\par} + +\item A tabular mode. Personally I~always felt \cs{halign} to be more +than sufficient, but some people seem to think otherwise. + +\item Maths constructs. Some things in the \cs{eqalign} vein would be +nice. + +\> + +\SubSection A bit of history + +The \Lollipop\ format was begun in late 1989 to typeset Victor Eijkhout's Ph.D. +thesis, `{\Style:italic Vectorizable and Parallelizable +Preconditioners for the Conjugate Gradient Method}'. At that time +Victor~was using \TeX\ on an Atari 1040ST. +Loading the style definition for the thesis took about two minutes. +\Lollipop\ was heavily augmented in late 1991 to typeset his book +`{\Style:italic \TeX\ by Topic}', for which he~used Sun~3 and Sun~4 +computers. Writing this manual brought \Lollipop\ to its version 0.96; the first public release (version~0.9) was announced on the +internet in October 1992. + +Between 1992 and 2014, Lollipop was unmaintained and Vafa Khalighi took over the +development of Lollipop in April 2014. + +The name `\n{Lollipop}' refers to a quote by Alan +Perlis~\bibref[Pe:epigrams], quoted on page 365 of the \TeX +book~\bibref[Kn:book]. In a way it's rather pretentious. The philosophy +of the \n{Lollipop} format is described~\bibref[EL:Cork,E:Portland]. + +\endinput + +% 2014/04/13 Added some notes about \EveryMath, +% and \EveryDisplay. Also \EveryPar changed to +% \EveryParagraph +% 2014/04/12 Added note about xelollipop format +% 2014/04/11 Updated the manual +% 92/10/22 historical remark about name added +% 92/11/03 section 'Lollipop and plain TeX' added; +% remarks about IniTeX in Textures +% 92/11/26 uses bibrefs diff --git a/macros/plain/formats/lollipop/doc/manual/struct.tex b/macros/plain/formats/lollipop/doc/manual/struct.tex new file mode 100644 index 0000000000..7590b5a365 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/struct.tex @@ -0,0 +1,264 @@ +% struct.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter The structure of Lollipop + +Lollipop provides tools for realizing the style or layout of a +document. Some of these tools are macros ready to be used by the end +user; they concern for instance selection of fonts. +Others, the `generic constructs', are for the style designer so that +she can use them to program the macros for the user. + +\Section[sec:doc-start-stop] Lollipop Files + +Any Lollipop document has to have a \cs{Start} and \cs{Stop} command. +Before the \cs{Start} there can be style definition commands, but no +text. For a number of reasons it is advisable to put as much of the +style definition before the \cs{Start} command as possible. You can +do that easily by loading the style as an input file, or by first +dumping it as a format (see section~\ref[sec:style-dump]). + +\ImpNote +Before the \cs{Start} command, \cs{everypar} contains an error +message. The start command installs the default value for +\cs{everypar}. +\ImpNoteStop + +Both the start and the stop file load the \file{.aux} auxiliary file. +None of this should concern you, really. Expert users who want to +have certain actions performed at the start of the document may want +to use \refcs{StartCommand} to specify what they wish done. See +section~\ref[sec:adapt-distance] for an example. + +\Section Generic Constructs + +\label[generic:construct]\label[option:macro] +There are five `generic constructs': headings, lists, text blocks, page +grids, and external items. For each construct type there is a defining +command, for instance \cs{DefineHeading} +which is followed a list of `options', terminated by the word `Stop'. + +Options (possibly with values) have to be separated by a +space or a line end; the keyword \opt{Stop} has to be followed by a +space or a line end. +Options may have zero, one or two values; if there are values, then +the first one is separated from the option by a colon, the second is +separated from the first by an equals sign. + +\Ver>\DefineFoo:Bar optiona optionb optionc:value + optiond:valuea=valueb optione + optionf Stop<Rev + + As a result of this definition, a command +\cs{Bar} is created. If the \con{Foo} construct was a \con{List} or +\con{TextBlock}, an additional command \cs{BarStop} is created. + +This command can then be used in the ordinary way, for instance +after \ver>\DefineHeading:Foo> you can type +\Ver>\Foo The title<Rev and after \ver>\DefineList:Foo> you can type +\Ver>\Foo +\item One item +\item And another +\FooStop<Rev + +\ImpNote +Actually, this `Stop' business can be customized for other languages. +The file \file{tools} has the following lines: +\Ver> +\def\stop@command@suffix{Stop} +\def\stop@command{\@command\stop@command@suffix}<Rev +\ImpNoteStop + +\Section Options + +Options are mostly used to specify how a construct will look. Some +options, for instance \opt{title}, indicate material that will appear +on the page. Other options are interpreted as commands, for instance +\opt{IndentAfter:yes} in the definition of a heading indicates that +the first paragrah after such a heading will indent. + +In addition to keywords that only exist as options, commands can +be used as options. Also, single characters are accepted as options. +For instance a definition of a subsection heading can contain: + +\Ver>\DefineHeading:SubSection + [...] + SectionCounter . SubSectionCounter + [...] Stop<Rev +(Here and later the \n{[...]} will denote arbitrary omitted text.) +This definition contains the commands \cs{SectionCounter} and +\cs{SubSectionCounter} and the \n{.} character. + +If a number of options appears together in a number of constructs it +is convenient to have an abbreviation for them. This can be done with the command +\refcs{OptionsMacro} as follows. The options that appear together are +given a common name + \Ver>\OptionsMacro:baz=optiona optionb:value optionc + Stop<Rev +(be sure to leave +no spaces around the equals sign) and this name is then used as + \Ver> macro:baz<Rev +in the option list wherever the options are needed. + +This is for +instance a good way of specifying identical white space around all +sorts of constructs without duplicating the typing each time. +However, it is only for your convenience: it doesn't save any \TeX\ +resources or processing time. + +\Section[sec:error-msg] Popular error messages. Not! + +Lollipop is a macro package on top of an existing program, \TeX. +Therefore it is inevitable that you will get \TeX\ error messages +every once in a while. Some of these may confuse you. + +Here are a few of the errors that I~keep making. + +\SubSection Missing \cs{endcsname} inserted + +If you forget the second parameter in a \cs{Distance} or +\cs{SetCounter} command, writing for instance + \Ver>\Distance:TheWidth<Rev +instead of \Ver>\Distance:TheWidth=15pt<Rev + \TeX\ will scan +forward, and it can easily bump into something that is highly +unexpected given the context. If this is a \cs{def} or \cs{Define...} +command, a `missing \cs{endcsname}' results. If a blank line follows +the incomplete declaration, the following section applies. + +\SubSection Paragraph ended before something was complete + +\TeX\ has found a blank line (or a~\cs{par} command) where this was +not expected. See for instance the previous section. + +\SubSection Missing number + +You have used something that you thought was the name of a control +sequence, but it wasn't. Example: +\Ver>\Distance:parskip=parundent<Rev +Since \cs{parundent} is undefined, \Lollipop\ thought you were +writing something like + \Ver>\Distance:parskip=5pt<Rev + +And yes, the message refers to `number' even though what is missing +is a distance. + +\ImpNote +\iSection Defining Generic Constructs + +The \cs{Define...} commands are not defined explicitly, instead they +are generated by a call such as +\Ver> \@GenericConstruct{Heading}<Rev +Full definition: +\Ver>\def\@GenericConstruct#1{<Rev +to be used as \ver>\@GenericConstruct{Foo}>; +\Ver> \append@to@list{@gencons}{\\#1;}<Rev +book keeping of existing generic constructs; +\Ver> \csarg\newtoks{#1@defaults} + \csn #1@defaults\ecs{}<Rev +default commands to be executed whenever +an instance of this construct +is defined; +\Ver> \csarg\def{add@#1@default}##1% + {\append@to@list{#1@defaults}{##1}}<Rev +the command \cs{add@Foo@default} +to add defaults for this construct; +\Ver> \Install@Noops{#1}<Rev +possibility to generate error msgs for the use of an option that is +not allowed for this type of construct; +\Ver> \csarg\def{Define#1}:##1 {<Rev +instances of this construct will be defined +by a statement like \ver>\DefineFoo:Bar>; +\Ver> \def\@name{##1}\def\@class{#1} + \Tmessage[def]{Defining a #1: ##1}<Rev +\ver>DefineFoo:Bar> leads to \cs{@name} begin \n{Bar}, +\cs{@class} being \n{Foo}; +\Ver> \the\generic@defaults + \csarg\the{#1@defaults}<Rev +unpack token lists of generic and specific default actions; +\Ver> \Get@Items}<Rev +start recursive processing of list of options. This ends the +definition of \cs{DefineFoo}; the definition of +\cs{@GenericConstruct} ends with +\Ver> \csarg\def{@#1Option}##1% + {\csarg\def{#1@##1}####1####2}<Rev +which defines the \cs{@FooOption} macro; see~\ref[imp:option]. +\Ver> }<Rev + +\iSection Items Processing + +Processing the list of items is recursive; at the end some concluding +actions have to be taken, mostly the actual definition of the +construct. + +First we have to filter out empty arguments, which can be caused by +the use of option macros (\ref[option:macro], \ref[imp:option:macro]). + +\Ver>\def\Get@Items#1 {\if\EmptyList{#1}\let\get@next@item\Get@Items + \else\def\get@next@item{\@Get@Items#1 }\fi + \get@next@item}<Rev + +Next, check if the argument is \opt{Stop} (defined by +\ver>\NewDummy{Stop}>, \ref[imp:new:dummy]), in which case you +have reached the end of a generic definition, and can start performing +the final rites. Otherwise, dissect this option item +and go on with the rest +of the options. +\Ver> +\def\@Get@Items#1 {\let\get@next@item=\Get@Items + \csarg\ifx{#1}\Stop + \the\generic@stop@defaults + \let\get@next@item=\relax + \else \Item@or@Macro#1::. \fi \get@next@item}<Rev + +The \n{::.} concluding \cs{Item@or@Macro} accomodates one, +possibly empty, argument. + +\iSection Options\label[imp:option]\label[imp:option:macro] + +Options can either be specific, defined as +\Ver>\@FooOption{Bar}{ [...] }<Rev +in which case the option \opt{Bar} can only be used inside +a call to \cs{DefineFoo}, +or they can be generic, defined as +\Ver>\@GenericOption{Bar}{ [...] }<Rev +For both definitions, the definition text can use up to two parameters. +Parameters are given to the options as +\Ver> optiona:par1 optionb:par1=par2<Rev + +Specific options are defined by the line +\Ver> + \csarg\def{@#1Option}##1% + {\csarg\def{#1@##1}####1####2}<Rev +in \cs{@DefineGenericConstruct}; a call +\Ver>\@FooOption{Bar}{ ... }<Rev +expands to +\Ver>\def\Foo@Bar#1#2{ ... }<Rev +Generic options are defined by the +following command: +\Ver>\def\@GenericOption#1{ + \append@to@list{@GenericOptions}{\\#1;} + \csarg\def{Option@#1}##1##2}<Rev +A call +\Ver>\@GenericOption{Bar}{ ... }<Rev +expands to +\Ver>\def\Option@Bar#1#2{ ... }<Rev + +\ImpNoteStop + +\endinput diff --git a/macros/plain/formats/lollipop/doc/manual/titlepag.tex b/macros/plain/formats/lollipop/doc/manual/titlepag.tex new file mode 100644 index 0000000000..c03ee4cd9e --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/titlepag.tex @@ -0,0 +1,85 @@ +% titlepag.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\EmptyPage +\begingroup\AlwaysIndent:no +\PointSize:25 \Style:bold Lollipop Unwrapped + +{\tt https://github.com/persian-tex/lollipop} + +\white:30pt + +\PointSize:20 \SetFont Victor Eijkhout {\rm(Original author)} + +\white:10pt + +Vafa Khalighi {\rm(Current developer)} + +\white:50pt + +\PointSize:15 \Style:roman +A manual for the Lollipop \TeX\ format\par +Version 1.07\par +Last updated 21 May 2016\par +Pages: \LastInPageCounter+\LastRegPageCounter +% so far we could have done this with labels, however +\AddToCounter:LastRegPage=LastInPageValue +=\LastRegPageCounter. + +\EjectPage +\endgroup + +\Chapter Contents + +\Section Regular sections + +\LoadExternalFile:contents + +%\Section Implementer's notes + +%\LoadExternalFile:impnotes + +\Section All of the options + +(You know, this section and the next look much better if you sort the +\file{manual.oix} and \file{manual.cix} files before you format the +document the last time. Do put lines + \Ver>\Writeopindex:no +\Writecsindex:no<Rev somewhere in +the top of the \file{manual.tex} file in order to prevent +overwriting of these files +after you've sorted them.) + +\Indent:no \rightskip=0pt plus 5cm +\LoadExternalFile:optindex + +\Section All of the commands + +\Indent:no +\LoadExternalFile:csindex + +\Section Bibliography + +\bibliographystyle{plain} +\bibliography{lollipop-manual} + +\endinput + +% 2016/04/09 Updated the manual +% 92/11/19 Page total included +% 92/11/26 Bibliography diff --git a/macros/plain/formats/lollipop/doc/manual/trace.tex b/macros/plain/formats/lollipop/doc/manual/trace.tex new file mode 100644 index 0000000000..febf97fa76 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/manual/trace.tex @@ -0,0 +1,61 @@ +% trace.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\Chapter[chap:tracing] Tracing + +\Section Do you really want to see this? + +You can get glimpses of Lollipop's internal workings by enabling some +of the internal traces. The extreme positions +\Ver> \Trace:yes<Rev +and +\Ver> \Trace:no<Rev +cause all trace information and no trace at all respectively to be +generated. You may find this trace interesting, or it may dumbfound you. +Of course, if your name is Victor you find it pretty useful. + +The following traces are available: +\Ver> \NewTrace:def % definition of user constructs + \NewTrace:ref % cross references + \NewTrace:ext % external files + \NewTrace:doc % document structure + \NewTrace:font % font loading + \NewTrace:out % output routine + \NewTrace:indent % indentation control + \NewTrace:gen % general tools<Rev + +\ImpNote +Trace messages are generated by calls to +\Ver> \Tmessage[type]{text}<Rev +Setting +\Ver> \Trace:no<Rev +defines \cs{Tmessage} to discard its arguments. This is the most +efficient way of generating no trace information. + +Tracing is controlled by a global parameter \cs{trace@all}. +A value of~$-1$ +disables all tracing; $+1$~corresponds to all tracing on; $0$~gives +selective tracing. In the third case a call +\Ver> \Trace:xyz<Rev +set \ver>\trace:xyz> positive so that only +\ver>\Tmessage[xyz]{...}> calls will +produce output. Enabling a selective trace sets \cs{trace@all} to zero, in +case it was~$-1$. +\ImpNoteStop + +\endinput diff --git a/macros/plain/formats/lollipop/doc/tex-inde.xen b/macros/plain/formats/lollipop/doc/tex-inde.xen new file mode 100644 index 0000000000..3f8f2acca6 --- /dev/null +++ b/macros/plain/formats/lollipop/doc/tex-inde.xen @@ -0,0 +1,261 @@ +TeX-index entries + +%% the Lollipop format + +The Lollipop format is designed to make implementation of +new style definitions easy, even for people who can barely +program TeX macros. It is not compatible with either plain +TeX or LaTeX, although a lot of plain TeX constructs are +available. There is a manual with many elaborate examples; +see below. + + + +Name: lollipop-define.tex +Description: cross referencing macros for + the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop-document.tex +Description: document handling macros for the + lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop-float.tex +Description: floating insertion macros + for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop-fontdefs.tex +Description: fontdefinitions for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop-fonts.tex +Description: font handling macros + for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop-heading.tex +Description: heading macros for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop-lists.tex +Description: list definition macros + for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop.tex +Description: main file for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: requires lollipop-define.tex, lollipop-document.tex + lollipop-float.tex, lollipop-fontdefs.tex, lollipop-fonts.tex, + lollipop-heading.tex, lollipop-lists,tex, + lollipop-plain.tex, lollipop-output.tex, lollipop-math.tex, + lollipop-text.tex, lollipop-tools.tex. + +Name: lollipop-plain.tex +Description: version of plain.tex customized + for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop-output.tex +Description: output routine macros + for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop-text.tex +Description: text environment definitions + for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +Name: lollipop-tools.tex +Description: utility macros for the lollipop package +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the lollipop package, see lollipop.tex. + +%% lollipop manual + +Name: comment.tex +Description: comment environment for plain TeX, + LaTeX, and lollipop TeX. +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: extern.tex +Description: description of external file handling + in lollipop TeX. +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: head.tex +Description: description of headings in lollipop TeX. +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: list.tex +Description: description of lists in lollipop TeX. +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: mandefs.tex +Description: style definition for the lollipop TeX manual. +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: lollipop-manual.tex +Description: master file for the lollipop TeX manual +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: requires comment.tex, extern.tex, head.tex, list.tex + mandefs.tex, lollipop-manual.bbl, opt.tex, out.tex, prelim.tex, + struct.tex, titlepag.tex, trace.tex. + +Name: opt.tex +Description: description of construct options + in lollipop TeX +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: out.tex +Description: description of output handling + in lollipop TeX. +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: prelim.tex +Description: introductory chapter of lollipop manual. +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: struct.tex +Description: description of the overall structure of + lollipop TeX files +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: titlepag.tex +Description: titlepage of the lollipop manual +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + +Name: trace.tex +Description: description of trace modes in lollipop TeX +Keywords: lollipop, macro package, style definitions +Author: Victor Eijkhout and Vafa Khalighi +Supported: yes +Latest version: v1.07, 21 May 2016 +Archives: http://ctan.org/pkg/lollipop +Note: part of the manual of the lollipop package, + see lollipop.tex. + diff --git a/macros/plain/formats/lollipop/tex/lollipop-define.tex b/macros/plain/formats/lollipop/tex/lollipop-define.tex new file mode 100644 index 0000000000..6f805a2791 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-define.tex @@ -0,0 +1,425 @@ +% lollipop-define.tex copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\NewTrace:ref +%%%%%%%%%%%%%%%% Symbolic references + +% User command for labels. +% this is hardly ever necessary: +% most commands directly accept the label. +% +\def\label[#1]{\bsp@hack\@label{#1}\esp@hack} + +% Automatic generation of labels. +% after \@Labelize{command}, it is possible to write \command[sym:ref] +% This is done for any generic construct that has a counter. +% +%\add@generic@stop@default{\ifhas@label \@Labelize{\@command}\fi} +\newif\ifhas@label +\add@generic@default{\has@labelno} +\@GenericOption{haslabel}{\global\has@labelyes} +\def\@Labelize#1{\edef\cs@e{\let\CSname{lab@#1}=\CSname{#1}}\cs@e + \csarg\edef{#1}{\begingroup + \aftergroup\CSname{lab@#1}\nxp\@referentiep}} +\def\@referentiep + {\ifnextchar[%] + \x@label{\ifNextChar<%> + \x@o@label{\gdef\xx@label{}\endgroup}% + }} + +% if \command has a symbolic key, +% \x@label#1 = +% \def\xx@label +% \@label{#1} +% \xx@label <- {} +% the \xx@label command is called at the start of every environment +% this delay is necessary, because the label is seen before +% the title, or before any counter is stepped. +% +\newif\ifcustom@label +\def\xx@label{}\def\RefLabel{} +\def\x@o@label<#1>{\global\custom@labeltrue + \global\current@label{#1}\x@label} +\def\x@label[#1]{\gdef\RefLabel{#1}% + \gdef\xx@label{\@label{#1}\global\custom@labelfalse + \gdef\xx@label{}}\endgroup} + +% Label contents +% mostly generated by \step@counter or so +% +\newtoks\current@label +\def\define@reference + #1{\ifcustom@label\else + \edef\cs@e{\global\current@label + {\counter@@repr{#1}{\csarg\number{\counter@name{#1}}}}}% + \cs@e + \fi} + +% Internal labeling command +% 1/ \current@label contains tokens describing the reference +% do a twostep unwrap of that +% 2/ write out the result to the .aux file +% 3/ if the current file has been \InputeFile'd, +% write out to the .aux of the input file. +% +% the string written out is for \@label{Key}: +% \refer@label{ref@Key}{label value}{page counter} +% +\def\@label@key#1{ref@#1} +\noeol +\def\@label#1{\Tmessage[ref]{Label definition: <#1>=\the + \current@label} + \ifWriteExtern \begingroup + \def\label[##1]{}\normalesc + \def\cprotect{\xp\string} + %\xp\xp\xp\string\FooCounter => + %\xp\string\Foo@R{\number\Foo@C} => \string\@arabic{123} + \def\protect{\noexpand\protect\noexpand} + %\test@defined@key{#1} + \edef\cs@e{\edef\nxp\cs@e{\current@label={\the\current@label}} + \nxp\cs@e} + \cs@e + %\Tmessage[ref]{Label as written: <\the\current@label>} + \edef\cs@e{\the\current@label} + \edef\cs@a##1{\nxp\csarg\write{##1@file} + {\string\refer@label{\@label@key{#1}} + {\macro@meaning\cs@e}{\noexpand\PageCounter}}} + \cs@a{aux} + \ifx\@invoernaam\@leeg + \else \ifLocalReferences \cs@a{incaux}\relax \fi\fi + \endgroup\fi} +\newcount\duplicate@labels +\def\test@defined@key#1{\if\UndefinedCS{\@label@key{#1}} + \Tmessage[ref]{First time definition of <#1>} + \else\xp\xp\xp\xp\xp\xp\xp\ifx\xp\xp\xp + \third@of@three\csn \@label@key{#1}\ecs\StaleRef + \begingroup + \edef\cs@e{\CSname{\@label@key{#1}}} + \xp\xp\xp\def\xp\xp\xp\cs@e\xp\xp\xp{\cs@e} + \temptoksa\xp\xp\xp{\xp\first@of@three\cs@e} + \edef\cs@e{\CSname{\@label@key{#1}}} + \xp\xp\xp\def\xp\xp\xp\cs@e\xp\xp\xp{\cs@e} + \temptoksb\xp\xp\xp{\xp\second@of@three\cs@e} + \edef\cs@e{\temptoksa + {{\the\temptoksa}{\the\temptoksb}\nxp\FreshRef}} + \cs@e + \csarg\xdef{\@label@key{#1}}{\the\temptoksa} + \endgroup + \Tmessage[ref]{Refreshing definition of <#1>:\@space + \xp\meaning\csn \@label@key{#1}\ecs} + \else\Wmessage{Duplicate label: <#1>}% + \advance\duplicate@labels\@ne\fi\fi} +\normaleol + +% complete expandable exploding of token lists +\def\macro@meaning#1{\xp\strip@macro@meaning\meaning#1} +\def\toks@meaning#1{\edef\cs@e{\the#1}\macro@meaning\cs@e} +\begingroup\escapechar=-1 +\xp\xp\xp\gdef\xp\xp\xp\strip@macro@meaning\xp\string + \csname macro:->\endcsname{} +\endgroup + +\NewDummy{StaleRef}\NewDummy{FreshRef} + +% Referring and Page references. +% first of all, when the .aux file is read: +% \refer@label{ref@Key}{label}{page} = +% \gdef\ref@Key{ {{label}} {{page}} } +% with extra braces for occurring fonts +% +\def\refer@label#1#2#3{\csarg\gdef{#1}{{{#2}}{{#3}}\StaleRef}} + +% then \ref[key] = \@ref\take@former[key] +% \pgref[key] = \@ref\take@latter[key] +% and \@ref\cs[key] = \expandafter\cs\ref@key +% = \cs {{label}} {{page}} +% +\def\ref {\ifnextchar(%) + {\@ref\first@of@three}{\@ref\first@of@three()}} +\def\pgref{\ifnextchar(%) + {\@ref\second@of@three}{\@ref\second@of@three()}} +\newcount\unknown@refs +\add@start@command{\unknown@refs\z@} +\def\@ref#1(#2)[#3]{% + \if\UndefinedCS{\@label@key{#3}}% + \message{Unknown #1{}{page}{}reference: <#3>}{\bf ??}% + \global\advance\unknown@refs\@ne + \else \@@ref{#1}{#2}{\@label@key{#3}}\fi} +\def\@@ref#1#2#3{\@@@ref#1{#3}% + \if\IsEmptyList{#2}\else,\penalty200\ #2\fi} +\def\@@@ref#1#2{% + \xp\xp\xp#1\csname#2\endcsname} +% for btxmac +\def\@printlabel#1{\@ref\first@of@three()[#1]} +%\@@@ref\first@of@three{\@label@key{#1}}} + +% Test for changed references +% at the end of the job +% +\def\test@refer@label#1#2#3{ + \def\cs@a{{{#2}}{{#3}}\FreshRef} + \def\cs@b{{{#2}}{{#3}}\StaleRef} + \csarg\ifx{#1}\cs@a + \else \csarg\ifx{#1}\cs@b + \else \labels@changedyes + \Tmessage[ref]{New definition for <#1>} + \fi\fi} + +% Citations. +% \cite[key] = [\ref[key]] +% \cite(string)[key] = [\ref[key], string] +% +%\def\cite{\ifnextchar(\y@cite\x@cite} +%\def\y@cite(#1)[#2]{[\ref[#2], #1]} +%\def\x@cite[#1]{[\ref[#1]]} + +% External Generic Option +% use: external:extfile ... external:stop +% stores result in \extern@x/y/z@toks in a tricky way: +% 'x' stores expandable parts, 'y' stores protectable parts. +% this is inserted in \@outerstartcommands +% +\NewTrace:ext +\newif\ifin@external +\add@generic@default{\in@externalno} +\newtoks\extern@toks \newtoks\late@extern@toks +\newtoks\build@extern@toks +\newtoks\extern@x@toks \newtoks\extern@y@toks \newtoks\extern@z@toks +\adds@generic@default{ + \extern@toks\empty@toks \late@extern@toks\empty@toks + \extern@x@toks\empty@toks\extern@y@toks\empty@toks} +\@GenericOption{external}{ + \switch {\if\EqualString{#1}} + {stop} {\external@stop{extern@toks}} + {late} {\external@stop{late@extern@toks}} + {default} {\external@start{#1}} + \endswitch} +\def\external@start#1{\b@group[external]\in@externalyes + \build@extern@toks\empty@toks + \switch@to@options@list{build@extern@toks} + \if\UndefinedCS{\file@ext@name{#1}} + \Wmessage{Unknown external file: <#1> + while defining <\@name>}\def\@add@toks##1{}% + \else \generate@extern{#1}% document: this writes the file name + \Tmessage[ext]{External definition <#1>} + \fi + \extern@x@toks\empty@stack \extern@y@toks\empty@stack + \extern@z@toks\empty@toks + \begingroup \switch@to@options@list{extern@z@toks} + } +\def\external@handle@title#1{\seen@textyes + \external@handle@expandable{#1}{\csn\@@@title{#1}\ecs}{title: <#1>}} +\def\external@handle@expandable#1#2#3{ + \extern@push@part{y}{\the\extern@z@toks} + \extern@push@part{x}{#2} + \Tmessage[ext]{External pushed #3} + \extern@z@toks\empty@toks} +\def\extern@push@part#1{\csarg{\let\xp\cs@a}{extern@#1@toks} + \xp\push@onto@cs\xp\cs@a\xp} +\def\extern@pop@n@pop{} +\def\external@before@title{\in@externalyes\seen@textno + \switch@to@options@list{e@before@toks}} +\def\in@ref@protect{\ifin@label\@add@toks{\protect}\fi} +\def\cs@in@ref@protect#1{% + \ifin@label \title@count@no@protect{#1} \fi + \ifin@external \title@count@no@protect{#1} \fi +} +\def\title@count@no@protect#1{% + \if\has@no@count@string #1Counter? + \if\has@no@title@string #1Title? + \@add@toks{\protect}\fi\fi} +\def\has@no@count@string #1Counter#2? + {00\fi\if\IsEmptyList{#2}} +\def\has@no@title@string #1Title#2? + {00\fi\if\IsEmptyList{#2}} +% wind up making an external: invert the stacks +% and append them +\def\external@stop#1{\extern@push@part{y}{\the\extern@z@toks} + \invert@csstack\extern@x@toks \invert@csstack\extern@y@toks + \xdef\cs@e{\nxp\@add@toks + {{\the\extern@x@toks}{\the\extern@y@toks}}} + \endgroup %revert to build@extern@toks + \cs@e \@add@toks{\e@extern} + \switch@to@options@list{#1} + \edef\cs@e{\nxp\@add@toks{\the\build@extern@toks}}\cs@e + \e@group[external]} +% how do we write stuff to the aux file? +% #1 is the x toks, #2 the y +\def\aux@write@external#1#2{% + \extern@x@toks{#1}\extern@y@toks{#2}% +% \let\\\relax +%\message{Expandables <\the\extern@y@toks>} +% \edef\cs@e{\extern@y@toks{#2}}\cs@e +%\message{becomes <\the\extern@y@toks>} + \length@of@csstack\extern@x@toks + \tempcounta\z@ \extern@toks\empty@toks + \loop\ifnum\tempcounta<\stack@length + \pop@cs@into\extern@z@toks\extern@y@toks + \append@cslist@to@cslist\extern@toks\extern@z@toks + \pop@cs@into\extern@z@toks\extern@x@toks + \extern@z@toks\xp\xp\xp{\the\extern@z@toks}% + \append@cslist@to@cslist\extern@toks\extern@z@toks + \advance\tempcounta\@ne\repeat + \pop@cs@into\extern@z@toks\extern@y@toks + \append@cslist@to@cslist\extern@toks\extern@z@toks + \xp\def\xp\cs@e\xp{\the\extern@toks}\edef\cs@e + {\write\aux@file{\real@meaning\cs@e}}\cs@e} +% +% Protection of expandable control sequences; +% value \nxp\protect\nxp is set during label definition and shipout +% \protect should be empty during execution +% +\def\protect{} + +%%%%%%%%%%%%%%%% External references +% define explicitly the form a reference will take +% label:start ... label:stop +% +% Maybe this can be unified with the `external' option +% +\newif\ifin@label +\newif\iflabel@defined \newtoks\@labelcoms +\add@generic@default{\@labelcoms{} \label@definedno \in@labelno} +\@GenericOption{label}{ + \if\EqualString{#1}{stop}\e@group[label] + \else \global\label@definedyes\global\has@labelyes + \b@group[label] \in@labelyes + \switch@to@options@list{@labelcoms} + \fi} + +%%%%%%%%%%%%%%%% Substitutions + +% Long substitutions +% the style designer declares the existence of a substitution +% +% \DefineSubstitution:Foo = +% \def\Foo#1\par +% +\def\DefineSubstitution:#1 + {\Tmessage[def]{Substitution being defined: #1} + \csarg\edef{#1}##1\par{\@@subdef{#1}} + \edef\cs@e{\let\CSname{if#1Exists}=\CSname{iffalse}} + \cs@e + } +\def\@@subdef#1{\let\CSname{if#1Exists}=\CSname{iftrue}% + \def\CSname{#1@text}{##1}} + +% Short substitutions +% almost the same, but to end of line instead of to \par +% +\def\DefineShortSubstitution:#1 + {\@DefineShortSubstitution{#1}} +{\noeol +\othercr +\gdef\@DefineShortSubstitution#1{ + \Tmessage[def]{Defining short substitution: #1} + {\othercr + \csarg\xdef{#1}{\noexpand\othercr \CSname{@#1}} + \csarg\xdef{@#1}##1^^M{ + \@@subdef{#1}\noexpand\normalcr}} + \global\csarg\let{ifExists#1}=\iffalse}} + + +% Substitute +% is then a command for both user and style designer. +% \Substitute:text=uppercase/lowercase is possible +% but these take more than just expansion. +% +\def\Substitute:#1 {\@substitute#1== } +\def\@substitute#1=#2= + {\if\ifempty{#2}{\csname#1@text\endcsname}% + \else\if\EqualString{#2}{uppercase}% + \uppercase\xp\xp\xp{\csname#1@text\endcsname}% + \else \lowercase\xp\xp\xp{\csname#1@text\endcsname}% + \fi + \fi}%why did this say \noesc\csname\string#1@text... ? + +{\noeol +\othercr +\gdef\variant{\bgroup\othercr \@variant} +\gdef\@variant:#1=#2^^M#3\variantstop{ + \csarg\gdef{#1}{\par\bgroup #3 \csname#2\endcsname} + \csarg\xdef{#1stop}{\CSname{#2stop}\egroup} + \egroup} +} + +% Value +% this is analogous to \Distance (in file text) +% +\def\Value:#1=#2 + {\edef\cs@e{\if\UndefinedCS{#1}\noexpand\new@count + \else \noexpand\set@value \fi + {#1}% + \if\UndefinedCS{#2}{#2}% + \else \CSname{#2}\fi} + \cs@e} + +%%%%%%%%%%%%%%%% Tests +% +% Test user command +% +\def\DefineTest:#1 + {\Tmessage[def]{Defining test: #1} + \csarg\newif{if#1} + \csarg\def{#1}:##1 {\csname #1##1\endcsname}} + +% Test generic option +% +% option test:Foo tests if \ifFoo is defined +% +% if not, \let\ifFoo=\iffalse, and +% \StyleDefinitionStop performs a test +% and warns if still undefined +% +% \let\hang@fi\@empty globally +% \def\hang@fi{\@add@toks{\fi}} is defined locally +% ==> check on unclosed test options. +% +\@GenericOption{test}{ + \switch {\if\EqualString{#1}} + {otherwise}{\hang@else} + {stop}{\hang@fi \e@group} + {default}{\b@group + \if\UndefinedCS{if#1} + \check@existence{if#1} + \edef\cs@e{\global\let\CSname{if#1}\CSname{iffalse}} + \cs@e + \fi + \hang@fi@define + \edef\cs@e{\nxp\@add@toks{\CSname{if#1}}}\cs@e + } + \endswitch} + +% The body of these macros has to be kept outside of conditionals +% +\def\hang@else{\@add@toks{\else}} +\def\hang@fi@define{\def\hang@fi{\@add@toks{\fi}}} +\add@generic@default{\let\hang@fi\@empty} +\add@generic@stop@default + {\ifx\hang@fi\@empty\else + \Emessage{There are tests open in \@name}\fi} + +% voorgegeven tests uit TOOLS +\newif\ifVoortgang +\def\Voortgang:#1 {\csname Voortgang#1\endcsname} +\DefineTest:Diagnose + +\endinput + +% 92/11/26 ifcustom@label and attendant handling +% 92/12/05 \@label@key \ No newline at end of file diff --git a/macros/plain/formats/lollipop/tex/lollipop-document.tex b/macros/plain/formats/lollipop/tex/lollipop-document.tex new file mode 100644 index 0000000000..e643cfcab0 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-document.tex @@ -0,0 +1,381 @@ +% lollipop-document.tex copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% D O C U M E N T S T R U C T U R E %%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DefineTest:LocalReferences +\NewTrace:doc + +% Start +% open external files and execute default commands +% +\newif\if@started +\def\Start{\@startedyes \the\start@commands + \ifBasicIndentIsSet\else + \Distance:basicindent=parindent \fi + \set@level@indent} +\def\StartCommand#1{\adds@start@command{#1}} + +% End +% 1/ close any open groups and give warnings +% 2/ \vfil\eject the last page +% 3/ \immediate\close the .auxs file +% 4/ load the .aux for writing the external files +% and testing changed references +% +\let\@end=\end +\def\Stop{\Close@all@groups + \the\stop@commands + \vfil \penalty\slotpenalty + \ifnum\unknown@refs>\z@ + \message{-- There \ifnum\unknown@refs=\@ne was an \else + were \number\unknown@refs\@space\fi + unresolved reference\ifnum\unknown@refs>\@ne s\fi.}\fi + \ifnum\duplicate@labels>\z@ + \message{-- There \ifnum\duplicate@labels=\@ne was an\else + were \number\duplicate@labels\@space\fi + duplicate label\ifnum\duplicate@labels>\@ne s\fi.}\fi + \immediate@close@aux@file{aux} + \ifWriteExtern \final@load@aux \fi + \@end} +\def\StopCommand#1{\adds@stop@command{#1}} + +%%%%%%%%%%%% input other files +\newwrite\aux@file \newwrite\incaux@file +\let\ifWriteaux\iftrue +\def\aux@name{aux} \def\aux@extension{aux} +\newif\if@auxopen \newif\if@incauxopen + +% the following line is in output.tex +%\add@mark@item{first@page} + +% Input files are in a group, +% they also set the IsFirstPage test +\def\InputFile:#1 {\begingroup \def\input@name{#1} + \Tmessage[doc]{Input File: #1} + \refresh@mark@item{first@page}{yes} + \refresh@mark@item{first@page}{no} + \ifLocalReferences + \get@aux@file{#1}{incaux}{aux}\fi + \input@file{#1}% + \immediate@close@aux@file{incaux} + \Close@all@groups + \def\test@input@name{#1}\ifx\input@name\test@input@name\else + \Wmessage{Input `#1' overbalanced}\fi + \endgroup} +\def\xInputFile:#1 {\input@file{#1}} +\def\input@file#1{\input #1 \vfil\penalty\slotpenalty\par} + +\let\input@name=\@empty +\let\test@input@name=\@empty + +% Input of Lollipop files +% +\def\InputLollipop:#1 {\makeatletter\input#1\relax\makeatother} + +%%%%%%%%%%%%%%%% External Communication + +% List of files +% not including the .aux file +% +\newtoks\ext@files@list \ext@files@list={} + +% I don't want to remember my own naming conventions. +% +\def\file@ext@name#1{#1@extension} +\def\cs@file@ext@name#1{\csname#1@extension\endcsname} + +% Define External File +% #1 is name known to style definition, +% #2#3#4 is three-letter file extension in +% file system +% +% correspondence: \#1@extension = #2#3#4, \#2#3#4@name = #1 +% +% user test \Write#1 to prevent overwriting +% internal test \if@#2#3#4open +% \newwrite\#2#3#4@file +% +\def\DefineExternalFile:#1=#2#3#4#5 + {\Tmessage[doc]{Define external file `#1' (ext=#2#3#4)} + \csarg\newwrite{#2#3#4@file} + \append@to@list{ext@files@list}{\\#2#3#4; } + \csarg\newtoks{#1@local@defs}%constructed in \ExternalItem + \csarg\gdef{\file@ext@name{#1}}{#2#3#4} + \csarg\gdef{#2#3#4@name}{#1} + \DefineTest:{Write#1} + \global\csname Write#1yes\endcsname + \csarg\newif{if@#2#3#4open} + } + +%%%% Load + +% Initial load of the auxiliary file +% +\def\initial@load@aux{%\begingroup%why this group? + \disable@external@write@command + \Tmessage[doc]{Load initial aux file} + \get@aux@file{\jobname}{aux}{aux} + %\endgroup + \ifWriteExtern + \open@ext@file@for@output{\jobname}{aux}{aux} + \fi} +% A test to determine all-or-nothing writing of .aux file. +% below there is a redefinition for bibTeX +\DefineTest:WriteExtern \WriteExtern:yes +\ifini{\add@start@command{\initial@load@aux}} + +% Load of external file +% +\def\LoadExternalFile:#1 + {\if\UndefinedCS{\file@ext@name{#1}} + \Wmessage{LoadExternalFile: unknown external file `#1'} + \else \begingroup + \Tmessage[doc]{Loading external file: #1} + \WriteExtern:no %prevent trouble with undefined entries + \csarg\the{#1@local@defs} + \get@aux@file{\jobname}{\cs@file@ext@name{#1}} + {\cs@file@ext@name{#1}} + \endgroup + \fi} + +% Basic load +% +\def\get@aux@file#1#2#3{ + \csarg\openin{#2@file} #1.#3 + \csarg\ifeof{#2@file} + \message{No aux file `\csname#2@name\endcsname'} + \else \csarg\closein{#2@file} + \Tmessage[ref]{Inputting aux file <#2>: <#1.#3>} + \Tmessage[ext]{Inputting aux file <#2>: <#1.#3>} + \makeatletter \input #1.#3 \makeatother + \fi} + +% Open for output: +% initially used for the .aux file +% at the final load of the .aux file used to generate .toc +% et cetera +% +\def\open@ext@file@for@output#1#2#3{ + \csname ifWrite\csname #2@name\endcsname\endcsname + \immediate\openout\csname#2@file\endcsname=#1.#3 + \global\csname @#2openyes\endcsname + \immediate\write\csname#2@file\endcsname{\relax} + \Tmessage[doc]{File '#2' (#3) open for output} + \Tmessage[ext]{File '#2' (#3) open for output} + \else + \global\csname @#2openno\endcsname + \Tmessage[doc]{File '#2' (#3) not open for output} + \Tmessage[ext]{File '#2' (#3) not open for output} + \fi} +\def\open@external@files@for@output{ + \def\protect{\noexpand\protect\noexpand} + \def\\##1;{##1}\Tmessage[doc]{External files: \the\ext@files@list} + \def\\##1;{\open@ext@file@for@output{\jobname}{##1}{##1}} + \the\ext@files@list} + +\newif\iflabels@changed +\def\final@load@aux{\labels@changedno + \def\refer@label##1##2##3{\test@refer@label{##1}{##2}{##3}} + \open@external@files@for@output + \install@external@write@command + \Tmessage[doc]{Load aux for label testing and ext file generation} + \Tmessage[ext]{Load aux for label testing and ext file generation} + \makeatletter \input \jobname.aux + \end@write@extern + \iflabels@changed \Wmessage{Labels have changed. Rerun!} \fi + \makeatother} +\def\end@write@extern{ + \def\\##1;{\immediate@close@aux@file{##1}} + \the\ext@files@list} +\def\close@aux@file #1{\csname if@#1open\endcsname + \write\csname#1@file\endcsname{\relax} + \closeout\csname#1@file\endcsname + \Tmessage[doc]{File '#1' closed}\fi} +\def\immediate@close@aux@file#1{\csname if@#1open\endcsname + \immediate\write\csname#1@file\endcsname{\relax} + \immediate\closeout\csname#1@file\endcsname + \Tmessage[doc]{File '#1' immediately closed}\fi} + + +% Generate the extern call in the style definition +% this one is part of 'external:<file name>' +% +\def\generate@extern#1{\edef\cs@e + {\nxp\@add@toks{\nxp\@extern + {\CSname{\file@ext@name{#1}}} + {\@name} + {\ifhas@counter \CSname{\@name Counter}\fi} +%\counter@@repr{\@name} +%{\nxp\the\counter@@name{\@name}}\fi}% + }}\cs@e} + +% call: +% \@extern{extension}{object}{counter}\the\title@toks\e@extern +% to aux: +% \write@to@external{extension}{object}{counter}{page}{tekst}\ew@extern +% to .extension file: +% \object{counter}{page}tekst\par +% where \object is locally defined in the 'extension' file. +% +\def\ToExternalFile:#1=#2 + {\edef\cs@e{\nxp\x@extern{\cs@file@ext@name{#1}}}% + \cs@e{anon}{}{\\{#2}\\{}}{\\{}\\{}\\{}}\e@extern} +\def\@extern{\ifWriteExtern + \xp\x@extern \else \xp\skip@extern \fi} +\def\skip@extern#1#2#3\e@extern + {\Tmessage[ext]{Skipped `#2' for `#1'}} +\newtoks\ext@text@toks +\newtoks\ext@labl@toks +\newtoks\ext@page@toks +\begingroup\noeol\catcode`\?\catcode`\%\catcode`\%=12 +\gdef\x@extern#1#2#3#4#5\e@extern + {\begingroup\normalesc + \def\label[##1]{} + \def\protect{\noexpand\protect\noexpand} + \def\cprotect{\xp\string} + \Tmessage[ext]{Write to aux `#2' for `\csname#1@name\endcsname'} + \edef\cs@e{\write\aux@file{\string\write@to@external + {#1}{#2}{#3}}}\cs@e + \write\aux@file{ + {\counter@@repr{Page}{\csarg\number{\counter@name{Page}}}}%} + \aux@write@external{#4}{#5} + \write\aux@file{\string\ew@extern} + \endgroup} +\normaleol\endgroup + +% string a word, delimited by a space, +% first see whether it is a group, recognized by the fact +% that there is another space in it. +\def\string@um@up#1 {\string@space@group#1 \>\@bean} +\def\string@space@group#1 #2#3\@bean + {\ifx#2\> \string@word#1\@roy + \else \string{\string@um@up#1 #2#3 \string}% + \fi \@space\string@um@up} +% a word is delimited by \@roy; if the word is \> then this +% is the last word, and we should remove +% a trailing \@roy plus the \@space\string@um@up tokens after the call, +% but also parts of the conditional after the call have to be removed: +% \expandafter \take@three \expandafter \@roy \else .. \fi \@space\string@.. +% +% sick. very sick. +% +\def\string@word#1{\ifx#1\>\xp\expandafter\xp\take@three\xp\expandafter + \else \ifx#1\@roy + \else \string#1\ifcat\nxp#1\relax\@space\fi + \xp\xp\xp\string@word + \fi \fi} + +% an attempt to string up a title. +% this covers for the case where there are groups, +% but it is still quite wrong if \else or so is in the title +% +\NewDummy{@roy}\NewDummy{@bean}\NewDummy{@rope}\NewDummy{@bear} +\NewDummy{@Rope} +% Enable/Disable communication to external files +% former during initial load of .aux file, +% latter during final load of .aux file +% +\def\disable@external@write@command + {\def\write@to@external##1\ew@extern{}} +\disable@external@write@command %do this initially just to be sure +\def\install@external@write@command %grouping ok? + {\def\write@to@external##1##2##3##4##5\ew@extern + {\csname if@##1open\endcsname + \Tmessage[ext]{Write `##2' + to `\csname##1@name\endcsname'} + \ext@labl@toks{##3} + \ext@page@toks{##4} + \ext@text@toks{##5} + \immediate\write\csname##1@file\endcsname + {\CSname{##2}{\the\ext@labl@toks}% + {\the\ext@page@toks}\the\ext@text@toks + \string\par} + \else + \Tmessage[ext]{Skipped `##2' + for `\csname##1@name\endcsname'} + \fi}} + +%%%%%%%%%%%%% BibTeX interface +% we interface ourselves to the BtxMac macros +% of Karl Berry and Oren Patashnik, version 0.99h + +% prevent btxmac from rewriting *our* auxfile +% if btxmac has not been loaded this is just \relax +\adds@start@command{\csn @auxfiledonetrue\ecs} + +% alternate name for the aux write stream +\adds@start@command{\let\@auxfile\aux@file} + +% disable / alter Btxmac definitions +\def\bbl@hook{\default@everypar} +\adds@start@command{\let\bblhook\bbl@hook} + +% switch off btxmac if need be +\xp\def\xp\WriteExternno\xp + {\WriteExternno \let\noauxfile\@space} + +% if you want to read an aux file but not load btxmac: +\let\bibstyle\take@one \let\bibdata\take@one +\let\citation\take@one \let\nocite\take@one +% similarly the source: +\let\bibliography\take@one \let\bibliographystyle\take@one + +% user defined bibliography +\def\DefineBBL{\let\bbl@hook\BBL@hook \DefineList:BBL } +\def\BBL@hook + {\def\begin##1##2{\default@everypar\BBL}\def\end##1{\>}% + %intercept \begin{thebibliography}{width} + \def\bibitem{\ifNextChar[%] + \bbl@print@item\bbl@item} + \def\biblabelprint##1{} + } +\def\bbl@item#1{\item[#1]} +\def\bbl@print@item[#1]#2{\item<#1>[#2]} + +% refer to a bib item +\def\bibref[#1]{\cite{#1}}%{[\ref[#1]]\nocite{#1}} + +\def\one@bib@citation#1\@@{% this is what \bib@citation will become + \if@notfirstcitation + \printbetweencitations + \fi + % + \expandafter \ifx \csname\@citelabel{#1}\endcsname \relax + \if@citewarning + \message{\@linenumber Undefined citation `#1'.}% + \fi + % Give it a dummy definition: + \expandafter\gdef\csname\@citelabel{#1}\endcsname{% + {\tt \nobreak\hskip0pt#1\nobreak\hskip0pt}}% + \fi + \@printlabel{#1}% + \@notfirstcitationtrue +} +\def\@c@l#1{@empty} +\adds@start@command{\let\@onecitation\one@bib@citation + \let\@citelabel\@c@l} + +\endinput + +% 92/11/18 \Start extended with start@commands and \basicindent +% 92/11/20 \StopCommand added +% 92/11/21 groups removed from initial loading aux (twice) +% 92/11/26 BibTeX interface \ No newline at end of file diff --git a/macros/plain/formats/lollipop/tex/lollipop-float.tex b/macros/plain/formats/lollipop/tex/lollipop-float.tex new file mode 100644 index 0000000000..6f493748f9 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-float.tex @@ -0,0 +1,51 @@ +% lollipop-floats.tex copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +% these macros handle inserts for the Lollipop format +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%% Floating insertions %%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\@GenericConstruct{Insertion} + +\NewTrace:ins + +\@InsertionOption{location}{ + \switch {\if\EqualString{#1}} + {top} {} + {bot} {} + {mid} {} + {default} {\Wmessage{Unknown qualifier: <location:#1>}} + \endswitch} +\newif\ifsplit@insert +\add@Insertion@default{\split@insertno} +\@InsertionOption{split}{ + \switch {\if\EqualString{#1}} + {no} {\split@insertno} + {default} {\split@insertyes} + \endswitch} + +\def\@DefineInsertion{ + \csarg\newinsert{\@name @ins} + \csarg\edef{\@name}{\insert\CSname{\@name @ins} + \ifsplit@insert\else\vbox\fi % make this a box if no split allowed + \bgroup \the\before@coms + } + \@DefineStopCommand{\the\after@coms \egroup} + } +\endinput diff --git a/macros/plain/formats/lollipop/tex/lollipop-fontdefs.tex b/macros/plain/formats/lollipop/tex/lollipop-fontdefs.tex new file mode 100644 index 0000000000..1d10a3d411 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-fontdefs.tex @@ -0,0 +1,42 @@ +% lollipop-fontdefs.tex copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +%\noeol +% good (?) old Computer Modern +\DefineTypeface{ComputerModern}{cm}% + {roman:r; slant:sl; italic:ti; mitalic:mi; bold:bx; typewriter:tt; + default:r;}% + {<6:5; <7:6; <8:7; <9:8; <10:9; <11:10; <12:10 \sc@led\magstephalf; + <14:10 \sc@led\magstep1; <16:10 \sc@led\magstep2; + <20:10 \sc@led\magstep3; >19:10 \sc@led\magstep4; + default:10;}% + [\ifStyle:italic \ifnum\Fsize<7 ti7\fi\fi + \ifStyle:typewriter \ifnum\Fsize<8 tt8\fi\fi] +\DefineTypeface{ComputerSans}{cmss}% + {roman:; italic:i; mitalic:i; bold:bx; demiboldcondensed:dc; + default:;}% + {<9:8; <10:9; <11:10; <12:10 \sc@led\magstephalf; + <14:10 \sc@led\magstep1; <16:10 \sc@led\magstep2; + <20:10 \sc@led\magstep3; >19:10 \sc@led\magstep4; + default:10;}% + [\ifStyle:bold \ifnum\Fsize<10 bx10\fi\fi] + + +\endinput + +% 2016/04/13 Removed \DefineTypeface definitions for fonts +% not in TeXLive \ No newline at end of file diff --git a/macros/plain/formats/lollipop/tex/lollipop-fonts.tex b/macros/plain/formats/lollipop/tex/lollipop-fonts.tex new file mode 100644 index 0000000000..3b9a72c19f --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-fonts.tex @@ -0,0 +1,416 @@ +% lollipop-fonts.tex copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%% Font selection macros %%%%%%%%%%% + +%%%% +%%%% Text Fonts +%%%% + +\NewTrace:font + +% User commands to change the three parameters + +% \Typeface:FACE +% \F@name <-- FACE +% +\def\Typeface:#1 + {\if\UndefinedCS{#1@code}\Wmessage{Undefined typeface: `#1'}\fi + \def\F@name{#1}} +\let\TypeFace\Typeface + +% \Pointsize:NN +% \Fsize <-- NN +% compute script/sscript sizes +% if necessary install math fonts +% +\def\PointSize:#1 {\tempcounta=\@ww{#1}% + \edef\Fsize{\the\tempcounta}%this line is used in \set@mathfont + \xp\@setsizes\xp{\Fsize}% + \xp\pointsize@baselineskip\xp{\Fsize}} +\let\Pointsize=\PointSize + +% \Style:STYLE +% \F@style <-- STYLE +% load actual font +% put font in \textfont0 +% install value of \@space +% +\def\Style:#1 {\def\F@style{#1}% + \ifmmode\SetFamily\else\SetFont\fi} +\def\ifStyle:#1 {\xp\if\xp\EqualStringX\xp{\F@style}{#1}} + +% and together this makes: +% +\def\current@font{\F@name\F@style\romannumeral\Fsize} + + +% abbreviations for common styles +% +\def\tty{\Style:typewriter } +\def\rm{\Style:roman }\def\bf{\Style:bold }\def\it{\Style:italic } +\def\sl{\Style:italic } + +% Command for actual loading is also user command. +% If this is in a style definition, fill the math families. +% +\def\SetFont{\maybe@load@font + \if@started\else\store@main@font\fi + \ifx\cs@a\relax %error condition if load not succeeded + \else \csname\cs@a\endcsname + \@@space=.5em\relax + \fi} +\def\maybe@load@font{\edef\cs@a{\current@font}% + \if\UndefinedCS{\cs@a}\load@font\fi} +\def\load@font{\def@f@ext@name + \Tmessage[font]{Loading font (text): \cs@a=`\f@ext@name'}% + \edef\cs@e{\global\font\CSname{\cs@a}=\f@ext@name\relax}\cs@e + } +\def\def@f@ext@name + {\edef\f@ext@name{\ext@combo}% + \edef\f@ext@name{\ext@name + \ifx\f@ext@name\@empty \ext@style\ext@size + \else \f@ext@name \fi}} + +\def\face@tag{\F@name @code} +\def\cs@face@tag{\csname\face@tag\endcsname} + +% Find relative sizes of the current size +% and install math fonts +% +\def\@ps@rls#1{ps@rls\romannumeral#1} +\def\PointSizeScriptSizes:#1=#2,#3,#4 + {\csarg\def{\@ps@rls#1}{{#2}{#3}{#4}}} +\def\@setsizes#1{\if\UndefinedCS{\@ps@rls{#1}}\tempcounta#1\relax + \tempcountb\tempcounta \multiply\tempcountb7 \divide\tempcountb10 + \tempcountc\tempcounta \divide\tempcountc2 + \edef\@@setsizes + {{\the\tempcounta}{\the\tempcountb}{\the\tempcountc}}% + \else + \edef\@@setsizes{\csname\@ps@rls{#1}\endcsname}% + \fi + \expandafter\@setsize\@@setsizes} +\PointSizeScriptSizes:0=0,0,0 +\PointSizeScriptSizes:1=1,1,1 +\PointSizeScriptSizes:2=2,2,2 +\PointSizeScriptSizes:3=2,3,3 +\PointSizeScriptSizes:4=4,4,4 +\PointSizeScriptSizes:5=5,5,5 +\PointSizeScriptSizes:6=6,5,5 +\PointSizeScriptSizes:7=7,6,5 +\PointSizeScriptSizes:8=8,6,5 +\PointSizeScriptSizes:9=9,7,5 +\PointSizeScriptSizes:10=10,7,5 +\PointSizeScriptSizes:11=11,8,6 +\PointSizeScriptSizes:12=12,9,7 + +% Fill in a math font family corresponding to the +% surrounding size +\def\SetFamily{\ifface@size@changed\begingroup +%\tracingmacros=2 \tracingcommands\tracingmacros + \edef\tmp@sizes{\csname\@ps@rls{\Fsize}\endcsname} + \edef\Fsize{\xp\first@of@three\tmp@sizes}\maybe@load@font + \edef\cs@e{\global\textfont + \CSname{\F@style @fam}\CSname{\cs@a}}\cs@e + \edef\Fsize{\xp\second@of@three\tmp@sizes}\maybe@load@font + \edef\cs@e{\global\scriptfont + \CSname{\F@style @fam}\CSname{\cs@a}}\cs@e + \edef\Fsize{\xp\third@of@three\tmp@sizes}\maybe@load@font + \edef\cs@e{\global\scriptscriptfont + \CSname{\F@style @fam}\CSname{\cs@a}}\cs@e + \endgroup\fi + \csarg\fam{\F@style @fam}} +\newfam\roman@fam \def\roman@face@size{{foo}{bar}} +\newfam\italic@fam \def\italic@face@size{{foo}{bar}} +\newfam\bold@fam \def\bold@face@size{{foo}{bar}} +\newfam\tty@fam \def\tty@face@size{{foo}{bar}} +\def\ifface@size@changed{\iftrue} +\def\temporarily@out@of@order + {\edef\cs@a{\csn\F@style @face@size\ecs} + \if\EqualString{\F@name}{\xp\take@former\cs@a} + \if\EqualString{\Fsize}{\xp\take@latter\cs@a} + \csn iffalse\xp\xp\xp\ecs + \else \Tmessage[font]{Loading family <\F@style>} + \csarg\edef{\F@style @face@size}% + {{\F@name}{\Fsize}} + \csn iftrue\xp\xp\xp\ecs\fi + \else \Tmessage[font]{Loading family <\F@style>} + \csarg\edef{\F@style @face@size}% + {{\F@name}{\Fsize}} + \csn iftrue\xp\ecs \fi} + +% Define relative sizes, +% and install math fonts, +% loading if necessary +% +\def\@setsize#1#2#3{% + \def\normal{\def\Fsize{#1}\SetFont}\relax + \def\script{\def\Fsize{#2}\SetFont}\relax + \def\scriptscript{\def\Fsize{#3}\SetFont}\relax + \def\style@sizes{#1,#2,#3 }} +\newif\ifloading@math +\def\math@setsize#1,#2,#3 {% + \SaveFont \loading@mathyes + \set@mathfont{#1}\textfont + \set@mathfont{#2}\scriptfont + \set@mathfont{#3}\scriptscriptfont + \RestoreFont \loading@mathno + } + +% these lines are in 'text.tex' +%\everymath{\the\every@everymath} +%\everydisplay{\the\every@everymath} +%\every@everymath{\high@fam\count18\relax \xp\math@setsize\style@sizes} + +% Strut: .8\baselineskip+.2\baselineskip +% note: struts should be locally defined! +% +\def\make@strut{\tempdima=.8\baselineskip \tempdimb=.2\baselineskip + \edef\strut{\vrule height \the\tempdima width \z@ + depth \the\tempdimb \relax}} + +% Main Font +% is the font that's current at the end of the style definition +% this is switched to in the output routine (head/footline!) +% and the user can use it too. +% this does not take properly care of baselineskip and strut. +% nor math fonts, come to think of it. +% +\def\store@main@font + {\edef\MainFace{\def\nxp\F@name{\F@name}} + \SaveFont \let\MainFont\RestoreFont} +\let\MainFont\relax %cs is used in output@setup, which may be called + %from lollipop.tex + +% Save and restore fonts +% +\def\SaveFont + {\edef\RestoreFont{\def\nxp\F@name{\F@name}% + \def\nxp\Fsize{\Fsize}% + \def\nxp\F@style{\F@style}% + \nxp\SetFont + \baselineskip=\the\baselineskip\relax + } + } +\def\RestoreFont{\Wmessage{No `Savefont' has been given}} + +% Defined Fonts +% rather limited, because not upscalable. +% +\def\DefineFont:#1=#2,#3,#4 {\begingroup + \Typeface:#2 \PointSize:#3 \Style:#4 + \edef\cs@e{\global\let\CSname{#1}=\CSname{\current@font}}\cs@e + \endgroup} + + +% Increase / decrease point size +% +\def\PointSizeLarger{\if\NextChar[%] + \ps@plus{\ps@plus[1]}} +\def\PointSizeSmaller{\if\NextChar[%] + \ps@minus{\ps@minus[1]}} +\def\ps@plus[#1]{\let\save@Fsize\Fsize + \tempcounta\Fsize\relax \advance\tempcounta#1\relax + \edef\Fsize{\the\tempcounta}\SetFont + \let\Fsize\save@Fsize} +\def\ps@minus[{\ps@plus[-%] + }%] + +% Baselineskip +% +\def\BaselineSkip:#1 {\baselineskip\@ww{#1}\make@strut} +\def\@ps@bls#1{ps@bls\romannumeral#1} +\def\@@ps@bls#1{\tempcounta#1\relax\baselineskip\tempcounta pt + \baselineskip\bls@ps@ratio\baselineskip\relax} +\def\BaselineSkipPointSizeRatio:#1 {\def\bls@ps@ratio{#1}} +\BaselineSkipPointSizeRatio:1.2 +\def\PointSizeBaselineSkip:#1 + {\edef\cs@e{\nxp\pointsize@baselineskip{\w@w{#1}}}\cs@e}%nxp? +\def\pointsize@baselineskip#1{%also used in \PointSize + \if\UndefinedCS{\@ps@bls{#1}}\@@ps@bls{#1}% + \else \baselineskip\csname \@ps@bls{#1}\endcsname \fi + \make@strut} +\def\SetPointSizeBaselineSkip:#1=#2 + {\edef\cs@e{\w@w{#1}}% + \csarg\edef{\@ps@bls\cs@e}{\w@w{#2}}} + +\def\exblssizes#1{\ifcase#1\z@ \or \z@ \or \z@ \or \z@ \or \z@ + \or 6.1pt %5 + \or 7.3pt %6 + \or 8.5pt %7 + \or 9.7pt %8 + \or 11pt %9 + \or 12pt %10 + \or 13pt %11 + \or 14.5pt %12 + \or 15.6pt %13 + \or 16.8pt %14 + \or 18pt %15 + \or 19.2pt %16 + \or 20.4pt %17 + \or 21.6pt %18 + \or 22.8pt %19 + \or 24pt %20 + \else \ifnum#1=24 28pt \else + \ifnum#1=30 36pt \else + \ifnum#1=32 38pt \else + \ifnum#1=48 56pt \else + \z@ \Emessage{Unknown pointsize: #1}\fi\fi\fi\fi + \fi \normalbaselineskip\baselineskip} + +%%%% Math Fonts +% Math fonts are loaded through the \everymath and \everydisplay. +% This means that they are undefined outside math. +% Therefore, any load during the style definition is global. +% +% Symbol and extension fonts don't change with type +% Control sequences \m@.. are \let to 0 or 1 to indicate that +% math at a certain size has been loaded + +% The ten point extension font is special because it is used +% for all smaller sizes +\font\exx=cmex10 + +% Size to external name conversion for math fonts +\def\mi@size#1{\ifcase#1 \or \or \or \or \or 5\or 6\or 7\or 8\or + 9\or 10\or 10 \sc@led \magstephalf \or 10 \sc@led \magstep1\or + \or 10 \sc@led \magstep2\or \or 10 \sc@led \magstep3\or + \or 10 \sc@led \magstep3\or \or 10 \sc@led \magstep4\fi} +\let\sy@size=\mi@size \let\cm@size=\mi@size +\def\ex@size#1{\ifnum#1<10 10 \else\mi@size{#1}\fi} + + +% For a size, test if it has been loaded yet, if not do; +% then install as given style +% +\def\set@mathfont#1#2%% #1=size #2=\text/script/scriptscript style + {\if\UndefinedCS{m@\romannumeral#1}\begingroup + \Tmessage[font]{Loading math style \string#2 at #1pt}%\globaldefs\@ne + \load@mathfammember{cm}{MathIT}{mi}{#1}\mi@size{'177}\relax + \load@mathfammember{cm}{MathSY}{sy}{#1}\sy@size{'060}\relax + \load@mathfammember{cm}{MathRM} {r}{#1}\cm@size{-1}\relax + \ifnum#1>10 \load@mathfammember{cm}{MathEX}{ex}{#1}\ex@size{-1}\relax + \else \global\csarg\let{MathEX\romannumeral#1}\exx + \fi + \global\csarg\let{m@\romannumeral#1}1\relax + \endgroup\fi + \if\UndefinedCS{\F@name VMI\romannumeral#1}\begingroup + \def\Fsize{#1}\def\F@style{mitalic}% + \load@mathfammember{\cs@face@tag} + {\F@name VMI}{\ext@style}{#1} + {\ext@size\take@one}{-1}\relax + \endgroup\fi + \def\Fsize{#1}\SetFont #20\the\font + #21 \csname MathIT\romannumeral#1\endcsname + #22 \csname MathSY\romannumeral#1\endcsname + #23 \csname MathEX\romannumeral#1\endcsname + #2\Kgriek \csname MathRM\romannumeral#1\endcsname + #2\VMIfam \csname \F@name VMI\romannumeral#1\endcsname} +\def\load@mathfammember + #1#2#3#4#5#6% + %% #1=root of external name #2=internal tag + %% #3=external tag #4=size #5=size convertor #6=skew character + {\Tmessage[font]{Loading font (math) + \csname#2\romannumeral#4\endcsname=#1#3#5{#4}}% + \global\xp\font\csname#2\romannumeral#4\endcsname= + #1#3#5{#4}\relax + \global\xp\skewchar\csname#2\romannumeral#4\endcsname=#6\relax + } + +% Allocate a family for cmr, which has Greek capitals +% +\storecat" +\ifini{\newfam\Kgriek} +\mathchardef\Gamma="0\hexdigit\Kgriek 00 +\mathchardef\Delta="0\hexdigit\Kgriek 01 +\mathchardef\Theta="0\hexdigit\Kgriek 02 +\mathchardef\Lambda="0\hexdigit\Kgriek 03 +\mathchardef\Xi="0\hexdigit\Kgriek 04 +\mathchardef\Pi="0\hexdigit\Kgriek 05 +\mathchardef\Sigma="0\hexdigit\Kgriek 06 +\mathchardef\Upsilon="0\hexdigit\Kgriek 07 +\mathchardef\Phi="0\hexdigit\Kgriek 08 +\mathchardef\Psi="0\hexdigit\Kgriek 09 +\mathchardef\Omega="0\hexdigit\Kgriek 0A + +% Math italic variables have to be from the current typeface +% maybe this should be switchable +% +\def\loop@redef@until#1{ +\loop \mathcode\tempcountb\tempcountc + \advance\tempcountb\@ne + \advance\tempcountc\@ne + \ifnum\tempcountb>#1\relax\else \repeat} +\ifini{ +\newfam\VMIfam +\tempcounta=-"100 \advance\tempcounta"\hexdigit\VMIfam00 +\tempcountb=`a \tempcountc=\mathcode`a +\advance\tempcountc\tempcounta +\loop@redef@until{`z} +\tempcountb=`A \tempcountc=\mathcode`A +\advance\tempcountc\tempcounta +\loop@redef@until{`Z} +} + +\restorecat" +\def\cal{\fam2} + +% Typewriter is a bit of a problem +% + \font\ttix=cmtt9 + \font\ttx=cmtt10 \font\ttxi=cmtt10 \sc@led \magstephalf + \font\ttxii=cmtt10 \sc@led \magstep1 + \font\ttxiv=cmtt10 \sc@led \magstep2 + \font\ttxvii=cmtt10 \sc@led \magstep3 + \font\ttxx=cmtt10 \sc@led \magstep4 + +\def\tt{\Typeface:ComputerModern \Style:typewriter } +\def\terugstreep{{\tt \char`\\}} + +% Typeface Definition +% \DefineTypeface{Naam}{rump}{style:exts}{size:exts}{combo:exts} +% after this \Typeface:Naam can be used +% the rump and the extension construct the external file names +% +\def\DefineTypeface#1#2#3#4{\csarg\def{#1@code}{#2} + \csarg\def{#1@styles}{#3 } + \csarg\def{#1@sizes}{#4 } + \if\NextChar[%] + {\DefineTypeface@combos{#1}}{\DefineTypeface@combos{#1}[]}} +\def\DefineTypeface@combos#1[#2]{\csarg\def{#1@combos}{#2}} + +\def\style@selector{\mswitch \xp\if\xp\EqualStringX\xp{\F@style} in: } +\def\a@style@selector#1{\mswitch \xp\if\xp\EqualStringX\xp{#1} in: } +\def\size@selector{\fswitch {\ifnum\Fsize} in: } +\def\a@size@selector#1{\fswitch {\ifnum#1} in: } + +\def\ext@combo{\csname\F@name @combos\endcsname} +\def\ext@style{\xp\xp\xp\style@selector + \csname\F@name @styles\endcsname\endswitch} +\def\ext@size {\xp\xp\xp\size@selector + \csname\F@name @sizes\endcsname\endswitch} +\def\ext@name{\csname\F@name @code\endcsname} + +%\noeol +\endinput + +% 2014/04/16 defined \PointSizeScriptSizes:12 +% 92/11/05 math family setting +% 93/07/03 removed \bold, \italic etc because of change in tools +% 93/07/24 F@size -> Fsize, fontdefs file split off \ No newline at end of file diff --git a/macros/plain/formats/lollipop/tex/lollipop-heading.tex b/macros/plain/formats/lollipop/tex/lollipop-heading.tex new file mode 100644 index 0000000000..02f0a23596 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-heading.tex @@ -0,0 +1,49 @@ +% lollipop-heading.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%% H E A D I N G S %%%%%%%%%%%% +\@GenericConstruct{Heading} + +\newif\if@headed +\add@generic@default{\add@after@command{\@headedno}} +\add@Heading@default{\add@after@command{\@headedyes}} + +\add@Heading@default{\def\@afterpenalty{\penalty\@M} + \default@break@afterno} +\add@Heading@default{\has@marksyes} + +\def\@DefineHeading{ + \@DefineStopCommand{\relax} + \csarg\edef{\@name}% + {\@gen@open % this contains: \let\CSname{\@name Title}\nxp\tmp@title + \the\@main@options@list + \@gen@close} + } + +\@HeadingOption{TwoLines}{\switch {\if\EqualString{#1}} + {yes} {\add@after@command{\next@paragraph{\clubpenalty\M@ + \next@paragraph{\global\clubpenalty\default@clubpenalty}}}} + {no} {\add@after@command{\clubpenalty\default@clubpenalty}} + {default} {\edef\cs@e{\nxp\add@after@command{\nxp\next@paragraph + {\clubpenalty\@w@w{#1}\relax\nxp\next@paragraph + {\global\clubpenalty\default@clubpenalty}}}} + \cs@e} + \endswitch} + +\endinput \ No newline at end of file diff --git a/macros/plain/formats/lollipop/tex/lollipop-lists.tex b/macros/plain/formats/lollipop/tex/lollipop-lists.tex new file mode 100644 index 0000000000..578610f2c6 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-lists.tex @@ -0,0 +1,362 @@ +% lollipop-lists.tex copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%% L I S T S + + +\@GenericConstruct{List} + +\newif\if@initem \@initemyes \newif\if@alitem +\newbox\@labelbox + +\def\item{\Emessage{Item command outside list}} + +% Breakpoints around a list +% +% first redefine generic defaults: +% try not to break before, maybe not after, +% +\add@List@default{\def\@beforepenalty{\penalty1000 }} +\add@List@default{\def\@afterpenalty{\penalty200 }} + +% between items is okay +% +\add@List@default{\def\@betweenpenalty{\penalty-50 }} +\@ListOption{breakbetween}{ + \switch {\if\EqualString{#1}} + {no} {\def\@betweenpenalty{\penalty\@M}} + {yes} {\def\@betweenpenalty{\CSname{\h@or@v fil}\penalty-\@M}} + {0} {\def\@betweenpenalty{}} + {default} {\edef\cs@e{\def\nxp\@betweenpenalty{\penalty\@w@w{#1}\relax}} + \cs@e} + \endswitch + } + +\newtoks\indent@depth +\add@List@default{\indent@depth={}} + +\noeol +\def\@DefineList{ + \@DefineStopCommand{\nxp\xx@label \the\item@e@coms\@gen@close} + \csarg\edef{\@name}{\@gen@open + \ifitem@list \nxp\step@counter{itemlevel}\fi + \ifenum@list \nxp\step@counter{enumlevel} + \nxp\represent@counter{item} + {\nxp\enum@repr{\counter@@name{enumlevel}}}\fi + \ifleft@embedded@construct \previousindent\z@ + \else \nxp\PushIndentLevel + \ifauto@indent \else \levelindent\the\indent@depth \fi + \parindent\levelindent + \fi + \nxp\@alitemno + \nxp\start@counter{item}% + \the\item@b@coms + \def\nxp\item@label{ + \nxp\ifdim\wd\@labelbox>\tempdima + \ifitem@tab \advance\tempdima20pt\relax + {\nxp\item@label} + \else \iflabel@flow@right + \ifleft@embedded@construct + \else\hskip-\previousindent\fi + \box\@labelbox + \else \nxp\llap{\box\@labelbox}\fi\fi + \nxp\else \llap{\hbox to \tempdima + {\ifleft@item\else\hfil\fi + \box\@labelbox \ifleft@item\hfil\fi}} + \nxp\fi}% + \def\nxp\num@item + {\setbox\@labelbox=\hbox{\the\item@coms} + \tempdima\previousindent + \nxp\item@label %\nxp\Indent:no + \the\item@a@coms \nxp\xx@label} + \def\nxp\item + {\ifleft@embedded@construct + \else \nxp\if@alitem\@par%\CSname{@itembreek}% + \nxp\hold@parskip \nxp\fi \fi + \nxp\if\nxp\TestCounter:item >0 \@betweenpenalty \nxp\fi + \CSname{@\h@or@v white}{\white@between} + \nxp\@initemno \nxp\@alitemyes \nxp\noindent + \nxp\step@counter{item}\relax + \iflabel@defined\else\nxp\define@reference{item}\fi + \CSname{\@name @item}} + } + \csarg\edef{\@name @item}{ + \iflist@has@description \nxp\desc@item + \else \nxp\num@item\fi} + \@Labelize{\@name @item} + } +\normaleol + +% Inside a list Foo \item is defined as +% +% \item = all sorts of skips and switches +% step item counter, define reference +% \Foo@item +% +% \Foo@item[opt.lab.] = \desc@item or \num@item +% +% \desc@item = +% { \aftergroup\num@item \@description} +% +% \num@item = \item@label \item@a@coms \xx@label +% + +% Item +% start with start/left/right +% indicating alignment, start = left +% +\newif\ifleft@item \newif\ifitem@tab +\add@List@default{\left@itemyes \item@tabno} +\newtoks\item@coms % content of the item label +\newtoks\item@b@coms % start of the list? +\newtoks\item@a@coms % immediately after the item +\newtoks\item@e@coms % after the whole list +\add@List@default{\item@coms{}\item@b@coms{}\item@a@coms{} + \item@e@coms{}\def\@current@options@list{item@b@coms}} +\@ListOption{item}{ + \switch {\if\EqualString{#1}} + {stop} {\@add@toks{\egroup}\e@group + \def\@current@options@list{item@a@coms}} + {tabstop} {\item@tabyes + \@add@toks{\egroup}\e@group + \def\@current@options@list{item@a@coms}} + {left} {\global\left@itemyes + \b@group\def\@current@options@list{item@coms}% + \@add@toks{\bgroup}} + {start}{\global\left@itemyes + \b@group\def\@current@options@list{item@coms}% + \@add@toks{\bgroup}} + {right}{\global\left@itemno + \b@group\def\@current@options@list{item@coms}% + \@add@toks{\bgroup}} + {default} {\Emessage{Unknown option #1 for List, item}} + \endswitch} + +% Label overflow +% +\newif\iflabel@flow@right +\add@List@default{\label@flow@rightyes} +\@ListOption{labeloverflow}{ + \if\EqualString{#1}{left}\label@flow@rightno + \else\label@flow@rightyes\fi} + +% Description +% the line after \item gets picked up, +% and becomes available as `description' +% +\newif\iflist@has@description +\add@List@default{\list@has@descriptionno} +\@ListOption{description}{ + \global\list@has@descriptionyes \@add@toks{\description@text}} +{\noeol + \othercr +\gdef\@description{\bgroup\othercr \@@description} +\gdef\@@description#1^^M + {\gdef\description@text{#1}% + \egroup % balance the \bgroup in \@description + % which kept the \othercr local + \egroup % balance the \bgroup in \desc@item + % which enabled the \aftergroup\num@item + } +} +\def\desc@item{\bgroup + \aftergroup\num@item + \@description} + +% White between items +% +\add@List@default{\def\white@between{0pt}} +\@ListOption{whitebetween}{\def\white@between{#1}} +% \edef\white@between{\@w@w{#1}}} + +% Indentation +% is automatic (default) and level dependent +% or explicit +% +\newif\ifauto@indent +\add@List@default{\auto@indentyes} +\@ListOption{indentation}{ + \if\EqualString{#1}{automatic}\auto@indentyes + \else\auto@indentno + \edef\cs@e{\nxp\indent@depth={\@w@w{#1}}}\cs@e + \fi} + +% Tail of the list: +% everything after the keyword 'text' is tail +% +\@ListOption{text}{\at@breakpointyes + \def\@current@options@list{item@e@coms}} + +%%%%%%%%%%%%%%%% List Nesting Counters +% + +% Item sign +% gives the default, level dependent marker +% +\new@@counter{itemlevel} \set@counter{itemlevel}0 +\newif\ifitem@list +\add@List@default{\item@listno} +\@ListOption{itemsign}{ + \global\item@listyes + \edef\cs@e{\nxp\@add@toks + {\nxp\ifcustom@label\nxp\the\current@label + \nxp\else\nxp\item@sign\counter@@name{itemlevel}% + \nxp\fi}} + \cs@e} +\def\@item@sign#1{itemsign\romannumeral#1} +\def\item@sign#1{\if\UndefinedCS{\@item@sign{#1}}\@@item@sign{#1}% + \else \csname \@item@sign{#1}\endcsname \fi} +\def\@@item@sign#1{\ifcase#1\relax\or + $\bullet$\or $\circ$ \or --\else $\cdot$\fi} +\def\SetItemSign:#1=#2{\csarg\edef{\@item@sign{#1}}% + {\cswitch \ifx#2 in: + b $\bullet$; + c $\circ$; + d $\diamond$; + m ---; + n --; + . $\cdot$; + default $\cdot$; + \endswitch}} + +% Item Counter +% +% Allocate a bare bones counter +\new@@counter{item}\represent@counter{item}1 +\newtoks\item@RL \item@RL{} + +% Keep track of enumerate list level +% +\new@@counter{enumlevel} \set@counter{enumlevel}0 +\newif\ifenum@list +\add@List@default{\enum@listno} +\@ListOption{itemCounter}{ + \global\enum@listyes + \@add@toks{\pad@clear\ifcustom@label\the\current@label + \else\itemCounter\fi} + } +\def\@enum@repr#1{enumrepr\romannumeral#1} +\def\enum@repr#1{\if\UndefinedCS{\@enum@repr{#1}}\@@enum@repr{#1}% + \else \csname \@enum@repr{#1}\endcsname \fi} +\def\@@enum@repr#1{\ifcase#1\relax\or + 1\or A\or I\or a\or i\else 1\fi} +\def\SetItemCounterRepresentation:#1=#2{\csarg\edef{\@enum@repr{#1}}{#2}} + +% +\def\@itembreek{\if@initem\par\fi} + +% Clear items for Widest. +% this is rather susceptible for improvement. +% +\def\ClearFor:#1 + {\def\widest@pad{#1}} +\def\widest@pad{\m@ne} +\def\pad@clear{\ifnum\widest@pad=\m@ne\else + \tempcounta\widest@pad + \advance\tempcounta-\LogTen{\cs@counter@name{item}}\relax + \hphantom{\ifcase\tempcounta \or 9\or 99 \or 999 \or 9999 \else 99999\fi + }% + \fi} + +%%%%%%%%%%%%%%%% Stripped Lists +% +% for use in external files +% + +\@GenericConstruct{ExternalItem}%stripped list + +\add@ExternalItem@default{\extra@args\tw@} + +\noeol +\def\@DefineExternalItem{ + \@DefineStopCommand{\@gen@close} + \ifx\pre@fix\@empty \Wmessage{No file for external item: \@name}\fi + \edef\cs@e{\nxp\append@to@list + {\pre@fix @local@defs} + {\nxp\if\nxp\UndefinedCS{\@command} + \nxp\Wmessage{Item `\@name' not defined for `\pre@fix'} + \nxp\else + \let\CSname{\@name}\CSname{\@command} + \nxp\fi}} + \cs@e + \csarg\edef{\@command}##1##2{ + \def\CSname{\@name Label}{##1} + \@gen@open\def\nxp\Page{##2} + \nxp\PushIndentLevel \let\nxp\nl\relax + \the\item@b@coms + \def\nxp\item{\ifleft@embedded@construct\else\noindent\fi + \setbox\@labelbox=\hbox{\the\item@coms} + \nxp\ifdim\wd\@labelbox>\previousindent + \iflabel@flow@right \hskip-\previousindent\box\@labelbox + \else \nxp\llap{\box\@labelbox}\fi + \nxp\else \llap{\hbox to \previousindent + {\ifleft@item\else\hfil\fi + \box\@labelbox \ifleft@item\hfil\fi}} + \nxp\fi}% + \ifexternal@item@has@item\nxp\item\the\item@a@coms\fi + \ifright@embedded@construct\else\@par\fi + \iflong@external\else\nxp\>\fi + } + } +\normaleol + +\add@ExternalItem@default{\@whitebefore\z@toks} +\add@ExternalItem@default{\@whiteafter\z@toks} +\add@ExternalItem@default{\let\Page\@space + \csarg\let{\@name Label}\@space} + +% Specify for what external file this is meant +% +\@ExternalItemOption{file}{ + \if\UndefinedCS{\file@ext@name{#1}} + \Emessage{File <#1> has not been defined yet}\fi + \def\pre@fix{#1}} + +\newif\iflong@external +\add@ExternalItem@default{\long@externalno} +\@ExternalItemOption{long}{ + \csname long@external#1\endcsname} + +% Commands before and after +% option 'title' is dummy +% +%\@ExternalItemOption{title}{} +% dangerous: better rely on automatic titelization + +% Item +% start with start/left/right +% indicating alignment, start = left +% +\add@ExternalItem@default{\left@itemyes} +\add@ExternalItem@default{\item@coms{}\item@b@coms{}\item@e@coms{} + \item@a@coms{}\def\@current@options@list{item@b@coms}} +\newif\ifexternal@item@has@item +\adds@ExternalItem@default{\external@item@has@itemno} +\def\ExternalItem@item{\external@item@has@itemyes + \List@item} + +% Label overflow +% +\add@ExternalItem@default{\label@flow@rightyes} +\let\ExternalItem@labeloverflow\List@labeloverflow + +\endinput + +% 92/11/26 itemsign / itemCounter changed to handle custom@label +% 93/01/03 item call in ExternalItem made conditional \ No newline at end of file diff --git a/macros/plain/formats/lollipop/tex/lollipop-output.tex b/macros/plain/formats/lollipop/tex/lollipop-output.tex new file mode 100644 index 0000000000..57b0ef8332 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-output.tex @@ -0,0 +1,744 @@ +% lollipop-output.tex copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%% O U T P U T %%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\@GenericConstruct{PageGrid} + +\newif\if@pagegrid@installed +\ifini{\next@paragraph + {\if@pagegrid@installed \else + \Wmessage{No page grid installed}\fi + }} +\NewTrace:out +\add@PageGrid@default{\text@constructno} +\add@PageGrid@default{\has@marksyes} + +\newtoks\user@overrides +\def\add@user@override#1{\append@to@list{user@overrides}{#1}} + +\newif\if@nubalanceren +\newinsert\botins + +%%%% Page counting +% +% \count0 is the paper counter: +% is increased for every \shipout in the output routine +% \count1 is the page counter: +% you can do with it whatever you like. + +% This appears to the users as if \NewCounter:Page had been done. +% We do it by hand because the number has to be 1. +% +\countdef\sheet@counter=0 +\csarg\countdef{\counter@name{Page}}=1 +\edef\PageValue{\counter@@name{Page}} +\CounterRepresentation:Page=1 +\newtoks\Page@RL %trudge trudge! +\SetCounter:Page=1 + +%%%% Tests +% +\DefineTest:IsRightPage +\DefineTest:IsLeftPage +\DefineTest:IsFirstPage +\DefineTest:IsLastPage +\DefineTest:FlushBottom + +%% anonieme cs'en zijn in gebruik bij opbouw en gebruik %% +% \tempdima : / klad; gebruikt voor hoofdmeting; daarna in \text@column +% \tempdimc : / klad; gebruikt voor voetmeting +% \cs@a : in gebruik door \haalitems + +\def\slotpenalty{-10001} + +\def\@pseudoif#1#2{\tempcounta\escapechar \noesc + \edef\cs@e{\let\CSname{if@\string#1}\CSname{if\string#2}}\cs@e + \escapechar\tempcounta} +\@pseudoif\IsFirstPage\true \@pseudoif\IsLastPage\true +\@pseudoif\IsRightPage\true +\@pseudoif\IsLeftPage\false + +\def\leftright@setup + {\csarg\ifodd{\counter@name{Page}}\relax + \IsRightPage:yes \IsLeftPage:no + \else \IsRightPage:no \IsLeftPage:yes + \fi} +\def\firstpage@setup{\def\cs@a{yes} + \edef\cs@b{\xp\get@placed\xp{\firstmark}{first@page}} + \ifx\cs@a\cs@b \IsFirstPage:yes \else \IsFirstPage:no \fi} +\def\lastpage@setup + {\ifnum\outputpenalty=\slotpenalty\relax + \Tmessage[out]{Last page}\IsLastPage:yes + \else \IsLastPage:no + \fi} +\def\output@setup{\let\par\@par + \parindent\z@ \leftskip\z@ \rightskip\z@ \lineskip\z@ + \default@everypar \MainFont + \leftright@setup \firstpage@setup \lastpage@setup + \@colnum\@ne \output@set@page@width + \Tmessage[out]{Incoming text: (\the\ht\@cclv+\the\dp\@cclv) x + \the\wd\@cclv} + } + +%%%%%%%%%%%%%%%% Head, Foot, Body +% +% Separate boxes are allocated for the page +% head, body, and foot. +% Head and foot contain static material, the +% body contains the text. The body can be empty. +% +\newbox\page@head@box \newtoks\page@head@toks +\page@head@toks{} +\add@PageGrid@default + {\page@head@toks={\setbox\page@head@box=\vbox\bgroup}} +\newdimen\head@height +\def\measure@head{\head@height=\ht\page@head@box + \advance\head@height\dp\page@head@box + \Tmessage[out]{Head measurement: \the\head@height}} + +\newbox\page@foot@box \newtoks\page@foot@toks +\page@foot@toks{} +\add@PageGrid@default{\page@foot@toks= + {\setbox\page@foot@box=\vbox\bgroup}} +\newdimen\foot@height +\def\measure@foot{\foot@height=\ht\page@foot@box + \advance\foot@height\dp\page@foot@box + \Tmessage[out]{Foot measurement: \the\foot@height}} + +\def\goal@height@trace + {\tempdimb\text@height + \multiply\tempdimb\ifnum\user@n@cols=\m@ne\n@cols\else\user@n@cols\fi + \Tmessage[out]{Aim for text height: \the\text@height\@space + \ifnum\user@n@cols>\m@ne (\the\user@n@cols\@space columns; + total height: \the\tempdimb) + \else\ifnum\n@cols>\@ne (\the\n@cols\@space columns; + total height: \the\tempdimb) + \fi\fi}} + +\def\report@body@measurement{ + \Tmessage[out]{Body measurement: + (\the\ht\page@body@box+\the\dp\page@body@box) + x\the\wd\page@body@box} + \ifvoid\topins\else + \Tmessage[out]{Top inserts: \the\ht\topins+\the\dp\topins}\fi + \ifvoid\botins\else + \Tmessage[out]{Foot inserts: \the\ht\footins+\the\dp\footins}\fi + } + +\newbox\page@body@box \newtoks\page@body@toks +\page@body@toks{} +\add@PageGrid@default + {\page@body@toks={\setbox\page@body@box=\vbox\bgroup}} + +\def\finish@part@routines + {\append@to@list{page@head@toks}{\egroup\measure@head} + \append@to@list{page@foot@toks}{\egroup\measure@foot} + \append@to@list{page@body@toks}{\egroup}} + +\newbox\WholePage +\def\make@page{ + \setbox\WholePage=\vbox + {\box\page@head@box + \ifabut@head\nointerlineskip\fi + \ifabut@foot\tempdima\dp\page@body@box\fi + \box\page@body@box + \ifabut@foot\ifvoid\page@foot@box\else + \kern-\tempdima\relax\nointerlineskip\fi\fi + \box\page@foot@box}%\showbox\WholePage + } + +% \vsize has two possibilities: +% 1/ it is calculated dynamically by subtracting +% body and foot height from the total page height. +% If \vsize is different from \ht255, the page +% is thrown back. +% 2/ it is set and the page has whatever size results. +% +\newif\iftext@fits +\def\see@if@text@fits + {{\multiply\text@height\n@cols + \tempdima\text@height + \advance\tempdima-\vsize + \ifdim\tempdima<\z@ \tempdima=-\tempdima \fi + \ifdim\tempdima<.1pt\relax + \global\text@fitsyes + \Tmessage[out]{Page accepted.} + \else \global\text@fitsno + \Tmessage[out]{Text does not fit. (vsize=\the\vsize)} + \global\vsize=\text@height + \fi}} + +% Multicolumn stuff +% +% every PageGrid macro installs \n@cols, but the user +% can specify a different number with \NumberOfColumns:x +% This sets \user@n@cols which is usually -1 +% +\newcount\n@cols \n@cols\@ne +\newcount\@colnum +\newcount\user@n@cols \user@n@cols\m@ne +\Distance:GutterWidth=1cm +\def\NumberOfColumns:#1 + {\user@n@cols=\w@w{#1}\relax + \Tmessage[out]{Switch to \the\user@n@cols\@space columns} + \hsize\page@width + \tempdima\GutterWidth \multiply\tempdima\user@n@cols + \advance\tempdima-\GutterWidth + \advance\hsize-\tempdima \divide\hsize\user@n@cols + \Tmessage[out]{New hsize: \the\hsize}} +\add@user@override{\ifnum\user@n@cols=\m@ne\else + \csarg\let{\output@routine @body}\trivial@body + \n@cols\user@n@cols + \Tmessage[out]{User override: \the\n@cols\@space columns.}% + \fi} + +\def\trivial@body{\Tmessage[out]{Trivial multicolumn (\the\n@cols) setup} + \@colnum\@ne \splittopskip\topskip + \setbox\page@body@box\hbox{\text@column} + \@colnum\tw@ + \ifnum\n@cols>\@ne + \loop \setbox\page@body@box\hbox{\unhbox\page@body@box + \kern\GutterWidth \text@column} + \advance\@colnum\@ne + \ifnum\@colnum>\n@cols\else\repeat + \fi} +\def\real@text@column{\begingroup\vbadness\@M + \setbox\z@ + \ifnum\n@cols=\@ne + \vbox to \vsize{\boxmaxdepth\maxdepth + \ifvoid\topins\else\unvbox\topins \fi + \unvbox\@cclv % open up \box255 + \ifvoid\footins\else % footnote info is present + \vskip\skip\footins + \footnoterule + \unvbox\footins \fi}% + \Tmessage[out]{Column: \the\ht\z@+\the\dp\z@}% + \else + \vsplit\@cclv to \text@height + \Tmessage[out]{Column \the\@colnum: \the\ht\z@+\the\dp\z@}% + \fi \ifnum\badness=\@M\Wmessage{Underfull textcolumn}\fi + \box\z@ \endgroup} + +\def\CurrentShipout{\shipout\box\WholePage} +\let\OriginalShipout\CurrentShipout +\newif\ifCountSheets \CountSheetsyes +\def\finish@off@page{\Tmessage[out]{Whole page: + \the\ht\WholePage+\the\dp\WholePage} + {\def\protect{\noexpand\protect\noexpand} + \def\cprotect{\expandafter\string} + \normalesc + \ifsink@pages + \message{Page sunk [\the\sheet@counter.\csarg\the + {\counter@name{Page}}]} + \deadcycles\z@ + \else \CurrentShipout + \ifCountSheets\global\advance\sheet@counter\@ne\fi + \fi + } + \global\step@counter{Page} + } +\def\shipout@and@unbox@remainder{ + \iftext@fits \make@page \finish@off@page \fi + \ifvoid\@cclv \Tmessage[out]{Shipped out whole page} + \else \Tmessage[out]{Part of page not shipped: \the\ht\@cclv} + \unvbox\@cclv + \ifnum\outputpenalty=\@M\else\penalty\outputpenalty\fi + \fi + \iftext@fits \ifother@grid\install@next@page@grid + \else\Tmessage[out]{Same grid once again.}\fi + \fi} + +\newif\ifsink@pages +\sink@pagesno +\let\NoPages\sink@pagesyes \let\PagesOut\sink@pagesno + +% this is a mess. clear up please. +\newtoks\page@options +\def\options@to@pagepart + {\append@toks@cs@to@list{page@\page@part @toks}\page@options + \page@options={}} +\add@PageGrid@default{\csarg\newtoks{\@name @routine} + \def\@current@options@list{page@options} + \def\page@part{head}\page@options{} + } + +\def\install@output@routine#1{{\globaldefs\@ne + \output=\xp{\csname#1@routine\endcsname}% + \def\output@routine{#1}% + \Tmessage[out]{Install output: #1 ---}% + \@pagegrid@installedyes + \csname#1@install@parameters\endcsname + }} + +\newdimen\text@height + +% During the load of this file we build up a list of +% defaults and test. These are then turned into PageGrid@default +% at the end of this file. +\newtoks\otr@settings \newtoks\otr@conditions +\def\add@otr@setting#1{\append@to@list{otr@settings}{#1}} +\def\del@otr@setting#1{\del@tok@from@list{otr@settings}#1} +\def\add@otr@condition#1{\append@to@list{otr@conditions}{#1}} +\def\set@otr@stuff{\def\cs@e##1{ + \edef\cs@f{\nxp\adds@PageGrid@default{\global##1={\the##1}}} + \cs@f} + \cs@e\otr@settings \cs@e\otr@conditions} +%\showthe\otr@settings \showthe\otr@conditions +%\showthe\PageGrid@defaults} + +\def\@DefinePageGrid{\options@to@pagepart \finish@part@routines + \csarg\edef{\@name @install@parameters}{% + \vsize\the\height@toks\relax \set@topskip + \multiply\vsize + \nxp\ifnum\user@n@cols>\@ne\user@n@cols\relax + \nxp\else\the\n@cols\relax\nxp\fi + \hsize\the\width@toks\relax + \def\CSname{\@name @page@width}% + {\the\width@toks\relax}% + \nxp\Tmessage[out]{Initial hsize: \nxp\the\hsize}% + \ifwidth@of@text + \else \nxp\hsize@from@page@width + \ifnum\the\n@cols>1 + \divide\hsize\the\n@cols\relax\fi + \fi + \nxp\Tmessage[out]{Installed hsize: \nxp\the\hsize}% + } + \csarg\edef{\@name @otr@parameters}{% + \the\otr@settings + \xp\@empty\the\otr@conditions + \CSname{height@of@text\ifheight@of@text yes\else no\fi}% + \text@height\the\height@toks\relax + \CSname{width@of@text\ifwidth@of@text yes\else no\fi}% + \n@cols\the\n@cols\relax} + \csarg\edef{\@name @head@foot}{\the\page@head@toks + \the\page@foot@toks + \ifheight@of@text\else + \advance\text@height-\head@height + \advance\text@height-\foot@height + \fi} + \csarg\edef{\@command @body}{\the\page@body@toks} + \csarg\edef{\@command}{% + \nxp\EjectPage + \nxp\install@output@routine{\@name}% + %\global\hsize= \ifseen@text \CSname{\@name @text@width}% + % \else \CSname{\next@page@grid @text@width}% + % \fi + \outer@start@commands \after@indent + } + \csarg\edef{\@name @routine}{ + \nxp\Tmessage[out]{======== Output routine: \@name\@space ==========} + \nxp\output@setup + \CSname{\@name @otr@parameters} + \nxp\the\user@overrides + \CSname{\@name @head@foot} + \nxp\goal@height@trace + \ifnum\n@cols=\z@ %% no text, trivial case. + \setbox\page@body@box\voidb@x + \nxp\text@fitsyes + \else \nxp\ifragged@bottom\nxp\text@fitsyes + \nxp\else\nxp\see@if@text@fits\nxp\fi + \nxp\iftext@fits + \let\nxp\text@column\nxp\real@text@column + \tempcounta\hbadness\hbadness\@M\CSname{\@name @body} + \nxp\ifnum\badness>\tempcounta + \nxp\Wmessage{Underfull page body}\nxp\fi + \hbadness\tempcounta\nxp\report@body@measurement + \nxp\fi + \fi + \nxp\shipout@and@unbox@remainder + \nxp\Tmessage[out]{==========}% + } + \xp\install@output@routine\xp{\@name} + } + +% not operative yet. +\new@dimen{user@page@height}{\m@ne sp} +\new@dimen{user@text@height}{\m@ne sp} +\def\Height:#1=#2 + {\switch {\if\EqualString{#1}} + {Page} {\user@page@height\w@w{#2}} + {Text} {\user@text@height\w@w{#2}} + {default} {\Wmessage{Unknown option: `Height:#1=#2'}} + \endswitch} + +%-- height of page/text +% +% the \ifheight@of@text conditional is also used +% during run time. +% +\newif\ifheight@of@text +\newtoks\height@toks \newdimen\page@height +\add@PageGrid@default{\height@of@textyes\height@toks{20cm}} +\add@PageGrid@default{\let\text@lines\relax} +\@PageGridOption{height}{ + \switch {\if\EqualString{#1}} + {page} {\height@of@textno} + {text} {\height@of@textyes} + {lines} {\height@of@textyes + \edef\cs@e{\def\nxp\text@lines{\@w@w{#2}}}\cs@e} + {default} {\Wmessage{Strange modifier: `height:#1=#2'}} + \endswitch + \edef\cs@e{\nxp\height@toks={\@w@w{#2}}}\cs@e + } +% Make sure that the \Height command is not used! +\@PageGridNOOP{Height} + +%%%% +% +% Width handling +% +\newif\ifwidth@of@text +\newtoks\width@toks \newdimen\page@width +\@PageGridOption{width}{ + \switch {\if\EqualString{#1}} + {page} {\width@of@textno} + {text} {\width@of@textyes} + {default} {\Wmessage{Strange modifier: `width:#1=#2'}} + \endswitch + \edef\cs@e{\nxp\width@toks={\@w@w{#2}}}\cs@e + } + +% Make sure that the \Width command is not used! +\@PageGridNOOP{Width} + +% At installation of the output routine, calculate the hsize +% if the page width is given. +% +\def\hsize@from@page@width + {\def\text@column{\hskip\z@\relax}% + \everyhbox{}\everyvbox{}% + \let\maybe@to@page@width\relax + \the\page@body@toks +%\ifdim\wd\page@body@box>0pt \showthe\page@body@toks \fi + \Tmessage[out]{Width page body minus text: \the\wd\page@body@box}% + \global\advance\hsize-\wd\page@body@box} + +% At the start of the output routine, calculate the page width +% from the hsize (which may have been tinkered with), or set to +% routine-specific page width (which may also have been changed). +% +\def\output@set@page@width + {\ifwidth@of@text + \edef\text@column{\hskip\the\wd\@cclv\relax\hskip\z@\relax}% + \let\maybe@to@page@width\relax + \csn\output@routine @body\ecs + \page@width\wd\page@body@box + \Tmessage[out]{Deduced page width: \the\page@width} + \else \def\maybe@to@page@width{ to \page@width} + \page@width\csn\output@routine @page@width\ecs\relax + \fi} + +%%%% Topskip +% initially the outer topskip is picked up, unless +% the option 'topskip' is given. +% +\add@PageGrid@default + {\edef\set@topskip + {\topskip\the\topskip\relax\splittopskip\topskip}} +\@PageGridOption{topskip}{ + \edef\cs@e + {\def\nxp\set@topskip{\topskip\@w@w{#1}\relax + \splittopskip\topskip}} + \cs@e + } +% ragged bottom the way it's done in plain TeX. +\newif\ifragged@bottom +\add@otr@setting{\ragged@bottomno} +\@PageGridOption{raggedbottom}{ + \del@otr@setting{\ragged@bottomno} + \add@otr@setting{\ragged@bottomyes} + \if\IsEmptyList{#1}\@add@toks{\var@topskip{60pt}} + \else\edef\cs@e{\nxp\@add@toks{\nxp\var@topskip{\@w@w{#1}}}} + \cs@e + \fi} +\def\var@topskip#1{\tempdima\topskip\tempskipa\z@ plus #1\relax + \topskip\tempdima \advance\topskip\tempskipa + \splittopskip\topskip} + +%-- textband +\newif\ifin@textband \add@PageGrid@default{\in@textbandno} +\@PageGridOption{textband}{ + \switch {\if\EqualString{#1}} + {start} {\start@textband} + {stop} {\stop@textband} + {default} {\Wmessage{Strange modifier `textband:#1'}} + \endswitch} +\newdimen\text@width +\def\start@textband + {\options@to@pagepart + \b@group[textband]\@hmodeyes\in@textbandyes + \@add@toks{\hbox \maybe@to@page@width\bgroup} + } +\def\stop@textband + {\@add@toks{\egroup} \e@group[textband] + \ifseen@text \before@textno + \def\page@part{body} \options@to@pagepart + \def\page@part{foot} + \fi} + +%-- band +\newif\ifabut@foot \newif\ifabut@head +\add@otr@setting{\abut@footno \abut@headno} +\@PageGridOption{band}{ + \switch {\if\EqualString{#1}} + {start} {\@add@toks{\hbox to \page@width\bgroup} + \b@group[band]\@hmodeyes + \def\block@closing{\@add@toks{\hfil\egroup} + \e@group[band]}} + {invisible} {\@add@toks{\setbox\tempboxa + \hbox to \page@width\bgroup} + \b@group[band]\@hmodeyes + \def\block@closing{\@add@toks{\hfil\egroup} + \ifbefore@text + \@add@toks{\vtop to\z@{\kern\z@\box\tempboxa\vss} + \nointerlineskip} + \del@otr@setting{\abut@headno} + \add@otr@setting{\abut@headyes} + %\global\abut@headyes + \else \@add@toks{\nointerlineskip + \vbox to\z@{\vss\box\tempboxa}} + \del@otr@setting{\abut@footno} + \add@otr@setting{\abut@footyes} + %\global\abut@footyes + \fi\e@group[band]}} + {stop} {\block@closing} + {default} {\Wmessage{Strange modifier `band:#1'}} + \endswitch} + + +%-- next page grid +\newif\ifother@grid +\add@PageGrid@default{\other@gridno} +\add@otr@setting{\other@gridno} +\add@otr@condition{\ifother@grid + \def\nxp\install@next@page@grid + {\nxp\install@output@routine{\next@page@grid}}% + \fi} +\@PageGridOption{NextPageGrid}{\other@gridyes + \del@otr@setting{\other@gridno} + \add@otr@setting{\other@gridyes} + \def\next@page@grid{#1} + } + +%-- text +\add@PageGrid@default{\n@cols\z@} +\newif\ifbefore@text +\newif\ifseen@text %this one is also used by 'external' +\add@PageGrid@default{\before@textyes \seen@textno} +\@PageGridOption{text}{\global\seen@textyes + \ifin@textband\else\Emessage{'text' has to be in 'textband'}\fi + \global\advance\n@cols\@ne + \@add@toks{\text@column}} + +%%%%%%%%%%%%%%%%%%%%%%% user commands + +\def\leegbladinvoegen{\@g@stapteller{Page}} +\def\EjectPage{\vfil\eject} +\def\ToRecto{\csarg\ifodd{\counter@name{Page}}\else\step@counter{Page}\fi} +\def\ToVerso{\csarg\ifodd{\counter@name{Page}}\step@counter{Page}\fi} + +% less useful user command (mostly for formatting the manual :-) +% +\newbox\saved@page@box \newdimen\saved@hsize \newcount\saved@pageno +\newtoks\saved@mark@items +\def\SuspendOutput{\xdef\saved@output@routine{\output@routine}% + \let\saved@shipout\CurrentShipout + \global\saved@hsize\hsize \global\saved@mark@items\mark@items + \global\saved@pageno\cs@counter@name{Page}% + \output{\global\setbox\saved@page@box\box\@cclv + \Tmessage[out]{Suspend output @\the\saved@pageno; + saved (\the\ht\saved@page@box+\the\dp\saved@page@box) + x \the\wd\saved@page@box}% + \global\output{\Emessage{You should not call output now!}% + \OriginalShipout\box\@cclv}}% + \eject + } +\def\ResumeOutput + {\xp\install@output@routine\xp{\saved@output@routine}% + \let\CurrentShipout\saved@shipout + \global\hsize\saved@hsize \global\mark@items\saved@mark@items + \global\cs@counter@name{Page}\saved@pageno + \unvbox\saved@page@box + \Tmessage[out]{Resume output}% + } + +%%%%%%%%%%%%%%%% Marks +%%%% +\NewTrace:mark +\def\FirstPlaced:#1 + {\Tmessage[mark]{First Placed #1 from \firstmark}% + \xp\get@placed\xp{\firstmark}{#1}} +\def\PreviousPlaced:#1 + {\Tmessage[mark]{Previous Placed #1 from \topmark}% + \xp\get@placed\xp{\topmark}{#1}} +\def\LastPlaced:#1 + {\Tmessage[mark]{Last Placed #1 from \botmark}% + \xp\get@placed\xp{\botmark}{#1}} +\def\get@placed#1#2{% + \get@@placed{#2}#1{SM}{}$}% SM: StopMarker +\def\get@@placed#1#2#3{\if\EqualStringX{#2}{SM}\xp\take@to@dollar + \else\if\EqualStringX{#1}{#2}% + \maybe@uppercase{#3}\xp\xp\xp\take@to@dollar + \else\xp\xp\xp\get@@placed\fi + \fi{#1}} +\ifini{\newtoks\mark@items} + % \newtoks\mark@toks % is this one used? + +\newif\ifhas@marks +\add@generic@default{\has@marksno} + % only yes in heading and output routine. + % it seems that you can have page breaks at marks... +\@GenericOption{nomarks}{\has@marksno} +\def\add@mark@item#1{\csarg\newtoks{mark@toks@#1}% + \Tmessage[mark]{Adding mark item #1}% + \global\mark@items\xp{\the\mark@items{#1}}} +\def\refresh@mark@item#1#2{\csarg\global{mark@toks@#1}{#2}} +\def\get@mark@items#1{\if\EqualStringX{#1}{SM}% + \else{#1}{\csarg\the{mark@toks@#1}}\xp\get@mark@items + \fi} +\def\place@mark{\mark{\xp\get@mark@items\the\mark@items{SM}}} + +% this one should be defined in document.tex +\add@mark@item{first@page} + +% Page wide rule + +\@PageGridOption{pagerule}{ + \@add@toks{\hrule width\page@width\relax\nobreak}} + +% Set default otr@settings and otr@conditions +\set@otr@stuff + +\endinput + +92/10/24 raggedbottom in progress +92/11/04 splittopskip made equal to topskip +92/11/14 messed with otr@xyz token lists +92/11/15 warning on underfull text column; + ragged bottom still not working properly +93/01/17 box \WholePage, new definition of \CurrentShipout + + +%%%%%%%%%%%%%%%%%%%%%% Old Stuff; maybe useful, maybe not + +\newskip\@topS \newskip\@botS +{\noeol +\othercr +\gdef\topillustratie{\bgroup\othercr \@topill} +\gdef\@topill:#1=#2^^M{\edef\cs@e{\gdef\CSname{@topS#1}{#2}} + \cs@e \global\advance\@topS #2\egroup} +\gdef\botillustratie{\bgroup\othercr \@botill} +\gdef\@botill:#1=#2^^M{\edef\cs@e{\gdef\CSname{@botS#1}{#2}} + \cs@e \global\advance\@botS #2\egroup}} + +\def\@wisill{\global\@topS\z@ \global\@botS\z@ + \csarg\gdef{@topS1}{\z@}\csarg\gdef{@botS1}{\z@} + \csarg\gdef{@topS2}{\z@}\csarg\gdef{@botS2}{\z@} + \csarg\gdef{@topS3}{\z@}\csarg\gdef{@botS3}{\z@} + } +\@wisill + +\newtoks\@stramienlijst +\def\invoerpad{} +\def\opmaak: #1\par{\@stramienlijst={} + \def\cs@a##1 {\eqstring{##1}{klaar}{}% + {\append@to@list{@stramienlijst}{\@probeerstramien ##1;} + \cs@a}} + \cs@a #1klaar }%% let op de significante spaties!! + %% en de spatie achter het laatste stramien komt van de ^^M +\def\invoer: #1 { + \def\@probeerstramien ##1;{\csn ##1\ecs + \message{Ik probeer het met opmaak: ##1} + \@installeertellers{##1} + \input \invoerpad#1.tex + \vfill\eject + \@bewaartellers{##1} + } + \the\@stramienlijst} + +%% uitloop van vorige output routine +% iftempf: als pagina geen uitloop gebruikt, direct eventuele +% uitloop leeg gooien. +% laatste pagina: tempboxa <- vbox{unvcopy255} +% er wordt een pagina uitgeworpen: +% - 255 is void: invoer is op, dus uitlopen +% als dit de laatste pagina was +% - 255 non-void: er is iets terug te werpen; dit was kennelijk niet +% de laatste pagina, dus geen uitloop. + +\newbox\@uitloop \newbox\@tempuitloop \newif\ifisereenuitloop + \Tmessage[out]{Aangetroffen uitloop: \the\ht\@uitloop+\the\dp\@uitloop} + +%-- uitloop +% mag alleen in kop of voet voorkomen. +\setbox\@tempuitloop= + \vbox{\ifvoid\topins\else\unvcopy\topins\fi + \unvcopy\@cclv\kern\z@} +\setbox\@tempuitloop=\hbox{} +\@PageGridOption{uitloop}{\tempfyes + \@add@toks{\Tmessage[out]{Uitloop wordt verwerkt.}% + \copy\@uitloop + }} + + \iftempd + \iftempc \Tmessage[out]{Eerste pagina, derhalve:} + \@loopnietuit \else \@loopuit \fi + \else \Tmessage[out]{Niet de laatste pagina, derhalve:} + \@loopnietuit \fi + + \iftempf \else \nxp\@uitloopwegwerpen \fi %geheugenbesparing. + +\def\@loopuit{\global\isereenuitloopyes + \global\setbox\@uitloop=\box\@tempuitloop + \Tmessage[out]{Uitloop: \the\ht\@uitloop+\the\dp\@uitloop}} +\def\@loopnietuit{\global\isereenuitloopno \@uitloopwegwerpen} +\def\@uitloopwegwerpen{ + \Tmessage[out]{Uitloop weggegooid: \the\ht\@uitloop+\the\dp\@uitloop} + \global\setbox\@uitloop=\hbox{}} + +%-- veld %% is deze nog nodig nu we 'tekstblok' generisch hebben? +\@PageGridOption{veld}{ + \eqstring{#1}{stop}% + {\@add@toks{\egroup}}% + {\@add@toks{\vtop\bgroup\kern0cm} + \eqstring{#1}{uitvullen}{}% + {\@add@toks{\hsize=\w@w{#1}} + \iftempc\advance\text@width-\w@w{#1}\fi} + }} +%-- parallel Nog eens goed over nadenken. +\@PageGridOption{parallel}{ + \eqstring{#1}{stop}% + {\@add@toks{\vfil\egroup\egroup}}% + {\@add@toks{\vtop\bgroup\kern0cm + \vbox to \vsize\bgroup}% dit is fout. + \eqstring{#1}{uitvullen}{}% + {\iftempc\advance\text@width-\w@w{#1}\relax\fi + \@add@toks{\hsize=\w@w{#1}}} + }} +%-- kolommenbalanceren +% heeft alleen zin voor meerkoloms uitvoer, +% werkt alleen op laatste pagina +\@PageGridOption{kolommenbalanceren}{ + \eqstring{#1}{}{\tempgyes}{\csn tempg#1\ecs}} + +\endinput + +% 2016/04/14 Added \footnoterule to \real@text@column \ No newline at end of file diff --git a/macros/plain/formats/lollipop/tex/lollipop-plain.tex b/macros/plain/formats/lollipop/tex/lollipop-plain.tex new file mode 100644 index 0000000000..96a3ed703d --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-plain.tex @@ -0,0 +1,1249 @@ +% This is lollipop-plain.tex, the version of plain.tex adapted to the +% Lollipop format of Victor Eijkhout and Vafa Khalighi. +% copyright 1991/92 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +\catcode`\{=1 % left brace is begin-group character +\catcode`\}=2 % right brace is end-group character +\catcode`\$=3 % dollar sign is math shift +\catcode`\&=4 % ampersand is alignment tab +\catcode`\#=6 % hash mark is macro parameter character +\catcode`\^=7 \catcode`\^^K=7 % circumflex and uparrow are for superscripts +\catcode`\_=8 \catcode`\^^A=8 % underline and downarrow are for subscripts +\catcode`\^^I=10 % ascii tab is a blank space +\chardef\active=13 \catcode`\~=\active % tilde is active +\chardef\ignored=9 \chardef\other=12 +\catcode`\^^L=\active \outer\def^^L{\par} % ascii form-feed is "\outer\par" + +% We had to define the \catcodes right away, before the message line, +% since \message uses the { and } characters. +% When INITEX (the TeX initializer) starts up, +% it has defined the following \catcode values: +% \catcode`\^^@=9 % ascii null is ignored +% \catcode`\^^M=5 % ascii return is end-line +% \catcode`\\=0 % backslash is TeX escape character +% \catcode`\%=14 % percent sign is comment character +% \catcode`\ =10 % ascii space is blank space +% \catcode`\^^?=15 % ascii delete is invalid +% \catcode`\A=11 ... \catcode`\Z=11 % uppercase letters +% \catcode`\a=11 ... \catcode`\z=11 % lowercase letters +% all others are type 12 (other) + +% INITEX sets up \mathcode x=x, for x=0..127, except that +% \mathcode x=x+"7100, for x = `A to `Z and `a to `z; +% \mathcode x=x+"7000, for x = `0 to `9. +% The following changes define internal codes as recommended +% in Appendix C of The TeXbook: +\mathcode`\^^@="2201 % \cdot +\mathcode`\^^A="3223 % \downarrow +\mathcode`\^^B="010B % \alpha +\mathcode`\^^C="010C % \beta +\mathcode`\^^D="225E % \land +\mathcode`\^^E="023A % \lnot +\mathcode`\^^F="3232 % \in +\mathcode`\^^G="0119 % \pi +\mathcode`\^^H="0115 % \lambda +\mathcode`\^^I="010D % \gamma +\mathcode`\^^J="010E % \delta +\mathcode`\^^K="3222 % \uparrow +\mathcode`\^^L="2206 % \pm +\mathcode`\^^M="2208 % \oplus +\mathcode`\^^N="0231 % \infty +\mathcode`\^^O="0140 % \partial +\mathcode`\^^P="321A % \subset +\mathcode`\^^Q="321B % \supset +\mathcode`\^^R="225C % \cap +\mathcode`\^^S="225B % \cup +\mathcode`\^^T="0238 % \forall +\mathcode`\^^U="0239 % \exists +\mathcode`\^^V="220A % \otimes +\mathcode`\^^W="3224 % \leftrightarrow +\mathcode`\^^X="3220 % \leftarrow +\mathcode`\^^Y="3221 % \rightarrow +\mathcode`\^^Z="8000 % \ne +\mathcode`\^^[="2205 % \diamond +\mathcode`\^^\="3214 % \le +\mathcode`\^^]="3215 % \ge +\mathcode`\^^^="3211 % \equiv +\mathcode`\^^_="225F % \lor +\mathcode`\ ="8000 % \space +\mathcode`\!="5021 +\mathcode`\'="8000 % ^\prime +\mathcode`\(="4028 +\mathcode`\)="5029 +\mathcode`\*="2203 % \ast +\mathcode`\+="202B +\mathcode`\,="613B +\mathcode`\-="2200 +\mathcode`\.="013A +\mathcode`\/="013D +\mathcode`\:="303A +\mathcode`\;="603B +\mathcode`\<="313C +\mathcode`\=="303D +\mathcode`\>="313E +\mathcode`\?="503F +\mathcode`\[="405B +\mathcode`\\="026E % \backslash +\mathcode`\]="505D +\mathcode`\_="8000 % \_ +\mathcode`\{="4266 +\mathcode`\|="026A +\mathcode`\}="5267 +\mathcode`\^^?="1273 % \smallint + +% INITEX sets \uccode`x=`X and \uccode `X=`X for all letters x, +% and \lccode`x=`x, \lccode`X=`x; all other values are zero. +% No changes to those tables are needed in plain TeX format. + +% INITEX sets \sfcode x=1000 for all x, except that \sfcode`X=999 +% for uppercase letters. The following changes are needed: +\sfcode`\)=0 \sfcode`\'=0 \sfcode`\]=0 +% The \nonfrenchspacing macro will make further changes to \sfcode values. + +% Finally, INITEX sets all \delcode values to -1, except \delcode`.=0 +\delcode`\(="028300 +\delcode`\)="029301 +\delcode`\[="05B302 +\delcode`\]="05D303 +\delcode`\<="26830A +\delcode`\>="26930B +\delcode`\/="02F30E +\delcode`\|="26A30C +\delcode`\\="26E30F +% N.B. { and } should NOT get delcodes; otherwise parameter grouping fails! + +% To make the plain macros more efficient in time and space, +% several constant values are declared here as control sequences. +% If they were changed, anything could happen; so they are private symbols. +\chardef\@ne=1 +\chardef\tw@=2 +\chardef\thr@@=3 +\chardef\sixt@@n=16 +\chardef\@cclv=255 +\mathchardef\@cclvi=256 +\mathchardef\@m=1000 +\mathchardef\@M=10000 +\mathchardef\@MM=20000 + +% Allocation of registers + +% Here are macros for the automatic allocation of \count, \box, \dimen, +% \skip, \muskip, and \toks registers, as well as \read and \write +% stream numbers, \fam codes, \language codes, and \insert numbers. + +% When a register is used only temporarily, it need not be allocated; +% grouping can be used, making the value previously in the register return +% after the close of the group. The main use of these macros is for +% registers that are defined by one macro and used by others, possibly at +% different nesting levels. All such registers should be defined through +% these macros; otherwise conflicts may occur, especially when two or more +% macro packages are being used at once. + +% The following counters are reserved: +% 0 to 9 page numbering +% 10 count allocation +% 11 dimen allocation +% 12 skip allocation +% 13 muskip allocation +% 14 box allocation +% 15 toks allocation +% 16 read file allocation +% 17 write file allocation +% 18 math family allocation +% 19 language allocation +% 20 insert allocation +% 21 the most recently allocated number +% 22 constant -1 +% New counters are allocated starting with 23, 24, etc. Other registers are +% allocated starting with 10. This leaves 0 through 9 for the user to play +% with safely, except that counts 0 to 9 are considered to be the page and +% subpage numbers (since they are displayed during output). In this scheme, +% \count 10 always contains the number of the highest-numbered counter that +% has been allocated, \count 14 the highest-numbered box, etc. +% Inserts are given numbers 254, 253, etc., since they require a \count, +% \dimen, \skip, and \box all with the same number; \count 20 contains the +% lowest-numbered insert that has been allocated. Of course, \box255 is +% reserved for \output; \count255, \dimen255, and \skip255 can be used freely. + +% It is recommended that macro designers always use +% \global assignments with respect to registers numbered 1, 3, 5, 7, 9, and +% always non-\global assignments with respect to registers 0, 2, 4, 6, 8, 255. +% This will prevent ``save stack buildup'' that might otherwise occur. + +\count10=22 % allocates \count registers 23, 24, ... +\count11=9 % allocates \dimen registers 10, 11, ... +\count12=9 % allocates \skip registers 10, 11, ... +\count13=9 % allocates \muskip registers 10, 11, ... +\count14=9 % allocates \box registers 10, 11, ... +\count15=9 % allocates \toks registers 10, 11, ... +\count16=-1 % allocates input streams 0, 1, ... +\count17=-1 % allocates output streams 0, 1, ... +\count18=3 % allocates math families 4, 5, ... +\count19=0 % allocates \language codes 1, 2, ... +\count20=255 % allocates insertions 254, 253, ... +\countdef\insc@unt=20 % the insertion counter +\countdef\allocationnumber=21 % the most recent allocation +\countdef\m@ne=22 \m@ne=-1 % a handy constant +\def\wlog{\immediate\write\m@ne} % write on log file (only) + +% Here are abbreviations for the names of scratch registers +% that don't need to be allocated. + +\countdef\count@=255 +\dimendef\dimen@=0 +\dimendef\dimen@i=1 % global only +\dimendef\dimen@ii=2 +\skipdef\skip@=0 +\toksdef\toks@=0 + +% Now, we define \newcount, \newbox, etc. so that you can say \newcount\foo +% and \foo will be defined (with \countdef) to be the next counter. +% To find out which counter \foo is, you can look at \allocationnumber. +% Since there's no \boxdef command, \chardef is used to define a \newbox, +% \newinsert, \newfam, and so on. + +% Be able to save the allocation state. Write streams are +% excepted from this. +\def\SaveAlloc{\xdef\RestoreAlloc + {\begingroup\globaldefs=1 + \count10=\the\count10 \count11=\the\count11 \count12=\the\count12 + \count13=\the\count13 \count14=\the\count14 \count15=\the\count15 + \count16=\the\count16 %\count17=\the\count17 + \count18=\the\count18 + \endgroup}} +%LP no longer outer; switch off trace in these macros +\def\@@newcount{\alloc@0\count\countdef\insc@unt} +\def\@@newdimen{\alloc@1\dimen\dimendef\insc@unt} +\def\@@newskip{\alloc@2\skip\skipdef\insc@unt} +\def\@@newmuskip{\alloc@3\muskip\muskipdef\@cclvi} +\def\@@newbox{\alloc@4\box\chardef\insc@unt} +\let\newtoks\relax +\let\@@newtoks=\relax % we do this to allow plain.tex to be read in twice +\def\@@newhelp#1#2{\newtoks#1#1\expandafter{\csname#2\endcsname}} +\def\@@newtoks{\alloc@5\toks\toksdef\@cclvi} +\def\@@newread{\alloc@6\read\chardef\sixt@@n} +\def\@@newwrite{\alloc@7\write\chardef\sixt@@n} +\def\@@newfam{\alloc@8\fam\chardef\sixt@@n} +\def\@@newlanguage{\alloc@9\language\chardef\@cclvi} + +\def\newcount#1{\@TM@s\@@newcount#1\@TM@r} +\def\newdimen#1{\@TM@s\@@newdimen#1\@TM@r} +\def\newskip#1{\@TM@s\@@newskip#1\@TM@r} +\def\newmuskip#1{\@TM@s\@@newmuskip#1\@TM@r} +\def\newbox#1{\@TM@s\@@newbox#1\@TM@r} +\let\newtoks=\relax % we do this to allow plain.tex to be read in twice +\def\newhelp#1#2{\@TM@s\@@newhelp#1{#2}\@TM@r} +\def\newtoks#1{\@TM@s\@@newtoks#1\@TM@r} +\def\newread#1{\@TM@s\@@newread#1\@TM@r} +\def\newwrite#1{\@TM@s\@@newwrite#1\@TM@r} +\def\newfam#1{\@TM@s\@@newfam#1\@TM@r} +\def\newlanguage#1{\@TM@s\@@newlanguage#1\@TM@r} +\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne + \ch@ck#1#4#2% make sure there's still room + \allocationnumber=\count1#1% + \global#3#5=\allocationnumber + \wlog{\string#5=\string#2\the\allocationnumber}} +\def\newinsert#1{\global\advance\insc@unt by\m@ne + \ch@ck0\insc@unt\count + \ch@ck1\insc@unt\dimen + \ch@ck2\insc@unt\skip + \ch@ck4\insc@unt\box + \allocationnumber=\insc@unt + \global\chardef#1=\allocationnumber + \wlog{\string#1=\string\insert\the\allocationnumber}} +\def\ch@ck#1#2#3{\ifnum\count1#1<#2% + \else\errmessage{No room for a new #3}\fi} + +%% trace +{\def\newcount{\alloc@0\count\countdef\insc@unt} + \def\newdimen{\alloc@1\dimen\dimendef\insc@unt} +\newcount\@TM@c \newcount\@TC@c +\newdimen\z@ \global\z@=0pt} +\def\@TM@s{\@TC@c\tracingcommands \tracingcommands\z@ + \@TM@c\tracingmacros \tracingmacros\z@ + \relax} +\def\@TM@r{\tracingmacros\@TM@c \tracingcommands\@TC@c} +\let\x@TM@s\@TM@s \let\x@TM@r\@TM@r + +% Here are some examples of allocation. +\newdimen\maxdimen \maxdimen=16383.99999pt % the largest legal <dimen> +\newskip\hideskip \hideskip=-1000pt plus 1fill % negative but can grow +\newskip\centering \centering=0pt plus 1000pt minus 1000pt +\newdimen\p@ \p@=1pt % this saves macro space and time +%V \newdimen\z@ \z@=0pt % defined above +\newskip\z@skip \z@skip=0pt plus0pt minus0pt +\newbox\voidb@x % permanently void box register + +% And here's a different sort of allocation: +% For example, \newif\iffoo creates \footrue, \foofalse to go with \iffoo. +\def\newif#1{%\@TM@s + \count@\escapechar \escapechar\m@ne + \expandafter\expandafter\expandafter + \xdef\@if#1{yes}{\let\noexpand#1=\noexpand\iftrue}% + \expandafter\expandafter\expandafter + \xdef\@if#1{true}{\let\noexpand#1=\noexpand\iftrue}% + \expandafter\expandafter\expandafter + \xdef\@if#1{no}{\let\noexpand#1=\noexpand\iffalse}% + \expandafter\expandafter\expandafter + \xdef\@if#1{false}{\let\noexpand#1=\noexpand\iffalse}% + \global\@if#1{no}% the condition starts out false + \escapechar\count@ +% \@TM@r +} +\def\@if#1#2{\csname\expandafter\if@\string#1#2\endcsname} +{\uccode`1=`i \uccode`2=`f \uppercase{\gdef\if@12{}}} % `if' is required + + +% Assign initial values to TeX's parameters + +% All of TeX's numeric parameters are listed here, +% but the code is commented out if no special value needs to be set. +% INITEX makes all parameters zero except where noted. + +\pretolerance=100 +\tolerance=200 % INITEX sets this to 10000 +\hbadness=1000 +\vbadness=1000 +\linepenalty=10 +\hyphenpenalty=50 +\exhyphenpenalty=50 +\binoppenalty=700 +\relpenalty=500 +\clubpenalty=150 +\widowpenalty=150 +\displaywidowpenalty=50 +\brokenpenalty=100 +\predisplaypenalty=10000 +% \postdisplaypenalty=0 +% \interlinepenalty=0 +% \floatingpenalty=0, set during \insert +% \outputpenalty=0, set before TeX enters \output +\doublehyphendemerits=10000 +\finalhyphendemerits=5000 +\adjdemerits=10000 +% \looseness=0, cleared by TeX after each paragraph +% \pausing=0 +% \holdinginserts=0 +% \tracingonline=0 +% \tracingmacros=0 +% \tracingstats=0 +% \tracingparagraphs=0 +% \tracingpages=0 +% \tracingoutput=0 +\tracinglostchars=1 +% \tracingcommands=0 +% \tracingrestores=0 +% \language=0 +\uchyph=1 +% \lefthyphenmin=2 \righthyphenmin=3 set below +% \globaldefs=0 +% \maxdeadcycles=25 % INITEX does this +% \hangafter=1 % INITEX does this, also TeX after each paragraph +% \fam=0 +% \mag=1000 % INITEX does this +% \escapechar=`\\ % INITEX does this +\defaulthyphenchar=`\- +\defaultskewchar=-1 +% \endlinechar=`\^^M % INITEX does this +\newlinechar=-1 +\delimiterfactor=901 +% \time=now % TeX does this at beginning of job +% \day=now % TeX does this at beginning of job +% \month=now % TeX does this at beginning of job +% \year=now % TeX does this at beginning of job +\showboxbreadth=5 +\showboxdepth=3 +\errorcontextlines=5 + +\hfuzz=0.1pt +\vfuzz=0.1pt +\overfullrule=5pt +\hsize=6.5in +\vsize=8.9in +\maxdepth=4pt +\splitmaxdepth=\maxdimen +\boxmaxdepth=\maxdimen +% \lineskiplimit=0pt, changed by \normalbaselines +\delimitershortfall=5pt +\nulldelimiterspace=1.2pt +\scriptspace=0.5pt +% \mathsurround=0pt +% \predisplaysize=0pt, set before TeX enters $$ +% \displaywidth=0pt, set before TeX enters $$ +% \displayindent=0pt, set before TeX enters $$ +\parindent=20pt +% \hangindent=0pt, zeroed by TeX after each paragraph +% \hoffset=0pt +% \voffset=0pt + +% \baselineskip=0pt, changed by \normalbaselines +% \lineskip=0pt, changed by \normalbaselines +\parskip=0pt plus 1pt +\abovedisplayskip=12pt plus 3pt minus 9pt +\abovedisplayshortskip=0pt plus 3pt +\belowdisplayskip=12pt plus 3pt minus 9pt +\belowdisplayshortskip=7pt plus 3pt minus 4pt +% \leftskip=0pt +% \rightskip=0pt +\topskip=10pt +\splittopskip=10pt +% \tabskip=0pt +% \spaceskip=0pt +% \xspaceskip=0pt +\parfillskip=0pt plus 1fil + +\thinmuskip=3mu +\medmuskip=4mu plus 2mu minus 4mu +\thickmuskip=5mu plus 5mu + +% We also define special registers that function like parameters: +\newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt +\newskip\medskipamount \medskipamount=6pt plus 2pt minus 2pt +\newskip\bigskipamount \bigskipamount=12pt plus 4pt minus 4pt +\newskip\normalbaselineskip \normalbaselineskip=12pt +\newskip\normallineskip \normallineskip=1pt +\newdimen\normallineskiplimit \normallineskiplimit=0pt +\newdimen\jot \jot=3pt +\newcount\interdisplaylinepenalty \interdisplaylinepenalty=100 +\newcount\interfootnotelinepenalty \interfootnotelinepenalty=100 + +% Definitions for preloaded fonts + +\def\magstephalf{1095 } +\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or 2074\or 2488\fi\relax} + +% Fonts assigned to \preloaded are not part of "plain TeX", +% but they are preloaded so that other format packages can use them. +% For example, if another set of macros says "\font\ninerm=cmr9", +% TeX will not have to reload the font metric information for cmr9. + +%\font\tenrm=cmr10 % roman text +%\font\preloaded=cmr9 +%\font\preloaded=cmr8 +%\font\sevenrm=cmr7 +%\font\preloaded=cmr6 +%\font\fiverm=cmr5 + +%\font\teni=cmmi10 % math italic %LP in lollipop-fonts.tex +%\font\preloaded=cmmi9 +%\font\preloaded=cmmi8 +%\font\seveni=cmmi7 +%\font\preloaded=cmmi6 +%\font\fivei=cmmi5 + +%\font\tensy=cmsy10 % math symbols %LP in lollipop-fonts.tex +%\font\preloaded=cmsy9 +%\font\preloaded=cmsy8 +%\font\sevensy=cmsy7 +%\font\preloaded=cmsy6 +%\font\fivesy=cmsy5 + +\font\tenex=cmex10 % math extension (This seems to be necessary here) + +%\font\preloaded=cmss10 % sans serif +%\font\preloaded=cmssq8 + +%\font\preloaded=cmssi10 % sans serif italic +%\font\preloaded=cmssqi8 + +%%\font\tenbf=cmbx10 % boldface extended +%\font\preloaded=cmbx9 +%\font\preloaded=cmbx8 +%%\font\sevenbf=cmbx7 +%\font\preloaded=cmbx6 +%%\font\fivebf=cmbx5 + +\font\tentt=cmtt10 % typewriter +%\font\preloaded=cmtt9 +%\font\preloaded=cmtt8 + +%\font\preloaded=cmsltt10 % slanted typewriter + +%%\font\tensl=cmsl10 % slanted roman +%\font\preloaded=cmsl9 +%\font\preloaded=cmsl8 + +%%\font\tenit=cmti10 % text italic +%\font\preloaded=cmti9 +%\font\preloaded=cmti8 +%\font\preloaded=cmti7 + + +\let\preloaded=\undefined % preloaded fonts must be declared anew later. + +%LP \skewchar moved to lollipop-fonts.tex +%\skewchar\teni='177 \skewchar\seveni='177 \skewchar\fivei='177 +%\skewchar\tensy='60 \skewchar\sevensy='60 \skewchar\fivesy='60 + +% Macros for setting ordinary text + +\def\frenchspacing{\sfcode`\.\@m \sfcode`\?\@m \sfcode`\!\@m + \sfcode`\:\@m \sfcode`\;\@m \sfcode`\,\@m} +\def\nonfrenchspacing{\sfcode`\.3000\sfcode`\?3000\sfcode`\!3000% + \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 } + + +% VK define \normalbaselines +\def\normalbaselines{\lineskip\normallineskip + \baselineskip\normalbaselineskip \lineskiplimit\normallineskiplimit} + +\def\^^M{\ } % control <return> = control <space> +\def\^^I{\ } % same for <tab> + +\def\lq{`} \def\rq{'} +\def\lbrack{[} \def\rbrack{]} + +\let\endgraf=\par \let\endline=\cr + +%LP In case we redefine \par, here is the original +\let\@par=\par + +\def\space{ } +\def\empty{} +\def\null{\hbox{}} + +\let\bgroup={ \let\egroup=} + +%%%%%%%%%%%%%%%% Catcode alterations + +%%%% Dospecials +% +% (not counting ascii null, tab, linefeed, formfeed, return, delete) +% Each symbol in the list is preceded by \do, which can be defined +% if you want to do something to every item in the list. +% +% " added wrt plain definition +% +\def\dospecials{\@TM@s\do\ \do\\\do\{\do\}\do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~\do\"\@TM@r} + +% handy abbrevs +% +\def\makeother#1{\catcode`#1\other} +\def\othercr{\makeother\^^M\relax} +\def\normalcr{\catcode`\^^M=5\relax} +\def\activecr{\catcode`\^^M\active} +\def\noeol{\endlinechar\m@ne}\def\normaleol{\endlinechar`\^^M\relax} +\def\noesc{\escapechar\m@ne}\def\normalesc{\escapechar`\\\relax} + +% obeylines +% +% In \obeylines, we say `\let^^M=\par' instead of `\def^^M{\par}' +% since this allows, for example, `\let\par=\cr \obeylines \halign{...' +% +% addition for empty lines +% +{\activecr % these lines must end with % + \gdef\obeylines{\activecr \def^^M{\@par\leavevmode\hbox{}}}% + \global\let^^M\@par} % this is in case ^^M appears in a \write + +% obeyspaces +% +% plain: {\obeyspaces\global\let =\space} +% extended for initial spaces on a line +% +{\catcode`\ \active +\gdef\obeyspaces{\catcode`\ \active\let =\@ospace}} +\def\@ospace{\leavevmode{} } + +%LP minimal improvement over the original \loop macro +\long\def\loop#1\repeat{\long\def\body{#1}\iterate} +\def\iterate{\let\loopnext\relax \body \let\loopnext\iterate \fi + \loopnext} +\let\repeat=\fi % this makes \loop...\if...\repeat skippable + +\def\thinspace{\kern .16667em } +\def\negthinspace{\kern-.16667em } +\def\enspace{\kern.5em } + +\def\enskip{\hskip.5em\relax} +\def\quad{\hskip1em\relax} +\def\qquad{\hskip2em\relax} + +\def\smallskip{\vskip\smallskipamount} +\def\medskip{\vskip\medskipamount} +\def\bigskip{\vskip\bigskipamount} + +\def\nointerlineskip{\prevdepth-1000\p@} +\def\offinterlineskip{\baselineskip-1000\p@ + \lineskip\z@ \lineskiplimit\maxdimen} + +\def\topglue{\nointerlineskip\vglue-\topskip\vglue} % for top of page +\def\vglue{\afterassignment\vgl@\skip@=} +\def\vgl@{\par \dimen@\prevdepth \hrule height\z@ + \nobreak\vskip\skip@ \prevdepth\dimen@} +\def\hglue{\afterassignment\hgl@\skip@=} +\def\hgl@{\leavevmode \count@\spacefactor \vrule width\z@ + \nobreak\hskip\skip@ \spacefactor\count@} + +\def~{\penalty\@M \ } % tie +\def\slash{/\penalty\exhyphenpenalty} % a `/' that acts like a `-' + +\def\break{\penalty-\@M} +\def\nobreak{\penalty \@M} +\def\allowbreak{\penalty \z@} + +\def\filbreak{\par\vfil\penalty-200\vfilneg} +\def\goodbreak{\par\penalty-500 } +\def\eject{\par\break} +\def\supereject{\par\penalty-\@MM} + +\def\removelastskip{\ifdim\lastskip=\z@\else\vskip-\lastskip\fi} +\def\smallbreak{\par\ifdim\lastskip<\smallskipamount + \removelastskip\penalty-50\smallskip\fi} +\def\medbreak{\par\ifdim\lastskip<\medskipamount + \removelastskip\penalty-100\medskip\fi} +\def\bigbreak{\par\ifdim\lastskip<\bigskipamount + \removelastskip\penalty-200\bigskip\fi} + +\def\line{\hbox to\hsize} +\def\leftline#1{\line{#1\hss}} +\def\rightline#1{\line{\hss#1}} +\def\centerline#1{\line{\hss#1\hss}} + +\def\rlap#1{\hbox to\z@{#1\hss}} +\def\llap#1{\hbox to\z@{\hss#1}} + +\def\m@th{\mathsurround\z@} +\def\underbar#1{$\setbox\z@\hbox{#1}\dp\z@\z@ + \m@th \underline{\box\z@}$} + +\newbox\strutbox +\setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width\z@} +\def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi} + +\def\hidewidth{\hskip\hideskip} % for alignment entries that can stick out +\def\ialign{\everycr{}\tabskip\z@skip\halign} % initialized \halign +\newcount\mscount +\def\multispan#1{\omit \mscount#1\relax + \loop\ifnum\mscount>\@ne \sp@n\repeat} +\def\sp@n{\span\omit\advance\mscount\m@ne} + +%LP We keep the old tabbing macros +\newif\ifus@ \newif\if@cr +\newbox\tabs \newbox\tabsyet \newbox\tabsdone + +\def\cleartabs{\global\setbox\tabsyet\null \setbox\tabs\null} +\def\settabs{\setbox\tabs\null \futurelet\next\sett@b} +\let\+=\relax % in case this file is being read in twice +\def\sett@b{\ifx\next\+\def\nxt{\afterassignment\s@tt@b\let\nxt}% + \else\let\nxt\s@tcols\fi \let\next\relax \nxt} +\def\s@tt@b{\let\nxt\relax \us@false\m@ketabbox} +\def\tabalign{\us@true\m@ketabbox} % non-\outer version of \+ +\outer\def\+{\tabalign} +\def\s@tcols#1\columns{\count@#1\dimen@\hsize + \loop\ifnum\count@>\z@ \@nother \repeat} +\def\@nother{\dimen@ii\dimen@ \divide\dimen@ii\count@ + \setbox\tabs\hbox{\hbox to\dimen@ii{}\unhbox\tabs}% + \advance\dimen@-\dimen@ii \advance\count@\m@ne} + +\def\m@ketabbox{\begingroup + \global\setbox\tabsyet\copy\tabs + \global\setbox\tabsdone\null + \def\cr{\@crtrue\crcr\egroup\egroup + \ifus@\unvbox\z@\lastbox\fi\endgroup + \setbox\tabs\hbox{\unhbox\tabsyet\unhbox\tabsdone}}% + \setbox\z@\vbox\bgroup\@crfalse + \ialign\bgroup&\t@bbox##\t@bb@x\crcr} + +\def\t@bbox{\setbox\z@\hbox\bgroup} +\def\t@bb@x{\if@cr\egroup % now \box\z@ holds the column + \else\hss\egroup \global\setbox\tabsyet\hbox{\unhbox\tabsyet + \global\setbox\@ne\lastbox}% now \box\@ne holds its size + \ifvoid\@ne\global\setbox\@ne\hbox to\wd\z@{}% + \else\setbox\z@\hbox to\wd\@ne{\unhbox\z@}\fi + \global\setbox\tabsdone\hbox{\box\@ne\unhbox\tabsdone}\fi + \box\z@} + +\chardef\%=`\% +\chardef\&=`\& +\chardef\#=`\# +\chardef\$=`\$ +\chardef\ss="19 +\chardef\ae="1A +\chardef\oe="1B +\chardef\o="1C +\chardef\AE="1D +\chardef\OE="1E +\chardef\O="1F +\chardef\i="10 \chardef\j="11 % dotless letters +\def\aa{\accent23a} +\def\l{\char32l} +\def\L{\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}} + +\def\leavevmode{\unhbox\voidb@x} % begins a paragraph, if necessary +\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}} +\def\AA{\leavevmode\setbox0\hbox{!}\dimen@\ht0\advance\dimen@-1ex% + \rlap{\raise.67\dimen@\hbox{\char'27}}A} + +\def\mathhexbox#1#2#3{\leavevmode + \hbox{$\m@th \mathchar"#1#2#3$}} +\def\dag{\mathhexbox279} +\def\ddag{\mathhexbox27A} +\def\S{\mathhexbox278} +\def\P{\mathhexbox27B} +\def\Orb{\mathhexbox20D} + +\def\oalign#1{\leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex% + \ialign{##\crcr#1\crcr}}} % put characters over each other +\def\o@lign{\lineskiplimit\z@ \oalign} +\def\ooalign{\lineskiplimit-\maxdimen \oalign} +{\catcode`p=12 \catcode`t=12 \gdef\\#1pt{#1}} \let\getf@ctor=\\ +\def\sh@ft#1{\dimen@#1\kern\expandafter\getf@ctor\the\fontdimen1\font + \dimen@} % kern by #1 times the current slant +\def\d#1{{\o@lign{\relax#1\crcr\hidewidth\sh@ft{-1ex}.\hidewidth}}} +\def\b#1{{\o@lign{\relax#1\crcr\hidewidth\sh@ft{-3ex}% + \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}} +\def\c#1{{\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1% + \else\ooalign{\unhbox\z@\crcr\hidewidth\char24\hidewidth}\fi}} +\def\copyright{{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\Orb}}} + +\def\dots{\relax\ifmmode\ldots\else$\m@th\ldots\,$\fi} +\def\TeX{\protect\@TeX} +\def\@TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX} + +\def\`#1{{\accent18 #1}} +\def\'#1{{\accent19 #1}} +\def\v#1{{\accent20 #1}} \let\^^_=\v +\def\u#1{{\accent21 #1}} \let\^^S=\u +\def\=#1{{\accent22 #1}} +\def\^#1{{\accent94 #1}} \let\^^D=\^ +\def\.#1{{\accent95 #1}} +\def\H#1{{\accent"7D #1}} +\def\~#1{{\accent"7E #1}} +\def\"#1{{\accent"7F #1}} +\def\t#1{{\edef\next{\the\font}\the\textfont1\accent"7F\next#1}} + +\def\hrulefill{\leaders\hrule\hfill} +\def\dotfill{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill} +\def\rightarrowfill{$\m@th\smash-\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\mathord\rightarrow$} +\def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\smash-$} +\mathchardef\braceld="37A \mathchardef\bracerd="37B +\mathchardef\bracelu="37C \mathchardef\braceru="37D +\def\downbracefill{$\m@th \setbox\z@\hbox{$\braceld$}% + \braceld\leaders\vrule height\ht\z@ depth\z@\hfill\braceru + \bracelu\leaders\vrule height\ht\z@ depth\z@\hfill\bracerd$} +\def\upbracefill{$\m@th \setbox\z@\hbox{$\braceld$}% + \bracelu\leaders\vrule height\ht\z@ depth\z@\hfill\bracerd + \braceld\leaders\vrule height\ht\z@ depth\z@\hfill\braceru$} + +%\outer\def\bye{\par\vfill\supereject\end} + +% Macros for math setting + +\let\sp=^ \let\sb=_ +\def\,{\mskip\thinmuskip} +\def\>{\mskip\medmuskip} +\def\;{\mskip\thickmuskip} +\def\!{\mskip-\thinmuskip} +\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}} +{\catcode`\'=\active \gdef'{^\bgroup\prim@s}} +\def\prim@s{\prime\futurelet\next\pr@m@s} +\def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else\ifx^\next\let\nxt\pr@@@t + \else\let\nxt\egroup\fi\fi \nxt} +\def\pr@@@s#1{\prim@s} \def\pr@@@t#1#2{#2\egroup} +{\catcode`\^^Z=\active \gdef^^Z{\not=}} % ^^Z is like \ne in math +{\catcode`\_=\active \global\let_=\_} % _ in math is either subscript or \_ + +\mathchardef\alpha="010B +\mathchardef\beta="010C +\mathchardef\gamma="010D +\mathchardef\delta="010E +\mathchardef\epsilon="010F +\mathchardef\zeta="0110 +\mathchardef\eta="0111 +\mathchardef\theta="0112 +\mathchardef\iota="0113 +\mathchardef\kappa="0114 +\mathchardef\lambda="0115 +\mathchardef\mu="0116 +\mathchardef\nu="0117 +\mathchardef\xi="0118 +\mathchardef\pi="0119 +\mathchardef\rho="011A +\mathchardef\sigma="011B +\mathchardef\tau="011C +\mathchardef\upsilon="011D +\mathchardef\phi="011E +\mathchardef\chi="011F +\mathchardef\psi="0120 +\mathchardef\omega="0121 +\mathchardef\varepsilon="0122 +\mathchardef\vartheta="0123 +\mathchardef\varpi="0124 +\mathchardef\varrho="0125 +\mathchardef\varsigma="0126 +\mathchardef\varphi="0127 +\mathchardef\Gamma="7000 +\mathchardef\Delta="7001 +\mathchardef\Theta="7002 +\mathchardef\Lambda="7003 +\mathchardef\Xi="7004 +\mathchardef\Pi="7005 +\mathchardef\Sigma="7006 +\mathchardef\Upsilon="7007 +\mathchardef\Phi="7008 +\mathchardef\Psi="7009 +\mathchardef\Omega="700A + +\mathchardef\aleph="0240 +\def\hbar{{\mathchar'26\mkern-9muh}} +\mathchardef\imath="017B +\mathchardef\jmath="017C +\mathchardef\ell="0160 +\mathchardef\wp="017D +\mathchardef\Re="023C +\mathchardef\Im="023D +\mathchardef\partial="0140 +\mathchardef\infty="0231 +\mathchardef\prime="0230 +\mathchardef\emptyset="023B +\mathchardef\nabla="0272 +\def\surd{{\mathchar"1270}} +\mathchardef\top="023E +\mathchardef\bot="023F +\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr + \not\mathrel{\mkern14mu}\crcr + \noalign{\nointerlineskip} + \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}} +\mathchardef\triangle="0234 +\mathchardef\forall="0238 +\mathchardef\exists="0239 +\mathchardef\neg="023A \let\lnot=\neg +\mathchardef\flat="015B +\mathchardef\natural="015C +\mathchardef\sharp="015D +\mathchardef\clubsuit="027C +\mathchardef\diamondsuit="027D +\mathchardef\heartsuit="027E +\mathchardef\spadesuit="027F + +\mathchardef\coprod="1360 +\mathchardef\bigvee="1357 +\mathchardef\bigwedge="1356 +\mathchardef\biguplus="1355 +\mathchardef\bigcap="1354 +\mathchardef\bigcup="1353 +\mathchardef\intop="1352 \def\int{\intop\nolimits} +\mathchardef\prod="1351 +\mathchardef\sum="1350 +\mathchardef\bigotimes="134E +\mathchardef\bigoplus="134C +\mathchardef\bigodot="134A +\mathchardef\ointop="1348 \def\oint{\ointop\nolimits} +\mathchardef\bigsqcup="1346 +\mathchardef\smallint="1273 + +\mathchardef\triangleleft="212F +\mathchardef\triangleright="212E +\mathchardef\bigtriangleup="2234 +\mathchardef\bigtriangledown="2235 +\mathchardef\wedge="225E \let\land=\wedge +\mathchardef\vee="225F \let\lor=\vee +\mathchardef\cap="225C +\mathchardef\cup="225B +\mathchardef\ddagger="227A +\mathchardef\dagger="2279 +\mathchardef\sqcap="2275 +\mathchardef\sqcup="2274 +\mathchardef\uplus="225D +\mathchardef\amalg="2271 +\mathchardef\diamond="2205 +\mathchardef\bullet="220F +\mathchardef\wr="226F +\mathchardef\div="2204 +\mathchardef\odot="220C +\mathchardef\oslash="220B +\mathchardef\otimes="220A +\mathchardef\ominus="2209 +\mathchardef\oplus="2208 +\mathchardef\mp="2207 +\mathchardef\pm="2206 +\mathchardef\circ="220E +\mathchardef\bigcirc="220D +\mathchardef\setminus="226E % for set difference A\setminus B +\mathchardef\cdot="2201 +\mathchardef\ast="2203 +\mathchardef\times="2202 +\mathchardef\star="213F + +\mathchardef\propto="322F +\mathchardef\sqsubseteq="3276 +\mathchardef\sqsupseteq="3277 +\mathchardef\parallel="326B +\mathchardef\mid="326A +\mathchardef\dashv="3261 +\mathchardef\vdash="3260 +\mathchardef\nearrow="3225 +\mathchardef\searrow="3226 +\mathchardef\nwarrow="322D +\mathchardef\swarrow="322E +\mathchardef\Leftrightarrow="322C +\mathchardef\Leftarrow="3228 +\mathchardef\Rightarrow="3229 +\def\neq{\not=} \let\ne=\neq +\mathchardef\leq="3214 \let\le=\leq +\mathchardef\geq="3215 \let\ge=\geq +\mathchardef\succ="321F +\mathchardef\prec="321E +\mathchardef\approx="3219 +\mathchardef\succeq="3217 +\mathchardef\preceq="3216 +\mathchardef\supset="321B +\mathchardef\subset="321A +\mathchardef\supseteq="3213 +\mathchardef\subseteq="3212 +\mathchardef\in="3232 +\mathchardef\ni="3233 \let\owns=\ni +\mathchardef\gg="321D +\mathchardef\ll="321C +\mathchardef\not="3236 +\mathchardef\leftrightarrow="3224 +\mathchardef\leftarrow="3220 \let\gets=\leftarrow +\mathchardef\rightarrow="3221 \let\to=\rightarrow +\mathchardef\mapstochar="3237 \def\mapsto{\mapstochar\rightarrow} +\mathchardef\sim="3218 +\mathchardef\simeq="3227 +\mathchardef\perp="323F +\mathchardef\equiv="3211 +\mathchardef\asymp="3210 +\mathchardef\smile="315E +\mathchardef\frown="315F +\mathchardef\leftharpoonup="3128 +\mathchardef\leftharpoondown="3129 +\mathchardef\rightharpoonup="312A +\mathchardef\rightharpoondown="312B + +\def\joinrel{\mathrel{\mkern-3mu}} +\def\relbar{\mathrel{\smash-}} % \smash, because - has the same height as + +\def\Relbar{\mathrel=} +\mathchardef\lhook="312C \def\hookrightarrow{\lhook\joinrel\rightarrow} +\mathchardef\rhook="312D \def\hookleftarrow{\leftarrow\joinrel\rhook} +\def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft} +\def\models{\mathrel|\joinrel=} +\def\Longrightarrow{\Relbar\joinrel\Rightarrow} +\def\longrightarrow{\relbar\joinrel\rightarrow} +\def\longleftarrow{\leftarrow\joinrel\relbar} +\def\Longleftarrow{\Leftarrow\joinrel\Relbar} +\def\longmapsto{\mapstochar\longrightarrow} +\def\longleftrightarrow{\leftarrow\joinrel\rightarrow} +\def\Longleftrightarrow{\Leftarrow\joinrel\Rightarrow} +\def\iff{\;\Longleftrightarrow\;} + +\mathchardef\ldotp="613A % ldot as a punctuation mark +\mathchardef\cdotp="6201 % cdot as a punctuation mark +\mathchardef\colon="603A % colon as a punctuation mark +\def\ldots{\mathinner{\ldotp\ldotp\ldotp}} +\def\cdots{\mathinner{\cdotp\cdotp\cdotp}} +\def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ + \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} +\def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu + \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu}} + +\def\acute{\mathaccent"7013 } +\def\grave{\mathaccent"7012 } +\def\ddot{\mathaccent"707F } +\def\tilde{\mathaccent"707E } +\def\bar{\mathaccent"7016 } +\def\breve{\mathaccent"7015 } +\def\check{\mathaccent"7014 } +\def\hat{\mathaccent"705E } +\def\vec{\mathaccent"017E } +\def\dot{\mathaccent"705F } +\def\widetilde{\mathaccent"0365 } +\def\widehat{\mathaccent"0362 } +\def\overrightarrow#1{\vbox{\m@th\ialign{##\crcr + \rightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\overleftarrow#1{\vbox{\m@th\ialign{##\crcr + \leftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\overbrace#1{\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern3\p@} + \downbracefill\crcr\noalign{\kern3\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits} +\def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr + $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip} + \upbracefill\crcr\noalign{\kern3\p@}}}}\limits} +\def\skew#1#2#3{{\muskip\z@#1mu\divide\muskip\z@\tw@ \mkern\muskip\z@ + #2{\mkern-\muskip\z@{#3}\mkern\muskip\z@}\mkern-\muskip\z@}{}} + +\def\lmoustache{\delimiter"437A340 } % top from (, bottom from ) +\def\rmoustache{\delimiter"537B341 } % top from ), bottom from ( +\def\lgroup{\delimiter"462833A } % extensible ( with sharper tips +\def\rgroup{\delimiter"562933B } % extensible ) with sharper tips +\def\arrowvert{\delimiter"26A33C } % arrow without arrowheads +\def\Arrowvert{\delimiter"26B33D } % double arrow without arrowheads +\def\bracevert{\delimiter"77C33E } % the vertical bar that extends braces +\def\Vert{\delimiter"26B30D } \let\|=\Vert +\def\vert{\delimiter"26A30C } +\def\uparrow{\delimiter"3222378 } +\def\downarrow{\delimiter"3223379 } +\def\updownarrow{\delimiter"326C33F } +\def\Uparrow{\delimiter"322A37E } +\def\Downarrow{\delimiter"322B37F } +\def\Updownarrow{\delimiter"326D377 } +\def\backslash{\delimiter"26E30F } % for double coset G\backslash H +\def\rangle{\delimiter"526930B } +\def\langle{\delimiter"426830A } +\def\rbrace{\delimiter"5267309 } \let\}=\rbrace +\def\lbrace{\delimiter"4266308 } \let\{=\lbrace +\def\rceil{\delimiter"5265307 } +\def\lceil{\delimiter"4264306 } +\def\rfloor{\delimiter"5263305 } +\def\lfloor{\delimiter"4262304 } + +\def\bigl{\mathopen\big} +\def\bigm{\mathrel\big} +\def\bigr{\mathclose\big} +\def\Bigl{\mathopen\Big} +\def\Bigm{\mathrel\Big} +\def\Bigr{\mathclose\Big} +\def\biggl{\mathopen\bigg} +\def\biggm{\mathrel\bigg} +\def\biggr{\mathclose\bigg} +\def\Biggl{\mathopen\Bigg} +\def\Biggm{\mathrel\Bigg} +\def\Biggr{\mathclose\Bigg} +\def\big#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}} +\def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}} +\def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}} +\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}} +\def\n@space{\nulldelimiterspace\z@ \m@th} + +\def\choose{\atopwithdelims()} +\def\brack{\atopwithdelims[]} +\def\brace{\atopwithdelims\{\}} + +\def\sqrt{\radical"270370 } + +\def\mathpalette#1#2{\mathchoice{#1\displaystyle{#2}}% + {#1\textstyle{#2}}{#1\scriptstyle{#2}}{#1\scriptscriptstyle{#2}}} +\newbox\rootbox +\def\root#1\of{\setbox\rootbox + \hbox{$\m@th\scriptscriptstyle{#1}$}\mathpalette\r@@t} +\def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}\dimen@\ht\z@ + \advance\dimen@-\dp\z@ + \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu\box\z@} +\newif\ifv@ \newif\ifh@ +%% LP +\let\v@true=\v@yes \let\v@false=\v@no +\let\h@true=\h@yes \let\h@false=\h@no +\def\vphantom{\v@true\h@false\ph@nt} +\def\hphantom{\v@false\h@true\ph@nt} +\def\phantom{\v@true\h@true\ph@nt} +\def\ph@nt{\ifmmode\def\next{\mathpalette\mathph@nt}% + \else\let\next\makeph@nt\fi\next} +\def\makeph@nt#1{\setbox\z@\hbox{#1}\finph@nt} +\def\mathph@nt#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finph@nt} +\def\finph@nt{\setbox\tw@\null + \ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi + \ifh@ \wd\tw@\wd\z@\fi \box\tw@} +\def\mathstrut{\vphantom(} +\def\smash{\relax % \relax, in case this comes first in \halign + \ifmmode\def\next{\mathpalette\mathsm@sh}\else\let\next\makesm@sh + \fi\next} +\def\makesm@sh#1{\setbox\z@\hbox{#1}\finsm@sh} +\def\mathsm@sh#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finsm@sh} +\def\finsm@sh{\ht\z@\z@ \dp\z@\z@ \box\z@} + +\def\cong{\mathrel{\mathpalette\@vereq\sim}} % congruence sign +\def\@vereq#1#2{\lower.5\p@\vbox{\lineskiplimit\maxdimen\lineskip-.5\p@ + \ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr=\crcr}}} +\def\notin{\mathrel{\mathpalette\c@ncel\in}} +\def\c@ncel#1#2{\m@th\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}} +\def\rightleftharpoons{\mathrel{\mathpalette\rlh@{}}} +\def\rlh@#1{\vcenter{\m@th\hbox{\ooalign{\raise2pt + \hbox{$#1\rightharpoonup$}\crcr + $#1\leftharpoondown$}}}} +\def\buildrel#1\over#2{\mathrel{\mathop{\kern\z@#2}\limits^{#1}}} +\def\doteq{\buildrel\textstyle.\over=} + +\def\log{\mathop{\rm log}\nolimits} +\def\lg{\mathop{\rm lg}\nolimits} +\def\ln{\mathop{\rm ln}\nolimits} +\def\lim{\mathop{\rm lim}} +\def\limsup{\mathop{\rm lim\,sup}} +\def\liminf{\mathop{\rm lim\,inf}} +\def\sin{\mathop{\rm sin}\nolimits} +\def\arcsin{\mathop{\rm arcsin}\nolimits} +\def\sinh{\mathop{\rm sinh}\nolimits} +\def\cos{\mathop{\rm cos}\nolimits} +\def\arccos{\mathop{\rm arccos}\nolimits} +\def\cosh{\mathop{\rm cosh}\nolimits} +\def\tan{\mathop{\rm tan}\nolimits} +\def\arctan{\mathop{\rm arctan}\nolimits} +\def\tanh{\mathop{\rm tanh}\nolimits} +\def\cot{\mathop{\rm cot}\nolimits} +\def\coth{\mathop{\rm coth}\nolimits} +\def\sec{\mathop{\rm sec}\nolimits} +\def\csc{\mathop{\rm csc}\nolimits} +\def\max{\mathop{\rm max}} +\def\min{\mathop{\rm min}} +\def\sup{\mathop{\rm sup}} +\def\inf{\mathop{\rm inf}} +\def\arg{\mathop{\rm arg}\nolimits} +\def\ker{\mathop{\rm ker}\nolimits} +\def\dim{\mathop{\rm dim}\nolimits} +\def\hom{\mathop{\rm hom}\nolimits} +\def\det{\mathop{\rm det}} +\def\exp{\mathop{\rm exp}\nolimits} +\def\Pr{\mathop{\rm Pr}} +\def\gcd{\mathop{\rm gcd}} +\def\deg{\mathop{\rm deg}\nolimits} + +\def\bmod{\nonscript\mskip-\medmuskip\mkern5mu + \mathbin{\rm mod}\penalty900\mkern5mu\nonscript\mskip-\medmuskip} +\def\pmod#1{\allowbreak\mkern18mu({\rm mod}\,\,#1)} + +\def\cases#1{\left\{\,\vcenter{\normalbaselines\m@th + \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}\right.} +\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th + \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr + \mathstrut\crcr\noalign{\kern-\baselineskip} + #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,} +\def\pmatrix#1{\left(\matrix{#1}\right)} +\newdimen\p@renwd +\setbox0=\hbox{\tenex B} \p@renwd=\wd0 % width of the big left ( +\def\bordermatrix#1{\begingroup \m@th + \setbox\z@\vbox{\def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}% + \ialign{$##$\hfil\kern2\p@\kern\p@renwd&\thinspace\hfil$##$\hfil + &&\quad\hfil$##$\hfil\crcr + \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}% + #1\crcr\omit\strut\cr}}% + \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne + \global\setbox\@ne\vbox{\box\@ne\kern2\p@}% + \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}% + \null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup} + +\def\openup{\afterassignment\@penup\dimen@=} +\def\@penup{\advance\lineskip\dimen@ + \advance\baselineskip\dimen@ + \advance\lineskiplimit\dimen@} +\def\eqalign#1{\null\,\vcenter{\openup\jot\m@th + \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil + \crcr#1\crcr}}\,} +\newif\ifdt@p +\let\dt@ptrue=\dt@pyes \let\dt@pfalse=\dt@pno %%LP +\def\displ@y{\global\dt@ptrue\openup\jot\m@th + \everycr{\noalign{\ifdt@p \global\dt@pfalse \ifdim\prevdepth>-1000\p@ + \vskip-\lineskiplimit \vskip\normallineskiplimit \fi + \else \penalty\interdisplaylinepenalty \fi}}} +\def\@lign{\tabskip\z@skip\everycr{}} % restore inside \displ@y +\def\displaylines#1{\displ@y \tabskip\z@skip + \halign{\hbox to\displaywidth{$\@lign\hfil\displaystyle##\hfil$}\crcr + #1\crcr}} +\def\eqalignno#1{\displ@y \tabskip\centering + \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip + &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering + &\llap{$\@lign##$}\tabskip\z@skip\crcr + #1\crcr}} +\def\leqalignno#1{\displ@y \tabskip\centering + \halign to\displaywidth{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip + &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering + &\kern-\displaywidth\rlap{$\@lign##$}\tabskip\displaywidth\crcr + #1\crcr}} + +% Definitions related to output + +%LP Voorlopig even laten staat voor een default output routine + +\countdef\pageno=0 \pageno=1 % first page is number 1 + +\def\textindent#1{\indent\llap{#1\enspace}\ignorespaces} +\newinsert\footins +\def\footnote#1{\let\@sf\empty % parameter #2 (the text) is read later + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi + #1\@sf\vfootnote{#1}} +\def\vfootnote#1{\insert\footins\bgroup + \interlinepenalty\interfootnotelinepenalty + \splittopskip\ht\strutbox % top baseline for broken footnotes + \splitmaxdepth\dp\strutbox \floatingpenalty\@MM + \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip + \textindent{#1}\footstrut\futurelet\next\fo@t} +\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t + \else\let\next\f@t\fi \next} +\def\f@@t{\bgroup\aftergroup\@foot\let\next} +\def\f@t#1{#1\@foot} +\def\@foot{\strut\egroup} +\def\footstrut{\vbox to\splittopskip{}} +\skip\footins=\bigskipamount % space added when footnote is present +\count\footins=1000 % footnote magnification factor (1 to 1) +\dimen\footins=8in % maximum footnotes per page + +\newinsert\topins +\newif\ifp@ge \newif\if@mid +\let\p@getrue=\p@geyes \let\p@gefalse=\p@geno +\let\@midtrue=\@midyes \let\@midfalse=\@midno +\def\topinsert{\@midfalse\p@gefalse\@ins} +\def\midinsert{\@midtrue\@ins} +\def\pageinsert{\@midfalse\p@getrue\@ins} +\skip\topins=\z@skip % no space added when a topinsert is present +\count\topins=1000 % magnification factor (1 to 1) +\dimen\topins=\maxdimen % no limit per page +\def\@ins{\par\begingroup\setbox\z@\vbox\bgroup} % start a \vbox +\def\endinsert{\egroup % finish the \vbox + \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@ \advance\dimen@12\p@ + \advance\dimen@\pagetotal \advance\dimen@-\pageshrink + \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi + \if@mid \bigskip\box\z@\bigbreak + \else\insert\topins{\penalty100 % floating insertion + \splittopskip\z@skip + \splitmaxdepth\maxdimen \floatingpenalty\z@ + \ifp@ge \dimen@\dp\z@ + \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero + \else \box\z@\nobreak\bigskip\fi}\fi\endgroup} + + +\def\footnoterule{\kern-3\p@ + \hrule width 2truein \kern 2.6\p@} % the \hrule is .4pt high + +% Hyphenation, miscellaneous macros, and initial values for standard layout + +\lefthyphenmin=2 \righthyphenmin=3 % disallow x- or -xx breaks +\input hyphen + +\def\magnification{\afterassignment\m@g\count@} +\def\m@g{\mag\count@ + \hsize6.5truein\vsize8.9truein\dimen\footins8truein} + +\def\loggingall{\tracingcommands\tw@\tracingstats\tw@ + \tracingpages\@ne\tracingoutput\@ne\tracinglostchars\@ne + \tracingmacros\tw@\tracingparagraphs\@ne\tracingrestores\@ne + \showboxbreadth\maxdimen\showboxdepth\maxdimen\errorstopmode} +\def\tracingall{\tracingonline\@ne\loggingall} + +\font\tenrm=cmr10 % aw hell. +\def\showhyphens#1{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen\tenrm + \pretolerance\m@ne\tolerance\m@ne\hbadness0\showboxdepth0\ #1}} + + +\normalbaselines + + +\endinput + +% 2016/04/16 Fixed the error caused by \newhelp +% 2014/04/11 brought up to date with plain.tex for 3.141592653 +% 92/11/03 brought up to date with plain.tex for 3.0 \ No newline at end of file diff --git a/macros/plain/formats/lollipop/tex/lollipop-text.tex b/macros/plain/formats/lollipop/tex/lollipop-text.tex new file mode 100644 index 0000000000..d90c0a16b8 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-text.tex @@ -0,0 +1,553 @@ +% lollipop-text.tex copyright 1992 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%% Text Blocks + +\@GenericConstruct{TextBlock} + +% commands can be before and after text +% store in two token lists +% switch from one to other by option 'text' +% this may also be used by ParagraphShape +% +\add@TextBlock@default{ + \def\@current@options@list{before@coms} + \def\switch@lists{\at@breakpointyes + \def\@current@options@list{after@coms}} + } +\@TextBlockOption{text}{\switch@lists} + +\def\@DefineTextBlock{ + \csarg\edef{\@name}{\@gen@open + \the\before@coms + } + \@DefineStopCommand{\the\after@coms \@gen@close} + } + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%% A L I N E A V O R M E N +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% via \everypar: +% \everypar={\@everyeverypar { ...locaal spul... +% \def\par{... \@par\egroup} +\@GenericConstruct{ParagraphShape} + +%%%%!!!!!!!!!!!!!!!! +% not functioning. +% note: \@defaulteverypar is installed now +% as a start@command! + +%% anonieme namen +% \iftempa : moet dit inspringen +% \iftempb : speciale behandeling staart? + +\def\@ParagraphShapeverstekwaardes{ + \tempano \tempbno + \temptoksb={} \temptoksc={} + \def\cs@d{b}\def\@current@options@list{temptoks\cs@d} + } +\def\@DefineParagraphShape{ + \csarg{\edef}{\@name}{% + \CSname{AltijdInspringen\iftempa yes\else no\fi}% + \nxp\everypar={\nxp\@everyeverypar + \iftempb \bgroup \fi + \the\temptoksb + \iftempb \parfillskip\z@ + \else \if@erislinkswit \parfillskip\z@ \fi\fi + \relax + \iftempb \def\nxp\par{\nxp\unskip\nxp\nobreak\the\temptoksc + \hbox{}\nxp\@par\egroup}\fi + }} } + +\@ParagraphShapeNOOP{verticaal} + +%-- inspringen +\@ParagraphShapeOption{inspringen}{ + \if\EqualString{#1}{no}\else\tempayes\fi} + +%-- tekst +\@ParagraphShapeOption{tekst}{\tempbyes\def\cs@d{c}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%% U T I L I T I E S +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%% Space, white space +% +% unit space \@@space is set by switching font style +% +\newdimen\@@space \@@space=.5em +\def\Spaces:#1 {\hskip#1\@@space} + +% handig voor bibliografieen +\def\lax{\tolerance\@m \hfuzz\p@} + + +%%%%%%%%%%%%%%%%%%%%%%% +% White space +% +\NewTrace:skip + +\def\hwhite:#1 {\@hwhite{#1}} +\def\@hwhite#1{\ifhmode\unskip\fi\relax + \if\EqualString{#1}{fillup}\hfill\else\hskip\@ww{#1}\relax\fi} + +% Vertical +% subtle: argument should be placed even if +% size is equal: stretch may be different, +% probably more. (cf \par\vwit{0pt plus 1fil} ) +% +\def\vwhite:#1 {\@vwhite{#1}} +\@GenericOption{vwhite}{\protect@breakpoint + \@add@toks{\@vwhite{#1}}\at@breakpointno} +\def\@vwhite#1{\tempskipa=\@ww{#1}\relax \tempskipb\lastskip + \Tmessage[skip]{Considering vskip \the\tempskipa}% + \ifvmode \ifdim\tempskipb>\tempskipa + \Tmessage[skip]{Ignored. (lastskip=\the\tempskipb)}% + \else \Tmessage[skip]{Backvspacing \the\tempskipb}% + \vskip-\tempskipb + \Tmessage[skip]{Vskip \the\tempskipa}% + \vskip\tempskipa \fi + \else \if\EqualString{#1}{fillup}\hfill + \else\vskip\tempskipa \fi + \fi} + +% advance skip by literal or name of control sequence +\def\advance@skip#1#2{\advance#1\@ww{#2}\relax} + +% only backspace the previous; +% in this case prevent creating a breakpoint +% if there was no glue +% +\def\v@buffer#1{\tempskipa=\@ww{#1}\relax \tempskipb\lastskip + \Tmessage[skip]{Clearing for vskip \the\tempskipa}% + \ifvmode \ifdim\tempskipb>\tempskipa + \else \ifdim\tempskipb=\z@ + \else \vskip-\tempskipb\relax + \Tmessage[skip]{Backspaced}\fi + \fi \fi} +\def\unhskip{\ifhmode\unskip\fi} +\def\leavehmode{\unvbox\voidb@x} +\def\novbreak{\leavehmode\nobreak} + +\def\white:#1 {\@white{#1}} +\@GenericOption{white}{\protect@breakpoint + \@add@toks{\@white{#1}}\at@breakpointyes} +\def\@white#1{\ifhmode\@hwhite{#1}\else + \ifvmode\@vwhite{#1}\fi\fi} +\def\fillup{\@white{0pt plus1fill}} + +\def\@@distance#1{\csarg\newskip{#1}} +\def\Distance:#1=#2 + {\if\UndefinedCS{#1}\@@distance{#1}\fi + \edef\cs@e{\global\noexpand\set@value{#1}% + \if\UndefinedCS{#2}{#2}% + \else \CSname{#2}\fi} + \cs@e} +\def\AdaptiveDistance:#1=#2 {\Distance:#1=#2 + \adds@stop@command + {\ifWriteExtern\immediate\write\aux@file + {\string\Distance:#1={\xp\the\csn#1\ecs}}\fi + }} + +\Distance:filler={0pt plus 1fil} +\parindent=30pt +\parskip=0pt +\parfillskip=0cm plus 1 fil +\baselineskip=12pt + +%%%%%%%%%%%%%%%% Rules +\@GenericOption{rule}{ + \if\EqualString{#1}{h}\protect@breakpoint + \@add@toks{\hrule#2\relax} + \at@breakpointyes + \else\if\EqualString{#1}{v}\@add@toks{\vrule#2\relax} + \else\Wmessage{Strange option: <rule:#1=#2>} + \fi \fi} +\@GenericOption{hrule}{\protect@breakpoint + \@add@toks{\hrule}\at@breakpointyes} +\@GenericOption{vrule}{\@add@toks{\vrule}} + +%%%%%%%%%%%%%%%% Indentation Control +% default value for all paragraphs set by AlwaysIndent +% this one is set by by the user, +% or by 'indentinside' option of paragraph shapes +% +\DefineTest:AlwaysIndent +\AlwaysIndent:yes + +% override by Indent +% can be set by the user, +% or by start/end of text constructs +% +\DefineTest:Indent %forceer/onderdruk inspringen + +% Remove indentation +% this is executed by \every@everypar +% +\def\controlled@indentation + {\ifAlwaysIndent + \ifIndent \else \remove@indent \Indent:yes \fi + \else \ifIndent \Indent:no \else \remove@indent \fi + \fi} +\def\remove@indent{{\setbox0=\lastbox}} + +\def\noindentation{\AlwaysIndentno \Indentno} + +% Indentation control in Universal Block +% control sequences \first@indent \inside@indent \after@indent +% are called (in \edef context) in general open/close macros +% for universal environments + +% Indent after this block +% \global because the block may be in a further group +% +\add@generic@default{\def\after@indent{\global\nxp\Indent:no }} +\@GenericOption{indentafter}{ + \def\after@indent{\global\nxp\Indent:#1 }} + +% Indent in this block +\add@generic@default{\def\inside@indent{}} +\@GenericOption{indentinside}{ + \def\inside@indent{\nxp\AlwaysIndent:#1 }} + +% Indent first in this block +\add@generic@default{\def\first@indent{\nxp\Indent:no }} +\@GenericOption{indentfirst}{ + \def\first@indent{\nxp\Indent:#1 }} + +%%%% Level dependent indentation +% +\NewTrace:indent + +% Lots of commands and parameters +% +% \levelindent is the indentation that will be taken +% on the current level, jumping to the next +% +\newdimen\levelindent + +% \previousindent is the indentation that got us to this level +% list item labels have to outdent over this amount +% +\newdimen\previousindent \previousindent\z@ + +% indentlevel counter: used to generate automatic indentation, +% for instance \levelindentvi for level vi +% +\new@@counter{indentlevel} +\set@counter{indentlevel}1 + +% \set@level@indent : set \levelindent to automatically +% generated indentation; if \levelindentiii is defined take it, +% otherwise use \@@level@indent{3}, which uses fraction +% of a \basicindent +% +\def\set@level@indent{\levelindent= + \level@indent{\cs@counter@name{indentlevel}}} +\def\level@indent + #1{\if\UndefinedCS{\@level@indent{#1}}\@@level@indent{#1}% + \else \csname \@level@indent{#1}\endcsname \fi} +\def\@level@indent#1{levelindent\romannumeral#1} +\def\@@level@indent#1{\ifcase#1\z@\or + \basicindent \or .75\basicindent \else .5\basicindent \fi} + +\DefineTest:BasicIndentIsSet +% the following lines appear as the last command in \Start, +% so that the user can tinker with \parindent +% through adaptive distances or in the style +%\ifBasicIndentIsSet\else\Distance:basicindent=parindent\fi +%\set@level@indent + +% \SetLevelIndent : set exact amount of indentation for +% specific level +% +\def\LevelIndent:#1=#2 {\csarg\edef{\@level@indent{#1}}{\@ww{#2}}} + +% Push/Pop indentlevels +% +\def\PushLeftIndentLevel + {\Tmessage[indent]{Old left indent: \the\leftskip}% + \advance\leftskip\levelindent + \previousindent=\levelindent + \step@counter{indentlevel}\set@level@indent + \Tmessage[indent]{New left indent: \the\leftskip, + at level \the\cs@counter@name{indentlevel}}% + } + +\let\PushIndentLevel\PushLeftIndentLevel % for backwards compatibility + +% Popping an indent level requires two pops: one for the \levelindent +% and one for the \previousindent. This last one then has to be +% pushed again. +% +\def\PopLeftIndentLevel + {\ifnum\cs@counter@name{indentlevel}=\@ne + \Emessage{Pop left indent level attempted at outer level} + \else \back@step@counter{indentlevel}% + \back@step@counter{indentlevel}% + \set@level@indent \previousindent\levelindent + \step@counter{indentlevel}% + \set@level@indent\advance\leftskip-\levelindent + \fi} + +\let\PopIndentLevel\PopLeftIndentLevel % for backwards compatibility + +\def\PushRightIndentLevel + {\Tmessage[indent]{Old right indent: \the\rightskip}% + \advance\rightskip\levelindent + \previousindent=\levelindent + \step@counter{indentlevel}\set@level@indent + \Tmessage[indent]{New right indent: \the\rightskip, + at level \the\cs@counter@name{indentlevel}}% + } + +\def\PopRightIndentLevel + {\ifnum\cs@counter@name{indentlevel}=\@ne + \Emessage{Pop right indent level attempted at outer level} + \else \back@step@counter{indentlevel}% + \back@step@counter{indentlevel}% + \set@level@indent \previousindent\levelindent + \step@counter{indentlevel}% + \set@level@indent\advance\rightskip-\levelindent + \fi} + +\def\PushLeftRightIndentLevels + {\Tmessage[indent]{Old left indent: \the\leftskip}% + \Tmessage[indent]{Old right indent: \the\rightskip}% + \advance\leftskip\levelindent + \advance\rightskip\levelindent + \previousindent=\levelindent + \step@counter{indentlevel}\set@level@indent + \Tmessage[indent]{New left indent: \the\leftskip, + at level \the\cs@counter@name{indentlevel}}% + \Tmessage[indent]{New right indent: \the\rightskip, + at level \the\cs@counter@name{indentlevel}}% + } + +\def\PopLeftRightIndentLevels + {\ifnum\cs@counter@name{indentlevel}=\@ne + \Emessage{Pop left and right indents level attempted at outer level} + \else \back@step@counter{indentlevel}% + \back@step@counter{indentlevel}% + \set@level@indent \previousindent\levelindent + \step@counter{indentlevel}% + \set@level@indent\advance\rightskip-\levelindent + \advance\leftskip-\levelindent + \fi} + +%%%%%%%%%%%%%%%% Paragraph Skip control +% parskip is stored and set to zero at the start and end +% of environments +\newskip\@restoreparskip + +% it is recorded if a parskip has been stored +% +\newif\if@parskipsaved \@parskipsavedno + +% Do no parskip +% used at start of environment +% +\def\hold@parskip + {\@restoreparskip\parskip \parskip\z@ \@parskipsavedyes} + +% Hold off parskip +% used at end of environment +% +\def\dono@parskip{\if@parskipsaved \else \hold@parskip \fi} + +% Reestablish the parskip +% this is executed in \every@everypar +% +\def\controlled@parskip + {\if@parskipsaved \@parskipsavedno + \parskip\@restoreparskip + \fi} + +\def\noparskip{\parskip\z@ \@restoreparskip\z@} + +%%%%%%%%%%%%%%%% Every Paragraph +% \everypar is supposed to contain \every@everypar +% as its first element. +% +\newtoks\EveryParagraph +\def\every@everypar{\controlled@indentation \controlled@parskip + \one@shot@coms \@headedno} +\def\default@everypar{\everypar={\every@everypar\the\EveryParagraph}} +\add@start@command{\default@everypar} +\everypar{\Emessage{You forgot to give the \nxp\Start\@space command.}} + +% Execute once +% +\newtoks\one@shot@toks +\def\one@shot@coms{\temptoksa\one@shot@toks + \global\one@shot@toks={}\the\temptoksa\temptoksa{}} +\def\next@paragraph#1{\append@to@list{one@shot@toks}{#1}} + +%%%%%%%%%%%%%%%% Every Math +% just like \everypar. +% +\newtoks\EveryMath +\newtoks\EveryDisplay +\newtoks\every@everymath \newcount\high@fam +\every@everymath{\high@fam\count18\relax + %\MainFace + \xp\math@setsize\style@sizes} +\everymath{\the\every@everymath\the\EveryMath} +\everydisplay{\the\every@everymath\the\EveryDisplay} + +% Flush margins +% +\Distance:rightmarginstretch={0pt plus 6cm} +\Distance:leftmarginstretch={0pt plus 6cm} +\def\FlushLeft:#1 {\switch {\if\EqualString{#1}} + {yes} {\leftskip=1\leftskip} + {default} {\leftskip=1\leftskip + \advance\leftskip\leftmarginstretch} + \endswitch \relax} +\FlushLeft:yes +\def\FlushRight:#1 {\switch {\if\EqualString{#1}} + {yes} {\rightskip=1\rightskip} + {default} {\rightskip=1\rightskip + \advance\rightskip\rightmarginstretch} + \endswitch \relax} +\FlushRight:yes + + +% French Spacing +% +\def\FrenchSpacing:#1 {\switch {\if\EqualString{#1}} + {yes} {\frenchspacing} + {no} {\nonfrenchspacing} + \endswitch \relax} +\FrenchSpacing:no + +%%%%%%% lijn +% #1 : hoogte; #2 : lengte; #3 : elevatie +% parameters kunnen van achter af aan weggelaten worden; +% #4 is dummy, kan niet door de gebruiker gespecificeerd worden. +% NNNNNNNNNBBBBBBBBBBBBB: #2 werkt nog niet!!!!!!!!!!!! +\newtoks\@lijntoks +\@lijntoks={} + +% Lijn. Hier moet ik nog eens naar kijken. +\@GenericOption{lijn}{ + \edef\cs@e{\nxp\lijnanalyse:#1:\@restarg::::;}\cs@e + \edef\cs@e{\nxp\@add@toks{\nxp\leavevmode\the\@lijntoks}} + \cs@e} + +\def\lijnanalyse:#1:#2:#3:#4;{\@lijntoks={} + \eqstring{#1}{}{}{\achteraanlijst{@lijntoks}{height #1 }} + \eqstring{#2}{}{\vooraanlijst{@lijntoks}{\leaders\hrule depth 0cm } + \achteraanlijst{@lijntoks}{\hfill}}% + {\eqstring{#2}{uitvullen}% + {\vooraanlijst{@lijntoks}{\leaders\hrule depth 0cm } + \achteraanlijst{@lijntoks}{\hfill}}% + {\achteraanlijst{@lijntoks}{width \w@w{#2} }% + \vooraanlijst{@lijntoks}{\vrule depth 0cm }} +% \eqstring{#3}{}{}{\vooraanlijst{@lijntoks}{\raise #3\hbox\bgroup} +% \achteraanlijst{@lijntoks}{\egroup}} + } + \achteraanlijst{@lijntoks}{\hbox{}} % \par doet \unskip!!! + } + + +%%%%%%%%%%%%%%%%%%%%%%%%%%% accenten +\gdef\allowhyphens{\penalty\@M \hskip\z@\relax} + +%{\catcode`\"=12 \gdef\hex{"}} + +%\catcode`\"=13 +%\def "#1{\ifx#1i\discretionary{-}{i}{{\accent'177 \i}}% +\def\"#1{\ifx#1i\discretionary{-}{i}{{\accent'177 \i}}% + \else\ifx#1-\allowhyphens-\penalty\z@\allowhyphens + \else\ifx#1"\hskip\z@\relax +% \else\ifx#1!\hex + \else\ifx#1!" + \else\ifx#1|\allowhyphens + \else {\accent'177 #1}\fi\fi\fi\fi\fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%% C A S E +%% +\def\UpperCase#1{\edef\cs@a{\uppercase{#1}}\cs@a} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%% L E T T E R S P A C I N G +%% +\def\LetterSpace + {\ifnextchar[\@LetterSpace %] <- to fool emacs + {\@LetterSpace[0ptplus1fil]}} +\def\@LetterSpace[#1]#2{\def\@LS{\hskip#1\relax}% + \edef\cs@e{#2}\xp\@@LS\cs@e&} +\def\@@LS#1#2&{#1\if\IsEmptyList{#2}\xp\take@one\else\@LS\xp\@@LS\fi#2&} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%% Interdictions +%% +\def\NoHyphenation{\hyphenpenalty\@M \exhyphenpenalty\@M} +\def\NoWidows{\widowpenalty\@M} +\def\NoOrphans{\clubpenalty\@M} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%% V E R B A T I M +%% + +\def\setupverbatim{\let\do=\makeother \dospecials} + +%% inline verbatim +\def\ver{\leavevmode\begingroup \setupverbatim \obeyspaces\tt \@ver} +\def\@ver#1{\def\@@ver##1#1{##1\endgroup}\@@ver} + +%% display verbatim +{\activecr % + \gdef\vVer>{\setupverbatim \obeyspaces % + \tt \parindent\z@ \noparskip \obeylines % + \ifnextchar + \@@Ver\@Ver}\noeol % + \gdef\@Ver#1<Rev{#1\VerStop}% + \gdef\@@Ver + #1<Rev{#1\VerStop}} + +%% verbatim files +\def\verbatimfile#1{\begingroup + \setupverbatim \obeyspaces \parindent\z@ \noparskip \obeylines % + \tt \input#1\relax + \endgroup} + +\endinput + +% 2016/05/14 defined \FrenchSpacing +% 2016/04/14 defined \PushLeftIndentLevel, \PopLeftIndentLevel, +% \PushRightIndentLevel, \PopRightIndentLevel, +% \PushLeftRightIndentLevels, and \PopLeftRightIndentLevels +% commands. \PushIndentLevel is now a synonym for +% \PushLeftIndentLevel and \PopIndentLevel is a synonym +% for \PopLeftIndentLevel +% 2014/04/13 defined \EveryParagraph, \EveryMath, and \EveryDisplay +% 2014/04/12 changed "#1 cs to \"#1 cs to be compatible with plain; +% also we can not make " active since it is used by xetex for font selection +% 92/11/08 white options created; +% breakpoint protection in white options +% 92/11/18 AdaptiveDistance implemented +% 92/11/20 \set@counter calls updated for \w@w use +% 92/12/14 default flush right diff --git a/macros/plain/formats/lollipop/tex/lollipop-tools.tex b/macros/plain/formats/lollipop/tex/lollipop-tools.tex new file mode 100644 index 0000000000..f7b11454b5 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop-tools.tex @@ -0,0 +1,1509 @@ +% lollipop-tools.tex copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +%% anonymous control sequences +\newif\iftempa \newif\iftempb \newif\iftempc \newif\iftempd + +\newdimen\tempdima \newdimen\tempdimb \newdimen\tempdimc + +\newskip\tempskipa \newskip\tempskipb \newskip\tempskipc + +\newcount\tempcounta \newcount\tempcountb \newcount\tempcountc + +\newbox\tempboxa \newbox\tempboxb \newbox\tempboxc \newbox\tempboxd + +\newtoks\temptoksa \newtoks\temptoksb \newtoks\temptoksc +%\newtoks\temptoksd \newtoks\temptokse \newtoks\temptoksf + +%% auxiliaries +\def\@meld#1{{\immediate\write16{\trace@prefix #1}}} +\def\Dmessage#1{\ifDiagnose \@meld{#1}\fi} +\def\Wmessage#1{\@meld{--- Warning: #1}} +\def\Emessage#1{{\errorcontextlines\m@ne + \errmessage{<><><><><><><><> #1 <><><><><><><><>}}} + +\showboxdepth=7 \showboxbreadth=20 +\newlinechar=`\^^J %nodig? + +\chardef\busje`\\ +\def\cs#1{{\tt\char\busje#1}} + +\let\xp\expandafter \let\nxp\noexpand +\let\csn\csname \let\ecs\endcsname + +% Remove or select tokens +% is used in several places +% +\long\def\id@#1{#1} +\long\def\take@former#1#2{#1} \long\def\take@latter#1#2{#2} +\long\def\take@one#1{} \long\def\take@two#1#2{} +\long\def\take@three#1#2#3{} +\long\def\keep@one#1{#1} \long\def\take@to@dollar#1${} +\def\Xignorespaces#1{#1} + +{\noesc +\xp\xp\xp\gdef\xp\xp\xp\meaning@take@zero + \xp\string\csn macro:\xp\xp\xp\xp\xp\xp\xp\ecs + \xp\xp\xp\xp\xp\xp\xp#\xp\xp\xp1\xp\string\csn->\ecs{} +}\def\real@meaning{\xp\meaning@take@zero\meaning} + +\def\first@of@three#1#2#3{#1} +\def\second@of@three#1#2#3{#2} +\def\third@of@three#1#2#3{#3} +\def\first@two@of@three#1#2#3{{#1}{#2}} + + +% Check if this file is being loaded from IniTeX, or +% by \input'ting on top of an already existing format. +% This is to avoid double definitions and major accidents. +% +\def\lollipop@name{Lollipop} +\expandafter\ifx\csname fmtname\endcsname\lollipop@name + \let\ifini\take@one + \let\ifnin\keep@one + \message{! Loading Lollipop on top of format !} +\else + \let\ifini\keep@one %iniTeX run or on top of plain TeX + \let\ifnin\take@one + \everyjob{\let\ifini\take@one\let\ifnin\keep@one} +\fi + +%%%%%%%%%%%%%%%% forward definitions +\def\new@@counter#1{\csarg\newcount{\counter@name{#1}}} +\def\counter@name#1{#1@C} + +%%%%%%%%%%%%%%%% Special characters + +% At sign +% + +\def\makeatletter{\catcode`\@=11\relax} +\def\makeatother{\catcode`\@=12\relax} + +% Catcode (re)storing +% +\def\storecat#1% + {\noesc + \csarg\edef{restorecat\string#1}% + {\catcode`\string#1= + \the\catcode\expandafter`\string#1}% + \catcode\expandafter`\string#1=12\relax + \normalesc} +\def\restorecat#1% + {\noesc + \csname restorecat\string#1\endcsname + \normalesc} + +% save writing. + +\def\@space{ }\def\@empty{} \newtoks\empty@toks \empty@toks{} +\def\sc@led{scaled} +\def\nl{\hfil\break} +\def\IniTeX{Ini\TeX} +\def\LaTeX{L\kern-.3em\raise.35ex\hbox{\script A}\kern-.1em\TeX} +\def\AmsTeX{$\cal A_MS$-\TeX} +%my old def +%\def\LamsTeX{L\kern-.2em\raise.4ex\hbox +% {$\scriptstyle\cal A$}\kern-.2em$\cal_M$\kern-.2em$\cal S\,$\TeX} +%Spivak's old def +%\def\LamSTeX{L\kern-.4em\raise.3ex\hbox{$\ssize\Cal A$}\kern-.25em +% \lower.4ex\hbox{\eightsy M}\kern-.1em{$\Cal S$}-\TeX} +\def\LamsTeX{L\kern-.4em\raise.3ex\hbox{\script$\cal A$}\kern-.25em + \lower.4ex\hbox{\script$\cal M$}\kern-.1em{$\cal S$}-\TeX} + +\def\CorporateLogo{\TeX\kern-.15em \raise.5ex\hbox{T}\kern-.25em + ECHNIQUE} + + +\hsize=15cm + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%% T O O L S %%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Construct a control sequence inside \edef +% +\def\CSname#1{\expandafter\noexpand\csname#1\endcsname} + +% Construct a control sequence out of #2, and give it to #1 +% +\def\csarg#1#2{\expandafter#1\csname#2\endcsname} + +% Pick an escapecharacter +% this presumes that its argument is a character. +% +\def\pickescape#1{\ifnum`#1=\escapechar\else#1\fi} + +% Equality of strings. +% the fast approach: does not work in expansion-only environment. +% +\def\EqualString#1#2{00\fi\def\eqs@a{#1}\def\eqs@b{#2}% + \ifx\eqs@a\eqs@b} + +% Test by expansion only +% +\def\EqualStringX#1#2{00\fi + \csname if\@EqualStringX#1&$#2&$\endcsname} +\def\@EqualStringX#1#2$#3#4${\ifx#1#3% + \ifx#1&true\else\hop@ES\@EqualStringX#2$#4$\fi + \else false\fi} +\def\hop@ES#1\fi#2\fi{\fi\fi#1} + +% Lexicographic ordering +% note the use of \def +% also note the characters 0,127,255 that are used, +% these are not supposed to appear in the strings +% +{\catcode0=12 \catcode255=12 \catcode127=12 +\gdef\StringBeforeNC#1#2{\00\fi + \CharsBefore#1^^@^^?#2^^ff^^?} +\gdef\CharsBeforeNC#1#2^^?#3#4^^?{% + \ifcat#1\relax\def\next{\CharsBefore#2^^@^^?#3#4^^ff^^?}% + \else\ifcat#3\relax\def\next{\CharsBefore#1#2^^@^^?#4^^ff^^?}% + \else\ifnum\lccode`#1<\lccode`#3 + \def\next{\csname iftrue\endcsname}% + \else\ifnum\lccode`#1>\lccode`#3 + \def\next{\csname iffalse\endcsname}% + \else\def\next{\CharsBefore#2^^?#4^^?}% + \fi \fi \fi \fi + \next} +\gdef\StringBefore#1#2{\00\fi + \CharsBefore#1^^@^^?#2^^ff^^?} +\gdef\CharsBefore#1#2^^?#3#4^^?{% + \ifnum`#1<`#3 + \def\next{\csname iftrue\endcsname}% + \else\ifnum`#1>`#3 + \def\next{\csname iffalse\endcsname}% + \else\def\next{\CharsBefore#2^^?#4^^?}% + \fi\fi + \next} +} + + +% Null argument test +% +\def\ifempty#1{00\fi\xp\ifx\csname#1null\endcsname\null} +\def\ifEmptyX#1{\xp\ifx\csname#1null\endcsname\null} +%\def\ifEmpty#1{\def\cs@a{#1}\ifx\cs@a\empty} +\def\IsEmptyList#1{00\fi\def\cs@a{#1}\ifx\cs@a\empty} + +% Next character test +% +\def\NextChar#1#2#3{00\fi + \let\nxt@ch#1\def\nxt@a{#2}\def\nxt@b{#3}% + \futurelet\nxt@c\@ifnxtc} +\def\ifNextChar#1#2#3{% + \let\nxt@ch#1\def\nxt@a{#2}\def\nxt@b{#3}% + \futurelet\nxt@c\@ifnxtc} +\let\ifnextchar\ifNextChar +\def\@ifnxtc{\ifx\nxt@ch\nxt@c \expandafter\nxt@a + \else \expandafter\nxt@b \fi} + +% Test for defined-ness of string as control sequence. +% works inside \edef +% +%outdated: \def\ifnotdefined#1{\csarg\ifx{#1}\relax} +\def\UndefinedCS#1{00\fi\csarg\ifx{#1}\relax} + +% Define uniquely defined dummy macros, +% usually to serve as bumper blocks at the end of a list +% +\newcount\dummies +\def\NewDummy#1{ + \if\UndefinedCS{#1}\csarg\edef{#1}{dum\the\dummies} + \advance\dummies\@ne + \else + \ifini{\Wmessage{Attempt at second definition of `#1'}} + \fi} + +% string case statement +% use: \switch \iftest{...} in: +% item1 action1 +% ... +% itemn actionn +% default defaultaction [optional] +% \endswitch +% inspired by Jonathan Fine: Some Basic Control Macros +% Tugboat 12 #4 +% +\let\@fi\fi \let\endswitch\relax \NewDummy{default} +\def\switch@exit #1 \@fi #2 \endswitch {\fi #1} +\def\switch #1#2#3{\csarg\ifx{#2}\default\switch@exit #3 \@fi + #1{#2}\switch@exit #3 \@fi + \switch {#1} +} +% this version puts the test object in {} +\def\oswitch #1 in: #2 #3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi + #1{#2}\switch@exit #3 \@fi + \switch #1 in: +} +% this version assumes that the test object is just one character +\def\cswitch #1 in: #2 #3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi + #1#2\switch@exit #3 \@fi + \cswitch #1 in: +} +% this version assumes that the test object can have an optional space +\def\bswitch #1 in: #2 #3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi + #1#2 \switch@exit #3 \@fi + \bswitch #1 in: +} +% this version can cope with significant spaces at the start of #3; +% #2 is macro argument +\def\mswitch #1 in: #2:#3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi + #1{#2}\switch@exit #3 \@fi + \mswitch #1 in: +} +% idem; #2 does not have to be enclosed in braces +\def\fswitch #1 in: #2:#3; {\csarg\ifx{#2}\default\switch@exit #3 \@fi + #1#2 \switch@exit #3 \@fi + \fswitch #1 in: +} + +% Routines for taking the value of a string: +% if the string is defined as control sequence +% take the value of that, otherwise take the string itself + +% String or value of control sequence +% +\def\w@w#1{\if\UndefinedCS{#1}#1\else \the\csname#1\endcsname\fi} + +% String or control sequence +% +\def\@ww#1{\if\UndefinedCS{#1}#1\else \csname#1\endcsname \fi} + +% String or \noexpand-ed control sequence; +% for use in \edef +% +\def\@w@w#1{\if\UndefinedCS{#1}#1\else + \ifin@label\noexpand\protect\fi \CSname{#1}\fi} +\newtoks\are@these@correct +\def\t@w@w#1{% + \if\UndefinedCS{#1}#1% + \ifdefining\append@to@list\are@these@correct{#1 }\fi + \else + \ifin@label\noexpand\protect\fi \CSname{#1}\fi} +% see below what happens to \are@these@correct + +% Allocation +% +\def\new@count#1#2{\csarg\newcount{#1}\global\set@value{#1}{#2}} +\def\new@skip#1#2{\csarg\newskip{#1}\global\set@value{#1}{#2}} +\def\new@dimen#1#2{\csarg\newdimen{#1}\global\set@value{#1}{#2}} + +% Assignment of Values +% +\def\set@value#1#2{\csname#1\endcsname #2\relax} +\def\increase@value#1#2{\advance\csname#1\endcsname #2\relax} +\def\decrease@value#1#2{\advance\csname#1\endcsname -#2\relax} + +% Hex +% +\def\hexdigit#1{\ifcase#10\or 1\or 2\or 3\or 4\or + 5\or 6\or 7\or 8\or 9\or A\or B\or C\or D\or E\or F\fi} + +% Log 10 +% +\def\LogTen#1{\switch{\ifnum#1<} + {10 }{1} {100 }{2} {1000 }{3} {10000 }{4} {default}{5} + \endswitch} + +% List Manipulation ................ +% this assumes that #1 is a list of tokens, #2 is the name of a list +% +% Names of lists (and of items to pop into) are given as strings; +% not as control sequences. +% +\newtoks\toks@lista \newtoks\toks@listb +% basic append/prepend macro +\long\def\@append@to@cslist#1#2#3{\begingroup\toks@lista=#2{#3}% + \global#1=\xp\xp\xp{\xp\the\xp#1\the\toks@lista}\endgroup} +\long\def\@prepend@to@cslist#1#2#3{\begingroup\toks@lista=#2{#3}% + \global#1=\xp\xp\xp{\xp\the\xp\toks@lista\the#1}\endgroup} +\def\@append@to@list{\csarg\@append@to@cslist} +% variations: +\long\def\append@to@list#1#2{\@append@to@list{#1}{}{#2}} +\def\append@list@to@list#1#2{% + \@append@to@list{#1}{\xp\xp\xp}{\xp\the\csn#2\ecs}} +\def\append@cslist@to@cslist#1#2{% + \@append@to@cslist{#1}\xp{\the#2}} +\def\append@toks@cs@to@list#1#2{\@append@to@list{#1}\xp{\the#2}} + +% A few list macros for the user +\def\NewList:#1 {\csarg\newtoks{#1}\global\csn#1\ecs{}} +\def\EmptyList:#1 {\global\csn#1\ecs{}} +\long\def\AppendToList:#1=#2 {\@append@to@list{#1}{}{#2}} +\def\TheList:#1 {\let\oldwbuskip\willbeunhskip \let\willbeunhskip\@empty + \if\UndefinedCS{#1}\message{List <#1> undefined} + \else\csarg\the{#1}\fi + \let\willbeunhskip\oldwbuskip} + +\def\del@tok@from@list#1#2{\begingroup + \long\def\cs@liste##1#2##2\tok@SM + {\toks@lista{##1}\toks@listb{##2}% + \edef\cs@listb{\global\CSname{#1}= + {\the\toks@lista\the\toks@listb}}% + \cs@listb}% + \edef\cs@lista{\nxp\cs@liste{}\xp\the\csn#1\ecs\nxp\tok@SM}% + \cs@lista \endgroup} +\def\in@front@of@list#1{\csarg{\let\xp\cs@lista}{#1}% + \in@front@of@cslist\cs@lista} +\long\def\in@front@of@cslist#1#2{\begingroup\toks@lista={#2}% + \global#1=\xp\xp\xp{\xp\the\xp\toks@lista \the#1}% + \endgroup} +\long\def\local@in@front@of@list#1#2{\toks@lista={#2}% + \csname#1\endcsname\xp\xp\xp\xp\xp\xp\xp + {\xp\xp\xp\the\xp\xp\xp\toks@lista + \xp\the\csname#1\endcsname}% + } +\def\set@list#1{\csarg{\let\xp\cs@lista}{#1}% + \set@cslist\cs@lista} +\long\def\set@cslist#1#2{\begingroup\toks@lista={#2}% + \global#1=\xp{\the\toks@lista}\endgroup} + +%%%%%%%%%%%%%%%% Stack macros +% +% push in terms of prepending of lists +\def\push@cs@onto@cs#1#2{\@prepend@to@cslist#1\xp{\xp\\\xp{\the#2}}} +\def\push@onto#1{\csarg\push@onto@cs{#1}} +\def\push@onto@cs#1#2{\@prepend@to@cslist#1{}{\\{#2}}} +\def\local@push@onto#1#2{\let\\=\relax + \local@in@front@of@list{#1}{\\{#2}}} +% pop via auxiliary macro: #1 is result, #2 is stack +% two cs arguments +\def\pop@cs@into#1#2{\edef\cs@e + {\nxp\@@popinto\nxp#1\nxp#2\the#2\nxp\@@pop}\cs@e} +% two string arguments +\def\pop@into#1#2{\edef\cs@e + {\nxp\@@popinto\CSname{#1}\CSname{#2}\csarg\the{#2}\nxp\@@pop}\cs@e} +\long\def\@@popinto#1#2\\#3#4\@@pop{#1{#3}#2{#4}} +\def\copy@stacktop#1#2{% + \edef\cs@e{\noexpand\@copy@stacktop + {#1}\csarg\the{#2}\noexpand\@@pop}% + \cs@e} +\def\@copy@stacktop#1\\#2#3\@@pop{\csname#1\endcsname#2\relax} +\newcount\stack@length \newtoks\empty@stack \empty@stack{\\{}} +\def\length@of@stack#1{\csarg\length@of@csstack{#1}} +\def\length@of@csstack#1{\def\\##1{\advance\stack@length\@ne}% + \stack@length\m@ne \the#1} +% turn a stack upside down +\def\invert@csstack#1{\length@of@csstack{#1}% + \tempcountb\z@ \temptoksa\empty@stack + \loop\ifnum\tempcountb<\stack@length + \pop@cs@into\temptoksb#1\advance\stack@length\m@ne + \push@cs@onto@cs\temptoksa\temptoksb +% \append@cslist@to@cslist\temptoksb\temptoksa% append a to b +% \temptoksa\temptoksb + \repeat% copy b to a + #1\temptoksa \temptoksa\empty@toks} +% invert a stack into a list +\def\x@stack@to@list#1{\length@of@stack{#1}% + \tempcountb\z@ \temptoksa\empty@toks + \loop\ifnum\tempcountb<\stack@length + \pop@into{temptoksb}{#1}\advance\stack@length\m@ne + \append@list@to@list{temptoksb}{temptoksa}\repeat + \csn#1\ecs\temptoksa \temptoksa\empty@toks} + + +% Bookkeeping and Householding lists................ +% Generic Defaults +% to be executed each time a definition starts +% +\ifini{\newtoks\generic@defaults} +\def\adds@generic@default#1{ + \append@to@list{generic@defaults}{#1}} +\def\add@generic@default#1{\ifini + {\append@to@list{generic@defaults}{#1}}} + +% Document Start Commands +% to be executed by \Start +% +\ifini{\newtoks\start@commands} +\def\add@start@command#1{\ifini + {\append@to@list{start@commands}{#1}}} +\def\adds@start@command#1{% + \append@to@list{start@commands}{#1}} + +% Document Stop Commands +% to be executed by \Stop +% +\ifini{\newtoks\stop@commands} +\def\add@stop@command#1{\ifini + {\append@to@list{stop@commands}{#1}}} +\def\adds@stop@command#1{% + \append@to@list{stop@commands}{#1}} + +% Style Start Commands +% to be executed by \StyleDefinition +% +\ifini{\newtoks\style@start@commands} +\def\add@style@start@command#1{\ifini + {\append@to@list{style@start@commands}{#1}}} + +% Style Stop Commands +% to be executed by \StyleDefinitionStop +% +\ifini{\newtoks\style@stop@commands} +\def\add@style@stop@command#1{\ifini + {\append@to@list{style@stop@commands}{#1}}} +\add@style@stop@command{\style@stop@commands{} + \style@start@commands{}} + +\def\check@existence#1{\Wmessage{Used \nxp\check@existence. Check}} +% \add@style@stop@command{\if\UndefinedCS{#1}\Wmessage +% {Some trouble involving #1; check definitions carefully!}\fi} + +%\add@style@start@command{\are@these@correct{}} +%\add@style@stop@command{\if\IsEmptyList{\the\are@these@correct}\else +% \Wmessage{Check if the following are literals: \the\are@these@correct} +% \fi} + +% Tracing +% +% if trace@all=0 and \trace@foo is >0, every \Tmessage[foo] is written. +% if \Trace:no, then all trace is disabled through \trace@all=-1 +% if \Trace:yes then all traces are written through \trace@all=1 +% by default: \trace@all=0 +% +\def\Tmessage{\ifnum\trace@all>\m@ne\xp\t@message\else\xp\del@message\fi} +\def\del@message[#1]#2{}\let\trace@prefix\@empty +\def\t@message[#1]#2{% + \ifnum\trace@all>\z@ \def\trace@prefix{[T]}\@meld{#2}% + \else\csarg\ifnum{trace@#1}>\z@ + \def\trace@prefix{[T:#1]}\@meld{#2}\fi + \fi\global\let\trace@prefix\@empty} + +\def\Trace:#1 {\switch{\if\EqualString{#1}} + {yes} {\trace@all\@ne\message{Switching ON all tracing}} + {no} {\trace@all\m@ne\message{Switching OFF all tracing}} + {default} {\if\UndefinedCS{trace@#1}\Wmessage{Strange trace: #1}\else + \csname trace@#1\endcsname\@ne \trace@all\z@ \fi} + \endswitch} +\def\NewTrace:#1 {\new@count{trace@#1}\m@ne} +\new@count{trace@all}\z@ +\NewTrace:gen % traces everything in this file +\NewTrace:def % definitions of constructs etc + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%% Generic Constructs %%%%%%%%%%%%%%%%%%%%% + +% \@GenericConstruct{Foo} = +% \newtoks\Foo@defaults +% \Foo@defaults={} +% \def\add@Foo@default#1{...} +% \def\DefineFoo#1 = +% \@FooDefaults % has to be defined explicitly +% \the\Foo@defaults % constructed cumulatively +% \@GenericDefaults % constructed cumulatively +% \@GetOptions +% \@DefineFoo % has to be defined explicitly +% \def\@FooOption ... % same syntax as \@GenericOption +% +% Options are either generic (the ones below) +% defined by \@GenericOption, +% or specific for some construct, +% defined by \@FooOption +% +\ifini{\newtoks\@gencons} +\newif\ifdefining@a@construct +\def\@GenericConstruct#1{ + \ifini{\append@to@list{@gencons}{\\#1;} + \csarg\newtoks{#1@defaults} + \csn #1@defaults\ecs{}} + \csarg\def{add@#1@default}##1{\ifini + {\append@to@list{#1@defaults}{##1}}} + \csarg\def{adds@#1@default}##1{\append@to@list{#1@defaults}{##1}} + \Install@Noops{#1} + \csarg\def{Define#1}:##1 {\defining@a@constructyes + \def\@name{##1}\def\@class{#1} + \Tmessage[def]{Defining a #1: ##1} + \the\generic@defaults + \csarg\the{#1@defaults} + \Get@Items} + \csarg\def{@#1Option}##1{\csarg\def{#1@##1}####1####2} + } +\add@generic@default{\let\pre@fix\@empty} +\def\@command{\ifx\pre@fix\@empty\else\pre@fix @\fi\@name} +\def\stop@command@suffix{Stop} +\def\stop@command{\@command\stop@command@suffix} +\def\@DefineStopCommand{\csarg\edef{\stop@command}} + +%%%% Abbreviated Closing: +% every group defines its own \default@stop@command; +% on the outer level this is an error msg. +% \> closes whatever is open, \>] closes everything that is open. +\def\outer@stop@command{\Emessage{Vacuous group closing}} +\let\default@stop@command\outer@stop@command +\def\>{\default@stop@command%[fool the editor + \ifNextChar]{\ifx\default@stop@command\outer@stop@command + \xp\take@one + \else \xp\>\fi}{}} +\newif\if@implicitclose +\add@generic@default{\@implicitcloseyes} +% the next line replicated below +%\@GenericOption{noimplicitclose}{\@implicitcloseno} +\def\install@stop{\if@implicitclose + \def\nxp\default@stop@command{\CSname{\stop@command}}% + \else \let\nxp\default@stop@command\nxp\outer@stop@command + \fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%% Here is the main +%%%%%%%%%%%%%%%% I T E M A N A L Y S I S +%%%%%%%%%%%%%%%% loop +%%%% + +% This macro is recursive, but with some detours. +% first filter out empty arguments +% +\def\Get@Items#1 {\if\IsEmptyList{#1}\let\get@next@item\Get@Items + \else\def\get@next@item{\@Get@Items#1 }\fi + \get@next@item} + +% Check if the argument is `Stop', in which case you +% have reached the end of a generic definition. +% Otherwise filter the special case of a colon, and process an item +% +\NewDummy{Stop} +\def\@Get@Items#1 {\let\get@next@item=\Get@Items + \csarg\ifx{#1}\Stop + \the\generic@stop@defaults + \let\get@next@item=\relax + \else \if\EqualString{#1}{:}\@add@toks{:} + \else \Item@or@Macro#1::. \fi + \fi \get@next@item} + +% Default actions to be executed when GetItems has finished +% +\def\add@generic@stop@default#1{\ifini + {\append@to@list{generic@stop@defaults}{#1}}} +\ifini{\newtoks\generic@stop@defaults} +\add@generic@stop@default{\csname @Define\@class\endcsname} + +% Now check successive possibilities: +% first it can be a macro. +% +\def\OptionsMacro:#1=#2Stop {\global\csarg\def{opt@mac@#1}{#2}} +\def\split@at@is#1=#2=#3.{{#1}{#2}} +\def\Item@or@Macro#1:#2:#3.{ + \switch {\if\EqualString{#1}} + {macro} {\if\UndefinedCS{opt@mac@#2} + \Wmessage{Unknown macro: `#2'} + \else \edef\get@next@item{\nxp\Get@Items \csn opt@mac@#2\ecs } + \fi} + {default} {\edef\cs@e{\nxp\Option@Item{#1}\split@at@is#2==.} + \cs@e} + \endswitch} + +% The option #1 is not a Lollipop style macro. It can be +% - a specific option +% - a generic option +% - a character +% - a defined control sequence +% +% Is it an option of some sort? +% +\def\Option@Item#1#2#3{ + \if\UndefinedCS{\@class @#1} + \if\UndefinedCS{\gen@option@name{#1}} + \Character@CS@Item{#1}{#2}{#3} + \else \if\EqualString{#2}{title} + \edef\cs@e{\CSname{\gen@option@name{#1}}\CSname{#3Title}} + \cs@e + \else \csn \gen@option@name{#1}\ecs{#2}{#3} + \fi + \Tmessage[gen]{Generic option `#1' for `\@class': + `#2' = `#3'} + \fi + \else \if\EqualString{#2}{title} + \edef\cs@e{\CSname{\@class @#1}\CSname{#3Title}} + \cs@e + \else \csn \@class @#1\ecs{#2}{#3} + \fi + \Tmessage[gen]{Specific option `#1' for `\@class': `#2'} + \fi} + +% If it is not an option, is it a character or control sequence? +% +% Commands are either `\Command', `\Command:arg', `\Command:arg1=arg2' +% See what arguments are nonempty in order to attach them; +% in case 2 and 3 append space token. +% +\def\Character@CS@Item#1#2#3{ + \def\cs@b{#1}\def\cs@c##1##2<<<{\def\cs@c{##1}}\cs@c#1<<< + \ifx\cs@b\cs@c \@add@toks{#1} + \Tmessage[gen]{Single character `#1' for `\@class'} + \else + \if\UndefinedCS{#1} + \Wmessage{Unknown option for `\@class': `#1' in `\@name'.} + \@add@toks{\csn#1\ecs} + \else + \cs@in@ref@protect{#1}% + \edef\cs@e{\nxp\@add@toks{\CSname{#1}}}\cs@e + \fi + \if\IsEmptyList{#2} + \else \if\IsEmptyList{#3}\@add@toks{:#2 } + \else + \if\EqualString{#2}{title} + \edef\cs@e{\nxp\@add@toks{:\CSname{#3Title} }} + \cs@e + \else \@add@toks{:#2={#3} } + \fi + \fi + \fi + \Tmessage[gen]{Command `#1' (#2,#3)} + \fi} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% G E N E R I C O P T I O N S +%%%% +% +% All generic constructs get these options. +% They are at liberty to redefine them. +% +\newtoks\@GenericOptions +\def\gen@option@name#1{Option@#1} +\def\@GenericOption#1{ + \append@to@list{@GenericOptions}{\\#1;} + \csarg\def{\gen@option@name{#1}}##1##2} +\def\Noop@Error#1#2{\Emessage{Option #2 is not allowed for class #1}} + +\def\Install@Noops#1{ + \csarg\def{@#1NOOP}##1{\csarg\def{#1@##1}{\Noop@Error{#1}{##1}}} + } +\newtoks\@main@options@list +\newtoks\before@coms \newtoks\after@coms +\add@generic@default + {\def\@current@options@list{@main@options@list}% + \@main@options@list{} + \before@coms{} \after@coms{}} +\long\def\@add@toks#1{\append@to@list{\@current@options@list}{#1}} +\def\toks@add@toks#1{ + \edef\cs@e{\nxp\append@to@list + {\nxp\@current@options@list}{\xp\the\csn#1\ecs}} + \cs@e \let\cs@e\relax} +\def\switch@to@options@list#1{\def\@current@options@list{#1}} +\def\temp@options@list#1{ + \xdef\saved@options@list{\@current@options@list} + \def\@current@options@list{#1}} +\def\revert@options@list{ + \xdef\@current@options@list{\saved@options@list} + \global\let\saved@options@list\@empty} + +\newtoks\z@toks \z@toks={0pt} + +% the next line should be higher, +% but \@GenericOption wasn't defined yet there +\@GenericOption{noimplicitclose}{\@implicitcloseno} + +%%%%%%%%%%%%%%%% Universal textblock +% +% These macros will only be used inside an \edef. +% They are meant for text blocks, but the \outer@start@commands +% are also necessary for output routines, hence the test +% if this is a text-like construct. +% +\newif\iftext@construct +\add@generic@default{\text@constructyes} + +% Level of nesting +% +\newcount\nest@depth + +% Open command +% +\def\@gen@open{\outer@start@commands + \begingroup \inner@start@commands} + +\def\outer@start@commands{% + \iftext@construct + \ifleft@embedded@construct \install@h@before@penalty + \else \nxp\leavehmode \nxp\v@buffer{\the\@whitebefore}% + % backspace previous white space while it's visible + \nxp\if@headed\nxp\else\install@v@before@penalty + \nxp\fi + \fi \fi + \ifhas@counter \nxp\StepCounter:\expandafter\@name\@space + % This sets the \current@label by default + \ifhas@marks + \edef\nxp\cs@e{\nxp\nxp\nxp\refresh@mark@item + {\@name Counter}{\CSname{\@name Counter}}}% + \nxp\cs@e + \fi + \fi + \iflabel@defined + \global\current@label={\the\@labelcoms}\fi + \ifhas@title \install@title@code + % subtle: the title has to be installed after any page break + % otherwise footlines may contain the wrong title. + % also the title has to be global. + \fi + \ifhas@marks\nxp\ifnin{\nxp\place@mark}\fi + %otherwise IniTeX'ing Lollipop will output a page + \nxp\xx@label\the\extern@toks\penalty\@M + % also subtle: if this white space would be higher, it would + % be invisible because of marks et cetera. + % insert nobreak after marks/writes to prevent page breaks. + \iftext@construct + \ifleft@embedded@construct + \else \nxp\@vwhite{\the\@whitebefore}\fi + \fi + } +\def\inner@start@commands{% + \nxp\Open@Group\CSname{\@class}\CSname{\@name}% + \install@stop + \ifleft@embedded@construct + \else \nxp\hold@parskip + \nxp\default@everypar + \ifwhiteleft@defined + \advance@skip\leftskip{\the\@whiteleft}\fi + \ifwhiteright@defined + \advance@skip\rightskip{\the\@whiteright}\fi + \nxp\let\nxp\par=\nxp\@par %explain to me again why this is necessary... + \inside@indent \first@indent + \fi + \advance\nest@depth\@ne + } + +\def\@gen@close{\inner@end@commands \endgroup \outer@end@commands} +\def\inner@end@commands{% + \nxp\Close@Group\CSname{\@class}\CSname{\@name}% + \the\late@extern@toks + \ifright@embedded@construct \install@h@after@penalty + \else \nxp\leavehmode \install@v@after@penalty + \nxp\@vwhite{\the\@whiteafter}\fi + } +\def\outer@end@commands{% + \the\after@toks + \ifright@embedded@construct \nxp\@headedno + \else \after@indent \nxp\dono@parskip + \fi} +\let\esp@hack\relax +\def\bsp@hack{\let\esp@hack\relax + \ifhmode\ifdim\lastskip>\z@\let\esp@hack\ignorespaces\fi\fi} + +%%%%%%%%%%%%%%%% Breaking + +% Constructs such as 'line' or 'rule' introduce breakpoints. +% Here's how we deal with that. The \ifat@breakpoint test is set +% by options such as 'line' or 'vwhite'. Similarly, these options +% test for this condition and if necessary protect. +% After 'text' in a text block the condition is set too. +\newif\ifat@breakpoint +\add@generic@default{\at@breakpointno} +\def\protect@breakpoint{\ifat@breakpoint\@add@toks{\nobreak}\fi} + +% Break Before +% user specifies yes/no, numeric value, or name of value +% yes also does a fill +% default: place zero penalty +% +\newif\ifdefault@break@before +\adds@generic@default{\default@break@beforeyes} +\@GenericOption{breakbefore}{\default@break@beforeno + \switch {\if\EqualString{#1}} + {no} {\def\@beforepenalty{\penalty\@M }} + {yes} {\def\@beforepenalty{\CSname{\h@or@v fil}\penalty-\@M}} + {0} {\def\@beforepenalty{}} + {default} + {\edef\cs@e{\def\nxp\@beforepenalty + {\penalty\@w@w{#1}\relax}} + \cs@e} + \endswitch} +\def\install@v@before@penalty + {\ifdefault@break@before\penalty\z@ + \else\nxp\ifnum\lastpenalty=\z@\@beforepenalty\nxp\fi + \fi} +\def\install@h@before@penalty + {\ifdefault@break@before + \else\nxp\ifnum\lastpenalty=\z@\@beforepenalty\nxp\fi + \fi} + +% Break After +% same story +% +\newif\ifdefault@break@after +\adds@generic@default{\default@break@afteryes}% Heading overrides +\@GenericOption{breakafter}{\default@break@afterno + \switch {\if\EqualString{#1}} + {no} {\def\@afterpenalty{\penalty\@M }} + {yes} {\def\@afterpenalty{\CSname{\h@or@v fil}\penalty-\@M}} + {0} {\def\@afterpenalty{}} + {default} + {\edef\cs@e{\def\nxp\@afterpenalty + {\penalty\@w@w{#1}\relax}} + \cs@e} + \endswitch} +\def\install@v@after@penalty + {\ifdefault@break@after\penalty\z@ \else\@afterpenalty \fi} +\def\install@h@after@penalty + {\ifdefault@break@after \else\@afterpenalty \fi} + +%%%%%%%%%%%%%%%% Surrounding White Space +% WhiteBefore +% amount is put in token list \@whitebefore, +% the \@define... macro uses this to its own discretion +% For the three text construct this happens in the general macros +% In ExternalItem a different default is used +% +\ifini{\newtoks\@whitebefore \newskip\whitebefore} +\add@generic@default{\@whitebefore={whitebefore}} +\whitebefore=6pt plus 6pt\relax +\@GenericOption{whitebefore}{ +% \edef\cs@e{\@whitebefore={\@w@w{#1}}}\cs@e} + \@whitebefore={#1}} + +% WhiteAfter +% same story with \@whiteafter +% +\ifini{\newtoks\@whiteafter \newskip\whiteafter} +\add@generic@default{\@whiteafter={whiteafter}} +\whiteafter=6pt\relax +\@GenericOption{whiteafter}{ +% \edef\cs@e{\@whiteafter={\@w@w{#1}}}\cs@e} + \@whiteafter={#1}} + +% WhiteLeft +% same story with \@whiteleft +% +\ifini{\newtoks\@whiteleft} +\newif\ifwhiteleft@defined +\add@generic@default{\@whiteleft\z@toks \whiteleft@definedno} +\@GenericOption{whiteleft}{ +% \edef\cs@e{\nxp\@whiteleft={\@w@w{#1}}}\cs@e + \@whiteleft={#1} + \whiteleft@definedyes} + +% WhiteRight +% same story with \@whiteright +% +\ifini{\newtoks\@whiteright} +\newif\ifwhiteright@defined +\add@generic@default{\@whiteright\z@toks \whiteright@definedno} +\@GenericOption{whiteright}{ + \edef\cs@e{\nxp\@whiteright={\@w@w{#1}}}\cs@e + \whiteright@definedyes} + +%%%%%%%%%%%%%%%% Group Bookkeeping +\def\@@nulklasse{????}\def\@@nulnaam{????} +\let\@@groepklasse=\@@nulklasse \let\@Group@Name=\@@nulnaam + +% Grouping level during definition +% +\new@@counter{group} +\add@generic@default{\start@counter{group}} +\add@generic@stop@default{\if\TestCounter:group >0 + \Emessage{There are groups open in <\@name>}\fi} + +\add@generic@default{\def\current@def@group{>>OUTER LEVEL<<}} +\def\b@group{\edef\@outer@options@list{\@current@options@list} + \bgroup\step@counter{group} + \ifnextchar[\def@def@group{}%] + } +\def\def@def@group[#1]{\def\current@def@group{#1}} +\def\e@group{\ifnextchar[\test@def@group\egroup%] + } +\def\test@def@group[#1]{\def\current@test@group{#1} + \ifx\current@def@group\current@test@group\egroup + \else\Emessage{Closing `\current@def@group' with `\current@test@group' + in \@class: \@name} + \fi} + + +% Grouping during execution +% +\def\@@testklasse{OUTER}\def\@@testnaam{OUTER} +\def\@DEFgroepsluit{\nxp\Close@Group{\@class}{\@name}} +\def\@groepERR#1#2{\Wmessage{Unexpected close of + <\expandafter\string#1; expected: \expandafter\string#2.}} +\newcount\group@open@lineno +\def\Open@Group#1#2{\def\@@groepklasse{#1}\def\@Group@Name{#2}% + \Tmessage[gen]{Open \string#1\@space \string#2 @ \the\inputlineno} + \group@open@lineno\inputlineno} +\def\Close@Group#1#2{\def\@@testklasse{#1}\def\@@testnaam{#2}% + \ifx\@@testnaam\@Group@Name + \Tmessage[gen]{Close \string#1\@space \string#2}% + \else \@groepERR{\@@testnaam}{\@Group@Name}\fi} +\def\Close@all@groups + {\ifx\@Group@Name\@@nulnaam + \else \Wmessage{Group not closed: \expandafter\string\@Group@Name; + start @\the\group@open@lineno} + \endgroup + \Close@all@groups + \fi} + +\def\@groeptester{\ifx\@Group@Name\@@nulnaam + \else \Wmessage{Group still open: \expandafter\string\@Group@Name}\fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%% Counters + +% Counter name +% has been abstracted. +% this may be removed later for efficiency. +% +%\def\counter@name#1{#1@C}%defined above +\def\cs@counter@name#1{\csn#1@C\ecs} +\def\counter@@name#1{\CSname{#1@C}} +\def\counter@value#1{\xp\the\csn#1@C\ecs} + +% +% \NewCounter:COUNTER +% \newcount\COUNTER@C +% \CounterRepresentation:COUNTER=1 ; print arabic numeral +% \StartCounter:COUNTER ; set to 0 +% \COUNTER@RL={} ; create reset list +% +% \CounterRepresentation:THING=W +% if W is another counter, make synonym, otherwise +% \THING@R <- representation command +% \THINGCounter = \THING@R \THING@C +% #1 = naam van een nieuw te definieren teller; +% #2 = telwijze of naam van teller waar de nieuwe teller synoniem +% mee moet worden. +% +\def\NewCounter:#1 {\new@counter{#1}} +\def\new@counter#1{ + \new@@counter{#1}\csarg\edef{#1Value}{\counter@@name{#1}} + \CounterRepresentation:{#1}=1 + \StartCounter:{#1} + } +% given above +%\def\new@@counter#1{\csarg\newcount{\counter@name{#1}}} +\def\AdaptiveCounter:#1 + {\if\UndefinedCS{\counter@name{#1}}\new@counter{#1}\fi + \adds@stop@command + {\ifWriteExtern\immediate\write\aux@file + {\string\SetCounter:#1={\counter@value{#1}}} \fi + }} + +% Counter allocation in the generic constructs +% counter:x +% indicates the mode of representation of the counter +% of the construct being defined. The counter is first allocated. +% A switch is thrown that will generate automatic step instructions. +% +\newif\ifhas@counter +\@GenericOption{HasCounter}{ + \switch {\if\EqualString{#1}} + {yes} {\has@counteryes\has@labelyes + \if\IsEmptyList{#2}\else\def\this@counter@repr{#2}\fi} + {no} {\has@counterno} + {default} {\has@counteryes} + \endswitch} +\@GenericOption{counter}{ + \ifin@label \edef\cs@e{\nxp\@add@toks{\CSname{\@name Counter}}} + \cs@e + \else\has@counteryes\has@labelyes \def\this@counter@repr{#1} + \fi} +\def\install@counter#1{\new@counter{\@name}% + \ifhas@marks\xp\add@mark@item\xp{\@name Counter}\fi + \if\IsEmptyList{#1}\else\CounterRepresentation:\@name=#1 \fi + } + +% Counter-related defaults: initially there is no counter, +% if a counter starts it counts Arabic unless otherwise indicated, +% and the countername associated with this construct is +% made available as an option; +% later it will be a command, and the option is removed again. +% +\add@generic@default{\has@counterno\has@labelno + \def\this@counter@repr{1} + \csarg\def{\gen@option@name{\@name Counter}}{% + \edef\cs@e{\nxp\@add@toks{%\nxp\cprotect + \CSname{\@name Counter}}}\cs@e + \global\has@counteryes\global\has@labelyes}} +\add@generic@stop@default + {\csarg\let{\gen@option@name{\@name Counter}}\relax} +\add@generic@stop@default{\ifhas@counter + \xp\install@counter\xp{\this@counter@repr}\fi} + +%titles are handled below but the actions have to be +%in this order. +\add@generic@stop@default + {\ifhas@title \ifshort@title \@sTitelize\@command + \else \@Titelize{\@command} + \fi\fi} +\add@generic@stop@default{\ifhas@label \@Labelize{\@command}\fi} + + +%%%%%%%%%%%%%%%% Counter Representaton +% main use: indicate representation of numerical value of counter +% control sequence \FooCounter <- Foo@R\Foo@C +% two-step approach necessary because of symbolic reference: +% not all representations work purely by expansion. +% + +% 1 arabic, i lowercase roman, I uppercase roman +% a lowercase character, A uppercase Character +% +\def\@arabic#1{\number#1 } +\def\@lcascii#1{{\tempcounta=#1\relax \advance\tempcounta by 96 + \char\tempcounta\relax}} +\def\@ucascii#1{{\tempcounta=#1\relax \advance\tempcounta by 64 + \char\tempcounta\relax}} +\def\@roman#1{\romannumeral#1 } +\def\@Roman#1{\uppercase\expandafter{\romannumeral#1}} + +% Representation has been abstracted +% +\def\counter@repr#1{#1@R} + +% Give the representing control sequence (@roman, ...) +% inside an \edef +% +\def\counter@@repr#1{\xp\xp\xp\string\csname#1@R\endcsname} + +% Counter Representation (user command) +% decides if this is a real representation command, +% or a synonym declaration +% +\def\CounterRepresentation:#1=#2 { + \if\UndefinedCS{\counter@name{#2}}%is this counter a synonym? + \represent@counter{#1}{#2} + \else \@SynonymCounter{#1}{#2} + \fi} +\def\represent@counter#1#2{ + \edef\cs@e{@\if#2iroman\else + \if#2IRoman\else \if#2alcascii\else + \if#2Aucascii\else arabic\fi\fi\fi\fi} +% \csarg\xdef{\counter@repr{#1}}{\CSname{\cs@e}} + \csarg\edef{\counter@repr{#1}}{\CSname{\cs@e}} + \csarg\xdef{#1Counter}{\nxp\cprotect %\xp\string when writing label out + \CSname{\counter@repr{#1}}{\nxp\number\counter@@name{#1}}} + } +\def\cprotect{} + +\def\PrintCounter:#1 {\csn#1Counter\ecs} + +% Synonym Counters +% share the \FooCounter command, internal name, and reset list +% +\def\@SynonymCounter#1#2{ + \edef\cs@b{\nxp\let\counter@@name{#1}=\counter@@name{#2} + \nxp\let\CSname{#1Counter}=\CSname{#2Counter} + \nxp\let\CSname{#1@RL}=\CSname{#2@RL}} + \cs@b + } + +% Synonym as generic option +% sharecounter:xyz +% Don't allocate a counter, but share the counter of the +% 'xyz' construct. +% +\@GenericOption{sharecounter}{\CounterRepresentation:\@name=#1 } + +% Governing counters +% If a counter governs another counter, the other is reset +% whenever the first is altered. +% +\def\GoverningCounter:#1=#2 {\tempano + \if\UndefinedCS{\counter@name{#1}} + \Wmessage{No such counter <#1>} + \else\if\UndefinedCS{\counter@name{#2}} + \Wmessage{No such counter <#2>} + \else\tempayes + \fi\fi + \iftempa\if\UndefinedCS{#2@RL}\csarg\newtoks{#2@RL} + \csn #2@RL\ecs={}\fi + \append@to@list{#2@RL}{\\#1;} + \fi} +\def\reset@subordinates#1{\if\UndefinedCS{#1@RL}\else + \def\\##1;{\start@counter{##1}}% + \the\csname #1@RL\endcsname \let\\=\relax + \fi} + +% User counter manipulation +% should be global, and should reset subordinate counters +% and define references. +% +\def\StartCounter:#1 {\handle@user@counter{#1}{start}{}} +\let\ResetCounter\StartCounter +\def\StepCounter:#1 {\handle@user@counter{#1}{step}{}} +\def\AddToCounter:#1=#2 {\handle@user@counter{#1}{addto}{#2}} +\def\BackStepCounter:#1 {\handle@user@counter{#1}{back@step}{}} +\def\SetCounter:#1=#2 {\handle@user@counter{#1}{set}{#2}} +\def\handle@user@counter#1#2#3{\if\UndefinedCS{\counter@name{#1}} + \Wmessage{Unknown counter: #1} + \else \begingroup\globaldefs\@ne + \csn#2@counter\ecs{#1}{#3}% + \reset@subordinates{#1}\define@reference{#1}% + \endgroup + \fi} + +% Numeric manipulation +% +\def\CounterValue:#1 {% + \if\UndefinedCS{\counter@name{#1}}0 + \else \cs@counter@name{#1}\fi + } +\def\TestCounter:#1 {00\fi\ifnum\cs@counter@name{#1}} + +% Internal counter manipulation +% is local and has no side effects +% +\def\step@counter#1{\increase@value{\counter@name{#1}}\@ne} +\def\addto@counter#1#2{\edef\cs@e + {\nxp\increase@value{\nxp\counter@name{#1}}{\w@w{#2}}}\cs@e} +\def\back@step@counter#1{\increase@value{\counter@name{#1}}\m@ne} +\def\start@counter#1{\set@value{\counter@name{#1}}\z@} +\def\set@counter#1#2{\edef\cs@e + {\nxp\set@value{\nxp\counter@name{#1}}{\w@w{#2}}}\cs@e} + + +%%%%%%%%%%%%%%%% Title +% +% All constructs can have titles. +% By using the option 'title' the user indicates that +% this particular option has a title. +% A control sequence \constructTitle is defined. +% +% In case the \constructTitle is only used in a macro, +% the user has to set HasTitle:yes as an option. +% +\def\@@@title#1{#1Title}\def\@@title{\@@@title\@name} +\newif\ifhas@title\add@generic@default{\has@titleno} +\newif\ifshort@title\add@generic@default{\short@titleno} +\add@generic@stop@default % we cannot use @@title here! + {\ifhas@marks\ifhas@title\xp\add@mark@item\xp{\@name Title}\fi\fi} +\def\give@title{\global\has@titleyes + \global\csarg\let\@@title\@space + %to define it until first call + } +\@GenericOption{title}{\give@title + \ifin@external \if\IsEmptyList{#1} + \external@handle@title{\@name} + \else \external@handle@title{#1}\fi + \else \if\IsEmptyList{#1} + \edef\cs@e{\nxp\@add@toks{\CSname{\@@title}}}\cs@e + \else\Wmessage{Parametrized titles only in external}\fi + \fi + } +\@GenericOption{HasTitle}{ + \switch {\if\EqualString{#1}} + {yes} {\give@title} + {no} {\global\has@titleno} + {short} {\give@title \global\short@titleyes} + {default} {\give@title} + \endswitch + } + +% this code appears in \outer@start@commands; +% it will be executed in an \edef +% +\newtoks\title@toks +\def\install@title@code + {%\nxp\xp\gdef\nxp\xp\CSname{\@name Title}\nxp\xp{% + % \nxp\xp\nxp\maybe@uppercase\nxp\xp{\nxp\the\title@toks}}% + \nxp\xp\gdef\nxp\xp\CSname{\@name Title}\nxp\xp + {\nxp\the\title@toks}% + \ifhas@marks + \edef\nxp\cs@e{\nxp\nxp\nxp\refresh@mark@item + {\@name Title}{\nxp\the\title@toks}}% + \nxp\cs@e + \fi} + +% Give a macro a title +% +%\add@generic@stop@default{\ifhas@title \@Titelize{\@name}\fi} %above! +% +\newcount\extra@args \add@generic@default{\extra@args\z@} +\def\ttl@name#1{ttl@#1} +\def\@Titelize#1{\edef\cs@e{\let\CSname{\ttl@name{#1}}=\CSname{#1}}\cs@e + \ifcase\extra@args %0: + \csarg\edef{#1}##1\par + {\title@toks\nxp\xp{\nxp\id@##1\nxp\willbeunhskip}% +% {\title@toks{##1\nxp\protect\nxp\unhskip}% + \CSname{\ttl@name{#1}}} + \or %1: + \csarg\edef{#1}##1##2\par + {\title@toks\nxp\xp{\nxp\id@##2\nxp\willbeunhskip}% +% {\title@toks{##2\nxp\protect\nxp\unhskip}% + \CSname{\ttl@name{#1}}{##1}} + \or %2: + \csarg\edef{#1}##1##2##3\par + {\title@toks\nxp\xp{\nxp\id@##3\nxp\willbeunhskip}% +% {\title@toks{##3\nxp\protect\nxp\unhskip}% + \CSname{\ttl@name{#1}}{##1}{##2}} + \else \Wmessage{Sorry, too many extra arguments % + for `\@class' : `\@name'} + \fi} +\begingroup\catcode`\^^M\active \endlinechar-1\relax% +% trick: with an active ^^M we can let it expand to \@space +% not a 100\% solution, true. +\gdef\@sTitelize#1{ + \edef\cs@e{\let\CSname{x@\ttl@name{#1}}=\CSname{#1}}\cs@e + \csarg\edef{#1}{\begingroup\endlinechar`\nxp\^^M + \catcode\endlinechar\active\CSname{\ttl@name{#1}}} +% short titles can have no unwanted trailing space + \ifcase\extra@args %0: + \csarg\edef{\ttl@name{#1}}##1^^M + {\endgroup\let\nxp^^M\nxp\@space + \title@toks\nxp\xp{\nxp\id@##1}% +% \title@toks{##1\nxp\protect\nxp\unhskip}% + \CSname{x@\ttl@name{#1}}} + \or %1: + \csarg\edef{\ttl@name{#1}}##1##2^^M + {\endgroup\let\nxp^^M\nxp\@space + \title@toks\nxp\xp{\nxp\id@##2}% +% \title@toks{##2\nxp\protect\nxp\unhskip}% + \CSname{x@\ttl@name{#1}}{##1}} + \or %2: + \csarg\edef{\ttl@name{#1}}##1##2##3^^M + {\endgroup\let\nxp^^M\nxp\@space + \title@toks\nxp\xp{\nxp\id@##3}% +% \title@toks{##3\nxp\protect\nxp\unhskip}% + \CSname{x@\ttl@name{#1}}{##1}{##2}} + \else \Wmessage{Sorry, too many extra arguments % + for `\@class' : `\@name'} + \fi} +\endgroup + +% Uppercase titles are a big problem +% after \MakeUpperCase +% any appearing title (including when it comes out of a mark) +% is uppercased +% +\newif\ifUpperCasing \def\MakeUpperCase{\UpperCasingyes} +\def\maybe@uppercase{\ifUpperCasing\uppercase\xp\fi} + +%%%%%%%%%%%%%%%% M O D E S +% +% controls whether a construct can start/end as part of a paragraph. +% chooses between a lot of horizontal/vertical commands. +% +% this should appear as one of the first options. +% maybe generate an error msg if it doesn't +% +\newif\ifleft@embedded@construct +\newif\ifright@embedded@construct +\add@generic@default{\left@embedded@constructno\right@embedded@constructno} +\newif\if@hmode \newif\if@vmode +\add@generic@default{\@hmodeno\@vmodeyes} +\@GenericOption{embedded}{\switch {\if\EqualString{#1}} + {yes} {\left@embedded@constructyes\right@embedded@constructyes} + {no} {\left@embedded@constructno \right@embedded@constructno} + {left} {\left@embedded@constructyes\right@embedded@constructno} + {right} {\left@embedded@constructno \right@embedded@constructyes} + {default} {\Wmessage{Strange modifier: `embedded:#1'}} + \endswitch + \ifleft@embedded@construct \@hmodeyes \@vmodeno \fi} + +% Mode dependent +% +\def\h@or@v{\ifleft@embedded@construct h\else v\fi} +\def\append@no@hv@break + {\edef\cs@e{\nxp\@add@toks{%\if@hmode \if@vmode\else\nxp\leavevmode\fi\fi + %\if@vmode \if@hmode\else\nxp\leavehmode\fi\fi + \nxp\nobreak}} + \cs@e} + +%%%%%%%%%%%%%%%% Boxes +% +% Line +% is a \hbox to \hsize +% mainly used to determine the width of stuff inside it. +% +\newif\ifin@line +\add@generic@default{\in@lineno} +\newcount\text@in@line \newtoks\line@toks \newbox\line@box +\def\rm@to@end@of@box{\everyvbox{}% + \setbox\tempboxa\vbox\bgroup + \aftergroup\rm@tmp@box} +\def\rm@tmp@box{\setbox\tempboxa\box\voidb@x\egroup} +\def\definitely@to@hsize{\def\maybe@to@hsize{ to\hsize}} +\@GenericOption{line}{ + \switch {\if\EqualString{#1}} + {start} {\protect@breakpoint + \b@group[line]\in@lineyes\line@toks{} + \temp@options@list{line@toks} + \@add@toks{\hbox \maybe@to@hsize\bgroup}\text@in@line\z@ + } + {stop} {\@add@toks{\hfil\egroup}\revert@options@list + \ifnum\text@in@line>\z@ + \edef\cs@e{\nxp\@add@toks + {\line@toks={\the\line@toks}}}\cs@e + \@add@toks{\begingroup\everyvbox{\rm@to@end@of@box}% + \let\maybe@to@hsize\relax + \setbox\line@box\the\line@toks + \tempdima\hsize\advance\tempdima-\wd\line@box + \everyvbox{}\definitely@to@hsize + \everyvbox{\hsize\tempdima}\the\line@toks + \endgroup} + \else \@add@toks{\definitely@to@hsize} + \toks@add@toks{line@toks} + \fi + \e@group[line]\at@breakpointyes} + {default} {\Wmessage{Strange modifier: `line:#1'}} + \endswitch} + +% Tekstkolom. Is een \vbox of \vtop. +% Openen met 'begin' 'ophangen', 'topregel' of 'voetregel', +% start,topregel : \vtop +% voetregel : \vbox +% ophangen : \vtop{\kern\z@ +% Eindigen met 'stop' +\@GenericOption{textcolumn}{ + \switch {\if\EqualString{#1}} + {stop} {\@add@toks{\egroup}\global\BlockWidth\hsize + \e@group[textcolumn]\at@breakpointyes} + {start} {\open@text@column\vtop{}} + {topline} {\open@text@column\vtop{}} + {hang} {\open@text@column\vtop{\kern\z@}} + {footline} {\open@text@column\vbox{}} + {default} {\Wmessage{Strange modifier: `textcolumn:#1=#2'}} + \endswitch} +\def\open@text@column#1#2% + {\ifin@line\advance\text@in@line\@ne\else\protect@breakpoint\fi + \@add@toks{#1\bgroup#2\leftskip\z@ \Indent:no \leavevmode} + \b@group[textcolumn] + \ifin@line\else\aftergroup\at@breakpointyes\fi + } + +% Depth strut: for use in line +\@GenericOption{depth}{ + \edef\cs@e{\nxp\@add@toks{\vrule width\z@ height\z@ depth \@w@w{#1}}} + \cs@e} + +% Block +% is an hbox +% opening +% 1/ blok:start --> \setbox\block@box=\hbox{ +% and \block@closing = } +% 2/ blok:hang --> \setbox\block@box=\hbox{\vtop{\kern\z@\hbox{ +% and \block@closing = }}} +% closing +% 1/ blok:stop --> \block@closing \box\block@box +% 2/ stickout:left/right --> \block@closing \l/rlap{\box\block@box} +% 3/ fillupto:foo --> \block@closing +% \hbox to \foo{\unhbox\block@box\hfil} +% +\newbox\block@box \newif\ifin@box +\add@generic@default{\in@boxno + \def\block@closing{\ifin@box\else + \Wmessage{Closing `block', but not opened. This is serious!}\fi} + } +\def\block@closing{} +\newdimen\BlockWidth +\def\Measure@Block{\global\BlockWidth\wd\block@box} +\@GenericOption{block}{ + \switch {\if\EqualString{#1}} + {stop} {\stop@block} + {hang} {\start@block + {\vtop\bgroup\kern\z@\hbox\bgroup} + {\egroup\egroup}} + {start} {\start@block{}{}} + {default} {\Wmessage{Strange option: `block:#1'}} + \endswitch} +\def\start@block#1#2{ + \ifin@line\else\protect@breakpoint\fi + \@add@toks{\setbox\block@box=\hbox\bgroup#1} + \b@group[block] + \ifin@line\else\aftergroup\at@breakpointyes\fi + \def\block@closing{\@add@toks{#2\egroup\Measure@Block}} + } +\def\stop@block{\block@closing + \ifin@box \@add@toks{\advance\hsize by -\wd\block@box} \fi + \@add@toks{\box\block@box} + \e@group[block]} + +\@GenericOption{fillupto}{ + \block@closing \e@group[block] + \edef\cs@e{\nxp\@add@toks{\hbox to \@w@w{#1}{\unhbox\block@box\hfil}}} + \cs@e + \ifin@line \edef\cs@e{\nxp\@add@toks{\advance\hsize by -\@w@w{#1}}} + \cs@e \fi + } +\@GenericOption{stickout}{ + \block@closing \e@group[block] + \switch {\if\EqualString{#1}} + {right} {\stickout@right{#2}} + {left} {\stickout@left{#2}} + {default} {\Wmessage{Unknown qualifier (stickout:) `#1'}} + \endswitch + } +\def\stickout@left#1{ + \@add@toks{\llap} + \if\IsEmptyList{#1} + \@add@toks{{\box\block@box}} + \else \edef\cs@e{\nxp\@add@toks{{\hbox to \@w@w{#1} + {\box\block@box\hss}}}} + \cs@e + \fi} +\def\stickout@right#1{ + \@add@toks{\rlap} + \if\IsEmptyList{#1} + \@add@toks{{\box\block@box}} + \else \edef\cs@e{\nxp\@add@toks{{\hbox to \@w@w{#1} + {\hss\box\block@box}}}} + \cs@e + \fi} + +%%%%%%%%%%%%%%%% Tidbits + +% Commands +% +\@GenericOption{command}{ + \ifin@external \external@handle@expandable{#1}{\csn#1\ecs}{<#1>} + \else + \if\UndefinedCS{#1}\Wmessage{Undefined command: <#1>}\fi + \edef\cs@e{\nxp\@add@toks{\CSname{#1}}}\cs@e + \fi} +\@GenericOption{CSname}{ + \edef\cs@e{\nxp\@add@toks{\CSname{#1}}}\cs@e} + +% Literal text. +% only problem if this is a colon. +% +\@GenericOption{literal}{\@add@toks{#1}} + +% Arguments. +% +\@GenericOption{arg}{\edef\cs@e + {\nxp\@add@toks{\iftrue{\else}\fi#1\iffalse{\else}\fi}} + \cs@e} +\@GenericOption{OpenBrace}{\edef\cs@e + {\nxp\@add@toks{\iftrue{\else}\fi}} + \cs@e} +\@GenericOption{CloseBrace}{\edef\cs@e + {\nxp\@add@toks{\iffalse{\else}\fi}} + \cs@e} +% Extra Commands before and after +% +\newtoks\before@toks \add@generic@default{\before@toks{}} +\@GenericOption{commandbefore}{ + \edef\cs@e{\nxp\append@to@list{before@toks}{\CSname{#1}}} + \cs@e} +\newtoks\after@toks \add@generic@default{\after@toks{}} +\def\add@after@command#1{\append@to@list{after@toks}{#1}} +\@GenericOption{commandafter}{ + \edef\cs@e{\nxp\add@after@command{\CSname{#1}}} + \cs@e} + +\endinput + +% 2016/04/13 Chnaged \lolli@name to \lollipop@name +% 2014/04/18 Fixed the wrong numbering of nested enumerate lists +% 92/11/03 Improved penalty handling for embedded environments +% \ifini test extended to make loading on top of plain possible +% 92/11/08 Breakpoint protection into line/block/textcolumn +% 92/11/14 Resetlist generation made conditional +% 92/11/21 option 'arg' +% 92/12/12 \sTitelize, \give@title +% 93/07/30 late@after@toks, inputlineno in group errmsg \ No newline at end of file diff --git a/macros/plain/formats/lollipop/tex/lollipop.tex b/macros/plain/formats/lollipop/tex/lollipop.tex new file mode 100644 index 0000000000..5b77aabd78 --- /dev/null +++ b/macros/plain/formats/lollipop/tex/lollipop.tex @@ -0,0 +1,141 @@ +% lollipop.tex; master file for the Lollipop tex format. +% This file and all input files and all files for the manual +% (with the exception of hyphen.tex and btxmac.tex) +% copyright 1992/3 Victor Eijkhout +% copyright 2014--2016 Vafa Khalighi +% +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%% L O L L I P O P T E X %%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% o +% L O L L I P O P +% | | +% +\catcode`\@=11 + +\input lollipop-plain + +\input lollipop-tools + +\input lollipop-define + +\input lollipop-fonts +\input lollipop-fontdefs + +\input lollipop-text + +\input lollipop-document + +\input lollipop-heading + +\input lollipop-output + +\input lollipop-float + +\input lollipop-lists + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\showboxdepth=7 \showboxbreadth=300 +\errorcontextlines=\maxdimen + +\let\willbeunhskip\unhskip + +\Typeface:ComputerModern +\Pointsize:10 +\Style:bold \Style:slant \Style:italic \Style:roman + +\Distance:verbatimwhiteleft=levelindent +\Distance:verbatimwhitebefore={0pt plus 1pt} +\Distance:verbatimwhiteafter={0pt plus 1pt} + +%\tracingmacros=2\tracingcommands\tracingmacros +\DefineTextBlock:Ver + whitebefore:verbatimwhitebefore whiteafter:verbatimwhiteafter + breakbefore:200 breakafter:-100 + whiteleft:verbatimwhiteleft + command:vVer text Stop + +\DefinePageGrid:RightPage height:page=8in width:page=5in + textband:start text textband:stop + vwhite:12pt + band:start PageCounter band:stop + Stop +\RightPage + +\hyphenation{Eijk-hout dis-cre-tio-na-ry al-ign-ment met-hod + met-hods} + +% v0.9 First public release October 1992 +% v0.91 TeX3 based lolplain, penalties in embedded constructs, +% splittopskip +% v0.92 Copyright notices added, math family setting, +% bugs in penalties corrected +% v0.93 Nobreaks in constructs, synonym counters, start floats +% v0.94 Adaptive distances and counters +% v0.95 BibTeX, short titles, improved external handling, +% \CurrentOutput changed +% v0.96 repair: counters, ToExternal, option:title=Smthng, +% changed copyright status! fontdefs file, late externals +% EmptyList -> IsEmp... +% +% v0.97 Update and organized files and generated various +% formats for Lollipop. +% +% v0.98 Changed filenames; the new filename has now +% "lollipop-" prefix, and fixed typewriter font. +% +% v0.99 Improved ini files, and the error in address.tex +% example fixed. +% +% v1.00 Updated lollipop-plain.tex. +% +% v1.01 Updated lollipop-text.tex (changed "#1 cs to \"#1 cs +% to be compatible with plain +% +% v1.02 Updated lollipop-text.tex (defined \EveryParagraph, +% \EveryMath, and \EveryDisplay), defined +% \PointSizeScriptSizes:12 +% +% v1.03 Fixed the wrong numbering of nested enumerate lists +% +% v1.04 Updated version number and date of the format in \fmtversion +% +% v1.05 Changed \lolli@name to \lollipop@name +% added \footnoterule to output routine +% defined \PushLeftIndentLevel, \PopLeftIndentLevel, +% \PushRightIndentLevel, \PopRightIndentLevel, +% \PushLeftRightIndentLevels, and \PopLeftRightIndentLevels +% commands. \PushIndentLevel is now a synonym for +% \PushLeftIndentLevel and \PopIndentLevel is a synonym +% for \PopLeftIndentLevel +% fixed the error caused by \newhelp +% +% v1.06 Defined \FrenchSpacing +% +\edef\fmtname{\lollipop@name}%defined in Tools +\def\fmtversion{v1.07, 21 May 2016} +\append@to@list{everyjob}{\message{ +>>>> This is Lollipop TeX (\fmtversion) <<<<}} + +\makeatother +\errorstopmode +\endinput diff --git a/macros/plain/formats/psizzl/aaaread.me b/macros/plain/formats/psizzl/aaaread.me new file mode 100644 index 0000000000..b5e53769fb --- /dev/null +++ b/macros/plain/formats/psizzl/aaaread.me @@ -0,0 +1,10 @@ + PSIZZL - A TeX Format for Physics Papers + + + PSIZZL is a TeX format for physics papers written at SLAC and used at +seveal other places. It uses too many fonts to work with the version of TeX on +the VAX Cluster, so the sans serif and small caps fonts have been removed, and +the control sequences for these have been redefined to give Roman type. Both +the modified source code and a .FMT file are contained in this directory. + + Please report any problems to F. Paige at X3836. diff --git a/macros/plain/formats/psizzl/chapters.psizzl b/macros/plain/formats/psizzl/chapters.psizzl new file mode 100644 index 0000000000..1dc8efdb71 --- /dev/null +++ b/macros/plain/formats/psizzl/chapters.psizzl @@ -0,0 +1,314 @@ +% CHAPTERS PSIZZL - generate the body of the publication +% +% CHAPTER MACRO +% +% \chapter{title} +% This command numbers the chapter, +% generates part of the number to be +% used in defining equation numbers, +% centers the line and prints it in +% boldface type. +% When the above macro is to be used, +% you first set up with the macro +% +% \beginbody +% +% Then you define the chapters: +% +% \chapter{<chaptertitle>}% +% +% where <chaptertitle> may contain embedded \breaktitle macros +% +% After the \chapter for the last chapter, input the commnad: +% +% \beginappendices, +% +% then more \chapter's for the appendices: +% +% \chapter{<appendixtitle>}% +% +% Within each chapter, the current chapter name will be \chaptername +% (for appendices, this will be a letter). +% +% You may use macros to define sections and subsections within +% chapters: +% +% \section{<section name>}% +% +% \subsection{<subsection name>}% +% +% To output the tables of figures, etc. at the end, give the command: +% +% \endbody +% +% +\def\n@llout#1{\immediate\closeout#1\immediate\openout#1}% +\newcount\partcount +\def\p@rtinit{\partcount\@ne}% +\adddef\resd@c{\p@rtinit}% +\newcount\t@cpagecount\t@cpagecount\m@ne +\newcount\f@gpagecount\f@gpagecount\m@ne +\newcount\t@bpagecount\t@bpagecount\m@ne +\newcount\l@stpagecount\l@stpagecount\m@ne +\newif\ifpartapp +\newwrite\p@rtwrite +\def\p@rtfile{parts.psiztemp }% +\def\p@rthead{Table of Parts}% +\n@llout\p@rtwrite\p@rtfile +\def\part#1{% + \ifpartapp% + \xdef\p@rtname{Appendix\ \number\partcount}% + \else% + \xdef\p@rtname{Part\ \romannumeral\partcount}% + \fi% + \advance\partcount\@ne + \begingroup\c@tset% + \p@rttable% + }% +\def\p@rtname{}% +\def\p@rttable#1{% + \c@tMeoline\l@tMother + \xdef\writeit{% + \write\p@rtwrite{% + \line{% + \strut{\bf\p@rtname}\quad + \uppercase{% + \h@tMother#1\h@tMother + }% + \leaderfil\noexpand\number\p@gecount}% + }% + }% + \writeit\endgroup + \p@rtheader{#1}% + }% +\def\p@rtheader#1{% + \endpage% + \llap{}\vfill% + {\fortyss + \centerline{\p@rtname}% + \bigbreak% + \centertitle{\uppercase{#1}}% + }% + \endpage% + }% +\def\partout{% + \ifnum\partcount=\z@\else + \endpage\p@gefront + {\bf\centertitle\p@rthead}% + \immediate\closeout\p@rtwrite + \input\p@rtfile + \fi + }% +\newcount\ch@ptercount +\newif\if@ppendix% chapter/@ppendix switch +\newwrite\ch@pterwrite +\def\ch@pterfile{chapters.psiztemp }% +\def\ch@pterhead{Table of Contents}% +\def\ch@ptertext{}% +\def\@ppendixtext{Appendix }% +% +\def\beginbody{% + \b@dyreset + }% +\def\b@dyreset{% + \def\ch@ptername{}% + \ch@pterinit\ch@pterreset + \@ppendixfalse + \p@geclear + }% +\adddef\resd@c{\ch@pterclear\b@dyreset\fr@nttrue}% +\def\ch@pterinit{\ch@ptercount\@ne}% +\def\ch@pterclear{\ch@ptertot\z@\n@llout\ch@pterwrite\ch@pterfile}% +\def\ch@ptername{}% +\def\chapter{% title + \if@ppendix\xdef\ch@ptername{\char\number\ch@ptercount\relax}% + \let\temp\@ppendixtext + \else \xdef\ch@ptername{\number\ch@ptercount\relax}% + \let\temp\ch@ptertext + \fi\global\advance\ch@ptercount\@ne + \ch@ptereject \ch@pterreset + \ch@skiph + \vbox\bgroup\begingroup\c@tset\ch@ptertable% + }% +\def\ch@ptertable#1{% + \@ddch@pt{#1}{\strut{\temp\ch@ptername.}\quad}\endgroup + \vskip-\parskip + \bf\centertitle{\temp\ch@ptername.\quad#1}\egroup + \backpar\ch@skiph + }% +\def\ch@ptercite#1#2{% fig, tab citation style + \ifch@pterrenumber#1.#2\else#2\fi + }% +\def\equ@tioncite#1#2{% eqn citation style + \ifch@pterrenumber#1-#2\else#2\fi + }% +\def\r@fcite#1#2{% ref citation style + \ifr@frenumber#1.#2\else#2\fi + }% +\def\ch@pterreset{\s@ctioninit\s@ctionreset\c@teclear}% +\def\ch@ptereject{\ifch@pterrenumber\vfill\supereject\fi}% +\def\beginappendices{\@ppendixtrue\ch@ptercount`A}% +% +% build the table of contents,etc iteratively: +% 1) put out TOC to determine its length => list of tables, figures +% get the correct pagenumbers +% 2) put out list of tables and store its page number +% 3) put out list of figures and store its page number +% 4) put out TOC again, now using the correct page numbers for +% list of tables and list of figures +% +% (note: after \eject, the page number register contains the previous +% page number) +% +\newif\iff@gt@bhead +\def\f@gt@bhead{\f@gt@bheadfalse + \ifnum\t@btotal>\z@\f@gt@bheadtrue + \line{\strut\t@btabhead\leaderfil\romannumeral-\t@bpagecount}% + \fi + \ifnum\f@gtotal>\z@\f@gt@bheadtrue + \line{\strut\f@gtabhead\leaderfil\romannumeral-\f@gpagecount}% + \fi + }% +\newcount\blankcount +\def\rectoleaf{% + \ifquadside + \blankcount\pageno + \divide\blankcount4\multiply\blankcount4 + \advance\blankcount-\pageno\blankcount-\blankcount + \ifnum\blankcount=\@ne\else\hrule height\z@\endleaf\fi\lock + \else\endpage + \fi + }% +\newif\ift@c +\newcount\t@cpages\t@cpages\@ne +\def\endbody{% + \vfill\supereject% is there an alternative? + \c@teout\endpage + \iffrontmatter + \immediate\closeout\ch@pterwrite + \ifproof\else\endpage\fi + % + \l@stpagecount=\number\p@gecount\p@gecount=\number\t@cpagecount + \t@bpagecount=\number\t@cpagecount\advance\t@bpagecount\t@cpages + \f@gpagecount=\number\t@bpagecount\advance\f@gpagecount\m@ne + \t@cfalse + {\bf\uppercase{\centertitle{\ch@pterhead}}}\bigbreak + \ifnum\ch@ptertot>\z@\unlock\input\ch@pterfile\lock\fi + \iff@gt@bhead + \ifnum\t@bpagecount=\p@gecount\else\t@ctrue\fi + \t@bpagecount=\number\p@gecount\advance\t@bpagecount\m@ne + \re@dback\t@btabwrite\t@btabfile\t@btabhead\t@btotal + % + \ifnum\f@gpagecount=\p@gecount\else\t@ctrue\fi + \f@gpagecount=\number\p@gecount\advance\f@gpagecount\m@ne + \re@dback\f@gtabwrite\f@gtabfile\f@gtabhead\f@gtotal + \endleaf + \ift@c + \rectoleaf + \l@stpagecount=\number\p@gecount\p@gecount=\number\t@cpagecount + {\bf\uppercase{\centertitle{\ch@pterhead}}}\bigbreak + \ifnum\ch@ptertot>\z@\unlock\input\ch@pterfile\lock\fi + % + \t@bpagecount=\number\p@gecount\advance\t@bpagecount\m@ne + \re@dback\t@btabwrite\t@btabfile\t@btabhead\t@btotal + % + \f@gpagecount=\number\p@gecount\advance\f@gpagecount\m@ne + \re@dback\f@gtabwrite\f@gtabfile\f@gtabhead\f@gtotal + \endleaf + \fi + \fi + \endleaf + \p@gecount=\number\l@stpagecount + \fi + }% +% SECTION MACRO +% The \section macro sets the name in upper +% and lower case capitals, prints the +% \section{Name}% section name and number (left adjusted) +% and skips the appropriate amount of space. +\newcount\s@ctioncount +\def\s@ctioninit{\global\s@ctioncount\@ne}% +\def\secskipt{\bigbreak}% +\def\s@ctionname{}% +\def\section{\xdef\s@ctionname{\ch@ptername.\number\s@ctioncount}% + \global\advance\s@ctioncount\@ne + \s@ctionreset + \ch@skiph + \vbox\bgroup\begingroup\c@tset\s@ctiontable% + }% +\def\s@ctiontable#1{% + \@ddch@pt{#1}{\quad\strut{\s@ctionname}\quad}\endgroup + \vskip-\parskip + \cp\noindent\s@ctionname\quad#1\par\egroup + \backpar\ch@skiph\sectionindent + }% +\def\s@ctionreset{\subs@ctioninit\subs@ctionreset}% +\let\sectionindent\relax +% +% SUBSECTION MACRO +% +% \subsection{name}% Subsections appear with a number and +% with the name in slant font. +% +\newcount\subs@ctioncount +\def\subs@ctioninit{\global\subs@ctioncount\@ne}% +\def\subs@ctionname{}% +\def\subsection{% subsection macro + \xdef\subs@ctionname{\s@ctionname.\number\subs@ctioncount}% + \global\advance\subs@ctioncount\@ne + \subs@ctionreset + \ch@skiph + \vbox\bgroup\begingroup\c@tset\subs@ctiontable% + }% +\def\subs@ctiontable#1{% + \@ddch@pt{#1}{\qquad\strut{\subs@ctionname}\quad}\endgroup + \sl\noindent\subs@ctionname\quad#1\par\egroup + \backpar\ch@skiph\subsectionindent + }% +\def\subs@ctionreset{\subsubs@ctioninit\subsubs@ctionreset}% +\let\subsectionindent\relax +% +% SUBSUBSECTION MACRO +% +% \subsubsection{name}% Subsubsections appear with a number and +% with the name in slant font. +% +\newcount\subsubs@ctioncount +\def\subsubs@ctioninit{\global\subsubs@ctioncount\@ne}% +\def\subsubsection{% + \xdef\subsubs@ctionname{\subs@ctionname.\number\subsubs@ctioncount}% + \global\advance\subsubs@ctioncount\@ne + \subsubs@ctionreset + \ch@skiph + \vbox\bgroup\begingroup\c@tset\subsubs@ctiontable% + }% +\def\subsubs@ctiontable#1{% + \@ddch@pt{#1}{\quad\qquad\strut{\subsubs@ctionname}\quad}\endgroup + \sl\noindent\subsubs@ctionname\quad#1\par\egroup + \backpar\ch@skiph\subsubsectionindent + }% +\def\subsubs@ctionreset{\p@ntinit\p@ntreset}% +\let\subsubsectionindent\relax +% +% Common to all macros: write into the table of contents file +% +\newcount\ch@ptertot\ch@ptertot\z@ +\def\ch@skiph{\par\ifdim\lastskip<\bigskipamount + \removelastskip\vskip\bigskipamount\fi}% +\def\backpar{\nobreak\vskip-\parskip\nobreak\nointerlineskip}% +\def\t@bcontents{% line for table of contents in table of contents + \line{\strut\ch@pterhead\leaderfil\romannumeral-\t@cpagecount}% + }% +\def\@ddch@pt#1#2{\c@tMeoline\l@tMother + \xdef\next{% + \write\ch@pterwrite{% + \line{#2\h@tMother#1\h@tMother% + \noexpand\leaderfil\noexpand\numorroman\p@gecount% + }% + }% + }% + \next\global\advance\ch@ptertot\@ne + \l@tMspace + }% +% for setting the first letter of each word uppercase: make space active +% cause next token to be \uppercase{\next} diff --git a/macros/plain/formats/psizzl/citation.psizzl b/macros/plain/formats/psizzl/citation.psizzl new file mode 100644 index 0000000000..97031c7670 --- /dev/null +++ b/macros/plain/formats/psizzl/citation.psizzl @@ -0,0 +1,607 @@ +% CITATION PSIZZL - citation macros +% +% The first time you cite the reference, use the `=' syntax: +% this creates an entry in the table of references. +% here's how to refer to a reference the first time: +% "...as was shown first in\reference\DrellYan={% +% Drell,~S.~D., Levy,~D.~J., Yan,~T.~M., +% A FIELD THEORETIC MODEL FOR ELECTRON - NUCLEON DEEP INELASTIC +% SCATTERING, +% Phys.~Rev.~Lett. \refspec{22, 744-8(1969)}. +% }% +% here's how to cite the ref: +% "...hadrons produced in this way\cite\DrellYan\ obey a distribution..." +% or: +% "...as was shown first in \reference\DrellYan . " +% or: +% "...end of sentence. \Reference\DrellYan\ has the somewhat curious.." +% References cited this way will have automatic style switching. +% +% Figures and tables are to be defined in an analogous way +% The first time a figure is referred to: +% "... these data are displayed in +% \figure\<mnemonic>= +% {Title of the figure}{caption}{<the figure itself>} more text..." +% and on subsequent references: +% "...the cross section ( see \figure\nanobarn)..." +% or: +% "...end of sentence. \Figure\newcross\ shows how the new physics..." +% Tables are exactly analogous to figures. +% +% Equations are defined: +% \equation\<mnemonic>={<equation expression without $$'s>}% +% e.g.: +% \equation\quadrature={x^2+y^2=z^2}% +% to use this construct: +% "...end of sentence. \Equation\quadrature\ therefore represents..." +% +\def\p@gerightglue{\hss}\def\p@geleftglue{\hss}% +\def\Ps@zerr#1#2{\errhelp=#2\errmessage{Psizzl: #1}}% +\newhelp\Ps@zmsngtxt{% + I expected you to define this name here, but you didn't. + You need to define this name here. + Hit <CR> to continue processing. + }% +\newhelp\Ps@zmltptxt{% + I already encountered this name, but you're trying to define it here. + You need to give the defining text the first time the name is used, + not here. Hit <CR> to continue. + }% +\newif\iftitleincaption\titleincaptiontrue +\newif\ifv@ta +\def\vita#1{% + \v@tatrue\def\v@ta{#1}% + }% +\def\v@tahead{\uppercase{Vita}}% +% needed: macros to assist in the preparation of the author list on the +% titlepage +% +% Macros common to references and title page addresses +% +\def\c@tset{\c@tMactive\c@tVset\l@twrite}% +\def\xd@fnumber#1#2{\xdef#1{{\number\m@decount}}\m@debump}% +\def\xd@fletter#1#2{\xdef#1{{\char\number\m@decount}}\m@debump}% +\def\xd@ftext#1#2{\xdef#1{{\it#2}}}% +\def\xd@fch@pt#1{% + \xdef#1{\ch@ptercite{\ch@ptername}{\number\m@decount}}\m@debump + }% +\def\m@debump{% + \global\advance\m@decount\@ne \global\advance\m@detotal\@ne + }% +\def\m@deref#1{% + \begingroup + \ifx=\next + \aftergroup\m@detypr\aftergroup#1% + \c@tset + \begingroup\aftergroup\g@ttok\aftergroup\m@decap + \begingroup\aftergroup\g@ttok\aftergroup\m@deeqs + \else + \Ps@zerr{missing text for \string#1}\Ps@zmsngtxt + \fi + \endgroup + }% +\def\m@detypr#1{\c@tMeoline + \edef\next{\noexpand#1{\the\m@decap}}\global\m@decap{}% + \begingroup\aftergroup\expandafter\aftergroup\m@dedoembed + \endgroup\next + }% +% +% Reference Macros +% +\newcount\r@ftotal\r@ftotal\z@ +\newcount\r@fcount\r@fcount\@ne +\newif\ifr@frenumber\r@frenumberfalse% +\newif\ifch@pterrenumber\ch@pterrenumberfalse% +\newwrite\r@fcapwrite\def\r@fcapfile{refcap.psiztemp }% +\def\r@fcaphead{\uppercase{References}}% +\newwrite\r@ftabwrite\def\r@ftabfile{reftab.psiztemp }% +\def\r@ftabhead{\uppercase{List of References}}% +\def\hyphen{-}\def\comma{,}% +\newif\ifciter@f +\newif\ifsuperr@f\superr@ftrue +\newif\ifc@tenull +\newif\ifnewr@f +\def\refspec#1,#2(#3){{\bf#1}, #2 (#3)}% +\def\volyearpageref{\gdef\refspec##1,##2(##3){{\bf##1} (##3) ##2}}% +\def\cernref{%vol + \gdef\refspec##1,##2(##3){% + %author, year, {\it Journal} Publisher {\fb Vol}, page. + }% + }% +\def\refstyle{% + \r@fstyle + }% +\def\r@fstyle#1{\r@fbeg#1\r@fend}% +\def\lapperiod{% + \hbox to \z@{.\hss}% + }% +\def\r@fsupbeg{$^\bgroup}\def\r@fsupend{\egroup$}% +\def\r@fsupparbeg{$^\bgroup(}\def\r@fsupparend{)\egroup$}% +\def\r@fbrabeg{[}\def\r@fbraend{]}% +\def\r@fparbeg{(}\def\r@fparend{)}% +\def\superreference{% + \let\r@fbeg\r@fsupbeg\let\r@fend\r@fsupend + }\superreference +\def\bracketreference{% + \let\r@fbeg\r@fbrabeg\let\r@fend\r@fbraend + }% +\def\parenreference{% + \let\r@fbeg\r@fparbeg\let\r@fend\r@fparend + }% +\def\superparenreference{% + \let\r@fbeg\r@fsupparbeg\let\r@fend\r@fsupparend + }% +\def\cite{% + \let\t@g=\r@fstyle\r@fget + }% +\def\hideref{% + \let\t@g\g@ble\r@fget + }% +\def\bareref{% + \let\t@g\relax\r@fget + }% +\def\reference{% + \let\t@g=\r@f\r@fget + }% +\def\Reference{% + \let\t@g=\R@f\r@fget + }% +\def\r@f{Ref.\tie}% +\def\R@f{Reference\tie}% +\def\r@fget{% + \let\m@dedef=\m@deref\let\m@degobble=\g@bble + \let\m@decount=\r@fcount\let\m@detotal=\r@ftotal + \let\m@dedoembed\r@fembed + \let\p@riod=\p@int + \l@tnxt\m@denxt + }% +\def\r@fembed#1#2{\xd@fnumber#1{#2}% + \t@g{#1}\c@tMeoline\@dd\r@fcapwrite{#1\p@riod}{{\rm#2}}% + }% +% following 6 lines define macros to be used in mutiple references +\def\f@rstcite{\let\cite\s@ccite\let\sp@nit\g@ble\bareref}% +\def\s@ccite{\let\cite\th@rdcite\let\sp@nit\comma\hideref}% +\def\th@rdcite{\let\cite\hideref\let\sp@nit\dash\hideref}% +\def\spancite{\begingroup\let\cite\f@rstcite\r@fbeg}% +\def\groupcite{\begingroup\let\cite\bareref\let\sp@nit\g@ble\r@fbeg}% +\def\endcite{\sp@nit\mn@m\r@fend\endgroup}% +\def\comma{,}\def\dash{-}% +% +% +% author address macros +% +% +% three styles: +% +% 1 - inline author addresses +% +% 2 - footnoted address +% +% 3 - addresses in ref list +% +\newcount\@ddrcount +\newcount\@ddrtotal +\newif\ifc@teaddress +\def\rm@a{`a}\def\gr@a{\tw@}% +\def\@ddsuper#1{$^{(#1)}$}% +\adddef\resd@c{\@ddrcount\@ddrz@\@ddrtotal\z@}% +\def\pr@sent{Present address: }% +\def\authoraddress{% + \let\@ddrpre=\relax\@ddrget + }% +\def\presentaddress{% + \let\@ddrpre=\pr@sent\@ddrget + }% +\def\addressreference{% author addresses are references + \let\@ddraction=\@ddradd + \let\@ddrxdef=\xd@fletter + \let\@ddrtag=\@ddsuper + \let\@ddrt@tal=\r@ftotal + \let\@ddrz@\rm@a % alt: \let\@ddrz@\gr@a + \c@teaddresstrue + }% +\def\@ddradd#1#2{% + \t@g{#1}\c@tMeoline\@dd\r@fcapwrite{(#1)}{{\rm\@ddrpre#2}}% + }% +\def\addressfootnote{% author addresses are footnotes + \let\@ddraction=\@ddrfoot + \let\@ddrxdef=\xd@fletter + \let\@ddrtag=\@ddsuper + \let\@ddrt@tal=\@ddrtotal + \let\@ddrz@\rm@a + \c@teaddresstrue + }% +\def\@ddrfoot#1#2{\footnote{\t@g{#1}}{{\rm\@ddrpre#2}}}% +\def\addressinline{% author addresses are inline + \let\@ddraction=\@ddrinline + \let\@ddrxdef=\xd@ftext + \let\@ddrtag=\breaktitle + \let\@ddrt@tal=\@ddrtotal + \let\@ddrz@\z@ + \c@teaddressfalse + }% +\def\@ddrinline#1#2{{\rm\t@g#2}}% +\def\@ddrget{% + \let\m@dedef=\m@deref\let\m@degobble=\g@bble + \let\m@decount=\@ddrcount\let\m@detotal=\@ddrt@tal + \let\t@g=\@ddrtag + \let\m@dedoembed=\@ddrembed + \let\p@riod=\p@int + \l@tnxt\m@denxt + }% +\def\@ddrembed#1#2{\@ddrxdef#1{#2}\@ddraction#1{#2}}% +\addressfootnote +% +% EQUATION NUMBER MACRO +% +\newcount\eq@count\eq@count\@ne\newcount\eq@total\eq@total\z@ +\newwrite\eq@write +\def\eq@file{equation.textemp }% +\def\eq@head{\uppercase{List of Equations}}% +\def\display{% + \let\t@g\g@ble\eq@get + }% +\def\Equation{% + \let\t@g\Eq@\eq@get + }% +\def\Eq@{Equation\tie}% +\def\equation{% + \let\t@g\eq@\eq@get + }% +\def\eq@{Eqn.\tie}% +\def\eq@get{% + \let\m@dedef=\m@deref\let\m@degobble=\g@bble + \let\m@decount=\eq@count\let\m@detotal=\eq@total + \let\m@dedoembed=\@qnembed + \let\p@riod=\d@sh + \l@tnxt\m@denxt + }% +\def\@qnembed#1#2{\xd@fch@pt#1\t@g{#1}{\l@tMspace$$#2\eqno(#1)$$}}% +% +% macros common to \figure and \table commands +% +\def\m@denxt#1{\def\mn@m{#1}% + \ifx\undefined#1\let\temp\m@dedef\else\let\temp\m@dechk\fi + \temp#1% + }% +\def\m@dechk#1{\t@g{#1}% + \ifx=\next\let\temp\m@lterr\else\let\temp\g@ble\fi\temp#1% + }% +\def\m@lterr#1{% + \Ps@zerr{multiple text for \string#1}\Ps@zmltptxt\m@degobble + }% +\def\g@bbbble#1#2#3#4{}% +\def\g@bbble#1#2#3{}% +\def\g@bble#1#2{}% +\def\g@ble#1{}% +\def\m@deset#1{% + \begingroup + \ifx=\next + \aftergroup\m@detype\aftergroup#1% + \c@tset + \begingroup\aftergroup\g@ttok\aftergroup\m@defig + \begingroup\aftergroup\g@ttok\aftergroup\m@decap + \begingroup\aftergroup\g@ttok\aftergroup\m@detit + \begingroup\aftergroup\g@ttok\aftergroup\m@deeqs + \else + \Ps@zerr{missing text for \string#1}\Ps@zmsngtxt + \fi + \xd@fch@pt#1% chapter number is embedded in this number. + \t@g#1% the rest of this must not generate any unwanted spaces! + \endgroup + }% +\newtoks\m@deeqs\newtoks\m@detit\newtoks\m@decap\newtoks\m@defig +\def\m@detype#1{\c@tMeoline + \edef\next{\noexpand#1{\the\m@detit}{\the\m@decap}{\the\m@defig}}% + \global\m@detit{}\global\m@decap{}\global\m@defig{}% + \begingroup\aftergroup\expandafter + \ifm@dembed\aftergroup\m@dedoembed\else\aftergroup\m@denoembed\fi + \endgroup\next + }% +% +% end of macros common to \table and \figure commands +% +% FIGURE CAPTION MACRO +% +% The Figure Caption macro generates a list of figure captions. It +% is similar to the reference macro. +% +\newif\iffigureembed\figureembedtrue +\newif\iff@gmidpage\f@gmidpagetrue +\newif\iff@gfullpage +\newcount\f@gcount\f@gcount\@ne +\newcount\f@gtotal\f@gtotal\z@ +\newwrite\f@gcapwrite\def\f@gcapfile{figcap.psiztemp }% +\def\f@gcaphead{\uppercase{Figure Captions}}% +\newwrite\f@gtabwrite\def\f@gtabfile{figtab.psiztemp }% +\def\f@gtabhead{{List of Figures}}% +\newwrite\f@gfigwrite\def\f@gfigfile{figfig.psiztemp }% +\def\f@ginsert{% + \iff@gfullpage\let\next=\pageinsert + \else\iff@gmidpage\let\next=\ordinsert + \else\let\next=\topinsert + \fi + \fi\next + }% +\def\f@gcaptext#1#2#3{% + \noindent\F@g#1. \iftitleincaption#2\fi#3% + }% +\def\f@gcaption#1#2#3{% + \iff@gfullpage\vfill\f@gcaptext{#1}{#2}{#3}% + \else{\narrower{\f@gcaptext{#1}{#2}{#3}}\par}% + \fi + }% +\def\figure{% + \def\t@g{\f@g}\f@gget% + }% +\def\Figure{% + \def\t@g{\F@g}\f@gget + }% +\def\hidefig{% + \let\t@g\g@ble\f@gget + }% +\def\barefig{% + \let\t@g\relax\f@gget + }% +\def\f@g{Fig.\tie}% +\def\F@g{Figure\tie}% +\def\f@gget{% + \let\m@dedef=\m@deset\let\m@degobble\g@bbbble + \let\m@decount=\f@gcount\let\m@detotal=\f@gtotal + \let\ifm@dembed=\iffigureembed + \let\m@dedoembed\f@gpar\let\m@denoembed\f@gnow + \let\p@riod=\p@int + \l@tnxt\m@denxt + }% +\def\f@gpar#1#2#3#4{\ch@ckpar + \adddef\m@dpar{\l@tMspace + \f@ginsert + \singlespace + \ifdraft\else\line{\p@geleftglue\vbox{#4}\p@gerightglue}\fi + \f@gcaption#1{#2}{#3}% + \@ddtab\f@gtabwrite#1{#2}% + \endinsert + }% + }% +\def\f@gnow#1#2#3#4{% + {\l@twrite + \@ddtab\f@gtabwrite#1{#2}% + \@dd\f@gcapwrite{#1.}{\iftitleincaption#2\fi#3}% + \immediate\write\f@gfigwrite{#4}% + \immediate\write\f@gfigwrite{\hang\F@g#1.\endpage}% + }% + }% +% +% TABLE CAPTION MACRO +% +% The Table Caption macro generates a list of table captions. +% It is similar to the figure macro. +% +\newif\iftableembed\tableembedtrue +\newif\ift@bmidpage\t@bmidpagetrue +\newif\ift@bfullpage +\newcount\t@bcount\t@bcount\@ne \newcount\t@btotal\t@btotal\z@ +\newwrite\t@bcapwrite\def\t@bcapfile{tabcap.psiztemp }% +\def\t@bcaphead{\uppercase{Table Captions}}% +\newwrite\t@btabwrite\def\t@btabfile{tabtab.psiztemp }% +\def\t@btabhead{{List of Tables}}% +\newwrite\t@bfigwrite\def\t@bfigfile{tabfig.psiztemp }% +\def\t@binsert{% + \ift@bfullpage\let\next=\pageinsert + \else\ift@bmidpage\let\next=\ordinsert + \else\let\next=\topinsert + \fi + \fi\next + }% +\def\t@bcaptext#1#2#3{% + \noindent\T@b#1\p@riod\ \iftitleincaption#2\fi#3% + }% +\def\t@bcaption#1#2#3{% + \ift@bfullpage\t@bcaptext{#1}{#2}{#3}\par + \else\ift@bmidpage\bigskip\fi + {\narrower{\t@bcaptext{#1}{#2}{#3}\par}}\medskip + \fi + }% +\def\table{% + \let\t@g\t@b\t@bget + }% +\def\Table{% + \let\t@g\T@b\t@bget + }% +\def\hidetab{% + \let\t@g\g@ble\t@bget + }% +\def\baretab{% + \let\t@g\relax\t@bget + }% +\def\t@b{Table\tie}\def\T@b{Table\tie}% +\def\t@bget{% + \let\m@dedef=\m@deset\let\m@degobble=\g@bbbble + \let\m@decount=\t@bcount\let\m@detotal=\t@btotal + \let\ifm@dembed=\iftableembed + \let\m@dedoembed\t@bpar\let\m@denoembed\t@bnow + \let\p@riod=\p@int + \l@tnxt\m@denxt + }% +\def\t@bpar#1#2#3#4{\ch@ckpar + \adddef\m@dpar{\l@tMspace + \t@binsert + \singlespace + \t@bcaption#1{#2}{#3}% + \ifdraft\else\line{\p@geleftglue\vbox{#4}\p@gerightglue}\fi + \@ddtab\t@btabwrite#1{#2}% + \endinsert + }% + }% +\def\t@bnow#1#2#3#4{% + {\l@twrite + \@ddtab\t@btabwrite#1{#2}% + \@dd\t@bcapwrite{#1.}{\iftitleincaption#2\fi#3}% + \immediate\write\t@bfigwrite{#4}% + \immediate\write\t@bfigwrite{\hang\T@b#1.\endpage}% + }% + }% +% +% COMMON MACROS FOR ALL THE ABOVE +% +% Following three macros implement the ordered midinsert: \ordinsert. +% This repairs the defect in \midinsert which can cause the order of +% the inserts in the typeset document to be different from the +% order in which they appear in the source. +% Note that a \midinsert is translated into a \topinsert if it is too big +% or if there are any inserts carried over at all. So a split footnote +% would have an interference effect here. +\newif\if@ord +\def\ordinsert{\@ordtrue\@midtrue\@ins}% +\def\endinsert{\egroup % finish the \vbox + \if@mid\p@gefalse\if@ord\ifnum\insertpenalties>\z@\@midfalse\fi\fi\fi + \if@mid + \dimen@\ht\z@\advance\dimen@\dp\z@\advance\dimen@\bigskipamount + \advance\dimen@\pagetotal\advance\dimen@\pagedepth + \advance\dimen@-\pageshrink\advance\dimen@-\pagegoal + \ifdim\dimen@>\z@\@midfalse\fi + \fi + \if@mid \bigskip\box\z@\bigbreak + \else\insert\topins{\penalty100 % floating insertion + \splittopskip\z@skip + \splitmaxdepth\maxdimen \floatingpenalty\z@ + \ifp@ge \dimen@\dp\z@ + \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero + \else \box\z@\nobreak\vskip\@ne\bigskipamount + \fi + }% + \fi\endgroup\@ordfalse + }% +% Following five macros examine successive tokens until something other +% than a <CR> is seen. This, then becomes the tokens put into the +% token register which is the argument of \g@ttok. +% In this way, the tokens are absorbed with <CR> as an active character +% but still preserving TeX's property of spacing past blanks (including +% a <CR>) as it is absorbing the arguments of a macro. +\def\g@ttok#1{\let\temp#1\l@kt@k}% +\def\l@kt@k{\futurelet\next\d@ct@k}% +\def\d@ct@k{% + \if\next\h@tMactive\let\next\g@bt@k\else\let\next\g@tt@k\fi\next + }% +\def\g@tt@k#1{\global\temp{#1}\endgroup}% +\def\g@bt@k#1{\l@kt@k}% +\def\ch@ckpar{% + \ifx\par\endgraf\gdef\par{\m@dpar}% + \gdef\m@dpar{\gdef\m@dpar{}\global\let\par\endgraf\par}% + \fi + }% +\def\l@tnxt#1#2{\def\temp{#1#2}\futurelet\next\temp}% +\def\lowercasecite{% + \gdef\r@f{ref.\tie}\gdef\f@g{fig.\tie}% + \gdef\t@b{table\tie}\gdef\eq@{eqn.\tie}% + }% +\adddef\l@twrite{% define in macros + \l@tMother + \let\figure=0\let\Figure=0% + \let\table=0\let\Table=0% + \let\reference=0\let\Reference=0\let\cite=0% + \let\authoraddress=0\let\presentaddress=0% + \let\equation=0\let\Equation=0\let\display=0% + \let\picture=0% + }% +\gdef\@dd#1#2#3{% add something to the specified file + {\l@twrite + \immediate\write#1{\noexpand\hangpar{.08}{#2\quad}\percent}% + \immediate\write#1{#3}% + }% + }% +\def\hangpar#1#2{% + \par\noindent\hangindent#1\refsize + \hbox to #1\refsize{\hfill#2}% + }% +\def\@ddtab#1#2#3{% + {\l@twrite + \write#1{% + \line{% + \quad\strut#2\quad\h@tMother#3\h@tMother + \leaderfil\number\p@gecount + }% + }% + }% + }% +% +% MACROS FOR OUTPUTTING CITATIONS AND FOR RESETTING THEM +% +\def\re@dback#1#2#3#4{% + \ifnum#4>\z@ + \ifproof\bigskip\else\endpage\fi + {\bf\centertitle#3}% + \immediate\closeout#1 + \unlock\input#2\lock + \fi + }% +\def\c@teout{% + \ifnum\r@ftotal>\z@ + \ifproof\else\endpage\fi + \xdef\writeit{% + \write\ch@pterwrite{% + \line{% + \strut\h@tMother\r@fcaphead\h@tMother + \leaderfil\noexpand\number\p@gecount + }% + }% + }\writeit + \re@dback\r@fcapwrite\r@fcapfile\r@fcaphead\r@ftotal + \ifproof\else\endpage\fi + \fi + \ifv@ta + \endpage + \xdef\writeit{% + \write\ch@pterwrite{% + \line{% + \strut\h@tMother\v@tahead\h@tMother + \leaderfil\noexpand\number\p@gecount + }% + }% + }\writeit + \centertitle{\v@tahead}\v@ta + \fi + \iftableembed\else + \re@dback\t@bcapwrite\t@bcapfile\t@bcaphead\t@btotal + \fi + \iffigureembed\else + \re@dback\f@gcapwrite\f@gcapfile\f@gcaphead\f@gtotal + \fi + }% +\def\c@tereset{% + \global\f@gcount\@ne + \global\t@bcount\@ne + \global\eq@count\@ne + \global\r@fcount\@ne + \global\f@gtotal\z@ + \global\t@btotal\z@ + \global\r@ftotal\z@ + \n@llout\r@ftabwrite\r@ftabfile + \n@llout\r@fcapwrite\r@fcapfile + \n@llout\f@gtabwrite\f@gtabfile + \n@llout\f@gcapwrite\f@gcapfile + \n@llout\f@gfigwrite\f@gfigfile + \n@llout\t@btabwrite\t@btabfile + \n@llout\t@bcapwrite\t@bcapfile + \n@llout\t@bfigwrite\t@bfigfile + \n@llout\eq@write\eq@file + }% +\adddef\b@dyreset{\c@tereset}% +\def\c@teclear{% + \ifch@pterrenumber + \global\f@gcount\@ne + \global\t@bcount\@ne + \global\eq@count\@ne + \fi + \ifr@frenumber\global\r@fcount\@ne\fi + }% +\def\f@gt@bhead{\f@gt@bheadfalse + \ifnum\t@btotal>\z@\f@gt@bheadtrue + \line{\strut\t@btabhead\leaderfil\romannumeral-\t@bpagecount}% + \fi + \ifnum\f@gtotal>\z@\f@gt@bheadtrue + \line{\strut\f@gtabhead\leaderfil\romannumeral-\f@gpagecount}% + \fi + }% +% when text is missing, must still typeset the ref number. +% show error messages in the documentation diff --git a/macros/plain/formats/psizzl/fontdefs.psizzl b/macros/plain/formats/psizzl/fontdefs.psizzl new file mode 100644 index 0000000000..9a1b582c03 --- /dev/null +++ b/macros/plain/formats/psizzl/fontdefs.psizzl @@ -0,0 +1,221 @@ + +% FONTDEFS PSIZZL - fonts for use with version TeX 1.0, +% +% For reference, +% default pointsize better(?) +% Text 10 12 point type 14 +% Equations 10 12 point type 14 +% Superscripts 7 10 point type 10 +% Supersuperscripts 5 8 point type 7 +% \message{load fonts} +% +% +%=============================================================================== +% PSIZZL uses too many fonts for the BNL VAX version of TeX. The sans +% serif and small caps fonts have been removed with "%*****". Roman fonts are +% substituted instead: +\def\sr{\rm} % Roman for sans-serif +\def\cp{\rm} % Roman for small caps +% J. Haggerty and F. Paige, 5 Nov 1986 +%=============================================================================== +% +%*****\font\fortyss = cmssmc40 % sanserif +% +\font\fifteenrm = cmr10 scaled\magstep4% % roman 14.4 point +\font\fourteenrm = cmr10 scaled\magstep3% % roman 14.4 point +% +\font\twelverm = cmr10 scaled\magstep1% % roman 12 point +\font\twelvei = cmmi10 scaled\magstep1% % mathitalic 12 point +\font\twelveit = cmti10 scaled\magstep1% % italic 12 point +\font\twelvebf = cmbx10 scaled\magstep1% % boldface 12 point +\font\twelvesy = cmsy10 scaled\magstep1% % math 12 point +\font\twelvesl = cmsl10 scaled\magstep1% % slanted 12 point +%*****\font\twelvess = cmss10 scaled\magstep1% % sansserif 12 point +\font\twelvett = cmtt10 scaled\magstep1% % typewriter 12 point +\font\twelveex = cmex10 scaled\magstep1% % extra math 12 point +%*****\font\twelvecp = cmcsc10 scaled\magstep1% % capitals at 12 point +% +%*****\font\tencp = cmcsc10 % capitals at 10 point +%*****\font\tenss = cmss10 % sansserif 10 point +% +\font\eightbf = cmbx8 scaled\magstep1% % boldface 9.6 point +\font\eightrm = cmr8 scaled\magstep1% % roman 9.6 point +\font\eightsl = cmsl8 scaled\magstep1% % slanted 9.6 point +%*****\font\eightss = cmssq8 scaled\magstep1% % sans serif 9.6 point +\font\eightsy = cmsy8 scaled\magstep1% % symbols 9.6 point +\font\eighti = cmmi8 scaled\magstep1% % math 9.6 point +\font\eightit = cmti8 scaled\magstep1% % text italic 9.6 point +\font\eighttt = cmtt8 scaled\magstep1% % typewriter 9.6 point +% +\font\sixbf = cmbx7 scaled\magstep1% % boldface 7.2 point +\font\sixrm = cmr7 scaled\magstep1% % roman 7.2 point +\font\sixsy = cmsy7 scaled\magstep1% % math 7.2 point +\font\sixi = cmmi7 scaled\magstep1% % math italic 7.2 point +% +%\message{done fonts}% +%*****\newfam\srfam +%*****\newfam\cpfam +% +\def\rm{\fam0\fontrm }% +\def\mit{\fam1 }% +\def\cal{\fam2 }% +\def\it{\fam\itfam\fontit}% +%*****\def\sr{\fam\srfam\fontsr}% +\def\sl{\fam\slfam\fontsl}% +\def\bf{\fam\bffam\fontbf}% +\def\tt{\fam\ttfam\fonttt}% +%*****\def\cp{\fam\cpfam\fontcp}% +\def\twelvep@int{% defines all the characteristics of twelve point type + \relax + \textfont0 = \twelverm % roman + \scriptfont0 = \eightrm + \scriptscriptfont0 = \sixrm + \let\fontrm = \twelverm + % + \textfont1 = \twelvei % math italics + \scriptfont1 = \eighti + \scriptscriptfont1 = \sixi + % + \textfont2 = \twelvesy % math symbols + \scriptfont2 = \eightsy + \scriptscriptfont2 = \sixsy + % + \textfont3 = \twelveex % extended math + \scriptfont3 = \twelveex + \scriptscriptfont3 = \twelveex + % there is no name for this + % + \textfont\itfam = \twelveit % text italic + \let\fontit = \twelveit + % +%***** \textfont\srfam = \twelvess % sans serif +%***** \let\fontsr = \twelvess + % + \textfont\slfam = \twelvesl % slanted text + \let\fontsl = \twelvesl + % + \textfont\bffam = \twelvebf % boldface + \scriptfont\bffam = \eightbf + \scriptscriptfont\bffam = \sixbf + \let\fontbf = \twelvebf + % + \textfont\ttfam = \twelvett % typewriter + \let\fonttt = \twelvett + % +%***** \textfont\cpfam = \twelvecp % caps & smallcaps +%***** \let\fontcp = \twelvecp + % + \fontrm + \spaceparams + }% +\def\tenp@int{% defines all the characteristics of ten point type + \relax + \textfont0 = \tenrm % roman + \scriptfont0 = \sevenrm + \scriptscriptfont0 = \fiverm + \let\fontrm = \tenrm + % + \textfont1 = \teni % math italics + \scriptfont1 = \seveni + \scriptscriptfont1 = \fivei + % + \textfont2 = \tensy % math symbols + \scriptfont2 = \sevensy + \scriptscriptfont2 = \fivesy + % + \textfont3 = \tenex % extended math + \scriptfont3 = \tenex + \scriptscriptfont3 = \tenex + % there is no name for this + % + \textfont\itfam = \tenit % text italic + \let\fontit = \tenit + % +%***** \textfont\srfam = \tenss % sans serif +%***** \let\fontsr = \tenss + % + \textfont\slfam = \tensl % slanted text + \let\fontsl = \tensl + % + \textfont\bffam = \tenbf % boldface + \scriptfont\bffam = \sevenbf + \scriptscriptfont\bffam = \fivebf + \let\fontbf = \tenbf + % + \textfont\ttfam = \tentt % typewriter + \let\fonttt = \tentt + % +%***** \textfont\cpfam = \tencp % caps & smallcaps +%***** \let\fontcp = \tencp + % + \fontrm + \spaceparams + }% +\def\spaceparams{% spacing parameters in a font-covariant form + % If we do \sevenrm\spaceparams, + % we will successfully switch to the new font at the correct spacing. + % We have taken 2.3ex to be the height of the current font. + \topskip 2.3ex + \splittopskip 2.3ex + \smallskipamount= .75ex plus .25ex minus .25ex + \medskipamount = 1.5ex plus .50ex minus .50ex + \bigskipamount = 3.0ex plus 1.0ex minus 1.0ex + % + \parfillskip 0ex plus 1fil + \parindent 2.0em + \abovedisplayskip 3.8ex plus .57ex minus 1.7ex + \belowdisplayskip 3.8ex plus .57ex minus 1.7ex + \abovedisplayshortskip 0ex plus .68ex + \belowdisplayshortskip 1.6ex plus .68ex minus .91ex + \maxdepth .45ex + \splitmaxdepth \maxdimen + \boxmaxdepth \maxdimen + \setbox\strutbox\hbox{\vrule height 3ex depth .8ex width 0em}% + % + \hfuzz .023ex + \vfuzz .023ex + \delimitershortfall 1.2ex + \nulldelimiterspace .27ex + \scriptspace .11ex + \overfullrule 1.2ex + \thinmuskip 3mu + \medmuskip 4mu plus 2mu minus 4mu + \thickmuskip 5mu plus 5mu + % + \s@tbaselines + }% +\newskip\normalparskip +\def\@nenhalf{1.5}% +\def\s@tbaselines{% + \normallineskip .23ex + \normalbaselineskip 2.76ex + \normallineskiplimit 0ex + \normalparskip 0.00ex plus .23ex minus .00ex + \refsize\hsize + \refbetweenskip\parskip + % + \lineskip\linesp@ce\normallineskip + \baselineskip\linesp@ce\normalbaselineskip + \lineskiplimit\linesp@ce\normallineskiplimit + \parskip\linesp@ce\normalparskip + }% +\def\singlespace{% + \let\linesp@ce\@ne\s@tbaselines + }\let\linesp@ce\@ne +\def\normalbaselines{% + \let\linesp@ce\@nenhalf\s@tbaselines + }% +\def\doublespace{% + \let\linesp@ce\tw@\s@tbaselines + }% +\hsize 6.0 true in +\vsize 8.75 true in +% +\newdimen\refsize +\newskip\refbetweenskip +% +\def\largetype{\twelvep@int}% +% +\def\mediumtype{\tenp@int}% +% +\mediumtype\singlespace diff --git a/macros/plain/formats/psizzl/index.psizzl b/macros/plain/formats/psizzl/index.psizzl new file mode 100644 index 0000000000..b0c0a81041 --- /dev/null +++ b/macros/plain/formats/psizzl/index.psizzl @@ -0,0 +1,91 @@ +% INDEX PSIZZL - indexing macros for TeX version 1.0 +% index entries come in two visibilities - non-silent and silent +% non-silent entries are preceeded by a ^ +% while silent entries are preceeded by ^^ +% the four types of non-silent entries are as follows +% ^{text} - type 0, normal +% ^|text| - type 1, TeX input, but not a control sequence +% ^|\text| - type 2, TeX control sequence +% ^\<text> - type 3, TeX concept, a mnemonic name +% +% the format of the entry in the index file is: +% text_!n_pp. where _ is a space, n is the index type, +% pp is the page number +% +\newif\ifproofindex +\let\numbercount=\relax +\def\\{% + {\tt\char'134}% + }% +\def\<{% + \relax\ifmmode\mskip\medmuskip\else\char'74\fi + }% +\newwrite\@ndexwrite\def\@ndexfile{index.psiztemp }% +\adddef\fmtreset{% + \immediate\openout\@ndexwrite=\@ndexfile % file for index reminders + }% +\newif\ifsilent +\def\specialhat{% + \relax\ifmmode\def\next{^}\else\let\next=\beginxref\fi\next + }% +\def\beginxref{% + \futurelet\next\beginxrefswitch + }% +\def\beginxrefswitch{% + \ifx\next\specialhat\let\next\silentxref + \else\silentfalse\let\next\xref + \fi + \next + }% +{\c@tCactive\global\let^\specialhat\gdef\silentxref^{\silenttrue\xref}}% +\c@tCactive\adddef\l@twrite\l@tCzero %this turns on indexing capability +{\c@tVcontrol\c@tBactive|gdef\{}}% \ as an active character -> nothing +\def\marginstyle{\vrule height6pt depth2pt width0pt \sevenrm}% +\chardef\bslash=`\\ +\def\xref{% + \futurelet\next\xrefswitch + }% +\def\xrefswitch{% + \begingroup + \ifx\next|% + \aftergroup\vxref % case 1 or 2, |arg| or |\arg| + \else + \ifx\next\<% + \aftergroup\anglexref % case 3, "\<arg>" means angle bracke + \else + \aftergroup\normalxref% case 0, "{arg}" + \fi + \fi + \endgroup + }% +\def\vxref|{\c@tBactive\futurelet\next\vxrefswitch}% +\def\vxrefswitch#1|{\c@tBcontrol + \ifx\next\empty + \def\xreftype{2}\def\next{{\tt\bslash\text}}% type 2, |\arg| + \else + \def\xreftype{1}\def\next{{\tt\text}}% type 1, |arg| + \fi + \edef\text{#1}\makexref + }% +\def\anglexref\<#1>{% + \def\xreftype{3}\def\text{#1}\def\next{$\langle$\text$\rangle$}% + \makexref + }% +\def\normalxref#1{% + \def\xreftype{0}\def\text{#1}\let\next=\text\makexref + }% +\def\makexref{% + \ifproofindex + \insert\margin{\hbox{\marginstyle\text}}% + \xdef\writeit{% + \write\@ndexwrite{% + \text\space!\xreftype\space\noexpand\number\p@gecount.% + }% + }% + \writeit + \else\ifhmode\kern\z@\fi + \fi + \ifsilent\ignorespaces\else\next\fi + }% +% the \insert (which is done in proofmode only) suppresses hyphenation, +% so the \kern\z@ is put in to give the same effect in non-proofmode. diff --git a/macros/plain/formats/psizzl/institut.psizzl b/macros/plain/formats/psizzl/institut.psizzl new file mode 100644 index 0000000000..824fb562f1 --- /dev/null +++ b/macros/plain/formats/psizzl/institut.psizzl @@ -0,0 +1,60 @@ +% INSTITUT PSIZZL - hooks for the present institution +% these hooks are for SLAC, if your institution is different +% make the appropriate changes +\adddef\fmtversion{ [SLAC] }% +\institute{Stanford Linear Accelerator Center\breaktitle + Stanford University, Stanford, California 94305% + }% +\university{Stanford University}% +% +\contract{% + Work supported by the US Department of Energy under + \hbox{DE-AC03-76SF00515}% + }% +% +\def\pubadmin{Ms. Crystal Tilghman, Publications Department at SLAC}% +% +\memohead{\bf SLAC\ \ MEMO}% +% +\letterhead + {\fourteenrm \uppercase{Stanford University}}% + {\twelvecp Stanford Linear Accelerator Center\cr + \ifstreetaddress 2575 Sand Hill Road\endline + Menlo Park, California\endline\fi + }% + {\eightit\kern-4exMail Address\cr + \ifx\s@nderbin\empty\else\s@nderbin\cr\fi + SLAC, P.O. Box 4349\cr Stanford, California 94305\cr}% + {\vbox to 1in{\vfil}}% +\subtitle{% + A Dissertation\breaktitle + Submitted to the Department of Physics\breaktitle + and the Committee on Graduate Studies\breaktitle + of \@niversity\breaktitle + in partial fulfillment of the requirements\breaktitle + for the Degree of\breaktitle + Doctor of Philosophy\breaktitle + }% +\unlock +\def\r@portprice{% + Printed in the United States of America. Available from the + National Technical Information Service, U.S. Department of Commerce, + 5285 Port Royal Road, Springfield, Virginia 22161. + Price: \ Printed Copy \pr@ce , Microfiche A01. + }% +\lock +\def\sigstatement{% + {\narrower + {\noindent + I certify that I have read this thesis and that in my\hfil\break + opinion it is fully adequate, in scope and quality, as\hfil\break + a dissertation for the degree of Doctor of Philosophy.\par + \medskip + }% + }% + }% +\sigpage{(Principal Adviser, SLAC)}% + {(Co-Signer, Physics)}% + {(SLAC)}% + {Dean of Graduate Studies}% + {Approved for the University Committee on Graduate Studies}% diff --git a/macros/plain/formats/psizzl/letter.psizzl b/macros/plain/formats/psizzl/letter.psizzl new file mode 100644 index 0000000000..667e4b438d --- /dev/null +++ b/macros/plain/formats/psizzl/letter.psizzl @@ -0,0 +1,244 @@ +% LETTER PSIZZL - letter macros +% +% I am indebted to Louise Addis, SLAC, for help in designing the +% style of the letter. +% +% The letter will print with your institution's letterhead. +% You then take the letter and copy it on bond. +% The original hardcopy becomes your file copy. +% +% \letterto{Name}{address} Name will appear in the salutation. +% note the comma or colon here. +% e.g., address will be the full address. +% \letterto{John,}% use \cr to separate lines. +% {Mr.@John Doe\cr% +% Physics Department\cr% +% University of California, Berkeley\cr% +% Berkeley, CA 94720\cr}% +% +% \letterfrom{signature}{mail stop}{initials} +% initials will possibly appear at the foot of +% e.g., the letter +% \letterfrom% signature will appear in the close +% {Jane Doe\cr address is incorporated in the letterhead +% Chief Honcho\cr}% +% {Bin 2}{JD}% +% +% \letterdate{date} you may optionally specify the date of the +% letter. The default date however, is today. +% e.g., \letterdate{7 July 1983}% +% +% \salutation{Ave}% here's how to modify the standard salutation +% (default is Dear) +% +% \MyRef{text}% specifies the writer's reference number for +% this letter. Default is none. +% If you use this you get Ref: <text> near +% the top of the letter. +% +% \YourRef{text}% similar to \MyRef. Specifies the reference +% number of the addressee's letter to which +% you're responding. Default is none. +% +% \copiesto{name\cr name\cr ...name\cr}% +% specifies who gets copies of the letter +% aside from the addressee. A list of names +% will appear at the end of the letter. +% Default is none +% +% \closing{Yours truly,}% and how to modify the standard close +% (default is Sincerely,) +% +% \everyletter{text}% text to be inserted +% at the end of every letter. +% May be an entire letter body. +% +% \beginletter the letter now begins on a new page +% with date, address, salutation +% +% text now comes the text of the letter +% +% \endletter this puts out the closing +% +\newif\ifletter +\newskip\lettertopskip\lettertopskip\z@ plus\z@ minus\z@ +\def\letterdate#1{% + \def\l@tterdate{#1}% + }\letterdate\d@te +\def\salutation#1{% + \def\s@lutation{#1}% + }\salutation{Dear}% +\def\closing#1{% + \def\cl@sing{#1}% + }\closing{Sincerely,}% +\def\typist#1{% + \def\t@pist{:\lowercase{#1}}% + }\def\t@pist{}% +\def\copiesto#1{% + \def\c@pies{% + \hbox{% + \vtop{\hbox{cc: }\vfil}% + \vtop{\singlespace + \halign{\vbox{\parindent\z@\hsize.8\hsize####}\hfil\cr + #1\crcr}% + }% + }% + \vskip\baselineskip + }% + }\def\c@pies{}% +\def\postscript#1{% + \def\p@st{#1}% + }\def\p@st{}% +\def\enclosure#1#2{% + \def\@ncl{% + {\par\parindent\z@#1\par\singlespace + \halign{% + \quad\vbox{\parindent\z@\hsize.8\hsize####}\hfil\cr + #2\crcr}\par + }% + }% + }\def\@ncl{}% +\def\prescript#1{% + \def\pr@{#1}% + }\def\pr@{}% +% +\def\MyRef#1{% + \def\M@Ref{Ref: #1\cr}% + }\def\M@Ref{}% +\def\YourRef#1{% + \def\Y@urRef{Your Ref: #1\cr}% + }\def\Y@urRef{}% +% +\def\breakletter{% + \par\vfil\eject + }% break the title page of a letter +\def\letterto#1#2{% + \def\@ddressee{#1}\gdef\@ddress{#2}% + }\letterto{}{}% +\def\letterfrom#1#2#3{% + \def\s@ndername{#1}\gdef\s@nderbin{#2}\gdef\s@nderinitials{#3}% + }\letterfrom{}{}{}% +\def\letterstyle#1{% + \adddef\stylel@t{#1}% + }% +\def\stylel@t{% + \let\bodynumbers=\topcentered + \vsize 8.3in + \raggedright + \p@geclear% set page number + \largetype\singlespace + \parindent 0em + \baselineskip 2.7ex + \parskip\medskipamount + }% +\long\def\everyletter#1{\def\l@tterbody{#1}}\everyletter{}% +\def\letter{% + \let\resd@c\resl@t + \let\pred@c\prel@t\let\styled@c\stylel@t\let\titd@c\titl@t + \let\frontd@c\frontl@t\let\endd@c\endl@t\lettertrue + }% +\def\beginletter{\letter\begindocument}% +\def\endletter{\enddocument}% +\def\frontl@t{}% +\def\resl@t{\endpage}% +\def\prel@t{\beginbody}% +\def\titl@t{% + \topinsert + \ifwindowenvelope + \translate{-.0in}{-1.5in}{% + \ifx\@ddress\empty\else + \vbox to 1.in{% + \singlespace\baselineskip 2.7ex\vss + \halign to 4.35in{\tabskip\z@ + ##\hss\tabskip\z@ plus 1fil\cr\@ddress\crcr + }\vss + }% + \fi + }% + \nointerlineskip + \fi + \l@tterhead + \endinsert + \fr@nttrue + \rightline{\l@tterdate}\vskip\the\baselineskip + \tempfalse + \ifx\M@Ref\empty\else\temptrue\fi\ifx\Y@urRef\empty\else\temptrue\fi + \iftemp + \rightline{% + \vbox{% + \singlespace\halign{##\hfil\cr\M@Ref\Y@urRef}% + }% + }% + \par + \fi + \vfil + \vskip\lettertopskip + \ifwindowenvelope\vskip1.20in\else + \ifx\@ddress\empty\else + {%\singlespace\indent + \hbox{\vbox{\halign{##\hfil\cr\@ddress\crcr}}}% + }% + \par + \vskip2\parskip + \fi + \fi + \par\pr@\par + \ifx\@ddressee\empty\else + \medskip\s@lutation\ \@ddressee\par\medskip + \fi + }% +\def\endl@t{% + \l@tterbody + \par + \ifx\s@ndername\empty\else + \nobreak\vskip 4.5ex% + \line{% + \hbox to .51\hsize{\hfil}\hskip\z@ minus 1fil + \vbox{\singlespace\baselineskip 2.7ex% + \halign{##\hfil\cr\cl@sing\cr\noalign{\nobreak\vskip.4in}% + \s@ndername \crcr + }% + }% + \hskip\z@ plus 1fill + }% + \fi + {\normalbaselines + \ifx\s@nderinitials\empty\else + \par\s@nderinitials\t@pist\par + \fi + \@ncl + \c@pies + {\singlespace\p@st\par}% + }% + \vfil\eject + \gdef\t@pist{}\gdef\c@pies{}\gdef\M@Ref{}\gdef\Y@urRef{}% + \gdef\pr@{}\gdef\p@st{}% + \letterfalse + }% +\newdimen\h@ght\h@ght=1in +\newdimen\l@tterheadsize\l@tterheadsize\hsize +\def\letterhead#1#2#3#4{% + \def\l@tterhead{% + \ifletterhead + \l@tterheadsize\hsize\advance\l@tterheadsize0in + \centerline{% + \vbox{\hsize\l@tterheadsize + \centerline{\vbox{\halign{####\hfil\cr#1\crcr}}}% + \line{% + \singlespace\baselineskip 2.7ex% + \vbox to \h@ght{\vss\halign{####\hfil\cr#2\crcr}\vss}% + \hss + \vbox to \h@ght{\vss\halign{####\hfil\cr#3\crcr}\vss}% + }% + }% + }% + \else#4\fi + }% + }% +\newif\ifletterhead\letterheadtrue +\newif\ifstreetaddress +\newif\ifwindowenvelope +% review all of the \letterto's by typesetting them plus +\def\p@genumberletter{% + \p@gebanner{\l@tterdate}{}{Page\qquad\numorroman\p@gecount}% + }% diff --git a/macros/plain/formats/psizzl/lists.psizzl b/macros/plain/formats/psizzl/lists.psizzl new file mode 100644 index 0000000000..c0eee0e335 --- /dev/null +++ b/macros/plain/formats/psizzl/lists.psizzl @@ -0,0 +1,172 @@ +% LISTS PSIZZL - macros for lists, numbered and unnumbered +% +\gdef\d@m{.08}% +\gdef\sd@m{.13}% +\gdef\ssd@m{.195}% +% +% UNNUMBERED LISTS +% +% This is similar to the Itemized List Macro except it doesn't +% number the items. Instead it allows you to pick a symbol to +% highlight the line. +% +% \itembegin{<symbol>}text You pick the symbol to be used. +% It then applies to all following items. +% +% \item text Each additional item in the series. +% +% \itemcon text Used to continue an xitem when you have +% more than one paragraph in the item: +% you get a blank instead of a symbol. +% +% \sitembegin{<symbol>} Use these as above. The sub-item list +% \sitem is indented a bit farther. +% \sitemcon +% +% \ssitembegin{<symbol>} Sub-sub-item list macros +% \ssitem +% \ssitemcon +% +% A blank line or a \par will end the item and give you a new paragraph. +% If you don't want a new paragraph at the end of the xitem, +% type `\par\noindent' to end the item +% +\def\itemset#1{% + \gdef\items@m{#1}% + }\itemset{\bull}% +\def\itembegin#1{% + \itemset{#1}\item + }% +\def\it@m{% + \hangpar\d@m + }% +\def\item{% + \it@m{\items@m\quad}% + }% +\def\itemcon{% + \it@m{}% + }% +% +\def\sitemset#1{% + \gdef\sitems@m{#1}% + }\sitemset{\astr}% +\def\sitembegin#1{% + \sitemset{#1}\sitem + }% +\def\sit@m{% + \hangpar\sd@m + }% +\def\sitem{% + \sit@m{\sitems@m\quad}% + }% +\def\sitemcon{% + \sit@m{}% + }% +% +\def\ssitemset#1{% + \gdef\ssitems@m{#1}% + }\ssitemset{\crcl}% +\def\ssitembegin#1{% + \ssitemset{#1}\ssitem + }% +\def\ssit@m{% + \hangpar\ssd@m + }% +\def\ssitem{% + \ssit@m{\ssitems@m\quad}% + }% +\def\ssitemcon{% + \ssit@m{}% + }% +% +% +% ITEMIZED LIST MACRO +% +% These commands are used to make xitemized lists, to write +% outlines or make points within a body of text. +% +% \pointbegin text To start a list. The list will be +% or numbered in Arabic numerals and +% \pointbegin indented. You can begin the text +% text after the \pointbegin command - +% separated by a space - or you can +% begin on the following line. +% +% \point text Subsequent items in the list. +% +% \pointcon text If you want a point to contain more +% than one paragraph, but you don't want +% to generate a new number, use +% \pointcon text. This will also work +% with \spointcon and \sspointcon. +% +% \spointbegin text To begin a sub-point list; indented, +% lowercase Roman letter, in ( ). +% +% \spoint text To continue a sub-point list. +% +% \sspointbegin text To start a sub-sub-point list; +% indented, lowercase Roman numerials, +% in ( ). +% +% \sspoint text To continue a sub-sub-point list. +% +% A blank line or a \par will end the item and give you a new paragraph. +% If you don't want a new paragraph at the end of the item, +% type `\par\noindent' to end the item +% +\newcount\p@ntcount +\def\p@ntinit{% + \p@ntcount\@ne + }% +\def\p@ntreset{% + \sp@ntinit\sp@ntreset + }% +\def\pointbegin{% + \p@ntinit\point + }% +\def\point{% + \p@ntreset\it@m{\p@nttext\p@ntcount.\quad}% + \bumpcount\p@ntcount + }% +\def\pointcon{% + \it@m{}% + }% +\let\p@nttext\numorroman +% +\newcount\sp@ntcount +\def\sp@ntinit{% + \sp@ntcount`a + }% +\def\sp@ntreset{% + \ssp@ntinit\ssp@ntreset + }% +\def\spointbegin{% + \sp@ntinit\spoint + }% +\def\spoint{% + \sp@ntreset\sit@m{\sp@nttext\sp@ntcount.\quad}% + \bumpcount\sp@ntcount + }% +\def\spointcon{% + \sit@m{}% + }% +\let\sp@nttext\char% +% +\newcount\ssp@ntcount +\def\ssp@ntinit{% + \ssp@ntcount\@ne + }% +\def\ssp@ntreset{}% +\def\sspointbegin{% + \ssp@ntinit\sspoint + }% +\def\sspoint{% + \ssp@ntreset\ssit@m{\number\ssp@ntcount.\quad}% + \bumpcount\ssp@ntcount + }% +\def\sspointcon{% + \ssit@m{}% + }% +\let\ssp@nttext\numorroman +% diff --git a/macros/plain/formats/psizzl/macros.psizzl b/macros/plain/formats/psizzl/macros.psizzl new file mode 100644 index 0000000000..136d8831a7 --- /dev/null +++ b/macros/plain/formats/psizzl/macros.psizzl @@ -0,0 +1,167 @@ +% MACROS PSIZZL - macros for use with Psizzl +% +% begin rewrite of PLAIN macros +% end rewrite of PLAIN macros +\hyphenation{mac-ro}% +\catcode`\@=11 +\chardef\l@tter=11 +\chardef\@oline=5 +\chardef\@ther=12 +\chardef\c@ntrol=00 +% unlock macro names with @ key +\def\unlock{\catcode`\@=\l@tter}% @ character can be used in macro names +% lock up the macros +\def\lock{\catcode`\@=\@ther}% macros using this character are now locked +% +\def\c@tAactive{\catcode`\&=\active}% +\def\c@tAalign{\catcode`\&=4}{\c@tAalign\gdef\h@tAalign{&}}% +{\c@tAactive\gdef\l@tAalign{\let&\h@tAalign}}% +\def\c@tAset{\c@tAactive\ifnum\c@tAactive\l@tAalign\fi}% +% +\def\c@tMother{\catcode`\^^M=\@ther}% +\def\c@tMeoline{\catcode`\^^M=\@oline}% +\def\c@tMactive{\catcode`\^^M=\active}% +{\c@tMactive% + \gdef\l@tMother{\let ^^M=\h@tMother}% + \gdef\l@tMspace{\let ^^M=\space}% + \gdef\h@tMactive{^^M}% + }% +{\c@tMother\gdef\h@tMother{^^M}}% +\newlinechar`\^^M +% +\def\c@tVset{\ifnum\catcode`|=\active\l@tVother\fi}% +\def\c@tVcontrol{\catcode`|=\c@ntrol}% +\def\c@tVactive{\catcode`|=\active}% +\def\c@tVother{\catcode`|=\@ther}% +{\c@tVother\gdef\h@tVother{|}}% +{\c@tVactive\gdef\l@tVother{\let|\h@tVother}\gdef\l@tVzero{\let|=0}}% +% +{\catcode`\%=\@ther\gdef\percent{%}}% +\def\c@tBother{\catcode`\\=\@ther}% +\def\c@tBactive{\catcode`\\=\active}% +\def\c@tBcontrol{\catcode`\\=\c@ntrol}% +\def\c@tLQactive{\catcode`\`=\active}% +\def\c@tCactive{\catcode`\^=\active}% +{\c@tCactive\gdef\l@tCzero{\let^=0}}% +{% \outer plaintex macros not to be recognized during a \write + \let\settabs=0\let\+=0\let\beginsection=0\let\proclaim=0\let\bye=0% + \gdef\l@tplain{% all \outer and all that use \ifmmode + \let\settabs=0\let\+=0\let\beginsection=0\let\proclaim=0\let\bye=0% + \let~=0\let\footnote0% + \let\strut0\let\dots0\let\ph@nt0\let\smash0% + }% + }% +\def\l@twrite{\l@tplain\let\underscore=0}% +% +\def\Psizzl{% + P% + \kern-.30em\lower.70ex\hbox{s}% + \kern-.08em\lower.0 ex\hbox{i}% + \kern-.05em\lower.0 ex\hbox{z}% + \kern-.17em\lower.5 ex\hbox{z}% + \kern-.09em\lower.2 ex\hbox{l}% + }% +\def\fmtreset{}\def\fmtuser{my\fmtname\relax}% +\def\fmtjob{% + \CMS{CP SMSG GJMSINK PSIZZLLL \fmtversion\space\jobname}% + \message{This is \fmtname, Version \fmtversion}% + \fmtreset + \input\fmtuser + }% +\everyjob={\fmtjob}% +% +% cute and otherwise desirable-to-have macros +% +\newif\iftemp % scratch if macro +\newcount\tempcount% scratch count register +\def\diagnostics{% + %\tracingonline\@ne + \tracingcommands\tw@\tracingstats\tw@ + \tracingpages\@ne + %\tracingoutput\@ne\tracinglostchars\@ne + \tracingmacros\@ne\tracingparagraphs\@ne + %\tracingrestores\@ne + %\showboxbreadth\maxdimen\showboxdepth\maxdimen + %\errorstopmode + }% +\def\adddef#1#2{% + \toks\z@=\expandafter{#1}\toks\@ne={#2}% + \xdef#1{\the\toks\z@\the\toks\@ne}% + }% +\def\logit#1{\immediate\write-1{\meaning#1}}% +% +\def\endp@ge{\par \vfill \eject}% +\def\endle@f{\endp@ge\ifodd\pageno\else\hrule height\z@\endp@ge\fi}% +\let\endpage\endp@ge\let\endleaf\endp@ge +% +\def\underscore#1{$\underline{\smash{\hbox{#1}}}$}% +% +\def\leaderfil{\leaders\hbox to 2em{\hss.\hss}\hfil}% +% +\def\centertitle#1{\par\noindent\hfil #1\hfil\par}% center text +% +\def\breaktitle{\hfil\par\noindent\hfil}% break text +% +\def\d@te{\the\day\tie\monthword\tie\the\year}% +\def\monthdayyear{% alternate date format + \gdef\d@te{\monthword\tie\the\day,\tie\the\year}% + }% +\def\date#1{\gdef\d@te{#1}}% +\def\thedate{\d@te}% +\chardef\vx@=60\newcount\hour\newcount\minute +\def\fildec#1{\ifnum#1<10 0\fi\the#1}% +\def\thetime{% \thetime -> 09:36 e.g.: `This job was run at \thetime.' + \hour\time\divide\hour\vx@ + \minute-\hour\multiply\minute\vx@\advance\minute\time + \fildec\hour:\fildec\minute + }% +\def\bumpcount#1{% + \ifnum#1<\z@\let\temp\m@ne\else\let\temp\@ne\fi + \global\advance#1\temp + }% +\def\numorroman#1{% + \ifnum#1<\z@\romannumeral-#1\else\number#1\fi + }% +\def\lapcomma{\llap{,}}% +% characters and things +% +% macro to assist in breaking paragraphs, use in place of \par, or +% blank line, terminating the paragraph in question. +\def\padline#1{\line{\ #1\ }}% +\def\thinhrule{\hrule height.4pt}% +\def\thinvrule{\vrule width .4pt}% +\def\loosepar{{\tolerance1000\par}}% +\def\noraggedright{\rightskip\z@skip\spaceskip\z@skip\xspaceskip\z@skip}% +\def\p@int{.}% +\def\d@sh{--}% +\def\hidenull#1{\setbox\z@=\vbox{#1}\ifdim\ht\z@=\z@\else#1\endline\fi}% +\def\translate#1#2#3{%\translate{<Xdimen>}{<Ydimen>}{thing} + \vbox to\z@{\offinterlineskip + \kern-#2\hbox to\z@{\kern#1{#3}\hss}\vss + }% + }% +% macros for the \CMS command: \write 15 +\chardef\fift@@n=15 +\global\chardef\CMSwrite=\fift@@n +\wlog{\string\CMSwrite=\string\write\fift@@n}% +\outer\def\newwrite{\alloc@7\write\chardef\fift@@n}% +\def\CMS{\immediate\write\CMSwrite}% +% macros to flag superseded commands +\def\supercede#1#2{% + \def#1{% + \toks@\expandafter{\csname + Instead of \string#1, you should use \string#2. \go@on + \endcsname}% + \errhelp\toks@ + \errmessage{Psizzl: \string#1 has been superseded by \string#2}#2% + }% + }% +\def\go@on{% + Before you run this job again, please change your TeX source file. + Do `CONSPIRE CHECK TEX' to see the new command syntax. + This is just a warning: you may continue processing by giving a <CR>. + }% +% following macros flag superseded commands +\supercede\memotopic\memosubject +\supercede\group\memohead +\def\sample#1{{\let\end\relax\input #1 \endpage}\listfile{#1}}% diff --git a/macros/plain/formats/psizzl/memo.psizzl b/macros/plain/formats/psizzl/memo.psizzl new file mode 100644 index 0000000000..cd96e19d7b --- /dev/null +++ b/macros/plain/formats/psizzl/memo.psizzl @@ -0,0 +1,74 @@ +% MEMO PSIZZL - memo macros +% +% \memodate{<date>} The default date is today's date, +% but here's how you can change it. +% +% \memohead{<header for the memo>} This will be the header for the memo +% the default is `\bf MEMO' +% +% \memoto{<people>} To whom the memo is addressed +% +% \memofrom{<someone>} Who it's from +% +% \memosubject{<subject>} The subject of the memo +% +% \memostyle{\largetype} Your choices about: +% \singlesided\doublesided +% \singlespace\doublespace +% +% \memo This specifies that the document is a memo +% \begindocument Following this you put the text. +% +% <text> Enter your text here +% +% \enddocument This will end the memo +% +\def\memohead#1{% + \def\m@mohead{{#1}}% + }\memohead{\bf MEMO}% +\def\memodate#1{% + \def\m@modate{#1}% + }\memodate{\d@te}% +\def\memoto#1{% + \def\m@moto{#1}% + }\memoto{}% +\def\memofrom#1{% + \def\m@mofrom{#1}% + }\memofrom{}% +\def\memosubject#1{% + \def\m@mosubject{#1}% + }\memosubject{}% +\def\memostyle#1{% + \adddef\stylem@m{#1}% + }% +\def\stylem@m{% + \singlesided\largetype\singlespace + }% +\newif\ifm@mo +\def\memo{% + \let\pred@c\prem@m\let\styled@c\stylem@m\let\titd@c\titm@m + \let\frontd@c\frontm@m\let\endd@c\endm@m\m@motrue + }% +\def\p@genumbermemo{% + \p@gebanner{\m@modate}{\m@mohead}{\p@genumber}% + }% +\def\prem@m{\beginbody}% +\def\frontm@m{}% +\def\endm@m{}% +\def\beginmemo{\memo\begindocument}% +\def\endmemo{\enddocument}% +\def\titm@m{% + \fr@nttrue + \line{\m@mohead\hfill Date: \m@modate}% + \vskip\@nenhalf\normalbaselineskip + \vbox{\halign{\parindent\z@ + \cp##\hfil\quad&\vtop{\hsize.8\hsize\noindent##}\hfil\cr + To:&\m@moto\cr + From:&\m@mofrom\cr + Subject:&\m@mosubject\cr + } }% + \par \vskip 3.0ex \hrule height .8pt\vskip 3.0ex + }% +\def\endm@m{% + \par\vfil\@ncl\c@pies\vfil\eject\gdef\c@pies{}\gdef\@ncl{}% + }% diff --git a/macros/plain/formats/psizzl/mypsizzl.tex b/macros/plain/formats/psizzl/mypsizzl.tex new file mode 100644 index 0000000000..c478c7b1ae --- /dev/null +++ b/macros/plain/formats/psizzl/mypsizzl.tex @@ -0,0 +1,30 @@ +\message{Using HAGGERTY's MYPSIZZL TEX}% +\memohead{\bf BNL E-787 MEMO}% +\memofrom{John Haggerty}% +\letterfrom{John S. Haggerty}{}{}% +\salutation{Dear}% +\closing{Sincerely,}% +\letterhead{% + \fourteenrm{Brookhaven National Laboratory}\cr + }{% + }{% + Building 510A\cr + Upton, New York 11973\cr + (516) 282-7894\cr + }{% + }% +\def\nextline{\unskip\nobreak\hskip\parfillskip\break} +\institute{% +Lawrence Berkeley Laboratory and Department of Physics\breaktitle +University of California, Berkeley, California 94720\breaktitle +Stanford Linear Accelerator Center\breaktitle +Stanford University, Stanford, California 94305\breaktitle +Department of Physics\breaktitle +Harvard University, Cambridge, Massachusetts 02138\breaktitle + }% +% +\contract{% + This work was supported in part by the Department of Energy, contracts + DE-AC03-76SF00515 (SLAC), DE-AC03-76F00098 (LBL), + and DE-AC02-76ER03064 (Harvard). + }% diff --git a/macros/plain/formats/psizzl/options.psizzl b/macros/plain/formats/psizzl/options.psizzl new file mode 100644 index 0000000000..ef5d3cbe9c --- /dev/null +++ b/macros/plain/formats/psizzl/options.psizzl @@ -0,0 +1,135 @@ +% OPTIONS PSIZZL - contains all the journal-dependent stuff +% +% Publication names +% - also include the pub's editor here for the cover letter +% +\def\j@urnalname{}% +\def\j@urnaladdress{}% +\def\j@urnaleditor{}% +\def\APS{\conference American Physical Society}% +\def\IEEE{% + \hsize 4.625 true in \vsize 12.8125 true in + \let\pubsize\largetype + \multiply\scalein4\divide\scalein3% + \figureembedtrue\tableembedtrue + %the photoready copy will be reduced by a factor of .75 + %\conference + }% +\def\NIM{\journal\foreign% + %single column=3in double column=6.3in + % in duplicate, with separate list of figure captions + % copy of copies of figures attached to original manuscript + % \nopagenumbers + \gdef\j@urnalname{Nuclear Instruments and Methods}% + \gdef\j@urnaladdress{Professor K. Siegbahn, Editor \cr + Nuclear Instruments and Methods \cr + Institute of Physics \cr + University of Uppsala \cr + Sweden \cr + }% + \gdef\j@urnaleditor{Professor Siegbahn:}% + \j@urnalname + }% +\def\NPB{\journal\foreign% + \gdef\j@urnalname{Nuclear Physics B}% + \gdef\j@urnaladdress{Professor D. Cline \cr + Nuclear Physics B \cr + Department of Physics \cr + University of Wisconsin \cr + 457 North Charter Street \cr + Madison, Wisconsin 53706 \cr + }% + \gdef\j@urnaleditor{Professor Cline:}% + \j@urnalname + }% +\def\PRL{\journal% + \gdef\j@urnalname{Physical Review Letters}% + \gdef\j@urnaladdress{Professor George Trigg, Editor \cr + Physical Review Letters \cr + 1 Research Road \cr + Box 1000 \cr + Ridge, New York \cr + }% + \gdef\j@urnaleditor{Professor Trigg:}% + \j@urnalname + }% +\def\PRD{\journal% + \gdef\j@urnalname{Physical Review D}% + \gdef\j@urnaladdress{Professor D. L. Nordstrom, Editor \cr + Physical Review D \cr + 1 Research Road \cr + Box 1000 \cr + Ridge, New York \cr + }% + \gdef\j@urnaleditor{Professor Nordstrom:}% + \j@urnalname + }% +\def\PL{\journal\foreign% + \gdef\j@urnalname{Physics Letters B}% + \gdef\j@urnaladdress{Professor Howard Georgi \cr + Physics Letters B \cr + Lyman Laboratory of Physics \cr + Harvard University \cr + Cambridge, MA 02138 \cr + }% + \gdef\j@urnaleditor{Professor Georgi:}% + \j@urnalname + }% +\def\foreign{% foreign publication style + \bracketreference\lowercasecite\volyearpageref + }% +\def\journal{% + %\doublespace + }% +\def\conference{% + \p@genumbernonetrue + \singlespace + }% +% other possibilities: conferences, no linenumbers +%% page dimensions: 6.1(1) by 8.60(75), near center +% +%% conference papers are in single(12) or singlehalf spacing(19) _ +%% journal articles are doublespaced(24) +% +%% IEEE: special long box: 4.625 by 12.8125 +% +\newif\ifdraft +\newif\ifproof +\newif\ifthesis% this is a thesis +\newif\ifsubmit% this copy of paper to be submitted +\def\pubside{}% +\def\illn#1{\ifproof{\it[Illustration number #1]}\fi}% +\def\illndraft{% + \ifproof + \point The {\it[Illustration numbers]} + which appear in the Figure and Table captions + will not appear in the published editions. + \fi + }% +\def\draft{% invoke this if the paper is a draft + \prooftrue\drafttrue + \mediumtype\normalbaselines\singlesided + \figureembedfalse\tableembedfalse + }% +\def\proof{% proof format + \prooftrue\proofindextrue + \mediumtype\singlespace\doublesided + \figureembedtrue\tableembedtrue + }% +\def\submit{% to be submitted to a journal for re-typesetting + \largetype\normalbaselines\singlesided + \figureembedfalse\tableembedfalse\submittrue + }% +\def\preprint{% preprint format - + \figureembedtrue\tableembedtrue\let\picture\blankp@c + \largetype\singlespace%\baselineskip2.0ex + %\landscape + %\beginmulticolumn2% + }% +\def\landscape{% + \quadsided + \vsize8.5in \hsize5.75in \pagesize\hsize + %\def\gutter{\vrule width .5in height 0pt depth 0pt}% + \thesisstyle{\quadsided}\publicationstyle{\quadsided}% + \memostyle{\quadsided}\reportstyle{\quadsided}% + }% diff --git a/macros/plain/formats/psizzl/output.psizzl b/macros/plain/formats/psizzl/output.psizzl new file mode 100644 index 0000000000..991105cea5 --- /dev/null +++ b/macros/plain/formats/psizzl/output.psizzl @@ -0,0 +1,200 @@ +% OUTPUT PSIZZL - output routine for publications +% singlesided : page numbers in fixed location +% doublesided : alternating page numbers at left/right +% quadsided : alternating page numbers at foot and top +% nopagenumbers : disables all pagenumbering +% bottomcentered : bottom centered page numbers +% topcentered : top centered page numbers +% bottomnumbers : bottom outside page numbers +% topnumbers : top outside page numbers +\newdimen\evenoffset\newdimen\oddoffset +% Even and odd leaves of output are shifted by these respective amounts +% in order to have a proper binding margin. +\newcount\p@gecount +\def\pageset#1{\p@gecount#1}% +\def\p@geclear{\global\p@gecount\@ne}\adddef\fmtreset{\p@geclear}% +\def\p@gefront{\global\p@gecount\m@ne}\adddef\resd@c{\p@gefront}% +\newcount\le@f\le@f=\@ne +\newcount\p@geroman\p@geroman\m@ne +\newif\iffr@nt +\newif\ifdoubleside +\newif\ifquadside +\def\singlesided{\quadsidefalse \doublesidefalse}% +\def\doublesided{% + \quadsidefalse\doublesidetrue%\evenoffset.2in\oddoffset-.05in + }% +\def\quadsided{% + \quadsidetrue\doublesidefalse%\evenoffset.2in\oddoffset-.05in + \let\endleaf\endle@f + }% +\newif\ifp@genumberleft +\newif\ifp@genumbertop +\newif\ifp@genumbernone +\newif\ifp@genumbercenter +\adddef\resd@c{% + \let\frontnumbers=\bottomcentered\let\bodynumbers=\topoutside + }% +\def\nopagenumbers{\p@genumbernonetrue}% +\def\bottomcentered{\p@genumbertopfalse\p@genumbercentertrue}% +\def\topcentered{\p@genumbertoptrue\p@genumbercentertrue}% +\def\bottomoutside{\p@genumbertopfalse\p@genumbercenterfalse}% +\def\topoutside{\p@genumbertoptrue\p@genumbercenterfalse}% +\def\p@gehead{\ifp@genumbertop\p@genumberline\else\p@genumbernull\fi}% +\def\p@gefoot{\ifp@genumbertop\p@genumbernull\else\p@genumberline\fi}% +\def\b@ndp@ge#1#2{\ifp@genumberleft{#2}\else{#1}\fi}% +\def\p@gebanner#1#2#3{% + \line{{\rm\lapline{\b@ndp@ge{#1}{#3}}{#2}{\b@ndp@ge{#3}{#1}}}}% + }% +\def\lapline#1#2#3{\rlap{#1}\hfil#2\hfil\llap{#3}}% +% +% set up the defaults +% +\singlesided\topoutside % default pagenumbering format +% +\newinsert\margin\dimen\margin\maxdimen +% This pagenumber is same as in PLAIN but does not impose \tenrm +\gdef\p@genumber{{\bf\numorroman\p@gecount}}% +\def\p@genumberline{% + \iffr@nt + \p@genumbernull + \else + \ifletter\p@genumberletter\else + \ifm@mo\p@genumbermemo\else + \p@genumberpaper + \fi + \fi + \fi + }% +\def\p@genumbernull{\vbox to \z@{}}% +\def\makep@genumber{% output.psizzl + \ifnum\p@gecount<\z@\frontnumbers\else\bodynumbers\fi + \ifdoubleside + \ifodd\pageno\hoffset\evenoffset\p@genumberleftfalse + \else\hoffset\oddoffset\p@genumberlefttrue + \fi + \fi + \ifquadside + \ifodd\pageno\p@genumberlefttrue\else\p@genumberleftfalse\fi + \ifodd\le@f + \p@genumbertopfalse\voffset\evenoffset + \else\p@genumbertoptrue\voffset\oddoffset + \fi + \fi + \ifp@genumbernone\fr@nttrue\fi + \count\@ne\number\p@gecount + %\count\tw@\number\le@f + }% +\def\p@gecontents{% + \ifvoid\margin\else + \p@gebanner{}{}{% + \hbox to\z@{\b@ndp@ge{}{\hss}% + \hbox{\vbox to \z@{\box\margin\vss}}\b@ndp@ge{\hss}{}% + }% + }% + \fi + \ifvoid\topins\else\unvbox\topins\fi + \unvbox\@cclv + \ifvoid\footins\else\vskip\skip\footins\vskip-0.68ex + \hrule width.25\hsize\vskip1.82ex + \unvbox\footins + \fi + \ifr@ggedbottom\vfill\fi + }% +\def\p@gebox#1{% + \vbox{% \boxmaxdepth=\the\maxdepth\offinterlineskip + %\offinterlineskip + \p@gehead\vskip\normalbaselineskip + \c@lumnbox{#1}% + \vskip\normalbaselineskip\p@gefoot + }% + }% +\def\c@lumnbox#1{% + \vbox to \vsize{#1}% + }% +\def\bumple@fnumber{% counter for total leaves. Quad: Two pages per leaf + \ifodd\pageno\global\advance\le@f\@ne\fi + }% +\def\bumpp@genumber{% + \iffr@nt\global\fr@ntfalse\fi + \ifnum\p@gecount<\z@ % register for the page label `page number' + \global\advance\p@gecount\m@ne + \global\p@geroman=\number\p@gecount + \else\global\advance\p@gecount\@ne + \fi + \global\advance\pageno\@ne % counter for total pages + }% +\def\fmtoutput#1{% + \makep@genumber\l@twrite\shipout#1\bumpp@genumber\bumple@fnumber + }% +\def\eject@ns{% + \ifnum\outputpenalty>-20000 \else\dosupereject\fi + }% +\output{\fmtoutput{\p@gebox{\p@gecontents}}\eject@ns}% +\newdimen\pagesize\pagesize\hsize +\newcount\c@lumncount\newcount\c@lumntotal +\def\gutter{\thinvrule}% +\def\pageline{\hbox to\pagesize}% +\newbox\c@lumni\newbox\c@lumnii\newbox\c@lumniii +\newbox\c@lumniv\newbox\c@lumnv +\def\@@nd{\endmulticolumn\@nd}\let\@nd\end +\def\beginmulticolumn#1{% arg = number of columns per page < 6 + \@ndmulticolumn + \topskip\z@\r@ggedbottomtrue + \c@lumntotal#1\c@lumncount\c@lumntotal + \pagesize\hsize\let\g@tter\gutter % save \gutter where it can't go bad + \setbox\z@\hbox{\g@tter}\advance\hsize\wd\z@ + \divide\hsize\number\c@lumntotal\advance\hsize-\wd\z@ % new \hsize + \output{\multic@lumn{\c@lumnbox{\p@gecontents}}\eject@ns}% + }% +\def\@ndmulticolumn{% + \endpage\supereject + \message{\string\c@lumncount=\number\c@lumncount}% + \loop\ifnum\c@lumncount<\c@lumntotal\null\endpage\repeat + \hsize\pagesize\c@lumntotal\@ne + \let\markl\empty\let\markr\empty\let\marko\empty % null these, too + }% +\def\endmulticolumn{% + \mark{}\@ndmulticolumn + }% +\def\multic@lumn#1{\rm % switch back just in case + \def\l@toutput{% + \l@twrite\let\leftline\z@\let\bf\z@ + \let\allmark\z@\let\nomark\z@\let\inimark\z@ + }% + \ifx\markl\empty + {\l@toutput\xdef\markl{\firstmark}}% + {\let\allmark\relax\let\nomark\relax\let\inimark\relax + \setbox\z@\hbox{\titleline\markl}% + \setbox\@ne\hbox{\titleline\empty}% + \ifdim\wd\z@=\wd\@ne + {\l@toutput\xdef\markl{\botmark}}% + \fi + }% + %\message{\string\markl=\markl.}% + \fi + \ifcase\c@lumncount + \or\c@lumnformat{#1}\or\s@tb@x\c@lumni#1\or\s@tb@x\c@lumnii#1% + \or\s@tb@x\c@lumniii#1\or\s@tb@x\c@lumniv#1\or\s@tb@x\c@lumnv#1% + \fi + \global\advance\c@lumncount\m@ne + % if the current heading is not yet finished, + % insert the column header for this heading into the vertical list + \botmark + }% +\def\g@tb@x#1{\ifdim\wd#1=\z@\else\box#1\g@tter\fi}% +\def\s@tb@x{\global\setbox}% +\def\c@lumnformat#1{% + \fmtoutput{% + \vbox{% + \p@gehead + {\l@twrite + \pageline{% + \g@tb@x\c@lumnv\g@tb@x\c@lumniv\g@tb@x\c@lumniii + \g@tb@x\c@lumnii\g@tb@x\c@lumni#1\hfil + }% + }% + \p@gefoot + }% + \global\advance\c@lumncount\c@lumntotal + }% + }% diff --git a/macros/plain/formats/psizzl/picture.psizzl b/macros/plain/formats/psizzl/picture.psizzl new file mode 100644 index 0000000000..66194c529d --- /dev/null +++ b/macros/plain/formats/psizzl/picture.psizzl @@ -0,0 +1,48 @@ +% PICTURE PSIZZL - macros for making pictures +% +% see <GDUBOIS> frontpanel +% +\def\insertGRAY#1#2#3{% + \hbox{% + \translate{\z@}{#2}{\special{insert(#3)}}% + \blankbox{#1}{#2}% + }% + }% +\def\insertimPRESS#1#2#3{% + \hbox{% + \translate{-0.50in}{-0.75in}{\special{mergeug(#3)}}% + \blankbox{#1}{#2}% + }% + }% +\def\insertUGS#1#2#3{% + \hbox{\special{mergeug(#3)}\blankbox{#1}{#2}}% + }% +\adddef\l@twrite{% define in macros + \let\insertGRAY\z@\let\insertimPRESS\z@\let\insertUGS\z@ + }% +\newdimen\b@xitkern\b@xitkern3pt +\newdimen\b@xitrule\b@xitrule.4pt +\def\boxit#1{% + \vbox{\hrule height\b@xitrule + \hbox{\vrule width\b@xitrule\kern\b@xitkern + \vbox{\kern\b@xitkern\hbox{#1}\kern\b@xitkern}% + \kern\b@xitkern\vrule width\b@xitrule + }% + \hrule height\b@xitrule + }% + }% +\def\unraise{% + \dimen@-\b@xitkern\advance\dimen@-\dp\strutbox + \leavevmode\raise\dimen@ + }% +\def\blankbox#1#2{% + \vrule width\z@ depth\z@ height#2% + \vrule height\z@ depth\z@ width#1% + }% +\newdimen\scalein\scalein 1in% +\def\fr@methick{1pt}% +\def\fr@me#1#2{\def\fr@mewidth{#1}\def\fr@meheight{#2}}% +\def\blankp@c#1#2{\vbox{\hbox{\blankbox{#1}{#2}}}}% +\def\picture#1#2{% + \boxit{\blankbox{#1}{#2}}% + }% diff --git a/macros/plain/formats/psizzl/psizzl.commands b/macros/plain/formats/psizzl/psizzl.commands new file mode 100644 index 0000000000..a2737cce66 --- /dev/null +++ b/macros/plain/formats/psizzl/psizzl.commands @@ -0,0 +1,312 @@ + PSIZZL COMMANDS - reference manual + + Reference guide to Psizzl macros + This is a list of all the user macros in Psizzl. + They are grouped logically according to function. + +MACROS + +These macros are general-purpose macros used +everywhere in Psizzl, or are of general interest. + \Psizzl - this gives the logo: Psizzl + \diagnostics - turns on tracing diagnostics + \endpage - causes a page break + \underscore#1 - + gives the argument, \underscore{{\it underscored}} + \leaderfil - gives leaders of dots:\hbox to 1in{(\leaderfil)} + \centertitle#1 - along with |\breaktitle|, below, gives a centered + title, whose line breaks are controlled by the user + \breaktitle - to be used with |\centertitle| to break the lines + \monthdayyear - causes the date used in \Psizzl macros to appear + as {\sl ``month day, year''}, instead of {\sl ``day month year''}, + which is the default. + \date#1 - sets the date to the argument. See also |\letterdate| and + |\pubdate|. + \loosepar - To be used to terminate any paragraph which + has an overfull |\hbox|, due to the line breaker not working. + \unlock - To ``unlock'' the macros, so that the character `|@|' + may be used in macro names. + \lock - To undo |\unlock|. + + \adddef#1#2 - adds #2 to the \def of #1 + \bumpcount#1 - increases the absolute value of \count#1 by 1 + \numorroman#1 - expands to arabic if \count#1 is positive, and to + roman if \count#1 is negative + \lapcomma - gives a comma which will overlap the chracter to the left + \translate#1#2#3 - causes TeX to typeset the object specified by #3 + at the postion specified by X = #1 and Y = #2 relative to the + current postion. The current position is not, however, changed. + \iftemp - this is a `scratch' switch. It can be used at any time. + +LISTS + +These are the macros pertaining to lists. + \itembegin#1 - Starts an itemized list and sets the symbol to the + argument. + \item - Makes an entry in an itemized list with the current symbol. + \itemcon - Continues an item in a list starting with a new paragraph. + \itemset#1 - sets the symbol to #1, but does not begin an item. + + \sitembegin#1 - Similar to |\itembegin|, for a subitem. + \sitem - Similar to |\item|, for a subitem. + \sitemcon - Similar to |\itemcon|, for subitem. + \sitemset#1 - Similar to |\itemset|, for a subitem. + + \ssitembegin#1 - Similar to |\itembegin|, for a subsubitem. + \ssitem - Similar to |\item|, for a subsubitem. + \ssitemcon - Similar to |\itemcon|, for subsubitem. + \ssitemset#1 - Similar to |\itemset|, for a subsubitem. + + \pointbegin - Start a sequential list of points. + \point - Put another item in a seqential list. + \pointcon - Like |\itemcon| for a sequentail list. + + \spointbegin - Like |\pointbegin|, for a sublist. + \spoint - Like |\point|, for a sublist. + \spointcon - Like |\pointcon|, for a sublist. + + \sspointbegin - Like |\pointbegin|, for a subsublist. + \sspoint - Like |\point|, for a subsublist. + \sspointcon - Like |\pointcon|, for a subsublist. + +PICTURE +These macros facilitate making pictures. + \blankbox#1#2 - Makes a blank box of the specified dimensions. + \scalein - An inch dimension which magnifies with the type size. + \boxit#1 - Put a box around the argument. + \picture#1#2 - Currently just |\blankbox|. + +FONTDEFS +These define the fonts used in \Psizzl. +% `X' denotes that the font is loaded +% suffixes: rm ss fib i it bf sy sl ss tt x caps +% prefixes: +% \twelve X X X X X X X X X X X +% \ten X X X X X X X X X X X +% \eight X X X X X +% \seven X X X X +% \five X X X X + +% e.g.: \twelverm is a roman font at 12 point +% \tencaps is a cap/smallcap font at 10 pt + +% Plus the following special fonts: +% \fortyss +% \fifteenrm +% \fourteenrm +% \tenex +The following macros are defined in this file: + + \singlespace - Set to single spaced lines. + \normalbaselines - Set to one-and-one-half spaced lines. + \doublespace - Set to double spaced lines. + \largetype - Set to large type size. + \mediumtype - Set to medium type size. + +OPTIONS +These macros turn on various switches, which control how +certain options are used in \Psizzl depending on what publication +you are writing for. + + \APS - American Physical Society. + \IEEE - IEEE. + \NIM - Nuclear Instruments and Methods. + \NPB - Nuclear Physics B. + \PRL - Phys. Rev. Letters. + \PRD - Phys. Rev. D. + \PL - Physics Letters. + \illn#1 - when in |\proof| mode, it expands to ``Illn. #'' + \draft - Specifies that this is a draft. + \preprint - Specifies that this is a preprint. + \proof - Specifies that this is a proof copy. + \submit - Specifies that this will be submitted to a journal. + \foreign - selects specifications for non-APS journals + \journal - selects specifications for journal articles + \conference - selects specifications for conference proceedings + \ifdraft - flag: this is the draft style of a document + \ifproof - flag: this is the proof style of a document + \ifsubmit - flag: this is the submit style of a document + +OUTPUT +These macros control how the output will appear on the page. + \ifdoubleside - flag: the document will be double sided + \ifquadside - flag: the document will be two-pages-per-leaf + +PUBLICAT +These macros generate the title page of a publication, +and indirectly invoke some switches. + \docspec#1 - document specifications. Appear in upper right of title + page + \contract#1 - Defines the contract to be cited. + \contracttrue - Specifies that the given contract is to be cited. + \title#1 - Title of the document. + \subtitle#1 - specify the subtitle of a document. + \authors#1 - Author list. + \institute#1 - The publishing institution. + \submittedto#1 - The journal to be submitted to. + \abstract#1 - The abstract. + \university#1 - Specify the university of the thesis student + \price#1 - Specify the price code of NTIS + \workingauthor#1 - Specify the working author. + \workingauthorbin#1 - Specify the mail stop of the working author. + \workingauthoraddress#1 + {Specify the address of the workin g author. + \publicationstyle#1 - macros to be invoked at the beginning of the + publication + \publication - specify that document will be a publication + \thesisstyle#1 - macros to be invoked at the beginning of the thesis. + \thesis - specify that document will be a thesis + \reportstyle#1 - macros to be invoked at the beginning of a report. + \report - specify that document will be a report + \acknowledge#1 - specify the text of the acknowledgement + \begindocument - begin production of the specified document. + Title page, etc. are produced now. + \enddocument - end production of the document. + \sigpage#1#2#3#4#5 - specify details of signature page of a thesis. + \iffrontmatter - flag: the front matter of the document is to be + produced. + \ifabstractsigned - flag: the abstract page is to be signed. + \ifcopyright - flag: this document is to be copyrighted. + +MEMO +These macros will cause a memo to be produced. + \memohead#1 - Specify the header of the memo. + Default is institution-dependent + \memodate#1 - Specify the date of the memo. + \memoto#1 - Who the memo is to. + \memofrom#1 - Who the memo is from. + \memosubject#1 - Specify the topic of the memo. + \beginmemo - To begin the memo. + \endmemo - To end the memo. + \memostyle#1 - Specify the style of the memo. + +LETTER +These macros control how letters are made. + \letterdate#1 - Specify the date of the letter. + \salutation#1 - Specify the salutation. + \closing#1 - Specify the closing. + \typist#1 - Specify the initials of the typist. + \copiesto#1 - Specify the cc: + \MyRef#1 - Specify your reference number. + \YourRef#1 - Specify the receiver's reference number. + \breakletter - Break the page at this point. + \letterto#1#2 - Name and address of the receiver. + \letterfrom#1#2#3 - Specify the sender. + \everyletter#1 - Text to be included in every letter. + \beginletter - Begin the letter. + \endletter - End the letter. + \letterhead#1#2#3#4 - Specify the letterhead. + \postscript#1 - specify the postscript of the letter + \enclosure#1#2 - specify the enclosures of the letter + \prescript#1 - specify the prescript of the letter + \letterstyle#1 - macros to be invoked at the start of the letter + \ifletter - flag: for output routine: this is a letter + \ifletterhead - flag: a letterhead is to be produced. Default: true + \ifstreetaddress - flag: the street address of the institution + is to appear in the letterhead. default: false. + \ifwindowenvelope - flag: the address of the letter will be typeset + so that it will appear within the window of a window envelope. +CHAPTERS +The body of a document (be it publication, memo, or letter) +are produced by these macros. + \beginbody - Begin the body of the paper. + \chapter#1 - Begin a new chapter. + \beginappendices - Subsequent |\chapter|s will be appendices. + \endbody - End the body. Get out list of references, \etc + \section#1 - Start a bew section. + \subsection#1 - Start a new subsection. + \subsubsection#1 - Start a new subsubsection. + +CITATION +Citations such as references, figures, tables and equations are +done by these macros. + +In the following macros, +#1 is a valid TeX control squence name +(`\' followed by alphabetic characters only: don't use any numerals!). + +Where the macros use `=', they are defining the mnemonic name, so +\<NAME> must not have been previously defined. (Hint: use some CAPITALS). +Once this has been done, the mnemonic name can be used with the macro +without the `=' and following one (or three) arguments: +e.g.: first use: `\cite\DrellYan={Private communication}' + second use: `\Reference\DrellYan\ has clearly shown....' + +In the reference, equation, and author address macros, +#2 is the text of the respective thing being defined. + + REFERENCES: + The following three macros set the style of the reference: + \superreference - References will be superscripted: `$^{#1}$' + \bracketreference - References will appear in brackets: `[#1]' + \parenreference - References will appear in parenthesis: `(#1)' + + The following five macros define or cite references: + \cite#1=#2 - Define a new reference and put out, e.g.: `$^{#1}$' + \hideref#1=#2 - define a new reference, but don't put out any text. + This is how multiple references are produced. + \bareref#1=#2 - define a new reference, and put out #1 only (bare). + \reference#1=#2 - Define a new reference and put out `Ref.#1' + \Reference#1=#2 - Define a new reference and put out `Reference #1' + + \refspec#1,#2(#3) + Specify a reference in a way that the journal style can switch. + \volyearpageref - |\refspec| will be: volume, year, page. + \cernref - References will appear in CERN's style. + + EQUATIONS: + \equation#1=#2 - Define a new equation. + \Equation#1=#2 - Define a new equation. + \display#1=#2 - define a new equation and display it. + + AUTHOR ADDRESS SPECIFICATION: + \authoraddress#1=#2 - define a new authoraddress + \presentaddress#1=#2 - define a new authoraddress + as `Present address: #2' + \addressreference - specify author addresses to be references + \addressfootnote - specify author addresses to be footnotes + \addressinline - specify author addresses to be inline + + In the figure and table macros, + #2 is the title of the figure or table, which will appear in the + table of contents. + #2 and #3 concatenated together constitute the caption of the figure + or table. + #4 will be the contents of the figure or table itself. + + FIGURES: + \figure#1=#2#3#4 - Define a new figure and put out `Fig.#1' + \Figure#1=#2#3#4 - Define a new figure and put out `Figure #1' + \iffigureembed - figures are to be imbedded into the text. + Default: true. + + TABLES: + \table#1=#2#3#4 - Define a new table and put out `table #1' + \Table#1=#2#3#4 - Define a new table and put out `table #1' + \iftableembed - tables are to be embedded into the text. + Default: true. + + MISC: + \hangpar#1#2 - starts a paragraph with hanging indentation. + \lowercasecite - Citations will be lower case, not upper. + \vita#1 - specify a curriculum vitae for this document + \hyphen - punctuation for equations and multiple references + \comma - punctuation for multiple references + \lapperiod - a period which overlaps to the left. + + +VERBATIM +These are the macros for verbatim scanning. + \begintt - Begin verbatim mode. + \endtt - End verbatim mode. + |stuff| - Verbatim mode, inline. + \listfile#1 - Make a listing of the specified file. + \iflistnumber - flag: \listfile produces a numbered listing. + +INDEX +These are the macros for doing the index of a document. +They can each turn into a ``silent'' index entry by doubling the `^' + ^\{text} - Ordinary index entry. + ^\|text| - A special term, index entry. + ^\|\text| - A control sequence, index entry. + ^\<text> - A bracketed concept, index entry. diff --git a/macros/plain/formats/psizzl/psizzl.doc b/macros/plain/formats/psizzl/psizzl.doc new file mode 100644 index 0000000000..b1c9b1469d --- /dev/null +++ b/macros/plain/formats/psizzl/psizzl.doc @@ -0,0 +1,41 @@ +PSIZZL DOC - introduction to Psizzl macros for TeX version 1.1 + +This disk contains the TeX macro package PSIZZL. +It is to be used in conjunction with Tex82 ver. 1.1 + +To use these macros, +prepare a TeX input file of filetype `TEX', +and give the (CMS) command `TEX &PSIZZL <filename>', +where <filename> is the name of your file. + +You may want to make a file called MYPSIZZL TEX, +which would have your customized Psizzl macros on it. +A dummy version of this file is provided. + +The file `PSIZZL ARCHLIST' contains a listing of all the distribution +Psizzl files. + +A file `PSIZZL COMMANDS' gives a listing of the user commands in Psizzl, +along with a discussion of how to use them. + +Models (templates) for various types of jobs, such as letters, memos, +papers, reports, theses, chapters, lists, figures, tables, and references +may be found in the files `* TEMPLATE'. +These files may be edited directly into Psizzl input files. +Note the file `PSIZZL TEMPLATE', which shows how to +surround your file with the appropriate commands to run it. + +For CMS systems, there are two REXX exec files which, respectively +carry on a dialog with the user to build Psizzl letters and memos. +In addition, there is a file called `PSIZBILD' which builds the +PSIZZL FMT file. + +A document describing these macros, ``Psizzl Macros'' is available +as SLAC-REPORT-268 from the author, +Arthur Ogawa, CLA B226, Bin 96, SLAC, Stanford, CA 94305, +(415) 854-3300 X2698, +vmid `OGAWA' at `SLACVM' on net `BITNET'. +Future releases of Psizzl will have this paper online. + +Any problems, questions, suggestions for improvements, etc. +should be sent to Ogawa. diff --git a/macros/plain/formats/psizzl/psizzl.tex b/macros/plain/formats/psizzl/psizzl.tex new file mode 100644 index 0000000000..a2c7bb4c8d --- /dev/null +++ b/macros/plain/formats/psizzl/psizzl.tex @@ -0,0 +1,27 @@ +% Psizzl TeX - macros for use with TeX version 1, format PLAIN +% - high level macros A. Ogawa, Dec 1983 +% +\ifx\fmtname\undefined\input plain % INITEX run + \else\let\dump\relax\fi % VIRTEX run: no \dump's +\def\plain{plain}\ifx\fmtname\plain\else + \message{\fmtname\space is already loaded. I quit.}\endinput\fi +\def\psizzl{Psizzl}\let\fmtname\psizzl\def\fmtversion{0.35}% +\def\fmtext{\fmtname}% this may require changing in some systems +\input symbols.\fmtext % symbol definitions and public macros +\input macros.\fmtext % include macros common to all of this package +\input lists.\fmtext % item lists +%\input picture.\fmtext % macros for making pictures +\input fontdefs.\fmtext % define fonts and families +\input options.\fmtext % implement the switches +\input publicat.\fmtext % title page for publications +\input memo.\fmtext % memo formatter +\input letter.\fmtext % letter formatter +\input chapters.\fmtext % body, chapter, section, subsection +\input citation.\fmtext % references, figures, tables, equations +\input verbatim.\fmtext % verbatim scanning macros +\input index.\fmtext % indexing macros +\input output.\fmtext % output formatting +\input institut.\fmtext % hooks for the present institution +\lock % lock the macro names with @ key +\fmtjob % do what \everyjob normally does +\dump % if INITEX was used, dump the fmt file diff --git a/macros/plain/formats/psizzl/psizzl.txt b/macros/plain/formats/psizzl/psizzl.txt new file mode 120000 index 0000000000..e6e778eec1 --- /dev/null +++ b/macros/plain/formats/psizzl/psizzl.txt @@ -0,0 +1 @@ +psizzl.doc \ No newline at end of file diff --git a/macros/plain/formats/psizzl/publicat.psizzl b/macros/plain/formats/psizzl/publicat.psizzl new file mode 100644 index 0000000000..0d8edaa21f --- /dev/null +++ b/macros/plain/formats/psizzl/publicat.psizzl @@ -0,0 +1,317 @@ +% PUBLICAT PSIZZL - macros for thesis, report and publication +% +% macros for all documents +% +\def\docspec#1{% + \def\sp@cd@c{#1}% + }\docspec{}% +\def\contract#1{% + \def\c@ntract{#1}% + }\contract{}% +\def\title#1{% + \def\t@tle{#1}% + }\title{}% +\def\subtitle#1{% + \def\s@btitle{#1}% + }\subtitle{}% +\def\titlefootnote#1{% + \def\t@tlefoot{#1}% + }\titlefootnote{}% +\def\authors#1{% + \def\@uthors{#1}% + }\authors{}% +\def\institute#1{% + \def\@nstitute{#1}% + }\institute{}% +\def\submittedto#1{% + \def\j@urnal{#1}% + }\submittedto{}% +\long\def\abstract#1{% + \long\def\@bstract{#1}% + }\abstract{}% +\long\def\longempty{}% +\long\def\acknowledge#1{% + \long\def\@cknowledge{#1}% + }\acknowledge{}% +\def\@bstrhead{Abstract}% +\def\@cknwhead{Acknowledgments}% +\newif\iffrontmatter\frontmattertrue +\newif\ifabstractsigned +\newif\ifcopyright +\def\p@genumberpaper{% + \ifp@genumbercenter\p@gebanner{}{\p@genumber}{}% + \else\p@gebanner{}{}{\p@genumber}% + \fi + }% +\def\workingauthor#1{% + \def\w@rkauth{#1}% + }\workingauthor{}% +\def\workingbin#1{% + \def\w@rkbin{#1}% + }\workingbin{}% +\def\workingaddress#1{% + \def\w@rkadd{#1}% + }\workingaddress{}% +\newif\iftitlepage\titlepagetrue +\def\begindocument{% to appear at beginning of any document + \resd@c\p@gefront\styled@c\p@ststyle + \pred@c + \iftitlepage\titd@c\fi + \iffrontmatter\frontd@c\fi + }% +\def\enddocument{% + \endd@c + }% +\def\p@ststyle{}% +\def\resd@c{\endpage}% +\adddef\fmtreset{\resd@c}% +\def\specd@c{% + \ifx\sp@cd@c\empty\else + \rightline{\vbox{\singlespace\halign{##\hfil\cr\sp@cd@c\endline}}}% + \fi + }% +\def\copyrightpage{% + \vbox to \z@{}\vfil% + \centertitle{\copyright\ Copyright\ \the\year\breaktitle + by\breaktitle\@uthors + }% + \endpage + }% +\def\signrule{\vrule width3in height -2.5pt depth 3pt}% +\def\signee#1{% + \rightline{% + \vbox{%\smallinterlineskip + \halign{\hfil##\hfil\cr\noalign{\bigskip}\signrule\cr#1\crcr}% + }% + }% + }% +\def\sigpage#1#2#3#4#5{% + \gdef\s@gpage{% + \vfil + \sigstatement\signee{#1}\medskip + \sigstatement\signee{#2}\medskip + \sigstatement\signee{#3}\bigskip#5\bigskip + \signee{#4}% + \vfil\eject + }% + }% +\def\abspage{% + \ifx\@bstract\longempty\else + \ifabstractsigned + \smallskip + \centertitle{\t@tle}\bigbreak + \centerline{\@uthors , Ph.D.}% + \centerline{\@niversity ,\ \the\year} + \medskip + \par \@bstract + \medskip\vfil + \rightline{% + \vbox{%\smallinterlineskip + \halign{\hfil##\hfil\cr + Approved for publication:\hfill\cr + \noalign{\bigskip}By\space\signrule\cr + For Major Department\cr + \noalign{\bigskip}By\space\signrule\cr + Dean of Graduate Studies\cr + }% + }% + }% + \endpage + \else + \centerline{\bf\@bstrhead}% + \medskip + \par\@bstract + {\@ddch@pt{\@bstrhead}{\noexpand\strut}}% + \endpage + \fi + \fi + }% +\def\dedicate{\def\d@dicate}% +\def\d@dicathead{Dedication}% +\def\dedicatpage{% + \ifx\d@dicate\empty\else\endpage + \centerline{\bf\d@dicathead}\medskip\d@dicate + \begingroup\l@twrite\@ddch@pt{\d@dicathead}{\noexpand\strut}\endgroup + \fi + }% +\def\ackpage{% + \ifx\@cknowledge\longempty\else\endpage + \centerline{\bf\@cknwhead}\medskip\par\@cknowledge + {\@ddch@pt{\@cknwhead}{\noexpand\strut}}% + \endpage + \fi + }% +\def\contentspages{% + \immediate\write\ch@pterwrite{\noexpand\t@bcontents}% + \immediate\write\ch@pterwrite{\noexpand\f@gt@bhead}% + \t@cpagecount=\number\p@gecount + }% +% +% macros for publications +% +\def\publicationstyle#1{% + \adddef\stylep@b{#1}% + }% +\def\publication{% + \let\pred@c\prep@b\let\styled@c\stylep@b\let\titd@c\titp@b + \let\frontd@c\frontp@b\let\endd@c\endp@b + }% +\def\stylep@b{% + \largetype\normalbaselines\singlesided + }% +\def\prep@b{}% +\def\frontp@b{}% +\def\titp@b{% to appear at beginning of pub + \specd@c + \vfil + {\bf\let\t@tlefoot\c@ntract + \centertitle{% + \uppercase{\t@tle}% + \ifx\t@tlefoot\empty\else\footnote{$^\ast$}{{\rm\t@tlefoot}}\fi + }% + }\medskip + {\singlespace\cp\centertitle\@uthors}% + \ifc@teaddress\medskip{\it\centertitle\@nstitute}\fi + \ifx\@bstract\empty\else + \midinsert + \medskip + %\hsize=\refsize + \centerline{\bf\@bstrhead}\medskip + \par \@bstract + \endinsert + \fi + \ifx\j@urnal\empty\else + \medskip\centertitle{Submitted to \j@urnal}% + \fi + \vfil\supereject + }% +\def\endp@b{% + \ifsubmit\ifx\j@urnal\empty\else\letp@b\fi\fi + }% +\def\letp@b{% if paper is to be submitted, this is the cover letter + {% + \singlesided + \letterto{\j@urnaleditor}{\j@urnaladdress}% + \letterfrom{\w@rkauth\endline + \ifx\w@rkadd\empty\else\w@rkadd\endline\fi + }{\w@rkbin}{}% + \closing{Sincerely yours,}% + \enclosure{Enclosures}{}% + \beginletter\l@tp@b\endletter + }% + }% +\newbox\glossies +\def\gl@ssies#1#2{% + \ifnum#1>\z@ + \global\setbox\glossies + \hbox{\ifnum\wd\glossies=\z@\else\unhbox\glossies\ and\ \fi + \number#1\ #2\ifnum#1>\@ne s\fi + }% + \fi + }% +\def\l@tp@b{% + + Enclosed are three copies of a manuscript entitled, + {\def\breaktitle{\relax}``{\bf\t@tle}''} + which we are submitting for publication in \j@urnalname . + \setbox\glossies\hbox{}% + \gl@ssies\f@gtotal{figure}\gl@ssies\t@btotal{table}% + \ifnum\wd\glossies=\z@\else + Glossies of the \unhbox\glossies\ + are included with one of the copies. + \fi + + Please send correspondence to me at the + \ifx\w@rkadd\empty above address. + \else following address:% + \halign{\indent##\hfil\cr\w@rkauth\cr\w@rkadd.\cr}% + \par\noindent + \fi + However, please send the Publication Charge Certification form + directly to \pubadmin . + + Thank you for your consideration of this paper. + }% +% +% Macros for thesis +% +\def\university#1{% + \gdef\@niversity{#1}% + }\university{}% +\def\thesisstyle#1{% + \adddef\styleth@{#1}% + }\def\styleth@{% + }% +\def\thesis{% + \let\pred@c\preth@\let\styled@c\styleth@\let\titd@c\titth@ + \let\frontd@c\frontth@\let\endd@c\endth@ + }% +\def\preth@{% + \abstractsignedtrue\fr@nttrue\abspage + }% +\def\titth@{% + \endpage\p@gefront\fr@nttrue + \vbox to \z@{}\vfil% + {\cp\centertitle{\t@tle}}\vfil + \ifx\s@btitle\empty\else{\cp\centertitle{\s@btitle}}\vfil\fi + \centertitle{\@uthorpre\@uthors\breaktitle\@uthorpost}% + \vfil\eject + }% +\def\@uthorpre{% + by\breaktitle + }% +\def\@uthorpost{% + \monthword\ \the\year\breaktitle + }% +\newif\ifs@gpage\s@gpagetrue +\def\frontth@{% + \let\n@llch@pt\g@bble + \ifcopyright \copyrightpage \fi + \ifs@gpage\s@gpage\fi + \abstractsignedfalse\abspage + \ackpage + \contentspages + }% +\def\endth@{}% +% +% Macros for reports +% +\def\price#1{% + \gdef\pr@ce{#1}% + }\price{A08}% +\def\reportstyle#1{% + \adddef\styler@p{#1}% + }% +\def\styler@p{% + }% +\def\report{% + \let\pred@c\prer@p\let\styled@c\styler@p\let\titd@c\titr@p + \let\frontd@c\frontr@p\let\endd@c\endr@p + }% +\def\prer@p{}% +\def\endr@p{}% +\def\titr@p{% + {\normalbottom%\baselineskip 15pt + \specd@c\bigskip\bigskip + {\bf + \centertitle{% + \uppercase{\t@tle}% + \ifx\t@tlefoot\empty\else + \footnote{$^\ast$}{{\rm\t@tlefoot}}\fi + }% + }\bigskip + \centertitle{{\rm \@uthors}}\bigskip + \centertitle{{\rm \@nstitute}}\vfil + \centertitle{\monthword\ \the\year}\vfil + \ifx\c@ntract\empty\else{\rm\noindent\c@ntract}\bigskip\fi + \ifx\r@portprice\empty\else{\rm\noindent\r@portprice}\bigskip\fi + \supereject + }% + }% +\def\frontr@p{% + \ifcopyright \copyrightpage \fi + \abstractsignedfalse\abspage + \ackpage + \contentspages + }% +\def\endr@p{}% diff --git a/macros/plain/formats/psizzl/symbols.psizzl b/macros/plain/formats/psizzl/symbols.psizzl new file mode 100644 index 0000000000..ebac724b21 --- /dev/null +++ b/macros/plain/formats/psizzl/symbols.psizzl @@ -0,0 +1,59 @@ +% SYMBOLS PSIZZL - symbol menu for TeX 1.0 +\let\itemTeX\item % make way for \item macro of Psizzl +\font\fourteenss cmsy10 scaled\magstep{2}% +%% use the following sub-set to print the circle R as a +%% superscript followed by a little space. (TM for Trade Mark.) +\def\TM{$^{\Registered}$\kern.6em}% +% +\def\Registered{% circle R + {\ \unskip\hbox{\hbox{\mathhexbox20D}}% + \kern -1.85ex\ + \unskip\hbox{\raise .07ex\hbox{$\scriptstyle R$}}% + }% + }% +\def\assert{% assertion relation: kern ^ and - together + \mathrel{\mathpalette{\vert\mkern-8mu-}{}% + }% + }% +\def\pslash{\not\kern-.20em p}% p with a slash through it +\def\qslash{\not\kern-.15em q}% +\def\bra#1{\langle #1 \vert}% +\def\ket#1{\vert #1\rangle}% +\def\braket#1#2{\langle#1\vert#2\rangle}% +\def\VEV#1{\langle #1\rangle}% +\def\lsim{\buildrel\sim\over<}% +\def\gsim{\buildrel\sim\over>}% +\def\parder#1#2{% + {\partial #1 \over\partial #2}% + }% +\def\parparder#1#2#3{% + {\partial^2#1\over\partial#2\partial#3}% + }% +\let\tie=~% +% the current date, with month in script +\def\monthword{% + \ifcase\month% turn the month into a string + \or January\or February\or March\or April% + \or May\or June\or July\or August% + \or September\or October\or November\or December% + \fi + }% +\def\ie{{\it i.e.}}% id est +\def\eg{{\it e.g.}}% exempli gratia +\def\nb{{\it NB}}% nota bene +\def\sic{[{\it sic}]\ }% thus +\def\vs{{\it vs}}% versus +\def\etc{{\it etc.}}% et cetera +\def\apriori{{\it a priori}}% a priori +\def\perse{{\it per se}}% per se +\def\awk{{\sl [awkward]}}% editorial comment +\def\bothmodes#1#2{% + \def#1{\relax\ifmmode#2\else$#2$\fi}% + }% +\bothmodes\\\backslash +\bothmodes\bull\bullet +\bothmodes\astr\ast +\bothmodes\crcl\circ +\bothmodes\micron{\mu m}% +\bothmodes\{\lbrace +\bothmodes\}\rbrace diff --git a/macros/plain/formats/psizzl/thesis.psizzl b/macros/plain/formats/psizzl/thesis.psizzl new file mode 100644 index 0000000000..92cfd8512c --- /dev/null +++ b/macros/plain/formats/psizzl/thesis.psizzl @@ -0,0 +1 @@ +% THESIS PSIZZL - please use THESIS PSIZSAMP as a model for your thesis! diff --git a/macros/plain/formats/startex/INSTALL b/macros/plain/formats/startex/INSTALL new file mode 100644 index 0000000000..97dce6e8db --- /dev/null +++ b/macros/plain/formats/startex/INSTALL @@ -0,0 +1,75 @@ +Installing StarTeX +================== + +To install StarTeX on your system, you must do the following: + +1) Extract the various source files from the distribution file: + + tex startex.ins + +(This command reads the file startex.dtx and extracts startex.tex, +startex.lan, article.stx, a4-article.stx, ifi-article.stx and +ifi-artikkel.stx. It assumes you have the file docstrip.tex available; +this file is part of the standard LaTeX distribution.) + +2) Modify startex.lan to load the hyphenation patterns for the +languages you intend to use. (The standard patterns are American +English and Norwegian which may not be your ideal choice.) American +English should always be present as language no 0. You add language +patterns by adding lines like + + \DefLang{1}{norsk}{nohyph2.tex}% + +The three parameters are: (1) a unique number in the range 1-255, +(2) the name of the language, and (3) the file from which the +hyphenation patterns can be read. + +3) Make a StarTeX format: + + initex plain '\input startex' '<make-new-format>' + mv plain.fmt startex.fmt + +This produces the format file plain.fmt which is then renamed to +startex.fmt. (The commands given here are for Unix; your system might +use a different notation.) + +4) Place the format file where `virtex' can find it, for instance in +/usr/local/texmf/ini. + + cp startex.fmt /usr/local/texmf/ini + +5) Define the command `startex' as a link to `virtex': + + cd /usr/local/texmf/bin + ln -s virtex startex + +(Again: this is Unix notation; your system might differ.) + +6) Put the .stx files where `virtex' can find them, for instance in +/usr/local/texmf/tex/startex: + + cp *.stx /usr/local/texmf/tex/startex + +And that should be it. + + +Documentation +------------- + +If you want a commented listing of the StarTeX source code, you can +make that from the startex.dtx source file. That requires three passes +by LaTeX and use of `bibtex' and `makeindex': + + latex startex.dtx + bibtex startex + latex startex.dtx + makeindex -s stxind.ist startex.idx + makeindex -s stxglo.ist -o startex.gls startex.glo + latex startex.dtx + + +Note +---- + +Some operating systems have a limit of 8+3 characters in file names. +Users of such systems may have to make some small modifications. diff --git a/macros/plain/formats/startex/README b/macros/plain/formats/startex/README new file mode 100644 index 0000000000..ee7cd68c81 --- /dev/null +++ b/macros/plain/formats/startex/README @@ -0,0 +1,54 @@ +StarTeX +------- + +This is the StarTeX package, a TeX format designed to help students +write short reports and essays. It provides the user with a suitable +set of commands for such a task. It is also more robust than plain TeX +and LaTeX. + +For more information, see the documentation files mentioned below. + + +Files +----- + +The following files are included in the package: + +README This file + +INSTALL How to install StarTeX + +startex.bib The bibliography necessary for typesetting startex.dtx + +startex.dtx The StarTeX source file + +startex.ins The StarTeX installation file (see INSTALL) + +startex.pdf The typeset source code of StarTeX + +stxglo.ist Glossary definition used by `makeindex' (see INSTALL) +stxind.ist Index definition used by `makeindex' (see INSTALL) + +guide.pdf A beginner's guide to StarTeX + +ideas.pdf StarTeX -- a TeX for beginners + The talk at TUG'96 describing the ideas behind StarTeX + + +Copyright +--------- + +These files are in the public domain. This means that you can do what +you like with them, but I ask that if you redistribute modified files, +you clearly indicate the alterations made. + +These files are provided in the hope that they will be useful, but no +guarantee is made. I will, however, strive to correct any errors +reported. + + +Oslo, 11th March 1999 +Dag Langmyhr +Dept of Informatics +University of Oslo +dag@ifi.uio.no diff --git a/macros/plain/formats/startex/epsf.tex b/macros/plain/formats/startex/epsf.tex new file mode 100644 index 0000000000..9b2817970d --- /dev/null +++ b/macros/plain/formats/startex/epsf.tex @@ -0,0 +1,193 @@ +% EPSF.TEX macro file: +% Written by Tomas Rokicki of Radical Eye Software, 29 Mar 1989. +% Revised by Don Knuth, 3 Jan 1990. +% Revised by Tomas Rokicki to accept bounding boxes with no +% space after the colon, 18 Jul 1990. +% +% TeX macros to include an Encapsulated PostScript graphic. +% Works by finding the bounding box comment, +% calculating the correct scale values, and inserting a vbox +% of the appropriate size at the current position in the TeX document. +% +% To use with the center environment of LaTeX, preface the \epsffile +% call with a \leavevmode. (LaTeX should probably supply this itself +% for the center environment.) +% +% To use, simply say +% \input epsf % somewhere early on in your TeX file +% \epsfbox{filename.ps} % where you want to insert a vbox for a figure +% +% Alternatively, you can type +% +% \epsfbox[0 0 30 50]{filename.ps} % to supply your own BB +% +% which will not read in the file, and will instead use the bounding +% box you specify. +% +% The effect will be to typeset the figure as a TeX box, at the +% point of your \epsfbox command. By default, the graphic will have its +% `natural' width (namely the width of its bounding box, as described +% in filename.ps). The TeX box will have depth zero. +% +% You can enlarge or reduce the figure by saying +% \epsfxsize=<dimen> \epsfbox{filename.ps} +% (or +% \epsfysize=<dimen> \epsfbox{filename.ps}) +% instead. Then the width of the TeX box will be \epsfxsize and its +% height will be scaled proportionately (or the height will be +% \epsfysize and its width will be scaled proportiontally). The +% width (and height) is restored to zero after each use. +% +% A more general facility for sizing is available by defining the +% \epsfsize macro. Normally you can redefine this macro +% to do almost anything. The first parameter is the natural x size of +% the PostScript graphic, the second parameter is the natural y size +% of the PostScript graphic. It must return the xsize to use, or 0 if +% natural scaling is to be used. Common uses include: +% +% \epsfxsize % just leave the old value alone +% 0pt % use the natural sizes +% #1 % use the natural sizes +% \hsize % scale to full width +% 0.5#1 % scale to 50% of natural size +% \ifnum#1>\hsize\hsize\else#1\fi % smaller of natural, hsize +% +% If you want TeX to report the size of the figure (as a message +% on your terminal when it processes each figure), say `\epsfverbosetrue'. +% +\newread\epsffilein % file to \read +\newif\ifepsffileok % continue looking for the bounding box? +\newif\ifepsfbbfound % success? +\newif\ifepsfverbose % report what you're making? +\newdimen\epsfxsize % horizontal size after scaling +\newdimen\epsfysize % vertical size after scaling +\newdimen\epsftsize % horizontal size before scaling +\newdimen\epsfrsize % vertical size before scaling +\newdimen\epsftmp % register for arithmetic manipulation +\newdimen\pspoints % conversion factor +% +\pspoints=1bp % Adobe points are `big' +\epsfxsize=0pt % Default value, means `use natural size' +\epsfysize=0pt % ditto +% +\def\epsfbox#1{\global\def\epsfllx{72}\global\def\epsflly{72}% + \global\def\epsfurx{540}\global\def\epsfury{720}% + \def\lbracket{[}\def\testit{#1}\ifx\testit\lbracket + \let\next=\epsfgetlitbb\else\let\next=\epsfnormal\fi\next{#1}}% +% +\def\epsfgetlitbb#1#2 #3 #4 #5]#6{\epsfgrab #2 #3 #4 #5 .\\% + \epsfsetgraph{#6}}% +% +\def\epsfnormal#1{\epsfgetbb{#1}\epsfsetgraph{#1}}% +% +\def\epsfgetbb#1{% +% +% The first thing we need to do is to open the +% PostScript file, if possible. +% +\openin\epsffilein=#1 +\ifeof\epsffilein\errmessage{I couldn't open #1, will ignore it}\else +% +% Okay, we got it. Now we'll scan lines until we find one that doesn't +% start with %. We're looking for the bounding box comment. +% + {\epsffileoktrue \chardef\other=12 + \def\do##1{\catcode`##1=\other}\dospecials \catcode`\ =10 + \loop + \read\epsffilein to \epsffileline + \ifeof\epsffilein\epsffileokfalse\else +% +% We check to see if the first character is a % sign; +% if not, we stop reading (unless the line was entirely blank); +% if so, we look further and stop only if the line begins with +% `%%BoundingBox:'. +% + \expandafter\epsfaux\epsffileline:. \\% + \fi + \ifepsffileok\repeat + \ifepsfbbfound\else + \ifepsfverbose\message{No bounding box comment in #1; using defaults}\fi\fi + }\closein\epsffilein\fi}% +% +% Now we have to calculate the scale and offset values to use. +% First we compute the natural sizes. +% +\def\epsfsetgraph#1{% + \epsfrsize=\epsfury\pspoints + \advance\epsfrsize by-\epsflly\pspoints + \epsftsize=\epsfurx\pspoints + \advance\epsftsize by-\epsfllx\pspoints +% +% If `epsfxsize' is 0, we default to the natural size of the picture. +% Otherwise we scale the graph to be \epsfxsize wide. +% + \epsfxsize\epsfsize\epsftsize\epsfrsize + \ifnum\epsfxsize=0 \ifnum\epsfysize=0 + \epsfxsize=\epsftsize \epsfysize=\epsfrsize +% +% We have a sticky problem here: TeX doesn't do floating point arithmetic! +% Our goal is to compute y = rx/t. The following loop does this reasonably +% fast, with an error of at most about 16 sp (about 1/4000 pt). +% + \else\epsftmp=\epsftsize \divide\epsftmp\epsfrsize + \epsfxsize=\epsfysize \multiply\epsfxsize\epsftmp + \multiply\epsftmp\epsfrsize \advance\epsftsize-\epsftmp + \epsftmp=\epsfysize + \loop \advance\epsftsize\epsftsize \divide\epsftmp 2 + \ifnum\epsftmp>0 + \ifnum\epsftsize<\epsfrsize\else + \advance\epsftsize-\epsfrsize \advance\epsfxsize\epsftmp \fi + \repeat + \fi + \else\epsftmp=\epsfrsize \divide\epsftmp\epsftsize + \epsfysize=\epsfxsize \multiply\epsfysize\epsftmp + \multiply\epsftmp\epsftsize \advance\epsfrsize-\epsftmp + \epsftmp=\epsfxsize + \loop \advance\epsfrsize\epsfrsize \divide\epsftmp 2 + \ifnum\epsftmp>0 + \ifnum\epsfrsize<\epsftsize\else + \advance\epsfrsize-\epsftsize \advance\epsfysize\epsftmp \fi + \repeat + \fi +% +% Finally, we make the vbox and stick in a \special that dvips can parse. +% + \ifepsfverbose\message{#1: width=\the\epsfxsize, height=\the\epsfysize}\fi + \epsftmp=10\epsfxsize \divide\epsftmp\pspoints + \vbox to\epsfysize{\vfil\hbox to\epsfxsize{% + \special{PSfile=#1 llx=\epsfllx\space lly=\epsflly\space + urx=\epsfurx\space ury=\epsfury\space rwi=\number\epsftmp}% + \hfil}}% +\epsfxsize=0pt\epsfysize=0pt}% + +% +% We still need to define the tricky \epsfaux macro. This requires +% a couple of magic constants for comparison purposes. +% +{\catcode`\%=12 \global\let\epsfpercent=%\global\def\epsfbblit{%BoundingBox}}% +% +% So we're ready to check for `%BoundingBox:' and to grab the +% values if they are found. +% +\long\def\epsfaux#1#2:#3\\{\ifx#1\epsfpercent + \def\testit{#2}\ifx\testit\epsfbblit + \epsfgrab #3 . . . \\% + \epsffileokfalse + \global\epsfbbfoundtrue + \fi\else\ifx#1\par\else\epsffileokfalse\fi\fi}% +% +% Here we grab the values and stuff them in the appropriate definitions. +% +\def\epsfgrab #1 #2 #3 #4 #5\\{% + \global\def\epsfllx{#1}\ifx\epsfllx\empty + \epsfgrab #2 #3 #4 #5 .\\\else + \global\def\epsflly{#2}% + \global\def\epsfurx{#3}\global\def\epsfury{#4}\fi}% +% +% We default the epsfsize macro. +% +\def\epsfsize#1#2{\epsfxsize} +% +% Finally, another definition for compatibility with older macros. +% +\let\epsffile=\epsfbox diff --git a/macros/plain/formats/startex/guide.pdf b/macros/plain/formats/startex/guide.pdf new file mode 100644 index 0000000000..04ffd5ac1c --- /dev/null +++ b/macros/plain/formats/startex/guide.pdf @@ -0,0 +1,6121 @@ +%PDF-1.2 +%âãÏÓ +2 0 obj +<< +/Length 25069 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;Wj<?#Lb(%INcdMLE-`d!CG:cc8(i;[52,^]I]Tc%De4M?@4t<FcpApH=;eft5j6 +Mms%_.rp@aINEO%?;45p,Wa!AlKo;O,&Ihbci<:AoJ3leQBLC2itUY1l,gE<idCXh +F;^AUFM>>X?6?oWGl6a&qjY3U9<%=JlMf&_\+m;K_i#%D5MdF<gqWa]iSoWnn##8L +e%[5l^50ICWV/_pF7!ZjOI354e'f,^PJ>@^HLb_Jn*+2oiQmFKoDRLCS*@nuq%(sG +(Xr+TUo>si\YcSr98',[g0@gfhlfmh$;?]jr_>OdeP,o>b/,>?Oc&bBGtOb_Z-T93 +''jq8P/u(Z3$\/XBjPPE9>P,?318rm&.ShQ)TU9l<b:-`@p)-RoW"Hm`c^Zg8WpN' +X_fM4'/rfbg;ia[pa/.?41"m3HFnI_$BF$e<,d!L-.<?Ma`+79@Y7m)O](?DG?PQQ +'lKl9G&QP4Q@tWDnpJ$l"%s>>dq[X_[42%(:#>)[d_D?Vmr.d7^,,Z44RMPK4jA98 +WjX3'>t(\2<#DBAR#]fIK:J:R'S/_)9?mr'>TMuR02dr&+V.X@3t(nRd^nKbgUXc, +<:o=7-dB^ArS./Er['kr40sG*WbZQTld!rkJeW@,.2sL`P9LM'l%H@A:,@ZF:$O\k +YTP136b^^k:,/q'BjN12`9gYgr3MX!1hi9"d(Z'3f8'.*m`bO@T<<`o!m#n+hr<O; +B`)6"Yf%s]^X;oLbPCfA@K$SZ5[ChV,Z]:"$(/eH;%Jr<FAu3qRUh(O3j-p\*4$1a +NDC.Q9!NgR.;lU`4Vp6D0`m+;8HD6e503q'LFLtpSEHJ=g0gB#4ruepr-J506)%;: +-kX3l[$j"We!H)X0p8F\XhKbS!lY>.3lG0h<?G1X$F4=ogU[$d,_g3%2d0#R\+B:g ++[2thZ[VA(.f_\-:Tl)f8+i;.J&Mb.8TSc\a^kl8)d^XAf,m#\qVfJagNO`'gt_iq +6nW4:r!IVnLYGVnI_+Jll\G@u2T+%%qD.'p2IAV"L0+*cQhg.5m`Nh+5Y03ILHt"t +iVCIC016<bl[1*[5%EQ^S"i*PQ)0\`s_I<bJJQ;?\]?f$1?4oY0HSNVLKS_&/S +@h_-OAKafl;ZU=uYdfHChZ)s!]JMu/0'hKa64_ZaQfZ#HOq/.,E>m48L1*DCeb&kM +_uDHg'3Z?oqc1ee=<0ekJRXB,7`039Q+H[D;/\i)8TDB;qtkME.2"7%K$n4NJFNt? +5>DQN)/E-/Nr#3KR7("#->6<L5R%[>NYoI_]:a]'j"(2oMR(h:<'o[R7[ON<ND1k= +@K$IiZKk*?7YV''C+(i'j##\q<89a>?pLH)'fCSiL)dIl9^l5%!TepBJBWW&W6e98 +g^Si_PuU!UL]XMln;.a1akH*!9cSsCEX6lJ"(aDaT49$\AYTuG:.8"e4U*9WfU^F8 +GYXCSP3='dEJ):H%Dd+1gsPTB[QuB+"K*G%oIp7p,brIY"JeI0$1uKb2onjbM$5%M +p0'rhW`b2;ntd/p31+nl^\BWo>iTO3^lX.6OYA.F"IV7R?8p%gOKm3rQ,=S>49>i" +edS!^H_X(M#N_J+ksL*fDX/t4(c8Q/0WFG]!tsAoL5(]EhADbk`R$<?r6c*Bm.TkI +Kco]4!PZoe_fc5RJEeG:F-%]CSW&+F<_\g2@(L"4%YoInn1VT?#+V!2h!kI,.M3,s +nmr)aD6)_gn.U0u(^[D['NS?O6kl48`P&k`#$;W#BQF2D$k!'uN9a?9=_Fd,_AiF4 +&UQTL;R%;XWdgMZZ&V--(82<Tj$-c8@MF9_-lRXWOtiJP+k'dF()NqW^P-P-YZ43j +7[f%bZ`LqHei$&/MpITF+>Uf^J/Q@s$r0HtZjIZQ_H>)6(1^!%';1<frsjVj`=>2? +\5PXCl&o2#=N#!_>"JG0_\fVNd]DXaJc4!5$X+/9fFbOXe^K5nPq=n#Ofee5*[LOc +[PZ%5:ehYu3g8thN+%PN%?4-(K,[-r"I99Z?/hq39X/PZ($KTBnNq>3KE)"FJ`t$/ +(p"JlqLf8LTILM[a>.4o+F'TD`p/hiLYL4UQ1_j.>esMHBFQlae6QD5,_X8(049tR +YS&5o(tqt7YUJ!Qh[sX=l$:NtV$39;IX3+M2PXh>EP^[\Xka%c)Xeot#brbG3&L+m +;[7Ilm%L'ci".B&]9@SMj_7)XRh_;OT.RZHP8g4`Q92o'R"7]>&1bP7hFonCYV4EJ +lNo62aR9NA(90`>7cV,/,VlU3fW;-M>+]A\_S.')blkUgoK!Qh:<i5T:-#R@BPR6S +&,)]/>1pfl7[/[2ObN1t7&Ih?@2hr9*f:5A<_H7h#"(b^rH\0iqR4t6r)2_o:eV*p +&K$o9K*(`ibpG/4_$O.d\;3EQ6W*Q>"2mApWu8o#*&0/R%%lq?T\4(F@i-MQ08?c4 +1C[j+k&h)B<!N$.+p_;R9a=!dX[1UI]O2b6/Z`ooK^:jYNiKWn1o`.P&RU(udo?hX +SF.dPUMW?7r9EeS#Go8=+i#8?>S]d8fk\[RDg"L(9Io<)Nl*>\`o3p/+6<n[BXP;k +iul]`l,Vq?Q0_?Pm6/ju=(UeX%[K+SZnu[#AU?iaX3X=a=Kj?]r)<_9bEK/`kSq;L +_@]aX)]?fG*sl2N87sY%=Q5tO#(qU.ZJius[VW>)ZF4KjC/esjE4B&4PBdg`=2.UV +e:r',N\,=Vg;bEpF'=*+4-Fd"B'6O1__1I&d#iYTa!"19c:;N)K<#6/9,!C@En(0S +j"^GB#hfN&Z(^@_8U^/QcLssY^Vf'V-83\NXF\*%>LVhX[J':8A0X<W\KP-t]r:5j +/N6on>'9Y4D.ug;\qElb3]#CrOe5P<b33QunklsTNj+8jN0Bt`8i]Er5_ONV1MWSn +k#)6d<.(1\[(2pJ=UZfT'E]_o9IJJei>[?;FCQ8RA,@ak+kXA/%1.<TW7/2USR)JT +J4!'g?+?TYk\@;2IGfE;3a*Z9,mUoRQnHb-D\-DQ\%@ccbq4AcFB=mK@oh/.`Bp:W +!fYG("Q3p@6Ft3"MUP\3/LssdgthSJ4L,j@WFg$MDlQV20@n51rE$t5CZh&^s)oJk +/-*r?rm(H2i!0u:#83afkIV[>i+>>tEM6H@mKrN>94d*>0&14I7o<C1AlNCgqdUU> +<AqYi#C>6rmW#;]pW`6Hag<YejW8HP<lB7VRd4tLfgF*Y#'FrKEH[e\0[!rGI[/&: +eb3`_osb]QK0Pqe])\pQ%lq)3kh0IKkP^hN/\Ye=jR7?Qm#5bpf0A>8J4JdmlZ(b@ +<j\/QSiAe^=1O)+>%nTD;NL/3%^&>'7f;epfGTNDbj@+pKS&i]ZVrY:qkZgd4.[9N +'3D/gSH#g!--=E=8oXf*i?L08S4?e/lNlDIc_7"9rn^6JU7oTNXD0Wmrd,)mQJ,`U +;I1]iK0-,Ul0JoHjLXRYWFT[*[P"2<(OHC2jN!*rd[EXqH/(SF<7WWZ)WquO\r"j[ +Y*$>g`rQ0RlX0Aq9pX[P9MBkh?$iL4\<8tuGlS<LfCr@b_qtIPB8UqIk61MRp[8TI +R5XdLV$V<7qYGR+YEB5eV2b^)/U)[15[qs?N'Y?e[Jmo]\f#)YH&i<0P<5:d%dEJb +Yntj=.0-oE^k&S46umfh$1k/N)EXZ/9)e&g7>#:J."M!SmGsdE'TIhM2mG+5T6D'0 +18B]_-\'=l]FLI8AEO#6QBmni8sejA1r<]L;2sM'frIkQHl[FJ&s4T!=<!g"&Yd+@ +=WoMc\<CpqbY'bDSI%k@9Ep*ED#0<2WEPK?q*gVoinVZ<U%0@JB^0D;B?g`a2\3+u +oc!XG-$Y6>O,gbh!-;=o?tX5i@Xm$bWE$RCjG^;pE9+0L]HU32NdQNt;Pcjg!3A_u +KlH,6KFuQ<#P?($$gWq]eqF/>lPU>8C6ITtKl1toMRYMj#qC?sF'5LUZ^@*E\:K5O +2'NGb9+rn7L8(6=iMT-W3D_paLcu9T'FP'#<LfUHh#c6b_5B&8$&BT_b)WQS.]IBn +Zk<VH2N;unD7H%?o8<>mj<^MTGaFbV]!=Q9/5Sscp<XJZQW#)593atU]EGUnbR-ee +lo8:2-T#dP7Y\%>YbT#?46d!ONE+EJ\1ne$8=;KpB\dlOg7X_MF\D,Bj`#NJ6ecG_ +@TC$G+*Dot'OI^qr2)G!&VSmr\`In"FA_oJ:/_HHRR"`?bB4UH<4Dj8,lU$:'>@oM +``^<,5mA$-5YA<qFh/;[[M,"fgm0rCKh3T8nA/[>V)\B@&m3^oVb5<05FJ_hL/VYM +\\`[UXtM$Y>l+m4$Fo2T]4<djOH#U&%G.Fm-fRAuX4t!U4`u79]3f5cB-MUKo5,+c +nr'85FV*uG?7U_(Sa?ChTrnBGjs(\Qbh8_cp>&3dhUi\u^MF4^d%EV+kc76Ic0gIT +M9'@OT8FERGKm8o"J]1^/rG)LH;?FB&`\BORW`@b.tJd0l6O.V;SA"ociT>%'Q!D* +Vcu"^!a%:V9jM./r4U--*2q,t3'r-SR->c17+Ja],?0aRPK/5g?-^\CBoc5%pf2X! +<j%4HoI>%,E%hpJSqEo7NS!+h?d6TG#-97_.8>2Y3S)ehp9lZk*p6+&Hl>Ah,^,2+ +^_hguYE,5$<CoBE.6l.3G[]_=h21fcoRt$ESA9BhOU64W^`LCNDhuP%e8O^g@RMm[ +f/)61nfutRLYiu/f`[`TAi&jaG@97J(:imJ(H\-tEi-X!HiT.[N[C;.%.I&mMYp[? +PM&Psh+W$Ne]>c@SkF<OYZVQY"ph[rjQK)78ur#OL3ZV?2Xl'YTi3GH\b@lGl0`2K +n268BIo@Yu#PGE*e;^s_4\":;Xp@^,3Nj(?.%VZ#&l$DA.P@JhCB/M!._MgoX@gP8 +B"PR0#o?^5$OmJIO7n55m)[[t!dSn\:F68DP%Ht.($eO_s/&!FM@q_bPuJ\.Dg+Q[ +<mU-*3+$[!!dUN@%0TB6/CmD[JdOc;=Xu*#!U6Zu-ZaT%Q$et_T&fSVT[HM"1USeh +##-\NC"*kj?:iB#^1BG1^KWO&c]5+s!M5slCs_Ih/X7ng$_`m^;9s\:<&qt)/J+Ti +c'EUa$[8V4T'.q$J@N<G8L!Su@0;t<2ON(K#XStF&.92E&Cc0!AQ%+;psO80P;p:@ +MZBEuc8WBMn2C6iAB_<]`I`D;)l6-S/X,"OD[0#)6k7*QHC6o[W2OO[IWqq9Ed\@g +O@$aopUDIF'b567l%QOW,sS+aRO(1:S*-:8*I7"YC^X5rr+:eU3qMfE1sH"[BEhZ* +.Z-!)P*GT<QbV("XP\8h^V+r,1#MLHFTReQ$Nh@4$u=#0?_%`K61%T?8u8k-H^!Cc +OfJ-e![>gRrOO3D[:MMPAB:+?luRY1?"8gMf$*c)9J>677aps4j3[jdES65p=dK0_ +cr+&)q"AZ;A^-8UZ7's20!UnRTC)KF]/Igs&^Zn(=JCc*4LK1^icHZ1aKHW7BT8OI +]V::[f,7\R2ES3)Gm6tTlXb5Zi\$fG/W)0M\gbVu%QKr7]uffCWpN_9gMXGmD+INk +FJJAdXeVJ?=A_^7C0(ajd(=K?B<j[(#p:57.1Tu`GM`^;Y<F/<]0us7<$aR*U8'#Y ++mk[;0FSqci"dpoG/V(HjJNMhBjoV^"thVOmIZQ.nb4+ZH4-C%X#69>$)"$@G]AWQ +\)`n.&8q_(p%blaH&]#aL)0%?n!f7A/E"XZc3T'<*@ja8dSJs^At4,&igTtb2M`"6 +qf.Ful`RYL`Wt@3agDSPn%[KLk("iY"]5'HBAsG(QjhFiY`Ng@iRWW'b4Mme'L-Cs +3^Hhdgs"/P#"=VNffRN(D+fC!5o$'^m7sh_4RV[D1%VDdGHQ+J\&QS!U?#8OHEMVP +WabEfJ,FTE@YGiS:'KC>4T3\C?V?U<aF5f[-r'NEn%`kD26a.CHJcPgW-mBl^7kh: +?'7U&%5ZFg/"VL/6Wj_`8Soo3Zl8mZ]Pm=ocZ<j+;[(n;&E2%kIeB+\!"A>/hFs's +3d57#a$D)J[g="Y$7pQCk/_G'+<`$Kb7Q;898#*+Hh\TnfjR=gP6Tjn%-b)*I.]u= +Je;Q,W,"R>YMUB@2+hi:'Xc;$hcf;)LAh*]lAg"]o'-oT,Kuc(TOQ%==C6K(SY5VV +!AR,?/=ema18%5?$F8caA`<be/Gk&Uc/31a42f4KgZ]XI"!AQ$?=cq&\8h;U$<UYr +0<1.?#r`lcTW4onY@n=S-i.E]5XeaIn$!BLCrB1aVt+X<#g8`*86XpO+]8[8nVM]u +GNac:j+C!Ug*,;C"tZ9g&)&Gq=1Pbd&^"RAYL@cXp!\n%!)W,+Y0dfk;Ojt$33]e0 +ibGul'qh=jO"5dI=LTg<WZ#5`@!`3r.`9b/.+UYjJ(F++Y5#jqON#a`@_i_lrUJn_ +5VKqC-f=rF9/bro&B9Hed;Ia;'r-FpZb#(0ctmb1Z@Vp'?7t0?cZ^]*Ic0\+L!Yb* +NUjnIX.)p<eT#XnJ%G+V@a%09N[Ts]0<l+43:FL%B+UV1DJQd<W6Tk1VINiMRb/Md +*%tJT9:GOb2&Mo%*^8.3_FVsL[+5'RQQF4`(nF&qkeNUIfk66QUL1J_T^QUM,)FWM +T@+9O`fP^mkD7aDC86hdm++J/jE&,.Y>Eud7"SuQ>F0_u<=J]IiQ66*5U+1@WT@7r +#ZXIT8%Ip&o?W*g5'7MNH]4%FokHNF7*np[a,eYp=Qss=Us>#71]*(jm8je6hmX[P +-C1_-KdQ@07QeCEA%bcfOfD!P/l/Muq$(9i+"plj&DMsgh0#9`!#\(KZ<LIM#/[q] +%h-/*:/o.gD-t`Hc(b>8=S$P=9'6D6U0b9,C7(+h7u!Y[@:i+`T'6+j$96Q+EJ3Wr +gq/`-'=<"Lj-EFco627i+`'all:1Ql.g1a6I[GC@.T+otO:*?q#4S/-SQ:8kn&s.S +'b;"X)X=IZM?:ihXCT'XjARmli9;;(;/>-EC*dJiF$aE-^M]f4B77c5:$JpSj#T'$ +BD6`P+*r`4/al4B*_/R`4T_nRINp?%5I.=0acRPIqYQ.q_$'5e4_(RgFVUV-D]W:d +WQ.ne@Z_dn6mbJBbuPfWM'!5gEW,9+7''Ig[on,f:4@@^rNcAfRH&'QC?'W;lkTHX +Hlr_E^??)"SQE,h_*dt.U8D6S6Nmsp$X6+u(eBd7?E^72;`)tEq9csT@(mT%c*a9P +6'Xk`q:9^&I2-c\\Luj>@M'>q#EK8Id7r6j4::Y!L\Ms&C!'N=rMNgV>6<mt18#U2 +#Lt6GqJaA0fG<0>\s!>F19tY8eI>Q&MH]'X=QC@[W[uk,!0*ne`H]D.QC3-L\V"g/ +s"A,WIG+TDjO)XgJ;@UKDQ@*\lMCpK,abXV]75(#?0lpXIPm:ef(enoElS+'.ME\& +.tTd=R?_GI4+r_-kBYe4DXNmu@_IO1,0_Kn=D9sO5O]m4'<@]M0DO+/e^^"1(]qKK +g#.6]Z(#<r[jblniL>pje3e3J?W[4nUcgpb.<b@S;f_0KI%TmKR("OUmQWQMm+OpR +e`B.-Lau.^m,]/M$5@;R,LOK-s0lT\BMIou^7cG6YbH/J15:!0;(+ZpgS7!\*K$Z_ +b5!UA=<J&u+X4mko3!s/VU3mg3G5llYM+5.)a<]]Q+mNf#8U\p)X]j+J7][<FtF5N +0[-Q<MtR<W6#>\2:1dB5"4CF$Ob(th:<EEYNVst.eW^A`SS%O>*Qh6jA^]6S<HK=E +K7AY;]/X3i7#/IQBe!g[m2;(aLQoU9e'tf`POc/1a&]&+lLj7<23/l<n*@eqXkc/O +<XJVop4KtLS%X5<]nP[h#uNe7AmMk"W,\^nL:25I=UjN]%'p36E`D=fq%Kcu?q:C) +Qt6077b'kiB`_LJfkg7NVVr'^l;@.WG-jMp&+\pK5"O)bqOjT:lhGU:XK\g(9DdQh +c.\$RH5.S?q<DK;DTp<3ka4\:35c-?B47Xf*<UjNGTf-B@sLFdlm:B-;C'Jqd'0eN +c\;P^SOIU=L7$O@LCBMJDLs(m:62Hm$t?%lPEanj7@G9]^"Qep"pBjM_!`EdNBrGg +QFq)B$%))R\"t<n5Sb9Cb!ap3DGH'>G+U]bl',/piR/D3;,bU[JO_Sl.iWs&hg1F? +mdgQd,fto_+)b@8`E^Z+7=d!j"2M(bmYhNBP@4-4O^,XeAUl0UAf5M.FZn^mH_-Ae +e0$6o;eALUV*45I$[Z!#Eb2c)9Cn7;VsL<q6HXIt#(Dp#s&V-rYT99YNGtuN1T%`B +PjTu37Z2nO,c"Ce5VQG&a.q.s-9o2`$/9N;['/mfNNXe@8=HO4.Dq17iX-,'f_P;A +3OcEU*MWb39J_rYe>O[bX[4<:/WZkN?B5\,aS'nD(15SV,C>Bd3l<T;_8#JnZ]15i +mYF`m[t-?ca/GdscQ2"]#:GSef[0O'c!&c=&B+EYhD'U]W'4U10"@7GAk'VGqeJ]S +;e@p7dQm+@N[`X6,&qR:qLmeFF?IS]_((*t,9V3hbIQU8LV#r&MIdCd*Z<haBT&&u +-=,Ht7>X$)X3XJ]PAWmBQA9D5-e]Vad=mPYn,TZ&IbAS.00EdLdcO9Nien'Okn$nD +Noj1^G1=p5A/_3e"f>fW'm/"lko9ejMICE<dgR_%:I&X#(XWZn!SV+=(S]aXb7.OQ +02YkL3_9%]m\f$tfob$A:mp&@h&SeSWc9<u%EXt1iObQ'>j:[T^&3T<gUn"DmVs/f +/7Fp1YGbUl=#t5gUs9iA/#-HNPd7]^8$`3kqE_,B*]fV/f[`lup^Ia?.B:K<2hV%R +&qF5\qcLtZ5o\QG!oA"4:;]<9`7d^VhK)#H2@^kqL0qSH`rlnPEq7FL8j171g%sS; +bn(GDZ/>kL=N9Dn;&^%LrK?U&U`5[jGY&-/@\=V[iFrFB>Z]$Gn9*K#=&^28<ra1E +BAa-])0RomHHIT(nq=rD;:'tj8aTZfOXjRuN0KAb=:D3Z:0TVuKjUoY4?Bh'.L6$3 +OT?b8>4Q;QG=kI(_)?a)mA9!OgMp)+H41HWN.D@Z?5V<cPq2F4b`%F[]]*/EE"/t- +66;/%U[RuiX<!-jS3s[geXmIXZs.sS*d6oueW\O8PnM>\^522SVVtHr-XpYLfj\Mn +9:F+C\nn1<a^hTq%E+%U6D!Q$fb\g'LM`nR>GWJM\``APA/>s56Q1PKc<kCS+).`Q +e>rt]@hVpgjYeh/nTfKo\;lhg=d"N#>XUZRQ>hEKT3DjhG1aefA;V\N,`@JF^I5h/ +)@nbla)\`WpHOui]68^eAVXJ7iOT1p>`Lq@6n+DR.S\V6'@]k=<I>V3=NRBa1fJ"[ +["-]W;:>Md,_o0:>dA)UNQT;W*kOo48uNFG!Or_f?p:Mpf]iP4;ZZ*O&6Y8#]d:]( +7D7?;%9GD5>dA-YAM:BH9%]&&q>Ac*Y<YG5*P-eiJIP'G@/"ls1i44:5^_]&7Y0Z+ +2$\O!?p\n=J.g8GDed]%+!!pKYcsU;8u9^c8E_<n<YQj.:4V\FFPsrQ>1oVr!!24; +UJYb9GaP:MH-nhtMW;e]i.kq^9*pAc,S-SqCIdQO17?C9>haa4Y[W5u',K.QB+X<% +6R1]@`sXCTqG<.VRjE<*-9cB#PT!&*7qc)Yi^b5<e)[$=Bp._"_$VZ\WY>ttdo<RK +IeFHk(;p-ULLf7Yo769_;YLp&fE[T"c`LSMIaDMeeHVM<bT]YEKp=[B?T>,#)8umH +?8(&lPgnpN+eH-,i51"bl4[-<''V.^W3!Y%V.%;2P(C2ue,tTb$^^Dl,_,i8,6>BO +NX$b:BWQhF%PPn$HXI]W2H5No(#ifcX+5#j\;j/FZ6Oj(5X-"'(oF0hLQ=OS@,YgA +JZ:kZ)hqMc>Y-OsiAUO.O%.*jD1=T]o;.^Ajl%dE@>@>mR#u&0L@4Pn`@UFN,TN!E +$MH>1;W'n!$t]P<#5Jua""]8YO<>!\cs4(?U.g?:/e>WbFG.@%isJ2O)cb3#E%;(o +f9P!n[sS%"jX46FJRI`o^VYTAU<:-L$H8*PAe!rX[\JMEVT2f,\FoOH=2`##duG,/ +MTBgWg8^G^3=/ns>#Du+34iiTOFt4LS*M?BA<'<%PZ\<s#6?Zflh!6\,@S6+s8)%n ++nXc5\nd\i9V&t_$5kfm"FkJ.B7F\!_"IuYZfA>?Ch._T2M?fB)=U;2Dg-8>6i/sM +/)(#aDNNMiMKZk&Z=%lL9eQ/i:Q.B>ZhVs"[=Y_%(-D&s@pFjh!q[QfG;Q>ik)gTf +3IDR\-,7>4>74?(0KWVF]/Ihk`$*uAGh>Klp3jWHc8;<E_jTtOm7]IhFt^`L*7Qu- +:a_*B$[X@BE2>'B=BU[F,!KmlRJS#6NUdt\Cm^`&Kft#$$V;nMk_dIEV[N3uTfMJX +:-Ha$e=)/sQVV#,$bnV2a!bpTN\,N>*FH]4I%J?H+L]41rHYH^$)p(5'Y2+6oVB<e +goeJF\@+"bHp+].:C\*5XC=LU7;\4X<1X<!Z)Sa'n\uZ[pgu4`iHe0hJ3]hskf7?Y +`3G&rU'_)PY<k?JX.a'8F)$(Wn87#TJG&a(e5s;&ZNJk2URsJSZKL%<fio%9cPqu) +Z.'VsM3VP(".S,1Om<W=;cr+gV.KYi9YN5;$Z',$84Fp=OF!&:%@CF>jSgKlT:,NC +%:)'jVCm5AV(ZTNqLUj@T@cmad=Zb]\nXt*0k=UbL1836,N7e.#`DV3Ht1c$VGJ)_ +nUJ!J,g!=I#4?ns3e;qAbk'?$S);t\W7sB=n4=pQV#^0ZJf#,g6>VlX.iM/)!E0Q' +(([f&'dkVH&BR?T1J'0c*H9;FGA&O;V8^g;]p\#WcG*g/Tj[8T>MOc1*:(aPLs*![ +fVp>>-8@L$i:;qV-0=+kM9!,ZqDLUu2Bd`k*8LY69.q+i`_doqLW0[4[TD&hHAoDR +(L+H,d](AWpDH6LH?>"T'(oNG*Fng)(FBFqSf[qB19+k,!S4)Z*2.Ob4\umOd)!92 +#"I$#i5[Si<ml.7a%+@U#)_Aqo/<ZShH.:Y>E(lKB:#0#gTt_;]b"eYT]D=C2@Jq% +F<2/7/MC.IP8]Ppd#m`La=QQQd_#n5[mE%pL]liXT1`/C)''-@;$8mh1'`[4H[0"- +@4jnXU>W)4&?o2Aeo!L_^")RA"1Im,RQiiG1DtsZ<TWRTit1JLFZ+EO)EICs#u'#^ +S$D(Sb_>ltT;Y;@kZF8^kpXF&].d26oQ5+Q6?:&5mjG!)p:[F3CM@P95EFZrY>RuV +U9hO7aX#IX$KGR&i23nehu`TK5DXKCUIe(Wbci1m,H,l<h$e?UL.BdE0b6fb0j!r% +60OiE&"sKAP95C>D`rQ(X'LAl4uLkOlKU>IXbOurDtD$oi+E'fE!j0WQTYV'cQ/t? +&=d>kd*9fY0K<UrEejft*Kbm6`L'DQ#J=N0:1j=#d6"[n!%_l_*)_@"GB"]=Omc[K +o[51-%bsKkkedHF$@LH8kK=1_6-)$7#>lk)66)!SXtVV][N:c$([]"7,Cs9f6Q\.K +.Ol\X"_PAX.O7n8"p04oJH!8S4\.\6>D0,\p.MY3E>8%ImQp'Wdd1KqY(T6[0Al'p ++)JYLVAH6+lNB+;E69:\S2q1,_]Jcm2p*Vm6frWj^dM`h@rM'ElT)aBoMSX:?_d0H +%Zdc<Q7I>a'YbXL:Q>*P8SLV$.?"o+;Z3np;4c3n$c3/$*;UWTJ`'\7.J*nsm$;:7 +2hc%tR6"m(V7pcXjpDD6=0,)oHj7t:]6]HA+lBs`gs\[MHnKh7HJ$3H\]D8;#k::3 +@/RNf6JA0<Mp1%Q7B*&>gM6LdS[tdQ@S(E[(K6+d=N?k!a@%8-TP?J]^SPTKhq+dp +BAf9H\SIMK.^&,-MQnQhWco0%5U`B0bR2@V6N_M2T$6PTMS,uk=M.-e:(1'^:[8?M +W#lhe'D)+cVTqAjCYR&nYJmc)FUEJ9'JkFQ10-BkM+[DU;08Jt3lT*aDIkXaYillQ +L8?P@0t$$uGBmng-fdm[`^VFKhreu`T/KS-$JFA#4=c]WS*.P>@rW^lLuf^:%EVU1 +g9qGg\pQ]AN"@g>MD!5q.CFHIeHX$KJ+QIBOmmY2BcM+@b2ST(h0k6+k5XD4IGXBm +S3<q7*>6O=7K=JRAOI7J#QIrT9L6BeWbI4XkW'(?g%1d'kNX\*D[mJ/ePj1j5`cVQ +fNZG;6WN1;(R[:>L5&J>'f\DQ1qR=#PoWo:;KHcVi37"mSjBPDmenYCOQu+?CfX/1 +BqkA&[\edD94OLENTc!WZt?@KB.HCq>;W-rA@9:BCa)42#5X=B2!5*$pu;<><gBW- +*?83LYVU8HmAVm=U&p:ck:&3ud;+4W;2&+ej(87UgNARd07H-N.+H0^pT*b-cO/Q7 +7F(["OGK_dNM+9<8c(0T5dnd/ShHD:-F'&XnRVeVV%[2da>]QcYr:QL$Osln*Ec3B +QY4^K81HM@K]DCo5K2rtGOUN27,jgl&nO75qOMcMWm`+aU_=fAR$(!eDS;XKU]0-c +n+u3scFN5I&^:RCXSFEX;5dWRa\ia>+8d/q.?t%@R:ne.@j"NLG*FoPI(a@'e4I3f +5tb&-q^MS68"d/48&Ohd&":u83=gEj+*3:%a+u4]'EFjp)E1L+%b$pp&>^Y@rdkD) +3FILkBhne.T;!Ug&e&UqLT>M)Y,M&6Y[.R2XAO43g`9gnf)18>YF"E(n'm2X0%_Q" +GqK6Q&O4Vb7,LL*U[/c)O%:RndI8Yu=:%FNZBsFmE-..0TX4*SeLO/DBda:6<g23r +k%&6+IcsNjgKMg0>0CO&0hZP)O*XSDLVIMjQr]76?0l!hm8@YXZ^\",(T:W*bc&fT +b?UNMl3XNWa?Elo7;?Kc,FX[]Cd;_/,D-(#B/[W6Sfr.hQW)D%5-<diBbWb<M:*C^ +3>Ne;\#be3>=IH&hSXs(gq6abF@@)+CHHGo,n$f0DV/+Mp?6$ISu[H8^7YlVaC2+9 +/S+<UZ[R84e>?MTh&<O7-NY<%TbT2_=X$k-Zs.\gmE;1_R^f-&!H(QGM$PuEVuqr* +/4eonC6:qVK6Ftl-<hLUI2#c0&C(Ya#mC[P`FddN<E#[E3-p_#i[U(0*3aD4#<W;% +pTZR@Sj@i_bp2J7D?W(]3#Q"!;BXjaTrJ=`<a273EQQ=HnE$A?i)C5:5<+MGODr\R +"I&PXp0jB+@V$SO,!J^_<"Ydu+KRdgo>EP.@e_TtTT)_FX"X</&%A:&>p.*/LljkS +6Tq_M3QY$ESbWj:`='nCE6NlSi7T3RQ*:5c$et_b4!LPdZC%VnRTAQC_jDt&L7#BI +iKqg2U1*bsFHQ"C$00nJ(%SrR2Kt6Ce[I2:i3*fsrOV$l>VGLOf?<(?i1"(h5)!pX +YuG29pXT>Em:QGV![H`JdEB8,]N4CcF+E0=]&CB3#2%%H`M6I=<Q=?Ta*t19<j!,1 +K^7^f=+($og$?%s$r[.hD,]"OlLDhq@@'9J<N7I'PT\]<Z;-X8^%>M3KATS16rL0Y +42Ti@$Aom.Z&L#U#fe??Q;:c(m`D_3s,RU=@QOFg5f:Z%3)/6qS%/1^M!lm%l:t)r +C;i%6"&r167d8/D;@h;[>,9cS-da8_-E,]9D39"pd[=2Le7#2F<2/q&J5?!Y'2S&g +LrP;bK9a_aIe[LJ8i.'r@8,'M!m*..3n)Tb)':f*2elYUKd9<mOb9J;%iH\!7T+ns +7d!uE9F2U3IiM=.O?<g\nhrBE^)6J^5-,E)T0B5kaLHr@LdE*WM$Zce8R*<[Cm*Wg +#\1sE^!i$V:D"Hf2b2jDc-_i;UoO=>#H+%<;C-'Fok`QFpoAAeM)!8thjsU88#b6b +D9[;@E_caD+7cbEWlP1Kj%H@=q_[n`e-#rI7Y9ZAnjobj\ht42!4m@sU?WB2@Z@iM +NYqZZ"NIJ'*Rhj2)#34cIE2`,\b^`1&imoZplGSPL;)6t<Zlc<3TK^m3jl8iac8>" +:Pc5<PRsWCmR'VC0q(;iF3E?A9,ppVn]WMP^48"LIslS?PB`jc.asf&\&t&\GV8Fu +d6OS(l"uY#Wq*I%bhI0@=/d\@SOr%i78&*'s4>P:;ZX2JX.:W;OU.)HqrQ;/Efq%V +H9g%:kVG$LhAkR#O0"r4s'q%IaJm9__D)b!ZHVLS1+0&o@r"(676I]._.B$q@uc13 +Ier`ea)Z[3F(8BZkX5"s7I$D$F>Z!F\ZUt[FB/]CZF]..:)A5S+;N)#[m!c$fK#fZ +W#/c36H;:CioSbL/D2R9^-:Ae+R%UCXKR"DRr6@i/rpQEN5sC\17-&j(K_GX3QE.B +WfO6(^Lb5_I(ut[>':\8W,LY,:VkSnjrKU6AAqoJ:B0,6;^`VN65BjRjC>\dEP[o3 +S1Tg8A?M:%/T$V_cASF=;48b6/<W`_#b*"K'kRUV]D\)_Elka?[p`r7K;k^IB0>UX +@F)\-Cd@/`-0a'?I-4*9$%a9mXmBQIiAllNQ4*4EB-73Ibn==?)#t[IARH6PAhMct +]!*7:d#sA`eb1W%=^*7D<-/7u$D<JoeIY.!*GH"H-(D=#0[kG:p!BdQ-n3V;F0\6W +Sj8l.Z<8.N4$E4oPjRuI5a/.I(o>p7Tf^q_V,:<3-FA4u=<qFdGCYm*]kun^c&qm, +Z,aa5jX2(60,o&P'bEQPWNkX3Tt9UKiI(hP_FO#77esFYGB\YbpT)9<Pel8GKOk[0 +9qhW^4p/pfW,cL*)L30XTBtYKVnF]*HgI]G?(p\./a&8oQ^7PmG[0nk3sC2NWJEgT +WQI[rNlbW!(cVn:WFCZ5:bX-3&/[Lu/1^PFhl+*dHk89Ca)&1'>q12l)o1W;fUD2' +Sp%h(rn/X5R1r^:#pQdb%@-RH4E%cAO&N<gYB-E=X0KPq(r=jIJiJ)mT(Aa!^Holt +3Dp7T$ti$,-8r3dEp=B2@/#+tlh"l+do<*B/ZY3)05>40flnb;ba;CW=_i;f&AEcK +Qnn%f<rbAO(Ir,J#TIj(,Mm4jSpm`dD<u[seY+qtqm5$nN_I-sVB]R*E5p$Yah-<j +3OFls`P.*:(Db)>g17X#T2L+$b,?T8hY`)ng=!)Y)`sn_IE26$T)%B9q;(:AC6%c% +ot'J!Q9,^`G2FsNpZ6&CLNe6peQgoZA..pqZW<]t]XWQn_]5:]b]rE%5O,DO@U&A! +?X`$hfC,`S,O4]@s5!Bn6QJsTFQ>H)]JE;#p=qEqa!DCaZ"mJ5`C;^OIH:SUCP>`L +@ug3:E$GGj]@S")XPG;#4Gi(/f##UD?PG3d/]M-[gRd[bk-s1,CJj7CM3fo.d'*Ib +\hrF?BRjFA!rpnOSqG=^hC"@>HXQ<Td0(;B<F<LEHf_`l.T'*ij2%KQg`0em>@]jC +<`;on:dua>\IZaCDm<Q$SZut<IHCdq_\IF9#>94p3C`u;N#\:<DPIZQ*Lj.*2V34Z +G#pl+-)4N.ZL^e!ksZl'W-UM5fXV[k*D/K@Zheqij[o0Qotg?4Ug@[HC3X`dFLSU= +&R3"nBr2lX!&BRAPQ7bohm[=EO=23YD\a``mCd&fF9#S\cRCkrYU8nkSl31'k?ebT +LlGdA#G&Ye/VgnCC2/mH$"6t4P`X9MD6KDN+-*Hab^2fO^$J%/Vf!1H<WVuJAFgfN +l,41&\#kpfaafW-,u#AN3]DrF<5ut[Upi)?cMRTSbN+;fmUPES%clmG3FHs"G^H$e +9"-t.\!dZbW`@Bcb`PLUn[S<.4@G+@_qA\`KG=r.CaH7!.ft<B]MU0?"-#2'H6*AF +Os,n8Hd*?bGNM.<h6Ltpi^2n_ZP1rYq*gp4CSUd]pAas-!`\a_T4pdPa>%RZNcqT: +WUGqbb/P_TKYP$L=^L!RH<:uM]c"F>#I+(A'*>C>X3jaF7s2u'gO'N%mdlq,Wp5LR +ZgGg;,QLo;diP>09ZX*nbX\=J%7NIQJG:L>J[@G;jD%*E++"o)['p9f4G*m]Ze7bY +CZM68!DiP+^6:_W-[mp+jO$A5T6Q&SnXRfu3a:2)N)?U:NdZ67ImQ#a%"G#S1@!PX +ih<oo)PC[@:B,tcB=aP18+F`dYY6I?>/P[bi.Rg(1S6<3*?'sI50sf.;F:P05LA!? +?aM4_QCr$60%J-9!?6DOY&rf&Zs5Vt8hfmO^+LV0@7^*iD%EAm;?N<\o-d7WQPdPF +CVI;^?$Z;G=LOHaTfP?_C=CMdoGO+8.kXb6RK*TQR:Q5cMAXlQ,fG'kV2]`BaVi.r +CAf[\gNa*D45X;Pg"0GjP3fc4RL5i*cTV6kL9oq)l]WC]<dRMdge_Le;YWu+PqJNc +`D#TMUmpaJpDd3Qi?XVLa\n+*[a+,/j!B^=Cs<T.?g$AeGIh@ODdD]<7cJ*LZ$5j7 +e4b%DAE?C@aBKK7]ceA[DWFdJURgc.2`%"cRcQmEbfl4:B'0j_RKLJYPb/t0VW`K7 +%da2lo)-e0M_"X3%!nZ9o^/p=OPHiZSt6;e:\TVVKOh)<))'HtOQ.YqWkh`$.`c4^ +%-4DoA1=)H4bOlEiqH;W6EQrZb-s1l2[,V.mH_R?/ic3DIt8&@Q>SZDc&P+;/2_.& +(bg1]i<EW+0r\,b^&7j#+i"'Mmsd'8@B+;u&,t3iSrmZI3_eR>@W-RT8^??d#ao1` +7?ALn%G;:OO*m'V$_0@-N&T@JEi)>Rs)B,uoBS'M:uS%?1`B(=*BW2nfE3`<$\>lr +/qBdf^<hL\.B9c/_n_7ENd%LGi!QJq0A&a;ENb3Z`fH.(=b+oOO#2e8n3+qs>UFOD +))e.8Z<R--FATPI4ZGZ4@b/$plgm(GDRn/2`J$[W7VQdnV0gc>Y"ig:L3g1&YUfgA +_SX,Og4@S\rG)PR#JQ(WFscDFUfR=clgo?gq;l--#16s79sT@Q0\u\c$ZJAcWF#sZ +L-4cPJ[L6L[&d<A7j..>&`*2KX-b(L7%E]NaO["::7c;$QTaR0pIp#Z@U`Q(V]TDC +j1^Oub)Q_,:8HPpXiZZp9(7e$4?$l\&m0P9hQ=P'1oBer]CPaQ6NG.pUs">s<7ii; +6t[La@N#1BJ,@I&K$Il_/FgK!Z.<O<%'!e(ZMZ9?qF"R7PPh/cV&K]Z"!EZt&$n[< +F=i@Y9J$<$G1tD-96[KD^HsmEMoFm]$jSL=]CqIXEL*,OY"hTgggY4E-h';=,#Vi& +U-dau`t*f=l,7AFFH(Z^(I_/aJ%n:[afM.G`3sQl.2Pu3m_X?d_fBjWb^3/?6Ql6< +VTD@S,Bk<$5?r#n9]'Y%>$]NPR#;\or$Zo@dBh!'2]NNDG#8F\s%>2r*;*nI:`aE: +&&.uff6la,-':9-Qui-$(-6>H]C#cJ2+ZFr5Ki*_eEHht&?=?ARuLH]guE-As%YdO +%8\ji[W;gXoUOj4`<a_JNND$WR.8]d=)IEY'G32]9>$R$"s8?"N2N9=KLg$hm>^&C +1A6:\+.tO='i]2KV?P9fLV:cg4GsSY=(k2!,^_M*R'$@IF$.?toXAgV`M%3>'XbZC +1n?aUf,VpRbBkF1<%oJbI>d/XPbXH:efuF/GDUa]IIuaebqA/l,Np9P^;qcH:Shq% +p'CH\;qK8QLcB4ZRbV+g$\4>pK4!l0!R00A"I7$b)P%JO4p-J%IcMPd/:3'.Oh!P\ +m)U]&O>(o_ek+r0CVr7u4p>MJ4lQ1MZc38g-N]ZX`"3X`G?0^`<aHYgIC`XegNB3c +['!9PaNgnDrNhgi&e>`Pkq)HFeb?a9_@p7L(O+m6DZgqX)ZGBggrefe/CUQ$'Rm)0 +`R7g/050ou:=c@f\'&rDp%LiOJe]rj9aH)"E8"N>Ogl'N3b%j)B8c.g:RT>"r]P!N +IbEUthTC"0!4&#:$:cV))OY7+md$!q>uuJr?R6!L^l/dIPPB91bOS.3jH-=/FnjYs +HeNq$nM',XT#V*fcc?)f.a/!-H8;.>2VfVT^/XIc*/>juXo=+A1:`PmM.*>5Z9U): +`?&;2s0%%c7.mp/W^g*%,_H4cE#^YKBC'dtc-!G"7jMKQn#I>QHD1FWGr,SNL=FL> +(b9%MR3R_<S\dZKa=bXMVhO*\*89jC!EBRhgs;*(HE,um$&aPY,W\AZ2A\2ODK`q$ +3he!m'*8LP:329i<]m.Yki!REg@Tr?ZaKR)o`-7PoUR?lkJLr?=S5LW/`H1knf>P9 +[0HF3Ir#<U2-U/5M(7m:+R2_K[*O#hrB.b`UTqUD(PY.4Hj4A'e%3jb@D7rMAC1.V +=?$88NeN"#oZ/g_@N:La:q#nQTL4LiSO7bI11Lb;]<V+qUQapg]0s?:bd9m^Dgh2? +ZI_37ZK;)ub'qMBSpT7OnuSD*Pph.*a*b>Yd-9Cb^t*&m-t"?NA%g'.L?LoSq#mDB +rHCKn`fp]qlH!@.%a-.Yg'Z^P/pg\CGM)?:;?D4L\^TBo.s)26dL,Qh2q9]46m,:3 +%FZ2@a^mh:[=j!sp'<>P&$_3\J`j[keU956FrjH,oKkA'F_&!UT$n?@,:a%T'>)R< +,YE[@08)CXs"VhYn^,EAX3EN=>k=O'_KS7lkqmQkL#ll(+CD!sAeHDoP,uG=I=<@- +s0pc9&qR`O?PqaOin<`8`$E$]cV$=U#`*Iu\!cJ2.$Y_M2U<>h@FgUX5"[#/?/Yt, +AG%n%$!Q'nZ^)A9.cjO_E7,GR's<q2\ml&pka>0Q_U^2'=+gE)O[04]99@,FYMGAt +FX(2am@,]Uf:j8ZC\'sf_!cMo>.ZSrFi)fB,ePRQ/P?@3D?@3=n(a+Fi/,=FV*Lp7 +iIV?;P9W<&?188Gp)rL8a[_(uU=L$g;2o]mT!E_9-WV@M#99<U0%WO1NGZ?=rRP@! +j$EF04fP1W';aAMadrD'O--7-G5A91X88(tk'cJq<rL$p]E.XW&)#3PhU20,CYkSp +(sE>6bi%?#TjBm!dBc9`is$0u\u-/6$Eeu2ecOp;p<1BuBENJ+WATL8he4!@=,=s8 +7mZe<!N5K:0_3!!fB`3=H39V8d@Zk'@Qoe#<0+Xu%?6P(GZ0d+%X`kO+Wi@hp-*U# +)AKK0Jr-&E)`^?Sh!L!pC^OR>0E-BX?_R[No=a.A&OutaAe@r.MBO05%NK]C3Bfh* +Gb:Ml6p\Z[pMCO:3;?Ur[<LrIQh*He]H'CB'^bgGZfW#9a"0jBNdHl+[2G2O;uOYP +)'\L@/,Z,J<Af/%Ub4K=YJlqG!%h1c]<u_^F$sd>.;I\V_G,V43eCX&Pc?(]*8+B5 +lZV"fL0FeL2ceG20W"$Y!uo4bR1@lt5rBgUgYO;57qc9RN@4jHJY5$%P$G<(@\1Z! +=mp_;hB5-dr]pPO%>@-eb'i?m.J_g0PLHL9Tnsg_MPDbt2s"MUCi5ik]Wc=m=#l-, +49[OrJA;',D3'[[5AD=VhjEbPR>#50Q_j;..DMZ-dR'M!#tUN9?2hU)7%l*ep#ADu +fR%31T]8"?f!gg2-MV=qGDc]QU>.D>:#\2SVKY7>jkQlX>,jSFTCC@!/T$KsHdjI( +l^OlTlg8sLE=,W#,QpAZOhe1BHl+@]WfJ<46-L"E"VT<Pk#mhPk73-Ohl!DWK)-G= +-79O9GU\on;MtM,j)\$P'=gE*]d,1Aj`T[unjultk:Z]rrgu*qQPsUYIM(XZHd&me +SO[@Wh=eHea'QbGp6n`I>Ak.1'YTaj\TRedIF`UW?a!*n>2*IEBXe%7c%O.(,=uZ0 +9qoS<Q+K#*VGXD>`*OsJgEm%cmHq;5@9b='f=%:66'o+9WHLY@V7:*hS?O/Lk%a+` +(*0im:WV[5EMsSkm^>8%g7,$S_s(X=DTY=e*K.,XKJDW\]K]amRD$]$EKUZO+ogt, +A#&\N*kma>:IZ_4`+e\aNWtlL;be4H[GF2,&D-=^Z),'Z"GY;K.\!%YmMX2U8lDj( +#j==1-,'K.TH#O-Ha<RS:\B9$@m)9tT=X_h%so'jgGQ[;IBH98C"Id4$2^1:mp.k< +>%&K[O6E]P&L4,W=("52Pc@LIP%d0M/'t,m?(@MI9J9p[gO@`7Y;)6Q:sb@E`7Vi6 +nAJ:r)lA^8eaAn5J>[_`\r/OjUQTa0/MA7kp`E!,a7*6/c1%HMDKVJ`a[ANua'"h= +j'!]!"r&b]SHYAPSVA3/9h=?3.Z`UQka*eR_5#<&>tK7C_NfTJHOEVDjkFO4qcr$[ +P?Gl$doUV&b&c3GjEV't,g[&[gKm\RQij8!$o'qZKIT<5*lgG)=QkK0M3mbX%H)+- +Mu^s3kJf<qk'@6o`rgMFnNNaILqW-*K:;!V9,Qq\?!/iKFR\?5SY8_PBLB=KX?qLA +`.uTBf.QC6KfF0$]qt"QI$BaNrCD0E1/O#PRpP+o!3T8rPpkkbc:#G99Vr&7U"sd' +Go:5Mib!u12i<;Ip)Nhms'P"Ad%[=305,S?B[L,J?1sp]Rj0B//3)A.Ob,]9I!>Rn +/WlS00g.87oGPeN/dLd(jds8ho@b8,<+Y7<n_t`Z4<+9_m3+jr$qY$0k5TbPB6<k( +p71WXhUstjn2S3q/L85QPAIE4\uD.oSUmY91=/G(h4=]hee&u#H&>7q,TuKYfc']B +B[Y84b:C9AJNQn>qP;H9k%8c(?pK\5Oc<Y.@_Tslh914dD7HM\UPL/9M]H1o-g[#r +>6uB(ID!C1B=o@ed03`*LWN)/4pehW(Ue*-;/Ffk,l/SG7%2_#MgpLR"L/?!mQHVO +^JfZ^>U3=s*#^D/&GflI@)Xo]#9/fO]P>u?8$Sg+,,Xl!V7&Sj([Bc$F5-:k"LgM[ +E41*gSQ&0[<W)kP6#\<Z<#K4_Y3IAC=cKr_hWWb(NA#5^Oku1e$_Q*lmARY30YFP\ +Vj8533$%_BfmW2ka0Ik=r4bEG`MfX""bqatr-"i(e.5ndf_I^$UR=rYkYH$ATefOT +f_m/Dh$cSpX=%*p`#[LRB+Atmp@a?eec"?<lsOWbUOU.JeaJaq$*8Y#<;6)d%eV1i +X1JQ@aKbYRFO=F.jYJ.;`'0JSHW6SK%#6[:B)ah%Ui!g^.#Q/olKa(\E0TP$`:O4s +9/aJ9I:s=Z8kCCP()@m$[<DcFZS>BB^#^rM\oMDpq<BML*'-E+nN3uup_kV.h.T!: +4\tFn"8S6GL+f'APbq4f?qKeegj#\86e1hY-(Q7\7A%@%lX_PNr_Kjh9-*%fd$?Ms +i.1/nQ*T:<TSV,/%$+A@QqUMjIX$!6U7s]=Y\)j;"jIkKL@7b1RDfl;kI,E$Ss`hl +E]npN_F[637JgI9Kg<o+oLR1WCaW(5h8Jn"25d+`-^aCp=/)#/26]7cnn<^FSEUV\ +!t8Og+p[$H9iFBa5(FCt#hEE'SQE!al?f:O\DlcIK2oo-mu1XgVE+-f<^iIF`[WC( +Q?Gdp.upt$-ZDP\&h\1h-S.Fqpc@X`j<aNF4@+Z%*dPEk-olXMAF=p.MCGJ$mVoqH +C"9@/``u:eba-FQf+_M0F>YtCb[^?GY$.#rPdPhR*]0W,Gg^YV2f)+429PpBXEmcq +S-b4-]9RqRHje3Qp%\[Q/]T@Z3+A1^QP$?$l0P]?GlJ`;R5b.c?041k<^@;Bk:%`7 +!TNH=M@bR\B1*#65ah]VIXb4%F^HtX/BdIqk<DTmeQ'bJ$:Mg<)0*@5ZdU/HjENEc +YrAbJpeI7%HooB.hqjN<Jn$/Jd%,jcoTYLp9\F"'G%[=bYnc+R1M9c/TH49(a)NVp +3d1*/C`XQ'R#(+O05;$D\hgB]eA^=p*!Ei0'e.J+[90+o=c\Bt%U-Hl*necn^`Ut6 +#r<kj_hll;>1f[,9n2aM)Cr`l5MMdX*de1QpNpOtRZiI23.?Z,G+D)C&U'-Ka#'!Z +NbEYOm1Cj$Go>b@^*^>9=R(s&fW=1!Zn0bnf@^ZKT@]ZD<mQZh""#"YqK*m2`Usi6 +2oQI*fe\<;[-'<g)]jf^1R"77*-U]mA'd;8FiNZR;PiD&6$X#$C@/T..*El0fKH/I +CeaCq[q_Ic6CIWC;aOVnTjQX8Cj0NqnKuP?S't]^XW@W_+;ucIX*=3,h;m!]f^"#8 +1#h'aDX.a6ZVLUh#-bRaV`Atphkj>\3Z"#M#I&`SCn%[1J_:R=5qk7Y@cTDS2`oO= +)V]5O'%8V#KVHZtMaZ661uDd0*$,*CK/oF)fpn(3[Ur*%0-99)bQ5]@k+U%YIJFA. +4?c9n\t?Zf.=1Ji+1_-gl9>%5m5%bm,Mj/g+Ts%)caFm*qJLWiPQ2<IRr@,idNpW; +do"_lB]^1-fZc/jPdAMKqpm6Zbq!mJ=kQ)+0V77uGD\lUY6k47!1,k#K=8EED9BQV +"Wfj)_lpSG+U58].RsS3[7=uVScsq;,a0N$\^dc!)@]GfR,![8T];Fsn6ajaFkb.] +D&spf<F&$FG@c$Y@9S?i`TB&"o%&e+HJ7e$FRRl=<U^0P:q`f2=Ir=99eA0N0q+)% +eR%eS%0dOKSmaNdWlQWn&dJcigp*o82s4oiA+-d;cS%E:>#T]%0;erq38Oa5[jN@4 +!XnnVD4?A:c^QM"#s<!a`tn[8"H.H'Wjb7O>5f+o#q9<koOE_^PgQTLTgN@R@RhG6 +\nf/^V[q=9RKMEJ^!M8ZiDKQ]Q(HZi+1i\B*>/qbm']p9gfqV*eLqe+8FSknYu`9K +BWecEh2=,X[e#DEs%k>g,mWe>/>u_#;u3d)D?pa@3#5tWNPMSaOQ1!_97Z;9jd1(1 +Y"CoG/:-q0G(Do$j:]3D1P+1fdrU/NqHi^mi`4$)ZN]g7BOVF(W'`89mB[+F$XhL6 +bMnF:%.Id1.3VE@aZlFD_mTdS6H!pcch%RX^k0G&,u9K9-sCfe>r=f8SEn:hBGU?` +0;@HZ;Qsc"q2&Cd`L(^LU,aW/m_WMKl1*[8gS9he,D^mtF]n)>\aaFT>/q+S%JC'3 +==ef&7L2\P)jeLJA?:3h6(5s@SW-A66]O^7Y.OrPY!M+mRh]?8>6<EM(2<n/]RK6% +,]JECZJm0abg?T3F4p2Tm*bH_)dg7)f#uN\:VJeBlYp)n<RQLg0]'gc_kROMTd+,- +j.=92DVc.P*@o]]10NWMfcC5KhA'MERdK8hX&3[5R(MKb@%n7K;Slou@#-r83[.<` +qZpM@plICJDCJ"J'=93^,qF7s!:W(D-KM"8`6fC/6]e4,f]89S>L)IcOg:C'Ni5,7 +J/-"d&3/tY>\MD^l"Gq[\6>/#7+i]iB[%;NKUT($n-Q6sU:IGs(!g]Q)[Hlm&R*]i +e(q4+7\b+cpPKT9!+oMB?f?Eb@uaSsLPs#]Q1V3HLDG&Bk&WHpSZ;p@DbIl6DZNi0 +j4_nQZKX]HZuW,9"C5Pp/5X\YZEg`%d;W\.J6Oll;=Ru+qh#9C(H*rTf/*J-p#i=" +Q]<$k)gPhPD-_cV*u%F&Y$@B1JeGI%?Yk6Q<h*TSco6SrBTH'O)%o?CofU$+8apb9 +IZMUc'F;j]J_8-(U_0@q(.rb%+4h$-_n@_LM9'h4I0FCA:*UnuR2UXdH,T7(GW]DV +D6q0>/brT<>BlOmofdq%.cLkeUpcRTl`?J?Gac6@T(4drW.Guo>mE8"4:b)6&!5W! +oTQ6\ob&L&'`]A`#b&R+#m#pUZ=-QeEhHVnn^cM?H<k+;7->=f5n9Xu6jSc"`)i)a +Nn_WX/F@Zu?*"KREuCWC>phM;-VN0RUeM#K/N`Pn8_qRn3[;j/8)CP(`ip<,BEttc +k#NR5)`iW\HUYlNd9.!8G.#Sk,"!\l3b%`K]k'28B=PaWjjW^iG0.k<\"D1Z%GDsd +om[:T^akkI0bZ1tg^?gkkC>g,qkYWDklELTKb5FuL9GQH?m06rhgQ^P_'3QegI!Yu +"6_'-q*]tXp9g]*NHps5M[b`t&`l5R(Bos;+PK2-Pns#??UtP='M8ha6sUKAh$gBQ +DO=b-)2p`@ENGRNk4iHtKOA3,4`Ta(E=:-UCFY%B+'P5?Fi!5-'cT-D/bF^"AliX/ +$BYso3fV@@&^fI"Y!Ua(a7L:D;\tZ(Y,/:=&Wsi.$0T=c1Ch%Soeq/Z:F8Ui)K.D> +hEG-P6<[6T<2[,@VL!584'IkG3j#38-6r:@[cI\d=XV/qYu2B_@"TqK%j874_d5"i +N#Ql&_=QYlYNs&X"*;_Si5=/E/*3HSe@`fcnGt*&-.J(Vq?k4G`k'XJlU1PCO/j(D +p'=YVXJkV.$3R]2#DF0R7CW!r4.(Ea2)hoGP6Z)Zh,XlPKAB3Z]O?XM>"ge5UQ5PI +@g/#>4?N5PN%H3#Qq(_@I8aN1f5;>(J@Ne-1h(bGS.0<)=#D&mnHR7GbnnMZF,q&G +prjTh6@8@]r(RL(DRNNlm"j/J_X]:1)i])tLkMfs&RcaQ<e;*S?pAG8RhM3RX0&X& +PV+-0NicI[H%"r6TdH>+p%7g0Um\[Ipc<G`OB1s?DM;]8p(1d$\orVS^ttbs+_7/s +G\T;HB>1i;gS@QAT1Fc1eAJP;*ak%!S'ltqBi!V2"0=s/WLS9^!?oIc.Kdt`(.nXh +gG5Af#2.irX2&J9_72s\3Y@#U\JeZlCOJ4\^1!)NZdosP-:#HV:4,k1Eo\om4/ROJ +M1\-*ecrQ5n[7JMj3]&,:PJYT>0X&][MH>#4ZKSkOEX\ICS36ggag#t1]Xfd]<.H: +[Br>[Rjqj8]X&qs`&;%9c^NkT\6`r!&`0h6UX)C4oM3G&3&^"/CA.ES6FtQ3YM@fj +Ho2fAV0nX;,9Wc5\Cl6$1nmm6'U@<6E:Ra>"f:DSUnU]-&2kF/]=>b6j[p62G"3%! +ZBdr2TeYmPLe2TqgiUQ5,rT$;\VA1-<fpl]7k#k##-r&7bOoUSj\3S&j?tA"i4;%p +I23fX9TF"%WmK"S4aCr3TrWIb78`=!<LPiu!/%\\pZ0eRNZ468cZKZhJBGi,9P`<S +q8)d4ML1(0Y/b%fDJT=ehQ^eNl)A1UVQo<A;i@9NRBg<$[,;4,AL7Qe*3.t7GZk_5 +I%UUH%MI%P%jYL)&Hh94>[U:L\JUZ8(7TQG;kcj0C.pcbHp3>mVqZ'4h#D+:[*^^7 +BhZpjK`:W9ouEu6^(jSMcQBOpJacq:-iR15RqL,PrVtpDdoYH*:nN79kNPW/:4*!8 +o@&aB^A6loTDnifqTBtQ^\C]#n\^uko^?Z>^Am6BT7=WTo_J6Rs7t[3`J/VW)1g87 +/hk0E;c8DZ:hOHJAm&kGEFqcg8;AKjVn%P3EDA]"Me`S7!4ZA4[f~> +endstream +endobj +3 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F23 4 0 R +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +/GS2 7 0 R +>> +>> +endobj +10 0 obj +<< +/Length 121 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;V?oiR2p+10$#-#YF&31f+0<+D#5&VIuT1@B!mQV@\p6AY>.1V=,IAW/t?0AY<[D +@%n3qbS@5lTP8)4Of2usOe/SPCLh%OOdW0d)reiu)SuXp!$R:6mJ~> +endstream +endobj +11 0 obj +<< +/ProcSet [/PDF /Text ] +/Font << +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +13 0 obj +<< +/Length 1460 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;WR39ol&=&A@sBE,;8&m15Y?j0!P=.EWg^pb:,C#KC@lZ3+25B/9KNoj6Z3Br#Q% +OpAS!X'WJc<R'_"lJp4A,plbZYAB>&<MJS.4rJ5/@$=J)\ZV*<^XC5Ap$n@RPO,/H +VK8kVZJM[sWD@5?K3(i_AlQD.L7pd0@BE7V<YMong7>fl/!!](B)/>o/=5WF2/7#h +lh&NrY:F+(+6l66>;(68XOPjDrRX[)hNZ-)nI^\Va9s3RK=*o54ohp^,dJU<qpOgB +eZ7Sr@Fr9]O,P>5qj=\:H0q@O51M9hbJ[V04hEJseU$+E1<pcF*B.]3:44Y-6^f_U +k=X8JJ(PH92-?$S@E?r(iRL'M^K0qI$a,ThEV`!eaDEVn!..4$81n\2<(9E>n5;bG +h[X@$W`HtAe]r5k2ZZtfKZo]NEVl+A%IQkl2<ridZKJ?9Q'XXMH"sYjb"B?*'4GI( +X""7=+[!U19l1b!A\'$+gG)mD]h-b@d4Gc6?uq-n4@I[HXBqFE"4tY(GV:j`j+K_p +m:&s=Q+=<0*LC=L(JfGj$dn,@07Oo:^>7rZ0l1cI1.KSsk!5sn-4Th6-#S=9ohTe& +!NC<9`P]%O1?J)QH'I/m94-fCh89'c>5>#Oe<u4'($_cd8@`qZ*29CI%JZad1ElMQ +BsGF]R^C.c"MATIa/J/'"=m0PK+#(#$'@?JRK6ZT3!Y*?\He&JBS6GEadP=OHQsk, +EA:'E:_2BZR9NFH8gHZ=Jp0RFa9WpiGRj..#&Kd=/[NJl6LB.A6S,jOl>uYO&&J9B +p1uSYR#@R<2OVc.iAer\CjMK)'`4RC2C[.ibVnZ<"`T8P/AZb;A]"@1O1Pei[^OdE +-&\V^[]WbS>FWTU.21)-YH"=A=u6^ECJbike=&eJlVfTL(^-*IqKVA\+a1#KI;X_j +[qTaW`QJgt^@Ft<3MIP=\[!VKkVkQX-pU9VVl:DscrjqAOb?4XaKPpr<GYK5euWd> +ClB`=U<KYp;!i;Ji,RQ3":HQ39O&O6DOS0<Zd='HY!uookNB3KYl?)1@m"-)C,O6& +!an&oT(%9;.n=h))@\n,k4nmsGd%')A)B5_G5;21i)5[4ZAnF:3rjAVR#W")\sISt +Yc2DQh/SOnINuB1<+ucFC?$=D_1kA<i5-=_jT0;ETfo9<<]OUQ)o:CeBkbge/k&*T +o3FJETnrH1KJ+he.fu=!n,foNg%ki@@G=]7Kp$UH@\lJG&[:3o[\'2^M]6_W3FX<Y +Zi(O*n)i8B5aA`%RG#HS^:SISa>>U]"^Bg>ZX@n/O0@#!o7D_?'T?+_jaAqV&$V$I +CsJn2r02JuZT[ocQ-e7Og*PH'8q."H/`V+*8Ym7-=\l]j?D@#KpAhtK%eAVmLX.;e +S8qr2o4#9/XY2+/%/+bDV:!K\8lAd%R$4Pqjnn9>Z/T8%J&cb/*(<a0_h2=JX+(?S +gX0<'~> +endstream +endobj +14 0 obj +<< +/ProcSet [/PDF /Text ] +/Font << +/F23 4 0 R +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +16 0 obj +<< +/Length 3044 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;W"$?#Sa](>WX'$3U/L04Mn`/D4>H`_L-OD0B,W(ZSu98GYTp[)GKI4X;m&^\##0 +P.[SSS8hA!j[ba!rAaQ,_n5="p>9jFNlKhk.%6.gJ+/8W/6n4%ZRf?lj)$ZBNK9jh ++$N-RUE!!@iG=g?\,#5Bpk9^PA/_X`5s1Q)X!C8gGOY>N$?l'_lC*U.30#@h'$/0O +RAI_3^';hmRKa09"FL)?n$#muMX+mnHr<@K-bjU"1J1P)Bg.7Rj"qfq5E(3kanCeC +/556ep>'Z`h>MNhAX$^s\;3ifYU2/'/=&>WfKAb?FS@K#rB-*0[m00Xh>QnN59>7p +/()_k_h[d>7e[Fgs,HG?=u)S5bj:^*;ANCNY%!rd+OVWih$i\f7;>Ltj(LUeUUXeq +1QarJK(Y/mcPmP<GT,fP*eUk"kE9^(fmukS:b47Id3>6uRk0(mN+Rqr0S9e3Bg9Ls +h)*9+A&J#%bqrXmCo5C0hAUR5h_se)]@uWIh;FGEe:'`'l'oN.1"q4lUeq:3Rh+Rn +4o'raa6HocouS6lL!_C@nU@,YE2oY?!paA<n:PkLeH[]V!XXs7iH2e;#/AaU.i"5H +F5Q\d/@jNke9eT.f\Q"o'k-2gD3iaFD>*&c01]s40HSeMV\YGh+3H4.G.iNH(^qbL +eO3ul/;u?BK%ZD_/]'Lb0,A40RF3g-er&q<)/@$'m0C:DEC;DhaQZGL6#q)S(2+9U +gW&B.8Xg6"+"+mcJlFXQaJOBdc6k*@;QRn78629RC9=:Hp9k\)LS-"IPRQqd%gi\s +L[9hmHi&ZO=-8`lUX0&k\q6_7%AA]nm:2dr`:&7V]TMp^)Pbie*X75dhI',9b1[G. +aaPK$W-q]Oi":S0)MqmdH>g[Rr^/c`I4i:gL,'MSUPap2af/#7%\03o'A5'Nd\Hb" +WJ;R_?"m#>Qn%J"Ot#KBE"_dne)>ThSnn='df#=%6,2T.;u'UJIlWeBk<a/p6KMO- +F;IU-X'*$VF?+Hji\s0Z)?V7CBQH]7kG-s0]jKY4)V!03%HhA%T.eUnE=mb%&bJ`6 +KYs*)!#WHV81:WnNl9Wq7'S;!9MHr/Zca(KM.'h]Q:&;X3H'SH#3b!d[U=oXIZ!l! +k(<!!o,"lj7,)'+WLVGn^9fEDYr3\4i?&hL#`MF%dZN6E)B@j-03!&a6+L<7Q2U.I +nl<W^?@oZ"#&b)E#+0E>A3K4/$P)V;b=f[1Mt#3+:fH$!FTNfoO7)L2m97AVc+3iM +/\K4OYVaQTQ,M:/P""Ip7`f+:q:Xq2pBUYO7:>f-F=b"JIJ6pWjh-mQ3p9ULWq+qr +S:6>YX,/fG'&^:HIeZq>iqam<loo(=?nr/.J2,R_dpXI3c.;n1:(I<J1\D3+W:to] +m<L@d/?M>A-KPdhFo^iuKf3Z"U2aBmeU"Xd'YUM,\t[eR/2>$h[*`T3p?7Ot't,qe +,D]B])Y,7`<7im"jpPN:==i1IDd8;Wd*;r!i<(8>[%E(Kng:?\<spj6">B>OEP8_0 +8c=U4;mMk'!I53gEeXq3/ePH9W^gR14+5r=m.Q4D,1!XaE"d4Ib)tBF4=Ffd+W(4K +Vp4&N@C6/+oUtecFW__NA2pKN!P3OC)&-]u4fE('&Z)JBW.&SlaQ-OukF%kgad\iZ +Q5p8SW,0U7=1hD.k'J-VFt=>bJBNt9PRd'EiB["XJMF6(f[aS=`1-K)d6glc>YA!, +,/>/fB#'r:GF6^IAnWH49o4#:gRS`_L@Ieubt2'LnaZ,5j8.*HEga)-OaT%<!*nbE +S*:s^]WX->')#5FT(0Ik-bG=5AcXgBh_3hK_$s0>8ph:96+_mFkLM?nY8o2)HrL8h +:*T&dM<9b]^0@`a.9_D0*<YoBqq)j3o^Y_SkB&68Hqu]eorWLCZKo^l&0+E$@ZH[+ +jG_p`FJPM\MUmu_$L'gSRspt8S/lirWAa0dcqBJ@q/R65@4"\N&BS^K8Sh<i%Znf' +[Pa"i.LAJ71_GT6Bem=h!apL?T*ec>4c@qX>CCZ"`#V_G\Y/?S4l1LMR0VNq%N8(; +MH*D>($+]=P$4MCW-2StA@"+;JT9uBY!F:8`*m+.A+MX)VDWgUM<46q`oho`OhLbD +Ml)UGoHUYW48dfIHtg5oIA(5/3UmoKr]nsOc;D6GT7$d':`4OdFPi8f>s]uRH$V@4 +DGIE>;UO'25UYlq30*XGNT:=D2mrogIu<p6NZ)Zn@$#'4a-FK%I>rcKG4Bri8Wj(' +3/mu(lYc;#R_p$lZX0N\oNU91I$(Vj&qlVRR((Ig]o:o`EFZnST]UAnCrsflZ,[pJ +L8[BgZ[0sgpA9]a4TY]")&/'gRsq3A)Ko=ENJr+c.;b4G=pOi?FV!7eW6nq5IaplK +?BG8D]j)B*8Sjh^[nccHX!Z4LFP?SuZ"$OE%>RPR9"_[u$a&%*",J!$a4ncI#k%Ld +UM,(0]Sgdh9h!t0=Pf:<6`j%?jXF)]`e"thaOKC=WE]18OnttGWW=QUMkU>cgP$\& +Hf"C_Sos+_h(sUVs1:)AC(+$(D`!@-9PGC!,`(n.kGV[C:-6=+ftE,FMZ3+u#nDRW +H>2Cc>_T9U9&F0uNj6;V^#rB!E_kD)&Zdj0IdSPg]n3b^e'jC1jP<8$1IGm$Rq%!^ +qOM3pc<\W;#h^_V%W"VG3L<>p\S;7*bS*esJ]lYB,%jN0GL32ScN?7\Xi)D]Q,?k6 +Bl5;IAL$Ka;r@G]Mn`3$91PV@.Y?IH6>G,'kA&%1kn*7cO<spEH8N&XYK0SCOqaEZ +*5K1\9$7q6#1aQhjN(`Ap:4naJaLh$/!u=H%XCEY7L]*te%IMcF\3Q6h;@PLCm04q +Yg%<(-?.58=tY/cF^!fq-o5h7'4$']l*g:!XWlc83ON?j(L";XA(nY=q9Ck?8hbUQ +1*L)tG;*hc@P0kP)][6dPa5nk3pb4>hcj\X5,afNk9qge)gna#as5H96jI"iiK:$% +YBA4Z%,ifoQp%!2#iH<7<nh3d96(a-<(I-\HY$kf`+s[iMP=)`cKpe;$l.T:7t1sJ +K0g:^~> +endstream +endobj +17 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +21 0 obj +<< +/Length 4706 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;W:,gQ(%0&Ug:T&<N5j?uajY?@kV-Fk0,(A?cZ?`B*MLJO<9If,R[];BG/m;l?Xp +S*_66n>P$,lFNNbeZW%uhu1IfKjLi=GM:)dOjH<6keb>'?"C[*NE`KUmZPQ_m^mu* +lc"%[>:+?QR)Q):H`qmSQ6rs'0j8<lDk!o1LBh<_PUC4AV*%i6aJqV6Y4:W'eDifk +m\b)-7K6TjqbEV_]50c"NQW-=+7I^KB_C+c&pr'i2"qK$['^Gc0ehJ(Kiqs+`jt;X +<pRdS;e;3?j`F_$rY$$Hllo?iM&)+5)@_)i&sk8;3nE0I*][BPaZ]#?LC*inS=DuF +:W!Wr\S>eZa.Jfu#PuI6Eb_UO9T/KdBBa,lrX5jg9_5M1`b%8p,d/kTr_157m6s#r +T3Wo?L/sX_*FI:&J)P5Y_aIsIj4*/N*nndlno0=eQeT84RjL<UIGFMbj#QBnS?kTQ +CFIi\/Q.qTBb#X,='AB]M;h=YdZHboBUL;CAZ=*H;9TAL&XS:Ji7DKCif[2'8ID^p +77\@iQlI!<'6oh5=%:A4<>\K;d%KDsB<g%WK/)'$[T!Cc:Fr7\E)I=k`)[\E:R&\^ +q.,E&BbDVsLj4[tU`<.*X<fsm`t`>R7,"Sg9=j6GEa&#JVH!3j:1S*#md#ujX,`.- +VPZ_dR7q%hiEXIS^.$m?c'+qQ6"+&Ca<d0&(6?B1I[I>_V@=kRDeYX2c'jhs/gH<P +&gKPYj][o:43=.0([cj'U2I.1_`0#hmPtdi#]e!Y*9&^uYd;rcZ]!9XHcIF-FJ%q0 +`k'+DqC#FKBV'SVAIf@Xf,;g_2,C;9I2`bg<8_lD>AFXGd5ndk-U^!'$Qbh7F_a!# +"Xua"O15I+"6FbLN_ji0W?,[7<"U_g&5+FtcFNU3W.ToW")LQ^iJ2#sc^c^7"j"'/ +eVU%^MWrFicj%""hQ"#P-KK\5PYZZT`1.Q2K_WcHY((?TobKW[Aap]OYjSOogqm4S +>^huj9bdnDc8Z.<N*?2UOp\,$Do[Yf'&S64Rdm]eAEjUi2a*il+@J^mn!n\EGu[le +kjN]Yl0j14E"1>j3XGk1'%iTU=qUO.fb*m[a8(f@X;\mICD=D.=p3!HJYm7Pn?5p. +j3Ib_Q1$Tg;K)hBn'pq/=VRbAabU#YPqTE'g4?!=VtXVGPjN&Wh3Y%q^t/bt"FPK8 +1+>8?IScgb*lgAb)<L^&=G?SME*hL_4Gr)mY?&8I'^6<A2XO'u!1efH'@'9gDA[.` +cEEqa=:NMbIDK)Tb7d3ps"/YsWTm*]pdkb/W-_nb1["%-:n_I/bcYV%AK(&N`kA$< +\n4ZJ]cNY[a-)uj^Te(iGUqlr-B:#qht,1tH;'aOS2sUt+p=bDWQk>Gnfra7$S_no +%[PA'Phd\79S:i09O)Jg[!cIf5Yo-:V8^MLi'J@O9`iQ>G%td!&>:f:APPEFAkaV4 +V#KJ6;.4>8Ur"7TkGV#J&J_Pbgt6O@fn"6o'"sl&I_1?\n&3S-RjI>/,gAZeZ26'` +//lVF:Jt._dI-)Vbb')Nk/f6Z51.($Jpc`dr#,!`!<:Z,i&/R%Jop<S!/Mp.lMs7u +g!:to4ugY4J!El7lE<E2FFV4K`7hK>DjfVj>jK*:)f'T#^,njFbV2;OE?#/4bB/(F +0Jh!k7a>6tSM3<2RDb!s5YIs:(W>`&eCXrr0c<"`dbGQjJa*S@)%*:L<+D>!`OQ_d +!*D=fXmW\G=bF;C'On(!r)%s$KXGUs-rQfPEFMPB2&XRDqjY[P>;7+;2%c#,7#<"s +L+H)UH>_*(kJ"!U*1+H^f9M^VRI'SUO-h_a'FDQ?$FM"Wgo+N3XZ=#b1uO`*)\2-% +<-$k.$YQVc#NuWD1t$$(*)+LkR#B-e+/X#lT#3l>[1rq-N1U4A6`nlW6rl!Y!'fF_ +<+H@9:s,q\?WMOX_%4(pE_di?"PLT0X)lTu^Z%A,XB!M7"<BpdS8#.,g;?TqO)<Qu +#e\bI>s4D4)`WhK&BAL/i`0U=[cB=Mj<u[`)64m7c,k_brJ":p%s96-<QW,=UYglE +O%9"0,MhUO;Fjt^s+N:ra`FqohSiTpeh#*"$JVCi?3>=ATdo'*;h>>C&GVnEOod^/ +90hL-N:))pFI[R+GUX+.*5O1^%'6<^DQES"^5W=Kh-=lq-1V_=/bKG)E(gVZeTQ,n +G\@1hd\d!tm15C;/D&=6,$;D3c+-21RJOm\j@R9OOsd460c3#d.3K>A\sC0#<5/h$ +HF'S$`81;%5sH/T4;*1(1SAWcK*e_@*XEW^7haUd$Nuq9N?K&6^QZ2i]M=3e&r'$B +)-#KWj?DaO+sRHKM;t/JrGRp9mVZHMiF$LPee\/nTI2-LNh1[7$fHoLTpE1q4eLmB ++`SQ!JAP5;VE#bgY!W2rB$ue.5p"4hbtAK+hR;P+CXM5qhO4*tnhVW"b&^qZDCqi/ +TgH]2@`F$M<$?_DS<TFYOeop%Bm7KX;i=@l;!fr9TpLGD@MgMK%QIpR%q4GU62],c +_gfOa&$M;g7!PmVBFap&q)JO^4BRr(-Ii\_XJ-(5;=X#+h<h]IgM2)oA%5s1lG[@q +-Qm#9cUY!3="1W5;!*(<38!7B8hLH.a2D]W?QpVE4<0#Ei&G@[+rNs@.mk\;UYfE; +,a=o^Q_d?,HD\CcBM[\<X*4H8"X@^57j3+0O/)LB0a&FdJ*(qW4U&[+3/bId^UYPr +%Dj^Y,E9Ak[k&Bsnq,U&HT-,Z\?NeEV@rQM48nj+?D<qtCBMF`l#%PAKRt-mi]ta\ +?&lu/e=BF,kF14[iqP&^4Y>/n/N'F)Zu=-uB"!qD-+JOb`6eB)q?@k4$N(bH)<%6< +;=eh`K8%Ce6q($A$GOGCe>;3gVX+2G%,>jp6F8?Q-c0t9ra]R),SY[0bP0e1SN:1$ +-gntM-l%T#_F_UN"-8DjJP=<%pDO5";go.c,`n[c"'JiPjV1UjPhG4@[3sJ&H0\E) ++WPAdJU8LE:(6[R7VPf>2O)TR:g2TIV5*d;/T.mO[-@m6P7L'Sn5kJPebiUVgiALe +d_\mDpH-+s)n#rH,i74_n1/eq/tG0_h'cXoRQ0ia.T<fT%^fOcD^'!nF(s.onsUI< +_JGON%Y@+RATn^'Y6U:195daSKXH/S\XOAl3qP*Z2#*t<(D]2$FnPsLDIWFH*^WIZ +EJj%J(!987^TEhnS@S]0Ch)haDqGpC3N<g,_+4qDP8P6)bT^N\,&&cFcs^ig4VQ6, +"Yp-Dk`j18&E327)KZsT0SsZ*`MckV?sGApMO((I]p3;A!rjS0%!>"5l%O73h9X$W +FH\%rDWY38$FPUmkbIE)<h919`f[7\JZ5$<$U.-p<8a.i#uM!2C1^EpBOC)H4&/\? +10`^kH%OX/4J*rl"7`<_V,q"_<S6:D[I;09;dM&fD$!RVh_2g/D&Hs$GZ1TA]#pb: +m*Z?ZDG1]G!h@<.hqiGB]n;0(RWaH(4HDSu]IF\@WBH1R!*r6797G."oiiYgF4a_i +0Rt&,7d$`]@7C9:R_6PLo,#NaEr`k2CtWe>1J1qtqTT/<GF'L"5+g13P>^4==>4lE +=b*U(+i`hm1Q-nMB\DSn<WXNN\PdN@*%F*N:YXC_:eRa)UM!hl4Oh4IjITV@709hY +fQt'Opn'<2I*%XX$&r8=G_=G7ps(-F'HVO49L>FbU.iX2qF$ISC)!,5g&d?fcVI!- +?W8m/%.IPB[?5eR^Eb42MW;!\qN'P;\F^MBOC.!k)ZBO?LF_iF5#8)ei,\1amY=07 +:nsJ1!WeX[iH3@c!Nrh9n6fY8_bs##UXraIc$1Cd$hDb@3UH%nrr'Rd3h'=YcCTlk +Tm`t>\k.=c`>Q$gZTlWp=UV.8]=HO&$17=ORDjId$uk-3Se$.bpcqI<,4c]Cgbk-J +?I.%/,YMtX+4LM59K.%oGMGKAqtpeqBhg%O^&CA4&``#ZHu:.Vb_"Y)#2!8sP]Lae +gu;Yi&Q&Q[I3Ka?*rt#H7D>-Mb=#&N#1!fM.QBc:(OhuA?d&'*:tqV\_%cSZ\c]FZ +V0@PELs>QZG:nYl^]WH/k:o7<HYg2N9-ZQL-ja5GQP2!>E.I19`UuM,fEIhlfENC" +7U?LtXtY1[oF:9=BkO6sWrr2oC)M8H?(t"D+PZ3`,35MHqZIJ58X-i3iW\i3<059H +8[:`-"]7`F_'^6kpWZX?$Ok(mQ;eYD@MW2OhR4p3p8]?rmrB(ngs.of.n-q>OmTM% +b%&g6,oK'l5V#JDQ=AS&`D.9"!P@]aW"R"7k1?ICR:l8fop?q#r!32O-J0mn?B=$s +'rioeXVNjOQ]'_M=JZ\p\SSXH0Lm<](bbU[J.QWj,$o1"?.;Q4!C^(YT8##C,lPO3 +IIpG?&s-$imOqnfj*[?_](%<]d1u0]:3,/'J0*%==s=7g6>hr-)caF-%Z#\6<+p5s +*W@7(<_CJ!`069`3#^X]?%P(EeF@QX?5f<QU"QL*(m$_`?AZl).t_Tg_ilJ\=SrS# +`3UbuE+5[qdHBg1VUY"QeE;D&n$nJ5aI+JROS;qKg8BRp;9\fXeBHP7/pSgSm4;tk +nRs>k6bS!W\Gqra=R,(4%GV*UV%tTs*G[J^onJ=>X>7FoP$c,PLN3\]YW?JD=5BiD +[`kDm0#`IV`ZqQMHSk`UMMuD]0EmL];7X,tN)tDl[=t'',S-AO)_"A03U4=Nf%qiR +@i"(YmAE/N!-%^_63~> +endstream +endobj +22 0 obj +<< +/ProcSet [/PDF /Text ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F24 23 0 R +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +25 0 obj +<< +/Length 3138 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;WR4gN)>a&^@Yr6@#>((+#-TDHO!/M`5XUP3e3og.BtHJ4RcBRO#8QN(,JlmHFfn +i'k"P.@3^7"<*9fe#*^?mRFOT?#T(gGDD;:+6+G*[[t0<NApHo]j?\Bfk<Qu*R4TW +k_rlld<'9PkKEBJ*'IH>YZF#V]%adW9r?4eo/u=@r*DJ9T"cUtcAQ>eFXJ]c.OS/5 +^9h5*X]8/o9.PPs<eTAW_Ko]l!hW-OZ!t[io!8/5aBQMVM_T&30&?'co>nM8m!^&$ +mH%g4N.&[Mqq^IsOgjoJ[4BQ'CKC!?M[^ZD[F^nm36Xi6+%ETo`m/8kGPq4*QV[C$ +puf.:C-Ht=4T<gnraGHbkbF*Z>X\g*Y`q&T&=J6c>)_(V[Cp]o>bm!-'`Ki^G89]N +:?4".:h1He,<5@:kubtm7!6T$O&BN`D7-e.OuuY"_uZI![8lbc'o`oBUc`::Ol!(6 +C%=_d@41aI=R_L:Q$Qd`?lC6p!H9_Pi)VI*JU730q4WUh+G]l_r'#,Of(0$g0/iFA +BNQ()0cI<S2YAR4Z#efk)?bD#$V'Ut4AYHtG./D`9]fA!rS%2R>Z0=L4TL7iT0OA+ +8XQ^r7pPrpC?:;C])ar-8X8A?ap#OJW:7!AMRi7J%i_/15:<(>AU,(ZgiTX[p3*cC +nP\nS]Wm&N/RreCe^l(E<3^kor?$Stn3c[JbKr4"`CK`uG!bd#U_No%U1d!7[<>gp +Z'10Koc,-&'lf7(P9H]AkMRR8P7Uu=<ogT-=TcuGfq,,*(qKe;nH%g)s"@(rr5,,E +hZo4jN^)8'atA?'%4G6Ri"O'&]m!h.=f7O4gOik>_5B2i,Z81n[39YN&tT`&mCad8 +#Q8Rl!Ij0)='9lmK+Fof^rL-(7edhUba?&/aOPTR4"HT;jfLp/PM_E1(#3259X/;. +?TLnMH3ruiI_XI.@T=UmoeU*sgO$al26'OuX':icgH.3,3<-.j=:a.eec'Ht)a5+] +q0e\Ya-)c96p:FUD-qK+-X;_^^I19A(S&/fecD3gO%`LJjc2Q/8*TF6is(H)f2d!t +\Od$<DRT[@&g##CYS<^j1!eU]MFY2KHhqUeV@&3<_r]KT<&$l&h+I^anlI<TLm@KV +ZDoBnr3Qg.IP;4sriF!/<0qqnrY43"VZ*nWgaa!kXR2`rIjPU8=9c[lS!d?uHmdC\ +M8o;G)R/.EP-?C7K?8mifLo:Ws!ELPf,L/0<Q?`S?0^nO/k?dM$(dL14hkt?!n:G[ +fg@"+?Z!2c(FQ%_Q>r4W>&5lj,mfus">AN\EB^EQ?4;MZ'Q_\k@/hcm28(W!j6GZe +(Z5C@V0,Q`:@7#)UNJU9=JTQaOTVg\p/a,cLYVRmg#IMfN?4'7WQ,^ME:W&W_jB3X +f8E*!%tBK:&Oc,Mld,Y3#+d\kmE:X[QI:XG':eQS8F_ck7!1>]EVm>E=>!hkm+1kW +M(CfN-A/5$)r0W6P!\4IoV#/'3-H$RRKG\kl.X"C;S/1<KG&?:8Q"=V#Ok*D)u=*@ +TDTtmc&VcSd5a0+GZaK,*IN>`[2&;Q%DB<S/3_WnI,Pf\+8aVdbGaH[.R8DIrpfG# +5AFJuTM@SWNRE/[A4b(H(B:e8DUu0i7SO!VVr=+Ej=b;DD+92!4iN?Hg4m4u9^tiS +=DTlP\]Y];8_8D=NETgkh.G$;MOBmZlDb(dA=Z(fk@5.1[)lK%-?i'L2W9fZmj\2p +O_FuC,pf6VTo#jckI#ALddgXu(469]3"cBJd.IUkL7o,%YO$&s]NBJ8im.I*<FK>V +1D`^L'80GQ'9n[@s"7RU/'1UcYdn"lBcXVV**6&Mk[;3!"kAkDlcc<I\ni&=0_pi" +R6AN#1)dkYY:I&UUs;+uF-aI,A9&+0bBZGXg<-\&Er7(T)lUm-(dP#0Kr"7-MkXSK +L,NlN:?B-';2@4Nl%4SIr>Eq[(0n&@q8RRoPhg*Y7G0QIAOZQp3Y?0=&i",I5^1W- +3f,]>R,/(WaZ>F2pJ_E]hP)>&+*8$0!<<1//tO!R,p4Atcsjq1AYL>_?n4Nf8]n@$ +L4a#CYZ6iDrr&4i,hHbGQ;'=qol#0TKe$8T[_Z3A:''e_P9W#Z3f%n3n0/a^rOW+l +NVC;q-P\C+O>sLM(V\8`VH#:G3AcQbW66NNXjdW5&Z'9AmL7b9<3.eXf21M04PNeo +eo>SK68SQH>_]q4h:S.;oWbR+8:oFm>-Ns9s'UG\<>`lQ],h(:(unStVg+\sX+Sd4 +cUuDlF]ij,&1&XFe`a0,r'pC'<,W_s\^82&`'581gS@c67ij#2aY7<1K192VioWdC +hQC\9<g4(#K6D=1(=cDf[N[]-j/<.VWOd2Y#Yn#SF!'Z+F+E%dm=jdh:dh#IO]Np5 +$0&h:G'go[2.pE7W8/dK1],;LL1X07<]aV's05+8UUbh4Qsc@]8J<CRdMYYjRQ\&\ +>sGnuj^&./H9Y7+&Q)PLj1#Xp0r$ZY7=%,_W+u!d<esU=GS_9$RR;%<F&Rm>)&C># +lSe!%K,ml->0`;F*(8r,TiZRM\S,='F%qlF02,a]?:$Rn</[nU3@&=JVPWj:U_j-* +X4Y))-&mA`"sJ1";I<]_*VVHt2:J%RF\`'P&Nsc^eOY%A`Zp3GI1Mo[4XNI!8G$X, +kMb7TL#@kh8*M1Cr)n5:rgdUj'h#^jRP#J9U?Vm*OBKfV<7mo%]%P4%0QM!U#=O#" +&jlokg_a4;Y7;SrF/G+L@!@"2$sYK9l>"hW!Tj$u29"jlT_qC4\@5V9RJt\AXTp=C +c+bFkK#h&6mcop)<BF0,_A"t0jr_"ZGo0:!r&:eObd6tQg\/h^6lsj_h>+JmB3'gl +#Or)5!lP*mBW\ug+?+!"8t?M2_%hNOO="nYT74HNQ,GmMSN%ocgm3JAHr&iM[S\`9 ++?Cua8D#HW,3]?!:UCTW!?t9a#;P<DV?f>"3VJH@34BW-9a,3E5poG<=%U6]/F9pY +8NP^F;J;plOYh\2`M(]_M]kcIDKa@/lej-%7j)Ci7AOBPQPIh=I.-&BTW@#Hi[WH< +R+;dB.<eBXX0m[?>/IYfIaX19jK/K0Go&7[(.[jk\rAFV;@4iH+k4[5?=hE@a`g,> +D/H"SmoD0[jLOXiqu5JZh=!i5)Z\E[isu~> +endstream +endobj +26 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +28 0 obj +<< +/Length 5374 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;XEL?#L[o&acoRKc[e?(!UYLh;A>nM;+mmDL5jo:#Y_Q,Hn4dUm8-jMW1!%p<F'q +BdN**8eqh;]1[0h3-46+n85p]obV2OZJ0lmj?.Mfr8FiDNiThYS\^rt\0JSGSZBN^ +b3n;kdh>slhsCq8GH@E>c\bE#YG81cZSLhqn!M=FL0\FTD$#&gbUOSN^ec*)loFAl +2Z>bRDm2\=K0t[HL[hmQn*shPrMT\ic:u(FHUh5ZN?Mu>ZcTi-"`=mB[9Vm?G;/Ht +rQr+O=''RJreCI0rpq00I/)?2VXq+biI1GrSXU.\hnU'H+B)1G$lL,).>H]Bj)fBJ +i6`hL.\XE;H398VD<*1)Y%"ldE9L0Ms)1$M"q]lB\)p@,)qtV:Kb%Af;QS_L^pP4m +ZuYO<#d#,Vq#s#s#FiI.@3^S(j_UO]/;E#fAe,TN@Ur8iEel>;F.k3P(S`B^Vp`Pu +Ul0nNC"N%3E3XSO9_"QIV]"Pph*C88S2JiA?gLer3YRt7_;m^tLJ_;b'?&oiojmUa +DAo\qF?'S?#BCOLD%@pJ8IZjWQr:tLF>BLV4OSgCG6o=A+aK6"D'bX(&7NqNjS:]Z +DOVh+Cl1R7-gq&_KYjK4$[V<V_eq/aJm5.bX,lc.PA`\;RIUQh?0-Zt1R.R-loXAq +He@LE%l164QH2"#MJ6#g3(C\>Ja=YTju-JoamAV:oIIAAN;aAmAIb([_,^jS3AmeF +[19!-"9c;XUfg80eq7[KZ%[.u`Y*j.k9[`qm\4BTEpjumqijlt+$p?M,%!.:0:n5% +mn=_5W.tQ"kM%UnC7f<sZ.o,2r%"WHoO.M@6O:^hnRS;J==3CV`ceZs%,'6HU4N=s +GV1CMn(;RM8Q.IrUrEVgK9Z$cGRL)8m22bH!OIP[!DM1n!gYh=74EYD;J3l!74Ac/ +e@,=n&ASl@3dL`-9Q<@jChtItd#`QJ41C1>l%T[<fl\<Scn"Z>`n)2en$rGl`HMCa +mXI4/k;[L3G]W\lW2pF7StFMDD-r"T->$90H0VUm$9,R7NN/mZ3BMU-3t&paApTF` +V*F/@(d$#1i?AOVa<:Co&)jr9&@chB?sI&G+5t;_+:`AoHMUR"mH+ZkZ6GVO\VYla +d%XVGkDoM0GrC3XYO6h0Aq?3NZmXb2qD%[iZR:-UWiM.<`b,D0>=hjlfpi!^,LG\E +mpj0oQM/c-#4*Ws;`#aQdrOE,$7n:!\Vm"#BSMC\^d<<.aW,ZKHBO^qB;+4Gm.grO +%a1<:p';8UKR0Sl=C[>RdQ>I(bIL8M6^OQ*LA(#5LCKT&%+9Ah;I3j;YLoWg@LaFH +:/;+?LhXl!Chu&ZTHj37l;!!!3c2FM\(g^S7?&+U8*ilAFBj?S&+HZfA\B'sG(`r[ +!8CST>V&l*R#tJ@9s=;t4[Q8,@I3>k1tOM?j"1SJk0R-%(lqE]FGNFjno,2[!^l," +Nc287$!`k#;i1gfNm[`52E]F:S?qg<SgJAa!9r_g'q[;VhoQE7$jgbN^^>ReOZ@^e +6[XuHSGIOqJ0FHoAlit#>>jDPA!niH\(IlUD\(=V*!#m$;U173/MO.V*Fm+2&GChQ +$q'nZ/3K8c;)Gd#_4Ae:T./AHdS\?id0r>5/_3La;c@D`A3;L0qcWjf"F\:3E^-H6 +R&YdO1FsB,E>`D:K,I[;O$aOpY/E4e6htT'MNI?MRDLm''TM-Z+cfZqEI<_qq<MS` +;]HWShpOu)@[Qk7RZ]C/7Scji%,&l/CT8[#WNT0kQ%Dl,fG@"D]r$`XnZ^r?rqe!- +lH+W;Z?Dk#j1TUPQ2s)m@B3i'\pL7B*[h"):U?L]$H3!2bRsjhlf]%oq%>nhZ,IbZ +gJhf)XL_Fe.@VLSG+*itK,%<?JY0#S15(0RroJ^,iRf'X&(F;@Ms%2e)9C;"Tk*Ic +apL&C7`bco*'E<3FFlm5jP^KV?r.R_l8!'i;*;l(m'%Pj_?CsfC>pfK`bmN09el#K +>j8f'*]^B^725(miF/U8YEp?i_%JNs)3,Tn02G/`aS$ciBY=8UF\L!'Y%)K3Mj1;- +/8+2%AHW`l::;>P!.7s+bEU2$T?7<[W:I`#p^`sJs-AX"Cb'-9fIYt.6%B]sYfoL= +3,D;qA9_sl.p>k1oFk:pPL14,?>:hOlA)Ej.8iJ2iH(Of875%Y00K)r9->W(!/,%O +e:!:P&K\K]>?MunScQbi9,$S^KA<?b!pA&hLu\4b:2Mc1C7$?CSRMdH#'YCT@>>1k +Ln'IJU/$cZ?s''fTimZ.N<O1V:WbL=FlRJ]\7h=O)@%$4hgpHV8")S:k."M\-@rX) +eCJ8m6+^XuVl(/gP5rT.pT1UB4+J%U]F5$J`-E;C7V+o:a2aSU\5U3oaOPl+-W]84 +3a=]E1M!c_TNTNY.iXa$q;*H5;uV#-e3(+*RUdX$j7h:tiM`7,^[;'lWIM7@r0t/c +T7Len5V,lK'0nar_[DuSEu,)_&&u$0F@)jmoko\&1dY1K+PF#?OC0;oDc+![)Cer* +L;9)*U^J:U06JFeU`E\S#+eZTU^PP%;5L#m0<cZWG`u603ZjK8RKZ5#csd;(]SDJs +D"W#M>To[f5##u_%9\YO,[dqOYYlc;m3o,O8,-fS6^-hSWCA@-R:@qQfeNl!;sE=_ +8d1\n@Q8p!c\cJ+Wh!]c`NjHDfud-Ol_q*!`<S'*$(a_)!=6]Z+9KJCB,LE$P$_[% +@m,G)"X>kXC`V#&!*4i;Xq[:6%hIcp.IU.!"oF2=^uhV@=NX"<DXk4j)/'7&5mc,2 +h9Otj0T<teYWXFI\:Op3YH/1kn&-Q<p4EUmk$jk;87(3`h<#m(IgjIIXLPF09dnRI +QfFN#PXh5IjggnAX1Cj0b\bWVlgGR'#V&J10'd&9+CLpRE'_`?assFTYc-2H297W; +;M`uUAmW;M)Bc%i<_B9ugC2W\G\sZb&o7U8eQ+=61Y^Ut)G@+iqh/Q3V\Sqqs)D$O +DGuh'?5V0sC\`QJ%iG$)(m-%si<MCSnE9BVI'3`FLCkS]]F?M/WONY\.<7JXMT/*i +BL>ZM,:VSWH(+L>k:D?&dS1ZTG%P^pDFa-3Jdm)VEM3m.mS;p"Km\s96-^qI+<AP3 +gqJTKk!<oBA^0gF\UXkj.a<^'*&TrB4]F@fC%[SA#mUpt8pf>cmW+ORk_)h$*.+$G +qqum]H'4Auq*-!=3WT30[^>upb;BSEe7TMZQ6As:[-^jfY9V\>NhQ\9ZaKpuN7F.@ +\Qe?j('-&j0P?EJBF)s<d$f6KO/3kF*j?MY;&F$7A)(H0\/%:\[pcTt`lnGV,a,b" +<"WCc]%S+kZtZ'KF"\<#lg*l]NjS1'\F4CA\M.U5k)QR:kG]K:,ECee'Q>$BOGO\7 +Z2aY(MCB-8j7TidSaTZ95)Umj?rDOZ&h4Hbs&35V4`23)&AI=/36m3ZFpW3a:(.4b +,Y64(O9ASo>`l</;ku[9=YGC)pJc:]:gD/T[L[gXic&5[<F<H.HM>f#AP9h.q#?!G +re<"GQ9gha&L:1D?gG\(<^2<MX?+<)bhip`X7<JQ_NgB9CDPZXf17K(*[/^rR]:P6 +Qe@$_%&@E,pcE/W[$?*lMV7VDZo7bPMBlg.V_2j"4^>AEjetlEe-Q/e\2eDH@@D26 +_<#!PVm"ItnTNjLD_<)koh1B`]&$38a@kTt#n+$.ooffr1cWZS0U4`_3?M%6flZ5_ +R<>dgo"3\)B7H>kRKk(c['WDbK5c6qW'kHn<'+Jo(rRCuJEZr$^W,nm3I1sV7MSEN +#nfXW,Clfn]Y"BdK%1on'<7hTIn*4O%o,J=FcI[o@2=hHaF)ZtKYspklR'B0+[.3X ++YmTCpsANspioTLLf19QDEokQ7pqL@[+PP(/rF+EI\\fi=IP5r$=WeaR&djs"/gC= +Dqar<dLfKP)l5's*LC.80utbUZ_&SuLT1@`k/s7]4e77%h@J_1<GE`H=4`$1%Bd(Z +JeTJhPUle>`J!eFQ3-P)f>W+qK+O_hYOq[GV8cmclS2M%aZd1RmMUXeg`5`m4R47: +8p9b4'/X3Ef@JK3cGS@bXQq%!a"c#C2*C!b103([P%uEJ38I+<Fd/J]A5XX82^p!q +\'8EnWuYd;RAUV-A<!GU4@KHp&,62T,$GpOZrOZm=m:P98c1%!MmGN/Cp4+\bNFQ; +XU&JX),Z\:'SB;b>4u3;0&k.]m"JadgmZl=..jFmcp.]m/:R\jos:iA6\C"@MJP:l +G/JSdG@PUI0YQJ<VmqdU"#fqZPC3XeEV7A3Lj'j/!YV[_5ORT3d*?k.q7aSc\tHYZ +c(6tRbM!#]Ijklf6Mr+N(Zk2RY2`#pqFLIX+OSU>=.Y/De"B]ohV[=RdPh=sKd`]- +(TuMAbQ!S]MGW:?;%QSk9G&fn<*m9TWU&nAN@a'P0N)$R?9O9j,q+pCitC\.pn$L+ +\Lb)n6ANuQ^u_t5;J#No%2?!2@BoDchN;?c8TGq"Ti/-4CY"(Kra;LPUbnIVW4d>' +E.]#PjiML$1j>s(F#(uAW)c1G8KIC>j/:Rs0i."4>HhWclCg5]\#IpQ@C4hH3u-Vc +7@cGSb0\;!Ej+']]Y<XMHI*U,-q(V;oEZqPd8H.*bEXi+$__?AhHeBYlEQ!ZcLNQk +F,@7bHne/W5*)=<'+30jH(GAE5"Q'^i5U?57(r0`3qD@\l@e.fXug[][.Wa/[X!h, +kL?d.:2qi(^@:(GNJSaR2U-Pt?29-Un0P1diF-kLYpfJdf^Z:i#n8pP$?702j/I0_ +)?lft#]uR<.N_DK$_m?:=8J+H.iq:PTl/WAhd+?W>NWfIFsV[>ZYc^Mab^o_#CB>5 +=+qa89/Ej20o`Ur5QfpR=Z^MjBgTUFX_\0\41i2]M-]W9@,WiFI<O]`[jLTC=UbOA +DXTY0=t=ET!1.&PkGmeF_eYZ(G]@LQDkTu+dl45>,gX.K5^4fO[i>&a$I3>Zrl[=l +0c(i?6edBjUAM(eneWqT7P!W8+56#7mC%APh>As.m\>p$Is)@KTJ@S]B2UXJP[i"$ +K9S1Uf<>;<gf?:*!K!nA<(>M+nRO%/(u,^_c9EU"/Ujl]J^"PJd;tHIfnH#7&c]D` +N>1oY,pK<V0H%j2l%KN0lC"XiY\\a^pZ*N#Y00HP33@%0R*fp`6IYg3Q/Hu?FMUl> +Y,s@l2EnR<O]F9dC8N,g",&tV2nI:HY7#\b(o4-fR[lnC@8<&ZVXH?jClO9>rD*#^ +$GNN,a+B)=1naAI4P.Uc,@_'pSF^,T+cf3CBNIgm6*D-u)7`N7MtNCag(j@$i4.aI +::9*ep/^I$f$j?`]=Jdr7XG\\U)o?PY7<HmoSi0FGI"FK'A!-YZH_,L.dU2:`<1>, +du[9-:6O<h]U,8IIe3R>4TWqY~> +endstream +endobj +29 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F6 30 0 R +/F20 18 0 R +/F22 31 0 R +/F23 4 0 R +/F24 23 0 R +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +33 0 obj +<< +/Length 2993 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;XELD3Nth&^G$<"WpHR`aFFEa\c%)B(p0i[@:E9\]Ua\mXq_I-u1BZP*mK.4tWc, +@`&WK+Z2+om'bDiqWXoi5H]@N+4G3ol*%S0ACO\1E(S'uGi#'RVX\KV?QXThriS3X +l!)TnM;J1Z*f[K)3q#4#5Ed*.go$'-1`>'rMt)$3I=U4],hgTcX"%:;VeJ2ZN[$9g ++-3^@#>_+,E1]Q-?AJs]9s$+=8!9og(4DCB?4VKhs/e6*@&HR<2GCHa^])`@4qH6E +l&F\=deEKb<VJ\\Hb]<pdr@KCobl\YWBS:;Y0N0pCOYJqI-_=BePCM/#PIWWkJ+%? +j4D#H)qoZ:eGiJ9o4.6]]oO(tOb!ZOan2<cIZf]?%^Tse02`7<p/#8h,;2^h_C@NS +Q6h[K_n!);,$O-ATW;Wi\#b2I0^"(!(;[,hrFA*LEdg!0W\?(\J16u6r6#g8i&A@Z ++2O;$^6g:X6>Vs4PX:!-(aKH\Vb$:#,i]VAN$k/je/.s2EKdE/InbWEA,d1%K7!Tg +^R0@AWd"pC#-E-VgERWl(qe?l;XGRa4%4NS\5O[/CqN#LULZ,XZ$du48RVO.Olf/R +()lCg.]<sCQT`=:SU"^-4A\qDDZh0@bHZ[R?Hd$d`oV3J[]jis4cm"073r8@bb7%) +<OZE_N;7N_?ZUOX`XLZ]TA&UrEr3!Q`hep#ALU\J1k_L@9V9T^E]DE<?II%obgUPK +==Q[EW)(!N*iLU-Fg@A:V/,D8a9+_8al-@M4/AsQ%)]Rk4E&`ta@GihD^DM:GTs?E +L)MU<Uh77O#_c*s:OcZ<B,3A#fp]\!SEV5UP:877]?)%2rY,YC-Xti:9jK+6N3DHY +8R?f@Jm<0rh);+?Bg)Df.qjer#&iVJqTj,ub/!>c``#N6$Xg.Q@'roVOt%kfg0T0j +Q@9J[3,:Q6OCYha.5:cd3r0Qh,)e&STTBf';?t".6;>O<&fP`q=o,^-=1u7MfM^7r +2/j8Yg;cf_cQjj;Yjqt%#C$,e/Uk\-dqY,d)%':8#AE5C@DdN!qW+t+R775b9eMnR +S:G8/[1?i*9LEl#MENsC,/cTf$iFB@i.*4=BF6ZnSfB&Y22B"9cs-V2IPr-pa#Tg\ +L(?,L<9AC**t'Ir\=_/2[9]_V,ngoTftF`R>ZP*-S]B[)#BP74H-oItkK^?p3>G(( +F\L(R,RGtolbI^K^mt*XGg'rf#ZbD8(KA99aJQmg>@(YN4&T1shOLbt?fQFeP-#B2 +%C&N%2AD]2flp\(*(^XD,4FLHZgSQ4nJ1E*<1q?RZeFoSn0Z?;Ap*i#:U;MB4;5W] +l0VaMk"ek)*&b/n#6>_Z3F0J>)q?VVCS8+Q.u;;^(Q!KF1Pi0YftnGuG(oFjI1@Cs +p=%VH8A9lPf.W_MD/&f4QHFpEJZTNE$ECTDWrb\4@]d&82NK;C5<k(7P2#8&Yae81 +_j6mu<KPN8"f^<+?.?c\?rpb66LA4pd=X<unOQ5GWa%1q@srQ/^WV0R_i>`sE*KBU +q,<AVdPXXY+pVSPFT"0EcZre!H.qKq&O9NmpfP23Eb_4ijH<Ok<qAr>!5V@@FiC=l +Vf1dTkb57Ulit-aQ6`@V5.6#.JV>;QiPjL"ZoF(gP6EmfrRmR8lE'F`?VMF'l9siY +r*FN;bRtShfr]A`:St:jUoOaI.6q,TN%D@E[b]Bc"fA(C>)I*oX_hkagu8D&&$I;, +mflY;R\hEdatUYm&@QF6\K4T,g3d=maM&*$EiH1phq0LGqWpB"mEGcC:PA`,(-*g: +MCSF`f\JTYBSi1%H>cVJ)GA8%$`D[[NL\huJj/,rn[dF%N]cfH\5tLY9EXmDm<CmY +3tk)eHqTj#'(t^WiOtbRUsh<>ra^16kIp[id#G!/:&UiQP79`^:XKR'(X5fs7tds" +hmYI-(ef$b'Y:4Q%hlEql;QS.>ug0U_PfG>)S_!CGb2i`<5/1qlK?EEHr(%UVqnff +NX_%"&Rf_T81H)]X@8;ode7[@L5k![3\4KPZ@-B:dT2UU1_a"[G(YdBBNWXM"I'Rd +n;lIY?b6gCO"Z2>J1`gSf^m++/f/gQ%#eM2E=8*g>#pE)P$iU/J>X`@K"euGZL9ON +4sr;lc#;]6J"4g2\q<UD%^[5dVf*oF*[BJ\3,%/pd8?PgBfgL4<<js+/U"0F[>ChX +GcXE2\cl3*==rSj@is)Q!SL]37^dul%d?W$4A/CuDcf_l45UK]K-U"=]:'`6XWGX_ +!<8(.jAJp/_oU9$&QVW.63O9D4K7NP$8_JMI`0](&u--lDH>>1SuR\VpkPSO.`4(O +Wibqcf84Iinlh=NP4"ee@OGD>5$8G5i.IKHSR0hV@;4+DB'L$N[!ImQOgtMF"?pgI +=PPMPJ[n6d"*K:Xd_Gr<CNgl4=jkmJ4V;OO'3qA,/OaupJN:;*@OMmtT[fdf3KVFB +p.TfI^k$@J'r=f-r+!F>OQVdagQa3._(pb*l0*;%o&``q=5TZN!jo1/g_(C<P8.>? +"U;90.S*jT16p>"C<\@8C,]P1I]O8-EHak:`KB;!HZlG1acW<>WPK<>2*]?'\S5n; +ea"4q!$b-Jmb0cbX6gg+d'aFQ>Z*G]X^9u%TngZB_i/V<%,eBlQAZ(='*ZpLSdcHh +8"7MDVnm7^j"D.CCFto9\)71?./Eb^Q=R<]7695L2.s%<YCH/`31nsA&]8'Q9.U3Y +>DsM0O:!jY.HP;Ib*=kh4fKl2B@"+f(M^<E<@p(WrjEeu\N`#Fq]0S<>(%@3G4SOL +=$jLf"+',2%V<Ec:Xb6m.X4nT=G=5cUrXT7r-<8jRSm-G&''h_2[F#Sl57B[5M#aC +-l7oPnq@;S@Xk<6!huo(odC.T]pL9fQV!og-hf36_"7kaWU:^H)/cHd(k+G&;We\J +L3%1?"$`!"_&:Pe<<+A;T[s=HG%[%W(#gXG070!pI3tN-jc8YA^%uanXAnTI%6>kN +4@VL^>2DHHHiG#br,e'F~> +endstream +endobj +34 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +36 0 obj +<< +/Length 4778 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;Xu\?#SK?&Ui!/nDak[f)*Fie-L#Oo\QCbm7UF:!c];qM72&5U+0&aI"-S-bUb&t +[ZL[rMBLJj5A#+PB?iO/f>X5[?X7\\0,AbM$CtN@qM3tPke^V98\iY]o>Y%j^Ua4. +Zb<m;hTUs;L/ok_Hr7Ye:");Wg\][Z'q+@=ea-Y$^Vcu^UT%"j,GU1kA:p2HlW&(/ +Dl\)g`P4oi-edX$g=Z>/h/(7$$HB3J]@/+^f[>g12t<r>H$+mSY54Pda%=f+)MqYC +k$Em-4du[TW/n91UAAPG<S\MP[WPrdYZmp'-7^q:XZ82i=5S>2SAI[4o&Hk8f'9UJ +(NZXJ$b4@r[@cQ\_Tj/;-)kX!`]T6iaII"d)g!4k'D7D%B?e,iq]"_R/5'p^Q[(<j +D%HAV=bHmbB]b2<=LG@0WTS-$P<:pJICng:\r#U&%`pEjjS6c<"YXCU4ghUa*N5M5 +[@'$TQ*XH/Z([SL05/psr`=Ic%.k/I1_"Y*:L.=E[.qaG>m/2sU>VEOq#ZSuI'-NB +TP'=Kq2C>!gHN`4A\7?Q3Y(*DaesL^Ep4,pSP6[n3;Bso[Hf28EgcVJ4`f&W>tq*C +lSq==`dttHg=d*nY-2/6)799lPrNWgm3c[JD;@0!'(Jah(J`(4k80PATT^WC`Ep4& +eLSX0L:nG<R3<!@Vki/o<\5@K;;]O@Y2Rs.6ifF<;G5m/N(gog[7cH#2EZtRK0lr# +'Ieb_#^VAa@G$9c/eIDo(uk48[-ClV7:Ob6.GsM9mddoTScrKWjk=>2"^SotK\cD^ +gsG71obYZoEFA_G]5EQ0*A6\@=Y'uZ;js_hVX)fW:D0WjkfahfYHgGA#/pVj0:qX$ +"%[B\Nn[0h\#5UAAFl3Mn-Yb-a$+:c?f4oE-483FDA2\do#(aQ8:u>NV:XV]?2+<0 +lUG3K-R-2_\;!"F2!LSY?1lZKi;$Mb"gS'[8`D'#*S_7nFk*<Npd_m?ZJ5dZ4jq#M +!Zp?]O:AJnm2aUV]2,1`+)pBG2oe'>LlO'`r@Fm,,);TQ<U`?te*)M04mm?:\H*^m +SEo4G':gfXE^LZtF[f;o&HdJZJK?*_l9,.WNjY\?"#:8:%AodCmLRM?YWj3"<FS[^ +UR-YeEIe&::b[-GFNPu>%/(i/YKM\n=s\W<UeDU`)u/MJeE;6jWi*@g$$'.\>aN(: +g38n#IU0>aXQ%\BgTf#@m45m5"*otkqdm-7igBq4bQud^+ui4<hV4:"+o)q:4/=kK +@#(3a%4UH9O?2G,V*j!UgV-"?k!btm_471dH$pVZ%^*ZM+9qD\\0-E8eO_$A5gF-! +7]&<!9l+[hYEbVC&fCr<`a1f6B9`9ZhPpViQ(egF<B'EW0qA.CFF;K#EDVq0aCg%% +UY!,qMAE`IE6D22&Jebb0?1sH-5il:6JUWEHZ%5R03o!P=ThA7IAhG>!Hd"N9]>RC +DUa4hGI"TT^W(\I`NJ9I2<G?0UjtFC_m%D7ZPg9>g`#/X]?(pFk>-114(`"QAk,P, +?n"Ud4I:q\Dt.:5!OOWccb*(N?K\:&ZmFKG0eC!c1YRWi:C4HmO@%XU<dT]3?s:XH +KJD-!ALYe>W/+35$GiZd9rAOC;:P%HW0*358iS.CJt2"W,b8G^r<(/Oi?So.@%jNt +b6]Qi/>^]S:n07-EYe_1g2i4[_N@0d_QU!bL:k=D_*fN2&+juX!s!'5)7+ehr=cKj +>4l=oq^4CujJDD3'.$[.fC_mobeJ7,!mG0;)?4<E1!!uY^GGFaVBk\*3g,d7b5tk- +7:`4Q9H0Hr;pc(3N;-+:8f0QUoYhY9Cu.?udW&0=pk$6;Y3KRI8ei,9cAs[qU.2Ms +\N<CDaSm2H-)-+$C'se_a3nVEo7`HkchqbG6Ja044#,>A+S^WO:ngRRaDp?@_bsqQ +rq43c28SGN;(^=66U%#S`n_-!=s8;Ck-n!29M_2BO:Jgs-'o6M'_[$:J"139'H'B. +`fJ)@luHc2&HIL^m=%t8'%?bX,FqXPh:Qq^C]Vt_&Rq;N<YQP^2X7I,OfMIrGV>/V +Sm[_(\e$<@L2_<FXS+1K7aF[$6a&mjH;DA76c.i+<q%&3^n+EuI%]AChkJ4k@eUS^ +Sh#MV-edZ8.L!?A1B<__ED/r0f_gLMYrbP:/:0)U\aUl-'Z&L]9"g4AG1VtkK'+q3 +(/boYcmTPfR#p(Jld4C0p%0jd[<)t>ibrm(opAL3FEDT!D9AZIhS+Db?:Knpk&!TH +HF>Mn5eQ!\Z8X?>q,qPV.%+k&TKPFFCJI:PO$lE-P,RHeU;BK$I%[F:b#OG1^7R-t +dOE:,L',?pXXPslm]-4?C(*Y%_!n%4]'kE006EWngW/Mc?mWEYlPW&?Gcg"._$P'^ ++<u#<?nXeKnDsasQ9d>m.5D<A[#&S-GJ%\.!*uA5Q#jhmR^QV#8hsol[obD*JUMOG +@2mGZ6n\,]A4X(`Ut&/!\3/Zc(2W>4Q8CFlH@Ubi/^fe8*f[8eHR`;4[oD+AVS9.s +U?B<]T$#VqfegJP:\E]Pnt\_'$=dI51.f,F#HGt]PB[`j]G/L+#nW`5!:YP7cWnP/ +?u@.p.s/j&@V:\7a4K>]\HhbG_Ln5fXPt!d<:Gh4I%IDLDE5nj[='W(K/#Cu+pOAS +A+56d2,O:>ltg*(eDk/=qMf6j&YDMl;8Un:cKA0?'RF:=,DmYr2Rli,qi,Y<]'2@Z +)6A$"qbkhJ#T@/a<i\@khLfM;K.(eE*e9$;$\7"*JU@DmM@o3po'im<M>@maQMMe& +&,`nnI<SRU&3"HZ$pRi*0#:=6^E:=RTUa>akaljf(R/,8EiiuK[sTB14lJ[J/m$rL +1Wfu?:37:r>&[A43LV)V=NLa_;c8(M8fcH61roeGF_3#%CTsu*$`[abQQ3t_c>&6= +ol]01^8QAZIpO/l2*%1/OO,=qFR:J_$h^nKjp`]<Vu+u&r[7&X*ZYo^EXRDCP"0$( +EiAm+[Y^H-<QgI,S,qI<*GHUn>qqUro\NP=H2^IAOAam^mL;GI3T-?a%FgF1-3!P. +?SY-RP"D^"8OE"(K(ma+/I!dBIERs\[teQA!R6sjrB#$WabqVYePR,HP80\2ILK4m +r&(j%U!V(t,VKLq\Xu,;QPuD-b`*B-Zl8CW'%,j>FTiMS3fmhHmX)LdHYpr#CiNV: +]faPcAl\2QdPsWgUB-80f,kFIKW0e+O9lWl#5DrT&7V,E&:1G<9ENA"14pfa0,$;s +B[&]lVO7<9J87\rks:ep[U_ju]PObBEt0Z[oj/GnKVK4g,X/UD5:%-iR*QPfQTa*m +oX)0P:M&I@MIrT1W!kMa:Z<VFo8p#6E#Ll--iD1'C=H.t;\mp<MS1;CMbOTg7U\fb +3\d"a%JPI]:As?PF*i$9`1S$+i_8peWa,pbL-PG1G=SpIQD#VU[[R`;\#\\$4\K8^ +WpAKZ")]+6RhFrW?coFG[qQrjht\!M)Uq6*loJp5O=JW[#K20;JI2Y&E>hJF*+b\* +o';]^Ai@&dPdZo:?LPcnO72$9RQ$)qg`;sG"i;g?:aZajZ_q3h:3-\K*aSB[47O'l +`DL90Uj"KVN(c:mP"oO!j$+&^`P9!,$$hd",7kd^fPM\,49oQB8=/pn")opH^SXNN +![Au?JmU[S?0^l=5s3`Z)F,40+ZT>p(/WoTCYaWjcVZ*Wojah1-Z7EZTU[B6`"nOr +ZY*6/PA1#b(*QkiedN@0M[YUbGUbe'/bWb/Qs'95L<W)?B:^p!f`T#iP3;iggLn`9 +BNYQ+Jj>csQ@CM#KI^1q&PfH>H9&mAf>>D\/uB%d+qQJN0"!i1a[\L[:\&&?>U<Zi +>?:]djAi"?"r_Y;=PFYS0.)L]G.94kh"\r%[X@($%Yqob73sWL,0^/)EHl*#XHGCo +HHqIe,fZWb-pIR#=3Y(r3"s_k\N(:m7Khm%#hidNklE11I9ZS]FXDA9[2q]'ntfj6 +QpZ"@@eUn3fh3\FbC(tUkdsiV0Kf`\&fOG4>LfjVHFme8Q@^T=mXalbD!H%FdKCEh +AHN-gC@r"q.eYcCeL^,!q`kg[RsHTWig[^Uq2p`OM>I&Z,%6XJd>90D@oh)%jn=um +U`PAh@p`)3;+6Uj[h7q.Jd?l;akULRiZXB"Yi$EMe',aXQ`B?3g0$,.W;Zp=0*X:j +QFb6f89h]:LRm)4)@7'KIi'pbKFRI)lHZbEO14'%?GD\!k/p?iZ^M4-16+T"=*(.W +,L#&sKVhu2o_4!B;c/#:D0O^>.F8!@lR_)I%b5-D2h;'69RJ/n_?3Qq$,U]Vd'jkJ +H&535#A-/og*?sVk_$pmO#PdOB`M*Ki7,riQ8"+phfpe9.Ag.TqE8_0.ebnE1plt> +\0Li&&cuhsLb(FMEc?q9.>nQV8H^;uJ>>L#1MJjABu`S%&*qn#`.@J]aeVl3]OFj? +HX=-L/cuFNLsR6b1c/(()7/$j:0h8:gK"Q<aeE-a1NmVSB,QuPAZO>Y9r/(1>t`%k +$r(b3iCJsiQsCkI@(PFc0K92i+4uHU*S&\Te(,qmEe"T(.mjlP@3t-ID"l^WJ\U:O +D/n0a[IGKC$G;s*9T]e;J\%PSk\d0&?4_Y+c45Fe,YjRQ+j8oJBu3CsPigudjsTHU +4[+@qAOEr1ctZ"H(Fu#i=`&=F_c0L+nJ;R9(();3O`#g4aW05Tfs[oLaC9^r`C\/: +Tr-guAF"c&G>,58[?NW3K-K?MF*uZ9Y1AsrWj5)p2*F\/&Xin'RhgKdXX[4@MTZZh +'LNWK'pBeM=4_Bi%03>VC.e~> +endstream +endobj +37 0 obj +<< +/ProcSet [/PDF /Text ] +/Font << +/F6 30 0 R +/F20 18 0 R +/F22 31 0 R +/F23 4 0 R +/F24 23 0 R +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +39 0 obj +<< +/Length 2432 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;W"$gQJ<i&C!"<_';^W0c'rcL8$/]SKsER-FHSpWQ@=0,9(1oGnKDej<<EPQIH!& +n^uqQF)/2[Er'nDAn*F,%78gY2`o4WD#&_,3cruY^%,VkM="#SH1p)uI.tIdpVNAG +Y3/7IAo$3a^QLaNc%EFe7'jG=%`?Zh)P.W"am#BS%;l+TJm]@LNgS'Y066dUe`g`< +aC2<g.HI&LOK=t4bA60dkX`=RIGFa.Kb<[YZsgip$LH#!bIO0\rinRE>2&#K5NTN3 +NV1C#j3UL%jTDT@Po%UY\.Q6mC1V=!lfQJrr*fKRid:KFoBS@+Eqcor[6:qchUu7< +[s-DAer>QEVkX;JLm61B6mcn>;%b2C3`'fn#!s`.Zja7p-W2$9RP*N))/@KGC#Zf7 +8dsPa-GP2ZOmf)4qFU_2i%\ItK(nY5IYub&N`C>5jaC-Bq24bK\6C7S`?+Mi=#0:] +eSTRtjhg@je>0,"Nm@R@H2=H`.4oPkX$g0UQ@APA.qu&NDL!HL!8C8!jaO'BJGV(4 +YC)BC&kNYEdc9&%!^DiC?3lc[&KbJdUQ=,R;A?3B]HNQ#^hAIO-7sPs$X2aUf'!CH +oY=ZW#Nh5Icu1)=X<Qk-_7+heRngK9T?W_Fmi_L5Y\((-5*M<&*jt?ZU\kY.+^d?5 ++*^LA<`>60k.S4bO]<.QOf$$DE,>o`%j_hS?](FgcOYtP1&63p"ZuR69Clfpk-9W5 +(^jKE?\711'.dW6WRqufA_ER+I(<QD][_Uh*`iV]Ff?+,"X\2&T&n`M8oC4Qo$#W> +)ZUP+=_R&O2a[qZ.YTm/&Ku.W\:1Lk&pRIi15ati*$FZBdd2`-W,'I/U-b+BYrP9@ +7rg#hs0B#.]BgT1jq@K_9O7]FnGgm!<sEDJVLu-&WRgbE'm_[iHtFsK'Vs07jKt(r +Z[9(balR*Jj737%i*Ujo_,8qWa%Yek].SHf(9A[]bdnm+.c<1GU6g+u/E[A:-^*E& +64@W&-GCI8:TH*Xfq$!:7Yob!h?%;.USX=Pds]YaJ_<R<luKDL^dU-eY-YqeIFd7; +]2?p;Z8OYm7`!5/ZIXh-OaK1M;B]:'cNaeWV@k7*E!_DWrM19bk@D>IV-[`7<74m> +%QnH!+o>%JFN?;W,eos?Pt")7SrjQqNsugE/R7],mpdC#]IVAd8c;dA'<CQ.EKV(j +V%.UZ;4qtH?E_gTr8)7g@PuhYAAgjYMr&ED1^le*'T>C%;]TkDNHoK`BEB-fA)^=I +B5t)R@f8YmKl3PT(k?C8(@69;Z\I3/Y+nN4TRKNG8;:"JdO!'D]tZI&-E&"*LnR/[ +b>4o";jP"tRn8F4:PpM8KtP3FH)ZVt#<C>.dIde[hHit41;Kjt&pLJAlmN:%FGfdk +0`#\FXiF&UZTh"8J7ie#*N:S]\Ea\@<3Ue'dfR?&jnQ)+s,sf-.+@fRBTt)\@2q., +"$$TO$g]nBS*_JS6Z:dZCh"b"4g]J*C?mJ8B3OiCW4W^u\fIU^\79-(SG.hiMKWCF +NjlFk$HX+5Gg**D/QcBGjl;*"8)"iWMjjo]$6,iF!>D_p6qM>nD7LQi8E!n!mW,GX +VR!hH:mQP]#HQs$L!kieTR6IUdWm3q.R`oi9lG8c(]kOP&UaSGG2uk%8+;a1\-L<O +,=I9R!4tr;"Q@c2\1H+$R-;O.IFYkV7*i"p$^B0DQuPBgNQ@e*`u8BZ-p#7.<'UVd +HBsb]33)/!)*,SC^d5@0,J6qWcq>KdS;%GL4CqFb;#0T3CO8qCW`Ki7HrO)7U>4S" +[cO;_P6rP[HXL<;_qDukc3u6cer%bsMmP[n23+8+-+8n>Z8HmRdP;.hpsl0g0XLHt +1UnUN^/Hke8MoldW$gYETFBDA(g#*j2_Xi[%`ZBjE%JY"!T(s.E2\Sq2l9H"N0WWi +fGN^CeZ!*W.4,&88hDL<@`*IXLTE5n'Y4,u7>i<ZV^JN!qk^K;+Lsh&98/'3?9))k +P6R:&R[P6;.n]AX3;CnK3)!X7mOLGpT6e9gK;7Arj`lQ#k_@_cU?cq^&O/]6=>0n/ +G^g-&FgQ![$(_=$RWsi41!g*747!;n+;A<*?305'7:NH#<N1^;po'd=WW`5pWm[^3 +_9<PE`FK?b_ON.>-[g(F!S%O;?j9)oJ@%rW*'pcroZA<c'*gDm1a4UBD!8'-b\2C; +Jd1I\p)b<1*gf-H9aF_;6GLs4_3r^DK`dYiDLrc_C%1WqKRc=F.bVUKa$_TW*5uHX +hHbie35nV)#JQXOpW?lm4S4`t)4LdmFJ\l/RnT71[H%Jt9Pc\Ua4KWs,5sVT8JD6' +ZbP!4,%51p9.Id*62%*]SPAo*NYB]HV\>.7VHHPjhI+:umKEg_-f`T6?IaF>j?/3m +']sedRpBr%]4!KU:!rZ.+ZbeR[Ds(.*Ph<#SL.3VEkAUU*rt>ZN:6~> +endstream +endobj +40 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +42 0 obj +<< +/Length 3376 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;XEL?$"c1(%&>VKcZp_";:o/K!*/C9qC[_9fCa_G.'3K5#<FSZ&qR/8_MMjqOS(F +&k+m*m)aLl,!k/HI\(oSle1Lga"SEina'k`GrcH)8&%C/4OiC:<qJ3&N.US?FS=#k +@_?MHdsqZ(N\!XAfk_9oQ;(gHT-S59R>/rD?P9S^'!h,N1tD^$9I%":laPM>qs2@' +ZD-&1ZlHEAM..2?03_V9Qml`^5tgl="TIEcCSkp;amZQcNS_lKIuM68nlT,8TpO2; +OT\p!-&E6e"$Kt,7^'!cB>9GFkj0\np\L5+d*MBsEEhnUkk]&lQdM;gd=3:_$F$6m +fFns?*Bm!?C[9Qe\M`JD,lNH`b1/IKR`j''eN35KSJPj<n)5Xr=_kaY8,H%\P+gqr +rF2%dq^P0k&1;0f.3%-BV\u4bO9H=Rc(JUG;^aYo-L@djW_i6D7D=+"U/3^Ih]nj, +UuLhU;3<?"`8a6T4H4\2]dPM:gMC.HN\S4,.k[HOlO+G+&&^=<4;#0.fs,:c)@FT$ +(MZOqiUt;p5$PS<@OXYSa*`YE6BHFmR6OT?!KU*L#f]FakEiBQFl!Yir5h4<:b2?< ++=.hd5,r2[1Np>q0e1>9iX"Wme!,8$4V!$j[W7E41(8F&bR/hZO<V*8q]81o,TJ\( +#XL\g8@IpICqhiOFjV,#=VOLN:jdL;U+]C4,`XY<66n^rcoq9KTF3pbrJ0;o>E?gV +(F8_KKkW#':DrL$A>\<F:*eF3gk<uAMFZ`Dc/),NqiYgcJ%IVid"e*R(PN@%oHE<Z +G5X](5VV[3`JP,H_0a6e&3jj7H=k.9*:>(^6\S9Y28[VEs$7r!I!f&';PfTR?]q-T +C<W\`9sF#PN+/Dea4`c4okLtE"W%a/&ZhurqmYQ@D:8e+U0t%=8iuM.oSGV'\<&.K +aqO?lPtOlF9U5'"Xd8TRKSe7VU1s@;F87Ohe#[GF`S17XpOjs,PkIp[(G.OB%RkI@ +43a,8Ms9m)#FFKfo^2_GVF%H)6,;Vp=d5b^)h74u$R'Ba.R8BiCKFO'j^2Rl-g>JK +/iWZ-IBi1RQn<44(nu!A?JW,Nf-N'*AC/&a]lX:N"8qBrU"gs/QGkG?.GFaj0WFl^ +=]^@tW.=JUq=imGi4G`CAT]Q[kti^#l4b=bQ.e$93XDkYD"$24->gMB0D(gJ&skC` +Z#lkE>1cc=mVURCgcO&-\;Ll'&C,7]!M;DEf_LUS>.:jH&eErC)f!ihc$XAUe:*k" +HgCB<V*EU3)_\dD@GBVGW&>U]CO5i!ma#X_kHMM=2Wg9OSF>1g7hW@<($hm![]B@@ +W"5f\]?8mU\.a.-F(8tG"s7T/QT9b3It\rSBo6J9SUaG:(QoTZG+Ep9XoOou77t1i +kd%8\U&?9u\;OefG39Gq@a1W*VY#&f_$]d1_Op[p9VCdni/h9r%<[s)(-X,DI8.>s +I0j<(1#&`%cDu=\[i+i$pL8[&4$Z%A@NupSLnt?3Mb8gI'CYuk#chG.*b-"<5gu!W +@J`HuZ2o\5r64dMhC>ln&Ujn%D[::+SK$Ro4>4e7),5K^&1gH+f3L3B@f^d%9FTXL +W9uE&N+8@1K\6:!AE4pr#"k6$*f(-ZMfi(406stX&[XC-Zf@/p,ZE)b=@Y_&/dMnb +p++4%""c>3P0#Cd[or)F;9Xr/W1[69b"oWC-IL1I+&IH(Yqb)EqeG:F\g+c)g3`0= +Z\*/^Ef%N"c$#@0`Ljl:ASuWpR"\n@)@Nr#$+Ae(g<^Y1&4O-O0?$=5s.(4Sc3?KX +8AS;`->6>\YTld#;pJSbEh+In_ajFCh+;lk]0L7X?9/*]]5mYcK?F`e2Sn_l*1F!B +Xn.R\>27,"+l\/)+Uln0WujT2g=W[)UQ0#Z1@5DA^?:aS&XuK=f6o)f8?^%4Sl_c_ +jUUu@#FATCU'I1K<>QOBeLSf&EbV&+0%#6E[$^_0Cp'q@4.k,1I^c[u^@q@Eil.`H +'TT#r<u_MH=p!,m77ffn6E?(;ap;'<XLs6u76O5IDMnPM;p@36.^t6$h8-W<:n"7= +3Vc&G8G]!c(iT#G>n)$MLk.)l4u"b*%[/(BFO/o04;hRr&*-TPi2Q8bjN.igl%-MB +7%SGimTb<.GmCGsrBM&aG;S;?P!/%OI2[HG5#U[pPaTZ2:ch?,b><%InH&,C"=p.g +8e&jY`'[%4Y7NqMVk1nf&=ss&/@eY\:('1kn.6h24TNF;;kbu=!'hWCEt,+t[t]nF +bI5LYFgeN-,SZ8.?o]1A!2bU%@<u.VceA!c[iZH<nO(7h95`pSRM(N8Bp"9'1WTeD +YL"Zmi#B7'MV,O'E"3Du.T0MCe[Z!=;f&.[SY)PO0Kh,`W>MTXjl)H9lKn/G6TQX> +!GT:W5;M9aCI5]@,t9ae<H^Pk2&(q,kb*)(aW9)^n2K9KOq:Zgk2CZ+J-+'>5;2EU +o6[Wol[#_!*?ZJsM=e$S+$Xe?)K&(p#UtRdZa)NYAC/#3O?L&^gW^rnHHuMs46kV0 +3]j3<%a"H_Wi=fhj[^B_YP+]roh/8ESI2Lt:\^Y^&.dFG+.Ko>]VNt)C/;9u6*)at +g%YCZ[9_b#,C=UJ.p/DPW`A[g6D?X*k16W7/RDoJ3Y2Xl+]]2KP8ght@T$Qo;O5QX +l<JFGD-Gj"dDk<e=@m#S!@7<k!%(EHlo$,phmDWQ;1d`eIOEN'qE7!q1tg=L#^-IC +8**rsPh<MIdB/LLjJ/*`&qJZ^`uL$83.a]A9DaEh7GQ'aV3Lqj`0AaD]&6o4f0"kP +q`WRA+CQ1mGD99PoRVpLFR:CiBFpPGT-d`.bBkd53gTG^K%t(SJO?->Gn`J2UQDn) +SPt+^W32mcJPG\H:5@7)[Bd1k`O!\kPtNO(OMdLDNoH"N@-`D>7*%FK2)jqB>/gd- +E[h.+k(,hN0?<r0K8>,X`umpnCk-ac6.EabaJ2DCMK]A1-CWZ9(#K@D>&nn7d%aq9 +\g-:0MsKS2+Km$CHDmfD>U-Mh,.4<6fV^t[Vq:S69-^%H^$Yb(c]/^ao<SN0qh.A8 +=>lb-;/@4i30oEWWaj+\W98SIZGjt-Y`f/q4;DO1J*uG1=53,Bj4f1j8\N(:4#Yuu +JJk@t8fhC/#n=.saj(=U);JtEg?Hb>23DF=XBl\(;r.s]*e(_B]A9C8NCLg?ICMf, +I%$.h/r+W7p]5-C+P'bCf/7Dg*8+R68m@.$4s[DN3Gke,6Il1`PY-_D0B*+$df--n +/PXpE8:]N.:89@C,(PPa1^T];\mJ->[A-L6L*1!"=%16XLr!n.FE<U(AT%BsqaNun +:M,h7/A!cl,di0]%[Kje+HMMg!r2\u6Q$WlHG,pn-(HbVZ#qV!$`)=4.J!G,g$&G< +!+;8p:&~> +endstream +endobj +43 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F6 30 0 R +/F8 44 0 R +/F20 18 0 R +/F22 31 0 R +/F23 4 0 R +/F24 23 0 R +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +48 0 obj +<< +/Length 3006 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;Xu\>E@OM&aluTL&32%]<W`b0:N4KP*;]t!^0'd"$Hn750u'%o0a@";;TL>q<]3J +%&qEr]g*Zs?qj'.%VOpnbK!E%_>%f9%&;d%4,>4Nq[\u@R>$RX@PS>SZf1I/Qje1k +n__&N_jqZM:Vt4a3aCg"<U``LjQJY=SHQ:HF`a)u8am>k5ECE(go7TDeW2\M8$aHp +U[)GG%<h4u3/t)=JV"?I`]dN7o0lJk]2""I[A]CdqrL$HaV7L])8^sp1`e86%tZI0 +jWB+H35$1fms_V3^+9Nh)'lO6SB'gqm$XO`o7ci^`\fsh52?[fruOX^n_``[Vf0?& +jmJbY\iRsLh<3a(#%-d&ru-:%YY6GrTO`pPDhl_^@S`@ekM^9:JO'Yu(?n$)5-)=s +\eN[N3#9bj6CHQ'A,(WcJR+DGH"Ea-K5f=e<S83_UYr%"mF1D[cs'TgF50H-PbC&/ +?IFHY-%4J3PM;s,qR1B%-u$a0!@%74jZ>G)QMGT.kbHo]@BN/:D113?Hr&l11@Q]l +>32YK<$_:<d9^TT7E6JDPq]LZVgLN@6BuR)3k$Kqm:))pV:Mcm@KmF9EJ-'Z1JYQ- +*/?GNLHtq9^lkm0&[fOXK3CIhWg8DEM,?)?!0*Je"9Y*Q]a29`?+c,5/ZXL+U6[)g +SrD_agGHl'99WFlD)Wb"JN6$SXKPJ<:Mr>>Ljqr-]rPkBJc)Y[]mE`OT%%en3PP4V +MSoZM50U7S_6qjJ1CAN(-Ne<R.d``ORVO4>H\L8+02PdT#>me'?I?36BW5CGV(g6O +#ahBi$/k-Pf*r'/.6?]lk$FnEV^r9/-t/Lr"hrZ$>h`WO"tUm1QU?X;ShbmnQ4L"D +j[#1B7JiKA=iR.lGeM&570>:."fCoH[!%2rpoCQoP7rBMT$kc*_18mDUiQ:Y6.jo_ +>11aZo.ZV1dOup`P(!uq(/[_PKaFeP;%mJZ.YMp!Nq\SH"\4e^];9+@r]%G(_tfYb +_Z@]eYdTF5m&LrNL\br#O0c#nf:Z*s?5L6"XmGW9\[b\fQdte/d*&Q7G]PneMeDSb +P"0=H$;7q&s/QbX&&Q$faku2dEb^bHgW:pF;t3c!>RZ#nLYQb_DmpZ=]lGi[E,XFE +G';Wt/:GBH]X<[KR'7kgP-Z)2W#)l4-VUX;qlQY_@[SeAR.Q,[f4Yd6LYj@*HUC7d +M8QUVVW"BZpCh1ZY;s/;(8k?j)!@VAGa:WgcWq1urSguG)E)\5Z6+AY^`;%L0HIc( +c_SY1WH'bI[P"++BA*qX#D+N%eNn#!6;cTagYa7,)qg'AO<1aX^:cL\i.Q%f;dS6c +W^t9j7XPBtLOCQWH-??T=P7_UXj2#-QZ"1'*GFH2[C?":VIT(LFfpRu/]qEMD9R,K +\$CUZO#mg4gchUr/F4S3QsKsYfBVVS/epusn'A>+NQt>TirGcXQSf1uj$lP\[HJ,Z +,j31%#%/nn[d:kYE(m-L49iAQCu\[J!:Pu^<6Wg\QoQ[ip3&;Pi[Ze:FD"i1eqHft +bYn5'X_NaD2-"^SF_U8jc.-[eWnjXhp27-SGOKO469%cFf<u#aY_3A7DN5Rdg2OLo +m#d<Ep#@Q[8+GAKYb3Gs<@.7*@jrK>T6]5(Vc#^aC?qlMIn)!1M3_1\'>Plo=u(F> +Fdkh97cOH>7:8o)2[frR'fYf/s1r+PIMq.mXk_UNXX[n;Tr':i`BgpLXq+2e<a!=j +*A?W;o-P/h,?W3S-,n&`r%2u3XXLh(V<^9/=X@P.."B@Dr^ZIpM[=lS3sS6*$(joJ +C/`$>`Iapf[L7QF*5DPt%:`X:47E[PM^F@j,&n_+R#$Gub6#^m?"YZ5H<:1#iOM73 +KiE4+KWaG\#^Ej=53ikrhl-kFGm^iZ]5uK4/qG^#OF463mO$[if2oJW?M/VJY>!44 +!GbpVmGdR-\CP2)4,p@%7E\442Z85b4<<0`&><8+#,]k&!I_S4Yq3cf43#I;aMqsZ +pMIIN^qBdo4(1KBZc00_$j(bPTh!_grS!S&?CjaeF-6%`eqLBLgs^5b0l2$5iMfPr +*@nf`jg'XB?@BDHVEa'"Z@C[d83abJm2nC/XdA3SrHtu*LCWM__R\*%\(W#$e/9&^ +:XLtj;]#?WmjoY9UXqKTSO]d:riTPDSoGBMS`M!/dQ=O(l_ub[kCW/f4mL,XrL#\> +EA<_+M_HK$SO@DRCDu^XKGS[1&,1tbFVs!.-4&H.40r0SB][5K(BY*[$Y:X'cVa.+ +`!1=Ib?NCfORdKqbDM4qSFV)$YpV6%"bj?#>4[S4XZ%8@gqJ0D8R8C6F3u%4B1Rs> +RElP:X4+jH;4?rBE'\=$r.oH,R*.WBR3c8s@pn23;_@N]UC:BSSrpHB0A46#Ugu(W +RZ>u^\\IH_XOY-KOIBc*GKLP_k5)o<]m]X4dN,kO/'QmAm;8mcI.<^gIgpCDF()<7 +=iSTg)Io4]jf@WRq92TWZ$gm:l,Mc>44:u&KNX,0/?sMN)4kLR1-4rZZC=Xom(Ds? +khR0PVWg)I`<U#t`of_<!b&SGcYlS?)9]u/L+&nKFc=.\+W.s,J>GW:Zu*OR\eFMW +A73<$?(A7S7G^BB8%6t;[;a.W`6p#jk?HV'N+Y(#9fK=qg=5$O8f_\>C+pWr9I4L( +RabW`RRmGGG`T%K<T_87_]F!N=d%?:7jf"nYu7TO*kZk6ftE0gImS/Xf_0PTDjERu +7fth8Q"(_f=!1N4bch5UiGg=%>3UWQJ"JKl5+i(gm"c*63FW!naRVVs]!U&ik2"p[ +mAjmf5Md>1BVRKRDPB*>[V-=L$EsZh%->l=]C<b>hN6LWU<nr8!5-NnGl+6q2b5Qd +>TCWij&)/U`PeO;po4_*Wo'H/!!i\NI-8rV7rlQkXZ`9o*UoJb2Xh@j3?jC>lY4q$ +^Y>35kPThSB\04Bj>?q3`D&>NX&/A!O[epk9B0PgFpKB?>;nL0SFJUOo:??^7CK`( +&[%@Zc/d]l91_dS%1tIs0?_1]#6:D(=ha~> +endstream +endobj +49 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +51 0 obj +<< +/Length 4920 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;WR499\,M&\dR40Xj?536&W#:fOH8i[C'3I*j!u>3g\bYtJ1EYXO(GmDZh'rH6GJ ++BE8>`<-A:m,uu-s6\sn%j,XjRFTR\Rp&moS::7:S1a`>/<%mQlK7R_?Tl'tiLcad +l=$LYc0!9Q1-/Y:]M^]#DTp\W#K?_gWG0u,`%QCR1Tui!7,PFNh:*LM@TAateRQ'g +%K7j-T+6)40rn<d`TBMS]5aPmK$2]ZkTtpEI'-4S4+$,]c+fr</fNB89l<OVS"JQ9 +pUK-KG4R5$-tM/pX<@JP_X#p/\VAfP"Z00HhS#+Ol.W[V>Zkb/Xq(#rpHQln9,@1] +QqG<-<Ghan$`l=p*69c2U$\Udp>$ORLh=OC.<f=i86'Ln]il@lNFgB(d\u[M-=+/c +>A]:K[<8Xok2IKk#FV)%7/,E`W=@'2*"G]X>o9`mGu9Km;&sZ^]X:Qa:fISNa"J<U +Bq1XP1s.%;5HsMP5q]T<**][kMO\I?Jg3R>I`CX#Gh+%JV%.CB_q4&'%4Aeg($\HD +DrYdZ]A@$j&G';neY_TmfH&gdcU-$(SD(**AuM$S@IdS<eZ,Q!\X\%@O_i0U;p9m2 +fNad:Z@-U08IrJgSLju,aV-AN[d0FC1DVML%eEZb.9db!lS^h-31n,rV+17MFEcD% +A<)p&42``Lg#t,7n1gF35i!X9`W)WLg4#OH@kY97lHhr,mLTM@SHFI\06&[WL88IE +)e;?!Z>C\]>nYaM&Rc]%?<Ic&RNqJ<-6Xn)`ml[N/0RONe5'V,DDQD;rV%0N.2C(o +XH0[,2kla$o#s1>c@fEp,OIBH8SZ?l86t/;nHoTG0Ga0c=aQ3<E[2kND#dgD,8VI- +CbFBO+3/;ij2k5'Ll]c!Ef9Zo(#%(IPT2bS_RrqE3hITn?u4A3Si;"4IM?=L2e85` +j.puOihf4:OJaXjEJL_eKYRch+O3[:#"%b<4\*?J-Tj4ANdS^Pq$agrRJjXjUOhiP +O<q,aKoo38=9YnBdGj3#l$E?_/d!;i!T38+f6j0o@H$cTQW5o\^0?_n/u4NtJ<Xo3 +#=rIFcVo`mXolfY6FkCl1s#^**B2%,Y*C7S:Ro@g9;oOIF=J"^>9!*#!`41O0'K1' +>`X!0C7ZB=H1?WVQ\Hg`-oWhm1WDAc.,3R^(SI\M!OaU#&HQW]^Hn#4-Q);1"K;nD +FF)N:89R7A;ms./&TeL.;fd?MqR;'aLLt]fhUj_rbigKfq=lpC0,!%)5UH*_9Zf?r +*tsc/Rk#;SpCMXOT3g#kj,J4]2+%Y\/mbUIju_32X=cjt58`_`ilNHnU$LFX8n&@4 +;RPu!FU9]55"h_Z`a*J>fg0rk5#6,@J`S>I?on4,Q,O:8R5:.R9%'=0LKQ(+l`pf] +k@'7ke#pMB@F<#Ya:hmU2lI?\#q!p!T>a<L<oX"@`<IN1MR)hF,.3<9WD';>0g\S? +Lhikr#fI+7.,#'(L1Jfn--Q'0PD?\F`;2c16R(o!@)sc3`)m1%+?R5_)03a^>%.Yf +1=tU)@(c2q$_AFLg=+;8XZcenLLC7YOE$V@@ie!XSZaR2MDH9/meqqlq#&j43Q'a: +n-RC77ns,>pT2R[F$]?:^ckltapM=D*Zt.&S8L=;CptGD?/OQG_*^`OdE=NSfgCBl +$B:Ls*nBQ=GV$O%[m$KNnE+UtE:]cbHa$8=ZLFWi[4t`3Gonnj/L:KmI:\a08\(TV +X!/RB$+Y<M&j'+QW38[0$3q6:/,?GjASS4L"hdpVjB(Jd)J&GiGe")<p[afWMAnr] +R2MClKp[pOcGp-L9`4O^M:2]_>dJ:D,+c+(HhPU7m%(;irH?j+0tXk?;S2F1QJ,MX +5h&Z(8RK+XHo9Q>;52-Qk,Y1".f$2,4RQE73Oer/kEYd%R`UpuM6Z;q]W0K=.A)X< +33J>0I=%d2X4?@YA='.TW`UMsW*17@80VIDCdL*RK*+Aq>:gM$#A-Y_N_MuOhN,Nt +%SUUE?3*XAJ`"t*5Vi?-+WA6=5hT:cB;-[6QH/)%Oeoj;TKK8hr2[2H@->0]m\2), +o[9Ub)]9ih*eO<M#._@e1eO=Zqb\=AEUOq(]5ND6>5['Pnrf0lScsS!gV)C\dV\$H +\D:07(?Cd)5:!3r&34>Tp0baPXtM+'>L8`k.$04%ZJ$XfgO<Da75ZS_Oe_R^+[3pA +f:7EJHW23uSk"'$S.I?Mn$Co4!d.Vu9[WJa(;FI8%!m3eM<N6fN?@Xhq_YW$(!Itf +C@:dha[+_7G!t0=AkkLZ\/PP%908NYaW,_,7'oJPMd/hj*,9X<o,Gm$6kS2=)>,"a +4eQR]1_kAG_rcVg-Cq)h@1q^!%Ck[:(N.?&,BoW['Y`jh3Gr&WfXFGPR!E!ncT@]p +=Y4fkC>U"7?r?!OZ>3m69"#dL;JpKm\p9b/2uM8[Eh/),oc6@&'IoLM;RJR%9-^B8 +.g-_@7'$Ror3VBCQ/$>A4cfM\+&A-kS$1UTeFE#/6Vql+X&#+5"]6W2fF<aQLmaLX +M?L7lW9QTD+EG=C[lR=1@cBTRjTq]#^W-S4jmI]l3$:c,ACCF<9<U+eQMDg?\AOD% +_#/C4_&"a\_3S])$1'6ZW$^.Wh7MV9B#&$4D3,c9-]*<8G37WYK!rrqj4Q+Ud@&X< +U=sY6#ncLQON)IDP=gSD&M7^U^N^C9jX;k/m'W+<)[9-c\H#aCY&`*-'1*n.qrY'; +J%1JlgSUpL&goY8!X/.IfXJB4l`s2#ID.?4<-CrM68&7cg9l"_H;5T(&o`3],,bbk +n_ASJd3J^E*0/g4G9"^9QFR^Ym[;28kpXgC#%'GEr#LhY-+1DV&_,--V+aMG`osNM +"Dn(Q9_-h.L`.GbbYAcuOhdbG.uX>Jcqb+;9ZSnRiEb4bb7k0AV\`*K'LkWV).ebu +)P7PiWfE^<<%IYBU_,0i3b`&]f0L@HnDB3";6md$(!%4[6RlfRg)kSFNKcgPC(M3S +AbY2+&[$7!g9Mio::h2goBO-98AA_&^ej*[SNH"g%J5bf,g`HhZiU(5h_V,YWFMu8 +#kEj%.p^YG&Ed;rhMhLAQM!YBl?UG_.6%gl;i3#>kC1F+`"ZU9;Y(]?*PN+NVNLq" +jZJ(WLo"C+(7ma"'-S;boV7(X6b!,P,gDC52;qdu_IX&pM)rgL($nMRPmkd#iuNC9 +DWs>hBj4hb/R5U=s7YFGX@H$`E]Z(L(Pa=V'e6W%CCcm$YNV6R7ke1*G7\]M9(!O1 +<X7lpOK4F!K\6\I[oc6LYoL:&.nr[8ZsQ\'8!Zl)?L:lF5lZ^41?s!s=Y<iF+\?*l +Jm=!t?c-hjcV0#nSX,,7AjAC\XE_hAkH3YBK8U9^SgkTG4Xs&_`!`J\\f>+dKUX5= +Uph36ZFS=MCLGpQR'SS@&cUs%MJRmgr0IS`TO+F_-d/Xg1`Y5K4,<mdMg[p::]I3& +>^G-_JiMUC5D>+kJC&]3P02$@JEi65KakDU*#OQr(fR0O8"<o^g&%D0?&Bif!'/\8 +;>]?8rpuVlPq%jU6C@[SOjC=+OXE]WEo2_:?B?j\'kjHA?0Ki@*^T_KMOnA1)!bu" +:h_tX$$c3qd]>r0VqheBMX6kPU14jm.&:)uOZS_r0[mst*5DSk*/(NbXi[n+TX%T: +2]g3$888LEgb1M5$^^8DgUGU05*F16^ZEX3h@eYI%<Q:Y$k%^'B[VZMS&k;S5<rkX +X?KJa:qp0jD$sR\^T`"qC*RM:R<N7l4.L3D+lB''H*d9k-NQ&^49MHV@K@c3a^"Xo +3_Mb9B#h_aW%fErA[Om0JE:dgZ\;-L!H"S/fBCbff7LktFMY(>nTgeD04:K4W\A#` +`35#qaHi7kn-4+#qF;fKd8oF:+qBq\]"ZELG>k#SD4IT<QpW^k-2j7E6n5pl99`?- +/a?bK8n7HXGH_m6-ql;@acsA_2NnsU($M$2d59t&bl27Tq0TG98WP`N@k6)NV`+jH +fL'YmWj1`)=7(KhQFi"t$Xq-dde/'G(KpaBCoNAkI.<E89&QaL:JL&j?]%WdYLhoE +s&I7Ca=`YahoUk]$UOod=8'eukrUCqaNWLk^/*6G6:hes\W7J(4&Zij*-+oJ-qqVL +0cN;t%Af,ehc3lQ:kBP<qBQ&WQILi(m!G]d1pR)-H0)T+h`5!e(%G1d=RYco];Da# +(ND!VTP-<`0RCi&)%7e5dVWYr`.Y`)08cZXq/4UrNU[nO#\(?9]`>)AOl8afCoiTa +o**4!,\UC6MBbHcO\RJ7<\TT`f[;LGXa-*`UGo@id%:\EGU6#th2l6G2+[J%)1==S +s)'3iImV%#-ALWAWE>s\11[mkBfGKSjd)4@TXp\d9mKMJF%e*Jjp+`,Y]@]PZp$W5 +s#<:aF#`2#@L6_$1*Y8,n6$a%qi,[kf.(b-I]%\i%j1"Fo6Jlq6g8DNY'tFUD4Eh] +qkkBlUdHEb.O.b6642k&/4)q#6:_t?osICU*@g[+r2HWPVHd[U;<8=Il2)'Bls?u? +Z_Lm8(eMOjb-I!S3OGJbl(ua.nBtuLe;V+%RQW+Ygo@#U?2lG%Gcp:H_<si=472$% +9_h<Vgs\/T@"as15.mS[G,D\EnhmumbGE?S_HUui1gM#+9P5R>O#Jf&Kmcsg2!kf? +o9,2+$;3?lNQ>j3";%.N=lom-3"Z0C')19Wh*Nc^_Km\5paRR(^m]9=N8g4O)JC%Q +l0PM(bLDNXQH^ICX3sXP,5Hmf2mbMH4%>':?'JD0A5##A]-KfOALV1!R7B!(&Mc6Z +r>9,$]#NqRWY6=G_n"K1U!M2[AX@<<+li8IeJV/[H+RZ6ai$,TAu(dW.?@9B&c;.Q +<aZ9j(@[DI7Hj/-loGJU!mBRg6&!kt&$T?tQ9!M\G60eZk(I=N4j?MUFjiHO9EHZ4 +Ah,Sq/ScJ2(jHd2e$$7fR3-J>rr?[g8W`~> +endstream +endobj +52 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F6 30 0 R +/F8 44 0 R +/F10 53 0 R +/F20 18 0 R +/F21 54 0 R +/F22 31 0 R +/F23 4 0 R +/F24 23 0 R +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +56 0 obj +<< +/Length 2802 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;Xu\9loX/(%#2>6;+=g;5,?$,@rl62_V9pP;JhDRWSJa!hpeDGp'p'TOi8.hqeb! +JcmB(hK:pr8Iu$ma1:@S4DkCfmq20"1>EoTa`M4qi3JckS)nTP?,ir,E*EgL_rG.q +\"AiB;%:OoGWJQSgLBXlrCDrj1nJQ]d:tL52Y6`,q?oEhP%[@HXK&5s4IaSbbB]mQ +j7tNkNpnrA7cQ=7n3OE?G@lQZ3mtlMe*&/RjEC0,qiAQUKq/uHfPm/%L>-VOdAPCc +f>0:=(W1.W(Gkc!48<YH?d@]^bk_=s/?K_H27PB!=6oO`-jPf/K?;HWA2*hkq0Do. +YNGEJrD:[l%\CBTraG<\C%/=BUQ*FG70R.^g,1f#R8jY'XjU4^RG#)P")THl3o?OE +Q#sQn)!?n,P%Z0l(eL%@)2?p.dV)LpRt>U.EA)OuZh5eG0Lec-d_nVmN"LHVrekRX +'@H5#;^PE7QeVcQHqm?tSg-gf7.-=ELF?E#@@HOBNU:9GDMd4Qf9VfoeU3"@7J"LJ +"SQ^Qk"0CE0:hu)#Yi_Af#BBVl8fWEd-,"G;^1&,oT^-E7KspZ-S!O4MeLm?h;DB2 +6qc=3C.G@PgHU9YR_J%lpO;9iaT.?Xq9KRV&8`J$k!'rI(RoOdFFD#bBMlAV`5)mZ +#4JA^&n_r=PdJkV<60"fj!E@*=]Ii.`7[E^%Gk"gRDjIZ8L)B0"hlsg0(29UgATs< +@`iWN_l^OqottV>:ZC&L@k(up?9+emIO5j6M?b<,6utK$0iaD=QQu@LX]d--q!KN0 +S^Ai).C_Hb'V6W"RT<_lmX]Ag8`O?<?qfG_A$Q4O-Gf=e!(6jMF4SSP;'F)F<;SYE +@,ON]39od@N+'Q^q2^5t.@?<43#89b#Ob8,,&c$nCg7u8C'YA"PT&:VBOrB&^rFKV +ndZM/,=QTD716G*p3WCI2u3(2=B^=f?d.X'-uKFLV_ZCiZ[?QR>@eJX`F-A"eeGW8 +mD><@<9$P(rRl/e&kG-3bq58mPLhpTj#Au0AZt5TT@hf5>AJ4jIUSP[33?MS'NOC4 +"X<%/$qT(G_coAhB\Eh<d[*\L(83PO_&;U&ige^#K!b91j`W:EUUmp77F1B+Q9u"! +la6.>>k4="K&?"I-Y'cunnX&A4lG(lXO*U."MtQ!YH0a4#T3i$$aKG;-cNeK%)=ou +ZaoR5JZ&%SKH8tV^KQ&*_$C#/(>C[*;e5n":9f(DFOPg:1Lm$\SM_h%(?Ji%CqO)1 +A>2Au3J\#0*e6RgXsOR;SuqNnB.i4s0UKpK$iF^%cQGG42FFV<J''pTLr?H2pck7` +0F3[&C-%Ek8rg61R?0GbA*Bs^1Tkeb5A@u;JR-,D%&4K%j8+Z_.%XiBXS]f:T>Bm' ++FC`R/q4RiG^<T]r)W%jEZ&cVVd$gdNHY-R9W(P17LPRIji@&O9n1Vq\83fU"_+qI +1[$`1CCN5O0M#9"G@.qb]Xr?1=@<`03C"JP(PE<*[(q=a)29sZ@Q(Pp2mf6)8'E;+ +*gHsW'm=J6cAgXXL$r@l'k([:g2M3$Q@72pk&E<h8W)LGddV7mFjmV-m87X2a2rO/ +N2&TO0GiX(cGWeWk<\"e!qk4QTh[\(I0ZKp9(MG-O^_)7\r@4eQ454g+lN#.,Q8)X +GBrDR07,3OS`<a9j&+]VMUt>PkG^d`9AqbLSfJ<BBXmch-=0m7k-pU(3_I1[q@bc3 +*M<J*Ir1G<U#EJ8.c"hKY7su2$[0&8,*$\Yaf[kA"!fpV%m,\LideB3\:/Gc1NkI] +'h3gSo&?.?=,Ru3;GjQ#_tR+D``4)tD'iF[FOg+L*.6p"]lrtXr@Ce@S-\K\NLL/( +ast[dl<B!IjP_+/m8U;<5`t)DFVS4Or8tM0:u+E]%Ls#>IAL"mADhc8@kD<935KLD +qH1=Pdij7A.<G:;j^8%XA/!K1?JRVujW:)PRL?J#rST;%?YnJ=K$2J]UcX4tl?rN[ +/6;L6Db-_UW<_K^XOS(BOGc8#2(.$3qoNg<II_"R'E@pW(:Y7IJfOi_q';N3lW?M% +N\]CpNHS[.s'Gj#?@qA+,b?6-Y<OYV@!X`AG0?nGp=rMiWWKHHMY9^YSFG<.^S\LP +?]grpB?-4uQmfk*Zoahal:T%(V>!<Q3A<bhFi)R&l;HNi@:*#U,*,]tCq\BAS<Zbm +Kb0)nY[g$s\[5sh<,Z/XCPS^UF@XTF':::?#7$#nQVPM[<I@#ho4>SMUX8kt*o'KY +Wshu,W\'3W*Pb5&Xoj2=^*#t=s+=F-OmMkDh.Hu*eHN"Mbja!M<W_Y3"3fIVqT\GS +B"fQV42;W14W`<n`@bFlDV&)nm_]_Qe]8i>n0D]\efH)R<PIT/F")rGPc#&;OQR;; +oT#8>lGHc_Nc.3,Jd%/M@WT(@ddA],W7kLd[H_dDS=OjGCU6_J,@PCP-B*-A4!"!k +9=)?!h(d_7TqMAq;Nu#r3uQV,T/YJ=f*R`+,F+i&TG&$.ZJj;7H<p-c2cm\V1So`! +,)H73:B^]p<dbj!gQhZ\!k6U.Bd3;skn(*p=9Nbk(@iu5^/jaiW@B1JGm/HK"eXZg +U=:^k8ngokT'>);J?,!OpqWt]1!'g%W_QR/$_,*j?K5a:o.`[Ve,-BRY*-/1J61!] +Rn4`1;)4]\fa!Mfmo*1W0PNUB;$C^%mUQ"BE+BMo/AeD9W?g11=J16Dnra\-h;>;0 +g8NSmlFo4dR[g3)7JXct$JdW+?$/+/m:L!m;<p.mH6JH^<4,Jp]&[OpUkF($;u55> +ObT3LZ==l]LJ.?=mGNHr!$KV6F8~> +endstream +endobj +57 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +59 0 obj +<< +/Length 5330 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;W"$>Ar9=&Ur?8i8^hn2LAeKl5DWJ:CbYNEa$6[R_m>P/Q4B&8p!KONr//>c0X_) +-UA;'UkZ3sT5S?!/n_BF).2WC\Xq>,<=8ciWHF<"Y$uAB=Dh`NqD<QtgQep*NHeg5 +B%Q$JpM%C3CG"99_Ls3,S,'o^,CZ>Y6&bD=2"N+Rpj;4]-O'%dJ]Q;fiPa8]f0/': +\0u6Z1.PapQ[d5.>sc_Qq"k-tIBJeCa]=If<n7*4qP1(YB"I9-)4@Hk'iL,O`G.2M +0hLcfOjY=SCb:8G?n$cm*?I'tY%Ckk3^EVPo!He"fiU[SnA15L'4oZ'PUPk='PjO< +\r%EPOI23,JaB=N=XW?O?7P-=BUi%iig$U)!@:=6fhrof:T955(Gt^d,Ai*W$XK&E +LK\F'm7tj_M%D6IKQ9t`Qj"Xh$HaA!eWqVkQ`c'`W&.6_-#"2%jk`O^-W-U;:_CC+ +erVlr0%VCGb#kOj0[St/3MpI;.69F&&4$kd_PbJ,K4cpYb@G"cf2+m_)lmBiR>a`o +2,g5kO\A6pAKGK\nPG7D<fSVbPD+%qejYl51MV`Nn4o21-7J+o$C?o)C8N,986[pl +CLgEWM*qar'!#a_';J6iP3$7s/>n4a$1ZH"=-d*T;T)3gl.Nf3&^#c!WF\cA@MK"a +WZ@"qB1e8nZ;mhJRYZ?qg;#rbO?B!=[Bp3<Lp53'*\7Xdj'.<fO$ZFBcVu('^7'GR +n2Soo*h\ZRTc.0dDH'Hj.^_f2@L*>3&1KEdP?h0R(j.a_PNgGRTMoQVJo:<2l/3&* +Cgi%j)AFSRC^jO)U]mQFdL$>o8MGcX/1&Q*#l@<`3Qi*>`VIH:g9D.p/Reh*@>g[C +!Gbg(O?AQ%6hhnO35b_/!=aXh$E/+5RDkgb@!b-f=WNl]#(`TOjb>fB$JMJ6^u,e^ +)jujK.)DfZJ.<3_LN87PpPd"86\L,GZXAgu;3WO8X8!7;1Es#r7[\3q3-;&/#T"D^ +N[tCif"trSS7at\(87mCD]+:.L1,ZV(e7,%?4S`/^bCN'jl9%9DoC7sH1eX]m'cgQ +?[b0@oH\2f6Ves6oc)9,kU$R;.!VLCO>$&/SYHd&hs\U"f1b#)"f6D%EPBdfVI*L` +qe=^@l`04H-R*hU>E4`:[<EMaVh&N7rqmT>mCWDgPYf/E/aaRprE>%.4N,b9Q43U\ +SMSfJ5g!0O^X'j%j:?Ptf]l!Y_rh-Dp0osVUA`Tco@r*VOZ$*)UbVasLD>/`l6`7^ +p8qkJpa?gH[m6ff?]`Mu0j2>b_ZYn"L;hj$A=phrKVr!9EcBCj@QP:,Ao>T*6egtk +3!S*gAi4S<M#G'D@3/;tl6)ZH1;f\I)=ar'ZCpHrh%7\dNj=`j;=a6kXrqY/7>sjo +*_tK-@n@BSW#_<55@*4iLqu4j0K`n?23?@mpZQ+Em&;05`+bbEfle%^]J)Ma0tnDR +.Z6G[*=9[><ofDZ>Ft#4cdSej:M7+Pq`N6t#BYk/n20q9WMJSI4%sk$gW3A6/)UM( +@o'MU<A3^"$_/OJP3HINB6&ol/,u398dAn!_Ams+LAPE:;mCY<.qm0K\f<E`.TWHW +b$f,NMQ"(QcuPa699YF<E[VPN)ooop0HSs`M*mMRY/%J!)$!F+WkY$T)_ncIEau_5 +DB*3[8pE`udXO4I6g+MM)*CSqiqN]@SP8-"/dt20>$us+(EU3B&h-14UDLq&K^Zjd +SAto2i;Z],?a<)[NcZ:f;Hum@mkSs<_PFIpA.Squ5eBS)RXfrXa54ISo3Cdq"ghKf +GWM*)]ft%i0HB,ja(!@DN:$<H!nGP4Y#:;>VWBiJREd3h\XH#XYXg'T`K4H;e5$h9 +bk'FEVkPX<6tTh0@&tQ`;;>*\+(BR&=i.P'cXO=%*ae\n`@$n[?AfO5dq1sIZb=P) +eeM<AcO7*kULSl2.)m^r+[2$XOXcU=c!lgQ(cdl9q%22eO4443#AZ%V;V/RUnfo5^ +<phc*4SPi;XmFi>e^/g3'$=ImK\.$WhqX<GXMAg64JNV,-f,]cNG*jFe<5i#"\.U[ +rI2)LR+ib?%HRt=I;LlikA]cUYbe%G/dLk/QV6=H2r*egPhR&aXSfL[lmDU(<c1RZ +,((\oB2c]\QQ@&9anUn%+;Ct5<[edDMmt4!J4-#!g7a!3*eTGbZEJ'6V:g"/I`t%- +"'$teTru#`^nj/"oF2r)nf$[-`%c^O?*$>-QRaLd)U#j^VTXJUm^d8AHchQZ6NpaQ +JO(f&fHlBUl'sO`kF$GI'YYsnU7X'MbMT4pmoBQN2JW<cFa$t&3UQLMSr9oW8!CO- +T=[F!D_KuXK]pI?V!@ZHb1l)3>o_Pf,:g@MMO&bf^3i&/:CljQY+'*(GaNqZ6S(Y: +*'IBpo$efmbl';Q5CbV'TtUIdY+6[>91I'c</.I(Sqh(cXVKd1kN]K*1?3dCKQY*B +hcL@/&b;'5`reA+UJC#d[:KatoHmKHpd_H"11V$Z+\tf606AYOA+=nC2;T"3V"RVO +EfF^[gJq$KZFO(?<1Iop:@`cYpLq@j1JcZE'/o?5AN_;ZI0t,]fPC#AeYC)ta3E2` +JhlGQomm(YM3FC@!gU$PnK]SrAX,72\)5D>07BFBoTJC:F`d"q\V(4;LNDH<J>T"L +OOe4J0+AcGk?tJB"D,!h@^GNmp8>g_>$O0VT)SbYH\-GC]."PLAHgR(S"nDdZse_o +%m*ZTWi6[hD'-9'^"D"XJTZfnFs"K*Zho=b+%T&L@]4<Pi*D(HCn21Xg.H)I[/&Gs +@bRr`4BMEO.`U^nD]g"#c.A-7R25r9pc>%kBLRO:&/su?pdNdR&d9te#tft:dtHCQ +OV]$L:1?mI>R!uFnlks8hi;:Jo80lWo*Wg1Rtl1;Xe3`=.9E$[05CBM0fi*oJPO2% +5*!s)Sjk$Q[#sE8a<aAD[[F6F5FO7e:m:?X=V:.7Co86ZqFD33Vl&cOA[KM$f[V]f +=Hj+aIr`lpg<:Mi#>*ehc:C4[&(ZO1cg+*s6iBhR<Pfrd.;s=-YmLt)%L!4g#58T) +G]P9GQcn&19M#'Jim;Q>DG/st78T6L[]a"Z6^6i>D4R/bmrN%!YZgF<q3"5s4W%5J +8&gS6_<dmn-/OEsXIN&UodJ]FPDkN?<;?18jsf3BkgJ1/s#Dngf%RDWb>a"Dh_b%N +omb,bA[cY(#j/4ld#eZO/r,tU_q83P=Wfm28.[!VA1s09>D/tGoN9"\T;q=V9Z`U6 +\O_,?$tm.eWiKNBWiWZn?Z>_G1R,TBK'\UCHKC5?cl65]YtO.7hO,-\C+,\VYtgke +_#gra1Q/XZ%/@XCPUA8""HaWmar4UQ%`Y[2$@JpPl.\9EnoEDdY[f"NEb9A8f<fY; +i.pp$d=j.FjmtfhrZ]g;?.9N/S)m$KeHmqiE.fdCnZ:QL]D>*ei=01X1Ws+a.ibg+ +J`HSuO);#A>uAWI<1q)gKdbGrdr(CC<f]o&\-$!,aWu69Z84rP,6ET:W=Jm,aNM;- +nIbn(MP$e]+pU@qbrtbCZNhB<%DYTZ0T82J.\`n5h(\D"<2ETG.\^R^V!k'.95$s0 +&%;6$TF/_'XpFCWi&=K/SN"dpGX+@Zhij46i@$^l>YJ^bUmV6gYVm\OV>K5#a6'6= +,ohDKFJS:JQ[(L%=KmJt`Ni(:<Y+8f;CFC-*:>iQI+LMq^oWgknj@U5D<,miD)#+$ +0!.,S(*Y;h-%FGW*%SA),"@l=I3fO'H/K)]CupWt#;596V<cnlfCjnl)j5AGDskHJ +&6p%6#^]XApL:3LZS't&287cI"jcWU4PePP_U8gS#RWWC)q[@g`5^V:]03glC2<[/ +%2Z.$^%iZULYdl=UGP^*;[.^\1mp#YS:PIh="^f'8)*`dW@^(]6rKS_?t1:`N%CW* +gr0=u@]N;m=M**QDs/L0Od'(Wi-(8sb`gh=WhS,\U<ugNgo9?'XImrlJgOsP=a93N +(7TFuX67f`aJ<?DTIub>b)^/$2:\Xg[+iINcj=J2!E4GZ[@;5NOS/;cTPuZJ=NILq +*8L"DfMb'P]-JBsCOiHIdF4$1M,;;QgtMusRu46/4!#!$J`"H1OE`##;Q/9\l8R*D +;$')d5%;Nt!fjgAEatu?=XS7FphU.B.m>J7YMp3EJ;">qMlnAl[eW`R;d&ao[IOY4 +7RHLRmTWIrS]eu9&))B)O&Z)?2i[>IhE+02>^8#17QRV#l_b:)Kbn!#?!S>>PF$Of +^jQO"3#F&r5(4>rZp+g[%`&o<W(jVr3m#@X*IQb-@Tn]T'C;MU,=`j=/_qfcoq3ah +U#%\B&H1LVA-qNObH8V8Z>H')1R@07S3sZoZM8neA#FJ;BV8r'jgPIe_J3cf5nYW] +8Y]dddI,LIQpEe^O><9Q2)/-+fb&/N%ABE`abl#eG!;A^'j&sBBs38B<$PC!5Z4<< +d:T/[l5.(cGKjQ50O=#4l0;C=S<a5(8qgnUk=afloDDfimL6r;H2D)LG\%'H^r&Ip +EIg=JJk<,4\\ogdB-*Pp$;W3me7XsV.;(Ws>^Gc:"cG@]cRaF(7u!l<94ti$ZemRP +#9,ct>M_L3^"5>cOZioUL>1HW4-^0K^cn8V8#Y@CHKQ%_H\U0Qq#F?GF^-T/]8!rV +4tlQD$#i9YYjk'2TS/-b[(\kPXLG#YeSR:Va%i!\:*u6LEr,0dY=JrsD`dqn4'Ua7 +#]MbajgQJm&:W&3+[1R?I3n8nX"m)s*t]JdI2irR9(o+DA1h:Y2;7>sC"AeFcWFNG +I8YE&$@FFYYOEiPHU;7<5Lgn6Z^C10CVrBLfe8dg]jnNG6R&(gT"l\cgXN^@0W[aT +[sS70Vb2Csh]DmC:;6gGh).:Sb5m615t*W(4[F<Mh-I50[`Z(j&NfT*Rps"%&qt,] +&$j-EH7&OSf6Yos;V]GH$arjkP@\B+/j.X)K;>*b'+ph[rdh!4=ZpW6G)%E57>dGX +2ktkBlFbUfg\*,N'7^)N!?UBH1&>uTqXE\#NB[9aT236$aM7%J`k0L0).!8!rbhB( +HM#tUdg\1-d<QlK(?:#F@pJ/9;!Q.t=h?F6;N4><Rk[XgJard).pJ,o^m-dM[jB/% +DG,,,e.M:"NImbSoDNREaIR!(Ole1u>YVYik8.<@9i.MQe7c/WNW=8UZL8i6$<\2M +V*EX%e33BsaneCsLmJ"<##CSdrV`7q6'f/qoW?4+1ckW-N`iP&f(S#1B\c0/OkoZG +Z:hhg<L:R)iXZkdn7/U-S1=Rg[k<AL9:?:b\kDBkbmuO2g(Uk+(<SRNe2lISq6QWf +qJt+VJ<t.RWoAR@0eX5P8'N'i!f?cJpQ%<X!?D(t!:7Wp/c~> +endstream +endobj +60 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F6 30 0 R +/F8 44 0 R +/F10 53 0 R +/F13 61 0 R +/F16 62 0 R +/F18 63 0 R +/F19 64 0 R +/F20 18 0 R +/F23 4 0 R +/F24 23 0 R +/F25 5 0 R +/F29 65 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +67 0 obj +<< +/Length 3260 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;WR4=d(&?&b\#qK#baW'Qm4U[*'334ZfufLNd4p@Fjb4h?Qm`OLl""Nc'._Z+k]c +b#BBX^c7-8+JnZ(o#m8>^Dor(47:H:/iNme)TiR![d0FSiS="KR6Oq'")GCe9RcnQ +&%BMcCmgUN%@>K#Mt&UXo$Q)m=N5_F[MQ+4)L(\#AfE87'kth^8&oU=^2"FXZ"nX) +(06E02"h=Y)iV3&,rNp/7[_BG1Hq*U?]KS>rdE^N?thY)K9#+'QTkn;GGF8L#F=UK +LX"VXEphb(n9*[cXuUQ&%'[cR;9\/X%S)LU1:VfN9`@2^#EupEYPXsLb2M<W@@:2E +nF4?b:P3j%K7=C!'eC-;!_PSOF>:-c93R^.1NVM'@$HERMa3Lh#pCF@@6C>>c=[@! ++^sJm_j?0]$o>>1nFTlE=dnie]YU"FcQWiIH(HVL9:hn.rle==(%\08?fd<E$6aB: +-RY175%SUiSWe]Ge?U>bB>U(+o=<Zis'eqr`F9MZGb8[t%P6;Rr!''O-sQ9sOAU_q +quPi*1E-.PA/kOP'."5aPk\oS?-J:VSujL\Vt;%YABPYgG$5\qDfj+;7[9bW-!ka= +g>Ph)TNIZA\/(PCcN.&@lV<F6SgEHVg4+?WCJEl?AM3+$FFnmEj4;a2D/9B6gIF.I +[bStJ%-0>M-jLV8%&Qoc[S=eG:k7JQ/;c3Y7.dD$R[UZ\.J#0f9JXt4M$&&c-iBr2 +0aW!mR]Ng)#UZdU>[%,0aqh:qpoafH`;D1;MK]UfdIipj'R\,F=l<2`i$HZ[RrbAP +MmqE/&_'[Qm8eqr`NeP\-b]=ZUeFnq=(3dTJEe:e<)5$-XU:=?fY/+]O377j(:R_D +(_Ln56THtt1ShR"2#$3/XW-@NAZE]P=L2pB^Y7DG:P+goBs`"QHLH2sIBIEi<qFdX +9=F)0NZ,X@0V(4%_nK*pW]Bl/TQD"?%oonr654$7>\*V&A,DDsJ3HC^7eHpfHDM'2 +^MV#04#;c14G2dOXONeNQb>XKbNU+UYnC&n9l1(^;WTJ/Nj?$&,&K:h)a]c8M,(C# +;P_!C`=6]OHg4-TAURJ<_VXP411%9o2]'*-MV"d<k]PsI17-F0E!UB6aWWLgUZG6p +TnqF.@XGt`BJ\uJVMO7rOWGC&7t=.>VbqTUA5QXpM`iqq7$gQ;"IjlmXmp]oCd?2G +b1`l/h5IdE_)W_>33>3!joSI=54op[Nj'sUcou3%%6<,NrA!L5$%q]25>Vh5fS]MZ +eErY:;s='BKIl!KQqS#KV2[[V!jrS_C0pMm&?^8'Z:WWGSCclHbK*(Wb9L>TUU;\N +\m%713];,@+2q8Z"uuBEKi_oXX^W@L*X4X^KO<ZpXi,8g]3sPm^Yt#*[]R)1?F<%l +6Vn"d4&bP@4HEU\]=mnNVdQ"Y'<.Mf2i:*&$\9Js%7^pDr/2tIPa8T`5J7LQ0T>[) +-u1jUe3dM`TAFH'"GUWR8)0$LWp/js9O#OXm8:7uW]t*P5&N8Kk>)N"W<X.(>O8o" +A_DO(=Y?)QARO4*$>YtCjFlq<9lah;Uota:06dH5q#>qSPn\_VP'sO_6NW@oGF;nc +3*Eu`aY//LQ`r38X#<DE&;^Jc:K\RRCrKo'1eFh(Xo&AP3<7ed;T,!OErd\0r<C`, +K3rot6;8S)KcaF6K?9"r>I]4&FBa=(J*8F4JY#d-8H49U,%Zl9md_`2#IUl-l1*<p +9m%!q[[D'aR[VMG(T+?AR(Me!,P:4PM&i-aNI'8ni!ncD?>$$J6#qE8]:^.?)WE\j +<<;`:NJ2B&CD+7DGrS>LmI%C:M61>N*j0cnp3EV!YBrfLIBiBl+l\H,C3paK*-"ZT +5T-sF>F[uhoiduuDuCROp0AR6FuFuOFWn`X+e[7P'3UCE>,QM'eBe2B_,p4ui+mk3 +29.d684sc`id.IrY>b1AUM.S-IZ(9DCH6e`CQpkaM,.s&n&%Q<?RI+U?%b@Qa_EDE +fNsnR\0-d`NT)!(>4-2<$/B?&Dq8KD;MB/"Z.YmTb4O(8m8KC$LVgF09F,hC:DUNH +9Wtpe7_Id<61h[2&D,a%1)G"s,pLM/\d0m0]1A!:>4-44p3k6TO.Fnq7gg\fp7acm +E%gEh+S$`(D'3#s?9)b[TAHT%4q!(sp)Yu(r_+,BekWd^/R9XHe2+"D,0fd5dYN+Z ++00^LJ_B@k<=/>,;4TdjWkLiu7rrh;N7mYfO2ir$-C9&?,aW9),4D:5;pgH$Se.W^ +nfG4U]eL5YTi_V,jFq05F:7cUUR,ZYUOq[`4uTJ;li!Ho.!l/'ma\^L3b*=$j.bT@ +m<dLD(&p.lkV7W!N99]Gb2P:l<RbTNSu%%77"L9_R>G#aUt8F?^C[1BomF@8]/epJ +$J3fqjS6RGpi-3E=he_A,mo\t^:osfa7IM821P'm*TP>K&[,KCU:Z`?p#LOJdPT41 +n>ZXUT>$S\e%@s0\V;lj:K)]R"hjmT^BmnVEs?1jiPi&(8H@BB]@mG`F'nsp^<%Y: +_IrG=Ri]e(/4t:lP$3*Wf%7E`GFijB<+,^%$Nu?%5\`d+,X#07^R-Pk3X&NMJ%`E3 +nLg^=d2\3LMWe'oGsDsS8f_m@RR"S8*39VRGDaQ_OV/nF[&tMQjb^aT17#*Mku^(< +53=5ogkBYPQ15;uRF(_1)BTFbnV,!_h#nD!'DL&0BeGsUoCk8'8s,qReW'3XmUf@" +Y^uJ/"kb]X8+t.4dl2<O"8P+5W&YEN6SOY[YY,JS%<u)7V3eDD.=Mlj:,e?bk_hTb +"H*j8Sj!OlW$FJWDikYt''YN(M'Atjit,gCGinQY7m@KnA=DdfbGcfT29'T3c<o_% +mJEbLLV&''E/.k63i=P+ppFSBFRq&Y2L,@KnMMse-^_tP+c^HWFiK^u,[=??!NbZ_ +p7%_=&A+!.16EiS8g=Zu1.:=S90/u)*%nfHK;rhoI;,iWVj5Q=jJ=6Efi3F9JhlqI +ABD)NQQC1RleS3G5KZp4.\^279.GcgSKlf-(#1>gW`<^53&'u$s)HO85H*@pB28Ck +:fll@^4`7b2/!sDk_M^96:3_fqHJ35kj(a$^gW_QYLGjr$;SRSBUYulMWb$Pm1nq: +WII]@-&PEY7qo:K'ni5PFX-Z"2-5K&\*_$r]#`"Op1K!3?O?-ug1S,[V#u'frP5S4 +_4uFBnM*%qdZrr#3.NbmY:-a*Q\d7rM3P3C;)>fP5_>%LRL8#eif'uO-JiFGSVBQ9 +7]8>DCTXK6]B.t3!<?<PGj>~> +endstream +endobj +68 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +70 0 obj +<< +/Length 6500 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;XF7D0$Z*&]ad;T7VL29gT-3^c@h.=LF\JXke*9[[AOhEKY$m%4S:kjk0D$h8LC+ +*).Dpi/MACnoVA9n)AQk`L]jqB<Qt0oC;J/aO,%Pi#dDgDQ%MaCD;4kQQnE&)4c3K +*?X0$_"[*dk`SUIUI\BeE`G*)-mkJ.MMX#5ObG(,MMY:6m[5JDgKabn?#[;fp+uWR +S1J9Ac#!>Tr&"@aoQ!"hham7"$KX-=(fbItSYHU)BM0Xmj6Pgjr*jdAT.qFYI?"8t +J,<=F\9L0nX<2)MM\kF2N*]hLrX$Dg!$@)V+HW9loEfX-.jXEfQ*_$XT=c_S2Iid- +Pl`H=Or72#)Y0b/cALk9l`=8VKX>&NQB6'2TbNd)4C"N1>P%ShTuesool]p]gXip: +"S?>n,ZGtUVQt:K9!#+Zr4=F*`fYBuZ%gK]Inf2YGOW?nRts,)oItEN>#>3T]"1Yt +?ha:hNK.nB@YS'Q,GL*-fXOfg_(l-kVE`9#;jISse,mfke'bU+^*M7grjJ3P[REI8 +,+YV:1I=6pd8E>&%`,r1r%A*EUMLeR,<mq9,HoZ6kh\@0lt%O)g'P#2)/06hZB`Z* +"Et`O`4;(`C,Z9>&;^'9istLQk>"Q_l6_.%jje0G-/::P64,TJp/2GYPlRqqMAU#p +ksRh$@!Q=FbB\]GN'uZq#t@?ZZTQMNXC-AmAX"uW>0;CPc;AYp#M`;%AI>n/-/H(F +k`KF!$%^P3i-O^F!LK"s1!I!g8:e#KC)JJ=;.HgpV`9)A834eHnMIKGYpg]9DMO\M +W4e`RP0TAm,fL[$BeKci1C;S-l\Mg3Q-ll!WPR%e8MH`d/LQB'D5Pf^%l&`F+I4a8 +7#VT#BuV$*%ZP=Ks"If]m^d\ee<7ZXgWs1?nn,LZbL1BHFdS#u.g<!RmeG475]]S[ +ke;UuQee&&(XPUMKB7k*08pQNh&r#^-q#so;;pEg4f#h>c[)!?P0MS^H2pbRBj<_b +Hcq6(QC1Oh;uu15+I=/_Zt1KqVp2NrWY,M6_g%o+6oE>'3%`*uW^qc.-QrY^2LuPF +/^h"LT_4T_""c=$3+u_E?RI8Fa<FBIG,LTN%)dH4(cs-u;S^k`&pG0CZFN[SQFHil +]PObR&/,AgEb*+WXcd8*qX5*Bp6;C@c]bqV-d<i,mtg>DEYjk\oF?&78>qI6Ff=Zn +ZM9F]CLVK%Phu<"X!F*Y3kEEi<:/ciQSQBgD\4_H1:)g@T>IAY5*_$/C)M<8;3URX +U4e).YEND8fE(G('LX?3HYch`T!b2kqth(DGtO5XBZiXRntm&4p!s`8/Mj)\1S#V2 +pW<=b6!Ql+ET.*cXXs?7ONoO)">=2PJr![i6>^pN<6M>O.HL&qUl[BggeJM,V\@/E +ee(8%-_Y2u%9$XHQeo!5O[>Qqk"_sI(s!!'LRK@$bm\)A[VfNS#M/!H!jkWAh4uKL +f%fLUcqFMJr]4Maj^o3L2bq9MP1L#sE\`IQVnkpj&E\^u`)*dn7BtQLCAi-qO5!qA +[nIN4QmhZCO>bif>CRM&fQ-TJ(g;P[hK4sIP=6HJVl1TPfsHsM*,7ki.5taR2;KA/ +Zj6!9498WWMNk6ZnRe['30Po0=`5$0c>qA/PV*7E6)^DE:7OD_1A&TnKC4_kV\98p +XG<5Q'GNnRM%(/6E_0<Tq/nDHAA,Q)I[Y`7KijoT!;bokO7T9"o@[FY=XE:s/KdMa +AgSPiJ<6m,rfQ+i,Ek*"\tnI&Et8BC@HIRkLB7n*E%8YTgo('#Ds\nlb5r8`?p'!B +Nf7J+95^_+iSo>H^@I<+;cZ)P9NsN`aNUuCZ1lCH0If`W.32e<aS<=T![DdefF-rB +'\i5Kn83;r)tTROQ[(>a#<6Q%3QS$fE1&(`CV=\]k;=UcRtTT"49>\99Yd'!KrAEP +aq<+9J8Z*[p(l#oW!$TIAB'-bC8`#&@:L&k/ZUa<4Nq`0<<CT2*@^SZfU[5DOA_L> +1f$W#;?8#@DFsV%!n1TC&@uST%r/mRK%/Wq\k!RokCX0l&;UiSU_l=lE(S;l85UGY +:%akR2,?]a9u02?EY-^@.=[+eD\Y"`1=PKl`A!KiK!^InihV,.1!$R#1TVU3=>@Ne +16.g4W(BDEP!%Sci7KelV!"%+77l]f)+[-],3Q$JG.i%:YffTdH;k;O?oER@7LE#R +<!iFX`8#rqjA9n*P^'8PY\WBegVi$5\TkFS[T!63Og_TM.ndnP_54R1T=[2Q8^$O! +jKo%(>7#B%NFMpQ]23Tg,TgK1_*Dh8WPq\mBYaf^VO$NnP^,$U0X^9/+I!JMfKn1p +7LZWII%lU$:oD08^/)P1O[pHMS:620589o%L)N9!;:o/n*e&(.]-Q$C/X\!?Co3Yc +&^!ob)(0t#XW[mR:,9jDZQbVE[`/uVARl?"bqL73FOD:n*+jTVV1[g1dU;lf=1]`Y +_N8=Pam>lsZ'M;cRl*bX%(ppujL5HJHAdTqQBTRu-H]jl5Fgna'8=A!SN*A_k#jU6 +^)2t^!FeNAE=eD1WkX%%m@.%nlW!gAZu-_DG&<&i3m2$CQ.l,hme5#Z/rGK1GJusj +%b6(?#P_"=WA_6)7$AM6(X$PL^W%qW!raHIIJ"*MrdMRfq(M`@rUnFu(eYJ0ReHt1 +Pn2ekGecO8N4SPofCa(^rV\X-'T0\@@eY]75.AA/?<gM"Xn5+c_V^#RWWat$csb!G +]PE5k7?blLC3dS`h`ge<(DMhY"bX;,)Hh-tlIpUl&o[dO0q9I1lAs9h;j6A+$&f<Q +2nX[13<WoPI!JaWe-']56W9as*SVB;2bdksHM_rHZ=e<3oi#'m&+SeYJhnU4"QN+\ +nK/[Xj`*lqK/Tc7:OL_U&NLU4Y2K7l4i-/h#pJ6#n8?I1f@g+C426Mu&fUYE`9e.3 +_M0d!\I#W#o!ZnUrpJTY?#\+(lm?VQ<ofgdZmq0<m[?\cWKFb^9r'8<Z+<G"Uu@Q) +qM@(lVM(Wu]\@A8Ci?lI;*tY_&rp4F4J5R#;O.?B%>u;lj'0;/ei/S`dH1tojC*Q' +9^msOBT(;h+fU+=1)'`>VBi@=!TD5jl5a"C(4C`IYQ4_"1O'j'imk*[io'n/YRJc[ +i5Ee*MU3pJh52Y9^A!LYI0]j3/'opM(8&T>9EUh(G&DX]#k1!AbpkC_9m3>F#N<`A +;WX`6^f>W_nUL8!f,sMa,Duo3XD__DY6XMRLn?CcgcN/$^notlc0_V3KGqYHU:q#X +E.rKg&FO1*.H5M&Kg/m-eZSYU2fA88Ja5?$"pk4kATK];P.[@C<HV?4/8!h?CWsdP +Ea@MO27UNARn"NnoFE_g*qH5M*+R3q2iEaC&hf_&-'`&?XmVipY=ulai1QiUl[^_C +h>!1X%3/$MQal<c!r=^C=^(Kmgc"!UMeCA-U&2a-#of"q$8@0AfjD@X<H'eQ\kcpW +dZM-6`/bJ+HPOd8AYiGTqG8!0_Rim#@ucX&6@IhP(?Yf;@e`4@eIXbDA9CsY0gV(A +/c*+YV1RlhPW`cT\:N[Jl\Y6$-*Wr*ZAU"gCSY'1csW4TiNb[i0<=&$0)B)_*Q`'D +hIY9_P(LDYb?h5O7@cPGV4/b7BK41rZdbB&7)CqgcJTApqp:6K)Bq/YVlf%)j7:@i +SV"?Kg7MXMc[++u2i\j)SFnC[8JPO93Q).'0Wn.#Gd?#q+^7N]2Q?'0KpLg4CLkg[ +96U7%pN6Q`5t[C&WE_!C6j)YVpKjWm[)VS"WM\9Tf*/k8a\,P5*9jdRZ-2EshJ]&3 +Q]"q[LM%rG5F$>@32Mq6aRnD.\=2>>8;'+`&i;*WHcdeY=(c(7'=apr/0Lc$eRVgt +/=rQ#5Z[L]5FZ3j_U>uJMPA9E+tE$oiI8Y;M'>m%2eBDjUjX[H+r,\U/5!)\VEq&/ +1XVg$l]h8)Tqhd95`csA0Q+jMm7;JT-28r$-AXL]"a.%oKSAh+nbT<(b"UFhKG5:l +iR`*2r1\_uJWfHffQl_P-YKhYW#h+JMng&Y%rrRL&B*u$cG/-1BX$1j/,J2Q_ji:j +[e8HIed3gR1!k%Z,:P#8RQOK@%#c\ZO\E'^B_j/7m7fI,oAEQo'SY^'$ic=n\>&Jg +cFUSpdSJG8=o`PDiQAtjW!H`<2B$/d6@=)1kLKG#KpQ!iaU3u,e_4d`G$$dRT^$7? +QGS=?(5OeA+t/5.g>A&<\OG77'jDYI*XTN^D7oj=n]4DqnBr3H`KM=Y;Mjg]f"U)o +Bu(,LFD$iVORe\>PX-\8#5KtqEelaGQ6UFj@+Q@=_Zq$L$=Ve1J?em+%?BSeBbl1q +$3OX*XOEGFC;B4c9`"/S!&d2A=pVP8)X2ddp1SdZ#$:A+D;R"-S*^HXS])E;<"TN6 +!Y\[D,^TG`-r`>CO%FlHmAo]l\HeXB&Et=XVR]V-a=12ObAm_Ii%ZUsWh'I`CCGM` +gY-\82RIuc>1j4nG6?/>&F)NBT`MOC@tT]D3a<ZRT6#X3h_$hICTGrNLOT-.1!j#W +cC^]B[Kaf`8l&uZE3^n)FP+f9,#Ns\glH6l*@D0WN'-nPpIl;2rSq"+XIr!_*gIH` +jodtskQN=55]UEJ=9qTN[lGd7rW`Tp57P_SSd6KsBWX*b>_XL-<KRjodNO=egJum/ +JKWm&;ALm`Ucm(?!o24jS)<q2G%3IilL200I.S4_S!&g@a03?F])RpUl.X?gE`;P< +NIUV!D3gq(f2+4ha-H5=LG>]e909]FC4eDG7&c"@@e-QKR$)#*88rrkC/lu:cX/k` +/eO=FL$#A^\R3A`%+E-f`D5Pao%;H9gNaSS\3Ej#4\R=9p#$+X6d`>-\Z]\C.7ON6 +HtH[TZWDD1jSD!6<(`?q\4Q1/?-+'T$2I/ZD"t#p9\Xui[JZ/NBdfD#-WBn*b3.&/ +Y0Z9oQW0d2rE31Jad0-Gh]D8b]B"\5lYmj<"VAq16:QqHOqqGe:.%1<FuDXnlmWpm +7`H>Dp\TG7BX.>cb:?r:)_)BaP5:JD[9#b5l6[CRJ0%0(,f%Z'b9%7j%;L-tRacEZ +J.(R"RmWuLj<!j#%8ZGaA/:(R'Fm%EH3a7uPK.B4'K26EA=DhNa7B(].cfHQ_^jte +d!kQ&Z?As-!1@$eQacYQc9HS04NF?-Dch^YePhR,cXjM!Z&?au,u8"p"KO%9,SV6& +98&ucp@(r6nD<_Zata1d$]cGPl50cHR#4dV*HdR-C%VMJbVR93+Q]:9eQt8.bQ4f' +]:i:]/Sr-7PjSDI%ZKYoY[Dj7_Qo_>+1%MQ%j3k];W71C2nbaIeD/nUae@dRfPo.g +7rt$3lE?CQ4l-T:VW)^Bf.W3$jPt:.8iqb<UmYr;(p>._8!=ZhL,9rh.#HL;VL2WL +F)TSY7:5Hr(C$`]"?+!eqa8^4H7RuJ[fN&RhIT76^u5()p<KKO=S?Pq<>hU]o%;m= +b#"L;R<c(_8t[F"J\eMp[[1)rjF_f%\YVdI3?$]XnW\Tq+9kC=)G!+U5'[H"BUI/E +`\SbPe.Zo(6eAB7Rfr5;9Ug*cm@_-HW?$-PLN57i@tfbOD]=lQdS<3G_=lnimd*5. +VH(<fF)h>8"CRhmF*b>5WI$<Q'^#&Ul'BBJqVQ?A=c70GO*K"s/p8Sp`o'udbd-/I +OZqk1Y@L"0,IqZVm4.>HfCfAbn$6VR(di=8ef"6JCVjk*ZfOSAN\aN']3A>4ATLA# +?m3pu05V'.!HhY*:1;erj&l7ocmBX![&'S!6!7j"c<D@U`Smt&f1)BqX7+=;;Kk"4 +<3"]4^,pL_CGRq5)-LZnh!!5.7^b\@!B9I;2S$na2LFUIA$Jj"+n"T85pP/>'$/E3 +DbrjXnsBRZes,c#<Nh$QN@Q5uj7gAIN$0Vu14Nh+kC*AMp2q]I>^d8Cf!GthT\mth +"t.\<B%JuJGQ0Z:ZZeX^TBguSTV%^gT5C%a@Wq@pZTl[J^R>%AG5X-V/Yh&979b3+ +@E)QPPjrPb8Ut=?e#s;4.br)Q/(4o/dk;EaJJ0XTLFj4AT4KTu0-oF\q!WnTNPn"a +ds<HG,Wn:Rno2J;9>u4@!C?V1KdW#GWi=SN&6/:NoB.j^g/Q00$9d,",E%%3aC5MI +6kjVUlsm;:2[6:$T)O%'IqJYlBF^Z6PthMQfiuePR`;FVpWRiDUV!8rBZEA@(k$GB +FK=F.iodLL')9_^T0TN.XD:^+:;m)eE=IIZXH9qd9C\'K,Oqa1+5%j_d;<!S]/R/q +?hbgtVXWd?'CBPo:rl#sn'Xmj!o``P2ke")raTIC+3pBJL$u=NSX2sF:.K1oM@5Y) +ef+@6F-CdlUE$^Z5/h_D'WIAFq?d(MF<m3S)o.6L5r$TU<&.IpT=*S9R+m[C[&HMe +9H%l[0-<p%&ru.?7B00C=K9+ZY%I#ZMG]t50coeKfP'//mdHc'lC8*J.QqrA1VF>N +HL/#0:gtQsaVs).D74mqX>aWK7!hHbJA\:gc/o9gaZMH'p3/V6R1KRSdG?JU;fq(' +0O5%8%*Ig4VN.)Hmqp/%mfNP5-+Yi~> +endstream +endobj +71 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F6 30 0 R +/F8 44 0 R +/F11 72 0 R +/F12 73 0 R +/F13 61 0 R +/F16 62 0 R +/F18 63 0 R +/F20 18 0 R +/F23 4 0 R +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +75 0 obj +<< +/Length 2535 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;Z\7h2e=#'#/)Y$:!P!)Y8qKYt3PYm]qsU9!hVOdd00)Ta-bbg=*itrGmDb<Hg<. +CkJiP8#%fc>ub2'X,jF[Ygq>)[[i,[fY2$b\Ia8[#TY/^(E:g^!e7I,204moli2@@ +(0RcA9Z&^#`AZ,8oj:9[QRb-Sol.II6H=*<+5f5boGu3IWhTELD;._@dHfo:0g.[P +?+jOH4?WoR4V_m%6EniV-D$h.\KQ@4r4;hqF$)G(?,2$"B.p\XC&6;!qkn$ET">ij +rX`j@>O>F3I)cM/B`ml"dL(1#B%TSWfdr:aqs[Hes*%mcl^u/BLL5NFO,onK%<&6> +nYa>j[&8u=DqYGQMM\83#+h%s!]#<-Jc[SZ6<iFn'pMN_Gsfalm.!IALSDSNAe2n, +Rm:WU`o5ISo_MPT=Ae,!M7#lNk1RI7VM`e9h[$.F,tVcUb@P)8SWG4-AP&o/2C)Il +@@Q4bAI22)oe"i32#:Q!EV^;4ZU;F5!r_G*j_dc*hQs[p$'q$3/CYA7fR\(k0ODMX +;?7#0i?1GU<GVe5BP[eS3_0r+\.+he)l@B[eB`Fs;N0'k-q5-FS$P^Ll>&8(m=:cb +5c;!Drpr`k9q-JrJ7P+@E%^q=gT2)S$j^9];GN+8jlM/cR['Fbdkhk!&`F);eU]M0 ++e&25n6MUlYq,(h;`S?'":8aurtp"!LFrL84@t7d48a\,RWZ._]"Q;#].WQO06N%L +&6`"m(7`<Qc2pc,7O?I*KaUKSYOI`'&j+;*PH2_UW^SqAIjg3g;PB$OBA`<F@d:$o +mb!mgkGeB9eLE.@H/$Nq.9.jdOleDb%g>Pq.`4],C[:*)LI+NEc>"XVDr.1l,6(,N +jDlO4N2)7f!26J-,%W$K*9/l9ee1FrIXr9^A/pXmk:`9q<f5SN"qkkK\O'UdJLtFJ +SIZ"8Y6!V\)UMDI,<isN(\e8DU14Uh7dFRI0e@>P.>@U+B9dLq$jt?>DpXj5i5S.^ +3Nj'QEr)G[G\W-@j`SebU%"@Ln01^uA5Yn_8n<oj.N&&[MC)i37)i?/I&Ph*+)$g) +<%=/t-S^?P%%\mYM_TJN6m9=?<#M.Q3mT8n=(&p=kL!m;PkbR$+oL)HE$UQc#fYk3 +p_h0u@Un8UAtR`79Oc2gcPib&M=S3\B>S/[66fjk.ZsBBeWBkb/J'3WJiX^k"p"gV +pDKS8Sp&6*JTAA)NAF#YZ4u!U1%-m,]-ik9&k#Sd:'V,-6%]c*+]<J'SC=8_:'U-& +pHY]5^D#1bQsO].]p.DbTF+2K8fs]Li[S*Q#E`'iKt@@,j$I8oVWGne-<_3n8$'@D +ds[f()F"#D1M?8Tq/7A\#>4r([-W"RF4Mh*g59j7V3lZT/9A3I18en$U4V`F!G,P= +dBskPW/mTDW@3=j0+Soi)om'm-t,QR<?C5$ZVdd/"Z3m=)?_'j;9k:g0LL'&0=HsX +Fhoss5KS1++[Kq$Fit9XFP*ui6+[c;fm"_Z\/EU>S7fBba6mTq5^m8P;.'TW\/Cc& +"I_X7\9!r]m3I1.GQ>q`[F`3<2rWC0YGd*Bg"rf#?[FABa`p@;n!$T"!B\mm9_l[# +LJ5!c1<Hd1bI5^;V'0b6c00g(Epj#rhY9KZ]^Z5i,L$NohGcq@%<pF7#dsP[((JS] +Png[!0?nGPg32D8"J1h!rGX[I3c`oj?kXaV[!W],Di'a$G8t3*M.GF<Uk/Hl@VCe6 +@mr(Hl8GB#"Io3b1!liXEWEZ1k$gZe+MMeoG9pLoc439I:P>:oHQWPrR9,r@X,;Y$ +%tkD!)C:r=+udJBBU]OnU(`37kG)h[qme\JUHs#glMZqsEq9lqd]O7s\gkYL"'7oQ +j.$mUF'"9aA/XJB[c$:*XOjjg,j)*bFE1u!ijaV6mUt9>IVBBC8Wgt*(?+ESR"]>o +Y4=)qeF!cj+TYTp!sWkrJfa=Hput>l"12iZGb8c]m*-*1cM`K5+FhtO9ML83V/;r1 +b'l1@YH;Wt8,\W"gbhbt-TT/&dk7N8]RlQSDKdglf&@j2N,6F#M1WbX$X2B/(/5O8 +QS84*b>P#[V[-2=7r3D,&'_6CdA?I`V+!aJ\stpW4Nh`NRmb6a>ARc._t/(Sl*+$o +cM^hR9'j%]Q;CfN)+UXg6*aMRP0VR;Nk&Vap.AMmA1hn>GDKL:-?<*@)9AFmJEcDS +T`oNT/"BVicH=#;0?\RK9/]mll,02V5-Ym:?aee++srN$0Ipa<M!gMQ`haE)L?kS! +mesXX,QBjD*Y,IF+b(Xr-GATQKD4e8f/*!`kQ5!t[1AWWN91=.:(+-dnuFs>4''j# +2r2<+$Q'RGH6\c*W9X1=YNR;YB7+b99g<.ClN&PX#\`[U%ks*g$_j;t',o5!Kts>_ +7NsN$'0O7iS%=.jal%[)8.."VB,i]HjCT'=ACkL"h/q>7+k_et=Z4*[c"$1RL1;aT +mmge^I5Mo)jmDYJj%AM#R1O\`c=Y87jI`[qDUA=YD+;)/5eBGpE&f"YbJ:fR<B'SH +=EO^pe@<Z(4T;_<r]^CtK,j%~> +endstream +endobj +76 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +78 0 obj +<< +/Length 5074 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;XELD3*G]&aj<3$MPJC`*C#T%+5ha0>6Lu"'WWV$Y7^QCMUWKfofju8b[]4c&f4^ +HS$[eKchmKU1U!Bk*b2th0a8;(SRaS3e*[<e4ghY_^jo)MKilq_TR<_@FNcfm`1B9 +\glZf^6j9lo>i>C7$]r'0j."&:=<f&N$Bg8jE3:8erbGMQMWO$GX\pt:uW*R%XJ$B +)?.Rk0?TW#%j.I\$k7qk\AB+]CssF(hA<dZqE4dlnpWdu1(i5;.6R);UFMjUA#Y@e +]@KruFg7@Iq_5SXkEJd1rec3^rU%pUq=*ut^H86T%mNa;2gPF3noleM%<tfV1^khu +fFUF=4KU0]l=_l.=2>;&C20$-$<\Zn2VY^gr4aD>1[i3!Pi(ml%aI)4ML1iO:0:5[ +rpL`2/cHb04*i=qe_E%"0DESkK`K'pNQ'-Bb]Nt$(R2PAJ`2YAmY/4!I?u:GUeH`@ +8L:<9,AE<<CSk,^b,VNoZJD6NQF?m.Q)10L]-`>\`_DLLa5]Dl8W>k(s5r:E?DmZa +EK3XY/^?-j=phVPk[4[%!gS]_1PS02&0KDM3s7$]dhJ=lPs1DgY'HN6NiqW:CI#DE +n'U9BiCbUdf5/BTBT'XVjf%]"\-Ns2+FNJ%jC%^fRcH2g"$?!p9ldb(dkJ;<^1f>m +eT!,:nf>$K%7-U;:FH]9Z5eo+$*!VMo:1D]AWBAKXiqH9I?-2iqsT[pdt<WcQR3Qt +UUEet$>!5PpmS(._S"-CO"_LirmN+9n_ub?ZUqsAFLc.]TGH[g'HDh[5k4:a@1N"g ++\^qW?t38lM2&sAM7)gA@q%m/W:J@pr#^',U\e(tJlU8f:ism$`9=%J0cNU;B)'P# +fbF7f8!r=WE1AX%38b@H]<sX=6C0T?51nM1D8qOSK8.qMrS1R+5oE_]`@#<5bE@7\ +:=n`?gF8drl"r[hNi:nj'K<k`ouM5;+scLrSB"^!fO_+]^&ucm<!9Itjb<CVFg1lu +V*]Wd)S<.O0Vhjqa-!Cm;DkO:Ve2u>Jm*r5>,XC>B^M^T)B7:1<0'^CA3n#F.Wp-( +L1Tm,n!!"G6n$>/CF#a[SIYDNV,D0Wg'B/36[[DTO\ln'I%R'@]0;I-qRd8'`u$:G +$pC;oB:SXNF?C23OC8c=ZEVIA<Z5^qN_0D2e)2X#7K`+Ak[4[%$<:iFZ0M`sP1jo9 +$/?te(8[n&3[GL;Cm4QboJQu'&j=']gk[#.NlOI<d3]=a3[p]t,W[Ca[7&>SO?F3s +%&$=gP#F;3'*Ua<X90.-9iMD`WY7b)/:**!gApjPoE54Ne$m_ca+8nSH\"(G3-=L4 +[6@)l6,?!_5#3RjpP<mps"8;38+e;/'+D..:/"[fKZ_iq3FS>W<p?b_T!q"!Q)B<< +Jnr5Jma:0A'M&8tWSKQ>SKu_M*0gXh-#%dnMdLh\3S8hJ3goZ/rVtEi%(1_6E1]2! +MeU]uP"i5g^$QKrD$W1KVrk.5i_,=ja!9N@bm"8h6<[p37@uD,V*HaH%<!QpG)sAd +d9m(tim]B0U&2W:'X=*A,9+P,`<_!=rK;E'ER-g##<7[YWl=$4q07-4(V=Lq0;Fqs +L>7u8p.H<PT)Sr5\>^kZ/a2-JhdIcMWk3g)$1<(-H>j?YX8nEkiA;&1=?B2oNA$CI +.&0,.!:rBH,,$"077'Y17Ph3h$D%Nd_-]RDqR<GRP(uOf/5h!KKQ7bP\1eC4c@;38 +1elhkLPN>>P\I09)!^lV0Q'$-o(r%F.\LRp;J`>:B-.>EG:0"Q+s[_q"0PEFc+c^d +,D14].3_4O9q(Nb1m=GlO4bja-a7!fIZ@l+?:!]rq!nFN[dYBkJId00iR]-PptTW* +D'UjLISG$@2>1m2VQp/,c`lO9dKBs:,j3d9p'ba#!,&=BO)XUtVIjO&<#cW\$<)!Y +BG)1j!Q)j\/G$,3R$sh/m%,q_GE?OEK]bge"8jdXHkdE(B&>m<bsh?84k]#LmpoVn +J_?ALT\8I_FnW9tZ`e4ap+_jN^bIQ_"a.d`p],&RL@GV&WlU6;=Gp]]EnI8$;iM_c +2A,[6T5bGj%r&O+MTnMSVb>O'#qPKI:`*Z`HP@]mU`<]U$-<S.h-O0AA?kSn;P!I> +H_f[?"!YB`6'=kJ4e^hfL;bah*nqsM;Zk`a^&/Q>ds@"=_gN+[+\b:b@fM\\n5]a> +T/R;"\dT+@MZ_hST&OSZ["i!N-@)%h6FcQ]@TG!`piE]2bL4.<MEG;;SjU%@;!Gr2 +j-.&*X6Q<If(nbUenJ6aK$3_apf>5Hf/<1=2oku+m#,0FasWB1.^$<0m#tfr"JtW$ +P9LN%\&kXriPGtAW(?%&*1^53DG8K$ZHnE@oQh.c+_[l6Cb!?LOcHm/p4`<sC&%U> +]hJ1PXkIZn*,:=9!^AC?)nrL'+,,rhGpou9:gi*0I&)hYi7f)$_Kp*qdM4_9K!XsD +68+#umYX`VmW+^=438DU(/V6>Xf\;'n'g)-?Oe_Apl_r#QW-JP/i*p*-ti]00"@Qb +@NA8Kr?@f;n]5at,#iV8")!\58LA1iSS<%i^8*1bn.J+i9=uZFXGN<i4-0/!5,B%G +C_Bh[J$K55,9.D#?!q(+,M'dsg!+qi$8s?s/i+I]6L/mbRgC&pjKs@A2_\9WAcHNX +Kdb>fk\)ck.>pV^!59.hpgC]a^1L$RAdPRX@!eeK18`?EGGdGQD\h6V"Yq@23X%.D +_e&mZA,<V+*F!:F/$!3AX[=RmX[?L^^_`B+FgCN6+T>-o!h84UokWMD%;X,/HF?>c +6)SW0Ik>Y4fY(do)s@=8nDK0!I7NJ/NcM$NUCJ5WZ0Uc9dKqDL^4lR6gp@.d^OMD* +m2-OiX]VSZm(d6VSmoH6csIq_ne=Z4@,F=lb3B&1=^mpg1Fi=[gb28Ar8i4iT<8(G +"RZHS9PRiN$#<VibF)lfKCVb=XQG2KfY87:`,U$=8nNXD7.(:&^g&b28"\f]X3JS* +[=S+Zj!55<SIH37^&VjrF/heHo2)op^[eT5Hcd7)4MI2a"H89*!reZ?^Bd-Cr2gn] +<:g'o!!`]g[b+kBp*pYoD#44QP''Y"!dB[@p/Qd8'n/sn33HrP;ZWp,(:N)P!rle5 +("c-CX^43OA#ubi#e5L3T"#3f70&46@fV<l"T2%ejJOR5>K[+FQ_mc,OcF0bY)g$7 +j6Tr]X$!KgfZ1ji#_!uP6e7iJ!8`Ldin,44@I/U!!f,Sh2W<q(/:C1,%l,u*^TM$^ +Rr+.^P$=k<M$I"]X$<*h,,C%$.b_&A*l(Y]("G"f4.!e%O2ns&m?X[3B?+)gVkQ_e +#]P,i:8$%o,`j\Wp^pj0`We(B.Z5B]fd"(d=]VKJ(J[01--WeG$J;+8GgHYl=F1A* +</4T*oLq&7ibt&_9p=Qp&A@7.9Pu2bGV.&.7kMo$Wfh/7@4O,McN">U^]a"piSWg@ +[q%#l6fioRe?*U[YIe0%eIV"l`nuC+>e'Si:Ws!K'cirX_GV"iM-D/f?3n\2iEB8A +$8Saq3NJI7@gAD1'>1$Ja+)sfd^i@qga1BHbm*rurUF)a@>?@+dQks@IO##$[^VXb +BtjXNCSW+@lQKtR/);)p[$h<PijGIlekd,?@'DG[G6M!oEX@ac5]27?8P3GI#c?R$ +hKm,s;Tf^D6D\uj(9;'h$TRuF?lU#*>RD6[O96'j_&u6P?gN0aU[Q/B+]gkERJ1HS +hu1PrcYM``HR[lUGM"UTfkaVaQ=ak7dP5ZIl2K@-3m?6?hj!8>oIhGZq6e8Kl3pk^ +9k'o^$lS7pQR,'47GH_&/^)#>%.-WV5q[67.NepUph3SU&uH4p<RL/%_!!VpIOHl- +;QRNQ7a-k9UPfsLTVq9!Kl11`0SU(ads/W;!i\,c0QIN^Xf,%U,VK67ADPTa>_gF, +6G2K3`>MCST?FAro*uq^p,0#6*H6]"h,J2a7W/N#?j[J>O,&sg"W=gX;1<7$l.j:W +^-.`g6g$L8'F*2kIE?$h<3\_\e1l_C!\h8ub20Fj)sU>kVXB>h45BmIJHmG2;u2UB +O7:">NeH[b-p0#-]l>;#6W'erV"tpV-HTbmrs-?!dT=hu_u3FZFQmZ#IKhNhR,n," +TVj%Yj>)&".sH'nO-VWL8![ZPc_GilLWb[po.]euB@&tbBF^TD7H`-O=@-uRA;I4Y +$X*%o$^pt?KcsDh<f.9UI*[KI>"jrMT;]K.\oZOn6KS5>mch#JlJ%RW\(QGa$Z/Q5 +KXKuBKB0F>*=XL+_2udF&uK@48Z<r.@NVo2KIV*kK\s&iq>.VY<2XT`XI/=R=M]9= +.HUC-d!0O*A,A$`-D0OTnUC=$j8G3u7i<nNUN[\uCf/2!qs)P0X3D>(_r__383Y7H +K.UUgfk<-JCmo*"3NU!!Rd+jjhkl7s/M?86JRe$<IXG-Y(Nu>W3[Y^jmqX9t6L]e) +?_.P[p>s6=Z+07'`ldc?anJFdc[*2kPL%.Il`g^7>G(PhHV&nm,AlVRpQR\>VDe9l +Ud8.-b`iN2o+u:U`eJQm?TgYC'=ESN7l#cbKG8d)r,rT@9'6\D:XSY(S*r$DAfW"_ +#N?Kc:,l;3H;S3h*JCq@4YmW)j:f`n_4"<k6Q>FkJ1,[geBJ@#!f&e`9&1P!QDmUg +L$cTk=NN-7WE!G2*\e+-3-)$Unl!Bt_Gl>1?g,eN[e:UrHh%A#@Z'@k@^Ku"O`N<m +U\.EW=@F;%Xg<5i5mQ@*7OCc$!emHfFYWP'*H?SR_Vouk>-9fBR/Vm%OFr[ac2hdR +XZX(hZRoML*RSep7W1-rhmqP8g@=.A9CKCBh7A(nd__0mP<%2Ge&ZU!BlRQ%!T,cb +HIjnD'@63t5iR_)TVjUVL,K#5^tDHQ.BK'!S$:QjpD!#ReMSO3cQXF^eE>nTn8D!Q +@Lh,u7umTl3Ln'U4EsM_C?f`cW1oVG=c'T;gl6KbXF!('c`6fYci/b:93M0Ql:^[H +!WX$p7TA#:h/;A\0+1^gQo'#:V#)jc_0&u6c"_;4G:FH_3S!(#AGbuLr.!]#5H9uB +0Eg3"h)5NRf7:giiG>J."%c[%4:N]*!T"%KSf.pkJu0W&^\g"j;Tp4]~> +endstream +endobj +79 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F6 30 0 R +/F8 44 0 R +/F11 72 0 R +/F12 73 0 R +/F13 61 0 R +/F16 62 0 R +/F18 63 0 R +/F19 64 0 R +/F20 18 0 R +/F23 4 0 R +/F25 5 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +81 0 obj +<< +/Length 2528 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;W:,>B?Q/(="_N6B>g&_LNnn;CZPN38VTQb%ri.9!XTXd"7S5$.'M-g&C_mqMm0N +Q)cJ"F6Rb[F63#9\c5Gb*X%,Ged;6Ts+?qO*-nm,b`BCr)Q[u"+7,Np+27u3?1!Su +chAf><T:+9?dT>o8)\:P#6&QUbi5&ZrYl>Vhq\].([jmli9E<2_dPBAleuOD:YZt0 +\d_6AA/r4?o&#<$NM1)EHs-F7N2PY>\1!l%K@LKmq`%jZmJ,O[19bD@o!?B%oBM:0 +Ynr24G*%Q6p$n!q+,\r$G<S5OpO<SQkPck.n+3^nr9*=2!NR.*4T-u/c?XeXIWI[\ +3$JZ!,W%stN&Z^-GppJTrk$Y#k=0uXY=-$J.\u3Z+J*iL-tp`)h8T8s^or[npZ6?N +*DbHZ68STXc.rO7QGWOHfUL0=_'n5JJkSVj1sc')XDi2457QBOVeA86/<Dtp-0:*i +6$-XgU`HGs3WR[Fo7O<qO]'c,6BH)(UMc5)2`TpCNR!oE!W319+VN8iOjMm!D*jR. +P'2SulB;q,Bo97nZDaST"MptTXQt=141kMDRZ^Hn0q$??B^,,@UmH-7#lVP/EMS/H +HV.]26X9n^q](6o#D;S:%*Dlbb'jak<1tk\fk#.t]d98R-ddHFG\"p34!)Dpb<EV2 +G]c;RH!+3]`5\ZRip3FM\:lp^qSifT*%"7h!?Y3Ec8AL)mofnZkaCL*<l_V@bhRGP +Z67t2nKC?oriuksdOjc7p=#G/QJ(q^@CTmTKo6E]c'FR=N&YV)-*GCNOTC\N1-6jd +8+ZuLb_3=tD*_N!0EgW6K8q.U5P"BNTHIOVI1gde#/2JL<L^;\`sB%)4b)gB]W>eg +B\0cUZjZZ@MgL1:**9lH$q?pgV[g\:^S?\5VNrm^$#4C@Ta`iY21Ko9Kk3$#$nV#9 +h:o6--H:[ThC"`aTNZPh=b#\#s!$O-B'.]?"^c1'i3,oO^FgIE'UhdEV`*r)f@"Oj +R=l@4IB`Y''Eoq/b+tIZ`V@d@iZ:Y!1k)0;^bCtq1]OSG6C4L2O:"ljiZ_BJ64:p5 +6(:Je-T!IqL+ANZ+#Ut3SUB*I9QF(.3N"_jo%'&?)fZ8p4*&-ZW]`9:F&\t6km1W6 +;t6.37fEk]B\=3`&n70LBF&+Xo*iB,&+Yc5F=3-a.r-;Ua8E!OZFIm\"ZqFn)m*"P +5,m<9^dEZnjVcmG\B=9g:)=<N)ak'X4#e3u+=(&QF1](kSAnE6EOt#O/Gkk<osBu2 +nCS&bpZS::bu(L4$C+>qWb>D57)0%4IB^D)Vr#lL;c&mhP7JYSS5QfA4sV-`WP-lY +N6qWY)QUJcC7oEGfr1F`a?Ndf2>PpL'Qi53o4fq1eI!5QHm_^=a&Pi%)M:Uk0:2mk +\U8[G+!gHObn><<o<:FpJ^)m+HHo^f2-ehW9*+7_9=A@6M+\I@Y1YmA/lk0RMAgKS +-ce>nOVY.<([9b%XA:/r(?>'eT14_,OuDF!OSE`%p:#o5L5Y*#Tu>C^;8R2r#pn<a +>%&GsAoXb1a9TWUo?agFX=@3!8OZ5u4n$!0UH@pBh0+JtN,<hC=1`>eL$e/=(FFD# +7^>]&]P+\1QRs#@gM)jZ<<5Y]m4)*'8KuJs/)^@m-2N4uV*tsX#TEuQ]54245@']a +;H8DW[$Sq0OHH!"]PfBI"PU;QFt'E6%&reRbpfJ\PN.8N0F)iV-PaYDKVk&h&!+k5 +n/o<fHg;mb,B#?"_$Kr'A*2$J6&U.C/)DEBY-;*dacA5-d/`W&Ir7c%$\5N,g/$2+ +0=W\6JO\p:W7D&IaQf+XkM-\(Uo]8!1.Q#S[;^bYmAUEY`Q0GBG^8J,6X#t8M@=af +P9Wq:g?<'(6(.#$@RR80L:1<OEP`X`FPBb=A]/;?@1Hir_uC1oFFRh(h&FLE(>)Gi ++$5d:m@m53Nt,P&hj\/*+a0<(2$D8flLTB@$C?g$&4pC+0M=0W#])i$rR-h0O*j?4 +BWBKE8,luYFUn3;\%@iL7(.9(;&++qEfu>1imY,&BN(;`aDkMWL*njI!@8)[4e"J5 +*S]9b?_8@)II2L[,VAj>]9Si2$7"sAAiO512<d4.e5RFMe*g;F`q-/qmu*Y2$OSSf +eV"VaRh'nFTk*D5T&fH)hS$S@4oYNqs%/MsCuOA=.U)=n1J&\7,Fe<G4.*=;\'68W +kTlH;CN!BH%a/i98,(,GZGASN[+VFCfD@<U6opdnCXs]S^h\thP<OS83Z>?5jB\Sr +legU^[Z8@/kL1t=6&294-?g[TCpiK*.:l#4cMlh`$n.[RG7#\Y-#%5gEeh^#"DJ_& +7KE=g!NW>][i)3?7[5O*PQ;]HVFY.1@M1K,*WT2'$tYhST:V:O?Jjt4ko$kEq@c4H +'H\@,#M;<j@r]/H='CpT.POT4/?O[*F<fDub%B#B#8Z%0Wo"on8`Yju)>M;_h`%"Y +7%TNGF;l&XWad*JU..f][H8F?8R9g`i`79+8*o#b?,-C<W5Ds:dXoeEoVV?k<:.VO +rKiUl>WMg+!4oVb=T~> +endstream +endobj +82 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +84 0 obj +<< +/Length 5145 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;XF7CNJ7?'o)Tg^I$fbc9s@+-SsV&-C8SU1YoLORWQ/]g<pTc1Qb(ZUn%5;pAgk2 +EC<^#0qL*G&Nk=6i]K1*YElMq+/tWkq=8D=i,J,%T=tr40U$Q()5d#eDW]8(Z`Ck= +9'2Ujk%!;(#?J/AB^&*>+tl3j?AQ%]O(*#nAUoHSd7\C$6]0`IMOG]V[id(jO1?;u +i%(KTS>*."=X<6<s3=IOOWNKE>o>NUl<gdiEV\)Mm;ho3`r#g0DNlc$b_%q7*-3"A +Q/EKsc<%X2X*:nNJ'H+%lEC'AX+.e5QZmqK(YLO7]mDR8_sHd&ffpXI$"-(3g'GW9 +5fX"RAUO-PO!1qTop$qc.A&+C0Ir+cj3[J-pli2bA7):3JPq1.T<:J-YCSHcRhF(j +a4,]'C[*^Z:K;pn(:GRI`a:d`SM>ka5?U6Zk9gCR@Ue%eN"[a59>c`bH%uNrSg33a +#:q!"OeD*X[_i/A+h=Rf$TJfeZmFN&XMY)lkX5`*Cr.BLg]a/Y87,Z,$(Dk:A/'gI +G[f7"B#r"Y5[j$Mc"s*J4DrM?ZZ9"_OT=:4*EBDY).\*R4*7^O_XP1Hkb6b%JJI#6 +jO]l0\u,iOU:\tVFGg12h0DiEh=P)27(6)&._;)bYRV$j\joEWURR!?">8nm5\*h# +n#<t<F>24bjg*shD@"I#ds%l$AK1pnO%KI)Ma'J)3s2FUR#(6g"2f@Eot]Q)1dq7] +!)7YA0JFU`c+1%<0?<-^#Yq9%E8>mreOfm8#1sotTT;h2jQX`@I\'7XYo6WZHR^\] +kT#mmpVpfRU;J-I^CB-^9u.C4[1)!"@qdDVh3gNnYgp'g_^aJdeW,M_V^<6E.0MMt +ATNpDqN8"f&(2?7Lt"!dqI'A2GQ';[/ei0UZgZ\_.X7MqUZ#d[[7'SB2]-5:h-ZL+ +("K(Uohk*Dnr>9Y9i\\02T0("Wco!+JY#8a!ip@b4_4*Jr1`-sg=%keT\[rqBe?qs +SEP.Z"I5[[^/(lpb$a!mgo20h'&56pG+2@&m*:Pg-#T0V:5_:h.\N]=OBk,,R-?cQ +bb90lD"A(";:lE<,)#6T)E5JR/[5Os):HpK]"jUT_4dWA\cb*&\D3#6j6?]K-V>68 +\rm(rX$Ng-qG:VV2W>@Lh-*ZQh6;KS>B,8KTbS!;0MpA%m*^$hc%i!9CB\>PMbl9a +I!Stl$$>*R7Cn?IG]A-kX)N0b:7NJnE7ob7jl;GoZM6>=M[P',-=R8E=pYa7LP^1e +"dKM&0K`jb78Q(R_a:KZG0k+g.]V=X@Ckm8K^2pL^49pq:7+@B=t0;^R,$(%qT+q: +FKeM\+Vo(J@2j5UJ;$*3lesU>Vhl67[oNRkZ=.e0=](=YSJ`6+ldUrPgnl+!gQ%.r +GBP[^Z*.=DXq+AFD7B'/!dpQm_3r/KfZM[h_t]7Xd"ee9fU((WD$8j1V-L5THlVXd +j:\'lc'SE-;o:[k`=T\IP)#(^:Xls3JO8Lg`jP2#+1=&5:0jfcXd"5#R/R5h3u;`) +/=S9IVI,6,mVni9FIE?ch)U6We1,tl_VrsYL@A2uOqXsmQ1WJHl0)NG`>2o;7r>Qk +QiaKQrJWtTZ0"+#?VkX<alk!Nk`)rMJhC`"h&/K\BZ!BnSH!o->Ynt%R_U$aBreb: +_Raf>.;DYk9c)6P0,lBYVlAn@2ScCGj9L%m/Y1?16hbDX]\SuRYrl2q+3VkM*UJ18 +V-s.u'&M(p$U'-<6sn0T4fkFVI]2O,;p`Fddf!p_idV&Af:<!XEgMU5jO`+:LS9ms +e,i>u=0714#&:;&$^_RRosD'`&8-clP3^Tuc6S/4\1-F`",1pjr-`MsBZs!?f]V4H +5bO.IUsfkIVIWoJ?*`k_Kdo,29'Fo,.:g*@9lVcF56H-koUt3M@DZ<9IdO'c24nb\ +?lV(CdTVS/%KPe@"C#86bCh9ng^PGg;8Ws?[>Z&sq?*+Ff?hR;020mYEsdK^aPGl= +D9i]6U?9";WmlNATMl2Y%b-!2PB.=.XCPICZLgth6Q&!\6>lp\9c6<r\HuSc-Ed^. +,X7!2RfJ3jW4in;MLhBT^qQe655'DG5lH5!Ss7ScK]pu352(;c`SQ2=Kqp*C95bt@ +K&1j3R5(,mUEi"bHA%?"rC$!,<1$J6qmcRG\jN,^$YA@p.($=lr!Ebpqhub7,ERtO +ULP0?qKsc#&`HW[:LE:)d8`;/@+Jqa$GsuFKCbb?).u.\J7AcEX-S?DG6eHV/@\Ut +R*X%AZn_CLceT?j0!Xm%!X?!K_5sWqk7.MjRM4+o!IadcK@.N\k9gCAUKYUPr+,;n +Cq+u*+>p&'(ei1X`@h=ml-=i02&d>/IR._[[6UXe$A545hZm&#[",m?KQ?.p:IXH` +5Lff`!VZoekTU:o^.R9QbP8O_p6YMnQ7(o<^*nOLZl[S#gH.?u2jk0eeI_L"0tHgJ ++ja7t!bO(B^`5:HpNQq@&R<93Cp4kCga.k,/!:YFS/:)@\V6-H*Z?'"h`d-_2Z<sX +d7X>P:;?:ZNVR[!e+7u!Vq\M)i*=p@;ZD1s%`cFMrA@6*+td50^S?fg``YMOV`0`] +oHDr,H"e6-!_)LsgW(M`D`iD:jt_kgq'o#IKah&.#LAr'/a(lc)]PM(ng51nD0<(: +0'^@joj<Wuj%uio*9t.bKOP-a_@XkD*fSt@bk3]X0X#p^&X\RI)jGRNn*_hF9"%t& +bt%XF^=,??HQ>+md%,dJ#^WiME<TNglQFPXO7AoN0UIdu$'aX#K;-83ZI6u"KsQ;* +[lQdId,'H1Pu!aM=QV1]=>AVRJO!G,)tq02e7QdB:i-:=oou,!H\"R6Znk382+O^g +PBp"&8h_VY8T>hbjh)VY?m%9Y*8:1\4N\5cT"YLJFH""S27dMgg+\6kctI9k7r)M+ +7GO5IY#AildFr$1.BM)7T$ak&D'&A`oU+k^!gs;ch&RbY>T0b`R&S<c/?[PoLQDWZ +c-9e6Z.##^"`)dtZ(8U'd5Le?5?Sjn0SRcSYqk4N>8&FIVcBFjFPoUQ;5MWNLAQ"M +iMY(]7Y?'/o_Tn\D5%HT9>@j&=f]*@RVQ7I.S#%XCUGk95WcW<o$TgAh1`Ls5rL^@ +g_\4>a4sG$H/]\JYmOIZ1U-5-[pMi'rLk7\I$$7d=%\1fcEKsM;+lp)g,E0AZ^\pc +$7pTh?VjE5H+Hkc:A72a.dYkRC'2VS@VD76,0bO$oMcenk!cA85m6n.&`)9rM=8m` +OZVT8AnWq[[Z67og#gl,FDk+B/*m<2p>Z/`&"*Ya*F-#5gr?Ug=("cI0IhC!+OR=I +/VLZ]<cO]FEOA0>dVrB]K?ORsO/jGtq<8Gig7U.I"X/P9&J?nKn&))WD(\*$*r`:N +M8!etCqib\.c[V3WD2=.5/\14#2<AL;S%=aqqs+'D!pJP=RE=E_dIG+8"pgr2A!DP +GLo6$)0bepE\jpYf)MY\g324/JnUeL(!7I9`&*h(jWuch^hnVuTg]k=BS$#6QI_c3 +8Q8)5MZ:D'0"f7`@.Zm`G%Z#SZY.RRWBX'H5mfZh484[iEf4m,[i9SpFcgO]_jd5+ +<We18@e^9^E(t@"+!CQ$nG^*816eU;UkSa:&ncLo9`1XXbL85)R!Y5SgdaO2V#UR1 +>!N%g`V-Tl$Fs%HULgd6FSY%YTj1iV@451KEkt,1G3F-ohq*X0\+RB,H$qgt:7N)& +c,Vp"hjWD!k['sEDYl+a5uAbB2P=9,L_Z7i8T3N4A(>\C_joA;_19U<hm1%TMbI`` +]%cG7%s4Tg0/Q^R.sb5Q076iZWD%(O_>K.@fVrY$Zk6%YY?Q/C%BmtSl_pT],X4bh +'?@2R:gcYb34ZP?W>g57[l&5FDM'Z8(`!Ok,W!9!eONN);jfpE"OXiZ(E9$[diN>s +(5b,[>ZAdk9o#U/>qI'9NS0TX`FLFB66MQ!?pb<:>u;7G(?tiYH\jS]jTJ?$>'Fn3 +et>fIPu%jfO-,B$[<B1DGWh%2(l`agQbA'HB&e\#Gd@]&a>_=%FNMr5f\#ar\=aj7 +,M_XjQLkDi1`[,CkJ:6RVjgEkR,Ies$N_!d9V(:_CW[nAa(*\f<'I:FMVLS1;S,DP +&;+#-?3nBI79^d-1ZF_dI*'!X3_n%.B'q6r$r)\so>H@H!%5$a:.U$Oaq\8?;c"#T +Bq9j).aptRDLK.RHDZ0*4Gca3!G@36cV2::Pt#!ZBNcb?>TOT)d^8r?^B=;'=*Tjd +/Z^Ic]<#cb8nO1%_!T;1"?^A=DT/4**&.8X45"6%I!eEV,7IBDr_'^NO&TkMIETO. +,B!JA7Jh`.:Jj;i^>90gIkD6X"Mqg8P2HB/V)D6nEl6)iV&1:ID-n+PG/*R\#WV4Y +/rALs"'Kd9V/BG=E+)gg=XLMco?j>krdGBVd)AfCeGfsX&t`pJBh((`'i5DUP2&!L +9$#++,0D(T,imMg5EI?Q-;^1%\h"o$EANigONiAZW#;B=,M$G0+BA]E9(*iuNQq>5 +KKG`^3pRc$0M8Ph.783a-aT%OJC^]7UQr<A2(I_I$8csAhJsn\g.DaL[Q``qV6fBN +DN,duQf+VQ4E6/FANsV=aB[+7Q_BKtIe+s-BHo@Al17<mJ4nQ<.K?MS\#T2s>db\M +!M<n1lcYj3mHV-C?77ZoUQN^M)Yl\KfgGL+(STqTZX`eqBTF)TO9?0PC9:"bTLMr6 +O-2^*r_-krk]9bmrF<;Sggh^%DsMRE>_PtNoWta+1M_Z&C04/gc,D,t9Ql(<XkY*4 +WT6Jl&\6mMTbOegZiG'enKUIkA!QKCV:8s9.bK8e0:n,GFJ=cdGoUI*R`pac_c1rm +KE1T-DY@pZP(]t,&IC;$#n+g+K9jJB82%EXl^QSHhfCTcpmll:5Q=?:Rm6'&U%>U[ +hr[/J52FH^RU+e[Ve%d)T#P=$8Rlr+g'l=aO.k9eZ.]Y+(c)ICarr0tq`e[fA0=11 +6CNi'/HUb;@b:B]T,4Xhp(H7H6j5nF9+M)W,6b2[&s'SmbGcs]\p_JWQ^qV)-<<4K +i9D3EKW_PCL/H@fZQ.TFIQ^fFL;=1i;3aebeYC7kQ9A!eq1j!NUB#3.8mft'm;oH> +P!>KWbn1@:pSSLQ1Ae45?mU&;B6r0\@RU:RCh-C\k9b6ATGoEr/,p%YO<Pg*~> +endstream +endobj +85 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F6 30 0 R +/F8 44 0 R +/F13 61 0 R +/F14 86 0 R +/F18 63 0 R +/F20 18 0 R +/F23 4 0 R +/F25 5 0 R +/T1 87 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +90 0 obj +<< +/Length 2188 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;WR4=c_;q&FQlRL&*,4[4LU9,h+NpD3B&MZq(e(%Bu<,fqrU4P,O17]_h.Z4EO]V +iEu[b9@!(PbVqX*[bC#;mH@*u*]7Kmr""P/0gi#I(,gTBDc=p/:YP+.%nJo>D/#E( +jm(U6p11gs:1UW:K?uksYsa-b=N7NuiEO<>@2n8AB,N.iD;/B)f3jN5A%BSc,`O9; +E)#4K9$0ZUpeXH!G4B;DVri6@"$!SL>Mm0BN44`4B?`1p=)[7co!u56mAoAWa7O5" +*H\MNmfidL2Z4cFpSmlUW3-'JOgb+=s#dsoN=V)"l"*^(mI?28KD,"9qaYuEfs#!F ++EgQ5$m?k0$&3hdc-YVK0QI1b?QouVPE6k&95Jm8QQeI*;1;h&4i]ENFs%%b`1aF\ +7p81=Sqi7^%"W>%+soPJ1sH\3&lW<AOC3c1^qcs"^)PQMYj69K':;Wer5i(4>]W\& +,0,:'$<M>,ibThZ,@ii;Kk<G3k>B'd/Ch+=L4M"D'%=aA2\3oS[AO88;4**c>HWge +7.4:MkSs%>@s]P]8@0gS%&h3W*hu%r*t+O[YP"3/h#&_<bHkAaYH0!AJ7`PYjt[\D +W2aitpLe&jECtg+=iHbboPB!Y/2=>-9!XU"9NX`NUQYlr2@1rf)+fkZq[t952#Ob= +98+fJkUtR8Y>QVlOi!C2nf29i3F/!=Pu]B3>ue=@b1^tNB?G$kV)qRGm:V('8PI0m +'Em/acB+BKL[r+A@m&51*32IMKAb5BMfKGs$9;ZKhBaXJ@!.+,K1l;AkWZ!kDTY8& +JemMF88/CXP0G5%F(#/b_<iI:qF)*%o!<Wash7$'2j@ahd&%U4M^Jt!^ud9j[j +(pmm*7[2H0BF2t;+tcNOanS&$9Z8UNXE.so>VD1WXH&MU&;_D%0A0%m1%mr_%TFh" +os'N_A@cn""(B8?iqbS`@TkXK:s]S+la$ObgRLcF_^cTFq*p7nNg_-tX-pm?[:0#> +?!F;W8M?7+?*;@kPE9:b?GXZ[VREqUq0OH2Mq/B4KMf/Ke=0fB&=1f3+DD?<--R.p +l!2t[GU70qc\loYm7=O.Jh7<B?AKM)fVduH,?JL*^j(;1C8<$Ai,bYQn05^a0\39@ +R)Q4h3&Qk&U036Xh[3Ys.*ad#$dggj_&gir*Lf/(DV);mG.VeChGP4je[WRIE[VA) +Z?!jCMu=U1Xl-VQ%Vg*<==M?!>kl[_7onOW_QQ+ZG.Au\"0I+H:#saI$Qh;)"p4Zk +f1f';3o2</J@:;MH;&FWA"1P/*V$$;aLXb`-&Rt)k1sII9jKi;r3!\gP]ElQXkb8) +pL5aP)<2aKmce':]`L5ss(gE,-!9+n0CkFQPE?Y9QQ(h@3XsoZ\Oo;UG8eoM4_JLE +rXBjjR1HC(2VO$iE\k).?$2DjYWong[,SRV^1:0s::!-qmI]FT2"#+XNr;%TdR3BS +f]gq_MqJK,%:c\%8k3niop.q)E"EN1WV3+^4kj-XRGsE6^#d][#Cuc1!;$)FOqf-Q +QUr$\HVX]$)%ISnkGAAu&eDSn:E&>rUs_qEpWa)UaB(^O^ZXtM>4[@Fg"$GQPR*kP +8A2-Wq)3*/LJHZH<909U<BbPoGNH=7p@2,M`BN*-EP!*XTmoj.gec[pmFtLuh(uB+ +oV?D$h4&Z7P^^1+eoN,r^b%gJDT*9-:FEMC>Fk/tm#Ba+`.N9rb'bC(SAK'E@.dgt ++R]6gS;gIeLJR<V[?o^*T6uO&#[camXJr+1G6(5gU'>SfKi/l]\0l8?2%d-@e`1FS +_$TrZ8(<2^WA`o.Qr$tFKIGE+6QAr:%[GaI,<N&@]'=8Mc8Tc6]LsMC?eUC;Eq1A; +8[RhAh9i$tq$uP\cqF)TLK#&ERcl8&V(/u]k\4"f2euNMLFW>l?J!3O-njfCefIVQ +[)^d`_1?CSm)e?kQDlJiiEY95<k9ApS<[#=_t&!T9aC'n6.=EC<7%su+;B#Ajhhdu +StlM`-*FE1!dj<U0EA7Vbo3`s%El0np8U6SR'bLXY@g_RCuh:PMOQY&crBs\cSG[6 +EVe762mqWIWMF_\Uk8sA81-"LPRLZ48^Rf\jCsh7O]6Y"jW%_@C!1V4oBca>hoNn< +hj=V)4.15>.0A$-3Ln/!EZm6*lVV+6M[tsfo=*FS]LKuV2B=K/:rj(9Fo2U9G,tR+ +!5c%/qu~> +endstream +endobj +91 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +93 0 obj +<< +/Length 3991 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;XF7?#pso'o%([?a9#h#+Lo4^-=_P3o`8=ltJ7m_`AU"0.;[OfMYsd8Oi5=s*G9" +QV10;/r1fC1Eo7>%plnncG;NE-_m#HRET>&\K;]*1BKf/Pu<UPb-^/qAWt.Hal]@b +J,PLAo?E)!6Jr6\UQ9)O.uC.65rZ>CbFG5.53@_GSI>'>+&cW.qN,Jn4]B3&BMn+S +n;NTeO33tJ<5=im2@p&TA&Sng7_(uQ'\atmp;&o+Fan)3.bkt1@5WdgJ^<.fq71tF +6s05><bMMPh9lXp0&0(Rfpu?+$1tYSh*9te!OY>Ur6s`?Z\d0iEIk6gi7$c3B^ECY +c3q"Lh/Do,Iloq5k*joJ&^5+ZfQ`j+X$I^a:8]3K1id(lV-=.)"Q*cKVO35*S+YCA +%l;k!g[UZI"r;*/YSj=/NuBT/+M**<NI\e&@uYAaZMoUUf=G)?/QQrfO8O#cP[c$, +(E4h?o7nuBA<h%V7(b*KjgIRWNA9G$6k!m'&-3$YiV.J$Xnpjao^dkhJVC%)KCslu +g([T3A6JtNb%.uBUY"s(07V..kiMR,fB[qa`P&q]HaYMMZdHBDfl'@;]c6n`JlMiO +:m?6V5UqTsoQoLW@W<F:]i$:6KhR#,(Nh&aF0=;<:Wp%gqUSeKD<j_!P8YAt=G^aP +L13HLR.WQ'SC@2)#%\gu)hoO5;AoT!MBOdh[BGn8C*#,s#_fZWD1muP9BdH)J4)[C +S.-Ib'DQTB#jG/ri6O\Zdt]P'dD8SQ$\>*EK<B`$/CTPdnsnMc]?^P'R%@W7NMd*] +5!X'J5<+d%\rRVF&J"ZbEh(Vi+edn8kt*pdN3X6#J>8t5!DH40YgWS>+DT=)%(DoC +R3i]eFq4T1't]ssm-G?I9MgQ'<g;oMq@QKc#U^TZDs"7;G9`t#-Zu5f`UZYl?G<8K +rX+4/@!1L[^'R%FXfW+KU8!:2L)N[>@;2BH4B!$L4Ebgo;)NWdRU2_r0Bu=6T[UHf +N-W/41SE'tbXl*>/$n_uH'S3Zos=T67uQWJ=BQ[clm0S'OGIYU].m@9h,qh832F4@ +]N_!qn3A.f"N)+n#]gQ0IbRY;66kd0ph92Pi-m3MfVZ&C.%&6:K(.9;h+qe`qL,.X +)BJ0$W=Xk4S`#`E\36F]eQJ+H'+ptG(%Ss:V!1#"<+%<&YmHH<O;0@D8Zep?p!;][ +!D&uPmt4SBbUt<Af]Q5%b+Bs>RY=mFJMjMH:3Ps=nR*Hi@7kiS285Sl[tHoKl-/)( +<3r$3a1eRF@7lGp;H$b8&#(,W-1'$=QI(Di<7/NWf2i6rNM.e*!<F<$1WaBT<dbu: +U:68m^5tP^.VqEf3&d5@@!H5"doj(9XURV6"=:H/A/qPNnH/P('uEC4^aK=0M2&/; +;(f+iVMrcFL^qlF,4qPgWrSjX4D4cg9fN[1UaEHr*d$<?T@*!!iQ55EYg[i;MH-Zb +8lU$jmQ/n`A0.Z7c*do*3D;aMSQ1<raroUVXl_\C,/@nR1H;^CdN]Y&BXoZpo3PX) +?Ba(e,`ot;.9et[I8(!hWA<[+rb:r;&)q8"I1T<r*UGW$&;V^&ZNPLJX=1p)5IK2C +p0h.-Mdj(uLNjl;7eKbcF&7Om;1RYJDR9jh]D,C:Qp5CM4#S7@PIaVV?0GRf46:UE +q:[E-OTkYpP;hDq*[ntSMY\/:3]bo-L5Ec*d1"#P<[*aY36g!QGmEI9NtB.FZig[. +oQ2*NMf:^53$VNkiUblM.#S$c8'YigL.UV\_n$c#4>iO2^GQPm9JLeIJK/ELUQtLk +/?KcM\?'7/RAb_K=%]kn:8qc&689Y.75N&N7+9qaS(s`L:=(O61UqU%0$pYHX=Q^\ +Em:USb'Zn1U=a><,8AtYQA\9.Gd3g)S&6gHiEg$NIMejQI\9N)$Q:;WB_5bj1i38' +`^Q0prXf)-10r.kZdU=';W,bN)(_Vb=#(\0k`lWucpP8F5ZWc<DK#[(dA-B<b((/\ +eYqG^dc#l&$]+!s=`d<`Z<B:q64^7rDIR*und;X8RKe:^RRt"a7!&5YDeG!i)41n4 +d"<dVee`?C`\a4m*:ES/;pU9*hh[THUdd=93AnO4=d[WN#sFMnNibl@.E$g>R^0$3 +F];js^FY95$r.%B#_C^n\-Z*&d"JirmTh4C0!p_;FePY=d;^*p1gWEXUWmSc:.A@: +UtZchN3-;%/gu&5g6F[GCae#Q;kJ,c*h.'^9<X1\`aWNWY"\Dd)\WFQd0oO4-r?XQ +82XcZVSJ,\3ge1[Z"p@IU7*P9C&juDbTLJ.NEPq7EJ?&e_jY(@O+Ptga:8Nn?uD.] +^m)gthu^JnQc36c".VqVLG.QH!!`an3-Kgp35E?29nl2`5(-73V:Xg["9]QpAm`Dg +MV//M^DD]*j'TZV;%0e.a^)!VTk#%L5,IZC;XP8jQRod="W"-ar%!jWl*fIpMRWJW +Hi%ZWUtn4im2LQPhZpG4HMO]p\N%r"9*POac4Ut!bQYo(;'6p&5BUUq;V5h&hD[%[ +c!l,`?&.u]R"F`g@Ftb6=On40'$-8Y"u'&TkVEHe>n46@P1BZ#.ZV,n"[<33-(P3E +9'd`C>Hh<bGFK'Ug,r#DJmd-s4VRhNZ2QpMUY"s-:RKeq-!.,hL^[sN:SoMU*;0c( +Ve#2B'Knt8B':o\h&/hcSm4fklhF[,6dp=r@,c]+la[8T`T+&CKJlENR_Zamb1aN8 +56Q!`SI$9,G7gI8E*%-el"u<T[6QEGeZ%,OpONa4?G8'[\Yt*dStW;?Mn4a4(FT:( +%^knpfdrAZ_\<5+;"qTi[!i@XB0$,3<,7hl`st5VmcIdr[+UkuKDcO20]>AA4k#h' +^I!uUf_jO\8$r)[eqEu:H8+;p+@2dSmn6JHYo_8VaEfWHgFB.KV,Y&7LKiop1YBc= +BF:"idp/Z;gn84BVJ)9V@Eq0']ZS:;E]A#4X!c%YZ.ld<1/r'3AgP+?$uOpLT-'O& +`H%/lR_5i+!?>N93GaK`JL,,c)h-H_i<NhK&rmS`fQ(8'Mp5XV^K<(rT=]u@Q;qQR +:kYf*:l5FY@b1"8U"EQ7$_\U,>C4Kg-PMLIXLL92@Chm\4)9kG6.r(M5k+t(CIHu? +XpoQh's<a,[>PF&'H3LAkJ.)Ve3`9/Ur@H?0[.W[`\i`nU/*QT*o!XLFYh;m@hln( +&\BMS0@W/>_\V]OS%B$j#mcW`DX3g4/?/<o?9Et@::b_R2<:(,i1#bgpG>>mha=0G +d1,,M)PLZ,;5Ln&i[T/AE_.s%C<_0(:7'-8PJ\Yf1+?rl%Pg_.b&eD<d%KLJi`EHn +(Ro:)#e!5ZW<]Ta$>k/.2S`qsqE8Z30GE1kSRrN:nPkd:@1CtF_6@W9\&J3u&=CAd +mjXRXJ_=f%>(4e/]'XQ.lD-E+s/+G'QqY)>="]nNZBaqB!0YaQpE7RHFKEq^o"'NN +GBq(W,ao,-WG;iUJK2,0lE6BD8AY<-5c39u*!S=T*c6Bi/[pXPf58o53D9Rk?^h%> +E'4NYmp)j!deH/3R8O&BUG_\:$,^.eXOCiL+?<i04F*.jTCjtZM&6GkB[98K/:1(A +2Dc*f@7ps5_BQsNU?kcsHcCoe:6DemireB>lf[NYN*G%7Bd$tlI#Y&q=MhDh!S`rk +J&Y>%97bE<$"t'?3tfBkH[.9\fen>"0f]N6X+@e]AbFdq.&EuqU8A(T'"+BI<@psc +.7ILEVUN'Art@]7CpTf$IV40OKF--"cc7OE-Fgj0@bG4^l6..Va-XF8M0G?6m2(qO +_cEnKPl0]lrOI/bi!Tm2Rubc7C:,?gSp1JHj(\f]`o'Oueo%sK3sa=$8m8hAcn`PU +2kKt1'tUg#60:]>A;%I;c?F'E"O]%t,Ok&bR)j)#_!F8=3*aHTp$e9NfD>4t>[mW> +a+Y4\FJkOf$d`>$c)-Wl5>"b\4eF`r>i=W(iNWAop%o_6rt\4k1^L@NQqan>h4r]P +Q(_0PW(JjEiG==[.iG\l*<7;1m!8~> +endstream +endobj +94 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F6 30 0 R +/F8 44 0 R +/F11 72 0 R +/F13 61 0 R +/F16 62 0 R +/F18 63 0 R +/F19 64 0 R +/F20 18 0 R +/F25 5 0 R +/T1 87 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +96 0 obj +<< +/Length 1145 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;W:,gQ%aW&FHg=Jk('9?uqYYUo(cYDP]s0/SZf4q`os)BXsp([,g[k)\\BB!a7#_ +5/YU71ZNIu'nF7:1*e7O3rjD[rfI@&[cU2bDJP7a"W>[`(b@kc67K'fWb]1`8jNU2 +nk0g077F@,6_p[-F^/5O82_GnhC(q7EK]Lpr/D7cCf@JNe^.#N-C43Wg!Vf"8$362 +Rdt57Q@\TBHj,8D,*5(26;m:Qj@:Nk"*DdCV1.kLh0TRG5@E,ujrfsOH,jOM4"ec" +Yr0\>l5;.%8e<Pfd#Z`#-b;EiPNq^p_=N<O!B`PumpO,qcs&Md'8nmD,\ZF!Jn$g0 +LR93t#0T'_UtAaJbC];GYY9paeNO]?*gbrgmE*m-gD"A09Z%<7rA?kTkfC85ku+)9 +BD0?d'+U,p,EBt,h/?Y-2L^hXP!#^>b=+cV:!])k;3?$HLXKhQj:HH(kh)C8j'qW6 +3ek\Sa:?_!P[`X4WHgD70ON:>_E:S5Ru%=9X%XA[``<PnnfY&kk;je^A`r*DEf60l +qf_,<?$4R,4YlQ>8Tl+Z.-@Z\__`)ABX*,M!\TInS#!&7Z(DfD?No2j1hcJ1=Q<Ch +m0>;gD[Ft5_&qr.H>lH<8MN.m/QS&81ZWpJLu3Y'%=Khg+Y;q)9Z=-Y_&6tJj<03: +@PFaEAFa]l6uV.pAO4e#UGlh%WaiRSf7G2&O2cV^Q=;3URB@s`%eZg<[91lfSKVa8 +ikp6+W)I@Pl7eLp8\8[IS5.U#[ks!R.5^(0SBV;0JR`[,"Lq*TDj/9-p%Eu5I<mQ/ +c&4>`?3a9H4K=ShDkHSS_riOX7j'_go8l[r>g_[#Xr`m'XuE];_mn0^>`[`h:t.7X +MNPHgcmm.U4%ECW@TnQ_\>**u=WQBIFAjCg%9cSq:,FlL(pkA1,OG3(MT20&LOF9R +?I7[rTLccaoIlg]^%o5K2G.T)DnfGliau^`2gu_U-C%EZI5,csZJQu"AGqDi"0I8T +TrPu1+s";i)0D:j=A_`s[M:Np:Ct"KV*ZA+a2;$2Vthl<dpci721?<!o/+^T6*(PW +%+H?K[)/RIhp$_o9ShYVk_.5]H6Eb:n8<f=X[,/Dc080URklhu3#[l%cu9,XV7<)\ +Li70gmE+PkC]#7S+&>;D~> +endstream +endobj +97 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F23 4 0 R +/F26 19 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +99 0 obj +<< +/Length 979 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;XF7:N+r@(l*>/VslD\Gk#Q2r\I81YdGF6->cq^*MshoV3J)I=/`Ke5:7#c+Ipq= +Wmi#MhT,Wka\VH:,,8p[;P_hp0jlGOJ+XIPK2>Mt!M!1@_WZT15(#`/fTIB[`WWDU +j@<&V'Gf/K/:QF$#=GY>JbXOF<)sac:[?\O0\"'^ZZ\P^;llmtq0)86qF%J9ns==C +0P[C&.1J_`!1BOl<6]Km,3&tIIA]V*+7"F:0CS2Hj>5UT50_414afc%-KM3HedQ4] ++V+dBTOl9=E>&W4#@_++Z@8NF2*jkE>j`8F!>KILO0dMOqfYg7hJ_[m*F)\Xk(W+, +l!1e#V%)o'H+R>%aOWU*00g:HJjj`QhG%Kj;/.f_&nK8'QMQ9ILgVMYYV1mF9114l +LRf7/%<<ZNbL8^\egY8U_<nN7iu-]b@sNp(KK\GRokBa%(+;H4;t-qc\pUZ(mAA,W +2n!.u>roL=4+YZPja6.p0qRnJ[b>^2,sS31Sb6]`9BE"''($;)Afc<l]l^een(\M` +f=>^6;fq.=]3P"HQ]1;E%P?U-M@L(DFTLIJbu=Kjk5QM!KZg3<i<&@TG1.gD0%LCH +@.-"YPP;q*@p@mnluIO/-X8F89/re6?_lZ9+Hc;uG[<@@?+Bb[rlcJ]I*74aGEftu +OF#egDn46G[La@Z))#2P<CoGk:8lLc/K*?;S$EZ;@Tf;Q9j%KTkH";qO&2\V.=E2j +VnS&3#(,GuEo6O5S*HOPWLK:?X`XBk6c4W1eb!40Ep;4/jU;B[=I8391C.Pi<CRm% +$Xe`KE#$,I[_Cj$]l*rF+^1tLDn/j9><q#i@iqf/[qomH>DS8Nm!VOHG58!dket1t +n!b97oBm%"?D:=+2"t-@YDfT&\_-TpmYDhNe^h68X>_cIm\[7apVpcS&,4QeCu7B5 +S_KuGrJIN(oVb*6[(:DGF6bjqXcm0%'LgSp<P9Ek_cHaI!66?Ml2~> +endstream +endobj +100 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F20 18 0 R +/F25 5 0 R +/T1 87 0 R +>> +/ExtGState << +/GS1 6 0 R +>> +>> +endobj +101 0 obj +<< +/Type /Halftone +/HalftoneType 1 +/HalftoneName (Default) +/Frequency 60 +/Angle 45 +/SpotFunction /Round +>> +endobj +6 0 obj +<< +/Type /ExtGState +/SA false +/OP false +/HT /Default +>> +endobj +7 0 obj +<< +/Type /ExtGState +/SA true +/OP false +/HT /Default +>> +endobj +102 0 obj +<< +/Type /FontDescriptor +/Ascent 768 +/CapHeight 716 +/Descent -234 +/Flags 34 +/FontBBox [-171 -241 1128 966] +/FontName /BNDCHL+Concorde-Bold +/ItalicAngle 0 +/StemV 150 +/XHeight 504 +/CharSet (/E/two/h/s/R/F/exclam/three/i/t/S/d/four/u/I/U/five/k/v/V/l/six/m/L/W/x/hyphen/H/w/seven/n/y/X/period/M/b/o/B/N/eight/T/c/C/p/quoteright/O/A/fi/e/D/a/P/colon/nine/one/zero/f/r/g) +/FontFile 103 0 R +>> +endobj +103 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 30583 +/Length1 726 +/Length2 23516 +/Length3 0 +>> +stream +8;V.\HT]dC+.#X]OrPihk45nmUTp6)<g6\oZ.p?S2>_jmA[]"k=?&pUV2NEs;^q>h +f+^\R/m0L0croq'nWR48U6LfN3BF?N^YeAQkBYpVp\Xo:54@[^dj6^d>^&@>_P4<T +R&tlJR:pC!BOo:sd$SV\6JF3Y+Fo`tiW'OeE<1P;&8'"Q/;_Ht:^AcN^O-S"!1$2L +c2`"o=?bKl0I)*=1tD^9TM<\8!#B@-#70JSd/Y,[JkQB>rt!_<b%8I&J.KX:K>@VV +V7!V(r'5J'_LLHsq+#AL#[d^9e)eTc0\/kf4G_75R1-l=d;72AKDNECbiHVt#V`Jo +ZM85q0Sg)Rcqj_.J0t=Y6)HjL\FDRa.$Ohd0?q^MZDh(71^8K$F?8?k`9.-'&-l\9 +(=ACP!13jb([hZ`(StpR"Lr7t#_c10+TO:uY^tH^TZ,iJIr'fQ7]1aZfjJf['e_pA +i*4>(J?cmu$3-coL;J'3Z>)i!,KHBKV8K[2N'R76`*a&]NdsB-QqIeg!iU2N[#B>c +5_r-i)3?Y<"*9fL6Xqj<+):400J.qYEB(b;J![g@jlD^g74gkb<"AR!iu%^GO'-'[ +$uhWFCU"#ZN'P1<94`WQ2Y\:p.au8eCl#q+p8j18Q#cr<3",pY5W&:n3!E"i7T9-M +`'5<$O[E%GPqIYpH.a]PhF'q`rBi1]NGjHF?3p7AY#)@X[H$UJ<Dr80Olk1%J;J.1 +>]ubWiMjV98]e0B76Dp-3,*JhHY$gQ'AL[4rAtF1c>[n?mKU*iWu:<)[JMqRFZ(B3 +,i\Ipk>k-[N`<JlCH%9FkL`P(rDs`/DCX5L*gg`+;`gX:hiP9r]A12$@;bN!j+@W< +g=S2r,MLt=)V;eup8rgjB)4gY:8DC0$OM(V)U82H/^K(_D%8dk[7?IIiV0[%ZkliB +Gji*[\5,$/g>N_!r]Z+cjm?!Er"79/0h!h>LlEd.q,PRl#?U<DNF+K^dN-_.c)Fn> +@-sMCNh'7_<0`J;R$NitT8?qM&rAtGo8'G.6m]f_U#kEd4mtEIO7*dSl7i]f0UIYB +cNXW8]:78lNj3i/pSmhen8u5;C7:b_]u/B'aZXb-bCb!H+&/D*'_4r4;m_3XDAW(+ +!@&Am(R3SGC&DWA!4^(VmlAhA-*LS'[e>*@2"bV`&8j&tZ3E']psjZA]h9pn+*q^q +VDkE0$q;\PdMB`P<eQ;`=oI3fVJ;m;Gg#T\<-):BU+,O?AM'\N>C"rR?`-3>dB7l] +3LuLEm$1pWeC)ZAY#0J4APphgS_P%G_4r&sESN+'e;.ug3OU6Q;)dB9aj_7/fs,5& +_U$bQ3X+7V7Pf7b#;MI[KfE""EmJ,!fe:$F<>28K_lkU4I[1/3FXNV<_^*8UdJBsD +0=.rN@Gg7q4B5pK]lBOYfHIqD]]U?;8U?>.ErS\2O-Jd^I=5L0eVj>'CT\g5M=gA& +)MJ7]0bY3$REu^2NZUj"7]-tAfu3EjU[&h$mPQ-;TQE=YT_&TVBZH/+)XX^Rmbb-l +))Rr:p99Q:gkt0J,p)WM,\0X02Z2(@HSXXGHi:lH#IB#76nR&s:ejZ1[89bIcjBK9 +UV=/eC3s..N3Vdi=2\4SIK-uDj0_@e!AOU)#7?>HGT]7_-KD(7CeN7TN>e>)#>S:< +ekj#Wn!9"<&)@`6Tf;C8:d:50EZu^Cem8mGDE,s(k[8I./612C<:i`*C@V\W=&p%6 +hHo2A&b[]W1Soel3X;>QY',,qQI:P4,/95DcpP+RT;^$58ZM1b;:*ag%Tm54n61mS +cd3M0lH[CMGms%`R_&l=B;:1S$V:18e@`tGE6@_Yfdnm-k>q/BO<Yoe`OO1oflU)K +T#dQ_VX7;Pb1H?<T\UDh!#fe1bbc7&69e@j@&B&fG;s`]mA`2RLU6]3l7DW"R24je +D:I5uA9!S'Cg/)]L[a5H:*[g8h!;8Ur7)UY(nQliR.il^lW'Q^aD:h82eEMU4Wh"+ +2bU<;0D05-F7E:XAZ]`hl^)mbBplhJlWH@Z58iNWZ#p)X2dnK+/g3E$k&aKQa-eoJ +%m7`EMDqqbf+6>fP"CdG_q';"8(=QHZSHDp_Q4,@YI<&T:HOp85WVRm<9!600m<4I +OY9g,Gf\VdnH^$HQ3MGL^<*<%1Kere$^:-*jp'X]MM6lm"Zrc%&%eFLENZ0reDDGT +hF/<"*>r"p=26F(S+8ZjhQn]?gFK>kq5U#X=Rs0`4aVsL.hjVM<ZfdAN'/o]T!QD! +1OI#aGgP3OhT0j.Ua5H:9MYH&>YTTbfhlIK_dp00mDVjCb>NYikLsGnbG4&Q=/FfB +r(oAZM,1kHfun2t[/)&IA<#13o'&D@[X`sPG2i)_icU5_YBq5F3',18PtWJ#.0F\O +Ji#P>g@t!$f<,L@;]bTL)Ri_)2NeW?0e-cK*SQK4,9,`4:>Dh;[D0]+=M7*o.-4e3 +1JW\Wo6\-9W]K]F"VjNuFEr1:j&G;qfiVQADBTuYh!3Z=4o[jh=!\VKU&t(Tb@@,n +1sS[V/11jsPV<%V38*&*a=.CWJKcARV2q,^eQmS;=&ju<nd(0O[BQilG$*=R=nX%H +_Fi;uH6%*3UPLq[-(:T<8g?0oA>Z@Y^$.P_]eEJ72W7>E)<(Z_-?Ct=]%kNrdljtC +V#6H=P3a)-9G8?)Vn4ObN4ggi40=p7+31/7r7o+MB1I8+l0\DMfq_?9>uj+)PYq%( +6CX"C'rKL(7Xm19B[ZLa;uI+<Vh(H;$i^G3prch'9MXF5P&E$8pi=5eL;rtcZc,9% +Gm(KhG0a@f+]SEOcj@YU5YnMrJo61R)F;57=Bf;2qH.qu!dZtNZS%:)=[1Vj,$^iP +@dJ`Vl6ckQ<aTQr%OV_+4ESc*m\(ePVr'!;f6q62FHrjfNp6Cm$Y)B3aJP\%ODh#I +XKGKH4RV!XC]&Q7;pgfnP(p6!QT]8]U2A+nclfh.*dBsA,u8qm$R25ko6$=p"I(uL +i-o7">sbRIT?FfJWR%Q.(l/M3,q<TIKpWQKqpS=W9Q&DV:K.5tamrje0h/t!`:o+D +)HKe/OP]RnC&[b50WMP]gl)dTS42_S$7o[VXUK<\r?9o'"<T\3B5u7@a)aPU3q]5c +gMHf3BG1.PGhho,""KPE92J)A`Sn4k49<UhF2sFd!0.JLrOVUMKFFRaSX>o$,#!Bj +3<J@\.P8M%W9*^?`lU_""OR:GR<3")(CUcJ'0JUZAaV;#$NQ7<eKWt+42\)mc`0R[ +7g3\F7CjM9@g@pH%u$!U+i1"6Z.@dFH94ruBn4c=5g2^QpX5@JCZk7Gi_)P<S<Jia +PmtC=PNki'301-LFlIAH(m^!=Wbh3oFs@Ae,+^pgRGlJ)%B@m3Dc5GNS"8VJi%Q^E +a)n,n,^6,rf>JsafjD%POsDO/g>^=$+^H5%VV_\Y[\:Y2IEH3PC38]m^$6PRiG5`q +hN-/BD&RR%^d]Nslp.ou;I7#8[^3^)NO%4`UB>UiZ%,kZ_Falr3\8^]_rPc`pA6GX +jD2-TmTJQh+N;]Ej0tP(5:6EG_C51O_$sP^0[PSLP1aB*gOWOOBgll&*^c7(hWX+O +.YoN2SCkTsacBl3rgk#$h;7YEN<pTkCkclt"1'qGaP8m5p,p2\:s=>JNn0%'ma[ne +0\'D3*h\X4ab%(H,K]<TGOK&PV#XLRdQ6:7*(OQ[!c<+#-+O6-,?5/%%C^I]4ao+V +a6tG2=b-\T_NQu3os7d-"CHrdp.].$OFSdlfDS'HIh*u&@osiPd]rH76D<Y\TfEf$ +A`R#eSVCEura1MIh6AKB1I`7-VW9a*WX=^9On,Juc?PKHYL%hK[CVeOis\2r1aJtU +R,\206SqK>2q.BCQ?_(2'Tb[\f\AM3=$LP-Q(09YO[YksXfW<18RAjsX-ro/,AO"/ +'+Ait2feY:KqLogR945[L/FX(MrC4D\^Zu/EsbDd?fnUG[7m8"oNNY(V>!KT+M6Rb +hd3WlSsk,-<Bf'K>Hb]+'Ea/cVJ=HVZq5?g/Lb85[!@:;03?F%HCg:3R\"R*7Ci*E +)jt[C:8u=ZL.&-sUhYY]a^452.-rGBQGMcukVS!@E[Z&7UnVo&+BOjBZ0h<]opNsY +\NCFfT[&&ZfZ;PiSkhU(J5o[tRCL)KR:Mm6n)VVmak(<d!euk6G"]D-+k1a"e!u>) +Ne;[#KUY]\>Kist@9mZVi%[igAiVpK?S-;@,FTl+VohV%<(X\lVg,F1C4>3C+n60B +ojF9pT)4TZ^&Ghu:O.D-fijZ09,ea3l<=;f?<Ar6i[s_)>+:9\?+?h#Q`=&NPLed` +'/:;`N22*e-MF[>jaq=PVNBgm_&!gk7PVG>8sb`*]Mb4O%k2<]\9T*0/6aZt-,9n8 +0WH/.gl"'jFqg.u2Qt4@`miU,]ff![0B]2m*jQ(]it4rJ"UHG1iSR0F-c5Jgg7n*j +ilK[YAf:0G'?1H&pss`CB6$K7cN/!M1W:%[H_#"ESSd.K0Z;tOG50cG54hd?8VN+L +XV/+s)XYBB0bM%HSb5i7en2(b#SB?&.g@`rgoku5jc@lF&?)6"RVnS%n)^3ZN,WC@ +k=Du7T;9UQQE3E>]gAa6+E9/_+o;W@\gfLjN^%s)$<%8M.$\$unD#*oq\tir$kDBC +[I((<hmetS+&k:oD#$;Y,cWb(9Vhm;CDr@HBhQoh&MuW/`08lRQG3r'0(5!YhALJ? +))NK_f;r@7*"Y[o^<6:p!%0SdfhY@DM=Jh^j4^q3Xb:q]2O<4RV>=u?W..,kc3G+k +i<f.Ji+*<@aTfiE[GJ5k?BF`B>:]u@.?kq-\DjIh!*+HAq22N3$_A1=VaXZ;-.L=F +CQ?t>8)]X]Wh*]Ie[#45FeQiTiOAF+%rO@&m1`?GCecsj[e!X4bD,+!H>RV-ZT%r$ +^;h]fP]4-3W.N-Fqm*:JlHi)YC=uX"*k:Alm/7,-:m-:\0,6,=nrq@cIXc0p)86qJ +`Wp\=5><[HSaRp)i%5%LbmfCcZjaULk=<4?(S\bR>":'X&?eE'RNfk-DQP2,7Oi,_ +*;(lF6(iOHE"dE_]W-[\cNu:!D(k]eHLH,0r,*HH.bLZC^N<S$7-0FH=Z&MI"%7Sr +`bBUl`AD!F<f%(f![o@cm"EPFhYrJE.7`3+'$3PQq0Po[SC;*c3.#N5'l"WD-SCV< +(Wmg9<jZrZ#eB0M<EC-\@jOQ)gqjpim(g!ekCO)iO[YdPbAT/kW<ORrE?K[X[8YG$ +WkAVp;u6?Td"h]GdDi;!GI#\%:20W7=TiuI4fgRjMp*2UV2S$WZG78@HCt")h0Y^n +W60q#YOt1j+o1A7-Nh7/)ee&j_rCAK^Rt[7UZHoRO)AK\]3C%&p,keC3I%nC!!NZ) +pFTY?k5O=IPDKF.Q<?_=MI4!`6'RuV8k=bW6+S^V-P]NrN,$p3(p\(3S&^QfOs+n^ +ET7'(Ib>6nDDl-BjJXPSM@$RtkCOc">:Wm%.n6F!6eq7">]R`+.+oc$Wo-I\KNV;a +qK2mB3>TP!I%L4,O*qg7T-@[&lG7!3K2R7>?0MjJoXja^5M%qgO?fn"V%g^AHY:P@ +m^^q_/dXG4!*Qpa*Z4hQDUW-[l];HAr)[V,IERFs=%=cd%\-Ngo=QUIP0#7GRcD+` +s8"CUXu<+AP'0i=lNJg"`=u?9X0.H1I?POMK/<L8#E+<IKoEBE9+W_O!,Td6RScgH +[A-KpT&s/U_"3f8)6=_!%O.%F_!Q0S/TDV73#eQqli?hbFRLD4&^+:3"U2P`6Q_') +#hE\:Oa9sO@2#BTk-?tmMJl[!D[.P#jn-,,4D%Ot8&26U;:/JE3_BSX/r>@J7@fo% +WuT[1'fE)$#rYWJC,A`]SN'(IHb]^d7br0D:4W`@]D8Vo3FYD@jgWuR")'A4m``iO +\,$\>6t$8[i1>$Lg1U8S._B5YZYr3g*2;]h'BjhR;#fE1'SOSDSRaN:dgQCQ(l/*\ +p.H>_`1dJVClNC^UPj@j5C3KEWefSPRu,;N%e<:)D>cV:#3K=Jc,7RL4^eg$jklUX +DZ?b[r%?Lc9Q7s#F7*A0m'[p[;N'.PlHlOs*p^<AY'[R;c,GV>/-T&.[dnYsNU54] +gnTT?9I<dIc.6+bTl-VI!(s-`K&PV9B+M8K4N%ROP@VYG6_pEsN#=q0pP[!ChqS5n +[Jh0?*Sc:($cjUNU'd'RnZ0Rn%\BDp,5<mM46*][B#3&:b-%(=/=s5!aueauTT6W@ +_qQi48-SG$R@*3W>q"j.lr%,fcCVZdE1]T4;+7qpCF:WCL>\;^J($&W\f.A5dB`5D +7>+U<9t,%F'UHck"R%']):3%qjB#>(9R:@Y8(JbYV!V(Ms,ouNb#p)^1Ca:#=r!`= +aP.@#dU`Bo"9m&m;!BC";YFclYsE>a7r3R(4SM4lOoZS@lVCj/)b>u`$[j_>nL/>J +g@-J)oi*Nq]@X-T+r[=f:frrlXn<'GT$c3sTAQUJNMpCGPB.W)nnU$_:hnKBBg56L +FhVWR+:G%a=q5'8/8H^AJ7@:0E*5ZVHr0Sf1r>rB_ZT9&AP(`HXa6,U_4T532Y'f^ +jeEmfoVqO-b.Ri8)@YYt=MEZ'"p2PBa5:@Y(X&_0`6"7GXL#i8XtaH/N->hr(R@o< +Z6]`?TNe$2UXBW5qs^C&E9'hB3<%t%qCqMddei^jMigSB/,oK=HWQ&eUbrf*Gdsfb +2n24`2CJpZ3dNhs)-]Rsi(Eq_ptmo*q@FdTNklZBAPDG9I[)B>d@oD*nD9S4>BGoi +CLa+-^PL-t-ii`7TK8Vs.E9Zri9-aa91fW,d-W=gUbQ0jcaAIWr!k:h(U>Vd:c`j: +`og'lYJJ/M6Ssk:H?^PM2:K&W,d"T.Z/PiqbA6H>"ca<jIoK<`IH$H!(s"8sjBN5_ +k!a4GCX7/!KL8;1CaU3/Hi,\j`8\ab!3FF(6UT9pb0un"=ok/Zl6o!GI-4+eGuCP! +KR'HD*Ut;;9C2e70=g\;qLl=XA1+VofVnf&+*e."&n_+D]Zpua<dL*_k\(ZJ'Qk%T ++qN;C:K7/?Q1E`saNldE)4Ict0@%[f@tkSsQFO=%kLqmYBhZ3=?hscV,Yl2cip9.p +.+k+]B^XSj@t4D@00C?"YclLHV^Bk(Dl@AjPH\%JNZ?`#febdARRXG860IlsUbMJ[ +ddP1ZVf;6$<4RtEWYgV5+?AEq6EI3D,tT^/)*BjMPRfp`o<RiC,X-Tq7_!\h8d$c5 +.(_g<P@96s8qu0:-7k2>0]M0J(4"af`)c2EZ?0'VOanbTU^;m?Y)c""K=K%R,A^Af +V;h(LQ>_$A2t(GqiI5i[F#O^'U^Oe&)l9M5cT[G?R\bC@_jYul'F[e&/L*YkQIhk\ +Q2gQMKmUd>^?(a%Op+t;XUhSO!Sf51,*_k6T/m#*qj#AO@.k>=G6Th"NAm+;AO1@5 +et!r:E_l1UH=MAsKY7G$,e^t0CX\dtKjTQY_L5V1!V+8sV3qF%PF7\hqa*rUa!>Rj +3/ZR)]p86\-Y!5nfH\QpZ2a9a>d*;j>"ju*<)Xcef(Xft=9d5'GPpZ@OhaiIP9222 +W7p"s!Q)b4G-Jq@E6PicWZ@n)Kk=<[eL,clcS:-ZX<s3f>3h/\]g4VI;uEfD4`;_W +_U:8RmQE?-Ph22'jei+mNAaXpF7#@W,T;Cf)se<M-M`-a2Gj(8"(S/J\mNUVIDM?1 +']$bf1F9l*[ZO@\0l(2CM@D!t\E>udp)EVOI[n:5qpZ1/30hjNEIZ$*cVD,i^2,0# +%KSFKYi>BKQ[;\!C5*JFrAffM/'7+4&1cJl_D8dA..aH48D2iBPb@\AEs,IK.3[t3 +hT'k.]s>5Efrt<S#Ep$tH>3qV@f`f;cuak3bIG39f?VV'SUT3OW(i?K,[e]7+sqL" +24*Wlr`qX2NM6o?K+0qQq<"%`D:GK9FjL:NM[(G8<br&n!)3p^b3WqVZ[>N'Zb(gD +GrUbE^M_#=1!ZGO1qGGZMSm;RlNV@=$.]+V#6=N@Y0a!fDe3Su5>3n@\l)J^R4H', +N>Ffh$#OTb=l_Dl3f+):Njl#_@?!1GNSs?J)VO?G+<\<cOeESs`A.^,8FJ>?_onO4 +d^!UT]kBJC^^Y[o99JaHZ@Fl,Tl,<$2pGLbF:M<1J/cQ3qMe<(W*UCJdUM2E&234A +2c(O-A]UAVMArNLHKE*O:cG*TaU6R&U,RG*,R/Jd8;Yq$i:^JEV/tpn+iYChh=/%& +Q\028T\p+]iQSUmHTIO(EmXG3qu+m,4&L9t=SKs8[3aiP1aLWdVT4iG=fIfpmVIgs +jfh6j0D(o4dYTFJr/Q9DbLsNTVkT^E\R\Q&G5^MrYZ5*Qe"ng2dH"<'f`()?HBN@_ +:j2p8PT4cE#ZOXV,hCR%`-l0LU5fX\IW3KU-eY[>T@UVl":(Xcd/>2%2h%LM>r,L& +58hrl.QBXaXPjlN_9QOLSc$KUTP9]Z-@L-TZWc8(@"R"mos$7'(RtWkBT]aAgGa9C +a-i;50!<]CEU_g/pX7B:aIpZt124UD/L6Z@XQpJb`%Zm<L6b`&(IW3=E[)0]ZAcam +J<M7a&^8(CoQPq:#V"Tbo=JEa4Ji%%pCkR(;1db$#hWki?g3E1CLP#C^/(F,0C@^- +"rmhd*h9kJ5LF5&ePC1;iB@O`IB&`*_*[&F1@ER/Z+MljaKbs^f!ftQ<Oc2ZbY#/k +JA5gP.D$m*$2_NZ:O]G>ilF2-]e17jMp_=*H>]AoUjK-H,YF$bQP'm0?+&A1CLX<U +2d@ul&AKJ82ug;"GTEJoehLqXL'b(l9..`"PNRfr4W"F>PbgBB,LJ!DAlmoTgK(s9 +%)A9qNYpO3EgnTgLb]:][>kn#k3HAU@^]3N_)r9V76tn$gWc8OPl-StCi0hmVpCPX +8K^7\@>`$'7bSL&K^G<r)4M9GatY?K`r9.]Jo2P/kAN@!,^/r3kN<$Zp:rl!-G9XP +=%%S3E"c^d!:Z:M*lg9eS<A;K=;P-?i.8Lfm4L#%@=",i3aSjl8oV+a#":G.)+J)> +XZF#dg41,E@s0<=F!`!Hg@KP\<BFA68rnr/]&_WaI9/nDH%>%FEq'MN6q8W%VqkT$ +S?k'H,8.X:cRB!?1RhUYVJLo!Y-&j+*8<_8V@[^AC'Pn5B(>bI'<jV5W&P+;ht38O +D?Ri2RhlXHp[BlIV5"Pd9)[>*H\:Y>D@ZM#FjoWVEF;mua3m&N7\l`tQC,1]_s+ln +UiU5sg$I="JM./n;[kGS,MgTdQnY:98)bu\%LS><<0\nt'lE^>/"]#A8m>+0nn1*/ +^-bBZ2rP(o8!5!8&o:-sh7'F/<8n6Ym]B:XHB^[p@_kg;*V"H<iie)'&<toK^2>Ka +RQ.-3n(KiC:3j4;5U_/kPn&2k?t.]L25i68f%R+MriY)S\!_qS-m10WD1<uJ@Q#P6 +7<hbbZ%/$6.!%qH#Z+F-:JOg86tT!+(sI?*!pN-]-<D&l@IfLu',/JCWX`h$.X[SD +5?R/)%32?p)5,uIga2NrG+EMmJd9FkTKJ/d6/`7P>SODA,']3L"DF>\Rcq\n&.]Us +SI[*j-,1d5IZD_lUo\I_^0Y9eW?@-CT`h),g3[H-O"jKH^mN9K$BepFmZbkbl"P#a +k^XIAVnUG5FV(,k#HfLe4m@t`\PIh=(*m(tbme7X9(f]VF#Z:Dm:N6P34Mni#IY3C +_&0#=L@A4_+qW!_0Lm28*\l+A1#;<qENItlZ5@*;!P#egD^UaPcDSuJ"_@a;L-k`> +O-94ll:APYq'._Sj.3<^ifUc$GlG)G20LY:r:k%S!58's!D@V6eMRS!C/SDG!\:bC +F.gcE8?lNhI?Fl)d[A!@WZi)9`b4'a0%86hF%<5J>40'3TqQ>1^a?+[C_cIPE0IRh +0eC)a!c,OIS\!'8T>Q."!j:u$YR!^TD#`G$f8PS-H"iRfc+bQb=][-8"@/QNq4#L> +U$:KX].n/^)Qjjf'At^69r^`dRL4cIqne$@Qro#pTere([bQMfI-Js5SMN')s0/^T +gZJdbjCIVsOGNqsa.'(GB*7\h",<$#+>l-"1dB@CThW/[>5!!K+Z1u?M-AKFs/ +rdcu#FDBG_;(n[72P(18BH*LH]7d;?_W+\:-#>q`IY`]E@E-Ff,pWlK[RM'T+$D,@ +aZpDjhME=Q-StE5.8Nqb"kkn6o72;nI7Pp@3<;%/kG-p>%hVV93NM$+<Cl.f%/^OB +;AljG<:cTLlocltT,TN9;g:+@;<Rnt+iaJQ=#O6Fc5Ghcn#+;4\aCl5W@<FlK^$a1 +R/p3@h+'rR0^oYe0Q#<-@st*t=SlMM.%Ac8,dr/eT6&hCfg79sOuL!j6FcOF1:+rl +;eaN\de=KfdMuTi<:a*d*p_gQJf%[-Tl;h_qR=;t(X^%m.uU4na#rsH&]=f4V`#m( +ebCnb]nC[]=ua!%Qe2Y'HLbfRg'.mi(5.m56T&"PZ8?HALq-,ii3WO;Q8btJ`?+bu +H(]3LAqMRj`Y\XQMX</b+""M7De?.Mh?)-jdMX5(FhdeCG?f*m*8<El/(]("k"cP? +W1@BNEO1>!c8G?-Mmb#(ME%R_^Kq)kVV)Nkrkt=MiOS6(/Ofa(R$=nRUu[aHGd%/L +#lXK&8!hHB:Z84BbMc!u]q4[#Bfk9f-Vb=I&9JjMT!9+GWrL8[L2F+CYJ"!_XQ/Q^ +1#fKBQ[j(Q[r>6AfM4SQ;]/'tj,JW8@:oe(,MEl)l6S^IE[BV*jprDaSh'k5ll&oN +18i;&"0f7n:SH:^j#3>j+OHDj,C`lg\W'R<S[TO'&.19-4pD3Zbes3fJ$kD7#Q3h6 +CEjSj9<=#>cLh^N%^qeA>NDp0e6&@b3[!%Q_i8k6'YBOrLA:tG&tW*2;GjBoC_Zsl +C.Eesi`YT+LECE%lV4-T[[`'Z8EO5,JnC,<W4uut-[XZ%K6hdkROPc6(?Qq`^^`*i +2\16&@41G94YIgW\6CUd%`AQkB)uWB@;.5iR)Mc`rPrZ)jY@PJ#E@BT(c+%N$stb\ +ip_VQE&HS?k+k%a.r26)WRG!IK7'G.),]a5/-dN?'$*#@gi2XF0:CPZ-CjG]#Vo3t +@$Ru5I+_14HWVf`a8]iMcpsgo'f\s:\ck/7.V!&:M[HH\5MXG8l%H0*ik$D*5U_0& +7ZB[n"tO?PXH't#IT*VUCe/]Re"`7A<\sA:$^faHQ1.KZ..?)Ke/o72U]F!pW,F+$ +8'M$!e[N.,?`aST$qNO2&R3dUU"Ai'd:qc,I2J44O:?XZgK:[q%5u_l1(-;%O3RF% +aN+?AKf$/V@,%*GH0g@N\@>\6l%2M4@G&iho>hI6bJ;B(.uJHc5t17Q!skR:)m.@^ +!+@KNn9^[HqJ,p.>siDpY<>IFk3#ihq*+kMP%Ei[SXj]8'+9tJ&cqpe'?rI<h9DdF +h;1_,$/,L8W-OTTc/^!\P']U:jVlV'qb,Fq2J2[M;Fg'"cXnb\=[aR"(>91c.Pg5[ +W&m0k#L^"S@u[(V"H<4uU9%6^qn%'l9N.@dOujhsZi\1B_]ce[POu'[36;!Q>Wot- +8F(QnKMLO?Pl6SIKgHIUE6NcPY7j4#]*O88i:T]-;3](73e5S\YXcQ'd_\_m5:r8& +h%*gRlM-J\I!+h(UF#_e<NR'332])hM/^c4UX$!kn*(iMhfa?^ea`7OO8#_MVC@AV +2a:$Kj,=q@WWhXRfu^+Sb5/"cBUWJdiPs.H'5C&W/dq^/GDkp;gZ=$V-2hOSm=V5p +,p)-^p:K($69hVG8;jYn*a/@ka;kpXO;coWK#L#DPp3H.e!a6.heb`s[(TOUfbAG# +C1Ca8#.rp;mQ'_.rNmAD''X-08%2QM<\Y4(i"!.TQq.K\$4,2pWrQJtr)#BSA<ljc +*B0(7)9t\g(id7lZX;H)DqeU@SGIW_e`e+?7.-:4mIf(?(Lum+Quc.?b:]cE6R>4@ +L&-H4>FonPB6?B)Ic;k]qna(`fI=':>>RhMbKa,bCUp9<@$r![8R117"ObGL;[Ld6 +X2DJ#Io7aU-p5D#D`/PTB=7n$Wb:P3^fs<qPmOC7[;@:WS/`0;:%RTrY);QA7A&QK +gb=GL^R)A`_K([\6YTsRW*O.dD"0J(*S':,bq7fWhI&*h]mCFCC>]%LBpoo"It,:, +`(kOQLEImOV#'I[?^;9"m2=A(>hO<T?oJ7VW_$\tVBa++@[]=aF7!$c`5@[G:rBNT +lkl#;4Q;%!?>=kZfXhtQ"$7ljY!@l_'LXWU-%':JG,jmd95)L$Q<Sg7i,eT*kf(dQ +c$^>_La_ik'<U'(X-SoWa=3jSPR"Np9qQ?+a0r*.2Q/3]_[/=bXDJblP$04`IS\1\ +h9"2+kq+?n?Y=dGs1kAELP(>oMddFiMtNHP0g%.ren_a0]W[^^XJ+/(]X^B51BVMA +'uZf*<l_k5MGQ,b9A\Do'_.AEo'd9Y\^OV%1/XY&!FeGC4_@t->G248T>#>A(l"88 +!0p_.mY>?FkZ&@7Q#dBim2lFeBnSkUiS'8GHQZ8$DYTSW)BN8bmr>(^+\Ooq)3&B- ++j?uW7jl,>31*rIAFl+L$Y`E()ktu50pa[^N[QimU8t:4R8q1VNhMdLd2>c&TNu]< +=+\IuA@aH^f$ClWL%"Al9Vmog4?[XCMQcg]a..V_r?5FIIk%ZEet.q6r?@'XDo<V8 +#bl</0]LgC>c80pRi#[W#ID=\M^9Cf=k<hMfK2?nX4thdafM67"cnFJ_WC]G`j`dS ++9W-a,P<4'C.tm3U'?WB8CT@ig$buRI<VWAKnDe9(AJTJ]g48*lU(i!:Blk1`+q'" +3rP$5'^ZG.Ff-qp$k%Nup9*e+@fCreIA&/]3:#N%$[<+[XV#@=A@j3bS[Kgu/c)l: +[T&ZR00/%,H`d'1phK?fh=,]lRe.n^\]N*t;cK/B+Zo=0ndejg9kAJ?J@$aLd(b?? +VAN&?^W4?^A,=s'+2j2?l,Nj$,kh+bd4]&lH;nh]9^Kp#1;4qfb#nX*[5M!B_SM;S +DeiiBh.dDo1iHW`9;eJA52s(lOPZ5d"#hkaJ`m7%a[MlVXY;\)_sSXab_3ReS\^Am +,<?I/5'_Gsk&nF`RGE$7!tqU85i*s52`tG]B7ID"X07---'%PQMoqml?;dD9H[7^l +;8C@4+&^d'k322LWI6:&T#%C]\hqoYYd`sl'QgQu6),n\eDf)\2W;mnfNBlB?;3#a +!:k[/"i`BU$$a]5%$^q3QKPd/@5'")_uKlFr:c1#L/?f2+L)WDeaaq1<Q)(@hlj$C +&nD(R5k@kPr]LeJK+aC[gDaC'UsFt:Fj>61_9t?G&aT3$R#;!+e.Pq2<b]mcIUi:q +FFlZ.$9;d^>(>]T;KVU:iBs%&JO.d:#7;&*\+Wk=_8Nh*JVeSGO\M,%-*FJ<I>6Io +6!;,R2^lHt`'<o)19#d))cOq7f3uCH#UH3:6DaGl\-8Jm3\'2<n@'Jd38S[*h(<K# +4&MAsi@cSh5pY&Wr#3Y;EqUcl\,Kf0L:GFIhsso;W:*)X!\-Lf;fkYnpY%"Ge<]+/ +9>(]D8;OgcKq@ICoC5Z$Fft>jN?U>%47.U<Q.=B'@DVARrrBhdot6XdRHYXp,%37^ +;X)sQbKZUnd1H@'e(/^Of8hK6g9ko`O6X9XAI0b%-kg$g@"9;eWe_61m^#l0O\Ve^ +J=B*HIq%2h6K:^!P>B"KeM@DIA2mq2XaMuiE=3"rD5iae=ubIMkG"b.SE>TPYa,Q) +TcrE%>seaMC_bUEj,Eb2r6u/@U\^(I#pA>hYWkf6Eo0!>D64YG$Pr.>La>aB+m:c- +&)IFefqg55/crthqV0U,"4)lVLF.L&;l:i*$?g6!TDY6,%!6+)`Rb5M!)Z4_8i`[, +m5P/[;rZ0=63.9]%`M2'a_mp#7N,@_m'qHD^c2:cn(.I6G,=TPi#mo]iDn8X(SP)9 +r'r[QJ2!n]]eOLu/QgG!j8'm?Mn.JZQI"LL,ipZ(iGJY+X[$<n\oh':g`PS\,o7,= +18[7(oYOd&UJgo9'J$18I*A9o&f.KGXPV\TJK#^e.ZW!Rm7:G6Th>E>LN^bG%#ri/ +jA@t:ljTj2&)?uA\(aN8:SAJOmLq>,O7pM=nll:74=PBJ#]cgQTU'Q.DihKnTrspj +YSc-AcO4)EW'`W#eh(=N0*slc["nFiWfJld8r;-u7b)\7XqOQ#224"Wi4$5>0&3Cd +I'iYJ*@WQ<#c"'W]V,-?e<!N\1C_SV.i%THM?f.UXt>%Dl2Z+9I5'>eQf^n<1?+_= +Z5]7!rq#/WW5$PEY77/sVQNHC92NCD!jSS@F&V`;Lc9/mc(CZA(./LFX-BtF_-/#u +E)FPtl?ll.EqZ^fMM+OlWCC=[a*.p)9>itNLii%Y,7gNL[])Hb0Jjl%1c\_V'ZAS5 +5/Zj0Mi[$%^UCteMP*:C-^$T_;.<&BYp$a^;C@=]\W7uf:B-1.f$\Jnjqe"t[_(j' +b6DghD01r;gt.Ruh-lDe)^;:+pb7B+3EcX*$8+VaO.[CPPnHc@FB?SN"&Dr3;uE&^ +A7KZelahe.k+/[Z1@3%\KNVqj>n.,Vk#J2qPsL]e0U;iKkcjVGZA:VGj%O=Q?3>oT +GUEn9n$*oXDD+E37ll0idO=*Q9,AP\(bOA\bp\L7"@H3^T76Vhdt!8n,A2DnCLU4e +=X#19DU^=VEK)V5<kBOqi:HM?Y5+>4^>jMEVTO;Sn;?/$*lBnEEGAc0c0-'X>*l-H +41?];lX2UG2T!fA)D-iRW8,7-'"VK3<Zk31]lgu9`#]#g9JRDs:r%t6ZOQ&_5;m7_ +>;YRJ;VuBNT^drC]&>id>cXuG$:i"SFG.9("1]DW#8p+VQaK!B<1OjX%)L3Cn$S)T +INe.LL)>jic$)e(Ea`$*F@%+]d_oHkiX)RC9hc87hXHLU>;^uantSIc:QM6@\HaNM +,lN.B)"V&J@+R$k6p3hKI&H3E35(?Q)sU'qZXrh.o8:jaf5g*7GFoii*r"Sl5R;LM +aF3ohpk"GNNr[0/J-=6&<.'SP8it@-8rQaA)>^hajTSW[9VmK4WZR._=@:Ym\IU>b +ahPKeSob;D[k!iMI:309e]I/1ld?o7$q3`5/(`p_998pJbt'?o9+aiDB5]#D[E>K* +q9Dm%/&/XMn!eTeWWYP7b">/g;b^[-N349fX0K`1DXPi@hB^37BPVH=V"G(lG&tGd +L6;,9G2lkJ,4Y$-N`[Z@[IHf/'HN*@Uc7&f<LT>.JCu)tH6T:q)StV6LmmEhUu!^9 +WG$-LT!\g-B3E]k]3D`*bkSW%d:^5A-_@e:YZjrA)iT6O[q22g_+H>0"aE)qD`7go +OF$j+Zst6[YAsXT_>fFH3TL\]I5$8Ofr;6h^*0fkm(MCBJV]Ht*4]pt>/Rj_RM,%- +FDUoVFF_<@q#!3S`T)(oW%AG"Hufj!n@8Ngai(.%C#/Vs2W+L3_GR)]KH/%-GRKup +k?\j89Ona=Td@ZQ"1f21FRhl5#l!Z;D;H[<V@Ct@_49X@k,hVAEWVMHj?](fcI]kr +W4Gt.MU8<n2nUF<@gf-`8rNcq4`6>lX(h6,C)NUt>efTd\JOY2(i_(9g3L?`_d/d9 +ReQF`V.Y0(+il[?`9!Og1Uq%1K8M2?[9MFEUTn`pBYh^\R'uCtcnNeUc"pUq^eL5# +_1MVDHe-%2I'<>fk/(d2gX6OIKa-"+\6(^K&)'a",Mr9$a;fcZF'iKnS)n?l2[05i +;r'BVf6j_e=1=J%)Dc8>mft41Ik.7;SR!B<ZUI2RC;1O_-!+4K-`mX\SGBJH28\1G +oWS@efZLD$ZUdDIEb5Zi<L\Qf;-j/N8:#DhD+`<;D6aYV1-,Q<E!s7<f+JYp<,Y@e +G5qXLrqBH()%JV$7C&Rl#)2n7f*B0Jd1&.2G;C=B/j_Z:KTg1)0n:+_(JfDl4scb# +>-Mj(5lN>\$)E:J:FO9TEh^2rI)p!?,Y,PD(9P2PUM]8P0`Pp5idU)*\Lq1u)ls1Q +bZB9666u9todkru_IJVtd5_ef&jU9d5k;F_<?cQK=C[$F9\^3<<I&#X/F,A'%Ko6\ +g+hUPBgmpbs.`pidd[5Rr*T%#;8l+]SjG6T)Gg(sX\.6"C<(t'6qhB.R8@@3[>O^, +X&mhVbf8-'20>lPikrSl-679j6W5m"9;`t$1>=4cO48mo1$_jEVXDAcKC\4?Lgtna +`^3@9$"ouhA6fA*YV$/d\JYM-:EO%.a`K1+oq_[3?s7",MeMn46DP]ki?BBuf;E?Z +CqC$(;]8",/ME*mG9Xf=]#U@R"G^,0F6(plR/\QBW!t&H=*RR21rriH?M`Z!A"f<O +eNCZAUASOp0m9,*?WkCA##/IRL0Z:\+9VKpe\P-W(/HDj2,GUi'&dg3OkZL/703b; +];XeVCT)s$;Dm8n:o,rtkj(TX4(E7`oR1WXf27p>\3VGQ"XbtPAPbENO%:W4PQS^" +2MbUA'"E'6]17*l\Gntj0D4^&i6Emmm_1"a&i#^!;j5Lp7bpB['O9OMhp_,YF"!+T +XY%E5;C[neJ6WPWi?X54@CO-T@VgR-ZVlO0L(K3CNtroc^:l=OT4lO53hh%oNXC#% +OL[E%]V_m?E$t[7TQ?faY[-K@4L_AC/oLc!:4ghQ2!j_D`VI]Z]V7oL7AgJF'9Nc@ +l+3"_BIqpm]E2HOVIZL@ZQs3p(][J-m+B"3]^aJc,5ie)<lSFq.=3OHpDf2fR/\d, +gPG7W!UlZVM9')7@K%mI1>H%r_kls?AE$S!21a+Xh?k`K(f\rqP:k_/M/7MtF$Otm +:R8pJMm=-Y>k\nCVN%2)a?=XPs.X(pp"SSK[=h*Sg/`S,`FQXl-BfUIl+aqO_Gd#L +U?cIm'E=_sWnJOM4TZ5+-oP_b-loX(.T=2@<%m:^g?eSa*Ht?LA%rLt@8I)HBna9T +9>;bB2(9?B[:/$H]@(<f=LrL\S`3thrnKim[`6lf.D>+uQ!%6Zd;H]L38VRk2,qpV ++@a3C]K=nro_nd0(pKIL(bi&&5fM7-SUG$lf9k%\U,$.tFu/cSPpmbcWdppllsnEL +.+)WO)WLC7:\`DS1shB0"%pT:]5p4sj%Q#WL*8R[q/&I^Q9)M8Uai8>+/u_(auDhq +_B0O(8.H$Brhs.<'c%49W,E#+E>KT:TN4!<??I-M@Vk;$+g'@E.k_e%LGaTCV:'u! +?uAIE*0V#k4@-^;.F$%B^o9/6'AZHZ8pM?h-SRKj%Tq?A)qP0be=tD`nU@8.m_TR# +&#dM*5&8N]O@+=3OA0C?CG&p]EY1b3qY^<rpe!s(IU!_s[(g1Q&TC`m,tun(PSR23 +ST]lYpD$srSH!e)S,pMn>/u>+TD3V8X8"+'3"4S<$o"jcWCa-oeafZl/\ranOfPab +_WU5mO@fUlF3N/j_QI^fLqIWiAtaqA,=\.Z&IPF6.n'ZKnQGAED$"Oq3OnZ*V\_'7 +?52ud9/gJqBbN&LoY3JlFalq-P5P"9Hom,eI=:p8,k^NDCgYW1B<0XI/lp5NKfOi4 +S'&R"*CO@/VY4KIYX#HT-]"".d2_H5_9<9WQC[f9\aOi0l2r[`5!>[sp\Mb]E)%L6 +fhWKBVp`!35.prqA(pF2*#>75IUB.bo)RF/7!PWc&Wdb_9sN`!:Rk$&;o:sp&BqH^ +o'tMNb%3R+Yt]-II\*N,'9#m([JgamN_5f']u\D0]kZoU]sg'4S/mi#-!6n*1:2;P +BmSU4$IVn@P;.6@2iV?Tl`a.,G9/oXfuj&2/TLBK)+ImR7[t.<Lh%.6#d7cm3(3!5 +10;5`=-E8V5GLKoQ+WV6Lkq#6L\40m%'@*n'sGcAj>r(#ir0LHB#-5;ZJ6HF/H:4: +g]?iTX\6802uN&lC%5VPjPX&t/,M3kF=.i<$Fq)OF[W+s(`.BcVK_r7@uIUaIgO<& +?@R[4SgD_Y<C;ke1SH!P,cd63S_=1GC4Qm^oB)u--&pGicS71/X>hPAnZ_.cdSc:p +^e8rXgTJ9V"5M[%$e_;X'4!q6pTu@me(<3-$Fm:rH5,R@mSdrLPFho;IQE$#VdTV+ +rgR1t$tEo#B5@q>R)LN7_A%`]Gc43=TtD60>_D1R"7&"QSHQ.N%sh:W:'%^.67<mc ++QT-MH%U&`LpG.o[iBO3V$o/p)q[X-O;F-;=Q2<93j.Ym(*G5fVbq3l&0QR-m.c`O +ONUUo_j#M%oVUX$/7-rWV!SrPLe\rB="?CDd\LFbf-$Pkh@ZF;3q/!B`QZs,]_X91 +2NWCrf%G-IRIM+8^t&Z2o56dW0dmX4;@r\V2oC5u*TLX!iemM:WhIo%$J)_T,espf +5+`-CO`np$^e$\2cdr'0A7#Bui-rAOZkY<uTbe6?6gk'k;=KjmH\b0.nh4n@[1C%A +kU,"VCH8E$8.Y0GQ'o(;_f_/A(;D>8&OCe&e\4V.\.#4RdqJ%,hgUr+V;W/rX!MN_ +G)O4754h=Dq':=]!s2D=[?-=U(--3R%0ktqrs&Q!buoGIqeG-E/$8^Ug5Ct2MH:5[ +"f;&,rmrK'9.83HQV6,FjcgaQIol]'8/*6lECb=^'sR&Bq,(!B'6^7?e"%3<aj@B? +g]=B"ei'6gEb-!%Dc+p0F:8Ml<rQPG`CHVL,GKm:L!K@UMo_Cd]c"+FShC6(cIRi& +"Lc,F5_Dk[5GB/8SC05O%U,F&^)n5XciIMW6ouXtEATt[b$,XC)n8M\]:C8kd<$F3 +a;^6L[66KD<:!kP'[?r*Z-41h\maOr%po71A&jhHSr">t($'5IQea5/%@Y19k"%8i +RCZ80IW<(PI+i6?R,nEg(lr.Offl7?p"TrW/sJWW*+Z.YmQ!MZZS@%dqUV[2^kia% +6MRCMO&PJY`)mYSKqjS93aQo8Wttflli(d\.Ku&B_P"85k.k6-f4R@%[2Y9ff?Gc^ +5g$7i7te+G:?X+?3$H^YK+8(%6/7<[lfj15<BdTVnkfV@Pa]>Wg4C066<@=EApDG4 +^b!^(p;HG7[KOb*hNm0_QuhmKK<kZZ_Yg?qM9:b3^s2$H<mpLC2cT8gAXeqqjOtQ\ +Fi4+H&r!r!S:8^O5$h^sSb[VqE(4uD/6Qn`4<uRC$8*:_30KA[JWHS1,^(<dP9AMt +FYq^^jXOA#QSn;N$%)JH!qt8@YVtM^f=Y)5g(sfjopgU==mhYja+f1#Xa]NI_@a*/ +mnjSk!\d,a8F#+E-UWQm>Re'/S(L'^$-JB,fMAc;2JV>m&_Ij9DuAU*Z(/[@<O;0m +Z2c-efk*G&gfd%XmLZ3\9eGC:\51E]S'TIcZiI7U[Dr$P\GgZ60"F8AKN'HNqGL>E +i&]/,q3;YRCT5d0&c\J'JWG[`Em]:W=r#^fg&m#6SlLC!G&iu9K;oQ.QN%SK6X9f4 +W$&i#?e(A#?\[2C^3D8Z,'l]1XTs3Ka\'@\Q>sNIEL&DlZ$r]dgn;P<fW1Y`cQEGZ +WXQe=b[SQnUVk1l[g-uWgCcFI8nY6hDm0e487B1B42,#1,<,E.B1P,DZ**Zo#sS3T +1P&qY]d)tO&CrJ?L-$9@n.'f%,/;nk=n&3;3*J3!Bo38hc-DID<i_VhBfgH+;TcgD +<]WLb^d"3C`*)DQ>kDeiLG$_)lLN$!?&$4>ADc<XLMu>PnF=,pl4daRORC'bcXfl, +p6K'_ec%@]Qo/Td-pJ)N,#VsPU(jI'8?;3REfIqQ``;65Q'!a5mN4#SDgFhe;[<kJ +"80q@`]brB]p14@1Tb@8iu^+JN%h_SD?m__P4%+VV=i5ODS%Ej*D7#kSDOYp70J<, +BqB[<6egIdLc0U<WIfX_1ENa.o`hp7%Zp8n$>I7eG?$n"Km(0c\(9(dmA>li.D@MG +_teJ40OW?6r61GA]gG1/q)O44c6?Lu>mcR\Fk&)K^]&Ve%lB9K0[VS!8s>A^O:n-2 +[=-X%a6+fK5ct1#g5&A8M5SA?g+T9`bM#kW7E_0"\mWZBP^L6WXhU!o[9o31:2n21 +#+"OaC55l\:CnscrsM-<UDr9>6I"Ce6:,c]Y%$*(W_&/6$*1#^Rr!)YkGg,f&=]L6 +nH*9p\@h_Sc57I15M..B4BF7`lb%r<SV-CE%k*[;2l;ep\^PD8r\@+^2+ZV:2!.S0 +kb#rriVV,\cVPhV/#I^jaEtam@YsL'SE>N;nFO=U&eYJX_X0$'Lhm%)asJRW"AE&K +>!r7mjGc?$^?cJn_iUYjm0lY/!SLDDB/79B_9<pB1NTt24"n9n@!Q8:8Id@Jf?T$p +n'[DD-6>qX>4;B!IXotCF6@)/2<Ul#*K_eR>A5JB3AGhE+6%+#jsJG>WO6Z*']jT. +i%/6T-u&jQ<s\9l;<GR'nbpO8@uSs`AVu`I+ha/LC\YPSpio>eL*.?4l(^utSI6c7 +fPZ+<n]n'Z83leN&<\m!KH9Umg;t@`NoYVU?u3VIpUgXq\fNH2`*o+"Mm8U%\1bX- +VCC)N`cO*;jO992>TEl4L76DPM$E[NMTG1fo5Z517&[CtW.ndQC%34;>CFA2GHY=O +3TATT1FcVV-3m>U'p]%"EAI[R71PSL#DSElf&8\%Gc.Ec`!Q$S^/1'l5P:1S(\4Y+ +\YW`gR3Ts'eba=*+FllRWBglRVOQ:[6955YR%Ir6Q:q(k/GaZ?$ffiV?HMAf^!:Gq +AtunR%Y$JLF1:aAHC1qUVQqK$[6i'P6eh4$O$%"1@/laufg2S*>Rb]EH(4nib2[jV +%#T2Dg):/Q3SMg^ICPZb9^m!:dK$Lar85:_+Ba]TI*N=2a`-HPedM+6L*oQ\MK7I_ +1*8t@naQf#Y?_6Ph]o`6EX?!e]_A6\;TX7CK``GrirIRs,CC5jH'D+W57dJTW5iYo +,YY]3[NOEQ*AdZde#Z%ne-5U/(J#BCB6-gq_mp>,8rWE6nGo2)=X[O%8r("/1@qZ: +ErLfI+02%E6c3cn,H#9LI2l3;`Q-_dg4UT9eJlp'dE9_`.TesWJUT*5FZ(i9Z`u*N +UkN($jWX(/3&/e22,qoPBPjmuW"NmT_>=BH6&>0KD.(e!qH`/AcFV5mR<sLb3i[c" +6T(aib"9QPq%Yb>Np6`kl_P=B`R.\"M<>"+".""r:#af_pb3#[R299Wo9b*=qL7&s +rs&Q!p3.K$L%&3@:4o+20%DJTUpS!kNB]*+BY$Y1T5Lq%G-/B.:"$ljJDae5FE^\X +1iHh;H:)qi=SXup$SY<\#6(kCJhEt\DjXq8W'DS8clpk^_.Zf/,\C0:9,9i0_O!TY +\E<>/cEj8ql`jSY;KgZD8Wu1oqT2N%3R-MiTNL`D%=i'="ViIO&S"q6+f%SKgMWHW +'B;BSC"4E"@rF_0"uIat:[C79J=P)f[):b`%!SKl%sf<7*UoP;TND"O=CGq,9TrkG +^+#\%e4(Z3f:/khkq!"VI'!Uc@UcUHg4?Q9<`@#7^s73h%6@5Hp&[NqF1$YZ*mf<' +C@K+'ShC0=o,kpq\[d3[-PRf9`/PJ)ChK%fQ-P6$hon`D9U[W`!j`T144YSmb,,_; +WE02p@u3('_1sE>[j#)Amh&;GQ0%%Zjjem<ma8MO'R*W6"/%V9''B@jIL5MLU-mg+ +=:\/\mpBYZ:-jfsiXsMPS+2?@,=)mGd@YkG>;&jA03W>NCJh<NCmM8<`PTjc8BPl0 +@7J@BGb\ctq0%H$e7QN3i(;H^b,N]3!0'+-P^%=,9+q-Y=%0f5T-'@1>gW5b*"3jL +YS&`l@<-^`Wm.ITFudeteb'26U6s^ghpN/j1USArcTI4Y=)[#Na."1I'@X?uU&_6l +C"hPlk817GW+u!oruJ*DMf5U4OY?J66iL*/X[[2X&[-/&/;1OMr(7WNHhmg/Q5WVi +_2TC.gESB=:e#LM3#\8>nBmQYMc]UT>Y'C=<]j"l_-J<J\!sbFm4t`tF?Dnq5V)FA +d$g1llpQKt]D`\scT1Nr:#rWB/rBVSmnCE4$C6'JHo"@uYd\'tri,e^ma2q]%(_lQ +Rrugp,9<0@b6%tN!R3d1R@gY>T<<9&2(_rDm)4%93&UpV#%Rh&g@EFdY),4tGVddR +Ge#m!p*eB3`?@+.ocPF_XIjrUWY`+$ngGXcFX>1\/LB7<'7$:a6B.)0s3uSh#pDFo +kY9qn=[YUIHb?[%o^c1C*G8N9%SV*XbkE<R=(sA"R@>bqU7;YlR]370Hk,BQC4#<k +4a)QEdgJcsdR/`GHNI3pMaO`%3l/oc#b2*=%?e[\QDTC(m4RSo$gU$_e+Nc5TcSdW +h\8UV3QWc4bRgm_X_Or.F&Rs^9l9F8EZJpKB*\_8-'^*iKG`STE8M=F7MpgIWXgD4 +o<)15CLKIZKs8A"N4cP@YNc)u(YBhJd7/t()N5(IXo7B0eVR`2,a`Wh94>"q\>^J[ +Ic:PgC&uNJRc$>B^h&"@Yft$//Q4>&&PB^MGJ?+ahrROPX)-,Q#@*?%IXBVFE!)ed +hBJRS3,@_b"\sgs7N?@@#TW59\joQQ2>,_c$N2NurJ%_]F<1A'<2dLaZ?ulH$P?rk +`I%7JEmG2u0BOPNX%LOZ\['.o9_>)OWcU1q&[u1Wlh=.11K,T-9#Q3&JE>%%b?-`G +VPomS,nKHH*Y(T#R-1EHUoa.R?_42Eae;[eJrC\XGF-9%3LASQU.?*oR/[A+ntKn] +IH0dSLlD#rQE^N.=Rm,]hQR<GRKS*hHEC33dN,SlmCJVf9*<h*B^=7^..WfeBY?NA +1,^;s]pA[h"XJ`sj\mi(AB:i4+N3[>O.6:!miMZ)>Nc-k$=/#uU%c.dWt6u-JC_JI +/SVQYB(#I_h.qdIn+"B2anB'jXNX;$BKUh0MRm"O$8d*L,:2oKl^9%hg/p?-r>OT, +n+\<X;sa,@dX\!=rGkudp$@Le-5qtB9TY8FCXNe;mZl*qmgoAafSNq+%*\V_M-n64 +][N4;9E?k#k!a4L\jXZrnQSD5E$E;ZKL$Y@c@*@[GM/2IRAZXQo5=V-;3oJ=4.QGD +6p%"\>2a,Te:o3uW!'])=Lg)`;J@/iV7P>tA#^&](Mi<o%so;ANc%kKG@Sk-!]I&U +%GU6_V(?P.Kl+@1\n(7rZa8,=dG@=IpTVk$j/dk_4,N"^E"BGkFS!].VoG(l*OG9B +e,g6Mek5\2P@)=U2#jP>^_(pN'/2+U<F3.cSPncEUl89;?\*.`.KP5j#@46t^#*3X +,.9t+XiHI#cCi`$0RSs=^!nK5)J8CD)@MK%(4aP`H`kUF's%&Z4&11i*r[*j"3/r, +pal4e\rs:_aeF0NA3suH0mo"M0eC'O*_*llgo%,!.80UX*dm<R_VYj]SYc(h5uYfu +\WfAU@/"=Q;FOH<hP4-.gTn9n@]3/>I*I2/COZb.PerP\$QQ%NVo@*.\Z&1+1AJ,# +kK4b&0`h9<:NR0]Ec:HLk%'nOC?+XLHgL>Uf.fiG#$LV0h2M.)*WDI9()PRHk>JBD +J8fHY)lOf!i%Xc29"\:ZEQc>:4"&]<7!G8<VIC"%C1oXg5NH.$D;bs0WrPG;\#Q\R +-oql(T![9O7`7A0,S:.J:bVkeE/'oi_Ef-fT8Aq4W:)2)NI741J<c4.`ErHA96eU# +K:2o!4N4$=k'Lr7p`=J52f'n*<3=AnMhof0f*iNq\SWmKmTX/HO9:;W;A*9032I75 +:4&P\Oa*jf.cA<hPHlg*?V63"<7ah.c&[$kh6b)\2?kBaZ6O3MFV3+T?;]sU2G7-- +%D\E"oQ)hp#=0U"]os4+"e.r'2e"KA!=8]!4[46kRPQ]L6rV;l7%ZkOn"crBmB&Rb +OQ-iH'TUM.1#N-rE\I&=l?.,I"`@BJ:_$M(rjH/FiDZVn[k"YhQC^BuWj(j82F24K +M$/5ZH:Ct-+`?hYkiEN^-_CVI6O]iKN.]4fNXJ`[__-q]\eXR9h&a$+fur797ZU@m +fIrhae]BL._e@f#`6;j(1Df.iYG[-%;Fb4&d(8RL-mdl_Pr&.3"D4<J%5PW>aHCEE +V&';!9.[11fk^e28@f=b0j/CKDGh,HY&C^eE[$A"Io+NJ84a"EU+#X&H$0j"&/gSN +cc6")R1Y+n)Hrn1mSgV7E@;\7R'.CfOs4[7`@Kc_bN]m-T'lH>TLZ#Lj'=PjTMCgZ +g@c*>j7raZ"YUb:EaZB>KER`/CqU.?DVr2CqV/kWcblJOCI+:*@+EHTRSfg`h:-gg +Va/I1!ZkQ2nuXJ>dA:,+8Io#%/Tg-b=olS<*GV;Yi&,4bme;o]&GR:b!N?WXhf4$_ +@9#uq\R[HC:`,ZEPndnuFs)c@/]8Ojf(pNBVPbZ]<@ieGq\t<&rDj!R4X]W]93`(K +.]%d@nCYY\o95eq_\<J\H:]\N#nT3?l8&m51f_@VfGU%i$6G:Z`[W3`c=CW1rJ"Cg +a@-V^TGDE'Zt\+O+3<Pb8#'ZA;B7UH/KDLM1fTuDB"HAsk')9UES;mjp#])_W2>Hu +PnMt%bSVr`iTfnQbm8ZIqOu=5oH-WAF>s+$Gt?BK<-q&/\,sL?F)s9\j'kD>H79os +,N:1jg4)NE<=n.HN$_ma&p@e,/j0OK_&9,[Te1nJ(e7rlZ2'Y8QGeqTIct>9KGP*S +</Dl%DSUcgDiq=op[7@+ST*@5HSs>`US'pD<1>V_j(/!r30j5W+?[*OlS).)aO[OT +NVt2_o/q">L0agZ#>3q4,:93kVc$*@U*5Z2B8?g[?p2[pT^HG<OETX[1TQFTe$Ct_ +k.*qe6J,8-)/?o%_#-WaZ0d`>O[6_[S\P=!_'%8Nd-%>MoC0uUYQnG.0LL%<aK&6a +PBg/N@#bP+ho#SHo$R'p]t_O4#l1miNBrl?b:4<95TY-@oDOIJ>'QWr;Q(`4iW<mi +9THNuMr*-9_DNE[U51-ee@n[2$Ef?%'1=Fm*L>9sY9Bl^m5bb)7p7C"o\F39H8?j! +F&G?f3t(WMD#_MROV9i.O7"#)0q%,DFt(T!=X%qZUb4!.fT[q[X7W]lWWBBe&9=.' +s(m95%^d?tU$D+*T6pQ;ntXD7Cc4U;-m8'r*^\39>cP,.r:kkF"RnL:148-iMca,* +V')S(556oX;P"Q$7]>VB\pJR)X*Sg3C<9?:h7^.F@./&39'XCm*U)#=V0"?L1;)g9 +hShC8XOPC0TKc1Gp>gjN,j:uW./OP\]V(Dps%R.k\WB/,M>a8FV<dG2OU\eH\p\J2 +#eG/e_77>/OHr.g%S?1p@()f[nl6"^m:,mI&0+g#,sf=Ad.&Eub(-'r#cI]d?2X5D +h?l'R.La`(<#Cq\A#n>eI]%6Vn2u\6SD\`$C6p>@^.!X*conB*>HnG>_N4a5M+7[= +7WnSOKF']<LCN'O`L[+1o5")Uo`6T@4+f='>NQ^8M)7!l(%18[/g4V%Gl.]/El4D: +1fthG_P2,Pcj)?Ai5Za`N6I.m*/Ugq(2$=L"ABsaY?BE;ZsR2gau@Nh;CKruXY8`M +2\#EkWrf-[:AStDBD^0S2(cZ"VK<G]:^!a2C!AQRR5I4L!ai2Fq']gFYHG1BIpJ#Q +2Cp)MK'32kLYP][ZWFiXY<mM#faSW%!3QMo`aBQF^ARa+*/Sq+:3?F#aI[W1l79Y! +GhFNM-M>Kdf&pKFC@fJjEASBZ6nkKGQABTYbN5[l@&6#kD?Zjm<29PB`Hj^Z;-MrL +*cO&DF_7]hE;n<qJ(oqo,2Q"8)&CWWF<GI-I;R;4_T;fn\4:afdt[2[mnWbA9W/A) +2#Y=01Rqjg(3>an",F#VRbCoXjR/eS..62u9G^ZX/jKJjljZJ.j32'4kLVY4@D+1D +k?X;dD`+i/k)0o8K)7[c"bk?C?c"eK?ci9jSi4D;862aW'b1"DkKgm).RoGh\^E$" +5VBs4<$10%1:sUYb'n&@O-d7E?o=XA*<ru<BWP.'pm_TUGWI5=lH<Ea\"_7P6o#94 +`,DOF(;,L6%HRmir&#j2>PGH_EgN*bD,/JkbQte@$_Pbgf2c^&b,?Ff9cf>cdQQDY +AL'l\Ab(k,[YM^$8-OQqn[$hCYGM6DGURPn7-]jo"_q>XU\>-EWnQW;g`m9QbLm=8 +;&;KZA[cW,\G[_lQMnn(5c!>bbY))T_GT1p+?0%J]l"*Do2Mj$6B=#uOJ@FAfBe[7 +dL=bR_3m>9YfgQi?gYJJpdbV'Lsd8r+iY1+/t8(X(Ue&0c')RQL<3-EH@R$YqJJFL +dml)jolDe`8'maqPMZN;pm@ad&bim!6\lPk/f3MY_fLhl#Q2KeQ_AEjbMgpH!CBaX +^U#SXG!hTYE9)08=$C\;5a4&"gUh-t?'pFu:EtoW"POGn]D2Zi)s5Nn4;=GV0@d>( +:W?9Y:\!S'2rBUn5c,:O1B[j6Jr)M_PNZn_,S6.sdiFrYfQP]rT^^$Ir2hcB3rf9e +rqA+g'IY<0O<1J7190_=:;JpJME_`ML=%rgNeLSg[Up4l8cCsd0)^mu.:nfj)DO%l +W^7YqNU`O2gXmV<He_I-bV'im0]*hVl1-c)/%O4:8^D[uOoFX1,/bDM'(0q5)EAhd +?:.k=WL8B!%cP/7"Z^WnP:S0f%jJY\/?EA2B1ke!PUg$*5l2<nb%K^0gsLC37hbL1 +83\e=0-T%7f(:qR)O?*s#k0P-RZ9Tg*Nkf7o?INm#SK`Wp`uCLb6&c`q:?";-:7"u +p?C^%0Xbru&&\q\79&;0\B9Y7WCdoJbCELE)PGGEp<-]%m<8.X=&u3X17&A9QIa%e +EK]TU$b&M<7G)o\'DqW_cbk*XH;Se3J,kuQKbtl?E+[d1D3.3UrM`Su3TldY6A,cU +"^3*86-!:n9u+a!H9mY<NXHB`)>L]K!!/h;WM=:&YL\s#hI8NH3_7C/ocJSS6SZM' +VMtEF[c<>Tm=BkV;I#FL^,!MGKhS,7m-a#)G>a-f-kM\"J)Y^]WKi@6LM7(&508LB +[hYnIZiU:sO!>$Hn]YV?i=_dS5B0^DD5iMg!9K@kE!sB+_j"!DQ-7K&`71==^Rh][ +BZK.Mj7+njA-+^jnsDV<8/^,dVZ;"-n?:.t^ii\i6@.?3\3"3cMCe^^rumLe58Tb` +P]ubL1Io/1*U+SSdV&?\C'!Q3A(V!ISeIU]>O(RP9oX08e)/L4W#t+\b:VM":]3AW +2UDHI@IpWPH@;fh^-PrV"_C/GXS>)pjFXU_nRMM^`OrU3Ar]V[=*2rFmdK8oW3s#L +kL-VRJu/!X;R`K2B@nAfn2mn>4Nn2l(!rR_gjP\-9>PrKHkiiq@B::MTmAV13W,KD +L[gf;73nMJ(*VK'Eot.fn<NrXVt0#;rc.;#=WCJa[hG["6(Jc@S-tkhh>')EZ0&sS +;l5<d^%`)cP`96`XQkhsS)-V1)0[BA1GAMDEb.Jil:&Kb0,ZV5g-$'r4jhlhNQUp; +an%%UTQAA(q`Z;PgkHJ"C:._8V?W+-(rA(%RXS!;?MGnXXBq[up-otB2J8gSVZ^77 +r2`NsPJ#\>U,0+!1],RZDP,RbP0,c9J$]G>1SY&FGndJ*`JaC#j:Ws#`m',IIG+-I +(`(;3']c"$@bACEGPP(d]FW$%(dhD3:#92G6!s^j[0><!=qLZ4'@-,aI\8,d7cH;q +_](gFXV`PJ*WjM>:a9cXM:a@uX,KIkJFh+*[&:C"]\ab,0f*J:Y0s+)F1KJ4.&toJ +;FY)DRr$qV%DVeKBY(hK]0d@oS$kPpqLtP"2ne)lnTBcC2Gjm@1!+Uj)gYC81G#pn +.'ao8c)E,;5SmsG$pUR!r%ubI?$t-:@o/3M-eTFQ',TnfY9lR=2CeLFV+D!Z0CdI& +P`Lr=i?iP`]^HX"1A&!=KGTl0Ct(O(CT'.;]Nq"iO(3pMh#RVV2t?:NY<VlI3*",. +ZRW($%Rg`A#t#fn21;b??6@^*+i_fJ*nd75,&A7W>YSY!OD_R-EL-).B8]BX=05Mr +UB+d7lf)SC'D`ohmPE[G5g[ol#@Jk/:79%gQ>i=ohEt"V`e[6pSNDNDRJ8kfi_Fk) +&KqJm,:s&\K8&aM@D$\;dT?&PdhqrbmkPF)9-Yh&H<dgTWD8j24[cM(>jU.&Mo[#* ++#q\QVLfhdBob`C-71J>(<8nO(GI%]%F33W&[JrLN^n1hcj`qX/T/2fWc?Qe867lC +0SVO.!Q(@oSfCnV6em(d!5>Thm:$/P48YSpQ&Scgm*in"Y"sP;BPrYuiR%OK$BjT- +l0]gZTo;%,8s^=*[Y[c&=1H"cg2@RlP5:OicX]rF;mG]%Qt%@fK@XDUc"=8$be0pQ +[#"Q,/.S^_EI/Ir-<!2\E_kBYo$M)aoN-A`A!YnC"F9\<[L4iG='C&V[fJL!F<dso +5)nHL7:oEW")mMU9AQjfdfinL!M9;:L^%21LSg,t@VOIq"'B[4/l`?P8Pu7l-1Tgd +1nq2=G"at80Y`gR]hO]QgYL+oojcb.K-;kV,g9P2Qc/\AY4'^K>oa*kbZSKN_7qh! +F[T\!JR&DjL9UlK)u?N8pYbKE2WQJkFh2>!rrUqE;t.*3eYK'<W9`Q![`r9E.XZYT +(&:P@[NXcR6I.SL7=/`F);=;IH_FaCiZC4rjboKY'e#]0DZ"B`\L_E)gUI?Mg@LK> +`QY?B&EQ*C@2R=uH'JjDl%SbV:c3e,T<rQj/ZP8U>q[&W,tG<GSeSX8*]fR-TeCmf +Je:<G?>)`9fY8=J;#L><00t<)X!_Fffbtsc//7Ap1?^>nqcQF@MffCL5Hs:C;VR9d +8btTkhm*5=fh'r`XVCZi^(:<64QiL&9lc+Chlqqqls;-SK);[J<T<di'TbVjrPkh- +dT&9aVdn`s45d5q`6A+N,#p7dD$%(hc7KO>5cr5I>+gI&\MKYp5=&G_o@me0.=O5G +Q-DSnh]KO5[//cg0B&E3,*JiRUj4ca*U[7Q.!_b^MrEHIQp34Q&]Kp3=eR;23[thc +@gm,ZAF2W,=9A4\=8?"]>dtJ)im[Y'g>tW;n!ag&eD3T,J^Pcp208B0TTJ#[b3q_L +En4N>8^[)80o"EJ5*uM7JQ/3$=]4D_C'Bn!auZ3Y<eE!#H[foILZ,Decju]3W'f!8 +bIV_.A1oUpTk<&SHZ#neAd@16B^XUG=nFAti*fZ>pol`KkNMdXGK'8Aog6l4hSg6N +j[?rK'hE&b8p(KR]JFhFb`g^m)&JSLW*5/7ASTdu.03=6'(^ggD_8TAN?s_EO[rR* +0$C+a0X9J_j:rZsR;hh[rgKM>3@nMHY<-+=o]OFr#VHjD,GW#XR@ih'!>nbKC";j, +>fkod$2!3?./)(9-mn'iF,EsE4@(jr>=/=Z;1!]t=,[Z69;g14HAliY#0icPWMrG? +&*V5%Qg:&-TT"%DAlkTAgjhlfFPG*$.HQ&6?Q0!f_H)A"!31)e>=gSr%C8h7h&3'K +J?SZ%Gl$m$`5pY`mQr"=-/m)>@UgaTq(XpP14is1;sA-n";ZdVS]g5f[5giB!^\ab +E&NuQKm,._qSWM4cOY%c:HcFggZ<>LZ":lWTeKnV&.U+Ar!:PF=e'`UN,A>RHRL/$ +*#T`DQrn`=CLDh%[<AHU"^$u+:Q)-$a1&]O;\E\HBRr6ZnrMDH.#=7bn#?kJRO"ia +9+3O+;N0ZcI5?-c&kX!>3sgn"_lK&$lgZPhHp@+#?XdXb%?kr%(-Lgt^Al*dMEdZ] +Mel)>!sU1Ik1M_9;!W[%Nud26:0Z')o*=\^C_>1H0(SAD?'BOe8W12QAcpC]DW`Xf +\VW`g)-nE_0q+Hh;q`^BJ/`[?U#]6(Wn[TM98!E2&Z-\fT(qmJ*&UelBGs7Q`I.@" +o^I)3d57W8]$dLA0a2hDU#I:lGhPP\''iak,(9&Ccn.A04d?>#_64?\l>qlf65-Bk +aVJZTi.[K46a[UHG$-9Ec&5I;'pfm&WeYF*WS8NZGU7"B<Nu<;G\H021)sBs`KqH9 +NUWq]G!("^=+[C*P-W;dRH#;t+P&B;9tK);Vi$M&:Duk"Q#2CP8G0D!YRq`#[72,P +ajiFqP'!\Z&ur>K5$F'G=51,u6ol$<6SUB#d84W,Qi7ZjCe3GCWL3=L0Yu*[)Hc)7 +SrMW8%2u!ToSjc.qC$EW!G.LjrEAC(Em$11E*ZNQUbn.IXDgJ95E"5IRu'XRNl_bk +:>nGpp]W0*M@#WI2/_Oih]cIi6S\M'\8ML%i_ccZ=]&P;n;Y8mind*"Vob/#4Q[)` +*LE,;E<l$9rmCo+$b=%H!t^7:F:oQp2u6G(me[,H3_rf7Vu%.p^o=V(%2oMHU)XdW +_HOYsJa_pslB\lUET=J9F^'MX8B2Frbf/+!j%>e1ETig@3dm$r)-]:g;*BZ3XSusa +F\VH(P9:\Z.%Pj%7aHHGn`-[sI+t&nP]^mAZX;Cl0>Qf(=f?7/rSPn7GfK0s]fD\* +>HN,1O73L+&[PSQ&1I(D<]=LV\sjH3JZlB\'GTi&;8@FAo?/<G+=m(:fp6Eo(FE7h +=ifKtX*g#8dS]2,bqgWY%@(;AC2@QN>=1!Ujo4>^YA,2Tc]2.0-kuIko[^\fKVSu, +^5Kf6"3b%$\-^jKn"IVg^RJGSOWYtZQ?QMZ2%5R5qn<'/P4:k>\Vm9[YF@he:E"[0 +3+bg-:d0Z;E;_1MYKc"'S)DX\ZTfYuLk+')&$r=@3$DE=@n64..nX^GWfkHb2?t-] +#]u(k9O*:Mk)!SNIZ4J*?SZIF#@&o*RJ%/%nB9Oqin_7[&TWJd=a0!`[[b:Ue`lE) +PXE",H5MXK_`]";)_;;/IhV[n,#26HhG%o*5)oVf*dc=#DhL^N.h`P&n7B10!_lR- +Ld7\giOB]chCSd;!'5eGq#~> +endstream +endobj +104 0 obj +<< +/Type /FontDescriptor +/Ascent 768 +/CapHeight 716 +/Descent -234 +/Flags 34 +/FontBBox [-166 -234 1098 980] +/FontName /BNDDIP+Concorde-Roman +/ItalicAngle 0 +/StemV 90 +/XHeight 504 +/CharSet (/Y/d/j/I/nine/quotedblleft/comma/k/colon/m/semicolon/hyphen/L/backslash/ccedilla/quotedblright/n/M/period/less/ring/N/o/slash/T/cedilla/numbersign/p/O/zero/greater/fi/P/q/one/fl/Aring/Q/H/r/two/x/g/end\ +ash/quoteleft/s/R/three/b/B/t/S/A/emdash/four/C/c/u/U/quoteright/five/e/D/v/V/parenleft/a/six/E/l/w/W/parenright/f/seven/h/F/X/y/K/eight/i/G/z) +/FontFile 105 0 R +>> +endobj +105 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 32114 +/Length1 731 +/Length2 24712 +/Length3 0 +>> +stream +8;V.^Gs%=,)n$/iFDMtNS6e]H[M^m0Z",Nm+djlkQSJ*#-K?,[1MEMA(jf"Fl&//E +Z:'B^.f#GmLIr8;Zl"Ze=ea>bI,sMh^:s(1r:<,(I9kHGhq.c'*^(M[(<#b)`dh/* +(6,R"#ht/'2j0::$_jq7)Mmrr78k</Mo;%b1^93I7"B@`KJZh0D50LOJB@g-d(i1[ +RC2)b@$cE*4b:E&"!jPDQBhNneBAoJ@]Z[3CFdUm!!Xl/(<#;5_tBgE@)a61(k]h9 +YQ/9LXaGj%5UTDGJ"MGj8+-XNZ2gujEp'g^R$I+"5a]f(6%Js/fqKY0i!6T*/.R:> +!r>Zn(bX%*n)OKF<!*,9D.O/9dT@)(i59,I^h>Xa[PW(7$`7l.)B&SqR7tDCM9cC= +5rK"h/YXc3!":bN=ZhJb=HpZF%H,#9)Al2"UB"=?5QG6<:)9%Jrim3)==3WDd/&ZA +XEYU$!m<;#!62kaC]-IA8i21B?'_U+IcS"Y-qjiq&Y_(r8&erK0_U#R&q`R-#t.[Y +CiC9dK4lCOA3_8o`Fa(TJjWs$Qlg(W3uQNr#\:7BMn_pai,Wqs=uBF%#S]2lrU/nL +pSD#iJ.QRclF^5o0d&O8_kB=P$;C=,/=!3>0FU:<Dguq-ZEfO%/<0gaHU''d[Wbg\ +31<$o.'1MN?#9O(J"C6m+Vd`)cOU#Z=))mVdB:md\oZA?94QoI#*".'#kk+[k?%@p +p"Za:Tk8d93_?gY,M8G..2kEt_UI._hMD)9cdVFf>%q&BcTBnofdEAp*:@P0a3U`t +D^h)FSLr-8E6e)PW4^YNngDu$3]BlP5[$R9$n=`GZF[?9;0Y_fF09&[m[E,C@6H]a +GTZ*0'*]%a9T0MT\#iGMPs2Ar99bqcb>t07-k+QeYG$$R=eYa.ag>N?E#!N?If[7h +I-PYPnB'%R3XPU`G/Y=FL']g2;D%/Oq@6ac#'hg]f:7*""GOjr&/(&k5-(el`I6\i +%66rOTHE`\#,8=QDr_$&n">frfP;q,M7;h"mg^.8e_GSD0;n7:WBcZ;mH7aSO@7#O +igM0aDVPp_O@Kg5Y/^pA!:/+?f;X[Xl&r&.ZcaR\XA\h]gTIZ[JH."DG"*8WrDN>4 +R=Pcr`.fUFQ9-FnGHQn'X.?CoqkeeTAt7;?K*ULK+h.HFC<)5J\'SC)QnJV8[Uua@ +Dm13.%QR@q2\^7"d2+$VH+iC/l"uZplf*Kt^SX'bR,eHfL&>4R4:WfNQ^lcm7is-< +EiRVMj^i3W=_an;X7"J_/#%40PCHMI+.)@[r\YO0obn^V:_J8&Ta]m%Y4-fsqpbr- +q+k)CSg;*K`(,D:h&>=D#H)TGYE2]AN1r`)ioBf!S+8T%'8%=MB**dJN"oQ$qJoeT +-]-*UpPn??GfFCUE^8$nr(Xd"^9CK!rAp7hKC11IrkAq=5m^-K.QXCg3!]E-S@Y=B +3_pR,ODnFcpPe:F@01PSWhH=0Q2@2G3BYd'?c#$L.+!'JNkK.B=b'kXguh68!MmLP +\^ED#eN"$K:UO7pMFQ+\ZgaAA<bE31]Uk;0rc`(<9Qs,0;J;.Mo^ouPAqdHF-M)iI +J>67]TARZqK2FL9<D"ap+aWe3VG=0u]@Et(C@=tF2]`Ld4C'7PfC%NJ"<J)'6>D5\ +-,S-G-6luHT5T[!c<_g[W7POY<CYCu`:@T%pPAVJ+nb@g8!Vj<"BiN;P:>%_%Q)es +5O`?%Ic8+:qW^\r;5^L9Nc[]"qD>G+8Yrr2E1Y5G[)mp3@CC?8kAQHCc*G3sCl,[_ +mY7K9T'73U3pB`_;RuH/M-$#85/LD#J:srMOT"gh[7)L?R,.Lr?UTqN<""h_A9OEB +0n0a@'=[;3B>jSBS"d=Z?C<@3$hEWtIdtC[\kOfhmgt1Kfh=k1c1Nr2/L!V^&eV!= +cK:-93S,9knlp9n2?b/n.d4+dig>%!-=hA6p`M^L/+\OKX743`nFq-;hN29*C&KBq +A$$5Xph?pr#=Lt%A;7B)s/eZbj_5/k6%Lpi-+-#.R^l'`5V6tB>VA+J_4tcod71UW +$2nrDi5,$oMQ:s1+K`rA4,[LV*N@g;Z74&bM@([D)K^`77_^iSOW^WM;_IMa:;KCs +:oF%GB.+%41iYY(O^P5_^@>K=]V/FSl#_-BHufk1d3`JrG\9jSXEA8Wn!'mcc0&Ss +h?OLN\l!6C0:US(#2G9Z7Ik/X6R-Wd``6(2]Y_Ufb(W3trVY2k3n<it(G9(n>cf2W +Sb`LKBpko>C:gO4$iG?<3Tdj4XjON2E$;4@97Ds:3]SV5,A_RQO3VS#Pi;_u$\./, +"&g%X8b;@/4ZZ*/0<N,XC'E3[:FprE4V=kI]ri\h"@&Xm7@K"'VV3U!q3S9kY.L.a +"L!`R,Rl.>([BO.jM02OI'0orLIC'8e:s3oA#GhlKJ7&g<YqBLktO0-800:g:Ht;? +E6"a<Z+LR5^pH6EA31^F0B:LsEpP]nj,9-,<1Y-qrSbWpPLttijrGCETt&;;2kDr" +)5#Kj]J4&'e`E"H<Fh(C30c.d<NdTt"qku><nq!`V:/Rj!kkdQ`[CH;!ne0,q6O.# +1Krudgb/E>ObKUaL#3Y\1-1.e"-,HfAR3H>,)0mfAffe\\%(L8D\*<M2<?\CGYX$K +aL^ec>92P8^N6B@h%i4:<qMY*&a4JJfe&0"5=r2)*XMNWB=.DbG%h!EaA9:fn%&18 +D:MuV+5lYZ=r>PZW4>_B?015^DR&KBDQU26rr<'*rq@]N3$s+=)(SmVZSsR?^>tKs +=+oTnDUl$<;]_S@?!sa4[e_qWXh,XEk8Sm8B`F'o$H(l4#^CPQj?IIS(@U0c#jl.V +N]EMV)OPXV\9&YN;<&oK-&^1X`*?<rS3MWNe7'HM@Gak<5W131l_Gj;e@4dhmJPp) +m7Ad/b1a2=pd,Q^2Ojl/ki-eAD8S,!/K%`uGrMn'rV<!\p:-Vf41MBqSup3aK^%mR +38LEDi.),EUEGj@g(a,(GA5:"$2T*]\hAc.j!DW]=g0mk!@h)^@H>5=!UmghdMk2n +F]p)CKi^E=5D"Z1X<__?P(TZ&RrpLB.Z@&d@G1c`s65<jN?RM:U1d6H%R%5^Y[.[L +`@V:P1S-&&4e$Q6J]2]"(H[;;\P7+2Od6NANSHu-OrnMBq"Nu;MU3ge+C:V&dLP"Z +n5%7[Po7qp>6JB3ZJc-6MYm1V4eNDgN/<7+=is=e`7Yfo.fsQS;K;'.<@5Yj]`XIj +WI8g:,Kh731iL_jKD\dQ?;2.Mq=ro\;K@?j@lb0Vo_=#V],A&h:9O-pXiM`.`);UO +/G[:e;SaFfeo<1%18<AsqI(:o(k@71UIeuddL#J5WiZd>9HP\:`'fK]<1MU0$C,r^ +oDT<q<LJK_@'W2VYGnkgiR%a)VID4=YFlHg$b\1?.On6a<*ollp1MW]LtbYp/DoPM +.%CWB269mL?.Pr0Xqp`%eTA8@b[lVh\W,98J:4Zr@.OPU+n(8"B8Zi(]D2"#r:V>B +ib(=#`hn=[OV10UN,iTgrfC-p:)YV4@l(1hp8/!DeNBFA=_<'/&aXE4HW7#]<D)^e +WECta)$6OK+I.AT]uSMi-IW$"_T9$TTp9tn(@@\GS-DB0d4EBhY'32j*:?tqp0)4j +G<\pg&gYNj/k-OM0,7fE$k/_#)'sdtUFhL-TK`/8LS.!H.+9_k_t0/aVo_m^1NNW$ +^AUTuqjU9.-"]TLdO=5G]WVH^PN;&TLWKa.AT4&/_h(UL]CYi?qVUf`:4]aF3=GKJ +^[,_W=E:FN%oi#Qa*S@3lZ$tU"/qLNRdc<5Z"/@H#:3_pqFNuU.VQu!f5Z.7'usDX +;@Z):?^,qg&EGYIm6N0\n;\))%8LM0!0pfL+Y^m:)9_%gM#J+3?*a_;9)?oF?8rPj +J`b*Xn+2q`5F-2npFL>+O>hgUi6n)NF)5V0&bs1pH<M+jYSt[_WMkLW#!1VR_T@$m +m$&6O/mJ>jclBgBl+8Ijq9^H('PaCJ=-f&2?sPpcUrPEf;E6jWAK'Vs0a!.f:>1sB +Bndd!aH18-<$hbd@]BekNP8U8<Rik$lFuoWCIO>!RW%lcRK7(L"^LRtciTqD^)38s +$,JYKL:n*Act$1t!WYfYEQ'YZ31.XCo"EM[<T*YD4D=XSeGMg76mC&XU^u2kjSB2m +1"][D'_h>g>f\jn`L&R63:OIG'VUu$El=U)L#W+/eibE">WGWhe6>@UC"4JaR)31N +(grC%(([j4_re__<QsG991-D=W?u>0p(QSg>SrPl919Zgo^Gr+?K.k$1;,oV-lgf. +"KM-f$<R4i-+<BE#jMtf*"Ip&W]f75:!k-WJQhtUIgpG74M"5RVrenD[RgWPS?s1R +.boI#>8S@);pWJ^O,?F^]k!qHkXO5?Lpm;"Hka1L5\7E@+m0a5Xh)k`7#mBdLu69g +-]!+rnP=_CTMfhC)29^DW2l5NjDXt)-`bZ1*`gU0[8;J:aoqc&PppIlP@]YAQfJYl +KrViH96.spGS+LT=@C3inS]Ud$!-_R)q@Nq$QXV8P^?VM%__1N]Z8p@pUpC?c)Nqj +0\hQ4hFS5O(K^gZNsMLhr:?s3ZQOo_'1R*K[Id*$L[Jh"LYeNcTes'IbWZI5;91`? +';_sQGr%G^Z9<s;693pg)>Jlc5?gnu6#&.WB&l8>c<Q6*[S81X_@T9KoE<O"I$7JN +ps6H9YP"RMW88RAlO<psMK[#@k;V'[<h//Is,uEXTN@NQHZc^sYWUSh<caf#f4kuW +@Y;j"<>U*ICFI&2Ptg3'J>CHgOfY:Ps.E]!`;o=hVY.D2hId,l`$I?YdtLiJ3u4<" +J/o?aQ%6>Fia?CWJF9;7moq(FOV^6?]>JN/+T;5g^Oi#qrks_WW0q/-=P2qj5Xn<0 +r_2ebiWdFGF1AXfe8O#<LoSDEQA5h;,[^7U^L#r*OA52[hFj:C)FXE=&[)Nm-Isn' +!nMR6-Qa>K]#"(0^Rm,+>;LYRTh3!<lXeds"TeaU@Is=rhL#(V/L$j1&Ief4r9n(D +"k\EGD*Ijo="QE9GhT4P+(clbM[r]`JBoSuX+E-5+#l7N4:>i"A/8]"fG1V/2:b&B +U]b>7qNHrn)Ni@MI6KN7p"ZB:LX\,#k<9I%FY9bZlEDGda%T;mesUIkAQ<:QT+*Q3 +=nV+FLqP];id/+WgqV\02/*(j7&01ul!9Z,/6(K02I(XbpQW:"_),d+NcmSK_"N4Y +3:ROuYhO?;p"Ks)Y\ZGA^0;J-7EsZSGRjsR2?f5!@DJZHNPtmf=3V<HkKc1+]N4J> ++",a8hi5_^qDW-BEl>9/\?=G.U-,M)OY]!)l1h1GFP60(l)>]Y]#[23q\6Ts!-e') +j`i-Qrs&Q!<E0jOXYIU)7Y"d#:q/s6<oO%$oJGH4q^GleYK3]?'KpW:1VIXS0"591 +K?h_hK62-B.+7s87;,U!mu*@.NpP>n?b4'E>aXe2e9T4E-V!_q3n8=X0j'uKlL4Nk +UJFhBZ-O8\7nhdE/tr/Cj.sB[Yg`]@Qqi/?/h&/#kM^j0+OHhHrs\&Ib,F0*7X;J9 +2cqM9@T_XQh('m8G\61@=-bn1ik2O[c!/oPTumJU[\)`%e9ZL-na>%=+FbP$f,;\/ +AU00<M()I/p-/cHKm[\RgXQ"Cmeql7P+t8dP@6kJ,gsJr!_Xq[R=Ia&DGILS!t<7$ +&S7-IJOQ#XrIjd@S_*[Re3Yf;CS?`D:8s:Z4I4@.<Tt:,J!5PVK)^l#3)g49\dl:T ++?XSGm`8,&jmXWO*JaGiDChle>-s!3Sr4u&lh=-e0_e3Y$pK_Z?%,A>=@j;SFRMl\ +bBTmRBp2NYU)-Ce3TufD]D3H&4[RVfS+;-AV\kp7II8Jj+Vjq4V+D-V6JfX%)&(J= +M):tL%kIkF.Ejt:Xj`Z)mFR>s3#jMBQ]MPE5LM]^?3T%iU^DiECo^6@M/0`.1-1#H +e1Zs5KS"^NM_l4-q[EE"!b.N%Bm$2R]b3tB:H3.<9BrVRBVCmbe8LKJetEl*s7rH8 +ch@\YGIg!X"<R"Af6o1%3h8Q5C(="k00j/.TXckO+2daPS/11@GfMf&\Y+Q@J#a0C +O\)I#q1g'E8;_RC9tf-)a+!,;<M>Ea[`M'm'@i:3qJ-[)IX>f3OS2T9,r&/QC2fo0 +fJi,(d(R2p+^(Hsr9,7>oP>SiIE`.BFc!g1,U9';NhYq2/8KB@L9UW9)N.6-V*hKi +l7>>]U<IZ7#_U^ScQ.nq&FXr(]UdW.!NT.HBj(g`H!#.O0fS8;.S'++^qUbuE=S3' +no3FfaR]7F;FpY>1HY)D\>Lf>m85Gb'^R1VF@rT.a-\!6do$PPNlT9<eU\%4,3WRB +Z/e5F_k`9Ylu7:qrW.lq;/Lln#'XD:Md,OoNiQ51Bk=IaI#ZmoRLmc!61%?7*s.i= +of:(82s\Im%A"m7$c8.2-[!q)LK*)DE<d=(R1#2<9+8MVgQ@ZNC"s<m+ee]r1EoOi +=NB."lrg2JH(kZG$d4m+cRHZ`b:N5fHpJ4AE[2@ej^(&_aH`uDo]\12V%'S._'$LA +iZe_d2^Uc]e^oB!os]c)oY&?DAsj,NPm@.#WqN@ticuc_HML:Y8;lSm>M*Vf^UQ1J +B'F/dp+Z+Z)4au0+?=#NKrB4Be"EDl$-^\>!fC4g-:MqS=Q@1uO9u:G[KbW.>ba-J +Y(o@b,oH+]Z>L,J]`&s9<T+EZ_fWXi10eZ6Z86<DgU2"U38;oCQ'l;?WpV^?-TW%I +Di8loen7^m)YEEt87j=.ArWF4PBd_YVj6cRfpS?;L>Gq:bTfU!oT(SM8_!3EU@s`d +bF',i",["epY+_P=]!?'eKAJmq6MWa0ERE,kGXHU4f1sY,8)W&2n>`R3Z(k.>9q"l +R+)^Wi+h!sF9[KpLtW7qboXm"$(7pgNj1@E`id%B$ft:Fq7>14I11+d),ho>Q*#tB +\EAY=^Bb\^+HL*?r!Zd0I&,8RA)+4=Z'*VR=C?8$YG")E$'HALjY_O]_^87dlm78h +AZXN!b"L_GRT@_:B?kb!"Ta$/YbFkh!-A0Ul3#[Df3VO[0<GP2ChRodPg^>V\B!M+ +51,/#o8k5mC*,Wu&rL-S8u/!-g)?%nVcq@PW6g:)m<puYRh3,\U%%@:Hq1_:b6f2I +::h].^^(q8K67A"D)]M`-BV,u1.:,n)Jh8>N5!MKW4(#?>?E&VeBNjSHOT9_roq9` +3mVX%391%&jEH4*,FS@cN9]>95DrOURl+(bJQ)m!m/I0`D<0jKSik<g"XBZV.\jRE +e%#9$Iu!ApMUd20*b"9$o@kAeL9k_Ilg.q)!E7LXb.nFPCM%E-%n&C5q'OBcYm2ac +gh)k3(efU13g^Q_54#SI*9Dr>fah&8kN);HB\NZ"Sd+S6N#&s(F-mgoR\'o52j8[M +l3:7+JF71b^G`)?ANf.'cXKF86:D=JZ,kD.<rQ9rHO+Q&Y7FX:otsHV>RV*AW&(K\ +2&Xh$YgI6nka/N?"?+:)icqBa';8M&";q;,k-bgdV7egMq9tKjpNAPC`Wp9Xf[.Tp +XCSF.roe&m1=ke8ZJ.[a*,V#ee+6nm.<oId+Q[[sKNMFnO3Pi8IK([Ed(g"Yg9^"q +1r];GHCFD_^`L6,Ps)=KY%OtkYjQ@AW?i/QL&FLD*>_u_@)WU[JAID=E[]YT68&`E +S'13/LcZg6//12C?2Op(/V^oQL1P!H7_)d/!b[CI?u(aRhmeCeW(D0Bg_oRIc5!Wj +-okBi\%f0(UFm*Ym07FD]#7M,_'6dEl+M%Ec^Q$8f@;_lo9*,`GDS+!@W"_i,3TON +'*UiKpJCmXC]EXRNt6"q[6n2RPR]dO.1EW?`I]t50C#;N>DZ>a/sC-dqX$(#(:$cb +gi,I;:=TSFLs^-K[ih:2LKsoD0EC$P.,K'%k^GSch5H-$[UVsKk,*9W,2dE%4`2'o +XBb[nC?QD=D&bF=ZYurrXJD-Ag/cT3_Q@PQ!=8]!\VXHnKH>m3?_qX5HGKlonG4O9 +i4S:jbdNG>&Ch*cHVNEAB^9p0G:t\-0VA9MeU2Ege5oF'7q!#F<WJ6N1bD$M9"KfC +DQ5tZe'Fa15QPNSSB5?S>uYg9QpAuQp/Z.GCZD?Eq^H;1S&j9fPCP$.3p2aZJ!/;f +:_/@Kh7p(u[>cG,dmH6HHq)jogYkZ9gKHN&A1tD4XrlQI"^j_.W,APlbOXoK"gDIO +VQuVYNIF*U4hmF\#AgEk!SDY_PP/4)6*-RT&TrVSngqu78"MZmEd&7Wlc;7q`YKuD +_6>\TR8H?W@*aGm/``+$@DiI`9I[D&<^0]BRR%(h.AL_sX8eQ.EIVa^oFZ/[CqEq7 +=K%=1e2TO@@E+a"Anc^,Km[^hb+c/n852_h:\-$4ZiNIAj%S%*fCib,C$-!uV8Af- +c"=U=oPJ9\dg^;AO_U5Xaq>LuP*Z-_$1%usS)AIP\I"q>WBbZQn4^4N?)(9iDZn1Y +kiI]O\0=UckrR1p!%77;\deCuik\j.q[VZ$&?U&-7i5f]"p@TG;hsba=6Y9X[3^!T +?8\Doc8>F>YYka%4.!T>gQAA0<n;K;g"d,DIeP91ZM&E7o,?0p=dq1bBlWh>mos,H +Rafr=NRniTSa?-[CJp9JnfS>)[0<`]NA@q3Q#'EAW>uDe6DgGFS<T:d?=(oNUNQ?e +7!c8Ab*=ClMN=i0@M[;O/tX.4ZUi'.i$>;@29YjF26>HKeapJZK0BBF+YC&h(#.H' +Zm2;3QHmSk.@\8FCpM8aiFFYL&^@2DqT)2LmL#afoG>qu')NPPlI0$hbtT0qko%B( +Cric%rf5FYLRa<R":uR!.'TV^M+_,6*:\0d8ckgL]dl=TSTp#W+lqHe0lh/Nkmm6M +:apI$msn^>:ndS(hffOk@0#k4S427-(##Q[,?iG%'kLNIjXh#:OL.HP4V1p-570pf +hYP0c\D-obo4FC599l"N9aR??>t&.?4H-@>G^'[@0D$DR"e)gQ'%JhJa843b,;jD. +R]I]tTW;%>69o'LB%Lqk,GGO$+Ef]qMo\h%8R?5eC9$0(g,]IBp8]=<@[i>25B4PL +-$.R;iLWB58>bWNJie4Q"PbU5\bO7_XCGQ9TtUN8:8P6/.o)@m9bu3!PH_gm:%Kf' +i:@K(9p+Gp)Y1BOk\@C66ruDL'1=gG[7%pi(Zb-aUc^2jg>9E;D6iTt$ksSFIr\WL +,cW1T5LA2KJDiYuG0Dk55GdA2i<_L?>a0<S'de>LC=#"Le9s/?HHCImDDiD(SoB#' +>6D8G<UdWrK8q4O!C^uh49$h6!#l0"?O_^(,g-IVT<tCTFf!SpaLDd[.BAVLrCf4t +c`o=RU4s%Ng_QU0.42u1.lnd:KM./G,I0,@<LU-1'c`H%%^8u0-M?k<p:Xaq7B]AJ +#BYB^n&B4s=9:D-XOfgQ]rd2Y(2Y&7YuufK#2-&+f^L&@:/Cl:GC1Qhp#2Vl%%H[\ +QU%(rg1OFeUjuNo$V\'@?egJb^QY!%^HB(i^@rs]`6R_sC'17RT#h'[VID)P2;\bF +f$9MQOeR;L7OF_*ASJ!No\`'`d,"2eT"7i3,t3(WN>&(KTld]dO=ktb\ItG'kb0rm +AkjJ_W/a72PFgj1Ap2CJ4hq3OoYC1FU+VZ(<&%`^-@XEP"U+mT85F^6=K0-Oa;Ysi +=Bj;/[-gniCn"GtEW4bDH7'1)nZNK2[h\a4:FuoB.b#Z01;dK8F62UlXo<N@!i@,W +IXf(\*!V$smdm:IAD2mp<N`e$aScc%?SB^_MR;Q8C-D;sb#@P/kMh397;YA)SZCpR +g#%-Woah)COa.Z[;Br,JjRrchr2?(qL=T3pcIYAd#(Cr5.ZtaD=sg7fX\Mj*M2nmc +.XskFP>e+0Bsd9+7^rF.Err;7*?X\LIMSsf^nr1h%^"Vc[r$1Y?Wf(mAa>A`GXl=S +o5?W1(8+1?atqG/cg)A+P*beto*dW]6:nSu7W?@@f[CfL:*0=]V^2VL2o.)76QP<2 +TC]so'1^pVK\]ssHQ'kgPu#EEkdcb2QF#e]jfVFj1DfU/'?[I+_EBV.+ebkq7dtO: +d]n]lh!M-*<ttY0%0JWL#S<D&@-Sk-h2F"rN5D@$FkHJ:ldtLidH`;<mae$t>[StG +rOm[fP+A2e5.+@!IF'J3T;ACj<_]WrMWF=_D4s'OL%EDtV`SU3kBJLn:\]fWF3TDM +@m=8DMVk%t+XQ"oaOZD[fnnukV@mqj+d?4D`#<>jATQ?L!OZ/%*&Y9YeL&"[&%hAk +In-9Ke44*Ml[i'[?:A-\*cENc4!)f/Ous9s52jkUQc_RGfBQ\,<(N)!oca1]8GC)0 +D:4(5)mjG(%Ths?RA^Rff9IIC:Q+IOE^.d[4"KI6`P&R:,F`6<im1PXP3%c'^<Crs +R)@S\#gdM?&V0`CVeX+>$64sla'G9\5r+"^7B-:`$bT7JjRk/U+J#Y<5e#G(X&<91 +S`6gWM^kr9j*Fh"#V(q1,LT".5Ne.bi1eH(r)\QeD?^@W5!0I&L(Oq3F#F.JihotL +6Q!bQmQS3'FFia-Z)]%L"Wh8-**<!n`2fX*"656=6^cf]<]p6#,(7/FRd/VX$f`e! +3WK9gqtJ<d6oAOtOho/.^Al/]0VoM2[2gm8+]8B2BG%siPPrZ1G2?DipGca[AF3dc +GZYs]@Ot*)gN53ppEl'a"=2<_Jdl&a8Hi"30J<#94n^1>/E"WCKk&gE+^tncJ02be +C.`126Hb&'DjC(`H3'?9im1>(8[tpU5AX:)CkR-Gpp/'iYQm=-P4>"U%NAFr"$#Qp +N@5AqbVKs@5Gh0(5#HNf"OMdCKLW[,hMedh=)G*V[Pc"@=u4.u59hU,6Aes=iLW+0 +&1n(T1DaFkqiBrg[Jb(F9e6l#oN;O"W7%^_,2V[\9l&l)X4F%R2P:,^K9Jjl5$'>] +j>MHlP`.lshMukW'9osH3eIqW#;OPkrS"AUcT[tWHEuq\c$hVf[k1k5L^Wc6-GLO" +#QVAf-*?t!gkZ'"`&(*op4<$523.r6q;,:O7LA\jrHem2]dPZVI8d(3AceKX]K,@) +o`p,/DM^'G84q:<59l+K,$_=e85%*@r!G9Yn.hDAp<";j6?>[>]hJY9`h-jJ4E8G] +iq1STE;iFLUhOBC<:&Yq4gt)?Vf"U>OUd*TP:Wu$kXB!HCB6n`Q?*H44'(FEg+hue +^u$^l?97'E9[+5jjZ`Nt<5Yj$4Rc'#G6=!le0<F$H(E`]4$Bu;,Eh$0HnOQ6$$\>J +&+ep,iFK:eA/W$Y]sF^?8>5/cUg6uKU3^7'-_>&E>?bmfd0C0<$hiI%[`7Sb--3lN +9:Q%p2d@5:('U=pm!Z#/ERtF@XU&e/d8>#]D6oJ5nlRg>HA/NQ6?@D)+AHYX9atT3 +&0,m3_A9V<olrUCAAC=r)i/^8GkI3'\4lhB[6DR*?61[o?<#lQc[15+B@O=/,TaaO +*L:gsUq5*7LnTP\_B$5&W6^E:.OHUb&8h$dQ6-X9S0ADNB5,b;cf&enZ<?+mIY"Y< +d0%A^.6sS43-IiG.+^:qa)Uu9NU+lIXsX(5kPhbD"'!JI3Vp1,*`8W@mUL`P'\BfP +V=DPKo`EltW4S79B^^YqF@;>$6.j]BhiUAlPkLDXSMMRr1]^4ic_J,tM/\<F^XAVq +2jX;(E2buYMaEa\,>+_!qkisLc>=X3JBGP.P:r4:._hq"%h,;XH9\SBaMVj0p<T.g +p+gNj*CA]uodRD5)9f(Xq-4qNcE9Df]q?qD3,l&o*cL)OP_5[:8r+;pJN$N7)(;'> +6cFa+G$AfnY@DYlGo:Jmq_'ANjpl.56IVEp`jb8@pf-@%([0nJ46D/9i4;g]Rbl=T +S?-uc,fVAeaVei?18;3mhue2#?[1_b1T`[4"Nu(!N8(Lqp5<pV#_T#/cj>g]E\b<8 +a5cOcJZocuKWG<u+?g[C240+`4@nhXMhRLp8.0>'e=4$LIALi(:qdk/JY&OI>C?pB +GNCJqSM6SQ^uZ_(eYt_"V<r-XI.4D'%b7+QWqk?eWI934"`tGU4l+s[_Pu#;f!>nl +V!ULkV+E:<+MfI^cPXG_@@Mrf4N;B672O_?<]!cC0WD6Qir\FR02_PT*g_st0am/g +/]cD9+`NEurV0j/#,pWP*5BpY/>g"O_T9Cq6rud,TQ9^brdHjN@dOH..FemX95\@R +GiSMZomr,&X4,6I]'B;oS>uTfM.O95:-j0Nh[iaD&b3tI(4#.*bMGMO-Qe!FjfVjO +5$!"S??CUH9YN9GY=@#lB&4t%0W41hPD9tiij;_7R8h^@..p'o\,2HaeAF_7;]P:V +k0V5N_t9&lfi)`Z#+s]pBGojOC2HV^fDHP`JHFf]f^s\f)#H=uo1q\-GG(0k'Pkg/ +U-E:'3eWn65ic@lKqCY(c,KPlmd8iubOB!MSK)f*8tJI>eBlX#%`:G?fjo'>)^1on +JUtp-.f@BH9-#bqs0N^7M?$.jO!Hkg=)dV&Osf41?3E`e;U;/9psOb2Z.9/))#BY( +L6\DFlKXIkp@J([^jTBKkgatV>VIN^*mLo=V4i/PU=i`;>#&=P28ZjGq^uNH=D]9p +f`,AaSFkMc(G4lG!/(l!g"%=93h:l:Ii*W:T*Qp.U*?Yu=LtM)GsMQuStGhJah,j_ +>bgCF%*@A,4Z^s5Nf,Mc8jGW'/d)^&9V0?/-OnrTg2dusOr'3IB\4*"#o(_(&-D7Z +jIEe9h\=&a4TJEi(L_%(Rm@%Q?OO"b+7#ualQADFC=?]4YAsh.C_S$UX5`T5;3-\N +j#QsDa'CGA^D,]A*_:cc^Qr)q26g5nGoqWS)\bO4/1*d5ieqrp2aJ\]hSR,sK^*r. +k7!7jeiNj`[[`hrrVcu#h.(?57As?WTHi;#R01[XBZ7"4ZF?^/#l8$T[9qqpi;D<t +=cX*3rHSO[)#u%f")`saE`4O2K&7OjjJGKSJOAt2]FKYC?FHY4U1%nO1:93:.M>bC +_mpf`UsZ^Y,&`mCpD"gbM'(GKrle-s`^p$sL7H"u-b.5GVK28q_d?dlBcKlLEH=Iu +EC"X>NR_e?0>(;;iA/RW,6-b.8LiJJ)@GVgjQB??>\[cuk\.J24d%2P@keWdp)PRl +!Q*"4n%*Q'F!)g"0q6C,YfbAT6@&p/R.L"*fb=E+hKj*:XchoJhQ;,d@Tg1S:1Iup +h=3?>3A0ArK/O(g7h2.V-fCKnHAGcQ,(200U[%p[#6=P8^_\]6nN,jJ,\%dmXqbr! +\KhN"(\:ltrD*:>X@Fsf%*Rsk<-V:,.VO"7.nmEt\4*I^*o-[too#.?<c*7%>?APQ +&PAeX&TCDi8KgXTZ:L=GgRbMNWeV#SN`Osqi`lQMb7$RQ)OP'`iLo8KW>NEWpJiN# +EnPOGgcQaN9j<%P`7`0d7m==4[(GFX!4q^L=8]LQP)fL,6L&tb%2sV(*:IX0?.2#a +l>S$g$15T<7e*V/FuJ"qMs-9lZWd]!%pkT.XCEqa1noGV.$!+#hS02uWqe!^M?Rb, +:m<'XcY"gZ9M"o`TNTNE]-U`[SHQZuKEYUBrAd%H/P8<U4M=-dnYeR@*QmEF6#F/! +:@<e^iVQoC<%aD@R"_*A4hh[P:R=Z?'fVLs=)pJkJ$'GZ/I:fAag!<L%)PEGd-=\W +5$4.oF7psdLScHj/%`.oJ"5$C3g**BKV(]@h;Xub/p<HsDB5q@82k?0<V^Kh2jJ<" +KK,)'5?MCjhblcRb)LH!`NJ^GF[efdoP1OVj#L/c$9Y5Ad.iH2hpA_D`;+3OQ^PFi +f"%@k$7#nN<!:r.f%IoeXHET4mqqIOWkk?`+E3umIOikPh[+c^kSa1j/s2hi$bhWs +>qbPnlo9nME)hnAAT(Q:H2ph:k;`.4h2!NI4YD^215I)KbZ4$EaIj8bFT,lT!NBe5 +#?11i(>`Z0fLd\I!<oYKVVh6GHcM[RM06qNM78ZCol&ThZ8`3m8%rIf&gV/emp:de +<o_jO'igAsVf,s!8[j++Wt*.$K)tLcA;I9rnqY(q@7+lQjs+UOLRa<R":uQuHds3. +7A1Q=0/DhI49PQl%EX92I$6r$-TkqY7FH'%<61S:E?aQ8Ve2P"\T[L4_8\e?T&q3= +oYY6HGD>.iYi=*I"L3dCG9T/XB;Vc%o(rXNn_T21+Pe#]PR@J?QRDoIYt.3`XImJp +*2Hde7DMg"nX"*1M_<sYg.8Pi,+gJ1oSiB,F`;jkOKMEpr/ZL7mon=FfV(UkDOp+& +NtB[>d:HuS13CasC>\g_:Ls>tf[#\F$1H0p?c?]]\RC#s"G#8o=`d\nlIqJQ@atcQ +LbAHTkK7I\@)[us#$d*>hA9I+Hh;28NC4Kj,aA4TFn#O8L0H+c*b4?q*enMTIM/LR +d:iDr/Ncr)9:IRm-6Dn?1&pO6(@X^.Y]"_fY\DR]#/L=^RHV<9*/b*2dn$8LYsoGH +G+_s68lS,Cf=hP3'4L_r+k#F"`//Ng-`X'c@&N3)Zh7=/9`nXb-:c*-2\c)RJ'rcX +,W<;UPmtS:OInkM15>Kh5r>.rFRlm_Hd>"<C=dO$\pV8H.FsW\'At*]&6r"AFZZqP +@rUOV`7-F(,[)u59Y/=7l-D.P`7#R,#Pe6+k&T8*&Xd]/pJJQe3)<$!mQ\op69sO, +dr6$O4*j(W;I(b/B.h&7]W*r&dXFE8F@VXja]Ac"rfd8tMV#]PPf*DODc2FQb!`8k +@rf5G>_lO)o\:AD*RX,P(PW9i\/I,7hXkJKplI($%H$A/'IO2LLAp+^S3Ij/ErFpq +ig9&"?N+A1Z4.C2\K&Np]lBc?\M;OXVj&pBLf`Jg@Mgsi-5\Sq7u:!D:b3,"N2:P= +(Kb73a*rOFB7:@C4Q\tK(f_);KVST7=eF!9C9pXX]5O2VP'$V3.9H.9S`SBPL36e- +$("D<76;i]rjRfod$=%@LL!qn=hMj:n,:k,+694^dA,ai@!0Ph)<]-#,L9f*pt*b' +]=Z`<H.0Y\\eoUmi`k5aVUPB6<Q6J#)V-Z5+mZ1eOBQ#u66GIi!Hte(\kk!;kI5pe +><[]JgiEq>SG!%`+<*6[K\kg43SJ%@Z+]rmo#MOmDHo!UI%(Io1G^9<NY^H*-iUcU +>Z.>CK#nEITQBEA+sXa4%a=>!5+TcVl')N/g.&A%m7]?O%.uMcWJ@<GG7O%"Qcg&/ +XVtL<O%nJg)l/F6(s0F-CYBCa''U2K1$nTjb.>303YFQSOu<@[h/2h-ZYgFu\1F'k +/$)Xq)RK1m66nqa3XjHL]B`A<#&UY_FHWKUf8dK!CZ)FP+P"[P$gpaZ>J2eA'Y;tU +V[_]PNhC[u_k\Dm#\s)SrJJ>M=o"CrcYoFWQZd>[`GFJ\f+,-V9F!BsVku&<,1rq[ +'!'SK[D=@=`cY@iS4R_`"J$Fr]>JWW%WNV)+Q!i'5Y1pTXl'mIPuu5VMc8n0(]3me +C+Ed[ei0Ts2s2Z#s47@CmO?0'*2r9+<d*h"CdARm]=tiF`6;\`b0.pTp/j,m+PMJm +OV)gr9CR5FZblKd8fVJN)IN<$F)1J,'A%9Gr>qZ[^+i>p4aE,MFdW\41e[c'R@mJ% +51$ukbg)Qf&s)r;Kma$D+;2J@lk$s)<K(TmY$AWH60YjSI6OqM;96LmJLk+L)ec"C +-Qluc.an)Zjq`78L*(;i,AlF2G`0gd!aCe+n?+-VdsmEJ/IAehEZTQ2b@tCK`63`t +;tP_/KCnV_6he`1fVjrR3n8D%g6;t7<Qfs-Juk4OA3l/0CL0>@/tY_i<i?:J'TZIe ++"\tea)G5Pi9Y9O\,"n"Y$5hl-2-P4J<`>GJN6b-aM8.8Tae$3m<o;ff'..==hGH2 +apJ+L#laR\j'M@[!6B*031pm5P>ppr?\"4sMQ9s+,-@/L0_c"rI`f[rLhat,:RqYC +RK5K5LS,X25Gg-_8.(#sak52A>^Wp'qBP.DWd4:lV.,1p[u^>aHu(U6=\gN_*=^nh +/a0YApS`8WRm=r!X+:=T_?W&7PH#%(E"uF5>FGgr\'R(SgBqn`n,=ctBU^)Wbo+*R +`/KBW/#d:egFp[A68\'1`eI_s;DlI_j^0N)^%\'"-A/aMQ'2D@-#LTjN:<-!l-XZD +CHCBnEq2>jF9401Hn:05CZ"Tq__Chj6nO(_0f&)2Usrc"&[?DDn4=nhcek(N+EsUk +E*fp)+/T];I,':mpS#okZ:^$='!1"O1^3S+B1muN1Ssn);^m*V^@u/cq#;+g+HO8a +J&k9FE!rg%2)OKiUZEd*5#g/M":Bn>AROrH(1l$8p8RVW--lb0]O"58%[eQb*V2BM +IlEpDO@,`rrN&&%EsEV!LQdfU1?G6\;^M5sJ0UOoikVlATN-Uqh;p_O6?/=n3-WH$ +9GN^jYXoC,o%$#nKN(bar\R+BOecKJ4u"IKZ&HX@-!S5tOPmT_T8Nj3]EhE-#.&Tb +ljr1^lBWU5h8K8q0>\"7M=rE9AeuRJqQ=GY(fRn/&sXZ?%nEur4'pfSUKFIDEG=Kf +)L/m-I"@a9#4u=P``S^5cU>nG9?6I$NK7_d7_?\;.fo:$8onna0W7f'C+tk&jO?kK +`.W\i0&JX0(uLq,p>?sQPR#;nj(]r\5eP\RJ-cU7@1%FO]E.Sl62r$n:TT@df\QtT +)aP]Xk="h(03rD#-iGP"NDcpt/(T5<7=-oIE]%J8FM.2aEHX$\%6/=n4[,F!J4X[r +Grq[iCDm+.W'W/cLSP3/ChO\ZUodu5A'8bqU\-$4C\Hf,C]Q;]Z\!(f%g9-c5Ad>Y +aINJ*0CoojAWU=AL#Ub=9VrFA&"R2((80=,E1CZR7doXIcC3bIEu<uApI%9j2].P\ +S2j@@ia>4`<K/;^0l\Cn^<P)C]*gj>?rKTYnQN@"`U1c6*TTH1d/hBXR-Te(<*'WI +6]Uj>;-C]o@P;aAj`D+W*I/r\rK-hQCrj'[]M`YZGj+"D3pW^+QHO`*W@/=:U^Mn) +Vfjt[QuU2VdGTlM<HGQtgX`]BQ>:iefT;>FPf_EF4JTl+TsE1sXZgkMOL=,h<o8/X +7Qc&%gF`Qi-Y?$kH2klQ.74Y;dX=Kd?lmgK%U>FT8CH18<\C0N:?fX.arFj3$9>HQ +__JekX]u4f0H^A/h88]AB=qBg\7qg<kHW7BC=DNS^mO+Q<6SZ>.BVakU>MbQ#2Dgh +M_\[rd;Ah[o15uQ`+'oSQ/o8E@%;le9(uDCD`[/g=[`Dd1#9hIOJYEF@I.?B@^RQk +A#`7[4ZZ!;AI\eFrM'(%e5p'<4ose>"n=U]4(:@!+rooC'>mE6)hBNo5m%F8EJMr9 +bir!]'O_jHVN'QU<8R%G?*Q'-8T&*%A")pdonQn89<J_"MB/."pH.a=*<.-h-,305 +h07hpWVB0LL)-@,h'O#>gEJ62gk5+"l2;CiP=*NNIW;^UVHgVRf.P6HrF"nc&5I&" +")=lCHhJ5P!]c2l-Hsjq9i_nUQ@79=&=J7=EI%Sd+D>fq@[N\!3\'a2N)N0?W8=&+ +P9aPIi@:=aOh,+oo8;"p8W[Q)VS"'M,=`GT>(VK*!"Bm],L<'5&\$E6n:!\2o7_*l +;Vh>'I9<L8ChA1Ba5E'abofNa^Sq3PS9Nn&2KO=b[=&2c^\,jGl1]tHI4hTShT.!G +3R$e:/n!mXq&CNaV`##gUt]RX&8_dA5o%CA:hfHq>5"C=j*[gM"24hIPbZeJ<d16& +06A59<t_QABU$(:q]\nE9Q=H2E!5"RMQ`)I5dm!kbh/KnYC:<b>r%<W_9h1XlP,DZ +FiVGE`OBuXd[?W<grh-i)0mfQ:sc\a/31b!!+*9n)O&t7mp3'W4>cAbN)rOe<cV>; +nbaKc\nTX#8:a"=P3T2^77$@(g\adMVa/NOs!??G->q46%7-IiiF%ofj*CKNSbR:& +ob[1/iQSBm2g!42U1OIfC#+shp1+3Eo]%Eg]g$p!i]sAnm]k:Oc<_oE5781.>Jsj6 +R)n8n&@*maFRDO@Nceg'NK)Zh4K(-Drb5==*&uf8$LUqAeQ*R[g>+#S]bU3(RCgqF +<.*od,C-MuFHKR>ZI*)rmXdd`,6("Pe3/PP4qN%\#kZ)*]71pqDq-T>7)u\b0EWa: +%"#TkUY%!nf6Np9flUR;(SkZp;"g&>@B'9O;WFc%dZ[d0lfN"('8OQ/W2;gAMGIk) +?q:_\5Fnt6?[#"#X(`f%\6-=ijnj\1`kM`,:2aobU6^7g4iZbBh7ZgWoi*PSdLYq1 +_"2b<A>]Qp)nT!7&rM001VCS4CjT\fRGK7'>*S9Tgic[uRIdm7s27Q>C;ZKF=]PmQ +3f3U`4cOrjptBpdA#PFH-fr2<lU/cCIbjiV!e9L7.k:WeXf+)fq+tWb]d8_*(*\3r +_f)l,Bc@mgK2rIkYT.IE@J<\`IX#KG*(mpa?B'TSSD-0s6=cpjcif9jSu%Dt3!^"c +;O8EO;3(/>P6hW@^sOr7p7F20,5:g+SLZd;!<39(pgC2@MVr47b$97llcd/XfQ]YH +)MdeH.Bb0+HMW-bnNn:Q;Nf,:g)+E]b;To1U65<gAY6;*Ij-[<L%/`I`T5NmeH:bG +PUP&bd$Ip!H4=c?Do-V^%PB9p-@X8>Vlh3iC^[N[JQEK>@lS@4hD^L`IG"fF0<S4& +aF2-R4ki^`Oa8I.F&P-W&jM*J[F2OM;K?.>R+)jd0V^/jB%_'Ql1+\Xk%;sg1us[< +Fq"PZi6oeuhXABu=Uhba+D$`WF*[:r=l$soc&(M[6B^k_1DSU:nn]]./e\\G&k@!Y +Qoft\&7.1aX8ng9DiWk>SiT].)S/R[9[46#lGQT"c"J"-Y.NU+R#+ojo0d0@,hH[: +A]lSEk:UerH`)7d1:2"oWUIlAheY'NS!7:0W(Y;"#o4JN53rZX##i1oKTZ-q9c4Os +f"52kD?,"n=m:0m?pBR]dlb:&'V)6\@IMVQ/*F1mVH!F8gBHJjG&EgTC`NmD6DVHI +P%/[@DnRJZ,XH^]VJh%%I&o8ISVsMj^DZ]dHKODR!WKKA]c"'j-S&;)fLFdaaUT32 +QU2?=9aR;%>oj$0<,Qnobs3_!!M1C`C9H\Mpt2L5g]1aU(G\K?@Cg^d5cmrq6k4H8 +j2L0V@U?[s&+mCCN2ro/+VhE'h`KY\TA:7=kVL\R9.9[)9dt?@<S,d?-S^.Q!on': +77det.aVMO1[D-ai,FhKjI%n1P^kRf'%W+fQI^HPbIOf-IgpSn"[S3a3;B$XQ]Uso +48glOc$'AP>ep<q-.6KJ9_)mXetW_C@a'rT%)2(g'm:Y1`)W\2SSpG-P6sT7-Xt^S +(I)ObPniA`Of>9#PCUFTNGp;$AAbD&RMsC=rEX)SQ#nui#saqFjqQTG6JG8kS<hjL +2SW+>8$ob^C[m25jQ"<]A892Z+S'Y2I<r]Pj?)i:?A$pBesVVC#;1S!#p?3r)C86t +O;3Pq-X$Zq.A.&K`hS"2Gl`U`G&+IASaA7a\F<MMUiB7GA$`]u\q#\&:,,:pljW]% +>([1o7_bgaHF&BMY.@4t1qtZ&?\g.1(q"MmB8dXF6SUOiN@ruq"[[9qr!Z(2Y87BN +XJ,E%ajWmfPQ$/E[;E+tJ3[=uj7.5\GQ*Wo_un)q#gFKa,R9I"(3)5\(F5#mK;NE` +k4N_%$U-f"8X/VQ*g#r[)77YZ+*#XFf&qR=4Le\AkNI=<O5d\LZG'W$<k/a<R\H-@ +Y-0.`iIXdNkmSc+lf@dofiAKr=kF[5Kba.Wi_->YfC$J1ri@aCPDP_-G!^45ST0bR +ZA7ct9`_]tE^G7gA=PI4(\,Oq,rV4\Y8"iFZ@<!O?An$.CQ0*C-8L=>#C)Urq?R`. +m"Sf/Lgk^QhNYjZ34@TSVktL=H$`#hB=>W0fk[Z`@5eCQX@g;X^Xu&a8El^Ja>`YE +[#e=AH@1$7.O%2F'=[K7^'&WAAM`damj&TV[M$'u[)3(Ig"N%cCKB,A4#rTlee/nP +fld<M/Adgp:nq7AfVQ`X018W@Ed$'YP\0hR_hq:5:9aP_=d0>qipS5fS$Pm.>q3l< +5=OEc4k]1nX]_$[Ga'd;XA;>.B3.u+[<b6dXeV`C-SnYJ"euUQ@MQqr)1#AhY5fe< +TRteGBT<^:Z%WgXb@$U%l!8o2m%t()JZ)X`/+hQd$j0'J:TeIqV,oZ^.g%]bB!pTD +Z><b^_'!iThM-4A8f\>0qD]`=R65.5\Go^T<-U8)E\h""e[1fc(Vf#YlU<DR'6'Q" +#[;e<_mJKMWZ2%Q7C>5H5=3tY+_Mkt=NJTOIZ/O'G+cIRUZPCrB%")[B])^8$/%-r +]q?qDksnl>h4Wc>qNmB[><[*7NAR&<7H#`pUadMOaDNUO8gY+oMk)L\)ia=)f%mjE +NrU?hQN,;aA-EE2ZG]J_mBs5KKun!"ro=n^p&N,Jl]82i$Pp7;8_e):5NY5=@K#J> +n(!J,1G"43Zi%EfX1];HrHri%X-n^ILisHNnuTD`kX\T$QU2NM6]bL?q+-!&NNq61 +Yc)D1Ck0?N!d-tM;0Nb-D<:k'18'=^X<%Gi/0$h(PBDo:Zt'!m/XR+nKX]_mi%7eo +OlB57nhg:'&tnc.^Me59.NTGlA!5f5R#<b]8CP4DA\[#53+U:=g.(i*"h^G,q)p"p +8]N!?*W9?%Ni1Pn`%cW:.o*j,P3S@9V@/E,"'0t-O*.,L40f=e[hKsLPKXSo_XC-2 +=+K3r[bH09\UM!7YPGRirHOfq']B@g(IHQJE'>W./b+gi3K%M!bQ;HKd,QEO`<:sN +.[lp6W,$3)r8-o,/:0%)LnFKBRVcUNe#LfcUE'<RI_'g>54GCX/s/@-H;k9ShbBYg +mC-@f(r,8<YOe-(8,0DFeV;:L+p`&Vf8%&)-BS-`chbO?bnBbLQZn"bDO:,j55>q' +^k'(Z,e1r`GC52+]jpf\3P1oP,FN<EaN(imZOgWp_T]"$k!+#=k35]u^Z!.**PT<M +ifc;*7WHP%@#c:I+=*qD%fj2.8F"\bnQGp(Wi*=i#0@qZ%bC3t7Okn7N-D+;A<Ooo +Sr;`;Ca^%;`<WL8(J@sPeo>")%IKG0bpgDK`<NqJ"-d@Khb6#@f#GV0&c/oGhi1/@ +!<39(pe_`t*:&U.^f'q8"UV6=X`I^,be?\%juMf2R+h/'.T]Z#3=M%.TsWg?=G#5n +K<pDF%0u5G+BHpZ+NqF$ZZU*aI\/V&Q6.1g"7&5<J=Z0_(pc/XL9r_t-rtq1qe^p5 +,C!j'5n\t]7EVV_2*nX$$=KP4RYhTYMjjL)`TiW.:X6oZ((s&J05)#%R`>;A@_StT +DG&Ts7CDl62>u%oE>6'YLrP0jerKuU'iR@q?%Z5.4H1iF#JHAdP.uPef[rFlbGIlD +UmfUJf2nIRf[26Bqb(EYYk,p@-44!D>a0r(6\b!:WLH$>DW=2Cod:ND5[AoSqbSSL +*%YtYLl_Y)$R_Ao(!']bNn5-f,9sm1qT1WHJ\%l`-@oZYqJHsR8]:4R-4li431):7 +:+18^"k4^>4r>$*EL&@b&t3460!V-?F^/bo\FDAijmM/qGt?i:)&jGVm>i'+XOunM +`B+.Rrbp;bBK7a%_K3gl+'ohtFnu!qPe)4]#ET4g)/%5&<,TU+&(U9c[GRPMI>$;j +PL<i[;Ugab**\:DR-gFp^4H?)[:"hC\Vhq#rf:E)MOfNT2&s1ZH"-hYD]M@!VdH2/ +.M^NjfU]YLXB7(Tm(6j;DHt4!`:$fDs&"or&u!n$LL'YKIh*niEq/nJq_iE_s5s," +7#:&#qg,XbfA!MH<)Vs8!nJ,?gd24Zq7".pr\>orPXRqX#kSFgO0;plCh3UA-m#og +P2Q&2H``gL95`_::ZJ8>=;fR_6Kko\U6RjKDRX].+Ch8h[9=]=]#H+B0'r#kFPtIe +c#MDDH$5nl\,=#(-"lJ^,7tuiQ_]%9$n6'HBhhfTpi9:'p_R%i/L^Vmh405\']4C, +G(t'<D*KCL0/U35g4S(Y\ih5P747s9fK,(-L-6hXgIcMpVV^B6Nk/:@f2KX`*GCAR +2A6V5eFJ$>\`&DT.tp4uP7o='PH0D/\Znj@\FI>Qpjb1Q)Roe*5#s%;Q`(]q1Isea +OfSK__ld3sOIpcq^!PJGBD&t,%CeGJCI>*(0O:$&Sh,(e2W[2[/,:LtlkPZ=DiR*P +;oalK6<k1$^:c/:agR.Dm&+&P0ogl?,aNFfrlihW;%)FkT0tBMV-m)'QlQr,31oB1 +5rA+V`22J+ZC)^-fPU47A97=L!Oj!h4B56sh7%MsZS=Q$"J_or\u)J80Df,1>8MVL +s1(e6YL'<:H5;Bu1,PI`q82^&FH)5jq/$ka)Zg)7Zo#=Ql9!Z$DrjcbL9<i,Y_B"N +&0k#,peE'Q'HeaUnC3sq['I@'L3.*)k?^a'I",G/!8JT7Jt.JTh6RhW2;L=S^ee5g +`C68M$)<1RLD"pY^2TUHgq[bc5,V+p?$2g5Aa!IWXl4Hbo"&1h[FGZLr]%Np#Nq3( +PVB%lm3)i4?hd!D)Uf-;;@[NF0+%jF[V8Pa>3*D'7M30"/+24+q?-e/do^mnY+GVI +G>C0,jY"J6+!3l7\N=&1'bL4VD+r"!*K5of8]*,`>i@/.gr.DG.j\&q%dr=/L-MDl +-d44UIiZ"Fm/,:5G_8<VEA:t)F:s^bKKPul5_OG^<b+F1FVO$u73kNh>`==aidah* +IChgiGI\pY2)QmT>6,EIlpP^6W4.:BOV0&s)Dj)0N@X,S@1=D'mG]#-j-=Ld)lS9h +;gmYD0u^`s!0>X*>S-!DM>"d7b'@im\88Nh5%?W=:tahnL(kZ,1p79bHW!]\=laq$ +]I&u%cjuHsPXXf!EGt9_"E%]%T)>DHFk=FU]`WGXECDZ_no/M'!oXZb?4\lECGc`N +'"C>sRR2(K#=X3kpJQi0&mg_?'l,#?Qo,,2+kle?PNB5K>:[ke&(r'*^4%Dq&T!$R +=jEkZ6580&[^OA`3Z)K'l9?7^:KL8dKM$0W02g0n<22,,%=o=k<YqepG1?im=>7&p +Z^iDc;^8MSZ]_m*:gP)JBUKmq-7BP&iM.$R>B-0>!b/KD?kPeQ^4n#t*:e=Q+D6D\ +`!:*P?WN$r#=a,tD)?^)>Sq]gOTZAFipBf2<uk?tDQN9eoNQC::O-<qm%*.O@%;Su +%2MnE5Hk3n+He=Hr3sVW!(^CheR`ffUdtl0EoNWSP;`J0\,4]%!PLjBBgX@d(C!/N +j;_AjQUd:HWS+OiHA2-Qk_S>'-ck]VY1"O<&dd+bQ)QuS?J?9k)*[8=GL\BJ3rk[2 +LfF\2(n]g#Y8JRIq:;YI>6%Ej\+EKomA=`9+9fNMH&'$fddREC'SK`PU9l\,O4uI4 +9dB)eK?b@Li?FA'nX=SWplt"hqS9g6bH8+B6H(]u"b6%^#DQO,psZ,PHVT'1a8fdb +i;%Y+D6<2<Z"=6SF0LP/VVOf.0sc-V#)+@8-#gJZomg0]#jT64?F60;K7c6Rf$*TM +e-7P_3WlI65i:F,f_6qRIXkP.)XrX\L;I8u.F7&Q'&_'8b1r%C77rU(hQg?.A?qHQ +THG"i`n-t]FWK;d'id^f*j%'olZ30,BGGr0O7jZ2pkB"g)k<&"X-lG(p6*Un/o4TR +7>f^d(NPAdM>TWTE`0hL#(()#DY!CW9/M59aaNs/^Wh]OJ:9jPd1G\%Qah8=g`quq +[aA8Ll6_S)iYh1XcjaLJ0&"P#$Z%(=!!*B)pP="8gM&@*o-mRXrXs:/d#J@.Fj27L +\]us-iRPO/%S=,6e[TVgG]9s'D3`C,iO6NVWK0cQ#u2%R9Re<_leqMsV`qSkHm/L. +=hiFd_`pp^;p+7[Ehkt8fOqJKHC$'kdsH-#^"LeEQo6'@nK8%kH[;ron8+QD0(3mk +B73kdjY"$uH"iVhMr^D-Q$h2Bo3Vj6"t/FWGYK]&joab^_[;CW^$J;roOmQ>/Q-&7 +bq>N-=q2\aRQo?D]@gqDGf'Orfp#5GG_8#VGkSMR5Xl4q\#52@C:6I,4qbHTCXDX, +$#.n:]jQjTQscV3NTO&MdTAQiaIa<!3iELS?E2G:B"&9/E@`PVD:%Jf4d5mC8F;Yh +GK0$.O4LLI<cioio$RR"W?E,ObNJ1Sfg/2B>a67EH`&)6o*B4n^tjk4fY#1Se+[Q_ +i"adtfcKm`ZHWp<?(!R%)P#.&O/`Smk1uBrL8mVgTbG[4h32Zdk)-uMCmQ:SeA]om +iYKaKji+Ef@+YH5QjD9]LN6:Kl"V31PFA>JqS*`e5;ALSO:Xa^;3D]Q%'JFPL30DJ +f$SYYXbEB8ae;Jg#^DX^V!t'<>k%RJIDi=05Egs@I-?hiUl!NYOMA%L:D<H,!1"_q +Tt?&l('RT4pk)dmOQgtLc\/:D-b;HBakDa]mbD)h/[q_)NO^Q@gqKcQW&jX0TWteA +4s"lP!P9f/"NEK$WN\+?"=;V]UJUdH)R\gt)bVR+9<F`)b5!$X:r2VDR]KGa'3.XM +p4`8J?N02kiTt'57^Su)TY4c#4%\-a.fT328dF9O4G83VZX;q"AEH>/0i5uiNMt5I +Q]3@#E&dO0FfH:C%%de@E^'LOi:]UUfMb'<p6("mku4U3$(mZK1hA,4RY5/H7L:SR +aZsAsNg]`mR\eC=\F)B_m`D>E;%dQZk3Ic_A5uV1SCCR98S;P%N^\j;TKL.<#@G[. +4iW"rlLasfH,Uc*]+U9(DgItul(RObYu=?..q`pZI_l0KKUYns9oG^4$;1RoC0q'P +FeP0b@`"'SR\/<$+i2+g3d%I4<\SPY3pO7sZC6);OuaeNV>)o+Sr:3)a8u*J.u:T[ +C>)=t1Gk;l\tIf^D@kOfs"Y-[h5$V,-FC#/2N&mXA2I_Cl&c-)g[=+QG4d>3f_30Q +U%(^k_2Uj"+VN3Y:h:'73g^F2<bn1TXMr.FSL[ohV0JuSRkB(M;uac3Dld9c`_;E@ +@$,;FdrHZVT[jc",iqe)@39b1[/)BtR+Obk2WR$B=BZsL**8\=DQl:NgZ^Ioo>Q=o +DrGZfW[V>^='g]]e@jsf@qI<m1NRQSA3nI^TN,Ud_0lj#Te]48$k)QlY1b?YEt[)f +D>d7#!(B'c?AF.:9LHO\#-WeU_laFdYQt+*451uh9RPpZUI4(e'flhq]j9e!,oOUP +O=2N(g"XB4aYRVcn'_sI#[2`<#J:gMS5[be-CH_h&;fsubQIYSmPa2abTC-\(mq9n ++V',-0?Q><>5gsODhp=XB8Q,9Ht14i1>kak,)J7u!i/4Q#@YQpkR#>Zr;.kZK,\3K +'Sh$)rZ:M8oY6`8NR35m7n?S^K@k3O<j7q?@73GX+7\RCK(?jRgUAD$jl>Gt6'/8H +d^HHAm?JMlc.2pZiG"khV%LIS]JD\/s3a3mZMQMAZ2>SChkLZ_c7$5NX.=eIleG7j +l0B6P&s\%?&]=De7*`ud.31INbi/JG04CQ?,K'"e5uC2.ik=slGpJg4'p\Tt)"fm5 +[Z;sM4X^;:5=4=+gS`^*5L.Aj[r:?n[kgZs#K]kX*-iJ)^,H\,PX=q7G'[%C?UXK% +8E/1lleYu@*5$/]Pu"bi-q.]$D3$pL%Y*IhW1U+[;%nA!g4e+s<X/DgiM6"ST46mi +&U#7@VlJ$+*,ReYcf[61O+[<]]o.?/ODn"]Nt/B,2I""`S"pW%JT(#TMR$AOdW6eU +]"auSS2**\kI3W=ZOiSYOfo$^.c?q0].`Ur)@X(!)=52Eh+(Mh1KtTeF=aODEWU2W +RXSoBkTQ"UQL>H0Rkg5mAg,+=nK:Ng3fUhba>u*VHJ%mZZeaJ8>!\r9^Yq*k3R\mn +G7O]Tk0oWpPfbj=/`ej,f\JJ-#6"bP%S.*';@-TV4%t%0Y5Og>;hP!o<(<M1<BLLB +:YhFS)$k)@6<J/t>&QJ)*@a-Vo'sB\/WR/9'S_8/`-\)rYNp@h]fE,A=ZsJ;C=o8u +*HE]U&!iGSVFggur>fiMk2qdMN+d5*cQVAJ$eMOLG>SJrN[TVe,u`7*2ggk%&jK$_ +I<AG3<WYKHA6Y,TCIH+r,2j<XX>,hSEnq;V2GRp0CS=-&"mdLM(`AL=:RRY4(#\C@ +\]^6-XecRfIp:@#*oLg]&GPnB/LkE4(lnbZdUh+c%T=>?#Fp:sGp$?8jF5bg9-3sr +G2g6AjB18rW?iq:B#)/se"`fnf1mh`J_H.2Ks4_7m)&-&M8U*Zom/`q7oNI)+G?\> +rF\IW,%b`;\heFD2J?,o?4$4NW9F>nH,44)&s"'ZY)&43Qp:LMLeUW71501EFbuD7 +Ug+=^.-lqN]$uBt(eFYN/):hjNdu1)Lu6+mi(Se2S@aHSLdtI1PebZEqOR$"YU0>N +#laRl.Fe]H]n`/)$\$(tn([oe24hb.aPY=2Cff"(/a3"eDXH]6j4U%HRmjnr5kc@q +>3ck4s/:H/=j\</D!.(-"=n^Hq7L(1]I?fcE!'p9XiP5Y>7OfbR(;9h^U1S;73cjb +Q6HjrRonZIai'.Z&,cm;'R]VWA$5-O?PJ*6W%=`=.f]60e'f@':!,[YZtOuMU]rH= +q!rps5qg-:I;!kKJ8XP5`+DI)@q5"ue6nHuj4>=A9jo9aTHrr+BUr.@4@MC7qg.*n +-<K&/I?$"*p=#JlIW-6@nVh1a4e5f#C0-ako`.hni:M<Udb%OmL%LP0JlX,E"\qG[ +'N_8ZcaY[VEp"Dd@'N>TF$F<W>+8#9nP%iD+uc,m%=8fXbC`e+3Q'(gc\>fV_0KU^ ++>.H<_e>8ecjM):^iudDmNp]&)VK%;C*cd;A5fOWkqsAU-Z%4SfJ!+RFA"!A7.sg; +p+_4lZHq!>"?n*qm#Vo.%!^QNKQn"#K6GWDXTjGV=UmBml<EsaLQdgZU<n[%.i8TJ +R-8X^H5>ZBAZ=K"87tadRKX!\j>U=uFbZ']C`&("CUnOcOK/G#g`=5D#pPJJ#PGc6 +!'>24/.JK;L$b4%[&aJU_*^#)OY@'+I,c3(Z;aoMoLhWAcM6L9m1^g2.A/$p161/H +G<X%AT"``3G;H&H&EVV_PBf%$!1RH%*R1JlQ0h%m[L!s%7g]RIg:?sDkKi#Moe=EQ +Ik0e"^etWE`f7bZ-9tbGB#)ZPZ+;B^T?fZh0V>!H@U-0c8a1L>eHW8d96lDgH94jb +?&8XTXr$I>b-;FojMS+@Z!jh6]<LQ4&05M@'^@P5>e9:^6K$O4C-U4_X!7%li@jeI +mQBdB:l@?dK[B?bG@U/[NsANYEr1+(LON+Sq!8%?jQeE5Ol)j"MJ,t_At9L6XV]Tl +Qm"prZ2i3]^PES^16`tm??cquMiO)CV\pGWY/1]tKnVeMAF-!sMqn=MP9F*AAaEJ3 +Csn'+1KrtF7D.t^;(dl(l?4OObZR_FY1_T]]L5pG*d-1((=Abt4s(2u1R:r4/^i@W +C'ITk?GEK.Y>nOD+AQ=tlH=V[A<""q%##dC;:QqN9.\FaebP\fr,LN"cJ"8OGkiFS +hSd\kO;4[?1niQ__MoMoo^B;#AhrOf-Sf(2"+3]p!5Q,sT[j!jhA=-70a7?ePc?(* +-'2hd19)m'h)N=NOE4g;>_ZpjE<(HXaZOqbCYsg.5pTo)Ao0Na5M6YYUd%!bUt56^ +j$f/oDaQ@)Ad6>SJ?rNCF22-k+fHu#FXddGm=H(eWn2Z(3X)?r`lSp./ieSI^(IGd +P8mtBaAbC6UKYB9HG7ts%U$C[C9:Wq]f^0^i&(3\noIW8mg@r)E=26$!a?+W`]G]u +ddSe]atKk@(9R9e+Po";:@_5m]6jdT)+8`k[pF:rLu2)7o"`g\Ea6HMfNoB7d2W:/ +j+L)\@/jm$q;r'3p<PgD%2JqDXWDrUY:/dHU*.dDe=^V5XTJD2)``d54%MneIX!Qq +U+:jsq_aIlQ0IcnLER@4DNq2JoP>:CQdhK0QcO$fHLn@`Q,d^6r%7Qd]5#fRlc6A' +^.1p!W;)PNYO>G3DVWu;l;$Rf'c_9Nk<sJqW%mT2#PeQH`+cYo6M4CNo5V;A0hOKI +EET6i6H4B)=n_.;n$KGd%a@2bk_rU5%RH-:D*K:aDn`!MSZWtVh7(-"bhpT+=k)WQ +/L,b0'mX]#(#bi'Jm$cX&JT.)'$u63MRHl+C61pj-=hOFV-tj+9W;#t*2!jM;Vq/p +`VboVjXHVL.O@fF9(*38(eFY8<![*&aP&%&naH`4Pe==s0q?[.X"0OuKpNk7.-su4 +(`o1XL:3$f2Hc!>(Cc%TFcQ]jfcmWUno.u`VJ#;Rf#_2uo,gJ7RCt/HpB=$+dgeJC +CsbcA?BsDccVR..,tET/mZ4(4l(PYjH%$U+7O`UoYgBP9T1`Ar^bHmOh+X=SQ2/)B +OZ^8Mi$M%q`BuXc:kGasG6-FFC2O-0Gp-e#UU4[4"P4+)i;0>/nV)t,e\1o@cDib2 +^jIQIk3-N'r*<eX"M)=Y`3@rl7)Skb[QLp%Ho'\EE4c?r55>/G9mkLGV>F'03kWi@ +D33p>KF&)1m:([L+q;A+fBqRlMO(P&5\]U^n_1fhQDnVlTU+smdaDk<RU=RLA,)RI +BKeolW-CcR]kIk;>d_sWh\&LEJ7*PcEUe#X)uWU-ct;LQ[0e"C(m8U>mQgd4C:aBh +J%:-iqBJjTOG_%T&_i\RY4+q57d!(Pi]Hn"*bZd3:'=F1M9IL^3feC0n+&>]\,iDl +1?@pITbDmFpGcWe<YJhUWhmQFpD_.T8P$>XTn6Cn/lj<T?jH^8h8r4ZUL6]6nt(>- +ig9[Ogj;P7k7@Qb_a@+Vs5j'ua$Xa8lU9;-2<"EkiI%fK]"tpCoIPJGJW[W<O0XV' +/a:]2bHF6>i1H37dStkU)=Vq^Y$,[teg0&^7S;5,0*r"/SmL%o42!>s=A,=H_[WtY ++&rkQFoF%.g0j@C@fGnqDFPfF(H!<nA>sTF8#@%hU)o1&'Aq,^iISG;S-CB,&R4sU +3asA(m?iO'gF0Q((Z39pN^e!kR]S*3!!*B)pTIYOY[t90$*Sp<d=_S*dS(P!^b0D_ +.foJm+O0*[aX3P-MKmQ[L,&r6#pKqP>'9L1#j!-ecDHpjP@]u*\`7Rc7DB9iLEOKS +Cl08->Eg"*AaI7mGRgp[m&6&DGh&t!:=>HSLlCqKQ9Actj'0nc0b)%\%kda(l#D45 +<CA)aH,73e'+7t?LR,0Wq7s2kZd7u40!*X?IM!1*4reNj7.+K!X)?iL?jpAWqB+in +*Jk%mNn0RW4+K#mTdSM.blK!(NthWH>Ol+&gXT(C,`bF.PVjh.3]bl&M_9V'*0<(l +O;tfg?)NJJB7#AJ!0&j_9lUR8-@[u2.&O,\K]'c,-2`)0ZTR_jf!j2a/9t(d0iE_k +FI`i3d80H!RhhOa+q$CESN[o50-l3nn3^?1;_2P[s+n-)Q>JN$$i`@#$B<jl.fcn> +#-.NRJ^KkcYHrD\Q(G,Kbs<Og1LV,cA2Y:$QH5N5fCFEj]0ZR&Z6;3qgF:3ki'E+f +H5hq'e6O$5U:]U]Elp4\#nGuX_OWO'4>HS3='UZ#?:R_'<XP5)Yt$_3>.DtF=U8%F +%D.)M[F,VEIa\-<e!"u?'B<`r'@r0]CM+4>;WB#?LG(>(IB-*sA9j1KLL^eKE6pLH +V_L8@Y(O>ZSMC-;olUi#GA-4l_k1YUp0pP!3B]:HNkM._k/`W1Du!Q43Z`.l9<tO( +Q/dQ9i'`>jqPXX2`jX7#?;ja:*)GbpHo#7BN2,:#&_IK[<YWN>&03@1cAtAY=1":3 ++6mTd](TEQDnmO6[Lc)4]:RZA/aFl>`rfqKpp9@(+#YT+9U5#,W0+%D'Ea,B`<V<U +H_=VBgkVbQ+2E1`N89N;oZ12AGRT!`="n-lV&;`PLBF>S^6[^ZeoE&n%r><`%pV,a +?]=6*ad$ptHke#VlOcRj&9ZC([[]kHk4YN1$D>3^%=*noMVhT#Gt"k[8U-_!$$gr$ +W.p%c<,f'pq$#)SmJB5aa>C(ZSMVZg2b8DO%rERfRKG2@>4[ei\OAki8nrsQ>otOB +.f_9^gq^'KGoY:=oneMW@JjrNJ4"M'""^T>ZS:no:[MGb3lfl9SfA?+0B!AXPi1Hc +_ln(ROo0:H59JW(Z"-ZS"39h;ODhfuZS>t0<n3+)<,8\L^"32L?7.9[2Q-FggnZ+A +oXa8;+f;;tU3E"Al@=kkjK9.0c`B:D;.L^p1!RT(LH&e!^<WXffbY2@ajN]]Iqp9_ +`eXNmpX]?BW-I.>IND.(+a.W.FgF+O3DP+NK?o$?Loq^Qbt'1,Y(RmTZeX?X.<;W% +qkpkucR\B_lPhFL9Kb)hg)]H;3./\Y`TG/bd#bNbAg(lVYe1&E_37&&]0_:r(SW2N +j=+c&*O.B-6P4qq5c0Q8.je,,%KWeL)(4r>`e_0,s7N!`"IC50<)aV<`klkJ9j1En +!XmSq</>%<2*VK(keKG7X3d^8hhNX!b+6WFL"ChO[up9,1,FU?,K9Pn4@QH3+$i\' +T)JipSUfM_U:WqP%t%gb;k.^e>l1%E4I)hj<YU"R<r=&lpLQ;e`"(c.R#%q3)!egG +PJ*4d;e9kJahjFQBUNq8M?:EbM[3esJ'bD:6fQtTV[2_H.C^4h+3;HjcJ;S9@85i@ +,b;3f>oX<@CRL7bpKWAfAdUlndq6Tsd]FN;IW[W3h*5L"/XQLEf(j&s0pT&B[ZqAu +C8K(/Mf2,>DVb<-nFYb9F-X]0Mi*>9bd(>HFD>RO_@8Oc(3!2&,s`=V%P3[9/CoLh +bKRWjoM1Sr-OiR8W+\l2;Y87-29m`'^h+)CEI$5CB;YJPD:!32V[>e1j^<V;kl^Fj +1DX=fDkQ'OVoS2r$o[q<Nn-n#ofWEM$\0V1d-$3>.hhTB)-LKX^.Ob>P3fD3Kg6\I +A\UG-_6P3@?b4(77p>GpHUPam*dZK'al\AKQXdM>*q7c1-!i<//\j$[a,o7*b8?W_ +*+tKTdjT$&U##<!<bb:'LLV^sCEHnB\N(V,r7/e^RfF?..7WB*=3>!dnTRWKL3_7H +^qN;+Jq7h?_UpW&k1s[q+)t/`2)J=>N9ol[Y2r3o+`;FK3,Ck'"J[*5Y%/Xhk\188 +p+OG?i5ZeeEfBVXrC>P:Gqej6[_0G>fE@PKH.bDVCtYJfs&FQS<m4J6YoH88M/m/- +-+"OY[ccK8On)c`I<I:dCP']c65@?W-#3Jk:)m[Y"]D0_aY.9@DF/uBpQTP\$\r09 +-O]1SHR[5mqZt"=)cG$Q.o],o!AR`0a09DDU##+U!l\]!HItiVifsK74@JY:o6WrD +II/JiRo8(Glh^q$7BEUi^VJ2>&(F9\>l]k"li-5E_J+m9El@iA0UP3M1&oedbtK8^ +!>RhUGMHE/Y9XE!<;V@6)&fYWp2NOIJ=XJo,IoON_^fF8aHf.-Mmmbk(S.qL8M-2P +!IJA0Rsp12/#_`*In\r%^YV$;@M`c>ZBsJo<J0#Z.g(!g=PkIU+rY[qrHJCfQYiN; +):".l3bFV`f71T[V3t+I[:l7>"5RT%\d;khNe9AZ%UMu.cp$[0bY%^aFmMo+8T`Yf +JNT(Ne9>-%WdR+E@c=VdN2\Of!FtJ\gWSqG35l,H"G#g?c;6<.lu/h3lW\\r+D1Zm +!p0@lBh2sP*!F;\^Y`hcZQ^5m2,bCf]Xi.'1[Zpa&]hbT"ChID7W!;QooCAB0Mt68 +(tqc?N$B,;E&/Ol_End0?;8k`7-ND)1VMW/h'3i;R&gNT1[''p]N$l[d=HelacET3 +&3Z`s?cVA1NiUcK+WJCM9Vf2fDG%>%5bminXNdg#f+'b7;>J6?])rHl>H>aDOPT%$ +h&ai#8aV=1Hj$6]3?>9MK]Z/>6o$`80T^YXg%Wt'$bHIe*%AFd;]668VpKhWfqU3c +iR+@(g&)n^G.aU&-aIfj]ORJ?6&HlO'M:e=s+sUA6bIp4Fr6e\BG0_7fN(tsD8n/2 +9;1H5DXJT@'p]r(Gr%$[:%po/;G;aZRlJ#V89'Dh4rW4jVj^5I,o?!aX/[P`P7rVG +HGqa4j8S*op1+h-jlSII)Y,t9"5YIX3HLrm62QcUhRQ'G1VRW2.<(5,/c.ra(u6n+ +rJ:_:iNZ]'p@c$[KOI*op2S;kI"=Z,M'AhKF&'F(pq7J([Ck4OZ8csZ3nNY)a<T1` +1`efcH:u;5q-<lV]m>ld!Qtb41LpEAbER2U^,`fIf^[jVIa-YGp3#7ja@GJ'0QJAL +#JkepeS6&H;h0l<?NtSiH*8M$hGQn3gQAcjX*!2&/CPP0U.dqq<,7K(Yl@Z2]4.g` +J3.eDA!k+`M[^hsfj4X@Ru,1%klM7n]M'%]~> +endstream +endobj +106 0 obj +<< +/Type /FontDescriptor +/Ascent 753 +/CapHeight 685 +/Descent -269 +/Flags 32 +/FontBBox [-78 -271 1000 919] +/FontName /BNDFIG+Optima +/ItalicAngle 0 +/StemV 74 +/XHeight 473 +/CharSet (/two/three/four/five/six/seven/eight/nine/zero/one) +/FontFile 107 0 R +>> +endobj +107 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 16877 +/Length1 724 +/Length2 12736 +/Length3 0 +>> +stream +8;UkT#rkn2+/U[4Q@os?1Sg+@#%PijN$c0V7A7`F_-uKM1c+h_].DR*F<a@gM2t3m +;Ne=SiS#MLLhj[:;-d)Un*>>GoDG3Os1Rmu47E4J*GHdZ#."SaF:a)A.%iEu!t-=n +hW1%MSHVlI!/;Gf%$2VF$ZH.&+IHAQMetbUJq2k\'$6dsY`3PF!\di<mB_?EbngXN +WMotJ,rH*]6)2hX#"BgC@":X#%Arq!9/S*&(m$Ci#-EDF@fZ/PoDQqu-b:$)qXuB1 +^Nr$/8cpb>gP3gVo^AZj5mA!s_19blYg%_KZ9Jf)TWoUP#fmk2k^Er]c(,$ZOCSBN +L,r@aX/^TM)I$2D"6bq_/g,,UO3%I&9E5TeBFHq]6"GOW"ap^]Yh@G\!?7+,1;#Pm +hsu>c!"iTnLh)T>A9\/4=255rBroPeTMC$,149gd#a6!;$io!\1VI%\&/cZI+HWSl +ZWiq9L%9?i1>c]ud&9A-s&_Z=7.L.mhTlTmMb&CiqQLq#7u.]i#Pis^.u6W7#@**" +-Fhm@KukHi!l:NEN<ukuU-rkdnL':R%Zrk^ON@X0h]P""43VUI^\/(l9^p(uoY]>t +"N'5:MXb;UA-d>\:9c]5+Yq,')I"o;MnoC%f%1p\9"pp'U!7A'TJ&jqL.S+AY2N(8 +qUou!r%g^)qB4@:%^O9WjhQc"YNH)k9DQPlG%%Q@A'sc%(A[m69MEjKoR98VXE.`b +Dr:>j\,;<WH7SoVI"+663iJ](3Qa;3iJ+S^\=Jhbp)g,^kfMO.[-^:bBB4M$on;Zt +`_As$U2/Ym66S-`bRCr!B#<Jd)TP//gXAOcOi;7u$KCdmoD0Ko678)2l)Ie'-]_$: +Hd?T'-o6pdUt`8!R![&[r)RYW-\3@_)<ehlZPUFE]oau]f3;lj(^:/KYEfT3OfI"K +Qh]!tH(VQ[1mqAMr\6BPQ+,2(INqC<?QsuLLMl#e58TfqOBu,b,U0tqWe!%&0t&9K +@u$_BhW8"e)F:'d=,j#MSCZ5bVZn$&"F,EZkScia?G%ng,6*<LNLV.;9qSZd]ue+. +=Ii8;IXb)&YGNGf]V-@4Sq["3f:9.,='q1sVR9%RLS(F3$]Fr4O=ZUe=iquZP'??# +`KI!1aGT3l*b'7KU.Dpf[B-^F)4ME!:gDL-F(e'<b_oN5N.TBtq#$0HbGrOu`grRK +_U$1.T!f5(\`<KBr>4jf5OgPi9E(+'WHjni58Onsn3:FUV,Pps\J_C;97^N)47C7Q +M:JkfQ([fnWF.gUfs-==m8>TA*)_.1ae,VZKN^:>\iE!n9>,f0_5Y2L_"II$,V/!, +b*UD1n3KW!D.L_4b=rK4(m]DpF>"ij%5CeWYsC?\5CDKXJ?j?+Om2)g>J$NZAi.I5 +4P9TTO;]m`^jdJI0.'?m_4,ZH`E]IiTfj8;#.f(A1Q3A9@gY$F1Js\V8<<Esl^sIa +2p[ec^:?>7g9K;,'l<FqB9'Z\cUJX62!3./@BJ@H&b8IpaBWCtJjtEuZfJa;PcWl[ +j>CrWjRD/[Y3EC"o>)ILRHLo3-&%Ck+L!6S0%kojj&A[Uj30!n]4%P.[]$*O9$)Pq +rC(dMpDp[+(8&HR%ur6UNZ6?XcA\2"gX0j^c:C*7:i;fP@i*%BRL94e]kjgS;>CNR +mjU^Ko/\lcfcr!Rc(juoe[ZhscIn-2VFOn1)0=pHD=Y-l7N],ZAe]/DP]Umd.4prj +UPA?:E#/%&_NLm`/3CLYaG>9a1VGtV3CS^0/Y3*3*=o,:#YA1C+0k8B+RCp,2XJ/p +V.JnfV;[eG22G0jo2JOI3L/C:QPu^Qe[I'?>"bsp>4eA\4jf'Ye(bd)1Xq\*fs@sJ +eH_a300[ffSeR`4NhhMk@U`*$Qpk3'.@&"Yo+i'7eJbs25Y2%1<LT^7;Z(@0rB%E% +'olt\O,3W'.@hd,9-`QHH(?bRqjK)qGV6sm-amT"2t=MIBljYB9_/o]?h6,.agU]c +dRUu#X#iY2S"/';EP]hMh5Hp\-u1rIa)Us8R&ETA;XK_JoRWjGHl$LB$!,Pmf^V,. +JRP`b[n5UoS%hOmb*N7TNHt;\3a\hgO-E`.6;Rj%DLK@W=]6hQfR7VG4_f@7GhNH" +;/9eB\==os2663nDm\UK#>%87>HFp10KdI2_bRE>b8E']<d*;Z3!"7\I\\G"E`Nu$ +C>DZ,iEG[7&eW>i7u'iplgoL?>U$pWNi:YVOlJ.K'KC`qPFCd-8Z=0)Hco-n+Qj-9 +P`1qM0<(?8@uud+J'k%+,V)8[!!gc+90#.0kKb]@e6UK:a7BPO5.8dqk6dampnZ3B +ITk0d`o4nr+#tgY%p>?58hE*i`p$AO;ld30]gXDWo`)AnU*ntnn5S=spe-*j[R]JB +'\Gl^A_4.&c?^-bqeAObh@0:B@3=i'X7Bk!6$HD98=mXc'CIUJ,@4s0I+5o$6o%j9 +[?,[d0=LV/)m,TNU)`$t5;P&9W7-]5UtF8Kn%7cOGk;)c8;(i+"6P%IHJW*#m2g4Z +DN.;[lfZK0muFVih=JBK,)K0=q7*:IL-e=[Ndss&TbLS>3^GH?QZGi:g`7Xj_3@Hu +_=M@?BR+d%cgp&#i\5T@nPo5dmEg$\\'Z32&p!FAIGeYsElC2,gn<fi!US)nj>C9> +ML#o(_eWsX`N.k5]9#h\Sg(R4%*qWYAkL7lXb]:>MD?dD3=7h8!1TOsFkt5t0fmM> +d,Z6;lhkHRQV]X>V$MeE!<FcOZORHC"9/T+pg=an`P]H>E[$h%N!*)Y7gpSDEgi([ +7"b\sY<>7riR6cM_S=+"%k85Ad,d4b$;pq?YOsiCXYf`e+KE&bi5OR_Mr8TTE\bb/ +3O[#AWS??Y<E$R0p'$:32XQKr.]O>MB]Zm@,0T+l_6srO&8oZe)HAgO>HfU(4pp&; +m[bmk&q2?FfT)?ah!2R]#fRCm&,Qr-N[4^POLmR$]s``435(8`31XDC"XYh\S4q<^ +_56jGR+:PnbDpf[*9p:o3JF,14P%8`]hJ<_r.Xnm]f.aZhka>jf8c(Z7]YDb*Q&5) +jF0t*)&jJcl@9=6_MfNb\6FlFl0Zt[h5+cBJ-fb\&L:?,Pp)`FnR>eH9q]$lIfo%" +i(cU%Q-phq#K)9_H--I4>P3-WG(BPEpuj7YK32t$<dit<KFkI:BrNW%02@p8_tHs\ +ZJM[K"4L@W6+7\B'#\TU$sPDQ&VL"kV(YtDi"*`cOoWV6msW%p"R_.-oFg<DP/u-g +<KnFt)L0qofUhX!G_eUH;9G"(4iukd%Ra#'O*FYRWK7&0V:5JN/goE'3tVYG"-LLr +0S,t&9L<i>!Y#,B<!(pp(+<V^L%D5okqho@3k'O,%<#l^.j[*^6KiLP&;_S3KYR(O +M'T>1dT!ZUp&HGT%0bk4dQSTc.Q')>k4Cdl3Y4$ik-n3#I$qkGcIu$'h.1o#\A>tQ +NG.=pJ<&f]e:?rl&E+e3@MpIm"%1%M(,MK0QWKdlY0j4>k2Q_8_iFp(/7@4+*tp_& +d*U]dk"BB571<?1,&+CN?6oHgASZGr`UO9Bi34N/8<A5k>1H>c$;]@Q'ZUA/mqc4( +QN!UtMAGEFX-cP;/p(0]-P1/W?W.9g5UL]:`k^33HYVT&h39Q/dVN@EWAMmB91S%T +C56ma-JnKVldF$1`Ze%586mtIp]-9,Q'C\n]l!%gf+pm&7i?(N2?k^@@^2YM4a1`r ++[[[OVjhceZ\J@ZN?emoF24@WcT?F;G[N`q&I=W@]9;^+=U,urCVD`eLEdG<@6Y`I +k_4_+g,d:$kbE---p^e+!6EH"'"&`i]eO(oF?AJ68j#SLM?'i?C/IU36GdpqoS3fM +g1(+j8#?rp!XK/W-\H]MBm\En^AMgT8S<^rQK^JkK3V^L$3<\8/`hh,0DC1/cip1, +q9p2<>IF2ZXsg+VX=`kCVZ&0Q.u!9+:P>J762pCajCJDDr]6OBMVI6BKf8.GQ3IrT +0e/?l9r1I#YK$<<k3aA7[&BQa:5KSg.Rs:0Te&kDn/0DlUHp?,:'QtpUdDP"HMnsT +>FfoS0K^%2N++?ns-[c751'T-<31qZ5p0TnBl&=qN/fSWd=BrUb(Y?kQm=7YrQ;Sk +M[CXp1'O;NBMaB2R\NVs\#^1]-n%trZ\=bD?Taj2$[#bF:V"//.AKZUE5f1ebg>H^ +m*j61/pK@DTo0!nC_.2Ic!*s.D^OigOOR-2k(KXM<CR\-4Z5dt@(-Sk"CaE10LMC+ +G)EHl$6_<Q#_uTSqhOjB^.P4K:cDZdILsil'-k4Grn;k+,e%T[G4r.\q2-fKKMW&K +[tY,\48Q%@6]Qc:iEKC`To_C7h/qAsXDHuR_!Tnp1;3``a'JYsV,Mif0fY#E9Y";V +o#;8+<g=TnnH[>A1:@>MR++.&>Im87ml6/B24F'e>ij.[B4/P5C0S6fjP[[m>Y/&7 +1g=NX9>b6M`tSN`WO,+c3EmOIof1=s?-g"l!/;oVQ;'I*$m)E.OCIP@$1a3q!/fi! +"_F7,oTB@FekNjR"3RImbV6pcQK3&qh(KXV2@T<,p8A/",Pjc?OFd\MpssA[X'CcL +'Rr/*1^"5VI#s$&&gs4sE4*pWk(qHBCfS1kS%5j):2*<qFd/X;@qq@fdM\>F>9`WK +#N'\&>?*nGq*3R-6XV)(VKJ'46E!:J[+RusG]18;rHPS";Jt`8baoJ'62dfZonRND +=I1Sd1SBE0YZhfqE.isn`KQ5#VInDMF"Qc3YL[M%VDT5uJ1Oe\6!4N$%_/W^4EImU +o?Xb6*jmZZ*V*F5]_iG[Rno_D\-:U%2uj1\iZ:pU9ZP2ph(!TOP6<E#o]cXkKYHig +*'oV2(%sqX<-WiuQMa.4pL_jOSpRW^UiMS3Hh!$X[0]<bF\1!K_UtuG6jo!,S<\"V +5oc)Q5CX,[VV$@S/nK4dh*Y(lrSI+'cn?+drhF"E#6S0e^`D``W;/iOcr*,rJ(kRo +EaJ<bp^s4iXI&@)DSAMap=RIV@K&_``^f]].#?'>lBRa8/:eB7)TaUET8!f%lEu`8 +==-Y_Fn9JLN-1K/o?*M^(KP/,Em\+R>\djeCtHrCXRO4@UpLe1kX5K>?DBHbnB;&- +9LWg]bt@\Zf9oh1]nm<K4f4tD5>bcPJ`tCG6M"sk"CG>k9!V*h+Sb5_P[guG2$h1V +>Z#])iT`,FkKDXN#H^5lr>fq?.=VCjle;<L3JJlM@eKV`L@cEr;li<8\?N:i'$+Z< +rV!LOe=EPVj&dSp'saU#`3oXnYmnfo)NXI^-U%@T5UD+c,)b#'m/b;mYK5X<.EAeF +_9J1$FfgXZCmAgu[=f3!_,Lg)]cQ&$N\7J>KCZQuR=uHBpI;O-;n9aI!C(N-!<39( +p`-WeqBp*Z#c8S.S4XcBZnLk:HkqFiqJ-RW++S;eB<)-W:5)Dr9Cb-$4<NZLfjF$I +7c/N\9AT<*/D]8k)ulE=f<>rMT_"@g54:3J`msoIZ^)W,euge?9kt&Lq9J5%eN^r/ +G@@r](Z?WVV&eptare;UIc^HDXBuA"=2@H+9EZ?]0ULRjkBVU.8r6jPJ*r5\U#Co' +!t\gSMAI$\7Mn^\?;UT((X.X7`dee'Qj"JRfF'i11S'KG$[c"*M?[@]g`s%Z-D/&p +Ni,r#nb:([WV=)Pe$S?SmMI!$)R54F!M136c6U<bNVDeS'dIoja!DG9'b[CsOMusM +O4P_s7pP`^cHaGS'`1kgA3G2t"P*$l<KH<JX`$es@'C7r,COSpq3`>N'Maj`DkTPe +F:ghX-VFN\lNS^Odh7R_":SiLj(gW)F\RT)L!q'%F<(fUd0KP9^Q^Jb3>.T+X>ac3 +UepEqpb$52%Vcf<C6l^b4q$<7NS6$ad\e0,>X"?.caZ$kb`@h7!ZjX67Z._P_8.jO +^29^^SRj9`jI:4<M[B$s#CRDoNpZs:s,1qTgmD8;J^SK.c*E_KI;?gIpmEn1;^d)2 +.eYDR.o%r(Y<q;1PgK8gd<@^4\<k@QgZ,4ICWeWdT33Q^_$`1uO+e5D"7'TpiDnBP +s8I4`jf,L9CsL:hbLF/ZHJ>g94RpVR:,@*,.#q()`K**Eol95cV:@^<KDNRQ]nfBV +BOFk+9rb=6K)&2m5G@r`fT;(5n;iaK;]>SaBg&)<f^2/#7;2jMLnOj[Y0q%0C@G0i +'DFtI-`-?i*uBUJ"juZS0aP#e4ZOiuSaTNT7kT;p`(<WsX;Wi-kmfR:0jH@:l+ZP# +[8%_GdA(ird?q4BVAj!h1.%-uob6SONDdH-6`od&QJ`o8b,%RpK".'66cpRI/e3S, +6?'3?B/-`d)^Y0''BmQ:2*,]QYdL^Q[a"$aai[7CJ#F<hiTUsk<UlrfN]*(qATg<8 +H*s"=Bp[H<=B<?YKiO&`<qraa@5uVRnOAm&;mB::[[E_Op`"%>V"T]3_K0d>*gf6t +n=G^Uf['cMrEI7:QJ.`m0FGdY3U>U]ipQZH\p4\)c9Xd0jakJNADsH5SH#R"mSi8< +#"&hcmK<$s.,^4&7d]dqXnAckMFk!T48LUdpW!Xi'IN"A.0UslcI[T8"Zj6rh,_mH +I%]GdXu/S7\'GZ>EZd4m(%]X-UPj"dC!<oLeffE1$GZ-$ePa%BB;0Fg;9"nOB2mLK +HK5.\4e$%3m#%OUs1Br-cog2fF+J`i"/J+>Gi.'b?(l]<)YO(,gnqZbY,JrQ^Nn!q +;bi*%A%1MNeGhO*$e'V8.I9\J7ao@/fgK1.<3Mn$rBkrO\PUZV"!SQ:WRKcj,bjMq +)A,s0jW)E7.MA@Z%>ZO/bbc)D/g55]7Bq6h*U,'%hbi<:iT#<id@6$5.i=tLa7Z]/ +hCB-#73Yu/Q-h2p%l5[LX&]PSFhBWn!RPe.o-DYqK"RK]dN4FMW;tr3+n,r%5'tY& +)93:<Z+/uo*;0LS))M(u#Jqn-=idX,Mj#Pl1t`]l%ApVUVtp9h'rsdM/YF"H/RBJe +b8f<6$72\a-ZAQ'P"<)mQ$<(4*_UK4O<:FeI`ib5(\H)eAI'MEP'M>Q"&''RdqOr^ +A'5M><KiT;LL#4PCd>_)/_lDkZfr_[cD^:?B5![QgBmJLWcrcJ%BX8'J0F+QH7Vtc +e.]%i&In&Ql*glOjTqXs/g_FTeGL(\kPT=]324@&oR^FJ6i1)_erhPhaX/k5,Rl7e +E(EZG,+.cgM>2,.27s.>$IUekG*)3p>g`!P.o'8>Rm"\_*&ga:e7@&VCJYZQ?T;(5 +JI.:b3/kK/U;`aW=HOUoe+-q=%mRP-`&PETpo,#q\ICJ:H+?=b+X`.1Jbh<kJUbe* +)FXuOG$amaZY+GN?>E:"U!*cKq,fn]"9K))WT;=XiRcdk?G,fGVESN.*66b5M[0X^ +K<PAH1OKO_Z"5WC\D0C24J288>WX6mHE%Flq+kgOaX-6a(j!^*cWTgTY9C-A5d]1d +LYasP7beX]C[Y!e@+9fS7Pe=r7)QHk/QCqon\-_+h`==%U3=Lt!eMW,0gu0LU&QUK +R+8dXV2Y9uK]%('-P"XRi3>+M5;(lpp7a6=j$u17W2/ZKAQ*<VNZe8WA#-4%V2rpk +>Q/-b-k/8;6@<t(H`?(pnBO^aQ2qD;]i>^20ma/CX2qI^eF4qZrl81A*2KMgZsWL' +?g;qW-6A/q'5;*>)>3VhhnDJaa0WL?2UIt<iZn@h/tPbB9apN@1nB/b.UXr6OLa:! +S#@Jd$XCtQpFk%1Y)C76J?dH?_Po*O#Y7#a*$@Af/?qW1#'bm,cqm+<pQ_G_o"s6E +7M_M4+D<N%>mGmB$Ial)!L,O'K($dY6,*aaf,X^X^\+0f4C1Am,GU'^<n3C^Wn>`H +MqLhBHj+?%gF+l?jeVT$<SSG!2^LAZkD'`fp+A0D@]W)H7f/<T-9JQG8gte4W0R$W +HCced5T'KWH7aJ$g0f?<gd[Q"(NdU3V<!lsQ)>@nS8A7?r<]D]^?)-'D2T/\"!FZ& +gh5Kk.I%pX"2pJ=rT1m%LA"]f!!<N)p[^3IR,S$W0>sNlE'`@as5;#.Z9@jnH7Bd4 +MVS_r434/ggL+4]gj^F+SGb`%`C[KU)d#".EH>$GqfXl"&J)Nr$rlVh@XdUSgb,l3 +1NcgM<>"N'@'8UX>SAhs3DlU8H@b?'hh,UBb)*T';DJXNZ*s[Mm60BDdm#mY=aX`& +ls!i=N$g@oU]kSrD0dX:TWrm^MZ5P[k-Z=dmYLoic[*>FAOim5'giY?'^[T&j0?WI +3037!o:I^"HZY&u-$T%!em8$@"cH&ZQj?(/!X)e9PL6AOY`4_oc&1b4&<93N-@FV] +J#EY`j^TuBLeURH@mamAa_<VnS^&F"H3e*J=Il$P>S"Fqh_26fO(23KOSa2aYat?h +HbO.Ps"A1Hp:O\h<A/X(QD,ka)hS#+a;ip_Wu]dYgFqO)]?8-/?dC(rrfi]GZOp[> +[:Rf4POo5cJ$qC&eB;W<RCPX_]kL6T0>e>r..P%q8Kq<Qr/P1k99Qh^7)*9$H%iLg +"A4_ON<JiM9_\r[*,G^W2]Al&"#nEo&WS**6<`5-cE2T5q<#Jlr;eAUFoTq$?Q*Zc +RVV,3Dg:l^L)\3=m2P=-E;4a+J"(DX[d!!Tk[kCmL[s2nRGpoTCZ_,ZoUX*XfaR(7 +/FC9dZ=P%`2Ma$N?I(gqfR7^R0SP-/Af(+SB-DL&puLtJDQ61;4DC`IHa%+3"+`0b +Y$0Z_-$OIOr2fJ358%GF376QW?3:=$Dt&sLA]1cYC!r!/??Ko94\^NgQ&2*WN_6E/ +Xg9kCQ5\ao[9.OpBj9HV/5Er"*TWH-neZ&3KhW`Y3GP-qBsbH*KhZCj3f@iK4EJ_h +[CI"-hVr/\o1@V0J[qPAA!&]5;]S6>K#LK+s4n-G^K51(_*(a`R7EJ7*0;7:(!5_X +W(@fQc632"^=jEKbM?lhb"3T5h3;'mDfM\PoC)Mn4s4-9<cdCNrULl34UQ-Wo&Ib4 +]O)(1A#`&?a5`aOijPTbXe_JjefF5ZrmdIs\;bRd#:!ZMV,okok!dI%h^_A9$Wp3< +71"bh?t*1."2_`Pd"Vbg(A+.E^J3EN-JOd[oS[h88Z:uQ.l%%qh:s(3K6]bufiuM9 +*Q8fBYh^D@D:kAA>^"GRI;sbtAkEWSZmP5UHJ6$bMbEk/&.4dR9U2o)"h<,>GSK8; +hQdslZqL'bCP1W2lIl)ingq""Q(.GLd^\3s=7iEgF+`FqCsfG"$'[&ta=U3e<4iLU +s&s$;cj4BelF,Wc[blc,`IeVFDhP!d`B,eu#Gp&9JAb4)Vl$=TaXF$,o<83^4a2tl +lXs>/Lp.-ip&_/6(FFSt*A@Psbi&f(,Qg-1p=O<"H8+#/-%FD!0s`VFg=XY4ZmIY/ +;L64YYND1AlQHa(buY9V:U-naALr/t4D>/F/]!ECb9eWbbt:a`dVCPgY+Zbt"r4%p +Jnmmk`X&s-f*lEjran92/69KuoqO:K1kgb>l$`mSPqoKRE%4E!,3jRS<lFJ4S)8Du +$&i=+hle0T8$9!J</o*?Rr=P\8a&\b?sucK)WVo&&M[Q#AHpC*f8%=!fi2D]Pre*Y +:+GTG*g!nPf`2mPm0deIR/.Ui@"[#n['#WsOh:D)p@%m]aem08TR9.[A(4e7o>T(4 +1*fo!C`2XJnWu_g0q%-UjhQhNffR8KoM<lEI9/rn9(?_57Wa/#nb>pKku8O<YDC,- +CJ-rCk.iS%9C\Q',2)S^BjBgn+2#/d,ubh_V3gUQq_o(5i!pd3#p!3E5,=Yr=a+.G +5p,#XK&SnQCX:Cp%Lpq2.u/aP7?>2Z9NoG$oiWt]Pde@6?R;SA$G7B7C@3Qgd(\NS +Hpm]q%Dpjjd&9O!,((-?+YH\:H87)<Wb)U9B48(sjOrT'Y#5CA%BG=0m\J28[[S^X +:[aTFX(0J(oR)J?d(Mi>[=]j%hqFmdqlC4"iULU-HC*>;R+b+i"9X#`)3J]gd:=(H +YT-R`0]YWGO9r=a'D+'6B@2`+>EAHMF'*Dc`nl=\7occC6%mGmh'-9:9/Y-Nb%rHk +1*E?1W:aP/JZ$S$nfUB@``IVdlV+CL*$TLT`8I1moo:=]_"<F*aR@6m@T7_f@fM8H +(+o^l+sO>XCgG`L*q/,Q2M6Mn:K@PiX@"ZP0Y^[BpiDF\BgdtW'p\s!Xr^.s95QTL +JW/#LoOB;p_gsKtV:dX$pE;g+RRW3E=64OS!WA5^4AsoK9,;SV\cTS!,o\22QS'^b +@$EY%R2-c6.RKPSfq-;5#G!'Do++u?f`WcrO+f0nP2QngHK#(!UYU[+=22g`?W9"D +004%M=.^&fX$e2PG-bHK2/$Q645_ZlO3!fr;?84?'p;S$8J"n@1N.q@KTIn%S3BJ; +c>H',rG[<;K)\-X/N`TCapR9Y":M9aZi$/-%Cbu^rD[\BB]B9*!:&a7HA)CMXE!Yg +\X&"mN$M=TRp2/Rfs`[A1n_k:K)dXl^Oq*n=]@o%i6b77A29?=5Mlm$_NP"Va(Z>? +WK_&]E>HuqC"\`4H%rl^f]SSq0n[h-3O9b+i-Q/CJjbp4a-(HC5Ikm"Qtb^:Hh/oC +^$$UQOSG1`:?645hc"YG1sitG>;/`ncn[W-60*X(W?S1f?-ki$/A.?S/[ceF!!*B) +pKiM\[*%Se<)5?jQ0LNi&JNd29i@G,e%:=iKh^DU/geKUn0pum2]".lBFX$.;<7J" +DcGN'i2o:O'0csjN7HNH>-+%flgLT^[LMsa(Yib8Y(-Td-ZPm9\:M4!;6:b,'U\al +Lco.V8jS9.qm)FB#f9L!^oIiGL@iG:jKIc#h)aBY&mr`@:tRFZ;F[_*C>Z+,n-o-7 +DGJ;iK4]0Ad_]\3#]Iahj4LBOG@a.S'5[';:ks/W>^/I.__u]WMM[mVAeHbp`7Dc? +$b)-pHo)dsKr4snoOO*PL/a@I'qlC%I6h(Pj_\KR,:.85EuKu2O.QcfF\KdXGD"jM +b:L-A=6KX2$+Wn8FZZE\H`/P_FK_?n]=.8Bok&++Xp4h(4,1WgJYAu9/%A'-;[QRO +8?[J^/pm>f<NUS#C0XS'0u*Bn6Pc[iARo]p0C#L0BAp[?b"hN2j&_VY#k\IN^Q3rI +Xp4?D6Y==i-dn.R:QOVIZjcGV<)I_Yao:ffWQ^ZB=2MG_S0.qDA0^ajG%s^U<2NXN +n7+F%7<MD:in'X;\D2=*iuSn@hW#_-DZ#4u.Tb0Ra":1.nd9Q,GtLH9ZJ!A-KVCiU +"@$ZL4C)Zc5`3r%LdbL]ph;?,e2bW0#Qrp%M!B<7am[hoDs@f[<-ZB(eoe3l@(g-& +=icE_Sj#][V7r),S=62l+7Td7lL>K&gB??Ln.1b/EI&GP[\m55_CY;.b=!FXW79t[ +6h7iGLJr>*2o2u8T3i9o!2=4Fg!*aJ'&6%?&pZ!LlYL3p47F,6G5^2Z#eY0Y\ehF% +'?WfY@K_oQ]C6MhZC9A\F<2!e)Th>Lq@>cInK"uOR2dP;Tj.e3W)>'+k;$DFh@KnO +_i4c%'eaKTD.poZ\/2/J9CuC%e(>41g"k@rG`=N&/,e2jUf5O]!fIq!%f<`AS':14 +i"]>m6XU'%LYbe81C3%/*"HBj_4^Q=>qR<Od6f/!;$[1+X($i9YG^:Bhc)r'`UJZb +&KgTelg^InS`3GtDLGP]&Z@_VNa%&W`FQE!E#&K%/a,48Yk'f'4Ki)rou"l?^PqPH +?c0P<//5(ElWib4lJ)'PrTIl%s6dsa[85_s-=oaaJL7F0hn+i(.WEUA`Jl=H$4JoH +_P$Wa!j7)!GqE"sN=]r-(cNO0@6!`>A-^8?s-*st/td02lFi0L@A+`H'@\\X+h#G9 +9Tim79Y1U;<3^8eF3S#1TQD\RkaNSl!2h0sntb*?.>*<raX)AF6[GI+qfU;1&?sj& +e1k\+Q)J8.V7?0U6IF09n>)Yhq<>j6":3CJD3*m08SKlQF*/&hlbK_I,&f<[[.S'2 +]/o)K\m<Ss-d,^W(LDp"dI#ZI+4@k$YMaqE'>?t`g?=2cGLY^ES+C)_7`*NC];X!E +SR*-"?_WSmV-fYgDe5gc<p)7HUG+`McE5>Y*m)'C0CTQ_)D8cq18Q"L"pJ5U[a9e) +8GSY.DhL[W9>p[$GmRq9D#ICi+Tn@&g/BH9(R5RIQDCYmWtj>=-i?\V,'jJt<DT1' +W.Q9#NXE@<f#W`ND5XX\Qsr,fhDtf8T[<>GBLk6K-9!;@B"1leld)G%f+1b03JQ>1 +`TsQW\N9@OP>$:aU^n>i[`>6AeM^mf)ps.J`6<<hq)I,da?<nHa\4]k4gAl[h0]S( +pa:%9'gbEJB4t><W/=RTqMiY.L"bgh8P8*)\p%HDA6b2Ph%K8tLAV!C;44gV/)S/f +2bOP4f(:?0Vj]3Bs&m)7iP?Z],nX\KQC8IGM8'"^i-EZ)\C6sFGR4K0Rt6jW!)X.S +!Q:rG`e-qMLI!q3oC_c'e=0_0m/O&E`@P2MPVdZ)]/RCi*f>WQLo<3:H11S?V$DZ: +`QZn7*1_(c*AqJb?fk)g([&#G,oVj_af:rDd#:E]^MpN33.Vo;]%UDBK@(2'oEHhb +`e.?i:Iq2U#kua0:o!P[UI1bS8.@q!L0(0EB(6$E,CtqjfR$&9#`?fDX04YfWHIn3 +4JqJEET9dMX>mi5)a)*=-R@usjdC2?=&IFO]qp'I1F8$p]9k#ocRQfRYeH'rrU=Ds +8MTXk94U,7Senge#7Bjb;*Jn5lI==ZjAeAMfGu',U\5lj\+jkeniphkB"<&YD?'I$ +O$g5p1CN;,1hsoUndl^bauN0>q'JZVWT=5DU-mJ5[2oMGDY58&i3E;?d$"W'@%&Y= +$d;He%dEi5qtdK*aem2T./\(^H0rn&##Mp'F2mpSogG`L3:<4BC&+,><OJcC5Dr<7 +Xi%+KOn8gjghe$>L^uGp<^g@Ji(,DPCS^ma*=Qq^5A0TMM6aEumBqn"43dPM@!C8A +69PnTUoF&X?4VBZUI`'ILSS,:6L.Ts`9(ufRu/Aadi%hQ_c2L7@Qr/aRohNqidI&i +M-(l:D<A*Hph[Oh<4$O_P"^_k+"j/!!#Ij.\V*6['+'37@oiQM/k^:7[6fWQWWn;X +n>1Qo!K?1r7!I%R>YmZ;XKgdHq1o'*r9*",$_J:*)NR&uq:!sh$%\3WTVY;`)ji%> +P:7TP%[)=D5m$D+hVRVse_mJ\6CcG?je&\Km)IsAT=[)g#YMXR@7_p9-\ioSoG9g4 +fQ,"L5q"0WWENJ(JEB;pY+eN5N=5df#laS\Og#'_%"a.']?-J^1=5O2R]$@D)eF@e +%l8-F7!cn8'FV!tphYp4=,U"p*'J^2*F[t8F7.,T+#I*U,(="D!Y;58]Z`>A%^_ul +9=qI.4'[;7$YARb'60Va299<\!a4baGqK+iIO`U5[rs#,jH_+]+paphnXWE7OOdGr +Z)n!DiZMtMpjDtp.YI`hWXLP>nJ2+,oW!C0iC,I[AthRV"L.sDH@%1C2_NmRUh*9" +?N^Z,-??RF(Yoep,]Po,3a6fY[!j/IcraQ^)nT(+eRDY4iq#UMJJgM8i<s.q9o2"o +7)(H^:nlL?Mc*Humu$4WKBodu,tj"P"&kH]2(N`Kl@jL5,uM:I$/Mo!LBIJ(hXfNm +XF(;QEA=]-ZcD7Eg,.u`L;%TSgn2r;!u[J[CD9k/jXM"hLVpaTn$;9]nsKd$rH>*7 +D?K]ch10@2%!06>Asi*O9B9^Trddk^;I=i4NA_5]6J'6d]t<g,a$]CeBXOQU<t>n7 +2g[IN"akD^YmcI,4+8?lmsoY]B@+YrS==-=UfaIR#)nLklFos_o/cB1Npu\>l8["< +S?/6kS*2\ZO%+)M"cq#eBjKh(KBqQ^crs_7hm4$4JT];Xc&;U\KcJ8odc"HF5%@Lr +d)b[ue[2UF@7Y;GaH16:7[_%)4'qj8]Mle.NT-YaT@BiK=)E2sG[Eed01h0``Kkqn +e=:#K\]po@TbVe[8N^*6l8mEe#-8J7`1K0'!?`pu>ke5OQ>LQ!54&]t1]UeHE_&%U +De"XCNDX?m4.7tKEL"_7'ZR=PN1ArNSQKb?]sd.!&[?B-gKtWC7a>39Tb$:&@$OS: +Zi1WFMrVG#)`Br1Hbm4'p8/crC&2YX$7\sm9n-/S*L+!$-hk538QOAm]5tQt9WWc2 +7M^[):Z/AH04#0VCp$g\4WUp>6_9hl:A7BFOm"#Q)7aQn5XFGMJg-_oR[C]m.&-0B +Afkun$Sh$`"O#(I:Aihn&2H>-,smsf%?LB[KR,@CR-rR-:eEc'K@M+O#+OKBC*bcY +/sZEM]m_jo"W*=pNm;\DmQ1\\Ad]02d_<)K44:U\X7Pc=Q.ODRYcNFWGN@8p"R/>O +S\-ho;HdN/mae#_Q?m]6YQb>C%86/:)dC/$/+$?9TnTR"MG0u?Q8Y]V%"VRonF*J@ +m;@lE'l1Q4J<`@gfRjZq)prYXN`JcCU9e]^kA/26&14fgTklhmgL#GcYX_NbM'K0s +h%'HlCtb*k0Ns59Vs'XsVEE1CI5;$T^C2U$&O*_#W&b?"f!7b?FiT60?B9;%-J^'l +nHVYR,"eB@6cR`(CA?jNaXSLFjZG7!TM5/D&odZu@DLqZ2_`_.I%KP29p.ns&>Hjf +"O??h[tA_a8rPHSk&Za$LBt'DF87%!!"tQ-es.rSMg,4U6J@-EQX*9!bMVoX[('B! +Fnu]eR`P^:HC[a/pEI+]A>sbS5Z2H(AD0`+<mr)B9gs[pXXTIadEA6*AN!,)B,F++ +co^YU4`bMZ1tNCI0_%8W-*\\k-R"2-I7ObB)kE2_D;uA!;)1IOjW(15A<r?%Atf`* +#YG*\i]pG"'a>`2gmop58ID.))I(]E5R@9mWNCiHe!Enb).P`BbWeF?`_[quUKqt4 +)_s-".jm8E0cTi8&PDPu`Gi\./!C#F]/$M9CSo?nT1q/TVdgMXOao<rL\VFeH/*W. +n[_tUX!>VhY_D1:2EArtEW_63C?c%F)`t(+6q&k89uP#X?:4H]3Bm)2;#pjdN5e/R +"kB!RTkLXj4U3@RZmdB'o"Oe,-(&T@ZdPo=eoKSVOAKeinfcE:eCl=Ik5Yk3P(""/ +1<KsQrU[dRdehO%LLlIo66Eoh9TtTfHd;%"$T2tIX*t\p:@+]PWP"Gp8'Vo@jETKU +jG9pkScNJWj/j5+,)A3Ob%A.R8qE7J$mi?a0Zq]-eUKf'#>i2l-U$A>;qAI8%"2>a +8eYFqqAghu_3uiP"+i!RVUa#S6^l]K$0cNaT$uj@^Ld*N*D*tYM>Z_bp%B5iogtY$ +7Ir)<[1cpS5]1"&[3#\*[i<SJ`.%#kYr!QU)4lc&kJULSHZU"*aP/%Z?i)LL6N.$% +cZ2>.;<i<2^m9Pe3:s:7!MJmnV.io89-VO(^!Hpta*@!t$VqM.rjY/+4"W,^g14a] +<Smi*9>JMhA7lb&*)K9b5"F7b5pG35)h>ZQoX<f5gaT->rqESgj\dkWJ<#E[Iar5( +p8/]qVc%'4,(7;F;f\%u]tC%daee,TA)D7!o;V-sD9U%tE8lL99Y+(U`*7]jL]*p: +[ALZZfW/OGNBnaGPXS\)OK>]uE!>*K8D%8og`Mr(r14o1\(`BLiH%WML^dnC>Ns_( +Wl"GFaBuTF:W3hB\2cJd,KGH;@lf.&HA?I[YuIJ]fHu0ej7`Jnl/DekrANS@CJLuJ +ObDAQ7Okq:g,&=mV3W(#"7hZ%Fl4X@V8&e_^pr/nM@U@Q($s?tB\5MPqm)"JoS=7V +p($^N7]thK@lD:t(Q[S,QqlU[eDS47&Z[<,]@]BfO87eQ5*AmFCh7X%]nE*M\B\Ea +S2@(pY(%jEJ_N(KG+^J`M_'.DGeQ^;qbNsCQ.GB2epl%kW*#D'g!i8^.".2/!*]Q$ +r*W!NA#@087YDR$4B^'QY(F9:-.:+.j76Cb@_lph4Ys:(T!CbS;1koeK@i!*ZW2E! +&JrK65*+O1_T2i]hpTK$P,23))SX,6%:&@!Ij78DnFCP`g;W[(kVmWT1,'],GnJ&( +;d6`800mi,6)FX_P)WtHPY\]h1AsBk+/mfBYpV9Fe(9W.&;^pf>MfF=Xjm_ns!YO8 +EE^M/&G:9N.\>c+*A:#[Mkh'XS&3oPb9QMV9So_elr4.3fA(Bgb"g177`b)SKr3"l +,HnNM=")i$D&_;%#21ci%Bphu5_ES=cI.Q1Uhc"7,K5J-^2c/S`7V+Z=dl04H5rLZ +mkfG/mlK"B5L+eo^]![Z/k"8^?kmA5&<S:+.4L7*5r6nOBs3u:5Gr)>#*ps3Y>K*G +cP2_79B:^HoOPUd:;rnEDIUJ^>:aZb6-nOc/4AUn?DJOtaX"HJF`'$..t1njVArGq +C:GpZE<U<K#O\Xc:+!<.6G^X^EJ^5/!HD^R0lF,M!>kEc[Jl,k6"<g:p6@tqGTMo_ +3VOt[Aao;qGej_q\<F6RCc&'+(bjO9G9hnjQo]/q6C4pUBNpqSo^Rrpa9?V$&<1_( +9Abc#<h,'^A<P"m0kk>D1""jFpITY4&$>:/N?d>K;.6SKd]LJgEp^$IGFTr+&oet# +ju-nYli=;t['"Yd3PakIe\@IWF5RJL[AnBKNm_!-.a=JnFq3`LOmNgFaf]%fJ-l22 +8;H*,k/nW7B7gtp28F$CGsMs0o&jUa8Q+P1#>t?qB3nJ$%-H2QUN@i'9'.!-cF=jb +TtQl15<O*L(N15YH`sXJST*ZNRfScX-[qWN0D1htfUT.^[LiM##icIVnu&_W`($)] +@kc#o/b`%?Kr3F)e'./Hl.\"\"1ucMTOn$!7/&t5m7ES"m_&C/Lb8h.<t7ao-n=R_ +(t7J+:EjkPQC%fdkiknFJ[HsmDO^WMMp-@JYKo;"m,_2N\/1"4!'Ld?7Dq4@:n:%] +S,DL_>mV;SU6#KF'VR4KWJBa]./N(bkp^`k/s5q<j-3[FP_YP`!7NA_D&=E[>--fm +bZQ9YWG%>m8"d*#Ns*K/h4Cl,O+PD4BE-mE!Xo'rFka8~> +endstream +endobj +108 0 obj +<< +/Type /FontDescriptor +/Ascent 768 +/CapHeight 716 +/Descent -234 +/Flags 98 +/FontBBox [-165 -234 1112 968] +/FontName /BNDHGN+Concorde-Italic +/ItalicAngle -12 +/StemV 96 +/XHeight 516 +/CharSet (/h/s/F/i/t/d/u/I/k/v/comma/l/m/x/n/y/M/b/o/T/c/p/e/a/f/r) +/FontFile 109 0 R +>> +endobj +109 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 21495 +/Length1 737 +/Length2 16366 +/Length3 0 +>> +stream +8;VFdGrV%(+$Q*K_3`T-:9VQG*R.]!LlNW]#;[X!N-Sc(Ahu6/Z",:PZ=KD78Q+,5 +)_#;HPpKs$fs68DFY[-b:d1%`Y02$;fCR>[gqWa#TAT*d*e^6kK?eJr1*JIeXbAM5 +E-QHIrHJc-#+`tGJIp7e6_[K"!#gmK!C.!["*d*q'KUX9Opk-\6,;pgUAuHU@%"Ia +%\T/=jYICe#R3VXBRN#DWNDp'T[@Fi!3;.e#?VNDAC.=2J%9_J%Z:r.\=p9+-o?HX +=t;[q<HJHYjk!e:J+ZiaD[*FZs0Hi%J@X*W+N._f(j&#cd;72AV7+MTceqX@&>3dX +?ufBa+(#MN8lc&@=:>s!"W:VX5if42&<.-$/PXK#YXf`>e,fVK.MX'Wn_!mC@RI64 +7<BgnJAML]Mtd!C(8WPf"?7qF#gl0o5Ch]%i#ifUQU(e_<juNM5c+HR>'4hF'ea]P +i)e2(JC`+6A,f%fU/@lEA_i5W2.tUYPjUnm!9@$K9-Aq*5m`92#7?7Q$[@l6ChO]1 +VLoG<8teT^$oWgGPT:Br6ER7Jq,5:_FGS0GoR<'1T]PeO$lXu*[Z'09D!7MkUUoaN +/9;pp\BNd<=9L'p++VEUd6SBQr!-=RP64o<LsGhl\r2`:ZSuH8+p\O1aDg=>8N5Bn +foph^b3PrG;d_m'2X?#DJ%,GoVLCbOE30)a*-">ZTjijH4[+PeUM'g<,LS"?U,#`s +]VcJ<nueU6gs"87\(HGP&"Lur6FU!bp=pa)\]KQV4(/tYYX%-s"@_sm`p>l?kIGq: +Ul>Asa4n3`M'VJNs";]7+KkJgX9HUF6\V=5M7Oa8"0QKuT9DD^'&I!s^J!g<EY4Fd +FKb@^5Fl<Rd;tieA$BY!YJ9_P4(nS=Y66GfD.Nn4e5h^OZSY;`GgX5K`O$lj^Z?G3 +,jB)X[b3VG<4=1W\"3K=di$nb5YSHHr9o+BY3#DcE"alta$tDWS7(4t_jaM;SKuUj +io(OWU30<6eLE\4aR6R:SJHaWh90$K&m0pVWnRUf<MUtP9C96i6"s@_a5=G_?gF6= +0e=JsWq?bqK\Ug!7L[\:)>i[RJoa`j/3'UK5(3FK,GT3FffbDBFd72_8n57m$];XB +P^*Vo'_^QTf\uen-.9K3O^^5)^p\d$LJ2^nRmTSthDAMahe\'bQLO\.8#j#O'DkIg +LI&`YmIag.\T71L[-d1E1f'rn=dEJYa7!UImoAE*kEtM58"ZitflUbkpaNHd],G'N +^LH5=];jCWe]hD4%M-4Wf\`16[-:Ff=\*DRS:Pt>F:u(9VjOpVSt=DB^n^DmWKhnm +e7[Tm2`Nd^CM"[Th_*UM2drfKGmBq0FL/iZG>Cr0\^MoBLMZs[?k`8X2.in_FYiGW +/Zuk,gd*stoVc!F1dSpD4$?Oo(PQ0KF,\a7/refmLW](k8cU-,F8kGAC0!]Ta$*$) +e;\8.F2-)O;giAcb)K(VG0a#*,fCHnNm>VaKR<<3ntCi_:B'=cB%\Y[#1**u/ou3> ++Rr`Q<HaWXiSe!Xo),88D569h%J]J!9T6XhS]`PI5tU^pd@L8iO$tJ,T\gg*0i^G# +@[ke3A-d'G?Xs8b4"Dt!hbC?"3dTYSDDG.!X&D=rZ(Ys)n%(MW!'17lH4_[uB0rEf +RXPXgCN"GnF+EA^:HcF&&b&geKj\&I4hE>3dNaGiCch9dG?Rqk=.umYa8DgoEgoCY +'_]Hm%N;>g&.r;&CEsUK:3fs!$>PWjpXHUkHDp"3C\a#a/??&8V6sNAD!.du$Q(oB +p3_=q08ek]<j#(66Y,imK`bADrB*5#@S#^<OgU=+GouU,Mo1.Tpm@fBJa"15dko7A +*36$qB5M/Db+*?53dE%iYY2*2.\Z<UO]lL94D1f5Aq!I]AS#mX\rus_;aqLK7jek. +]8tQ]$0D$OJ2rqpfRt&Ko01a?M;Yd9?gUgl-JMP#Z0luu.P"#W8NtpK3DIq/A`/cR +$rA4X?'@@ialqXW`#_'L8#V&p^5Nt@,[JDJ+[H&KLZBP76UT\?RPK/mADjj.q_L#j +ULkp%.m(a'IS4Im$mqXsJj5nOG"]1hbq"`PT\!q;2`-u7J+ZfJH/u'o@7q#5ogm\W +r!p?mF=HgtUK)%i,N_L>fA4Y,R#LHJ'd!A7N4qjj;>Nr;Kot[llO-Q:3`b:YEM/kP +.!e(/JU\Sp2"I-@p?=VbFLLE[fAA#,o$SQ.3uP^Br.EDkq*q[6BWmLk]0sQ<B*Vc- +%Z]>S:`(F[85dIX,J-;^`u;271j9+Y\&U7hYW]:ZaXs-IH=m$<g4#*F6c6$=?%f&( +TA[=.L:'4Z'$[I,k(=c51hLB;F<(n`)9R6/nT@g-+Z$qn"dRr!GPZ3/+=:)]5;C.i +W70D4d)i(mYubo?\YHR1G[W"4H2(`"MFHSm-0O>]#%;N$N7-c"d;PgS)3<Z!\##&/ +CE.'?&2?^j\5bG2CmY'8//?bYqkZ_r.jEU8&<0b40a[Z'rYZ\qY:09sf_,)'gg2#H +9MTY8Z>7(_pk$l^d#7ZLB:b\qZBQ>QI]D-Te25$#7&,JuiJjrP;;Y5KF1Q.-Bn<`V +:JYm?JM?q@lfXI;,IVXD/@[b/s&%SAUHghI>BoMJa3X<d?PlEd0_t(O+B*6$CDfh3 +Q-uN9XUecD'D)NiR-`nF4hRKU*8D/Pc^EW2o_4@LPTH'9lV_AK6;kqtop>nhgPul[ +]+D683:-S(2([Y58lE1^S+<]aQDOTbrs&Q!O(XQ-4SVci_VO3T`!#6^ftX,QWrtL# +Fg"e;anua"50cci<?aWBluj..-CmjR5j`Y=CpY--]^L)boTb*sALb@+IW66/=N^T^ +,hKerT%=LacY?XKD5&CshO#pTN\kRqP6Fp^WOE$A?TZ]5$1Jh0Hk#>\P7l--N72^N +V*T7&2:+M.b768G@'_#sY7`d1Zgbh#GBT>n7u+eSq<'9"V6kIc\PnQYO?bK[$2.%C +JpQ6oT5_+r&IT>4(tW=o-"_\>*H[`K/QU:'%3H].GZkOEl&R/najme.Z6uMD>)=FB +iW6uj0]'4NjaZQ^#N(@_N#pMYM24E)Nr0Y'[Z&,b,)0@PgG<k,s00W%K>(T&jOr#W +)"XmHh!&+n\FSJEZN-"ZHQY?]htcHSH:01U3%iMd8KNKpk<c78P37+t9Gf[QU+:]; +D]>>sA/q0nFXi"#g^C1Jcc&kJ`:?DR4r]`&o"'MgUNY*th1lKM1qFL43MIf>J7stA +"MoNDSh$_YU1CCR4!]il3%'H>9%>%?*#9fDMVq*CVKK'^e4c572UW`._15MV'r+T\ +-RaM-Ac[Ek&E`b\`f.fu5.RApMrF)E--$Bp-qrV2N[c$XS`&IY,#!sus*&qX@u8;E +qDV1\dF+[U@c0q(Q.0mF-9U-#'Q]^"h#OO7!=G*2H6Of5jH7Z6O5tioRmHiDMrim< +EV]AX-cmYGA_DC;!j1&d9Qt<OqJBd:ogUd&a,b)R5oNcFcRMsT4F#$!Ap,,a^/rdd +n;P:V0oH^T&g:mq=;3n&8Y`QI,A+SnX`<iZ(UIYQhg5YRe7^EC_ZUf&Z]7LfQBlpe +\^=gSna7V9A-UY1=]0]aGAP.0U:-'irbK;E$nEP+Q/P<i"&nRrqF+(21=P^W[6pN_ +Sn6[DE@7Mk;''6]TMMu?=HjAh:KAG&bqg%(E811>\&Dn$UZ?Yb[_@XsNlRb==1J^f +Gc=/@/[<O7\T?blHt)csJ>VA`OQ9_dn*7grQ('2SU?qG$'.M^:+,Y=.qf/?kC_!`Y +.S0aZVR+RA:d$5(K]u/h"&iA/Re/I#bS>0B`PL''@30n<lkEa#j`RY#p*[D"k(BfH +@2Ah*/TO;!&=crq9(p&o[#e_BQ(,HO/*NnAED<bf!iU;R;@K0WpJ&-Sll;Y!,sgg@ +F#]bK?\=D4kVmUAKHa]!-';@,;k[d+h\N8LVC78Oo4W+GU5+_D9A^Om%lllg@NT/u +`1+n-(iO5fjP4qpe7PGB%VUHM7:VnQmXgW/(DQO8\RA-_q@&OHWBqMi1`B`753\)& +`B0upTnHp?"TgRU)MUgarPFQ>p`p7H1V1O;;QG32SY=03Bc:,V$:[Wh\&+rIEa3$6 +jnILImT8K2-naG&G9ofED1a*O5?8\7E,.>'bMT>Q'g\d0,J!qqqMo*;m5JBt^5^F% +3r&9pi,AL(IMiEOJG)"P"t;`5e&$<SO6=PVmA*)A=4k+U*M)bN't4rC2P']iZ6F*i +(QB]!Adm8C=e0`(-@[.e;?(a%O/hX/+OC$BE*UQ:R0/51i`bne1DZ>]d+W*"mb>Mu +boIBLo_?e_Gp/<GaH6h8M`rBB%2?<2laPRuhklB@9\?LT!tI:WTJn(,X<2fi)LbZZ +0t*beVBfmN3TmO+;PoN71(q]'VU;Y7WQQbC1+u^4=,3=GBP;`4Pmtq05mEp@&*rbj +(MON]B<K.%3d&jB+]1.d2n2,&M((mMoC<ABQiOPUAqY-N6,0uQ@:LV>G[?+H'bgNP ++*sJ"-!dOmXN[mgQrpbWDThh3l?opo$rFO(kfU?Pc#`-pAOR\H1eZc4_/7.UGYuD* +Mb`LWV\.HJ4BM0*RL<LVX)6ND/o+D+[lOK;U5H[5GFHDGR:>71'3F<G]HON5n[?#F +.Aqp-?Fe>m<KL&7(G*P.qpR!ZC.YA(TljlHFC<pE,o2H5[&Ah'bD(,9,uVqP1(Lfj +E$/ZjJOS!&8t(a\n<ET9qQb'D\N9$pAE`5hNt%'$]EP7@^-rU(QV_D;68P%CYQ`_+ +_GgXR)14rQOujAthFY\KOVP<K7Y?de24).uV(96akKC6`AP&h3])85mE%QkM-gRB` +D8_'ZkHrZcM9e?1_@2+F!TGuV[6f1jhaY;1GlVkM#GWifiJ`&RMV#&W7Lu9ZTC9_$ +J`>T1+LH>j2/H*d96",K-&JY7K6Lrh1NIb-br+MpEhAjQ"WF?6"a"/E87icr=28KT +aopBP_q6;:)masMKn)\u1W1]U<o\qVqK"<gmX+\Y$\7'Oa(H!G\g]L"AY<E;#>`6j +K<Tqh@*-%#p]Q4*<bW9QY.fM%cXKpl$R2ApFbVT]&NF)g1W#"Bo'J4U`/;@:"[>*O +aBctA(\@8Nasoe]SYra-"LS7)p<p6skM\"BN60U3Y=$X#X[<,<imR3>Dl1pIjsRPF +)u<2:@rCk_o=bFJ)j$\KikC4&]s=GS-%QFe)TkI+:VVNrJg(\S;h+p(rp6EkH>B#, +1,F__g]R.(GnQhW%3CmESWa.Vr/U,6O18cK[td-V(iOb?>7:WZMdmc&`)CVL%"`#P +!<X\e='3)3nL>jA^G%!egoK-EC!eZ2Xk/@)-lT`:h-t*WA@6jq?i6Cq1(_G*!=8]! +!4BabrUIg_d3@Zif)_d$."LLh'7);fdkVQVCaB"c<H>r1q(=f%6O,<L@'\K-C'3%4 +UUi02OX5s@0jr=P6oGsooAG6u[]nQk.NH<J;&-Z#lC9%!X>*>uCb'I4`l32iOg>G+ +I;+7RTSA#24UM<5H"ZJ[elRn'\<Ni5D0qD5'<7d%EdSO1TYr^`2?gd+Zc5o%1!F#m +i",Wh`i!dOB<q"PI"PTjm$#^C!m1pIPalAo`BC3tNNfhGGQNa>hk)"<E_c>X`C"4n +Feq&O8c#jW>$@HT#f&pd3BBa/fI3XQZ;7Oi\Y%a7eddjN]JB2t1+h)Z7mgND,;dK6 +1dP_j-VOZ-ikiUY+F]fBA%YC^0uI>1U-'s0iW/J4V;7jEdS28WJ,Z49,4+//S,k%F +dp2^c=Ets'>I("=[X1mo5?;?ZreJIeAH%$QL>dh9e?P!jU!RojC=!%MC3PX=G_WL+ +*dU/!aP\/O7(;d0GpM^B<\lgE"KIV^:1Z]?`R0$;1/Vt=F+phso,Kh^8C4/uq\[N1 +)HZ"6TnQ9&Oe,3fjM2!tQU\GS1j#3_5oM\nZOZlP8-/Q]2hU;#J='T)kf\VRW]Goc +:#Eaa)OVW)*$M'l\E+\MP5W1ZU"Qq%I*bF"7)T6S6*5YH.%6@+(Kk4m)HA)bg)a(s +g*Kg^3"F1,(YcY<RoSWQ'M"!7RCf;m:E=9CG#g8d=utLF=I?<RO>#F`OTM,iFqo3. +C&"thm1:^&h2IGfn.UBJ?aIQ2P.J4.!q;QfYI\/2O[.pL:l['f?MYs8oL:>SgKb;! +Z]@/G6FI2d6%\18:9$-4Wo(NWY],,!Z<a'?V2/pi14.-kc,1Br`o&R\75F'ZFf>B- +^\pF"hbA8]HPFOR[C]hbaW2+[el1&JrXit_7fY/#/D_lTGHT3+,@m%@pA(Ni4XY;S +/Q-Mi+*CI@m,AcVTV!tBfJ0:PWMV]E<Jk7Pr9a%I,9s=@$N/4R7q^6B0&l9,iJ_JH +AC.D&@hoSnVYs&XDDI"H5._@]5f)L0m\N\nS"F.dIl%c:L.=P2)6LBW$=8J-WP_H8 +3&-$ZR%\@Hfu"[`dnRg1ah$!ad6Q5F\oCVg!4Sj4JCF@kR0Rk+_[%rlonmGNlblN6 +7UHS.3C=*s!U`oDX3B[q368BY;UThn?(BMB3P<]Xg>U.\IH/AToH^+FLW85XJUBlO ++V.Kmq;SG3fd91PRoE;;fV'6/GO^7j)mAU1hfaH3p#<@$kG]?"0C$hT(5cV(7[ff2 +8D2!_(T%:4Bmr%9S"B")qaLKdlEW\FK7/90EdZB03&F2AdI!1pQ1-'OQ!tVsf?j&d +CtuMI_GWOAFBTK\iG)E46SeK+ApsGYIUWbcd@c5-Qf2Ha](I<Gg!:3sd*)g.T0/Kb +Uq9P-5R@2OJ9jkN:qX9.Bb@+Q6>;`tl@3i5I[emOY</J9mdQ?&4.r7D^VqcsC6&kb +!`H/b81$tdEK<GZG"8L(^GCT%oOfDi6.,#+.=u)]S&)aAY"";&bfLo]1i>"o<EmDL +)D]W6%#S#sDiP#:oNPh&`&$`E$r';5!Q?Gi$i;P1D+BaK_SC;]T7]aG9>ZPL13$uk +5npnr8l4;>PiFuUs%7',&0[KIqCclAW[$STq\BhOcKdmXfMl]@H5P.$@d"/)NY`?e +\KPF^Z,@k*@][':hL`uqh]Th?#*??`@PKbJa>o3`\#5Qc)"p<8B>iernBph(T:lEI +7fF(Z('Sa!T?+W2Aj!krX<.CXfUtDt$1&=I9a8H,ZdI$Zs&`ZehoSRC-^?^:(s0CC +"FL1Y!0<3pA7N'l:=lD%'&UYhi:oo]jUZe^).UE23SmWi#>^22Mgk3%@)S>$^SErC +\\:$D1U_qK[NdI3<UVT9+7OFW?8&e>Y4;+JR$5/9:*WrL+(Xncr7MYK!*F9i5U"1] +*:uc"6on:8g78uc1u`F"*l`MWgV+@#([tK<Io&Ue]g9$7nlQ)_]MFC8A-kj(m388W +(LiE@F]/FE2/'u!'*5Y3k0U.$i\`_K';dJZqF8Uu=R^4K"2@;K7RUZ[bt`PC>4(VP +J%!=91_>m+c(q<-Y\(gt\I\Tb;hRb1NpUbr5d&ejPZ,GbCs-]t`fm>E%-:mb7%,Cb +g(1E'Ek=*iR'Ndo<GquKLnUb%/&$4i5"$j@WOR9Pj$_`G%*[*s5iXG:KD>+eIR3jb +L^'!;EkM$cLbTiG=P2t?OZcEp*a@D.W9+Le#Ho4D6kG1u2)HP.cCJpp,1_Wa=QUX_ +d[?0XZ#$Do[8>b0A;Vqf?Vjm,ms,jK-:KTX=AaGl+W9,Aq/AYS(Ictc".pfmP].#8 +ZE1B1N$\h@[*_UC,PZnD=5.gR7338XWVnBFmb.S%)Rru<K%MaQ[Z^9'%c%NG<P"D/ +oe*2E"e"C]l/]kU9*@dBq:HjBls86p8JiA-7X+V=Xd>Skh2gCe`TS5F5iJs%+pi(c +1\u@d:KLJ;f1_ha'pS).S`>9eP/7IN#poq0&@;rm$=Ms*=sB\<7Uo0E2aQ+R;MHai +(?>I-)E2\+gKB/J9f*B?j^CJl!.It"`5AW$@dhYFe?$'cHK7DNUrm.P:%crr],dQm +.ZO:lR]cN@L%!Kal4CnP9kjK\f)YgU!;NC-K&lma?$1H,n"L3_b1PfsQgNON.PQoo +qqP79!)ua_r<[H71X+s:E*aVF6>G/jH$3./afJQd*>):sqD)@q08-_'D\[tVV)bCh +VMbo=\M$%186cW;7BNZt2rd,#fZeNpQX)gtiQu6B<dEYK)P/&)d4R*5X<DYo5&D/! +:7Ah>`:0dil=7]+a$d3?V`?M)!e)7!+#/tn&M"=mgYH4RRa=&[7-#tiPc>Q8c1.B? +c*Ph5++pjLnIrA(Fp%b7s+mI2Vllh[D>rl!;93q>SAn)R"Kk)1Ne@r2(#@&!7BnQ+ +l]+;S,+jrZ@"t,W*$(@+.l$B&V-Zb]>FAo@\4AnG,Mn*n?>JD*#q4/#?4U[!Yf"cl +m"Mc,lkFe++/<<m(>R8E"*W=-cJkGFq(BYoWsl6.^%Mdm@Dl+a%@::^MncIKs1r0X +Iq"haS?!Sg6elA0Y$<HF(fc8*C!4eoAQ7q;'pC?q&o+,C&:d.u.^I,t\c9TgS%3=P +4-#4;i,D_8<#Zl"*kII?=\"\Q?F5&/j^T1$3,aRN[]iVOmAKKK>IWd6/fi9$-$[Gn +$OsQh7Cs7t`DPR/O.hE+\u`-HGbpGS[@#n+TYB>VHd#BulhqrLO+c"ic.Pq*dWtf1 +U48A$b\^,1dXhp(30Ec@^r=n)XD$eDUU%G`&MKsBOTt/Y;@OA?[9PR8/[q-8L9G`@ +E6VZ3e^L[)$%MqVqCBZK2qjD*k(+^]N1O\/<<fF>OFofAU(Og4+^^9:!+2Wg,2LGA +Y?5j0[kj$F3G));p:^V'aWA*CT3d+El%hA+YLH6-YNamd/9g`g`,94g7`e)S3K&%E +^h]KD0IP'V2`\2!J/QB=l'[3[Ym^e+@TX'7?d"t"7nEJNY3tWieO/1%X>u-K`no#$ +9hpa(IZX,1U_:,%>fQEd-<\nsG<0.;7sO@),+a!Pm&BJU6G5s:OspXobMYQlVIkac +mMo%+6>l_'L]*kfJ>lX*ET*U_&*c6H$SRbE,FF"I*h9kJ5LF5+g0EJnSGK$<(5-5q +2sBuH,HZ+o=*6>%jS2Z(/*;-/fOIMP^\0QA'(Y,*T25/pY/s+m=7$aai].^iQr"4D +V1O,NQRusdkeE=Wpta#GX01$4P-k06D+<kJlc0-EX6g9t8=Vd!=t^p.-<-G\X!DQ) +#n58j&:IuXKK!+V/R;^YE"9tqD5<*fa41=9LI)MA_GEX'ZT!W/q4.QUp'?VM*]H1X +]YKia)qWK?H=BXIAh7%gqt-EN9N4&)a-I/#p*cpM];"R!S+:HZ3`1CNdMR'#b=Wa+ +E%E2U`7#Xcm@'8@4EEH/)HVmt^1a4bR^14Qk4DIM@&s%_MbWf4.[\Fea0It0g$k!k +(P=N"s!DgJCiZPYO8'*hgoH\I&5uGU1J"K4JA[h]&<\#5C7VGSZhLZ=A]q=@.#:Pr +3"l+unM_.^B'Z7(T()TLO$4?X.&^CBh,8\oVXc#,l>04pN76m59fh\^S1nO8lB92t +bb,fMnt<#9AT9(JmI8:d-3D%3gERYa7\U)baFm0)AC&\\'A5XY\(]DO9_7R3QL4'6 +pB\-Rh'FW:,">Se<g$[O)=jT-9C=@H^5PT^;0^/^O1:p;M?ZpLXVmZ9gNR#XTqD-] +%J$MgiP0D,hhN:pQ1[++5raj-O6o'0*I#cc.=*QL&`chn<\J^S+tmb!r&nNi52]r, +&FrFpW-N[</Vb`0auapMUud=:;<g`r^J^Ogl10<i*M_oJmrN^0QNrc'Qt617k't\= +9]/=ECD$*s7>'g_!pF)D4."8Z(/hk'A`aZ,(u`eH1#!8Z^hN!'#FfP\D2U1X,bS@_ +T0qeKE7iu#Nhmi8RHPA?@E[/jY%WluA'7?n-`1`C-;jL;#eSD_p)EMGR#>g9GjHpe +>"ANc`De5I)k/)j`gp*;#+A$k"?V!X44&]]0=$c4%>?Cj@-3$!(*["l`LkhFgL-_Z +=Lt77+i*T[Z?GsJT-6F>Fh2;Bc3mh]FbtCO]d)tJKfZJMHFhM&C6-Xke'>[L)S/s9 +c9W@&%+_IR%jK[M&oe?#jMuW-9l?NS[3k>Dls8C#5i[S45MJiPBQMRHfSU$#d^D%[ ++js)I/*Prg\ksniZF,e4FR?8;DD^26Sp4KYM^C;&@de!RULW6>-93f2e!.7YOqMQ% +CE>blNc6Ng5[-fs$te$S+8b]62*Hc3Bq!l?T*Qgr3P-bYE_NWU?9?,m)/KAA2M2&p +"p0t`lH6*\NCEC%b=/9lU/SU52/=N]J2p?_VFecYW9LCZYfD'%7%hW+.G!W?b(0LX +\F7]1BL<HLEO<jo^=^70?OEc$7]W,qioSrU%dk.:^YH4F@^iu(.`Qjc@2f1JHu)jt +iU.INf5o/3j^YPG9hJqU+_`P[J)j:U/"?%jeR[,'%;4??-hjN"S'OH801>L`O:b6$ +XN5<\h@'PL8r5e4d59t1^OTV=Wm&gVp#AU^R`7N7%N2<s+08Rmdc0,n;2Yl!C2TN^ +*&Hr3\1Q0e1^X>OpG8\qF,iT#Tl>V%b\[b\q1%^`:m:N+E/r7<R&$H83ciTK^Iah? +^-sH).U]15AMgm)P]KsaS<LG4B?R]@HWZ-,U+85QF2-;V0]WSZH.=uM'EJ.<!;P75 +:oX6.1/jc<*Cun%X>LTe@/SKI.m8$6/q#C`SneG?#2t`?gqC#M0,(6cXH]Rt"?=C6 +]o-p["8u*uWNP[VMQhBG5LdiC"/@G]H;>C-KKigNhrqJ>jM/i4"dq2Or#rh.&)])3 +APbRgRVa)ZQC;K`%m-VZMG]#MDXsQRW_=C5M1!@_)$Ro);s%h>;&WL+4+oI\6Z3im +F98d0hn#_"5Wh,Y)=1u&@FT/]X`j^NV4o&[XF`Q:`P*1j:85G_03f!nfaI,J[CaE: +-r4#\4.eOSb;Aj!!AU+YXq"F0h+a2Q%C_V\11;OUfbmB!-b9-ndj:JE<tIdARc-;S +j+M71LYqtqB%C^p6i#Rg(fCYXq-bQ2@#[(R^/?jJ55S/T7e"sgh&N%id#UsH>^$ZC +8kUaCTdq\O*u.$Dc<iR[<]>)qQB5Sk=!`3g*cqf9'N-,BplmAPK0\2h6otE<;HTm2 +P?rSK+J-P,/W;.<;M<*5VXL029e##jP1<f$Bmc`?b2l^lAh\)_Lmt,ZI9h+,GDX.h +o%]hA+(\_Z'A#SMdTuY14!MkB'<s189Qc%1Gu<UbQ2#_*p&*Ha[InNVJG#E[)?Q=o +9j/?WXZ4\6_3[;$)pCu0h^7,1&!Ncr[/iYf+NPmM'-L*?oK\5C-m1]'1*ng4(H$/n +Z?;sZVV\2uKtgFZpLshiQM7>Op(;K0m)#F/%]E['HR'G-T6180dc@'j:LaLR3849` +H@"U@hY9H%PQ,dm"uXqd8i9:iZ00eu/5nHN+]GV3bT%t(W?B>1\e,ddL)cT]^llUZ +SDSsN0.bl#LS7X0YjJ;Rj=:pH_#K((Y.@uSkD?HFKIS"CqRu'tV*g.e,U4[A54W)( +$Ju)"U%D_EZ&/?$JXM2ulIK2p%THS6/EK8bBpO)4G=h'W*.2u9Vu_dY7dN]3giMD) +eZ#T>$2d?BIB@@1K-8Ns0PQU6?-n_]YC!Ca@h;;<=*k$&P)-IpM`ErAn&-%@YoOQ5 +2IQLJ?k,:05ksa%Qc@f^#@Q9dJ`Cmo7pHSu4GjqbJ(WbnC/70n=)"N59C*iH4e>#b +a0/YjVAOP>N+RcGJk_.mE-_e*TK<F;b5r_6s#K^-(GEotf.&g@4&]s?@K@a"4%J2F +YNg90h'qV)7Uf2t),nb^C6p?7i3#!3kG_S.\V0(tE;*XoKCta.;>g2pQ)P[+(9d"8 +O:<5+mG9V<fUHo-&1Dr@3;0u/M#*fS80":;r-%1MM0*+$E-F??kZa_"2.*EC=`Q<a +ijDn]NSH#lf=FKhM`ms<)%coC2X?qA:TehZ+$r>9*IqMTD[;75=XYJ+##O<SmY%t# +Fd[Ieq[O4r6cd;'(=XIn\k-.4!clW?BbCL_WDPm=%`,982jd+>fS`Zb)G@1XFtpBt +.iQ`)_BE.s%q973gYXr^6V7Nj7NiBO_?:pJPKuI(gcDY'X=a+Z"Uh3BrF`2k^kg;0 +(/D&>k(UeLU6nlk9F:0D\^nQ<Y,)Zr9e*ZY-Yf;a%EldZ=1U*^-=ZD`A,O>lERE$> +(6r=1/3fMLZ3T,6o6U4f/X59ra'NWirMW3%89oH9W#-1JShTS&)F9BTAlqs()(hDY +n@-6W.toQk[BZ1n/S-,cIZ^$l*H-,2DElg3qelR[)"Y'\StG7hB8=JFm5)4Pqn^<7 +h7hQJJM=pk'Xk\ZCWNK,=-8Kj1jIlF+j1pJ8IBdrpg>S@8C:<<P@G[=>\8On?H:lf +bJ)BO5#Y83mP'&fiU"?3RjZK^2eZj#F5'/Il-g&Kk5tBolMT$TBU/1c<_kc6Kbq%$ +iEQ%k(_mIK,JgD;<MN@fg\jc<aVZgdPWLcDNrHA[/&J;qL9)Vi^n`,<_,b'2$=VZ^ +4rZh;X)[n7a.cd/l=Ru'b6NZ5&>(GoA.8l4S6?\h\R-2G?H-LUi<3sjk@-_`nhWqS +BLqmmCm&D&4>9%?W?+-DV"!tiWs$Z.fhub9",afhQRE]cN/+)P3f1sZYUNm3Jq=f? +Ks[pid9]4i.>kZS<ifW]@6$iX9etGKZtJ'"V]i^Y;`mWnX+#Rf"NVA*H1uK.5)Rd< +JSOL]Xb-f@b(cS*aF*_Nj=g.kSK/^HPLUoIJFs$-[7=r8[ofbloIX&'`"E?=lbN:& +>VW%i#<1TX+&`A\l<^llqhB)D)Jt?a!9qn-aV7"AYAVp)T6`T>O>?6-[ZD!G-2eXh +M)*`f\n54(#mMutV9B<UnKeP$#W>IP$*q,G`hW(@A.[W=XdQ:gOPLGYDX:Z9qmA\" +cW&!DWIYcMNi!QaVZRuHXVL'@<7bs<Gj:m72;nj\-c<uE[8s*^k;!0+;:_?"[^;J2 +E)ciT'AEc/(h(U;F1J'bG,@.>!>B76`Kq+@kF(*pC:iJ4@budT7Ff]F'o3"j]ZEIF +UNSf#Rq'?8kQ-*bO/JtJ.%44fkJ:^G@nM&p.oHe6:CkG3.K)'</c'<IF#LP'6ekZ] +PP`pk8$ELSaf;%[^AU.85fBWbPd3CbK,eBaE%5I<dCUde,\a/gAL#p?0Em,Mb4ToY +OfqoS3HoUo$d.t\"i]#=HAn:($)Lgq6\>FP!W18d%spLnVk<,M*&0OG9OdLR)h/Gu +H=5XAA+7Z:(-E@M'-c;\/-#\VrqEGQSg^*Haf(\$/JmW,-K48,=Xg+RrHKUZBg#Un +7?6G`/Sk[).<c+*Z_Y.((qmrTn&=km`J.@@?unlmTu7>8!!tbVg@lk.O/=4@o:C9) +`1A6hpK1/m10BK=VT.;MNVO>Ri8as!/;$pC2C0MeQu1J(#Y\<@(67JBmYD;1$,Q*E +s.I4U$-k``?,[5;;[\SHArb=e]e9o&e-HRtMiLD:JP[B`,J`Z$1jNf"0UUPrT-`CU +?E+)L#t6BoqUOE0VdbTK=`"@*<[@iWh_f/APf*mVhI$[Yg^N(9]>QVLT7JRD/3EU! +E>nLE;.s.3GLs(kfbs^OFYbeTEJhnJR`Q%62)#4CPCk6BZaZcZcDbo01VGm[pCW)9 +rqAVs[HuuI9K,@'a%'k)QgphYWL:,o\"5McBXb3P.ZQcB98EcCF#@Ql@*75c%E(G> +^YEm06`1+K[TC!*j`S?UBjO$$:$?S\40DMe-:rT=o^L9T4>0%ER8qVYfA-6q7"u%] +Rh&jd2>!DM^!f#//k0-iB'OHTHRe@Zd)d%0C<cgQpAMV,qA7NrmFa>R]m"d:?5@c: +0+)#d9>,%Q'$_;sm=LLrET?$<1e:#L]=1W@4\0S]QQ(Gh\n^3-/sUH7\bm#EJ[P'2 +^-&Q.i4Y)ZO+&C'"3UcjDbnriEZ>]'Wt@dR]qd-9p";RW".de9+(ipi&*60H=qiQ; +,n(UnG_@M6oS@mLE9;?kWtRf<=^V#@0tco=EApAJfF(r&TD5(b,I&)V7&upMn]CDs +K!nh`8`L,Q@\?R%J#Lr!\D4>.J;-]9=o,\$lb.uIE#MttEORJX3*pnm9?Qk4'6G!& +3,.."@:u\>`KY^ck#d1Y^>]]"AV\<tL[N,1p$o(##:1*hF4S\L;D\fT3F?/a'MiLo +p'C)>L-Om[N#)()UkQ%kUM$uC1RU,)J[@T8MfhqQNA,!r!#-NV>QNaWiQUtk&4Rq) +iCeg@A1\+QZJHJ;(+dbshPrubKY+20gp+5fJ@Z)[lFN'<NbCIk5UOL$08r-j+gPl1 +[W;c@kj7LpD0Y+\CA!>R)_Hf_'^2&ATGDs>Z9C*!<JlBY50(m>#.I*=`$68d_E',K +33(b6EH7&mqcj!9fUmF?[%2CA[bn![]&hP\8O46@q:*fuV?Et"IW?'OpoJ'+-/$T/ +UtL9Va<GFpQhmj(!CmnLP,/hIFF(T(@lN`=L*"(O+jDl^=-BR=9o70bNVTF[+)Lt8 +'<IO"<sqm\Po+bW;eDCsV4M:9]1Pd="u&_$UcF_$S8hr1\%I*i.56)=qeRbFIE+%( +`%QGS!ep#]M=1V#N4\2^OUkTO1R"7WLm2e<@Utq-n=(Np9[)"i$?]Z0::P+!2$H`< +cB2u:8HR11]do<cJeq*%Ur&f8DD"FYHo!]9"hlj-Dc]^U\WV#.h-9[,X:8>\ocfnI +2B?U"a8V,a2%Rdq8#T'OE!5!W=:Wa`K(\CY]CT)0e0?MWK8B1Zbr,@q9&VVCmT$4X +#W@?AYt%SrDWN0TgVS9X75Q+905Ar-8Z@/$@E_pRa=io39;Q&h_OWa'"]"=7$2GI; +e0W?^nSI#PbJ.X"dHs:;WB8^g"dd0S78>e-D(E0Qa.4Xc)*gn\HH:=W+YcHQX[!O< +2c[=@_FcKiM%HRR4r`R-h)eS5QqW0N"I%&U43s,Y`*-5R$PYlp'Wu(2^^Q2dKIj\" +<%rrBJ?G.[!eri<r(^2gJ/+J$[c7a#T/jYSFZ7pXGD>-Mn+3T!NG'WiQW.Q[Hqps9 +h4`ha#&Wu*qop"PUPm_R"$<'-pU5"n#H!j7g_(A@U$P_=6cH(meKou^]:5)HJpNd< +aLVp\8nm-"o-fRaE%QV)D@$Cc[B$d_Z4bTZhhLW8aX"1ba.m]SQB'5g$F66Cl`h8J +IuVfQZIH\8Har!Eo\\NrL&oFm6fC26m5kK]O<jV]/X7$?53Unf?*m)]m&VmfrXZdl +HjGQ#rnUj33!+]NmeKk=!&(o3pnV>c>BWtL!6cZ?8m`uHCkh9pZ@&HM>p"@Wqit^f +h+'0"#rrh+$AX^M>obgI6nho>d4doArpY)LrJ1H]/.5[mlfb5W+(c5=>9`400*33E +bE=#'I#RCd+CZf;SmZ(&8pZsDFiYLOk?]X_Ffh$^$\/53n=.^"U"M,lL"cbQ0i+,T +Z+Fs_C1Z4N9J=5qO-8AU^Qr2Dh26]Kc%W_;.Km&l!11lHMrN9MJDiZ$]Cg/Z`2TqC +D7,5hfCFn!#l+QLb/1K9.LeZ]f=6DVlgVQ4*%7Z#9,-e&Z\h7^"L[u+"@Ff(a/u^] +'fM@5?P;#_=T3Dd3,<+C+9p"-inllL',n^W.(g:>;2oR\Y""Ik<?SQ:hC?=\WqLj\ +#$D74fn`TPhAuBO(L1t>G)XfAWN$$`C(&LQ:R/V#D5.[J'aZZ?%R1o'XkdPM$?qhp +OmUlq<kW:8gI']@)i-t@]@C\<hKC/\T,Ec``k^o5;K^(#^-d.=O'+Ec0F\6Vp"u=N +\Djrof^4E4`lCiY\]GFXK1dP3D?Y0=ZeN`Q-[HR/7*+."FXR5PiHWSoWm^Q6e%!cY +Z$.8PW7p-7W;I."Y*$+rr192D<NXRjr7&WJA6[K[k-)KNn2.oJ?k.)T!=8]!eMtkt +/9Uo`Mg=,5l!Q`]aKNJr@]oALa'6*Gjg<+YG8):e,indD+uV:Ue"APX+ER7H\>-`Z +E6HXH%"9rm?KspUcb&9hR/CcUAfBh1-H0p;=AFD]ak,?,,gPuf7T47%fhUD=7[SLu +j3^aKgXKKEjedTXo5;QKZFdo&CsJJ^e5/rW\/gVFDdOiE.kkp<[b05a^m3R/O;hXn +B3$i;KV$QBoL-3uWrlaeB>;in+AsH)+,X@k^Z?t+";JOg@L\[3(6s/')nM#gf6TEF +m?n6I<Tf`D)&s8\3;aiArgV8nf1'<_&%-a+T7sIbc0e?q\GpW\7Pi-NP*GR-m-hJS +C-WL+CI46_Y,h7V@'&&QhCZW^<$YmWO5A\*nf*>\s%6.V[66sF-pUe%KX=a32SjQs +NXC:>>!SgW&?FFI7_Ls;.2\Wr%JHO`QOChU1+[5nG=?0WZICuJBQ'sG\@[9F2sf,d +0!7`/k)g"n;^\m1m(;khHDY,G&G6Nr;i2pnB-a3(;m7JFDD$JPq8Z#$m>.)nF>Dj* +&&.(h/eb[cJrX5O1s9`hEg4ZN3^fO6_[@0+-"R2/?([s=.XmV$A:81L:P9ojiWi(c +%ABfs`VK_A4+(_&E`rVYb`&gbmL2J^G=t;X%g3:iBeuITi1U(N#F*:MlY8HX\\'J' +?D,:kAbep4a'b5*0Alec[#dl]W!6Yf2Hjm*CnuK8/)m_t^D[A0rEDlu@6fN>ZMd7; +:JC1Y7'1M>HI3L**a"&GM^QRZ-A79`3SQ7$+VHP@f"9?q/#33(X=-!)>VABc@g1q$ +k$krph9T2[<?O-CpSoA8$idVbj]]rA=u!(u/*udXOH`f[ZO``cAm1VshsZ[$>Ah"% +0n"-QVti\!s%[#EQKUnD8M/#t<8>0jXsA"n8r9'M'')H;>'o.@KiCZ'kX%DrB4'j) +qPXNU;#NeAaA0ktNTg397h/_1cH\d/[iTN9[%6;C4!XOe\kE[@bKq%N4'grp@>g[E +*D_H9iQ2hNqR9;=3p"I+<d8]D,@'CN[G4()6<V;^MCn"sSkkG[h_:,%@-eq-#'NHN +"u0gs2`5>n6<""kVlK0@45;@"=/R>oF[8aIW2D&>cCP-r8Jh<_)rl\9RfcdKaWj2" +'Q@5)LqL#+]OseufpiaFGdK()8eWf<Jui%FK.6>rKNLoM*\Q##R(F:#\n-3E?<f8/ +D$/e'`NVfZK0+Pr7l8nd1j+JF29@Z[UiWVYP]hU0M5-hO=4^6D5G9_8#Hs71oXcJm +IOFl6e;iPg2U-Qe=2i;E<(Z^4TYA9dQ\Kpt6lM5_j:@!:REB;@C:`C5(Wtl4=0I:N +C"OitSH]hfUnQKq>*Uo-,5F*>Hp:Hs_1:T>jn-ko+Q:X=1P(@[;^IO]0dT9#mD'.3 +Z;t..g`)-Vj$"^fjQ5fP^1T@cE^tlc/Cb+.oa/66a$?MS*Cl5R=Jup9M//fs?*Qut +l\^7=4@*YO'ou(T@F64!;-SJRkYg8q1Vi&s0q3s8ePX]X<$sa/=?`qd@I=G>H%l'Y ++@t#T:?:,o]/>te7O5J;ebKI,I.`dE$fTPj`IX@-gNrc?H_];b6Mb`jG;ed*8\^]G +Zp_F@^Y"mFR!9u-.>mqQP591s0fD\]1\QX0#8HT0I"fSS:W\j`St4Rm'oo:pYfXkg +Mg:hqY<E:eK6,g$4V<=%WSM@'c)#Z@jTY`5>nlo.>0)pYarHD=\B8)RE,8&7lK-]o +Q9Mn-CWmHpVj)DJAKe0![TUSi(kMJMgE*8tDV:gF5-PLV;=^T$8fImZ=Y**^?uqa* +#jA5JbR!pR;QP0j&Tgk;*k,.HRDCR4Fi2J])'3m'1B-;K<=/<""K)B@%gS)ce"$Xl +iU=G#[I:ZlRo"et&g=-E]@<]J]61:P_cm.EhLVD/UnegK(O6S"VHucm[XqHnorV8O +SM5u\JE$>U7P<d7Fu);ea.a.bP0`#UfT8$!ZSV:R\Ol:<g4`7JRsIDq2hc_U%majl +%=gQo/#"hJr[BEX#Vc$FXa#[TIduAR>BT_Mq[gHsBUkuJ?115*@Gc^H5=gZ:[>1@U +4,6$9iscAO$/*Mu7aTtL*Q/0U26%u+'?I6i3mmfTP7t8[$\h@LRD4`K7*M7&4=9]O +\\=Gn_CB"AAIb`@Z*$K%FbQ)QK;L^Y'u`,)NElgq9ktl>aW07Xh<Q=L@M3"Q;KC"6 +GQcl*BKaQq1__'EdNMY=rl1#W-5]IbqP.*pW.\@o*"WT+G]\/MOm+]]5q@Ub!ccQr +`Jj2Hbq@*!$2_+?B49g5Wc'Q]V'emM:1+27[5LAJdXcL(gcTl`.(4mF#KZ`to\i&i +Q/lQ]3[?sq--Ll2X4F[bdJ5%K!p_D%lDQmCJrne$8Ej*t?MlK,<!Y0T\%6-[N?5JF +HuJ?am"S)U/BX)#,0q?$0'(N</u09Ia$FH`dj9n:!5-ncjDC5t0TOh5[/iKs<7\6` +2gU9E^0o_CqP,!PX._AV[^OO0n(g;O77=ReG$h:s*.GiNaYM@SAQ4^qq6gM[%W]lY +XY@p<0?P#S09.:PZb2[2q+".$:;_SnXj[^B53o#"3Y0$P+*PT=jV;'V'9V@]W8#-P +<ch^$G<k&+WM9Tr\.4/cXT/M1qY(:&92n\>"_D.obn6o#!YNo7\PlOheP0u1YZQZc +)!j"7/2`i>9\&*H*(,GF0jM.>1Cpph#EQ9#o%NG!;MA<V-asSUeULHqC?'$IRc^@V +=tENs0H8&o1_"3"]1PTQ^"Y=UTNS])ab2pihG^#c4Z)T/bS!ho+'IaBi3RJ'9fq2\ +rZHRg[^E6Vc1M5B#1mOn0RNol.OCogr(!m2I\t"97$,4`r6hHE<e32X(6F^J0K\)k +5NE5^]\ij-PU)'XgrN&CF!8sDkD7]@D<_R\W$7Emkc7&/i#EH4%;+N>$E<%#8YBu4 +iRZBd^kWc95pRd-\Q,IUeQ>f^c):12LHY,#HI<`,9:U&]'G)(,fRdjCT>Zl`*mgG_ +ojOD#5FMr!I+o(1Mki@Ep[h!)(qJA-75/3%rVI/0:BZn[)R9*K"GKn#0'*Q(XL:=i +L@Gl,W6'Y6*PdZNWZKEJCdZE8<=aQaU139e]PYV%I/44%#hIN2_rsS8K'+Pc-<=4s +J;'$62M7Y.bB:J?`UG/i6--bUqgPppD@*)HN]=:)>T;W%hHOdj%I5eKMWUBp*QC.P +dL(;X]47EpMEgea!B<LB%=GbR]bWuY3cdH*g&BWd"pm;r<pJ3Z0;b&NDT1lL"=ZtV +S(-gD2*kEH!%D'<Ht_4rB*8A,E[ia*D!#6M&.fc;1R)Nh+g@)3&Z0SIV)s!ke:aL; +$D.8NP!,:`m#+_L6(2KgXO*pY(SW*mG_MHsWeR>]QY\nQ,>cKDTWS/li7fe1Wn:LZ +I<JW!KJ/V,!\@*4pA>SZ9r0Y*Yl"DH[I)I\R]bZ@Eq9Kn!7<!DT`XWXpG$t)SH".J +``$tE5!J]l.n9I=IL4$8X/j`+@ebF%Z\agN7$T3S$S7Y[P^e%p;su;VOdtJt>/5d> +_?[L1\`UEE?"$TpfBADkgW-`OGNcrHpL"AVh]uIeV\Nu*'NE1llGl[G=aZr4X/rRE +`r2f`*9[bHc['+C7i;mH,#5!2iIZj?:'"9VFZ6r:Rlq&qkS?R@,JQRD(OeFcC(t9R +4fH=ET*=Z\&a2Tm`Z+b0Iu-ARV,!A/?Z'\Tq.\OkYmCtc3biK+a#[m:1`Fj(F"%'T +/X?W55<LEV&&E633Ho<I2$kOc&dJ:Ec3@KRk!;kIYFO(Z=e#@?,4YH!d]cd\PXI8U +%J4Iq5';798qet;D+W$CA3>TIAd#G_'([V"_lukk73knd5\>+,HdOnMbEJ2"[J/7, +ofs$i9><NK=['6p2,4(O8r/)He,Z*/E6(n77Nd\=O]k8.?4[%\%,GNlQrF.d3](-7 +G),8oAV,BJnqVk3[-L)>YWcG99gYLD#`u9]jZe@d>R7[Wg/c"Eg;`%WZLJZE;r79T +NnJ_K!Eu&!&piQ[s(O8;M6-kV1WuJ\RQ3Q;6*c[un[3Ma@G9b_^<u.>o5@Q(m6^o' +Y^i](PQu2O%9:m"H'al7bSaT(.2NsF/XYAXXe5d5E-Enm$(8Qc;rme!q%,D+;[R2\ +hc1d/[WYb[,8-.tD![ol'9)-Jn1Bd.<89Iq)tHU[?!*3A.O"jnIto.sO'B;@]n'LS +oN2Y4LBX*<-!7(r;^T(OhSKO-$d(*Q'SK'PlI@&h4B"#%@o>V-Q+r#qoMqRjj>01[ +9jY[2US9R14P[?!"G,u^^=.c"&<W;@pAND`Fj=;82F8bo#QGcq`.SV?d#ee\;&.R# ++k[S;La''U.1Q,HOg0A>%!FsgG/WC5!h&+1j)+'Rm)=If<-JkKha&>^%A(+a3a"a' +OJdF.$u*/c?/'#3^>_*00,Peb2>K+oFDpT44VX;)dQb!.SsACJKjK$.E)HSjql]S) +Ll"t_Y;3?lSh3-%6\hW%[\aA["*H2D8gVu<*g'Z2(Z8+=N(?LNR_q5Ac+c8)[Xn>+ +MS3<C`QobE`:J(0N#t)VH2#ACO@S._bDn)Y#%HY)k6]G\P,0]K&,f5l/l?-@I9TNk +.KYM"TA@h'%n"ei&=hiAb7%`_HJ&E4N(0jFq(ZMdGWW1>f6<KLh;b.Lg*W3$e$g@r +f6S*U)+5Eu=sUea%psktmJNeT2`I+)L%316rOGGJs%sm5VZQN!>;;8ni$/(;K=!S2 +\-uG*"F@]C/ig7B9<2'RZEGNSZu=YI6N^TZ_&`H=O#BFSb08=>:L.Okmm@tQNhR_J +fXqZ!9_S/:pmIZR/4Vjsl#71R_W"dE/kd)LJJ*WQDhg;DbWfgQf[S$<>a@pb]$,.u +dsGA(3t,pj>Ar]`[pl:NZfmX!PkQ8h&qYdu1HMnKci)AX\%mf#p9iJh_T-$==)k3G +!02"Q;Zg%@9u.=TohEW_Co?c<!hr"-j3pLQNe1]2J$3>)Q@URl3:bcu!4@4H@"^Qm +KibJ%*ALASW#CePOo6886k.h=M&o#EPA=S=Yj6Is/1Tr&@taLsnY2$JYIXF^Tn,`0 +'oYiT$,+@6!Y+&"?*=rEEtl%c&D__W][pDbp>a5E_R$K_N%i]/FMusrli7D`?ss<> +$T4i[G]Mrfc<])P^,^%TAVtmhrF>29hDF&;Ah"Ggs'PlVbrk_>q7@q.KEn8[GcL:j +2fo,2(lP>(^"2YO"oo/c@>o&o?_Zq3OqPrZKWK3GRF[6um@P"c30h8m-Q6e$L&lT! +[>n55CBNT,\D8X7aCsNVCVPC[K6l_-+0GA"JGsUgLiAeH$V^hU4!>)TNQF:Tfs%TT +nnH#!_!S)Z0fR.t-mk*G7*)X[1lPUQ.sBhnGC<!P=)ZZ\Xdq'Pid015CEi%/,9[`l +5YuVT9XcQX$lrD8B8pL6:If7db438.feF_hnk9/@7s<9RJgjkn+[lrM9)s#/!#V_+ ++BO^I^?_:Jp,5.PURBfu"#"GUC4p+b!?4B=C%\[b;9f\9fD+C[59>\ijufcTrt9/9 +`@]VI!iu-//-Mko4FF[G<^:`t5]kPHIHAc?>_Yq;%%0c)0K0HTgi&>=_L)lo2Htik +fSVNlHG-PkD59%H:Ve4lU+-&R!?/l#j9f&:,TdVjHA+5a*HTBE>/CXBBEj(O*0?f& +_X;.ZU/Tfhd\g74@D1B%AMs\8'/9n57l`la9C`up,SA1P\RsB']aBpl@\A#eGI,!m +>2RieBRHG:rB4VAq$:LV+*m,Q2^]uQcm8`%!),tWaT~> +endstream +endobj +110 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -206 +/Flags 4 +/FontBBox [-34 -219 1048 750] +/FontName /BNDIKC+cmmi10 +/ItalicAngle 0 +/StemV 29 +/XHeight 445 +/CharSet (/slurabove/triangleleft/less/arrowlefttophalf/lscript/arrowleftbothalf/weierstrass/comma/arrowrighttophalf/star/period/slash/rho1/arrowhookright/sigma1/triangleright/slurbelow) +/FontFile3 111 0 R +>> +endobj +111 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 2271 +/Subtype /Type1C +>> +stream +8;U#>I8CX@)8Ejpn'L!,1Kd4lFn]>q&HidO7VpJ,,:Nh>&lXSj9g%q)>rXsZ6`=@2 +E-M2%[i`*"*G?RGEX6,f%<ZDh#oZ^D[N1heeC[>k1DAej->HGJGP.f/H^IM(a3M<g +H[bGTr18uD6$+Q%*J,Erilrbgb,ideCMTKO/!EN,\kK#6+DRc[bqu@,;W,DK6[)^k +R[H(k$/LY;4`!R']m4"3Y.E\@_i%4cT@D+QOP06SZ\qGbmBF.q[>$aA"hh'e*a=oA +_-ZSMg@jlVfj4;1l>7T'].s+[n#g`a>]7-beK/AZs55ANI1gG)47+)-]uT:.cBp`> +h2^s,G`us!4*S^&E4]mtN*b]8>$LE=TcQRiJ1A1Sh3a[q]-;H!p1AM9G%$um?+5=' +CftApYiHQ8k%.\QD-j-`;O1hGA97/43p[;9Q=jJUbEa#!Q7[9`h:#chPr$&)<p&7L +ZTR^5UVU!?b@Rl[GImNZ=Z4tQm&o^7S8V'!6VL.8Abp6A>/P[BC\kpe+<_>M6UHTZ +aG>GP]",C4]#@k+6mRXD#`jX]:MS/$V<A'<2olou&Fr$U5[U>MoL&H[L*B!eiKKM- +P_80>FSsN0Z[)aX07T6`QR7g[VZ8r'G1(>X4gt3emi$K:*VgB]*=0%['Hc<oS<8C9 +fktUB6Z:$7cG5Qp;)22DHtYJ/b(e9.iRh91!qg$cDg#G6!!uOg5/@03mGer.Qjq=) +H`;`$-_-NaK<j66q9M5aHfoT\(RR)6[<:ZtQ_5:d..]:dk!V5Z,ucpV%#onf9*UKm +#2;?\3:c$TitkH33)OmaK]ETlg#[Wp"TKCa\bZIiI'ucn@VrC&M)B;U1rG8'LfY#! +qOWHDo;u\=CWF7\]`+SY6T02D",*9Q"usd'kR]^-JrBdr`^FKsI!F6[O2bW`J':F] +q^pjH`UTFMT;P.\,sX@,=b^KIWqltO]]J7S/B>%IhIP%spq";u&Hq`H(aFjD9QV3g +;2J,WT>,dFfo)g?htfR(GE#:XAuI$i/$^?prhKC;hRcEZ^Juup%Ub_*.3_DaLIi_0 +!kJ5VnRoJJ8sMA:VMRcPJ.2X\_;+Q&9tZjnl1=^T>$@XPnRTJ?98bVS+@fA9@Dji0 +7'&E2Du\jW1R"$gc>703nM_h`^Uid6W7^0Z4aE5JX";_ZoT'jcO((:ITHo6qM,Z8r +'.Sp'U>QBRcltK8"9aGg1IOlo^P/,V0oc)N;jWleQ`q*;+8XWP=u'R^"ZVI?)6aG/ +7$3gl==bAge/D7ZMp8Iga(imV@ut7'!B_J.+tPb.M1I<G,s&HP"I&$/<'ij2Hj]M# +:HuX0q`KL`I=6a#T"`o^O/J:kb^^GaTNG]TT-Ohh@4;tNq@u:%LB[8Hf[-6;nM<nS +YAed#0%Y+3aeMAeGar;2%"jnX2cf>h3DO?3DOrc1]!UZr;Y$I=EKh7B?6nOa"=\.D +-r<i0+JK>G#ur62dY>eG@m64=H&eE+$@>W76O3O6;"Q8SZB4,9!9S'4NCTbL,*Lm` +UTJ2h'Gg1_CR`Z=VZRnFn,I#Nb4?dJ__jW&o:"W558KLJLfS[r+MhNK%OegqjhbIt +,U0N6&N-^^/I*T[Kj1K$#a0j2JoZs+Q$*\jNljI9d0*0"1f&DTG$'#.%0l&>/M](O +J^T-Dp`.FtTo^$c)mG%ZOGi%4$pK(MXBQ4d'4;h_pD<>k4\@5n.,iQ=7*CBr1n>#[ +i=@Hs8cl/IL$-:(/5"o8JKarBTUuO3!^$!g5!,[URO+>.#t?4DOHTHYK=+cG4ot5i +g5U(AD2Jp9:*QE),V&>9Q3^%-KLN@X0`eD\-m,=!;B3``N7J3/kN(!`reE!:a;5XY +?,,@n"=ApJ+\_QPp\+7OUm<HXX)8PO`^YH'7[#>.,-L]N!KQ8eSod$%]i%.\Za\fY +(:o2@lG5F5`[M%kn^C41GEcopaA;-CXm&iIJjq(\1UsX->,oi=d]/CZ!^F[glM(KU +s-5PeHg@@/c@Qoa1UZDA5IC.tF="<Q;UImF!h&6WF%?*35iWppi;:lTh7.G(C+k#% +E#2LS&/:Kre<\m!n-ni9f;h")?A;Wc7pY"+eKMB?47MspBX<JsCY1Q)3!Z&O-ccF) ++)eo#!-@'3E$9V/N',lapDh)#qeNG$UM)V&$'X'qU6iRo2]'+Jp[gPgI4okIDo?#K +X<&V($-_As*umB9\'@k9g'T\%':YH[WZ#Y!C#7IB>!##kn)dq$[)GaM:W[_4XPqh7 +:F+ZT['YB7@bR@P$8;JR"+b=~> +endstream +endobj +112 0 obj +<< +/Type /FontDescriptor +/Ascent 631 +/CapHeight 566 +/Descent -158 +/Flags 70 +/FontBBox [-48 -288 800 841] +/FontName /BNDJIN+Courier-Italic +/ItalicAngle -16 +/StemV 50 +/XHeight 433 +/CharSet (/s/i/t/d/l/m/w/n/y/b/o/c/p/e/a/f/r) +/FontFile3 113 0 R +>> +endobj +113 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 2368 +/Subtype /Type1C +>> +stream +8;USNHVfo-(B5"f5@LC]\bie'YF@3)>+mA1CTCiIL.>N8@1]F_9o=b"TE<.&W(M=? +&kI9rpmAItLl."s.EGtS@Y@cD9NPKcL_Zo#^;0,8>drlWQd5"n@/oJ%-8YBXkM4t` +r9j"n)5iR;17@LZd-0u?LhQgmb\V]2MLL#-+_c:,Z848.-oiKoaQmm;#<+D*;<97] +j!c?jcW<?(m4[4$hEeBj)a9jBnoa]k8kpOnC"%8AKOnbDUefaNeY)G,p<uE_7VT^p +oi[^Z,XYaIL1Xk%i.?7@DdgFlaG$TbgSIKi]WY,bS?aA2^J0o[W\J<aq/(,es0F'i +:7co%S!.icLl:?(-j:D7kMeKSJ`Dur;,5COE$M[=ZLdY?nd9Z7r2!VOgR)H<U07": +qM+b'Mtm<uj`dQS?r\":lVcSZ^rRh7QQ-1@:fU_Hr);/=Q*%mG6F1k$eFbkE\Et@c +qSh3]Vs"N2GFFMSEB@okNjIf'1aI<@W.aQ#Qe)0jr-)rBf4qt-+;TOHfA"Xb*nsTu +K['&d\s6`^p3>1jemV[&Y._L?SE*[\he[q#G49Jck:4Rk#<(N-+MQn>CadgtXJUmF +'.AYidNT6Ih#>o0BQ<d!as/*Di&-n<INFE^p%OB#1)M:#jU.MiC"+F#IA^:3bKks< +i)LT]rqmJk0O=7l\&5ECZ<ZL@*/*XnK;=RH$/5gYod+($Z+A(/I?p)R*%]OIkpt8= +MGs\*d`ptL\m$dZ\a@JBH-,pEi\%74#1^&li!&^[ApHq!8a<6C\?i&Nh\V8RgaAP9 +@#+Ecb)ma88,c1g#^\agjn0R+2DXecRB'(PMtAm,VI%bB_OV)2Q@R#\gQfZDC5WDW +]Y380Ai_5Bb(DVjA2hsRj*-40pY$[@HuocZDYC.>RM.qH3mH4$gR[8<Q\!">g`::N +qGbOpGW5RA0lg,9\0%[)=1)BZ!IRlVW]sL3Zr&[p4%rX2LjDu/lVR+=,^<[CI&uG0 +qG:Ht<E3V<A`ibefHBfCIeO\Diq'UWQi_>c\Q&."[)&CEQIlObQ(u9TT>544QGB*Q +"i#X!+s5G&4EAlIX8%,\6kJ`H7.UkS:sX]IMkf:RDIZPIKEk_mOK$0-(@dTW'OBNU +Oj;6U)73TtLd=dt#I[uIWq%MM5^e*ucQIjn3`09;+&3n#)XbNeIrns:_@I6;Yj[<R +"AeFihZQkT.*o%=FUm*N`8;$pabX?S6-oW^)aB-lR&bCrX#>nA:NCRj0_qH+o\+<b +4bct<70@oSK5tP@>%`"<O2&=7D5a59j^>-&[qJJrV.le>.>G8RE-#VZnR'0_eCr@% +g*sJ^DCNsL-_#ur]Es/+).1YC+WFQ&p3/?o/oE_>&=^<iCV0FFi>ucnR#o$<:G:]+ +\hfOl;AgK2UBAs^T0b+JG4>l\n_(bI\"RAl:CeF2[d1V>qS^[c)-_-?3uOXnR`"9H +FT>Q>d'jj*%Up+,oU0H-Kf(J>+u*T&)YY?M#'o=b#]GniEY'>T))YPEd!-!/TU73! +@_iN5fX/j)!FAq,/Y+)NC5$;eUBBCU8<q\c:.ZG8ro+N7K>6J9(YYJ8@DoUnXsEBE +Ad[50F5>f'`eu/mT5b2*a1">c>1,Q;Gu+VPF'/C1bR=H0GsK&TXcCQG<LYNF5<4*# +iB[b&,2DID&#<n4/?4L3Z/:0_@q.2eRa<G$Y.R&HQp)[WhXGIj7&RZR=6>*=_fn?i +@PW)]^GdQa25FmPPBpuko:2JrHuWS:9]AO`M:[7L+k+;GaFVP72VVtePouSU3oJA] +oQ,7!LJN!09&:B.AlG+s_EGN033UuF-S-U$78KcGl4_hnLBOgM"-9beEp9asD^M#) +1+7:-)V9%[8SC5s="='Rl;6$a`3L9Co#_SdKf`Va'pi^\`G0I.^:'c_h,M\f<j?a^ +)/?*1g/]SM;Icf48;.KngP81aII$V$%t/1O=sR?Sph%d.l<`$:hXcdnAWB;]j2SrW +4SrH+Xo>@g*U_3aE8ROHF\7JY`r5[*kTj44gqSio74Xq_>iV%4)J%>6IBZAPq27,* +2[<)7?WUU%P.!3s&1]B:khaojJ'kQ/C4eALoI_/.0rq^t>is8"_7*op#du1;aV\@X +A4$,&^1A9/3tK'PJ1S?u2P<]*XCYmUFd9`-K`.%R#O.lE't4#u5r76;j*5``@`Md$ +_q`KL^$&?U#^.&hal&.r2\J.0r4BV%AtjhO$)K^O?,H.#%pKNG)C-h$TL[9fTG^M2 +hrI`#HcT/krm>W6K$//O"-.G8X_a7<Cd@IMjTSRi;3tQiQR*BL7E3fKQa_mWM62XW +O%;4f.5Rt;?/J&Q1sn`di8;Jja8>=,dLVhEfRA$Q.f%]bs!PS^7c(_H~> +endstream +endobj +114 0 obj +<< +/Type /FontDescriptor +/Ascent 0 +/CapHeight 722 +/Descent 0 +/Flags 4 +/FontBBox [-29 -272 1123 779] +/FontName /BNDMID+cmsy10 +/ItalicAngle 0 +/StemV 40 +/CharSet (/proportional/subsetsqequal/logicalnot/latticetop/equivasymptotic/braceleft/Z/ceilingright/supersetsqequal/arrownortheast/perpendicular/equivalence/similar/arrowright/reflexsubset/angbracketleft/elemen\ +t/arrowboth/arrowleft/arrowsoutheast/infinity/bar/aleph/owner/angbracketright/reflexsuperset/intersection/diamondmath/union/similarequal/lessequal/triangle/precedesequal/bardbl/minusplus/unionmulti/tri\ +angleinv/arrowdblleft/greaterequal/arrowbothv/followsequal/arrowup/logicaland/negationslash/circleplus/arrowdblright/arrowdblbothv/propersubset/logicalor/circleminus/arrowdblup/mapsto/propersuperset/wr\ +eathproduct/turnstileleft/B/dagger/arrowdbldown/A/circlemultiply/universal/coproduct/lessmuch/circledivide/turnstileright/arrowdblboth/daggerdbl/existential/greatermuch/nabla/circledot/arrownorthwest/a\ +rrowdown/floorleft/emptyset/radical/unionsq/precedes/minus/circlecopyrt/floorright/arrowsouthwest/Rfractur/approxequal/intersectionsq/follows/Ifractur/openbullet/ceilingleft/bullet) +/FontFile3 115 0 R +>> +endobj +115 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 10251 +/Subtype /Type1C +>> +stream +8;X-AI8Enp'u/r!#@IO#>uVU5/KY>RLa&9qE(3-1-DJck[:>EQo%8B+e$o4?h7'G\ +U]i@:qR$_%@@NW\CJ]s36rqZbil>dj9hYpE9ue.;<*S+l15TW2ijG!,\%@/.gJ4W6 +]DKmekFV9,^O+8>#EYB?!"`MIG/]nO<rBaDEE),F=#:;;Ro*"8TS3\U<5Ig61*]iM +*ifcS@M>m)]uPAn?'DAXSWp3a-RNVH-CdVuHYkMfTjT8Y-(ta3MjC*Fk]J-n)>tQ* +UF+KN%\YLs#(;.g6T<BTkQ1OK`efBP8:ap*%J`g#X5HM;1Y<+?TFUZ\$bQj;Ta*3d ++5f'4LG*$<^1$#g,US_sAI=f)9F:;/;o(G]3bC=WO4hj$0Ri.8F+q0Mggk:YpR!V$ +&QP'1U+/a"V4+<.;,s8mXnmmS=*<)+QY_gj(*kCX3h0ak??T<<<DH:'3E[+k]I_b" +;K-W9C5YfPW63$dU0t+-$Per4_eJ/uj$'!h/o@jk\4W?6aE5VF>KqcA8N4L/,&]@/ +%`'>c9uo;I@ctp'IVUo(B<<SgF/I3p/FqmX0Cfn8.Yg^@,e5Ze;)U`SLZAk6'!12H +<KO71^9*PRi9fPYhhhtW.p-@ORZpa?"jTHL(/D#S>3S(7/t<""i<W.+#R.$^G2C0, +q67/`Z^]-+MdUZgCnfAjo!UMH=W"O^XKE+/C8Fb0Yk&io4.[k^5d#-!'^83/[8*2> +<<sq_ZC7nC"fIH(Ln(6g,hPhU!Y%#E)EQU9,(ugmP9)<?aU!i9%m,N%NZ'ur(=)'8 +[>igoo<Len=@mXIVb*2FFt:h=aH*0eqO)&<,B1dsD.5@c[Ym1fU.L5%.Ts);9bG*O +_'PKE0sG:=o32BR9M6pU@O+6sYE^UO\Hm^2O'eq>]HcE1($2/8fgE6%hTT`Whp.XT +'8PmU2-R(8%&I$BQU<Cc*'tH4_(74:Q\CU`D"J9C6cF<HOuTHcAU5Y38$ceZF4.A: +Ok68QaN;_qQa:)f>0/XGn\XB[4=-(DC\_dVcJleNT/RO+%RDoeAK06?@^VtoG@_^$ +7+#*VH:c+cHEZZfhOHa&O=QLFE5itl<iTJ$,DTDaDd:Q!G]@V0G,.3n\ep)W-n6_p +iRQRQNMM_;eW>.Y*BF>lG!a4]k^"=G*JaV-E4u^_HiVbo_Q@]$qdJY:nFaTR?J'`G +%\/(p+2YiX38+n&B4:9LF:Z1Oo.Y+a!Z0hE95l*UD$X!0k^Y9F"oWB]Y/#1iKk/gB +51g8?i;ajKK="')_B<s<Bc)@#HjVg*%@Z2l>_Q54`:h#cTbBV_D6+7#_FLtu\`)/I +[ClaYK>VX0HJpD[6Mo\Np`nRI*T2Y/TJVmnnt@)\JO=Arr9tk7J8=Wl%)X^i3]+b/ +BHt.pn&%^V"2BV4E#Cij+n39bA4'A\25L\]d2]Lq4eTL\(/r3MQ$0iYeN_S&FfQEr +2JI&E=(mXb,tI?_qHJ&YoMA5-bg?_)->];nj13t.RU`b1Y.0.phY:14Y>6^<q!k0> +8Y7B;:!T5UHV3Oe^J?GLH9i@L>H_hhod:XjV8S#8Q;7J1N0e0nT5cJTda([K8XYlR +:@T81%=8M5AeWkjlqV_SI;$h[^2:NT3[]&UC3/+PkqVEe9g>-;Mi:GD`lq[Fo>n#s +=`p,c4g'YA7MTu%)8G-c0C^!mi/kCT\[AhfHYXZ!A4Tq:]rnN@\ZUpO%sm^uhpJu_ +NLhJF;kqt-A$L\5NRte?ad:MeUXA*XOH@?8i2tV_2g@H&Q:OElGhbA!)Nrm&lFe5@ +<YTKFkX[F/7L:[jasbh/87_R:LED*d^FH0*=h6XdUSY*'eU[O:?dooGdYBo'h`/r3 +7?@&YIADMfI;@ZB%AW*/indGcdg6':97Km4"D?f[E"S\$kKn,ZTop+PeRUR8,h8)= +GVr^SW?YOk'rU"A(AEnsD.b'\`B@(UP,+3k!u\s7F>sZ+dQpqtUaHK[,uP+>7r>P6 +ddo#Fi5<j>GJ=dlEgbnl+)4A"aX#?VI$-iPnMHbOkZ$SIS;@o!%\A_;8Ku864F&n% +.JP;(7ePT3E#@gnLJ)V9.Fi5_.?p._QPLV`-t0TllS\mA>Jj%MLMmV)%!8*doWJS( +:F)b[%o+oWEk#L[dP@e06]$B8fVP?^V4)tNc,5%Z&)WU0"B_D6INNIDJm`"4%`p*? +,_b<7p_h*HiI%/S;t,rH5f8e;-\Z%2E=L4/25/aUi,h$WNlCHdP9iTtbo[*jU_8$= +",gsE-]];6mbW&E2fID\2BU]'c,MuN+ejJI++=Lj8,DImp(1)VpYp>fdHn`^#aJpR +BdW00'A5ft@4H7QlW99/a\ob`46]T&S!<8;ZB7-2:h5RV%Kh0-9u4eMr@7.CkT8Ql +s6*>JrNt)0"_h]F(48hb?<fL4kK`#4?g\?*aNIeu,#<1d/np+@BHDGG)1F]=_KP0Y +>ILs8)L$PAL;CK/?,RXE<e%N+j^$HtD;=C)\$`TM20kW/I-g>bU:s<1od#QrMjM[u +)r.%]qP<93I,2(5=C$mGoJdVe0+U9T)h$S?VPLY;/[b#$SK<i#jU2slM-<\3)&ENb +@(i.dh/7Z.[V`GFhYK]cKMRpVB.H36H?Zkl2\Q'rT)4T!s2S/"!_H8YK5Np/To"^U +.D"HQ;pB5ggtj%+WZs1UF>=.U1>naD,LW\?7Pa'KSqUfd.Z>qHIVQ>^9,<Y3P!JT0 +#s"12=+0m/6;mOPPSPpHG;TCS`f!DLSjX@!jO@*T-ahT_VkfNEA/:lUpi"`a4sm9[ +MbE$R]VT5H<Fup$gV.Gt>dm/$)UfCC;af#UAVm:L2F1CQ7,/Cg`l/fm#_Or)^?0jg ++Q,b47Oij$$]4tcUg)W2)iA>@V3m./Y3R!2\k@/4hAIslHes:#\?"Gerpb#mpYJ'r +GL&:ah`2L8e,SNgEA9CJOnIOm6MO#6VBf17BqrePnnMj:!W++^YtbHZ,>],uSLF;E +M&Y_(Fd-+k4`897\H<K=^H(#!5E$>CVYX8OMfdpq<'WD?H^L0^DWhH,Qr:_P3*HUU +J;>DA&7ao@d4)P4\f5])=o<)COo,@[.m-p"Frs"&V93)]elGf&U/IZ4S!Q^h;*="i +:;)#d0;WI>eJ0^G]2IdIkP#+&XCD2cJ3W*i_)\rmWi?s@iS@#n?nG^(55pW@Rf&or +Ha]V_fj3]K/)6CBFHA&mW@RJ.@ZjV_hHWoMhOuI".VhQ7Lm,aOa5OPtZ,l[[ik'39 +X[`8f8jV?fHZ*pa\V%!!Ljdp,Vu.#"X];\!Oc+?R45D[gjh'bk*(eGq.gTTsAs4Zb +OOrbue=AJ`LuE=JB"/_Ma/6bLQFhKJ4#oFj3oP#jHagJrrs?T2l$6DORC36>,`/(Y +Ss_WO(RHL3YDEj)q.Cm\N.e[EAg;$*ZWEa?Z\M?<=W3`B0ugJGgQOaGj_6jR3A>1$ +9_-nJ*^)"M$CBKkc/`q<ehkKJ_!:38&E&*b<VU)-*X_&'5_,ij?0r7m8J\i[o5Cf\ +GW^pTp\81d\bOY:ZiE)&lYVo6.Vj-#<HKkAN'AE?'f-"Ti.WA2Wi;h[Q*FUC&g/QW +i#+BU0V6b1BU+mPdpf<DL!e+$p`TTjd-+>p.u<S*ip^Bu-7B)%ZU%5L$i&,P]/d@K +0@3RgV.RZK$Outa]bfC@*Onc>`IN_b=p1E5AE5$+9BNrh8Fqumn-lK,L<P(\q>/kh +M5SD\pVO9G[aNdh]Y/)%mF=<"/niWA6W[(qa'ZUUY>_g2BY)$qBIp+;N2@oqS2d+k +A_mu#Vo9m,]]d/Dp:#D#d/[\9TM9HYd6;6p4/"7n,g0\-E&GRcM\]OC0'df_Ago=4 +Z;5$@^M]^^<kp(4*(`,qY^[Itd"]d14:;DQA[I@t(8d7JD6t]!K"u33np\E*]o'tg +4P98EfrOaaYn^M5h\u1N-GQhUMBNffSA\7N!Go=&Nt[Q#R\C`>F4b5PF^@ti:68MF +nc$O>1k;S1jHZ"u8e-es]UJ@Zg-JnnIjA(a#X$gY'm3iH3Lm>@G3T*;Tmo$jo3Y0n +kPmd"-0p01;lB?oj.\o=j0+Sf2T&?K%7Q=JO&McOE]TVI]$-IV:/l=<@t@4/MY?G8 +@+@)'p%]km.r9EO?=MW'cA,R`"^\0eT/XEQ/Giu/OdB:7bHB+t2<>r\Os*Aj-qc<F +/#Qd;6q1,Y#hGl5mZJVL(f[mc)Ep=nY!qq#A[YFA`1]TmSrTB\!?(]fHsdU2iY&`8 +S<=QqE2e^j<Dc\ABBTu_elLaC7>g)'i9"YH!KaB,8#ts')fmIXg!n;5moNHm[Rgg- +^7S:K8J,*&O@:%(atCf[@%=5qF)o01#[gh7q,ii8<>-N.!)@UP+)FDYaeil"b-E-F +@maKjq#9<Fo8G\iL[ecJR=+t`T<<4eG(hK_am@osmbE/`R4MXOAf4*TbOGXsbeCf3 +_;+Qmnu)sEa%"'AfOMg4$`6i`8J2Jh&iHUA^[=&G(CrPn..UaI$I2PrOB93Ud()NG +p!!qfPag%]+':k'^;5-8&H#k5+&RPnTe)?pkS/VtB3#Qs0S7;3"c[ltKruH,DfI`P +caGXBme&pJCV$AlW"UOeH2u9)1eZKJ)-o(lKZT0K#sFB(PA!Z+1_GVt.sQ>dhs?F, +%G`+e;=mj]F&B":gl;h*o'?NKo^JmpVnJGfJ%"aLE3(d6`8`_=ZiaGMRd4/gSNjKq +5-LZ1*_+_cDioNQ*ML<gorK2O'bmteaRmalCu']j,XpBQ:^XIjkuk@rGns+G#mbkU +?sb;bQVZoQOI2PsU,`1+U,6=9J?='B-Oid@Mb/dr([SIE3ufT/E@jK-U&o\uNqGKZ +gKTT)BfNo\2fKIObjMfu$]M$9^eE&m+P'#6kj`2jR&,nS@:3sl8Mhq`0XV*U?lWJJ +S[/epat:o%Q#@?m^e_i^)I8+\[Gf&THhc]DPE^g7r)q1U>b#J>8N3K#kIl7_f,MO= +1fS?!eocCbPVIDIDsE9(5b6u!`0@eXn[F^8VQ8G%*,;Kl3'g'KZnuT9Z8XiP*/4*\ +Xn9u,QD,%Ho`_$\,'<!ir!!##9`lXJC?_\_mU:]F:^hA!hSGIN11F0DXJ1GY$l+Ea +#M[^5f@#4,"_,\h5#kLkZ@.reMnj.-FX0qRPN>okk2t6L2Bg1A-8-?0o(`t+L%9!0 +k;'(Y=bSl+A5<(G8nNVJPu4ieK"=WT+@$bjX)20&3sQ\!ZD!Smg,AY&Vk^I:8Z!!& +;#@8Ep@"ba;#u]Y6bdBXcE,2sSPDauNeja5WJ2"sC%)ZgOc.>Q(0#oPVPg5:;[3PY +2g%]TAI4Wg;6WCc!Ff'iRW:_tX-m5EH:K#(_^fG#J6WPGWLq.`lf2uabP&17`pL+r +n;#N!F'iS9@JA?Qg0W9<Q/-?2c+`eceVfpEL+Cc_V_8#B5._%VB+L.iTer*/WF0A9 +03YjtD*LTth6=8-!D='WP+Tse'o#$I7qd+!mIbj#h<8Xfhgb#(bLW7OkE]%bD-erH +Q5M&O@q9m1+Ga>+&@0K6j)3_`I0#n[V_\9s@r4GgVtOL:a5\V:30?l\EG:=HY!ZF> +:u1Rl\sUX'W>U@909Nb^P)-$1b!t,=hL"aY5@;(PJ,S9#QYB8q<u/iSVgYc'9VF=" +[**g?HP=dpA)]n5-)BOP%_)PBW+ZN8_B^$3OB#,MpO/b"#"4SKUfiI)/VF.0&-3RK +BLJ\oidr(I;3NFd3=dc<c$^$nCZX;M^G"F;T)ZLuoR6c24(jk]De)YI+T/\QIc*l: +0CY9<;\*lC[=@ZPrR72!Ie219S+G%IDpLoCk"o/_(%&jA*^>5qa1ZE-B,;hUohiEc +-na#emm>-;NP/'Z9Z)\pNc#c$GqaF29?)EHkUZj`N%ZDWKfBtp?=/Zg$EqH:GgL@o +G`W/`0."4`V!L(W2T7L*kH4PI=W1+[0cA.5dh+s^_7NL%<,jJL`fl!8ml8OEgP +c/>%l27(2P+b.A'_$!C]YX<*n&'t1\/Zrc%M@X6t>nXZd4bHtVc\UcQOs<"m']/:f +'J31M0G)]6Cka:&'+>$U7M@Z]ME`N\4Me]n^55;fa+EIT`0&L]KXHW0G=fa=:!a!# +$Sl(hh%C.*j-_j?qKe@QICkcSS]-+$oj;V=^K_\)<V:aFhC]SN]7fS/@EXtqUtY/D +bd<45U8eW6P'.9&;Q3@4TY%kac8GhO(NXY'OGM`$5UoVJF&fbmDQ^rn@Ngfi2ZL5U +9?Q?GKpM6r)$DunIK17=<?nuoh,W7T%<sot8C9j4npqqc8kA#qL5:s<oIb+QO+?!Q +&mh-I]gLLi2ENuW6Y)D6ABaO)*rhH`EXdptl,\'1bDG_4moQM'^)PFS[<f%moLV#& +MBQ?X+ikMN4S/sk-Td*L3X&6EU%ko)K^7E][9KcD-K`Bpia>?GU7?t"@Rp`rV[Ae' +E/jg:J2$I\_]N0a:rp%<=t!70(mc13UTcS>NI7U-OmdKef]5I(%qSqEkBdL<Ed*>> +Q$P8q#rPA:o$Pss`4VgD-IsL=r/r+gIo?mNDucibA(g+c$jmugbpV_\s4q5KQ$2r9 +ZbH^uS:^J"hV.RR0O[f1EF!%Y=YLhM4)23/Uk,Uu21t8i5`5,0*$JBrB2bM%__3]4 +,dqlKJUML&0H/aUWAET"CX?VHPdD4TP`B%VMMNq>?Wgr!g[.reUt+Y[3bj[MmJ82+ +SRt(&TJJ<9#%.kiWXW-X/g=diN*oH#D/BTU=%7pumWQN1P#u@%oq%`(0)b.XI2Z1L +=`%"l=enrj<:)0jeo8n)Un,3f>CVNF/3DO2a+0JXA^CY/G!4Os)A1SA4G1a1*\lbR +3V$FO1/"TZE\pt3*:H^bkuB'Se#Sd4)qET$(#"9Y.Aa7XG_^TYPOsZ98loUfF0,+> +eMm:h,MeTk?(4$=VU=;BOX/q@@&=SSB8?(o-NrHlf"g=^]YUTd@5lDq^n3[87kg@F +7,GN,EM'p&X.kZTYade(]J2S_(LmhJU;`@,5/4*YI-$6HK@n/(@Y:WplaDLZ0dV;Y +LUYVu3f$boZHUHZ.Xo)?3!gK6j-G52Jg2/&#a9i9^%],<oAJ2r*uOJs78Yb*DX&nA +Y\8&Vm!]qV;FbYgm7EX*$5DjENAI^[P"*3U[LeRr4flAbH]2l$i=^1L;+^K&V9ZtP +""g6%g`5eAH-O6&aO+*+pUJirHZdc`GRn"qiLZ3Bf^fe7MdBmW]p&=Le-g/!L<R7+ +Fi&<k`-oFjA6h\k$emnT\rZ.%m4%F3TF>rVV6S<AUG2&5/]UPULE![n8gn?Ge=(:t +]4nl?[4(-5@f2/#,H[FU8Tg!!E;RU@b,iQ6*1a$2Rh>8BVp7\2[33Ru\c@-ZSQ"Mu +&o,1YbSUoei>o%iSU6d)Ih4\CHkQ55Wig1^eF&=M,X1m[%"";%8a)%V!,lt"!Vj1^ +hA)@,8O!,TFON0E@/fC/#/2AW3mbD7"=DrJ7!b*C+Y+VFb&MX+2R5qq^\33UJ6[IU +b>t9J1JUTh-p,@M5V'YUr_dGY0;g?^UWUYgPK=D`@p'\[!kl,Mq92?le@eeTj53A@ +>Nn;_*>MK'U=0o,kbRjTF;>'gZ/c,eYob<8"!q"4<D!UD=jS7,kR@`MP8W(Jj["S; +kM"?+T%qHdg*ts[mgABD,o3f1<*aUEUq41F\*3Cf7o_dG\0LFE5LFh15&i?$".G%s +."et4Eb2+))oEbHWL4aS=ErJCR(dc_o@lh"(GR-e+X\q":!-6\Q!2*U10(qM+UPK@ +%X2qTWnL?Gi<8)-\c$/CE,U$bJjOXR#0-<uUq51.X^RITS'urj<jT?]f&iJ<Yslj. +>tJYnZ;auL,r&?('_1Dm7MiLpGm9b[DQ,%S&s"q>U@S'+@^43QFs@[iq5uR1eTXAd +1[OECE0V5nNK\BR95VD<J_%ZI?hOMO2fnh+AX/0jW2j_ue0[*42Nfh09H(QY]Ojfg +1dRY3MZ8#YD*Z%H&i>VLP$-IA>rMTDk)Y-Zgagd;BFC%/CpsV>fPS2LZdu4o8bp5* +G,U(o#W&>5Q'DmkBb&:]2Y45rRT/PN9_#tbk<c7.)pJe]Q,qs5)_dE6.6,mm3pFk0 +MHf\q$X.9#^nlG]Gai</hI'se0Q!s%%U6Jioi+>@l.Xqu;^nO\F#*>;\T[q?%:L2c +G/`hEA9Z2qcOp_`MR=?2SKkEbFXl'u$So1-f47u:_8nAZ(ae7gS3HFR36J!6R4L[2 +L^Kb<*Dp\3`Gh#(`[K65=>>$nV4N"7/]3dg$`LMSO+@X.?G+qC(a[%p25^slV28k\ +0_4muF$VN6#I43emJm3'nY[HT0FuDQa2ha3pl0P7ncQW]'1..]T'3SFSrD>kl`SFA +<f>MPJ;gN4q/@pZ0Ng,nn-o`m6$+Fhft$F%<NX(++]kTV)Z7MBFb6e?)X=.5oO=,+ +#J/GfY]Bn/5J;Rb5*/'4*oU["e_DRJf,?BdfS9]f;/\"?/f/VhJ<bm9_`9>[m!-Dk +s5Ub<A"(!'Gad(TM?Uc./\X14qm6mTFBN47RS@;F_GWl]2(I"1ip%']+0^t:AXO=t +/,f2LFBtP1.>=]TJE'@0d)6M!g1?+j2jZ7_"V[elROhZdDn1Sh^:o>&1k+(M?dei. +4hl(+\bDZPn%_>7GmeQ=bD]:hege!7g5b4C&dH`Jfp!a[gN-;f\lq%FrK7NQ,rO34 +Aql*[P16M%\o*tgB72CudlBmWP'RQ6)0f*r>![VO4R6ZXO%o80]M`R/qf3Z.SXk$h +2!+(3'm7[XE:?M\dRM.eCjaO,>gZpRBNE#:e"WEX+q4@(:o4(g_.0rG"*"_c0L\f> +o*Yh%,.[Ik*?Z'mZ$talJ1g\q;;0D"ApWIb9pQ3+h];Na9F><d(-&8eYcajZa"Fsa +_o%3;5KM(A_l^g&J35/u[Qa2uEU:d1>58a"IaW_Op`i`Gah:s:@RI/%j*%uT=\>_u +!"CBX7KJsr:!39reM2?#XD)I%k@_%#e\A&=92i6cghC%=+&3P,o*3^,Pj+L1m($t$ +0"=N*lc?G5YF#Og]_3h.-=Yh`_i3&;\<mX,`.40b6Yc$$bT#(.]qhQ6UNE/'FLHNf +*<hoNom748BTkaYElm.NpD^MXTA/Dd!Zba#O379AGlc20>lVkT.;cjpW1%c?3TK8h +Qs.67k8i0cgnZ6)XgGE5&;dO@#O\4uHgUAEm6ZmuGXm7#dqLC*MPm"d[L#^c8s:k! +])g,;5.</'.BW0W^n&WbYM_UajV(oDk7@@c55km?I..sg?6t^=6rAuW<>=_U8o=5$ +4elir:J6I&Yu?M0R>t9/^@q'tW$@hp'&,C4PGhl<+"hqb/M>gK@O7ou'C4#o)j(/_ +H:CEiMf.$a6E:`)+<@"js23i9XODWDMeO$/)m)9,9l?iSSKAd;+6tir<Lp2</o7D# +C[.o<bZ\S)2kE>8S5E!UIQ+6\VN"7Se`H2kL"K4cYJgmlXA?"g0H[<DK.GS]c+h"^ +po26ge:*QDg"YBF#)VQ4rB/BGWXUq[h)+j!+,!,5gNN%?Ik;R155ZZJ+f[oo.?D]> +k7k9s6hpYT#+$O,&_dK(^q!u9c"#Qk)Y/q#P:WS&)s[$Gl#5P[PX2W2l0sY)jG4/G +Sq@\tlJWj1F>u^N/>C(CJB7K5@Tu+%*:\,/!/Ke+%^P:Bh<"#:4$b9^nFUah=n6H\ +M@*G(JI6m\P/8PL7Z)W]C$c-k_>Ccq:#3]#khc=u^IYiD>D-$rdS].@ie04f5\;J@ +6%Ap16C_&Ypd,eK9m(T9ErYt]C!_sMaNKak'YqR_8e>6&SnJ?f$_Jse1_Xp=NZq&I +7OT6N8K*:G4H_0H+g[u)pG&T,U5MF9>t%[PN-?FV7Mg*b;]/U^$@X6*+=lD@OZ>9k +B?*r=5#kS)C)T@'nT_J>#p;N34dOTIimeH`R'$1`LKWm!!in-Ic/q]e7KT%():)pQ +a'O9l^+QDR^B,MFaWnmLb/Z9Rc=UFYWK`L5U6\Xlg+Wf'KRQ-):r?)6R7VU'?RaO= +)]!Y7@^q0cdPI3R$$Q)ArC*kBgs[@MpRL.l&(Oa&5K<-ibk<oLD%4b`'4=ILlSc3J +d(j)8AoG+8KUX4a2jX`'\_WRB4'5bCM2Suc1!%^JAHZn1LbVja#kqp40]F\.M&q"n +UaOq&&si<8imK$_$qDN8YjBe9c!?CL'3UZ50r'T8N6*^>2I"fd]8R2?-B#-f7A&Yo +'Y"F)>8!,Q>JXi$nJkfeY*Z7uQ_hpIY-^Yq8MBucC5c'#1.6co&,n0%QW?YgZ_>*b +K!V0@K#7Nj(]a(Y)Sc~> +endstream +endobj +116 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -206 +/Flags 6 +/FontBBox [-31 -251 1122 750] +/FontName /BNDNPL+cmr7 +/ItalicAngle 0 +/StemV 99 +/XHeight 434 +/CharSet (/two/three/one) +/FontFile3 117 0 R +>> +endobj +117 0 obj +<< +/Filter /ASCII85Decode +/Length 748 +/Subtype /Type1C +>> +stream +!<<6(!!**$$pm]W:/FV7@r66F!!**$0_cRep`'>0*<Q!V"8E]9q\]eET*tkt*=N^" +qiCUIq18eE;\8\)&,09?Y5#XB!!<6&%Vou;/ho"61+c7>FtG^26Z6phEbT0"F<Du! +.3L?*3A`906=FqLC`lA'+AH9\H#mY1FtOn'Cht4lBkM+$F!+@lF(KB8ARmD#6=EN* +9jo/6Df0Z<+@C'`Ch7*uBl@l?+A??iAS`qb/n8a=2ZNgY!AOWV!"o>5"9JQ(!!E9t +!6bIDqKreQ!]b8@MmN2KZaZP-pQ4;8pBDDQaH+E_aG7bSZNkIH",j-#pt>t0P),-O +N<je6=B7Y86lTV@]tTW%[ibO9#As>?Mf9_I#7gb83H<)tjS.m4!oUBcb4bu3Hgh-[ +(AKQfWV9-kAHmm)KO0+T#_n'1#)c(m0*_.\o*++'pDD?Q'cQf^q[:^H#pgfbqZ:T/ +F/l78UT1>8UMPgEMi/XlUVa(N)s,131,2Bg:JW'_J:E*"J,;_465YQ9M26s+D?g[O +!]b8@GH]-_#PT=Do_-##!Q"L8pO;i="8<#Q'rn%+WiL09CMIm1C\n>1(LcS&!r!;U +pC?LDau5b3fVQm:i>V([&%"AXqZLFXD5)-PWM6,dVKShS*jMfaR(F<\Z=$C!A1g(g +9SWe+KnY7'JHpplKodA+#3;sL4[!L@0i:B-]4N,pGG"XtReMB+:S.jg@$Ls<TLAeg +$*t!,$`fJU$k0eJT*u/~> +endstream +endobj +118 0 obj +<< +/Type /FontDescriptor +/Ascent 0 +/CapHeight 0 +/Descent 0 +/Flags 4 +/FontBBox [-24 -2960 1454 772] +/FontName /BNEGAK+cmex10 +/ItalicAngle 0 +/StemV 65 +/CharSet (/integraldisplay/uniontext/circleplustext/radicalBig/intersectiontext/unionsqtext/unionmultitext/circlemultiplytext/logicalandtext/contintegraltext/logicalortext/circledottext/integraltext) +/FontFile3 119 0 R +>> +endobj +119 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 2062 +/Subtype /Type1C +>> +stream +8;X]PD/<-^'Y]o_gcEGCj+VsDhT!fV%%.gZCkBK?MT1&MK/,iif!TZ1Fe/Ju*HWkg +f<o\u(n9hLTMj@G):[Va!E$cq#r%<i2N3IkOFWr8pn9]dH+W(L@gj)HeARk!pUosA +c?#TKgiH"Q3.i>F18CfGTna"Kk#X^LGGl>K2iCNCJ``(CG6Z2)+K5pqdKQhN$W1g< +*38Xs>,CGb7$e0jcURZcN)ng+Q;S@.Q'fg)&[Mc]O\Md26DB]H8!o)A6jjSR@`0>I ++=S[<`Yt?'@*tEb7Vf+t>Ap]"R^jAmXib=V1?iRKFt8'JBQ_<EXf9BTi8ZCiI?eY! +DDK')_R03Qh./<J#FIX)Rd0\fPM*a(BPV^Rmp,k"ikKgt>HT@>bVoIiq^?TYqC_H8 +"m+mX"U0)dRqq=A7RORXPuBe@V(O1+qbC.RenR%@9(Gqm>#W,B>$mVo.Q!Pm'muBK +<M?ne/TlAF?<WK"`*B0>/a$5<<Q/R6l"Wk8W_2r,HIIJ?]IE(O@b1*?*\AtI=LD>= +VK1K#"PHD%a=X3K%$9kPQ[FMZP<lL6CaNAB$smiqnLSqrH!lA%0M;rh$A8W2Hr6*k +)f_Enkd!#)MP*e@8NGhlBH2FA(Q>6Bd/cbi*Uu`7.WH^F%L40j<(.rTjc-dfNe#%m +G'Mh\Y="K&;9?]9k@j,;4]YK!=3/kdk>FP;?/F1'Nh1ZA0>+nun4W%03Z?Y^4XuLQ +,$'W>@Au5&r",0I+UBm51>df#q!'s:R5J>6&7^=\#7^kI"lBXSms&%lq!.SOq\2,e +00?YJG43FsS(np%`-NYjhSUl$>_<j,KKHHcakYu1?Eui1oY]Ze(8cAJpW;R?Apq"g +Z!-^_g]#,0L!@?.B*/N)LnI-4gCAlHL(4C]"l>B#f_/uZaHs(^J(Va$\'pe:c]&p1 +TD[X2B3gJZWMV%+CHZI&TCtH!ag`Or<*D8t!5\&QGhi?Z&)t&EdD;'2%Z-kqm-l4c +A4%('@a;s+N(8h:fT%tYoh]l\E%]'GJ"4Mr]F$LRif*oK3Eq1pfYna.FgHUO6b@OQ +%B\Nie#cu\e*UI+`*O[.$;'8KG)@91FQT1k%i"L<n2O]7<XtkqE[4@O`G-qdEib4R +o/M@l;Da_DoGA@/PqlpI=BM_,,dg09T0ECO@q3`f0b>E)<frUmV%hA'5r.^F#TkQY +`f?<*`M/(WjBV5^>_sPJW=n+/"ok0'$jp_$"oYY5pPVY0bqil\ZKDZ<?cH+fU.`K8 +(G<i`%UM+Yc9OUc1f6Rs#PZ-3M2j5.bfQ/`)feQ:1&+C$6fVJMmJ,"[(DRa92O'0, +R"tXhW1od-rnX5>%Y3Po/uBSDmL*GolNUqYlOG':fp%ApZ"fDZBu!,(NZ6;\^^>"r +Ak`-ALu,A('6hf*"8Ch\=NPOQXap9l(GoqpE9$Mc.'1EDS;-VpP<g+c)3h]UCdLBm +/Q23WgE2kjrY,NNi'Honj$D3(=5_D5*"C8&NY5[7s2L=k,DnAFF:GAbFRS;!"QL&L +hj4;WoE2!Y[,99mMYK/Cg\kD`*&GZh9PTGrLem;Vpa%m5ZGbUU.pRQ=^ub8M,WH0E +;%B5Q`IW<;FU2,0;gc!.5KM=6mqcq.L>g'B.1B"BChr6Nm.&2poa"EGQ=,WC_;gju +2ta]8)uMIPf]dH9HCXbPC9b.bf@'#NH`#:Y\#+7hW$0ANE7!G?0FuE>8m;D"_14Xi +]iV+M;e)")%o8^Wio.h4VOgNL:*+^R!tXL1D/T#%^t%@THH,kJJJ'I/@[E=DlV`\2 +lq<2P97gN9cpSC4U\t;gW4BocY?<TSr>6<2_&f!:3ZENl"O)38IhW)t+$nco=L&I] +OsAp]O^M-#NGdU_Q0!)2;>WUCLN,^<>_-NOJr_OkZ*$\.2Euug=5a25C>;mGQTToF +P5@.:i!W]C>^(#?aC\\#U8?"cMN3S'Ch[YmY\6ER4st)nV:@6fgt]06Z-i0KO%FLD +'0EEQiP_./l#t+(1[sDBS"^=<'GYNgGI0I^`nF1Fg%"!coUF.'I55m4)r9cCmrc"8 +ch^@d!<A,s0@0~> +endstream +endobj +120 0 obj +<< +/Type /FontDescriptor +/Ascent 688 +/CapHeight 701 +/Descent -204 +/Flags 6 +/FontBBox [-32 -203 1010 711] +/FontName /BNEEIC+eurm10 +/ItalicAngle 0 +/StemV 91 +/XHeight 467 +/CharSet (/Upsilon/delta/phi1/lambda/pi/Psi/epsilon/nu/beta/xi/gamma/Theta/rho/tau/epsilon1/omega/upsilon/zeta/theta1/Gamma/chi/eta/alpha/Delta/Lambda/pi1/psi/theta/Xi/Sigma/Phi/iota/sigma/Pi/phi/mu/kappa) +/FontFile3 121 0 R +>> +endobj +121 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 6744 +/Subtype /Type1C +>> +stream +8;Slq#uHge*e0739;3VFdO9L8P:r\J>n=.RFj7G!*-/0;-fRFG-nu$_O?bd`KHlS> +S.Gs=$keSV<Xu0d8f+ONYk;0'f5<`Pf:u)bG,sG=?L7!:)lti6hYY(fs7cQl:C,SR +!(%M:SK&T<(pd2-T:6l#acn.-[gr0WTe@n2(WGqKZZ/MYX!<_nM[Gu$&?#P3o4ANl +Mk08$TB1DUVff^M_Zu+t9Rm@[JiR3[#QaP56LYRh%$lK@^e1gLX8t$u!Ghhl^b2i- +83nS!!]A>U6;RaUTE<Vn>$qLDcj6(k$hV8#aA:4E.9/Cn9USL#eL6[@.V\Uj9W:Ll +3DV+$h5&?R-dtYFP]CJ][WK-u0BXg*FOL*]k4"mWR9Z3\qkqANeP/?Hj/:9$'hZ4l +<G</qohtmShNN`ldI1I)Q.qPoD!>Pc;X(+'HRC?BBcN@P1t(lt:R?i06N860LItUe +jCjElQ#_RRr.gZYic'`b`NlIijYCh_hbPQT&166^<>F[GA-HE$.$[E;FUFWdhC?^4 +jVGom_kops2rne>MW8a,IW\>E8gW5q;s($FM3DHR10&!]f_`L8$5T!e,@hAtGJZ6K +FE^#@2sfaZ?+oa+(NpmS`]i$r$sNMdi;mU6K_7]o3=26`_Nn-IFW,R\@IG(YC]p3P +JsLK)Fro4o6M"9_iNLTi"rf52k-&4N7G*%qFop;#h9Z0a?l(p4]:fi15RT[_mB@We +cj<pL$[Q2649eNQ"km?)1rBO]KoN;Sp;(q)$(IS&[_a8n(486P)/PB=0)5g&%Obk- +=h1WsC`BX3R,AZurkg>G53![E]ptBEmDO,?FS-&O7d>ri!Y'_,BC;.4.O[.;]3,HH +?Hk*nrQC^3rbDH.?V?%._Co0)DoAOri_?]iZjWGdhg5VRMITI&MC#m9?a[L6c#"]f +:21WNc+D`oD@+_8.7<D--99bD9]:"%;qR:0Zko-SBZ]@*grnUbU7esrho<ud%`@<b +@GSktFco(=1oInln`fT(Q?LJ=aUtI#*pjKkS;UN0;iD5p%c/::PnM\%$1FX3s$CN$ +NE5X%g^1XU$=5ZBs&;o3N![_:@=lYG1n-8b8dF;co@bP=p^d.&9.hiA:oo"8Y7 +0;n:<$c2.LoL(?#c"J/m:_QH,KP'8X\-2gDcbl#mcO9Xo;UB'2KfJ&;-k*6QhMKmO +0@T+0?1ZjE;!_[S%Bj&Q^qj6`d(=J?CLS_4KanC%-K7(q\_ZZf=\$K5?W&9J):Jo' +a\cA1$N`SmjmuBFfuT8'-=XbI0L,sX6,0OOJB[/?=A)9-8qXiE<-qGR<`$DPR-bc5 +eKLEGFrT7T;Tk3WjDn/6#',q-%=62)\<Gp[$X5*,mG3abcB+e[;(0$H!c>N';oWhB +/\KnL#enYFei))knH?lg7%)oZ>YQk=H]jIG"_B"@"oDM-LhGaQbf:Wn^K90B,j<&R +V#;5PRd4alDF^CRQ;bAcW*h)*oiYEE-&'B!LPhR)N:c;jBMD3G)=\8$&6dD?=O'g2 +/t$H-dVY2$0eo@[O]!Y\(+!6+7tdTN@B\4&PrRdeC2d,8^RU;oI6g$PQJ?C-5cY17 +E$?LmFV/`?(=Q=%QDluaO$%h83"6J_#B]](la9aVW.+([QsU[EoRM='Id))+ZF;eF +"<->X=4J*#((C*G"*06D8aTta9DQ7rU&pIbrjbqf%J0V$a$d''``ASmmU<uUXd.i/ +9KIlOF!;iGohffh\(X!D[o0@YS'bQ\X%tP?8_[rO9dLT2$YpMQX_NhideF*.>(t:o +3M')DT9tunFSc`k8Q>(J0r7]T@:m]')C;*fU<ZWn=ARMueh_Fm*.lZU(OB]c>VJ&J +2%(0:(M%)[ZDdOTZkVh^eq1>^>Z.&<YYZjeX0JZ[D/*@[`Qs%O\K,m\08N#')hfo^ +N<')H1Qj`<7'<F8+'lS&'9m]_G[+Qib]Vi"#Mj)=-Am7SJO=Wi.1RmC<S@_n.pK2H +fm!f<Wf:4]9"V-[iTB!jF4?s^bY<'**RTmilc;V<UbU;)*\2!u;sV5EY:n^YDGYV1 +5PZ:q4\#=?$[tRcX[7-*S$T)NaKI*WdRi:`i/?"SoS!YnGOL\C$&d*e#a(V2k%nnB +MS=-E?!Q/q,0ICsFGTg2-.,oN=B7m,EW+u*QJb:RNQ;qN:+'oFd:l#Qgdd/P`#lo? +*h%fb-XS)!rED>WnQ]E^GC7%kHC@#HX,Gh+id"+)r,)pQnafI&d=L/eY.SZOO4R7Y +mIg2Va,o.'6uJ%(]>^D=]tCCuA<;I0YrrUp=:a4Ag@3S4;8s>%2_#5=Abli,?:2:I +UFN$4>*W<g/M?/l5#A<AKp`W2DRskB]Mnk)L-),uL6_Rf?qJ&MMuu9k5NUmiHLr)D +d:^1]TeA6l(`ELe6g$,TcKT)n(>3E&hS.g3`S94*\c$Q2i*s]oH\T]XrfC>f?,i+d +9GN<Qo%J>:Y_MJI_kA)(]X@8>HM%aIT@X2aZrJdWkoY_*m34]N59^5_Gn!7N];`V: +'4$$.71Z(jbL@F[D')qD<)+YMb1u)]KHl=XL!!I/e@&?$rdFF9ADO7cUd29&K;UpJ +S\68,rBJ>6*n8]Ia)MYDTm]kh>]1q_o'W@,d^l,J/4/Z#X]VZ^Lk$V[79Lh8arUg6 +5XH4l+9Ws+,mb,@;$\A=Z3j,;L$#'R;QI"0I4jn\qobJXH1NZWT6&<%RJHf1kPLh- +kF@b+p==k7@J.ec[0Surc\1l(6rmV.S%M($OkBn6oa1#)q$,H`kL%6pHk+`#:r:_: +M-s$i$Xt_K/,N9%9$;R>NL+s-magU6k:#,&XN/Y2]gpub7M:F6UPemP=ZuH4Uqbr@ +R#bLu7^lW2'JcMJ'W?UGYZOVDAf&FL'f3Z2@-]q4<\e\1L>/,2mk-^HkE"EOmsA"F +EJF2\k+d.Ua^!n*Jpd-OO#kIE/M^RE@<N]uKOj.=e-IlkFlEn5Sa)5e2+YtpJ<+"; +mg!h$dbA?r7r<69)nnf1njG#>XAV?<S6_ja*t4ntk>\J3($\CtD6:NW:MH;Ol*\_e +s(8XM%b]Q,3T;6F6qg8EifI`k0cO?'2"-b+F\bCiGBcDu"2^r*CCle%!:MN/!.V[r +c?"lZ5IjnbI_V:el)89i_9oiqT'\CY&.%>(!P9jp(BQ))<tl=cUo#K1N@,sK^%KK( +?@K]-`PI\l3k4>f4a;n;)>3<J`PDcm2js['`GHZ,85;],T2&*DT5ni&,,^D)i>CqG +L+dk`c^qX2`F%W]E5=q1Ff#W),j1Fps-0U`Pu79`Ol&\S.JtKM5A[=tLY">NPe\nT +Xm!?MFe(\GE0<O_ld8nsJC`P#"*/k!Vg!g9e7):;rYb]79W1jY`3AJWCu'/&6i03* +bYpRjiW:rsj#%t(,q^'88f`O+:hV\+%FqBn,UTAZ1R"2\Cola@[G-<ZraATA#s\09 +<16D=C8i=EQ9fqHlJ=1uS+SlF>_e\-:-i]4@13kf<8/D/7#,1W`];.8$JB;_>L3\` +K1%5mmfT'@k2*Po@!7u"50WuI"A*ZZf,Gkfhh4Qj$LdYM[q1JT7U"D$B]u?@X80IZ +7`h!65"r,GTgM8*FLgm4-^Fr)8RW@8,"H3?,mJZpSD&:Ro(7`snmuiE,_d8%R_lpi +_\;k<jUA5j6*J[4=(S)qa@_12MUIp`gh$>"FF2:_hqeI;rS4[H^K:K\dcZ\]h]Yoh +9T=/eoeH&Z26cod#ok*V,8V'XKd)X0ZDg<MYare37`PdFQO8LT1!jV$0C]h_ciL]? +p)g!t$cj2Z7$1ZM<g1l%YSj[U\tGfuFJWo4O7Ir5Wj?<0>$aECoB%U]R&o4B*\fj) +Vmi5=csRYg',(+?Pc19UbiEPtZs*$Si^NN]>$13aN1njn@-uq3AHb#@AcMd#R^JZa +.@A[qOt"Ms"Bec7np%G6l'K&0San7sktgd8qOUbb+]k)O+,rJ!_Q2f%Zu#Hik-<O' +Vh4D)e`TMkEgM1*0%*\\.J6pUqtCEos,ap[oqd<gH`X*MXm0)$'9@i8"/_;5MMnHC +V*lM?_!/&1C@Rfp;;h`qJZp=,<q7I6PQTP9M+r-D7:cf@*0QR%b*48`-&mZ-C2.Jb +D*K>0M@.<2MZ7J8ZMH;X#4](p4YGA(_r`)pKEm#BnfuZDJN=4Cc^p7^S0cXal8+p. +lO1_@ECQcUPUIC(1Sh)rD3,YW)sHX#"LV?D&jQ%O'jNHK_8'\'K5sM.N>>O\k$q"* +q/IK37CoZNR)VeE`J!f7W723\l7=9r\\NHLKEb1hWEWgPg52N`S?:5AP-)n/SFlD/ +Djdh_)b!/oGgoPKcnOtV%3F/S:/^4qq*JsUE]CPg0RB@X#_.a62rA&5qNUdG3,2Yc +pq\)M.37a$F`\$gnD4Fs\4sZlE?"8.7Dk5ijp=1pIS$mHATq8/,_u`VPcD6Gm5UrF +:"_e>>o/9e:Q*CiAf@s/?"a1J+5,sa`fJh\;!>sNT._f0;hkFdB&S/_B*^2gOcuG/ +/4h>#_*87Q,d`Ml?icQ60.LWUVgok[IuXjE:`CSrOZXci9CBPH\P;HOs-\oU\SjTA +15?>&Pdk]l_T3a]_2G\&q%#8E@qg**[<bk>$tiU?(h%8'XO@3dK2'o`GEKKVR@o@; +--u[XC>hnPWj,jabQsXk@9/+2N=lS0V'77p?1rH5lr8-Y]BH<OQ']+MN\OB[Q6(H4 +09SXKlMqIKYtQJFXfTjt>fUa6CT>E'PB@9X64h`^ETGer[cTcAd;4<_ns:4j4Lb.h +*?o5dUNJ&/l@S6)j>!i;NWn[%UISF/(Kfn&J5tRCTassj)ENIT*(q8Ol^>@=98HcJ +L0!kX4feePIpYP.%W"AsoO2.o5]=rR_'*1=k73pMDTaDc+FRc(pAG-OE&G1e!f(,i +J\tsfrE\dG<cqb+/".(>Wi%/0d*lgtA5IAi1_UXjoCW^dfHh&<(u>'NOkWphd6Z(B +?Mt6_C=2=;i<;aIZ#n.-Us(g`Gkh&A(1V-_aI@aQV^s!(ed?H5OU+d4r33B6Xk>st +[?rX2?'ms(a^@j3R-^5=cR`5bou/C$e+6j?3L17u-D+;@e/DI\S9JKuqEjP@3i2?o +C<9ZG.f.Y[r>)Io][;g(%K@I3_TM\&O.k3Z^LWE(/oe,WkQ:Ya*+:?Wcc"]ImAEl. +VZVh*$;66aGZW1*r;B1Dlk="Ul+"7EMrE1Bo^=-]'Q%jmK6o7I#4f?Ekf!KL0)(a1 +mO4*JGZ3F_OPY*.H^EVqima[='E^Y03.f#A"fr'=L$FQ&cpI9M#G=t?.e4u3RiRe] +!?n-P_%m.UCk_-kcN9A?E/H[mgnn;77S]<-QL+2:q;W_J3M5d'.i-5^dnq,ik8KiU +>A6uMY7RWMSA)'^&'X<:/*ge+]YRY:jC="7Nq!+!JZOVE]UrghSE_B@kRqOmi#i3X +@HCk#oA5liWIl@n%L$0S8YS@JSn\ccq<!SLUABE!J:J8Mc]ZHhO[pG)LEau&iiO'+ ++i-Tj;@PB&??Hf[^&c!b79Ib2)p0<kVe^P6?k*<u*6-cYI@O9Z-kt*.ioNjn1on<^ +\U7V#..;MJ\`VJ$WRn:#lWa0DG;Vuo.F#;L]l_lY/P?=Ige8FG[&"[EJ,]#h6:TCI +&CsE[:-S]#EVAXs)GZ#=V\BND0c20h<Nig.d;!fD?7qG'@`g#k%@4R@\ue8q1GVU* +'t#p]e#t[5B=GWI9Jj,'"7C2<ok`+[fJNc9*qC$sZ$.pgh!Z@XS7PGC"fN)8rs;!@ +Uh20sM/oVV-'t/M3b>EbM:A4c6#%lI.`EiG)ZJd0Wdo&@'p[;8c6TQ/]RkR?;0\+R +OZ@1o.*>Y3[F0k%6"P+KCCB7*R+e/XPb1K:Q<^08Eo#M9P><4LZ)8EY`0r9Z."Vt, +.?5_Ps*9_kRcrnF+$o]RPe5%BZ2f"B]^a[3SfWV#m;Fd2k%WK=)PZ/b1%gpT_43/O +8\1-^oVGadnWZ"?XAC%I<gf_U",h^-H(r1Im4`UTk0&t35WsF-[o/((7ZBl[7`dQP +V7DpOh"19-Ze$r?<-jO9I;GEs7gKhd'_I^i9&IV;Wk:V/p-N^Wp[P')_-54XA+8SK +bXgpZB=mRl&^,K#>#M5b<i06<Y%=ubkLsb%?uOdbSZ09OKGs_U#(ff"UmX^@o\48- +GAE7H@uTO#$)1"fBTUV'p)X^hW6]5#B#oKiROi.mjmO5:pOR0@[9_;e!tHrbE(dc. +1DrCi5>&@SZ?RO;d>`o&rA8&sh1K<%:%)CdA3f3H-.0jYWId)3>LaFLNAlR]%tl:: +MX>FP[R;1Ko."g?%QoXqR#3Je(dJYL+ntig/@6E^,$&<sOYMWiD/(d_e$gh@:,&'Q ++h.<,GZ/m9erDq<=*S1;15W.>Krch6iboV)Ch:e;?BmaoGBos4j?@kq(S65-L<Ka: +0lP@nlfr-(G!Xpp?]WX<rcUdJ1GN<fr]:;*=CB*0Kh':CNZd\TRjF!LA]e6OmbPAR +2ULqRCcR=ui@",P:\O$6LPqRY4V^n>WM8i*:(db:Ptji3U6*inZ&^g?>2;3'AhS68 +;,6_Ur>$l!,[uc\#^0)hSX<M_-7TN*Xn\c;K>Vp'(C5%Kg4CEj@6Ukq5Mee5FBuK$ +AlF?da="3QHCa[:qr&'[2e%8i1H6jeV^7gpo]JqE;%*)[#OSI_R0_"DMtiZsZ,@%r +,J!c%`XlF1pCPdrk<T\mhQlXk6ZZ?\5<go+Jn2njV[q5TGMZPO^W0_aZfYD5jdNUW +$SVQ6')=]~> +endstream +endobj +122 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -207 +/Flags 6 +/FontBBox [-44 -250 1009 750] +/FontName /BNECKO+cmr10 +/ItalicAngle 0 +/StemV 93 +/XHeight 434 +/CharSet (/parenright/equal/plus/bracketleft/parenleft) +/FontFile3 123 0 R +>> +endobj +123 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 720 +/Subtype /Type1C +>> +stream +8;VFacVN#/*;t?Nej1n_K+qauY")kaA;88?4h*5_?nihP*Al.I)Ha)"0O-A"U'5+4 +dre<VS4n#O*kZHb\*X\K1S4CI\9Qs2.JlN<"N/L=kIo2g0CMctkouA?hS`YK3Vt)/ +n7F71EC!8X_o*Fd:8#c:0[?<rLNqr;mr8F,^e6LG+4%C.nFQpt\.2.j&"JhfKV>dA +okH#r]+_dqREH<hn]><Z[CDN.>$dObP@IKA*hNj6M+g+69!_AdcD\_[Z;QKN%ocPt +^Q@QRGpTYq'pQZcQcRD5jG`^b\)PiXS>n%Hle1&c=F.%_'K)&0?8a+J4$".gs.#/l +_@`Aqj;qac7DqQ"OV[W<7o\klp79YC-g#+^64F-JTHWNr?5<4e>-2*eFgFsTibdmd +KGg0J_t5+J?k<Ig0FY;QYEeB!EJpr`FZkO(jCCrZlpnUGBlKbjR17+no+Oi,O#9V_ +(PHedg5lNl&$cUXFJ3C3AO@Qr@WtF+V6WrV.mY#fr^33l.6gQ\@L<?;&9V83=8\oK +:>LnAHB(I&_krIGAr^:eJ0q^,c.]TWCY'2m"\kV9=>$9NYmE#5dWRKBgX\c/@FOt" +gBG4CIdg^mO:>'V*lF(Yf$.M=Is85#6?qYghod#i*0$V*GJZ6Ac=VTJ#=H9Jmt=JR +%/edhqqa6$j<o3(Qtrpng%U>1VU#"/"7FdKDgQVu\%dFSHiFF,!-(:.q>~> +endstream +endobj +124 0 obj +<< +/Type /FontDescriptor +/Ascent 0 +/CapHeight 689 +/Descent 0 +/Flags 4 +/FontBBox [-56 -420 2335 920] +/FontName /BNEJED+msbm10 +/ItalicAngle 0 +/StemV 40 +/CharSet (/R/N/C/Z) +/FontFile3 125 0 R +>> +endobj +125 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 1246 +/Subtype /Type1C +>> +stream +8;U$&InUem(rrheGK5br$FYLIG^IF>fdr)nOfZsoTM-[@VQfEJq'2le#g5L]+Ag(h +EKkK\Y<V6YJGa"m0FTTjEre]GZPf#[RYW</^J'U0r55I+`:oPkbWLL!qTo$ach#DF +cf]^uKHZ?%l#\pc%7b2p<^59gq0JO4I&CIA/:e.NW$i)iku#.q(DuhO7KY+qR[_gE +Kc-1n.g]R0(cFS]gE'5#kApsC[cX\5>M2p[D"c:\B7$Vk_Vm]El"GLOV2HjDm,Mo* +q]Y:N>@HWnS=QcE='*Dl4*aV7MlXIKX5nQ/E@9P`27bhS*Smm\ZHOe2S\*b#4n!:? +g($'f]ADadFgkScj0!89?g9':T9p`0NeYR&"L3_A5TD&@-:lC>0G(^9@bQpXGe63' +IbMg#?[C>Nf'K?0]:s*jW)V0>_Hmm4r-eP,%8/Z)7AEOs+F.rt'SlY&EMD5kb$t6N +fDtN9IMq^\pb'dtg?'r=P3eN<3>#%ji%&n9L^siE:[%Crcgbk/EAs8$BpN$Uk-5)V +i)Y40C)-:TmP>O5]2Aa;i=cV&lS&^PT7X(U4o!E6k-54$ma_A_#;)FjcZs,KVp^3< +4=%6X0hE:g7&5VQMkhGmG;V\o_FcF;>XM#a[4$<MIUn1m<$E;(8M[S)+k67Ih#ce? +)V(gVjDZq"`ckf((A%_-H"^V,4@fPO![Rts6NSLNKuE@uD]QX&B`'_K84LPVW1V&3 +Pki1df/!^7JUkh?,(7>[<sKcT6/F?'HJPCJU.tZD5N\"A"N,e0Lk/\C]VE27i]X:1 +]"aJ:(&3r4:XNN-_t=`=VS:Cn!-Z_!A"bUmT#P-"@O*uS@prq@kS2karG+Oj@sW2" +)AqjoXe/u.i1En\Dbc!)JN?K>kgaE%(^dPtYeM\8H!6Z)APdoK%F,AW"%Z@C(]E4^ +N&jE%8A2;6?p03o)'=LSmn/q`oAP9SbJ2*;c-#\W'McM`:%02"rT2F\XnPTX_^/"X +>QE^(ERW>Nl,G3Z2K\!'LL?nG4/\W0FL(S-F$Pq]=Lu-q^LB[5RZ2LFj<AEc:CJS' +!M<-n!hA4pr!90%]U(s1rtn9U/4H;FQVn&F[ip5tnDK3%!EhsR,[td25\^A_Ide<R +,GjQ%X!\!Y:_\*gQPC1V7[UhYWS&aJ[>iM#Q_kNObq08[q:1_PTl3W0O3*kjf7ffF +:N(R)g[iK@"Y\(YbZ!.S8qX\>qo4SqR9-_ZfVHon85WmjIf^#Yop=U9~> +endstream +endobj +126 0 obj +<< +/Type /FontDescriptor +/Ascent 733 +/CapHeight 692 +/Descent -276 +/Flags 98 +/FontBBox [-170 -276 1010 918] +/FontName /BNECJN+Palatino-Italic +/ItalicAngle -10 +/StemV 84 +/XHeight 482 +/CharSet (/h/agrave/k/aacute/x/Agrave/n/b/o/z/grave/B/p/acute/Z/A/Aacute/a/f) +/FontFile 127 0 R +>> +endobj +127 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 18518 +/Length1 759 +/Length2 14018 +/Length3 0 +>> +stream +8;VFd$T(gu)clnc<$LBa>8k%/bbPP"^WV:8PA<^*ZT#3H1OE`[d)[MD&1%Q1*3Bku +#t]n'&OOoc8Kj4FM+!op9IM:M-e2A?^](XmHIr.fpN`A!rLWJqX';>MSm*$N-4rdp +`-m04P82Wn8_4hjJ38L=&o;h9"/,`@$'G;h+Z(5O!!aYu$2nG''?Gh-rVrXCi':\( +[d4KcQ@Y=/V'X7h_?hJT,!adt\/-8"8OU@]A/#>X0F4@'7bHU'8!&KLI)(N97jO5t +ipujBcZ^,[)+;4+7JpA.b6gW<ddECJTb-qlnO$`DMkDUdCWUD7OK?.<bR*AS1`4T6 +U?jQB$)7"k/XeR_1,^?F>-<TeX7:3f-3=qo)?9lB@9aktj8ub@)N(ds%-56d*WT:r +(kBf8!uGp-\M+f1KRV5S5e$e"n1YE*R337RTRhX2'$OQDKS9j8Z64Q0"-=fX2^Ep3 +5R</h0NW2cYgss+`n.iLqI.$W$3*?qR0Y&(T@DD]'r;'aL]IS\d^LV:Xu4(O+_QHu +UB?&iK+"m@mOSX`(^LLm7_&eC3RB&YEE1>ENmNA\0UE0/^U62_Pt2p(#ROpSYCMo] +(]Ns)ZrT>f'b8H><k)1')++Z[#]SlWK`kl3%q)qB$c+Na`VXuE99Sc05\0+M0[,;d +&mr!\:GqptY\$U=/&U3J1_YW69s`9Ya/Y!,UErL9M9o#nS[7OO[nZY'db^;]ann6= +/-+5Vb4MpcFb:JphBbZ=\<gP;.CZW[]=GhT:K:7WQ,=F3'tu7/G*Wu9.,N8CP+s"% +q_L7mBldoW/4ZWD]U\lKVC7TM17I6UTj)'tDqbcL9P_?/O!*%aes<?X>SF"JOYYfV +V-5+bYYs2Qi".THVYE_ccM`s96B_daV*1U"llIOklUS9<U`O>/gM0b5r$CYfTcrSZ +HKT<F14<[#qMOVJLTW,OIb@,I7S\r'Qm&k2eFqGj-CNo-3tdL,0AGTeZA3PlP/"/$ +jObCsM`,848N$<B/[_A:5:e'bHg&I`Z&.8h23u`uOP>*KCq"%YFbAXJX]KV:eCgLP +Z[*;0*JZ(abo:Q@*ub0eF3eCViXp`0mpg?s:e+*V7N\jc`JMT'rU*Z"d;HO_!oD-O +b]fCh1SAXTXWh;gkmP0)pW+k&3O#?+m#SA<]gq;UPn^&FpH>hBra8Dr,a0fU_Qr,D +TYIh5(n9&BFrpN7adpR/O6@i7+mZLTo"]?8L<#bpZDZ9[S&lqFQ^jBE;X6NS2*?lV +qth,P0_4^GKVV,dEIHt\/_,QZEDq_&r4a2'`>urrL.<%ra>.g)g&$XbU(U!!nfk1G +r^kTs8d_R+f%3>SBlmHRJ0p8Dm/4J[:iDp?eQV[c:B`Mc-3>]>`+#Y)kW.nQQ[#Zh +SF8&Wl6rR/nV!S1RHKP?F*=Y02%(O]X+rHNX#+bo::/Dap$q!YDC_m?iMdbBgC'Oq +s3p?_dKdmSYZrA.2gLp0VcSTb\gM@#F`&/6>;&cg<RBD[>T/8rpD6!L'jnPNO<UaD +3T6.t/n\rnLRYF$Pj=Th$Y^cA^>_r2Va51i9/14p,R2KD<%h:3gpJ6'kcrk!BP`%B +.5T9pd\T)+l"20,hYhVhO,1GJB-$g1B,qN6o(nd0iYN3*=R*:]HRYt#Q*j_3*n<QY +>UApIq,tS!nEe+.[.D4oi+^qZ9kmP5XLsJC@o;,R)o$JQHOpnt_,=X_No!)'iSemF +c1?gF"YhLYn]Jn,V$keL"`AhH]4s\&lT_:"^%nWV-FgY,_sI2e&-m@'[7[t3L:iZ$ +q=12:G?/0m\.-c!5K&S-$8Z&DG8B#U*4=O"Z7^t\hB+^<N^JQO/pQL-Pfbi%O>BYm +)01%'alA<lJVMl(I8\as2#p6GqY3o?)Gp1@PM$os_nk8onHu;L`&sJ+Cu?oaC\et$ +aXifmjdP;AiVeH;P6'Ter8F?.M-i"glg5^N2J)(5dnXO*%*_r0]6f=V2nVq6lkj]R +m?Si3fU((`YMMnOfs2.+g>f0\k:1Bud>0Pb//9N(V7fedl:[aM%Y#5OD)ocUS0)kF +>t^aKN`O.0f!B+'N^X>rDX6d,69*-9%Vc<d"%Sau*qX[#"`jP#SDHs:'gV]nXHOAP +0"LkCkI]dW+4\%`DL>0K5Fp1?0_1Q[XN#KOIHBg+!a\RK.pC7rl^du77A!M\kN<JR +>$^G,G7k=#51ieDHIL`?D%a34/T0<1*_Gd*eA]''G4P"BGZub,cU:Rs*R&A-gYO:[ +WL=4$"&E;tQ)T>tP'Y@0[W-V/[i`KK75Vq^VtggjG:2*d5K8*U?XIufAT.?oD&oNU +FgG5dNk^)`iYU+T]tNBsZgZ'&/^0QF:RE`1noalMp+r%Hc@6J+g=_*5YNJF<GH%*K +'gMK[R(EEL-n@%.pL02DJl&nUehl\:meJRJMBCO#c&mnK8>>j-G"L%4Xs[/CUNAS5 +U6s]Z4lXKg'CQRk,[Dgj'%+I(H=4rfUh<cFV2D%j-Dp%r^!(QOg7pHb(O@O09kJ@t +T9[p\1X[a6e#PP4\#IR]rFOE:R0:^He/:P)8o%aCCYl+]U?`qOQ;FYHA!W@?G7O>k +QrH>)VjsX!`;+5t,SWR(C,Tm%\n%%Yb1/H5$L2U=OBo@o=0\B*$rX3]"G=._d64HP +.4oJ<aN&)BktffORPV+"%at5GPa'G*8G7X7cfa]EZekFf*?l8TZi0F[*RYUT4d7M: +\3Y6pPDF1AmW=?@_n`p$]N1KMIfTWWr:e[!\dPE%;]$hMT!U*dSnh8!qK$.#_n1Fl +JUMTRG*-?Y$\Gq6>F%#_Q6d"L1'@>onEVt8#N?@3gs=cmEa'_=;$o'ISb-R`l"I5+ ++EW_P^`)5O?OQI;c$44tU>fREU2_.07^X'"q=6k7pa4o0!mbQUHX\U*M;"9@!,`a? +CW?gkX35iQENKEZ]E$rOcJ?6%C/U]jb5Eg=k#OgAI5me7Gb7J5>;@C(U0'iD?0GZ1 +8a!j?8N_leG)cWB@5QaOMR):5a<q=A7nbbEr^e[.`3OfG$UBX:ao.9.be\U?G8`@R +=CZ=T^-i1NgGJ]$`1>DPSMj6@`HfBN*sd4uFUl+AI-m`rWXX8;mj3bD(!OoP1:3$. +FBHE3d-efsf%dn*+"(&OZhbt6elW@L!3%.'n^@aWROAJ<NBs`cQ/@\hH@EmVCas<- +U&Zr9,q`$7/S?3X!`L(prks$54#jplcaI<DoAl.'TnOAoe%Q?A%]gb9QIQmJOkat= +9<_e+<lhHj8J>?+e.m/`h1`LsLbpm]"Jm[nR8mY7C,0,JNOo3fgK\#@_@auMW]V(b +8X&QH>sOr&mf4pD<C.$57;_JLlgcmS).?Qq,RVqm?s/YZ&c!mI"1QV%)Ha-!F)Kp( +et#i#2Z.i>Rig7:3c0Sa#^USU$V&'(4!<T!hqg(rMU"(pg#_k?D:tH9WHYN3)ilhM +Y],0F_AAp+qBbM@!)2$&1XtXC0J1A%NdT;q<fDY@>)E-NS&=`f.>XRM&D-e'p/@N1 +KaI^,7`K]WQG4<;I]+t.^7"pZZsrf&crNgm0hKOB0GFkPX#)7:ks`5K`#f/I.(`CF +)l56dTH76QNQ3:A21\19.C(u_N$[b2s+oZMJ3P5GqTR&U;PnYPo/4h&RTd?#F-pdo +<sC7cF\>H<$u&.L>aZLo`=8A5iYU3o-4#>&AEHQXFAo.,!ktn;,_u\`i>@/2LL?oh +@KtNf#9D]Ak$_/OFAPH"!C-1F:RoXWB0NhqlJsqh>"k(q^PuO8GrmicH_jKB!7suo +.ha(A69"7n9A=[kB4]_t-Y*@jFZk4.5L3;e2qs.?2TE`oV$eB-;-X&]JZr,]fJr]9 +qEGRj;K1s2!n`n'!9OkYF:f[/U<r894\/$UQR`MJ9?4@s=+c<,BIm/Z$@B5G>iIq[ +8_`LJ1bUiZ8(+/121obZl"(jV%>l4fKXRQjY"tb6/!0R4PYJFWMf?Da%0(W//#..> +>pbHS>Plg3,_XG8F?Otkcp/U\l=m!hMn&/d:RtCoO(#V/qj\asSmR[<1KUqOf2+IO +E@Ph;B&HlB-=4."!9<U@nd/*Pg5>6-T<@/,b)C`@PJ_b;>t:2'*C.nhO?T)qW3ir4 +5/bqG\$A_69,UHd@/>A1J*F^ll+[B&NaP87@[k?sP%BE?e!n>cLU8YY`1E&AZQ7qn +o[g6PMgj3q.I.0W#ui+!q=$-^n9g86<IA(5pr>gL<+(h)Tt*k"6F%5JMD#m'P>GJ: +Bt@noepY/!Z"DXq=bG*%d3mFMNo/iRBm9F2&7`e?V/L,f`Tm--5p?-%bO`UYKF02. +1Qm^[DF1H^,_[-OQO3DM]a?"$-@k:?WthRMo^62siWYpV9/J=RQgYaL6d"gM0GhYq +n>-TjRSDXT2>M5e\%$"%cYJ-LY#F@[e8s.&XEJ'R9^3;R-ct'c;f$T\9;^U0-D#?? +l6r3672l!mE>mRVC&HKcC4@I#bjiNVrQ!8GfOQX"`/u<e?LC"NV-o:b%hl7.ajYM& +]Z'Nk2AmH%P4c9&?\TFSns/3]YRh.4F@U24P*2;3BtRos_PhN=gDFnC>KsCkZ8RCl +j"@BJFU:ctCaUtPe(G63Jm70jFe['Kq,Nie,91j19>3YjYkZj(JbUfsF&t.L>g`t5 +[fkEVoeI.]iV#6U8ng&WjYm)`=g:)(/C]Vf*Q9<HDZEr8^PU!:et_6.R+;hjl^60B +6J`#S^K#NY'ch=_"$j!8^A[u)%%U[Z5:mtRhYO>,K;+]Sq\Hjk<jl!o\m(/l(6Oon +l7"#C%%=Z/;B=0cTdLJ`.BTphs2%5:VF(=ASGaaqgB<aWH`?u(#!oS\LZnc,9UG_t +b2&\MZI[ehEKT$T\["C?:`aP`R$[fV#Ja"F5UX6CTk>ECY+h;t%9R]?W])]7r8sHA +pNHcdGo[>UC[[p.$A<7R(kb1E!gFgF*]YP7nE(#lA\\EW"#"+&%Y]4PhlH]YMaV*0 +)D%O>ESX<CU>%CN`AVUMR_'_7R3Er)O,SS[&bgJ,qjplnW7OR[31>Rj-FoKj4k=)[ +\jn(AY)FmuQY@r@cA7ASGS[:,rEUP*BAf(UVom$TH(Ob<RA[#=YlI1i$Fm`Va]0j= +nB'_O%I:2HSgsX))m:_P(EN5QhEDPf*@WK,ScX=dgL]D6#uX"=13;Sd%HA_<puBgU +djWAa5GnHIQ*YXfU;u=`NTrEK:iQ#taWX?Te;l!XAim2s)SZp\<QkL46uULMMDYXN +'\+<7]5'DQQ7'$d'Gosm=NdP`;".W>9Sen]6Jl!UQS8&3QSe02[_)ME@@=1?<F/J7 +.:E.(SDt-B))'42f'ZSPP!fR=Dm'[&cgHSngP:YXFD")SS]r`j[+@s.=5':g1B@F[ +!;O(R`)9YJTH\:QC;G8H5!<21-MFmFJQu@ZbVcTALp800.mWtcLpg%qRu\)n7G64? +YC=4W4cms(jnPIJf8V>jKA&),3I37Rh:L5)ITSON=uo#6>\;mr_24uX7X7\sgAMS] +8j,FDm9jls/_Oe>RWF,]WmWI!#nm_"NpV50)iZD_do9#,2_flOqQ\Z,Zquj89;r9i +"OuiPAdl.sNN@]+ZFMcpKA1H.Qip?W[43HLg,@t9pX;.aNa@>bKtR?[9P0teJOsdF +1@u#'Q^#'>CBGa?fKEQh58jZ33u57sR>gLt\9rCm,f:GM;)R?08bZ53$.rDV$j#Xa +L0*k+1j0"nR!;RQj\>6d&f3)]MbD%E2&HXpDs]EV_\QrZm5>Z9+4q*!L>>2I.).[? +M-M!(QQnX1JQEdX!*!aT,VTFA+In/g2gB3$.2^s$"s%_(",^MN6=MfIkZ"212o8o; +'YM6kS=t*HT2>R*&gZWV=Vd.XL(FVIFb&4@W6K-@l$e;)Y2fYM"oCDe,]HOt+MF&m +9r"C\Bb&R=/A&sCbITRbG%d@6A!\nA[mjZm]3Sb(l_QTdR2'prZH[^S*k\AjGDQcD +()QVG%C(:KQk7]iJaY\5<8/d<"[-.to3D%'?MW;j5hTZ48(cDm*G(qp%@t;$T\[G= +XP>`6Jt1a4@^nrMKP'58T?73CoE6aPe>F-.Ib>s,0lt,"+FG`nYhfHRhHkWCA9k.M +?D)BMCFZ9$5Yl3?MW@7K_Gga/:pu9ZX%=c&`--/uIbTHNPVN\2,)ucj7p2Ul/-f#" +2e+`f?JS]cGJ?Qk-h`Jp2Erq#G:5QE2>@imgl6Qio&Ua=UFmWPonDdm@'\+6ln5jT +)*7^($F9@&oJY/_V-NLpekCoTDFjg='W@RIFGCNX=s_-daT:#`a]1X_AT][4#L>5< +B7jEmlBu>^.,I#qnc^_V/5uZ%5UAXi_sm1#G$b;338nIhKiS?KB8;(u5W4-eloU-@ +^qL?7WPOAi:<)%Ch4t`]F.deC]P%$O[T._7(BGe\(1am!r$7gtJH'!H=nn/\)QJ<r +g6qi5"OLWW"d1$:B.BHRc$LCtEdPm:W8BjV)abg&I3m$T%]PB$#b.'irtDKPM.`YY +FQ:ot@jn#d>H[*g!pr-J](Bqd)#5"E$h,ZXfh'7D=7th@&[2Gg.I>_08_kFhQt="j +_$Xfe!db,,1/Z29.E@mK;%(U*CA&Q)WuR+QS;>+`bd.LH-8VJ/Y0iJ1UMGFfS#2-p +cEa8(+<KH>?Zp;hB+A=dW@;))Q\E[WpQQdH#.:0a8D$U.lub$Z;DZ(f6(A9#Z90Xg +LJ?);+JYi^E]P96W3BWi<!NqVo=iq^YS$rO65T%<oEs=9D<[[TXdje1(gX)LGe703 +,mW).a352R])9jhN94Vh1`qp1Gg7>oa@a:P[:73a6oAn/JU8krK7I-k"_#[b)7UR` +Js8h:%Z$?-X:k-N[_UmDD0e_;Kbn6fE.;]FjW8/aY+W\%UC)6JdPX`'=pr[+8_ZPc +&_+!qWYQCNXF)do/qaFB6c,CK(c*a>;IeVYj_*t*=G^<%5Y*SQ9;G68Ap)\sN6MUZ +>!/(XKL:V/3G+dNW5U0EP5/)L',BLe8cSdc%Jq;U%!Rn;_?4;:19I*neEL=S64>Y_ +`KYRt/f)BX9o2$o/Mao6C'LT+/b_Rf3A.'<A/99J>iEc4b2Zb$<0Gg<?[YUB@Ar;J +qR%;G<Fb^j$B9I.b!6)'>^L5DCg18=T1"*oQ&&Ri4;6H\VB%NWf.=K36i*hPe$(k( +N3U\:*)B;bP@s-!OhR!#(qP]1rEs9+]OT]:Ckp^$jg93'#l*6aGW4$[rTcUgG'n-- +8cHFAJ*/@a:7ajJP3cB.N-W*FYETC,KJ!=t@T@"'^'s7Gd$Q7`#>B:b6'9?nQ,;^p +g.h$mVr&SAb/!!5q6D`?Td7V!Oe\g]+cN*M<bU;M,+(##;X/,F[?odnh>9-fnGgE/ +S3!,MDf42qG08drdXrK\.<MjrQ]$p1B1mPX@E[ZZYYnBqLoOnSjWQLJfLQbbXC.tQ +He"pMKZ[pPp.BJ,&:T0*PJm)QnY<8TEgJ.W\://+)b2fdd_WjFBGB*o)^p`o#r`b3 +WSt8cq;bdS@8p()Zd4c<#f5$^(h@^A.+u]T!d1kf27.B:D&sg)L4PB-*[OWQG0Sa^ +>;UI*[P'?u@SVbr#Q!KTo$eC72ATBU]DT.e"O.`,YG#[%giJdR_$BpNE9'Gu(#fX, +S$7/T)PuB)0^DAnPe/N4Kc'tfQR^c,-::b>\s9pH4jX9Z(O2?QZ4!P^+JNea!IE4\ +ek7cj2&NXO1q#o#"Z'".iFM$d(,PmEZ`M\>M^.#fr?^05'$`-GDb\*,U/[A=FeuH( +<WNsP$BTj87]43p.*0^?\O,'/T;F!TIUTSKTLCD>g-4.c)A8#0!FHA49um7Q4]Uaa +<E0Gs0W#KBcrdDsFZhn<pA9CtBuI(cM4AFFOjEU-W<1ohDbgWnC:B-)UCYru'BS]@ +`,VKWrc=0>+H"N#R8Snp#[Qd!_/ZKA0Y)<B1TbAR.qEWhlWCW0>D^i1SJ"cC-,.OS +Lru6>`,.)K-H5Xb_\Z3&HhhHD0ED+X!;MIiW18Z;>oAnFP6i1*>5VXYj(:kJqYfJk +C&S*<O+?%tX:E(6V5]kBUEYu9=;&_3Nagi2*Ze:[hYGH?Z[D&:>U^7oD\pbPFQ11X +9#`W6e@&u?q%X&J1J$4QF'DthBYATsbIfUZM%`Zc!qiW^0FokP="j>q!;HkNNK?N$ +f9i)kJiu7ETjKC*?S=oS?CS=ApR\Sj+B(L^_=,Lp*tYqQpT\P&lP1j4%S#uPkDU>W +S_q3jk%)'HZ9s*._XY)`<\,%UnXlbBi3o5qU\$cCX8AY[D*$\Y"U#OTeS-%NRe&Nh +q(Rqa!L_jd-0Y]r:gSfReE]na^,N-JRV_nWiV]OnS7i'nphge=7(G6Kq2:dT.Lg/O +3rUa("T'!iWs#t]*_Ut)l[a)j#f]gj![/2oiD6>7-q<R'R$],Yb5#Zpf`YG)s!$.` +i;crG+L)g[e22j7$F"$p:\T(FrL35AoI$4>VS.]c<cd\m#?7=U2De]/*^BFWV:KG+ +G:I?90EnuBlZUu`jjIk_HYs5M'h)s6[?OFV]27W8[dte36R08]N9<KL;IgNb&W.Z* +L`DJ\&;G8YB=!d4ahE#-/p8U[h[u/Vq!D!+ffDNC($$?pEZR#N&.Dd8)Gc?&mb6A1 +UR+;=8Boj_Gb-g>j?$K=g[pVB/rK5O5AFBtb$#orM_o!+?fAK3P7X&1_?-G0;TjiZ +P4Hl8kBr-FNJ%(5NtV]'4n_8jC$8Gdi7>/gjJobe;`.eNY^3%Kruj#(%o1<!%I25\ +0djukY)$*HFR6Hc>SPUFg!hR\[W'3"FC;I@N]f1):cu'T^hS]tQ;0P7Z,;AE5;ctF +<WP?$)-!IRlD%c\:Or!FhU*$,o>e>.Kj,rJ05/,<(R(--R<P1f/VD&*R<[X\`nIE4 +Yt,8nkjS[&J^iWjaE?31H8ceC!8=^<d%,l<0jl$AVdBTFi*^kG^QtH`4f/cGeTsf] +goh7Em_17&K;#1n6LJTH@j:@_foOf<n$IG1q[G?r.bTJDWke[I%NiWc5R\g9J.29f +(s22;6el[\Q';Q#$M+EBljTk5QqK*&1tIQc.Kj,Q-t]2th0)Iq3M40?@\:TODQ;o" +FZU"GPZVsI/-U'+'^KGOO-.3&jbBbPrc&'Vp@r>X1e'UZTa=W!_tmP.?(5&$l!:XO +qEo9O=G<(b(EH64"5^(IK">Ct7XI"RZ1N&7S;Rk$fV"g7Co*:na`uNA![dcs(O)Z& +JIqMg/i^)f&$8[I+J..r]]X.Oc2]Xa-?.d\dep&KP0ip;h1&nm,0C-]h>CUpBj?hB +oT$G0g6M(W4B`'3=+;TAa$OsaU31r4WFFgTd[1D]IsPZ;JY-dI+ND]B0fD,LDR@TK +SPB-gJ(9hS$NUi_!g_Sf`;1,\$-0tr;;%J/GM,-G@c$[K3mU+m.3hJ$A$uC(hsNkm +/X9oO'If5&;#+,W/Vj:&C@s.b<lH2ZoV@@NC][f%;:tkRC*`;iAL@$_YP/;(X;1nZ +U*CFR4hAG>kM70XP0aTVXCf8P:J_"[@JD#D:N2[%OXCY!^Xj&UAi&'n-F"Eo$?Ba" +r\XGe#Fa-7UlWq.mDRsrLs\8JX4YD0\B7/`QkMG7G\$Jp'tJ5GM@,jE(X\Cqg;^'r +5pO2\6i^HD`#q%+c3`E$SBZ!,&&p@dd[e>!Y0qAlJ*tdYP3fc-M1TQejQB]/Oja^l +JAQ)59?3W6?V#Z7!;/B/+.F!;eqX,(+T0c<1%r$kBt/;1cHk?GOJo,XE^7nU&L(%8 +?L#b<3KY:]Ri>h[Q'r=F9!JIpi.D:J9(*a#bo.&o(`l#+Kmpg]]5D/r:5^<<GV[UF +_2a=GM!o%!+fG/MQZ]2eK5sY!@Q(J.dRY!k\.D.K63U91RX1!3i7eFkT>n90R_$sq +:`dE/?erU/W*XG9$,$_&,E#*O*1H>!Jik0$;bFE5R7Ml-L?AWIgjqlal%(Hgo^^X$ +hnAAH%BWMk$2tGXLphZER]M`)'$kKT47TVhDHYfX!3L-1*.RO4acSnYpV*kH88%jd +@HQe@D(,glNUc8I'MUe&Ztocr!Z2Mf&ce%>ocguT1*bO%?cL&O2t'?=![<W;R-&bc ++k<^m@<C@p*?=p>eKaR6o`OBb7qoS695Q)3/V(17qK5C,n:NQ>_ss9YER"t=P:;>W +-@nmCF(^C0JBi<THaJ%8ID,#uJjggd+?Mu88:Q&u\LP^G$:kaI!F_=@'BZ!06^Rr# +W2%t<a@Ql0f3_P96?QI/IC2r6jKdqo`D>Z\!@uD@FagXj%P^keU0p\j0Grpt'AU5K +Onn2*=1\&;od37(:@aff3LY44G%"r)*;JPRCQ;0A7P1N*-?NNlNH*,r$b=VQ?WYdd +fZUpLA7G=gHo^(&#sRGC>gPN`mg+:P!3Ok!K.ptO1sYW],(39LA:`'V#t6<7Qj\%! +^4,U<\hX<;nj$;:Vk%g0@_IgK\!%/hC!K-6FW-=I=S:3E1M%SP+'jPN`j0t/!jf2^ +<3iAOr&:'8U<UK/U6^N1dfLWiY$n"10ufFoE8j.`L=g\C'0^?UXOSR40`:>u>Sn(K +K]KP'o!imN3K@HBXZ-YH,4V[,EYs;8aTC#7Tg#aC>3\A\hefZHQt[poE<$OUn+U4+ +#:'#&X5jbJi5\nYf'ZIE0IfCi>+l(reiD'HL.qh17rE/_OU47D#=$A$_SP\_13o<) +OPi!5ATb,GeKsN8-F(&4D8&W&)-\"aY^FAGriYHpqEUp];I3+7IO5\sN<Yn&`n,[s +#sX_UbQtG-KoXS0"SUZ!A5QboKq7b^`USW%&r_Y?fD^066(7)D,U%KA0our4DQQ0[ +dLSb.oH3/:cAjnQF+CHSPUm/m3t!#&8F`WRkO@f'n<iX9q,#<[%#O<G9Li(KnTW#J +'rKa"YXo97rEr+@ZYX,-i\VIR#,Wlm6C!(2L1^c5.;c1+K?2g7>SlSU895[l/e"e< +#+D-k']@Aa[94D'B<a6sTj#l@/),*;L_f+tIa6VAEjTESm]r'mE)-ahJ9m[$qBYKs +6t_CH7Qc$15rF8UgWX>Ge7QG0/cN=2SXFsA>*^/Y/%#?U&0BT9IYkE(OR%si>5n>@ +E.^B,d.X02n+AK5Wup%HOX4I9CS1W"8pH5He?I=X"\q5+O_sf:J]o]DIks0Dcri(p +":<F,>YR"HU0snk+$a/Zj]j>MM8J8-%-gi1ie:umJ#sRpdu6W2Z-/WCdlNH>9Mf:) +mGP0<W,80lfNKYjY;KTB7LMnqlsYLnAjN%O`<i-+i0g)@''Ee/\"<%:p90&5CgC1k +ppFiF\3iRig^"Hm?lc9#]ttW1jdeYb`_3eH7c"e#n7p(HjOO;,)-Z1?R!RGJ@Q$Zs +P'0g7(]+CVT\96H7R3@NW"+99mi-Ja"3iO0A`klciEjgdl:APYq'._Sj.3<^ifUc' +Qp[JI"QHoc%,@@=!VlDP^VE)'4$gZ8FMsF99UgL>f5k,98)9\SoV:8$:V5h(?SNI@ +16J_QW/(*2EM;S/&$lAkUDDh'E/`]&XbAA4jJ=AL>C4c2jGt]SrLj7:j@n>7ZY19@ +:)T/9a99.@bRHTL+%FeXB\rYep-igFD+=t/o(f5a6e*O.S$<*WLeZT)0f->`(h/rU +'gCW`!9hNmKT;pk)VUJn*^Q-3pB*0&]l^9hO2l.cU@gHeUlt]nDuoZr&"+sI@;ck? +$@bV[n0#kk_L0%=qZ&%dXRMl&JNF(`@!oMdEOTdTk^l*(JpF;l]6oF;-41S8H@bg$ +!'Q%[b8%F?TsTu0r,%;C(YSunYF1!fBttE>]I+"DDd.Y"2Z8B7(FV'(/EBE(L<"Mu +EZKj1NYS0:S:sg;NL82eT3W;T68e_qf9r1&]3)bm!YNo7F9):Bj*YGaj`o6oZZ6-t +$8O&U$[=D#mNupf\Yj/up<'#]$R&sgZ%*Y)Zp@]Z2C,Z*@Pf^m6ap&8Y%8[9/_2+o +M$NLNccaXSs22"XY':>gJjt@cHhU"n>Suo#2_j]>C*_-2+8]`4oYB\LG\BB1]iG[; +;^\4L6<_k^gR]n9>>T0[GNiC(6Ett\Lb&H\UEqa``uUN:U>Zf$UWFT8]%2'2_&jD` +2NP:"0e7A;KP?nRX-bmo+-c@5,#I([.i9^ipA"2_[E'609]q[c^;m@[/F2d9$W+=R +<q/lZ;D7ZEM8q'!0o$caV@B=P?:A\:H9#Xa'%'V!JGc',iJ?e=@?+qXEPs9(^mWDi +:#H.]-]4i*@@CtQV9+\;D/&+`L*L3bfHUDuEIH4\U_%elL(gLQMOs!(pUs?KTaAV2 +feN$)Q\`%uhk1J5#1f([`e#?aOj#/$U:f?3lCg'OX<W6FJ3!0>GpI%6?FoD[3tYnC +[ml\DDc)^6qnDq!fQ()2Kr5C:3,#b>=NuaI.n_ZIFWe+H_c!bedP3rYo?X*U\QB"^ +H^n/RQJ1]EK-+QU#4!)nK?kID*h<FkHmr'rj6I;U:c8?b\GHl`o3tneo#7]_:'!6? +cl@jA'n`rggc<:`dsem2VX:5k4rMH59q+QXFUHY"^%UioMe4ke`$hS"REThKhumC4 +G>.6q!_?`(k=C];7d,A?%?C$fo1"Lm"Z<Y0%K4[57!i"@Y0`SXo1Ngu'i+p>+q0(' +\Q`"3ITY)1b?@`^'ViuEGEp@='ZR=PN1ArNSQKb?]s']hE-(VuW"-r)Z]/h%&S^ms +jB$c&lI&"Z]JUOk&!(ckZhM30l!fgPl'pImWpQqfb*2K^C8q=<J_L#9#B"hcQkUVF +j.V?+&gI+<ebT/0C>B.5cNmS8[P58ZQFR^t1YWV:CV8=R';nqq>g_k82E,+DH$K98 +p=*Y,LHp*ZJ#ksFH4K5(>iIk2)F\Wj2`Yo(nt7(7!)&>V1_a>-KfNMl@TW=,1A<f/ +ejUi,j'b2^$$dXu(;L-!Xq+!t"(C#VjOT3Hc6O<YGaLL1!rXANX)+EF6m\4?;u_\9 +8`E>:OF$j+Zst6_kJIdc]j-[oNs'P"@"pcRe&\cchsRc.n!hs2En2KsLh\oLMl)aJ +qq!\WHBeA$nnj+@+b:s[lGULQrMDj'0Q\\-f<V"cHWjH"m>TLTJ\Zk:'0Gr8b=gHe +&66X%$ZJM_^K&=uONW,0,\X117*IbD4%)jWcOtg.A(5VZeouMo5)4`<(+p+rSd%ff +d`$\dn+>Wr'W!';S"W.$=+jX./o!0o[HX"WcJ;+A(W`damA7*>!q>/Srm*V$;ZREP +A,bOQY2+b@m8>T@T,"n5^&gWB%K.!TNMiFE`5Qh#O37M(#laS%]oQ5HI3+a"Qam%d +[LIdC[*r[m9bLb7b\L^CO:QDUr_H;XI,V/,/EO)cLt$Z;#99Fl+AflinJa[unJ'^( +O+5p>-)HXEP!kG2!UDHM=Q'1(^jLU]relH](c[.uO!F*c_+[2/X^!a@(0MeDcWTO; +#C1b.L]N#"&mW+i0%3/uK;)u)P?KpIO^T$7/=-as_j\XiZ*dNLbB/?LIWFW&>jO,% +B>Lf4HSd'#de#R*],XX=dWi^S!;j#p%EbDUl?2&WA21b>++]W#/"^AQbqEb1OAfmG +ha9rTX0D%o3rc02I7F6P)gYdX)S%%#lE4)86.;At@!4;a`I5\lrdB;Z\n4ZGm#sf+ +6`(T9;O_Ng%TOT5Wl@2L@jIKuEAdIo]IKGeoY(\o0_^nC>%V!sp;P&?R#E*%je\)? +i#WleC0_Htk+UC^dZ=ZbYKU?n^JsU.au'joFqjDf]R52DV[;H`JA%Ksfrg8FieLp+ +1s<[`j[""9nFtfCha`U]JQs:6]]3m>'>l:nEf8"7,SZV_noQcYG_';eLJCh*4mRdM +kRRqFI,'e4L(5s(<X,?.;\BW>O^C5P&)g$DO2cGV/Mu^!>C7c>ch:aN7C'9]b)j!m +qj6PGMn7()Wa!'9@8p4_4J\PqkE9u@@(oA\02niqU4DQtJAGbb'V?ioN2-N!OP(+( +.IsWWX%f\0b6uV/\e&X;1%qdtfQ]ZuJ"$$C:D:RC..ocJ7LK6D'upqNCau6tZ%Q^I +.Ou(K8mpEiWV(nFQF1E('aU=<?V3u51<E+D&W;cUa__i4P$04`I@34^c_D,OrJ)S" +S;WLd&KXP%M`FfkOt(\do2Fs<?W>Cpkc*TnYmhTSNdde\2/;O]K)FU2Dii]1QK4!% +*;nt?-r*D"0*HoH^e:gXNSqr<Og1lbK0:1-E3\\drK@VR&f*1nfUD$k!.Lj^ZhW/i +lCS#B&,FQN8k\.6b1itErnQn:g4W^+HTgCis6PinWfVY0+_S6-B?`:UkL<J_Pe>uY +BHHjpU8sXhMU('u#hfLj`VHL4Pu0qo&cc.<OXK28phoM_I-'JmO"V'jO+Mrf@+Vot +&<Dj2fpsa96FMk5U;HC&:,_@N5cP$a34($r)AumO>EA,Q8(6V8Kf0$booTOuYN%J6 +2M9<*Da7of+pb3WFn<ek6tFq$.a`T5-;FJX#+q@ln?u=*d>BIkFfaCpZ5@*;!P#eg +D^UaLLmXWf+qh%Uh\JG]#peBg(nI(c0d_?P`m,b0-k+?U>.o4]N1M$WC]+Va7s!0r +D=G1q1$"A$R'PYGrtAC<qoBXE9Bs\de-B6,5KqVY;5Qs-6(Pc#j[9g/9cq+RQO#mP +-\1&[$/b#G<YD.-4dn<b/b="[rD7j/"$b#ck]C/ei?\SI=IpaR&%d9gI^YlULWX,m +:Lk+HO3K<%8#!BNdbe:PJ/mu\W(-*-@'Rrr;OgkT8?np@VFE]h'h5YTP'+11WKt-p +OmC3j"?%-]#G2$1P#3ih9rh*[Ro\K&IX-qW6''(gBZnk#pRX7<JqWfKA`'P.en^W\ +g97bPr8RQp,0*i#b\I!WnEO)rm_Wl%Y0<ciDnHp#8=.^!qniol97JIVW=WO%)1PRA +=$T='GP>gnfAOo/S"+;i=?7AGikaj1AV@rNE*;DYaA"d86A<L_)_=B8M;%.<+_CXb +kWD\=h.=`IJSn<hg7"HnY"Oa(%qDMe#HR,/YBI@Vo3I7KF,lW^g/qU4;`gJ2"^7B` +msiQU%[JL^pc+eAQgLdB">:(5fd`C]$=n<1jf<TBpYt3.EFqjJqLg']V-LNY1T+U5 +Uj#%Oq5/d;LHbe"NH>F.T);Lh<b#Co`_K#rorF[BXO2@(fj)G.B"1#"VL=OE*DenG +SntL;$t#jB)\(8(lZtM3D[d-*j+Fe4Rr.A:q=.N7FV?Le$'?u1q?ga\4l;sPA^p&l +DLpBe5X)S-ZjSE9U99T-0L"cP+!C)\aGEFX-(LF@r60t5FZdetC#V^D@/u=^F=@aE +#RC30K$#@8pIgkj;oh\6(T)TC#HZ6?gje;5r6&8/!;Q3[)*[#oIQ]au1%=$/l"j]= +%iJ<PHgiCcS;O3CL!>?nLWCc9p,YacJB2%a@J480GO.GrCO^*bH#B#n#'*n;0-e*7 +dn/,'X]8)aMPZ<7blNGQ9uTQ$`&R=f]3KOZ7,WB;[YIZ]#el<h$V"kACdEZ`USK'H +Xi$7Un4UreV$W@GG20_FHp*IMko]shZ/%oK5+'[=7?+P'HjS'$Bf*)]%qfFXDP8"' +fnm+fs7Cp1>BeECMO%%^RLZSa6YJlXlI\M7f>M/EZ@D005.e.a^HQt=A1L\Um?]a8 +Xt^d&]ObO,n@G%fQVqi^p&Z$Lip&gX^&jlR>eA'.cPL`@3Uu!Mr_H'gIuD8jFA`e: +(di?SX[%7,H*iPabL>BtG2G37U1I8I1e^nu0KAm`l%7c_k=X`f?>-mH<6RX._[>N8 +EAM2bdG'0G,enMa55V7eArLBP2XY5d.uob\!;+pGXDMk#AQJA(nI[+FIiF.:jR[KC +p;g]5#JN2_iu9h:)F.A,XIlV^j2ng`#+WHuVa3P(2PSCTCM=,>.#I`u>Z4mDl&4<O +Nq$DN^RP6`!<39(pfWUY/pWD<3rHaPql.mVWJ3nPg';57U$lj\R[K'&0[clp9fC1d +iefZ$,u4)aL10U9OsOe$\t%\P>lu@[M:LY#hC&''gpsm??I36Q7Nt2T!Y58G0#D97 +lc&&<+/5Ds]J!&E"WAi0MXcpC%*tH^RD84i,%\?hhk%X`XA<tq]r1]]1"(]7""9$l +P@eO,::4Y)*InU!:7%]kFMfrZSb@m0Ud9JnFZ;$0?]3V@iVV5ERVou*)U)W9-G*@1 +$"K"-s34WT3MRcoT'so4Z9D1%%r0t!j)F>]h]<B4`HIqZ!=m]"a]+.nXnUs)SojGl +fPigff/;4ua&9$@5MFX_Nuu1Vb85QXqK%C7WgG[J8%6O<M+Q6aT:Z#?'&gLN)B4R: +oHV18Gh8EZPdMoeVo2fFKqu];=#*-+&PL\7KMaRH*g:-@R]KS.$0m_b`H+=Gf'"66 +Hb!ql1r!`ofa,m;:o#hUIP52O%a#e45F]B!+pq?heqMg'#f5B+k/s@L3k]#V*d_Eq +I3AO81,^[kJnD4mYDd5h(<t.^g#M^%aDBl/8-G-,NV'jaLfE5_ch^PK(1ap*&ckiC +l[?o6l@L3!L:)/<>gn\#pTahLCk*3I<]QaG;&DQo3,1Ii=r;;Ye2M''A,j8F[F9G4 +oBE:(\$hf3@@rU^O/MqE?c..*Harq*TXX<b+1X&CZjqu7+jO1J9A71k6Y/^[Np`2j +F;j>T[Vd3lkM6IDJ<!E@(;6A0bQ:#'5hbA:;8oFHS;`8[KefDSRGb7G?/:H6?"9Q\ +qu(I@K!:N3Ak/2WHSotWl[E.bSp?1QHlu&g-B?(T"/j[OU)Eo/MO18=#r4I#U]IWf +^MWs-WaU)?_6f.%_]G(EOE5R%ZrHh'Gh1uUF9pV(A3Su/oG0D/-kil<$;Ol>_qRXM +'*MX;AA?I,`RS*G^48H"V#Ald-4mFVc*?A.KK_>=\YS8<bt<qi.2_l>X_/(3pW"'0 +5[cROTm&s9q2YdC/7_9?qU[I^ePLoXVLZuc"sQh"?F"g6Z_d^*M+pT1RN:PsVtA7( +R6/Qd<+ma3I5,dPFI,-X1Wd/KLJ&b^bGYateoJ(dq&@V[LU'EGR:ndZSs<6k$LK'! +>-Sr__NX>)L>?1S3C#6<8KOW\lZ>q7A*AKc"K&oaeJ/+fApBiOL7&G"T_taW:TiVr +JEr]XKW]M@)b6Sj\cH1kA$_EM2K#9^ka+maj+q`%*nhg_@$'Ss>9_/C5T&O(T1PBo +@PnQhIBQR>:dEq]&.IA+-SU<priftTI6MlBC!18&73EamDbS;smpu,@dG#:G5sHf, +[p=JS!krmQP<(/&1Jd(fr\:q0oMYGHnu!2<5d!hEA-$.%:qqCEh@P6`=^"Q;NdD&4 +kZT6S]AI3\Tlp^+4I9MuiIhM8B0(48R`H9oC_81g!nTWY.X39/<9nNjrBA&_auSTE +_la,`p*SFiK!]eI0cCo)h+8\k$O@iJ2mBiH@BkYYF"t\G4_QNN**)(kML3j;;f3$- +ja/bXo?Y=tP`SU?;F"0jZU<*u&Pp0TQR&6`iLES6f-2*kbK,X2N6$S<VNGp8qsA:\ +E[FKo,i+(rCAHT?ZtCHg.VM%Q>X4*8[3`%&IPTdEIpCtA\)t'hEq4UApih+#kf$m& +>&tW(HC2T_-MB^6J1i6Tr4%\HfGb>S:i[0We<]6.JfOqRn>(coSQ1DDq+,;`ddF(4 +O<jJF+#Y7>\rWd7:_%7p1L$I0$B_*5l%^BA^[2tp??Z4JN%"oFTUUEG36KN)%hUij +me#qC\4HqVcn2J$:1N&Yo);]+BCXNUn*-A4bXm%Ya^jPcEXem.&P\iu``b@\RHF9) +'kNeeO\U-'d;07Eq)\d7MB%dMj`>UslN+kLOnBsa03?sJ9%.:9*5d>W6Iu^%M9Q=f +'pi's`9iJhSMOsSEZ(o2(ncoYH)"[[]J&>FZ/>mLmN/<.=0;VW;KY'^DZ\b8,;P`q +"O-#iZf?ob6mA:UhqWjfn\LmK(j\.h2ugrp-^:>am]>^iBTS^f*$>?N&$@#H%`4_$ +La^",)-OAd2;P1^CL,'WScaUADSpMB@>h>/$A&ZR]!VruPuq>S`G:PB8PW`AN?19R +j&SEq9Dj:1EP?(h1eojrUc"$E[eY[\nW-9`NQekf_V!#3%&0%nhV/LPHeRUDnt`HO +QIK!8bZX_u/Ce@>Yp(52]:O%i;30<'(m+MaVLn@q<*i[hP@,Bu#8c8:>Be=lEaH;h +^cpoQ%TKA3D/<Og"\'G*%JIW6Epgn?,mWu1e%iT0Y!&4igY78hlZ2U[lq!MhrTNJ8 +.?Tis[>%EC@TSLAqJ_cQck*2@"&HFWPHEi27N^8V1q)[HE&+O\3*Bins37_>@`C,` +5MkPj<?)jSAP]u;3cZmeBn)Z,I^n]K4fJnYC-ETa]@A6o>-c@8Db^knL?SQh2dls3 +"\SOoXu0OG?*^4u?C5Q[mT;/S1eGu%j?W9ZNiEd.2n9FmqpSAPW>-[P)-'$O0+(5P +*h41f:Vjk`)TOpQl"f5C&?SP:]PflQa2)9cZEb&,T8-gF^^2V2hBV:cprS`R!s*G_ +mO"6Ss(l^U5hYW5d;DZ6+p<r:dSo&r7q^>6Wh%i.!*B6!s*X7D6Y`-s;^UG93Nkaf +oe.;$P3DYh&E>XCFC!#bN?G0;IUC):GXk=jgauI4J3r,YX.R1-cMY-G38\#]]FQje +(\<IppGios54,"4EmqDfQP,qPSH93"@,*;f~> +endstream +endobj +128 0 obj +<< +/Type /FontDescriptor +/Ascent 733 +/CapHeight 692 +/Descent -281 +/Flags 34 +/FontBBox [-166 -283 1021 927] +/FontName /BNEDCC+Palatino-Roman +/ItalicAngle 0 +/StemV 84 +/XHeight 469 +/CharSet (/two/three/macron/i/four/I/five/l/m/H/seven/M/X/K/B/N/T/O/Z/A/zero/P/one/E) +/FontFile 129 0 R +>> +endobj +129 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 20842 +/Length1 752 +/Length2 15846 +/Length3 0 +>> +stream +8;V.\#rn/b)`EhS:(bU2I*'YfA$V(Pqi[%(&tbR&?Y8FV>Dtis,pulPXJ^e(V/d+j +r?R9+,hXJHqGX:Co?5e+:TAK,rr7;JlabmHIdZBJTD*e@jdh\CL#KlUL9P?m2?j\Z +g09r6R;"^6,`i%*&@<*;"t9OQ'T3'L0S'9"5liZ.<+i&M*[F+'cMoO?6N4bMCIK2X +XoPM8;c=qU@&("'q>a^N&-lSt\lca=f,t-f5p-c5OB@!R%tP--*"$q!ZnWCKJ6?#> +G2C!\*C9Jt?'rCmD(,AhJCRrmSB)-<dJXB-7Y_Q_TXHD[/?#KGMjQZEJ-cd[AqgGp +BQ-3Z"&L5@"'?d84fsu_n1>Q\6mE+J6:C_o^mRW(5\)o`6QmSZ@"\_>+JLaoR#jjh +du"2IE.[9bmDLdV_^YY`"!GCPJOG;&dXhJ;+0\t()(Ub%Yl[/t;$Wcqn8]tKkspMc +0M$g>](W>P=u&[FDkg/+.K"#es2+r\0T#Huk-#aD#"X=P-BnMY:EO#V,od7(*FT-q +&F]orFD)D5V%=dg$)TtJ#T[NY\;A470Yc[R!b"D,"esHH^$dCoB[tGt/UkT25s"Z0 +6`L%U-`p8h$?;>GZ"u'*V??nEN+IK()Y#2ZOsVks1l0$D2X][i+(p(Jq)K!#$5#\H +qb<e4!h?_n(@5ccgT5(FH9]Qqj)1uj8blJ9LcCi^Vd<5FlJqQr^?=rX"'QJ=X^gf@ +'sug4#4F#6I.;sF1]"Dke=:sAb.Yq;gU/V5/Cs;qQ(ZcaqW<m*[VNcr(c3[RT<5ln +n+h#%fn@S5;;KVB0Di<.g(6FX5@Ta`;Dp'Nn=VGWo_,>,8`H!0i;o[JJl$PBa]7Bb +5+5'UZ$[e7/%_diDY/(HU;Za[MNE$Q3*/$95d.h1fiJQigA1C66^K*'fsUMGW;9S6 +4GHAi_J/i0>fkTd/FIo^&L@'t]0dM6J=_j=%TlI>E`/>G1b*dEU459q\SUF8\X)2f +T8]#__Wbf'.jtWK2W;7oYj*sgZK+?:Uu9/3L>5!;U[Yn;W2:]Ef!4kRNVA>g$KYdC +/jU#(](`,7T,\:!<::tM;rbK>kfPtO[\H5JYG)!QVu2.YDgCFJp!oUu3ONs3#[aNo ++`;*E2\[!2V$jbF"@'ULkpa!-)Er,#48MJTd2;3.6j^Fr,YtX5[j6n<Uhhe<9GGB6 +9B-IoFi@tMb1P0^Weu9!cT#2g[\F"WCD5i6bAS=Op>F)r1-(uI%V]abms$oj^dis# +%&`&u^)M.E5uKk)c7`22(/aFSO]%.YRBr$P^.O@lINOg(J(mtd'6a;n79X<W`,Be4 +;]3!^B1+l9*aZ%/$WGWq?6E,6hj/[S3&)Wt*?*L'p&6?`>oVJjQTd;`8>9=k9A<p" +r0H2(GBt1;FM)V7D6oL';K\:M2T1u?2lKHN]0UBt;7VNsTnP&)gj5o5>ut"*Rf9Up +I)4c#oH/75e@cG8nPbp$0/X-N#Voc%Q:r]tYnZ-[1_7(>g3G'kd+11ES*W)2?EBgs +H$hgL'M46*3aO5iB;`KucuIC@b!TG*.kcaGB.7Ds@3R(-8(4;;e,;ekg0J]+]bRDg +O&t@Og!_$20k#@U7`,1#0TLL@o/W\%])d5CEgS0%nnhf2)P''_](3"[(STS$+[FBi +pj/)7F=#/O`AtTg?2Q[jJjj+dqMQZGi.o:C8@Z!0AK6-RelQq:*M3EY4!hjl#5>2Z +Y]H'*Qu@cjgR-6G`5PC#VFu,o+*$Jo9JKt.X%hT]BaUhp;&B"R0*Y0_c+hZ:"3^I_ +>sC*Z.7J`Dh_&2MG;eV4r\n^nW-,(;A?TT>\Fk>T\&jp`QPn:kTC*\3lRR35L@4U/ +0O$V&/U5B-meWu$Q815\VR@?6!<#:?ju`J:'ImQJ4k89m=/Y(.k5soaLXo0jK20L! +j6.ACck:L#grV"XXg,qJ9\F[cmUq/b&s$#%C_Tp-4Ylg&4Vli:>CX9CZ`gYr9CUAs +3R]H@aX6\%9DbEB#@_2Kn:]ANH*c)5HKgO([9').o]&Y\Y/G`o>jh6S]U_QH=b&%U +YgIY>?6rEm0;h47$h9P/*&f:88TLpXIhpI#Qd)h`=]-QL<,92"gJ\K1^jK`OU_%<Q +<h5Zq'%r_>Sp]g`PUh$"39mN+.j9+3n!]H[>SToQArCK%T$L`;Kf]6I#-,D"(XO1E +Gfb9$!nYVcQT'.*]1:]4;mAPNHZj>J_NiaI69<om$=hA+-kfA1&C388$^JH?V/rpj +:nT3[HMC-^m'sh]mPB,eMaXnS"O4hbLWiZnSoS(H8s:pOB+[1g;JT%Z;$GBdRV>`! +9UleVm/eFEZ)GWoT!CGbMlBujn&ZVR*@WU)>#L!>5.P4dcRV10]G-b!?p\REk!qFR +]GR1JajBu1X`EQd^r)0A,>rc5Q1g&5Jt6E)Mrd.iid[]nrSJ@XU[GEFDC47UT6K^) +pG?&tO?m'r<N-l[8]ug^V!PE8*<(guB-uZHh_JY#a?ZW.Vg9lV:3Yl"AOip>hO@:, +8'#mn+\fcum_L*.bds`-Q6!Hs?Z45_#ZjuoV'ifgMV:XBHXCSJb,\-;Gh_:8R:Y.6 +AkZ2br:4FK*(sd&"77B(HHj:lU%4hO:.I7!VC5kh2)3em0eLFTXOaaMS'm9B9;mo= +)s/p;\iP/mc$8L:*CV.r\.nY`[(>thXV2LH2,*]\eVFnJQ$Uamh2%dXadn>3:1?07 +"^si7MK:k+5NR'FC`>VQJo,_5_^(lO](tiF!WNB)pcVc-&617H%@#_-/D1a&:4fJC +F,1K%[@KqcT!X^I#a#hIbmTO<lNIc1rYP?H+H8[Z6(#J9!&hup6BE%U5:\?i)A\iH +h$-u4EhRduRHuog.6o)lk)AB)_Fpaa4=V"?(OSO:(l2kEQHRg&$cp4;q=oZShfZ'u +Dq4h'Qe<e^`_2M<l.BK1Z).^ko'2H9L!`#UQQ(AMY@dd\q/FTmL8INrl=L4MUc77+ +<$0SP.lj98cYi]`EOqEl7/HCL$p:#bEF0q$Y&_&*<JK/6+?0=4_R).l2]rj`^k3+f +dr$9S2P-B<0u7fS4nu^53BQhlh=CT9bqcVrJi)D"`J55S`*33q:?qer>5`1]0C4;/ +2[,?:69uS'1)amjE#EZZKpAk*%pJKGD`Y2ZUpr5D7'a\\pdL5,ihAD#_V)pFduoKk +f:CE`PFe,pJo#$K5DT`CXP]BIm_WbrZh_t6I(QkHPluS&^SH:6E/Y<F'jb5ho3Pl. +UP+8e&D'89#7QjB#3L&l:=sm'81,K^&h+80>Mi"Za!^0+%JBJ2AA/<c+I`(sH^\ip +6-M?Li52%+'>-t7F,aoNLns&k;?GUT5+BE?"-E'M0-Q23TCi&>s+cp6q;@8p(66f5 +"!)uJ<D^:-/S($4L>SO:ZXm0W3hQ-Y*:+kDJ)_67CF-jh\kehjT0S,Q;=#gkJSb+^ +X5ThdB6JZ1,tD.[XF4k5-3ZP//;=u6>j0V?HVd$t6ho;O9%4:tL%lYJS2RRJ)XgrL +!K07KXIcrH&*eng&=adS1ufOfVi2c5LFLQ=:*3>8mg"9/IlCX:X-#R/6((M4a8:>7 +b++/9<B4T1diAZ*<h30:KjB+daD.[TE*XS`-j\[Y[hcX@O-%tT\=,RJ/D?l&P2N4n +;E\aV"%aj-;%QYP&WF_;=\VC8WT;!3RL(;q^&gg)Z2ULaC^J@4.B)[5JLN./%p +K-QRJ7b@u;NIh=_l/1+*h<7/BL$aSfP#t"1RPS3eC1get9bQ#%Lu<>X@cUs?1K=,B +O!PYd;D+4c?K5R;7(lYb"l-86"oJ8<?h2;B#-\YVnD/O_r/))YjCUBTIJ$??@t,Z+ +/)^$MkSVl\YgK`<42m'@,o=0>CI>f6cXJYok;=Y*5r;>EEd:!rB]q>c=EXoEUpSM6 +Hg!<!\S.09i]rk<I.Q&cC"3@[&gEI`X8&BGl#!]C%V-iT+7"M68&?Imh+Z(SMMAkc +\$gq"Vr2-k@i3<fji*6"WG&9X68Pk$Lj(_m"BTX[L'7XR-E=uR;EO-'-X1aahL7+q +7_;QMU%I;d*Q;=9bSYh%NV0"1;(`,KX#4:VRC>MB,ucJ0imtU^k<V,_=5$J/?tRe] +]b1.!;8F.+_9rQtO=kU8G@,<XYSaieWedYsSHa9)0fYZDRA,K2.<2Hk`4Zn2$'"Cs +4sMFXfM\%O9_8s:.ha)fh<^K3%Lgj)7lkXN4s92EQY/5X]Nc'KR^psW\0h(a2mD+, +;3ae`bKc&$$nq9^,AVs4IiG.>$p5TR+m+#c.PZR`+hJ^@9!V$Do'N2U"ca*4?;W.S +^BfRFl8Dt'KN$X%GZ3W)H_O/400=(W(?&pNeNn+Dd03boDiTT=lIW[h?1dqP9s/$2 +B!BSNekfHkM;Cq'UJ%I0g*Geh)o@\+8^SZ3F'AJ`ZIg`.q-QH6cV?F)F,BGc]0:nh +dtRuPrg.,<Ml#Dna\OPi'MT-k^V\!trZ94(.GC0l1o'h0+O1gPP:U;dgfm#dqH='g +H6i1/+[W::Mii^6:Wa6(+,DCo?nulXpTNub`pI)"+6lbi*a%kL$Kg!mRG'gh!?9K\ +*u_-`2_*eaN*ma9>08ijBY<9sW-ebOER314mh%#+Bn<K],"V^2LoN7^92uBDj/UR? +@?[WM+@in\&tu$lD?</?68%9=U_Mq?NLKdW.!X+P(F@H('7jmk0p>1;E=\>'2R2d\ +HESII$$@4dr>O=ZfZ7oFM.pm>4-WV9&Ec;'LhG8i,5E'$>E3q.CC\ES\&T51m>581 +<26mI@l4E`$>\>;s&WncgXVZeCg/?.bIHhA5)U[%HNiFW!0$Z0"(9[blT=](k?C3) +Z.3/B\qW`1)oD0nG5Z'jM;3Pc/1TIC%:Zlj-2UH3Lb#,\Fb\gM4247_'E?DrD2>H. +F>%?BWUVOaKo_m2C?**$VEL=bL[U-(6kNl?g'8Kifu+.!&9F2501@u;2[9\"<$<i! +*)(.+A)HAN5e0q5C6BDc-,BbZ\;WO0hH#\4]dEnH59(+P0G.'Wft1>P?[R0N!aKrf +ErpoampgiW<ba0cdp\48"s`mDb/odBrEgZa\Q8W[4]&AB'j7tQH)MO+^?V<k#migF ++5gVg!a%n;T(iJh7=t5c6[8'YPPjOf/$@M'1Yrc;fWZ<$_V#:B3*[@ErfWqY593Da +#(I;oA+b\3%37P9W1fpYP"gp],7ue/,m/@s(,1Mp\^!h''iHY7-Id3;8*OU9coDF: +&arI\rGoT]4hOX0`fX4+:Uduj^@W*0\`I=Mo>LYXj]R?s_h[\OO@+_G?A6LM?$lr+ +>@jX2^!fTD*5:""E79Z8>q,*;+X)Q0cfo_O+Va6n/0;!X7M"oA#/9f7k]:=gs#595 +!!*B)pD$Qg=p^I=gFEYq:.rVh`+r1r'h][o1<appE,.9omlX<eZis7\l7&F-G"GC) +q\2$X<3`DZ5>VjsFH`%%]dW%+`m^2\:0Kn/s+:96n;""/i(2II,ihc[2CaI%TUdhA +]H,l"EsYo\T#!^F%`D9$A+6(,^L'EV09[LR?pHkaV8o0+J&u'R$/lK:G?I)+QJTMK +o7`i89QQ-H<jU,B9c]3@`aWm[d<D*N)5iH9($sBrkGb-Lp\Sa@r8`/<f&CbK=CsCl +0C:-I7?RcplVnW3F<)]J"("YejO9j%S=:1=X@Z#'KI.a6?ZaCHZD8jf2Fo5$C^l!= +rnl0FoY1)KJ!&>%Ai\;F'mPX1+^R?Zglq67Qk+.i*?_c]L8M_m]!r&rI-&lr%@LHG +]eAV?&R#Zq%itsBn;[8a86COP6'dF<l6m(3&c`k'18AX<5Ere\DHb>\g*?MT#7[`@ +Yqr>!?S9H3(6N\D<B+*.YCN9=ciB;1`iTA"B=XV;ha7e7=<rUU8;W/+oW;18]^,7@ +F!sUV?'tk7D2%oZho58MKWF#[],Ucti?$`gV[G&u=L7*!mM#0FAVfoA4DOtU2'\1C +43oD-V@iEGc8YQ)nnt8OB-<T6Ko>H=@(HS3jpAlNc6W+hj5!HuQBgSY+Nrl228@[& +,1gd$=sQa3[DI(REFJd5BK<u1Ln)V.+5l''(eP_]<BVs,LO/(&;G*4ib<?*mT*.S/ +iNX\@XM4&)\1m<i7@QLtG0l46AeuT"Eb$=<5'/?[r2;]q4nQE3(3LM=B,/O:Q$*sn +AV]n>GEKi=FVF:_R@5s=@?ZlY*)$P6etD02`^)LkHY[-t-&lpr[0Z7>)%U,u3K<U> +X3Z$GI$nq]<SGUoN?ZAXYfI&u`7;apA-e;:ctM>GQ?*%dgHaS1-g@-^P1oNOC8=LZ +d)e>c5amb^&+VO:&G.TE#bg[lmbI)s"h5>WLoFl@B@"MIq)_\B[-(n5(q\HK0EZQl +UO]0^2N62;AKqakEL+9NbTTAuZ<f=Rd)b/Q"4u=]\(-2R#\i,(T&2g7`L'0er&GN] +RJ^'Yre7hBof9luMpn)lr4D?KUbm$EP"0^aZ6b-1Q9:u?#1`FB'peK4q,jGVIaSt+ +>Om#DPJMGu,7a)B"i`PRjcV9.o:sI'_]F#9TY*)18#s@.A=)ciK]]2nW9d1!X:8^S +Bc:_LgSMTg,N@mf(!4Rbl]S^XT`a[(?!m*@%qUS[!8m+9Co;^(*e\.>Xb(f'VSQ*E +Lh;++M&EglcMccT[hI#%90WNlA&cFs;3\h%HA(nh7c<bjlaI:.mG@MG>:04-,oMC% +L'DC/N9u;_(<+"/O]Gmn_MJ]eZe,0M_=U6Pm,Nt%7e!DAY4DFujf"u\!j<K>e`=O= +l[">u;Qf]0<frT@!m$IL\h5E/HHE&VTb62]D2W'_5&;F;SioY6N)gP*>G[,PlB/Oj +nCK^E]g7O_VtF-.r+ljlR>9ct$qW0/cbe3W1OiMSZh%APKf$]JSt#L>Pt.+r.rTVY +7S>,_ij,0"GP!/cXFb*rR[H.]$MM!@n+tsd]feNmqBI(Nq0XOZ=WK#Ya"B7VnTGTO +>K,=%_!eZ2)3lq4J_'8YPCXbNj=Y"ejR-!t*07AW1!IUF6?9%$l(q\$'/%cd0@Q_. +<b1h()fg&p,rhJ0;SeT@Z.n/hKq(;,[":AR!+Kb]4kPN**6a4?D0pmR!fOb(>L9u_ +L,S<pHL=)g'G$mbs/;*h09Y1hZl:bl7@"=F@*3lK9k;S(nWhq*<OST[VfB/)gHPg& +P3UM`n_j#!A*/GT*_5_++Qujm:U-mCPlUMWgb"=:C>T<r\?hu;dF2;md)u"oA(h)' +Xn7D8JrVgmh]o9ZKN/_pNCH&01?h!R\4]V>ie$&8@M59sGTLS50"/?HrXGbG.otA6 +?`?aJa*#NYn9E]g*Rcg<Nq4cqS'`sJ5GXFr-AnG2S_k(Q@qk<.Ll*pJ&mK0@4@@Mp +GOa`;"WR'q6Z,j5S?jB\`4LSo.esm'WGV\'e*PYs$b,j1Bt6n?P_Y08I"=7#9(@S: +ae,5Yl!YJH8g_S`<=8OhQSggU.!WZ2i2-S!H(WaA/>A;HXZ@*k6]g1</j@`YSRrZ9 +]\es!mls(MJbmq(Zd#*>FfeD5p$d2>pYJr+=`nHmL7/t(2%q"U!UR?EE6$J)(-YYO +#rjk29p$D!49Gj<.!&qniY:/G1"Q3Q;*_,oP`^\lAstX&YP8HVha>AS=;>PG08<DH +XuX2VDb\'\''4X1e)'8Q%0AMKQ5G&<DV'6O]U.,pj3[JT(8[sD7KJo!qd^t=AA=&p +Oo"^9-[C;!s"i'F7D=np\J59u*e9jp=?[E5s3+_8]&'UArU?mAL:70Vj?Ha#r*dd8 +Th%.Ljc_67;6Bb>M&;F9U)=SYJU*A/Q"TAf0UtR#M>\$ch<Y672k?K)5u.%,I9."8 +=K=YN'O-?t3DEF@>&c)@R$4^f<lN<?IV@f]ZhqR];O3BH5<J',mHd$pQ'*OTqH!/< +!`PME4+?\2Ki\/jk+50ON&r[!Ye_i#%Ek-EhHWL24f8HiY0+\ER/]:SR2&*iS[8[3 +Yd"7+5B49?ArKf-OaITB+GGkrf%)!`=tBXS#laS8S`D][cRIB[-NUV<=GWD3"M?1V +cBS\CS`p-@or[N/g_+g8Y1Is.Km))"AQc5'0"+K`"q1Sd`Q?#A>lm@-SDZ^nQWfT, +T"GbMVaC%!Q+mn6&>4NT_ZnZq'R<5LhnbT4R1NI[F7'@aFs];ApK),^Uh+MZ^qWs/ +:^fipjR8.j1l*FYY5(j-J<X6@m7P7I?=*&d!5?qJeiJA"#;a8Dkn)rSl0oAZ[Rog: +4(YfbB;4g\)>'EfABo'?jQ^MQnVMYO1cjHuk%Am44t"`lAGN9al./GQkS\A]4TI.u +kpS'u6Rt]a$>\<UN%U5GKpq!*U=O75!D]DE&;dKL(*Y)6%%fEDDYlN5-2Jb0Va'0T +7N<Fn@I'/l;6r^emLZ[#'Md/X`h?"Te2h<?YCXca_sFRgpL`hF(`Q+(&q66!U?l6k ++DMl!,4;\k""cjGodTb$_EWsf9cG,k=qiN&cK:7VjU';qrE9>CQdfoGnd[!ib/@qX +6sQ58pHLS#KM/u;i,7mTP;]lB9m+I4G?5CTCEe5T^;5A&?Ta%Z,bHi$"#g6EXf'<J +(S5735AUmLkBKY^h^@hd,+8U\#afn/*5k/#ncMr#;ON0NW><$J5=&i$27R/Ld5GC8 +AZ>T>rCb_@/:L'R9+>Idl!,WU=qO-;dS6RD&hCYsCn-#lg?_Sc.<]]U<Hj=Z2#/t@ +aTQ0f;\o_`*MQl<C2@kSBULGulK,9c<^S[t&SQ[;9c\lWOS@#6)'T/T<kou*1pg87 +/+rjW$%7=?SM'ji2Slaeb^q]XPU_('ZRs!#lu19M<YS;H;N=34(p5>9K;l6"HJp?. +1]6U;0s2\BDdKZB^%$Yl_crq8+J9PICQXp$Z]\X:Xd<RtE*D#h+$KC,%Jb?"7\1d; +.hYlQHsDX!7W8UQVqYVT593g&QIM5tg%^65,Z%0*nQgNF>nAhB4urZgVfeSBL+jA; +h2[oK[NJ7;ZXFD(08/D)]N*`2hadTSn`EQYZnfkC'"@?\8)N!VKGq?KP"4l>)%@5h +]dg+(ArOF^JHi;W;ZXJs93_]e-VT&G_@6]"jN?sOpu`#5fEW^P8ek)O":'/Os4<Db +NcXd?p<cGeUf!WE&rs<C_-lWJ'VosR2WAeH2q<6_Rh7]=BO/t$^SF%PM0K3\VpU#q +mI_!Z4`_'qP.t<.oUS78Wp;I/4g!5YKB4:7SB`7sVdM+LA0-..=eVmT/^P_h'`FBX +JKWU=2`kGs"q_.1+pfM,KKLgn]OF20]U:OMe]N1obe1/Fd3:Y<CjD#6/Yaciik9M% +$UaiH/-UCtc#m[RHOTlcHf0-Djn:/*NQ&;2(8?T"d$+6?`$B@>U'-p7O"sV"0*7/T +ofusebjC%(K6?P'5^@sT[*q#=7+@T`.H6;4FlR1Z[BkZ`H5])<nCJ0VlZXFLMf:>N +N0l@72dhLLY'04.&Sl?0Ahc9[,'AibO0&bA\)+<GoFK72JE,r%XJna0f$611*Y@,> +a9Go52jO+][^hFuPRH?!6No^\r*95:c`J=KnsZbo49@&17dl[Zrp-bNF5;V=VN!GJ +rf4I<iZFGPdCcpX/QjF2:Hmer,Y:h*N,oF&!QDW>^h5o`?f2pi\?E'%\m\]gNi(BK +U't'&#m)=a5`@eX$Q@emVPNjba%$l+R%Da*8515H\M>mH2B>DkqkbKqHVTb2%cnq* +F"_lbCrO!\Ip=p4mmlk)alZ0OT55Y"LWWEBLN-9&#"rm[Do>'-GkC8&hRsf&^[(i8 +1oj<]Dl!t6q3$2+cMT.VSFW''UW]VPT/(V1,F!^OeS5W@G!=WmjF>jGqp@3U6'>BW +,8='?2EJLnnm.Ypah*j`icC<oA%=;XFe)Wi@o+Kcbf<36S2&hUBOMJ:oO0a?f"^\5 +D$>#GCh]ocO#/[sNo7/1QuDMGC+?S-=,:oV>sIhB]X?U;8?pG(!aLr,g%N/S<3==1 +NF'KkdX))cec_S^L0Zup\V]m4nBp(H8A=[u1@YSfH-+)5#c<OI,WjOZ.RM26@>.c# +e'Am;Yg\5=fZ:n_ifr.KTb6a:ZdtT2e1@6`'(PCbp[*$]6sB\P4=HPNZ1\U>J4kCj +3>i=('R-T5eODcQ<GeSdRr>mb./>G%I#0O_-2W-^6PD'mTJ=ocV1NqEiMF$_qj;75 +!+o7P:Y="FXQ.$;9q^gCGtL74WEYOJ779@N!1=mf6*Yoc&P%Ig54aLma>kM</HC<P +m4.[S8Kn(3SkIg5s-mHl+oG,TQiW<s%cago<X%MM]mr6T`.LCV/J^)NFEmq4CJgW` +86mBhfYN]H-s6BDRd,"6<Fg)O&913AF^K(I7-Htp454ZT(@5b)DVTP)n"#81@Sh+9 +/ohnbYL>l3I7/Rb(IYHCn(&7Fbo@Qb\+Cd')VsE^7#rZV.Z@+s[UI26SAd&?XeKY[ +T#S##SW"rLOe7\F)+g<*-Lb*,V**Oj(uhph$C&Jclh*2dL9T^l/"Eusr1Xh0f,L6. +Q<IdeZ+:.CeL/U=Vc*`$)(G!UFlO:H=&$pO4%<#R\"]F835hI@l2Ug$UCgS&(*o4( +gupBO=dGWNEM"hi?h>7qkVOdX*GBq.GaBo*j[]Nn.E:"-/2j9@7l]^b$f,%N3!BND +!!*B)pSf3:dN?I#eH'Eg*>)-1i-.(OY0seW0[ECS"m1ak;IQ=NS`Mb_b^1LhU6G.E +g*\-13)6o>3Oi<T?<n?mUG\3h1W5cad^Y5&CiFg*Js$?k$c\cmm<aWh?Ntc1L-LSc +Ql5-;\N780\\VBNc,[]1h5bEmCtZUh$"c,_l=DuURh4.t'tZ@)+qW$I<t82&_3UP& +T<gI[RfCG>g^rk'EUKYA+;<+[r-=A`dE:kC[L>]9%I]KVWgGb,5ELF8iZD-KH]u,l +c<)tt:%@ej(_N5T+4/Mf]YjDk0XWn@.W5n>^u=\:'P)0p/6]rujDKk"/Yl-'c%1H! +O=#a4hrHbb%VG12qUFmkLU5XT3NHVk.(Pgj2P//K#lQ$9d-t[D"etQ*pi<gg2a3N_ +h8:]SA!Z,Pr`@"LDCf!+;q!\lAdJ[F<0".K#,??a2d71[iGP"^.MD]_]oL/i`'<o) +19#d))cOq7f4&Xlrb#b;m,RqrcPr)>M_D'NW>mhEqQLGt;SXuJj)3aK*$1AM<3W%# +mKHN+1r#ut/]_5'Tnj?Rl`a9cQ*:Hd.NJ6gK6,X6qk`F*Vdh:dLuCs^7\XB[Tt:I4 +/#0_N(Jes8,"a3L=l/=Ad&j'q]KSKr?"TYVrG"&q/E)4L/3[eq[.0B8CB.5,gCE6= +n(7$'p5iumM.l?Kb3"^CmtiGh%8lL;N$pkX)\j$0`Q%GP(;$El*c^mm;:!eL\[B1+ +eI!\W:U=Q\8CFQ0s*/^!N&'5H_>O/CEIc@8.)q)TDui<NV<nlM:-,(L;FaMa.1jXL +p0j?Yn/@_AmtEBuYBcu1C0+%GT,2U%YXKFtH)g&,:N=_<-''),I7L4U.QJHa"]\7^ +RQdcIK<KY+S5m`1s1H@&$f)F.I3#o*1_>`$,0BKgGHs0XGS>kn.i%Y.UEnV5T*?r' +PZ7DYIuM,'1]ho:4#r]f2nfc?Z-.U^Q9B-5I6t<HJ@_C9[3HENOq\LNGsnNY5b$'A +klqK?P2`8.DR<+P=ff32%s3N^?pS61Jh_B`Bj=1$4^SD+R>gfBdm!P&e8-b#6e:s^ +Zma9Oi8Naj0&JfUDtfo2Y#o9]hH=p5rC[X=[AML/4NMZIHRs'H<d6sDm`@5V'"=au +`J^.3%]DNOcoM(1+9=W;$^3r(HRO@G?eUEs;Ctarp36-05"O90AH3O:B_oH1?]li. +-qe\Y:Q9Wo=.:+hZ_g#,@"kCq)C'H40l<I/p5^X:kKoM,XNQ1]$N(LTW%d1V;=/AZ +UbsTN!^l[U!;`5slPIojWd:12*tG/<4UuYmm3h`AZU)mf4SB.^;%Zce"7uoV[N\f7 +;?-uR=(uZtSj4WOiO%_+*(!DB$D7I\'M9aUC5pu7-!cDdNnGSX+h.mKh`L8"+G>aV +l(*e9i)lZ%Z&/7fmhqs(MD7p)ca?,l7+jf6T[BY0\Plmc648r)_mESoAj-ouE?'&q +J:<O]KHtDnS22p1Y6gKsfMmhtEYcc%B&pGB?OOnJbUhN0V7mc:PUh#Vh],m3#fYKh +pMBHJPWBknqd)%C,M_a,7(F2aFKr5d^T_Ld.@0%K8])_p-l)9/Y;jIkMj@sCP_ASn +)sYn:l^(p18K.XG9AZ1^$D>`_-SpuKD^!I;>fb"KHmdE)8unHJCIkG?k"r.DFg#OO +$]:9fIOC>EAWfiY7WFi93YLp)c;dd0eWs_GDOL66mtu$Jbmon]XTik@7*o9VT0JK& +Rsa)7QXiY*gfp.<09VS>W:'skQ+@?=6ZW8)\$MRJlP/7l=8kQp"U9j$5KYMM(14.u +WpX.9gXAp&!p]a)@SV%77gdkPPQP-XdnGC2kG&j`r>_rL-j#DU1(`=[+S>h6)p1#E +nW9nq\`*H1edaW<MW](8;m7b,>+U2"P"aD7^X2H#T7mGcnEi4L_5A,Yk2gVlmX;d: ++,LU-2=aQ9cbVA]d(/C=M*<hUKTY`j?Ne]dd-NZ3XtEk,`qJR;L&I`HWp\X7&3"$@ +X`j9aj_/6*[R/B:@pumO<o^2160q,70f22!%*VU@57J/U.s\qn%R$@'b2Zc*aJ1]\ +G!tf[rECbt]cET>MPR=m/Cs,a1"NNZm+%8I#W@5+i5ta(a.`d"U-mJ5[2oMGDY58& +i3E7]lMEode&;VW#_pUs'i*(D@\bW1%mOCkm<MH&Gb"aqn7PSbB\rG"\Imf&(Zi*m +@eHd_X"RS&9-tr6=6cai)Z3CQ#-)hC&if>ar;EeOD9ZX#9k5Q@#G<q8!6/_aVFQ7' +>=3>64HOXAaFgYt:]sm)U(Q0T<_%Xu_r2]G0aT9qEHhn-Wq,#+CsVl%\F_`gF9a#d +IsLq11e;jYD[!j+>OMhX[R@*d1$eWWMM*bU2W<cS+gC`SeHA[6pW=5Fo$?f0#&F.o +@nZ:n]"ij%$Zb(0AQ>_:Y:Yh;=Gq7W(k'6TIj60FO,:c=HESL8d#'Ca5_0nL0Ed[G +G3W.?#3gAio^u!SQe06.=j3YcU"sqorR<0T6YtE\_BrmBnGln:#8TRqAmsKXaO;^? +W*htbiOM'dWT=-4L8jnWUutr6/O%&Rk)p#N<FC,R>r9CJf0WZBQMfr5FTDXQ1%o0. +<t.UBXWW?E'O:,N]_&$<a.<u]^+4O.Cd.q"#6=Oa,/+T)%H"!qlLkW<VP]lk;m$*m +<1,27I,`s_4(eI8.(i-qSB9)uiIl?U\`Ig@7dnVEUWWQ\,.L;`(5;n^+b'!^`7kNH +h<!c`mao,]gu;#BG\:R,iDJ%Z;0YI&L"(WVYEmZCWurtM+@!T"OCD&(Yf#fH3O6f7 +iL-/WKf*W\Qs+oZC?Y@LI=V;F^2kM&G=r!G7]I#hN&'j/!.\7.1]>Ll\(k14-%hs, +'@Ed+BN5RReoF-86V$FQN-EuE!2">n_g$>#e?^7rZb,HB7oG]q>sR)V>T?4fqQ"m: +]<ILq&,WD'>d4+ac&aqT2C)r:@X?;9r&C;-s%tQJ,Y;OlN8QG=,\kV<NQO=<^1GZ, +GF".<Cu2np!cKcg+3A6I;oF\n`<96DL9F5C6"A.HQrJtX.V3">8Ej[bc`%nBp8^fB +09GT@-5Aij#VMAlH[(1&QG</)W#)9`])g`@I[3,F`"Z,PDT9at?+Fo!Um<7_!/+\. +%SBRF/WS-)O6t)VdWG9,Dhm[hEQ%#m)Y?,e8]SL/)@R5c*/d5*?(QF:'?a/>L(*ck +IKI"]DOBRF4CJ,[cub"LG1AEi0C]>_I1VI[Mu2$t^"D88-.m@GeH:JB>a<5ZmHr@L +I1IL==B>,FSHt^V3L@E"'#I:.CdEDA0m1uEK9a6*;sW:VD$EH7gD&T(pI'&&^mohZ +eQOknO5j2+&J4U,:lWRWEr./-,2#Z:A`]-H:C?^P%aZ5B;0%g!G*%Dbcsm;F.]7'5 +Af@hP5t-o8_hJ^0WQ1TR4ufgF:h@X'J]jV,n7$(^V3Fgepn9q5b'E[:U$#DG,Rs#K +]^q9"S<r?UDVUn!An0'LPARH3+iLbH#Upuj5&&Vt-mT?7l19HoggO/LBaYCWSdkc@ +UKpchr2+`6%SZfId2+qU83Er%jJ2rnjOoeOeP?*4M&$5JABcek^B!ud!2'tMQXCOP +!YrC^##V@V)iW-/)UfF93ObpG:/R7@8rlkn20\5%f1.g1JT*(#7uPHpp.^b:ReMPI +,Z%MdKHut\b3M7fH;?]fhnBq.-5XaZi)5$I5K1M&&ISa?$;feQI>ScA29c6G5+\o" +h/PCO_Bo#DITANgg0LeY:02o9Zk.mPJ\sqFTe)D`iLnXZ^nOO0?<IWrA:Fe'RT?'A +08(,T[([l5f@5FR_tdi@&6i,G`bkV">rF5"djJ!b6^2uoZsQ*$%i6Km"KQnp6odK8 +I)-&@.AWsPcdr*!$8Oh<f`.-=>+7qKJ'=VsQ7*^I31R&8dR&(_G+tBu:&C=,SHoe^ +W4$NJ>0;XS%0eOR7!SF'!$l)ed8H,h5p/`3-^Ao!r<o1]"K!Dtr(sKSq6i+OP2k>W +qb<]1nW\+bKNB#hW@)T([?\D=-*uO-h,'Xe3fZ]5X1q8bf3c'h.68#k^>!T':u;LU +JiuT\j4V<#rs"+@%h+7^"Cu[EICF#WFqkc.[%@t+aDRE')he=MSbOU!>UKGrOZ1Ut +CT=cINO.K)0#gSTl1[sK8]#j2<(t>P&pTrV%f!TieO'h6>R&?K4L4?`*poYDG`G3d +B=]]AmUdhkd9%8+p9+9Hbi#rge[h=L0/heg]PcF?O;@nq&?:*Oo7N5G-+.td)9 +hD1cZJ_dm<C[ek*O[nl)ofP$\]H7qgDA`N>.qYSR@!e=Y&UUnkW*V<]$kKVJMs0gI +^%PeM_^*bH^9rak3PZ8SID0<p8KPE(ULgkdLRsom%o0BD+O]18e;-/<jWb0(K=2BS +OsNL0mH!Bb+_*HqMdn(uVjm^H^(VZK+sM7pa1W7A?20\Vpha8>&4=Y4jN+sm82%9c +a&T8FDN$VqW')8u*+:77j%>=6`Wa1VTYs7<_s7!LKS<Aa'(e)_e8dQPJD.%7(1L[8 +TgGWXI\/Ad]T!h=!gg&tA2gGYVIF;r/DohGKj-(EjD`:s(+']0W5XR5`!8G\\&F!6 +2uS8NZHkOYa0%KVW?fq)Ck%=mD+MC)PQL:X!+2S#&LC7k@tLl6Q#[tfI*#-_ZTk:A +AZjllF@b0KCCu'9T4E%:_a=4f39I$t."]]g-G%P59s6%0;*@lZ/rOF/hI5cs";6sP +2`U,W<V_f7LP/sS5s'=*!a^_ud:RM]5S_sCLoO+9LL&IZ6ZlCD9':#4[DG[fP.`>u +H<LX<8,kG\=kdBI[+8BA?m5N25qdBOBst:6%HHpC6W)I\9U$"YGc/5kX'PaJg+r(+ +=:i1X7tu,2dY;9"9$%^SiIM%1lm+(@8k]F&gobCV`p3A*j]9JLC)Zq#r`XHh[^5Hj +XK4/+S8Su0\n\)bTVRa;K()^)pS;S)6nse[SIulUGBe<l@2lN8hA@\ZiSXZ3@LBWl +MXPJ4d393R6W8S$DJ%?-Zf^8m&bjm'@*N<DWOWgdjn=hbKq:DV$L2B[/4$\l=VLKd +qIm:X/pb>rH_Y+V1pRq4Dna=Jde['VIrl+fK$K3(M\DQr`<DV+NTH:rTlMW/lu5A7 ++:=1%W>C)#-$Lc&m_=Ce0,>9"KaC_YrdiPY6H@C=;YD"17b`=S1c@SH-/VKfT^?-e +'*1[9+'1k'SlIm6dr5&qN?nZQ^s2%(-!`<N7j6;9n-'RFg4KN9DS$pk]+3U^hn&mg +#6=O$A`rL>H<9s=MaObCciqsDTc]iW?j-S@qrO>)F/b0(b@Bdh9uG+uG$T+]6^_M6 +Sp+1:@AZR2VsVsq#_G:37(b'C5l'F8.=/[l65sb3Q0mu/a:,[ul44g`i:?2%OpJ]Y +i<h<WBI*c.E?Rpa;Q_8tr9(.:4lD.F"IOu8&E&:WK-ZDjDB@fXII'dMLL)0\1uP@\ +BFAn\"+3o*FJjF,30Yb/.?U;[l<YsU,j?Fi/e<ZHdrt\-&Bb&O`id_]lZ"$U]UDZU +q6-R*%XW-n<0DA9F[:"S[Y2=k^?N@GQ4T9#Y;\)1AMd(_54fCrC("G2buaL[(A!!0 +hug2?.o1JHc`sn56a;/CGc.7mmufOE@chV:=HXEg%K]F+s"92cO+GE0[j/s.X]f"# +'WCGHrFIP:]"(gn,q$'T".+cYa#&0FHgkY3lJF1aW<0e*EFcbR3ZmZEKZRZlnH@=u +>.?17:"gKsq.d#;Kh?"7X9?%jCAO8BlU<Elrf:mAYAN;4j6!0$(?-NS(Wb5sP3nib +X+se,j9^2h+1)L/04q%jSe)?6AJ8j4OT[+MM"<$Uh\<H/_u6gcH`$f\M%CI4hleI= +BD\VQRg\HYJk)rMSULD=h+.CN`/e:N5;98cV,^sjQ3H.AIDWga7o<Wi(HjT/]V_,s +"VHMGimSN5.os(;_JKp_(VB,(D]bB9\!OhrDKa'ZT#@?<oKfDMlsP8U)M>9I;d3lf +r=q`0SCId091a7[1f4jV<Ro\^b-!Y#JcN(!6u9Yr>Zh$aR'$j*+cJ<sl=>hbTAHqd +b`*#4K4\/pb/biq"5]<)kZ.6c:mE"i(-K04kpXr$rg.$Qgt_7=N_.F1@K5VO![E+@ +>6^A4Nt@/GO;OR!/2Mtl/R3Nn5]O^+GbV[FmE?0"EA,2`__&J/>Oc6W^qJPP1tseh +"1[#])4R))3<DV]32?0Tg0Gl(\Xour\;L?0353OfH:`a>!^4S>]4t[Trs*@c(L0^W +7#U`Hn8O0+$IlH"q]Ue[oDjFSQpJ&Fp&UqGpnfA+ZUVK_9kF3k9`QQ?Z@0-ZrIa$C +3C$(q[!g>oU!aS>?KAcO*[hItG>]lRl2me?N3bIDMk#Ss"\?hPh5[j1IfP?#+Z$O& +<ElFJSUeM8`9HWJ+)/""*"o/`<NT&n$MS_&P!Xf!a:"mN9!2$'bcp<IL))W-D*PL$ +#>BA_o#_eTDpo/`X_g#nY#&rkUE2q*5qmP9n8_7K?XLoS.C^&#f7-1a7"EK[(%m.` +Gmq$259V:t)6J^^bJ]AiZ0%X->g!R/Pd'<)WN'fmHoZd9"i</^,W(QBJLB+Dd+8ec +U/'97G[)5cfr-hECPk)).PJIgT!&;BUq&JRO#!<#jFJ6LS^1rDmYU4H^#cSm>Y8Y^ +$.(uOPi:m&$"EH6+?2`q8,Z[<]Y)SsO`k7n-[4jYh$Rk4JoW!UD8]L54^+5DB(VF# +3?;BOn0O@XBI;5NMK9muOSJiNd'SQ-*(\M611D1"g3aDfkI>IFm=Pb.Q1Sk$8AX-] +1.EYUR;)MlPMNiplQKi,moh7477)SF7lX7&,MMMpK7><jLOA;1P8)dXE$JhBAI1s; +n/JXP4<h'C93eZMP-Rkj;cdt"B%5Q=2TLSb87hUZ,1$MYF:%IC:5:l#](]t4\>l:' +<ocIPbYkL.QgeW,/;3[2OjW]Iqb@/l5*GKHnu=Pe_1=9?[%N,1WQ8`=*[Z-gEX*&H +GYPrT[@EuTr?j/M(9E'`co(7uUr'ioLFH-/A:QK>o$gUopeY\KR)j$=^Q>M9TLLA= +K&ItP(scc^:`=m6jkf4bJ'0pF^"Hq;*&df&NNk0n33ueZliA%\S<\qe',ORhR6't3 +S/FgHF\k"T,9[A1c10VG5UPt=S8Uh$JlSAj2c@lB/EV%u@G>tFcObPJ@+cRYL8&>1 +W0Wjo%HQfDltb<<oDa*jDBh4@1__YD&cg#VS(0i/C](VJaf2O^b+OjHMZt;n#_1Y` +5I\(bn(_TpkQEA+eV'KIZ*q&]-%V4srVI>ncCM*B9H,L,<"t!qc^kD8DU!7&!qLC\ +[Tt=s_-bX:a#(`Oj6,Z-_CPX-Qm(QGls"DC/*5s_%.JiT1b:3Gm8'NnJDJf?PNt*0 +pFNN%5[gt0$JR\qgZgLEY#9Ya<J;eMlEA(5h9*%nNA6;l54p9KB2bjV4GS_cbuAC3 +@[L0JDIU0`MMZ[e^702Wg!j$3=lb$DdH\;NfW!X#*Sf%G2i5A0#C@:0a=<h9r69@Z +B)RM"A.K6ik\DTjJi%$I'cu%T+jL\4M**"7!;4en%<]i4RpS)G2[k(=I/['N'GV[7 +;E:Qe@`&og`I^VVN+^Znk*eVP49l+^i]=BBjCZ5s-^pcXWDbPkW5U>Pn\F)i<%'$W +BL0M!JdbMfW9G6^]-[A-S?WhqTq]+^Zup%9[Goh9dct'O.9gPWNRZ4Ri37<9YUUf< +<q\DFn!l]&#p6Q$%9!d][5bE4FlEh:W[KOkVQN8DRo#5hN$E_:.`"WEWGW$lWP\e= +/t@'JN6D/O8*`-!!5R\2VSt,cn3TrTK_6Ru-#Nb@p@IJGH3!/-N4DdAcK[S/>4o/^ +e7Q"s2=cHKD@TS'X$Q=Rg33k%.HUVe#Bon1oC!pO*(L?&c6P0sA,NP7m1e"Y-hKtW +Eg^Ku*Sp"I7$>+U;'?2`G']p^8((E:BUl`d-SF?4(sP/!k[IW$`L1fLqj+-eO;od_ +4(S!'9a[']=]13O<$A-=,S2u^Q2R3k]\:>+F4":KgUI#OW@AE'<uqLdJ?u,*(:?^p +F'"Z40JgK2:4Lpq5=(l4FOR6mQEGA,7sIf1Y:V,D28>5J10YU^)9U?HqI_?Yj?8.E +LJt'HILN#5Pe02d/7!aF$c7mF>6,XG[bQDVR7RBdXMY"S@#OQ2;kTPFisp!qlijYs +MU-2j00P;0K\59[;?NgjKg,!(A%U"t78uecdb8Xilob)t,2`IW%qUntplW/NgfpM7 +o&K0t/`/j1U,[1%pV]g2iX_uIVP9elEe@qLUDDF5F,/5adEKUS:Q7HJl.p;YdiJUU +^X^_+Fo^18FMt4(%=gdcd77!sOAOH?r1A>,fbH0V=MaY/_]!(!R4BF07DQ@QHHb-G +Qtf=E&e"0qE[CUE//mRp&mYj,0m]pS9ksYu\mphQq`>H"7`]JsX"3M]J3/a24`SoJ +MuWUT)\&`E#e[MiFk#dl=m0&uQ40]EgU-5"G`W6GlX]9=HEfZB-ah6`R.Fp]7C]$" +$Y]h+77tC^NV?Qi&3#@''*c;Kl66n15DDh*(,`7#fC(/Z#kR;o0b39Vi*P7,Q*.RS +Qk).LkOGg\s&PL(%pQh="d9KapWFTnMG/8E\0UHE5f7GD0;sp#^-0*'N;c6:^M8ll +W1X@JJCcs:g@dnm/*e3#oN!Gs(@+0o+s0r1PrY"gIiN1DMfQ(?r.3UC61kr`B1.jM +;#9$QUWQDCWkOIFEMV.J92_Zi2uEbn8S0[RS`KdHSMg-Gr@uNf7CWN"QYu]bia&&N +nmo@la7Pp$>"KjQM7*YJ4OGc/$ia$f4mtLFTi''2_I'(FT^ZgWjfGAt?J=fh!?6(S +4.QDS(dSVQ]Kd?!C*Dfu9t[?Iq+$H5Z1f&fFcHPALMgZuAdpNm9K@UO;BO%B$tBM* +R3D%h8Ir'X,hrlQ[,sIL@7/MF7q*(<j+I#d._r=bJ0%_`P;)$$k(lYaX+THTk<q,> +VF)ZNg3[;;_j/(F+<ZFij[XW08YhI\9Am=K!dS(h3rU&JQpjs#;>pTDCdmLp$@\j1 +3G;;]AdUufFIV7EC7J$7;i6!5Yt'O`;o3\`-31KZ;Z\Gc]r+!*+?#+c=qd5j-XkB> +UYhpp<qmNR8BEQI=S)#t`q%Aa@%?In<Zm7^Qh-]9,_[YJ:28j>-Knj'+R"'Oe_'LC +gc_BA?5Po^qD7:Q$_^aPT_cGMo8G*Z[uk0,kLgIW/(M8?fI'8HT&R1CW&^oKD1tcs +4/MlgPJ+WL)Yipb3'bM&`7Le0.)A&j_C+"0:9P!O'A7UfRhIiMZVDC1A+o=Tc"GQ7 +Rfl"k7T7R?BXB%.jkVLI"A8>&S!?8CKUP$rSYmbbXmV)Gq?'f(;nkLg2qaJ^>3=3< +)l:pj_<fh9e6c6DQ6iZ.L(?B(^uJ5r_`[9/c1s]@"[V,XS.M#=O8?qC(^ma':f/;- +oVM<eCRFlL2It93S2/j(aou*WL]OQ!r5\n$5paGC[=D/)eM1b';snE"Ou?8GY;`?J +835[2``#a1@po<-onMf.ci9QLr-/r[*s8pD=94K[Jt+j.<CBh,p<\-o%^7N*B&S#l +i6*2u5CWJVjLNF>)4oj$Q7dE8L2$GWK6L)WGE!&.Ssq[O+fZq@=uUD1:RTE\@nhj+ +dsQV'J1KB+(pN^iJ#,st`\(`1@pnAE4L#9(E(e&_M,8mBq4ReCjnCGcU`8mKF8lF= +Q5<i4r+SjI:]JNEI`Bu(%gNm!9'^D:hWBLbFJH_)Dck&L>Cbcf\m'A,[L_Ngi&[D> +eG6i?mluR-:2i4&R,CLrJIAS2r'Ou]\/8dm![;RNqrC-Jo(UnM?3U:E$ip5"'3hVW +fAJs'.>$5ZIVA$<7`j8U@31IqGG\$Z=N!.<2hrZF\#5GWRh5K`JnTR5d?:YgSSo,H +(-;Wg>6l(bp6(a**!GE%5HK;H("&!36%F12/gu>3l'c1OdM(U_aknk[0m8,*O,N6I +LK>(+ieBq9qos%:2%-_VTj,OR#Jt5QWNSS,_D8i,4\XhYNLBr#32u+JUT9=-1$V*& +SZ,Cp\Bj9W7@MH`W1GWNBY2Dl<Q4P$A_O,fReK^\dtnE%1k#jQ@9hhA)F'Do^PT:k +"W+-P&+[ABB9A6Y:TD*Ye#;s6V_ogbR\or%X#k?-&`imuL&%YcK\dpWC4\a7<D,K8 +3V"Y-ka@(tX68/nj\@W%*H+$4*5]C\7F.@3CVU0j#-/Ve^R4;cI5k-1WP,G)MP\Z4 +Z`<r)gYEYfCW>AaNA-K?H^dd>,6(8\$;M]c`>t-1dIdkEEMU*bTtXd>]`8up#,Ka7 +r6oLG_lEh&pdB)NKI/6.%,]mu2HNnbPr'6P=,Be)!Xo(DnBaf~> +endstream +endobj +130 0 obj +<< +/ProcSet [/PDF /ImageB ] +>> +endobj +87 0 obj +<< +/Name /T1 +/Type /Font +/Subtype /Type3 +/Resources 130 0 R +/FontBBox [3 -2 41 61] +/FontMatrix [1 0 0 -1 0 0] +/FirstChar 48 +/LastChar 57 +/Encoding 131 0 R +/CharProcs 132 0 R +/Widths [45 45 0 0 0 0 0 0 0 45 ] +>> +endobj +131 0 obj +<< +/Type /Encoding +/Differences [48/0 /1 57/9 ] +>> +endobj +132 0 obj +<< +/0 133 0 R +/1 134 0 R +/9 135 0 R +>> +endobj +133 0 obj +<< +/Length 217 +>> +stream +45 0 3 -2 41 61 d1 +q +38 0 0 63 3.1 -2.1 cm +BI +/W 38 +/H 63 +/BPC 1 +/IM true +/F [/A85 /CCF] +/DP [null <</K -1 /Columns 38>>] +ID +3f=+N&9LFfJdp.GPB<;Cf',-nf)PS@s8W,bJ,fQKs8W-!s8M]ks(cr\mpFf*^MPK8 +>>!UM(eVb7$4IUK5Qh~> +EI +Q +endstream +endobj +134 0 obj +<< +/Length 182 +>> +stream +45 0 8 0 37 61 d1 +q +29 0 0 61 8.1 -0.1 cm +BI +/W 29 +/H 61 +/BPC 1 +/IM true +/F [/A85 /CCF] +/DP [null <</K -1 /Columns 29>>] +ID +3n:;_/DqeBJJf'q50*^'s8W-!s8W-!s8W-!s8W,s+QV$.HiQD7~> +EI +Q +endstream +endobj +135 0 obj +<< +/Length 232 +>> +stream +45 0 4 -2 40 61 d1 +q +36 0 0 63 4.1 -2.1 cm +BI +/W 36 +/H 63 +/BPC 1 +/IM true +/F [/A85 /CCF] +/DP [null <</K -1 /Columns 36>>] +ID +3XZ'2#7-B]"<4/m-M;M-=',,hp\Oj's8W,6s*nDLrEjDea0rToD5FN\lCj*oKu`i# +f<!ZU5+5fhqU/E-_FiN_(aWXm-nnHu!"]~> +EI +Q +endstream +endobj +30 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F6 +/FirstChar 0 +/LastChar 196 +/Widths [615 833 763 694 742 831 780 583 667 612 772 640 566 518 444 406 +438 497 469 354 576 583 603 494 438 570 517 571 437 540 596 626 +651 622 466 591 828 517 363 654 1000 1000 1000 1000 278 278 500 500 +500 500 500 500 500 500 500 500 500 500 278 278 778 500 778 500 +531 750 759 715 828 738 643 786 831 440 555 849 681 970 804 763 +642 791 759 613 584 683 583 944 829 581 683 389 389 389 1000 1000 +417 529 429 433 521 466 490 477 576 345 412 521 298 878 600 485 +503 446 451 469 361 572 485 716 572 490 465 322 384 636 500 278 +667 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +0 615 833 763 694 742 831 780 583 667 612 1000 1000 772 640 566 +518 444 406 438 497 469 354 576 583 603 494 438 570 517 571 437 +540 596 626 651 278 ] +/Encoding 136 0 R +/BaseFont /BNDIKC+cmmi10 +/FontDescriptor 110 0 R +>> +endobj +44 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F8 +/FirstChar 0 +/LastChar 196 +/Widths [778 278 778 500 778 500 778 778 778 778 778 778 778 1000 500 500 +778 778 778 778 778 778 778 778 778 778 778 778 1000 1000 778 778 +1000 1000 500 500 1000 1000 1000 778 1000 1000 611 611 1000 1000 1000 778 +275 1000 667 667 889 889 0 0 556 556 667 500 722 722 778 778 +611 798 657 527 771 528 719 595 845 545 678 762 690 1201 821 796 +696 817 848 606 545 626 613 988 713 668 725 667 667 667 667 667 +611 611 444 444 444 444 500 500 389 389 278 500 500 611 500 278 +833 750 833 417 667 667 778 778 444 444 444 611 778 778 778 778 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +0 778 278 778 500 778 500 778 778 778 778 1000 1000 778 778 778 +1000 500 500 778 778 778 778 778 778 778 778 778 778 778 778 1000 +1000 778 778 1000 778 ] +/Encoding 137 0 R +/BaseFont /BNDMID+cmsy10 +/FontDescriptor 114 0 R +>> +endobj +53 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F10 +/FirstChar 0 +/LastChar 196 +/Widths [706 939 877 782 754 843 816 877 816 877 816 678 647 647 970 970 +323 354 569 569 569 569 569 843 508 569 816 877 569 1014 1137 877 +323 323 569 939 569 939 877 323 446 446 569 877 323 385 323 569 +569 569 569 569 569 569 569 569 569 569 323 323 323 877 539 539 +877 843 799 816 860 768 737 884 843 413 583 874 706 1028 843 877 +768 877 829 631 816 843 843 1151 843 843 692 323 569 323 569 323 +323 569 631 508 631 508 354 569 631 323 354 600 323 939 631 569 +631 600 446 453 446 631 600 816 600 600 508 569 1139 569 569 569 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +385 706 939 877 782 754 843 816 877 816 877 1000 1000 816 678 647 +647 970 970 323 354 569 569 569 569 569 843 508 569 816 877 569 +1014 1137 877 323 569 ] +/Encoding 138 0 R +/BaseFont /BNDNPL+cmr7 +/FontDescriptor 116 0 R +>> +endobj +72 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F11 +/FirstChar 0 +/LastChar 196 +/Widths [458 458 417 417 472 472 472 472 583 583 472 472 333 556 578 578 +597 597 736 736 528 528 583 583 583 583 750 750 750 750 1044 1044 +792 792 583 583 639 639 639 639 806 806 806 806 1278 1278 811 811 +875 875 667 667 667 667 667 667 889 889 889 889 889 889 889 667 +875 875 875 875 611 611 833 1111 472 556 1111 1511 1111 1511 1111 1511 +1056 944 472 833 833 833 833 833 1444 1278 556 1111 1111 1111 1111 1111 +944 1278 556 1000 1444 556 1000 1444 472 472 528 528 528 528 667 667 +1000 1000 1000 1000 1056 1056 1056 778 667 667 450 450 450 450 778 778 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +0 458 458 417 417 472 472 472 472 583 583 1000 1000 472 472 333 +556 578 578 597 597 736 736 528 528 583 583 583 583 750 750 750 +750 1044 1044 792 778 ] +/Encoding 139 0 R +/BaseFont /BNEGAK+cmex10 +/FontDescriptor 118 0 R +>> +endobj +73 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F12 +/FirstChar 0 +/LastChar 195 +/Widths [429 713 758 771 596 723 647 716 833 703 876 658 663 609 501 550 +512 560 554 335 555 542 618 599 553 609 548 605 514 587 728 577 +754 851 486 552 876 1000 1000 763 1000 1000 1000 1000 1000 1000 1000 1000 +500 500 500 500 500 500 500 500 500 500 278 278 756 502 756 1000 +560 771 656 715 828 605 499 765 783 394 402 669 559 1044 830 803 +576 829 609 557 493 774 646 986 666 555 667 1000 1000 1000 1000 1000 +388 609 589 487 604 500 420 569 622 360 332 556 365 916 664 563 +590 606 432 456 417 643 496 812 526 594 471 333 332 604 1000 0 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +333 429 713 758 771 596 723 647 716 833 703 1000 1000 876 658 663 +609 501 550 512 560 554 335 555 542 618 599 553 609 548 605 514 +587 728 577 754 ] +/Encoding 140 0 R +/BaseFont /BNEEIC+eurm10 +/FontDescriptor 120 0 R +>> +endobj +61 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F13 +/FirstChar 0 +/LastChar 196 +/Widths [625 833 778 694 667 750 722 778 722 778 722 583 556 556 833 833 +278 306 500 500 500 500 500 750 444 500 722 778 500 903 1014 778 +278 278 500 833 500 833 778 278 389 389 500 778 278 333 278 500 +500 500 500 500 500 500 500 500 500 500 278 278 278 778 472 472 +778 750 708 722 764 681 653 785 750 361 514 778 625 917 750 778 +681 778 736 556 722 750 750 1028 750 750 611 278 500 278 500 278 +278 500 556 444 556 444 306 500 556 278 306 528 278 833 556 500 +556 528 392 394 389 556 528 722 528 528 444 500 1000 500 500 500 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +333 625 833 778 694 667 750 722 778 722 778 1000 1000 722 583 556 +556 833 833 278 306 500 500 500 500 500 750 444 500 722 778 500 +903 1014 778 278 500 ] +/Encoding 138 0 R +/BaseFont /BNECKO+cmr10 +/FontDescriptor 122 0 R +>> +endobj +86 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F14 +/FirstChar 0 +/LastChar 196 +/Widths [778 778 778 778 778 778 778 778 778 778 778 778 778 778 778 778 +778 778 778 778 778 778 778 778 778 778 778 778 778 778 889 889 +778 778 778 778 778 778 778 778 778 778 778 778 500 278 222 389 +611 722 611 722 778 778 778 778 1000 1000 1000 1000 1000 1000 778 778 +556 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 +611 778 722 556 667 722 722 1000 722 722 667 1889 2333 1889 2333 1000 +556 639 1000 1000 1000 1000 722 556 778 667 444 667 778 778 778 778 +222 389 778 778 778 778 778 778 1000 1000 778 667 556 540 540 429 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +300 778 778 778 778 778 778 778 778 778 778 1000 1000 778 778 778 +778 778 778 778 778 778 778 778 778 778 778 778 778 778 778 778 +778 889 889 778 429 ] +/Encoding 141 0 R +/BaseFont /BNEJED+msbm10 +/FontDescriptor 124 0 R +>> +endobj +62 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F16 +/FirstChar 0 +/LastChar 255 +/Widths [333 333 528 545 167 333 556 278 333 333 333 606 667 444 250 250 +0 0 0 0 250 250 250 250 250 250 250 250 250 250 250 250 +250 333 500 500 500 889 778 333 333 333 389 606 250 333 250 296 +500 500 500 500 500 500 500 500 500 500 250 250 606 606 606 500 +747 722 611 667 778 611 556 722 778 333 333 667 556 944 778 778 +611 778 667 556 611 778 722 944 722 667 667 333 606 333 606 500 +333 444 463 407 500 389 278 500 500 278 278 444 278 778 556 444 +500 463 389 389 333 556 500 722 500 500 444 333 606 333 606 250 +250 250 278 500 500 1000 500 500 333 1000 556 333 1028 333 250 250 +250 278 278 500 500 500 500 1000 333 1000 389 333 669 278 250 667 +250 333 500 500 500 500 606 500 333 747 333 500 606 333 747 333 +400 606 300 300 333 556 500 250 333 300 333 500 750 750 750 500 +722 722 722 722 722 722 941 667 611 611 611 611 333 333 333 333 +778 778 778 778 778 778 778 606 778 778 778 778 778 667 611 500 +444 444 444 444 444 444 638 407 389 389 389 389 278 278 278 278 +444 556 444 444 444 444 444 606 444 556 556 556 556 500 500 500 +] +/Encoding 142 0 R +/BaseFont /BNECJN+Palatino-Italic +/FontDescriptor 126 0 R +>> +endobj +63 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F18 +/FirstChar 0 +/LastChar 255 +/Widths [333 250 605 608 167 380 611 291 313 333 333 606 667 500 250 250 +0 0 0 0 250 250 250 250 250 250 250 250 250 250 250 250 +250 278 371 500 500 840 778 208 333 333 389 606 250 333 250 606 +500 500 500 500 500 500 500 500 500 500 250 250 606 606 606 444 +747 778 611 709 774 611 556 763 832 337 333 726 611 946 831 786 +604 786 668 525 613 778 722 1000 667 667 667 333 606 333 606 500 +333 500 553 444 611 479 333 556 582 291 234 556 291 883 582 546 +601 560 395 424 326 603 565 834 516 556 500 333 606 333 606 250 +250 250 278 500 500 1000 500 500 333 1144 525 331 998 333 250 250 +250 278 278 500 500 606 500 1000 333 979 424 331 827 287 250 667 +250 278 500 500 500 500 606 500 333 747 333 500 606 333 747 333 +400 606 300 300 333 603 628 250 333 300 333 500 750 750 750 444 +778 778 778 778 778 778 944 709 611 611 611 611 337 337 337 337 +774 831 786 786 786 786 786 606 833 778 778 778 778 667 604 556 +500 500 500 500 500 500 758 444 479 479 479 479 287 287 287 287 +546 582 546 546 546 546 546 606 556 603 603 603 603 556 601 556 +] +/Encoding 142 0 R +/BaseFont /BNEDCC+Palatino-Roman +/FontDescriptor 128 0 R +>> +endobj +64 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F19 +/BaseFont /Symbol +>> +endobj +18 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F20 +/Encoding 142 0 R +/BaseFont /Courier +>> +endobj +54 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F21 +/Encoding 142 0 R +/BaseFont /Courier-Bold +>> +endobj +31 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F22 +/FirstChar 0 +/LastChar 255 +/Widths [600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 +] +/Encoding 143 0 R +/BaseFont /BNDJIN+Courier-Italic +/FontDescriptor 112 0 R +>> +endobj +4 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F23 +/FirstChar 0 +/LastChar 255 +/Widths [278 278 630 630 167 278 648 316 278 278 278 600 741 481 278 278 +0 0 0 0 278 278 278 278 278 278 278 278 278 278 278 278 +278 296 500 556 556 1000 815 260 389 389 574 600 278 389 278 463 +556 556 556 556 556 556 556 556 556 556 278 278 600 600 600 593 +800 778 741 778 888 648 593 870 888 408 370 778 648 963 815 888 +704 888 778 630 630 796 759 1000 815 742 741 389 463 389 600 500 +278 556 594 500 612 519 333 519 630 316 296 594 316 908 630 594 +612 612 426 444 352 612 519 796 519 519 481 389 222 389 600 278 +278 278 260 556 500 1000 648 648 278 1000 630 352 1130 278 278 278 +278 260 260 500 500 500 500 1000 278 1000 444 352 888 316 278 742 +278 296 556 556 556 556 222 556 278 800 361 574 600 389 800 278 +400 600 361 361 278 612 620 278 278 361 386 574 834 834 834 593 +778 778 778 778 778 778 1111 778 648 648 648 648 408 408 408 408 +888 815 888 888 888 888 888 600 888 796 796 796 796 742 704 630 +556 556 556 556 556 556 796 500 519 519 519 519 316 316 316 316 +594 630 594 594 594 594 594 600 594 612 612 612 612 519 612 519 +] +/Encoding 142 0 R +/BaseFont /BNDCHL+Concorde-Bold +/FontDescriptor 102 0 R +>> +endobj +23 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F24 +/FirstChar 0 +/LastChar 255 +/Widths [278 278 648 648 167 278 667 333 278 278 278 600 722 481 278 278 +0 0 0 0 278 278 278 278 278 278 278 278 278 278 278 278 +278 296 463 556 556 1000 889 259 370 370 500 600 278 370 278 463 +556 556 556 556 556 556 556 556 556 556 278 278 600 600 600 537 +800 796 759 741 870 685 593 889 889 426 370 741 667 1000 870 833 +685 833 778 593 630 796 741 1000 815 741 722 407 463 407 600 500 +278 593 593 500 611 500 333 500 630 333 296 611 333 907 630 593 +593 574 389 444 352 648 556 815 556 500 481 407 222 407 600 278 +278 278 259 556 463 1000 611 704 278 1000 593 370 1130 278 278 278 +278 259 259 463 463 500 500 1000 278 990 444 370 889 333 278 741 +278 296 556 556 556 556 222 556 278 800 385 574 600 370 800 278 +400 600 361 361 278 648 600 278 278 361 385 574 834 834 834 537 +796 796 796 796 796 796 1037 741 685 685 685 685 426 426 426 426 +870 870 833 833 833 833 833 600 833 796 796 796 796 741 685 574 +593 593 593 593 593 593 815 500 500 500 500 500 333 333 333 333 +593 630 593 593 593 593 593 600 593 648 648 648 648 500 593 500 +] +/Encoding 142 0 R +/BaseFont /BNDHGN+Concorde-Italic +/FontDescriptor 108 0 R +>> +endobj +5 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F25 +/FirstChar 0 +/LastChar 255 +/Widths [278 278 592 592 167 278 667 296 278 278 278 600 741 500 278 278 +0 0 0 0 278 278 278 278 278 278 278 278 278 278 278 278 +278 334 463 556 556 1000 926 260 370 370 520 600 278 352 278 463 +556 556 556 556 556 556 556 556 556 556 278 278 600 600 600 593 +800 759 722 741 833 685 611 852 870 388 352 759 667 981 852 852 +630 852 704 611 630 796 759 1000 741 722 741 370 463 370 600 500 +278 519 574 500 592 500 315 500 611 296 278 592 296 870 611 592 +592 574 389 426 333 592 519 796 519 500 500 370 222 370 600 278 +278 278 260 556 463 1000 592 592 278 1000 611 352 1130 278 278 278 +278 260 260 463 463 500 500 1000 278 990 426 352 889 296 278 722 +278 334 556 556 556 556 222 556 278 800 337 574 600 352 800 278 +400 600 361 361 278 592 600 278 278 361 384 574 834 834 834 593 +759 759 759 759 759 759 1130 741 685 685 685 685 388 388 388 388 +833 852 852 852 852 852 852 600 852 796 796 796 796 722 630 611 +519 519 519 519 519 519 796 500 500 500 500 500 296 296 296 296 +592 611 592 592 592 592 592 600 592 592 592 592 592 500 592 500 +] +/Encoding 142 0 R +/BaseFont /BNDDIP+Concorde-Roman +/FontDescriptor 104 0 R +>> +endobj +19 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F26 +/FirstChar 0 +/LastChar 255 +/Widths [333 333 556 556 167 333 500 278 333 333 333 606 611 500 278 278 +0 0 0 0 278 278 278 278 278 278 278 278 278 278 278 278 +278 333 333 556 556 889 722 278 278 278 444 606 278 333 278 278 +556 556 556 556 556 556 556 556 556 556 278 278 606 606 606 389 +800 667 611 667 778 500 500 778 778 278 278 611 500 889 778 833 +556 833 611 500 556 778 667 1000 611 611 611 333 500 333 606 500 +333 500 556 500 556 500 278 500 556 278 278 500 278 833 556 556 +556 556 333 389 278 556 500 778 500 500 500 333 333 333 606 278 +278 278 278 556 444 1000 500 500 333 1000 500 333 1000 333 278 278 +278 278 278 444 444 606 500 1000 333 950 389 333 889 278 278 611 +278 333 556 556 556 556 333 500 333 750 324 500 606 333 750 333 +400 606 333 333 333 556 800 278 333 333 340 500 834 834 834 389 +667 667 667 667 667 667 833 667 500 500 500 500 278 278 278 278 +778 778 833 833 833 833 833 606 833 778 778 778 778 611 556 556 +500 500 500 500 500 500 778 500 500 500 500 500 278 278 278 278 +556 556 556 556 556 556 556 606 556 556 556 556 556 500 556 500 +] +/Encoding 142 0 R +/BaseFont /BNDFIG+Optima +/FontDescriptor 106 0 R +>> +endobj +65 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F29 +/BaseFont /Helvetica +>> +endobj +136 0 obj +<< +/Type /Encoding +/Differences [ 0/Gamma 9/Psi 10/Omega 13/gamma 127/tie 128/kappa1 +] +>> +endobj +137 0 obj +<< +/Type /Encoding +/Differences [ 0/minus 9/circleminus 10/circlemultiply 13/circlecopyrt 127/spade +] +>> +endobj +138 0 obj +<< +/Type /Encoding +/Differences [ 0/Gamma 9/Psi 10/Omega 13/fl 127/dieresis +] +>> +endobj +139 0 obj +<< +/Type /Encoding +/Differences [ 0/parenleftbig 9/bracerightbig 10/angbracketleftbig 13/vextenddouble 127/arrowdblbt +] +>> +endobj +140 0 obj +<< +/Type /Encoding +/Differences [ 0/Gamma 9/Psi 10/Omega 13/gamma 127/ghost +] +>> +endobj +141 0 obj +<< +/Type /Encoding +/Differences [ 0/lessornotequal 9/greaterornotdbleql 10/notlessorslnteql 13/greaternotequal 127/epsiloninv +] +>> +endobj +142 0 obj +<< +/Type /Encoding +/Differences [ 0/breve/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash +/ogonek/ring/tilde/minus/Zcaron/zcaron 16/dotlessj/ff +/ffi/ffl 39/quotesingle 96/grave 130/quotesinglbase/florin/quotedblbase/ellipsis +/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/caron + 145/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde +/trademark/scaron/guilsinglright/oe/dotlessi 159/Ydieresis 164/currency 166/brokenbar + 168/dieresis/copyright/ordfeminine 172/logicalnot/hyphen/registered/macron/degree +/plusminus/twosuperior/threesuperior/acute/mu 183/periodcentered/cedilla/onesuperior +/ordmasculine 188/onequarter/onehalf/threequarters 192/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +] +>> +endobj +143 0 obj +<< +/Type /Encoding +/Differences [ 0/breve/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash +/ogonek/ring/tilde/minus/Zcaron/zcaron 16/dotlessj/ff +/ffi/ffl 39/quotesingle 96/grave 130/quotesinglbase/florin/quotedblbase/ellipsis +/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/caron + 145/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde +/trademark/scaron/guilsinglright/oe/dotlessi 159/Ydieresis 164/currency 166/brokenbar + 168/dieresis/copyright/ordfeminine 172/logicalnot/hyphen/registered/macron/degree +/plusminus/twosuperior/threesuperior/acute/mu 183/periodcentered/cedilla/onesuperior +/ordmasculine 188/onequarter/onehalf/threequarters 192/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +] +>> +endobj +1 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 3 0 R +/Contents 2 0 R +>> +endobj +9 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 11 0 R +/Contents 10 0 R +>> +endobj +12 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 14 0 R +/Contents 13 0 R +>> +endobj +15 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 17 0 R +/Contents 16 0 R +>> +endobj +20 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 22 0 R +/Contents 21 0 R +>> +endobj +24 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 26 0 R +/Contents 25 0 R +>> +endobj +27 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 29 0 R +/Contents 28 0 R +>> +endobj +32 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 34 0 R +/Contents 33 0 R +>> +endobj +35 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 37 0 R +/Contents 36 0 R +>> +endobj +38 0 obj +<< +/Type /Page +/Parent 8 0 R +/Resources 40 0 R +/Contents 39 0 R +>> +endobj +41 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 43 0 R +/Contents 42 0 R +>> +endobj +47 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 49 0 R +/Contents 48 0 R +>> +endobj +50 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 52 0 R +/Contents 51 0 R +>> +endobj +55 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 57 0 R +/Contents 56 0 R +>> +endobj +58 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 60 0 R +/Contents 59 0 R +>> +endobj +66 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 68 0 R +/Contents 67 0 R +>> +endobj +69 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 71 0 R +/Contents 70 0 R +>> +endobj +74 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 76 0 R +/Contents 75 0 R +>> +endobj +77 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 79 0 R +/Contents 78 0 R +>> +endobj +80 0 obj +<< +/Type /Page +/Parent 46 0 R +/Resources 82 0 R +/Contents 81 0 R +>> +endobj +83 0 obj +<< +/Type /Page +/Parent 88 0 R +/Resources 85 0 R +/Contents 84 0 R +>> +endobj +89 0 obj +<< +/Type /Page +/Parent 88 0 R +/Resources 91 0 R +/Contents 90 0 R +>> +endobj +92 0 obj +<< +/Type /Page +/Parent 88 0 R +/Resources 94 0 R +/Contents 93 0 R +>> +endobj +95 0 obj +<< +/Type /Page +/Parent 88 0 R +/Resources 97 0 R +/Contents 96 0 R +>> +endobj +98 0 obj +<< +/Type /Page +/Parent 88 0 R +/Resources 100 0 R +/Contents 99 0 R +>> +endobj +8 0 obj +<< +/Type /Pages +/Kids [1 0 R 9 0 R 12 0 R 15 0 R 20 0 R 24 0 R 27 0 R 32 0 R 35 0 R 38 0 R] +/Count 10 +/Parent 45 0 R +>> +endobj +46 0 obj +<< +/Type /Pages +/Kids [41 0 R 47 0 R 50 0 R 55 0 R 58 0 R 66 0 R 69 0 R 74 0 R 77 0 R 80 0 R] +/Count 10 +/Parent 45 0 R +>> +endobj +88 0 obj +<< +/Type /Pages +/Kids [83 0 R 89 0 R 92 0 R 95 0 R 98 0 R] +/Count 5 +/Parent 45 0 R +>> +endobj +45 0 obj +<< +/Type /Pages +/Kids [8 0 R 46 0 R 88 0 R ] +/Count 25 +/MediaBox [0 0 595 842] +>> +endobj +144 0 obj +<< +/Type /Catalog +/Pages 45 0 R +>> +endobj +145 0 obj +<< +/CreationDate (D:19990311132245) +/Producer (Acrobat Distiller Command 3.0 for Solaris 2.3 and later \(SPARC\)) +/Creator (dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software) +/Title (guide.dvi) +>> +endobj +xref +0 146 +0000000000 65535 f +0000306477 00000 n +0000000016 00000 n +0000025176 00000 n +0000298356 00000 n +0000300783 00000 n +0000112056 00000 n +0000112127 00000 n +0000308564 00000 n +0000306557 00000 n +0000025301 00000 n +0000025512 00000 n +0000306639 00000 n +0000025608 00000 n +0000027159 00000 n +0000306722 00000 n +0000027266 00000 n +0000030401 00000 n +0000296943 00000 n +0000301995 00000 n +0000306805 00000 n +0000030529 00000 n +0000035326 00000 n +0000299568 00000 n +0000306888 00000 n +0000035457 00000 n +0000038686 00000 n +0000306971 00000 n +0000038814 00000 n +0000044279 00000 n +0000287359 00000 n +0000297144 00000 n +0000307054 00000 n +0000044441 00000 n +0000047525 00000 n +0000307137 00000 n +0000047653 00000 n +0000052522 00000 n +0000307220 00000 n +0000052676 00000 n +0000055199 00000 n +0000307303 00000 n +0000055327 00000 n +0000058794 00000 n +0000288361 00000 n +0000308939 00000 n +0000308699 00000 n +0000307387 00000 n +0000058967 00000 n +0000062064 00000 n +0000307471 00000 n +0000062192 00000 n +0000067203 00000 n +0000289373 00000 n +0000297041 00000 n +0000307555 00000 n +0000067400 00000 n +0000070293 00000 n +0000307639 00000 n +0000070421 00000 n +0000075842 00000 n +0000292421 00000 n +0000294442 00000 n +0000295654 00000 n +0000296864 00000 n +0000303198 00000 n +0000307723 00000 n +0000076075 00000 n +0000079426 00000 n +0000307807 00000 n +0000079554 00000 n +0000086145 00000 n +0000290378 00000 n +0000291409 00000 n +0000307891 00000 n +0000086354 00000 n +0000088980 00000 n +0000307975 00000 n +0000089108 00000 n +0000094273 00000 n +0000308059 00000 n +0000094494 00000 n +0000097113 00000 n +0000308143 00000 n +0000097241 00000 n +0000102477 00000 n +0000293424 00000 n +0000286218 00000 n +0000308837 00000 n +0000308227 00000 n +0000102673 00000 n +0000104952 00000 n +0000308311 00000 n +0000105080 00000 n +0000109162 00000 n +0000308395 00000 n +0000109371 00000 n +0000110607 00000 n +0000308479 00000 n +0000110735 00000 n +0000111804 00000 n +0000111932 00000 n +0000112197 00000 n +0000112602 00000 n +0000143317 00000 n +0000143890 00000 n +0000176136 00000 n +0000176405 00000 n +0000193414 00000 n +0000193701 00000 n +0000215328 00000 n +0000215722 00000 n +0000218102 00000 n +0000218365 00000 n +0000220842 00000 n +0000222035 00000 n +0000232396 00000 n +0000232627 00000 n +0000233468 00000 n +0000233856 00000 n +0000236027 00000 n +0000236440 00000 n +0000243293 00000 n +0000243555 00000 n +0000244383 00000 n +0000244592 00000 n +0000245947 00000 n +0000246244 00000 n +0000264894 00000 n +0000265196 00000 n +0000286170 00000 n +0000286445 00000 n +0000286513 00000 n +0000286569 00000 n +0000286839 00000 n +0000287074 00000 n +0000303280 00000 n +0000303387 00000 n +0000303509 00000 n +0000303607 00000 n +0000303747 00000 n +0000303845 00000 n +0000303993 00000 n +0000305235 00000 n +0000309037 00000 n +0000309089 00000 n +trailer +<< +/Size 146 +/Root 144 0 R +/Info 145 0 R +/ID [<b9e95d04c6c4557703087f0137c8b9aa><b9e95d04c6c4557703087f0137c8b9aa>] +>> +startxref +309308 +%%EOF diff --git a/macros/plain/formats/startex/ideas.pdf b/macros/plain/formats/startex/ideas.pdf new file mode 100644 index 0000000000..86fab0f333 --- /dev/null +++ b/macros/plain/formats/startex/ideas.pdf @@ -0,0 +1,2902 @@ +%PDF-1.2 +%âãÏÓ +2 0 obj +<< +/Length 6875 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;X-D9lo(1&\[L3n2NrV0P3$68hSe]j4'qaah^[$VX,9F&e_Gr#q\D6<c.QFkIp9a +6.2(3Y-gnJ39]VkO4W3+rj'1_rRNUf@X3$+IGu%lrl[[n(1gf![9G2+=6\`<lLj&k +fu<?'PpU4&`RU6!GA)_B[/B12-(/t83)+4W0:$OZb[7oL-@(n/Nf/-14SQNJ5Q7jC +@d=E.N;gHeqc/qm<VE9V:jTE19l8N(`L4on9pD)q^pC/eFVHoMg*ebdh1"5kUF<QG +rGghVo1<,b2koG/F,S:CC4:u/C%f$J-nEM?<16PBbod@"^NCHa=qoM]a(FgoHK#U- +hXKmD-7[5Yf^X5/_8J\Tk@nLR/DoC5Q0.uB%=W8)Lof9L_kE!/ZVl_17;NY#8pW&R +$W[5q.'B7!Y"\R$fttPBmLZoCp;XWp9i(GM1]N?ldYnI7g%Hd#D0?N.J+c`NL;t\m +9bV(ue>U!I]"@lmSt8THf?N]T]:1F`n+pSP1H2MpqLFu5,FgAkPpL<FpaXDJhurA\ +],kZIU61k;=WP@f\a"ufT"(epTd@E"c^jK0DRtrj/mrA:W8Zcepi`]TMtPSfFZZa: +\H<s$+N0:KaAQs5+hNMTY<pOgUoG08eJ[FgJXig<'A<fbMMQ>\J/\0t8,GiPd\+l5 +V5q>)%5)3JIVfQ_eA1M_M.dG<=$'\rnc[J\4L"=_1A:e1)LmXF9G]!)eiX!r!tiI/ +Id\FN@&GK_iBFCLSKCbqYr%E.L"M]qh$Zhgk'JnkG;'&j*LO#m6YRYECHRqO1'2fa +)BfBsaES9DLsJGDaK1bp154*ZCeP/c"Q1h/o0#%\m)h,Kc;8mYku&SuW`8Z)C;,lm +JY]<,FN^+clQM81NN/tB%9o\7U;8lNl,3a_o`OsO."V@9D^JC?,QRjk#p#S]9tt8t +lLX(ESOj^PBquV$%9"$#>cK(^]uo1dip?gOqYLg,D#,RUUf>^F`?1;Vef7k51C`O( +E)RVckL^Wd#2gbr&;MHR"gO7GI$QokCTu/(/>\<K"_*p2.-%[,Ep<Ma40A8TZJH2I +Ub!Wk,[S'^=j@eqB\(rVb`@Tq08&uII[uf_OEkXgg!gL8D;'3XE.>Q<GN[dm[ZENW +)g%UKG_b4k<)k!]k%"#QUmsQQY_&ODD\u^$V57.o[k954R-8)#Rt5<Vi$V#["L'3O +I#=Y7j1.lgm=+NKcNIc+;[D#mf,PgO]#_2l=:+FEF:]NJ#/#JRPps,14*t-rET,,; +Zt1O^WBMhS5k:0Uku@%4nJRFu'!:"Dnf1B2H4_F*/<cf3jM"A=s%OV%PJgYkCf1i, +a6rT9^t'S=c:6!*G2O)[lA_o]ruhG5MHiKq9VVS^k?>gY(5"HEe%(P0Xj^C[2j,e$ +CM6)Q#]Y'BG!EDO1c1F&OG(jhn^KG5^hAL892nlXWfF3;q'KE-Qp/>sa/7LsHZi$M +;W/Q(j6q%B5C-)ua2h,iW#5:BGopb97UPVp)(;@o<:s\K*'Suf+si)V80CM@<%M)d +o5*toJ)Es[kY>E2;sl8-SL^NmL7TdkNg%HH\<:T@:4$g@YLE!h]bW==ms)h\LLoNm +KdYp@3QQ9+I5]h4`m/1f/2AR\R?Jgd9X$?SO]8qL;h^<l6(G:i3&/J$Rae`,ai8$: +_kD2"RJSl"kk(;-/S\Br!F)ch,[X#kbB*:-*B&;94]dnLft+@m@UF$/[W!L+^.nbR +^<CE\^5uN(U^Iiok8XLV>t+UK0X#1>fbn(''m\5+LSf)Zd=uo/Y8mbM!HaU1I>*pM +,d'f\,)>c%:,;EWK6BKY;;J8%XV=&R.%1r]2"F\=q5j__"Yc9?Y1/7S=_Z=FL_b54 +#Wh$O`]!05O+V^JKDgI9B>n?W6kL-^!0HYiW?f\Epr5ZqseF.^1npLPnc.VIa` +/e*b9Xn,/6O0(&(!bDFMA6X]]80K`gcDA2_2`tmG9Ts;CcME,1684EIO8WV_a^B.U +V#8U,3!"="SMDd2N[T_VrJH$P<<^TeKk.]BQ>TgK#>>d!;`:Ef0j@dU&t`1GmqG7o +X>P)C5-D36^;25o3L-"SOK(L-C'b51Y"JJC62ks/C-)*aDkfR]<D49\GJ@LkPE_au +1jn)^]03^;#L8"tjFid3;fWTe\QaOP]lr)_LnaV+qbA6Y<[fB-VIE27lHaDtML.'C +"L#:1)EKm6M72AaXWdLrCEXhq\8Bi].BY(!`Jl(%(UHe:f]kB+;,2F8O&=X/:,pk, +q+'LF3crMc0L"AZfrOr$mKnBHVpX.eoK'Feq(NbK=WKW$O,S"P-H;k(@OVD66Jlt` +O9%B0IReX`<t`rC]86p>`UXjXPgBo)8Gbug$V/N,N%TQ8c`WYU:uHh.;a)CX&L<D? +Uq[q6:f<tt`cEB3m]2oJ).HEh[aC&8mH&AiCImRE=Gf]UlM=$VlMO0XaGS<T?A?VP +hQ%G>V<<=P34+)C9I;V[7%&Eq?#R-q;Z>oOlK-8<eLC>,bAdT5AP`-`$Crtr^`U[I +UN\gQLjFgpU1UX=.+_*p\BR$(KWD4a(hnU):$W+8R'Gr@.J_6LcH51"H7-<q&+b'i +`:K6n`X(aE?HYI*Jr^g*R:2/sO[bW?Z'#6s,[8)Iaof2cD%A\FRXh#V\pGa[B)s"p +nF&L2]G7<1Xm8_9hb!dfd$q'&9QQM]Bq>iCS?S--3^!UE/4#W5A5&\U]"QZ?a#*]U +42N;SpQnB,_pCN:*T3)A%rP'G*OT.?LMl>M4+0:\H(^T\MLi3Hat-;)q+jsi_Cq$G ++m(<G^0m@*IsKm?6J4ro!S\g&Ij^0eKg4AnSFh7Bm'&i`18jKA<%cLqjpX@QfR=ua +2eqHZmZ78s)#4k?=-e2nB%gDoRPT05G4AL5/\;YqjN=:M^d@>9\mq(1osbj@%RQ"C +mkEpYE`@c0Vl<*ZdN\qW7L;imOQ-u]g"g=:T6R,^WKij.)p]a'(q@r_l-Nc!gT&SR +]7a1*4W]>iFneB]:[5_9H/bhA+Q7RDXj!]\73NpF*C+(_4i_3+fKuH`Oa[L1adQc= +JGS$AV*HX=pb;e:"/"gKaXRFW08AKl"8eScHk/`NgY6WGbN*Po*;pd6:HmMYp&5@; +0DQW</j@5gZh/Lh77]$_%.&;hNI!#\HoU^H\cooP#t:(ESXM]sET']iG/CUbA^,mo +a-=:#49hL(m'bZpGk5Vb<YF\EU>3riemS+FERR]@)-329i$m9[[aQjp/(/L@`JPb/ +Ku5A$C+2:]\X.oGgpkgJh]h;li66nDG/JUAXTF*!]$Pn?J:eL7XoWF`,5LO%[\`.= +n66*AI!5CFIDH[BKpueHUtZW#*hf)A1D$`a\*!#).?3H,ST_S@i4JF(4g57^/Zsm[ +ftCm'/$RsT@3%+Q@LhQPn[9-'S!5>qhsLklL/+VdI8nLORqtUIQ.E0THZa"4VZ4tg +Q0l)$>g`:nKn1ct!DfVoW`S@4%p&8Z"9Bbe!Gj$S3@t[`DJ>9?^d5]jkF>c,m-,B[ +,:O/@l)q2^f"G_DO7rN.F!fBOd*Go$VK(-S\R#qkF6g%)oPomf>+,Wi%P>9Qf-n^' +Z"g5TR+U5G18?aZ]'3lr>D\MP[Tou<cfDK96ch6?F>Q8_e\$`n[P@$W?aHh].fofH +bICS"<#Qb9e:4^>:?!^40\HdI2!$WY[Fiq(7?/_i=^<Q`Hg&N``@R](]*pr]rEDR* +:lF-g0?:op%Qc?8JiL/=iPUr[nuWtdr7Ap]ctsFS-7.S)"mfcfeKHEW2c2abE=+Fa +@*(\A;K5:GM(tD3co_H<''D44-g+-p[1O,\jMPeQPpCmsc!6jpPW&Egf5.gI2uL9= +nr)e>0d;8X_S%MDN(2b.+G&@#'$rG]jF4D_08_)K%]2os896Hl_G&Gnd\0lC.Nl7b +5SXIA6<1<&V-+r;_^$+)aBGN145t0+LG'=c6^Hq/S%dB`$HqmE4sm8Og$_.8SNjc+ +$l"3Rb'$=-g&GBm=H_dPIso>(It,J*?X>qYGnl#9Xe$pqBLLk$V!.CarJ;I2XW$.1 +?rmFu^/qo=#?01-NWiPs(O%3qqecMs7"pfXo3(/?Ws6[M9m@u$?.-iQUH,>?2p2u& +(NYnj!A8mFi1EU8Ju[L*q,hEbA#f.u%lXB@*qj,BH3tC&8L7bC+$JrG#f;n7IQ(mm +]-A`oDaEbV+M3ZbeWk-Hh@+*gY$(DP5jeb^40tm_A8Wd!8&0SLmTkdBBF79VSR5?I +/Ite`[B7N*^AH5jea&q0N\l#M)59g'=tC2i\Nf)&)k?(+I91VOa6MJZRMsS*ia"(k +V;NX&QU4TjX(i>2>ufW'FuUWkRa/ju'$N)NcSgu<Gmp9.ka=`HS`=D)i*aq6DI8.c +])!gkO-Rg+aTt2m<E()n-o.^-24^SPj%:uZ$!n76gN1I_<I]LJs(Dd(.ss)*JkLc8 +Zt>ZB+FG!gTC>I@UZSV\MC-ZL&+W>\_i9(Ee.&hN7qne:==)9[]\\/+k.su<J]j3k +E_Y\%F[<DT`B1JL<n&!7P,tTRC=LRm9S)*:gUc.XDg/8BN=?rq"E`(#DrQNC8^ca6 +D6mR;k,@u8$HZohJaO<51:-cRs1'0,,Vf!_\/hZoJ"OUFUFIM1Q`ZO;3'P8qfg4?9 +IB]GTPmN4=!>A*o2IXs6"`gX3Q5Xbd)HC&U-ns2#?4WDM%E>D0>YPXCeD]ih;I-LQ +S-CJ4m2Xu`#7+XiQ:TS7119e_5Ko'KO3XH@Eoc`1SV']M-t_Apat_`q$aaE#`H1-I +DNUi>aHHG6)9V&<E9G/4OasI:j?Lsd2&IbDoL9l5H16k"$Zo!(@X#3SG)Jm]R(Yc3 +/$Y4=aggThe5m!i[uWVW\AQfXHITPSq"is>bH'tuEY>jD\^0c9m[S@$'JFF[d*[2P +$Rr'/!q39X'ibo$\$K8_ES^R'7VuY'&BibWRcA"VgMr0m3SRobX113&@YdZ3CLBI6 +E@<7DdCt`:5U[`,B6UXVGH:D*D!u!)3duiMg@-GuX:Fb_\I#XSI4IpDs,[EW`=nI) +Pj()ga363(?Y-@PV7E\<O]i\1Pqf^@V\-U7l"DtT&g:jbW/@os@<Z?!BkF;9hM8jI +'7>^YXQu&Tj_#sEKe=NBmG$O]O`ZenJg-j$%1()DA9rkY*p1JEVl3h0T7LtAWVPom +k=F?'AhF:!(o$Vh#[i!I*AD=:,T;ggDVIsfIOTNVAX-(N)07oZAWVGi_J6bFEmf_- +0n;\l5,!_"62o!u<g=-D'SiI'WSqM0;$/i?W9uN=7./LO)"NJgSgMI"3rTsu9kZsu +([m]e!3.IbmDCYf<P7e(XkEmnH$^T$n3QUl"WBmj-V\o,2bam;&,MGMR'QH,,t0WU +:Bn`<L_^ROR(0#4,n![=VXCB]WV1`YE//YG-1.dPS5=cYP%M8m-WimP$P/@%=%U"& +3(rM?@l=BY9&Rd_OeH$XNe3<p-;?$CSOP/UT5DHq:peO^)R&ffaAB<Kq._U9agp9_ +M!<GRp*)pjT5eCpfagK#1He\lG%tNDe9;W^51u1;1P!2"7u^l2.HFZ'%oQ+*!r/qe +(/ll,29J!aX.V8bJ2+6L$clj0@.gT>oK_RA0iuN/L!8%>cVAf!XJ*C.*r5YB$8k_H +Y?iPQ-gJdFRAsp7oNo"J]:,?`R@t-,<!6hIe,'%l"qV?5Xt4(c^GQ7CQs8_Hl*cn? +i&-<c#EmAC6i[-g2Z$?#]Jg[0?F5E[/LB[K1Ql`nM(j<up'lFfKe]*<&\i!;/8iY0 +O=Jj+Jn<1&k<LQglf&gp8n:VCpT7O4`('S31NKln+WcVU+h=GK*"-]8D3rIo:F:Vi +@b7UoYG2$H*1;0(h9%uXWGCQ1@\GOUD9`dFjY6Ck@#Y'<S?8B.`Hs*M=A-Nb11&cj +dt9Z:iV#9=hglci:d%u8G1([E4q79$\J5.fPr9$^4\9>g$34H<LrRL;'G-WhYh%N% +IcdD%"h_fN3TT+JnII#$0Da^DH1g6a`\i3K04HZf%"sh%8S,RS9";4Y4#TqAh=*2^ +TGp;KV6?f-)g][UGVB!X2%pHZn="`TCcuXnj#kj6RSd8BJGN#DAh4h=2\]4[>>oQ@ +.IPbL29^tRN=9E<Ybs(8YA'37oTCRA[pcL:W.?6lrPj.\WYCG9]'A>R,bn'm,*i/D +(?`DUp4$dTGPs9HeF+U6:%/M,1^du4WiRX5Lfe'L$qT%c=n>402$iKtSE95*6!7]e +,@u:O>1tDJ\@[)9-O;hc9:PaS\WA/D6j._qLi33C2m4/^btWT.K9-N`XKPr2g\:DR +);U=VH>`q]L<ChC(\^?DiMufeI`@Yt(]#$,>53Bm4:"hg@-s[)mK)bd%u2CsMf7hu +=<^T24_s2eh<J01N[^">6RW6\hX4j*XNb1j"lnnuCb(aQ;U_M5C>lD=lcT"70g/:V +6ht;!eS2W@,'@KEp&N7CRTG_K^oKD+"C,!ZT+mbm1(;P0C>MLUPdZ43Y>EJoZEM_h +m=[Y2^)2B.jtBt[Rir:^m^fXFEYkq4>L*A=Y+C,jI`A+V=E#G%]^_=8/450MT-kUY +%/J>u4M]As8>U,XSZToqi<UVQfOY#VZ[pQI,u6tmn!!HE&HuhRkYa)u?CI;.0PSEr +CY>b+3QQo_I?GdoIk&8$28r3'lZc("P?TJDg0UE2qs43K,,gN7YE*F+H*;%WkAP7u +fY"Q27YP.&M_W+i=P(^O\QJ=7arCdQA9Bu<GYI9Z+OBN>/t`(Ga/5#R1Pj1r\.r6L +as!DH58+CXm"]kE9s%"_RqPTkIrhC6T4Vd-8Ca?pGi4CjJXo5mAi;[t^GNq`IeF<2 +."sr7HC+@d(i.=a\jnN+$ZU39."FRBb`[@3'Zf"Zp`$\RSg^$VQWH/Oj%pfhgGcnC +FT<X$=e>~> +endstream +endobj +3 0 obj +<< +/ProcSet [/PDF /Text ] +/Font << +/F1 4 0 R +/F2 5 0 R +/F3 6 0 R +/F4 7 0 R +/F5 8 0 R +/F6 9 0 R +/F7 10 0 R +/F8 11 0 R +/F9 12 0 R +/F10 13 0 R +/F11 14 0 R +>> +/ExtGState << +/GS1 15 0 R +>> +>> +endobj +18 0 obj +<< +/Length 7916 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;XELgQ(%0&Ug:Tcs)qH94g,P\)bZIAetsNblY2$P6VT:OgpN%R2#$/?p?j<<&H+a +B&^4,_sjVXQg3kIS5]+Tp"er+dY1u.+7<sXi'7/#DNPb2W`Z>5GO]-hp\O&sG-N(U +i`-sGMfjIBhY\3nCT;&^br/`P/iCC3hGddFS*_@kS9`mufLPsEs7=O=b0hl-DH.I6 +puC1n@[r<97a'"tOH:6BQK3aF(HKt4g\Q6\kFNb1s."7L4^^2>k&%SQN!a2ud5"Fe +*pi0H@_CrcOY+et<k^A&`h<tfKBO"&Q?Hh>TD.L'FIQt.Yj76P*A0JI(aQAcRfSj9 +4Qmb2B%OE'Y&D2JG\F\0A[9I<)6Spg1JRnjA$L<0=o.9u(q/fR0@r9lIV"En/4QmY +N"ZHlJ>A5ga#>7b;YstMa#e4"]l)r2"tq(Dq"@b&GEEqtU0RP=Cm1eS:!G8(@ZCuS +)N2F1WebL,c]'p92m5Wgoag=9X3*<72t_E5Nu]=!>M;H^pZA=*i9@UP<gj,#i-_Dq +/N3RDT@>]B6=QC&ZK6"rR.IHqK-<jeDVM8Rdap_F+VpWgU6A]<@iF[+$AAIbn+aa$ +[YgBTb_NHWd;XrPCA.8B_4;<9"hlp6p3UP:ifJeBTi+M3nR3e9(6@P=5-eeX*2mhF +isD3`XuLoKoEj]OIVKGm'!BOPl<J5P(XAnYf]."eEh9b02pqK2QW/(8>l!BRVHItM +]L%i9?iqofC]8=ASE?t;p+)C[9afL(aZ2HgUS%Bp?qaI4C:f.>"i\f%+gSc'H@Q_; +>.T6FQek(FjES>FPEiILSoFeeij2`B$,2M_4dRtr8MYqY6H9fWTnK$@bkLlh*$)r; +5bCsR\7redX-9`kTa7sL04\.?Q[M9B-Dk7H35c92lH!u0O9-`3Zb5!,-0,bP-](9m +V:.76aU>1Yk7E[IbmC!Reaj?FaP55B.k3E8b+(+:M2[9KiT<b/D)C.$Sb7ftJSBr; +_Tq<mFdfHCLB(&u9e[Bl[YaE3DYr]aFRlq&(%q5[E6%XpJ1/P$iA;)F+.91Y\S%Z0 +WJs$*)k,`h+k@$\i>>[h;<p'\,Y2@Lr(3.=Nd1+i#hHIo9b/HK1IjtO3/]S'hU7^) +aq>eqJ<h&kicUXr?:oHP]G=M/3Ebn8=lT@L-&Ile[UP*3($Zl>_dY7<1RB#fLq/SR +RWW&JY)=GZZ^F"]9i<M^PfO1&Ruh?srlVQK62H.`;!ho)O[uI8%IOcD1/P":#aG]W +EH4\]&Q#i6p\$qpPYApD%(3o_bLpMlo7-$]FVS%i+Nk`r)>f5._k\(Q)5;@bT>3.M +M!"1_&OfB_Niikt3f8NKKY=C"^a$lp"d>`m8"`#JEK?=cYp!CRrI:.mq0u*Uj,'@Z +E<OZ"#=7]o,Dc@Y%<>V9W&ntg'+0^)QC#N]9[-+l1SZ.T,^:LDa7>hq=8Ec`9l`KF +ikWG[CMh.":>TUX<@L`dBp$!k]3mYuDAcJ/mg8$S(Ac:Ok0iGq#1=_rQkreYT`IA= +?mMJZU3E!ER&ha)U#L(tFV1r(TWdY,fhprr<ssD2;"?'A*d>qB%?nDI6a"M4>(*S& +"e(gg=r1%3!"=KX[.L_p)\j!%ZHA(Y^k=\<0u8JdCFTEnPo;3M#"stad5:Qt`'5gu +[A8?uVVa2;,if?"Fo+]-)F?;c^e9P:g!#71A'/jZC=0oa*,;DpKt&<:T3:]=&pa!a +Kj/)3[scAj!ICFaklMDneTJKlM?66OoIZ5EF7OJ7LqE9<"a=JIT(TBg#=Y?pfQQ;$ +PaEV0eO*%g8)g:5")[2le;W5G.SS1I'M=)/L:Q?&q<+YRSFA-b.p1.fR0gbu6mZ5X +!cuT8Ju+3&?nbNdNeOl-eW)S).-VE\,.7ecBf#QI.Xau,2L:saX.GLh>XnqJ68#55 +gCd"6mM\tIYES7Cl!;h=F/KZ*DE,P-'he>\Rll#W:^>q]RHQUbN)3q3(mZQt<IqhC +4[_=YPmi`';'HYnpI$61#*&eWF7L%+Z-VA+9Qr$`2SoL@Mkso"Zp=u\X:\$Z=/Q1q +]?kNu5X&)b+jdE/I]>a64g9rj5,V+*_/G72bNk5`;)U5pq>4FA^?+%udcn(#,=k?9 +-WE6$bQVBpPB'W5C,UF8+rU+@7%JP=_:"/Me[@c&/JFAhD]]\;P]DGnLKeqID[%uE +I8I#-1j)_o^uG?mB_"M;"P4aKNhEcd5]9a"(VosFo^bD*JB=??)g_WZ+m"V`aH[?a +O?=ZZBc5hN]ifYc`Wc2Kr(?nPfb+!]m(h><(>K'kB;+7AH&-"mn=Uph>O.\oR,j6q +4gG!SD-3H+[WuWN05`#pWt "M-aREEjjK(.qks)(-i_2g)HhMVL"Pn]JmKRnu?S +%G<1,4`1;3otkNW1ZDZDk/t^C`H("1o_tfA.s.4*V=8m(M;qh[btq@G;uHZ38_r!k +gH-iM[0n2R0GLV^Bh,TZ5)s84)Zpd[2/m"a+6PCq!pY$2@)ocHD>>+^IM;pKk0R<[ +;?Vn3eMl6_-Ud$h/(f?K/j%;-B<!MnjWCI!WJCqgb-PQZO]N`HB<ke%4"16OidNBD +\J``maBD]A9j<a3j*n0BRA=<Pn#FDYjm,tE&urYEiAsK3^kaWp($PjXkj;9kHht0% +FLo$!VPJ0P3mfnM(-?@T)01S)J?)`h_M^iKOO'e=(R?X*$+,*",:5[D"O"7g\a0ZA +8Wk^jq;(9pO<fTJ9`-\;Yafh/&:1!+KGl11f)POk9gWQ_+/=2j2/AdNmbtV'@_ZC4 +CJ9LZOP34UV&sD)=^l./([&_3."b/Z%Q.rQ:8JCkiqRPR\E6ZWfJ^(2VWOb$J\qZP +Ld!3m6ln[RaI):_Ll<dQX9SVUD(S$;R@=g>8RjWEP%7VT+USt'&<:(=eAG5<6OA=: +S1=1?I%fO5MTV;3k1?*D6d(Uh?WVOYY$4ODOtuOCB0pdie.beR'9m_"CYs;>`VE_I +AAc5GpEmu0hEnY.h5/jc[hEgDmg7;n("r\qVW(5(g@TMF8B6t?EU=)``^CXjm#fGp +9Bllm];B1!6RHt@)+ksTqEZE*FXi?nbbPeArG?9PniL?rn?is_m4aL9]uYnSiar7> +;.[kYW-'0f:'7M3Xg`N&(2s\O=5tFR3SFXUhu.SI_e]&(2[?;eXEb@rme)UeX"8=+ +LZT`*e_:k0NIU`Fh81>HkjQFMmj)PVNQQ-'ZKr)l6_N(6O2a:s9-91#+nV6PdA3A6 +5-7Ma))7Mf>>iHL#G*M`^fJ_I-6S)Zo/0\rs0p$`+)7E';]$9TR,f=m(kabTbkk3M +c"Qb7Euj&Jcu)jsAtE3-qnK^#r5@>80hA!g]hNR)o;s8H9(Z_J?n?k^CT3PoLP9m3 +g`_&.P>j>.1qPSsR$`R,N/HB:T.U-]0@rX0[qTVdl>nA2c9)!S/trfiT9qRC0IRQ6 ++V*FU$&!>a?.D-Tp[?BBN7YrROH'NRp^7S02Sb\eA_qpnR'>LI=NYVMDD;3-9:N#g +\@?)*\%D'XXB01UgW1-..n3m-J=%WqL)_rS!\B31%D%HLRM>]3[tQB^QI_:sV'O+$ +@f+o,cFl"J8Qg&moSY;ao=U.UY_U^C\I&ke]#],E=$W-M1/a?A:P/^`@q156)3HLN +#T08_j]H8u-=aNX(>TK;Pm1NsJh(e3A^,bD2N:6B0Dl`1f/3-m;Z/!^2<`ZX+c#/Q +^'<sd]l[[.mNsIFm14T6-&CU?h>:(-$ZAM_G&eX_5l"Yi-(6so`<8bX+2F<NH9X!_ +ZJY%"7H1BuMi0%-`,sp3iVIu4;kXHe!^$D*pb[!#V^iEK%*52FHifo_2j+Lbjbh!@ +1@e(dbRp,3Rk1hE$B?%i>u8G%D>9"3rNbC_ghCZYRhYSeYgJ5f1sF.=HDL9U4uZA) +0u"\H"Fs-]nPniH"Mgt%D6D:dX8%RNlH"7SZi[S6aq/gj;%-IX/&;,nkK5$M:u"s# +-OBt-P*FmGceo=*jc9;GRsg;ricLO\LrFMTifmPdC%MQ<P1&KbVn=4uX2ZYcb,98B +%$p.0AQ&V1AWCP/(6Z)>l^7su:ZX2;/oVNk-'Yc7FR4F&+*;@q]Xi#2\?:S!5Xp+3 +\s\C6'[msWo;lN#TX"L)=>ieao*+EQUsfAq4>p0nUe^"(pHN%<^2Yom#h#6L^M"da ++uW&KgQ!A:fW`\7=%ar19.Nt2VD4MAPh2J1cq`4"3E96M3h/a';Pf2>/j%V.NeLQ) +q5d7Rhos@gF-%nTOV"]sE_>es7k^_OQ_%t)\QXGQ4"`5u6E/B7YI)+DjE3G$'f7c@ +Fi((p,Xs/"*ZcBZ%ZV"hbtUu-LHZ@%kSReQ"qqnP*jiD2Hfg10MD5<B>[Y1kDHUS+ +*!sRT)%W2YTbVEH$&m-e\X$<u!Wt"3)/'V1G$l0pl2kU(/@VX0mfWl=H@oc32bm_7 +s6oWU>VlEsNq/ESl(MrDLXhofIL@V8kpSpeKFe=YY2t'VYFsl)SrST^#5B[21,D]V +\s:pMPi-&i8-1Epf;c(,Jf.au)hF&Cr,&6\S]ml>IQ_5nK0e##Si9Rkp?spQSN4*N +L"&r8hDB"SpQPA"S*(e8=9N^K]c9jC%Pb+d>qn("n^3l^aJW'?RuM4kPXS7$\E9DV +,"91;#W%K#h$-FW(e+R)eU@\6SeJ2"j_$0J"Gh:SX%4835UF5IJP]N+IVCXGZKbci +$4Ac8>9[&f*DJ1Z(Dm+AAsj31%DH4]WN\-(dQnm.S$OqK$$5YD4]reQg['5i$-dI% +b<\>;K[h7Tmj-)9QFb_cFaKsTBM'cf-29[3K4Alu..;)=TP4Kc'VKlW0'*g.4%Fia +UNQmf!V&i[H,%a;!&Z:cDBm(8q<jM[J_^2rl%X>Mkh?_0?Zjj<b4XO;WG5(1R:kin +a,<0Frb/Y[aV8<j<U.Z6W"!;NUmdUWi>>urol.6\2NRiuohgu@OfT.YM?@B$M+oM? +=I]-)UcopTS'afKaHUYlU'e.u5"pl,p8uJ6;s.9$gO',1;:#;)UqlVeTj5%D;n0b9 +&>/moe00naq,2@8fgOs#].]f*_>!D*0]rs"R.K2Obk^u@@dp!+m.8C.k579/6QqPO +)@YJS]JloK(o;K.Mi5n5&pe"N]@0f=E\>pH?MLE\l'2sLA';D3jcM_>1Q46"^hP%Y +.Is4lIj,Z4lcD=)>K.%EZ%iZhAC_B.dZUG3$8?-B=0d4c*Fh@T=^Qa]I/tbMh%_A] +Or0Wcfr,<3(WVZ9<>^I/\-EV`Q+]1-)eC;&!Wc%;#fMpl%,$dh`(O83-?C5h&GXpB +(0pJ=cc#(=#5]bNLFrkl,/.dljn2Bq2.FA1#L<#EB<%W$E)KRP7+Y&@X&=upKGDt= +X=f,IKCB5:9P=`b<uXsn4Gcpln<tCO9PYR.]%nRO90BaVe8:aUR%-Amp4N5<H+t%S +1R4<;2RR!uD42]Q+D_u(^?ZkKCg!>0lLIKX8e3D@9=Dp;pIo"tH_*nY\U)8C?Kq*D +2sJ"2.8nbr2^FrJ&s^^7F`hP*DhIL%o8n"BY8(SgCG?5Q!]k+sEab];cE3iL]U?0/ +g@Y'O=L7]UDK8i*ka6f&lo42`,_RT2SVT=2_-l!=On9U2[7p-.f!h8=V&35[b=F3e +<6%Hq.)JNlfT*!n9+s0=p+$mEnnoM5BifN0<F_H>j5bBZ;fV>QQmA-B"WJ]hA3QQ> +B\,]J/C&l?H$OTtP-Lu-BNM[p<#bF4"<92&$QZQRUJoLIdS<Qc@*2G!fh'G6bgb4; +g1AtAPYk]Q*>OP_be_<oB=oO-9TX9GjA\67JXS>X%uj)RYZe1-p'\_(8'bbb8`]Gk +.?GYPE7rau"A`ud"MRKj_#c:T!U*W-MA>W&!%dqgX'\*](lN^<hA+tG2-p'0CD?$8 +Mk#Pp5<,$-)@tG$]a],+2HT9!XJnb9a.Um%:a2Wb9/A$kG"m(ik8HB!LVeUupF>Dn +OI&nLaMDT7EP(?nb8`Z/fD,bC3<(`#oJ<nNI<<"6S$aE0YS)/#fA3oW8-!1t$RSg' +G:72XAlhr*df;(Z,d#(*$UrOG5Lo.K[]KeHjb]$*9m4]I0+$/R*;_uq'$$NaFJU6= +B/1u3->n2'.TCNpYce6XBt%K2mC2?h<A<4._hDdOWY)l4KW)+h3a%-6VOOn+>S`Gu +lT][$>9[cqi2&eHoqSJ\RnX`Te#E.(+T*A/A5E@Qkeg'J'nVV=;BEo,7X:9J,Qn=Q ++AF'_JJ<].n<'t-N=FZm(X?mi<#&/mSlKD`J_ZmNdO&AV%kBeQV.]]6-3Cr2pccn2 +2p,$dN.9F4"IHGY$aY0rK`*GLIj^B6giO0cast_O5'&\XO\h[IH.QI4Kmg[=KZ4Ca +0(C;2c1Ed$ihNs/Q4s#A6dNrrSS2B3<e8>`b\`H>f.&tNbu0"tr0)f67-;G]\g-&+ +NX4Q^32"_aTYcs<U<&B:('opgfdOLe<g\"g^dl6KoEpB27f8)-L+%2>(peWq9d/o' +o0IS[!oufS7j`jmrZJqOWc7_cX>oG:4t98j5!1t*CJ_8_M3=ru',8g/3am?A[Kj27 +"Y9QJIp)#s=D?in9N&B1F$\(U7:,CRg<^Q&<;=bld>NW+(u7DH7`QE\ncjHT4`u), +%A>.Ib\-fioPITkp3^'d1djjLca88P!/U<*o&(/FD<gN;rFcS2U`KtZd$J+sO-NM2 +/Io,9W1"#CXusEa5:4>U*U^s.'H(4PY(eG,_qccdfj>pqc;pTQBX8+`Sb,O&e`e*< +qQX_G=8eCZ`5LXo,og'";ZFD5<J35je'^r7>e=>(HXD`ZpeP\`YP:s+`J2gML+qDC +ig_<Kc]:Zk4%`2-1Eb#9'Q`EJSfeU&Wg:BFfrC2'\5H\O(gUoE/P>-lWP%bV![CL[ +P`UTl-\E#1kO]89aMXbk(#"IdoH*0(kXM=VK$1C09]*?fjj(1$RqrBHBm$Igl=B[l +\/*n4VUIq9'f)MDhW:Nn;W(*I!uIp`U6-Sg3O-X.Qt?\721I";%nQA;>dcUO\Fm;] +O:_fN3`R[t?Z1GNMb0n5"\rLi<fOof[*fk.5:aq,0B>GueorB3AMt[YY2W4g`8jWs +?bcQ<9n9sBd:Cn8=$;9*fcV,,U<@eBf8g@u7-J]aA7>W2;>L,WY+,uBN79TSl)8W9 +:Oj+6ZJ"mYJKr`F*0oh*Mlq7fMe03EmUHR*V4FZ-17+/k[J]ctYG0\ZX,f'`='?HK +:k_X(]4%hG)[^aUU"qsC1psnR#uWT+Z]-E5XK^8Q/@$`X[:B"sDY2I[<f>Vg6aVii +W&_2P97V+eQ182aiB.H+iH,aoCqpKaV*%VpF.NHrYc>1Q@d-6V4BsqL<%@B(ckpP% +"V?",'Hjq(H!T,p4Pdi<R*,H4n?Vk(&.#$*h7j(&-*YQ_nD8E<Qro?)-fRWg6EQq- +>l<W1o4Aae<kYrGbjNchpNt:nX<Z3dQ90*1OC\`iQ5r<_'\a']c9:hta>uISeoKhc +#s<8]C<TrELS&b%b&(0Il5'A4>9;PZ<ep:&:?%t!Hf'Xj?+5lgFW<pM$>]@0pD +]aFA>mk:$*=?]Tm:$+[>G/H;>a'TQRe6>s/F<ib?kOamJ<B`*Ec18C[].)B\<I-:$ +*Y]!)@hriMPp4lpNGnK6W&4j&L$&_mKR\V\)JK0ITo@VCEkAtnRgeWm5-n>G[]gYe +S:)b>,N-*1c_Q-#UbI;imW+D]$r2)7W0Pur.DE*HGU'461lFTBE*bJ4c\M72(IY0R +PW-"]!P0f/^URmJ<4+fabRBYJnsb@':<LdT2id^KO4!)k-r-dsC,CjrbnHGgd*te2 +l%.e(EU?$M"4l/Yi;,Q.<H""JWlRKV&9987!N`dC,>7ZG4I<lW5NTd8]'Vq:0h9(e +cr_d,*!0f7j,`JWL>%DnEVUgaIAlhfhk_;"42,\dAJ$,.6#LSR\bH4<jGTZ~> +endstream +endobj +19 0 obj +<< +/ProcSet [/PDF /Text ] +/Font << +/F2 5 0 R +/F4 7 0 R +/F5 8 0 R +/F6 9 0 R +/F7 10 0 R +/F8 11 0 R +/F9 12 0 R +/F10 13 0 R +/F11 14 0 R +>> +/ExtGState << +/GS1 15 0 R +>> +>> +endobj +21 0 obj +<< +/Length 8597 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;W:,gMZ&m&UjCTkcl!6\a0^WA?Z=n6*f/QAq9r_!"4&B^l`;u)-J^cg0OmWpmb:= +Ua8WSR=WRd?`L/%SN?Gqp!""3'e?t$hqdLD`W*HX>\@s9/"]hBotsM<g>2\rO5KSE +2r*IsT"EO!F*"C29.DeG[;,P\nt5S>DbOcDC6dqL`iQr2W4s_Gs'g@QR+:g=f@#E, +^]1K/;I(%f9X^?>b&:"G\,JN^XXVe+U2tJDq;BaM/uRFAWEkjTl2^/Fj,8AJ4b!1* +$7APbPuY4pV'`7DYi!K+HYtij,L>YdKKJZX4kY+/hdSf&S!r'0+\>=LJ)m)sr>(.K +3=UO"/KYs+J;"tIW_JX;,sraq)I<p.JR=qYPIGrWp<6s9/Gpd2p3`L5LIA0iNiUZB +N_8D8q'sp6dHi(k/:E*`*q=R^6`a/*"7Go&`[fjKbK%Q%SqAr6j%\Ftq(5[c,CG>( +DE<`3B,jDf7Pu1-G<D#IJch%"/Y!bB#Fh7\VJAsjMrj@Q?t.$.gH5IBr&*,]_;+$/ +7/K"<pls,iV5!9uR,91Yrc;Q2Po>*-'3H=N<![GSoZ0=IhW8gGkg]+a>I3fM]l9$, +>HVOPeM]d:._cr*2W:hpN0:g!@DEnCm_ajhmuRF_nDpr;H;mX;bpuqE@Vk&1JY>79 +k*l@$oq,VkQPA*$.`APfr/"!Kp$Ln/(e]p7*6]$Z2V51/<rGlj^tgKml@[-!(e3OP +B]4Q3fqPf>M_Atu0*dk@Bpm%)#3`beb.OY[V0O4AnC_%A6jnbqbi'&dYf$WL!]8n& +;MCuV:46lAWBKIbL[?;AkV=sf)J-FH0dLasR5.HA1C4HW;MQO!,mhI4bKTj(Nd#d^ +n<\%*B.P#2Yj/sikX0"4LPYj`i7\QgqNWsDUT@,n8csRCpLiuFj&p5VXE59cX,W'C +^X:oi%S#4>#o.am4gMm+6T2NcIjA!>hG5Tc@Z$J&D08mqK@=8PYi*8/>9]q0::!Sk +E!3J@H,TM!:c(T.o:VB`@-a;e6c_)ib.Y\Ndm;ps?cPPFMuUY9F&ot.-Q7$X&<^I[ +PQTfZgMNUa0p+.mQ\1_\Wf9['@He]5F`.s<^/.$XroMAOWQDKhfs;B9;[V-^]EaS+ +O+OBdn!F(YGuNSdqW:X?8CfN4Ukh'GJl_bRKgHG(1XRraDS7g97Fp*k=g7*E\DlR1 +m/Jl3B%6\/%h"HCcnJL5*nduh*mN#]@UB-QE&nUnVqnF3W@`1]9i!'La1q?\haLRm +I8VRj&O,(CjE6/=2JV-Rp`)h-'l$3^BZ&Y)6>nSDQ/TMV3!PR1.\Q6'a\_6GiZ'T6 +jf@'2!LD996ub-8FCO\bZlbL!)&:$fFd;H^(,Z1>24E+*`:;3ZHs9t'!3=1i+RrM5 +RZ9dt?!aOKN*\;Kb7b0#`7maN#3QGcK,e]pJ>>/EVH$=*rqJsB<lcnRIYj:+BJ+G] +b2WMt[n37X3L:]al%6mCEJ?fL\^K&A>j8Us+nM2hqB06\#']A!,c14/&P=U6)Z#&T +8P/;/b/??23YuNVlncGLP@=EP"!8eFihnMm`]c!hCMW2B,J!9ur/'[Wqua/d!;186 +_fp%rT;@$d)3BdC#J!PYj-E]mM>CqYWF&'7ZpPCb;`X<0^d^6G-3c(NVD\`l2m=]R +XNPCLnt&>"f]+507!mpdAL3qCH?i7XC`g?C!kG'j5]Xn,?C><RinuTjD8e:qBU=!K +I#A5(QFfd9HOu&O78f/:4<,R-X3?oZJXVDk:rH:V;P,D3S2V&(Ek?%AP#@2d&#f,L +:4UBP&>Dg(-XF"e1IOrVLXOMKiK29!89RFHO&8S2=-/$6H2Qj0jqf/852tH$.YTf/ +*f?cGi=H.qfU%sWGB@Xu<o:"MGsu<qb4<10r!AjL3I7DV*&F9[AMB+nF5Tof4!`]N +\/tg1$XG!.;$^>tYQ=qT'[N6X4a]A.g;h9S!)[1-;&hl9X-l_90pjI>1PJ6&$(_oe +I1pm9&enp,K.[\GY@SQ+5d5El1FInoj7\_Yc@HHr((ocqa0?TXm@r1P&Qbok(m1N@ +>+%Z1Q9!DVNVCKmHr1-n<Lr%l#3$"cB2Q\IqOYs$/OBF80gQYJGu?%0iKd[$&\)a0 +K'h#N*&K6&?SB?1$j,0T.htJn=uKmNT<V6.(95?/"k=FpD7YIbJ8H8?o0u-9kZhdW +f'U&1?IMO\J@VA^43^1DHl6)f,r8['!ONm5AZ`Nm067mO<hEr?\Q/O%#_sH#8t@P1 +#hk9f8"$DG=nMX`RT)RMQ$IU)"r7b%16DC),JZPZphs"M3YhOG9Vu-3cIW1R?;Zhd +d"OkP>BU%#:hM49d99jL,h>F<)08^,V.5L4C5iso'2!Z2V`LX":AVMTIa:fcqlT]$ +FiSML<cCrYl1^n-U\!!"K@o:qOQJ`J]"C/PHhN18@K8KJ'cJ1rJCl.+WK8c'!`$>J +p`*34LBtb!EU.Vu1C\\:nVVFDA-_(;^gq,)^qpa#%\$<T4\=61)<'L;'[>5PE2L5; +7QS2s$[Q<_;>R(X&\[3+;.q)3SN,`["d&#uLr\ZAUZ;rug7LmR#h_mBZ;^$0C%@k$ +B0/K!kk[Ef"%eL>+60YA:E]f,^KXUg"`1f/U0i;o!EbrQG^kSV+#@Pop9*(mRr\]U +*V5[f>oig2O%GPFRLq,l)\7@[DKU(n]]6LY]VrQ^m]WJVq"iXWo\J.,nH155.!rg1 +f:8u9jO39<+Ud`eL\h<s[tk]@U]?`Y:Z15Qdua_^6,1t/6Q7,CHJ3blTT%%FU%B9M +h%iC85#'fU#$g0I<]u7*P72P%c:9IG(KJ)G2GoKhA_i%V:C5jA8uGNY"\/3iN&Z*% +'RI;hD6uUqkGZ<hiH3K0O44"O[sCO.MEQQmh?UmNnYh6/*CaSqJ]\m'YZ.*kSE#Rf +D[YZ+:#`f)"^\1/c"ZB>=61T'B>DtmCKAKoa?kE6)*`K:<rEe[1E@o'20E;61;iND +d]^LX9tu#^imLfFOtAB4S-T`8:(9i>CsqTJ@H>qD1&@.GZt?t)kHJ6NDr?g0?,JqH +hlpRbl_LC@CE75_ce:TA?T*+L]@>jUkALt\cb/]c2HB3ZWJbgg5;I.`C(,3uCb&t: +C([WAaqQnCou]Sa,0?K^"d^soJ&]lq>6"G-&Y<.uR`]0lSPDC0[e-.)p,+7>.GZ2& +67:?#&lX\WXE+Ts#jA[QT+b_!oQAp@`Y!:YS?ur;?='F#%3l![R">smmVYCZns_2S +`[*QVRg_k@9k#bi:H4:0^"h)mEt2H2[tOsCqJ"hQ2s[<[/[P;**4L-IF*9t2Qn-G: +>AE:_,I3e2n^,O?>oq)Fh/Z.q?WN?`@EHTn/h\Z!-=gpB1fLE2c#eq#VpF;(Vg&u5 +@j+OGL2L*1A5SLC9>p!hgSI>[+c3WQ6ACXZVC:*u,-nBt4TMAD[q%_as5EL)H0moZ +LIH@6kdc(\Z1ma;nuJn%D<)&uftS_leAA(C1F.a^#Qc8GMAk]Q.:SqX\GJNaZqN_/ +<K`6ArUi>23CA\"'PEWr>9@\O17ZOuI$]5mS#=%q_D+i;[`%uQG76oTh5n,7FVG9D +^4I`]<hQA4Q^u`b9m\=-H]`![Fk$I/@mp4DCV3r!R7K=)JmW38!<eVYH;a)EH,&?a +-d&FQ2&!c@\M1`7UCi=U1+KS"@-j[6##OY$*+PR[L3kCY1aJ$U=-;.L)CW4H'T]`o +E/G:)bDP%Md'j]PBug&ZH&WeJaSdf7:-2r#]*0E$_uj".Z"bq'ZF6(m]>78Y4I)Cq +*:KSf[!5g'3`XqrGZ67&R:bp8+4n&^A#0RjV;St)Q6h"_03IdueN%%,\Af)Q:Map9 +oqaMu_2eH2qS\h7nYso]H7UQ1`uE\_H`\LLC_2XYV-;7&KiNZQ:9rI$JpM"9.[PE^ +*2/Q;aqVR[du\hON0\C?jtgb^=G\c*FW;,GmZce6P"RXGYnT1O>J4qFSk3LL"`,,C +UgSl@T1SJBFV0Kip]ukre]fYW>1h42B8`ND*?rcM;"@DfQPR\PJ%ONR\@#.XRT5ZL +)"#/#Qb`"/"Y2l<Y/9%sHjnoU]mPG-ke,@D:)@\"k,c1Q1[2c;$X/jiXmJ;(WGMrP +G-!ArDP6[:+XK(@?l,9Mp#>78a[N9OKE)`,kFPV`Tb&7F=.'a*\j9tsb_cXPaa>U: +BoeS@r+`7,d[N=$CF$%^+_@*gT?1QX^9T9jFIIn$KE)n7M:ie(K68?J$CqeaV*+5_ +"/@On01/lAZGq[[_uA=;_nRDBU<(.0$,[^^LW*XIl7_H(<MWG@#R/2DV4*8^UN,J? +;kR$AUEOjo^`utXLk]B@fja:q&#YAi4#X9Ks(*F'hg5choVQ#\GE=2@B=H1`Lgo+2 +dl&3A]WJ74SdRB/+9B(&lV'e:R-Fs685&uC0iml_[Mk/>#+ndMTZZ$to%TeVJU:KY +3Je86O7GsISm-*#^MVmHLp=W,7Hr3(RW\mN?Ml.-Nuu$k[1DBqc(.g"Da@kWs1#7: +Nm3/uKi+RPEn]CdMJYD$9IK=E+S]e7,LqUq:/*=^AP2kqXDM)BR8UCSDR!O;ba7.- +SV6XOWE?`tUJ0tK8gU1[Ap!#E4$<Tk7K,Q:-t!D$Zu1HMR\49j%N,a+J@B,e16HsF +_N#(9%^Gdp*]8Hd9b>LW9[3@2!mrZZ[`t;Z,%H`8aF?jNgWZM[W#.WW&('(hK!Bjg +'T5=okPKu#8Qm,T;-s_U9CR.enZ=o^'VY*>`B)CLP)7TGo31K(6%P_"[F+q>3\dDW +^5hYaOk7;^N&g_;F>r&>qJ%d*Y[lkP!":(>3JI7%lH//a708j/%GLq.lJ=aMB44c` +hLc.!%!nDmf:;-fi@P4fq"Po!)>$B_%bjhm<7V2e9mBQKGE^$>h3T)Lb#!2iPAqWo +OlE1l,NB%n:aL*JdJV!Ki9LiQ5,l2>,YSC$$GV+%Jru%:HW6"!U+ZZiF4?*m4MqA# +*P6b2e+Y%YAI0D>lkS/D$>h1*f<<FK!O\*"9Q*fg9nQsAOiV&f]f^pBd7fc$p4P), +$qC$Ub8Q?>RJVr;1:0kEOo6Y'-HaL+0b*QPnmATpS".qmjULEc4R^fUNIo_rMUe'* +:_N#FE6jj!p(T?7B9]210(l_?kZ3Psig051B9hkf=k`a%qWM[fY8e2@+N&r6;?Bb= +E2B)ep8n8aI8I1CK"Ru\7s?FgUb`cM.J^St:@#BIbfpJt3(W)_cU:Q.WGdLf>=KgQ +*nFlW"LIRNr,gO4DD2!9@FHpT=HUtMBfdZJ@7E@gj+L48gg7Y*\[_Y5.s5k1GPlg^ +nZV_uq;kW.m#-dkpTOR:n_rWi?SiQp^f(gW@%npa6ucn8DjfhFm1EceC5Ho"iq:H_ +1c-+kl"C6PRqbqcK9c4&PAO-h65P(52NFiY-4X%=c'M4Nq=cnGq#'D+nU10rX1s`6 +U\XZ)1IDhDpmX'\U1<6)5fd,G6H;E9k^Yq_Y@QaA[P5u6ooO0gV$#i7=&SS59>6Jp +9t0AZOU;Qkr;J\N$n)ke.+k`Ar<Lr4W>DZU/Jrm^khj&0$UKiZ+5&`L+_i=2joe3B +(fF;:N=hY):H!o$LlKC'VD5DCRZ^bqfi2J.Q:@(OIE$>&cA8%PT"\HQhGmm>7<pAp +7pJJJAIXQdnkqTK,[q=mU'JRrGR;\JUulA[_XRN4@]-5Nc4XTTBXbgiHGQU`PRb'4 +aimI<FLf9*()3Iq/FdkCc\SeYEDKY_-rA(leJ8LD"d7u.o)>BE8(F-S#MG_YBIj8q +SI*ceC4i>LdpoqAP=.+Ga$#]WNC_U.fW=?iY#V\Y5@Y+++s!bSHG:u2[4'f3d\m'> +9?&KQfbTkuDl.EoKIKp;+)sq)f3`\o=#/NeV?pQfp![_c*N&@(n9UeT'u\DDh>BO; +48!")HLn&[GSe#!:k37`r4JGtF.-:/_["K5*KhbFEXl_J+>BI7qYuMkPm`kIh7"kj +1u;O\*$)&#OguObB$pp)>02!)LX4t#&(?0pct<:$itr<=cJfukg17MTQ8C3j8&pAW +DG7![s72s#s-*SS@SIS5hZZe2K$6NDTs`o/\<Kd#e7t[d5?&\&Et]*KcD%JYfHi0r +noWWn>Lp(hrjNp]*MKq_6?tH2?nR6l6EA.Y+Ha_W?u=sZb\0928]aWIo%a?NN>"]2 +W)@;R)XJ;4"leG@SDs:N9\+i/9L/*>8B!]YnJ,ZT`D[b2#:]n;EIcf9`^SJnlb$[# +#&&r.E@*J3A'A(I^W^ogO!\JbqKeYfa#HhAAt:,HA:4)TJ2K>i>*T[0Shb9uXTq[Y +3tjes94F;&n[g9^Jks&`2,lPp:6]:":DrElj/oQ+eVr;G5*2<S(g&mp6C'1?\ZTD1 +nh'[ChWn"SU1"]nMXWPa56>MEgIZ!r=]>bR<j)MT('sZ2E(l9&&:%iTer:uM_=IRC +#PA*N`&H9Fo'40bH.r.dpk$1oK"VPIK(F("#=<#s="a:`o`n)FfPeS$g1Csi(X\S@ +4c($eGXbj]?`f2#!hcjWDm4tp6r$]NU>\,i?Hm_>SF.CR43lDsZ(#5e.0S/5h@:$d +b0qVZ%TQ#p;IPfc'3RZ5.3W#8[lLBLFunR/oJDHa4_YG5*Su([ik_hehlqf]I=7/( +Uqd*LqNim<r,*SNaXgs\GSd,ni<EUjQXo[bMl8:(ImbmPH4HjJ,=IUQh9-\9-'ULc +<$g?TW$e`B4!4iM1<;.p`H^r%+ArLmj;qrm4rLJBfCNuEg7C)f)SO(;:Q9nSUW4?s +:(hBB6Xn$mV&UVED@YH6[.C#_Ea]_ef(]-:#N6ZOp^#d@/>K4SZo!odj?8fZfPRHq +X+Cp-UPc%[7:5*Nc6ItCE<[9bYX:f6a7i]U=TSZsncNa@DP/+h3kQa=cK,:].;[FB +bhciEhT,s`4UKU?_^m2[ZG?tcd/7`Zmg'L2#?o&/;go%6lf02A'V.eKEJjL\<0RI" +B2pKcO)sk6fj.G4mt&T9;%63!2_!ZL.!jY95QuKn'hRK+F?I^;h^snS+p4NIg!'p> +8E"lkn_7$E\1gkG#VeHVJ/nIbVgKUA;M=+5@cM1S1F)Fi'%8&KMlX"UU7iD&(+FGu +TaE[tO4$8''uEU17Cn%FV*of]^c%rA8P&.BB6V1qQn\&&!?e!PDlK*3LKO;B8['?% +ebt"ZN21GEEhc_PHrBs1Hd,r<k*Q4].WF7Em!?\tk9X.LFqIY1Ccrd<O7[JUD&Wb4 +E1`c]M?G2UD]P;I.H4;b!lRZ?22XgqKI'QY/11quj"iK<7m/CK!SeMIa]fh\G%\O+ +q=NM-R&/0j9mH%A6td\2:'L<d9b-*4283)@i=gKBOHCG6FE[JJ%C,#YZmY.S9'#Y! +jL)D3#ofc%op&s[7@8ALV*[>uI)_L$TO%!P?sei$D,SGP'W!#,Z8D-3VXb9($tp&4 +'Hh%rSo;&B1%uD\A/5?N`Ah0SZp,m?:f*h.q@ArrRL2UNG@JFIh;;l7N3?ieBaEhO +342=!2DZ.41YWWTXFfcqW4@g3&HGhY6_)7!1?HPRN"SLugb.nA/r<aP>Ktp5i?u1) +:OiS>I@T(m[R@ji"9t,[)P1A4T32]TJgDH(Z$n#gYFkXc[%`er[0f:?:?9DTgQ^\h +f$HPoLf*SIf[LF3=#p=Ok8QI"Q.3aiWrtrsArNY,PkU"!!5M)(gl[m<]W\,3CuC9$ +T2tCH'!r<F&i<E/s)d&-$i2T4IQ6R^SXg@SqUPC?90dj0q_4I<#=Nosepm+KHJ*9K +C[sr'B5?V(Hd[sCfriDc-"]uFpnDK-`A43VVOY>-SLCMLXsgS4Te^cRUEL_j^/3&0 +EY^.`G0g$7BN)[29fumM7:UAe@e1/?Jbc?!K`NS19tT&9Hl*iJ2inEpIlT<E2AKH1 +fWmrid/ZUKD_P7s!UCJ'+7pK[f;Z.c,g"/-`b^Vh,$$$SV$^AUT,2;f[1<'PM2=*e +Z7VL&b8=_pa8RQPLbZGXb@jiR]$luJ7CsT>o8fH!GN=oi14jLmUMTDR+_tcTYP'f` +C"@+86Q=9?YGj!R#L68/3q'QrSh9Z-:HojAK..__]CkP4qU_toaEfBHL`s8)jf_@P +%u&8/rIVElN(RUn&,[f1mF^1'Sc%CB3GA*O3),M7+#,1KRC>:Ef!fA>^"lpZO3CR" +6heX3Y".ucIFKsIFL15Tqifg,HT_k,U4#X4i8rFLO.7!r"(n=N6PNeik\*jQEoZ_? +PJJ6g8ce:6.4BhL8jOo!)_'uOLt^<rE*c7t2%u_f$/NVK:FU6pFPQd&163)Z'F&fD +:@fcS1mp&OV%5^R*@1So]A#.YN8\TGbosDu#]GXGHj\.C(N1pco)L"OT;t0)Sf+E2 +mS+gb4cLR#hT1d"A4pXhC^5\PhN?[!cWeI+6"Hasf^7p9jc_*oo!i8k7%=M6SStB@ +l.+FI+?BXRMYsaph&$3IGn*jB)o$t8@@nr]#f(F?hk5J5Z=uMA7%#2HX@'rHc#03S +oUrk1Xq'e\^Vq%1\g>=5'iJC,#sY2:.,\!h,j?So&$CFe?'>dg[MmJgV2Kfo`EDhY +_q\0X;2]O&r0[pR1LI7a0AHIp%*fdq7S+sVI\\Z:4!IS8j,2T+\BY08>tK`':/NtH +d#U-SrX8ci^PRC~> +endstream +endobj +22 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F2 5 0 R +/F4 7 0 R +/F5 8 0 R +/F6 9 0 R +/F8 11 0 R +/F9 12 0 R +/F10 13 0 R +/F11 14 0 R +/F12 23 0 R +>> +/ExtGState << +/GS1 15 0 R +>> +>> +endobj +25 0 obj +<< +/Length 5393 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;ZDo>ArQ5&]ae8:Z4eNW#>+LME9Aok]V1)/UDq!2F%Wqqk,o@iZ;H)8&iY/-f;U) +?"dCW9p62*"c<I7-`[[=nsc%3hd9)14sa,_]t0htGcLbZ,GijgVH?Ts<g.e)0Y-uM +=#,2KT#<UKg%9#C\OIYb6;S`J#^V;=N$db,&P)XX9$tO+@MF6?KWj.ogXTXY+0R$k +SoDM#YO'SEbU"6[1\D;6-;mV%X3(7bPDaoaalMG7lJqi05H2]dT;Udo=%kf-R/V!o +naki1@&j)#aqCDj:)\bU,f>cTYX?4@R"cH(Y>WHR.3rVd.rthLWq&,Ja\,V(d+:&1 +?:@rqRXjiV*<[#R@=g\C?c?,DaA_uJJ#_C+#s@^CJQXT,^"kclOq]9HAp=VnKEEkk +&QT.$<j/B!#'FAV?=_1fp#7(Z(QSW1,(W'"(9a12_BM]VMFh3,D9VNl4AuR3iXtY` +45?I>j2R?DK.914@]kk)IC`;CM<;EMZ&U5&-2bgsF;rK_#P^N?G3cd'I@p3l7@8F) +Dc<HgiLlbjkhYXgme^Q_?X3UW_aGnkJ.M;sY=DAk6k[1tQ-]=pYfQ&-eRhFe]22NQ +6IDVU7,:EX+a,rh#RoPEg_LEYp$:G2b'j)/(n/C5VmX:iA.WTo0/-=7F<$j>LaK^& +)lP4(G5#0gDW^5h>H(CX:d*Yd;<tCUNnW=sN8]GNcjF/.(8J8=j]G&:In@8b;T1iE +g:g,D^7a]#N2T/%Q\DIb_S!6tK^%[6,AqCj9CV#RgCjYJg4RkY:q`l4SY;O?n7\,\ +-4##Lr+5hNkaQ(_KEToo"_rmnm>(KmIsui0N%N"c&,1`HAU5Q-7.;P52od-4%aL(s +-0'dt)HY7IO=/PB*,1&<g&hYM8$`osi%%tGl79)7RUL7=p+ZLtYc!52`qV2'jg$k7 +s-iW-q%%)f+9Z)t=TTatG/5OqI)((DfBX8n3Q_!ghL]5ga2B]m9cRjflXKs>#D);J +jFt-R+YPXA1!%O^jl9t-6'#MJq(VI3SRSaL<1h=IK>!@CH\S\`&D4$.HQ==d-[ae= +pVR5q1!W55hp=YQS,8\:8uQl_=fh'Nj"",@opd0_0X)I[`/%)=jh*^I;'?O^0F923 +AbuhVX63mM^^_G\E/IWQ=:7lleS4m`gG`WHD.g`!D?Cob%_]PKk&%.$0YrSc0^mLc +lghE_$js&YXdNS)>`4s>pATgU3.LZS\A<5Sg_;PE2Qf@#_:@WZU<M6Yn_h!q"?L#. +9H(($UN1J#(,!ft_Wi#"3gp8Z7JUFIo60#CR><$:A*d'26bRh'U%h1KQQ8%6-A2k\ +UG7%GNa^?!+k27q^et(R3!+tPgR_X[j.k]Elqh%H@NT56_iiX3lq9_[P]-/KD>k6K +_)A&D7^ql0>NEQ/L0L$LQJlF:B&NCDJh>1Qfl]X-,jb_FUVa-),=qfWWm2#IH+S`& +<XPjZTO4E2@i8H&ejVrue=a6O;7(;hk8fSR4smp:p!Ukn/B:tl1f\0fo_i$kY'_d$ +op:K/`Ou&YFJ0N5P8ugRQ%@dA0-BR_O?Ea1I^<>IJ:m.;XF6;QL9tlSVm^l&k`FH. ++<(p/pq/muKb,UU4:En\3AC/e_877)A$ST;UWUiq\;s1>+S(=C["H3(N!.:/pk?7i +QZWOn26>RbStD>EpDs\#H7+_BdFmWn"q8=k6mr-6lLB;!52dLS\?s2WnI18fK;VD& +O9)9FOn&A3T[Pt*qiE*,B4J#fY`m"gN(&%$PH#6kk-"Pabfdu&>$$XTK8]7bO"?Bj +L//$7O(<?\g6augE):*$$-S9X!4h8B\*G8qRO8$]3$kSS!<(Cn=b[)#@]6+L^f'&) +-HSdh,BS<&W.U5+n[+XMI6`[Ph/,A'!])/ma(0F;>>/Qg(+0$HH8.uI9Y36;7lEOX +b_=0SGVga.TEZ&K.4NPY+fXRO*0r^NQ,+ba=\4g^=RilMbDJi;=Q/;H_Hj5ON(:4K +!s2MpnnnB1c(?%=S:LMqL!a!9-)A$djcg%*;a+GH.6DXY.mfD</>X+WZmtM,Z</^X +;r%$n8+RY]M"OZMGK%@6\Tf`4S;$acK:+nE0Y8nX(@0R@SHfrVhWJ)M$h5o(Bmm:k +SE[&:.[MWMNf&R:E*Q6Xj-4)V%n8QZ7[lu6kSoN.ND"r'hSU0lC-IfY9Lqj?o[qW^ +)s-@9VlGa&G#ZB<mAL0uQ4:0qC[>p%E60MV#BV[uFimL?1(?=(!Qr]oFJah*W6I.n +8'83JTbI#0bX"T:2UfW*__K)dmVp[26X(8j]6!.E5U('WP9fDp34u\-LNr4EP9Vt$ +=B*/u)LYj\/4R6BTN.5N@[i_LEE=TM'*C2;+3P!c%?JfhS0>psiCM0kgW`m&G:Sp] +-R7Ih=:-"R&IZc<N`4oO5/WnpY0Xd#7aj_6O-aO3j6gZnL>AYC8D&NeAmcm^lV/jT +SK;X9HMcDl$Wfu;Ln2!6reC98.@7D5R;8E)4KmV>mc3#K&'e+Cmkbu\OEJ:N%@pb' +*$.U/NcVXDO<;MIFankH=O/"W+UPQX<\DftDD,6#S9_7#P7op<32(X"2\YRG&^:H) +Nb/pKe[KBP,;E@i1QJ'LlER=;ZZ`G+5[UX/GOMZkbr*S'j8HSSr`Uu5]Ae+M>sMFK +C'h!!//ci#H$a"o+Q6g.^kG@r\U-<_$2YdpDA_IeMjMjo`9R#A'2s=KNF=8;gm1AS +d7[Wm@"/Y%);W'Ml;ukKW-X$blER:;=K0>PoB/iN"HJ?<F6<bX`/U"MHJ=Y?eC<7P +qCjS,\:oEAd'j,)!7UL0kI=NEJ'8\:3?;^%oBC+j=#D\gUu&'hL7Qqp#3Tteha@"b +k*qJ_?,Q:$D<S?ATX;8tpo9&[5C-:]5/0r(qcU[Wl%X_Qg2mG=`mKMDkjk'^[Z*SQ +'"&[R)6.$f,*auUQ$,\p),^$K^/[CMBHWrg>^@R;8%W*S?5`r04l7n6/j!R,@nN5I +#J3,GHl34n.Yu%F<)/DC-pt%k_ljP>.)QoJj'[PK(1ZRfAe8#m9'[29,G(PJ1,1!V +!D%0_,cL]>SVLOOYI7,=`(.sL`Oa9>1Y#);8CqbF<6F&-=YPiSLmYJAR[?"f:t>;+ +M;-ieI24Fb_d'KDR2JbfF03I11"\fTl&#d'.o>8O?4F9nDEjp'4c<W]V,sQ;_5(p# +jMJu"_L@GG"qeogG1p=kD=.61*S1cn-O&Z2D)s?$A[-C=GAoNYIO-!`^I&Ipr-B=I +&RR*N=E",;,@UF#Ma&1>LVQg[/IO&-@p,V0hYqpnD^YG:9Lj"?Eh+q2?5F&GC0P8: +=Q<A+W$,GXDaV3D,j94a.>;tP%h/uFc#+`G\`XAZUpKB(kX[[#Eg+#H^skq=90\*J +?r>.,Mc&n2b"grm]MD-3<h\,9&Lm"!HBh",/4R+A6RZ-T-[3^q5dr:b6lM('Ehpot +Qc8(FfOJ$j@b7:[)"Uh9@tdq?hH4\umAd7^ErkOmO+edtLY:'tpGR-?S4(6DJojr= +U]nHdDLUu;\@V/fHUu?AZA9cPl"E*Z0[Td!%6!h&Eem0;0mF-C,=9diWBMu)pChD3 +#lP!2@iCZq/>WWaBF@CD+)R:=Ak#rugA\RgojAD:U+%+[d5B>.L3e\'r-3\h5GK6^ +ePg/UjO`kG0pJ#j3tdUmS[Y<l`D/0dWQCN:Yc:1X:]6^.V$T6Y\2<ki7A"pDDRS@V +hnHcRWd^uSqsBIs;NI?3E#IS3dHuUrS"'Fu?ZeMlg/.FFoVIg)/Z`f*@ooEreZ/"8 +X%M2R<Ef5a&na+#!`^S<Xd%+\n$Tt7#Ro[eIHX4Q%"ug;kFQ`Z4s0Kd)+aVZA<f`! +=tPs1nV3LO`_K1X$LtZUG^CHoqGTTB[FZ<qbIQ%EM;js/,O--BVHLK$W2^$phIf:S +dCWH0>/<ki%gR]*j;HHQa?5/gVqt?Ca^qp5fnLtSN&L;H.JQsu`aAJns"u+bB#%=h +jpP$qY+^^cUCDA?Ue#9:Sk3'=U9>kCLs?IF,:_A5Ls@kW+Ze?(CX&.O?36Q@-JMR\ +Fo^@/_0C&*#rPieh787iF@R9bZr8ng!ihcEYR=`F]ka:2*J?p?;@B0Zf2.1dBL>Kn +7;SqAOX@#E:)Uoj63ph"9fPek-GZWum:!7eATiBe*4`7rQUK3(##qNNf,/Im-s\[& ++*&>t)C%6+#b>t.36L/-)HZdh;O.8rT&,\M2e9q.k%ef7h<"GmbKm&nKaKmN:>Tbp +%=N#YKO+#3d;r?Ym*Vm=(<oEJ2p!Ok/QQ8[O7BM@N+e%;UYYBO4QXa[WaLT70EdW! +-R,W-"]g0I!AM^$6p!BkV^%4!HA7(N(sL>B#8'tT^Ep7jY^W%M4fkj_M]OeP[a"CL +=>H*(euE<T+L.gIG"_0OS0V7,a*i,V2Q(\DhB-*nOhpD0j2,)+RY^U0r<9TcT\JDi +3)kO;ERNZLlk*Q7:[?LOiJ%!t1,N0q%_?!WKS@edrL)#/NG9`Baar^_J@5d[K\g-g +:ANAf&AtD+d)0g.EreEDd^;*:4uK=T6cSmQ(#ZQg92K<;d%O/=?*XM0hHfS"<_j%! +c"^RCiS'ca`'n`].ol`<'8%/PhP5_fVAN=e;0F+?.2n)DDpooePM*M39&WtY]\Aes +g.c[hLN[[\X`Bp3\(^2LQ.X(/2^tU6p2u%O,S3V,HRtDFF]=[i1<4R(p35@-GB@st +[4<sko1/XjDB7_F/D.]_L@NpiQ>RV]UJ5mr$LESf-5e:UaSb8i>M_H/csq/[JuG&e +0$2J5Y,450Y:K'B9idb=H?<KdAq0C@i[/`ub)\up57c!nPN'9DA#^s)f?Kt'b30:, +h2^Th>OmYN?)_DJYdO`qON?O.LEkmZ47"cP1sA<!Hc,^]Q&J2-?R8U/2V"c>YeubG +E.eW7DfqZ_d!M?lN^PQ6"q^sRUmk:H,a<"loa@VT=fIXffg.Z#&,f*L,03XfiFnZ0 +@3MO4n#Kbuegp.=,_U1Xf_l$bHg&L_2dc%FXN`3ZS&^"Rek3L]A\`"^F_;gg1@rK9 +X#/R;P,*pYr7lpDB-+41?Wt.(L.$+lJp1`nhe$Dt(QJ^&?f`J87%K:Q,Rih0W`PF] +nibP,V3mo5Pfs5Q@mC__7,cS'38dK)?fB9JCQtFI4%Nm!JS3mfKmILmptijgPddCW +(PA1UJ$UINg=R$7UtV+8pl;=Cc^7-t(nUKaMmFHY((tRD-ra;%m"iNF19IpB&;Da. +HlJ#t@KY<\&_p[0lTbu[DZc_;DsD.IKo9l,W'=`#%IW^5fK$No)6S!JXLf)k#VIif +.`(Vn5!]nZ)8OA3ibA0.'ajnV?d-kM:uVP$Ch([)m-QSg4@0pEC_,@TZNOB?OLOj8 +ZGu8@NkWDsOV0hi6.VV!:qYg9l^"g%'aB($rFZ*]Wa43~> +endstream +endobj +26 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F4 7 0 R +/F5 8 0 R +/F8 11 0 R +/F9 12 0 R +/F10 13 0 R +/F11 14 0 R +/F13 27 0 R +>> +/ExtGState << +/GS1 15 0 R +>> +>> +endobj +29 0 obj +<< +/Length 8973 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;Wj<gN)&i&^<,HJrbQ?-%m-EDM^uNoraicC7S"c8[`*i!MVgk0aT<0.9TZm^ZV,Y +!=?Q!m7O?G>\5\=ds_(_mT7Tb`LCD@kKENl7s"[g@NuoIH'W)O5%!_idJSH:n[j!k +Ic&DE0T,4E\XL35mt+dbJjPai1AJo\pG3K&Gs5S'TuL.ucID/fq+o41&i9"6iL7dS +lX0Ws"q-tKb'b7b2G([UnS.;rJjjKR[17;Sp+7Af]&dt4$EUhBK2a_4NrOLSG-]0- +)s^81Ll3sbXX5T>=aS!([9NQa2Fu?3l[jgB'#fW@?-/pG"l*Np<55)M>or.45+5UL +IlSp7imSdIM:F?%<*.Ha?)ScEgp\"?1-)j%>&@tW&1b"Ff%;`Z)gkZ-V@0NDXFP(D +[W$T'ot,7"L#P'l]4r(rJK&j6D!GoinT>?1VJ;/<'ch*8[0e,.MI5RoD@X_6+Y=[4 +q:DJCph0&ge2\ojBOu7K`1`T32@h$`QMR1:GQECCahe`/ZtW'T@cm7JXj=Rt0uQWh +.s%JgRtZ&U&Z08;B:.Q3`_AUPa,Fc6Njgm9dGT!<mPl64?EO'T4X%U<^Aa/LZ0E[a +QLg14BuM%\CtVUsj!5k=aLbZhgL@#.`)^=jfX:!!0W>o<n7BO6iZsZtjD/t,jYsR( +Rt$@\S,m.g^^S*5"ZhFHL9'8&SjOqX0F8q_(R:%XiEW"0L/&_>:gIt^gM2'mMNJ@C +_G=DFi4=M=1:>l%]JOj%MRA:eg=3p(`f:,F*R7Ug_!\N2pL-uX4tohNgN\7spIo6o +&\f$5>:0*%\_,dAGP!H8"HH/Th+52G"%I,S-c?d$-_DB`Xk)M7JeXA$+##fg=.CQi +!GWK+V1^KQ+sDMa_".YQ$FEd@-%W>\E.gV`F.,J;i2`/N+j4oJZGCq*K_^Y$hZXK@ +*eB<#]]0?p70)Q))]KOuh:]idiuo+q;1e6n!=gK[ki1V4qZ8PYN^cXrHltVF3P)=0 +kTj*97mGt3h@bMsJg1bh@(Ef-B"R_uGM_sBqnX2B+lpaeK)eARmlFAhb'T;Uk#kCg +Zs.EE#[iakoGOh)RTJMZAk`11A%<oNN\HY:1ZD*/C3VK\*RNo&*0-F*JOB:i=22Qb +P48P'h-`^EMF1`kbo"lPf^O9AAt3GlO#Y+d'$t5oXa:TKFZDp,&R#ar"KXO@4?F*9 +aiME_?NJeJ@^WdEb>%@U&r1ZP)oufcN"W@qGP)_Y$e_#&NeiDdE[/'B"9VZi:FP;/ +D!V%t(>C"cGd`&,QmNLc3;l4+MS$-ac!`JOoI^%kmF5,7;qe^*^?'S0d0=gP3<OD$ +,W>a9KbNi$%A^it=dDedj)#+4m)fDm;lE\&,f_q*eF&\na":YbeQDaW#rSY3RcOJj +>p:JT+t"4ChP\7"-fOO`.)V,eN$B`uj%*Y:p9Neg(^B.K,n2FN6p\;!<H`^:9EP$t +e-c\VV,pUKR(K2Dc[j:X.qrZbVNCc&SuB5X>>6s%UtF^1Pd9#R]d[Z):^;5@o(MG. +4nBVEf2kAf=38!5QUE5il9KU8g0AM+ra(\4$f7hk2<_r7N(nZKg6_m&lN]Jk*=NUS +9(Je]?>_I3?HFde%,/uhPpAo6oV-:uEM?l(G'*0bgpr\tX,q4u/_'O3L=(k)5]1JW +N9l']1f6?T[Wd1>P.!JXUn)6a#"dsVdd;(e-&V7,FcP91Y"KaSTHKF$SCD%O*eHG9 +4:NGBT<$$'R,qG5gG"u2NGE0p><D>N=cOA,XDS9:K\X,LVm(b)#CKkqnY,O+c;&s, +)37,3[Wd9qVnTr9RO$9R2V=@c#VFSrA_G4,5rOO,7Y1-&fi[/:!*f=G9Z#<3Z$4OR +\T@?)l4>VF,qjrg_Li5Bm=e>8c4qpih9JMiCALWNZM-1c]HB`nMRh,SR-AjeA7cC2 +W,S(#KZ/mR^AW>o;<PgM-=MXr9Kr2ZH"=T:*KHe`i)@%V^MsEKbkj)W?gj;^YCKBY +n0Z51@%=Y+gXSeSh!RJnL"M=_`n,D";5&Lkg@e^KD;S^>%U5oTJc335WD:HP7R%cf +F$bmheg&9-le&N+F(Y-`3h<iQ,:fG#M9U;(8n7P26B:F^9;=@@`9,X3I@P\KV#:R0 +#t(n_Z[^5Y$)O#LGW;3fB.;8bHR$UFO]K*IX6\HXhr]6.nIpCYrTOPnY2@M8mBN*c +s#C&/m.L&<ca-]rd0W^B15TkH`>;Bb,f30'4#o1&PR]:biQs19(C+sUP.3@KmJ&rr +UgiabapCj:I:7H5FbT:Y#M,Hp^!bkT<'U_3=f9Dp$N7-q*k(/dA9fDb\jf>;cGTDA +Z>L.RQeh3*8mboo&g.?148p9Cpj7-do?s`9>;u+lG]k;J]Q?[C5$U)`l'FWnq/Y;W +X/koQqKNZYmN8M'8ot!@+(_2T=gfpX]=OGMYe#31gI#7aYJbiS?^0`+d>R8J:5+S, +Oem4tq#2QNatTo:+[pSi9E%D\ag=mo@CS1IdPIASJ_cOn&6h:G'RdKoa`V:FT%FhT +\4ET>LEs!&opom(9Wt8+,m@.apM;UW3."U;0)Sc5(jTGP,kmJa3)8[t4bl7\'1!1E +mAY&#ja1a4<dlNYM,61c%G-0XS=7Us;A4$WW"\g[I,?eNNq9:=+P1p^ka;q]q6bEX +hPYFG/0S1[RDAT6P44tr/r&$nU2($>pBmC6;Rs5_n[E\&!P5%=(QaBZiPEKB,P<+t +*goumS+%Q[=7SEe1Md]9E,=atA8.Q_g!ZRkrF,0)g\H.AOk]d&`TXaR;NfC)SOi&] +/'mB6[5t!;S2?jj"Ll'G;CUG`HNREsV7uD0*SnTq7:"&mfJ$8b*JR?#^/ptV2e/.> +%MgZ%IIMtj;m#A_]"7MZ)>3AhG%t*K`=;ET2sGfcB`%d!?&_p9\RsKgV/@16UL93_ +?<PN./!)m?gh%Nr&G\m^2O!X$1hRZ>Wju=F]b7V.;H'0q38J[b<!%O-HG]/sQq-[> +SG\s`;31pfA91eU]uU>PH[/c!?:]@3>`ubh@/o04CK"8*Z"dM:-Pl@)<_2X7^+mS& +4TVQTZmk&GPgh]Qi1*0%;nZ0%`b-0p3bJ=Z$6b&+o$UuD'[pTp2NCC1<F>3O].iZq +2bXlE+.L\1!Xhf>c\K_ET1V34W_0W"o`oBn3UN7/1?BoR0>A*7NQ8mLo*kl!.-6aX +Pt7a:IL?7CZu'?+7-]1FAMD/%Ke0HM?h-o`Hl]!?1NW%EV!#'A^:"WSL0,8+)u07R +5Q)Z=[U^]UE:%Q%"5r/%-uI31I,Ecg`C9DLk#`oYO\7<naPQ;Dabhe@1J.OX>%4$l +_NC&qa_@UWJi].2^BOk8S>`k3N]RTB7@R`n&b28Sg+d(Jje:suAMjs?;4OW"=4P=` +/(1(eRW&)SL@8&AdW(DA4.pI9FG8X;8Vc=se#e&LY"@7($YX';7=<.iN95I_gaIB: +]P6l8p0GahBs4u%[Zr)mBE*k%Pra^<Ej'"]"E<'/%<.2r+pLemoS&SJRBS:R7E'FS +oXFRaR3b;X/5'q(Cb;!sfsuS'%3Gp5'1Is,.QhS^?Lt9b;IYO2Aji1+*m1;skL,<; +e@)!po?a$+/dV#"\tZ"nlie1gU35Fiq^I/(\`m03Rp>>h.rujYPU7%VZBDXj3M\q* +\W^*G_=.GGb=$u>9#<HL#6#7d4InI':1s`P-`&d@8e=CQXVc^*?d4+C8D6PgZGI&D +Ae,SqEP.I*"X3fF'P>Q"hh;A0(eoVW,TNG8ifge?dHE(#!qbKVplMd:F5R;ETJUW% +)[&NGrOjAF3Vb+-bQO9_KKPQ3kZafsM&s([N:n/^8?>EO/4iQ)lDL)MWTU]p';4Ib +=H9mcBF"/gL1hb3lp`mXJ697tVlg(GeiC2UC'jK_QF9.TK:C7N1lF(SX,s3ir5l-D +=>-RS4UhDRDb6*\*'=UBq$06Z.04TgO%;RKpJpF*$D?(oQ&rPOU.mU>%\t$kjc^s- +O$.\hkCCH^bNA$ZnaZ.e#4U"K)-lc-3$VSN(:4H-Q>T2s$S>MZj:UnjF2nm10R4a' +R@FVF'I7QIAH:f!I7eu"]V65MBVB;'(<R>j7@PGSJG32S]:R5IU#0XTKRV5h3dHDr +3+V=$ROn<Y+@iaHfiKmNU7)rmBf.Bt;C3agMY-U+\mn#PWO:O!q8l*bEPsKtJ-oF3 +DPCI01P&8gChJ9VThY)KQE7a<Zne@TWTu=8(Bg,V3tU=/Nl/2n=\VH/RRGeNG5fF3 +,#U'b^i1BL#mJ616A!Q+aC8U#F.rh7n,[KW>E+H$grdp@m8)M4Qa_n'1n;6fL;;^L +OBRrY]AYl&dZ7DWEftm(#rXB$V9k5)(@7:BP+no,</lp$<^,orZL;JQY$E'r("98C +:Vq,ta0E'7)7ppP5)'e(*?0q"Uc$H?nWU?)0HNgoAR`XmTl2<qPd/1s<O6.34bEE3 +oAGn<c<2RC,r8itbXC)uQU1!FH<5%hf/pW9#8.YT^>$I0c2D)jOWLOePh8OH$)3fU +i+H:Qn812R3/I;(7P-dYQ3#.(H(ek'\.psX0S!o&[m9Nl#r7]e6\o3`c7GK2Gt[bf +ciE]&$WN$`!lIX1ps\oTO,MMOCUq&BJ#q!M@ft6PcLWkORU(==I.?Y!2sJ;n^XBlX +^\s"<56("E;m4?%c[UE8LPns#0E(u\8LFiSO9C\O,fh<8H@hrRfDAaDL*2JqC@aDr +(B#i]nh_;!,(Rc.BJEe^[@rH)n?=oSPI1H]6\.AcBs?`<d?fU!)DX\!I^c(4e`ZH: +Fl@_H^l0+h2Fn=Z<T%W(7T^3ckKYjB\L:Yih+in!1W"8#PLi>C#Z<$a`>OlNSWq6@ +2Y4r,RGebFP2c"*MO\m3^4!8+OQUp+pLqRRq644_0#T+fEQF1fI9f'Peb\fd$(W0a +]D8*Af,%dhNk4]?]+;GJjfp]k)e!s(LJ\0%d&A#>nF%UI47D$Yc<FY'3?0)]hT9s` +EaJ$<aa*+iJ4aUnIu_&,]N]ScB=$6fH2hLOm\o_P^AX/b&poWVfoG[:MR@fkEn=K7 +]>^=_f$-M7"Ek$5@)+/".@$BE/<+]a5/;a46ZJ\,Ha4Jo--pp-oW[u&a!,Q0&dKW? +En%=?Klm#KOVjEf!`V')FcMH<j7mn\SuKX,jPJC[F"!84imQ;`398L=4ia)K,R9)J +Q[0[r3Lo1/+\"r.BO&nlo(5F]cRK/+92P[n=V(>tf8Hs69V_="#fD494f`lpC)5jh +kua<J<od)E>TVX`#(Zkb1+icS3&IHJKdi[WbX!S4mKX%-RMjFL1d=$(@0SJLcsdQ' +WnCG:I%7)%KqUTSci^u!odoKaDSC?T(:]RY3#"@<c`q*nA@\*"13q)2:NS0ENC?S. +$p(cKm<q.WnFI>VLhE91QVI:#bf_BkIE9UO^64gKqVO8kQt!t:;B17FHTpS3aq>;0 +)Q!i`^=k!05&X&&OPmO^B;9'F*jkP*h%+J-Vr-UCGX9tW^AUm\oVo1^JZq/q&^4), +K0l[Fkk['U!).Z;eCP+$i*s3aS=cifmt\SdmQXM9?2'hI^hHa9J5OLeW*^*nP;W/U +OnuEu`Bl!nL=0%tY7hD)0-9(C&kXdDoaQ2=+U!F+)VkgL1`]\5)d;Pue)#GY&ERoQ +U)j('<F*l]48u1qRlT?4^D#lh(:!OgD:ZZa7@Qaf4BG\@eZ>Rd=1ZFAUVY;Hi$!A& +RhbQO+"pdP&Fr^91.77LeU=R\lVTt(Dcsdp%$c%@CT%r(EDT6E%dY)h78\,Jd8*qG +28/0?fSjDg^S:=5V96C5TpeaRo&tF]DYmNnjd9r.fH]t_(sbrG:P8B#'rt%H&h=hI +3hl:$!3]Rf039:sA)UT)g+0.FV_0I]oSX")oqJ=[N[P)X.C^oU'UU0/Y:1*."6I/J +,U><UmPFS0\*0/ci*4;$Jn2SJiGXp\<]D\OAQ+UsR63'?]1ksUXlcI]r-O99CuPEF +Wc-9rog.[,q*JCEANd*VKo"$;kiPJ10AkT5Lt>s*>=GaXo"KKfl9Zb%^8"n'YM3M8 +Df<cR>Zf7;--C9KD\AV7!Y/ce=n;$R8a<e[<M$g.)LNikV/)gU4i45XV8:NB!4uF] +C.0#'CU/m?B8Ab\Uh)@?n9Y_QNDKU!<1::KAHsdT*ZkPc3i+N&B[p$2%4NO4R-0ut +.@4V/')b2jNY_7CTmssV/1,Num<Q*Xi4Sn&Kn@I,FUgfH$jPH.%<0-8(2p%Tq9XL? +KX.'9;m:6i!"i'g:kHheHl>bD4.*29S=O9FPo<R*C-[]T<n$Tt;Lu5i#==)%>W.6k +Pk9cf@>rWO"[.NZTG+f?--K')pHb`@WZ:k>O='@=4[:6k#>4I`s0L!KH_A`'(?;;' +]ruBFn#L)9N=2\e[Hh1u"]/%L)O(nu@3kat]W3CN7D1<('?WqBX:4?YY;=?n[!is- +i"j1:(DBB%,V&3o#O=Ll'dQCK(UGg$Gb.cC70f1<*ns[gmVNe?p2`HnH%7Y0._Y3l +pG;$5LlY-ud+l+Ph\Q5'cCT75BY#MoC5kW$<%Z+PZ.O'#/W8o5KT.ddX7(Zt6"2,@ +#,lfEI^HrX\#pgR@TkXBhG7,/8L3VKBfXABBr^u^at$%M\"QidK1Og!$q%fOWaLLa +/d\7=EiBHZSBJ*pN/;#GUSaChgJmC%g)-ereFY'6n"(U.c?^t5ZDP6s:d-aFODbZG +Cg&"+BkEc3e7EXO<E"jWI3*h5aW1^,V0Vh"E"DkjiY\)J?<;)sKMfaBW^Vu/(3al; +_hir+Yc`'t1t-E&s-%/#o+Bj+ggZPRgkOto/\k7#Xm,pgkTa7p8W2[<KafKbgr-@E +B^]/[Tp'0&)O6O+#+n4%#D2tq9IKInq$HGb8p5P<B%7GE",P7C,tf8A0J>'c=;5&* +AtV&H2XM+!6j&+=b"f6;+O3--$6:H=U@Rd>C;Y&>/jnSh;/T08`XuA)QJ(T1;jU3l +'\+$hNB'1G8`=78T):(l<"'FB_PXlRBM+[%E_!d%4H5f*Y/'GIF2cKAgWIIWjl3W8 +=JKhRfMa*>\g,T<jV6"j>u3jh26jWjQ`E7Q-WE*RO&F1/3Kbk7Z6#"JqZ2gP0@)S% +R$*qq7[f9Cg^`C'S^G\]ql=[ndN0uc`a:785bU/#r^V7!lo&_ad<iUE7hMs3p-Onc +bnpRDAIr63\Vr2K9ZrqsU=5nS!VuN'=4O*[=nZAYJjf:Ol?\pKa!k7ZVN$f5qOFU0 ++geQrhhpf31'W]K-aQY^dHqt2.[TE\Z,K*:BEbeu8YG<)j;@D.hA>b'/eQ?n^?7:X +;DO!QF1_WJ'%Si(S3,h!-QH8^RsLHkQW;N/Dl@+4@JU56)QTeZOFY<&?mHE:_q>7^ +DfXr'&#>(c0PXe0MT"K':iOpiE0/%>n>EAk-a\1>L\'IhO)Y*0R5gPFM\ELW;SeaT +T\_bJmR8mS$LQ06%H0;J.l;&@;5:7M2^FAqWKp-b8h;<DPO=-CV#,H"/QN+%3U$]C +qiHU70BFNsL:Mc\E>3MJhAfH9nLmDf*^TdnYm2*$Vqe9TP3&VpA(71\iL$<UFt6FT +CAAnuGZ1GNH"JRO+oAM_>F/f,=f'=4k:+5@P[H">2]>UgAX5gsj)@4N1`EjZ&-ds& +C:^,VgD#D(22p@9CBq$K`)2:VG8!=^2.3K<9G<qPAL0*0L]KBPBLuPf6qkb"d#kkJ +5,5.e')4r,$[#6%=2j\i7+GW=H&UT?->j(h0JhNF:@co;hDfF2qgb%tg"^b>?SK]b +g+oD_@/HLf8>k[/9K`/:5%Nl'8d#"uG;7Vr3qDFsGGh=-d^p9e+(jsoV4cnHd2?#N +I>8XlV#stBL`W4om71fScB5"`')"/HY`u/Q"Z=iKnm/2;37ZMGjLNgLRnBX>3(R7k +4RqZ`,8!<Xfp3a<fVd-;'X>9]6Us]!=RbIpm^+\HP=I-0FV5YZ4mWq1Z"P-fq?&*N +]%#@gCTFg'l(h[=f2(&DB!<R5HG4NVg1C^LC7iL4Q1*MoQZfhVD_nY.cpYq@=nt/m +nq]>5rDmiuM0<W>UUoA-JSth/4p#qZ=e#,'\SE438I>=k8ac.A40M>Kq&bI0nX\ca +Z)kk)?K!]X7;,IWj$umr'haNb`sNGMfFNRZfFfIBW`i^V\6=7c#UqL'/e%S)9KXt' +k.TNpKR%E8d_pQYgW%ERB<Z_IkMB#;In3:14Eps+'1C"WmESZ%q#)C66?:r2`VD"_ +qlh)jJ2D1U.!cm,+8%<O%_\JthoCVKJ':KgXm#h6@5WJ7`<#/4P&mED^GPP3Q\El\ +*Cj-i,^H'5pgGF+`&3tp`5^jV%1'tf5AW&$MGne5&9QVp(mmR[':K(+"E%%<V4=-V +99_s,OI[:A./8\>YBs4^MC,/hTf9h`%%E8`pZF$mI?LSKnMBKF'hasdLuX3eolkU* +4Ppq3d=+uE5qP^05#=nOoM'0J2j#R?1ZosSj_kLfWd#?M]>QggOSiCsqJX)I9VS8X +>3M@71quI2RX9eiDnQb(!:hZ_g.^;:OV?g8f8!PI"hg_9PmAbPJm1tXd1!]qP#;9` +#A"C73fNk8A>W+5hC/j"2nhk2lS7A<T09qZ@7>HT7pOPt3n.&6.7<%g_G%PV@QnLn +Kp_5IE)ScD1<+2g_+JOl+@V>_Y[WIfK4N-%DhatAXYkqZ8C4h,1*.?$dVXC$PiS[< +gC:\c!!7XtV\Ng0<Q_<c'bqkA*+Un0cf4eIkVc/6.1((T\qn7"hFN&K^PCq"$7qG_ +<WDp,ff!7JbId4ucjZsC*4X:Q>EoalV_c*(QD!^N\1sVf2TU+rrS+A5R*'=XrS))" +U;a-"o5!.!R.rit#FCjb$^VXZYs)CnTO4*5I`K#YC@gcModP<(6&!uh=?Y9]s!t&k +7N57F2P(g>0]N2#Pf$s=JJb=[Z&#dWR78dYfbe@@Q2bl7]D+0M(2?*<'#DXI8jqL+ +)W+]=j[NK[.HjYDMe(s*afkA,p\9B]C,f!*Ul[.t`[8lLH-tNPIedm^U%TT;~> +endstream +endobj +30 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F2 5 0 R +/F4 7 0 R +/F5 8 0 R +/F6 9 0 R +/F7 10 0 R +/F8 11 0 R +/F9 12 0 R +/F10 13 0 R +/F11 14 0 R +/F14 31 0 R +/F15 32 0 R +/F16 33 0 R +>> +/ExtGState << +/GS1 15 0 R +>> +>> +endobj +35 0 obj +<< +/Length 5721 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;WR4gQ(%0&^@Yr6B>YbES/Ou/K"u&?LMG,)bFE@]>,a('\/@[9;IlL4<>aiT/otH +MNZ!L/d<OYS))UpVbUOool>6MI6:U&j^tC,3WA6)l?Shp5rN'kB&S,!]DLR#RW#f@ +(kc<S?^A$*]JmQ&?K!Q%\+LQ"NkMp9nVZ$r^$WXs[.h5.@I*r?q:F;DbLs'TP9`Gi +q1(mNQu&@o+OB86V#2bSZe(8E]:\5#G5!51?N9t.4<ED)qt=Q5O)O01R!n]gqoA%\ +<6eiK3R.[.Q+d&pZ[RAmQQJcqKaJO9?bR\[n,'-BgBW4:Ep_\,IF7c^o>CN9Z$?%u +-B4]61uU+Id!2%WQ,1U\X1G`V7n^/7]>&Db?lR;@:3ppFG>7rWbMEp99WSlqD,G3^ +cb&oMLbD?^]s1'gpgEDohOBKUI&uSR6d\tHLU@\sK$]km'E2-9T1G6IJ!OSh1F`./ +DVrMA0Wjdcf#@>9eYW[K<>5."HZaCja'Fb`?GnKdq.p,#2OHbV/cQ*G.T1#Gg8p4q +iT3hK3"U0CN?B%<Y&B6(GNLN%<@9i1S+>Xa-4+JBQ#3q7"0@,:?HKWB5j=<;XGZtL +!PEISN5Jt`P?$U%m-RSa3mJc8e5gutDe2YXZW6=W=)HQIK#b=q@*;m-\+\I]I;f@S +Es/-SbnQaD+kS56U?0Z]&f"\P\l3e&^?M*HmeP<2p[9+("4&+OL1HX/Sr*PQgK!"^ +Y%;p4TPcqnV4F@$_c'&F$=r=p1Ys15qrYGQ"U-!l'NeG+NGZXO,e@l>U1dKK>>_S8 +2r(79lc#E;_?V%'k&?tVc6\sg3QUslI3H<Hm2['/*mld0,c"Vu6Das!ot-q?7`4#T +ph8Kfl=K"LC$cdg`MTbR^"th0N:B[+FS5o`L28uS(,<jX;:WsD1V*\`cD]YJ83B<* +OI_p>OXUro78[^sGYiV#J<lE_XS,!urO@7Lep1fAX_SF?dL/>2(?eEK'WjMO(-0@M +^(RPKVuGuA"fWkpBlmPYe;QT'`cble+Kd[C+oJ5)Qi-7j2d:Fc!dE_nq.Kefj'FU= +;hB$81LS2A@\i&SeD&QZ[;;tISV^-Qck&1'Lf[?JZYKbf."A<o*,YcG"c-GR'![U- +*+bXHa+A+5XoP1q0G_%q>>.b["]>',MlF6>VHTsLd[`skp/"U&W;K+7s7_enaM$sI +r.qZ6;loB=7@6=jW()+)/g\./7!;&Bqo4[[1,Xq5c[IJpj&kOeOO]XJ-jpZY_(6n+ +nf7s-&B?'Gc*:M*Edrft.OI>f8AifL,YM!%A]E=i3i?1/\h,bt7VOsl<%c8k.o[r- +(tB.L4ASBDaXN:hAttG'kn0ZOiT',)q#r?;/a:QZLhAm;#t+1F'A_AOgD1Xn8BE^[ +<]"W0nWBaajU#?m;>Wam..oXjO#!]-U%1IJj97LU1VuEpd+j5=-J=&h;j<lRr>n4t +-B?!lf:)=LJ>6KJ%"B[#EHpmLa:#.)'SP\?po=]"ik;P\P'N4R/347#4K$OL\pK5p +1)PhgB8_uhjY=M8X'Bq8lS2>tNPZsp9)=+72"hELj$!Aj0Y\VlZJ`[GY/hcKlot)$ +JN6"'N[`mLdR:"lfhnsBY!)Q:S?+Nc_[a!Z`2ehlV8gAJq&a+p;s,==2DX'mFFsH) +fP//B-C#oMlq*`-<+kal/>$'tjs+fCDc5b\KFdEA_(HbjFCOC+s5s<N_G-MESAV$I +LB8;_?Ai;;+QV+WAUTKAm7oLOpLCWLD*><b-bMk(_+0ta\2k4+hU2qfp4@fVb@,</ +Y:0P5QY8O=nk$tiODDcESHl?5i1)SjLr\8-&0cHVG'fU%-X(_is(gbc+:Yl<1Th/d +`opcm1Z18=p*=(U1,915N.]^SXJO6X-HloL:.B,WKa#A\Td,9:9F"P$fLX9+&_tMU +MWKI^7HZ"bR^WHBH_$,$KTY7tkmhSl/n^?/g0lFq1&<Q*gU-N#'0mK\A2ERo>W+U$ +V'Q%f'Y5OF$/8lf9e3\+p2<.\'[[\VN6h9)9XH3bf:=4lX#oSg1-&'*C@0Z1kENT@ +IZ-?r8bCfC&tB3$L`R!bHXc@trdY%hl'rHM@&3.A[0C?!B+ua8d8:q4%(<bZTh.,$ +Sqqt#Z.:f`(E3XTK5>-c)^pilGia#q.^"/0pl4m"0=[Gr\O;RY.)0P;rCs(,(UZVV +17>e5g#PJ/l"@M`e8?e7-OqWja[D'+=?1Rm&QQ1k3,m(e*-r4cfeI14o&L.h9$^Y\ +!Ei"J^i2Ad>VV/38?cm"j_+_:e+o)%aHdus;qIU3_aBJacS]i1e0\G.-Jp_(\Nd4l +Q5AXV>$+M!*ss'=ln4cmF3=ZR-4@?<R7M_O/-IYi\"n`XH?Z+'`21SG*<D1>e=fhc +b*#;NRVYFu]!ji^&$P1i4]F^A>m)'?*N<HTlsS;L7e&cVf0J._*"fYULguGX*TUh. +(i'hB7Ql)[P.o_i\Pu=A978CG[hHIbp"H4!Zpa"<nED9sDc4.W["MWVN6Zl?@d58! +m<g3[QR"#CoNs^YWT:S?`%cE^jCMCA-FpQF\f=kb-b!!\92Q2t&',`>3R(#2$'tA[ +3+ETCE"OfOo?PI:1Ml5!&TSd?+b`O>EN.50ltoZDrGlEpL<D8Kj_a`GKstZeH7<uq +_1$l6L<fa]q0EdMee<3<^`\9W`r#F.oroU&1.'2SUUK&I9k2gSM-"m921"U@.16H+ +UNF?)=GelO>la&0/PVhDHZ5"fA:8lQ7@_fI`Hm/IdhN/J[IbLGl62oGhR++@JGTsH +Boos\n!`ah+Hf;W$h<V985\V#;$WPt:L+75kK]O9HW7'[7UR1#2dXo$C7[Wa\8:*2 +p1(Nh6BX&YWdJ]42$b"4QZEpF&;Sqsnak5T;Wn+k0Y1q3!Be?dg3(#H(N)`d#_X%+ +Q2=t@fUhC$fDnk.nN-)f1PpJm;C->]meQi3oYRkCo1\4QR<8:\douV*0/i44[InP% +Jpe6eE*[>2A15%'TeO"mZ2bmr4HE5k+)3$A_jB@#J8;.Yc?D,YiMe7pGE@41L2A?9 +F<KPn[S=s$Fj+^MA^R#oAET'/Esgh6Ws*<;p:]D,=:OUi^668ZZ@Ab$s%5,?<`\3$ +Q!kB,Yt(Ja5Vl4X2jeJr4SJ^!F=E]#"$dQqIel*`\>lmOr@!e?,P8#8b*tF!1sn)d +K-^DDf3!PEVrQ#Jen?,9#._0E\UG;HeArGolSakcs,8IhR3kd99siA"O[E&"VWlm' +,Tp#ZUg/oQe:hr+W_81/TQmC4(/S;Wau`aO/MYgBN--!@A"EU^`&OBFS(?S/Z/rS. +<RT1sMCnmb]X?87d^_fo6#oQ,]c/0oUV9R(N'^;1,]#Lba>08.@mlO/%-:FK+u<OB +[mR!m-WL]%$WSr-:%V1^(Pi#F?7id+)c:_7YNV,P,(fFEX1KJ[M?82,E=4G2;.N*B +,$P7'eHsT`mlBP@.E[sACda,Ka.9d8Sd-:^EZ"OsXsQf"FN)^_)RX(&*g!IY;(/da +g^5`)NM(e(1m[3dU>p3Sf6nRqoX;3;O)#I"%69QK+:P"(*sfpFdD\Ohh"PItadA0, ++n/`[Wp%>/qStVbXhUg"\o:8&S(lDY#rdMtlQK]%%$b`]PMjBM6_8\j/\ORS+mMpt +m7f>JkbaG'S7l;>bnpE_.?Jb+9^ht7Lk!RB&n9P2WhOtr5-isXe]uCg<'e6p\7,p' +REG5+Z:ho#k.XTE[J]TM@-AoD\n3LdgoG)bj:b5pEF=HAX_m2K>ofEo,4Yd'n.&o+ +^iDVu:]6Su"r$WB'JsDZqCnm4$Ek`td$N*0HMnFL^p8pg>ePtgbtkut=RCI?)at#c +I:r/$I0F,l=<KTuXJ-IQ]R:5#\ul%[_J^-RNP%:nr#7`u6()t*R8\(\k:ojV>1m@t +6gu<H-(lBX+E+<u*E@56c@FSo(l7JA^U;R\5'gm>C:.5Me!:XE:cU%_Z@g.fXg]30 +Y*M_sEC!R@^\s-mPgU$7LSej,9#6k6Y%QXI8m]:c)>@\N_n.M@@o_bqPW2N`YG*!e +'bm(*D\5u<=af;5,4;6idSQYs+e+CnV)EF<dDd8\X,=o(c>>"b#qh=hcfFf*^c\nb +J2V].UgsebU@<_aZ/R]k).3c4]gdlj3IG0&-'_,TZDM;&4[XpQ1Apl)DcP;`5;p$c +Y]G"-.MZK[Hoh<7(85FT,Wnbd"7S3FADi&@A$9sAebUX?UW'e(6na'3c5_"c'7?@& +JokGrG=eI_)^>-uo[e0mRh7942k,oB,:\C=$UW$#-*]*L39i`DXe@H+'"&j;-ATr/ +'9LXlD5k\t,<`0S=dThiXR69qR2B>4NDY7,pA&%'%g_gG;&3,oSK5N,(ErAoG-sc" +W%&M\m;\H\ZqJhgfT*()#2pfZboG9g*;MP63s):9,^=A4Iq-kZFIC>p_kA"2NC4H" +3ubN5`sUSh`Zsq'%J[ga.(aT@L%G+:9f_^f7"@lLDcKiZ<;/\fDC8%UetsLRSTo.B +XEtLYbb^_%V?^0MAIa54L`*?UTj?;!`Qn?`XWR*\D1gA*Otf['o_I2cq:\UJYWPhn +(KludfM#4jZ(BK,b"H^8N%`jt46hCtN'4n(VS4U"/5up%B0'jAJ%ihQK#-N*oQc'p +jjeT75'H1$_.BC/8U97k>tQhialE>TFEo*FK4B;A9N-#l\`Spl'!.,7,C)aa>@eZC +il;u"PO2J;`Y+>52u9Zh?RIl#ka,'*E.Z?\@g:V>NFa%!4'N/(p[Pf:8&SfuK=S5H +AiWVo65=@N7eEoF\6\R.F*j;a6<+#6]ph^4pTq\@iER$:asqbLm8qdq[g"t.qSA2L +#>Sr)W)ggb*4"hremQj:4>:":DUbAZgged06ip?*f$J1B+q]V[oGKRJJ65rEgB:jN ++ZDGccPddjjX/2_^ntCS[9;h8`oaQK&h#"1U&([e+8Y[/MR=';[0WQc0XW@qm-7WG +:B^k1_q_!!<<V7R&,WVb?!YCG5#]Ah["R77_Ha"bmBSkiIcPLDB3,9+bX8u'VC5_u +hPutK,@qJr8MfZ'<J$<'m^.I&_i@"P5Shp76jSmY;(p6gZdY3fi]K'"E@g!u6);-s ++ZF,mVOUdQT-[f.FU=s>1+tp3Or0!D!Xri*XV?<O^87ALkgC$9Q'8kuQ]<U5XB%3( +b6eom3ICYFYT0CV^Fm.GG)\.-la!NYAhgX>"!`*"VW$3YRAh^kqKmapethUu`e9mG +l`7uu;uU4H[I>lL3\\MV:=\nOdfeI:?1Ragbo8HN+85Oon0=2JU?X@tlD\UlFe^!_ +EbC3dO2gi>Q\P0F3J`*?[(+cMirfn?\'P"Q4Joh>gGk+mB8M%!m$U54c"'1lf!^sl +Kj2=G>+l##@0o5(+LD;53N\+g=q]F.q^j[>PVB)Bm1om.`Buhm[(5Bo<K8f54+eN0 +N(7GhP5;6pcFG,hfquVk>%QU`A9W*[r$Sg+2PrYDF4CDlku?V"p/@QQ-X0b1*N/]a +21Ud8chO8FUT4c-A,W'[VI^7epF^!#lNI/=H`9a&ft&!EO[.U\SY!q3pfMd">D/_B +bi;OGehYOIT(,8:]K%5ELH>;_LKaKk/$YCJm[!b5QHG7%Ap?h)!e:6@G<#8]aE9G! +Z^@#j_:m+h7l<Q?8=51<c$h&:(H*5m*1Y*"gt67h%Ko.FN4$Tj`"=ZMq;gK!)8p56 +/oK7c4:aLd$;Ej'CO?!!Yh#=W$gM^"YC?7r!,7:PA,~> +endstream +endobj +36 0 obj +<< +/ProcSet [/PDF /Text /ImageB ] +/Font << +/F4 7 0 R +/F5 8 0 R +/F6 9 0 R +/F7 10 0 R +/F8 11 0 R +/F9 12 0 R +/F10 13 0 R +/F11 14 0 R +>> +/ExtGState << +/GS1 15 0 R +>> +>> +endobj +38 0 obj +<< +/Length 3980 +/Filter [/ASCII85Decode /FlateDecode] +>> +stream +8;WR4gMRtP&Ui84&GqW^^hc_PVoO'b,]K:0N?'S$$uE`)"%?'2=1j)(=uMJ'cT0N= +'M6EI(kt/j^.ib#WDf_o2S-DG*<p+0]"'NfJH,-.[F'HMUdh8uBR*GcDD*XBn]hP\ +G8IZiCHiY1/j?:Z<Dm,QWpt73rFbcGL".fP_6DJp]3\dA^K72fYs&:Pkf<1O0(8f/ +hf1M10rVb<Bcl>URh).j:^rtTlD?>E>&X5SX",6hVNk5lo.$aTXQ(B-[QF<)j_LK, +3cqK![+4G"jg4Qhmq7o$e^nPL>DM$0XZO1nT_?!33PmWKN)lJ!%ZG21CR[U')VnT. +CIgh9/Un[=_a_=fF8Gh?:Rg"rNo=Z\qN3^d#`>c*>X07i>Z6$b?;=p3E3p&*)d;\E +N*#&^[-D^DS`7:@(`3Ib]9A@m%,%<AB9d=Q9A23Z[76eo6N]!>_e4k!mji28TFfZH +)UDNd'qPgr#*%><[DLP[pO#>TmN%rE^cO_p*a65*(@NAV<fIUWGm$MKXU]21hd2h" +5F\g]);U6@`We.RC/(%=Q0$Qfb?Te3(=A]5UU8^/L6'.C2RN:.^76iegQqm(m%RP4 +OUeZ[$Hr06<IiC72;M"6628$@fhF][`DZnM4'iIn6#EO[h0N)C8"D@7Dd0Fb?t>Fa +`dE&7]TKKYC>H>hH(X,l51QMj_+7o&J.Z#0Rn^@P1dg"Cgfm*V>745/\TR4h!_/R) +C`H7EX"j@qk*4@Q(/AF_hU.0WSCf/7ml+%_gq'-tJ@RBddf$dfDPP[sR%s&Vp:f<R +O"0T]I-&'&]!mK[GH'M=BGt_Sqc'dF2E!`2Rii#97X"Aq&7JNE(#_#^p3a"edYlQ^ +r/nWW3K<s(^7bLbiZoNY6&O9]iuc;Y<B6D0aiJDs^M+1?ch<G!I*?W!`gilNRE4G* +3L<Z["I'<b4=(.&L<iCP4`2c#p(,Wa8sXu]]?3-E[]9dB;lqD4,nAa=olqdkAg6&F +KGj+T,s7+3%E6KdS1TVVYF&_1Qo""G,jLRlGG#>mi,^pC49?YoZ]^hSZUPV9D;lZb +Veu9Z"P!eY%-Q@QK^S#]"`:<jJu7*:bBFd18M0(KL%9U(!qD7O2q.YU/u)q=8paU# +^@i-WD^E*_>ar1k.t.YYe%.l2\qb(oBn?j+)=C[TQJlJ:Baq+27'U^gT30*:8WJSn +8$O:$GF9Rl[qk"%*[;QLNOm(;U6sD?q_a_&$1$Ua(YeRrn:c/GS&<ecD@?]Vbh)tP +\D&ld2p]d:)EM/.IrOdp^il9qfH($aFMq!]p\Z8o?-Kou_2,qdF3+_Z"+XVkqV--t +B4P]#m8dOr1*!6/fBoc>AIeuaES1Q5>MVJpqiP%AX?j'-GhKn.M"%jRRW!u5'.qNA +pdb!5c0utl0=gCFH3"r``5Yp,FV`gV8UFGQo=ICHR.-]!B.d,Y'o[FC'iWl[<>B*2 +Y,Z'6A_'AGQHjNjP9ZZ2opE+1Ae78Orqe3k6#PNB&C3.Q^<0Jg-"qC1Sl(*F3HDJ& +TX-"mA`pH9?QZ!Wni-QjFSoB$9PR\P.Z_UbaU\)3+Xqa$?of,1+b*HjIjXBlGVj$. +8HmAHELP]GB@qgt]ni\D.L`CUK/qF6\T90QoEkWdjM^kOW5Atr.=%'C3(75sfu\Qh +-^8Vfs0cefbB$\JAU2YM4sS6"W0<D*9`ge%$\5$u<0K&;(;*-X+;K```0=7>AU'IQ +aZ:.g9;EA;Nd9ZcJl>ttM0D<.ABM.Qn0Cg1?G@!IbF3Oq!@<+dpo/tum6u9A/ZYX, +<^%B72r3UA]e$+YK^qC]r337WD(i8aT(Pr:E!,^CNLoauH9YbPPd1sY"DN*%5t"%t +&;qrZTb\A#cQJTs&odZo"0T*5d\St<N(AB)fjA$.dk@&p(*%r7Rth'p'-t4$JOt3d +?VYIFW.a8/<DoYM0ZN81KM]"-i/f_n4>D>ThE]i$&"3dImCnkA4MePf'2%'ZR>!TB +ahF5F?i^7U-*a8kCt7O6R\0g4d8T\Ua]c[TdogeA6.]RE)cbd=2UD,WV/?'J<<X.h +5kU@<oZqn"@d7Z0Zh??9%Ec1'IrdT$&q8IO<%U)jIFYXLK!JN%>L4_2-oqBWV2JtX +Rpfr50O^!<%MD<ckHqJ+))(O-j,3DZ[RBeC2/UBMRS--'7ilGf'+9W$3\-#88n*M, +#>84e@7K[`E5e=Qocq9aU./[AC1Z5"\CU[%jBTS%+Ub53UPfKN-W]]s.47e1S6q3( +1*hJq4cT,kOre?>fTW5W9IeqXjC(A>Fs[rW&_1p7g-a:1kJ!]kobhaaQF[hJDq2*d +Qe8/NZ)nnt+<A9nPRX?;@;t./K[?(2cpJ<b"nA@6>Eh;XR"%5L#I%,D:FMiI-(YZO +Y:K6SgG).D*T73nq!$8$W@Xb1km?Vdk3(*?L:gl3V`,t^Ke;sXbC.U'*qu(!T\`7U +E'+#L%VTYN.qrM+m0[UAp6f.mC-UjP_K]cTAo\o:^oG,ka"qC[Sm[-\Srn:`err]? +M")@?a4S6W_,YUH.D"4W\rB@no\0H&fJ>M[1Um7_Z[OkI=Xfu,B9+!uCK>6UNSWZW +?sn&bQ^/H[V0gkjV\Ab_.]D+VBd]1Ti5DWsPT6MPg0!n\OpdQI'A;Cn3#(AGA3-Vc +YnQ!.'P0`P(iSlAf/>asIOM6JSJ:00jq,qqF6q%HP@7<diJB*OJRV';j9D\j&_FLd +mu>7F]0Vs-ZG?!9fD+;iM6][4\H0pd+(UNBR9C)uKecB1KuXp.HLO\#oR;PsS9.BJ +U\Zq8]$8F4pnabRlhEr94Ac$h^VACpfh?*B\$q,A<`2-=^OIo_[h>1t*Gb2[2_m5U +Q4%n^<oq\%L2^BaTk(M>i?[sND<A?Hb.@*17FpjEk7`;R<nTSf)K>56[/ESPDiVu1 +Mba5bL(\Q%<d5)][b#ZJ&2Di3'`X0eImf"6_H0qSR&E1R#EmKS\WLZ<H?cB.&]N^r +/YpEsl?%^`-QlnZr`sD;9%1j1SqJ`?WWTS:R;#Tq5nF>51^Hmg^1(WE^+SG(Iqa>b +Djd8f]&4tm:^mRJkUUEo>.>58%Ctb4m+n)9Ge&4AY`MdU:W[;$gMaJGONkA^6D+>? +=C!*'RE\:TYDWWc8<IGWqK7P,AAbEt)F;+$jUN]IOQ<A]r^?5M^A`^!?38g0jf;X6 +pMedmIllm=)5nt]c76YZBMf(4IEJa'Y.`p`Tc*-W)kOX\nnj+JU[-JpR?uOl8WB2* +Q`/n%8@&:pQ9kR<+*V7brT;.l4DYFJ9]:d2_gY,6"=8mecP4?Y,T_1uc4m[')j-<I +ETM/5Y0p=Y3k@QL>L"$3[lFK_Oa]^_&+#H%LnPOb496^*+TpBG^L/C"V+@[HeB;m) +<??-hC;ZKjpC.<uf<(L%\+td.Qb6Jm^V\0bVdU\R_EGYcdOqcMYHof1KHc9Z7$1<B +0sQ:c"A<o)L%t&Zm%3f&TG/hafsg\2m*)rg[>"N7EK!#DRl`g1$SS!(<O<Fah]Dgf +]!lXF?b_.J)2+s%eoj+U:[(B-F.7>I5>Vb%!.I*8m<04aL/+A+U<SLCT6PFUkS@7i +rbg1@Q2aulZqdc#!Mm]"$\L<r<!B3o3%If_&P32ig[C9D'VgL>4\Ug=QeK[k0.h1M +;dJu56@UMTPSjVp^IXP9,aF$+E/&)tJhWQ[(7m4=6+M6N\*sV1Z"H2rkZ#XK73[Jc +eg\%OXnu=BV#'`:"*?pTVDp4>B!&X9/bN7m?+Ut#/TrkiMY($1>#M[BChgU:A<O*a +^(.1!18s*Jmg=;F=!@Rc4?<to,V)[R9X(<C<s$(Xb:?D]M+8%5K@&fRP<6GB1Hki' +=g^Cu*&nhTLZELLkpYkS&DaM26(9#N;U=k%/^>)t@^PU@G?e_emt$l=kgR$p6>D"T +E9o`2ghEhfA^Nl@XI^1C3u#+)G].>Z/B#MmO`/0>/Ul>9_6UK"\E@W6*3L9i7E4>F +,=K4mk[\l,"._<D1&~> +endstream +endobj +39 0 obj +<< +/ProcSet [/PDF /Text ] +/Font << +/F2 5 0 R +/F4 7 0 R +/F5 8 0 R +/F6 9 0 R +/F7 10 0 R +/F8 11 0 R +/F9 12 0 R +/F10 13 0 R +/F11 14 0 R +/F16 33 0 R +/F17 40 0 R +/F18 41 0 R +/F19 42 0 R +/F20 43 0 R +>> +/ExtGState << +/GS1 15 0 R +>> +>> +endobj +44 0 obj +<< +/Type /Halftone +/HalftoneType 1 +/HalftoneName (Default) +/Frequency 60 +/Angle 45 +/SpotFunction /Round +>> +endobj +15 0 obj +<< +/Type /ExtGState +/SA false +/OP false +/HT /Default +>> +endobj +45 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -206 +/Flags 6 +/FontBBox [-38 -251 988 750] +/FontName /FFDOHG+cmr12 +/ItalicAngle 0 +/StemV 85 +/XHeight 434 +/CharSet (/g/h/s/i/t/S/emdash/m/L/n/y/X/b/o/T/e/D/a/f/r/E) +/FontFile3 46 0 R +>> +endobj +46 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 2789 +/Subtype /Type1C +>> +stream +8;X-BHW1[C'q\ni1Z/>G*g:a\SB5NXMf8,^"eSe"=?o\[`3#cHJj9A\,U+Yp_M[Ej +KZDdr5#@E$-jduL"gu'aPsrN%X4Cj_CU^J?kk<)WIeGJsflO7^+)SbKIspM:q;(q[ +p\4W*9]Ure3:7M$]Qi\]+d3PfZi"FF0)V4pbisaAa1=:O'$d,,d!MA&ISZ)IXJ\I; +b$J\o-mE*M-r>m+e%6&Q,;c/M!lr!>R=8*5VYSK(&uj0J''LF5cHOO*h2n@pqZ]cV +qZR3#:R3Ykf;>S/iD\hMnZ#i2MB[DII%a.YO)fqgj\ZAe+tHl[1j-a2pi(@D]KB;e ++^>8O<@UG3/leGs=h[:dX\__p1j,`r$m2_k?\5Dq=(Cd16Bpo(jd(hd@6!t%*1MOg +r\t[L@>f(U=G0,S@4U-;?X]<&_^%S#Qj?@*qJea4f57,6,9hiO-jgOQ,1i$F.3IgX +m7V*>=5D?\*?I""_HuAMs247$$U,nmo5>*YAG;Uh*YBt:(n_ug]O25nKmC`[6;TY" +#1BG;4XMKPl3+3t2.\IU1^&:SG+PAoeYZO4Y>jslBe*E@cEPI,3R[_qc&I]nU(]jn ++gUX&3lbcD"eaZP%nmHmmf9tM-1-If4FFpXbnB2BWWdR.)@HF@UK`R!AV_2G!WEl5 +A:La8bJSc<jgusc!j_l#e8%;TYUe,FC6kbSY_dbXr`4FKAE&Z`$$a3,"QLnZ#j`oB +RRq2(/78b,e]>4s6]?YXN]*trNTFV\C%T1>d+OlTGVPm%5Ks<"`9BCh^.`HW.OiYc +f]F^FlHZH`=(FSOrl`*0W;AA%//i"GUT+r%F\2JU?0F@sEoX_8L/4cTMj'I:;Kl%$ +134<@>A8/8=jId\H@s%AA.q>Oj,.E68D1M@ro8IT2>?EQ(<.cE93[i/,G^6-JefL! +N*Gf.@*VeF?_Z/YkYkQtB.)DgqJG0,g^bAh-3-5mFEMS/kIV..1'a@)mWG]c%ZaO? +?YidaAo#p3$d2S\o2MlNaN%74g-kL2g"D6%[C,FFLVG6UPoZc;X']p&DMX2e=[P_; +TS'YF,AJKaHEOua`R$*MB[_/IXPbSQjXg1Y)J1-+aVdcAK61&I[QG_FZ]j]kBf7dU +Tns(&HPVN;i#9Z[Ja>@DVWssrSX+"]9h=1TKIL"6k@GDJ\!:cBOXCK*@tc<UB.E#= +qqEX%KRq+F269MGiY$slelJ!_`ki?fLLpp]Z)X)b0f%?-i.!Wi(0X"*A,g&N'lU\j +l[&GQU@!<t]Pl?VB27/V=I>m/MWTr=Q4Bcr'2EHs;J@sVFYsSDV!h)@3B(btaoZF& +Nm1a5D7/J)CQ/O^M5dhhm;.qkC5uQE`mGm&O&D*n]d\42*\I?7G^@IZ;.6^97lhJq +D$mDj&$;KaMEe]]<Hj73&tZ,<7'8b%/E=)G7Xk(O4Fmh>!dVbdeg73!cqC/(T9<p\ +Df)?dm&Pn`mpe'de"*r-Fs.p5+HK[SdZGI]Xbpo\a;2.:[nO.Fnt<;(*%P?B#P*3I +ckhRX>rd&&RcR44:0L[r?G[CR-*CNV[Uo-##T4hOi:\0qAh#Ht_GR>g>Yu!*k_I4u +H-\qo,*CKL&-en3,_LO)^8AqXpY1'_(mIMsE0CM#%!M\a`<S"[\4>%?N\kd9mHoWd +f91j!`;9uT%Re/>qLn8(`F&Yb:pP`,;I#TU/(O%1[9E:kZa@dC8HB2`T#i+Y"_kHm +2mdVmCYcS!L#QsR[-J5\.'__9:P&5NitQKPSp3#L=5LRjj6_n82"K;^bKQhAB^6T1 +<p\L:`GR_9s(R,PmdDe%2rli0H.HGI<&qHd'.5U$N<TJ0BM1>QqX);^@d02L>PIL; +\T8:RD95IDgmjtX=>Q+a-HcJR8'FTZRp;H)k%M6(<RS7SPhI*h>sV`d-dkqVcK:u6 +ju.@25TdN"rJ]j]hEQ+Q"U<,f62B@"cW,*p]35pj[6-[$0e82gi+U?mfUlN*pg2sa +Uer9!8>Dm+7FG?U8SdN/a)9f%q)fjU5t/Zo]G4F?5E%bj[kpPdX^U/0)nWrda;W\6 +3:&&PHn(*9og%g.%J@SFdZ[q9pS<q!0X4)<7#-L1O#iD*D:-lTZrh&Rl7A?<SM$,r +IW980Gl2h?XET)&!rhBJs-k&S=!^=K0ms5Qekk%_kkGlrp;q:([Pt3-Ap:2hs-MG* +.-<`[%D<gqF5ik$pcATq$H:rrkQaD^?IM2nhF43;,8'K5Sr\=)hCL<Hn)T)@_hU)O +5Qb"2T0>CSH(Ya%U#leFP#1nZb>7R=r7eNF6hf8aI__=2@;QB9gK'C`eIDo*H6gIu +&trF615G[V7a/WNZmaj`nCUF:_&^Q>P:%=r_]Dh#Q'R`A%IKsk[OJskG5l=3j(lhu +L$iP?GEEh.O/luY?MJR8Z0P+=+`B?(c`f27C55fiaTG\g*D5#?fuiP&?RBn1YWW/# +>>^l)XYajZ2Te8Ok)Fc.Ct+sIZ=.C76P&iA0K@d;5OAU\:HX>T`:K"k^=-#)m2U1E +Z]%Z'%pclSYe,mG6bkaEn:k`Bq<>tK&u3-qln32i?1:."<p*0^?@<d$JNqPA!lb&] +<I53HCGtY;W8"t1j-gJ.d@SqW1W$K3^cA$'guI&Eic69G6(="^AI)%=Z/fVVNS=o] +lj'HtM4fmiN+Ph"D)1JnS0U,JOK;?".O!/FB?JjY\CW5dFXA!8=W%ktgUs@la&ZW' +`3kGFW3kP\.=.CurHki9o$0GW%,)/E#F6G+Vq?GG9P'Ppi:<LqEt-_'m_r-$H$D6K +SBJeX&7>Jd>ia3~> +endstream +endobj +47 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -207 +/Flags 6 +/FontBBox [-43 -251 1036 750] +/FontName /FFDOIP+cmr9 +/ItalicAngle 0 +/StemV 94 +/XHeight 434 +/CharSet (/s/i/t/I/U/v/l/m/w/L/H/n/y/M/o/N/T/c/p/O/e/D/a/f/r) +/FontFile3 48 0 R +>> +endobj +48 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 3062 +/Subtype /Type1C +>> +stream +8;Wj:$W%LL*oG5J]*K,?&S_X=11D\5_:!'K4t@aU5nOZRBMTpBGm#<6E3pgO7gML@ +OP&#sHf+un#Xj4L1(gUrj,<G)Xe)':g8cmpqG>T807Gn;L50qeS[l:&-BhuTn+ZVW +J)C:D0fou%j1&$$BLp(9AWrtT=b4$=!PAQq4`K7V`-W-pGWYPP'2de#a*TkXX[1Yg +[J`N>/9cdV(XS4$HT420K+U*2S>HS]&"":)Y2<,GY$^+o@)[luXH`D")ngWO-[>ju +##:ZI'sok\7ICoQn$Q].4?ko1QL!us?S;)1Z7X8nMNVPoZ>sMJrXM50_\>bpHA*h( +KYN-SEk+lT0h%3Z`@G2Z/!Ki6q%"soE2O7`+WaB0a4Fcu9STHQEk<l"/tS-_fUE^9 +$-2rLCc[R[@9<eiL#U`o$sR1r7>nBP*)"($GJQFSLS\Gjn`dPUj<?&g4Wrh(27lu& +6_lZOL&?sOVHR]"QIE>0kLs8\21Ce0@@"ff-_$Y'lSN4fhi*3>*T$B2dHnk7;QpG` +J8#Q'+_WESLa(IPa(3>;8X%:,[*u"jRWKmEL7%RA^7B/CeJO]Ee@4W&;/NBl>TYrK +I;\TAPnD7225(n]OpP*6Y,7>(IR],39H#^7D$GX.`Uq$(?K-K>k7Ol'o8'tV@]%V, +KlsU):7s`p'RtLFUUqeuRHaJLFaSQ<(GA@W#A#%n3WZ6^4aeL-RAYhr1;-).>Lu`T +X6Z^qb=410R,I6P6sQfS/hWHJZU%h:L6t%*nOupSOiMMWpm4SA_)G0pfL_r;aJ0mV +*V>q6erXehi6R%+OceqM=(lmm1lUR6k"Rc@Md'sIf@nZQDA?\.0%CtPq,SCj:FWT* +e!K;FHG+J@`ralm)EDbJ"N5':N``DulV"'@bNRpu<Jd/5f`U&D,Mu5\e0S,6'!uJN +UV#`WV'UtNcA%cEjNPio2@If:dddRdcPlj^]iA:>Q#*@uWiN1'rXsYGPg1K*PY0It +;CNt.Cg'T!`39>0oDlm\8TGPWQ">TDVA;m?"$=m'4'#D)jYZX+1?%+Qk2hX1hE+49 +ESprj+;1Er6m76j_J:>&6.%(nI*b!3A'oZ@02B#ZnC*Hdf6:Q1Fu.0C]+850>j,M' +]TomZm@62cI<r_V#pDuA;HVo[aau4i2b?=E7<_4IGL-Kh?I5+[c%(Lch.O7cmPF-G +_5/tl;k;0NY#PDfF8(fE[o7,a._1\D=&dMLMRGH@H&tfcV5ZSA:R\5^YH'>.)seL^ +%Tg&0%TCC$U%T6MQ(,sbdd1Y,XVsRGbq\t)%*"%Bblf_^-UncbeP#]"rX1]:R"9fi +<>%Hg&NOJJE^Z\S!!X:X]=fugj)$6aJ)Z^cYe^<gosj)g8F/?P+tWK-+8himJ*`Qm +80&qUWaFX5Z*kb@A@p=-ke&*.G'9"AL4NV+N_ei>V3CN5CoGT9m'!PI^Up.^UR(`( +E'W/+3GjV3ACo4ITr8[t3r=QaDr>s2"uDAO>HoC=j#(F!j89<MFj`Wki`QrOF;n\= +-K$\Vpr:u3f64LNC0_-E8?'a2AJK%"V]R:@8\>]Yhtk&.7eJVqQ5A,YH,[r(4SKHI +J%i=#)&bRSiQ)25r9=`o2Y>I:S!56j1;Ne[Gl;JU?5b*!G-:-QHe:rMVUE.]<F*`] +;5Ii8WX:X>5CW8<#pN=ErloI%NcTtN8uL5(^cp`n)N@u'ON:JPq\*?gM`d\6r,(cU +)`J4)(GMeLEe\YPe9Ykanp2:3.sLCn9lA5#>YFs&Fh@%B/[>hflTglc.%oh.$s1bk +gK($)`b[+S.`ch[XNB4(=&W%1?!4Z!r>COMAWYs-jK%K*S[rQ\QJe?,bXTq[p0_NC +(reKV:n)=s8[btl5U0V^.Eo[mRV3K()qj&e57sgFAK$PNF[fkQ?$^g/Ai_^LanL#W +%^*?Fh/%^J-,B1P1n%m+41\4<)lS0.L56f(kq#pOomkQc*]KkAX[N5'Bi_^%!'i)` +p%Wa_]6+_U6A\1?s.??Ll/#N8^lkYh0cA2h:SV[B,iOlkjU1]&N@$e)q80HoJ,Y/= +`#dpaeK+NoGjiTlH7(gIi*p$320=RHr.MnR)/^,\O=Wl(ID4VH/q(JAT4<77KZ51? +YE5G4%/^i/MpZ=4!8`(+p&U*Rqq="-rB:h1lbj.Id0_])f(0q0r)"!k\kO$g$Lpd# +5,=B:LNBO0)#`qfMue\6^lWV2Ci5Dp4ZV<,jq`r@*QT7`#udNb$sVqUrLJ\H,^1i] +@GZrCLjj]iC3)n*_!<dUYX_d_h^&[aLNbe-E?C9dQqFB_=B/1*bA<_$Z^/PCl]rm" +Nm2/76R/3f/J%iK<#@@&D]R\V*3r:,;n9E>>,>f1.?:I1gr^[O-8YA)D/PKkm]l\5 +H#_HQ*UJC(aV<Q<C+Sd#cYi3]E+no7K,_6tg?L.>$Y!:D>#iS,;W[!T($2M@Mu<I, +1juB7k-Xd&$dM@?(UE3^PEt4GMH0)&UN3+o=EjK0-:V3:<i(rn;Iu])1)<Tjl-_Hq +"+k_Rj*a'Ec:%;UUH%c<b%p/M>Wfim:5bp32MENsCcQcsJNDc<7G\TI7aFXqG*A>Q +S&f8Y4Hk%g=i8!l`bQ\3*+:`+>:[\3S6i%YkU=-Y8h\u8T(!uXZE&!>+eb3)=m@QK +S<F=*Gjk&pR3`TEl4VYQBb1RTZ@]+g`m3FQbnn7$Q6iMo;U`-T@AVYU8_qL?07$5# +h+T&XZ5-R<4j5,n7j+oR-Ipd?+%"EYe3k'n]&u[8=`>.@*8FuXqd4nhl&q3iilk*# +q9)ggjL06@FgfC2r9dM^^5B>!(KCAcfaN$pH<NgBDJif&:uU-)h,uPpVe;FtY0m54 +(T=DCU22I3]hk=eP^SmK\/,uM^Cs]H\,^X?POBOLXdQBk[Lc^u@E.(+;G/M%'bsbK +'LhB2gi[VWR3RXO^:X:s6Og,%Y`XhZeeGN6[/^;%rHH_/QLFEA""PZ4(g'phfq?,a +d@E.!rk$JEs-XY(#o-U*@FDQk'.,TXo9Cs+iB6:MrBe8QCqgX]Z-+_<q9QshNpA"c +MM[OBGcp_ak2?IL0E;KtSIP~> +endstream +endobj +49 0 obj +<< +/Type /FontDescriptor +/Ascent 615 +/CapHeight 615 +/Descent -229 +/Flags 6 +/FontBBox [-8 -233 544 700] +/FontName /FFDOKH+cmtt9 +/ItalicAngle 0 +/StemV 78 +/XHeight 434 +/CharSet (/i/d/u/at/n/period/o/a/f/g) +/FontFile3 50 0 R +>> +endobj +50 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 1574 +/Subtype /Type1C +>> +stream +8;V^mD+ml0(qu>@D_%-rN#*jCm]C:K&f'#L%%PMJ.%6hC.l/rrfP5tPTg5;Z4.5#- +l7+AmXg<D^8jTIP2cdc[f'-/>"Hg<TWLYXTj+9M(Crn#B\+=77\m^?`f/\-JT(@?B +c\l;G#RncDW6EICS$LTuhH<`ZR3!tOJi"6JJ-Y*YJoO3J737mN,b.2-0MWI+!::/? +s2po6>GFJ=)ld9?Cr$PK*/q[Qd@N*bP%:!AeYR2"FA((]1,NQh.o\sVQ/Y4MM.0&& +HHHl*<3B6#`E>dlNH4\uD6[!*,[RTRMe1j*X]VIM.P#V`>tL/VH'W';>b%cB%@&_+ +C:/(pV+O[t7(bgb;lZ0VP9*ZAYfNV?nm-r<W_uP+L<[^R@T%"o[LQN&]nL=?ZE^Oa +XH5c-^uDWZGWbDS=<'%]aGEJp12fu?1;c3oEa^!i\Kb(9VrZ'9O6=aO&l3LE8P(W] +13-\?gu,gb4uiJX0Vf3m0P$u6^,^@[J8K#*[b,%NC(D7%R0p6nZmK-PUM)*p!"Xmj +ck66@M97sk[S:,X[$ON95_@TcI7Wl)Da"`fKudH=6-E,/,"b:^:u\Z,("1apY`@FB +EVI,lIJ<"AGA9Em7B2:UOanb0mr>j%!9F6u%rkRkO#_F^?eP;\Qt!P^r&NS%[TdQ+ +98C=&2mq8j$l4DsgtZ/ZJsu^4]K^7S]_ROBQgT+%bLOcmROs;(/M<Cc."2(uq%hQ& +:I9pg'[6hkL1-A-$g(04p.Baar#PNcY^X++4ll*r!AFZ_cl4Fk\ZV-o=9IHT\(,Vg +"Fj06Q3D-dPNtQ`@&g7`)$G)Cg=o>R.k#u8fqUO$TTLog*q9j22SpW#D<@d^q00Qd +H26T>s4P7O#Q$8`<ialC7>oA0pc&h(333XL59S6r.'('6N!r'aLS`7-%7<(]fA#p5 +!@#>bF/L`ZF"`[SrPqYh<ianG='3'+DVFJup0?Bn=ItXQONu"eI/VM^6bcD@+!O:i +WP5MY>SWs$;+S6@@2(VZidE&E&+kelI4H_!6,KdOpE6.O0VHejN^RJ2fjM0()b_>2 +co!CtcE:9iTiN]8?I+H1-g71@EtA-44U*k"no71k&\>QQF.\X[k3D=,(:jj<L$r*B +g!8%%2AIfh4`d%6^=uf9elI9ne]*oaC)o?);-'!T)`n[R@IVc,jsG?WGifao86!9N +3taQ/=CAp1D,Ul<^[r$2rSAR*gCu`XZ&^KLnIUKS!TH0Oojed+;ol_ON!fFu$02'2 +%V:b%pB9W39VJ@r$4DIA<*?]=QY@Xj]"<=B-@V#a]::U=AQiqr-s0ng5DN#;?pfHX +SjL_j*ZE*B7k]?THEfoHSO"15[!BHUB=uWTj#aHYP+SXR(GSGTcO$.<2H:/uHAKHl +#/CgC[)5FcnGXL`'*QF@-jiBhMie"a]`/TM=cSi72u`d.V6O76/kMn?o9Q:;g;X(+ +9h\HJ)c^D)If%Mg(lQ4:hu:iJR.BlPe97$9ZI3qI9?`rQk/4W[D>%'KI%HR';RG=& +b\2]1FqRe6nJRZl30T7/bduZ`///RQ*Yq3KO3[]NK).uf!<?e2V/H~> +endstream +endobj +51 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 690 +/Descent -202 +/Flags 6 +/FontBBox [-60 -250 1164 750] +/FontName /FFDOLK+cmbx10 +/ItalicAngle 0 +/StemV 146 +/XHeight 447 +/CharSet (/E/h/s/F/i/t/S/d/u/I/U/v/V/l/question/m/x/L/hyphen/W/n/y/X/M/b/o/T/c/C/p/A/fi/e/D/a/P/one/f/r/g) +/FontFile3 52 0 R +>> +endobj +52 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 4696 +/Subtype /Type1C +>> +stream +8;V.`HW1^2*M-\_AsTo0(Qj9>N=Q^<E':(r</nIgXQ"iZ+H$F8%2'idnqpBPY8(YT +G$#;!nHD*A""NcFR$7%P&CG/[>"jtK1p(J?,cB2HPMbS0S)/;8G]NZ,mb'\nqnCt^ +h=(@2P(^]++A(!3,2tQ/CEhqZh6COXG.qHtJ]n_35:HiIa8qOlX$BTHW!3cd*8och +NC87bjjR*Gi[2HYDeP`pmQ^6r8Ha`e[dV_#BLB08Jtk*lK#8@YB4U.;V5CntUR<,D +UsXpN/Y&`d-"X!OBd,o$qP:Lrm.Z_868Zm7dPU80Y@VM#-"eT<jX%YXihfA+bg7_O ++u7U:Ed1&W>4U77e;X$FRPi34a_AT&ORZq>&hab>R*ZI=M<.,b[>J'RXsMZJ8]ikY +Q=:Y%[LkSl@L#2D&]>rHck+,PJs\h9EsNtW`)X`BRa<Ji]n0@i+Q>p9#TH)YLu!`L +\3WTI(L:(Q*2Q2@,?7Io:rFf!F:'TS>,IUV`h$4GQ%rT^f0\*Xh,_%4\nAP-g`Le% +GhhjhHWiT$HBiaJHb\NF14bljn>sFk8!f;)MIm/98s%Um4okh'!<mVsVn5Icl0/ek +3@P"N64CJ5r1/s?[iu7ICJX"o]3,h[U]iUR$2_u\k2Bf?bDR=hRAC'K1]3D3V0@*Q +3n5sblWkBc@^=BL[74g(,C5/#]RD,a@U``u,P#>HVLj@hBHWE,P"3`Z>U]8'OAH5> +e9=+.YDY?Bh[lr3&lQp1Ybp,pCT0ajc,?\i=Rp7Q^e3dj%\2SH<YU'-jXr>?P_Ca\ +)Q;Ad0>X!,n2mYg[ZoY*[^P&LPd\NKPa"T/-2==:ZE-Zs0e&TZ)G??/fr+a244J_n +Y?h*Pf<k]fqcR$/;8=Pt/k1`cF1.X`BQ#tXZFtO-;s$8dj/8G*D;=L\"hI]*"l!P^ +b_1T#=MK*^LJ$D`Li!Q^jN%P2)lflTT8l[OZ`d0/E>"b->A;4>G8VtVIfWM**+HWI +!HbPs\T1-OEq,lCJWk[f[/[*U>usm.;oIcQ7E*:+$6E23-g4Ig,'*cc$RJWH!XbBH +6;9;Z@PI+P@T]l\s'*@7[;r67?%_TFW#4)02b4/_bl9cKhcF5<Z`&('AL9\s)3r8` +&Qfp.f)Z7p+mKiQ69MdWFZ+:9=D]K#Kmb:Z.lKk=(^$&)WC@GY(1e(VZ.H?a0SN$n +p;[%(p^.M-,KtasH/-Baa&or9-BTti1pT'aV)j%cV$q1[^OH:=+9cIENDb#u;?IL( +0gliqW0C9P(hhQkJ,4+i+9,K.-#AFq;UaW"Dl_cP?_/@U+V!#cnjEo(Y+Cq3%tOZf +pco+M0`'6i9HUXg"pQ[%8<-.i3TLFC]:&PU=eWJ2*<miI0.TH("fbuT"'XG;Ui#$9 +-4NZ@F7N<A(k:UC(<19S7ViVmNZ[>t+1rd-hAd;KioG++d)"R'S?]j9]HBE`7%F`V +^m0KHSOmMOO`=e+j4Ah'DZ?eX94gL5e`&B,<?)pg.L]`N#4#kH<kh,Nldpr=c2\8* +@iVD`V5pHcQ'6b/(PeCoVbZ]tXjbZkDAFke,UQuS&.op/7WU4CENp_cVrE.C5_\N@ +I:AhnRDI*@ZR(g=aK\imH'!^np;_9[[E_n#=df,tRQ;r0/b4C*qk"m:r<)%Es+&IW +]-T-S+X&)r87X`A9'sm%<,ST!arNc:HQ3KR0]b<l$FL1=A9*]2W(@Kp@((X2)%--Q +[,\S)?4dA^\6oLm$go_;*6`pu1g<<']KPnpJD_i.%48=;FuCAO,1dP,aeK0$F(XC` +s)="2-Gd#Ye2</!4LoT.<McNiZq-hd-4PnL%<LHKs"?)!LLkZ2O7R$g$iOsK@_:\[ +I/3D7?uN5<bcArH]up6X5L7!Yi7kdsl<k<]]Ouqn.5S[JJ!eEsoJB`$l:Hg%dqqX5 +5V2Km!e9lfj\MfA"4ldP[rYVs,kqZ.X&,8_/("*NhA/UOD[W>mMI:^GK^J"[DK"K< +[TBZ>^8$p[4@`B.AFbfg%sI98l9DY_.U--&eb!f*fUlPA`i'm3\(HC]cEPAgqC2@@ +TaEB,V5l>s9UIpH>.$J`[2uYRW@cB>k%5TcKQnX`5$gpuqh/$Ec$\%r;`SdZ=l^O- +(3uZ(>DL$n/^MG+c:1;1dB?G+Dg]]m2*@]\;Z6o#;DQ!ojil*!QPhh-gZdGWYKWVH +Wg%?eEdWHUO/X$:pR3"GnYf%;;1^q;D3\&aHP-u,/a-\S`E:FTJ;'35Bc<oE`*Lb^ +nLOsi'`827<7MlP\:[KRrgLDJ*cuERkj5QrERfN^I#t>.Ha-i8@'1D*f43sm<$?DE +-?0]2*c!;_o4WtD&hT=!dgm].Mi*CM'B;'ihq5(LBI`lXs#kor0=l.`FiWp@JR3R/ +HDr\a]tL0-_Kj2GArDsWW_GT,L0Ri6$L't`AnX^TEXq_,(0/49@6*Dt[JTr75([-; +9GA*t`/5LQ>P2?kp/LQ1!3O*?k&'sT`9?lG4sn;>n.?$icm=p0VgN2mTK1nLUuX3& +FMYu'&D0F[JgVgo)q>9&eQd(:*?>u53e'b-`5Z(7ktp8JC+WJeV,hm&jaEP80H]JO +J-?+FHq(^dGuSHahJ.h*LC<Fuf&P#?-b(hahUV5PfJt?5(JX#-e)qeIS/bB2Z;K!u +lSia"m8H(WhOZ@QUC6^\?i4'2ibS7EO2QEhM12Yg6LH-0e3K)R*5:r-cHAGLW@Nkd +X6'!t-mj"XY&E1+.0F_lLk[oH&K*V7K+&!;TqM=\njAL6'ESV?>&.=L[8=ga+;:[r +[Qp[f8B!T3MrNN^3!2/'6o8$NreRK7P.:B1+K/h#/2'_d^:n[6pY9i)p[`"R_:(_< +F&J`8YgV0B#8K^02QP<ZJ]D:gpP[/8dTG7%dE6u9kN^0he1-_oIdS3B'HU7kOc`Up +kO6RSc$$[$ci@!Q$$!9UOGU4]#T!U.mP<Uu7[c[:0!.OF.*Ul"2`]Qj8qgbG<b+fV +K,rD.4m4X`H!9a/8pQ6KQD_gJQ40h.K13ENnU"C-0m8%H'UMK^R`d(JhY.VTf%'r2 +()0M2TT6>*Z:MBc[H#YlE!1$:&)S2K?ks-:@!<@nn1$..argSuC=F/]Uj(,eE&u[: ++Z1IFVP@$6dR"h7G*:$XGr,6H_a868VaC)AA4\SqGV6KWL%dZU9\i16.H2V=jQj5j +TM43AG31jjB*P4;1"\4_Z]BejU(XS'B93,ZFTWk/#s@__#c?1/3tC/ZpQs:V)rYW$ +7#HpDiB2/Q45>D/_NR+F[@C.'0K'HYH'Ab"5Gioc\$d(gW`=adCMnT%Q:,I]1Rj=m +o=<ejear9@.AfRsSGa@4CB:oYT.R9ukidS%4i3sX@QY-dB6AC7nq/V+h!oIg(*Y\7 +@VW<mTJbqjg!"cCr&E.5JjpT$Co^-.aWAeNe<O_gGKEj*\KnjNZa-mLXK!nT3[l\! +gG^SFE*To%/MeIViijQ&/FKHqh(6`D:6nFD'<4!bfY!U$Fcr=FNAY9Ze1Wim0'Y*< +YV7FM":Ou&`kjf6-MG`k?5d(19*T0%LEXe^nRLaS(ZgW_J2$-+J;cBV_G3G`PU<H^ +C:,O\3"euZ4"jt.DH$GP+flpR8)Gho6*TXA]5N3VBK^s=QY*sKOEm2_N-PB>D=A*e +LiE%o^AjKgV1l/X&?!Mu\S%ongf.Q+cd^\=lNB9haPM&JFHdpqJ+iRQR>&)2&7-;' +b_bg1s*;fZ20J:f]?ZG9m_A10aod^Lo^uQ5P_a3pnLsj*=lC;9OMj>YnVWHGEg\TB +7@ONTM>0:u?K"DKUG8LtY7\rs*o'L?@SK?9<K(RAP;c/[QW".5K%\f82P*2eLIHGG +!^65lj%8OMqn7\H"@emh(X/MLFse[n==F_+9Q.0t2A<Q@i^9/RW-EDUIWVUc7*`mj +`lHB898r>?SE*67eBgf-C/JnY#P=fW#_Z,c:_E"TIHWN:>D\%t92aW9)%g$--mKT5 +2gHC^r/4Z!]K,U*2S;8fk[+gPF"b\Z<Ff`8elSc;c.,;4q(JaK#=Pa)hTRjqld^.d +c6&,[F.6t]1j$O!%Um9CdAYPm6Y4bM[Tf-6mi;L-Qab4P&%cX2[6YU8g*$4jf:q<g +c=Zjd:.XD7'9Y21g6\71R*7+'Qf0lhrZ6,,O6tRhRH,q;d?4M0Dq?OEf6f.XWJ]a? +4#NeSLukWuj*?u9+P6hqUqI6r@6]\eJ(VH>Zb>c(ATTXXLec/(Nt'uTD+*Hma45oM ++ZPGSLr?YNMXA>Pk[F4?B,=&"M0s:grqdu0ca0`D:)lQld,6kBh)()n8%KC'J%d9! +1GAQqlNhCAF@XRZ?ha'Lc>reMS"L*&A;,Gb:gQ294Ssnra4j?fHC^$#O7[PU`oLZI +$9>D79r`T,E2t%l^j`<.-Am[Y7`ED`':?"I)O:n-U'BZLVC\YgQ-Xsd@E"J">&A,i +8SKO!'M/Hh[LYceYR?^-->GTE[FUh4oo..b`f&bjDui?A(LL22-iZn4;5Qn9CS`:t +;;EiblS3Is;p&ni`C)5O',%h4YL@%WI5-B;'!,37cK7]hWrPXlm&aM!c>\k9XI(UM +C5[#Bn`(/I2$fB40pI-2X*X6elAG(!fLqbQ;O=&9kLKA=9Tsd"O]u;T_AKgMUJ\7, +L6D*78R6XB;IXru&ou)MfN/g*f$[rY#Y4)lF=?\TK^grJE-&H)8g[43#G#kO`.%q- +!+>i-X8~> +endstream +endobj +53 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -207 +/Flags 6 +/FontBBox [-44 -250 1009 750] +/FontName /FFDOMN+cmr10 +/ItalicAngle 0 +/StemV 93 +/XHeight 434 +/CharSet (/g/semicolon/D/parenright/two/h/s/F/quotedblright/R/z/fl/three/i/t/S/emdash/d/G/C/four/j/u/I/U/quotedblleft/plus/endash/five/k/comma/v/V/quoteright/l/six/m/w/L/hyphen/x/W/H/seven/n/y/X/period/M/questio\ +n/K/b/o/ff/Y/N/T/slash/eight/c/p/nine/O/ffi/fi/zero/e/q/a/colon/parenleft/A/one/P/f/r/E) +/FontFile3 54 0 R +>> +endobj +54 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 8582 +/Subtype /Type1C +>> +stream +8;XEJ$W%Q#*T+PAGBjKC*o\7-*_''B6nrA1C7>J7N-I*S"\"CS7=!]0cVqbcO2ns- +3'\Npj+E+,E.Ab?q>b7BRZsPD7R`PBRtPl'+u/@>qEOr,VL(!tgZ^QD9P8N]pA=m) +n+Ze[^].e`bX$p@3'JiJ1*Tc-0jp>12gDmh&8[P<2BU`:/$es`2K&gWhj(-aFg1\Q +HL4+t(M1pN8P&?$,'U98[edYa1']%Cgat<D3%0#Sn;=%]Q)^[S+lUT1_VFdsC&([, +nAWi6d*Rk>BioC^HBpB781I9X.a1OY<<YtGAn=QomG%3-nYpf5\Z4086-`o\0hPTS +1fC:abi-^GXOLPOkt4C;F@3&X2/?o.cjWoJmG^G`^j[C5n9>mVMhP(aA3@OG99qP> +ETd'NGo*@A`a*Q=)8kMpmXemE0[*CI\U%X]$sS6j$RmWg`875nF:8PHO!ueWO'rt2 +9eZgR+-43%'"&DPKT`k)n>8R]6a+B:LTegRUlt)<(/`np,AhU/ii$u43L)T63;Y]X +GO]fiEHQJ*]2$U+\Ttc'FgJVK]&3!ZkKuHIGP9]M>NQ?@^?'WTmM7N+0(X,S.e`^Z +?L5<8]U*nFc4?OsNcAM`Qktnsagb-RcO!rs?\@eLp+SSHq/@\F)X2pIh!^]hVg_EJ +*-D'Y'X`3BDhYr/_.^jgH6#ndhnMsS]t1gLh;)AJDMaWZ,k2lpgk-;_O3UGY'l4e* +pRXUQ4"kiDOY^=lMB'I#*bZS/;Hp3ReZ]9NeOBA'SGN3Hk5(;(hAn2i.4GLe=_pUb +]6/HG/!+u'!Y2d?,jil-=BK)A(CM@07PBamC=+);?r`X_Kdrt([chrBCFCnOQS?Jq +V:#G4!)r(iD>1$<C#Zb-s(C&$kUp`JJIDaj^<Z`N9t"1]nioMdDfDSn`s,#f/B.K) +fUVp9\_6YUes;&FQE0>`j&R:7S):t:I[u;b^XCd-YNighI888'b/g@2M@00'k]6"; +BRPN,XI_RW;GpK4'\46d<l1RBZpu6*XF6MX=,I:0>ds`ucMpbJfU/DhgUSreNY<l! +Saj.s)2Nm7I<C5k90#/=fA"b+"D?3:mXb_"H"L/g-MhTYij.j4,N\#V@lZXCld!m^ +bdjIk$!DP!=]qZng5d8T3a0]F27uDr6n?i,h9"sTHC^(I"L%98bjAV>4R=jk@(i!' +l?hA?^m':cqJl]?)@<p4N+.F]:sRWg'buuK-A+lscCoOA\Jq7dJq9jA=9m\*ArT9T +WLTs7<bg;s9!:#f3#$n5ALJ/4(aL%dM'+A&)/L]@+g*#Q\:uc-KQA+a!Tt%c";q:s +)'gD7aVkULUHqdOBs\e\cDWP`3UfA,4X_4;0IUZp>)0bQQo,]h3^'7?cr:A!K[[.9 +*&rT*a>:aO*"YIZlDN.>-+1.ge[6t#6Q[n-e-ZC;L\d[9W`<-$e`mc)Mu$9mICM[I +<3,>p)')R@4bVLbN"VpSdB?,eBqXMH1$7hr/,tk)]jFgkeZi:aX(A#j)n,-YV5.r! +Arr#1F`;r2".:!$N1^h>C?>_,5lUsT`$[o]H#p.-dbJZDj>P3C\[c`]W2/=F"6.3U +`HB_]Pt+M!4FXPh2"JY,VQRGkE(Pn`<6q;ZJ)<R2%(nmP#l>"RcTTKscNN_N"IKP7 +&CU\B5RMs#_F310A2u%Aq&sG[g&W-PZNKdV62ebJ%r'r&mQ=)L>08'IEp!QRhJ-i4 +T!-1#0htDg%1Sb\L'Dcfp*%#chGP#/7@B8#T2S>9efB^8UsZlh<@<.'D]7la-+qYi +D$5[,n/1Xd.t/(L8:3[-oWlkD.n#O-8s<Dhr>15/2.[0k=@iJr,iIb>EU^IIEu:;+ +5DH*q=05e>f@=p,<-rsuP?b0K%9drEjM`ns9)`j[ooGoL=%0=Scnb5'Bs.L=PAS(? +T]6R@#R`265Q.5a5:_,"H:C$,,;tkZjc[pOk0D9-k)>8Sgl)CZ9"Y]0f7*jJ1A"bk +0lFZ"b-b$58VCAOZ[1lEjmo9rMl!Dp@``POZU-80-,43.FM(Cie\!1\2LFE;ga4VP +d;$'o0s)$;T)FKAX>)CY=r"Pfe&M6ubS^T#bA)qO,lGn(d0cRV351d&N1<qH\(B,V +Ti]kCnu)-LTlmVW)dT;>/7T2g>-2,/kKq:/a^c=GBbc7=Srr4S;U:$kj9\5D@I@d9 +NVHRUaIOS'J.hJ(qPq!$`jW>R7YRS05iFrAnhIX;'],`r5U+8Dm%X,_(?4Q+Q54>< +AF/IU_\Y:Z_f@VVKb+<dkBV\Jokr4:,g"W5\qZd2Zp>o>ae9#E>G\<,lR:4ZoBf&2 +I`qGL3j(Mrhil@`E$)rm0lcB*^Q4p4BCe"<RBd1R:I2f51I^NtB>D:dW4,'Ggu<dK +P$#MJ>^j#-KH4ajlQ)+pT.\DLals8I?BVEgAS3s#>3n'@<a9ho=rWDY#t'C17!g)I +lYm+X!gfCH]`f:k&\dN9F//-ekCE*DouEae6mC#8M0dpt>o^_Y#RE5E?fJnL*Z!W; +M?ObRPJYNu11mnUc:1*I)eW'q)/'Q67TFUO\T%1(a3%!sq5Y.$W9)*a>_u^7MV^Vt +dk0/@S/.h<KV!YP/-Lim#dB[dcQ<#saNJ;49/t29GEKf1+'uV%9Ebp/$="IRGZ/rU +YFP"&,K'4E`J-(!?D@V?,FpA>+lm?;F'8pW3co#QRWjMTZ2^K0gk2?4Y;e-epKl=K +<@<^t0"JG.1MWCSXI)I.^,>G3-pDmD7:6^(?KqfjObh9aG?OXVY4[>Z:f`^tKb\kH +Sd$nV!A+dNNNJ4,a2HW;A'2@S\#DN7G>T`$VOc\Lj`c43oDG-M]*]S$D$;@7ASb.L +H,l1'6C.DI57C-EaI&H]6e_D#<jBT:r&9^rhGH.&4n:l3mW?U.D0#:2r$B&nk'i"i +56X1/@1/K!`d>Hl`Xq9*iW`mSC9(Qr\>@jdi`:"?mbAM]?F<dC/5G>9,,gc;KH<V? +]OM(gTH5.#j5/rR-eV[O7L$Iaa_N6t$s=/51Y@:CpYdNI&Z:Ym@K(>DMM<+'JST!^ +h:p+RB(Q38+nb>5d<LJjQ:L93*I_Fj0%B?Tg0Oj(Vf"G*pS2TR4-)!1]<sk<[lcn[ +rok^5<l5UtNf.01#b@HOQch<BpWn>3XdL[q(KOSB"-Y=nF1jqR%@)nm=CaE-B?dEA +j,L'#71$[7gA$nChVU!Cqcu+I)*<'C>CDLUbmN36'j)2OO7G'2]W+T&OuEsFOU=sX +Rj7LsTVN]g5#5ceGT?j$KmktTTW)(1Y,`:PnSE$'hO;HJUqmA%8Z0h`W]m;fg+4hM ++PI<iqP2Du_iV5:%Yp<?e8*]3f-lf8UL[p(m/CPMi*/+Kp&QVYU4C_oAPi-Ap\r=l +5'jE?S%I>"C[4nVeYd5gn[7>@IpC5ZTN-LE4ZAE,1R";^"OPSK:7&*C"+7&uYSC_B +<?r9*D][Rs!c`8,K2AYK;(r42bS?))r'"<H*uXYT16P=5\Cbt%NDjmDq-(_Y0kbV1 +chl.X-]0YiM5"uc(_8ea%i18SY_9+;m8PWRl-m]Cp')j]Tl[j"d%cgD(opeH_Yp%> +dN,g"MJlU2o'p;SCOOb4gkNo3$-Q;skbOc*9,+Zk<nYf8?pQC<+Tu!,/W8VIL\)lu +"35B!O@;`&!f=\7bP;I3qj>DmH`$?L-q^;5-L[AJ/HgWJkWPfZV`]OS50dBr,hPiE +0+TiL'm$VQD,;JW3>C(Ii!iho)&(ZM+`tdVT.2?3l=D"QVG;=b9i"KSc7OT7:8J1P +]N6"E]F0LZ)IK57(fudOKOgS5j[a'd9`]SFP_!2;h>>q7$,-=f,uhS+RF&EK$%6#Q +B_S'l95"'K#AZ]u<OgcAQQ_<q8oN[)biU<^F21t!/J_U5GA,o]bQ=Cg/*ARk?/3L] +/&'gD--f%<5'2LPWEEo#COVrsL6KtT:(DRBe,RRimW/YfKF"7p+^t]a3?gbp80_ZY +lG#!la_ct!%Tfp?&+Lspg*3u6Zj<e>L9F81QK+:(?m.KX=:C@2\`LEAG:;1Kaa&$b +!bWY7A\P6T&;h^j"&_[Xp)DKTZUpYZW@k[LWDS3OrUq)_@^(.:-Eb8XW/Aa[,'dJJ +[U%Og<f:^W/j+8akPgG==tPbXdS.K:s1ufClFCc@*;+_"="$Re:J+:V4di"4kH&UT +g$c2_CeR*E&Fc]].K4_7lFN(`9#pBMC`ZTA@T?F)K2igS@iI)O0p)(g0.<r9bW;[` +BZr>j4Cf\"m'h`;Bke?O)B4C-@EBe)?9!M$B^[4';Q#F_,[dRp$^j8p%#r02"%/Y_ +V0B'*fe>cg1"'n8IjeT_W"W/:CEp]"]"tar)QV4Z9pD<u7#;h(Z`5f+OLHlTaFI5T +)7$RW3Ybd69:):$B9_r[qIbtO>UPjJcEPB,'f;SF-K07`L^V%.n-=I&$-Pjn#pGo8 +`:,/R^lcSI`034>U"jm0hq.V,q/1]9c(.)nH0#c@cf\.EcLIMZ5<<Ee4):J_`l6`e +)#s(9<:B_9?ANl%W7"SRkb'*K%3Q+8<L+,,0i)1d-]Ed77+pV>'BpfZKQ!,pg'Pg3 +1lSNn7,5ihFVo,YM5SSt]:M*IMrA8&1cVm8#9I&F%;/<IW]`uh*.uX4:YYa-r(L_V +]nlXtlfH\[iLgtDCKVOC=j\=n=0Kf[=fpf7qY,1<f*.\3FM6Vech^c]:M.%2k"*hA +9EQU%4&'LgT6+upm_jNVlkKFXZ<b3YI;gf5Zb!PKi85;=HQ#XcjHPcBETlTT2;M5F +j4.F:<']:=#E3m=cp,Fl'+ZV$/mm)]_-XZknS2ROhC[ho7<HY7?mjup\/;^L)<1i? +4uFQd:^rjN7B9EphD;jX0DXJDV8aa?]!V4eC4CD@d*dX/olmP>lhJI[\p0CX3(KmQ +&C4Oqn.6"of4W!+O01+?X0YI_P+bWWF4Iee@gu`"O;VEJQR!Fbk,fS6Ti5N]".`&- +bNiZMZ*0s6e="a>]P:FU?".s\$a3*A(-RE4=3c!g(Liqh'ID_sQaiN1_QU_*YqU`] +Vp@t?,A88YcV'c>L:An)9Lb4cS&,%.:@`WU6!/onnNkI_<X:"U%H8,l6b6020P-YO +7qn/9f4<e_7J`%Es.ggQ%c*))'B38+QFc]*I*(Y-7*Fu0aEks]?"G^o`Ei=,VcZJX +KG]OnD2nD%Hlg^cA>lb/h%eRJ%`nc3nNEBB0A*:TY&n60_3eq7R:qd=c\STB,U<*: +NRUaQ%RO[jnuIhnRo!RgO;K#^7``SS8<4DU6FO[nhqC"&D^gZ$kX:Orh<cmC'TLLR +`$d`N?E9,K_OHl':V..*-)FNE4h_U!>f"cI-SCqP+C$gNLdG\b!;?MJfq[Q.=OBqm +a<B4KSR7hPP@qtuEV%ij1J%e9,Ho&PY$c+8PQ%\l23-3=9!,Shi:3(Q*Su;PWnuHL +7%Qb#d6_qWR(*H&:Rt-OaOFeD6"S+=1(cEBfk=b'Hb@=^01Qai'Y59E7k5PNM5PUf +,@tBqd8OInC\J"4?9mX]YarK-:RkCG1;(RN)'iB=<HGb9R/CH!S?Om!l*n4i5b_;W +c-"t$%lm4I6OT/2AfF.hgnt)S/I2guK#5E\/4_Jd&5=3E,kBX`O9CEZrI#8ABr;\u +Dm9?V,kf!K=*mbB<uO#PRqmRAXbP+J]D($j5$D!Rh0'LO11T.BXg/3V+MN(b1qXGB +JijIblOl`2hueAr8jYjr&I>$P+qEG:^'4%0kjEt'B.6l:RJgS*S_\?#!d1n4ZeZMu +$Kp4546Q@/hh/+6WV$$4<GY,oIWc2Q.k<5&'AUr?4+E!JbN0QhASspX[NVq#C>4bs +T<&i^*;A`p+Md)OmDD(X23=VO)K4,E9LB@RGXKM/:%6d4,Op(eO5[a?$<K&R[0aHK +9jRDAps!>aDQH6rX08?BKcL!7"cppC:\;#>HW@XL9[u)/Q5bOE:#9+=0QJ'%MErle +ONTG!B`/mXR,#?&gSWe8Vn4?-R7T9u,oR'Tj@o87eHgBI7E7K4M$VLQ-hIc)XbfVg +L,V:!%WVp3Se;W&_fZSDQP)%6"\l6D4nXUNSDZaUfqg^,^F8G(`J2pk2<"*h+Tf,t +m%WkKK26]fZ;IK'HqC=o0@=d.7_f664h6eAFLD!S/M/WAaYAR9YoHeHa=suF`h)*_ +_SoBf*?!:Ue"i\J0O7=!(M'<h$#IYp^S99uc$.(Dm"cXR/->#74:JAje^"Cgb4"Rq +[@X,+88p^Y@+uqZm\A%arV-dLJikX=?+3aghKjZ+E^KJpR(AgP,np4TVP:C;K#]o7 ++EfmgZ,-)Ias2P%G=;<7GD5A;;JFmr@':L"C,joZ80>&UmD5o_GH5F(;pOZ)6"*'Q +N:tL)h!H[]G-Si.6K@i?.Y&"8\Y<=8]WG\b)*+fc"Ib+9`mGcn:SV8^%KBK#\&3\s +]t][rBioX?^U'm-%n7tpE+!S`fOGoE>+-0XB<4ljiD]HP%"k)_O^Lskcp"s[pi$gd +LcUWaPE@1'f;*-12:\/@h$p'Yf7!?)KcE6cm\=2g[);SO:fmgE?2gi)nf'RB5"L!u +lf2_Ek.AK.dCm/re1_@?d$lDL;epX*'#!g[fs*o0o_q<iN`#TEd%sTLVGX(]lW&\^ +-=LdX+a0(T.^MmAW2_nP9iWKm73%+ZV!;G7O%'K4f5CC4r+*/mO\SQ8`l/8X<UFYU +:BbBb6jF%p>WQ)Y4/lZF(]S#.5$=-.la',D87Ok_`nul+jY't??FbKrdVGn%[at`; +ME*#Fq%h1_:-V,TEZ8:f=qn(j/PHOF+?S4K#pShD\2SN3gj;,:Ebku0AQ9fIc-?eX +DuWB.6jgYVC!>mTDWtLJ^*PW7cj=X+>Rk`LZ-QoW0H(fRql)8M=WL'*CNant4Zd$i +g[97Vp\["YUp3e!DJYQ9j5M>I36I+0$ItM^>JD%<51\&^60n;'b+mKEJqhe/`5L0T +7,P%:k9""JGX.Z)8E@d>]sijcm?_@feD2K8>u?_M%DSik?%KQ3et.j4B6iZYK+AG. +c+*(OX4+Oa!13VhG9$R=3$^YOPq>Pac`i;RN3>gNA[H]IDg#\>:,<:9o7>(Q;bO$C +eUs)c-8dX(,+V_6\J^eqd[WPN8:^%5F2EFA6h?5]+5J$a*&CF(+Fe,RGJ1c+"`TFo ++G@%M$f-:jir@J4pdP%9WI[bCqTjkb[tSZ6dh=!11<Ul1fd:@/Ek9BmG9ed%W1PPp +j[3ZeDIK0K&M>K-HuOE.*;_AO'jue4TS4mM9k&Qs\cf@.%Pq]DOH7_SoP!"D;^t^_ +]<KPE\lV=96VFim$/@;@PWMRF.1.b<<A_Igj%Ks"OV+`#"n5l5E<@)T5Eg-5VA8/A +i$,(L^m+>%qXQJ#Xf]QNoMhim@rR,XI)s9qdG<G*I,'ULf<<k[**`S5:3WS^enL[, +NLB^c+;]?2;ql\*9LaM&oHXVuqZr>U#Oe?FOo6NKhG1c?%IF?<rQ/(q#U9)ZNJ+e0 +%%i6!j4E"opf>i,&#<RtY+8lc4HG2^%#G"Sm/Lr35E/`XeXc&.!Vm#eGd1M@SXZ7> +.?N'G=0$+Oe>@1bP]u2[J2A%8`NL9fNXVtA`k8UKdrYW/36!Y\cqmVt1IJL*8C4bT +R=pXhZp27ih=]GUH=J65;\<9h0"?#"l<M)<kJij?_E53!:rM:^&2,3,`M/5lTuUoq +b!03l]Tc.Ja<oV]3oY>i2Jl+\>89;?-]9I>0r9Rj>>A;FG*P"d^n]q#j?+N;Kf\XC +E9)A9hu;/#_sP3:?cMu)&QtTTr,XL";pYO5)UZ1T'i0.qU3Wo+phQZMB-_\MVesdh +%QNsEhi&TC4+$goMHW`kneou38J8SZ?I,P1`pe,B*k=uI'\n'"5@W&%"4A+Z407%p +!Wpq^/U+I'rGnCX(W$i[q=pq('1OEB_FS.r'X=$Z<2rW3^'sm:H7>jZG$niT.CT)Q +<f88_N+=,$,)$<+e2J,_+/<9/'UQ&$->USa&8$Tgqr#R"nSCp2Bt8hE"te.t$]uf< +iZB[q8o#X]0Ldm#2:f$l,UY=gHhSu_iQjIH1ZJgQ"gUJK%94rhqbXMFW7rlk4XunW +MN:iWj+R[XleX.%gsJDhW$`:bfi;jte)tJo(5jYVi(qT@I`1H?UTbUU_2EZiV4g2K +44V8+i@Zkq<ZOD0HDJ3*^AZ:nEZjF:$,[#YUuZ0pN8CXL2<Yn[?5FAYCe1AL6MU?7 +1W!\dWpX:C5*8EmYo_lBdB&:s!bksn]uAH1Osj5LY_tYAVe"V3Pk?6RekGpLObO'e +[*fE.,Jlm]db*21rK:;l__@+f6&aeTjNarq+02OXW7.amP-d'fNjCHG2`n28ePi^/ +]P[pM8^]/_opLtj=[!%3)3Q-qBP%9.DXAZX)Gl(&!pBkfgqBbFOE=?-J1r4Km-qi* +UK4HP4)-bB3k2-K[^s6Wmf`Ctn[u_E"b$aao3t-MMaN3$4D6K3&LHu\S0F2nZCib@ +6DHXl>!qLu@,FumF/Uf71/'\AfZ=paJm:(GX?an=GYhkd=5'&M2,f3<T%!H6<Xi$d +=7t!keNe]6Kg2*jI'6o@[ug!$i\Yhh"YTh#37i/`i*JHU!Y<W>Q&Bm3!<NZ0m5Ho_~> +endstream +endobj +55 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -206 +/Flags 6 +/FontBBox [-31 -251 1122 750] +/FontName /FFDOPD+cmr7 +/ItalicAngle 0 +/StemV 99 +/XHeight 434 +/CharSet (/two/A/one) +/FontFile3 56 0 R +>> +endobj +56 0 obj +<< +/Filter /ASCII85Decode +/Length 746 +/Subtype /Type1C +>> +stream +!<<6(!!**$$q<]S:JaG0@r66F!!**$0_cRep`'>0*<Q!V"8E]9q\]eET*tkt*=N^" +qiCUIq18eE;\8\*&,0ECY5#R@!!<6&%Vou;/ho"61+c7>FtG^26Z6phEbT0"F<Du! +.3L?*3A`906=FqLC`lA'+AH9\H#mY1FtOn'Cht4lBkM+$F!+@lF(KB8ARmD#6=EN* +9jo/6Df0Z<+@C'`Ch7*uBl@l?+A??iAS`qb/n8a=2ZNgX"#2Ps!!!W3'*'3V"9JQ( +!!E9t!6bI>qKreQ!]b8@MmN2KZaZP-pQ4;8pBDDQaH+E_aG7bSZNkIH",j-#pt>t0 +P),-ON<je6=B7Y86lTV@]tTW%[ibO9#As>?Mf9_I#7gb83H<)tjS.m4!oUBcb4bu3 +Hgh-[(AKQfWV9-kAHmm)KO0+T#_n'1#)c(m0*_.\o*++'pDD?Q'cQf^q[:^H#pgfb +qZ:T/F/l78UT1>8UMPgEMi/XlUVa(N)s,131,2Bg:JW'_J:E*"J,;_465YQ9M26s+ +D?g[O"%u-(MmN.MZN7T1GP?aaZ3.TPXfd_f['b[q)m]cf?^@jUNKT2A]_<!ApT+S> +q^_o/N/3</E_D=:*b,Gg^5p"<\;.O4ZNk2DMlD+Hqhk1U"d=aoOb+O%#(hG\K8:WH +J,J^<?$TP&?5mAZpN$"s(&&:6eFsRPe-5`/"qGjLpd:MEJY5f2#5_en#9KO+rsT4? +$LS;&PEZIa]W%M3%0~> +endstream +endobj +57 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 690 +/Descent -202 +/Flags 6 +/FontBBox [-57 -250 1139 750] +/FontName /FFDPAH+cmbx12 +/ItalicAngle 0 +/StemV 136 +/XHeight 447 +/CharSet (/h/s/R/i/t/d/u/k/l/m/n/b/o/T/c/p/O/C/e/q/a/f/r/g) +/FontFile3 58 0 R +>> +endobj +58 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 2982 +/Subtype /Type1C +>> +stream +8;Wj;Gu,2f(@Pl!BeIe8%]_F.NrfJS6pWqN'*F$q%P!5V1.I!C3&'-\>V6/IJRJOk +&/SVJ<fXt7%*[WjK3+;U,MC>]O;KjXU1g4,XS$tYIdUg_6)j'cZ@?\5F`l6drP&#Q +^\<)iY=ZUbMBGL=ETP=X)Zj'd8P"ccp[tkopmE#:lp@.HXj!q1o5nb)_h!$M_:n8@ +i"V2d?*&+eas`(6!m-Y"n/\'X^"lY>L\FBbo(DODkNb'N?,lTK9DsJu1(1CaakLii +?9toO^.XghHOBp%3Du8aXcG/8+tLafQF,I<(a,"K__%MB#fDjHP-VPE-2Q6t9%IU- +8q\]Ndd_?SL.mntO=SRHpD/XL[O92Z#5Yt:99B&o@Qb;u6kU-%<'-7^-]%R$Z%*r4 +&k&B%+gN>)i$&JCU6HKAe&Vnt+]_d<,HloIc[%UjUEif#hhrSo^Iu=3=4(M9EAf1\ +_eeXU+8qtenL'oP.8aP0^GM(>^r'DpjB[?B!jiVA+\,'.+hTlD53e"d3Le9[.hi>$ +5AN"5UTFQ)%q2\N&0,(.f\L^@]R?<_HFH5YI)8sceJ\p@dqXS?_3XXB/!W^Q(VH1t +&[eW!QpKsBmu;L234J*hD+WWPNIF!6+F)i*,6B+m:ZMRTI!L;Oa?YL8@2>$bb8oOh +$Sa&"YiTZrcn/mtV2#3c"@7@@!6n[u?aqDLh3]1N'#K<TG'o`pag&u7>@iD0*OM5* +E/3=9)gM9ojRkJA%+KY_0VBCn9J`@_-IH1jMAC421pR3LiVe?,;Zh@\ojqq??bT0> +0&;YO(pW\F;8JORO^Hu#(OgJGpIBs5hfHe676S_H77d@SjmYqu+$PF/$)$Z7%E+Te +BG,>fP:u"Pp_\fs6ESC@*]B,b,F%3)8rV5b^^!VeK/J:6K??L"K]\YW^SC[b]4>cK +2H@F_*GK$Emf5B@:J^s",c?TKof;\H>-3dmbuiT<>^\Vkk(rQQ<jV5Fb&nhE#9Otc +"WBQ-MPgVE0G!r(hgG-CbF)D>LlT/Jf$.O[C\DH,\>+0%/rb6KN2hSc@N'L4Z.i?5 +Cb,F[c'_jCbq5KAb7>@IYaX\i<AX70cBqF'6I.r#H"]5D[*pEsqrCu4P?o&k(`p/o +h8hX;;0&4QWXcnkOcP%n2,)slFu&Va%T!HpB62BR^coAa\TaTo+1Xj0'r=G\0[_@o +(F>rJrhR]p?=M:2,6?AS^9.ErV\l'`1De:fGo,.PNc3H\EK90R\_]GO:\MR<=:UA( +*lo*>pLfD8]m3?H[hcDAV5eN9=(oTbWiW-qE`%NpU_+$pB8es_f`8sKA'J!gNSMel +Gu9.a7$Y4m<OWGEh>NK5>;]NgW%a"e=kF<nE'8XGOLCL8TclfkRHX">W`IFCe!h)F +"M-06p-:0]=LU`?NIqQP+[D:iq<cRaLL>$_T)2@mLMH(`FE)U`K6p(*gaLdlq@6W' +,MR4P_?[_sa;(B$@'^8pfC.pPBORrW<E6HPFn.]-YRD9;$AFWNc]:U+A'h$q>>I6R +P$bDqhZGJ]Xs4^%*XaQFVmHcE5B_D7DNeEMM[H^MaQO!aGQ=>&+@AX#%u<=*_!?%s +(hsI+PL@C:r8@raRum#YqI7L5^Sl@WWmkj)BmE"YF%ULcB4l9Ya4X0-S*-KeaiKo> +7$.0_oOOec`\mOV&njosGX&^d%Ct;*q[hO"ijB!s&-;7_hma0b+3%dZ5ctQPa*R9b +A[HV<e2GhDjmmPKEW^C_WSp9iEE@;sGBiT(]#IpMU.SQgBiA/7=lGllW8Q=56\g]0 +B=4N^-LK#PA"++MHTl!&]>Y0<%ju+u\@e>pPZ6i,r?&H0YmI7ioI\?U:;*ch4mXEm +ENiNHq`n6t&M?38*=('PTO<%Js(/?:V5e^Q>i1&(C45I&[:QVd/PX81Bf4ah+>MNN +\EeI=^:p%"6_CZF0s-*CqYGo^S**cpnLWCLbC9'=55I]Y\*%L'dKXM[UMgJ8i]'<d +P#;@&s7^RF_/#S<f>RFW.XN%saQuKn5YFeWhBJXZ*7Hc7$5,CrH@9G(?8(\>8<?FW +=A3ki6kc>&NL0r=o/`E6L)Rb^T[[2]#j>1kGR#grb0j8sFr]`9c44D5A"j>D<-q7t +oE"$gN#1"#I:lN7nS1h%105)q,@SNtVF+M3+VC/;R:C`S%.iu!2et)aPQmY%N;8/- +?JB^TQ-R5r"gP9!BhSG`g5E^8mJhKfBohKO>U)iJPHi_sef5$/JjUfX2!u6@!e)1] +$_%h.I0F-Ps3]U:,)Jk1rkct@lGobYp!rj*`g53d)$8k*f'`VIY$cYe+(&?k+adh2 +#o=d=(2?^F!)6<S*ViPgK$R/<NR'^/V&PlI@@/Ic">b09MgLDFWpjmH-q`tUT(R2/ +Q`8%ciMFbM&aZ?V74E63agX>#H]/G$i.T'DHe\E::GS\>L``ipL9*Kra1#1+FBhR* +B=-<^)YXsbjao:dNcar5B[b^HQq-3$k[i78Br#qNCPP:D./$*45pu0I!S_OBd(XaH +WGb_r5n:#n2e@j[2dhgo^R1)`QL$tT3ur7m:,)Xu7W>lX<`c?%RGX8Z$B),EB48hp +meeoS-!$6UNnhH7VU9>^PBsP7JdXL&l()A2(!+#(lVS&NC5%DubHJ(NY--n^BW2uR +iF>%BE2X/GYHBo"]UrE:T1[Rg&+hiRs%:c7q:WuRnVF'o5:\W*5:amVW[];Bc):Q& +0%HaQIbn5ETWdB.QZ+m@.:'J=0@'CNo'riC[#<[[WEQI>Z_P90)U^7$s/c?CfN(h; +q#5aZj*P/bZL;=Qs.*(fk=5HAZ[7b(Q9--,aIZNJOV$?UF-@TJae?*-\'k$/=E`0g +hs@@`Bt&Pp@>E?!%#5B#(<GDFrQXuCro(\AX*-(YZXs1)MPu0;fme>l678&S43#=s +VL@T,\aT8iAGY!TlDOXfR.@q6B(0oNh_>etjVDD+kMb48oj*<!_pg+t4Pq#'/E5Ul +#VZ6GQqWS~> +endstream +endobj +59 0 obj +<< +/Type /FontDescriptor +/Ascent 0 +/CapHeight 722 +/Descent 0 +/Flags 4 +/FontBBox [-29 -272 1123 779] +/FontName /FFDPDG+cmsy10 +/ItalicAngle 0 +/StemV 40 +/CharSet (/S/M/bullet/angbracketleft/A/angbracketright) +/FontFile3 60 0 R +>> +endobj +60 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 1300 +/Subtype /Type1C +>> +stream +8;T`s>teI6(rstea4V'911iT#.@bI0,u,9t0Y"&91OOjm+O&'?_6OpdlhI]k5[--= +JU[?`dW6hDCQ!hQ<6*$g-Gkb[$`AoUa`]J87MFS]]oq1gRI;"H#p.H,nidlYs*=VD +jS(bb,*O,tMCRrWC>Z0W<SZ/B*[iPp<D%s-6m,?XOpI:OaH=<V$>DgM'.CgC,Q)co +]L^+0rrM'#!b9pX[UKIR3JqF2`=/q+[^Ytpg-3kf%/Ob*s*oHfm2_KJ:"f'Bnrb=u +Iu1V.`mcfKVp\(N?DG]Ng59B^[EdQATGo_0UWtQ$ma1]DkUM495.<UcVU+MOqS%FW +<D>rjY//VdU[(TC;6DVk%/MkTVoa1BIS8S%2j@9WrZsiM=B8G^3usmU&n4/F=+FtG +$Ik+la?G_+OWcRP$b@[!QRkc.g9N447X-//!rem.F$74IGp6OUJ"jTK@(lIuV;.2r +]k]2=+CeEu-;`[uZug1_FnpL@kE#WGPn3;F+GC\s:_r@CD36:1D=olsn8*A6`!$#Y +ji%F+]A)bnLINJ-5;i5Oq6fr9Hj$C]+;a+p%F395T`F998-`aD0m6JJlnlpN$$.Vj +lFJ^JXeujK?;_`ROpb#7'GugVe.u8PN<2=s2c[VDllX$:7tAC'UHU=3pP3-g"D3bb +?#5TCp'u@ejc4.sST!2+nT"]eW_5ut3E=\?2eIULj9bfMP2m%9gk!Q&r(,F@nC9V< +p]MAm5@(i<"ZbKUO:@(4-7Hg7n6dns*G,teUY7BBEGTf.ks%'F463ZYLH&?p0SqTl +m+`SC$Dt<I)$`ZqTP+??iVZD6(*gg#EKA`7p%q</Kt.bILER.K/tHppGbMY`'K1SG +0;o/8mDe-,bfMm`Qf%%MHeiS0@Jh1$(kd,EP[B&@r/1Fu*5&@2FiP.SW$!$!A]:41 +*>$OB\\`-aX2=I.F?9@W%<Q=K1cV-X!VjW@aUe[+^pjE*s*eLTl4`I"7h*Y&L`aD/ +m)bU[p+sVc@:ko!na%)C!iEJ<I!QEtRMnhqLnBP<B1X`\&U:/SWiDZ'^Xbb82ElJk +P+W1e2:W8Ks7A[-1)))`DM=K_EBH?)O$ni<rJ7nbNpB_%eRPnm?R:puW+VY+/'t-` +E+**U*K<I]'Hc6m!hL1=JQQqFaRM[J'lgb>4qC<'qJD-Q^][bo?pmnY"SLMMq*..U +ThXX)\>%r$BS%$>Jp#Bkk4&SU(G,+``Z9*#*A3[gcV&gfgYG[WH%=][<*EpfROKpG +dkl\C?$%0VXPHad[%+Ck3?Pr::s;F2'`7nG?i]eaf>.~> +endstream +endobj +61 0 obj +<< +/Type /FontDescriptor +/Ascent 615 +/CapHeight 615 +/Descent -230 +/Flags 6 +/FontBBox [-6 -233 539 698] +/FontName /FFDPGJ+cmtt10 +/ItalicAngle 0 +/StemV 73 +/XHeight 434 +/CharSet (/E/braceright/backslash/two/parenright/h/s/less/asciitilde/bracketright/i/t/three/asterisk/d/equal/S/four/j/asciicircum/u/numbersign/I/plus/greater/five/k/comma/v/underscore/U/l/dollar/x/w/m/hyphen/L/H\ +/percent/seven/n/y/X/period/at/M/b/ampersand/o/z/slash/T/c/p/braceleft/nine/O/A/zero/e/D/a/bracketleft/parenleft/bar/one/colon/f/r/g) +/FontFile3 62 0 R +>> +endobj +62 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 7240 +/Subtype /Type1C +>> +stream +8;V.^HW1Z&)P'GTP@uZVFVH/VM3YAU"i85VHk[-Q=F:l`;KZ8B;,GD&Ba>tL_BTV" +89feX&cs6_-l$R-5,prW[HKZ`(/*7b_;1ERY1rC/l([lEc`_\=#AgUaqo?pKo:>@E +h)kB*h2>be!J]XEFT)&YgS1EL47ID_7S*#n-,_7MS3FI3=5`]c3k[r&gJ->]-?Aso +bq;=CcL)d`&>5O"C3MZ!ER*a4e"2qg+*08%,Ud2#aPsueWN*b\V3.`k=iZ[8-Y=dh +7g:A.6:7(l<32'DSs6>/(o5e(T:C$d0gQPMLe(9A`/M/G=2Z@(:H54D3#FK#D>_E' +c1-\aW@<3T1,V'PiBTk1C<Al^V?BmcEo>ZET=JF@q`Nj8)9]9]I'k(:?\`R82rRuG +=Fh+>/W+a:k([@i+Z=0Ak(R5#Nqj$d\N':4NWn?C+HH!TQO9rn$sP=#f",@rDV,/" +&57mc`NoaIJh^\ucn>0S-qeYb1d^-=+sMXV,%J`u`;@K&Ob?<O8KLT13))9tde).h +O1Z2&d^O+21W2)08XE#\gu!)NA7h3aS&\_S,p%]1ZtGchV_<h=m$KYS<XIk_EO-<j +&'g%$_S"m@?h=9<qgYtU7`\@"couTdZ[G&N)Wbbq4c2[cSVk7o,)*D*$0D\IrrB^[ +KYs>-01U^lHDo&Blt1T3S__6:JL8B-%ItdAf"NIM=_iYBG%_i#=Cr<$#l_cE.CD.` +$6DT6Na8L,d:O76%AF-C?`=3m=[m7gRT<X6)NDrpR>(Qq9iGdK:#Q$jPgh\8fL1K: +.:$rN)$l#f)g<?E@s;OeJF)Y;X0Ll*7S+&'@kAJI-Ku8+ej$\9%K67JO$alqlkR9B +F=ta_5bcR`jQ=nTc'`FH*%0GmW\5]B0J+`rk!QGT@\ZY9dBJd];Ie5BN>dXO]NhpV +CCiXYAC$TF$rVrV<?5o#]caT0<7][MD5u`.WTn]Ur9eFt<mN25*)*-cYddclQOlO) +`Z7n@)77EJ93o/Lk#+'h[Yjf]@bS$7dM3bsE)6U1pt>X^rD35Z33o#OgGBD@V7Nge +JZ^)["D]JGRq[YtVUk#?nd68aoj9"R/1rdsBXj6sh/4+ulcU.%\1qK)>[5Ipg[\7& +;O\%IfkFZ5?PDHR<;e_EeeH&61?a\g9tpQl?Z3pd^-,F5f+L-thFLkOHQ-+bXLtY$ +funM9R;HJ,8?%UONWW&es1\M!5KrI1_?(b.HbT)VV`_6Ur?GBS\'EdCDU5Y$C%?;P +7_,Pg:g.>nl'%N/pT<".Xa`HQe*DVO6>Bcr,*>OUHuV&KYHuEZnZ!Ut44<-$dm$Af +YJ)9mI.d?\6+UG%\+&l3CSG;jZ&Li5D4?BH[r^U(e*G;_^<^bm"Po&t;jAA`-@+e= +'>)umFT0QI9pM/j8Ce!S.=I99gj=-ih::p'F0'-Vrk7PFN"j,5L!Ei);b"+(`%7r8 +X__:FNOB[=$HrnkIh<,2i'RUaJJ9C(Qthi,;FB40C:,Uf,7TA?UHspQ=04di.#:>Y +6RVrI=7JZ8*>F)bPc?%SjpKZj#Oe?0#_4$9JlY/;nfD7BK;$.)dudgDSk_Z=c1s4$ +#07&[Gp"1I1!rOL,[jA4ENq^"f$rrc7XjP*0]A*R+<6"C<+TXOM4Z<V8pD_^D-D_4 +Ao2!LGd`3;U=`^R=t+OFCl\A/3h9E6KJu3L:Xki6lKTb*Vl6Q$fYAUqF9Qn%%ZOJj +en?k-$6EHf&LKkBH'(e&dAV,ennJVS&8jqR/VMDGR$UI,0-j?TjM1m3a97[K@N2Za +RA7UPaN>Y/K#PJ]4UQoTZI,%L<Qc^//k7'5=StfJ6SJijV.DpNYR;3P+VDgFQ7ZTX +pKF`u@@4cLZu>-dPa'*R*N@j'>>\EEX!k/&cTcY"3?d9AY;fm]6YG/ZmE[bO_FY*K +S!#hr].).d!ht@PMk^c+Ui`6rkib4"dZHL!_FST=n_D#hoA%5TcgaJDQ>u]]5rd'F +[oGpa!!bSn-FcR`%Xo]*U<sJ3Nb3<F#6`+.OWk++*t7nZil@+,d,L=a8LRacQ^2Vd +P5>b3[Y=Vj]\SiUE97=bpc7*MT0E_*4C`r981.8HmbbQT``krGe4s31]cMN9L]"&X +5OkPI`aNs/hY.;U#).Jh-r/!?o!&QKgLWc1;N%0+&0lB"s!r?@i.:C08.t.$aY1p/ +:4$btF'H>O2SY!WBY3&G;0IG&h\(FRaRsJod5"*'Kgg\!HCDn9_kMAU@Q=;&,A?'9 +d.8\d<F`>adB1`X1*)4e/*Z@IJ.D]AnCFM,gR5*J?.\u<J'Ik0AN6-M\KLhg>-#3X +A2H#WWMu+n9%aiCV-@-,R(?fE50MRrZR]XW4Na<;B<LpYM-6rLD`(.)Oe7',2_7(# +:Xn5Lb6R:l@ZPM(!AF00rPD?<2$I$qM!)V7P5aAIdRT8pj+Z2"E0@Z""q@o0eEMn^ +MrZ;\-_)UD=/1RHFj9cEUYmPZ&nht"SIhQMK+JOmC2i1D]g+tc>KiE08Msh&)E/!I ++GR]!LZOR.*l#H4o+2"nTgJZDA6sF67orr7oq\S)G4Pslh()>A<kZ41I%SjdH^.j9 +CN@/4hnWVQO1Dimb-5S`(cuN:Dl-t;hdIo-K+DHMS#WOQkL1N9#)h?>07U\IOY.?[ +9+(u(M%PFU&SN,@)>=4aj.MURHO&NZT7mC):nbeIrrgOF$"5s7S-8UOj4,4$`0H,& +`_:DX5o2Rc1@@j%")H)ZlrJ[<`HA;kJr#;B+N;;GW1Z6U6[6^7&-rCEn*kc4,!O?h +<tT^\K/FF@UM+FKe?2G)Y'%4oro1KQ3I?N.69FE)O-uMZF79$uhfli-#?l[(p<I=u +RQf^:6r.1?aj[WW9(Y2lq*@_X$sc]..4R75Ta)+TYR*E_f57/9r5s!Cp(o+-H^6Hj +=W+6(][RY[qDEhn`o.>A?4(E1S'Hfb%;6nn%.+k1bZ(RB.8)<hd5'o*:,RJg`EI+u +\X>"T<1#5Wcot<I>'`f81f9`?P)]jhkPCb8Jg%3^N&D[;Pgs0a.>ua'-6".0Q&lh- +<Tk&UJpV;0b;WPt59pu2_D.s($>:9/rSuJPUmt([,E0H&O[c=orJ?aLERl!eM`_Q" +7*4\`9@c_Q\U=2+E"3[e5GEq`peJQ!,kV6K*G64lY_D44/!@u44Q*]76FL[F%L<X% +^d#8?=sAPJR?H39D)AZQ+,QPZc6De&O3`E&"D/og/mF?@Q69i4#$US9j:!Y7$`kR3 +7G^,`fm%F#hrqFW8*"\d%U@m0i:@OH1O.^X04FGTQVmNa/[7-NEcFFK,`L*YBTEq; +8\gH:%+4LlL>et^XCM\M9/u_+F2)Pfr<0D]2Mrt?j3(o2I7.n!@U(74XA"VJr=_-p +='V#cYi$o\C6I]j#?oNLUM'[f?6M9HPT'a4Yu&RM.jl<9&?ogZf"int]/QKD(o6*; +_Jtcemj&kD:6J*BG@D,S7;jhblA$,t+g[Ol!9".O2$h3(Y[n&A@0:.R4<3C.Q>kck +4LTYSPs[O`L@Hr%ZZpi7O=g5og'6Ejs&uk"(@mXA@?Ljh/962/(r407(h#_M$9RFd +@U??a6NkJ,`,7b+:9iD!5KQuLMg7fg+s/'4T3o(Z,j3o?QOoloiN;:BKgB%#iBEBV +'n:Ljhe#n93O8KaDE&"gY`Qd15Fl;kIqdT!N:Lan*T!IJXJkXgS/!]Khrd`)*A7b3 +:_0s[Tl-SHJ&=oTUbS+TM:No\2LA##5t,5t<E2ms=hqC-d=YXuXi(nl.HZn0WmAa* +H&F:C9O(JsOpSDf7./_88^/T$%s^KC.H=$1-l8K(N@&r3`1gB<os7K>$GSSiqB!8L +m\fpMWk49GD&:\Uqd7d,p`4C+mL",7HVn*%C>WDG`(,f!4%bk!GFK++E06+Y7/d(g +FAP,$gJ560FfX8rp25"L*E*oQG5+>6>.l&)(EKIDcB;$[n(cA!`b`*\)B?L=m&hJU +2gu?9YL1i8ejtBSodQM2O%4(N\[-Qp<AfEk[Yb-D"-9(<l3C)VhX0f>=[Hm6'r@1. +8ZE*"I(;9E//)[\`p8s\7&a/5C!i*=1>aiol>=QPQ`M+XaMoth2cS:pe/mNmp"8Eq +\\dIt(i;GL6i<`D,\WUBK:4b,!#l[aUXG"QqXa:HN]Yd'"7]hW0=.I$+V4-F_:BlU +(]UQV=Qm"@,d9TNG*9$>^BPkn%KGp^L.<7n*Zj1s1Be[C5*S(<]#mK+Vd]4!Sp=ii +f4N[0LFn_Shi@IX5%9?Fi%^,XYBW7?f^UZ-LHm\\K)d)`-ht>_a887NiJ-KsKm=lu +<4f[rWOUcQq!jY18Upq4?l;lqR`+[G/r"!QVO7]@R3K(&%jd>;7Ajc43:W=;/`6CZ +88N-JY`VW-(8pE:a0PX0r2`!bET9K%H:hV_pr/hePED?V!&n4dCr`m!O/F]1/;S4T +,(33N;TNQM*6&4cmRiIcaaC0Cne_oU5ia7ijV;=h;`,;4eYUF*e,fjQre;gK1G^DB +b/hY)iMfkh<g9U`VBt2`:L6Cm45fAGiVs?g8d#"]ZS@**LBRi3liB1gq:FK4]DIJH +FO7iu(Y#@]8m\)e4Olk/KSd_bp:+pc?2Z./g=KluX6I:.H?C7YAI.2;UktE^fg.Ha +@C+)AYYNe=4,K6&FJUfpVF\e$dgejHU8S'qL@Yi:``3*H`in<*<]Kfc&YE:ZM*kKC +a./i2k5D2#!J)ap7l1)Aj$NJqn/%!qMg2eGB[RLNhF_\@1XMK44;IVS]%[%[4.XZ4 +=*^oi))lrf+;eQ2FArNYPiV>A,<)*[*"C3*=b"C%a][jGb#HJij$I6>U6_u'\p*o> +nGW30F_3e3cH]6X,AX'D%Th7>h*_<%SfZcoLoc^2j2GCp:W.Bl4>)FgP+?6#gQ!uq +MhD&gV0At;8%^f&j?O^A\#WsSKk;re%1u-U)[TpW;d^a*oD?QE\,3qQgX?bEUR[`* +hOM+!duE?lQu`G4%0E<\9d/*E>=d*SQ+82PPu=i0ItZr,CPRUGhV5iQ2duE>iRXLC +1_*lF__7"qV;j9)dS_k28V5q(iae;>T6kGr@WJW5=3E5i?`.eKH`tI&]Q@CHobtUQ +6bn[%rC2%CR5ACgH?iJA#j?tDq=o<ETD82'6T^lTeG3'C>tfZF<F'+dermiCQhdhX +4cthU>maF^+t!*$)T?$6'a*8n_#'"^jYA*fD3or.muh?&fZW^?#Q%FR%:2>DPtU=` +6tV0#"4)FaPX:j;>9b`B/^b?\nV:=I>H%j7%fPuilB/S'VQcdu>=C"3Fba_2]'ASW +p7U^/+BakT5>r6#V^R4EBBB#?#VHF_M-uJ\Bi.aUaMJ#o$9B:lD!-!+jZ-UZO.E&$ +M+^+4SNY?$BKn^<X7e:No:_]0^?b7Dh4JZ4cL'Bd[aU^Ej.NlS?o';aStKRhI[@hT +`*feJqF0f>O(]6h-g"!roi%AX&0jL;V1*lu+aD6%I2Qk^>:1$2G]@YM07[#&3'?0M +D16&/^dCcdU=FYEAqS8QSYX?i)I(;PL8a7sL5+jQW.sg2W2O[h)T<PP9q8oB;/jH? +(VN8K5$%D@)LCm)D0uh:jN2&_q'H>U>Ngg$d;jA91iD>9NHm@G8'hh@b\mhu5;hm/ +Gd#]NVTLSd.H`brb:mpk+$K.aaC%b/$lCT0A-NZ')"*U2+Br7f*Q*VL@,#h[b$[0n +ap-:rQdaO:))NAO2/ZgATT`2k9iSR*aZVsu_0>tiDt0<RVlX/o^Tm:GR%-AghsG]- +ch"lXR(-XXn2t5SST+au&M@>9Mu(!ciA=.i;N%+0O">r_@5Z,7*7[eFlQ+uB'*u@) +;^`K=]f2/-Ec,:ZMT8$sCTY@2j*jPMes&.pN9n(1Gfo%Y%u)>M6'rMbP381PlZiP? +Le>n1%Su!XB%(M&R#=!L(E`Q67l2W-]WlG!2GLoSqpM-XDeJ\496M'>K1r\)BG6Ea +J8,o[%,1?ge<XU/d_^RoV)9YdSNYmHjhY!C7.lP2!tnI#-I0F?9Olc%07]Q'NLQD_ +X7p(rp[[E2qO?`;ZfgmN\0(q',9de$cGOn_W.o.Y:R'7]dHJA'$o>DemYQPlW15+e +]a'kY'IPVK--*Q/@1p0K_l_fUF,d/R/T>F;NIq&6p'ba)ZK8+1/R7%,dW,JRIN0J' +,3m,7&0)0O]A<"n_I]mX+*,HPc,]RcZ.D;4q-TI(IeC.'T5C?H*`uQp<,qJPD6s8l +^("?>aO"2^973fp<1!(.B9_(n]RM&b?%g76daBeJcL9_1(/qr)@$+?lC>Rh6jiT7% +'lfN3AHtk_cP;Wb"ZSL*O;VM\VaE3q0=^Q;`@Dt\\=pD@c))6JQ4J.Tc.qQ#kF_qn +dmP',^5EWMb]nu+`F!U&MEX.imWW(J1]'MT7K;!4?6?(`.(*&r,BOuHnfB5u<G9Y2 +r:RU)bpPMb)_JlX.&kVupHoQHA9C8*'QP-1?(Ib?aa0)u;(pFU/M6Tn,G[dY+W5`n +K"FpRMt0*WmT'H)m\c3t_>YQ&Z%MU..&HE<,?&-]PmFGr$0(Qa]^<)hV^%([<Lu-c +lX[S18#a928?as2b^<4ijrrtFN?FQ?UqtKMppL(4ADY2H`MY\h6=6p-pE3a=WNLh+ +?E]s.h]T8*@"AM1Y)?ij1r=;T'T@Pa/>4;Moo81I1QruI34fQ(!nfF^UNR<T`8-:. +haMc&b_!)RPr_WCQ:bE@7W6OVg.s_#aJf='5fDWDp2LkUNiYlNaBcj(\KOQ1D3usp +du%(kXQH#d=50p+n)<3dnEQ."+RpX?H4NplG_,'TgG4":>BK)6Vm5;BJs:hkl@i2t +iPY$,Cmh9]+>9BWNO(mPdAitq059kU?]Xikal2=5SMuDBgjgt5>^ufS=(a^=8C9]W +%9>VN0IF6":+$N&/Pnps$TLD:QWNS1X!j\7<eHqVk<s!AHkFIq^&]>OQta>QH9"WW +Gq:]4adHo/jC'Ln;Wu;FE_V/;f:ih+47A[:>iK'79#lm!)NU65X&?!_>a0_sFHkB\ +s/9*9=\JnAO&F>@A99][@OLKKg4UCDi?ha,2V>C<ekiHKk5X+&-_Tg2)l$@?l3#%P +0*:J+n)dXPL[mn*fuW/9bZG[$7[/_Hs/.:jJg8=*hk]<'["\<9$Lp&"`KV%VS.okG +*d(%>*nE-,^<S'l2ku!gG3=f[d+aJ'p%F>,9k!2hG2''5[d3:+#G5P6KU7&fkn\r[ +FYr9)aiB/`oK73O>Uu-G)sm-PiD5[;^;Kk!^]=?"8gs~> +endstream +endobj +63 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -206 +/Flags 6 +/FontBBox [-35 -250 1125 750] +/FontName /FFDPIK+cmti10 +/ItalicAngle 0 +/StemV 91 +/XHeight 445 +/CharSet (/g/h/s/i/t/S/d/j/u/k/l/x/m/L/n/y/X/b/o/T/c/p/quoteright/fi/e/a/f/r/E) +/FontFile3 64 0 R +>> +endobj +64 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 4352 +/Subtype /Type1C +>> +stream +8;WR3HW1Yk*h=HJMMeA"M3<hAi)u[V`IbTig:C9`I%XS1(8t4ALd29-O:WNs%$JY) +-CKPV-l<4CU[gq_#d0oQ6L-p5X_XcCg'ZBQ\ineb]6j8$0D'=H3shSPltO(Yk.gA4 +O8HQ`rdK&f`7kYc;:I6C@e6)D,@=3gOJ`8sia)q7iJ;7ml3d$$"n5drhGEFZC[h"? +"o-A=L$Xl\j2Whb2]$#N!JYmFKeIoN,/WBC8XBVd"g8CG=V[3u=;;U_.4`"Q-S6WE +*k6UHMSS/SYgAYdiF5rY,VUu%E0j[)+A5F0"9i\-8-8Os\&e^G-HhQn'Zl,_Aql3g +ZZ_0-,I0)8j\8kj8TKtV/LtmRi6Gk%Z=Hs[cm2YfFG;HS%,$7!7&&'g6p)iPQ]Im0 ++W2\kJKR,^Z4oT*+\4#=KHWn]*$gu.`1mUSQ&U#5T:nSngl(-nk<8CMM]KV4b^Y7p +mtKRNr7sk,A&XBW1\]-t1lLnKR2mtCfl)G6Gn)`&5PMRrs.4H"a!/9r?6SXST\'`\ +\%Cc_J\dB/N.D3U?[0Y-K^/amAm9mne=`nb:KM(<,kT6k_5qP$oWXA>!u(rKq4$:[ +N%Ur"91<jG_j?-phtP_8-=+0J.,\#bMUI\$[:3h_Y0]&W=]q6I7c";-0GDEBJ//!N +:G@;URYS]\]WHsTT-._!!_&+tcWXfDBK4go@s)?F>b/)>r[*O_\cZ0W0;T%6H;_Y\ +/]?iM[iqkY;\5*2,#i66%qX_=`MVp1Uu,*-UoiHq%sXe@$I%R^6C15N1`?clo&f&' +hu#pm?IF9J-!cZXD,?h.>0EtHM;f!7gNF\.TkQYYM)==*(4mdmA5!El"9VD<g51h[ +SE/Lrn#GBR-C-NNhZ=7!?l>CJRC-9?7=:Z(:q/811BMI3(\-$2`^1Rp`X64pT>1d5 +@D:b7PF/81C\&mW+6T+fAs7eY"rOG3ZDb;aZoY<a:PQrUq*Fd6rZKQsNllC>"94BG +Ef4'ilD7IW:?jWXg2&[0-UH2!i?p\#8meNj4a/!_aqSR_gdf/1-g)qDmV&RpW0X>; +Er>_[GC?c>@uSkomR4l689\.%a>^G;PEEKge5N"s=_1D:'Cj\O<s/S0kP\-+assI6 +a4/PZSAqUgeoClW3V-96op/_(MX_=-ku$aG6c@Y3f/^RX*??3g*<L5i.Ne.LEWm4B +bGf,"5Ic`m3Nag7i'?c6=9N5CQX&?Q:I;7./?(\6l\t'!Ts<"#*ID*m:i`+sd$ce' +U>E!g8+RHlKR#,JiDZ8f1`76h?'*([@WCT>]q?I;\^S+PRZ[e[kudCO>@O<TD"FB_ +27rk_FT^B'hElJB>/9;hk#C1>M_Ubo@r`gnQjoPCE4i9/#BnW'4J`JYZNC:3e,Wfb +W-Xg'n<+[4=JUVi8=,f7XFW6r#WI[*&ms_oT0!haN]L%$7SXcPq+T_<8UEk@,]%Kk +799\L!`A_=^875pX6DCNN-+Zl.o_cL;*o,C!gAA*HMHTPrmbjt2pb3*Rk#1hjUKLR +4jCEYG#=fT/Mi)YWMjL3[TLaR"P=//A!"M6FGXR_pghto\VJN)Z=b1QauQR^=X%?+ ++lFn*!nN!+K@.aWN5FGspKKhO1kqEuck%'4<+b\52L1`Gl5Rn\W\UubP^kF)n-qXA +eX(J]eDXC3CUnH%:?"X*3&Q[i`J^.`;pE!LILYg#fE2e\8l*opSed3E`64l&h5"UF +rJNjFR%pt!QIsU*[s10;'(kj?3*OG"8k4%8m[6u602AKB6&3(mNNC3);I-4L.a$?T +D1rkP.6&$EJ6S]8L9=VHP6SWaXLdK&q]RBbB4"q<ZAJJ]9Z<0*#PZ6sI]c$Z!$Leo +$F%@iUE^F;JFHdI"o-qL^A#7W.IuhAEX;;H'fpCR!W?$No9QUeA-rYA0q.ugqo%B! +=XqN/D0CYn&DX#cNXg/o#)C0#eS0O"hq`>@UJ(C8lM.aZdBIFAl$4/Rhs[qI!#Z"< +a*:tsi!]NB#a0_A]hKfT-F.]h;YQDug=k7FMEVac"/-56L'uT)s8M>2UYRm*85;[M +;.O3>g;#Rr\k7s'1spX?:%=O&E'-U0\W<9#ZFe2u[m9uWIrjH8I=KMfEc#VD[ut.( +CZnh:Lk-HCm=cEP^IE\]9Z%@`&uOjtn(>H[NWnmt^p.2eW)*g"Qf@]fYF]f9FB6+G +17XcI!ZP8rD]l2?*\IbP"=2Um"b/nP%;^WiL'qK%E5tOQl8#l:hE2Z=>a2gSVK2>" +fMm_dSp6j$BAG#jodiPHj&[1k:!f/1-sF3^Y>dQ92KMS_$XS0bVlCqPRf%Q4.'Kel +f%tYOoisg^dZRi`I%t@!(T._j00HeT<k26C.[4^@p.On<,#9i&%_4rUX5,(BgL?!5 +5$TSi1T'UYH.5(45QJN6s"qXV'c#nIh1g,0^0is+%t-C.H2YqSc=ZrF1(3ZWki2P< +4)p[QWK`V>Q1*9]MAch;ng1ip$j&hK%0H(IMiKk$5l$JT\l_^o31/p\AKRhn:JCq3 +8"0]uYOdM7"NhXJeRkqc2\Vg63pbSb^70=c7n$&D<\[!R4%O2p<Eq(9d$EBEI-/i, +j+P7ik`$dMcMZI"#?<dXHgsF.9hghJWM4r[^=MnnFj]m#m`=%5Z6O)%D=@R<An]ml +k`$L8'ep+arOh=OOsbJOob9d@U'YBY5R["Ti2+8]5ot:8;ZR-dr9`oZKMs].a3m5% +!R`]$%9m$e3\PIofPpVNW'Z)J%(&RGC>EUCrEO;k([%eoI!#TWDCYGmld['*<Z+CR +c"/Y5A;Q;AfA);3`?bl5,!Lfl`kX8?*@+Me@m%o/K`]+`93Z"B.;`-iTElR!;VFHE +'F'N*BK);<#-.f#j$]eUbfq]$kd'8Z\Kpt+(+]QHU:Yp4gj?cm3TkV3-fS0I.nfCk +#W<kC.H/r'7pT*.mW=rKggP%MCZ-)#iY5g-e_P4t@k@`$%#%+iTOs,gH@Pd/G/8^b +>mWcr[;)h0Fs4>e*hF2e_ni?PW\&^DlMGKnUW2"c6(*>.i8_YSr^`2#kH/6m6sQjV +ieELu%&OK*$Sa@.TOJ-cDVolVf]8`MF;A'<+`]6O76_uci$?`#X'fgRB?I9tb@uf= +WL'd@mS5\/1s#"j61AlY.lZ`&RW_Ce?<saPBV<TjZ,AS/_d?/k-\"Olol@#9hcO[W +%%WEM@N4Xd1a4=u'YhERl@7poZ*g#SZ/rg9:OMS8SV,ZK>"g6kA'7=lW8nu?g>,4C +!`l.K&r"ueRj!]S6W;<U&o/e)&d4;n!;gog1,q7ACQlIJ\jD1rfKYqANqUu/$;9G" +)$bYXcls%$ndNe?SdRA!Yj\T+hNs<&Iga66*bQcRYt8Yam/o1/.6j)OO33iM<&CWI +K`i"UY!a3qEmu%X++Q];#sCU99T60Mo[LPHA+&7=N26&:fT42NEQJbA2Hn5V4]H?T ++CheX>BbUJ+Rh?M"J/pl\/qq92=YDhPtXVBb"`ce;dMLSA.nn-.7qm5^d7_()F4C3 +I19\;::8hkCd#HB[4)\neV'nZl8j(D0K:&nDK0WBd7onb"=#S/!$A/\[:]?SEKiRg +),;<TF<jp3<&*!/S@fck,L?k)W@*B5k8!bOa@3Q1LG^.]gieF;(ElAr05[Cr*crT$ +e%j`qWc(gl>B$`=a=D7;fc2>SV_c&POj#5p0#RrEnuV)f*dQ44NS*5q"Dr,A_,nG/ +.ho5.7CBRnXlS>I$M)h>k6o'"mIjWU/i&3F)KC'J;PFaA4)!Ya]hWp@.),fC.0Y)O +:!bG/FgTe<A@m+5,51+THhOZ\)]'`idLHbV(*/k^b=Z^@'p8ALeh,#Bn1NdGPlgk! +W2(^U0&C]X@qrDDjjb8sP^&?647#+DG(\XM(!6H`m(97)LA27/cqRpu&;gStN'Y+: +*8GporREii(dO;uV*mZH,&f\QHpEK\48&1R"bb[/7Ll8#)`_j)[URJ#DJn@HBs&_O +XoCRON$(_qPtXrrjQ>Qo5T,a$F5QWG1=+sKNBBgiaS`Y4ZJ:s<Fe1^YQK"EYR'/r@ +<6^S*Oao):Jc6t<+*MCGSK9NeM(6d5'c!Nl<]VqemH?H9=h;=G_rqVtDp5]M4.%rm +PS"shZ9NB^9Q_\lhFBjgdaqm?4G)j?$HZGL0EI6p<`k^9g,YI8aCOAokOGg+@?*>g +I5<MBD#q?kpI+W"pF`hR.K;c<S1?,+;i,05VkQ.''g5i'X">]!r_#s&bg$.+&b"L( +!%!5q[_MISAg`PBS\XF>]k'"6]^jjdd=r;e,b)thV*'@'P&,>&RZ&7h"TKb;<%qK\ +gh__qNGD^SC^&ptpJ&@i`n<MB0l"tjY@m=k-S,]FIt*e^j1k%Y!<rN]"W>;~> +endstream +endobj +65 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -207 +/Flags 6 +/FontBBox [-65 -250 1123 750] +/FontName /FFEAEA+cmsl10 +/ItalicAngle 0 +/StemV 38 +/XHeight 434 +/CharSet (/G/t/U/b/o/T/a) +/FontFile3 66 0 R +>> +endobj +66 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 1433 +/Subtype /Type1C +>> +stream +8;SlpD+ml@(ql9j[r/8_V^ZW!Eo2edKM>mL\;[C1/VoSlRpbD/Rp&F<c:WZ9"u8@L +K!r?p=p5m,Kd,(<@1At%iGa_e0^I3kglH#3N+/*$,V3j'^$q2hgLYl++&C0BcZ@AT +#uMO*P,'olFg#8X@Z0ZMfbhIU[+WIJ"M]NKUVcdSMI/$RDb6lcM274U7&FDE&mD@? +kg15i/-;6r$nO!3,q)(@6udTZr-Rtg@l$j1fYiGR;c.gs+hs\7NCeSSNDE5AfZG\O +AqQ4G`N^:aA%B-8DiJ6A7O+B;Jsk:C]ie]Oe`Xo*/%$j*L6bOk'aj8;PL6>\Po<>M +>M4,3<H!gr`r5oe6*/da:p%u"PnHInZ'0F):_Lmg-\Rq59lNRXL]K8clj;Dg2FO[E +N(Xo6'l)"O]Hr(Z!BrP0,2sne]0W-<`5uVp]X[cj=h+L`cY+&Q_S<urF"MUYGm^-d +eU*\,il8u-2]P6QT^e!(1fH'93uh!#9M#BEk@Jc(Vf=Flj'5iFP>DBgNtbN6*Ku,[ +aqMj1V;23\!FA7VV;FT%q-0AMp&mWeSm@t2^m.XG(P':amW9Ca[\'V&O]Q?(MX#ir +5qtE7!Qh$W-#Dk!GqQlc#0=d3!=J4N$jL"R@*nm?84Jrb\P&X@<I=^sr&9';GWjZh +2YrI/7@uHGfO8fb5em($.L4-fS;#.;?]679XZrN(!p!f$<sG4cdj^>`SckqUNSKB; +1Xa6G940J@88$8]E"*hLiJ9^BT[cSn-t08oB--OB%(D7DDMK:Se_,(+SP/^LNsU/n ++NVCCAJ/BJ=o:`?Tm%RRE<\=Gc[$Nl*qF:K[H9ta=,<g&fJT,8/kq/Sq1L8MC!/>P +<'%'0j\jrQo-&0&g>O9sAl/F_2>1"HG\3?\+7$Jhbr@\\6_8eXd.coms6r%G,mXjs +2ANIKX%jGZATdC,TY&&-Q8afuOTI@a30-QnpYfChg86NIS$.4idFHq'jfQ%+FYOnB +rTA+IUYSEN$Um/C@,3Q!WiRgHLPLbn5?Gs>*3t&*47\mjhZQoeNt:ZVo*j7J6]Go% +-/*bEgHH83cD'Z.lL.9YGjk_nEcnnU5)g\JU329;RIW1<rFtNd4?.p^JX\`B[Y;Qd +g'#%%+jLA\::jfGA(aqk)pJ=*lUUVUW->UmS=]";cbNKi:;e).qA[>;0U.<aO7A?r +F/]*TC(dAafU6$KKJO3R/V:0hT&DBIi\d+C;%-@_m5!enZ,a[=,e>c5H`u?"%a\.` +e/tZk=JYm()GF>X;-LOteie3`Z;RB/aY\\s^WKH0%1aQ<St9V-RNDflen0J<>?RD` +5&T]R\^5<Sm+61^q#Q?g$g$>\EApK+:qJ27(i5nl'SAF9(\enfei7G[jALo&:]:Pu +HS`?EXDM+Z[&9ur?4V_`^#<aI9-jM68!;F&$8;IMNr5L~> +endstream +endobj +67 0 obj +<< +/Type /FontDescriptor +/Ascent 615 +/CapHeight 615 +/Descent -229 +/Flags 6 +/FontBBox [0 -233 669 698] +/FontName /FFECAL+cmitt10 +/ItalicAngle 0 +/StemV 73 +/XHeight 440 +/CharSet (/i/t/l/x/w/y/c/p/e/a/r) +/FontFile3 68 0 R +>> +endobj +68 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 2033 +/Subtype /Type1C +>> +stream +8;W:iCM]27(rtO^[1'"lL$F$r]VgLGLs!*aD0W%_3/')<,%1l^bdJHpb<"Bqlg8Q$ +omZA<Y$JZBKb_Vk``PY6EfnGQ$n3NUMKf/2Jg(PNO:S8cqS@BK-:AKkan]stcBJ;( +rVt3]^^?rH$jL3B=kT:]2jQZWhGU7Po:MF5io^?.T>SarSW]VgbSM!jO)gUZ:-j=] +k@"lirl5!**>YZd+4\Y'`Wn8?VTsZ&@knlWAP.D+s(VJ=$f=f<0._BDW+a[1lY8AZ +H&i=LnG":UcTT5tX]EuoH0*#XMJB\&[9;3gb^2]0kD:OhWH]Vd8uc]n8rBO5<gP<d +Wd/05#5VH#ONXJ0Fe,8c.Gf)ZZW+ZC[.nRE(cJ-m/?P*p.b-*h/V]O"9<^0f)-2<j +_H(/^YY&^P<eYPWO((d6K&'m,VTbL'@ErA#/XTm!b0mR=Dl,+Ec=RsXrYuR<Ag4.4 +48NCCc8:bSGADrLq>MnbA'j];qsg%&@djsJ[aEW;FVkL/%c-Hq^gN4H#JKN]+Ik]2 +QFG]1C<$u_ZF^8W>Xkd=:q42-*gHb@p**+"Z%[NsY!??[.rH;!IhFuW@m<X715A$p +HUFjqQ+F@FCkQhgAA&iXXU4'MjC]f#Cu^!9NVD'CfH(HCG2e@EUt0:'3c)a3pQiBl +J/.WBA(RlVBfBOAVn!2D[b?ZE>b078mHGWbB?PM$VWLbrl7o;Pi>KH@@^>^o/E5%< +kN%`hMuPEEjiCPZVpjB$]`F0)S/h8k:VbGan^6t'7/<D]MP-iq)_XDRl:p8T']tu* +(dE-QC`b>g]L"dI&]$Q$\b%*K)0/6N1QgW/pYA40T6teDgppb.lhC2RKiZnW>I+>i +llMc4[K^Og@6EJE(\&N/Yl`a48/+9h2,sD:ng-r9K\Pa23H7F)'QXimG.0-S&a1jk +KSDZR!!5HIb7?t#%]^Ik\/d1,nH("Hfo8`?M5(=H.]th+8bJuZrI(,fW_oU-S7Ii8 +dpQ]H-Be>CI;>S9`"rY3T'7D9#GB*O^9*Q?=Y-r&#"s#+/SM-NfKn[Fi5a6(HiqRT +nbVI-&\X6uph[(]9PSQq`73fkDQtY1+)eI?<k$&*c_Qe.o].$V2t'51*&Br2\`dmR +Y<NZe`I!Q-4@JOgBGF1*9Tt)/4`hDF&c6t#V3a)3e-\2U,jQ)4JPbm2LkISekJ%kP +"7Zaj&8NYQG.5_-LX^a%kZCi/8O?]rp]&<D')eD5jI:$@;99<N`ZI&b6/3:D$H<Ig +hf]]&cjZ#iAT*Dk;lc0?i2WT]0@M^6o]>(`nu@[DFnN\/?BUD%de];2)W9Fp7=8C) +;RZg>'0AKB@a`rcG..R>;BN7#2NQ1=:M/ch(+i9:OI5`0I$M>78F>'+M6j_nJrYLK +n;f#1=0'SS0&3CR^N(pQlGJIOLQ2d*MrLgB1tD(@e_@M`@dcVS=i%(/@oPf[1mk[/ +.&$F;H$>smatBUG=Y>WQ@eiY"j8+"lq)K+*Z#MSa^@YH.]/?A>#;-El5+.(\@tTRn +L@;G8XWa.(H:&A6DsFWF_:M^bRUm+;C*_d,%E+)XUneYj#<qQ2KlqpAj)-eJW+UuG +R,ug!&U;')gHPD_na&\l^M86uZUs&KO-jWZ4[,$^X$hOUE5BAj08[H`_r[Lfrse,P +T=Cpk2]^5'oPEtD)Z,92@IWZ<m):6_B5;?<=223SaL0b-6JbIE-Tlq%=9G)rrIZ4. +C,6&:Bl5/<[lrLc*>poCBiH@[d46/mIW]M7%P/AHHVFV2fl@>7q[OYJ]+W8@2ODBo +JK(RD<^W@N;$IGGTl(,%%Ypcu4Jh:BMohE6@O@qn,6",;&CA^3e0Eb6LS\LZn2iJo +f,_d_q8_olVE1'KeZP6::D?eG`)P.-TZ3'3L0oFREst9<1U:=`.9NUbpFJjZVT(D7 +lu-aiaotg'1tJ$>@f/*Pj3IX#[#\=`>=1-:#=_WG@Y9e>B<2>6[D^Tn6TqR"*6npZ +8.]B3ReE`!eg+m3G'\&GBn)5^aa(RiqsrKRs*ft)VZ6f![:<MW~> +endstream +endobj +69 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 690 +/Descent -202 +/Flags 6 +/FontBBox [-59 -251 1289 752] +/FontName /FFEDBN+cmbx7 +/ItalicAngle 0 +/StemV 155 +/XHeight 447 +/CharSet (/A) +/FontFile3 70 0 R +>> +endobj +70 0 obj +<< +/Filter /ASCII85Decode +/Length 462 +/Subtype /Type1C +>> +stream +!<<6(!!**$%7WfU6paX!@r5\"2ZNjZ!AX?g!;IN7p`0G2*<Z'R"T'&F".ou)p`0bY +;#?:n"UY!X"nu%/pK8%$>S447fb+8e!<E[GE%rt"0/546:2b;-3Aa*AE-ZJ<B4uB0 +-poF+0f_6N/0I8fF(oG59.h>]@;L41BOu?>+@0g[+AuodBQS;<;Iso\Ecu#)/dapR +95dO5+@^9eFE8QlDes6$@ruF'DCco(AThX$/OD("D.7`K!!!!"5l^m/!!30%"F0cj +%fZXOeQ%OJpD:jN^A"B)^)")`O1)^6LUnGF#Bt?LN-?@oN.-\BNPkK()#(lO`qpPU +1J\4racFQ]_M>uIa!M&gWVHT!R"^!RHlHN!I"$ZrKcg2ir;HkTLbjs=)c$_5T_FK^ +pCR)#pC[;("oF8`%Y'i?:mC^&R8]FVqco6g*h[6I$jjr]pFcofQ'_sgpCNL_$k3~> +endstream +endobj +71 0 obj +<< +/Type /FontDescriptor +/Ascent 0 +/CapHeight 0 +/Descent 0 +/Flags 4 +/FontBBox [-24 -2960 1454 772] +/FontName /FFEFCD+cmex10 +/ItalicAngle 0 +/StemV 65 +/CharSet (/integraldisplay) +/FontFile3 72 0 R +>> +endobj +72 0 obj +<< +/Filter /ASCII85Decode +/Length 525 +/Subtype /Type1C +>> +stream +!<<6(!!**$%RroV7RKQo@r5e%0e`S.!<FtN*!#aS!Vd];p`9P4(^0^R$j3+1"Sa#H +(3:JfE#]%aq3V?[Bb:#T&,0uSY4rG=!!E<'&06(IBl8$(B6%EsA8-+(CghTD/ho"6 +1+c7>FtG^26Z6phEbT0"F<Du!.3L?*3A`906=FqLC`lA'+AH9\H#mY1FtOn'Cht4l +BkM+$F!+@lF(KB8ARmD#6=EN*9jo/6Df0Z<+@C'`Ch7*uBl@l?+A??iAS`qb/n8a0 +GVLlP!!!%'!!.iT!W`<)RJM:@rrO^23?7ckV53T##Cc0<V#eL'q*FKPoc3^['r[h" +Vl4a3Df0]?DG\/X`:l(1pTXB$W?7J;_=qlPpGg(bW#<JHV4dQE\+aeHa-Y*H"2c(O +Tn7W\+)Z4DDJu4kW2H>_VoMfF;YphmqoCI5++@9kqep*D3)f^Q)-$L0G5F@/qela$ +H;aY.,TCiJPad"A%X"K?6_*n#Th_9cqdGcq*hYq$$jko#bR:bYR1'M9P`lLb~> +endstream +endobj +73 0 obj +<< +/Type /FontDescriptor +/Ascent 0 +/CapHeight 722 +/Descent 0 +/Flags 4 +/FontBBox [-15 -270 1257 786] +/FontName /FFEFDE+cmsy7 +/ItalicAngle 0 +/StemV 49 +/CharSet (/infinity) +/FontFile3 74 0 R +>> +endobj +74 0 obj +<< +/Filter /ASCII85Decode +/Length 495 +/Subtype /Type1C +>> +stream +!<<6(!!**$%7WfU7RTZq@r6:42ZNjZ!AX?h!;IQ8p`9M3*Wu0S"T'&F".ou)p`9hZ +I/BWX"R5`Z"nu@8pL4[-AJ)*>ob%6-!<EKBF*MD:Anc-sFEoSn0eY7:/P^5-/NGXT +DfBuBBkM+$+=KT++>Gl:1b9b9@<6.!+A4=09jqj`F(f-./g*GrC`lViB4uC.+Aucl +ATDs*A1e3U@7tN5@3A$XDKKqB6Z6dWARfgrDf.*K9P&BYCb7t+@r6:42ZNgX!AOQT +LB%AV!<e>WHk-/ZEoW12[.jg3!SOOM.]W[G[=K(e#3j_"ardcq"[^An=m[1&&*EQZ +%/1&`pAk(#qZ\W;1/&d'Zj"rQ0tf"Tq[YA(q[<9.jSJrO%Ng8/'duN4l/pRKk2+6O +;8"'f9Ed@S2EW*$p_WZL'iiB[hnn=*p)EGI0eG(E5;5&jcG`p.%X4Q?6^mb#TMM0a +qd>Zo*hYq$$jjQR]F2!1Rg]_1QFdP7~> +endstream +endobj +75 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -206 +/Flags 4 +/FontBBox [-34 -219 1048 750] +/FontName /FFEFEH+cmmi10 +/ItalicAngle 0 +/StemV 29 +/XHeight 445 +/CharSet (/epsilon/less/greater/x/partialdiff/f) +/FontFile3 76 0 R +>> +endobj +76 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 1401 +/Subtype /Type1C +>> +stream +8;Sm[CJ7rT(rjmq[$+Y?@Cj67j8>so`'n&f+U1Bq5S-A]!?i\?`=<5soHq8U_?qmA +p7,Ga02N3`/u>q^gmeI8fEb,HbX`_2$crgG/:J-4qIPN`,DQEFoY^Rfanu#,4R\1P +nSnhlU5?k.7E%\AYLL[)P3f8[-&Y>`(]n86*!8/oE]fi.kD\ul)8JHg@20#'s)`6h +o5db$/2Wlc41LW1E)H8,kCrbMYu2m1.ca3!Mcq<fek6o"Z88i5AY7;YW6f/;jV02/ +\e[kIP?Ra%iE9T4?=$C<YWro/#YQt-AKn*KeKi^X$84rH_Xc_EQ*=Mp'";PnopI08 +7&>brOg%q2O3*(_WDm-#Q71hY_@ORgYr&3uoDeRk_L"$;Xg]7P,H(c;70#q(mip<' +M-*b'*go:m7!$bX3">&YK,]Y;kZ28kAd+KT]HMNG"V!sl,Fn75611MZmB)r$qm1sH +FuX3[@s4:\KZ-Vf-r;P2@'7;GEX.%u=o<"X!"?[T)9+$^CpT>e2Q^68e#<JP")T8K +C`=^^X:_N)iW4F?E+ioC4XbZJ9rg:ToX+hU6&keWFZBX^i>I3ikAq'j^1!LB&=<k] +Ri_%FgDq:WnVECuh3hQI(GK'0ODAtuX>JekkOj/B?BYI2:.$rRJPNAgl#QN,hCc!_ +Uo[US38A$Hghr%\V].G>h&_aS&+jY<^t<;dV]BqB9e`&USElkSSmKV]UX@$=((>6N +,\8?C6^Q3Q'/NO:R:>!-PH=ACB'R5GO5c=OUG^LoIV=.R4+bcHI'EqL%ls589CTeO +Ko]Xu49\gFHVdNE"`2nhC0b<oTiOge-(&:H58F]`U&j)3QCpc!L#7`iL;1S)>'Mp& +U8(%^$1<#g//R:33B!-sB@F\W=E$>/\Ud3/hUMCmTC<(A+-n>!nh)5m>&?1?B!Y[G +/G[>&!mAPUY29!uFtN=sIg[b6%IPuGF3kspn*\)3pGr+eSfeZ)L',"QX[FJI<kG/2 +J4[6.nF(h1"A/%=4KmT(FoXJckonK""5ii*`+CK1`&0:^^jUZinM;:8eLg>>*G0rO +RH;WPU)Hm=I4M!+Fk:feG.sSrSnFkQ9ibYrHT]4k?7eh+GZ2L,kUTOpm:iVai9fo, +n*rd*hOsHK+m,U43jf4Ep,ER-K!7$BSA^H:>uSk6X7*KGq=W"YDiPI<^.%.#HtVL& +#K+@FYZW!6e)E+rSNP=eP#h(7r_c#ghP?X0)KUnM"(2]VETb$aCWj5;KJX)=V+%.W +?lK'/aO;Y>US97JN=E#.;VNSXbBR>rI_g.lg$BDbU!53!JEN_Bg()\h<ZZ):F2LnT +etb3>^_O;6>A'1$eDNA.h6.'?RK-:MLRj!S!?NcV5=(7AF2UkA3uN<)eE>i_,9&K> +R=>AW!*+dJaT~> +endstream +endobj +77 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 690 +/Descent -202 +/Flags 6 +/FontBBox [-62 -250 1195 750] +/FontName /FFEHII+cmbx9 +/ItalicAngle 0 +/StemV 149 +/XHeight 447 +/CharSet (/L/H/M/T) +/FontFile3 78 0 R +>> +endobj +78 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 753 +/Subtype /Type1C +>> +stream +8;UT5h.ons*64\Xo=!5<]jet.Gp'&%dkDR!AJ<$;[92G=0!]V5[ZcS0BoiXJ4[XD> +os-.RFYgn[TPbD7l6+cmWgcV)f,rB<o@UCR,E@T9Ie\?KIKZ<i!'q1p*fo&;3]]7r +kh]f^#<38*OGQ6b*b6VF=ULe]aO_Dcbad(A'bdFPk%GSm%O[9&n\g1uE>"?9@@3': +m#ETVX0t8ED0$3!@e&,>jM=ef\E'q&%]=Am8/MX\,Ea`m(]7]U2E<(\mD;Rh'#m"G +8RYjtMM\]bhqg:)*fKj3JgV>aYq%.miaaMOM[g%W0eH#+&UUu:!0l*u%g$,B2IHdA +!3P\j'SlgU(abL):CM)\CJr8gYc'iV,N*-HKmV0=IPfXA8q"0$f6If-=G2%2Ld?jq +T;!Y8)B/t'[fQRV^kX&J$JpEX@Ck@_-k5R8cb$'EL76p84TbRmhSC3naP^!b],0u@ +rk*-jCQ.""HObt5n5eO64BQO,n-iGTQHMms>aERG`l@&Le[T0N[@4Rt.LV13^Z_SL +NJ1I3k/Q+E_#iMh(>ZBueWedcRU#a!!&(XGm!O!(K&urJ/>I'.I51UM_rIRgr)[JZ +[B_p!U'JX4:(d'.l(CSH$Kq)+buIQsJ3IJ<Teq3TjG*)<6d9OcWNn4[>1A<2Da)fX +AS,>1ro7R%E/q(Vq.elH]$m^[Q*h8)?12>40o#$U])<U\2Xd_'GbVt`]SX#+,?c1r +*\G'Ma`3Co]]K"i$8;H4A0R-~> +endstream +endobj +79 0 obj +<< +/Type /FontDescriptor +/Ascent 517 +/CapHeight 687 +/Descent -14 +/Flags 6 +/FontBBox [0 -250 1077 750] +/FontName /FFEHMJ+cmcsc10 +/ItalicAngle 0 +/StemV 93 +/XHeight 517 +/CharSet (/t/p/f) +/FontFile3 80 0 R +>> +endobj +80 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 700 +/Subtype /Type1C +>> +stream +8;Ued?t!MPA7XbFF*%$Dp!QU\9eK1!1]Rh"r/bOc+iF(BQKa/Uo+).nhi^+Go6FGe +aRY.0s6fc,nn/X%pIKl(EW"]m"kW_*+N2(>aN0]RA>j.>DePs4QX?V*C#YXi:g'$N +Sl)5TiN0"dBPD1TUYqA=S=-/1Xf(*HQr@.XO]nW[i0]_'&-Pm3X:UV"S6AmXR\Ija +Pj"\,S#G82T*H'RcHjU(9eOQ3cdPb\8M*T[d<3li\Wq_s3N\s-J\dm#O<G>)*sNL8 +>_Yn1p:kA;r\KE*=a%"DT!dR)jpK,sXOk4&XSB#OH&L>O%=K2(D<oh(]n/C'\9k"K +GF(\`=6DHpafkI\T>tPFdHDtpo%f^NeV$MpjK>h;k?D*g>@=?+$FYi\Ni[^mo%;N1 +kY@EC,J]n>et!tN`t#IIpUCXYU=a&7.tAD??hn%(P^+5#RLL2secW%r8-<")r`toi +c?G#6Y?q0>fPMr7HT?gXhc7Ee(&]2l%^u3HgOft2VIlfQk4/jq5YM#dMRlmeLfqR( +I`;'.leb'1Lff$`&DOV!DqD._*P4S.E<k4g6NEj-*S[$**@6X*(R.Z#m7ZMB_,^qa +I6Cg%Db&@nCjfM8**g"8A'q%DIB03r"23EO"*TEGG:(C$V$hcHS,$?>U#/2Fhhfh7 +jVGB(kM][don%O)haANWc0OQ^n,`_0!)mdt'E~> +endstream +endobj +81 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 698 +/Descent -207 +/Flags 4 +/FontBBox [-61 -250 999 760] +/FontName /FFEHNK+cmss10 +/ItalicAngle 0 +/StemV 79 +/XHeight 447 +/CharSet (/tilde/h/s/three/i/t/d/u/U/k/l/x/w/W/m/n/M/period/b/o/slash/c/p/fi/e/a/colon/f/r/g) +/FontFile3 82 0 R +>> +endobj +82 0 obj +<< +/Filter [/ASCII85Decode /FlateDecode] +/Length 2726 +/Subtype /Type1C +>> +stream +8;V_ZGuPIO(<:'TbY5$!gc@GI_3p,H3GtK@0%@!S,-nD0#\XLE#(ds`>Teo+$^"Nb +[0BHc)NdIfLci'\=ecrQ7"V\"W'%1'hs!59K0Lo*K%OT1a#hBbaZ]CTq;14S#KK4J +(lmWWSt:kQr-bFlP1.l#Asb.[]G0CCE.5G'5G$dt';<`($([oK+)`Uu7tkk?p1m5* +*t@L4E+I0QRnqJP@YBhTbut@!LZo;/G5`u!SVshd.Q&_..3W]%Cm+[+R=gEUo/)l) +4?Z7bo<FYXad$#nM/d9WRB'47$T>VnbC\d&j3lFsZ1]Etj?>%X\]e!;,+.1d8nFN% +?'6[KR`m]c*N-8cZQIbUD6^Idlu=E>/'JM3_j4_OnJX0BaMbD>]GsSaZ"+7^Kk$`a +Qk[I)0l.V[c+u(m1$2,<+TrR@@lYCG$!k>76Eh(aMS6uGn-&Y7N\&%!oG51RMhtq3 +QUiWA&A926O=k&e=\mFE,aD$qd^F6#>sZ4::O]ptC=(rrS$W5;r6Yr3#5kk@,)jHU +M3/kfiat"[`_h%f7JZKB[q?M^GNmqoX8\M3SJc#%b1XE(h&R>*_eHqGE8Ei&oaUq. +VPhJfRBdaLR7<Zt*rJG;nP\qfa-k@:P?.UAT@!j4ZZka74aXot?-'mP\)F-k5eGKk +s44lPgt_;O^1G]]5JkP?r.=ibXTe_5"6a[@\n7JQqM8l2j'1+If-LUkf;CkuoY'L8 +S80^geCng=@S6UC"g0RQ'Ppc'flWtQ_G0:&Mb,)+b<<MJJF0.V(Ys)IA+:b^U'1q\ +.U&Q,N=YhN,*`"*-1m*Zkj9HCd.Q/Yn5grc^PR1]1%jRk2?>cofSLfk*Rk1I!aD8E +QAXSYVLEGo8M<>+aEBh5T.E0cCjFD0LgncQGMYYN/BThP7UuI3*WE\^*h%oJY`V3k +d"h`upfN%``j<=pAO&OW$F3#Y_Nqq6<A<&5#-1%a@Vt.P/YJ>M;iRIFS]A-\ieZIs +n4'3]T2?0UmnGF1r/kI*!1k8UY*8C#!%?K&;uffi7$&K=DO:];2E;&gn%?mSkUpu) +(kB:0;d8bV%YukP0MTHl[N<gtF7D_uV0h#[BDAUQ;22Bg4NNC159=R&?7QJBiZdX_ +BSBXP>OBt\-%U_`L)Kl(=?ejb4#8@(fs+2O:pB/B?:`pg!0n&_1.%Rhk`V<JW5S71 +oee1W1][.%dn#j^E8LY<_Fb='k.UA`9d"$jKe>Gn<Eq-SGL`cT:+PI%M-584Hp&k@ +X]sPYBnP8#]M)/5;o@,WI]q@EH+1nkaG;AhWDdn7B@hiMcYo-3`a@m=ga:ACVsNr8 +U2`qA,dKh(:D!nC\A(Tc1I7UpJ<_%MiG(sGH#C/Haa'h>5-"t<"\TFJN3"C$\W1KV +i[u)c]@cOA]sYj]Q"=]A&VlTmX?&Nk;ECo(!%n^7_LS7q+-Lj<Z0ogR0!C7.>T(+: +6omE.Viu`[$H-s%Mc_f^5-dKhqF<35@2pd[TpiN3k[J&&oQFfEmlh4u1LoKBkjf=R +_cUBmL_-elWB4F_0E*<q1jb#7^!0csEe`=2`t)8Zpn4!$OEK&3J\2;-C^9_.6g[:@ +#;[73M!o]k?W=ZNFGr79=]gj:%4=p=00HK)!4Vq4rKae<-hm''<c5'65K3$3-$L+> +BoAc5-2BVp\=?d!$5(ro)n92.ac_n,KCMi0\$)>8%O;gh\BNGSaXZV@IAo^lfn><k +=LiRdjP18Yb1U[4k!'#BJo!Bg=4nY*_1<mPA-,_sYQ%RJ\ZqiM79HL'7H!ZC$?SBf +1`2u"QCA/T_us8Drcn1.RqG[4=B'&Kf(.p;K5G:HW]ZDt-M,ej%:ZN5'FKtdF>0sq +L_R^\:XV0#(T+C^hVR&2^(3CHFL\<&0M1]K"R:OMlqf2-QpO)X!p7AOj>73tUM,f$ +?hdK51OJT^$L9E71gt65;@na*9sDk>rH->WC@<(`</ZO]C?`M2I4mc,<#Lh>2Io8k +"\F?4WM1':[Y4fVl&Rl5::g)tPTO_%@c']G3s7%))t6`=kQNXI2%5Fh#oHd\kijc& +0h=&?NBj8$eOtS3=KY@TAQ<[C0=;>fT%AEKHe'[eWPbi.96DrC!0>n(/e`%9GXY7C +i<PY?&[G3,iCfTJ^H+QIX.B!&X8m&E"%kAR7FfiSbDls96=r:X$#J6j2:rr.!!r39 +5t*q`d/H^@=&5HA:^-UGFf8t9-S.r4$XU3uBCEa4qaB[O-KXNP9b#OKpSqTXn\;Zr +&Ee1t<:*</l)ea$%TiU6[3apAXMB$OGjO8ul-/r0;`pONZt+5P3M\jB/0huWH.5</ +8D$df'V"K-5'0@SBgR_=S+/EX"F(9Pf,d&'RG6(TW`)odG\PCqqGSBp!nSunjDf'N +gakZ'qMpTg2uV<_9@gm_l@rpQM`"14gTemC\L:n.>gO3H0I/Puq<Gg$(4'4^&+*N4 +XOA/e%gs?12]S\c*`;*OBa)IOf%R>DUc=DPZ#I'epcrj#V*GYHUrn`1?W[^d"\;`s +_8Q,CR/BeNFWZEr"brQu3"H.\CUn/.=.?N3LjCJ2JKK8rr5^6"ML[6[!c(>>8f7@t +oJt,@SLEttCJZG%1;A6_hLIgG^e+_!LqgeDW8_+EVbRqCg/Q".eeN*e+`/[C=jM@l +)0lOg[HbYb1YG.\N'li-T7eN,S5i$5+*\JX(C(XQ8A:^.M`_1q5;E(3>dq4%0BqZY +\_]9/LDM)K!"P-GFo~> +endstream +endobj +83 0 obj +<< +/Type /FontDescriptor +/Ascent 698 +/CapHeight 687 +/Descent -205 +/Flags 4 +/FontBBox [-26 -251 1268 750] +/FontName /FFEHPN+cmti7 +/ItalicAngle 0 +/StemV 90 +/XHeight 444 +/CharSet (/A) +/FontFile3 84 0 R +>> +endobj +84 0 obj +<< +/Filter /ASCII85Decode +/Length 544 +/Subtype /Type1C +>> +stream +!<<6(!!**$%7WfU85N&3@r6=%2ZNjZ!AX?g!;IN7p`0G2*<Z'R"T'&F".ou)p`0bY +EVke:"SDMA"nu%/pK8%$>S4.6)\N,Q!<E[GE%rt"0/546:2b;-3Aa*AE-ZJ<B4uB0 +-poF+0f_6N/0I8fF(oG59.h>]@;L41BOu?>+@0g[+AuodBQS;<;Iso\Ecu#)/dapR +95dO5+@^9eFE8QlDes6$@ruF'DCco(AThX$/OD("D00JN!!!!"5l^m/!!30%"M4GW +%fZW>j,T&(pJ/$qfCq?#rV'@qitePkO/K4cLT_YZN/`gXOcPtKPD,*ON?3CcOJ.u' +PDthLh"MQfpS.qbq_n\#LfTF[)hj0+M2-h@HPhEuJrq+^[?%`"Y_TG%OGo3ZNffBl +(mBZ8KoI-s?]1J.+$KE7"dFmtOFnKs#(_A[K8(KG"8q/+It`#_H5V0TFG=iUKo1\C +Lk^\3(ke!&Orj@kpRW,o?ME*Xqq))LKa&$2TD1dBpOSu5T*G1#Pm8A'7/mZ%ZO5e% +X-8bV%,7&0$k3~> +endstream +endobj +4 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F1 +/FirstChar 0 +/LastChar 196 +/Widths [612 816 762 680 653 734 707 762 707 762 707 571 544 544 816 816 +272 299 490 490 490 490 490 734 435 490 707 762 490 884 993 762 +272 272 490 816 490 816 762 272 381 381 490 762 272 326 272 490 +490 490 490 490 490 490 490 490 490 490 272 272 272 762 462 462 +762 734 693 707 748 666 639 768 734 353 503 761 612 897 734 762 +666 762 721 544 707 734 734 1006 734 734 598 272 490 272 490 272 +272 490 544 435 544 435 299 490 544 272 299 517 272 816 544 490 +544 517 381 386 381 544 517 707 517 517 435 490 979 490 490 490 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +326 612 816 762 680 653 734 707 762 707 762 1000 1000 707 571 544 +544 816 816 272 299 490 490 490 490 490 734 435 490 707 762 490 +884 993 762 272 490 ] +/Encoding 85 0 R +/BaseFont /FFDOHG+cmr12 +/FontDescriptor 45 0 R +>> +endobj +5 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F2 +/FirstChar 0 +/LastChar 196 +/Widths [642 857 799 714 685 771 742 799 742 799 742 600 571 571 857 857 +286 314 514 514 514 514 514 771 457 514 742 799 514 928 1042 799 +286 286 514 857 514 857 799 286 400 400 514 799 286 343 286 514 +514 514 514 514 514 514 514 514 514 514 286 286 286 799 485 485 +799 771 728 742 785 699 671 807 771 371 528 799 642 942 771 799 +699 799 757 571 742 771 771 1056 771 771 628 286 514 286 514 286 +286 514 571 457 571 457 314 514 571 286 314 542 286 857 571 514 +571 542 402 405 400 571 542 742 542 542 457 514 1028 514 514 514 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +343 642 857 799 714 685 771 742 799 742 799 1000 1000 742 600 571 +571 857 857 286 314 514 514 514 514 514 771 457 514 742 799 514 +928 1042 799 286 514 ] +/Encoding 85 0 R +/BaseFont /FFDOIP+cmr9 +/FontDescriptor 47 0 R +>> +endobj +6 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F3 +/FirstChar 0 +/LastChar 196 +/Widths [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +525 525 525 525 525 525 525 525 525 525 525 1000 1000 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 ] +/Encoding 86 0 R +/BaseFont /FFDOKH+cmtt9 +/FontDescriptor 49 0 R +>> +endobj +7 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F4 +/FirstChar 0 +/LastChar 196 +/Widths [692 958 894 806 767 900 831 894 831 894 831 671 639 639 958 958 +319 351 575 575 575 575 575 869 511 597 831 894 575 1042 1169 894 +319 350 603 958 575 958 894 319 447 447 575 894 319 383 319 575 +575 575 575 575 575 575 575 575 575 575 319 319 350 894 543 543 +894 869 818 831 882 756 724 904 900 436 594 901 692 1092 900 864 +786 864 863 639 800 885 869 1189 869 869 703 319 603 319 575 319 +319 559 639 511 639 527 351 575 639 319 351 607 319 958 639 575 +639 607 474 454 447 639 607 831 607 607 511 575 1150 575 575 575 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +383 692 958 894 806 767 900 831 894 831 894 1000 1000 831 671 639 +639 958 958 319 351 575 575 575 575 575 869 511 597 831 894 575 +1042 1169 894 319 575 ] +/Encoding 85 0 R +/BaseFont /FFDOLK+cmbx10 +/FontDescriptor 51 0 R +>> +endobj +8 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F5 +/FirstChar 0 +/LastChar 196 +/Widths [625 833 778 694 667 750 722 778 722 778 722 583 556 556 833 833 +278 306 500 500 500 500 500 750 444 500 722 778 500 903 1014 778 +278 278 500 833 500 833 778 278 389 389 500 778 278 333 278 500 +500 500 500 500 500 500 500 500 500 500 278 278 278 778 472 472 +778 750 708 722 764 681 653 785 750 361 514 778 625 917 750 778 +681 778 736 556 722 750 750 1028 750 750 611 278 500 278 500 278 +278 500 556 444 556 444 306 500 556 278 306 528 278 833 556 500 +556 528 392 394 389 556 528 722 528 528 444 500 1000 500 500 500 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +333 625 833 778 694 667 750 722 778 722 778 1000 1000 722 583 556 +556 833 833 278 306 500 500 500 500 500 750 444 500 722 778 500 +903 1014 778 278 500 ] +/Encoding 85 0 R +/BaseFont /FFDOMN+cmr10 +/FontDescriptor 53 0 R +>> +endobj +9 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F6 +/FirstChar 0 +/LastChar 196 +/Widths [706 939 877 782 754 843 816 877 816 877 816 678 647 647 970 970 +323 354 569 569 569 569 569 843 508 569 816 877 569 1014 1137 877 +323 323 569 939 569 939 877 323 446 446 569 877 323 385 323 569 +569 569 569 569 569 569 569 569 569 569 323 323 323 877 539 539 +877 843 799 816 860 768 737 884 843 413 583 874 706 1028 843 877 +768 877 829 631 816 843 843 1151 843 843 692 323 569 323 569 323 +323 569 631 508 631 508 354 569 631 323 354 600 323 939 631 569 +631 600 446 453 446 631 600 816 600 600 508 569 1139 569 569 569 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +385 706 939 877 782 754 843 816 877 816 877 1000 1000 816 678 647 +647 970 970 323 354 569 569 569 569 569 843 508 569 816 877 569 +1014 1137 877 323 569 ] +/Encoding 85 0 R +/BaseFont /FFDOPD+cmr7 +/FontDescriptor 55 0 R +>> +endobj +10 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F7 +/FirstChar 0 +/LastChar 196 +/Widths [676 938 875 787 750 880 813 875 813 875 813 656 625 625 938 938 +313 344 563 563 563 563 563 850 500 574 813 875 563 1019 1144 875 +313 343 581 938 563 938 875 313 438 438 563 875 313 375 313 563 +563 563 563 563 563 563 563 563 563 563 313 313 343 875 531 531 +875 850 800 813 862 738 707 884 880 419 581 881 676 1067 880 845 +769 845 839 625 782 865 850 1162 850 850 688 313 581 313 563 313 +313 547 625 500 625 513 344 563 625 313 344 594 313 938 625 563 +625 594 460 444 438 625 594 813 594 594 500 563 1125 563 563 563 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +375 676 938 875 787 750 880 813 875 813 875 1000 1000 813 656 625 +625 938 938 313 344 563 563 563 563 563 850 500 574 813 875 563 +1019 1144 875 313 563 ] +/Encoding 85 0 R +/BaseFont /FFDPAH+cmbx12 +/FontDescriptor 57 0 R +>> +endobj +11 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F8 +/FirstChar 0 +/LastChar 196 +/Widths [778 278 778 500 778 500 778 778 778 778 778 778 778 1000 500 500 +778 778 778 778 778 778 778 778 778 778 778 778 1000 1000 778 778 +1000 1000 500 500 1000 1000 1000 778 1000 1000 611 611 1000 1000 1000 778 +275 1000 667 667 889 889 0 0 556 556 667 500 722 722 778 778 +611 798 657 527 771 528 719 595 845 545 678 762 690 1201 821 796 +696 817 848 606 545 626 613 988 713 668 725 667 667 667 667 667 +611 611 444 444 444 444 500 500 389 389 278 500 500 611 500 278 +833 750 833 417 667 667 778 778 444 444 444 611 778 778 778 778 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +0 778 278 778 500 778 500 778 778 778 778 1000 1000 778 778 778 +1000 500 500 778 778 778 778 778 778 778 778 778 778 778 778 1000 +1000 778 778 1000 778 ] +/Encoding 87 0 R +/BaseFont /FFDPDG+cmsy10 +/FontDescriptor 59 0 R +>> +endobj +12 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F9 +/FirstChar 0 +/LastChar 196 +/Widths [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +525 525 525 525 525 525 525 525 525 525 525 1000 1000 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 ] +/Encoding 86 0 R +/BaseFont /FFDPGJ+cmtt10 +/FontDescriptor 61 0 R +>> +endobj +13 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F10 +/FirstChar 0 +/LastChar 196 +/Widths [627 818 767 692 664 743 716 767 716 767 716 613 562 588 882 894 +307 332 511 511 511 511 511 831 460 537 716 716 511 883 985 767 +256 307 514 818 769 818 767 307 409 409 511 767 307 358 307 511 +511 511 511 511 511 511 511 511 511 511 307 307 307 767 511 511 +767 743 704 716 755 678 653 774 743 386 525 769 627 897 743 767 +678 767 729 562 716 743 743 999 743 743 613 307 514 307 511 307 +307 511 460 460 511 460 307 460 511 307 307 460 256 818 562 511 +511 460 422 409 332 537 460 664 464 486 409 511 1022 511 511 511 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +358 627 818 767 692 664 743 716 767 716 767 1000 1000 716 613 562 +588 882 894 307 332 511 511 511 511 511 831 460 537 716 716 511 +883 985 767 256 511 ] +/Encoding 85 0 R +/BaseFont /FFDPIK+cmti10 +/FontDescriptor 63 0 R +>> +endobj +14 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F11 +/FirstChar 0 +/LastChar 196 +/Widths [625 833 778 694 667 750 722 778 722 778 722 583 556 556 833 833 +278 306 500 500 500 500 500 809 444 500 722 778 500 903 1014 778 +278 278 500 833 500 833 778 278 389 389 500 778 278 333 278 500 +500 500 500 500 500 500 500 500 500 500 278 278 278 778 472 472 +778 750 708 722 764 681 653 785 750 361 514 778 625 917 750 778 +681 778 736 556 722 750 750 1028 750 750 611 278 500 278 500 278 +278 500 556 444 556 444 306 500 556 278 306 528 278 833 556 500 +556 528 392 394 389 556 528 722 528 528 444 500 1000 500 500 500 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +333 625 833 778 694 667 750 722 778 722 778 1000 1000 722 583 556 +556 833 833 278 306 500 500 500 500 500 809 444 500 722 778 500 +903 1014 778 278 500 ] +/Encoding 85 0 R +/BaseFont /FFEAEA+cmsl10 +/FontDescriptor 65 0 R +>> +endobj +23 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F12 +/FirstChar 0 +/LastChar 196 +/Widths [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +525 525 525 525 525 525 525 525 525 525 525 1000 1000 525 525 525 +525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 +525 525 525 525 525 ] +/Encoding 86 0 R +/BaseFont /FFECAL+cmitt10 +/FontDescriptor 67 0 R +>> +endobj +27 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F13 +/FirstChar 0 +/LastChar 196 +/Widths [773 1073 1002 897 860 1002 931 1002 931 1002 931 762 726 726 1089 1089 +363 399 647 647 647 647 647 968 576 669 931 1002 647 1163 1305 1002 +363 397 668 1073 647 1073 1002 363 505 505 647 1002 363 434 363 647 +647 647 647 647 647 647 647 647 647 647 363 363 397 1002 612 612 +1002 968 914 931 985 844 809 1012 1002 479 666 1003 773 1215 1002 968 +879 968 960 718 897 985 968 1323 968 968 789 364 668 364 647 363 +363 629 718 576 718 592 399 647 718 363 399 683 363 1073 718 647 +718 683 535 512 505 718 683 931 683 683 576 647 1294 647 647 647 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +434 773 1073 1002 897 860 1002 931 1002 931 1002 1000 1000 931 762 726 +726 1089 1089 363 399 647 647 647 647 647 968 576 669 931 1002 647 +1163 1305 1002 363 647 ] +/Encoding 85 0 R +/BaseFont /FFEDBN+cmbx7 +/FontDescriptor 69 0 R +>> +endobj +31 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F14 +/FirstChar 0 +/LastChar 196 +/Widths [458 458 417 417 472 472 472 472 583 583 472 472 333 556 578 578 +597 597 736 736 528 528 583 583 583 583 750 750 750 750 1044 1044 +792 792 583 583 639 639 639 639 806 806 806 806 1278 1278 811 811 +875 875 667 667 667 667 667 667 889 889 889 889 889 889 889 667 +875 875 875 875 611 611 833 1111 472 556 1111 1511 1111 1511 1111 1511 +1056 944 472 833 833 833 833 833 1444 1278 556 1111 1111 1111 1111 1111 +944 1278 556 1000 1444 556 1000 1444 472 472 528 528 528 528 667 667 +1000 1000 1000 1000 1056 1056 1056 778 667 667 450 450 450 450 778 778 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +0 458 458 417 417 472 472 472 472 583 583 1000 1000 472 472 333 +556 578 578 597 597 736 736 528 528 583 583 583 583 750 750 750 +750 1044 1044 792 778 ] +/Encoding 88 0 R +/BaseFont /FFEFCD+cmex10 +/FontDescriptor 71 0 R +>> +endobj +32 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F15 +/FirstChar 0 +/LastChar 196 +/Widths [893 339 893 585 893 585 893 893 893 893 893 893 893 1139 585 585 +893 893 893 893 893 893 893 893 893 893 893 893 1139 1139 893 893 +1139 1139 585 585 1139 1139 1139 893 1139 1139 708 708 1139 1139 1139 893 +329 1139 770 770 1016 1016 0 0 647 647 770 585 831 831 893 893 +708 918 753 620 889 616 818 689 979 647 782 872 792 1343 936 906 +809 936 981 702 648 718 720 1135 819 764 823 770 770 770 770 770 +708 708 524 524 524 524 585 585 462 462 339 585 585 708 585 339 +939 859 954 494 770 770 893 893 524 524 524 708 893 893 893 893 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +0 893 339 893 585 893 585 893 893 893 893 1000 1000 893 893 893 +1139 585 585 893 893 893 893 893 893 893 893 893 893 893 893 1139 +1139 893 893 1139 893 ] +/Encoding 87 0 R +/BaseFont /FFEFDE+cmsy7 +/FontDescriptor 73 0 R +>> +endobj +33 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F16 +/FirstChar 0 +/LastChar 196 +/Widths [615 833 763 694 742 831 780 583 667 612 772 640 566 518 444 406 +438 497 469 354 576 583 603 494 438 570 517 571 437 540 596 626 +651 622 466 591 828 517 363 654 1000 1000 1000 1000 278 278 500 500 +500 500 500 500 500 500 500 500 500 500 278 278 778 500 778 500 +531 750 759 715 828 738 643 786 831 440 555 849 681 970 804 763 +642 791 759 613 584 683 583 944 829 581 683 389 389 389 1000 1000 +417 529 429 433 521 466 490 477 576 345 412 521 298 878 600 485 +503 446 451 469 361 572 485 716 572 490 465 322 384 636 500 278 +667 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +0 615 833 763 694 742 831 780 583 667 612 1000 1000 772 640 566 +518 444 406 438 497 469 354 576 583 603 494 438 570 517 571 437 +540 596 626 651 278 ] +/Encoding 89 0 R +/BaseFont /FFEFEH+cmmi10 +/FontDescriptor 75 0 R +>> +endobj +40 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F17 +/FirstChar 0 +/LastChar 196 +/Widths [711 986 920 827 789 924 855 920 855 920 855 690 657 657 986 986 +329 362 592 592 592 592 592 893 526 617 855 920 592 1071 1202 920 +329 360 618 986 592 986 920 329 460 460 592 920 329 394 329 592 +592 592 592 592 592 592 592 592 592 592 329 329 360 920 559 559 +920 893 841 855 907 777 744 930 924 446 611 926 711 1122 924 889 +808 889 887 657 823 909 893 1222 893 893 723 329 618 329 592 329 +329 575 657 526 657 543 362 592 657 329 362 625 329 986 657 592 +657 625 488 467 460 657 625 855 625 625 526 592 1183 592 592 592 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +394 711 986 920 827 789 924 855 920 855 920 1000 1000 855 690 657 +657 986 986 329 362 592 592 592 592 592 893 526 617 855 920 592 +1071 1202 920 329 592 ] +/Encoding 85 0 R +/BaseFont /FFEHII+cmbx9 +/FontDescriptor 77 0 R +>> +endobj +41 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F18 +/FirstChar 0 +/LastChar 196 +/Widths [683 903 844 756 728 814 786 844 786 844 786 553 553 319 319 524 +302 424 553 553 553 553 553 814 494 916 736 824 636 975 1092 844 +319 319 553 903 553 903 844 319 436 436 553 844 319 378 319 553 +553 553 553 553 553 553 553 553 553 553 319 319 844 844 844 524 +844 814 771 786 829 742 713 851 814 406 567 843 683 989 814 844 +742 844 800 611 786 814 814 1106 814 814 669 319 553 319 553 319 +319 613 580 591 624 558 536 641 613 302 424 636 513 747 613 636 +558 636 602 458 591 613 613 836 613 613 502 553 1106 553 553 553 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +378 683 903 844 756 728 814 786 844 786 844 1000 1000 786 553 553 +319 319 524 302 424 553 553 553 553 553 814 494 916 736 824 636 +975 1092 844 319 553 ] +/Encoding 90 0 R +/BaseFont /FFEHMJ+cmcsc10 +/FontDescriptor 79 0 R +>> +endobj +42 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F19 +/FirstChar 0 +/LastChar 196 +/Widths [542 833 778 611 667 708 722 778 722 778 722 583 536 536 814 814 +239 267 500 500 500 500 500 667 444 481 722 778 500 861 972 778 +239 319 500 833 500 833 758 278 389 389 500 778 278 333 278 500 +500 500 500 500 500 500 500 500 500 500 278 278 319 778 472 472 +667 667 667 639 722 597 569 667 708 278 472 694 542 875 708 736 +639 736 646 556 681 688 667 944 667 667 611 289 500 289 500 278 +278 481 517 444 517 444 306 500 517 239 267 489 239 794 517 500 +517 517 342 383 361 517 461 683 461 461 435 500 1000 500 500 500 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +333 542 833 778 611 667 708 722 778 722 778 1000 1000 722 583 536 +536 814 814 239 267 500 500 500 500 500 667 444 481 722 778 500 +861 972 778 239 500 ] +/Encoding 85 0 R +/BaseFont /FFEHNK+cmss10 +/FontDescriptor 81 0 R +>> +endobj +43 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F20 +/FirstChar 0 +/LastChar 196 +/Widths [735 956 897 807 779 866 838 897 838 897 838 737 678 707 1061 1075 +368 398 603 603 603 603 603 954 544 633 838 838 603 1028 1146 897 +310 368 603 956 880 956 897 368 486 486 603 897 368 427 368 603 +603 603 603 603 603 603 603 603 603 603 368 368 368 897 603 603 +897 866 823 838 881 793 764 904 866 455 617 895 735 1042 866 897 +793 897 852 662 838 866 866 1160 866 866 721 368 603 368 603 368 +368 603 544 544 603 544 368 544 603 368 368 544 310 956 662 603 +603 544 500 486 398 633 544 779 544 574 486 603 1206 603 603 603 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 +427 735 956 897 807 779 866 838 897 838 897 1000 1000 838 737 678 +707 1061 1075 368 398 603 603 603 603 603 954 544 633 838 838 603 +1028 1146 897 310 603 ] +/Encoding 85 0 R +/BaseFont /FFEHPN+cmti7 +/FontDescriptor 83 0 R +>> +endobj +85 0 obj +<< +/Type /Encoding +/Differences [ 0/Gamma 9/Psi 10/Omega 13/fl 127/dieresis +] +>> +endobj +86 0 obj +<< +/Type /Encoding +/Differences [ 0/Gamma 9/Psi 10/Omega 13/quotesingle 127/dieresis +] +>> +endobj +87 0 obj +<< +/Type /Encoding +/Differences [ 0/minus 9/circleminus 10/circlemultiply 13/circlecopyrt 127/spade +] +>> +endobj +88 0 obj +<< +/Type /Encoding +/Differences [ 0/parenleftbig 9/bracerightbig 10/angbracketleftbig 13/vextenddouble 127/arrowdblbt +] +>> +endobj +89 0 obj +<< +/Type /Encoding +/Differences [ 0/Gamma 9/Psi 10/Omega 13/gamma 127/tie 128/kappa1 +] +>> +endobj +90 0 obj +<< +/Type /Encoding +/Differences [ 0/Gamma 9/Psi 10/Omega 13/quotesingle 127/dieresis +] +>> +endobj +1 0 obj +<< +/Type /Page +/Parent 16 0 R +/Resources 3 0 R +/Contents 2 0 R +>> +endobj +17 0 obj +<< +/Type /Page +/Parent 16 0 R +/Resources 19 0 R +/Contents 18 0 R +>> +endobj +20 0 obj +<< +/Type /Page +/Parent 16 0 R +/Resources 22 0 R +/Contents 21 0 R +>> +endobj +24 0 obj +<< +/Type /Page +/Parent 16 0 R +/Resources 26 0 R +/Contents 25 0 R +>> +endobj +28 0 obj +<< +/Type /Page +/Parent 16 0 R +/Resources 30 0 R +/Contents 29 0 R +>> +endobj +34 0 obj +<< +/Type /Page +/Parent 16 0 R +/Resources 36 0 R +/Contents 35 0 R +>> +endobj +37 0 obj +<< +/Type /Page +/Parent 16 0 R +/Resources 39 0 R +/Contents 38 0 R +>> +endobj +16 0 obj +<< +/Type /Pages +/Kids [1 0 R 17 0 R 20 0 R 24 0 R 28 0 R 34 0 R 37 0 R] +/Count 7 +/MediaBox [0 0 595 842] +>> +endobj +91 0 obj +<< +/Type /Catalog +/Pages 16 0 R +>> +endobj +92 0 obj +<< +/CreationDate (D:19990311142354) +/Producer (Acrobat Distiller Command 3.0 for Solaris 2.3 and later \(SPARC\)) +>> +endobj +xref +0 93 +0000000000 65535 f +0000126422 00000 n +0000000016 00000 n +0000006981 00000 n +0000105654 00000 n +0000106650 00000 n +0000107648 00000 n +0000108643 00000 n +0000109646 00000 n +0000110645 00000 n +0000111646 00000 n +0000112650 00000 n +0000113660 00000 n +0000114657 00000 n +0000115656 00000 n +0000049630 00000 n +0000127007 00000 n +0000126503 00000 n +0000007183 00000 n +0000015190 00000 n +0000126587 00000 n +0000015373 00000 n +0000024061 00000 n +0000116658 00000 n +0000126671 00000 n +0000024253 00000 n +0000029737 00000 n +0000117657 00000 n +0000126755 00000 n +0000029909 00000 n +0000038973 00000 n +0000118690 00000 n +0000119719 00000 n +0000120732 00000 n +0000126839 00000 n +0000039200 00000 n +0000045012 00000 n +0000126923 00000 n +0000045193 00000 n +0000049264 00000 n +0000121733 00000 n +0000122737 00000 n +0000123740 00000 n +0000124739 00000 n +0000049507 00000 n +0000049702 00000 n +0000049964 00000 n +0000052861 00000 n +0000053126 00000 n +0000056296 00000 n +0000056536 00000 n +0000058218 00000 n +0000058531 00000 n +0000063335 00000 n +0000063841 00000 n +0000072531 00000 n +0000072756 00000 n +0000073594 00000 n +0000073860 00000 n +0000076950 00000 n +0000077193 00000 n +0000078601 00000 n +0000079151 00000 n +0000086499 00000 n +0000086784 00000 n +0000091244 00000 n +0000091475 00000 n +0000093016 00000 n +0000093253 00000 n +0000095394 00000 n +0000095613 00000 n +0000096167 00000 n +0000096381 00000 n +0000096998 00000 n +0000097205 00000 n +0000097792 00000 n +0000098046 00000 n +0000099555 00000 n +0000099780 00000 n +0000100640 00000 n +0000100861 00000 n +0000101668 00000 n +0000101966 00000 n +0000104800 00000 n +0000105018 00000 n +0000125747 00000 n +0000125844 00000 n +0000125950 00000 n +0000126071 00000 n +0000126210 00000 n +0000126316 00000 n +0000127131 00000 n +0000127182 00000 n +trailer +<< +/Size 93 +/Root 91 0 R +/Info 92 0 R +/ID [<67f1d58ce8379c9c975c05c701d94e63><67f1d58ce8379c9c975c05c701d94e63>] +>> +startxref +127315 +%%EOF diff --git a/macros/plain/formats/startex/startex.bib b/macros/plain/formats/startex/startex.bib new file mode 100644 index 0000000000..48593d20c0 --- /dev/null +++ b/macros/plain/formats/startex/startex.bib @@ -0,0 +1,70 @@ +@string{AW=Addison-Wesley} + +@unpublished{varioref, + author = "Frank Mittelbach", + title = "The \texttt{varioref} package", + note = "Part of the \LaTeXe{} distribution.", + month = may, + year = 1995} + +@unpublished{taylor, + author = "Philip Taylor", + title = "{\TeX}: an unsuitable language for document markup?", + note = "Talk given at the Euro\TeX{} 1995 conference; does not + appear in the proceedings.", + date = sep, + year = 1995} + + + +@InProceedings{etex, + author = {Philip Taylor}, + title = {{\(\varepsilon\)-\TeX}: + a 100\%-compatible successor to {\TeX}}, + booktitle = {Euro\TeX'95}, + year = 1995, + month = sep, + pages = {359-370} +} + +@Unpublished{fontname, + author = {Karl Berry}, + title = {Fontname}, + note = {Available from \textsc{ctan} in \textsf{info/fontname}}, + year = 1998, + month = jul +} + +@unpublished{auc, + author = "Kresten Krab Thorup", + title = "{AUC} \TeX", + note = "An Emacs mode for editing \AllTeX{} code; available from + \textsf{http: //www.iesd.auc.dk/\textasciitilde{}amanda/auctex/}.", + year = 1996} + +@book{latex, + author = "Leslie Lamport", + title = "\LaTeX{} user's guide and reference manual", + publisher = AW, + year = 1994} + +@book{joy, + author = "Michael Spivak", + title = "The joy of \TeX", + publisher = "\AMS", + year = 1986, + note = "The guide to \AmSTeX."} + +@unpublished{html30, + title = "HyperText markup language specification version 3.0 draft", + author = "Dave Raggett", + note = "Available at + \textsf{http: //www.w3.org/pub/WWW/MarkUp/html3/}.", + year = 1995, + month = mar} + +@book{texbook, + author = "Donald E. Knuth", + title = "The \TeX{}book", + publisher = AW, + year = 1991} diff --git a/macros/plain/formats/startex/startex.dtx b/macros/plain/formats/startex/startex.dtx new file mode 100644 index 0000000000..7b1181d926 --- /dev/null +++ b/macros/plain/formats/startex/startex.dtx @@ -0,0 +1,2734 @@ +\def \CodeVersion {1.04} +\def \CodeDate {11th March 1999} +% +% \iffalse ^^A Comment out driver code, so LaTeX can read this file as it is. +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{varioref,amssymbols} +\EnableCrossrefs +\RecordChanges +\CodelineIndex +\renewcommand{\levelchar}{?} + +\title{The \starTeX{} source code} +\author{Dag Langmyhr\\ Department of Informatics\\ + University of Oslo\\[3mm] + \textsf{dag@ifi.uio.no}}% +\date{Version \CodeVersion, \CodeDate} + +\newcommand{\hex}[1]{\texttt{``#1}} +\newcommand{\stcs}[1]{\texttt{<#1>}} +\newcommand{\stenv}[1]{\stcs{#1}\dots\hspace{0.1pt}\stcs{/#1}} +\newcommand{\ParX}{\texttt{\textit{x}}} +\newcommand{\ps}{\textsc{Post\-Script}} +\newcommand{\starTeX}{Star\TeX} +\newcommand{\xx}{\textit{x}} + +\newfont{\StdECR}{ecrm1000} +\newfont{\CompECR}{tcrm1000} + +\begin{document} +\maketitle + +\DoNotIndex{\#,\$,\&,\\,\{,\},\^,\_,\~} +\DoNotIndex{\active,\advance,\alpha} +\DoNotIndex{\begingroup,\beta,\bgroup} +\DoNotIndex{\catcode,\Cdef,\chi,\csname} +\DoNotIndex{\day,\def,\Delta,\delta,\Df,\dots,\dump} +\DoNotIndex{\edef,\egroup,\endcsname,\endgraf,\endgroup,\epsilon,\eta} +\DoNotIndex{\Gamma,\gamma,\gdef,\global} +\DoNotIndex{\halign,\hangafter,\hangindent,\hbadness,\hbox,\hfil,\hfuzz} +\DoNotIndex{\hoffset,\hrule,\hsize} +\DoNotIndex{\iota,\input,\inputlineno} +\DoNotIndex{\kappa,\kern} +\DoNotIndex{\Lambda,\lambda,\language,\LaTeX,\leavevmode,\leftskip,\let,\llap} +\DoNotIndex{\magstep,\magstephalf,\mathcode,\message,\month,\mu} +\DoNotIndex{\newbox,\newcount,\newdimen,\newif,\newlinechar,\newread} +\DoNotIndex{\newskip,\newwrite,\next,\Next,\noalign,\nu} +\DoNotIndex{\obeylines,\obeyspaces,\offinterlineskip,\Omega,\omega} +\DoNotIndex{\openin,\openout,\over} +\DoNotIndex{\pageno,\par,\parindent,\parskip,\penalty,\Phi,\phi,\pm,\Pr} +\DoNotIndex{\Pi,\pi,\Psi,\psi} +\DoNotIndex{\raggedright,\Re,\relax,\rightskip,\rho,\rlap} +\DoNotIndex{\setbox,\Sigma,\sigma,\space,\string,\strut,\supereject} +\DoNotIndex{\tau,\TeX,\the,\Theta,\theta,\time,\times,\TmpA,\TmpB,\tolerance} +\DoNotIndex{\topinsert} +\DoNotIndex{\tracingcommands,\tracingmacros,\tracingoutput,\tracingrestores} +\DoNotIndex{\uccode,\unskip,\Uparrow,\Updownarrow,\uppercase,\Upsilon,\upsilon} +\DoNotIndex{\varepsilon,\varphi,\varpi,\varrho,\varsigma,\vartheta} +\DoNotIndex{\vbox,\vdots,\vfill,\voffset,\vrule,\vsize,\vskip} +\DoNotIndex{\wd} +\DoNotIndex{\Xi,\xi} +\DoNotIndex{\year} +\DoNotIndex{\zeta} + +\DeleteShortVerb{\|}\MakeShortVerb{\"} +\DocInput{startex.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{2563} +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +% \tableofcontents +% +% \RecordChanges +% \StopEventually{\PrintIndex\PrintChanges} +% +% \section{The \starTeX{} format} +% \begin{macrocode} +%<*code> +% \end{macrocode} +% This file contains the documented source code of \starTeX{}, a +% simplified and more robust \TeX{} format intended for students +% writing their first report or essay. For more information on +% \starTeX{}, see the other files accompanying this. +% +% The main guidelines for this implementation are: +% \begin{itemize} +% \item \starTeX{} is implemented on top of plain \TeX{}. +% +% \item All names defined in the \starTeX{} implementation contain +% at least one uppercase letter, like \cs{Cdef} or \cs{NewEnvir}. +% This makes it easier to distinguish +% them from \TeX's internal names and the names defined in plain +% \TeX{}, nearly all of which consist of lowercase letters only. +% +% \item Most \TeX{} macro packages tend to use a rather terse +% programming style, like +% \begin{quote} +% \verb*:\advance\var\@ne: +% \end{quote} +% This improves processing speed and reduces storage, but make the +% code more difficult to read. Since this is a package which aims to +% be easily understandable and adaptable, I will use a more verbose style: +% \begin{quote} +% \verb*:\advance \var by 1: +% \end{quote} +% \end{itemize} +% To avoid possible confusion, \starTeX{} commands will be called +% \emph{commands} in this document, while \TeX{} commands will be +% called \emph{macros}. +% +% \subsection{States} +% \begin{macro}{\State} +% To avoid improper nesting, such as use of \stcs{psfig} within a +% \stcs{table}, we introduce a global state variable. Its values are +% given in table~\ref{tab:states}. +% \begin{table} +% \begin{center} +% \begin{tabular}{|c|l|} +% \hline +% \textbf{Value}& \textbf{State}\\ +% \hline\hline +% \texttt{x}& Ordinary body text\\ +% \texttt{p}& Inside a \stcs{psfig} caption\\ +% \texttt{t}& Inside a \stcs{table} caption\\ +% \texttt{r}& Inside a \stcs{table} row\\ +% \hline +% \end{tabular} +% \end{center} +% \caption{The possible values of \cs{State}}\label{tab:states} +% \end{table} +% The initial state is body text: +% \begin{macrocode} +\let \State = x +% \end{macrocode} +% \end{macro} +% +% \subsection{Command handling} +% \begin{macro}{\Command} +% \starTeX{} uses the syntax \stcs{\xx} for its commands rather than +% the usual \cs{\xx}. This is easily implemented by making "<" an +% active character calling the macro \cs{Command}. The command name is +% the text between the "<" and a subsequent ">". +% +% \cs{Command} first checks whether the command immediately +% follows a "<define>" in which case it is being defined; +% \cs{DefineCmd} handles that. Otherwise, \cs{Command} converts the +% command name into lowercase and +% checks whether it has been defined. If so, it is called; +% otherwise an error message is produced and the command is ignored. +% \begin{macrocode} +\def \Command #1>{\ifDefining + \def \Next {\lowercase{\DefineCmd{#1}}}% + \else + \lowercase{\expandafter\ifx \csname >#1\endcsname}\relax + \Error{Unknown command <#1> ignored.}{}% + \let \Next = \relax + \else + \def \Next {\lowercase{\csname >#1\endcsname}}% + \fi + \fi \Next } +% \end{macrocode} +% \end{macro} +% The "<" character must be bound to \cs{Command}: +% \begin{macrocode} +{\catcode `\< = \active \global\let < = \Command } +% \end{macrocode} +% +% \subsubsection{Internal form of command names} +% All \starTeX{} commands are represented by a \TeX{} macro whose name +% is constructed by \cs{csname}. To avoid confusion with predefined +% \TeX{} macros, an initial ">"\footnote{The character \texttt{>} was +% chosen as it cannot possibly occur in a command name.} +% is inserted; for example, the name of \stcs{h1} is +% represented by "\csname >h1\endcsname". +% +% \begin{macro}{\Cdef} +% To simplify the declaration of \starTeX{} commands, the macro +% \cs{Cdef} is defined. It takes two parameters: "#1" is the command name +% (with no uppercase letters and no angle brackets), and +% "#2" is the command definition. +% \begin{macrocode} +\def \Cdef #1#2{\expandafter\gdef \csname >#1\endcsname{#2}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\Ccall} +% In case we need to call \starTeX{} commands from \TeX{} code, a +% \cs{Ccall} macro is introduced. +% \begin{macrocode} +\def \Ccall #1{\csname >#1\endcsname} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{User-defined commands} +% \begin{macro}{<define>} +% \begin{macro}{\ifDefining} +% The implementation of \stcs{define} is a little sneaky; it just sets +% a flag \cs{ifDefining}. When the following command name is +% found, the \cs{Command} routine checks the state of the flag and +% calls \cs{DefineCmd} when the flag is raised.\footnote{This means that +% the user can insert text between the \stcs{define} and the command +% name, and this will be typeset as normal text. There is a +% slight chance that this might confuse some users, but I prefer this +% solution to using much more complicated code.} +% \begin{macrocode} +\newif \ifDefining +\Cdef {define}{\Definingtrue} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\DefineCmd} +% The command \cs{DefineCmd} is used to define a new user command; +% "#1" is the new command name (already translated into lowercase) and +% "#2" is the definition. +% The main job of \cs{DefineCmd} is to check whether the definition is +% legal. There are two reasons why it may not be legal: +% \begin{itemize} +% \item The definition may be nested, as in +% \begin{quote} +% "<define><comm-1>...<define><comm-2>..." +% \end{quote} +% This is checked using a counter \cs{CallLevel} which is +% incremented whenever a user-defined command is called, and +% decremented on return; see the definition of \cs{Call} and +% \cs{Return} below. +% +% \item The command may already be defined. +% \end{itemize} +% If the definition is legal, \cs{FetchDef} is called to perform the +% actual defining. +% \begin{macrocode} +\def \DefineCmd #1{\Definingfalse + \ifnum \CallLevel>0 + \Error{Nested definitions are not allowed;}% + {the definition of <#1> is ignored.}\let \Next = \relax + \else + \expandafter\ifx \csname>#1\endcsname\relax + \def \Next {\begingroup \catcode`\^^M = 12 \FetchDef{#1}}% + \else + \Error{Command <#1> already defined;}{this definition ignored.}% + \def \Next {\begingroup \catcode`\^^M = 12 \IgnoreDef{#1}}% + \fi + \fi \Next } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\FetchDef} +% \cs{FetchDef} defines the macro by using everything up to the +% end-of-line mark as the definition. This implies modifying the +% \cs{catcode} of the end-of-line character ("^^M"). Also note +% that calls on \cs{Call} and \cs{Return} are inserted into the +% definition. +% \begin{macrocode} +\begingroup \catcode`\^^M = 12 + \gdef \FetchDef #1#2^^M{\expandafter% + \gdef\csname>#1\endcsname {\Call #2\Return }\endgroup }% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\IgnoreDef} +% I also define \cs{IgnoreDef} which is quite similar to +% \cs{FetchDef}, but no command is +% defined. It is used to ignore the rest of the line in case +% the user tries an illegal definition. +% \begin{macrocode} + \gdef \IgnoreDef #1#2^^M{\endgroup }% +\endgroup +% \end{macrocode} +% \end{macro} +% \begin{macro}{\CallLevel} +% Finally, we must declare the user command level counter +% \cs{CallLevel}: +% \begin{macrocode} +\newcount \CallLevel +% \end{macrocode} +% \end{macro} +% \begin{macro}{\Call} +% \begin{macro}{\Return} +% We must also define the two commands used for incrementing and +% decrementing the counter: +% \begin{macrocode} +\def \Call {\global\advance \CallLevel by 1 } +\def \Return {\global\advance \CallLevel by -1 } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Catcode modifications} +% \starTeX{} uses only one special character: "<", which must be +% active. All the other special characters of \TeX{} and \LaTeX{} are +% assigned suitable \cs{catcode}s turning them into ordinary +% characters. +% +% \begin{macro}{\SpecialCatCodes} +% \cs{SpecialCatCodes} sets the \cs{catcode}s to the \starTeX{} +% values: +% \begin{macrocode} +\def \SpecialCatCodes {% + \catcode `\\ = 12 \catcode `\{ = 12 \catcode `\} = 12 + \catcode `\$ = 12 \catcode `\& = 12 \catcode `\# = 12 + \catcode `\^ = 12 \catcode `\_ = 12 \catcode `\~ = 12 + \catcode `\% = 12 \catcode `\< = \active } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\StandardCatCodes} +% \cs{StandardCatCodes} restores the \cs{catcode}s to their normal +% values. This is necessary when reading for instance style files. +% \begin{macrocode} +\def \StandardCatCodes {% + \catcode `\\ = 0 \catcode `\{ = 1 \catcode `\} = 2 + \catcode `\$ = 3 \catcode `\& = 4 \catcode `\# = 6 + \catcode `\^ = 7 \catcode `\_ = 8 \catcode `\~ = \active + \catcode `\% = 14 \catcode `\< = 12 } +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Environments} +% A \starTeX{} environment is a piece of text enclosed in a +% \stcs{\xx}\dots\stcs{/\xx} pair. +% +% \begin{macro}{\NewEnvir} +% \cs{NewEnvir} is used to start a new environment. It has three +% parameters: "#1" is the name of the environment, "#2" is +% the \TeX{} commands used to start the new environment (usually just +% a \cs{begingroup}), and "#3" is +% the \TeX{} commands used to terminate the environment (usually just +% a \cs{endgroup}). +% +% \begin{macro}{\PrevEnv} +% \begin{macro}{\PrevEnvLine} +% \begin{macro}{\CurEnv} +% \begin{macro}{\CurEnvExit} +% \begin{macro}{\CurEnvLine} +% \cs{NewEnvir} saves information about the current environment's name +% (in \cs{CurEnv}), the line on which it starts (in \cs{CurEnvLine}) and +% which command is used to exit it (in \cs{CurEnvExit}). It also keeps +% tracks of the outer environment's name (in \cs{PrevEnv}) and start line +% (in \cs{PrevEnvLine}) for better error reporting and error recovery. +% \begin{macrocode} +\def \NewEnvir #1#2#3{#2\relax + \let \PrevEnv = \CurEnv \PrevEnvLine = \CurEnvLine + \def \CurEnv {#1}\def \CurEnvExit {#3}\CurEnvLine = \inputlineno } +% \end{macrocode} +% We need default definitions of \cs{CurEnv} and \cs{CurEnvExit}: +% \begin{macrocode} +\def \CurEnv {}\def \CurEnvExit {\relax} +% \end{macrocode} +% We also need to declare the two line counters: +% \begin{macrocode} +\newcount \CurEnvLine \newcount \PrevEnvLine +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\EndEnvir} +% \cs{EndEnvir} is used to terminate an environment. It check that the +% correct environment is terminated, and tries to correct user +% mistakes. It checks for the following situations: +% \begin{itemize} +% \item If the name of the environment to be terminated is the same as +% that of the current environment, everything is OK, and we can safely +% leave the current environment. +% +% \item If the name of the terminated environment is not the name of +% the current one, but matches the name of the outer environment, +% we assume that the user has forgotten a \stcs{/\xx} command. +% An error message is given, and both the current environment and the +% outer one are terminated. +% +% \item If the name of the terminated environment matches neither the +% current nor the outer environment, we assume that the user has just +% misspelled the command. The best thing we can do in this case is to +% give an error message and ignore the command. If the user had +% intended to terminate the current environment, we get erroneous +% processing of the following text, but the situation will normalize +% when the outer environment is terminated. +% \end{itemize} +% \begin{macrocode} +\def \EndEnvir #1{% + \ifTextEqual{#1}{\CurEnv}\let \Next = \CurEnvExit + \else \EnvirError{#1}\fi + \Next } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\EnvirError} +% \cs{EnvirError} is an auxiliary command giving a proper error +% message and placing---in \cs{Next}---the best command to recover +% from the error. +% \begin{macrocode} +\def \EnvirError #1{\ifTextEqual{#1}{\PrevEnv}% + \Error{<\CurEnv> on line \the\CurEnvLine\space terminated by + </#1>.}{An extra </\CurEnv> has been inserted.}% + \def \Next {\CurEnvExit \CurEnvExit }% + \else + \Error{<\CurEnv> on line \the\CurEnvLine\space terminated by + </#1>.}{The </#1> will be ignored.}% + \let \Next = \relax + \fi } +% \end{macrocode} +% \end{macro} +% +% \subsection{Document styles} +% \begin{macro}{<style>} +% The command \stcs{style} is called to read a document style. It +% calls \cs{ReadStyle} to do the actual work. +% \begin{macrocode} +\Cdef {style}{\IfNextChar{[}{\ReadStyle}% + {\Error{No style name given;}{the syntax is: <style>[style name].}}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ReadStyle} +% \begin{macro}{\StyleLine} +% \cs{ReadStyle} reads the style file (with extension +% \texttt{.stx}) using the standard \TeX{} \cs{catcode}s. Afterwards, the +% \stcs{style} command is redefined, since \stcs{style} should be +% called once only. Also, the current line number is saved (in +% \cs{StyleLine}) in case it is needed later in an error message. +% \begin{macrocode} +\def \ReadStyle [#1]{\IfFileExists{#1.stx}% + {\edef \StyleLine {\the\inputlineno}% + \Cdef {style}{\Error{Command <style> already used on line + \StyleLine;}{this use of <style> is ignored.}}% + \StandardCatCodes \input #1.stx + \SpecialCatCodes }% + {\Error{Style file `#1.stx' could not be found;}% + {style definition ignored.}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{Fonts} +% \starTeX{} allows the user a limited amount of font selection: +% \begin{itemize} +% \item use of \textbf{bold text} using \stcs{b}\dots\stcs{/b}, +% +% \item use of \textit{italic text} using \stcs{i}\dots\stcs{/i}, and +% +% \item use of \texttt{typewriter text} using \stcs{tt}\dots\stcs{/tt}. +% \end{itemize} +% All other font changes, including font size changes, are done by the +% document style. +% +% Since the font change commands mentioned above may be combined, +% \starTeX{} uses an internal font naming scheme in which a font name +% consists of five parts, as shown in table\vref{tab:fontname}. For +% example, the font ``Standard bold roman italic normal-size'' is +% represented internally as "F-RSBIN". +% +% \begin{table} +% \begin{center} +% \begin{tabular}{|l|l|l|l|l|} +% \hline +% \textbf{Kind}& \textbf{Alternate}& \textbf{Bold}& +% \textbf{Italic}& \textbf{Size}\\ +% \hline\hline +% "R" (Roman)& "S" (Standard)& "M" (Medium)& "U" (Upright)& +% "X" (Extra large)\\ +% "T" (Teletype)& "A" (Alternate)& "B" (Bold)& "I" (Italic)& +% "L" (Large)\\ +% &&&& "N" (Normal)\\ +% &&&& "S" (Small)\\ +% \hline +% \end{tabular} +% \end{center} +% \caption{The five parts of the internal \starTeX{} text font name} +% \label{tab:fontname} +% \end{table} +% +% \begin{table} +% \begin{center} +% \begin{tabular}{|l|l|l|} +% \hline +% \textbf{Size}& \textbf{Position}& \textbf{Family}\\ +% \hline\hline +% "X" (Extra large)& "N" (Normal)& "0" (Roman math)\\ +% "L" (Large)& "S" (Script)& "1" (Italic math)\\ +% "N" (Normal)& "X" (Scriptscript)& "2" (Math symbols)\\ +% "S" (Small)& & "3" (Large math symbols)\\ +% & & "4" (Bold math)\\ +% & & "5" (Extended italic math)\\ +% & & "6" (AMS symbols B)\\ +% \hline +% \end{tabular} +% \end{center} +% \caption{The three parts of the internal \starTeX{} math font +% name}\label{tab:mathfont} +% \end{table} +% +% \subsubsection{Font definitions} +% \begin{macro}{\FontDef} +% The macro \cs{FontDef} is used to define a \starTeX{} font pair. To be +% more precise, it defines which \TeX{} font specifications to use for +% each internal \starTeX{} font name. "#1" gives the font kind, "#2" +% the boldness, "#3" whether the font is italic or not, and "#4" the font +% size. Two fonts are defined for each +% internal \starTeX{} name: the standard Cork encoded font (in "#5") +% and the additional companion font (in "#6"). +% \begin{macrocode} +\def \FontDef #1#2#3#4#5#6{% + \expandafter\def \csname F-#1S#2#3#4\endcsname {#5}% + \expandafter\def \csname F-#1A#2#3#4\endcsname {#6}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\MathFontDef} +% Similarly, \cs{MathFontDef} is used to define a math font. "#1" is +% the size, "#2" is the family, and "#3"--"#5" are the three fonts to +% be used as math text font, script font and scriptscript font. +% \begin{macrocode} +\def \MathFontDef #1#2#3#4#5{% + \expandafter\def \csname M-#1N#2\endcsname {#3}% + \expandafter\def \csname M-#1S#2\endcsname {#4}% + \expandafter\def \csname M-#1X#2\endcsname {#5}} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Predefined fonts} +% The following fonts are predefined, which means that they are the +% fonts the user will get unless the document style dictates +% otherwise. +% +% The fonts used are the so-called \emph{EC fonts}. +% Since there are no bold typewriter characters in this set, +% ordinary typewriter characters are used instead. +% +% Also defined are various size dependant values: +% \begin{description} +% \item[\cs{LineSkip}\ParX{}] line skip, and +% +% \item[\cs{CodeSkip}\ParX{}] line skip in code listings. +% \end{description} +% +% \paragraph{Normal size fonts} +% An 11 point (actually 10.95 pt) font is the standard text font. +% \changes{1.02}{1998/01/12}{Changed from `dc' to `ec' fonts.} +% \begin{macrocode} +\def \XIpt { at 10.95pt} +\FontDef{R}{M}{U}{N}{ecrm1095}{tcrm1095} +\FontDef{R}{M}{I}{N}{ecti1095}{tcti1095} +\FontDef{R}{B}{U}{N}{ecbx1095}{tcbx1095} +\FontDef{R}{B}{I}{N}{ecbi1095}{tcbi1095} +\FontDef{T}{M}{U}{N}{ectt1095}{tctt1095} +\FontDef{T}{M}{I}{N}{ecit1095}{tcit1095} +\FontDef{T}{B}{U}{N}{ectt1095}{tctt1095} +\FontDef{T}{B}{I}{N}{ecit1095}{tcit1095} +\MathFontDef{N}{0}{cmr10\XIpt}{cmr8}{cmr6} +\MathFontDef{N}{1}{cmmi10\XIpt}{cmmi8}{cmmi6} +\MathFontDef{N}{2}{cmsy10\XIpt}{cmsy8}{cmsy6} +\MathFontDef{N}{3}{cmex10\XIpt}{cmex10\XIpt}{cmex10\XIpt} +\MathFontDef{N}{4}{cmbx10\XIpt}{cmbx8}{cmbx6} +\MathFontDef{N}{5}{ecti1095}{ecti0800}{ecti0600} +\MathFontDef{N}{6}{msbm10\XIpt}{msbm8}{msbm6} +\def \LineSkipN {12pt} \def \CodeSkipN {11pt plus 0.0pt minus 0.1pt} +% \end{macrocode} +% +% \paragraph{Large fonts} +% The slightly larger characters are 14.4 pt. +% \begin{macrocode} +\def \XIVpt { at 14.4pt} +\FontDef{R}{M}{U}{L}{ecrm1440}{tcrm1440} +\FontDef{R}{M}{I}{L}{ecti1440}{tcti1440} +\FontDef{R}{B}{U}{L}{ecbx1440}{tcbx1440} +\FontDef{R}{B}{I}{L}{ecbi1440}{tcbi1440} +\FontDef{T}{M}{U}{L}{ectt1440}{tctt1440} +\FontDef{T}{M}{I}{L}{ecit1440}{tcit1440} +\FontDef{T}{B}{U}{L}{ectt1440}{tctt1440} +\FontDef{T}{B}{I}{L}{ecit1440}{tcit1440} +\MathFontDef{L}{0}{cmr12\XIVpt}{cmr10}{cmr8} +\MathFontDef{L}{1}{cmmi12\XIVpt}{cmmi10}{cmmi8} +\MathFontDef{L}{2}{cmsy10\XIVpt}{cmsy10}{cmsy8} +\MathFontDef{L}{3}{cmex10\XIVpt}{cmex10\XIVpt}{cmex10\XIVpt} +\MathFontDef{L}{4}{cmbx12\XIVpt}{cmbx10}{cmbx8} +\MathFontDef{L}{5}{ecti1440}{ecti1000}{ecti0800} +\MathFontDef{L}{6}{msbm10\XIVpt}{msbm10}{msbm8} +\def \LineSkipL {15pt} +% \end{macrocode} +% +% \paragraph{The extra large fonts} +% The largest fonts are 17.28~pt. +% \begin{macrocode} +\def \XVIIpt { at 17.28pt} +\FontDef{R}{M}{U}{X}{ecrm1728}{tcrm1728} +\FontDef{R}{M}{I}{X}{ecti1728}{tcti1728} +\FontDef{R}{B}{U}{X}{ecbx1728}{tcbx1728} +\FontDef{R}{B}{I}{X}{ecbi1728}{tcbi1728} +\FontDef{T}{M}{U}{X}{ectt1728}{tctt1728} +\FontDef{T}{M}{I}{X}{ecit1728}{tcit1728} +\FontDef{T}{B}{U}{X}{ectt1728}{tctt1728} +\FontDef{T}{B}{I}{X}{ecit1728}{tcit1728} +\MathFontDef{X}{0}{cmr17}{cmr12\XIVpt}{cmr9} +\MathFontDef{X}{1}{cmmi12\XVIIpt}{cmmi12}{cmmi9} +\MathFontDef{X}{2}{cmsy10\XVIIpt}{cmsy10 at 12pt}{cmsy9} +\MathFontDef{X}{3}{cmex10\XVIIpt}{cmex10\XVIIpt}{cmex10\XVIIpt} +\MathFontDef{X}{4}{cmbx12\XVIIpt}{cmbx12}{cmbx9} +\MathFontDef{X}{5}{ecti1728}{ecti1200}{ecti0900} +\MathFontDef{X}{6}{msbm10\XVIIpt}{msbm10 at 12pt}{msbm9} +\def \LineSkipX {17pt} +% \end{macrocode} +% +% \paragraph{Small fonts} +% A smaller font for footnotes and other special text is 10~pt. +% \begin{macrocode} +\FontDef{R}{M}{U}{S}{ecrm1000}{tcrm1000} +\FontDef{R}{M}{I}{S}{ecti1000}{tcti1000} +\FontDef{R}{B}{U}{S}{ecbx1000}{tcbx1000} +\FontDef{R}{B}{I}{S}{ecbi1000}{tcbi1000} +\FontDef{T}{M}{U}{S}{ectt1000}{tctt1000} +\FontDef{T}{M}{I}{S}{ecit1000}{tcit1000} +\FontDef{T}{B}{U}{S}{ectt1000}{tctt1000} +\FontDef{T}{B}{I}{S}{ecit1000}{tcit1000} +\MathFontDef{S}{0}{cmr10}{cmr7}{cmr5} +\MathFontDef{S}{1}{cmmi10}{cmmi7}{cmmi5} +\MathFontDef{S}{2}{cmsy10}{cmsy7}{cmsy5} +\MathFontDef{S}{3}{cmex10}{cmex10}{cmex10} +\MathFontDef{S}{4}{cmbx10}{cmbx7}{cmbx5} +\MathFontDef{S}{5}{ecti1000}{ecti0700}{ecti0500} +\MathFontDef{S}{6}{msbm10}{msbm7}{msbm5} +\def \LineSkipS {11pt} +% \end{macrocode} +% +% \subsubsection{Font selection} +% \begin{macro}{\FontAlt} +% \begin{macro}{\FontBold} +% \begin{macro}{\FontItal} +% \begin{macro}{\FontKind} +% \begin{macro}{\FontSize} +% Selecting a \starTeX{} font is a two-step procedure: +% \begin{enumerate} +% \item Define \cs{FontKind}, \cs{FontAlt}, \cs{FontBold}, +% \cs{FontItal} and +% \cs{FontSize} to contain the correct letters, as shown in +% table\vref{tab:fontname}. +% +% \item Call \cs{SelectFont}. +% \end{enumerate} +% (The reason for this procedure is to avoid loading unused fonts.) +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\SelectFont} +% As mentioned, "\SelectFont" selects a font according to the +% specifications given. +% \begin{macrocode} +\def \SelectFont {% + \edef \ThisFont {F-\FontKind\FontAlt\FontBold\FontItal\FontSize}% + \font \CurFont = \csname\ThisFont\endcsname \CurFont } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ResetFont} +% \cs{ResetFont} provides standard settings for the various \starTeX{} +% font parameters. +% \begin{macrocode} +\def \ResetFont {% + \def \FontKind{R}\def \FontAlt{S}\def \FontBold{M}% + \def \FontItal{U}\def \FontSize{N}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\CheckItCorr} +% \cs{CheckItCorr} is called after every group of italic text. Unless +% the following character is a low character like `\texttt{.}' or +% `\texttt{,}', an italic correction command \cs{/} is inserted. +% \begin{macrocode} +\def \CheckItCorr {% + \IfNextCharTwo{.}{,}{}{\/}} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Font size selection} +% \begin{macro}{\SetSize} +% \cs{SetSize} is used to set various parameters connected with a size +% change. It also contains a call on \cs{SelectFont}. +% \begin{macrocode} +\def \SetSize #1{\def \FontSize{#1}\SelectFont + \baselineskip = \csname LineSkip#1\endcsname + \ParIndent = \StdParIndent } +% \end{macrocode} +% \end{macro} +% +% \subsubsection{\starTeX{} commands for font changes} +% \begin{macro}{<b>} +% \begin{macro}{</b>} +% \begin{macro}{<i>} +% \begin{macro}{</i>} +% \begin{macro}{<tt>} +% \begin{macro}{</tt>} +% The following commands are used to indicate bold, italic, or +% typewriter text. +% \begin{macrocode} +\Cdef {b}{\NewEnvir{b}{\begingroup}{\endgroup}% + \def\FontBold{B}\SelectFont} +\Cdef {/b}{\EndEnvir{b}} +\Cdef {i}{\NewEnvir{i}{\begingroup}{\endgroup\CheckItCorr}% + \def\FontItal{I}\SelectFont} +\Cdef {/i}{\EndEnvir{i}} +\Cdef {tt}{\NewEnvir{tt}{\begingroup}{\endgroup}% + \def\FontKind{T}\SelectFont} +\Cdef {/tt}{\EndEnvir{tt}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} + +% \subsection{Body text} +% A \starTeX{} file is enclosed in a \stenv{body} environment. The main +% reason for this is to be able to detect the end of the document and +% terminate properly.\footnote{An \cs{everyeof} +% command---had it existed---would have made the \stenv{body} environment +% superfluous, thus removing yet another possible error source. +% ($\varepsilon$-\TeX\cite{etex} does provide such a primitive, but +% I have chosen not to apply it as use of $\varepsilon$-\TeX{} is not +% yet very widespread.)} It is also used to print an introductory +% message. +% +% \begin{macro}{<body>} +% \stcs{body} just redefines itself to produce an error message if +% used a second time; this is to ensure that it is only used once. +% \begin{macrocode} +\Cdef {body}{\NewEnvir{body}{\begingroup}{\endgroup}% + \message{^^JThis is StarTeX, version \CodeVersion^^J}% + \global\everypar = {\NewPar }% + \xdef \BodyLine {\the\inputlineno}% + \Cdef {body}{\Error{Command <body> already used on line \BodyLine;}% + {this use of <body> was ignored.}}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\BodyError} +% If the user has forgotten the \stenv{body} environment, the first +% text paragraph will trigger the \cs{BodyError} macro. +% \begin{macrocode} +\def \BodyError {\message{^^JThis is StarTeX, version \CodeVersion^^J}% + \Error{A <body>...</body> environment should surround + the whole document.}{A missing <body> was inserted.}% + \global\everypar = {\NewPar }} +% \end{macrocode} +% \end{macro} +% \begin{macro}{</body>} +% \stcs{/body} is used to terminate the document. This involves two things: +% \begin{enumerate} +% \item the current page must be terminated, and +% +% \item the \texttt{.aux} file must be check to determine whether any +% references have changed. +% The \texttt{.aux} file must be checked if both +% \begin{itemize} +% \item an \texttt{.aux} file has been read (\cs{ifAuxRead} is true), +% and +% +% \item a new \texttt{.aux} file has been created (\cs{ifAuxOpen} is +% true). +% \end{itemize} +% If we already know that a rerun is necessary (because \cs{ifRerun} +% is true), there is no need to check the \texttt{.aux} file. +% \end{enumerate} +% \begin{macrocode} +\Cdef {/body}{\EndEnvir{body}\endgraf\vfill\supereject + \let \Next = \CheckAux + \ifRerun \let \Next = \relax \fi + \ifAuxRead \else \let \Next = \relax \fi + \ifAuxOpen \else \let \Next = \relax \fi + \Next +% \end{macrocode} +% Give a warning if rerunning \starTeX{} is necessary. +% \begin{macrocode} + \ifRerun \Warning{Cross-references are not correct;}% + {please run StarTeX again.}\fi +% \end{macrocode} +% And now, we can finally terminate the run. +% \begin{macrocode} + \end} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Paragraph breaking} +% \begin{macro}{<p>} +% The \starTeX{} command \stcs{p} is used to separate paragraphs: +% \begin{macrocode} +\Cdef {p}{\endgraf} +% \end{macrocode} +% \end{macro} +% Blank lines are just ignored: +% \begin{macrocode} +\def \par {} +% \end{macrocode} +% \starTeX{} uses parameters which allow rather sloppy paragraph +% setting: +% \begin{macrocode} +\pretolerance = 2500 \tolerance = 9999 \hbadness = 10000 +\emergencystretch = 3cm +% \end{macrocode} +% The reasons for this are: +% \begin{itemize} +% \item If a good set of breaks is possible, \TeX{} will still choose +% that. +% +% \item If no good breaks are possible, it is better to have a sloppily +% set paragraph than problem lines sticking into the margin. The +% potential users of \starTeX{} tend to just ignore messages about +% overfull boxes. +% \end{itemize} +% Note, however, that \cs{hfuzz} has not been increased, as such a +% change is immediately visible and gives a poor impression. +% +% \subsubsection{Paragraph indentation} +% The paragraph handling mechanism must be able to let some paragraphs +% be indented and others not; for instance, the first paragraph +% following a title should not be indented, while the subsequent +% ones should be. +% +% In \starTeX{} this is solved by disabling the original +% \cs{parindent} and instead insert a call on \cs{NewPar} at +% the start of every paragraph. However, \cs{everypar} is initialized +% to \cs{BodyError} to detect a missing \stenv{body} environment; the +% \stcs{body} command will set \cs{everypar} correctly. +% \begin{macrocode} +\parindent = 0pt \everypar = {\BodyError } +% \end{macrocode} +% \begin{macro}{\NewPar} +% This \cs{NewPar} inserts an indentation \cs{ParIndent} wide if +% \cs{ifIndent} is true.\footnote{We cannot use the standard +% \cs{parindent} to this, as that is inserted when the +% paragraph is started, in other words before \cs{NewPar} is +% called.} It also sets \cs{ifIndent} to true, ensuring the +% indentation of subsequent paragraphs. \cs{NewPar} sets \cs{parskip} +% to its standard current value \cs{CurParSkip}. +% \begin{macrocode} +\def \NewPar {\ifIndent \kern \ParIndent \fi \Indenttrue + \global\parskip = \CurParSkip } +% \end{macrocode} +% \end{macro} +% (In some environments, like \stenv{list}, no paragraphs are +% indented. By setting \cs{ParIndent} to 0~pt, the whole paragraph +% indentation mechanism is disabled.) +% +% \begin{macro}{\ParIndent} +% \begin{macro}{\ifIndent} +% \begin{macro}{\StdParIndent} +% We must declare \cs{ParIndent} and \cs{ifIndent}, and also +% \cs{StdParIndent} which holds the value to which \cs{ParIndent} is +% set when it is not 0: +% \begin{macrocode} +\newskip \ParIndent \def \StdParIndent {1em} +\newif \ifIndent +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Paragraph separation} +% Sometimes it is necessary to omit the paragraph +% separation (the vertical space inserted between every paragraph), +% for instance after having inserted some special vertical space. This +% is done by setting \cs{parskip} to 0~pt. The following paragraph +% will reset this to \cs{CurParSkip} so that subsequent paragraphs +% will have the standard separation; see the definition of \cs{NewPar} +% above. +% +% \begin{macro}{\CurParSkip} +% \cs{CurParSkip} must be defined: +% \begin{macrocode} +\newskip \CurParSkip +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\AddVspace} +% Several insertions of vertical space (with \cs{vskip}) should not +% just accumulate; this will lead to excessive vertical spacing. +% Instead, \cs{AddVspace} should be used; it inserts the maximum of +% the last space (if any) and the current one, and it also sets +% \cs{parskip} to 0~pt so that the automatic paragraph separation will +% not interfere. +% \begin{macrocode} +\def \AddVspace #1{\ifvmode \else \endgraf \fi + \skip1 = #1\relax + \ifdim \lastskip < \skip1 \relax + \ifdim \lastskip > 0pt \vskip -\lastskip \fi + \vskip \skip1 + \fi \parskip = 0pt \relax } +% \end{macrocode} +% \end{macro} +% +% \subsubsection{The document head} +% This section implements the various commands used at the start of +% the document. +% +% \begin{macro}{<title>} +% \begin{macro}{} +% \stenv{title} is used to set the document title. It is centered, and +% uses the biggest fonts available. +% \begin{macrocode} +\Cdef {title}{\AddVspace{30pt plus 10pt} + \NewEnvir{title}{\begingroup}{\endgraf\endgroup} + \leftskip = 2cm plus 1fill \rightskip = \leftskip + \ParIndent = 0pt \CurParSkip = 0pt + \ResetFont \SetSize{X}} +\Cdef {/title}{\EndEnvir{title}% + \AddVspace{20pt plus 4pt}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{} +% \begin{macro}{} +% \stenv{author} is used for the author's name. It is set like +% \stenv{title}, but uses a smaller font. +% \begin{macrocode} +\Cdef {author}{\AddVspace{10pt plus 3pt} + \NewEnvir{author}{\begingroup}{\endgraf\endgroup} + \leftskip = 2cm plus 1fill \rightskip = \leftskip + \ParIndent = 0pt \CurParSkip = 0pt + \ResetFont \SetSize{L}} +\Cdef {/author}{\EndEnvir{author}% + \AddVspace{20pt plus 4pt}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{} +% \begin{macro}{} +% \stenv{info} is used for additional information, like the date. It +% is centered, but uses the normal text font. +% \begin{macrocode} +\Cdef {info}{\AddVspace{10pt plus 3pt} + \NewEnvir{info}{\begingroup}{\endgraf\endgroup} + \leftskip = 2cm plus 1fill \rightskip = \leftskip + \ParIndent = 0pt \CurParSkip = 0pt + \ResetFont \SetSize{N}} +\Cdef {/info}{\EndEnvir{info}% + \AddVspace{20pt plus 4pt}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{} +% \begin{macro}{} +% \stenv{abstract} is used for the short abstract usually given with +% each document. It is set with indented margins, and the type is +% smaller than the text type. The word `Abstract' is set in boldface. +% \begin{macrocode} +\Cdef {abstract}{\AddVspace{10pt plus 3pt} + \NewEnvir{abstract}{\begingroup}{\endgraf\endgroup} + \ResetFont \def \FontBold{B} \SetSize{S} \CurParSkip = 0pt + \leftskip = 2cm \rightskip = \leftskip \Indentfalse + \centerline{\AbstractName} + \ResetFont \SetSize{S}\Indentfalse } +\Cdef {/abstract}{\EndEnvir{abstract}% + \AddVspace{10pt plus 2pt}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Sectioning commands} +% To keep track of the section numbers, we need four counters: +% \begin{macrocode} +\newcount \SectI \newcount \SectII +\newcount \SectIII \newcount \SectIV +% \end{macrocode} +% \begin{macro}{\Heading} +% Since most of the work of a sectioning command is the same +% irrespective of its level, the common code has been place in +% \cs{Heading} which has four parameters: "#1" is the vertical space +% before the section, "#2" is the font size (\texttt{N}, \texttt{L} or +% \texttt{X}), "#3" tells whether to use bold type or not (\texttt{B} +% or \texttt{M}), and "#4" is the \TeX{} command to produce the +% section number. +% \begin{macrocode} +\def \Heading #1#2#3#4{\AddVspace{#1} + \def \FontBold {#3} \SetSize{#2} + \setbox0 = \hbox{#4\kern 0.5\baselineskip} + \hangindent = \wd0 \hangafter = 1 \raggedright + \ParIndent = 0pt \CurParSkip = 0pt \leavevmode \box0 } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{

} +% \stcs{H1} must update the counters and add vertical space. The rest +% of the work is done by \cs{Heading}. +% \begin{macrocode} +\Cdef {h1}{\endgraf + \global\advance \SectI by 1 + \global\SectII = 0 \global\SectIII = 0 \global\SectIV = 0 + \edef \CurDef {\SectIim} + \NewEnvir{h1}{\begingroup}{\endgroup} + \Heading{24pt plus 12pt minus 3pt}{X}{B}{\SectIim}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{

} +% \stcs{/H1} terminates the heading. It adds some vertical space +% (protcted with a top \cs{penalty} so that a page break will never +% occur) and sets \cs{Indentfalse} to prevent indentation of the +% following line. +% \begin{macrocode} +\Cdef {/h1}{\endgraf + \nobreak\vskip 6pt plus 1.5pt + \EndEnvir{h1} \Indentfalse } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{

} +% \begin{macro}{

} +% \stcs{H2} and \stcs{/h2} work more or less like \stcs{h1} and +% \stcs{/h1}: +% \begin{macrocode} +\Cdef {h2}{\endgraf + \global\advance \SectII by 1 + \global\SectIII = 0 \global\SectIV = 0 + \edef \CurDef {\SectIIim} + \NewEnvir{h2}{\begingroup}{\endgroup} + \Heading{14pt plus 7pt minus 2pt}{L}{B}{\SectIIim}} +\Cdef {/h2}{\endgraf + \nobreak\vskip 4pt plus 1pt + \EndEnvir{h2}\Indentfalse } +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{

} +% \begin{macro}{

} +% \stcs{H3} and \stcs{/h3} work more or less like the two preceding +% ones: +% \begin{macrocode} +\Cdef {h3}{\endgraf + \global\advance \SectIII by 1 \global\SectIV = 0 + \edef \CurDef {\SectIIIim} + \NewEnvir{h3}{\begingroup}{\endgroup} + \Heading{10pt plus 5pt minus 1pt}{N}{B}{\SectIIIim}} +\Cdef {/h3}{\endgraf + \nobreak\vskip 2pt plus 1pt + \EndEnvir{h3}\Indentfalse } +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{

} +% \begin{macro}{

} +% \stcs{H4} and \stcs{/h4} are slightly different from the previous +% ones in that they use a run-in title (the text continues on the same +% line as the title): +% \begin{macrocode} +\Cdef {h4}{\AddVspace{8pt plus 4pt minus 1pt} + \global\advance \SectIV by 1 + \edef \CurDef {\SectIVim} + \NewEnvir{h4}{\begingroup}{\endgroup} + \def \FontBold{B}\SelectFont \Indentfalse \SectIVim } +\Cdef {/h4}{\kern 0.5\baselineskip + \EndEnvir{h4}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Lists} +% \begin{macro}{} +% \begin{macro}{} +% The \stenv{list} environment increases the left margin and sets the +% item counter to 0; everything +% else is handled by the various kinds of \cs{item}. +% \begin{macrocode} +\Cdef {list}{\AddVspace{\ListSkip} + \NewEnvir{list}{\begingroup}{\endgroup} + \advance \leftskip by \ListIndent + \Indentfalse \CurParSkip = \ListSkip \ParIndent = 0pt + \ItemCount = 0 } +\Cdef {/list}{\endgraf + \EndEnvir{list} \Indentfalse } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{} +% \stcs{item} inserts a bulleted item. +% \begin{macrocode} +\Cdef {item}{\endgraf \Indentfalse + \leavevmode\llap{\BulletItemFormat}\ignorespaces } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{} +% \stcs{numitem} gives a numbered item. +% \begin{macrocode} +\Cdef {numitem}{\endgraf + \advance \ItemCount by 1 \edef \CurDef {\the\ItemCount} + \Indentfalse + \leavevmode\llap{\NumItemFormat{\ItemCount}}\ignorespaces } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ItemCount} +% The item counter \cs{ItemCount} must also be declared: +% \begin{macrocode} +\newcount \ItemCount +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{} +% \begin{macro}{} +% The \stenv{textitem} environment starts another item with a bold +% text. +% \begin{macrocode} +\Cdef {textitem}{\endgraf + \NewEnvir{textitem}{\begingroup}{\endgroup} + \def \FontBold {B}\SelectFont \leavevmode \kern -\ListIndent + \ignorespaces } +\Cdef {/textitem}{\unskip + \EndEnvir{textitem}% + \hskip 1em \ignorespaces } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Displays} +% \begin{macro}{} +% \begin{macro}{} +% A \stenv{display} environment is implemented by increasing both +% margins. +% \begin{macrocode} +\Cdef {display}{\AddVspace{\DisplayPreSkip} + \NewEnvir{display}{\begingroup}{\endgroup}% + \advance \leftskip by \DisplayIndent + \advance \rightskip by \DisplayIndent + \CurParSkip = \DisplayParSkip \ParIndent = 0pt \relax } +\Cdef {/display}{\AddVspace{\DisplayPostSkip} + \EndEnvir{display}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Code} +% Handling code like computer programs is quite easy. It involves +% \begin{itemize} +% \item changing "<"'s \cs{catcode} into that of an ordinary +% character, +% +% \item making space and end-of-lines into active characters with a +% suitable definition, and +% +% \item selecting a fixed-width font and a suitable leading. +% \end{itemize} +% It is necessary to remember whether the code followed a "

". +% If so, some vertical space will be added before and after the code. +% \begin{macrocode} +\newif \ifCodePar +% \end{macrocode} +% \begin{macro}{\CodeSetup} +% All the initialization is handled by the \cs{CodeSetup} macro: +% \begin{macrocode} +\def \CodeSetup {\ifvmode \CodePartrue \AddVspace{\DisplayPreSkip} + \else \CodeParfalse \fi + \def\FontKind{T}\SelectFont + \baselineskip = \CodeSkipN \CurParSkip = 0pt \ParIndent = 0pt + \catcode`\< = 12 \frenchspacing \obeylines \obeyspaces } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\obeylines} +% Plain \TeX's definition of \cs{obeylines} must be redefined since +% \cs{par} has been changed: +% \begin{macrocode} +\begingroup + \catcode`\^^M = \active % + \gdef\obeylines{\catcode`\^^M=\active \def^^M{\endgraf\leavevmode}}% +\endgroup +% \end{macrocode} +% \end{macro} +% \begin{macro}{\obeyspaces} +% The appearance of a space when \cs{obeyspaces} is +% in effect must also be modified. By inserting a \cs{leavevmode}, we +% will not lose spaces at the beginning of a line. +% \begin{macrocode} +\begingroup + \obeyspaces\gdef {\leavevmode\space}% +\endgroup +% \end{macrocode} +% \end{macro} +% \begin{macro}{\CodeFinish} +% After the code, \cs{CodeFinish} is called to terminate the mode. +% It adds the needed vertical space. +% \begin{macrocode} +\def \CodeFinish {\ifCodePar + \def \Next {\endgraf \vskip -\baselineskip \vskip \DisplayPostSkip + \global\Indentfalse }% + \else + \let \Next = \relax + \fi \Next } +% \end{macrocode} +% \end{macro} +% \begin{macro}{} +% Time has come to write the user interface. The \stenv{code} +% environment reads the code as parameter to the command \cs{ReadCode}. +% \begin{macrocode} +\Cdef {code}{\NewEnvir{code}{\begingroup}{\endgroup}% + \CodeSetup \ReadCode } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ReadCode} +% \begin{macro}{} +% \cs{ReadCode} just inserts the code (which is parameter "#1") +% and terminates the environment. +% \begin{macrocode} +\begingroup + \catcode `\< = 12 + \gdef \ReadCode #1{#1\CodeFinish\EndEnvir{code}}% +\endgroup +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{} +% \stcs{codefile} checks for correct syntax. If the file name is given +% properly, \cs{ReadCodeFile} is called to perform the actual reading. +% \begin{macrocode} +\Cdef {codefile}{\IfNextChar{[}% + {\ReadCodeFile}% + {\Error{No code file name given;}% + {the syntax is [file name].}}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ReadCodeFile} +% \cs{ReadCodeFile} just reads the specified file +% \begin{macrocode} +\def \ReadCodeFile [#1]{\endgraf \begingroup + \CodeSetup + \IfFileExists{#1}{\input #1}% + {\Error{Code file `#1' cound not be found.}{}} + \CodeFinish \endgroup } +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Footnotes} +% \begin{macro}{} +% \begin{macro}{} +% Implementing footnotes is easy, as the mechanism is ready in plain +% \TeX\@. +% \begin{macrocode} +\Cdef {footnote}{\NewEnvir{footnote}% + {\global\advance \FootnoteCnt by 1 + \footnote{\FootnoteIm{\FootnoteCnt}}\bgroup + \edef \CurDef {\the\FootnoteCnt}}% + {\egroup}% + \ResetFont \SetSize{S}} +\Cdef {/footnote}{\EndEnvir{footnote}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\FootnoteCnt} +% We must remember to declare the footnote counter: +% \begin{macrocode} +\newcount \FootnoteCnt +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Page headers and footers} +% By default, \starTeX{} has the same headers and footer as \TeX\@. +% The footer must, however, be redefined so that it always uses the +% same font as the body text. +% \begin{macrocode} +\footline = {\ResetFont\SelectFont \hfil \folio \hfil} +% \end{macrocode} +% +% \subsection{Customization} +% This section contains definitions that are likely to be changed in +% local adaptions. +% +% \subsubsection{Sizes} +% \begin{macro}{\DisplayIndent} +% \begin{macro}{\DisplayParSkip} +% \begin{macro}{\DisplayPostSkip} +% \begin{macro}{\DisplayPreskip} +% The following four sizes determine the appearance of displays. +% \begin{macrocode} +\def \DisplayIndent {\ListIndent} +\def \DisplayParSkip {\ListParSkip} +\def \DisplayPostSkip {5pt plus 2pt minus 1pt\relax} +\def \DisplayPreSkip {5pt plus 2pt minus 1pt\relax} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\ListIndent} +% \begin{macro}{\ListParSkip} +% \begin{macro}{\ListSkip} +% The next three are used when setting lists. +% \begin{macrocode} +\def \ListIndent {25pt\relax} +\def \ListParSkip {\ListSkip} +\def \ListSkip {10pt plus 2pt minus 1pt\relax} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Formats} +% \begin{macro}{\SectIim} +% \begin{macro}{\SectIIim} +% \begin{macro}{\SectIIIim} +% \begin{macro}{\SectIVim} +% \cs{SetcIim}, \cs{SectIIim}, \cs{SectIIIim} and \cs{SectIVim} define +% what the section number at various levels should look +% like. +% \begin{macrocode} +\def \SectIim {\the\SectI} +\def \SectIIim {\SectIim.\the\SectII} +\def \SectIIIim {\SectIIim.\the\SectIII} +\def \SectIVim {\SectIIIim.\the\SectIV} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\FootnoteIm} +% \cs{FootnoteIm} defines the appearance of the footnote mark; "#1" is +% the footnote number. +% \begin{macrocode} +\def \FootnoteIm #1{$^{\the #1}$} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\FigIm} +% \begin{macro}{\TabIm} +% \cs{FigIm} and \cs{TabIm} define the appearance of the figure and +% table counters, respectively. +% \begin{macrocode} +\def \FigIm {\the\FigCnt} +\def \TabIm {\the\TabCnt} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\BulletItemFormat} +% \begin{macro}{\NumItemFormat} +% The two commands \cs{BulletItemFormat} and \cs{NumItemFormat} define +% the appearance of the marks used by \stcs{item} and \stcs{numitem}, +% respectively. +% \begin{macrocode} +\def \BulletItemFormat {$\bullet$\kern 6pt\relax} +\def \NumItemFormat #1{\the#1.\kern 4pt\relax} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Character set} +% This version of \starTeX{} uses \textsc{iso}~8859-1 as its standard +% character set. (Users of other character sets will have to modify +% this.) +% +% \begin{macro}{\E} +% \cs{E} is used to redefine the encoding of a character; this is +% done by making the character active. "#1" is the character's number, +% and "#2" is the \TeX{} code to which it is to be defined. +% The implementation of \cs{E} uses the standard technique of +% defining a \cs{uccode} and then calling \cs{uppercase} to +% insert the correct character where it is defined.) +% \begin{macrocode} +\def \E #1#2{\catcode#1 = \active + \begingroup \uccode`\~ = #1\uppercase{\endgroup \def ~{#2}}} +% \end{macrocode} +% \end{macro} +% There are five different kinds of reencoding: +% \begin{itemize} +% \item Some characters are reencoded to a different character in the +% same font using the \cs{char} primitive; examples are +% 161~({\StdECR \symbol{189}}) and 163~({\StdECR \symbol{191}}). +% \end{itemize} +% \begin{macrocode} +\E{161}{\char189 } \E{163}{\char191 } \E{167}{\char159 } +\E{171}{\char19 } \E{184}{\char11 } \E{187}{\char20 } +\E{191}{\char190 } \E{223}{\char255 } \E{255}{\char184 } +% \end{macrocode} +% +% \begin{macro}{\CC} +% \begin{itemize} +% \item Other characters can be found in the \emph{Companion font}, +% known to \starTeX{} as the Alternate font. The macro \cs{CC} is +% used for this; its parameter "#1" is the character's position in the +% companion font. Examples are 162~({\CompECR \symbol{162}}) and +% 164~({\CompECR \symbol{164}}). +% \end{itemize} +% \begin{macrocode} +\def \CC #1{{\def\FontAlt{A}\SelectFont \char#1}} +\E{162}{\CC{162}} \E{164}{\CC{164}} \E{165}{\CC{165}} +\E{166}{\CC{166}} \E{168}{\CC{168}} \E{169}{\CC{169}} +\E{170}{\CC{170}} \E{172}{\CC{172}} \E{174}{\CC{174}} +\E{175}{\CC{175}} \E{176}{\CC{176}} \E{180}{\CC{180}} +\E{182}{\CC{182}} \E{186}{\CC{186}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MC} +% \begin{itemize} +% \item A few characters are math characters, like 185~({\CompECR +% \symbol{185}}) and 246~({\CompECR \symbol{246}}). They are defined using +% the macro \cs{MC} which has two parameters: "#1" is the character's +% position in the companion font to be used in text mode, and +% "#2" is some \TeX{} code to be used in math mode. +% \end{itemize} +% \begin{macrocode} +\def \MC #1#2{\ifmmode #2 \else \CC{#1}\fi } +\E{177}{\MC{177}{\pm}} \E{178}{\MC{178}{^2{}}} +\E{179}{\MC{179}{^3{}}} \E{181}{\MC{181}{\mu}} +\E{183}{\MC{183}{\cdot}} \E{185}{\MC{185}{^1{}}} +\E{188}{\MC{188}{{1\over4}}} \E{189}{\MC{189}{{1\over2}}} +\E{190}{\MC{190}{{3\over4}}} \E{215}{\MC{214}{\times}} +\E{247}{\MC{246}{\div}} +% \end{macrocode} +% \end{macro} +% +% \begin{itemize} +% \item Character 160 is a ``non-break space'' which is treated just +% like a \textasciitilde{} in \TeX. +% \end{itemize} +% \begin{macrocode} +\E{160}{\nobreak\ } +% \end{macrocode} +% +% \begin{itemize} +% \item Character 173 is a ``soft hyphen'' which is treated like "\-" +% in \TeX. +% \end{itemize} +% \begin{macrocode} +\E{173}{\-} +% \end{macrocode} +% +% \subsubsection{Language-specific definitions} +% \begin{macro}{\Abstractname} +% \begin{macro}{\Figurename} +% \begin{macro}{\Tablename} +% These three names vary from one language to another. +% \begin{macrocode} +\def \AbstractName {Abstract} +\def \FigureName {Figure} +\def \TableName {Table} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\TimeSep} +% Not all languages use a ``\texttt{:}'' to separate the hours, +% minutes, and seconds. +% \begin{macrocode} +\def \TimeSep {:} +% \end{macrocode} +% \end{macro} +% \begin{macro}{} +% \begin{macro}{\Month} +% \begin{macro}{\Th} +% The \stcs{today} command should be redefined for each language. +% To simplify the code, two auxiliary macros are defined: \cs{Month} +% gives the name of the month, and \cs{Th} gives the correct suffix +% for the day of the month. +% \begin{macrocode} +\Cdef {today}{\the\day\Th{\day} \Month\space\the\year} +\def \Month {\ifcase \month \or January\or February\or March\or + April\or May\or June\or July\or August\or September\or + October\or November\or December\fi } +\def \Th #1{% + \ifnum #1=1 st\else\ifnum #1=21 st\else\ifnum #1=31 st\else + \ifnum #1=2 nd\else\ifnum #1=22 nd\else + \ifnum #1=3 rd\else\ifnum #1=23 rd\else th\fi\fi\fi\fi\fi\fi\fi } +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{} +% The \stcs{now} command will quite probably remain unchanged for most +% languages (except for the \cs{TimeSep}; see above), but is given +% here just the same. +% \begin{macrocode} +\Cdef {now}{\Minutes = \time \Hours = \Minutes + \divide \Hours by 60 \Htemp = \Hours \multiply \Htemp by -60 + \advance \Minutes by \Htemp + \the\Hours \TimeSep \ifnum \Minutes > 9 \else 0\fi \the\Minutes } +% \end{macrocode} +% The three counters used by \stcs{now} must be defined. +% \begin{macrocode} +\newcount \Minutes \newcount \Hours \newcount \Htemp +% \end{macrocode} +% \end{macro} +% +% \subsection{Math mode} +% A few modifications to the \TeX{} math mode are necessary. +% +% The "<" character must be active also in math mode. +% \begin{macrocode} +\mathcode`< = "8000 +% \end{macrocode} +% \begin{macro}{} +% \begin{macro}{} +% The inline math mode "$"\dots"$" is called \stenv{math} in \starTeX. +% \begin{macrocode} +\Cdef {math}{\MathFonts \NewEnvir{math}{$}{$}} +\Cdef {/math}{\EndEnvir{math}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{} +% \begin{macro}{} +% The display math environment "$$"\dots"$$" is also available in +% \starTeX{} using the notation \stenv{displaymath}. +% \begin{macrocode} +\Cdef {displaymath}{\endgraf \MathFonts \NewEnvir{displaymath}{$$}{$$}} +\Cdef {/displaymath}{\EndEnvir{displaymath}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Math fonts} +% \begin{macro}{\MSetFont} +% The \cs{MSetFont} macro is used to simplify the definition of math +% fonts. It takes two parameters: "#1" is the math font element being +% defined (i.e., \cs{textfont0}), and "#2" is the font name. +% \begin{macrocode} +\def \MSetFont #1#2{\font \NewMFont = \csname #2\endcsname + #1 = \NewMFont } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\MathFonts} +% The \cs{MathFonts} macro is called whenever math mode is entered. It +% will define all the required math fonts. To avoid unnecessary work, +% new fonts will only be assigned if the font size has changed since +% the last time. +% \begin{macrocode} +\def \MathFonts {\if \FontSize \LastMathSize \else + \MSetFont{\textfont0}{M-\FontSize N0}% + \MSetFont{\scriptfont0}{M-\FontSize S0}% + \MSetFont{\scriptscriptfont0}{M-\FontSize X0}% + \MSetFont{\textfont1}{M-\FontSize N1}% + \MSetFont{\scriptfont1}{M-\FontSize S1}% + \MSetFont{\scriptscriptfont1}{M-\FontSize X1}% + \MSetFont{\textfont2}{M-\FontSize N2}% + \MSetFont{\scriptfont2}{M-\FontSize S2}% + \MSetFont{\scriptscriptfont2}{M-\FontSize X2}% + \MSetFont{\textfont3}{M-\FontSize N3}% + \MSetFont{\scriptfont3}{M-\FontSize S3}% + \MSetFont{\scriptscriptfont3}{M-\FontSize X3}% + \MSetFont{\textfont4}{M-\FontSize N4}% + \MSetFont{\scriptfont4}{M-\FontSize S4}% + \MSetFont{\scriptscriptfont4}{M-\FontSize X4}% + \MSetFont{\textfont5}{M-\FontSize N5}% + \MSetFont{\scriptfont5}{M-\FontSize S5}% + \MSetFont{\scriptscriptfont5}{M-\FontSize X5}% + \MSetFont{\textfont6}{M-\FontSize N6}% + \MSetFont{\scriptfont6}{M-\FontSize S6}% + \MSetFont{\scriptscriptfont6}{M-\FontSize X6}% + \let \LastMathSize = \FontSize + \fi } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\LastMathSize} +% \cs{LastMathSize} contains the last math size used. It +% must be initialized to an unused value so that the math fonts are +% always loaded the first time math mode is entered. +% \begin{macrocode} +\def \LastMathSize {?} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Letters} +% The standard 26 letters are already defined, but we must define the +% others, like `\'e' and `\AA'. These are taken from the \textsc{ecti} +% font (number~5 in \starTeX). +% \begin{macrocode} +\def \Df #1{\mathcode"#1 = "05#1 \relax } +\Df{C0}\Df{C1}\Df{C2}\Df{C3}\Df{C4}\Df{C5}\Df{C6}\Df{C7} +\Df{C8}\Df{C9}\Df{CA}\Df{CB}\Df{CC}\Df{CD}\Df{CE}\Df{CF} +\Df{D0}\Df{D1}\Df{D2}\Df{D3}\Df{D4}\Df{D5}\Df{D6} +\Df{D8}\Df{D9}\Df{DA}\Df{DB}\Df{DC}\Df{DD}\Df{DE}\Df{DF} +\Df{E0}\Df{E1}\Df{E2}\Df{E3}\Df{E4}\Df{E5}\Df{E6}\Df{E7} +\Df{E8}\Df{E9}\Df{EA}\Df{EB}\Df{EC}\Df{ED}\Df{EE}\Df{EF} +\Df{F0}\Df{F1}\Df{F2}\Df{F3}\Df{F4}\Df{F5}\Df{F6} +\Df{F8}\Df{F9}\Df{FA}\Df{FB}\Df{FC}\Df{FD}\Df{FE}\Df{FF} +% \end{macrocode} +% +% \subsubsection{Bold letters} +% \begin{macro}{} +% \begin{macro}{} +% The bold letters \stcs{bolda}\dots\stcs{boldz} and +% \stcs{bolducA}\dots\stcs{bolducZ} are intended for use i math mode. +% They are found on the \textsc{cmbx} font (number~4 in \starTeX). +% \changes{1.04}{1999/03/10}{Added \stcs{bolda}, \stcs{bolducA}, and +% related commands.} +% \begin{macrocode} +\def \Df #1#2#3{\Cdef{bold#1}{\MSy{\mathchar"04#2}}% + \Cdef{bolduc#1}{\MSy{\mathchar"04#3}}} +\Df{a}{61}{41}\Df{b}{62}{42}\Df{c}{63}{43}\Df{d}{64}{44} +\Df{e}{65}{45}\Df{f}{66}{46}\Df{g}{67}{47}\Df{h}{68}{48} +\Df{i}{69}{49}\Df{j}{6A}{4A}\Df{k}{6B}{4B}\Df{l}{6C}{4C} +\Df{m}{6D}{4D}\Df{n}{6E}{4E}\Df{o}{6F}{4F}\Df{p}{70}{50} +\Df{q}{71}{51}\Df{r}{72}{52}\Df{s}{73}{53}\Df{t}{74}{54} +\Df{u}{75}{55}\Df{v}{76}{56}\Df{w}{77}{57}\Df{x}{78}{58} +\Df{y}{79}{59}\Df{z}{7A}{5A} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Operators} +% \begin{macro}{\MSy} +% \cs{MSy} is used to insert a mathematical symbol. It will expand to +% "#1", and insert a math mode environment ("$"\dots"$") if required. +% \begin{macrocode} +\def \MSy #1{\ifmmode #1\else $#1$\fi } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\MOp} +% \cs{MOp} is also used to insert the mathematical symbol "#2", but +% gives an error message if not in a math environment. Parameter "#1" +% is the \starTeX{} command name, which is used in the error message. +% \begin{macrocode} +\def \MOp #1#2{\ifmmode \def \MNext {#2}\else + \Error{Command <#1> is only allowed in math mode;}% + {command ignored.}\let \MNext = \relax \fi + \MNext } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\Mdef} +% \cs{Mdef} is used to define a \starTeX{} mathematical symbol +% command whenever the \starTeX{} command is +% identical to the name of the +% corresponding \TeX{} macro; parameter "#1" is the name of both. +% \begin{macrocode} +\def \Mdef #1{\Cdef{#1}{\MSy{\csname #1\endcsname}}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\Odef} +% \cs{Odef} is similar to \cs{Mdef} but is for definitions based on +% \cs{MOp} rather than \cs{MSy}. +% \begin{macrocode} +\def \Odef #1{\Cdef{#1}{\MOp{#1}{\csname #1\endcsname}}} +% \end{macrocode} +% \end{macro} +% These commands are now used to define all the standard unary and +% binary operators. +% \begin{macrocode} +\Mdef{amalg} \Mdef{bigcirc} \Mdef{bigtriangleup} +\Mdef{bigtriangledown} \Mdef{bullet} \Mdef{cap} \Mdef{circ} +\Mdef{cup} \Mdef{dagger} \Mdef{ddagger} \Mdef{diamond} \Mdef{mp} +\Mdef{odot} \Mdef{ominus} \Mdef{oplus} \Mdef{oslash} \Mdef{otimes} +\Mdef{setminus} \Mdef{sqcap} \Mdef{sqcup} \Mdef{star} +\Mdef{triangleleft} \Mdef{triangleright} \Mdef{uplus} \Mdef{vee} +\Mdef{wedge} \Mdef{wr} +% \end{macrocode} +% +% \subsubsection{Relations} +% These are the various relations available. +% \changes{1.01}{1996/11/29}{Added forgotten operator \stcs{propto}.} +% \begin{macrocode} +\Mdef{approx} \Mdef{asymp} \Mdef{bowtie} \Mdef{cong} \Mdef{doteq} +\Mdef{dashv} \Mdef{equiv} \Mdef{frown} \Mdef{geq} \Mdef{gg} \Mdef{in} +\Mdef{leq} \Mdef{ll} \Mdef{mid} \Mdef{models} \Mdef{neq} \Mdef{ni} +\Mdef{notin} \Mdef{parallel} \Mdef{perp} \Mdef{prec} \Mdef{preceq} +\Mdef{propto} \Mdef{sim} \Mdef{simeq} \Mdef{smile} \Mdef{sqsubseteq} +\Mdef{sqsupseteq} \Mdef{subset} \Mdef{subseteq} \Mdef{supset} +\Mdef{supseteq} \Mdef{succ} \Mdef{succeq} \Mdef{vdash} +% \end{macrocode} +% \begin{macro}{} +% \begin{macro}{} +% The two symbols \stcs{gt} and \stcs{lt} must be defined; the former +% is not really necessary, but is included for symmetry reasons. Note +% also that the definition of \stcs{lt} is slightly tricky since "<" +% is an active symbol in math mode. +% \begin{macrocode} + \Cdef{gt}{>} + \Cdef{lt}{\ifmmode \mathchar"313C \else <\fi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsubsection{Delimitiers} +% In addition to (), [], $\{\}$ and $\vert$, the following delimiters +% are defined: +% \begin{macrocode} +\Mdef{langle} \Mdef{lceil} \Mdef{lfloor} \Mdef{rangle} +\Mdef{rceil} \Mdef{rfloor} +% \end{macrocode} +% +% \subsubsection{Arrows} +% All the standard arrows are included. +% \begin{macrocode} +\Mdef{leftarrow} \Mdef{rightarrow} \Mdef{leftrightarrow} +\Mdef{longleftarrow} \Mdef{longrightarrow} \Mdef{longleftrightarrow} +\Mdef{uparrow} \Mdef{downarrow} +\Mdef{updownarrow} \Mdef{nearrow} \Mdef{nwarrow} \Mdef{searrow} +\Mdef{swarrow} \Mdef{mapsto} \Mdef{longmapsto} \Mdef{hookleftarrow} +\Mdef{hookrightarrow} \Mdef{leftharpoonup} \Mdef{rightharpoonup} +\Mdef{leftharpoondown} \Mdef{rightharpoondown} \Mdef{rightleftharpoons} +% \end{macrocode} +% In \TeX, some arrows use uppercase letters to indicate double +% arrows. I use the prefix "double" instead. +% \begin{macrocode} +\Cdef{doubleleftarrow}{\MSy{\Leftarrow}} +\Cdef{doublerightarrow}{\MSy{\Rightarrow}} +\Cdef{doubleleftrightarrow}{\MSy{\Leftrightarrow}} +\Cdef{doublelongleftarrow}{\MSy{\Longleftarrow}} +\Cdef{doublelongrightarrow}{\MSy{\Longrightarrow}} +\Cdef{doublelongleftrightarrow}{\MSy{\Longleftrightarrow}} +\Cdef{doubleuparrow}{\MSy{\Uparrow}} +\Cdef{doubledownarrow}{\MSy{\Downarrow}} +\Cdef{doubleupdownarrow}{\MSy{\Updownarrow}} +% \end{macrocode} +% +% \subsubsection{Big symbols} +% These are the big symbols. +% \begin{macrocode} +\Odef{bigcap} \Odef{bigcup} \Odef{bigodot} \Odef{bigoplus} +\Odef{bigotimes} \Odef{bigsqcup} \Odef{biguplus} \Odef{bigvee} +\Odef{bigwedge} \Odef{int} \Odef{oint} \Odef{prod} \Odef{sum} +% \end{macrocode} +% +% \subsubsection{Function names} +% Some names are defined as commands to ensure that they will be +% printed in the correct font. +% \changes{1.01}{1996/11/29}{Name of \cs{sup} operator changed to +% \stcs{sup-op} because of name clash with the \stcs{sup} command used +% for indices. (Detected by Marco Paggi, +% \textsf{aampaggi@input.lognet.it}.)} +% \begin{macrocode} +\Mdef{arccos} \Mdef{arcsin} \Mdef{arctan} \Mdef{arg} \Mdef{cos} +\Mdef{cosh} \Mdef{cot} \Mdef{coth} \Mdef{csc} \Mdef{deg} \Mdef{det} +\Mdef{dim} \Mdef{exp} \Mdef{gcd} \Mdef{hom} \Mdef{inf} \Mdef{ker} +\Mdef{lg} \Mdef{lim} \Mdef{liminf} \Mdef{limsup} \Mdef{ln} +\Mdef{log} \Mdef{max} \Mdef{min} \Mdef{sec} \Mdef{sin} \Mdef{sinh} +\Cdef{sup-op}{\MSy{\sup}} \Mdef{tan} \Mdef{tanh} +% \end{macrocode} +% \stcs{pr} must be given a special definition as its name in plain \TeX{} +% has an uppercase letter. +% \begin{macrocode} +\Cdef{pr}{\MSy{\Pr}} +% \end{macrocode} +% +% \subsubsection{Greek letters} +% The lowercase Greek letters can be found just using the plain \TeX{} +% name. +% \begin{macrocode} +\Mdef{alpha} \Mdef{beta} \Mdef{gamma} \Mdef{delta} \Mdef{epsilon} +\Mdef{varepsilon} \Mdef{zeta} \Mdef{eta} \Mdef{theta} \Mdef{vartheta} +\Mdef{iota} \Mdef{kappa} \Mdef{lambda} \Mdef{mu} \Mdef{nu} \Mdef{xi} +\Cdef {omicron}{\MSy{o}} \Mdef{pi} \Mdef{varpi} \Mdef{rho} \Mdef{varrho} +\Mdef{sigma} \Mdef{varsigma} \Mdef{tau} \Mdef{upsilon} \Mdef{phi} +\Mdef{varphi} \Mdef{chi} \Mdef{psi} \Mdef{omega} +% \end{macrocode} +% The uppercase Greek letters can be found in the \textsc{cmr} +% font, which is font no 0 in \starTeX. +% Those that also exist in the Latin alphabet, can be found in their +% normal position, while the special Greek letters are placed at the +% beginning of the font table. +% \begin{macrocode} +\def \Df #1#2{\Cdef{#1}{\MSy{\mathchar"#2}}} +\Df{ucalpha}{0041} \Df{ucbeta}{0042} \Df{ucgamma}{0000} +\Df{ucdelta}{0001} \Df{ucepsilon}{0045} \Df{uczeta}{005A} +\Df{uceta}{0048} \Df{uctheta}{0002} \Df{uciota}{0049} +\Df{uckappa}{004B} \Df{uclambda}{0003} \Df{ucmu}{004D} +\Df{ucnu}{004E} \Df{ucxi}{0004} \Df{ucomicron}{004F} +\Df{ucpi}{0005} \Df{ucrho}{0050} \Df{ucsigma}{0006} +\Df{uctau}{0054} \Df{ucupsilon}{0007} \Df{ucphi}{0008} +\Df{ucchi}{0058} \Df{ucpsi}{0009} \Df{ucomega}{000a} +% \end{macrocode} +% +% \subsubsection{Blackboard set letters} +% The socalled ``blackboard bold'' letters $\Bbb{C}$, $\Bbb{N}$, +% $\Bbb{R}$ and $\Bbb{Z}$ are used to denote the standard sets. +% \changes{1.03}{1998/04/30}{Added the various set names. (Suggested +% by Christian Sommerfeldt \O{}ien, \textsf{christso@ifi.uio.no}.)} +% \begin{macrocode} +\def \Df #1#2{\Cdef{#1}{\MSy{\mathchar"06#2}}} +\Df{cset}{43} \Df{nset}{4E} \Df{rset}{52} \Df{zset}{5A} +% \end{macrocode} +% +% \subsubsection{Calligraphic letters} +% \begin{macro}{cala} +% The calligraphic letters can be found in font~2. +% \changes{1.04}{1999/03/10}{Fixed a bug in the \stcs{calA} and +% related commands.} +% \begin{macrocode} +\def \Df #1#2{\Cdef{cal#1}{\MSy{\mathchar"02#2}}} +\Df{a}{41} \Df{b}{42} \Df{c}{43} \Df{d}{44} \Df{e}{45} +\Df{f}{46} \Df{g}{47} \Df{h}{48} \Df{i}{49} \Df{j}{4A} +\Df{k}{4B} \Df{l}{4C} \Df{m}{4D} \Df{n}{4E} \Df{o}{4F} +\Df{p}{50} \Df{q}{51} \Df{r}{52} \Df{s}{53} \Df{t}{54} +\Df{u}{55} \Df{v}{56} \Df{w}{57} \Df{x}{58} \Df{y}{59} +\Df{z}{5A} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Other symbols} +% A few symbols are left. +% \begin{macrocode} +\Mdef{aleph} \Mdef{angle} \Mdef{bot} \Mdef{ell} \Mdef{emptyset} +\Mdef{exists} \Mdef{forall} \Mdef{hbar} \Mdef{nabla} \Mdef{neg} +\Odef{not} \Mdef{partial} \Mdef{surd} \Mdef{top} \Mdef{wp} +\Cdef{infinity}{\MSy{\infty}} \Cdef{im}{\MSy{\Im}} \Cdef{re}{\MSy{\Re}} +\Cdef{,}{{,}} +\Cdef{:}{\MSy{\vdots}} +\Cdef{:::}{\MSy{\cdots}} +% \end{macrocode} +% \begin{macro}{<...>} +% The definition of \stcs{...} has a minute space to allow \starTeX{} +% to split the line. +% \begin{macrocode} +\Cdef{...}{\MSy{\ldots}\hskip 0.001pt \relax } +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Subscripts and superscripts} +% \begin{macro}{} +% \begin{macro}{} +% \begin{macro}{} +% \begin{macro}{} +% The sub- and superscripts in equations are accessible through +% \stenv{sub} and \stenv{sup}. +% \begin{macrocode} +\Cdef {sub}{\MOp{sub}{\NewEnvir{sub}{_\bgroup}{\egroup}}} +\Cdef {/sub}{\MOp{/sub}{\EndEnvir{sub}}} +\Cdef {sup}{\MOp{sup}{\NewEnvir{sup}{^\bgroup}{\egroup}}} +\Cdef {/sup}{\MOp{/sup}{\EndEnvir{sup}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Fractions} +% \begin{macro}{} +% \begin{macro}{} +% \begin{macro}{} +% Fractions are set with in a +% \stcs{frac}\dots\stcs{over}\dots\stcs{/frac} environment. +% \begin{macrocode} +\Cdef {frac}{\MOp{frac}{\NewEnvir{frac}{\bgroup}{\egroup}% + \NOver = 0\relax}} +\Cdef {over}{\MOp{over}{\FracOver}} +\Cdef {/frac}{\MOp{/frac}{\ifnum \NOver = 0 + \Error{No in the ...... environment.}{}\fi + \EndEnvir{frac}}} +\def \FracOver {\ifTextEqual{\CurEnv}{frac}% + \ifnum \NOver = 0 \over + \else \Error{Only one may occur in each ... + environment.}{}% + \fi \advance \NOver by 1 + \else \Error{ only allowed in a + ...... environment.}{}% + \fi } +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% To check for legal use of \stcs{over}, a counter named \cs{NOver} is +% used. +% \begin{macrocode} +\newcount \NOver +% \end{macrocode} +% +% \subsubsection{Roots} +% \begin{macro}{} +% \begin{macro}{} +% The \stenv{sqrt} environment is just an interface to the \cs{sqrt} +% macro in plain \TeX. +% \begin{macrocode} +\Cdef {sqrt}{\MOp{sqrt}{\NewEnvir{sqrt}{\sqrt\bgroup}{\egroup}}} +\Cdef {/sqrt}{\MOp{/sqrt}{\EndEnvir{sqrt}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \subsection{PostScript figures} +% \begin{macro}{} +% \begin{macro}{} +% \starTeX{} allows the inclusion of \ps{} figures through the +% \stenv{psfig} environment. It checks if the command is allowed in the +% current state, and, if it is, \cs{PSfig} is called; if not, +% \cs{PSfigError} is called instead. +% \begin{macrocode} +\Cdef {psfig}{\if \State x \let \Next = \PSfig \else + \let \Next = \PSfigError \fi + \Next } +\Cdef {/psfig}{\AddVspace{6pt plus 1pt} + \ifx \PSfile \relax \else + \centerline{\epsfbox{\PSfile}}% + \AddVspace{10pt plus 2pt minus 1pt} + \fi + \EndEnvir{psfig}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% The actual inclusion of the \ps{} file in handled by \cs{epsfbox} +% from the file \texttt{epsf.tex} which is provided with the +% \textsc{dvips} program. +% \begin{macrocode} +\input epsf.tex +% \end{macrocode} +% \begin{macro}{\PSfig} +% \cs{PSfig} checks whether the user has remembered to provide the +% file name; if so, \cs{PSfetch} is called to check the \ps{} file. +% \begin{macrocode} +\def \PSfig{\NewEnvir{psfig}{\topinsert}{\endinsert} + \let \PSfile = \relax \let \State = p + \IfNextChar{[}% + {\PSfetch}% + {\Error{No file name for PostScript figure;}% + {the syntax is: [file name]caption text.}% + \PScaption}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\PSfigError} +% \cs{PSfigError} gives an error message and starts a dummy +% environment. +% \begin{macrocode} +\def \PSfigError {\endgraf + \Error{Calls on not allowed inside or ;}% + {the command was ignored.}% + \NewEnvir{psfig}{\begingroup}{\endgroup}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\PSfetch} +% \cs{PSfetch} checks that the \ps{} exists, and notes its name in +% \cs{PSfile}. +% \begin{macrocode} +\def \PSfetch [#1]{\IfFileExists{#1}% + {\gdef \PSfile {#1}}% + {\Error{PostScript file `#1' could not be found.}{}}% + \PScaption } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\epsfsize} +% \cs{epsfsize} is used by \cs{epsfbox} to scale the \ps{} figure. +% We want figures to fill either 80\% of the text width or 40\% of the +% text height. This is done by comparing +% $\frac{0.8\mbox{\cs{hsize}}}{\mathtt{\#1}}$ and +% $\frac{0.4\mbox{\cs{vsize}}}{\mathtt{\#2}}$, where "#1" and "#2" +% are the horizontal and vertical original sizes of the the figure. +% \begin{macrocode} +\def \epsfsize #1#2{0pt \dimen1 = 0.8\hsize \dimen2 = 0.4\vsize + \floatdiv{\dimen2}{#1}{#2}% + \ifdim \dimen1 < \divres \epsfxsize = 0.8\hsize + \else \epsfysize = 0.4\vsize \fi } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\PScaption} +% The formatting of the caption is done by \cs{PScaption}: +% \begin{macrocode} +\def \PScaption {\global\advance \FigCnt by 1 + \edef \CurDef {\the\FigCnt} + \leftskip = 0.1\hsize \rightskip = \leftskip + \ResetFont \SetSize{S}\Indentfalse + \FigureName~\FigIm: \ignorespaces } +% \end{macrocode} +% \end{macro} +% \cs{PScaption} needs a counter to count the figures: +% \begin{macrocode} +\newcount \FigCnt +% \end{macrocode} +% +% \subsection{Tables} +% \begin{macro}{
} +% \begin{macro}{
} +% Tables are created with the \stenv{table} environment. It checks whether +% the command is allowed in the current state and calls +% \cs{Table} if it is; otherwise it calls \cs{TableError}. +% \begin{macrocode} +\Cdef {table}{\if \State x\let \Next = \Table \else + \let \Next = \TableError \fi + \Next } +\Cdef {/table}{\EndEnvir{table}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% The table is temporarily placed in a box so that it may be centered +% when output. +% \begin{macrocode} +\newbox \TableBox +% \end{macrocode} +% \begin{macro}{\Table} +% \cs{Table} starts the table environment. +% \begin{macrocode} +\def \Table{\topinsert + \NewEnvir{table}{\TableCaption}{\LastRow\endinsert}% + \let \State = t} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\TableCaption} +% The formatting of the table caption is done by \cs{TableCaption}: +% \begin{macrocode} +\def \TableCaption {\global\advance \TabCnt by 1 + \edef \CurDef {\the\TabCnt} + \leftskip = 0.1\hsize \rightskip = \leftskip + \ResetFont \SetSize{S}\Indentfalse + \TableName~\TabIm: \ignorespaces } +% \end{macrocode} +% \end{macro} +% \cs{TableCaption} needs a counter to count the tables: +% \begin{macrocode} +\newcount \TabCnt +% \end{macrocode} +% \begin{macro}{\TableError} +% \cs{TableError} gives an error message and starts a dummy +% environment. +% \begin{macrocode} +\def \TableError {\endgraf + \Error{Calls on not allowed inside + or
;}{the command was ignored.}% + \NewEnvir{table}{\begingroup}{\endgroup}} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Table rows} +% \begin{macro}{} +% \begin{macro}{\Row} +% The command \stcs{row} is the interface to \cs{Row} which is used to +% start another table row. Its actions depend on the current state. +% \begin{macrocode} +\Cdef {row}{\Row} +\def \Row {\if \State t\FirstRow\NewRow \else + \if \State r\EndRow\NewRow \else + \Error{The command is only allowed inside a +
.}{The command was ignored.}\fi\fi } +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\FirstRow} +% \cs{FirstRow} is called prior to the first table row. +% \begin{macrocode} +\def \FirstRow {\endgraf \ResetFont \SelectFont \let \State = r% + \setbox\TableBox = \hbox\bgroup \vbox\bgroup \offinterlineskip + \halign\bgroup \vrule ##\strut&& + \kern 6pt \hfil ##\unskip \hfil \kern 6pt \vrule \cr + \noalign{\hrule}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\NewRow} +% \cs{NewRow} is used to start another table row. +% \begin{macrocode} +\def \NewRow {&} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\EndRow} +% The command \cs{EndRow} is used to terminate the current table row. +% \begin{macrocode} +\def \EndRow {\cr \noalign{\hrule}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\LastRow} +% The command \cs{LastRow} is used to terminate the last table row. +% \begin{macrocode} +\def \LastRow {\if \State r\EndRow\PrintTable\fi} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\PrintTable} +% \cs{PrintTable} is the final command used when processing a table. +% It terminates the table structure and outputs it. +% \begin{macrocode} +\def \PrintTable {\egroup\egroup\egroup + \AddVspace{6pt plus 2pt minus 1pt} + \centerline{\box\TableBox}% + \AddVspace{10pt plus 4pt minus 2pt}} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Table columns} +% \begin{macro}{} +% \stcs{col} is used to start another table column. +% \begin{macrocode} +\Cdef {col}{\if \State r&\else + \Error{The command is only allowed after a + inside a
.}{The command was ignored.}\fi} +% \end{macrocode} +% \end{macro} +% +% \subsection{Cross-references} +% This section describes the various commands used for +% cross-referencing. +% +% The basic idea is the same as the one used in \LaTeX: an extra file (with +% extension \texttt{.aux}) contains all the labels defined in the +% document. There are two reasons for this: +% \begin{itemize} +% \item Using a separate file makes it possible to have forward +% references. +% \item When processing a document, the page number of each label is +% not known until the page is actually written to the \textsc{dvi} +% file. The \cs{write} command is, consequently, delayed until that stage +% of the processing, so using a file will always give us the +% correct page number. +% \end{itemize} +% \begin{macro}{\ifAuxOpen} +% The \texttt{.aux} file is only created when there are \stcs{label} +% commands in the document. The first \stcs{label} creates the file, +% and the flag \cs{ifAuxOpen} indicates whether this has been done. +% \begin{macrocode} +\newif \ifAuxOpen +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Defining labels} +% \begin{macro}{
+ + + + + + +
+

Numerical Algorithms Group: NAG

+
+

+ xmltex: A non validating (and not 100% + conforming) namespace aware XML parser implemented in TeX +

+
+


+

+ xmltex: A non validating (and not 100% + conforming) namespace aware XML parser implemented in TeX +

+ Date: 2000-02-02 +

+davidc@nag.co.uk +

+

+David Carlisle +

+

Contents

+

+

+

+

+Introduction

+ +

+xmltex implements +a non validating parser for documents matching the +W3C XML Namespaces Recommendation. + + +The system may just be used to parse the file (expanding entity +references and normalising namespace declarations) in which case it +records a trace of the parse on the terminal. Normally however the +information from the parse is used to trigger TeX typesetting code. +Declarations (in TeX syntax) are provided as part of xmltex to +associate TeX code with the start and end of each XML element, +attributes, processing instructions, and with unicode character data. +

+ + +

+Installation

+ +

The xmltex parser itself does not require LaTeX. It may be loaded +into initex to produce a format capable of parsing XML files. However +such a format would have no convenient commands for typesetting, and +so normally xmltex will be used on top of an existing format, normally +LaTeX. In this section we assume that the document to be +processed is called document.xml. +

+

+Using xmltex as an input to the LaTeX command

+ +

LaTeX requires a document in TeX syntax, not XML. To process +document.xml, first produce a two line file called +document.tex of the following form: +

+\def\xmlfile{document.xml}
+\input xmltex.tex
+
+ +Do not put any other commands in this file!

+

You may then process the document with either of the commands: +latex document or latex document.tex +or the equivalent procedure in your TeX environment. +

+ +

+Using xmltex as a TeX format built on LaTeX

+ +

+You may prefer to set up xmltex as a format in its own right. +This may speed things up slightly (as xmltex.tex does not +have to be read each time) but more importantly perhaps it allows the +XML file to be processed directly without needing to make the +.tex wrapper.

+

To make a format you will need a command such as the following, +depending on your TeX system. +

+initex &latex xmltex
+initex \&latex xmltex
+tex -ini &latex xmltex
+tex -ini \&latex xmltex
+
+

+

This will produce a format file xmltex.fmt. You should then +be able to make a xmltex command by copying the way the +latex command is defined in terms of +latex.fmt. Depending on the TeX system, this might be a +symbolic link, or a shell script, or batch file, or a configuration +option in a setup menu. + +

+ +

+ Making an xmltex format `from scratch'

+ +

+Whilst it may be convenient to build an xmltex format as above, starting +from the LaTeX format. You may prefer to instead work with an initex +with no existing format file. Even if you wish to use a standard LaTeX +it may be preferable to make a TeX input file that first inputs +latex.ltx then xmltex.tex. In particular this +will allow you to have a different hyphenation and language +customisation for xmltex than for LaTeX. Many of the features of +the language support in LaTeX are related to modifying the input +syntax to be more convenient. Such changes are not needed in xmltex as +the input syntax is always XML. Some language files may change the +meaning of such characters as < which would break the xmltex parser. +Also, rather than using latex.ltx you could in principle +use a modified docstrip install file and produce a +`cut down' latex that did not have features that are not going to be +used in xmltex. +

+

+Unfortunately the support for this method of building xmltex (and access +to non English hyphenation generally) is not fully designed and totally +undocumented.

+ + +

+Using xmltex

+ +

+xmltex by default `knows' nothing about any particular type of XML +file, and so needs to load external files containing specific +information. This section describes how the information in the XML +file determines which files will be loaded. + +

    +
  1. If the file begins with a Byte Order Mark, the default encoding + is set to utf-16. Otherwise the default encoding is utf-8. +
  2. +
  3. If (after an optional BOM) the document begins with an XML + declaration that specifies an encoding, this encoding will be used, + otherwise the default encoding will be used. A file with name of the + form encoding.xmt will be loaded that maps the + requested encoding to Unicode positions. (It is an error if this + file does not exist for the requested encoding.) +
  4. +
  5. If the document has a DOCTYPE declaration that includes + a local subset then this will be parsed. If any external DTD entity + is referenced (by declaring and then referencing a parameter entity) + then the SYSTEM and PUBLIC identifiers of this entity will be looked + up in a catalogue (to be described below). If either identifier is + known in the catalogue the corresponding xmltex package (often with + .xmt extension) will be loaded. +
  6. +
  7. After any local subset has been processed, if the DOCTYPE + specifies an external entity, the PUBLIC and/or SYSTEM identifiers + of the external dtd file will be similarly looked up, and a + corresponding xmltex file loaded if known. +
  8. +
  9. As each element is processed, it may be `known' to xmltex by + virtue of one of the packages loaded, or it may be unknown. If it is + unknown then if it is in a declared namespace, the namespace URI + (not the prefix) is looked up in the xmltex catalogue. If the + catalogue specifies an xmltex package for this namespace it will be + loaded. If the element is not in a namespace, then the element name + will be looked up in the catalogue. +
  10. +
  11. If after all these steps the element is still unknown then + depending on the configuration setting either a warning or an error + will be displayed. (Currently only warning implemented.) +
  12. +
+

+

+The xmltex Catalogue

+

As discussed above, xmltex requires a mapping between PUBLIC and +SYSTEM identifiers, namespace URI, and element names, to files of +TeX code. This mapping is implemented by the following commands: +

+\NAMESPACE{URI}{xmt-file}
+\PUBLIC{FPI}{file}
+\SYSTEM{URI}{file}
+\NAME{element-name}{xmt-file}
+\XMLNS{element-name}{URI}
+
+As described above, if the first argument of one of these commands +matches the string specified in the XML source file, the corresponding +TeX commands in the file specified in the second argument are +loaded. The PUBLIC and SYSTEM catalogue entries may also be used +to control which XML files should be input in response to external +entity references. The \XMLNS is rather different, +if an element in the null namespace does not have any definition +attatched to it, this declaration forces the default namespace to the +given URI. The catalogue lookup is then repeated. This allows for +example documents beginning <html> to be coerced into +the xhtml namespace.

+

These commands may be placed in a configuration file, either +xmltex.cfg, in which case they apply to all documents, +or in a configuration file `\jobname.cfg' (eg +document.cfg in the example in the Introduction) in which +case the commands just apply to the specified document. +

+ + +

+Configuring xmltex

+ +

In addition to the `catalogue' commands described earlier there are +other commands that may be placed in the configuration files. + +

    +
  • +\xmltraceonly +

    +

    This stops xml from trying to typeset the + document. The external files specified in the catalogue are still + loaded, so that the trace may report any elements for which no code + is defined, but no actual typesetting takes place. In the event of + unknown errors it is always worth using xmltex in this mode to + isolate any problems.

    +

    It may be noted that if an xmltex format is built just using initex +without any typesetting commands, the resulting format should still +be able to parse any XML file if xmltex.cfg just specifies +\xmltraceonly and \jobname.cfg is empty.

    +
  • +
  • +\xmltraceoff +

    +

    By default xmltex provides a trace of its XML parse, displaying + each element begin and end. This command used in xmltex.cfg or + `\jobname.cfg' will stop this trace being produced.

    +
  • + +
  • +

    \inputonce{xmt-file}

    +

    The catalogue entries specify that + certain files should be loaded if XML constructs are met. + Alternatively the files may just always be loaded. The system will + ignore any later requests to load. This is especially useful if an + xmltex format is being made.

    +
  • +
  • +

    +\UnicodeCharacter{hex-or-dec}{tex-code}

    +

    The first argument specifies a unicode character number, in the same +format as used for XML character entities, namely either a decimal +number, or an upper case Hex number preceded by a lower case +`x'.

    +

    The second argument specifies arbitrary TeX code to be used when +typesetting this character. Any code in the XML +range may be specified (ie up to x10FFFF). Although codes in the +`ASCII' range, below 128, may be specified, the definitions supplied +for such characters will not be default be used. The definition will +howeverbe stored and used if the character is activated using the +command described below.

    +
  • +
  • +\ActivateASCII{hex-or-dec}

    +

    The argument to this command should be a number less than 128. +If a character us activated by this command in a configuration file +then any special typesetting instructions specified for the character +will be executed whenever the character appears as character data.

    +

    Some ASCII characters are activated by default. The list is +essentially those characters with special meanings to either TeX or +XML.

    +
  • + +
+

+

+If a format is being made, there are essentially two copies of +xmltex.cfg that may play a role. The configuration file +input when the format is made will control catalogue entries and +packages built into the format. A possibly different +xmltex.cfg may be used in the input path of `normal' TeX, +this will then be used for additional information loaded each run.

+

In either case, a separate configuration file specific to the given +XML document may also be used (which is loaded immediately after +xmltex.cfg). +

+ + + +

+Stopping xmltex

+ +

xmltex should stop after the end of the document +element has been processed. If things go wrong and +you end up at the interactive +* prompt you might want to exit with +<?xmltex \stop?>). +

+ + +

+xmltex package files

+ +

+xmltex package files are the link between the XML markup and TeX +typesetting code. They are written in TeX (rather than XML) syntax +and may load directly or indirectly other files, including LaTeX +class and package files. For example a file loaded for a particular +document type may directly execute \LoadClass{article}, or +alternatively it may cause some XML element in the document to +execute \documentclass{article}. In either case the document will +suffer the dubious benefit of being formatted based on the style +implemented in article.cls. Beware though that the package +files may be loaded at strange times, the first time a given namespace +is declared in a document, and so the code should be written to work +if loaded inside a local group.

+

Characters in xmltex package files have their normal LaTeX meanings +except that line endings are ignored so that you do not need to add +a % to the end of lines in macro code. Unlike fd file conventions, other +white space is not ignored.

+

The available commands are: + +

    +
  • +

    +\FileEncoding{encoding}

    +

    This is the analogue for TeX syntax files of the encoding specification +in the XML or text declaration of XML files. If it is not specified the +file will be assumed to be in UTF-8.

    +
  • + +
  • +

    +\DeclareNamespace{prefix}{URI}

    +

    This declares a prefix to be used in this file for referring to +elements in the specified namespace. If the prefix is empty then this +declares the default namespace (otherwise, unprefixed element names +refer to elements that are not in a namespace).

    +

    Note that the elements in the XML document instance may use a +different prefix, or no prefix at all to access this namespace. +In order to resolve these different prefixes for the same namespace, +each time a namespace is encountered for the first time (either +by \DeclareNamespace in a preloaded package, or in a namespace +declaration in the XML instance) then it is allocated a new number +and any further namespace declaration for the same URI just locally +associates a prefix with this number. It is these numbers that are +displayed when the XML trace of the parse of the document is shown, +and also if any element is written out to an external file it will +have a normalised prefix of a number whichever prefix it had +originally. (Numeric prefixes are not legal XML, but this is an +advantage, it ensures these internal forms can not clash with any +prefix actually used in the document.)

    +

    Three namespaces are predeclared. The null namespace (0), the XML +namespace (http://www.w3.org/1998/xml) (1) which is predeclaed +with prefix xml as specified in the Namespace Recommendation, +and the xmltex namespace +(http://www.dcarlisle.demon.co.uk/xmltex) (2) which is not +given a default prefix, but may be used to have XML syntax for some +internal commands (eg to have .aux files fully in XML, currently they +are a hybrid mixture of some TeX and some XML syntax). +

    +
  • +
  • +

    + \XMLelement{element-qname}{attribute-spec} +{begin-code}{end-code}

    +

    This is similar to a LaTeX \newenvironment command.

    +

    Declare the code to execute at the start and end of each instance of +this element type. This code will be executed in a local group (like a +LaTeX environment). The second argument declares a list of attributes +and their default values using the \XMLattribute command +described below. +

    +
  • +
  • +

    + \XMLelement{element-qname} +{attribute-spec} +{\xmlgrab}{end-code}

    +

    A special case of the above command (which may be better made into a + separate declaration) is to make the start-code just be the command + \xmlgrab. In this case the end-code has access to the + element content (in XML syntax) as #1. This content isn't + literally the same as the original document, namespaces, white space + and attribute quote symbols will all have been normalised. +

    +
  • +
  • + \XMLattribute{attribute-qname} +{command-name}{default}

    +

    This command may only be used in the argument to +\XMLelement. + The first argument specifies the name of an attribute (using any + namespace prefixes current for this package file, which need not + be the same as the prefixes used in the document). + The second argument gives a TeX command name that will be used to + access the value of this attribute in the begin and end code for the + element. (Note using TeX syntax here provides a name independednt of + the namespace declarations that are in scope when this code is executed). + The third argument provides a default value that wil be used if the +attribute is not used on an instance of this element. +

    +

    The special token \inherit may be used which will cause +the command to have a value set in an ancestor element if this element +does not specify any value.

    +

    If a TeX token such as \relax is used as the default +the element code may distinguish the case that the attribute is not used +in the document.

    +
  • +
  • + \XMLnamespaceattribute +{prefix}{attribute-qname} +{command-name}{default}

    +

    This command is similar to \XMLattribute + but is used at the top level of the package file, not in the argument +to \XMLelement. It is equivalent to specifying the +attribute in every element in the namespace specified by +the first argument. As usual the prefix (which may be {} to denote the +default namespace) refers to the namespace declarations in the xmltex +package: the prefixes used in the document may be different.

    +
  • + +
  • +

    +\XMLentity{name}{code}

    +

    Declare an (internal parsed) entity, this is equivalent to a +<!ENTITY declaration, except that the +replacement text is specified in TeX syntax.

    +
  • + +
  • +

    +\XMLname{name}{command-name}

    +

    Declare the TeX command to hold the (normalised, internal form) of +the XML name given in the first argument. This allows the code specified in +\XMLelement to refer to XML element names without knowing +the encodings or namespace prefixes used in the document. Of particular +use might be to compare such a name with \ifx\XML@parent +which will allow element code to take different actions depending on +the parent of the current element.

    +
  • + + +
  • +

    +\XMLstring{command-name}<>XML Data</>

    +

    This saves the XML fragment as the TeX command given in the first +argument. It may be particularly useful for redefining `fixed strings' +that are generated by LaTeX document classes to use any special +typesetting rules specified for individual characters.

    +

    It should also be used for defining any strings used to +in comparison tests with strings occurring in the XML document. +Using \XMLstring rather than \def ensures +that the characters and encodings in the string are correctly normalised.

    +
  • + + +
+ +

+ +

+XML processing

+ +

+xmltex tries as far as possible to be a fully conforming non +validating parser. It fails in the following respects. +

    +
  • Error reporting is virtually non existent. Names are not checked + against the list of allowed characters, and various other + constraints are not enforced. +
  • +
  • +

    A non validating parser is not forced to read external dtd + entities (and this one does not) It is obliged to read the local + subset and process entity definitions and attribute declarations. + Entity declarations are reasonably well handled: External parameter + entities are handled as above, loading a corresponding xmltex file + if known. External entities are similarly processed, inputting + the XML file, a difference in this case is that if the entity is not + found in the catalogue, the SYSTEM identifier will be used directly + to \input as often this is a local file reference. Internal + parsed entities and parameter entities are essentially treated as + TeX macros, and nonparsed entities are saved along with their + NDATA type, for use presumably by \includegraphics.

    +

    Attribute defaults are processed in the local subset of the dtd, however + note that this is `namespace unaware' defaulting and only applies to + elements using the same prefix and local name, unlike the defaulting + done by \XMLattribute.

    +
  • +
  • +

    Support for encodings depends on having an encoding mapping + file. Any 8bit encoding that matches Unicode for the first 127 positions + may be used by making a trivial mapping file. (The one for latin1 + looks over complicated as it programs a loop rather than having 127 + declarations saying that latin1 and Unicode are identical in this + range).

    +

    UTF-8 is supported, but support for UTF-16 is minimal. Currently + only latin-1 values work: (In this range UTF-16 is just latin-1 with + a null byte inserted after (or before, depending on endedness) + each latin-1 byte. The UTF-16 implementation just ignores this null + byte then processes as for latin-1. Probably the first few 8bit + pages could be similarly supported by making the low ascii control + characters activate UTF-16 processing but this will never be + satisfactory using a standard TeX. Hopefully a setup for a 16bit + TeX such as Omega will correct this.

    +
  • +
+ +

+ +

+Accessing TeX

+ +

In theory you should be able to control the document just be suitable +code specified by \XMLelement and friends, but sometimes it may be +necessary to `tweak' the output by placing commands directly in the +source.

+

Two mechanisms are availalable to do this. +

    +
  • +

    Using the xmltex namespace. The xmltex namespace conatins a + small (currently empty) set of useful TeX constructs that are + accessed by XML syntax. For example if xmltex provides a mechanism + for having XML (rather than LaTeX) syntax toc files, it will need + an analogue of \contentsline which might be an element + accessed by <xmltex:contentsline>… where the xmltex + prefix is declared on this or a parent element to be + xmlns:xmltex="http://www.dcarlisle.demon.co.uk/xmltex".

    +

    As the xmltex namespace is declared but currently empty, a more + useful variant of this might be:

    +
  • +
  • Declare your own namespace for TeX tweaks, and load a suitable + package file that attatches TeX code to the elements in this + namespace (or at least specify the correspondence between the + namespace and the package using \NAMESPACE). + For instance if you put <clearpage xmlns="/my/tex/tweak"/> + in your document, this will force a page break if you have at + suitable points, \NAMESPACE{/my/tex/tweak}{tweak.xmt} + and +
    +\DeclareNamespace{tweak}{"/my/tex/tweak"}
    +\XMLelement{tweak:clearpage}{\clearpage}
    +
    +
  • +
  • +

    A second different mechanism is available, to use XML processing + instructions. A Processing Instruction of the form: +<?xmltex> TeX commands ?> +will execute the TeX commands.

    +
  • +
+ +

+ + +

+Bugs

+ +

None, of course.

+ + +

+Don't Read Past This Point

+ +

Thus section discusses some of the more experimental features of xmltex +that may get a cleaner syntax (or be removed, as a bad idea) in later releases, +and also describes some of the internal interfaces (which are also +subject to change)

+ +

+Input Encodings and States

+ +

At any point while processing a document, xmltex is in one of two +states: tex or xml.

+

+States

+

In the xml state, + < and & are the only two characters that +trigger special markup codes. Other characters, such as !, >, =, +… may be used in certain XML constructs as markup but unless +some code has been triggered by < they are treated simply as +character data. All characters above 127 are `active' to TeX +and are used to translate the input encoding to UTF-8. All internal +character handling is based on UTF-8, as described below. Some +characters in the ASCII range, below 127 are also active by default +(mainly punctuation characters used in XML constructs, such as +the ones listed above). Some or all of the others may be activated +using the \ActivateASCII command, which allows special +typesetting rules to be activated for the characters, at some cost in +processing speed.

+

In the tex state, +characters in the ASCII range have their usual +TeX meanings, so letters are `catcode 11' and may be used in TeX +control sequences, \ is the escape character, & the table cell +separator, etc. Characters above 127 have the meanings current for the +current encoding just as for the xml state, probably this means that +they are unusable in TeX code, except for the special case of +referring to XML element names in the first argument to +\XMLelement and releated commands.

+ +

+Encodings

+

Whenever a new (XML or TeX) file is input by the xmltex system the +encoding is first switched to UTF-8. At the end of the +input the encoding is returned to whatever was the current encoding. +The encoding current while the file is read is determined by the +encoding pseudo-attribute on the XML or text declaration in the case +of XML files, or by the \FileEncoding command for TeX +files. Note that the encoding mechanism only is triggered +by xmltex file includes. Once an xmltex package file is loaded it may +include other TeX files by \input or +\includepackage these input command swill be transparent +to the xmltex encoding system. The vast majority of TeX macro +packages only use ASCII characters so this should not be a +problem.

+

Note that if the \includepackage occurs directly in +the xmltex package file, the TeX code will be included with a known +encoding, the one specified in the xmltex package, or UTF-8. If +however the \includepackage is included in code specified +by \XMLelement, then it will be executed with whatever +encoding is current in the document at the point that element is +reached. Before xmltex executes the code for that element it will +switch to the tex state, thus normalising the ascii characters +but characters above 127 will not have predefined definitions in this +case.

+

Internally eveything is stored as UTF-8. So `aux' and `toc' files +will be in UTF-8 even if the document (or parts of the document) used +different encodings.

+

To specify a new encoding, if it is an 8 bit encoding that matches +ASCII in the printable ASCII range, then one just needs to produce a +file with name encoding.xmt (in lowercase, +on case sensitive systems) this should consist of a series of +\InputCharacter commands, giving the input character slot +and the equivalent Unicode. If an encoding is specified in this manner +character data will be converted to UTF-8 by expansion +and so ligatures and inter letter kerns will be preserved. (Conversely +if characers are accessed by character references, &#1234; then +TeX arithmetic is used to decode the information and ligature +information will be lost. For some large character sets, especially +for Asian languages, these mechanisms will probably not prove to be +sufficient, some mechanisms are being investigated, but in the short +term it may be necessary to always use UTF-8 if the input encoding +is not strictly a ine byte extension of the ASCII code page. +

+ + + +

+xmltex Package Commands

+ +

You can use arbitrary TeX commands in an xmltex package, +althought you should be aware that the file may be input into a local +group, at the point in a document that a particular namespace is first +used, for example. There are however some specific commands designed +to be used in the begin or end code of \XMLElement. +

    + +
  • +

    +\ignorespaces +

    +

    This is actually a TeX primitive +(for the moment!)

    +
  • + +
  • +

    +\obeyspaces +

    +

    Obey consecutive space characters, +rather than treating consecutive runs as a single space. +(A command of this name, but not this definition is in plain TeX.)

    +
  • + +
  • +

    +\obeylines +

    +

    Obey end of line characters, +rather than treating then as a space, force a line break. +(A command of this name, but not this definition is in plain TeX.)

    +
  • + +
  • +

    +\xmltexfirstchild#1\@ +

    +

    If the start-code for an element is specified as +\xmlgrab then the end-code may use +#1 in order to execute the element content. Sometimes you +do not want all of the content. The a construction (with currently +unpleasant syntax) \xmltexfirstchild#1\@ will just evaluate +the first child element of the content, discarding the remaining +elements.

    +
  • + +
  • +

    +\xmltextwochildren\csa\csb#1 +

    +

    If you know that the content will be exactly two child elements (for +examle a MathML frac or sub element) then this command may be used. +It will execute the TeX code +\csa{child-1}\csb{child-2 +So either two TeX command smay be supplied, one will be applied to +each child, or the second argument may be {} in which case +the first argument may be a TeX command that takes two arguments. +For example the code for MathMl frac might be +

    +\XMLelement{m:mfrac}
    +  {}
    +  {\xmlgrab}
    +  {\xmltextwochildren\frac{}#1}
    +
    +

    +
  • + +
  • +

    +\xmltexthreechildren\csa\csb\csc#1 +

    +

    As above, but more so.

    +
  • + +
  • +

    +\xmltexforall\csa{#1} +

    +

    The TeX command \csa is called repeatedly, +taking each child element of the current element as argument +on each iteration. As a convenience the command \xml@name +is defined before each iteration to have the (internal, normalised) +name of the element being processed.

    +
  • + +
  • +

    +\NDATAEntity\csa\csb\attvalue +

    +

    If the XML parser encounters an internalor external entity reference +it expands it without executing any special hook that may be defined in +an xmltex package. However NDATA entites are never directly encountered +in an entity reference. They may only be used as an attribute value. +If \attvalue. is a TeX command holding the value of an +attribute, as declared in \XMLattribute then +\NDATAEntity\csa\csb\attvalue applies the two TeX +commands \csa and \csb to the notation type +and the value, in a way exactly corresponding to +\xmltextwochildren so for example the XML document for this +manual specifies +

    + <!NOTATION URL SYSTEM "" >
    + <!ENTITY lppl SYSTEM "http://www.latex-project.org/lppl.txt" NDATA URL>
    +
    +and this is handled by the following xmltex code +
    +\XMLelement{xptr}
    + {\XMLattribute{doc}{\xptrdoc}{}}
    + {\NDATAEntity\xptrdoc\@gobble\url}
    + {}
    +
    +which saves the attribute value in \xptrdoc and then +discards the notation name (URL) and applies the command +\url to typeset the supplied URL. +

    +
  • + +
+

+ + + +

+Character Data Internals

+ +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int.ext. xmlext. mixedcsn typeout
dxabcxabcxabc (12)xabc (12)xabc (12)
cxabxabxab (12)xab (12)xab (12)
bxaxaxa (12)xa (12)xa (12)
axxxxxx (12)(!)
ayxxx&#123;x (12)(e)
azx\az x&#123;&#123;x (12)(&lt;)
<<<<<< (12)(<)
+
+ +

+ + + + + + +
+
+[NAG +| NAG +] +
+
+
+ Last updated: Date: 2000-02-02. +
Copyright 2000 David Carlisle, NAG + +
+ + diff --git a/macros/plain/formats/xmltex/base/manual.tex b/macros/plain/formats/xmltex/base/manual.tex new file mode 100644 index 0000000000..d788efe2fe --- /dev/null +++ b/macros/plain/formats/xmltex/base/manual.tex @@ -0,0 +1,4 @@ +\def\xmlfile{manual.xml} +\input xmltex + + diff --git a/macros/plain/formats/xmltex/base/manual.xml b/macros/plain/formats/xmltex/base/manual.xml new file mode 100644 index 0000000000..610938913f --- /dev/null +++ b/macros/plain/formats/xmltex/base/manual.xml @@ -0,0 +1,799 @@ + + + + + + + + + + +]> + + + + + xmltex + + + +

+ This file is distributed under the LaTeX Project Public License + (LPPL) as found at . + Either version 1.0, or at your option, any later version. +

+
+
+ +

+
+
+ + + + + + February 2nd 2000 + David CarlisleUpdated) + January 24th 2000 + David CarlisleUpdated) + January 19th 2000 + David CarlisleUpdated) + January 18th 2000 + David CarlisleUpdated) + January 15th 2000 + David CarlisleUpdated) + January 10th 2000 + Sebastian Rahtzcorrections + January 10th 2000 + David CarlisleUpdated (in XML) + January 6th 2000 + Sebastian RahtzConverted to TEI XML + January 6th 2000 + David Carlislewritten in LaTeX + + +
+ + + + xmltex: A non validating (and not 100% + conforming) namespace aware XML parser implemented in &TeX; + + Date: 2000-02-02 + davidc@nag.co.uk + David Carlisle + + +
+Introduction +

+xmltex implements +a non validating parser for documents matching the +W3C XML Namespaces Recommendation. + + +The system may just be used to parse the file (expanding entity +references and normalising namespace declarations) in which case it +records a trace of the parse on the terminal. Normally however the +information from the parse is used to trigger &TeX; typesetting code. +Declarations (in &TeX; syntax) are provided as part of xmltex to +associate &TeX; code with the start and end of each XML element, +attributes, processing instructions, and with unicode character data. +

+
+ +
+Installation +

The xmltex parser itself does not require &LaTeX;. It may be loaded +into initex to produce a format capable of parsing XML files. However +such a format would have no convenient commands for typesetting, and +so normally xmltex will be used on top of an existing format, normally +&LaTeX;. In this section we assume that the document to be +processed is called document.xml. +

+
+Using xmltex as an input to the &LaTeX; command +

&LaTeX; requires a document in &TeX; syntax, not XML. To process +document.xml, first produce a two line file called +document.tex of the following form: + +\def\xmlfile{document.xml} +\input xmltex.tex + + +Do not put any other commands in this file!

+

You may then process the document with either of the commands: +latex document or latex document.tex +or the equivalent procedure in your &TeX; environment. +

+
+
+Using xmltex as a &TeX; format built on &LaTeX; +

+You may prefer to set up xmltex as a format in its own right. +This may speed things up slightly (as xmltex.tex does not +have to be read each time) but more importantly perhaps it allows the +XML file to be processed directly without needing to make the +.tex wrapper.

+

To make a format you will need a command such as the following, +depending on your &TeX; system. + +initex &latex xmltex +initex \&latex xmltex +tex -ini &latex xmltex +tex -ini \&latex xmltex +

+

This will produce a format file xmltex.fmt. You should then +be able to make a xmltex command by copying the way the +latex command is defined in terms of +latex.fmt. Depending on the &TeX; system, this might be a +symbolic link, or a shell script, or batch file, or a configuration +option in a setup menu. + +

+
+
+ Making an xmltex format `from scratch' +

+Whilst it may be convenient to build an xmltex format as above, starting +from the &LaTeX; format. You may prefer to instead work with an initex +with no existing format file. Even if you wish to use a standard &LaTeX; +it may be preferable to make a &TeX; input file that first inputs +latex.ltx then xmltex.tex. In particular this +will allow you to have a different hyphenation and language +customisation for xmltex than for &LaTeX;. Many of the features of +the language support in &LaTeX; are related to modifying the input +syntax to be more convenient. Such changes are not needed in xmltex as +the input syntax is always XML. Some language files may change the +meaning of such characters as < which would break the xmltex parser. +Also, rather than using latex.ltx you could in principle +use a modified docstrip install file and produce a +`cut down' latex that did not have features that are not going to be +used in xmltex. +

+

+Unfortunately the support for this method of building xmltex (and access +to non English hyphenation generally) is not fully designed and totally +undocumented.

+
+
+
+Using xmltex +

+xmltex by default `knows' nothing about any particular type of XML +file, and so needs to load external files containing specific +information. This section describes how the information in the XML +file determines which files will be loaded. + + + If the file begins with a Byte Order Mark, the default encoding + is set to utf-16. Otherwise the default encoding is utf-8. + + If (after an optional BOM) the document begins with an XML + declaration that specifies an encoding, this encoding will be used, + otherwise the default encoding will be used. A file with name of the + form encoding.xmt will be loaded that maps the + requested encoding to Unicode positions. (It is an error if this + file does not exist for the requested encoding.) + + If the document has a DOCTYPE declaration that includes + a local subset then this will be parsed. If any external DTD entity + is referenced (by declaring and then referencing a parameter entity) + then the SYSTEM and PUBLIC identifiers of this entity will be looked + up in a catalogue (to be described below). If either identifier is + known in the catalogue the corresponding xmltex package (often with + .xmt extension) will be loaded. + + After any local subset has been processed, if the DOCTYPE + specifies an external entity, the PUBLIC and/or SYSTEM identifiers + of the external dtd file will be similarly looked up, and a + corresponding xmltex file loaded if known. + + As each element is processed, it may be `known' to xmltex by + virtue of one of the packages loaded, or it may be unknown. If it is + unknown then if it is in a declared namespace, the namespace URI + (not the prefix) is looked up in the xmltex catalogue. If the + catalogue specifies an xmltex package for this namespace it will be + loaded. If the element is not in a namespace, then the element name + will be looked up in the catalogue. + + If after all these steps the element is still unknown then + depending on the configuration setting either a warning or an error + will be displayed. (Currently only warning implemented.) + + +

+
The xmltex Catalogue +

As discussed above, xmltex requires a mapping between PUBLIC and +SYSTEM identifiers, namespace URI, and element names, to files of +&TeX; code. This mapping is implemented by the following commands: + +\NAMESPACE{URI}{xmt-file} +\PUBLIC{FPI}{file} +\SYSTEM{URI}{file} +\NAME{element-name}{xmt-file} +\XMLNS{element-name}{URI} + +As described above, if the first argument of one of these commands +matches the string specified in the XML source file, the corresponding +&TeX; commands in the file specified in the second argument are +loaded. The PUBLIC and SYSTEM catalogue entries may also be used +to control which XML files should be input in response to external +entity references. The \XMLNS is rather different, +if an element in the null namespace does not have any definition +attatched to it, this declaration forces the default namespace to the +given URI. The catalogue lookup is then repeated. This allows for +example documents beginning <html> to be coerced into +the xhtml namespace.

+

These commands may be placed in a configuration file, either +xmltex.cfg, in which case they apply to all documents, +or in a configuration file `\jobname.cfg' (eg +document.cfg in the example in the Introduction) in which +case the commands just apply to the specified document. +

+
+ +
+Configuring xmltex +

In addition to the `catalogue' commands described earlier there are +other commands that may be placed in the configuration files. + + +

\xmltraceonly

+

This stops xml from trying to typeset the + document. The external files specified in the catalogue are still + loaded, so that the trace may report any elements for which no code + is defined, but no actual typesetting takes place. In the event of + unknown errors it is always worth using xmltex in this mode to + isolate any problems.

+

It may be noted that if an xmltex format is built just using initex +without any typesetting commands, the resulting format should still +be able to parse any XML file if xmltex.cfg just specifies +\xmltraceonly and \jobname.cfg is empty.

+ +

\xmltraceoff

+

By default xmltex provides a trace of its XML parse, displaying + each element begin and end. This command used in xmltex.cfg or + `\jobname.cfg' will stop this trace being produced.

+
+ +

\inputonce{xmt-file}

+

The catalogue entries specify that + certain files should be loaded if XML constructs are met. + Alternatively the files may just always be loaded. The system will + ignore any later requests to load. This is especially useful if an + xmltex format is being made.

+
+

\UnicodeCharacter{hex-or-dec}{tex-code}

+

The first argument specifies a unicode character number, in the same +format as used for XML character entities, namely either a decimal +number, or an upper case Hex number preceded by a lower case +`x'.

+

The second argument specifies arbitrary &TeX; code to be used when +typesetting this character. Any code in the XML +range may be specified (ie up to x10FFFF). Although codes in the +`ASCII' range, below 128, may be specified, the definitions supplied +for such characters will not be default be used. The definition will +howeverbe stored and used if the character is activated using the +command described below.

+
+

\ActivateASCII{hex-or-dec}

+

The argument to this command should be a number less than 128. +If a character us activated by this command in a configuration file +then any special typesetting instructions specified for the character +will be executed whenever the character appears as character data.

+

Some ASCII characters are activated by default. The list is +essentially those characters with special meanings to either &TeX; or +XML.

+
+ + +

+

+If a format is being made, there are essentially two copies of +xmltex.cfg that may play a role. The configuration file +input when the format is made will control catalogue entries and +packages built into the format. A possibly different +xmltex.cfg may be used in the input path of `normal' &TeX;, +this will then be used for additional information loaded each run.

+

In either case, a separate configuration file specific to the given +XML document may also be used (which is loaded immediately after +xmltex.cfg). +

+
+
+ +
+Stopping xmltex +

xmltex should stop after the end of the document +element has been processed. If things go wrong and +you end up at the interactive +* prompt you might want to exit with +]]>). +

+
+ +
+xmltex package files +

+xmltex package files are the link between the XML markup and &TeX; +typesetting code. They are written in &TeX; (rather than XML) syntax +and may load directly or indirectly other files, including &LaTeX; +class and package files. For example a file loaded for a particular +document type may directly execute \LoadClass{article}, or +alternatively it may cause some XML element in the document to +execute \documentclass{article}. In either case the document will +suffer the dubious benefit of being formatted based on the style +implemented in article.cls. Beware though that the package +files may be loaded at strange times, the first time a given namespace +is declared in a document, and so the code should be written to work +if loaded inside a local group.

+

Characters in xmltex package files have their normal &LaTeX; meanings +except that line endings are ignored so that you do not need to add +a % to the end of lines in macro code. Unlike fd file conventions, other +white space is not ignored.

+

The available commands are: + + +

\FileEncoding{encoding}

+

This is the analogue for &TeX; syntax files of the encoding specification +in the XML or text declaration of XML files. If it is not specified the +file will be assumed to be in UTF-8.

+ + +

\DeclareNamespace{prefix}{URI}

+

This declares a prefix to be used in this file for referring to +elements in the specified namespace. If the prefix is empty then this +declares the default namespace (otherwise, unprefixed element names +refer to elements that are not in a namespace).

+

Note that the elements in the XML document instance may use a +different prefix, or no prefix at all to access this namespace. +In order to resolve these different prefixes for the same namespace, +each time a namespace is encountered for the first time (either +by \DeclareNamespace in a preloaded package, or in a namespace +declaration in the XML instance) then it is allocated a new number +and any further namespace declaration for the same URI just locally +associates a prefix with this number. It is these numbers that are +displayed when the XML trace of the parse of the document is shown, +and also if any element is written out to an external file it will +have a normalised prefix of a number whichever prefix it had +originally. (Numeric prefixes are not legal XML, but this is an +advantage, it ensures these internal forms can not clash with any +prefix actually used in the document.)

+

Three namespaces are predeclared. The null namespace (0), the XML +namespace (http://www.w3.org/1998/xml) (1) which is predeclaed +with prefix xml as specified in the Namespace Recommendation, +and the xmltex namespace +(http://www.dcarlisle.demon.co.uk/xmltex) (2) which is not +given a default prefix, but may be used to have XML syntax for some +internal commands (eg to have .aux files fully in XML, currently they +are a hybrid mixture of some &TeX; and some XML syntax). +

+
+

+ \XMLelement{element-qname}{attribute-spec} +{begin-code}{end-code}

+

This is similar to a &LaTeX; \newenvironment command.

+

Declare the code to execute at the start and end of each instance of +this element type. This code will be executed in a local group (like a +&LaTeX; environment). The second argument declares a list of attributes +and their default values using the \XMLattribute command +described below. +

+
+

+ \XMLelement{element-qname} +{attribute-spec} +{\xmlgrab}{end-code}

+

A special case of the above command (which may be better made into a + separate declaration) is to make the start-code just be the command + \xmlgrab. In this case the end-code has access to the + element content (in XML syntax) as #1. This content isn't + literally the same as the original document, namespaces, white space + and attribute quote symbols will all have been normalised. +

+
+

+ \XMLattribute{attribute-qname} +{command-name}{default}

+

This command may only be used in the argument to +\XMLelement. + The first argument specifies the name of an attribute (using any + namespace prefixes current for this package file, which need not + be the same as the prefixes used in the document). + The second argument gives a &TeX; command name that will be used to + access the value of this attribute in the begin and end code for the + element. (Note using &TeX; syntax here provides a name independednt of + the namespace declarations that are in scope when this code is executed). + The third argument provides a default value that wil be used if the +attribute is not used on an instance of this element. +

+

The special token \inherit may be used which will cause +the command to have a value set in an ancestor element if this element +does not specify any value.

+

If a &TeX; token such as \relax is used as the default +the element code may distinguish the case that the attribute is not used +in the document.

+
+

+ \XMLnamespaceattribute +{prefix}{attribute-qname} +{command-name}{default}

+

This command is similar to \XMLattribute + but is used at the top level of the package file, not in the argument +to \XMLelement. It is equivalent to specifying the +attribute in every element in the namespace specified by +the first argument. As usual the prefix (which may be {} to denote the +default namespace) refers to the namespace declarations in the xmltex +package: the prefixes used in the document may be different.

+
+ +

\XMLentity{name}{code}

+

Declare an (internal parsed) entity, this is equivalent to a + declaration, except that the +replacement text is specified in &TeX; syntax.

+
+ +

\XMLname{name}{command-name}

+

Declare the &TeX; command to hold the (normalised, internal form) of +the XML name given in the first argument. This allows the code specified in +\XMLelement to refer to XML element names without knowing +the encodings or namespace prefixes used in the document. Of particular +use might be to compare such a name with \ifx\XML@parent +which will allow element code to take different actions depending on +the parent of the current element.

+
+ + +

\XMLstring{command-name}<>XML Data</>

+

This saves the XML fragment as the &TeX; command given in the first +argument. It may be particularly useful for redefining `fixed strings' +that are generated by &LaTeX; document classes to use any special +typesetting rules specified for individual characters.

+

It should also be used for defining any strings used to +in comparison tests with strings occurring in the XML document. +Using \XMLstring rather than \def ensures +that the characters and encodings in the string are correctly normalised.

+
+ + + + +

+
+
+XML processing +

+xmltex tries as far as possible to be a fully conforming non +validating parser. It fails in the following respects. + + Error reporting is virtually non existent. Names are not checked + against the list of allowed characters, and various other + constraints are not enforced. + +

A non validating parser is not forced to read external dtd + entities (and this one does not) It is obliged to read the local + subset and process entity definitions and attribute declarations. + Entity declarations are reasonably well handled: External parameter + entities are handled as above, loading a corresponding xmltex file + if known. External entities are similarly processed, inputting + the XML file, a difference in this case is that if the entity is not + found in the catalogue, the SYSTEM identifier will be used directly + to \input as often this is a local file reference. Internal + parsed entities and parameter entities are essentially treated as + &TeX; macros, and nonparsed entities are saved along with their + NDATA type, for use presumably by \includegraphics.

+

Attribute defaults are processed in the local subset of the dtd, however + note that this is `namespace unaware' defaulting and only applies to + elements using the same prefix and local name, unlike the defaulting + done by \XMLattribute.

+ +

Support for encodings depends on having an encoding mapping + file. Any 8bit encoding that matches Unicode for the first 127 positions + may be used by making a trivial mapping file. (The one for latin1 + looks over complicated as it programs a loop rather than having 127 + declarations saying that latin1 and Unicode are identical in this + range).

+

UTF-8 is supported, but support for UTF-16 is minimal. Currently + only latin-1 values work: (In this range UTF-16 is just latin-1 with + a null byte inserted after (or before, depending on endedness) + each latin-1 byte. The UTF-16 implementation just ignores this null + byte then processes as for latin-1. Probably the first few 8bit + pages could be similarly supported by making the low ascii control + characters activate UTF-16 processing but this will never be + satisfactory using a standard &TeX;. Hopefully a setup for a 16bit + &TeX; such as Omega will correct this.

+
+ + +

+
+
+Accessing &TeX; +

In theory you should be able to control the document just be suitable +code specified by \XMLelement and friends, but sometimes it may be +necessary to `tweak' the output by placing commands directly in the +source.

+

Two mechanisms are availalable to do this. + +

Using the xmltex namespace. The xmltex namespace conatins a + small (currently empty) set of useful &TeX; constructs that are + accessed by XML syntax. For example if xmltex provides a mechanism + for having XML (rather than &LaTeX;) syntax toc files, it will need + an analogue of \contentsline which might be an element + accessed by xmltex:contentsline&ldots; where the xmltex + prefix is declared on this or a parent element to be + xmlns:xmltex="http://www.dcarlisle.demon.co.uk/xmltex".

+

As the xmltex namespace is declared but currently empty, a more + useful variant of this might be:

+ + Declare your own namespace for &TeX; tweaks, and load a suitable + package file that attatches &TeX; code to the elements in this + namespace (or at least specify the correspondence between the + namespace and the package using \NAMESPACE). + For instance if you put clearpage xmlns="/my/tex/tweak"/ + in your document, this will force a page break if you have at + suitable points, \NAMESPACE{/my/tex/tweak}{tweak.xmt} + and + +\DeclareNamespace{tweak}{"/my/tex/tweak"} +\XMLelement{tweak:clearpage}{\clearpage} + + +

A second different mechanism is available, to use XML processing + instructions. A Processing Instruction of the form: +?xmltex &TeX; commands ?> +will execute the &TeX; commands.

+
+ + +

+
+ +
+Bugs +

None, of course.

+
+ +
+Don't Read Past This Point +

Thus section discusses some of the more experimental features of xmltex +that may get a cleaner syntax (or be removed, as a bad idea) in later releases, +and also describes some of the internal interfaces (which are also +subject to change)

+ +
+Input Encodings and States +

At any point while processing a document, xmltex is in one of two +states: tex or xml.

+
States +

In the xml state, + < and & are the only two characters that +trigger special markup codes. Other characters, such as !, >, =, +&ldots; may be used in certain XML constructs as markup but unless +some code has been triggered by < they are treated simply as +character data. All characters above 127 are `active' to &TeX; +and are used to translate the input encoding to UTF-8. All internal +character handling is based on UTF-8, as described below. Some +characters in the ASCII range, below 127 are also active by default +(mainly punctuation characters used in XML constructs, such as +the ones listed above). Some or all of the others may be activated +using the \ActivateASCII command, which allows special +typesetting rules to be activated for the characters, at some cost in +processing speed.

+

In the tex state, +characters in the ASCII range have their usual +&TeX; meanings, so letters are `catcode 11' and may be used in &TeX; +control sequences, \ is the escape character, & the table cell +separator, etc. Characters above 127 have the meanings current for the +current encoding just as for the xml state, probably this means that +they are unusable in &TeX; code, except for the special case of +referring to XML element names in the first argument to +\XMLelement and releated commands.

+
+
Encodings +

Whenever a new (XML or &TeX;) file is input by the xmltex system the +encoding is first switched to UTF-8. At the end of the +input the encoding is returned to whatever was the current encoding. +The encoding current while the file is read is determined by the +encoding pseudo-attribute on the XML or text declaration in the case +of XML files, or by the \FileEncoding command for &TeX; +files. Note that the encoding mechanism only is triggered +by xmltex file includes. Once an xmltex package file is loaded it may +include other &TeX; files by \input or +\includepackage these input command swill be transparent +to the xmltex encoding system. The vast majority of &TeX; macro +packages only use ASCII characters so this should not be a +problem.

+

Note that if the \includepackage occurs directly in +the xmltex package file, the &TeX; code will be included with a known +encoding, the one specified in the xmltex package, or UTF-8. If +however the \includepackage is included in code specified +by \XMLelement, then it will be executed with whatever +encoding is current in the document at the point that element is +reached. Before xmltex executes the code for that element it will +switch to the tex state, thus normalising the ascii characters +but characters above 127 will not have predefined definitions in this +case.

+

Internally eveything is stored as UTF-8. So `aux' and `toc' files +will be in UTF-8 even if the document (or parts of the document) used +different encodings.

+

To specify a new encoding, if it is an 8 bit encoding that matches +ASCII in the printable ASCII range, then one just needs to produce a +file with name encoding.xmt (in lowercase, +on case sensitive systems) this should consist of a series of +\InputCharacter commands, giving the input character slot +and the equivalent Unicode. If an encoding is specified in this manner +character data will be converted to UTF-8 by expansion +and so ligatures and inter letter kerns will be preserved. (Conversely +if characers are accessed by character references, &#1234; then +&TeX; arithmetic is used to decode the information and ligature +information will be lost. For some large character sets, especially +for Asian languages, these mechanisms will probably not prove to be +sufficient, some mechanisms are being investigated, but in the short +term it may be necessary to always use UTF-8 if the input encoding +is not strictly a ine byte extension of the ASCII code page. +

+ +
+ +
+xmltex Package Commands +

You can use arbitrary &TeX; commands in an xmltex package, +althought you should be aware that the file may be input into a local +group, at the point in a document that a particular namespace is first +used, for example. There are however some specific commands designed +to be used in the begin or end code of \XMLElement. + + +

\ignorespaces

+

This is actually a &TeX; primitive +(for the moment!)

+ + +

\obeyspaces

+

Obey consecutive space characters, +rather than treating consecutive runs as a single space. +(A command of this name, but not this definition is in plain &TeX;.)

+
+ +

\obeylines

+

Obey end of line characters, +rather than treating then as a space, force a line break. +(A command of this name, but not this definition is in plain &TeX;.)

+
+ +

\xmltexfirstchild#1\@

+

If the start-code for an element is specified as +\xmlgrab then the end-code may use +#1 in order to execute the element content. Sometimes you +do not want all of the content. The a construction (with currently +unpleasant syntax) \xmltexfirstchild#1\@ will just evaluate +the first child element of the content, discarding the remaining +elements.

+
+ +

\xmltextwochildren\csa\csb#1

+

If you know that the content will be exactly two child elements (for +examle a MathML frac or sub element) then this command may be used. +It will execute the &TeX; code +\csa{child-1}\csb{child-2 +So either two &TeX; command smay be supplied, one will be applied to +each child, or the second argument may be {} in which case +the first argument may be a &TeX; command that takes two arguments. +For example the code for MathMl frac might be + +\XMLelement{m:mfrac} + {} + {\xmlgrab} + {\xmltextwochildren\frac{}#1} + +

+
+ +

\xmltexthreechildren\csa\csb\csc#1

+

As above, but more so.

+ +

\xmltexforall\csa{#1}

+

The &TeX; command \csa is called repeatedly, +taking each child element of the current element as argument +on each iteration. As a convenience the command \xml@name +is defined before each iteration to have the (internal, normalised) +name of the element being processed.

+
+ +

\NDATAEntity\csa\csb\attvalue

+

If the XML parser encounters an internalor external entity reference +it expands it without executing any special hook that may be defined in +an xmltex package. However NDATA entites are never directly encountered +in an entity reference. They may only be used as an attribute value. +If \attvalue. is a &TeX; command holding the value of an +attribute, as declared in \XMLattribute then +\NDATAEntity\csa\csb\attvalue applies the two &TeX; +commands \csa and \csb to the notation type +and the value, in a way exactly corresponding to +\xmltextwochildren so for example the XML document for this +manual specifies + + ]]> + +and this is handled by the following xmltex code + + +which saves the attribute value in \xptrdoc and then +discards the notation name (URL) and applies the command +\url to typeset the supplied URL. +

+
+ + +

+ +
+ +
+Character Data Internals +

+ + + int.ext. xml +ext. mixedcsn typeout + + + +dxabcxabc +xabc (12)xabc (12)xabc (12) + + + +cxabxab +xab (12)xab (12)xab (12) + + + +bxaxa +xa (12)xa (12)xa (12) + + + +axxx +xxx (12) +(!) + + +ayxx +x&#123;x (12) +(e) + + +azx\az x +&#123;&#123;x (12) +(&lt;) + + +<<< +<<< (12) +(<) + +
+ +

+
+ + +
+ + + +
+
+ + diff --git a/macros/plain/formats/xmltex/base/manual.xsl b/macros/plain/formats/xmltex/base/manual.xsl new file mode 100644 index 0000000000..0bf8a7234e --- /dev/null +++ b/macros/plain/formats/xmltex/base/manual.xsl @@ -0,0 +1,29 @@ + + +-2 +manual +-1 +center + +true +Numerical Algorithms Group: NAG +http://www.nag.co.uk/ +NAG +http://www.tei-c.org/ +NAG +http://www.nag.co.uk/ +NAG + + +true + + Copyright 2000 David Carlisle, NAG + + + + + + + + diff --git a/macros/plain/formats/xmltex/base/mathml2.xmt b/macros/plain/formats/xmltex/base/mathml2.xmt new file mode 100644 index 0000000000..218daedd2f --- /dev/null +++ b/macros/plain/formats/xmltex/base/mathml2.xmt @@ -0,0 +1,190 @@ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% mathml2.xmt + +%% Copyright 2000 David Carlisle + +%% This file is distributed under the LaTeX Project Public License +%% (LPPL) as found at http://www.latex-project.org/lppl.txt +%% Either version 1.0, or at your option, any later version. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareNamespace{m}{http://www.w3.org/1998/Math/MathML} + + +\XMLstring\att@BLOCK<>block +\XMLstring\att@PREFIX<>prefix +\XMLstring\att@EQUATION<>equation + +\XMLname{m:math}{\MATH} +\XMLname{m:mlabeledtr}{\LABELEDTR} + +\XMLnamespaceattribute{m}{open}{\XML@fenceopen}{(} +\XMLnamespaceattribute{m}{close}{\XML@fenceclose}{)} +\XMLnamespaceattribute{m}{width}{\XML@mspacewidth}{0} + +\XMLelement{m:math} + {\XMLattribute{display}{\XML@mathmlmode}{foo} + } + {\def\GATHER{1}% + \ifx\XML@mathmlmode\att@BLOCK\[\else\(\fi + } + { + \ifx\XML@mathmlmode\att@BLOCK\]\else\)\fi + } + + +\XMLelement{m:mi} + {} + {\xmlgrab} + {\def\a{#1}\mi@test#1\relax} + +\gdef\mi@test#1#2\relax{ + \ifx\mi@test#2\mi@test + \expandafter#1 + \else + \mathrm{#1#2} + \fi} + +\XMLelement{m:mn} + {} + {\xmlgrab} + {\mathrm{#1}} + +\XMLelement{m:mo} + {\XMLattribute{form}{\XML@mathmlform}{inline}} + {\xmlgrab} + {\ifx\XML@mathmlform\att@PREFIX + \mathop{{\operator@font #1}}% + \else + #1% + \fi + } + +\XMLelement{m:mrow} + {} + {} + {} + + +\XMLelement{m:msub} + {} + {\xmlgrab} + {\xmltextwochildren\@firstofone\sb#1} + +\XMLelement{m:msup} + {} + {\xmlgrab} + {\xmltextwochildren\@firstofone\sp#1} + + +\XMLelement{m:msubsup} + {} + {\xmlgrab} + {\xmltexthreechildren\@firstofone\sb\sp#1} + +\XMLelement{m:mroot} + {} + {\xmlgrab} + {\xmltextwochildren\mathmlroot{}#1} + +\gdef\mathmlroot#1#2{\root#2\of{#1}} + + +\XMLelement{m:mfrac} + {} + {\xmlgrab} + {\xmltextwochildren\frac{}#1} + + +\XMLelement{m:msqrt} + {} + {\xmlgrab} + {\sqrt{#1}} + +\XMLelement{m:mtext} + {} + {\xmlgrab} + {\hbox{#1}} + + +% accent? stackrel? +\XMLelement{m:mover} + {} + {} + {} + +% \DeclareMathDelimiter{{}{\mathopen} {operators}{"28}{largesymbols}{"00} +\global\delcode`{"66308 +\global\delcode`}"67309 + +\XMLelement{m:mfenced} + { } + {\left\XML@fenceopen} + {\right\XML@fenceclose} + +\XMLelement{m:mtable} + {\XMLattribute{class}{\XML@mtableclass}{}} + { + \def\StartTable{1}% + \def\LABELED{0}% + \ifx\XML@mtableclass\att@EQUATION + \def\GATHER{1}% + \begin{gathered} + \else + \def\GATHER{0}% + \begin{array}{*{99}{c}} + \fi + } + { + \ifx\XML@mtableclass\att@EQUATION + \end{gathered} + \else + \end{array} + \fi + } + + +\XMLelement{m:mtr} + {} + {\xmlgrab} + {\ifnum\StartTable=1 + \gdef\temp{#1\def\StartTable{0}}% + \else + \gdef\temp{\\#1}% + \fi + \aftergroup\temp} + +\XMLelement{m:mlabeledtr} + {} + {\xmlgrab} + {\xmltextwochildren{\tag*}\@firstofone#1\gdef\temp{\\}\aftergroup\temp} + +\XMLelement{m:mtd} + {} + {\xmlgrab} + {\ifnum\GATHER=1 + \gdef\temp{#1}% + \else + \gdef\temp{#1\tabcellsep}% + \fi + \aftergroup\temp + } + +\XMLelement{m:munderover} + {} + {} + {} + +\XMLelement{m:mover} + {} + {} + {} + +\XMLelement{m:mspace} + {} + {} + {\@defaultunits\dimen@\XML@mspacewidth pt\relax\@nnil + \ifnum\dimen@=\z@\else\kern\dimen@\fi} + diff --git a/macros/plain/formats/xmltex/base/portugeselatin1.xml b/macros/plain/formats/xmltex/base/portugeselatin1.xml new file mode 100644 index 0000000000..a13fb0b4f3 --- /dev/null +++ b/macros/plain/formats/xmltex/base/portugeselatin1.xml @@ -0,0 +1,7 @@ + + + + Teste + Olá Mundo! + + diff --git a/macros/plain/formats/xmltex/base/readme.txt b/macros/plain/formats/xmltex/base/readme.txt new file mode 100644 index 0000000000..fb2ddfcc08 --- /dev/null +++ b/macros/plain/formats/xmltex/base/readme.txt @@ -0,0 +1,123 @@ + + xmltex.tex + ========== + +Copyright 2000 David Carlisle + +This collection of files is distributed under the LaTeX Project Public +License a (LPPL) as found at http://www.latex-project.org/lppl.txt +Either version 1.0, or at your option, any later version. + + +xmltex is a system for typesetting XML files with TeX. It may be used +on its own or in conjunction with another TeX format. (LaTeX is +assumed for most examples). + +xmltex supports the XML Namespace Recommendation. Arbitrary prefixes +may be used in document instances, and in definition files. It +supports any encoding that matches ASCII in the first 127 positions. +UTF-8, latin-1 and KOI8-R are included in the distribution, other +encodings may be trivially added. + +Further documentation may be obtained by running manual.tex through +LaTeX. + +The distribution of 2000-01-18 consists of: + +* readme.txt + This file. + + + +* xmltex.tex + The source code for xmltex. + +* xmltex.cfg + Configuration file for xmltex, with sufficient information about + Unicode to typeset the latin-1 and Cyrillic examples in the + distribution, and information about the namespaces and dtd used in the + examples. + +* iso-8859-1.xmt + internal file defining latin-1 input encoding + +* utf-16.xmt + place holder for a file supporting UTF-16 (not really possible with + standard TeX). + +* koi8-r.xmt + internal file defining the Cyrillic encoding KOI8-R. + Support for any 8 bit encoding that matches ASCII for the first 127 + positions may be added by copying the format of file. + + + +* manual.xml + The manual for xmltex (marked up in TEI XML). + +* manual.tex + Support files for processing the manual. + LaTeX manual.tex with your standard LaTeX format, to obtain + the typeset documentation. + +* manual.html manual.xsl + HTML version of manual, generated via XSL (thanks to Sebastian Rahtz). + + +* tei.xmt + xmltex package file for TEI XML markup as used in the xmltex manual. + (The much of this file was implemented by Sebastian Rahtz) + +* mathml2.xmt + A small start towards an xmltex package for MathML2. + Used in one of the test files. + +* sec.xmt + A package for a small XML document language used in sone of the test + files. + + + +* langtest.xml langtest.tex + This test example file demonstrates a small `hello world' document in + different languages and different encodings all input into the same + document. Note that the table of contents is constructed correctly + despite the fact taht different encodings are used. Also note that + typesetting commands only need to be defined once, irrespective of + encoding. So the Cyrillic command for `document' looks quite different + in the utf-8 and koi8-r files, but the same definitions work in both + cases. + +* englishutf8.xml + English markup in utf-8, used by langtest.xml + +* English markup in utf-16, used by langtest.xml. + Note that utf-16 support is limited to the latin-1 range (it just + consists of ignoring the null byte). + +* portugeselatin1.xml + Portugese example, note that the markup is in latin 1, but the + definitions (in langtest.cfg are in utf-8). + +* russiankoi8.xml + Russian Example, KOI8-R. This test file typesets Cyrillic letters + This assumes the AMS `OT2' encoded cyrillic fonts are present on your + system. (Better support for cyrillic is available with the T2 encoded + fonts but these are not used in this example to enable the example + to be run on as many sites as possible.) + +* russiankutf8.xml + Russian Example, utf-8. + + +* testsec.xml testsec.tex + A small example testing varius features. + The final section includes some tests of MathML. + Note that the elements defined in this file use a namespace prefix + even though the elements in the XML document (testsec) do not. + +* testascii.xml testascii.tex testascii.cfg + A test file in which all characters are activated, allowing for some + special effects. (Here vowels are red and numbers are old style.) + + \ No newline at end of file diff --git a/macros/plain/formats/xmltex/base/russiankoi8.xml b/macros/plain/formats/xmltex/base/russiankoi8.xml new file mode 100644 index 0000000000..2404d9535b --- /dev/null +++ b/macros/plain/formats/xmltex/base/russiankoi8.xml @@ -0,0 +1,9 @@ + + +<ÄÏËÕÍÅÎÔ ÁÔÔ="ÒÕÓÓËÉÊ"> + <ÒÁÚÄÅÌ> + <ÇÏÌÏ×Á>ôÅÓÔ + úÄÒÁ×ÓÔ×ÕÊ íÉÒ! + + + diff --git a/macros/plain/formats/xmltex/base/russianutf8.xml b/macros/plain/formats/xmltex/base/russianutf8.xml new file mode 100644 index 0000000000..735c915164 --- /dev/null +++ b/macros/plain/formats/xmltex/base/russianutf8.xml @@ -0,0 +1,7 @@ +<документ атт="руÑÑкий" > + <раздел> + <голова>ТеÑÑ‚ + ЗдравÑтвуй Мир! + + + diff --git a/macros/plain/formats/xmltex/base/sec.xmt b/macros/plain/formats/xmltex/base/sec.xmt new file mode 100644 index 0000000000..74f44231be --- /dev/null +++ b/macros/plain/formats/xmltex/base/sec.xmt @@ -0,0 +1,42 @@ + +\DeclareNamespace{dpcsec}{http://www.dcarlisle.demon.co.uk/sec} + + +\XMLelement{dpcsec:doc} +{} + {\documentclass{article} + \usepackage[TS1,T1]{fontenc} + \usepackage{color,textcomp} + \textheight15\baselineskip + \parskip1\baselineskip plus \baselineskip + \pagestyle{headings} + \begin{document} + \tableofcontents} + {\end{document}} + +\XMLelement{dpcsec:sec} +{} + {} + {} + +\XMLelement{dpcsec:head} +{} + {\xmlgrab} + {\section{{\tt aaa} #1}} + +\XMLelement{dpcsec:p} +{} +{\par} + {\par} + + +\XMLelement{dpcsec:tt} +{} +{\ttfamily} +{} + +\XMLelement{dpcsec:it} +{} +{\itshape} +{\/} + diff --git a/macros/plain/formats/xmltex/base/tei.xmt b/macros/plain/formats/xmltex/base/tei.xmt new file mode 100644 index 0000000000..94ffede237 --- /dev/null +++ b/macros/plain/formats/xmltex/base/tei.xmt @@ -0,0 +1,142 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% tei.xmt + +%% Copyright 2000 Sebastian Rahtz, David Carlisle + +%% This file is distributed under the LaTeX Project Public License +%% (LPPL) as found at http://www.latex-project.org/lppl.txt +%% Either version 1.0, or at your option, any later version. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\XMLelement{TEI.2}{} + { \documentclass{article} + \usepackage{ifthen,url} + \begin{document} } + {\end{document}} + +\XMLelement{p}{} + {\par} + {} + +\newcount\SCOUNT +\global\SCOUNT-1\relax + + + + +\XMLelement{div}{ + \XMLattribute{id}{\idval}{\@nil}} + {\advance\SCOUNT\@ne} + {} + +\XMLelement{head}{ } + {\xmlgrab} + {\protected@xdef\temp{ + \expandafter\noexpand\ifcase\SCOUNT + \section\or\subsection\or\subsubsection\fi + {#1}\ifx\idval\@nnil\else\noexpand\label{\idval} + \fi} + \aftergroup\temp +} + + +\XMLelement{emph}{} + {\itshape} + {} + +\XMLelement{code}{} + {\ttfamily} + {} + +\XMLelement{gi}{} + {\ttfamily\textless} + {\textgreater} + +\XMLelement{eg}{} + {\begin{quote}\ttfamily\obeylines} + {\end{quote}} + +\XMLelement{teiHeader}{} + {\xmlgrab} + {\xmltexfirstchild#1\@empty\@} + +\XMLelement{fileDesc}{} + {} + {} + +\XMLelement{titleStmt}{} + {\xmlgrab} + {} + +\XMLelement{availability}{} + {\xmlgrab} + {\gdef\header@availability{#1}} + +\XMLelement{docTitle}{} + {\xmlgrab} + {\gdef\nopar{\let\par\relax} + \title{#1\unskip\thanks{\protect\nopar\ignorespaces\header@availability}}} + +\XMLelement{xptr} + {\XMLattribute{doc}{\xptrdoc}{}} + {\NDATAEntity\xptrdoc\@gobble\url} + {} + +\XMLelement{docDate}{} + {\xmlgrab} + {\date{#1}} + +\XMLelement{docAuthor}{} + {\xmlgrab} + {\author{#1}} + +\XMLelement{front}{} + {} + {\maketitle\tableofcontents} + +\XMLelement{item}{} + {\item} + {} + +\XMLelement{list}{ + \XMLattribute{type}{\listtype}{itemize}} + {\ifthenelse{\equal{\listtype}{ordered}} + {\begin{enumerate}}{\begin{itemize}}} + {\ifthenelse{\equal{\listtype}{ordered}} + {\end{enumerate}}{\end{itemize}}} + + +\XMLelement{q}{ + \XMLattribute{rend}{\qrend}{}} + {\begin{quote} + \ifthenelse{\equal{\qrend}{eg}}{\ttfamily\obeylines}{}} + {\end{quote}} + +\XMLelement{ptr}{ + \XMLattribute{target}{\ptrtarget}{}} + {\ref{\ptrtarget}}{} + +\XMLelement{ref}{ + \XMLattribute{target}{\ptrtarget}{}} + {\ref{\ptrtarget}}{} + + + + +\XMLelement{table}{} + {\begin{tabular}{*{20}{l}}} + {\end{tabular}} + +\XMLelement{row}{} + {\xmlgrab} + {\gdef\temp{#1\\}\aftergroup\temp} + +\XMLelement{cell}{} + {\xmlgrab} + {\gdef\temp{#1\tabcellsep}\aftergroup\temp} + + +% cheating, a bit +\XMLentity{TeX}{\TeX} +\XMLentity{LaTeX}{\LaTeX} \ No newline at end of file diff --git a/macros/plain/formats/xmltex/base/testascii.cfg b/macros/plain/formats/xmltex/base/testascii.cfg new file mode 100644 index 0000000000..2fc2494465 --- /dev/null +++ b/macros/plain/formats/xmltex/base/testascii.cfg @@ -0,0 +1,159 @@ + +\ActivateASCII{0} +\ActivateASCII{1} +\ActivateASCII{2} +\ActivateASCII{3} +\ActivateASCII{4} +\ActivateASCII{5} +\ActivateASCII{6} +\ActivateASCII{7} +\ActivateASCII{8} +\ActivateASCII{9} +\ActivateASCII{0} +\ActivateASCII{11} +\ActivateASCII{12} +\ActivateASCII{13} +\ActivateASCII{14} +\ActivateASCII{15} +\ActivateASCII{16} +\ActivateASCII{17} +\ActivateASCII{18} +\ActivateASCII{19} +\ActivateASCII{20} +\ActivateASCII{21} +\ActivateASCII{22} +\ActivateASCII{23} +\ActivateASCII{24} +\ActivateASCII{25} +\ActivateASCII{26} +\ActivateASCII{27} +\ActivateASCII{28} +\ActivateASCII{29} +\ActivateASCII{30} +\ActivateASCII{31} +\ActivateASCII{32} +\ActivateASCII{33} +\ActivateASCII{34} +\ActivateASCII{35} +\ActivateASCII{36} +\ActivateASCII{37} +\ActivateASCII{38} +\ActivateASCII{39} +\ActivateASCII{30} +\ActivateASCII{31} +\ActivateASCII{32} +\ActivateASCII{33} +\ActivateASCII{34} +\ActivateASCII{35} +\ActivateASCII{36} +\ActivateASCII{37} +\ActivateASCII{38} +\ActivateASCII{39} +\ActivateASCII{40} +\ActivateASCII{41} +\ActivateASCII{42} +\ActivateASCII{43} +\ActivateASCII{44} +\ActivateASCII{45} +\ActivateASCII{46} +\ActivateASCII{47} +\ActivateASCII{48} +\ActivateASCII{49} +\ActivateASCII{50} +\ActivateASCII{51} +\ActivateASCII{52} +\ActivateASCII{53} +\ActivateASCII{54} +\ActivateASCII{55} +\ActivateASCII{56} +\ActivateASCII{57} +\ActivateASCII{58} +\ActivateASCII{59} +\ActivateASCII{60} +\ActivateASCII{61} +\ActivateASCII{62} +\ActivateASCII{63} +\ActivateASCII{64} +\ActivateASCII{65} +\ActivateASCII{66} +\ActivateASCII{67} +\ActivateASCII{68} +\ActivateASCII{69} +\ActivateASCII{70} +\ActivateASCII{71} +\ActivateASCII{72} +\ActivateASCII{73} +\ActivateASCII{74} +\ActivateASCII{75} +\ActivateASCII{76} +\ActivateASCII{77} +\ActivateASCII{78} +\ActivateASCII{79} +\ActivateASCII{80} +\ActivateASCII{81} +\ActivateASCII{82} +\ActivateASCII{83} +\ActivateASCII{84} +\ActivateASCII{85} +\ActivateASCII{86} +\ActivateASCII{87} +\ActivateASCII{88} +\ActivateASCII{89} +\ActivateASCII{90} +\ActivateASCII{91} +\ActivateASCII{92} +\ActivateASCII{93} +\ActivateASCII{94} +\ActivateASCII{95} +\ActivateASCII{96} +\ActivateASCII{97} +\ActivateASCII{98} +\ActivateASCII{99} +\ActivateASCII{100} +\ActivateASCII{101} +\ActivateASCII{102} +\ActivateASCII{103} +\ActivateASCII{104} +\ActivateASCII{105} +\ActivateASCII{106} +\ActivateASCII{107} +\ActivateASCII{108} +\ActivateASCII{109} +\ActivateASCII{110} +\ActivateASCII{111} +\ActivateASCII{112} +\ActivateASCII{113} +\ActivateASCII{114} +\ActivateASCII{115} +\ActivateASCII{116} +\ActivateASCII{117} +\ActivateASCII{118} +\ActivateASCII{119} +\ActivateASCII{120} +\ActivateASCII{121} +\ActivateASCII{122} +\ActivateASCII{123} +\ActivateASCII{124} +\ActivateASCII{125} +\ActivateASCII{126} +\ActivateASCII{127} + + +\UnicodeCharacter{105}{\textcolor{red}{i}} +\UnicodeCharacter{97}{\textcolor{red}{a}} +\UnicodeCharacter{101}{\textcolor{red}{e}} +\UnicodeCharacter{105}{\textcolor{red}{i}} +\UnicodeCharacter{111}{\textcolor{red}{o}} +\UnicodeCharacter{117}{\textcolor{red}{u}} + +\UnicodeCharacter{48}{\textzerooldstyle} +\UnicodeCharacter{49}{\textoneoldstyle} +\UnicodeCharacter{50}{\texttwooldstyle} +\UnicodeCharacter{51}{\textthreeoldstyle} +\UnicodeCharacter{52}{\textfouroldstyle} +\UnicodeCharacter{53}{\textfiveoldstyle} +\UnicodeCharacter{54}{\textsixoldstyle} +\UnicodeCharacter{55}{\textsevenoldstyle} +\UnicodeCharacter{56}{\texteightoldstyle} +\UnicodeCharacter{57}{\textnineoldstyle} + diff --git a/macros/plain/formats/xmltex/base/testascii.tex b/macros/plain/formats/xmltex/base/testascii.tex new file mode 100644 index 0000000000..fccb7db53c --- /dev/null +++ b/macros/plain/formats/xmltex/base/testascii.tex @@ -0,0 +1,4 @@ +\def\xmlfile{testascii.xml} +\input xmltex + + diff --git a/macros/plain/formats/xmltex/base/testascii.xml b/macros/plain/formats/xmltex/base/testascii.xml new file mode 100644 index 0000000000..32a23354a6 --- /dev/null +++ b/macros/plain/formats/xmltex/base/testascii.xml @@ -0,0 +1,22 @@ + + + +Heading iii example (123) +

+This is an example of an experimental mode in which some +of the characters in the standard `ascii' range are given special +definitions. Vowels are made red, and digits (0123456789) are typeset in +oldstyle form. Note that you may still use the sepcial letters as part +of XML names, for example the follwoin word is set using the element `it': +italic. +

+

+While the special definitions apply to any text originating in the XML +document they do not apply to texts coming from the TeX code and in +particular from LaTeX packages. Note in this example that the +section numbers are not old style and the vowels in the word `contents' +are not coloured. +

+
+ +
diff --git a/macros/plain/formats/xmltex/base/testsec.tex b/macros/plain/formats/xmltex/base/testsec.tex new file mode 100644 index 0000000000..36136d92a3 --- /dev/null +++ b/macros/plain/formats/xmltex/base/testsec.tex @@ -0,0 +1,5 @@ + +\def\xmlfile{testsec.xml} +\input xmltex.tex + + diff --git a/macros/plain/formats/xmltex/base/testsec.xml b/macros/plain/formats/xmltex/base/testsec.xml new file mode 100644 index 0000000000..533e2663b4 --- /dev/null +++ b/macros/plain/formats/xmltex/base/testsec.xml @@ -0,0 +1,77 @@ + +some text some text some text.

" > + +]> + + + +lll + + This+&<> code 111 {\tt 222} 333 +

The first section.

+
+ + + This+]]> code 999 {\tt 222} 333 +

The second section.

+
+ + + +

abc+xyz q (1:& 2:&)

+ +&xxx;&xxx;&xxx;&xxx;&xxx; +&xxx;&xxx;&xxx;&xxx;&xxx; + + + Some utf8 [áéíóú] and some ascii [^^c3^^a1^^c3^^a9^^c3^^ad^^c3^^b3^^c3^^ba] +

and some more áéíóú

+
+ + +&xxx;&xxx;&xxx;&xxx;&xxx; +&xxx;&xxx;&xxx;&xxx;&xxx; + + + The End +

The last section.

+
+ + +a + b 2 + + + + +xxx - b 3 + + + + + + xxx + j,k + 4 + + + + + + + + xxx + 4 + + + + + + xxx + 4 + + + + + +
\ No newline at end of file diff --git a/macros/plain/formats/xmltex/base/utf-16.xmt b/macros/plain/formats/xmltex/base/utf-16.xmt new file mode 100644 index 0000000000..8efd4363b8 --- /dev/null +++ b/macros/plain/formats/xmltex/base/utf-16.xmt @@ -0,0 +1,4 @@ +% not a serious implementation + +\input iso-8859-1.xmt +\catcode0=9 \ No newline at end of file diff --git a/macros/plain/formats/xmltex/base/windows-1250.xmt b/macros/plain/formats/xmltex/base/windows-1250.xmt new file mode 100644 index 0000000000..5ce7b9f8af --- /dev/null +++ b/macros/plain/formats/xmltex/base/windows-1250.xmt @@ -0,0 +1,123 @@ +\InputCharacter{x80}{x20AC} +\InputCharacter{x82}{x201A} +\InputCharacter{x84}{x201E} +\InputCharacter{x85}{x2026} +\InputCharacter{x86}{x2020} +\InputCharacter{x87}{x2021} +\InputCharacter{x89}{x2030} +\InputCharacter{x8A}{x0160} +\InputCharacter{x8B}{x2039} +\InputCharacter{x8C}{x015A} +\InputCharacter{x8D}{x0164} +\InputCharacter{x8E}{x017D} +\InputCharacter{x8F}{x0179} +\InputCharacter{x91}{x2018} +\InputCharacter{x92}{x2019} +\InputCharacter{x93}{x201C} +\InputCharacter{x94}{x201D} +\InputCharacter{x95}{x2022} +\InputCharacter{x96}{x2013} +\InputCharacter{x97}{x2014} +\InputCharacter{x99}{x2122} +\InputCharacter{x9A}{x0161} +\InputCharacter{x9B}{x203A} +\InputCharacter{x9C}{x015B} +\InputCharacter{x9D}{x0165} +\InputCharacter{x9E}{x017E} +\InputCharacter{x9F}{x017A} +\InputCharacter{xA0}{x00A0} +\InputCharacter{xA1}{x02C7} +\InputCharacter{xA2}{x02D8} +\InputCharacter{xA3}{x0141} +\InputCharacter{xA4}{x00A4} +\InputCharacter{xA5}{x0104} +\InputCharacter{xA6}{x00A6} +\InputCharacter{xA7}{x00A7} +\InputCharacter{xA8}{x00A8} +\InputCharacter{xA9}{x00A9} +\InputCharacter{xAA}{x015E} +\InputCharacter{xAB}{x00AB} +\InputCharacter{xAC}{x00AC} +\InputCharacter{xAD}{x00AD} +\InputCharacter{xAE}{x00AE} +\InputCharacter{xAF}{x017B} +\InputCharacter{xB0}{x00B0} +\InputCharacter{xB1}{x00B1} +\InputCharacter{xB2}{x02DB} +\InputCharacter{xB3}{x0142} +\InputCharacter{xB4}{x00B4} +\InputCharacter{xB5}{x00B5} +\InputCharacter{xB6}{x00B6} +\InputCharacter{xB7}{x00B7} +\InputCharacter{xB8}{x00B8} +\InputCharacter{xB9}{x0105} +\InputCharacter{xBA}{x015F} +\InputCharacter{xBB}{x00BB} +\InputCharacter{xBC}{x013D} +\InputCharacter{xBD}{x02DD} +\InputCharacter{xBE}{x013E} +\InputCharacter{xBF}{x017C} +\InputCharacter{xC0}{x0154} +\InputCharacter{xC1}{x00C1} +\InputCharacter{xC2}{x00C2} +\InputCharacter{xC3}{x0102} +\InputCharacter{xC4}{x00C4} +\InputCharacter{xC5}{x0139} +\InputCharacter{xC6}{x0106} +\InputCharacter{xC7}{x00C7} +\InputCharacter{xC8}{x010C} +\InputCharacter{xC9}{x00C9} +\InputCharacter{xCA}{x0118} +\InputCharacter{xCB}{x00CB} +\InputCharacter{xCC}{x011A} +\InputCharacter{xCD}{x00CD} +\InputCharacter{xCE}{x00CE} +\InputCharacter{xCF}{x010E} +\InputCharacter{xD0}{x0110} +\InputCharacter{xD1}{x0143} +\InputCharacter{xD2}{x0147} +\InputCharacter{xD3}{x00D3} +\InputCharacter{xD4}{x00D4} +\InputCharacter{xD5}{x0150} +\InputCharacter{xD6}{x00D6} +\InputCharacter{xD7}{x00D7} +\InputCharacter{xD8}{x0158} +\InputCharacter{xD9}{x016E} +\InputCharacter{xDA}{x00DA} +\InputCharacter{xDB}{x0170} +\InputCharacter{xDC}{x00DC} +\InputCharacter{xDD}{x00DD} +\InputCharacter{xDE}{x0162} +\InputCharacter{xDF}{x00DF} +\InputCharacter{xE0}{x0155} +\InputCharacter{xE1}{x00E1} +\InputCharacter{xE2}{x00E2} +\InputCharacter{xE3}{x0103} +\InputCharacter{xE4}{x00E4} +\InputCharacter{xE5}{x013A} +\InputCharacter{xE6}{x0107} +\InputCharacter{xE7}{x00E7} +\InputCharacter{xE8}{x010D} +\InputCharacter{xE9}{x00E9} +\InputCharacter{xEA}{x0119} +\InputCharacter{xEB}{x00EB} +\InputCharacter{xEC}{x011B} +\InputCharacter{xED}{x00ED} +\InputCharacter{xEE}{x00EE} +\InputCharacter{xEF}{x010F} +\InputCharacter{xF0}{x0111} +\InputCharacter{xF1}{x0144} +\InputCharacter{xF2}{x0148} +\InputCharacter{xF3}{x00F3} +\InputCharacter{xF4}{x00F4} +\InputCharacter{xF5}{x0151} +\InputCharacter{xF6}{x00F6} +\InputCharacter{xF7}{x00F7} +\InputCharacter{xF8}{x0159} +\InputCharacter{xF9}{x016F} +\InputCharacter{xFA}{x00FA} +\InputCharacter{xFB}{x0171} +\InputCharacter{xFC}{x00FC} +\InputCharacter{xFD}{x00FD} +\InputCharacter{xFE}{x0163} +\InputCharacter{xFF}{x02D9} \ No newline at end of file diff --git a/macros/plain/formats/xmltex/base/xmltex.cfg b/macros/plain/formats/xmltex/base/xmltex.cfg new file mode 100644 index 0000000000..aabf83cee6 --- /dev/null +++ b/macros/plain/formats/xmltex/base/xmltex.cfg @@ -0,0 +1,177 @@ +% xmltex Catalogue +\xmltraceoff +\SYSTEM {http://www.oucs.ox.ac.uk/dtds/tei-oucs.dtd} {tei.xmt} +\NAMESPACE{http://www.w3.org/1998/Math/MathML} {mathml2.xmt} +\NAMESPACE{http://www.dcarlisle.demon.co.uk/sec} {sec.xmt} +\NAME{langtest} {langtest.xmt} +\NAME{TEI.2} {tei.xmt} +\NAME{html} {html.xmt} +\NAMESPACE{http://www.w3.org/1999/XSL/Format} {fotex.xmt} + +% latin 1 and cyrillic (using OT2 encoded fonts) only + + +\UnicodeCharacter{160}{\nobreakspace} +\UnicodeCharacter{161}{\textexclamdown } +\UnicodeCharacter{162}{\ifmmode \mbox{\textcent}\else \textcent \fi}% +\UnicodeCharacter{163}{\ifmmode \pounds \else \textsterling \fi}% +\UnicodeCharacter{164}{\ifmmode \mbox{\textcurrency}\else \textcurrency \fi}% +\UnicodeCharacter{165}{\ifmmode \yen \else \textyen \fi}% +\UnicodeCharacter{166}{\ifmmode \textbrokenbar \else \textbrokenbar \fi}% +\UnicodeCharacter{167}{\ifmmode \S \else \textsection \fi}% +\UnicodeCharacter{168}{\textasciidieresis } +\UnicodeCharacter{169}{\ifmmode \copyright \else \textcopyright \fi}% +\UnicodeCharacter{170}{\textordfeminine } +\UnicodeCharacter{171}{\ifmmode \mbox{\guillemotleft}\else \guillemotleft \fi}% +\UnicodeCharacter{172}{\ensuremath{\lnot }} +\UnicodeCharacter{173}{\ensuremath{\-}} +\UnicodeCharacter{174}{\ifmmode \circledR \else \textregistered \fi}% +\UnicodeCharacter{175}{\textasciimacron } +\UnicodeCharacter{176}{\ifmmode \mbox{\textdegree}\else \textdegree \fi}% +\UnicodeCharacter{177}{\ensuremath{\pm }} +\UnicodeCharacter{178}{\ensuremath{{^2}}} +\UnicodeCharacter{179}{\ensuremath{{^3}}} +\UnicodeCharacter{180}{\textasciiacute } +\UnicodeCharacter{181}{\ensuremath{\mathrm{\mu}}} +\UnicodeCharacter{182}{\ifmmode \P \else \textparagraph \fi}% +\UnicodeCharacter{183}{\ensuremath{\cdot }} +\UnicodeCharacter{184}{\ifmmode \mbox{\c{}}\else \c{}\fi}% +\UnicodeCharacter{185}{\ensuremath{{^1}}} +\UnicodeCharacter{186}{\textordmasculine } +\UnicodeCharacter{187}{\ifmmode \mbox{\guillemotright}\else \guillemotright \fi}% +\UnicodeCharacter{188}{\textonequarter } +\UnicodeCharacter{189}{\textonehalf } +\UnicodeCharacter{190}{\textthreequarters } +\UnicodeCharacter{191}{\textquestiondown } +\UnicodeCharacter{192}{\ifmmode \grave{A}\else \`{A}\fi}% +\UnicodeCharacter{193}{\ifmmode \acute{A}\else \'{A}\fi}% +\UnicodeCharacter{194}{\ifmmode \hat{A}\else \^{A}\fi}% +\UnicodeCharacter{195}{\ifmmode \tilde{A}\else \~{A}\fi}% +\UnicodeCharacter{196}{\ifmmode \ddot{A}\else \"{A}\fi}% +\UnicodeCharacter{197}{\AA } +\UnicodeCharacter{198}{\AE } +\UnicodeCharacter{199}{\ifmmode \mbox{\c{C}}\else \c{C}\fi}% +\UnicodeCharacter{200}{\ifmmode \grave{E}\else \`{E}\fi}% +\UnicodeCharacter{201}{\ifmmode \acute{E}\else \'{E}\fi}% +\UnicodeCharacter{202}{\ifmmode \hat{E}\else \^{E}\fi}% +\UnicodeCharacter{203}{\ifmmode \ddot{E}\else \"{E}\fi}% +\UnicodeCharacter{204}{\ifmmode \grave{I}\else \`{I}\fi}% +\UnicodeCharacter{205}{\ifmmode \acute{I}\else \'{I}\fi}% +\UnicodeCharacter{206}{\ifmmode \hat{I}\else \^{I}\fi}% +\UnicodeCharacter{207}{\ifmmode \ddot{I}\else \"{I}\fi}% +\UnicodeCharacter{208}{\DH } +\UnicodeCharacter{209}{\ifmmode \tilde{N}\else \~{N}\fi}% +\UnicodeCharacter{210}{\ifmmode \grave{O}\else \`{O}\fi}% +\UnicodeCharacter{211}{\ifmmode \acute{O}\else \'{O}\fi}% +\UnicodeCharacter{212}{\ifmmode \hat{O}\else \^{O}\fi}% +\UnicodeCharacter{213}{\ifmmode \tilde{O}\else \~{O}\fi}% +\UnicodeCharacter{214}{\ifmmode \ddot{O}\else \"{O}\fi}% +\UnicodeCharacter{215}{\ifmmode \times \else \texttimes \fi}% +\UnicodeCharacter{216}{\O } +\UnicodeCharacter{217}{\ifmmode \grave{U}\else \`{U}\fi}% +\UnicodeCharacter{218}{\ifmmode \acute{U}\else \'{U}\fi}% +\UnicodeCharacter{219}{\ifmmode \hat{U}\else \^{U}\fi}% +\UnicodeCharacter{220}{\ifmmode \ddot{U}\else \"{U}\fi}% +\UnicodeCharacter{221}{\ifmmode \acute{Y}\else \'{Y}\fi}% +\UnicodeCharacter{222}{\TH } +\UnicodeCharacter{223}{\ss } +\UnicodeCharacter{224}{\ifmmode \grave{a}\else \`{a}\fi}% +\UnicodeCharacter{225}{\ifmmode \acute{a}\else \'{a}\fi}% +\UnicodeCharacter{226}{\ifmmode \hat{a}\else \^{a}\fi}% +\UnicodeCharacter{227}{\ifmmode \tilde{a}\else \~{a}\fi}% +\UnicodeCharacter{228}{\ifmmode \ddot{a}\else \"{a}\fi}% +\UnicodeCharacter{229}{\aa } +\UnicodeCharacter{230}{\ae } +\UnicodeCharacter{231}{\ifmmode \mbox{\c{c}}\else \c{c}\fi}% +\UnicodeCharacter{232}{\ifmmode \grave{e}\else \`{e}\fi}% +\UnicodeCharacter{233}{\ifmmode \acute{e}\else \'{e}\fi}% +\UnicodeCharacter{234}{\ifmmode \hat{e}\else \^{e}\fi}% +\UnicodeCharacter{235}{\ifmmode \ddot{e}\else \"{e}\fi}% +\UnicodeCharacter{236}{\ifmmode \grave{\imath}\else \`{\i}\fi}% +\UnicodeCharacter{237}{\ifmmode \acute{\imath}\else \'{\i}\fi}% +\UnicodeCharacter{238}{\ifmmode \hat{\imath}\else \^{\i}\fi}% +\UnicodeCharacter{239}{\ifmmode \ddot{\imath}\else \"{\i}\fi}% +\UnicodeCharacter{240}{\dh } +\UnicodeCharacter{241}{\ifmmode \tilde{n}\else \~{n}\fi}% +\UnicodeCharacter{242}{\ifmmode \grave{o}\else \`{o}\fi}% +\UnicodeCharacter{243}{\ifmmode \acute{o}\else \'{o}\fi}% +\UnicodeCharacter{244}{\ifmmode \hat{o}\else \^{o}\fi}% +\UnicodeCharacter{245}{\ifmmode \tilde{o}\else \~{o}\fi}% +\UnicodeCharacter{246}{\ifmmode \ddot{o}\else \"{o}\fi}% +\UnicodeCharacter{247}{\ensuremath{\div }} +\UnicodeCharacter{248}{\o } +\UnicodeCharacter{249}{\ifmmode \grave{u}\else \`{u}\fi}% +\UnicodeCharacter{250}{\ifmmode \acute{u}\else \'{u}\fi}% +\UnicodeCharacter{251}{\ifmmode \hat{u}\else \^{u}\fi}% +\UnicodeCharacter{252}{\ifmmode \ddot{u}\else \"{u}\fi}% +\UnicodeCharacter{253}{\ifmmode \acute{y}\else \'{y}\fi}% +\UnicodeCharacter{254}{\th } +\UnicodeCharacter{255}{\ifmmode \ddot{y}\else \"{y}\fi}% + + +\UnicodeCharacter{x044E}{yu} +\UnicodeCharacter{x0430}{a} +\UnicodeCharacter{x0431}{b} +\UnicodeCharacter{x0446}{ts} +\UnicodeCharacter{x0434}{d} +\UnicodeCharacter{x0435}{e} +\UnicodeCharacter{x0444}{f} +\UnicodeCharacter{x0433}{g} +\UnicodeCharacter{x0445}{kh} +\UnicodeCharacter{x0438}{i} +\UnicodeCharacter{x0439}{{\u\i}} +\UnicodeCharacter{x043A}{k} +\UnicodeCharacter{x043B}{l} +\UnicodeCharacter{x043C}{m} +\UnicodeCharacter{x043D}{n} +\UnicodeCharacter{x043E}{o} +\UnicodeCharacter{x043F}{p} +\UnicodeCharacter{x044F}{ya} +\UnicodeCharacter{x0440}{r} +\UnicodeCharacter{x0441}{s} +\UnicodeCharacter{x0442}{t} +\UnicodeCharacter{x0443}{u} +\UnicodeCharacter{x0436}{zh} +\UnicodeCharacter{x0432}{v} +\UnicodeCharacter{x044C}{{\cprime}} +\UnicodeCharacter{x044B}{y} +\UnicodeCharacter{x0437}{z} +\UnicodeCharacter{x0448}{sh} +\UnicodeCharacter{x044D}{{\`e}} +\UnicodeCharacter{x0449}{shch} +\UnicodeCharacter{x0447}{ch} +\UnicodeCharacter{x044A}{{\cdprime}} +\UnicodeCharacter{x042E}{YU} +\UnicodeCharacter{x0410}{A} +\UnicodeCharacter{x0411}{B} +\UnicodeCharacter{x0426}{TS} +\UnicodeCharacter{x0414}{D} +\UnicodeCharacter{x0415}{E} +\UnicodeCharacter{x0424}{F} +\UnicodeCharacter{x0413}{G} +\UnicodeCharacter{x0425}{KH} +\UnicodeCharacter{x0418}{I} +\UnicodeCharacter{x0419}{{\U\I}} +\UnicodeCharacter{x041A}{K} +\UnicodeCharacter{x041B}{L} +\UnicodeCharacter{x041C}{M} +\UnicodeCharacter{x041D}{N} +\UnicodeCharacter{x041E}{O} +\UnicodeCharacter{x041F}{P} +\UnicodeCharacter{x042F}{YA} +\UnicodeCharacter{x0420}{R} +\UnicodeCharacter{x0421}{S} +\UnicodeCharacter{x0422}{T} +\UnicodeCharacter{x0423}{U} +\UnicodeCharacter{x0416}{ZH} +\UnicodeCharacter{x0412}{V} +\UnicodeCharacter{x042C}{{\CPRIME}} +\UnicodeCharacter{x042B}{Y} +\UnicodeCharacter{x0417}{Z} +\UnicodeCharacter{x0428}{SH} +\UnicodeCharacter{x042D}{{\`E}} +\UnicodeCharacter{x0429}{SHCH} +\UnicodeCharacter{x0427}{CH} +\UnicodeCharacter{x042A}{{\CDPRIME}} + + diff --git a/macros/plain/formats/xmltex/base/xmltex.tex b/macros/plain/formats/xmltex/base/xmltex.tex new file mode 100644 index 0000000000..70a41b40e1 --- /dev/null +++ b/macros/plain/formats/xmltex/base/xmltex.tex @@ -0,0 +1,2400 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% xmltex.tex + +%% Copyright 2000 David Carlisle, NAG Ltd. +%% re-released by Sebastian Rahtz June 2002 +%% This file is distributed under the LaTeX Project Public License +%% (LPPL) as found at http://www.latex-project.org/lppl.txt +%% Either version 1.0, or at your option, any later version. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\catcode`\{=1 \catcode`\}=2 \catcode`\@=11 \catcode`\#=6 + +\gdef\XML@tempa#1: #2.tex,v #3 #4 #5 #6 #7${ + \def\xmltexversion{#4 v#3 (#6)}} + +\XML@tempa +$Id: xmltex.tex,v 1.9 2002/06/25 rahtz Exp $ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% initial setup so that xmltex independent of any existing format +% even if normally built on top of latex + +\endlinechar-1 + +\catcode`\&=4 +\catcode`\^=7 +\catcode`\_13 +\catcode`\|=14 % +\catcode`\~=13 % + +\ifx\count@\@undefined + \countdef\count@200 % fingers crossed + \countdef\XML@ns@count201\relax + \expandafter\def\csname newcount\endcsname#1{} + \expandafter\def\csname newtoks\endcsname#1{} + \toksdef\toks@200\relax + \toksdef\XML@catalogue201\relax + \toksdef\XML@attribute@toks202\relax + \def\maxdimen{16383.99999pt} + \def\space{ } + \chardef\active13 % + \countdef\z@0 % +\fi +\ifx\@tempcnta\@undefined + \countdef\@tempcnta202 % fingers crossed + \countdef\@tempcntb203 % fingers crossed + \edef\@spaces{\space\space\space\space} + \begingroup + \catcode`\>12 + \gdef\strip@prefix#1>{} + \endgroup +\fi + + +% set up 7bit range +\count@0 +\catcode0=13 +\gdef\XML@tempa{ + \begingroup + \uccode0\count@ + \uppercase{\endgroup + \edef^^@{ + \ifnum\catcode\count@=11 % + \noexpand\utfeightay\else\noexpand\utfeightax\fi + \noexpand^^@} + \expandafter\edef\csname 8:\string^^@\endcsname{\string^^@}} + \ifnum\count@<127\advance\count@1 \expandafter\XML@tempa\fi} +\XML@tempa +\catcode0=9 + +\begingroup +\catcode`\^^M=\active\gdef^^M{\utfeightay^^M} +\catcode`\^=\active\gdef^{\utfeightay^} +\catcode`\_=\active\gdef_{\utfeightay_} +\catcode`\~=\active\gdef~{\utfeightay~} +\catcode`\%=\active\gdef%{\utfeightay%} +\catcode`\$=\active\gdef${\utfeightay$} +\catcode`\#=\active\gdef#{\utfeightay#} +\catcode`\(=1 +\catcode`\)=2 +\catcode`\{=\active\gdef{(\utfeightay{) +\catcode`\}=\active\gdef}(\utfeightay}) +\catcode`\/0 \catcode`\\=\active /gdef\(/utfeightay\) +/endgroup + + + +\long\def\@gobble#1{} +\def\@empty{} + +\ifx\@@end\@undefined + \let\@@end\end +\fi + +\ifx\nfss@catcodes\@undefined + \def\nfss@catcodes{ + \catcode`\\0 + \catcode`\{1 + \catcode`\}2 + \catcode`\%14 + \catcode`\@11 + \catcode`\#6 + \catcode`\"12 + \catcode`\'12 + \catcode`\<12 + \catcode`\=12 + \catcode`\>12 + \catcode`\^7 % + } +\fi + +% This is standard in LaTeX. +\ifx\zap@space\@undefined +\def\zap@space#1 {#1} +\fi + +\newlinechar`\^^J + +\ifx\@@input\@undefined +\let\@@input\input +\def\input#1{\@@input#1 } +\fi +\chardef\active=13 +\chardef\@ne=1 + +% +\ifx\IfFileExists\@undefined + \def\IfFileExists#1#2#3{\def\@filef@und{#1 }#2} +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\immediate\write20{xmltex version: \xmltexversion} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\let\tabcellsep& + +\def\afterfi#1\fi{\fi#1} + + +% set catcodes of low chars to 12 and hight 10 13. +\gdef\XML@tempa#1#2{ + \catcode\count@#2\relax + \ifnum\count@<#1\relax + \advance\count@\@ne + \afterfi + \XML@tempa{#1}{#2} + \fi + } +\count@0\relax +\XML@tempa{`\^^K}{12} + +\count@127\relax +\XML@tempa{255}{13} + + +\def\XML@catcodes{ +% white + \catcode`\ \active + \catcode`\^^M\active + \catcode`\^^I\active +% xml + \catcode`\<\active + \catcode`\>\active + \catcode`\:\active + \catcode`\[\active + \catcode`\]\active + \catcode`\%\active + \catcode`\&\active + \catcode`\"\active + \catcode`\'\active + \catcode`\=\active +% tex + \catcode`\/\active + \catcode`\!\active + \catcode`\?\active + \catcode`\-\active + \catcode`\$\active + \catcode`\{\active + \catcode`\}\active + \catcode`\#\active + \catcode`\_\active + \catcode`\\\active + \catcode`\~\active\def~{\utfeightay~} +% and these are not catcodes + \let\XML@ns@a@\XML@ns@a@xml + \let\XML@ns\XML@ns@xml +} + + +\catcode`\/\active +\catcode`\!\active +\catcode`\?\active +\catcode`\"\active +\catcode`\'\active +\catcode`\<\active +\catcode`\>\active +\catcode`\&\active +\catcode`\_\active +\catcode`\ 10 +\catcode`\^^M\active + + + +%% half baked bom and utf-16 support +\catcode`^^ff\active +\catcode`^^fe\active +\catcode0=9 + +% do this also in everyjob incase a has turned it iff. +\def^^ff^^fe{ + \def\XML@thisencoding{utf-16}} +\def^^fe^^ff{ + \def\XML@thisencoding{utf-16}} + +%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%% warnings +\def\XML@warnNI#1{ + {\let\protect\string\utfeight@protect@typeout\message{^^J#1}}} +\def\XML@warn#1{ + {\let\protect\string\utfeight@protect@typeout\message{^^J\XML@w@#1}}} +\let\XML@trace@warn\XML@warn +\let\XML@trace@warnNI\XML@warnNI +\let\XML@trace@warnE\message + +\let\XML@w@\@empty + +% quoted literals +% " or ' +% #1 command to call, gets quoted string as #1 +% #2 " or ' +% " and ' assumed active +\def\XML@quoted#1#2{ + \ifx#2"\expandafter\XML@qq + \else\ifx#2'\expandafter\expandafter\expandafter\XML@q + \else + \ERROR#2 + \fi + \fi + #1} + + +\def\XML@qq#1#2"{#1{#2}} +\def\XML@q#1#2'{#1{#2}} + + +%%%%%%%%%%%%%%%%% + +% < handler + +% / ! ? assumed active +\def\XML@lt@markup#1{ + \catcode`\^^I=10 % + \catcode`\^^M=10 % + \catcode`\ =10 % + \ifx/#1\XML@getend + \else\ifx!#1\XML@getdecl + \else\ifx?#1\XML@getpi + \else\XML@getname#1\@} + +\def\XML@first@lt{ + \let<\XML@lt@markup + \let^^ff\@undefined + \let^^fe\@undefined + \XML@lt@markup} + + +%% reset catcodes +\def\XML@reset{ + \nfss@catcodes + \catcode`\$3 + \catcode`\&4 + \catcode`\^7 + \catcode`\_8 + \catcode`\:12 + \catcode`\!12 + \catcode`\=12 + \catcode`\=12 + \catcode`\|12 + \catcode`\ =10 + \catcode`\~\active\def~{\nobreakspace{}} +% catcodes? + \let\XML@ns@a@\XML@ns@a@tex + \let\XML@ns\XML@ns@tex} + + +%% begin tag +\begingroup + \catcode`\^^M\active + \catcode`\^^I\active + \catcode`\ \active +% +% #1 first char of name +% grab the name into an xdef so that derminating string can +% be any of whitespace / or > +\gdef\XML@getname#1\@{ +\fi\fi\fi +\begingroup +\catcode`\^^M\active +\catcode`\^^I\active +\catcode`\ \active +\def {\iffalse{\fi}\XML@getname@} +\let^^M % +\let^^I % +\def/{\iffalse{\fi}\XML@getname@/} +\def>{\iffalse{\fi}\XML@getname@>} +\unrestored@protected@xdef\XML@tempa{\iffalse}\fi#1} + +\endgroup + +% finish the special group for the name xdef, start an XML@begingroup +% for the element, and begin processing any attributes. +\def\XML@getname@{ + \endgroup + \XML@begingroup + \edef\XML@w@{ \XML@w@} + \let\begintag\XML@tempa + \let\XML@parent\XML@this@element + \XML@attribute@toks{} + \XML@getattrib} + +% elements put in an \XML@begingroup which is a not a group at the +% outer level to save save stack, but turns itself into a group +% for nexted elements. +\def\XML@begingroup{ + \def\XML@begingroup{ + \begingroup + \let\XML@begingroup\begingroup + \let\XML@endgroup\endgroup}} + +\let\XML@endgroup\@@end + + + +%% attributes + +% #1 first letter of attribute name, or / or > to finish. +\def\XML@getattrib#1{ + \ifx#1/ + \expandafter\XML@endempty + \else + \ifx#1> + \expandafter\expandafter\expandafter\XML@startelement + \else + \XML@getattrib@a#1 + \fi + \fi} + +\let\XML@@getattrib\XML@getattrib + +\begingroup +\catcode`\:\active +\catcode`\<12 +\catcode`\>12 + +% restore normal XML whitespace regime +% namespace check element name (has to be done after attribute handling) +% trace the element start then `do' the element which might be +% noop, execute package code, or grab, depending. + +\gdef\XML@startelement{ + \XML@default@attributes + \catcode`\^^M\active + \catcode`\^^I\active + \catcode`\ \active + \XML@ns\begintag + \edef\XML@this@element{ + \csname XMLNS@\XML@this@prefix\expandafter\endcsname\noexpand: + \XML@this@local} + \XML@trace@warn{<\XML@this@element} + \XML@checkknown + \XML@attrib@trace + \XML@doelement} + +\endgroup + +% This is a noop if tracing turned off, otherwise loop through +% attlist with a typeout on each. +\def\XML@attrib@trace{ + \begingroup + \let\XML@doattribute\XML@doattribute@warn + \def\XMLNS@{0} + \utfeight@protect@typeout + \the\XML@attribute@toks + \XML@trace@warnE{ >} + \endgroup} + +% execute package code for an element start. +\def\XML@doelement{ + \csname + E:\XML@this@element + \endcsname +} + +\begingroup +\catcode`\:\active +\uccode`\~`\^^I% + +% grab element content into a token register. +% has to pass through xdef to normalise encodings. +\uppercase{ +\gdef\XML@grabelement{ +\catcode`\ \active\catcode`\^^M\active\catcode`\^^I\active + \global\XMLgrabtoks\expandafter{ + \the\expandafter\XMLgrabtoks + \expandafter<\XML@this@element~} +% check if I can switch this just once, where grabelement switched. + \begingroup + \let\XML@doattribute\XML@grabattribute + \def\XMLNS@{0} + \expandafter\let\csname XMLNS@0\endcsname\XMLNS@ + \the\XML@attribute@toks + \endgroup +% +\catcode`\ \active\catcode`\^^M\active\catcode`\^^I\active + \global\XMLgrabtoks\expandafter{ + \the\XMLgrabtoks + >} + \XMLgrab@} +} + +% #1 namespace +% #2 local name +% #3 value + +\catcode`\=\active +\gdef\XML@grabattribute#1#2#3{ + \protected@xdef\XML@tempa{\csname XMLNS@#1\endcsname:#2} + \global\XMLgrabtoks\expandafter{ + \the\expandafter\XMLgrabtoks + \XML@tempa="#3" }} +\endgroup + +% #1 should be empty, between the / and the > +% probably should put some internal form here rather than literally adding +% end tag to be reparsed, but this simplifies grab code. +\def\XML@endempty#1>{ + \expandafter\XML@startelement + \expandafter<\expandafter/\begintag>} + + +%% check we know what to do with an element +\def\XML@checkknown{ + \expandafter\ifx +% catcode :? \csname E:\XML@this@element\endcsname + \csname E:\csname XMLNS@\XML@this@prefix\endcsname:\XML@this@local\endcsname + \relax + \let\XML@use\@empty + \ifnum0=\csname XMLNS@\XML@this@prefix\endcsname + \let\XML@NAME\XML@this@local +% prerun catalogue in this case which might coerce element into a new namespace + \the\XML@catalogue + \else + \edef\XML@NAMESPACE{\csname XMLNS@\XML@this@prefix\endcsname} + \fi + \let\XML@NAME\relax + \the\XML@catalogue + \inputonce\XML@use + \expandafter\ifx\csname E:\csname + XMLNS@\XML@this@prefix\endcsname:\XML@this@local\endcsname\relax + \XML@trace@warnE{Undefined} + \fi + \fi} + + + +%% end tag + +\def\XML@getend#1\@#2>{ + \fi +\catcode`\ \active +% removed by Peter Housel housel@acm.org 2000/09/06 +% \catcode`\^^M\active\catcode`\^^I\active + \XML@getend@a#2 \@} + +\begingroup +\catcode`\/=12 +\catcode`\<=12 +\catcode`\>=12 +\catcode`\:=12 + +% namespace normalise element name in end tag. +\gdef\XML@getend@a#1 #2\@{ +\catcode`\ \active\catcode`\^^M\active\catcode`\^^I\active + \def\endtag{#1} + \XML@ns\endtag + \XML@trace@warn{} + \XML@doend +} + +% execute package code for element end. +\gdef\XML@doend{ + \csname + E/:\csname XMLNS@\XML@this@prefix\endcsname:\XML@this@local + \endcsname + \XML@endgroup +% added by Peter Housel housel@acm.org 2000/09/06 + \catcode`\^^M\active \catcode`\^^I\active \catcode`\ \active} +\endgroup + +% flag children: put \@empty after every child element +% used by \xmltextwochildren and friends + +% need active and non active : and / so... +\begingroup +\catcode`\:\active +\uccode`\*=`\: +\uccode`\.=`\/ +\uccode`\a\z@ +\uccode`\b\z@ +\uccode`\c\z@ +\uccode`\d\z@ +\uccode`\e\z@ +\uccode`\n\z@ +\uccode`\r\z@ +\uccode`\o\z@ +\uccode`\t\z@ + +\uppercase{ +\gdef\XML@grabend{ + \ifx\XML@this@level\XML@w@ +% end inner group to restore \XML@doelement and friends + \endgroup + \XML@trace@warn{Grabbed content} + \csname + E.*\csname XMLNS@\XML@this@prefix\endcsname + *\XML@this@local + \expandafter\endcsname\expandafter{ + \the\XMLgrabtoks} + \XML@trace@warn{End grabbed content} + \XML@endgroup +% \XMLstring usage means catcode restoring varies +% must fix this one day, for now use ifnum avoidance +\ifnum\catcode`\^^M=10 +\catcode`\ \active\catcode`\^^M\active\catcode`\^^I\active +\fi + \else + \xdef\XML@tempa{\noexpand<\noexpand/ + \csname XMLNS@\XML@this@prefix\expandafter\endcsname\noexpand: + \XML@this@local + \noexpand> + \ifx\XML@next@level\XML@w@\noexpand\@empty\fi} + \global\XMLgrabtoks\expandafter{ + \the\expandafter\XMLgrabtoks + \XML@tempa} + \XML@endgroup + \expandafter + \XMLgrab@ + \fi}} +\endgroup +%%% + +% syntax for these will probably change. +\def\xmltexfirstchild#1\@empty#2\@{ + #1} +\def\xmltextwochildren#1#2#3\@empty#4\@empty{ + #1{#3}#2{#4}} +\def\xmltexthreechildren#1#2#3#4\@empty#5\@empty#6\@empty{ + #1{#4}#2{#5}#3{#6}} +\def\xmltexforall#1#2{ + \xmltexf@rall#1#2< >\@empty} + +\def\xmltexf@rall#1#2<#3 #4>#5\@empty{ + \ifx\relax#3\relax + \else + \def\xml@name{#3}#1{<#3 #4>#5} + \expandafter\xmltexf@rall\expandafter#1 + \fi} + +% #1 entity name (or tex macro holding same, eg from an attrbute) +% #2 #3 inserted before each compontent +% so #2{GIF}#3{xxx/yyy.gif} +\begingroup +\catcode`\&12 +\catcode`\+12 + +\gdef\NDATAEntity#1{ + \expandafter\expandafter\expandafter + \XML@ndataentity\csname+\endcsname} + +\gdef\XML@ndataentity#1#2#3#4{ + #3{#1}#4{#2}} + +\endgroup + + +%%%%%%% + +% this relies on = being catcode 13. +\begingroup +\catcode`\=\active + +\gdef\XML@getattrib@a#1\fi\fi#2={ + \fi\fi + \XML@set@this@attribute#1#2 \@ + \XML@quoted\XML@attribval} + +\endgroup + +%% remove trailing space from `foo =' +\def\XML@set@this@attribute#1 #2\@{ +% should probably do an edef at this point, and optimise +% later code + \def\XML@this@attribute{#1}} + +% #1 = attribute value +\def\XML@attribval#1{ +% allow for arbitrary catcodes. + \xdef\XML@tempa{\expandafter\strip@prefix\meaning\XML@this@attribute} + \ifx\XML@tempa\XML@ns@decl + \XML@ns@uri{}{#1} + \else + \XML@ns\XML@this@attribute +% catcode avoidance + \edef\XML@this@prefix{\expandafter\strip@prefix\meaning\XML@this@prefix} + \ifx\XML@this@prefix\XML@ns@decl + \XML@ns@uri\XML@this@local{#1} + \else + \begingroup +% check if this still needed with protect setting? +% \def"{\noexpand"} + \utfeight@protect@internal + \xdef\XML@tempa{ + \the\XML@attribute@toks + \noexpand\XML@doattribute{\XML@this@prefix}{\XML@this@local}{#1}} + \endgroup + \XML@attribute@toks\expandafter{\XML@tempa} + \fi + \fi + \XML@getattrib} + + +%% activate attributes + +% this seems over complicated and perhaps I should re-implement. +% currently tries to avoid making a csname for each attribute. +% declaration of attributes provides a normal tex command name +% to access the value in the element code, could have instead +% just had declaration of attribute name and default and used something +% like \attributevalue{html:href} but would need to work out a way +% of resolving prefixes at definition time if this was embedded in +% the element code. (The prefix such as `html' used in the definition +% file isn't known by the time the code is run.) +\def\XML@doattribute@warn#1#2#3{ + \XML@trace@warn{\@spaces\csname XMLNS@#1\endcsname:#2 = \string"#3\string"}} + +% #1 element specific attribute defaults, first token is +% macro for namespace-global attributes (hence \expandafter) +\def\XML@setattributes#1{ + \let\XMLNS@@\XMLNS@ + \def\XMLNS@{0} + \the\expandafter\XML@attribute@toks#1\relax\relax + \let\XMLNS@\XMLNS@@} + +% #1 prefix +% #2 local name +% #3 value +\def\XML@doattribute#1#2#3{ + \xdef\XML@tempa##1{\noexpand##1{ + \noexpand\XML@attrib\csname XMLNS@#1\endcsname:#2\relax}} + \XML@tempa\XML@attrib@x{#3} + \XML@tempa\XML@attrib@y} + +% #1 \XML@attrib qname\relax +% #2 value given in document instance +\def\XML@attrib@x#1#2{ + \gdef\XML@tempb##1#1##2##3##4\relax\relax{ + \def##2{#2} + ##1##4\relax\relax}} + +% #1 \XML@attrib qname\relax +% #2 original attribute defaults +\def\XML@attrib@y#1#2\relax\relax{ + \XML@tempb#2#1\XML@temp@l{6}\relax\relax} + + +% if default is inherit, set it to \relax the first time, otherwise +% let whatever value it has drop through. Note this is inheritance of the +% tex csname declared as the internal access, not of the xml attribute name. +% #1 = junk +% #2 = tex csname +% #3 = attribute default (should be encoding neutral: not normalised) +\def\XML@attrib#1\relax#2#3{ + \ifx\inherit#3\relax% #3 might be empty + \ifx#2\@undefined + \def#2{\relax} + \fi + \else + \def#2{#3} + \fi} + +% any distinguishing value would do... +\let\inherit\XML@attrib + + +\newtoks\XML@attribute@toks + +%%%%% namespace declarations + +\newcount\XML@ns@count + +% need to protect against active chars +\def\XML@ns@decl{xmlns} +\edef\XML@ns@decl{\expandafter\strip@prefix\meaning\XML@ns@decl} + + +% #1 prefix (or empty) +% #2 uri +% globally allocate number to uri if new +% locally alocate prefix to number +% globally allocate number as a prefix (canonical form) +\def\XML@ns@uri#1#2{ + \utfeight@protect@chars + \XML@ns@alloc{#2} + \expandafter\edef\csname XMLNS@#1\endcsname + {\csname XML:#2\endcsname} + \XML@trace@warn{xmlns:#1 = \csname XMLNS@#1\endcsname} + \unprotect@utfeight + } + +% and the same without any prefix +% always use in scope of utfeight protect +% #1 uri +\def\XML@ns@alloc#1{ + \expandafter\ifx\csname XML:#1\endcsname\relax + \global\advance\XML@ns@count\@ne + \expandafter\xdef\csname XML:#1\endcsname{\the\XML@ns@count} + \global\expandafter\let\csname A:\the\XML@ns@count\endcsname\@empty + \XML@trace@warnNI{URI: \csname XML:#1\endcsname\space = #1} + \expandafter\xdef\csname XMLNS@\the\XML@ns@count\endcsname + {\the\XML@ns@count} + \fi} + +% and version for xmt files +\let\DeclareNamespace\XML@ns@uri + +%% namespace support + +%% : is active in xml state but inactive in tex state, so need to do +%% this twice, grrr... +\begingroup +\catcode`\:\active + +% #1 = qname to be split on : +\gdef\XML@ns@xml#1{ + \expandafter\XML@ns@a@xml#1:\@:\\} + +% #1 = prefix (or empty) +% #2 = local name or \@ if no prefix +\gdef\XML@ns@a@xml#1:#2:#3\\{ + \ifx\@#2 + \XML@ns@b{}{#1} + \else + \XML@ns@b{#1}{#2} + \fi} +\endgroup + +% same with inactive : +% #1 = qname to be split on : +\def\XML@ns@tex#1{ + \expandafter\XML@ns@a@tex#1:\@:\\} + +% #1 = prefix (or empty) +% #2 = local name or \@ if no prefix +\def\XML@ns@a@tex#1:#2:#3\\{ + \ifx\@#2 + \XML@ns@b{}{#1} + \else + \XML@ns@b{#1}{#2} + \fi} + +\let\XML@ns@a@\XML@ns@a@tex +\let\XML@ns\XML@ns@tex + +%%%%%%%%%%%%%%%%%%%% + +% nullnamespace +\expandafter\def\csname XML:\endcsname{0} +\expandafter\let\csname A:0\endcsname\@empty +\def\XMLNS@{0} +\expandafter\gdef\csname XMLNS@0\endcsname{0} + +% xml namespace +\let\utfeightax\string +\expandafter\def\csname XML:http://www.w3.org/1998/xml\endcsname{1} +\expandafter\let\csname A:1\endcsname\@empty +\def\XMLNS@xml{1} +\expandafter\gdef\csname XMLNS@1\endcsname{1} +\XML@ns@count1 + +% #1 = prefix or empty +% #2 = local name +\def\XML@ns@b#1#2{ + \begingroup + \utfeight@protect@chars + \xdef\XML@tempa{#1} + \xdef\XML@tempb{#2} + \endgroup + \let\XML@this@prefix\XML@tempa + \let\XML@this@local\XML@tempb + } + +%%%%% +% pi +\begingroup +\catcode`\?\active +\catcode`\ \active +\catcode`\^^M\active +\catcode`\^^I\active + +\gdef\XML@getpi#1\@{ +\fi\fi\fi +\begingroup +\utfeight@protect@chars +\catcode`\ \active +\catcode`\^^M\active +\catcode`\^^I\active +\def?{\endcsname?} +\let \endcsname +\let^^M\endcsname +\let^^I\endcsname +\expandafter\XML@getpi@\csname +Q:} + +\endgroup + +\def\XML@getpi@#1{ + \endgroup + \catcode`\^^M\active + \catcode`\^^I\active + \catcode`\ \active + \ifx#1\@undefined + \expandafter\XML@getpi@x + \fi + #1} + +\def\XML@getpi@x#1#2?>{ + \XML@dopi{Undefined}{}} + +% currently ? not reset by XML@reset +\expandafter\def \csname Q:xmltex\endcsname{ + \begingroup + \XML@reset + \catcode`\>\active + \XML@xmltexpi} + + +\gdef\XML@xmltexpi#1?>{ + \endgroup + \XML@dopi{xmltex}{#1}} + + + +% #1 = piname or `piname Undefined' +\def\XML@dopi#1#2{ + \XML@trace@warn{\string} + #2} + +\begingroup +\catcode`\^^I\active + +\gdef\XML@grabpi#1#2{ + \global\XMLgrabtoks\expandafter{ + \the\XMLgrabtoks} + \XMLgrab@} + +\endgroup + + + +%% XML and declarations +% only care about encoding. Ignore version and standalone. + +% #1 content +% #2 end of test code +\begingroup +\catcode`\=\active + +\expandafter\gdef \csname Q:xml\endcsname{ + \catcode`\^^M10 + \catcode`\^^I10 + \catcode`\ 10 % + \XML@xmldecl} + +\gdef\XML@xmldecl#1?>{ + \catcode`\^^M\active + \catcode`\^^I\active + \catcode`\ \active + \XML@encoding#1 e="utf-8"\relax} + + +% actually encoding supposed to be after version if it comes at all +% so I could simplify this and get rid of the loop. +\gdef\XML@encoding#1 #2{ + \if\noexpand#2e + \expandafter\XML@encoding@aux + \else + \expandafter\XML@encoding + \fi} + +\gdef\XML@encoding@aux#1={ + \XML@quoted\XML@setenc} + +\endgroup + +% do nothing if newly specied encoding is same as old one +% #1 is name of encoding (upper or lower case, and dubious catcodes +% #2 is junk + +\def\XML@setenc#1#2\relax{ + \lowercase{\gdef\XML@tempa{#1}} + \xdef\XML@tempa{\expandafter\strip@prefix\meaning\XML@tempa} + \ifx\XML@tempa\XML@thisencoding + \else + \ifx\XML@utfeight\XML@tempa + \XML@setutfeight + \else + \let\XML@thisencoding\XML@tempa + \XML@trace@warnNI{Encoding = \XML@thisencoding} + \begingroup + \XML@reset\input{\XML@thisencoding.xmt} + \endgroup + \fi + \fi} + +% public version of same +\def\FileEncoding#1{ + \XML@setenc{#1}\relax} + +% catcode neutral lowercase utf-8 + +\def\XML@utfeight{utf-8} +\edef\XML@utfeight{\expandafter\strip@prefix\meaning\XML@utfeight} + +%% internalise utf8 encoding as needed before every file include. +\begingroup +\catcode`\~13 +\catcode`\"12 +\catcode`\<12 + +\gdef\utfeightloop{ + \uccode`\~\count@ + \expandafter\uppercase\XML@tempa + \advance\count@\@ne + \ifnum\count@<\@tempcnta + \expandafter\utfeightloop + \fi} + +\gdef\XML@setutfeight{ + \ifx\XML@utfeight\XML@thisencoding + \else + \let\XML@thisencoding\XML@utfeight + \XML@trace@warnNI{Encoding = \XML@thisencoding} +% + \begingroup +% + \count@"C2 + \@tempcnta"E0 + \gdef\XML@tempa{{ + \xdef~####1{\noexpand\utfeightb\string~####1}}} + \utfeightloop +% + \count@"E0 + \@tempcnta"F0 + \gdef\XML@tempa{{ + \xdef~####1####2{\noexpand\utfeightc\string~####1####2}}} + \utfeightloop +% + \@tempcnta"F4 + \gdef\XML@tempa{{ + \xdef~####1####2####3{\noexpand\utfeightd\string~####1####2####3}}} + \utfeightloop +% + \endgroup + \fi} + +\endgroup + + +\def\xmlinput#1{ + \IfFileExists{#1} + {\expandafter\XML@xmlinput\expandafter + \XML@setenc\expandafter{\XML@thisencoding}\relax + }{\XML@warn{No file: #1}}} + +\def\XML@xmlinput{ + \def^^ff^^fe{\XML@setenc{utf-16}\relax} + \def^^fe^^ff{\XML@setenc{utf-16}\relax} +% in principle a parsed entity might just be text with no markup +% but the utf16 is so broken anyway don't worry about that. + \let<\XML@first@lt + \XML@setutfeight + \@@input\@filef@und\relax} + +%%%%%%%%%%%%% + +%% declarations +% made safe against active chars. +% #1 = rest of if test +% #2#3 = first two characters after { + \fi\fi\fi + \XML@checkend@subset} + + +% attribute declarations +% #1 = rest of if test + TLIST +% #2 = element name +\def\XML@dec@a#1 #2 { + \fi\fi\fi\fi + \protected@xdef\XML@tempa{#2} + \XML@dec@a@x} + +\gdef\XML@dec@a@x#1 #2{ + \protected@xdef\XML@tempb{#1} + \if(\noexpand#2 + \begingroup + \catcode`\(\active + \expandafter\XML@dec@a@brack + \else + \expandafter\XML@dec@a@type + \fi} + +\begingroup +\catcode`\(\active + +% #1 = enumerated attribute type tokens, up to ) +\gdef\XML@dec@a@brack#1){ + \endgroup + \XML@dec@a@hash} + +\endgroup + +% #1 = junk up to next space token +\def\XML@dec@a@type#1 { + \XML@dec@a@hash} + +\begingroup +\catcode`\$=\catcode`\# +\catcode`\#=12 + +% #1 = nextchar after space, if it is # step to next space +% otherwise look for possible " or ' or > +\gdef\XML@dec@a@hash$1{ + \if\noexpand$1# + \expandafter\XML@dec@a@type + \else + \ifx$1> + \let\ERROR\@undefined + \expandafter\expandafter\expandafter\XML@checkend@subset + \else + \let\ERROR\XML@dec@a@nodef + \XML@dec@a@def$1 + \fi + \fi} + + +\endgroup + +\gdef\XML@dec@a@nodef#1\fi\fi#2{ + \fi\fi + \XML@dec@a@x#1} + + +\def\XML@dec@a@def#1\fi\fi{ + \fi\fi + \XML@quoted\XML@dec@a@default#1} + +\def\XML@dec@a@default#1#2{ + \XML@warn{Default: \XML@tempa\space\XML@tempb="#1"} + \ifx\XML@default@attributes\relax + \let\XML@default@attributes\@empty + \fi + \toks@\expandafter{\XML@default@attributes} + \protected@xdef\XML@default@attributes{ + \the\toks@\noexpand\XML@add@attrib{\XML@tempa}{\XML@tempb}{#1}} +% reusing this wastes some tests but only done in local subset + \XML@dec@a@hash#2 + } + + +\let\XML@default@attributes\relax + +% this comparison is encoding normalised, but namespace unaware, grr. +\def\XML@add@attrib#1#2#3{ + \gdef\XML@tempa{#1} + \ifx\XML@tempa\begintag + \def\XML@this@attribute{#2} +% stop getattrib looking for nexted xml syntax attribute setting. + \let\XML@getattrib\relax + \XML@attribval{#3} + \let\XML@getattrib\XML@@getattrib + \fi} + +%% comment +% - is active +% #1 = rest of if test +% #2 = comment text +\begingroup +\catcode`\-\active +\uppercase{\endgroup +\def\XML@comment#1@#2-->}{ + \fi + \catcode`\^^M\active + \catcode`\^^I\active + \catcode`\ \active + \XML@trace@warn{\string} + \XML@comment@} + +\def\XML@comment@{ + \XML@checkend@subset} + +\def\XML@grabcomment@{ + \XMLgrab@} + +%% entity defs + +% #1 = rest of \if test + TITY +% #2 = % or entity name +\begingroup +\catcode`\&=12 +\catcode`\%=13 + +\gdef\XML@entity#1 #2 { + \fi\fi + \ifx%#2 + \def\XML@input{ + \ifx\XML@use\XML@SYSTEM\expandafter\@gobble\else + \noexpand\inputonce\fi} + \expandafter\XML@p@ent + \else + \def\XML@input{\noexpand\xmlinput} + {\utfeight@protect@chars\xdef\XML@ename{}} + \XML@trace@warn{\XML@ename; = } + \expandafter\XML@ent + \fi} + +\endgroup + +% input some file at most once (and ignore arguments that +% expand to empty) +% done in a local group +\def\inputonce#1{ + \expandafter\ifx\csname xmt:#1\endcsname\relax + \global\expandafter\let\csname xmt:#1\endcsname\@ne + \begingroup + \XML@reset +% package files should have their own namespace declarations +% don't want to inherit from some random point when file is loaded. +% in principle should clear all prefix assignments in local scope +% but I don't currently maintain a list of those, and not needed as long +% as package files declare all prefixes used. But do set the default +% namespace back to the null namespace. +% +% should force utf-8 as well. + \def\XMLNS@{0} + \input{#1} + \endgroup + \fi} + +% ignore include of empty filename +\expandafter\let\csname xmt:\endcsname\@ne + +% \noexpand protect against active ascii +\begingroup +\catcode`\%12 +\gdef\XML@p@ent#1 #2{ + {\utfeight@protect@chars\xdef\XML@ename{%#1}} + \XML@trace@warn{\XML@ename; = } + \if\noexpand#2P\XML@E@public + \else\if\noexpand#2S\XML@E@system + \else\XML@E@internal#2} +\endgroup + +% #1 = next char( P or S for external entities) +\def\XML@ent#1{ + \if\noexpand#1P\XML@E@public + \else\if\noexpand#1S\XML@E@system + \else\XML@E@internal#1} + + +\begingroup +\catcode`\:\active + +% special `prefix' that just removes following colon. +\expandafter\gdef\csname XMLNS@*\endcsname#1{} + +\endgroup + +\begingroup +\catcode`\:=12 + +%#1 = " or ' +\gdef\XML@E@internal#1{ + \fi\fi + \begingroup + \let\XML@trace@warn\@gobble + \let\XML@endgroup\endgroup + \let\XML@begingroup\begingroup +% make " or ' close the grab `element'. the nameless close tag is completed +% by the > coming from the ENTITY declaration syntax. +% Using a mangled grab code is a bit complicated but it allows +% catcode 10 simplification in the normal case of element handling +% and allows characters to be correctly normalised to utf8. + \def#1{ +\begingroup +\uccode`\~`\# +\catcode`\~\active +\uppercase{\endgroup +\def\XML@E@internal@#1#2>{ + \expandafter\protected@xdef\csname+\XML@ename\endcsname{#1} + \XML@trace@warn{\@spaces\string"#1\string"} + \XML@checkend@subset}} + +%% check for ]> that ends internal subset +\begingroup +\catcode`\]\active + + +% #1 is next token in local subset (normally < or >) +% after subset finishes % stops being markup, and the package +% relating to any external entity in the doctype is loaded. +\gdef\XML@checkend@subset{ + \catcode`\^^M10 + \catcode`\^^I10 + \catcode`\ 10 % + \XML@checkend@subset@} + +% #1 = next character +\catcode`\%\active +\gdef\XML@checkend@subset@#1#2#3#4{ + \ifx]#1 + \let\XML@w@\@empty + \XML@trace@warn{]} + \gdef%{\utfeightay%} + \let\XML@checkend@subset\relax + \expandafter\XML@loaddoctype + \fi + #1#2#3#4} + +\endgroup + +%% #1#2 just gobble ]> +\def\XML@loaddoctype#1#2{ + \catcode`\^^M\active + \catcode`\^^I\active + \catcode`\ \active + \ifx\XML@D@dtd\relax\else + \XML@trace@warn{Doctype Package: \XML@D@dtd} + \inputonce\XML@D@dtd + \fi} + + +% #1 = rest of \if test + PUBLIC +\def\XML@E@public#1 { + \fi + \XML@quoted\XML@E@pubid} + +% #1 = FPI +\def\XML@E@pubid#1{ + \def\XML@PUBLIC{#1} + \edef\XML@PUBLIC{\expandafter\strip@prefix\meaning\XML@PUBLIC} + \XML@quoted\XML@E@systemid} + +% #1 = rest of if test up to SYSTEM +\def\XML@E@system#1 { + \fi\fi + \def\XML@PUBLIC{} + \XML@quoted\XML@E@systemid} + + +% #1 URL +% #2 next token, N or > +\def\XML@E@systemid#1#2{ + \def\XML@SYSTEM{#1} + \let\XML@use\XML@SYSTEM + \XML@trace@warn{\@spaces Public: \XML@PUBLIC} + \XML@trace@warn{\@spaces System: \XML@SYSTEM} + \the\XML@catalogue + \if\noexpand#2N + \expandafter\XML@E@ndata + \else + \afterfi + \XML@E@internal@{\XML@input{\XML@use}}#2 + \fi} + + +% NDATA token terminated by > or white space +% #1 = DATA +% #2 ndata token with possible extra space +\def\XML@E@ndata#1 #2>{\XML@ndata@#2 >} + +% #1 = ndata toke +% #2 = junk +\def\XML@ndata@#1 #2>{ + \XML@E@internal@{{#1}{\XML@use}}>} + + +%% DOCTYPE +% #1 rest of \if test + OCTYPE +% #2 document element name +% #3 P or S or [ or > +% noexpand for P and S, [ assumed active + +\begingroup +\catcode`\[\active + +\gdef\XML@doctype#1 #2 #3{ + \fi\fi\fi\fi\fi + \def\documentelement{#2} + \let\XML@D@dtd\relax + \XML@trace@warn{Document Element: \documentelement} + \if\noexpand#3P\XML@D@public + \else\if\noexpand#3S\XML@D@system + \else\ifx#3[\XML@D@internal + \else%must be > the end + \XML@D@empty + @} + + +\gdef\XML@D@empty @{ + \fi\fi\fi} + +% #1 = rest of \if test + UBLIC +\gdef\XML@D@public#1 { + \fi + \XML@quoted\XML@pubid} + +% #1 = FPI +\gdef\XML@pubid#1{ + \def\XML@PUBLIC{#1} + \edef\XML@PUBLIC{\expandafter\strip@prefix\meaning\XML@PUBLIC} + \XML@quoted\XML@systemid} + + +% #1 = rest of \if test + YSTEM +\gdef\XML@D@system#1 { + \fi\fi + \def\XML@PUBLIC{} + \XML@quoted\XML@systemid} + +% #1 = URI +\gdef\XML@systemid#1{ + \protected@edef\XML@SYSTEM{#1} + \edef\XML@SYSTEM{\expandafter\strip@prefix\meaning\XML@SYSTEM} + \XML@trace@warn{Doctype Public: \XML@PUBLIC} + \XML@trace@warn{Doctype System: \XML@SYSTEM} + \let\XML@use\@empty + \the\XML@catalogue + \let\XML@D@dtd\XML@use + \XML@D@internal@} + +% #1 = rest of if test +\gdef\XML@D@internal#1@{ + \fi\fi\fi + \XML@D@internal@[} + +% #1 = [ for local subset or > for the end. +\catcode`\%\active +\gdef\XML@D@internal@#1{ + \ifx[#1 + \XML@trace@warn{Internal Subset[} + \let%\XML@pcent + \edef\XML@w@{ \XML@w@} + \expandafter\XML@checkend@subset + \else + | it had better be the closing > + \fi} + +\endgroup + + +%%%%%%%%%%%%%%% +%% catalogue support +\newtoks\XML@catalogue + +%% should rationalise this code + +% #1 = FPI +% #2 = xmltex package file +\def\PUBLIC#1#2{ + \xdef\XML@tempa{#1} + \xdef\XML@tempa{\noexpand\the\XML@catalogue\noexpand\XML@@PUBLIC + {\expandafter\strip@prefix\meaning\XML@tempa}} + \global\XML@catalogue\expandafter\expandafter\expandafter{ + \XML@tempa{#2}}} + + +% #1 = URI +% #2 = xmltex package file +\def\SYSTEM#1#2{ + \xdef\XML@tempa{#1} + \xdef\XML@tempa{\noexpand\the\XML@catalogue\noexpand\XML@@SYSTEM + {\expandafter\strip@prefix\meaning\XML@tempa}} + \global\XML@catalogue\expandafter\expandafter\expandafter{ + \XML@tempa{#2}}} + +% #1 = namespace URI +% #2 = xmltex package file +\def\NAMESPACE#1#2{ + \utfeight@protect@chars + \XML@ns@alloc{#1} + \edef\@tempa{{\csname XML:#1\endcsname}} + \global\XML@catalogue\expandafter{\the\expandafter\XML@catalogue + \expandafter\XML@@NAMESPACE\@tempa{#2}} + \unprotect@utfeight} + + +% #1 = unprefixed element name +% #2 = xmltex package file +\def\NAME#1#2{ + \global\XML@catalogue\expandafter{\the\XML@catalogue\XML@@NAME{#1}{#2}}} + +% #1 = unprefixed element name +% #2 = namespace URI +\def\XMLNS#1#2{ + \utfeight@protect@chars + \XML@ns@alloc{#2} + \edef\@tempa{{#1}{\csname XML:#2\endcsname}} + \global\XML@catalogue\expandafter{\the\expandafter\XML@catalogue + \expandafter\XML@@XMLNS\@tempa} + \unprotect@utfeight} + + + +\def\XML@@PUBLIC#1#2{ + \gdef\XML@tempa{#1} + \ifx\XML@tempa\XML@PUBLIC + \def\XML@use{#2} + \fi} + +\def\XML@@SYSTEM#1#2{ + \def\@tempa{#1} + \ifx\@tempa\XML@SYSTEM + \def\XML@use{#2} + \fi} + +\def\XML@@NAMESPACE#1#2{ + \def\@tempa{#1} + \ifx\@tempa\XML@NAMESPACE + \def\XML@use{#2} + \fi} + + +\def\XML@@NAME#1#2{ + \def\@tempa{#1} + \ifx\@tempa\XML@NAME + \def\XML@use{#2} + \fi} + + + +\begingroup +\catcode`\:\active + +\def\XML@@XMLNS#1#2{ + \def\@tempa{#1} + \ifx\@tempa\XML@NAME + \edef\XMLNS@{#2} + \edef\XML@this@element{ + \XMLNS@\noexpand:\XML@this@local} + \XML@trace@warn{ \XML@this@element} + \let\XML@NAMESPACE\XMLNS@ + \fi} +\endgroup + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% entity refs +\begingroup +\catcode`\$=\catcode`\# +\catcode`\#=\active + +\gdef\XML@amp@markup$1$2;{ + \ifx#$1\@empty + \XML@charref$2; + \XML@tempa + \else + \begingroup\utfeight@protect@chars + \expandafter\aftergroup + \csname+\string&$1$2\expandafter\endcsname + \endgroup + \fi} + +\endgroup + +\let&\XML@amp@markup + +\begingroup +\catcode`\%=12 +\catcode`\&=12 + +\gdef\XML@pcent#1;{ + \csname+%#1\endcsname + \XML@checkend@subset} + +\gdef\XMLentity#1#2{ + \expandafter\gdef\csname+\endcsname{#2}} + +\endgroup + +% predefined definitions +\begingroup +\XMLentity{amp}{\utfeightaz&} +\XMLentity{quot}{\utfeightax"} +\XMLentity{apos}{\utfeightax'} +\XMLentity{lt}{\utfeightaz<} +\XMLentity{gt}{\utfeightax>} +\endgroup + +%% character refs + +% longwinded way so can share code later, also need to do d case. +% this does up to x1F FFFF which is higher than needed for XML +% (x10 FFFF) +\begingroup +\catcode`\"=12 +\catcode`\<=12 +\catcode`\.=12 +\catcode`\,=12 +\catcode`\;=12 +\catcode`\!=12 +\catcode`\~=13 + +% definition is of form +% \utfeightX + +% except for non active chars below 128 which are just def of catcode 12 version. +\gdef\XML@charref#1#2;{ + \begingroup + \uppercase{\count@\if x\noexpand#1"\else#1\fi#2}\relax + \ifnum\count@<"80\relax + \uccode`\~\count@ + \uppercase{ + \ifnum\catcode\count@=\active + \gdef\XML@tempa{\utfeightay~} + \else + \gdef\XML@tempa{~} + \fi} + \else\ifnum\count@<"800\relax + \XML@utfeight@a, + \XML@utfeight@b C\utfeightb., + \else\ifnum\count@<"10000\relax + \XML@utfeight@a; + \XML@utfeight@a, + \XML@utfeight@b E\utfeightc.{,;} + \else + \XML@utfeight@a; + \XML@utfeight@a, + \XML@utfeight@a! + \XML@utfeight@b F\utfeightd.{!,;} + \fi + \fi + \fi + \endgroup} + +% while I support mixed tex/xml files I need to have a version +% of { that always fetches the definition even if +% character is currently non active +\global\let\XML@@charref\XML@charref + + +\gdef\XML@charref@tex#1#2;{ + \begingroup + \uppercase{\count@\if x\noexpand#1"\else#1\fi#2}\relax + \ifnum\count@<"80\relax + \uccode`\~\count@ + \uppercase{ + \gdef\XML@tempa{\utfeightay~}} + \else\ifnum\count@<"800\relax + \XML@utfeight@a, + \XML@utfeight@b C\utfeightb., + \else\ifnum\count@<"10000\relax + \XML@utfeight@a; + \XML@utfeight@a, + \XML@utfeight@b E\utfeightc.{,;} + \else + \XML@utfeight@a; + \XML@utfeight@a, + \XML@utfeight@a! + \XML@utfeight@b F\utfeightd.{!,;} + \fi + \fi + \fi + \endgroup} + +\gdef\XML@utfeight@a#1{ + \@tempcnta\count@ + \divide\count@64 + \@tempcntb\count@ + \multiply\count@64 + \advance\@tempcnta-\count@ + \advance\@tempcnta"80 + \uccode`#1\@tempcnta + \count@\@tempcntb} + +\gdef\XML@utfeight@b#1#2#3#4{ + \advance\count@"#10\relax + \uccode`#3\count@ + \uppercase{\gdef\XML@tempa{#2#3#4}}} + + +%%%%%%%%%%%%%%%% + +% #1 unicode slot, either 123 decimal or xA23 hex +% #2 tex definition of character when used as character data. +% code for chars below 127 somewhat experimental +\gdef\UnicodeCharacter#1#2{ + \begingroup +% suppress active test in charref + \def\active{\catcode\count@} + \XML@charref#1; + \expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter + \expandafter + \gdef\XML@tempa{#2} + \endgroup} + +\endgroup + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newtoks\XMLgrabtoks + +\def\xmlgrab{ + \begingroup + \global\XMLgrabtoks{} + \let\XML@this@level\XML@w@ + \edef\XML@next@level{ \XML@w@} + \let\XML@doelement\XML@grabelement + \let\XML@doend\XML@grabend + \let\XML@docdata\XML@grabcdata + \let\XML@comment@\XML@grabcomment@ + \let\XML@dopi\XML@grabpi + \XMLgrab@} + +\def\XMLgrab@{ + \utfeight@protect@internal + \def<{\iffalse{\fi}\XMLgrab@@} + \xdef\XML@tempa{\iffalse}\fi} + +\def\XMLgrab@@{ + \global\XMLgrabtoks\expandafter{\the\expandafter\XMLgrabtoks\XML@tempa} + \XML@lt@markup} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% cdata +\begingroup +\catcode`\[\active +\catcode`\]\active + +% #1 = DATA +\gdef\XML@cdata #1[{ + \fi\fi\fi\fi\fi\fi + \catcode`\^^M\active + \catcode`\^^I\active + \catcode`\ \active + \XML@cdata@a} + +% #1 = CDADA section text +\gdef\XML@cdata@a#1]]>{ + \begingroup + \XML@trace@warn{CDATA} + \edef<{\noexpand\utfeightaz\string<} + \edef&{\noexpand\utfeightaz\string&} + \XML@docdata{#1}} + +\endgroup + +% #1 = CDADA section text +\def\XML@docdata#1{#1\endgroup} + +% #1 = CDADA section text +\def\XML@grabcdata#1{ + \utfeight@protect@internal + \edef<{\noexpand\utfeightaz\string<} + \edef&{\noexpand\utfeightaz\string&} + \xdef\XML@tempa{#1} + \endgroup + \expandafter\XMLgrab@\XML@tempa} + +%%%%%%%%%% +% notation + +% parse past the public and system ids +% in case they contain a >. +% unlike entities PUBLIC need not have a system id +% #1 junk +% #2 notation name +% #3 PUBLIC or SYSTEM +\def\XML@dec@n#1N #2 #3 { + \fi\fi\fi\fi\fi\fi + \XML@trace@warn{NOTATION #2} + \XML@quoted\XML@notation + } + +\def\XML@notation#1#2{ + \ifx>#2 + \expandafter\XML@checkend@subset + \else + \afterfi + \XML@quoted\XML@notation#2 + \fi} + +%%%%%%%% +%% xmt definitions + +%% #1 element, may use prefix : using prefixes in current scope +%% #2 attlist +%% #3 begin code +%% #4 end code +%% if #3 is \xmlgrab, #4 may access the content of the element as #1 +\long\def\XMLelement#1#2#3#4{ + \XML@ns{#1} + \xdef\XML@tempc{:\csname + XMLNS@\XML@this@prefix\endcsname:\XML@this@local} +% attlist + \toks@\expandafter{\csname A:\csname + XMLNS@\XML@this@prefix\endcsname\endcsname} + #2 + \expandafter\gdef\csname E\XML@tempc\expandafter\endcsname + \expandafter{\expandafter\XML@setattributes\expandafter{\the\toks@}#3} + \gdef\XML@tempa{#3} + \ifx\XML@tempa\XML@xmlgrab + \expandafter\gdef\csname E\string/\XML@tempc\endcsname##1 + {#4} + \else + \expandafter\gdef\csname E\string/\XML@tempc\endcsname + {#4} + \fi} + +\def\XML@xmlgrab{\xmlgrab} + +%% #1 attribute, may use prefix : using prefixes in current scope +%% #2 macro to access attribute in begin or end code +%% #3 default + +\long\def\XMLattribute#1#2#3{ + {\def\XMLNS@{0} + \XML@ns{#1} + \xdef\XML@tempa{\noexpand\XML@attrib + \csname XMLNS@\XML@this@prefix\endcsname + :\XML@this@local\relax\noexpand#2}} + \toks@\expandafter{\the\expandafter\toks@\XML@tempa{#3}}} + +\long\def\XMLattributeX#1#2#3{ + {\def\XMLNS@{0} + \XML@ns{#1} + \xdef\XML@tempa{\noexpand\XML@attrib + \csname XMLNS@\XML@this@prefix\endcsname + :\XML@this@local\relax\noexpand#2}} + \toks@\expandafter{\the\expandafter\toks@\XML@tempa{#3}\utfeight@chardef#2}} + +\def\utfeight@chardef#1{ +\begingroup +\utfeight@protect@chars +\xdef\x@temp{#1} +\endgroup +\let#1\x@temp} + +% version for namespace global attributes, used at top level. +%% #1 prefix for namespace this is for. using prefixes in current scope +%% #2 attribute, may use prefix : using prefixes in current scope +%% #3 macro to access attribute in begin or end code +%% #4 default + +\long\def\XMLnamespaceattribute#1#2#3#4{ + \toks@\expandafter\expandafter\expandafter{\csname A:\csname + XMLNS@#1\endcsname\endcsname} + \XMLattribute{#2}{#3}{#4} + \expandafter\xdef\csname A:\csname + XMLNS@#1\endcsname\endcsname{\the\toks@}} + +\long\def\XMLnamespaceattributeX#1#2#3#4{ + \toks@\expandafter\expandafter\expandafter{\csname A:\csname + XMLNS@#1\endcsname\endcsname} + \XMLattributeX{#2}{#3}{#4} + \expandafter\xdef\csname A:\csname + XMLNS@#1\endcsname\endcsname{\the\toks@}} + + + +%% #1 QName, may use prefix : using prefixes in current scope +%% #2 macro to access attribute in begin or end code +\begingroup +\catcode`\:\active + +\long\gdef\XMLname#1#2{{ + \XML@ns{#1} + \xdef#2{ + \csname XMLNS@\XML@this@prefix\endcsname + \noexpand:\XML@this@local}}} +\endgroup + +\begingroup +\catcode`\<=12 +\catcode`\>=12 +\catcode`\:=12 +\catcode`\/=12 + +\gdef\XMLstring#1#2<>{ + \begingroup + \let\XML@endgroup\endgroup + \let\XML@this@local\@empty + \let\XML@this@prefix\@empty + \expandafter\def\csname + E/:\XMLNS@:\endcsname{ + \gdef#1} + \XML@catcodes + \xmlgrab} + +\gdef\XMLstringX#1#2<>{ + \begingroup + \let\XML@endgroup\endgroup + \let\XML@this@local\@empty + \let\XML@this@prefix\@empty + \expandafter\def\csname + E/:\XMLNS@:\endcsname{ + \xdef#1} + \XML@catcodes + \utfeight@protect@chars + \xmlgrab} + +\endgroup + +%% #1 name +%% #2 code, gets data as #1 +\long\def\XMLProcessInstruction#1#2{ + \expandafter\gdef\csname P:#1\endcsname##1{#2}} + +%%%%%%%%%%% +%% xmltex format support +\everyjob\expandafter{\the\everyjob + \immediate\write20{xmltex version: \xmltexversion:} +\def^^ff^^fe{\XML@setenc{utf-16}\relax} +\def^^fe^^ff{\XML@setenc{utf-16}\relax} +\ActivateASCII{45}% - +\UnicodeCharacter{45}{-\kern\z@} +\let<\XML@first@lt + \IfFileExists{xmltex.cfg} + {\begingroup + \XML@reset + \@@input\@filef@und + \endgroup}{\XML@warn{No File: xmltex.cfg}} + \IfFileExists{\jobname.cfg} + {\begingroup + \XML@reset + \@@input\@filef@und + \endgroup}{\XML@warn{No File: \jobname.cfg}} +} + + +%%%%%%%%%%% +%% not currently used +% +%\def\XML@setlatexcodes{ +%\ifnum\catcode`\&\active +% \let\XML@restore\XML@catcodes +% \let\XML@setlatexcodes\relax +%\fi} +% +%\let\XML@restore\relax + + +%% allow package and class loading with normal latex catcodes + + +\def\@fileswith@pti@ns#1[#2]#3[#4]{ + \XML@reset + \catcode`\^^M5 % + \let\@fileswith@pti@ns\@@fileswith@pti@ns + \@@fileswith@pti@ns{#1}[{#2}]{#3}[{#4}] + \XML@catcodes + \let\@fileswith@pti@ns\XML@@fileswith@pti@ns} + +\let\XML@@fileswith@pti@ns\@fileswith@pti@ns + + + +% and similar for input of aux files +\def\@input#1{ + \XML@reset + \catcode`\^^I\active + \catcode`\<\active + \catcode`\>\active + \catcode`\&\active + \catcode`\#\active + \catcode`\/\active + \catcode`\:\active + \catcode`\=\active + \let\XML@charref\XML@charref@tex + \IfFileExists{#1}{\@@input\@filef@und}{\typeout{No file #1.}} + \XML@catcodes + \let\XML@charref\XML@@charref +} + +% and end doc +\def\enddocument{ + \@enddocumenthook + \@checkend{document} + \clearpage + \begingroup + \if@filesw + \immediate\closeout\@mainaux + \let\@setckpt\@gobbletwo + \let\@newl@bel\@testdef + \@tempswafalse +\XML@reset + \catcode`\^^I\active + \catcode`\<\active + \catcode`\>\active + \catcode`\&\active + \catcode`\#\active + \catcode`\/\active + \catcode`\:\active + \catcode`\=\active + \let\XML@charref\XML@charref@tex + \makeatletter \input\jobname.aux + \fi + \@dofilelist + \ifdim \font@submax \string>\fontsubfuzz\relax + \@font@warning{Size substitutions with differences\MessageBreak + up to \font@submax\space have occured.\@gobbletwo} + \fi + \@defaultsubs + \@refundefined + \if@filesw + \ifx \@multiplelabels \relax + \if@tempswa + \@latex@warning@no@line{Label(s) may have changed. + Rerun to get cross-references right} + \fi + \else + \@multiplelabels + \fi + \fi + \endgroup + \deadcycles\z@\@@end} + + +%% protected write +\long\def \protected@write#1#2#3{ + \begingroup + \let\thepage\relax + #2 + \utfeight@protect@external + \let\protect\@unexpandable@protect + \edef\reserved@a{\write#1{#3}} + \reserved@a + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi +} + + +%% typeout etc +\def\set@display@protect{ + \let\protect\string + \utfeight@protect@typeout} + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% xmltex namespace +\expandafter\def\csname + XML:http://www.dcarlisle.demon.co.uk/xmltex\endcsname{2} +\expandafter\let\csname A:2\endcsname\@empty +\expandafter\gdef\csname XMLNS@2\endcsname{2} +\XML@ns@count2 + +\iffalse +% this is some currently used code aiming at having an aux file +% in xml syntax using commands from the xmltex namespace. +% this would avoid some of the problems involved in having +% mixed xml/tex aux files. +\def\addcontentsline#1#2#3{ + \addtocontents{#1}{ + <2:contentsline level="#2"> + <2:toctitle>#3 + <2:page>\thepage + }} + +\long\def\addtocontents#1#2{ + \protected@write\@auxout + {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble} + {<2:@writefile ext="#1">#2}} + +\def\numberline#1{<2:numberline>#1} + +\fi +% end of xml-aux code. + +%%%%%%%%%%%%%%%%%% +% tracing +\long\def\@gobble#1{} +\long\def\@gobbletwo#1#2{} +\long\def\@gobblethree#1#2#3{} + +\def\xmltraceonly{ + \global\hfuzz\maxdimen + \global\nullfont + \global\everypar{} + \global\let\XML@doelement\relax + \global\let\wrong@fontshape\relax + \global\let\selectfont\relax + \expandafter\gdef\expandafter\XML@catcodes\expandafter{\XML@catcodes + \gdef\unprotect@utfeight{ + \let<\XML@lt@markup + \let&\XML@amp@markup + \global\let\utfeightax\@gobble + \global\let\utfeightay\@gobble + \global\let\utfeightaz\@gobble + \global\let\utfeightb\@gobbletwo + \global\let\utfeightc\@gobblethree + \global\let\utfeightd\@gobblefour} + \unprotect@utfeight} + \gdef\XML@doend{\XML@endgroup} + \gdef\XML@docdata##1{\endgroup} + \global\let\XML@dopi\@gobbletwo +} + +\def\xmltraceoff{ + \global\let\XML@trace@warn\@gobble + \global\let\XML@trace@warnNI\@gobble + \global\let\XML@trace@warnE\@gobble + \global\let\XML@attrib@trace\relax} + + +%%%%% +%% xmltex PI +%% +%% +%% content of pi may be a latex command. +%% Arguments may be given in {} as usual +%% Do not use \ . First `word' (ignoring white space) taken as a tex +%% command name. May be a standard latex command, as here, +%% or some special command defined in a cfg file or package. +\begingroup +\catcode`[=1 +\catcode`]=2 +\catcode`\{\active +\catcode`\}\active +\XMLProcessInstruction[xmltex][ + \XML@pi#1{\relax}] + +\gdef\XML@pi#1{#2}[ + \ifx\relax#2 + \csname\zap@space#1 \@empty\expandafter\endcsname + \else + \afterfi + \expandafter + \XML@pi@b\csname\zap@space#1 \@empty\endcsname[#2] + \fi] + +\gdef\XML@pi@b#1{#2}[ + \ifx\relax#2 + #1 + \else + \afterfi + \XML@pi@b#1[#2] + \fi] + +\endgroup + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% unicode support + +% \utfeighta#1 1 byte utf8 char +% \utfeightb#1#2 2 byte utf8 char +% \utfeightc#1#2#3 3 byte utf8 char +% \utfeightd#1#2#3#4 4 byte utf8 char + +\def\unprotect@utfeight{ + \let<\XML@lt@markup + \let&\XML@amp@markup + \def\utfeightax##1{ + \csname 8:\string##1\endcsname} + \let\utfeightay\utfeightax + \let\utfeightaz\utfeightax + \def\utfeightb##1##2{ + \csname 8:##1\string##2\endcsname} + \def\utfeightc##1##2##3{ + \csname 8:##1\string##2\string##3\endcsname} + \def\utfeightd##1##2##3##4{ + \csname 8:##1\string##2\string##3\string##4\endcsname}} + +\unprotect@utfeight + +% do this also in everyjob +\let<\XML@first@lt + + +% for moving internal arguments (not writes) +\def\utfeight@protect@internal{ + \let\utfeightax\noexpand + \let\utfeightay\noexpand + \def\utfeightaz{ + \noexpand\utfeightaz\noexpand} + \let<\relax\let&\relax + \def\utfeightb##1##2{ + \noexpand\utfeightb##1\string##2} + \def\utfeightc##1##2##3{ + \noexpand\utfeightc##1\string##2\string##3} + \def\utfeightd##1##2##3##4{ + \noexpand\utfeightd##1\string##2\string##3\string##4}} + + +% for external files (expands one in an edef and once in a write +\def\utfeight@protect@external{ + \def\utfeightax{ + \noexpand\noexpand\noexpand} + \let\utfeightay\utfeighta@ref + \let\utfeightaz\utfeighta@ref + \edef<{\string<} + \edef&{\string&} + \def\utfeightb##1##2{ + ##1\string##2} + \def\utfeightc##1##2##3{ + ##1\string##2\string##3} + \def\utfeightd##1##2##3##4{ + ##1\string##2\string##3\string##4}} + +% for typeouts and immediate writes and messages +%\def\utfeight@protect@typeout{ +% \let\utfeightax\noexpand +% \let\utfeightay\noexpand +% \let\utfeightaz\utfeighta@ref +% \let<\relax\let&\relax +% \def\utfeightb##1##2{##1\string##2} +% \def\utfeightc##1##2##3{##1\string##2\string##3} +% \def\utfeightd##1##2##3##4{##1\string##2\string##3\string##4}} + +% plan b +\def\utfeight@protect@typeout{ + \utfeight@protect@chars + \let<\relax + \let&\relax} + +% for csname (will fall over < or & but they should not be there) +\def\utfeight@protect@chars{ + \let\utfeightax\string + \let\utfeightay\string + \let\utfeightaz\string + \def\utfeightb##1##2{ + ##1\string##2} + \def\utfeightc##1##2##3{ + ##1\string##2\string##3} + \def\utfeightd##1##2##3##4{ + ##1\string##2\string##3\string##4}} + + +\def\utfeighta@ref#1{ + \string&\string##\number\expandafter`\string#1\string;} + + +%%%%%%%%%%%%%%%%%%%% +%% mapping input encodings to unicode. + + +\begingroup +\catcode`\"=12\relax +\gdef\InputCharacter#1#2{ + \begingroup + \XML@charref#2; + \count@"0\if\noexpand x#1\relax\else\count@#1\fi\relax + \uccode`\~\count@ + \uppercase{ + \global\let~\XML@tempa} + \endgroup} +\endgroup + +%%%%%%%%%%%%%%%%%%%%%%%% +% default encoding + +%% need to change this default if hit BOM or xml or text decl, +\XML@setutfeight + +%%%%%%%%%%%%%%%%%%%%% +% adding xmltex style protection to standard latex commands. +% if xmltex being used with other formats this does no harm +% except take up a bit of space. + +\begingroup +\catcode`\:\active +\catcode`\/\active + +\gdef\markboth#1#2{\gdef\@themark{{#1}{#2}}{ + \utfeight@protect@internal + \let\protect\@unexpandable@protect + \let\label\relax \let\index\relax \let\glossary\relax + \mark{\@themark}}\if@nobreak\ifvmode\nobreak\fi\fi} +\gdef\markright#1{{\let\protect\@unexpandable@protect + \utfeight@protect@internal + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markright\@themark + {#1}\mark{\@themark}}\if@nobreak\ifvmode\nobreak\fi\fi} + +\endgroup + +% this one not safe, restore not complete +\def\protected@edef{ + \let\@@protect\protect + \let\protect\@unexpandable@protect + \utfeight@protect@internal + \afterassignment\restore@protect + \edef +} +\def\protected@xdef{ + \begingroup + \utfeight@protect@internal + \let\protect\@unexpandable@protect + \afterassignment\endgroup + \xdef +} +\def\unrestored@protected@xdef{ + \utfeight@protect@internal + \let\protect\@unexpandable@protect + \xdef +} + +% should really save and restore, not always back to markup +\def\restore@protect{\let\protect\@@protect + \unprotect@utfeight +} + +%%%%% stop this doing damage, also stops it working +\def\MakeUppercase#1{#1} + + +%%%%%%%%%%%%%%%%%%%%% + +% support for making 7bit characters active + +\begingroup +\catcode`\"=12\relax +\gdef\ActivateASCII#1{ + \uppercase{\count@"0\if x\noexpand#1\relax\else\count@#1\fi\relax} + \toks@\expandafter{\nfss@catcodes} + \xdef\nfss@catcodes{ + \catcode\the\count@=\the\catcode\the\count@\relax\the\toks@} + \toks@\expandafter{\XML@catcodes} + \xdef\XML@catcodes{ + \catcode\the\count@\active\the\toks@} + \expandafter\ifx\csname8:"\endcsname\relax + \expandafter\gdef\csname8:"\endcsname{"} + \fi} +\endgroup + + +% some of these should not be active by default, but OK for now. +% could use \ActivateASCII for most if not all of these now. +% should probably use \UnicodeCharacter for these now +\expandafter\def\csname8:\string<\endcsname{\ifmmode\langle\else\textless\fi} +\expandafter\def\csname8:\string>\endcsname{\ifmmode\rangle\else\textgreater\fi} +\expandafter\def\csname8:\string{\endcsname{\{} +\expandafter\def\csname8:\string}\endcsname{\}} + +% activateacii would use ax code, want ay code so ^ not written to aux files +% and clash with tex usage. so locally lie and make it a letter +\ActivateASCII{94}% ^ for tex ^^ notation in aux files +\UnicodeCharacter{94}{\textasciicircum} + + +\ActivateASCII{x5C}% \ +\UnicodeCharacter{x5C}{\textbackslash} +\ActivateASCII{x5F}% \ +\UnicodeCharacter{x5F}{\textunderscore} +\ActivateASCII{123}% { +\ActivateASCII{125}% { + +%%%%%%%%%%%%%%%% +% white space + +\UnicodeCharacter{13}{ \ignorespaces} +\UnicodeCharacter{32}{ \ignorespaces} +\UnicodeCharacter{9}{ \ignorespaces} + + +\expandafter\def\expandafter\obeylines\expandafter{ +\expandafter\def\csname 8:\string^^M\endcsname{\leavevmode\hfil \break\null}} + +\expandafter\def\expandafter\xmlnewlineaction\expandafter{ +\expandafter\def\csname 8:\string^^M\endcsname} + +\expandafter\def\expandafter\obeyspaces\expandafter{ +\expandafter\def\csname 8: \endcsname{\nobreakspace}} + +% tabs just do whatver the current space does. +\catcode`\^^I\active +\expandafter\def\csname 8:\string^^I\expandafter\endcsname + \expandafter{\csname 8: \endcsname} + + +% tex conventions +\XML@reset +\IfFileExists{xmltex.cfg} + { + \@@input\expandafter\@filef@und\expandafter\relax + \expandafter\XML@setenc\expandafter{\XML@thisencoding}\relax + }{\XML@warn{No File: xmltex.cfg}} + + +% get xmltex in catcode 12, for comparing with \jobname +\gdef\XML@tempa#1>{} +\gdef\XML@tempb{xmltex} +\xdef\XML@tempb{\expandafter\XML@tempa\meaning\XML@tempb} +% +\gdef\XML@tempc{pdfxmltex} +\xdef\XML@tempc{\expandafter\XML@tempa\meaning\XML@tempc} +% +\xdef\XML@tempa{\lowercase{\gdef\noexpand\XML@tempa{\jobname}}} +\XML@tempa + + +% if jobname is xmltex or pdfxmltex dump the format, otherwise +% try to load \jobname.cfg and input \xmlfile +% put white space back so the filename can be read off the command line +\ifx\XML@tempa\XML@tempc + \let\XML@tempb\XML@tempc +\fi +\ifx\XML@tempa\XML@tempb + \def\XML@tempa{ +\catcode`\ =10\relax +\catcode`\^^M=10\relax +\catcode`\^^I=10\relax +\dump} +\else +\IfFileExists{\jobname.cfg} + { + \@@input\expandafter\@filef@und\expandafter\relax + \expandafter\XML@setenc\expandafter{\XML@thisencoding}\relax + }{\XML@warn{No File: \jobname.cfg}} + + +\ifx\xmlfile\@undefined + \def\XML@tempa{\catcode`\-12\relax} +\else + \def\XML@tempa{\catcode`\-12\relax\input\xmlfile\relax} +\fi +\fi + +\endlinechar`\^^M \expandafter\XML@catcodes\XML@tempa diff --git a/macros/plain/formats/xmltex/contrib/passivetex/dummyels.sty b/macros/plain/formats/xmltex/contrib/passivetex/dummyels.sty new file mode 100644 index 0000000000..45b81ed101 --- /dev/null +++ b/macros/plain/formats/xmltex/contrib/passivetex/dummyels.sty @@ -0,0 +1,136 @@ +\ProvidesPackage{dummyels}[1999/12/06: S Rahtz; dummy Elsevier names] +% for those who don't have Elsevier fonts +\def\ElOr{\UnavailableSymbol{ElOr}} +\def\Elbcong{\UnavailableSymbol{Elbcong}} +\def\Elolarr{\UnavailableSymbol{Elolarr}} +\def\Elorarr{\UnavailableSymbol{Elorarr}} +\def\Elroang{\UnavailableSymbol{Elroang}} +\def\Elxsqcup{\UnavailableSymbol{Elxsqcup}} +\def\Elxuplus{\UnavailableSymbol{Elxuplus}} +\def\ElzAnd{\UnavailableSymbol{ElzAnd}} +\def\ElzCint{\UnavailableSymbol{ElzCint}} +\def\ElzInf{\UnavailableSymbol{ElzInf}} +\def\ElzLap{\UnavailableSymbol{ElzLap}} +\def\ElzOr{\UnavailableSymbol{ElzOr}} +\def\ElzRlarr{\UnavailableSymbol{ElzRlarr}} +\def\ElzSup{\UnavailableSymbol{ElzSup}} +\def\ElzThr{\UnavailableSymbol{ElzThr}} +\def\ElzTimes{\UnavailableSymbol{ElzTimes}} +\def\Elzbar{\UnavailableSymbol{Elzbar}} +\def\Elzbtdl{\UnavailableSymbol{Elzbtdl}} +\def\Elzcirfb{\UnavailableSymbol{Elzcirfb}} +\def\Elzcirfl{\UnavailableSymbol{Elzcirfl}} +\def\Elzcirfr{\UnavailableSymbol{Elzcirfr}} +\def\Elzclomeg{\UnavailableSymbol{Elzclomeg}} +\def\Elzcreps{\UnavailableSymbol{Elzcreps}} +\def\Elzdbnd{\UnavailableSymbol{Elzdbnd}} +\def\ElzdbndSIX{\UnavailableSymbol{ElzdbndSIX}} +\def\Elzddfnc{\UnavailableSymbol{Elzddfnc}} +\def\Elzdefas{\UnavailableSymbol{Elzdefas}} +\def\Elzdlcorn{\UnavailableSymbol{Elzdlcorn}} +\def\Elzdrcorn{\UnavailableSymbol{Elzdrcorn}} +\def\Elzdshfnc{\UnavailableSymbol{Elzdshfnc}} +\def\Elzdyogh{\UnavailableSymbol{Elzdyogh}} +\def\Elzesh{\UnavailableSymbol{Elzesh}} +\def\Elzfhr{\UnavailableSymbol{Elzfhr}} +\def\Elzggrave{\UnavailableSymbol{Elzggrave}} +\def\Elzglst{\UnavailableSymbol{Elzglst}} +\def\Elzherma{\UnavailableSymbol{Elzherma}} +\def\Elzhex{\UnavailableSymbol{Elzhex}} +\def\Elzhlmrk{\UnavailableSymbol{Elzhlmrk}} +\def\Elzht{\UnavailableSymbol{Elzht}} +\def\Elzinglst{\UnavailableSymbol{Elzinglst}} +\def\ElzinvR{\UnavailableSymbol{ElzinvR}} +\def\Elzinvv{\UnavailableSymbol{Elzinvv}} +\def\Elzinvw{\UnavailableSymbol{Elzinvw}} +\def\ElzlbdTWObd{\UnavailableSymbol{ElzlbdTWObd}} +\def\ElzlbdTWOtd{\UnavailableSymbol{ElzlbdTWOtd}} +\def\ElzlbondTHREE{\UnavailableSymbol{ElzlbondTHREE}} +\def\ElzlbondTWO{\UnavailableSymbol{ElzlbondTWO}} +\def\Elzlmrk{\UnavailableSymbol{Elzlmrk}} +\def\Elzlow{\UnavailableSymbol{Elzlow}} +\def\Elzlozfl{\UnavailableSymbol{Elzlozfl}} +\def\Elzlozfr{\UnavailableSymbol{Elzlozfr}} +\def\Elzlpargt{\UnavailableSymbol{Elzlpargt}} +\def\Elzltlmr{\UnavailableSymbol{Elzltlmr}} +\def\Elzltln{\UnavailableSymbol{Elzltln}} +\def\Elzlyogh{\UnavailableSymbol{Elzlyogh}} +\def\Elzminhat{\UnavailableSymbol{Elzminhat}} +\def\Elznesim{\UnavailableSymbol{Elznesim}} +\def\Elzopeno{\UnavailableSymbol{Elzopeno}} +\def\ElzpSlash{\UnavailableSymbol{ElzpSlash}} +\def\Elzpalh{\UnavailableSymbol{Elzpalh}} +\def\Elzpbgam{\UnavailableSymbol{Elzpbgam}} +\def\Elzpdbdbd{\UnavailableSymbol{Elzpdbdbd}} +\def\Elzpdbdtd{\UnavailableSymbol{Elzpdbdtd}} +\def\Elzpdbond{\UnavailableSymbol{Elzpdbond}} +\def\Elzpent{\UnavailableSymbol{Elzpent}} +\def\Elzpes{\UnavailableSymbol{Elzpes}} +\def\Elzpgamma{\UnavailableSymbol{Elzpgamma}} +\def\Elzpscra{\UnavailableSymbol{Elzpscra}} +\def\Elzpscrv{\UnavailableSymbol{Elzpscrv}} +\def\Elzptbdbd{\UnavailableSymbol{Elzptbdbd}} +\def\Elzptbdtd{\UnavailableSymbol{Elzptbdtd}} +\def\Elzpupsil{\UnavailableSymbol{Elzpupsil}} +\def\Elzqbnd{\UnavailableSymbol{Elzqbnd}} +\def\ElzrLarr{\UnavailableSymbol{ElzrLarr}} +\def\Elzrais{\UnavailableSymbol{Elzrais}} +\def\Elzrarrx{\UnavailableSymbol{Elzrarrx}} +\def\ElzrbdTWObd{\UnavailableSymbol{ElzrbdTWObd}} +\def\ElzrbdTWOtd{\UnavailableSymbol{ElzrbdTWOtd}} +\def\ElzrbondTHREE{\UnavailableSymbol{ElzrbondTHREE}} +\def\ElzrbondTWO{\UnavailableSymbol{ElzrbondTWO}} +\def\Elzreapos{\UnavailableSymbol{Elzreapos}} +\def\Elzreglst{\UnavailableSymbol{Elzreglst}} +\def\Elzreve{\UnavailableSymbol{Elzreve}} +\def\Elzreveps{\UnavailableSymbol{Elzreveps}} +\def\Elzrh{\UnavailableSymbol{Elzrh}} +\def\Elzrl{\UnavailableSymbol{Elzrl}} +\def\Elzrparlt{\UnavailableSymbol{Elzrparlt}} +\def\Elzrtld{\UnavailableSymbol{Elzrtld}} +\def\Elzrtll{\UnavailableSymbol{Elzrtll}} +\def\Elzrtln{\UnavailableSymbol{Elzrtln}} +\def\Elzrtlr{\UnavailableSymbol{Elzrtlr}} +\def\Elzrtls{\UnavailableSymbol{Elzrtls}} +\def\Elzrtlt{\UnavailableSymbol{Elzrtlt}} +\def\Elzrtlz{\UnavailableSymbol{Elzrtlz}} +\def\Elzrttrnr{\UnavailableSymbol{Elzrttrnr}} +\def\Elzrvbull{\UnavailableSymbol{Elzrvbull}} +\def\Elzsbbrg{\UnavailableSymbol{Elzsbbrg}} +\def\Elzsblhr{\UnavailableSymbol{Elzsblhr}} +\def\Elzsbrhr{\UnavailableSymbol{Elzsbrhr}} +\def\Elzschwa{\UnavailableSymbol{Elzschwa}} +\def\Elzsqfb{\UnavailableSymbol{Elzsqfb}} +\def\Elzsqfl{\UnavailableSymbol{Elzsqfl}} +\def\Elzsqfne{\UnavailableSymbol{Elzsqfne}} +\def\Elzsqfnw{\UnavailableSymbol{Elzsqfnw}} +\def\Elzsqfr{\UnavailableSymbol{Elzsqfr}} +\def\Elzsqfse{\UnavailableSymbol{Elzsqfse}} +\def\Elzsqfsw{\UnavailableSymbol{Elzsqfsw}} +\def\Elzsqft{\UnavailableSymbol{Elzsqft}} +\def\Elzsqshd{\UnavailableSymbol{Elzsqshd}} +\def\Elzsqspne{\UnavailableSymbol{Elzsqspne}} +\def\Elzsyllab{\UnavailableSymbol{Elzsyllab}} +\def\Elztbnd{\UnavailableSymbol{Elztbnd}} +\def\ElztbndSIX{\UnavailableSymbol{ElztbndSIX}} +\def\Elztdcol{\UnavailableSymbol{Elztdcol}} +\def\Elztesh{\UnavailableSymbol{Elztesh}} +\def\Elztfnc{\UnavailableSymbol{Elztfnc}} +\def\Elztrisla{\UnavailableSymbol{Elztrisla}} +\def\Elztrna{\UnavailableSymbol{Elztrna}} +\def\Elztrnh{\UnavailableSymbol{Elztrnh}} +\def\Elztrnm{\UnavailableSymbol{Elztrnm}} +\def\Elztrnmlr{\UnavailableSymbol{Elztrnmlr}} +\def\Elztrnr{\UnavailableSymbol{Elztrnr}} +\def\Elztrnrl{\UnavailableSymbol{Elztrnrl}} +\def\Elztrnsa{\UnavailableSymbol{Elztrnsa}} +\def\Elztrnt{\UnavailableSymbol{Elztrnt}} +\def\Elztrny{\UnavailableSymbol{Elztrny}} +\def\Elzverti{\UnavailableSymbol{Elzverti}} +\def\Elzverts{\UnavailableSymbol{Elzverts}} +\def\Elzvrecto{\UnavailableSymbol{Elzvrecto}} +\def\Elzxh{\UnavailableSymbol{Elzxh}} +\def\Elzxl{\UnavailableSymbol{Elzxl}} +\def\Elzxrat{\UnavailableSymbol{Elzxrat}} +\def\Elzyogh{\UnavailableSymbol{Elzyogh}} +\endinput diff --git a/macros/plain/formats/xmltex/contrib/passivetex/fotex.sty b/macros/plain/formats/xmltex/contrib/passivetex/fotex.sty new file mode 100644 index 0000000000..bccbf77a03 --- /dev/null +++ b/macros/plain/formats/xmltex/contrib/passivetex/fotex.sty @@ -0,0 +1,1724 @@ +%RCS: $Id: //TEI/web/Software/passivetex/fotex.sty#29 $, $Date: 2002/06/26 $ +% +% Copyright 2002 Sebastian Rahtz/Oxford University +% +% +% Permission is hereby granted, free of charge, to any person obtaining +% a copy of this software and any associated documentation files (the +% ``Software''), to deal in the Software without restriction, including +% without limitation the rights to use, copy, modify, merge, publish, +% distribute, sublicense, and/or sell copies of the Software, and to +% permit persons to whom the Software is furnished to do so, subject to +% the following conditions: +% +% The above copyright notice and this permission notice shall be included +% in all copies or substantial portions of the Software. +% +% Includes fixes from Tomas Bures +% +\ProvidesPackage{fotex}[2002/06/25: version 1.17. support for XSL formatting, S Rahtz] +\RequirePackage{graphicx} +\IfFileExists{multicol.sty} + {\RequirePackage{multicol}[1997/12/16]} + {\newenvironment{multicols}[1]% + {\typeout{Warning, at line \the\inputlineno, multicol package not available}}{}% +} +\RequirePackage{rotating} +\RequirePackage{array} +\gdef\arraybackslash{\let\\=\@arraycr} +\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} +\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} +\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} +\newcolumntype{P}[1]{>{\arraybackslash}p{#1}} +\RequirePackage{amsmath} +\let\Vec\undefined +\RequirePackage{longtable} +\RequirePackage{url} +\RequirePackage[normalem]{ulem} +\RequirePackage{color} +\RequirePackage{times} +\RequirePackage{mlnames} +\RequirePackage{unicode} +\RequirePackage{marvosym} +\RequirePackage{ucharacters} +%\usepackage{ucs}\usepackage[utf8]{inputenc} +\RequirePackage{nameref} +\RequirePackage[colorlinks=false,plainpages=true,hypertexnames=false,pdfborder={1 0 0}]{hyperref}[1999/08/1] +%------------------------------------------- +\newcount\FOListBlocks +\newcount\FOTableNesting +\newcount\FOinList +\newcount\FOinTable +\newcount\NCols +\newcount\RowCount +\newdimen\CurrentCellWidth +\newdimen\FObalancespace +\newdimen\FOspaceleft +\newdimen\MasterBottomMargin +\newdimen\MasterLeftMargin +\newdimen\MasterRightMargin +\newdimen\MasterTopMargin +\newdimen\NoTableCellHeight +\newdimen\TableWidth +\newdimen\XFOendindent +\newdimen\XFOstartindent +\newdimen\bottommargin +\newdimen\FOtempdim +\newif\ifFOBlockGrab +\newif\ifFODebug +\newif\ifFODefiningPage +\newif\ifFOFirstCell +\newif\ifFOListBody +\newif\ifFOListInnerPar +\newif\ifFOSub +\newif\ifFOSuper +\newif\ifFOinLayout +\newif\ifFOinOutput +\newif\ifMulticolPending +\newif\ifNoTableCheckHeight +\newif\ifStartWithOmit +\newsavebox\BlockBox +\newsavebox\CellBox +\newsavebox\FOBOX +\newsavebox\ItemBox +\newtoks\ColSpecs +% +\FODebugfalse +\FOBlockGrabfalse +\FODefiningPagefalse +\FOListBodyfalse +\FOListInnerParfalse +\FOinLayoutfalse +\FOinList0 +\FOinOutputfalse +\FOTableNesting0 +\FOinTable0 +\MasterBottomMargin\z@ +\MasterLeftMargin\z@ +\MasterRightMargin\z@ +\MasterTopMargin\z@ +\MulticolPendingfalse +\StartWithOmitfalse +\def\DEBUG#1{% + \ifFODebug + \typeout{#1, at \the\inputlineno}% + \fi +} +\def\expandFont#1 #2 #3\\{% + \typeout{FONT expanding to #1 / #2 / #3}% +} +\def\expandBorder#1 #2 #3\\{% + \def\FOborderstartcolor{#3}% + \def\FOborderendcolor{#3}% + \def\FOborderbeforecolor{#3}% + \def\FOborderaftercolor{#3}% + \def\FOborderstartwidth{#1}% + \def\FOborderendwidth{#1}% + \def\FOborderbeforewidth{#1}% + \def\FOborderafterwidth{#1}% + \def\FOborderstartstyle{#2}% + \def\FOborderendstyle{#2}% + \def\FOborderbeforestyle{#2}% + \def\FOborderafterstyle{#2}% +} +\def\FOexpandattributes{% +% +% links +\ifx\FObordertopstyle\LINK\else\let\FOborderbeforestyle\FObordertopstyle\fi +\ifx\FOborderbottomstyle\LINK\else\let\FOborderafterstyle\FOborderbottomstyle\fi +\ifx\FOborderrightstyle\LINK\else\let\FOborderendstyle\FOborderrightstyle\fi +\ifx\FOborderleftstyle\LINK\else\let\FOborderstartstyle\FOborderleftstyle\fi +\ifx\FObordertopwidth\LINK\else\let\FOborderbeforewidth\FObordertopwidth\fi +\ifx\FOborderbottomwidth\LINK\else\let\FOborderafterwidth\FOborderbottomwidth\fi +\ifx\FOborderrightwidth\LINK\else\let\FOborderendwidth\FOborderrightwidth\fi +\ifx\FOborderleftwidth\LINK\else\let\FOborderstartwidth\FOborderleftwidth\fi +\ifx\FObordertopcolor\LINK\else\let\FOborderbeforecolor\FObordertopcolor\fi +\ifx\FOborderbottomcolor\LINK\else\let\FOborderaftercolor\FOborderbottomcolor\fi +\ifx\FOborderrightcolor\LINK\else\let\FOborderendcolor\FOborderrightcolor\fi +\ifx\FOborderleftcolor\LINK\else\let\FOborderstartcolor\FOborderleftcolor\fi +% shortcuts + \ifx\FObordercolor\att@black + \else + \let\FOborderstartcolor\FObordercolor + \let\FOborderendcolor\FObordercolor + \let\FOborderbeforecolor\FObordercolor + \let\FOborderaftercolor\FObordercolor + \fi + \ifx\FOborderwidth\@empty + \else + \let\FOborderstartwidth\FOborderwidth + \let\FOborderendwidth\FOborderwidth + \let\FOborderbeforewidth\FOborderwidth + \let\FOborderafterwidth\FOborderwidth + \fi + \ifx\FOborderstyle\@empty + \else + \let\FOborderstartstyle\FOborderstyle + \let\FOborderendstyle\FOborderstyle + \let\FOborderbeforestyle\FOborderstyle + \let\FOborderafterstyle\FOborderstyle + \fi + \ifx\FOborder\@empty + \else + \expandafter\expandBorder\FOborder\\{}% + \fi +% \ifx\FOfont\@empty +% \else +% \expandafter\expandFont\FOfont\relax \\{}% +% \fi + \ifdim\FOpadding>\z@ + \let\FOpaddingstart\FOpadding + \let\FOpaddingend\FOpadding + \let\FOpaddingbefore\FOpadding + \let\FOpaddingafter\FOpadding + \fi + \ifx\FOmargin\@empty + \else + \let\tmpmargin\FOmargin + \let\FOmarginleft\tmpmargin + \let\FOmarginright\tmpmargin + \let\FOmargintop\tmpmargin + \let\FOmarginbottom\tmpmargin + \fi +% end of shortcuts + \ifx\FOborderendstyle\att@solid + \ifx\FOborderendwidth\att@thin\def\FOborderendwidth{0.4pt}\fi + \ifx\FOborderendwidth\att@medium\def\FOborderendwidth{0.8pt}\fi + \ifx\FOborderendwidth\att@thick\def\FOborderendwidth{1.2pt}\fi + \FOBlockGrabtrue + \else + \def\FOborderendwidth{\z@}% + \fi + \ifx\FOborderstartstyle\att@solid + \ifx\FOborderstartwidth\att@thin\def\FOborderstartwidth{0.4pt}\fi + \ifx\FOborderstartwidth\att@medium\def\FOborderstartwidth{0.8pt}\fi + \ifx\FOborderstartwidth\att@thick\def\FOborderstartwidth{1.2pt}\fi + \FOBlockGrabtrue + \else + \def\FOborderstartwidth{\z@}% + \fi + \ifx\FOborderafterstyle\att@solid + \ifx\FOborderafterwidth\att@thin\def\FOborderafterwidth{0.4pt}\fi + \ifx\FOborderafterwidth\att@medium\def\FOborderafterwidth{0.8pt}\fi + \ifx\FOborderafterwidth\att@thick\def\FOborderafterwidth{1.2pt}\fi + \else + \def\FOborderafterwidth{\z@}% + \fi + \ifx\FOborderbeforestyle\att@solid + \ifx\FOborderbeforewidth\att@thin\def\FOborderbeforewidth{0.4pt}\fi + \ifx\FOborderbeforewidth\att@medium\def\FOborderbeforewidth{0.8pt}\fi + \ifx\FOborderbeforewidth\att@thick\def\FOborderbeforewidth{1.2pt}\fi + \FOBlockGrabtrue + \else + \def\FOborderbeforewidth{\z@}% + \fi +} +%------------------------------------------- +% +% NoTable. Making tables using fixed width cells. +% From ideas and code by C V Radhakrishnan. +% +\newcount\AbsoluteTableCount +\newcount\CellCount +\newcount\arraylength +\newcounter{ArrayIndex}% +\newcounter{zeroCtr}% +\def\DeclareArray#1{% + \Array{#1}[0]{}% + \expandafter\gdef\csname #1\endcsname[##1]{\csname #1##1\endcsname}% +} +\def\Array#1[#2]#3{% + \expandafter\xdef\csname #1#2\endcsname{#3}% +} + +% +\def\getArraylength#1{% + \arraylength0 + \loop\expandafter\ifx\csname #1\the\arraylength\endcsname\relax% + \else\advance\arraylength by1\repeat}% +% +\def\addToArray#1#2{\arraylength0% + \loop\expandafter\ifx\csname #1\the\arraylength\endcsname\relax% + \else\advance\arraylength by 1\repeat% + \Array{#1}[\the\arraylength]{#2}}% +% +\def\clearArray#1{\getArraylength{#1}% + \loop\ifnum\arraylength >0% + \global\expandafter\let\csname #1\the\arraylength\endcsname\relax% + \advance\arraylength by-1\repeat}% +% +\long\def\ArrayIterator#1#2{% + \setcounter{ArrayIndex}{1}\getArraylength{#1}% + \setcounter{zeroCtr}{\c@arraylength}% + \loop\ifnum\c@ArrayIndex<\c@zeroCtr{#2}% + \stepcounter{ArrayIndex}\repeat% +}% + +\def\NoTableSetup{% + \global\advance\AbsoluteTableCount by 1 + \DeclareArray{fotable\the\AbsoluteTableCount:}% + \global\CellCount0 +} + +\def\NoTableStart#1{#1} + +\def\NoTableEnd{\clearArray{fotable\the\AbsoluteTableCount:}} + +\def\NoTableColumn{% + \ifx\@empty\FOcolumnnumber + \global\advance\NCols by 1 + \else + \global\NCols\FOcolumnnumber + \fi + \ifx\prop@width\FOcolumnwidth\def\FOcolumnwidth{1in}\fi + \ifx\@empty\FOcolumnwidth\def\FOcolumnwidth{1in}\fi + \TablePercentToDimen{\FOcolumnwidth}% + \addToArray{fotable\the\AbsoluteTableCount:}{\the\@tempdima}% + \DEBUG{Table Column \the\NCols, in Table \the\AbsoluteTableCount, + \FOcolumnwidth, = \the\@tempdima}% +} +\def\NoTableRow#1{% + \setbox0=\vbox{\strut They}% + \NoTableCellHeight=\ht0 + \advance\NoTableCellHeight by \dp0 + \global\CellCount0 + \NoTableCheckHeightfalse + \setbox0=\hbox{#1}% + \@tempdima=\ht0 + \advance\@tempdima by \dp0 + \FOspaceleft=\pagegoal + \advance\FOspaceleft by -\pagetotal +% \DEBUG{Space check for \the\@tempdima, [\the\FOspaceleft] PageTotal [\the\pagetotal/\the\pagegoal] l.\the\inputlineno}% + \ifdim\FOspaceleft<\@tempdima + \DEBUG{ .. page in table break fires, l. \the\inputlineno... }% + \clearpage + \fi + \ifdim\@tempdima>\NoTableCellHeight +%\typeout{row pass 2 at \the\inputlineno, as [\the\@tempdima] > [\the\NoTableCellHeight]}% + \global\CellCount0 + \NoTableCellHeight=\@tempdima + \NoTableCheckHeighttrue + \vbox{\hbox{#1}}% + \else + \box0\relax + \fi + \vskip-\lineskip +} + +\def\NoTableCell#1{% + \ifx\FOstartsrow\att@true + \vskip-\lineskip + \global\CellCount1 + \else + \global\advance\CellCount by 1 + \fi + \ifnum\NCols<1 + \CurrentCellWidth\z@ + \setbox0=\hbox{#1}% + \CurrentCellWidth=\wd0 +\DEBUG{report \the\CurrentCellWidth}% + \else + \CurrentCellWidth=\csname fotable\the\AbsoluteTableCount:\the\CellCount\endcsname + \fi + \advance\CurrentCellWidth by -\FOpaddingstart + \advance\CurrentCellWidth by -\FOpaddingend + \ifx\FOborderstartstyle\att@solid\advance\CurrentCellWidth by -\FOborderstartwidth\fi + \ifx\FOborderendstyle\att@solid\advance\CurrentCellWidth by -\FOborderendwidth\fi + \advance\CurrentCellWidth by -\FOmarginright + \advance\CurrentCellWidth by -\FOmarginleft + \ifnum\FOnumbercolumnsspanned>1 + \@tempcnta1 + \loop\ifnum\@tempcnta<\FOnumbercolumnsspanned + \advance\@tempcnta by 1 + \global\advance\CellCount by 1 + \advance\CurrentCellWidth\csname fotable\the\AbsoluteTableCount:\the\CellCount\endcsname +% \typeout{add extra column \the\@tempcnta, to reach \FOnumbercolumnsspanned: \the\CurrentCellWidth}% + \repeat + \fi + \ifx\XML@parent\FOTableRow + \FOTableCellBlock#1\FOEndTableCellBlock + \else + \leavevmode\hbox{\FOTableCellBlock#1\FOEndTableCellBlock}% + \fi + \ifx\FOendsrow\att@true + \vskip-\lineskip + \global\CellCount0 + \fi +} + +\def\FOTableCellBlock{% + \begin{lrbox}{\CellBox}% + \vbox\bgroup + \hsize\the\CurrentCellWidth + \color@begingroup + \FOSetFont{tablecellblock}% + \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi + \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi + \ifx\FOwrapoption\att@nowrap\obeylines\fi + \ifx\TOverticalalign\att@bottom\vfill\fi + } + +\def\FOEndTableCellBlock{% + \ifx\TOverticalalign\att@top\vfill\fi + \color@endgroup + \egroup + \end{lrbox}% + \@tempdima\FOmargintop + \advance\@tempdima\FOpaddingbefore + \ifx\FOborderbeforestyle\att@solid\advance\@tempdima\FOborderbeforewidth\fi +% \advance\@tempdima\dp\CellBox +%\typeout{CELL to height \the\NoTableCellHeight. Padding \FOpaddingbefore,\FOpaddingafter,\FOpaddingstart,\FOpaddingend; Border \FOborderbeforewidth,\FOborderafterwidth,\FOborderstartwidth,\FOborderendwidth; lower by \the\@tempdima; Margin \FOmargintop,\FOmarginbottom,\FOmarginleft,\FOmarginright}% +\@tempdimb\wd\CellBox +\advance\@tempdimb by \FOpaddingstart +\advance\@tempdimb by \FOpaddingend +\hbox{% + \lower\@tempdima + \hbox{% + \hskip\FOmarginleft + \vbox{% + \vskip\FOmargintop + \vbox{% + \ifx\FOborderbeforestyle\att@solid + {\color{\FOborderbeforecolor}\hrule\@height\FOborderbeforewidth}% + \fi + \hbox{% + \ifx\FOborderstartstyle\att@solid + {\color{\FOborderstartcolor}\vrule\@width\FOborderstartwidth}% + \fi + \ifx\FObackgroundcolor\att@transparent + \else + {\color{\FObackgroundcolor}\vrule\@width\@tempdimb\kern-\@tempdimb}% + \fi + \ifNoTableCheckHeight +% According to FOdisplayalign property, we put glue +% before and/or after the cell contents + \vtop to \NoTableCellHeight{% + \vskip\FOpaddingbefore + \ifx\FOdisplayalign\att@auto + \else\ifx\FOdisplayalign\att@after + \else\ifx\FOdisplayalign\att@before\vfil + \else\ifx\FOdisplayalign\att@centered\vfil\fi + \fi + \fi + \fi + \hbox{\kern\FOpaddingstart\box\CellBox\kern\FOpaddingend}% + \ifx\FOdisplayalign\att@auto\vfil + \else\ifx\FOdisplayalign\att@after\vfil + \else\ifx\FOdisplayalign\att@before + \else\ifx\FOdisplayalign\att@centered\vfil\fi + \fi + \fi + \fi + \vskip\FOpaddingafter + }% + \else + \vbox{% + \vskip\FOpaddingbefore + \hbox{\kern\FOpaddingstart\box\CellBox\kern\FOpaddingend}% + \vskip\FOpaddingafter + }% + \fi + \ifx\FOborderendstyle\att@solid + {\color{\FOborderendcolor}\vrule\@width\FOborderendwidth}% + \fi + }% + \ifx\FOborderafterstyle\att@solid + {\color{\FOborderaftercolor}\hrule\@height\FOborderafterwidth}\fi + }% + \vskip\FOmarginbottom + }% + \hskip\FOmarginright + }% + }% +} + +\def\FOBoxedBlock#1{% + \ifdim\@tempdimb=\z@ + \setbox0=\hbox{#1}\@tempdimb\wd0 +%\typeout{report \the\CurrentCellWidth}% + \else + \@tempdimb#1% + \fi + \advance\@tempdimb by -\FOpaddingstart + \advance\@tempdimb by -\FOpaddingend + \ifx\FOborderstartstyle\att@solid\advance\@tempdimb by -\FOborderstartwidth\fi + \ifx\FOborderendstyle\att@solid\advance\@tempdimb by -\FOborderendwidth\fi + \advance\@tempdimb by -\FOmarginright + \advance\@tempdimb by -\FOmarginleft + \begin{lrbox}{\BlockBox}% + \vbox\bgroup + \hsize\the\@tempdimb + \FOSetFont{tableblock}% + \color@begingroup + \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi + \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi + \ifx\FOwrapoption\att@nowrap\obeylines\fi + \parindent\FOtextindent + \Quadding + \strut + } + +\def\FOEndBoxedBlock{% + \par + \color@endgroup + \egroup + \end{lrbox}% + \@tempdimb\FOmargintop + \advance\@tempdimb\FOpaddingbefore + \ifx\FOborderbeforestyle\att@solid\advance\@tempdimb\FOborderbeforewidth\fi +% \advance\@tempdimb by \dp\BlockBox +%\typeout{BLOCK. Padding \FOpaddingbefore,\FOpaddingafter,\FOpaddingstart,\FOpaddingend; Border \FOborderbeforewidth,\FOborderafterwidth,\FOborderstartwidth,\FOborderendwidth; lower by \the\@tempdimb, margin \FOmargintop,\FOmarginbottom,\FOmarginleft,\FOmarginright}% +\@tempdimc\wd\BlockBox +\advance\@tempdimc by \FOpaddingstart +\advance\@tempdimc by \FOpaddingend +\FOtempdim\FOmarginleft +\advance\FOtempdim by \FOtextindent +\hbox{% + \lower\@tempdimb + \hbox{% + \kern\FOtempdim + \vbox{% + \vskip\FOmargintop + \vbox{% + \ifx\FOborderbeforestyle\att@solid + {\color{\FOborderbeforecolor}\hrule\@height\FOborderbeforewidth}% + \fi + \hbox{% + \ifx\FOborderstartstyle\att@solid + {\color{\FOborderstartcolor}\vrule\@width\FOborderstartwidth}\fi + \ifx\FObackgroundcolor\att@transparent + \else + {\color{\FObackgroundcolor}\vrule\@width\@tempdimc\kern-\@tempdimc}% + \fi + \vbox{% + \vskip\FOpaddingbefore + \hbox{\kern\FOpaddingstart\box\BlockBox\kern\FOpaddingend}% + \vskip\FOpaddingafter + }% + \ifx\FOborderendstyle\att@solid + {\color{\FOborderendcolor}\vrule\@width\FOborderendwidth}\fi + }% + \ifx\FOborderafterstyle\att@solid + {\color{\FOborderaftercolor}\hrule\@height\FOborderafterwidth}\fi + }% + \vskip\FOmarginbottom + }% + \kern\FOmarginright + }% + }% +} + +\def\OldTableCell#1{% + \ifx\FOendsrow\att@true + \gdef\w@@t{\\}% + \else + \gdef\w@@t{\tabcellsep}% + \fi + \ifx\FOstartsrow\att@true + \gdef\w@@@t{\\}% + \else + \gdef\w@@@t{}% + \fi + \xdef\MyRows{\FOnumberrowsspanned}% + \xdef\MyCols{\FOnumbercolumnsspanned}% + \ifnum\MyCols>1 + \gdef\w@t{\multicolumn{\MyCols}{l}{#1}\w@@t}% + \else + \ifnum\MyRows>1 + \gdef\w@t{\sbox{\FOBOX}{\hbox{#1}}% + \@tempdima\ht\FOBOX + \advance\@tempdima by -\baselineskip + \raisebox{-\@tempdima}[\z@][\z@]{\usebox{\FOBOX}}\w@@t}% + \else + \gdef\w@t{\w@@@t#1\w@@t}% + \fi + \fi + \aftergroup\w@t +} +%------------------------------------------- +% utility macros +\def\protectCS#1{% + \begingroup + \utfeight@protect@chars + \xdef\FOtempCS{#1}% + \endgroup + \let#1\FOtempCS}% +\def\GrabFileName#1:#2\@nil{% + \DEBUG{Graphic #1 + #2}% + \xdef\FOsrcname{#1}% +} +\def\NColumns{1} +\def\Pass#1\\{\expandafter\@Pass#1} +\def\@Pass#1|#2|#3|#4|{% + \columnsep=#1 + \def\NColumns{#2}% + \def\Marginbottom{#3}% + \def\Margintop{#4}% + } +\def\FOfiletest#1#2#3#4#5#6#7#8\@{% + \def\@tempa{#1#2#3#4#5#6#7}% + \def\@tempb{#1#2#3#4#5}% + \def\@tempc{#1#2#3#4}% + \ifx\@tempa\file@prefix + \xdef\FOsrcname{#8}% + \else + \ifx\@tempb\file@shortprefix + \xdef\FOsrcname{#6#7#8}% + \else + \ifx\@tempc\file@urlprefix + \expandafter\FOurlfiletest#5#6#7#8\@empty\@empty\@empty\@empty\@empty\@empty\@empty\@empty\@empty\@empty + \else + \xdef\FOsrcname{#1#2#3#4#5#6#7#8}% + \fi + \fi + \fi} + +\def\FOurlfiletest#1#2#3#4#5#6#7#8){% + \def\@tempa{#1#2#3#4#5#6#7}% + \def\@tempb{#1#2#3#4#5}% + \ifx\file@prefix\@tempa + \xdef\FOsrcname{#8}% + \else + \ifx\@tempb\file@shortprefix + \xdef\FOsrcname{#6#7#8}% + \else + \xdef\FOsrcname{#1#2#3#4#5#6#7#8}% + \fi + \fi} +{\catcode`\%=13 +\gdef\percenttest#1%#2#3\@{\ifx#2\relax\def\percentval{#1}\expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\gdef\TablePercentToDimen#1{\expandafter\percenttest#1\relax%.\@ + {\@tempdimb\percentval pt\relax\divide\@tempdimb by 100 + \edef\SCALE{\strip@pt\@tempdimb}\global\@tempdima=\SCALE\TableWidth}{\global\@tempdima#1} +} +\gdef\PercentToDimen#1{\expandafter\percenttest#1\relax%.\@ + {\@tempdimb\percentval pt\relax\divide\@tempdimb by 100 + \edef\SCALE{\strip@pt\@tempdimb}\global\@tempdima=\SCALE\hsize}{\global\@tempdima#1} +} +\gdef\FOSetGWidth{\expandafter\percenttest\FOcontentwidth\relax%.\@ + {\@tempdima\percentval pt\relax\divide\@tempdima by 100 + \edef\WSCALE{\strip@pt\@tempdima}\setkeys{Gin}{width=\WSCALE\Gin@nat@width}}{\setkeys{Gin}{width=\FOcontentwidth}}} + +\gdef\FOSetGHeight{\expandafter\percenttest\FOcontentheight\relax%.\@ + {\@tempdima\percentval pt\relax\divide\@tempdima by 100 + \edef\HSCALE{\strip@pt\@tempdima}\setkeys{Gin}{height=\HSCALE\Gin@nat@height}}{\setkeys{Gin}{height=\FOcontentheight}}} + +\gdef\PlayWithFSize#1{\@default\f@size pt + \expandafter\percenttest#1\relax%.\@ + {\dimen@0.01\@default + \multiply\dimen@\percentval\relax}{\dimen@#1}\edef\FOfontsizefinal{\the\dimen@}} +\gdef\PlayWithShift{\expandafter\percenttest\FOverticalalign\relax%.\@ + {\dimen@0.01\baselineskip\multiply\dimen@\percentval\relax}{\dimen@\FOverticalalign}} +} +\def\strip@pt@and@otherjunk#1{\expandafter\rem@ptetc\the#1!} +\begingroup + \catcode`P=12 + \catcode`T=12 + \lowercase{\endgroup + \gdef\rem@ptetc#1.#2PT#3!{#1\ifnum#2>\z@.#2\fi}% +} +\catcode`\/\active + +\def\@basiclink#1//#2\@nil#3\@nil#4\@nil{% + {% +\ifx\\#2\\% + \href{#4}{\FO@inlinesequence{#1}}% +\else + \href{#4}{\FO@inlinesequence{\XURL{#3}}}% +\fi + }% +} +\catcode`\/=12 +% +\def\BlankPage{% + \def\@thehead{\csname\FirstHead\endcsname}% + \def\@thefoot{\csname\FirstTail\endcsname}% + \let\@themargin\oddsidemargin + \def\headheight{\FirstHeadExtent}% + \def\tailheight{\FirstTailExtent}% + \mark{}% + \DEBUG{Blank Page \the\c@page}% + \hbox{} +} +%----------------------------------------------- +% longtable +\LTpre\z@ +\LTpost-10\p@ +\def\LTleft@center{\LTleft=\FOmarginleft plus 1.0fill} +\def\LTright@center{\LTright=\FOmarginright plus 1.0fill} +\def\LTleft@start{\LTleft=\FOmarginleft} +\def\LTright@start{\LTright=\fill} +\def\LTleft@end{\LTleft=\fill} +\def\LTright@end{\LTright=\FOmarginright} +\def\LTleft@justify{\LTleft=\fill} +\def\LTright@justify{\LTright=\fill} +\gdef\LeftMargin{\FOmarginleft} +\gdef\RightMargin{\FOmarginright} +\gdef\TopMargin{\Margintop} +\gdef\BottomMargin{\Marginbottom} +\gdef\EndIndent{\ifx\FOendindent\att@labelend\z@\else\FOendindent\fi} +\gdef\StartIndent{\ifx\FOstartindent\att@bodystart\z@\else\FOstartindent\fi} +\gdef\OddTail {} +\gdef\OddHead {} +\gdef\EvenTail {} +\gdef\EvenHead {} +\gdef\FirstTail {} +\gdef\FirstHead {} +\gdef\OddTailExtent{\z@} +\gdef\OddHeadExtent{\z@} +\gdef\EvenTailExtent{\z@} +\gdef\EvenHeadExtent{\z@} +\gdef\FirstTailExtent{\z@} +\gdef\FirstHeadExtent{\z@} + +\DefineCharacter{8232}{2028}{\newline} +\DefineCharacter{8208}{2010}{-\/} +\def\XURL{\begingroup \urlstyle{same}\Url} +\def\T@pageref#1{% + \expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}% +} +\let\@@ReadBookmarks\ReadBookmarks +\def\ReadBookmarks{{\let\InputIfFileExists\@input\@@ReadBookmarks}} +\def\XReadBookmarks{% + \begingroup + \escapechar=`\\% + \let\escapechar\@gobble % + \def\@@BOOKMARK [##1][##2]##3##4##5{\calc@bm@number{##5}}% + \@input{\jobname.out}% + \ifx\WriteBookmarks\relax + \global\let\WriteBookmarks\relax + \fi + \def\@@BOOKMARK[##1][##2]##3##4##5{% + \def\Hy@temp{##4}% + \pdfoutline goto + name{##3}% + count ##2\check@bm@number{##3}{% + \expandafter\strip@prefix\meaning\Hy@temp + }% + }% + {% + \def\WriteBookmarks{0}% + \@input{\jobname.out}% + }% + %{\escapechar\m@ne\InputIfFileExists{\jobname.out}{}{}}% + \ifx\WriteBookmarks\relax\else + \if@filesw\immediate\openout\@outlinefile=\jobname.out + \ifHy@typexml + \immediate\write\@outlinefile{\relax}% + \fi + \fi + \fi + \endgroup +} + +\def\TableHeader{} +\def\DECO@{\@firstofone} +\def\DECO@blink{\uwave} +\def\DECO@underline{\uline} +\expandafter\def\csname DECO@line-through\endcsname{\sout} +\def\QuaddingStart{% + \ifx\FOtextalignlast\att@relative + \csname startQ@\FOtextalign\endcsname + \else + \csname startQ@\FOtextalignlast\endcsname + \fi +}% +\def\QuaddingEnd{% + \ifx\FOtextalignlast\att@relative + \csname endQ@\FOtextalign\endcsname + \else + \csname endQ@\FOtextalignlast\endcsname + \fi +}% +\def\Quadding{% + \ifx\FOtextalignlast\att@relative + \csname Q@\FOtextalign\endcsname + \else + \csname Q@\FOtextalignlast\endcsname + \fi +}% +% page number compression (by David Carlisle) + +\def\fopagecitation{\pageref{\FOrefid}} +%was \hyperlink{\FOrefid}{\pageref{\FOrefid}}} +\newcount\sortcount +\newtoks\sorttoks +\def\fosortpagecitation{% + \setbox0\hbox{\global\sortcount=0\expandafter\expandafter\expandafter + \@secondoffive\csname r@\FOrefid\endcsname + \relax\relax\relax\relax\relax} + \let\@elt\fosort@elt + \global\sorttoks\expandafter{\expandafter}\the\sorttoks + \ifnum\sortcount<\maxdimen + \global\sorttoks\expandafter{% + \the\expandafter\sorttoks\expandafter\@elt\expandafter{\the\sortcount}} + \fi + } + +\def\fosort@elt#1{% + \ifnum#1>\sortcount + \global\sorttoks\expandafter{\the\expandafter\sorttoks\expandafter\@elt + \expandafter{\the\sortcount}\@elt{#1}}% + \global\sortcount\maxdimen + \else + \ifnum#1<\sortcount + \global\sorttoks\expandafter{\the\sorttoks\@elt{#1}}% + \fi + \fi +} + +\gdef\focompress@elt#1{% + \global\advance\sortcount\@ne + \ifnum#1=\sortcount + \ifx\foheld\relax + \edef\foheld{#1}% + \else + \def\foheld{\textendash#1}% + \fi + \else + \foheld\fosep#1 + \fi + \global\sortcount#1 + \def\fosep{, }% +} + +% headers +\def\FirstHead{\csname right-xsl-before\endcsname} +\def\FirstFoot{\csname right-xsl-after\endcsname} +\expandafter\def\csname left-xsl-before\endcsname{} +\expandafter\def\csname left-xsl-after\endcsname{} +\expandafter\def\csname right-xsl-before\endcsname{} +\expandafter\def\csname right-xsl-after\endcsname{} +\@ifundefined{pdfoutput}{}{\def\pdfBorderAttrs{/Border [0 0 0]}} + +%color +\def\@declaredcolor#1{% + \@ifundefined{\string\color @#1}% + {\expandafter\HTMLXColor#1000000\\{#1}}% + {}% + \expandafter\let\expandafter\current@color + \csname\string\color @#1\endcsname + \set@color + \ignorespaces} + +\def\HTMLXColor#1#2#3#4#5#6#7#8\\#9{% +% \typeout{Defining color #9 as RGB "#2#3, "#4#5, "#6#7}% + \toks@{\definecolor{#9}{RGB}}% +\uppercase{\the\toks@{"#2#3, "#4#5, "#6#7}}% +} +\def\HTMLColor#1#2#3#4#5#6#7#8{% + \definecolor{#1}{RGB}{"#3#4, "#5#6, "#7#8}} +\HTMLColor{aqua}.00FFFF +\HTMLColor{black}.000000 +\HTMLColor{blue}.0000FF +\HTMLColor{fuchsia}.FF00FF +\HTMLColor{gray}.808080 +\HTMLColor{green}.008000 +\HTMLColor{lime}.00FF00 +\HTMLColor{maroon}.800000 +\HTMLColor{navy}.000080 +\HTMLColor{olive}.808000 +\HTMLColor{purple}.800080 +\HTMLColor{red}.FF0000 +\HTMLColor{silver}.C0C0C0 +\HTMLColor{teal}.008080 +\HTMLColor{white}.FFFFFF +\HTMLColor{yellow}.FFFF00 + +\definecolor{orange}{cmyk}{0,0.61,0.87,0} + \long\def\@firstoffive#1#2#3#4#5{#1}% + \long\def\@secondoffive#1#2#3#4#5{#2}% + \long\def\@thirdoffive#1#2#3#4#5{#3}% + \long\def\@fourthoffive#1#2#3#4#5{#4}% + \long\def\@fifthoffive#1#2#3#4#5{#5}% + +\expandafter\let\csname Format-1\endcsname\@arabic +\expandafter\let\csname Format-i\endcsname\@roman +\expandafter\let\csname Format-I\endcsname\@Roman +\expandafter\let\csname Format-a\endcsname\@alph +\expandafter\let\csname Format-A\endcsname\@Alph + +\def\FOgeneratePage#1#2\@null{\csname Format-#1\endcsname{\c@page}#2} + +\def\@item[#1]{% + \if@noparitem + \@donoparitem + \else + \if@inlabel + \indent \par + \fi + \ifhmode + \unskip\unskip \par + \fi + \if@newlist +% removed this test 2000/11/05. always put in topsep. +% \if@nobreak +% \@nbitem +% \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% +% \fi + \else + \addpenalty\@itempenalty + \addvspace\itemsep + \fi + \global\@inlabeltrue + \fi + \global\everypar{% + \@minipagefalse + \global\@newlistfalse + \if@inlabel + \global\@inlabelfalse + {\setbox\z@\lastbox + \ifvoid\z@ + \kern-\itemindent + \fi}% + \box\@labels + \penalty\z@ + \fi + \if@nobreak + \global\@nobreakfalse + \clubpenalty \@M + \else + \clubpenalty \@clubpenalty + \global\everypar{}% + \fi}% + \if@noitemarg + \@noitemargfalse + \if@nmbrlist + \refstepcounter\@listctr + \fi + \fi + \sbox\@tempboxa{\makelabel{#1}}% +%\typeout{LIST at \the\inputlineno, \the\itemindent, \the\labelwidth, \the\wd\@tempboxa}% + \global\setbox\@labels\hbox{% + \unhbox\@labels + \hskip \itemindent + \hskip -\labelwidth + \hskip -\labelsep + \ifdim \wd\@tempboxa >\labelwidth + \box\@tempboxa + \else + \hbox to\labelwidth {\unhbox\@tempboxa}% + \fi + \hskip \labelsep}% + \ignorespaces} + + +% support for markers +\gdef\FOmarks{} + +\gdef\FOaddmarker#1#2{% + \ifx\relax#1 + \else + \def\FOtemp{#1}% + \ifx\FOtemp\FOmarkerclassname + \else + \toks@\expandafter{\the\toks@{#1}{#2}}% + \fi + \expandafter\FOaddmarker + \fi} + + +\gdef\FOgetmarker#1#2{% + \ifx\relax#1 + \DEBUG{unknown mark \FOretrieveclassname, at \the\inputlineno}% + \else + \def\FOtemp{#1}% + \ifx\FOtemp\FOthisretrieveclassname +% \typeout{\the\inputlineno: Retrieve mark (\FOretrieveposition): +% \FOthisretrieveclassname: #2}% + \FOmarkergobble{#2}% + \fi + \expandafter\FOgetmarker + \fi} + +\gdef\FOmarkergobble#1#2\relax\relax{\fi\fi#1} + +% linebreak +\def\FOLINEBREAK{% +\ifnum\FOTableNesting>0 +\else + \\ +\fi +} + + +% vertical spacing +\newskip\FOafterskip +\def\FOvspaceafter{% +\ifFOinOutput +\else + \ifnum\FOTableNesting>0 + \else + \ifx\@empty\FOspaceafter + \@tempdima\FOspaceafteroptimum + \advance\@tempdima by -\FOspaceafterminimum + \@tempdimb\FOspaceafteroptimum + \advance\@tempdimb by \FOspaceaftermaximum + \FOafterskip\FOspaceafteroptimum plus \@tempdimb minus \@tempdima + \else + \FOafterskip\FOspaceafter + \fi + \@tempswafalse + \ifx\FOkeepwithnext\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi + \if@tempswa\addpenalty{\@M}\fi + \addvspace\FOafterskip + \fi +\fi +} + +\def\FOvspacebefore{% +\ifFOinOutput +\else + \ifx\@empty\FOspacebefore + \@tempdima\FOspacebeforeoptimum + \advance\@tempdima by -\FOspacebeforeminimum + \@tempdimb\FOspacebeforeoptimum + \advance\@tempdimb by \FOspacebeforemaximum + \@tempskipa\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima + \else + \@tempskipa\FOspacebefore + \fi +%\typeout{SPACE BEFORE \the\inputlineno: \the\@tempskipa, \FOspacebeforeminimum/\FOspacebeforemaximum/\FOspacebeforeoptimum}% + \ifnum\FOTableNesting>0 + \rule{\z@}{\@tempskipa}% + \else + \@tempswafalse + \ifx\FOkeepwithnext\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi + \if@tempswa\addpenalty\@secpenalty\fi + \addvspace\@tempskipa + \fi +\fi +\def\FOspacebefore{\z@}% +} + +% lets do some setup +% setup +\paperwidth211mm +\paperheight297mm +\hoffset-1in +\voffset-1in +\def\fps@table{!htbp} +\def\fps@figure{!htbp} +\parindent\z@ +\parskip\z@ +\emergencystretch 3em +\tabcolsep3pt +\hbadness=4000 +\hyphenpenalty=400 +\pretolerance=500 +\relpenalty=500 +\tolerance=1000 +\vbadness=3000 +\widowpenalty=8000 +\clubpenalty=8000 +\@twosidetrue +\fboxsep0pt +\setcounter{topnumber}{5} +\renewcommand\topfraction{.9} +\setcounter{bottomnumber}{12} +\renewcommand\bottomfraction{.9} +\setcounter{totalnumber}{6} +\renewcommand\textfraction{.1} +\def\FOpdfsetpagesize#1#2{% + \@ifundefined{pdfoutput}{}{% + \global\pdfpagewidth\paperwidth + \global\pdfpageheight\paperheight + \DEBUG{Setting pdf size to \the\pdfpagewidth, \the\pdfpageheight}% + }% +} +\let\SpecialOffset\z@ +% and now read the .cfg +\openin\@inputcheck fotex.cfg +\ifeof\@inputcheck\relax +\else + \closein\@inputcheck + \input{fotex.cfg} +\fi +\begingroup +\catcode`\^^M\active\catcode`\ \active\gdef\@resetactivechars{\def^^M{}\def {}}\endgroup +%\catcode`\^^M\active\gdef\@resetactivechars{\def^^M{x}}\endgroup + +\def\@outputpage{% +\begingroup % the \endgroup is put in by \aftergroup + \let \protect \noexpand +% \@resetactivechars + \@parboxrestore + \shipout \vbox{% + \set@typeset@protect + \aftergroup \endgroup + \aftergroup \set@typeset@protect + % correct? or just restore by ending + % the group? + \if@specialpage + \global\@specialpagefalse + \def\@thehead{\csname\FirstHead\endcsname}% + \def\@thefoot{\csname\FirstTail\endcsname}% + \let\@themargin\oddsidemargin + \def\headheight{\FirstHeadExtent}% + \def\tailheight{\FirstTailExtent}% + \else + \ifodd\count\z@ + \def\@thehead{\csname\OddHead\endcsname}% + \def\@thefoot{\csname\OddTail\endcsname}% + \let\@themargin\oddsidemargin + \def\headheight{\OddHeadExtent}% + \def\tailheight{\OddTailExtent}% + \else + \def\@thehead{\csname\EvenHead\endcsname}% + \def\@thefoot{\csname\EvenTail\endcsname}% + \let\@themargin\evensidemargin + \def\headheight{\EvenHeadExtent}% + \def\tailheight{\EvenTailExtent}% + \fi + \fi + \@tempdima\textwidth + \advance\@tempdima by -\FOheadindent + \reset@font + \normalsize + \normalsfcodes + \let\label\@gobble + \let\index\@gobble + \let\glossary\@gobble + \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ + \@begindvi + \vskip \topmargin + \moveright\@themargin \vbox {% + \setbox\@tempboxa \vbox to\headheight{% + \color@hbox + \normalcolor + \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thehead}}}% + \color@endbox + \vfil + }% + \dp\@tempboxa \z@ + \box\@tempboxa + \vskip \headsep + \box\@outputbox + \baselineskip \footskip + \vskip \bottommargin + \@tempdima\textwidth + \advance\@tempdima by -\FOheadindent + \setbox\@tempboxa \vbox to\tailheight{% + \color@hbox + \normalcolor + \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thefoot}}}% + \color@endbox + \vfil + }% + \dp\@tempboxa \z@ + \box\@tempboxa + }% + }% + \global \@colht \textheight + \stepcounter{page}% + \let\firstmark\botmark +} + +%%%% +\def\FO@character#1{% +\ifx\FOverticalalign\att@baseline + #1% +\else + \ifx\FOverticalalign\att@super + \textsuperscript{#1}% + \else + \ifx\FOverticalalign\att@sub + \textsubscript{#1}% + \else + \PlayWithShift + \raisebox{\dimen@}{#1}% + \fi + \fi +\fi +} +\def\FO@inlinesequence#1{% + \FOSetFont{normal}% +\ifx\FOverticalalign\att@baseline + \csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}% +\else + \ifx\FOverticalalign\att@super + \textsuperscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% + \else + \ifx\FOverticalalign\att@sub + \textsubscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% + \else + \PlayWithShift + \raisebox{\dimen@}{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% + \fi + \fi +\fi +} +\def\FOboxedsequence#1{% +\FOSetFont{normal}% +\ifx\FOborderwidth\@empty\else\fboxrule\FOborderwidth\fi +\ifx\FOverticalalign\att@baseline + \fbox{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% +\else + \ifFOSuper + \fbox{\textsuperscript{\FOlabel#1}}% + \else + \ifFOSub + \fbox{\textsubscript{\FOlabel#1}}% + \else + \PlayWithShift + \fbox{\raisebox{\dimen@}{\FOlabel#1}}% + \fi + \fi +\fi +} +% +\def\FOSetStatic{\expandafter\@SetStatic\FOtextindent\\} +\def\@SetStatic#1\\{\expandafter\@@SetStatic\FOfontsize\\{#1}} +\def\@@SetStatic#1\\#2{\expandafter\@@@SetStatic\FOfontweight\\{#1}{#2}} +\def\@@@SetStatic#1\\#2#3{\expandafter\@@@@SetStatic\FOfontvariant\\{#1}{#2}{#3}} +\def\@@@@SetStatic#1\\#2#3#4{\expandafter\@@@@@SetStatic\FOfontstyle\\{#1}{#2}{#3}{#4}} +\def\@@@@@SetStatic#1\\#2#3#4#5{\expandafter\@@@@@@SetStatic\FOfontstretch\\{#1}{#2}{#3}{#4}{#5}} +\def\@@@@@@SetStatic#1\\#2#3#4#5#6{\expandafter\@@@@@@@SetStatic\FOfontfamily\\{#1}{#2}{#3}{#4}{#5}{#6}} + +\expandafter\def\csname Static:DummyRegion\endcsname{} +\def\@@@@@@@SetStatic#1\\#2#3#4#5#6#7#8#9{% + \DEBUG{ set up static area Static:#9 [#8]}% + \expandafter\gdef\csname Static:#9\endcsname{% + {% + {\def\XML@parent{}\global\FOinOutputtrue + \def\FOwhitespacecollapse{true}% + \def\FOwrapoption{wrap}% + \def\FOtextalign{start}% + \def\FOfontfamily{#1}% + \def\FOfontsize{#6}% + \def\FOfontstretch{#2}% + \def\FOfontvariant{#4}% + \def\FOfontweight{#5}% + \def\FOfontstyle{#3}#8\global\FOinOutputfalse}}}% +} + +\let\olditem\item +\def\item{\if@inlabel\leavevmode\fi\olditem} +\def\FOlabel{% + \ifx\@empty\FOid\else + % \typeout{Hypertext label \FOid, at \the\inputlineno}% + \@bsphack + \protected@write\@mainaux{}% + {\string\newlabel{\FOid}{{}{\expandafter\FOgeneratePage\FOformat\@null}{}{\FOid}{}}}% + \@esphack + \hyper@@anchor{\FOid}{\relax}% + \global\let\FOid\@empty + \fi +} + +\def\FOListBlock{% + \FOSetFont{normal}% + \get@external@font\xdef\FOlistlabelfont{\external@font}% + \ifx\@empty\FOspacebefore + \@tempdima\FOspacebeforeoptimum + \advance\@tempdima by -\FOspacebeforeminimum + \@tempdimb\FOspacebeforeoptimum + \advance\@tempdimb by \FOspacebeforemaximum + \itemsep\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima + \else + \itemsep\FOspacebefore + \fi + \itemindent=\FOstartindent + \leftmargin=\FOprovisionaldistancebetweenstarts + \rightmargin=\FOmarginright + \labelwidth=\FOprovisionaldistancebetweenstarts + \advance\labelwidth by -\FOprovisionallabelseparation + \expandafter\csname List\FOtextalign\endcsname +%\typeout{List at \the\inputlineno: labelwidth: \the\labelwidth, +% labelsep: \the\labelsep, leftmargin: \the\leftmargin, itemindent +% \the\itemindent, makelabel: \meaning\makelabel, +% itemsep: \the\itemsep, \FOtextalign}% +} + +\def\FOOutputBlock{% + \FOSetFont{output}% + \ifFOBlockGrab + \FOBoxedBlock{\textwidth}% + \fi + \ifx\FOtextalignlast\att@relative + \csname startQ@\FOtextalign\endcsname + \csname Q@\FOtextalign\endcsname + \else + \csname startQ@\FOtextalignlast\endcsname + \csname Q@\FOtextalignlast\endcsname + \fi +} + +\def\FONormalBlock{% + \let\@x\relax + \ifnum\FOTableNesting>0 + \ifx\FOtextalign\att@centered + \centering + \fi + \let\@x\relax + \FOSetFont{normalblock}% + \vrule height \f@baselineskip depth \z@ width \z@ + \else + \ifnum\FOinList>0 + \FOlabel + \ifFOListInnerPar\par\FOvspacebefore\fi + \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi + \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi + \ifx\FOwrapoption\att@nowrap\obeylines\fi + \else + \ifx\FObreakbefore\att@page + \let\tempID\FOid + \penalty -\@M + \let\FOid\tempID + \else + \ifx\FObreakbefore\att@oddpage + \let\tempID\FOid + \penalty -\@M + \ifodd\c@page\else\BlankPage\newpage\fi + \let\FOid\tempID + \fi + \fi + \par + \FOlabel + \Quadding + \ifFOBlockGrab + \FOBoxedBlock{\linewidth}% + \else + \FOBorderTop + \ifdim\FOpaddingbefore>\z@ + \vskip\FOpaddingbefore + \fi + \FOvspacebefore + \parindent\FOtextindent + \advance\leftskip by \FOpaddingstart + \advance\leftskip by \FOmarginleft + \advance\rightskip by \FOpaddingend + \advance\rightskip by \FOmarginright + \fi +% \par + \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi + \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi + \ifx\FOwrapoption\att@nowrap\obeylines\fi + \fi + \FOSetFont{normal}% + \fi +\@x +} + +\def\FOEndOutputBlock{% + \ifx\FOtextalignlast\att@relative + \csname endQ@\FOtextalign\endcsname + \else + \csname endQ@\FOtextalignlast\endcsname + \fi + \ifFOBlockGrab + \FOEndBoxedBlock + \fi + \par +} +\def\FOEndBlock{% + \ifx\XML@parent\FOListItemLabel + \else + \ifnum\FOinList>0 + \ifFOListInnerPar\par\fi + \else + \ifnum\FOTableNesting>0 + \else + \FOEndBlockTwo + \fi + \fi + \fi +} + +\def\FOEndBlockTwo{% + \par + \ifFOBlockGrab + \FOEndBoxedBlock + \else + \ifdim\FOpaddingafter>\z@ + \vskip\FOpaddingafter + \fi + \FOBorderBottom + \fi + \ifx\FObreakafter\att@page + \penalty -\@M + \else + \ifx\FObreakafter\att@oddpage + \cleardoublepage + \fi + \fi + \@tempswafalse + \ifx\FOkeepwithnext\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi + \if@tempswa\nobreak\fi + \FOvspaceafter + \if@tempswa\@afterheading\fi +} + + +\def\FOStartGrab#1{% + \@tempdima#1 + \XFOstartindent\FOstartindent + \ifnum\XFOstartindent=\z@ + \else + \advance\XFOstartindent by -\FOmarginleft + \advance\XFOstartindent by -\FOborderstartwidth + \advance\XFOstartindent by -\FOpaddingstart + \advance\@tempdima by -\XFOstartindent + \fi + \advance\@tempdima by -\FOmarginleft + \advance\@tempdima by -\FOborderstartwidth + \advance\@tempdima by -\FOpaddingstart + \XFOendindent\FOendindent + \ifx\FOstartindent\att@bodystart + \let\FOstartindent\z@ + \fi + \ifx\FOendindent\att@labelend + \let\FOendindent\z@ + \fi + \ifnum\XFOendindent=\z@ + \else + \advance\XFOendindent by -\FOpaddingend + \advance\XFOendindent by -\FOmarginright + \advance\XFOendindent by -\FOborderendwidth + \advance\@tempdima by -\XFOendindent + \fi + \advance\@tempdima by -\FOpaddingend + \advance\@tempdima by -\FOmarginright + \advance\@tempdima by -\FOborderendwidth +%\typeout{Block at\the\inputlineno,Padding:\FOpaddingstart/\FOpaddingend,Border:\FOborderstartwidth/\FOborderendwidth,Margin:\FOmarginleft/\FOmarginleft,Indent:\FOstartindent/\FOendindent, \the\XFOstartindent/\the\XFOendindent}% +% + \begin{lrbox}{\BlockBox}% + \begin{minipage}[b]{\@tempdima}% + \vskip\FOpaddingbefore + \parindent\FOtextindent\leftskip\z@\rightskip\z@ +} +\def\FOEndGrab#1{% + \vspace*{\FOpaddingafter}% + \end{minipage}% + \end{lrbox}% +%\typeout{Grabbed Block at\the\inputlineno,Padding:\FOpaddingstart/\FOpaddingend,|\FOpaddingbefore/\FOpaddingafter, Border:\FOborderstartwidth/\FOborderendwidth,Margin:\FOmarginleft/\FOmarginleft,Indent:\FOstartindent/\FOendindent, \the\XFOstartindent/\the\XFOendindent}% + \FOvspacebefore + \@tempdima\ht\BlockBox +% \advance\@tempdima by \FOpaddingbefore +% \advance\@tempdima by \FOpaddingafter + \advance\@tempdima by \FOborderbeforewidth + \advance\@tempdima by \FOborderafterwidth + \ifx\FOborderstyle\att@solid + \ifx\FObackgroundcolor\att@transparent + \fboxrule\FOborderwidth + \fboxsep\FOpadding + \vbox to \@tempdima{\hsize#1\parindent\z@\vfil + \hbox{\hfil\fbox{\usebox{\BlockBox}}\hfil}\vfil}% + \else + \vbox to \@tempdima{\hsize#1\vfil\fboxsep\FOpadding\fboxrule\FOborderwidth + \hbox{\hfil\fcolorbox{\FObordercolor}{\FObackgroundcolor}% + {\box\BlockBox}\hfil}\vfil}% + \fi + \else + \vbox to \@tempdima{\hsize#1\parindent\z@\vfil + \ifdim\FOborderbeforewidth>\z@ + {\color{\FOborderbeforecolor}% + \vrule width #1 depth \z@ height \FOborderbeforewidth}% + \fi + \hbox{% + \hskip\XFOstartindent + \hskip\FOmarginleft + \ifdim\FOborderstartwidth>\z@ + {\color{\FOborderstartcolor}% + \vrule width \FOborderstartwidth height \the\@tempdima}% + \fi + \hskip\FOpaddingstart + \ifx\FObackgroundcolor\att@transparent + \hbox{\box\BlockBox}% + \else + \colorbox{\FObackgroundcolor}% + {\box\BlockBox}% + \fi + \hskip\FOpaddingend + \ifdim\FOborderendwidth>\z@ + {\color{\FOborderendcolor}% + \vrule width \FOborderendwidth depth \z@ height + \the\@tempdima}% + \fi + \hskip\FOmarginright + \hskip\XFOendindent + }% + \ifdim\FOborderafterwidth>\z@ + {\color{\FOborderaftercolor}% + \vrule width #1 depth \z@ height \FOborderafterwidth }% + \fi + \vfil + }% + \fi +} + +\def\FOBorderBottom{% + \ifx\FOborderafterstyle\att@solid + \ifx\FOborderafterwidth\att@thin\def\FOborderafterwidth{0.4pt}\fi + \ifx\FOborderafterwidth\att@medium\def\FOborderafterwidth{0.8pt}\fi + \ifx\FOborderafterwidth\att@thick\def\FOborderafterwidth{1.2pt}\fi + \else + \def\FOborderafterwidth{\z@}% + \fi + \ifx\FOborderbeforestyle\att@solid + \ifx\FOborderbeforewidth\att@thin\def\FOborderbeforewidth{0.4pt}\fi + \ifx\FOborderbeforewidth\att@medium\def\FOborderbeforewidth{0.8pt}\fi + \ifx\FOborderbeforewidth\att@thick\def\FOborderbeforewidth{1.2pt}\fi + \FOBlockGrabtrue + \else + \def\FOborderbeforewidth{\z@}% + \fi + \ifdim\FOborderafterwidth>\z@ + \ifx\FOborderafterstyle\att@solid + {\color{\FObordercolor}\hrule height \FOborderafterwidth}% + \fi + \fi +} + +\def\FOBorderTop{% + \ifdim\FOborderbeforewidth>\z@ + \ifx\FOborderbeforestyle\att@solid + {\color{\FObordercolor}\hrule height \FOborderbeforewidth}% + \fi + \fi +} + +\def\FOfootnotemark{\protect\@FOfootnotemark} +\def\@FOfootnotemark#1{% tag + \def\@thefnmark{#1}% + \expandafter\let\csname p@footnote\endcsname\relax + \@footnotemark% +} +\def\FOfootnotetext{\protect\@FOfootnotetext} +\def\@FOfootnotetext#1#2{% plain tag and text, no interpretation + \def\@thefnmark{#1}% + \expandafter\let\csname p@footnote\endcsname\relax + \@footnotetext{\FOlabel#2}} + +\def\FOplainfootmark#1{#1} +\long\def\FOplainfoottext#1{\insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \color@begingroup + #1\unskip\ifhmode\nobreak\fi\vskip\lineskip + \color@endgroup}% +} +\ColSpecs={}% +\NCols0 +\RowCount0 +\def\doTable#1\\#2{% + \par + \advance\leftskip by \FOpaddingstart + \advance\rightskip by \FOpaddingend + \advance\rightskip by \FOmarginright + \advance\leftskip by \FOmarginleft + \FOSetFont{normal}% + \csname LTleft@\FOtextalign\endcsname + \csname LTright@\FOtextalign\endcsname +%\typeout{LT: \FOtextalign, \the\LTleft, \the\LTright}% + \FOlabel + \ifnum\NColumns>1 + \tabular{#1} + \else + \ifnum\FOTableNesting>1 + \tabular{#1}% + \else + \longtable{#1}% + \fi + \fi + #2} + +\newdimen\@default +\@default=10pt + +% set up hyphenation and font-related things +\def\LastLanguage{(undefined)} +\selectlanguage{english} + +\def\LoadLanguage#1{% + \begingroup\utfeight@protect@chars\xdef\newL{#1}\endgroup +% \@ifundefined{L@\newL}{% +% \DEBUG{WARNING: unknown language \newL, loading english}% +% \csname L@us\endcsname +% }{% + \ifx\newL\LastLanguage + \else + \DEBUG{\the\inputlineno: hyphenation \newL, to replace \LastLanguage}% + \csname L@\newL\endcsname + \fi +%} +\edef\LastLanguage{\newL}} + +\def\FOSetHyphenation{% + \ifx\FOhyphenate\att@true + \LoadLanguage{\FOlanguage}% + \hyphenpenalty=\exhyphenpenalty + \else + \hyphenpenalty=10000 + \fi +} +\def\FOSetFont#1{% + \FOSetHyphenation + \edef\LaTeXshape{\csname Width@\FOfontstretch\endcsname + \csname Weight@\FOfontweight\endcsname}% + \ifx\LaTeXshape\@empty\def\LaTeXshape{m}\fi +\edef\fFamName{\FOfontfamily}% +%\typeout{#1 At \the\inputlineno, \FOfontweight, \FOfontstyle, +% \FOfontsize, \FOtextalign, \LaTeXshape}% + \edef\f@series{\LaTeXshape}% + \edef\f@shape{\csname Posture@\FOfontstyle\endcsname}% + \ifx\FOfontvariant\att@smallcaps + \def\f@shape{sc}% + \fi + \let\f@family\relax + \@for\FOfoo:=\FOfontfamily\do{% + \ifx\f@family\relax + \expandafter\let\expandafter\f@family + \csname Family@\FOfoo\endcsname + \fi}% + \ifx\f@family\relax + \def\f@family{\csname Family@\Defaultx@fontfamily\endcsname}% + \fi + \FOSetFontSize + \selectfont + \ifx\FOcolor\@empty + \else + \color{\FOcolor}% + \fi +} +\expandafter\def\csname size-xx-small\endcsname{7pt} +\expandafter\def\csname size-x-small\endcsname{8pt} +\expandafter\def\csname size-small\endcsname{9pt} +\expandafter\def\csname size-medium\endcsname{10pt} +\expandafter\def\csname size-large\endcsname{14.4pt} +\expandafter\def\csname size-x-large\endcsname{18pt} +\expandafter\def\csname size-xx-large\endcsname{20pt} +\def\computeFOfontsize{% + \expandafter\ifx\csname size-\FOfontsize\endcsname\relax + \PlayWithFSize\FOfontsize + \else + \edef\FOfontsizefinal{\csname size-\FOfontsize\endcsname}% + \fi +} +\def\FOSetFootFont{% + \computeFOfontsize + \ifx\FOlineheight\att@normal + \@tempdima\FOfontsizefinal + \multiply\@tempdima by 12 + \divide\@tempdima by 10 + \set@fontsize\FOfootnotesize{\FOfontsizefinal}{\@tempdima}% + \else + \@setfontsize\FOfootnotesize{\FOfontsizefinal}{\FOlineheight}% + \fi +} +\def\FOSetFontSize{% + \computeFOfontsize + \ifx\FOlineheight\att@normal + \@tempdima\FOfontsizefinal + \multiply\@tempdima by 12 + \divide\@tempdima by 10 + \set@fontsize\baselinestretch{\FOfontsizefinal}{\@tempdima}% + \else + \set@fontsize\baselinestretch{\FOfontsizefinal}{\FOlineheight}% + \fi +} + +\DeclareRobustCommand*\textsubscript[1]{% + \@textsubscript{\selectfont#1}} +\def\@textsubscript#1{% + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} +\def\reserved@e{} +\def\FOSetPage{% + \bottommargin\Marginbottom + \headsep\Margintop + \topmargin\MasterTopMargin + \advance\topmargin by \SpecialOffset + \textheight\paperheight + \textwidth\paperwidth + \advance\textheight by -\FirstHeadExtent + \advance\textheight by -\FirstTailExtent + \advance\textheight by -\MasterTopMargin + \advance\textheight by -\Margintop + \advance\textheight by -\MasterBottomMargin + \advance\textheight by -\Marginbottom + \advance\textwidth by -\MasterLeftMargin + \advance\textwidth by -\MasterRightMargin + \FOpdfsetpagesize{\paperwidth}{\paperheight} + \@colht\textheight + \@colroom\textheight + \vsize\textheight + \linewidth\textwidth + \columnwidth\textwidth + \hsize\columnwidth \linewidth\hsize + \def\headheight{12pt}% + \DEBUG{Page size is \the\textwidth/\the\textheight, + on paper \the\paperwidth/\the\paperheight,^^J + with paper margins \the\MasterRightMargin/\the\MasterLeftMargin, + and region margins \the\topmargin/\the\MasterBottomMargin;^^J + footskip is \the\footskip, headsep is \the\headsep^^J + evensidemargin \the\evensidemargin, oddsidemargin \the\oddsidemargin}% + \global\@specialpagetrue +} +% don't ask +\def\supppdf{supp-pdf} +\let\FOinputIfFileExists\InputIfFileExists +\def\InputIfFileExists#1#2#3{% + {\def\@tempa{#1}\ifx\@tempa\supppdf\else + \FOinputIfFileExists{#1}{#2}{#3}\fi}} +%\catcode`^^M=10 +\providecommand\textasciitilde{~} + +\define@key{Gin}{scale}{% + \if@tempswa + \edef\@tempa{\toks@{\noexpand\Gscale@box{#1}[#1]{\the\toks@}}}% + \@tempa + \else + \def\Gin@req@sizes{% + \def\Gin@scalex{#1}\let\Gin@scaley\Gin@exclamation + \Gin@req@height\Gin@scalex\Gin@nat@height + \Gin@req@width\Gin@scalex\Gin@nat@width}% + \fi + \@tempswatrue} + + +\def\usewhitespace{% + \UnicodeCharacter{13}{ \ignorespaces}% + \UnicodeCharacter{32}{ \ignorespaces}% + \UnicodeCharacter{9}{ \ignorespaces}% +} +\def\ignorewhitespace{% + \UnicodeCharacter{13}{}% + \UnicodeCharacter{32}{}% + \UnicodeCharacter{9}{}% +} + +% taken from Heiko Oberdiek's epstopdf.sty +% but the redefinitions need to be global +\global\let\orgGin@setfile\Gin@setfile +\global\def\Gin@setfile#1#2#3{% + \if`\@car #3\relax\@nil + \let\Gin@base\filename@base + \immediate\write18{\@cdr #3\@empty\@nil}% + \orgGin@setfile{#1}{#2}{\filename@base #2}% + \else + \orgGin@setfile{#1}{#2}{#3}% + \fi +} + +% support .gif and .eps +\g@addto@macro\Gin@extensions{,.eps} +\g@addto@macro\Gin@extensions{,.gif} +\@namedef{Gin@rule@.eps}#1{{pdf}{.pdf}{`epstopdf #1}} +\@namedef{Gin@rule@.gif}#1{{png}{.png}{`giftopng #1}} + +\endinput diff --git a/macros/plain/formats/xmltex/contrib/passivetex/fotex.xmt b/macros/plain/formats/xmltex/contrib/passivetex/fotex.xmt new file mode 100644 index 0000000000..4ddb49bd1e --- /dev/null +++ b/macros/plain/formats/xmltex/contrib/passivetex/fotex.xmt @@ -0,0 +1,1644 @@ +% $Id: //depot/Master/texmf/tex/xmltex/passivetex/fotex.xmt#90 $, $Date: 2002/06/25 $ +% +% PassiveTeX version 1.17 +% +% Copyright 2002 Sebastian Rahtz/Oxford University +% +% +% Permission is hereby granted, free of charge, to any person obtaining +% a copy of this software and any associated documentation files (the +% ``Software''), to deal in the Software without restriction, including +% without limitation the rights to use, copy, modify, merge, publish, +% distribute, sublicense, and/or sell copies of the Software, and to +% permit persons to whom the Software is furnished to do so, subject to +% the following conditions: +% +% The above copyright notice and this permission notice shall be included +% in all copies or substantial portions of the Software. +% +% Includes fixes from Tomas Bures +% Yura Zotov +% Anton V. Boyarshinov +\DeclareNamespace{fotex}{http://www.tug.org/fotex} +\DeclareNamespace{fo}{http://www.w3.org/1999/XSL/Format} +\def\string@autoauto{autoauto} +\XMLstring\FirstOnPage<>first-starting-within-page +\XMLstring\LastOnPage<>last-starting-within-page +\XMLstring\LINK<>LINK +\XMLstring\file@urlprefix<>url( +\XMLstring\file@prefix<>file:// +\XMLstring\file@shortprefix<>file: +\XMLstringX\prop@width<>proportional-column-width(1) +\XMLstringX\@staticafter<>xsl-after +\XMLstringX\@staticbefore<>xsl-before +\XMLstringX\@staticstart<>xsl-start +\XMLstring\att@labelend<>label-end() +\XMLstring\att@bodystart<>body-start() +\XMLstringX\att@NaN<>NaN +\XMLstringX\att@all<>all +\XMLstringX\att@always<>always +\XMLstringX\att@any<>any +\XMLstringX\att@auto<>auto +\XMLstringX\att@autoodd<>auto-odd +\XMLstringX\att@autoeven<>auto-even +\XMLstringX\att@endonodd<>end-on-odd +\XMLstringX\att@endoneven<>end-on-even +\XMLstringX\att@baseline<>baseline +\XMLstringX\att@blank<>blank +\XMLstringX\att@black<>black +\XMLstringX\att@bottom<>bottom +\XMLstringX\att@centered<>center +\XMLstringX\att@false<>false +\XMLstringX\att@first@starting@within@page<>first-starting-within-page +\XMLstringX\att@first<>first +\XMLstringX\att@even<>even +\XMLstringX\att@odd<>odd +\XMLstringX\att@lr@tb<>lr-tb +\XMLstringX\att@maximum<>maximum +\XMLstringX\att@maximumuniform<>maximum-uniform +\XMLstringX\att@medium<>medium +\XMLstringX\att@no<>no +\XMLstringX\att@no@limit<>no-limit +\XMLstringX\att@none<>none +\XMLstringX\att@normal<>normal +\XMLstringX\att@nowrap<>no-wrap +\XMLstringX\att@oddpage<>odd-page +\XMLstringX\att@page<>page +\XMLstringX\att@page@sequence<>page-sequence +\XMLstringX\att@pre<>pre +\XMLstringX\att@preserve<>preserve +\XMLstringX\att@relative<>relative +\XMLstringX\att@repeat<>repeat +\XMLstringX\att@replace<>replace +\XMLstringX\att@scroll<>scroll +\XMLstringX\att@scaletofit<>scale-to-fit +\XMLstringX\att@show<>show +\XMLstringX\att@smallcaps<>small-caps +\XMLstringX\att@solid<>solid +\XMLstringX\att@static<>static +\XMLstringX\att@sub<>sub +\XMLstringX\att@super<>super +\XMLstringX\att@top<>top +\XMLstringX\att@transparent<>transparent +\XMLstringX\att@true<>true +\XMLstringX\att@tiny<>true +\XMLstringX\att@thin<>thin +\XMLstringX\att@thick<>thick +\XMLstringX\att@uniform<>uniform +\XMLstringX\att@use@font@metrics<>use-font-metrics +\XMLstringX\att@visible<>visible +\XMLstringX\att@xsl@any<>xsl-any +\XMLstringX\att@yes<>yes +\XMLstringX\leader@pattern@space<>space +\XMLstringX\leader@pattern@rule<>rule +\XMLstringX\leader@pattern@dots<>dots +\XMLstringX\rule@style@dashed<>dashed +\XMLstringX\rule@style@dotted<>dotted +\XMLnamespaceattributeX{fo}{media-usage}{\FOmediausage}{} +% The "media-usage" property is used to control +% how the selected display medium is used to +% present the page(s) specified by the stylesheet. +\XMLnamespaceattributeX{fo}{text-altitude}{\FOtextaltitude}{} +% Specifies the "height" to be used for the ascent +% above the dominant baseline +\XMLnamespaceattributeX{fo}{text-depth}{\FOtextdepth}{} +% Specifies the "depth" to be used for the descent +% below the domiant baseline. +%auto | absolute | fixed | inherit +%\XMLnamespaceattributeX{fo}{absolute-position}{\FOabsoluteposition}{auto} +%link | visited | active | hover | focus +%\XMLnamespaceattributeX{fo}{active-state}{\FOactivestate}{} +%auto | | | inherit +\XMLnamespaceattributeX{fo}{alignment-adjust}{\FOalignmentadjust}{auto} +%yes | no +%\XMLnamespaceattributeX{fo}{auto-restore}{\FOautorestore}{\inherit} +% | [[ left-side | far-left | left +%| center-left | center | center-right | right | far-right | right-side +%] || behind ] | leftwards | rightwards | inherit +%\XMLnamespaceattributeX{fo}{azimuth}{\FOazimuth}{\inherit} +%[ || +% +%|| || || +%| ]]inherit +\XMLnamespaceattributeX{fo}{background}{\FObackground}{} +%scroll | fixed | inherit +%\XMLnamespaceattributeX{fo}{background-attachment}{\FObackgroundattachment}{scroll} +% | transparent | inherit +\XMLnamespaceattribute{fo}{background-color}{\FObackgroundcolor}{transparent} +% | none | inherit +%\XMLnamespaceattributeX{fo}{background-image}{\FObackgroundimage}{none} +%[ [ | ]{1,2} | +% [ [top | center | bottom] || [left | center | right] ] ] | inherit +%\XMLnamespaceattributeX{fo}{background-position}{\FObackgroundposition}{0\% 0\%} +% | | +%left | center | right | inherit +%\XMLnamespaceattributeX{fo}{background-position-horizontal}{\FObackgroundpositionhorizontal}{0\%} +% | | +%top | center | bottom | inherit +%\XMLnamespaceattributeX{fo}{background-position-vertical}{\FObackgroundpositionvertical}{0\%} +%repeat | repeat-x | repeat-y | no-repeat | inherit +%\XMLnamespaceattributeX{fo}{background-repeat}{\FObackgroundrepeat}{repeat} +%baseline | before-edge +%| text-before-edge | middle | after-edge +%| text-after-edge | ideographic | alphabetic | hanging | mathematical +%| inherit +%\XMLnamespaceattributeX{fo}{baseline-identifier}{\FObaselineidentifier}{} +%baseline | sub | super | | | inherit +\XMLnamespaceattributeX{fo}{baseline-shift}{\FObaselineshift}{baseline} +%blank | not-blank | any | inherit +\XMLnamespaceattributeX{fo}{blank-or-not-blank}{\FOblankornotblank}{any} +%auto | | | | inherit +%\XMLnamespaceattributeX{fo}{block-progression-dimension}{\FOblockprogressiondimension}{auto} +%[ || || ] | inherit +\XMLnamespaceattributeX{fo}{border}{\FOborder}{} +% | inherit +\XMLnamespaceattribute{fo}{border-after-color}{\FOborderaftercolor}{\FOcolor} +% | inherit +\XMLnamespaceattributeX{fo}{border-after-style}{\FOborderafterstyle}{none} +% | | inherit +\XMLnamespaceattribute{fo}{border-after-width}{\FOborderafterwidth}{medium} +% | inherit +\XMLnamespaceattribute{fo}{border-before-color}{\FOborderbeforecolor}{\FOcolor} +% | inherit +\XMLnamespaceattributeX{fo}{border-before-style}{\FOborderbeforestyle}{none} +% | | inherit +\XMLnamespaceattribute{fo}{border-before-width}{\FOborderbeforewidth}{medium} +\XMLnamespaceattributeX{fo}{border-collapse}{\FObordercollapse}{\inherit} +%{1,4} | transparent | inherit +\XMLnamespaceattribute{fo}{border-color}{\FObordercolor}{black} +% | inherit +\XMLnamespaceattribute{fo}{border-end-color}{\FOborderendcolor}{\FOcolor} +% | inherit +\XMLnamespaceattributeX{fo}{border-end-style}{\FOborderendstyle}{none} +% | inherit +\XMLnamespaceattributeX{fo}{border-end-width}{\FOborderendwidth}{medium} +\XMLnamespaceattributeX{fo}{border-separation}{\FOborderseparation}{\inherit} +% ? | inherit +\XMLnamespaceattributeX{fo}{border-spacing}{\FOborderspacing}{\inherit} +% | inherit +\XMLnamespaceattribute{fo}{border-start-color}{\FOborderstartcolor}{\FOcolor} +% | inherit +\XMLnamespaceattributeX{fo}{border-start-style}{\FOborderstartstyle}{none} +% | inherit +\XMLnamespaceattributeX{fo}{border-start-width}{\FOborderstartwidth}{medium} +%{1,4} | inherit +\XMLnamespaceattributeX{fo}{border-style}{\FOborderstyle}{} +% | | auto | inherit +\XMLnamespaceattributeX{fo}{border-width}{\FOborderwidth}{} +\XMLnamespaceattributeX{fo}{border-bottom}{\FOborderbottom}{\LINK} +\XMLnamespaceattribute{fo}{border-bottom-color}{\FOborderbottomcolor}{\LINK} +\XMLnamespaceattributeX{fo}{border-bottom-style}{\FOborderbottomstyle}{\LINK} +\XMLnamespaceattributeX{fo}{border-bottom-width}{\FOborderbottomwidth}{\LINK} +\XMLnamespaceattributeX{fo}{border-left}{\FOborderleft}{\LINK} +\XMLnamespaceattribute{fo}{border-left-color}{\FOborderleftcolor}{\LINK} +\XMLnamespaceattributeX{fo}{border-left-style}{\FOborderleftstyle}{\LINK} +\XMLnamespaceattributeX{fo}{border-left-width}{\FOborderleftwidth}{\LINK} +\XMLnamespaceattributeX{fo}{border-right}{\FOborderright}{\LINK} +\XMLnamespaceattribute{fo}{border-right-color}{\FOborderrightcolor}{\LINK} +\XMLnamespaceattributeX{fo}{border-right-style}{\FOborderrightstyle}{\LINK} +\XMLnamespaceattributeX{fo}{border-right-width}{\FOborderrightwidth}{\LINK} +\XMLnamespaceattributeX{fo}{border-top}{\FObordertop}{\LINK} +\XMLnamespaceattribute{fo}{border-top-color}{\FObordertopcolor}{\LINK} +\XMLnamespaceattributeX{fo}{border-top-style}{\FObordertopstyle}{\LINK} +\XMLnamespaceattributeX{fo}{border-top-width}{\FObordertopwidth}{\LINK} + + +% | | auto | inherit +\XMLnamespaceattributeX{fo}{bottom}{\FObottom}{auto} +%auto | column | page | even-page | odd-page | inherit +\XMLnamespaceattributeX{fo}{break-after}{\FObreakafter}{auto} +%auto | column | page | even-page | odd-page | inherit +\XMLnamespaceattributeX{fo}{break-before}{\FObreakbefore}{auto} +%before | after | start | end | top | bottom | left | right | inherit +\XMLnamespaceattributeX{fo}{caption-side}{\FOcaptionside}{\inherit} +% +\XMLnamespaceattributeX{fo}{case-name}{\FOcasename}{} +% +\XMLnamespaceattributeX{fo}{case-title}{\FOcasetitle}{} +% +\XMLnamespaceattribute{fo}{character}{\FOcharacter}{} +%start | end | left | right | both | none | inherit +\XMLnamespaceattributeX{fo}{clear}{\FOclear}{none} +% | auto | inherit +\XMLnamespaceattributeX{fo}{clip}{\FOclip}{auto} +% | inherit +\XMLnamespaceattribute{fo}{color}{\FOcolor}{\inherit} +% | inherit +\XMLnamespaceattributeX{fo}{color-profile-name}{\FOcolorprofilename}{} +% | inherit +\XMLnamespaceattributeX{fo}{column-count}{\FOcolumncount}{1} +% | | inherit +\XMLnamespaceattributeX{fo}{column-gap}{\FOcolumngap}{12.0pt} +% +\XMLnamespaceattributeX{fo}{column-number}{\FOcolumnnumber}{} +% +\XMLnamespaceattribute{fo}{column-width}{\FOcolumnwidth}{} +% | auto +%\XMLnamespaceattributeX{fo}{content-type}{\FOcontenttype}{auto} + +%none | | inherit +\XMLnamespaceattributeX{fo}{country}{\FOcountry}{\inherit} +% || | inherit +%\XMLnamespaceattributeX{fo}{cue}{\FOcue}{} +% | none | inherit +%\XMLnamespaceattributeX{fo}{cue-after}{\FOcueafter}{none} +% | none | inherit +%\XMLnamespaceattributeX{fo}{cue-before}{\FOcuebefore}{none} +% +%\XMLnamespaceattributeX{fo}{destination-placement-offset}{\FOdestinationplacementoffset}{\z@} +%ltr | rtl | inherit +\XMLnamespaceattributeX{fo}{direction}{\FOdirection}{\inherit} +%auto | before | center | after | inherit +\XMLnamespaceattributeX{fo}{display-align}{\FOdisplayalign}{\inherit} +%auto | autosense-script | no-change | reset-size +%| ideographic | alphabetic | hanging | mathematical | inherit +%\XMLnamespaceattributeX{fo}{dominant-baseline}{\FOdominantbaseline}{auto} +% | below | level | above | higher | lower | inherit +%\XMLnamespaceattributeX{fo}{elevation}{\FOelevation}{\inherit} +%show | hide | inherit +\XMLnamespaceattributeX{fo}{empty-cells}{\FOemptycells}{\inherit} +% | inherit +\XMLnamespaceattribute{fo}{end-indent}{\FOendindent}{\inherit} +%yes | no +%\XMLnamespaceattributeX{fo}{ends-row}{\FOendsrow}{no} +% | | inherit +\XMLnamespaceattributeX{fo}{extent}{\FOextent}{0.0pt} +% +\XMLnamespaceattributeX{fo}{external-destination}{\FOexternaldestination}{} +%before | start | end | left | right | none | inherit +\XMLnamespaceattributeX{fo}{float}{\FOfloat}{none} +% +\XMLnamespaceattributeX{fo}{flow-name}{\FOflowname}{} +%[ [ || +%|| ]? [ / ]? +%] | caption | icon | menu | message-box | small-caption | status-bar +%| inherit +\XMLnamespaceattributeX{fo}{font}{\FOfont}{\inherit} +%[[ | ],]* [ | ] | inherit +\XMLnamespaceattributeX{fo}{font-family}{\FOfontfamily}{\inherit} +%\XMLnamespaceattributeX{fo}{font-selection-strategy}{\FOselectionstrategy}{auto} +% | | | | inherit +\XMLnamespaceattribute{fo}{font-size}{\FOfontsize}{\inherit} +% | none | inherit +\XMLnamespaceattributeX{fo}{font-size-adjust}{\FOfontsizeadjust}{\inherit} +%normal | wider | narrower | ultra-condensed +% | extra-condensed | condensed | semi-condensed | semi-expanded | +% expanded | extra-expanded | ultra-expanded |inherit +\XMLnamespaceattributeX{fo}{font-stretch}{\FOfontstretch}{\inherit} +%normal | italic | oblique | backslant | inherit +\XMLnamespaceattributeX{fo}{font-style}{\FOfontstyle}{\inherit} +%normal | small-caps | inherit +\XMLnamespaceattributeX{fo}{font-variant}{\FOfontvariant}{\inherit} +%normal | bold | bolder | lighter | 100 | 200 +% | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit +\XMLnamespaceattributeX{fo}{font-weight}{\FOfontweight}{\inherit} +%auto | even | odd | end-on-even | end-on-odd | no-force | inherit +\XMLnamespaceattributeX{fo}{force-page-count}{\FOforcepagecount}{auto} +% +\XMLnamespaceattributeX{fo}{format}{\FOformat}{\inherit} +% | inherit +%\XMLnamespaceattributeX{fo}{glyph-orientation-horizontal}{\FOglyphorientationhorizontal}{\inherit} +%auto | | inherit +%\XMLnamespaceattributeX{fo}{glyph-orientation-vertical}{\FOglyphorientationvertical}{\inherit} +% +\XMLnamespaceattributeX{fo}{grouping-separator}{\FOgroupingseparator}{} +% +%\XMLnamespaceattributeX{fo}{grouping-size}{\FOgroupingsize}{} +% | | auto | inherit +\XMLnamespaceattributeX{fo}{height}{\FOheight}{auto} +%false | true | inherit +\XMLnamespaceattributeX{fo}{hyphenate}{\FOhyphenate}{\inherit} +% | inherit +\XMLnamespaceattributeX{fo}{hyphenation-character}{\FOhyphenationcharacter}{\inherit} +%auto | column | page | inherit +%\XMLnamespaceattributeX{fo}{hyphenation-keep}{\FOhyphenationkeep}{\inherit} +%no-limit | | inherit +%\XMLnamespaceattributeX{fo}{hyphenation-ladder-count}{\FOhyphenationladdercount}{\inherit} +% | inherit +\XMLnamespaceattributeX{fo}{hyphenation-push-character-count}{\FOhyphenationpushcharactercount}{\inherit} +% | inherit +%\XMLnamespaceattributeX{fo}{hyphenation-remain-character-count}{\FOhyphenationremaincharactercount}{\inherit} +% +\XMLnamespaceattributeX{fo}{id}{\FOid}{} +%yes | no +%\XMLnamespaceattributeX{fo}{indicate-destination}{\FOindicatedestination}{no} +%auto | auto-odd | auto-even | | inherit +\XMLnamespaceattributeX{fo}{initial-page-number}{\FOinitialpagenumber}{auto} +%auto | | | | inherit +%\XMLnamespaceattributeX{fo}{inline-progression-dimension}{\FOinlineprogressiondimension}{auto} +%null string | +\XMLnamespaceattributeX{fo}{internal-destination}{\FOinternaldestination}{} +% | inherit +\XMLnamespaceattributeX{fo}{keep-together}{\FOkeeptogether}{\inherit} +\XMLnamespaceattributeX{fo}{keep-together.within-line}{\FOkeeptogetherLine}{\inherit} +% since we dont support column keeps, use Page here (not) +\XMLnamespaceattributeX{fo}{keep-together.within-column}{\FOkeeptogetherColumn}{\inherit} +\XMLnamespaceattributeX{fo}{keep-together.within-page}{\FOkeeptogetherPage}{\inherit} +% | inherit +\XMLnamespaceattributeX{fo}{keep-with-next}{\FOkeepwithnext}{auto} +\XMLnamespaceattributeX{fo}{keep-with-next.within-line}{\FOkeepwithnextLine}{auto} +\XMLnamespaceattributeX{fo}{keep-with-next.within-column}{\FOkeepwithnextColumn}{auto} +\XMLnamespaceattributeX{fo}{keep-with-next.within-page}{\FOkeepwithnextPage}{auto} +% | inherit +\XMLnamespaceattributeX{fo}{keep-with-previous}{\FOkeepwithprevious}{auto} +\XMLnamespaceattributeX{fo}{keep-with-previous.within-line}{\FOkeepwithpreviousLine}{auto} +\XMLnamespaceattributeX{fo}{keep-with-previous.within-column}{\FOkeepwithpreviousColumn}{auto} +\XMLnamespaceattributeX{fo}{keep-with-previous.within-page}{\FOkeepwithpreviousPage}{auto} +%none | | inherit +\XMLnamespaceattributeX{fo}{language}{\FOlanguage}{\inherit} +% | | inherit +\XMLnamespaceattributeX{fo}{last-line-end-indent}{\FOlastlineendindent}{\inherit} +%none | reference-area | page | inherit +\XMLnamespaceattributeX{fo}{leader-alignment}{\FOleaderalignment}{\inherit} +% | inherit +\XMLnamespaceattributeX{fo}{leader-length}{\FOleaderlength}{\inherit} +%space | rule | dots | use-content | inherit +\XMLnamespaceattributeX{fo}{leader-pattern}{\FOleaderpattern}{\inherit} +%use-font-metrics | | inherit +\XMLnamespaceattributeX{fo}{leader-pattern-width}{\FOleaderpatternwidth}{\inherit} +% | | auto | inherit +\XMLnamespaceattributeX{fo}{left}{\FOleft}{auto} +%normal | | | inherit +\XMLnamespaceattributeX{fo}{letter-spacing}{\FOletterspacing}{\inherit} +%auto | alphabetic | traditional +\XMLnamespaceattributeX{fo}{letter-value}{\FOlettervalue}{auto} +%ignore | preserve | treat-as-space | inherit +\XMLnamespaceattributeX{fo}{linefeed-treatment}{\FOlinefeedtreatment}{\inherit} +%normal | | | | | inherit +\XMLnamespaceattributeX{fo}{line-height}{\FOlineheight}{\inherit} +%consider-shifts | disregard-shifts | inherit +\XMLnamespaceattributeX{fo}{line-height-shift-adjustment}{\FOlineheightshiftadjustment}{\inherit} +%line-height | font-height | max-height | inherit +\XMLnamespaceattributeX{fo}{line-stacking-strategy}{\FOlinestackingstrategy}{\inherit} +%{1,4} | inherit +\XMLnamespaceattributeX{fo}{margin}{\FOmargin}{} +\XMLnamespaceattributeX{fo}{margin-left} {\FOmarginleft} {0pt} +\XMLnamespaceattributeX{fo}{margin-right} {\FOmarginright} {0pt} +\XMLnamespaceattributeX{fo}{margin-top} {\FOmargintop} {0pt} +\XMLnamespaceattributeX{fo}{margin-bottom} {\FOmarginbottom} {0pt} +% +\XMLnamespaceattributeX{fo}{marker-class-name}{\FOmarkerclassname}{} +% +\XMLnamespaceattributeX{fo}{master-reference}{\FOmasterreference}{} +\XMLnamespaceattributeX{fo}{master-name}{\FOmastername}{} +% | | none | inherit +\XMLnamespaceattributeX{fo}{max-height}{\FOmaxheight}{\z@} +% | no-limit | inherit +\XMLnamespaceattributeX{fo}{maximum-repeats}{\FOmaximumrepeats}{no-limit} +% | | none | inherit +\XMLnamespaceattributeX{fo}{max-width}{\FOmaxwidth}{none} +% | | inherit +\XMLnamespaceattributeX{fo}{min-height}{\FOminheight}{\z@} +% | | inherit +\XMLnamespaceattributeX{fo}{min-width}{\FOminwidth}{} +% +\XMLnamespaceattributeX{fo}{number-columns-repeated}{\FOnumbercolumnsrepeated}{1} +% +\XMLnamespaceattributeX{fo}{number-columns-spanned}{\FOnumbercolumnsspanned}{1} +% +\XMLnamespaceattributeX{fo}{number-rows-spanned}{\FOnumberrowsspanned}{1} +%odd | even | any | inherit +\XMLnamespaceattributeX{fo}{odd-or-even}{\FOoddoreven}{any} +% | inherit +\XMLnamespaceattributeX{fo}{orphans}{\FOorphans}{\inherit} +%visible | hidden | scroll | auto | inherit +\XMLnamespaceattributeX{fo}{overflow}{\FOoverflow}{auto} +%{1,4} | inherit +\XMLnamespaceattributeX{fo}{padding}{\FOpadding}{\z@} +% | | inherit +\XMLnamespaceattributeX{fo}{padding-after}{\FOpaddingafter}{\z@} +% | | inherit +\XMLnamespaceattributeX{fo}{padding-before}{\FOpaddingbefore}{\z@} +% | inherit +\XMLnamespaceattributeX{fo}{padding-bottom}{\FOpaddingbottom}{\z@} +% | inherit +\XMLnamespaceattributeX{fo}{padding-end}{\FOpaddingend}{\z@} +% | inherit +\XMLnamespaceattributeX{fo}{padding-left}{\FOpaddingleft}{\z@} +% | inherit +\XMLnamespaceattributeX{fo}{padding-right}{\FOpaddingright}{\z@} +% | inherit +\XMLnamespaceattributeX{fo}{padding-start}{\FOpaddingstart}{\z@} +% | inherit +\XMLnamespaceattributeX{fo}{padding-top}{\FOpaddingtop}{\z@} +%auto | always | avoid | left | right | inherit +\XMLnamespaceattributeX{fo}{page-break-after}{\FOpagebreakafter}{auto} +%auto | always | avoid | left | right | inherit +\XMLnamespaceattributeX{fo}{page-break-before}{\FOpagebreakbefore}{auto} +%auto | indefinite | | inherit +\XMLnamespaceattribute{fo}{page-height}{\FOpageheight}{auto} +%first | last | rest | any | inherit +\XMLnamespaceattributeX{fo}{page-position}{\FOpageposition}{any} +%auto | indefinite | | inherit +\XMLnamespaceattribute{fo}{page-width}{\FOpagewidth}{auto} +%[