From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- obsolete/macros/latex209/contrib/aaai/aaai-doc.tex | 384 +++ obsolete/macros/latex209/contrib/aaai/aaai.sty | 135 + .../macros/latex209/contrib/aasmacros/Makefile | 96 + obsolete/macros/latex209/contrib/aasmacros/README | 328 +++ .../macros/latex209/contrib/aasmacros/aasms.doc | 1152 ++++++++ .../macros/latex209/contrib/aasmacros/aasms.sty | 416 +++ .../macros/latex209/contrib/aasmacros/aaspp.doc | 1153 ++++++++ .../macros/latex209/contrib/aasmacros/aaspp.sty | 415 +++ .../macros/latex209/contrib/aasmacros/aaspptwo.doc | 1165 ++++++++ .../macros/latex209/contrib/aasmacros/aaspptwo.sty | 398 +++ .../macros/latex209/contrib/aasmacros/aastex.tex | 1670 +++++++++++ .../macros/latex209/contrib/aasmacros/aj_pt.doc | 1172 ++++++++ .../macros/latex209/contrib/aasmacros/aj_pt.sty | 409 +++ .../macros/latex209/contrib/aasmacros/apjpt.doc | 1166 ++++++++ .../macros/latex209/contrib/aasmacros/apjpt.sty | 403 +++ .../macros/latex209/contrib/aasmacros/art8.doc | 369 +++ .../macros/latex209/contrib/aasmacros/art8.sty | 150 + .../macros/latex209/contrib/aasmacros/eqsecnum.sty | 16 + .../macros/latex209/contrib/aasmacros/flushrt.sty | 4 + .../macros/latex209/contrib/aasmacros/graphics.aux | 11 + .../macros/latex209/contrib/aasmacros/graphics.tex | 169 ++ .../macros/latex209/contrib/aasmacros/kspp.tex | 263 ++ .../macros/latex209/contrib/aasmacros/manual.tex | 798 +++++ .../macros/latex209/contrib/aasmacros/mathsec.sty | 16 + .../macros/latex209/contrib/aasmacros/paper1.tex | 279 ++ .../macros/latex209/contrib/aasmacros/paper2.tex | 267 ++ .../macros/latex209/contrib/aasmacros/samp2tbl.tex | 138 + .../macros/latex209/contrib/aasmacros/sample1.tex | 54 + .../macros/latex209/contrib/aasmacros/sample2.aux | 37 + .../macros/latex209/contrib/aasmacros/sample2.tex | 503 ++++ .../macros/latex209/contrib/aasmacros/samptbls.tex | 11 + .../macros/latex209/contrib/aasmacros/sgi9259.eps | 377 +++ .../macros/latex209/contrib/aasmacros/sgi9279.eps | 817 ++++++ .../macros/latex209/contrib/aasmacros/sgi9289.eps | 998 +++++++ .../macros/latex209/contrib/aasmacros/table1.tex | 299 ++ .../macros/latex209/contrib/aasmacros/table2.tex | 114 + .../macros/latex209/contrib/aasmacros/table3.tex | 106 + .../macros/latex209/contrib/aasmacros/tighten.sty | 15 + obsolete/macros/latex209/contrib/aguplus/agu.bst | 1145 ++++++++ obsolete/macros/latex209/contrib/aguplus/agu2e.sty | 49 + .../macros/latex209/contrib/aguplus/aguplus.sty | 818 ++++++ .../macros/latex209/contrib/aguplus/aguplus.tex | 953 ++++++ .../macros/latex209/contrib/aguplus/changes.lis | 43 + .../macros/latex209/contrib/aguplus/readme.pwd | 64 + .../macros/latex209/contrib/aguplus/sample.bib | 51 + .../macros/latex209/contrib/aguplus/samplus.tex | 274 ++ obsolete/macros/latex209/contrib/album/example.bum | 31 + obsolete/macros/latex209/contrib/album/tapeman.tex | 243 ++ obsolete/macros/latex209/contrib/bnf/bnf.README | 22 + obsolete/macros/latex209/contrib/bnf/bnf.doc | 528 ++++ obsolete/macros/latex209/contrib/curves/curves.sty | 522 ++++ obsolete/macros/latex209/contrib/curves/curves.tex | 821 ++++++ .../macros/latex209/contrib/curves/curvesls.sty | 511 ++++ obsolete/macros/latex209/contrib/eclbip/eclbip.sty | 112 + .../latex209/contrib/eclbip/eclbipsample.tex | 148 + .../macros/latex209/contrib/eclbip/ecltree.sty | 142 + .../latex209/contrib/eclbip/ecltreesample.tex | 247 ++ .../macros/latex209/contrib/epsfig/README.unix | 43 + obsolete/macros/latex209/contrib/epsfig/epsbb | 68 + obsolete/macros/latex209/contrib/epsfig/epsfig | 62 + obsolete/macros/latex209/contrib/epsfig/epsfig.2e | 1337 +++++++++ obsolete/macros/latex209/contrib/epsfig/epsfig.sty | 1137 ++++++++ obsolete/macros/latex209/contrib/epsfig/makefile | 28 + obsolete/macros/latex209/contrib/exam/exam.sty | 759 +++++ obsolete/macros/latex209/contrib/exam/examdoc.dvi | Bin 0 -> 60052 bytes obsolete/macros/latex209/contrib/exam/examdoc.tex | 1741 +++++++++++ obsolete/macros/latex209/contrib/fac/fac.sty | 934 ++++++ obsolete/macros/latex209/contrib/fac/facguide.tex | 836 ++++++ obsolete/macros/latex209/contrib/lgraph/lgraph.p | 457 +++ .../macros/latex209/contrib/lgraph/lgraph.skel | 32 + obsolete/macros/latex209/contrib/misc/10pt.sty | 7 + obsolete/macros/latex209/contrib/misc/9pt.sty | 126 + obsolete/macros/latex209/contrib/misc/a4wide.sty | 36 + obsolete/macros/latex209/contrib/misc/a5.sty | 30 + .../macros/latex209/contrib/misc/algorithm.sty | 108 + obsolete/macros/latex209/contrib/misc/alltt.sty | 32 + obsolete/macros/latex209/contrib/misc/amsfonts.sty | 414 +++ .../macros/latex209/contrib/misc/amssymbols.sty | 292 ++ .../macros/latex209/contrib/misc/askinclude.sty | 96 + obsolete/macros/latex209/contrib/misc/braille.sty | 49 + obsolete/macros/latex209/contrib/misc/briefdoc.tex | 283 ++ obsolete/macros/latex209/contrib/misc/captcont.sty | 16 + .../macros/latex209/contrib/misc/changebar.sty | 155 + obsolete/macros/latex209/contrib/misc/chappg.sty | 15 + obsolete/macros/latex209/contrib/misc/citesort.sty | 56 + .../macros/latex209/contrib/misc/doublespace.sty | 208 ++ obsolete/macros/latex209/contrib/misc/endfloat.sty | 350 +++ obsolete/macros/latex209/contrib/misc/endnote.sty | 34 + obsolete/macros/latex209/contrib/misc/endnotes.sty | 325 +++ obsolete/macros/latex209/contrib/misc/float.sty | 815 ++++++ obsolete/macros/latex209/contrib/misc/fnpara.sty | 138 + obsolete/macros/latex209/contrib/misc/index.doc | 1367 +++++++++ obsolete/macros/latex209/contrib/misc/nar.sty | 282 ++ obsolete/macros/latex209/contrib/misc/natsci.sty | 61 + obsolete/macros/latex209/contrib/misc/nofm.sty | 56 + obsolete/macros/latex209/contrib/misc/preprint.sty | 149 + obsolete/macros/latex209/contrib/misc/refman.sty | 502 ++++ obsolete/macros/latex209/contrib/misc/shadethm.sty | 187 ++ obsolete/macros/latex209/contrib/misc/shadow.sty | 84 + .../macros/latex209/contrib/misc/showlabels.sty | 28 + obsolete/macros/latex209/contrib/misc/spie.sty | 126 + .../macros/latex209/contrib/misc/subfigure.sty | 446 +++ obsolete/macros/latex209/contrib/misc/texnames.sty | 13 + .../macros/latex209/contrib/misc/threepart.sty | 40 + obsolete/macros/latex209/contrib/misc/twoup.sty | 20 + obsolete/macros/latex209/contrib/misc/varioref.sty | 168 ++ obsolete/macros/latex209/contrib/misc/xr.sty | 207 ++ .../contrib/mitthesis/mitthesis-sample.tex | 135 + .../latex209/contrib/mitthesis/mitthesis.sty | 186 ++ obsolete/macros/latex209/contrib/ml/ascii.tcp | Bin 0 -> 2624 bytes obsolete/macros/latex209/contrib/ml/babel.com | 152 + obsolete/macros/latex209/contrib/ml/babel.sty | 207 ++ obsolete/macros/latex209/contrib/ml/babel.swi | 138 + obsolete/macros/latex209/contrib/ml/cmcyr.sty | 277 ++ obsolete/macros/latex209/contrib/ml/doc.sty | 741 +++++ obsolete/macros/latex209/contrib/ml/dutch.tex | 199 ++ obsolete/macros/latex209/contrib/ml/english.tex | 174 ++ obsolete/macros/latex209/contrib/ml/french.tex | 163 ++ obsolete/macros/latex209/contrib/ml/german.tex | 222 ++ obsolete/macros/latex209/contrib/ml/greek.tex | 205 ++ obsolete/macros/latex209/contrib/ml/ibmkbd.sty | 315 ++ obsolete/macros/latex209/contrib/ml/ipa.sty | 294 ++ obsolete/macros/latex209/contrib/ml/logos.sty | 109 + obsolete/macros/latex209/contrib/ml/ltugboat.sty | 1 + obsolete/macros/latex209/contrib/ml/minutes.sty | 181 ++ obsolete/macros/latex209/contrib/ml/ml.bib | 454 +++ obsolete/macros/latex209/contrib/ml/ml.doc | 970 ++++++ obsolete/macros/latex209/contrib/ml/ml.sty | 496 ++++ obsolete/macros/latex209/contrib/ml/mldoc.tex | 52 + obsolete/macros/latex209/contrib/ml/mlletter.sty | 570 ++++ obsolete/macros/latex209/contrib/ml/mlletter.tex | 33 + obsolete/macros/latex209/contrib/ml/multicol.sty | 525 ++++ obsolete/macros/latex209/contrib/ml/newdoc.sty | 65 + obsolete/macros/latex209/contrib/ml/places.sty | 63 + obsolete/macros/latex209/contrib/ml/plainml.bst | 1272 ++++++++ obsolete/macros/latex209/contrib/ml/readme | 24 + obsolete/macros/latex209/contrib/ml/rgreek.sty | 129 + obsolete/macros/latex209/contrib/ml/rgreekma.tex | 151 + obsolete/macros/latex209/contrib/ml/russian.tex | 176 ++ obsolete/macros/latex209/contrib/ml/setspace.sty | 178 ++ obsolete/macros/latex209/contrib/ml/swahili.tex | 219 ++ obsolete/macros/latex209/contrib/ml/tugboat.cmn | 1 + obsolete/macros/latex209/contrib/mnras/README | 17 + obsolete/macros/latex209/contrib/mnras/mn.sty | 1873 ++++++++++++ obsolete/macros/latex209/contrib/mnras/mnguide.tex | 1853 ++++++++++++ obsolete/macros/latex209/contrib/mnras/mnland.tex | 34 + .../macros/latex209/contrib/mnras/mnsample.tex | 743 +++++ .../macros/latex209/contrib/multido/md-doc.dvi | Bin 0 -> 30332 bytes .../macros/latex209/contrib/multido/md-doc.tex | 459 +++ .../macros/latex209/contrib/multido/md-make.tex | 83 + .../macros/latex209/contrib/multido/md-read.me | 60 + .../macros/latex209/contrib/multido/multido.doc | 907 ++++++ .../macros/latex209/contrib/multido/multido.readme | 24 + .../macros/latex209/contrib/multido/multido.sty | 2 + .../macros/latex209/contrib/multido/multido.tex | 563 ++++ .../macros/latex209/contrib/outline/outline.sty | 50 + .../macros/latex209/contrib/outline/outline.tex | 94 + .../latex209/contrib/outline/outlineitems.sty | 51 + .../macros/latex209/contrib/resume/res-sample.tex | 83 + .../macros/latex209/contrib/resume/res-sample2.tex | 149 + obsolete/macros/latex209/contrib/resume/res.sty | 781 +++++ .../latex209/contrib/resume/resume-sample.tex | 58 + obsolete/macros/latex209/contrib/resume/resume.sty | 100 + .../macros/latex209/contrib/script/checkprt.tex | 104 + obsolete/macros/latex209/contrib/script/dir.tex | 74 + obsolete/macros/latex209/contrib/script/phone.tex | 31 + obsolete/macros/latex209/contrib/script/script.dvi | Bin 0 -> 99792 bytes obsolete/macros/latex209/contrib/script/script.sty | 673 +++++ obsolete/macros/latex209/contrib/script/script.tex | 1466 ++++++++++ .../macros/latex209/contrib/script/script10.sty | 39 + .../macros/latex209/contrib/script/script11.sty | 39 + .../macros/latex209/contrib/script/script12.sty | 39 + .../macros/latex209/contrib/script/script_l.sty | 514 ++++ .../macros/latex209/contrib/script/script_s.sty | 602 ++++ .../macros/latex209/contrib/script/sctitle.sty | 88 + .../macros/latex209/contrib/script/typearea.sty | 120 + obsolete/macros/latex209/contrib/siam/fixup.sty | 167 ++ obsolete/macros/latex209/contrib/siam/numinsec.sty | 16 + obsolete/macros/latex209/contrib/siam/siam-doc.tex | 166 ++ obsolete/macros/latex209/contrib/siam/siam.bib | 18 + obsolete/macros/latex209/contrib/siam/siam.bst | 1035 +++++++ obsolete/macros/latex209/contrib/siam/siam.sty | 340 +++ obsolete/macros/latex209/contrib/siam/siam10.sty | 103 + obsolete/macros/latex209/contrib/siam/siam11.sty | 104 + obsolete/macros/latex209/contrib/siam/siam12.sty | 105 + .../macros/latex209/contrib/springer/jnsl/jns.sty | 801 +++++ .../macros/latex209/contrib/springer/jnsl/jnsl.dem | 354 +++ .../macros/latex209/contrib/springer/jnsl/jnsl.doc | 1162 ++++++++ .../latex209/contrib/springer/jnsl/jnsldoc.sty | 39 + .../macros/latex209/contrib/springer/laa/laa.dem | 467 +++ .../macros/latex209/contrib/springer/laa/laa.doc | 1458 ++++++++++ .../macros/latex209/contrib/springer/laa/laa.sty | 855 ++++++ .../macros/latex209/contrib/springer/laa/laa.the | 364 +++ .../macros/latex209/contrib/springer/laa/laamt.sty | 996 +++++++ .../macros/latex209/contrib/springer/laa/read.me | 14 + .../latex209/contrib/springer/ljour/amsfont.sty | 247 ++ .../latex209/contrib/springer/ljour/amssymb.sty | 265 ++ .../latex209/contrib/springer/ljour/cljour1.ini | 13 + .../latex209/contrib/springer/ljour/flplain.tex | 20 + .../latex209/contrib/springer/ljour/fontdef.tex | 1261 ++++++++ .../latex209/contrib/springer/ljour/linvmat.dem | 361 +++ .../latex209/contrib/springer/ljour/ljour1.doc | 1791 ++++++++++++ .../latex209/contrib/springer/ljour/ljour1.mac | 1179 ++++++++ .../latex209/contrib/springer/ljour/ljour1.ref | 249 ++ .../latex209/contrib/springer/ljour/lmatann.dem | 360 +++ .../latex209/contrib/springer/ljour/lnummat.dem | 365 +++ .../latex209/contrib/springer/ljour/pljour1.ini | 13 + .../latex209/contrib/springer/ljour/preload.tex | 130 + .../macros/latex209/contrib/springer/ljour/read.me | 133 + .../latex209/contrib/springer/ljour/xxxlfont.sty | 144 + .../latex209/contrib/springer/llncs/llncs.dem | 434 +++ .../latex209/contrib/springer/llncs/llncs.doc | 1117 +++++++ .../latex209/contrib/springer/llncs/llncs.sty | 754 +++++ .../latex209/contrib/springer/llncs/llncsdoc.sty | 45 + .../macros/latex209/contrib/springer/llncs/read.me | 12 + .../latex209/contrib/springer/lmamult/lmamudoc.sty | 34 + .../latex209/contrib/springer/lmamult/lmamult.dem | 426 +++ .../latex209/contrib/springer/lmamult/lmamult.doc | 1114 +++++++ .../latex209/contrib/springer/lmamult/lmamult.sty | 775 +++++ .../latex209/contrib/springer/lmamult/read.me | 11 + .../contrib/springer/mathsing/mathsing.dem | 651 +++++ .../contrib/springer/mathsing/mathsing.doc | 1145 ++++++++ .../contrib/springer/mathsing/mathsing.sty | 934 ++++++ .../latex209/contrib/springer/mathsing/read.me | 45 + .../latex209/contrib/springer/wics/wicread.me | 19 + .../latex209/contrib/springer/wics/wicsadv.org | 97 + .../latex209/contrib/springer/wics/wicsadv.tex | 107 + .../latex209/contrib/springer/wics/wicsbook.org | 58 + .../latex209/contrib/springer/wics/wicsbook.sty | 82 + obsolete/macros/latex209/contrib/stmary/README | 10 + .../macros/latex209/contrib/stmary/ltugboat.sty | 1 + obsolete/macros/latex209/contrib/stmary/module.sty | 267 ++ obsolete/macros/latex209/contrib/stmary/msam.sty | 285 ++ obsolete/macros/latex209/contrib/stmary/msbm.sty | 253 ++ .../macros/latex209/contrib/stmary/stmaryrd.sty | 335 +++ .../macros/latex209/contrib/stmary/stmaryrd.tex | 701 +++++ .../macros/latex209/contrib/stmary/tugboat.cmn | 1 + obsolete/macros/latex209/contrib/svlatex/svcon.sty | 412 +++ .../macros/latex209/contrib/svlatex/svlatex.doc | 186 ++ .../macros/latex209/contrib/svlatex/svmult.sty | 399 +++ .../macros/latex209/contrib/svlatex/svsing.sty | 346 +++ obsolete/macros/latex209/contrib/tamueethesis/NOTE | 14 + .../macros/latex209/contrib/tamueethesis/READ.ME | 23 + .../latex209/contrib/tamueethesis/abstract.tex | 47 + .../macros/latex209/contrib/tamueethesis/ack.tex | 8 + .../macros/latex209/contrib/tamueethesis/app.sty | 49 + .../latex209/contrib/tamueethesis/append.tex | 6 + .../latex209/contrib/tamueethesis/approve.tex | 9 + .../macros/latex209/contrib/tamueethesis/bib.tex | 17 + .../latex209/contrib/tamueethesis/bibdata.bib | 113 + .../latex209/contrib/tamueethesis/biblio.tex | 2 + .../macros/latex209/contrib/tamueethesis/ch1.tex | 117 + .../macros/latex209/contrib/tamueethesis/ch2.tex | 309 ++ .../macros/latex209/contrib/tamueethesis/ded.tex | 1 + .../latex209/contrib/tamueethesis/eethe12.sty | 555 ++++ .../latex209/contrib/tamueethesis/eethesis.sty | 1338 +++++++++ .../latex209/contrib/tamueethesis/eethetitle.sty | 670 +++++ .../macros/latex209/contrib/tamueethesis/file.c | 30 + .../macros/latex209/contrib/tamueethesis/lists.tex | 5 + .../macros/latex209/contrib/tamueethesis/manv4.ps | 3072 ++++++++++++++++++++ .../macros/latex209/contrib/tamueethesis/manv4.tex | 1639 +++++++++++ .../latex209/contrib/tamueethesis/subequation.sty | 224 ++ .../macros/latex209/contrib/tamueethesis/thesis.ps | 1625 +++++++++++ .../latex209/contrib/tamueethesis/thesis.tex | 23 + .../macros/latex209/contrib/tamueethesis/title.tex | 6 + .../macros/latex209/contrib/tamueethesis/vita.tex | 5 + obsolete/macros/latex209/contrib/vdm/.idx | 0 obsolete/macros/latex209/contrib/vdm/fnidx.idx | 0 obsolete/macros/latex209/contrib/vdm/moremath.ps | 550 ++++ obsolete/macros/latex209/contrib/vdm/pmmr.tfm | Bin 0 -> 1648 bytes obsolete/macros/latex209/contrib/vdm/typeidx.idx | 0 obsolete/macros/latex209/contrib/vdm/vdm.sty | 1413 +++++++++ obsolete/macros/latex209/contrib/vdm/vdm.tex | 1533 ++++++++++ obsolete/macros/latex209/contrib/vdm/vdmindex | 17 + obsolete/macros/latex209/contrib/vdm/vdmindex.sty | 78 + 275 files changed, 98251 insertions(+) create mode 100644 obsolete/macros/latex209/contrib/aaai/aaai-doc.tex create mode 100644 obsolete/macros/latex209/contrib/aaai/aaai.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/Makefile create mode 100644 obsolete/macros/latex209/contrib/aasmacros/README create mode 100644 obsolete/macros/latex209/contrib/aasmacros/aasms.doc create mode 100644 obsolete/macros/latex209/contrib/aasmacros/aasms.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/aaspp.doc create mode 100644 obsolete/macros/latex209/contrib/aasmacros/aaspp.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/aaspptwo.doc create mode 100644 obsolete/macros/latex209/contrib/aasmacros/aaspptwo.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/aastex.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/aj_pt.doc create mode 100644 obsolete/macros/latex209/contrib/aasmacros/aj_pt.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/apjpt.doc create mode 100644 obsolete/macros/latex209/contrib/aasmacros/apjpt.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/art8.doc create mode 100644 obsolete/macros/latex209/contrib/aasmacros/art8.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/eqsecnum.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/flushrt.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/graphics.aux create mode 100644 obsolete/macros/latex209/contrib/aasmacros/graphics.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/kspp.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/manual.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/mathsec.sty create mode 100644 obsolete/macros/latex209/contrib/aasmacros/paper1.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/paper2.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/samp2tbl.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/sample1.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/sample2.aux create mode 100644 obsolete/macros/latex209/contrib/aasmacros/sample2.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/samptbls.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/sgi9259.eps create mode 100644 obsolete/macros/latex209/contrib/aasmacros/sgi9279.eps create mode 100644 obsolete/macros/latex209/contrib/aasmacros/sgi9289.eps create mode 100644 obsolete/macros/latex209/contrib/aasmacros/table1.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/table2.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/table3.tex create mode 100644 obsolete/macros/latex209/contrib/aasmacros/tighten.sty create mode 100644 obsolete/macros/latex209/contrib/aguplus/agu.bst create mode 100644 obsolete/macros/latex209/contrib/aguplus/agu2e.sty create mode 100644 obsolete/macros/latex209/contrib/aguplus/aguplus.sty create mode 100644 obsolete/macros/latex209/contrib/aguplus/aguplus.tex create mode 100644 obsolete/macros/latex209/contrib/aguplus/changes.lis create mode 100644 obsolete/macros/latex209/contrib/aguplus/readme.pwd create mode 100644 obsolete/macros/latex209/contrib/aguplus/sample.bib create mode 100644 obsolete/macros/latex209/contrib/aguplus/samplus.tex create mode 100644 obsolete/macros/latex209/contrib/album/example.bum create mode 100644 obsolete/macros/latex209/contrib/album/tapeman.tex create mode 100644 obsolete/macros/latex209/contrib/bnf/bnf.README create mode 100644 obsolete/macros/latex209/contrib/bnf/bnf.doc create mode 100644 obsolete/macros/latex209/contrib/curves/curves.sty create mode 100644 obsolete/macros/latex209/contrib/curves/curves.tex create mode 100644 obsolete/macros/latex209/contrib/curves/curvesls.sty create mode 100644 obsolete/macros/latex209/contrib/eclbip/eclbip.sty create mode 100644 obsolete/macros/latex209/contrib/eclbip/eclbipsample.tex create mode 100644 obsolete/macros/latex209/contrib/eclbip/ecltree.sty create mode 100644 obsolete/macros/latex209/contrib/eclbip/ecltreesample.tex create mode 100644 obsolete/macros/latex209/contrib/epsfig/README.unix create mode 100644 obsolete/macros/latex209/contrib/epsfig/epsbb create mode 100644 obsolete/macros/latex209/contrib/epsfig/epsfig create mode 100644 obsolete/macros/latex209/contrib/epsfig/epsfig.2e create mode 100644 obsolete/macros/latex209/contrib/epsfig/epsfig.sty create mode 100644 obsolete/macros/latex209/contrib/epsfig/makefile create mode 100644 obsolete/macros/latex209/contrib/exam/exam.sty create mode 100644 obsolete/macros/latex209/contrib/exam/examdoc.dvi create mode 100644 obsolete/macros/latex209/contrib/exam/examdoc.tex create mode 100644 obsolete/macros/latex209/contrib/fac/fac.sty create mode 100644 obsolete/macros/latex209/contrib/fac/facguide.tex create mode 100644 obsolete/macros/latex209/contrib/lgraph/lgraph.p create mode 100644 obsolete/macros/latex209/contrib/lgraph/lgraph.skel create mode 100644 obsolete/macros/latex209/contrib/misc/10pt.sty create mode 100644 obsolete/macros/latex209/contrib/misc/9pt.sty create mode 100644 obsolete/macros/latex209/contrib/misc/a4wide.sty create mode 100644 obsolete/macros/latex209/contrib/misc/a5.sty create mode 100644 obsolete/macros/latex209/contrib/misc/algorithm.sty create mode 100644 obsolete/macros/latex209/contrib/misc/alltt.sty create mode 100644 obsolete/macros/latex209/contrib/misc/amsfonts.sty create mode 100644 obsolete/macros/latex209/contrib/misc/amssymbols.sty create mode 100644 obsolete/macros/latex209/contrib/misc/askinclude.sty create mode 100644 obsolete/macros/latex209/contrib/misc/braille.sty create mode 100644 obsolete/macros/latex209/contrib/misc/briefdoc.tex create mode 100644 obsolete/macros/latex209/contrib/misc/captcont.sty create mode 100644 obsolete/macros/latex209/contrib/misc/changebar.sty create mode 100644 obsolete/macros/latex209/contrib/misc/chappg.sty create mode 100644 obsolete/macros/latex209/contrib/misc/citesort.sty create mode 100644 obsolete/macros/latex209/contrib/misc/doublespace.sty create mode 100644 obsolete/macros/latex209/contrib/misc/endfloat.sty create mode 100644 obsolete/macros/latex209/contrib/misc/endnote.sty create mode 100644 obsolete/macros/latex209/contrib/misc/endnotes.sty create mode 100644 obsolete/macros/latex209/contrib/misc/float.sty create mode 100644 obsolete/macros/latex209/contrib/misc/fnpara.sty create mode 100644 obsolete/macros/latex209/contrib/misc/index.doc create mode 100644 obsolete/macros/latex209/contrib/misc/nar.sty create mode 100644 obsolete/macros/latex209/contrib/misc/natsci.sty create mode 100644 obsolete/macros/latex209/contrib/misc/nofm.sty create mode 100644 obsolete/macros/latex209/contrib/misc/preprint.sty create mode 100644 obsolete/macros/latex209/contrib/misc/refman.sty create mode 100644 obsolete/macros/latex209/contrib/misc/shadethm.sty create mode 100644 obsolete/macros/latex209/contrib/misc/shadow.sty create mode 100644 obsolete/macros/latex209/contrib/misc/showlabels.sty create mode 100644 obsolete/macros/latex209/contrib/misc/spie.sty create mode 100644 obsolete/macros/latex209/contrib/misc/subfigure.sty create mode 100644 obsolete/macros/latex209/contrib/misc/texnames.sty create mode 100644 obsolete/macros/latex209/contrib/misc/threepart.sty create mode 100644 obsolete/macros/latex209/contrib/misc/twoup.sty create mode 100644 obsolete/macros/latex209/contrib/misc/varioref.sty create mode 100644 obsolete/macros/latex209/contrib/misc/xr.sty create mode 100644 obsolete/macros/latex209/contrib/mitthesis/mitthesis-sample.tex create mode 100644 obsolete/macros/latex209/contrib/mitthesis/mitthesis.sty create mode 100644 obsolete/macros/latex209/contrib/ml/ascii.tcp create mode 100644 obsolete/macros/latex209/contrib/ml/babel.com create mode 100644 obsolete/macros/latex209/contrib/ml/babel.sty create mode 100644 obsolete/macros/latex209/contrib/ml/babel.swi create mode 100644 obsolete/macros/latex209/contrib/ml/cmcyr.sty create mode 100644 obsolete/macros/latex209/contrib/ml/doc.sty create mode 100644 obsolete/macros/latex209/contrib/ml/dutch.tex create mode 100644 obsolete/macros/latex209/contrib/ml/english.tex create mode 100644 obsolete/macros/latex209/contrib/ml/french.tex create mode 100644 obsolete/macros/latex209/contrib/ml/german.tex create mode 100644 obsolete/macros/latex209/contrib/ml/greek.tex create mode 100644 obsolete/macros/latex209/contrib/ml/ibmkbd.sty create mode 100644 obsolete/macros/latex209/contrib/ml/ipa.sty create mode 100644 obsolete/macros/latex209/contrib/ml/logos.sty create mode 120000 obsolete/macros/latex209/contrib/ml/ltugboat.sty create mode 100644 obsolete/macros/latex209/contrib/ml/minutes.sty create mode 100644 obsolete/macros/latex209/contrib/ml/ml.bib create mode 100644 obsolete/macros/latex209/contrib/ml/ml.doc create mode 100644 obsolete/macros/latex209/contrib/ml/ml.sty create mode 100644 obsolete/macros/latex209/contrib/ml/mldoc.tex create mode 100644 obsolete/macros/latex209/contrib/ml/mlletter.sty create mode 100644 obsolete/macros/latex209/contrib/ml/mlletter.tex create mode 100644 obsolete/macros/latex209/contrib/ml/multicol.sty create mode 100644 obsolete/macros/latex209/contrib/ml/newdoc.sty create mode 100644 obsolete/macros/latex209/contrib/ml/places.sty create mode 100644 obsolete/macros/latex209/contrib/ml/plainml.bst create mode 100644 obsolete/macros/latex209/contrib/ml/readme create mode 100644 obsolete/macros/latex209/contrib/ml/rgreek.sty create mode 100644 obsolete/macros/latex209/contrib/ml/rgreekma.tex create mode 100644 obsolete/macros/latex209/contrib/ml/russian.tex create mode 100644 obsolete/macros/latex209/contrib/ml/setspace.sty create mode 100644 obsolete/macros/latex209/contrib/ml/swahili.tex create mode 120000 obsolete/macros/latex209/contrib/ml/tugboat.cmn create mode 100644 obsolete/macros/latex209/contrib/mnras/README create mode 100644 obsolete/macros/latex209/contrib/mnras/mn.sty create mode 100644 obsolete/macros/latex209/contrib/mnras/mnguide.tex create mode 100644 obsolete/macros/latex209/contrib/mnras/mnland.tex create mode 100644 obsolete/macros/latex209/contrib/mnras/mnsample.tex create mode 100644 obsolete/macros/latex209/contrib/multido/md-doc.dvi create mode 100644 obsolete/macros/latex209/contrib/multido/md-doc.tex create mode 100644 obsolete/macros/latex209/contrib/multido/md-make.tex create mode 100644 obsolete/macros/latex209/contrib/multido/md-read.me create mode 100644 obsolete/macros/latex209/contrib/multido/multido.doc create mode 100644 obsolete/macros/latex209/contrib/multido/multido.readme create mode 100644 obsolete/macros/latex209/contrib/multido/multido.sty create mode 100644 obsolete/macros/latex209/contrib/multido/multido.tex create mode 100644 obsolete/macros/latex209/contrib/outline/outline.sty create mode 100644 obsolete/macros/latex209/contrib/outline/outline.tex create mode 100644 obsolete/macros/latex209/contrib/outline/outlineitems.sty create mode 100644 obsolete/macros/latex209/contrib/resume/res-sample.tex create mode 100644 obsolete/macros/latex209/contrib/resume/res-sample2.tex create mode 100644 obsolete/macros/latex209/contrib/resume/res.sty create mode 100644 obsolete/macros/latex209/contrib/resume/resume-sample.tex create mode 100644 obsolete/macros/latex209/contrib/resume/resume.sty create mode 100644 obsolete/macros/latex209/contrib/script/checkprt.tex create mode 100644 obsolete/macros/latex209/contrib/script/dir.tex create mode 100644 obsolete/macros/latex209/contrib/script/phone.tex create mode 100644 obsolete/macros/latex209/contrib/script/script.dvi create mode 100644 obsolete/macros/latex209/contrib/script/script.sty create mode 100644 obsolete/macros/latex209/contrib/script/script.tex create mode 100644 obsolete/macros/latex209/contrib/script/script10.sty create mode 100644 obsolete/macros/latex209/contrib/script/script11.sty create mode 100644 obsolete/macros/latex209/contrib/script/script12.sty create mode 100644 obsolete/macros/latex209/contrib/script/script_l.sty create mode 100644 obsolete/macros/latex209/contrib/script/script_s.sty create mode 100644 obsolete/macros/latex209/contrib/script/sctitle.sty create mode 100644 obsolete/macros/latex209/contrib/script/typearea.sty create mode 100644 obsolete/macros/latex209/contrib/siam/fixup.sty create mode 100644 obsolete/macros/latex209/contrib/siam/numinsec.sty create mode 100644 obsolete/macros/latex209/contrib/siam/siam-doc.tex create mode 100644 obsolete/macros/latex209/contrib/siam/siam.bib create mode 100644 obsolete/macros/latex209/contrib/siam/siam.bst create mode 100644 obsolete/macros/latex209/contrib/siam/siam.sty create mode 100644 obsolete/macros/latex209/contrib/siam/siam10.sty create mode 100644 obsolete/macros/latex209/contrib/siam/siam11.sty create mode 100644 obsolete/macros/latex209/contrib/siam/siam12.sty create mode 100644 obsolete/macros/latex209/contrib/springer/jnsl/jns.sty create mode 100644 obsolete/macros/latex209/contrib/springer/jnsl/jnsl.dem create mode 100644 obsolete/macros/latex209/contrib/springer/jnsl/jnsl.doc create mode 100644 obsolete/macros/latex209/contrib/springer/jnsl/jnsldoc.sty create mode 100644 obsolete/macros/latex209/contrib/springer/laa/laa.dem create mode 100644 obsolete/macros/latex209/contrib/springer/laa/laa.doc create mode 100644 obsolete/macros/latex209/contrib/springer/laa/laa.sty create mode 100644 obsolete/macros/latex209/contrib/springer/laa/laa.the create mode 100644 obsolete/macros/latex209/contrib/springer/laa/laamt.sty create mode 100644 obsolete/macros/latex209/contrib/springer/laa/read.me create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/amsfont.sty create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/amssymb.sty create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/cljour1.ini create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/flplain.tex create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/fontdef.tex create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/linvmat.dem create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/ljour1.doc create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/ljour1.mac create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/ljour1.ref create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/lmatann.dem create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/lnummat.dem create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/pljour1.ini create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/preload.tex create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/read.me create mode 100644 obsolete/macros/latex209/contrib/springer/ljour/xxxlfont.sty create mode 100644 obsolete/macros/latex209/contrib/springer/llncs/llncs.dem create mode 100644 obsolete/macros/latex209/contrib/springer/llncs/llncs.doc create mode 100644 obsolete/macros/latex209/contrib/springer/llncs/llncs.sty create mode 100644 obsolete/macros/latex209/contrib/springer/llncs/llncsdoc.sty create mode 100644 obsolete/macros/latex209/contrib/springer/llncs/read.me create mode 100644 obsolete/macros/latex209/contrib/springer/lmamult/lmamudoc.sty create mode 100644 obsolete/macros/latex209/contrib/springer/lmamult/lmamult.dem create mode 100644 obsolete/macros/latex209/contrib/springer/lmamult/lmamult.doc create mode 100644 obsolete/macros/latex209/contrib/springer/lmamult/lmamult.sty create mode 100644 obsolete/macros/latex209/contrib/springer/lmamult/read.me create mode 100644 obsolete/macros/latex209/contrib/springer/mathsing/mathsing.dem create mode 100644 obsolete/macros/latex209/contrib/springer/mathsing/mathsing.doc create mode 100644 obsolete/macros/latex209/contrib/springer/mathsing/mathsing.sty create mode 100644 obsolete/macros/latex209/contrib/springer/mathsing/read.me create mode 100644 obsolete/macros/latex209/contrib/springer/wics/wicread.me create mode 100644 obsolete/macros/latex209/contrib/springer/wics/wicsadv.org create mode 100644 obsolete/macros/latex209/contrib/springer/wics/wicsadv.tex create mode 100644 obsolete/macros/latex209/contrib/springer/wics/wicsbook.org create mode 100644 obsolete/macros/latex209/contrib/springer/wics/wicsbook.sty create mode 100644 obsolete/macros/latex209/contrib/stmary/README create mode 120000 obsolete/macros/latex209/contrib/stmary/ltugboat.sty create mode 100644 obsolete/macros/latex209/contrib/stmary/module.sty create mode 100644 obsolete/macros/latex209/contrib/stmary/msam.sty create mode 100644 obsolete/macros/latex209/contrib/stmary/msbm.sty create mode 100644 obsolete/macros/latex209/contrib/stmary/stmaryrd.sty create mode 100644 obsolete/macros/latex209/contrib/stmary/stmaryrd.tex create mode 120000 obsolete/macros/latex209/contrib/stmary/tugboat.cmn create mode 100644 obsolete/macros/latex209/contrib/svlatex/svcon.sty create mode 100644 obsolete/macros/latex209/contrib/svlatex/svlatex.doc create mode 100644 obsolete/macros/latex209/contrib/svlatex/svmult.sty create mode 100644 obsolete/macros/latex209/contrib/svlatex/svsing.sty create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/NOTE create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/READ.ME create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/abstract.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/ack.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/app.sty create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/append.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/approve.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/bib.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/bibdata.bib create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/biblio.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/ch1.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/ch2.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/ded.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/eethe12.sty create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/eethesis.sty create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/eethetitle.sty create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/file.c create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/lists.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/manv4.ps create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/manv4.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/subequation.sty create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/thesis.ps create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/thesis.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/title.tex create mode 100644 obsolete/macros/latex209/contrib/tamueethesis/vita.tex create mode 100644 obsolete/macros/latex209/contrib/vdm/.idx create mode 100644 obsolete/macros/latex209/contrib/vdm/fnidx.idx create mode 100644 obsolete/macros/latex209/contrib/vdm/moremath.ps create mode 100644 obsolete/macros/latex209/contrib/vdm/pmmr.tfm create mode 100644 obsolete/macros/latex209/contrib/vdm/typeidx.idx create mode 100644 obsolete/macros/latex209/contrib/vdm/vdm.sty create mode 100644 obsolete/macros/latex209/contrib/vdm/vdm.tex create mode 100644 obsolete/macros/latex209/contrib/vdm/vdmindex create mode 100644 obsolete/macros/latex209/contrib/vdm/vdmindex.sty (limited to 'obsolete/macros/latex209') diff --git a/obsolete/macros/latex209/contrib/aaai/aaai-doc.tex b/obsolete/macros/latex209/contrib/aaai/aaai-doc.tex new file mode 100644 index 0000000000..43ed4241f6 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aaai/aaai-doc.tex @@ -0,0 +1,384 @@ +%NAME: aaai-doc.tex +\documentstyle[aaai]{article} + +\title{Instructions to Authors\thanks{Schlumberger Palo Alto Research +supported the development of these instructions.}} +\author{Tom Mitchell \and Reid G. Smith \\ + Program Co-Chairs \\ AAAI-88 Conference + \And + Shirley Jowell \\ + Morgan Kaufmann Publishers \\ + San Mateo, California} + +\begin{document} + +\maketitle + +\begin{abstract} +The {\em Proceedings of AAAI-88}, the published presentations of + the National Conference on Artificial Intelligence, will be + printed using the photo-offset print process directly from + camera-ready copy furnished by the authors. + To ensure that all papers in the {\em Proceedings} have a uniform + appearance, authors are asked to adhere to the following + instructions. +\end{abstract} + + +\section{Introduction} + +This year AAAI papers will not be reduced by the printers, +but instead will be printed from $8.5 \times 11''$ masters. +As a result, preparation of AAAI papers will be easier at most +institutions. + +AAAI papers should be typeset using a system such as \LaTeX{} or Scribe +and printed using a good laser or other letter-quality printer. +{\em Do not use line printer or dot matrix printer output.} +Papers with poor quality output, e.g., light or gray type, +and papers which significantly deviate from these instructions, +e.g., by using 8-point fonts, +will not be included in the proceedings, +as such papers would be rendered +unreadable by the printing process. + +Output can either be printed directly on the model forms, +or printed on heavy bond paper and pasted onto +the model forms using a glue stick, spray adhesive, or rubber cement. +The pasted area should be flat and free from creases, +and there should be no excess glue anywhere on the forms. + +\section{Style and Format} + +\subsection{General Instructions} + +Manuscripts must be printed two columns to a page on the master forms +supplied. +The light blue guidelines on the forms (which will not reproduce in +the printing process) outline the printing area. +Do not print anything outside of these lines. +Use only one side of the master forms. + +Use 10-point type in a clear, readable font with 1-point leading (10 on 11). +``Write-white'' laser printers must use fonts specifically designed for +them---not fonts for ``write-black'' printers. + +Start all pages (except the first) directly under the top margin, as +indicated. +See next section regarding how to format the first page. + +Indent when starting a new paragraph, except after major headings. + +\subsection{Title Page} + +\subsubsection{Title and Author Information} +The title appears near the top of the first page, centered on the entire +width of the page, in a 14-point bold font. +The name(s) of the author(s) appear in the designated areas below the title +of the paper, along with affiliation(s) and complete address(es) in a +12-point font. + +Any credit to a sponsoring agency should appear in a footnote at the +bottom of the left column of the first page. +See the example in these instructions. + +\subsubsection{Abstract} +The Abstract appears at the beginning of the first column, using a +slightly smaller width than the body of the paper. +The title ``Abstract'' appears above the body of the abstract in +a bold font. +The Abstract should be no longer than 200 words. + +\subsubsection{Text} +The main body of the text follows the Abstract, observing the blue +guidelines for the two-column format. + + +\subsection{Sections} + +Section, subsection, and subsubsection headings should be printed in the +style shown in these instructions. +Leave a blank space of approximately 10 points above and 8 points below +section headings, 9 points above and 4 points below subsection headings, +and 8 points above and 3 points below subsubsection headings. + +Special sections should be arranged and headed as follows: + +\begin{description} +\item[Acknowledgments:] The Acknowledgments section, if included, + follows the main body of the text and is headed + ``Acknowledgments,'' printed in the same style + as a section heading, but without a number. +\item[Appendices:] Any Appendices follow the Acknowledgments + (or directly follow the text) and look like + sections, except that they are numbered with capital + letters instead of arabic numerals. +\item[References:] +The References section is headed ``References,'' printed in the same +style as a section heading, but without a number. +A sample list of references is given at the end of these +instructions. +Use a consistent format for references, such as provided by +Bib\TeX{}. + +\end{description} + +\subsection{Citations} + +Citations within the text should include the author's last name and +year, for example \cite{cheeseman:probability}. +Append lower case letters to the year in cases of ambiguity. +Multiple authors should be treated as in the following examples: +\cite{abelson-et-al:scheme} and +\cite{brachman-schmolze:kl-one}. +If the author portion of a citation is obvious, it should be omitted, +e.g., Levesque \shortcite{levesque:belief}. +Multiple citations should be collapsed as follows: +\cite{levesque:functional-foundations,levesque:belief}. + +\nocite{abelson-et-al:scheme} +\nocite{brachman-schmolze:kl-one} +\nocite{cheeseman:probability} +\nocite{haugeland:mind-design} +\nocite{lenat:heuristics} +\nocite{levesque:functional-foundations} +\nocite{levesque:belief} + +\subsection{Footnotes} + +Footnotes should appear at the bottom of the page. +They are referred to by superscript numbers.\footnote{This is how your +footnotes should appear.} +Footnotes should be separated from the text by a short line.\footnote{Note +the line separating these footnotes from the text.} + +\section{Figures, Drawings, Tables, and Photographs} + +\subsection{General Instructions} + +Figures, drawings, tables, and photographs should be placed throughout +the paper at the places where they are first discussed, rather than at +the end of the paper. +If placed at the bottom or top of a page, illustrations may run across +both columns. +Securely attach them to the master form with glue stick, spray adhesive, +rubber cement, or write tape. +Do not use transparent tape as the printing process causes it to +obscure copy. +Number them sequentially. +The references should be in the following form: +Figure 1, Table 1, etc. + +The illustration number and caption should appear under the +illustration. +Leave a margin of 1/4-inch around the area covered by the +figure and caption. + +Captions, labels, and other text in illustrations +be at least 10-point type. + +{\em Line printer printouts should not be used.} + +\subsection{Drawings} + +Original line drawings should be drawn in {\em black\/} ink, not pencil. +Do not color in drawings. +Lines should be heavy enough to reproduce well. + +\subsection{Photographs} + +Photographs should be black and white glossies. +Do not pre-halftone photographs. +Color photographs do not produce well. +(Red will reproduce as black, for example.) +Photographs incur extra expense, so +please use them judiciously. + +\section{Length of Papers} + +Papers should not exceed {\em five\/} pages, including illustrations and +tables. +One additional page may be included by accompanying the paper with a +check for \$250, payable to the American Association for Artificial +Intelligence. +Papers over six pages will not be accepted for publication. + +\section{Identification} + +Make certain that your name is typed or written on the {\em back\/} of +every page of the masters, and number the pages sequentially. +Failure to do this may result in some pages of your paper being +misplaced or, worse, inserted in another paper. +This information is for identification only (final page numbers will +be assigned by the Publisher). + +\section{Mailing} + +{\em Make a photocopy of your final paper.} +Keep the photocopy in your files for reference or in case the original +is lost in the mail. + +Your paper should be {\em received\/} by June 1, 1988. +{\em Papers received later than June 1, 1988 will not be +included in the proceedings.} + +Do not fold the master forms for mailing. +Use the enclosed cardboard backing and envelope for mailing. +If you use a separate envelope, clearly mark on the envelope: +{\bf Do Not Fold or Bend}. + +Send to: +\begin{quote} +Shirley Jowell \\ +Attn: AAAI-88 Conference \\ +Morgan Kaufmann Publishers \\ +2929 Campus Drive \\ +San Mateo, CA \hspace{1em} 94403\\ +U. S. A. +\end{quote} + +\section{Inquiries} + +If you have any questions about the preparation or submission of your +paper as instructed in this package, please contact: +\begin{quote} +Shirley Jowell \\ +Morgan Kaufmann Publishers \\ +(415) 578-9911 +\end{quote} + +\appendix + +\section{Using \LaTeX{}} + +A \LaTeX{} style option (for version 2.09 of \LaTeX{}) that implements these +instructions has been prepared, +as well as +two Bib\TeX{} styles +(one for version 0.98i and one for version 0.99c of Bib\TeX{}) +that implement the citation and reference style in +these instructions. + +The relevant files have been placed in the \LaTeX{} style collection at +Rochester. +To retrieve these files use one of the following methods: +\begin{enumerate} +\item For Internet users - how to ftp: + +Here is an example session. Ftp syntax varies from host to +host; your syntax may be different. + +\begin{verbatim} +% ftp cayuga.cs.rochester.edu + ... (general blurb) +ftp> login anonymous +Password: + ... (more blurb) +ftp> cd public/latex-style + ... (more blurb) +ftp> get aaai-instructions.tex + ... (more blurb) +ftp> get aaai.sty + ... (more blurb) +ftp> get aaai-named-0.99.bst + ... (more blurb) +ftp> get aaai-named-0.98.bst + ... (more blurb) +ftp> quit +\end{verbatim} + +The name ``rochester.arpa'' or the address +``192.\discretionary{}{}{}5.\discretionary{}{}{}53.\discretionary{}{}{}209'' +can be used instead of ``cayuga.cs.rochester.edu''. + +\item Non-Internet users - how to retrieve by mail: + +Send a piece of mail to LaTeX-Style@cs.rochester.edu +in the following format: +Subject line should contain the phrase ``@file request''. Body of the +mail should start with a line containing only an @ (at) sign. +The first line following should be a mail address {\em from} +rochester {\em to} you. Follow with the names of the files you want +separated by spaces or new lines. +End with a line containing only an @ sign. Case is not significant. + +For example, if you are {\tt user} at {\tt dept.site.edu}, this is what you +should send: + +\begin{verbatim} +To: latex-style@cs.rochester.edu +Subject: @file request + +@ +user@dept.site.edu +aaai-instructions.tex aaai.sty +aaai-named-0.99.bst aaai-named-0.98.bst +@ +\end{verbatim} + +It is best to fully qualify your mail address unless it is fully +registered. For example, use user\%site.bitnet@cunyvm.cuny.edu instead of +user@site.bitnet. + +\end{enumerate} + +Further information on using these styles can be obtained by writing: +\begin{quote} +Peter F. Patel-Schneider \\ +Schlumberger Palo Alto Research \\ +3340 Hillview Avenue \\ +Palo Alto, California \hspace{1em} 94304 \\ +pfps@spar.slb.com +\end{quote} + +%% This section was initially prepared using BibTeX. The .bbl file was +%% placed here later +%\bibliography{publications} +%\bibliographystyle{aaai-named-0.99} +\begin{thebibliography}{} + +\bibitem[\protect\citename{Abelson \bgroup \em et al.\egroup , + }1985]{abelson-et-al:scheme} +Harold Abelson, Gerald~Jay Sussman, and Julie Sussman. +\newblock {\em Structure and Interpretation of Computer Programs}. +\newblock MIT Press, Cambridge, Massachusetts, 1985. + +\bibitem[\protect\citename{Brachman and Schmolze, + }1985]{brachman-schmolze:kl-one} +Ronald~J. Brachman and James~G. Schmolze. +\newblock An overview of the {KL-ONE} knowledge representation system. +\newblock {\em Cognitive Science}, 9(2):171--216, April--June 1985. + +\bibitem[\protect\citename{Cheeseman, }1985]{cheeseman:probability} +Peter Cheeseman. +\newblock In defense of probability. +\newblock In {\em Proceedings IJCAI-85}, pages 1002--1009. International Joint + Committee for Artificial Intelligence, August 1985. + +\bibitem[\protect\citename{Haugeland, }1981]{haugeland:mind-design} +John Haugeland, editor. +\newblock {\em Mind Design}. +\newblock Bradford Books, Montgomery, Vermont, 1981. + +\bibitem[\protect\citename{Lenat, }1981]{lenat:heuristics} +Douglas~B. Lenat. +\newblock The nature of heuristics. +\newblock Technical Report CIS-12 (SSL-81-1), Xerox Palo Alto Research Centers, + April 1981. + +\bibitem[\protect\citename{Levesque, }1984a]{levesque:functional-foundations} +Hector~J. Levesque. +\newblock Foundations of a functional approach to knowledge representation. +\newblock {\em Artificial Intelligence}, 23(2):155--212, July 1984. + +\bibitem[\protect\citename{Levesque, }1984b]{levesque:belief} +Hector~J. Levesque. +\newblock A logic of implicit and explicit belief. +\newblock In {\em Proceedings AAAI-84}, pages 198--202. American Association + for Artificial Intelligence, August 1984. + +\end{thebibliography} + +\end{document} + + diff --git a/obsolete/macros/latex209/contrib/aaai/aaai.sty b/obsolete/macros/latex209/contrib/aaai/aaai.sty new file mode 100644 index 0000000000..7f50ee3e1d --- /dev/null +++ b/obsolete/macros/latex209/contrib/aaai/aaai.sty @@ -0,0 +1,135 @@ +% This LaTeX style is for papers to be printed in the proceedings of AAAI-88. +% Prepared by Peter F. Patel-Schneider, liberally using the ideas of +% other style hackers, including Barbara Beeton. +% This style is NOT guaranteed to work. It is provided in the hope +% that it will make the preparation of papers for AAAI-88 easier. +% +% There are undoubtably bugs in this style. If you make bug fixes, +% improvements, etc. please let me know. My e-mail address is: +% pfps@spar.slb.com + +\typeout{Conference Style for AAAI-88 -- released 5 April 1988} + +% NOTE: Some laser printers have a serious problem printing TeX output. +% These printing devices, commonly known as ``write-white'' laser +% printers, tend to make characters too light. To get around this +% problem, a darker set of fonts must be created for these devices. +% + +% Physical page layout +\setlength\topmargin{-0.5in} \setlength\oddsidemargin{-0.5in} +\setlength\textheight{9.5in} \setlength\textwidth{7.3in} +\setlength\columnsep{0.3in} \newlength\titlebox \setlength\titlebox{1.75in} +\setlength\headheight{0pt} \setlength\headsep{0pt} +\setlength\footheight{0pt} \setlength\footskip{0pt} +\thispagestyle{empty} \pagestyle{empty} +\flushbottom \twocolumn \sloppy + +% We're never going to need a table of contents, so just flush it to +% save space --- suggested by drstrip@sandia-2 +\def\addcontentsline#1#2#3{} + +% Title stuff, taken from deproc. +\def\maketitle{\par + \begingroup + \def\thefootnote{\fnsymbol{footnote}} + \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}} + \twocolumn[\@maketitle] \@thanks + \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} +\def\@maketitle{\vbox to \titlebox{\hsize\textwidth + \linewidth\hsize \vskip 2ex plus 1fil minus 2ex \centering + {\Large\bf \@title \par} \vskip 3ex plus 0.5fil minus 2ex + {\def\and{\unskip\enspace{\rm and}\enspace}% + \def\And{\end{tabular}\hss \egroup \hskip 1in plus 2fil + \hbox to 0pt\bgroup\hss \begin{tabular}[t]{c}\bf}% + \hbox to \linewidth{\large \hfil\hfil + \hbox to 0pt\bgroup\hss \begin{tabular}[t]{c}\bf\@author + \end{tabular}\hss\egroup + \hfil\hfil}} + \vskip 4ex plus 2fil minus 2ex +}} +\renewenvironment{abstract}{\centerline{\large\bf + Abstract}\vspace{0.5ex}\begin{quote}}{\par\end{quote}\vskip 1ex} + +% don't box citations, add space between multiple citations, separate with ; +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{; }\@ifundefined + {b@\@citeb}{{\bf ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +% Allow short (name-less) citations, when used in +% conjunction with a bibliography style that creates labels like +% \citename{, } +\let\@internalcite\cite +\def\cite{\def\citename##1{##1}\@internalcite} +\def\shortcite{\def\citename##1{}\@internalcite} +\def\@biblabel#1{\def\citename##1{##1}[#1]\hfill} + +% sections with less space +\def\section{\@startsection {section}{1}{\z@}{-2.0ex plus + -0.5ex minus -.2ex}{1.5ex plus 0.3ex minus .2ex}{\Large\bf\raggedright}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-1.8ex plus + -0.5ex minus -.2ex}{0.8ex plus .2ex}{\large\bf\raggedright}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{1.5ex plus + 0.5ex minus .2ex}{0.5ex plus .2ex}{\normalsize\bf\raggedright}} +\def\paragraph{\@startsection{paragraph}{4}{\z@}{1.5ex plus + 0.5ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection{subparagraph}{5}{\parindent}{1.5ex plus + 0.5ex minus .2ex}{-1em}{\normalsize\bf}} + +% Footnotes +\footnotesep 6.65pt % +\skip\footins 9pt plus 4pt minus 2pt +\def\footnoterule{\kern-3pt \hrule width 5pc \kern 2.6pt } +\setcounter{footnote}{0} + +% Lists and paragraphs +\parindent 1em +\topsep 4pt plus 1pt minus 2pt +\partopsep 1pt plus 0.5pt minus 0.5pt +\itemsep 2pt plus 1pt minus 0.5pt +\parsep 2pt plus 1pt minus 0.5pt + +\leftmargin 2em \leftmargini\leftmargin \leftmarginii 2em +\leftmarginiii 1.5em \leftmarginiv 1.0em \leftmarginv .5em \leftmarginvi .5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep \labelsep 5pt + +\def\@listi{\leftmargin\leftmargini} +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2pt plus 1pt minus 0.5pt + \parsep 1pt plus 0.5pt minus 0.5pt + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1pt plus 0.5pt minus 0.5pt + \parsep \z@ \partopsep 0.5pt plus 0pt minus 0.5pt + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\abovedisplayskip 7pt plus2pt minus5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip 0pt plus3pt% +\belowdisplayshortskip 4pt plus3pt minus3pt% + +% Less leading in most fonts (due to the narrow columns) +% The choices were between 1-pt and 1.5-pt leading +\def\@normalsize{\@setsize\normalsize{11pt}\xpt\@xpt} +\def\small{\@setsize\small{10pt}\ixpt\@ixpt} +\def\footnotesize{\@setsize\footnotesize{10pt}\ixpt\@ixpt} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{16pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{20pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{23pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{28pt}\xxvpt\@xxvpt} diff --git a/obsolete/macros/latex209/contrib/aasmacros/Makefile b/obsolete/macros/latex209/contrib/aasmacros/Makefile new file mode 100644 index 0000000000..5e4f280371 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/Makefile @@ -0,0 +1,96 @@ +# Makefile for AAS author prepared package. + +# Macros to facilitate pkg development. +PACKAGE = aastex30 +DATE = 10 Jan 93 +ARCEXT = tar.Z +PDL = ps +STYLES = aasms.sty aaspp.sty aaspptwo.sty aj_pt.sty apjpt.sty art8.sty +GUIDE = aastex +DVIS = $(GUIDE).dvi graphics.dvi paper1.dvi paper2.dvi sample1.dvi \ + sample2.dvi samptbls.dvi kspp.dvi +FILES = Makefile README aasms.doc aasms.sty aaspp.doc aaspp.sty \ + aaspptwo.doc aaspptwo.sty apjpt.doc apjpt.sty aj_pt.doc \ + aj_pt.sty art8.doc art8.sty \ + aastex.tex eqsecnum.sty flushrt.sty tighten.sty epsf.sty \ + paper1.tex paper2.tex sample1.tex sample2.tex sample2.aux \ + samp2tbl.tex samptbls.tex table1.tex table2.tex table3.tex \ + graphics.tex graphics.aux sgi*.eps kspp.tex + +# Add some useful inference rules for LaTeX development. +.SUFFIXES: .doc .sty .tex .dvi .$(PDL) + +.doc.sty: + doc2sty $* + +.tex.dvi: + latex $< + +.dvi.$(PDL): + dvips $< -o $*.$(PDL) + +# Generalized targets, housekeeping, etc. +first: $(GUIDE) +all: $(DVIS) +allsty: $(STYLES) + +clean: + $(RM) a.out core *.dvi *.log *.$(PDL) + +veryclean: clean + $(RM) *.aux + $(RM) $(PACKAGE).$(ARCEXT) + $(RM) $(STYLES) + +tar: clean + $(RM) $(PACKAGE).$(ARCEXT) + tar -cvf - $(FILES) | compress -c > /tmp/$(PACKAGE).$(ARCEXT) + mv /tmp/$(PACKAGE).$(ARCEXT) . + +uu: tar + uuencode $(PACKAGE).$(ARCEXT) $(PACKAGE).$(ARCEXT) > /tmp/$(PACKAGE).uu + mv /tmp/$(PACKAGE).uu $(HOME) + +unZ: + zcat $(HOME)/$(PACKAGE).$(ARCEXT) | tar -xvf - + +zoo: clean + $(RM) $(PACKAGE).zoo + zoo ah $(PACKAGE).zoo $(FILES) + +ver: setver + @echo 'Version in Makefile' + @egrep '^(PACKAGE|DATE)' Makefile + +setver: + @echo 'Version in paspconf.doc' + @echo -n 'PACKAGE = pasp' + @grep 'def.*tex@ver' paspconf.doc | sed 's/[^0-9]//g' + @echo -n 'DATE = ' + @grep 'def.*tex@date' paspconf.doc | sed 's/^.*{//' | sed 's/}.*$$//' + +# Dependency targets. + +$(GUIDE): $(GUIDE).dvi +$(GUIDE).$(PDL): $(GUIDE).dvi +$(GUIDE).dvi: $(GUIDE).tex aaspptwo.sty + +graphics: graphics.dvi +graphics.$(PDL): graphics.dvi +graphics.dvi: graphics.tex aasms.sty + +kspp: kspp.dvi +kspp.$(PDL): kspp.dvi +kspp.dvi: kspp.tex aaspp.sty + +sample1: sample1.dvi +sample1.$(PDL): sample1.dvi +sample1.dvi: sample1.tex aasms.sty + +sample2: sample2.dvi +sample2.$(PDL): sample2.dvi +sample2.dvi: sample2.tex samp2tbl.tex aasms.sty aaspp.sty aaspptwo.sty + +samptbls: samptbls.dvi +samptbls.$(PDL): samptbls.dvi +samptbls.dvi: samptbls.tex aj_pt.sty apjpt.sty art8.sty table1.tex table2.tex table3.tex diff --git a/obsolete/macros/latex209/contrib/aasmacros/README b/obsolete/macros/latex209/contrib/aasmacros/README new file mode 100644 index 0000000000..41e3cad431 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/README @@ -0,0 +1,328 @@ +% README -- Contents of the AASTeX macro package distribution + +Thanks for your interest in the AASTeX macros for manuscript preparation. +This directory contains all the files in the distribution. They are +described briefly immediately below. Following the file descriptions +are short installation instructions, the generic recipe for printing the +user guide and samples, and information about contacting us regarding +the distribution. + + +README This file + +aasms.doc Fully documented source for the "manuscript" + substyle. Contains macro definitions + comments. +aasms.sty LaTeX input style file for the "manuscript" + substyle. This is the .doc file stripped of + comments and unnecessary whitespace. + +aaspp.doc Fully documented source for the "preprint" + substyle. Contains macro definitions + comments. +aaspp.sty LaTeX input style file for the "preprint" + substyle. This is the .doc file stripped of + comments and unnecessary whitespace. + +aaspptwo.doc Documented source for a two-column preprint substyle. +aaspptwo.sty LaTeX input style file for two-column preprint + substyle. + +aj_pt.doc Documented source for the AJ plano tables substyle. +aj_pt.sty LaTeX input style file for AJ plano tables substyle. + +apjpt.doc Documented source for the ApJ plano tables substyle. +apjpt.sty LaTeX input style file for ApJ plano tables substyle. + +art8.doc Documented 8pt style option. +art8.sty LaTeX input style file for the 8pt style option. + +eqsecnum.sty Substyle file that enables equations to be + numbered with sections, rather than ordinally. +tighten.sty Substyle file that causes "manuscript" style + papers to be single-spaced rather than double. + +epsf.sty A copy of Rokicki's epsf.sty file that is supplied + with dvips. It is included so that style files + can be interpreted, and so that authors can + include proper space for EPS files even if they + do not have dvips. + +aastex.tex The user input guide for the package. + +sample1.tex Minimal sample paper. +sample2.tex Sample paper with "typical" content and markup. +samp2tbl.tex "Long" table for sample, marked up as a plano + table in the manuscript. + +samptbls.tex Plano tables sample. Sets style and includes: +table1.tex Sample plano table #1. +table2.tex Sample plano table #2. +table3.tex Sample plano table #3. + +graphics.tex Initial proposal to WGAS and Pubs Board + suggesting standardized use of Encapsulated + PostScript for graphics inclusions. +sgi*.eps Encapsulated PostScript plots for graphics.tex. + +kspp.tex Preprint format proposal from K.Sellgren to the + Pubs Board. + +paper1.tex LaTeX source for June 1989 AAS poster. +paper2.tex LaTeX source for June 1990 AAS poster. + + +aastex30.tar.Z All of the above files can be retrieved at once + in this compressed tarfile, if desired. + + +INSTALLING THE STYLE FILES + +The *.sty files must be "installed" so that LaTeX can read them. This +simply means that they must be placed either in (1) the user's working +directory containing the paper being processed [single-user installation], +or (2) in the TeX/LaTeX system input directory [site-wide installation]. + +Individuals who obtain the files for their personal use should just put +the files in the same directory that they usually use when preparing +papers, memos, etc. with LaTeX. + +Sites that expect usage by several authors will probably find it preferable +to install the files in the standard TeX inputs area. In the parlances of +popular OS's, these areas are typically called + + /usr/local/lib/tex/inputs Unix and variants + SOME$DISK:[TEX.INPUTS] VMS/Files-11 specification + C:\EMTEX\TEXINPUT DOS + +The *.doc files are not actually read by LaTeX. They are the "source code" +files for the corresponding .sty files. The *.sty files are produced +mechanically from the *.doc files; these .sty files are never edited. +Most installations of LaTeX keep .doc and .sty files in the same directory +so that they can be easily found. We suggest doing the same with these. + +The user's guide and sample papers could be kept in a system-wide TeX +inputs directory as well, but the system administrator may find it desirable +to change the filenames somewhat, since they are quite generic and prone +to filename collisions. + + +PRINTING THE GUIDE AND SAMPLES + +The User Guide should be printed out for best results in reading it. +The Guide is written using the aaspp substyle from the AASTeX macro +package, and is therefore a LaTeX document. It must be processed by +LaTeX, resulting in a compiled, device-independent format (a .dvi file). +The DVI file has to be translated through a program that knows about the +specific printer you wish to print on; such a program is often called a +"DVI driver". + +Suppose you wish to print on a PostScript laser printer, and that the +DVI driver on your computer system is called "dvips". The generic steps +to be followed to get hardcopy are + + prompt> latex aastex + prompt> dvips aastex + prompt> print aastex.ps + +There are various system- and program-specific eccentricities which +cannot be fully enumerated here. Some things to watch out for: + + 1. On some systems, TeX and LaTeX do not permit a filename extension + (the .tex) on the input file specification; .tex is assumed. + On other systems, it is optional. + 2. Most DVI drivers do not require the .dvi extension on the input + filename. The extension of the output file (the one destined + for a specific printer) is variable, often a site-dependent + configuration parameter. + 3. The user interfaces for DVI drivers are quite inconsistent. + Some operate in an interactive mode, asking the user about + variable setup parameters, while some only accept control + input on the command line. + 4. On some systems, the DVI translation and printing are combined, + so one would enter only one OS command after running LaTeX. + +There is no way for us to know details of your installation, so you must +inquire of the system administrator responsible for LaTeX, or hope that +someone has written the LaTeX "Local Guide" for your site. + + +ADMINISTRATIVE DETAILS + +This package has been prepared by Chris Biemesderfer on behalf of the +AAS Executive Office. It has evolved from a project of the Working +Group on Astronomical Software (WGAS), chaired by Bob Hanisch of the +Space Telescope Science Institute in Baltimore. We would like to +express appreciation to the National Radio Astronomy Observatory and +National Optical Astronomy Observatories for their support of this +project during its germination. + +Comments, suggestions, complaints, etc., can be sent electronically. +Community feedback is valuable, and will be retained and evaluated so +that we can coordinate the evolution of the package with the +requirements of editors and publishers as moderated by the AAS +Executive Office and the Publications Board. + +cbiemes@noao.edu +7 Jan 1993 + + +REVISION HISTORY + +v1.0, Feb 1989 + Original test version written at STScI and NRAO. + +v2.0, Jun 1990 + First public release of package to community following AAS meeting + in Albuquerque. + +v2.1, May 1991 + Changed style filenames: aasmanuscript -> aasms, aaspreprint -> aaspp + for benefit of DOS users, and to conform to Posix. + + Fixed the textheight to compensate for header and footer space + so that page numbers will in fact be on the bottoms of the pages. + + Updated journal abbreviations as per scheme agreed upon by various + editors and announced by Helmut Abt in ApJ 357, 1. + + Added an assortment of symbols, etc. from Francois Schweizer. + +v2.2, Aug 1991 + Rewrote the tablenote code, using ideas from a style file posted + to the Usenet in June. This new implementation permits the use + of any identifying letters (or number for that matter) for the + notes, and will print them in the order specified by the user + rather than assuming alphabetical. In the process, fixed a bug + where the buffered tablenotes were not being erased from table + to table. + + Revised the way journal abbreviations are typeset. Rather than + simply being a string, they are now processed through a macro and + the journal type style is parameterized. + + Moved the WGAS ID footnote to the last page of references from + title page. There have been some "complaints" about this being + present at all, but it is the only way we can keep track of the + use of the package at this point, so we retain it. + +v2.3, Aug 1992 + Formalized naming convention for style files (see Stynames.spc). + + Revisions for compliance with RevTeX markup. + Added some revtex@ parameters for software development and + tracking/reporting purposes. Changed mathsec substyle option + to eqsecnum (mathsec.sty -> eqsecnum.sty). Changed + \mathwithsecnums -> \eqsecnum. Changed \la -> \alt, + \ga -> \agt. Added \text for cased fractions. + + Revised aasms to conform with preferences of UofC Press manuscript + editors. Such things as ragged right text, no hyphenation, proper + double spacing in tables, etc. are ensured. (G.Brady) + + Fixed bug that resulted in the persistent \footnoterule in table + footnotes. (C.Pilachowski, P.Shopbell) + + Added a Makefile to ease development. + +v3.0, Dec 1992 + Moved page numbers to top of pages, per request from ApJ + editorial office. Created "plaintop" pagestyle for MSs that + numbers pages at the top of the sheet, centered. + + Added \tablerefs, \tablecomments, \cutinhead, and \sidehead, + macros to facilitate handling complexities in ApJ/AJ tables. + + Added plano tables styles (non-trivial!). This includes some + new author markup that is applicable to "long" tables in MSs + as well. Added a "planotables" environment, and commands + for identifying structural parts of the table: \tablewidth, + \tablecaption, \tablehead, \colhead, \tableheadfrac, \tabletail, + \startdata, \nodata, \nl, \tablevspace, \tablebreak, and, in + the plano style files, \ptlandscape. + + Fixed bug with preliminary plano tables that prevented \nodata + symbol to be justified with numerals (usually r). The ellipsis + or em-dash (or whatever) now centers horizontally as well as + vertically. (C.Pilachowski, G.Brady) + + Added some internal parameterization and control of automatic + upper-casing of section heads, etc. Authors should NOT be + instructed to upper case anything; the style should do this + when necessary. See remarks in .doc file for more information + about how the style designer can control this "easily". + + Footnotes in MSs are same size as body text. + + Fixed bug in \altaffiltext so that increment LaTeX footnote now + increments with alternate affiliation footnotes. The first + footnote called out in the text will then be properly numbered + N+1, where N is the number of \altaffiltexts. + + Added markup for ionization state: \ion. + + Added \singlespace, \doublespace so that leading can be + adjusted by authors. Use of these is not encouraged. + + Changed \keywords syntax. Authors are now required to provide + proper punctuation in the keyword list. The earlier attempt at + parsing the keywords was problematic. + + Added EPS inclusion macros. These are designed to work with + Rokicki's dvips program. There is some concern that these + should have been designed to work with psfig instead. My + opinion about that is that intermediate layer (psfig) is + redundant with this package and by relying on it we require + authors to have two additional add-on packages (dvips and + psfig) rather than one. The psfig package and the EPS part + of the AASTeX package both serve the same purpose, namely, + to isolate the author from the details of the DVI driver. + The AASTeX package goes a bit farther in explicilty defining + descriptive markup semantics for specifying external plot files. + + Revisions for compliance with RevTeX markup. + Changed \tightenlines -> \tighten. Changed \alt -> \lesssim, + \agt -> \gtrsim. Changed \text -> \case. Added \slantfrac. + Changed \applopt -> \ao. + + Added slug line markup for assorted administrative details. + \revised, \paperid, \ccc, \cpright, \rectohead, \versohead, and + \slugcomment can all be used in preamble. Formatting for slug + line data has been isolated in internal \@dates, \@runheads, + \@slug, and \@makeslugcmmnt. \@journalname and \cpr@holder + have been added as internal parameters. + + Added \authoraddr front matter (or back matter, whatever) + command for specifying author's postal address. This is the + address that is preferred for correspondence. + + Added \markcite to correspond with references environment + to provide non-BibTeX-based citation and reference list + markup. \markcite does not do anything typographically in + AAS styles because the citation call-out style is straight + text. This is included partly for symmetry, but mostly + because we want to start training authors to identify + structure in their manuscripts. In the future, browsers + with hypertext-like capabilities will be widely available + to build linkage between citations, references, and the + articles being cited/referenced, and this will facilitate + preparation of the articles for such systems. + + Changed \appendix to reset the equation counter and to + redefine \theequation. + + Added mathletters environment to support "subequations". + This environment is used to suspend incrementing of the + primary equation counter in favor of a secondary one, so + that related equations can be grouped with the same + identifying number while still being separately identified + with lower case letters. I originally called this new + environment "letteredsubeqn" but changed to "mathletters" + for RevTeX compliance. + + Added \eqnum, \tablenum, and \figurenum commands to enable + authors to override LaTeX automatic numbering for equations, + tables and figures. The corresponding LaTeX counter is NOT + auto-incremented when these commands are used. The commands + function by temporarily overriding \the; formatting + defined by \@eqnnum, \fnum@table, and \fnum@figure is not + affected. Note that these commands must be used *inside* the + appropriate displayed equation or float environment. diff --git a/obsolete/macros/latex209/contrib/aasmacros/aasms.doc b/obsolete/macros/latex209/contrib/aasmacros/aasms.doc new file mode 100644 index 0000000000..5a5925a19c --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/aasms.doc @@ -0,0 +1,1152 @@ +% AASMS.STY -- AAS manuscript substyle definition for LaTeX. + +% My convention for identifying configuration information is for styles +% to define the five parameters below. + +\def\revtex@ver{3.0} % Version number of this file. +\def\revtex@date{10 Jan 93} % Revision date. +\def\revtex@org{AAS} % Sponsoring organization. +\def\revtex@jnl{AAS} % Applicable journal, if specific. +\def\revtex@genre{manuscript} % Document "type". + +% Display identifying message on screen and in logfile. + +\typeout{\revtex@org\space \revtex@genre\space substyle, + v\revtex@ver\space <\revtex@date>.} + +% The following mini-colophon identifies the article are having been +% prepared with this macro package. The \revtex@pageid command only +% defines the formatting of this colophon; its existence and placement +% within the printed article is controlled by the use of this command +% in the style file. + +\def\revtex@pageid{\xdef\@thefnmark{\null} + \@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} + +% Issue a warning if manuscripts are formatted with type smaller than 12pt. + +\def\genre@MS{manuscript} +\def\genre@PP{preprint} +\ifx\revtex@genre\genre@MS + \ifnum\@ptsize<2 + \typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Using 12pt documentstyle option.} + \@input{art12.sty} + \fi +\fi + +% **************************************** +% * PAGE LAYOUT * +% **************************************** + +% Create "plaintop" page style that has folios at top of page. + +\def\ps@plaintop{\let\@mkboth\@gobbletwo + \def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} + \def\@evenfoot{}\let\@evenhead\@oddhead} + +\ps@plaintop % Use "plaintop" pagestyle by default. +\pretolerance=10000 % Disable hyphenation + +% The following gives "reasonable" ragged right results. + +\@rightskip=\z@ plus 4em\rightskip\@rightskip + +% Page size, spacing parameters, etc. + +\textwidth=6.5in +\textheight=8.4in +\topmargin=0in +\headheight=.15in +\headsep=.35in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=2em +\parskip=1.5ex + + +%\@input{styopts.sty} + +% **************************************** +% * STYLE OPTIONS * +% **************************************** + +% Make footnotes same size as main text. + +\let\footnotesize=\normalsize + +% Define parameters to adjust the baselineskip. +% These are passed as the scale factor argument to \baselinestretch. + +\def\@tightleading{1.1} +\def\@doubleleading{1.6} + +% Double-space by default. Observe that you double-space in LaTeX by +% resetting \baselinestretch, which is essentially a scale factor for +% \baselineskip (= leading, for you typographophiles). The style uses +% the \@doubleleading factor, defined above. + +\def\baselinestretch{\@doubleleading} + +% The \tighten command merely resets the \baselinestretch to a +% smaller factor, resulting in single-column text that is more closely +% spaced. (This will always work.) Tightening the vertical spacing +% in the text results in output that is more attractive for distribution +% to colleagues who are primarily interested in reading the paper, as +% opposed to copy editing it. Double-spaced output for referees and +% copy editors is, however, the main objective of this style, hence +% double-spacing occurs by default. The same effect as \tighten +% can be achieved by using the "tighten" document style option. +% +% \tighten +% +% \tighten is intended for use in the preamble of the article. + +\def\tighten{\def\baselinestretch{\@tightleading}} +\let\tightenlines=\tighten + +% For authors who feel compelled to change between single and double +% spacing in the manuscript, \singlespace and \doublespace commands +% are provided. (Following recommendations of AAS Publications Board +% Subcommittee on Preprints.) These are no-ops in manuscript style. +% +% \singlespace +% \doublespace + +\let\singlespace=\relax +\let\doublespace=\relax + +% Upper case for sections (optional upper case items). These are created +% so that some headings can be toggled between mixed case and upper case +% readily. Headings that might be changed can be wrapped in the style +% file in \sec@upcase{TEXT} constructs; the expansion of \sec@upcase is +% controlled here. It is `\relax' by default (mixed case heads), and can +% easily be changed to `\uppercase' if desired. If mixed case headings +% are wanted by the editor, authors MUST supply mixed case text, although +% this is what authors should be doing anyway. (Mixed can be converted +% to upper, but the reverse transformation cannot be automated.) + +%\def\sec@upcase#1{\uppercase{#1}} +\def\sec@upcase#1{\relax{#1}} + +% Sometimes people want to number equations by section, rather than +% sequentially through the whole paper. + +\def\eqsecnum{ + \@newctr{equation}[section] + \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} + +%\@input{slug.sty} + +% **************************************** +% * SLUG LINE * +% **************************************** + +% There are some obvious style-dependent parameters and formatting +% instructions in this file. The object has been to keep the author +% commands (the user interface, if you will) society, journal, and +% style-independent, while the style-specific parameters and commands +% are kept below that level. Commands and parameters that are susceptible +% to external interpretation, either by authors or publishers/translators, +% are identified by indented comment lines, with the semantics of command +% arguments described in upper case text. +% +% \@journalname{JOURNAL NAME} +% \cpr@holder{COPYRIGHT HOLDER} + +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} + +% Journal and article identification information is established by the +% editorial staff. The following macros are used by personnel at the +% editorial office to annotate/record slug-line data and should be included +% in the manuscript preamble, i.e., before the LaTeX \begin{document}. All +% they do is globally define other TeX control sequences that are used by +% other macros at a later time. +% +% \received{RECEIPT DATE} +% \revised{REVISION DATE} +% \accepted{ACCEPTANCE DATE} +% \journalid{VOL}{JOURNAL DATE} +% \articleid{START PAGE}{END PAGE} +% \paperid{ID} +% \ccc{CODE} +% +% For preprints and submitted manuscripts in draft/referee format, etc., +% the slug-line information is irrelevant and in those kinds of style, +% the data are never used. In my estimation, it is perfectly acceptable +% to have these commands in the file (for future use), so they are defined +% in the usual way. + +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} + +% Following copyright and running heads \defs are stubs. +%\let\cpright=\@gobbletwo +%\let\righthead=\@gobble +%\let\lefthead=\@gobble + +% Copyright data. Permit the author/editor to supply a copyright +% "type" as well as the year. +% +% \cpright{TYPE}{YEAR} +% +% Copyright types are designated by name and converted to numeric form. +% The mapping of types is defined by the code that sets the @cprtype +% counter. The language of the copyright notices is defined by \@slug. + +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} + \typeout{`#1' copyright \cpr@year.}} + +\newcount\@cprtype \@cprtype=\@ne % Default copyright type. +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@ASP{\@cprtype=5} + +\def\cpr@year{\number\year} % Default copyright year. + +% \@slug determines formatting of slugline information. +% ATTN: Check with AAS/AIP/UCP about exact wording of these. + +\def\@slug{\par\noindent + \ifcase\@cprtype + \relax + \or + Copyright \cpr@year\space by the \cpr@holder. + \or + This article is in the public domain. + \or + Crown copyright \cpr@year\space by the \cpr@holder. + \or + No copyright is claimed for this article. + \or + Copyright \cpr@year\space by the ASP. + \fi + \par\noindent + Manuscript number \@paperid.\par\noindent + \CCC@code +} + +% Authors may be asked to supply running head information. We use the +% language of the publisher here to distinguish between two pieces of +% information: the left head frequently contains an author list (last +% names, possibly truncated as et al.), while the right head frequently +% contains an abbreviated form of the paper title. The \lefthead and +% \righthead commands merely collect the information and buffer the text. +% +% \lefthead{TEXT} +% \righthead{TEXT} +% +% For the ApJ, right heads are the short titles, and the publisher would +% like for the author to specify a 44-character or less abbreviated title +% to use as the running head on right pages. + +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} + +% \@runheads determines formatting of running head information. + +\def\@runheads{\@tempcnta\c@page + \@whilenum \@tempcnta >0\do{ + \vskip 3ex + \hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} + \advance\@tempcnta by\m@ne} +} + +% The \slugcomment command is provided so authors or editors may include +% a remark about the manuscript that may be desired in print for some +% styles. For instance, authors like to include information about the +% journal and publication date of accepted papers ("To appear in AJ, +% November 1992"). +% +% \slugcomment{TEXT} +% +% The formatting of the \slugcomment information is controlled by the +% \@makeslugcmmnt command and its placement on the page is dictated +% by the presence of \@makeslugcmmnt in \sluginfo (or whatever). + +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{} + +% For MS style, slug comments are set in a parbox after the dates. +% Short comments are centered. + +\newdimen\@slugcmmntwidth \@slugcmmntwidth \textwidth +\long\def\@makeslugcmmnt{\ifx\slug@comment\@empty\relax\else + \vskip 5ex + \setbox\@tempboxa\hbox{\slug@comment} + \ifdim \wd\@tempboxa >\@slugcmmntwidth + \hbox to\textwidth{\hss + \parbox\@slugcmmntwidth\slug@comment} + \else + \hbox to\textwidth{\hfil\box\@tempboxa\hfil} + \fi +\fi} + +% Editorial offices like to have receipt and acceptance dates on the front +% page for tracking purposes. The current practice is to require the author +% to type Received __________________ and Accepted ________________ lines +% for the staff to type on. The \@dates command will typeset either rules +% or the dates specified in \received and/or \accepted commands. Note that +% authors should not include \received and \accepted. + +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} + +% \@dates determines formatting of MS date information. + +\def\@dates{{Received}\space% + \if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% + \hspace{1.5em}{accepted}\space% + \if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% +} + +% The \sluginfo command is executed automatically when a \begin{abstract} is +% encountered, so it is not necessary (or appropriate) for the author to +% include this line explicitly. The received/accepted business is a +% concern only for the editorial staff, hence we have arranged for the +% author not to have to fuss with it. + +\def\sluginfo{{\center + \@dates + \@makeslugcmmnt + %\@slug + %\@runheads + \endcenter}} + +\let\dates=\sluginfo % Backwards compatibility + +%\@input{text.sty} + +% **************************************** +% * FRONT MATTER * +% **************************************** + +% Make adjustments to LaTeX abstract style: optional upper case heading, +% retain current type size (should be normalsize), ignore twocolumn option +% in this substyle, add \sluginfo, and start abstract on fresh page. + +\def\abstract{\sluginfo\clearpage + \begin{center} + {\bf{ABSTRACT}} + \end{center} + \quotation +} + +% Title and author identification is by way of standard LaTeX commands +% \title and \author, although the macros themselves are rather different. +% The information is typeset by these macros in this style, rather than +% being buffered as per regular LaTeX. The authors' principal affiliation +% is specified with a separate macro \affil. Each \author command should +% be followed by its own \affil (or address). +% +% Authors often have affiliations above and beyond their main employer, +% and these are specified with the \altaffilmark and \altaffiltext commands. +% These commands behave like the \footnotemark and \footnotetext commands +% of LaTeX. \altaffilmark is appended to author's names in the \author +% lists, and generates the superscript identification numbers. +% The text for the individual alternate affiliations is generated by the +% \altaffiltext command. It is up to the author to make sure that the +% \altaffilmark numbers attached to authors' names correspond to the correct +% alternate affiliation. +% +% \title{LUCID TEXT} +% \author{NAME(S)} +% \authoraddr{AUTHOR'S POSTAL ADDRESS} +% \affil{AFFILIATION} +% \altaffilmark{TAG NUMBER(S)} +% \altaffiltext{NUMERICAL TAG}{TEXT} +% +% The typesetting performed by these commands is appropriate for the top of +% the first text page of the manuscript. They could as well be used on a +% title cover page, but vertical placement would have to be controlled by +% the author. This is not to be encouraged, since I want to discourage +% the introduction of any extra horizontal or vertical space. + +\def\title#1{{\def\baselinestretch{\@tightleading} + \center\large\bf{#1}\endcenter} + \thispagestyle{empty}} +\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}} + +% Redefine the LaTeX \and command for this style. + +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} + +% **************************************** +% * KEYWORDS * +% **************************************** + +% Keywords environment. Keywords, subject headings, etc., are accommodated +% only as a piece of text; the \keywords command indents if necessary and +% supplies the proper leading text ("Keywords:", "Subject headings:", etc.) +% but does not apply formatting to the user's keyword text. The author +% must supply the correct punctuation according to the journal style. +% +% Note that the editors of A&A, ApJ, and MNRAS have discussed the issue +% of keywords, and there is disagreement about whether "subject headings" +% or "keywords" should appear after abstracts in astronomical papers. +% It does not really matter what the macro is called, so I will stick +% to \keywords since I don't know what the difference is anyway. + +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} + +\def\keywords#1{\vspace*{-.7ex}%\vspace{\z@} + \if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}} + \else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote} + \fi} + +\let\subjectheadings=\keywords + +% It might be possible to handle keywords and their punctuation more +% automatically at some stage, but at the moment using this looping +% construct is serious overkill. It also causes problems because the +% loop delimiter is a comma, and there are keywords that legitimately +% contain commas. It also seem ponderous to me for keywords in the +% \keyword list to be delimited by `|', so I make the author responsible +% for keyword list punctuation. + +%\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do +% {\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}} + +\def\@kwds#1{#1\relax} + +% **************************************** +% * FOOTNOTES * +% **************************************** + +% The following code redefines a few things so that spacing in footnotes is +% different than LaTeX defaults. The adjustment to \skip\footins increases +% the amount of vspace inserted before the \footnoterule. Redefine +% \@makefntext to get proper indentation. + +\skip\footins 4ex plus 1ex minus .5ex +\footnotesep 3ex + +%\long\def\@makefntext#1{\noindent\hbox to\z@{\hss$^{\@thefnmark}$}#1} +%\long\def\@makefntext#1{\indent\hbox{$^{\@thefnmark}$}#1} + +% **************************************** +% * SECTIONS * +% **************************************** + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- e.g., chapter=1, +% section = 2, etc. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, else +% negative of skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. + +% Adjust section heading typography slightly. The manuscript editors +% seem to like the idea that the heads will be centered, and that there +% will be a "." trailing the section number. This requires hacking below +% the normal LaTeX programming interface (\@startsection), since the +% centering has to be turned on and off again before the section starts. +% +% Also, modify the indentation behavior so that ALL paragraphs, including +% those first after section heads, are indented. This is consonant with +% the styles of many journals, although it's non-standard typographic practice. + +\newif\if@firstsection \@firstsectiontrue + +\def\section{\if@firstsection\clearpage + \@firstsectionfalse\fi + \@startsection {section}{1}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}} + +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} + +% For ApJ, acknowledgments are set off from main body text simply by +% vertical space (no heading or type size change). I do the same for +% the AAS manuscript style. For use in producing more polished output +% for other journals, this macro might generate text saying +% "Acknowledg[e]ments". + +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments % second spelling + +% LaTeX sectioning tools. + +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup \center#6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \sec@upcase{#8}\par}% + \endcenter\endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} + +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M + \sec@upcase{#5}\par}\endcenter\endgroup + \else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi + \@xsect{#3}} + +% **************************************** +% * EQUATION NUMBERING * +% **************************************** + +% Redefine \appendix so that equation numbers are prepended with +% \theappendix number. Reset equation counter so that equation +% numbers in the appendix begin again with 1. Note that the +% \appendix command is NOT a sectioning command; it is merely +% a delimiting markup between the main body of the paper and the +% appendix. Sections in the appendix are still started with +% \section commands. +% +% \appendix + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \setcounter{equation}{0} + \def\thesection{\Alph{section}.} + \def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} + +% Define mathletters environment. This is a wrapper that goes +% *around* (outside of) equation or eqnarray environments. +% +% \begin{mathletters} +% \end{mathletters} + +\newcounter{cureqno} + +\newenvironment{mathletters}{\refstepcounter{equation}% + \setcounter{cureqno}{\value{equation}}% + \let\@curtheeqn\theequation% + \edef\cur@eqn{\csname theequation\endcsname}% + \def\theequation{\cur@eqn\alph{equation}}% + \setcounter{equation}{0}}% + {\let\theequation\@curtheeqn% + \setcounter{equation}{\value{cureqno}}} + +% The \eqnum command allows the author to override all automatic +% equation marking schemes. +% +% \eqnum{TEXT} + +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation + \addtocounter{equation}{\m@ne}} + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** + +% Bibliography/references environment. For the time being, I don't think +% it would be a good idea to force an implementation based on BibTeX, +% although I'll prepare for that eventuality by using the constructs and +% general ideas of the LaTeX thebibliography environment. Adjustments +% have been made so that the \cite-\bibitem mechanism can be used to cite +% references symbolically while maintaining proper citation syntax within +% the paper; the author must create the citation label for each reference +% in proper journal format in the \bibitem command. +% +% \begin{thebibliography} +% \bibitem[LABEL]{TEXTTAG} \reference +% \end{thebibliography} +% +% where LABEL must adhere to the journal's standards, e.g. "Abt 1986". +% +% It is not necessary to use the thebibliography environment. This style +% defines a references environment that simply sets off the list of references +% and adjusts spacing parameters. It is not possible to use \bibitems +% within the references environment. (The \reference command cannot be +% shortened to \ref; \ref is used in vanilla LaTeX for cross-referencing.) +% +% \begin{references} +% \reference +% \end{references} +% +% \markcite{TEXT} +% +% Observe that the bibliographic data supplied by the author must also +% conform to the standards of the journal. I have elected not to burden +% authors with tedious LaTeX commands which would require many curly braces +% to delimit the bibliographic fields because many of the journals I have +% targeted in this project have agreed to reduce typographic overhead (bolding, +% italicizing, etc.) in reference lists. (See Abt's editorial in ApJ 357.) +% It is the responsibility of the author to get these fields in the proper +% order with the correct punctuation; the information will be typeset as is, +% i.e., in roman with no size or style changes. +% +% Macros are provided for many of the oft-referenced journals so that authors +% may use the LaTeX names rather than having to look up a particular journal's +% specific abbreviation. In principle, all the journals should be using the +% same abbreviations, too, but I anticipate some changes in the specific +% abbreviations before a set is finally settled on. As long as these macros +% are kept up to date, authors need not be concerned about such editorial +% changes. +% +% Corresponding with the non-BibTeX references environment and \reference +% command for the reference list is the \markcite command. This can be +% used to identify in-text citations; in this case, the author provides +% the actual citation text as opposed to the symbolic tag. The use of +% this is encouraged, even for journals where no special formatting of +% citation call-outs is required; it is crucial for the future use of +% on-line browsers. + +\def\references{\clearpage\subsection*{REFERENCES} + \bgroup\parindent=\z@\parskip=\itemsep + \def\refpar{\par\hangindent=3em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} + +\def\thebibliography{\clearpage\subsection*{REFERENCES} + \list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em + \usecounter{enumi}} + \def\refpar{\relax} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} + +\def\@biblabel#1{\relax} +%\def\@cite#1#2{({#1\if@tempswa , #2\fi})} +\def\@cite#1#2{#1\if@tempswa , #2\fi} + +\def\reference{\relax\refpar} % Generic: might be better... +\def\markcite#1{#1\relax} + +% Modify \@citex so that individual citation texts are NOT hboxed. +% This allows TeX to break lines at spaces between words in citations. +% Remove the obnoxious {\bf ?} that was inserted in the text when +% undefined citations are encountered; here, the warning message is +% printed only on the terminal. + +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined + {b@\@citeb}{\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} + +%\@input{mstblfig.sty} + +% **************************************** +% * TABLES AND FIGURES * +% **************************************** + +% Additions and adjustments for tables and figures. + +% Footnotes for tables are to be identified with lower case alphabetics, +% rather than numeric. \tablenotemark and \tablenotetext commands are +% provided analogous to \footnotemark and \footnotetext, but with the +% identifier *required*, like \altaffilmark and \altaffiltext. The +% \tablenotetext must be specified before the \end{table}, since +% \end{table} displays it. +% +% \tablenotemark{TAG LETTER(S)} +% \tablenotetext{ALPHA TAG}{TEXT} +% +% Note that TAG LETTER == ALPHA TAG for corresponding text. It is the +% responsibility of the author to get the correspondence correct. +% +% The table footnotes are coupled to the table in which they occur, rather +% than being associated with a particular page, and they are printed with +% the table (relatively close to the caption) instead of appearing at the +% extreme bottom of the page. This is done to ensure that the notes wind +% up on the same page as the table, since tables are floats and can migrate +% from one page to another. There is the additional benefit that the notes +% are unambiguously attached to the proper table, which is what is required +% in the event that the editorial requirement of one table only per page +% is ever changed to permit several tables per page. +% +% Footnotes are NOT supported for figures. + +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} + +% The \tablenotetext command buffers the table note text and the "proper" +% tablenote formatting information in a token buffer. The tablenotes are +% dispensed into the vertical page list by \spew@tblnotes, which is +% executed by \end{table}. Note that certain "global" tablenote formatting +% details are handled by \spew@tblnotes, which also clears the tblnote list. +% Praise and honor are due to Kresten Krab Thorup (krab@iesd.auc.dk) for +% posting ftn.sty to the Usenet, from which I drew the technique. + +\newtoks\@temptokenb +\def\tblnote@list{} + +\def\tablenotetext#1#2{ + \@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\spew@tblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \vspace{4.5ex} + \footnoterule + \vspace{.5ex} + {\footnotesize\tblnote@list} + \gdef\tblnote@list{} + \fi} + +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} + +% Add a \tableline command for use in tabular environments. This command +% produces the horizontal rule(s) between the column headings and the body +% of the table. Authors are discouraged from using any \hlines themselves, +% and are typically forbidden from using vertical rules by editors. + +\let\tableline=\hline + +% \@makecaption determines formatting for figure and table captions. +% For manuscripts, all captions should be set as flushleft paragraphs. + +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} + +% The \tablenum command allows the author to override all automatic +% table marking schemes. +% +% \tablenum{TEXT} + +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable + \addtocounter{table}{\m@ne}} + +% The \figurenum command allows the author to override all automatic +% figure marking schemes. +% +% \figurenum{TEXT} + +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure + \addtocounter{figure}{\m@ne}} + +% **************************************** +% * PLANO TABLES * +% **************************************** + +% Plano tables are camera-ready pages that are included in a typeset +% article the same way as line drawings, graphs, and other camera-ready +% art, i.e., as "planographic" figures. There are desirable properties +% for a formatter to have that are somewhat above and beyond LaTeX'x +% tabular environment that would facilitate the creation of such tables. +% Among these are breaking long tables across pages, using footnotes +% in a table, specifying comments and references for tables, etc. +% +% What follows was inspired by supertab.sty by Theo Jurriens, 1988. + +% Commands for identifying table elements in a consistent way. Observe +% that the formatting is embedded in the macro definitions so that the +% author doesn't need to be concerned about stylistic nuances. +% +% \tablecaption{TEXT} +% \tablehead{TEXT} +% \colhead{HEADING} +% \tabletail{TEXT} +% \tablewidth{DIMEN} +% \tableheadfrac{NUM} + +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol + +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex] + #1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} + +% Calculate the number of tabular rows that will fit in the body of the +% table. The height of the table body and the number of lines are +% calculated thus: +% +% bodyheight = \textheight * (1 - \pt@headfrac) +% \pt@nlines = bodyheight / (\arraystretch * \baselineskip) +% +% The row height can be seen to be valid algebraically if one examines the +% definitions for \strutbox, \@setstrut, and \@array. I could eliminate +% this calculation, as well as its attendant parameters, if it were possible +% to determine the accumulated height of the \halign box as TeX goes along. + +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight + \@tempdimb\textheight\advance\@tempdimb by-\@tempdima + \@tempdima\arraystretch\baselineskip + \divide\@tempdimb by\@tempdima + \global\pt@nlines\@tempdimb} + +% Define \pt@tabular, a ripoff of \@tabular but with \leavevmode removed +% so tabular box can be set with \setbox. I do this so that table notes +% can be set to natural width of table, if desired. Also, set \@acol +% to \@ptabacol, which is called when building the preamble for the +% \halign (assuming the first column format specification is "l", which +% it should be for ApJ tables) so that \tabskip within the table is set +% to \fill. This permits us to toggle between natural and fixed-width +% tables without requiring the user to change markup. Note that by +% forcing \tabskip always to be \fill, I pretty well nullify any +% @{\hspace} commands the user puts in the template, but this environment +% is for people who don't want to think about that sort of stuff anyway. + +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} + +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} + +% Permit different identifying strings, one for the first page of the +% table and one for continuation pages. LaTeX's \fnum@table is set to +% one or the other automatically in the environment. Note that caption +% handling is not so graceful: you have to edit inside the big macros to +% adjust this. Someday, I will be ambitious enough to fix this. + +\def\fnum@ptable{Table \thetable} +\def\fnum@ptablecont{Table \thetable---{\rm Continued}} + +\def\set@mkcaption{\long\def\@makecaption##1##2{ + \center\rm##1.\quad##2\endcenter\vskip 2.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ + \center\rm##1\endcenter\vskip 2.5ex}} + +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% + \set@tblnotetext\pt@ncol=0}% + {\crcr\noalign{\vskip .7ex}\hline\endtabular% + \pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% + \typeout{Table \thetable\space has been set to width \the\pt@width}% + \endcenter\end@float} + +\def\startdata{\pt@line=0\pt@calcnlines% + \ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% + \let\fnum@table=\fnum@ptable\set@mkcaption% + \@float{table}\center\caption{\pt@caption}\leavevmode% + \setbox\pt@box=\pt@tabular{\pt@format}\pt@head} + +% A kludgey kind of line delimiter is needed so that the line counter +% can be checked prior to adding the line to the alignment box. This +% is bad because this form does not permit the addition of vertical +% space using the [.5ex] construct; this has to be done with an explicit +% \vskip. And a disgusting \noalign is required, so I have to create +% another silly piece of markup to accomplish this conveniently. +% +% What is desired, of course, is for this line count checking to take +% place within the syntax of the regular LaTeX \\ command. I have been +% giving myself apoplexy trying to figure this out for the last 36 hours, +% and I have decided I will have to wait for the onset of my "lucid +% period" for a solution. In the meantime... + +\def\pt@nl{\global\advance\pt@line by\@ne% + \ifnum\pt@line=\pt@nlines% + \endtabular\box\pt@box + \endcenter\end@float\clearpage% + \addtocounter{table}{\m@ne}% + \let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% + \@float{table}\center\caption{\pt@caption}\leavevmode% + \global\pt@ncol=0% + \setbox\pt@box=\pt@tabular{\pt@format}\pt@head% + \global\pt@line=0% + \else\\ + \fi} + +% Author markup commands for planotable environment line breaks. +% +% \nl == \nextline +% \tablevspace{DIMEN} +% \tablebreak + +\let\nl=\pt@nl +\let\nextline=\pt@nl + +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} + +% We have some specialty heads that are sometimes wanted in tables. +% +% \cutinhead{TEXT} +% \sidehead{TEXT} + +\def\cutinhead#1{\noalign{\vskip 1.5ex} + \hline\pt@nl\noalign{\vskip -4ex} + \multicolumn{\pt@ncol}{c}{#1}\pt@nl + \noalign{\vskip .8ex} + \hline\pt@nl\noalign{\vskip -2ex}} + +\def\sidehead#1{\noalign{\vskip 1.5ex} + \multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl + \noalign{\vskip .5ex}} + +\def\set@tblnotetext{\def\tablenotetext##1##2{{% + \@temptokena={\vspace{0ex}{% + \parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} + +\def\spew@ptblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \par + \vspace{2ex} + {\tblnote@list} + \gdef\tblnote@list{} + \fi} + +% Special kinds of table footnotes. Sometimes authors tabulate things +% which have corresponding references, and it may be desirable to associate +% these references with the table rather than (or in addition to) the +% formal reference list. Occasionally, authors wish to append a short +% paragraph of explanatory notes that pertain to the entire table, but +% which are different than the caption. +% +% \tablerefs{REFERENCE LIST} +% \tablecomments{TEXT} + +\def\tablerefs#1{\@temptokena={\vspace*{3ex}{% + \parbox{\pt@width}{\hskip1em\rm References. --- #1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\tablecomments#1{\@temptokena={\vspace*{3ex}{% + \parbox{\pt@width}{\hskip1em\rm Note. --- #1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +% Figure and table style parameters. + +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} + +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} + +% Figure and table float positions. + +\def\fps@figure{bp} +\def\fps@table{bp} + +% **************************************** +% * EPS INCLUSIONS * +% **************************************** + +% Include Rokicki's epsf.sty file explicitly. + +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} + +% Simplified EPS inclusion macros so we can see how this goes... +% These are layered on Rokicki's dvips material, and are dependent +% on the author's use of that DVI driver. +% +% \plotone{EPSFILE} +% \plottwo{EPSFILE}{EPSFILE} +% \plotfiddle{EPSFILE}{VSIZE}{ROT}{HSF}{VSF}{HTRANS}{VTRANS} +% +% \plotone inserts the plot in a space that is \columnwidth wide; the +% plot is scaled so the horizontal dimension fits in the text width, +% and the vertical dimension is scaled to maintain the aspect ratio. +% \plottwo inserts two plots next to each other in one \columnwidth, +% sort of like "two-up" mode. +% +% EPSFILE name of file with EPS +% +% The following arguments are for the \plotfiddle macro which formats +% the \special itself, prepares vspace, etc. This completely bypasses +% Rokicki's macros that attempt to rationalize the EPS BoundingBox with +% the LaTeX page dimensions. +% +% VSIZE vertical white space to allow for plot +% ROT rotation angle +% HSF horiz scale factor +% VSF vert scale factor +% HTRANS horiz translation +% VTRANS vert translation + +%\epsfverbosetrue + +\def\plotone#1{\centering \leavevmode + \epsfxsize=\columnwidth \epsfbox{#1}} + +\def\plottwo#1#2{\centering \leavevmode + \epsfxsize=.45\columnwidth \epsfbox{#1} \hfil + \epsfxsize=.45\columnwidth \epsfbox{#2}} + +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode + \vbox to#2{\rule{0pt}{#2}} + \special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} + +%\@input{abbrevs.sty} + +% **************************************** +% * ABBREVIATIONS * +% **************************************** + +% Abbreviations for journals. The object here is to provide authors +% with convenient shorthands for the most "popular" (often-cited) +% journals; the author can use these markup tags without being concerned +% about the exact form of the journal abbreviation, or its formatting. +% It is up to the keeper of the macros to make sure the macros expand +% to the proper text. If macro package writers agree to all use the +% same TeX command name, authors only have to remember one thing, and +% the style file will take care of editorial preferences. This also +% applies when a single journal decides to revamp its abbreviating +% scheme, as happened with the ApJ (Abt 1991). + +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} + +\def\aj{\ref@jnl{AJ}} % Astronomical Journal +\def\araa{\ref@jnl{ARA\&A}} % Annual Review of Astron and Astrophys +\def\apj{\ref@jnl{ApJ}} % Astrophysical Journal +\def\apjl{\ref@jnl{ApJ}} % Astrophysical Journal, Letters +\def\apjs{\ref@jnl{ApJS}} % Astrophysical Journal, Supplement +\def\ao{\ref@jnl{Appl.Optics}} % Applied Optics +\def\apss{\ref@jnl{Ap\&SS}} % Astrophysics and Space Science +\def\aap{\ref@jnl{A\&A}} % Astronomy and Astrophysics +\def\aapr{\ref@jnl{A\&A~Rev.}} % Astronomy and Astrophysics Reviews +\def\aaps{\ref@jnl{A\&AS}} % Astronomy and Astrophysics, Supplement +\def\azh{\ref@jnl{AZh}} % Astronomicheskii Zhurnal +\def\baas{\ref@jnl{BAAS}} % Bulletin of the AAS +\def\jrasc{\ref@jnl{JRASC}} % Journal of the RAS of Canada +\def\memras{\ref@jnl{MmRAS}} % Memoirs of the RAS +\def\mnras{\ref@jnl{MNRAS}} % Monthly Notices of the RAS +\def\pra{\ref@jnl{Phys.Rev.A}} % Physical Review A: General Physics +\def\prb{\ref@jnl{Phys.Rev.B}} % Physical Review B: Solid State +\def\prc{\ref@jnl{Phys.Rev.C}} % Physical Review C +\def\prd{\ref@jnl{Phys.Rev.D}} % Physical Review D +\def\prl{\ref@jnl{Phys.Rev.Lett}} % Physical Review Letters +\def\pasp{\ref@jnl{PASP}} % Publications of the ASP +\def\pasj{\ref@jnl{PASJ}} % Publications of the ASJ +\def\qjras{\ref@jnl{QJRAS}} % Quarterly Journal of the RAS +\def\skytel{\ref@jnl{S\&T}} % Sky and Telescope +\def\solphys{\ref@jnl{Solar~Phys.}} % Solar Physics +\def\sovast{\ref@jnl{Soviet~Ast.}} % Soviet Astronomy +\def\ssr{\ref@jnl{Space~Sci.Rev.}} % Space Science Reviews +\def\zap{\ref@jnl{ZAp}} % Zeitschrift fuer Astrophysik + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs + +%\@input{misc.sty} + +% **************************************** +% * MISCELLANEOUS * +% **************************************** + +% Handy little things everybody works out for themselves anyway. Many +% of these come from Springer's A&A package, and some were contributed +% by Francois Schweizer at DTM. You can go berserk making these up, +% especially when you start getting into the composite ones. We have +% tried to select a tractable number that were useful, and somewhat +% difficult to get right because fussy kerning or some such is required. +% Most can be used in or out of math mode with impunity; \alt and \agt +% are relations and can only be used in math mode. + +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} + +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim + +% Permit author to typeset "case" fractions. This is sometimes +% wanted in displayed equations, during which LaTeX will set fractions +% specified as \frac{x}{y} as "built-up" fractions (numerator and +% denominator at body text size). + +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} + +% Permit author to typeset fractions set with solidus where the size +% is reduced and the numerals are oriented diagonally. Note that this +% is different from a "shilled" fraction, which the author can produce +% without any special formatting markup. Define markup shorthands for +% several common fractions using solidus. + +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} + +\def\ubvr{\hbox{$U\!BV\!R$}} % UBVR system +\def\ub{\hbox{$U\!-\!B$}} % U-B +\def\bv{\hbox{$B\!-\!V$}} % B-V +\def\vr{\hbox{$V\!-\!R$}} % V-R +\def\ur{\hbox{$U\!-\!R$}} % U-R + +% Notation for atomic species (ionization levels). The ionization state +% is specified as the second argument, and should be given as a numeral. +% The macro has to expand the numeric state into the proper notation for +% the publication (roman, numeric, plus signs, etc.) +% +% \ion{ELEMENT}{IONIZATION STATE} + +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} + +% Centered ellipsis for use in tables (for unknown values). \nodata +% is generalized markup for this notion: format of null-valued entries +% in tables is style-specific. + +%\def\cellipsis{\hfill$\cdots$\hfill} +\def\nodata{\multicolumn{1}{c}{$\cdots$}} + +% This is a generalization of the \LaTeX definition that comes in LaTeX. +% The change here ensures that LaTeX will be typeset in the current style, +% rather than always in roman. + +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex + \hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} + +% **************************************** +% * DEBUGGING * +% **************************************** + +\def\sizrpt{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font + \typeout{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/aasms.sty b/obsolete/macros/latex209/contrib/aasmacros/aasms.sty new file mode 100644 index 0000000000..5466af1fbb --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/aasms.sty @@ -0,0 +1,416 @@ +\def\revtex@ver{3.0} +\def\revtex@date{10 Jan 93} +\def\revtex@org{AAS} +\def\revtex@jnl{AAS} +\def\revtex@genre{manuscript} +\typeout{\revtex@org\space \revtex@genre\space substyle, +v\revtex@ver\space <\revtex@date>.} +\def\revtex@pageid{\xdef\@thefnmark{\null} +\@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} +\def\genre@MS{manuscript} +\def\genre@PP{preprint} +\ifx\revtex@genre\genre@MS +\ifnum\@ptsize<2 +\typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Using 12pt documentstyle option.} +\@input{art12.sty} +\fi +\fi +\def\ps@plaintop{\let\@mkboth\@gobbletwo +\def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} +\def\@evenfoot{}\let\@evenhead\@oddhead} +\ps@plaintop +\pretolerance=10000 +\@rightskip=\z@ plus 4em\rightskip\@rightskip +\textwidth=6.5in +\textheight=8.4in +\topmargin=0in +\headheight=.15in +\headsep=.35in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=2em +\parskip=1.5ex +\let\footnotesize=\normalsize +\def\@tightleading{1.1} +\def\@doubleleading{1.6} +\def\baselinestretch{\@doubleleading} +\def\tighten{\def\baselinestretch{\@tightleading}} +\let\tightenlines=\tighten +\let\singlespace=\relax +\let\doublespace=\relax +\def\sec@upcase#1{\relax{#1}} +\def\eqsecnum{ +\@newctr{equation}[section] +\def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} +\typeout{`#1' copyright \cpr@year.}} +\newcount\@cprtype \@cprtype=\@ne +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@ASP{\@cprtype=5} +\def\cpr@year{\number\year} +\def\@slug{\par\noindent +\ifcase\@cprtype + \relax +\or + Copyright \cpr@year\space by the \cpr@holder. +\or + This article is in the public domain. +\or + Crown copyright \cpr@year\space by the \cpr@holder. +\or + No copyright is claimed for this article. +\or + Copyright \cpr@year\space by the ASP. +\fi +\par\noindent +Manuscript number \@paperid.\par\noindent +\CCC@code +} +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} +\def\@runheads{\@tempcnta\c@page +\@whilenum \@tempcnta >0\do{ +\vskip 3ex +\hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} +\advance\@tempcnta by\m@ne} +} +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{} +\newdimen\@slugcmmntwidth \@slugcmmntwidth \textwidth +\long\def\@makeslugcmmnt{\ifx\slug@comment\@empty\relax\else +\vskip 5ex +\setbox\@tempboxa\hbox{\slug@comment} +\ifdim \wd\@tempboxa >\@slugcmmntwidth +\hbox to\textwidth{\hss + \parbox\@slugcmmntwidth\slug@comment} +\else +\hbox to\textwidth{\hfil\box\@tempboxa\hfil} +\fi +\fi} +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} +\def\@dates{{Received}\space% +\if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% +\hspace{1.5em}{accepted}\space% +\if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% +} +\def\sluginfo{{\center +\@dates +\@makeslugcmmnt + + +\endcenter}} +\let\dates=\sluginfo +\def\abstract{\sluginfo\clearpage +\begin{center} +{\bf{ABSTRACT}} +\end{center} +\quotation +} +\def\title#1{{\def\baselinestretch{\@tightleading} +\center\large\bf{#1}\endcenter} +\thispagestyle{empty}} +\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}} +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} +\def\keywords#1{\vspace*{-.7ex} +\if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}} +\else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote} +\fi} +\let\subjectheadings=\keywords +\def\@kwds#1{#1\relax} +\skip\footins 4ex plus 1ex minus .5ex +\footnotesep 3ex +\newif\if@firstsection \@firstsectiontrue +\def\section{\if@firstsection\clearpage +\@firstsectionfalse\fi +\@startsection {section}{1}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}} +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth +\def\@svsec{}\else +\refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi +\@tempskipa #5\relax +\ifdim \@tempskipa>\z@ +\begingroup \center#6\relax +\@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \sec@upcase{#8}\par}% +\endcenter\endgroup +\csname #1mark\endcsname{#7}\addcontentsline +{toc}{#1}{\ifnum #2>\c@secnumdepth \else +\protect\numberline{\csname the#1\endcsname}\fi +#7}\else +\def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname +{#7}\addcontentsline +{toc}{#1}{\ifnum #2>\c@secnumdepth \else +\protect\numberline{\csname the#1\endcsname}\fi +#7}}\fi +\@xsect{#5}} +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax +\ifdim \@tempskipa>\z@ +\begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M +\sec@upcase{#5}\par}\endcenter\endgroup +\else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi +\@xsect{#3}} +\def\appendix{\par +\setcounter{section}{0} +\setcounter{subsection}{0} +\setcounter{equation}{0} +\def\thesection{\Alph{section}.} +\def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} +\newcounter{cureqno} +\newenvironment{mathletters}{\refstepcounter{equation}% +\setcounter{cureqno}{\value{equation}}% +\let\@curtheeqn\theequation% +\edef\cur@eqn{\csname theequation\endcsname}% +\def\theequation{\cur@eqn\alph{equation}}% +\setcounter{equation}{0}}% +{\let\theequation\@curtheeqn% +\setcounter{equation}{\value{cureqno}}} +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation +\addtocounter{equation}{\m@ne}} +\def\references{\clearpage\subsection*{REFERENCES} +\bgroup\parindent=\z@\parskip=\itemsep +\def\refpar{\par\hangindent=3em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} +\def\thebibliography{\clearpage\subsection*{REFERENCES} +\list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em +\usecounter{enumi}} +\def\refpar{\relax} +\def\newblock{\hskip .11em plus .33em minus .07em} +\sloppy\clubpenalty4000\widowpenalty4000 +\sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} +\def\@biblabel#1{\relax} +\def\@cite#1#2{#1\if@tempswa , #2\fi} +\def\reference{\relax\refpar} +\def\markcite#1{#1\relax} +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi +\def\@citea{}\@cite{\@for\@citeb:=#2\do +{\@citea\def\@citea{,\penalty\@m\ }\@ifundefined +{b@\@citeb}{\@warning +{Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} +\newtoks\@temptokenb +\def\tblnote@list{} +\def\tablenotetext#1#2{ +\@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\spew@tblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\vspace{4.5ex} +\footnoterule +\vspace{.5ex} +{\footnotesize\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} +\let\tableline=\hline +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable +\addtocounter{table}{\m@ne}} +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure +\addtocounter{figure}{\m@ne}} +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex] +#1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight +\@tempdimb\textheight\advance\@tempdimb by-\@tempdima +\@tempdima\arraystretch\baselineskip +\divide\@tempdimb by\@tempdima +\global\pt@nlines\@tempdimb} +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol +\let\@classz\@tabclassz +\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} +\def\fnum@ptable{Table \thetable} +\def\fnum@ptablecont{Table \thetable---{\rm Continued}} +\def\set@mkcaption{\long\def\@makecaption##1##2{ +\center\rm##1.\quad##2\endcenter\vskip 2.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ +\center\rm##1\endcenter\vskip 2.5ex}} +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% +\set@tblnotetext\pt@ncol=0}% +{\crcr\noalign{\vskip .7ex}\hline\endtabular% +\pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% +\typeout{Table \thetable\space has been set to width \the\pt@width}% +\endcenter\end@float} +\def\startdata{\pt@line=0\pt@calcnlines% +\ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% +\let\fnum@table=\fnum@ptable\set@mkcaption% +\@float{table}\center\caption{\pt@caption}\leavevmode% +\setbox\pt@box=\pt@tabular{\pt@format}\pt@head} +\def\pt@nl{\global\advance\pt@line by\@ne% +\ifnum\pt@line=\pt@nlines% +\endtabular\box\pt@box +\endcenter\end@float\clearpage% +\addtocounter{table}{\m@ne}% +\let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% +\@float{table}\center\caption{\pt@caption}\leavevmode% +\global\pt@ncol=0% +\setbox\pt@box=\pt@tabular{\pt@format}\pt@head% +\global\pt@line=0% +\else\\ +\fi} +\let\nl=\pt@nl +\let\nextline=\pt@nl +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} +\def\cutinhead#1{\noalign{\vskip 1.5ex} +\hline\pt@nl\noalign{\vskip -4ex} +\multicolumn{\pt@ncol}{c}{#1}\pt@nl +\noalign{\vskip .8ex} +\hline\pt@nl\noalign{\vskip -2ex}} +\def\sidehead#1{\noalign{\vskip 1.5ex} +\multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl +\noalign{\vskip .5ex}} +\def\set@tblnotetext{\def\tablenotetext##1##2{{% +\@temptokena={\vspace{0ex}{% +\parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} +\def\spew@ptblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\par +\vspace{2ex} +{\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\tablerefs#1{\@temptokena={\vspace*{3ex}{% +\parbox{\pt@width}{\hskip1em\rm References. --- #1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\tablecomments#1{\@temptokena={\vspace*{3ex}{% +\parbox{\pt@width}{\hskip1em\rm Note. --- #1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} +\def\fps@figure{bp} +\def\fps@table{bp} +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} +\def\plotone#1{\centering \leavevmode +\epsfxsize=\columnwidth \epsfbox{#1}} +\def\plottwo#1#2{\centering \leavevmode +\epsfxsize=.45\columnwidth \epsfbox{#1} \hfil +\epsfxsize=.45\columnwidth \epsfbox{#2}} +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode +\vbox to#2{\rule{0pt}{#2}} +\special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} +\def\aj{\ref@jnl{AJ}} +\def\araa{\ref@jnl{ARA\&A}} +\def\apj{\ref@jnl{ApJ}} +\def\apjl{\ref@jnl{ApJ}} +\def\apjs{\ref@jnl{ApJS}} +\def\ao{\ref@jnl{Appl.Optics}} +\def\apss{\ref@jnl{Ap\&SS}} +\def\aap{\ref@jnl{A\&A}} +\def\aapr{\ref@jnl{A\&A~Rev.}} +\def\aaps{\ref@jnl{A\&AS}} +\def\azh{\ref@jnl{AZh}} +\def\baas{\ref@jnl{BAAS}} +\def\jrasc{\ref@jnl{JRASC}} +\def\memras{\ref@jnl{MmRAS}} +\def\mnras{\ref@jnl{MNRAS}} +\def\pra{\ref@jnl{Phys.Rev.A}} +\def\prb{\ref@jnl{Phys.Rev.B}} +\def\prc{\ref@jnl{Phys.Rev.C}} +\def\prd{\ref@jnl{Phys.Rev.D}} +\def\prl{\ref@jnl{Phys.Rev.Lett}} +\def\pasp{\ref@jnl{PASP}} +\def\pasj{\ref@jnl{PASJ}} +\def\qjras{\ref@jnl{QJRAS}} +\def\skytel{\ref@jnl{S\&T}} +\def\solphys{\ref@jnl{Solar~Phys.}} +\def\sovast{\ref@jnl{Soviet~Ast.}} +\def\ssr{\ref@jnl{Space~Sci.Rev.}} +\def\zap{\ref@jnl{ZAp}} +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} +\let\la=\lesssim +\let\ga=\gtrsim +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} +\def\ubvr{\hbox{$U\!BV\!R$}} +\def\ub{\hbox{$U\!-\!B$}} +\def\bv{\hbox{$B\!-\!V$}} +\def\vr{\hbox{$V\!-\!R$}} +\def\ur{\hbox{$U\!-\!R$}} +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} +\def\nodata{\multicolumn{1}{c}{$\cdots$}} +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex +\hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} +\def\sizrpt{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +\typeout{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/aaspp.doc b/obsolete/macros/latex209/contrib/aasmacros/aaspp.doc new file mode 100644 index 0000000000..37135123ce --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/aaspp.doc @@ -0,0 +1,1153 @@ +% AASPP.STY -- AAS preprint substyle definition for LaTeX. + +% My convention for identifying configuration information is for styles +% to define the five parameters below. + +\def\revtex@ver{3.0} % Version number of this file. +\def\revtex@date{10 Jan 93} % Revision date. +\def\revtex@org{AAS} % Sponsoring organization. +\def\revtex@jnl{AAS} % Applicable journal, if specific. +\def\revtex@genre{preprint} % Document "type". + +% Display identifying message on screen and in logfile. + +\typeout{\revtex@org\space \revtex@genre\space substyle, + v\revtex@ver\space <\revtex@date>.} + +% The following mini-colophon identifies the article are having been +% prepared with this macro package. The \revtex@pageid command only +% defines the formatting of this colophon; its existence and placement +% within the printed article is controlled by the use of this command +% in the style file. + +\def\revtex@pageid{\xdef\@thefnmark{\null} + \@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} + +% Issue a warning if manuscripts are formatted with type smaller than 12pt. + +\def\genre@MS{manuscript} +\def\genre@PP{preprint} +\ifx\revtex@genre\genre@PP + \ifnum\@ptsize<1 + \typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Use 11pt or 12pt documentstyle option.} + \fi +\fi + +% **************************************** +% * PAGE LAYOUT * +% **************************************** + +% Create "plaintop" page style that has folios at top of page. + +\def\ps@plaintop{\let\@mkboth\@gobbletwo + \def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} + \def\@evenfoot{}\let\@evenhead\@oddhead} + +\ps@plaintop % Use "plaintop" pagestyle by default. +\pretolerance=10000 % Disable hyphenation + +% The following gives "reasonable" ragged right results. + +\@rightskip=\z@ plus 4em\rightskip\@rightskip + +% Page size, spacing parameters, etc. + +\textwidth=6.5in +\textheight=8.4in +\topmargin=0in +\headheight=.15in +\headsep=.35in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=2em +\parskip=1.5ex + + +%\@input{styopts.sty} + +% **************************************** +% * STYLE OPTIONS * +% **************************************** + +% Make footnotes same size as main text. + +%\let\footnotesize=\normalsize + +% Define parameters to adjust the baselineskip. +% These are passed as the scale factor argument to \baselinestretch. + +\def\@tightleading{1.1} +\def\@doubleleading{1.6} + +% Double-space by default. Observe that you double-space in LaTeX by +% resetting \baselinestretch, which is essentially a scale factor for +% \baselineskip (= leading, for you typographophiles). The style uses +% the \@doubleleading factor, defined above. + +\def\baselinestretch{\@doubleleading} + +% The \tighten command merely resets the \baselinestretch to a +% smaller factor, resulting in single-column text that is more closely +% spaced. (This will always work.) Tightening the vertical spacing +% in the text results in output that is more attractive for distribution +% to colleagues who are primarily interested in reading the paper, as +% opposed to copy editing it. Double-spaced output for referees and +% copy editors is, however, the main objective of this style, hence +% double-spacing occurs by default. The same effect as \tighten +% can be achieved by using the "tighten" document style option. +% +% \tighten +% +% \tighten is intended for use in the preamble of the article. + +\def\tighten{\def\baselinestretch{\@tightleading}} +\let\tightenlines=\tighten + +% For authors who feel compelled to change between single and double +% spacing in the manuscript, \singlespace and \doublespace commands +% are provided. (Following recommendations of AAS Publications Board +% Subcommittee on Preprints.) +% +% \singlespace +% \doublespace + +\def\singlespace{\def\baselinestretch{\@tightleading}\normalsize} +\def\doublespace{\def\baselinestretch{\@doubleleading}\normalsize} + +% Upper case for sections (optional upper case items). These are created +% so that some headings can be toggled between mixed case and upper case +% readily. Headings that might be changed can be wrapped in the style +% file in \sec@upcase{TEXT} constructs; the expansion of \sec@upcase is +% controlled here. It is `\relax' by default (mixed case heads), and can +% easily be changed to `\uppercase' if desired. If mixed case headings +% are wanted by the editor, authors MUST supply mixed case text, although +% this is what authors should be doing anyway. (Mixed can be converted +% to upper, but the reverse transformation cannot be automated.) + +%\def\sec@upcase#1{\uppercase{#1}} +\def\sec@upcase#1{\relax{#1}} + +% Sometimes people want to number equations by section, rather than +% sequentially through the whole paper. + +\def\eqsecnum{ + \@newctr{equation}[section] + \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} + +%\@input{tighten.sty} + +\tighten + +%\@input{slug.sty} + +% **************************************** +% * SLUG LINE * +% **************************************** + +% There are some obvious style-dependent parameters and formatting +% instructions in this file. The object has been to keep the author +% commands (the user interface, if you will) society, journal, and +% style-independent, while the style-specific parameters and commands +% are kept below that level. Commands and parameters that are susceptible +% to external interpretation, either by authors or publishers/translators, +% are identified by indented comment lines, with the semantics of command +% arguments described in upper case text. +% +% \@journalname{JOURNAL NAME} +% \cpr@holder{COPYRIGHT HOLDER} + +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} + +% Journal and article identification information is established by the +% editorial staff. The following macros are used by personnel at the +% editorial office to annotate/record slug-line data and should be included +% in the manuscript preamble, i.e., before the LaTeX \begin{document}. All +% they do is globally define other TeX control sequences that are used by +% other macros at a later time. +% +% \received{RECEIPT DATE} +% \revised{REVISION DATE} +% \accepted{ACCEPTANCE DATE} +% \journalid{VOL}{JOURNAL DATE} +% \articleid{START PAGE}{END PAGE} +% \paperid{ID} +% \ccc{CODE} +% +% For preprints and submitted manuscripts in draft/referee format, etc., +% the slug-line information is irrelevant and in those kinds of style, +% the data are never used. In my estimation, it is perfectly acceptable +% to have these commands in the file (for future use), so they are defined +% in the usual way. + +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} + +% Following copyright and running heads \defs are stubs. +%\let\cpright=\@gobbletwo +%\let\righthead=\@gobble +%\let\lefthead=\@gobble + +% Copyright data. Permit the author/editor to supply a copyright +% "type" as well as the year. +% +% \cpright{TYPE}{YEAR} +% +% Copyright types are designated by name and converted to numeric form. +% The mapping of types is defined by the code that sets the @cprtype +% counter. The language of the copyright notices is defined by \@slug. + +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} + \typeout{`#1' copyright \cpr@year.}} + +\newcount\@cprtype \@cprtype=\@ne % Default copyright type. +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@ASP{\@cprtype=5} + +\def\cpr@year{\number\year} % Default copyright year. + +% \@slug determines formatting of slugline information. +% ATTN: Check with AAS/AIP/UCP about exact wording of these. + +\def\@slug{\par\noindent + \ifcase\@cprtype + \relax + \or + Copyright \cpr@year\space by the \cpr@holder. + \or + This article is in the public domain. + \or + Crown copyright \cpr@year\space by the \cpr@holder. + \or + No copyright is claimed for this article. + \or + Copyright \cpr@year\space by the ASP. + \fi + \par\noindent + Manuscript number \@paperid.\par\noindent + \CCC@code +} + +% Authors may be asked to supply running head information. We use the +% language of the publisher here to distinguish between two pieces of +% information: the left head frequently contains an author list (last +% names, possibly truncated as et al.), while the right head frequently +% contains an abbreviated form of the paper title. The \lefthead and +% \righthead commands merely collect the information and buffer the text. +% +% \lefthead{TEXT} +% \righthead{TEXT} +% +% For the ApJ, right heads are the short titles, and the publisher would +% like for the author to specify a 44-character or less abbreviated title +% to use as the running head on right pages. + +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} + +% \@runheads determines formatting of running head information. + +\def\@runheads{\@tempcnta\c@page + \@whilenum \@tempcnta >0\do{ + \vskip 3ex + \hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} + \advance\@tempcnta by\m@ne} +} + +% The \slugcomment command is provided so authors or editors may include +% a remark about the manuscript that may be desired in print for some +% styles. For instance, authors like to include information about the +% journal and publication date of accepted papers ("To appear in AJ, +% November 1992"). +% +% \slugcomment{TEXT} +% +% The formatting of the \slugcomment information is controlled by the +% \@makeslugcmmnt command and its placement on the page is dictated +% by the presence of \@makeslugcmmnt in \sluginfo (or whatever). + +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{} + +% For PP style, slug comments are set flushright at the top of the title +% page in a parbox of 2/3 the textwidth. + +\newdimen\@slugcmmntwidth \@slugcmmntwidth .67\textwidth +\long\def\@makeslugcmmnt{\ifx\slug@comment\@empty\relax\else + \setbox\@tempboxa\hbox{\slug@comment} + \ifdim \wd\@tempboxa >\@slugcmmntwidth + \hbox to\textwidth{\hss + \parbox\@slugcmmntwidth\slug@comment} + \else + \hbox to\textwidth{\hfil\box\@tempboxa} + \fi + \vskip 2ex +\fi} + +% Editorial offices like to have receipt and acceptance dates on the front +% page for tracking purposes. The current practice is to require the author +% to type Received __________________ and Accepted ________________ lines +% for the staff to type on. The \@dates command will typeset either rules +% or the dates specified in \received and/or \accepted commands. Note that +% authors should not include \received and \accepted. + +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} + +% \@dates determines formatting of MS date information. + +\def\@dates{{Received}\space% + \if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% + \hspace{1.5em}{accepted}\space% + \if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% +} + +% The \sluginfo command is executed automatically when a \begin{abstract} is +% encountered, so it is not necessary (or appropriate) for the author to +% include this line explicitly. The received/accepted business is a +% concern only for the editorial staff, hence we have arranged for the +% author not to have to fuss with it. + +\def\sluginfo{{\center + \@dates + %\@slug + %\@runheads + \endcenter}} + +\let\dates=\sluginfo % Backwards compatibility + +%\@input{text.sty} + +% **************************************** +% * FRONT MATTER * +% **************************************** + +% Make adjustments to LaTeX abstract style: optional upper case heading, +% retain current type size (should be normalsize), ignore twocolumn option +% in this substyle, add \sluginfo, and start abstract on fresh page. + +\def\abstract{%\sluginfo\clearpage + \begin{center} + {\bf{ABSTRACT}} + \end{center} + \quotation +} + +% Title and author identification is by way of standard LaTeX commands +% \title and \author, although the macros themselves are rather different. +% The information is typeset by these macros in this style, rather than +% being buffered as per regular LaTeX. The authors' principal affiliation +% is specified with a separate macro \affil. Each \author command should +% be followed by its own \affil (or address). +% +% Authors often have affiliations above and beyond their main employer, +% and these are specified with the \altaffilmark and \altaffiltext commands. +% These commands behave like the \footnotemark and \footnotetext commands +% of LaTeX. \altaffilmark is appended to author's names in the \author +% lists, and generates the superscript identification numbers. +% The text for the individual alternate affiliations is generated by the +% \altaffiltext command. It is up to the author to make sure that the +% \altaffilmark numbers attached to authors' names correspond to the correct +% alternate affiliation. +% +% \title{LUCID TEXT} +% \author{NAME(S)} +% \authoraddr{AUTHOR'S POSTAL ADDRESS} +% \affil{AFFILIATION} +% \altaffilmark{TAG NUMBER(S)} +% \altaffiltext{NUMERICAL TAG}{TEXT} +% +% The typesetting performed by these commands is appropriate for the top of +% the first text page of the manuscript. They could as well be used on a +% title cover page, but vertical placement would have to be controlled by +% the author. This is not to be encouraged, since I want to discourage +% the introduction of any extra horizontal or vertical space. + +\def\title#1{\@makeslugcmmnt{\center\large\bf{#1}\endcenter} + \thispagestyle{empty}} +\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}} + +% Redefine the LaTeX \and command for this style. + +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} + +% **************************************** +% * KEYWORDS * +% **************************************** + +% Keywords environment. Keywords, subject headings, etc., are accommodated +% only as a piece of text; the \keywords command indents if necessary and +% supplies the proper leading text ("Keywords:", "Subject headings:", etc.) +% but does not apply formatting to the user's keyword text. The author +% must supply the correct punctuation according to the journal style. +% +% Note that the editors of A&A, ApJ, and MNRAS have discussed the issue +% of keywords, and there is disagreement about whether "subject headings" +% or "keywords" should appear after abstracts in astronomical papers. +% It does not really matter what the macro is called, so I will stick +% to \keywords since I don't know what the difference is anyway. + +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} + +\def\keywords#1{\vspace*{-.7ex}%\vspace{\z@} + \if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}} + \else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote} + \fi} + +\let\subjectheadings=\keywords + +% It might be possible to handle keywords and their punctuation more +% automatically at some stage, but at the moment using this looping +% construct is serious overkill. It also causes problems because the +% loop delimiter is a comma, and there are keywords that legitimately +% contain commas. It also seem ponderous to me for keywords in the +% \keyword list to be delimited by `|', so I make the author responsible +% for keyword list punctuation. + +%\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do +% {\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}} + +\def\@kwds#1{#1\relax} + +% **************************************** +% * FOOTNOTES * +% **************************************** + +% The following code redefines a few things so that spacing in footnotes is +% different than LaTeX defaults. The adjustment to \skip\footins increases +% the amount of vspace inserted before the \footnoterule. Redefine +% \@makefntext to get proper indentation. + +\skip\footins 4ex plus 1ex minus .5ex +\footnotesep 3ex + +%\long\def\@makefntext#1{\noindent\hbox to\z@{\hss$^{\@thefnmark}$}#1} +%\long\def\@makefntext#1{\indent\hbox{$^{\@thefnmark}$}#1} + +% **************************************** +% * SECTIONS * +% **************************************** + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- e.g., chapter=1, +% section = 2, etc. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, else +% negative of skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. + +% Adjust section heading typography slightly. The manuscript editors +% seem to like the idea that the heads will be centered, and that there +% will be a "." trailing the section number. This requires hacking below +% the normal LaTeX programming interface (\@startsection), since the +% centering has to be turned on and off again before the section starts. +% +% Also, modify the indentation behavior so that ALL paragraphs, including +% those first after section heads, are indented. This is consonant with +% the styles of many journals, although it's non-standard typographic practice. + +\newif\if@firstsection \@firstsectiontrue + +\def\section{\if@firstsection + \@firstsectionfalse\fi + \@startsection {section}{1}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}} + +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} + +% For ApJ, acknowledgments are set off from main body text simply by +% vertical space (no heading or type size change). I do the same for +% the AAS manuscript style. For use in producing more polished output +% for other journals, this macro might generate text saying +% "Acknowledg[e]ments". + +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments % second spelling + +% LaTeX sectioning tools. + +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup \center#6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \sec@upcase{#8}\par}% + \endcenter\endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} + +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M + \sec@upcase{#5}\par}\endcenter\endgroup + \else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi + \@xsect{#3}} + +% **************************************** +% * EQUATION NUMBERING * +% **************************************** + +% Redefine \appendix so that equation numbers are prepended with +% \theappendix number. Reset equation counter so that equation +% numbers in the appendix begin again with 1. Note that the +% \appendix command is NOT a sectioning command; it is merely +% a delimiting markup between the main body of the paper and the +% appendix. Sections in the appendix are still started with +% \section commands. +% +% \appendix + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \setcounter{equation}{0} + \def\thesection{\Alph{section}.} + \def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} + +% Define mathletters environment. This is a wrapper that goes +% *around* (outside of) equation or eqnarray environments. +% +% \begin{mathletters} +% \end{mathletters} + +\newcounter{cureqno} + +\newenvironment{mathletters}{\refstepcounter{equation}% + \setcounter{cureqno}{\value{equation}}% + \let\@curtheeqn\theequation% + \edef\cur@eqn{\csname theequation\endcsname}% + \def\theequation{\cur@eqn\alph{equation}}% + \setcounter{equation}{0}}% + {\let\theequation\@curtheeqn% + \setcounter{equation}{\value{cureqno}}} + +% The \eqnum command allows the author to override all automatic +% equation marking schemes. +% +% \eqnum{TEXT} + +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation + \addtocounter{equation}{\m@ne}} + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** + +% Bibliography/references environment. For the time being, I don't think +% it would be a good idea to force an implementation based on BibTeX, +% although I'll prepare for that eventuality by using the constructs and +% general ideas of the LaTeX thebibliography environment. Adjustments +% have been made so that the \cite-\bibitem mechanism can be used to cite +% references symbolically while maintaining proper citation syntax within +% the paper; the author must create the citation label for each reference +% in proper journal format in the \bibitem command. +% +% \begin{thebibliography} +% \bibitem[LABEL]{TEXTTAG} \reference +% \end{thebibliography} +% +% where LABEL must adhere to the journal's standards, e.g. "Abt 1986". +% +% It is not necessary to use the thebibliography environment. This style +% defines a references environment that simply sets off the list of references +% and adjusts spacing parameters. It is not possible to use \bibitems +% within the references environment. (The \reference command cannot be +% shortened to \ref; \ref is used in vanilla LaTeX for cross-referencing.) +% +% \begin{references} +% \reference +% \end{references} +% +% \markcite{TEXT} +% +% Observe that the bibliographic data supplied by the author must also +% conform to the standards of the journal. I have elected not to burden +% authors with tedious LaTeX commands which would require many curly braces +% to delimit the bibliographic fields because many of the journals I have +% targeted in this project have agreed to reduce typographic overhead (bolding, +% italicizing, etc.) in reference lists. (See Abt's editorial in ApJ 357.) +% It is the responsibility of the author to get these fields in the proper +% order with the correct punctuation; the information will be typeset as is, +% i.e., in roman with no size or style changes. +% +% Macros are provided for many of the oft-referenced journals so that authors +% may use the LaTeX names rather than having to look up a particular journal's +% specific abbreviation. In principle, all the journals should be using the +% same abbreviations, too, but I anticipate some changes in the specific +% abbreviations before a set is finally settled on. As long as these macros +% are kept up to date, authors need not be concerned about such editorial +% changes. +% +% Corresponding with the non-BibTeX references environment and \reference +% command for the reference list is the \markcite command. This can be +% used to identify in-text citations; in this case, the author provides +% the actual citation text as opposed to the symbolic tag. The use of +% this is encouraged, even for journals where no special formatting of +% citation call-outs is required; it is crucial for the future use of +% on-line browsers. + +\def\references{\subsection*{REFERENCES} + \bgroup\parindent=\z@\parskip=\itemsep + \def\refpar{\par\hangindent=3em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} + +\def\thebibliography{\subsection*{REFERENCES} + \list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em + \usecounter{enumi}} + \def\refpar{\relax} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} + +\def\@biblabel#1{\relax} +%\def\@cite#1#2{({#1\if@tempswa , #2\fi})} +\def\@cite#1#2{#1\if@tempswa , #2\fi} + +\def\reference{\relax\refpar} % Generic: might be better... +\def\markcite#1{#1\relax} + +% Modify \@citex so that individual citation texts are NOT hboxed. +% This allows TeX to break lines at spaces between words in citations. +% Remove the obnoxious {\bf ?} that was inserted in the text when +% undefined citations are encountered; here, the warning message is +% printed only on the terminal. + +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined + {b@\@citeb}{\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} + +%\@input{mstblfig.sty} + +% **************************************** +% * TABLES AND FIGURES * +% **************************************** + +% Additions and adjustments for tables and figures. + +% Footnotes for tables are to be identified with lower case alphabetics, +% rather than numeric. \tablenotemark and \tablenotetext commands are +% provided analogous to \footnotemark and \footnotetext, but with the +% identifier *required*, like \altaffilmark and \altaffiltext. The +% \tablenotetext must be specified before the \end{table}, since +% \end{table} displays it. +% +% \tablenotemark{TAG LETTER(S)} +% \tablenotetext{ALPHA TAG}{TEXT} +% +% Note that TAG LETTER == ALPHA TAG for corresponding text. It is the +% responsibility of the author to get the correspondence correct. +% +% The table footnotes are coupled to the table in which they occur, rather +% than being associated with a particular page, and they are printed with +% the table (relatively close to the caption) instead of appearing at the +% extreme bottom of the page. This is done to ensure that the notes wind +% up on the same page as the table, since tables are floats and can migrate +% from one page to another. There is the additional benefit that the notes +% are unambiguously attached to the proper table, which is what is required +% in the event that the editorial requirement of one table only per page +% is ever changed to permit several tables per page. +% +% Footnotes are NOT supported for figures. + +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} + +% The \tablenotetext command buffers the table note text and the "proper" +% tablenote formatting information in a token buffer. The tablenotes are +% dispensed into the vertical page list by \spew@tblnotes, which is +% executed by \end{table}. Note that certain "global" tablenote formatting +% details are handled by \spew@tblnotes, which also clears the tblnote list. +% Praise and honor are due to Kresten Krab Thorup (krab@iesd.auc.dk) for +% posting ftn.sty to the Usenet, from which I drew the technique. + +\newtoks\@temptokenb +\def\tblnote@list{} + +\def\tablenotetext#1#2{ + \@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\spew@tblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \vspace{4.5ex} + \footnoterule + \vspace{.5ex} + {\footnotesize\tblnote@list} + \gdef\tblnote@list{} + \fi} + +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} + +% Add a \tableline command for use in tabular environments. This command +% produces the horizontal rule(s) between the column headings and the body +% of the table. Authors are discouraged from using any \hlines themselves, +% and are typically forbidden from using vertical rules by editors. + +\let\tableline=\hline + +% \@makecaption determines formatting for figure and table captions. +% For manuscripts, all captions should be set as flushleft paragraphs. + +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} + +% The \tablenum command allows the author to override all automatic +% table marking schemes. +% +% \tablenum{TEXT} + +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable + \addtocounter{table}{\m@ne}} + +% The \figurenum command allows the author to override all automatic +% figure marking schemes. +% +% \figurenum{TEXT} + +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure + \addtocounter{figure}{\m@ne}} + +% **************************************** +% * PLANO TABLES * +% **************************************** + +% Plano tables are camera-ready pages that are included in a typeset +% article the same way as line drawings, graphs, and other camera-ready +% art, i.e., as "planographic" figures. There are desirable properties +% for a formatter to have that are somewhat above and beyond LaTeX'x +% tabular environment that would facilitate the creation of such tables. +% Among these are breaking long tables across pages, using footnotes +% in a table, specifying comments and references for tables, etc. +% +% What follows was inspired by supertab.sty by Theo Jurriens, 1988. + +% Commands for identifying table elements in a consistent way. Observe +% that the formatting is embedded in the macro definitions so that the +% author doesn't need to be concerned about stylistic nuances. +% +% \tablecaption{TEXT} +% \tablehead{TEXT} +% \colhead{HEADING} +% \tabletail{TEXT} +% \tablewidth{DIMEN} +% \tableheadfrac{NUM} + +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol + +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex] + #1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} + +% Calculate the number of tabular rows that will fit in the body of the +% table. The height of the table body and the number of lines are +% calculated thus: +% +% bodyheight = \textheight * (1 - \pt@headfrac) +% \pt@nlines = bodyheight / (\arraystretch * \baselineskip) +% +% The row height can be seen to be valid algebraically if one examines the +% definitions for \strutbox, \@setstrut, and \@array. I could eliminate +% this calculation, as well as its attendant parameters, if it were possible +% to determine the accumulated height of the \halign box as TeX goes along. + +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight + \@tempdimb\textheight\advance\@tempdimb by-\@tempdima + \@tempdima\arraystretch\baselineskip + \divide\@tempdimb by\@tempdima + \global\pt@nlines\@tempdimb} + +% Define \pt@tabular, a ripoff of \@tabular but with \leavevmode removed +% so tabular box can be set with \setbox. I do this so that table notes +% can be set to natural width of table, if desired. Also, set \@acol +% to \@ptabacol, which is called when building the preamble for the +% \halign (assuming the first column format specification is "l", which +% it should be for ApJ tables) so that \tabskip within the table is set +% to \fill. This permits us to toggle between natural and fixed-width +% tables without requiring the user to change markup. Note that by +% forcing \tabskip always to be \fill, I pretty well nullify any +% @{\hspace} commands the user puts in the template, but this environment +% is for people who don't want to think about that sort of stuff anyway. + +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} + +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} + +% Permit different identifying strings, one for the first page of the +% table and one for continuation pages. LaTeX's \fnum@table is set to +% one or the other automatically in the environment. Note that caption +% handling is not so graceful: you have to edit inside the big macros to +% adjust this. Someday, I will be ambitious enough to fix this. + +\def\fnum@ptable{Table \thetable} +\def\fnum@ptablecont{Table \thetable---{\rm Continued}} + +\def\set@mkcaption{\long\def\@makecaption##1##2{ + \center\rm##1.\quad##2\endcenter\vskip 2.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ + \center\rm##1\endcenter\vskip 2.5ex}} + +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% + \set@tblnotetext\pt@ncol=0}% + {\crcr\noalign{\vskip .7ex}\hline\endtabular% + \pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% + \typeout{Table \thetable\space has been set to width \the\pt@width}% + \endcenter\end@float} + +\def\startdata{\pt@line=0\pt@calcnlines% + \ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% + \let\fnum@table=\fnum@ptable\set@mkcaption% + \@float{table}\center\caption{\pt@caption}\leavevmode% + \setbox\pt@box=\pt@tabular{\pt@format}\pt@head} + +% A kludgey kind of line delimiter is needed so that the line counter +% can be checked prior to adding the line to the alignment box. This +% is bad because this form does not permit the addition of vertical +% space using the [.5ex] construct; this has to be done with an explicit +% \vskip. And a disgusting \noalign is required, so I have to create +% another silly piece of markup to accomplish this conveniently. +% +% What is desired, of course, is for this line count checking to take +% place within the syntax of the regular LaTeX \\ command. I have been +% giving myself apoplexy trying to figure this out for the last 36 hours, +% and I have decided I will have to wait for the onset of my "lucid +% period" for a solution. In the meantime... + +\def\pt@nl{\global\advance\pt@line by\@ne% + \ifnum\pt@line=\pt@nlines% + \endtabular\box\pt@box + \endcenter\end@float\clearpage% + \addtocounter{table}{\m@ne}% + \let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% + \@float{table}\center\caption{\pt@caption}\leavevmode% + \global\pt@ncol=0% + \setbox\pt@box=\pt@tabular{\pt@format}\pt@head% + \global\pt@line=0% + \else\\ + \fi} + +% Author markup commands for planotable environment line breaks. +% +% \nl == \nextline +% \tablevspace{DIMEN} +% \tablebreak + +\let\nl=\pt@nl +\let\nextline=\pt@nl + +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} + +% We have some specialty heads that are sometimes wanted in tables. +% +% \cutinhead{TEXT} +% \sidehead{TEXT} + +\def\cutinhead#1{\noalign{\vskip 1.5ex} + \hline\pt@nl\noalign{\vskip -2.0ex} + \multicolumn{\pt@ncol}{c}{#1}\pt@nl + \noalign{\vskip .8ex} + \hline\pt@nl\noalign{\vskip -2ex}} + +\def\sidehead#1{\noalign{\vskip 1.5ex} + \multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl + \noalign{\vskip .5ex}} + +\def\set@tblnotetext{\def\tablenotetext##1##2{{% + \@temptokena={\vspace{0ex}{% + \parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} + +\def\spew@ptblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \par + \vspace{2ex} + {\tblnote@list} + \gdef\tblnote@list{} + \fi} + +% Special kinds of table footnotes. Sometimes authors tabulate things +% which have corresponding references, and it may be desirable to associate +% these references with the table rather than (or in addition to) the +% formal reference list. Occasionally, authors wish to append a short +% paragraph of explanatory notes that pertain to the entire table, but +% which are different than the caption. +% +% \tablerefs{REFERENCE LIST} +% \tablecomments{TEXT} + +\def\tablerefs#1{\@temptokena={\vspace*{3ex}{% + \parbox{\pt@width}{\hskip1em\rm References. --- #1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\tablecomments#1{\@temptokena={\vspace*{3ex}{% + \parbox{\pt@width}{\hskip1em\rm Note. --- #1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +% Figure and table style parameters. + +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} + +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} + +% Figure and table float positions. + +\def\fps@figure{bp} +\def\fps@table{bp} + +% **************************************** +% * EPS INCLUSIONS * +% **************************************** + +% Include Rokicki's epsf.sty file explicitly. + +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} + +% Simplified EPS inclusion macros so we can see how this goes... +% These are layered on Rokicki's dvips material, and are dependent +% on the author's use of that DVI driver. +% +% \plotone{EPSFILE} +% \plottwo{EPSFILE}{EPSFILE} +% \plotfiddle{EPSFILE}{VSIZE}{ROT}{HSF}{VSF}{HTRANS}{VTRANS} +% +% \plotone inserts the plot in a space that is \columnwidth wide; the +% plot is scaled so the horizontal dimension fits in the text width, +% and the vertical dimension is scaled to maintain the aspect ratio. +% \plottwo inserts two plots next to each other in one \columnwidth, +% sort of like "two-up" mode. +% +% EPSFILE name of file with EPS +% +% The following arguments are for the \plotfiddle macro which formats +% the \special itself, prepares vspace, etc. This completely bypasses +% Rokicki's macros that attempt to rationalize the EPS BoundingBox with +% the LaTeX page dimensions. +% +% VSIZE vertical white space to allow for plot +% ROT rotation angle +% HSF horiz scale factor +% VSF vert scale factor +% HTRANS horiz translation +% VTRANS vert translation + +%\epsfverbosetrue + +\def\plotone#1{\centering \leavevmode + \epsfxsize=\columnwidth \epsfbox{#1}} + +\def\plottwo#1#2{\centering \leavevmode + \epsfxsize=.45\columnwidth \epsfbox{#1} \hfil + \epsfxsize=.45\columnwidth \epsfbox{#2}} + +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode + \vbox to#2{\rule{0pt}{#2}} + \special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} + +%\@input{abbrevs.sty} + +% **************************************** +% * ABBREVIATIONS * +% **************************************** + +% Abbreviations for journals. The object here is to provide authors +% with convenient shorthands for the most "popular" (often-cited) +% journals; the author can use these markup tags without being concerned +% about the exact form of the journal abbreviation, or its formatting. +% It is up to the keeper of the macros to make sure the macros expand +% to the proper text. If macro package writers agree to all use the +% same TeX command name, authors only have to remember one thing, and +% the style file will take care of editorial preferences. This also +% applies when a single journal decides to revamp its abbreviating +% scheme, as happened with the ApJ (Abt 1991). + +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} + +\def\aj{\ref@jnl{AJ}} % Astronomical Journal +\def\araa{\ref@jnl{ARA\&A}} % Annual Review of Astron and Astrophys +\def\apj{\ref@jnl{ApJ}} % Astrophysical Journal +\def\apjl{\ref@jnl{ApJ}} % Astrophysical Journal, Letters +\def\apjs{\ref@jnl{ApJS}} % Astrophysical Journal, Supplement +\def\ao{\ref@jnl{Appl.Optics}} % Applied Optics +\def\apss{\ref@jnl{Ap\&SS}} % Astrophysics and Space Science +\def\aap{\ref@jnl{A\&A}} % Astronomy and Astrophysics +\def\aapr{\ref@jnl{A\&A~Rev.}} % Astronomy and Astrophysics Reviews +\def\aaps{\ref@jnl{A\&AS}} % Astronomy and Astrophysics, Supplement +\def\azh{\ref@jnl{AZh}} % Astronomicheskii Zhurnal +\def\baas{\ref@jnl{BAAS}} % Bulletin of the AAS +\def\jrasc{\ref@jnl{JRASC}} % Journal of the RAS of Canada +\def\memras{\ref@jnl{MmRAS}} % Memoirs of the RAS +\def\mnras{\ref@jnl{MNRAS}} % Monthly Notices of the RAS +\def\pra{\ref@jnl{Phys.Rev.A}} % Physical Review A: General Physics +\def\prb{\ref@jnl{Phys.Rev.B}} % Physical Review B: Solid State +\def\prc{\ref@jnl{Phys.Rev.C}} % Physical Review C +\def\prd{\ref@jnl{Phys.Rev.D}} % Physical Review D +\def\prl{\ref@jnl{Phys.Rev.Lett}} % Physical Review Letters +\def\pasp{\ref@jnl{PASP}} % Publications of the ASP +\def\pasj{\ref@jnl{PASJ}} % Publications of the ASJ +\def\qjras{\ref@jnl{QJRAS}} % Quarterly Journal of the RAS +\def\skytel{\ref@jnl{S\&T}} % Sky and Telescope +\def\solphys{\ref@jnl{Solar~Phys.}} % Solar Physics +\def\sovast{\ref@jnl{Soviet~Ast.}} % Soviet Astronomy +\def\ssr{\ref@jnl{Space~Sci.Rev.}} % Space Science Reviews +\def\zap{\ref@jnl{ZAp}} % Zeitschrift fuer Astrophysik + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs + +%\@input{misc.sty} + +% **************************************** +% * MISCELLANEOUS * +% **************************************** + +% Handy little things everybody works out for themselves anyway. Many +% of these come from Springer's A&A package, and some were contributed +% by Francois Schweizer at DTM. You can go berserk making these up, +% especially when you start getting into the composite ones. We have +% tried to select a tractable number that were useful, and somewhat +% difficult to get right because fussy kerning or some such is required. +% Most can be used in or out of math mode with impunity; \alt and \agt +% are relations and can only be used in math mode. + +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} + +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim + +% Permit author to typeset "case" fractions. This is sometimes +% wanted in displayed equations, during which LaTeX will set fractions +% specified as \frac{x}{y} as "built-up" fractions (numerator and +% denominator at body text size). + +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} + +% Permit author to typeset fractions set with solidus where the size +% is reduced and the numerals are oriented diagonally. Note that this +% is different from a "shilled" fraction, which the author can produce +% without any special formatting markup. Define markup shorthands for +% several common fractions using solidus. + +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} + +\def\ubvr{\hbox{$U\!BV\!R$}} % UBVR system +\def\ub{\hbox{$U\!-\!B$}} % U-B +\def\bv{\hbox{$B\!-\!V$}} % B-V +\def\vr{\hbox{$V\!-\!R$}} % V-R +\def\ur{\hbox{$U\!-\!R$}} % U-R + +% Notation for atomic species (ionization levels). The ionization state +% is specified as the second argument, and should be given as a numeral. +% The macro has to expand the numeric state into the proper notation for +% the publication (roman, numeric, plus signs, etc.) +% +% \ion{ELEMENT}{IONIZATION STATE} + +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} + +% Centered ellipsis for use in tables (for unknown values). \nodata +% is generalized markup for this notion: format of null-valued entries +% in tables is style-specific. + +%\def\cellipsis{\hfill$\cdots$\hfill} +\def\nodata{\multicolumn{1}{c}{$\cdots$}} + +% This is a generalization of the \LaTeX definition that comes in LaTeX. +% The change here ensures that LaTeX will be typeset in the current style, +% rather than always in roman. + +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex + \hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} + +% **************************************** +% * DEBUGGING * +% **************************************** + +\def\sizrpt{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font + \typeout{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/aaspp.sty b/obsolete/macros/latex209/contrib/aasmacros/aaspp.sty new file mode 100644 index 0000000000..3d6947b642 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/aaspp.sty @@ -0,0 +1,415 @@ +\def\revtex@ver{3.0} +\def\revtex@date{10 Jan 93} +\def\revtex@org{AAS} +\def\revtex@jnl{AAS} +\def\revtex@genre{preprint} +\typeout{\revtex@org\space \revtex@genre\space substyle, +v\revtex@ver\space <\revtex@date>.} +\def\revtex@pageid{\xdef\@thefnmark{\null} +\@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} +\def\genre@MS{manuscript} +\def\genre@PP{preprint} +\ifx\revtex@genre\genre@PP +\ifnum\@ptsize<1 +\typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Use 11pt or 12pt documentstyle option.} +\fi +\fi +\def\ps@plaintop{\let\@mkboth\@gobbletwo +\def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} +\def\@evenfoot{}\let\@evenhead\@oddhead} +\ps@plaintop +\pretolerance=10000 +\@rightskip=\z@ plus 4em\rightskip\@rightskip +\textwidth=6.5in +\textheight=8.4in +\topmargin=0in +\headheight=.15in +\headsep=.35in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=2em +\parskip=1.5ex +\def\@tightleading{1.1} +\def\@doubleleading{1.6} +\def\baselinestretch{\@doubleleading} +\def\tighten{\def\baselinestretch{\@tightleading}} +\let\tightenlines=\tighten +\def\singlespace{\def\baselinestretch{\@tightleading}\normalsize} +\def\doublespace{\def\baselinestretch{\@doubleleading}\normalsize} +\def\sec@upcase#1{\relax{#1}} +\def\eqsecnum{ +\@newctr{equation}[section] +\def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} +\tighten +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} +\typeout{`#1' copyright \cpr@year.}} +\newcount\@cprtype \@cprtype=\@ne +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@ASP{\@cprtype=5} +\def\cpr@year{\number\year} +\def\@slug{\par\noindent +\ifcase\@cprtype + \relax +\or + Copyright \cpr@year\space by the \cpr@holder. +\or + This article is in the public domain. +\or + Crown copyright \cpr@year\space by the \cpr@holder. +\or + No copyright is claimed for this article. +\or + Copyright \cpr@year\space by the ASP. +\fi +\par\noindent +Manuscript number \@paperid.\par\noindent +\CCC@code +} +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} +\def\@runheads{\@tempcnta\c@page +\@whilenum \@tempcnta >0\do{ +\vskip 3ex +\hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} +\advance\@tempcnta by\m@ne} +} +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{} +\newdimen\@slugcmmntwidth \@slugcmmntwidth .67\textwidth +\long\def\@makeslugcmmnt{\ifx\slug@comment\@empty\relax\else +\setbox\@tempboxa\hbox{\slug@comment} +\ifdim \wd\@tempboxa >\@slugcmmntwidth +\hbox to\textwidth{\hss + \parbox\@slugcmmntwidth\slug@comment} +\else +\hbox to\textwidth{\hfil\box\@tempboxa} +\fi +\vskip 2ex +\fi} +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} +\def\@dates{{Received}\space% +\if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% +\hspace{1.5em}{accepted}\space% +\if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% +} +\def\sluginfo{{\center +\@dates + + +\endcenter}} +\let\dates=\sluginfo +\def\abstract{ +\begin{center} +{\bf{ABSTRACT}} +\end{center} +\quotation +} +\def\title#1{\@makeslugcmmnt{\center\large\bf{#1}\endcenter} +\thispagestyle{empty}} +\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}} +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} +\def\keywords#1{\vspace*{-.7ex} +\if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}} +\else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote} +\fi} +\let\subjectheadings=\keywords +\def\@kwds#1{#1\relax} +\skip\footins 4ex plus 1ex minus .5ex +\footnotesep 3ex +\newif\if@firstsection \@firstsectiontrue +\def\section{\if@firstsection +\@firstsectionfalse\fi +\@startsection {section}{1}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}} +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth +\def\@svsec{}\else +\refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi +\@tempskipa #5\relax +\ifdim \@tempskipa>\z@ +\begingroup \center#6\relax +\@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \sec@upcase{#8}\par}% +\endcenter\endgroup +\csname #1mark\endcsname{#7}\addcontentsline +{toc}{#1}{\ifnum #2>\c@secnumdepth \else +\protect\numberline{\csname the#1\endcsname}\fi +#7}\else +\def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname +{#7}\addcontentsline +{toc}{#1}{\ifnum #2>\c@secnumdepth \else +\protect\numberline{\csname the#1\endcsname}\fi +#7}}\fi +\@xsect{#5}} +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax +\ifdim \@tempskipa>\z@ +\begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M +\sec@upcase{#5}\par}\endcenter\endgroup +\else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi +\@xsect{#3}} +\def\appendix{\par +\setcounter{section}{0} +\setcounter{subsection}{0} +\setcounter{equation}{0} +\def\thesection{\Alph{section}.} +\def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} +\newcounter{cureqno} +\newenvironment{mathletters}{\refstepcounter{equation}% +\setcounter{cureqno}{\value{equation}}% +\let\@curtheeqn\theequation% +\edef\cur@eqn{\csname theequation\endcsname}% +\def\theequation{\cur@eqn\alph{equation}}% +\setcounter{equation}{0}}% +{\let\theequation\@curtheeqn% +\setcounter{equation}{\value{cureqno}}} +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation +\addtocounter{equation}{\m@ne}} +\def\references{\subsection*{REFERENCES} +\bgroup\parindent=\z@\parskip=\itemsep +\def\refpar{\par\hangindent=3em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} +\def\thebibliography{\subsection*{REFERENCES} +\list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em +\usecounter{enumi}} +\def\refpar{\relax} +\def\newblock{\hskip .11em plus .33em minus .07em} +\sloppy\clubpenalty4000\widowpenalty4000 +\sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} +\def\@biblabel#1{\relax} +\def\@cite#1#2{#1\if@tempswa , #2\fi} +\def\reference{\relax\refpar} +\def\markcite#1{#1\relax} +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi +\def\@citea{}\@cite{\@for\@citeb:=#2\do +{\@citea\def\@citea{,\penalty\@m\ }\@ifundefined +{b@\@citeb}{\@warning +{Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} +\newtoks\@temptokenb +\def\tblnote@list{} +\def\tablenotetext#1#2{ +\@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\spew@tblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\vspace{4.5ex} +\footnoterule +\vspace{.5ex} +{\footnotesize\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} +\let\tableline=\hline +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable +\addtocounter{table}{\m@ne}} +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure +\addtocounter{figure}{\m@ne}} +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex] +#1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight +\@tempdimb\textheight\advance\@tempdimb by-\@tempdima +\@tempdima\arraystretch\baselineskip +\divide\@tempdimb by\@tempdima +\global\pt@nlines\@tempdimb} +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol +\let\@classz\@tabclassz +\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} +\def\fnum@ptable{Table \thetable} +\def\fnum@ptablecont{Table \thetable---{\rm Continued}} +\def\set@mkcaption{\long\def\@makecaption##1##2{ +\center\rm##1.\quad##2\endcenter\vskip 2.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ +\center\rm##1\endcenter\vskip 2.5ex}} +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% +\set@tblnotetext\pt@ncol=0}% +{\crcr\noalign{\vskip .7ex}\hline\endtabular% +\pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% +\typeout{Table \thetable\space has been set to width \the\pt@width}% +\endcenter\end@float} +\def\startdata{\pt@line=0\pt@calcnlines% +\ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% +\let\fnum@table=\fnum@ptable\set@mkcaption% +\@float{table}\center\caption{\pt@caption}\leavevmode% +\setbox\pt@box=\pt@tabular{\pt@format}\pt@head} +\def\pt@nl{\global\advance\pt@line by\@ne% +\ifnum\pt@line=\pt@nlines% +\endtabular\box\pt@box +\endcenter\end@float\clearpage% +\addtocounter{table}{\m@ne}% +\let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% +\@float{table}\center\caption{\pt@caption}\leavevmode% +\global\pt@ncol=0% +\setbox\pt@box=\pt@tabular{\pt@format}\pt@head% +\global\pt@line=0% +\else\\ +\fi} +\let\nl=\pt@nl +\let\nextline=\pt@nl +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} +\def\cutinhead#1{\noalign{\vskip 1.5ex} +\hline\pt@nl\noalign{\vskip -2.0ex} +\multicolumn{\pt@ncol}{c}{#1}\pt@nl +\noalign{\vskip .8ex} +\hline\pt@nl\noalign{\vskip -2ex}} +\def\sidehead#1{\noalign{\vskip 1.5ex} +\multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl +\noalign{\vskip .5ex}} +\def\set@tblnotetext{\def\tablenotetext##1##2{{% +\@temptokena={\vspace{0ex}{% +\parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} +\def\spew@ptblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\par +\vspace{2ex} +{\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\tablerefs#1{\@temptokena={\vspace*{3ex}{% +\parbox{\pt@width}{\hskip1em\rm References. --- #1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\tablecomments#1{\@temptokena={\vspace*{3ex}{% +\parbox{\pt@width}{\hskip1em\rm Note. --- #1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} +\def\fps@figure{bp} +\def\fps@table{bp} +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} +\def\plotone#1{\centering \leavevmode +\epsfxsize=\columnwidth \epsfbox{#1}} +\def\plottwo#1#2{\centering \leavevmode +\epsfxsize=.45\columnwidth \epsfbox{#1} \hfil +\epsfxsize=.45\columnwidth \epsfbox{#2}} +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode +\vbox to#2{\rule{0pt}{#2}} +\special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} +\def\aj{\ref@jnl{AJ}} +\def\araa{\ref@jnl{ARA\&A}} +\def\apj{\ref@jnl{ApJ}} +\def\apjl{\ref@jnl{ApJ}} +\def\apjs{\ref@jnl{ApJS}} +\def\ao{\ref@jnl{Appl.Optics}} +\def\apss{\ref@jnl{Ap\&SS}} +\def\aap{\ref@jnl{A\&A}} +\def\aapr{\ref@jnl{A\&A~Rev.}} +\def\aaps{\ref@jnl{A\&AS}} +\def\azh{\ref@jnl{AZh}} +\def\baas{\ref@jnl{BAAS}} +\def\jrasc{\ref@jnl{JRASC}} +\def\memras{\ref@jnl{MmRAS}} +\def\mnras{\ref@jnl{MNRAS}} +\def\pra{\ref@jnl{Phys.Rev.A}} +\def\prb{\ref@jnl{Phys.Rev.B}} +\def\prc{\ref@jnl{Phys.Rev.C}} +\def\prd{\ref@jnl{Phys.Rev.D}} +\def\prl{\ref@jnl{Phys.Rev.Lett}} +\def\pasp{\ref@jnl{PASP}} +\def\pasj{\ref@jnl{PASJ}} +\def\qjras{\ref@jnl{QJRAS}} +\def\skytel{\ref@jnl{S\&T}} +\def\solphys{\ref@jnl{Solar~Phys.}} +\def\sovast{\ref@jnl{Soviet~Ast.}} +\def\ssr{\ref@jnl{Space~Sci.Rev.}} +\def\zap{\ref@jnl{ZAp}} +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} +\let\la=\lesssim +\let\ga=\gtrsim +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} + + +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} +\def\ubvr{\hbox{$U\!BV\!R$}} +\def\ub{\hbox{$U\!-\!B$}} +\def\bv{\hbox{$B\!-\!V$}} +\def\vr{\hbox{$V\!-\!R$}} +\def\ur{\hbox{$U\!-\!R$}} +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} +\def\nodata{\multicolumn{1}{c}{$\cdots$}} +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex +\hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} +\def\sizrpt{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +\typeout{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/aaspptwo.doc b/obsolete/macros/latex209/contrib/aasmacros/aaspptwo.doc new file mode 100644 index 0000000000..e2ea89ab39 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/aaspptwo.doc @@ -0,0 +1,1165 @@ +% AASPPTWO.STY -- AAS two-column preprint substyle definition for LaTeX. + +% My convention for identifying configuration information is for styles +% to define the five parameters below. + +\def\revtex@ver{3.0} % Version number of this file. +\def\revtex@date{10 Jan 93} % Revision date. +\def\revtex@org{AAS} % Sponsoring organization. +\def\revtex@jnl{AAS} % Applicable journal, if specific. +\def\revtex@genre{2-column preprint} % Document "type". + +% Display identifying message on screen and in logfile. + +\typeout{\revtex@org\space \revtex@genre\space substyle, + v\revtex@ver\space <\revtex@date>.} + +% The following mini-colophon identifies the article are having been +% prepared with this macro package. The \revtex@pageid command only +% defines the formatting of this colophon; its existence and placement +% within the printed article is controlled by the use of this command +% in the style file. + +\def\revtex@pageid{\xdef\@thefnmark{\null} + \@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} + +% Issue a warning if manuscripts are formatted with type smaller than 12pt. + +\def\genre@MS{manuscript} +\def\genre@PP{preprint} +\ifx\revtex@genre\genre@MS + \ifnum\@ptsize<2 + \typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Use 12pt documentstyle option.} + \fi +\fi + +% **************************************** +% * PAGE LAYOUT * +% **************************************** + +% Create "plaintop" page style that has folios at top of page. + +\def\ps@plaintop{\let\@mkboth\@gobbletwo + \def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} + \def\@evenfoot{}\let\@evenhead\@oddhead} + +\ps@plain % Use "plain" pagestyle by default. + +% Page size, spacing parameters, etc. + +\textwidth=6.9in +\textheight=8.4in +\topmargin=0in +\headheight=.15in +\headsep=.35in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=1.2em +\parskip=0.5ex +\columnsep=0.5in + +\hoffset=-0.2in % To compensate for wide \textwidth +\tolerance=600 % 3x "normal" value; cuts down on overfull complaints + +%\@input{styopts.sty} + +% **************************************** +% * STYLE OPTIONS * +% **************************************** + +% It is not the objective of the AASTeX project to develop LaTeX styles +% that produce pages that mimic the appearance of specific AAS journals. +% However, it would be nice to offer format options within the preprint +% styles so that output format can be changed. (Within the "manuscript" +% style, \tighten is available, and this effectively turns off the double- +% spacing.) The primary motivation behind this idea is to provide some +% definitions that permit institutions to distribute "pretty" preprints +% with this package. (Of course, I make the glaring assumption that I +% can determine what someone else will think is pretty.) +% +% This style has the principle function of setting up two-column output. +% Although it should be painfully obvious, it is important to remember +% that text lines are considerably shorter when two of them are typeset +% side by side on a page. Long equations, wide tables and figures, and +% the like, may not slide into this format without some adjustments. +% It is our opinion that great effort to adapt copy and markup for +% two-column pages is counterproductive; remember that the main goals +% of this package are to enable comprehensive tagging of the article +% and, secondarily, to produce "correct" draft (or referee) format pages. +% +% I elect not to impose a format for the front matter, although I feel +% it looks best if the title, author, abstract, and keyword material is +% typeset on its own page at full text width. The author may supply the +% \twocolumn command wherever desired, and, for that matter, is free to +% switch between \onecolumn and \twocolumn modes. (This is bad form.) +% +% \twocolumn Enter two-column format +% +% Note that the two-column format begins at the point \twocolumn appears +% in the text, and if that point is before the front-matter, that stuff +% gets typeset in two-column mode along with the rest of it. For purposes +% of producing "pretty" output, it is probably desirable to put this command +% after the abstract and keywords, just before the body of the paper. +% If the command is not specified explicitly, the first \section command +% will initiate the two-column format. + +% Make footnotes same size as main text. + +%\let\footnotesize=\normalsize + +% Define parameters to adjust the baselineskip. +% These are passed as the scale factor argument to \baselinestretch. + +\def\@tightleading{1.1} +\def\@doubleleading{1.6} + +% Double-space by default. Observe that you double-space in LaTeX by +% resetting \baselinestretch, which is essentially a scale factor for +% \baselineskip (= leading, for you typographophiles). The style uses +% the \@doubleleading factor, defined above. + +%\def\baselinestretch{\@doubleleading} + +% The \tighten command merely resets the \baselinestretch to a +% smaller factor, resulting in single-column text that is more closely +% spaced. (This will always work.) Tightening the vertical spacing +% in the text results in output that is more attractive for distribution +% to colleagues who are primarily interested in reading the paper, as +% opposed to copy editing it. Double-spaced output for referees and +% copy editors is, however, the main objective of this style, hence +% double-spacing occurs by default. The same effect as \tighten +% can be achieved by using the "tighten" document style option. +% +% \tighten +% +% \tighten is intended for use in the preamble of the article. + +\let\tighten=\relax +\let\tightenlines=\tighten + +% For authors who feel compelled to change between single and double +% spacing in the manuscript, \singlespace and \doublespace commands +% are provided. (Following recommendations of AAS Publications Board +% Subcommittee on Preprints.) +% +% \singlespace +% \doublespace + +\let\singlespace=\relax +\let\doublespace=\relax + +% Upper case for sections (optional upper case items). These are created +% so that some headings can be toggled between mixed case and upper case +% readily. Headings that might be changed can be wrapped in the style +% file in \sec@upcase{TEXT} constructs; the expansion of \sec@upcase is +% controlled here. It is `\relax' by default (mixed case heads), and can +% easily be changed to `\uppercase' if desired. If mixed case headings +% are wanted by the editor, authors MUST supply mixed case text, although +% this is what authors should be doing anyway. (Mixed can be converted +% to upper, but the reverse transformation cannot be automated.) + +%\def\sec@upcase#1{\uppercase{#1}} +\def\sec@upcase#1{\relax{#1}} + +% Sometimes people want to number equations by section, rather than +% sequentially through the whole paper. + +\def\eqsecnum{ + \@newctr{equation}[section] + \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} + +%\@input{slug.sty} + +% **************************************** +% * SLUG LINE * +% **************************************** + +% There are some obvious style-dependent parameters and formatting +% instructions in this file. The object has been to keep the author +% commands (the user interface, if you will) society, journal, and +% style-independent, while the style-specific parameters and commands +% are kept below that level. Commands and parameters that are susceptible +% to external interpretation, either by authors or publishers/translators, +% are identified by indented comment lines, with the semantics of command +% arguments described in upper case text. +% +% \@journalname{JOURNAL NAME} +% \cpr@holder{COPYRIGHT HOLDER} + +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} + +% Journal and article identification information is established by the +% editorial staff. The following macros are used by personnel at the +% editorial office to annotate/record slug-line data and should be included +% in the manuscript preamble, i.e., before the LaTeX \begin{document}. All +% they do is globally define other TeX control sequences that are used by +% other macros at a later time. +% +% \received{RECEIPT DATE} +% \revised{REVISION DATE} +% \accepted{ACCEPTANCE DATE} +% \journalid{VOL}{JOURNAL DATE} +% \articleid{START PAGE}{END PAGE} +% \paperid{ID} +% \ccc{CODE} +% +% For preprints and submitted manuscripts in draft/referee format, etc., +% the slug-line information is irrelevant and in those kinds of style, +% the data are never used. In my estimation, it is perfectly acceptable +% to have these commands in the file (for future use), so they are defined +% in the usual way. + +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} + +% Following copyright and running heads \defs are stubs. +%\let\cpright=\@gobbletwo +%\let\righthead=\@gobble +%\let\lefthead=\@gobble + +% Copyright data. Permit the author/editor to supply a copyright +% "type" as well as the year. +% +% \cpright{TYPE}{YEAR} +% +% Copyright types are designated by name and converted to numeric form. +% The mapping of types is defined by the code that sets the @cprtype +% counter. The language of the copyright notices is defined by \@slug. + +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} + \typeout{`#1' copyright \cpr@year.}} + +\newcount\@cprtype \@cprtype=\@ne % Default copyright type. +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@ASP{\@cprtype=5} + +\def\cpr@year{\number\year} % Default copyright year. + +% \@slug determines formatting of slugline information. +% ATTN: Check with AAS/AIP/UCP about exact wording of these. + +\def\@slug{\par\noindent + \ifcase\@cprtype + \relax + \or + Copyright \cpr@year\space by the \cpr@holder. + \or + This article is in the public domain. + \or + Crown copyright \cpr@year\space by the \cpr@holder. + \or + No copyright is claimed for this article. + \or + Copyright \cpr@year\space by the ASP. + \fi + \par\noindent + Manuscript number \@paperid.\par\noindent + \CCC@code +} + +% Authors may be asked to supply running head information. We use the +% language of the publisher here to distinguish between two pieces of +% information: the left head frequently contains an author list (last +% names, possibly truncated as et al.), while the right head frequently +% contains an abbreviated form of the paper title. The \lefthead and +% \righthead commands merely collect the information and buffer the text. +% +% \lefthead{TEXT} +% \righthead{TEXT} +% +% For the ApJ, right heads are the short titles, and the publisher would +% like for the author to specify a 44-character or less abbreviated title +% to use as the running head on right pages. + +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} + +% \@runheads determines formatting of running head information. + +\def\@runheads{\@tempcnta\c@page + \@whilenum \@tempcnta >0\do{ + \vskip 3ex + \hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} + \advance\@tempcnta by\m@ne} +} + +% The \slugcomment command is provided so authors or editors may include +% a remark about the manuscript that may be desired in print for some +% styles. For instance, authors like to include information about the +% journal and publication date of accepted papers ("To appear in AJ, +% November 1992"). +% +% \slugcomment{TEXT} +% +% The formatting of the \slugcomment information is controlled by the +% \@makeslugcmmnt command and its placement on the page is dictated +% by the presence of \@makeslugcmmnt in \sluginfo (or whatever). + +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{} + +% For PP style, slug comments are set flushright at the top of the title +% page in a parbox of 2/3 the textwidth. + +\newdimen\@slugcmmntwidth \@slugcmmntwidth .67\textwidth +\long\def\@makeslugcmmnt{\ifx\slug@comment\@empty\relax\else + \setbox\@tempboxa\hbox{\slug@comment} + \ifdim \wd\@tempboxa >\@slugcmmntwidth + \hbox to\textwidth{\hss + \parbox\@slugcmmntwidth\slug@comment} + \else + \hbox to\textwidth{\hfil\box\@tempboxa} + \fi + \vskip 2ex +\fi} + +% Editorial offices like to have receipt and acceptance dates on the front +% page for tracking purposes. The current practice is to require the author +% to type Received __________________ and Accepted ________________ lines +% for the staff to type on. The \@dates command will typeset either rules +% or the dates specified in \received and/or \accepted commands. Note that +% authors should not include \received and \accepted. + +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} + +% \@dates determines formatting of MS date information. + +\def\@dates{{\center\if@twocolumn\small\else\normalsize\fi% + {\it Received}\space% + \if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% + \if@twocolumn\\[.5ex]\else\hspace{1.5em}\fi% + {\it accepted}\space% + \if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% + \endcenter} +} + +% The \sluginfo command is executed automatically when a \begin{abstract} is +% encountered, so it is not necessary (or appropriate) for the author to +% include this line explicitly. The received/accepted business is a +% concern only for the editorial staff, hence we have arranged for the +% author not to have to fuss with it. + +\def\sluginfo{{\center + \@dates + %\@slug + %\@runheads + \endcenter}} + +\let\dates=\sluginfo % Backwards compatibility + +%\@input{text.sty} + +% **************************************** +% * FRONT MATTER * +% **************************************** + +% Make adjustments to LaTeX abstract style: optional upper case heading, +% bump size up in single column mode. This is a two-column style by +% default, and I presume most of the text will be set at 10pt. However, +% one-column front matter should be set larger. + +\def\abstract{\if@twocolumn + \section*{Abstract} + \else \large \vspace{3em} + \begin{center} + {\bf{ABSTRACT}\vspace{-.5em}\vspace{0pt}} + \end{center} + \quotation +\fi} + +% Title and author identification is by way of standard LaTeX commands +% \title and \author, although the macros themselves are rather different. +% The information is typeset by these macros in this style, rather than +% being buffered as per regular LaTeX. The authors' principal affiliation +% is specified with a separate macro \affil. Each \author command should +% be followed by its own \affil (or address). +% +% Authors often have affiliations above and beyond their main employer, +% and these are specified with the \altaffilmark and \altaffiltext commands. +% These commands behave like the \footnotemark and \footnotetext commands +% of LaTeX. \altaffilmark is appended to author's names in the \author +% lists, and generates the superscript identification numbers. +% The text for the individual alternate affiliations is generated by the +% \altaffiltext command. It is up to the author to make sure that the +% \altaffilmark numbers attached to authors' names correspond to the correct +% alternate affiliation. +% +% \title{LUCID TEXT} +% \author{NAME(S)} +% \authoraddr{AUTHOR'S POSTAL ADDRESS} +% \affil{AFFILIATION} +% \altaffilmark{TAG NUMBER(S)} +% \altaffiltext{NUMERICAL TAG}{TEXT} +% +% The typesetting performed by these commands is appropriate for the top of +% the first text page of the manuscript. They could as well be used on a +% title cover page, but vertical placement would have to be controlled by +% the author. This is not to be encouraged, since I want to discourage +% the introduction of any extra horizontal or vertical space. + +\def\title#1{{\center\if@twocolumn\large\else\Large\fi\bf#1\endcenter}} +\def\author#1{{\topsep 0pt\center + \if@twocolumn\normalsize\else\vspace{4ex}\large\fi#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-0.8ex}{\topsep 0pt\center + \if@twocolumn\small\else\normalsize\fi\it#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}} + +% Redefine the LaTeX \and command for this style. + +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} + +% **************************************** +% * KEYWORDS * +% **************************************** + +% Keywords environment. Keywords, subject headings, etc., are accommodated +% only as a piece of text; the \keywords command indents if necessary and +% supplies the proper leading text ("Keywords:", "Subject headings:", etc.) +% but does not apply formatting to the user's keyword text. The author +% must supply the correct punctuation according to the journal style. +% +% Note that the editors of A&A, ApJ, and MNRAS have discussed the issue +% of keywords, and there is disagreement about whether "subject headings" +% or "keywords" should appear after abstracts in astronomical papers. +% It does not really matter what the macro is called, so I will stick +% to \keywords since I don't know what the difference is anyway. + +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} + +\def\keywords#1{\vspace*{-.7ex}%\vspace{0pt} + \if@twocolumn\noindent{\small{\it\@keywordtext:\/}\space\@kwds{#1}} + \else{\quote\if@twocolumn\small\else\large\fi + {\it\@keywordtext:\/}\space\@kwds{#1}\endquote} + \fi} + +\let\subjectheadings=\keywords + +% It might be possible to handle keywords and their punctuation more +% automatically at some stage, but at the moment using this looping +% construct is serious overkill. It also causes problems because the +% loop delimiter is a comma, and there are keywords that legitimately +% contain commas. It also seem ponderous to me for keywords in the +% \keyword list to be delimited by `|', so I make the author responsible +% for keyword list punctuation. + +%\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do +% {\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}} + +\def\@kwds#1{#1\relax} + +% **************************************** +% * FOOTNOTES * +% **************************************** + +% The following code redefines a few things so that spacing in footnotes is +% different than LaTeX defaults. The adjustment to \skip\footins increases +% the amount of vspace inserted before the \footnoterule. Redefine +% \@makefntext to remove hspace and indentation. + +\skip\footins 3ex plus 1ex minus .5ex +\footnotesep 2ex + +\long\def\@makefntext#1{\noindent\hbox to\z@{\hss$^{\@thefnmark}$}#1} + +% **************************************** +% * SECTIONS * +% **************************************** + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- e.g., chapter=1, +% section = 2, etc. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, else +% negative of skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. + +% Adjust section heading typography slightly. The manuscript editors +% seem to like the idea that the heads will be centered, and that there +% will be a "." trailing the section number. This requires hacking below +% the normal LaTeX programming interface (\@startsection), since the +% centering has to be turned on and off again before the section starts. +% +% Also, modify the indentation behavior so that ALL paragraphs, including +% those first after section heads, are indented. This is consonant with +% the styles of many journals, although it's non-standard typographic practice. +% +% Add simple logic to engage \twocolumn when the first \section command +% is encountered if this hasn't been done already. + +\newif\if@firstsection \@firstsectiontrue + +\def\section{\if@firstsection + \if@twocolumn\relax\else\twocolumn\fi + \@firstsectionfalse\fi + \@startsection{section}{1}{\z@} + {2.3ex plus 1ex minus .2ex}{1.5ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {2ex plus 1ex minus .2ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {2ex plus 1ex minus .2ex}{1ex plus .2ex}{\normalsize\it}} + +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} + +% For ApJ, acknowledgments are set off from main body text simply by +% vertical space (no heading or type size change). I do the same for +% the AAS manuscript style. For use in producing more polished output +% for other journals, this macro might generate text saying +% "Acknowledg[e]ments". + +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments % second spelling + +% **************************************** +% * EQUATION NUMBERING * +% **************************************** + +% Redefine \appendix so that equation numbers are prepended with +% \theappendix number. Reset equation counter so that equation +% numbers in the appendix begin again with 1. Note that the +% \appendix command is NOT a sectioning command; it is merely +% a delimiting markup between the main body of the paper and the +% appendix. Sections in the appendix are still started with +% \section commands. +% +% \appendix + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \setcounter{equation}{0} + \def\thesection{\Alph{section}.} + \def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} + +% Define mathletters environment. This is a wrapper that goes +% *around* (outside of) equation or eqnarray environments. +% +% \begin{mathletters} +% \end{mathletters} + +\newcounter{cureqno} + +\newenvironment{mathletters}{\refstepcounter{equation}% + \setcounter{cureqno}{\value{equation}}% + \let\@curtheeqn\theequation% + \edef\cur@eqn{\csname theequation\endcsname}% + \def\theequation{\cur@eqn\alph{equation}}% + \setcounter{equation}{0}}% + {\let\theequation\@curtheeqn% + \setcounter{equation}{\value{cureqno}}} + +% The \eqnum command allows the author to override all automatic +% equation marking schemes. +% +% \eqnum{TEXT} + +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation + \addtocounter{equation}{\m@ne}} + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** + +% Bibliography/references environment. For the time being, I don't think +% it would be a good idea to force an implementation based on BibTeX, +% although I'll prepare for that eventuality by using the constructs and +% general ideas of the LaTeX thebibliography environment. Adjustments +% have been made so that the \cite-\bibitem mechanism can be used to cite +% references symbolically while maintaining proper citation syntax within +% the paper; the author must create the citation label for each reference +% in proper journal format in the \bibitem command. +% +% \begin{thebibliography} +% \bibitem[LABEL]{TEXTTAG} \reference +% \end{thebibliography} +% +% where LABEL must adhere to the journal's standards, e.g. "Abt 1986". +% +% It is not necessary to use the thebibliography environment. This style +% defines a references environment that simply sets off the list of references +% and adjusts spacing parameters. It is not possible to use \bibitems +% within the references environment. (The \reference command cannot be +% shortened to \ref; \ref is used in vanilla LaTeX for cross-referencing.) +% +% \begin{references} +% \reference +% \end{references} +% +% \markcite{TEXT} +% +% Observe that the bibliographic data supplied by the author must also +% conform to the standards of the journal. I have elected not to burden +% authors with tedious LaTeX commands which would require many curly braces +% to delimit the bibliographic fields because many of the journals I have +% targeted in this project have agreed to reduce typographic overhead (bolding, +% italicizing, etc.) in reference lists. (See Abt's editorial in ApJ 357.) +% It is the responsibility of the author to get these fields in the proper +% order with the correct punctuation; the information will be typeset as is, +% i.e., in roman with no size or style changes. +% +% Macros are provided for many of the oft-referenced journals so that authors +% may use the LaTeX names rather than having to look up a particular journal's +% specific abbreviation. In principle, all the journals should be using the +% same abbreviations, too, but I anticipate some changes in the specific +% abbreviations before a set is finally settled on. As long as these macros +% are kept up to date, authors need not be concerned about such editorial +% changes. +% +% Corresponding with the non-BibTeX references environment and \reference +% command for the reference list is the \markcite command. This can be +% used to identify in-text citations; in this case, the author provides +% the actual citation text as opposed to the symbolic tag. The use of +% this is encouraged, even for journals where no special formatting of +% citation call-outs is required; it is crucial for the future use of +% on-line browsers. + +\def\references{\subsection*{REFERENCES} + \bgroup\parindent=\z@\parskip=\itemsep + \def\refpar{\par\hangindent=1.2em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} + +\def\thebibliography{\subsection*{REFERENCES} + \list{\null}{\leftmargin 1.2em\labelwidth\z@\labelsep\z@\itemindent -1.2em + \usecounter{enumi}} + \def\refpar{\relax} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} + +\def\@biblabel#1{\relax} +%\def\@cite#1#2{({#1\if@tempswa , #2\fi})} +\def\@cite#1#2{#1\if@tempswa , #2\fi} + +\def\reference{\relax\refpar} % Generic: might be better... +\def\markcite#1{#1\relax} + +% Modify \@citex so that individual citation texts are NOT hboxed. +% This allows TeX to break lines at spaces between words in citations. +% Remove the obnoxious {\bf ?} that was inserted in the text when +% undefined citations are encountered; here, the warning message is +% printed only on the terminal. + +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined + {b@\@citeb}{\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} + +%\@input{mstblfig.sty} + +% **************************************** +% * TABLES AND FIGURES * +% **************************************** + +% Additions and adjustments for tables and figures. + +% Footnotes for tables are to be identified with lower case alphabetics, +% rather than numeric. \tablenotemark and \tablenotetext commands are +% provided analogous to \footnotemark and \footnotetext, but with the +% identifier *required*, like \altaffilmark and \altaffiltext. The +% \tablenotetext must be specified before the \end{table}, since +% \end{table} displays it. +% +% \tablenotemark{TAG LETTER(S)} +% \tablenotetext{ALPHA TAG}{TEXT} +% +% Note that TAG LETTER == ALPHA TAG for corresponding text. It is the +% responsibility of the author to get the correspondence correct. +% +% The table footnotes are coupled to the table in which they occur, rather +% than being associated with a particular page, and they are printed with +% the table (relatively close to the caption) instead of appearing at the +% extreme bottom of the page. This is done to ensure that the notes wind +% up on the same page as the table, since tables are floats and can migrate +% from one page to another. There is the additional benefit that the notes +% are unambiguously attached to the proper table, which is what is required +% in the event that the editorial requirement of one table only per page +% is ever changed to permit several tables per page. +% +% Footnotes are NOT supported for figures. + +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} + +% The \tablenotetext command buffers the table note text and the "proper" +% tablenote formatting information in a token buffer. The tablenotes are +% dispensed into the vertical page list by \spew@tblnotes, which is +% executed by \end{table}. Note that certain "global" tablenote formatting +% details are handled by \spew@tblnotes, which also clears the tblnote list. +% Praise and honor are due to Kresten Krab Thorup (krab@iesd.auc.dk) for +% posting ftn.sty to the Usenet, from which I drew the technique. + +\newtoks\@temptokenb +\def\tblnote@list{} + +\def\tablenotetext#1#2{ + \@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\spew@tblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \vspace{3.2ex} + \footnoterule + \vspace{.4ex} + {\footnotesize\tblnote@list} + \gdef\tblnote@list{} + \fi} + +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} + +% Add a \tableline command for use in tabular environments. This command +% produces the horizontal rule(s) between the column headings and the body +% of the table. Authors are discouraged from using any \hlines themselves, +% and are typically forbidden from using vertical rules by editors. + +\let\tableline=\hline + +% \@makecaption determines formatting for figure and table captions. +% For manuscripts, all captions should be set as flushleft paragraphs. + +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} + +% The \tablenum command allows the author to override all automatic +% table marking schemes. +% +% \tablenum{TEXT} + +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable + \addtocounter{table}{\m@ne}} + +% The \figurenum command allows the author to override all automatic +% figure marking schemes. +% +% \figurenum{TEXT} + +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure + \addtocounter{figure}{\m@ne}} + +% **************************************** +% * PLANO TABLES * +% **************************************** + +% Plano tables are camera-ready pages that are included in a typeset +% article the same way as line drawings, graphs, and other camera-ready +% art, i.e., as "planographic" figures. There are desirable properties +% for a formatter to have that are somewhat above and beyond LaTeX'x +% tabular environment that would facilitate the creation of such tables. +% Among these are breaking long tables across pages, using footnotes +% in a table, specifying comments and references for tables, etc. +% +% What follows was inspired by supertab.sty by Theo Jurriens, 1988. + +% Commands for identifying table elements in a consistent way. Observe +% that the formatting is embedded in the macro definitions so that the +% author doesn't need to be concerned about stylistic nuances. +% +% \tablecaption{TEXT} +% \tablehead{TEXT} +% \colhead{HEADING} +% \tabletail{TEXT} +% \tablewidth{DIMEN} +% \tableheadfrac{NUM} + +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol + +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex] + #1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} + +% Calculate the number of tabular rows that will fit in the body of the +% table. The height of the table body and the number of lines are +% calculated thus: +% +% bodyheight = \textheight * (1 - \pt@headfrac) +% \pt@nlines = bodyheight / (\arraystretch * \baselineskip) +% +% The row height can be seen to be valid algebraically if one examines the +% definitions for \strutbox, \@setstrut, and \@array. I could eliminate +% this calculation, as well as its attendant parameters, if it were possible +% to determine the accumulated height of the \halign box as TeX goes along. + +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight + \@tempdimb\textheight\advance\@tempdimb by-\@tempdima + \@tempdima\arraystretch\baselineskip + \divide\@tempdimb by\@tempdima + \global\pt@nlines\@tempdimb} + +% Define \pt@tabular, a ripoff of \@tabular but with \leavevmode removed +% so tabular box can be set with \setbox. I do this so that table notes +% can be set to natural width of table, if desired. Also, set \@acol +% to \@ptabacol, which is called when building the preamble for the +% \halign (assuming the first column format specification is "l", which +% it should be for ApJ tables) so that \tabskip within the table is set +% to \fill. This permits us to toggle between natural and fixed-width +% tables without requiring the user to change markup. Note that by +% forcing \tabskip always to be \fill, I pretty well nullify any +% @{\hspace} commands the user puts in the template, but this environment +% is for people who don't want to think about that sort of stuff anyway. + +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} + +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} + +% Permit different identifying strings, one for the first page of the +% table and one for continuation pages. LaTeX's \fnum@table is set to +% one or the other automatically in the environment. Note that caption +% handling is not so graceful: you have to edit inside the big macros to +% adjust this. Someday, I will be ambitious enough to fix this. + +\def\fnum@ptable{Table \thetable} +\def\fnum@ptablecont{Table \thetable---{\it Continued}} + +\def\set@mkcaption{\long\def\@makecaption##1##2{ + \center\sc##1\\[.5ex]##2\endcenter\vskip 1.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ + \center\sc##1\endcenter\vskip 1.5ex}} + +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% + \set@tblnotetext\pt@ncol=0}% + {\crcr\noalign{\vskip .7ex}\hline\endtabular% + \pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% + \typeout{Table \thetable\space has been set to width \the\pt@width}% + \endcenter\end@dblfloat} + +\def\startdata{\pt@line=0\pt@calcnlines% + \ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% + \let\fnum@table=\fnum@ptable\set@mkcaption% + \@dblfloat{table}\center\caption{\pt@caption}\leavevmode% + \setbox\pt@box=\pt@tabular{\pt@format}\pt@head} + +% A kludgey kind of line delimiter is needed so that the line counter +% can be checked prior to adding the line to the alignment box. This +% is bad because this form does not permit the addition of vertical +% space using the [.5ex] construct; this has to be done with an explicit +% \vskip. And a disgusting \noalign is required, so I have to create +% another silly piece of markup to accomplish this conveniently. +% +% What is desired, of course, is for this line count checking to take +% place within the syntax of the regular LaTeX \\ command. I have been +% giving myself apoplexy trying to figure this out for the last 36 hours, +% and I have decided I will have to wait for the onset of my "lucid +% period" for a solution. In the meantime... + +\def\pt@nl{\global\advance\pt@line by\@ne% + \ifnum\pt@line=\pt@nlines% + \endtabular\box\pt@box + \endcenter\end@dblfloat\clearpage% + \addtocounter{table}{\m@ne}% + \let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% + \@dblfloat{table}\center\caption{\pt@caption}\leavevmode% + \global\pt@ncol=0% + \setbox\pt@box=\pt@tabular{\pt@format}\pt@head% + \global\pt@line=0% + \else\\ + \fi} + +% Author markup commands for planotable environment line breaks. +% +% \nl == \nextline +% \tablevspace{DIMEN} +% \tablebreak + +\let\nl=\pt@nl +\let\nextline=\pt@nl + +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} + +% We have some specialty heads that are sometimes wanted in tables. +% +% \cutinhead{TEXT} +% \sidehead{TEXT} + +\def\cutinhead#1{\noalign{\vskip 1.5ex} + \hline\pt@nl\noalign{\vskip -2.0ex} + \multicolumn{\pt@ncol}{c}{#1}\pt@nl + \noalign{\vskip .8ex} + \hline\pt@nl\noalign{\vskip -2ex}} + +\def\sidehead#1{\noalign{\vskip 1.5ex} + \multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl + \noalign{\vskip .5ex}} + +\def\set@tblnotetext{\def\tablenotetext##1##2{{% + \@temptokena={\vspace{0ex}{% + \parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} + +\def\spew@ptblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \par + \vspace{2ex} + {\tblnote@list} + \gdef\tblnote@list{} + \fi} + +% Special kinds of table footnotes. Sometimes authors tabulate things +% which have corresponding references, and it may be desirable to associate +% these references with the table rather than (or in addition to) the +% formal reference list. Occasionally, authors wish to append a short +% paragraph of explanatory notes that pertain to the entire table, but +% which are different than the caption. +% +% \tablerefs{REFERENCE LIST} +% \tablecomments{TEXT} + +\def\tablerefs#1{\@temptokena={\vspace*{3ex}{% + \parbox{\pt@width}{\hskip1em{\sc References.---}#1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\tablecomments#1{\@temptokena={\vspace*{3ex}{% + \parbox{\pt@width}{\hskip1em{\sc Note.---}#1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +% Figure and table style parameters. + +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} + +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} + +% Figure and table float positions. + +\def\fps@figure{bp} +\def\fps@table{bp} + +% **************************************** +% * EPS INCLUSIONS * +% **************************************** + +% Include Rokicki's epsf.sty file explicitly. + +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} + +% Simplified EPS inclusion macros so we can see how this goes... +% These are layered on Rokicki's dvips material, and are dependent +% on the author's use of that DVI driver. +% +% \plotone{EPSFILE} +% \plottwo{EPSFILE}{EPSFILE} +% \plotfiddle{EPSFILE}{VSIZE}{ROT}{HSF}{VSF}{HTRANS}{VTRANS} +% +% \plotone inserts the plot in a space that is \columnwidth wide; the +% plot is scaled so the horizontal dimension fits in the text width, +% and the vertical dimension is scaled to maintain the aspect ratio. +% \plottwo inserts two plots next to each other in one \columnwidth, +% sort of like "two-up" mode. +% +% EPSFILE name of file with EPS +% +% The following arguments are for the \plotfiddle macro which formats +% the \special itself, prepares vspace, etc. This completely bypasses +% Rokicki's macros that attempt to rationalize the EPS BoundingBox with +% the LaTeX page dimensions. +% +% VSIZE vertical white space to allow for plot +% ROT rotation angle +% HSF horiz scale factor +% VSF vert scale factor +% HTRANS horiz translation +% VTRANS vert translation + +%\epsfverbosetrue + +\def\plotone#1{\centering \leavevmode + \epsfxsize=\columnwidth \epsfbox{#1}} + +\def\plottwo#1#2{\centering \leavevmode + \epsfxsize=.45\columnwidth \epsfbox{#1} \hfil + \epsfxsize=.45\columnwidth \epsfbox{#2}} + +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode + \vbox to#2{\rule{0pt}{#2}} + \special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} + +%\@input{abbrevs.sty} + +% **************************************** +% * ABBREVIATIONS * +% **************************************** + +% Abbreviations for journals. The object here is to provide authors +% with convenient shorthands for the most "popular" (often-cited) +% journals; the author can use these markup tags without being concerned +% about the exact form of the journal abbreviation, or its formatting. +% It is up to the keeper of the macros to make sure the macros expand +% to the proper text. If macro package writers agree to all use the +% same TeX command name, authors only have to remember one thing, and +% the style file will take care of editorial preferences. This also +% applies when a single journal decides to revamp its abbreviating +% scheme, as happened with the ApJ (Abt 1991). + +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} + +\def\aj{\ref@jnl{AJ}} % Astronomical Journal +\def\araa{\ref@jnl{ARA\&A}} % Annual Review of Astron and Astrophys +\def\apj{\ref@jnl{ApJ}} % Astrophysical Journal +\def\apjl{\ref@jnl{ApJ}} % Astrophysical Journal, Letters +\def\apjs{\ref@jnl{ApJS}} % Astrophysical Journal, Supplement +\def\ao{\ref@jnl{Appl.Optics}} % Applied Optics +\def\apss{\ref@jnl{Ap\&SS}} % Astrophysics and Space Science +\def\aap{\ref@jnl{A\&A}} % Astronomy and Astrophysics +\def\aapr{\ref@jnl{A\&A~Rev.}} % Astronomy and Astrophysics Reviews +\def\aaps{\ref@jnl{A\&AS}} % Astronomy and Astrophysics, Supplement +\def\azh{\ref@jnl{AZh}} % Astronomicheskii Zhurnal +\def\baas{\ref@jnl{BAAS}} % Bulletin of the AAS +\def\jrasc{\ref@jnl{JRASC}} % Journal of the RAS of Canada +\def\memras{\ref@jnl{MmRAS}} % Memoirs of the RAS +\def\mnras{\ref@jnl{MNRAS}} % Monthly Notices of the RAS +\def\pra{\ref@jnl{Phys.Rev.A}} % Physical Review A: General Physics +\def\prb{\ref@jnl{Phys.Rev.B}} % Physical Review B: Solid State +\def\prc{\ref@jnl{Phys.Rev.C}} % Physical Review C +\def\prd{\ref@jnl{Phys.Rev.D}} % Physical Review D +\def\prl{\ref@jnl{Phys.Rev.Lett}} % Physical Review Letters +\def\pasp{\ref@jnl{PASP}} % Publications of the ASP +\def\pasj{\ref@jnl{PASJ}} % Publications of the ASJ +\def\qjras{\ref@jnl{QJRAS}} % Quarterly Journal of the RAS +\def\skytel{\ref@jnl{S\&T}} % Sky and Telescope +\def\solphys{\ref@jnl{Solar~Phys.}} % Solar Physics +\def\sovast{\ref@jnl{Soviet~Ast.}} % Soviet Astronomy +\def\ssr{\ref@jnl{Space~Sci.Rev.}} % Space Science Reviews +\def\zap{\ref@jnl{ZAp}} % Zeitschrift fuer Astrophysik + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs + +%\@input{misc.sty} + +% **************************************** +% * MISCELLANEOUS * +% **************************************** + +% Handy little things everybody works out for themselves anyway. Many +% of these come from Springer's A&A package, and some were contributed +% by Francois Schweizer at DTM. You can go berserk making these up, +% especially when you start getting into the composite ones. We have +% tried to select a tractable number that were useful, and somewhat +% difficult to get right because fussy kerning or some such is required. +% Most can be used in or out of math mode with impunity; \alt and \agt +% are relations and can only be used in math mode. + +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} + +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim + +% Permit author to typeset "case" fractions. This is sometimes +% wanted in displayed equations, during which LaTeX will set fractions +% specified as \frac{x}{y} as "built-up" fractions (numerator and +% denominator at body text size). + +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} + +% Permit author to typeset fractions set with solidus where the size +% is reduced and the numerals are oriented diagonally. Note that this +% is different from a "shilled" fraction, which the author can produce +% without any special formatting markup. Define markup shorthands for +% several common fractions using solidus. + +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} + +\def\ubvr{\hbox{$U\!BV\!R$}} % UBVR system +\def\ub{\hbox{$U\!-\!B$}} % U-B +\def\bv{\hbox{$B\!-\!V$}} % B-V +\def\vr{\hbox{$V\!-\!R$}} % V-R +\def\ur{\hbox{$U\!-\!R$}} % U-R + +% Notation for atomic species (ionization levels). The ionization state +% is specified as the second argument, and should be given as a numeral. +% The macro has to expand the numeric state into the proper notation for +% the publication (roman, numeric, plus signs, etc.) +% +% \ion{ELEMENT}{IONIZATION STATE} + +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} + +% Centered ellipsis for use in tables (for unknown values). \nodata +% is generalized markup for this notion: format of null-valued entries +% in tables is style-specific. + +%\def\cellipsis{\hfill$\cdots$\hfill} +\def\nodata{\multicolumn{1}{c}{$\cdots$}} + +% This is a generalization of the \LaTeX definition that comes in LaTeX. +% The change here ensures that LaTeX will be typeset in the current style, +% rather than always in roman. + +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex + \hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} + +% **************************************** +% * DEBUGGING * +% **************************************** + +\def\sizrpt{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font + \typeout{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/aaspptwo.sty b/obsolete/macros/latex209/contrib/aasmacros/aaspptwo.sty new file mode 100644 index 0000000000..8ac3c98fa2 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/aaspptwo.sty @@ -0,0 +1,398 @@ +\def\revtex@ver{3.0} +\def\revtex@date{10 Jan 93} +\def\revtex@org{AAS} +\def\revtex@jnl{AAS} +\def\revtex@genre{2-column preprint} +\typeout{\revtex@org\space \revtex@genre\space substyle, +v\revtex@ver\space <\revtex@date>.} +\def\revtex@pageid{\xdef\@thefnmark{\null} +\@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} +\def\genre@MS{manuscript} +\def\genre@PP{preprint} +\ifx\revtex@genre\genre@MS +\ifnum\@ptsize<2 +\typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Use 12pt documentstyle option.} +\fi +\fi +\def\ps@plaintop{\let\@mkboth\@gobbletwo +\def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} +\def\@evenfoot{}\let\@evenhead\@oddhead} +\ps@plain +\textwidth=6.9in +\textheight=8.4in +\topmargin=0in +\headheight=.15in +\headsep=.35in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=1.2em +\parskip=0.5ex +\columnsep=0.5in +\hoffset=-0.2in +\tolerance=600 +\def\@tightleading{1.1} +\def\@doubleleading{1.6} +\let\tighten=\relax +\let\tightenlines=\tighten +\let\singlespace=\relax +\let\doublespace=\relax +\def\sec@upcase#1{\relax{#1}} +\def\eqsecnum{ +\@newctr{equation}[section] +\def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} +\typeout{`#1' copyright \cpr@year.}} +\newcount\@cprtype \@cprtype=\@ne +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@ASP{\@cprtype=5} +\def\cpr@year{\number\year} +\def\@slug{\par\noindent +\ifcase\@cprtype + \relax +\or + Copyright \cpr@year\space by the \cpr@holder. +\or + This article is in the public domain. +\or + Crown copyright \cpr@year\space by the \cpr@holder. +\or + No copyright is claimed for this article. +\or + Copyright \cpr@year\space by the ASP. +\fi +\par\noindent +Manuscript number \@paperid.\par\noindent +\CCC@code +} +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} +\def\@runheads{\@tempcnta\c@page +\@whilenum \@tempcnta >0\do{ +\vskip 3ex +\hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} +\advance\@tempcnta by\m@ne} +} +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{} +\newdimen\@slugcmmntwidth \@slugcmmntwidth .67\textwidth +\long\def\@makeslugcmmnt{\ifx\slug@comment\@empty\relax\else +\setbox\@tempboxa\hbox{\slug@comment} +\ifdim \wd\@tempboxa >\@slugcmmntwidth +\hbox to\textwidth{\hss + \parbox\@slugcmmntwidth\slug@comment} +\else +\hbox to\textwidth{\hfil\box\@tempboxa} +\fi +\vskip 2ex +\fi} +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} +\def\@dates{{\center\if@twocolumn\small\else\normalsize\fi% +{\it Received}\space% +\if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% +\if@twocolumn\\[.5ex]\else\hspace{1.5em}\fi% +{\it accepted}\space% +\if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% +\endcenter} +} +\def\sluginfo{{\center +\@dates + + +\endcenter}} +\let\dates=\sluginfo +\def\abstract{\if@twocolumn +\section*{Abstract} +\else \large \vspace{3em} +\begin{center} +{\bf{ABSTRACT}\vspace{-.5em}\vspace{0pt}} +\end{center} +\quotation +\fi} +\def\title#1{{\center\if@twocolumn\large\else\Large\fi\bf#1\endcenter}} +\def\author#1{{\topsep 0pt\center +\if@twocolumn\normalsize\else\vspace{4ex}\large\fi#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-0.8ex}{\topsep 0pt\center +\if@twocolumn\small\else\normalsize\fi\it#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}} +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} +\def\keywords#1{\vspace*{-.7ex} +\if@twocolumn\noindent{\small{\it\@keywordtext:\/}\space\@kwds{#1}} +\else{\quote\if@twocolumn\small\else\large\fi +{\it\@keywordtext:\/}\space\@kwds{#1}\endquote} +\fi} +\let\subjectheadings=\keywords +\def\@kwds#1{#1\relax} +\skip\footins 3ex plus 1ex minus .5ex +\footnotesep 2ex +\long\def\@makefntext#1{\noindent\hbox to\z@{\hss$^{\@thefnmark}$}#1} +\newif\if@firstsection \@firstsectiontrue +\def\section{\if@firstsection +\if@twocolumn\relax\else\twocolumn\fi +\@firstsectionfalse\fi +\@startsection{section}{1}{\z@} +{2.3ex plus 1ex minus .2ex}{1.5ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} +{2ex plus 1ex minus .2ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} +{2ex plus 1ex minus .2ex}{1ex plus .2ex}{\normalsize\it}} +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments +\def\appendix{\par +\setcounter{section}{0} +\setcounter{subsection}{0} +\setcounter{equation}{0} +\def\thesection{\Alph{section}.} +\def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} +\newcounter{cureqno} +\newenvironment{mathletters}{\refstepcounter{equation}% +\setcounter{cureqno}{\value{equation}}% +\let\@curtheeqn\theequation% +\edef\cur@eqn{\csname theequation\endcsname}% +\def\theequation{\cur@eqn\alph{equation}}% +\setcounter{equation}{0}}% +{\let\theequation\@curtheeqn% +\setcounter{equation}{\value{cureqno}}} +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation +\addtocounter{equation}{\m@ne}} +\def\references{\subsection*{REFERENCES} +\bgroup\parindent=\z@\parskip=\itemsep +\def\refpar{\par\hangindent=1.2em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} +\def\thebibliography{\subsection*{REFERENCES} +\list{\null}{\leftmargin 1.2em\labelwidth\z@\labelsep\z@\itemindent -1.2em +\usecounter{enumi}} +\def\refpar{\relax} +\def\newblock{\hskip .11em plus .33em minus .07em} +\sloppy\clubpenalty4000\widowpenalty4000 +\sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} +\def\@biblabel#1{\relax} +\def\@cite#1#2{#1\if@tempswa , #2\fi} +\def\reference{\relax\refpar} +\def\markcite#1{#1\relax} +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi +\def\@citea{}\@cite{\@for\@citeb:=#2\do +{\@citea\def\@citea{,\penalty\@m\ }\@ifundefined +{b@\@citeb}{\@warning +{Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} +\newtoks\@temptokenb +\def\tblnote@list{} +\def\tablenotetext#1#2{ +\@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\spew@tblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\vspace{3.2ex} +\footnoterule +\vspace{.4ex} +{\footnotesize\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} +\let\tableline=\hline +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable +\addtocounter{table}{\m@ne}} +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure +\addtocounter{figure}{\m@ne}} +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex] +#1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight +\@tempdimb\textheight\advance\@tempdimb by-\@tempdima +\@tempdima\arraystretch\baselineskip +\divide\@tempdimb by\@tempdima +\global\pt@nlines\@tempdimb} +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol +\let\@classz\@tabclassz +\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} +\def\fnum@ptable{Table \thetable} +\def\fnum@ptablecont{Table \thetable---{\it Continued}} +\def\set@mkcaption{\long\def\@makecaption##1##2{ +\center\sc##1\\[.5ex]##2\endcenter\vskip 1.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ +\center\sc##1\endcenter\vskip 1.5ex}} +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% +\set@tblnotetext\pt@ncol=0}% +{\crcr\noalign{\vskip .7ex}\hline\endtabular% +\pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% +\typeout{Table \thetable\space has been set to width \the\pt@width}% +\endcenter\end@dblfloat} +\def\startdata{\pt@line=0\pt@calcnlines% +\ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% +\let\fnum@table=\fnum@ptable\set@mkcaption% +\@dblfloat{table}\center\caption{\pt@caption}\leavevmode% +\setbox\pt@box=\pt@tabular{\pt@format}\pt@head} +\def\pt@nl{\global\advance\pt@line by\@ne% +\ifnum\pt@line=\pt@nlines% +\endtabular\box\pt@box +\endcenter\end@dblfloat\clearpage% +\addtocounter{table}{\m@ne}% +\let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% +\@dblfloat{table}\center\caption{\pt@caption}\leavevmode% +\global\pt@ncol=0% +\setbox\pt@box=\pt@tabular{\pt@format}\pt@head% +\global\pt@line=0% +\else\\ +\fi} +\let\nl=\pt@nl +\let\nextline=\pt@nl +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} +\def\cutinhead#1{\noalign{\vskip 1.5ex} +\hline\pt@nl\noalign{\vskip -2.0ex} +\multicolumn{\pt@ncol}{c}{#1}\pt@nl +\noalign{\vskip .8ex} +\hline\pt@nl\noalign{\vskip -2ex}} +\def\sidehead#1{\noalign{\vskip 1.5ex} +\multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl +\noalign{\vskip .5ex}} +\def\set@tblnotetext{\def\tablenotetext##1##2{{% +\@temptokena={\vspace{0ex}{% +\parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} +\def\spew@ptblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\par +\vspace{2ex} +{\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\tablerefs#1{\@temptokena={\vspace*{3ex}{% +\parbox{\pt@width}{\hskip1em{\sc References.---}#1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\tablecomments#1{\@temptokena={\vspace*{3ex}{% +\parbox{\pt@width}{\hskip1em{\sc Note.---}#1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} +\def\fps@figure{bp} +\def\fps@table{bp} +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} +\def\plotone#1{\centering \leavevmode +\epsfxsize=\columnwidth \epsfbox{#1}} +\def\plottwo#1#2{\centering \leavevmode +\epsfxsize=.45\columnwidth \epsfbox{#1} \hfil +\epsfxsize=.45\columnwidth \epsfbox{#2}} +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode +\vbox to#2{\rule{0pt}{#2}} +\special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} +\def\aj{\ref@jnl{AJ}} +\def\araa{\ref@jnl{ARA\&A}} +\def\apj{\ref@jnl{ApJ}} +\def\apjl{\ref@jnl{ApJ}} +\def\apjs{\ref@jnl{ApJS}} +\def\ao{\ref@jnl{Appl.Optics}} +\def\apss{\ref@jnl{Ap\&SS}} +\def\aap{\ref@jnl{A\&A}} +\def\aapr{\ref@jnl{A\&A~Rev.}} +\def\aaps{\ref@jnl{A\&AS}} +\def\azh{\ref@jnl{AZh}} +\def\baas{\ref@jnl{BAAS}} +\def\jrasc{\ref@jnl{JRASC}} +\def\memras{\ref@jnl{MmRAS}} +\def\mnras{\ref@jnl{MNRAS}} +\def\pra{\ref@jnl{Phys.Rev.A}} +\def\prb{\ref@jnl{Phys.Rev.B}} +\def\prc{\ref@jnl{Phys.Rev.C}} +\def\prd{\ref@jnl{Phys.Rev.D}} +\def\prl{\ref@jnl{Phys.Rev.Lett}} +\def\pasp{\ref@jnl{PASP}} +\def\pasj{\ref@jnl{PASJ}} +\def\qjras{\ref@jnl{QJRAS}} +\def\skytel{\ref@jnl{S\&T}} +\def\solphys{\ref@jnl{Solar~Phys.}} +\def\sovast{\ref@jnl{Soviet~Ast.}} +\def\ssr{\ref@jnl{Space~Sci.Rev.}} +\def\zap{\ref@jnl{ZAp}} +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} +\let\la=\lesssim +\let\ga=\gtrsim +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} + + +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} +\def\ubvr{\hbox{$U\!BV\!R$}} +\def\ub{\hbox{$U\!-\!B$}} +\def\bv{\hbox{$B\!-\!V$}} +\def\vr{\hbox{$V\!-\!R$}} +\def\ur{\hbox{$U\!-\!R$}} +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} +\def\nodata{\multicolumn{1}{c}{$\cdots$}} +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex +\hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} +\def\sizrpt{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +\typeout{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/aastex.tex b/obsolete/macros/latex209/contrib/aasmacros/aastex.tex new file mode 100644 index 0000000000..6d7f7c98ad --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/aastex.tex @@ -0,0 +1,1670 @@ +% MANUAL.TEX -- User input guide for AAS\TeX\ markup package. + +\documentstyle[aaspptwo]{article} + +\textwidth 7.3in +\hoffset=-0.4in % This centers the extra wide page +\voffset=-0.4in % This is because the printer I use prints too low... +\def\baselinestretch{0.96} + +\hyphenation{com-pu-scripts} + +\begin{document} +\twocolumn + +\title{The AAS\TeX\ Macros for\\ + Manuscript Preparation} + +\author{Chris Biemesderfer} +\affil{American Astronomical Society} +\authoraddr{P.O. Box 1180, Oracle, AZ 85623} + +\vspace{.2in} + +The AAS has developed an author markup package to assist authors in +preparing manuscripts for articles that +are intended for submission to the AAS- and ASP-affiliated journals. +It is important that the markup used by authors in electronic +manuscripts (sometimes called compuscripts) be consistent and +standardized so that such manuscripts can be widely accepted +by the journals, ultimately so that they can become part of +the normal production procedures. + +This guide contains basic instructions for creating +manuscripts using the AAS\TeX\ markup package, which functions +as substyles to the standard \LaTeX\ {\tt article} style. +Authors are expected to be familiar with the editorial +requirements of the journals so that they can make +appropriate submissions, as well as to have at least +a rudimentary knowledge of \TeX\ (for instance, knowing +how to set up equations using \TeX\ commands). +It is unrealistic to provide a tutorial on \TeX; +readers who are unfamiliar with \TeX\ are advised +that they will need additional sources of information. +A number of useful publications are listed in the +references section of this guide. + +\section{Introduction} + +The AAS\TeX\ author-prepared package was developed to provide +authors with a consistent means of preparing articles for +submission to AAS and ASP journals. The most important aspect of the +package is that it defines the set of commands (called {\sl markup\/}) +that can be used to identify the structural elements of papers. +When articles are marked up using this set of standard commands, +the papers can be submitted electronically to the editorial +offices, and it can also eventually be passed along to the publisher. + +For purposes of producing paper output, the AAS\TeX\ package contains +a number of \LaTeX\ style files that produce variously formatted pages. +There is a ``manuscript'' style, two ``preprint'' styles, and +two ``plano table'' styles. +The manuscript style is used for papers that are submitted to +AAS and ASP journals for review. +The preprint styles render articles in a compact form that may +be suitable for distribution among colleagues. +The plano table styles are used by authors who wish to submit +camera-ready tables to the journals for publication. + +\section{General preparation instructions} + +Computer manuscripts must include all the necessary components, +e.g., a title, author names and their affiliations, +an abstract, a main body, tables, etc., in the proper +order according to the editorial requirements of the journal. +It is the author's responsibility to ensure that the article +conforms to all editorial specifications regarding content and +organization, mathematical formul\ae, chemical names, etc. + +In the sections that follow, we review some essential procedures +that must be followed when preparing \TeX\ input. + +\subsection{Running text} + +Printing is different from typewriting, and \TeX\ is different +from other word processing tools. This section consists of +reminders (admonitions) about things that require special +attention so that \TeX\ can format the input properly. + +The ends of words and sentences are marked by white space, and +it doesn't matter how many spaces are typed; one is as good as 100. +\TeX\ treats the end of a line in the input file as a space. + +Paragraphs are separated by blank lines. +Don't hyphenate words in the input file; +\TeX\ takes care of hyphenation automatically. +Continue to hyphenate modifiers within a line of text, e.g., +``author-prepared copy.'' + +Quotation marks should be typed as pairs of opening and +closing single quotes, e.g., {\tt ``quoted text''}; +don't use double quotes ({\tt "bad form"}). + +Do not underline. +In printing, text is emphasized by changing the type style, +usually to {\sl slanted\/} or {\it italic\/} type. + +A number of common characters are interpreted as commands, +and these must be entered specially, by preceding them with +a backslash (\verb"\"): \$ \& \% \# \{ and \} must be typed +\verb"\$" \verb"\&" \verb"\%" \verb"\#" \verb"\{" and \verb"\}". + +Authors should refrain from adding vertical or horizontal space. +Concentrate on the content of the document and identifying its +components with the structural markup commands. +Authors should avoid creating new commands by using \LaTeX\ commands +that create ``private'' markup commands that are not described in this guide. + +\subsection{Math} + +Mathematical expressions that are part of the running text are +delimited by a single dollar sign (\$), +e.g., \verb"$\pi r^2$" yields $\pi r^2$. +To get the appropriately sized superscript or subscript in the +roman font, use the \verb"\rm" command, e.g., +\verb"$J_{\rm HF}(t)$" produces $J_{\rm HF}(t)$. + +Displayed equations can be delimited in several ways. +The most concise markup is to bracket the equation between +\verb"\[" and \verb"\]" commands, +which is equivalent to placing the formula in a {\tt displaymath} +environment. These markup commands will produce +{\sl unnumbered} equations. + +Numbered equations can be typeset by typing the formula in +an {\tt equation} environment. +A series of related equations that need vertical alignment, +e.g., a derivation where alignment is wanted on the equal sign (=), +can be typeset in an {\tt eqnarray} environment. + +While it is possible for authors to assign their own equation numbers, +it is easier to let \LaTeX\ number them automatically. +By default, \LaTeX\ will number equations sequentially from the +beginning of the paper to the end. + +It is sometimes appropriate for equation numbering sequences +to carry through sections of the paper only. +Equations can be numbered ({\it sec-eqn}) by placing the command +\verb"\eqsecnum" in the preamble of the document. + +\subsection{Tables} + +Tables are notoriously difficult to compose, +and great care and patience are usually required +before tabular information can be typeset satisfactorily. +Tables should be placed in separate table environments, +i.e., the tabular material must be enclosed within +\verb"\begin{table}" and \verb"\end{table}" commands. +Tables should have a title or caption and the correct +number of descriptive column headings. +A single horizontal rule should be set after the column headings +with the \verb"\tableline" command. +Do not insert any other horizontal or vertical +lines in the body of the table. + +The {\tt planotable} environment is intended to make it easier +to prepare camera-ready tables, although +many authors will find {\tt planotable} +suitable for {\sl all\/} tables. +Authors who are using the plano tables styles to prepare +camera-ready tables are urged to read the plano tables +section carefully. + +Notes in tables should be marked by +\verb"\tablenotemark"; +corresponding text should appear in a +\verb"\tablenotetext" command. + +\subsection{Cross-referencing} + +Cross-referencing equations, tables, and figures +in text depends upon the use of ``tags'', which +are defined by the user. The \verb"\label" command is used +to define cross-reference tags for \LaTeX; \verb"\ref" is used to +refer to them. Tags are simply text strings that +serve to label equations, tables, and figures, so that +they may be referred to symbolically in the text. +Authors should place \verb"\label" commands immediately +after the markup command that starts the structure being referenced. +References to page numbers should {\sl not} be made. + +\LaTeX\ keeps track of autonumbered counters and cross-reference +information by maintaining an auxiliary file in the same working +directory as the source file. The auxiliary file will have an +extension of {\tt .aux}. This file should not be deleted, since +subsequent \LaTeX\ processing uses the auxiliary data to resolve +references, etc. + +The auxiliary file mechanism makes it necessary to run \LaTeX\ +on a given source file more than once to +ensure that the cross-reference information has been properly resolved. +This is most evident when changes are made that affect the number +or the placement of equations, tables, and the like. +\LaTeX\ will typically issue a warning message that advises +the user to ``rerun to get cross-references right'', +in which case, run \LaTeX\ again. +If the error message appears after two successive \LaTeX\ runs, +it is likely that a reference has been made to an undefined label. + +\subsection{Alternate style options} + +It is not the objective of the AAS\TeX\ project to develop \LaTeX\ styles +that produce pages that mimic the appearance of specific journals. +Since this is the case, we have chosen +to provide several format options within the preprint styles +themselves so that output format can be varied. +The {\tt aaspp} substyle offers a single-spaced alternative for manuscripts, +for instance. The primary motivation behind this idea is to provide some +definitions that permit individuals to distribute ``pretty'' preprints +with this package. +In recognition of the fact that beauty is in the eye of the beholder, +there is no intention that any of these styles should define pretty. + +Editors prefer a large typeface with +adequate space between typed lines for technical editing marks and +wide margins for editor and author comments. +The use of the {\tt aasms} substyle will produce +double-spaced, full-width output by default. + +Authors may prefer a denser form of output for distribution +to colleagues who are primarily interested in reading the paper, as +opposed to copy editing it. +The {\tt aaspp} substyle is similar to the manuscript style, +but it is single-spaced, and it is possible to use a smaller typeface. +For wide text lines (as in the {\tt aaspp} style), it is advisable +to use faces no smaller than 11 points ({\tt 11pt} substyle option). +Author's remarks appear in the upper right corner of the title page, +and no explicit page breaks are inserted in the front matter by the style. + +Another alternative is to include the \verb"\tighten" command +in the document preamble when the {\tt aasms} substyle is used; +its effect is to reduce the vertical spacing in the text. +The rest of the formatting will be identical to the manuscript format. + +For institutional purposes, it may be preferable for preprints +to be set in two columns, have running heads, etc. +The {\tt aaspptwo} substyle may be used instead to produce +two-column pages. +This style can be used as is, but it can also serve as a point of +departure for \LaTeX\ style writers at institutions that want +preprints of this general nature. + +The preparation of ``plano tables'' (camera-ready, or {\sl planographic\/}) +is possible by using one of the style files \verb"aj_pt" or \verb"apjpt". +These styles produce tables in formats suitable for the \aj\ and the +\apj, respectively; the \verb"aj_pt" style could be used to create +camera-ready tables for \pasp\ as well. These styles are intended +primarily for the production of tables that the author wishes to +submit camera-ready; they are not designed to produce journal pages. + +\section{Command descriptions} +\setcounter{secnumdepth}{1} + +This section describes the commands in the AAS\TeX\ markup +package that an author might enter in an electronic manuscript. +In the interest of completeness, all the structural markup that +is needed to identify components is discussed. +The commands will be described in roughly the same order as they +would appear in a manuscript. +The reader will probably find it helpful to examine the +sample papers (\verb"sample1.tex" and \verb"sample2.tex") as well. + +\subsection{Preamble} + +Most documents processed with a formatter have a collection of +commands at the beginning of the file that establish settings +for global parameters; this initialization section is sometimes +called the {\sl preamble}. In \LaTeX\ manuscripts, the +preamble is that portion of the file before the +\verb"\begin{document}" command. + +The first piece of markup in the manuscript must declare the +overall style of the document. +\begin{quote} +\verb"\documentstyle[12pt,aasms]{article}" +\end{quote} +The \verb"\documentstyle" command must appear first in any +\LaTeX\ file, and this one specifies the main style to be +the {\tt article} style using twelve point fonts, +with modifications and additions for the {\tt aasms} substyle. +It is preferable to use fonts at twelve points to prevent +illegibility due to exceedingly long lines +(too many characters on a line make it hard to read). +The {\tt aasms} substyle will issue a warning message +if the font size is smaller than twelve points, and the +size will be set to twelve points; the file will still be processed. + +Tightening the vertical spacing +in the text results in output that may be attractive for distribution +to colleagues who are primarily interested in reading the paper, as +opposed to copy editing it. Authors may include~a +\begin{quote} +\verb"\tighten" +\end{quote} +declaration in the preamble to direct the formatter to produce +a somewhat denser manuscript. +If the authors prefer not to insert this markup directly, +the same effect can be achieved with the \verb"tighten" +document substyle. +\begin{quote} +\verb"\documentstyle[aasms,tighten]{article}" +\end{quote} + +Double-spaced output for referees and +copy editors is the main objective of this style, hence +the double-spacing occurs by default. +Neither the \verb"\tighten" command nor the \verb"tighten" +substyle should be used for manuscripts +submitted to the editorial office for scientific review. + +\subsubsection{Preprint format} + +A single-column preprint format can be specified with the {\tt aaspp} +substyle option. +\begin{quote} +\verb"\documentstyle[11pt,aaspp]{article}" +\end{quote} +The size of the typeface used is under author control by way of +\LaTeX's {\tt NNpt} article subtyles (where {\tt NN} is 10, 11, or 12). +Use of 10 point type is not recommended with the {\tt aaspp} style. + +Authors may wish to adjust vertical spacing within a preprint, +for instance, double-spacing text while single-spacing tables. +Authors who want to alternate between single and double +spacing in the manuscript may use the following commands. +\begin{quote} +\verb"\singlespace"\\ +\verb"\doublespace" +\end{quote} +\verb"\singlespace" sets the vertical spacing to a smaller value, +while \verb"\doublespace" causes double-spacing. +These are different from \verb"\tighten", which is intended for use +in the preamble of the article. + +\subsubsection{Two-column format} + +The {\tt aaspptwo} substyle has the principle function of setting +up two-column output. +\begin{quote} +\verb"\documentstyle[aaspptwo]{article}" +\end{quote} +Although it is quite obvious, it is important to remember +that text lines are considerably shorter when two of them are typeset +side by side on a page. Long equations, wide tables and figures, and +the like, may not typeset in this format without some adjustments. +The expenditure of great effort to adapt copy and markup for +two-column pages is probably counterproductive. +Remember that the main +goal of this package at this point is to produce ``correct'' draft +(or referee) format pages; +it is the responsibility of the editors and publishers to +produce publication format papers for the journals. + +The {\tt aaspptwo} substyle does not +impose a format for the article's front matter, +although there is often merit in setting the title, author, abstract, +and keyword material on a separate page at full text width. +The author may supply the +\verb"\twocolumn" command wherever desired. +\begin{quote} +\verb"\twocolumn" +\end{quote} +Note that the two-column format begins at the point \verb"\twocolumn" +appears in the text, and if that point is before the front matter, +title and author and so forth will be typeset in two-column mode +along with the rest of the paper; that's how this manual is prepared, +for example. +For purposes of producing ``pretty'' output, it is probably desirable +to put the \verb"\twocolumn" command after the abstract and keywords, +just before the body of the paper. +If \verb"\twocolumn" is not specified explicitly in {\tt aaspptwo} +style documents, the introductory material of the paper will be set +in one-column mode; the first \verb"\section" command (presumably +demarcating the beginning of the main body of the article) will +engage the two-column mode. + +\subsubsection{Slug line data} + +Journal and article identification information is established by the +editorial staff. The following markup will be used by personnel at the +editorial office to record slug-line data; +these commands appear in the manuscript preamble. +These pieces of markup can be used to facilitate communication between +the editorial office and the publisher. + +\begin{quote} +\verb"\received{RECEIPT DATE}"\\ +\verb"\revised{REVISION DATE}"\\ +\verb"\accepted{ACCEPT DATE}" +\end{quote} + +For preprints and manuscripts in draft/referee format, etc., +the slug-line information is irrelevant and generally in those styles +of that nature, the data are never formatted or printed. +Receipt and acceptance dates (or blank lines representing them) are +printed on {\tt aasms} articles, that is, on true manuscripts. +The {\tt aaspp} and {\tt aaspptwo} styles do not print the rules or the dates. +Authors do not know what these dates are, however, +so there is no reason for the author to include +\verb"\received" and \verb"\accepted" commands in manuscripts. +Editorial staff will insert the correct information as appropriate. + +\begin{quote} +\verb"\journalid{VOL}{JOURNAL DATE}"\\ +\verb"\articleid{START PAGE}{END PAGE}"\\ +\verb"\paperid{MANUSCRIPT ID}" +\end{quote} + +The \verb"\journalid" and \verb"articleid" commands are used to identify +the volume and page numbers of a scheduled article. +The manuscript identification number used to track the manuscript is +specified in the \verb"\paperid" command. + +\begin{quote} +\verb"\cpright{TYPE}{YEAR}"\\ +\verb"\ccc{CODE}" +\end{quote} +Copyright information is specified through the commands \verb"\cpright" +and \verb"\ccc". The ``type'' of copyright and the corresponding year +are given in \verb"\cpright"; valid copyright types are as follows. +\begin{quote} +\begin{tabular}{l@{\quad}p{2in}} +\tt AAS & Copyright has been asigned to the AAS.\\ +\tt ASP & Copyright has been asigned to the ASP.\\ +\tt Crown & Crown (UK) copyright has been asigned to the AAS.\\ +\tt PD & The article is in the public domain.\\ +\tt none & No copyright is claimed for the article.\\ +\end{tabular} +\end{quote} +The copyright type is case-sensitive, so the type string must be +entered exactly as given above. +The Copyright Clearing Center code may be given in the \verb"\ccc" +command; the code is taken as regular text, so any special characters, +notably `\$', must be properly specified. + +Authors are invited to supply running head information. +There are generally two different kinds of data in running heads; +what is called here the left head contains an author list (last +names, possibly truncated as ``et al.''), while the right head +is an abbreviated form of the paper title. +\begin{quote} +\verb"\lefthead{TEXT}"\\ +\verb"\righthead{TEXT}" +\end{quote} +Editors and publishers impose varying requirements +on the brevity of these data; +authors are asked to keep these items as short as possible. + +Authors who wish to include a short remark on the title page, +such as the name and date of the journal in which an article +has been scheduled, may do so with the following command. +\begin{quote} +\verb"\slugcomment{TEXT}" +\end{quote} +In the {\tt aasms} style, such comments appear after the dates; +in the {\tt aaspp} style, they are placed at the upper right corner +of the title page. + +\subsection{Starting the main body} + +None of the markup that appears in the preamble actually typesets +anything; the preamble is only a control section. +The author must include a +\begin{quote} +\verb"\begin{document}" +\end{quote} +command to identify the beginning of the main textual +portion of the manuscript. + +\subsection{Title, byline, abstract, etc.} + +Title and author identification are by way of the markup commands +\verb"\title" and \verb"\author". +The authors' principal affiliation is specified with +a separate command \verb"\affil". +Each \verb"\author" command +should be followed by a corresponding \verb"\affil". +\begin{quote} +\verb"\title{LUCID TEXT}"\\[.5ex] +\verb"\author{NAME(S)}"\\ +\verb"\affil{AFFILIATION}"\\ +\verb"\authoraddr{ADDRESS}"\\[.5ex] +\verb"\and" +\end{quote} + +Line breaks are permitted in the title if the author wishes +to specify them with the \verb"\\" command. Long titles will +be broken automatically, so the \verb"\\" markup is not required. +If the title is explicitly broken over several lines, the +preferred style for titles in AAS and ASP journals is the so-called +``inverted pyramid'' style. In this style, the longest line +is the first (or top) line, and each succeeding line is shorter. +The text of the title should be entered in mixed case; +it will be converted to uppercase by the publisher. +Footnotes are permissible in titles; be careful to ensure that +alternate affiliations (see below) are properly numbered if a +footnote to the title is specified. + +Authors' names are given in \verb"\author" commands, +and should be entered in mixed case. +Names that appear together in the author list for authors who +have the same primary affiliation should be specified in a single +\verb"\author" command. +Each author group (\verb"\author" command) +should be followed by an \verb"\affil" command, giving the principal +affiliation of that author. Physical and postal address information +for the institution specified may be included with its name. +The address can be broken over several lines by using the +\verb"\\" command to indicate the line breaks. +Usually, however, postal information will fit on one line. +When there is more than one \verb"\author" command, the last +one should be preceded by an \verb"\and" command. + +When there is a lengthy author list, all authors' names may be +specified in a single \verb"\author" command, with affiliations +specified using the \verb"\altaffilmark" mechanism described below. +In this case, no \verb"\affil" commands would be used, and the +affiliations would all be listed in a footnote block at the bottom +of the title page. The style file performs this formatting. + +Postal addresses for individual authors may be specified in +\verb"\authoraddr" commands. This command does not produce +any formatted text in most AAS\TeX\ styles, and can be used to specify the +corresponding address of the first author for purposes of +editorial communication. + +Authors often have affiliations in addition to their principal employer, +and these are specified with the \verb"\altaffilmark" +and \verb"\altaffiltext" commands. +These behave like the \verb"\footnotemark" +and \verb"\footnotetext" commands of \LaTeX. +\verb"\altaffilmark" is appended to author's names in the \verb"\author" +lists, and generates superscript identification numbers. +The text for the individual alternate affiliations is generated by the +\verb"\altaffiltext" command. +\begin{quote} +\verb"\altaffilmark{TAG NUMBER(S)}"\\ +\verb"\altaffiltext{NUMERICAL TAG}{TEXT}" +\end{quote} +It is up to the author to make sure that \verb"\altaffilmark" numbers +attached to authors' names correspond to the correct alternate affiliation, +i.e., that each {\small TAG NUMBER} match the {\small NUMERICAL TAG} for +the corresponding {\small TEXT}. + +\subsubsection{Abstract} + +The paper abstract should be enclosed in an {\tt abstract} environment. +\begin{quote} +\verb"\begin{abstract}"\\ +{\it abstract text\/}\\ +\verb"\end{abstract}" +\end{quote} + +\subsubsection{Keywords} + +Keywords, subject headings, etc., are accommodated +as a single piece of text. +\begin{quote} +\verb"\keywords{TEXT}" +\end{quote} +Authors must supply keywords delimited by the appropriate punctuation +required by the journal. Keywords should be specified in alphabetical order. +The \verb"\keywords" command +supplies the proper leading text (``Keywords:'', ``Subject headings:'', +etc.), according to the style. + +\subsection{Sections} + +The {\tt article} style for AAS\TeX\ manuscripts supports four levels of +sectioning. +\begin{quote} +\verb"\section{HEADING}"\\[.5ex] +\verb"\subsection{HEADING}"\\[.5ex] +\verb"\subsubsection{HEADING}"\\[.5ex] +\verb"\paragraph{HEADING}" +\end{quote} +Section headings should be given in mixed case. +Note that these commands delimit sections by marking the +{\sl beginning\/} of each section; +there are not separate commands to identify the ends. + +In addition, AAS\TeX\ manuscript styles support an +\verb"\acknowledgments" section. +\begin{quote} +\verb"\acknowledgments" +\end{quote} +In the AAS\TeX\ substyles, acknowledgments are set off from the +concluding main body text simply by vertical space +(no heading or type size change). +For use in producing output for specific journals, +this command might generate text saying ``Acknowledg[e]ments''. + +\subsubsection{Appendices} + +When one or more appendices are needed in a paper, the end of the +main body text must be marked. +\begin{quote} +\verb"\appendix" +\end{quote} +Note that the \verb"\appendix" command has no arguments; +sections in the appendix must be headed with \verb"\section" +commands containing the section headings, as described before. +The \verb"\appendix" command takes care of a number of internal +housekeeping concerns, such as identifying sections with letters +instead of numerals, resetting the equation counter, etc. + +\subsection{Citations} + +Citations in the text may be called out with either a \verb"\markcite" +command or a \verb"\cite" command. +\begin{quote} +\verb"\markcite{TEXT}"\\[.5ex] +\verb"\cite{TAG}" +\end{quote} +Which of these is used depends on the form chosen for the reference list +(described below). \verb"\markcite" corresponds to the use of the +{\tt references} environment, while \verb"\cite" would be used in +conjunction with {\tt thebibliography}. + +The conventional method used by authors to manage the citations and +reference list in a paper is a manual one. For these authors, the +{\tt references} environment and \verb"\markcite" are appropriate. +The text supplied in the \verb"\markcite" command is the text that +will be inserted in the body at that point; this text should include +any necessary punctuation. + +\LaTeX's {\tt thebibliography} environment allows authors to identify +references symbolically using unique tags (the author makes these up). +If this mechanism is used, the {\small TAG} given in the \verb"\cite" +command must correspond to a {\small TAG} given in a \verb"\bibitem" +command in the {\tt thebibliography} environment (see below). + +In many cases, citations may be called out explicitly by the author +without any markup, since they are usually just running text +for AAS and ASP journals. However, the use of \verb"\markcite" is still +encouraged, even for journals where no special formatting of +citation call-outs is required. +This will make the electronic texts more useful in the future +in the event that they are perused with on-line browsers. + +\subsection{Equations} + +Displayed equations can be typeset in many ways using the standard +displayed math environments of \LaTeX; +these three are probably of greatest use. +\begin{quote} +\verb"\begin{displaymath}"\\ +\verb"\end{displaymath}"\\[.5ex] +\verb"\begin{equation}"\\ +\verb"\end{equation}"\\[.5ex] +\verb"\begin{eqnarray}"\\ +\verb"\end{eqnarray}" +\end{quote} +The {\tt displaymath} environment will break out a single, +unnumbered formula. The equation will appear the same if it +is set in an {\tt equation} environment, and it will be +autonumbered by \LaTeX. +In order to set several formul\ae\ in which vertical alignment +is required, use the {\tt eqnarray} environment. + +Authors occasionally wish to group related equations together and +identify them with letters appended to the same equation number, +as opposed to having each with a separate numeral. +When this is desired, such related equations should still be set +in {\tt equation} or {\tt eqnarray} environments (whichever is +appropriate may be used), and this grouping should be placed within +a {\tt mathletters} environment. +\begin{quote} +\verb"\begin{mathletters}"\\ +{\it {\tt equation} or {\tt eqnarray} environment(s)\/}\\ +\verb"\end{mathletters}" +\end{quote} + +It is possible to override \LaTeX's automatic numbering within +{\tt equation} or {\tt eqnarray} environments. +\begin{quote} +\verb"\eqnum{TEXT}" +\end{quote} +When \verb"\eqnum" is specified inside an {\tt equation} environment, +or on a particular equation within an {\tt eqnarray}, the text supplied +as an argument to \verb"\eqnum" is used as the equation identifier. +\LaTeX's equation counter is {\sl not\/} incremented when \verb"\eqnum" +is used. +\verb"\eqnum" must be used {\sl inside\/} the environment. + +When unnumbered equations are desired, authors can use either the +{\tt displaymath} environment (for single displayed equations) or place +a \verb"\nonumber" command before the equation delimiter (\verb"\\") +in a particular equation in an {\tt eqnarray}. +\LaTeX's equation counter is {\sl not\/} incremented when +\verb"\nonumber" is used. + +If, as a consequence of the use of \verb"\eqnum" or \verb"\nonumber", +\LaTeX's equation counter gets out of the author's intended sequence, +the counter may be reset to a particular value. +\begin{quote} +\verb"\setcounter{equation}{NUMBER}" +\end{quote} +The equation counter should be set to the number corresponding to the +last equation that was formatted, so it is most appropriate for this +command to appear immediately after an {\tt equation} or {\tt eqnarray} +environment ends. +\verb"\setcounter{equation}" must be used {\sl outside\/} the math +environments. + +Sometimes it is appropriate to number equations by section, +rather than sequentially through the whole paper. +When this is required, +\begin{quote} +\verb"\eqsecnum" +\end{quote} +should be specified in the document preamble. +As is the case with tightening the interline spacing +(\verb"\tighten", above), authors need not insert +the extra markup command in the text. +The same effect can be achieved with the \verb"eqsecnum" +document substyle. +\begin{quote} +\verb"\documentstyle[aasms,eqsecnum]{article}" +\end{quote} + +\subsection{Bibliography} + +As discussed briefly in the preceding section on citations, +there are two main methods for managing citations and references. +Many authors are comfortable with the standard +process of entering citations in the proper format directly +in the body of an article, and then organizing the reference +list themselves. +Such authors would use \verb"\markcite" for the citation call-outs +in the text, and employ the {\tt references} environment for the +reference list. The {\tt references} environment simply sets off +the list of references and adjusts spacing parameters. +\begin{quote} +\verb"\begin{references}"\\ +\verb"\reference" {\it bibliographic data\/}\\ +\verb" ."\\ +\verb" ."\\ +\verb"\end{references}" +\end{quote} +Each reference is preceded by a \verb"\reference" command. + +Observe that the {\it bibliographic data\/} supplied by the author must +conform to the standards of the journal. We have elected not to burden +authors with tedious markup commands +to delimit the bibliographic fields because many of the journals we have +targeted in this project have agreed to reduce typographic overhead (bolding, +italicizing, etc.) in reference lists (Abt 1990). +It is the responsibility of the author to get these fields in the proper +order with the correct punctuation; the information will be typeset as is, +i.e., in roman with no size or style changes. + +It is also possible to use the semantics +of \LaTeX's {\tt thebibliography} environment, +marking citations with \verb"\cite" and associating references +with them via \verb"\bibitem". The \verb"\cite"-\verb"\bibitem" +mechanism associates citations and references symbolically +while maintaining proper citation syntax within the paper. +The author must create the citation label for each reference +in proper journal format in the \verb"\bibitem" command. +\begin{quote} +\verb"\begin{thebibliography}"\\ +\verb"\bibitem[LABEL]{TAG} \reference" {\it bibliographic data\/}\\ +\verb" ."\\ +\verb" ."\\ +\verb"\end{thebibliography}" +\end{quote} +where {\small LABEL} must adhere to journal standards, e.g., ``Abt 1986''. +Note that it is not possible to use \verb"\bibitem"s +within the {\tt references} environment, +nor will \verb"\cite" commands work properly in the main body +if \verb"\bibitem"s are not properly specified. +This technique can be a bit tricky, and there are limitations on the +way that the citation {\small LABEL} is formatted. +Authors are advised to consult the \LaTeX\ manual (Lamport 1985). + +Citation management can be complex, and systems have been +developed to assist authors in preparing bibliographies. +The program that manages references within the \TeX\ family +is called BIB\TeX, and it is designed to work in conjunction +with the citation and reference list capabilities of \LaTeX. +At the present time, there +is no compelling reason to force an implementation based on BIB\TeX, +although it should be possible to build reference lists with +BIB\TeX\ if authors choose. +(It is also possible to define a bibliographic style for BIB\TeX\ so +that citations and reference lists are formatted correctly automatically.) + +An identifier denoting that the article was +prepared with the AAS\TeX\ package appears as a footnote +on the last page of references. + +\subsubsection{Abbreviations for journals} + +There are markup commands for many of the oft-referenced journals so that +authors may use the markup names as a shorthand rather than having to look +up a particular journal's specific abbreviation. +In principle, all the journals should be using the +same abbreviations as well, but it is fair to anticipate some changes in the +specific abbreviations before a set is finally settled on. As long as +these commands are kept up to date, authors need not be concerned about +such editorial preferences and changes. + +\begin{center} +\begin{tabular}{ll} +\verb"\aj" & Astronomical Journal\\ +\verb"\araa" & Annual Review of Astronomy\\ + & \hspace*{1em} and Astrophysics\\ +\verb"\apj" & Astrophysical Journal\\ +\verb"\apjl" & \rule[.5ex]{2em}{.4pt}, Letters to the Editor\\ +\verb"\apjs" & \rule[.5ex]{2em}{.4pt}, Supplement Series\\ +\verb"\ao" & Applied Optics\\ +\verb"\apss" & Astrophysics and Space Science\\ +\verb"\aap" & Astronomy and Astrophysics\\ +\verb"\aaps" & \rule[.5ex]{2em}{.4pt}, Supplement Series\\ +\verb"\azh" & Astronomicheskii Zhurnal\\ +\verb"\baas" & Bulletin of the AAS\\ +\verb"\jrasc" & Journal of the RAS of Canada\\ +\verb"\memras" & Memoirs of the RAS\\ +\verb"\mnras" & Monthly Notices of the RAS\\ +\verb"\pra" & Physical Review A: General Physics\\ +\verb"\prb" & Physical Review B: Solid State\\ +\verb"\prc" & Physical Review C:\\ +\verb"\prd" & Physical Review D:\\ +\verb"\prl" & Physical Review Letters\\ +\verb"\pasp" & Publications of the ASP\\ +\verb"\pasj" & Publications of the ASJ\\ +\verb"\qjras" & Quarterly Journal of the RAS\\ +\verb"\skytel" & Sky and Telescope\\ +\verb"\sovast" & Soviet Astronomy\\ +\verb"\ssr" & Space Science Reviews\\ +\verb"\zap" & Zeitschrift f\"ur Astrophysik\\ +\end{tabular} +\end{center} + +\subsection{Tables} + +There is support in the AAS\TeX\ package for tables via two mechanisms: +\LaTeX's standard {\tt table} and {\tt tabular} environments, +and a {\tt planotable} environment that facilitates the formatting +of lengthy tabular material. Short tables may be marked up using +either mechanism; long tables will require the use of {\tt planotable}. + +\LaTeX\ permits the preparation of fairly complex tables with +arbitrary spacing, straddle heads and rules, and the like. +Authors who need to specify complicated column headings and +so forth are advised to consult the \LaTeX\ manual (Lamport 1985) +for details. +Most of the capabilities are applicable to AAS\TeX's {\tt planotable} +environment as well as \LaTeX's {\tt tabular}. + +\subsubsection{Long tables, plano tables} + +This section describes the use of the {\tt planotable} environment. +This environment is so named because it was originally developed to +aid authors in preparing camera-ready tables for an article; such +camera-ready material would be produced in the same way as planographic +figures, hence the term ``plano table''. + +There are several desiderata that are somewhat above and beyond LaTeX's +{\tt tabular} environment that facilitate the formatting of such tables. +Among these are breaking long tables across pages, using footnotes +in a table, specifying comments and references for tables, etc. + +There are special \LaTeX\ substyle options within the AAS\TeX\ package +that authors can use to produce plano table output suitable for +photographic reproduction in specific AAS and ASP journals; these are the +\verb"aj_pt" and \verb"apjpt" substyles. +\begin{quote} +\verb"\documentstyle[aj_pt]{article}"\\[.5ex] +\verb"\documentstyle[apjpt]{article}" +\end{quote} +When tabular material is prepared with one of these style files, +the pages produced will be suitable for submission to the +journal as camera-ready ``art''. +These special styles are intended for producing plano tables {\sl only\/}; +manuscripts should {\sl not\/} be formatted with the \verb"aj_pt" or +the \verb"apjpt" substyle; +Plano tables should be formatted separately from the manuscript. + +Very long tables can be formatted within manuscripts using the same +markup commands as plano tables; the output looks different, of course. +The {\tt planotable} environment is delimited by \LaTeX's familiar +\verb"\begin" and \verb"\end" constructs. +\begin{quote} +\verb"\begin{planotable}{COLS}"\\ +\verb"\end{planotable}" +\end{quote} +{\small COLS} specifies the justification for each column. +One of the letters `l', `c', or `r' is given for each column, +indicating left, center, or right justification. Authors are +referred to the \LaTeX\ manual (Lamport 1985) for further information. + +There are several items in a {\tt planotable} environment that +must be given before the data for the table. + +\begin{quote} +\verb"\tablewidth{DIMEN}"\\ +\verb"\tablecaption{TEXT}" +\end{quote} + +The width of a plano table is defined by \verb"\tablewidth"; +the default width is the width of the body text. +The table can be set to its natural width by specifying +a {\small DIMEN} of 0pt. + +The caption (actually, the title) of the table is specified +in \verb"\tablecaption". +The intent is for the text of \verb"\tablecaption" to be brief; +explanatory notes may be specified in the end notes to the table +(\verb"\tablecomments", see below). + +\begin{quote} +\verb"\tablehead{TEXT}"\\ +\verb"\colhead{HEADING}" +\end{quote} + +Column headings are specified within a \verb"\tablehead". +Within the \verb"\tablehead", each column heading can be given +in a \verb"\colhead", which will ensure that the heading is centered +on the natural width of the column; this is the typical disposition +of column headings, and the use of \verb"\colhead" is encouraged. +There should be a heading for each column, so there should be as +many \verb"\colhead" commands in the \verb"\tablehead" as there +are data columns. +If more complicated column headings are required, +any valid {\tt tabular} commands that constitute a proper +head line for the table may be used. +Consult the \LaTeX\ manual (Lamport 1985) for details about using +the {\tt tabular} environment to prepare tables. + +\begin{quote} +\verb"\tableheadfrac{NUM}" +\end{quote} + +It is possible that a complicated table heading will overflow +the vertical space allotted for the table heading. +The fraction of the page allocated +for the table heading may be changed with \verb"\tableheadfrac". +The {\small NUM} argument to \verb"\tableheadfrac" should be the +decimal fraction of the page used for heading information. +The default value is .1, meaning that 10\% of the page height +is reserved for the table heading. It should rarely be necessary +to change this value. + +After the table title and column headings are specified, data lines +can be entered. +There are some concessions that must be made in the markup language +in order to enable the automatic page breaking. +\begin{quote} +\verb"\startdata" +\end{quote} +The body of the plano table (the beginning of the data lines) is +indicated by a \verb"\startdata" command. +\verb"\startdata" produces a table title (caption), the column headings +are formatted, and tabular formatting is engaged. + +\begin{quote} +\verb"\nl"\\ +\verb"\tablevspace{DIMEN}" +\end{quote} + +Data elements within a row of the table are separated with \& (ampersand) +characters. The end of each row is indicated with \verb"\nl". +Extra vertical space can be inserted between rows with a +\verb"\tablevspace" command; the argument is a dimension, +and may be specified in any units that are legitimate in \LaTeX. + +\begin{quote} +\verb"\tablebreak"\\ +\verb"\nodata" +\end{quote} + +If a page break needs to be forced in a plano table, +\verb"\tablebreak" should be used instead of \verb"\nl". +This is sometimes necessary when several rows of data are +associated with a single object or item; such logical groupings +should not be broken across pages, and \verb"\tablebreak" can +be used to ensure that the page breaks are rational in these cases. + +The journals often require that elements for which there are no data +be explicitly marked. This is to differentiate such elements from +blank elements, which are frequently interpreted as implicitly +repeating the entry in the corresponding element in the row preceding. +Data elements for which there are no data should contain +a \verb"\nodata" command; an appropriate symbol will be placed in +that data element. + +Within the plano table body, two kinds of ``specialty'' heads are +recognized. +\begin{quote} +\verb"\cutinhead{TEXT}"\\ +\verb"\sidehead{TEXT}" +\end{quote} + +A cut-in head is a piece of text that is centered on the table width; +it is spaced above and below from the data rows that precede and +follow it, and there may be rules associated, depending on the +journal or manuscript style. All of these formatting particulars +are managed by the style files. The author need only specify the +text to be centered with a \verb"\cutinhead" command. +Similarly, a side head is a piece of text that is left-justified. + +Table footnotes (more properly, table {\sl endnotes\/}) +may be used in the {\tt planotable} environment; +their use is described in detail in the section on +{\it Table footnotes\/}, below. +The markup commands for such endnotes are as follows. +\begin{quote} +\verb"\tablenotemark{TAG LETTER(S)}"\\ +\verb"\tablenotetext{ALPHA TAG}{TEXT}"\\ +\verb"\tablecomment{TEXT}"\\ +\verb"\tablerefs{TEXT}" +\end{quote} + +It is possible to override \LaTeX's automatic numbering within the +{\tt planotable} environment. +\begin{quote} +\verb"\tablenum{TEXT}" +\end{quote} +When \verb"\tablenum" is specified inside a {\tt planotable} environment, +the text supplied as an argument to \verb"\tablenum" is used as the +table identifier. +\LaTeX's equation counter is {\sl not\/} incremented when \verb"\tablenum" +is used. +\verb"\tablenum" must be used {\sl inside\/} the {\tt planotable} environment. + +\subsubsection{Short tables} + +Short tables (smaller than one manuscript page) +may be marked and composed using the standard \LaTeX\ tools for tables. +Tables should appear in {\tt table} environments. +\begin{quote} +\verb"\begin{table}"\\ +\verb"\end{table}" +\end{quote} +The {\tt table} environment encloses not only the tabular +material but also any title (caption) or footnote information +associated with the table. + +Titles or captions for short tables are indicated with +\begin{quote} +\verb"\caption{TEXT}" +\end{quote} +Tables will be identified with arabic numerals, e.g., ``Table 2''; +the identifying text, including the number, is generated automatically +by \verb"\caption" within the \verb"table" environment. + +Tabular information is typeset within the +{\tt tabular} environment. +\begin{quote} +\verb"\begin{tabular}{COLS}"\\ +\verb"\end{tabular}" +\end{quote} +where {\small COLS} specifies the justification for each column. +One of the letters `l', `c', or `r' is given for each column, +indicating left, center, or right justification. +Consult the \LaTeX\ manual (Lamport 1985) for details about using +the {\tt tabular} environment to prepare tables. +There should be only one {\tt tabular} table per {\tt table} environment. +If the journal requests manuscripts with only one table per page, +the author may need to insert a \verb"\clearpage" command after +especially short tables. + +There is a \verb"\tableline" command for use in {\tt tabular} +environments. +\begin{quote} +\verb"\tableline" +\end{quote} +This command produces the horizontal rule(s) between the column headings +and the body of the table. +Authors are discouraged from using any \verb"\hlines" themselves; +vertical rules are typically forbidden by editorial preference. + +It is possible to override \LaTeX's automatic numbering within the +{\tt table} environment. +\begin{quote} +\verb"\tablenum{TEXT}" +\end{quote} +When \verb"\tablenum" is specified inside a {\tt table} environment, +the text supplied as an argument to \verb"\tablenum" is used as the +table identifier. +\LaTeX's equation counter is {\sl not\/} incremented when \verb"\tablenum" +is used. +\verb"\tablenum" must be used {\sl inside\/} the {\tt table} environment. + +\subsubsection{Table footnotes} + +AAS\TeX\ supports footnotes (endnotes) that are associated with tables; +this support applies to both the {\tt planotable} environment +and the standard \LaTeX\ {\tt table} environment. +Footnotes for tables are usually identified by lower case letters +rather than numbers. +Marking and assigning associated text is achieved with +the \verb"\tablenotemark" and \verb"\tablenotetext" +commands, in which the note identifier is required +(cf.\ \verb"\altaffilmark" and \verb"\altaffiltext"). +The \verb"\tablenotetext" {\sl must} be specified before +the enclosing \verb"\end{table}", since the text of +notes to tables are displayed by that command. +\begin{quote} +\verb"\tablenotemark{TAG LETTER(S)}"\\ +\verb"\tablenotetext{ALPHA TAG}{TEXT}" +\end{quote} +Note that the {\small TAG LETTER} should be the same as the +{\small ALPHA TAG} for the corresponding {\small TEXT}. +It is the responsibility of the author to get the correspondence correct. + +AAS\TeX\ also supports special kinds of table endnotes. +Sometimes authors tabulate things which have corresponding references, +and it may be desirable to associate these references with the table +rather than (or in addition to) the formal reference list. +Occasionally, authors wish to append a short paragraph of explanatory +notes that pertain to the entire table, but which are different than +the caption. +\begin{quote} +\verb"\tablerefs{REFERENCE LIST}"\\ +\verb"\tablecomments{TEXT}" +\end{quote} + +The table endnotes are coupled to the table in which they occur, rather +than being associated with a particular page, and they are printed with +the table (relatively close to the caption) instead of appearing at the +extreme bottom of the page. This is done to ensure that the notes wind +up on the same page as the table, since tables are floats and can migrate +from one page to another. + +\subsection{Figures} + +At this time, the most widely used means of including +non-textual data in electronic manuscripts is to insert such +information as PostScript.\footnote{PostScript +is a registered trademark of Adobe Systems Incorporated.} +There is limited support for handling PostScript figures in +this version of the AAS\TeX\ markup package. + +If the author wishes for the PostScript figure to be inserted in the +page being produced, it is necessary to use the {\it dvips\/} program. +This program is available in the public domain via anonymous FTP +from labrea.stanford.edu. +It is also necessary that the graphics files being included conform +to the Encapsulated PostScript standard (Adobe 1990). +Encapsulated PostScript will be referred to as `EPS' in what follows. + +There are three commands for including EPS files in AAS\TeX\ manuscripts, +and these should be placed within a {\tt figure} environment. +\begin{quote} +\verb"\begin{figure}"\\ +\verb"\plotone{EPSFILE}"\\ +\verb"\plottwo{EPSFILE}{EPSFILE}"\\ +\verb"\plotfiddle{EPSFILE}{VSIZE}"\\ +\hspace*{2em}\verb"{ROT}{HSF}{VSF}{HTRANS}{VTRANS}"\\ +\verb"\caption{TEXT}"\\ +\verb"\end{figure}" +\end{quote} +\verb"\plotone" inserts the graphic in the named {\small EPSFILE}, +scaled (in both dimensions) so that the horizontal +dimension fits in the body text width; +the vertical dimension is scaled to maintain the aspect ratio. +\verb"\plottwo" inserts two plots next to each other. +Scale factors are determined automatically from information in the +EPS file. + +For the adventuresome, there is also \verb"\plotfiddle", which can be +used to override any automatic scaling, or to compensate for the fact +that scaling data in the EPS file may be erroneous. +When this method is used, the author must specify the {\sl vertical\/} +space allotment for the graphic. +The scaling and placement of the figure are controlled by these parameters: +\begin{quote} +\begin{tabular}{l@{\quad}p{2in}} +\tt VSIZE & vertical white space to allow for plot (\LaTeX\ dimension)\\ +\tt ROT & rotation angle (degrees)\\ +\tt HSF & horizontal scale (percentage)\\ +\tt VSF & vertical scale (percentage)\\ +\tt HTRANS & horizontal translation (PS points)\\ +\tt VTRANS & vertical translation (PS points)\\ +\end{tabular} +\end{quote} +PostScript points are 1/72 inches, so an {\small HTRANS} of 72 moves +the graphic 1 inch to the right. The PostScript reference point is +the lower left corner of the page, so a {\small VTRANS} of 72 moves +the graphic {\sl up} 1 inch. + +Authors are referred to the submission instructions for the appropriate +editorial office if EPS figures will be submitted along with a manuscript +via email. These instructions can be obtained by sending a request by +email to one of the addresses given in the {\small README} file. + +Figures may still be submitted on paper in the usual way, +with or without a companion paper manuscript. +When an author submits figures on paper, only the figure captions +need to be generated with the text of the paper. +They should be produced by using the \verb"\caption" command within an +otherwise empty {\tt figure} environment. +\begin{quote} +\verb"\begin{figure}"\\ +\verb"\caption{TEXT}"\\ +\verb"\end{figure}" +\end{quote} +When the {\tt figure} environment is used, the figure identification, +e.g., ``Figure 1'', is generated automatically by \verb"\caption". +It is usually acceptable for several figure captions to appear +on the same page. + +It is possible to override \LaTeX's automatic numbering within the +{\tt figure} environment. +\begin{quote} +\verb"\figurenum{TEXT}" +\end{quote} +When \verb"\figurenum" is specified inside a {\tt figure} environment, +the text supplied as an argument to \verb"\figurenum" is used as the +figure identifier. +\LaTeX's equation counter is {\sl not\/} incremented when \verb"\figurenum" +is used. +\verb"\figurenum" must be used {\sl inside\/} the {\tt figure} environment. + +Footnotes are {\sl not} supported for figures. + +\subsection{Miscellaneous} + +When discussing atomic species, ionization levels can be indicated +with the following command. +\begin{quote} +\verb"\ion{ELEMENT}{LEVEL}" +\end{quote} +The ionization state is specified as the second argument, +and should be given as a numeral. +For example, \ion{Ca}{3} is specified by typing \verb"\ion{Ca}{3}". + +AAS\TeX\ contains two commands that permit authors to specify alternate +forms for fractions. Authors submitting manuscripts electronically +will generally find it unnecessary to use any markup other than the +standard \LaTeX\ \verb"\frac". +\begin{quote} +\verb"\case{NUM}{DENOM}"\\ +\verb"\slantfrac{NUM}{DENOM}" +\end{quote} +\LaTeX\ will set fractions in displayed math as built-up fractions; +it is sometimes desirable to use case fractions in displayed equations. +In such instances, one should use \verb"\case" rather than \verb"\frac". +Occasionally, authors wish to typeset fractions with a solidus but in +which the type size is reduced and the numerals are oriented diagonally. +In this case, \verb"\slantfrac" should be used instead of \verb"\frac". +Note that this is different from a shilled fraction, which authors can +produce without any special markup. +\begin{displaymath} +\renewcommand{\arraystretch}{1.4} +\begin{array}{llc} +\mbox{Built-up} & \verb"\frac{1}{2}" & \displaystyle\frac{1}{2} \\[.5ex] +\mbox{Case} & \verb"\case{1}{2}" & \case{1}{2} \\ +\mbox{Slant} & \verb"\slantfrac{1}{2}" & \slantfrac{1}{2} \\ +\mbox{Shilled} & \verb"1/2" & 1/2 \\ +\end{array} +\end{displaymath} + +The AAS\TeX\ package also contains a collection of assorted macros +for special symbols (or abbreviations) that authors tend to work +out for themselves anyway. +Some of the definitions come from the {\it A\&A\/} package (Springer 1989); +some are contributions from individuals. We have +tried to select a tractable number that were useful and also somewhat +difficult to get right because fussy kerning or some such is required. + +\begin{center} +\begin{tabular}{ll@{\hspace*{3em}}ll} +\verb"\deg" & \deg & +\verb"\sq" & \sq \\ +\verb"\sun" & \sun & +\verb"\earth" & \earth \\ +\verb"\arcmin" & \arcmin & +\verb"\arcsec" & \arcsec \\ +\verb"\fd" & \fd & +\verb"\fh" & \fh \\ +\verb"\fm" & \fm & +\verb"\fs" & \fs \\ +\verb"\fdg" & \fdg & +\verb"\farcm" & \farcm \\ +\verb"\farcs" & \farcs & +\verb"\fp" & \fp \\ +\verb"\micron" & \micron & \\[.8ex] +\verb"\onehalf" & \onehalf & +\verb"\ubvr" & \ubvr \\ +\verb"\onethird" & \onethird & +\verb"\ub" & \ub \\ +\verb"\twothirds" & \twothirds & +\verb"\bv" & \bv \\ +\verb"\onequarter" & \onequarter & +\verb"\vr" & \vr \\ +\verb"\threequarters" & \threequarters & +\verb"\ur" & \ur \\[.8ex] +\verb"$\lesssim$" & $\lesssim$ & +\verb"$\gtrsim$" & $\gtrsim$ \\ +\end{tabular} +\end{center} +Most of these commands can be used in running text as well as when +setting mathematical expressions. +\verb"\lesssim" and \verb"\gtrsim" can only be used in math mode, +which is sensible since they are relations. +It is possible to use \verb"\earth" and \verb"\sun" as subscripts, +e.g., \verb"$1.4 M_{\sun}$" yields $1.4 M_{\sun}$. + +\subsection{Concluding the file} + +The last thing in the electronic manuscript file should be the +\begin{quote} +\verb"\end{document}" +\end{quote} +command, which appears after all the back matter of the paper. +This command directs the formatter to perform assorted termination +activities and finish processing. + +\section{Additional documentation} + +The preceding detailed explanation of the markup commands in this +package has certain merit, but many authors will prefer to examine +the sample papers that are included with the style files. +The files of interest are described below. + +The file \verb"sample1.tex" is a paper prepared +with the AAS\TeX\ package utilizing a minimal amount of markup. +The most salient thing to observe about this example is that, +apart from the document style declarations, no formatting +instructions are given in the file. + +A more comprehensive example requiring nearly all of the capabilities +of the package (in terms of markup as well as formatting) +is in \verb"sample2.tex". +This file is annotated with comments that describe +the purpose of most of the markup. +\verb"sample2.tex" includes \verb"samp2tbl.tex", which +contains an example of a long table marked up using the +{\tt planotable} environment. +This demonstrates the use of {\tt planotable} for long tables +in manuscripts. + +A set of three tables prepared as ``plano'' tables are contained in +the files \verb"table1.tex", \verb"table2.tex", and +\verb"table3.tex". They can be formatted by running \LaTeX\ on +the \verb"samptbls.tex" file, into which they are included. +The document style in \verb"samptbls.tex" is {\tt apjpt} in the +distribution, but this can be changed to \verb"aj_pt" to see the +effects of differing requirements among journals. +Page breaks are explicitly indicated in \verb"table1.tex", +and they are set for the \apj\ style; due to the different +type size used in the \aj, the pages break somewhat irrationally +when the \verb"aj_pt" style is used. It is left as an exercise +to the reader to make sense of this. + +Also included in the distribution are files for two +AAS meeting posters, marked up as they would be for submission; +they are called \verb"paper1.tex" and \verb"paper2.tex". +One of these (\verb"paper2.tex") includes a discussion of some +of the issues surrounding standardized markup for electronic +manuscripts (Hanisch and Biemesderfer 1990). +This user guide (\verb"aastex.tex") +is also marked up with the AAS\TeX\ package, +although it is not exemplary as a scientific paper. + +A number of the markup commands described in the preceding +sections are standard \LaTeX\ commands, and the reader who is +unfamiliar with their syntax is referred to the \LaTeX\ +manual (Lamport 1985) for details. A cribsheet listing all +the \LaTeX\ commands (and some pertinent plain \TeX\ commands) +with short descriptions of each is published by the \TeX\ Users +Group (Botway and Biemesderfer 1989). + +Authors who wish to know the ins and outs of \TeX\ itself +should read the {\it\TeX book} (Knuth 1984), probably more than once. +There is a good deal of information about typography in general +in this source. Many details of mathematical typography are +discussed in a book by Swanson (1971). + +\begin{references} +\reference Abt, H. 1990, \apj, 357, 1 (editorial) +\reference Adobe Systems, Inc. 1990, PostScript Language Reference + Manual, Appendix H (Reading, MA: Addison-Wesley) +\reference Biemesderfer, C. and Hanisch R. 1989, \baas, 21, 780 +\reference Botway, L. and Biemesderfer, C. 1989, + {\rm \LaTeX\ Command Summary} (Providence, RI: \TeX\ Users Group) +\reference Hanisch, R. and Biemesderfer, C. 1990, \baas, 22, 829 +\reference Knuth, D. 1984, {\rm The \TeX book} (Reading, MA: Addison-Wesley) +\reference Lamport, L. 1985, + {\rm \LaTeX: A Document Preparation System\/} (Reading, MA: Addison-Wesley) +\reference Springer-Verlag. 1989, + {\rm Springer-Verlag \TeX\ AA macro package 1989} + (Springer: Heidelberg) +\reference Springer-Verlag. 1990, + {\rm Springer-Verlag \LaTeX\ AA macro package 1990} + (Springer: Heidelberg) +\reference Swanson, E. 1979, {\rm Mathematics into Type} (Providence, RI: + American Mathematical Society) +\end{references} + +\newpage +\appendix + +\section{Special symbols} + +The \LaTeX\ language has a wide variety of special symbols +for which markup commands have already been defined. +These range from diacritics to exotic mathematical operators. + +This section groups \LaTeX's symbols together more or less +according to function. +Some of these symbols are primarily for use in text; +most of them are mathematical symbols, and can only be +used in \LaTeX's math mode. +These tables are excerpted from the \LaTeX\ Command Summary +(Botway 1989). + +\begin{table}[h] +\caption{Text-mode accents} +\begin{center} +\begin{tabular}{*{2}{ll@{\hspace{4em}}}ll} +\`{o} & \verb"\`{o}" & \={o} & \verb"\={o}" & \t{oo} & \verb"\t{oo}" \\ +\'{o} & \verb"\'{o}" & \.{o} & \verb"\.{o}" & \c{o} & \verb"\c{o}" \\ +\^{o} & \verb"\^{o}" & \u{o} & \verb"\u{o}" & \d{o} & \verb"\d{o}" \\ +\"{o} & \verb#\"{o}# & \v{o} & \verb"\v{o}" & \b{o} & \verb"\b{o}" \\ +\~{o} & \verb"\~{o}" & \H{o} & \verb"\H{o}" & & \\ +\end{tabular} +\end{center} +\end{table} + +\begin{table}[h] +\caption{National symbols} +\begin{center} +\begin{tabular}{*{2}{ll@{\hspace{4em}}}ll} +\oe & \verb"\oe" & \aa & \verb"\aa" & \l & \verb"\l" \\ +\OE & \verb"\OE" & \AA & \verb"\AA" & \L & \verb"\L" \\ +\ae & \verb"\ae" & \o & \verb"\o" & \ss & \verb"\ss" \\ +\AE & \verb"\AE" & \O & \verb"\O" & & \\ +\end{tabular} +\end{center} +\end{table} + +\begin{table}[h] +\caption{Miscellaneous symbols} +\begin{center} +\begin{tabular}{*{2}{ll@{\hspace{4em}}}ll} +\dag & \verb"\dag" & \S & \verb"\S" & \copyright & \verb"\copyright" \\ +\ddag & \verb"\ddag" & \P & \verb"\P" & \pounds & \verb"\pounds" \\ +\# & \verb"\#" & \$ & \verb"\$" & \% & \verb"\%" \\ +\& & \verb"\&" & \_ & \verb"\_" & & \\ +\{ & \verb"\{" & \} & \verb"\}" & & \\ +\end{tabular} +\end{center} +\end{table} + +\begin{table}[h] +\caption{Math-mode accents} +\begin{center} +\begin{tabular}{ll@{\hspace{4em}}ll} +$\hat{a}$ & \verb"\hat{a}" & $\dot{a}$ & \verb"\dot{a}" \\ +$\check{a}$ & \verb"\check{a}" & $\ddot{a}$ & \verb"\ddot{a}" \\ +$\tilde{a}$ & \verb"\tilde{a}" & $\breve{a}$ & \verb"\breve{a}" \\ +$\acute{a}$ & \verb"\acute{a}" & $\bar{a}$ & \verb"\bar{a}" \\ +$\grave{a}$ & \verb"\grave{a}" & $\vec{a}$ & \verb"\vec{a}" \\ +\end{tabular} +\end{center} +\end{table} + +\begin{table}[h] +\caption{Greek letters (math mode)} +\begin{center} +\begin{tabular}{cl@{\hspace{3em}}cl} +$\alpha$ & \verb"\alpha" & $\nu$ & \verb"\nu" \\ +$\beta$ & \verb"\beta" & $\xi$ & \verb"\xi" \\ +$\gamma$ & \verb"\gamma" & $o$ & \verb"o" \\ +$\delta$ & \verb"\delta" & $\pi$ & \verb"\pi" \\ +$\epsilon$ & \verb"\epsilon" & $\rho$ & \verb"\rho" \\ +$\zeta$ & \verb"\zeta" & $\sigma$ & \verb"\sigma" \\ +$\eta$ & \verb"\eta" & $\tau$ & \verb"\tau" \\ +$\theta$ & \verb"\theta" & $\upsilon$ & \verb"\upsilon" \\ +$\iota$ & \verb"\iota" & $\phi$ & \verb"\phi" \\ +$\kappa$ & \verb"\kappa" & $\chi$ & \verb"\chi" \\ +$\lambda$ & \verb"\lambda" & $\psi$ & \verb"\psi" \\ +$\mu$ & \verb"\mu" & $\omega$ & \verb"\omega" \\[4ex] + +$\varepsilon$ & \verb"\varepsilon" & $\varsigma$ & \verb"\varsigma" \\ +$\vartheta$ & \verb"\vartheta" & $\varphi$ & \verb"\varphi" \\ +$\varrho$ & \verb"\varrho" & & \\[4ex] + +$\Gamma$ & \verb"\Gamma" & $\Sigma$ & \verb"\Sigma" \\ +$\Delta$ & \verb"\Delta" & $\Upsilon$ & \verb"\Upsilon" \\ +$\Theta$ & \verb"\Theta" & $\Phi$ & \verb"\Phi" \\ +$\Lambda$ & \verb"\Lambda" & $\Psi$ & \verb"\Psi" \\ +$\Xi$ & \verb"\Xi" & $\Omega$ & \verb"\Omega" \\ +$\Pi$ & \verb"\Pi" & & \\ +\end{tabular} +\end{center} +\end{table} + +\begin{table} +\caption{Binary operations (math mode)} +\begin{center} +\begin{tabular}{cl@{\hspace{3em}}cl} +$\pm$ & \verb"\pm" & $\cap$ & \verb"\cap" \\ +$\mp$ & \verb"\mp" & $\cup$ & \verb"\cup" \\ +$\setminus$ & \verb"\setminus" & $\uplus$ & \verb"\uplus" \\ +$\cdot$ & \verb"\cdot" & $\sqcap$ & \verb"\sqcap" \\ +$\times$ & \verb"\times" & $\sqcup$ & \verb"\sqcup" \\ +$\ast$ & \verb"\ast" & $\triangleleft$ & \verb"\triangleleft" \\ +$\star$ & \verb"\star" & $\triangleright$ & \verb"\triangleright" \\ +$\diamond$ & \verb"\diamond" & $\wr$ & \verb"\wr" \\ +$\circ$ & \verb"\circ" & $\bigcirc$ & \verb"\bigcirc" \\ +$\bullet$ & \verb"\bullet" & $\bigtriangleup$ & \verb"\bigtriangleup" \\ +$\div$ & \verb"\div" & $\bigtriangledown$ & \verb"\bigtriangledown" \\ +$\lhd$ & \verb"\lhd" & $\rhd$ & \verb"\rhd" \\ +$\vee$ & \verb"\vee" & $\odot$ & \verb"\odot" \\ +$\wedge$ & \verb"\wedge" & $\dagger$ & \verb"\dagger" \\ +$\oplus$ & \verb"\oplus" & $\ddagger$ & \verb"\ddagger" \\ +$\ominus$ & \verb"\ominus" & $\amalg$ & \verb"\amalg" \\ +$\otimes$ & \verb"\otimes" & $\unlhd$ & \verb"\unlhd" \\ +$\oslash$ & \verb"\oslash" & $\unrhd$ & \verb"\unrhd" \\ +\end{tabular} +\end{center} +\end{table} + +\begin{table} +\caption{Relations (math mode)} +\begin{center} +\begin{tabular}{cl@{\hspace{4em}}cl} +$\leq$ & \verb"\leq" & $\geq$ & \verb"\geq" \\ +$\prec$ & \verb"\prec" & $\succ$ & \verb"\succ" \\ +$\preceq$ & \verb"\preceq" & $\succeq$ & \verb"\succeq" \\ +$\ll$ & \verb"\ll" & $\gg$ & \verb"\gg" \\ +$\subset$ & \verb"\subset" & $\supset$ & \verb"\supset" \\ +$\subseteq$ & \verb"\subseteq" & $\supseteq$ & \verb"\supseteq" \\ +$\sqsubset$ & \verb"\sqsubset" & $\sqsupset$ & \verb"\sqsupset" \\ +$\sqsubseteq$ & \verb"\sqsubseteq" & $\sqsupseteq$ & \verb"\sqsupseteq" \\ +$\in$ & \verb"\in" & $\ni$ & \verb"\ni" \\ +$\vdash$ & \verb"\vdash" & $\dashv$ & \verb"\dashv" \\ +$\smile$ & \verb"\smile" & $\mid$ & \verb"\mid" \\ +$\frown$ & \verb"\frown" & $\parallel$ & \verb"\parallel" \\ +$\neq$ & \verb"\neq" & $\perp$ & \verb"\perp" \\ +$\equiv$ & \verb"\equiv" & $\cong$ & \verb"\cong" \\ +$\sim$ & \verb"\sim" & $\bowtie$ & \verb"\bowtie" \\ +$\simeq$ & \verb"\simeq" & $\propto$ & \verb"\propto" \\ +$\asymp$ & \verb"\asymp" & $\models$ & \verb"\models" \\ +$\approx$ & \verb"\approx" & $\doteq$ & \verb"\doteq" \\ + & & $\Join$ & \verb"\Join" \\ +\end{tabular} +\end{center} +\end{table} + +\begin{table} +\caption{Variable-sized symbols (math mode)} +\begin{center} +\begin{displaymath} +\begin{array}{ccl@{\hspace{2em}}ccl} +\sum & \displaystyle \sum & \hbox{\verb"\sum"} & + \bigcap & \displaystyle \bigcap & \hbox{\verb"\bigcap"} \\[.7ex] +\prod & \displaystyle \prod & \hbox{\verb"\prod"} & + \bigcup & \displaystyle \bigcup & \hbox{\verb"\bigcup"} \\[.7ex] +\coprod & \displaystyle \coprod & \hbox{\verb"\coprod"} & + \bigsqcup & \displaystyle \bigsqcup & \hbox{\verb"\bigsqcup"} \\[.7ex] +\int & \displaystyle \int & \hbox{\verb"\int"} & + \bigvee & \displaystyle \bigvee & \hbox{\verb"\bigvee"} \\[.7ex] +\oint & \displaystyle \oint & \hbox{\verb"\oint"} & + \bigwedge & \displaystyle \bigwedge & \hbox{\verb"\bigwedge"} \\[.7ex] +\bigodot & \displaystyle \bigodot & \hbox{\verb"\bigodot"} & + \bigotimes & \displaystyle \bigotimes & \hbox{\verb"\bigotimes"} \\[.7ex] +\bigoplus & \displaystyle \bigoplus & \hbox{\verb"\bigoplus"} & + \biguplus & \displaystyle \biguplus & \hbox{\verb"\biguplus"} \\ +\end{array} +\end{displaymath} +\end{center} +\end{table} + +\begin{table} +\caption{Delimiters (math mode)} +\begin{center} +\begin{tabular}{lc@{\hspace{2em}}lc} +$($ & \verb"(" & $)$ & \verb")" \\ +$[$ & \verb"[" & $]$ & \verb"]" \\ +$\{$ & \verb"\{" & $\}$ & \verb"\}" \\ +$\lfloor$ & \verb"\lfloor" & $\rfloor$ & \verb"\rfloor" \\ +$\lceil$ & \verb"\lceil" & $\rceil$ & \verb"\rceil" \\ +$\langle$ & \verb"\langle" & $\rangle$ & \verb"\rangle" \\ +$/$ & \verb"/" & $\backslash$ & \verb"\backslash" \\ +$\vert$ & \verb"\vert" & $\Vert$ & \verb"\Vert" \\ +$\uparrow$ & \verb"\uparrow" & $\Uparrow$ & \verb"\Uparrow" \\ +$\downarrow$ & \verb"\downarrow" & $\Downarrow$ & \verb"\Downarrow" \\ +$\updownarrow$ & \verb"\updownarrow" & $\Updownarrow$ & \verb"\Updownarrow" \\ +\end{tabular} +\end{center} +\end{table} + +\begin{table} +\caption{Function names (math mode)} +\begin{verbatim} + \arccos \csc \ker \min + \arcsin \deg \lg \Pr + \arctan \det \lim \sec + \arg \dim \liminf \sin + \cos \exp \limsup \sinh + \cosh \gcd \ln \sup + \cot \hom \log \tan + \coth \inf \max \tanh +\end{verbatim} +\end{table} + +\begin{table} +\caption{Arrows (math mode)} +\begin{center} +\begin{tabular}{clcl} +$\leftarrow$ & \verb"\leftarrow" & $\longleftarrow$ & \verb"\longleftarrow" \\ +$\Leftarrow$ & \verb"\Leftarrow" & $\Longleftarrow$ & \verb"\Longleftarrow" \\ +$\rightarrow$ & \verb"\rightarrow" & + $\longrightarrow$ & \verb"\longrightarrow" \\ +$\Rightarrow$ & \verb"\Rightarrow" & + $\Longrightarrow$ & \verb"\Longrightarrow" \\ +$\leftrightarrow$ & \verb"\leftrightarrow" & + $\longleftrightarrow$ & \verb"\longleftrightarrow" \\ +$\Leftrightarrow$ & \verb"\Leftrightarrow" & + $\Longleftrightarrow$ & \verb"\Longleftrightarrow" \\ +$\mapsto$ & \verb"\mapsto" & $\longmapsto$ & \verb"\longmapsto" \\ +$\hookleftarrow$ & \verb"\hookleftarrow" & + $\hookrightarrow$ & \verb"\hookrightarrow" \\ +$\leftharpoonup$ & \verb"\leftharpoonup" & + $\rightharpoonup$ & \verb"\rightharpoonup" \\ +$\leftharpoondown$ & \verb"\leftharpoondown" & + $\rightharpoondown$ & \verb"\rightharpoondown" \\ +$\rightleftharpoons$ & \verb"\rightleftharpoons" & + $\leadsto$ & \verb"\leadsto" \\ +$\uparrow$ & \verb"\uparrow" & $\Updownarrow$ & \verb"\Updownarrow"\\ +$\Uparrow$ & \verb"\Uparrow" & $\nearrow$ & \verb"\nearrow"\\ +$\downarrow$ & \verb"\downarrow" & $\searrow$ & \verb"\searrow" \\ +$\Downarrow$ & \verb"\Downarrow" & $\swarrow$ & \verb"\swarrow"\\ +$\updownarrow$ & \verb"\updownarrow" & $\nwarrow$ & \verb"\nwarrow"\\ +\end{tabular} +\end{center} +\end{table} + +\begin{table} +\caption{Miscellaneous symbols (math mode)} +\begin{center} +\begin{tabular}{cl@{\hspace{3em}}cl} +$\aleph$ & \verb"\aleph" & $\prime$ & \verb"\prime" \\ +$\hbar$ & \verb"\hbar" & $\emptyset$ & \verb"\emptyset" \\ +$\imath$ & \verb"\imath" & $\nabla$ & \verb"\nabla" \\ +$\jmath$ & \verb"\jmath" & $\surd$ & \verb"\surd" \\ +$\ell$ & \verb"\ell" & $\top$ & \verb"\top" \\ +$\wp$ & \verb"\wp" & $\bot$ & \verb"\bot" \\ +$\Re$ & \verb"\Re" & $\|$ & \verb"\|" \\ +$\Im$ & \verb"\Im" & $\angle$ & \verb"\angle" \\ +$\partial$ & \verb"\partial" & $\triangle$ & \verb"\triangle" \\ +$\infty$ & \verb"\infty" & $\backslash$ & \verb"\backslash" \\ +$\Box$ & \verb"\Box" & $\Diamond$ & \verb"\Diamond" \\ +$\forall$ & \verb"\forall" & $\sharp$ & \verb"\sharp" \\ +$\exists$ & \verb"\exists" & $\clubsuit$ & \verb"\clubsuit" \\ +$\neg$ & \verb"\neg" & $\diamondsuit$ & \verb"\diamondsuit" \\ +$\flat$ & \verb"\flat" & $\heartsuit$ & \verb"\heartsuit" \\ +$\natural$ & \verb"\natural" & $\spadesuit$ & \verb"\spadesuit" \\ +$\mho$ & \verb"\mho" & & \\ +\end{tabular} +\end{center} +\end{table} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/aasmacros/aj_pt.doc b/obsolete/macros/latex209/contrib/aasmacros/aj_pt.doc new file mode 100644 index 0000000000..8fac6bed67 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/aj_pt.doc @@ -0,0 +1,1172 @@ +% AJ_PT.STY -- AJ plano tables style. + +% Plano tables are camera-ready pages that are included in a typeset +% article the same way as line drawings, graphs, and other camera-ready +% art, i.e., as "planographic" figures. This file is parameterized so +% that the tables are appropriate for the AJ. + +% My convention for identifying configuration information is for styles +% to define the five parameters below. + +\def\revtex@ver{1.1} % Version number of this file. +\def\revtex@date{10 Jan 93} % Revision date. +\def\revtex@org{AAS} % Sponsoring organization. +\def\revtex@jnl{AJ} % Applicable journal, if specific. +\def\revtex@genre{plano tables} % Document "type". + +% Display identifying message on screen and in logfile. + +\typeout{\revtex@org\space \revtex@jnl\space \revtex@genre\space substyle, + v\revtex@ver\space <\revtex@date>.} + +% The following mini-colophon identifies the article are having been +% prepared with this macro package. The \revtex@pageid command only +% defines the formatting of this colophon; its existence and placement +% within the printed article is controlled by the use of this command +% in the style file. + +\def\revtex@pageid{\xdef\@thefnmark{\null} + \@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} + +% Issue a warning if manuscripts are formatted with type smaller than 12pt. + +\def\genre@MS{manuscript} +\ifx\revtex@genre\genre@MS + \ifnum\@ptsize<2 + \typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Use 12pt documentstyle option.} + \fi +\fi + +% **************************************** +% * INITIALIZATION * +% **************************************** + +% Initialization has to occur at the head of this file because LaTeX's +% "plain" pagestyle is used to establish defaults. These are modified +% below to suit the requirements of this journal. + +%\@input{art8.sty} + +\ps@plain % Use "plain" pagestyle for defaults. + +% **************************************** +% * PAGE LAYOUT * +% **************************************** + +% Create "plaintop" page style that has folios at top of page. + +\def\ps@plaintop{\let\@mkboth\@gobbletwo + \def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} + \def\@evenfoot{}\let\@evenhead\@oddhead} + +%\pretolerance=10000 % Disable hyphenation + +% The following gives "reasonable" ragged right results. + +%\@rightskip=\z@ plus 4em\rightskip\@rightskip + +% Page size, spacing parameters, etc. + +\newdimen\@fmwidth \@fmwidth=44pc % Front matter width +\newdimen\@bodywidth \@bodywidth=44pc % Body text width +\textwidth=\@bodywidth +\textheight=8.9in +\topmargin=0in +\headheight=0in % .15in +\headsep=0in % .35in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=1em +\parskip=0ex +\columnsep=1pc + +\hoffset=-2.5pc % To compensate for wide \textwidth +\tolerance=400 % 2x "normal" value; cuts down on overfull complaints + +% For landscape plano tables. + +\def\ptlandscape{\textwidth=9in \textheight=6.5in \hoffset=0in} + +%\@input{styopts.sty} + +% **************************************** +% * STYLE OPTIONS * +% **************************************** + +% Make footnotes same size as main text. + +%\let\footnotesize=\normalsize + +% Define parameters to adjust the baselineskip. +% These are passed as the scale factor argument to \baselinestretch. + +\def\@tightleading{1.1} +\def\@doubleleading{1.6} + +% Double-space by default. Observe that you double-space in LaTeX by +% resetting \baselinestretch, which is essentially a scale factor for +% \baselineskip (= leading, for you typographophiles). The style uses +% the \@doubleleading factor, defined above. + +%\def\baselinestretch{\@doubleleading} + +% The \tighten command merely resets the \baselinestretch to a +% smaller factor, resulting in single-column text that is more closely +% spaced. (This will always work.) Tightening the vertical spacing +% in the text results in output that is more attractive for distribution +% to colleagues who are primarily interested in reading the paper, as +% opposed to copy editing it. Double-spaced output for referees and +% copy editors is, however, the main objective of this style, hence +% double-spacing occurs by default. The same effect as \tighten +% can be achieved by using the "tighten" document style option. +% +% \tighten +% +% \tighten is intended for use in the preamble of the article. + +%\def\tighten{\def\baselinestretch{\@tightleading}} +\def\tighten=\relax +\let\tightenlines=\tighten + +% For authors who feel compelled to change between single and double +% spacing in the manuscript, \singlespace and \doublespace commands +% are provided. (Following recommendations of AAS Publications Board +% Subcommittee on Preprints.) +% +% \singlespace +% \doublespace + +\def\singlespace{\def\baselinestretch{\@tightleading}\normalsize} +\def\doublespace{\def\baselinestretch{\@doubleleading}\normalsize} + +% Upper case for sections (optional upper case items). These are created +% so that some headings can be toggled between mixed case and upper case +% readily. Headings that might be changed can be wrapped in the style +% file in \sec@upcase{TEXT} constructs; the expansion of \sec@upcase is +% controlled here. It is `\relax' by default (mixed case heads), and can +% easily be changed to `\uppercase' if desired. If mixed case headings +% are wanted by the editor, authors MUST supply mixed case text, although +% this is what authors should be doing anyway. (Mixed can be converted +% to upper, but the reverse transformation cannot be automated.) + +%\def\sec@upcase#1{\uppercase{#1}} +\def\sec@upcase#1{\relax{#1}} + +% Sometimes people want to number equations by section, rather than +% sequentially through the whole paper. + +\def\eqsecnum{ + \@newctr{equation}[section] + \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} + +%\@input{slug.sty} + +% **************************************** +% * SLUG LINE * +% **************************************** + +% There are some obvious style-dependent parameters and formatting +% instructions in this file. The object has been to keep the author +% commands (the user interface, if you will) society, journal, and +% style-independent, while the style-specific parameters and commands +% are kept below that level. Commands and parameters that are susceptible +% to external interpretation, either by authors or publishers/translators, +% are identified by indented comment lines, with the semantics of command +% arguments described in upper case text. +% +% \@journalname{JOURNAL NAME} +% \cpr@holder{COPYRIGHT HOLDER} + +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} + +% Journal and article identification information is established by the +% editorial staff. The following macros are used by personnel at the +% editorial office to annotate/record slug-line data and should be included +% in the manuscript preamble, i.e., before the LaTeX \begin{document}. All +% they do is globally define other TeX control sequences that are used by +% other macros at a later time. +% +% \received{RECEIPT DATE} +% \revised{REVISION DATE} +% \accepted{ACCEPTANCE DATE} +% \journalid{VOL}{JOURNAL DATE} +% \articleid{START PAGE}{END PAGE} +% \paperid{ID} +% \ccc{CODE} +% +% For preprints and submitted manuscripts in draft/referee format, etc., +% the slug-line information is irrelevant and in those kinds of style, +% the data are never used. In my estimation, it is perfectly acceptable +% to have these commands in the file (for future use), so they are defined +% in the usual way. + +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} + +% Following copyright and running heads \defs are stubs. +%\let\cpright=\@gobbletwo +%\let\righthead=\@gobble +%\let\lefthead=\@gobble + +% Copyright data. Permit the author/editor to supply a copyright +% "type" as well as the year. +% +% \cpright{TYPE}{YEAR} +% +% Copyright types are designated by name and converted to numeric form. +% The mapping of types is defined by the code that sets the @cprtype +% counter. The language of the copyright notices is defined by \@slug. + +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} + \typeout{`#1' copyright \cpr@year.}} + +\newcount\@cprtype \@cprtype=\@ne % Default copyright type. +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@ASP{\@cprtype=5} + +\def\cpr@year{\number\year} % Default copyright year. + +% \@slug determines formatting of slugline information. + +\def\@slug{\par\noindent + \ifcase\@cprtype + \relax + \or + Copyright \cpr@year\space by the \cpr@holder. + \or + This article is in the public domain. + \or + Crown copyright \cpr@year\space by the \cpr@holder. + \or + No copyright is claimed for this article. + \or + Copyright \cpr@year\space by the ASP. + \fi + \par\noindent + Manuscript number \@paperid.\par\noindent + \CCC@code +} + +% Authors may be asked to supply running head information. We use the +% language of the publisher here to distinguish between two pieces of +% information: the left head frequently contains an author list (last +% names, possibly truncated as et al.), while the right head frequently +% contains an abbreviated form of the paper title. The \lefthead and +% \righthead commands merely collect the information and buffer the text. +% +% \lefthead{TEXT} +% \righthead{TEXT} + +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} + +% \@runheads determines formatting of running head information. + +\def\@runheads{\@tempcnta\c@page + \@whilenum \@tempcnta >0\do{ + \vskip 3ex + \hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} + \advance\@tempcnta by\m@ne} +} + +% The \slugcomment command is provided so authors or editors may include +% a remark about the manuscript that may be desired in print for some +% styles. For instance, authors like to include information about the +% journal and publication date of accepted papers ("To appear in AJ, +% November 1992"). +% +% \slugcomment{TEXT} +% +% The formatting of the \slugcomment information is controlled by the +% \sluginfo command. + +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{\relax} + +% Editorial offices like to have receipt and acceptance dates on the front +% page for tracking purposes. The current practice is to require the author +% to type Received___________________ and Accepted ________________ lines +% for the staff to type on. The \@dates command will typeset either rules +% or the dates specified in \received and/or \accepted commands. Note that +% authors should not include \received and \accepted. + +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} + +% \@dates determines formatting of MS date information. + +\def\@dates{{Received}\space% + \if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% + \hspace{1.5em}{accepted}\space% + \if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% +} + +% The \sluginfo command is executed automatically when a \begin{abstract} is +% encountered, so it is not necessary (or appropriate) for the author to +% include this line explicitly. The received/accepted business is a +% concern only for the editorial staff, hence we have arranged for the +% author not to have to fuss with it. + +\def\sluginfo{{\center + \@dates + %\@slug + %\@runheads + \endcenter}} + +\let\dates=\sluginfo % Backwards compatibility + +%\@input{text.sty} + +% **************************************** +% * FRONT MATTER * +% **************************************** + +% Make adjustments to LaTeX abstract style: optional upper case heading, +% retain current type size (should be normalsize), ignore twocolumn option +% in this substyle, add \sluginfo, and start abstract on fresh page. + +\def\abstract{\sluginfo\clearpage + \begin{center} + {\bf{ABSTRACT}} + \end{center} + \quotation +} + +% Title and author identification is by way of standard LaTeX commands +% \title and \author, although the macros themselves are rather different. +% The information is typeset by these macros in this style, rather than +% being buffered as per regular LaTeX. The authors' principal affiliation +% is specified with a separate macro \affil. Each \author command should +% be followed by its own \affil (or address). +% +% Authors often have affiliations above and beyond their main employer, +% and these are specified with the \altaffilmark and \altaffiltext commands. +% These commands behave like the \footnotemark and \footnotetext commands +% of LaTeX. \altaffilmark is appended to author's names in the \author +% lists, and generates the superscript identification numbers. +% The text for the individual alternate affiliations is generated by the +% \altaffiltext command. It is up to the author to make sure that the +% \altaffilmark numbers attached to authors' names correspond to the correct +% alternate affiliation. +% +% \title{LUCID TEXT} +% \author{NAME(S)} +% \authoraddr{AUTHOR'S POSTAL ADDRESS} +% \affil{AFFILIATION} +% \altaffilmark{TAG NUMBER(S)} +% \altaffiltext{NUMERICAL TAG}{TEXT} +% +% The typesetting performed by these commands is appropriate for the top of +% the first text page of the manuscript. They could as well be used on a +% title cover page, but vertical placement would have to be controlled by +% the author. This is not to be encouraged, since I want to discourage +% the introduction of any extra horizontal or vertical space. + +\def\title#1{{\def\baselinestretch{\@tightleading} + \center\large\bf{#1}\endcenter} + \thispagestyle{empty}} +\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}} + +% Redefine the LaTeX \and command for this style. + +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} + +% **************************************** +% * KEYWORDS * +% **************************************** + +% Keywords environment. Keywords, subject headings, etc., are accommodated +% only as a piece of text; the \keywords command indents if necessary and +% supplies the proper leading text ("Keywords:", "Subject headings:", etc.) +% but does not apply formatting to the user's keyword text. The author +% must supply the correct punctuation according to the journal style. +% +% Note that the editors of A&A, AJ, and MNRAS have discussed the issue +% of keywords, and there is disagreement about whether "subject headings" +% or "keywords" should appear after abstracts in astronomical papers. +% It does not really matter what the macro is called, so I will stick +% to \keywords since I don't know what the difference is anyway. + +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} + +\def\keywords#1{\vspace*{-.7ex}%\vspace{\z@} + \if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}} + \else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote} + \fi} + +\let\subjectheadings=\keywords + +\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do + {\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}} + +% **************************************** +% * FOOTNOTES * +% **************************************** + +% The following code redefines a few things so that spacing in footnotes is +% different than LaTeX defaults. The adjustment to \skip\footins increases +% the amount of vspace inserted before the \footnoterule. Redefine +% \@makefntext to get proper indentation. + +\skip\footins 4ex plus 1ex minus .5ex +\footnotesep 3ex + +%\long\def\@makefntext#1{\noindent\hbox to\z@{\hss$^{\@thefnmark}$}#1} +%\long\def\@makefntext#1{\indent\hbox{$^{\@thefnmark}$}#1} + +% **************************************** +% * SECTIONS * +% **************************************** + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- e.g., chapter=1, +% section = 2, etc. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, else +% negative of skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. + +% Adjust section heading typography slightly. This is one of the spots +% where my personal preference is going to bite me. Anyway, I have reduced +% the size of the main section heads to whatever the normal size is for +% the paper; I don't think it needs to be larger, especially when the +% layout is double-spaced. +% +% Also, modify the indentation behavior so that ALL paragraphs, including +% those first after section heads, are indented. This is consonant with +% the styles of many journals, although it's non-standard typographic practice. + +\def\section{\@startsection {section}{1}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}} + +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} + +% For AJ, acknowledgments are set off from main body text simply by +% vertical space (no heading or type size change). I do the same for +% the AAS manuscript style. For use in producing more polished output +% for other journals, this macro might generate text saying +% "Acknowledg[e]ments". + +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments % second spelling + +% LaTeX sectioning tools. + +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup \center#6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \sec@upcase{#8}\par}% + \endcenter\endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} + +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M + \sec@upcase{#5}\par}\endcenter\endgroup + \else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi + \@xsect{#3}} + +% **************************************** +% * EQUATION NUMBERING * +% **************************************** + +% Redefine \appendix so that equation numbers are prepended with +% \theappendix number. Reset equation counter so that equation +% numbers in the appendix begin again with 1. Note that the +% \appendix command is NOT a sectioning command; it is merely +% a delimiting markup between the main body of the paper and the +% appendix. Sections in the appendix are still started with +% \section commands. +% +% \appendix + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \setcounter{equation}{0} + \def\thesection{\Alph{section}.} + \def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} + +% Define mathletters environment. This is a wrapper that goes +% *around* (outside of) equation or eqnarray environments. +% +% \begin{mathletters} +% \end{mathletters} + +\newcounter{cureqno} + +\newenvironment{mathletters}{\refstepcounter{equation}% + \setcounter{cureqno}{\value{equation}}% + \let\@curtheeqn\theequation% + \edef\cur@eqn{\csname theequation\endcsname}% + \def\theequation{\cur@eqn\alph{equation}}% + \setcounter{equation}{0}}% + {\let\theequation\@curtheeqn% + \setcounter{equation}{\value{cureqno}}} + +% The \eqnum command allows the author to override all automatic +% equation marking schemes. +% +% \eqnum{TEXT} + +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation + \addtocounter{equation}{\m@ne}} + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** + +% Bibliography/references environment. For the time being, I don't think +% it would be a good idea to force an implementation based on BibTeX, +% although I'll prepare for that eventuality by using the constructs and +% general ideas of the LaTeX thebibliography environment. Adjustments +% have been made so that the \cite-\bibitem mechanism can be used to cite +% references symbolically while maintaining proper citation syntax within +% the paper; the author must create the citation label for each reference +% in proper journal format in the \bibitem command. +% +% \begin{thebibliography} +% \bibitem[LABEL]{TEXTTAG} \reference +% \end{thebibliography} +% +% where LABEL must adhere to the journal's standards, e.g. "Abt 1986". +% +% It is not necessary to use the thebibliography environment. This style +% defines a references environment that simply sets off the list of references +% and adjusts spacing parameters. It is not possible to use \bibitems +% within the references environment. (The \reference command cannot be +% shortened to \ref; \ref is used in vanilla LaTeX for cross-referencing.) +% +% \begin{references} +% \reference +% \end{references} +% +% \markcite{TEXT} +% +% Observe that the bibliographic data supplied by the author must also +% conform to the standards of the journal. I have elected not to burden +% authors with tedious LaTeX commands which would require many curly braces +% to delimit the bibliographic fields because many of the journals I have +% targeted in this project have agreed to reduce typographic overhead (bolding, +% italicizing, etc.) in reference lists. (See Abt's editorial in ApJ 357.) +% It is the responsibility of the author to get these fields in the proper +% order with the correct punctuation; the information will be typeset as is, +% i.e., in roman with no size or style changes. +% +% Macros are provided for many of the oft-referenced journals so that authors +% may use the LaTeX names rather than having to look up a particular journal's +% specific abbreviation. In principle, all the journals should be using the +% same abbreviations, too, but I anticipate some changes in the specific +% abbreviations before a set is finally settled on. As long as these macros +% are kept up to date, authors need not be concerned about such editorial +% changes. +% +% Corresponding with the non-BibTeX references environment and \reference +% command for the reference list is the \markcite command. This can be +% used to identify in-text citations; in this case, the author provides +% the actual citation text as opposed to the symbolic tag. The use of +% this is encouraged, even for journals where no special formatting of +% citation call-outs is required; it is crucial for the future use of +% on-line browsers. + +\def\references{\subsection*{REFERENCES} + \bgroup\parindent=\z@\parskip=\itemsep + \def\refpar{\par\hangindent=3em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} + +\def\thebibliography{\subsection*{REFERENCES} + \list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em + \usecounter{enumi}} + \def\refpar{\relax} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} + +\def\@biblabel#1{\relax} +%\def\@cite#1#2{({#1\if@tempswa , #2\fi})} +\def\@cite#1#2{#1\if@tempswa , #2\fi} + +\def\reference{\relax\refpar} % Generic: might be better... +\def\markcite#1{#1\relax} + +% Modify \@citex so that individual citation texts are NOT hboxed. +% This allows TeX to break lines at spaces between words in citations. +% Remove the obnoxious {\bf ?} that was inserted in the text when +% undefined citations are encountered; here, the warning message is +% printed only on the terminal. + +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined + {b@\@citeb}{\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +% Permit \keywords declaration, but eat the contents. + +\let\keywords=\@gobble +\let\subjectheadings=\@gobble + +%\@input{tblfig.sty} + +% **************************************** +% * TABLES AND FIGURES * +% **************************************** + +% Additions and adjustments for tables and figures. + +% Footnotes for tables are to be identified with lower case alphabetics, +% rather than numeric. \tablenotemark and \tablenotetext commands are +% provided analogous to \footnotemark and \footnotetext, but with the +% identifier *required*, like \altaffilmark and \altaffiltext. The +% \tablenotetext must be specified before the \end{table}, since +% \end{table} displays it. +% +% \tablenotemark{TAG LETTER(S)} +% \tablenotetext{ALPHA TAG}{TEXT} +% +% Note that TAG LETTER == ALPHA TAG for corresponding text. It is the +% responsibility of the author to get the correspondence correct. +% +% The table footnotes are coupled to the table in which they occur, rather +% than being associated with a particular page, and they are printed with +% the table (relatively close to the caption) instead of appearing at the +% extreme bottom of the page. This is done to ensure that the notes wind +% up on the same page as the table, since tables are floats and can migrate +% from one page to another. There is the additional benefit that the notes +% are unambiguously attached to the proper table, which is what is required +% in the event that the editorial requirement of one table only per page +% is ever changed to permit several tables per page. +% +% Footnotes are NOT supported for figures. + +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} + +% The \tablenotetext command buffers the table note text and the "proper" +% tablenote formatting information in a token buffer. The tablenotes are +% dispensed into the vertical page list by \spew@tblnotes, which is +% executed by \end{table}. Note that certain "global" tablenote formatting +% details are handled by \spew@tblnotes, which also clears the tblnote list. +% Praise and honor are due to Kresten Krab Thorup (krab@iesd.auc.dk) for +% posting ftn.sty to the Usenet, from which I drew the technique. + +\newtoks\@temptokenb +\def\tblnote@list{} + +\def\tablenotetext#1#2{ + \@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\spew@tblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \vspace{4.5ex} + \footnoterule + \vspace{.5ex} + {\footnotesize\tblnote@list} + \gdef\tblnote@list{} + \fi} + +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} + +% Add a \tableline command for use in tabular environments. This command +% produces the horizontal rule(s) between the column headings and the body +% of the table. Authors are discouraged from using any \hlines themselves, +% and are typically forbidden from using vertical rules by editors. + +\let\tableline=\hline + +% \@makecaption determines formatting for figure and table captions. +% For manuscripts, all captions should be set as flushleft paragraphs. + +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} + +% The \tablenum command allows the author to override all automatic +% table marking schemes. +% +% \tablenum{TEXT} + +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable + \addtocounter{table}{\m@ne}} + +% The \figurenum command allows the author to override all automatic +% figure marking schemes. +% +% \figurenum{TEXT} + +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure + \addtocounter{figure}{\m@ne}} + +% **************************************** +% * PLANO TABLES * +% **************************************** + +% Plano tables are camera-ready pages that are included in a typeset +% article the same way as line drawings, graphs, and other camera-ready +% art, i.e., as "planographic" figures. There are desirable properties +% for a formatter to have that are somewhat above and beyond LaTeX'x +% tabular environment that would facilitate the creation of such tables. +% Among these are breaking long tables across pages, using footnotes +% in a table, specifying comments and references for tables, etc. +% +% What follows was inspired by supertab.sty by Theo Jurriens, 1988. + +% Commands for identifying table elements in a consistent way. Observe +% that the formatting is embedded in the macro definitions so that the +% author doesn't need to be concerned about stylistic nuances. +% +% \tablecaption{TEXT} +% \tablehead{TEXT} +% \colhead{HEADING} +% \tabletail{TEXT} +% \tablewidth{DIMEN} +% \tableheadfrac{NUM} +% +% AJ has no "standard" widths for camera-ready tables, they simply need +% to be narrower than the page. Landscape orientation is acceptable, +% and I have provided the pseudo-option \ptlandscape that resets the +% page dimensions; the author is still responsible for running the +% local DVI translator with the proper parameters so that landscape +% pages actually emerge from the laser printer. + +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol + +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{ + #1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} + +% Calculate the number of tabular rows that will fit in the body of the +% table. The height of the table body and the number of lines are +% calculated thus: +% +% bodyheight = \textheight * (1 - \pt@headfrac) +% \pt@nlines = bodyheight / (\arraystretch * \baselineskip) +% +% The row height can be seen to be valid algebraically if one examines the +% definitions for \strutbox, \@setstrut, and \@array. I could eliminate +% this calculation, as well as its attendant parameters, if it were possible +% to determine the accumulated height of the \halign box as TeX goes along. + +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight + \@tempdimb\textheight\advance\@tempdimb by-\@tempdima + \@tempdima\arraystretch\baselineskip + \divide\@tempdimb by\@tempdima + \global\pt@nlines\@tempdimb} + +% Define \pt@tabular, a ripoff of \@tabular but with \leavevmode removed +% so tabular box can be set with \setbox. I do this so that table notes +% can be set to natural width of table, if desired. Also, set \@acol +% to \@ptabacol, which is called when building the preamble for the +% \halign (assuming the first column format specification is "l", which +% it should be for ApJ tables) so that \tabskip within the table is set +% to \fill. This permits us to toggle between natural and fixed-width +% tables without requiring the user to change markup. Note that by +% forcing \tabskip always to be \fill, I pretty well nullify any +% @{\hspace} commands the user puts in the template, but this environment +% is for people who don't want to think about that sort of stuff anyway. + +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} + +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} + +% Permit different identifying strings, one for the first page of the +% table and one for continuation pages. LaTeX's \fnum@table is set to +% one or the other automatically in the environment. Note that caption +% handling is not so graceful: you have to edit inside the big macros to +% adjust this. Someday, I will be ambitious enough to fix this. + +\def\fnum@ptable{Table \thetable.} +\def\fnum@ptablecont{Table \thetable.\space{\rm (continued)}} + +\def\set@mkcaption{\long\def\@makecaption##1##2{ + \center\large{\sc##1}\space##2\endcenter\vskip 1.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ + \center\large{\sc##1}\endcenter\vskip 1.5ex}} + +% The environment definition. It is desirable for the last portion of +% a multi-page table to be \topinserted, rather than \midinserted. +% At the moment, this doesn't happen. It's not straightforward to +% make that preference known at the *end* of table processing. +% +% \begin{planotable} +% \end{planotable} +% +% \startdata + +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% + \set@tblnotetext\pt@ncol=0}% + {\crcr\noalign{\vskip .7ex}\hline\hline\endtabular% + \pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% + \typeout{Table \thetable\space has been set to width \the\pt@width}% + \endcenter\end@float} + +\def\startdata{\pt@line=0\pt@calcnlines% + \ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% + \let\fnum@table=\fnum@ptable\set@mkcaption% + \@float{table}\center\caption{\pt@caption}\leavevmode% + \setbox\pt@box=\pt@tabular{\pt@format}% + \hline\hline\relax\\[-1.7ex]\pt@head} + +% A kludgey kind of line delimiter is needed so that the line counter +% can be checked prior to adding the line to the alignment box. This +% is bad because this form does not permit the addition of vertical +% space using the [.5ex] construct; this has to be done with an explicit +% \vskip. And a disgusting \noalign is required, so I have to create +% another silly piece of markup to accomplish this conveniently. +% +% What is desired, of course, is for this line count checking to take +% place within the syntax of the regular LaTeX \\ command. I have been +% giving myself apoplexy trying to figure this out for the last 36 hours, +% and I have decided I will have to wait for the onset of my "lucid +% period" for a solution. In the meantime... + +\def\pt@nl{\global\advance\pt@line by\@ne% + \ifnum\pt@line=\pt@nlines% + \\\noalign{\vskip .7ex}\hline\endtabular\box\pt@box% + \endcenter\end@float\clearpage% + \addtocounter{table}{\m@ne}% + \let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% + \@float{table}\center\caption{\pt@caption}\leavevmode% + \global\pt@ncol=0% + \setbox\pt@box=\pt@tabular{\pt@format}% + \hline\relax\\[-1.7ex]\pt@head% + \global\pt@line=0% + \else\\ + \fi} + +% Author markup commands for planotable environment line breaks. +% +% \nl == \nextline +% \tablevspace{DIMEN} +% \tablebreak + +\let\nl=\pt@nl +\let\nextline=\pt@nl + +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} + +% We have some specialty heads that are sometimes wanted in tables. +% +% \cutinhead{TEXT} +% \sidehead{TEXT} + +\def\cutinhead#1{\noalign{\vskip 1.5ex} + \hline\pt@nl\noalign{\vskip -4ex} + \multicolumn{\pt@ncol}{c}{#1}\pt@nl + \noalign{\vskip .8ex} + \hline\pt@nl\noalign{\vskip -2ex}} + +\def\sidehead#1{\noalign{\vskip 1.5ex} + \multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl + \noalign{\vskip .5ex}} + +% Internal commands for dealing with table footnotes. I had to hack at +% these to make them co-exist with similarly/identically named commands +% for non-plano tables. This is admittedly ugly, and is on the agenda +% for improved treatment Real Soon Now. + +\def\set@tblnotetext{\def\tablenotetext##1##2{{% + \@temptokena={\vspace{0ex}{% + \parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} + +\def\spew@ptblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \par + \vspace{2ex} + {\tblnote@list} + \gdef\tblnote@list{} + \fi} + +% Special kinds of table footnotes. Sometimes authors tabulate things +% which have corresponding references, and it may be desirable to associate +% these references with the table rather than (or in addition to) the +% formal reference list. Occasionally, authors wish to append a short +% paragraph of explanatory notes that pertain to the entire table, but +% which are different than the caption. +% +% \tablerefs{REFERENCE LIST} +% \tablecomments{TEXT} + +\def\tablerefs#1{\@temptokena={\vspace*{2.0ex}{% + {\rm References for Table \thetable.}\\% + \vspace*{1.6ex}% + \parbox{\pt@width}{#1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\tablecomments#1{\@temptokena={\vspace*{2.0ex}{% + {\rm Notes to Table \thetable.}\\% + \vspace*{1.6ex}% + \parbox{\pt@width}{#1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +% Figure and table style parameters. + +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} + +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} + +% Figure and table float positions. + +\def\fps@figure{bp} +\def\fps@table{bp} + +% **************************************** +% * EPS INCLUSIONS * +% **************************************** + +% Include Rokicki's epsf.sty file explicitly. + +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} + +% Simplified EPS inclusion macros so we can see how this goes... +% These are layered on Rokicki's dvips material, and are dependent +% on the author's use of that DVI driver. +% +% \plotone{EPSFILE} +% \plottwo{EPSFILE}{EPSFILE} +% \plotfiddle{EPSFILE}{VSIZE}{ROT}{HSF}{VSF}{HTRANS}{VTRANS} +% +% \plotone inserts the plot in a space that is \columnwidth wide; the +% plot is scaled so the horizontal dimension fits in the text width, +% and the vertical dimension is scaled to maintain the aspect ratio. +% \plottwo inserts two plots next to each other in one \columnwidth, +% sort of like "two-up" mode. +% +% EPSFILE name of file with EPS +% +% The following arguments are for the \plotfiddle macro which formats +% the \special itself, prepares vspace, etc. This completely bypasses +% Rokicki's macros that attempt to rationalize the EPS BoundingBox with +% the LaTeX page dimensions. +% +% VSIZE vertical white space to allow for plot +% ROT rotation angle +% HSF horiz scale factor +% VSF vert scale factor +% HTRANS horiz translation +% VTRANS vert translation + +%\epsfverbosetrue + +\def\plotone#1{\centering \leavevmode + \epsfxsize=\columnwidth \epsfbox{#1}} + +\def\plottwo#1#2{\centering \leavevmode + \epsfxsize=.45\columnwidth \epsfbox{#1} \hfil + \epsfxsize=.45\columnwidth \epsfbox{#2}} + +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode + \vbox to#2{\rule{0pt}{#2}} + \special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} + +%\@input{abbrevs.sty} + +% **************************************** +% * ABBREVIATIONS * +% **************************************** + +% Abbreviations for journals. The object here is to provide authors +% with convenient shorthands for the most "popular" (often-cited) +% journals; the author can use these markup tags without being concerned +% about the exact form of the journal abbreviation, or its formatting. +% It is up to the keeper of the macros to make sure the macros expand +% to the proper text. If macro package writers agree to all use the +% same TeX command name, authors only have to remember one thing, and +% the style file will take care of editorial preferences. This also +% applies when a single journal decides to revamp its abbreviating +% scheme, as happened with the ApJ (Abt 1991). + +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} + +\def\aj{\ref@jnl{AJ}} % Astronomical Journal +\def\araa{\ref@jnl{ARA\&A}} % Annual Review of Astron and Astrophys +\def\apj{\ref@jnl{ApJ}} % Astrophysical Journal +\def\apjl{\ref@jnl{ApJ}} % Astrophysical Journal, Letters +\def\apjs{\ref@jnl{ApJS}} % Astrophysical Journal, Supplement +\def\ao{\ref@jnl{Appl.Optics}} % Applied Optics +\def\apss{\ref@jnl{Ap\&SS}} % Astrophysics and Space Science +\def\aap{\ref@jnl{A\&A}} % Astronomy and Astrophysics +\def\aapr{\ref@jnl{A\&A~Rev.}} % Astronomy and Astrophysics Reviews +\def\aaps{\ref@jnl{A\&AS}} % Astronomy and Astrophysics, Supplement +\def\azh{\ref@jnl{AZh}} % Astronomicheskii Zhurnal +\def\baas{\ref@jnl{BAAS}} % Bulletin of the AAS +\def\jrasc{\ref@jnl{JRASC}} % Journal of the RAS of Canada +\def\memras{\ref@jnl{MmRAS}} % Memoirs of the RAS +\def\mnras{\ref@jnl{MNRAS}} % Monthly Notices of the RAS +\def\pra{\ref@jnl{Phys.Rev.A}} % Physical Review A: General Physics +\def\prb{\ref@jnl{Phys.Rev.B}} % Physical Review B: Solid State +\def\prc{\ref@jnl{Phys.Rev.C}} % Physical Review C +\def\prd{\ref@jnl{Phys.Rev.D}} % Physical Review D +\def\prl{\ref@jnl{Phys.Rev.Lett}} % Physical Review Letters +\def\pasp{\ref@jnl{PASP}} % Publications of the ASP +\def\pasj{\ref@jnl{PASJ}} % Publications of the ASJ +\def\qjras{\ref@jnl{QJRAS}} % Quarterly Journal of the RAS +\def\skytel{\ref@jnl{S\&T}} % Sky and Telescope +\def\solphys{\ref@jnl{Solar~Phys.}} % Solar Physics +\def\sovast{\ref@jnl{Soviet~Ast.}} % Soviet Astronomy +\def\ssr{\ref@jnl{Space~Sci.Rev.}} % Space Science Reviews +\def\zap{\ref@jnl{ZAp}} % Zeitschrift fuer Astrophysik + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs + +%\@input{misc.sty} + +% **************************************** +% * MISCELLANEOUS * +% **************************************** + +% Handy little things everybody works out for themselves anyway. Many +% of these come from Springer's A&A package, and some were contributed +% by Francois Schweizer at DTM. You can go berserk making these up, +% especially when you start getting into the composite ones. We have +% tried to select a tractable number that were useful, and somewhat +% difficult to get right because fussy kerning or some such is required. +% Most can be used in or out of math mode with impunity; \alt and \agt +% are relations and can only be used in math mode. + +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} + +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim + +% Permit author to typeset "case" fractions. This is sometimes +% wanted in displayed equations, during which LaTeX will set fractions +% specified as \frac{x}{y} as "built-up" fractions (numerator and +% denominator at body text size). + +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} + +% Permit author to typeset fractions set with solidus where the size +% is reduced and the numerals are oriented diagonally. Note that this +% is different from a "shilled" fraction, which the author can produce +% without any special formatting markup. Define markup shorthands for +% several common fractions using solidus. + +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} + +\def\ubvr{\hbox{$U\!BV\!R$}} % UBVR system +\def\ub{\hbox{$U\!-\!B$}} % U-B +\def\bv{\hbox{$B\!-\!V$}} % B-V +\def\vr{\hbox{$V\!-\!R$}} % V-R +\def\ur{\hbox{$U\!-\!R$}} % U-R + +% Notation for atomic species (ionization levels). The ionization state +% is specified as the second argument, and should be given as a numeral. +% The macro has to expand the numeric state into the proper notation for +% the publication (roman, numeric, plus signs, etc.) +% +% \ion{ELEMENT}{IONIZATION STATE} + +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} + +% Centered ellipsis for use in tables (for unknown values). \nodata +% is generalized markup for this notion: format of null-valued entries +% in tables is style-specific. + +%\def\cellipsis{\hfill$\cdots$\hfill} +\def\nodata{\multicolumn{1}{c}{---}} + +% This is a generalization of the \LaTeX definition that comes in LaTeX. +% The change here ensures that LaTeX will be typeset in the current style, +% rather than always in roman. + +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex + \hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} + +% **************************************** +% * DEBUGGING * +% **************************************** + +\def\sizrpt{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font + \typeout{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/aj_pt.sty b/obsolete/macros/latex209/contrib/aasmacros/aj_pt.sty new file mode 100644 index 0000000000..88d28c8ee9 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/aj_pt.sty @@ -0,0 +1,409 @@ +\def\revtex@ver{1.1} +\def\revtex@date{10 Jan 93} +\def\revtex@org{AAS} +\def\revtex@jnl{AJ} +\def\revtex@genre{plano tables} +\typeout{\revtex@org\space \revtex@jnl\space \revtex@genre\space substyle, +v\revtex@ver\space <\revtex@date>.} +\def\revtex@pageid{\xdef\@thefnmark{\null} +\@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} +\def\genre@MS{manuscript} +\ifx\revtex@genre\genre@MS +\ifnum\@ptsize<2 +\typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Use 12pt documentstyle option.} +\fi +\fi +\ps@plain +\def\ps@plaintop{\let\@mkboth\@gobbletwo +\def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} +\def\@evenfoot{}\let\@evenhead\@oddhead} +\newdimen\@fmwidth \@fmwidth=44pc +\newdimen\@bodywidth \@bodywidth=44pc +\textwidth=\@bodywidth +\textheight=8.9in +\topmargin=0in +\headheight=0in +\headsep=0in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=1em +\parskip=0ex +\columnsep=1pc +\hoffset=-2.5pc +\tolerance=400 +\def\ptlandscape{\textwidth=9in \textheight=6.5in \hoffset=0in} +\def\@tightleading{1.1} +\def\@doubleleading{1.6} +\def\tighten=\relax +\let\tightenlines=\tighten +\def\singlespace{\def\baselinestretch{\@tightleading}\normalsize} +\def\doublespace{\def\baselinestretch{\@doubleleading}\normalsize} +\def\sec@upcase#1{\relax{#1}} +\def\eqsecnum{ +\@newctr{equation}[section] +\def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} +\typeout{`#1' copyright \cpr@year.}} +\newcount\@cprtype \@cprtype=\@ne +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@year{\number\year} +\def\@slug{\par\noindent +\ifcase\@cprtype + \relax +\or + Copyright \cpr@year\space by the \cpr@holder. +\or + This article is in the public domain. +\or + Crown copyright \cpr@year\space by the \cpr@holder. +\or + No copyright is claimed for this article. +\fi +\par\noindent +Manuscript number \@paperid.\par\noindent +\CCC@code +} +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} +\def\@runheads{\@tempcnta\c@page +\@whilenum \@tempcnta >0\do{ +\vskip 3ex +\hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} +\advance\@tempcnta by\m@ne} +} +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{\relax} +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} +\def\@dates{{Received}\space% +\if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% +\hspace{1.5em}{accepted}\space% +\if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% +} +\def\sluginfo{{\center +\@dates + + +\endcenter}} +\let\dates=\sluginfo +\def\abstract{\sluginfo\clearpage +\begin{center} +{\bf{ABSTRACT}} +\end{center} +\quotation +} +\def\title#1{{\def\baselinestretch{\@tightleading} +\center\large\bf{#1}\endcenter} +\thispagestyle{empty}} +\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}} +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} +\def\keywords#1{\vspace*{-.7ex} +\if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}} +\else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote} +\fi} +\let\subjectheadings=\keywords +\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do +{\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}} +\skip\footins 4ex plus 1ex minus .5ex +\footnotesep 3ex +\def\section{\@startsection {section}{1}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}} +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth +\def\@svsec{}\else +\refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi +\@tempskipa #5\relax +\ifdim \@tempskipa>\z@ +\begingroup \center#6\relax +\@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \sec@upcase{#8}\par}% +\endcenter\endgroup +\csname #1mark\endcsname{#7}\addcontentsline +{toc}{#1}{\ifnum #2>\c@secnumdepth \else +\protect\numberline{\csname the#1\endcsname}\fi +#7}\else +\def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname +{#7}\addcontentsline +{toc}{#1}{\ifnum #2>\c@secnumdepth \else +\protect\numberline{\csname the#1\endcsname}\fi +#7}}\fi +\@xsect{#5}} +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax +\ifdim \@tempskipa>\z@ +\begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M +\sec@upcase{#5}\par}\endcenter\endgroup +\else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi +\@xsect{#3}} +\def\appendix{\par +\setcounter{section}{0} +\setcounter{subsection}{0} +\setcounter{equation}{0} +\def\thesection{\Alph{section}.} +\def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} +\newcounter{cureqno} +\newenvironment{mathletters}{\refstepcounter{equation}% +\setcounter{cureqno}{\value{equation}}% +\let\@curtheeqn\theequation% +\edef\cur@eqn{\csname theequation\endcsname}% +\def\theequation{\cur@eqn\alph{equation}}% +\setcounter{equation}{0}}% +{\let\theequation\@curtheeqn% +\setcounter{equation}{\value{cureqno}}} +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation +\addtocounter{equation}{\m@ne}} +\def\references{\subsection*{REFERENCES} +\bgroup\parindent=\z@\parskip=\itemsep +\def\refpar{\par\hangindent=3em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} +\def\thebibliography{\subsection*{REFERENCES} +\list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em +\usecounter{enumi}} +\def\refpar{\relax} +\def\newblock{\hskip .11em plus .33em minus .07em} +\sloppy\clubpenalty4000\widowpenalty4000 +\sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} +\def\@biblabel#1{\relax} +\def\@cite#1#2{#1\if@tempswa , #2\fi} +\def\reference{\relax\refpar} +\def\markcite#1{#1\relax} +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi +\def\@citea{}\@cite{\@for\@citeb:=#2\do +{\@citea\def\@citea{,\penalty\@m\ }\@ifundefined +{b@\@citeb}{\@warning +{Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +\let\keywords=\@gobble +\let\subjectheadings=\@gobble +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} +\newtoks\@temptokenb +\def\tblnote@list{} +\def\tablenotetext#1#2{ +\@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\spew@tblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\vspace{4.5ex} +\footnoterule +\vspace{.5ex} +{\footnotesize\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} +\let\tableline=\hline +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable +\addtocounter{table}{\m@ne}} +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure +\addtocounter{figure}{\m@ne}} +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{ +#1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight +\@tempdimb\textheight\advance\@tempdimb by-\@tempdima +\@tempdima\arraystretch\baselineskip +\divide\@tempdimb by\@tempdima +\global\pt@nlines\@tempdimb} +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol +\let\@classz\@tabclassz +\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} +\def\fnum@ptable{Table \thetable.} +\def\fnum@ptablecont{Table \thetable.\space{\rm (continued)}} +\def\set@mkcaption{\long\def\@makecaption##1##2{ +\center\large{\sc##1}\space##2\endcenter\vskip 1.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ +\center\large{\sc##1}\endcenter\vskip 1.5ex}} +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% +\set@tblnotetext\pt@ncol=0}% +{\crcr\noalign{\vskip .7ex}\hline\hline\endtabular% +\pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% +\typeout{Table \thetable\space has been set to width \the\pt@width}% +\endcenter\end@float} +\def\startdata{\pt@line=0\pt@calcnlines% +\ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% +\let\fnum@table=\fnum@ptable\set@mkcaption% +\@float{table}\center\caption{\pt@caption}\leavevmode% +\setbox\pt@box=\pt@tabular{\pt@format}% +\hline\hline\relax\\[-1.7ex]\pt@head} +\def\pt@nl{\global\advance\pt@line by\@ne% +\ifnum\pt@line=\pt@nlines% +\\\noalign{\vskip .7ex}\hline\endtabular\box\pt@box% +\endcenter\end@float\clearpage% +\addtocounter{table}{\m@ne}% +\let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% +\@float{table}\center\caption{\pt@caption}\leavevmode% +\global\pt@ncol=0% +\setbox\pt@box=\pt@tabular{\pt@format}% +\hline\relax\\[-1.7ex]\pt@head% +\global\pt@line=0% +\else\\ +\fi} +\let\nl=\pt@nl +\let\nextline=\pt@nl +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} +\def\cutinhead#1{\noalign{\vskip 1.5ex} +\hline\pt@nl\noalign{\vskip -4ex} +\multicolumn{\pt@ncol}{c}{#1}\pt@nl +\noalign{\vskip .8ex} +\hline\pt@nl\noalign{\vskip -2ex}} +\def\sidehead#1{\noalign{\vskip 1.5ex} +\multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl +\noalign{\vskip .5ex}} +\def\set@tblnotetext{\def\tablenotetext##1##2{{% +\@temptokena={\vspace{0ex}{% +\parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} +\def\spew@ptblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\par +\vspace{2ex} +{\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\tablerefs#1{\@temptokena={\vspace*{2.0ex}{% +{\rm References for Table \thetable.}\\% +\vspace*{1.6ex}% +\parbox{\pt@width}{#1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\tablecomments#1{\@temptokena={\vspace*{2.0ex}{% +{\rm Notes to Table \thetable.}\\% +\vspace*{1.6ex}% +\parbox{\pt@width}{#1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} +\def\fps@figure{bp} +\def\fps@table{bp} +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} +\def\plotone#1{\centering \leavevmode +\epsfxsize=\columnwidth \epsfbox{#1}} +\def\plottwo#1#2{\centering \leavevmode +\epsfxsize=.45\columnwidth \epsfbox{#1} \hfil +\epsfxsize=.45\columnwidth \epsfbox{#2}} +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode +\vbox to#2{\rule{0pt}{#2}} +\special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} +\def\aj{\ref@jnl{AJ}} +\def\araa{\ref@jnl{ARA\&A}} +\def\apj{\ref@jnl{ApJ}} +\def\apjl{\ref@jnl{ApJ}} +\def\apjs{\ref@jnl{ApJS}} +\def\ao{\ref@jnl{Appl.Optics}} +\def\apss{\ref@jnl{Ap\&SS}} +\def\aap{\ref@jnl{A\&A}} +\def\aapr{\ref@jnl{A\&A~Rev.}} +\def\aaps{\ref@jnl{A\&AS}} +\def\azh{\ref@jnl{AZh}} +\def\baas{\ref@jnl{BAAS}} +\def\jrasc{\ref@jnl{JRASC}} +\def\memras{\ref@jnl{MmRAS}} +\def\mnras{\ref@jnl{MNRAS}} +\def\pra{\ref@jnl{Phys.Rev.A}} +\def\prb{\ref@jnl{Phys.Rev.B}} +\def\prc{\ref@jnl{Phys.Rev.C}} +\def\prd{\ref@jnl{Phys.Rev.D}} +\def\prl{\ref@jnl{Phys.Rev.Lett}} +\def\pasp{\ref@jnl{PASP}} +\def\pasj{\ref@jnl{PASJ}} +\def\qjras{\ref@jnl{QJRAS}} +\def\skytel{\ref@jnl{S\&T}} +\def\solphys{\ref@jnl{Solar~Phys.}} +\def\sovast{\ref@jnl{Soviet~Ast.}} +\def\ssr{\ref@jnl{Space~Sci.Rev.}} +\def\zap{\ref@jnl{ZAp}} +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} +\let\la=\lesssim +\let\ga=\gtrsim +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} + + +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} +\def\ubvr{\hbox{$U\!BV\!R$}} +\def\ub{\hbox{$U\!-\!B$}} +\def\bv{\hbox{$B\!-\!V$}} +\def\vr{\hbox{$V\!-\!R$}} +\def\ur{\hbox{$U\!-\!R$}} +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} +\def\nodata{\multicolumn{1}{c}{---}} +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex +\hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} +\def\sizrpt{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +\typeout{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/apjpt.doc b/obsolete/macros/latex209/contrib/aasmacros/apjpt.doc new file mode 100644 index 0000000000..a8f8b8a1e1 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/apjpt.doc @@ -0,0 +1,1166 @@ +% APJPT.STY -- ApJ plano tables style. + +% Plano tables are camera-ready pages that are included in a typeset +% article the same way as line drawings, graphs, and other camera-ready +% art, i.e., as "planographic" figures. This file is parameterized so +% that the tables are appropriate for the ApJ. + +% My convention for identifying configuration information is for styles +% to define the five parameters below. + +\def\revtex@ver{1.1} % Version number of this file. +\def\revtex@date{10 Jan 93} % Revision date. +\def\revtex@org{AAS} % Sponsoring organization. +\def\revtex@jnl{ApJ} % Applicable journal, if specific. +\def\revtex@genre{plano tables} % Document "type". + +% Display identifying message on screen and in logfile. + +\typeout{\revtex@org\space \revtex@jnl\space \revtex@genre\space substyle, + v\revtex@ver\space <\revtex@date>.} + +% The following mini-colophon identifies the article are having been +% prepared with this macro package. The \revtex@pageid command only +% defines the formatting of this colophon; its existence and placement +% within the printed article is controlled by the use of this command +% in the style file. + +\def\revtex@pageid{\xdef\@thefnmark{\null} + \@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} + +% Issue a warning if manuscripts are formatted with type smaller than 12pt. + +\def\genre@MS{manuscript} +\ifx\revtex@genre\genre@MS + \ifnum\@ptsize<2 + \typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Use 12pt documentstyle option.} + \fi +\fi + +% **************************************** +% * INITIALIZATION * +% **************************************** + +% Initialization has to occur at the head of this file because LaTeX's +% "plain" pagestyle is used to establish defaults. These are modified +% below to suit the requirements of this journal. + +\@input{art8.sty} + +\ps@plain % Use "plain" pagestyle for defaults. + +% **************************************** +% * PAGE LAYOUT * +% **************************************** + +% Create "plaintop" page style that has folios at top of page. + +\def\ps@plaintop{\let\@mkboth\@gobbletwo + \def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} + \def\@evenfoot{}\let\@evenhead\@oddhead} + +%\pretolerance=10000 % Disable hyphenation + +% The following gives "reasonable" ragged right results. + +%\@rightskip=\z@ plus 4em\rightskip\@rightskip + +% Page size, spacing parameters, etc. + +\newdimen\@fmwidth \@fmwidth=44pc % Front matter width +\newdimen\@bodywidth \@bodywidth=44pc % Body text width +\textwidth=\@bodywidth +\textheight=8.9in +\topmargin=0in +\headheight=0in % .15in +\headsep=0in % .35in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=1em +\parskip=0ex +\columnsep=1pc + +\hoffset=-2.5pc % To compensate for wide \textwidth +\tolerance=400 % 2x "normal" value; cuts down on overfull complaints + + +%\@input{styopts.sty} + +% **************************************** +% * STYLE OPTIONS * +% **************************************** + +% Make footnotes same size as main text. + +%\let\footnotesize=\normalsize + +% Define parameters to adjust the baselineskip. +% These are passed as the scale factor argument to \baselinestretch. + +\def\@tightleading{1.1} +\def\@doubleleading{1.6} + +% Double-space by default. Observe that you double-space in LaTeX by +% resetting \baselinestretch, which is essentially a scale factor for +% \baselineskip (= leading, for you typographophiles). The style uses +% the \@doubleleading factor, defined above. + +%\def\baselinestretch{\@doubleleading} + +% The \tighten command merely resets the \baselinestretch to a +% smaller factor, resulting in single-column text that is more closely +% spaced. (This will always work.) Tightening the vertical spacing +% in the text results in output that is more attractive for distribution +% to colleagues who are primarily interested in reading the paper, as +% opposed to copy editing it. Double-spaced output for referees and +% copy editors is, however, the main objective of this style, hence +% double-spacing occurs by default. The same effect as \tighten +% can be achieved by using the "tighten" document style option. +% +% \tighten +% +% \tighten is intended for use in the preamble of the article. + +%\def\tighten{\def\baselinestretch{\@tightleading}} +\let\tighten=\relax +\let\tightenlines=\tighten + +% For authors who feel compelled to change between single and double +% spacing in the manuscript, \singlespace and \doublespace commands +% are provided. (Following recommendations of AAS Publications Board +% Subcommittee on Preprints.) +% +% \singlespace +% \doublespace + +\def\singlespace{\def\baselinestretch{\@tightleading}\normalsize} +\def\doublespace{\def\baselinestretch{\@doubleleading}\normalsize} + +% Upper case for sections (optional upper case items). These are created +% so that some headings can be toggled between mixed case and upper case +% readily. Headings that might be changed can be wrapped in the style +% file in \sec@upcase{TEXT} constructs; the expansion of \sec@upcase is +% controlled here. It is `\relax' by default (mixed case heads), and can +% easily be changed to `\uppercase' if desired. If mixed case headings +% are wanted by the editor, authors MUST supply mixed case text, although +% this is what authors should be doing anyway. (Mixed can be converted +% to upper, but the reverse transformation cannot be automated.) + +%\def\sec@upcase#1{\uppercase{#1}} +\def\sec@upcase#1{\relax{#1}} + +% Sometimes people want to number equations by section, rather than +% sequentially through the whole paper. + +\def\eqsecnum{ + \@newctr{equation}[section] + \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} + +%\@input{slug.sty} + +% **************************************** +% * SLUG LINE * +% **************************************** + +% There are some obvious style-dependent parameters and formatting +% instructions in this file. The object has been to keep the author +% commands (the user interface, if you will) society, journal, and +% style-independent, while the style-specific parameters and commands +% are kept below that level. Commands and parameters that are susceptible +% to external interpretation, either by authors or publishers/translators, +% are identified by indented comment lines, with the semantics of command +% arguments described in upper case text. +% +% \@journalname{JOURNAL NAME} +% \cpr@holder{COPYRIGHT HOLDER} + +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} + +% Journal and article identification information is established by the +% editorial staff. The following macros are used by personnel at the +% editorial office to annotate/record slug-line data and should be included +% in the manuscript preamble, i.e., before the LaTeX \begin{document}. All +% they do is globally define other TeX control sequences that are used by +% other macros at a later time. +% +% \received{RECEIPT DATE} +% \revised{REVISION DATE} +% \accepted{ACCEPTANCE DATE} +% \journalid{VOL}{JOURNAL DATE} +% \articleid{START PAGE}{END PAGE} +% \paperid{ID} +% \ccc{CODE} +% +% For preprints and submitted manuscripts in draft/referee format, etc., +% the slug-line information is irrelevant and in those kinds of style, +% the data are never used. In my estimation, it is perfectly acceptable +% to have these commands in the file (for future use), so they are defined +% in the usual way. + +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} + +% Following copyright and running heads \defs are stubs. +%\let\cpright=\@gobbletwo +%\let\righthead=\@gobble +%\let\lefthead=\@gobble + +% Copyright data. Permit the author/editor to supply a copyright +% "type" as well as the year. +% +% \cpright{TYPE}{YEAR} +% +% Copyright types are designated by name and converted to numeric form. +% The mapping of types is defined by the code that sets the @cprtype +% counter. The language of the copyright notices is defined by \@slug. + +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} + \typeout{`#1' copyright \cpr@year.}} + +\newcount\@cprtype \@cprtype=\@ne % Default copyright type. +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@ASP{\@cprtype=5} + +\def\cpr@year{\number\year} % Default copyright year. + +% \@slug determines formatting of slugline information. + +\def\@slug{\par\noindent + \ifcase\@cprtype + \relax + \or + Copyright \cpr@year\space by the \cpr@holder. + \or + This article is in the public domain. + \or + Crown copyright \cpr@year\space by the \cpr@holder. + \or + No copyright is claimed for this article. + \or + Copyright \cpr@year\space by the ASP. + \fi + \par\noindent + Manuscript number \@paperid.\par\noindent + \CCC@code +} + +% Authors may be asked to supply running head information. We use the +% language of the publisher here to distinguish between two pieces of +% information: the left head frequently contains an author list (last +% names, possibly truncated as et al.), while the right head frequently +% contains an abbreviated form of the paper title. The \lefthead and +% \righthead commands merely collect the information and buffer the text. +% +% \lefthead{TEXT} +% \righthead{TEXT} + +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} + +% \@runheads determines formatting of running head information. + +\def\@runheads{\@tempcnta\c@page + \@whilenum \@tempcnta >0\do{ + \vskip 3ex + \hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} + \advance\@tempcnta by\m@ne} +} + +% The \slugcomment command is provided so authors or editors may include +% a remark about the manuscript that may be desired in print for some +% styles. For instance, authors like to include information about the +% journal and publication date of accepted papers ("To appear in AJ, +% November 1992"). +% +% \slugcomment{TEXT} +% +% The formatting of the \slugcomment information is controlled by the +% \sluginfo command. + +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{\relax} + +% Editorial offices like to have receipt and acceptance dates on the front +% page for tracking purposes. The current practice is to require the author +% to type Received___________________ and Accepted ________________ lines +% for the staff to type on. The \@dates command will typeset either rules +% or the dates specified in \received and/or \accepted commands. Note that +% authors should not include \received and \accepted. + +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} + +% \@dates determines formatting of MS date information. + +\def\@dates{{Received}\space% + \if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% + \hspace{1.5em}{accepted}\space% + \if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% +} + +% The \sluginfo command is executed automatically when a \begin{abstract} is +% encountered, so it is not necessary (or appropriate) for the author to +% include this line explicitly. The received/accepted business is a +% concern only for the editorial staff, hence we have arranged for the +% author not to have to fuss with it. + +\def\sluginfo{{\center + \@dates + %\@slug + %\@runheads + \endcenter}} + +\let\dates=\sluginfo % Backwards compatibility + +%\@input{text.sty} + +% **************************************** +% * FRONT MATTER * +% **************************************** + +% Make adjustments to LaTeX abstract style: optional upper case heading, +% retain current type size (should be normalsize), ignore twocolumn option +% in this substyle, add \sluginfo, and start abstract on fresh page. + +\def\abstract{\sluginfo\clearpage + \begin{center} + {\bf{ABSTRACT}} + \end{center} + \quotation +} + +% Title and author identification is by way of standard LaTeX commands +% \title and \author, although the macros themselves are rather different. +% The information is typeset by these macros in this style, rather than +% being buffered as per regular LaTeX. The authors' principal affiliation +% is specified with a separate macro \affil. Each \author command should +% be followed by its own \affil (or address). +% +% Authors often have affiliations above and beyond their main employer, +% and these are specified with the \altaffilmark and \altaffiltext commands. +% These commands behave like the \footnotemark and \footnotetext commands +% of LaTeX. \altaffilmark is appended to author's names in the \author +% lists, and generates the superscript identification numbers. +% The text for the individual alternate affiliations is generated by the +% \altaffiltext command. It is up to the author to make sure that the +% \altaffilmark numbers attached to authors' names correspond to the correct +% alternate affiliation. +% +% \title{LUCID TEXT} +% \author{NAME(S)} +% \authoraddr{AUTHOR'S POSTAL ADDRESS} +% \affil{AFFILIATION} +% \altaffilmark{TAG NUMBER(S)} +% \altaffiltext{NUMERICAL TAG}{TEXT} +% +% The typesetting performed by these commands is appropriate for the top of +% the first text page of the manuscript. They could as well be used on a +% title cover page, but vertical placement would have to be controlled by +% the author. This is not to be encouraged, since I want to discourage +% the introduction of any extra horizontal or vertical space. + +\def\title#1{{\def\baselinestretch{\@tightleading} + \center\large\bf{#1}\endcenter} + \thispagestyle{empty}} +\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}} + +% Redefine the LaTeX \and command for this style. + +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} + +% **************************************** +% * KEYWORDS * +% **************************************** + +% Keywords environment. Keywords, subject headings, etc., are accommodated +% only as a piece of text; the \keywords command indents if necessary and +% supplies the proper leading text ("Keywords:", "Subject headings:", etc.) +% but does not apply formatting to the user's keyword text. The author +% must supply the correct punctuation according to the journal style. +% +% Note that the editors of A&A, ApJ, and MNRAS have discussed the issue +% of keywords, and there is disagreement about whether "subject headings" +% or "keywords" should appear after abstracts in astronomical papers. +% It does not really matter what the macro is called, so I will stick +% to \keywords since I don't know what the difference is anyway. + +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} + +\def\keywords#1{\vspace*{-.7ex}%\vspace{\z@} + \if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}} + \else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote} + \fi} + +\let\subjectheadings=\keywords + +\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do + {\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}} + +% **************************************** +% * FOOTNOTES * +% **************************************** + +% The following code redefines a few things so that spacing in footnotes is +% different than LaTeX defaults. The adjustment to \skip\footins increases +% the amount of vspace inserted before the \footnoterule. Redefine +% \@makefntext to get proper indentation. + +\skip\footins 4ex plus 1ex minus .5ex +\footnotesep 3ex + +%\long\def\@makefntext#1{\noindent\hbox to\z@{\hss$^{\@thefnmark}$}#1} +%\long\def\@makefntext#1{\indent\hbox{$^{\@thefnmark}$}#1} + +% **************************************** +% * SECTIONS * +% **************************************** + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- e.g., chapter=1, +% section = 2, etc. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, else +% negative of skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. + +% Adjust section heading typography slightly. This is one of the spots +% where my personal preference is going to bite me. Anyway, I have reduced +% the size of the main section heads to whatever the normal size is for +% the paper; I don't think it needs to be larger, especially when the +% layout is double-spaced. +% +% Also, modify the indentation behavior so that ALL paragraphs, including +% those first after section heads, are indented. This is consonant with +% the styles of many journals, although it's non-standard typographic practice. + +\def\section{\@startsection {section}{1}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}} + +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} + +% For ApJ, acknowledgments are set off from main body text simply by +% vertical space (no heading or type size change). I do the same for +% the AAS manuscript style. For use in producing more polished output +% for other journals, this macro might generate text saying +% "Acknowledg[e]ments". + +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments % second spelling + +% LaTeX sectioning tools. + +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup \center#6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \sec@upcase{#8}\par}% + \endcenter\endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} + +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M + \sec@upcase{#5}\par}\endcenter\endgroup + \else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi + \@xsect{#3}} + + +% **************************************** +% * EQUATION NUMBERING * +% **************************************** + +% Redefine \appendix so that equation numbers are prepended with +% \theappendix number. Reset equation counter so that equation +% numbers in the appendix begin again with 1. Note that the +% \appendix command is NOT a sectioning command; it is merely +% a delimiting markup between the main body of the paper and the +% appendix. Sections in the appendix are still started with +% \section commands. +% +% \appendix + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \setcounter{equation}{0} + \def\thesection{\Alph{section}.} + \def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} + +% Define mathletters environment. This is a wrapper that goes +% *around* (outside of) equation or eqnarray environments. +% +% \begin{mathletters} +% \end{mathletters} + +\newcounter{cureqno} + +\newenvironment{mathletters}{\refstepcounter{equation}% + \setcounter{cureqno}{\value{equation}}% + \let\@curtheeqn\theequation% + \edef\cur@eqn{\csname theequation\endcsname}% + \def\theequation{\cur@eqn\alph{equation}}% + \setcounter{equation}{0}}% + {\let\theequation\@curtheeqn% + \setcounter{equation}{\value{cureqno}}} + +% The \eqnum command allows the author to override all automatic +% equation marking schemes. +% +% \eqnum{TEXT} + +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation + \addtocounter{equation}{\m@ne}} + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** + +% Bibliography/references environment. For the time being, I don't think +% it would be a good idea to force an implementation based on BibTeX, +% although I'll prepare for that eventuality by using the constructs and +% general ideas of the LaTeX thebibliography environment. Adjustments +% have been made so that the \cite-\bibitem mechanism can be used to cite +% references symbolically while maintaining proper citation syntax within +% the paper; the author must create the citation label for each reference +% in proper journal format in the \bibitem command. +% +% \begin{thebibliography} +% \bibitem[LABEL]{TEXTTAG} \reference +% \end{thebibliography} +% +% where LABEL must adhere to the journal's standards, e.g. "Abt 1986". +% +% It is not necessary to use the thebibliography environment. This style +% defines a references environment that simply sets off the list of references +% and adjusts spacing parameters. It is not possible to use \bibitems +% within the references environment. (The \reference command cannot be +% shortened to \ref; \ref is used in vanilla LaTeX for cross-referencing.) +% +% \begin{references} +% \reference +% \end{references} +% +% \markcite{TEXT} +% +% Observe that the bibliographic data supplied by the author must also +% conform to the standards of the journal. I have elected not to burden +% authors with tedious LaTeX commands which would require many curly braces +% to delimit the bibliographic fields because many of the journals I have +% targeted in this project have agreed to reduce typographic overhead (bolding, +% italicizing, etc.) in reference lists. (See Abt's editorial in ApJ 357.) +% It is the responsibility of the author to get these fields in the proper +% order with the correct punctuation; the information will be typeset as is, +% i.e., in roman with no size or style changes. +% +% Macros are provided for many of the oft-referenced journals so that authors +% may use the LaTeX names rather than having to look up a particular journal's +% specific abbreviation. In principle, all the journals should be using the +% same abbreviations, too, but I anticipate some changes in the specific +% abbreviations before a set is finally settled on. As long as these macros +% are kept up to date, authors need not be concerned about such editorial +% changes. +% +% Corresponding with the non-BibTeX references environment and \reference +% command for the reference list is the \markcite command. This can be +% used to identify in-text citations; in this case, the author provides +% the actual citation text as opposed to the symbolic tag. The use of +% this is encouraged, even for journals where no special formatting of +% citation call-outs is required; it is crucial for the future use of +% on-line browsers. + +\def\references{\subsection*{REFERENCES} + \bgroup\parindent=\z@\parskip=\itemsep + \def\refpar{\par\hangindent=3em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} + +\def\thebibliography{\subsection*{REFERENCES} + \list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em + \usecounter{enumi}} + \def\refpar{\relax} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} + +\def\@biblabel#1{\relax} +%\def\@cite#1#2{({#1\if@tempswa , #2\fi})} +\def\@cite#1#2{#1\if@tempswa , #2\fi} + +\def\reference{\relax\refpar} % Generic: might be better... +\def\markcite#1{#1\relax} + +% Modify \@citex so that individual citation texts are NOT hboxed. +% This allows TeX to break lines at spaces between words in citations. +% Remove the obnoxious {\bf ?} that was inserted in the text when +% undefined citations are encountered; here, the warning message is +% printed only on the terminal. + +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined + {b@\@citeb}{\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +% Permit \keywords declaration, but eat the contents. + +\let\keywords=\@gobble +\let\subjectheadings=\@gobble + +%\@input{tblfig.sty} + +% **************************************** +% * TABLES AND FIGURES * +% **************************************** + +% Additions and adjustments for tables and figures. + +% Footnotes for tables are to be identified with lower case alphabetics, +% rather than numeric. \tablenotemark and \tablenotetext commands are +% provided analogous to \footnotemark and \footnotetext, but with the +% identifier *required*, like \altaffilmark and \altaffiltext. The +% \tablenotetext must be specified before the \end{table}, since +% \end{table} displays it. +% +% \tablenotemark{TAG LETTER(S)} +% \tablenotetext{ALPHA TAG}{TEXT} +% +% Note that TAG LETTER == ALPHA TAG for corresponding text. It is the +% responsibility of the author to get the correspondence correct. +% +% The table footnotes are coupled to the table in which they occur, rather +% than being associated with a particular page, and they are printed with +% the table (relatively close to the caption) instead of appearing at the +% extreme bottom of the page. This is done to ensure that the notes wind +% up on the same page as the table, since tables are floats and can migrate +% from one page to another. There is the additional benefit that the notes +% are unambiguously attached to the proper table, which is what is required +% in the event that the editorial requirement of one table only per page +% is ever changed to permit several tables per page. +% +% Footnotes are NOT supported for figures. + +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} + +% The \tablenotetext command buffers the table note text and the "proper" +% tablenote formatting information in a token buffer. The tablenotes are +% dispensed into the vertical page list by \spew@tblnotes, which is +% executed by \end{table}. Note that certain "global" tablenote formatting +% details are handled by \spew@tblnotes, which also clears the tblnote list. +% Praise and honor are due to Kresten Krab Thorup (krab@iesd.auc.dk) for +% posting ftn.sty to the Usenet, from which I drew the technique. + +\newtoks\@temptokenb +\def\tblnote@list{} + +\def\tablenotetext#1#2{ + \@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\spew@tblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \vspace{4.5ex} + \footnoterule + \vspace{.5ex} + {\footnotesize\tblnote@list} + \gdef\tblnote@list{} + \fi} + +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} + +% Add a \tableline command for use in tabular environments. This command +% produces the horizontal rule(s) between the column headings and the body +% of the table. Authors are discouraged from using any \hlines themselves, +% and are typically forbidden from using vertical rules by editors. + +\let\tableline=\hline + +% \@makecaption determines formatting for figure and table captions. +% For manuscripts, all captions should be set as flushleft paragraphs. + +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} + +% The \tablenum command allows the author to override all automatic +% table marking schemes. +% +% \tablenum{TEXT} + +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable + \addtocounter{table}{\m@ne}} + +% The \figurenum command allows the author to override all automatic +% figure marking schemes. +% +% \figurenum{TEXT} + +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure + \addtocounter{figure}{\m@ne}} + +% **************************************** +% * PLANO TABLES * +% **************************************** + +% Plano tables are camera-ready pages that are included in a typeset +% article the same way as line drawings, graphs, and other camera-ready +% art, i.e., as "planographic" figures. There are desirable properties +% for a formatter to have that are somewhat above and beyond LaTeX'x +% tabular environment that would facilitate the creation of such tables. +% Among these are breaking long tables across pages, using footnotes +% in a table, specifying comments and references for tables, etc. +% +% What follows was inspired by supertab.sty by Theo Jurriens, 1988. + +% Commands for identifying table elements in a consistent way. Observe +% that the formatting is embedded in the macro definitions so that the +% author doesn't need to be concerned about stylistic nuances. +% +% \tablecaption{TEXT} +% \tablehead{TEXT} +% \colhead{HEADING} +% \tabletail{TEXT} +% \tablewidth{DIMEN} +% \tableheadfrac{NUM} +% +% ApJ "standard" widths for tables are 21 and 42 picas, which are the +% widths of single and double columns in the journal. For wide tables, +% any width less than 42 is acceptable, although using widths of 30pc +% and up will result in better appearance when centering. + +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol + +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex] + #1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} + +% Calculate the number of tabular rows that will fit in the body of the +% table. The height of the table body and the number of lines are +% calculated thus: +% +% bodyheight = \textheight * (1 - \pt@headfrac) +% \pt@nlines = bodyheight / (\arraystretch * \baselineskip) +% +% The row height can be seen to be valid algebraically if one examines the +% definitions for \strutbox, \@setstrut, and \@array. I could eliminate +% this calculation, as well as its attendant parameters, if it were possible +% to determine the accumulated height of the \halign box as TeX goes along. + +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight + \@tempdimb\textheight\advance\@tempdimb by-\@tempdima + \@tempdima\arraystretch\baselineskip + \divide\@tempdimb by\@tempdima + \global\pt@nlines\@tempdimb} + +% Define \pt@tabular, a ripoff of \@tabular but with \leavevmode removed +% so tabular box can be set with \setbox. I do this so that table notes +% can be set to natural width of table, if desired. Also, set \@acol +% to \@ptabacol, which is called when building the preamble for the +% \halign (assuming the first column format specification is "l", which +% it should be for ApJ tables) so that \tabskip within the table is set +% to \fill. This permits us to toggle between natural and fixed-width +% tables without requiring the user to change markup. Note that by +% forcing \tabskip always to be \fill, I pretty well nullify any +% @{\hspace} commands the user puts in the template, but this environment +% is for people who don't want to think about that sort of stuff anyway. + +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} + +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} + +% Permit different identifying strings, one for the first page of the +% table and one for continuation pages. LaTeX's \fnum@table is set to +% one or the other automatically in the environment. Note that caption +% handling is not so graceful: you have to edit inside the big macros to +% adjust this. Someday, I will be ambitious enough to fix this. + +\def\fnum@ptable{TABLE \thetable} +\def\fnum@ptablecont{TABLE \thetable---{\it Continued}} + +\def\set@mkcaption{\long\def\@makecaption##1##2{ + \center\Large\sc##1\\[.5ex]##2\endcenter\vskip 1.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ + \center\Large\sc##1\endcenter\vskip 1.5ex}} + +% The environment definition. It is desirable for the last portion of +% a multi-page table to be \topinserted, rather than \midinserted. +% At the moment, this doesn't happen. It's not straightforward to +% make that preference known at the *end* of table processing. +% +% \begin{planotable} +% \end{planotable} +% +% \startdata + +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% + \set@tblnotetext\pt@ncol=0}% + {\crcr\noalign{\vskip .7ex}\hline\endtabular% + \pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% + \typeout{Table \thetable\space has been set to width \the\pt@width}% + \endcenter\end@float} + +\def\startdata{\pt@line=0\pt@calcnlines% + \ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% + \let\fnum@table=\fnum@ptable\set@mkcaption% + \@float{table}\center\caption{\pt@caption}\leavevmode% + \setbox\pt@box=\pt@tabular{\pt@format}\pt@head} + +% A kludgey kind of line delimiter is needed so that the line counter +% can be checked prior to adding the line to the alignment box. This +% is bad because this form does not permit the addition of vertical +% space using the [.5ex] construct; this has to be done with an explicit +% \vskip. And a disgusting \noalign is required, so I have to create +% another silly piece of markup to accomplish this conveniently. +% +% What is desired, of course, is for this line count checking to take +% place within the syntax of the regular LaTeX \\ command. I have been +% giving myself apoplexy trying to figure this out for the last 36 hours, +% and I have decided I will have to wait for the onset of my "lucid +% period" for a solution. In the meantime... + +\def\pt@nl{\global\advance\pt@line by\@ne% + \ifnum\pt@line=\pt@nlines% + \endtabular\box\pt@box + \endcenter\end@float\clearpage% + \addtocounter{table}{\m@ne}% + \let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% + \@float{table}\center\caption{\pt@caption}\leavevmode% + \global\pt@ncol=0% + \setbox\pt@box=\pt@tabular{\pt@format}\pt@head% + \global\pt@line=0% + \else\\ + \fi} + +% Author markup commands for planotable environment line breaks. +% +% \nl == \nextline +% \tablevspace{DIMEN} +% \tablebreak + +\let\nl=\pt@nl +\let\nextline=\pt@nl + +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} + +% We have some specialty heads that are sometimes wanted in tables. +% +% \cutinhead{TEXT} +% \sidehead{TEXT} + +\def\cutinhead#1{\noalign{\vskip 1.5ex} + \hline\pt@nl\noalign{\vskip -4ex} + \multicolumn{\pt@ncol}{c}{#1}\pt@nl + \noalign{\vskip .8ex} + \hline\pt@nl\noalign{\vskip -2ex}} + +\def\sidehead#1{\noalign{\vskip 1.5ex} + \multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl + \noalign{\vskip .5ex}} + +% Internal commands for dealing with table footnotes. I had to hack at +% these to make them co-exist with similarly/identically named commands +% for non-plano tables. This is admittedly ugly, and is on the agenda +% for improved treatment Real Soon Now. + +\def\set@tblnotetext{\def\tablenotetext##1##2{{% + \@temptokena={\vspace{0ex}{% + \parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} + +\def\spew@ptblnotes{ + \ifx\tblnote@list\@empty\relax + \else + \par + \vspace{2ex} + {\tblnote@list} + \gdef\tblnote@list{} + \fi} + +% Special kinds of table footnotes. Sometimes authors tabulate things +% which have corresponding references, and it may be desirable to associate +% these references with the table rather than (or in addition to) the +% formal reference list. Occasionally, authors wish to append a short +% paragraph of explanatory notes that pertain to the entire table, but +% which are different than the caption. +% +% \tablerefs{REFERENCE LIST} +% \tablecomments{TEXT} +% +% It is acceptable to the Press for the titles of these paragraphs to be +% in all caps in \normalsize. Note that I have employed the hacker's +% caps and small caps, although this may be considered inferior. + +\def\tablerefs#1{\@temptokena={\vspace*{.8ex}{% + \parbox{\pt@width}{\hskip1em{\rm R{\footnotesize EFERENCES}.---}#1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +\def\tablecomments#1{\@temptokena={\vspace*{.8ex}{% + \parbox{\pt@width}{\hskip1em{\rm N{\footnotesize OTE}.---}#1}\par}}% + \@temptokenb=\expandafter{\tblnote@list} + \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} + +% Figure and table style parameters. + +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} + +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} + +% Figure and table float positions. + +\def\fps@figure{bp} +\def\fps@table{bp} + +% **************************************** +% * EPS INCLUSIONS * +% **************************************** + +% Include Rokicki's epsf.sty file explicitly. + +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} + +% Simplified EPS inclusion macros so we can see how this goes... +% These are layered on Rokicki's dvips material, and are dependent +% on the author's use of that DVI driver. +% +% \plotone{EPSFILE} +% \plottwo{EPSFILE}{EPSFILE} +% \plotfiddle{EPSFILE}{VSIZE}{ROT}{HSF}{VSF}{HTRANS}{VTRANS} +% +% \plotone inserts the plot in a space that is \columnwidth wide; the +% plot is scaled so the horizontal dimension fits in the text width, +% and the vertical dimension is scaled to maintain the aspect ratio. +% \plottwo inserts two plots next to each other in one \columnwidth, +% sort of like "two-up" mode. +% +% EPSFILE name of file with EPS +% +% The following arguments are for the \plotfiddle macro which formats +% the \special itself, prepares vspace, etc. This completely bypasses +% Rokicki's macros that attempt to rationalize the EPS BoundingBox with +% the LaTeX page dimensions. +% +% VSIZE vertical white space to allow for plot +% ROT rotation angle +% HSF horiz scale factor +% VSF vert scale factor +% HTRANS horiz translation +% VTRANS vert translation + +%\epsfverbosetrue + +\def\plotone#1{\centering \leavevmode + \epsfxsize=\columnwidth \epsfbox{#1}} + +\def\plottwo#1#2{\centering \leavevmode + \epsfxsize=.45\columnwidth \epsfbox{#1} \hfil + \epsfxsize=.45\columnwidth \epsfbox{#2}} + +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode + \vbox to#2{\rule{0pt}{#2}} + \special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} + +%\@input{abbrevs.sty} + +% **************************************** +% * ABBREVIATIONS * +% **************************************** + +% Abbreviations for journals. The object here is to provide authors +% with convenient shorthands for the most "popular" (often-cited) +% journals; the author can use these markup tags without being concerned +% about the exact form of the journal abbreviation, or its formatting. +% It is up to the keeper of the macros to make sure the macros expand +% to the proper text. If macro package writers agree to all use the +% same TeX command name, authors only have to remember one thing, and +% the style file will take care of editorial preferences. This also +% applies when a single journal decides to revamp its abbreviating +% scheme, as happened with the ApJ (Abt 1991). + +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} + +\def\aj{\ref@jnl{AJ}} % Astronomical Journal +\def\araa{\ref@jnl{ARA\&A}} % Annual Review of Astron and Astrophys +\def\apj{\ref@jnl{ApJ}} % Astrophysical Journal +\def\apjl{\ref@jnl{ApJ}} % Astrophysical Journal, Letters +\def\apjs{\ref@jnl{ApJS}} % Astrophysical Journal, Supplement +\def\ao{\ref@jnl{Appl.Optics}} % Applied Optics +\def\apss{\ref@jnl{Ap\&SS}} % Astrophysics and Space Science +\def\aap{\ref@jnl{A\&A}} % Astronomy and Astrophysics +\def\aapr{\ref@jnl{A\&A~Rev.}} % Astronomy and Astrophysics Reviews +\def\aaps{\ref@jnl{A\&AS}} % Astronomy and Astrophysics, Supplement +\def\azh{\ref@jnl{AZh}} % Astronomicheskii Zhurnal +\def\baas{\ref@jnl{BAAS}} % Bulletin of the AAS +\def\jrasc{\ref@jnl{JRASC}} % Journal of the RAS of Canada +\def\memras{\ref@jnl{MmRAS}} % Memoirs of the RAS +\def\mnras{\ref@jnl{MNRAS}} % Monthly Notices of the RAS +\def\pra{\ref@jnl{Phys.Rev.A}} % Physical Review A: General Physics +\def\prb{\ref@jnl{Phys.Rev.B}} % Physical Review B: Solid State +\def\prc{\ref@jnl{Phys.Rev.C}} % Physical Review C +\def\prd{\ref@jnl{Phys.Rev.D}} % Physical Review D +\def\prl{\ref@jnl{Phys.Rev.Lett}} % Physical Review Letters +\def\pasp{\ref@jnl{PASP}} % Publications of the ASP +\def\pasj{\ref@jnl{PASJ}} % Publications of the ASJ +\def\qjras{\ref@jnl{QJRAS}} % Quarterly Journal of the RAS +\def\skytel{\ref@jnl{S\&T}} % Sky and Telescope +\def\solphys{\ref@jnl{Solar~Phys.}} % Solar Physics +\def\sovast{\ref@jnl{Soviet~Ast.}} % Soviet Astronomy +\def\ssr{\ref@jnl{Space~Sci.Rev.}} % Space Science Reviews +\def\zap{\ref@jnl{ZAp}} % Zeitschrift fuer Astrophysik + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs + +%\@input{misc.sty} + +% **************************************** +% * MISCELLANEOUS * +% **************************************** + +% Handy little things everybody works out for themselves anyway. Many +% of these come from Springer's A&A package, and some were contributed +% by Francois Schweizer at DTM. You can go berserk making these up, +% especially when you start getting into the composite ones. We have +% tried to select a tractable number that were useful, and somewhat +% difficult to get right because fussy kerning or some such is required. +% Most can be used in or out of math mode with impunity; \alt and \agt +% are relations and can only be used in math mode. + +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} + +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim + +% Permit author to typeset "case" fractions. This is sometimes +% wanted in displayed equations, during which LaTeX will set fractions +% specified as \frac{x}{y} as "built-up" fractions (numerator and +% denominator at body text size). + +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} + +% Permit author to typeset fractions set with solidus where the size +% is reduced and the numerals are oriented diagonally. Note that this +% is different from a "shilled" fraction, which the author can produce +% without any special formatting markup. Define markup shorthands for +% several common fractions using solidus. + +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} + +\def\ubvr{\hbox{$U\!BV\!R$}} % UBVR system +\def\ub{\hbox{$U\!-\!B$}} % U-B +\def\bv{\hbox{$B\!-\!V$}} % B-V +\def\vr{\hbox{$V\!-\!R$}} % V-R +\def\ur{\hbox{$U\!-\!R$}} % U-R + +% Notation for atomic species (ionization levels). The ionization state +% is specified as the second argument, and should be given as a numeral. +% The macro has to expand the numeric state into the proper notation for +% the publication (roman, numeric, plus signs, etc.) +% +% \ion{ELEMENT}{IONIZATION STATE} + +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} + +% Centered ellipsis for use in tables (for unknown values). \nodata +% is generalized markup for this notion: format of null-valued entries +% in tables is style-specific. + +%\def\cellipsis{\hfill$\cdots$\hfill} +\def\nodata{\multicolumn{1}{c}{$\cdots$}} + +% This is a generalization of the \LaTeX definition that comes in LaTeX. +% The change here ensures that LaTeX will be typeset in the current style, +% rather than always in roman. + +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex + \hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} + +% **************************************** +% * DEBUGGING * +% **************************************** + +\def\sizrpt{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font + \typeout{ + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/apjpt.sty b/obsolete/macros/latex209/contrib/aasmacros/apjpt.sty new file mode 100644 index 0000000000..4aef25c59a --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/apjpt.sty @@ -0,0 +1,403 @@ +\def\revtex@ver{1.1} +\def\revtex@date{10 Jan 93} +\def\revtex@org{AAS} +\def\revtex@jnl{ApJ} +\def\revtex@genre{plano tables} +\typeout{\revtex@org\space \revtex@jnl\space \revtex@genre\space substyle, +v\revtex@ver\space <\revtex@date>.} +\def\revtex@pageid{\xdef\@thefnmark{\null} +\@footnotetext{This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.}} +\def\genre@MS{manuscript} +\ifx\revtex@genre\genre@MS +\ifnum\@ptsize<2 +\typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts). + Use 12pt documentstyle option.} +\fi +\fi +\@input{art8.sty} +\ps@plain +\def\ps@plaintop{\let\@mkboth\@gobbletwo +\def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil} +\def\@evenfoot{}\let\@evenhead\@oddhead} +\newdimen\@fmwidth \@fmwidth=44pc +\newdimen\@bodywidth \@bodywidth=44pc +\textwidth=\@bodywidth +\textheight=8.9in +\topmargin=0in +\headheight=0in +\headsep=0in +\oddsidemargin=0in +\evensidemargin=0in +\parindent=1em +\parskip=0ex +\columnsep=1pc +\hoffset=-2.5pc +\tolerance=400 +\def\@tightleading{1.1} +\def\@doubleleading{1.6} +\let\tighten=\relax +\let\tightenlines=\tighten +\def\singlespace{\def\baselinestretch{\@tightleading}\normalsize} +\def\doublespace{\def\baselinestretch{\@doubleleading}\normalsize} +\def\sec@upcase#1{\relax{#1}} +\def\eqsecnum{ +\@newctr{equation}[section] +\def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} +\def\@journalname{The Astropolitical Journal} +\def\cpr@holder{American Astronomical Society} +\def\received#1{\gdef\@recvdate{#1}} \received{\relax} +\def\revised#1{\gdef\@revisedate{#1}} \revised{\relax} +\def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax} +\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}} +\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}} +\def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP} +\def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB} +\def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2} +\typeout{`#1' copyright \cpr@year.}} +\newcount\@cprtype \@cprtype=\@ne +\def\cpr@AAS{\@cprtype=1} +\def\cpr@PD{\@cprtype=2} +\def\cpr@Crown{\@cprtype=3} +\def\cpr@none{\@cprtype=4} +\def\cpr@year{\number\year} +\def\@slug{\par\noindent +\ifcase\@cprtype + \relax +\or + Copyright \cpr@year\space by the \cpr@holder. +\or + This article is in the public domain. +\or + Crown copyright \cpr@year\space by the \cpr@holder. +\or + No copyright is claimed for this article. +\fi +\par\noindent +Manuscript number \@paperid.\par\noindent +\CCC@code +} +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} +\def\@runheads{\@tempcnta\c@page +\@whilenum \@tempcnta >0\do{ +\vskip 3ex +\hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil} +\advance\@tempcnta by\m@ne} +} +\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{\relax} +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@} +\def\@dates{{Received}\space% +\if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;% +\hspace{1.5em}{accepted}\space% +\if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi% +} +\def\sluginfo{{\center +\@dates + + +\endcenter}} +\let\dates=\sluginfo +\def\abstract{\sluginfo\clearpage +\begin{center} +{\bf{ABSTRACT}} +\end{center} +\quotation +} +\def\title#1{{\def\baselinestretch{\@tightleading} +\center\large\bf{#1}\endcenter} +\thispagestyle{empty}} +\def\author#1{{\topsep\z@\center\normalsize#1\endcenter}} +\let\authoraddr=\@gobble +\def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}} +\def\altaffilmark#1{$^{#1}$} +\def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}} +\def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}} +\def\@keywordtext{Subject headings} +\def\@keyworddelim{---} +\def\keywords#1{\vspace*{-.7ex} +\if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}} +\else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote} +\fi} +\let\subjectheadings=\keywords +\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do +{\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}} +\skip\footins 4ex plus 1ex minus .5ex +\footnotesep 3ex +\def\section{\@startsection {section}{1}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} +{5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}} +\def\thesection{\@arabic{\c@section}.} +\def\thesubsection{\thesection\@arabic{\c@subsection}.} +\def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.} +\def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:} +\def\acknowledgments{\vskip 3ex plus .8ex minus .4ex} +\let\acknowledgements=\acknowledgments +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth +\def\@svsec{}\else +\refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi +\@tempskipa #5\relax +\ifdim \@tempskipa>\z@ +\begingroup \center#6\relax +\@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \sec@upcase{#8}\par}% +\endcenter\endgroup +\csname #1mark\endcsname{#7}\addcontentsline +{toc}{#1}{\ifnum #2>\c@secnumdepth \else +\protect\numberline{\csname the#1\endcsname}\fi +#7}\else +\def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname +{#7}\addcontentsline +{toc}{#1}{\ifnum #2>\c@secnumdepth \else +\protect\numberline{\csname the#1\endcsname}\fi +#7}}\fi +\@xsect{#5}} +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax +\ifdim \@tempskipa>\z@ +\begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M +\sec@upcase{#5}\par}\endcenter\endgroup +\else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi +\@xsect{#3}} +\def\appendix{\par +\setcounter{section}{0} +\setcounter{subsection}{0} +\setcounter{equation}{0} +\def\thesection{\Alph{section}.} +\def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}} +\newcounter{cureqno} +\newenvironment{mathletters}{\refstepcounter{equation}% +\setcounter{cureqno}{\value{equation}}% +\let\@curtheeqn\theequation% +\edef\cur@eqn{\csname theequation\endcsname}% +\def\theequation{\cur@eqn\alph{equation}}% +\setcounter{equation}{0}}% +{\let\theequation\@curtheeqn% +\setcounter{equation}{\value{cureqno}}} +\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation +\addtocounter{equation}{\m@ne}} +\def\references{\subsection*{REFERENCES} +\bgroup\parindent=\z@\parskip=\itemsep +\def\refpar{\par\hangindent=3em\hangafter=1}} +\def\endreferences{\refpar\egroup\revtex@pageid} +\def\thebibliography{\subsection*{REFERENCES} +\list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em +\usecounter{enumi}} +\def\refpar{\relax} +\def\newblock{\hskip .11em plus .33em minus .07em} +\sloppy\clubpenalty4000\widowpenalty4000 +\sfcode`\.=1000\relax} +\def\endthebibliography{\endlist\revtex@pageid} +\def\@biblabel#1{\relax} +\def\@cite#1#2{#1\if@tempswa , #2\fi} +\def\reference{\relax\refpar} +\def\markcite#1{#1\relax} +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi +\def\@citea{}\@cite{\@for\@citeb:=#2\do +{\@citea\def\@citea{,\penalty\@m\ }\@ifundefined +{b@\@citeb}{\@warning +{Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +\let\keywords=\@gobble +\let\subjectheadings=\@gobble +\def\tablenotemark#1{\rlap{$^{\rm #1}$}} +\newtoks\@temptokenb +\def\tblnote@list{} +\def\tablenotetext#1#2{ +\@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par} +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\spew@tblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\vspace{4.5ex} +\footnoterule +\vspace{.5ex} +{\footnotesize\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\endtable{\spew@tblnotes\end@float} +\@namedef{endtable*}{\spew@tblnotes\end@dblfloat} +\let\tableline=\hline +\long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par} +\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable +\addtocounter{table}{\m@ne}} +\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure +\addtocounter{figure}{\m@ne}} +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@nlines +\newcount\pt@ncol +\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne} +\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax} +\def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex] +#1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax} +\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax} +\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth +\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1} +\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight +\@tempdimb\textheight\advance\@tempdimb by-\@tempdima +\@tempdima\arraystretch\baselineskip +\divide\@tempdimb by\@tempdima +\global\pt@nlines\@tempdimb} +\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol +\let\@classz\@tabclassz +\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} +\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}} +\def\fnum@ptable{TABLE \thetable} +\def\fnum@ptablecont{TABLE \thetable---{\it Continued}} +\def\set@mkcaption{\long\def\@makecaption##1##2{ +\center\Large\sc##1\\[.5ex]##2\endcenter\vskip 1.5ex}} +\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ +\center\Large\sc##1\endcenter\vskip 1.5ex}} +\newenvironment{planotable}[1]{\def\pt@format{\string#1}% +\set@tblnotetext\pt@ncol=0}% +{\crcr\noalign{\vskip .7ex}\hline\endtabular% +\pt@width\wd\pt@box\box\pt@box\spew@ptblnotes% +\typeout{Table \thetable\space has been set to width \the\pt@width}% +\endcenter\end@float} +\def\startdata{\pt@line=0\pt@calcnlines% +\ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi% +\let\fnum@table=\fnum@ptable\set@mkcaption% +\@float{table}\center\caption{\pt@caption}\leavevmode% +\setbox\pt@box=\pt@tabular{\pt@format}\pt@head} +\def\pt@nl{\global\advance\pt@line by\@ne% +\ifnum\pt@line=\pt@nlines% +\endtabular\box\pt@box +\endcenter\end@float\clearpage% +\addtocounter{table}{\m@ne}% +\let\fnum@table=\fnum@ptablecont\set@mkcaptioncont% +\@float{table}\center\caption{\pt@caption}\leavevmode% +\global\pt@ncol=0% +\setbox\pt@box=\pt@tabular{\pt@format}\pt@head% +\global\pt@line=0% +\else\\ +\fi} +\let\nl=\pt@nl +\let\nextline=\pt@nl +\def\tablevspace#1{\noalign{\vskip{#1}}} +\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl} +\def\cutinhead#1{\noalign{\vskip 1.5ex} +\hline\pt@nl\noalign{\vskip -4ex} +\multicolumn{\pt@ncol}{c}{#1}\pt@nl +\noalign{\vskip .8ex} +\hline\pt@nl\noalign{\vskip -2ex}} +\def\sidehead#1{\noalign{\vskip 1.5ex} +\multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl +\noalign{\vskip .5ex}} +\def\set@tblnotetext{\def\tablenotetext##1##2{{% +\@temptokena={\vspace{0ex}{% +\parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}} +\def\spew@ptblnotes{ +\ifx\tblnote@list\@empty\relax +\else +\par +\vspace{2ex} +{\tblnote@list} +\gdef\tblnote@list{} +\fi} +\def\tablerefs#1{\@temptokena={\vspace*{.8ex}{% +\parbox{\pt@width}{\hskip1em{\rm R{\footnotesize EFERENCES}.---}#1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\tablecomments#1{\@temptokena={\vspace*{.8ex}{% +\parbox{\pt@width}{\hskip1em{\rm N{\footnotesize OTE}.---}#1}\par}}% +\@temptokenb=\expandafter{\tblnote@list} +\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}} +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\rm Fig.\space\thefigure.---}} +\def\thetable{\@arabic\c@table} +\def\fnum@table{{\rm Table \thetable:}} +\def\fps@figure{bp} +\def\fps@table{bp} +\@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax} +\def\plotone#1{\centering \leavevmode +\epsfxsize=\columnwidth \epsfbox{#1}} +\def\plottwo#1#2{\centering \leavevmode +\epsfxsize=.45\columnwidth \epsfbox{#1} \hfil +\epsfxsize=.45\columnwidth \epsfbox{#2}} +\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode +\vbox to#2{\rule{0pt}{#2}} +\special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}} +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} +\def\aj{\ref@jnl{AJ}} +\def\araa{\ref@jnl{ARA\&A}} +\def\apj{\ref@jnl{ApJ}} +\def\apjl{\ref@jnl{ApJ}} +\def\apjs{\ref@jnl{ApJS}} +\def\ao{\ref@jnl{Appl.Optics}} +\def\apss{\ref@jnl{Ap\&SS}} +\def\aap{\ref@jnl{A\&A}} +\def\aapr{\ref@jnl{A\&A~Rev.}} +\def\aaps{\ref@jnl{A\&AS}} +\def\azh{\ref@jnl{AZh}} +\def\baas{\ref@jnl{BAAS}} +\def\jrasc{\ref@jnl{JRASC}} +\def\memras{\ref@jnl{MmRAS}} +\def\mnras{\ref@jnl{MNRAS}} +\def\pra{\ref@jnl{Phys.Rev.A}} +\def\prb{\ref@jnl{Phys.Rev.B}} +\def\prc{\ref@jnl{Phys.Rev.C}} +\def\prd{\ref@jnl{Phys.Rev.D}} +\def\prl{\ref@jnl{Phys.Rev.Lett}} +\def\pasp{\ref@jnl{PASP}} +\def\pasj{\ref@jnl{PASJ}} +\def\qjras{\ref@jnl{QJRAS}} +\def\skytel{\ref@jnl{S\&T}} +\def\solphys{\ref@jnl{Solar~Phys.}} +\def\sovast{\ref@jnl{Soviet~Ast.}} +\def\ssr{\ref@jnl{Space~Sci.Rev.}} +\def\zap{\ref@jnl{ZAp}} +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\def\deg{\hbox{$^\circ$}} +\def\sun{\hbox{$\odot$}} +\def\earth{\hbox{$\oplus$}} +\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}} +\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}} +\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\fd{\hbox{$.\!\!^{\rm d}$}} +\def\fh{\hbox{$.\!\!^{\rm h}$}} +\def\fm{\hbox{$.\!\!^{\rm m}$}} +\def\fs{\hbox{$.\!\!^{\rm s}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} +\def\micron{\hbox{$\mu$m}} +\let\la=\lesssim +\let\ga=\gtrsim +\def\case#1#2{\hbox{$\frac{#1}{#2}$}} + + +\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} +\def\onehalf{\slantfrac{1}{2}} +\def\onethird{\slantfrac{1}{3}} +\def\twothirds{\slantfrac{2}{3}} +\def\onequarter{\slantfrac{1}{4}} +\def\threequarters{\slantfrac{3}{4}} +\def\ubvr{\hbox{$U\!BV\!R$}} +\def\ub{\hbox{$U\!-\!B$}} +\def\bv{\hbox{$B\!-\!V$}} +\def\vr{\hbox{$V\!-\!R$}} +\def\ur{\hbox{$U\!-\!R$}} +\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} +\def\nodata{\multicolumn{1}{c}{$\cdots$}} +\newcount\lecurrentfam +\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex +\hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX} +\def\sizrpt{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +\typeout{ +(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font +}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/art8.doc b/obsolete/macros/latex209/contrib/aasmacros/art8.doc new file mode 100644 index 0000000000..c97428516e --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/art8.doc @@ -0,0 +1,369 @@ +% ARTICLE DOCUMENT STYLE -- Released 22 Dec 1987 +% for LaTeX version 2.09 +% Copyright (C) 1987 by Leslie Lamport + +% **************************************** +% * FONTS * +% **************************************** +% + +\lineskip 1pt % \lineskip is 1pt for all font sizes. +\normallineskip 1pt +\def\baselinestretch{1} + +% Each size-changing command \SIZE executes the command +% \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE +% where: +% BASELINESKIP = Normal value of \baselineskip for that size. (Actual +% value will be \baselinestretch * BASELINESKIP.) +% +% \FONTSIZE = Name of font-size command. The currently available +% (preloaded) font sizes are: \vpt (5pt), \vipt (6pt), +% \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt, +% \xivpt, \xviipt, \xxpt, \xxvpt. +% \@FONTSIZE = The same as the font-size command except with an +% '@' in front---e.g., if \FONTSIZE = \xivpt then +% \@FONTSIZE = \@xivpt. +% +% For reasons of efficiency that needn't concern the designer, +% the document style defines \@normalsize instead of \normalsize . This is +% done only for \normalsize, not for any other size-changing commands. + +\def\@normalsize{\@setsize\normalsize{9.2pt}\viiipt\@viiipt +\abovedisplayskip 6pt plus2pt minus4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 4pt plus2pt minus2pt% +\let\@listi\@listI} % Setting of \@listi added 9 Jun 87 + +\def\small{\@setsize\small{8pt}\viipt\@viipt +\abovedisplayskip 5pt plus 2pt minus 3pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 4pt plus2pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\def\footnotesize{\@setsize\footnotesize{7pt}\vipt\@vipt +\abovedisplayskip 4.5pt plus 2pt minus 3pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 3pt plus 1pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\def\scriptsize{\@setsize\scriptsize{6pt}\vpt\@vpt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\large{10.4pt}\ixpt\@ixpt} +\def\Large{\@setsize\Large{12pt}\xpt\@xpt} +\def\LARGE{\@setsize\LARGE{14pt}\xiipt\@xiipt} +\def\huge{\@setsize\huge{18pt}\xivpt\@xivpt} +\def\Huge{\@setsize\Huge{22pt}\xviipt\@xviipt} + +\normalsize % Choose the normalsize font. + + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% All margin dimensions measured from a point one inch from top and side +% of page. + +% SIDE MARGINS: +\if@twoside % Values for two-sided printing: + \oddsidemargin 44pt % Left margin on odd-numbered pages. + \evensidemargin 82pt % Left margin on even-numbered pages. + \marginparwidth 107pt % Width of marginal notes. +\else % Values for one-sided printing: + \oddsidemargin 63pt % Note that \oddsidemargin = \evensidemargin + \evensidemargin 63pt + \marginparwidth 90pt +\fi +\marginparsep 11pt % Horizontal space between outer margin and + % marginal note + + +% VERTICAL SPACING: + % Top of page: +\topmargin 27pt % Nominal distance from top of page to top of + % box containing running head. +\headheight 12pt % Height of box containing running head. +\headsep 25pt % Space between running head and text. +% \topskip = 10pt % '\baselineskip' for first line of page. + % Bottom of page: +\footskip 30pt % Distance from baseline of box containing foot + % to baseline of last line of text. + + + % DIMENSION OF TEXT: +% 24 Jun 86: changed to explicitly compute \textheight to avoid roundoff. +% The value of the multiplier was calculated as the floor of the +% old \textheight minus \topskip, divided by \baselineskip for \normalsize. +% The old value of \textheight was 528pt. +% \textheight is the height of text (including footnotes and figures, +% excluding running head and foot). + +\textheight = 63\baselineskip +\advance\textheight by \topskip +\textwidth 345pt % Width of text line. + % For two-column mode: +\columnsep 10pt % Space between columns +\columnseprule 0pt % Width of rule between columns. + +% A \raggedbottom command causes 'ragged bottom' pages: pages set to +% natural height instead of being stretched to exactly \textheight. + +% FOOTNOTES: + +\footnotesep 4.5pt % Height of strut placed at the beginning of every + % footnote = height of normal \footnotesize strut, + % so no extra space between footnotes. + +\skip\footins 6pt plus 4pt minus 2pt % Space between last line of text and + % top of first footnote. + +% FLOATS: (a float is something like a figure or table) +% +% FOR FLOATS ON A TEXT PAGE: +% +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\floatsep 8pt plus 2pt minus 2pt % Space between adjacent floats moved + % to top or bottom of text page. +\textfloatsep 12pt plus 2pt minus 4pt % Space between main text and floats + % at top or bottom of page. +\intextsep 8pt plus 2pt minus 2pt % Space between in-text figures and + % text. +\@maxsep 12pt % The maximum of \floatsep, + % \textfloatsep and \intextsep (minus + % the stretch and shrink). +% TWO-COLUMN FLOATS IN TWO-COLUMN MODE: +\dblfloatsep 8pt plus 2pt minus 2pt % Same as \floatsep for double-column + % figures in two-column mode. +\dbltextfloatsep 12pt plus 2pt minus 4pt % \textfloatsep for double-column + % floats. +\@dblmaxsep 12pt % The maximum of \dblfloatsep and + % \dbltexfloatsep. + +% FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN: +% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: +\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be + % 0pt plus ...) +\@fpsep 8pt plus 2fil % Space between floats on float page/column. +\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be + % 0pt plus ... ) + +% DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE. +\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) +\@dblfpsep 8pt plus 2fil % Space between floats on float page. +\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be + % 0pt plus ... ) +% MARGINAL NOTES: +% +\marginparpush 5pt % Minimum vertical separation between two marginal + % notes. + + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\parskip 0pt plus 1pt % Extra vertical space between paragraphs. +\parindent 15pt % Width of paragraph indentation. +%\topsep 5pt plus 2pt minus 4pt % Extra vertical space, in addition to + % \parskip, added above and below list and + % paragraphing environments. +\partopsep 2pt plus 1pt minus 1pt % Extra vertical space, in addition to + % \parskip and \topsep, added when user + % leaves blank line before environment. +%\itemsep 2pt plus 2pt minus 1pt % Extra vertical space, in addition to + % \parskip, added between list items. +% See \@listI for values of \topsep and \itemsep +% (Change made 9 Jun 87) + +% The following page-breaking penalties are defined + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph environment. +\@itempenalty -\@lowpenalty % Between list items. + +% \clubpenalty % 'Club line' at bottom of page. +% \widowpenalty % 'Widow line' at top of page. +% \displaywidowpenalty % Math display widow line. +% \predisplaypenalty % Breaking before a math display. +% \postdisplaypenalty % Breaking after a math display. +% \interlinepenalty % Breaking at a line within a paragraph. +% \brokenpenalty % Breaking after a hyphenated line. + + +% **************************************** +% * SECTIONS * +% **************************************** +% + +% \secdef{UNSTARCMDS}{STARCMDS} : +% When defining a sectionioning command without using +% \@startsection, you can use \secdef as follows: +% \def\part { ... \secdef \CMDA \CMDB } +% \def\CMDA [#1]#2{ ... } % Command to define \part[...]{...} +% \def\CMDB #1{ ... } % Command to define \part*{...} + +\def\part{\par % New paragraph + \addvspace{4ex} % Adds vertical space above title. + \@afterindentfalse % Suppresses indent in first paragraph. Change + \secdef\@part\@spart} % to \@afterindenttrue to have indent. + +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 + \refstepcounter{part} % THEN step part counter + \addcontentsline{toc}{part}{\thepart % add toc line + \hspace{1em}#1}\else % ELSE add unnumbered line + \addcontentsline{toc}{part}{#1}\fi % FI + { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 + \Large \bf Part \thepart % THEN Print 'Part' and + \par \nobreak % number in \Large boldface. + \fi % FI + \huge \bf % Select \huge boldface. + #2\markboth{}{}\par } % Print title and set heading marks null. + \nobreak % TeX penalty to prevent page break. + \vskip 3ex % Space between title and text. + \@afterheading % Routine called after part and + } % section heading. + +% Heading for \part* command +\def\@spart#1{{\parindent 0pt \raggedright + \huge \bf + #1\par} % Title. + \nobreak % TeX penalty to prevent page break. + \vskip 3ex % Space between title and text. + \@afterheading % Routine called after part and + } % section heading. + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +% optional * [ALTHEADING]{HEADING} +% Generic command to start a section. +% NAME : e.g., 'subsection' +% LEVEL : a number, denoting depth of section -- i.e., section=1, +% subsection = 2, etc. A section number will be printed if +% and only if LEVEL < or = the value of the secnumdepth +% counter. +% INDENT : Indentation of heading from left margin +% BEFORESKIP : Absolute value = skip to leave above the heading. +% If negative, then paragraph indent of text following +% heading is suppressed. +% AFTERSKIP : if positive, then skip to leave below heading, +% else - skip to leave to right of run-in heading. +% STYLE : commands to set style +% If '*' missing, then increments the counter. If it is present, then +% there should be no [ALTHEADING] argument. A sectioning command +% is normally defined to \@startsection + its first six arguments. + +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus + -.2ex}{2.3ex plus .2ex}{\Large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus + -.2ex}{1.5ex plus .2ex}{\large\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus +-1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\bf}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{3.25ex plus 1ex minus + .2ex}{-1em}{\normalsize\bf}} + + +% Default initializations of \...mark commands. (See below for their +% us in defining page styles. +% + +% \def\sectionmark#1{} % Preloaded definitions +% \def\subsectionmark#1{} +% \def\subsubsectionmark#1{} +% \def\paragraphmark#1{} +% \def\subparagraphmark#1{} + +% The value of the counter secnumdepth gives the depth of the +% highest-level sectioning command that is to produce section numbers. +% + +\setcounter{secnumdepth}{3} + +% APPENDIX +% +% The \appendix command must do the following: +% -- reset the section and subsection counters to zero +% -- redefine the section counter to produce appendix numbers +% -- redefine the \section command if appendix titles and headings are +% to look different from section titles and headings. + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + + +% **************************************** +% * LISTS * +% **************************************** +% + +% The following commands are used to set the default values for the list +% environment's parameters. See the LaTeX manual for an explanation of +% the meanings of the parameters. Defaults for the list environment are +% set as follows. First, \rightmargin, \listparindent and \itemindent +% are set to 0pt. Then, for a Kth level list, the command \@listK is +% called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is +% called for a third-level list.) By convention, \@listK should set +% \leftmargin to \leftmarginK. +% +% For efficiency, level-one list's values are defined at top level, and +% \@listi is defined to set only \leftmargin + +\leftmargini 2.5em +\leftmarginii 2.2em % > \labelsep + width of '(m)' +\leftmarginiii 1.87em % > \labelsep + width of 'vii.' +\leftmarginiv 1.7em % > \labelsep + width of 'M.' +\leftmarginv 1em +\leftmarginvi 1em + +\leftmargin\leftmargini +\labelsep 5pt +\labelwidth\leftmargini\advance\labelwidth-\labelsep +% \parsep 2pt plus 2pt minus 1pt (Removed 9 Jun 87) + +% \@listI defines top level and \@listi values of +% \leftmargin, \topsep, \parsep, and \itemsep +% (Added 9 Jun 87) +\def\@listI{\leftmargin\leftmargini \parsep 2pt plus 2pt minus 1pt% +\topsep 5pt plus 2pt minus 4pt% +\itemsep 2pt plus 2pt minus 1pt} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2pt plus 2pt minus 1pt + \parsep 2pt plus 1pt minus 1pt + \itemsep \parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ \partopsep 1pt plus 0pt minus 1pt + \itemsep \topsep} + +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} + +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} + +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + diff --git a/obsolete/macros/latex209/contrib/aasmacros/art8.sty b/obsolete/macros/latex209/contrib/aasmacros/art8.sty new file mode 100644 index 0000000000..6df9eb2011 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/art8.sty @@ -0,0 +1,150 @@ +\lineskip 1pt +\normallineskip 1pt +\def\baselinestretch{1} +\def\@normalsize{\@setsize\normalsize{9.2pt}\viiipt\@viiipt +\abovedisplayskip 6pt plus2pt minus4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 4pt plus2pt minus2pt% +\let\@listi\@listI} +\def\small{\@setsize\small{8pt}\viipt\@viipt +\abovedisplayskip 5pt plus 2pt minus 3pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 4pt plus2pt minus 2pt +\def\@listi{\leftmargin\leftmargini +\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} +\def\footnotesize{\@setsize\footnotesize{7pt}\vipt\@vipt +\abovedisplayskip 4.5pt plus 2pt minus 3pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 3pt plus 1pt minus 2pt +\def\@listi{\leftmargin\leftmargini +\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{6pt}\vpt\@vpt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\large{10.4pt}\ixpt\@ixpt} +\def\Large{\@setsize\Large{12pt}\xpt\@xpt} +\def\LARGE{\@setsize\LARGE{14pt}\xiipt\@xiipt} +\def\huge{\@setsize\huge{18pt}\xivpt\@xivpt} +\def\Huge{\@setsize\Huge{22pt}\xviipt\@xviipt} +\normalsize +\if@twoside +\oddsidemargin 44pt +\evensidemargin 82pt +\marginparwidth 107pt +\else +\oddsidemargin 63pt +\evensidemargin 63pt +\marginparwidth 90pt +\fi +\marginparsep 11pt +\topmargin 27pt +\headheight 12pt +\headsep 25pt +\footskip 30pt +\textheight = 63\baselineskip +\advance\textheight by \topskip +\textwidth 345pt +\columnsep 10pt +\columnseprule 0pt +\footnotesep 4.5pt +\skip\footins 6pt plus 4pt minus 2pt +\floatsep 8pt plus 2pt minus 2pt +\textfloatsep 12pt plus 2pt minus 4pt +\intextsep 8pt plus 2pt minus 2pt +\@maxsep 12pt +\dblfloatsep 8pt plus 2pt minus 2pt +\dbltextfloatsep 12pt plus 2pt minus 4pt +\@dblmaxsep 12pt +\@fptop 0pt plus 1fil +\@fpsep 8pt plus 2fil +\@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil +\@dblfpsep 8pt plus 2fil +\@dblfpbot 0pt plus 1fil +\marginparpush 5pt +\parskip 0pt plus 1pt +\parindent 15pt +\partopsep 2pt plus 1pt minus 1pt +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\def\part{\par +\addvspace{4ex} +\@afterindentfalse +\secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{part} + \addcontentsline{toc}{part}{\thepart + \hspace{1em}#1}\else +\addcontentsline{toc}{part}{#1}\fi +{ \parindent 0pt \raggedright +\ifnum \c@secnumdepth >\m@ne +\Large \bf Part \thepart +\par \nobreak +\fi +\huge \bf +#2\markboth{}{}\par } +\nobreak +\vskip 3ex +\@afterheading +} +\def\@spart#1{{\parindent 0pt \raggedright +\huge \bf +#1\par} +\nobreak +\vskip 3ex +\@afterheading +} +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus +-.2ex}{2.3ex plus .2ex}{\Large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus +-.2ex}{1.5ex plus .2ex}{\large\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus +-1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\bf}} +\def\paragraph{\@startsection +{paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection +{subparagraph}{4}{\parindent}{3.25ex plus 1ex minus +.2ex}{-1em}{\normalsize\bf}} +\setcounter{secnumdepth}{3} +\def\appendix{\par +\setcounter{section}{0} +\setcounter{subsection}{0} +\def\thesection{\Alph{section}}} +\leftmargini 2.5em +\leftmarginii 2.2em +\leftmarginiii 1.87em +\leftmarginiv 1.7em +\leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelsep 5pt +\labelwidth\leftmargini\advance\labelwidth-\labelsep +\def\@listI{\leftmargin\leftmargini \parsep 2pt plus 2pt minus 1pt% +\topsep 5pt plus 2pt minus 4pt% +\itemsep 2pt plus 2pt minus 1pt} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii +\labelwidth\leftmarginii\advance\labelwidth-\labelsep +\topsep 2pt plus 2pt minus 1pt +\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii +\labelwidth\leftmarginiii\advance\labelwidth-\labelsep +\topsep 2pt plus 1pt minus 1pt +\parsep \z@ \partopsep 1pt plus 0pt minus 1pt +\itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv +\labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv +\labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi +\labelwidth\leftmarginvi\advance\labelwidth-\labelsep} diff --git a/obsolete/macros/latex209/contrib/aasmacros/eqsecnum.sty b/obsolete/macros/latex209/contrib/aasmacros/eqsecnum.sty new file mode 100644 index 0000000000..79776844d0 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/eqsecnum.sty @@ -0,0 +1,16 @@ +% EQSECNUM.STY -- Substyle definition for equations numbered with +% corresponding section number. + +% This is the least intrusive way to implement a substyle layered on top +% the standard LaTeX styles: by creating a foo.sty style that is read when +% the specifies the document substyle foo. This file is read in when +% +% \documentstyle[12pt,aasms,eqsecnum]{article} +% +% is specified by the author. + +\eqsecnum + +% That's all this files does. It would be more efficient to have "eqsecnum" +% declared as an internal substyle, but that requires modifications in the +% main LaTeX article.sty file. diff --git a/obsolete/macros/latex209/contrib/aasmacros/flushrt.sty b/obsolete/macros/latex209/contrib/aasmacros/flushrt.sty new file mode 100644 index 0000000000..3b868527a3 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/flushrt.sty @@ -0,0 +1,4 @@ +% FLUSHRT.STY -- Enable full justification and hyphenation. + +\@rightskip=\z@\rightskip\@rightskip % Flush right +\pretolerance=100 % Enable hyphenation diff --git a/obsolete/macros/latex209/contrib/aasmacros/graphics.aux b/obsolete/macros/latex209/contrib/aasmacros/graphics.aux new file mode 100644 index 0000000000..bb7dee491b --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/graphics.aux @@ -0,0 +1,11 @@ +\relax +\@writefile{lof}{\string\contentsline\space {figure}{\string\numberline\space {1}{\ignorespaces IRAF plot}}{1}} +\newlabel{onebarrel}{{1}{1}} +\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {1.}Why PostScript is good}{2}} +\@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {1.1.}Encapsulated PostScript}{2}} +\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {2.}Overview of the DVIPS commands}{3}} +\@writefile{lof}{\string\contentsline\space {figure}{\string\numberline\space {2}{\ignorespaces Dual IRAF plots}}{3}} +\newlabel{twobarrel}{{2}{3}} +\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {3.}Implications for the AAST\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\ package}{3}} +\@writefile{lof}{\string\contentsline\space {figure}{\string\numberline\space {3}{\ignorespaces Inverted IRAF plot}}{4}} +\@writefile{lof}{\string\contentsline\space {figure}{\string\numberline\space {4}{\ignorespaces Mangled IRAF plot}}{5}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/graphics.tex b/obsolete/macros/latex209/contrib/aasmacros/graphics.tex new file mode 100644 index 0000000000..5c229d0a29 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/graphics.tex @@ -0,0 +1,169 @@ +% GRAPHICS.TEX -- EPS graphics inclusion proposal for WGAS. + +\documentstyle[12pt,aaspp,flushrt]{article} + +\def\emphasize#1{{\sl #1\/}} + +\begin{document} +\title{Graphics inclusions in manuscripts} +\author{C. D. Biemesderfer} +\affil{NOAO, Tucson, AZ} + +There has been considerable development of text processing and +typesetting tools over the past decade, and more and more +scientists are using these complex programs to produce the +material that they publish. +Over the past several years, technology for creating +finished-quality charts and graphics has started to come of age: +versatile plotting and drawing programs are now widely available, +high-resolution bit-mapped video displays are becoming commonplace, +and laser printer hardware and software has matured. + +\begin{figure}[h] +\plotone{sgi9289.eps} +\caption{IRAF plot} \label{onebarrel} +\end{figure} + +It is natural for astronomers who are publishing scientific +results to desire a mechanism for merging their graphical and +textual data in a way that ensures a certain integrity in the +page layout. +Fortunately, the adoption of PostScript\footnote{PostScript +is a registered trademark of Adobe Systems Incorporated.} +as a de facto \emphasize{page description language} standard +by a substantial fraction of the relevant sectors of the +industry makes it simpler for programmers to set up the machinery. + +\section{Why PostScript is good} + +PostScript has a number of merits that make it a good choice +as the language to use for graphics exchange. +Most important is that it is a \emphasize{device-independent} +means of describing printing on a page, and has been widely +implemented across a variety of printers and display devices. +It is fairly well-documented and tested, so different +implementations work reliably and behave predictably. + +Furthermore, PostScript is composed of text using the ASCII +character set. This makes is very easy to transport files +on networks, and they are susceptible to manipulation by +standard text processing tools, e.g., editors, pagers, etc. + +\subsection{Encapsulated PostScript} + +It is desirable for graphics inclusions to conform to certain +codes of behavior, so that the graphics can be manipulated +readily and reliably. PostScript can be generated at any of +several levels of so-called \emphasize{structuring conventions}, +which are a more or less inevitable consequence of PostScript's +heritage as a programming language. + +When a PostScript program is to be interpreted as a simple +page description, it is convenient if it obeys some rules of +form. For the purposes of graphics inclusion, the most +important property is that the PostScript be \emphasize{encapsulated}. +What this means essentially is that the including application +can determine the size and location on the page of the graphic +\emphasize{without} having to interpret any PostScript code. + +The boundaries of such a ``capsule'' graphic are defined by +a \verb"BoundingBox" comment that specifies the $x$ and $y$ +coordinates of two opposing corners of the graphic. +There are other ``do's and don'ts'' in the quest to produce +encapsulated PostScript; however, it is generally sufficient +for the including application to specify that imported +PostScript graphics conform to the encapsulation standard. + +\section{Overview of the DVIPS commands} + +This is intended as a cursory look at the commands that can +be used to work with graphics inclusions. It is by no means +necessary for authors to know \emphasize{any} of this; markup +language writers can easily shield the end-user from all of +the details of the PostScript interface. + +A graphic that is delivered to an application in a capsule +defined by a bounding box can be subjected to a limited number +of operations: translation, truncation, scaling, and rotation. +Translation, truncation (called \emphasize{clipping} in PostScript +context), and scaling can be performed on each coordinate +independently, hence we can identify seven primitive functions: +\begin{center} +\begin{tabular}{ll@{\hspace{2em}}ll} +\tt hoffset & horizontal offset & \tt voffset & vertical offset \\ +\tt hsize & horizontal clip size & \tt vsize & vertical clip size \\ +\tt hscale & horizontal scale factor & \tt vscale & vertical scale factor \\ +\tt angle & rotation angle \\ +\end{tabular} +\end{center} +For most graphics inclusions, scaling is the most important +function. It is rare to clip or rotate imported graphics, +and moving the coordinate system origin from the current +point is often troublesome in a text formatter. +Furthermore, there is usually no reason to alter the aspect +ratio of the graphic, so including encapsulated PostScript is +often as simple as specifying a scale factor or a dimension +and reading the file. + +\begin{figure}[h] +\plottwo{sgi9279.eps}{sgi9259.eps} +\caption{Dual IRAF plots} \label{twobarrel} +\end{figure} + +\section{Implications for the AAS\TeX\ package} + +We are concerned with the import of two-dimensional graphics and +grey-scale images into scientific manuscripts and other technical +documentation. At this point in time, it should be adequate to +require that all graphics for import be in the form of encapsulated +PostScript, and to declare that figures will be imported in their +entirety and with the same aspect ratio as in the original. +It is then trivial to build some simple macros based on the \verb"epsf" +substyle that is supplied with the DVIPS program by its author +Tom Rokicki. + +The \verb"epsf" macros we need to worry about are \verb"\epsfxsize" +and \verb"\epsfbox", which perform the two functions we determined +in the preceding section to be critical. For purposes of having +prototype macros, I wrote two simple macros: + +\hangindent=3pc \hangafter=1 +\noindent +\verb"\plotone{FILE}" reads the PostScript in FILE and adjusts +the scale such that the $x$-coordinate width of the graphic matches +the \verb"\textwidth" of the manuscript. +Figure~\ref{onebarrel} on page~\pageref{onebarrel} is an example. + +\hangindent=3pc \hangafter=1 +\noindent +\verb"\plottwo{FILE1}{FILE2}" reads the PostScript from two +files and scales each to fit across half the \verb"\textwidth" +(actually, slightly less than half so the graphics don't collide). +Figure~\ref{twobarrel} on page~\pageref{twobarrel} shows a pair +of dueling inclusions. + +The arguments to the \verb"\plotone" and \verb"\plottwo" commands +should not include additional scaling and rotation information. +These commands are suggested as part of the AAS\TeX\ markup +conventions, but it is entirely reasonable for authors to use the +markup syntax of DVIPS for handling encapsulated PostScript graphics. +If direct access to the graphic is desired, it is necessary to use +the interface syntax defined by Rokicki. + +\begin{figure}[h] +\vbox to2.6in{\rule{0pt}{2.6in}} +\special{psfile=sgi9259.eps angle=180 hoffset=424 voffset=232 vscale=60 hscale=60} +\caption{Inverted IRAF plot} +\end{figure} + +One has to be careful, though, when using this approach, since the +automatic link between the formatter (\LaTeX) and the PostScript +is abandoned. One can get great effects, or totally funky ones \ldots + +\begin{figure}[h] +\vbox to3in{\rule{0pt}{3in}} +\special{psfile=sgi9259.eps voffset=-218 hoffset=60 vscale=75 hscale=55 angle=30} +\caption{Mangled IRAF plot} +\end{figure} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/aasmacros/kspp.tex b/obsolete/macros/latex209/contrib/aasmacros/kspp.tex new file mode 100644 index 0000000000..de2c4a468f --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/kspp.tex @@ -0,0 +1,263 @@ +% KSPP.TEX -- K.Sellgren's proposal about preprints for AAS Pubs Board. +% +% I have made a few modifications to the file so that the markup reads +% as true preprint markup. Kris had to prepare this with a couple +% items handled explicitly; I have added the commands for these. + +\documentstyle[12pt,aaspp]{article} +%\documentstyle[12pt,aasms]{article} +%\tighten + +\begin{document} + +\slugcomment{\shortstack[r]{ +Submitted to the AAS Publications Board, 1992 June 1\\ +Revised, 1992 November 17}} +%\hbox to 6.5truein {\hfil Submitted to the AAS Publications Board, 1992 June 1} +%\hbox to 6.5truein {\hfil Revised, 1992 November 17} + +\title +{A Proposed Format for the AAS/WGAS Latex Macros Preprint Style} + +\author +{K. Sellgren\altaffilmark{1}} +%{K. Sellgren$^ {1}$} + +\affil +{Department of Astronomy, Ohio State University, Columbus, OH 43210} + +\altaffiltext{1} +{Alfred P. Sloan Foundation Fellow.} + +%\vskip 24pt +%\clearpage + +%\centerline +%{\bf Abstract} +\begin{abstract} +This is a sample preprint for defining the AAS/WGAS Latex Macros preprint +style. Results are presented for two surveys of preprint formats preferred +by astronomers. +\end{abstract} + +\keywords{publications: preprint --- publications: or perish --- +publications: sample --- AAS: Pub Board --- committee report} + +%\clearpage +\section +{Introduction} + +Preprints provide an opportunity for astronomers to share their results +quickly with the astronomical community, in the six to nine month period +between acceptance of a paper for publication and appearance of the paper +in the journal. Preprint distribution schemes vary widely, from sending +preprints only upon request, to sending preprints to all astronomical +libraries plus a list of 50 or 100 astronomers who might remotely have +some interest in the subject of one's paper. The preprint is a publishing +phenomenon which is likely to persist as long as there is a many month +delay between acceptance and publication of a journal paper, although in +future some or all preprints may be distributed electronically rather than +on paper. + +A subcommittee of the AAS Publications Board, chaired by myself, was charged +with examining the format of the AAS/WGAS Latex Macros package which +produces preprints. I prepared a draft document which was reviewed by the +preprint subcommittee at the June 1992 AAS meeting. This revised version +incorporates the suggestions made then. + +At the May 1992 Publications Board meeting, it was felt that the current +preprint format generated by the AAS/WGAS Latex Macros, using the aaspp.sty +style file, was unacceptable and that changes were desired. Certain +essential characteristics of a preprint were agreed upon. First, the +preprint should not mimic a page of one particular astronomical journal, +such as the Astrophysical Journal. This slights the other journals such +as the Astronomical Journal and the Publications of the Astronomical +Society of the Pacific, and furthermore blurs the distinction between the +preprint and the final published version of the paper in the journal. +Second, the preprint should be easily read. Other features also seem +desirable, such as compactness to save trees and mailing charges, the +ability to include figures and figure captions gracefully, and some +flexibility so that more than one style of preprint could be accommodated +for those with very divergent tastes. Additionally, there is a clear need +for something which will estimate how many pages a given text file will +produce in the Astrophysical Journal Letters, due to the stringent page +limit of that journal. This estimate of the number of ApJ Letters pages +might be possible to include as part of the output of a preprint formatter, +although other approaches may be more desirable, such as a separate page +length estimator program. + +\section +{Observations} + +I employed two techniques for surveying preferred preprint formats. First, +I examined 85 preprints I received in the last two years, to determine what +the average preprint already looked like. Since most astronomers have had +access to a variety of word processors for many years, and thus have had +the opportunity to select a format which suits their needs and tastes, it +seemed this was a good indication of what most astronomers would prefer in +a preprint format. This sample mostly (but not exclusively) contained +preprints submitted to refereed journals, since preprints of papers intended +for conference proceedings were often in camera-ready format, reflecting not +the tastes of the authors but of the publishers of the conference proceedings. +Second, I prepared several examples of possible preprint formats, using +variations on the AAS/WGAS Latex Macros, and showed the output to various +persons in my department to solicit opinions. + +\section +{Results} + +\subsection{Survey of 85 Recent Preprints} + +The overwhelming majority of preprints in the 1990--1992 sample surveyed +were formatted with single columns of text per page (98 \%) and one page +of text per preprint page (96 \%). Obviously the AAS/WGAS Latex macros +should respect this strong preference. + +Most preprints had the figures at the end (87 \%) rather than interspersed +in the text. This may be partly due to preference and partly due to the +current difficulty of including the figures within the text. + +Astronomers were divided on whether to single space (42 \%) or double space +(58 \%) their text of their preprints. Since there was no clear preference +for either style, the AAS/WGAS Latex macros should make it extremely simple +to choose either single spaced or double spaced output. + +There was a wide divergence of opinions on how to divide up the title, +abstract, and main text beginning with the introduction into pages. Most +preprints (62 \%) put title, abstract, and introduction on three separate +pages, but a significant subset (14 \%) of preprints ran all three together +with no page breaks. Most astronomers (81 \%) preferred a separate title +page whether or not they ran the abstract and introduction together. Many +preprints had two title pages: one printed on the institutional preprint +cover or designed so that the title and authors were visible through a hole +in the institution's preprint cover, and a second title page following in a +format more suited to the author's tastes or needs. A common feature of +title pages was some indication of where the paper was to be published +(title of the conference proceedings or name of the journal), its status +(submitted, accepted, in press), and a date of some sort (date of the +conference, date of submission to the journal, scheduled date for journal +publication, or date of preprint mailing). Clearly there should be a lot +of flexibility in how the AAS/WGAS Latex macros format the title page. +Fortunately page breaks are simple to add or subtract in Latex. + +\subsection{Survey of Seven OSU Astronomers} + +The results from a survey of seven Ohio State astronomers, chosen because +they happened to be in their offices when I walked down the hall, confirms +the results of a larger preprint sample. No-one liked a double column format. +There was a mix of opinions on whether or not to single space the text. +Most preferred the title, abstract, and main text on separate pages, but a +significant minority felt strongly that the title and abstract should be +on the same page. + +\section +{Discussion} + +The main feature that became apparent in this survey of preprint styles +was that most authors were very lazy: they most often sent out preprints +in the identical format that was used to submit the paper to the journal +($\sim$ 60 \%), and if they made a change at all, it was to single space +the text and perhaps remove some page breaks to conserve paper. Thus, if +the only change an author need make to produce a nice preprint is to include +aaspp.sty instead of aasms.sty at the top of their paper, they will do it; +but anything much more complex is likely not to be used. + +\subsection{Text Format} + +A preprint format which to first order satisfies all needs can be created +with the current aasms.sty style file, using the $\backslash$tightenlines +option (which makes the output single spaced instead of double spaced). +I propose the preprint format have as its default single-spaced lines and +no page breaks between title, abstract, and main text, since it is simple +for the author to insert $\backslash$clearpage wherever desired. The main +differences between the manuscript format and the preprint format, then, +would be the spacing default (this should include tables; tables must be +double spaced for the manuscript and should be single spaced as a default +for the preprint), and the treatment of figures. There should also be a +simple Latex command to toggle the preprint format anywhere in the paper +between single spaced and double spaced, in case the author prefers to use +one spacing for text and another for tables. + +Most authors like to include extra information in their preprints along the +lines of ``Invited paper presented at IAU Symposium 153, Galactic Bulges, +Ghent, Belgium, August 1992'' or ``Accepted for publication in AJ, November +1992 issue.'' The preprint subcommittee prefers placing this information +in the upper righthand corner of the title page, and suggests that a macro +be created to do this. + +\subsection +{Figures} + +There are two possibilities for handling figures in preprints. One is the +traditional method of attaching a page or more of figure captions at the +end of the paper, followed by full page figures. This strategy has the +advantage of providing large versions of figures which are later reduced +to tiny sizes in the journal, and is popular among authors since it is +also simple. The other is to include the figures in the body of the text. +The AAS/WGAS Latex macros for preprints provide an opportunity to experiment +with this latter technique. The preprint subcommittee feels that placing +the figures at the end of the text should be the default, but that the +capability to move figures into the body of the text be included in the +AAS/WGAS Latex macros for preprints. + +I suggest the AAS/WGAS Latex macros for preprints should place figures +in the text with one Latex command to include the contents of a Postscript +file containing the figure, and a second Latex command to place the figure +caption for each figure immediately under the figure, followed by white +space separating the figure caption from the main text. In some cases +astronomers will not have the ability to create Postscript output for their +figures, in which case a third Latex command is needed to leave the +appropriate space (in cm or inches) for the figure above the figure caption, +in case authors desire to paste in figures by hand. The preprint subcommittee +suggests that the command to include a figure embedded within the text act +as a comment to the journal suggesting where the figure should go in the +paper, when used with aasms.sty, but this same command when used with +aaspp.sty should actually incorporate the Postscript format figure into +the text. + +\section +{Summary} + +The results of two surveys of astronomers concerning preprint formats are +presented. The consensus is that the default format should be single column +text, with the text either double spaced or single spaced as the author +prefers. The placing of page breaks between title, abstract, and main text +should be at the author's discretion. A macro is needed to place the +date and publication status of the preprint in the upper right hand corner +of the title page. It may be useful for the preprint formatter to output +an estimate of the number of pages of ApJ Letters format text that the +preprint will produce. While placing the figures at the end of the preprint +should be the default, the preprint format also provides an opportunity for +authors to experiment with including figures in the text. This might +be done with a command which in manuscript style acts as a comment to +the journal on figure placement, but which in preprint style acts to include +a Postscript file containing the figure in the output. + +\acknowledgments +This wonderful document was prepared at the instigation of Caty Pilachowski. + +\begin{references} + +\reference +Allen, N., Boisson, P., \& Chang, K.-Y. +1990, ApJ, 356, 907 + +\reference +Djorestky, J., Estevez, M., \& Fujikama, K. +1991, AJ, 93, 473 + +\reference +Garcia, I., Heitzman, T., \& Innis, R. +1992, PASP, 102, 558 + +\reference +Jones, E., Kaminski, C., \& Lee, H. +1990, AA, 127, 290 + +\reference +Monet, C., Ng, T., \& Ortiz, A. +1991, MNRAS, 295, 684 + +\end{references} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/aasmacros/manual.tex b/obsolete/macros/latex209/contrib/aasmacros/manual.tex new file mode 100644 index 0000000000..9ca93d0457 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/manual.tex @@ -0,0 +1,798 @@ +% MANUAL.TEX -- User input guide for AAS WGAS LaTeX macros. + +\documentstyle[aaspp]{article} + +\textwidth 7.3in +\hoffset=-0.4in % This centers the extra wide page +\voffset=-0.4in % This is because the printer I use prints too low... +\def\baselinestretch{0.94} + +\hyphenation{com-pu-scripts} + +\begin{document} +\twocolumn + +\title{The WGAS \LaTeX\ Macros\\ + for Manuscript Preparation} + +\author{Chris Biemesderfer} +\affil{National Optical Astronomy Observatories} +\author{Bob Hanisch} +\affil{Space Telescope Science Institute} + +\vspace{.2in} + +The AAS Working Group on Astronomical Software (WGAS) +has developed a \LaTeX\ macro package to assist authors in +preparing manuscripts for articles that +are intended for submission to the AAS-affiliated journals. +% This sentence is not intended to exclude other journals +% or other societies from engaging in dialogue with us about +% electronic publishing issues, or, for that matter, using +% these macros for their own authors. However, that is as +% much as I can state officially and publically today. +It is important that the markup used by authors in computer +manuscripts (called {\sl compuscripts}) be consistent and +standardized so that compuscripts might be widely accepted +by the journals, and perhaps even become part of the normal +production procedures. + +This guide contains basic instructions for creating +compuscripts using the WGAS macros, which function +as substyles to the standard \LaTeX\ {\tt article} style. +Authors are expected to be familiar with the editorial +requirements of the journals so that they can make +appropriate submissions, as well as to have at least +a rudimentary knowledge of \TeX. +It is unrealistic for us to provide a tutorial +on \TeX, hence we warn readers who are unfamiliar with +\TeX\ that they will need additional sources of information. +These are listed in the {\it References} section. + +\section{General preparation instructions} + +Computer manuscripts must include all the necessary components, +e.g., a title, author names and their affiliations, +an abstract, a main body, tables, etc., in the proper +order according to the editorial requirements of the journal. +It is the author's responsibility to ensure that the article +conforms to all editorial specifications regarding content and +organization, mathematical formul\ae, chemical names, etc. + +In the sections that follow, we review some essential procedures +that must be followed when preparing \TeX\ input. + +\subsection{Running text} + +Printing is different from typewriting, and \TeX\ is different +from other word processing tools. This section consists of +reminders (admonitions) about things that require special +attention so that \TeX\ can format the input properly. + +The ends of words and sentences are marked by white space, and +it doesn't matter how many spaces are typed; one is as good as 100. +\TeX\ treats the end of a line in the input file as a space. + +Paragraphs are separated by blank lines. +Don't hyphenate words in the input file; +\TeX\ takes care of hyphenation automatically. +Continue to hyphenate modifiers within a line of text, e.g., +``author-prepared copy.'' + +Quotation marks should be typed as pairs of opening and +closing single quotes, e.g., {\tt ``quoted text''}; +don't use double quotes ({\tt "bad form"}). + +Do not underline. +In printing, text is emphasized by changing the type style, +usually to {\sl slanted\/} or {\it italic\/} type. + +A number of common characters are interpreted as commands, +and these must be entered specially, by preceding them with +a backslash (\verb"\"): \$ \& \% \# \{ and \} must be typed +\verb"\$" \verb"\&" \verb"\%" \verb"\#" \verb"\{" and \verb"\}". + +Authors should refrain from adding vertical or horizontal space. +Concentrate on the content of the document and identifying its +components with the structural markup commands. +Authors should avoid the use of any \LaTeX\ command definitions +that create markup commands not described in this guide. + +\subsection{Math} + +Mathematical expressions that are part of the running text are +delimited by a single dollar sign (\$), +e.g., \verb"$\pi r^2$" yields $\pi r^2$. +To get the appropriately sized superscript or subscript in the +roman font, use the \verb"\rm" command, e.g., +\verb"$J_{\rm HF}(t)$" produces $J_{\rm HF}(t)$. + +Displayed equations can be delimited in several ways. +The most concise markup is bracket the equation between +\verb"\[" and \verb"\]" commands, +which is equivalent to placing the formula in a {\tt displaymath} +environment. These markup commands will produce +{\sl unnumbered} equations. + +Numbered equations can be typeset by typing the formula in +an {\tt equation} environment. +A series of related equations that need vertical alignment, +e.g., a derivation where alignment is wanted on the equal sign (=), +can be typeset in an {\tt eqnarray} environment. + +While it is possible for authors to assign their own equation numbers, +it is easier to let \LaTeX\ number them automatically. +By default, \LaTeX\ will number equations sequentially from the +beginning of the paper to the end. + +It is sometimes appropriate for equation numbering sequences +to carry through sections of the paper only. +Equations can be numbered ({\it sec-eqn}) by placing the command +\verb"\mathwithsecnums" in the preamble of the document. + +\subsection{Tables} + +Tables are notoriously difficult to compose, +and great care and patience are usually required +before tabular information can be typeset satisfactorily. +Tables should be placed in a separate {\tt table} environments, +i.e., the tabular material must be enclosed within +\verb"\begin{table}" and \verb"\end{table}" commands. +Tables should have a title or caption and the correct +number of descriptive column headings. +A single horizontal rule should be set after the column headings +with the \verb"\tableline" command. +Do not insert any other horizontal or vertical +lines in the body of the table. + +Notes in tables should be marked by +\verb"\tablenotemark"; +corresponding text should appear in a +\verb"\tablenotetext" command. + +\subsection{Cross-referencing} + +Cross-referencing equations, tables, and figures +in text depends upon the use of ``tags'', which +are defined by the user. The \verb"\label" command is used +to define cross-reference tags for \LaTeX; \verb"\ref" is used to +refer to them. Tags are simply text strings that +serve to label equations, tables, and figures, so that +they may be referred to symbolically in the text. +References to page numbers should {\sl not} be made. + +\LaTeX\ keeps track of autonumbered counters and cross-reference +information by maintaining an auxiliary file in the same working +directory as the source file. The auxiliary file will have an +extension of {\tt .aux}. This file should not be deleted, since +subsequent \LaTeX\ processing uses the auxiliary data to resolve +references, etc. + +The auxiliary file mechanism makes it necessary to run \LaTeX\ +on a given source file more than once to +ensure that the cross-reference information has been properly resolved. +This is most evident when changes are made that affect the number +or the placement of equations, tables, and the like. +\LaTeX\ will typically issue a warning message that advises +the user to ``rerun to get cross-references right'', +in which case, run \LaTeX\ again. +If the error message appears after two successive \LaTeX\ runs, +it is likely that a reference has been made to an undefined label. + +\subsection{Alternate style options} + +Editors prefer a large typeface with +adequate space between typed lines for technical editing marks and +wide margins for editor and author comments. +The use of the {\tt aasms} substyle will produce +double-spaced, full-width output by default. + +Authors may prefer a denser form of output for distribution +to colleagues who are primarily interested in reading the paper, as +opposed to copy editing it. The \verb"\tightenlines" command +can be inserted in the document preamble when the {\tt aasms} +substyle is used; its effect is to reduce +the vertical spacing in the text. + +For institutional purposes, it may be preferable for preprints +to be set in two columns, have running heads, etc. +The {\tt aaspp} substyle may be used instead to produce +two-column pages. + +\section{Command descriptions} + +This section describes all the commands in the WGAS \LaTeX\ macro +package that an author might enter in a manuscript (or preprint). +In the interest of completeness, all the structural markup that +is needed to identify components is discussed, including those +commands that are standard \LaTeX\ instructions. +The commands will be described in roughly the same order as they +would appear in a compuscript. +The reader will probably find it helpful to examine the +sample papers (\verb"sample1.tex" and \verb"sample2.tex") as well. + +\subsection*{Preamble} + +Most documents processed with a formatter have a collection of +commands at the beginning of the file that establish settings +for global parameters; this initialization section is sometimes +called the {\sl preamble}. In \LaTeX\ compuscripts, the +preamble is that portion of the file before the +\verb"\begin{document}" command. + +The first piece of markup in the compuscript must declare the +overall style of the document. +\begin{quote} +\verb"\documentstyle[12pt,aasms]{article}" +\end{quote} +The \verb"\documentstyle" command must appear first in any +\LaTeX\ file, and this one specifies the main style to be +the \LaTeX\ {\tt article} style using twelve point fonts, +with modifications and additions for the {\tt aasms} substyle. +It is preferable to use fonts at twelve points to prevent +illegibility due to exceedingly long lines +(too many characters on a line make it hard to read). +The {\tt aasms} substyle will issue a warning message +if the font size is smaller than twelve points; the file will +still be processed. + +Tightening the vertical spacing +in the text results in output that is more attractive for distribution +to colleagues who are primarily interested in reading the paper, as +opposed to copy editing it. Authors may include~a +\begin{quote} +\verb"\tightenlines" +\end{quote} +declaration in the preamble to direct \LaTeX\ to produce +a somewhat denser manuscript. +If the authors prefer not to insert this markup directly, +the same effect can be achieved with the \verb"tighten" +document substyle. +\begin{quote} +\verb"\documentstyle[aasms,tighten]{article}" +\end{quote} + +Double-spaced output for referees and +copy editors is the main objective of this style, hence +the double-spacing occurs by default. +Neither the \verb"\tightenlines" command nor the \verb"tighten" +substyle should be used for manuscripts +submitted to the editorial office for scientific review. + +\subsubsection*{Two-column format} + +We acknowledge that people would probably be happier with this macro package +if they could produce two-column pages that look like the {\it Ap.J}\null. +However, that is not the primary goal of this project at the present +time; besides, this is easier said than done. + +Our solution is to provide format options within the preprint styles +themselves so that output format can be changed. +For instance, within the {\tt aasms} substyle is +\verb"\tightenlines", which effectively turns off the double-spacing. +The primary motivation behind this idea is to provide some +definitions that permit institutions to distribute ``pretty'' preprints +with this package. (Of course, we make the glaring assumption that we +can determine what someone else will think is pretty.) + +The {\tt aaspp} substyle has the principle function of setting +up two-column output. +\begin{quote} +\verb"\documentstyle[aaspp]{article}" +\end{quote} +Although it is quite obvious, it is important to remember +that text lines are considerably shorter when two of them are typeset +side by side on a page. Long equations, wide tables and figures, and +the like, may not typeset in this format without some adjustments. +It is our opinion that great effort to adapt copy and markup for +two-column pages may be counterproductive. +Remember that the main +goal of this package at this point is to produce ``correct'' draft +(or referee) format pages; +it is the responsibility of the editors and publishers to +produce publication format papers for the journals. + +The {\tt aaspp} substyle does not +impose a format for the article's front matter, +although there is often merit in setting the title, author, abstract, +and keyword material on a separate page at full text width. +The author may supply the +\verb"\twocolumn" command wherever desired. +\begin{quote} +\verb"\twocolumn" +\end{quote} +Note that the two-column format begins at the point \verb"\twocolumn" +appears in the text, and if that point is before the front-matter, +it will be typeset in two-column mode along with the rest of the paper. +For purposes of producing ``pretty'' output, it is probably desirable +to put this command after the abstract and keywords, just before the +body of the paper. +If \verb"\twocolumn" is not specified explicitly in {\tt aaspp} +style documents, the introductory material of the paper will be set +in one-column mode; the first \verb"\section" command (presumably +demarcating the beginning of the main body of the article) will +engage the two-column mode. + +\subsubsection*{Slug line data} + +Journal and article identification information is established by the +editorial staff. The following macros could be used by personnel at the +editorial office to record slug-line data and would be included +in the manuscript preamble. +\begin{quote} +\verb"\received{RECEIPTDATE}"\\ +\verb"\accepted{ACCEPTDATE}"\\ +\verb"\journalid{VOL}{JOURNALDATE}"\\ +\verb"\articleid{STARTPAGE}{ENDPAGE}" +\end{quote} +For preprints and submitted manuscripts in draft/referee format, etc., +the slug-line information is irrelevant and in those kinds of style, +the data are never used. +There are no commands in these styles that typeset the information, +hence there is no real reason to include slug-line markup in manuscripts. + +\subsection*{Starting the main body} + +None of the markup that appears in the preamble actually typesets +anything; the preamble is only a control section. +The author must include a +\begin{quote} +\verb"\begin{document}" +\end{quote} +command to identify the beginning of the main textual +portion of the compuscript. + +\subsection*{Title, byline, abstract, etc.} + +Title and author identification are by way of standard \LaTeX\ commands +\verb"\title" and \verb"\author", although the macros themselves are +somewhat different. +The information is typeset by these macros in this style, rather than +simply being buffered for later use, as in standard \LaTeX. +The authors' principal affiliation is specified with +a separate macro \verb"\affil". +Each \verb"\author" command +should be followed by a corresponding \verb"\affil" (or address). +\begin{quote} +\verb"\title{LUCID TEXT}"\\ +\verb"\author{NAME(S)}"\\ +\verb"\affil{ADDRESS}" +\end{quote} +The \verb"\affil" command provides the only opportunity +to give the author's full postal address, +and that is what is anticipated for {\small ADDRESS}. +The address can be broken over several lines by using the +\LaTeX\ \verb"\\" command to indicate the line breaks. +Usually, however, postal information will fit on one line. + +Authors often have affiliations in addition to their principal employer, +and these are specified with the \verb"\altaffilmark" +and \verb"\altaffiltext" commands. +These behave like the \verb"\footnotemark" +and \verb"\footnotetext" commands of \LaTeX. +\verb"\altaffilmark" is appended to author's names in the \verb"\author" +lists, and generates superscript identification numbers. +The text for the individual alternate affiliations is generated by the +\verb"\altaffiltext" command. +\begin{quote} +\verb"\altaffilmark{TAG NUMBER(S)}"\\ +\verb"\altaffiltext{NUMERICAL TAG}{TEXT}" +\end{quote} +It is up to the author to make sure that the \verb"\altaffilmark" numbers +attached to authors' names correspond to the correct alternate affiliation, +i.e., that {\small TAG NUMBER == NUMERICAL TAG} for +corresponding {\small TEXT}. + +The typesetting performed by all of the title and byline commands +is appropriate for the top of the first text page of the manuscript +(as opposed to a title page). + +The paper abstract should be enclosed in an {\tt abstract} environment. +\begin{quote} +\verb"\begin{abstract}"\\ +{\it abstract text\/}\\ +\verb"\end{abstract}" +\end{quote} + +The {\tt aasms} style will print a pair of horizontal rules before the +abstract. These are present so that the editorial staff can enter the +``received'' and ``accepted'' dates for the paper. The author should +not include \verb"\received" and \verb"\accepted" commands in the +manuscript, since these dates are not usually known at submission time. +The {\tt aaspp} style does not print the rules or the dates. + +\subsubsection*{Keywords} + +Keywords, subject headings, etc., are accommodated +as a single piece of text. +\begin{quote} +\verb"\keywords{TEXT}" +\end{quote} +The \verb"\keywords" command indents if necessary and supplies +the proper leading text (``Keywords:'', ``Subject headings:'', etc.). +The author should supply keywords delimited by commas. + +\subsection*{Sections} + +The \LaTeX\ {\tt article} environment supports three levels of +sectioning. (Actually, it supports more, but these are the +relevant ones.) +\begin{quote} +\verb"\section{HEADING}"\\[.5ex] +\verb"\subsection{HEADING}"\\[.5ex] +\verb"\subsubsection{HEADING}" +\end{quote} +Note that these commands delimit sections by marking the +{\sl beginning\/} of each section; +there are not separate commands to identify the {\sl ends}. + +In addition, WGAS compuscript styles support an +\verb"\acknowledgments" section. +\begin{quote} +\verb"\acknowledgments" +\end{quote} +In the WGAS substyles, acknowledgments are set off from the +concluding main body text simply by vertical space +(no heading or type size change). +For use in producing output for specific journals, +this macro might generate text saying ``Acknowledg[e]ments''. + +\subsection*{Citations} + +Citations may be called out either explicitly by the author without +any markup, or the \LaTeX\ \verb"\cite" command may be used. +\begin{quote} +\verb"\cite{TAG}" +\end{quote} +The {\small TAG} must correspond to a {\small TAG} given in +a \verb"\bibitem" command in the {\tt thebibliography} environment +(see below). + +\subsection*{Equations} + +Displayed equations can be typeset in many ways using the standard +displayed math environments of \LaTeX; +these three are probably of greatest use. +\begin{quote} +\verb"\begin{displaymath}"\\ +\verb"\end{displaymath}"\\[.5ex] +\verb"\begin{equation}"\\ +\verb"\end{equation}"\\[.5ex] +\verb"\begin{eqnarray}"\\ +\verb"\end{eqnarray}" +\end{quote} +The {\tt displaymath} environment will break out a single, +unnumbered formula. The equation will appear the same if it +is set in an {\tt equation} environment, and it will be +autonumbered by \LaTeX. +In order to set several formul\ae\ in which vertical alignment +is required, use the {\tt eqnarray} environment. + +Sometimes it is appropriate to number equations by section, +rather than sequentially through the whole paper. +When this is required, +\begin{quote} +\verb"\mathwithsecnums" +\end{quote} +should be specified in the document preamble. +As is the case with tightening the interline spacing +(\verb"\tightenlines", above), authors need not insert +the extra markup command in the text. +The same effect can be achieved with the \verb"mathsec" +document substyle. +\begin{quote} +\verb"\documentstyle[aasms,mathsec]{article}" +\end{quote} + +\subsection*{Bibliography} + +Citation management can be complex, and systems have been +developed to assist authors in preparing bibliographies. +The program that manages references within the \TeX\ family +is called BIB\TeX, and it is designed to work in conjunction +with the citation and reference list capabilities of \LaTeX. + +References and citations can be handled in several ways with +the WGAS macro package. It is possible to use the semantics +of \LaTeX's {\tt thebibliography} environment, +marking citations with \verb"\cite" and associating references +with them via \verb"\bibitem". The \verb"\cite"-\verb"\bibitem" +mechanism associates citations and references symbolically +while maintaining proper citation syntax within the paper. +The author must create the citation label for each reference +in proper journal format in the \verb"\bibitem" command. +\begin{quote} +\verb"\begin{thebibliography}"\\ +\verb"\bibitem[LABEL]{TAG} \reference" {\it bibliographic data\/}\\ +\verb" ."\\ +\verb" ."\\ +\verb"\end{thebibliography}" +\end{quote} +where {\small LABEL} must adhere to journal standards, e.g., ``Abt 1986''. +For the time being, there +is no compelling reason to force an implementation based on BIB\TeX, +although it should be possible to build reference lists with +BIB\TeX\ if authors choose. +(It is also possible to define a bibliographic style for BIB\TeX\ so +that citations and reference lists are formatted correctly automatically.) + +It is not necessary to use the {\tt thebibliography} environment. +Many authors are comfortable with the standard +process of entering citations in the proper format directly +in the body of an article, and then organizing the reference +list themselves. +There is also a {\tt references} environment that simply sets off +the list of references and adjusts spacing parameters. +\begin{quote} +\verb"\begin{references}"\\ +\verb"\reference" {\it bibliographic data\/}\\ +\verb" ."\\ +\verb" ."\\ +\verb"\end{references}" +\end{quote} +It is not possible to use \verb"\bibitem"s +within the {\tt references} environment, +nor will \verb"\cite" commands work properly in the main body. + +Observe that the {\it bibliographic data\/} supplied by the author must +conform to the standards of the journal. We have elected not to burden +authors with tedious \LaTeX\ commands which would require many curly braces +to delimit the bibliographic fields because many of the journals we have +targeted in this project have agreed to reduce typographic overhead (bolding, +italicizing, etc.) in reference lists (Abt 1990); +in any event, these macros can be expanded to whatever abbreviations are +desired by the various editor(s). +It is the responsibility of the author to get these fields in the proper +order with the correct punctuation; the information will be typeset as is, +i.e., in roman with no size or style changes. + +\subsubsection*{Abbreviations for journals} + +There are macros for many of the oft-referenced journals so that authors +may use the \LaTeX\ names rather than having to look up a particular journal's +specific abbreviation. In principle, all the journals should be using the +same abbreviations, too, but it is fair to anticipate some changes in the +specific abbreviations before a set is finally settled on. As long as +these macros are kept up to date, authors need not be concerned about +such editorial changes. + +\begin{center} +\begin{tabular}{ll} +\verb"\aj" & Astronomical Journal\\ +\verb"\araa" & Annual Review of Astronomy\\ + & \hspace*{1em} and Astrophysics\\ +\verb"\apj" & Astrophysical Journal\\ +\verb"\apjl" & \rule[.5ex]{2em}{.4pt}, Letters to the Editor\\ +\verb"\apjs" & \rule[.5ex]{2em}{.4pt}, Supplement Series\\ +\verb"\applopt" & Applied Optics\\ +\verb"\apss" & Astrophysics and Space Science\\ +\verb"\aap" & Astronomy and Astrophysics\\ +\verb"\aaps" & \rule[.5ex]{2em}{.4pt}, Supplement Series\\ +\verb"\azh" & Astronomicheskii Zhurnal\\ +\verb"\baas" & Bulletin of the AAS\\ +\verb"\jrasc" & Journal of the RAS of Canada\\ +\verb"\memras" & Memoirs of the RAS\\ +\verb"\mnras" & Monthly Notices of the RAS\\ +\verb"\pra" & Physical Review A: General Physics\\ +\verb"\prb" & Physical Review B: Solid State\\ +\verb"\prc" & Physical Review C:\\ +\verb"\prd" & Physical Review D:\\ +\verb"\prl" & Physical Review Letters\\ +\verb"\pasp" & Publications of the ASP\\ +\verb"\pasj" & Publications of the ASJ\\ +\verb"\qjras" & Quarterly Journal of the RAS\\ +\verb"\skytel" & Sky and Telescope\\ +\verb"\sovast" & Soviet Astronomy\\ +\verb"\ssr" & Space Science Reviews\\ +\verb"\zap" & Zeitschrift f\"ur Astrophysik\\ +\end{tabular} +\end{center} + +\subsection*{Tables and figures} + +Tables should appear in {\tt table} environments. +\begin{quote} +\verb"\begin{table}"\\ +\verb"\end{table}" +\end{quote} +There should be only one table per environment, and for many +journals, only one table per page. +The {\tt table} environment encloses not only the tabular +material but also any title (caption) or footnote information +associated with the table. + +Tabular information is typeset within \LaTeX's +{\tt tabular} environment. +\begin{quote} +\verb"\begin{tabular}{"{\it cols\/}\verb"}"\\ +\verb"\end{tabular}" +\end{quote} +where {\it cols\/} specifies the formatting for each column. + +There is a \verb"\tableline" command for use in {\tt tabular} +environments. +\begin{quote} +\verb"\tableline" +\end{quote} +This command produces the horizontal rule(s) between the column headings +and the body of the table. +Authors are discouraged from using any \verb"\hlines" themselves, +and are typically forbidden from using vertical rules by editors. + +Titles or captions for tables are indicated with +\begin{quote} +\verb"\caption{TEXT}" +\end{quote} +Tables will be identified with arabic numerals, e.g., ``Table 2''; +the identifying text, including the number, is generated automatically +by \verb"\caption" within the \verb"table" environment. + +Footnotes for tables are usually identified by lower case letters +rather than numbers. +Marking and assigning associated text is achieved with +the \verb"\tablenotemark" and \verb"\tablenotetext" +commands, in which the note identifier is required +(cf. \verb"\altaffilmark" and \verb"\altaffiltext"). +The \verb"\tablenotetext" {\sl must} be specified before +the enclosing \verb"\end{table}", since the text of +notes to tables are displayed by that command. +\begin{quote} +\verb"\tablenotemark{TAG LETTER(S)}"\\ +\verb"\tablenotetext{ALPHA TAG}{TEXT}" +\end{quote} +Note that {\small TAG LETTER == ALPHA TAG} for corresponding {\small TEXT}. +It is the responsibility of the author to get the correspondence correct. + +The table footnotes are coupled to the table in which they occur, rather +than being associated with a particular page, and they are printed with +the table (relatively close to the caption) instead of appearing at the +extreme bottom of the page. This is done to ensure that the notes wind +up on the same page as the table, since tables are floats and can migrate +from one page to another. + +\subsubsection*{Figures} + +At the present time, there is no universal way to include +non-textual data in compuscripts, even if they are graphical +images produced digitally. This situation will surely change, +but it is not addressed by this version of the WGAS macro package. + +Figures must still be submitted with manuscripts in the usual +way, and only the figure captions need to be generated with the +text of the paper. They can be typeset in the traditional way +without using any markup, or they can be produced within an +otherwise empty {\tt figure} environment. +\begin{quote} +\verb"\begin{figure}"\\ +\verb"\caption{TEXT}"\\ +\verb"\end{figure}" +\end{quote} +When the {\tt figure} environment is used, the figure identification, +e.g., ``Figure 1'', is generated automatically by \verb"\caption". +It is usually acceptable for several figure captions to appear +on the same page. + +Footnotes are {\sl not} supported for figures. + +\subsection*{Miscellaneous} + +Here are some handy things people tend to work out for themselves anyway. +Many of the definitions come from the {\it A\&A\/} package (Springer 1989); +some are contributions from individuals. +You can go berserk making these up, +especially when you start getting into the composite ones. We have +tried to select a tractable number that were useful, and somewhat +difficult to get right because fussy kerning or some such is required. + +\begin{center} +\begin{tabular}{ll@{\hspace*{3em}}ll} +\verb"\deg" & \deg & +\verb"\sq" & \sq \\ +\verb"\sun" & \sun & +\verb"\earth" & \earth \\ +\verb"\arcmin" & \arcmin & +\verb"\arcsec" & \arcsec \\ +\verb"\fd" & \fd & +\verb"\fh" & \fh \\ +\verb"\fm" & \fm & +\verb"\fs" & \fs \\ +\verb"\fdg" & \fdg & +\verb"\farcm" & \farcm \\ +\verb"\farcs" & \farcs & +\verb"\fp" & \fp \\ +\verb"\micron" & \micron & \\[.8ex] +\verb"\onehalf" & \onehalf & +\verb"\ubvr" & \ubvr \\ +\verb"\onethird" & \onethird & +\verb"\ub" & \ub \\ +\verb"\twothirds" & \twothirds & +\verb"\bv" & \bv \\ +\verb"\onequarter" & \onequarter & +\verb"\vr" & \vr \\ +\verb"\threequarters" & \threequarters & +\verb"\ur" & \ur \\[.8ex] +\verb"$\la$" & $\la$ & +\verb"$\ga$" & $\ga$ \\ +\end{tabular} +\end{center} +Most of these commands can be used in running text as well as when +setting mathematical expressions. +\verb"\la" and \verb"\ga" can only be used in math mode, +which is sensible since they are relations. +It is possible to use \verb"\earth" and \verb"\sun" as subscripts, +e.g., \verb"$1.4 M_{\sun}$" yields $1.4 M_{\sun}$. + +\subsection*{Concluding the file} + +The last thing in a \LaTeX\ file should be the +\begin{quote} +\verb"\end{document}" +\end{quote} +command, which appears after all the back matter of the paper. +This command directs \LaTeX\ to perform assorted termination +activities and finish processing. + +\section{Additional documentation} + +The preceding detailed explanation of the markup commands in this +package has certain merit, but many authors will prefer to examine +the sample papers that are included with the style files. +The purely instructional examples are named \verb"sample1.tex" +and \verb"sample2.tex". The file \verb"sample1.tex" is a paper prepared +with the WGAS macros utilizing a {\sl minimal\/} amount of markup. +A more ``complete'' paper requiring nearly all of the capabilities +of the package is provided as \verb"sample2.tex"; +this file is annotated with comments that describe +the purpose of most of the markup. + +We have also included in the distribution the source files for our +AAS posters, marked up as they would be for submission; +they are called \verb"paper1.tex" and \verb"paper2.tex". +This user guide (\verb"manual.tex") +is also marked up with the WGAS macro package, +although it is not exemplary as a scientific paper. + +A number of the markup commands described in the preceding +sections are standard \LaTeX\ macros, and the reader who is +unfamiliar with their syntax is referred to the \LaTeX\ +manual (Lamport 1985) for details. A cribsheet listing all +the \LaTeX\ commands (and some pertinent plain \TeX\ commands) +with short descriptions of each is published by the \TeX\ Users +Group (Botway and Biemesderfer 1989). + +Authors who wish to know the ins and outs of \TeX\ itself +should read the {\it\TeX book} (Knuth 1984), probably more than once. +There is a good deal of information about typography in general +in this source. Many details of mathematical typography are +discussed in a book by Swanson (1971). + +The goals and objectives of this project have changed somewhat +since we first wrote on the this subject +(Biemesderfer and Hanisch 1989). +A discussion of some of the issues surrounding standardized +markup for compuscripts has been presented elsewhere +(Hanisch and Biemesderfer 1990). + +\begin{references} +\reference Abt, H. 1990, \apj, 357, 1 (editorial) +\reference Biemesderfer, C. and Hanisch R. 1989, \baas, 21, 780 +\reference Botway, L. and Biemesderfer, C. 1989, + {\it \LaTeX\ Command Summary}, Providence: \TeX\ Users Group +\reference Hanisch, R. and Biemesderfer, C. 1990, \baas, 22, 829 +\reference Knuth, D. 1984, {\it The \TeX book}, Reading, MA: Addison-Wesley +\reference Lamport, L. 1985, + {\it \LaTeX: A Document Preparation System\/}, Reading, MA: Addison-Wesley +\reference Springer-Verlag. 1989, + {\it Springer-Verlag \TeX\ AA macro package 1989}, + Springer: Heidelberg +\reference Springer-Verlag. 1990, + {\it Springer-Verlag \LaTeX\ AA macro package 1990}, + Springer: Heidelberg +\reference Swanson, E. 1971, {\it Mathematics Into Type} +\end{references} + +\makeatletter +\wgas@pageid +\makeatother + +\end{document} diff --git a/obsolete/macros/latex209/contrib/aasmacros/mathsec.sty b/obsolete/macros/latex209/contrib/aasmacros/mathsec.sty new file mode 100644 index 0000000000..e526ea517a --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/mathsec.sty @@ -0,0 +1,16 @@ +% MATHSEC.STY -- AAS WGAS substyle definition for equations numbered +% according to section number. + +% This is the least intrusive way to implement a substyle layered on top +% the standard LaTeX styles: by creating a foo.sty style that is read when +% the specifies the document substyle foo. This file is read in when +% +% \documentstyle[12pt,aasms,mathsec]{article} +% +% is specified by the author. + +\mathwithsecnums + +% That's all this files does. It would be more efficient to have "mathsec" +% declared as an internal substyle, but that requires modifications in the +% main LaTeX article.sty file. diff --git a/obsolete/macros/latex209/contrib/aasmacros/paper1.tex b/obsolete/macros/latex209/contrib/aasmacros/paper1.tex new file mode 100644 index 0000000000..3d296bcdd7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/paper1.tex @@ -0,0 +1,279 @@ +% PAPER1.TEX -- Original proposal, presented as a display paper at +% June 1989 AAS meeting in Ann Arbor. + +\documentstyle[12pt,aasms,tighten]{article} +\nofiles + +\pagestyle{empty} +\begin{document} + +% title page ----------------------------------------------------------------- +\null \vspace*{1.5in} + +\hbox to\textwidth{\hfill +\begin{minipage}{5in} +\begin{center} +\large\bf \TeX\ and \LaTeX\ Macro Definition Files\\ +for Astronomical Publications\\[4ex] +\normalsize C. D. Biemesderfer$^1$\\[1ex] and\\[1ex] + R. J. Hanisch$^2$ +\end{center} +\end{minipage} +\hfill} + +\vfill + +\begin{quote} +\renewcommand{\labelenumi}{\arabic{enumi})} +\begin{enumerate} +\item National Radio Astronomy Observatory, Tucson, AZ 85721. +NRAO is operated by Associated Universities, Inc.\ under cooperative +agreement with the National Science Foundation. + +\item Space Telescope Science Institute, Baltimore, MD 21218. +STScI is operated for NASA by Associated Universities for +Research in Astronomy, Inc. +\end{enumerate} +\end{quote} + +\newpage +% ---------------------------------------------------------------------------- + +\title{\TeX\ and \LaTeX\ Macro Definition Files\\ + for Astronomical Publications} +\author{C. D. Biemesderfer (NRAO), R. J. Hanisch (STScI)} + +\vspace{1.5ex} + +As astronomers have become skilled in the use of the typesetting +programs \TeX\ and \LaTeX, their use in preparing articles for +astronomical journals has steadily increased. +We believe that the community, including the journal publishers, +can benefit significantly from the adoption of \TeX\ for production +purposes as well as for the creation of authors' drafts. +We have begun the development of macro definition files for the +Chicago University Press journals ({\it Ap.J.\/} and {\it A.J.\/}), +and have developed templates which guide authors in the preparation of +their manuscripts. + +We wish to illustrate several points with our display: +\begin{itemize} + \item High-quality output can be produced, even with a 300 dot per inch + laser printer. + \item There is merit in the use of a ``general'' set of macros, + usable by several authors, in order to produce identical + {\sl looking} results (identical form vs. variable + content). + \item We demonstrate the power of the typesetting system itself, + and the versatility possible with layers of macros, + with ``draft'' + and ``reprint'' versions of the same paper produced + {\sl with the same markup} (variable form vs. + identical content). +\end{itemize} + +%\pagebreak +\subsection*{Why use \TeX~?} + +Look around. How many presentations and preprints that were prepared +with \TeX\ have you seen at this meeting~? +The most important reason for selecting these programs is +{\sl familiarity}. +Another consideration is that the whole \TeX\ system is in the public +domain, so there is very little encumbrance of cost levied on the +community. +The system has been ported to a significant fraction of available +computing machinery and printers, so the likelihood of requiring the +acquisition of new hardware is very small. + +In addition, \TeX\ and \LaTeX\ do typesetting {\sl well}. +They are capable of producing printed manuscripts that are practically +indistinguishable from the printed pages of the various journals. +Finally, \TeX\ has a well-developed macro facility. +Through the use of standard macro files, it is possible for authors +to send their manuscripts electronically to the journal editorial offices +and for the journals to reduce costs by directly typesetting the submissions. +Given the widening of the research computing network, it is easy to +imagine that publishers need not produce final-copy reprints for +authors to distribute; the bulk of reprint requests could be made +{\sl and filled} via electronic mail. + +%\pagebreak +\subsection*{Why use macros~?} + +The most important reason to use identical markup is to guarantee uniformity +in the typeset results of manuscripts written by different authors. +A secondary benefit is that by changing the {\sl definitions} +of the markup macros, an author (or publisher) can produce articles with +entirely different form, without modifying the source document. +This means that an author can create an ``editorial'' copy of a +paper suitable for review by a referee or a copy editor, and the +journal publisher can produce ``proof'' pages (or the author can produce +his own reprints) with the same markup. + +The accompanying figures show the original source files and typeset results of +a trial article produced in ``draft'' and ``final'' forms. + +With the use of \LaTeX\ style files, the macro definitions can also be +customized for the style differences between the different journals. +Although we encourage the standardization efforts now in progress, if +differences were to remain in the layout, font styles, references, etc., +between different journals, these could be accommodated in suitably +tailored style files. Again, the source text would be identical except +for the name of the style file. + +%\pagebreak +\subsection*{Macro names} + +Proposing a ``standard'' for a community at large is always a +contentious undertaking, and there will undoubtedly be differences +of opinion about the nomenclature of the markup and the semantics +of the ``little language'' that comprises the definitions. +We have adopted the naming conventions and to a major extent the +semantics of \LaTeX, primarily because the control sequence names +of \LaTeX\ reflect the canonical terminology of typography and +copy editing. \LaTeX\ is also widely used, and many scientists +are likely to be familiar with the command names. + +We list in what follows the major features of the +experimental {\it apj\/} style definition. + +\begin{itemize} +\item Journal and article identification information is established by the +editorial staff. The following macros can (and probably should) be included +in the manuscript preamble. +\begin{quote} +\begin{verbatim} +\journalid{VOL}{JOURNALDATE} +\articleid{STARTPAGE}{ENDPAGE} +\received{RECEIPTDATE} +\accepted{ACCEPTDATE} +\end{verbatim} +\end{quote} +The copyright line found at the beginning of each article is typeset using +the journal and article identification information set by the +\verb"\journalid" and \verb"\articleid" commands. + +\item Title and author identification is by way of standard \LaTeX\ commands +\verb"\title" and \verb"\author". +\begin{quote} +\begin{verbatim} +\title{TITLE} +\author{AUTHOR} +\end{verbatim} +\end{quote} +Authors' principal affiliation(s) is specified with a separate macro +\verb"\affiliation". Authors often have +affiliations above and beyond their main employer, and these are specified +with the \verb"\altaffil" and \verb"\altaffiltext" commands. +\begin{quote} +\begin{verbatim} +\affiliation{PLACE} +\altaffil{IDNUMBER} +\altaffiltext{IDNUMBER}{PLACE} +\end{verbatim} +\end{quote} + +\item The paper abstract is enclosed in a grouping construct as per the +\LaTeX\ abstract environment. +There is also a subject headings environment that permits main headings +with subheadings, identified with \verb"\heading" and \verb"\subheading" +macros, respectively. +\begin{quote} +\begin{verbatim} +\begin{abstract} +\end{abstract} + +\begin{subjects} +\heading{MAINTOPIC} +\subheading{SUBTOPIC} +\end{subjects} +\end{verbatim} +\end{quote} + +\item We permit sections, subsections, and subsubsections +as described by the Manual of Style, and using the same syntax as their +paradigms in \LaTeX. +\begin{quote} +\begin{verbatim} +\section{NAME} +\subsection{NAME} +\subsubsection{NAME} +\end{verbatim} +\end{quote} + +\item There is an \verb"\acknowledgements" command to be used before any +final paragraphs that may contain expressions of gratitude. +\begin{quote} +\begin{verbatim} +\acknowledgements +\end{verbatim} +\end{quote} + +\item At the present time, the references environment is not implemented +with BIB\TeX, although we borrow syntactic and semantic ideas +from that system (which, in turn, borrows from Scribe and {\it refer\/}). +We have simply defined the several macros we needed for the sample +papers, using the entry types described in the BIB\TeX\ documentation. +The definitions make use of the required and optional fields as per +BIB\TeX\ as well, and the required arguments are in the same order as +they are mentioned in Appendix B of the \LaTeX\ manual. We have added +the optional arguments where necessary in order to make correct {\it Ap.J.\/} +references, although the specific syntax may not be desirable for +authors submitting to many journals; something more general should +be devised, or else BIB\TeX\ should be properly used. +\begin{quote}\small +\begin{verbatim} +\begin{references} +\article{AUTHOR}{TITLE}{JOURNAL}{YEAR}{VOL}{PAGE} +\book{AUTHOR}{TITLE}{PUBLISHER}{YEAR} +\inbook{AUTHOR}{TITLE}{CHAP/PAGE}{ED/PUB}{YEAR} +\misc{AUTHOR}{YEAR}{NOTE} +\end{references} +\end{verbatim} +\end{quote} + +\item There is an authors' addresses environment. +The syntax here is experimental. +\begin{quote} +\begin{verbatim} +\begin{authoraddresses} +\authoraddress{NAME}{ADDRESS} +\end{authoraddresses} +\end{verbatim} +\end{quote} +where address components should be delimited by \verb"\\". +For {\it Ap.J.\/} main journal addresses, +\verb"\\" doesn't mean a line break; it is redefined to +be simply a comma. In preprints, though, people frequently set up +their addresses in a standard ``envelope'' form, hence that choice for +the delimiter. +\end{itemize} + +We also suggest that a number of commonplace abbreviations +be specified as macros, particularly for the names of journals +used in citations. The reason for this is because different +journals do not use the same abbreviations, and if the ideas +proposed in this paper catch on with several publishers, we can +use the same citation macros without having to look up in the +corresponding Manual of Style how to abbreviate +{\it Astronomy and Astrophysics\/}. + +%\pagebreak +\subsection*{Status of the macros} + +The macro package is in a very preliminary form, with many known +shortcomings and omissions; +the purpose of this paper is to serve as a trial balloon for the +concepts we are proposing. + +There are several outstanding problems, most notably a generalized +way of going in and out of ``two-column'' mode. Macros for setting +tabular material and for inserting space for figures have not been +developed (although they will not be terribly difficult). +The most flexible way to handle embedded graphical material is for +the graphics to be submitted in electronic form also, in some +standard metacode such as PostScript, but this is a separate +issue. + +\end{document} diff --git a/obsolete/macros/latex209/contrib/aasmacros/paper2.tex b/obsolete/macros/latex209/contrib/aasmacros/paper2.tex new file mode 100644 index 0000000000..9b292d8494 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/paper2.tex @@ -0,0 +1,267 @@ +% PAPER2.TEX -- Overview of how TeX is used by several journal publishers +% for production purposes. Discussion of various desiderata for markup. + +\documentstyle[aaspp]{article} +\nofiles + +\hyphenation{ma-nu-script ma-nu-scripts} % curious... +\hyphenation{pre-load-ed turn-around Spring-er} + +\pagestyle{empty} + +\begin{document} +\twocolumn + +\title{A Comparison of\\ \TeX-based Production Methods\\ +for Selected Physics and Astronomy Journals} + +\author{\sl R. J. Hanisch, STScI\\[.5ex] +C. D. Biemesderfer, NOAO} + +\vspace{.25in} + +Many astronomers are familiar with the \TeX\ computer typesetting system. +A considerable number of them now use an editor and \TeX\ in tandem as +a word processor, composing many diverse forms such as letters, memoranda, +recipes, party invitations, and even books and journal articles. +Most of this material is distributed informally (via laser printer and +photocopier), although some commercial firms have begun to produce +technical volumes using \TeX\ as the primary typesetting engine. + +In this paper, we review the production cycles of three journals with +which astronomers are likely to be acquainted. These are the +{\it Physical Review}, +{\it Astronomy and Astrophysics}, and the +{\it Australian Journal of Physics}. + +%\newpage +\subsection*{Physical Review} + +The {\it Physical Review\/} is published by the +American Physical Society (APS). +The APS Publications Liaison Office has developed a macro package called +REV\TeX\ which is designed to work with standard \LaTeX. +REV\TeX\ is distributed to interested authors along with sample +papers and a user guide (Sutherland 1989), and authors are encouraged +to write their articles for the +{\it Physical Review\/} with REV\TeX\ markup. +The objective of REV\TeX\ is to avoid the costs and time delays of +keyboard entry, as well as to provide authors with their own means +of producing markup and preprint versions of their manuscripts. + +REV\TeX\ has a {\sl preprint} format (a \LaTeX\ substyle) that can +be used for initial review; authors submit {\sl manuscripts} +(paper copies) of their articles to the editorial office, +and the paper is refereed in the usual fashion. +At some stage in the review process, the REV\TeX\ source file (called +a {\sl compuscript}) will be requested from the author. +Compuscripts may be submitted via floppy diskette, magnetic tape, +or Bitnet. After a paper has been accepted, the author may elect +to have the compuscript returned so that the author may make subsequent +corrections, or changes can be made by staff at the production site. + +The publishing offices of the AIP, which produces the +{\it Physical Review} for APS, do not actually use +\TeX\ for their typesetting. +Rather, they use a turn-key computer typesetting system called Xyvision. +Xyvision has its own markup language, and the production staff +at AIP has been trained in its use. +However, Xyvision provides the tools to develop +translators between various typesetting markup languages and the +Xyvision internal system. The AIP has already implemented a translation +between WordPerfect and Xyvision, and this summer will be developing +a translation facility between \TeX\ (i.e., the REV\TeX\ macro package) +and Xyvision. Other translators, such as to the industry-standard +SGML, are likely to be developed as well. + +%\newpage +\subsection*{Astronomy and Astrophysics} + +{\it Astronomy and Astrophysics\/} is published by Springer-Verlag; +the {\it Supplement\/} is published by Les Editions de Physique. +Springer has a macro package for use with plain \TeX\ which is +distributed to authors (Springer 1989). +Springer's purposes in using \TeX\ in their production cycle are +to increase the total number of pages produced per year, and to afford +authors quicker turnaround, resulting in a timlier publication schedule. + +Editorial procedures are similar to those of the {\it Physical Review}. +Manuscripts are submitted to the {\it A\&A} editorial offices, and +the electronic copy of the paper (on floppy diskette) is requested +after acceptance. +Springer has integrated their production environment in a way +so that journal pages can be typeset by \TeX\ and produced on +Springer's phototypesetter. In general, this system functions well, +and at least some authors find the publication process +(once the paper has been accepted) +to be less time-consuming. % Andre 1990, private comm. + +There are shortcomings in the procedure as a whole, however. +Authors who choose to process their own papers {\sl for publication\/} +with the {\it A\&A\/} macros are supposed to submit a DVI file +in addition to the \TeX\ source. +The \TeX$\rightarrow$DVI processing is done with +preloaded fonts for the typesetter used by Springer, % a Mergenthaler? +{\sl not} the Computer Modern fonts. The configuration that must be +arranged (on each author's host computer) for this processing require +intervention of a fairly knowledgeable \TeX pert, and also possibly +a system administrator. + +It is not clear that there is any real benefit to Springer in using +this approach, as opposed to simply processing the \TeX\ source +(which Springer will do, if an author is unable to do so) +at the production site. +We feel this is a peculiar requirement that is unnecessarily +burdensome to authors. +More fundamentally, standardization at the level of DVI files +is inappropriate for widespread document interchange. + +An additional criticism of Springer's macro package is that +the markup that was devised is unique, drawing only tangentially +on existing markup command conventions. In other words, +the {\it A\&A\/} package is a completely new markup language. +It is desirable to use standard environments and commands +to the greatest extent possible in order to both simplify +the process of text preparation for authors and to ensure +that a minimum amount of reworking of the text +is required by the editorial offices. +It is unfortunate that \LaTeX\ was not used as a starting point instead; +because \LaTeX\ has a higher +level view of a document than \TeX, it provides a more suitable +framework in which to develop a standard markup style. + +%\newpage +\subsection*{Australian Journal of Physics} + +The {\it Australian Journal of Physics\/} is published by the +Commonwealth Scientific and Industrial Research Organisation. +The CSIRO has been experimenting with \TeX\ for production +of a number of its journals since 1985 and in 1989 began +publication of the {\it Aust.~J.~Phys.} with a specialized +version of \TeX\ running on MacIntoshes. + +The CSIRO system, called AJSR\TeX\ (Clarke 1989), +was developed by the System Design Unit of CSIRO +specifically for the production of the Australian Journals of +Scientific Research (AJSR). +AJSR\TeX\ is designed for use by the staff of the +publishing office, particularly technical typists, +rather than as a package distributed to authors. +The managing editor accepts plain \TeX, AMS\TeX, and +\LaTeX\ submissions on floppy diskette, but each is translated into +the AJSR\TeX\ system and subsequently recomposed by a staff typographer. +The production environment consists of the AJSR\TeX\ package layered +on \TeX tures (a commercial \TeX\ implementation for the MacIntosh), +in conjunction with a commercial text editing product called QUED/M. + +Submission procedures are the same those described above. +Traditional hardcopy manuscripts are submitted initially for +refereeing and editorial revision; a diskette containing +the \TeX\ compuscript is requested after the article +has been accepted for publication. +While the acceptance of author submissions doesn't necessarily +save production time at the AJSR office (Clarke 1990), +a reduction in typesetting costs and a shortening of the +publication cycle has already been realized (Robertson 1989). + +% It is interesting to realize that CSIRO's decision to use TeX was +% entirely motivated by commercial publishing concerns. The reasoning +% that led to this decision is described to some extent in: +% +% Clarke, T. 1988, Australian Mac World. +% +% The move had as much (if not more) to do with a desire to use the +% MacIntosh, but they were clearly enough impressed by the results of +% their previous experiments with TeX to invest in the in-house version. +% +% An article entitled "How and Why a Trade Typesetter Chose \TeX" in the +% 1988 TUG Conference Proceedings describes the course followed by another +% Melbourne-based organisation (Trade Graphics Pty. Ltd.) as they migrated +% from Compugraphic hardware. They run TeX on a Compaq 386 and continue +% to send output to the CG8400. +% +% Tonkin, P. and Warman, A. 1988, {\it TUG Conference Proceedings}, +% AMS, Providence, p. 61 + +There are a number of interesting things to note about CSIRO's operation. +Most significant are the facts that \TeX\ is used to produce the +{\sl entire} {\it Australian Journal of Physics\/}, +the production is carried out on very inexpensive equipment +(three MacIntoshes and a 600 dpi laser printer), and +the journal's appearance does not suffer. % In fact, it looks pretty good. +It is clear that the production offices of the AJSR chose +\TeX\ because it was a sound commercial publishing solution, +basically equivalent to the AIP's decision to use Xyvision. + +Furthermore, there is a striking similarity between the APS' and AJSR's +use of author submissions in their production operations. +Both offices {\sl translate} the author's markup (some dialect of \TeX) +into an internal representation (Xyvision's proprietary language on +one hand, a different dialect of \TeX\ on the other). +We discuss this further below. + + +%\newpage +\subsection*{Discussion} + +In recent years, the exchange of manuscripts by electronic means has +become more prevalent. +We anticipate an increase in the use of electronic (computerized) methods +for the production of commercially published material, including +scholarly journals. % as indicated by our survey + +In order to shorten the time from submission of articles to publication +and to decrease the costs of production, editors and publishers must +be able to make direct use of author-prepared computerized manuscripts. +However, for the usual cycles involved in review, acceptance, and +editing of journal articles, a form that is readily manipulated by +humans is desirable. +ASCII text documents with embedded markup permits humans to read and edit +while providing the tags necessary for a computer to process or translate +the paper. + +A common {\sl form} for such markup facilitates the processing +stages of the publishing operation. +It is not important that the markup be identical in all cases, +i.e., it is not necessary to declare a particular language or syntax +as ``the standard''. +What is essential is that the acceptable +formats (markup languages) be sufficiently alike conceptually +so that the translation or conversion between forms +can be readily specified. % at the lexical level, not the grammatical. + +It is possible to make assertions about what properties a ``good'' markup +language has for dealing with the documentation issues we are considering. +Its principle attribute is that it {\sl identify the structure} +of the document. +Equally important is that certain relationships among components +be enforced (e.g., it should not be permissible to place a running +head in a section heading). +Obviously, the markup should be ASCII strings. + +SGML is such a language; so, to a certain extent, is \LaTeX. +As we have seen in the production of the {\it Physical Review\/} and +the {\it Australian Journal of Physics\/}, \LaTeX\ markup can be +translated into alternate formats suitable for commercial publications. +As long as authors, editors, and publishers agree on good principles +of structure, translations from one markup to another should +be straightforward (Mamrak et al. 1987). +The macros that we have developed on behalf of the AAS Working +Group on Astronomical Software (Biemesderfer and Hanisch 1990) +are intended as a working model for such principles. + +\begin{references} +\reference Biemesderfer, C. D. and Hanisch, R. J. 1990, in publication. +\reference Clarke, T. 1989, {\it ASJR\TeX\ User Manual}, CSIRO: Melbourne +\reference Clarke, T. 1990, private communication +\reference Mamrak, S. A., Kaelbing, M. J., Nicholas, C. K., and Share, M. + 1987, {\it CACM}, {\bf 30}, 408 +\reference Robertson, P. 1989, {\it Aust.J.Phys.}, {\bf 42}, 1 +\reference Springer-Verlag. 1989, + {\it Springer-Verlag \TeX\ AA macro package 1989}, + Springer: Heidelberg +\reference Sutherland, P. 1989, {\it Physical Review Input Guide for + \TeX\ Author-Prepared Compuscripts}, APS: New York +\end{references} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/aasmacros/samp2tbl.tex b/obsolete/macros/latex209/contrib/aasmacros/samp2tbl.tex new file mode 100644 index 0000000000..3446811f10 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/samp2tbl.tex @@ -0,0 +1,138 @@ +% TABLE1.TEX -- AASTeX sample table 1. + +\begin{planotable}{lrrrrcrrrrr} +\tablewidth{0pc} +\tablecaption{Literature Data for Program Stars} +\tablehead{ +\colhead{Star} & \colhead{V} & +\colhead{b$-$y} & \colhead{m$_1$} & +\colhead{c$_1$} & \colhead{ref} & +\colhead{T$_{\rm eff}$} & \colhead{log g} & +\colhead{v$_{\rm turb}$} & \colhead{[Fe/H]} & +\colhead{ref}} +\startdata +HD 97 & 9.7& 0.51& 0.15& 0.35& 2 & \nodata & \nodata & \nodata & $-1.50$ & 2 \nl +& & & & & & 5015 & \nodata & \nodata & $-1.50$ & 10 \nl +HD 2665 & 7.7& 0.54& 0.09& 0.34& 2 & \nodata & \nodata & \nodata & $-2.30$ & 2 \nl +& & & & & & 5000 & 2.50 & 2.4 & $-1.99$ & 5 \nl +& & & & & & 5120 & 3.00 & 2.0 & $-1.69$ & 7 \nl +& & & & & & 4980 & \nodata & \nodata & $-2.05$ & 10 \nl +HD 4306 & 9.0& 0.52& 0.05& 0.35& 20, 2& \nodata & \nodata & \nodata & $-2.70$ & 2 \nl +& & & & & & 5000 & 1.75 & 2.0 & $-2.70$ & 13 \nl +& & & & & & 5000 & 1.50 & 1.8 & $-2.65$ & 14 \nl +& & & & & & 4950 & 2.10 & 2.0 & $-2.92$ & 8 \nl +& & & & & & 5000 & 2.25 & 2.0 & $-2.83$ & 18 \nl +& & & & & & \nodata & \nodata & \nodata & $-2.80$ & 21 \nl +& & & & & & 4930 & \nodata & \nodata & $-2.45$ & 10 \nl +HD 4906 & 8.8& 0.48& 0.22& 0.30& 20 & \nodata & \nodata & \nodata & \nodata & \nodata\nl +HD 5426 & 9.6& 0.50& 0.08& 0.34& 2 & \nodata & \nodata & \nodata & $-2.30$ & 2 \nl +HD 6755 & 7.7& 0.49& 0.12& 0.28& 20, 2& \nodata & \nodata & \nodata & $-1.70$ & 2 \nl +& & & & & & 5200 & 2.50 & 2.4 & $-1.56$ & 5 \nl +& & & & & & 5260 & 3.00 & 2.7 & $-1.67$ & 7 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.58$ & 21 \nl +& & & & & & 5200 & \nodata & \nodata & $-1.80$ & 10 \nl +HD 18907 & 5.9& 0.51& 0.23& 0.32& 20 & \nodata & \nodata & \nodata & \nodata & \nodata\nl +HD 21581 & 8.7& 0.56& 0.14& 0.34& 2 & \nodata & \nodata & \nodata & $-1.80$ & 2 \nl +& & & & & & 4750 & \nodata & \nodata & $-1.66$ & 10 \nl +HD 24289 & 10.0& 0.39& 0.05& 0.29& 20 & \nodata & \nodata & \nodata & $-1.64$ & 21 \nl +HD 24616 & 6.7& 0.51& 0.25& 0.32& 20 & \nodata & \nodata & \nodata & \nodata & \nodata\nl +HD 44007 & 8.1& 0.56& 0.14& 0.35& 2 & \nodata & \nodata & \nodata & $-1.70$ & 2 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.70$ & 24 \nl +HD 45282 & 8.0& 0.45& 0.11& 0.28& 20 & \nodata & \nodata & \nodata & $-1.51$ & 21 \nl +HD 76932 & 5.8& 0.35& 0.12& 0.30& 20 & 5860 & 3.50 & \nodata & $-1.10$ & 22 \nl +& & & & & & 5630 & 3.88 & 0.8 & $-1.01$ & 7 \nl +& & & & & & 5810 & 3.50 & \nodata & $-1.12$ & 15 \nl +HD 84937 & 8.3& 0.30& 0.06& 0.35& 20,11& 6200 & \nodata & \nodata & $-2.10$ & 4 \nl +& & & & & & 6250 & \nodata & \nodata & $-2.18$ & 17 \nl +& & & & & & 6216 & \nodata & \nodata & $-2.42$ & 11 \nl +& & & & & & 6240 & \nodata & \nodata & $-2.13$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-2.14$ & 21 \nl +& & & & & & 6200 & 3.60 & 1.5 & $-2.43$ & 16 \nl +& & & & & & 6250 & 4.00 & \nodata & $-2.10$ & 22 \nl +HD 87140 & 9.0& 0.48& 0.12& 0.28& 20 & 5000 & 4.50 & 1.0 & $-1.41$ & 7 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.56$ & 21 \nl +HD 88609 & 8.6& 0.68& 0.09& 0.54& 2 & \nodata & \nodata & \nodata & $-2.50$ & 2 \nl +& & & & & & 4500 & 1.10 & 2.8 & $-2.77$ & 5 \nl +& & & & & & 4500 & 0.80 & 3.2 & $-2.65$ & 14 \nl +& & & & & & 4600 & \nodata & \nodata & $-2.75$ & 10 \tablebreak +HD 94028 & 8.2& 0.34& 0.08& 0.25& 20 & 5795 & 4.00 & \nodata & $-1.70$ & 22 \nl +& & & & & & 5860 & \nodata & \nodata & $-1.70$ & 4 \nl +& & & & & & 5910 & 3.80 & \nodata & $-1.76$ & 15 \nl +& & & & & & 5800 & \nodata & \nodata & $-1.67$ & 17 \nl +& & & & & & 5902 & \nodata & \nodata & $-1.50$ & 11 \nl +& & & & & & 5900 & \nodata & \nodata & $-1.57$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.32$ & 21 \nl +HD 97916 & 9.2& 0.29& 0.10& 0.41& 20 & 6125 & 4.00 & \nodata & $-1.10$ & 22 \nl +& & & & & & 6160 & \nodata & \nodata & $-1.39$ & 3 \nl +& & & & & & 6240 & 3.70 & \nodata & $-1.28$ & 15 \nl +& & & & & & 5950 & \nodata & \nodata & $-1.50$ & 17 \nl +& & & & & & 6204 & \nodata & \nodata & $-1.36$ & 11 \nl +\cutinhead{This is a cut-in head.} ++26\deg2606& 9.7&0.34&0.05&0.28&20,11& 5980 & \nodata & \nodata &$<-2.20$ & 19 \nl +& & & & & & 5950 & \nodata & \nodata & $-2.89$ & 24 \nl ++26\deg3578& 9.4&0.31&0.05&0.37&20,11& 5830 & \nodata & \nodata & $-2.60$ & 4 \nl +& & & & & & 5800 & \nodata & \nodata & $-2.62$ & 17 \nl +& & & & & & 6177 & \nodata & \nodata & $-2.51$ & 11 \nl +& & & & & & 6000 & 3.25 & \nodata & $-2.20$ & 22 \nl +& & & & & & 6140 & 3.50 & \nodata & $-2.57$ & 15 \tablebreak ++30\deg2611& 9.2&0.82&0.33&0.55& 2 & \nodata & \nodata & \nodata & $-1.70$ & 2 \nl +& & & & & & 4400 & 1.80 & \nodata & $-1.70$ & 12 \nl +& & & & & & 4400 & 0.90 & 1.7 & $-1.20$ & 14 \nl +& & & & & & 4260 & \nodata & \nodata & $-1.55$ & 10 \nl ++37\deg1458& 8.9&0.44&0.07&0.22&20,11& 5296 & \nodata & \nodata & $-2.39$ & 11 \nl +& & & & & & 5420 & \nodata & \nodata & $-2.43$ & 3 \nl ++58\deg1218&10.0&0.51&0.03&0.36& 2 & \nodata & \nodata & \nodata & $-2.80$ & 2 \nl +& & & & & & 5000 & 1.10 & 2.2 & $-2.71$ & 14 \nl +& & & & & & 5000 & 2.20 & 1.8 & $-2.46$ & 5 \nl +& & & & & & 4980 & \nodata & \nodata & $-2.55$ & 10 \nl ++72\deg0094&10.2&0.31&0.09&0.26&12 & 6160 & \nodata & \nodata & $-1.80$ & 19 \nl +\sidehead{Side head:} +G5--36 & 10.8& 0.40& 0.07& 0.28& 20 & \nodata & \nodata & \nodata & $-1.19$ & 21 \nl +G18--54 & 10.7& 0.37& 0.08& 0.28& 20 & \nodata & \nodata & \nodata & $-1.34$ & 21 \nl +G20--08 & 9.9& 0.36& 0.05& 0.25& 20,11& 5849 & \nodata & \nodata & $-2.59$ & 11 \nl +& & & & & & \nodata & \nodata & \nodata & $-2.03$ & 21 \nl +G20--15 & 10.6& 0.45& 0.03& 0.27& 20,11& 5657 & \nodata & \nodata & $-2.00$ & 11 \nl +& & & & & & 6020 & \nodata & \nodata & $-1.56$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.58$ & 21 \nl +G21--22 & 10.7& 0.38& 0.07& 0.27& 20,11& \nodata & \nodata & \nodata & $-1.23$ & 21 \tablebreak +G24--03 & 10.5& 0.36& 0.06& 0.27& 20,11& 5866 & \nodata & \nodata & $-1.78$ & 11 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.70$ & 21 \nl +G30--52 & 8.6& 0.50& 0.25& 0.27& 11 & 4757 & \nodata & \nodata & $-2.12$ & 11 \nl +& & & & & & 4880 & \nodata & \nodata & $-2.14$ & 3 \nl +G33--09 & 10.6& 0.41& 0.10& 0.28& 20 & 5575 & \nodata & \nodata & $-1.48$ & 11 \nl +G59--18 & 10.2& 0.47& 0.16& 0.26& 20 & \nodata & \nodata & \nodata & $-1.08$ & 21 \nl +G60--26 & 9.8& 0.43& 0.14& 0.24& 20 & \nodata & \nodata & \nodata & $-1.15$ & 21 \nl +G66--22 & 10.5& 0.46& 0.16& 0.28& 11 & 5060 & \nodata & \nodata & $-1.77$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.04$ & 21 \nl +G90--03 & 10.4& 0.37& 0.04& 0.29& 20 & \nodata & \nodata & \nodata & $-2.01$ & 21 \nl +G102--47 & 10.3& 0.46& 0.10& 0.23& 20,11& 5220 & \nodata & \nodata & $-2.25$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.62$ & 21 \nl +G122--57 & 8.4& 0.53& 0.27& 0.31& 11 & 4744 & \nodata & \nodata & $-1.71$ & 11 \nl +G141--19 & 10.6& 0.50& 0.01& 0.26& 20 & 5155 & \nodata & \nodata & $-2.91$ & 11 \nl +& & & & & & 5680 & \nodata & \nodata & $-1.80$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.95$ & 21 \nl +G141--47 & 10.5& 0.39& 0.09& 0.29& 11 & 6056 & \nodata & \nodata & $-1.57$ & 11 \nl +G170--47 & 8.9& 0.45& 0.06& 0.28& 11 & 5126 & \nodata & \nodata & $-2.91$ & 11 \nl +G186--26 & 10.8& 0.31& 0.04& 0.34& 20 & 6220 & \nodata & \nodata & $-2.90$ & 25 \nl +& & & & & & 6222 & \nodata & \nodata &$<-2.80$ & 11 \nl +G205--42 & 10.0& 0.43& 0.10& 0.23& 11 & 5301 & \nodata & \nodata & $-2.18$ & 11 \nl +G217--08 & 10.5& 0.35& 0.06& 0.28& 11 & 6066 & \nodata & \nodata & $-2.29$ & \nodata\nl +G243--63 & 7.7& 0.48& 0.13& 0.30& 11 & \nodata & \nodata & \nodata & $-1.66$ & 21 \nl +LP 608--62\tablenotemark{a} & 10.5& 0.30& 0.07& 0.35& 11 & 6250 & \nodata & \nodata & $-2.70$ & 4 \nl +\tablenotetext{a}{Star LP 608--62 is also known as BD+1\deg 2341p.} +\tablenotetext{b}{This is not a real table footnote.} +\tablerefs{ +(1) Barbuy, Spite, \& Spite 1985; (2) Bond 1980; (3) Carbon et al. 1987; +(4) Hobbs \& Duncan 1987; (5) Gilroy et al. 1988: (6) Gratton \& Ortolani 1986; +(7) Gratton \& Sneden 1987; (8) Gratton \& Sneden (1988); (9) Gratton \& Sneden 1991; +(10) Kraft et al. 1982; (11) LCL, or Laird, 1990; (12) Leep \& Wallerstein 1981; +(13) Luck \& Bond 1981; (14) Luck \& Bond 1985; (15) Magain 1987; +(16) Magain 1989; (17) Peterson 1981; (18) Peterson, Kurucz, \& Carney 1990; +(19) RMB; (20) Schuster \& Nissen 1988; (21) Schuster \& Nissen 1989b; +(22) Spite et al. 1984; (23) Spite \& Spite 1986; (24) Hobbs \& Thorburn 1991; +(25) Hobbs et al. 1991; (26) Olsen 1983.} +\tablecomments{Occasionally, authors wish to append a short +paragraph of explanatory notes that pertain to the entire table, but +which are different than the caption. Such notes should be placed in +a {\tt tablecomments} command like this.} +\end{planotable} diff --git a/obsolete/macros/latex209/contrib/aasmacros/sample1.tex b/obsolete/macros/latex209/contrib/aasmacros/sample1.tex new file mode 100644 index 0000000000..ffaea5622a --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/sample1.tex @@ -0,0 +1,54 @@ +% SAMPLE1.TEX -- AASTeX sample paper with minimal markup. + +\documentstyle[12pt,aasms]{article} + +\begin{document} + +\title{AAS\TeX\ Sample Papers. I. The Minimalist Approach} +\author{M. Headroom} +\affil{Industrial Metaphysics, Inc., Alluvia, HG 67555} + +\begin{abstract} +This example illustrates how to use the AAS\TeX\ markup in a +way that is as unobtrusive as possible while still identifying +all the important structural parts of the paper. +The most salient thing to observe is that, apart from the document +style declaration, no formatting instructions are given in the file. +\end{abstract} + +\keywords{Brevity --- models} + +\section{Introduction} + +Reader, this is my paper. Paper, this is our reader. + +\section{Observations} + +The observations upon which this paper is based were taken on Wednesday +while I was grocery shopping. I needed a half-gallon of milk, chips and +salsa, and a bag of kitty litter. Calibration data were taken on Friday +when I went back for a six-pack of beer. + +\section{Discussion} + +Grocery stores seem to be inordinately crowded on Wednesdays and Fridays +\markcite{(Headroom 1988)}. The increase in Friday-shopper density can +be understood by assuming that many people get paid on Fridays, +and by recognizing that such people often do not work on Saturdays and +Sundays and can be assumed to be ``stocking up'' for the weekend. + +The Wednesday peak is harder to explain, but may be related to the +delivery of fresh produce on Tuesday nights. This interpretation +depends on the assumption that many people +eat sensibly and therefore find fresh produce attractive. + +\acknowledgments + +My cats, Hal and Yoda, provided motivation for the initiation of this study. + +\begin{references} +\reference Berlioz, H. 1837, Grande Messe du Morts (Paris: Durand) +\reference Headroom, M. 1988, \apj, 278, 356 +\end{references} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/aasmacros/sample2.aux b/obsolete/macros/latex209/contrib/aasmacros/sample2.aux new file mode 100644 index 0000000000..32d0c435cf --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/sample2.aux @@ -0,0 +1,37 @@ +\relax +\citation{hen61,lyn68,spi85} +\citation{kin75,new78} +\citation{djo84} +\citation{can78} +\citation{kin68,pet76,har84,ort85} +\citation{kin66} +\citation{kro84} +\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {1.}Introduction}{3}} +\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {2.}Observations}{3}} +\citation{hag86} +\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {3.}Helicity Amplitudes}{4}} +\@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.1.}Formalism}{4}} +\newlabel{hairymath}{{3.1.}{4}} +\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {4.}Floating material and so forth}{5}} +\@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {A.}Floating material and so forth}{6}} +\@writefile{lot}{\string\contentsline\space {table}{\string\numberline\space {1}{\ignorespaces Terribly relevant tabular information.}}{7}} +\newlabel{tbl-1}{{1}{7}} +\@writefile{lot}{\string\contentsline\space {table}{\string\numberline\space {1A}{\ignorespaces More terribly relevant tabular information. Notice that it is possible to have more than one table on a page where each can have associated independent notes. We extend the caption with further pointless drivel to see the effects of lengthy text on caption formatting.}}{8}} +\newlabel{tbl-2}{{1A}{8}} +\@input{samp2tbl.aux} +\bibcite{aur82}{Auri{\accent 18 e}re 1982} +\bibcite{can78}{Canizares et al.\ 1978} +\bibcite{djo84}{Djorgovski and King 1984} +\bibcite{hag86}{Hagiwara and Zeppenfeld 1986} +\bibcite{har84}{Harris and van den Bergh 1984} +\bibcite{hen61}{H{\accent 18 e}non 1961} +\bibcite{kin66}{King 1966} +\bibcite{kin75}{King 1975} +\bibcite{kin68}{King et al.,\ 1968} +\bibcite{kro84}{Kron et al.,\ 1984} +\bibcite{lyn68}{Lynden-Bell and Wood 1968} +\bibcite{new78}{Newell and O'Neil 1978} +\bibcite{ort85}{Ortolani et al.,\ 1985} +\bibcite{pet76}{Peterson 1976} +\bibcite{spi85}{Spitzer 1985} +\@writefile{lof}{\string\contentsline\space {figure}{\string\numberline\space {1}{\ignorespaces We use the \lecurrentfam =0\unhbox \voidb@x L\raise .42ex \hbox {$\fam \lecurrentfam \scriptstyle \kern -.3em A$}\kern -.15emT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\ {\string\ptt\space figure} environment syntax to set this figure caption.}}{16}} diff --git a/obsolete/macros/latex209/contrib/aasmacros/sample2.tex b/obsolete/macros/latex209/contrib/aasmacros/sample2.tex new file mode 100644 index 0000000000..b3f1b57de6 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/sample2.tex @@ -0,0 +1,503 @@ +% SAMPLE2.TEX -- AASTeX macro package tutorial paper. + +% The first item in a LaTeX file must be a \documentstyle command to +% declare the overall style of the paper. The two \documentstyle lines +% that are relevant for the AASTeX macros are shown; one is commented out +% so that the file can be processed. + +\documentstyle[12pt,aasms]{article} +%\documentstyle[11pt,aaspp]{article} +%\documentstyle[aaspptwo]{article} + +% There are two optional preamble declarations that enable to user to +% control certain formatting options. \tighten is used with the +% aasms substyle to turn off double-spacing; don't do this for +% actual manuscripts intended for editorial review, only for your friends. +% +% \eqsecnum changes the way equations are numbered. Normally, +% equations are just numbered sequentially through the entire paper. +% If \eqsecnum appears in the preamble, equation numbers will +% be sequential through each section, and will be formatted "(sec-eqn)", +% where sec is the current section number and eqn is the number of the +% equation within that section. \eqsecnum can be used with +% either substyle. + +%\tighten +%\eqsecnum + +% Here's some slug-line data. They're never printed out by these +% substyles because they're only relevant to the actual publication +% process, and these styles aren't used in publication (yet). +% The receipt and acceptance dates would be filled in by the editorial +% staff on the appropriate dates; they are commented out in this sample +% so that the abstract environment prints out rules so that the dates +% can be typed onto the manuscript according to current practice. + +\received{4 August 1988} +%\accepted{23 September 1988} +\journalid{337}{15 January 1989} +\articleid{11}{14} + +% This is the end of the "preamble". Now we wish to start with the +% real material for the paper, which we indicate with \begin{document}. +% Following the \begin{document} command is the front matter for the +% paper, viz., the title, author and address data, the abstract, and +% any keywords or subject headings that are relevant. + +\slugcomment{Not to appear in Nonlearned J., 45.} + +\begin{document} + +\title{Collapsed Cores in Globular Clusters,\\ + Gauge-Boson Couplings,\\ + and AAS\TeX\ Macro Sample} + +\author{S. Djorgovski\altaffilmark{1,2,3} and Ivan R. King\altaffilmark{1}} +\affil{Astronomy Department, University of California, + Berkeley, CA 94720} + +\author{C. D. Biemesderfer\altaffilmark{4,5}} +\affil{National Optical Astronomy Observatories, Tucson, AZ 85719} + +\and + +\author{R. J. Hanisch\altaffilmark{5}} +\affil{Space Telescope Science Institute, Baltimore, MD 21218} + +% Notice that each of these authors has alternate affiliations, which +% are identified by the \altaffilmark after each name. The actual alternate +% affiliation information is typeset in footnotes at the bottom of the +% first page, and the text itself is specified in \altaffiltext commands. +% There is a separate \altaffiltext for each alternate affiliation +% indicated above. + +\altaffiltext{1}{Visiting Astronomer, Cerro Tololo Inter-American Observatory. +CTIO is operated by AURA, Inc.\ under contract to the National Science +Foundation.} +\altaffiltext{2}{Society of Fellows, Harvard University.} +\altaffiltext{3}{present address: Center for Astrophysics, + 60 Garden Street, Cambridge, MA 02138} +\altaffiltext{4}{Visiting Programmer, Space Telescope Science Institute} +\altaffiltext{5}{Patron, Alonso's Bar and Grill} + +% The abstract environment prints out the receipt and acceptance dates +% if they are relevant for the journal style. For the aasms style, they +% will print out as horizontal rules for the editorial staff to type +% on, so long as the author does not include \received and \accepted +% commands. This should not be done, since \received and \accepted dates +% are not known to the author. + +\begin{abstract} +This is a preliminary report on surface photometry of the major +fraction of known globular clusters, to see which of them show the signs +of a collapsed core. +We also show off the results of some recreational mathematics, +and give pause to consider the dangers of the too fertile mind. +\end{abstract} + +\keywords{clusters: globular, peanut --- bosons: bozos} +%\keywords{globular clusters,peanut clusters,bosons,bozos} + +% That's it for the front matter. On to the main body of the paper. +% We'll only put in tutorial remarks at the beginning of each section +% so you can see entire sections together. +% +% In the first two sections, you should notice the use of the LaTeX \cite +% command to identify citations. The citations are tied to the +% reference list via symbolic tags. We have chosen the first three +% characters of the first author's name plus the last two numeral of the +% year of publication. The corresponding reference has a \bibitem +% command in the reference list below. +% +% Please go to the LaTeX manual for a complete description of the +% \cite-\bibitem mechanism. + +\section{Introduction} + +A focal problem today in the dynamics of globular clusters is +core collapse. It has been predicted by theory +for decades (\cite{hen61,lyn68,spi85}), but +observation has been less alert to the phenomenon. For many years the +central brightness peak in M15 (\cite{kin75,new78}) +seemed a unique anomaly. Then Auri\`ere (1982) suggested a central peak +in NGC 6397, and a limited photographic survey of ours (\cite[Paper I]{djo84}) +found three more cases, including NGC 6624, whose +sharp center had often been remarked on (e.g., \cite{can78}). + +\section{Observations} + +All our observations were short direct exposures with CCD's. At +Lick Observatory we used a TI 500$\times$500 chip +and a GEC 575$\times$385, on the 1-m Nickel reflector. The only +filter available at Lick was red. At CTIO we used a GEC 575$\times$385, with +$B, V,$ and $R$ filters, and an RCA 512$\times$320, with $U, B, V, R,$ and $I$ +filters, on the 1.5-m reflector. In the CTIO observations we tried to +concentrate on the shortest practicable wavelengths; but faintness, reddening, +and poor short-wavelength sensitivity often kept us from observing in $U$ or +even in $B$. All four cameras had scales of the order of 0.4 arcsec/pixel, and +our field sizes were around 3 arcmin. + +The CCD images are unfortunately not always suitable, for very poor +clusters or for clusters with large cores. Since the latter are easily +studied by other means, we augmented our own CCD profiles by collecting +from the literature a number of star-count +profiles (\cite{kin68,pet76,har84,ort85}), +as well as photoelectric profiles (\cite{kin66}) and +electronographic profiles (\cite{kro84}). +In a few cases we judged normality by eye estimates on one of the Sky +Surveys. + +% In this section, we see the use of the \subsection command to set off +% an independent subsection. We only have one here; usually there would +% be several. +% +% We show the use of several of the displayed math environments described +% in the User Guide, and you get a healthy dose of mathematical typesetting +% examples. Also, observe the use of the LaTeX \label command after the +% \subsection to give a symbolic tag to the subsection for cross-referencing +% in a \ref command. LaTeX automatically numbers the sections, equations, +% tables, etc. as it goes, so in general you don't know what number something +% is going to have. We'll refer to the "hairymath" section a little later. + +\section{Helicity Amplitudes} + +It has been realized that helicity amplitudes provide a convenient means +for Feynman diagram\footnote{Footnotes can be inserted like this.} +evaluations. These amplitude-level techniques +are particularly convenient for calculations involving many Feynman +diagrams, where the usual trace techniques for the amplitude +squared becomes unwieldy. Our calculations use the helicity techniques +developed by other authors (\cite{hag86}); we briefly summarize below. + +\subsection{Formalism} \label{hairymath} + +A tree-level amplitude in $e^+e^-$ collisions can be expressed in +terms of fermion strings of the form +\begin{equation} +\bar v(p_2,\sigma_2)P_{-\tau}\not\!a_1\not\!a_2\cdots +\not\!a_nu(p_1,\sigma_1)\;, +\end{equation} +where $p$ and $\sigma$ label the initial $e^{\pm}$ four-momenta +and helicities $(\sigma = \pm 1)$, $\not\!a_i=a^\mu_i\gamma_\nu$ +and $P_\tau=\frac{1}{2}(1+\tau\gamma_5)$ is a chirality projection +operator $(\tau = \pm1)$. The $a^\mu_i$ may be formed from particle +four-momenta, gauge-boson polarization vectors or fermion strings with +an uncontracted Lorentz index associated with final-state fermions. + +In the chiral representation the $\gamma$ matrices are expressed +in terms of $2\times 2$ Pauli matrices $\sigma$ and the unit matrix 1 as +\begin{mathletters} +\begin{eqnarray} +\gamma^\mu \: & = & +\: \left( +\begin{array}{cc} +0 & \sigma^\mu_+ \\ +\sigma^\mu_- & 0 +\end{array} \; \; \right)\;, +\;\gamma^5= \left( +\begin{array}{cc} +-1 & \; 0\\ +0 & \; 1 +\end{array} \; \; \right) \;, \nonumber \\ & & \\ +\sigma^\mu_{\pm} \:& = & \: ({\bf 1} ,\pm \sigma)\;, \nonumber +\end{eqnarray} +\end{mathletters} +giving +\begin{equation} +\not\!a= \left( +\begin{array}{cc} +0 & (\not\!a)_+\\ +(\not\!a)_- & 0 +\end{array}\right),\;(\not\!a)_\pm=a_\mu\sigma^\mu_\pm\;, +\end{equation} +The spinors are expressed in terms of two-component Weyl spinors as +\begin{equation} +u=\left( +\begin{array}{c} +(u)_-\\ +(u)_+ +\end{array}\right),\;v={\bf (}(v)^\dagger_+{\bf ,} \; (v)^\dagger_-{\bf )}\;. +\eqnum{3A} +\end{equation} +The Weyl spinors are given in terms of helicity eigenstates +$\chi_\lambda(p)$ with $\lambda=\pm1$ by +\begin{eqnarray} +u(p,\lambda)_\pm & = & (E\pm\lambda|{\bf p}|)^{1/2}\chi_\lambda(p)\;, +\nonumber \\ & & \\ +v(p,\lambda)_\pm & = & \pm\lambda(E\mp\lambda|{\bf p}|)^{1/2}\chi +_{-\lambda}(p) \nonumber +\end{eqnarray} + +% In these sections, we see some additional math-related markup, and we +% have references to one of the tables (occurs later in the document) +% and the "hairymath" section immediately preceding this one. +% +% In the second paragraph, note the use of in-text math ($stuff$) including +% a couple of the miscellaneous symbol commands defined in the AASTeX macro +% package. +% +% This is the last section of the paper, so there is an \acknowledgments +% section at the end of the main body. + +\section{Floating material and so forth} + +Consider a task that computes profile parameters for a modified +Lorentzian of the form +\begin{equation} +I = \frac{1}{1 + d_{1}^{P (1 + d_{2} )}} +\end{equation} +where +\begin{displaymath} +d_{1} = \sqrt{ \left( \begin{array}{c} \frac{x_{1}}{R_{maj}} +\end{array} \right) ^{2} + +\left( \begin{array}{c} \frac{y_{1}}{R_{min}} \end{array} \right) ^{2} } +\end{displaymath} +\begin{displaymath} +d_{2} = \sqrt{ \left( \begin{array}{c} \frac{x_{1}}{P R_{maj}} +\end{array} \right) ^{2} + +\left( \begin{array}{c} \case{y_{1}}{P R_{min}} \end{array} \right) ^{2} } +\end{displaymath} +\[x_{1} = (x - x_{0}) \cos \Theta + (y - y_{0}) \sin \Theta \] +\[y_{1} = -(x - x_{0}) \sin \Theta + (y - y_{0}) \cos \Theta \] + +In these expressions $x_{0}$,$y_{0}$ is the star center, and $\Theta$ is the +angle with the $x$ axis. Results of this task are shown in table~\ref{tbl-1}. +It is not clear how these sorts of analyses may affect determination of +$M_{\sun}$ and $M_{\earth}$, but the assumption is that the alternate results +should be less than 90\deg\ out of phase with previous values. +We have no observations of \ion{Ca}{2}. +Roughly \slantfrac{4}{5} of the electronically submitted abstracts +for AAS meetings are error-free. + +\acknowledgments + +We are grateful to V. Barger, T. Han, and R. J. N. Phillips for +doing the math in section~\ref{hairymath}. + +\appendix +\section{Floating material and so forth} + +Consider a task that computes profile parameters for a modified +Lorentzian of the form +\begin{equation} +I = \frac{1}{1 + d_{1}^{P (1 + d_{2} )}} +\end{equation} +where +\begin{mathletters} +\begin{displaymath} +d_{1} = \frac{3}{4} \sqrt{ \left( \begin{array}{c} \frac{x_{1}}{R_{maj}} +\end{array} \right) ^{2} + +\left( \begin{array}{c} \frac{y_{1}}{R_{min}} \end{array} \right) ^{2} } +\end{displaymath} +\begin{equation} +d_{2} = \case{3}{4} \sqrt{ \left( \begin{array}{c} \frac{x_{1}}{P R_{maj}} +\end{array} \right) ^{2} + +\left( \begin{array}{c} \case{y_{1}}{P R_{min}} \end{array} \right) ^{2} } +\end{equation} +\begin{eqnarray} +x_{1} & = & (x - x_{0}) \cos \Theta + (y - y_{0}) \sin \Theta\\ +y_{1} & = & -(x - x_{0}) \sin \Theta + (y - y_{0}) \cos \Theta +\end{eqnarray} +\end{mathletters} + +For completeness, here is one last equation. +\begin{equation} +e = mc^2 +\end{equation} + +% That's the end of the main body of the paper. Now we will have some +% back matter. +% +% Tables are usually supposed to be submitted one per page, following +% the main body of the text, so before each table we would have a +% \clearpage to force a page break at that point. There should also +% be a \clearpage after the last table so that it gets forced onto +% its own page, too. +% +% The tabular data is aligned within the "tabular" environment. Observe +% that our tabular environment is embedded within a "center" environment, +% which is in turn inside a "table" environment. Exercise for the reader: +% Why do you think we used the "table*" environment? +% +% We need the table environment for autonumbering and caption generation, +% which is why it is not enough to have a centered tabular. +% +% Within the tabular environment, please note that we use no vertical +% rules, and the only horizontal rule is the \tableline (*not* an \hline) +% which delimits the column headings from the tabular data. Also note +% that a couple of the column headings require special annotation, i.e., +% footnotes for tables. They are marked and tagged with \tablenotemark. +% \tablenotemarks could be placed on individual data entries as well, +% but be careful not to go berserk doing this. + +\clearpage + +\begin{table*} +\begin{center} +\begin{tabular}{crrrrrrrrrrr} +Star & Height & $d_{x}$ & $d_{y}$ & $n$ & $\chi^2$ & $R_{maj}$ & $R_{min}$ & +\multicolumn{1}{c}{$P$\tablenotemark{a}} & $P R_{maj}$ & $P R_{min}$ & +\multicolumn{1}{c}{$\Theta$\tablenotemark{b}} \\ +\tableline +1 &33472.5 &-0.1 &0.4 &53 &27.4 &2.065 &1.940 &3.900 &68.3 &116.2 &-27.639\\ +2 &27802.4 &-0.3 &-0.2 &60 &3.7 &1.628 &1.510 &2.156 &6.8 &7.5 &-26.764\\ +3 &29210.6 &0.9 &0.3 &60 &3.4 &1.622 &1.551 &2.159 &6.7 &7.3 &-40.272\\ +4 &32733.8 &-1.2 &-0.5 &41 &54.8 &2.282 &2.156 &4.313 &117.4 &78.2 &-35.847\\ +5 & 9607.4 &-0.4 &-0.4 &60 &1.4 &1.669 &1.574 &2.343 &8.0 &8.9 &-33.417\\ +6 &31638.6 &1.6 &0.1 &39 &315.2 & 3.433 &3.075 &7.488 &92.1 &25.3 &-12.052\\ +\end{tabular} +\end{center} + +% Text for table footnotes must follow the tabular environment but must +% be inside the table environment. Note that it is OK to put \ref's +% in \tablenotetext's. + +\tablenotetext{a}{Sample footnote for table~\ref{tbl-1}} +\tablenotetext{b}{Another sample footnote for table~\ref{tbl-1}} +\tablenotetext{c}{Footnote with no call out} +\tablenotetext{d}{Another footnote with no call out} +\tablenotetext{e}{A further additional footnote with no call out} + +% The caption contains only the caption text. The "Table N." identification +% is generated by the \caption command on its own. +% +% It is necessary to \label tables and figures *after* the \caption has been +% specified because the table/figure number is generated by \caption, not +% by \begin{whatever}. + +\caption{Terribly relevant tabular information.} \label{tbl-1} + +\end{table*} + +\begin{table*} +\begin{center} +\begin{tabular}{crrrrrrrrrrr} +Star & Height & $d_{x}$ & $d_{y}$ & $n$ & $\chi^2$ & $R_{maj}$ & $R_{min}$ & +\multicolumn{1}{c}{$P$\tablenotemark{t}} & $P R_{maj}$ & $P R_{min}$ & +\multicolumn{1}{c}{$\Theta$\tablenotemark{u}} \\ +\tableline +1 &33472.5 &-0.1 &0.4 &53 &27.4 &2.065 &1.940 &3.900 &68.3 &116.2 &-27.639\\ +2 &27802.4 &-0.3 &-0.2 &60 &3.7 &1.628 &1.510 &2.156 &6.8 &7.5 &-26.764\\ +3 &29210.6 &0.9 &0.3 &60 &3.4 &1.622 &1.551 &2.159 &6.7 &7.3 &-40.272\\ +4 &32733.8 &-1.2\tablenotemark{v} &-0.5 &41 &54.8 &2.282 &2.156 &4.313 &117.4 &78.2 &-35.847\\ +5 & 9607.4 &-0.4 &-0.4 &60 &1.4 &1.669\tablenotemark{v} &1.574 &2.343 &8.0 &8.9 &-33.417\\ +6 &31638.6 &1.6 &0.1 &39 &315.2 & 3.433 &3.075 &7.488 &92.1 &25.3 &-12.052\\ +\end{tabular} +\end{center} + +% Text for table footnotes must follow the tabular environment but must +% be inside the table environment. Note that it is OK to put \ref's +% in \tablenotetext's. + +\tablenotetext{t}{Sample footnote for table~\ref{tbl-2}} +\tablenotetext{v}{Yet another sample footnote for table~\ref{tbl-2}} +\tablenotetext{u}{Another sample footnote for table~\ref{tbl-2}} + +% The caption contains only the caption text. The "Table N." identification +% is generated by the \caption command on its own. +% +% It is necessary to \label tables and figures *after* the \caption has been +% specified because the table/figure number is generated by \caption, not +% by \begin{whatever}. + +\tablenum{1A} +\caption{ +More terribly relevant tabular information. Notice that it is possible +to have more than one table on a page where each can have associated +independent notes. We extend the caption with +further pointless drivel to see the effects of lengthy text on +caption formatting.} \label{tbl-2} + +\tablecomments{We can also attach a long-ish paragraph of explanatory +material to a table. This would be done for journals where long +captions are not permitted (usually because the caption is regarded +as the table's title). A different command would be used if the +paragraph contained a list of references for the table.} + +\end{table*} + +\include{samp2tbl} + +% This is the last table for this paper (as well as the first), so we +% should follow it with a \clearpage. In order to force all the floating +% tables out of their buffers and onto vertical page lists, we must use +% \clearpage rather than \newpage. + +\clearpage + +% Now comes the reference list. In this document, we used \cite to call +% out citations, so we must use \bibitem in the reference list, which +% means we use the LaTeX thebibliography environment. Please note that +% \begin{thebibliography} is followed by a null argument. If you forget +% this, mayhem ensues, and LaTeX will say "Perhaps a missing item?" when +% you run it. Do not call us, do not send mail when this happens. Put +% the silly {} after the \begin{thebibliography}. +% +% Each reference has a \bibitem command to define the citation format +% and the symbolic tag, as well as a \reference command which sets up +% formatting parameters for the reference list itself. +% +% If we had not bothered with the \cite-\bibitem business, calling out +% the references outselves, the reference list could be enclosed in +% a references environment (\begin{references} has no null argument), +% and there would be no need for the leading \bibitem's. + +\begin{thebibliography}{} +\bibitem[Auri\`ere 1982]{aur82} \reference Auri\`ere, M. 1982, \astap, + 109, 301 +\bibitem[Canizares et al.\ 1978]{can78} \reference Canizares, C. R., + Grindlay, J. E., Hiltner, W. A., Liller, W., and + McClintock, J. E. 1978, \apj, 224, 39 +\bibitem[Djorgovski and King 1984]{djo84} \reference Djorgovski, S., + and King, I. R. 1984, \apjlett, 277, L49 +\bibitem[Hagiwara and Zeppenfeld 1986]{hag86} \reference Hagiwara, K., and + Zeppenfeld, D. 1986, Nucl.Phys., 274, 1 +\bibitem[Harris and van den Bergh 1984]{har84} \reference Harris, W. E., + and van den Bergh, S. 1984, \aj, 89, 1816 +\bibitem[H\`enon 1961]{hen61} \reference H\'enon, M. 1961, Ann.d'Ap., 24, 369 +\bibitem[King 1966]{kin66} \reference King, I. R. 1966, \aj, 71, 276 +\bibitem[King 1975]{kin75} \reference King, I. R. 1975, Dynamics of + Stellar Systems, A. Hayli, Dordrecht: Reidel, 1975, 99 +\bibitem[King et al.,\ 1968]{kin68} \reference King, I. R., Hedemann, E., + Hodge, S. M., and White, R. E. 1968, \aj, 73, 456 +\bibitem[Kron et al.,\ 1984]{kro84} \reference Kron, G. E., Hewitt, A. V., + and Wasserman, L. H. 1984, \pasp, 96, 198 +\bibitem[Lynden-Bell and Wood 1968]{lyn68} \reference Lynden-Bell, D., + and Wood, R. 1968, \mnras, 138, 495 +\bibitem[Newell and O'Neil 1978]{new78} \reference Newell, E. B., + and O'Neil, E. J. 1978, \apjsupp, 37, 27 +\bibitem[Ortolani et al.,\ 1985]{ort85} \reference Ortolani, S., Rosino, L., + and Sandage, A. 1985, \aj, 90, 473 +\bibitem[Peterson 1976]{pet76} \reference Peterson, C. J. 1976, \aj, 81, 617 +\bibitem[Spitzer 1985]{spi85} \reference Spitzer, L. 1985, Dynamics of + Star Clusters, J. Goodman and P. Hut, Dordrecht: Reidel, 109 +\end{thebibliography} + +% Finally, we have figure captions. Usually these must be on a separate +% page, although unlike table, it is often permissible to have several +% figure captions on the same page. We force the page break between +% the reference list and the figure captions. +% +% The \caption command in the figure environment works like the one in the +% table environment (it's the same one, actually), except that this one +% produces identification text that reads "Figure N." + +\clearpage + +\begin{figure} +\plotone{sgi9259.eps} +\caption{We use the \LaTeX\ {\tt figure} environment syntax to set this +figure caption.} +\end{figure} + +% That's all, folks. +% +% The technique of segregating major semantic components of the document +% within "environments" is a very good one, but you as an author have to +% come up with a way of making sure each \begin{whatzit} has a corresponding +% \end{whatzit}. If you miss one, LaTeX will probably complain a great +% deal during the composition of the document. Occasionally, you get away +% with it right up to the \end{document}, in which case, you will see +% "\begin{whatzit} ended by \end{document}". + +\end{document} diff --git a/obsolete/macros/latex209/contrib/aasmacros/samptbls.tex b/obsolete/macros/latex209/contrib/aasmacros/samptbls.tex new file mode 100644 index 0000000000..ed2dac1cd4 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/samptbls.tex @@ -0,0 +1,11 @@ +% SAMPTBLS.TEX -- AASTEX sample plano tables. + +\documentstyle[apjpt]{article} + +%\includeonly{table1} + +\begin{document} +\include{table1} +\include{table2} +\include{table3} +\end{document} diff --git a/obsolete/macros/latex209/contrib/aasmacros/sgi9259.eps b/obsolete/macros/latex209/contrib/aasmacros/sgi9259.eps new file mode 100644 index 0000000000..5ecc5671ec --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/sgi9259.eps @@ -0,0 +1,377 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: IRAF SGI plot +%%Creator: sgieps +%%CreationDate: Fri May 10 04:18:42 1991 +%%BoundingBox: 72 72 540 384 +%%EndComments +/devppi 300 def +/userppi 72 def +/pagewidth 8.5 def +/devpixtouser { userppi mul devppi div } def +/setscale { 1 devpixtouser 1 devpixtouser scale } def +/pagetolandscape 90 def +/setcoords { pagewidth userppi mul 0 translate + pagetolandscape rotate setscale } def +/setjoins { 1 setlinejoin 1 setlinecap } def +gsave setscale setjoins +/getpoint { + currentfile read pop 8#77 and 6 bitshift + currentfile read pop 8#77 and or + currentfile read pop 8#77 and 6 bitshift + currentfile read pop 8#77 and or + } def +/m { getpoint moveto } def +/d { getpoint lineto } def +01 setlinewidth +01 setlinewidth +m NxXh d NxXP m NyXh d NyXP m NtXh d N|Xh m NtXP d N|XP m OEXh d OEXP +m OFXh d OFXP m OAXh d OOXh m OOXh d ORXg m ORXg d OTXe m OTXe d OUXc +m OUXc d OUXa m OUXa d OTX_ m OTX_ d ORX^ m ORX^ d OOX] m OOX] d OFX] +m OOXh d OQXg m OQXg d ORXe m ORXe d OTXc m OTXc d OTXa m OTXa d ORX_ +m ORX_ d OQX^ m OQX^ d OOX] m OAXP d OIXP m OMX] d OQXS m OQXS d OTXP +m OTXP d OVXP m OVXP d OWXS m OMX] d OOXZ m OOXZ d OTXP m OlXd d OmXb +m OmXb d OmXh m OmXh d OlXd m OlXd d OjXg m OjXg d OfXh m OfXh d OdXh +m OdXh d O`Xg m O`Xg d O^Xd m O^Xd d O]Xb m O]Xb d O\X_ m O\X_ d O\XY +m O\XY d O]XV m O]XV d O^XT m O^XT d O`XQ m O`XQ d OdXP m OdXP d OfXP +m OfXP d OjXQ m OjXQ d OlXT m OlXT d OmXV m OdXh d ObXg m ObXg d O_Xd +m O_Xd d O^Xb m O^Xb d O]X_ m O]X_ d O]XY m O]XY d O^XV m O^XV d O_XT +m O_XT d ObXQ m ObXQ d OdXP m PSXd d PSXP m PIXZ d P^XZ m P}Xc d Q@Xd +m Q@Xd d QCXh m QCXh d QCXP m QBXg d QBXP m P}XP d QHXP m QXXh d QTXg +m QTXg d QRXc m QRXc d QQX^ m QQX^ d QQXZ m QQXZ d QRXU m QRXU d QTXQ +m QTXQ d QXXP m QXXP d QZXP m QZXP d Q^XQ m Q^XQ d Q`XU m Q`XU d QaXZ +m QaXZ d QaX^ m QaX^ d Q`Xc m Q`Xc d Q^Xg m Q^Xg d QZXh m QZXh d QXXh +m QXXh d QVXg m QVXg d QTXe m QTXe d QSXc m QSXc d QRX^ m QRX^ d QRXZ +m QRXZ d QSXU m QSXU d QTXS m QTXS d QVXQ m QVXQ d QXXP m QZXP d Q]XQ +m Q]XQ d Q^XS m Q^XS d Q_XU m Q_XU d Q`XZ m Q`XZ d Q`X^ m Q`X^ d Q_Xc +m Q_Xc d Q^Xe m Q^Xe d Q]Xg m Q]Xg d QZXh m QiXc d QkXb m QkXb d QiXa +m QiXa d QhXb m QhXb d QhXc m QhXc d QiXe m QiXe d QkXg m QkXg d QnXh +m QnXh d QsXh m QsXh d QvXg m QvXg d QwXe m QwXe d QxXc m QxXc d QxXa +m QxXa d QwX_ m QwX_ d QtX] m QtX] d QnXZ m QnXZ d QlXY m QlXY d QiXW +m QiXW d QhXT m QhXT d QhXP m QsXh d QuXg m QuXg d QvXe m QvXe d QwXc +m QwXc d QwXa m QwXa d QvX_ m QvX_ d QsX] m QsX] d QnXZ m QhXS d QiXT +m QiXT d QlXT m QlXT d QqXQ m QqXQ d QuXQ m QuXQ d QwXS m QwXS d QxXT +m QlXT d QqXP m QqXP d QvXP m QvXP d QwXQ m QwXQ d QxXT m QxXT d QxXV +m RCXc d REXd m REXd d RIXh m RIXh d RIXP m RHXg d RHXP m RCXP d RMXP +m ReXd d RcXc m RcXc d ReXb m ReXb d RfXc m RfXc d RfXd m RfXd d ReXg +m ReXg d RbXh m RbXh d R_Xh m R_Xh d R[Xg m R[Xg d RYXd m RYXd d RXXb +m RXXb d RWX^ m RWX^ d RWXW m RWXW d RXXT m RXXT d RZXQ m RZXQ d R^XP +m R^XP d R`XP m R`XP d RcXQ m RcXQ d RfXT m RfXT d RgXW m RgXW d RgXX +m RgXX d RfX[ m RfX[ d RcX^ m RcX^ d R`X_ m R`X_ d R_X_ m R_X_ d R[X^ +m R[X^ d RYX[ m RYX[ d RXXX m R_Xh d R\Xg m R\Xg d RZXd m RZXd d RYXb +m RYXb d RXX^ m RXX^ d RXXW m RXXW d RYXT m RYXT d R[XQ m R[XQ d R^XP +m R`XP d RbXQ m RbXQ d ReXT m ReXT d RfXW m RfXW d RfXX m RfXX d ReX[ +m ReX[ d RbX^ m RbX^ d R`X_ m SQXh d SQXP m SRXh d SRXP m SQX] d SNX_ +m SNX_ d SLX` m SLX` d SJX` m SJX` d SFX_ m SFX_ d SDX] m SDX] d SCXY +m SCXY d SCXW m SCXW d SDXT m SDXT d SFXQ m SFXQ d SJXP m SJXP d SLXP +m SLXP d SNXQ m SNXQ d SQXT m SJX` d SGX_ m SGX_ d SEX] m SEX] d SDXY +m SDXY d SDXW m SDXW d SEXT m SEXT d SGXQ m SGXQ d SJXP m SMXh d SRXh +m SQXP d SUXP m S]X^ d S]X] m S]X] d S\X] m S\X] d S\X^ m S\X^ d S]X_ +m S]X_ d S`X` m S`X` d SdX` m SdX` d SgX_ m SgX_ d ShX^ m ShX^ d SiX[ +m SiX[ d SiXT m SiXT d SjXQ m SjXQ d SkXP m ShX^ d ShXT m ShXT d SiXQ +m SiXQ d SkXP m SkXP d SmXP m ShX[ d SgXZ m SgXZ d S`XY m S`XY d S\XX +m S\XX d S[XV m S[XV d S[XT m S[XT d S\XQ m S\XQ d S`XP m S`XP d ScXP +m ScXP d SfXQ m SfXQ d ShXT m S`XY d S]XX m S]XX d S\XV m S\XV d S\XT +m S\XT d S]XQ m S]XQ d S`XP m SuXh d SuXU m SuXU d SvXQ m SvXQ d SxXP +m SxXP d SzXP m SzXP d S}XQ m S}XQ d S~XT m SvXh d SvXU m SvXU d SwXQ +m SwXQ d SxXP m SqX` d SzX` m TFX^ d TFX] m TFX] d TEX] m TEX] d TEX^ +m TEX^ d TFX_ m TFX_ d THX` m THX` d TMX` m TMX` d TOX_ m TOX_ d TQX^ +m TQX^ d TRX[ m TRX[ d TRXT m TRXT d TSXQ m TSXQ d TTXP m TQX^ d TQXT +m TQXT d TRXQ m TRXQ d TTXP m TTXP d TUXP m TQX[ d TOXZ m TOXZ d THXY +m THXY d TEXX m TEXX d TDXV m TDXV d TDXT m TDXT d TEXQ m TEXQ d THXP +m THXP d TLXP m TLXP d TNXQ m TNXQ d TQXT m THXY d TFXX m TFXX d TEXV +m TEXV d TEXT m TEXT d TFXQ m TFXQ d THXP m TxXg d TwXe m TwXe d TxXd +m TxXd d TyXe m TyXe d TyXg m TyXg d TxXh m TxXh d TvXh m TvXh d TsXg +m TsXg d TrXd m TrXd d TrXP m TvXh d TtXg m TtXg d TsXd m TsXd d TsXP +m ToX` d TwX` m ToXP d TwXP m U@X^ d U@X] m U@X] d T?X] m T?X] d T?X^ +m T?X^ d U@X_ m U@X_ d UBX` m UBX` d UGX` m UGX` d UIX_ m UIX_ d UKX^ +m UKX^ d ULX[ m ULX[ d ULXT m ULXT d UMXQ m UMXQ d UNXP m UKX^ d UKXT +m UKXT d ULXQ m ULXQ d UNXP m UNXP d UOXP m UKX[ d UIXZ m UIXZ d UBXY +m UBXY d T?XX m T?XX d T~XV m T~XV d T~XT m T~XT d T?XQ m T?XQ d UBXP +m UBXP d UFXP m UFXP d UHXQ m UHXQ d UKXT m UBXY d U@XX m U@XX d T?XV +m T?XV d T?XT m T?XT d U@XQ m U@XQ d UBXP m UWXh d UWXP m UXXh d UXXP +m UXX] d U[X_ m U[X_ d U]X` m U]X` d U_X` m U_X` d UcX_ m UcX_ d UeX] +m UeX] d UfXY m UfXY d UfXW m UfXW d UeXT m UeXT d UcXQ m UcXQ d U_XP +m U_XP d U]XP m U]XP d U[XQ m U[XQ d UXXT m U_X` d UbX_ m UbX_ d UdX] +m UdX] d UeXY m UeXY d UeXW m UeXW d UdXT m UdXT d UbXQ m UbXQ d U_XP +m UTXh d UXXh m UpX` d UpXP m UqX` d UqXP m UqXY d UrX] m UrX] d UtX_ +m UtX_ d UwX` m UwX` d UzX` m UzX` d U{X_ m U{X_ d U{X^ m U{X^ d UzX] +m UzX] d UyX^ m UyX^ d UzX_ m UlX` d UqX` m UlXP d UtXP m VCXh d VBXg +m VBXg d VCXe m VCXe d VEXg m VEXg d VCXh m VCX` d VCXP m VEX` d VEXP +m V@X` d VEX` m V@XP d VHXP m V\X] d V[X[ m V[X[ d V\XZ m V\XZ d V]X[ +m V]X[ d V]X] m V]X] d V[X_ m V[X_ d VXX` m VXX` d VUX` m VUX` d VQX_ +m VQX_ d VOX] m VOX] d VNXY m VNXY d VNXW m VNXW d VOXT m VOXT d VQXQ +m VQXQ d VUXP m VUXP d VWXP m VWXP d V[XQ m V[XQ d V]XT m VUX` d VSX_ +m VSX_ d VPX] m VPX] d VOXY m VOXY d VOXW m VOXW d VPXT m VPXT d VSXQ +m VSXQ d VUXP m VfX^ d VfX] m VfX] d VeX] m VeX] d VeX^ m VeX^ d VfX_ +m VfX_ d ViX` m ViX` d VmX` m VmX` d VpX_ m VpX_ d VqX^ m VqX^ d VrX[ +m VrX[ d VrXT m VrXT d VsXQ m VsXQ d VtXP m VqX^ d VqXT m VqXT d VrXQ +m VrXQ d VtXP m VtXP d VuXP m VqX[ d VpXZ m VpXZ d ViXY m ViXY d VeXX +m VeXX d VdXV m VdXV d VdXT m VdXT d VeXQ m VeXQ d ViXP m ViXP d VlXP +m VlXP d VnXQ m VnXQ d VqXT m ViXY d VfXX m VfXX d VeXV m VeXV d VeXT +m VeXT d VfXQ m VfXQ d ViXP m V}Xh d V}XU m V}XU d V?XQ m V?XQ d WAXP +m WAXP d WCXP m WCXP d WFXQ m WFXQ d WGXT m V?Xh d V?XU m V?XU d W@XQ +m W@XQ d WAXP m VzX` d WCX` m WOXh d WNXg m WNXg d WOXe m WOXe d WPXg +m WPXg d WOXh m WOX` d WOXP m WPX` d WPXP m WKX` d WPX` m WKXP d WTXP +m W`X` d W]X_ m W]X_ d W[X] m W[X] d WYXY m WYXY d WYXW m WYXW d W[XT +m W[XT d W]XQ m W]XQ d W`XP m W`XP d WcXP m WcXP d WfXQ m WfXQ d WhXT +m WhXT d WjXW m WjXW d WjXY m WjXY d WhX] m WhX] d WfX_ m WfX_ d WcX` +m WcX` d W`X` m W`X` d W^X_ m W^X_ d W\X] m W\X] d W[XY m W[XY d W[XW +m W[XW d W\XT m W\XT d W^XQ m W^XQ d W`XP m WcXP d WeXQ m WeXQ d WgXT +m WgXT d WhXW m WhXW d WhXY m WhXY d WgX] m WgX] d WeX_ m WeX_ d WcX` +m WsX` d WsXP m WtX` d WtXP m WtX] d WvX_ m WvX_ d WzX` m WzX` d W|X` +m W|X` d X@X_ m X@X_ d XAX] m XAX] d XAXP m W|X` d W~X_ m W~X_ d X@X] +m X@X] d X@XP m WoX` d WtX` m WoXP d WxXP m W|XP d XDXP m XaX` d XaXP +m XbX` d XbXP m XbXY d XdX] m XdX] d XfX_ m XfX_ d XhX` m XhX` d XlX` +m XlX` d XmX_ m XmX_ d XmX^ m XmX^ d XlX] m XlX] d XkX^ m XkX^ d XlX_ +m X^X` d XbX` m X^XP d XfXP m XtXY d YBXY m YBXY d YBX[ m YBX[ d YAX^ +m YAX^ d Y@X_ m Y@X_ d X}X` m X}X` d XzX` m XzX` d XvX_ m XvX_ d XtX] +m XtX] d XsXY m XsXY d XsXW m XsXW d XtXT m XtXT d XvXQ m XvXQ d XzXP +m XzXP d X|XP m X|XP d Y@XQ m Y@XQ d YBXT +stroke +m YBXT m YAXY d YAX] m YAX] d Y@X_ m XzX` d XwX_ m XwX_ d XuX] m XuX] +d XtXY m XtXY d XtXW m XtXW d XuXT m XuXT d XwXQ m XwXQ d XzXP m YTX_ +d YVX` m YVX` d YVX] m YVX] d YTX_ m YTX_ d YQX` m YQX` d YMX` m YMX` +d YJX_ m YJX_ d YIX^ m YIX^ d YIX] m YIX] d YJXZ m YJXZ d YLXY m YLXY +d YRXW m YRXW d YTXV m YTXV d YVXU m YIX] d YJX[ m YJX[ d YLXZ m YLXZ +d YRXX m YRXX d YTXW m YTXW d YVXU m YVXU d YVXS m YVXS d YTXQ m YTXQ +d YQXP m YQXP d YMXP m YMXP d YJXQ m YJXQ d YIXT m YIXT d YIXP m YIXP +d YJXQ m Y_X` d Y_XT m Y_XT d Y`XQ m Y`XQ d YcXP m YcXP d YfXP m YfXP +d YiXQ m YiXQ d YlXT m Y`X` d Y`XT m Y`XT d YaXQ m YaXQ d YcXP m YlX` +d YlXP m YmX` d YmXP m Y[X` d Y`X` m YhX` d YmX` m YlXP d YpXP m YxXh +d YxXP m YzXh d YzXP m YuXh d YzXh m YuXP d Y}XP m ZEXh d ZEXU m ZEXU +d ZFXQ m ZFXQ d ZIXP m ZIXP d ZKXP m ZKXP d ZMXQ m ZMXQ d ZNXT m ZFXh +d ZFXU m ZFXU d ZGXQ m ZGXQ d ZIXP m ZBX` d ZKX` m Z`X_ d ZaX` m ZaX` +d ZaX] m ZaX] d Z`X_ m Z`X_ d Z\X` m Z\X` d ZYX` m ZYX` d ZUX_ m ZUX_ +d ZTX^ m ZTX^ d ZTX] m ZTX] d ZUXZ m ZUXZ d ZXXY m ZXXY d Z^XW m Z^XW +d Z`XV m Z`XV d ZaXU m ZTX] d ZUX[ m ZUX[ d ZXXZ m ZXXZ d Z^XX m Z^XX +d Z`XW m Z`XW d ZaXU m ZaXU d ZaXS m ZaXS d Z`XQ m Z`XQ d Z\XP m Z\XP +d ZYXP m ZYXP d ZUXQ m ZUXQ d ZTXT m ZTXT d ZTXP m ZTXP d ZUXQ m SoEk +d SqEi m SqEi d SqEn m SqEn d SoEk m SoEk d SmEm m SmEm d SjEn m SjEn +d SgEn m SgEn d SdEm m SdEm d SbEk m SbEk d S`Ei m S`Ei d S_Ee m S_Ee +d S_E` m S_E` d S`E\ m S`E\ d SbEZ m SbEZ d SdEX m SdEX d SgEW m SgEW +d SjEW m SjEW d SmEX m SmEX d SoEZ m SoEZ d SqE\ m SgEn d SeEm m SeEm +d ScEk m ScEk d SbEi m SbEi d S`Ee m S`Ee d S`E` m S`E` d SbE\ m SbE\ +d ScEZ m ScEZ d SeEX m SeEX d SgEW m SzEn d SzEW m S{En d S{EW m S{Ec +d S}Ee m S}Ee d TAEf m TAEf d TCEf m TCEf d TGEe m TGEe d THEc m THEc +d THEW m TCEf d TEEe m TEEe d TGEc m TGEc d TGEW m SvEn d S{En m SvEW +d S?EW m TCEW d TKEW m TSEd d TSEc m TSEc d TREc m TREc d TREd m TREd +d TSEe m TSEe d TVEf m TVEf d TZEf m TZEf d T]Ee m T]Ee d T^Ed m T^Ed +d T_Eb m T_Eb d T_EZ m T_EZ d T`EX m T`EX d TaEW m T^Ed d T^EZ m T^EZ +d T_EX m T_EX d TaEW m TaEW d TcEW m T^Eb d T]Ea m T]Ea d TVE` m TVE` +d TRE_ m TRE_ d TQE\ m TQE\ d TQEZ m TQEZ d TREX m TREX d TVEW m TVEW +d TYEW m TYEW d T\EX m T\EX d T^EZ m TVE` d TSE_ m TSE_ d TRE\ m TRE\ +d TREZ m TREZ d TSEX m TSEX d TVEW m TkEf d TkEW m TlEf d TlEW m TlEc +d TnEe m TnEe d TrEf m TrEf d TtEf m TtEf d TwEe m TwEe d TyEc m TyEc +d TyEW m TtEf d TvEe m TvEe d TwEc m TwEc d TwEW m TgEf d TlEf m TgEW +d ToEW m TtEW d T|EW m UDEf d UDEW m UEEf d UEEW m UEEc d UHEe m UHEe +d UKEf m UKEf d UMEf m UMEf d UQEe m UQEe d UREc m UREc d UREW m UMEf +d UPEe m UPEe d UQEc m UQEc d UQEW m UAEf d UEEf m UAEW d UIEW m UMEW +d UVEW m U]E` d UjE` m UjE` d UjEb m UjEb d UiEd m UiEd d UhEe m UhEe +d UfEf m UfEf d UbEf m UbEf d U_Ee m U_Ee d U]Ec m U]Ec d U[E` m U[E` +d U[E^ m U[E^ d U]EZ m U]EZ d U_EX m U_EX d UbEW m UbEW d UeEW m UeEW +d UhEX m UhEX d UjEZ m UiE` d UiEc m UiEc d UhEe m UbEf d U`Ee m U`Ee +d U^Ec m U^Ec d U]E` m U]E` d U]E^ m U]E^ d U^EZ m U^EZ d U`EX m U`EX +d UbEW m UtEn d UtEW m UuEn d UuEW m UpEn d UuEn m UpEW d UxEW m EZM~ +d EsM~ m EZM? d EsM? m EZMw d E`Mv m E`Mv d EZMv m EZMv d EZNG m EZNG +d E`NG m E`NG d EZNF m EsM{ d EsNB m EeNc d EfNc m EfNc d EfNa m EfNa +d EeNa m EeNa d EdNc m EdNc d EcNe m EcNe d EcNi m EcNi d EdNk m EdNk +d EeNm m EeNm d EgNn m EgNn d EoNn m EoNn d ErNo m ErNo d EsNp m EeNm +d EoNm m EoNm d ErNn m ErNn d EsNp m EsNp d EsNq m EgNm d EhNk m EhNk +d EjNe m EjNe d EkNa m EkNa d EmN` m EmN` d EoN` m EoN` d ErNa m ErNa +d EsNe m EsNe d EsNh m EsNh d ErNj m ErNj d EoNm m EjNe d EkNc m EkNc +d EmNa m EmNa d EoNa m EoNa d ErNc m ErNc d EsNe m EcNy d EsNy m EcNz +d EsNz m EfNz d EdN| m EdN| d EcN? m EcN? d EcOB m EcOB d EdOE m EdOE +d EfOF m EfOF d EsOF m EcOB d EdOD m EdOD d EfOE m EfOE d EsOE m EcNu +d EcNz m EsNu d EsN} m EsOB d EsOI m EZOQ d EnOQ m EnOQ d ErOR m ErOR +d EsOT m EsOT d EsOW m EsOW d ErOY m ErOY d EoOZ m EZOR d EnOR m EnOR +d ErOS m ErOS d EsOT m EcON d EcOW m EjO` d EjOn m EjOn d EgOn m EgOn +d EeOm m EeOm d EdOl m EdOl d EcOi m EcOi d EcOf m EcOf d EdOc m EdOc +d EfO` m EfO` d EjO_ m EjO_ d ElO_ m ElO_ d EoO` m EoO` d ErOc m ErOc +d EsOf m EsOf d EsOh m EsOh d ErOl m ErOl d EoOn m EjOm d EfOm m EfOm +d EdOl m EcOf d EdOd m EdOd d EfOb m EfOb d EjO` m EjO` d ElO` m ElO` +d EoOb m EoOb d ErOd m ErOd d EsOf m EcOw d EsOw m EcOx d EsOx m EfOx +d EdOz m EdOz d EcO} m EcO} d EcO? m EcO? d EdPC m EdPC d EfPD m EfPD +d EsPD m EcO? d EdPB m EdPB d EfPC m EfPC d EsPC m EcOs d EcOx m EsOs +d EsO{ m EsO? d EsPG m EcPO d EsPO m EcPP d EsPP m EfPP d EdPR m EdPR +d EcPV m EcPV d EcPX m EcPX d EdP[ m EdP[ d EfP\ m EfP\ d EsP\ m EcPX +d EdPZ m EdPZ d EfP[ m EfP[ d EsP[ m EcPL d EcPP m EsPL d EsPS m EsPX +d EsP_ m EePg d EfPg m EfPg d EfPf m EfPf d EePf m EePf d EdPg m EdPg +d EcPi m EcPi d EcPn m EcPn d EdPp m EdPp d EePq m EePq d EgPr m EgPr +d EoPr m EoPr d ErPs m ErPs d EsPu m EePq d EoPq m EoPq d ErPr m ErPr +d EsPu m EsPu d EsPv m EgPq d EhPp m EhPp d EjPi m EjPi d EkPf m EkPf +d EmPe m EmPe d EoPe m EoPe d ErPf m ErPf d EsPi m EsPi d EsPm m EsPm +d ErPo m ErPo d EoPq m EjPi d EkPg m EkPg d EmPf m EmPf d EoPf m EoPf +d ErPg m ErPg d EsPi m GnFm d ahFm m GnFm d GnF~ m HoFm d HoFv m IpFm +d IpFv m JqFm d JqFv m KqFm d KqFv m LrFm d LrF~ m MsFm d MsFv m NtFm +d NtFv m OtFm d OtFv m PuFm d PuFv m QvFm d QvF~ m RwFm d RwFv m SwFm +d SwFv m TxFm d TxFv m UyFm d UyFv m VzFm d VzF~ m WzFm d WzFv m X{Fm +d X{Fv m Y|Fm d Y|Fv m Z}Fm d Z}Fv m [}Fm d [}F~ m \~Fm d \~Fv m ]?Fm +d ]?Fv m _@Fm d _@Fv m `@Fm d `@Fv m aAFm d aAF~ m GmF_ d GjF^ m GjF^ +d GgFZ m GgFZ d GfFU m GfFU d GfFR m GfFR d GgFL m GgFL d GjFI m GjFI +d GmFH m GmFH d GpFH m GpFH d GsFI m GsFI d GuFL m GuFL d GwFR m GwFR +d GwFU m GwFU d GuFZ m GuFZ d GsF^ m GsF^ d GpF_ m GpF_ d GmF_ m GmF_ +d GkF^ m GkF^ d GjF] m GjF] d GiFZ m GiFZ d GgFU m GgFU d GgFR m GgFR +d GiFL m GiFL d GjFJ m GjFJ d GkFI m GkFI d GmFH m GpFH d GrFI m GrFI +d GsFJ m GsFJ d GtFL m GtFL d GuFR m GuFR d GuFU m GuFU d GtFZ m GtFZ +d GsF] m GsF] d GrF^ m GrF^ d GpF_ m LaF_ d L^FT m L^FT d LaFU m LaFU +d LdFV m LdFV d LhFV m LhFV d LkFU m LkFU d LnFS m LnFS d LoFO m LoFO +d LoFN m LoFN d LnFK m LnFK d LkFI m LkFI d LhFH m LhFH d LdFH m LdFH +d LaFI m LaFI d L`FJ m L`FJ d L^FL m L^FL d L^FM m L^FM d L`FN m L`FN +d LaFM m LaFM d L`FL m LhFV d LjFU m LjFU d LlFS m LlFS d LnFO m LnFO +d LnFN m LnFN d LlFK m LlFK d LjFI m LjFI d LhFH m LaF_ d LlF_ m LaF^ +d LgF^ m LgF^ d LlF_ m L}F_ d LyF^ m LyF^ d LwFZ m LwFZ d LvFU m LvFU +d LvFR m LvFR d LwFL m LwFL d LyFI m LyFI d L}FH m L}FH d L?FH m L?FH +d MBFI m MBFI d MEFL m MEFL d MFFR m MFFR d MFFU m MFFU d MEFZ m MEFZ +d MBF^ m MBF^ d L?F_ m L?F_ d L}F_ m L}F_ d LzF^ m LzF^ d LyF] m LyF] +d LxFZ m LxFZ d LwFU m LwFU d LwFR m LwFR d LxFL m LxFL d LyFJ m LyFJ +d LzFI m LzFI d L}FH m L?FH d MAFI m MAFI d MBFJ m MBFJ d MDFL m MDFL +d MEFR m MEFR d MEFU m MEFU d MDFZ m MDFZ d MBF] m MBF] d MAF^ m MAF^ +d L?F_ m QZFZ d Q\F\ m Q\F\ d Q`F_ m Q`F_ d Q`FH m Q_F^ d Q_FH m QZFH +d QeFH m QuF_ d QqF^ m QqF^ d QoFZ m QoFZ d QnFU m QnFU d QnFR m QnFR +d QoFL m QoFL d QqFI m QqFI d QuFH m QuFH d QwFH m QwFH d Q{FI m Q{FI +d Q}FL m Q}FL d Q~FR m Q~FR d Q~FU m Q~FU d Q}FZ m Q}FZ d Q{F^ m Q{F^ +d QwF_ m QwF_ d QuF_ m QuF_ d QrF^ m QrF^ d QqF] +stroke +m QqF] m QqF] d QpFZ m QpFZ d QoFU m QoFU d QoFR m QoFR d QpFL m QpFL +d QqFJ m QqFJ d QrFI m QrFI d QuFH m QwFH d QyFI m QyFI d Q{FJ m Q{FJ +d Q|FL m Q|FL d Q}FR m Q}FR d Q}FU m Q}FU d Q|FZ m Q|FZ d Q{F] m Q{F] +d QyF^ m QyF^ d QwF_ m RLF_ d RIF^ m RIF^ d RFFZ m RFFZ d REFU m REFU +d REFR m REFR d RFFL m RFFL d RIFI m RIFI d RLFH m RLFH d RNFH m RNFH +d RRFI m RRFI d RTFL m RTFL d RUFR m RUFR d RUFU m RUFU d RTFZ m RTFZ +d RRF^ m RRF^ d RNF_ m RNF_ d RLF_ m RLF_ d RJF^ m RJF^ d RIF] m RIF] +d RGFZ m RGFZ d RFFU m RFFU d RFFR m RFFR d RGFL m RGFL d RIFJ m RIFJ +d RJFI m RJFI d RLFH m RNFH d RQFI m RQFI d RRFJ m RRFJ d RSFL m RSFL +d RTFR m RTFR d RTFU m RTFU d RSFZ m RSFZ d RRF] m RRF] d RQF^ m RQF^ +d RNF_ m V^FZ d V`F\ m V`F\ d VdF_ m VdF_ d VdFH m VbF^ d VbFH m V^FH +d VhFH m VtF_ d VrFT m VrFT d VtFU m VtFU d VwFV m VwFV d V{FV m V{FV +d V~FU m V~FU d WAFS m WAFS d WBFO m WBFO d WBFN m WBFN d WAFK m WAFK +d V~FI m V~FI d V{FH m V{FH d VwFH m VwFH d VtFI m VtFI d VsFJ m VsFJ +d VrFL m VrFL d VrFM m VrFM d VsFN m VsFN d VtFM m VtFM d VsFL m V{FV +d V}FU m V}FU d V?FS m V?FS d WAFO m WAFO d WAFN m WAFN d V?FK m V?FK +d V}FI m V}FI d V{FH m VtF_ d V?F_ m VtF^ d VzF^ m VzF^ d V?F_ m WPF_ +d WLF^ m WLF^ d WJFZ m WJFZ d WIFU m WIFU d WIFR m WIFR d WJFL m WJFL +d WLFI m WLFI d WPFH m WPFH d WRFH m WRFH d WVFI m WVFI d WXFL m WXFL +d WYFR m WYFR d WYFU m WYFU d WXFZ m WXFZ d WVF^ m WVF^ d WRF_ m WRF_ +d WPF_ m WPF_ d WMF^ m WMF^ d WLF] m WLF] d WKFZ m WKFZ d WJFU m WJFU +d WJFR m WJFR d WKFL m WKFL d WLFJ m WLFJ d WMFI m WMFI d WPFH m WRFH +d WTFI m WTFI d WVFJ m WVFJ d WWFL m WWFL d WXFR m WXFR d WXFU m WXFU +d WWFZ m WWFZ d WVF] m WVF] d WTF^ m WTF^ d WRF_ m [_FZ d [`FY m [`FY +d [_FX m [_FX d [^FY m [^FY d [^FZ m [^FZ d [_F] m [_F] d [`F^ m [`F^ +d [dF_ m [dF_ d [hF_ m [hF_ d [lF^ m [lF^ d [mF] m [mF] d [nFZ m [nFZ +d [nFX m [nFX d [mFV m [mFV d [jFT m [jFT d [dFR m [dFR d [bFQ m [bFQ +d [_FN m [_FN d [^FK m [^FK d [^FH m [hF_ d [kF^ m [kF^ d [lF] m [lF] +d [mFZ m [mFZ d [mFX m [mFX d [lFV m [lFV d [hFT m [hFT d [dFR m [^FJ +d [_FK m [_FK d [bFK m [bFK d [gFI m [gFI d [kFI m [kFI d [mFJ m [mFJ +d [nFK m [bFK d [gFH m [gFH d [lFH m [lFH d [mFI m [mFI d [nFK m [nFK +d [nFM m [|F_ d [yF^ m [yF^ d [vFZ m [vFZ d [uFU m [uFU d [uFR m [uFR +d [vFL m [vFL d [yFI m [yFI d [|FH m [|FH d [?FH m [?FH d \BFI m \BFI +d \DFL m \DFL d \FFR m \FFR d \FFU m \FFU d \DFZ m \DFZ d \BF^ m \BF^ +d [?F_ m [?F_ d [|F_ m [|F_ d [zF^ m [zF^ d [yF] m [yF] d [xFZ m [xFZ +d [vFU m [vFU d [vFR m [vFR d [xFL m [xFL d [yFJ m [yFJ d [zFI m [zFI +d [|FH m [?FH d \AFI m \AFI d \BFJ m \BFJ d \CFL m \CFL d \DFR m \DFR +d \DFU m \DFU d \CFZ m \CFZ d \BF] m \BF] d \AF^ m \AF^ d [?F_ m \SF_ +d \PF^ m \PF^ d \NFZ m \NFZ d \LFU m \LFU d \LFR m \LFR d \NFL m \NFL +d \PFI m \PFI d \SFH m \SFH d \VFH m \VFH d \YFI m \YFI d \\FL m \\FL +d \]FR m \]FR d \]FU m \]FU d \\FZ m \\FZ d \YF^ m \YF^ d \VF_ m \VF_ +d \SF_ m \SF_ d \QF^ m \QF^ d \PF] m \PF] d \OFZ m \OFZ d \NFU m \NFU +d \NFR m \NFR d \OFL m \OFL d \PFJ m \PFJ d \QFI m \QFI d \SFH m \VFH +d \XFI m \XFI d \YFJ m \YFJ d \ZFL m \ZFL d \\FR m \\FR d \\FU m \\FU +d \ZFZ m \ZFZ d \YF] m \YF] d \XF^ m \XF^ d \VF_ m `cFZ d `dFY m `dFY +d `cFX m `cFX d `bFY m `bFY d `bFZ m `bFZ d `cF] m `cF] d `dF^ m `dF^ +d `hF_ m `hF_ d `lF_ m `lF_ d `pF^ m `pF^ d `qF] m `qF] d `rFZ m `rFZ +d `rFX m `rFX d `qFV m `qFV d `mFT m `mFT d `hFR m `hFR d `eFQ m `eFQ +d `cFN m `cFN d `bFK m `bFK d `bFH m `lF_ d `oF^ m `oF^ d `pF] m `pF] +d `qFZ m `qFZ d `qFX m `qFX d `pFV m `pFV d `lFT m `lFT d `hFR m `bFJ +d `cFK m `cFK d `eFK m `eFK d `kFI m `kFI d `oFI m `oFI d `qFJ m `qFJ +d `rFK m `eFK d `kFH m `kFH d `pFH m `pFH d `qFI m `qFI d `rFK m `rFK +d `rFM m `{F_ d `yFT m `yFT d `{FU m `{FU d `?FV m `?FV d aBFV m aBFV +d aFFU m aFFU d aHFS m aHFS d aIFO m aIFO d aIFN m aIFN d aHFK m aHFK +d aFFI m aFFI d aBFH m aBFH d `?FH m `?FH d `{FI m `{FI d `zFJ m `zFJ +d `yFL m `yFL d `yFM m `yFM d `zFN m `zFN d `{FM m `{FM d `zFL m aBFV +d aEFU m aEFU d aGFS m aGFS d aHFO m aHFO d aHFN m aHFN d aGFK m aGFK +d aEFI m aEFI d aBFH m `{F_ d aGF_ m `{F^ d aAF^ m aAF^ d aGF_ m aWF_ +d aTF^ m aTF^ d aQFZ m aQFZ d aPFU m aPFU d aPFR m aPFR d aQFL m aQFL +d aTFI m aTFI d aWFH m aWFH d aZFH m aZFH d a]FI m a]FI d a_FL m a_FL +d a`FR m a`FR d a`FU m a`FU d a_FZ m a_FZ d a]F^ m a]F^ d aZF_ m aZF_ +d aWF_ m aWF_ d aUF^ m aUF^ d aTF] m aTF] d aSFZ m aSFZ d aQFU m aQFU +d aQFR m aQFR d aSFL m aSFL d aTFJ m aTFJ d aUFI m aUFI d aWFH m aZFH +d a\FI m a\FI d a]FJ m a]FJ d a^FL m a^FL d a_FR m a_FR d a_FU m a_FU +d a^FZ m a^FZ d a]F] m a]F] d a\F^ m a\F^ d aZF_ m GnW~ d ahW~ m GnW~ +d GnWn m HoW~ d HoWv m IpW~ d IpWv m JqW~ d JqWv m KqW~ d KqWv m LrW~ +d LrWn m MsW~ d MsWv m NtW~ d NtWv m OtW~ d OtWv m PuW~ d PuWv m QvW~ +d QvWn m RwW~ d RwWv m SwW~ d SwWv m TxW~ d TxWv m UyW~ d UyWv m VzW~ +d VzWn m WzW~ d WzWv m X{W~ d X{Wv m Y|W~ d Y|Wv m Z}W~ d Z}Wv m [}W~ +d [}Wn m \~W~ d \~Wv m ]?W~ d ]?Wv m _@W~ d _@Wv m `@W~ d `@Wv m aAW~ +d aAWn m GnFm d GnW~ m GnFm d HGFm m GnGR d G{GR m GnGw d G{Gw m GnH\ +d G{H\ m GnIA d G{IA m GnIf d HGIf m GnJJ d G{JJ m GnJo d G{Jo m GnKT +d G{KT m GnKy d G{Ky m GnL^ d HGL^ m GnMC d G{MC m GnMg d G{Mg m GnNL +d G{NL m GnNq d G{Nq m GnOV d HGOV m GnO{ d G{O{ m GnP` d G{P` m GnQD +d G{QD m GnQi d G{Qi m GnRN d HGRN m GnRs d G{Rs m GnSX d G{SX m GnS} +d G{S} m GnTa d G{Ta m GnUF d HGUF m GnUk d G{Uk m GnVP d G{VP m GnVu +d G{Vu m GnWZ d G{WZ m GnW~ d HGW~ m FgFm d F{Fm m GFFv d GHFw m GHFw +d GLF{ m GLF{ d GLFd m GKFz d GKFd m GFFd d GPFd m GIIs d GFIr m GFIr +d GDIn m GDIn d GBIi m GBIi d GBIf m GBIf d GDI` m GDI` d GFI] m GFI] +d GII\ m GII\ d GLI\ m GLI\ d GOI] m GOI] d GQI` m GQI` d GSIf m GSIf +d GSIi m GSIi d GQIn m GQIn d GOIr m GOIr d GLIs m GLIs d GIIs m GIIs +d GGIr m GGIr d GFIq m GFIq d GEIn m GEIn d GDIi m GDIi d GDIf m GDIf +d GEI` m GEI` d GFI^ m GFI^ d GGI] m GGI] d GII\ m GLI\ d GNI] m GNI] +d GOI^ m GOI^ d GPI` m GPI` d GQIf m GQIf d GQIi m GQIi d GPIn m GPIn +d GOIq m GOIq d GNIr m GNIr d GLIs m GFLg d GHLh m GHLh d GLLk m GLLk +d GLLT m GKLj d GKLT m GFLT d GPLT m GDO_ d GEO^ m GEO^ d GDO] m GDO] +d GBO^ m GBO^ d GBO_ m GBO_ d GDOa m GDOa d GEOb m GEOb d GHOc m GHOc +d GMOc m GMOc d GPOb m GPOb d GQOa m GQOa d GSO_ m GSO_ d GSO] m GSO] +d GQOZ m GQOZ d GNOX m GNOX d GHOV m GHOV d GFOU m GFOU d GDOS m GDOS +d GBOO m GBOO d GBOL m GMOc d GOOb m GOOb d GPOa m GPOa d GQO_ m GQO_ +d GQO] m GQO] d GPOZ m GPOZ d GMOX m GMOX d GHOV m GBON d GDOO m GDOO +d GFOO m GFOO d GLOM m GLOM d GOOM m GOOM d GQON m GQON d GSOO m GFOO +d GLOL m GLOL d GPOL m GPOL d GQOM m GQOM d GSOO m GSOO d GSOR m GDRX +d GERW m GERW d GDRV m GDRV d GBRW m GBRW d GBRX m GBRX d GERZ m GERZ +d GHR[ m GHR[ d GMR[ m GMR[ d GPRZ m GPRZ d GQRX m GQRX d GQRU m GQRU +d GPRS m GPRS d GMRQ m GMRQ d GIRQ m GMR[ d GORZ m GORZ d GPRX m GPRX +d GPRU m GPRU d GORS m GORS d GMRQ m GMRQ d GORP m GORP d GQRN m GQRN +d GSRL m GSRL d GSRI m GSRI d GQRF m GQRF d GPRE m GPRE d GMRD m GMRD +d GHRD m GHRD d GERE m GERE d GDRF m GDRF d GBRI m GBRI d GBRJ m GBRJ +d GDRK m GDRK d GERJ m GERJ d GDRI m GPRO d GQRL m GQRL d GQRI m GQRI +d GPRF m GPRF d GORE m GORE d GMRD m GMUQ d GMT| m GNUT d GNT| m GNUT +d GAUC m GAUC d GTUC m GIT| d GQT| m GEXL d GBXA m GBXA d GEXB m GEXB +d GHXC m GHXC d GLXC m GLXC d GOXB m GOXB d GQX@ +stroke +m GQX@ m GQX@ d GSW| m GSW| d GSW{ m GSW{ d GQWx m GQWx d GOWv m GOWv +d GLWu m GLWu d GHWu m GHWu d GEWv m GEWv d GDWw m GDWw d GBWy m GBWy +d GBWz m GBWz d GDW{ m GDW{ d GEWz m GEWz d GDWy m GLXC d GNXB m GNXB +d GPX@ m GPX@ d GQW| m GQW| d GQW{ m GQW{ d GPWx m GPWx d GNWv m GNWv +d GLWu m GEXL d GPXL m GEXK d GKXK m GKXK d GPXL m ahFm d ahW~ m ahFm +d aPFm m ahGR d a\GR m ahGw d a\Gw m ahH\ d a\H\ m ahIA d a\IA m ahIf +d aPIf m ahJJ d a\JJ m ahJo d a\Jo m ahKT d a\KT m ahKy d a\Ky m ahL^ +d aPL^ m ahMC d a\MC m ahMg d a\Mg m ahNL d a\NL m ahNq d a\Nq m ahOV +d aPOV m ahO{ d a\O{ m ahP` d a\P` m ahQD d a\QD m ahQi d a\Qi m ahRN +d aPRN m ahRs d a\Rs m ahSX d a\SX m ahS} d a\S} m ahTa d a\Ta m ahUF +d aPUF m ahUk d a\Uk m ahVP d a\VP m ahVu d a\Vu m ahWZ d a\WZ m ahW~ +d aPW~ m GuIy d G{I_ d HBI] d HHJH d HOHo d HUIN d H\IX d HbII d HiIA +d HoJy d HvIT d H|Hg d ICHa d IIK^ d IPIt d IVIW d I\H} d IcIZ d IiHv +d IpH{ d IvJV d I}Hh d JCIp d JJJT d JPI@ d JWJE d J]Ir d JdIh d JjIv +d JqHY d JwJK d J~JF d KDIm d KKKF d KQIM d KXIg d K^JH d KdJI d KkHy +d KqKj d KxKI d K~HX d LEHb d LKHS d LRJ\ d LXIS d L_J@ d LeIo d LlJD +d LrHi d LyHf d L?HW d MFKD d MLJM d MSJm d MYIe d M_HW d MfH[ d MlJ[ +d MsIN d MyJe d N@I\ d NFHo d NMI^ d NSJo d NZIY d N`KH d NgIU d NmJO +d NtIW d NzI` d OAIZ d OGIS d ONI] d OTIY d OZJx d OaIA d OgKK d OnIH +d OtHc d O{Iq d PAIl d PHHt d PNJG d PUI} d P[JC d PbJQ d PhHm d PoI] +d PuIp d P|Hg d QBJE d QIIO d QOIw d QVJc d Q\Im d QbL] d QiJd d QoJ{ +d QvJO d Q|KW d RCLA d RILr d RPKJ d RVJm d R]MM d RcKt d RjMI d RpO@ +d RwOJ d R}NE d SDPF d SJO[ d SQOo d SWPk d S]P~ d SdSq d SjRg d SqSO +d SwSP d S~UC d TDTT d TKTR d TQUV d TXVQ d T^UK d TeS} d TkVZ d TrWH +d TxUE d T?UP d UETy d ULUn d URUH d UXTV d U_S~ d UeSm d UlR\ d UrQB +d UyRS d U?QD d VFPW d VLNx d VSO` d VYMR d V`Me d VfNS d VmMB d VsNi +d VzKi d W@Ja d WGLF d WMKq d WTJg d WZKS d W`Ij d WgK@ d WmJG d WtIr +d WzJO d XAIJ d XGIg d XNJo d XTIu d X[IA d XaIq d XhI~ d XnIa d XuJO +d X{JB d YBI[ d YHIV d YOId d YUI? d Y[IB d YbHv d YhJI d YoI` d YuH^ +d Y|IC d ZBJ\ d ZIJP d ZOI? d ZVKX d Z\IN d ZcH} d ZiHD d ZpHM d ZvGz +d Z}IT d [CIk d [JIj d [PHQ d [VJZ d []Hj d [cHu d [jIs d [pJ^ d [wHR +d [}IO d \DIv d \JIS d \QIj d \WIR d \^Ig d \dJG d \kId d \qIs d \xHZ +d \~Id d ]EHp d ]KIS d ]RH_ d ]XHT d ]^Jd d ]eJX d ]kIQ d ]rJ` d ]xHb +d ]?Ha d ^EJK d ^LID d ^RHB d ^YIj d ^_Ig d ^fIm d ^lJd d ^sJ^ d ^yI{ +d _@Ie d _FHp d _MIQ d _SJa d _YJS d _`K} d _fJF d _mI] d _sHz d _zJA +d `@Gn d `GHs d `MJz d `TKA d `ZI] d `aJi d `gHk d `nJN d `tHe d `{Hn +d aAIT d aHHv d aNK^ d aUJK d a[J@ d aaIW d ahHj +stroke +grestore showpage diff --git a/obsolete/macros/latex209/contrib/aasmacros/sgi9279.eps b/obsolete/macros/latex209/contrib/aasmacros/sgi9279.eps new file mode 100644 index 0000000000..610394c127 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/sgi9279.eps @@ -0,0 +1,817 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: IRAF SGI plot +%%Creator: sgieps +%%CreationDate: Fri May 10 04:35:29 1991 +%%BoundingBox: 72 72 540 384 +%%EndComments +/devppi 300 def +/userppi 72 def +/pagewidth 8.5 def +/devpixtouser { userppi mul devppi div } def +/setscale { 1 devpixtouser 1 devpixtouser scale } def +/pagetolandscape 90 def +/setcoords { pagewidth userppi mul 0 translate + pagetolandscape rotate setscale } def +/setjoins { 1 setlinejoin 1 setlinecap } def +gsave setscale setjoins +/getpoint { + currentfile read pop 8#77 and 6 bitshift + currentfile read pop 8#77 and or + currentfile read pop 8#77 and 6 bitshift + currentfile read pop 8#77 and or + } def +/m { getpoint moveto } def +/d { getpoint lineto } def +01 setlinewidth +03 setlinewidth +m WBLs d WFL} d WOMF d W[ML d WgML d WsMF d W}L} d XALs d W|Lh d WsL_ +d WgLZ +stroke +03 setlinewidth +m WMLq d WRLr d WTLp d WTLm d WQLk d WMLk d WKLk m WMLk d WLLh d WILe +d WDLd d WBLf d WCLi m WZLn +stroke +03 setlinewidth +m WWLk d W[Ll d W_Lj d W^Lh d WYLd d WLLc d WJLa d WQL] m WdLh +stroke +03 setlinewidth +m WfLf d WaLd d WXL^ d WVLZ d WYLX d W^LZ d WgLa d WiLd d WfLf m WoLb +m WDLo d WBLs m SLN[ d SBNc d RwNk d RjNr d R^Ny d RWOA d RSOL d RMOV +d RJO` d RROi d RXOn +stroke +03 setlinewidth +m ROOu d RMOw d RNOy d RROz d RVOy d RYOv d RXOu m RYOv d R]Ov d RbOu +d RdOr d RbOp d R]Op m RPO~ +stroke +03 setlinewidth +m RUO} d RRO? d RTPB d RXPB d R_P@ d RdOx d RgOw d RkO| m RVPF +stroke +03 setlinewidth +m RYPH d R\PD d RhPA d RnPA d RpPC d RlPF d R`PJ d RZPJ d RYPH m R\PN +m RoPN d RpPP d RsP\ d RwPe d SBPf d SQPb d SaP] d SqP] d TAP` d TPPb +d T_P_ d TfP\ +stroke +03 setlinewidth +m TqP^ d TvP^ d TxP] d TxPZ d TuPX d TpPW d ToPX m TpPW d TpPT d TlPQ +d ThPQ d TePR d TgPV m T~PZ +stroke +03 setlinewidth +m T{PX d T?PX d UCPV d UBPT d T}PP d TpPO d TnPM d TtPJ m UHPT +stroke +03 setlinewidth +m UJPR d UDPQ d T{PJ d TzPF d T|PE d UBPF d UKPM d ULPQ d UJPR m URPN +m UMPD d UNPC d UVOy d U\Oo d UaOe d U`O[ d U\OQ d UVOG d UPN} d UJNs +d UBNi d T?Nf +stroke +03 setlinewidth +m TRNW d TRNZ d TUN\ d TYN[ d T\NY d T\NV d T[NU m T\NV d T`NU d TdNR +d TdNP d TbNN d T]NO m TZN_ +stroke +03 setlinewidth +m T]N] d T\N` d T`Nb d TcNa d ThN] d ThNU d TjNS d TqNV m TdNe +stroke +03 setlinewidth +m TgNf d ThNb d TqN[ d TvNZ d TyN[ d TxN_ d ToNf d TjNh d TgNf m TnNk +m TVNP d TSNN d TCNK d SsNK d SdNM d SXNS d SLN[ m WTLs d W]L| d WjLx +d WjLm d W]Li d WTLs m SPN~ d SKOH d SIOR d SJO\ d SNOe d SUOn d S_Ov +d SkO} d SyPA d THPC d TUPA d TVPA +stroke +03 setlinewidth +m TXO} d T]O} d T_O{ d T]Ox d TYOv d TTOv d TROw d TTO{ d TXO} d T^O? +d TfP@ m TlO| +stroke +03 setlinewidth +m T\On d TpOx d ToOx d T_Ou d T]Ot d TaOq m TaOq d TcOp m TtOu +stroke +03 setlinewidth +m TuOs d TpOr d TeOm d TbOi d TdOg d TjOh d TuOm d TwOq d TuOs m T|Om +m TuOe d TxO` d TwOV d TrOL d TlOC d TdNz d T[Nr d TONl d T@Ni d SqNj +d ScNn d S^Nq m S^Nq d SPN~ m SaOa d SjOi d SwOo d TDOt d TQOu d T\Oo +d TeOf d TgO\ d TbOQ d T[OH d TQOB d TOOB +stroke +03 setlinewidth +m SfOK d SmON d SqOR d StOU d StOX d SqOY d SmOX d SjOU d SiOQ d SlOP +d SqOR m S{OV +stroke +03 setlinewidth +m SsOM d SwOO d SzON d SzOJ d SwOG d SrOF d SpOG d SpOJ d SsOM d SwOQ +d S~OT m TFOQ +stroke +03 setlinewidth +m THOO d TCOM d S|OF d S{OB d S~OA d TCOC d TJOJ d TKON d THOO m TQOL +m SeOU d SbOW d SaOa m T@Oa d TKOg d TVOc d TTOY d THOY d T@Oa +stroke +01 setlinewidth +m SaGW d SOGd d RxGk d R_Ge d RFG_ d QlG\ d QQG\ d PyGa d PeGm d PQGw +d OwG} d OaHE d OPHS d ODHb d NxHr d NgH? d NQIH d NDIW d MwIg d MgIt +d MUJ@ d MEJO d LxJ^ d LmJm d LcJ~ d L]KN d L\K` d L[Kq d LZLC d LSLS +d LGLc d K|Lr d KxMD d KvMU d KoMf d KjMw d K_NG d KSNV d KRNg d KWNx +d KXOJ d KUO[ d KPOl d KLO} d KHPO d KFP` d KIPq d KMQC d KKQT d KBQd +m KBQd d JwQt d JlRD d JfRU d JeRf d JdRw d JcSI d JcSZ d JdSl d JeS} +d JgTO d JkT_ d JrTo d JyUB d KAUV d KKUY d KWUH d K_Tu d KaTd d KbTS +d KeTB d KjSo d KxSf d LQSo d LcS} d LmTM d LvT^ d L?Tn d MNT| d M`UJ +d MmUX d MuUi d NEUy d NXVB d NqU~ d OKU{ d OdVA d O~VD d PVVK d PkVW +d Q@V_ d QYV[ d QsVW d RNVW d RhVW d SAVR d SYVH d SoVJ d TEVX d TVVX +m TVVX d TdVG d TyU} d UMUq d UaUf d U{Ue d VUUd d VnU` d WHU\ d W`UU +d WvUL d XJU@ d X^Tu d XsTk d YHT` d Y\TU d YmTH d Y}Sz d ZLSl d ZYS] +d ZgSN d ZuS@ d [CRq d [MRa d [VRQ d [^R@ d [fQo d [nQ_ d [vQN d [}P} +d \EPm d \LP\ d \QPK d \XOz d \^Oi d \bOX d \dOF d \oNw d \zNg d \}NV +d \yNE d \vMs d \xMb d \?MQ d ]LMA d ]ULq d ]TL` d ]NLO d ]FK~ d ]@Km +m ]@Km d \?K\ d ]DKK d ]QJ{ d ]]Jl d ]cJ[ d ]eJI d ]eIx d ]cIg d ]^IU +d ]YID d ]XHs d ]VHb d ]LHP d \|H@ d \iG{ d \UHG d \FHX d \IHh d \WHw +d \dIH d \kIY d \hIi d \XIw d \IJF d [|JT d [iJa d []Jp d [ZKB d [TKS +d [IKc d ZzKp d Z`Kx d ZGKt d ZEKb d ZDKQ d ZBK@ d Y?Jo d Y|J] d Y|JL +d ZAI{ d ZNIl d ZeId d [CIc d [ZId d [TIY d [AII d ZmH} d ZTIJ d ZEIH +m ZEIH d YyHx d YbHo d YKHc d XuH] d XaHh d XOHw d W}Hs d WiHe d WRH\ +d V~HQ d VpHB d VgGr d V^Gb d VQGQ d U|GU d UjGc d UTGj d TyGj d TxGj +d TwGi d TvGi d TvGi d TuGi d TtGi d TsGh d TrGh d TqGh d TqGh d TpGg +d ToGg d TnGg d TmGg d TlGf d TlGf d TkGf d TjGe d TiGe d ThGe d ThGd +d TgGd d TfGd d TeGd d TdGc d TdGc d TcGc d TbGb d TaGb d T`Gb d T`Ga +m T`Ga d T_Ga d T^Ga d T]G` d T\G` d T\G` d T[G` d TZG_ d TYG_ d TXG_ +d TXG^ d TWG^ d TVG^ d TUG] d TTG] d TSG] d TSG] d TRG\ d TQG\ d TPG\ +d TOG\ d TNG\ d TNG[ d TMG[ d TLG[ d TKG[ d TJG[ d TIG[ d THG[ d TGG[ +d TGGZ d TFGZ d TEGZ d TDGZ d TCGZ d TBGZ d TAGZ d T@GZ d S?GZ d S?GZ +d S~GY d S}GY d S|GY d S{GY d SzGY d SyGY d SxGY d SwGX d SvGX d SvGX +m SvGX d SuGX d StGX d SsGW d SrGW d SqGW d SpGV d SoGV d SnGV d SnGV +d SmGU d SlGU d SkGU d SjGT d SiGT d ShGT d SgGT d SgGT d SfGT d SeGT +d SdGT d SdGU d ScGU d SbGV d SbGV d SaGW d SaGW m [VGW d [cGW d [VGW +d [VGW m OiKJ d OsKQ d OzK[ d O~Kd d O}Kn d OtKu d OfKy d OVKy d OGKw +d O@Kp d N}Kf d N{K\ d N{KR d N?KJ d OKKG d O[KH d OiKJ d OiKJ m NiLs +d N^Lx d NPLx d NHLq d NOLg d NZLc d NeLj d NiLs d NiLs m Z~TZ d [BTc +d [LTl d [XTq d [dTn d [oTg d [uT] d [tTS d [mTJ d [bTC d [VTB d [KTH +d [ATQ d Z~TZ d Z~TZ m KrVC d KvVL d K?VU d LJV] d LWVa d LbV_ d LmVX +d LuVO d LzVE d LwUz d LpUq d LeUj d LYUg d LLUj d L@Up d KwUy d KrVC +d KrVC m XbH? d XfII d XoIQ d XzIQ d YCIH d YFH~ d X?Hu d XsHq d XhHv +d XbH? d XbH? m XBJE d WsJM d WjJ\ d WhJk d WoJx d WyKE d W}KR d W~K` +d W~Ko d XCK? d XDLM d WvLQ d W_LQ d WMLY d V?Le d VyLs d W@MA d WNMM +d W_MU d WuMP d XHML d XNMY d XGMf d XAMt d WvM? d WfNH d WUNS d WPN_ +d W_Nj d WoNs d W?N| d XNOF d X]OQ d XjO\ d XmOi d XhOw d XlPE d X{PC +d X~Os d X?Oe d YMO_ d YbOZ d YrOP d Y|OC d Y{Nu d YqNh d YaN^ d YQNY +d Y^NL d YcM~ m YcM~ d YbMp d Y_Mb d Y\MT d YXMF d YTLx d YLLk d YCL^ +d X~LP d YDLC d YLKv d YOKh d YGK[ d XxKP d XcKJ d XtKB d Y@Ju d YAJg +d XwJ[ d XhJP d XVJG d XBJE d XBJE m TuKJ d UBKJ d TuKJ d TuKJ m RnKm +d R[Ky d RDLA d QlLH d QVLQ d P~LX d PkLd d PZLq d PJL? d O{MN d OoM] +d OaMk d OOMy d OGNI d O@NZ d NvNj d NmNz d NiOL d NgO] d N_Om d NPO| +d NMPK d N`PY d NrPe d N{Pw d ONP} d OgPs d OoPb d OpPP d OkP@ d ObOn +d OhO^ d OzOR d PIOC d PUNt d PiNh d PzN[ d P}NJ d QJM| d QWMm d Q`M\ +d QrMS d R@Ma d Q}Ms d QvNE d QpNU d QiNf d QZNt d QMOC d QIOT m QIOT +d QIOf +stroke +m QIOf d QJOw d QOPI d QZPY d QoPc d RLPd d RPPm d RAP~ d QxQP d Q|Qa +d RFQr d RYQ} d RsRB d SIRJ d S`RR d SwR\ d TMRe d TbR_ d TwRR d T?RC +d ToQu d TUQp d S|Qk d TFQY d T[QU d TrQa d UKQd d UeQ^ d U}QR d VPQO +d VZQ_ d VeQr d VvQ~ d WLQx d WcQk d WvQZ d X@QK d WlQG d WTP? d WEPq +d V{P` d VpPP d VaPB d VWOr d VROa d VSOO d VRN~ d VINm d VCN\ m VCN\ +d U{NL d UsM{ d UkMk d UcMZ d U^M] d UYMa d UUMe d UPMh d UKMl d UFMo +d U@Mq d T{Mr d TvMr d TqMq d TlMn d TfMk d TaMh d T\Md d TVMa d TQM_ +d TKM] d TEM] d S?M] d SxM\ d SrM\ d SjM\ d SbM[ d SZMY d SSMW d SQMV +d SUMU d S\MT d SeMS d SlMP d SqMM d SvMI d S{MF d S?MB d TBL~ d TFL{ +d TJLx d TOLv d TTLv d TYLw d T_Ly d TeL{ d TkL~ d TqMA d TwMD m TwMD +d T~MG d UDMJ d UJMM d UPMP d UVMR d U\MT d UaMT d UeMS d UiMP d UmML +d UpMH d UrMC d UtL~ d UuLy d UuLu d UtLp d UpLl d UlLi d UgLf d UaLd +d U[Lb d UTLb d UMLa d UFLa d U@L` d TzL_ d TtL] d ToLZ d TjLW d TfLT +d TbLP d T^LL d TZLI d TWLE d TTLA d TPK~ d TKKz d TGKw d TBKt d S|Kq +d SwKo d SrKm d SlKj d SfKh d S`Ke d SZKb d STK_ d SNK\ d SHKY m SHKY +d SBKW d R~KV d RzKX d RxK[ d RvK` d RtKe d RrKi d RnKm d RnKm m SALs +d SAL~ d R|MF d RrM@ d RmLt d RxLl d SALs d SALs m YnPD d YvPM d ZAPT +d ZNPT d ZWPK d Z[P@ d ZWOu d ZOOl d ZEOi d YzOo d YqOy d YnPD d YnPD +m LxQI d LtQR d LrQ[ d LqQe d LtQo d LzQz d MBRA d MHQ~ d MNQt d MTQj +d MZQa d MaQY d MjQR d MuQK d MtQC d MgP| d MXP{ d MJP| d L?QA d LxQI +d LxQI m W\QI d WUQR d WJQX d V|Q\ d VmQ[ d V_QV d VUQO d VQQG d VVP} +d V_Pu d VkPn d VxPl d WEPo d WQPw d WZQ@ d W\QI d W\QI m NrQl d NeQu +d NVQ} d NLRG d NBRR d MxR\ d MjRe d MZRm d MZRw d MjS@ d M}R? d NORz +d N^R} d NiSH d NoSU d NnSb d NjSn d NhSz d NjTF d NnTS d NsT_ d N{Tj +d OGTs d OWTy d OiT~ d OuUG d O|US d PDU^ d PQUg d PbUm d PuUo d QFUn +d QUUh d QhUb d QvU_ d QdUX d QZUM d QUUB d QOTv d QITj d Q@T_ d PtTU +d PfTM d PYTD d PRSx d POSl d PMS` d PLSS d PKSG d PJR{ m PJR{ d PGRn +d PBRb d O{RW d OrRL d OgRB d O]Qx d OSQm d OJQ_ d OBQV d N{Q_ d NrQl +d NrQl m UwTZ d U}Tb d VKTg d VZTk d VgTm d VuTm d W@Tk d WLTf d WWT` +d WdTZ d WXTT d WLTN d WATH d VvTF d VjTH d V]TL d VPTQ d VATT d UwTZ +d UwTZ m XEJh d XNJm d XOJd d XEJh d XEJh m P|Ls d PqLy d PhM@ d P`MH +d PWMP d PPMY d PXM` d PgMa d PvM] d QAMW d QIMO d QRMH d Q[M@ d QfLy +d QpLr d QfLk d QXLk d QILo d P|Ls d P|Ls m V}Ls d WAL} d WJMF d WUMN +d WaMQ d WnMM d WyMF d XBL} d XFLr d XBLh d WyL_ d WmLX d WaLT d WULX +d WJL_ d WALi d V}Ls d V}Ls m OgN[ d OfNf d OhNq d OlNu d OqNm d OtNa +d OnNV d OgN[ d OgN[ m RqN[ d RbNa d RTNg d RINp d RANz d Q{OE d QvOP +d QsO\ d QwOf d Q?Op d RIOy d RSPC d RYPM d R^PX d RdPb d RlPn d RvPx +d SCPy d SRPr d SaPk d SrPl d TCPq d TRPq d T_Pi d TnPc d T}P_ d UJPW +d UUPN d U^PE d UdOz d UmOp d UuOe d UuO[ d UlOQ d UcOG d U^N| d U[Nq +d UWNf d UQN[ d UFNS d TxNL d TiNF d TZNB d TIM? d SxM~ d SgN@ d SXNE +d SKNL d R}NT d RqN[ m RqN[ d RqN[ m NmRr d NsR{ d N|SC d OGSC d ORR} +d OYRs d OXRi d OQR_ d OGRX d N~RW d NuR^ d NoRh d NmRr d NmRr m O\Sw +d O\TA d O]TJ d O`TS d OhT\ d OrTX d OvTO d OvTF d OuS} d OsSr d OqSf +d OoS\ d OlSU d OgSX d ObSb d O^Sm d O[Sw d O\Sw m WGLs d WKL| d WUME +d WaMI d WmME d WwL| d W|Ls d WwLi d WmL` d WaL\ d WULa d WKLi d WGLs +d WGLs m S`N[ d SVNc d SLNk d SBNs d RwNz d RnOB d RmOL d RoOW d RsOa +d RzOj d R~Ot d SAO? d SHPG d SUPL d SdPQ d SsPU d TBPY d TPPZ d T^PV +d TjPP d TvPH d U@PA d UIOx d UPOn d UVOe d UUO[ d UPOQ d UJOH d UCN~ +d T|Nu d TrNm d TgNf d T[N` d TMNZ d S}NW d SmNV d S`N[ d S`N[ m WKLs +d WPL| d W[MD d WgMC d WrL| d WwLs d WqLi d WfLb d W[Lb d WPLi d WKLs +d WKLs m S@N~ d R}OH d R}OR d R?O\ d SCOf d SIOo d SQOx d SZP@ d SePF +d SsPK d TAPP d TNPR d T[PO d TgPH d TqP@ d TzOx d UCOo d UJOf d UKO] +d UEOT d T}OK d TxOA d TrNx d TjNp d T_Nh d TSNb d TEN_ d SuN^ d SgN` +d SZNe d SPNm d SGNu d S@N~ d S@N~ m WPLs d WVL| +stroke +m WVL| d WaMA d WlL| d WrLs d WlLi d W`Le d WULj d WPLs d WPLs m SHN~ +d SDOH d SCOR d SDO\ d SIOf d SPOp d SYOx d SdO? d SrPB d T@PF d TNPJ +d TZPE d TdO} d TmOu d TvOm d T?Od d T~O[ d TwOR d TsOH d ToN~ d ThNv +d T^Nn d TRNg d TDNd d StNd d SeNg d SYNm d SPNu d SHN~ d SHN~ m WYLs +d WdLx d WdLn d WYLs d WYLs m SXN~ d SSOG d SPOQ d SOO[ d SROd d SZOm +d SdOt d SqOz d S?O~ d TMP@ d TYO| d TdOu d TmOl d TsOb d TsOY d TnOP +d ThOG d T`N~ d TXNu d TLNp d S}No d SnNq d SaNv d SXN~ d SXN~ m SaN~ +d SZOG d SVOP d SUOZ d SWOc d S_Ok d SjOr d SwOx d TDO| d TQO| d T]Ov +d TgOn d TnOe d ToO\ d TkOS d TeOJ d T]OB d TUNz d TINu d SzNu d SkNx +d SaN~ d SaN~ m SzN~ d SlOA d SbOG d S\OP d SZOZ d S]Od d SfOk d SsOr +d T@Ow d TMOy d TYOu d TcOm d TjOd d TkOZ d TgOP d T_OG d TVO@ d TIN} +d SzN~ d SzN~ m SfOa d SnOi d S{Oo d TIOr d TVOp d T_Oh d TcO^ d T`OT +d TYOK d TNOG d TAOI d StOP d SjOX d SfOa d SfOa m SoOa d SxOi d TFOn +d TTOm d T]Oe d T^O[ d TXOQ d TNOL d T@OP d StOX d SoOa d SoOa m SwOa +d TBOi d TQOj d T[Ob d TXOW d TMOQ d S~OW d SwOa d SwOa m THOa d TSO_ +d THOa d THOa m IkFo d ^JFo m ^JFo d ^JWp m ^JWp d IkWp m IkWp d IkFo +m IcFj d ^QFj m ^QFj d ^QWu m ^QWu d IcWu m IcWu d IcFj m IpFo d IpFj +m IpWp d IpWu +stroke +01 setlinewidth +m InFf d ImFd d ImF_ d InF] d IpF] d IrF_ d IrFd d IpFf d InFf m ItFf +stroke +01 setlinewidth +m InXD d ImXB d ImW} d InW{ d IpW{ d IrW} d IrXB d IpXD d InXD m ItXE +m JJFo d JJFj m JJWp d JJWu m JcFo d JcFj m JcWp d JcWu m J|Fo d J|Fj +m J|Wp d J|Wu m KVFo d KVFj m KVWp d KVWu m KoFo d KoFj m KoWp d KoWu +m LIFo d LIFj m LIWp d LIWu m LbFo d LbFj m LbWp d LbWu m L{Fo d L{Fj +m L{Wp d L{Wu m MUFo d MUFj m MUWp d MUWu m MnFo d MnFj m MnWp d MnWu +stroke +01 setlinewidth +m McFd d MeFf d MeF] m MjFf +stroke +01 setlinewidth +m MlFf d MjFd d MjF_ d MlF] d MnF] d MoF_ d MoFd d MnFf d MlFf m MrFf +stroke +01 setlinewidth +m MsFf d MrFd d MrF_ d MsF] d MuF] d MwF_ d MwFd d MuFf d MsFf m MyFf +stroke +01 setlinewidth +m McXB d MeXD d MeW{ m MjXE +stroke +01 setlinewidth +m MlXD d MjXB d MjW} d MlW{ d MnW{ d MoW} d MoXB d MnXD d MlXD m MrXE +stroke +01 setlinewidth +m MsXD d MrXB d MrW} d MsW{ d MuW{ d MwW} d MwXB d MuXD d MsXD m MyXE +m NGFo d NGFj m NGWp d NGWu m NaFo d NaFj m NaWp d NaWu m NzFo d NzFj +m NzWp d NzWu m OSFo d OSFj m OSWp d OSWu m OmFo d OmFj m OmWp d OmWu +m PFFo d PFFj m PFWp d PFWu m P_Fo d P_Fj m P_Wp d P_Wu m PyFo d PyFj +m PyWp d PyWu m QRFo d QRFj m QRWp d QRWu m QkFo d QkFj m QkWp d QkWu +stroke +01 setlinewidth +m Q`Fe d QaFf d QdFf d QeFe d QeFb d Q`F^ d Q`F] d QeF] m QgFf +stroke +01 setlinewidth +m QiFf d QhFd d QhF_ d QiF] d QkF] d QlF_ d QlFd d QkFf d QiFf m QoFf +stroke +01 setlinewidth +m QqFf d QoFd d QoF_ d QqF] d QsF] d QtF_ d QtFd d QsFf d QqFf m QwFf +stroke +01 setlinewidth +m Q`XC d QaXD d QdXD d QeXC d QeX@ d Q`W} d Q`W{ d QeW{ m QgXE +stroke +01 setlinewidth +m QiXD d QhXB d QhW} d QiW{ d QkW{ d QlW} d QlXB d QkXD d QiXD m QoXE +stroke +01 setlinewidth +m QqXD d QoXB d QoW} d QqW{ d QsW{ d QtW} d QtXB d QsXD d QqXD m QwXE +m REFo d REFj m REWp d REWu m R^Fo d R^Fj m R^Wp d R^Wu m RwFo d RwFj +m RwWp d RwWu m SQFo d SQFj m SQWp d SQWu m SjFo d SjFj m SjWp d SjWu +m TCFo d TCFj m TCWp d TCWu m T]Fo d T]Fj m T]Wp d T]Wu m TvFo d TvFj +m TvWp d TvWu m UOFo d UOFj m UOWp d UOWu m UiFo d UiFj m UiWp d UiWu +stroke +01 setlinewidth +m U]Fe d U_Ff d UaFf d UbFe d UbFc d UaFb d U`Fb m UaFb d UbF` d UbF^ +d UaF] d U_F] d U]F^ m UeFf +stroke +01 setlinewidth +m UfFf d UeFd d UeF_ d UfF] d UhF] d UjF_ d UjFd d UhFf d UfFf m UlFf +stroke +01 setlinewidth +m UnFf d UmFd d UmF_ d UnF] d UpF] d UrF_ d UrFd d UpFf d UnFf m UtFf +stroke +01 setlinewidth +m U]XC d U_XD d UaXD d UbXC d UbXA d UaX@ d U`X@ m UaX@ d UbW? d UbW} +d UaW{ d U_W{ d U]W} m UeXE +stroke +01 setlinewidth +m UfXD d UeXB d UeW} d UfW{ d UhW{ d UjW} d UjXB d UhXD d UfXD m UlXE +stroke +01 setlinewidth +m UnXD d UmXB d UmW} d UnW{ d UpW{ d UrW} d UrXB d UpXD d UnXD m UtXE +m VBFo d VBFj m VBWp d VBWu m V[Fo d V[Fj m V[Wp d V[Wu m VuFo d VuFj +m VuWp d VuWu m WNFo d WNFj m WNWp d WNWu m WgFo d WgFj m WgWp d WgWu +m XAFo d XAFj m XAWp d XAWu m XZFo d XZFj m XZWp d XZWu m XsFo d XsFj +m XsWp d XsWu m YMFo d YMFj m YMWp d YMWu m YfFo d YfFj m YfWp d YfWu +stroke +01 setlinewidth +m Y^F] d Y^Ff d Y^Ff d Y[F` d Y[F_ d Y^F_ m Y^F_ d Y`F_ m YbFf +stroke +01 setlinewidth +m YdFf d YbFd d YbF_ d YdF] d YfF] d YgF_ d YgFd d YfFf d YdFf m YjFf +stroke +01 setlinewidth +m YlFf d YjFd d YjF_ d YlF] d YnF] d YoF_ d YoFd d YnFf d YlFf m YrFf +stroke +01 setlinewidth +m Y^W{ d Y^XD d Y^XD d Y[W~ d Y[W~ d Y^W~ m Y^W~ d Y`W~ m YbXE +stroke +01 setlinewidth +m YdXD d YbXB d YbW} d YdW{ d YfW{ d YgW} d YgXB d YfXD d YdXD m YjXE +stroke +01 setlinewidth +m YlXD d YjXB d YjW} d YlW{ d YnW{ d YoW} d YoXB d YnXD d YlXD m YrXE +m Y?Fo d Y?Fj m Y?Wp d Y?Wu m ZYFo d ZYFj m ZYWp d ZYWu m ZrFo d ZrFj +m ZrWp d ZrWu m [KFo d [KFj m [KWp d [KWu m [eFo d [eFj m [eWp d [eWu +m [~Fo d [~Fj m [~Wp d [~Wu m \WFo d \WFj m \WWp d \WWu m \qFo d \qFj +m \qWp d \qWu m ]JFo d ]JFj m ]JWp d ]JWu m ]cFo d ]cFj m ]cWp d ]cWu +stroke +01 setlinewidth +m ]XF] d ]\F] d ]]F^ d ]]Fa d ]\Fc d ]YFc d ]XFa d ]XFf d ]]Ff m ]`Ff +stroke +01 setlinewidth +m ]aFf d ]`Fd d ]`F_ d ]aF] d ]cF] d ]eF_ d ]eFd d ]cFf d ]aFf m ]gFf +stroke +01 setlinewidth +m ]iFf d ]hFd d ]hF_ d ]iF] d ]kF] d ]lF_ d ]lFd d ]kFf d ]iFf m ]oFf +stroke +01 setlinewidth +m ]XW{ d ]\W{ d ]]W} d ]]W? d ]\XA d ]YXA d ]XX@ d ]XXD d ]]XD m ]`XE +stroke +01 setlinewidth +m ]aXD d ]`XB d ]`W} d ]aW{ d ]cW{ d ]eW} d ]eXB d ]cXD d ]aXD m ]gXE +stroke +01 setlinewidth +m ]iXD d ]hXB d ]hW} d ]iW{ d ]kW{ d ]lW} d ]lXB d ]kXD d ]iXD m ]oXE +m ]}Fo d ]}Fj m ]}Wp d ]}Wu m IkFr d IcFr m ^JFr d ^QFr +stroke +01 setlinewidth +m IXFx d IWFv d IWFp d IXFn d IZFn d I\Fp d I\Fv d IZFx d IXFx m I_Fx +stroke +01 setlinewidth +m ^XFx d ^VFv d ^VFp d ^XFn d ^ZFn d ^[Fp d ^[Fv d ^ZFx d ^XFx m ^^Fx +m IkGG d IcGG m ^JGG d ^QGG m IkG\ d IcG\ m ^JG\ d ^QG\ m IkGq d IcGq +m ^JGq d ^QGq m IkHF d IcHF m ^JHF d ^QHF m IkH[ d IcH[ m ^JH[ d ^QH[ +m IkHq d IcHq m ^JHq d ^QHq m IkIF d IcIF m ^JIF d ^QIF m IkI[ d IcI[ +m ^JI[ d ^QI[ m IkIp d IcIp m ^JIp d ^QIp m IkJE d IcJE m ^JJE d ^QJE +stroke +01 setlinewidth +m IHJI d IJJK d IJJB m IOJK +stroke +01 setlinewidth +m IQJK d IOJI d IOJD d IQJB d ISJB d ITJD d ITJI d ISJK d IQJK m IWJK +stroke +01 setlinewidth +m IXJK d IWJI d IWJD d IXJB d IZJB d I\JD d I\JI d IZJK d IXJK m I_JK +stroke +01 setlinewidth +m ^WJI d ^YJK d ^YJB m ^^JK +stroke +01 setlinewidth +m ^`JK d ^^JI d ^^JD d ^`JB d ^bJB d ^cJD d ^cJI d ^bJK d ^`JK m ^fJK +stroke +01 setlinewidth +m ^gJK d ^fJI d ^fJD d ^gJB d ^iJB d ^kJD d ^kJI d ^iJK d ^gJK m ^mJK +m IkJZ d IcJZ m ^JJZ d ^QJZ m IkJo d IcJo m ^JJo d ^QJo m IkKD d IcKD +m ^JKD d ^QKD m IkKY d IcKY m ^JKY d ^QKY m IkKo d IcKo m ^JKo d ^QKo +m IkLD d IcLD m ^JLD d ^QLD m IkLY d IcLY m ^JLY d ^QLY m IkLn d IcLn +m ^JLn d ^QLn m IkMC d IcMC m ^JMC d ^QMC m IkMX d IcMX m ^JMX d ^QMX +stroke +01 setlinewidth +m IHM] d IIM^ d IKM^ d ILM] d ILMZ d IHMV d IHMU d ILMU m IOM^ +stroke +01 setlinewidth +m IQM^ d IOM\ d IOMW d IQMU d ISMU d ITMW d ITM\ d ISM^ d IQM^ m IWM^ +stroke +01 setlinewidth +m IXM^ d IWM\ d IWMW d IXMU d IZMU d I\MW d I\M\ d IZM^ d IXM^ m I_M^ +stroke +01 setlinewidth +m ^VM] d ^XM^ d ^ZM^ d ^[M] d ^[MZ d ^VMV d ^VMU d ^[MU m ^^M^ +stroke +01 setlinewidth +m ^`M^ d ^^M\ d ^^MW d ^`MU d ^bMU d ^cMW d ^cM\ d ^bM^ d ^`M^ m ^fM^ +stroke +01 setlinewidth +m ^gM^ d ^fM\ d ^fMW d ^gMU d ^iMU d ^kMW d ^kM\ d ^iM^ d ^gM^ m ^mM^ +m IkMm d IcMm m ^JMm d ^QMm m IkNB d IcNB m ^JNB d ^QNB m IkNX d IcNX +m ^JNX d ^QNX m IkNm d IcNm m ^JNm d ^QNm m IkOB d IcOB m ^JOB d ^QOB +m IkOW d IcOW m ^JOW d ^QOW m IkOl d IcOl m ^JOl d ^QOl m IkPA d IcPA +m ^JPA d ^QPA m IkPV d IcPV m ^JPV d ^QPV m IkPk d IcPk m ^JPk d ^QPk +stroke +01 setlinewidth +m IHPp d IIPq d IKPq d ILPp d ILPn d IKPm d IJPm m IKPm d ILPk d ILPi +d IKPh d IIPh d IHPj m IOPq +stroke +01 setlinewidth +m IQPq d IOPo d IOPj d IQPh d ISPh d ITPj d ITPo d ISPq d IQPq m IWPq +stroke +01 setlinewidth +m IXPq d IWPo d IWPj d IXPh d IZPh d I\Pj d I\Po d IZPq d IXPq m I_Pq +stroke +01 setlinewidth +m ^VPp d ^XPq d ^ZPq d ^[Pp d ^[Pn d ^ZPm d ^YPm m ^ZPm d ^[Pk d ^[Pi +d ^ZPh d ^XPh d ^VPj m ^^Pq +stroke +01 setlinewidth +m ^`Pq d ^^Po d ^^Pj d ^`Ph d ^bPh d ^cPj d ^cPo d ^bPq d ^`Pq m ^fPq +stroke +01 setlinewidth +m ^gPq d ^fPo d ^fPj d ^gPh d ^iPh d ^kPj d ^kPo d ^iPq d ^gPq m ^mPq +m IkQ@ d IcQ@ m ^JQ@ d ^QQ@ m IkQV d IcQV m ^JQV d ^QQV m IkQk d IcQk +m ^JQk d ^QQk m IkR@ d IcR@ m ^JR@ d ^QR@ m IkRU d IcRU m ^JRU d ^QRU +m IkRj d IcRj m ^JRj d ^QRj m IkR? d IcR? m ^JR? d ^QR? m IkST d IcST +m ^JST d ^QST m IkSi d IcSi m ^JSi d ^QSi m IkS~ d IcS~ m ^JS~ d ^QS~ +stroke +01 setlinewidth +m IKS{ d IKTD d IKTD d IHS~ d IHS} d IKS} m IKS} d ILS} m IOTE +stroke +01 setlinewidth +m IQTD d IOTB d IOS} d IQS{ d ISS{ d ITS} d ITTB d ISTD d IQTD m IWTE +stroke +01 setlinewidth +m IXTD d IWTB d IWS} d IXS{ d IZS{ d I\S} d I\TB d IZTD d IXTD m I_TE +stroke +01 setlinewidth +m ^ZS{ d ^ZTD d ^ZTD d ^VS~ d ^VS} d ^ZS} m ^ZS} d ^[S} m ^^TE +stroke +01 setlinewidth +m ^`TD d ^^TB d ^^S} d ^`S{ d ^bS{ d ^cS} d ^cTB d ^bTD d ^`TD m ^fTE +stroke +01 setlinewidth +m ^gTD d ^fTB d ^fS} d ^gS{ d ^iS{ d ^kS} d ^kTB d ^iTD d ^gTD m ^mTE +m IkTT d IcTT m ^JTT d ^QTT m IkTi d IcTi m ^JTi d ^QTi m IkT~ d IcT~ +m ^JT~ d ^QT~ m IkUS d IcUS m ^JUS d ^QUS m IkUh d IcUh m ^JUh d ^QUh +m IkU} d IcU} m ^JU} d ^QU} m IkVR d IcVR m ^JVR d ^QVR m IkVg d IcVg +m ^JVg d ^QVg m IkV} d IcV} m ^JV} d ^QV} m IkWR d IcWR m ^JWR d ^QWR +stroke +01 setlinewidth +m IHWN d IKWN d ILWP d ILWR d IKWT d IIWT d IHWS d IHWW d ILWW m IOWX +stroke +01 setlinewidth +m IQWW d IOWU d IOWP d IQWN d ISWN d ITWP d ITWU d ISWW d IQWW m IWWX +stroke +01 setlinewidth +m IXWW d IWWU d IWWP d IXWN d IZWN d I\WP d I\WU d IZWW d IXWW m I_WX +stroke +01 setlinewidth +m ^WWN d ^ZWN d ^[WP d ^[WR d ^ZWT d ^XWT d ^VWS d ^VWW d ^[WW m ^^WX +stroke +01 setlinewidth +m ^`WW d ^^WU d ^^WP d ^`WN d ^bWN d ^cWP d ^cWU d ^bWW d ^`WW m ^fWX +stroke +01 setlinewidth +m ^gWW d ^fWU d ^fWP d ^gWN d ^iWN d ^kWP d ^kWU d ^iWW d ^gWW m ^mWX +m IkWg d IcWg m ^JWg d ^QWg +stroke +03 setlinewidth +m QRXf d QOXi d QKXi d QHXf d QHXa d QKX^ d QOX^ d QRXa m QRX^ d QRXr +m QYXr m QYXd d QcXd d QcXf d Q`Xi d Q\Xi d QYXf d QYXa d Q\X^ d Q`X^ +d QcX` m QjXr m QkXi d QoX^ d QtXi m Q{Xr m R@Xr d R@X^ m Q{Xb d Q~X_ +d RCX_ d RFXa d RFXe d RCXh d Q~Xh d Q{Xj d Q{Xm d Q~Xp d RCXp d RFXm +m RLXr m RLXi d RLXX m RLXf d ROXi d RSXi d RVXf d RVXa d RSX^ d ROX^ +d RLXa m R]Xr m RbXm d RbXl d RcXl d RcXm d RbXm d RcXl m RbXg d RcXg +d RcX^ m RnXr m RoXi d RxX^ m RoX^ d RxXi m R?Xr m SEXk d SFXk d SFXi +d SEXi d SEXk d SFXi m SEXd d SEXa d SFXa d SFXd d SEXd d SFXa m SPXr +m SPXr m SaXr m SbXi d SbX^ m SgX^ d SgXg m SbXg d ScXi d SeXi d SgXg +d ShXi d SjXi d SlXg d SlX^ m SrXr m SsX^ d SzX^ d S}Xa d S}Xg d SzXj +d SvXj d SsXg d SsXr d S}Xr m TCXr m TEXm d TIXr d TIX^ m TTXr m TTXr +m TeXr m TeXr m TvXr m TwXr d T?Xr d UAXo d UAXk d T?Xh d TwXh m T?Xh +d UAXe d UAXa d T?X^ d TwX^ d TwXr m UGXr m UGXr m UXXr m UXXr m UiXr +m UjXf d UmXi d UqXi d UtXf d UtXa d UqX^ d UmX^ d UjXa d UjXf d UjXl +d UoXr m UzXr m U~Xr d U{Xm d U{Xb d U~X^ d VBX^ d VEXb d VEXm d VBXr +d U~Xr m VKXr m VOXr d VLXm d VLXb d VOX^ d VSX^ d VVXb d VVXm d VSXr +d VOXr m V\Xr m V]X_ d V_X^ d VdX^ d VfX_ d VfXb d VdXd d V_Xd d V]Xe +d V]Xg d V_Xi d VdXi d VfXg m VmXr +stroke +03 setlinewidth +m N[EP d N[E^ d NbEP d NbE^ m NgE_ +stroke +03 setlinewidth +m NgE\ d NiE^ d NlE^ d NoE\ d NoES d NlEP d NiEP d NgES d NgE\ m NlE\ +d NoE^ m NsE_ +stroke +03 setlinewidth +m NsEP d NvE^ d NxE^ d NzEP m NtEU d NyEU m N?E_ +stroke +03 setlinewidth +m N?E\ d OBE^ d OEE^ d OGE\ d OGES d OEEP d OBEP d N?ES d N?E\ m OEE\ +d OGE^ m OKE_ +stroke +03 setlinewidth +m OKEP d OSE^ m OWE_ +stroke +03 setlinewidth +m OYE^ d O]E^ m O[E^ d O[EP m OYEP d O]EP m OcE_ +stroke +03 setlinewidth +m OdEP d OdE^ d OiE^ d OkE\ d OkEY d OiEX d OdEX m OiEX d OkEP m OoE_ +stroke +03 setlinewidth +m OpEP d OrE^ d OtE^ d OwEP m OqEU d OvEU m O|E_ +stroke +03 setlinewidth +m O|E^ d O|EP m O|EX d PAEX m O|E^ d PDE^ m PHE_ +stroke +03 setlinewidth +m PHE_ m PTE_ +stroke +03 setlinewidth +m PTE^ d PXEP d P[E^ m P`E_ +stroke +03 setlinewidth +m P`E\ d PbE^ d PfE^ d PhE\ d PhEX d P`ER d P`EP d PhEP m PlE_ +stroke +03 setlinewidth +m PpEQ d PpEP d PqEP d PqEQ d PpEQ d PqEP m PxE_ +stroke +03 setlinewidth +m P}EP d Q@ET d Q@EY d Q@E\ d P~E^ d P{E^ d PyE\ d PyEY d P{EV d P~EV +d Q@EY m QDE_ +stroke +03 setlinewidth +m QHEQ d QHEP d QIEP d QIEQ d QHEQ d QIEP m QQE_ +stroke +03 setlinewidth +m QRE[ d QUE^ d QUEP m Q]E_ +stroke +03 setlinewidth +m Q]E^ d Q]EP d QeEP m Q]EX d QbEX m Q]E^ d QeE^ m QiE_ +stroke +03 setlinewidth +m QiE^ d QqEP m QiEP d QqE^ m QuE_ +stroke +03 setlinewidth +m QuEP d QuE^ d Q{E^ d Q}E\ d Q}EY d Q{EW d QuEW m RAE_ +stroke +03 setlinewidth +m RAE\ d RDE^ d RGE^ d RIE\ d RIES d RGEP d RDEP d RAES d RAE\ m RGE\ +d RIE^ m RME_ +stroke +03 setlinewidth +m RNEP d RNE^ d RSE^ d RUE\ d RUEY d RSEX d RNEX m RSEX d RUEP m RYE_ +stroke +03 setlinewidth +m R^EP d R^E^ m RZE^ d RbE^ m ReE_ +stroke +03 setlinewidth +m ReE_ m RrE_ +stroke +03 setlinewidth +m RxEW d RwEX d RtEX d RrEV d RrER d RtEP d RwEP d RxEQ m R~E_ +stroke +03 setlinewidth +m R~E^ d R~EP m R~ER d S@EP d SCEP d SEER d SEEV d SCEX d S@EX d R~EV +m SJE_ +stroke +03 setlinewidth +m SME[ d SMEZ d SNEZ d SNE[ d SME[ d SNEZ m SMEW d SNEW d SNEP m SVE_ +stroke +03 setlinewidth +m SVET d S]ET d S]EV d S[EX d SXEX d SVEV d SVER d SXEP d S[EP d S]ER +m SbE_ +stroke +03 setlinewidth +m ScEX d ScEP m SfEP d SfEW m ScEW d SdEX d SeEX d SfEW d SgEX d ShEX +d SjEW d SjEP m SnE_ +stroke +03 setlinewidth +m SoET d SuET d SuEV d StEX d SqEX d SoEV d SoER d SqEP d StEP d SuER +m SzE_ +stroke +03 setlinewidth +m S{EQ d S}EP d T@EP d TBEQ d TBES d T@ET d S}ET d S{EU d S{EW d S}EX +d T@EX d TAEW m TGE_ +stroke +03 setlinewidth +m TMER d TIER d TGET d TGEZ d TIE\ d TME\ d TOEZ d TOEV d TNEU d TMEU +d TLEV d TLEX d TLEZ d TJEZ d TIEX d TIEV d TJEU d TLEU d TLEV m TSE_ +stroke +03 setlinewidth +m TSEX d TSER d TUEP d TXEP d TZER m TZEP d TZEX m T_E_ +stroke +03 setlinewidth +m T_EX d T_EP m T_EV d TaEX d TdEX d TfEW m TkE_ +stroke +03 setlinewidth +m TkEQ d TmEP d TpEP d TrEQ d TrES d TpET d TmET d TkEU d TkEW d TmEX +d TpEX d TrEW m TwE_ +stroke +03 setlinewidth +m TyEX d T|EX d T}EW d T}ER d T|EP d TyEP d TxER d TxES d TyEU d T|EU +d T}ET m T}ER d T?EP m UCE_ +stroke +03 setlinewidth +m UCE_ m UOE_ +stroke +03 setlinewidth +m UPE^ d UPEP m UPEX d UUEX m UPE^ d UXE^ m U\E_ +stroke +03 setlinewidth +m U\EX d U\EP m U\EV d U^EX d UaEX d UcEW m UhE_ +stroke +03 setlinewidth +m UkE[ d UkEZ d UlEZ d UlE[ d UkE[ d UlEZ m UkEW d UlEW d UlEP m UtE_ +stroke +03 setlinewidth +m UtE_ m V@E_ +stroke +03 setlinewidth +m VCE^ d V@E[ d V@ES d VCEP d VFEP d VHES d VHE[ d VFE^ d VCE^ m VLE_ +stroke +03 setlinewidth +m VREP d VRE^ d VRE^ d VMEU d VMET d VRET m VRET d VTET m VXE_ +stroke +03 setlinewidth +m V\EZ d V]EZ d V]EX d V\EX d V\EZ d V]EX m V\ET d V\ES d V]ES d V]ET +d V\ET d V]ES m VdE_ +stroke +03 setlinewidth +m VeE\ d VgE^ d VjE^ d VmE\ d VmEZ d VjEX d VhEX m VjEX d VmEU d VmER +d VjEP d VgEP d VeES m VqE_ +stroke +03 setlinewidth +m VwEP d VwE^ d VvE^ d VqEU d VqET d VwET m VwET d VyET m V}E_ +stroke +03 setlinewidth +m WAEZ d WBEZ d WBEX d WAEX d WAEZ d WBEX m WAET d WAES d WBES d WBET +d WAET d WBES m WIE_ +stroke +03 setlinewidth +m WJE[ d WME^ d WMEP m WUE_ +stroke +03 setlinewidth +m WVE[ d WYE^ d WYEP m WaE_ +stroke +03 setlinewidth +m WaE_ m WmE_ +stroke +03 setlinewidth +m WoE[ d WrE^ d WrEP m WyE_ +stroke +03 setlinewidth +m W|E^ d WzE[ d WzES d W|EP d W?EP d XBES d XBE[ d W?E^ d W|E^ m XFE_ +stroke +03 setlinewidth +m XFEW d XMEW m XRE_ +stroke +03 setlinewidth +m XREP d XRE^ d XVEW d XYE^ d XYEP m X^E_ +stroke +03 setlinewidth +m X`EX d XcEX d XdEW d XdER d XbEP d X`EP d X^ER d X^ES d X`EU d XcEU +d XdET m XdER d XfEP m XjE_ +stroke +03 setlinewidth +m XjEX d XnEP m XlEL d XrEX m XvE_ +stroke +03 setlinewidth +m XwEW d X~EW m YBE_ +stroke +03 setlinewidth +m YGEP d YJET d YJEY d YJE\ d YHE^ d YEE^ d YCE\ d YCEY d YEEV d YHEV +d YJEY m YNE_ +stroke +03 setlinewidth +m YPE[ d YSE^ d YSEP m Y[E_ +stroke +03 setlinewidth +m OPEs d OOEu d OKEu d OIEr d OIEn d OKEk d OOEk d OPEl m OWE} +stroke +03 setlinewidth +m OWEr d OWEn d OZEk d O]Ek d O_En d O_Er d O]Eu d OZEu d OWEr m OeE} +stroke +03 setlinewidth +m OfEu d OfEk m OfEr d OhEu d OlEu d OnEr d OnEk m OtE} +stroke +03 setlinewidth +m OvEu d O|Eu m O|El d O{Ek d OyEk d OxEl d OxE{ m PCE} +stroke +03 setlinewidth +m PCEr d PCEn d PEEk d PIEk d PKEn d PKEr d PIEu d PEEu d PCEr m PQE} +stroke +03 setlinewidth +m PREu d PREn d PTEk d PXEk d PZEn m PZEk d PZEu m P`E} +stroke +03 setlinewidth +m P`Eu d P`Ek m P`Er d PbEu d PfEu d PhEs m PnE} +stroke +03 setlinewidth +m PoEp d PwEp d PwEr d PuEu d PqEu d PoEr d PoEn d PqEk d PuEk d PwEm +m P}E} +stroke +03 setlinewidth +m QFEr d QCEu d Q@Eu d P}Er d P}En d Q@Ek d QCEk d QFEn m QFEk d QFE| +m QLE} +stroke +03 setlinewidth +m QLE} m QZE} +stroke +03 setlinewidth +m Q\Eu d QbEu m Q^Ek d Q^Ey d Q_E{ d QbE{ d QcEz m QiE} +stroke +03 setlinewidth +m QiEu d QiEk m QiEr d QkEu d QoEu d QqEs m QwE} +stroke +03 setlinewidth +m QxEr d QxEn d QzEk d Q~Ek d R@En d R@Er d Q~Eu d QzEu d QxEr m RFE} +stroke +03 setlinewidth +m RFEu d RFEk m RKEk d RKEs m RFEs d RHEu d RJEu d RKEs d RLEu d RMEu +d ROEs d ROEk m RTE} +stroke +03 setlinewidth +m RTE} m RcE} +stroke +03 setlinewidth +m RfE| d RdEx d RdEo d RfEk d RjEk d RmEo d RmEx d RjE| d RfE| m RrE} +stroke +03 setlinewidth +m RvEl d RvEj d RwEj d RwEl d RvEl d RwEj m S@E} +stroke +03 setlinewidth +m S@E} m SOE} +stroke +03 setlinewidth +m SQEu d SVEu m SWEl d SVEk d STEk d SSEl d SSE{ m S]E} +stroke +03 setlinewidth +m S^Er d S^En d S`Ek d SdEk d SfEn d SfEr d SdEu d S`Eu d S^Er m SlE} +stroke +03 setlinewidth +m SlE} m SzE} +stroke +03 setlinewidth +m S|Ex d T@E| d T@Ek m TIE} +stroke +03 setlinewidth +m TJEz d TLE| d TPE| d TSEz d TSEv d TPEt d TNEt m TPEt d TSEq d TSEn +d TPEk d TLEk d TJEn m TXE} +stroke +03 setlinewidth +m TXEr d T[Eu d T_Eu d TaEr d TaEn d T_Ek d T[Ek d TXEn d TXEr d TYEw +d T]E| m TfE} +stroke +03 setlinewidth +m TiE| d TgEx d TgEo d TiEk d TmEk d TpEo d TpEx d TmE| d TiE| m TuE} +stroke +03 setlinewidth +m TzEl d TzEj d T{Ej d T{El d TzEl d T{Ej m UCE} +stroke +03 setlinewidth +m UHEi d UHEj d UHEl d UHEl d UHEk d UHEk m URE} +stroke +03 setlinewidth +m URE} m UaE} +stroke +03 setlinewidth +m UeEx d UeEw d UfEw d UfEx d UeEx d UfEw m UeEs d UeEs d UeEk m UoE} +stroke +03 setlinewidth +m UpEu d UpEk m UpEr d UrEu d UvEu d UxEr d UxEk m U~E} +stroke +03 setlinewidth +m V@Eu d VEEu m VFEl d VEEk d VCEk d VBEl d VBE{ m VLE} +stroke +03 setlinewidth +m VMEp d VUEp d VUEr d VSEu d VOEu d VMEr d VMEn d VOEk d VSEk d VUEm +m V[E} +stroke +03 setlinewidth +m V[Eu d V[Ek m V[Er d V^Eu d VaEu d VcEs m ViE} +stroke +03 setlinewidth +m VkEu d VnEk d VrEu m VxE} +stroke +03 setlinewidth +m VzEu d V~Eu d W@Es d W@Em d V}Ej d V{Ej d VyEm d VyEo d VzEq d V~Eq +d W@Ep m W@Em d WBEj m WGE} +stroke +03 setlinewidth +m WJE| d WKE{ d WKEl d WLEk m WUE} +stroke +03 setlinewidth +m WUE} m WdE} +stroke +03 setlinewidth +m WmEu d WeEu m WeEp d WmEp m WrE} +stroke +03 setlinewidth +m WrE} m XAE} +stroke +03 setlinewidth +m XDE| d XAEz d XAEv d XDEt d XAEq d XAEn d XDEk d XHEk d XKEn d XKEq +d XHEt d XDEt m XHEt d XKEv d XKEz d XHE| d XDE| m XOE} +stroke +03 setlinewidth +m XSE| d XPEx d XPEo d XSEk d XVEk d XYEo d XYEx d XVE| d XSE| m X^E} +stroke +03 setlinewidth +m XcEl d XcEj d XdEj d XdEl d XcEl d XdEj m XmE} +stroke +grestore showpage diff --git a/obsolete/macros/latex209/contrib/aasmacros/sgi9289.eps b/obsolete/macros/latex209/contrib/aasmacros/sgi9289.eps new file mode 100644 index 0000000000..5f0630354a --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/sgi9289.eps @@ -0,0 +1,998 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: IRAF SGI plot +%%Creator: sgieps +%%CreationDate: Fri May 10 04:39:26 1991 +%%BoundingBox: 72 72 540 384 +%%EndComments +/devppi 300 def +/userppi 72 def +/pagewidth 8.5 def +/devpixtouser { userppi mul devppi div } def +/setscale { 1 devpixtouser 1 devpixtouser scale } def +/pagetolandscape 90 def +/setcoords { pagewidth userppi mul 0 translate + pagetolandscape rotate setscale } def +/setjoins { 1 setlinejoin 1 setlinecap } def +gsave setscale setjoins +/getpoint { + currentfile read pop 8#77 and 6 bitshift + currentfile read pop 8#77 and or + currentfile read pop 8#77 and 6 bitshift + currentfile read pop 8#77 and or + } def +/m { getpoint moveto } def +/d { getpoint lineto } def +01 setlinewidth +03 setlinewidth +m F~Ph d GRPh d GRPz d GRPh m G@PV d GGPV m GLP_ m GMP[ d GPP^ d GPPP +m GXP_ m GYPP d G^PP d G`PR d G`PV d G^PY d GZPY d GXPW d GXP^ d G`P^ +m GdP_ m GRPh d GgPh d GgPq d GgPh d G}Ph d G}Pq d G}Ph d HRPh d HRPq +d HRPh d HgPh d HgPq d HgPh d H}Ph d H}Pz d H}Ph m HkPV d HrPV m HvP_ +m HxP[ d H{P^ d H{PP m ICP_ m IEP^ d ICP[ d ICPS d IEPP d IHPP d IKPS +d IKP[ d IHP^ d IEP^ m IOP_ m H}Ph d IRPh d IRPq d IRPh d IgPh d IgPq +d IgPh d I}Ph d I}Pq d I}Ph d JRPh d JRPq d JRPh d JgPh d JgPz d JgPh +m J\PV d JcPV m JgP_ m JhPP d JmPP d JpPR d JpPV d JmPY d JjPY d JhPW +d JhP^ d JpP^ m JtP_ m JgPh d J}Ph d J}Pq d J}Ph d KRPh d KRPq d KRPh +d KhPh d KhPq d KhPh d K}Ph d K}Pq d K}Ph d LRPh d LRPz d LRPh m LOP^ +d LMP[ d LMPS d LOPP d LRPP d LTPS d LTP[ d LRP^ d LOP^ m LXP_ m LRPh +d LhPh d LhPq d LhPh d L}Ph d L}Pq d L}Ph d MRPh d MRPq d MRPh d MhPh +d MhPq d MhPh d M}Ph d M}Pz d M}Ph m MxPP d M}PP d M?PR d M?PV d M}PY +d MzPY d MwPW d MwP^ d M?P^ m NCP_ m M}Ph d NRPh d NRPq d NRPh d NhPh +d NhPq d NhPh d N}Ph d N}Pq d N}Ph d OSPh d OSPq d OSPh d OhPh d OhPz +d OhPh m O]P[ d O`P^ d O`PP m OhP_ m OkP^ d OhP[ d OhPS d OkPP d OnPP +d OpPS d OpP[ d OnP^ d OkP^ m OtP_ m OhPh d O}Ph d O}Pq d O}Ph d PSPh +d PSPq d PSPh d PhPh d PhPq d PhPh d P}Ph d P}Pq d P}Ph d QSPh d QSPz +d QSPh m QHP[ d QKP^ d QKPP m QSP_ m QTPP d QYPP d Q[PR d Q[PV d QYPY +d QUPY d QSPW d QSP^ d Q[P^ m Q_P_ m QSPh d QhPh d QhPq d QhPh d QhPh +m QhPh d QhPo d QWPo d QhPo d QhQD d Q`QD d QhQD d QhQX d Q`QX d QhQX +d QhQl d Q`Ql d QhQl d QhRA d QWRA d QhRA d QhRU d Q`RU d QhRU d QhRj +d Q`Rj d QhRj d QhR~ d Q`R~ d QhR~ d QhSS d QWSS d QhSS d QhSg d Q`Sg +d QhSg d QhS{ d Q`S{ d QhS{ d QhTP d Q`TP d QhTP d QhTd d QWTd d QhTd +d QhTy d Q`Ty d QhTy d QhUM d Q`UM d QhUM d QhUa d Q`Ua d QhUa d QhUv +d QWUv d QhUv d QhVJ d Q`VJ d QhVJ d QhV_ d Q`V_ d QhV_ d QhVs d Q`Vs +d QhVs d QhWH d QWWH d QhWH d QhW\ d Q`W\ d QhW\ d QhWp d Q`Wp d QhWp +d QhXE d Q`XE d QhXE d QhXY d QWXY d QhXY d QhXY m F~Ph d F~Po d GOPo +d F~Po m FTPp d F[Pp m F_Py m FcPj d FcPi d FdPi d FdPj d FcPj d FdPi +m FkPy m FlPv d FnPx d FrPx d FsPv d FsPr d FlPl d FlPj d FsPj m FxPy +m F~Po d F~QD d GFQD d F~QD d F~QX d GFQX d F~QX d F~Ql d GFQl d F~Ql +d F~RA d GORA d F~RA m FnRJ d FlRG d FlQ? d FnQ{ d FqQ{ d FsQ? d FsRG +d FqRJ d FnRJ m FxRJ m F~RA d F~RU d GFRU d F~RU d F~Rj d GFRj d F~Rj +d F~R~ d GFR~ d F~R~ d F~SS d GOSS d F~SS m FcSN d FcSM d FdSM d FdSN +d FcSN d FdSM m FkS\ m FlSY d FnS\ d FrS\ d FsSY d FsSU d FlSO d FlSM +d FsSM m FxS\ m F~SS d F~Sg d GFSg d F~Sg d F~S{ d GFS{ d F~S{ d F~TP +d GFTP d F~TP d F~Td d GOTd d F~Td m FcT_ d FcT^ d FdT^ d FdT_ d FcT_ +d FdT^ m FkTn m FrT_ d FrTm d FqTm d FlTd d FlTc d FrTc m FrTc d FsTc +m FxTn m F~Td d F~Ty d GFTy d F~Ty d F~UM d GFUM d F~UM d F~Ua d GFUa +d F~Ua d F~Uv d GOUv d F~Uv m FcUq d FcUp d FdUp d FdUq d FcUq d FdUp +m FkU? m FlUv d FnUy d FqUy d FsUv d FsUs d FqUq d FnUq d FlUs d FlUv +d FlU{ d FpU? m FxU? m F~Uv d F~VJ d GFVJ d F~VJ d F~V_ d GFV_ d F~V_ +d F~Vs d GFVs d F~Vs d F~WH d GOWH d F~WH m FcWC d FcWB d FdWB d FdWC +d FcWC d FdWB m FkWQ m FnWQ d FlWN d FlWL d FnWJ d FlWH d FlWD d FnWB +d FrWB d FsWD d FsWH d FrWJ d FnWJ m FrWJ d FsWL d FsWN d FrWQ d FnWQ +m FxWQ m F~WH d F~W\ d GFW\ d F~W\ d F~Wp d GFWp d F~Wp d F~XE d GFXE +d F~XE d F~XY d GOXY d F~XY m FmX_ d FpXb d FpXT m FxXc m F~XY d F~XY +m F~XY d GRXY d GRXG d GRXY d GgXY d GgXP d GgXY d G}XY d G}XP d G}XY +d HRXY d HRXP d HRXY d HgXY d HgXP d HgXY d H}XY d H}XG d H}XY d IRXY +d IRXP d IRXY d IgXY d IgXP d IgXY d I}XY d I}XP d I}XY d JRXY d JRXP +d JRXY d JgXY d JgXG d JgXY d J}XY d J}XP d J}XY d KRXY d KRXP d KRXY +d KhXY d KhXP d KhXY d K}XY d K}XP d K}XY d LRXY d LRXG d LRXY d LhXY +d LhXP d LhXY d L}XY d L}XP d L}XY d MRXY d MRXP d MRXY d MhXY d MhXP +d MhXY d M}XY d M}XG d M}XY d NRXY d NRXP d NRXY d NhXY d NhXP d NhXY +d N}XY d N}XP d N}XY d OSXY d OSXP d OSXY d OhXY d OhXG d OhXY d O}XY +d O}XP d O}XY d PSXY d PSXP d PSXY d PhXY d PhXP d PhXY d P}XY d P}XP +d P}XY d QSXY d QSXG d QSXY d QhXY d QhXP d QhXY d QhXY m KoPA d KwOs +m KoOs d KwPA m K{PB m K{Oy d LBOy m LGPB m LGOs d LJPA d LLPA d LNOs +m LHOx d LNOx m LSPB m LSPA d L[Os m LSOs d L[PA m L_PB m LaPA d LePA +m LcPA d LcOs m LaOs d LeOs m LkPB m LlOu d LmOs d LqOs d LsOu d LsOx +d LqOz d LmOz d LlO} +stroke +m LlO} d LlO? d LmPA d LqPA d LsO? m LwPB m EMTI d EVTK d EbTK m EVTK +d EMTM m ELTP m EXTQ d EXTV m ELTY m EbTY d EMT[ d EMT\ d EbT^ m EZTY +d EZT] m ELTa m EMTa d EbTf m EbTa d EMTf m ELTi m EMTj d EMTm m EMTk +d EbTk m EbTj d EbTm m ELTq m E_Tq d EbTr d EbTu d E_Tv d E[Tv d EXTu +d EWTr d ETTq d EPTq d EMTr d EMTu d EPTv m ELTy m JpXg d JpXu m JlXu +d JtXu m JxXv m JxXu d JxXg m JxXm d JzXo d J}Xo d J?Xm d J?Xg m KDXv +m KDXk d KKXk d KKXm d KIXo d KFXo d KDXm d KDXi d KFXg d KIXg d KKXi +m KPXv m KPXv m K\Xv m K]Xi d K_Xg d KcXg d KdXi d KdXl d KcXn d K_Xn +d K]Xq d K]Xs d K_Xu d KcXu d KdXs m KhXv m KjXu d KoXu m KmXu d KmXg +m KkXg d KoXg m KuXv m KuXg d KuXu d K}Xg d K}Xu m LAXv m LIXj d LGXg +d LCXg d LAXj d LAXs d LCXu d LGXu d LIXs m LMXv m LMXv m LYXv m LYXu +d LYXg m LYXn d L^Xn m LYXu d LaXu m LeXv m LfXo d LfXi d LgXg d LkXg +d LlXi m LlXg d LlXo m LqXv m LrXo d LrXg m LrXm d LtXo d LwXo d LxXm +d LxXg m L}Xv m MDXn d MCXo d M@Xo d L~Xm d L~Xi d M@Xg d MCXg d MDXh +m MJXv m MKXo d MPXo m MPXh d MOXg d MNXg d MMXh d MMXt m MVXv m MYXr +d MYXq d MZXq d MZXr d MYXr d MZXq m MYXn d MZXn d MZXg m MbXv m MbXm +d MbXi d MdXg d MgXg d MiXi d MiXm d MgXo d MdXo d MbXm m MnXv m MnXo +d MnXg m MnXm d MpXo d MsXo d MuXm d MuXg m MzXv +stroke +01 setlinewidth +m F~Q{ d F?Q} d G@Q~ d GBR@ d GCRA d GDRC d GFRE d GGRF d GHRH d GJRJ +d GKRK d GLRM d GNRN d GORP d GPRQ d GRRS d GSRT d GTRU d GVRV d GWRX +d GXRY d GZRZ d G[RZ d G\R[ d G^R\ d G_R\ d G`R] d GbR] d GcR^ d GdR^ +d GfR^ d GgR^ d GhR^ d GjR] d GkR] d GlR\ d GnR\ d GoR[ d GpRZ d GrRY +d GsRX d GtRW d GvRV d GwRT d GxRS d GzRQ d G{RP d G}RN d G~RL d G?RJ +d H@RI d HBRG d HCRE d HDRC d HFRA d HGQ? d HIQ} d HJQ{ d HKQy d HMQv +d HNQt d HOQr d HPQq d HRQo d HSQm d HUQk d HVQi d HWQh d HYQf d HZQd +d H[Qc d H]Qb d H^Qa d H_Q` d HaQ_ d HbQ^ d HcQ] d HeQ\ d HfQ\ d HgQ\ +d HiQ\ d HjQ\ d HkQ\ d HmQ\ d HnQ\ d HoQ] d HqQ^ d HrQ_ d HsQ` d HuQa +d HvQb d HwQd d HyQe d HzQg d H{Qi d H}Qk d H~Qm d H?Qo d IAQq d IBQs +d ICQv d IEQx d IFQ{ d IGQ~ d IIR@ d IJRC d IKRF d IMRI d INRK d IORN +d IQRQ d IRRT d ISRV d IURY d IVR[ d IWR^ d IYR` d IZRc d I[Re d I]Rg +d I^Ri d I_Rk d IaRm d IbRo d IcRp d IeRq d IfRr d IgRs d IiRt d IjRu +d IkRu d ImRu d InRu d IoRu d IqRu d IrRt d IsRs d IuRr d IvRq d IwRo +d IyRn d IzRl d I{Ri d I}Rg d I~Re d I?Rb d JAR_ d JBR\ d JCRY d JERV +d JFRR d JGRN d JIRK d JJRG d JKRC d JMQ? d JNQ{ d JOQv d JQQr d JRQn +d JSQj d JUQe d JVQa d JWQ] d JYQY d JZQT d J[QP d J]QL d J^QI d J_QE +d JaQA d JbP~ d JcP{ d JePx d JfPu d JgPs d JiPp d JjPn d JkPl d JmPk +d JnPj d JoPi d JqPh d JrPh d JsPh d JuPi d JvPj d JwPk d JyPl d JzPn +d J{Pq d J}Pt d J~Pw d J?Pz d KAP~ d KBQC d KDQG d KEQL d KFQR d KGQX +d KIQ^ d KJQe d KKQl d KMQs d KNQ{ d KPRC d KQRK d KRRT d KTR] d KURf +d KVRp d KXRz d KYSD d KZSN d K\SX d K]Sc d K^Sm d K`Sx d KaTC d KbTN +d KdTY d KeTd d KfTo d KhT{ d KiUF d KjUQ d KlU\ d KmUf d KnUq d KpU| +d KqVF d KrVP d KtVZ d KuVd d KvVn d KxVw d KyW@ d KzWH d K|WQ d K}WY +d K~W` d L@Wg d LAWn d LBWt d LDWz d LEW? d LFXD d LHXH d LIXL d LJXP +d LLXS d LMXU d LNXW d LPXX d LQXY d LRXY d LTXY d LUXX d LVXW d LXXU +d LYXS d LZXP d L\XL d L]XH d L^XD d L`W? d LaWz d LbWt d LdWn d LeWg +d LfW` d LhWY d LiWQ d LjWH d LlW@ d LmVw d LnVn d LpVd d LqVZ d LrVP +d LtVF d LuU| d LvUq d LxUf d LyU\ d LzUQ d L|UF d L}T{ d L~To d M@Td +d MATY d MBTN d MDTC d MESx d MFSm d MHSc d MISX d MJSN d MLSD d MMRz +d MNRp d MPRf d MQR] d MRRT d MTRK d MURC d MVQ{ d MXQs d MYQl d MZQe +d M\Q^ d M]QX d M^QR d M`QL d MaQG d MbQC d MdP~ d MePz d MfPw d MhPt +d MiPq d MjPn d MlPl d MmPk d MnPj d MpPi d MqPh d MrPh d MtPh d MuPi +d MvPj d MxPk d MyPl d MzPn d M|Pp d M}Ps d M~Pu d N@Px d NAP{ d NBP~ +d NDQA d NEQE d NFQI d NHQL d NIQP d NKQT d NLQY d NMQ] d NOQa d NPQe +d NQQj d NRQn d NTQr d NUQv d NWQ{ d NXQ? d NYRC d N[RG d N\RK d N]RN +d N_RR d N`RV d NaRY d NcR\ d NdR_ d NeRb d NgRe d NhRg d NiRi d NkRl +d NlRn d NmRo d NoRq d NpRr d NqRs d NsRt d NtRu d NuRu d NwRu d NxRu +d NyRu d N{Ru d N|Rt d N}Rs d N?Rr d O@Rq d OARp d OCRo d ODRm d OERk +d OGRi d OHRg d OIRe d OKRc d OLR` d OMR^ d OOR[ d OPRY d OQRV d OSRT +d OTRQ d OURN d OWRK d OXRI d OYRF d O[RC d O\R@ d O]Q~ d O_Q{ d O`Qx +d OaQv d OcQs d OdQq d OeQo d OgQm d OhQk d OiQi d OkQg d OlQe d OmQd +d OoQb d OpQa d OqQ` d OsQ_ d OtQ^ d OuQ] d OwQ\ d OxQ\ d OyQ\ d O{Q\ +d O|Q\ d O}Q\ d O?Q\ d P@Q\ d PAQ] d PCQ^ d PDQ_ d PEQ` d PGQa d PHQb +d PIQc d PKQd d PLQf d PMQh d POQi d PPQk d PQQm d PSQo d PTQq d PUQr +d PWQt d PXQv d PYQy d P[Q{ d P\Q} d P]Q? d P_RA d P`RC d PaRE d PcRG +d PdRI d PeRJ d PgRL d PhRN d PiRP d PkRQ d PlRS d PmRT d PoRV d PpRW +d PqRX d PsRY d PtRZ d PuR[ d PwR\ d PxR\ d PyR] d P{R] d P|R^ d P}R^ +d P?R^ d Q@R^ d QAR^ d QCR] d QDR] d QER\ d QGR\ d QHR[ d QIRZ d QKRZ +d QLRY d QMRX d QORV d QPRU d QQRT d QSRS d QTRQ d QVRP d QWRN d QXRM +d QYRK d Q[RJ d Q\RH d Q]RF d Q_RE d Q`RC d QbRA d QcR@ d QdQ~ d QfQ} +d QgQ{ d QhQz m O_Sg d O_Sj d O^Sl +stroke +m O^Sl d O]So d O[Sq d OYSs d OVSu d OSSw d OOSx d OKSz d OGS{ d OCS{ +d N~S{ d NzS{ d NvS{ d NqSz d NmSy d NjSx d NfSv d NcSt d NaSr d N^Sp +d N]Sm d N\Sk d N[Sh d N[Sf d N\Sc d N]Sa d N^S^ d NaS\ d NcSZ d NfSX +d NjSV d NmSU d NqST d NvSS d NzSS d N~SS d OCSS d OGSS d OKST d OOSU +d OSSW d OVSY d OYS[ d O[S] d O]S_ d O^Sb d O_Sd d O_Sg m OvSo d OuSs +d OtSw d OrS{ d OpS~ d OmTA d OjTD d OfTG d OaTI d O\TK d OWTL d ORTM +d OLTN d OGTN d OATM d N|TL d NwTJ d NrTH d NnTF d NjTC d NgT@ d NdS| +d NbSy d NaSu d N`Sq d N`Sm d NaSi d NbSe d NdSb d NgS^ d NjS[ d NnSX +d NrSV d NwST d N|SR d OASQ d OGSQ d OLSP d ORSQ d OWSR d O\SS d OaSU +d OfSW d OjSZ d OmS] d OpS` d OrSd d OtSg d OuSk d OvSo m PQS{ d PQTA +d PPTG d PMTM d PKTR d PGTW d PBT[ d O}T_ d OxTc d OrTe d OkTg d OeTi +d O^Ti d OWTi d OPTh d OJTf d OCTd d N}Ta d NxT] d NsTY d NoTT d NlTO +d NiTJ d NhTD d NgS~ d NgSx d NhSs d NiSm d NlSg d NoSb d NsS^ d NxSY +d N}SV d OCSS d OJSP d OPSO d OWSN d O^SM d OeSN d OkSO d OrSQ d OxST +d O}SW d PBS[ d PGS` d PKSe d PMSj d PPSp d PQSu d PQS{ m PtTN d PtTW +d PrT_ d PoTh d PlTp d PgTw d PaT~ d P[UD d PTUI d PLUM d PDUP d O|UR +d OsUS d OkUR d OcUQ d OZUN d OSUK d OKUF d ODUA d N~Tz d NyTs d NuTl +d NrTd d NpT[ d NoTR d NoTI d NpTA d NrSx d NuSp d NySh d N~Sa d ODS[ +d OKSU d OSSQ d OZSM d OcSK d OkSI d OsSI d O|SJ d PDSL d PLSO d PTSS +d P[SX d PaS^ d PgSe d PlSl d PoSt d PrS| d PtTE d PtTN m Q`Ti d Q_Tw +d Q]UD d QYUP d QUU\ d QOUg d QHUq d Q@Uz d PwVB d PnVH d PdVL d PYVO +d POVQ d PDVP d OzVN d OoVJ d OfVE d O\U~ d OTUv d OMUl d OFUb d OAUV +d N}UJ d NzT} d NyTp d NyTc d NzTU d N}TI d OAS| d OFSq d OMSf d OTS] +d O\SU d OfSN d OoSH d OzSE d PDSB d POSB d PYSC d PdSF d PnSK d PwSQ +d Q@SX d QHSa d QOSk d QUSw d QYTB d Q]TO d Q_T\ d Q`Ti m QhWS d QdWW +d QXW` d QKWg d P~Wl d PqWn d PcWm d PVWj d PIWd d O}W\ d OrWR d OgWE +d O^Vw d OVVg d OPVV d OJVD d OGUp d OEU] d OEUI d OGTu d OJTb d OPTO +d OVS~ d O^Sn d OgS` d OrST d O}SI d PISA d PVR| d PcRx d PqRx d P~Ry +d QKR~ d QXSE d QdSN d QhSS m OnXY d OjXP d ObWv d O[WZ d OWV} d OUV` +d OUVB d OWUd d O[UG d ObTl d OjTR d OtSz d P@Se d PMSR d P[SC d PjRw +d PzRn d QKRi d Q[Rh d QhRj m OjXY d OiXD d OiWW d OkVk d OqU? d OyUV +d PCTo d POTL d P^Sl d PnSP d Q@Ry d QSRf d QgRZ d QhRZ m PDXY d PDXU +d PKWT d PUVV d PbU\ d PqTf d QDSv d QXSL d QhRs m PtXY d PyWv d QIV^ +d Q\UN d QhTg +stroke +03 setlinewidth +m F~F^ d GRF^ d GRFp d GRF^ m G@FL d GGFL m GLFU m GLFR d GNFT d GQFT +d GTFR d GTFO d GQFM d GPFM m GQFM d GTFK d GTFH d GQFF d GNFF d GLFH +m GXFU m GZFT d GXFQ d GXFI d GZFF d G^FF d G`FI d G`FQ d G^FT d GZFT +m GdFU m GRF^ d GlF^ d GlFg d GlF^ d HGF^ d HGFg d HGF^ d HbF^ d HbFg +d HbF^ d H}F^ d H}Fp d H}F^ m HkFL d HrFL m HvFU m HwFR d HyFT d H}FT +d H?FR d H?FN d HwFH d HwFF d H?FF m ICFU m IEFT d ICFQ d ICFI d IEFF +d IHFF d IKFI d IKFQ d IHFT d IEFT m IOFU m H}F^ d IWF^ d IWFg d IWF^ +d IrF^ d IrFg d IrF^ d JMF^ d JMFg d JMF^ d JgF^ d JgFp d JgF^ m JVFL +d J]FL m JaFU m JcFQ d JfFT d JfFF m JmFU m JpFT d JnFQ d JnFI d JpFF +d JsFF d JvFI d JvFQ d JsFT d JpFT m JzFU m JgF^ d KBF^ d KBFg d KBF^ +d K]F^ d K]Fg d K]F^ d KxF^ d KxFg d KxF^ d LRF^ d LRFp d LRF^ m LOFT +d LMFQ d LMFI d LOFF d LRFF d LTFI d LTFQ d LRFT d LOFT m LXFU m LRF^ +d LmF^ d LmFg d LmF^ d MHF^ d MHFg d MHF^ d MbF^ d MbFg d MbF^ d M}F^ +d M}Fp d M}F^ m MrFQ d MuFT d MuFF m M}FU m N@FT d M}FQ d M}FI d N@FF +d NCFF d NEFI d NEFQ d NCFT d N@FT m NIFU m M}F^ d NXF^ d NXFg d NXF^ +d NsF^ d NsFg d NsF^ d OMF^ d OMFg d OMF^ d OhF^ d OhFp d OhF^ m O\FR +d O^FT d ObFT d OdFR d OdFN d O\FH d O\FF d OdFF m OhFU m OkFT d OhFQ +d OhFI d OkFF d OnFF d OpFI d OpFQ d OnFT d OkFT m OtFU m OhF^ d PCF^ +d PCFg d PCF^ d P]F^ d P]Fg d P]F^ d PxF^ d PxFg d PxF^ d QSF^ d QSFp +d QSF^ m QGFR d QIFT d QLFT d QOFR d QOFO d QLFM d QKFM m QLFM d QOFK +d QOFH d QLFF d QIFF d QGFH m QSFU m QUFT d QSFQ d QSFI d QUFF d QYFF +d Q[FI d Q[FQ d QYFT d QUFT m Q_FU m QSF^ d QhF^ m QhF^ d QhFe d QWFe +d QhFe d QhFz d Q`Fz d QhFz d QhGN d Q`GN d QhGN d QhGb d Q`Gb d QhGb +d QhGw d QWGw d QhGw d QhHK d Q`HK d QhHK d QhH` d Q`H` d QhH` d QhHt +d Q`Ht d QhHt d QhII d QWII d QhII d QhI] d Q`I] d QhI] d QhIq d Q`Iq +d QhIq d QhJF d Q`JF d QhJF d QhJZ d QWJZ d QhJZ d QhJo d Q`Jo d QhJo +d QhKC d Q`KC d QhKC d QhKW d Q`KW d QhKW d QhKl d QWKl d QhKl d QhL@ +d Q`L@ d QhL@ d QhLU d Q`LU d QhLU d QhLi d Q`Li d QhLi d QhL~ d QWL~ +d QhL~ d QhMR d Q`MR d QhMR d QhMf d Q`Mf d QhMf d QhM{ d Q`M{ d QhM{ +d QhNO d QWNO d QhNO d QhNO m F~F^ d F~Fe d GOFe d F~Fe m FTFf d F[Ff +m F_Fo m FcF` d FcF_ d FdF_ d FdF` d FcF` d FdF_ m FkFo m FlFl d FnFn +d FrFn d FsFl d FsFh d FlFb d FlF` d FsF` m FxFo m F~Fe d F~Fz d GFFz +d F~Fz d F~GN d GFGN d F~GN d F~Gb d GFGb d F~Gb d F~Gw d GOGw d F~Gw +m FnH@ d FlG} d FlGu d FnGr d FqGr d FsGu d FsG} d FqH@ d FnH@ m FxH@ +m F~Gw d F~HK d GFHK d F~HK d F~H` d GFH` d F~H` d F~Ht d GFHt d F~Ht +d F~II d GOII d F~II m FcID d FcIC d FdIC d FdID d FcID d FdIC m FkIR +m FlIO d FnIR d FrIR d FsIO d FsIK d FlIE d FlIC d FsIC m FxIR m F~II +d F~I] d GFI] d F~I] d F~Iq d GFIq d F~Iq d F~JF d GFJF d F~JF d F~JZ +d GOJZ d F~JZ m FcJU d FcJT d FdJT d FdJU d FcJU d FdJT m FkJd m FrJU +d FrJc d FqJc d FlJZ d FlJY d FrJY m FrJY d FsJY m FxJd m F~JZ d F~Jo +d GFJo d F~Jo d F~KC d GFKC d F~KC d F~KW d GFKW d F~KW d F~Kl d GOKl +d F~Kl m FcKg d FcKf d FdKf d FdKg d FcKg d FdKf m FkKu m FlKl d FnKo +d FqKo d FsKl d FsKi d FqKg d FnKg d FlKi d FlKl d FlKq d FpKu m FxKu +m F~Kl d F~L@ d GFL@ d F~L@ d F~LU d GFLU d F~LU d F~Li d GFLi d F~Li +d F~L~ d GOL~ d F~L~ m FcLy d FcLx d FdLx d FdLy d FcLy d FdLx m FkMG +m FnMG d FlMD d FlMB d FnM@ d FlL~ d FlLz d FnLx d FrLx d FsLz d FsL~ +d FrM@ d FnM@ m FrM@ d FsMB d FsMD d FrMG d FnMG m FxMG m F~L~ d F~MR +d GFMR d F~MR d F~Mf d GFMf d F~Mf d F~M{ d GFM{ d F~M{ d F~NO d GONO +d F~NO m FmNU d FpNX d FpNJ m FxNY m F~NO d F~NO m F~NO d GRNO d GRM} +d GRNO d GlNO d GlNF d GlNO d HGNO d HGNF d HGNO d HbNO d HbNF d HbNO +d H}NO d H}M} d H}NO d IWNO d IWNF d IWNO d IrNO d IrNF d IrNO d JMNO +d JMNF d JMNO d JgNO d JgM} d JgNO d KBNO d KBNF d KBNO d K]NO d K]NF +d K]NO d KxNO d KxNF d KxNO d LRNO d LRM} d LRNO d LmNO d LmNF d LmNO +d MHNO d MHNF d MHNO d MbNO d MbNF d MbNO d M}NO d M}M} d M}NO d NXNO +d NXNF d NXNO d NsNO d NsNF d NsNO d OMNO d OMNF d OMNO d OhNO d OhM} +d OhNO d PCNO d PCNF d PCNO d P]NO d P]NF d P]NO d PxNO d PxNF d PxNO +d QSNO d QSM} d QSNO d QhNO +stroke +01 setlinewidth +m F~Fe d G@Fe m GGFe d GIFe m GQFe d GSFe m GZFe d G\Fe m GdFe d GfFe +m GmFe d GoFe m GwFe d GyFe m H@Fe d HBFe m HJFe d HLFe m HSFe d HUFe +m H]Fe d H_Fe m HfFe d HhFe m HpFe d HrFe m HzFe d H{Fe m ICFe d IEFe +m IMFe d INFe m IVFe d IXFe m I`Fe d IaFe m IiFe d IkFe m IsFe d IuFe +m I|Fe d I~Fe m JFFe d JHFe m JOFe d JQFe m JYFe d J[Fe m JbFe d JdFe +m JlFe d JnFe m JuFe d JwFe m J?Fe d KAFe m KHFe d KJFe m KRFe d KTFe +m K[Fe d K]Fe m KeFe d KgFe m KnFe d KpFe m KxFe d KzFe m LAFe d LCFe +m LKFe d LMFe m LUFe d LVFe m L^Fe d L`Fe m LhFe d LiFe m LqFe d LsFe +m L{Fe d L|Fe m MDFe d MFFe m MNFe d MPFe m MWFe d MYFe m MaFe d McFe +m MjFe d MlFe m MtFe d MvFe m M}Fe d M?Fe m NGFe d NIFe m NPFe d NRFe +m NZFe d N\Fe m NcFe d NeFe m NmFe d NoFe m NvFe d NxFe m O@Fe d OBFe +m OIFe d OKFe m OSFe d OUFe m O\Fe d O^Fe m OfFe d OhFe m OpFe d OqFe +m OyFe d O{Fe m PCFe d PDFe m PLFe d PNFe m PVFe d PWFe m P_Fe d PaFe +m PiFe d PkFe m PrFe d PtFe m P|Fe d P~Fe m QEFe d QGFe m QOFe d QQFe +m QXFe d QZFe m QbFe d QdFe m QhFe m F~Gw m GAGw d GCGw m GJGw d GLGw +m GTGw d GVGw m G]Gw d G_Gw m GgGw d GiGw m GpGw d GrGw m GzGw d G|Gw +m HCGw d HEGw m HMGw d HOGw m HWGw d HXGw m H`Gw d HbGw m HjGw d HkGw +m HsGw d HuGw m H}Gw d H?Gw m IFGw d IHGw m IPGw d IRGw m IYGw d I[Gw +m IcGw d IeGw m IlGw d InGw m IvGw d IxGw m I?Gw d JAGw m JIGw d JKGw +m JRGw d JTGw m J\Gw d J^Gw m JeGw d JgGw m JoGw d JqGw m JxGw d JzGw +m KBGw d KDGw m KKGw d KMGw m KUGw d KWGw m K^Gw d K`Gw m KhGw d KjGw +m KrGw d KsGw m K{Gw d K}Gw m LEGw d LFGw m LNGw d LPGw m LXGw d LZGw +m LaGw d LcGw m LkGw d LmGw m LtGw d LvGw m L~Gw d M@Gw m MGGw d MIGw +m MQGw d MSGw m MZGw d M\Gw m MdGw d MfGw m MmGw d MoGw m MwGw d MyGw +m N@Gw d NBGw m NJGw d NLGw m NSGw d NUGw m N]Gw d N_Gw m NfGw d NhGw +m NpGw d NrGw m NyGw d N{Gw m OCGw d OEGw m OMGw d ONGw m OVGw d OXGw +m O`Gw d OaGw m OiGw d OkGw m OsGw d OuGw m O|Gw d O~Gw m PFGw d PHGw +m POGw d PQGw m PYGw d P[Gw m PbGw d PdGw m PlGw d PnGw m PuGw d PwGw +m P?Gw d QAGw m QHGw d QJGw m QRGw d QTGw m Q[Gw d Q]Gw m QeGw d QgGw +m QhGw m F~II m GDII d GFII m GMII d GOII m GWII d GYII m G`II d GbII +m GjII d GlII m GtII d GuII m G}II d G?II m HGII d HHII m HPII d HRII +m HZII d H\II m HcII d HeII m HmII d HoII m HvII d HxII m I@II d IBII +m IIII d IKII m ISII d IUII m I\II d I^II m IfII d IhII m IoII d IqII +m IyII d I{II m JBII d JDII m JLII d JNII m JUII d JWII m J_II d JaII +m JhII d JjII m JrII d JtII m J{II d J}II m KEII d KGII m KOII d KPII +m KXII d KZII m KbII d KcII m KkII d KmII m KuII d KwII m K~II d L@II +m LHII d LJII m LQII d LSII m L[II d L]II m LdII d LfII m LnII d LpII +m LwII d LyII m MAII d MCII m MJII d MLII m MTII d MVII m M]II d M_II +m MgII d MiII m MpII d MrII m MzII d M|II m NCII d NEII m NMII d NOII +m NVII d NXII m N`II d NbII m NjII d NkII m NsII d NuII m N}II d N~II +m OFII d OHII m OPII d ORII m OYII d O[II m OcII d OeII m OlII d OnII +m OvII d OxII m O?II d PAII m PIII d PKII m PRII d PTII m P\II d P^II +m PeII d PgII m PoII d PqII m PxII d PzII m QBII d QDII m QKII d QMII +m QUII d QWII m Q^II d Q`II m QhII d QhII m F~JZ d F?JZ m GGJZ d GIJZ +m GQJZ d GRJZ m GZJZ d G\JZ m GdJZ d GeJZ m GmJZ d GoJZ m GwJZ d GyJZ +m H@JZ d HBJZ m HJJZ d HLJZ m HSJZ d HUJZ m H]JZ d H_JZ m HfJZ d HhJZ +m HpJZ d HrJZ m HyJZ d H{JZ m ICJZ d IEJZ m ILJZ d INJZ m IVJZ d IXJZ +m I_JZ d IaJZ m IiJZ d IkJZ m IrJZ d ItJZ m I|JZ d I~JZ m JEJZ d JGJZ +m JOJZ d JQJZ m JXJZ d JZJZ m JbJZ d JdJZ m JlJZ d JmJZ m JuJZ d JwJZ +m J?JZ d K@JZ m KHJZ d KJJZ m KRJZ d KTJZ m K[JZ d K]JZ m KeJZ d KgJZ +m KnJZ d KpJZ m KxJZ d KzJZ m LAJZ d LCJZ m LKJZ d LMJZ m LTJZ d LVJZ +m L^JZ d L`JZ m LgJZ d LiJZ m LqJZ d LsJZ m LzJZ d L|JZ m MDJZ d MFJZ +m MMJZ d MOJZ m MWJZ d MYJZ m M`JZ d MbJZ m MjJZ d MlJZ m MsJZ d MuJZ +m M}JZ d M?JZ m NGJZ d NHJZ m NPJZ d NRJZ m NZJZ d N[JZ m NcJZ d NeJZ +m NmJZ d NoJZ m NvJZ d NxJZ m O@JZ d OBJZ m OIJZ d OKJZ m OSJZ d OUJZ +m O\JZ d O^JZ m OfJZ d OhJZ m OoJZ d OqJZ m OyJZ d O{JZ m PBJZ d PDJZ +m PLJZ d PNJZ m PUJZ d PWJZ m P_JZ d PaJZ m PhJZ d PjJZ m PrJZ d PtJZ +m P{JZ d P}JZ m QEJZ d QGJZ m QNJZ d QPJZ m QXJZ d QZJZ m QbJZ d QcJZ +m QhJZ m F~Kl m GAKl d GBKl m GJKl d GLKl m GTKl d GVKl m G]Kl d G_Kl +m GgKl d GiKl m GpKl d GrKl m GzKl d G|Kl m HCKl d HEKl m HMKl d HOKl +m HVKl d HXKl m H`Kl d HbKl m HiKl d HkKl m HsKl d HuKl m H|Kl d H~Kl +m IFKl d IHKl m IOKl d IQKl m IYKl d I[Kl m IbKl d IdKl m IlKl d InKl +m IuKl d IwKl m I?Kl d JAKl m JIKl d JJKl m JRKl d JTKl m J\Kl d J]Kl +m JeKl d JgKl m JoKl d JqKl m JxKl d JzKl m KBKl d KDKl m KKKl d KMKl +m KUKl d KWKl m K^Kl d K`Kl m KhKl d KjKl m KqKl d KsKl m K{Kl d K}Kl +m LDKl d LFKl m LNKl d LPKl m LWKl d LYKl m LaKl d LcKl m LjKl d LlKl +m LtKl d LvKl m L}Kl d L?Kl m MGKl d MIKl m MPKl d MRKl m MZKl d M\Kl +m MdKl d MeKl m MmKl d MoKl m MwKl d MxKl m N@Kl d NBKl m NJKl d NLKl +m NSKl d NUKl m N]Kl d N_Kl m NfKl d NhKl m NpKl d NrKl m NyKl d N{Kl +m OCKl d OEKl m OLKl d ONKl m OVKl d OXKl m O_Kl d OaKl m OiKl d OkKl +m OrKl d OtKl m O|Kl d O~Kl m PEKl d PGKl m POKl d PQKl m PXKl d PZKl +m PbKl d PdKl m PkKl d PmKl m PuKl d PwKl m P?Kl d Q@Kl m QHKl d QJKl +m QRKl d QSKl m Q[Kl d Q]Kl m QeKl d QgKl m QhKl m F~L~ m GDL~ d GFL~ +m GML~ d GOL~ m GWL~ d GYL~ m G`L~ d GbL~ m GjL~ d GlL~ m GsL~ d GuL~ +m G}L~ d G?L~ m HFL~ d HHL~ m HPL~ d HRL~ m HYL~ d H[L~ m HcL~ d HeL~ +m HlL~ d HnL~ m HvL~ d HxL~ m H?L~ d IAL~ m IIL~ d IKL~ m IRL~ d ITL~ +m I\L~ d I^L~ m IfL~ d IgL~ m IoL~ d IqL~ m IyL~ d IzL~ m JBL~ d JDL~ +m JLL~ d JNL~ m JUL~ d JWL~ m J_L~ d JaL~ m JhL~ d JjL~ m JrL~ d JtL~ +m J{L~ d J}L~ m KEL~ d KGL~ m KNL~ d KPL~ m KXL~ d KZL~ m KaL~ d KcL~ +m KkL~ d KmL~ m KtL~ d KvL~ m K~L~ d L@L~ m LGL~ d LIL~ m LQL~ d LSL~ +m LZL~ d L\L~ m LdL~ d LfL~ m LmL~ d LoL~ m LwL~ d LyL~ m MAL~ d MBL~ +m MJL~ d MLL~ m MTL~ d MUL~ m M]L~ d M_L~ m MgL~ d MiL~ m MpL~ d MrL~ +m MzL~ d M|L~ m NCL~ d NEL~ m NML~ d NOL~ m NVL~ d NXL~ m N`L~ d NbL~ +m NiL~ d NkL~ m NsL~ d NuL~ m N|L~ d N~L~ m OFL~ d OHL~ m OOL~ d OQL~ +m OYL~ d O[L~ m ObL~ d OdL~ m OlL~ d OnL~ m OuL~ d OwL~ m O?L~ d PAL~ +m PHL~ d PJL~ m PRL~ d PTL~ m P\L~ d P]L~ m PeL~ d PgL~ m PoL~ d PpL~ +m PxL~ d PzL~ m QBL~ d QDL~ m QKL~ d QML~ m QUL~ d QWL~ m Q^L~ d Q`L~ +m QhL~ d QhL~ m F~NO d F?NO m GGNO d GINO m GPNO d GRNO m GZNO d G\NO +m GcNO d GeNO m GmNO d GoNO m GvNO d GxNO m H@NO d HBNO m HINO d HKNO +m HSNO d HUNO m H\NO d H^NO m HfNO d HhNO m HpNO d HqNO m HyNO d H{NO +m ICNO d IDNO m ILNO d INNO m IVNO d IWNO m I_NO d IaNO m IiNO d IkNO +m IrNO d ItNO m I|NO d I~NO m JENO d JGNO m JONO d JQNO m JXNO d JZNO +m JbNO d JdNO m JkNO d JmNO m JuNO d JwNO m J~NO d K@NO m KHNO d KJNO +m KQNO d KSNO m K[NO d K]NO m KdNO d KfNO m KnNO d KpNO m KwNO d KyNO +m LANO d LCNO m LKNO d LLNO m LTNO d LVNO m L^NO d L_NO m LgNO d LiNO +m LqNO d LrNO m LzNO d L|NO m MDNO d MFNO m MMNO d MONO m MWNO d MYNO +m M`NO d MbNO m MjNO d MlNO m MsNO d MuNO m M}NO d M?NO m NFNO d NHNO +m NPNO d NRNO m NYNO d N[NO m NcNO d NeNO m NlNO d NnNO m NvNO d NxNO +m N?NO d OANO m OINO d OKNO m ORNO d OTNO m O\NO d O^NO m OfNO d OgNO +m OoNO d OqNO m OyNO d OzNO m PBNO d PDNO m PLNO d PMNO m PUNO d PWNO +m P_NO d PaNO m PhNO d PjNO m PrNO d PtNO m P{NO d P}NO m QENO d QGNO +m QNNO d QPNO m QXNO d QZNO m QaNO d QcNO m QhNO m GRF^ m GRF` d GRFa +m GRFf d GRFh m GRFm d GRFn m GRFs d GRFt m GRFy d GRF{ m GRG@ d GRGA +m GRGF d GRGG m GRGL d GRGN m GRGS d GRGT +stroke +m GRGT m GRGY d GRGZ m GRG_ d GRGa m GRGf d GRGg m GRGl d GRGm m GRGr +d GRGt m GRGy d GRGz m GRG? d GRH@ m GRHE d GRHG m GRHL d GRHM m GRHR +d GRHS m GRHY d GRHZ m GRH_ d GRH` m GRHe d GRHf m GRHl d GRHm m GRHr +d GRHs m GRHx d GRHz m GRH? d GRI@ m GRIE d GRIF m GRIK d GRIM m GRIR +d GRIS m GRIX d GRIY m GRI^ d GRI` m GRIe d GRIf m GRIk d GRIl m GRIq +d GRIs m GRIx d GRIy m GRI~ d GRI? m GRJD d GRJF m GRJK d GRJL m GRJQ +d GRJR m GRJW d GRJY m GRJ^ d GRJ_ m GRJd d GRJe m GRJk d GRJl m GRJq +d GRJr m GRJw d GRJx m GRJ~ d GRJ? m GRKD d GRKE m GRKJ d GRKL m GRKQ +d GRKR m GRKW d GRKX m GRK] d GRK_ m GRKd d GRKe m GRKj d GRKk m GRKp +d GRKr m GRKw d GRKx m GRK} d GRK~ m GRLC d GRLE m GRLJ d GRLK m GRLP +d GRLQ m GRLV d GRLX m GRL] d GRL^ m GRLc d GRLd m GRLi d GRLk m GRLp +d GRLq m GRLv d GRLw m GRL} d GRL~ m GRMC d GRMD m GRMI d GRMJ m GRMP +d GRMQ m GRMV d GRMW m GRM\ d GRM^ m GRMc d GRMd m GRMi d GRMj m GRMo +d GRMq m GRMv d GRMw m GRM| d GRM} m GRNB d GRND m GRNI d GRNJ m GRNO +d GRNO m H}F^ d H}F_ m H}Fd d H}Ff m H}Fk d H}Fl m H}Fq d H}Fr m H}Fw +d H}Fy m H}F~ d H}F? m H}GD d H}GE m H}GJ d H}GL m H}GQ d H}GR m H}GW +d H}GX m H}G] d H}G_ m H}Gd d H}Ge m H}Gj d H}Gk m H}Gp d H}Gr m H}Gw +d H}Gx m H}G} d H}G~ m H}HC d H}HE m H}HJ d H}HK m H}HP d H}HQ m H}HW +d H}HX m H}H] d H}H^ m H}Hc d H}Hd m H}Hj d H}Hk m H}Hp d H}Hq m H}Hv +d H}Hx m H}H} d H}H~ m H}IC d H}ID m H}II d H}IK m H}IP d H}IQ m H}IV +d H}IW m H}I\ d H}I^ m H}Ic d H}Id m H}Ii d H}Ij m H}Io d H}Iq m H}Iv +d H}Iw m H}I| d H}I} m H}JB d H}JD m H}JI d H}JJ m H}JO d H}JP m H}JU +d H}JW m H}J\ d H}J] m H}Jb d H}Jc m H}Ji d H}Jj m H}Jo d H}Jp m H}Ju +d H}Jv m H}J| d H}J} m H}KB d H}KC m H}KH d H}KJ m H}KO d H}KP m H}KU +d H}KV m H}K[ d H}K] m H}Kb d H}Kc m H}Kh d H}Ki m H}Kn d H}Kp m H}Ku +d H}Kv m H}K{ d H}K| m H}LA d H}LC m H}LH d H}LI m H}LN d H}LO m H}LT +d H}LV m H}L[ d H}L\ m H}La d H}Lb m H}Lg d H}Li m H}Ln d H}Lo m H}Lt +d H}Lu m H}L{ d H}L| m H}MA d H}MB m H}MG d H}MH m H}MN d H}MO m H}MT +d H}MU m H}MZ d H}M\ m H}Ma d H}Mb m H}Mg d H}Mh m H}Mm d H}Mo m H}Mt +d H}Mu m H}Mz d H}M{ m H}N@ d H}NB m H}NG d H}NH m H}NM d H}NN m H}NO +m JgF^ m JgFb d JgFd m JgFi d JgFj m JgFo d JgFp m JgFu d JgFw m JgF| +d JgF} m JgGB d JgGC m JgGH d JgGJ m JgGO d JgGP m JgGU d JgGV m JgG[ +d JgG] m JgGb d JgGc m JgGh d JgGi m JgGn d JgGp m JgGu d JgGv m JgG{ +d JgG| m JgHB d JgHC m JgHH d JgHI m JgHN d JgHO m JgHU d JgHV m JgH[ +d JgH\ m JgHa d JgHc m JgHh d JgHi m JgHn d JgHo m JgHt d JgHv m JgH{ +d JgH| m JgIA d JgIB m JgIG d JgII m JgIN d JgIO m JgIT d JgIU m JgIZ +d JgI\ m JgIa d JgIb m JgIg d JgIh m JgIm d JgIo m JgIt d JgIu m JgIz +d JgI{ m JgJ@ d JgJB m JgJG d JgJH m JgJM d JgJN m JgJT d JgJU m JgJZ +d JgJ[ m JgJ` d JgJa m JgJg d JgJh m JgJm d JgJn m JgJs d JgJu m JgJz +d JgJ{ m JgK@ d JgKA m JgKF d JgKH m JgKM d JgKN m JgKS d JgKT m JgKY +d JgK[ m JgK` d JgKa m JgKf d JgKg m JgKl d JgKn m JgKs d JgKt m JgKy +d JgKz m JgK? d JgLA m JgLF d JgLG m JgLL d JgLM m JgLR d JgLT m JgLY +d JgLZ m JgL_ d JgL` m JgLf d JgLg m JgLl d JgLm m JgLr d JgLs m JgLy +d JgLz m JgL? d JgM@ m JgME d JgMG m JgML d JgMM m JgMR d JgMS m JgMX +d JgMZ m JgM_ d JgM` m JgMe d JgMf m JgMk d JgMm m JgMr d JgMs m JgMx +d JgMy m JgM~ d JgN@ m JgNE d JgNF m JgNK d JgNL m JgNO m LRF^ m LRF` +d LRFb m LRFg d LRFh m LRFm d LRFn m LRFs d LRFu m LRFz d LRF{ m LRG@ +d LRGA m LRGF d LRGH m LRGM d LRGN m LRGS d LRGT m LRGY d LRG[ m LRG` +d LRGa m LRGf d LRGg m LRGl d LRGn m LRGs d LRGt m LRGy d LRGz m LRH@ +d LRHA m LRHF d LRHG m LRHL d LRHM m LRHS d LRHT m LRHY d LRHZ m LRH_ +d LRHa m LRHf d LRHg m LRHl d LRHm m LRHr d LRHt m LRHy d LRHz m LRH? +d LRI@ m LRIE d LRIG m LRIL d LRIM m LRIR d LRIS m LRIX d LRIZ m LRI_ +d LRI` m LRIe d LRIf m LRIk d LRIm m LRIr d LRIs m LRIx d LRIy m LRI~ +d LRJ@ m LRJE d LRJF m LRJK d LRJL m LRJR d LRJS m LRJX d LRJY m LRJ^ +d LRJ_ m LRJe d LRJf m LRJk d LRJl m LRJq d LRJs m LRJx d LRJy m LRJ~ +d LRJ? m LRKD d LRKF m LRKK d LRKL m LRKQ d LRKR m LRKW d LRKY m LRK^ +d LRK_ m LRKd d LRKe m LRKj d LRKl m LRKq d LRKr m LRKw d LRKx m LRK} +d LRK? m LRLD d LRLE m LRLJ d LRLK m LRLP d LRLR m LRLW d LRLX m LRL] +d LRL^ m LRLd d LRLe m LRLj d LRLk m LRLp d LRLq m LRLw d LRLx m LRL} +d LRL~ m LRMC d LRME m LRMJ d LRMK m LRMP d LRMQ m LRMV d LRMX m LRM] +d LRM^ m LRMc d LRMd m LRMi d LRMk m LRMp d LRMq m LRMv d LRMw m LRM| +d LRM~ m LRNC d LRND m LRNI d LRNJ m LRNO m M}F^ m M}F^ d M}F` m M}Fe +d M}Ff m M}Fk d M}Fl m M}Fq d M}Fs m M}Fx d M}Fy m M}F~ d M}F? m M}GD +d M}GF m M}GK d M}GL m M}GQ d M}GR m M}GW d M}GY m M}G^ d M}G_ m M}Gd +d M}Ge m M}Gj d M}Gl m M}Gq d M}Gr m M}Gw d M}Gx m M}G~ d M}G? m M}HD +d M}HE m M}HJ d M}HK m M}HQ d M}HR m M}HW d M}HX m M}H] d M}H_ m M}Hd +d M}He m M}Hj d M}Hk m M}Hp d M}Hr m M}Hw d M}Hx m M}H} d M}H~ m M}IC +d M}IE m M}IJ d M}IK m M}IP d M}IQ m M}IV d M}IX m M}I] d M}I^ m M}Ic +d M}Id m M}Ii d M}Ik m M}Ip d M}Iq m M}Iv d M}Iw m M}I| d M}I~ m M}JC +d M}JD m M}JI d M}JJ m M}JP d M}JQ m M}JV d M}JW m M}J\ d M}J^ m M}Jc +d M}Jd m M}Ji d M}Jj m M}Jo d M}Jq m M}Jv d M}Jw m M}J| d M}J} m M}KB +d M}KD m M}KI d M}KJ m M}KO d M}KP m M}KU d M}KW m M}K\ d M}K] m M}Kb +d M}Kc m M}Kh d M}Kj m M}Ko d M}Kp m M}Ku d M}Kv m M}K{ d M}K} m M}LB +d M}LC m M}LH d M}LI m M}LN d M}LP m M}LU d M}LV m M}L[ d M}L\ m M}Lb +d M}Lc m M}Lh d M}Li m M}Ln d M}Lp m M}Lu d M}Lv m M}L{ d M}L| m M}MA +d M}MC m M}MH d M}MI m M}MN d M}MO m M}MT d M}MV m M}M[ d M}M\ m M}Ma +d M}Mb m M}Mg d M}Mi m M}Mn d M}Mo m M}Mt d M}Mu m M}Mz d M}M| m M}NA +d M}NB m M}NG d M}NH m M}NM d M}NO m M}NO m OhF^ m OhFc d OhFd m OhFi +d OhFj m OhFo d OhFq m OhFv d OhFw m OhF| d OhF} m OhGB d OhGD m OhGI +d OhGJ m OhGO d OhGP m OhGU d OhGW m OhG\ d OhG] m OhGb d OhGc m OhGi +d OhGj m OhGo d OhGp m OhGu d OhGv m OhG| d OhG} m OhHB d OhHC m OhHH +d OhHJ m OhHO d OhHP m OhHU d OhHV m OhH[ d OhH] m OhHb d OhHc m OhHh +d OhHi m OhHn d OhHp m OhHu d OhHv m OhH{ d OhH| m OhIA d OhIC m OhIH +d OhII m OhIN d OhIO m OhIT d OhIV m OhI[ d OhI\ m OhIa d OhIb m OhIg +d OhIi m OhIn d OhIo m OhIt d OhIu m OhI{ d OhI| m OhJA d OhJB m OhJG +d OhJH m OhJN d OhJO m OhJT d OhJU m OhJZ d OhJ\ m OhJa d OhJb m OhJg +d OhJh m OhJm d OhJo m OhJt d OhJu m OhJz d OhJ{ m OhK@ d OhKB m OhKG +d OhKH m OhKM d OhKN m OhKS d OhKU m OhKZ d OhK[ m OhK` d OhKa m OhKf +d OhKh m OhKm d OhKn m OhKs d OhKt m OhKy d OhK{ m OhL@ d OhLA m OhLF +d OhLG m OhLM d OhLN m OhLS d OhLT m OhLY d OhLZ m OhL` d OhLa m OhLf +d OhLg m OhLl d OhLn m OhLs d OhLt m OhLy d OhLz m OhL? d OhMA m OhMF +d OhMG m OhML d OhMM m OhMR d OhMT m OhMY d OhMZ m OhM_ d OhM` m OhMe +d OhMg m OhMl d OhMm m OhMr d OhMs m OhMx d OhMz m OhM? d OhN@ m OhNE +d OhNF m OhNK d OhNM m OhNO m QSF^ m QSFa d QSFb m QSFg d QSFh m QSFm +d QSFo m QSFt d QSFu m QSFz d QSF{ m QSG@ d QSGB m QSGG d QSGH m QSGM +d QSGN m QSGS d QSGU m QSGZ d QSG[ m QSG` d QSGa m QSGg d QSGh m QSGm +d QSGn m QSGs d QSGt m QSGz d QSG{ m QSH@ d QSHA m QSHF d QSHH m QSHM +d QSHN m QSHS d QSHT m QSHY d QSH[ m QSH` d QSHa m QSHf d QSHg m QSHl +d QSHn m QSHs d QSHt m QSHy d QSHz m QSH? d QSIA m QSIF d QSIG m QSIL +d QSIM m QSIR d QSIT m QSIY d QSIZ m QSI_ d QSI` m QSIe d QSIg m QSIl +d QSIm m QSIr d QSIs m QSIy d QSIz m QSI? d QSJ@ m QSJE d QSJF m QSJL +d QSJM m QSJR d QSJS m QSJX d QSJZ m QSJ_ d QSJ` m QSJe d QSJf m QSJk +d QSJm m QSJr d QSJs m QSJx d QSJy m QSJ~ d QSK@ m QSKE d QSKF m QSKK +d QSKL m QSKQ d QSKS m QSKX d QSKY m QSK^ d QSK_ +stroke +m QSK_ m QSKd d QSKf m QSKk d QSKl m QSKq d QSKr m QSKw d QSKy m QSK~ +d QSK? m QSLD d QSLE m QSLK d QSLL m QSLQ d QSLR m QSLW d QSLX m QSL^ +d QSL_ m QSLd d QSLe m QSLj d QSLl m QSLq d QSLr m QSLw d QSLx m QSL} +d QSL? m QSMD d QSME m QSMJ d QSMK m QSMP d QSMR m QSMW d QSMX m QSM] +d QSM^ m QSMc d QSMe m QSMj d QSMk m QSMp d QSMq m QSMv d QSMx m QSM} +d QSM~ m QSNC d QSND m QSNI d QSNK m QSNO +stroke +03 setlinewidth +m KoEw d KwEi m KoEi d KwEw m K{Ex m K{Eo d LBEo m LGEx m LGEi d LJEw +d LLEw d LNEi m LHEn d LNEn m LSEx m LSEw d L[Ei m LSEi d L[Ew m L_Ex +m LaEw d LeEw m LcEw d LcEi m LaEi d LeEi m LkEx m LlEk d LmEi d LqEi +d LsEk d LsEn d LqEp d LmEp d LlEs d LlEu d LmEw d LqEw d LsEu m LwEx +m EMI? d EVJA d EbJA m EVJA d EMJC m ELJF m EXJG d EXJL m ELJO m EbJO +d EMJQ d EMJR d EbJT m EZJO d EZJS m ELJW m EMJW d EbJ\ m EbJW d EMJ\ +m ELJ_ m EMJ` d EMJc m EMJa d EbJa m EbJ` d EbJc m ELJg m E_Jg d EbJh +d EbJk d E_Jl d E[Jl d EXJk d EWJh d ETJg d EPJg d EMJh d EMJk d EPJl +m ELJo m JpN] d JpNk m JlNk d JtNk m JxNl m JxNk d JxN] m JxNc d JzNe +d J}Ne d J?Nc d J?N] m KDNl m KDNa d KKNa d KKNc d KINe d KFNe d KDNc +d KDN_ d KFN] d KIN] d KKN_ m KPNl m KPNl m K\Nl m K]N_ d K_N] d KcN] +d KdN_ d KdNb d KcNd d K_Nd d K]Ng d K]Ni d K_Nk d KcNk d KdNi m KhNl +m KjNk d KoNk m KmNk d KmN] m KkN] d KoN] m KuNl m KuN] d KuNk d K}N] +d K}Nk m LANl m LIN` d LGN] d LCN] d LAN` d LANi d LCNk d LGNk d LINi +m LMNl m LMNl m LYNl m LYNk d LYN] m LYNd d L^Nd m LYNk d LaNk m LeNl +m LfNe d LfN_ d LgN] d LkN] d LlN_ m LlN] d LlNe m LqNl m LrNe d LrN] +m LrNc d LtNe d LwNe d LxNc d LxN] m L}Nl m MDNd d MCNe d M@Ne d L~Nc +d L~N_ d M@N] d MCN] d MDN^ m MJNl m MKNe d MPNe m MPN^ d MON] d MNN] +d MMN^ d MMNj m MVNl m MYNh d MYNg d MZNg d MZNh d MYNh d MZNg m MYNd +d MZNd d MZN] m MbNl m MbNc d MbN_ d MdN] d MgN] d MiN_ d MiNc d MgNe +d MdNe d MbNc m MnNl m MnNe d MnN] m MnNc d MpNe d MsNe d MuNc d MuN] +m MzNl +stroke +01 setlinewidth +m F~G} d F?G{ d G@Gz d GBGx d GCGv d GDGu d GFGs d GGGr d GHGp d GJGo +d GKGm d GLGl d GNGk d GOGj d GPGj d GRGi d GSGi d GTGi d GVGi d GWGj +d GXGj d GZGk d G[Gl d G\Gn d G^Go d G_Gp d G`Gr d GbGt d GcGu d GdGw +d GfGy d GgG{ d GhG} d GjG~ d GkH@ d GlHA d GnHC d GoHD d GpHE d GrHE +d GsHF d GtHF d GvHF d GwHF d GxHF d GzHE d G{HD d G}HC d G~HB d G?H@ +d H@G~ d HBG} d HCG{ d HDGy d HFGw d HGGu d HIGs d HJGq d HKGo d HMGm +d HNGk d HOGj d HPGi d HRGg d HSGg d HUGf d HVGf d HWGe d HYGf d HZGf +d H[Gg d H]Gh d H^Gi d H_Gj d HaGl d HbGn d HcGp d HeGr d HfGt d HgGw +d HiGy d HjG{ d HkG~ d HmH@ d HnHB d HoHD d HqHF d HrHG d HsHH d HuHI +d HvHJ d HwHK d HyHK d HzHK d H{HJ d H}HJ d H~HH d H?HG d IAHE d IBHD +d ICHA d IEG? d IFG} d IGGz d IIGw d IJGu d IKGr d IMGo d INGm d IOGj +d IQGh d IRGf d ISGd d IUGb d IVGa d IWG` d IYG_ d IZG_ d I[G_ d I]G` +d I^Ga d I_Gb d IaGc d IbGe d IcGg d IeGj d IfGm d IgGo d IiGs d IjGv +d IkGy d ImG| d InH@ d IoHC d IqHF d IrHI d IsHK d IuHN d IvHP d IwHQ +d IyHR d IzHS d I{HT d I}HT d I~HS d I?HR d JAHQ d JBHO d JCHM d JEHJ +d JFHG d JGHD d JIH@ d JJG} d JKGy d JMGu d JNGq d JOGl d JQGh d JRGe +d JSGa d JUG^ d JVGZ d JWGX d JYGV d JZGT d J[GR d J]GR d J^GR d J_GR +d JaGS d JbGU d JcGW d JeGZ d JfG] d JgGa d JiGe d JjGi d JkGn d JmGt +d JnGy d JoG? d JqHD d JrHJ d JsHO d JuHT d JvHY d JwH] d JyHa d JzHe +d J{Hg d J}Hi d J~Hk d J?Hk d KAHk d KBHj d KDHh d KEHe d KFHb d KGH] +d KIHX d KJHR d KKHK d KMHD d KNG} d KPGu d KQGl d KRGd d KTG[ d KUGS +d KVGJ d KXGB d KYF{ d KZFt d K\Fn d K]Fi d K^Fd d K`Fa d KaF_ d KbF^ +d KdF_ d KeFa d KfFd d KhFj d KiFp d KjFy d KlGB d KmGN d KnG[ d KpGi +d KqGy d KrHJ d KtH\ d KuHp d KvID d KxIY d KyIn d KzJD d K|JZ d K}Jq +d K~KG d L@K] d LAKr d LBLF d LDLZ d LELm d LFL~ d LHMO d LIM] d LJMj +d LLMu d LMM~ d LNNF d LPNK d LQNN d LRNO d LTNN d LUNK d LVNF d LXM~ +d LYMu d LZMj d L\M] d L]MO d L^L~ d L`Lm d LaLZ d LbLF d LdKr d LeK] +d LfKG d LhJq d LiJZ d LjJD d LlIn d LmIY d LnID d LpHp d LqH\ d LrHJ +d LtGy d LuGi d LvG[ d LxGN d LyGB d LzFy d L|Fp d L}Fj d L~Fd d M@Fa +d MAF_ d MBF^ d MDF_ d MEFa d MFFd d MHFi d MIFn d MJFt d MLF{ d MMGB +d MNGJ d MPGS d MQG[ d MRGd d MTGl d MUGu d MVG} d MXHD d MYHK d MZHR +d M\HX d M]H] d M^Hb d M`He d MaHh d MbHj d MdHk d MeHk d MfHk d MhHi +d MiHg d MjHe d MlHa d MmH] d MnHY d MpHT d MqHO d MrHJ d MtHD d MuG? +d MvGy d MxGt d MyGn d MzGi d M|Ge d M}Ga d M~G] d N@GZ d NAGW d NBGU +d NDGS d NEGR d NFGR d NHGR d NIGR d NKGT d NLGV d NMGX d NOGZ d NPG^ +d NQGa d NRGe d NTGh d NUGl d NWGq d NXGu d NYGy d N[G} d N\H@ d N]HD +d N_HG d N`HJ d NaHM d NcHO d NdHQ d NeHR d NgHS d NhHT d NiHT d NkHS +d NlHR d NmHQ d NoHP d NpHN d NqHK d NsHI d NtHF d NuHC d NwH@ d NxG| +d NyGy d N{Gv d N|Gs d N}Go d N?Gm d O@Gj d OAGg d OCGe d ODGc d OEGb +d OGGa d OHG` d OIG_ d OKG_ d OLG_ d OMG` d OOGa d OPGb d OQGd d OSGf +d OTGh d OUGj d OWGm d OXGo d OYGr d O[Gu d O\Gw d O]Gz d O_G} d O`G? +d OaHA d OcHD d OdHE d OeHG d OgHH d OhHJ d OiHJ d OkHK d OlHK d OmHK +d OoHJ d OpHI d OqHH d OsHG d OtHF d OuHD d OwHB d OxH@ d OyG~ d O{G{ +d O|Gy d O}Gw d O?Gt d P@Gr d PAGp d PCGn d PDGl d PEGj d PGGi d PHGh +d PIGg d PKGf d PLGf d PMGe d POGf d PPGf d PQGg d PSGg d PTGi d PUGj +d PWGk d PXGm d PYGo d P[Gq d P\Gs d P]Gu d P_Gw d P`Gy d PaG{ d PcG} +d PdG~ d PeH@ d PgHB d PhHC d PiHD d PkHE d PlHF d PmHF d PoHF d PpHF +d PqHF d PsHE d PtHE d PuHD d PwHC d PxHA d PyH@ d P{G~ d P|G} d P}G{ +d P?Gy d Q@Gw d QAGu d QCGt d QDGr d QEGp d QGGo d QHGn d QIGl d QKGk +d QLGj d QMGj d QOGi d QPGi d QQGi d QSGi d QTGj d QVGj d QWGk d QXGl +d QYGm d Q[Go d Q\Gp d Q]Gr d Q_Gs d Q`Gu d QbGv d QcGx d QdGz d QfG{ +d QgG} d QhG~ +stroke +03 setlinewidth +m UtPB d UtPB d UtPT d UtPB m UqOx d UoOu d UoOm d UqOi d UtOi d UvOm +d UvOu d UtOx d UqOx m UzOx m UtPB d VYPB d VYPK d VYPB d V}PB d V}PK +d V}PB d WbPB d WbPK d WbPB d XGPB d XGPT d XGPB m W~Oj d W~Oi d W?Oi +d W?Oj d W~Oj d W?Oi m XGOx m XGOv d XIOx d XMOx d XOOv d XOOq d XGOl +d XGOi d XOOi m XSOx m XGPB d XkPB d XkPK d XkPB d YPPB d YPPK d YPPB +d YtPB d YtPK d YtPB d ZYPB d ZYPT d ZYPB m ZQOj d ZQOi d ZROi d ZROj +d ZQOj d ZROi m ZYOx m Z_Oi d Z_Ox d Z^Ox d ZYOn d ZYOm d Z_Om m Z_Om +d ZaOm m ZeOx m ZYPB d Z}PB d Z}PK d Z}PB d [bPB d [bPK d [bPB d \GPB +d \GPK d \GPB d \kPB d \kPT d \kPB m \cOj d \cOi d \dOi d \dOj d \cOj +d \dOi m \kOx m \kOo d \nOr d \qOr d \sOo d \sOl d \qOi d \nOi d \kOl +d \kOo d \lOt d \pOx m \wOx m \kPB d ]PPB d ]PPK d ]PPB d ]tPB d ]tPK +d ]tPB d ^YPB d ^YPK d ^YPB d ^}PB d ^}PT d ^}PB m ^uOj d ^uOi d ^vOi +d ^vOj d ^uOj d ^vOi m ^}Ox m ^?Ox d ^~Ov d ^~Os d ^?Oq d ^~Oo d ^~Ol +d ^?Oi d _DOi d _EOl d _EOo d _DOq d ^?Oq m _DOq d _EOs d _EOv d _DOx +d ^?Ox m _IOx m ^}PB d _bPB d _bPK d _bPB d `FPB d `FPK d `FPB d `kPB +d `kPK d `kPB d aPPB d aPPT d aPPB m aKOu d aNOx d aNOi m aVOx m aPPB +d aPPB m aPPB d aPPB d `~PB d aPPB d aPP] d aGP] d aPP] d aPPw d aGPw +d aPPw d aPQR d aGQR d aPQR d aPQm d `~Qm d aPQm d aPRH d aGRH d aPRH +d aPRc d aGRc d aPRc d aPR} d aGR} d aPR} d aPSX d `~SX d aPSX d aPSs +d aGSs d aPSs d aPTN d aGTN d aPTN d aPTh d aGTh d aPTh d aPUC d `~UC +d aPUC d aPU^ d aGU^ d aPU^ d aPUy d aGUy d aPUy d aPVS d aGVS d aPVS +d aPVn d `~Vn d aPVn d aPWI d aGWI d aPWI d aPWd d aGWd d aPWd d aPW~ +d aGW~ d aPW~ d aPXY d `~XY d aPXY d aPXY m UtPB d UtPB d VFPB d UtPB +m UePK d UbPH d UbP@ d UeO} d UhO} d UjP@ d UjPH d UhPK d UePK m UnPK +m UtPB d UtP] d U}P] d UtP] d UtPw d U}Pw d UtPw d UtQR d U}QR d UtQR +d UtQm d VFQm d UtQm m UZQh d UZQg d U[Qg d U[Qh d UZQh d U[Qg m UbQv +m UbQt d UdQv d UhQv d UjQt d UjQp d UbQj d UbQh d UjQh m UnQv m UtQm +d UtRH d U}RH d UtRH d UtRc d U}Rc d UtRc d UtR} d U}R} d UtR} d UtSX +d VFSX d UtSX m UZSS d UZSR d U[SR d U[SS d UZSS d U[SR m UbSb m UhSS +d UhSa d UgSa d UbSW d UbSV d UhSV m UhSV d UjSV m UnSb m UtSX d UtSs +d U}Ss d UtSs d UtTN d U}TN d UtTN d UtTh d U}Th d UtTh d UtUC d VFUC +d UtUC m UZT~ d UZT} d U[T} d U[T~ d UZT~ d U[T} m UbUM m UbUD d UeUF +d UhUF d UjUD d UjU@ d UhT~ d UeT~ d UbU@ d UbUD d UcUH d UfUL m UnUM +m UtUC d UtU^ d U}U^ d UtU^ d UtUy d U}Uy d UtUy d UtVS d U}VS d UtVS +d UtVn d VFVn d UtVn m UZVi d UZVh d U[Vh d U[Vi d UZVi d U[Vh m UbVx +m UdVw d UbVu d UbVr d UdVp d UbVn d UbVk d UdVi d UhVi d UjVk d UjVn +d UhVp d UdVp m UhVp d UjVr d UjVu d UhVw d UdVw m UnVx m UtVn d UtWI +d U}WI d UtWI d UtWd d U}Wd d UtWd d UtW~ d U}W~ d UtW~ d UtXY d VFXY +d UtXY m UcX_ d UfXb d UfXT m UnXc m UtXY d UtXY m UtXY d UtXY d UtXG +d UtXY d VYXY d VYXP d VYXY d V}XY d V}XP d V}XY d WbXY d WbXP d WbXY +d XGXY d XGXG d XGXY d XkXY d XkXP d XkXY d YPXY d YPXP d YPXY d YtXY +d YtXP d YtXY d ZYXY d ZYXG d ZYXY d Z}XY d Z}XP d Z}XY d [bXY d [bXP +d [bXY d \GXY d \GXP d \GXY d \kXY d \kXG d \kXY d ]PXY d ]PXP d ]PXY +d ]tXY d ]tXP d ]tXY d ^YXY d ^YXP d ^YXY d ^}XY d ^}XG d ^}XY d _bXY +d _bXP d _bXY d `FXY d `FXP d `FXY d `kXY d `kXP d `kXY d aPXY d aPXG +d aPXY d aPXY +stroke +01 setlinewidth +m `WRo d `eRo d `eR~ d `WR~ d `WRo m [}P\ d \AP\ d \APa d [}Pa d [}P\ +m VjRK d VxRK d VxRY d VjRY d VjRK m _uQR d `BQR d `BQ` d _uQ` d _uQR +m YHSG d YUSG d YUSU d YHSU d YHSG m ]kQF d ]~QF d ]~QY d ]kQY d ]kQF +m \xWo d \|Wo d \|Wt d \xWt d \xWo m _QXB d _ZXB d _ZXL d _QXL d _QXB +m ZTP~ d ZfP~ d ZfQQ d ZTQQ d ZTP~ m UtWC d VBWC d VBWW d UtWW m `AUj +d `FUj d `FUo d `AUo d `AUj m ZBQi d ZTQi d ZTQ| d ZBQ| d ZBQi m ]~Vk +d ^BVk d ^BVp d ]~Vp d ]~Vk m VqRZ d V~RZ d V~Rh d VqRh d VqRZ m ]RT^ +d ]dT^ d ]dTr d ]RTr d ]RT^ m W^VN d WgVN d WgVX d W^VX d W^VN m ]~Qv +d ^GQv d ^GQ? d ]~Q? d ]~Qv m W|Si d X@Si d X@Sn d W|Sn d W|Si m Z^Vc +d ZcVc d ZcVh d Z^Vh d Z^Vc m [bUf d [pUf d [pUt d [bUt d [bUf m [JVR +d [SVR d [SV\ d [JV\ d [JVR m VyP} d V}P} d V}QB d VyQB d VyP} m YVUC +d YhUC d YhUV d YVUV d YVUC m [EUt d [NUt d [NU~ d [EU~ d [EUt m XfWr +d XxWr d XxXE d XfXE d XfWr m `cWU d `uWU d `uWh d `cWh d `cWU m `NQq +d `[Qq d `[R@ d `NR@ d `NQq m VbUB d VpUB d VpUP d VbUP d VbUB m UtVy +d VBVy d VBWL d UtWL m Y\WN d YeWN d YeWX d Y\WX d Y\WN m XUVh d XZVh +d XZVm d XUVm d XUVh m VxRR d WARR d WAR[ d VxR[ d VxRR m ]iQT d ]rQT +d ]rQ] d ]iQ] d ]iQT m ]ZQh d ]cQh d ]cQr d ]ZQr d ]ZQh m __SH d _dSH +d _dSM d __SM d __SH m X~PW d YLPW d YLPf d X~Pf d X~PW m XjQF d XsQF +d XsQP d XjQP d XjQF m ]qSD d ]zSD d ]zSN d ]qSN d ]qSD m `|SL d aISL +d aIS[ d `|S[ d `|SL m `UXS d `^XS d `^XY m `UXY d `UXS m YXRG d Y\RG +d Y\RL d YXRL d YXRG m ]EXA d ]NXA d ]NXK d ]EXK d ]EXA m \bS| d \fS| +d \fT@ d \bT@ d \bS| m VuVy d V}Vy d V}WB d VuWB d VuVy m XsVU d X|VU +d X|V_ d XsV_ d XsVU m `sPQ d `wPQ d `wPV d `sPV d `sPQ m _CT^ d _UT^ +d _UTq d _CTq d _CT^ m XnPH d XwPH d XwPQ d XnPQ d XnPH m `_QU d `cQU +d `cQZ d `_QZ d `_QU m \qVV d \vVV d \vV[ d \qV[ d \qVV m `eVm d `sVm +d `sV{ d `eV{ d `eVm m \pWl d \yWl d \yWv d \pWv d \pWl m ZvSy d Z?Sy +d Z?TB d ZvTB d ZvSy m XRTV d XdTV d XdTj d XRTj d XRTV m _ZTL d _^TL +d _^TQ d _ZTQ d _ZTL m _XRz d _fRz d _fSH d _XSH d _XRz m ZwTo d [ETo +d [ET~ d ZwT~ d ZwTo m ZrQA d [@QA d [@QP d ZrQP d ZrQA m XdPx d XmPx +d XmQB d XdQB d XdPx m ]fTO d ]xTO d ]xTb d ]fTb d ]fTO m ZWSW d ZeSW +d ZeSf d ZWSf d ZWSW m ^IQA d ^RQA d ^RQK d ^IQK d ^IQA m `cPB d `cPG +d `ZPG d `ZPB m UtUw d UwUw d UwU| d UtU| m UwRP d U|RP d U|RU d UwRU +d UwRP m `EQp d `IQp d `IQt d `EQt d `EQp m aHXG d aPXG m aPXQ d aHXQ +d aHXG m \pUL d \yUL d \yUU d \pUU d \pUL m [IPJ d [NPJ d [NPO d [IPO +d [IPJ m ]dTi d ]mTi d ]mTs d ]dTs d ]dTi m XwWA d Y@WA d Y@WK d XwWK +d XwWA m _aWU d _nWU d _nWc d _aWc d _aWU m _BTW d _GTW d _GT\ d _BT\ +d _BTW m \FWt d \OWt d \OW} d \FW} d \FWt m XqTH d XzTH d XzTR d XqTR +d XqTH m `BR| d `GR| d `GSA d `BSA d `BR| m ^dPB d ^iPB d ^iPG d ^dPG +d ^dPB m XMUP d XVUP d XVUZ d XMUZ d XMUP m [TT` d [YT` d [YTe d [TTe +d [TT` m ^VXA d ^_XA d ^_XK d ^VXK d ^VXA m \AUt d \EUt d \EUy d \AUy +d \AUt m _LW| d _QW| d _QXA d _LXA d _LW| m \oXJ d \}XJ d \}XX d \oXX +d \oXJ m XiVo d XrVo d XrVy d XiVy d XiVo m aCT@ d aPT@ m aPTO d aCTO +d aCT@ m [\SA d [jSA d [jSO d [\SO d [\SA m ZRPf d ZdPf d ZdPz d ZRPz +d ZRPf m ]{Wd d ^MWd d ^MWw d ]{Ww d ]{Wd m ZmWk d ZvWk d ZvWu d ZmWu +d ZmWk m WKPT d WYPT d WYPc d WKPc d WKPT m ]hVf d ]qVf d ]qVo d ]hVo +d ]hVf m ]IUO d ]MUO d ]MUT d ]IUT d ]IUO m ^SRH d ^\RH d ^\RQ d ^SRQ +d ^SRH m `wVr d a@Vr d a@V{ d `wV{ d `wVr m [FWU d [SWU d [SWd d [FWd +d [FWU m WOXK d WaXK d WaXY m WOXY d WOXK m `FWp d `KWp d `KWu d `FWu +d `FWp m WwRi d W{Ri d W{Rn d WwRn d WwRi m ZeRi d ZjRi d ZjRn d ZeRn +d ZeRi m [KPm d [OPm d [OPr d [KPr d [KPm m \BQJ d \KQJ d \KQT d \BQT +d \BQJ m ]USx d ]^Sx d ]^TB d ]UTB d ]USx m ^TV^ d ^bV^ d ^bVm d ^TVm +d ^TV^ m ZwUR d [DUR d [DUa d ZwUa d ZwUR m _|W~ d `EW~ d `EXH d _|XH +d _|W~ m ZSWQ d ZWWQ d ZWWV d ZSWV d ZSWQ m _bPf d _kPf d _kPo d _bPo +d _bPf m _~W\ d `PW\ d `PWp d _~Wp d _~W\ m ZkTV d ZoTV d ZoT[ d ZkT[ +d ZkTV m ]bRl d ]pRl d ]pR{ d ]bR{ d ]bRl m \XQm d \jQm d \jR@ d \XR@ +d \XQm m VqQE d VvQE d VvQJ d VqQJ d VqQE m ^`WF d ^rWF d ^rWY d ^`WY +d ^`WF m ZaQh d ZjQh d ZjQr d ZaQr d ZaQh m \xWq d ]FWq d ]FX@ d \xX@ +d \xWq m YKUK d YTUK d YTUU d YKUU d YKUK m WmWv d WvWv d WvW? d WmW? +d WmWv m _FTo d _XTo d _XUB d _FUB d _FTo m _XTM d _fTM d _fT[ d _XT[ +d _XTM m ZhU{ d ZzU{ d ZzVN d ZhVN d ZhU{ m `GRR d `KRR d `KRW d `GRW +d `GRR m ^sQ] d ^|Q] d ^|Qg d ^sQg d ^sQ] m UzSy d VGSy d VGTH d UzTH +d UzSy m ^zUQ d ^?UQ d ^?UV d ^zUV d ^zUQ m W~W\ d XCW\ d XCWa d W~Wa +d W~W\ m XrWO d X{WO d X{WY d XrWY d XrWO m _TRR d _fRR d _fRe d _TRe +d _TRR m `yTR d aFTR d aFTa d `yTa d `yTR m ^~Wp d _GWp d _GWy d ^~Wy +d ^~Wp m ^NUa d ^[Ua d ^[Uo d ^NUo d ^NUa m ]bSc d ]gSc +stroke +m ]gSc d ]gSh d ]bSh d ]bSc m aGVk d aLVk d aLVp d aGVp d aGVk m UtUY +d V@UY d V@Ug d UtUg m ZqRI d ZzRI d ZzRS d ZqRS d ZqRI m _TXI d _fXI +d _fXY m _TXY d _TXI m \JWo d \SWo d \SWy d \JWy d \JWo m `oPy d `}Py +d `}QG d `oQG d `oPy m VnVM d V|VM d V|V[ d VnV[ d VnVM m `rR^ d `vR^ +d `vRc d `rRc d `rR^ m ^PVS d ^]VS d ^]Va d ^PVa d ^PVS m YqRn d ZCRn +d ZCSA d YqSA d YqRn m a@VS d aPVS m aPVg d a@Vg d a@VS m XHTf d XQTf +d XQTp d XHTp d XHTf m ^PU{ d ^bU{ d ^bVO d ^PVO d ^PU{ m XdQr d XqQr +d XqRA d XdRA d XdQr m XpT~ d X~T~ d X~UL d XpUL d XpT~ m _lPk d _yPk +d _yPy d _lPy d _lPk m W_Vo d WcVo d WcVt d W_Vt d W_Vo m `fXR d `kXR +d `kXW d `fXW d `fXR m _zT] d _~T] d _~Tb d _zTb d _zT] m WeQc d WwQc +d WwQv d WeQv d WeQc m YlVQ d Y~VQ d Y~Vd d YlVd d YlVQ m `uSn d `~Sn +d `~Sw d `uSw d `uSn m [cXJ d [hXJ d [hXO d [cXO d [cXJ m ]HQE d ]ZQE +d ]ZQX d ]HQX d ]HQE m \HSI d \[SI d \[S\ d \HS\ d \HSI m ^yWC d _BWC +d _BWM d ^yWM d ^yWC m \uUO d ]CUO d ]CU^ d \uU^ d \uUO m XKRe d XTRe +d XTRo d XKRo d XKRe m VGRm d VPRm d VPRw d VGRw d VGRm m \GUF d \LUF +d \LUK d \GUK d \GUF m VzRb d WGRb d WGRq d VzRq d VzRb m `{Pq d aMPq +d aMQD d `{QD d `{Pq m _VRW d __RW d __R` d _VR` d _VRW m XhV@ d XvV@ +d XvVN d XhVN d XhV@ m \\TH d \nTH d \nT[ d \\T[ d \\TH m WHTS d WQTS +d WQT] d WHT] d WHTS m VcP_ d VuP_ d VuPr d VcPr d VcP_ m _YPl d _^Pl +d _^Pq d _YPq d _YPl m _US} d _gS} d _gTQ d _UTQ d _US} m _OPP d _\PP +d _\P^ d _OP^ d _OPP m \mSA d \rSA d \rSF d \mSF d \mSA m \WTV d \\TV +d \\TZ d \WTZ d \WTV m [wXN d \AXN d \AXW d [wXW d [wXN m \[Vj d \mVj +d \mV} d \[V} d \[Vj m XqU@ d XzU@ d XzUI d XqUI d XqU@ m UxWN d VFWN +d VFW] d UxW] d UxWN m [mQS d [zQS d [zQa d [mQa d [mQS m _xUL d `JUL +d `JU` d _xU` d _xUL m ^BWx d ^TWx d ^TXL d ^BXL d ^BWx m WzVw d XCVw +d XCWA d WzWA d WzVw m WjPB d WjPF d WePF d WePB m [gV~ d [yV~ d [yWQ +d [gWQ d [gV~ m _qUl d _?Ul d _?Uz d _qUz d _qUl m WXVe d WjVe d WjVx +d WXVx d WXVe m \rVe d \{Ve d \{Vn d \rVn d \rVe m ]^Tm d ]bTm d ]bTr +d ]^Tr d ]^Tm m _oWb d `AWb d `AWu d _oWu d _oWb m \BU{ d \GU{ d \GV@ +d \BV@ d \BU{ m _VWL d _[WL d _[WQ d _VWQ d _VWL m _|S@ d `JS@ d `JSN +d _|SN d _|S@ m _KPm d _]Pm d _]Q@ d _KQ@ d _KPm m ZMVy d ZQVy d ZQV~ +d ZMV~ d ZMVy m VWQi d VdQi d VdQx d VWQx d VWQi m XEWy d XNWy d XNXB +d XEXB d XEWy m XIQv d XRQv d XRR@ d XIR@ d XIQv m \vTm d \?Tm d \?Tw +d \vTw d \vTm m [QQ^ d [ZQ^ d [ZQg d [QQg d [QQ^ m YQUy d YcUy d YcVM +d YQVM d YQUy m `NPY d `RPY d `RP] d `NP] d `NPY m ^MS} d ^VS} d ^VTF +d ^MTF d ^MS} m WaWW d WjWW d WjW` d WaW` d WaWW m Z@W~ d ZNW~ d ZNXM +d Z@XM d Z@W~ m WsRX d X@RX d X@Rf d WsRf d WsRX m UtQK d VAQK d VAQY +d UtQY m [_Sm d [dSm d [dSr d [_Sr d [_Sm m WLTQ d WYTQ d WYT_ d WLT_ +d WLTQ m WoRR d XARR d XARe d WoRe d WoRR m [jSi d [nSi d [nSn d [jSn +d [jSi m \zVf d ]CVf d ]CVp d \zVp d \zVf m _pTa d `BTa d `BTt d _pTt +d _pTa m [dVy d [mVy d [mWC d [dWC d [dVy m ]XU` d ]jU` d ]jUs d ]XUs +d ]XU` m _~QX d `BQX d `BQ] d _~Q] d _~QX m XOSl d XSSl d XSSq d XOSq +d XOSl m ZzVn d [CVn d [CVw d ZzVw d ZzVn m YsQj d ZEQj d ZEQ} d YsQ} +d YsQj m ^ZWZ d ^_WZ d ^_W_ d ^ZW_ d ^ZWZ m _FRY d _JRY d _JR^ d _FR^ +d _FRY m XHSB d XZSB d XZSU d XHSU d XHSB m YNPb d Y`Pb d Y`Pu d YNPu +d YNPb m [QUv d [VUv d [VU{ d [QU{ d [QUv m Y{Q@ d ZDQ@ d ZDQJ d Y{QJ +d Y{Q@ m ``QY d `nQY d `nQh d ``Qh d ``QY m `hXA d `qXA d `qXK d `hXK +d `hXA m ]aQq d ]fQq d ]fQv d ]aQv d ]aQq m _hRi d _qRi d _qRs d _hRs +d _hRi m _NSn d _WSn d _WSw d _NSw d _NSn m Y_SX d YqSX d YqSk d Y_Sk +d Y_SX m XhU_ d XvU_ d XvUm d XhUm d XhU_ m YPQi d YcQi d YcQ| d YPQ| +d YPQi m VCTD d VGTD d VGTI d VCTI d VCTD m X{Sg d YMSg d YMSz d X{Sz +d X{Sg m ^oU[ d ^}U[ d ^}Ui d ^oUi d ^oU[ m W\TH d WnTH d WnT[ d W\T[ +d W\TH m ]yRc d ]~Rc d ]~Rg d ]yRg d ]yRc m [QRx d [^Rx d [^SF d [QSF +d [QRx m _VXL d _iXL d _iXY m _VXY d _VXL m Y}TE d ZOTE d ZOTX d Y}TX +d Y}TE m ViWx d VrWx d VrXA d ViXA d ViWx m \dPc d \mPc d \mPl d \dPl +d \dPc m YAR\ d YSR\ d YSRo d YARo d YAR\ m ]lUB d ]uUB d ]uUK d ]lUK +d ]lUB m [ERm d [WRm d [WS@ d [ES@ d [ERm m VoVa d VtVa d VtVf d VoVf +d VoVa m WHUB d WQUB d WQUK d WHUK d WHUB m ]yQ} d ^GQ} d ^GRL d ]yRL +d ]yQ} m [pPc d \BPc d \BPv d [pPv d [pPc m `YPq d `bPq d `bPz d `YPz +d `YPq m _VSe d _ZSe d _ZSj d _VSj d _VSe m [KUX d [OUX d [OU] d [KU] +d [KUX m \KPq d \XPq d \XP? d \KP? d \KPq m _oTy d _xTy d _xUC d _oUC +d _oTy m `CUz d `QUz d `QVH d `CVH d `CUz m XjTc d XoTc d XoTh d XjTh +d XjTc m `rTi d `?Ti d `?Tw d `rTw d `rTi m YLWx d YZWx d YZXF d YLXF +d YLWx m YXPm d YjPm d YjQ@ d YXQ@ d YXPm m WZSF d WcSF d WcSP d WZSP +d WZSF m `kWx d `uWx d `uXA d `kXA d `kWx +stroke +m `kWx m [mT\ d [?T\ d [?To d [mTo d [mT\ m _OVL d _\VL d _\VZ d _OVZ +d _OVL m WiWa d WmWa d WmWf d WiWf d WiWa m ZGUi d ZUUi d ZUUw d ZGUw +d ZGUi m [cUf d [gUf d [gUk d [cUk d [cUf m ^~Sd d _BSd d _BSh d ^~Sh +d ^~Sd m ZIWX d ZWWX d ZWWf d ZIWf d ZIWX m `fRX d `xRX d `xRk d `fRk +d `fRX m ^RRS d ^[RS d ^[R] d ^RR] d ^RRS m YZWa d YdWa d YdWk d YZWk +d YZWa m VMWJ d VRWJ d VRWO d VMWO d VMWJ m \NSV d \`SV d \`Si d \NSi +d \NSV m [mSt d [vSt d [vS~ d [mS~ d [mSt m [hS] d [uS] d [uSl d [hSl +d [hS] m _XRq d _]Rq d _]Rv d _XRv d _XRq m W\Tb d WeTb d WeTl d W\Tl +d W\Tb m UuSe d VBSe d VBSt d UuSt d UuSe m ]ORc d ]aRc d ]aRv d ]ORv +d ]ORc m ]FVe d ]XVe d ]XVx d ]FVx d ]FVe m \qP} d \~P} d \~QL d \qQL +d \qP} m \gSU d \lSU d \lSZ d \gSZ d \gSU m VTTB d VbTB d VbTQ d VTTQ +d VTTB m ]hVK d ]qVK d ]qVU d ]hVU d ]hVK m [BTk d [PTk d [PTy d [BTy +d [BTk m `ZWj d `_Wj d `_Wo d `ZWo d `ZWj m XbWO d XpWO d XpW^ d XbW^ +d XbWO m YmWP d YrWP d YrWU d YmWU d YmWP m [vWi d [?Wi d [?Wr d [vWr +d [vWi m `GR@ d `KR@ d `KRD d `GRD d `GR@ m \~T\ d ]KT\ d ]KTk d \~Tk +d \~T\ m _sPQ d `APQ d `AP` d _sP` d _sPQ m ZIWM d ZMWM d ZMWR d ZIWR +d ZIWM m XfRF d XjRF d XjRJ d XfRJ d XfRF m `TUO d `YUO d `YUT d `TUT +d `TUO m VWW? d VjW? d VjXR d VWXR d VWW? m UuTp d VGTp d VGUC d UuUC +d UuTp m _TR~ d _]R~ d _]SG d _TSG d _TR~ m [sU} d [|U} d [|VF d [sVF +d [sU} m `gPz d `uPz d `uQH d `gQH d `gPz m XORs d XTRs d XTRx d XORx +d XORs +stroke +03 setlinewidth +m UtEx d UtEx d UtFJ d UtEx m UqEn d UoEk d UoEc d UqE_ d UtE_ d UvEc +d UvEk d UtEn d UqEn m UzEn m UtEx d XGEx d XGFJ d XGEx m W{El d W}En +d XAEn d XBEl d XBEg d W{Eb d W{E_ d XBE_ m XGEn m XIEn d XGEk d XGEc +d XIE_ d XLE_ d XOEc d XOEk d XLEn d XIEn m XSEn m XGEx d ZYEx d ZYFJ +d ZYEx m ZSE_ d ZSEn d ZREn d ZMEd d ZMEc d ZSEc m ZSEc d ZUEc m ZYEn +m Z[En d ZYEk d ZYEc d Z[E_ d Z_E_ d ZaEc d ZaEk d Z_En d Z[En m ZeEn +m ZYEx d \kEx d \kFJ d \kEx m \_Ee d \bEh d \eEh d \gEe d \gEb d \eE_ +d \bE_ d \_Eb d \_Ee d \`Ej d \cEn m \kEn m \nEn d \kEk d \kEc d \nE_ +d \qE_ d \sEc d \sEk d \qEn d \nEn m \wEn m \kEx d ^}Ex d ^}FJ d ^}Ex +m ^sEn d ^rEl d ^rEi d ^sEg d ^rEe d ^rEb d ^sE_ d ^wE_ d ^yEb d ^yEe +d ^wEg d ^sEg m ^wEg d ^yEi d ^yEl d ^wEn d ^sEn m ^}En m _@En d ^~Ek +d ^~Ec d _@E_ d _CE_ d _EEc d _EEk d _CEn d _@En m _IEn m ^}Ex d aPEx +d aPFJ d aPEx m `?Ek d aBEn d aBE_ m aIEn m aLEn d aJEk d aJEc d aLE_ +d aOE_ d aREc d aREk d aOEn d aLEn m aVEn m aXEn d aVEk d aVEc d aXE_ +d a[E_ d a^Ec d a^Ek d a[En d aXEn m abEn m aPEx d aPEx m UtEx d UtG@ +d VFG@ d UtG@ m T?GE d UBGI d UBFz m UJGI m ULGI d UJGE d UJF~ d ULFz +d UPFz d URF~ d URGE d UPGI d ULGI m UVGI m UXGI d UVGE d UVF~ d UXFz +d U\Fz d U^F~ d U^GE d U\GI d UXGI m UbGI m UeGI d UbGE d UbF~ d UeFz +d UhFz d UjF~ d UjGE d UhGI d UeGI m UnGI m UtG@ d UtHh d VFHh d UtHh +m T~Ho d U@Hq d UDHq d UFHo d UFHj d T~He d T~Hc d UFHc m UJHq m ULHq +d UJHn d UJHf d ULHc d UPHc d URHf d URHn d UPHq d ULHq m UVHq m UXHq +d UVHn d UVHf d UXHc d U\Hc d U^Hf d U^Hn d U\Hq d UXHq m UbHq m UeHq +d UbHn d UbHf d UeHc d UhHc d UjHf d UjHn d UhHq d UeHq m UnHq m UtHh +d UtJP d VFJP d UtJP m T~JW d U@JY d UCJY d UFJW d UFJT d UCJR d UBJR +m UCJR d UFJP d UFJM d UCJK d U@JK d T~JM m UJJZ m ULJY d UJJV d UJJN +d ULJK d UPJK d URJN d URJV d UPJY d ULJY m UVJZ m UXJY d UVJV d UVJN +d UXJK d U\JK d U^JN d U^JV d U\JY d UXJY m UbJZ m UeJY d UbJV d UbJN +d UeJK d UhJK d UjJN d UjJV d UhJY d UeJY m UnJZ m UtJP d UtKx d VFKx +d UtKx m UDKs d UDLA d UCLA d T~Kx d T~Kw d UDKw m UDKw d UFKw m UJLB +m ULLA d UJK~ d UJKv d ULKs d UPKs d URKv d URK~ d UPLA d ULLA m UVLB +m UXLA d UVK~ d UVKv d UXKs d U\Ks d U^Kv d U^K~ d U\LA d UXLA m UbLB +m UeLA d UbK~ d UbKv d UeKs d UhKs d UjKv d UjK~ d UhLA d UeLA m UnLB +m UtKx d UtM` d VFM` d UtM` m T~M[ d UCM[ d UFM^ d UFMa d UCMd d U@Md +d T~Mb d T~Mi d UFMi m UJMj m ULMi d UJMf d UJM^ d ULM[ d UPM[ d URM^ +d URMf d UPMi d ULMi m UVMj m UXMi d UVMf d UVM^ d UXM[ d U\M[ d U^M^ +d U^Mf d U\Mi d UXMi m UbMj m UeMi d UbMf d UbM^ d UeM[ d UhM[ d UjM^ +d UjMf d UhMi d UeMi m UnMj m UtM` d UtM| m UtM| d UtM| d UtMj d UtM| +d XGM| d XGMj d XGM| d ZYM| d ZYMj d ZYM| d \kM| d \kMj d \kM| d ^}M| +d ^}Mj d ^}M| d aPM| d aPMj d aPM| d aPM| m XlNk d XlN] d XtN] m XxNl +m X|Nh d X|Ng d X|Ng d X|Nh d X|Nh d X|Ng m X|Nd d X|Nd d X|N] m YDNl +m YENe d YEN] m YENc d YFNe d YINe d YKNc d YKN] m YPNl m YQNa d YWNa +d YWNc d YVNe d YRNe d YQNc d YQN_ d YRN] d YVN] d YWN_ m Y\Nl m Y\Nl +m YiNl m YiNi d YkNk d YoNk d YqNi d YqNe d YiN_ d YiN] d YqN] m YuNl +m YvN] d YzN] d Y}N` d Y}Nc d YzNf d YwNf d YuNd d YuNk d Y}Nk m ZANl +m ZCNk d ZANh d ZAN` d ZCN] d ZGN] d ZIN` d ZINh d ZGNk d ZCNk m ZMNl +m ZMNl m ZYNl m ZZNc d ZZN_ d Z[N] d Z^N] d Z`N_ d Z`Nc d Z^Ne d Z[Ne +d ZZNc m ZeNl m ZgNe d ZkNe m ZhN] d ZhNi d ZjNj d ZkNj d ZlNi m ZqNl +m ZqNl m Z~Nl m [ENc d [CNe d [@Ne d Z~Nc d Z~N_ d [@N] d [CN] d [EN_ +m [EN] d [ENk m [JNl m [JNa d [QNa d [QNc d [ONe d [LNe d [JNc d [JN_ +d [LN] d [ON] d [QN_ m [VNl m [WNe d [ZN] d []Ne m [bNl m [fNk d [fN] +m [bN` d [dN^ d [hN^ d [jN` d [jNb d [hNd d [dNd d [bNf d [bNh d [dNj +d [hNj d [jNh m [nNl m [nNe d [nNY m [nNc d [pNe d [sNe d [uNc d [uN_ +d [sN] d [pN] d [nN_ m [zNl m [~Nh d [~Ng d [?Ng d [?Nh d [~Nh d [?Ng +m [~Nd d [~Nd d [~N] m \FNl m \GNe d \MN] m \GN] d \MNe m \RNl m \XNl +d \VNl d \VN\ d \XN\ m \_Nl m \_Ni d \aNk d \eNk d \gNi d \gNe d \_N_ +d \_N] d \gN] m \kNl m \mNk d \kNh d \kN` d \mN] d \qN] d \sN` d \sNh +d \qNk d \mNk m \wNl m \zNk d \wNh d \wN` d \zN] d \}N] d \?N` d \?Nh +d \}Nk d \zNk m ]CNl m ]GNg d ]HNg d ]HNe d ]GNe d ]GNg d ]HNe m ]GNa +d ]GN` d ]HN` d ]HNa d ]GNa d ]HN` m ]ONl m ]PNi d ]RNk d ]UNk d ]WNi +d ]WNg d ]UNd d ]SNd m ]UNd d ]WNb d ]WN_ d ]UN] d ]RN] d ]PN` m ][Nl +m ]^Nk d ]\Nh d ]\N` d ]^N] d ]aN] d ]cN` d ]cNh d ]aNk d ]^Nk m ]gNl +m ]jNk d ]hNh d ]hN` d ]jN] d ]mN] d ]pN` d ]pNh d ]mNk d ]jNk m ]tNl +m ]wN[ d ]xN\ d ]xN^ d ]wN^ d ]wN] d ]xN] m ^@Nl m ^@Nh d ^GN` m ^DNj +d ^DN_ m ^@N` d ^GNh m ^LNl m ^ONl d ^QNl d ^QN\ d ^ON\ m ^XNl m ZGNR +d ZGNJ m ZGNP d ZINR d ZLNR d ZNNP d ZNNJ m ZSNY m ZSNG d ZUNF d ZXNF +d ZZNH d ZZNR m ZZNP d ZXNR d ZUNR d ZSNP d ZSNL d ZUNJ d ZXNJ d ZZNL +m Z_NY m ZfNQ d ZeNR d ZaNR d Z`NP d Z`NL d ZaNJ d ZeNJ d ZfNK m ZkNY +m ZkNY m ZwNY m Z~NJ d Z~NX d Z}NX d ZxNO d ZxNN d Z~NN +stroke +m Z~NN m Z~NN d [@NN m [DNY m [ENU d [HNX d [HNJ m [PNY m [VNJ d [VNX +d [UNX d [PNO d [PNN d [VNN m [VNN d [XNN m [\NY m [\NX d [dNX d [_NJ +m [hNY m [hNY m [tNY m [uNX d [uNJ m [uNL d [vNJ d [yNJ d [{NL d [{NP +d [yNR d [vNR d [uNP m \@NY m \@NY m \LNY m \NNU d \QNX d \QNJ m \YNY +m \[NX d \YNV d \YNS d \[NQ d \YNO d \YNL d \[NJ d \_NJ d \aNL d \aNO +d \_NQ d \[NQ m \_NQ d \aNS d \aNV d \_NX d \[NX m \eNY m \gNX d \eNU +d \eNM d \gNJ d \kNJ d \mNM d \mNU d \kNX d \gNX m \qNY m \tNX d \qNU +d \qNM d \tNJ d \wNJ d \yNM d \yNU d \wNX d \tNX m \}NY m aPEx d aPG] +d `~G] d aPG] m aWGc d aZGf d aZGW m abGf m adGf d abGc d abG[ d adGW +d ahGW d ajG[ d ajGc d ahGf d adGf m anGf m aqGf d anGc d anG[ d aqGW +d atGW d avG[ d avGc d atGf d aqGf m azGf m aPG] d aPIC d `~IC d aPIC +m aVII d aXIK d a\IK d a^II d a^IE d aVH? d aVH} d a^H} m abIL m adIK +d abIH d abI@ d adH} d ahH} d ajI@ d ajIH d ahIK d adIK m anIL m aqIK +d anIH d anI@ d aqH} d atH} d avI@ d avIH d atIK d aqIK m azIL m aPIC +d aPJh d `~Jh d aPJh m aVJo d aXJq d a[Jq d a^Jo d a^Jm d a[Jj d aZJj +m a[Jj d a^Jh d a^Je d a[Jc d aXJc d aVJf m abJr m adJq d abJn d abJf +d adJc d ahJc d ajJf d ajJn d ahJq d adJq m anJr m aqJq d anJn d anJf +d aqJc d atJc d avJf d avJn d atJq d aqJq m azJr m aPJh d aPLN d `~LN +d aPLN m a\LI d a\LW d a[LW d aVLN d aVLM d a\LM m a\LM d a^LM m abLX +m adLW d abLT d abLL d adLI d ahLI d ajLL d ajLT d ahLW d adLW m anLX +m aqLW d anLT d anLL d aqLI d atLI d avLL d avLT d atLW d aqLW m azLX +m aPLN d aPMt d `~Mt d aPMt m aWMo d a[Mo d a^Mq d a^Mu d a[Mx d aXMx +d aVMv d aVM} d a^M} m abM~ m adM} d abMz d abMr d adMo d ahMo d ajMr +d ajMz d ahM} d adM} m anM~ m aqM} d anMz d anMr d aqMo d atMo d avMr +d avMz d atM} d aqM} m azM~ m aPMt d aPM| +stroke +01 setlinewidth +m aPIs d aPIx d aPIu d aIIu d aPIu m U|E| d VCE~ d VJE| d VREz d VYEx +d V`Ey d VhEx d VoEy d VvE| d V}Ez d WEEy d WLEz d WSEy d W[E{ d WbE{ +d WiE{ d WqEz d WxEy d W?E| d XGE{ d XNE{ d XUE| d X]E} d XdE~ d XkFE +d XrFO d XzFI d YAFA d YHF@ d YPFA d YWFA d Y^FB d YfFF d YmFO d YtFK +d Y|FH d ZCFE d ZJFE d ZRFD d ZYFF d Z`FL d ZgFQ d ZoFQ d ZvFO d Z}FR +d [EFO d [LFF d [SE? d [[FB d [bFC d [iFK d [qFZ d [xF\ d [?FY d \GFX +d \NF] d \UFj d \\GE d \dG^ d \kHq d \rMR d \zM| d ]AIk d ]HH@ d ]PHf +d ]WIK d ]^HE d ]fGL d ]mF{ d ]tFo d ]|Fe d ^CFW d ^JFO d ^QFN d ^YF] +d ^`Fu d ^gFy d ^oF| d ^vF{ d ^}F} d _EFn d _LFi d _SFa d _[FT d _bFP +d _iFS d _qFY d _xFd d _?F| d `FGN d `NGH d `UGA d `\GJ d `dGL d `kGA +d `rFt d `zFu d aAGA d aHGC d aPFi m U|Ez d VCE| d VJE~ d VME} m VREz +m VSEz d VYEy d V`Ey d VfEy m VgEy m VmE{ d VoE| d VvE{ d V}Ez d W@Ez +m WEE{ m WGE| d WLE~ d WRFF m WSFG m WXFH d W[FI d WbFI d WgFD m WiFB +m WmFA d WqF@ d WxEz d WzE{ m W?E~ m X@E? d XGFH d XJFI m XNFK m XOFJ +d XUFD d X[E? m X\E} m XaE~ d XdE~ d XkE| d XrE{ d XsE{ m XzE{ m XzE{ +d YAE{ d YHE? d YKE~ m YPE} m YRE~ d YWFB d Y^FH m Y^FH m YeFG d YfFG +d YmFK d YqFQ m YtFV d YtFV d YyFb m Y|Fg d Y|Fg d ZCFc d ZJF_ m ZJF^ +m ZPF\ d ZQF[ d ZYFZ d Z_FU m Z`FT m ZcFP d ZgFJ d ZnFF m ZoFE m ZuFF +d ZvFG d Z}FF d [EFF d [GFG m [LFI m [NFJ d [SFL d [[FM d [_FK m [bFK +m [gFK d [iFK d [qFJ d [xFH d [xFI m [|FM d [?FR d \CFY m \EF^ d \FF` +d \NFi d \NFi m \UFi m \VFh d \\Fd d \`Fj m \bFo d \dFr d \fF| m \gGA +d \kGM m \kGO m \oGP d \rGQ d \zGJ d \{GK m ]@GO d ]AGQ d ]CG\ m ]CGa +d ]EGn m ]FGs d ]GG? m ]HHD d ]HHG d ]IHQ m ]IHV d ]JHc m ]JHh d ]KHt +m ]KHz d ]LIF m ]LIK d ]MIX m ]MI] d ]MIj m ]NIo d ]NI| m ]OJA d ]OJM +m ]OJR d ]PJU d ]PJ_ m ]QJd d ]QJq m ]RJv d ]RKC m ]SKH d ]TKT m ]TKY +d ]UKf m ]UKk d ]VKx m ]VK} d ]WLJ m ]WLM m ]XLK d ]^K? m ]^K? m ]_Kz +d ]_Km m ]`Kh d ]`K[ m ]aKV d ]bKI m ]bKD d ]cJx m ]cJs d ]dJf m ]dJa +d ]eJT m ]eJO d ]fJL d ]fJB m ]gI} d ]hIq m ]hIl d ]jI_ m ]jIZ d ]kIM +m ]lIH d ]mH{ m ]mHz m ]mHv d ]oHj m ]pHe d ]qHX m ]rHS d ]sHF m ]tHA +d ]tHA d ]wGu m ]xGp d ]{Gc m ]{G_ m ]}G^ d ^CGZ d ^EG` m ^FGe d ^JGq +m ^JGs m ^MGv d ^QGx d ^YGs d ^YGu m ^[Gy d ^_HF m ^`HH m ^bHJ d ^gHO +d ^kHH m ^nHC d ^oHB d ^vHI d ^vHK m ^wHQ d ^xH] m ^yHb d ^{Ho m ^{Ht +d ^}IA m ^}IE m ^~IF d _AIR m _BIW d _EI` d _EId m _FIi d _HIu m _HI{ +d _JJG m _KJL d _LJR d _MJY m _MJ^ d _NJk m _OJp d _PJ| m _QKA d _RKN +m _SKS d _SKZ d _TKT m _TKN d _UKB m _UJ} d _VJp m _WJk d _XJ^ m _XJY +d _YJM m _YJG d _ZI{ m _[Iv d _[Iu d _\Ii m _]Id d __IW m _`IR d _bIF +m _bID m _cIG d _fIS m _hIX d _iI] d _kIe m _lIj d _oIv m _pI{ d _pI} +d _uIs m _xIn d _xIn d _zIb m _{I] d _}IP m _~IK d _?IG d `EIO m `FIQ +m `IIN d `NII d `OIC m `QH~ d `THq m `UHl d `UHk d `[H` m `\H\ m `^H\ +d `dH[ d `eHd m `fHi d `hHu m `hH{ d `jIG m `kIL d `kIN d `lIY m `mI^ +d `nIk m `oIp d `qI| m `qJA d `rJJ d `sJG m `tJB d `wIu m `xIp d `zIl +d `{Id m `|I_ d `?IR m a@IM d aAIK d aBIA m aCH{ d aEHo m aFHj d aHH] +m aHHX m aHHX d aNHL m aPHH m aPI{ d aPJN d aPJE d aIJE d aPJE m U|Ey +m U|Ey d U~Ez m VCE{ m VEE{ d VGE{ m VJE{ m VOE| d VQE| m VRE| m VXE} +d VYE~ d VZE~ m V`E~ m VaE~ d VcE~ m VgE? m VkE? d VmE? m VoE~ m VsFA +d VtFB m VvFC m V{FC d V}FC m V}FC m WDF@ d WEF@ d WEF@ m WKE} d WLE| +d WME| m WSE| m WUE{ d WWE{ m W[Ez m W^Ez d W`Ez m WbEz m WhEz d WiEy +d WjEy m WqE{ m WqE{ d WsEz m WxEx m WyEy d W{Ey m W?E{ m XAE| d XCE} +m XGE? m XGFA d XHFB m XKFG d XLFH m XNFL m XNFM d XOFN m XQFS d XRFT +m XTFY d XTFZ m XUF\ m XYFZ d XZFY m X\FW m X^FU d X^FS m XaFO d XaFM +m XdFI d XdFH d XeFH m XjFD d XkFC d XlFC m XrFB m XsFB d XtFA m XzE} +d X{E~ m YAE? m YBF@ d YCFA m YHFD m YIFE d YIFF m YMFK d YMFL m YPFO +m YRFO d YTFP m YWFQ m Y[FQ d Y]FQ m Y^FR m YcFO d YeFN m YfFN m YjFK +d YlFJ m YmFI m YsFJ d YtFJ d YuFJ m YzFN d Y{FO m Y|FO m Z@FR d ZBFS +m ZCFT m ZIFU d ZJFU d ZJFU m ZOFQ d ZPFP m ZQFO m ZUFL d ZVFK m ZYFH +m Z[FG d Z\FF m Z`FE m ZcFE d ZeFF m ZgFG m ZjFI d ZlFJ m ZoFL m ZrFL +d ZtFK m ZvFK m Z{FJ d Z|FI m Z}FI m [DFJ d [EFK d [EFK m [JFO d [KFP +m [LFQ m [PFT d [RFU m [SFV m [VFY d [WFZ m [[F^ m [[F^ d []F^ m [bF^ +m [dF\ d [eF[ m [iFX m [jFX d [jFY m [nF^ d [oF_ m [qFa m [qFd d [qFe +m [sFj d [sFk m [tFp d [uFq m [vFv d [vFx m [xF} d [xF} d [xF~ m [zGC +d [{GD m [}GI d [~GJ m [?GM m \@GK d \@GJ m \BGE d \CGD m \EF? d \EF~ +m \FF{ m \HFy d \JFx m \NFu m \NFv d \OFw m \QF| d \QF} m \SGB d \TGC +m \UGG m \UGH d \UGI m \VGO d \VGP m \WGU d \WGV m \XG[ d \XG\ m \YGa +d \YGc m \ZGh d \ZGi m \[Gn d \[Go m \[Gt d \\Gv m \\G{ d \\G| d \\G| +m \]HA d \]HB m \^HG d \^HI m \_HN d \_HO m \`HT d \`HU m \aHZ d \aH\ +m \bHa d \bHb m \bHg d \cHh m \cHm d \cHo m \dHp m \eHm d \eHl m \gHg +d \hHf m \iHa d \jH` m \kH\ m \mH[ d \nHZ m \rHX m \sHY d \sHZ m \sH_ +d \sHa m \tHf d \tHg m \uHl d \uHm m \vHr d \vHt m \vHy d \vHz m \wH? +d \wI@ m \xIE d \xIG m \yIL d \yIM m \yIR d \zIS m \zIT m \{IX d \{IZ +m \|I_ d \}I` m \~Ie d \~If m \?Ik d ]@Il m ]AIq m ]AIq d ]AIp m ]BIk +d ]BIi m ]CId d ]CIc m ]CI^ d ]DI] m ]DIX d ]DIW m ]EIQ d ]EIP m ]FIK +d ]FIJ m ]GIE d ]GID m ]HH~ d ]HH} m ]HHx d ]HHx d ]JHx m ]PHw m ]PHy +d ]PHz m ]RH? d ]RI@ m ]TIE d ]TIF m ]VIK d ]VIL m ]WIO m ]WIL d ]WIK +m ]XIF d ]XID m ]YH? d ]YH~ m ]ZHy d ]ZHx m ][Hs d ][Hq m ]\Hl d ]\Hk +m ]\Hf d ]]He m ]]H` d ]]H_ m ]^HY d ]^HX m ]^HX m ]`HS d ]`HR m ]bHM +d ]bHL m ]dHG d ]dHF m ]eHA d ]fH@ d ]gH@ m ]mG~ m ]mG} d ]nG| m ]qGw +d ]rGv m ]tGt m ]vGu d ]wGv m ]{Gy m ]|Gz d ]|G| m ]}HA d ]}HB m ]~HG +d ]?HH m ^@HM d ^@HO m ^AHT d ^AHU m ^CHZ d ^CH[ d ^CH[ m ^CH` d ^CHa +m ^DHg d ^DHh m ^EHm d ^EHn m ^EHs d ^EHt m ^FHz d ^FH{ m ^FI@ d ^GIA +m ^GIF d ^GIG m ^HIM d ^HIN m ^HIS d ^HIT m ^IIY d ^IIZ m ^JI` d ^JIa +m ^JIf d ^JIf d ^JIg m ^JIl d ^KIm m ^KIs d ^KIt m ^KIy d ^KIz m ^KI? +d ^KJA m ^LJF d ^LJG m ^LJL d ^LJM m ^LJR d ^LJT m ^MJY d ^MJZ m ^MJ_ +d ^MJ` m ^MJe d ^MJg m ^NJl d ^NJm m ^NJr d ^NJs m ^NJx d ^NJz m ^OJ? +d ^OK@ m ^OKE d ^OKF m ^OKK d ^OKM m ^PKR d ^PKS m ^PKX d ^PKY m ^PK^ +d ^PK` m ^QKe d ^QKf m ^QKk d ^QKl m ^QKq d ^QKs m ^QKw m ^QKx d ^RKy +m ^RK~ d ^RK? m ^RLD d ^RLF m ^SLK d ^SLL m ^SLQ d ^SLR m ^TLX d ^TLY +m ^TL^ d ^TL_ m ^TLd d ^TLe m ^ULk d ^ULl m ^ULq d ^ULr m ^VLw d ^VLy +m ^VL~ d ^VL? m ^VMD d ^WME m ^WMJ d ^WML m ^WMQ d ^WMR m ^XMW d ^XMX +m ^XM] d ^XM_ m ^YMd d ^YMe m ^YMg m ^YMe d ^YMd m ^ZM^ d ^ZM] m ^[MX +d ^[MW m ^\MR d ^\MQ m ^]MK d ^]MJ m ^]ME d ^^MD m ^^L? d ^^L~ m ^_Ly +d ^_Lw m ^`Lr d ^`Lr d ^`Ls m ^aLx d ^aLy m ^bL~ d ^bL? m ^cMD d ^cMF +m ^dMK d ^dML m ^eMQ d ^eMR m ^fMW d ^fMY m ^gM^ d ^gM_ m ^gMc m ^gMd +d ^gMe m ^hMj d ^hMl m ^hMq d ^hMr m ^hMw d ^hMx +stroke +m ^hMx m ^hM| m `kM| m `kM{ d `kMz m `kMt d `kMs m `kMn d `kMm m `kMh +d `kMf m `kMa d `kMa d `kM` m `kM[ d `kMZ m `lMU d `lMS m `lMN d `lMM +m `lMH d `mMG m `mMB d `mM@ m `mL{ d `mLz m `nLu d `nLt m `nLo d `nLm +m `nLh d `nLg m `oLb d `oLa m `oL\ d `oLZ m `oLU d `pLT m `pLO d `pLN +m `pLI d `pLG m `qLB d `qLA m `qK| d `qK{ m `qKv d `qKt m `rKo d `rKn +m `rKi d `rKh m `rKf m `tKc d `tKa m `vK\ d `vK[ m `xKV d `xKU m `zKR +m `zKP d `zKO m `{KJ d `{KH m `|KC d `|KB m `}J} d `}J| m `}Jw d `~Jv +m `~Jp d `?Jo m `?Jj d `?Ji m a@Jd d a@Jc m aAJ^ m aAJ] d aAJ\ m aBJW +d aBJV m aBJQ d aBJO m aCJJ d aCJI m aDJD d aDJC m aDI~ d aDI| m aEIw +d aEIv m aEIq d aFIp m aFIk d aFIi m aGId d aGIc m aGI^ d aGI] m aHIX +d aHIV m aHIT m aIIQ d aIIP m aJIK d aJIJ m aLIE d aLID m aMH? d aMH} +m aNHx d aOHw m aPHr m aPJK d aPJ_ d aPJU d aIJU d aPJU m U|Fp d VCFq +d VJFw d VOF~ m VRGB m VRGC d VSGD m VYGG m VYGG d V`F~ d VgFz d ViF~ +m VkGC d VkGE m VmGJ d VoGP d VqG^ m VqGc d VrGd m VrGi d VuG} m VvHB +d VvHD m VvHF m VvHI d VxH] m VxHb d VxHc m VyHh d VzH} m VzIB d VzIC +m V{IH d V|I\ m V}Ia d V}Ic m V}Ih d V}Im d W@I| m WAJA d WAJB m WBJG +d WEJZ d WEJY m WFJT d WFJS m WGJN d WLIz m WLIy m WLI} d WLI~ m WMJC +d WNJW m WNJ\ d WNJ^ m WNJc d WPJw m WPJ| d WPJ} m WPKB d WQKW m WRK\ +d WRK] m WRKb d WSKv m WSKv m WTK{ d WTK} m WTLB d WTLV m WTL[ d WTL\ +m WTLb d WULv m WUL{ d WUL| m WUMA d WVMV m WVM[ d WVM\ m WVMa d WWMu +m WWMz d WWM| m WWM| m WeM| m WeMx d WfMc m WfM^ d WfM] m WfMX d WgMC +m WgL~ d WgL} m WgLx d WhLd m WhL_ d WhL] m WhLX d WiLD m WiK? d WiK~ +m WiKy d WiKs d WjKd m WjK_ d WjK^ m WkKY d WkKD m WlJ? d WlJ~ m WlJy +d WmJe m WmJ` d WmJ^ m WnJY d WnJE m WoJ@ d WoI? m WoIz d WpIe m WpI` +d WpI_ m WpIZ d WqIW d WrIF m WsIA d WsH? m WsHz d WuHf m WvHa d WvH` +m WvHZ d WxHG d WxHF m WzHA d W{H@ m W}G{ d W?Gu d XFGh m XGGf m XGGc +d XHGb m XIG] d XNGH m XNGH m XOGC d XPGB m XRF} d XUFs d X\Fu d X`Fy +m XdF} m XdF} d XeF~ m XjGC d XkGD d XrGB d XyFu m XzFt m X{Fq d X{Fo +m X}Fj d YAF^ d YHF] d YIF_ m YKFd d YLFe m YNFj d YPFn d YTF~ m YUGC +d YUGD m YWGI d YWGJ d Y^GY d Y_G] m Y`Gb d YaGc m YbGh d YfGx d YfG| +m YfHA d YfHB m YgHG d YhH\ m YhHa d YhHb m YiHg d YjH{ m YjIA d YjIB +m YkIG d YlI[ m YlI` d YlIb m YmIg d YmIh d YnI{ m YnJ@ d YnJA m YnJF +d YpJ[ m YpJ` d YpJa m YpJf d YqJz m YrJ? d YrKA m YrKF d YsKZ m YsK_ +d YsK` m YsKf d YtKt d YuKm m YuKh d YvKg m YvKb d YyKN m YyKI d YyKG +m YzKB d Y|Ju d Y|Jn m Y|Ji d Y|Jh m Y|Jc d Y}JN m Y~JI d Y~JH m Y~JC +d Y?Io m Y?Ii d Y?Ih m Y?Ic d Z@IO m ZAIJ d ZAII m ZAIC d ZBHo m ZBHj +d ZBHi m ZBHd d ZCHZ d ZDHO m ZDHJ d ZDHI m ZEHD d ZGGp m ZGGk d ZGGi +m ZHGd d ZIGP m ZJGK d ZJGJ m ZJGG m ZKGE d ZQFw d ZTF| m ZVGA d ZVGB +m ZXGG d ZYGI d Z]G[ m Z^G` d Z^Ga m Z_Gf d Z`Gj d ZgGY m ZgGX m ZhGT +d ZhGS m ZiGN d ZlFz m ZmFu d ZmFt m ZnFn d ZoFl d ZvFj d Z|Fv m Z}Fz +m [@Fz d [AF{ m [EF| m [FFy d [LFj d [OFf m [RFa d [RF` m [SF^ m [VF[ +d [[FW d [bFV d [iFV d [pFS m [qFR m [tFO d [vFN m [xFL m [zFJ d [?FF +d \FFA d \NFA d \SFB m \UFB m \ZFC d \\FD m \\FD m \cFE d \dFF d \kFF +d \rFG d \zFI d ]@FG m ]AFG m ]FFD d ]HFC m ]HFB m ]NFD d ]PFE d ]WFB +d ]^FD d ]eFK m ]fFL m ]iFO d ]jFQ m ]mFT m ]nFU d ]tFW d ]{FP d ^@FJ +m ^CFG m ^EFE d ^FFD m ^JFA m ^KFA d ^QF@ d ^YFD d ^`FI d ^cFH m ^gFF +m ^iFE d ^jFD m ^mE? d ^oE~ d ^vE{ d ^}E{ d _EEz d _IE{ m _LE| m _PE} +d _RE~ m _SE~ m _YE~ d _[E~ d _bE} d _iE? d _pF@ d _wE? m _xE? m _}E| +d _~E{ m _?E{ m `FEz d `FEz d `NEy d `UEz d `\Ez d `dE{ m `dE{ m `kEz +d `mEz m `rE{ m `tE| d `zE} d aAE} d aHEz d aPEy m aPIs d aPJF d aPI} +d aII} d aPI} +stroke +grestore showpage diff --git a/obsolete/macros/latex209/contrib/aasmacros/table1.tex b/obsolete/macros/latex209/contrib/aasmacros/table1.tex new file mode 100644 index 0000000000..0a5fa4b158 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/table1.tex @@ -0,0 +1,299 @@ +% TABLE1.TEX -- AASTeX sample table 1. + +% The following gobbledygook is done so that this particular table +% paginates in a way that "looks nice" regardless of whether apjpt +% or aj_pt styles are chosen. The \tablebreak commands that appear +% after some of the lines force page breaks when the apjpt style is +% selected, but act simply as line delimiters for aj_pt. + +\makeatletter +\def\jnl@aj{AJ} +\ifx\revtex@jnl\jnl@aj\let\tablebreak=\nl\fi +\makeatother + +% From here on, the file contains tabular data as an author might +% prepare it. + +\begin{planotable}{lrrrrcrrrrr} +\tablewidth{33pc} +\tablecaption{Literature Data for Program Stars} +\tablehead{ +\colhead{Star} & \colhead{V} & +\colhead{b$-$y} & \colhead{m$_1$} & +\colhead{c$_1$} & \colhead{ref} & +\colhead{T$_{\rm eff}$} & \colhead{log g} & +\colhead{v$_{\rm turb}$} & \colhead{[Fe/H]} & +\colhead{ref}} +\startdata +HD 97 & 9.7& 0.51& 0.15& 0.35& 2 & \nodata & \nodata & \nodata & $-1.50$ & 2 \nl +& & & & & & 5015 & \nodata & \nodata & $-1.50$ & 10 \nl +HD 2665 & 7.7& 0.54& 0.09& 0.34& 2 & \nodata & \nodata & \nodata & $-2.30$ & 2 \nl +& & & & & & 5000 & 2.50 & 2.4 & $-1.99$ & 5 \nl +& & & & & & 5120 & 3.00 & 2.0 & $-1.69$ & 7 \nl +& & & & & & 4980 & \nodata & \nodata & $-2.05$ & 10 \nl +HD 4306 & 9.0& 0.52& 0.05& 0.35& 20, 2& \nodata & \nodata & \nodata & $-2.70$ & 2 \nl +& & & & & & 5000 & 1.75 & 2.0 & $-2.70$ & 13 \nl +& & & & & & 5000 & 1.50 & 1.8 & $-2.65$ & 14 \nl +& & & & & & 4950 & 2.10 & 2.0 & $-2.92$ & 8 \nl +& & & & & & 5000 & 2.25 & 2.0 & $-2.83$ & 18 \nl +& & & & & & \nodata & \nodata & \nodata & $-2.80$ & 21 \nl +& & & & & & 4930 & \nodata & \nodata & $-2.45$ & 10 \nl +HD 4906 & 8.8& 0.48& 0.22& 0.30& 20 & \nodata & \nodata & \nodata & \nodata & \nodata\nl +HD 5426 & 9.6& 0.50& 0.08& 0.34& 2 & \nodata & \nodata & \nodata & $-2.30$ & 2 \nl +HD 6755 & 7.7& 0.49& 0.12& 0.28& 20, 2& \nodata & \nodata & \nodata & $-1.70$ & 2 \nl +& & & & & & 5200 & 2.50 & 2.4 & $-1.56$ & 5 \nl +& & & & & & 5260 & 3.00 & 2.7 & $-1.67$ & 7 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.58$ & 21 \nl +& & & & & & 5200 & \nodata & \nodata & $-1.80$ & 10 \nl +HD 18907 & 5.9& 0.51& 0.23& 0.32& 20 & \nodata & \nodata & \nodata & \nodata & \nodata\nl +HD 21581 & 8.7& 0.56& 0.14& 0.34& 2 & \nodata & \nodata & \nodata & $-1.80$ & 2 \nl +& & & & & & 4750 & \nodata & \nodata & $-1.66$ & 10 \nl +HD 24289 & 10.0& 0.39& 0.05& 0.29& 20 & \nodata & \nodata & \nodata & $-1.64$ & 21 \nl +HD 24616 & 6.7& 0.51& 0.25& 0.32& 20 & \nodata & \nodata & \nodata & \nodata & \nodata\nl +HD 44007 & 8.1& 0.56& 0.14& 0.35& 2 & \nodata & \nodata & \nodata & $-1.70$ & 2 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.70$ & 24 \nl +HD 45282 & 8.0& 0.45& 0.11& 0.28& 20 & \nodata & \nodata & \nodata & $-1.51$ & 21 \nl +HD 76932 & 5.8& 0.35& 0.12& 0.30& 20 & 5860 & 3.50 & \nodata & $-1.10$ & 22 \nl +& & & & & & 5630 & 3.88 & 0.8 & $-1.01$ & 7 \nl +& & & & & & 5810 & 3.50 & \nodata & $-1.12$ & 15 \nl +HD 84937 & 8.3& 0.30& 0.06& 0.35& 20,11& 6200 & \nodata & \nodata & $-2.10$ & 4 \nl +& & & & & & 6250 & \nodata & \nodata & $-2.18$ & 17 \nl +& & & & & & 6216 & \nodata & \nodata & $-2.42$ & 11 \nl +& & & & & & 6240 & \nodata & \nodata & $-2.13$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-2.14$ & 21 \nl +& & & & & & 6200 & 3.60 & 1.5 & $-2.43$ & 16 \nl +& & & & & & 6250 & 4.00 & \nodata & $-2.10$ & 22 \nl +HD 87140 & 9.0& 0.48& 0.12& 0.28& 20 & 5000 & 4.50 & 1.0 & $-1.41$ & 7 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.56$ & 21 \nl +HD 88609 & 8.6& 0.68& 0.09& 0.54& 2 & \nodata & \nodata & \nodata & $-2.50$ & 2 \nl +& & & & & & 4500 & 1.10 & 2.8 & $-2.77$ & 5 \nl +& & & & & & 4500 & 0.80 & 3.2 & $-2.65$ & 14 \nl +& & & & & & 4600 & \nodata & \nodata & $-2.75$ & 10 \nl +HD 94028 & 8.2& 0.34& 0.08& 0.25& 20 & 5795 & 4.00 & \nodata & $-1.70$ & 22 \nl +& & & & & & 5860 & \nodata & \nodata & $-1.70$ & 4 \nl +& & & & & & 5910 & 3.80 & \nodata & $-1.76$ & 15 \nl +& & & & & & 5800 & \nodata & \nodata & $-1.67$ & 17 \nl +& & & & & & 5902 & \nodata & \nodata & $-1.50$ & 11 \nl +& & & & & & 5900 & \nodata & \nodata & $-1.57$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.32$ & 21 \nl +HD 97916 & 9.2& 0.29& 0.10& 0.41& 20 & 6125 & 4.00 & \nodata & $-1.10$ & 22 \nl +& & & & & & 6160 & \nodata & \nodata & $-1.39$ & 3 \nl +& & & & & & 6240 & 3.70 & \nodata & $-1.28$ & 15 \nl +& & & & & & 5950 & \nodata & \nodata & $-1.50$ & 17 \nl +& & & & & & 6204 & \nodata & \nodata & $-1.36$ & 11 \nl +HD 101063 & 9.4& 0.50& 0.15& 0.27& 20 & \nodata & \nodata & \nodata & $-1.35$ & 21 \nl +HD 107752 & 10.0& 0.58& 0.09& 0.39& 2 & \nodata & \nodata & \nodata & $-2.60$ & 2 \nl +& & & & & & 4750 & 0.80 & 2.7 & $-2.54$ & 14 \nl +& & & & & & 4775 & \nodata & \nodata & $-2.70$ & 10 \tablebreak +HD 108317 & 8.1& 0.44& 0.06& 0.30& 2 & \nodata & \nodata & \nodata & $-2.30$ & 2 \nl +& & & & & & 5000 & 2.30 & 1.5 & $-2.29$ & 14 \nl +& & & & & & 5200 & 2.50 & 1.5 & $-2.20$ & 5 \nl +& & & & & & 5125 & \nodata & \nodata & $-2.35$ & 10 \nl +HD 111721 & 8.0& 0.51& 0.18& 0.30& 2 & \nodata & \nodata & \nodata & $-1.11$ & 21 \nl +& & & & & & 5100 & 2.90 & 1.0 & $-1.25$ & 9 \nl +HD 115444 & 9.0& 0.57& 0.07& 0.43& 2 & \nodata & \nodata & \nodata & $-2.70$ & 2 \nl +& & & & & & 4800 & 2.00 & 2.2 & $-2.64$ & 5 \nl +& & & & & & 4750 & \nodata & \nodata & $-2.65$ & 10 \nl +HD 122563 & 6.2& 0.64& 0.09& 0.52& 2 & \nodata & \nodata & \nodata & $-2.60$ & 2 \nl +& & & & & & 4600 & 0.80 & 3.2 & $-2.59$ & 13 \nl +& & & & & & 4600 & 1.40 & 2.8 & $-2.35$ & 14 \nl +& & & & & & 4640 & 1.30 & 2.0 & $-2.38$ & 7 \nl +& & & & & & 4600 & 1.20 & 2.3 & $-2.45$ & 5 \nl +& & & & & & 4500 & 0.75 & 2.5 & $-2.93$ & 18 \nl +& & & & & & 4650 & \nodata & \nodata & $-2.75$ & 10 \nl +& & & & & & 4615 & 1.20 & 1.5 & $-2.71$ & 9 \nl +HD 126587 & 9.1& 0.60& 0.05& 0.37& 2 & \nodata & \nodata & \nodata & $-2.70$ & 2 \nl +& & & & & & 4750 & 1.10 & 2.0 & $-2.66$ & 14 \nl +HD 128279 & 8.0& 0.47& 0.05& 0.28& 2 & \nodata & \nodata & \nodata & $-2.50$ & 2 \nl +& & & & & & 5000 & 2.20 & 1.4 & $-2.19$ & 5 \nl +& & & & & & 5125 & 2.20 & 2.0 & $-2.50$ & 18 \nl +HD 132475 & 8.6& 0.40& 0.06& 0.28& 20,11& 5542 & \nodata & \nodata & $-1.93$ & 11 \nl +& & & & & & 5550 & \nodata & \nodata & $-1.60$ & 19 \nl +& & & & & & 5600 & \nodata & \nodata & $-2.16$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.32$ & 21 \nl +HD 134169 & 7.7& 0.38& 0.12& 0.31& 11 & 5800 & 3.80 & \nodata & $-1.60$ & 22 \nl +& & & & & & 5750 & \nodata & \nodata & $-1.49$ & 3 \nl +& & & & & & 5720 & 3.60 & 0.5 & $-0.97$ & 9 \nl +& & & & & & 5750 & 4.50 & 1.0 & $-1.02$ & 7 \nl +& & & & & & 5780 & 3.40 & \nodata & $-1.02$ & 15 \nl +HD 140283 & 7.2& 0.38& 0.03& 0.28& 20,11& 5600 & \nodata & \nodata & $-2.60$ & 17 \nl +& & & & & & 5483 & 3.30 & \nodata & $-2.40$ & 22 \nl +& & & & & & 5630 & 3.20 & \nodata & $-2.78$ & 15 \nl +& & & & & & 5650 & \nodata & \nodata & $-2.79$ & 11 \nl +& & & & & & 5650 & 3.30 & 1.5 & $-2.25$ & 5 \nl +& & & & & & 5740 & \nodata & \nodata & $-2.19$ & 3 \nl +& & & & & & 5640 & \nodata & \nodata & $-2.50$ & 19 \nl +& & & & & & 5650 & \nodata & \nodata & $-2.60$ & 4 \nl +& & & & & & 5570 & 3.30 & 1.5 & $-2.61$ & 8 \nl +& & & & & & \nodata & \nodata & \nodata & $-2.49$ & 21 \nl +& & & & & & 5690 & 3.60 & 0.5 & $-2.57$ & 9 \nl +& & & & & & 5640 & 3.10 & 1.5 & $-2.75$ & 16 \nl +HD 160617 & 8.7& 0.35& 0.05& 0.33& 20 & 5861 & 3.50 & \nodata & $-1.60$ & 23 \nl +& & & & & & 5920 & 3.30 & \nodata & $-1.74$ & 15 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.84$ & 21 \nl +& & & & & & 5910 & 3.50 & 1.5 & $-2.04$ & 16 \nl +HD 161770 & 9.7& 0.49& 0.04& 0.30& 20 & \nodata & \nodata & \nodata & $-1.38$ & 21 \nl +HD 163810 & 9.6& 0.42& 0.10& 0.26& 11 & 5377 & \nodata & \nodata & $-1.55$ & 11 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.40$ & 21 \nl +HD 165195 & 7.3& 0.92& 0.14& 0.70& 2 & \nodata & \nodata & \nodata & $-2.10$ & 2 \nl +& & & & & & 4525 & 0.80 & \nodata & $-1.80$ & 12 \nl +& & & & & & 4500 & 1.20 & 2.0 & $-2.21$ & 7 \nl +& & & & & & 4500 & 1.50 & 2.8 & $-2.21$ & 5 \nl +& & & & & & 4475 & \nodata & \nodata & $-2.25$ & 10 \nl +& & & & & & 4510 & 1.25 & 2.0 & $-2.22$ & 9 \nl +HD 171496 & 8.5& 0.76& 0.15& 0.41& 2 & \nodata & \nodata & \nodata & $-2.10$ & 2 \nl +& & & & & & 4580 & \nodata & \nodata & $-1.75$ & 10 \nl +HD 175305 & 7.2& 0.50& 0.16& 0.31& 2 & \nodata & \nodata & \nodata & $-1.50$ & 2 \nl +& & & & & & 5160 & 3.00 & 2.0 & $-1.53$ & 7 \nl +& & & & & & 5150 & \nodata & \nodata & $-2.26$ & 3 \nl +HD 186478 & 9.2& 0.69& 0.08& 0.49& 2 & \nodata & \nodata & \nodata & $-2.60$ & 2 \nl +HD 187111 & 7.7& 0.84& 0.22& 0.55& 2 & \nodata & \nodata & \nodata & $-2.10$ & 2 \nl +& & & & & & 4300 & 0.75 & \nodata & $-2.35$ & 6 \nl +& & & & & & 4300 & 0.75 & 1.5 & $-2.35$ & 7 \nl +& & & & & & 4260 & 0.50 & 1.4 & $-1.74$ & 9 \nl +HD 189558 & 7.7& 0.39& 0.11& 0.28& 26 & 5660 & 4.00 & \nodata & $-1.30$ & 22 \nl +HD 190287 & 8.5& 0.50& 0.14& 0.28& 2 & \nodata & \nodata & \nodata & $-1.50$ & 2 \nl +HD 201889 & 8.1& 0.39& 0.14& 0.28& 4? & 5570 & \nodata & \nodata & $-1.40$ & 4 \nl +& & & & & & 5580 & \nodata & \nodata & $-1.10$ & 19 \nl +HD 204543 & 8.3& 0.64& 0.16& 0.52& 2 & \nodata & \nodata & \nodata & $-1.60$ & 2 \nl +& & & & & & 4750 & 1.15 & 2.9 & $-1.63$ & 13 \nl +& & & & & & 4640 & 1.20 & 2.0 & $-1.79$ & 8 \nl +& & & & & & 4710 & \nodata & \nodata & $-1.85$ & 10 \nl +HD 211998 & 5.3& 0.45& 0.11& 0.25& 20 & 5200 & 3.50 & \nodata & $-1.50$ & 22 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.51$ & 21 \nl +& & & & & & 5200 & 3.70 & \nodata & $-1.54$ & 15 \nl +& & & & & & 5120 & 3.50 & 1.0 & $-1.68$ & 7 \nl +HD 216143 & 7.8& 0.69& 0.16& 0.55& 2 & \nodata & \nodata & \nodata & $-2.30$ & 2 \nl +& & & & & & 4500 & 1.10 & 3.0 & $-2.27$ & 13 \nl +& & & & & & 4560 & 2.00 & \nodata & $-2.23$ & 6 \nl +& & & & & & 4520 & 1.60 & 1.5 & $-2.20$ & 7 \nl +& & & & & & 4500 & 1.00 & 1.8 & $-2.11$ & 8 \nl +& & & & & & 4565 & \nodata & \nodata & $-2.20$ & 10 \nl +HD 218502 & 8.3& 0.32& 0.07& 0.35& 14? & 6000 & 3.80 & 1.5 & $-1.75$ & 14 \nl +HD 218857 & 8.9& 0.50& 0.09& 0.31& 2 & \nodata & \nodata & \nodata & $-2.10$ & 2 \nl +& & & & & & 5200 & 2.00 & 2.5 & $-2.11$ & 13 \nl +HD 221170 & 7.7& 0.75& 0.14& 0.54& 2 & \nodata & \nodata & \nodata & $-2.60$ & 2 \nl +& & & & & & 4350 & 0.00 & \nodata & $-1.90$ & 12 \nl +& & & & & & 4625 & 1.40 & 2.8 & $-2.04$ & 5 \nl +& & & & & & 4500 & 1.30 & 1.4 & $-1.96$ & 7 \nl +& & & & & & 4525 & \nodata & \nodata & $-2.20$ & 10 \nl +HDE 232078& & 1.45& 0.39& 0.61& 2 & 4000 & 0.40 & \nodata & $-1.40$ & 12 \nl +--30\deg1121&10.3&0.51&0.10&0.35& 2 & \nodata & \nodata & \nodata & $-2.00$ & 2 \nl +--24\deg1782& 9.9&0.47&0.04&0.29&20, 2& \nodata & \nodata & \nodata & $-2.70$ & 2 \nl +& & & & & & 5250 & 2.60 & 1.8 & $-2.31$ & 14 \nl +& & & & & & 5360 & 3.00 & 1.2 & $-2.35$ & 8 \nl +& & & & & & \nodata & \nodata & \nodata & $-2.56$ & 21 \nl +--18\deg5550&9.3&0.69&-0.05&0.40& 2 & \nodata & \nodata & \nodata & $-3.50$ & 2 \nl +& & & & & & 4750 & 0.80 & 2.9 & $-2.65$ & 14 \nl +& & & & & & 4582 & 1.00 & \nodata & $-3.00$ & 1 \nl +& & & & & & 4600 & 1.30 & 3.0 & $-2.93$ & 5 \nl +& & & & & & 4580 & 1.10 & 2.0 & $-2.99$ & 8 \nl +& & & & & & 4750 & 1.10 & 2.5 & $-2.90$ & 18 \nl +--14\deg5890&10.2&0.55&0.09&0.36& 2 & \nodata & \nodata & \nodata & $-2.10$ & 2 \nl +& & & & & & 4905 & \nodata & \nodata & $-2.30$ & 10 \nl +--10\deg0388& 9.2&0.33&0.05&0.36&20 & 5860 & 3.30 & \nodata & $-2.40$ & 1 \nl +& & & & & & 5950 & \nodata & \nodata & $-2.20$ & 19 \nl +& & & & & & 5980 & 3.50 & \nodata & $-2.50$ & 15 \nl +& & & & & & 5955 & \nodata & \nodata & $-2.71$ & 24 \nl +& & & & & & 6010 & 3.20 & 1.5 & $-2.66$ & 16 \nl +--10\deg0548&10.4&0.51&0.13&0.34& 2 & \nodata & \nodata & \nodata & $-1.60$ & 2 \nl +--01\deg1792& 9.2&0.51&0.23&0.27&20 & 5000 & \nodata & \nodata & $-1.02$ & 17 \nl +& & & & & & 5000 & \nodata & \nodata & $-1.02$ & 11 \nl +--01\deg2582& 9.7&0.49&0.10&0.20& 2 & \nodata & \nodata & \nodata & $-1.90$ & 2 \nl +& & & & & & 5000 & 1.20 & 1.8 & $-2.19$ & 14 \nl +& & & & & & 5035 & \nodata & \nodata & $-2.30$ & 10 \nl ++03\deg0740& 9.8&0.31&0.07&0.35&20 & 6240 & \nodata & \nodata & $-2.90$ & 24 \nl +& & & & & & 6110 & \nodata & \nodata &$<-2.30$ & 19 \nl +& & & & & & 6110 & 3.20 & 1.5 & $-2.98$ & 16 \nl ++04\deg2466&10.5&0.53&0.17&0.22& 2 & \nodata & \nodata & \nodata & $-1.40$ & 2 \nl +& & & & & & 5010 & \nodata & \nodata & $-2.40$ & 10 \tablebreak ++04\deg2621&10.0&0.62&0.06&0.47& 2 & \nodata & \nodata & \nodata & $-2.80$ & 2 \nl +& & & & & & 4750 & 1.10 & 2.0 & $-2.21$ & 14 \nl +& & & & & & 4725 & \nodata & \nodata & $-2.60$ & 10 \nl ++06\deg0648& 9.1&0.86&0.19&0.60& 2 & \nodata & \nodata & \nodata & $-2.30$ & 2 \nl +& & & & & & 4500 & 0.80 & 2.4 & $-1.94$ & 14 \nl +& & & & & & 4145 & \nodata & \nodata & $-2.25$ & 10 \nl ++08\deg2856&10.1&0.69&0.13&0.62& 2 & \nodata & \nodata & \nodata & $-2.50$ & 2 \nl +& & & & & & 4565 & \nodata & \nodata & $-2.25$ & 10 \nl ++09\deg2870& 9.4&0.64&0.12&0.49& 2 & \nodata & \nodata & \nodata & $-2.40$ & 2 \nl +& & & & & & 4640 & \nodata & \nodata & $-2.50$ & 10 \nl ++10\deg2495& 9.7&0.50&0.09&0.35& 2 & \nodata & \nodata & \nodata & $-2.30$ & 2 \nl +& & & & & & 4940 & \nodata & \nodata & $-2.15$ & 10 \nl ++12\deg2547& 9.9&0.63&0.14&0.42& 2 & \nodata & \nodata & \nodata & $-2.30$ & 2 \nl ++18\deg2890& 9.8&0.50&0.12&0.36& 2 & \nodata & \nodata & \nodata & $-2.00$ & 2 \nl ++20\deg3603& 9.9&0.32&0.05&0.31&20,11& 6040 & \nodata & \nodata & $-2.30$ & 4 \nl +& & & & & & 6000 & \nodata & \nodata & $-2.28$ & 17 \nl +& & & & & & 6198 & \nodata & \nodata & $-2.26$ & 11 \nl +& & & & & & 6000 & 4.00 & \nodata & $-2.20$ & 22 \nl +& & & & & & 6200 & 4.50 & \nodata & $-2.49$ & 15 \nl ++23\deg3912& 8.9&0.37&0.08&0.29&20 & 5600 & 4.00 & \nodata & $-1.70$ & 22 \nl +& & & & & & 5600 & \nodata & \nodata & $-1.70$ & 4 \nl +& & & & & & 5720 & \nodata & \nodata & $-1.30$ & 19 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.29$ & 21 \nl ++26\deg2606& 9.7&0.34&0.05&0.28&20,11& 5980 & \nodata & \nodata &$<-2.20$ & 19 \nl +& & & & & & 5950 & \nodata & \nodata & $-2.89$ & 24 \nl ++26\deg3578& 9.4&0.31&0.05&0.37&20,11& 5830 & \nodata & \nodata & $-2.60$ & 4 \nl +& & & & & & 5800 & \nodata & \nodata & $-2.62$ & 17 \nl +& & & & & & 6177 & \nodata & \nodata & $-2.51$ & 11 \nl +& & & & & & 6000 & 3.25 & \nodata & $-2.20$ & 22 \nl +& & & & & & 6140 & 3.50 & \nodata & $-2.57$ & 15 \nl ++30\deg2611& 9.2&0.82&0.33&0.55& 2 & \nodata & \nodata & \nodata & $-1.70$ & 2 \nl +& & & & & & 4400 & 1.80 & \nodata & $-1.70$ & 12 \nl +& & & & & & 4400 & 0.90 & 1.7 & $-1.20$ & 14 \nl +& & & & & & 4260 & \nodata & \nodata & $-1.55$ & 10 \nl ++37\deg1458& 8.9&0.44&0.07&0.22&20,11& 5296 & \nodata & \nodata & $-2.39$ & 11 \nl +& & & & & & 5420 & \nodata & \nodata & $-2.43$ & 3 \nl ++58\deg1218&10.0&0.51&0.03&0.36& 2 & \nodata & \nodata & \nodata & $-2.80$ & 2 \nl +& & & & & & 5000 & 1.10 & 2.2 & $-2.71$ & 14 \nl +& & & & & & 5000 & 2.20 & 1.8 & $-2.46$ & 5 \nl +& & & & & & 4980 & \nodata & \nodata & $-2.55$ & 10 \nl ++72\deg0094&10.2&0.31&0.09&0.26&12 & 6160 & \nodata & \nodata & $-1.80$ & 19 \nl +G5--36 & 10.8& 0.40& 0.07& 0.28& 20 & \nodata & \nodata & \nodata & $-1.19$ & 21 \nl +G18--54 & 10.7& 0.37& 0.08& 0.28& 20 & \nodata & \nodata & \nodata & $-1.34$ & 21 \nl +G20--08 & 9.9& 0.36& 0.05& 0.25& 20,11& 5849 & \nodata & \nodata & $-2.59$ & 11 \nl +& & & & & & \nodata & \nodata & \nodata & $-2.03$ & 21 \nl +G20--15 & 10.6& 0.45& 0.03& 0.27& 20,11& 5657 & \nodata & \nodata & $-2.00$ & 11 \nl +& & & & & & 6020 & \nodata & \nodata & $-1.56$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.58$ & 21 \nl +G21--22 & 10.7& 0.38& 0.07& 0.27& 20,11& \nodata & \nodata & \nodata & $-1.23$ & 21 \nl +G24--03 & 10.5& 0.36& 0.06& 0.27& 20,11& 5866 & \nodata & \nodata & $-1.78$ & 11 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.70$ & 21 \nl +G30--52 & 8.6& 0.50& 0.25& 0.27& 11 & 4757 & \nodata & \nodata & $-2.12$ & 11 \nl +& & & & & & 4880 & \nodata & \nodata & $-2.14$ & 3 \nl +G33--09 & 10.6& 0.41& 0.10& 0.28& 20 & 5575 & \nodata & \nodata & $-1.48$ & 11 \nl +G59--18 & 10.2& 0.47& 0.16& 0.26& 20 & \nodata & \nodata & \nodata & $-1.08$ & 21 \nl +G60--26 & 9.8& 0.43& 0.14& 0.24& 20 & \nodata & \nodata & \nodata & $-1.15$ & 21 \nl +G66--22 & 10.5& 0.46& 0.16& 0.28& 11 & 5060 & \nodata & \nodata & $-1.77$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.04$ & 21 \nl +G90--03 & 10.4& 0.37& 0.04& 0.29& 20 & \nodata & \nodata & \nodata & $-2.01$ & 21 \nl +G102--47 & 10.3& 0.46& 0.10& 0.23& 20,11& 5220 & \nodata & \nodata & $-2.25$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.62$ & 21 \nl +G122--57 & 8.4& 0.53& 0.27& 0.31& 11 & 4744 & \nodata & \nodata & $-1.71$ & 11 \nl +G141--19 & 10.6& 0.50& 0.01& 0.26& 20 & 5155 & \nodata & \nodata & $-2.91$ & 11 \nl +& & & & & & 5680 & \nodata & \nodata & $-1.80$ & 3 \nl +& & & & & & \nodata & \nodata & \nodata & $-1.95$ & 21 \nl +G141--47 & 10.5& 0.39& 0.09& 0.29& 11 & 6056 & \nodata & \nodata & $-1.57$ & 11 \nl +G170--47 & 8.9& 0.45& 0.06& 0.28& 11 & 5126 & \nodata & \nodata & $-2.91$ & 11 \nl +G186--26 & 10.8& 0.31& 0.04& 0.34& 20 & 6220 & \nodata & \nodata & $-2.90$ & 25 \nl +& & & & & & 6222 & \nodata & \nodata &$<-2.80$ & 11 \nl +G205--42 & 10.0& 0.43& 0.10& 0.23& 11 & 5301 & \nodata & \nodata & $-2.18$ & 11 \nl +G217--08 & 10.5& 0.35& 0.06& 0.28& 11 & 6066 & \nodata & \nodata & $-2.29$ & \nodata\nl +G243--63 & 7.7& 0.48& 0.13& 0.30& 11 & \nodata & \nodata & \nodata & $-1.66$ & 21 \nl +LP 608--62\tablenotemark{a} & 10.5& 0.30& 0.07& 0.35& 11 & 6250 & \nodata & \nodata & $-2.70$ & 4 \nl +\tablenotetext{a}{Star LP 608--62 is also known as BD+1\deg 2341p.} +\tablenotetext{b}{This is not a real table footnote.} +\tablerefs{ +(1) Barbuy, Spite, \& Spite 1985; (2) Bond 1980; (3) Carbon et al. 1987; +(4) Hobbs \& Duncan 1987; (5) Gilroy et al. 1988: (6) Gratton \& Ortolani 1986; +(7) Gratton \& Sneden 1987; (8) Gratton \& Sneden (1988); (9) Gratton \& Sneden 1991; +(10) Kraft et al. 1982; (11) LCL, or Laird, 1990; (12) Leep \& Wallerstein 1981; +(13) Luck \& Bond 1981; (14) Luck \& Bond 1985; (15) Magain 1987; +(16) Magain 1989; (17) Peterson 1981; (18) Peterson, Kurucz, \& Carney 1990; +(19) RMB; (20) Schuster \& Nissen 1988; (21) Schuster \& Nissen 1989b; +(22) Spite et al. 1984; (23) Spite \& Spite 1986; (24) Hobbs \& Thorburn 1991; +(25) Hobbs et al. 1991; (26) Olsen 1983.} +\tablecomments{Occasionally, authors wish to append a short +paragraph of explanatory notes that pertain to the entire table, but +which are different than the caption. Such notes should be placed in +a {\tt tablecomments} command like this.} +\end{planotable} diff --git a/obsolete/macros/latex209/contrib/aasmacros/table2.tex b/obsolete/macros/latex209/contrib/aasmacros/table2.tex new file mode 100644 index 0000000000..df417bd445 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/table2.tex @@ -0,0 +1,114 @@ +% TABLE2.TEX -- Sample table 2. + +\begin{planotable}{lrrrrrr} +%\tablewidth{33pc} +\tablewidth{0pc} +\tablecaption{Equivalent Widths} +\tablehead{ +\colhead{Star} & \colhead{6678{\AA}} & +\colhead{6703{\AA}} & \colhead{6705{\AA}} & +\colhead{6707{\AA}} & \colhead{6717{\AA}} & +\colhead{6750{\AA}} \\[.2ex] +\colhead{} & \colhead{Fe I} & +\colhead{Fe I} & \colhead{Fe I} & +\colhead{Li I} & \colhead{Ca I} & +\colhead{Fe I}} + +\startdata +HD 97 & 105.1 & 18.9 & 15.1 & 12.1 & 71.3 & 52.5 \nl +HD 2665 & 68.1 & 7.3 & \nodata & 15.0 & 24.9 & 22.6 \nl +HD 4306 & 21.6 & \nodata & \nodata & 17.7 & 7.7 & \nodata \nl +HD 4906 & 113.5 & 29.3 & 30.7 & 9: & 108.7 & 70.8 \nl +HD 5426 & 53.2 & \nodata & \nodata & 9.1 & 21.8 & 13.7 \nl +HD 6755 & 84.5 & 7.3 & 6.3 & 15.3 & 46.8 & 34.5 \nl +HD 18907 & 129.1 & 36.8 & 33.5 & \nodata & 121.0 & 74.6 \nl +HD 21581 & 88.7 & 7.1 & 6.2 & 17.3 & 53.6 & 41.5 \nl +HD 24289 & \nodata & \nodata & \nodata & 45.0 & \nodata & \nodata \nl +HD 24616 & 121.9 & 38.4 & 31.3 & \nodata & 112.0 & 75.7 \nl +HD 44007 & 90.9 & 10.7 & \nodata & 18.7 & 60.6 & 46.1 \nl +HD 45282 & 74.3 & 7.1 & 4.1 & 9.9 & 47.2 & 34.1 \nl +HD 76932 & 74.4 & 6.7 & 12.0 & 26.7 & 64.7 & \nodata \nl +HD 84937 & \nodata & \nodata & \nodata & 20\tablenotemark{1}& \nodata & \nodata \nl +HD 87140 & 71.9 & \nodata & \nodata & 13.8 & 37.6 & \nodata \nl +HD 88609 & \nodata & \nodata & \nodata & $<$2 & \nodata & \nodata \nl +HD 94028 & 44.1 & 9.9 & 7.4 & 36.6 & 29.1 & \nodata \nl +HD 97916 & 52.4 & \nodata & \nodata & $<$5 & 55.1 & \nodata \nl +HD 101063 & 93.5 & 19.9 & \nodata & 12.3 & 68.6 & \nodata \nl +HD 107752 & 35.4 & \nodata & \nodata & $<$4 & 13.1 & \nodata \nl +HD 108317 & 34.3 & \nodata & \nodata & $<$4 & 15.3 & \nodata \nl +HD 111721 & 91.8 & 16.5 & 12.2 & 17.2 & 72.9 & \nodata \nl +HD 115444 & 31.8 & \nodata & \nodata & $<$3 & 8.6 & \nodata \nl +HD 122563 & 51.8 & \nodata & \nodata & $<$2 & 11.9 & \nodata \nl +HD 126587 & 23.6 & \nodata & \nodata & 14.5 & 10.9 & \nodata \nl +HD 128279 & 41.1 & \nodata & \nodata & 11.4 & 17.3 & 7.5 \nl +HD 132475 & 55.7 & \nodata & \nodata & 52.8 & 38.1 & \nodata \nl +HD 134169 & \nodata & \nodata & \nodata & 44\tablenotemark{5}& \nodata & \nodata \nl +HD 140283 & 12.5 & \nodata & \nodata & 42.2 & \nodata & \nodata \nl +HD 160617 & \nodata & \nodata & \nodata & 42\tablenotemark{4}& \nodata & \nodata \nl +HD 161770 & 51.1 & \nodata & 6.4 & 44.9 & 31.4 & 14.4 \nl +HD 163810 & 83.0 & 9.5 & 7.6 & 22.1 & 54.9 & \nodata \nl +HD 165195 & 103.8 & 7.7 & 2.9 & $<$2 & 35.9 & \nodata \nl +HD 171496 & 138.8 & 47.4 & 38.0 & $<$3 & 124.8 & \nodata \nl +HD 175305 & \nodata & \nodata & 8.2 & 13.7 & 60.9 & \nodata \nl +HD 186478 & 56.8 & \nodata & \nodata & $<$4 & 21.7 & \nodata \nl +HD 187111 & 136.4 & 35.1 & 13.8 & $<$2 & 93.4 & \nodata \nl +HD 189558 & \nodata & \nodata & \nodata & 42\tablenotemark{5}& \nodata & \nodata \nl +HD 190287 & 86.6 & 9.6 & 11.7 & 15.0 & 63.1 & \nodata \nl +HD 201889 & 93.6 & 16.3 & 16.8 & $<$4 & 86.2 & \nodata \nl +HD 204543 & 109.8 & 7.7 & \nodata & $<$3 & 54.5 & 52.3 \nl +HD 211998 & \nodata & \nodata & \nodata & 13\tablenotemark{5}& \nodata & \nodata \nl +HD 216143 & 92.1 & 8.2 & \nodata & $<$8 & 30.3 & 40.1 \nl +HD 218502 & 20.0 & \nodata & \nodata & 30.0 & 10.0 & \nodata \nl +HD 218857 & 61.6 & \nodata & \nodata & 12.1 & \nodata & 21.3 \nl +HD 221170 & 94.0 & 8.6 & \nodata & $<$3 & 41.7 & 45.6 \nl +HDE 232078 & 198.1 & 67.4 & 23.5 & 32.8 & 136.5 & 143.0 \nl +--30\deg1121 & 74.1 & \nodata & 7.5 & 14.6 & 30.5 & 28.8 \nl +--24\deg1782 & 16.0 & \nodata & \nodata & 12.6 & 10.4 & \nodata \nl +--18\deg5550 & 28.6 & \nodata & \nodata & 16.8 & \nodata & \nodata \nl +--14\deg5890 & 58.9 & \nodata & \nodata & 25.8 & 28.6 & \nodata \nl +--10\deg0388 & 7.2 & \nodata & \nodata & 23.6 & \nodata & \nodata \nl +--10\deg0548 & 85.1 & 17.1 & \nodata & 17.2 & 57.0 & \nodata \nl +--01\deg1792 & 112.4 & 30.0 & 25.0 & 10: & 104.4 & \nodata \nl +--01\deg2582 & 40.9 & \nodata & \nodata & 10.2 & 19.3 & \nodata \nl ++03\deg0740 & \nodata & \nodata & \nodata & 21\tablenotemark{3} & \nodata & \nodata \nl ++04\deg2466 & 52.9 & \nodata & \nodata & $<$6 & 38.0 & \nodata \nl ++04\deg2621 & 49.8 & \nodata & \nodata & $<$5 & 17.4 & \nodata \nl ++06\deg0648 & \nodata & 13.5 & 8.1 & $<$4 & 46.5 & 51.8 \nl ++08\deg2856 & 99.3 & \nodata & \nodata & 8: & 42.8 & \nodata \nl ++09\deg2870 & 70.4 & \nodata & \nodata & $<$4 & 23.6 & \nodata \nl ++10\deg2495 & 67.6 & \nodata & \nodata & 21.3 & 29.2 & \nodata \nl ++12\deg2547 & 198.1 & 86.0 & 62.7 & $<$4 & 180.7 & \nodata \nl ++18\deg2890 & 88.0 & 12.0 & 8.6 & $<$4 & 57.7 & \nodata \nl ++20\deg3603 & \nodata & \nodata & \nodata & 27\tablenotemark{1}& \nodata & \nodata \nl ++23\deg3912 & 50.1 & \nodata & \nodata & 80.8 & 41.2 & 13.9 \nl ++26\deg2606 & \nodata & \nodata & \nodata & 35\tablenotemark{3}& \nodata & \nodata \nl ++26\deg3578 & \nodata & \nodata & \nodata & 27\tablenotemark{1}& \nodata & \nodata \nl ++30\deg2611 & 166.1 & 52.4 & 25.1 & $<$6 & 104.8 & 115.6 \nl ++37\deg1458 & 42.9 & \nodata & \nodata & 17.0 & 17.3 & \nodata \nl ++58\deg1218 & 27.9 & \nodata & \nodata & 17.2 & \nodata & \nodata \nl ++72\deg0094 & \nodata & \nodata & \nodata & 27\tablenotemark{3}& \nodata & .. \nl +G5--36 & 54.4 & 9.2 & 7.7 & 44.2 & 53.1 & \nodata \nl +G18--54 & 52.3 & \nodata & \nodata & 34.9 & \nodata & \nodata \nl +G20--08 & 14.5 & \nodata & \nodata & 36.3 & \nodata & \nodata \nl +G20--15 & 40.7 & \nodata & \nodata & 28.3 & 36.9 & \nodata \nl +G21--22 & 63.5 & \nodata & \nodata & 41.4 & 37.9 & \nodata \nl +G24--03 & 38.4 & \nodata & \nodata & 28.5 & 21.4 & \nodata \nl +G30--52 & \nodata & 15.6 & 11.0 & \nodata & 59.7 & 59.8 \nl +G33--09 & \nodata & \nodata & 7.7 & 35.2 & 55.9 & 30.5 \nl +G59--18 & 94.7 & 18.5 & 15.0 & 15.7 & 78.9 & \nodata \nl +G60--26 & 81.8 & 7.6 & 11.0 & 13.6 & 64.6 & \nodata \nl +G66--22 & 115.2 & 19.6 & 21.2 & 6: & 86.8 & \nodata \nl +G90--03 & 23.6 & \nodata & \nodata & 43.5 & 20.9 & \nodata \nl +G102--47 & 71.5 & \nodata & \nodata & 17.5 & 44.4 & 25.2 \nl +G122--57 & 128.5 & 41.0 & 32.0 & $<$3 & 120.8 & \nodata \nl +G141--19 & 25.5 & \nodata & \nodata & 32.5 & 13.8 & \nodata \nl +G141--47 & 59.9 & 9.6 & 7.8 & 35.0 & 39.8 & \nodata \nl +G170--47 & 27.8 & \nodata & \nodata & 14: & 7.5 & \nodata \nl +G186--26 & \nodata & \nodata & \nodata & $\leq$3\tablenotemark{2}& & \nodata \nl +G205--42 & 54.1 & \nodata & \nodata & 24.0 & 25.6 & 24.8 \nl +G217--08 & 15.4 & \nodata & \nodata & 32.6 & \nodata & \nodata \nl +G243--63 & \nodata & 8.3 & 4.3 & 13.1 & 41.1 & 38.0 \nl +LP 608--62 & \nodata & \nodata & \nodata & 23\tablenotemark{1}& \nodata & \nodata \nl +\tablerefs{(1) Hobbs \& Duncan 1987; (2) Hobbs et al. 1991; (3) RMB; +(4) Spite \& Spite 1986; (5) Spite et al. 1984} +\end{planotable} diff --git a/obsolete/macros/latex209/contrib/aasmacros/table3.tex b/obsolete/macros/latex209/contrib/aasmacros/table3.tex new file mode 100644 index 0000000000..7e58cbe32d --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/table3.tex @@ -0,0 +1,106 @@ +% TABLE3.TEX -- Sample table 3. + +\begin{planotable}{lrrrr} +\tablewidth{27pc} +\tablecaption{Models and Abundances} +\tablehead{ +\colhead{Star} & \colhead{T$_{\rm eff}$} & +\colhead{log $\epsilon$(Li)} & \colhead{[Fe/H]} & +\colhead{[Ca/H]}} + +\startdata +HD 97 & 5000 & $ 0.81 $ & $-1.23$ & $-0.92$ \nl +HD 2665 & 5100 & $ 0.90 $ & $-1.89$ & $-1.80$ \nl +HD 4306 & 4950 & $ 0.92 $ & $-2.87$ & $-2.45$ \nl +HD 4906 & 5100 & $ 0.77 $ & $-0.84$ & $-0.18$ \nl +HD 5426 & 5100 & $ 0.77 $ & $-2.08$ & $-1.83$ \nl +HD 6755 & 5200 & $ 1.12 $ & $-1.52$ & $-1.31$ \nl +HD 18907 & 5000 & \nodata & $-0.78$ & +0.01 \nl +HD 21581 & 4900 & $ 0.84 $ & $-1.73$ & $-1.35$ \nl +HD 24289 & 5570 & $ 2.00 $ & \nodata & \nodata \nl +HD 24616 & 5000 & \nodata & $-0.78$ & $-0.14$ \nl +HD 44007 & 4900 & $ 0.88 $ & $-1.50$ & $-1.15$ \nl +HD 45282 & 5400 & $ 1.12 $ & $-1.29$ & $-1.09$ \nl +HD 76932 & 5900 & $ 2.02 $ & $-0.90$ & $-0.56$ \nl +HD 84937 & 6252 & $ 2.10 $ & \nodata & \nodata \nl +HD 87140 & 5000 & $ 0.86 $ & $-1.75$ & $-1.58$ \nl +HD 88609 & 4510 & $<-0.80$& \nodata & \nodata \nl +HD 94028 & 5800 & $ 2.09 $ & $-1.51$ & $-1.28$ \nl +HD 97916 & 6000 & $<\phantom{-}1.30$ & $-1.38$ & $-1.23$ \nl +HD 101063 & 5000 & $ 0.81 $ & $-1.13$ & $-0.90$ \nl +HD 107752 & 4700 & $<-0.10$& $-2.88$ & $-2.33$ \nl +HD 108317 & 5300 & $<\phantom{-}0.60$& $-2.32$ & $-1.91$ \nl +HD 111721 & 5000 & $ 0.97 $ & $-1.34$ & $-0.89$ \nl +HD 115444 & 4800 & $<-0.10$& $-2.72$ & $-2.47$ \nl +HD 122563 & 4600 & $<-0.60$& $-2.75$ & $-2.45$ \nl +HD 126587 & 4750 & $ 0.56 $ & $-3.06$ & $-2.37$ \nl +HD 128279 & 5100 & $ 0.88 $ & $-2.32$ & $-1.99$ \nl +HD 132475 & 5500 & $ 2.04 $ & $-1.48$ & $-1.23$ \nl +HD 134169 & 5800 & $ 2.18 $ & \nodata & \nodata \nl +HD 140283 & 5650 & $ 2.05 $ & $-2.52$ & \nodata \nl +HD 160617 & 5900 & $ 2.23 $ & \nodata & \nodata \nl +HD 161770 & 5050 & $ 1.50 $ & $-2.12$ & $-1.64$ \nl +HD 163810 & 5400 & $ 1.51 $ & $-1.23$ & $-1.00$ \nl +HD 165195 & 4490 & $<-0.80$& $-2.26$ & $-1.97$ \nl +HD 171496 & 4500 & $<-0.60$& $-1.12$ & $-0.35$ \nl +HD 175305 & 5190 & $ 1.08 $ & $-1.50$ & $-1.00$ \nl +HD 186478 & 4600 & $<-0.10$& $-2.68$ & $-2.15$ \nl +HD 187111 & 4300 & $<-1.20$& $-1.76$ & $-1.22$ \nl +HD 189558 & 5600 & $ 2.00 $ & $-1.30$ & \nodata \nl +HD 190287 & 5100 & $ 1.01 $ & $-1.38$ & $-1.01$ \nl +HD 201889 & 5600 & $ 0.91 $ & $-0.73$ & $-0.22$ \nl +HD 204543 & 4650 & $<-0.40$& $-1.96$ & $-1.57$ \nl +HD 211998 & 5210 & $ 1.04 $ & \nodata & \nodata \nl +HD 216143 & 4500 & $<-0.10$& $-2.18$ & $-2.05$ \nl +HD 218502 & 6000 & $ 2.16 $ & $-1.96$ & $-1.77$ \nl +HD 218857 & 5100 & $ 0.91 $ & $-1.87$ & \nodata \nl +HD 221170 & 4625 & $<-0.10$& $-1.96$ & $-1.74$ \nl +HDE 232078 & 3950 & $-0.22$ & -$-1.73$ & $-1.31$ \nl +--30\deg1121 & 5100 & $ 0.99 $ & $-1.62$ & $-1.58$ \nl +--24\deg1782 & 5300 & $ 1.13 $ & $-2.70$ & $-2.10$ \nl +--18\deg5550 & 4600 & $ 0.42 $ & $-3.15$ & \nodata \nl +--14\deg5890 & 4950 & $ 1.10 $ & $-2.07$ & $-1.72$ \nl +--10\deg0388 & 5950 & $ 2.00 $ & $-2.52$ & \nodata \nl +--10\deg0548 & 5100 & $ 1.07 $ & $-1.07$ & $-0.98$ \nl +--01\deg1792 & 5000 & $ 0.78 $ & $-0.94$ & $-0.28$ \nl +--01\deg2582 & 5100 & $ 0.83 $ & $-2.29$ & $-1.89$ \nl ++03\deg0740 & 6110 & $ 2.07 $ & \nodata & \nodata \nl ++04\deg2466 & 5000 & $<\phantom{-}0.50$& $-2.15$ & $-1.47$ \nl ++04\deg2621 & 4550 & $-0.30$ & $-2.83$ & $-2.31$ \nl ++06\deg0648 & 4500 & $<-0.50$& $-1.91$ & $-1.70$ \nl ++08\deg2856 & 4560 & $<\phantom{-}0.00$& $-2.05$ & $-1.78$ \nl ++09\deg2870 & 4600 & $<-0.30$& $-2.48$ & $-2.10$ \nl ++10\deg2495 & 5000 & $ 1.07 $ & $-1.83$ & $-1.70$ \nl ++12\deg2547 & 4500 & $<-0.50$& $-0.72$ & +0.14 \nl ++18\deg2890 & 5000 & $<\phantom{-}0.30$& $-1.61$ & $-1.15$ \nl ++20\deg3603 & 6000 & $ 2.12 $ & \nodata & \nodata \nl ++23\deg3912 & 5600 & $ 2.38 $ & $-1.59$ & $-1.11$ \nl ++26\deg2606 & 5980 & $ 2.20 $ & \nodata & \nodata \nl ++26\deg3578 & 6000 & $ 2.05 $ & \nodata & \nodata \nl ++30\deg2611 & 4400 & $<-0.40$& $-1.35$ & $-1.08$ \nl ++37\deg1458 & 5300 & $ 1.27 $ & $-1.97$ & $-1.87$ \nl ++58\deg1218 & 5000 & $ 0.97 $ & $-2.66$ & \nodata \nl ++72\deg0094 & 6160 & $ 2.22 $ & \nodata & \nodata \nl +G5--36 & 5600 & $ 2.03 $ & $-1.35$ & $-0.82$ \nl +G18--54 & 5800 & $ 2.07 $ & $-1.33$ & \nodata \nl +G20--08 & 5850 & $ 2.13 $ & $-2.26$ & \nodata \nl +G20--15 & 5600 & $ 1.80 $ & $-1.78$ & $-1.22$ \nl +G21--22 & 5700 & $ 2.08 $ & $-1.09$ & $-1.03$ \nl +G24--03 & 5800 & $ 1.97 $ & $-1.63$ & $-1.42$ \nl +G30--52 & 5000 & \nodata & $-1.31$ & $-1.14$ \nl +G33--09 & 5500 & $ 1.82 $ & $-1.27$ & $-0.94$ \nl +G59--18 & 5200 & $ 1.13 $ & $-1.08$ & $-0.65$ \nl +G60--26 & 5400 & $ 1.26 $ & $-1.22$ & $-0.83$ \nl +G66--22 & 5300 & $ 0.79 $ & $-0.90$ & $-0.65$ \nl +G90--03 & 5900 & $ 2.25 $ & $-1.93$ & $-1.41$ \nl +G102--47 & 5200 & $ 1.18 $ & $-1.69$ & $-1.30$ \nl +G122--57 & 4800 & $<-0.10$& $-0.92$ & $-0.13$ \nl +G141--19 & 5150 & $ 1.43 $ & $-2.59$ & $-2.01$ \nl +G141--47 & 6000 & $ 2.23 $ & $-1.13$ & $-0.98$ \nl +G170--47 & 5250 & $ 1.13 $ & $-2.42$ & $-2.30$ \nl +G186--26 & 6220 & $<\phantom{-}1.28$& \nodata & \nodata \nl +G205--42 & 5300 & $ 1.44 $ & $-1.51$ & $-1.61$ \nl +G217--08 & 6050 & $ 2.24 $ & $-2.05$ & \nodata \nl +G243--63 & 5200 & $ 1.05 $ & $-1.39$ & $-1.36$ \nl +LP 608--62 & 6250 & $ 2.21 $ & \nodata & \nodata \nl +\end{planotable} diff --git a/obsolete/macros/latex209/contrib/aasmacros/tighten.sty b/obsolete/macros/latex209/contrib/aasmacros/tighten.sty new file mode 100644 index 0000000000..d42504bbc0 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aasmacros/tighten.sty @@ -0,0 +1,15 @@ +% TIGHTEN.STY -- Substyle definition for "single-spaced" manuscripts. + +% This is the least intrusive way to implement a substyle layered on top +% the standard LaTeX styles: by creating a foo.sty style that is read when +% the specifies the document substyle foo. This file is read in when +% +% \documentstyle[12pt,aasms,tighten]{article} +% +% is specified by the author. + +\tightenlines + +% That's all this files does. It would be more efficient to have "tighten" +% declared as an internal substyle, but that requires modifications in the +% main LaTeX article.sty file. diff --git a/obsolete/macros/latex209/contrib/aguplus/agu.bst b/obsolete/macros/latex209/contrib/aguplus/agu.bst new file mode 100644 index 0000000000..16a1e9357f --- /dev/null +++ b/obsolete/macros/latex209/contrib/aguplus/agu.bst @@ -0,0 +1,1145 @@ +%% +%% This is file `agu.bst', generated +%% on <1994/5/27> with the docstrip utility (2.2e). +%% +%% The original source files were: +%% +%% genbst.mbs (with options: `ay,seq-lab,nm-rev1,nmlm,x9,m1,dt-end,thtit-a,vol-it,volp-com,edby,blk-com,pp,ed,abr,lab-it,and-com,em-it') +%% ---------------------------------------- +%% *** For publications of the American Geophysical Union *** +%% +%% (Here are the specifications of the source file) +%% \def\filename{genbst.mbs} +%% \def\filedate{1994 February 7} +%% \def\fileversion{1.2} +%% For use with BibTeX version 0.99a or later, LaTeX version 2.09 +%%------------------------------------------------------------------- +%% NOTICE: +%% This file may be used for non-profit purposes. +%% It may not be distributed in exchange for money, +%% other than distribution costs. +%% +%% The author provides it `as is' and does not guarantee it in any way. +%% +%% Copyright (C) 1993 Patrick W. Daly +%% Max-Planck-Institut f\"ur Aeronomie +%% Postfach 20 +%% D-37189 Katlenburg-Lindau +%% Germany +%% +%% E-mail: +%% SPAN-- nsp::linmpi::daly (note nsp also known as ecd1) +%% Internet-- daly@linmpi.dnet.gwdg.de +%%----------------------------------------------------------- +%% \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 \~} +%%--------------------------------------------------------------------- + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a style option to function properly. + % An appropriate style option is: natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \cite{key} ==>> Jones et al. (1990) + % \cite[]{key} ==>> (Jones et al., 1990) + % \cite[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \cite[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \cite[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} Jones et al. + % \citeyear{key} 1990 +%%--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + ")]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\it " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := } + { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := } + if$ + nameptr #1 > + { + nameptr #2 = + numnames #9 > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + "," * + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.names.ed} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { " (eds.)" * } + { " (ed.)" * } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { "" } + { editor format.names.ed + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ "in " } + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" } + 'skip$ + if$ + extra.label * +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "vol." volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "no." } + { "No." } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edn." * } + { edition "t" change.case$ " edn." * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp." pages n.dashify tie.or.space.connect } + { "p." pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + emphasize + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chap." } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { word.in booktitle emphasize * } + { word.in booktitle emphasize * ", edited by " * + format.in.editors * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Tech. Rep." } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ + word.in + "\cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + word.in + } + { "vol." volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + "\cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { + format.book.crossref output.nonnull + } + if$ + format.edition output + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.title "title" output.check + howpublished output + address output + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.edition output + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address output + new.sentence + organization output + publisher output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.btitle "title" output.check + organization output + address output + format.edition output + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.title output + howpublished output + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + "Ph.D. thesis" format.thesis.type output.nonnull + school "school" output.check + address output + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.btitle "title" output.check + format.bvolume output + format.number.series output + address output + new.sentence + organization output + publisher output + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" output.check + address output + note output + format.date "year" output.check + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + note "note" output.check + format.date "year" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + emphasize + "(" + * + year duplicate$ empty$ + { pop$ "????" } + { purify$ #-1 #4 substring$ } + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { numnames #2 > nameptr #2 = and + { "zzzzzz" * #1 'namesleft := } + { t sortify * } + if$ + } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + label extra.label * 'label := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +%% End of customized bst file diff --git a/obsolete/macros/latex209/contrib/aguplus/agu2e.sty b/obsolete/macros/latex209/contrib/aguplus/agu2e.sty new file mode 100644 index 0000000000..0b627341b3 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aguplus/agu2e.sty @@ -0,0 +1,49 @@ +%% +%% This is file `agu2e.sty', generated +%% on <1994/5/27> with the docstrip utility (2.2e). +%% +%% The original source files were: +%% +%% aguplus.dtx (with options: `patch') +%% --------------------------------- +%% AGU2E +%% --------------------------------- +%% A patch to allow AGUTeX to run +%% under LaTeX2e +%% --------------------------------- +%% +%%============================AGUPLUS.DTX=========================== +\def\filename{aguplus} +\def\fileversion{1.0} +\def\filedate{1994/05/26} + %------------------------------------------------------------------- + % NOTICE: + % This file may be used for non-profit purposes. + % It may not be distributed in exchange for money, + % other than distribution costs. + % + % The author provides it `as is' and does not guarantee it in any way. + % +%% Copyright (C) 1994 Patrick W. Daly + % Max-Planck-Institut f\"ur Aeronomie + % Postfach 20 + % D-37189 Katlenburg-Lindau + % Germany + % + % E-mail: + % SPAN-- nsp::linmpi::daly (note nsp also known as ecd1) + % Internet-- daly@linax1.dnet.gwdg.de + %----------------------------------------------------------- + % This package fixes up some problems between AGUTeX and LaTeX2e + % It must be read in BEFORE any of the AGUTeX packages, as + % \usepackage{agu2e,agums,aguplus} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{agu2e}[\filedate (Patch for AGUTeX and LaTeX2e)] +\newdimen\@maxsep \newdimen\@dblmaxsep +\let\ori@input=\@input +\def\@input#1{\def\@tempa{#1}\def\@tempb{art12.sty}\ifx\@tempa\@tempb + \ori@input{size12.clo}\else\ori@input{#1}\fi} + +%% <<<<< End of decommented file <<<<<< +%% +%% End of file agu2e.sty. diff --git a/obsolete/macros/latex209/contrib/aguplus/aguplus.sty b/obsolete/macros/latex209/contrib/aguplus/aguplus.sty new file mode 100644 index 0000000000..b573d3d95d --- /dev/null +++ b/obsolete/macros/latex209/contrib/aguplus/aguplus.sty @@ -0,0 +1,818 @@ +%% +%% This is file `aguplus.sty', generated +%% on <1994/6/6> with the docstrip utility (2.2e). +%% (With manual patch on 1994/08/22, until true LaTeX2e version ready +%% +%% The original source files were: +%% +%% aguplus.dtx (with options: `style,mtitle,209') +%% sublabel.dtx (with options: `package,subpack,209,agu') +%% appendix.dtx (with options: `package,subpack,209,agu,plates') +%% figcaps.dtx (with options: `package,subpack,agu,209,plates,sublab') +%% natbib.dtx (with options: `package,subpack,agu,209') +%% (with manual patch) +%% balance.dtx (with options: `package,subpack,209') +%% --------------------------------- +%% AGU++ +%% --------------------------------- +%% An unofficial LaTeX extension to +%% the official AGU package AGUTeX +%% --------------------------------- +%% +%% >>>>> Start of decommented files >>>>>>> +%%============================AGUPLUS.DTX=========================== +\def\filename{aguplus} +%\def\fileversion{1.0a} +%\def\filedate{1994/06/06} +%% Manual patch in natbib part because this version originally made +%% for preliminary test release of LaTeX2e. It does not work under true 2e +%% so the patch has been added until a proper LaTeX2e version is ready +\def\fileversion{1.0b} +\def\filedate{1994/08/22} + %------------------------------------------------------------------- + % NOTICE: + % This file may be used for non-profit purposes. + % It may not be distributed in exchange for money, + % other than distribution costs. + % + % The author provides it `as is' and does not guarantee it in any way. + % +%% Copyright (C) 1994 Patrick W. Daly + % Max-Planck-Institut f\"ur Aeronomie + % Postfach 20 + % D-37189 Katlenburg-Lindau + % Germany + % + % E-mail: + % SPAN-- nsp::linmpi::daly (note nsp also known as ecd1) + % Internet-- daly@linax1.dnet.gwdg.de + %----------------------------------------------------------- + % This is AGU++, an extension to the AGU official package AGUTeX + % It fixes up some problems with AGUTeX, adds many extra features + % including putting figures, plates, tables in the text, + % decent author-year citations and BibTeX support, + % \title, \author, \affil allowed in preamble, + % supplemental abstract for JGR, + % balanced columns on last preprint page, + % sublabelling of counters figure, plate, table, equation. + % + % This package MUST be used in conjunction with one of the AGUTeX + % packages, and must follow it, as + % \documentstyle[agupp,aguplus]{article} + % or with the newer LaTeX2e + % \documentclass{article} + % \usepackage{agu2e,agupp,aguplus} + % + % See the manual AGUPLUS.TEX for details. + %-------------------------------------------------------------------- +\typeout{Package: `\filename' v\fileversion\space <\filedate> --P.W.Daly} +\newif\if@twoOnine \let\if@twoOnine=\if@compatibility +\@ifundefined{documentclass}{ + \@twoOninetrue +}{ + \NeedsTeXFormat{LaTeX2e} + \ProvidesPackage{\filename}[\filedate\space (PWD)] +} +\newcommand{\optionlogo}{AGU$^{++}$} +\@ifundefined{revtex@genre}{\@latexerr{Option `\filename' must + come before the AGU option}{\@ehd}\def\@tempa{\endinput}} + {\def\@tempa{\relax}} +\@tempa +\let\agupid=\revtex@pageid +\let\@fv=\fileversion +\def\revtex@pageid{\agupid + \@footnotetext{With the extension option `\optionlogo' v\@fv.}} +\newif\if@draft +\newif\if@preprint +\newif\if@camera +\def\@tempa{manuscript} +\ifx\revtex@genre\@tempa\@drafttrue\else\@draftfalse\fi +\def\@tempa{preprint} +\ifx\revtex@genre\@tempa\@preprinttrue\else\@preprintfalse\fi +\def\@tempa{galley} +\ifx\revtex@genre\@tempa\@cameratrue\else\@camerafalse\fi +\@ifundefined{reset@font}{\def\reset@font{\relax}}{} +\@ifundefined{p@LaTeX}{}{\def\LaTeX{\protect\p@LaTeX}} +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1} + \edef\@svsec{\sectype\csname the#1\endcsname\sectchar\hskip 1ex }\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \@hangfrom{\hskip #3\relax{\@svsec}}{\interlinepenalty \@M #8\par} + \endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3{\@svsec} #8\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4 + \@hangfrom{\hskip #1}{\interlinepenalty \@M \sectype\ssectchar#5\par} + \endgroup + \else \def\@svsechd{#4\hskip #1\relax \sectype\ssectchar#5}\fi + \@xsect{#3}} +\def\sectchar{.} \def\ssectchar{} \def\sectype{} +\def\@hangfrom#1{\noindent#1} +\def\thesection{\@arabic{\c@section}} +\def\thesubsection{\thesection.\@arabic{\c@subsection}} +\def\thesubsubsection{\thesubsection.\@arabic{\c@subsubsection}} +\def\theparagraph{\thesubsubsection.\@arabic{\c@paragraph}:} +\def\sectionnumbers{\c@secnumdepth=3} +\let\agureferences=\references +\def\references{\noappendix\agureferences} +\let\aguacknow=\acknowledgments +\def\acknowledgments{\noappendix\aguacknow} +\let\acknowledgements=\acknowledgments +\if@preprint +\newdimen\@fmwidth \@fmwidth=33pc +\def\auth@skip{12pt} +\def\affil@skip{5pt} +\def\agutitle#1{\@makeslugcmmnt +\hsize\@fmwidth +\par\noindent +\parbox{\@fmwidth}% + {\pretolerance=10000 + \raggedright + \Large\bf#1}} +\def\aguauthor#1{% +\par\vskip\auth@skip\noindent +\parbox{\@fmwidth}% + {\pretolerance=10000 + \raggedright + \large#1} +\gdef\auth@skip{12pt}} +\def\aguaffil#1{\par\vskip\affil@skip\noindent +\parbox{\@fmwidth}% + {\pretolerance=10000 + \raggedright + \small#1}} +\def\aguabs{\par\vspace{4ex}\noindent +\minipage{\@fmwidth}\pretolerance=100 +\@rightskip=\z@ plus 2em\rightskip\@rightskip +\large +{\bf Abstract.}} + +\def\endaguabs{\endminipage\vspace{2ex}} +\newbox\@abstract +\setbox\@abstract\vbox{} + +\def\abstract{\global\setbox\@abstract\vbox\bgroup + \aguabs} +\def\endabstract{\endaguabs\egroup} +\def\xmaketitle{ +\par + \begingroup + \clearpage + \twocolumn[\box\@title + \box\@abstract + \null] + \global\@topnum\z@ + \thispagestyle{plain} + \ifx\@titlenote\empty \else + \global\@botnum\z@ + \long\def\@makefntext##1{##1} + \footnotetext{{\parindent=1em\indent + \let\@elt=\par\@titlenote}} + \fi + \endgroup + \pt@width=\hsize + \setcounter{footnote}{0} + \global\let\xmaketitle\relax} +\let\agusection=\section + +\def\section{\pagestyle{myheadings} +\if@twoside \markboth{\@versohead}{\@rectohead} \else + \markright{\@versohead: \@rectohead} \fi +\xmaketitle\agusection} +\long\def\@makecaption#1#2{% + \vskip 10\p@ + \setbox\@tempboxa\hbox{#1 #2}% + \ifdim \wd\@tempboxa >\hsize + #1 #2\par + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi} +\def\fps@figure{tbp} +\def\fps@plate{tbp} +\def\fps@table{tbp} +\else +\let\agutitle=\title +\let\aguaffil=\affil +\let\aguauthor=\author +\def\xmaketitle{\par \hsize\wd\@title +\begingroup + \box\@title + \ifx\@titlenote\empty \else + \global\@botnum\z@ + \long\def\@makefntext##1{##1} + \footnotetext{{\parindent=10pt\indent + \parskip=6pt\let\@elt=\par\@titlenote}} + \fi +\endgroup + \setcounter{footnote}{0} + \global\let\xmaketitle\relax} +\let\aguabs=\abstract +\def\abstract{\xmaketitle\aguabs} +\let\aguendabs=\endabstract +\def\endabstract{\aguendabs\par} +\let\agusection=\section +\def\section{\xmaketitle\par\agusection} +\fi +\newbox\@title +\setbox\@title=\vbox{} + +\def\title#1{\setbox\@title=\vbox{ + \let\@nodocument=\relax + \agutitle{#1}}} +\def\author#1{\setbox\@title=\vbox{\hsize=\wd\@title + \let\@nodocument=\relax + \box\@title \aguauthor{#1}}} +\def\affil#1{\setbox\@title=\vbox{\hsize=\wd\@title + \let\@nodocument=\relax + \box\@title \aguaffil{#1}}} +\def\altaffiltext#1#2{\let\@elt=\relax + \ifx\@titlenote\empty \def + \@titlenote{\altaffilmark{#1}#2} \else + \xdef\@titlenote{\@titlenote\@elt \altaffilmark{#1}#2}\fi} +\def\@titlenote{} +\let\maketitle=\xmaketitle +\let\date=\slugcomment +\newif\if@supabs \@supabsfalse +\def\extraabstract{\global\@supabstrue} +\if@camera +\begingroup + \catcode `|=0 \catcode `[= 1 + \catcode`]=2 \catcode `\{=12 \catcode `\}=12 + \catcode`\^^M=13 \catcode`\\=12 % +|long|gdef|@preabs#1\begin{abstract}[|endgroup|begin[abstract]]% +|endgroup +\long\def\supabs{\newpage \thispagestyle{empty}% + \hsize=20pc \reset@font\footnotesize + \hbox to \hsize{\hfil Paper number \@paperid}\par\vskip1em} +\def\endsupabs{\par\endinput} +\def\dosupabs{{\def\documentstyle{\begingroup\set@literal\@preabs} +\let\abstract=\supabs\let\endabstract=\endsupabs +\input{\jobname}}} +\def\dosupabse{{\def\documentclass{\begingroup\set@literal\@preabs} +\let\abstract=\supabs\let\endabstract=\endsupabs +\input{\jobname}}} +\if@twoOnine + \let\keependdoc=\enddocument + \def\enddocument{\if@supabs\dosupabs\fi\keependdoc} +\else + \AtEndOfPackage{\AtEndDocument{\if@supabs\dosupabse\fi}} +\fi +\fi +\def\iftwocol#1#2{\if@draft#2\else#1\fi} +\def\afour{\textheight=24cm + \if@draft \textwidth=15cm \fi + \if@preprint \textwidth=17.3cm \columnsep=0.5cm + \oddsidemargin=-0.5cm \evensidemargin=-0.9cm \hoffset=0pt\fi} + + +%%======================SUBLABEL.DTX======================================== +\def\filename{sublabel} +\def\fileversion{4.3} +\def\filedate{1994/05/16} +%% Copyright (C) 1994 Patrick W. Daly +\@ifundefined{iffigcaps}{}{\@@warning + {^^J ********************************^^J + `\filename' read in after `figcaps'^^J + There could be problems with sublabelled^^J + figure and table numbers.^^J + ********************************}} +\def\substyle#1{\alph{#1}} +\def\sublabon#1{\@bsphack +\@ifundefined{c@#1}{\@latexerr{\string\sublabon\space called for a + non-existent counter}{\@eha}}{% +\@ifundefined{c@sb@#1}{\expandafter\newcount\csname c@sb@#1\endcsname + \setcounter{sb@#1}{-1}}{}% +\ifnum\@nameuse{c@sb@#1}<0\else\sublaboff{#1}\fi +\stepcounter{#1}% +\setcounter{sb@#1}{0}% +\def\@tempa{eqnarray}\ifx \@tempa\@currenvir + \addtocounter{equation}{-1}\setcounter{sb@equation}{1}\fi +\global\expandafter\let\csname @ldthe#1\expandafter\endcsname + \csname the#1\endcsname +\expandafter\gdef\csname the#1\endcsname{% + \@nameuse{@ldthe#1}{\substyle{sb@#1}}} +}\@esphack} +\def\sublaboff#1{\@bsphack +\@ifundefined{c@#1}{\@latexerr{\string\sublaboff\space called for a + non-existent counter}{\@eha}}{% +\@ifundefined{c@sb@#1}{\@warning{\string\sublaboff{#1} called without + any previous^^J \string\sublabon{#1} command}}{% +\ifnum\@nameuse{c@sb@#1}<0\@warning{\string\sublaboff{#1} called without + a previous^^J \string\sublabon{#1} command being active}\else +\ifnum\@nameuse{c@sb@#1}=0\addtocounter{#1}{-1}\fi +\setcounter{sb@#1}{-1}% +\global\expandafter\let\csname the#1\expandafter\endcsname + \csname @ldthe#1\endcsname +\def\@tempa{eqnarray}\ifx \@tempa\@currenvir + \stepcounter{equation}\fi +\fi}}\@esphack} +\if@twoOnine +\@ifundefined{selectfont}{}{% +\def\@setref#1#2#3{% + \ifx#1\relax {\reset@font\bf ??}% + \@warning{Reference `#3' on page \thepage \space undefined}% + \else + \expandafter#2#1\null + \fi} +\def\ref#1{\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}} +\def\pageref#1{\expandafter\@setref\csname r@#1\endcsname + \@secondoftwo{#1}} +\def\@firstoftwo#1#2{#1} +\def\@secondoftwo#1#2{#2} +} +\fi +\@ifundefined{reset@font}{\def\reset@font{\relax}}{} +\let\@ldstepcounter=\stepcounter +\def\stepcounter#1{% +\@ifundefined{c@sb@#1}{\@ldstepcounter{#1}}{\ifnum + \@nameuse{c@sb@#1}<0\relax + \@ldstepcounter{#1}\else \@ldstepcounter{sb@#1}\fi}% +} +\let\@ldaddtoctr=\addtocounter +\def\addtocounter#1#2{% +\@ifundefined{c@sb@#1}{\@ldaddtoctr{#1}{#2}}{\ifnum + \@nameuse{c@sb@#1}<0\relax + \@ldaddtoctr{#1}{#2}\else \@ldaddtoctr{sb@#1}{#2}\fi}% +} +\let\@ldendeqnarray=\endeqnarray +\def\endeqnarray{\@ldendeqnarray + \@ifundefined{c@sb@equation}{}{\ifnum\c@sb@equation<0\else + \@ldaddtoctr{equation}{1}\@ldaddtoctr{sb@equation}{-1}\fi}} +%%======================APPENDIX.DTX======================================== +\def\filename{appendix} +\def\fileversion{2.0} +\def\filedate{1994/05/17} +%% Copyright (C) 1994 Patrick W. Daly +\@ifundefined{iffigcaps}{}{\@@warning + {^^J ********************************^^J + `\filename' read in after `figcaps'^^J + There could be problems with figure,^^J + table numbering in appendices^^J + ********************************}} +\@ifundefined{appendixname}{\def\appendixname{Appendix}}{} +\let\orisection=\section +\let\theolds=\thesection +\let\theoldss=\thesubsection +\let\orisubsection=\subsection +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}} + \def\thesubsection{\thesection\arabic{subsection}} + \setcounter{secnumdepth}{3} + \@addtoreset{equation}{section} + \setcounter{equation}{0} + \def\theequation{\thesection\arabic{equation}} + \@addtoreset{figure}{section} + \setcounter{figure}{0} + \def\thefigure{\thesection\arabic{figure}} + \@addtoreset{table}{section} + \def\thetable{\thesection\arabic{table}} + \setcounter{table}{0} + \@ifundefined{c@plate}{\newcounter{plate}}{} + \@addtoreset{plate}{section} + \def\theplate{\thesection\arabic{plate}} + \setcounter{plate}{0} + \def\@Alph##1{\ifcase##1A\or A\or B\or C\or D\else\@Ialph{##1}\fi} + \def\section{\@sectiontrue\orisection} + \def\sectype{\if@section\appendixname~\fi} + \def\sectchar{\if@section:\else.\fi} + \def\ssectchar{\if@section\unskip:~\else\fi} + \def\subsection{\@sectionfalse\orisubsection} +} +\newif\if@section \@sectionfalse +\def\noappendix{\setcounter{secnumdepth}{0} + \global\let\section=\orisection + \global\let\thesection=\theolds + \global\let\thesubsection=\theoldss + \gdef\sectchar{.} \gdef\ssectchar{} + \gdef\sectype{} + \global\let\subsection=\orisubsection +} +\@ifundefined{reset@font}{\let\reset@font=\relax}{} +\@ifundefined{bfseries}{\let\bfseries=\bf}{} +%%======================FIGCAPS.DTX======================================== +\def\filename{figcaps} +\def\fileversion{4.3a} +\def\filedate{1994/06/06} +%% Copyright (C) 1994 Patrick W. Daly +\newif\if@twoOnine \let\if@twoOnine=\if@compatibility +\@ifundefined{documentclass}{ + \@twoOninetrue +}{ +} +\@ifundefined{chapter}{}{\@latexerr{`\filename' may only be used with + article-like classes}{There is no help. You just cannot use `\filename'}} +\newif\iffigcaps \figcapstrue +\newif\iffigmark \figmarkfalse +\newif\if@figpage \@figpagefalse +\@ifundefined{figurecapname}{\def\figurecapname{Figure Captions}}{} +\@ifundefined{tablepagename}{\def\tablepagename{Tables}}{} +\@ifundefined{figurepagename}{\def\figurepagename{Figures}}{} +\begingroup + \catcode `|=0 \catcode `[= 1 + \catcode`]=2 \catcode `\{=12 \catcode `\}=12 + \catcode`\^^M=13 \catcode`\\=12 % +|long|gdef|@vfig#1\end{figure}[|def|@term[\end{figure}]% + |expandafter|writelof#1^^M\end{figure}^^M|end[figure]]% +|long|gdef|@vsfig#1\end{figure*}[|def|@term[\end{figure*}]% + |expandafter|writelof#1^^M\end{figure*}^^M|end[figure*]]% +|long|gdef|@vtab#1\end{table}[|def|@term[\end{table}]% + |expandafter|writelot#1^^M\end{table}^^M|end[table]]% +|long|gdef|@vstab#1\end{table*}[|def|@term[\end{table*}]% + |expandafter|writelot#1^^M\end{table*}^^M|end[table*]]% +|long|gdef|@vpla#1\end{plate}[|def|@term[\end{plate}]% + |expandafter|writelof#1^^M\end{plate}^^M|end[plate]]% +|long|gdef|@vspla#1\end{plate*}[|def|@term[\end{plate*}]% + |expandafter|writelof#1^^M\end{plate*}^^M|end[plate*]]% +|long|gdef|@vptab#1\end{planotable}[|def|@term[\end{planotable}]% + |expandafter|writelot#1^^M\end{planotable}^^M|end[planotable]]% + |endgroup +\def\lof{lof} \def\lot{lot} + +{\catcode`\^^M=13% + \long\gdef\writelof#1^^M{\def\@tempb{#1}% + \ifx\@tempb\@term\let\@tempa\relax\else + \if@filesw\@writefile{pof}{#1}\fi\let\@tempa\writelof\fi \@tempa} + \long\gdef\writelot#1^^M{\def\@tempb{#1}% + \ifx\@tempb\@term\let\@tempa\relax\else + \if@filesw\@writefile{pot}{#1}\fi\let\@tempa\writelot\fi \@tempa} +} +\def\figcapson{\figcapstrue} +\def\figcapsoff{\figcapsfalse} +\def\figmarkon{\figmarktrue} +\def\figmarkoff{\figmarkoff} +\def\figure{\iffigcaps \let\@tempb=\@zfigure \else \let\@tempb=\@float\fi + \@tempb{figure}} +\def\@zfigure#1{\begingroup\set@literal\@ifnextchar[{\@figure}{\@figure[]}} +\def\@figure[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof + \if@filesw\immediate\openout\tf@pof\jobname.\lof\fi}{}% + \refstepcounter{figure}\iffigmark\marginpar{\fbox{\fnum@figure}}\fi + \def\@captype{figure}\if@filesw\@writefile{pof}{\string\begin{figure}}\fi + \@vfig} + +\def\endfigure{\iffigcaps + \endgroup\if@filesw\@writefile{pof}{\string\end{figure}}\fi\else + \end@float\fi} + +\@namedef{figure*}{\iffigcaps \let\@tempb=\@zsfigure \else + \let\@tempb=\@dblfloat\fi \@tempb{figure}} +\def\@zsfigure#1{\begingroup\set@literal\@ifnextchar[{\@sfigure}{\@sfigure[]}} +\def\@sfigure[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof + \if@filesw\immediate\openout\tf@pof\jobname.\lof\fi}{}% + \refstepcounter{figure}\iffigmark\marginpar{\fbox{\fnum@figure}}\fi + \def\@captype{figure}\if@filesw\@writefile{pof}{\string\begin{figure}}\fi + \@vsfig} + +\@namedef{endfigure*}{\iffigcaps\endfigure\else\end@dblfloat\fi} +\@ifundefined{c@plate}{\newcounter{plate}}{} + +\def\plate{\iffigcaps \let\@tempb=\@zplate \else \let\@tempb=\@float\fi + \@tempb{plate}} +\def\@zplate#1{\begingroup\set@literal\@ifnextchar[{\@plate}{\@plate[]}} +\def\@plate[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof + \if@filesw\immediate\openout\tf@pof\jobname.\lof\fi}{}% + \refstepcounter{plate}\iffigmark\marginpar{\fbox{\fnum@plate}}\fi + \def\@captype{plate}\if@filesw\@writefile{pof}{\string\begin{plate}}\fi + \@vpla} + +\def\endplate{\iffigcaps + \endgroup\if@filesw\@writefile{pof}{\string\end{plate}}\fi\else + \end@float\fi} + +\@namedef{plate*}{\iffigcaps \let\@tempb=\@zsplate \else + \let\@tempb=\@dblfloat\fi \@tempb{plate}} +\def\@zsplate#1{\begingroup\set@literal\@ifnextchar[{\@splate}{\@splate[]}} +\def\@splate[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof + \if@filesw\immediate\openout\tf@pof\jobname.\lof\fi}{}% + \refstepcounter{plate}\iffigmark\marginpar{\fbox{\fnum@plate}}\fi + \def\@captype{plate}\if@filesw\@writefile{pof}{\string\begin{plate}}\fi + \@vspla} + +\@namedef{endplate*}{\iffigcaps\endplate\else\end@dblfloat\fi} +\def\table{\iffigcaps \let\@tempb=\@ztable \else \let\@tempb=\@float\fi + \@tempb{table}} +\def\@ztable#1{\begingroup\set@literal\@ifnextchar[{\@table}{\@table[]}} +\def\@table[#1]{\@ifundefined{tf@pot}{\newwrite\tf@pot + \if@filesw\immediate\openout\tf@pot\jobname.\lot\fi}{}% + \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi + \def\@captype{table}\if@filesw\@writefile{pot}{\string\begin{table}}\fi + \@vtab} + +\def\endtable{\iffigcaps + \endgroup\if@filesw\@writefile{pot}{\string\end{table}}\fi\else + \end@float\fi} + +\@namedef{table*}{\iffigcaps \let\@tempb=\@zstable \else + \let\@tempb=\@dblfloat\fi \@tempb{table}} +\def\@zstable#1{\begingroup\set@literal\@ifnextchar[{\@stable}{\@stable[]}} +\def\@stable[#1]{\@ifundefined{tf@pot}{\newwrite\tf@pot + \if@filesw\immediate\openout\tf@pot\jobname.\lot\fi}{}% + \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi + \def\@captype{table}\if@filesw\@writefile{pot} + {\string\begin{table}}% + \fi\@vstab} + +\@namedef{endtable*}{\iffigcaps\endtable\else\end@dblfloat\fi} +\let\aguplano=\planotable +\let\endaguplano=\endplanotable + +\def\planotable{\iffigcaps \let\@tempb=\@ptable \else + \let\@tempb=\aguplano\fi \@tempb} +\def\@ptable{\begingroup\set@literal + \@ifundefined{tf@pot}{\newwrite\tf@pot + \if@filesw\immediate\openout\tf@pot\jobname.\lot\fi}{}% + \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi + \def\@captype{table}\if@filesw\@writefile{pot} + {\string\begin{planotable}}\fi \@vptab} + +\def\endplanotable{\iffigcaps + \endgroup\if@filesw\@writefile{pot}{\string\end{planotable}}\fi\else + \endaguplano\fi} +\def\tableofcontents{\@@warning{Ignored: + \string\tableofcontents\space command}} +\def\listoffigures{\@@warning{Ignored: + \string\listoffigures\space command}} +\def\listoftables{\@@warning{Ignored: + \string\listoftables\space command}} +\def\listofplates{\@@warning{Ignored: + \string\listofplates\space command}} +\def\addtocontents#1#2{\relax} +\def\addcontentsline#1#2#3{\relax} +{\catcode`\^^M=\active \gdef\cr@relax{\catcode`\^^M=\active \let^^M=\relax}} +\def\set@literal{\cr@relax \let\do\@makeother\dospecials} +\def\@figurecaps{\@ifundefined{tf@pof}{}{\if@filesw + \immediate\closeout\tf@pof\fi + \@ifundefined{appendixname}{}{\def\appendixname{}} + \noappendix \parindent\z@ + \reset@figtab\clearpage\section*{\figurecapname}\vspace{1cm}% + \@mkboth{\uppercase{\figurecapname}}{\uppercase{\figurecapname}}% + \addcontentsline{toc}{section}{\figurecapname}% + \def\figure{\def\addcontentsline####1####2####3{}% + \def\@captype{figure}% + \vbox\bgroup + }\def\endfigure{\egroup\bigskip}% + \def\plate{\def\addcontentsline####1####2####3{}% + \def\@captype{plate}% + \vbox\bgroup + }\let\endplate=\endfigure + {\let\@makecaption=\@makefcaption + \def\figbox##1##2##3{\relax} + \@input{\jobname.\lof}}% + \clearpage}}% +\def\@tablepage{\@ifundefined{tf@pot}{}{\if@filesw + \immediate\closeout\tf@pot\fi + \@ifundefined{appendixname}{}{\def\appendixname{}} + \noappendix \parindent\z@ + \reset@figtab\clearpage\section*{\tablepagename} + \@mkboth{\uppercase{\tablepagename}}{\uppercase{\tablepagename}}% + \def\table{\def\@captype{table}\vbox\bgroup + }\def\endtable{\spew@tblnotes\egroup\bigskip}% + \let\planotable=\aguplano \let\endplanotable=\endaguplano + \def\@float##1{\def\@captype{table}\vbox\bgroup} + \let\@dblfloat=\@float \let\clearpage=\newpage + \@input{\jobname.\lot} + \clearpage}} +\def\printfigures{\@figpagetrue} +\def\@figurepage{\if@figpage\@ifundefined{tf@pof}{}{% + \@ifundefined{appendixname}{}{\def\appendixname{}} + \noappendix \parindent\z@ + \reset@figtab\clearpage\section*{\figurepagename}% + \@mkboth{\uppercase{\figurepagename}}{\uppercase{\figurepagename}}% + \begingroup + \def\figurewidth##1{\pt@width##1\hsize##1} + \def\figure{\def\@captype{figure}\vbox\bgroup}\def\endfigure{\egroup + \vspace{20pt}}% + \let\platewidth=\figurewidth + \def\plate{\def\@captype{plate}\vbox\bgroup}\let\endplate=\endfigure + \def\label##1{}% + \@input{\jobname.\lof}\newpage\endgroup}\fi} +\def\reset@figtab{% + \setcounter{figure}{0}\setcounter{table}{0} + \setcounter{plate}{0} +} +\if@twoOnine +\let\@nddoc=\enddocument +\def\enddocument{\iffigcaps\@figurecaps\@tablepage\@figurepage\fi\@nddoc} +\else +\AtEndDocument{\iffigcaps\@figurecaps\@tablepage\@figurepage\fi} +\fi +\let\@appendix=\appendix + +\def\appendix{% + \@ifundefined{tf@pof}{}{\if@filesw\@writefile{pof}{\string\doappendix}\fi}% + \@ifundefined{tf@pot}{}{\if@filesw\@writefile{pot}{\string\doappendix}\fi}% + \let\@section=\section + \doappendix + \let\@@section=\section + \def\section{% + \@ifundefined{tf@pof}{}{\if@filesw\@writefile{pof}{\string + \stepcounter{section}}\fi}% + \@ifundefined{tf@pot}{}{\if@filesw\@writefile{pot}{\string + \stepcounter{section}}\fi}% + \@@section} + \let\reset@figtab=\@unappendix} +\def\doappendix{% + \let\@thefigure=\thefigure + \let\@thetable=\thetable + \let\@theplate=\theplate + \let\@cl@section=\cl@section + \@appendix +} +\def\@unappendix{% + \setcounter{figure}{0}\setcounter{table}{0} + \let\thefigure=\@thefigure + \let\thetable=\@thetable + \setcounter{plate}{0}% + \let\theplate=\@theplate + \let\cl@section=\@cl@section + \let\section=\@section +} +\let\orisubon=\sublabon +\let\orisuboff=\sublaboff +\def\sublabon#1{\orisubon{#1}\if@filesw + \iffigcaps\def\@tempb{#1} + \def\@tempa{figure}\ifx\@tempa\@tempb + \@ifundefined{tf@pof}{\newwrite\tf@pof + \immediate\openout\tf@pof\jobname.\lof}{}% + \@writefile{pof}{\string\orisubon{#1}}\fi + \def\@tempa{plate}\ifx\@tempa\@tempb + \@ifundefined{tf@pof}{\newwrite\tf@pof + \immediate\openout\tf@pof\jobname.\lof}{}% + \@writefile{pof}{\string\orisubon{#1}}\fi + \def\@tempa{table}\ifx\@tempa\@tempb + \@ifundefined{tf@pot}{\newwrite\tf@pot + \immediate\openout\tf@pot\jobname.\lot}{}% + \@writefile{pot}{\string\orisubon{#1}}\fi +\fi\fi} +\def\sublaboff#1{\orisuboff{#1}\if@filesw + \iffigcaps\def\@tempb{#1} + \def\@tempa{figure}\ifx\@tempa\@tempb + \@ifundefined{tf@pof}{\newwrite\tf@pof + \immediate\openout\tf@pof\jobname.\lof}{}% + \@writefile{pof}{\string\orisuboff{#1}}\fi + \def\@tempa{plate}\ifx\@tempa\@tempb + \@ifundefined{tf@pof}{\newwrite\tf@pof + \immediate\openout\tf@pof\jobname.\lof}{}% + \@writefile{pof}{\string\orisuboff{#1}}\fi + \def\@tempa{table}\ifx\@tempa\@tempb + \@ifundefined{tf@pot}{\newwrite\tf@pot + \immediate\openout\tf@pot\jobname.\lot}{}% + \@writefile{pot}{\string\orisuboff{#1}}\fi +\fi\fi} +\def\figbox#1#2#3{\hbox to \hsize{\hfil + \framebox[#1][c]{\@tempdima#2 \divide\@tempdima by2\relax + \advance\@tempdima by-\fboxsep \advance\@tempdima by-\fboxrule + \vrule\@height\@tempdima\@depth\@tempdima\@width\z@ + \vbox to \z@{\vss\hbox{#3}\vss}}\hfil}} +\figmarktrue +\if@preprint \figcapsfalse + \def\figurewidth#1{\pt@width=\hsize} + \def\platewidth#1{\pt@width=\hsize} +\fi +\if@draft + \def\figurewidth#1{\pt@width=\hsize} + \def\platewidth#1{\pt@width=\hsize} +\fi +\let\ori@makecap=\@makecaption +\def\@makefcaption#1#2{{\if@dblcap\if@camera\pt@width=\textwidth + \ori@makecap{#1}{#2} + \pt@width=\wpt@width + \hsize=\pt@width + \vskip10pt \def\label##1{}\fi\fi + \ori@makecap{#1}{#2}} +} +\newdimen\wpt@width +\newif\if@dblcap \@dblcapfalse +\def\doublecaption#1{\wpt@width=#1\relax\@dblcaptrue} +%%======================NATBIB.DTX======================================== +\def\filename{natbib} +\def\fileversion{5.0} +\def\filedate{1994/05/18} +%% Copyright (C) 1994 Patrick W. Daly +\newif\if@twoOnine \let\if@twoOnine=\if@compatibility +\@ifundefined{documentclass}{ + \@twoOninetrue +}{ +} +\def\bibstyle@agu{\bibpunct{[}{]}{;}{a}{,}{,}} +\def\@cite#1#2#3{\if@tempswa\@citebegin\if#2\@empty\else#2 \fi + #1\if#3\@empty\else, #3\fi\@citeend\else#1\fi} +\def\@citex[#1][#2]#3{\if@filesw\immediate\write + \@auxout{\string\citation{#3}}\fi + \let\@citea\@empty + \@cite{\let\@citenm\@empty + \@for\@citeb:=#3\do + {\def\@tempa##1##2\@nil{\edef\@citeb{\if##1\space##2\else##1##2\fi}}% + \expandafter\@tempa\@citeb\@nil + \@ifundefined{b@\@citeb}{\@citea{\reset@font\bfseries ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\let\@citemm=\@citenm + \@cite@parse{\@citeb}% + \if@tempswa + \ifx\@citemm\@citenm\@yrsep\else\@citea{\@citenm}\@auyrsep\fi + \ \@citedt \def\@citea{\@citesep\ }% + \else + \ifx\@citemm\@citenm, \@citedt\else\@citea{\@citenm} + \@citebegin\@citedt\fi + \def\@citea{\@citeend\@citesep\ }% + \fi}}\if@tempswa\else\@citeend\fi}{#1}{#2}} +\def\@biblabel#1{\hfill} +\def\bibpunct#1#2#3#4#5#6{\gdef\@citebegin{#1}\gdef\@citeend{#2}\gdef + \@citesep{#3}\ifx #4n\global\let\@bibsetup=\@bibsetnum + \global\let\@citex=\@citexnum + \global\let\@biblabel=\@biblabelnum + \global\let\@cite=\@citenum\fi + \gdef\@auyrsep{#5}\gdef\@yrsep{#6}} +\bibstyle@agu +\def\cite{\@ifnextchar [{\@tempswatrue\@citex@}{\@tempswafalse + \@citex@[]}} +\def\@citex@[#1]{\@ifnextchar [{\@citex[#1]}{\@citex[][#1]}} +\def\citeauthor#1{\ifx\@citex\@citexnum{\reset@font\bfseries(author?)}\@warning + {Cannot use \string\citeauthor\space with numerical citations}\else + \@ifundefined{b@#1}{{\reset@font\bfseries ?}\@warning + {Citation `#1' on page \thepage \space undefined}}% + {\@cite@parse{#1}\@citenm}\fi} +\def\citeyear#1{\ifx\@citex\@citexnum{\reset@font\bfseries(year?)}\@warning + {Cannot use \string\citeyear\space with numerical citations}\else + \@ifundefined{b@#1}{{\reset@font\bfseries ?}\@warning + {Citation `#1' on page \thepage \space undefined}}% + {\@cite@parse{#1}\@citedt}\fi} +\def\@cite@parse#1{{% + \@ifundefined{documentclass} + {\let\prm=\relax\let\psf=\relax\let\ptt=\relax\let\pbf=\relax + \let\psl=\relax\let\psc=\relax\let\pit=\relax\let\pem=\relax + \let\prmfamily=\relax\let\psffamily=\relax\let\pttfamily=\relax + \let\pbfseries=\relax\let\pslshape=\relax\let\pscshape=\relax + \let\pitshape=\relax\let\pmdseries=\relax\let\pupshape=\relax + \let\pc=\relax \let\pd=\relax \let\pb=\relax} +% The manual patch to allow this to run under true LaTeX2e + {\let\protect\noexpand}% + \xdef\@tempa{\csname b@#1\endcsname\relax}}% + \expandafter\@citez\@tempa()\@nil} +\def\@citez#1(#2)#3\@nil{\gdef\@citenm{#1}\gdef\@citedt{#2}% +} +\let\aguthebib=\thebibliography +\def\thebibliography#1{\noappendix\aguthebib{#1}} +\@ifundefined{reset@font}{\let\reset@font=\relax}{} +\@ifundefined{bfseries}{\let\bfseries=\bf}{} +%%======================BALANCE.DTX======================================== +\def\filename{balance} +\def\fileversion{4.1} +\def\filedate{1994/05/16} +%% Copyright (C) 1994 Patrick W. Daly +\def\@BAlancecol{\if@twocolumn + \setbox0=\vbox{\unvbox\@outputbox} \@tempdima=\ht0 + \advance\@tempdima by \topskip \advance\@tempdima + by -\baselineskip \divide\@tempdima by 2 + \splittopskip=\topskip + {\vbadness=\@M \loop \global\setbox3=\copy0 + \global\setbox1=\vsplit3 to \@tempdima + \ifdim\ht3>\@tempdima \global\advance\@tempdima by 1pt \repeat} + \setbox\@leftcolumn=\vbox to \@tempdima{\unvbox1\vfil} + \setbox\@outputbox=\vbox to \@tempdima + {\dimen2=\dp3\unvbox3\kern-\dimen2 + \vfil} + \fi} +\newif\if@BAlanceone +\global\@BAlanceonefalse +\newdimen\oldvsize +\def\@BAdblcol{\if@firstcolumn + \unvbox\@outputbox \penalty\outputpenalty + \global\oldvsize=\@colht \global\multiply \@colht by 2 + \global\@BAlanceonetrue + \global\@firstcolumnfalse + \else \global\@firstcolumntrue + \if@BAlanceone + \global\@BAlanceonefalse\@BAlancecol + \global\@colht=\oldvsize \else + \@@warning{You have called \string\balance\space + in second column^^J + Columns may not be balanced}\fi + \setbox\@outputbox\vbox to \@colht{\hbox to\textwidth + {\hbox to\columnwidth {\box\@leftcolumn \hss}\hfil + \vrule width\columnseprule\hfil \hbox to\columnwidth + {\box\@outputbox \hss}}\vfil}\@combinedblfloats + \@outputpage \begingroup \@dblfloatplacement + \@startdblcolumn \@whilesw\if@fcolmade \fi + {\@outputpage\@startdblcolumn}\endgroup + \fi} +\let\@@utputdblcol=\@outputdblcol +\def\balance{\global\let\@outputdblcol=\@BAdblcol} +\def\nobalance{\global\let\@outputdblcol=\@@utputdblcol} +%% <<<<< End of decommented file <<<<<< +%% +%% End of file aguplus.sty. diff --git a/obsolete/macros/latex209/contrib/aguplus/aguplus.tex b/obsolete/macros/latex209/contrib/aguplus/aguplus.tex new file mode 100644 index 0000000000..8cf3f1278d --- /dev/null +++ b/obsolete/macros/latex209/contrib/aguplus/aguplus.tex @@ -0,0 +1,953 @@ +%% +%% This is file `aguplus.tex', generated +%% on <1994/5/27> with the docstrip utility (2.2e). +%% +%% The original source files were: +%% +%% aguplus.dtx (with options: `manual') +%% +%% --------------------------------- +%% AGUPLUS.TEX +%% --------------------------------- +%% This is the user's manual for +%% AGU++ +%% an extension to the AGU +%% LaTeX package AGUTeX +%% +%%============================AGUPLUS.DTX=========================== +\ifx\documentclass\undefined +\documentstyle[twoside,agupp,aguplus]{article} +\else +\documentclass[twoside]{article} +\usepackage{agupp,aguplus} +\fi +\def\filename{aguplus} +\def\fileversion{1.0} +\def\filedate{1994/05/26} +%% Copyright (C) 1994 Patrick W. Daly +\expandafter\ifx\csname if@compatibility\endcsname\iffalse\else +\def\LaTeXe{\protect\pLaTeXe} +\def\pLaTeXe{\mbox{% + \LaTeX\kern.15em$2_{\textstyle\varepsilon}$}} +\fi +\expandafter\ifx\csname if@compatibility\endcsname\relax +\makeatletter +\def\p@LaTeX{\@tempcnta=\the\fam \leavevmode L\raise.42ex + \hbox{$\fam\@tempcnta\scriptstyle\kern-.3em A$}\kern-.15em% + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX} +\makeatother + \let\bfseries=\bf \let\mdseries=\rm + \let\upshape=\rm \let\itshape=\it + \let\slshape=\sl \let\scshape=\sc + \let\sffamily=\sf \let\rmfamily=\rm + \let\ttfamily=\tt \let\normalfont=\rm +\fi +\expandafter\ifx\csname emph\endcsname\relax + \newcommand{\emph}[1]{{\em #1\/}} + \newcommand{\textbf}[1]{{\bf #1}} + \newcommand{\textit}[1]{{\it #1}\/} + \newcommand{\texttt}[1]{{\tt #1}} + \newcommand{\textsf}[1]{{\sf #1}} + \newcommand{\textrm}[1]{{\rm #1}} + \newcommand{\textsc}[1]{{\sc #1}} + \newcommand{\textsl}[1]{{\sl #1\/}} +\fi +\newcommand{\btx}{\textsc{Bib}\TeX} +\newcommand{\theoption}{\texttt{\filename}} +\newcommand{\app}{{\small\optionlogo}} +\newcommand{\bsl}{\char`\\} +\lefthead{P. W. Daly} +\righthead{\protect\optionlogo: an Extension to AGU\TeX} +\cpright{PD}{1993} +\afour + +\sloppy +\begin{document} +\title{The \LaTeX{} + Extension Package \optionlogo\\ + for Use with AGU\TeX} + +\author{Patrick W. Daly} +\affil{Max-Planck-Institut f\"ur Aeronomie, Lindau, Germany} +\authoraddr{P. W. Daly, Max-Planck-Institut f\"ur Aeronomie, D--37189 + Katlenburg-Lindau, Germany} + +\begin{abstract} +This paper describes how to use the AGU package (AGU\TeX) for producing +manuscripts, preprints, and camera-ready copy, together with an unofficial +extension package called \app{}. This extension adds extra features such as +author-year citations with \btx{} and true figures in the preprint version. +Other extra features include corrected coding to avoid having to give certain +numbers explicitly, sublabelling of equations, figures, etc., and balancing +two columns of text on the last page. These features were all part of my older +unofficial AGU package and are thus well-known among its users. +\end{abstract} + +\section{Introduction} +The American Geophysical Union (AGU) has finally come out with its own +official \LaTeX\ package for producing manuscripts and camera-ready copy +for its journals. At the same time the format of the journals has been +dramatically altered. Thus my unofficial \LaTeX\ package for AGU +(\texttt{art-jgr} and \texttt{art-grl}) becomes not only superfluous but +obsolete. + +However, in looking over the instructions and coding of the official package, +I realize that not only are some imperfections present, but many useful +features of my styles are missing. The most noticeable of these is the means +of using author-year citations with \btx{} in an automated manner. + +The coding imperfections are related to the way in which figure captions and +tables are treated: they must be placed at the end of the document, and if an +appendix is present, then the automatic numbering system will consider them as +appendix figures and tables (numbered A1, A2, \dots). To avoid this, explicit +numbers must be given, something that violates the essential principles of a +formatting program like \LaTeX. A second implication of this treatment is that +preprints will be missing the figures and tables in the text. In my older +system, neither of these problems occurred. + +{\em By popular demand}, I have undertaken to write an extension to the +official AGU package, called \app (for AGU doubly-ionized or super-charged, as +you please). It includes my extra features without changing any of the formats +of the original package. The user should prepare his documents in the manner +described by the AGU, except that figures, tables, and plates are to be +included {\em in the text\/} as described below. A number of extra commands +are available to control and/or enable the extra features. + +This manual explains the official package with my extensions. This is to +enable the user to obtain all the necessary information in one article rather +than to have to search among several. It is not meant to serve as instructions +for the standard AGU package alone, although differences will be indicated; +neither is it intended to be a manual for \LaTeX, since it assumes that the +user already understands the workings of that text formatting scheme. The +classic textbook on \LaTeX{} is \cite{la}; a more recent and more extensive +work is by \cite{koda}. + +\section{The Official Package} +The official AGU package is called AGU\TeX. It consists of an instruction +manual (\texttt{aguguide.tex}), a sample article (\texttt{sample.tex}), +and, of course, a number of {\em style options\/} that +are to be used with the standard main style \texttt{article}. These are +\begin{description} +\item[\ttfamily agums] to produce a manuscript for submission; + +\item[\ttfamily agupp] to produce a preprint in two-column format (like + this paper) for distribution to colleagues; + +\item[\ttfamily jgrga] to produce camera-ready copy (or {\em galley proofs\/}) + for the {\em Journal of Geophysical Research\/} (JGR), the {\em Global + Biogeochemical Cycles}, and {\em Pale\-ocean\-o\-graphy}; + +\item[\ttfamily grlga] to produce camera-ready copy for {\em Geophysical + Research Letters\/} (GRL); + +\item[\ttfamily tecga] to produce camera-ready copy for {\em Tectonics}; + +\item[\ttfamily radga] to produce camera-ready copy for {\em Radio Science}. +\end{description} +For example, the first line of the document should be something like +\begin{quote} +\verb!\documentstyle[jgrga]{article}! \\ +\makebox[0pt][r]{or\hspace{1ex}}\verb!\documentstyle[agums]{article}! +\end{quote} +for JGR camera-ready copy or a manuscript, respectively. + +Note that the term {\em galley proofs\/} is more accurate than {\em +camera-ready copy\/}, since the latter implies finished pages in 1-to-1 +relation with the final journal article. In fact, the papers are still cut and +pasted together, with figures and tables inserted by hand. However, I will +continue to refer to the galley proofs as camera-ready copy since this is the +terminology that most of us are used to. + +\subsection{The Extension Package} +The \app{} extension package is now included by adding the option \theoption{} +{\em after\/} the above options, as e.g. +\begin{quote} +\verb!\documentstyle[jgrga,!\theoption\verb!]{article}! +\end{quote} + +It makes sense to include the \texttt{twoside} option with the preprint +\texttt{agupp} choice; there is no point in selecting \texttt{titlepage}. + +The manuscript produced with \texttt{agums} is double spaced. In order to +generate a single space manuscript, add the option \texttt{tighten}, or include +the command \verb!\tighten! in the preample. (Reminder: the {\em preamble\/} +is everything that comes between \verb!\documentstyle! and +\verb!\begin{document}!.) +To alternate between single and double spaced text, use the commands +\verb!\singlespace! and \verb!\doublespace! anywhere in the text. + +\subsection{The New \LaTeX{} Standard} +The package \app{} works under the new standard \LaTeXe; however, there are +some problems with AGU\TeX, which are fixed up by calling the special +package \texttt{agu2e} \emph{before} any of the AGU\TeX{} files. For example, +\begin{quote} +\verb!\documentclass{article}!\\ +\verb! \usepackage{agu2e,jgrga,aguplus}! +\end{quote} + +\section{Organization of the Paper} + +\subsection{Front Material} +Before the main body of the text, some information about the manuscript and +paper must be given. This information may actually be printed at the end of +the article, depending on which option has been selected, but it is always +entered at the start, before \verb!\begin{document}!. +\begin{quote} +\verb!\received{!{\em date\_received\/}\verb!}!\\ +\verb!\revised{!{\em date\_revised\/}\verb!}!\\ +\verb!\accepted{!{\em date\_accepted\/}\verb!}! +\end{quote} +These commands enter the relevant dates, which are only meaningful for the +camera-ready copy. They will be communicated to the author by the editor. + +\begin{quote} +\verb!\journalid{!{\em vol\/}\verb!}{!{\em journal\_date\/}\verb!}!\\ +\verb!\articleid{!{\em start\_page\/}\verb!}{!{\em end\_page\/}\verb!}!\\ +\verb!\paperid{!{\em manuscript\_id\/}\verb!}! +\end{quote} +Again, this information will be communicated to the author by the editor. (It +seems that at the moment the first two do not really do anything at all, but +may be provided for the future when AGU dispenses with cutting and pasting and +goes to true camera-ready production.) + +\begin{quote} +\verb!\cpright{!{\em type\/}\verb!}{!{\em year\/}\verb!}!\\ +\verb!\ccc{!{\em code\/}\verb!}! +\end{quote} +These enter copyright information, for which {\em code\/} will be communicated +to the author. The {\em type\/} is one of +\begin{description} +\item[\ttfamily AGU] for AGU copyright +\item[\ttfamily Crown] for (Commonwealth) government copyright +\item[\ttfamily PD] for public domain (no copyright) +\end{description} + +\begin{quote} +\verb!\lefthead{!{\em authors\/}\verb!}!\\ +\verb!\righthead{!{\em short\_title\/}\verb!}! +\end{quote} +These commands permit text for the running heads to be included. For the +camera-ready copy, they are (currently) printed out so many times at the end +(later cutting and pasting!) but with \theoption, they will be added at the +top of each page of the preprint. + +\begin{quote} +\verb!\slugcomment{!{\em text\/}\verb!}! +\end{quote} +With this command, the author may include his own text to be printed at the +top of the preprint title page, such as ``This article is to appear in +\dots.'' + +The information that is printed at the end of the camera-ready copy comes +after the list of references, and the output is part of that command. If +there are no references, then the information must be forced out with the +command +\begin{quote} +\verb!\forcesluginfo! +\end{quote} +following the main text. + +\subsection[]{Declarations for \app} +A number of additional \app{} declarations are available to enable or modify +some of the features. These may all be given in the preamble too, although +some may actually be permitted anywhere in the document. They are all +described later, but are listed here for completeness. +\begin{description} +\item[\ttfamily \bsl sectionnumbers] + turns on section numbering; default is no + numbering, as preferred by AGU; must be given before the first + \verb!\section! command. + +\item[\ttfamily \bsl extraabstract] + prints a supplemental abstract at the end of the + camera-ready version, as required by JGR; this may be invoked anywhere in + the paper, for it only enables the output which always comes at the end. + +\item[\ttfamily \bsl printfigures] + causes the figures and plates to be output at the + end of the manuscript and camera-ready copy; this is in addition to the + figure captions that are always output and is only meaningful if the + \texttt{figure} and \texttt{plate} environments really contain + something to print. + +\item[\ttfamily \bsl figmarkoff] + suppresses the printing of marginal notes next to the location where + \texttt{figure}, \texttt{plate}, and \texttt{table} environments occur; + by default such mar\-gin\-al notes are enabled. + +\item[\ttfamily \bsl figmarkon] + re-enables the marginal notes; these two declarations + may be given as often and wherever one feels they are needed. + +\item[\ttfamily \bsl doublecaption\char`\{35pc\char`\}] + enables the printing of all + figure and plate captions in two widths: once in the single column width + and again in the width specified, here 35~pc; JGR still requires (for now + anyway) that all captions be provided in two sizes. + +\item[\ttfamily \bsl afour] + changes the page layout to be more appropriate to + European A4 paper; for camera-ready this means only that the page is + slightly longer but the column width remains the same. + +\end{description} + +\subsection{Title and Authors} +The preamble is ended with \verb!\begin{document}!, and the title and author +information are given. +\begin{quote}\slshape +Contrary to standard \LaTeX, the title and authors are printed by the commands +that enter the information. This means these commands {\bfseries may not +be given in the preamble!} For many authors, this means changing +long-standing habits. +\end{quote} + +The coding in \app{} corrects this, so that the traditional \LaTeX{} +behaviour is re-established. + +\begin{quote} +\verb!\title{!{\em full\_title\/}\verb!}!\\ +\verb!\author{!{\em names\/}\verb!}!\\ +\verb!\affil{!{\em organization\/}\verb!}!\\ +\verb!\authoraddr{!{\em full\_address\/}\verb!}! +\end{quote} +The order of these commands is important. First comes the \verb!\title!, the +argument of which may be broken up into lines with \verb!\\! commands (not +absolutely necessary). Next come sets of \verb!\author! and \verb!\affil! +commands, one set per author organization. + {\slshape(This again is different from standard \LaTeX{} where + \verb!\author! is given only once.)} +Finally, the \verb!\authoraddr! command is given (anywhere) once for each +author, with the name and full postal address as argument. + +An alternative method of presenting the authors is with footnotes for the +affiliations. This is done with the commands +\begin{quote} +\verb!\altaffilmark{!{\em numbers\/}\verb!}!\\ +\verb!\altaffiltext{!{\em number\/}\verb!}{!{\em text\/}\verb!}! +\end{quote} +The first command is included in the text of the \verb!\author! command; the +second is given once per footnote afterwards. For example, +\begin{quote} +\begin{verbatim} +\author{J. P. Smith\altaffilmark{1,2} + and C. J. Jones\altaffilmark{2}} +\altaffiltext{1}{On leave} +\altaffiltext{2}{Research Institute X} +\end{verbatim} +\end{quote} +The two methods (\verb!\affil! or footnotes) may be combined. + +The \verb!\authoraddr! commands should rightly come in the preamble after the +copyright information. Their arguments are printed out only for the +camera-ready copy, at the end. + +\subsection{The Abstract} +Following the title comes the abstract. This is given as in standard \LaTeX{} +within an \texttt{abstract} environment, as +\begin{quote}\begin{verbatim} +\begin{abstract} + This is the text of the abstract. . . +\end{abstract} +\end{verbatim} +\end{quote} + +\subsection{The Text Body} +The rest of the body of the article is organized into {\em sections\/}, {\em +subsections}, and {\em sub-subsections}, with commands +\verb!\section{!{\em heading\/}\verb!}!, +\verb!\subsection{!{\em heading\/}\verb!}!, and +\verb!\subsubsection{!{\em heading\/}\verb!}!, whereby the third-level {\em +heading\/} should capitalize only the first word and end with a period. + +\subsubsection{This is a third-level heading.} +It has been entered with: \verb!\subsubsection{!\texttt{This is a +third-level heading.}\verb!}! with the final period included. (In the +camera-ready copy, the third-level heading is run into the following text on +the same line.) + +\begin{quote} +Sections are normally not numbered, unless the \app{} declaration +\verb!\sectionnumbers! has been issued. The AGU manual states that section +numbering should be carried out {\em by explicitly including the numbers in +the heading text.} This would violate a fundamental principle of a +formatting language like \LaTeX, and will lead to much annoyance when sections +are referred to or are changed. The AGU's argument is that \LaTeX{} will not +format the numbered sections in the way that it wants them. \app{} has +corrected so that the automatic numbering may be used. +\end{quote} + +\subsection{Appendices} +As in normal \LaTeX, the declaration \verb!\appendix! is issued at that point +where the appendices are to start. This command redefines a number of things +so that the sectioning commands now function as appendix headers. The +numbering of equations and tables is also changed. + +\begin{quote} +With \app, the numbering of figures and plates is also changed. I think it was +an oversight on the part of AGU not to do this too, for it seems strange to +have such inconsistent behavior. Besides, there are enough examples in +previous AGU publications where figures too are numbered within appendices. +\end{quote} + +If there is only one appendix, it should be introduced with the command +\verb!\section*! rather than \verb!\section!. Recall that the starred versions +suppress section numbering, or in the case of appendices, lettering. + +\begin{quote} +The standard AGU package requires that the appendix letter be included in the +heading text. This is the same repugnant notion as putting section numbers in +explicitly. In \app, this is not necessary. Thus where AGU says to give +\verb!\section{Appendix A: Title}!, it is sufficient to type only +\verb!\section{Title}! (or \verb!\section*{Title}! if there is only one +appendix). +\end{quote} + +\subsection{The Acknowledgments} +Acknowledgments come after the main text, including appendices, but before the +list of references. They are introduced with the command +\begin{quote} +\verb!\acknowledgments!\\ +\makebox[0pt][r]{or }\verb!\acknowledgements! +\end{quote} +Both print the same word, with the American spelling. (This command is part of +AGU\TeX, and is not an \app{} extra.) + +\section{Floats} + +The major difference between the official AGU package and \app{} is the +treatment of figures, plates, and tables, objects that are referred to as +`floats' in \LaTeX{} terminology because they do not appear where they are +typed in in the text, but move around to an appropriate location. The AGU +standard package wants {\em all\/} floats to appear at the end of the +manuscript and camera-ready copy (fair enough), and the figures and plates to +be printed {\em only as captions}. This means that the preprints will also +only exhibit the captions, and that all floats come at the end and will not be +integrated in the text. + +Another major, ridiculous problem, is that if there is an appendix in the +work, then all floats entered at the end must be given explicit numbers, for +otherwise \LaTeX{} automatic numbering will treat them as appendix items with +corresponding numbering. I have already expressed my sentiment about explicit +numbering. + +With \app, these problems are solved. Floats are entered in the text {\em +where they are first referred to}. For preprints, they are then printed in the +text as in a normal \LaTeX{} article; for manuscripts and camera-ready copy, +only a marginal note is printed with the number, something AGU insists on +anyway. +(This may be suppressed with \verb!\figmarkfalse! and reinstated with +\verb!\figmarktrue!.) The figure and plate captions are then automatically +listed at the end, followed by the tables, followed optionally by the figures +and plates themselves. + +\subsection{Figures and Plates} +\begin{figure} +\figbox{\hsize}{6cm}{Paste Figure Here} +\caption[]{A demonstration paste-in figure. The width was given as + {\tt\protect\bsl hsize} (the column width), the height as + 6~cm.\label{fig:demo}} +\end{figure} + +\noindent The following instructions are for \app{} only. + +Figures are entered in the \texttt{figure} or \texttt{figure*} environments, the +latter being intended for double-column figures in two-column (preprint) +format. Both environments produce identical results for manuscripts and +camera-ready. The AGU provides a command \verb!\figurewidth! to specify the +{\em width of the camera-ready caption\/}; if it is omitted, the caption width +is the normal column width. There is a limited number of allowed values as +arguments: 20~pc (the default single-column width), 35~pc, and 41~pc. (For +{\em Radio Science\/} with \texttt{radga}, the values are 19, 33, and 38~pc.) + +JGR is still demanding that all figure captions be printed twice, once in +width 20 and again in 35~pc. To enable this, give \verb!\doublecaption{35pc}! +somewhere in the document, preferrably in the preamble so you notice it. + +The standard AGU package says that a \texttt{figure} environment should contain +only an optional \verb!\figurewidth! command and a compulsory \verb!\caption! +command, and nothing else. \app{} allows real figure contents to be included, +but packed in a special \verb!\figbox!. +This command takes three arguments: +the width and height of the box, and the figure contents. The contents may be +merely a note about what figure is to be pasted here, or a diagram made with +\texttt{picture} or \textsc{Pic}\TeX, or an imported figure from other software, +such as an encapsulated PostScript\footnote{PostScript is registered trademark +of Adobe-Systems Incorporated.} file. + +An example of the input text for a figure is: +\begin{verbatim} +\begin{figure*} + \figurewidth{35pc} + \figbox{35pc}{12cm}{\epsfysize=10cm + \epsfbox{myfig.eps}} + \caption{A plot of Y versus X for various + times\label{fig:my}} +\end{figure*} +\end{verbatim} +(The commands \verb!\epsf...! require the style option \texttt{epsf} and the +PostScript driver \texttt{dvips} of Tomas Rokicki.) + +A sample result is shown in Figure~\ref{fig:demo}. + +The \verb!\figbox! command reserves a framed box of the specified size and +centers the contents both horizontally and vertically. It makes use of the +standard \LaTeX{} \verb!\framebox! command, which can be customized with the +parameters \verb!\fboxrule! and \verb!\fboxsep!. The rule may be suppressed by +setting the former to {\tt0pt}. + +Plates are made up in exactly the same way as figures but with the \texttt{plate} +and \texttt{plate*} environments. These are not part of standard \LaTeX, but have +been added for AGU publications. In place of \verb!\figurewidth!, one must use +\verb!\platewidth!; however, \verb!\figbox! works for plates as well. + +\subsection{Tables} +\noindent The following instructions are for \app{} only. + +Tables function somewhat differently from figures and plates because their +contents will always be printed. Thus there is no equivalent of \verb!\figbox! +for tables. + +Tables are constructed with the \LaTeX{} \texttt{tabular} or +\texttt{tabbing} environments, as described in the manuals. To make them +into floats, they must be included in a \texttt{table} or \texttt{table*} +environment. For \app, they are to be placed in the text where +appropriate, and not at the end as in standard AGU\TeX. +There is an AGU command \verb!\tablewidth! to set the width of the +table caption. Allowed values are 20, 30, 41, 48--57~pc, except for {\em Radio +Science\/} which has 19, 20, 37, 43--51~pc. + +The AGU package contains some additions to standard \LaTeX{} to put footnotes +and comments in a table. These are +\begin{quote} +\verb!\tablenotemark{!{\em letter\/}\verb!}!\\ +\verb!\tablenotetext{!{\em letter\/}\verb!}{!{\em text\/}\verb!}!\\ +\verb!\tablecomments{!{\em cmnt\_text\/}\verb!}! +\end{quote} +The footnotes are numbered with lowercase letters which the author must enter +explicitly. The {\em cmnt\_text\/} is explanatory material that is printed +below the table. These will all work with \app{} as well. + +AGU\TeX{} also provides an additional table-making environment, called +\texttt{planotable}, for tables that may be continued over several pages. +This too works with \app. + +\begin{planotable}{lcc} +\tablewidth{20pc} +\tablecaption{Coordinates of stations + \label{tab:coords}} +\tablehead{\colhead{Station} & + \colhead{$\theta$\tablenotemark{\it a}} & + \colhead{$\phi$\tablenotemark{\it b}}} +\tablenotetext{\it a}{Latitute, north $>0$} +\tablenotetext{\it b}{Longitude, east $>0$} +\tablecomments{Taken from Broodey [1976]} +\startdata +Brixstone & $45^\circ$ & $90^\circ$ \nl +Wilstone &$-45^\circ$ &$-50^\circ$ \nl +Tipstone & $56^\circ$ &$124^\circ$ +\end{planotable} + +The \texttt{planotable} environment is encouraged by AGU, because it +automatically formats the tables with the three horizontal rules that they +want: after the title, after the column headings, and after the table data. +A typical example would look like +\begin{verbatim} +\begin{planotable}{lcc} +\tablewidth{20pc} +\tablecaption{Coordinates of stations + \label{tab:coords}} +\tablehead{\colhead{Station} & + \colhead{$\theta$\tablenotemark{\it a}} & + \colhead{$\phi$\tablenotemark{\it b}}} +\tablenotetext{\it a}{Latitute, north $>0$} +\tablenotetext{\it b}{Longitude, east $>0$} +\tablecomments{Taken from Broodey [1976]} +\startdata +Brixstone & $45^\circ$ & $90^\circ$ \nl +Wilstone &$-45^\circ$ &$-50^\circ$ \nl +Tipstone & $56^\circ$ &$124^\circ$ +\end{planotable} +\end{verbatim} +The result is shown in Table~\ref{tab:coords} + +Additional commands possible are +\begin{description} +\item[\ttfamily\bsl tablebreak] to force a page break in the middle of table; +\item[\ttfamily\bsl nodata] for table elements that are empty; +\item[\ttfamily\bsl cutinhead] to add new heading centered across whole table. +\end{description} + +\section{Citations and List of References} +The great disappointment in AGU\TeX{} is the lack of a decent author-year +citation scheme and \btx{} style file. This is corrected with \app, which also +provides the bibliography style file \texttt{agu.bst} along with the interfacing +to use it correctly. + +Even if one does not make use of \btx{} to generate the list of references, +one may type it in oneself as a \texttt{thebibliography} environment. The form of +the entries must be observed, however. +\begin{verbatim} +\begin{thebibliography}{} %<-- Note {} + \bibitem[Smith {\it et al.}(1992)]{smi92} + Smith, J. G., P. G. Jones, and F. H. Weston, + Some results, {\it J. Strange Results}, + {\it 32}, 345--350, 1992 + + \bibitem . . . +\end{thebibliography} +\end{verbatim} +Each \verb!\bibitem! entry contains in square brackets the text that should +appear in the citation, {\em but with the year in round parentheses}. +Following that is the {\em key\/} to refer to the citation, here \texttt{smi92}. +This is also the key that is used to identify a reference in a \btx{} +database. Of course, it is much easier to make up such a database and let +\btx{} generate the \texttt{thebibliography} environment. This is done with +commands +\begin{quote} +\verb!\bibliographystyle{agu}!\\ +\verb!\bibliography{!{\em database\/}\verb!}! +\end{quote} +where {\em database\/} is the name of the bibliographic database file(s) that +are to be searched by \btx. (The \btx{} program must also be run after at +least one \LaTeX{} processing, and then \LaTeX{} must be run at least two +times more.) + +In the main text, the \verb!\cite! command is used almost as in +standard \LaTeX{} to print the citation, but with the following variations: +\\[1ex] +\begin{tabular}{l@{~$\Rightarrow$~}l} +\verb!\cite{smi92}! & Smith {\it et al.} [1992] \\ +\verb!\cite[]{smi92}! & [Smith {\it et al.}, 1992] \\ +\verb!\cite[p.~3]{smi92}! & [Smith {\it et al.}, 1992, p.~3]\\ +\verb!\cite[see][]{smi92}! & [see Smith {\it et al.}, 1992] +\end{tabular}\\[1ex] +Note that the use of optional arguments is somewhat different from that +of normal \LaTeX{} where only a single argument in square brackets is +allowed to place a note \emph{after} the citation. Here one optional +argument behaves that way, but if there are two, then the first goes +before, the second after the citation. This is because in author-year +citations one often wants to say [see Smith {\it et al.}, 1992, and +references therein]. + +Multiple citations may be made with one \verb!\cite! command:\\[1ex] +\begin{tabular}{l@{~$\Rightarrow$~}l} +\verb!\cite[]{smi92,jam89}! & [Smith {\it et al.}, 1992; \\ +\multicolumn{1}{c}{} & \quad James, 1989]\\ +\verb!\cite[]{smi89,smi92}! & [Smith {\it et al.}, 1989, 1992] +\end{tabular} + +\section{Other Features} +These are the major features of \app, but there are a few more +nice frills that are provided at no extra charge. + +\subsection{Improved Preprint Title} +The AGU\TeX{} style \texttt{agupp} puts the title, authors, and abstract on +a titlepage and starts the two-column mode with the first \verb!\section! +command on the next page. Frankly, this looks cheap. By selecting the +option \texttt{twocolumn} explicitly, the title and authors are put on the +same page as the opening text, but the abstract goes into a narrow +column. (This is actually standard \LaTeX, so one should not complain.) +\app, on the other hand, puts the +title, author, and abstract all across the two columns of the starting +text. +This is illustrated on the first page of this paper. +Furthermore, the information in \verb!\lefthead! and \verb!\righthead! +are added in the running heads; the option \texttt{twoside} may be used +to effect here. This looks far more professional, more like a reprint +than a preprint. + +\subsection{Supplemental Abstract} +JGR requires an additional abstract with the paper number for printing in the +JGR-Space Physics Subsets. By including the declaration +\begin{quote} +\verb!\extraabstract! +\end{quote} +anywhere in the paper (preferrably in the preamble), this will be printed +automatically as the very last page of the camera-ready copy. For other +versions, it does nothing, so that it may be left in all the time. + +\subsection{Sublabelling} +Sometimes it is required to label some equations, figures, or tables as 4a, +4b, 4c, \dots, that is, to sublabel them. This can be done with the pair of +commands +\begin{quote} +\verb!\sublabon{!{\em counter\/}\verb!}!\\ +\verb!\sublaboff{!{\em counter\/}\verb!}! +\end{quote} +where {\em counter\/} is one of \texttt{equation}, \texttt{figure}, +\texttt{plate}, or \texttt{table}. For example, +\begin{verbatim} +\sublabon{figure} +\begin{figure} + \caption{Caption of fig. 4a} +\end{figure} +\begin{figure} + \caption{Caption of fig. 4b} +\end{figure} +\sublaboff{figure} +\begin{figure} + \caption{Caption of fig. 5} +\end{figure} +\end{verbatim} +The \verb!\sublabon! contains an implicit \verb!\sublaboff! so it is not +necessary to turn the sublabelling first off then on again in order to step +the main counter: a single \verb!\sublabon! will do the job. + +AGU\TeX{} provides a \texttt{mathletters} environment that is equivalent to +\verb!\sublabon{equation}!. There is no reason not to use this with \app{} +too. + +\subsection{Balancing Two Columns} +An annoying thing about the \LaTeX{} two-column mode is that the two columns +on the last page are of different lengths. The \app{} package contains the +command \verb!\balance! that activates the equalizing of columns of text on +one page. Since this sometimes causes problems with floats and footnotes, it +is better to issue it only on the last page. More precisely, it should appear +somewhere in the text of the (unbalanced) left-hand column of the last page. +Obviously, it only makes sense for preprints; in other modes, it has no +effect, and may safely be left in the text. + +The counter command \verb!\nobalance! undoes the equalizing if this should be +necessary. + +\subsection{Alternative Text for One and Two Columns} +Often one needs to format text differently for the narrow columns of the +preprint and camera-ready copy than for the wider columns of the manuscript. +This is especially so for mathematical formulas. Since it is frustrating to +have to alter the text every time one changes between manuscript and other +output, \app{} provides the command +\begin{quote} +\verb!\iftwocol{!{\em two\_col\_text\/}\verb!}{!{\em one\_col\_text\/}\verb!}! +\end{quote} +to be able to keep the alternative versions always present. The {\em +two\_col\_text\/} will be printed for preprints or camera-ready copy (which +ultimately appears as double columns) and {\em one\_col\_text\/} for +manuscripts. + +\section{Conclusions} +The extension package \app{} adds features to AGU\TeX{} that have been gained +over many years of practical experience of providing camera-ready copy to JGR +and GRL. It has not been thought up out of the blue, but derives from feedback +between the author, his colleagues, other users, and their interactions with +the AGU copy editors, who often have been quite frustrating in their demands. +The extension package is a distillation from the full-fledged \LaTeX{} styles +\texttt{art-jgr} and \texttt{art-grl}. However, since \app{} is an extension to +AGU\TeX, it simply assumes the layout specifications given to it, and so +should be able to survive any future format alterations. + +It is the offspring of a battle-tested warrior and as such should be able to +provide much more sturdy service. Its major advantages over standard AGU\TeX{} +are +\begin{enumerate} +\item explicit numbering of many items can be avoided, + +\item figures, plates, and tables may be put into the text so that decent + preprints are made with a minimum of changes (simply by changing an option + in \verb!\documentstyle!), + +\item and yet figure captions and tables appear at the end as required for + manuscripts and camera-ready copy, + +\item author-year citations may be done comfortably with \btx, + +\item appendices do not require explicit lettering, nor do they imply that + tables must be explicitly numbered afterwards, + +\item sublabelling of counters other than \texttt{equation} is possible, + +\item alternative text may be inserted for narrow and wide columns so that, + for example, math formulas always fit properly, + +\item the appearance of the first preprint page is improved, with title, + authors, and abstract across the two columns of text, + +\item the two columns on the last page of a preprint may be nicely balanced. +\end{enumerate} + +The main emphasis of \app{} is that explicit numbering should be avoided at +all costs, and that the text should be able to output manuscripts, +camera-ready copy, and preprints, with only a simple change to the +\verb!\documentstyle! command. + +\appendix +\section{Encapsulated PostScript} +As mentioned here, it is possible to include encapsulated PostScript files in +a figure or plate, but within a \verb!\figbox! frame. What makes a PostScript +file `encapsulated' is the addition of certain standardized comments, the most +important of which, for our purposes, is the {\em bounding box +specifications}. This tells \LaTeX{} (more properly the \texttt{dvips} driver) +how to scale and shift the diagram to make it fit into the reserved space. + +However, many application programs cheat on the bounding box. It is not +trivial to calculate (I know, for I have written a program to do it), so many +programs just give the size of the full page. In this case, the figure will +not fit so well into \verb!\figbox!, which places the center of the specified +bounding box in the center of the \verb!\figbox!. If your figures come out +displaced, or too small, then this may be the problem. A bounding box +adjustment is necessary. + +\balance +\section{A Template for an \app{} Article} +I present here the outline of a source file with the essential +AGU\TeX{} and \app{} shown. +\begin{small} +\begin{verbatim} +\documentstyle[twoside,agupp,aguplus]{article} + % ALTERNATIVELY: + %\documentstyle[agums,aguplus]{article} + %\documentstyle[jgrga,aguplus]{article} + % FOR LATEX2E: + %\documentclass{article} + % \usepackage{agu2e,agums,aguplus} + % AGU++ OPTIONS + %\printfigures % ADDS FIGURES AT END + %\doublecaption{35pc} % CAPTIONS PRINTED TWICE + %\sectionnumbers % TURNS ON SECTION NUMBERS + %\extraabstract % ADDS SUPPLEMENTAL ABSTRACT + %\afour % EUROPEAN A4 PAPER SIZE + %\figmarkoff % SUPPRESS MARGINAL MARKINGS + + % AGUTeX OPTIONS AND ENTRIES + %\tighten % TURNS OFF DOUBLE SPACING +\lefthead{authors} +\righthead{short title} +\received{date1} +\revised{date2} +\accepted{date3} +\journalid{JGRA}{Journal date} +\articleid{page1}{page2} +\paperid{94JZ12345} +\ccc{0000-0000/00/94JZ-12345\$05.00} + % \cpright{PD}{1994} + % \cpright{Crown}{1994} + % (No \ccc{} for Crown copyrights.) +\cpright{AGU}{1994} + +\authoraddr{author1, full address} +\authoraddr{author2, full address} + +\slugcomment{To appear ...} + + % END OF PREAMBLE +\begin{document} +\title{Full Title} + % + % TWO METHODS FOR GIVING THE AUTHORS + % +\author{author set 1} +\affil{Institute 1} + +\author{author set 2\altaffilmark{1}} +\affil{Institute 2} + +\altaffiltext{1}{Other institute} + + % ALTERNATIVELY: + %\author{author1\altaffilmark{1} and + % author2\altaffilmark{2,3}} + %\altaffiltext{1}{Institute 1} + %\altaffiltext{2}{Institute 2} + %\altaffiltext{3}{Other institute} + + % + % THE ABSTRACT + % +\begin{abstract} + Text of abstract. +\end{abstract} + + % + % THE MAIN BODY OF TEXT + % +\section{Introduction}\label{sec:lab} + +\subsection{..} + +\subsubsection{..} + + % + % FLOAT EXAMPLES + % +\begin{figure} + \figbox{\hsize}{10cm}{Paste Fig Here} + \caption{Caption text.\label{fig:lab}} +\end{figure} + +\begin{plate*} + \platewidth{35pc} + \figbox{35pc}{12cm}{Paste Plate Here} + \caption{Caption text.\label{pla:lab}} +\end{plate*} + +\begin{table} + \caption{Caption of table.\label{tab:lab}} + \begin{tabular}{...} + ..... + \end{tabular} +\end{table} + + % + % CITATION EXAMPLES + % +As shown by \cite{smi92}, one may ... + +It has been shown \cite[]{smi92} that one may ... + + % + % APPENDIX + % +\appendix +\section{Some More Stuff} + + % + % ACKNOWLEDGMENTS + % +\acknowledgments +We wish to thank... + + % + % BALANCING PREPRINT COLUMNS + % +\balance + + % + % LIST OF REFERENCES (BIBTEX) + % +\bibliographystyle{agu} +\bibliography{...} + % + % WITHOUT BIBTEX + % + %\begin{thebibliography}{} + % \bibitem[author {\it et al.}(year)]{key} + % reference text + % + % \bibitem[author1 and author2(year)]{key} + % reference text + % + %\end{thebibliography} + +\end{document} +\end{verbatim} + +\end{small} + +\begin{thebibliography}{} + +\bibitem[Kopka and Daly(1993)]{koda} +Helmut Kopka and Patrick~W. Daly. +\newblock {\em A Guide to \LaTeX, Document Preparation for Beginners and + Advanced Users}. +\newblock Addison-Wesley, Reading, MA, 1993. + +\bibitem[Lamport(1986)]{la} +Leslie Lamport. +\newblock {\em \LaTeX, a Documentation Preparation System}. +\newblock Addison-Wesley, Reading, MA, 1986. + +\end{thebibliography} +\end{document} + +%% +%% End of file aguplus.tex. diff --git a/obsolete/macros/latex209/contrib/aguplus/changes.lis b/obsolete/macros/latex209/contrib/aguplus/changes.lis new file mode 100644 index 0000000000..d6275c7abb --- /dev/null +++ b/obsolete/macros/latex209/contrib/aguplus/changes.lis @@ -0,0 +1,43 @@ + CHANGES TO AGU++ SINCE THE ORIGINAL VERSION + +Version 0.5x 1993 December 2 + Original version +(The version numbers less than 1 are meant to be experimental still. +Letters are prefixed to some to indicate that only minor corrections + have been undertaken.) + +Version 0.5y 1993 December 17 + Corrections to fix up problems with planotable, which was not behaving + ideally when moved to the back of the manuscript and galley proof. + + Sublabelling of planotables that extended over more than one page + did not work correctly, and this has been repaired. + +Version 1.0 1994 May 26 + Made compatible with the new LaTeX2e, although it does not take + advantage of any of the new features. (This may come in future.) + Add a patch to make AGUTeX work with LaTeX2e. + + Otherwise, only change on the surface is in the \cite command, which + now takes 2 optional arguments, for text before and after the citation. + \cite{key} ==>> Jones et al. [1990] + \cite[]{key} ==>> [Jones et al., 1990] + \cite[chap. 2]{key} ==>> [Jones et al., 1990, chap. 2] + \cite[e.g.,][]{key} ==>> [e.g., Jones et al., 1990] + \cite[see][pg. 34]{key}==>> [see Jones et al., 1990, pg. 34] + + The title of the preprint has been changed to be left justified instead + of centered. This makes it the same as the galley proofs and final + printing. (I prefer centered myself.) + +Version 1.0a 1994 June 6 + Fix up problems with overfull hboxes. + +Version 1.0b 1994 Aug 22 + The 1.0 versions were made using a preliminary test release of LaTeX2e. The + official release of 1994 June 1 contained some changes that made the + citations no longer work properly. This has now been fixed up. (Which means + it will not work with the preliminary test release!) + + NOTE: this 1.0b version is still a hybrid; it works under both 2.09 and 2e + versions of LaTeX. In future, a LaTeX2e only package will be supported. diff --git a/obsolete/macros/latex209/contrib/aguplus/readme.pwd b/obsolete/macros/latex209/contrib/aguplus/readme.pwd new file mode 100644 index 0000000000..8ada22a371 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aguplus/readme.pwd @@ -0,0 +1,64 @@ +************************************************** +* LATEX STYLES FOR AMERICAN GEOPHYICAL UNION * +************************************************** + Latest news from 1994 May 26 + +The American Geophysical Union (AGU) has finally come out with its own +official LaTeX package for producing manuscripts and camera-ready copy for its +journals. At the same time the format of the journals has been dramatically +altered. Thus my unofficial LaTeX package for AGU (art-jgr and art-grl) +becomes not only superfluous but obsolete. + +However, in looking over the instructions and coding of the official package, +I realize that not only are some imperfections present, but many useful +features of my styles are missing. The most noticeable of these is the means +of using author-year citations with BibTeX in an automated manner. + +The coding imperfections are related to the way in which figure captions and +tables are treated: they must be placed at the end of the document, and if an +appendix is present, then the automatic numbering system will consider them as +appendix figures and tables (numbered A1, A2, ...). To avoid this, explicit +numbers must be given, something that violates the essential principles of a +formatting program like LaTeX. A second implication of this treatment is that +preprints will be missing the figures and tables in the text. In my older +system, neither of these problems occurred. + +BY POPULAR DEMAND, I have undertaken to write an extension to the official AGU +package, called AGU++ (for AGU doubly-ionized or super-charged, as you +please). It includes my extra features without changing any of the formats of +the original package. The user should prepare his documents in the manner +described by the AGU, except that figures, tables, and plates are to be +included *in the text*. A number of extra commands are available to control +and/or enable the extra features. + +Details on how to use AGUTeX with AGU++ are to be found in the manual +AGUPLUS.TEX. The package is still EXPERIMENTAL, so I would appreciate +comments and complaints from trial users. The package consists of the files: + +I have now come up with version 1.0 (not so experimental), which is compatible +with the new standard LaTeX2e, as well as with the older standard 2.09. +Since AGUTeX itself has some problems with LaTeX2e, a patch is included. + +aguplus.sty The style file itself +aguplus.tex A manual, to be LaTeX (under AGUTeX and AGU++) +samplus.tex A sample paper +agu2e.sty A package for LaTeX2e, to patch up inconsistencies in AGUTeX +agu.bst A bibliography style file with AGU formats +sample.bib A BibTeX data base, for use with samplus.tex + +In addition, I supply some useful files for listing the contents of *.bib +files, with their keys. These have nothing really to do with AGU as such. +keylist.tex A file to be LaTeXed in order to list a *.bib file contents +keylist.bst A bibliography style to go along with it. + +NOTE: this package does not contain AGUTeX itself. This is because AGU++ is +still unofficial. (The AGU is considering what they want to do with it.) +The official package can be obtained from anonymous FTP server + kosmos.agu.org +in directory agutex + +Patrick W. Daly +Max-Planck-Institut f\"ur Aeronomie +D-37189 Katlenburg-Lindau + +daly@linmpi.dnet.gwdg.de diff --git a/obsolete/macros/latex209/contrib/aguplus/sample.bib b/obsolete/macros/latex209/contrib/aguplus/sample.bib new file mode 100644 index 0000000000..31f1829ec5 --- /dev/null +++ b/obsolete/macros/latex209/contrib/aguplus/sample.bib @@ -0,0 +1,51 @@ +% **************************************** +% * File: SAMPLE.BIB * +% **************************************** +% * An invented bib file * +% * For the sample texts * +% * The order is unimportant and there * +% * may be more entries than references * +% * in the text * +% **************************************** +% +@ARTICLE{smit54, + AUTHOR = {J. G. Smith and H. K. Weston}, + TITLE = {Nothing Particular in this Year's History}, + YEAR = {1954}, + JOURNAL = {J. Geophys. Res.}, + VOLUME = {2}, + PAGES = {14-15} +} +@BOOK{colu92, + AUTHOR = {Christopher Columbus}, + TITLE = {How {I} Discovered {America}}, + YEAR = {1492}, + PUBLISHER = {Hispanic Press}, + ADDRESS = {Barcelona} +} +@ARTICLE{gree00, + AUTHOR = {R. J. Green and U. P. Fred and W. P. Norbert}, + TITLE = {Things that Go Bump in the Night}, + YEAR = {1900}, + JOURNAL = {Psych. Today}, + VOLUME = {46}, + PAGES = {345-678} +} +@ARTICLE{phil99, + AUTHOR = {T. P. Phillips}, + TITLE = {Possible Influence of the Magnetosphere on {American} History}, + YEAR = {1999}, + JOURNAL = {J. Oddball Res.}, + VOLUME = {98}, + PAGES = {1000-1003} +} +@ARTICLE{jame76, + AUTHOR = {Kelly James and Harris, Jr., George and Wilby Wollops}, + TITLE = {{American} Independence and Magnetism}, + YEAR = {1776}, + JOURNAL = {Revol. Tracts}, + VOLUME = {32}, + PAGES = {34-55} +} + + diff --git a/obsolete/macros/latex209/contrib/aguplus/samplus.tex b/obsolete/macros/latex209/contrib/aguplus/samplus.tex new file mode 100644 index 0000000000..feab94ec3b --- /dev/null +++ b/obsolete/macros/latex209/contrib/aguplus/samplus.tex @@ -0,0 +1,274 @@ +%% +%% This is file `samplus.tex', generated +%% on <1994/5/27> with the docstrip utility (2.2e). +%% +%% The original source files were: +%% +%% sample.dtx (with options: `agu') +%% ************************************** +% * SAMPLE INPUT FOR AGUTeX & AGU++ * +%% ************************************** +% Various alternatives for the input are shown, commented out. +% E.g., for the documentstyle options +% for the authors' names, +% for the bibliography +% Feel free to play around with these variations, especially with +% the style options draft and twocolumn and 11pt/12pt + + %%%% SELECT ONE OF THE NEXT LINES FOR LATEX2E ONLY +%\documentclass{article} +%\documentclass[twoside]{article} + +%% AND THEN ONE OF THESE LINES +%\usepackage{agu2e,jgrga,aguplus} % CAMERA-READY, JGR +%\usepackage{agu2e,agupp,aguplus} % PREPRINT +%\usepackage{agu2e,agums,aguplus} % MANUSCRIPT + + %%%% FOR LATEX 2.09, SELECT ONE OF THE FOLLOWING +\documentstyle[jgrga,aguplus]{article} % CAMERA-READY FOR JGR + +%\documentstyle[twoside,agupp,aguplus]{article} % PREPRINT, TWOSIDED + +%\documentstyle[agums,aguplus]{article} % MANUSCRIPT + + +% SOME EXTRA FEATURES THAT MAY BE TURNED ON WITH APPROPRIATE COMMANDS +% THESE ARE ALL PART OF AGU++, NOT STANDARD AGUTeX +% +\printfigures % PRINTS OUT FIGURES AT END OF MANUSCRIPT AND + % CAMERA-READY COPY +\doublecaption{35pc} % FIGURE CAPTIONS PRINTED OUT TWICE, IN REGULAR + % WIDTH AND WIDTH 35 PICAS (STILL REQ'D BY JGR) + % EFFECTIVE ONLY FOR CAMERA-READY COPY +\sectionnumbers % TURNS ON SECTION NUMBERS, WHICH ARE TURNED + % OFF BY DEFAULT (AGU DISCOURAGES THEM) +\extraabstract % ADDS SUPPLEMENTAL ABSTRACT WITH PAPER NUMBER + % AT END OF CAMERA-READY COPY (FOR JGR) +%\afour % SET PAPER SIZE FOR EUROPEAN A4 SPECIFICATION + + +%\figmarkoff % INCLUDE TO SUPPRESS AUTOMATIC MARGINAL MARKING OF FIGS, TABLES + +%\tighten % STANDARD AGUTeX: TURNS OFF DOUBLE SPACING IN MANUSCRIPT + +% PREAMBLE INFOMATION ABOUT THE PAPER +\lefthead{Smith and Weston} +\righthead{Western Frontiers and Geophysics} +\received{April 1, 1989} +\revised{November 11, 1993} +\accepted{December 25, 1999} +\journalid{JGRA}{January 2000} +\articleid{1}{4} +\paperid{99JZ12345} +\ccc{0000-0000/00/99JZ-12345\$05.00} + % \cpright{PD}{1999} + % \cpright{Crown}{1999} + % (Crown copyrights have no "\ccc{}" information.) +\cpright{AGU}{1999} + +\authoraddr{J. G. Smith, Institute for Historical Geophysics, 26 Camrose +Drive, Houston, Texas} + +\authoraddr{H. K. Weston, School for Military Advances, 87 Blackborn Rd, +London, United Kingdom} + +\slugcomment{To appear in the Journal of Irreproducible Results, February 30, +1999} + +\begin{document} +\title{How the Western Frontiers were Won with the Help of Geophysics} + + +% +% TWO METHODS FOR GIVING THE AUTHORS' NAMES +% +\author{J. G. Smith} +\affil{Institute for Historical Geophysics, Houston, Texas} + +\author{H. K. Weston\altaffilmark{1}} +\affil{School for Military Advances, London, United Kingdom} + +\altaffiltext{1}{Present address Playa del Ingeles, Gran Canaria.} + +%\author{J. G. Weston\altaffilmark{1} and H. K. Smith\altaffilmark{2,3}} +%\altaffiltext{1}{Institute for Historical Geophysics, Houston, Texas.} +%\altaffiltext{2}{School for Military Advances, London, United Kingdom.} +%\altaffiltext{3}{Present address Playa del Ingeles, Gran Canaria.} + + + +\begin{abstract} +To date, very little has been written about the very important role +played by the magnetosphere during the conquest of the Western Hemisphere. +This paper tries to fill this gap by drawing on historical documents from the +years 1492 to 1888, the most vital years for this development. Almost no +conclusions are drawn as the influence appears to approach absolute zero. +\end{abstract} + +\section{Introduction}\label{sec:intro} + +With the discovery of America \cite[]{colu92} a new continent was opened up. +However its full exploitation by Europeans and their offspring was not fully +complete until many centuries later, as reported by \cite{jame76}. During this +interval, known as the Winning of the West \cite[]{smit54}, a major role in +the development of the continent was played by the lowly revolver +\cite[e.g.][]{gree00}. Recently, \cite{phil99} suggested that the +magnetosphere could have played an even more significant role. In order to +pursue this conjecture, the authors of this work have carried out a historical +survey and have found start\-ling\-ly little evidence for such a claim. + +\section{The discovery}\label{sec:dis} + +America was discovered by \cite{colu92}, as illustrated in +Figure~\ref{fig:dis}. +Without the use of the compass, this would never have been possible. In fact, +this could be considered the most important (and only) contribution of the +geomagnetism to the development of the American continent. A portrait of +Christopher Columbus is shown in +Plate~\ref{pla:columbus}. + +\begin{figure} + \figbox{8cm}{4cm}{Paste map here} + \caption[]{\label{fig:dis} +A map showing the route of Columbus from the Old to the New +World. His real route is shown with a solid line, that that he might have +taken without a compass is drawn as a dashed line.} +\end{figure} +\begin{plate*} + \platewidth{35pc} + \figbox{12cm}{6cm}{Paste portrait here} + \caption{\label{pla:columbus} +A portrait of Christopher Columbus, the discoverer of America.} +\end{plate*} + +The subsequent taming of the West took place with considerable quantities of +lead, but since this non-mag\-ne\-tic, there are no geomagnetic variances +attributed to it. + +\section{The next five centuries}\label{sec:next5} + +In Section~\ref{sec:dis}, the discovery of America was described. Here we will +outline the subsequent history until the present. This is best summarized in +Table~\ref{tab:sum}. + +\begin{planotable}{cll} + \tablewidth{20pc} +\tablecaption +{\label{tab:sum}The History of America from Discovery to Present} +\tablehead{\colhead{Date} & \colhead{Event} & \colhead{Ref.}} +\startdata +1492 & Discovery & \cite{colu92} + \nl +1776 & Independence & \cite{jame76} + \nl +1954 & Nothing much & \cite{smit54} + \nl +1999 & Present & \cite{phil99} +\end{planotable} + +As can be seen from Table~\ref{tab:sum}, there is almost no mention of +geomagnetism or the magnetosphere at all. This sorry situation is discussed +further and explained away in Section~\ref{sec:end}. + +\subsection{The Mathematics of Development} + +The complete mathematical description is beyond the scope of this report, but +can be found in \cite{smit54}. The basic equation is +\begin{equation} + z = \sqrt{x^2 + y^2} \label{eq:z} . +\end{equation} + +In addition to Eq.~\ref{eq:z}, we also have +\begin{eqnarray} +x & = & A \sin\theta \nonumber \\ +y & = & A \cos\theta \nonumber \\ +A & = & \int^\infty_0 dt\,f(t) \label{eq:int} +.\end{eqnarray} +Equations~\ref{eq:z} and \ref{eq:int} together describe the entire time +development of the history of America. Again no geomagnetic term enters. + +\subsubsection{Pseudo-mathematics.} +In addition to the true mathematics mentioned above, there are a number of +pseudo-mathematical theories, but these cannot be seriously considered by +reputable scientists. + +\section{Conclusions}\label{sec:end} + +Considering Figure~\ref{fig:dis} and Table~\ref{tab:sum} we see that the +influence of the geomagnetic and magnetospheric terms is negligible. +Furthermore, equations~\ref{eq:z} and \ref{eq:int} add no insight to the +problem. We must therefore conclude that \cite{phil99} incorrectly supposed +such a connection to exist. + +In spite of this negative result, research will continue on this highly +interesting question. For if it were to prove correct, then the consequences +would be enormous to say the least. + +\balance % USE THIS TO BALANCE THE LAST TWO COLUMNS IN TWOCOLUMN MODE + +\appendix +%% +%% IF THERE IS ONLY ONE APPENDIX, USE \section* +%% FOR MORE THAN ONE, USE \section FOR EACH APPENDIX +%% +\section*{Mathematical Background} +Apart from the following equation +%% +%% HERE IS AN EXAMPLE OF AN EQUATION THAT IS TO BE BROKEN UP IN TWOCOLUMN +%% MODE, BUT LEFT IN ONE LINE IN ONECOLUMN +%% +\iftwocol{% HERE FOLLOWS THE TWOCOLUMN VERSION +\begin{eqnarray} +(1-x)^n & = & 1 - n x + \frac{n(n-1)}{2}\,x^2 \nonumber\\ + & & -{} \,\frac{n(n-1)(n-2)}{3\cdot2}\,x^3 + \cdots +\end{eqnarray} +}{% NOW THE ONECOLUMN VERSION +\begin{equation} +(1-x)^n = 1 - n x + \frac{n(n-1)}{2!}\,x^2 - \frac{n(n-1)(n-2)}{3\cdot2}\,x^3 + +\cdots +\end{equation}} % END OF THE \iftwocol DEMONSTRATION +there is not very much to say about mathematical background to this topic. + + +\acknowledgments % OR ALTERNATIVELY \acknowledgements +The authors thank their colleagues for continuing support and discussion +around the coffee breaks. The editor thanks X. Y. Furore and another referee +for assisting in evaluating this paper. + +%% TWO METHODS FOR INCLUDING THE BIBLIOGRAPHY (LIST OF REFERENCES) +%% EITHER TYPE IN THE ENTRIES YOURSELF AS SHOWN HERE IN +%% `thebibliography' ENVIRONMENT, +%% OR +%% USE THE FOLLOWING TWO COMMANDS SO THAT BIBTEX WILL GENERATE +%% `thebibliography' TEXT FOR YOU AND READ IT IN. +%% +%\bibliographystyle{agu}%<-- LIST OF REFERENCES TO BE IN "AGU" STYLE +%\bibliography{sample} %<-- REFERENCES ARE IN FILE "SAMPLE.BIB" +%% +%% IF THE ABOVE TWO COMMANDS ARE USED, THEN thebibliography ENVIRONMENT +%% MUST BE REMOVED. +\begin{thebibliography}{} % (THIS TEXT WAS GENERATED BY BIBTEX) + +\bibitem[{\it Columbus}(1492)]{colu92} +Columbus, C., {\it How {I} Discovered {America}}. Hispanic Press, Barcelona, + 1492. + +\bibitem[{\it Green et~al.}(1900)]{gree00} +Green, R.~J., U.~P. Fred, and W.~P. Norbert, Things that go bump in the night, + {\it Psych. Today}, {\it 46}, 345--678, 1900. + +\bibitem[{\it James et~al.}(1776)]{jame76} +James, K., G.~Harris, Jr., and W.~Wollops, {American} independence and + magnetism, {\it Revol. Tracts}, {\it 32}, 34--55, 1776. + +\bibitem[{\it Phillips}(1999)]{phil99} +Phillips, T.~P., Possible influence of the magnetosphere on {American} history, + {\it J. Oddball Res.}, {\it 98}, 1000--1003, 1999. + +\bibitem[{\it Smith and Weston}(1954)]{smit54} +Smith, J.~G., and H.~K. Weston, Nothing particular in this year's history, {\it + J. Geophys. Res.}, {\it 2}, 14--15, 1954. + +\end{thebibliography} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/album/example.bum b/obsolete/macros/latex209/contrib/album/example.bum new file mode 100644 index 0000000000..fa0d73eac9 --- /dev/null +++ b/obsolete/macros/latex209/contrib/album/example.bum @@ -0,0 +1,31 @@ +\album{vivaldi.1}{\small Vivaldi, Antonio\hfill (1678-1741)\\ +\begin{enumerate} +\item Concerto in G Major for Two Mandolins, Strings \& Basso Continuo +\item Concerto in C Major for Mandolin, Strings \& Basso Continuo +\item Concerto in C Major for Two Mandolins, Two Theorboes, Two flutes, +Two ``Salmoe'', Two Violins, Cello, Strings \& Basso Continuo +\item Concerto a dve Chori in B flat Major, ``Con Violino Discordato'', +Strings \& Basso Continuo +\end{enumerate} +}% +{\normalsize\sf Vivaldi\\Mandolin Concertos}% +{\small {\it I Solisti Veneti} --- Claudio Scimone\\[1mm] +Bonifacio Bianchi, Alessandro Pitrelli --- Mandolins +} +%%----------------------------------------------------------- +\album{vivaldi.2}{\small Vivaldi, Antonio\\[1mm] +{\bf \underline{The Four Seasons\rule[-0.7mm]{0mm}{1mm}}} + +\begin{enumerate} +\item SPRING, Concerto No. 1 in E Major +\item SUMMER, Concerto No. 2 in G Minor +\item AUTUMN, Concerto No. 3 in F Major +\item WINTER, Concerto No. 4 in F Minor +\end{enumerate} + +Simon Standage --- Violin\\ +Trevor Pinnock --- Harpsichord\\[1mm] +{\it The English Chamber Orchestra} on authentic instruments. +}% +{\normalsize\sf Vivaldi\\The Four Seasons}{} +%%----------------------------------------------------------- diff --git a/obsolete/macros/latex209/contrib/album/tapeman.tex b/obsolete/macros/latex209/contrib/album/tapeman.tex new file mode 100644 index 0000000000..785eb687fc --- /dev/null +++ b/obsolete/macros/latex209/contrib/album/tapeman.tex @@ -0,0 +1,243 @@ +\documentstyle[tape]{article} +\setlength{\textwidth}{6.5in} +\setlength{\textheight}{9in} +\setlength{\oddsidemargin}{1in} +\renewcommand{\baselinestretch}{1.25} +\parindent=15pt +\parskip=6pt plus 1pt +\pagestyle{plain} +\begin{document} + +\section*{Making Casette Tape Labels using \LaTeX} +\begin{flushright} +\begin{tabular}{@{}l@{}} +Sunil Podar (podar@sbcs)\\ +S.U.N.Y.\ at Stony Brook.\\ + +\end{tabular} +\end{flushright} + +\vspace*{8mm} +This document describes a way to maintain a simple ``album database'' and +susequently print formatted casette tape labels. The commands to accomplish +this have been implemented as a documentstyle option {\tt tape} and should be +used with the {\it article} documentstyle, i.e., it should be invoked with +the command: + +\verb|\documentstyle[tape]{article}| + +A casette has two sides and each side is assumed to hold one {\it album}. +Each side of a casette tape label has three major fields of information, +depicted in Figure 1.: + +\begin{description} +\item[side\hfill] the textual information that goes on the front-flap. This +is where most of the information goes. +\item[title\hfill] the title given to the {\it side} that goes on the side +face of the casette cover. +\item[addendum\hfill] the textual information that goes on the back-flap of +the casette tape cover. +\end{description} + +\album{1}{\it side--1}{\it title--1}{\it addendum--1} +\album{2}{\it side--2}{\it title--2}{\it addendum--2} +\begin{figure}[hb] +\begin{center} +\renewcommand{\globaltapeid}{\footnotesize global\\tapeid} +\small +\maketape[tapeid]{1}{2}% +\caption[]{The Layout of a Casette Tape Label and the Terminology Used} +\end{center} +\end{figure} + +\newpage +Each side of the tape in the database is defined using the following +command: + +{\it +\verb|\album{|album-id\verb|}{|side\verb|}{|title\verb|}{|addendum\verb|}|} + +\verb|\album| command defines an album. More precisely, it defines one side +of a casette tape. It takes four arguements: first one +is a unique label assigned to every album, the other three being {\it side}, +{\it title} and {\it addendum}. + +A tape label holds information for two sides. Following command produces the +tape label: + +{\it \verb|\maketape[|tape-id\verb|]{|album1-id\verb|}% +{|album2-id\verb|}[|optional tape title\verb|]|} + +The album entry corresponding to {\it album1-id} goes on the left side of the +tape label and those corresponding to {\it album2-id} on the right side. By +default, individual titles are picked up from the album definition and +formatted to appear under their own sides. If it is desired to have a single +title as the case may be if both sides of a tape are by the same composer or +group, then a title may be explicitly specified as the last arguement in +which case individual titles of the two albums, as specified in their +respective \verb|\album| definitions, are ignored. + +A tape label also has two minor +fields of information, that go on the side face of the tape label, on either +side of the title. They are: +\begin{description} +\item[globaltapeid\hfill] This goes on the left side of the title, almost +flush with the left edge. This may hold information such as the owner's name. +By default, it is empty and may be changed using a \verb|\renewcommand|. + +\item[tapeid\hfill] This is an identification for individual tapes and goes +to the right of the title almost flush with the right edge. +\end{description} + +The width of the box in which the two fields described above are printed, is +controlled by a variable \verb|\tapeidwidth| and may be changed using a +\verb|\setlength| command. Also, by default, a vertical line is drawn +separating the two boxes from the title region. It may be changed by a +\verb|\renewcommand| on the parameter \verb|\tapeidmarker| --- one may +prefer a $\bullet$ (\verb|$\bullet$|) as the demarcator. + +The {\it side} and the {\it addendum} fields are set in a \verb|minipage| +environment, thus any of the regular paragraph formatting commands of \LaTeX\ +may be used; various formatting environments, such as {\tt tabbing}, {\tt +tabular}, {\tt itemize}, {\tt enumerate}, etc., can also be used. The other +fields, i.e., {\it title}, {\it globaltapeid} and {\it tapeid} are set in a +\verb|\parbox| thus only \verb|\\| command may be used with no blank lines in +the fields -- a parbox permits only one simple paragraph. Just a reminder: to +get indentation on a line following a \verb|\\| command, use \verb|\hspace*| +instead of \verb|\hspace|; according to the manual, any \verb|\hspace| after +a \verb|\\| is ignored. + +On the outside of the left hand edge of the tape label, three vertical lines +are shown. In addition to enforcing a correct height for each of the three +regions, they also serve as an indicator. Their height is invariant and in +the case when more text has been typed in a region than will fit on the +label, they indicate precisely by how much has the height been overshot. They +should, of course, be left out when the label is cut. + +No choice of fonts or fontsizes is enforced and one is completely free to +choose these, although it is suggested that a small-sized font (such as those +obtained by \verb|\small|, \verb|\footnotesize| or \verb|\tiny| declarations) +be used since the width of the paragraphs is rather small. Also, if more +information need to be put than will fit, the inter-line spacing may be +reduced using a \verb|\renewcommand| on the parameter \verb|\baselinestretch|. + +Two tape labels can be fit on a page, and a \verb|\newpage| declaration ought +to be placed after every two \verb|\maketape| commands. + +It is assumed that each \verb|\album| describes one {\it side} of the tape +label, which is also usually the case. If one side of a tape contains more +than one album then one will have to declare it as a single \verb|\album| +description. On the other hand, if a single album, or piece of music spans +both sides of a casette tape, its description will have to be broken +into two \verb|\album| declarations. + +The label can be cut out along the outer boundary -- the border lines are +meant to be part of the label so the cut should be just along the outer edge +of the lines. + +\section*{General Comments} + +The tape database is implemented by storing all fields as control sequences, +thus it is suggested that the database be constructed using reasonable-sized +files; subsequently to make tape labels, only the necessary files be +\verb|\input|, otherwise \TeX\ may run out of memory. + +The tape database has been implemented with the aim that the database +files be sharable amongst various users so long as every album has a unique +{\it album-id}. In order to load a tape database, all one needs to do is +\verb|\input| the appropriate files and subsequently type the +\verb|\maketape| commands for each desired pair of albums. +Following suggestions are made for conventions to be adopted +so as to enable a large community to share files without much effort: +\begin{itemize} +\item Each album database file have a ``{\tt .bum}'' file-name +extension\footnote{music album $\Leftrightarrow$ musical bum --- Benny Hill}. +For such files, the extension will have to be explicitly specified in the +\verb|\input| statement, otherwise \TeX\ will look for a file with a {\tt +.tex} extension. + +\item Separate files be maintained for different composers or groups. + +\item Any character can be used in the {\it album-id}, thus following +formats are suggested for {\it album-id}'s\\[1mm] +\hspace*{0.5in}\verb|filename.#|, or\\ +\hspace*{0.5in}\verb|filename[#]|, where {\tt \#} is an integer. + +For example, one may have a file {\tt mozart1.bum} with various album +descriptions of Mozart's compositions, each having an album-id of the form +{\tt mozart1.1}, {\tt mozart1.2}, and so on. If a single piece of music +spans both sides then we might label the two parts using another level of +subscripts, for example {\tt mozart.12.1} and {\tt mozart.12.2}. +\end{itemize} + +The only problem with above conventions is that if two users have a file with +identical album-id's then the file will have to be +copied and the album-id's changed. + +Following page contains an example. Commands used to generate the label would +be: +\leftmargini 25pt +\begin{quote} +\begin{verbatim} +\documentstyle[tape]{article} +\renewcommand{\globaltapeid}{\footnotesize\sf Sunil\\Podar} +\begin{document} +\input{example.bum} +\maketape[\sf WC\\12]{vivaldi.1}{vivaldi.2} +\end{document} +\end{verbatim} +\end{quote} + +\newpage +\vspace*{-4mm} +{% +\input{tape.sty} +\input{example.bum} +\renewcommand{\globaltapeid}{\footnotesize\sf Sunil\\Podar} +\begin{center} +\small +\maketape[\sf WC\\12]{vivaldi.1}{vivaldi.2} +\end{center}% +} + +\renewcommand{\baselinestretch}{0.85} +\small\normalsize + +\noindent The file {\tt example.bum} contains: +\begin{quote} +\begin{verbatim} +\album{vivaldi.1}{\small Vivaldi, Antonio\hfill (1678-1741)\\ +\begin{enumerate} +\item Concerto in G Major for Two Mandolins, Strings \& Basso Continuo +\item Concerto in C Major for Mandolin, Strings \& Basso Continuo +\item Concerto in C Major for Two Mandolins, Two Theorboes, Two flutes, +Two ``Salmoe'', Two Violins, Cello, Strings \& Basso Continuo +\item Concerto a dve Chori in B flat Major, ``Con Violino Discordato'', +Strings \& Basso Continuo +\end{enumerate} +}% +{\normalsize\sf Vivaldi\\Mandolin Concertos}% +{\small {\it I Solisti Veneti} --- Claudio Scimone\\[1mm] +Bonifacio Bianchi, Alessandro Pitrelli --- Mandolins +} +%%----------------------------------------------------------- +\album{vivaldi.2}{\small Vivaldi, Antonio\\[1mm] +{\bf \underline{The Four Seasons\rule[-0.7mm]{0mm}{1mm}}} + +\begin{enumerate} +\item SPRING, Concerto No. 1 in E Major +\item SUMMER, Concerto No. 2 in G Minor +\item AUTUMN, Concerto No. 3 in F Major +\item WINTER, Concerto No. 4 in F Minor +\end{enumerate} + +Simon Standage --- Violin\\ +Trevor Pinnock --- Harpsichord\\[1mm] +{\it The English Chamber Orchestra} on authentic instruments. +}% +{\normalsize\sf Vivaldi\\The Four Seasons}{} +%%----------------------------------------------------------- +\end{verbatim} +\end{quote} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/bnf/bnf.README b/obsolete/macros/latex209/contrib/bnf/bnf.README new file mode 100644 index 0000000000..bae8c349bd --- /dev/null +++ b/obsolete/macros/latex209/contrib/bnf/bnf.README @@ -0,0 +1,22 @@ +The bnf.sty file provides a mechanism for pretty printing context free +grammars. To use it, include it in one of the TEXINPUTS directories --- +if you can't get it installed in your standard TeX macro directory, your +current working directory should do. To make the macros available, +include it as an optional parameter of the \documentstyle command. + +The bnf.tex file is the documentation. + +Known bugs are reported in bnf.bugs. + +Please report any new bugs to hugh@cs.kun.nl, or + Hugh Osborne, + Department of Informatics, + University of Nijmegen, + 6525GT Nijmegen, + The Netherlands. + +If you have not received this file directly from me, please let me know. +I like to have an idea of how widespread its use is. +Thanks, + Hugh. + diff --git a/obsolete/macros/latex209/contrib/bnf/bnf.doc b/obsolete/macros/latex209/contrib/bnf/bnf.doc new file mode 100644 index 0000000000..9198425030 --- /dev/null +++ b/obsolete/macros/latex209/contrib/bnf/bnf.doc @@ -0,0 +1,528 @@ +\def\filedate{12/09/92 12:56pm} +%\iffalse +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "bnf.sty", +%%% date = "9 Dec 1992", +%%% time = "12:56 BST", +%%% author = "Mike Piff", +%%% address = "Dr M. J. Piff +%%% University of Sheffield +%%% Department of Pure Mathematics +%%% Hicks Building +%%% Hounsfield Road +%%% SHEFFIELD S3 7RH +%%% England", +%%% telephone = "0742-305468", +%%% email = "M.Piff@shef.ac.uk (Janet)", +%%% keywords = "Backus,Naur,syntax,grammar", +%%% supported = "yes", +%%% checksum = "10141 528 2414 20734", +%%% docstring = "A style option to LaTeX for producing +%%% Backus-Naur Form syntax notation.", +%%% } +%%% ==================================================================== +%% This is BNF.STY +%% Copyright (C) 1992 by Mike Piff. +%% All rights reserved. +%% Copying of this file is authorized only if +%% you make absolutely no changes to your copy. +%% +%% Usage: +%% \documentstyle[bnf]{article} %% in LaTeX +%<+driver>\documentstyle[12pt,doc,bnf]{article} +%<+driver>% Select paper size. +%<+driver>\def\firstletter#1#2\end{#1} +%<+driver>\typein[\papersize]{Intended paper size?^^J% +%<+driver>Choices: US letter size or A4; enter u or a, please:}% +%<+driver>\edef\setpapersize{\lowercase{\edef\noexpand\papersize{% +%<+driver> \noexpand\firstletter\papersize u\noexpand\end}}} +%<+driver>\setpapersize +%<+driver>\if a\papersize\relax +%<+driver> \typeout{% +%<+driver>OK, adjusting textwidth and textheight for A4 paper size} +%<+driver>% A4 paper size, 21cm x 30cm +%<+driver> \textwidth 6.375 true in \textheight 42\baselineskip +%<+driver>\else +%<+driver> \typeout{% +%<+driver>Adjusting textwidth and textheight for US letter paper size} +%<+driver>% US letter-size paper, 8.5 x 11 in: +%<+driver> \textwidth 6.5in \textheight 8.9in +%<+driver>\fi +%<+driver>\begin{document} +%<+driver> \DocInput{bnf.doc} +%<+driver>\end{document} +%<*style> +%\fi +% +\typeout{Backus-Naur Form style option for LaTeX, (c) Mike Piff, \filedate} +%\CheckSum{334} +%\MakeShortVerb{\"} +%\emergencystretch1in +%\title{{\protect\bf Backus Naur Form in \protect\LaTeX}} +%\author{Mike Piff} +%\date{\filedate} +%\maketitle +%\thispagestyle{headings} +%\begin{abstract} +% This article explains how to produce Backus-Naur Form +% in a \LaTeX\ document. +% The objective is to produce this notation as simply and efficiently +% as possible. +% Thus, short cuts looking like the teletype equivalents are set up +% for most of the symbolism. +% This has the advantage that the source looks generally comparable +% to the typeset equivalent. +%\end{abstract} +% +%\section{Introduction} +%\begin{bnf} +%The macros described below grew out of a sub-task of the \LaTeX-3 project. +%The objective was to program \LaTeX\ to produce Backus-Naur Form, or BNF +%for short, which is a way of describing the syntax of formal languages. +%In particular, the context-free syntax of modern programming languages +%and of \TeX\ itself are described in this notation. +% +%The idea is that we set up an extended language consisting of all of +%the symbols that are part of our real language, the {\bf terminal} +%symbols, such as "a", "(", "@" or "{", and also some {\bf non-terminal} +%symbols which represent syntactic structures, such as +%$$, $$ or $$. +%A list of {\bf productions} is then given. +%In the usual {\bf context-free} case, each one of these productions states +%that a certain non-terminal can be replaced by a string of terminal +%and non-terminal symbols. For instance, a production might express the fact +%that a $$ could be a $$. We write +%$$->$$ +%in BNF. Another production might say +%$$->"WHILE" "DO" "END"$$ +%to indicate the form of a while-loop in the language. +% +%In general there will be several productions from any given non-terminal. +%For instance, a $$ could also be a $$. +%Each non-terminal defines a {\bf language} of strings or {\bf words} +%in the terminal alphabet. Starting from the non-terminal, randomly +%substitute a replacement string for it. Then, in that replacement string, +%choose any non-terminal and randomly substitute one of its replacement +%expressions. Continue randomly replacing non-terminals until a string +%with no non-terminals results. This string is in the language defined +%by the non-terminal. For instance, the non-terminal $$ would +%define a language consisting of all valid statements in the programming +%language, and a non-terminal $$ would generate all valid +%modules. +% +%Because it is possible for a non-terminal to expand to nothing at all, +%we introduce the symbol $\Empty$ to indicate a null replacement string. +% +%In more complicated examples, we have {\bf context sensitive} productions, +%such as +%$$"a""cd"->"d"$$ +%which say that the string $"a""cd"$ may be replaced by the string +%$"d"$ anywhere that it appears. There might not be any direct replacement +%for either $$ or $$. +% +%Backus-Naur Form allows us to condense several productions into one +%compound production. +%Thus, the productions +%\begin{eqnarray*} +% &->&"a""c"\\ +% &->&"a""c" +%\end{eqnarray*} +%are condensed into the single production +%$$->"a"(|)"c".$$ +%It indicates certain {\em alternatives\/} in the replacement. +% +%Similarly, the two productions +%\begin{eqnarray*} +% &->&"a""c""c"\\ +% &->&"a""c" +%\end{eqnarray*} +%can be condensed into +%$$->"a"["c"]"c".$$ +%This indicates that a substring $s$ in the replacement string +%is {\em optional}. We have the alternative form +%$$->"a"("c"|\Empty)"c".$$ +% +% +%A more complex case is that of an unlimited number of repetitions of a +%substring. For instance, identifiers are often defined as consisting of +%a letter followed by arbitrarily many letters and digits. +%An example might then be +%\begin{eqnarray*} +% &->&\\ +% &->&\Empty\\ +% &->&\\ +% &->& +%\end{eqnarray*} +%where it is assumed that these are the only productions that use the +%non-terminal $$. The above productions are condensed into +%$$->{@ |}.$$ +% +%Further notation is used to express the fact that the string $w_2$ is +%obtained from the string $w_1$ by the use of just one substitution defined +%by one production. We write $w_1=>w_2$. If $w_2$ is obtainable from $w_1$ +%by a sequence of substitutions we write $w_1=>^*w_2$. +%\end{bnf} +% +%\section{The macros} +%The macros in "bnf.sty" can be used in one of two ways. +%The first is to use the long forms of the commands to generate the +%BNF notation. These only work in mathematics mode. +% +%The second is to +%surround the block where BNF notation is required within a "bnf" +%environment, or to use the command "\bnf" locally or globally. +%In either case, the effect is to change the meaning of certain characters +%in the input stream when they are met in mathematics mode. This makes +%it possible to use the short forms of the commands. +% +%We first describe the long forms of the commands. +% +%The notation $\begin{NonTerminal}non terminal\end{NonTerminal}$ +%is produced by the environment "NonTerminal", +%surrounding the name of the symbol. Spaces in the name are respected, and +%the font used is governed by the definition of "\NonTerminalStyle". +% +%A terminal letter or string is produced by the command "\Terminal", +%which equates to "\verb*" in \LaTeX; thus \verb*|\Terminal"xy z"| +%produces $\Terminal"xy z"$, and \verb*|\Terminal`"`| +%produces~$\Terminal`"`$. +%By redefining the commands "\PreTerminal" and "\PostTerminal", the +%terminal strings can be started and ended with given strings; for instance, +%we might want all such terminal strings to begin and end with a +%double quote symbol. We could achieve this by means of the following +%definitions. +%\begin{verbatim} +% \def\PreTerminal{\mbox{\tt"}} \let\PostTerminal\PreTerminal +%\end{verbatim} +%The empty string $\Empty$ is generated +%by "\Empty". +% +%The production symbol $\Production$ is produced by "\Production", while +%"\Yields" yields $\Yields$. The alternative symbol $\OR$ is "\OR", +%and the optional brackets $\Optional w_1\endOptional$ are generated by +%the environment "Optional". Environment "Star" will generate the +%repetition braces $\Star w_2\endStar$. Ordinary round meta-brackets +%$\Bracket w_3\endBracket$ are generated by the "Bracket" environment. +% +%Here is an example, taken from Modula-2. +%\begin{verbatim} +%$$ \begin{NonTerminal}Case Statement\end{NonTerminal} +% \Production\Terminal"CASE" +% \begin{NonTerminal}expression\end{NonTerminal} +% \Terminal"OF" +% \begin{NonTerminal}case\end{NonTerminal} +% \begin{Star} +% \Terminal"|"\begin{NonTerminal}case\end{NonTerminal} +% \end{Star} +% \begin{Optional} +% \Terminal"ELSE" +% \begin{NonTerminal}Statement Sequence\end{NonTerminal} +% \end{Optional} +% \Terminal"END" $$ +%\end{verbatim} +%{\small +%$$ \begin{NonTerminal}Case Statement\end{NonTerminal} +% \Production\Terminal"CASE" +% \begin{NonTerminal}expression\end{NonTerminal} +% \Terminal"OF" +% \begin{NonTerminal}case\end{NonTerminal} +% \begin{Star} +% \Terminal"|"\begin{NonTerminal}case\end{NonTerminal} +% \end{Star} +% \begin{Optional} +% \Terminal"ELSE" +% \begin{NonTerminal}Statement Sequence\end{NonTerminal} +% \end{Optional} +% \Terminal"END" $$ +%}% +% +%\begin{bnf} +%The short forms are now described. We can get $$ by typing "", +%and +%\DeleteShortVerb\" +%$"ab c"$ +%\MakeShortVerb\" +%by typing \verb*|"ab c"| or \verb*|`ab c`|. The pairs "->" and "=>" give +%$->$ and $=>$ respectively, and $[s_1](s_2|s_3)$ is obtained by +%typing "[s_1](s_2|s_3)". Notice that these yield "\left" and "\right" +%style brackets. The Star environment ${@w}$ can be produced by +%"{@w}". There seemed to be no obvious way to obtain this one +%directly from the braces. The "@" symbol produces a "Star" group +%starting at the current point and ending at the end of the current group. +%Thus, it must be used within grouping brackets "{" and~"}". +% +%There is another restriction on the use of "@". Because we might also want to +%produce $@<$ and $@>$ in some BNF text, these can be obtained by using +%the pairs "@<" and "@>". An alternative that is provided is to use +%"\lt" and~"\gt". Otherwise "<" and ">" will attempt to open and close +%a "NonTerminal" environment, probably unsuccessfully. +%\end{bnf} +% +%Here are some examples of the short forms. +%\begin{verbatim} +%\begin{bnf} +% \begin{eqnarray*} +% & -> & | \\ +% & ->& | "="_{12}\\ +% &->&"\def"|"\gdef"|"\edef"|"\xdef"\\ +% &->&\\ +% &&|\\ +% &&|"'"_{12}\\ +% &&|`"`_{12}\\ +% &&|"`"_{12}\\ +% &->& "a" \\ +% &->&\Empty\\ +% &->& "b" \\ +% &->&{@ a{@ b{@ c{@ d{@ e}}}}}\\ +% &->& ["c"{@"ab"}"d"] | {@ {@"aba"}["d"]{@"baab"}} +% \end{eqnarray*} +%\end{bnf} +%\end{verbatim} +%\begin{bnf} +% \begin{eqnarray*} +% & -> & | \\ +% & ->& | "="_{12}\\ +% &->&"\def"|"\gdef"|"\edef"|"\xdef"\\ +% &->&\\ +% &&|\\ +% &&|"'"_{12}\\ +% &&|`"`_{12}\\ +% &&|"`"_{12}\\ +% &->& "a" \\ +% &->&\Empty\\ +% &->& "b" \\ +% &->&{@ a{@ b{@ c{@ d{@ e}}}}}\\ +% &->& ["c"{@"ab"}"d"] | {@ {@"aba"}["d"]{@"baab"}} +% \end{eqnarray*} +%\end{bnf} +% +%\StopEventually{} +%\section{Implementation of the long forms} +%The "NonTerminal" environment is easy to implement. +%We set nonterminal letters in roman by default, that is, maths family~0, +%and make sure that spaces are respected. The boolean is there to +%make the checking of the short forms easier later. Certain characters +%can be excluded from the text of a nonterminal, and an error message +%issued if they are encountered. +% \begin{macrocode} +\newif\ifnonterminal +\def\NonTerminal{\left\langle\obeyspaces\ControlSpaces + \nonterminaltrue\NonTerminalStyle} +\def\endNonTerminal{\right\rangle} +\def\NonTerminalStyle{\fam0 } +{\obeyspaces\gdef\ControlSpaces{\let =\ }} +% \end{macrocode} +% +%The "Star", "Optional" and "Bracket" environments are all similar. +%A small amount of extra space has been introduced round each, +%to improve their appearance. +% \begin{macrocode} +\def\Star{\,\left\{} \def\endStar{\right\}\,} +\def\Optional{\,\left[} \def\endOptional{\right]\,} +\def\Bracket{\,\left(} \def\endBracket{\right)\,} +% \end{macrocode} +% +%The single symbols have easy definitions. +% \begin{macrocode} +\def\OR{\mathop{\left|\right.}\nolimits} +\def\Production{\mathrel{\longrightarrow}} +\def\Yields{\mathrel{\Longrightarrow}} +\def\Empty{\varepsilon} +% \end{macrocode} +% +%By far the most difficult effect to produce is that of a terminal. +%We could make "\Terminal" expand to "\verb*", but that prevents us +%from including extra text before and after the terminal string. +%Thus a definition similar to that of "\verb*" from NFSS is included. +% \begin{macrocode} +\begingroup + \catcode`\`=\active + \gdef\TerminalFont{\tt \catcode96\active + \def`{\leavevmode\kern\z@\char96 }} +\endgroup +\begingroup + \catcode`\~=\active + \lccode`\~=`\^^M + \lowercase{\endgroup + \gdef\Terminal{\relax\PreTerminal + \ifmmode \hbox \else \leavevmode\null \fi + \bgroup + \TerminalFont + \catcode`~\active + \def~{\egroup\@latexerr{Terminal string ended by + end of line.}\@ehc}% + \let\do\@makeother \dospecials + \@sTerminal}} +\def\@sTerminal#1{% + \catcode`#1\active + \lccode`\~`#1% + \lowercase{\def~{\egroup\PostTerminal}}}% +% \end{macrocode} +%The default leading and trailing text is defined to be empty. +% \begin{macrocode} +\def\PreTerminal{} \def\PostTerminal{} +% \end{macrocode} +% +%\section{Implementation of the short forms} +% +%Our first task is to make $<$ and $>$ available as mathematical symbols. +% \begin{macrocode} +\mathchardef\lt="313C \mathchardef\gt="313E +% \end{macrocode} +%The next task is more subtle, and at first puzzled the author when he +%tried to make a preliminary version of these macros work. +%The problem is that we are making "-" into an active character. +%If we do this we find that it tries to expand in text as well, and so +%we make sure that it only expands in maths mode. +%Our objective is to make "->" expand to $\Production$, but here is +%where things go wrong. In plain \TeX, the control sequence +%"\longrightarrow" is defined to expand to a "\relbar" and a "\rightarrow". +%In turn, a relbar expands to yield a "-" again, and so we are in an +%infinite loop. +% +%The solution seems to be to abandon the definition of "\relbar" in +%plain \TeX\ and produce our own. The same applies to "=" and "\Relbar". +%We also make a hyphen available for use within nonterminals. +% \begin{macrocode} +\mathchardef\HYPHEN="2D \mathchardef\MINUS="2200 +\mathchardef\Relbar="303D \def\relbar{\mathrel{\smash{\MINUS}}} +\mathchardef\EQUALS="303D +% \end{macrocode} +% +%We next define "\bnf" to set the mathcodes of the characters we wish to +%use to the active value \verb|"8000|. Thus in text they will behave as +%normal characters, but in mathematics they will expand as though they were +%active characters. We also allow "bnf" to be an environment. +% \begin{macrocode} +\def\mathactive{"8000} +\def\bnf{% + \mathcode`"=\mathactive + \mathcode`[=\mathactive \mathcode`\]=\mathactive + \mathcode`(=\mathactive \mathcode`\)=\mathactive + \mathcode`|=\mathactive \mathcode`-=\mathactive + \mathcode`<=\mathactive \mathcode`\>=\mathactive + \mathcode`@=\mathactive \mathcode`==\mathactive + \mathcode96 \mathactive +} +\def\endbnf{} +% \end{macrocode} +% +%Several characters are not allowed to appear in nonterminal names, +%and so we define an error message to warn the user. +% \begin{macrocode} +\def\NotInNonTerminal{\errmessage{Not allowed in a non-terminal}} +% \end{macrocode} +% +%Several of our mathactive characters have similar definitions; +%we use this fact to allow some condensation of our file. +% \begin{macrocode} +\def\NotNTdef#1#2{\gdef#1{\ifnonterminal\NotInNonTerminal\else#2\fi}} +% \end{macrocode} +% +%The expansion text of all our mathactive characters must be defined +%inside a group in which they are all active. +% \begin{macrocode} +\begingroup + \catcode`"\active + \catcode`[\active \catcode`\]\active + \catcode`(\active \catcode`\)\active + \catcode`|\active \catcode`-\active + \catcode`<\active \catcode`>\active + \catcode`@\active \catcode`=\active + \catcode96 \active +% \end{macrocode} +%First we have the two short forms of "\Terminal". +% \begin{macrocode} + \gdef"{\Terminal"}% + \gdef`{\Terminal`}% +% \end{macrocode} +%Next a block of definitions of characters which are illegal inside +%nonterminals. +% \begin{macrocode} + \NotNTdef[\Optional \NotNTdef]\endOptional + \NotNTdef(\Bracket \NotNTdef)\endBracket + \NotNTdef|\OR \NotNTdef<\NonTerminal +% \end{macrocode} +%The end of a nonterminal has to be defined directly, of course. +% \begin{macrocode} + \gdef>{\endNonTerminal}% +% \end{macrocode} +%A "-" character in a nonterminal is just a hyphen, but otherwise it +%could possibly be a production arrow. +% \begin{macrocode} + \gdef-{% + \ifnonterminal + \def\Nnext{\HYPHEN}% + \else + \def\Nnext{\futurelet\Next\SeeIfProdn}% + \fi\Nnext} +% \end{macrocode} +%The "=" character, on the other hand, should not appear in a nonterminal. +%Otherwise, it could be a yields arrow. +% \begin{macrocode} + \gdef={% + \ifnonterminal + \def\Nnext{\NotInNonTerminal}% + \else + \def\Nnext{\futurelet\Next\SeeIfYields}% + \fi\Nnext}% +% \end{macrocode} +%The "@" character should examine the next character to see whether it should +%be given a special treatment. +% \begin{macrocode} + \gdef@{% either an escape char or a star group + \ifnonterminal + \def\Nnext{\NotInNonTerminal}% + \else + \def\Nnext{\futurelet\Next\SeeIfSpecial}% + \fi\Nnext}% +\endgroup +% \end{macrocode} +% +%All that remains now is to see that the checks used above +%are defined. First we have the check for a production. +% \begin{macrocode} +\def\SeeIfProdn{% + \if\noexpand\Next\noexpand>% + \def\Nnext{\Production\@gobble}% + \else + \def\Nnext{\MINUS}% + \fi + \Nnext} +% \end{macrocode} +%Second we have the check for a yields. +% \begin{macrocode} +\def\SeeIfYields{% + \if\noexpand\Next\noexpand>% + \def\Nnext{\Yields\@gobble}% + \else + \def\Nnext{\EQUALS}% + \fi\Nnext} +% \end{macrocode} +%Finally the "@" character must produce a "Star" environment unless it +%is immediately followed by "<" or~">". +% \begin{macrocode} +\def\SeeIfSpecial{% + \if\noexpand\Next\noexpand<% + \def\Nnext{\lt\@gobble}% + \else + \if\noexpand\Next\noexpand>% + \def\Nnext{\gt\@gobble}% + \else + \def\Nnext{\Star\bgroup\aftergroup\endStar\aftergroup\egroup}% + \fi + \fi\Nnext} +% \end{macrocode} +%\Finale + +%\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Dr M J Piff %% e-mail: +%% Department of Pure Mathematics %% +%% University of Sheffield %% M.Piff@sheffield.ac.uk +%% Hicks Building %% M.Piff@pa.shef.ac.uk +%% Hounsfield Road %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% SHEFFIELD S3 7RH %% Telephone: SHEFFIELD (0742) 768555 +%% England %% Ext. 4431 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/obsolete/macros/latex209/contrib/curves/curves.sty b/obsolete/macros/latex209/contrib/curves/curves.sty new file mode 100644 index 0000000000..81c4169eb0 --- /dev/null +++ b/obsolete/macros/latex209/contrib/curves/curves.sty @@ -0,0 +1,522 @@ +% curves.sty version 1.42 for LaTeX 2.09, SLiTeX, and LaTeX2e. +% I.L. Maclaine-cross, The University of New South Wales. +% Internet: i.maclaine-cross@unsw.edu.au +\typeout{Document Style Option `curves' <12 August 2000>} +% Draws curves in LaTeX picture environment using parabolas between points +% with continuous slope at points. Equivalent to technical pens with +% compasses and French curves. +% A Command Summary is at the end of this file. +% +% curvesls.sty is a faster equivalent requiring less memory which uses +% straight line drawing \specials like emTeX's. + +% Make `;' appear like a letter so control sequences can use it and they +% will not be accidently used by other macro packages. +\catcode`\;=11 + +\newcount\;sc % number of symbols on Bezier segment +\newcount\;scp +\newcount\;t +\newcount\;cc % coordinate count +\newcount\;cnd % actual point count to next dot +\newcount\;mcnd % maximum point count to next dot +\newcount\;np +\newcount\;overhang +\newcount\;pns +\newcount\;psc % maximum dot spacing on line in sp. +\newcount\;pbs +\newcount\;rc +\newcount\;rtc +\newcount\;tc +\let\;tca=\@tempcnta +\let\;tcb=\@tempcntb + +\newdimen\csdiameter +\newdimen\curvelength +\newdimen\overhang \overhang\z@ +\newdimen\;dx +\newdimen\;ddx +\newdimen\;dy +\newdimen\;ddy +\newdimen\;pl \;pl\z@ +\newdimen\;ucd +\newdimen\;y +\let\;td=\@tempdima +\let\;ytd=\@tempdimb + +\newsavebox{\;csbox} +\newsavebox{\;pt} + +\newif\ifcurvewarn \curvewarntrue % Warn about curve problems +\newif\if;ccn % coordinate number correct +\newif\if;pt % plot points if true +\newif\if;csym % curve symbol defined +\newif\if;scnt % symbol or pattern count <>0 + +\newhelp\;strline{curve straight from} +\newhelp\m;ssingcoord{curve needs more points, add them.} +\newhelp\;negdash{curvedashes needs the same sign for all arguments.} +\newhelp\;oddcoord{curve requires two co-ordinates for each point, + count them.} + +\newcommand\arc{\@ifnextchar[\;arc{\;arc[0]}} +\newcommand\;arc{} +\def\;arc[#1](#2,#3)#4{\;setpoint{#1}\scaleput(#2,#3){\;ddx-#3\unitlength + \;ddy#2\unitlength \;firstpoint \;td#4\p@ \;drwarc}} + + +% Redefines version in LaTeX 2e of 1 June 1994. +\def\bezier#1)#2(#3)#4({\@bezier#1)(#3)(} +\def\@bezier#1(#2,#3)(#4,#5)(#6,#7){\;dx#4\unitlength \;ddx-\;dx + \advance\;dx-#2\unitlength \advance\;ddx#6\unitlength \;dy#5\unitlength + \;ddy-\;dy \advance\;dy-#3\unitlength \advance\;ddy#7\unitlength + \;setpoint{#1}\scaleput(#2,#3){\;firstpoint \;bezier}} + +\newcommand\bigcircle{\@ifnextchar[\;bgcrcl{\;bgcrcl[0]}} +\newcommand\;bgcrcl{} +\def\;bgcrcl[#1]#2{\;setpoint{#1}\;dx\unitlength \global\divide\unitlength\tw@ + \scaleput(#2,0){\;ddx\z@ \;ddy#2\unitlength \global\unitlength\;dx \;td360\p@ + \;drwarc}} + +\newcommand\closecurve{\@ifnextchar[\;closecurve{\;closecurve[0]}} +\newcommand\;closecurve{} +\def\;closecurve[#1](#2){\;coordn\closecurve\thr@@{#2}{#1}% + \if;ccn\scaleput(\;xb,\;yb){\edef\;ci{\;xa,\;ya,#2,\;xb,\;yb,\;xc,\;yc}% + \advance\;cc\thr@@ \;tagcurve\;ci}\fi} + +\newcommand\curve{\@ifnextchar[\;curve{\;curve[0]}} +\newcommand\;curve{} +\def\;curve[#1](#2){\;coordn\curve\tw@{#2}{#1}% + \if;ccn \scaleput(\;xa,\;ya){\;firstpoint + \ifnum\;cc=\tw@ \;slbezd \;slbez + \else \;scbezd\;dx\;ddx\;xa\;xb\;xc \;scbezd\;dy\;ddy\;ya\;yb\;yc + \;bezier \;tagcurve{#2}\ifnum\;cc>6\;endcurve\fi \fi}\fi} +\newcommand\;scbezd[5]{\;slcd#2#3#5\divide#24\;slcd#1#3#4\advance#1-#2} +\newcommand\;xa{} \newcommand\;xb{} \newcommand\;xc{} +\newcommand\;ya{} \newcommand\;yb{} \newcommand\;yc{} +\newcommand\;ci{} + +\newcommand\curvesymbol[1]{\def\;curvesymbol{#1}\ch;ckcs + \global\setbox\;csbox\hbox{#1}\csdiameter\wd\;csbox} +\newcommand\;curvesymbol{} \def\;curvesymbol{} + +\newcommand\curvedashes{\@ifnextchar[\;crvdshs{\;crvdshs[\unitlength]}} +\newcommand\;crvdshs{} +\def\;crvdshs[#1]#2{\;ucd#1\def\;icurvedashes{#2}\;ccnfalse \;pl\z@ + \@for \;ci:=#2\do{\ifdim\;ci\;ucd<\z@ \;ccntrue \@latexerr{\string + \curvedashes\space sign bad at \;ci}{\the\;negdash ^^J\@eha}% + \else \advance\;pl\;ci\;ucd \fi}\if;ccn\;pl\z@\fi} +\newcommand\;icurvedashes{} + +\newcommand\diskpitchstretch{\@ne} + +\newcommand\tagcurve{\@ifnextchar[\;tgcrv{\;tgcrv[0]}} +\newcommand\;tgcrv{} +\def\;tgcrv[#1](#2){\;coordn\tagcurve\thr@@{#2}{#1}\if;ccn + \scaleput(\;xb,\;yb){\;firstpoint \;tagcurve{#2}}\fi} + +\newcommand\scaleput{} +\long\def\scaleput(#1,#2)#3{\@killglue \;td#2\unitlength + \raise\yscale\;td \hbox to \z@{\kern\xscaley\;td \;td#1\unitlength + \kern\xscale\;td \raise\yscalex\;td \hbox{#3}\hss}\ignorespaces} +\newcommand\xscale{\@ne} +\newcommand\xscaley{0} +\newcommand\yscale{\@ne} +\newcommand\yscalex{0} + +% Plot first point if any. +\newcommand\;firstpoint{\ifdim\;pl=\z@\;point\fi} + +% Calculates segment count, sine, cosine and differences then plots segments. +\newcommand\;drwarc{\;cc\;td \;np\;td \;td23\p@ \divide\;cc\;td + \;abs\;cc \advance\;cc\@ne \;pns\p@ \divide\;pns\tw@ + \divide\;np\;cc \;rc\;np \divide\;rc\;pns \;abs\;rc + \advance\;rc\@ne \divide\;np\;rc \multiply\;np\;pns \divide\;np14668 % + \multiply\;np\;rc \divide\;np\@cclvi \;scp\p@ \multiply\;scp\@cclvi + \;t\;pns \;csi\;csi\;csi\;csi \;rxy\;ddx\;ddy \divide\;rc\p@ + \advance\;rc\@ne \;rtc\;rc \advance\;rc\;rc \;ndd\;ddx \;ndd\;ddy + \;csi \;rxy\;ddx\;ddy \divide\;rc\;pns \advance\;rc\@ne + \@whilenum\;cc>\z@ \do{\advance\;cc\m@ne \;dx\;ddx \;dy\;ddy + \divide\;ddx\;rc \divide\;ddy\;rc \;td\;ddx \;ddx\;t\;td + \advance\;ddx-\;np\;ddy \;ddy\;t\;ddy \advance\;ddy\;np\;td + \divide\;ddx\;pns \divide\;ddy\;pns \;ddx\;rc\;ddx \;ddy\;rc\;ddy + {\;bezier \global\;ytd\;y \global\;tca\;overhang}\;y\;ytd \;overhang\;tca}} +\newcommand\;ndd[1]{\divide#1\;rc \multiply#1\;np \divide#1\;t #1\;rtc#1} +% Cosine and sine half angle iteration. +\newcommand\;csi{\;tcb\;np \multiply\;np\;t \divide\;np\;pns \;t\;tcb + \multiply\;t\;t \divide\;t-\;scp \advance\;t\;pns \divide\;scp4 } + +% Count the number of co-ordinate specified and warns if incorrect. +\newcommand\;coordn[4]{\;setpoint{#4}\ifx#1\closecurve\;cc\tw@\else\;cc\z@\fi + \@for\;ci:=#3\do{\advance\;cc\@ne + \ifcase\;cc \or \;d;f\;xa \or \;d;f\;ya \or \;d;f\;xb + \or \;d;f\;yb \or \;d;f\;xc \or \;d;f\;yc \fi + \ifx#1\closecurve\ifodd\;cc \;d;f\;xa \else \;d;f\;ya \fi\fi}% + \;ccnfalse \ifx#1\closecurve \advance\;cc-\tw@ \fi + \ifodd\;cc \@latexerr{\string #1\space points odd}{\the\;oddcoord ^^J\@eha}% + \else \divide\;cc\tw@ + \ifnum#2>\;cc \@latexerr{\string #1 needs \the#2 points}% + {\the\m;ssingcoord ^^J\@eha}% + \else \;ccntrue \fi\fi} + +% Sets symbol, character or disk depending on how line is to be plotted. +% Corrects overhang to be positive or zero but no greater than \;pl. +\newcommand\;setpoint[1]{\curvelength\z@ \def\;po;nt{\raise\;y\copy\;pt}\ch;ckcs + \ifnum#1=\z@\;scntfalse\else\;scnttrue\fi \;sc#1\relax \;abs\;sc \;psc\;sc + \ifdim\;pl>\z@ \;overhang\overhang + \ifnum\;overhang=\z@\else \;np\;overhang \divide\;np\;pl \multiply\;np\;pl + \ifnum\;overhang<\z@ \advance\;overhang\;pl + \else \ifnum\;overhang=\;np\advance\;overhang\;pl\fi + \fi \advance\;overhang-\;np + \fi \if;csym \if;scnt\;setdisk\else\;setsymbol\;td\p@\fi \else \;setdisk \fi + \s;tpitch + \else\ifnum#1>\z@ \s;tcirc{\hss\vrule\@height\@wholewidth\@width\@wholewidth}% + \else\ifnum#1<\z@ \if;csym\;setsymbol\else\set;pt{}\fi + \else \;setdisk \s;tpitch \fi\fi\fi + \edef\;point{\;po;nt}\;y\dp\;pt \advance\;y-\ht\;pt \divide\;y\tw@} +\newcommand\;setsymbol{\s;tcirc{\hss\unhcopy\;csbox}\edef\;po;nt{\;po;nt + \s;tcirc{\hss\noexpand\noexpand\noexpand\;curvesymbol}% + \global\setbox\;csbox\copy\;pt}} +\newcommand\s;tpitch{\;td\diskpitchstretch\;td \;psc\;td} +\newcommand\;po;nt{} \newcommand\;point{} + +% Sets LaTeX disk character and calculates maximum spacing or selects period. +\newcommand\;setdisk{\ifdim\@halfwidth>.85\p@ + \s;tcirc{\@circ{\@wholewidth}{112}}\;td\@wholewidth + \divide\;td 8\advance\;td.6\p@ \ifdim\;td>\thr@@\p@\;td\thr@@\p@\fi + \else \;setperiod \fi}% + +% OFSS, SLiTeX or NFSS version for period selected at load time. +% NFSS fix requested by Peter Vanroose and +% Michel Goossens who also supplied a workable patch. +\@ifundefined{selectfont}{\@ifundefined{fourteenrm}{% +\newcommand\;setperiod{\ifdim\@halfwidth>.6\p@ \let\;ci\svtnrm \;td.7\p@ + \else\ifdim\@wholewidth>.85\p@ \let\;ci\twlrm \;td.48\p@ + \else \ifdim\@wholewidth>.6\p@ \let\;ci\egtrm \else \let\;ci\fivrm \fi + \;td.34\p@ \fi\fi \s;tcirc{\;ci\hss.}}% + }{% +\newcommand\;setperiod{\;td.7\p@ \s;tcirc{\fourteenrm\hss.}}% + }}{% +\newcommand\;setperiod{% + \ifdim\@halfwidth>.6\p@ \;tcb17\;td.7\p@ + \else\ifdim\@wholewidth>.85\p@ \;tcb12\;td.48\p@ + \else \ifdim\@wholewidth>.6\p@ \;tcb8\else \;tcb5\fi \;td.34\p@ \fi\fi + \s;tcirc{\rm \fontseries m\fontshape n\fontsize{\the\;tcb}\p@ + \selectfont \hss.}}% + } + +% Check if curvesymbol exists and set switch. +\newcommand\ch;ckcs{\ifx\;curvesymbol\@empty\;csymfalse\else\;csymtrue\fi} + +% Makes zero width box \;pt of point +\newcommand\s;tcirc[1]{\set;pt to\z@{#1\hss}} + +% Set global box \;pt +\newcommand\set;pt{\global\setbox\;pt\hbox} + +% Plots last segment of curve from coordinates already read. +\newcommand\;endcurve{\;ecbezd\;dx\;ddx\;xa\;xb\;xc + \;ecbezd\;dy\;ddy\;ya\;yb\;yc \;bezier} +\newcommand\;ecbezd[5]{\;slcd#1#3#5\divide#14 #2-#1\advance#2#5\unitlength + \advance#2-#4\unitlength} + +% Reads coordinates of four points before going to difference calculation. +\newcommand\;tagcurve[1]{\ifnum\;cc=\thr@@ \;endcurve \else \;cc\z@ + \@for\;ci:=#1\do{\advance\;cc\@ne \ifnum\;cc>6 % + \ifodd\;cc \;slcd\;dx\;xa\;xc \let\;xa\;xb \let\;xb\;xc \;d;f\;xc + \else \t;gcrv \fi \fi}\fi} + +% Calculates differences over whole segment from four points. +\newcommand\t;gcrv{\;slcd\;dy\;ya\;yc \let\;ya\;yb \let\;yb\;yc \;d;f\;yc + \;rxy\;dx\;dy \divide\;dx\;rtc \divide\;dy\;rtc + \;ddx-\;ya\;dx \advance\;ddx\;xa\;dy \;ddy\;ddx + \advance\;ddx\;yb\;dx \advance\;ddx-\;xb\;dy + \advance\;ddy\;yc\;dx \advance\;ddy-\;xc\;dy + \;slbezd \;td\;ddy \divide\;td\@m + \ifdim\;td=\z@ \ifcurvewarn + \@warning{\the\;strline \;xa,\;ya\space to \;xb,\;yb}\fi \;slbez + \else \;td\unitlength \;rtc\;td \advance\;rtc\;rtc + \divide\;rtc\p@ \advance\;rtc\@ne \divide\;td\;rtc + \;t\;ddx \;scp\;t \;abs\;t + \advance\;t\;t \divide\;t\p@ \advance\;t\@ne \divide\;scp\;t + \multiply\;td\;scp \divide\;td\;ddy \multiply\;td\;rtc \multiply\;td\;t + \;ddx\;xc\;td \advance\;ddx-\;xa\;td \advance\;dx-\;ddx + \;ddy\;yc\;td \advance\;ddy-\;ya\;td \advance\;dy-\;ddy \;bezier \fi} + +% Avoid repeating {\;ci} +\newcommand\;d;f[1]{\edef#1{\;ci}} + +\newcommand\;slbezd{\;slcd\;dx\;xa\;xb \;slcd\;dy\;ya\;yb} + +% Calculates difference between two coordinates. +\newcommand\;slcd[3]{#1#3\unitlength \advance#1-#2\unitlength} + +% Calculates differences for bezier straight line. +\newcommand\;slbez{\divide\;dx\tw@ \;ddx\;dx \divide\;dy\tw@ \;ddy\;dy \;bezier} + +% Scales segment differences, then calculates segment pattern and disk count, +% and initial disk differences; selects line or dashes. +\newcommand\;bezier{\;scale\;dx\;dy \;scp\;rc \;np\;rc \;scale\;ddx\;ddy + \ifnum\;rc>\;np\;np\;rc\fi \advance\;np\;np + \advance\;scp\;rc \;bezc\;dx\;ddx \;bezc\;dy\;ddy \;rxy\;ddx\;ddy + \divide\;rc\p@ \advance\;rc\thr@@ + \;tc\;rc \;sroot\;sroot\;sroot \;tca\;rc \;rxy\;dx\;dy + \advance\;rc\;scp \divide\;rc\thr@@ \global\advance\curvelength\;rc sp% + \divide\;np\;psc \ifnum\;np<\@ne\;np\@ne\fi \;t\;np + \if;scnt\ifdim\;pl=\z@ \;t\;sc + \else\;np + \if;csym \;rc \divide\;np\;sc \advance\;np-\csdiameter + \;td\;pl \divide\;td\tw@ \advance\;np\;td \divide\;np\;pl + \ifnum\;np<\@ne\;np\@ne\fi \multiply\;np\;sc + \else \;sc \fi \advance\;t\;np \divide\;t\;np \multiply\;t\;np + \fi \fi + \ifnum\;t>\;tca \;mcnd\;t \divide\;mcnd\;tca \else \;mcnd\@ne \;tca\;t \fi + \;tc\;t \advance\;tc\;tc \;rtc\;tc + \;tcb\;tca \advance\;tcb\@ne \multiply\;tcb\;mcnd \advance\;rtc-\;tcb + \multiply\;rtc\;tca \;tcb\;t \multiply\;tcb\;tcb \divide\;tcb\;mcnd + \;bezd\;dx\;ddx \;bezd\;dy\;ddy \edef\;tplot{\;po;nts}\;cnd\;mcnd + \ifdim\;pl>\z@ \;dashes \else \;points \fi} +\newcommand\;scale[2]{\;td\xscale#1\advance\;td\xscaley#2% + #2\yscale#2\advance#2\yscalex#1#1\;td \;rxy#1#2} +\newcommand\;bezc[2]{\advance#1#1\advance#2#2\;td#2\advance#2-#1\advance#1\;td} +\newcommand\;bezd[2]{\divide#2\;tcb \;td#2\multiply\;td\;rtc \advance#1-\;td + \divide#1\;tc} + +% Calculates length of vector \;rc from coordinates #1,#2 +\newcommand\;rxy[2]{\;tc#1\;abs\;tc \;tcb#2\;abs\;tcb + \;rc\;tc \advance\;rc\;tcb + \ifnum\;rc>\z@ \;rtc\;rc \advance\;rtc\;rtc \divide\;rtc\p@ + \ifnum\;rtc>\z@ \advance\;rtc\@ne \divide\;tc\;rtc + \divide\;tcb\;rtc \divide\;rc\;rtc + \else \;rtc\@ne \fi \multiply\;tc\;tc \multiply\;tcb\;tcb + \advance\;tc\;tcb \;sroot \multiply\;rc\;rtc \fi} + +% Replaces argument by magnitude +\newcommand\;abs[1]{\ifnum#1<\z@ #1-#1\fi} + +% Iteration of square root calculation by Newton's method. +\newcommand\;sroot{\;rroot\;rroot\;rroot} +\newcommand\;rroot{\;tcb\;tc \divide\;tcb\;rc \advance\;rc\;tcb \divide\;rc\tw@} + +% Variable uses in \;dashes, \;scdashes, \;nscdashes, \;pdashes and \;dash. +% counts +% \;scp = distance between points. +% \;rc = length of Bezier segment. +% \;rtc = total points in Bezier segment. +% \;np = number of whole patterns in Bezier segment or scratch. +% \;overhang = of dash pattern past symbol or end of segment. +% \;pbs = total points between symbols +% \;pns = points to next symbol or dot. +% \;tc = number of points to blank for curve symbol. +% \;tcb = number of points along pattern. +% dimens +% \;pl = length of dash pattern. +% \;ucd = dash pattern unit length. + +% Initializes dash plot for segment and selects symbol count alternative. +\newcommand\;dashes{\let\;ticd\;icurvedashes \let\;tucd\;ucd \divide\;rc\;t + \;rtc\;t \;tc\;rc \advance\;tc\csdiameter \divide\;tc\;rc + \divide\;tc\tw@ \;t\;tc \multiply\;tc\tw@ \;ptfalse + \;pbs\;rc \divide\;pbs\tw@ \advance\;overhang\;pbs \divide\;overhang-\;rc + \if;scnt \;scdashes \else \;nscdashes \fi \multiply\;overhang\;rc} + +% Plots dash pattern when a nonzero symbol count is specified. +\newcommand\;scdashes{\;pbs\;rtc \divide\;pbs\;sc \;ccss \;scp + \if;csym \;pl \multiply\;scp\;np \divide\;scp\;sc \advance\;pbs-\;tc + \else \;pbs \multiply\;scp\;rc \fi \;np\;overhang \;overhang\z@ + \divide\;scp\;pbs \;tcb\z@ \;pns\;t \;dash \;overhang\;np + \if;csym\else \advance\;overhang-\;tcb \advance\;rtc-\;tcb + \advance\;pbs-\;tc \fi + \;pns\;pbs \advance\;pns-\;np \if;csym\else\advance\;pns\;tcb\fi + \@whilenum\;rtc>\z@\do{\;pdashes \;ptfalse \;t\;tc \;pns\;t \;dash + \;pns\;pbs \;overhang\if;csym\;np\else-\;overhang\fi + \advance\;pns-\;overhang}\;overhang-\if;csym\;np\else\;overhang + \;ptfalse \;t\;tc \;tcb\;overhang + \divide\;t\tw@ \;rtc\;t \;pns\;t \;dash \fi} + +% Plots symbols at natural pattern length but shrinks pattern to fit between. +\newcommand\;nscdashes{\advance\;pbs\;pl \divide\;pbs\;rc + \if;csym \;bpdashes \fi \;ccss \;pns\;t + \;dash \advance\;pbs-\;tc \;scp\;pl \divide\;scp\;pbs \;pns\;pbs + \@whilenum\;rtc>\z@\do{\;pdashes \;ptfalse \;t\;tc \;pns\;t \;dash + \;pns\;pbs}\if;csym \else \divide\;tc\tw@ \advance\;overhang\;tc \fi} + +% If large symbol spaces, blank curve. +\newcommand\;ccss{\ifnum\;pbs>\;tc\else \;bpdashes \fi} + +% A blank or symbol plotting dash pattern +\newcommand\;bpdashes{\let\;tucd\;pl \let\;ticd\;ricd \;tc\z@ \;t\z@} +\newcommand\;ricd{1,0} + +% Reads dash pattern plotting dashes and spaces up to next symbol space. +\newcommand\;pdashes{\ifnum\;pns>\z@ \;td\z@ \;tcb\z@ \;ptfalse + \@for\;ci:=\;ticd \do{\advance\;td\;ci\;tucd \;t\;scp \divide\;t\tw@ + \advance\;t\;td \divide\;t\;scp \advance\;t-\;tcb \;dash + \if;pt\;ptfalse\else\;pttrue\fi}% + \let\n;xt\;pdashes \else \let\n;xt\relax \fi \n;xt} + +% Checks if dash or space occurs before or after curve, calculates fractions. +\newcommand\;dash{\ifnum\;t=\z@ \if;csym\ifnum\;rtc>\z@\if;pt\;point\fi\fi\fi + \else \advance\;tcb\;t \advance\;pns-\;t + \ifnum\;overhang<\z@ \advance\;overhang\;t + \ifnum\;overhang<\z@ \;t\z@ \else \;t\;overhang \;overhang\;tcb \fi + \else \;overhang\;tcb \fi + \ifnum\;pns<\z@ \advance\;overhang\;pns \advance\;tcb\;pns + \advance\;t\;pns \;pns\z@ \fi \advance\;rtc-\;t + \ifnum\;rtc<\z@ \advance\;overhang\;rtc \advance\;t\;rtc\fi + \ifnum\;t>\z@ \if;pt\;point\;points\else\let\n;xt\;space\;space\fi \fi\fi} + +% Makes \;tplot then plots a single dash. +\newcommand\;points{\let\n;xt\;sdash \;sdash} +\newcommand\;sdash{\let\n;;t\;tplot \ifnum\;t<\;cnd \let\n;xt\relax + \advance\;cnd-\;t \;tca\;t \;tplot + \else \advance\;t-\;cnd \;tca\;cnd \;tplot + \advance\;dx\;ddx \advance\;dy\;ddy \;cnd\;mcnd + \fi \n;xt} + +% A fast single macro for drawing straight lines. +\newcommand\;tplot{} +\newcommand\;po;nts{\noexpand\ifnum\;tca>\z@ + \advance\;y\;dy \kern\;dx \;po;nt \advance\;tca\m@ne + \noexpand\else \let\noexpand\n;;t\relax \noexpand\fi \noexpand\n;;t} + +% Plots a single space at high speed. +\newcommand\;space{\ifnum\;t<\;cnd \let\n;xt\relax + \advance\;cnd-\;t \advance\;y\;t\;dy \kern\;t\;dx + \else \advance\;t-\;cnd \advance\;y\;cnd\;dy \kern\;cnd\;dx + \advance\;dx\;ddx \advance\;dy\;ddy \;cnd\;mcnd + \fi \n;xt} + +% Make `;' a punctuation mark again. + \catcode`\;=12 + +\endinput + +MODIFICATION HISTORY +-------------------- +1.0 26 June 1991 +1.1 8 Jan 1992 large \diskpitchstretch and maximum integer=2^30 - 1. +1.11 6 April 1993 Correct \@setdisk defined for SLiTeX. +1.12 20 April 1993 Scaling improved in \t@gcrv to allow large \curves. +1.13 23 April 1993 Calculation of differences corrected in \@bezier. +1.14 29 April 1993 Alignment of spaces improved in \@nscdashes, \overhang + normalized. +1.15 1 May 1993 Rounding errors in \nscdashes and \pdashes improved. +1.16 8 May 1993 Increased speed and dots corrected. +1.2 23 May 1993 Variable curve symbol introduced. +1.21 8 June 1993 \unitlength corrected in \bigcircle. +1.22 15 June 1993 \csb@x saves curve symbol, pattern selection rounded. +1.23 18 June 1993 test for bad point order tightened. 1st network release. + 2421 words of TeX main memory. +1.30 9 July 1993 2nd network release. + Bugs Fixed: + Blank curve if \csdiameter too large; + Thicknesses of thin curves set correct for 300dpi fonts; + Made compatible with NFSS of Mittelbach and Sch\"opf; + Transfer of \@y and \@overhang from inner loop of \@drwarc; + Missing \pt@false in \@ncsdashes and \@pdashes; + Check for zero \@np in \@bezier. + Improvements (?): + New internal macros to save tokens; + Uses LaTeX error messages and warnings; + Checks \curvedashes signs; + Potential conflicts with other macros reduced with new \@y, \@tc; + Warns more readily and replaces possible inflexions with straight line; + Some internal variable names rationalized. + 2410 words of TeX main memory with NFSS, 2400 with OFSS. +1.31 10 July 1993 \shape changed to \fontshape etc. for NFSS. +1.32 14 June 1994 3rd network release tested with LaTeX 2e of February 1994. +1.33 28 June 1994 4th network release tested with LaTeX 2e of 1 June 1994. + Redefines \bezier from June LaTeX 2e. + \@bezier renamed to \@Vbezier to avoid conflict with June LaTeX 2e. +1.40 20 August 1995 . + Bug Fixed: All curves use straight segments to reduce rounding error. + Improvements: + \curvewarnfalse stops warning of straight line use between points; + ; catcoded to character to protect internal names; + New internal macros save tokens and increase speed; + 1799 nett extra words of TeX main memory (LaTeX 2e 1995/6/1 pl1). +1.41 22 August 1995 5th network release tested with LaTeX 2e of 1 June 1995 + \edef\;tplot moved to speed dash plotting. +1.42 12 August 2000 6th Network release and last tested and + working with LaTeX 2.09. + +CURVES SUMMARY +-------------- +The commands following are for the picture environment in the LaTeX manual. + +Arguments of Commands: + decimal number of blank. Not negative. + is anything which a \put or \multiput may plot. + are decimal numbers giving alternate x and y coordinates of + the curve as multiples of \unitlength, comma separated. +<[,dash...]> optional continuation of alternating dash and blank numbers + of unit lengths, comma separated. Not negative. Decimals allowed. + is a decimal number giving the diameter in \unitlengths. + is the number of symbols or patterns to be plotted, default 0. + unit length dimension e.g., 2.5mm, 10pt, used in measuring + blanks and dashes. Not negative. Default value is \unitlength. + +Lengths used by Commands: +\csdiameter is the size of the space left for a symbol and can be + increased or set with \settowidth{\csdiameter}{}. +\curvelength is the total length of the curve calculated before drawing + by using Simpson's rule once between each pair of coordinate points. +\overhang length of as drawn dash pattern overlapping start of dashes. + +Control Commands: +\curvewarntrue warns every time a straight line is used between points + to avoid possible worse errors (default). +\curvewarnfalse use the straight line without warning. + +Parameter Setting Commands: +\curvesymbol{} sets symbol and \csdiameter. +\curvedashes[]{<[,dash...]>} Drawing commands before a + \curvedashes or after one with an empty or zero length pattern will draw: + if is zero or missing, a continuous curve; + else if is positive, -1 squares of line + thickness size between and additional squares at coordinates or bezier + end points; + else if no exists, nothing; + else, --1 characters or symbols between coordinates and + additional ones at coordinates or bezier end points. +After a \curvedashes command defining a pattern whose length exceeds + zero, commands draw: + if is zero or missing then at a spacing equal to the + specified pattern length, + if no exists, a dash pattern reduced in length + by \csdiameter to fit between symbol spaces of \csdiameter, + else if \overhang is not 0pt, a at all positions, + else a with the first position blank; + else, \csdiameter wide symbol spaces, one at and ||-1 between + coordinate points with dash pattern lengths, + if no exists, exact but broken by the spaces, + else, adjusted to give a whole number of patterns between spaces. +\diskpitchstretch is initially 1 but \renewcommand can change it to a higher + value like 5 to save memory in drafts of complex documents or a lower local + value like 0.5 to smooth curve digitization. +\linethickness{} sets line or dash thicknesses to from 0.5pt up to + 15pt (0.17mm to 5mm). \thicklines and \thinlines also set the thickness. +\xscale, \xscaley, \yscale and \yscalex are scale factors initially set to + 1, 0, 1 and 0 respectively which \renewcommand or \def can reset. + +Curve Drawing Commands: +Curves drawn consist of parabolic arcs between coordinate points with +tangents at each point parallel to the straight line through adjacent points. +\arc[](X1,Y1){} draws a circular arc centred on current + position, starting from (X1,Y1) and proceeding counterclockwise for + degrees. +\bezier{}(X1,Y1)(X2,Y2)(X3,Y3) draws a curve through the points + (X1,Y1) and (X3,Y3) tangent to the straight lines joining them to (X2,Y2). + Faster and more powerful replacement for bezier.sty version. +\bigcircle[]{} draws a circle of diameter equal to + times \unitlength. +\closecurve[]() draws a closed curve with continuous + tangents at all points. At least 6 coordinates required. +\curve[]() draws a curve through the specified + . For 4 coordinates this is a straight line. +\scaleput(X1,Y1){} places a picture object in a position + scaled by \xscale, \xscaley, \yscale and \yscalex for axonometric projection + or rotations. +\tagcurve[]() draws a curve without its first and + last segments but if only 6 coordinates draws the last segment only. \ No newline at end of file diff --git a/obsolete/macros/latex209/contrib/curves/curves.tex b/obsolete/macros/latex209/contrib/curves/curves.tex new file mode 100644 index 0000000000..32df0f162c --- /dev/null +++ b/obsolete/macros/latex209/contrib/curves/curves.tex @@ -0,0 +1,821 @@ + % To LaTeX this file requires curves.sty in the default or + % a texinputs directory. + % Requires 55000 word of TeX main memory. + \documentstyle[curves]{article} + \newcommand{\version}{1.42} + \pagestyle{headings} + \begin{document} + \title{Curves in \LaTeX\ Pictures\\ + A Manual for {\tt CURVES.STY} and {\tt CURVESLS.STY}\\Version \version} + \author{Ian Maclaine-cross\thanks{Current Internet address: {\tt +i.maclaine-cross@unsw.edu.au}}\\ + \small School of Mechanical and Manufacturing Engineering\\ + \small The University of New South Wales\\ + \small UNSW Sydney 2052, Australia} + \date{12th August 2000} + \maketitle + \thispagestyle{empty} + \tableofcontents + \section{Introduction} + Version \version\ is the last release of {\tt curves} tested with \LaTeX\ + 2.09. Future releases will be tested only with later versions of \LaTeX\ + and may be found in the directory tree for the later \LaTeX\ version. +Future {\tt curves} releases are unlikely to work with \LaTeX\ 2.09. + + The picture environment in the \LaTeX \footnote{Leslie Lamport, {\sl +\LaTeX\ A Document Preparation System 2nd ed.,} Addison-Wesley, 1994.} macro +package for \TeX \footnote{Donald E. Knuth, {\sl The \TeX book,} +Addison-Wesley, 1984.} allows simple line drawing using +characters. These characters include quadrant circular arcs, solid +disks with diameters from 1 to 15pt\footnote{A printer's point, +abbreviated pt, is approximately 0.351460 mm.} and short lines with a +limited range of slopes in two thicknesses. A \verb?\begin{picture}? +command defines an area where following commands place these +characters to draw a \LaTeX\ picture. + + \LaTeX\ pictures save disk space for source descriptions and +computer time in producing documents compared with printer commands or +bit mapped graphics. From initial pencil sketch on squared graph +paper to final printout, they take half the time for manual pen +drawings. The labor savings are higher for revisions and +rewrites. Unfortunately standard \LaTeX\ cannot yet draw curves like a +pen, compass and French curves can. + + Superimposing characters closely can draw any curve. Disks give directional +independence of line thickness and visual smoothness at large pitch. +Smoothness increases with output resolution but is almost independent of disk +pitch below a critical maximum. The following table suggests this maximum +varies from 0.34pt for an 0.5pt thick curve to 3pt for a 15pt curve. + \begin{center} + \setlength{\unitlength}{1pt} + \begin{tabular}{cccc} + Thickness & \makebox[3em][l]{Magnified} & Comments & Line at 1/6 slope \\ + \hline + 15pt & $\times1$ & 1pt pitch disks& + \begin{picture}(80,20)(0,15) \linethickness{15pt} + \renewcommand{\diskpitchstretch}{0.33} \curve(10,15, 70,25) + \end{picture} \\ + 15pt & $\times1$ & 3pt pitch disks& + \begin{picture}(80,20)(0,15) \linethickness{15pt} \curve(10,15, 70,25) + \end{picture} \\ + $\approx$0.5pt & $\times1$ & \LaTeX\ \verb?\line(6,1)? & + \begin{picture}(80,20)(0,15) \thinlines \put(10,15){\line(6,1){60}} + \end{picture} \\ + $\approx$0.5pt & $\times1$ & 0.34pt pitch disks & + \begin{picture}(80,20)(0,15) \thinlines + \curve(10,15, 70,25) + \end{picture} \\ + $\approx$0.5pt & $\times30$ \rule[-10pt]{0pt}{10pt} & +\parbox{8em}{\centering 0.34pt pitch disks\\ resolution $\times30$ } & + \begin{picture}(80,20)(0,15) \multiput(10,15)(10.2,1.7){7}{\circle*{15}} + \end{picture} \\ + \hline + \end{tabular} + \end{center} + + \LaTeX\ \verb?\line?\footnotemark[1] or line drawing \verb?\special? +commands require a tenth the \TeX\ memory so are preferable to disks if +available. A smooth curve may require thousands of disks or hundreds of lines. +\LaTeX\ can load \TeX\footnote{Donald E. Knuth, {\sl The \TeX book,} + Addison-Wesley, 1984, Chapter 20.} macros from style files with a +\verb?.sty? extension. These macros can calculate the disk or line positions +for a curve. + + {\tt curves.sty} provides macro commands for drawing curves using disks. +Version \version\ loads in about 2500 words\footnote{A character or token +takes a \TeX\ word, 32 bits or larger.} of \TeX's main memory, which allows a +small \TeX. Complex or numerous floating drawings still require a big \TeX\ +with {\tt curves.sty}. {\tt curvesls.sty} uses fewer disks and line drawing +\verb?\special?s for increased speed and a tenth the \TeX\ memory. + + The capabilities of these macros are:--- + \begin{itemize} + \item A compatible replacement for \verb?\bezier?\footnote{See your Local +Guide. Try the system command {\tt latex local} to get a \LaTeX ed Guide.} +from {\tt bezier.sty} or {\tt LaTeX2e}. + \item Work with {\makeatletter \@ifundefined{SLiTeX}{\tt SLiTeX}{\SLiTeX}} +for overhead transparencies and {\tt LaTeX2e}\footnote{Michel Goossens, Frank +Mittelbach and Alexander Samarin, {\sl The \LaTeX\ Companion,} Addison-Wesley, +1994.} + \item Curves have the minimum number of disks or straight lines for visual +smoothness. + \item Curve thickness adjustable from 0.5 to 15pt (0.17 to 5mm). + \item Curves have continuous slope. + \item Curves for any number of points greater than one using \verb?\curve?. + \item Control of end slopes using \verb?\tagcurve?. + \item Closed curves with continuous slope using \verb?\closecurve?. + \item Large circles \verb?\bigcircle? and circular arcs \verb?\arc?. + \item Independent scaling of curve abscissa and ordinates to fit graphs. + \item Affine scaling for making arcs or circles elliptical. + \item Symbols and dash patterns combined without interference. + \item Any dash length or spacing. + \item Three methods for fitting dash patterns to curves. + \end{itemize} + + Parabolas approximate the segments between the specified coordinate points. +At an internal point, the slope of the parabolas joining from either side is +the same as the straight line joining the points on either side. For an end +segment, the inside point of the parabola is made a vertex which determines +the slope of the end point. \verb?\tagcurve? has hidden end segments which +allows complete control of slope at the visible end point when desired. + + The four points at the end and adjacent to a segment may make a parabola +inappropriate. The points could be close to a straight line or consistent with +an inflexion point. A straight line then replaces the parabola and optionally +a warning is issued. + +The parabolas are drawn as a series of short straight line segments. +For {\tt curvesls.sty}, the dvi driver draws the straight lines as instructed +by \verb?\special? commands. For {\tt curves.sty}, the straight lines are +drawn as overlapping disks at high speed using a simple tail chasing macro. +This macro's arithmetic calculations are two fixed point additions per disk +drawn. + +The \TeX\ arithmetic in {\tt curves.sty} for the initial differences +between disk positions gives an error of less than 0.005\% at the +segment end. Even for a segment 1000pt long, this is less than 0.05pt and the +resolution of most output devices. Errors are sometimes slightly larger +between coordinates but you can reduce them if necessary by specifying more +coordinates. + + For circles and circular arcs, a parabola approximates an arc segment no +more than 23$^\circ$ giving a radius increase between segment ends less than +0.02\%. The error in computing and multiplying by sine and cosine is usually +less than 0.01\% of the radius at the far end of an arc. + + Brief descriptions, simple examples and a command summary follow. They +presume familiarity with relevant chapters of the \LaTeX\ +manual\footnotemark[1]. + + \section{Installation} + + Name either {\tt curves} or {\tt curvesls} in the \verb?\usepackage? +command at the top of your main {\tt .tex} file {\it e.g.\/,} + \begin{verbatim} + \documentclass[11pt]{article} + \usepackage{curves} + \end{verbatim} + {\tt curves.sty} or {\tt curvesls.sty} should be in the default or a {\tt +texinput} directory. For the older \LaTeX\ 2.09 name them in the +\verb?\documentstyle? command. + + Do not combine {\tt curves} or {\tt curvesls} with {\tt bezier} in this +command. They contain a fast powerful replacement for \verb?\bezier?. +Drawings using \verb?\bezier? should not change their appearance. + + \newcommand{\PiCTeX}{\relax P\kern-.10em\lower.4ex\hbox{I}\kern + -.10em\/C\kern-0.15em\TeX} + \PiCTeX\footnote{Michael J. Wichura, {\sl The \PiCTeX\ Manual,} Chicago, +1987, available from \TeX\ Users' Group.} is a large set of \TeX nical drawing +macros for plain \TeX\ which \LaTeX\ pictures can also use. \PiCTeX\ requires +a big \TeX. I have not checked compatibility with {\tt curves} or {\tt +curvesls} because I do not use \PiCTeX. + \renewcommand{\PiCTeX}{} + + {\tt curvesls.sty} uses line drawing \verb?\special?s to reduce required +memory and increase speed. As originally supplied it uses the \verb?\special?s +of em\TeX\ by Eberhard Mattes for IBM PC compatibles. em\TeX\ is available +from CTAN\footnote{Directory {\tt /tex-archive/systems/msdos/emtex} at {\tt +ftp.shsu.edu} for example.} and the \TeX\ Users' Group. The em\TeX\ +\verb?\special?s are also available for Tomas Rokicki's {\tt dvips}. If you +use {\tt dvips}, ask if they have been compiled in. To use other line drawing + \verb?\special?s substitute them at {\tt curvesls.sty}'s start. Your system +guru may do this for you. You can test {\tt curvesls.sty} after substituting +\verb?\special?s, by replacing {\tt curves} with {\tt curvesls} in this file's +\verb?\documentstyle? command. This file looks the same \LaTeX ed with either +{\tt curves} or {\tt curvesls}. + + A drawing frequently uses auxiliary commands to size, place, label and +caption it. The following commands draw the box in Figure~\ref{box} on +page~\pageref{box}: + + \begin{figure} + \begin{center} + \setlength{\unitlength}{1mm} + \begin{picture}(100,50) \large\sf + \linethickness{1mm} + \put(20,5){\framebox(60,40){BOX}} + \end{picture} + \end{center} + \caption{This is a box.} + \label{box} + \end{figure} + + \begin{verbatim} + \begin{figure} + \begin{center} + \setlength{\unitlength}{1mm} + \begin{picture}(100,50) \large\sf + \linethickness{1mm} + \put(20,5){\framebox(60,40){BOX}} + \end{picture} + \end{center} + \caption{This is a box.} + \label{box} + \end{figure} + \end{verbatim} + Lamport\footnotemark[1] explains these commands. This example is for those +unfamiliar with the \LaTeX\ picture environment. The following examples avoid +the {\tt figure} environment but it is often essential. + + \section{Curves} + \label{curves} + The curve drawing commands, \verb?\curve?, \verb?\closecurve? and +\verb?\tagcurve?, draw parabola segments between coordinate points in the +argument. The segments' tangents at these points are parallel to each other +and to straight lines through the points either side. Segments at curve ends +are from parabolas through the last three points. \verb?\closecurve? adds a +parabola between end points to close the curve. \verb?\tagcurve? omits the +first and last segments drawing curves with end tangents specified. The +following table shows these features. + + \begin{center} + \setlength\unitlength{0.4pt} + \linethickness{0.7mm} + \begin{tabular}{lc} + Example & Curve \\ + \hline + \raisebox{60\unitlength}{\tt\char92 curve(0,0, 50,100, 100,0)} & + \begin{picture}(100,120)(0,-10) + \curve(0,0, 50,100, 100,0) + \end{picture}\\ + \raisebox{80\unitlength}{\tt\char92 closecurve(0,0, 50,100, 100,0)} & + \begin{picture}(100,170)(0,-60) + \closecurve(0,0, 50,100, 100,0) + \end{picture} \\ + \raisebox{60\unitlength}{ + \tt\char92 tagcurve(100,0, 0,0, 50,100, 100,0, 0,0)} & + \begin{picture}(120,120)(-10,-10) + \tagcurve(100,0, 0,0, 50,100, 100,0, 0,0) + \end{picture} \\ + \hline + \end{tabular} + \end{center} + + Axial flow fans often use the RAF 6E aerofoil section. The section +coordinates in the following macro come directly from aerodynamic +tables\footnote{R.A. Wallis, {\sl Axial Flow Fans,} Academic Press, 1961, +p.335}. The \verb?\arc? commands draw the leading and trailing radii and the +two coordinate \verb?\curve? the flat chord. + \begin{verbatim} + \newcommand{\RAFsixE}{ + \scaleput(1.25,1.25){\arc(0,-1.25){-135}} + \scaleput(0,0){\curve(0.366,2.133, 1.25,3.19, 2.5,4.42, + 5.0,6.10, 7.5,7.24, 10,8.09, 15,9.28, 20,9.90, 30,10.3, + 40,10.22, 50,9.80, 60,8.98, 70,7.70, 80,5.91, 90,3.79, + 95,2.58, 99.24,1.52)} + \scaleput(99.24,0.76){\arc(0,-0.76){180}} + \scaleput(0,0){\curve(1.25,0, 99.24,0)} + } + \end{verbatim} + \newcommand{\RAFsixE}{ + \scaleput(1.25,1.25){\arc(0,-1.25){-135}} + \scaleput(0,0){\curve(0.366,2.133, 1.25,3.19, 2.5,4.42, + 5.0,6.10, 7.5,7.24, 10,8.09, 15,9.28, 20,9.90, 30,10.3, + 40,10.22, 50,9.80, 60,8.98, 70,7.70, 80,5.91, 90,3.79, + 95,2.58, 99.24,1.52)} + \scaleput(99.24,0.76){\arc(0,-0.76){180}} + \scaleput(0,0){\curve(1.25,0, 99.24,0)} + } + In a picture environment like: + \begin{verbatim} + \begin{picture}(100,20) + \RAFsixE + \end{picture} + \end{verbatim} + this macro draws: + \linethickness{0.7mm} + \setlength\unitlength{0.5mm} + \begin{center} + \begin{picture}(100,20) + \RAFsixE + \end{picture}\\ + The RAF 6E has a flat undersurface. + \end{center} + + The drawing command \verb?\bigcircle? works similarly to \verb?\circle? +except there is no \verb?\circle*? equivalent. The following section scales it +to an ellipse. + + \section{Scaling} + The size of \LaTeX\ picture objects may be uniformly scaled by preceding +them with: + \begin{verbatim} + \setlength{\unitlength}{x\unitlength} + \end{verbatim} + where {\tt x} the desired scale factor is a decimal number. + + The \verb?\scaleput?s in \verb?\RAFsixE? position the curves using the scale +factors \verb?\xscale?, \verb?\xscaley?, \verb?\yscale? and \verb?\yscalex?. +The drawing commands use the same scale factors. {\tt curve} initially sets +these scale factors to 1, 0, 1 and 0 respectively. \verb?\renewcommand? may +reset them to any decimal number. These factors can rotate pictures. The +factors following rotate the RAF~6E through 12$^\circ$ clockwise about its +{\tt (0,0)} co-ordinate: + \begin{verbatim} + \renewcommand{\xscale}{0.9781} + \renewcommand{\xscaley}{0.2079} + \renewcommand{\yscale}{0.9781} + \renewcommand{\yscalex}{-0.2079} + \put(0,20){\RAFsixE} + \end{verbatim} + This draws: + \begin{center} + \begin{picture}(120,30)(-20,0) + \renewcommand{\xscale}{0.9781} + \renewcommand{\xscaley}{0.2079} + \renewcommand{\yscale}{0.9781} + \renewcommand{\yscalex}{-0.2079} + \put(0,20){\RAFsixE} + \thicklines + \put(-20,5){\vector(1,0){20}} + \end{picture} + + The RAF 6E has maximum lift at angles of attack over 12$^\circ$. + \end{center} + Note that \(\cos12^\circ\approx0.9781\) and \(\sin12^\circ\approx0.2079\) + \let\RAFsixE\relax + + + Axonometric projection is another scaling application. Circles become +ellipses and circular arcs become elliptical arcs. The commands drawing the +ellipse and arc in the following washer are: + \begin{verbatim} + \put(20,5){ + \renewcommand{\xscale}{1} + \renewcommand{\xscaley}{-1} + \renewcommand{\yscale}{0.6} + \renewcommand{\yscalex}{0.6} + \scaleput(10,10){\bigcircle{10}} + \put(0,-2){ + \scaleput(10,10){\arc(5,0){121}} + \scaleput(10,10){\arc(5,0){-31}} + } + } + \end{verbatim} + {\tt (20,5)} are the drawing coordinates of the upper vertex of the washer +closest to the reader. The angles for the \verb?\arc?s were found by trial and +error. + \begin{center} + \setlength\unitlength{1mm} + \begin{picture}(40,30) + \thicklines + \multiput(20,5)(20,12){2}{\line(0,-1){2}\line(-5,3){20}} + \multiput(20,5)(-20,12){2}{\line(5,3){20}} + \put(20,3){\line(5,3){20}} + \put(20,3){\line(-5,3){20}} + \put(0,15){\line(0,1){2}} + \linethickness{1pt} + \put(20,5){ + \renewcommand{\xscale}{1} + \renewcommand{\xscaley}{-1} + \renewcommand{\yscale}{0.6} + \renewcommand{\yscalex}{0.6} + \scaleput(10,10){\bigcircle{10}} + \put(0,-2){ + \scaleput(10,10){\arc(5,0){121}} + \scaleput(10,10){\arc(5,0){-31}} + } + } + \end{picture} + + Square washers are sometimes preferred for soft materials. + \end{center} + + \section{Symbols} + \label{symbols} + + {\tt curves} can also place symbols. \verb?\curvesymbol? must first define +the symbol as anything a \verb?\put? or \verb?\multiput? may draw. A negative +symbol count between drawing command and coordinates {\it e.g.,} +\verb?\tagcurve[-3](0,100,...)? fixes the number of symbols per curve segment. + + These commands draw flight times and successive positions in the following +drawing: + \begin{verbatim} + \newcounter{time} + \curvesymbol{\thetime\,s\addtocounter{time}{1}} + \put(5,4){\curve[-2](0,0, 9.8,19.6, 19.6,0)} + \curvesymbol{\phantom{\circle*{1}}\circle*{1}} + \put(5,2){\curve[-2](0,0, 9.8,19.6, 19.6,0)} + \end{verbatim} + where \verb?\phantom? is a plain \TeX\ command from the \TeX +book\footnotemark[2]. + \begin{center} + \setlength\unitlength{2mm} + \begin{picture}(40,35)(-5,-5) \sf + \thicklines + \newcounter{time} + \curvesymbol{\thetime\,s\addtocounter{time}{1}} + \put(5,4){\curve[-2](0,0, 9.8,19.6, 19.6,0)} + \curvesymbol{\phantom{\circle*{1}}\circle*{1}} + \put(5,2){\curve[-2](0,0, 9.8,19.6, 19.6,0)} + \put(0,0){\vector(0,1){28}} + \put(0,0){\vector(1,0){30}} + \multiput(5,0)(5,0){5}{\line(0,1){1}} + \multiput(0,5)(0,5){5}{\line(1,0){1}} + \setcounter{time}{0} + \multiput(0,-1)(5,0){6}{\makebox(0,0)[t]{\thetime}\addtocounter{time}{5}} + \put(28,-1){\makebox(0,0)[tl]{$x$ (m)}} + \setcounter{time}{0} + \multiput(-1,0)(0,5){6}{\makebox(0,0)[r]{\thetime}\addtocounter{time}{5}} + \put(-1,27){\makebox(0,0)[rb]{$y$ (m)}} + \end{picture} \\ + Successive positions of a sphere with initial position $(5,2)$ m,\\ initial +velocity $(4.9,9.8)$ m/s, and acceleration $(0,-9.8)$ m/s$^2$. \\ + The flight time is recorded above each sphere position. + \end{center} + + Fixed spacing of symbols at lengths other than the segment's requires more +commands. Empty \verb?\curvedashes?, empty \verb?\curvesymbol? and negative +symbol count stops drawing so a drawing command will calculate +\verb?\curvelength? only. \verb?\curvesymbol? then resets the symbol and +\verb?\curvedashes? sets the spacing to its pattern length. If there are no +symbols at the ends, \verb?\overhang? pulls symbols along the curve. The last +command with no symbol count draws the symbols. + + \verb?\arc? and \verb?\bigcircle? use sixteen segments for a circle so if +eight symbols are required the fixed spacing technique is necessary. The +following commands draw the pin numbers on a relay base: + + \begin{verbatim} + \newcounter{pin} + \curvedashes{} + \curvesymbol{} + \put(60,60){\arc[-1](40,0){-360}} + \setlength{\curvelength}{0.125\curvelength} + \curvedashes[\curvelength]{1} + \setlength{\overhang}{0.5\curvelength} + \curvesymbol{\addtocounter{pin}{1}\thepin} + \put(60,60){\arc(40,0){-360}} + \end{verbatim} + + \begin{center} + \setlength\unitlength{0.3mm} + \begin{picture}(120,120) \sf + \thicklines + \linethickness{1pt} + \curvedashes{} + \curvesymbol{} + % base + \put(60,60){\bigcircle{100}} + % spigot + \put(60,60){\arc(10,3){325}\put(10,0){\arc(0,3){-180}}} + % pins + \put(60,60){\bigcircle[-1]{60}} + \setlength{\curvelength}{0.125\curvelength} + \curvedashes[\curvelength]{1} + \overhang0.5\curvelength + \curvesymbol{\phantom{\circle{5}}\circle{5}} + \put(60,60){\bigcircle{60}} + % pin numbers + \newcounter{pin} + \curvedashes{} + \curvesymbol{} + \put(60,60){\arc[-1](40,0){-360}} + \divide\curvelength8 + \curvedashes[\curvelength]{1} + \setlength{\overhang}{0.5\curvelength} + \curvesymbol{\addtocounter{pin}{1}\thepin} + \put(60,60){\arc(40,0){-360}} + \end{picture} \\ + The pin numbering of plug-in relays is clockwise \\ + from the spigot key when viewed from below. + \end{center} + + If symbols and dash pattern exist and \verb?\overhang? is 0pt, \verb?curves? +draw the first position blank. For equal spacing they draw the last position +blank if rounding error causes the last pattern to be slightly short. If +\verb?\renewcommand? changes \verb?\diskpitchstretch?, rounding error changes +and the final symbol may reappear. To avoid fiddling with +\verb?\diskpitchstretch? for closed curves with symbols equally spaced, use an +\verb?\overhang? which is a fraction of a pattern length as in the previous +example. + + \section{Dashes} + + \verb?\curvedashes? must first define a dash pattern with length greater +than 0pt. Many symbol and pattern combinations are possible. The fixed number +and fixed spacing methods of symbol drawing described in Section~\ref{symbols} +work with three methods of drawing dashes which are: + \begin{enumerate} + \item if there is no symbol count and no symbol, a dash pattern with its +length reduced by \verb?\csdiameter? is drawn between symbols spaces of width +close to \verb?\csdiameter? to give an overall spacing equal to the pattern +length specified by the \verb?\curvedashes? command; + \item if there is a symbol count but no symbol, the dash patterns drawn have +their length equal to that defined by \verb?\curvedashes? with +\verb?\csdiameter? gaps at symbol positions; + \item if there is a symbol count and a symbol, the dash patterns drawn have +their length adjusted slightly so an integral number of patterns fit between +symbol positions. + \end{enumerate} + + Dash pattern commands for centrelines\footnote{R.N. Roth and I.A. van +Haeringen, {\sl The Australian Engineering Drawing Handbook, Part~1 Basic +Principles and Techniques,} The Institution of Engineers, Australia, Canberra, +1986.} follow for the three techniques above in order: + \begin{verbatim} + \linethickness{0.25mm} + \curvedashes[1.2mm]{0,8,1,3,1,8} + \settowidth{\csdiameter}{00} + \put(0,20){\curve(0,0, 30,5, 60,0)} + \put(0,10){\curve[1](0,0, 30,5, 60,0)} + \curvesymbol{\thepin\addtocounter{pin}{1}} + \setlength{\csdiameter}{2\csdiameter} + \put(0,0){\curve[1](0,0, 30,5, 60,0)} + \end{verbatim} + + The following figure shows the resulting dash patterns. The upper line has +first position blank because the \verb?\overhang? is 0pt. It has patterns +shrunk to scale between symbol spaces {\it e.g.,}~1 to~2, and symbol space +centres one pattern length apart. The middle line has patterns close to +defined length but with the first dash part blanked by half of symbol space~3 +and the second pattern broken in its first dash by symbol space~4. The lower +line patterns are stretched between symbol spaces. Which pattern is +appropriate depends on picture meaning and function. + + \begin{center} + \setlength\unitlength{1mm} + \begin{picture}(60,25) \sf + \setcounter{pin}{1} + \linethickness{0.25mm} + \curvedashes[1.2mm]{0,8,1,3,1,8} + \settowidth{\csdiameter}{00} + \put(0,20){\curve(0,0, 30,5, 60,0)} + \put(0,10){\curve[1](0,0, 30,5, 60,0)} + \curvesymbol{\thepin\addtocounter{pin}{1}} + \setlength{\csdiameter}{2\csdiameter} + \put(0,0){\bezier{-2}(0,0)(30,10)(60,0)} + \put(0,20){\curve(0,0, 30,5, 60,0)} + \curvedashes{} + \put(0,10){\curve[-1](0,0, 30,5, 60,0)} + \put(0,0){\bezier{-2}(0,0)(30,10)(60,0)} + \end{picture} \\ + Centrelines and Symbols + \end{center} + + \section{Errors} + Syntax errors like incorrect or missing punctuation while using {\tt curves} +will result in \TeX\ or \LaTeX\ error messages. The \TeX book\footnotemark[2] +and \LaTeX\ manual\footnotemark[1] explain the meaning and correction of these +errors. The previous examples and Section~\ref{summary} should make the +correct syntax for {\tt curves} commands clear. + + {\tt curves} will write a {\tt LaTeX error.} message to the screen and {\tt +log} file if you supply an incorrect number of coordinates. + + If four sequential points in a drawing command argument have the line +through the first and third parallel to the line through the second and +fourth: + \begin{itemize} + \item exactly or closely, {\tt curves} knows it cannot draw a parabola +tangent to two parallel lines, issues to the screen and log file:\\ + {\tt LaTeX Warning: \string\curve\ straight from \ldots}\\ + and draws a straight line; + \item or approximately, {\tt curves} may draw an unexpected curve with no +warning. + \end{itemize} + If four sequential points in a drawing command argument have the line +through the first and second parallel to the line through the third and +fourth: + \begin{itemize} + \item {\tt curves} draws a parabola which may be nowhere near the curve. + \end{itemize} + If the four points were on a straight line, removing one or more points is +a remedy. If they are not on a straight line, adding points may help. + Specifying many points will give you a satisfactory curve with perhaps an +annoying number of \verb?\curve straight? warnings. After a +\verb?\curvewarnfalse?, {\tt curves} still uses the straight lines but does +not tell you. + + Curvature changes sign on curves like \(y=\sin x\). Specifying inflection +points as {\tt curve} coordinates will reduce error and specifying sufficient +coordinates will then give satisfactory results. For discontinuous tangents +splitting a curve into pieces is unavoidable. Splitting a curve into pieces +with curvature the same sign can give satisfactory results with fewer +coordinates. \verb?\tagcurve? can prevent tangent discontinuities. If an +inflexion point's exact location is unknown, try the midpoint of the straight +line through the ends of its segment. + + Curves appear rougher than horizontal and vertical lines. Picture +digitization causes this not inaccuracy in \TeX, {\tt curves.sty} or {\tt +curvesls.sty}. Setting \verb?\diskpitchstretch? to a value less than one with +\verb?\renewcommand? may smooth an unusually rough curve. + + Symbols and symbol spaces misaligned are usually due to rounding error. +Adjusting \verb?\diskpitchstretch? below one can reduce rounding error and +increase alignment accuracy. This should be limited to the misaligned curve +with {\tt \{\ \}}\footnotemark[1]. + + The replacement \verb?\bezier? does not give exactly the same results as the +original in {\tt bezier.sty} or in {\tt LaTeX2e}. The difference is extremely +small but if it is important to you comment out the five lines of code for +\verb?\bezier? and \verb?\@bezier? near the start of {\tt curves.sty} or {\tt +curvesls.sty}. You now have a \verb?\bezier? which is slower and needs more +memory but has only its original capabilities and gives only its original +results. + +Please email me examples of any errors not covered above. You may have found a +bug in the code or documentation. + +\section{Pleas for the Future} + +{\tt curves} will never work with plain \TeX\ and it will never be as +powerful as {\sf METAFONT} or importing encapsulated PostScript +files. Suggestions or criticisms by email are +welcome. Version \version\ has benefitted greatly from previous +help. The latest versions are first available at URL: + \begin{verbatim} + ftp://ilm.mech.unsw.edu.au/pub/archive/latex/macros/curves/ + \end{verbatim} + At your local CTAN mirror the latest version should be near the + directory for the latest version of \LaTeX. Please use + CTAN to reduce Internet load. + +{\tt curvesls.sty} uses much less \TeX\ memory and is faster than +{\tt curves.sty}. More people could use {\tt curvesls.sty} if em\TeX\ +or equivalent line drawing \verb?\special?s were compiled into dvi +drivers for viewing and printing. Ask your system people for this! + +A {\tt .dvi} file containing curves produced with {\tt curvesls.sty} +has many occurrences of the text strings {\tt em:lineto}, {\tt +em:moveto} and {\tt em:linewidth XXXXpt} placed by the em\TeX\ +\verb?\special?s. These strings would have earlier occupied \TeX\ +memory. Extra space is also taken by the disks {\tt curvesls} uses to +cover the cracks between square line ends at a slight angle. Renaming +these \verb?\special?s to {\tt L}, {\tt M} and {\tt W XXXXpt} +respectively would save \TeX\ memory. Even better, {\tt W XXXXpt} +could also calculate and store the bitmap of a disk which {\tt L} +would add to its line end to round it so {\tt curvesls} need not add +disks to cover cracks. A fourth \verb?\special?, {\tt D}, could place +the disk at the current position which {\tt curvesls} would use to +round the beginning of a curve. If you write dvi drivers, please add +these four proposed \verb?\special?s. + + + + + \section{Curves Summary} + \label{summary} + The commands following are for the picture environment in the \LaTeX\ +manual\footnotemark[1]. + \makeatletter + % Hanging indentation with paragraph separation for author-date, etc. + \newenvironment{hanging}{\list{}{\topsep\itemsep \advance\topsep-\parskip + \parsep\itemsep \itemsep\z@skip \partopsep\parskip + \ifdim\parindent>\z@ \@tempdimb\parindent \else \@tempdimb1.5 em\fi + \leftmargin\@tempdimb \listparindent-\@tempdimb \itemindent-\@tempdimb + \rightmargin\z@ \labelsep\z@ \labelwidth\z@ }\item[]}% + {\endlist \addvspace\parsep} + \makeatother + + + \subsection{Arguments of Commands} + + \begin{hanging} + +{\tt } decimal number of {\tt } blank. Not negative. + + {\tt } is anything which a \verb?\put? or +\verb?\multiput? may draw. + + {\tt } are decimal numbers giving alternate $x$ and $y$ + coordinates of the curve as multiples of \verb?\unitlength?, comma +separated. + +{\tt <[,dash...]>} optional continuation of alternating dash and blank numbers +of unit lengths, comma separated. Not negative. Allows decimal points. + + {\tt } is a decimal number giving the diameter in + \verb?\unitlength?s. + + {\tt } is the number of symbols or patterns to be drawn, +default 0. + + {\tt } unit length dimension {\it e.g.\/,} 2.5mm, 10pt, used in +measuring blanks and dashes. Not negative. Default value is +\verb?\unitlength?. + + \end{hanging} + + + \subsection{Lengths used by Commands} + \begin{hanging} + + \verb?\csdiameter? is the size of the space left for a symbol and can be +increased or set with \verb?\settowidth{\csdiameter}{}?. + + \verb?\curvelength? is the total length of the curve calculated before +drawing by using Simpson's rule once between each pair of coordinate points. + +\verb?\overhang? length of as drawn dash pattern overlapping start of +patterns. + \end{hanging} + \subsection{Control Commands} + \begin{hanging} + \verb?\curvewarntrue? turns warning of parabola replacement by straight +lines on (default). + + \verb?\curvewarnfalse? turns warning of parabola replacement by straight +lines off. + \end{hanging} + \subsection{Parameter Setting Commands} + + \begin{hanging} + \verb?\curvesymbol{}? sets symbol and + \verb?\csdiameter?. + + \verb?\curvedashes[]{<[,dash...]>}? A drawing +command before a \verb?\curvedashes? or after one with an empty or zero length +pattern will draw: + + \begin{hanging} + + if {\tt } is zero or missing, a continuous curve; + +else if {\tt } is positive, {\tt -1} squares of +line thickness size between and additional squares at coordinates or bezier +end points; + +else if no {\tt } exists, nothing; + + else, {\tt --1} characters or symbols between coordinates and +additional ones at coordinates or bezier end points. + + \end{hanging} + After a \verb?\curvedashes? command defining a pattern whose length exceeds +zero, commands draw: + + \begin{hanging} + +if {\tt } is zero or missing then at a spacing equal to the +specified pattern length, + + \begin{hanging} + if no {\tt } exists, a dash pattern reduced in length +by \verb?\csdiameter? to fit between symbol spaces of \verb?\csdiameter?, + + else if \verb?\overhang? is not 0pt, a {\tt } at all +positions, + + else a {\tt } with the first position blank; + + \end{hanging} + +else, \verb?\csdiameter? wide symbol spaces, one at and + {\tt ||-1} between coordinate points with dash pattern +lengths, + \begin{hanging} + if no {\tt } exists, exact but broken by the spaces, + +else, adjusted to give a whole number of patterns between spaces. + \end{hanging} + \end{hanging} + + + \verb?\diskpitchstretch? is initially 1 but \verb?\renewcommand? can +change it to a higher value like 5 to save memory in drafts of complex +documents or a lower local value like 0.5 to smooth curve digitization. + + \verb?\linethickness{}? sets line or dash thicknesses to {\tt +} from 0.5pt up to 15pt (0.17mm to 5mm). \verb?\thicklines? and +\verb?\thinlines? also set thickness. + + \verb?\xscale?, \verb?\xscaley?, \verb?\yscale? and \verb?\yscalex? are +scale factors initially set to 1, 0, 1 and 0 respectively which +\verb?\renewcommand? or \verb?\def? can reset. + \end{hanging} + + + \subsection{Curve Drawing Commands} + Curves drawn consist of parabolic arcs between coordinate points with +tangents at each point parallel to the straight line through adjacent points. + + \begin{hanging} + \verb?\arc[](X1,Y1){}? draws a circular arc centred +on current position, starting from {\tt (X1,Y1)} and proceeding +counterclockwise for {\tt } degrees. + + \verb?\bezier{}(X1,Y1)(X2,Y2)(X3,Y3)? draws a curve through +the end points {\tt (X1,Y1)} and {\tt (X3,Y3)} tangent to the straight lines +joining each of them to {\tt (X2,Y2)}. Extended faster replacement for {\tt +bezier.sty} version. + + \verb?\bigcircle[]{}? draws a circle of diameter +equal to {\tt } times \verb?\unitlength?. + + \verb?\closecurve[]()? draws a closed curve +with continuous tangents at all points. At least 6 coordinates required. + + \verb?\curve[]()? draws a curve through the +specified {\tt }. For 4 coordinates this is a straight line. + + \verb?\scaleput(X1,Y1){}? places a picture object in a +position scaled by \verb?\xscale?, \verb?\xscaley?, \verb?\yscale? and +\verb?\yscalex? for axonometric projection or rotations. + + \verb?\tagcurve[]()? draws a curve without its +first and last segments but if only 6 coordinates draws the last segment only. + \end{hanging} + \end{document} \ No newline at end of file diff --git a/obsolete/macros/latex209/contrib/curves/curvesls.sty b/obsolete/macros/latex209/contrib/curves/curvesls.sty new file mode 100644 index 0000000000..841eb55dc7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/curves/curvesls.sty @@ -0,0 +1,511 @@ +% curvesls.sty version 1.42 for LaTeX 2.09 and LaTeX2e. +% I.L. Maclaine-cross, The University of New South Wales. +% Internet: i.maclaine-cross@unsw.edu.au +\typeout{Document Style Option `curvesls' <12th August 2000>} +% Draws curves in LaTeX picture environment using parabolas between points +% with continuous slope at points. Equivalent to technical pens with +% compasses and French curves. +% A Command Summary is at the end of this file. + +% Make `;' appear like a letter so control sequences can use it and they +% will not be accidently used by other macro packages. +\catcode`\;=11 + +% DRIVER SPECIFIC COMMANDS +% These are not required by curves.sty a companion macro package +% which is slower and requires more TeX memory. +% Requires the dvi driver have the following three line drawing \specials +% which draw straight lines rectangular at both ends. curvesls.sty adds a +% circle of appropriate size to smooth junctions and round ends. +% If these are unavailable use the slower curves.sty with more TeX memory. +% The \special text in the following three commands is for emTeX's dvi drivers: +% before drawing every line sets the driver's straight line width +% to dimen #1; +\newcommand\;linewidth[1]{\special{em:linewidth \the#1}} +% sets driver page position to current TeX page position; +\newcommand\;startline{\special{em:moveto}} +% draws straight line from last driver position to current TeX position and +% then resets driver position to current TeX page position. +\newcommand\;stopl;ne{\special{em:lineto}} +% To use other dvi drivers which draw straight lines like emTeX, alter the +% above three commands to make their function the same as described above. +% The manual for Tomas Rokicki's DVIPS version 5.515 for the IBM PC says +% that this PostScript driver supports the above emTeX \specials. This style +% file works unmodified with Rokicki's driver when the emTeX specials are +% compiled in. + +\newcount\;sc % number of symbols on Bezier segment +\newcount\;scp +\newcount\;t +\newcount\;cc % coordinate count +\newcount\;cnd % actual point count to next dot +\newcount\;mcnd % maximum point count to next dot +\newcount\;np +\newcount\;overhang +\newcount\;pbs +\newcount\;pns +\newcount\;psc % maximum dot spacing on line in sp. +\newcount\;rc +\newcount\;rtc +\newcount\;tc +\let\;tca=\@tempcnta +\let\;tcb=\@tempcntb + +\newdimen\csdiameter \csdiameter\z@ +\newdimen\curvelength +\newdimen\overhang \overhang\z@ +\newdimen\;dx +\newdimen\;ddx +\newdimen\;dy +\newdimen\;ddy +\newdimen\;pl \;pl\z@ +\newdimen\;ucd +\newdimen\;y +\let\;td=\@tempdima +\let\;ytd=\@tempdimb + +\newsavebox{\;csbox} +\newsavebox{\;pt} + +\newif\ifcurvewarn \curvewarntrue % Warn about curve problems +\newif\if;ccn % coordinate number correct +\newif\if;pt % plot points if true +\newif\if;csym % curve symbol defined +\newif\if;scnt % symbol or pattern count <>0 + +\newhelp\;strline{curve straight from} +\newhelp\m;ssingcoord{curve needs more points, add them.} +\newhelp\;negdash{curvedashes needs the same sign for all arguments.} +\newhelp\;oddcoord{curve requires two co-ordinates for each point, + count them.} + +\newcommand\arc{\@ifnextchar[\;arc{\;arc[0]}} +\newcommand\;arc{} +\def\;arc[#1](#2,#3)#4{\;setpoint{#1}\scaleput(#2,#3){\;ddx-#3\unitlength + \;ddy#2\unitlength \;firstpoint \;td#4\p@ \;drwarc}} + + +% Redefines version in LaTeX 2e of 1 June 1994. +\def\bezier#1)#2(#3)#4({\@bezier#1)(#3)(} +\def\@bezier#1(#2,#3)(#4,#5)(#6,#7){\;dx#4\unitlength \;ddx-\;dx + \advance\;dx-#2\unitlength \advance\;ddx#6\unitlength \;dy#5\unitlength + \;ddy-\;dy \advance\;dy-#3\unitlength \advance\;ddy#7\unitlength + \;setpoint{#1}\scaleput(#2,#3){\;firstpoint \;bezier}} + +\newcommand\bigcircle{\@ifnextchar[\;bgcrcl{\;bgcrcl[0]}} +\newcommand\;bgcrcl{} +\def\;bgcrcl[#1]#2{\;setpoint{#1}\;dx\unitlength \global\divide\unitlength\tw@ + \scaleput(#2,0){\;startline \;ddx\z@ \;ddy#2\unitlength \global\unitlength\;dx + \;td360\p@ \;drwarc}} + +\newcommand\closecurve{\@ifnextchar[\;closecurve{\;closecurve[0]}} +\newcommand\;closecurve{} +\def\;closecurve[#1](#2){\;coordn\closecurve\thr@@{#2}{#1}% + \if;ccn\scaleput(\;xb,\;yb){\;startline + \edef\;ci{\;xa,\;ya,#2,\;xb,\;yb,\;xc,\;yc}% + \advance\;cc\thr@@ \;tagcurve\;ci}\fi} + +\newcommand\curve{\@ifnextchar[\;curve{\;curve[0]}} +\newcommand\;curve{} +\def\;curve[#1](#2){\;coordn\curve\tw@{#2}{#1}% + \if;ccn \scaleput(\;xa,\;ya){\;firstpoint + \ifnum\;cc=\tw@ \;slbezd \;slbez + \else \;scbezd\;dx\;ddx\;xa\;xb\;xc \;scbezd\;dy\;ddy\;ya\;yb\;yc + \;bezier \;tagcurve{#2}\ifnum\;cc>6\;endcurve\fi \fi}\fi} +\newcommand\;scbezd[5]{\;slcd#2#3#5\divide#24\;slcd#1#3#4\advance#1-#2} +\newcommand\;xa{} \newcommand\;xb{} \newcommand\;xc{} +\newcommand\;ya{} \newcommand\;yb{} \newcommand\;yc{} +\newcommand\;ci{} + +\newcommand\curvesymbol[1]{\def\;curvesymbol{#1}\ch;ckcs + \global\setbox\;csbox\hbox{#1}\csdiameter\wd\;csbox} +\newcommand\;curvesymbol{} \def\;curvesymbol{} + +\newcommand\curvedashes{\@ifnextchar[\;crvdshs{\;crvdshs[\unitlength]}} +\newcommand\;crvdshs{} +\def\;crvdshs[#1]#2{\;ucd#1\def\;icurvedashes{#2}\;ccnfalse \;pl\z@ + \@for \;ci:=#2\do{\ifdim\;ci\;ucd<\z@ \;ccntrue \@latexerr{\string + \curvedashes\space sign bad at \;ci}{\the\;negdash ^^J\@eha}% + \else \advance\;pl\;ci\;ucd \fi}\if;ccn\;pl\z@\fi} +\newcommand\;icurvedashes{} + +\newcommand\diskpitchstretch{\@ne} + +\newcommand\tagcurve{\@ifnextchar[\;tgcrv{\;tgcrv[0]}} +\newcommand\;tgcrv{} +\def\;tgcrv[#1](#2){\;coordn\tagcurve\thr@@{#2}{#1}\if;ccn + \scaleput(\;xb,\;yb){\;firstpoint \;tagcurve{#2}}\fi} + +\newcommand\scaleput{} +\long\def\scaleput(#1,#2)#3{\@killglue \;td#2\unitlength + \raise\yscale\;td \hbox to \z@{\kern\xscaley\;td \;td#1\unitlength + \kern\xscale\;td \raise\yscalex\;td \hbox{#3}\hss}\ignorespaces} +\newcommand\xscale{\@ne} +\newcommand\xscaley{0} +\newcommand\yscale{\@ne} +\newcommand\yscalex{0} + +% Plot first point if any. +\newcommand\;firstpoint{\;startline \ifdim\;pl=\z@\;point\relax\fi} + +% Calculates segment count, sine, cosine and differences then plots segments. +\newcommand\;drwarc{\;cc\;td \;np\;td \;td23\p@ \divide\;cc\;td + \;abs\;cc \advance\;cc\@ne \;pns\p@ \divide\;pns\tw@ + \divide\;np\;cc \;rc\;np \divide\;rc\;pns \;abs\;rc + \advance\;rc\@ne \divide\;np\;rc \multiply\;np\;pns \divide\;np14668 % + \multiply\;np\;rc \divide\;np\@cclvi \;scp\p@ \multiply\;scp\@cclvi + \;t\;pns \;csi\;csi\;csi\;csi \;rxy\;ddx\;ddy \divide\;rc\p@ + \advance\;rc\@ne \;rtc\;rc \advance\;rc\;rc \;ndd\;ddx \;ndd\;ddy + \;csi \;rxy\;ddx\;ddy \divide\;rc\;pns \advance\;rc\@ne + \@whilenum\;cc>\z@ \do{\advance\;cc\m@ne \;dx\;ddx \;dy\;ddy + \divide\;ddx\;rc \divide\;ddy\;rc \;td\;ddx \;ddx\;t\;td + \advance\;ddx-\;np\;ddy \;ddy\;t\;ddy \advance\;ddy\;np\;td + \divide\;ddx\;pns \divide\;ddy\;pns \;ddx\;rc\;ddx \;ddy\;rc\;ddy + {\;bezier \global\;ytd\;y \global\;tca\;overhang}\;y\;ytd \;overhang\;tca}} +\newcommand\;ndd[1]{\divide#1\;rc \multiply#1\;np \divide#1\;t #1\;rtc#1} +% Cosine and sine half angle iteration. +\newcommand\;csi{\;tcb\;np \multiply\;np\;t \divide\;np\;pns \;t\;tcb + \multiply\;t\;t \divide\;t-\;scp \advance\;t\;pns \divide\;scp4 } + +% Count the number of co-ordinate specified and warns if incorrect. +\newcommand\;coordn[4]{\;setpoint{#4}\ifx#1\closecurve\;cc\tw@\else\;cc\z@\fi + \@for\;ci:=#3\do{\advance\;cc\@ne + \ifcase\;cc \or \;d;f\;xa \or \;d;f\;ya \or \;d;f\;xb + \or \;d;f\;yb \or \;d;f\;xc \or \;d;f\;yc \fi + \ifx#1\closecurve\ifodd\;cc \;d;f\;xa \else \;d;f\;ya \fi\fi}% + \;ccnfalse \ifx#1\closecurve \advance\;cc-\tw@ \fi + \ifodd\;cc \@latexerr{\string #1\space points odd}{\the\;oddcoord ^^J\@eha}% + \else \divide\;cc\tw@ + \ifnum#2>\;cc \@latexerr{\string #1 needs \the#2 points}% + {\the\m;ssingcoord ^^J\@eha}% + \else \;ccntrue \fi\fi} + +% Sets symbol, character or disk depending on how line is to be plotted. +% Corrects overhang to be positive or zero but no greater than \;pl. +\newcommand\;setpoint[1]{\curvelength\z@ \let\;stopline\relax + \def\;point##1{\raise\;y\hbox{{\copy\;pt##1}}}\ch;ckcs + \ifnum#1=\z@\;scntfalse\else\;scnttrue\fi \;sc#1\relax \;abs\;sc \;psc\;sc + \ifdim\;pl>\z@ \;overhang\overhang + \ifnum\;overhang=\z@\else \;np\;overhang \divide\;np\;pl \multiply\;np\;pl + \ifnum\;overhang<\z@ \advance\;overhang\;pl + \else \ifnum\;overhang=\;np\advance\;overhang\;pl\fi + \fi \advance\;overhang-\;np \fi + \if;csym \if;scnt\;setdisk\else\;setsymbol\fi \else \;setdisk \fi\s;tpitch + \else\ifnum#1>\z@ \s;tcirc{\hss\vrule\@height\@wholewidth\@width\@wholewidth}% + \else\ifnum#1<\z@ \if;csym\;setsymbol\else\set;pt{}\fi + \else\;setdisk\s;tpitch + \fi\fi\fi \;y\dp\;pt \advance\;y-\ht\;pt \divide\;y\tw@} +\newcommand\;setsymbol{\s;tcirc{\hss\unhcopy\;csbox}\edef\;point{\;point\relax + \s;tcirc{\hss\noexpand\;curvesymbol}\global\setbox\;csbox\copy\;pt}} +\newcommand\s;tpitch{\;td\diskpitchstretch\p@ \;psc\;td} +\newcommand\;stopline{} \newcommand\;point{} + +% Sets LaTeX disk character and thickness. +\newcommand\;setdisk{\@killglue \ifdim\@halfwidth>\p@ + \set;pt{\@circ\@wholewidth{112}}\;linewidth{\wd\;pt}\s;tcirc{\unhbox\;pt}% + \else \;linewidth\@wholewidth \set;pt{}\fi \let\;stopline\;stopl;ne} + +% Check if curvesymbol exists and set switch. +\newcommand\ch;ckcs{\ifx\;curvesymbol\@empty\;csymfalse\else\;csymtrue\fi} + +% Makes zero width box \;pt of point +\newcommand\s;tcirc[1]{\set;pt to\z@{#1\hss}} + +% Set global box \;pt +\newcommand\set;pt{\global\setbox\;pt\hbox} + +% Plots last segment of curve from coordinates already read. +\newcommand\;endcurve{\;ecbezd\;dx\;ddx\;xa\;xb\;xc + \;ecbezd\;dy\;ddy\;ya\;yb\;yc \;bezier} +\newcommand\;ecbezd[5]{\;slcd#1#3#5\divide#14 #2-#1\advance#2#5\unitlength + \advance#2-#4\unitlength} + +% Reads coordinates of four points before going to difference calculation. +\newcommand\;tagcurve[1]{\ifnum\;cc=\thr@@ \;endcurve \else \;cc\z@ + \@for\;ci:=#1\do{\advance\;cc\@ne \ifnum\;cc>6 % + \ifodd\;cc \;slcd\;dx\;xa\;xc \let\;xa\;xb \let\;xb\;xc \;d;f\;xc + \else \t;gcrv \fi \fi}\fi} + +% Calculates differences over whole segment from four points. +\newcommand\t;gcrv{\;slcd\;dy\;ya\;yc \let\;ya\;yb \let\;yb\;yc \;d;f\;yc + \;rxy\;dx\;dy \divide\;dx\;rtc \divide\;dy\;rtc + \;ddx-\;ya\;dx \advance\;ddx\;xa\;dy \;ddy\;ddx + \advance\;ddx\;yb\;dx \advance\;ddx-\;xb\;dy + \advance\;ddy\;yc\;dx \advance\;ddy-\;xc\;dy + \;slbezd \;td\;ddy \divide\;td\@m + \ifdim\;td=\z@ \ifcurvewarn + \@warning{\the\;strline \;xa,\;ya\space to \;xb,\;yb}\fi \;slbez + \else \;td\unitlength \;rtc\;td \advance\;rtc\;rtc + \divide\;rtc\p@ \advance\;rtc\@ne \divide\;td\;rtc + \;t\;ddx \;scp\;t \;abs\;t + \advance\;t\;t \divide\;t\p@ \advance\;t\@ne \divide\;scp\;t + \multiply\;td\;scp \divide\;td\;ddy \multiply\;td\;rtc \multiply\;td\;t + \;ddx\;xc\;td \advance\;ddx-\;xa\;td \advance\;dx-\;ddx + \;ddy\;yc\;td \advance\;ddy-\;ya\;td \advance\;dy-\;ddy \;bezier \fi} + +% Avoid repeating {\;ci} +\newcommand\;d;f[1]{\edef#1{\;ci}} + +\newcommand\;slbezd{\;slcd\;dx\;xa\;xb \;slcd\;dy\;ya\;yb} + +% Calculates difference between two coordinates. +\newcommand\;slcd[3]{#1#3\unitlength \advance#1-#2\unitlength} + +% Calculates differences for bezier straight line. +\newcommand\;slbez{\divide\;dx\tw@ \;ddx\;dx \divide\;dy\tw@ \;ddy\;dy \;bezier} + +% Scales segment differences, then calculates segment pattern and disk count, +% and initial disk differences; selects line or dashes. +\newcommand\;bezier{\;scale\;dx\;dy \;scp\;rc \;scale\;ddx\;ddy + \advance\;scp\;rc \;bezc\;dx\;ddx \;bezc\;dy\;ddy \;rxy\;ddx\;ddy + \divide\;rc\p@ \advance\;rc\thr@@ + \;tc\;rc \;sroot\;sroot\;sroot \;t\;rc \;mcnd\@ne \;rxy\;dx\;dy + \advance\;rc\;scp \divide\;rc\thr@@ \global\advance\curvelength\;rc sp% + \ifdim\;pl>\z@ \;np\;rc \divide\;np\;psc + \ifnum\;t<\;np \;mcnd\;np \divide\;mcnd\;t + \divide\;np\;mcnd \multiply\;np\;mcnd \;t\;np + \fi \fi + \if;scnt\ifdim\;pl=\z@ \;t\;sc + \else\;np + \if;csym \;rc \divide\;np\;sc \advance\;np-\csdiameter + \;td\;pl \divide\;td\tw@ \advance\;np\;td \divide\;np\;pl + \ifnum\;np<\@ne\;np\@ne\fi \multiply\;np\;sc + \else \;sc \fi \advance\;t\;np \divide\;t\;np \multiply\;t\;np + \fi \fi \;rtc\;t \divide\;rtc\;mcnd \;tcb\;rtc \multiply\;tcb\;t + \advance\;rtc\m@ne \multiply\;rtc\;t \;tc\;t \advance\;tc\;tc + \;bezd\;dx\;ddx \;bezd\;dy\;ddy + \ifdim\;pl>\z@ \;dashes \else \let\n;xt\;spoints \;spoints \fi} +\newcommand\;scale[2]{\;td\xscale#1\advance\;td\xscaley#2% + #2\yscale#2\advance#2\yscalex#1#1\;td \;rxy#1#2} +\newcommand\;bezc[2]{\advance#1#1\advance#2#2\;td#2\advance#2-#1\advance#1\;td} +\newcommand\;bezd[2]{\divide#2\;tcb \;td#2\multiply\;td\;rtc \advance#1-\;td + \divide#1\;tc} + +% Plots a continuous line or equispaced squares or symbols along a segment. +\newcommand\;spoints{\advance\;y\;dy \kern\;dx + \;point\;stopline \advance\;t\m@ne + \ifnum\;t>\z@ \advance\;dx\;ddx \advance\;dy\;ddy + \else \let\n;xt\relax \fi \n;xt} + +% Calculates length of vector \;rc from coordinates #1,#2 +\newcommand\;rxy[2]{\;tc#1\;abs\;tc \;tcb#2\;abs\;tcb + \;rc\;tc \advance\;rc\;tcb + \ifnum\;rc>\z@ \;rtc\;rc \advance\;rtc\;rtc \divide\;rtc\p@ + \ifnum\;rtc>\z@ \advance\;rtc\@ne \divide\;tc\;rtc + \divide\;tcb\;rtc \divide\;rc\;rtc + \else \;rtc\@ne \fi \multiply\;tc\;tc \multiply\;tcb\;tcb + \advance\;tc\;tcb \;sroot \multiply\;rc\;rtc \fi} + +% Replaces argument by magnitude +\newcommand\;abs[1]{\ifnum#1<\z@ #1-#1\fi} + +% Iteration of square root calculation by Newton's method. +\newcommand\;sroot{\;rroot\;rroot\;rroot} +\newcommand\;rroot{\;tcb\;tc \divide\;tcb\;rc \advance\;rc\;tcb \divide\;rc\tw@} + +% Variable uses in \;dashes, \;scdashes, \;nscdashes, \;pdashes and \;dash. +% counts +% \;scp = distance between points. +% \;rc = length of Bezier segment. +% \;rtc = total points in Bezier segment. +% \;np = number of whole patterns in Bezier segment or scratch. +% \;overhang = of dash pattern past symbol or end of segment. +% \;pbs = total points between symbols +% \;pns = points to next symbol or dot. +% \;tc = number of points to blank for curve symbol. +% \;tcb = number of points along pattern. +% dimens +% \;pl = length of dash pattern. +% \;ucd = dash pattern unit length. + +% Initializes dash plot for segment and selects symbol count alternative. +\newcommand\;dashes{\let\;ticd\;icurvedashes \let\;tucd\;ucd \divide\;rc\;t + \;rtc\;t \;tc\;rc \advance\;tc\csdiameter \divide\;tc\;rc + \divide\;tc\tw@ \;t\;tc \multiply\;tc\tw@ \;ptfalse \;cnd\;mcnd + \;pbs\;rc \divide\;pbs\tw@ \advance\;overhang\;pbs \divide\;overhang-\;rc + \if;scnt \;scdashes \else \;nscdashes \fi \multiply\;overhang\;rc} + +% Plots dash pattern when a nonzero symbol count is specified. +\newcommand\;scdashes{\;pbs\;rtc \divide\;pbs\;sc \;ccss \;scp + \if;csym \;pl \multiply\;scp\;np \divide\;scp\;sc \advance\;pbs-\;tc + \else \;pbs \multiply\;scp\;rc \fi \;np\;overhang \;overhang\z@ + \divide\;scp\;pbs \;tcb\z@ \;pns\;t \;dash \;overhang\;np + \if;csym\else \advance\;overhang-\;tcb \advance\;rtc-\;tcb + \advance\;pbs-\;tc \fi + \;pns\;pbs \advance\;pns-\;np \if;csym\else\advance\;pns\;tcb\fi + \@whilenum\;rtc>\z@\do{\;pdashes \;ptfalse \;t\;tc \;pns\;t \;dash + \;pns\;pbs \;overhang\if;csym\;np\else-\;overhang\fi + \advance\;pns-\;overhang}\;overhang-\if;csym\;np\else\;overhang + \;ptfalse \;t\;tc \;tcb\;overhang + \divide\;t\tw@ \;rtc\;t \;pns\;t \;dash \fi} + +% Plots symbols at natural pattern length but shrinks pattern to fit between. +\newcommand\;nscdashes{\advance\;pbs\;pl \divide\;pbs\;rc + \if;csym \;bpdashes \fi \;ccss \;pns\;t + \;dash \advance\;pbs-\;tc \;scp\;pl \divide\;scp\;pbs \;pns\;pbs + \@whilenum\;rtc>\z@\do{\;pdashes \;ptfalse \;t\;tc \;pns\;t \;dash + \;pns\;pbs}\if;csym \else \divide\;tc\tw@ \advance\;overhang\;tc \fi} + +% If large symbol spaces, blank curve. +\newcommand\;ccss{\ifnum\;pbs>\;tc\else \;bpdashes \fi} + +% A blank or symbol plotting dash pattern +\newcommand\;bpdashes{\let\;tucd\;pl \let\;ticd\;ricd \;tc\z@ \;t\z@} +\newcommand\;ricd{1,0} + +% Reads dash pattern plotting dashes and spaces up to next symbol space. +\newcommand\;pdashes{\ifnum\;pns>\z@ \;td\z@ \;tcb\z@ \;ptfalse + \@for\;ci:=\;ticd \do{\advance\;td\;ci\;tucd \;t\;scp \divide\;t\tw@ + \advance\;t\;td \divide\;t\;scp \advance\;t-\;tcb \;dash + \if;pt\;ptfalse\else\;pttrue\fi}% + \let\n;xt\;pdashes \else \let\n;xt\relax \fi \n;xt} + +% Checks if dash or space occurs before or after curve, calculates fractions. +\newcommand\;dash{\ifnum\;t=\z@ + \if;csym \ifnum\;rtc>\z@ \if;pt\;point\;startline\fi \fi \fi + \else \advance\;tcb\;t \advance\;pns-\;t + \ifnum\;overhang<\z@ \advance\;overhang\;t + \;t \ifnum\;overhang<\z@ \z@ \else \;overhang \;overhang\;tcb \fi + \else \;overhang\;tcb \fi + \ifnum\;pns<\z@ \advance\;overhang\;pns \advance\;tcb\;pns + \advance\;t\;pns \;pns\z@ \fi \advance\;rtc-\;t + \ifnum\;rtc<\z@ \advance\;overhang\;rtc \advance\;t\;rtc\fi + \ifnum\;t>\z@ \if;pt\;point\;startline\fi \let\n;xt\;points \;points \fi\fi} + +% Plots a single dash or space depending on \if;pt. +\newcommand\;points{\ifnum\;t<\;cnd \;tca\;t \else \;tca\;cnd \fi + \advance\;y\;tca\;dy \kern\;tca\;dx \if;pt\;point\;stopline\fi + \ifnum\;t<\;cnd \let\n;xt\relax \advance\;cnd-\;t + \else \advance\;t-\;cnd \advance\;dx\;ddx \advance\;dy\;ddy \;cnd\;mcnd + \fi \n;xt} + +% Make `;' a punctuation mark again. + \catcode`\;=12 + +\endinput + + +MODIFICATION HISTORY +-------------------- +curves.sty 1.0 26 June 1991 +curves.sty 1.1 8 Jan 1992 large \diskpitchstretch and maximum integer=2^30 - 1. +curvesls.sty 1.0 21 Mar 1993 draw lines using emTeX dvidriver \special's. +1.1 23 April, 1993 corrected for large \curves and 2nd differences. +1.14 29 April, 1993 Alignment of spaces improved in \@nscdashes, \overhang + normalized. +1.15 1 May, 1993 Rounding errors in \nscdashes and \pdashes improved. +1.16 8 May, 1993 Reduced .dvi size and dots corrected. +1.2 23 May, 1993 Variable curve symbol introduced. +1.21 8 June, 1993 \unitlength corrected in \bigcircle. +1.22 15 June, 1993 \csb@x saves curve symbol, dash pattern selection rounded. +1.23 18 June, 1993 extra \@killglue and curve smoothing, test for + bad point order tightened. 1st network release. + 2517 words of TeX main memory. +1.30 9 July 1993 2nd network release. + Bugs Fixed: + Blank curve if \csdiameter too large; + Transfer of \@y and \@overhang from inner loop of \@drwarc; + Missing \pt@false in \@ncsdashes and \@pdashes; + Check for zero \@np in \@bezier. + Improvements (?): + New internal macros to save tokens; + Uses LaTeX error messages and warnings; + Checks \curvedashes signs; + Potential conflicts with other macros reduced with new \@y, \@tc; + Warns more readily and replaces possible inflexions with straight line; + Some internal variable names rationalized. + 2489 words of TeX main memory. +1.32 14 June 1994 3rd network release tested with LaTeX 2e of February 1994. +1.33 28 June 1994 4th network release tested with LaTeX 2e of 1 June 1994. + Redefines \bezier from June LaTeX 2e. + \@bezier renamed to \@Vbezier to avoid conflict with June LaTeX 2e. +1.40 20 August 1995 5th network release tested with LaTeX 2e of 1 June 1995. + Bug Fixed: Dashed curves use straight segments to reduce rounding error. + Improvements: + \curvewarnfalse stops warning of straight line use between points; + ; catcoded to character to protect internal names; + New internal macros save tokens and increase speed; + 1772 nett extra words of TeX main memory (LaTeX 2e 1995/6/1 pl1). +1.41 28 November 1996 \;points for wrong \;dy in dash. +1.42 12th August 2000 6th Network release and last tested and + working with LaTeX 2.09. + +CURVESLS SUMMARY +---------------- +The commands following are for the picture environment in the LaTeX manual. + +Arguments of Commands: + decimal number of blank. Not negative. + is anything which a \put or \multiput may plot. + are decimal numbers giving alternate x and y coordinates of + the curve as multiples of \unitlength, comma separated. +<[,dash...]> optional continuation of alternating dash and blank numbers + of unit lengths, comma separated. Not negative. Decimals allowed. + is a decimal number giving the diameter in \unitlengths. + is the number of symbols or patterns to be plotted, default 0. + unit length dimension e.g., 2.5mm, 10pt, used in measuring + blanks and dashes. Not negative. Default value is \unitlength. + +Lengths used by Commands: +\csdiameter is the size of the space left for a symbol and can be + increased or set with \settowidth{\csdiameter}{}. +\curvelength is the total length of the curve calculated before drawing + by using Simpson's rule once between each pair of coordinate points. +\overhang length of as drawn dash pattern overlapping start of dashes. + +Control Commands: +\curvewarntrue warns every time a straight line is used between points + to avoid possible worse errors (default). +\curvewarnfalse use the straight line without warning. + +Parameter Setting Commands: +\curvesymbol{} sets symbol and \csdiameter. +\curvedashes[]{<[,dash...]>} Drawing commands before a + \curvedashes or after one with an empty or zero length pattern will draw: + if is zero or missing, a continuous curve; + else if is positive, -1 squares of line + thickness size between and additional squares at coordinates or bezier + end points; + else if no exists, nothing; + else, --1 characters or symbols between coordinates and + additional ones at coordinates or bezier end points. +After a \curvedashes command defining a pattern whose length exceeds + zero, commands draw: + if is zero or missing then at a spacing equal to the + specified pattern length, + if no exists, a dash pattern reduced in length + by \csdiameter to fit between symbol spaces of \csdiameter, + else if \overhang is not 0pt, a at all positions, + else a with the first position blank; + else, \csdiameter wide symbol spaces, one at and ||-1 between + coordinate points with dash pattern lengths, + if no exists, exact but broken by the spaces, + else, adjusted to give a whole number of patterns between spaces. +\diskpitchstretch is initially 1 but \renewcommand can change it to a higher + value like 5 to save memory in drafts of complex documents or a lower local + value like 0.5 to smooth curve digitization. +\linethickness{} sets line or dash thicknesses to from 0.5pt up to + 15pt (0.17mm to 5mm). \thicklines and \thinlines also set the thickness. +\xscale, \xscaley, \yscale and \yscalex are scale factors initially set to + 1, 0, 1 and 0 respectively which \renewcommand or \def can reset. + +Curve Drawing Commands: +Curves drawn consist of parabolic arcs between coordinate points with +tangents at each point parallel to the straight line through adjacent points. +\arc[](X1,Y1){} draws a circular arc centred on current + position, starting from (X1,Y1) and proceeding counterclockwise for + degrees. +\bezier{}(X1,Y1)(X2,Y2)(X3,Y3) draws a curve through the points + (X1,Y1) and (X3,Y3) tangent to the straight lines joining them to (X2,Y2). + Faster and more powerful replacement for bezier.sty version. +\bigcircle[]{} draws a circle of diameter equal to + times \unitlength. +\closecurve[]() draws a closed curve with continuous + tangents at all points. At least 6 coordinates required. +\curve[]() draws a curve through the specified + . For 4 coordinates this is a straight line. +\scaleput(X1,Y1){} places a picture object in a position + scaled by \xscale, \xscaley, \yscale and \yscalex for axonometric projection + or rotations. +\tagcurve[]() draws a curve without its first and + last segments but if only 6 coordinates draws the last segment only. diff --git a/obsolete/macros/latex209/contrib/eclbip/eclbip.sty b/obsolete/macros/latex209/contrib/eclbip/eclbip.sty new file mode 100644 index 0000000000..478ecd2bcc --- /dev/null +++ b/obsolete/macros/latex209/contrib/eclbip/eclbip.sty @@ -0,0 +1,112 @@ +% eclbip.sty (C) Hideki ISOZAKI Nov. 24, 1990 +% \ignorespaces Dec.2, 1990 +% draw a bipartite graph with epic.sty + +\typeout{ECL Bipartite graph style file by isozaki Dec.2, 1990} + +\endlinechar=-1\relax +\makeatletter + +\newdimen\bip@len +\newbox\bip@box + +% #1...Width of Left Node Group +% #2...Width of Gap between Left Node Group and Right Node Group +% #3...Width of Right Node Group +% #4...Height of Vertical Gap between Nodes +% #5...Width of a Bullet and its Label + +\def\bipartite#1#2#3#4#5{ + \bip@init\bip@sep{#4} + \bip@init\bip@lW{#1} + \bip@init\bip@eW{#2} + \bip@init\bip@rW{#3} + \let\bip@lX=\bip@lW + \bip@init\bip@rX{\bip@lX\p@}\bip@add\bip@rX{#2} + \bip@init\bip@tX{\bip@rX\p@}\bip@add\bip@tX{#3} + \bip@init\bip@lY{\z@} + \bip@init\bip@rY{\z@} + \xdef\bip@bot{0.0} + \bip@init\bip@elX{\bip@lX\p@} + \bip@add\bip@elX{#5} + \bip@init\bip@erX{\bip@rX\p@} + \bip@add\bip@erX{-#5} + \unitlength=\p@ + \def\endbipartite{\endpicture + \hbox{\vrule\@depth\bip@bot\p@\@height\z@\@width\z@}} + \picture(\bip@tX,0)(0,0)\ignorespaces} + +% +% \leftnode[#1]{#2} +% #1=label, #2=content +% +% \leftnode{#1}=\leftnode[#1]{#1} +% + +\def\leftnode{\@dblarg{\@leftnode}} + +\def\@leftnode[#1]#2{ + \setbox\bip@box=\hbox to \z@{\hss + \@iparbox[c]{\bip@lW\p@}{\raggedleft #2}} + \bip@init\bip@halfH{-.5\ht\bip@box} + \bip@add\bip@halfH{-.5\dp\bip@box} + \bip@init\bip@corrY{\bip@halfH\p@} + \bip@add\bip@corrY{\dp\bip@box} + \bip@add\bip@lY{\bip@halfH\p@} + \put(\bip@lX,\bip@lY){\raise\bip@corrY\p@\box\bip@box} + \put(\bip@elX,\bip@lY){\makebox(0,0){$\bullet$}} + \expandafter\edef\csname bip@L#1\endcsname{\bip@lY} + \bip@add\bip@lY{\bip@halfH\p@} + \bip@max\bip@bot{-\bip@lY\p@} + \bip@add\bip@lY{-\bip@sep\p@}\ignorespaces} + +\def\rightnode{\@dblarg{\@rightnode}} + +\def\@rightnode[#1]#2{ + \setbox\bip@box=\hbox to \z@{ + \@iparbox[c]{\bip@rW\p@}{\raggedright #2}\hss} + \bip@init\bip@halfH{-.5\ht\bip@box} + \bip@add\bip@halfH{-.5\dp\bip@box} + \bip@init\bip@corrY{\bip@halfH\p@} + \bip@add\bip@corrY{\dp\bip@box} + \bip@add\bip@rY{\bip@halfH\p@} + \put(\bip@rX,\bip@rY){\raise\bip@corrY\p@\box\bip@box} + \put(\bip@erX,\bip@rY){\makebox(0,0){$\bullet$}} + \expandafter\edef\csname bip@R#1\endcsname{\bip@rY} + \bip@add\bip@rY{\bip@halfH\p@} + \bip@max\bip@bot{-\bip@rY\p@} + \bip@add\bip@rY{-\bip@sep\p@}\ignorespaces} + +% +% Draw Edges between Nodes +% + +\def\brush#1{\def\bip@brush{#1}\ignorespaces} +\brush{\drawline} + +\def\match#1#2{ + \bip@brush(\bip@elX,\@nameuse{bip@L#1})(\bip@erX,\@nameuse{bip@R#2}) + \ignorespaces} + +% +% (1) Avoidance of too much use of dimen. +% (2) Easy conversion between picture coord and real dimen +% ---> Keep dimen without 'pt' +% + +\def\bip@init#1#2{\bip@len=#2\relax + \edef#1{\expandafter\@RemoveDim\the\bip@len}} + +\def\bip@add#1#2{\bip@len=#1\p@\relax\advance\bip@len by #2\relax + \edef#1{\expandafter\@RemoveDim\the\bip@len}} + +\def\bip@max#1#2{\bip@len=#1\p@\relax + \ifdim\bip@len<#2\relax\bip@len=#2 + \xdef#1{\expandafter\@RemoveDim\the\bip@len}\fi} + +{\catcode`\p=12 \catcode`\t=12 +\gdef\@RemoveDim#1pt{#1}} + +\endlinechar=13\relax + +\endinput diff --git a/obsolete/macros/latex209/contrib/eclbip/eclbipsample.tex b/obsolete/macros/latex209/contrib/eclbip/eclbipsample.tex new file mode 100644 index 0000000000..c03df4343b --- /dev/null +++ b/obsolete/macros/latex209/contrib/eclbip/eclbipsample.tex @@ -0,0 +1,148 @@ +\documentstyle[epic,eepic,eclbip]{article} + + +\title{A bipartite graph macro} + +\author{Hideki ISOZAKI\\NTT Basic Research Labs \& Stanford Univ.} + +\date{Nov. 30, 1990} + +\begin{document} + +\maketitle + +\section{Setup} + +Include epic.sty and eclbip.sty\footnote{Electrical +Communications Labs} +in your \verb|\documentstyle| +option as below. +\begin{verbatim} +\documentstyle[epic,eclbip]{article} +\end{verbatim} +If your printer driver accepts tpic commands, +you should specify eepic.sty after epic.sty. +\begin{verbatim} +\documentstyle[epic,eepic,eclbip]{article} +\end{verbatim} +As eepic.sty redefines some macros defined in epic.sty, +Do not reverse this order. + +\section{bipartite environment} + +A bipartite graph is drawn by {\it bipartite} environment. +The {\it bipartite} environment has five arguments. +They represent the following parameters. +\begin{enumerate} +\item Maximum width of labels in the left node group. +\item Width of gap between the left node group and the right node group. +\item Maximum width of labels in the right node group. +\item Minimum height of vertical gaps between node labels. +\item Width between a node (bullet) and its label. +\end{enumerate} +Labels in the left node group +should be specified by \verb|\leftnode| in this environment. +Labels in the right node group +should be specified by \verb|\rightnode| in this environment. + +An edge between a left node and a right node can be drawn +by \verb|\match| command. + +If you write +\begin{verbatim} +\begin{bipartite}{2cm}{1.5cm}{2cm}{3mm}{2mm} +\leftnode{xxx} +\leftnode{yyy} +\leftnode{zzz} +\rightnode{aaa} +\rightnode{bbb} +\rightnode{ccc} +\match{xxx}{ccc} +\end{bipartite} +\end{verbatim} +you get +\begin{bipartite}{2cm}{1.5cm}{2cm}{3mm}{2mm} +\leftnode{xxx} +\leftnode{yyy} +\leftnode{zzz} +\rightnode{aaa} +\rightnode{bbb} +\rightnode{ccc} +\match{xxx}{ccc} +\end{bipartite}. + +Even if labels are long, +you don't have to type them many times as arguments of \verb|\match|. +You can give short names for +\verb|\leftnode| and \verb|\rightnode| as options, +and you can use them as arguments of \verb|\match|. + +If you write +\begin{verbatim} +\begin{bipartite}{2cm}{1.5cm}{2cm}{3mm}{2mm} +\leftnode[x]{xxx is very long} +\leftnode{yyy} +\leftnode{zzz} +\rightnode{aaa} +\rightnode[b]{bbb is very long} +\rightnode{ccc} +\match{x}{ccc} +\match{yyy}{b} +\end{bipartite} +\end{verbatim} +you get +\begin{bipartite}{2cm}{1.5cm}{2cm}{3mm}{2mm} +\leftnode[x]{xxx is very long} +\leftnode{yyy} +\leftnode{zzz} +\rightnode{aaa} +\rightnode[b]{bbb is very long} +\rightnode{ccc} +\match{x}{ccc} +\match{yyy}{b} +\end{bipartite}. + + +\section{Line attribute} +You can draw not only solid lines but also +dotted lines and dash lines. +epic.sty and eepic.sty define several commands for them. +If you want to use +\begin{verbatim} +\dashline[65]{3}(x1,y1)(x2,y2) +\end{verbatim} +to draw lines, use \verb|\brush| command +before corresponding \verb|\match| command. +\begin{verbatim} +\brush{\dashline[65]{3}} +\end{verbatim} + +If you write +\begin{verbatim} +\begin{bipartite}{2cm}{1.5cm}{2cm}{3mm}{2mm} +\leftnode{xxx} +\leftnode{yyy} +\leftnode{zzz} +\rightnode{aaa} +\rightnode{bbb} +\rightnode{ccc} +\match{xxx}{ccc} +\brush{\dottedline{3}} +\match{zzz}{bbb} +\end{bipartite} +\end{verbatim} +you get +\begin{bipartite}{2cm}{1.5cm}{2cm}{3mm}{2mm} +\leftnode{xxx} +\leftnode{yyy} +\leftnode{zzz} +\rightnode{aaa} +\rightnode{bbb} +\rightnode{ccc} +\match{xxx}{ccc} +\brush{\dottedline{3}} +\match{zzz}{bbb} +\end{bipartite}. + +\end{document} + diff --git a/obsolete/macros/latex209/contrib/eclbip/ecltree.sty b/obsolete/macros/latex209/contrib/eclbip/ecltree.sty new file mode 100644 index 0000000000..927f50a54b --- /dev/null +++ b/obsolete/macros/latex209/contrib/eclbip/ecltree.sty @@ -0,0 +1,142 @@ +% ecltree.sty (C) hideki isozaki Nov. 12, 1990 +% +% In this style file, I intentionally didn't use ordinary +% terms such as \tree, \subtree, \leaf etc. +% because I will use different tree macros in one file. +% +% This macro needs epic.sty +% Confirm your epic.sty does not contain \makeatother at EOF. + +\makeatletter +\typeout{ECL Tree graph macro by isozaki, Nov. 12, 1990} + +% Ignore End Of Line + +\endlinechar=-1\relax + +% Dimensions and Boxes : See below + +\newdimen\@BundleWidth +\newdimen\@BundleDepth +\newdimen\@BundleHeight +\newbox\@NodeBox +\newdimen\GapDepth +\GapDepth=15\p@ +\newdimen\GapWidth +\GapWidth=4\p@ +\newdimen\EdgeLabelSep +\EdgeLabelSep=7\p@ + +% +% --------------- - +% | \@TopLabel | | +% --------------- - | +% (\@SupportX,\@SupportY) | | +% / \ | | +% / \ | | +% / \ | \GapDepth | \@BundleHeight +% / \ | | +% / \ | | +%(\@HandleX,0) \ | | +% -------------- -------------- - - +% | \@NodeBox | | \@NodeBox | | \@BundleDepth +% | | -------------- | +% -------------- - +% |---| +% \GapWidth +% +% |-----------------------------| +% \@PicWidth + +% +% The main environment to make a (sub)tree: bundle +% \begin{bundle} \chunk_1 \chunk_2 ... \chunk_n \end{bundle} +% +\def\bundle#1{\leavevmode\hbox\bgroup + \endlinechar=-1 + \def\@TopLabel{#1} + \def\@HandleList{} + \def\@EdgeLabels{} + \edef\@EdgeLabelsY{\expandafter\@RemoveDim\the\EdgeLabelSep} + \unitlength=\p@ + \@BundleWidth=\z@ + \@BundleHeight=\z@ + \@BundleDepth=\z@ + \ignorespaces} + +\def\endbundle{ + \advance\@BundleWidth by -\GapWidth + \hskip-\GapWidth + \setbox\@NodeBox=\hbox{\vbox{\null\@TopLabel}} + \advance\@BundleHeight by \GapDepth + \advance\@BundleHeight by \ht\@NodeBox + \advance\@BundleHeight by \dp\@NodeBox + \vrule\@height\@BundleHeight\@width\z@\@depth\@BundleDepth + \edef\@SupportY{\expandafter\@RemoveDim\the\GapDepth} + \edef\@SupportX{\expandafter\@RemoveDim\the\@BundleWidth} + \setbox\@NodeBox=\hbox to \z@{\hss\@TopLabel\hss} + \hskip-\@BundleWidth + \edef\@EdgeLabels{\@EdgeLabels{}} + \edef\@PicWidth{\expandafter\@RemoveDim\the\@BundleWidth} + \@BundleWidth=0.5\@BundleWidth + \edef\@SupportX{\expandafter\@RemoveDim\the\@BundleWidth} + \@DrawBundle} + + +\def\@DrawBundle{ + \begin{picture}(\@PicWidth,0)(0,0) + \edef\@HandleList{\expandafter\@cdr\@HandleList\@nil} + \@for\@HandleX:=\@HandleList\do{ + \@DrawLine(\@SupportX,\@SupportY)(\@HandleX,0) + \put(\@HandleX,\@EdgeLabelsY){ + \makebox(0,0){\expandafter\@car\@EdgeLabels\@nil}} + \edef\@EdgeLabels{\expandafter\@cdr\@EdgeLabels\@nil}} + \put(\@SupportX,\@SupportY){\raise\dp\@NodeBox\box\@NodeBox} + \end{picture}\egroup} + + +% +% \chunk[#1]{#2} means a leaf or a subtree. +% #1 ... Label for the edge which connects the leaf or the subtree +% with its parent node. (optional argument) +% #2 ... Label for the leaf or the subtree +% + +\def\chunk{\@ifnextchar[{\@chunk}{\@chunk[]}} + +\def\@chunk[#1]#2{\edef\@EdgeLabels{\@EdgeLabels{#1}} + \setbox\@NodeBox=\vtop{\null\hbox{#2}} + \advance\@BundleWidth by 0.5\wd\@NodeBox + \ifnum\@BundleDepth<\dp\@NodeBox + \@BundleDepth=\dp\@NodeBox\fi + \edef\@HandleList{\@HandleList, + \expandafter\@RemoveDim\the\@BundleWidth} + \advance\@BundleWidth by 0.5\wd\@NodeBox + \advance\@BundleWidth by \GapWidth + \box\@NodeBox\hskip\GapWidth + \ignorespaces} + +% To change line attribute +% ex. +% \drawwith{\path} ... efficient solid line defined by eepic.sty +% \drawwith{\dashline{2}} + +\def\drawwith#1{\def\@DrawLine{#1}} + +% Default +\drawwith{\drawline} + +% Ordinary catcode for p and t is 11 +% Application of \the to dimen generates text such as 1.0pt. +% This pt's catcode is 12. + +{\catcode`\p=12 \catcode`\t=12 +\gdef\@RemoveDim#1pt{#1}} + +% Restore original End Of Line + +\endlinechar=13\relax + +\endinput + + diff --git a/obsolete/macros/latex209/contrib/eclbip/ecltreesample.tex b/obsolete/macros/latex209/contrib/eclbip/ecltreesample.tex new file mode 100644 index 0000000000..712470c820 --- /dev/null +++ b/obsolete/macros/latex209/contrib/eclbip/ecltreesample.tex @@ -0,0 +1,247 @@ +\documentstyle[epic,eepic,ecltree]{article} + +\title{A tree macro} + +\author{Hideki ISOZAKI\\NTT Basic Research Labs \& Stanford Univ.} + +\date{Nov. 30, 1990} + + +\addtolength{\textwidth}{12pt} + +\begin{document} + +\maketitle + + +\section{Setup} + +Include epic.sty and ecltree.sty\footnote{Electrical Communications Labs} +in your \verb|\documentstyle| +option as below. +\begin{verbatim} +\documentstyle[epic,ecltree]{article} +\end{verbatim} +If your printer driver accepts tpic commands, +you should specify eepic.sty after epic.sty. +\begin{verbatim} +\documentstyle[epic,eepic,ecltree]{article} +\end{verbatim} +As eepic.sty redefines some macros defined in epic.sty, +Do not reverse this order. + +\section{bundle environment} + +A tree is drawn by {\it bundle} environment. +The {\it bundle} environment has one argument. +This argument specifies the top node label. +Leaves should be specified by \verb|\chunk| in this environment. + +If you write +\begin{verbatim} +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{bbb} +\chunk{ccc} +\end{bundle} +\end{verbatim} +you get +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{bbb} +\chunk{ccc} +\end{bundle}. + +You can nest the {\it bundle} environment. +If you write +\begin{verbatim} +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{ + \begin{bundle}{yyy} + \chunk{bbb} + \chunk{ddd} + \end{bundle}} +\chunk{ccc} +\end{bundle} +\end{verbatim} +you get +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{ + \begin{bundle}{yyy} + \chunk{bbb} + \chunk{ddd} + \end{bundle}} +\chunk{ccc} +\end{bundle}. + +\section{Line attribute} + +You can draw not only solid lines but also +dotted lines and dash lines. +epic.sty and eepic.sty define several commands for them. +If you want to use +\begin{verbatim} +\dashline[65]{3}(x1,y1)(x2,y2) +\end{verbatim} +to draw lines, use \verb|\drawwith| command +before (or in) the bundle environment. +\begin{verbatim} +\drawwith{\dashline[65]{3}} +\end{verbatim} + +\drawwith{\dashline[65]{3}} +Then you get +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{ + \begin{bundle}{yyy} + \chunk{bbb} + \chunk{ddd} + \end{bundle}} +\chunk{ccc} +\end{bundle}. + +The argument of \verb|\drawwith| is evaluated +at \verb|\end{bundle}|. Hence, if you write +\begin{verbatim} +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{ + \begin{bundle}{yyy} + \drawwith{\drawline} + \chunk{bbb} + \drawwith{\dashline[65]{3}} + \chunk{ddd} + \end{bundle}} +\drawwith{\dottedline{3}} +\chunk{ccc} +\end{bundle} +\end{verbatim} +you get +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{ + \begin{bundle}{yyy} + \drawwith{\drawline} + \chunk{bbb} + \drawwith{\dashline[65]{3}} + \chunk{ddd} + \end{bundle}} +\drawwith{\dottedline{3}} +\chunk{ccc} +\end{bundle}. + +You can nest the \verb|\drawwith|. If you write +\begin{verbatim} +\drawwith{\drawwith{\drawwith{\dottedline{3}}\drawline}\dashline{3}} +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{ + \begin{bundle}{yyy} + \chunk{bbb} + \chunk{ddd} + \chunk{eee} + \end{bundle}} +\chunk{ccc} +\chunk{fff} +\end{bundle} +\end{verbatim} +you get +\drawwith{\drawwith{\drawwith{\dottedline{3}}\drawline}\dashline{3}} +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{ + \begin{bundle}{yyy} + \chunk{bbb} + \chunk{ddd} + \chunk{eee} + \end{bundle}} +\chunk{ccc} +\chunk{fff} +\end{bundle}. +Thus the nested \verb|\drawwith| is used in the reverse order. + +\section{Edge labels} + +You can write edge labels. They should be specified as the optional +argument of \verb|\chunk|. Note that the width of an edge label +is neglected. If you write +\drawwith{\drawline} +\begin{verbatim} +\begin{bundle}{xxx} +\chunk[left]{aaa} +\chunk{ + \begin{bundle}{yyy} + \chunk{bbb} + \chunk{ddd} + \end{bundle}} +\chunk[right]{ccc} +\end{bundle} +\end{verbatim} +you get +\begin{bundle}{xxx} +\chunk[left]{aaa} +\chunk{ + \begin{bundle}{yyy} + \chunk{bbb} + \chunk{ddd} + \end{bundle}} +\chunk[right]{ccc} +\end{bundle}. + + +\section{Spacing} + +The {\it bundle} environment +has three parameters for spacing. + +\begin{itemize} + +\item \verb|\GapDepth| means minimum height of gaps between +adjacent nodes. + +\item \verb|\GapWidth| means minimum width of gaps between +adjacent nodes. + +\item \verb|\EdgeLabelSep| means height of an edge label +from the lower node of the edge. + +\end{itemize} + +You should set these parameters before the {\tt bundle} environment +if you dislike default values. + +If you write +\begin{verbatim} +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{ + \setlength{\GapDepth}{5pt} + \setlength{\GapWidth}{5pt} + \begin{bundle}{yyy} + \chunk{bbb} + \chunk{ddd} + \end{bundle}} +\chunk{ccc} +\end{bundle} +\end{verbatim} +you get +\begin{bundle}{xxx} +\chunk{aaa} +\chunk{ + \setlength{\GapDepth}{5pt} + \setlength{\GapWidth}{5pt} + \begin{bundle}{yyy} + \chunk{bbb} + \chunk{ddd} + \end{bundle}} +\chunk{ccc} +\end{bundle}. + + + + +\end{document} + diff --git a/obsolete/macros/latex209/contrib/epsfig/README.unix b/obsolete/macros/latex209/contrib/epsfig/README.unix new file mode 100644 index 0000000000..788eff6e07 --- /dev/null +++ b/obsolete/macros/latex209/contrib/epsfig/README.unix @@ -0,0 +1,43 @@ +REQUIREMENTS + + o Perl + o GNU gunzip. + o UNIX (maybe). + +INSTALLATION. + + o Edit the Makefile installation paths. + o Edit the config variables at the beginning of the perl scripts "epsfig" + and "epsbb". + o Type 'make install' (or 'make -n install' to see what its gonna do). + +MANIFEST + + o README -- you're reading it. + o Makefile -- just does installation. + o epsbb -- will construct *.bb files, and compress ps files either + individually or for a whole directory. + o epsfig -- Used by dvips. Will try to find file on TEXINPUTS path + print that file to stdout. Will gnuzip where necessary. + o epsfig.sty -- slightly modified version incorporating epsfig. By default + epsbb will be applied to the \epsfig files when dvips is + run. This can be turned off with the control sequence + \psnocompress and on again with \pscompress. + +DOCUMENTATION + + Minimal. See above, read the beginning comments in the perl scripts, and + the comments in epsfig.sty. + +PROBLEMS + + I really hacked this up quickly because I some problems with the way + decompression was implemented in the original epsfig.sty. It seems to work + on our setup but no guarantees. + + Suggestions, comments regarding the decompressions stuff mail me: + peta@mcrcim.mcgill.edu (Peter Whaite). + + I wouldn't have a clue about any of the other epsfig.sty things. Best mail + the author: rahtz@dxcern.cern.ch (Sebastian Rahtz). + diff --git a/obsolete/macros/latex209/contrib/epsfig/epsbb b/obsolete/macros/latex209/contrib/epsfig/epsbb new file mode 100644 index 0000000000..8e8fbccab1 --- /dev/null +++ b/obsolete/macros/latex209/contrib/epsfig/epsbb @@ -0,0 +1,68 @@ +#!/usr/local/bin/perl +# +# Extract Bounding Box *.bb and compress postscript figure files. +# +# usage: epsbb --- For all files in the current directory. +# epsbb DIR --- For all files in the directory DIR. +# epsbb FILES... --- For all the FILES on the command line +# +# Author: Peter Whaite (peta@mcrcim.mcgill.edu) +# Centre for Intelligent Machines, McGill University. +$RCSVERSION='$Id: epsbb,v 1.2 1993/09/05 20:16:45 peta Exp $'; + +## USER CONFIG -- edit the following to suit your system. +# +$GZIP='/usr/local/bin/gzip'; +$ZCAT='/usr/local/bin/gunzip -c'; +# +## END USER CONFIG + +@ARGV=<*> unless ($#ARGV>=0); # epsbb +@ARGV=<$ARGV[0]/*> if ($#ARGV==0 && (-d $ARGV[0])); # epsbb DIR + +FILE: while ($_=shift) +{ + /\.bb$/ && next; + -e ($eps=$_) || -e ($eps="$_.gz") || -e ($eps="$_.z") || -e ($eps="$_.Z") + || do { warn("$_ does not exist\n"); next;}; + -f $eps || do { warn("$eps not a plain file\n"); next;}; + $epsf = $eps; + $compressed = 0; + $eps =~ /^(.*)\.(gz|z|Z)$/ && do + { + $eps = $1; + $epsf = "$ZCAT $eps|"; + $compressed = 1; + }; + + open(EPS,$epsf) || do {warn("$0: $epsf: $!\n"); next;}; + while () + { + /^%[%\w]*BoundingBox/ && do + { + open(BB,">$eps.bb") || do + { + warn("$0: $eps.bb: $!\n"); + next FILE; + }; + print STDERR "Writing $eps.bb"; + print BB; + close BB; + if (!$compressed) + { + print STDERR ", compressing $eps..."; + system("$GZIP $eps") unless $compressed; + } + print STDERR "\n"; + close EPS; + next FILE; + }; + }; + close EPS; + warn("$eps has no bounding box\n"); +} + +# Local Variables: +# mode: perl +# auto-fill-hook: do-auto-fill +# End: diff --git a/obsolete/macros/latex209/contrib/epsfig/epsfig b/obsolete/macros/latex209/contrib/epsfig/epsfig new file mode 100644 index 0000000000..71d39bc1ce --- /dev/null +++ b/obsolete/macros/latex209/contrib/epsfig/epsfig @@ -0,0 +1,62 @@ +#!/usr/local/bin/perl +# +# usage: epsfig [-c] FILE +# +# Write (possibly compressed) epsfig FILE to stdout. The TEXINPUTS path is +# searched for FILE{,.gz,z,Z}. With the -c option the FILE is gziped and +# FILE.bb is generated. If FILE is in the system default $SYSTEXINPUTS path +# no attempt is made to epsbb it. +# +# Used by epsfig.sty inside backquoted dvips specials. +# +# Author: Peter Whaite (peta@mcrcim.mcgill.edu) +# Centre for Intelligent Machines, McGill University. +# $Id: epsfig,v 1.3 1993/09/13 22:55:00 peta Exp $ + +## USER CONFIG -- edit the following to suit your system. +# +$SYSTEXINPUTS='.:/usr/local/tex/lib/texinputs'; +$ZCAT='/usr/local/bin/gunzip -c'; +# +## END USER CONFIG + +while ($_=shift,/^-/) +{ + /^-c/ && do {$compress++;next}; + die "$0: bad option $_\nusage: $0 [-c] \n"; +} +die "usage: $0 [-c] \n" unless $#ARGV == -1; +$file=$_; + +$TEXINPUTS=$ENV{'TEXINPUTS'}; +$TEXINPUTS .= $SYSTEXINPUTS if ((! $TEXINPUTS)||($TEXINPUTS =~ /:$/)); +@SYSTEXINPUTS = split(/:/,$SYSTEXINPUTS); +@TEXINPUTS = split(/:/,$TEXINPUTS); + +foreach $dir (@TEXINPUTS) +{ + $epsf = "$dir/$file"; + (-f $epsf) && do {$cmd = "$epsf"; $uncompressed=1; last;}; + (-f "$epsf.gz") && do {$cmd="$ZCAT $epsf|"; last;}; + (-f "$epsf.z") && do {$cmd="$ZCAT $epsf|"; last;}; + (-f "$epsf.Z") && do {$cmd= "$ZCAT $epsf|"; last;}; +} +$cmd || die("$0: $file.{z,gz,Z} not found\n"); + +open(EPSF,$cmd) || die("$0: $cmd: $!\n"); +while () +{ + print; +} +close EPSF; + +if ($compress && $uncompressed) +{ + exit(0) if (grep(/^$dir$/,@SYSTEXINPUTS) && ($dir =~ m#^/#)); + system("epsbb $epsf"); +}; + +# Local Variables: +# mode: perl +# auto-fill-hook: do-auto-fill +# End: diff --git a/obsolete/macros/latex209/contrib/epsfig/epsfig.2e b/obsolete/macros/latex209/contrib/epsfig/epsfig.2e new file mode 100644 index 0000000000..3e86ec981b --- /dev/null +++ b/obsolete/macros/latex209/contrib/epsfig/epsfig.2e @@ -0,0 +1,1337 @@ +%---------------------------------------------- +\NeedsTeXFormat{LaTeX2e} +\def\fileversion{2}% +\def\filedate{1994/01/25}% +\ProvidesPackage{epsfig}[\filedate] +\message{ Epsfig } +% minimal reworking for LaTeX2e! +% +% this will be all be rewritten when the LaTeX2e includegraphics +% comes out. +% +% SPQR Jan 94 +% +%%%-------------------------------------------------------------------- +%%% psfig merged with EPSF = epsfig Release 1 +%%% 1.0 November 91 +%%% 1.1 Dec 91 fixed some bugs +%%% 1.2 Jan 92 fixed bug that it never stopped reading PS file until +%%% it reached the end! merged in changes from psfig1.8 +%%% (plain TeX definition of \fbox, new code for rotation) +%%% 1.3 Jan 92 separated out \special code so that dvitops can be +%%% supported. use \psfigdriver{dvitops}% +%%% 1.4 Jan 92 fixed dvitops. need to input psfig at different point +%%% in dvips from dvitops. define \psfig@start and \psfig@end to cope +%%% with this +%%% 1.5 Jan 92 force use of psfig method if using dvitops +%%% 1.6 May 92 fixed bugs +%%% 1.7 Sep 92 added support for emtex, sort of. reads a .bb file +%%% and imports .pcx file. Boolean flag \epsfigdos used +%%% to indicate that we cannot have more than one . in the +%%% suffix (ie we will look at file.bb not file.eps.bb) +%%% +%%% 1.8 Sep 92 added support for OzTeX; fixed bugs in dvips support +%%% (including clipping to bounding box); removed use of dimen100. +%%% +%%% 1.9 Dec 92 cleaned up documentation again +%%% 1.10 Mar 93 cleaned up for plain TeX +%%% 1.11 Mar 93 merged in changes by Peter Galko (supplied by CERN) for +%%% use with Textures +%%% 1.12 Apr 93 actually *tested* the Textures additions, and so rewrote +%%% from scratch (borrowed an idea from psbox) +%%% 1.13 May 93 allow for file names with _ or $ in them in \psdraft, and +%%% fix problem that occurred with missing BoundingBox +%%% 1.14 May 93 allow for .z suffix +%%% 1.15 July 93 allow for .gz suffix +%%% use \leavevmode as appropriate +%%% fix plain \TeX mode +%%% (fixes from Peter-Klaus Schilling ) +%%% 1.16 August 93 [peta@mcrcim.mcgill.edu (Peter Whaite)] +%%% -- Implement Perl scripts to do compressed file inclusion and bb +%%% generation. +%%% -- Add \pscompress. +%%% -- Tidy up comments. +%%% 1.17 September 93 SPQR +%%% better code for literal name printing +%%% allowed for spaces around , and = +%%% 1.18 17.9.93 +%%% updates to epsbb and epsfig from Peter W +%%% 1.19 14.11.93 +%%% mistaken placement of calculation of EPS@Height resulted in errors +%%% +%-------------------------------------------------------- +%%% +%%% code rearranged by Sebastian Rahtz (spqr@uk.ac.york.minster) +%%% from work by +%%% Trevor Darrell; Tom Rokicki; Daniel Smith; H. Payne, Robert Russell +%%% +%%% This is a version of Darrell's `psfig' macros which are designed +%%% to be used with dvips or dvitops, and the `epsf' macros (these are +%%% automaticaly included by the style file). I did this because the +%%% \special commands used by `epsf' appear to be more robust and +%%% portable than the raw \specials used by `psfig', but I preferred +%%% the psfig interface. This system preserves the psfig interface, +%%% but mainly uses epsf macros to carry out the job. The user +%%% interface is identical to \psfig, but you just use \epsfig +%%% instead. Rotation uses the original psfig macros: I could not work +%%% out how to do rotation with the epsf macros. +%%% +%%% The same applies to `rheight' and `rwidth' +%%% +%%% If you *really* want old psfig behaviour regardless, use \psfig. It is +%%% still there. Some of the features have gone, however. \figurepath +%%% seemed redundant, since it could be controlled by the TEXINPUTS +%%% variable anyway. +%%% +%%% As an added feature, if FILE cannot be found, a file called FILE.bb +%%% is searched for. This should simply contain a %%BoundingBox line. A perl +%%% script "epsbb" is provided to generate these automatically. It is +%%% assumed that if this exists, then the actual postscript is in UNIX +%%% compress format in FILE.Z or in GNU gzip format in FILE.gz or FILE.z. +%%% +%%% The macros then read the BB from FILE.bb, but insert "`epsfig FILE`" in +%%% the output for dvips to interpret (don't worry, it knows about this). +%%% "Epsfig" is another perl script which searches the TEXINPUTS path for +%%% FILE or FILE.{gz,z,Z}. +%%% +%%% As an added bonus if you say \pscompress the -c switch will be passed to +%%% epsfig, causing automatic FILE.bb generation and compression the first +%%% time dvips is run. Files in the system directories will NOT be +%%% compressed. +%%% If you are *not* on a Unix system and use this, deliberately or by +%%% mischance, you will have problems! +%%% +%%% This file can be included in a dumped format, or used as a LaTeX +%%% style file, or used in plain TeX. It does not load itself twice (I hope) +%%% +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- +%%% previous notes. this copy of psfig.tex inherited from versions 1.8 +%-------------------------------------------------------------------- +%%% All psfig/tex software, documentation, and related files +%%% in this distribution of psfig/tex are +%%% Copyright 1987, 1988, 1991 Trevor J. Darrell +% +%%% Permission is granted for use and non-profit distribution of psfig/tex +%%% providing that this notice be clearly maintained. The right to +%%% distribute any portion of psfig/tex for profit or as part of any commercial +%%% product is specifically reserved for the author(s) of that portion. +%%% +%%% Thanks to Greg Hager (GDH) and Ned Batchelder for their contributions +%%% to this project. +%%%-------------------------------------------------------------------------- +%%% GDH 7/26/87 -- changed so that it first looks in the local directory, +%%% then in a specified global directory for the ps file. +%%% SPQR 12/91 removed that last change. it follows TEXINPUTS anyway +%%% RPR 6/25/91 -- changed so that it defaults to user-supplied name if +%%% boundingbox info is specified, assuming graphic will be created by +%%% print time. +%%% SPQR 12/91 removed that last change. use LaTeX error message instead +%%% SPQR 12/91 -- `no file found' produces LaTeX error message. +%%% If you recover from that the file name is set in draft +%%% mode in place of the file. +%%% +%%% Modified by J. Daniel Smith on 9 October 1990 to accept the +%%% %%BoundingBox: comment with or without a space after the colon. Stole +%%% file reading code from Tom Rokicki's EPSF.TEX file (see below). +%%% --- SPQR 12.91 removed most of this to use epsf directly +%%% +%%% More modifications by J. Daniel Smith on 29 March 1991 to allow the +%%% the included PostScript figure to be rotated. The amount of +%%% rotation is specified by the "angle=" parameter of the \epsfig command. +%%% +%%% Modified by Robert Russell on June 25, 1991 to allow users to specify +%%% .ps filenames which don't yet exist, provided they explicitly provide +%%% boundingbox information via the \epsfig command. Note: This will only work +%%% if the "file=" parameter follows all four "bb???=" parameters in the +%%% command. This is due to the order in which psfig interprets these params. +%%% ---- SPQR 12.91 removed all this +%%% +%%% 3 Jul 1991 JDS check if file already read in once +%%% +%-----------------------------USAGE--------------------------------------- +% From: gvr@cs.brown.edu (George V. Reilly) +% +% \psdraft draws an outline box, but doesn't include the figure +% in the DVI file. Useful for previewing. +% +% \psfull includes the figure in the DVI file (default). +% +% \psscalefirst width= or height= specifies the size of the figure +% before rotation. +% \psrotatefirst (default) width= or height= specifies the size of the +% figure after rotation. Asymetric figures will +% appear to shrink. +% +% usage: \epsfig{file=, figure=, height=, width=, +% bbllx=, bblly=, bburx=, bbury=, +% rheight=, rwidth=, clip=, angle=, silent=}% +% +% "file" is the filename. If no path name is specified and the +% file is not found in the current directory, +% it will be looked for in directory \psfigurepath. +% "figure" is a synonym for "file". +% By default, the width and height of the figure are taken from +% the BoundingBox of the figure. +% If "width" is specified, the figure is scaled so that it has +% the specified width. Its height changes proportionately. +% If "height" is specified, the figure is scaled so that it has +% the specified height. Its width changes proportionately. +% If both "width" and "height" are specified, the figure is scaled +% anamorphically. +% "bbllx", "bblly", "bburx", and "bbury" control the PostScript +% BoundingBox. +% "rheight" and "rwidth" are the reserved height and width +% of the figure, i.e., how big TeX actually thinks +% the figure is. They default to "width" and "height". +% The "clip" option ensures that no portion of the figure will +% appear outside its BoundingBox. "clip=" is a switch and +% takes no value, but the `=' must be present. +% The "angle" option specifies the angle of rotation (degrees, ccw). +% The "silent" option makes \psfig work silently. +% +%-------------------------------------------------------------------------- +%%% if this is true, the original Darrell macros and specials are used +\newif\ifuse@psfig +\use@psfigtrue +\newcount\EPS@Height \newcount\EPS@Width \newcount\EPS@xscale +\newcount\EPS@yscale +\def\psfig@start{\typeout{EPSFIG - driver}} +\def\psfig@end{\typeout{EPSFIG - driver}} +\def\epsfig@gofer{\typeout{EPSFIG - driver}} +\newcount\fig@driver +\DeclareOption{ln03}{ +\typeout{WARNING! **** + no specials for LN03 epsfig}% +} +\DeclareOption{dvitops}{% + \use@psfigtrue + \def\psfig@start{}% + \def\psfig@end{\special{dvitops: import \@p@sfilefinal \space + \@p@swidth sp \space \@p@sheight sp \space fill}% + \if@clip \typeout{Clipping not supported}\fi + \if@angle \typeout{Rotating not supported}\fi} + \let\epsfig@gofer\psfig@end +} + +\DeclareOption{dvips}{% + \message{(dvips)}% + \use@psfigfalse + \def\psfig@start{ + \message{ what are \@p@swidth, and \@p@sheight}% + \special{ps::[begin] \@p@swidth \space \@p@sheight \space% + \@p@sbbllx \space \@p@sbblly \space% + \@p@sbburx \space \@p@sbbury \space% + startTexFig \space }% + \if@angle + \special {ps:: \@p@sangle \space rotate \space} + \fi + \if@clip + \if@verbose + \typeout{(clipped to BB) }% + \fi + \special{ps:: doclip \space }% + \fi + \special{ps: plotfile \@p@sfilefinal \space }% + \special{ps::[end] endTexFig \space }% + }% + \def\psfig@end{}% + \def\epsfig@gofer{ + \if@clip + \if@verbose + \typeout{(clipped to BB)}% + \fi + \epsfclipon + \fi + \epsfsetgraph{\@p@sfilefinal}% + } +} + +\DeclareOption{emtex}{% + \use@psfigtrue + \fig@driver3 + \Typeout{WARNING. You must have a .bb info file with the Bounding Box + of the pcx file}% + \def\psfig@start{}% + % when emtex imports a pcx file, it is *below* where we are now. + % so raise the box + \def\psfig@end{\typeout{pcx import of \@p@sfilefinal}% + \if@clip \typeout{Clipping not supported}\fi + \if@angle \typeout{Rotating not supported}\fi + \raisebox{\@p@srheight sp}{\special{em: graph \@p@sfilefinal}}}% + \def\epsfig@gofer{}% +} + +\DeclareOption{oztex}{% + \use@psfigtrue + \message{(OzTeX)}% + \def\psfig@start{}% + \def\psfig@end{% + \EPS@Width\@p@swidth + \EPS@Height\@p@sheight + \divide\EPS@Width by 65781 % convert sp to bp + \divide\EPS@Height by 65781 + \special{epsf=\@p@sfilefinal + \space + width=\the\EPS@Width + \space + height=\the\EPS@Height + }% + \if@clip \typeout{Clipping not supported}\fi + \if@angle \typeout{Rotating not supported}\fi + }% + \let\epsfig@gofer\psfig@end +} +\DeclareOption{textures}{% + \message{(Textures)}% + \use@psfigtrue + \def\psfig@end{ + % what is scaling of picture + \EPS@Width=\@bbw + \divide\EPS@Width by 1000 + \EPS@xscale=\@p@swidth \divide \EPS@xscale by \EPS@Width + \EPS@Height=\@bbh + \divide\EPS@Height by 1000 + \EPS@yscale=\@p@sheight \divide \EPS@yscale by\EPS@Height + % take largest calculated scale + \ifnum\EPS@xscale>\EPS@yscale\EPS@xscale=\EPS@yscale\fi + \if@clip + \if@verbose + \typeout{(clipped to BB)}% + \fi + \epsfclipon + \fi + \special{illustration \@p@sfilefinal\space scaled \the\EPS@xscale}% + }% + \def\psfig@start{}% +} +\ProcessOptions + +% copies of bits of LaTeX we need.... +\newdimen\ps@dimcent +% +% \fbox is defined in latex.tex; so if \fbox is undefined, assume that +% we are not in LaTeX. +% Perhaps this could be done better??? +\ifx\undefined\fbox +% \fbox code from modified slightly from LaTeX +\newdimen\fboxrule +\newdimen\fboxsep +\newdimen\ps@tempdima +\newbox\ps@tempboxa +\fboxsep = 0pt +\fboxrule = .4pt +\long\def\fbox#1{\leavevmode\setbox\ps@tempboxa\hbox{#1}\ps@tempdima\fboxrule + \advance\ps@tempdima \fboxsep \advance\ps@tempdima \dp\ps@tempboxa + \hbox{\lower \ps@tempdima\hbox + {\vbox{\hrule height \fboxrule + \hbox{\vrule width \fboxrule \hskip\fboxsep + \vbox{\vskip\fboxsep \box\ps@tempboxa\vskip\fboxsep}\hskip + \fboxsep\vrule width \fboxrule}% + \hrule height \fboxrule}}}}% +\fi +\ifx\@ifundefined\undefined +\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname + #1\endcsname\relax#2\else#3\fi}% +\fi +% +\@ifundefined{typeout}% +{\gdef\typeout#1{\immediate\write\sixt@@n{#1}}}% +{\relax}% +% +%%% check to see if macros already loaded in (maybe some other file says +%%% "\input epsfig") ... +\@ifundefined{epsfig}{}{\typeout{EPSFIG --- already loaded}\endinput}% +% +%%% +%%% we need Rokicki's EPSF macros anyway: +% +% 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= \epsfbox{filename.ps} +% (or +% \epsfysize= \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? +\newif\ifepsfdraft % use draft mode? +\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\epsfclipon{\def\epsfclipstring{ clip}}% +\def\epsfclipoff{\def\epsfclipstring{\ifepsfdraft\space clip\fi}}% +\epsfclipoff +% +\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 + \epsfrsize=0pt +% +% 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 + \epsfrsize=0pt + \fi + \else \ifnum\epsfysize=0 + \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 + \epsfrsize=0pt + \else + \epsfrsize=\epsfysize + \fi + \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{% + \ifnum\epsfrsize=0\relax + \special{PSfile=\ifepsfdraft psdraft.ps\else#1\fi\space + llx=\epsfllx\space lly=\epsflly\space + urx=\epsfurx\space ury=\epsfury\space rwi=\number\epsftmp + \epsfclipstring}% + \else + \epsfrsize=10\epsfysize \divide\epsfrsize\pspoints + \special{PSfile=\ifepsfdraft psdraft.ps\else#1\fi\space + llx=\epsfllx\space lly=\epsflly\space + urx=\epsfurx\space ury=\epsfury\space rwi=\number\epsftmp\space + rhi=\number\epsfrsize \epsfclipstring}% + \fi + \hfil}}% +\global\epsfxsize=0pt\global\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\epsfempty{}% +\def\epsfgrab #1 #2 #3 #4 #5\\{% +\global\def\epsfllx{#1}\ifx\epsfllx\epsfempty + \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 + +% +%% SPQR 12.91 handling of errors using standard LaTeX error +%% mechanism. In case we are plain TeX we first define the +%% error routines... +\ifx\undefined\@latexerr + \newlinechar`\^^J + \def\@spaces{\space\space\space\space}% + \def\@latexerr#1#2{% + \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}% + \typeout{Error. \space see a manual for explanation.^^J + \space\@spaces\@spaces\@spaces Type \space H \space for + immediate help.}\errmessage{#1}}% +\fi +%------------------------ +%% a couple of LaTeX error messages +\def\@whattodo{You tried to include a PostScript figure which +cannot be found^^JIf you press return to carry on anyway,^^J +The failed name will be printed in place of the figure.^^J +or type X to quit}% +\def\@whattodobb{You tried to include a PostScript figure which +has no^^Jbounding box, and you supplied none.^^J +If you press return to carry on anyway,^^J +The failed name will be printed in place of the figure.^^J +or type X to quit}% +%------------------------ +% +%------------------------------------------------------------------------ +%------------------------------------------------------------------------ +%%% @psdo control structure -- similar to Latex @for. +%%% I redefined these with different names so that psfig can +%%% be used with TeX as well as LaTeX, and so that it will not +%%% be vunerable to future changes in LaTeX's internal +%%% control structure, +% +\def\@nnil{\@nil}% +\def\@empty{}% +\def\@psdonoop#1\@@#2#3{}% +\def\@psdo#1:=#2\do#3{\edef\@psdotmp{#2}\ifx\@psdotmp\@empty \else + \expandafter\@psdoloop#2,\@nil,\@nil\@@#1{#3}\fi}% +\def\@psdoloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else + #5\def#4{#2}\ifx #4\@nnil \else#5\@ipsdoloop #3\@@#4{#5}\fi\fi}% +\def\@ipsdoloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil + \let\@nextwhile=\@psdonoop \else + #4\relax\let\@nextwhile=\@ipsdoloop\fi\@nextwhile#2\@@#3{#4}}% +\def\@tpsdo#1:=#2\do#3{\xdef\@psdotmp{#2}\ifx\@psdotmp\@empty \else + \@tpsdoloop#2\@nil\@nil\@@#1{#3}\fi}% +\def\@tpsdoloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil + \let\@nextwhile=\@psdonoop \else + #4\relax\let\@nextwhile=\@tpsdoloop\fi\@nextwhile#2\@@#3{#4}}% +%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% file reading stuff from epsf.tex +%%% 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. +%%% Portions modified/removed for use in PSFIG package by +%%% J. Daniel Smith, 9 October 1990. +%%% Just the bit which knows about (atend) as a BoundingBox +% +%%% hacked back a bit by SPQR 12/91 +% +\long\def\epsfaux#1#2:#3\\{\ifx#1\epsfpercent + \def\testit{#2}\ifx\testit\epsfbblit + \@atendfalse + \epsf@atend #3 . \\% + \if@atend + \if@verbose + \typeout{epsfig: found `(atend)'; continuing search}% + \fi + \else + \epsfgrab #3 . . . \\% + \epsffileokfalse\global\no@bbfalse + \global\epsfbbfoundtrue + \fi + \fi\fi}% +% +%%% Determine if the stuff following the %%BoundingBox is `(atend)' +%%% J. Daniel Smith. Copied from \epsf@grab above. +% +\def\epsf@atendlit{(atend)} +% +\def\epsf@atend #1 #2 #3\\{% + \def\epsf@tmp{#1}\ifx\epsf@tmp\empty + \epsf@atend #2 #3 .\\\else + \ifx\epsf@tmp\epsf@atendlit\@atendtrue\fi\fi}% + + +%%% End of file reading stuff from epsf.tex +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% trigonometry stuff from "trig.tex" +\chardef\trig@letter = 11 +\chardef\other = 12 + +\newif\ifdebug %%% turn me on to see TeX hard at work ... +\newif\ifc@mpute %%% don't need to compute some values +\newif\if@atend +\c@mputetrue % but assume that we do + +\let\then = \relax +\def\r@dian{pt }% +\let\r@dians = \r@dian +\let\dimensionless@nit = \r@dian +\let\dimensionless@nits = \dimensionless@nit +\def\internal@nit{sp }% +\let\internal@nits = \internal@nit +\newif\ifstillc@nverging +\def \Mess@ge #1{\ifdebug \then \message {#1} \fi}% + +{ %%% Things that need abnormal catcodes %%% + \catcode `\@ = \trig@letter + \gdef \nodimen {\expandafter \n@dimen \the \dimen}% + \gdef \term #1 #2 #3% + {\edef \t@ {\the #1}%%% freeze parameter 1 (count, by value) + \edef \t@@ {\expandafter \n@dimen \the #2\r@dian}% + %%% freeze parameter 2 (dimen, by value) + \t@rm {\t@} {\t@@} {#3}% + }% + \gdef \t@rm #1 #2 #3% + {{% + \count 0 = 0 + \dimen 0 = 1 \dimensionless@nit + \dimen 2 = #2\relax + \Mess@ge {Calculating term #1 of \nodimen 2}% + \loop + \ifnum \count 0 < #1 + \then \advance \count 0 by 1 + \Mess@ge {Iteration \the \count 0 \space}% + \Multiply \dimen 0 by {\dimen 2}% + \Mess@ge {After multiplication, term = \nodimen 0}% + \Divide \dimen 0 by {\count 0}% + \Mess@ge {After division, term = \nodimen 0}% + \repeat + \Mess@ge {Final value for term #1 of + \nodimen 2 \space is \nodimen 0}% + \xdef \Term {#3 = \nodimen 0 \r@dians}% + \aftergroup \Term + }}% + \catcode `\p = \other + \catcode `\t = \other + \gdef \n@dimen #1pt{#1} %%% throw away the ``pt'' +}% + +\def \Divide #1by #2{\divide #1 by #2} %%% just a synonym + +\def \Multiply #1by #2%%% allows division of a dimen by a dimen + {{%%% should really freeze parameter 2 (dimen, passed by value) + \count 0 = #1\relax + \count 2 = #2\relax + \count 4 = 65536 + \Mess@ge {Before scaling, count 0 = \the \count 0 \space and + count 2 = \the \count 2}% + \ifnum \count 0 > 32767 %%% do our best to avoid overflow + \then \divide \count 0 by 4 + \divide \count 4 by 4 + \else \ifnum \count 0 < -32767 + \then \divide \count 0 by 4 + \divide \count 4 by 4 + \else + \fi + \fi + \ifnum \count 2 > 32767 %%% while retaining reasonable accuracy + \then \divide \count 2 by 4 + \divide \count 4 by 4 + \else \ifnum \count 2 < -32767 + \then \divide \count 2 by 4 + \divide \count 4 by 4 + \else + \fi + \fi + \multiply \count 0 by \count 2 + \divide \count 0 by \count 4 + \xdef \product {#1 = \the \count 0 \internal@nits}% + \aftergroup \product + }}% + +\def\r@duce{\ifdim\dimen0 > 90\r@dian \then % sin(x) = sin(180-x) + \multiply\dimen0 by -1 + \advance\dimen0 by 180\r@dian + \r@duce + \else \ifdim\dimen0 < -90\r@dian \then % sin(x) = sin(360+x) + \advance\dimen0 by 360\r@dian + \r@duce + \fi + \fi}% + +\def\Sine#1% + {{% + \dimen 0 = #1 \r@dian + \r@duce + \ifdim\dimen0 = -90\r@dian \then + \dimen4 = -1\r@dian + \c@mputefalse + \fi + \ifdim\dimen0 = 90\r@dian \then + \dimen4 = 1\r@dian + \c@mputefalse + \fi + \ifdim\dimen0 = 0\r@dian \then + \dimen4 = 0\r@dian + \c@mputefalse + \fi +% + \ifc@mpute \then + % convert degrees to radians + \divide\dimen0 by 180 + \dimen0=3.141592654\dimen0 +% + \dimen 2 = 3.1415926535897963\r@dian %%% a well-known constant + \divide\dimen 2 by 2 %%% we only deal with -pi/2 : pi/2 + \Mess@ge {Sin: calculating Sin of \nodimen 0}% + \count 0 = 1 %%% see power-series expansion for sine + \dimen 2 = 1 \r@dian %%% ditto + \dimen 4 = 0 \r@dian %%% ditto + \loop + \ifnum \dimen 2 = 0 %%% then we've done + \then \stillc@nvergingfalse + \else \stillc@nvergingtrue + \fi + \ifstillc@nverging %%% then calculate next term + \then \term {\count 0} {\dimen 0} {\dimen 2}% + \advance \count 0 by 2 + \count 2 = \count 0 + \divide \count 2 by 2 + \ifodd \count 2 %%% signs alternate + \then \advance \dimen 4 by \dimen 2 + \else \advance \dimen 4 by -\dimen 2 + \fi + \repeat + \fi + \xdef \sine {\nodimen 4}% + }}% + +%%% Now the Cosine can be calculated easily by calling \Sine: +%%% cos(x) = sin(90-x) +\def\Cosine#1{\ifx\sine\UnDefined\edef\Savesine{\relax}\else + \edef\Savesine{\sine}\fi + {\dimen0=#1\r@dian\multiply\dimen0 by -1 + \advance\dimen0 by 90\r@dian + \Sine{\nodimen 0}% + \xdef\cosine{\sine}% + \xdef\sine{\Savesine}}} +%%% end of trig stuff +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\psdraft{\def\@psdraft{0}}% +\def\psfull{\def\@psdraft{1}}% +\psfull +\newif\if@compress +\def\pscompress{\@compresstrue} +\def\psnocompress{\@compressfalse} +\@compressfalse +\newif\if@scalefirst +\def\psscalefirst{\@scalefirsttrue}% +\def\psrotatefirst{\@scalefirstfalse}% +\psrotatefirst +% +\newif\if@draftbox +\def\psnodraftbox{\@draftboxfalse}% +\@draftboxtrue +% +\newif\if@noisy +\@noisyfalse +\newif\ifno@bb +%%% These are for the option list. +%%% A specification of the form a = b maps to calling \@p@@sa{b}% +\newif\if@bbllx +\newif\if@bblly +\newif\if@bburx +\newif\if@bbury +\newif\if@height +\newif\if@width +\newif\if@rheight +\newif\if@rwidth +\newif\if@angle +\newif\if@clip +\newif\if@verbose +\newif\if@prologfile +\def\@p@@sprolog#1{\@prologfiletrue\def\@prologfileval{#1}}% +\def\@p@@sclip#1{\@cliptrue}% +% +\newif\ifepsfig@dos % only single suffix possible +\def\epsfigdos{\epsfig@dostrue}% +\epsfig@dosfalse +% +\def\ParseName#1{\expandafter\@Parse#1}% +\def\@Parse#1.#2:{\gdef\BaseName{#1}\gdef\FileType{#2}}% + +\def\@p@@sfile#1{% + \ifepsfig@dos + \ParseName{#1:}% + \else + \gdef\BaseName{#1}\gdef\FileType{}% + \fi + \def\@p@sfile{NO FILE: #1}% + \def\@p@sfilefinal{NO FILE: #1}% + \openin1=#1 + \ifeof1\closein1\openin1=\BaseName.bb + \ifeof1\closein1 + \if@bbllx % No postscript file but bb given explicitly. + \if@bblly\if@bburx\if@bbury + \def\@p@sfile{#1}% + \def\@p@sfilefinal{#1}% + \fi\fi\fi + \else % No bounding box found. + \@latexerr{ERROR. PostScript file #1 not found}\@whattodo + \@p@@sbbllx{100bp}% + \@p@@sbblly{100bp}% + \@p@@sbburx{200bp}% + \@p@@sbbury{200bp}% + \psdraft + \fi + \else % Postscript file is compressed. + \closein1% + \edef\@p@sfile{\BaseName.bb}% + \typeout{using BB from \@p@sfile}% + \ifnum\fig@driver=3 + \edef\@p@sfilefinal{\BaseName.pcx}% + \else + \ifepsfig@dos + \edef\@p@sfilefinal{"`gunzip -c `texfind \BaseName.{z,Z,gz}"}% + \else + \edef\@p@sfilefinal{"`epsfig \if@compress-c \fi#1"}% + \fi + \fi + \fi + \else\closein1 % Postscript file is not compressed. + \edef\@p@sfile{#1}% + \if@compress + \edef\@p@sfilefinal{"`epsfig -c #1"}% + \else + \edef\@p@sfilefinal{#1}% + \fi + \fi% +} + +% alternative syntax: figure= +\let\@p@@sfigure\@p@@sfile +% +\def\@p@@sbbllx#1{% + \@bbllxtrue + \ps@dimcent=#1 + \edef\@p@sbbllx{\number\ps@dimcent}% + \divide\ps@dimcent by65536 + \global\edef\epsfllx{\number\ps@dimcent}% +}% +\def\@p@@sbblly#1{% + \@bbllytrue + \ps@dimcent=#1 + \edef\@p@sbblly{\number\ps@dimcent}% + \divide\ps@dimcent by65536 + \global\edef\epsflly{\number\ps@dimcent}% +}% +\def\@p@@sbburx#1{% + \@bburxtrue + \ps@dimcent=#1 + \edef\@p@sbburx{\number\ps@dimcent}% + \divide\ps@dimcent by65536 + \global\edef\epsfurx{\number\ps@dimcent}% +}% +\def\@p@@sbbury#1{% + \@bburytrue + \ps@dimcent=#1 + \edef\@p@sbbury{\number\ps@dimcent}% + \divide\ps@dimcent by65536 + \global\edef\epsfury{\number\ps@dimcent}% +}% +\def\@p@@sheight#1{% + \@heighttrue + \global\epsfysize=#1 + \ps@dimcent=#1 + \edef\@p@sheight{\number\ps@dimcent}% +}% +\def\@p@@swidth#1{% + \@widthtrue + \global\epsfxsize=#1 + \ps@dimcent=#1 + \edef\@p@swidth{\number\ps@dimcent}% +}% +\def\@p@@srheight#1{% + \@rheighttrue\use@psfigtrue + \ps@dimcent=#1 + \edef\@p@srheight{\number\ps@dimcent}% +}% +\def\@p@@srwidth#1{% + \@rwidthtrue\use@psfigtrue + \ps@dimcent=#1 + \edef\@p@srwidth{\number\ps@dimcent}% +}% +\def\@p@@sangle#1{% + \use@psfigtrue + \@angletrue + \edef\@p@sangle{#1}% +}% +\def\@p@@ssilent#1{% + \@verbosefalse +}% +\def\@p@@snoisy#1{% + \@verbosetrue +}% +\def\@cs@name#1{\csname #1\endcsname}% +\def\@setparms#1=#2,{\@cs@name{@p@@s#1}{#2}}% +% +%%% initialize the defaults (size the size of the figure) +% +\def\ps@init@parms{% + \@bbllxfalse \@bbllyfalse + \@bburxfalse \@bburyfalse + \@heightfalse \@widthfalse + \@rheightfalse \@rwidthfalse + \def\@p@sbbllx{}\def\@p@sbblly{}% + \def\@p@sbburx{}\def\@p@sbbury{}% + \def\@p@sheight{}\def\@p@swidth{}% + \def\@p@srheight{}\def\@p@srwidth{}% + \def\@p@sangle{0}% + \def\@p@sfile{}% + \@prologfilefalse + \def\@sc{}% + \if@noisy + \@verbosetrue + \else + \@verbosefalse + \fi + \@clipfalse +}% +% +%%% Go through the options setting things up. +% +\def\parse@ps@parms#1{% + \@psdo\@psfiga:=#1\do + {\expandafter\@setparms\@psfiga,}% +\if@prologfile +\special{header=\@prologfileval}% +\fi +}% +% +%%% Compute bb height and width +% +\def\bb@missing{% + \if@verbose + \typeout{psfig: searching \@p@sfile \space for bounding box}% + \fi + \epsfgetbb{\@p@sfile}% + \ifepsfbbfound + \ps@dimcent=\epsfllx bp\edef\@p@sbbllx{\number\ps@dimcent}% + \ps@dimcent=\epsflly bp\edef\@p@sbblly{\number\ps@dimcent}% + \ps@dimcent=\epsfurx bp\edef\@p@sbburx{\number\ps@dimcent}% + \ps@dimcent=\epsfury bp\edef\@p@sbbury{\number\ps@dimcent}% + \else + \epsfbbfoundfalse + \fi +} +% +% rotate point (#1,#2) about (0,0). +% The sine and cosine of the angle are already stored in \sine and +% \cosine. The result is placed in (\p@intvaluex, \p@intvaluey). +\newdimen\p@intvaluex +\newdimen\p@intvaluey +\def\rotate@#1#2{{\dimen0=#1 sp\dimen1=#2 sp +% calculate x' = x \cos\theta - y \sin\theta + \global\p@intvaluex=\cosine\dimen0 + \dimen3=\sine\dimen1 + \global\advance\p@intvaluex by -\dimen3 +% calculate y' = x \sin\theta + y \cos\theta + \global\p@intvaluey=\sine\dimen0 + \dimen3=\cosine\dimen1 + \global\advance\p@intvaluey by \dimen3 + }}% +\def\compute@bb{% + \epsfbbfoundfalse + \if@bbllx\epsfbbfoundtrue\fi + \if@bblly\epsfbbfoundtrue\fi + \if@bburx\epsfbbfoundtrue\fi + \if@bbury\epsfbbfoundtrue\fi + \ifepsfbbfound\else\bb@missing\fi + \ifepsfbbfound\else + \@latexerr{ERROR. cannot locate BoundingBox}\@whattodobb + \@p@@sbbllx{100bp}% + \@p@@sbblly{100bp}% + \@p@@sbburx{200bp}% + \@p@@sbbury{200bp}% + \no@bbtrue + \psdraft + \fi + % +% +% store height/width of original (unrotated) bounding box + \count203=\@p@sbburx + \count204=\@p@sbbury + \advance\count203 by -\@p@sbbllx + \advance\count204 by -\@p@sbblly + \edef\ps@bbw{\number\count203}% + \edef\ps@bbh{\number\count204}% + \edef\@bbw{\number\count203}% + \edef\@bbh{\number\count204}% + \if@angle + \Sine{\@p@sangle}\Cosine{\@p@sangle}% + +{\ps@dimcent=\maxdimen\xdef\r@p@sbbllx{\number\ps@dimcent}% + +\xdef\r@p@sbblly{\number\ps@dimcent}% + +\xdef\r@p@sbburx{-\number\ps@dimcent}% + +\xdef\r@p@sbbury{-\number\ps@dimcent}}% +% +% Need to rotate all four points and take the X-Y extremes of the new +% points as the new bounding box. + \def\minmaxtest{% + \ifnum\number\p@intvaluex<\r@p@sbbllx + \xdef\r@p@sbbllx{\number\p@intvaluex}\fi + \ifnum\number\p@intvaluex>\r@p@sbburx + \xdef\r@p@sbburx{\number\p@intvaluex}\fi + \ifnum\number\p@intvaluey<\r@p@sbblly + \xdef\r@p@sbblly{\number\p@intvaluey}\fi + \ifnum\number\p@intvaluey>\r@p@sbbury + \xdef\r@p@sbbury{\number\p@intvaluey}\fi + }% +% lower left + \rotate@{\@p@sbbllx}{\@p@sbblly}% + \minmaxtest +% upper left + \rotate@{\@p@sbbllx}{\@p@sbbury}% + \minmaxtest +% lower right + \rotate@{\@p@sbburx}{\@p@sbblly}% + \minmaxtest +% upper right + \rotate@{\@p@sbburx}{\@p@sbbury}% + \minmaxtest + +\edef\@p@sbbllx{\r@p@sbbllx}\edef\@p@sbblly{\r@p@sbblly}% + +\edef\@p@sbburx{\r@p@sbburx}\edef\@p@sbbury{\r@p@sbbury}% + \fi + \count203=\@p@sbburx + \count204=\@p@sbbury + \advance\count203 by -\@p@sbbllx + \advance\count204 by -\@p@sbblly + \edef\@bbw{\number\count203}% + \edef\@bbh{\number\count204}% +}% +% +% \in@hundreds performs #1 * (#2 / #3) correct to the hundreds, +% then leaves the result in @result +% +\def\in@hundreds#1#2#3{\count240=#2 \count241=#3 + \count100=\count240 % 100 is first digit #2/#3 + \divide\count100 by \count241 + \count101=\count100 + \multiply\count101 by \count241 + \advance\count240 by -\count101 + \multiply\count240 by 10 + \count101=\count240 %101 is second digit of #2/#3 + \divide\count101 by \count241 + \count102=\count101 + \multiply\count102 by \count241 + \advance\count240 by -\count102 + \multiply\count240 by 10 + \count102=\count240 % 102 is the third digit + \divide\count102 by \count241 + \count200=#1\count205=0 + \count201=\count200 + \multiply\count201 by \count100 + \advance\count205 by \count201 + \count201=\count200 + \divide\count201 by 10 + \multiply\count201 by \count101 + \advance\count205 by \count201 + % + \count201=\count200 + \divide\count201 by 100 + \multiply\count201 by \count102 + \advance\count205 by \count201 + % + \edef\@result{\number\count205}% +}% +\def\compute@wfromh{% + % computing : width = height * (bbw / bbh) + \in@hundreds{\@p@sheight}{\@bbw}{\@bbh}% + \edef\@p@swidth{\@result}% +}% +\def\compute@hfromw{% + % computing : height = width * (bbh / bbw) + \in@hundreds{\@p@swidth}{\@bbh}{\@bbw}% + \edef\@p@sheight{\@result}% +}% +\def\compute@handw{% + \if@height + \if@width + \else + \compute@wfromh + \fi + \else + \if@width + \compute@hfromw + \else + \edef\@p@sheight{\@bbh}% + \edef\@p@swidth{\@bbw}% + \fi + \fi +}% +\def\compute@resv{% + \if@rheight \else \edef\@p@srheight{\@p@sheight} \fi + \if@rwidth \else \edef\@p@srwidth{\@p@swidth} \fi +}% +% +% Compute any missing values +\def\compute@sizes{% + \if@scalefirst\if@angle +% at this point the bounding box has been adjsuted correctly for +% rotation. PSFIG does all of its scaling using \@bbh and \@bbw. If +% a width= or height= was specified along with \psscalefirst, then the +% width=/height= value needs to be adjusted to match the new (rotated) +% bounding box size (specifed in \@bbw and \@bbh). +% \ps@bbw width= +% ------- = ---------- +% \@bbw new width= +% so `new width=' = (width= * \@bbw) / \ps@bbw; where \ps@bbw is the +% width of the original (unrotated) bounding box. + \if@width + \in@hundreds{\@p@swidth}{\@bbw}{\ps@bbw}% + \edef\@p@swidth{\@result}% + \fi + \if@height + \in@hundreds{\@p@sheight}{\@bbh}{\ps@bbh}% + \edef\@p@sheight{\@result}% + \fi + \fi\fi + \compute@handw + \compute@resv +} +% + +%------------------------------------------------------------------ +%%% by the way, possible parameters to the PSfile= command in dvips are: +%%% llx +%%% lly +%%% urx +%%% ury +%%% rwi +% hoffset The horizontal offset (default 0) +% voffset The vertical offset (default 0) +% hsize The horizontal clipping size (default 612) +% vsize The vertical clipping size (default 792) +% hscale The horizontal scaling factor (default 100) +% vscale The vertical scaling factor (default 100) +% angle The rotation (default 0) +%------------------------------------------------------------------ +\long\def\graphic@verb#1{\def\next{#1}% + {\expandafter\graphic@strip\meaning\next}} +\def\graphic@strip#1>{} +\def\graphic@zapspace#1{% + #1\ifx\graphic@zapspace#1\graphic@zapspace% + \else\expandafter\graphic@zapspace% + \fi} +\def\psfig#1{% +\edef\@tempa{\graphic@zapspace#1{}}% +\ifvmode\leavevmode\fi\vbox {% + % + \ps@init@parms + \parse@ps@parms{\@tempa}% + % + \ifnum\@psdraft=1 + \typeout{[\@p@sfilefinal]}% + \if@verbose + \typeout{epsfig: using PSFIG macros}% + \fi + \psfig@method + \else + \epsfig@draft + \fi +} +}% +\def\graphic@zapspace#1{% + #1\ifx\graphic@zapspace#1\graphic@zapspace% + \else\expandafter\graphic@zapspace% + \fi} +\def\epsfig#1{% +\edef\@tempa{\graphic@zapspace#1{}}% +\ifvmode\leavevmode\fi\vbox {% + % + \ps@init@parms + \parse@ps@parms{\@tempa}% + % + \ifnum\@psdraft=1 + \if@angle\use@psfigtrue\fi + \ifuse@psfig + \if@verbose + \typeout{epsfig: using PSFIG macros}% + \fi + \psfig@method + \else + \if@verbose + \typeout{epsfig: using EPSF macros}% + \fi + \epsf@method + \fi + \else + \epsfig@draft + \fi +}% +}% + + +\def\epsf@method{% + \epsfbbfoundfalse + \if@bbllx\epsfbbfoundtrue\fi + \if@bblly\epsfbbfoundtrue\fi + \if@bburx\epsfbbfoundtrue\fi + \if@bbury\epsfbbfoundtrue\fi + \ifepsfbbfound\else\epsfgetbb{\@p@sfile}\fi + \ifepsfbbfound + \typeout{<\@p@sfilefinal>}% + \epsfig@gofer + \else + \@latexerr{ERROR - Cannot locate BoundingBox}\@whattodobb + \@p@@sbbllx{100bp}% + \@p@@sbblly{100bp}% + \@p@@sbburx{200bp}% + \@p@@sbbury{200bp}% + \count203=\@p@sbburx + \count204=\@p@sbbury + \advance\count203 by -\@p@sbbllx + \advance\count204 by -\@p@sbblly + \edef\@bbw{\number\count203}% + \edef\@bbh{\number\count204}% + \compute@sizes + \epsfig@@draft + \fi +}% +\def\psfig@method{% + \compute@bb + \ifepsfbbfound + \compute@sizes + \psfig@start + % Create the vbox to reserve the space for the figure% + \vbox to \@p@srheight sp{\hbox to \@p@srwidth + sp{\hss}\vss\psfig@end}% + \else + \epsfig@draft + \fi +}% +% +% draft figure, just reserve the space and print the +% path name. +\def\epsfig@draft{\compute@bb\compute@sizes\epsfig@@draft}% +% +\def\epsfig@@draft{% +\typeout{<(draft only) \@p@sfilefinal>}% +\if@draftbox + % Verbose draft: print file name in box + \hbox{{\fboxsep0pt\fbox{\vbox to \@p@srheight sp{% + \vss\hbox to \@p@srwidth sp{ \hss + \expandafter\Literally\@p@sfilefinal\@nil + \hss }\vss + }}}}% +\else + % Non-verbose draft + \vbox to \@p@srheight sp{% + \vss\hbox to \@p@srwidth sp{\hss}\vss}% +\fi +}% +\def\Literally#1\@nil{{\tt\graphic@verb{#1}}} +\def\psfigdriver#1{\typeout{^J WARNING: dont use psfigdriver! + use a class option!^J}} +\endinput + + diff --git a/obsolete/macros/latex209/contrib/epsfig/epsfig.sty b/obsolete/macros/latex209/contrib/epsfig/epsfig.sty new file mode 100644 index 0000000000..d4bb4d9ef8 --- /dev/null +++ b/obsolete/macros/latex209/contrib/epsfig/epsfig.sty @@ -0,0 +1,1137 @@ +%---------------------------------------------- +\def\fileversion{v1.20}% +\def\filedate{26.1.94}% +%%% +%%% from a suggestion by eijkhout@csrd.uiuc.edu to allow +%%% loading as a style file: +\edef\epsfigRestoreAt{\catcode`@=\number\catcode`@\relax}% +\catcode`\@=11\relax +\ifx\undefined\@makeother % -pks- +\def\@makeother#1{\catcode`#1=12\relax} % -pks- +\fi % -pks- +\immediate\write16{Document style option `epsfig', \fileversion\space +<\filedate> (edited by SPQR)}% +%%%-------------------------------------------------------------------- +%%% psfig merged with EPSF = epsfig Release 1 +%%% 1.0 November 91 +%%% 1.1 Dec 91 fixed some bugs +%%% 1.2 Jan 92 fixed bug that it never stopped reading PS file until +%%% it reached the end! merged in changes from psfig1.8 +%%% (plain TeX definition of \fbox, new code for rotation) +%%% 1.3 Jan 92 separated out \special code so that dvitops can be +%%% supported. use \psfigdriver{dvitops}% +%%% 1.4 Jan 92 fixed dvitops. need to input psfig at different point +%%% in dvips from dvitops. define \psfig@start and \psfig@end to cope +%%% with this +%%% 1.5 Jan 92 force use of psfig method if using dvitops +%%% 1.6 May 92 fixed bugs +%%% 1.7 Sep 92 added support for emtex, sort of. reads a .bb file +%%% and imports .pcx file. Boolean flag \epsfigdos used +%%% to indicate that we cannot have more than one . in the +%%% suffix (ie we will look at file.bb not file.eps.bb) +%%% +%%% 1.8 Sep 92 added support for OzTeX; fixed bugs in dvips support +%%% (including clipping to bounding box); removed use of dimen100. +%%% +%%% 1.9 Dec 92 cleaned up documentation again +%%% 1.10 Mar 93 cleaned up for plain TeX +%%% 1.11 Mar 93 merged in changes by Peter Galko (supplied by CERN) for +%%% use with Textures +%%% 1.12 Apr 93 actually *tested* the Textures additions, and so rewrote +%%% from scratch (borrowed an idea from psbox) +%%% 1.13 May 93 allow for file names with _ or $ in them in \psdraft, and +%%% fix problem that occurred with missing BoundingBox +%%% 1.14 May 93 allow for .z suffix +%%% 1.15 July 93 allow for .gz suffix +%%% use \leavevmode as appropriate +%%% fix plain \TeX mode +%%% (fixes from Peter-Klaus Schilling ) +%%% 1.16 August 93 [peta@mcrcim.mcgill.edu (Peter Whaite)] +%%% -- Implement Perl scripts to do compressed file inclusion and bb +%%% generation. +%%% -- Add \pscompress. +%%% -- Tidy up comments. +%%% 1.17 September 93 SPQR +%%% better code for literal name printing +%%% allowed for spaces around , and = +%%% 1.18 17.9.93 +%%% updates to epsbb and epsfig from Peter W +%%% 1.19 14.11.93 +%%% mistaken placement of calculation of EPS@Height resulted in errors +%%% 1.20 defaults to no compression +%-------------------------------------------------------- +%%% +%%% code rearranged by Sebastian Rahtz (spqr@uk.ac.york.minster) +%%% from work by +%%% Trevor Darrell; Tom Rokicki; Daniel Smith; H. Payne, Robert Russell +%%% +%%% This is a version of Darrell's `psfig' macros which are designed +%%% to be used with dvips or dvitops, and the `epsf' macros (these are +%%% automaticaly included by the style file). I did this because the +%%% \special commands used by `epsf' appear to be more robust and +%%% portable than the raw \specials used by `psfig', but I preferred +%%% the psfig interface. This system preserves the psfig interface, +%%% but mainly uses epsf macros to carry out the job. The user +%%% interface is identical to \psfig, but you just use \epsfig +%%% instead. Rotation uses the original psfig macros: I could not work +%%% out how to do rotation with the epsf macros. +%%% +%%% The same applies to `rheight' and `rwidth' +%%% +%%% If you *really* want old psfig behaviour regardless, use \psfig. It is +%%% still there. Some of the features have gone, however. \figurepath +%%% seemed redundant, since it could be controlled by the TEXINPUTS +%%% variable anyway. +%%% +%%% As an added feature, if FILE cannot be found, a file called FILE.bb +%%% is searched for. This should simply contain a %%BoundingBox line. A perl +%%% script "epsbb" is provided to generate these automatically. It is +%%% assumed that if this exists, then the actual postscript is in UNIX +%%% compress format in FILE.Z or in GNU gzip format in FILE.gz or FILE.z. +%%% +%%% The macros then read the BB from FILE.bb, but insert "`epsfig FILE`" in +%%% the output for dvips to interpret (don't worry, it knows about this). +%%% "Epsfig" is another perl script which searches the TEXINPUTS path for +%%% FILE or FILE.{gz,z,Z}. +%%% +%%% As an added bonus if you say \pscompress the -c switch will be passed to +%%% epsfig, causing automatic FILE.bb generation and compression the first +%%% time dvips is run. Files in the system directories will NOT be +%%% compressed. +%%% If you are *not* on a Unix system and use this, deliberately or by +%%% mischance, you will have problems! +%%% +%%% This file can be included in a dumped format, or used as a LaTeX +%%% style file, or used in plain TeX. It does not load itself twice (I hope) +%%% +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- +%%% previous notes. this copy of psfig.tex inherited from versions 1.8 +%-------------------------------------------------------------------- +%%% All psfig/tex software, documentation, and related files +%%% in this distribution of psfig/tex are +%%% Copyright 1987, 1988, 1991 Trevor J. Darrell +% +%%% Permission is granted for use and non-profit distribution of psfig/tex +%%% providing that this notice be clearly maintained. The right to +%%% distribute any portion of psfig/tex for profit or as part of any commercial +%%% product is specifically reserved for the author(s) of that portion. +%%% +%%% Thanks to Greg Hager (GDH) and Ned Batchelder for their contributions +%%% to this project. +%%%-------------------------------------------------------------------------- +%%% GDH 7/26/87 -- changed so that it first looks in the local directory, +%%% then in a specified global directory for the ps file. +%%% SPQR 12/91 removed that last change. it follows TEXINPUTS anyway +%%% RPR 6/25/91 -- changed so that it defaults to user-supplied name if +%%% boundingbox info is specified, assuming graphic will be created by +%%% print time. +%%% SPQR 12/91 removed that last change. use LaTeX error message instead +%%% SPQR 12/91 -- `no file found' produces LaTeX error message. +%%% If you recover from that the file name is set in draft +%%% mode in place of the file. +%%% +%%% Modified by J. Daniel Smith on 9 October 1990 to accept the +%%% %%BoundingBox: comment with or without a space after the colon. Stole +%%% file reading code from Tom Rokicki's EPSF.TEX file (see below). +%%% --- SPQR 12.91 removed most of this to use epsf directly +%%% +%%% More modifications by J. Daniel Smith on 29 March 1991 to allow the +%%% the included PostScript figure to be rotated. The amount of +%%% rotation is specified by the "angle=" parameter of the \epsfig command. +%%% +%%% Modified by Robert Russell on June 25, 1991 to allow users to specify +%%% .ps filenames which don't yet exist, provided they explicitly provide +%%% boundingbox information via the \epsfig command. Note: This will only work +%%% if the "file=" parameter follows all four "bb???=" parameters in the +%%% command. This is due to the order in which psfig interprets these params. +%%% ---- SPQR 12.91 removed all this +%%% +%%% 3 Jul 1991 JDS check if file already read in once +%%% +%-----------------------------USAGE--------------------------------------- +% From: gvr@cs.brown.edu (George V. Reilly) +% +% \psdraft draws an outline box, but doesn't include the figure +% in the DVI file. Useful for previewing. +% +% \psfull includes the figure in the DVI file (default). +% +% \psscalefirst width= or height= specifies the size of the figure +% before rotation. +% \psrotatefirst (default) width= or height= specifies the size of the +% figure after rotation. Asymetric figures will +% appear to shrink. +% +% usage: \epsfig{file=, figure=, height=, width=, +% bbllx=, bblly=, bburx=, bbury=, +% rheight=, rwidth=, clip=, angle=, silent=}% +% +% "file" is the filename. If no path name is specified and the +% file is not found in the current directory, +% it will be looked for in directory \psfigurepath. +% "figure" is a synonym for "file". +% By default, the width and height of the figure are taken from +% the BoundingBox of the figure. +% If "width" is specified, the figure is scaled so that it has +% the specified width. Its height changes proportionately. +% If "height" is specified, the figure is scaled so that it has +% the specified height. Its width changes proportionately. +% If both "width" and "height" are specified, the figure is scaled +% anamorphically. +% "bbllx", "bblly", "bburx", and "bbury" control the PostScript +% BoundingBox. +% "rheight" and "rwidth" are the reserved height and width +% of the figure, i.e., how big TeX actually thinks +% the figure is. They default to "width" and "height". +% The "clip" option ensures that no portion of the figure will +% appear outside its BoundingBox. "clip=" is a switch and +% takes no value, but the `=' must be present. +% The "angle" option specifies the angle of rotation (degrees, ccw). +% The "silent" option makes \psfig work silently. +% +%-------------------------------------------------------------------------- +\newcount\EPS@Height \newcount\EPS@Width \newcount\EPS@xscale +\newcount\EPS@yscale +\def\psfigdriver#1{% + \bgroup\edef\next{\def\noexpand\tempa{#1}}% + \uppercase\expandafter{\next}% + \def\LN{DVITOLN03}% + \def\DVItoPS{DVITOPS}% + \def\DVIPS{DVIPS}% + \def\emTeX{EMTEX}% + \def\OzTeX{OZTEX}% + \def\Textures{TEXTURES}% + \global\chardef\fig@driver=0 + \ifx\tempa\LN + \global\chardef\fig@driver=0\fi + \ifx\tempa\DVItoPS + \global\chardef\fig@driver=1\fi + \ifx\tempa\DVIPS + \global\chardef\fig@driver=2\fi + \ifx\tempa\emTeX + \global\chardef\fig@driver=3\fi + \ifx\tempa\OzTeX + \global\chardef\fig@driver=4\fi + \ifx\tempa\Textures + \global\chardef\fig@driver=5\fi + \egroup +\def\psfig@start{}% +\def\psfig@end{}% +\def\epsfig@gofer{}% +\ifcase\fig@driver +% case 0 ln03 +\typeout{WARNING! **** + no specials for LN03 psfig}% +% +\or % case 1: dvitops +\def\psfig@start{}% +\def\psfig@end{\special{dvitops: import \@p@sfilefinal \space +\@p@swidth sp \space \@p@sheight sp \space fill}% +\if@clip \typeout{Clipping not supported}\fi +\if@angle \typeout{Rotating not supported}\fi +}% +\let\epsfig@gofer\psfig@end +% +\or %case2 dvips +\def\psfig@start{\special{ps::[begin] \@p@swidth \space \@p@sheight \space% + \@p@sbbllx \space \@p@sbblly \space% + \@p@sbburx \space \@p@sbbury \space% + startTexFig \space }% + \if@angle + \special {ps:: \@p@sangle \space rotate \space} + \fi + \if@clip + \if@verbose + \typeout{(clipped to BB) }% + \fi + \special{ps:: doclip \space }% + \fi + \special{ps: plotfile \@p@sfilefinal \space }% + \special{ps::[end] endTexFig \space }% +}% +\def\psfig@end{}% +\def\epsfig@gofer{\if@clip + \if@verbose + \typeout{(clipped to BB)}% + \fi + \epsfclipon + \fi + \epsfsetgraph{\@p@sfilefinal}% +}% +% +\or % case 3, emTeX +\typeout{WARNING. You must have a .bb info file with the Bounding Box + of the pcx file}% +\def\psfig@start{}% +% when emtex imports a pcx file, it is *below* where we are now. +% so raise the box +\def\psfig@end{\typeout{pcx import of \@p@sfilefinal}% +\if@clip \typeout{Clipping not supported}\fi +\if@angle \typeout{Rotating not supported}\fi +\raisebox{\@p@srheight sp}{\special{em: graph \@p@sfilefinal}}}% +\def\epsfig@gofer{}% +% +\or % case 4, OzTeX +\def\psfig@start{}% +\def\psfig@end{% +\EPS@Width\@p@swidth +\EPS@Height\@p@sheight +\divide\EPS@Width by 65781 % convert sp to bp +\divide\EPS@Height by 65781 +\special{epsf=\@p@sfilefinal +\space +width=\the\EPS@Width +\space +height=\the\EPS@Height +}% +\if@clip \typeout{Clipping not supported}\fi +\if@angle \typeout{Rotating not supported}\fi +}% +\let\epsfig@gofer\psfig@end +\or % case 5, Textures +\def\psfig@end{ +% what is scaling of picture + \EPS@Width=\@bbw + \divide\EPS@Width by 1000 + \EPS@xscale=\@p@swidth \divide \EPS@xscale by \EPS@Width + \EPS@Height=\@bbh + \divide\EPS@Height by 1000 + \EPS@yscale=\@p@sheight \divide \EPS@yscale by\EPS@Height +% take largest calculated scale + \ifnum\EPS@xscale>\EPS@yscale\EPS@xscale=\EPS@yscale\fi +\if@clip + \if@verbose + \typeout{(clipped to BB)}% + \fi + \epsfclipon +\fi +\special{illustration \@p@sfilefinal\space scaled \the\EPS@xscale}% +}% +\def\psfig@start{}% +\let\epsfig\psfig +\else +\typeout{WARNING. *** unknown driver - no psfig}% +\fi +}% +% copies of bits of LaTeX we need.... +\newdimen\ps@dimcent +% +% \fbox is defined in latex.tex; so if \fbox is undefined, assume that +% we are not in LaTeX. +% Perhaps this could be done better??? +\ifx\undefined\fbox +% \fbox code from modified slightly from LaTeX +\newdimen\fboxrule +\newdimen\fboxsep +\newdimen\ps@tempdima +\newbox\ps@tempboxa +\fboxsep = 0pt +\fboxrule = .4pt +\long\def\fbox#1{\leavevmode\setbox\ps@tempboxa\hbox{#1}\ps@tempdima\fboxrule + \advance\ps@tempdima \fboxsep \advance\ps@tempdima \dp\ps@tempboxa + \hbox{\lower \ps@tempdima\hbox + {\vbox{\hrule height \fboxrule + \hbox{\vrule width \fboxrule \hskip\fboxsep + \vbox{\vskip\fboxsep \box\ps@tempboxa\vskip\fboxsep}\hskip + \fboxsep\vrule width \fboxrule}% + \hrule height \fboxrule}}}}% +\fi +\ifx\@ifundefined\undefined +\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname + #1\endcsname\relax#2\else#3\fi}% +\fi +% +\@ifundefined{typeout}% +{\gdef\typeout#1{\immediate\write\sixt@@n{#1}}}% +{\relax}% +% +%%% check to see if macros already loaded in (maybe some other file says +%%% "\input epsfig") ... +\@ifundefined{epsfig}{}{\typeout{EPSFIG --- already loaded}\endinput}% +% +%%% +%%% we need Rokicki's EPSF macros anyway, unless they are already loaded +% +\@ifundefined{epsfbox}{\input epsf}{}% +% +%% SPQR 12.91 handling of errors using standard LaTeX error +%% mechanism. In case we are plain TeX we first define the +%% error routines... +\ifx\undefined\@latexerr + \newlinechar`\^^J + \def\@spaces{\space\space\space\space}% + \def\@latexerr#1#2{% + \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}% + \typeout{Error. \space see a manual for explanation.^^J + \space\@spaces\@spaces\@spaces Type \space H \space for + immediate help.}\errmessage{#1}}% +\fi +%------------------------ +%% a couple of LaTeX error messages +\def\@whattodo{You tried to include a PostScript figure which +cannot be found^^JIf you press return to carry on anyway,^^J +The failed name will be printed in place of the figure.^^J +or type X to quit}% +\def\@whattodobb{You tried to include a PostScript figure which +has no^^Jbounding box, and you supplied none.^^J +If you press return to carry on anyway,^^J +The failed name will be printed in place of the figure.^^J +or type X to quit}% +%------------------------ +% +%------------------------------------------------------------------------ +%------------------------------------------------------------------------ +%%% @psdo control structure -- similar to Latex @for. +%%% I redefined these with different names so that psfig can +%%% be used with TeX as well as LaTeX, and so that it will not +%%% be vunerable to future changes in LaTeX's internal +%%% control structure, +% +\def\@nnil{\@nil}% +\def\@empty{}% +\def\@psdonoop#1\@@#2#3{}% +\def\@psdo#1:=#2\do#3{\edef\@psdotmp{#2}\ifx\@psdotmp\@empty \else + \expandafter\@psdoloop#2,\@nil,\@nil\@@#1{#3}\fi}% +\def\@psdoloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else + #5\def#4{#2}\ifx #4\@nnil \else#5\@ipsdoloop #3\@@#4{#5}\fi\fi}% +\def\@ipsdoloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil + \let\@nextwhile=\@psdonoop \else + #4\relax\let\@nextwhile=\@ipsdoloop\fi\@nextwhile#2\@@#3{#4}}% +\def\@tpsdo#1:=#2\do#3{\xdef\@psdotmp{#2}\ifx\@psdotmp\@empty \else + \@tpsdoloop#2\@nil\@nil\@@#1{#3}\fi}% +\def\@tpsdoloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil + \let\@nextwhile=\@psdonoop \else + #4\relax\let\@nextwhile=\@tpsdoloop\fi\@nextwhile#2\@@#3{#4}}% +%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% file reading stuff from epsf.tex +%%% 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. +%%% Portions modified/removed for use in PSFIG package by +%%% J. Daniel Smith, 9 October 1990. +%%% Just the bit which knows about (atend) as a BoundingBox +% +%%% hacked back a bit by SPQR 12/91 +% +\long\def\epsfaux#1#2:#3\\{\ifx#1\epsfpercent + \def\testit{#2}\ifx\testit\epsfbblit + \@atendfalse + \epsf@atend #3 . \\% + \if@atend + \if@verbose + \typeout{epsfig: found `(atend)'; continuing search}% + \fi + \else + \epsfgrab #3 . . . \\% + \epsffileokfalse\global\no@bbfalse + \global\epsfbbfoundtrue + \fi + \fi\fi}% +% +%%% Determine if the stuff following the %%BoundingBox is `(atend)' +%%% J. Daniel Smith. Copied from \epsf@grab above. +% +\def\epsf@atendlit{(atend)} +% +\def\epsf@atend #1 #2 #3\\{% + \def\epsf@tmp{#1}\ifx\epsf@tmp\empty + \epsf@atend #2 #3 .\\\else + \ifx\epsf@tmp\epsf@atendlit\@atendtrue\fi\fi}% + + +%%% End of file reading stuff from epsf.tex +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% trigonometry stuff from "trig.tex" +\chardef\trig@letter = 11 +\chardef\other = 12 + +\newif\ifdebug %%% turn me on to see TeX hard at work ... +\newif\ifc@mpute %%% don't need to compute some values +\newif\if@atend +\c@mputetrue % but assume that we do + +\let\then = \relax +\def\r@dian{pt }% +\let\r@dians = \r@dian +\let\dimensionless@nit = \r@dian +\let\dimensionless@nits = \dimensionless@nit +\def\internal@nit{sp }% +\let\internal@nits = \internal@nit +\newif\ifstillc@nverging +\def \Mess@ge #1{\ifdebug \then \message {#1} \fi}% + +{ %%% Things that need abnormal catcodes %%% + \catcode `\@ = \trig@letter + \gdef \nodimen {\expandafter \n@dimen \the \dimen}% + \gdef \term #1 #2 #3% + {\edef \t@ {\the #1}%%% freeze parameter 1 (count, by value) + \edef \t@@ {\expandafter \n@dimen \the #2\r@dian}% + %%% freeze parameter 2 (dimen, by value) + \t@rm {\t@} {\t@@} {#3}% + }% + \gdef \t@rm #1 #2 #3% + {{% + \count 0 = 0 + \dimen 0 = 1 \dimensionless@nit + \dimen 2 = #2\relax + \Mess@ge {Calculating term #1 of \nodimen 2}% + \loop + \ifnum \count 0 < #1 + \then \advance \count 0 by 1 + \Mess@ge {Iteration \the \count 0 \space}% + \Multiply \dimen 0 by {\dimen 2}% + \Mess@ge {After multiplication, term = \nodimen 0}% + \Divide \dimen 0 by {\count 0}% + \Mess@ge {After division, term = \nodimen 0}% + \repeat + \Mess@ge {Final value for term #1 of + \nodimen 2 \space is \nodimen 0}% + \xdef \Term {#3 = \nodimen 0 \r@dians}% + \aftergroup \Term + }}% + \catcode `\p = \other + \catcode `\t = \other + \gdef \n@dimen #1pt{#1} %%% throw away the ``pt'' +}% + +\def \Divide #1by #2{\divide #1 by #2} %%% just a synonym + +\def \Multiply #1by #2%%% allows division of a dimen by a dimen + {{%%% should really freeze parameter 2 (dimen, passed by value) + \count 0 = #1\relax + \count 2 = #2\relax + \count 4 = 65536 + \Mess@ge {Before scaling, count 0 = \the \count 0 \space and + count 2 = \the \count 2}% + \ifnum \count 0 > 32767 %%% do our best to avoid overflow + \then \divide \count 0 by 4 + \divide \count 4 by 4 + \else \ifnum \count 0 < -32767 + \then \divide \count 0 by 4 + \divide \count 4 by 4 + \else + \fi + \fi + \ifnum \count 2 > 32767 %%% while retaining reasonable accuracy + \then \divide \count 2 by 4 + \divide \count 4 by 4 + \else \ifnum \count 2 < -32767 + \then \divide \count 2 by 4 + \divide \count 4 by 4 + \else + \fi + \fi + \multiply \count 0 by \count 2 + \divide \count 0 by \count 4 + \xdef \product {#1 = \the \count 0 \internal@nits}% + \aftergroup \product + }}% + +\def\r@duce{\ifdim\dimen0 > 90\r@dian \then % sin(x) = sin(180-x) + \multiply\dimen0 by -1 + \advance\dimen0 by 180\r@dian + \r@duce + \else \ifdim\dimen0 < -90\r@dian \then % sin(x) = sin(360+x) + \advance\dimen0 by 360\r@dian + \r@duce + \fi + \fi}% + +\def\Sine#1% + {{% + \dimen 0 = #1 \r@dian + \r@duce + \ifdim\dimen0 = -90\r@dian \then + \dimen4 = -1\r@dian + \c@mputefalse + \fi + \ifdim\dimen0 = 90\r@dian \then + \dimen4 = 1\r@dian + \c@mputefalse + \fi + \ifdim\dimen0 = 0\r@dian \then + \dimen4 = 0\r@dian + \c@mputefalse + \fi +% + \ifc@mpute \then + % convert degrees to radians + \divide\dimen0 by 180 + \dimen0=3.141592654\dimen0 +% + \dimen 2 = 3.1415926535897963\r@dian %%% a well-known constant + \divide\dimen 2 by 2 %%% we only deal with -pi/2 : pi/2 + \Mess@ge {Sin: calculating Sin of \nodimen 0}% + \count 0 = 1 %%% see power-series expansion for sine + \dimen 2 = 1 \r@dian %%% ditto + \dimen 4 = 0 \r@dian %%% ditto + \loop + \ifnum \dimen 2 = 0 %%% then we've done + \then \stillc@nvergingfalse + \else \stillc@nvergingtrue + \fi + \ifstillc@nverging %%% then calculate next term + \then \term {\count 0} {\dimen 0} {\dimen 2}% + \advance \count 0 by 2 + \count 2 = \count 0 + \divide \count 2 by 2 + \ifodd \count 2 %%% signs alternate + \then \advance \dimen 4 by \dimen 2 + \else \advance \dimen 4 by -\dimen 2 + \fi + \repeat + \fi + \xdef \sine {\nodimen 4}% + }}% + +%%% Now the Cosine can be calculated easily by calling \Sine: +%%% cos(x) = sin(90-x) +\def\Cosine#1{\ifx\sine\UnDefined\edef\Savesine{\relax}\else + \edef\Savesine{\sine}\fi + {\dimen0=#1\r@dian\multiply\dimen0 by -1 + \advance\dimen0 by 90\r@dian + \Sine{\nodimen 0}% + \xdef\cosine{\sine}% + \xdef\sine{\Savesine}}} +%%% end of trig stuff +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +\def\psdraft{\def\@psdraft{0}}% +\def\psfull{\def\@psdraft{1}}% +\psfull +\newif\if@compress +\def\pscompress{\@compresstrue} +\def\psnocompress{\@compressfalse} +\@compressfalse +\newif\if@scalefirst +\def\psscalefirst{\@scalefirsttrue}% +\def\psrotatefirst{\@scalefirstfalse}% +\psrotatefirst +% +\newif\if@draftbox +\def\psnodraftbox{\@draftboxfalse}% +\@draftboxtrue +% +\newif\if@noisy +\@noisyfalse +\newif\ifno@bb +%%% These are for the option list. +%%% A specification of the form a = b maps to calling \@p@@sa{b}% +\newif\if@bbllx +\newif\if@bblly +\newif\if@bburx +\newif\if@bbury +\newif\if@height +\newif\if@width +\newif\if@rheight +\newif\if@rwidth +\newif\if@angle +\newif\if@clip +\newif\if@verbose +\newif\if@prologfile +\def\@p@@sprolog#1{\@prologfiletrue\def\@prologfileval{#1}}% +\def\@p@@sclip#1{\@cliptrue}% +% +\newif\ifepsfig@dos % only single suffix possible +\def\epsfigdos{\epsfig@dostrue}% +\epsfig@dosfalse +%%% if this is true, the original Darrell macros and specials are used +\newif\ifuse@psfig +% +\def\ParseName#1{\expandafter\@Parse#1}% +\def\@Parse#1.#2:{\gdef\BaseName{#1}\gdef\FileType{#2}}% + +\def\@p@@sfile#1{% + \ifepsfig@dos + \ParseName{#1:}% + \else + \gdef\BaseName{#1}\gdef\FileType{}% + \fi + \def\@p@sfile{NO FILE: #1}% + \def\@p@sfilefinal{NO FILE: #1}% + \openin1=#1 + \ifeof1\closein1\openin1=\BaseName.bb + \ifeof1\closein1 + \if@bbllx % No postscript file but bb given explicitly. + \if@bblly\if@bburx\if@bbury + \def\@p@sfile{#1}% + \def\@p@sfilefinal{#1}% + \fi\fi\fi + \else % No bounding box found. + \@latexerr{ERROR. PostScript file #1 not found}\@whattodo + \@p@@sbbllx{100bp}% + \@p@@sbblly{100bp}% + \@p@@sbburx{200bp}% + \@p@@sbbury{200bp}% + \psdraft + \fi + \else % Postscript file is compressed. + \closein1% + \edef\@p@sfile{\BaseName.bb}% + \typeout{using BB from \@p@sfile}% + \ifnum\fig@driver=3 + \edef\@p@sfilefinal{\BaseName.pcx}% + \else + \ifepsfig@dos + \edef\@p@sfilefinal{"`gunzip -c `texfind \BaseName.{z,Z,gz}"}% + \else + \edef\@p@sfilefinal{"`epsfig \if@compress-c \fi#1"}% + \fi + \fi + \fi + \else\closein1 % Postscript file is not compressed. + \edef\@p@sfile{#1}% + \if@compress + \edef\@p@sfilefinal{"`epsfig -c #1"}% + \else + \edef\@p@sfilefinal{#1}% + \fi + \fi% +} + +% alternative syntax: figure= +\let\@p@@sfigure\@p@@sfile +% +\def\@p@@sbbllx#1{% + \@bbllxtrue + \ps@dimcent=#1 + \edef\@p@sbbllx{\number\ps@dimcent}% + \divide\ps@dimcent by65536 + \global\edef\epsfllx{\number\ps@dimcent}% +}% +\def\@p@@sbblly#1{% + \@bbllytrue + \ps@dimcent=#1 + \edef\@p@sbblly{\number\ps@dimcent}% + \divide\ps@dimcent by65536 + \global\edef\epsflly{\number\ps@dimcent}% +}% +\def\@p@@sbburx#1{% + \@bburxtrue + \ps@dimcent=#1 + \edef\@p@sbburx{\number\ps@dimcent}% + \divide\ps@dimcent by65536 + \global\edef\epsfurx{\number\ps@dimcent}% +}% +\def\@p@@sbbury#1{% + \@bburytrue + \ps@dimcent=#1 + \edef\@p@sbbury{\number\ps@dimcent}% + \divide\ps@dimcent by65536 + \global\edef\epsfury{\number\ps@dimcent}% +}% +\def\@p@@sheight#1{% + \@heighttrue + \global\epsfysize=#1 + \ps@dimcent=#1 + \edef\@p@sheight{\number\ps@dimcent}% +}% +\def\@p@@swidth#1{% + \@widthtrue + \global\epsfxsize=#1 + \ps@dimcent=#1 + \edef\@p@swidth{\number\ps@dimcent}% +}% +\def\@p@@srheight#1{% + \@rheighttrue\use@psfigtrue + \ps@dimcent=#1 + \edef\@p@srheight{\number\ps@dimcent}% +}% +\def\@p@@srwidth#1{% + \@rwidthtrue\use@psfigtrue + \ps@dimcent=#1 + \edef\@p@srwidth{\number\ps@dimcent}% +}% +\def\@p@@sangle#1{% + \use@psfigtrue + \@angletrue + \edef\@p@sangle{#1}% +}% +\def\@p@@ssilent#1{% + \@verbosefalse +}% +\def\@p@@snoisy#1{% + \@verbosetrue +}% +\def\@cs@name#1{\csname #1\endcsname}% +\def\@setparms#1=#2,{\@cs@name{@p@@s#1}{#2}}% +% +%%% initialize the defaults (size the size of the figure) +% +\def\ps@init@parms{% + \@bbllxfalse \@bbllyfalse + \@bburxfalse \@bburyfalse + \@heightfalse \@widthfalse + \@rheightfalse \@rwidthfalse + \def\@p@sbbllx{}\def\@p@sbblly{}% + \def\@p@sbburx{}\def\@p@sbbury{}% + \def\@p@sheight{}\def\@p@swidth{}% + \def\@p@srheight{}\def\@p@srwidth{}% + \def\@p@sangle{0}% + \def\@p@sfile{}% + \use@psfigfalse + \@prologfilefalse + \def\@sc{}% + \if@noisy + \@verbosetrue + \else + \@verbosefalse + \fi + \@clipfalse +}% +% +%%% Go through the options setting things up. +% +\def\parse@ps@parms#1{% + \@psdo\@psfiga:=#1\do + {\expandafter\@setparms\@psfiga,}% +\if@prologfile +\special{header=\@prologfileval}% +\fi +}% +% +%%% Compute bb height and width +% +\def\bb@missing{% + \if@verbose + \typeout{psfig: searching \@p@sfile \space for bounding box}% + \fi + \epsfgetbb{\@p@sfile}% + \ifepsfbbfound + \ps@dimcent=\epsfllx bp\edef\@p@sbbllx{\number\ps@dimcent}% + \ps@dimcent=\epsflly bp\edef\@p@sbblly{\number\ps@dimcent}% + \ps@dimcent=\epsfurx bp\edef\@p@sbburx{\number\ps@dimcent}% + \ps@dimcent=\epsfury bp\edef\@p@sbbury{\number\ps@dimcent}% + \else + \epsfbbfoundfalse + \fi +} +% +% rotate point (#1,#2) about (0,0). +% The sine and cosine of the angle are already stored in \sine and +% \cosine. The result is placed in (\p@intvaluex, \p@intvaluey). +\newdimen\p@intvaluex +\newdimen\p@intvaluey +\def\rotate@#1#2{{\dimen0=#1 sp\dimen1=#2 sp +% calculate x' = x \cos\theta - y \sin\theta + \global\p@intvaluex=\cosine\dimen0 + \dimen3=\sine\dimen1 + \global\advance\p@intvaluex by -\dimen3 +% calculate y' = x \sin\theta + y \cos\theta + \global\p@intvaluey=\sine\dimen0 + \dimen3=\cosine\dimen1 + \global\advance\p@intvaluey by \dimen3 + }}% +\def\compute@bb{% + \epsfbbfoundfalse + \if@bbllx\epsfbbfoundtrue\fi + \if@bblly\epsfbbfoundtrue\fi + \if@bburx\epsfbbfoundtrue\fi + \if@bbury\epsfbbfoundtrue\fi + \ifepsfbbfound\else\bb@missing\fi + \ifepsfbbfound\else + \@latexerr{ERROR. cannot locate BoundingBox}\@whattodobb + \@p@@sbbllx{100bp}% + \@p@@sbblly{100bp}% + \@p@@sbburx{200bp}% + \@p@@sbbury{200bp}% + \no@bbtrue + \psdraft + \fi + % +% +% store height/width of original (unrotated) bounding box + \count203=\@p@sbburx + \count204=\@p@sbbury + \advance\count203 by -\@p@sbbllx + \advance\count204 by -\@p@sbblly + \edef\ps@bbw{\number\count203}% + \edef\ps@bbh{\number\count204}% + \edef\@bbw{\number\count203}% + \edef\@bbh{\number\count204}% + \if@angle + \Sine{\@p@sangle}\Cosine{\@p@sangle}% + +{\ps@dimcent=\maxdimen\xdef\r@p@sbbllx{\number\ps@dimcent}% + +\xdef\r@p@sbblly{\number\ps@dimcent}% + +\xdef\r@p@sbburx{-\number\ps@dimcent}% + +\xdef\r@p@sbbury{-\number\ps@dimcent}}% +% +% Need to rotate all four points and take the X-Y extremes of the new +% points as the new bounding box. + \def\minmaxtest{% + \ifnum\number\p@intvaluex<\r@p@sbbllx + \xdef\r@p@sbbllx{\number\p@intvaluex}\fi + \ifnum\number\p@intvaluex>\r@p@sbburx + \xdef\r@p@sbburx{\number\p@intvaluex}\fi + \ifnum\number\p@intvaluey<\r@p@sbblly + \xdef\r@p@sbblly{\number\p@intvaluey}\fi + \ifnum\number\p@intvaluey>\r@p@sbbury + \xdef\r@p@sbbury{\number\p@intvaluey}\fi + }% +% lower left + \rotate@{\@p@sbbllx}{\@p@sbblly}% + \minmaxtest +% upper left + \rotate@{\@p@sbbllx}{\@p@sbbury}% + \minmaxtest +% lower right + \rotate@{\@p@sbburx}{\@p@sbblly}% + \minmaxtest +% upper right + \rotate@{\@p@sbburx}{\@p@sbbury}% + \minmaxtest + +\edef\@p@sbbllx{\r@p@sbbllx}\edef\@p@sbblly{\r@p@sbblly}% + +\edef\@p@sbburx{\r@p@sbburx}\edef\@p@sbbury{\r@p@sbbury}% + \fi + \count203=\@p@sbburx + \count204=\@p@sbbury + \advance\count203 by -\@p@sbbllx + \advance\count204 by -\@p@sbblly + \edef\@bbw{\number\count203}% + \edef\@bbh{\number\count204}% +}% +% +% \in@hundreds performs #1 * (#2 / #3) correct to the hundreds, +% then leaves the result in @result +% +\def\in@hundreds#1#2#3{\count240=#2 \count241=#3 + \count100=\count240 % 100 is first digit #2/#3 + \divide\count100 by \count241 + \count101=\count100 + \multiply\count101 by \count241 + \advance\count240 by -\count101 + \multiply\count240 by 10 + \count101=\count240 %101 is second digit of #2/#3 + \divide\count101 by \count241 + \count102=\count101 + \multiply\count102 by \count241 + \advance\count240 by -\count102 + \multiply\count240 by 10 + \count102=\count240 % 102 is the third digit + \divide\count102 by \count241 + \count200=#1\count205=0 + \count201=\count200 + \multiply\count201 by \count100 + \advance\count205 by \count201 + \count201=\count200 + \divide\count201 by 10 + \multiply\count201 by \count101 + \advance\count205 by \count201 + % + \count201=\count200 + \divide\count201 by 100 + \multiply\count201 by \count102 + \advance\count205 by \count201 + % + \edef\@result{\number\count205}% +}% +\def\compute@wfromh{% + % computing : width = height * (bbw / bbh) + \in@hundreds{\@p@sheight}{\@bbw}{\@bbh}% + \edef\@p@swidth{\@result}% +}% +\def\compute@hfromw{% + % computing : height = width * (bbh / bbw) + \in@hundreds{\@p@swidth}{\@bbh}{\@bbw}% + \edef\@p@sheight{\@result}% +}% +\def\compute@handw{% + \if@height + \if@width + \else + \compute@wfromh + \fi + \else + \if@width + \compute@hfromw + \else + \edef\@p@sheight{\@bbh}% + \edef\@p@swidth{\@bbw}% + \fi + \fi +}% +\def\compute@resv{% + \if@rheight \else \edef\@p@srheight{\@p@sheight} \fi + \if@rwidth \else \edef\@p@srwidth{\@p@swidth} \fi +}% +% +% Compute any missing values +\def\compute@sizes{% + \if@scalefirst\if@angle +% at this point the bounding box has been adjsuted correctly for +% rotation. PSFIG does all of its scaling using \@bbh and \@bbw. If +% a width= or height= was specified along with \psscalefirst, then the +% width=/height= value needs to be adjusted to match the new (rotated) +% bounding box size (specifed in \@bbw and \@bbh). +% \ps@bbw width= +% ------- = ---------- +% \@bbw new width= +% so `new width=' = (width= * \@bbw) / \ps@bbw; where \ps@bbw is the +% width of the original (unrotated) bounding box. + \if@width + \in@hundreds{\@p@swidth}{\@bbw}{\ps@bbw}% + \edef\@p@swidth{\@result}% + \fi + \if@height + \in@hundreds{\@p@sheight}{\@bbh}{\ps@bbh}% + \edef\@p@sheight{\@result}% + \fi + \fi\fi + \compute@handw + \compute@resv +} +% + +%------------------------------------------------------------------ +%%% by the way, possible parameters to the PSfile= command in dvips are: +%%% llx +%%% lly +%%% urx +%%% ury +%%% rwi +% hoffset The horizontal offset (default 0) +% voffset The vertical offset (default 0) +% hsize The horizontal clipping size (default 612) +% vsize The vertical clipping size (default 792) +% hscale The horizontal scaling factor (default 100) +% vscale The vertical scaling factor (default 100) +% angle The rotation (default 0) +%------------------------------------------------------------------ +\long\def\graphic@verb#1{\def\next{#1}% + {\expandafter\graphic@strip\meaning\next}} +\def\graphic@strip#1>{} +\def\graphic@zapspace#1{% + #1\ifx\graphic@zapspace#1\graphic@zapspace% + \else\expandafter\graphic@zapspace% + \fi} +\def\psfig#1{% +\edef\@tempa{\graphic@zapspace#1{}}% +\ifvmode\leavevmode\fi\vbox {% + % + \ps@init@parms + \parse@ps@parms{\@tempa}% + % + \ifnum\@psdraft=1 + \typeout{[\@p@sfilefinal]}% + \if@verbose + \typeout{epsfig: using PSFIG macros}% + \fi + \psfig@method + \else + \epsfig@draft + \fi +} +}% +\def\graphic@zapspace#1{% + #1\ifx\graphic@zapspace#1\graphic@zapspace% + \else\expandafter\graphic@zapspace% + \fi} +\def\epsfig#1{% +\edef\@tempa{\graphic@zapspace#1{}}% +\ifvmode\leavevmode\fi\vbox {% + % + \ps@init@parms + \parse@ps@parms{\@tempa}% + % + \ifnum\@psdraft=1 + \if@angle\use@psfigtrue\fi + {\ifnum\fig@driver=1\global\use@psfigtrue\fi}% + {\ifnum\fig@driver=3\global\use@psfigtrue\fi}% + {\ifnum\fig@driver=4\global\use@psfigtrue\fi}% + {\ifnum\fig@driver=5\global\use@psfigtrue\fi}% + \ifuse@psfig + \if@verbose + \typeout{epsfig: using PSFIG macros}% + \fi + \psfig@method + \else + \if@verbose + \typeout{epsfig: using EPSF macros}% + \fi + \epsf@method + \fi + \else + \epsfig@draft + \fi +}% +}% + + +\def\epsf@method{% + \epsfbbfoundfalse + \if@bbllx\epsfbbfoundtrue\fi + \if@bblly\epsfbbfoundtrue\fi + \if@bburx\epsfbbfoundtrue\fi + \if@bbury\epsfbbfoundtrue\fi + \ifepsfbbfound\else\epsfgetbb{\@p@sfile}\fi + \ifepsfbbfound + \typeout{<\@p@sfilefinal>}% + \epsfig@gofer + \else + \@latexerr{ERROR - Cannot locate BoundingBox}\@whattodobb + \@p@@sbbllx{100bp}% + \@p@@sbblly{100bp}% + \@p@@sbburx{200bp}% + \@p@@sbbury{200bp}% + \count203=\@p@sbburx + \count204=\@p@sbbury + \advance\count203 by -\@p@sbbllx + \advance\count204 by -\@p@sbblly + \edef\@bbw{\number\count203}% + \edef\@bbh{\number\count204}% + \compute@sizes + \epsfig@@draft + \fi +}% +\def\psfig@method{% + \compute@bb + \ifepsfbbfound + \compute@sizes + \psfig@start + % Create the vbox to reserve the space for the figure% + \vbox to \@p@srheight sp{\hbox to \@p@srwidth + sp{\hss}\vss\psfig@end}% + \else + \epsfig@draft + \fi +}% +% +% draft figure, just reserve the space and print the +% path name. +\def\epsfig@draft{\compute@bb\compute@sizes\epsfig@@draft}% +% +\def\epsfig@@draft{% +\typeout{<(draft only) \@p@sfilefinal>}% +\if@draftbox + % Verbose draft: print file name in box + \hbox{{\fboxsep0pt\fbox{\vbox to \@p@srheight sp{% + \vss\hbox to \@p@srwidth sp{ \hss + \expandafter\Literally\@p@sfilefinal\@nil + \hss }\vss + }}}}% +\else + % Non-verbose draft + \vbox to \@p@srheight sp{% + \vss\hbox to \@p@srwidth sp{\hss}\vss}% +\fi +}% +\def\Literally#1\@nil{{\tt\graphic@verb{#1}}} +% default to dvips +\psfigdriver{dvips}% +% and to DOS file conventions +%%% \epsfigdos +\epsfigRestoreAt + diff --git a/obsolete/macros/latex209/contrib/epsfig/makefile b/obsolete/macros/latex209/contrib/epsfig/makefile new file mode 100644 index 0000000000..e5e5540631 --- /dev/null +++ b/obsolete/macros/latex209/contrib/epsfig/makefile @@ -0,0 +1,28 @@ +# USER CONFIG -- edit the following to suit your system +# +BINDIR=${HOME}/bin +STYDIR=${HOME}/lib/tex +INSTALL=/usr/local/bin/install -g tex +# +# END USER CONFIG. + +BINS=epsfig epsbb +STYS=epsfig.sty + + +install: ${STYDIR}/epsfig.sty ${BINDIR}/epsfig ${BINDIR}/epsbb + +${STYDIR}/epsfig.sty : epsfig.sty + $(INSTALL) -m 0644 epsfig.sty ${STYDIR} + +${BINDIR}/epsfig : epsfig + $(INSTALL) -m 0755 epsfig ${BINDIR} + +${BINDIR}/epsbb : epsbb + $(INSTALL) -m 0755 epsbb ${BINDIR} + + +shar: epsfig.shar + +epsfig.shar: Makefile README ${BINS} ${STYS} + shar Makefile README ${BINS} ${STYS} > epsfig.shar diff --git a/obsolete/macros/latex209/contrib/exam/exam.sty b/obsolete/macros/latex209/contrib/exam/exam.sty new file mode 100644 index 0000000000..2023b03452 --- /dev/null +++ b/obsolete/macros/latex209/contrib/exam/exam.sty @@ -0,0 +1,759 @@ +% exam.sty +% +% A LaTeX document style for preparing exams. +% +% Written by Philip Hirschhorn + + +\def\fileversion{1.0} +\def\filedate{04-DEC-94} + +\typeout{Document style `exam.sty' by Philip Hirschhorn} +\typeout{Version \fileversion, \filedate} + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +% PLEASE DO NOT MAKE ANY CHANGES TO THIS FILE! +% +% If you wish to make changes to this file, rename this file +% to something other than exam.sty BEFORE YOU MAKE THE CHANGES! +% +% If there's some feature that you'd like that this file doesn't +% provide, tell me about it. +% +% Philip Hirschhorn +% Department of Mathematics +% Wellesley College +% Wellesley, MA 02181 +% psh@math.mit.edu +% phirschhorn@wellesley.edu +% (617) 283-3116 +% +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- + +% The user documentation for exam.sty is in the file examdoc.tex. + + + +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- + +\input{article.sty} + + + + + +% ***************** +% ** PAGE LAYOUT ** +% ***************** + + +\setlength{\textwidth}{6.5in} +\setlength{\oddsidemargin}{0pt} +\setlength{\evensidemargin}{0pt} + + +\setlength{\headheight}{15pt} +\setlength{\headsep}{15pt} +\setlength{\topmargin}{0in} +\addtolength{\topmargin}{-\headheight} +\addtolength{\topmargin}{-\headsep} +\setlength{\textheight}{8.8in} +\setlength{\footskip}{29pt} +\setlength{\marginparwidth}{.5in} +\setlength{\marginparsep}{5pt} + +%-------------------------------------------------------------------- + +% **************** +% ** EXTRAWIDTH ** +% **************** + +\newlength\@extrawidth + +% We put the argument of \extrawidth into a length so that it will +% work correctly even if it's negative: + +\def\extrawidth#1{% + \@extrawidth=#1 + \advance \textwidth by \@extrawidth + \divide\@extrawidth by 2 + \advance\oddsidemargin by -\@extrawidth + \advance\evensidemargin by -\@extrawidth +} + + + + +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- +% Making room for large headers and footers + +% The following are used to save the effect of any changes to +% \topmargin and \textheight caused by \extraheadheight or +% \extrafootheight commands. They hold the value given in the most +% recent command. We put them into a length so that it will work +% correctly even if the argument is negative: + +\newlength\@extrahead +\newlength\@extrafoot +\setlength{\@extrahead}{0in} +\setlength{\@extrafoot}{0in} + + +\def\extraheadheight{% + \@ifnextchar[{\@doextraheads}% + {\@setheadheight}% +} + +\def\@doextraheads[#1]#2{% + \@setheadheight{#1}% + \@appendoutput{\ifnum\thepage=2\@setheadheight{#2}\fi}% +} + + +\def\extrafootheight{% + \@ifnextchar[{\@doextrafeet}% + {\@setfootheight}% +} + +\def\@doextrafeet[#1]#2{% + \@setfootheight{#1}% + \@appendoutput{\ifnum\thepage=2\@setfootheight{#2}\fi}% +} + +\def\@appendoutput#1{% + \output=\expandafter{\the\output #1}% +} + +%-------------------------------------------------------------------- +% \setheadheight and \setfootheight: + +\def\@setheadheight#1{% + \begingroup % Avoid trouble from using \@temp and \@spaces + % Reset the effect of the most recent change: + \global\advance\topmargin by -\@extrahead + \global\advance\textheight by \@extrahead + % Save the newly set value: + \def\@temp{#1} + \def\@spaces{ } + \ifx\@temp\@empty + \global\@extrahead=0in + \else + \ifx\@temp\@spaces + \global\@extrahead=0in + \else + \global\@extrahead=#1 + \fi + \fi + % Set the new values: + \global\advance\topmargin by \@extrahead + \global\advance\textheight by -\@extrahead + % Make it take effect RIGHT NOW!: + % (The following stuff isn't necessary if \@setheadheight is + % executed only in the preamble or as we return from the output + % routine, but we're leaving it in so that this will still work if + % we use this at some random point in the middle of composing a + % page). + \global\@colht=\textheight + \global\@colroom=\textheight + \global\vsize=\textheight + \global\pagegoal=\textheight + \endgroup +} + +\def\@setfootheight#1{% + \begingroup % Avoid trouble from using \@temp and \@spaces + % Reset the effect of the most recent change: + \global\advance\textheight by \@extrafoot + % Save the newly set value: + \def\@temp{#1} + \def\@spaces{ } + \ifx\@temp\@empty + \global\@extrafoot=0in + \else + \ifx\@temp\@spaces + \global\@extrafoot=0in + \else + \global\@extrafoot=#1 + \fi + \fi + % Set the new values: + \global\advance\textheight by -\@extrafoot + % Make it take effect RIGHT NOW!: + % (The following stuff isn't necessary if \@setfootheight is + % executed only in the preamble or as we return from the output + % routine, but we're leaving it in so that this will still work if + % we use this at some random point in the middle of composing a + % page). + \global\@colht=\textheight + \global\@colroom=\textheight + \global\vsize=\textheight + \global\pagegoal=\textheight + \endgroup +} + + + + +%--------------------------------------------------------------------- +% +% ************************* +% ** HEADERS AND FOOTERS ** +% ************************* +% +% The pagestyles available are head, foot, headandfoot, and empty. +% \pagestyle{head} prints the head, and gives an empty foot. +% \pagestyle{foot} prints the foot, and gives an empty head. +% \pagestyle{headandfoot} prints both the head and the foot. +% \pagestyle{empty} gives an empty head and an empty foot. +% + +% Pagestyles: + +\def\ps@head{% + \@dohead + \@nofoot +} + +\def\ps@headandfoot{% + \@dohead + \@dofoot +} + +\def\ps@foot{% + \@nohead + \@dofoot +} + +\def\ps@empty{% + \@nohead + \@nofoot +} + + + +\def\@dohead{% + \def\@oddhead{% + \ifnum\value{page}=1 + \@fullhead + \else + \r@fullhead + \fi + }% @oddhead + \let\@evenhead=\@oddhead +} + +\def\@dofoot{% + \def\@oddfoot{% + \ifnum\value{page}=1 + \@fullfoot + \else + \r@fullfoot + \fi + }% @oddfoot + \let\@evenfoot=\@oddfoot + +} + +\def\@nohead{% + \def\@oddhead{}% + \let\@evenhead=\@oddhead +} + +\def\@nofoot{% + \def\@oddfoot{}% + \let\@evenfoot=\@oddfoot +} + + + + +%-------------------------------------------------------------------- +% \@fullhead, \r@fullhead, \@fullfoot, and \r@fullfoot: + +\def\@fullhead{% + \vbox to \headheight{% + \vss + \hbox to \textwidth{% + \rm\rlap{\parbox[b]{\textwidth}{\raggedright\@lhead\strut}}% + \hss\parbox[b]{\textwidth}{\centering\@chead\strut}\hss + \llap{\parbox[b]{\textwidth}{\raggedleft\@rhead\strut}}% + }% hbox + \if@headrule + \hrule + \else + % an invisible hrule, to keep positioning constant: + \hrule width 0pt + \fi + }% vbox +} + + +\def\r@fullhead{% + \vbox to \headheight{% + \vss + \hbox to \textwidth{% + \rm\rlap{\parbox[b]{\textwidth}{\raggedright\r@lhead\strut}}% + \hss\parbox[b]{\textwidth}{\centering\r@chead\strut}\hss + \llap{\parbox[b]{\textwidth}{\raggedleft\r@rhead\strut}}% + }% hbox + \ifr@headrule + \hrule + \else + % an invisible hrule, to keep positioning constant: + \hrule width 0pt + \fi + }% vbox +} + + + +% We arrange it so that the very top of first line of text in the +% foot is at a fixed position on the page, whether or not there's +% a footrule: + +\def\@fullfoot{% + \vbox to 0pt{% + \if@footrule + \hrule + \else + % an invisible hrule, to keep positioning constant: + \hrule width 0pt + \fi + \vskip 3pt + \hbox to \textwidth{% + \rm\rlap{\parbox[t]{\textwidth}{\raggedright\@lfoot}}% + \hss\parbox[t]{\textwidth}{\centering\@cfoot}\hss + \llap{\parbox[t]{\textwidth}{\raggedleft\@rfoot}}% + }% hbox + \vss + }% vbox +} + + +\def\r@fullfoot{% + \vbox to 0pt{% + \ifr@footrule + \hrule + \else + % an invisible hrule, to keep positioning constant: + \hrule width 0pt + \fi + \vskip 3pt + \hbox to \textwidth{% + \rm\rlap{\parbox[t]{\textwidth}{\raggedright\r@lfoot}}% + \hss\parbox[t]{\textwidth}{\centering\r@cfoot}\hss + \llap{\parbox[t]{\textwidth}{\raggedleft\r@rfoot}}% + }% hbox + \vss + }% vbox +} + + +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- +% +% ******************************************** +% ** COMMANDS TO DEFINE HEADERS AND FOOTERS ** +% ******************************************** +% +% \lhead[#1]{#2} sets the first page left head to #1, and the +% running left head to #2 +% +% \lhead{#1} sets both the first page left head and the running +% left head to #1 +% +% \chead, \rhead, \lfoot, \cfoot, and \rfoot work similarly. +% +% +% \@lhead is the left head for Page 1 +% \r@lhead is the running left head +% (i.e., for all pages other than the first) +% +% \@chead is the center head for Page 1 +% \r@chead is the running center head +% (i.e., for all pages other than the first) +% +% etc. +% +% Alternative commands are: +% \firstpageheader{LEFT}{CENTER}{RIGHT} +% \runningheader{LEFT}{CENTER}{RIGHT} +% or +% \header{LEFT}{CENTER}{RIGHT} +% which is equivalent to the two commands +% \firstpageheader{LEFT}{CENTER}{RIGHT} +% \runningheader{LEFT}{CENTER}{RIGHT} +% +% Alternative commands are: +% \firstpagefooter{LEFT}{CENTER}{RIGHT} +% \runningfoother{LEFT}{CENTER}{RIGHT} +% or +% \footer{LEFT}{CENTER}{RIGHT} +% which is equivalent to the two commands +% \firstpagefooter{LEFT}{CENTER}{RIGHT} +% \runningfoother{LEFT}{CENTER}{RIGHT} + +\def\firstpageheader#1#2#3{% + \def\@lhead{#1}% + \def\@chead{#2}% + \def\@rhead{#3}% +} + +\def\runningheader#1#2#3{% + \def\r@lhead{#1}% + \def\r@chead{#2}% + \def\r@rhead{#3}% +} + +\def\header#1#2#3{% + \firstpageheader{#1}{#2}{#3}% + \runningheader{#1}{#2}{#3}% +} + + +\def\firstpagefooter#1#2#3{% + \def\@lfoot{#1}% + \def\@cfoot{#2}% + \def\@rfoot{#3}% +} + +\def\runningfooter#1#2#3{% + \def\r@lfoot{#1}% + \def\r@cfoot{#2}% + \def\r@rfoot{#3}% +} + +\def\footer#1#2#3{% + \firstpagefooter{#1}{#2}{#3}% + \runningfooter{#1}{#2}{#3}% +} + + + +\def\lhead{\@ifnextchar[{\@xlhead}{\@ylhead}} +\def\@xlhead[#1]#2{\def\@lhead{#1}\def\r@lhead{#2}} +\def\@ylhead#1{\def\r@lhead{#1}\def\@lhead{#1}} + +\def\chead{\@ifnextchar[{\@xchead}{\@ychead}} +\def\@xchead[#1]#2{\def\@chead{#1}\def\r@chead{#2}} +\def\@ychead#1{\def\r@chead{#1}\def\@chead{#1}} + +\def\rhead{\@ifnextchar[{\@xrhead}{\@yrhead}} +\def\@xrhead[#1]#2{\def\@rhead{#1}\def\r@rhead{#2}} +\def\@yrhead#1{\def\r@rhead{#1}\def\@rhead{#1}} + +\def\lfoot{\@ifnextchar[{\@xlfoot}{\@ylfoot}} +\def\@xlfoot[#1]#2{\def\@lfoot{#1}\def\r@lfoot{#2}} +\def\@ylfoot#1{\def\r@lfoot{#1}\def\@lfoot{#1}} + +\def\cfoot{\@ifnextchar[{\@xcfoot}{\@ycfoot}} +\def\@xcfoot[#1]#2{\def\@cfoot{#1}\def\r@cfoot{#2}} +\def\@ycfoot#1{\def\r@cfoot{#1}\def\@cfoot{#1}} + +\def\rfoot{\@ifnextchar[{\@xrfoot}{\@yrfoot}} +\def\@xrfoot[#1]#2{\def\@rfoot{#1}\def\r@rfoot{#2}} +\def\@yrfoot#1{\def\r@rfoot{#1}\def\@rfoot{#1}} + + +% Initialize head and foot: + + + +\pagestyle{headandfoot} + +\lhead{} +\chead{} +\rhead{} +\lfoot{} +\cfoot[]{Page \thepage} +\rfoot{} + + + + +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- + +% Headrules and footrules: + +\newif\if@headrule +\newif\ifr@headrule + +\def\firstpageheadrule{\@headruletrue} +\def\nofirstpageheadrule{\@headrulefalse} + +\def\runningheadrule{\r@headruletrue} +\def\norunningheadrule{\r@headrulefalse} + +\def\headrule{\@headruletrue\r@headruletrue} +\def\noheadrule{\@headrulefalse\r@headrulefalse} + + + +\newif\if@footrule +\newif\ifr@footrule + +\def\firstpagefootrule{\@footruletrue} +\def\nofirstpagefootrule{\@footrulefalse} + +\def\runningfootrule{\r@footruletrue} +\def\norunningfootrule{\r@footrulefalse} + +\def\footrule{\@footruletrue\r@footruletrue} +\def\nofootrule{\@footrulefalse\r@footrulefalse} + + + +% Initialize: + +\noheadrule +\nofootrule + + + +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- + +% \numpages, \iflastpage and \oddeven + +% Make the number of pages available as the macro \numpages: +\def\numpages{\pageref{@lastpage}} +\let\@realenddocument=\enddocument +\def\enddocument{\clearpage + \if@filesw + {\advance\c@page-1 \immediate\write\@mainaux + {\string\newlabel{@lastpage}{{}{\arabic{page}}}}% + } + \fi + \@realenddocument +} + + +% We define \iflastpage so that it can safely be used +% in headers and footers: +\def\iflastpage#1#2{% + \@ifundefined{r@@lastpage}{\def\@@lastpage{-1}}% + {\edef\@@lastpage{\expandafter\@cdr\r@@lastpage\@nil}}% + \ifnum\value{page}=\@@lastpage + #1% + \else + #2% + \fi +} + + +% The macro \oddeven takes two arguments. If the page number is odd, +% then you get the first argument; otherwise, you get the second +% argument. +\def\oddeven#1#2{% + \ifodd\value{page}% + #1 + \else + #2 + \fi +} + + + + + + + +%--------------------------------------------------------------------- +% +% *************************** +% ** QUESTION ENVIRONMENTS ** +% *************************** +% +% +% +% We define the command \part only inside of a parts environment, +% so that we don't interfere with the meaning of the standard +% article documentstyle command \part if that is used inside of a +% questions environment. The commands \question and \subpart are +% defined everywhere inside of a questions environment. (If the +% user accidentally gives a \subpart command outside of a subparts +% environment, then a warning will be printed, and the \subpart +% command will be treated as either a \question command or a +% \part command (depending on the current environment). + + + + +% We use the counter name `partno' for the parts environment so that +% we will not interfere with the counter `part' used by the article +% document style. + +\@definecounter{question} +\@definecounter{partno} +\@definecounter{subpart} + + + +\newenvironment{questions}% + {\def\@queslevel{question}% + \def\question{\@checkqueslevel{question}\@doitem}% + \def\subpart{\@checkqueslevel{subpart}\@doitem} + \list{\thequestion.}% + {\usecounter{question}\def\makelabel##1{\hss\llap{##1}}% + \def\thequestion{\arabic{question}}% + \settowidth{\leftmargin}{10.\hskip\labelsep} + \labelwidth\leftmargin\advance\labelwidth-\labelsep + \partopsep=0pt + }% + }% + {\endlist} + +\newenvironment{parts}% + {\def\@queslevel{part}% + \def\part{\@checkqueslevel{part}\@doitem} + \list{(\thepartno)}% + {\usecounter{partno}\def\makelabel##1{\hss\llap{##1}}% + \def\thepartno{\alph{partno}}% + \settowidth{\leftmargin}{(m)\hskip\labelsep} + \labelwidth\leftmargin\advance\labelwidth-\labelsep + \topsep=0pt + \partopsep=0pt + }% + }% + {\endlist} + +\newenvironment{subparts}% + {\def\@queslevel{subpart}% + \list{\thesubpart.}% + {\usecounter{subpart}\def\makelabel##1{\hss\llap{##1}}% + \def\thesubpart{\roman{subpart}}% + \settowidth{\leftmargin}{vii.\hskip\labelsep} + \labelwidth\leftmargin\advance\labelwidth-\labelsep + \topsep=0pt + \partopsep=0pt + }% + }% + {\endlist} + + +\def\@checkqueslevel#1{% + \begingroup + \def\@temp{#1}% + \ifx\@temp\@queslevel + % Everything's fine; do nothing. + \else + \@warning{I found a #1 where I expected to find a \@queslevel} + \fi + \endgroup +} + + +\def\@doitem{\@ifnextchar[{\@readpoints}{\item\@setpoints}} + +\def\@readpoints[#1]{% + \edef\@points{#1}% + \@placepointstrue + \item + \@setpoints +} + +\def\@setpoints{% + % The \item command sets \everypar so that the first time we enter + % horizontal mode (which will cause \everypar to be added to the + % paragraph), the label (or labels, if, e.g., a \question begins + % with a parts environment) will be placed on the page, a couple + % of other bookkeeping chores are done, and then \everypar is + % set to the empty token string (so that none of this will be + % repeated for the following paragraphs). + % + % We check to see if there are points to be placed for this item. + % if so, we append either + % \llap{(\@points)\hskip\@totalleftmargin\hskip\marginpointssep}% + % \@placepointsfalse + % or + % (\@points\@pointname)\enspace\@placepointsfalse + % to \everypar, so that the number of points will be set whenever + % we first enter horizontal mode, and the flag to set points will + % be turned off. (Resetting the flag is put into \everypar so that + % if another \item is encounteres before we actually enter + % horizontal mode, we'll put this back into the new version of + % \everypar that will be created by that \item.) + \if@placepoints + \if@pointsinmargin + \everypar=\expandafter{\the\everypar + \llap{(\@points)\hskip\@totalleftmargin\hskip\marginpointssep}% + \@placepointsfalse}% + \else + \everypar=\expandafter{\the\everypar + (\@points\@pointname)\enspace\@placepointsfalse}% + \fi + \fi +}% @setpoints + +\newif\if@placepoints +\@placepointsfalse + + + +% If the user says \pointsinmargin, then the distance from +% the right parentheses enclosing the points to the left margin +% will be \marginpointssep: +\newskip\marginpointssep +\setlength{\marginpointssep}{5pt} + +\newif\if@pointsinmargin +\def\pointsinmargin{\global\@pointsinmargintrue} +\def\nopointsinmargin{\global\@pointsinmarginfalse} +\@pointsinmarginfalse + + +\def\pointname#1{\gdef\@pointname{#1}} +% Initialize to leave a space, and then the word `points': +\pointname{ points} + + + +%-------------------------------------------------------------------- +%-------------------------------------------------------------------- + +% \uplevel and \fullwidth: + +% \uplevel is used to print text at the indentation level of the +% enclosing environment. For example, to precede a question with +% directions about how that question should be answered, you would +% say \uplevel{Answer this question correctly.} +% +% \fullwidth is similar, but uses the full page of text on the page. + +\long\def\uplevel#1{% + \par\bigskip + \vbox{% + \advance\leftskip\@totalleftmargin + \advance\leftskip-\leftmargin + #1\par + }% vbox + \nobreak +} + +\long\def\fullwidth#1{% + \par\bigskip + \vbox{% + \leftskip=0pt \rightskip=0pt + #1\par + }% vbox + \nobreak +} + +%--------------------------------------------------------------------- + + +\endinput + + + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- + diff --git a/obsolete/macros/latex209/contrib/exam/examdoc.dvi b/obsolete/macros/latex209/contrib/exam/examdoc.dvi new file mode 100644 index 0000000000..4b7987fc95 Binary files /dev/null and b/obsolete/macros/latex209/contrib/exam/examdoc.dvi differ diff --git a/obsolete/macros/latex209/contrib/exam/examdoc.tex b/obsolete/macros/latex209/contrib/exam/examdoc.tex new file mode 100644 index 0000000000..3ea8401ff9 --- /dev/null +++ b/obsolete/macros/latex209/contrib/exam/examdoc.tex @@ -0,0 +1,1741 @@ +% examdoc.tex + +\documentstyle[12pt]{exam} + +%-------------------------------------------------------------------- +%--------------------------------------------------------------------- +\newenvironment{example}% + {\bigskip\filbreak + \subsubsection{Example:} + }% + {} + + +\def\samplehead#1#2#3#4{% + \begin{trivlist} + \item[] + \leavevmode + \hbox to \textwidth{% + \rlap{\parbox[b]{\textwidth}{\raggedright#1\strut}}% + \hfil\parbox[b]{\textwidth}{\centering#2\strut}\hfil + \llap{\parbox[b]{\textwidth}{\raggedleft#3\strut}}% + }% hbox + #4 + \end{trivlist} +} + +\def\samplefoot#1#2#3#4{% + \begin{trivlist} + \item[] + \leavevmode + #1 + \vskip 3pt + + \hbox to \textwidth{% + \rlap{\parbox[t]{\textwidth}{\raggedright#2}}% + \hfil\parbox[t]{\textwidth}{\centering#3}\hfil + \llap{\parbox[t]{\textwidth}{\raggedleft#4}}% + }% hbox + \end{trivlist} +} + + + +\makeatletter +\@ifundefined{AmS}{\def\AmS{{\protect\the\textfont\tw@ + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}} + {} +\makeatother + + +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- +%--------------------------------------------------------------------- + +\begin{document} + +\title{Using the exam document style} + +\author{Philip Hirschhorn\\ +Department of Mathematics\\ +Wellesley College\\ +Wellesley, MA 02181\\ +phirschhorn@wellesley.edu} + +\date{December 12, 1994} + +\maketitle + +\tableofcontents + +\section{Introduction} + + +The file \verb"exam.sty" provides a document style that attempts to +make it easier to prepare exams. Most of what's here can also be +accomplished by using \verb"fancyheadings.sty", adjusting \LaTeX's +page layout parameters (perhaps by using \verb"fullpage.sty") and +making careful use of the \verb"list" environment, but \verb"exam.sty" +tries to make all this as simple as possible. + +Specifically, \verb"exam.sty" sets the page layout so that there are +one inch margins all around and provides commands that make it easy +to format questions and create very flexible headers and footers. In +particular: +% +\begin{itemize} +\item The style will automatically format and number the questions, + parts of questions, and subparts of questions, while making it easy + to refer to specific questions by number in any special directions + you need to print on the exam. + +\item You can include the point value of each question (or part, or + subpart), with your choice of having the point values either at the + beginning of the text of the question or in the left margin. + +\item You can specify the header in three parts: The left head, the + center head, and the right head. The left head is left justified, + the center head is centered, and the right head is right justified, + and one or all of these can be omitted. + +\item The footer is also specified in three parts: Left justified, + centered, and right justified. + +\item The header and footer for the first page can be different from + the ones used on other pages. + +\item Both headers and footers can contain more than one line. To + accommodate headers and footers with many lines, simple commands are + provided to increase the parts of the page devoted to the header + and/or the footer, and these commands can give one amount of space + on the first page and a different amount of space on all other + pages. + +\item You can have a horizontal rule at the base of the header and/or + at the top of the footer. + +\item Macros are defined to allow you to state the total number of + pages in the exam and to change the header and/or footer that + appears on the {\em last\/} page of the exam. + +\end{itemize} + +%--------------------------------------------------------------------- +\section{The documentstyle command} + +To use the \verb"exam" document style, you should specify \verb"exam" +as your main document style. For example, if you want to use +12~point type, then your \verb"documentstyle" command should be +% +\begin{center} +\verb"\documentstyle[12pt]{exam}" +\end{center} +% +If you would also like to use some of the features of \AmS-\LaTeX, +then you should use the command +% +\begin{center} +\verb"\documentstyle[12pt,amstex]{exam}" +\end{center} + +%--------------------------------------------------------------------- +\section{Questions} + +To type the questions in the exam, you use the \verb"questions" +environment. Each question is then begun with the command +\verb"\question", and the questions will be numbered automatically. + +For example, if you type +% +\begin{verbatim} +\begin{questions} + +\question +Why is there air? + +\question + +How much wood would a woodchuck chuck if a woodchuck could chuck +wood? + +\question +Compute $\displaystyle\int_0^1 x^2 \, dx$. +\end{questions} +\end{verbatim} +% +then you'll get +% +\begin{questions} + +\question +Why is there air? + +\question + +How much wood would a woodchuck chuck if a woodchuck could chuck +wood? + +\question +Compute $\displaystyle\int_0^1 x^2 \, dx$. +\end{questions} + +\bigskip + +As the above example illustrates, you can leave blank lines between +the \verb"\question" command and the actual beginning of the +question, or before the first \verb"\question" command in the +environment, and they will be ignored. + + +%--------------------------------------------------------------------- +\subsection{Questions with parts and subparts} + +If you want a question to have several parts, then you use the +\verb"parts" environment. For example, if you type +% +\begin{verbatim} +\begin{questions} +\question +Why is there air? + +\question +What if there were no air? + +\begin{parts} +\part +Describe the effect on the balloon industry. + +\part +Describe the effect on the aircraft industry. +\end{parts} + +\question + +\begin{parts} +\part +Define the universe. Give three examples. + +\part +If the universe were to end, how would you know? + +\end{parts} + + +\end{questions} +\end{verbatim} +% +then you'll get +\begin{questions} +\question +Why is there air? + +\question +What if there were no air? + +\begin{parts} +\part +Describe the effect on the balloon industry. + +\part +Describe the effect on the aircraft industry. +\end{parts} + +\question + +\begin{parts} +\part +Define the universe. Give three examples. + +\part +If the universe were to end, how would you know? + +\end{parts} + + +\end{questions} + +\bigskip + +The above example illustrates several things: +% +\begin{itemize} +\item +Parts of a question should be put into a \verb"parts" environment. + +\item +If a question begins with a \verb"parts" environment, then the first +part will appear on the same line with the question number. + +\item +You can leave blank lines before and after the \verb"\part" command, +and they will be ignored. +\end{itemize} + + +\bigskip + +There is also a \verb"subparts" environment, and it works just as you +would expect. For example, if you type +% +\begin{verbatim} +\begin{questions} +\question +This is the first question. + +\question +This is the second question. + +\begin{parts} +\part +This is the first part. + +\part +This is the second part. + +\begin{subparts} +\subpart +This is the first subpart. + +\subpart +This is the second subpart. + +\subpart +This is the third subpart. + +\end{subparts} + +\part +This is the third part. + +\end{parts} + +\question +\begin{parts} +\part +\begin{subparts} +\subpart +This is a subpart. + +\subpart +This is another subpart. +\end{subparts} +\part +This is another part. + +\end{parts} + + +\end{questions} +\end{verbatim} +% +then you'll get +\begin{questions} +\question +This is the first question. + +\question +This is the second question. + +\begin{parts} +\part +This is the first part. + +\part +This is the second part. + +\begin{subparts} +\subpart +This is the first subpart. + +\subpart +This is the second subpart. + +\subpart +This is the third subpart. + +\end{subparts} + +\part +This is the third part. + +\end{parts} + +\question +\begin{parts} +\part +\begin{subparts} +\subpart +This is a subpart. + +\subpart +This is another subpart. +\end{subparts} +\part +This is another part. + +\end{parts} + + +\end{questions} + + +%--------------------------------------------------------------------- +\subsection{Point values for the questions} +\label{sec:points} + +Each of the commands \verb"\question", \verb"\part" and +\verb"\subpart" take an optional argument, which is the number of +points for that question, part, or subpart. The default is that the +point value will be inserted at the beginning of the question (or +part, or subpart) in parentheses, but if you give the command +\verb"\pointsinmargin", then the point values will be set in the left +margin. For example, if you type +% +\begin{verbatim} +\begin{questions} +\question[20] +Why is there air? + + +\question +What if there were no air? + +\begin{parts} +\part[10] +Describe the effect on the balloon industry. + +\part[10] +Describe the effect on the aircraft industry. +\end{parts} + +\end{questions} +\end{verbatim} +% +then, with the default setup, you'll get +\nopointsinmargin +\begin{questions} +\question[20] +Why is there air? + + +\question +What if there were no air? + +\begin{parts} +\part[10] +Describe the effect on the balloon industry. + +\part[10] +Describe the effect on the aircraft industry. +\end{parts} + +\end{questions} +\bigskip +If you give the command \verb"\pointsinmargin", then the above input +will produce instead +\pointsinmargin +\begin{questions} +\question[20] +Why is there air? + + +\question +What if there were no air? + +\begin{parts} +\part[10] +Describe the effect on the balloon industry. + +\part[10] +Describe the effect on the aircraft industry. +\end{parts} + +\end{questions} + +If you want to switch back and forth between the two formats during +the exam, you can do so by giving the commands \verb"\pointsinmargin" +and \verb"\nopointsinmargin" whenever you want to switch. +%--------------------------------------------------------------------- +\subsubsection*{Using a substitute for the word ``points''} + +If you want the point value to be inserted at the beginning of the +text of the question (i.e., using the default, +\verb"\nopointsinmargin"), but you want to label it with some word +other than ``points'', then you can change the word inserted by using +the \verb"\pointname" command. If you give the command +% +\begin{center} +\verb"\pointname{text}" +\end{center} +% +then ``text'' will be inserted inside the parentheses immediately +after the point value. For example, if you give the command +% +\begin{center} +\verb"\pointname{\%}" +\end{center} +% +and then type +% +\begin{verbatim} +\question[25] +Where, oh where, has my little dog gone? +\end{verbatim} +% +then you'll get +\pointname{\%} +\nopointsinmargin +% +\begin{questions} +\question[25] +Where, oh where, has my little dog gone? +\end{questions} +% +Using the default is equivalent to the command +% +\begin{center} +\verb"\pointname{ points}" +\end{center} +% +\pointname{ points} +(Note that the space following the point value must be explicitly +included.) + +%--------------------------------------------------------------------- +\subsubsection*{Questions that begin with a parts environment} +One thing to keep in mind is that {\em only one point value can +appear on a line, and it will be the last one to be placed there}. +This matters only if a question begins with a parts environment, or +if a part begins with a subparts environment. In either of these +cases, the question number and part number (or the part number and +subpart number) will appear on the same line, and if both of these +commands include an optional point value, {\em only the last one +given will be used}. For example, if you type +% +\begin{verbatim} +\begin{questions} +\question[10] +\begin{parts} +\part[5] +This is the first part. + +\part[5] +This is the second part. +\end{parts} +\end{questions} +\end{verbatim} +% +then you'll get +% +\begin{questions} +\question[10] +\begin{parts} +\part[5] +This is the first part. + +\part[5] +This is the second part. +\end{parts} +\end{questions} +% +Notice that the 10~points for the entire question are never mentioned +anywhere, since they would have appeared on the same line with the +5~points for the first part, and the 5~points for the part were +placed later. This is true whether \verb"\pointsinmargin" or +\verb"\nopointsinmargin" is in effect. + + + +%--------------------------------------------------------------------- +\subsection{Including special instructions for a group of questions} +\label{sec:uplevel} + +There are two commands provided for including special instructions +for specific questions: \verb"\uplevel" and \verb"\fullwidth". These +commands allow you to give instructions that will be set with the +left indentation appropriate for the scope of the instructions. + +For example, if you are inside of a parts environment, and you want +to give directions for the next few parts, then those directions +should be indented to the level of the question of which they are +parts, i.e., up one level. If you type +% +\begin{verbatim} +\begin{questions} +\question +This is the first question. + +\question +\begin{parts} +\part +This is the first part. + +\uplevel{The following two parts should be answered in classical +Greek:} +\part +This is the second part. + +\part +This is the third part. + +\end{parts} +\end{questions} +\end{verbatim} +% +then you'll get +\begin{questions} +\question +This is the first question. + +\question +\begin{parts} +\part +This is the first part. + +\uplevel{The following two parts should be answered in classical +Greek:} +\part +This is the second part. + +\part +This is the third part. + +\end{parts} +\end{questions} + + + + +\bigskip +If you want to give instructions for a group of questions, then the +indenting for those instructions should be to the outer left margin, +i.e., up one level. For example, if you type +% +\begin{verbatim} +\begin{questions} +\question +Approximate $\displaystyle \int_0^1 \sin x^2 \, dx$ within $.001$ of +its true value. + +\uplevel{Questions \ref{exact-start} through~\ref{exact-end} should +be evaluated completely, not just approximated.} + +\question +\label{exact-start} +$\displaystyle \int_0^1 \frac{x^2 \, dx}{\sqrt{1-x^2}}$ + +\question +$\displaystyle \int_0^1 \frac{1}{1+x^2}\, dx$ + +\question +\label{exact-end} +$\displaystyle \int_0^{\frac{\pi}{2}} \sin^3 x \cos x \, dx$ +\end{questions} +\end{verbatim} +% +you'll get +\begin{questions} +\question +Approximate $\displaystyle \int_0^1 \sin x^2 \, dx$ within $.001$ of +its true value. + +\uplevel{Questions \ref{exact-start} through~\ref{exact-end} should +be evaluated completely, not just approximated.} + +\question +\label{exact-start} +$\displaystyle \int_0^1 \frac{x^2 \, dx}{\sqrt{1-x^2}}$ + +\question +$\displaystyle \int_0^1 \frac{1}{1+x^2}\, dx$ + +\question +\label{exact-end} +$\displaystyle \int_0^{\frac{\pi}{2}} \sin^3 x \cos x \, dx$ +\end{questions} + + + + + + +\bigskip +If you want to give instructions that use the full width of the page +(rather than just going up one level of indentation), then use the +\verb"\fullwidth" command. For example, if you type +% +\begin{verbatim} +\begin{questions} +\question +This is the first question. + +\question +\begin{parts} +\part +This is the first part. + +\part +This is the second part. +\begin{subparts} +\subpart +This is a subpart. + +\fullwidth{When you finish this exam, you should go back and +reexamine your work, both on the earlier part of this exam and in +your life up until the day of this exam, for any errors that you may +have made.} + +\subpart +This is another subpart. +\end{subparts} +\end{parts} +\end{questions} +\end{verbatim} +% +then you'll get +\begin{questions} +\question +This is the first question. + +\question +\begin{parts} +\part +This is the first part. + +\part +This is the second part. +\begin{subparts} +\subpart +This is a subpart. + +\fullwidth{When you finish this exam, you should go back and +reexamine your work, both on the earlier part of this exam and in +your life up until the day of this exam, for any errors that you may +have made.} + +\subpart +This is another subpart. +\end{subparts} +\end{parts} +\end{questions} + + + +%--------------------------------------------------------------------- +\subsubsection*{Referring to specific questions by number} + +You can use the standard \LaTeX{} commands \verb"\label" and +\verb"\ref" to refer to questions (or parts, or subparts) by number. +For example, if you type +% +\begin{verbatim} +The first question is question number~\ref{ques:first}, but it's +question number~\ref{ques:second} that has both a good part +(part~\ref{part:good}) and a bad part (part~\ref{part:bad}). + +\begin{questions} +\question +\label{ques:first} +This is the first question. + +\question +\label{ques:second} +\begin{parts} +\part +\label{part:good} +This is the good part. + +\part +\lable{part:bad} +This is the {\em bad\/} part. +\end{parts} + +\question +Is there a question? +\end{questions} +\end{verbatim} +% +then you'll get: + +\medskip + +The first question is question number~\ref{ques:first}, but it's +question number~\ref{ques:second} that has both a good part +(part~\ref{part:good}) and a bad part (part~\ref{part:bad}). + +\begin{questions} +\question +\label{ques:first} +This is the first question. + +\question +\label{ques:second} +\begin{parts} +\part +\label{part:good} +This is the good part. + +\part +\label{part:bad} +This is the {\em bad\/} part. +\end{parts} + +\question +Is there a question? +\end{questions} + + + +\bigskip + +As with all other cross references in \LaTeX, you'll have to run your +file through \LaTeX{} {\em twice\/} to be sure that all the cross +references are correct. + + + +%--------------------------------------------------------------------- +\subsection{Naming the parts of a long exam} + +There are two ways of naming the parts of a long exam. The first way +uses the \verb"\uplevel" and \verb"\fullwidth" commands (see +section~\ref{sec:uplevel}), and the other way uses the standard +\verb"\part" and \verb"\section" commands. + + + + +\subsubsection*{Using {\tt fullwidth} and {\tt uplevel}} + +To place a section name in the exam, just use a \verb"\fullwidth" +command (see section~\ref{sec:uplevel}) and include whatever font +changing commands that you want to use. For example, if you type +% +\begin{verbatim} +\begin{questions} +\question +This is a question in the non-essay part of the exam. + +\fullwidth{\Large\bf Essay questions} + +\question +Explain how the cooling of matter in the centuries following the big +bang has influenced the British parliamentary system of government. + +\fullwidth{\Large\bf Laboratory questions} + +\question +In the cabinet below your laboratory bench you will find a single +edged razor blade, several C-clamps, and a bottle of whiskey. Remove +your appendix. Do not suture until your work has been inspected. +\end{questions} +\end{verbatim} +% +then you'll get +% +\begin{questions} +\question +This is a question in the non-essay part of the exam. + +\fullwidth{\Large\bf Essay questions} + +\question +Explain how the cooling of matter in the centuries following the big +bang has influenced the British parliamentary system of government. + +\fullwidth{\Large\bf Laboratory questions} + +\question +In the cabinet below your laboratory bench you will find a single +edged razor blade, several C-clamps, and a bottle of whiskey. Remove +your appendix. Do not suture until your work has been inspected. +\end{questions} + + + + + + +\subsubsection*{Using the standard sectioning commands} + +The exam document style is built upon the standard article document +style, and so the sectioning commands used with the article document +style can be used here as well. In particular, you can give the +commands \verb"\part", \verb"\part*", \verb"\section", and +\verb"\section*". The definitions made in \verb"exam.sty" ensure +that if a \verb"\part" command appears {\em outside of a parts +environment} it will be interpreted as a sectioning command, while if +it appears {\em inside\/} of a parts environment, it will be +interpreted as beginning a new part of a question. + + + +You can give these commands in the middle of a questions environment +so as not to interrupt the numbering of the questions, or you can end +a questions environment, give a sectioning command, and then start a +new questions environment (which would reset the question counter +to start again with number~1). If you give any of these commands +while inside of a questions environment, then the section titles will +be indented to the same extent that questions are indented, unless +they are given as the argument of a \verb"\fullwidth" or +\verb"\uplevel" command. These +commands have the advantage, however, that the unstarred versions +provide automatic numbering of the parts (or sections). +%--------------------------------------------------------------------- +\subsection{Leaving space for the answers} + +To leave a specific amount of blank space on the page for the answer +to a question, you should use the \verb"\vspace*" command. For +example, the command \verb"\vspace*{1in}" inserts one inch of vertical +space after the line in which it appears. (If it appears in between +paragraphs, then it inserts the space right there.) You can also use +the \verb"\vspace" command, the difference being that any space +inserted by \verb"\vspace" will be deleted if it occurs at the top +of a new page, whereas space inserted by \verb"\vspace*" will never +be deleted. + +If you want to equally distribute the blank space among the questions +on the page, then just put \verb"\vspace*{\fill}" after each question +on the page and use \verb"\newpage" to end the page. + +%-------------------------------------------------------------------- +\subsection{Changing the page size} +\label{sec:pagesize} + +The exam document style arranges things so that if you print onto +standard American letter size paper (8.5~inches wide by 11~inches +high) you'll get one inch margins at the top, bottom and +sides. If you want to change the size of these margins (or if you're +printing onto some other size paper), commands are provided to change +the size of the printed area. + +To change the width of the printed area, you would use the +\verb"\extrawidth" command. The \verb"\extrawidth" command takes one +argument and enlarges the width of the printed area by the amount of +the argument. It keeps the printed area centered as it changes its +width. If the argument is negative, then the width of the printed +area is decreased. + +For example, to enlarge the left and right margins by one half inch +each, you would use the command +\begin{center} + \verb"\extrawidth{-1in}" +\end{center} +since the printed region must shrink by one inch to allow an +additional one half inch on both sides. To decrease the left and +right margins to three quarters of an inch each, you would use the +command +\begin{center} + \verb"\extrawidth{.5in}" +\end{center} +since the printed region must grow by one half inch to decrease both +margins by one quarter of an inch. + +To change the height of the printed area, you must choose whether the +top or the bottom of the printed area (or possibly both) should move. +The commands for this are principally intended to allow additional +room for large headers and footers, and so they are called +\verb"\extraheadheight" and \verb"\extrafootheight". For a full +description of these commands, see section~\ref{sec:extra-room}. + +To move the top of the printed region (and any header that's present) +downwards, you use the command \verb"\extraheadheight". This command +takes one argument and moves the top of the text and the header down +by this amount (keeping the distance between header and text +constant). Thus, to increase the top margin by three quarters of an +inch, you would give the command +\begin{center} + \verb"\extraheadheight{.75in}" +\end{center} +To decrease the top margin by one half inch, you would give the +command +\begin{center} + \verb"\extraheadheight{-.5in}" +\end{center} +The \verb"\extraheadheight" command takes an optional argument to +provide a top margin on the first page that's different from that on +all other pages. For an explanation of this, see +section~\ref{sec:extra-room}. + + +To move the bottom of the printed region (and any footer that's +present) upwards, you use the command \verb"\extrafootheight". This +command takes one argument, and moves the bottom of the text and the +footer up by this amount (keeping the distance between footer and text +constant). Thus, to increase the bottom margin by three quarters of an +inch, you would give the command +\begin{center} + \verb"\extrafootheight{.75in}" +\end{center} +To decrease the bottom margin by one half inch, you would give the +command +\begin{center} + \verb"\extrafootheight{-.5in}" +\end{center} +The \verb"\extrafootheight" command takes an optional argument to +provide a bottom margin on the first page that's different from that +on all other pages. For an explanation of this, see +section~\ref{sec:extra-room}. + + + +%-------------------------------------------------------------------- +%--------------------------------------------------------------------- +\section{Headers and footers} + + +The following sections explain all of the technicalities of the +commands that deal with headers and footers. There are a number of +things to explain here, and so you may find it easier to skip this +section and instead look at the examples in +sections~\ref{sec:beginexamples} through~\ref{sec:endexamples} (on +pages~\pageref{sec:beginexamples} through~\pageref{sec:endexamples}). +You can then refer back to the technical sections for the full story +on whatever isn't clear from the examples. + +%--------------------------------------------------------------------- +\subsection{Page styles: Headers and/or footers} + +It's the \verb"\pagestyle" command that determines whether the exam +will have headers, footers, both, or neither. The contents of the +header and footer are specified using the commands described in +sections~\ref{sec:header} through~\ref{sec:rules}, but it's the +\verb"\pagestyle" command that determines whether the header and +footer that you construct will actually be placed onto the page. The +\verb"\pagestyle" command should be given after the +\verb"\documentstyle" command, and before the \verb"\begin{document}". + +To have both a header and a footer, give the command +% +\begin{center} +\verb"\pagestyle{headandfoot}" +\end{center} +% +If you want every page to have a header but no footer, give the +command +% +\begin{center} +\verb"\pagestyle{head}" +\end{center} +% +To give every page a foot but no head, give the command +% +\begin{center} +\verb"\pagestyle{foot}" +\end{center} +% +Finally, to omit both the header and the footer from the page, give +the command +% +\begin{center} +\verb"\pagestyle{empty}" +\end{center} + + +\bigskip + + +As is true in all \LaTeX{} document styles, you can change the page +style used on a single page by giving the command +% +\begin{center} +\verb"\thispagestyle{somestyle}" +\end{center} +% +somewhere on that page (where \verb"somestyle" is the style that you +want to use on that page). This is most often needed if you use the +\verb"\maketitle" command, since that command inserts a +\verb"\thispagestyle{plain}" immediately following the title. If you +use the \verb"\maketitle" command and you want the entire document to +use \verb"\pagestyle{headandfoot}", then you'll need to put the +command \verb"\thispagestyle{headandfoot}" immediately after the +\verb"\maketitle" command to override the \verb"\thispagestyle{plain}" +that is inserted by \verb"\maketitle". + + +%--------------------------------------------------------------------- +\subsection{The three parts of the header} +\label{sec:header} +The header is specified in three parts: +% +\begin{itemize} +\item +One part to be left justified. + +\item +One part to be centered. + +\item +One part to be right justified. +\end{itemize} +% +There are two different ways in which you can specify the three parts +of the header. The first uses the commands \verb"\lhead", +\verb"\chead", and \verb"\rhead", each of which takes an optional +argument to specify a different header for the first page (see +section~\ref{sec:lhead}). The second uses the single command +\verb"\header" to specify all three parts of the header, or the +commands \verb"\firstpageheader" and \verb"\runningheader" to specify +a different header for the first page (see +section~\ref{sec:runningheader}). + + +%-------------------------------------------------------------------- +\subsubsection{Using lhead, chead and rhead} +\label{sec:lhead} + +The command \verb"\lhead{Text}" puts ``Text'' into the left justified +part of the header on every page. The command \verb"\lhead[Text +1]{Text 2}" puts ``Text~1'' into the left justified header on the +first page and ``Text~2'' into the left justified header on all other +pages. The commands \verb"\chead" and \verb"\rhead" have similar +effects on the centered and right justified parts of the header. + + +For example, to put the header +\samplehead{Math 115}{Second Exam}{July 4, 1776}{} +on every page of the exam, you would give the commands +% +\begin{verbatim} +\lhead{Math 115} +\chead{Second Exam} +\rhead{July 4, 1776} +\end{verbatim} + +If you want any of the three parts to have a special version to be +used only on the first page, then you just include that special +version as an optional argument (enclosed in square brackets) to the +command. For example, if you want the above header for the first +page, but on all pages after the first you want to have the header +\samplehead{Math 115}{Second Exam (Continued)}{July 4, 1776}{} +then you would give the commands +% +\begin{verbatim} +\lhead{Math 115} +\chead[Second Exam]{Second Exam (Continued)} +\rhead{July 4, 1776} +\end{verbatim} + + +You can leave one or more of the three parts empty. To have the +header +\samplehead{Math 115}{Second Exam}{July 4, 1776}{} +on the first page, with the header +\samplehead{Math 115}{}{Second Exam (Continued)}{} +on all other pages, you would give the commands +% +\begin{verbatim} +\pagestyle{headandfoot} +\lhead{Math 115} +\chead[Second Exam]{} +\rhead[July 4, 1776]{Second Exam Continued)} +\end{verbatim} +% + +Any of the three parts of the header can have multiple lines. To +specify where the line breaks should go, you just type \verb"\\". +Thus, to have the header +\samplehead{\bf\large Math 115\\Professor Hilbert}{} + {\bf\large First Exam\\July 4, 1776}{} +appear on every page, you would give the commands +% +\begin{verbatim} +\lhead{\bf\large Math 115\\Professor Hilbert} +\chead{} +\rhead{\bf\large First Exam\\July 4, 1776} +\end{verbatim} + +%-------------------------------------------------------------------- +\subsubsection{Using header, firstpageheader and runningheader} +\label{sec:runningheader} + + +The command \verb"\header{Text 1}{Text 2}{Text 3}" puts ``Text~1'' +into the left justified header, ``Text~2'' into the centered header +and ``Text~3'' into the right justified header on every page. If you +want the header on the first page to be different from that on the +other pages, then you should use the commands \verb"\firstpageheader" +and \verb"\runningheader", which also take three arguments and affect +either the first page or all pages except the first. + + +For example, to put the header +\samplehead{Math 115}{Second Exam}{July 4, 1776}{} +on every page of the exam, you would give the command +% +\begin{verbatim} +\header{Math 115}{Second Exam}{July 4, 1776} +\end{verbatim} + +If you want to have different header on the first page from the header +on all other pages, you would use the commands \verb"\firstpageheader" +and \verb"\runningheader" instead of \verb"\header". +For example, if you want the above header for the first +page, but on all pages after the first you want to have the header +\samplehead{Math 115}{Second Exam (Continued)}{July 4, 1776}{} +then you would give the commands +% +\begin{verbatim} +\firstpageheader{Math 115}{Second Exam}{July 4, 1776} +\runningheader{Math 115}{Second Exam (Continued)}{July 4, 1776} +\end{verbatim} + + +You can leave one or more of the three parts empty. To have the +header +\samplehead{Math 115}{Second Exam}{July 4, 1776}{} +on the first page, with the header +\samplehead{Math 115}{}{Second Exam (Continued)}{} +on all other pages, you would give the commands +% +\begin{verbatim} +\firstpageheader{Math 115}{Second Exam}{July 4, 1776} +\runningheader{Math 115}{}{Second Exam (Continued)} +\end{verbatim} +% + +Any of the three parts of the header can have multiple lines. To +specify where the line breaks should go, you just type \verb"\\". +Thus, to have the header +\samplehead{\bf\large Math 115\\Professor Hilbert}{} + {\bf\large First Exam\\July 4, 1776}{} +appear on every page, you would give the command +% +\begin{verbatim} +\header{\bf\large Math 115\\Professor Hilbert}% + {}% + {\bf\large First Exam\\July 4, 1776} +\end{verbatim} + +%--------------------------------------------------------------------- +\subsubsection*{Leaving extra room for multiple line headers} + +See section~\ref{sec:extra-room} for a description of the +\verb"\extraheadheight" command. + + +%--------------------------------------------------------------------- + +\subsection{The three parts of the footer} +\label{sec:footer} + +The footer is composed of three parts, the whole setup being similar +to that for the header (see section~\ref{sec:header}). There are two +different ways in which you can specify the three parts of the footer. +The first uses the commands \verb"\lfoot", \verb"\cfoot", and +\verb"\rfoot", each of which takes an optional argument to specify a +different footer for the first page (see section~\ref{sec:lfoot}). The +second uses the single command \verb"\footer" to specify all three +parts of the footer, or the commands \verb"\firstpagefooter" and +\verb"\runningfooter" to specify a different footer for the first page +(see section~\ref{sec:runningfooter}). + + + + + +%-------------------------------------------------------------------- +\subsubsection{Using lfoot, cfoot and rfoot} +\label{sec:lfoot} + +The command \verb"\lfoot{Text}" puts ``Text'' into the left justified +part of the footer on every page. The command +\verb"\lfoot[Text 1]{Text 2}" puts ``Text~1'' into the left justified +footer on the first page and ``Text~2'' into the left justified footer +on all other pages. The commands \verb"\cfoot" and \verb"\rfoot" have +similar effects on the centered and right justified parts of the +footer. + + +For example, to have an empty footer on the first page and the footer +\samplefoot{}{}{Page 3 of 5}{} +on all pages after the first, you would give the commands +% +\begin{verbatim} +\lfoot{} +\cfoot{} +\rfoot[]{Page \thepage\ of \numpages} +\end{verbatim} +% +(For an explanation of the \verb"\numpages" command, see +section~\ref{sec:numpages}.) + +%-------------------------------------------------------------------- + +\subsubsection{Using footer, firstpagefooter and runningfooter} +\label{sec:runningfooter} + +The command \verb"\footer{Text 1}{Text 2}{Text 3}" puts ``Text~1'' +into the left justified footer, ``Text~2'' into the centered footer +and ``Text~3'' into the right justified footer on every page. If you +want the footer on the first page to be different from that on the +other pages, then you should use the commands \verb"\firstpagefooter" +and \verb"\runningfooter", which also take three arguments and affect +either the first page or all pages except the first. + + +For example, to have an empty footer on the first page and the footer +\samplefoot{}{}{Page 3 of 5}{} +on all pages after the first, you would give the commands +% +\begin{verbatim} +\firstpagefooter{}{}{} +\runningfooter{}{Page \thepage\ of \numpages}{} +\end{verbatim} +% +(For an explanation of the \verb"\numpages" command, see +section~\ref{sec:numpages}.) + + +%--------------------------------------------------------------------- +\subsubsection*{Leaving extra room for multiple line footers} + +See section~\ref{sec:extra-room} for a description of the +\verb"\extrafootheight" command. + + + + +%--------------------------------------------------------------------- +\subsection{Leaving extra room for multiple line headers and footers} +\label{sec:extra-room} + +\subsubsection*{Headers} +If you specify more than one or two lines for any part of the header, +then you may want to move the header down slightly so that it doesn't +run off of the top of the paper. The command for this is +\verb"\extraheadheight". You can also use the \verb"\extraheadheight" +command to adjust the size of the text area. The +\verb"\extraheadheight" command never changes the distance between the +header and the text. + +For example, to move the header and the text a half inch +down from the top of the page, you would give the command +% +\begin{center} +\verb"\extraheadheight{.5in}" +\end{center} +% +You can also specify a negative distance to \verb"extraheadheight" to +move the header up closer to the top of the paper. For example, the +command +% +\begin{center} +\verb"\extraheadheight{-.25in}" +\end{center} +% +moves the header one quarter inch closer to the top of the paper. + +If you want to have a different value for \verb"\extraheadheight" on +the first page from that on the pages after the first, then use the +same syntax as in the \verb"\lhead", \verb"\chead", and \verb"\rhead" +commands: Include an optional argument giving the extra head height +for the first page, and the required argument will apply only to +those pages after the first. For example, the command +% +\begin{center} +\verb"\extraheadheight[.5in]{.25in}" +\end{center} +% +gives a half inch of extra head height on the first page and a +quarter inch of extra head height on all pages after the first. +If you say +% +\begin{center} +\verb"\extraheadheight[.5in]{}" +\end{center} +% +then this will be interpreted as if it was +% +\begin{center} +\verb"\extraheadheight[.5in]{0in}" +\end{center} +% +Note that the braces {\em must\/} appear. + + +If you give an \verb"\extraheadheight" command, it should be after the +\verb"\documentstyle" command but before the \verb"\begin{document}" +command. The \verb"\extraheadheight" command can also be used to +change the size of the text region (see section~\ref{sec:pagesize}). + + + + +\subsubsection*{Footers} +To leave extra room for multiple line footers, you use the command +\verb"\extrafootheight". Thus, to move the footer one half inch +higher up on the paper, you would give the command +% +\begin{center} +\verb"\extrafootheight{.5in}" +\end{center} +% +If you wanted to move the footer an eighth of an inch lower down on +the paper, you would give the command +% +\begin{center} +\verb"\extrafootheight{-.125in}" +\end{center} + +If you want to have a different value for \verb"\extrafootheight" on +the first page from that on the pages after the first, then use the +same syntax as in the \verb"\lfoot", \verb"\cfoot", and \verb"\rfoot" +commands: Include an optional argument giving the extra foot height +for the first page, and the required argument will apply only to +those pages after the first. For example, the command +% +\begin{center} +\verb"\extrafootheight[.5in]{.25in}" +\end{center} +% +gives a half inch of extra foot height on the first page and a +quarter inch of extra foot height on all pages after the first. +If you say +% +\begin{center} +\verb"\extrafootheight[.5in]{}" +\end{center} +% +then this will be interpreted as if it was +% +\begin{center} +\verb"\extrafootheight[.5in]{0in}" +\end{center} +% +Note that the braces {\em must\/} appear. + + +If you give an \verb"\extrafootheight" command, it should be after the +\verb"\documentstyle" command but before the \verb"\begin{document}" +command. The \verb"\extrafootheight" command can also be used to +change the size of the text region (see section~\ref{sec:pagesize}). + + + + + + +%--------------------------------------------------------------------- +\subsection{Horizontal rules} +\label{sec:rules} + +The \verb"exam" document style make it easy to put a horizontal rule +under the header and one above the footer. It is also easy to do +this for the pages after the first page without affecting the first +page. + +\begin{itemize} +\item +The command \verb"\runningheadrule" puts a horizontal rule below the +header on all pages after the first. + +\item +The command +\verb"\firstpageheadrule" puts a rule under the header of only the +first page. + +\item +The command \verb"\headrule" is equivalent to the two +commands \verb"\firstpageheadrule" and \verb"\runningheadrule". + +\item +The command \verb"\runningfootrule" puts a horizontal rule above the +footer on all pages after the first. + +\item +The command +\verb"\firstpagefootrule" puts a rule above the footer of only the +first page. + +\item +The command \verb"\footrule" is equivalent to the two +commands \verb"\firstpagefootrule" and \verb"\runningfootrule". + +\end{itemize} +% +For example, to have the header +\samplehead{Math 115}{First Exam}{July 4, 1776}{} +on the first page, with the header +\samplehead{Math 115}{First Exam}{July 4, 1776}{\hrule} +on all pages after the first, give the commands +% +\begin{verbatim} +\runningheadrule +\lhead{Math 115} +\chead{First Exam} +\rhead{July 4, 1776} +\end{verbatim} + + +\bigskip + +To have no footer on the first page, and the footer +\samplefoot{\hrule}{}{Page 3 of 5}{} +on all pages after the first, you would give the commands +% +\begin{verbatim} +\runningfootrule +\lfoot{} +\cfoot[]{Page \thepage\ of \numpages} +\rfoot{} +\end{verbatim} + + + + + + +%--------------------------------------------------------------------- +\subsection{Listing the number of pages in the exam} +\label{sec:numpages} + +The \verb"exam" document style defines the command \verb"\numpages" +so that it will expand to the number of pages in the exam. Thus, to +have the footer +\samplefoot{}{}{Page \thepage\ of \numpages}{} +you should give the commands +% +\begin{verbatim} +\lfoot{} +\cfoot{Page \thepage\ of \numpages} +\rfoot{} +\end{verbatim} +% +For a description of the commands \verb"\lfoot", \verb"\cfoot", and +\verb"\rfoot", see section~\ref{sec:footer}. + +As with all other cross referencing commands in \LaTeX, you'll have to +run the file through \LaTeX{} {\em twice\/} to be sure that +\verb"\numpages" is correct. + +%--------------------------------------------------------------------- +\subsection{Testing for the last page} +\label{sec:lastpage} + +If you want to vary the text that appears in the header or footer on +the last page of the exam, you should use the command +\verb"\iflastpage". The command +% +\begin{center} +\verb"\iflastpage{Text 1}{Text 2}" +\end{center} +% +expands to `Text~1' on the last page, and to `Text~2' on all +pages before the last. Thus, to have the footer +\samplefoot{}{}{Please go on to the next page\ldots}{} +on all pages before the last page, and the footer +\samplefoot{}{}{End of exam}{} +on the last page, you would give the commands +% +\begin{verbatim} +\lfoot{} +\cfoot{\iflastpage{End of exam}{Please go on to the next page\ldots}} +\rfoot{} +\end{verbatim} +% +For a description of the commands \verb"\lfoot", \verb"\cfoot", and +\verb"\rfoot", see section~\ref{sec:footer}. + +As with all other cross referencing commands in \LaTeX, you'll have to +run the file through \LaTeX{} {\em twice\/} to be sure that +\verb"\iflastpage" correctly detects the last page. + +%-------------------------------------------------------------------- +\subsection{Treating odd and even numbered pages differently} + +If you'd like odd and even numbered pages to be treated differently +(perhaps because you'll be printing onto both sides of the paper), you +should use the \verb"\oddeven" command. + +The \verb"\oddeven" command takes two arguments. If the current page +number is odd it expands to the first argument; otherwise, it expands +to the second argument. + +For example, to have the page number printed in the right head on odd +numbered pages and in the left head on even numbered pages, you would +use the commands +\begin{center} +\begin{verbatim} +\rhead{\oddeven{\thepage}{}} +\lhead{\oddeven{}{\thepage}} +\chead{} +\end{verbatim} +\end{center} +If you wanted the footer of the even numbered pages to be empty and +the footer of the odd numbered pages to contain the message ``Please +continue\dots'', except that the last page of the exam should have an empty +footer whether its page number is even or odd, then you would use the +commands +\begin{center} +\begin{verbatim} +\lfoot{} +\rfoot{} +\cfoot{\oddeven{\iflastpage{}{Please continue\dots}}{}} +\end{verbatim} +\end{center} +(see section~\ref{sec:lastpage} for an explanation of +\verb"\iflastpage"). + +Although the \verb"\oddeven" command can be used anywhere in the +document (i.e., not just in headers and footers), it is reliable only +in headers and footers. This is because \LaTeX{} generally processes +more text than can fit on the current page before it outputs a page. +When the \verb"\oddeven" command is encountered it will act as though +it will appear on the current page whether it appears on that page or +on the following page. + +%-------------------------------------------------------------------- +\subsection{Examples} + +\begin{example} +\label{sec:beginexamples} +To have the header +\samplehead{Math 115}{First Exam}{July 4, 1776}{} +on the first page, the header +\samplehead{Math 115}{First Exam, Page 2 of 5}{July 4, 1776}{\hrule} +on all pages after the first, and no footer on any page, give the +commands +% +\begin{verbatim} +\pagestyle{head} +\runningheadrule +\lhead{Math 115} +\chead[First Exam]{First Exam, Page \thepage\ of \numpages} +\rhead{July 4, 1776} +\end{verbatim} +% +Alternatively, you could give the commands +% +\begin{verbatim} +\pagestyle{head} +\runningheadrule +\firstpageheader{Math 115}{First Exam}{July 4, 1776} +\runningheader{Math 115}% + {First Exam, Page \thepage\ of \numpages}% + {July 4, 1776} +\end{verbatim} +% +\end{example} + + +\begin{example} +To have the header +\samplehead{\large\bf Mathematics 115\\ + First Exam, July 4, 1776}% + {}{\large\bf Name:\enspace\hbox to 2in{\hrulefill}}{} +on the first page, the header +\samplehead{\large\bf Mathematics 115\\ + First Exam, July 4, 1776}% + {}{}{} +on all pages after the first, an empty foot on the first page, and +the footer +\samplefoot{}{}{Page 2}{} +on all pages after the first, give the commands +% +\begin{verbatim} +\pagestyle{headandfoot} +\lhead{\large\bf Mathematics 115\\ First Exam, July 4, 1776} +\chead{} +\rhead[\large\bf Name:\enspace\hbox to 2in{\hrulefill}]{} +\lfoot{} +\cfoot[]{Page \thepage} +\rfoot{} +\end{verbatim} +% +Alternatively, you could give the commands +\begin{verbatim} +\pagestyle{headandfoot} +\firstpageheader{\large\bf Mathematics 115\\ + First Exam, July 4, 1776}% + {}{\large\bf Name:\enspace\hbox to 2in{\hrulefill}} +\runningheader{\large\bf Mathematics 115\\ + First Exam, July 4, 1776}{}{} +\firstpagefooter{}{}{} +\runningfooter{}{Page \thepage}{} +\end{verbatim} +\end{example} + +\begin{example} +To have the header +\samplehead{}{Wellesley College\\ + Second Semester Final Examination, Spring 1993\\ + Mathematics 115}{}{} +on the first page, the header +\samplehead{}{Wellesley College\\ + Second Semester Final Examination, Spring 1993\\ + Mathematics 115 (Continued)}{}{} +on all pages after the first, the footer +\samplefoot{}{}{Page 3 of 10}{Please go on to the next page\ldots} +on all pages {\em except the last\/} page, and the footer +\samplefoot{}{}{Page 10 of 10}{End of exam.} +on the last page, give the commands +% +\begin{verbatim} +\pagestyle{headandfoot} +\extraheadheight{.25in} +\lhead{} +\chead[Wellesley College\\ + Second Semester Final Examination, Spring 1993\\ + Mathematics 115] + {Wellesley College\\ + Second Semester Final Examination, Spring 1993\\ + Mathematics 115 (Continued)} +\rhead{} +\lfoot{} +\cfoot{Page \thepage\ of \numpages} +\rfoot{\iflastpage{End of exam.}{Please go on to the next page\ldots}} +\end{verbatim} +% +Alternatively, you could give the commands +\begin{verbatim} +\pagestyle{headandfoot} +\extraheadheight{.25in} +\firstpageheader{}{Wellesley College\\ + Second Semester Final Examination, Spring 1993\\ + Mathematics 115}{} +\runningheader{}{Wellesley College\\ + Second Semester Final Examination, Spring 1993\\ + Mathematics 115 (Continued)}{} +\footer{}{Page \thepage\ of \numpages}% + {\iflastpage{End of exam.}{Please go on to the next page\ldots}} +\end{verbatim} + +\end{example} + +\begin{example} +\label{sec:endexamples} +To have the header +\samplehead{Math 115}{First Exam}{July 4, 1776}{} +on the first page, no header on the pages after the first, no footer +on the first page, and the footer +\samplefoot{\hrule}{Math 115}{First Exam}{Page 2 of 5} +on all pages after the first, give the commands +% +\begin{verbatim} +\pagestyle{headandfoot} +\runningfootrule +\lhead[Math 115]{} +\chead[First Exam]{} +\rhead[July 4, 1776]{} +\lfoot[]{Math 115} +\cfoot[]{First Exam} +\rfoot[]{Page \thepage\ of \numpages} +\end{verbatim} +% +Alternatively, you could give the commands +\begin{verbatim} +\pagestyle{headandfoot} +\runningfootrule +\firstpageheader{Math 115}{First Exam}{July 4, 1776} +\runningheader{}{}{} +\firstpagefooter{}{}{} +\runningfooter{Math 115}{First Exam}{Page \thepage\ of \numpages} +\end{verbatim} +% +\end{example} +%-------------------------------------------------------------------- + + +\end{document} diff --git a/obsolete/macros/latex209/contrib/fac/fac.sty b/obsolete/macros/latex209/contrib/fac/fac.sty new file mode 100644 index 0000000000..f3b653a7e7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/fac/fac.sty @@ -0,0 +1,934 @@ +% Springer Journal FAC document style +% v1.22 released 13th October 1998 +% for LaTeX version 2.09 +% Copyright (C) 1993, 1997, 1998 Cambridge University Press +% +% based on the original LaTeX ARTICLE DOCUMENT STYLE by Leslie Lamport +% +% v1.22 - 13th October 1998 mods by Mark Reed. + +\newif\ifoldfss +\newif\ifnfssone +\newif\ifnfsstwo +\newif\ifprodtf +\newif\ifCUPmtlplainloaded +\def\f@s@s{}% +% +\@ifundefined{DeclareFontShape}% + {% + \@ifundefined{selectfont}% + {\global\oldfsstrue\def\f@s@s{(with OFSS)\space}% + \let\reset@font=\relax}% old font selection scheme + {\global\nfssonetrue\def\f@s@s{(with NFSS release 1)\space}}% + }% + {\global\nfsstwotrue\def\f@s@s{(with NFSS release 2)\space}}% + +\typeout{Document Style `FAC journal style' \f@s@s v1.22, 13th October 1998} +% +% Journals use two-sided printing. +% +\@twosidetrue +\@mparswitchtrue +\newif\ifforth@event +\def\ds@draft{\overfullrule 5pt} +\def\ds@forthevt{\forth@eventtrue} +\def\ds@prodtf{\CUPmtlplainloadedtrue\prodtftrue} +\@options + + +% **************************************** +% * FONTS * +% **************************************** +% +\ifx\CUP@mtlplain@loaded\undefined +\else + \CUPmtlplainloadedtrue \prodtftrue +\fi + +\lineskip 1pt +\normallineskip 1pt +\def\baselinestretch{1} +\def\@normalsize{\@setsize\normalsize{11pt}\xpt\@xpt + \abovedisplayskip 6pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 3pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \let\@listi\@listI} +\def\small{\@setsize\small{9pt}\viiipt\@viiipt + \abovedisplayskip 6pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 3pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \def\@listi{\leftmargin\leftmargini + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ + \itemsep 2pt}} +\def\footnotesize{\@setsize\footnotesize{9pt}\viiipt\@viiipt + \abovedisplayskip 5pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \def\@listi{\leftmargin\leftmargini + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ + \itemsep 2pt}} +\def\indexsize{\@setsize\indexsize{9pt}\viiipt\@viiipt} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\medium{\@setsize\large{12pt}\xipt\@xipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{16pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{18pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\normalsize + + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% SIDE MARGINS: +\oddsidemargin 2pc +\evensidemargin 2pc +\marginparwidth 2.0cm +\marginparsep 10pt + +% VERTICAL SPACING: +\topmargin 3pc +\headheight 11pt +\headsep 11pt +\topskip = 11pt +\footheight 11pt +\footskip 26pt + +% DIMENSION OF TEXT: +\textheight = 50\baselineskip \advance\textheight by \topskip +\textwidth 29pc +\columnsep 10pt +\columnseprule 0pt + +% FOOTNOTES: +\footnotesep 6.65pt +\skip\footins 16.5pt plus 12pt minus 1pt + +% FLOATS: +\floatsep 11pt plus 5.5pt minus 1pt +\textfloatsep 15pt plus 4.5pt minus 3pt +\intextsep 11pt plus 5.5pt minus 2pt +\@maxsep 15pt +\dblfloatsep 11pt plus 5.5pt minus 2pt +\dbltextfloatsep 15pt plus 4.5pt minus 3pt +\@dblmaxsep 15pt +\@fptop 0pt plus 0fil +\@fpsep 11pt plus 0fil +\@fpbot 0pt plus 3fil +\@dblfptop 0pt plus 0fil +\@dblfpsep 11pt plus 0fil +\@dblfpbot 0pt plus 3fil +\marginparpush 5pt + + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\parskip \z@ plus .3pt +\parindent 1.5em +\partopsep 0pt plus 1pt +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\clubpenalty=0 +\widowpenalty=10000 + + +% **************************************** +% * PARTS * +% **************************************** +% +\def\part{\par \addvspace{4ex}\@afterindentfalse + \secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{part} + \addcontentsline{toc}{part}{Part \thepart: #1} + \else \addcontentsline{toc}{part}{#1} + \fi + {\parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne + \large\rm PART + \ifcase\thepart \or ONE \or TWO \or THREE \or FOUR \or FIVE + \or SIX \or SEVEN \or EIGHT \or NINE \or TEN \else \fi + \par \nobreak + \fi + \LARGE \rm #2 \markboth{}{}\par } + \nobreak \vskip 3ex \@afterheading} +\def\@spart#1{{\parindent 0pt \raggedright + \LARGE \rm #1\par} + \nobreak \vskip 3ex \@afterheading} + + +% **************************************** +% * SECTIONS * +% **************************************** +% +\def\section{\@startsection {section}{1}{\z@} + {-19pt plus -5.5pt minus -2.25pt} + {11pt plus 0pt minus 1pt} + {\raggedright\large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {-21pt plus -2.25pt minus -2.25pt} + {11pt plus 0pt minus 1pt} + {\raggedright\medium\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {-11pt plus -2.25pt minus -2.25pt} + {11pt plus 0pt minus 1pt} + {\raggedright\normalsize\it}} +\def\paragraph{\@startsection{paragraph}{4}{\z@} + {11pt plus 2.25pt minus 1pt} + {-0.5em} + {\normalsize\bf}} +\def\subparagraph{\@startsection{subparagraph}{4}{\parindent} + {11pt plus 2.25pt minus 1pt} + {-0.5em} + {\normalsize\it}} +\setcounter{secnumdepth}{3} +% +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \def\@svsec{}% + \else + \refstepcounter{#1} + \edef\@svsec{\csname the#1\endcsname.\hskip 0.5em }% modified for 1en + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par} + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi #7} + \else + \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname + {#7}\addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi#7}}% + \fi + \@xsect{#5}} +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + + +% **************************************** +% * PARTS & SECTIONS NUMBERS * +% **************************************** +% +\newcounter{part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] +\def\thepart {\arabic{part}} +\def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + + +% **************************************** +% * SKIPS * +% **************************************** +% +\newskip\@indentskip +\newskip\smallindent +\newskip\@footindent +\newskip\@leftskip +\@indentskip=1.5em +\smallindent=1.5em +\@footindent=\smallindent +\@leftskip=\z@ + + +% **************************************** +% * LISTS * +% **************************************** +% +\leftmargini \@indentskip +\leftmarginii 1.25pc +\leftmarginiii 1.25pc +\leftmarginiv 1.25pc +\leftmarginv 1pc +\leftmarginvi 1pc +\leftmargin\leftmargini +\labelsep 0.5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep +% +% label macros for Range-Left and Range-Right labels +\def\makeRLlabel#1{\rlap{#1}\hss} +\def\makeRRlabel#1{\hss\llap{#1}} +% +\def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 6pt plus 1pt minus 1pt + \itemsep 2pt plus 1pt minus 0.5pt +% \let\makelabel\makeRRlabel +} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 6pt plus 1pt minus 1pt + \parsep \z@ + \itemsep 2pt + \let\makelabel\makeRRlabel +} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 6pt plus 1pt minus 1pt + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + \let\makelabel\makeRRlabel +} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + \let\makelabel\makeRRlabel} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + \let\makelabel\makeRRlabel} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + \let\makelabel\makeRRlabel} +% +% ITEMIZE +\def\itemize{\ifnum \@itemdepth >3 \@toodeep + \else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\let\makelabel\makeRRlabel}% + \fi} +\def\labelitemi{$\bullet$} +\def\labelitemii{--} +\def\labelitemiii{$\cdot$} +\def\labelitemiv{*} +% +% ENUMERATE +% SFB -- enumerate with optional argument to set left margin... +\def\enumerate{\ifnum \@enumdepth >3 \@toodeep \else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + \fi + \@ifnextchar [{\@enumeratetwo}{\@enumerateone}% +} +\def\@enumeratetwo[#1]{% + \list{\csname label\@enumctr\endcsname}% + {\settowidth\labelwidth{[#1]} + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{\@enumctr} + \let\makelabel\makeRRlabel} +} +\def\@enumerateone{% + \list{\csname label\@enumctr\endcsname}% + {\usecounter{\@enumctr} + \let\makelabel\makeRRlabel}} +% +%%%\def\labelenumi{\theenumi} +%%%\def\theenumi{\arabic{enumi}.} % SFB v 0.09 +%%%\def\labelenumii{(\theenumii)} +%%%\def\theenumii{\alph{enumii}} +%%%\def\p@enumii{\theenumi} +%%%\def\labelenumiii{\theenumiii} +%%%\def\theenumiii{\roman{enumiii}} +%%%\def\p@enumiii{\theenumi(\theenumii)} +%%%\def\labelenumiv{\theenumiv} +%%%\def\theenumiv{\Alph{enumiv}} +%%%\def\p@enumiv{\p@enumiii\theenumiii} + +\def\labelenumi{\arabic{enumi}.} +\def\theenumi{\arabic{enumi}} + +\def\labelenumii{(\theenumii)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi.} + +\def\labelenumiii{\theenumiii} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi.\theenumii.} + +\def\labelenumiv{\theenumiv} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii.} +% +% DESCRIPTION +\def\descriptionlabel#1{\hspace\labelsep \bf #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} +\let\enddescription\endlist + + +% **************************************** +% * DISPLAYED TEXT * +% **************************************** +% +% VERSE +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ + \itemindent -\@indentskip + \listparindent \itemindent + \rightmargin\leftmargin + \advance\leftmargin \@indentskip}\item[]} +\let\endverse\endlist +% +% QUOTATION +\def\quotation{\list{}{\listparindent \smallindent +% \itemindent\listparindent + \leftmargin\z@\rightmargin\leftmargin + \parsep 0pt plus 1pt}\item[]\small} +\let\endquotation=\endlist +% +% QUOTE +\def\quote{\list{}{\leftmargin\z@\rightmargin\leftmargin}\item[]\small} +\let\endquote=\endlist + + +% **************************************** +% * OTHER ENVIRONMENTS * +% **************************************** +% +% THEOREM +\def\@begintheorem#1#2{\rm \trivlist \item[\hskip \labelsep{\bf #1\ #2.}]} +\def\@opargbegintheorem#1#2#3{\rm \trivlist + \item[\hskip \labelsep{\bf #1\ #2\ (#3)}]} +\def\@endtheorem{\endtrivlist} +% +% PROOF +\def\proof{\rm \trivlist \item[\hskip \labelsep{\it Proof.}]} +\def\endproof{\hspace*{1em}{\begin{picture}(6.5,6.5)% + \put(0,0){\framebox(6.5,6.5){}}\end{picture}}\endtrivlist} +\@namedef{proof*}{\rm \trivlist \item[\hskip \labelsep{\it Proof.}]} +\@namedef{endproof*}{\endtrivlist} +\def\proofbox{\begin{picture}(6.5,6.5)% + \put(0,0){\framebox(6.5,6.5){}}\end{picture}} +% +% TITLEPAGE +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +% ARRAY AND TABULAR +% +\arraycolsep 5pt +\tabcolsep 6pt +\arrayrulewidth .5pt +\doublerulesep 1.5pt + +\def\tabular{\def\@halignto{} + \def\hline{\noalign{\ifnum0=`}\fi + \vskip 3pt +% \hrule \@height \arrayrulewidth + {\hbox to 0.667\textwidth{\hrulefill}} + \vskip 3pt + \futurelet \@tempa\@xhline} +% + \def\@xhline{\ifx\@tempa\hline + \vskip -6pt + \vskip \doublerulesep + \fi + \ifnum0=`{\fi}} +% + \def\fullhline{\noalign{\ifnum0=`}\fi + \vskip 3pt +% \hrule \@height \arrayrulewidth + {\hbox to \textwidth{\hrulefill}} + \vskip 3pt + \futurelet \@tempa\@xfhline} +% + \def\@xfhline{\ifx\@tempa\fullhline + \vskip -6pt + \vskip \doublerulesep + \fi + \ifnum0=`{\fi}} +% + \def\@arrayrule{\@addtopreamble{\hskip -.5\arrayrulewidth +% \vrule \@width \arrayrulewidth + \hskip .5\arrayrulewidth}} +\@tabular +} +% TABBING +% +\tabbingsep \labelsep + +% MINIPAGE +% +\skip\@mpfootins = \skip\footins + +% FRAMEBOX +% +% Space left between box and text by \fbox and \framebox. +\fboxsep = 3pt +% Width of rules in box made by \fbox and \framebox. +\fboxrule = \arrayrulewidth + + +% **************************************** +% * TITLE AND ABSTRACT * +% **************************************** +% +\newif\if@shortcom +\def\shortcom{\@shortcomtrue + \ifCUPmtlplainloaded + \font\seventeenbxi=mtbxti10 at 17pt + \else + \font\seventeenbxi=cmbxti10 at 17pt + \fi +} + +\def\editor#1{\gdef\@editor{#1}} +\gdef\@editor{} + +\newif\if@correspondset +\gdef\@correspond{\@shortauthor} +\def\correspond#1{\gdef\@correspond{#1}\@correspondsettrue} +\def\makecorrespond{\make@correspond} +\def\make@correspond{{\def\thefootnote{\relax} + \footnotetext{\hspace*{-5pt}{\em Correspondence and offprint + requests to\/}: \@correspond}}} + +\def\maketitle{\par +% \begingroup +% \def\thefootnote{\fnsymbol{footnote}} +% \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}} + \newpage \global\@topnum\z@ + \@maketitle + \thispagestyle{titlepage} + \@thanks + \if@correspondset\relax\else\make@correspond\fi +% \endgroup +% \setcounter{footnote}{0} + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax +} + +\def\and{\end{author@tabular}\vskip 6pt\par + \begin{author@tabular}[t]{@{}l@{}}} + +\def\@maketitle{\newpage + \if@shortcom \vspace*{30pt}\else \vspace*{95pt}\fi + {\raggedright \sloppy + \if@shortcom + {\seventeenbxi Short Communication \par}% + {\large\it Edited by\ \@editor\par}% + \vskip 38pt + \fi + {\LARGE \bf \@title \par}% + \vskip 11pt + {\large + \begin{author@tabular}[t]{@{}l@{}}\@author + \end{author@tabular}\par}% + \vskip 11pt + }% + \par\noindent + \vskip 22pt +} + +\def\abstract{\list{}{\leftmargin\z@\rightmargin\leftmargin + \parsep 0pt plus 1pt \listparindent\parindent}% + \item[]\normalsize{\bf Abstract.}} +\def\endabstract{\endlist\titlerule} +\def\keywords{\list{}{\leftmargin\z@\rightmargin\leftmargin + \parsep 0pt plus 1pt}\item[]\normalsize{\bf Keywords:}} +\def\endkeywords{\endlist} +\def\titlerule{\vspace{3pt}\footnoterule\vspace{7pt}\par} + +\def\author@tabular{\def\@halignto{}\@authortable} +\let\endauthor@tabular=\endtabular +\def\author@tabcrone{{\ifnum0=`}\fi\@xtabularcr\small + \let\\=\author@tabcrtwo\ignorespaces} +\def\author@tabcrtwo{{\ifnum0=`}\fi\@xtabularcr[-5pt]\small + \let\\=\author@tabcrtwo\ignorespaces} +\def\@authortable{\leavevmode \hbox \bgroup $\let\@acol\@tabacol + \let\@classz\@tabclassz \let\@classiv\@tabclassiv + \let\\=\author@tabcrone \ignorespaces \@tabarray} + + +% **************************************** +% * PAGE STYLES * +% **************************************** +% +\mark{{}{}} +\gdef\@author{\mbox{}} +\def\author{\@ifnextchar [{\@authortwo}{\@authorone}} +\def\@authortwo[#1]#2{\gdef\@author{#2}\gdef\@shortauthor{#1}} +\def\@authorone#1{\gdef\@author{#1}\gdef\@shortauthor{#1}} +\def\shortauthor#1{\gdef\@shortauthor{#1}} +\gdef\@shortauthor{} +\gdef\@title{\mbox{}} +\def\title{\@ifnextchar [{\@titletwo}{\@titleone}} +\def\@titletwo[#1]#2{\gdef\@title{#2}\gdef\@shorttitle{#1}} +\def\@titleone#1{\gdef\@title{#1}\gdef\@shorttitle{#1}} +\def\shorttitle#1{\gdef\@shorttitle{#1}} +\gdef\@shorttitle{} +\def\volume#1{\gdef\@volume{#1}} +\gdef\@volume{3} +\def\pagerange#1{\gdef\@pagerange{#1}} +\def\pubyear#1{\gdef\@pubyear{#1}} +\gdef\@pubyear{1997} +\gdef\@pagerange{1--000} +\def\journal#1{\gdef\@journal{#1}} +\gdef\@journal{Formal Aspects of Computing + (\number\@pubyear) \@volume: \@pagerange} +% +% \ps@empty and \ps@plain defined in LATEX.TEX +% +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\small \@shorttitle \hfill \rm \thepage} + \def\@oddfoot{} + \def\@evenhead{\small \thepage \hfill \@shortauthor} + \def\@evenfoot{} + \def\sectionmark##1{\markboth{##1}{}} + \def\subsectionmark##1{\markright{##1}}} +\def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@oddhead{\it \rightmark \hfill \rm \thepage} + \def\@oddfoot{} + \def\@evenhead{\it \leftmark \hfill \rm \thepage} + \def\@evenfoot{} + \def\sectionmark##1{} + \def\subsectionmark##1{}} +\def\ps@titlepage{\let\@mkboth\@gobbletwo + \def\@oddhead{\footnotesize + \raisebox{0pt}[8pt][1pt]{\parbox{0.7\textwidth}{\@journal\\ + \copyright\ \@pubyear\ BCS}} \hfill} + \def\@oddfoot{} + \def\@evenhead{\footnotesize + \raisebox{0pt}[8pt][1pt]{\parbox{0.7\textwidth}{\@journal\\ + \copyright\ \@pubyear\ BCS}} \hfill} + \def\@evenfoot{} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + + +% **************************************** +% * TABLE OF CONTENTS, ETC. * +% **************************************** +% +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{2} +\def\@undottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth + \else + \vskip \z@ plus .2pt + {\hangindent #2\relax + \rightskip \@tocrmarg \parfillskip -\rightskip + \parindent #2\relax \@afterindenttrue + \interlinepenalty\@M \leavevmode + \@tempdima #3\relax #4\nobreak \hfill \nobreak + \hbox to\@pnumwidth{\hfil\rm \ }\par}\fi} +\def\tableofcontents{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{Contents} \@starttoc{toc} + \if@restonecol\twocolumn\fi \par\vspace{11pt}} +\def\l@part#1#2{\addpenalty{-\@highpenalty} + \addvspace{2.25em plus 1pt} + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\normalsize\rm + \leavevmode \hspace*{3pc} + #1\hfil \hbox to\@pnumwidth{\hss \ }}\par + \nobreak \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}\endgroup} +\def\l@section#1#2{\addpenalty{\@secpenalty} + \@tempdima 1.5em + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth \rm \leavevmode + \advance\leftskip\@tempdima \hskip -\leftskip + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss \ }\par + \endgroup} +\def\l@subsection{\@undottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@undottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@undottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@undottedtocline{5}{10em}{5em}} +\def\listoffigures{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{List of Figures\@mkboth{List of Figures}{List of Figures}} + \@starttoc{lof} \if@restonecol\twocolumn\fi} +\def\l@figure{\@undottedtocline{1}{1.5em}{2.3em}} +\def\listoftables{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{List of Tables\@mkboth{List of Tables}{List of Tables}} + \@starttoc{lot} \if@restonecol\twocolumn\fi} +\let\l@table\l@figure + + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** +% +\def\thebibliography#1{\section*{References} + \addcontentsline{toc}{section}{References} + % SFB v 0.09 + \list{[\arabic{enumi}]}{\labelwidth3.5pc + \leftmargin 3.5pc \advance\leftmargin\labelsep + \itemsep 0pt + \usecounter{enumi} + \let\makelabel=\makeRLlabel +} + \small \parindent\z@ + \parskip\z@ plus .1pt\relax + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax +} +\let\endthebibliography=\endlist +\def\@biblabel#1{[#1]} + + +% **************************************** +% * THE INDEX * +% **************************************** +% +\newif\if@restonecol +\def\theindex{\section*{Index} + \addcontentsline{toc}{section}{Index} + \footnotesize \parindent\z@ \parskip\z@ plus .1pt\relax + \let\item\@idxitem} +\def\@idxitem{\par\hangindent 1em} +\def\subitem {\par\hangindent 1em \hspace*{1em}} +\def\subsubitem{\par\hangindent 1em\hspace*{1em}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par\vskip\baselineskip \relax} + + +% **************************************** +% * FOOTNOTES * +% **************************************** +% +\def\footnoterule{\kern-3\p@ + \hrule width 12pc height .5pt \kern 3\p@} + +\long\def\@makefntext#1{\parindent 1em\noindent + $^{\@thefnmark}$\hspace{4pt}#1} + + +% **************************************** +% * FIGURES AND TABLES * +% **************************************** +% +\setcounter{topnumber}{2} +\def\topfraction{.9} +\setcounter{bottomnumber}{2} +\def\bottomfraction{.5} +\setcounter{totalnumber}{3} +\def\textfraction{0.1} +\def\floatpagefraction{.85} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.9} +\def\dblfloatpagefraction{.85} + +\newif\if@contcap +\let\@@caption\caption +\def\contcaption{\@contcaptrue\addtocounter{\@captype}{-1}\@@caption} + +\newif\ifrem@fullpt +\newcommand\removefullpoint{\global\rem@fullpttrue} + +\def\cap@extra{\if@contcap {\it---cont.}\else\ifrem@fullpt\else .\fi\fi\ } + +\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{1} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} +\def\fstyle@table{\small\rm} +\def\fjust@table{\sloppy} +\def\fcapjust@table{\sloppy} +\def\fcapsize@table{\small\bf} +\def\fcapstyle@table{\small\rm} + +\long\def\@makecaption@table#1#2{\vskip 5.5pt + \setbox\@tempboxa\hbox{#1\cap@extra #2}% + \ifdim \wd\@tempboxa >\hsize + #1\cap@extra #2\par + \else + \hbox to\hsize{\box\@tempboxa\hfill}% + \fi + \@contcapfalse + \rem@fullptfalse +} + +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{2} +\def\ext@figure{lof} +\def\fnum@figure{Fig.\ \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} +\def\fstyle@figure{\rm} +\def\fjust@figure{\sloppy} +\def\fcapjust@figure{\sloppy} +\def\fcapsize@figure{\small\bf} +\def\fcapstyle@figure{\small\rm} + +\long\def\@makecaption@figure#1#2{\vskip 5.5pt + \setbox\@tempboxa\hbox{#1\cap@extra #2}% + \ifdim \wd\@tempboxa >\hsize + #1\cap@extra #2\par + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \@contcapfalse + \rem@fullptfalse +} + +\long\def\@caption#1[#2]#3{% + \addcontentsline{\csname ext@#1\endcsname}{#1}% + {\protect\numberline{\csname the#1\endcsname}% + {\ignorespaces #2}}\par + \begingroup + \@parboxrestore +% SFB 0.08 + \csname @makecaption@#1\endcsname + {\csname fcapjust@#1\endcsname + \csname fcapsize@#1\endcsname + \csname fnum@#1\endcsname}% + {\csname fcapstyle@#1\endcsname \ignorespaces #3} + \par + \endgroup} + +\def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty-\@Mii + \else \@floatpenalty-\@Miii \fi + \def\@captype{#1}% + \ifinner \@parmoderr\@floatpenalty\z@ + \else \@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname + \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n + \@tfor \@tempa :=#2\do + {\if\@tempa h\advance\@tempcnta \@ne\fi + \if\@tempa t\advance\@tempcnta \tw@\fi + \if\@tempa b\advance\@tempcnta 4\relax\fi + \if\@tempa p\advance\@tempcnta 8\relax\fi + }\global\count\@currbox\@tempcnta}\@fltovf + \fi + \global\setbox\@currbox\vbox\bgroup + \boxmaxdepth\z@ + \csname fstyle@#1\endcsname + \hsize\textwidth \linewidth\textwidth \@parboxrestore + \csname fjust@#1\endcsname} + + +% **************************************** +% * CUP specials * +% **************************************** +% +% received line and accepted line +\def\receivedline{\@ifnextchar [{\rec@arg}{\rec@noarg}} +\def\rec@noarg{\par\noindent{\small\it Received \@date}} +\def\rec@arg[#1]{\par\noindent{\small\it Received #1}} +\newcommand{\acceptedline}[2]{\par\noindent{\small\it + Accepted in revised form #1 by #2}} + +% **************************************** +% * FLEQN * +% **************************************** +% +% FLEQN DOCUMENT-STYLE OPTION - released 9 March 1987 +% for LaTeX version 2.09 +% Copyright (C) 1987 by Leslie Lamport +% +% The following commands make the displayed math environments flush left, +% with an indentation of \mathindent from the prevailing left margin. + +\def\[{\relax\ifmmode\@badmath\else\begin{trivlist}\item[]\leavevmode + \hbox to\linewidth\bgroup$ + \displaystyle + \hskip\mathindent\bgroup\fi} + +\def\]{\relax\ifmmode \egroup $\hfil + \egroup \end{trivlist}\else \@badmath \fi} + +\def\equation{\refstepcounter{equation}\trivlist \item[]\leavevmode + \hbox to\linewidth\bgroup $ + \displaystyle +\hskip\mathindent} + + +\def\endequation{$\hfil + \displaywidth\linewidth\@eqnnum\egroup \endtrivlist} + +\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation +\global\@eqnswtrue +\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr +\abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi +\belowdisplayskip\abovedisplayskip +\belowdisplayshortskip\abovedisplayskip +\abovedisplayshortskip\abovedisplayskip +$$\halign +to \linewidth\bgroup\@eqnsel\hskip\@centering$\displaystyle\tabskip\z@ + {##}$&\global\@eqcnt\@ne \hskip 2\arraycolsep \hfil${##}$\hfil + &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle{##}$\hfil + \tabskip\@centering&\llap{##}\tabskip\z@\cr} + +\def\endeqnarray{\@@eqncr\egroup + \global\advance\c@equation\m@ne$$\global\@ignoretrue} + +\newdimen\mathindent +\mathindent = 2pc + + +% **************************************** +% * MISCELLANEOUS * +% **************************************** +% +% DATE +\def\today{\number\day\ \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 \ \number\year} + +\def\hexnumber#1{\ifcase#1 0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or + A\or B\or C\or D\or E\or F\fi} + +\newif\iffontfound +\newcommand\checkfont[1]{% + \batchmode + \font\test=#1\relax + \errorstopmode + \fontfoundfalse + \ifx\test\nullfont \else \fontfoundtrue\fi +} + +% **************************************** +% * INITIALIZATION * +% **************************************** +% +\ps@headings +\pagenumbering{arabic} +\onecolumn +\ifforth@event \else + \let\onecolumn=\relax + \def\twocolumn{\typeout{Two column mode not available with FAC style.}} +\fi +\flushbottom +\frenchspacing + +\ifprodtf \input facsym.sty\fi +\ifforth@event \input facfcevt.sty\relax\fi + +\endinput diff --git a/obsolete/macros/latex209/contrib/fac/facguide.tex b/obsolete/macros/latex209/contrib/fac/facguide.tex new file mode 100644 index 0000000000..45e0558ac4 --- /dev/null +++ b/obsolete/macros/latex209/contrib/fac/facguide.tex @@ -0,0 +1,836 @@ +% FACGUIDE.TEX +% v1.12 released 14th October 1998 +% Copyright (C) 1991, 1997, 1998 Cambridge University Press + +\documentstyle{fac} + +% The following macros automatically define symbols to be used in Table 1 of +% the authors' guide, using characters from the AMS symbol fount MSAM. + +\newif\ifmsafound +\ifCUPmtlplainloaded \else + \checkfont{msam5} + \iffontfound + \msafoundtrue + \font\fivemsa=msam5 + \newfam\msafam + \textfont\msafam=\fivemsa + \edef\msa{\hexnumber\msafam} + \mathchardef\blacktriangleright="3\msa49 + \mathchardef\vartriangleright="3\msa42 + \newcommand\black{\raisebox{.2ex}{$\blacktriangleright$}} + \newcommand\white{\raisebox{.2ex}{$\vartriangleright$}} + \newcommand\whbl{\white\kern-1pt--\black} + \newcommand\blwh{\black\kern-1pt--\white} + \newcommand\blbl{\black\kern-1pt--\black} + \newcommand\whwh{\white\kern-1pt--\white} + \fi +\fi + +\newcommand\eg{{\it e.g.\ }} +\newcommand\etc{{\it etc}} +\newcommand\visiblespace{\leavevmode\hbox{\tt\char`\ }} +\renewcommand\LaTeX{L\kern-.36em\raise.3ex\hbox{a}\kern-.15em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX} + +\newtheorem{theorem}{Theorem}[section] + +\title[Formal Aspects of Computing: \LaTeX\ Submissions] + {Formal Aspects of Computing:\\ + \LaTeX\ Style Guide for Authors} + +\author[C. Notarmarco and R. Mulvey] + {Christiane Notarmarco$^1$ and Rod Mulvey$^2$\\ + $^1$Springer-Verlag London Limited, Springer House, + Wimbledon, SW19 7JZ, UK;\\ $^2$\TeX-to-type, + Cambridge University Press, Shaftesbury Road, + Cambridge, CB2 2BS,\\ UK} + +\correspond{Christiane Notarmarco, Springer-Verlag London + Limited, Springer House, 8 Alexandra Road, + Wimbledon, London, SW19 7JZ, UK.} + +\pubyear{1998} +\pagerange{\pageref{firstpage}--\pageref{lastpage}} + +\begin{document} +\label{firstpage} + +\makecorrespond +\maketitle + +\begin{keywords} +\LaTeX; Style files; \verb"fac.sty"; Sample text; User guide +\end{keywords} + +\begin{abstract} +This guide is for authors who are preparing papers for +{\em Formal Aspects of Computing\/} using the \LaTeX\ document +preparation system and the FAC style file. +\end{abstract} + +\section{Introduction} + +In addition to the standard submission of hard-copy from authors, +{\em Formal Aspects of Computing\/} accepts machine-readable forms of +papers in \LaTeX. +The layout design for {\em Formal Aspects of Computing\/} has been +implemented as a \LaTeX\ style file. +The FAC style is based on the \verb"ARTICLE" style as discussed in the +\LaTeX\ manual \cite{Lam:LaTeX}. +Commands which differ from the standard \LaTeX\ interface, or which are +provided in addition to the standard interface, are explained in this +guide. This guide is not a substitute for the \LaTeX\ manual itself. +Authors planning to submit their papers in \LaTeX\ are advised to use +\verb"fac.sty" as early as possible in the creation of their files. + +\subsection{Introduction to \LaTeX} + +\LaTeX\ is constructed as a series of macros on top of the \TeX\ +typesetting program. +\LaTeX\ adds to \TeX\ a collection of facilities which simplify typesetting +for authors by allowing them to concentrate on the logical structure of the +document rather than its visual layout. +Careful use of the \LaTeX\ mark-up philosophy results in uniform +layout rather than the {ad hoc} results of some word-processing systems. +Authors are advised to let the defaults control fount selection, \etc.\ +rather than tinker themselves. + +\LaTeX\ provides a consistent and comprehensive document preparation +interface. There are macros for generating a table of contents, +lists of figures and/or tables; +\LaTeX\ can automatically number list entries, equations, figures, tables, +and footnotes, as well as parts, sections and subsections. +Using this numbering system, bibliographic citations, page references and +cross references to any other numbered entity (\eg sections, equations, +figures, list entries) are straightforward. + +\subsection{The FAC Document Style} + +The use of document styles allows a simple change of style (or style +option) to transform the appearance of your document. +The Springer-Verlag London Limited (SVL) FAC style file preserves the +standard \LaTeX\ interface such that any document which can be produced +using the standard \LaTeX\ \verb"ARTICLE" style, can also be produced with +the FAC style. +However, the measure (or width of text) is wider than the default for +\verb"ARTICLE" therefore line breaks will change and long equations may +need re-setting. +Authors are urged to use \verb"fac.sty" from the beginning of their +document preparation; in particular, they are advised not to use wider +measures as given by \verb"a4.sty", \etc.\ because this will involve +changes after they think their submissions are technically accurate. + +\subsection{General Style Issues} + +Use of \LaTeX\ defaults will result in a pleasing uniformity of layout +and fount selection. Authors should resist the temptation to make +{\em ad hoc\/} changes to these. +Whether using the default founts or not, displayed mathematics should +be set in a distinct fount from running text and the same fount should +be used where formulae occur in running text. +In addition to the standard \TeX\ and \LaTeX\ founts, authors can use the +AMS {\em msam\/} and {\em msbm\/} founts. The AMS {\em msam\/} +founts have been used in Table~\ref{symbols} to define some of the +characters in the first four lines. + +The final makeup will use Times Roman founts and if these are +available to authors (\eg via PSLaTeX) they should be employed in order +to ensure good use of space (they are in general more economical than +computer modern founts). + +For general style issues, authors are referred to the `Instructions for +authors' in the FAC journal. Authors who are interested in the detail of style +are referred to \cite{But:Copy} and \cite{Chicago}. The language of the +journal is British English and spelling should conform to this. + +Use should be made of symbolic references (\verb"\ref") in order to +protect against late changes of order, \etc. + +\subsection{Submission of \LaTeX\ Articles to the Journal} + +Authors who intend to submit a \LaTeX\ article to FAC should obtain a +copy of the journal's style file \verb"fac.sty". This is available on +request in the first instance from Springer-Verlag London Limited; remember to +specify the type of media you require. Alternatively, you can download +the files from one of the CTAN (Comprehensive TeX Archive Network) anonymous +FTP sites around the world: \verb"ftp.tex.ac.uk" (England), \verb"ftp.dante.de" +(Germany) or \verb"ctan.tug.org" (US). + +The required files \verb"fac.sty" and \verb"facguide.tex" can be found in the +directory \verb"tex-archive/macros/latex209/contrib/publications". If you +cannot obtain the journal style file, use \verb"ARTICLE" style. + +When submitting the final article, ensure that the following are included: +\begin{enumerate} + \item Hardcopy printout of the article; + \item The input file; + \item A copy of all user-defined macros; + \item Bibliography files, or if you have used BIB\TeX, the \verb".bib" + and \verb".bbl" files; + \item Any other files necessary to prepare the article + for typesetting. +\end{enumerate} +The files for the {\em final\/} article should be text-only with no +system dependent control codes. Submit this, if at all possible, by +e-mail over JANET, and the hardcopy by post to D.\,J. Cooke (see the +inside-cover of the journal for correct e-mail and postal addresses). +If you do not have access to e-mail, send the files on disc -- PC $5 +{1\over4\,}$in.\ or Apple $3 {1\over 2\,}$in.\ -- along with the hard copy to D.\,J. Cooke. + +\section{Using the FAC Style} + +First, copy the file \verb"fac.sty" into an appropriate subdirectory on +your system. +The FAC document style is implemented as a complete document style {\em +not\/} a document style option. +In order to use the FAC style, replace \verb"article" by \verb"fac" in the +\verb"\documentstyle" command at the beginning of your document: +% +\begin{verbatim} + \documentstyle{article} +\end{verbatim} +is replaced by, +\begin{verbatim} + \documentstyle{fac} +\end{verbatim} +% +In general, the following standard document style options should {\em +not\/} be used with the FAC style: +% +\begin{itemize} + \item {\tt 10pt}, {\tt 11pt}, {\tt 12pt} -- unavailable. + \item {\tt draft}, {\tt twoside} (no associated style file) -- {\tt + twoside} is the default. + \item {\tt fleqn}, {\tt leqno}, {\tt titlepage}, {\tt twocolumn} -- + should not be used (\verb"fleqn" is already incorporated into + the FAC style). +\end{itemize} +% +However, {\tt proc}, {\tt ifthen}, {\tt bezier} -- can be used if +necessary. + +\section{Additional Facilities} + +In addition to all the standard \LaTeX\ design elements, the FAC style +includes the following features: +% +\begin{itemize} + \item Extended commands for specifying a short version of the title and + author(s) for the running headlines. + \item \verb"\correspond" and \verb"\makecorrespond" commands for printing + the name and address for further correspondence. + \item A \verb"keywords" environment. + \item A \verb"proof" environment. + \item Control of enumerated lists. +\end{itemize} +% +In general, once you have used the additional \verb"fac.sty" +facilities in your document, do not process it with a standard \LaTeX\ +style file. + +\subsection{Titles and Author's Name} + +In the FAC style, the title of the article and the author's name (or +authors' names) are used both at the beginning of the article for the main +title and throughout the article as running headlines at the top of every +page. +The title is used on odd-numbered pages (rectos) and the author's name +appears on even-numbered pages (versos). +Although the main heading can run to several lines of text, the running +head line must be a single line. +Moreover, the main heading can also incorporate new line commands +(\eg \verb"\\") but these are not acceptable in a running headline. +To enable you to specify an alternative short title, which should not be +more than 48 characters and spaces, and an alternative short author's name, +the standard \verb"\title" and \verb"\author" commands have been extended +to take an optional argument to be used as the running headline: +% +\begin{verbatim} + \title[Formal Aspects of Computing: \LaTeX\ submissions] + {Formal Aspects of Computing:\\ + \LaTeX\ Style Guide for Authors} +\end{verbatim} +and, +\begin{verbatim} + \author[C. Notarmarco and R. Mulvey] + {Christiane Notarmarco$^1$ and Rod Mulvey$^2$\\ + $^1$Springer-Verlag London Limited, Springer House, + Wimbledon, SW19 7JZ, UK;\\ $^2$\TeX-to-type, + Cambridge University Press, Shaftesbury Road, + Cambridge,\\ UK} +\end{verbatim} + +You may wish to add a \verb"\thanks" note, which produces a footnote to the +title or author. In the latter case, the superscripts by the authors' names +will be automatically generated. + +\subsection{Correspondence Note} + +The footnote at the bottom of the first page is generated automatically, +and begins with the words {\it Correspondence and offprint +requests to\/{\rm:\visiblespace }}. +The appropriate name and address must be given as an argument to the macro +\verb"\correspond" in the preamble: +% +\begin{verbatim} + \correspond{Christiane Notarmarco, Springer-Verlag + London Limited, Springer House, 8 Alexandra + Road, Wimbledon, London, SW19 7JZ, UK.} +\end{verbatim} +% +This information is subsequently used by the command +\verb"\makecorrespond". This may be placed anywhere +after \verb"\begin{document}" within the text of the first page. If you +have other footnotes on the first page, \verb"\makecorrespond" should +follow them so as to make {\em Correspondence and \ldots} print at the foot +of the page. + +If you omit the \verb"\correspond" and \verb"\makecorrespond" commands, +the name in the correspondence note defaults to the short author's name. + +\subsection{Keywords and Abstracts} + +At the beginning of your article, the title should be generated in the +usual way using the \verb"\maketitle" command. Immediately following the +title you should include a list of keywords followed by an abstract. For +example, the titles for this guide were produced by the following source: +% +\begin{verbatim} + \maketitle + \begin{keywords} + \LaTeX; Style files; \verb"fac.sty"; Sample text; + User guide + \end{keywords} + + \begin{abstract} + This guide is for authors who are preparing papers + for {\em Formal Aspects of Computing\/} using the + \LaTeX\ document preparation system and the FAC style + file. + \end{abstract} + + \section{Introduction} + ... +\end{verbatim} +The abstract is automatically followed by a 12~pica rule. + +\subsection{Proofs} + +The \verb"proof" environment has been added to the standard \LaTeX\ +constructs to provide a consistent format for proofs. +For example, +% +\begin{verbatim} + \newtheorem{theorem}{Theorem}[section] + ... + \begin{theorem} + $VS \Rightarrow FP$ for program {\em Multi-States}. + \end{theorem} + \begin{proof} + Noting that a state satisfying $VS$ has no elements + $V_{xi}$ of $V$ satisfying $0 \bar{\alpha}+ks_{\alpha} $$ +which was (wrongly) typeset using double dollars as follows: +\begin{verbatim} + $$ \alpha_{j+1} > \bar{\alpha}+ks_{\alpha} $$ +\end{verbatim} + +\subsection{Bibliography} + +References to published literature should be quoted in text by an +abbreviation in square brackets of name(s) (three letters) and date (two +digits). See examples below for style. +This is consistent with the Bib\TeX\ bibliography style `\verb"alpha".' +Where more than one reference is cited having the author(s) and date, the +letters a,b,c, \ldots\ should follow the date (\eg [Smi88a], [Smi88b], +\etc.). References should be listed in \verb"thebibliography" environment +alphabetically by author(s)' name(s) and then by year if the same author +has several papers. + +The following listing shows some references prepared in the style of the +journal: +% +\begin{verbatim} + \begin{thebibliography}{Lam86} + \bibitem[But81]{But:Copy} + Butcher, J.: + {\em Copy-editing: The Cambridge Handbook.} + Cambridge University Press, 1981. + + \bibitem[Chi69]{Chicago} + {\em The Chicago Manual of Style.} + University of Chicago Press, Chicago 60637, USA, 1982. + + \bibitem[For84]{For:Program} + Forgaard, R.: + A Program for Generating and Analyzing Term Rewriting + Systems, + Master's Thesis, MIT Lab. for Computer Science, 1984. + + \bibitem[JLR82]{Jou:Recursive} + Jouannaud, J. P., Lescanne, P. and Reinig, F.: + Recursive Decomposition Ordering, + {\em Proc.\ Conf. on Formal Description of Programming + Concepts II}, \,pp.\ 331--346, 1982. + + \bibitem[Lam86]{Lam:LaTeX} + Lamport, L.: + {\em LaTeX: A Document Preparation System.} + Addison-Wesley, New York, 1986. + + \bibitem[Ped85]{Ped:Obtaining} + Pederson, J.: + Obtaining Complete Sets of Reproductions and Equations + without Using Special Unification Algorithms. + Unpublished manuscript, 1985. + + \bibitem[PeS81]{Pet:Complete} + Peterson, G. E. and Stickel, M. E.: + Complete Sets of Reductions for Some Equational + Theories. {\em J.\ ACM}, {\bf 28}, 223--264 (1981). + \end{thebibliography} +\end{verbatim} +% +This produces the following references: +% +\begin{thebibliography}{Lam86} +% +\bibitem[But81]{But:Copy} +Butcher, J.: +{\em Copy-editing: The Cambridge Handbook.} +Cambridge University Press, 1981. + +\bibitem[Chi69]{Chicago} +{\em The Chicago Manual of Style.} +University of Chicago Press, Chicago 60637, USA, 1982. + +\bibitem[For84]{For:Program} +Forgaard, R.: +A Program for Generating and Analyzing Term Rewriting Systems, +Master's Thesis, MIT Lab. for Computer Science, 1984. + +\bibitem[JLR82]{Jou:Recursive} +Jouannaud, J. P., Lescanne, P. and Reinig, F.: +Recursive Decomposition Ordering, +{\em Proc.\ Conf. on Formal Description of Programming Concepts +II}, \,pp.\ 331--346, 1982. + +\bibitem[Lam86]{Lam:LaTeX} +Lamport, L.: +{\em LaTeX: A Document Preparation System.} +Addison-Wesley, New York, 1986. + +\bibitem[Ped85]{Ped:Obtaining} +Pederson, J.: +Obtaining Complete Sets of Reproductions and Equations without Using +Special Unification Algorithms. Unpublished manuscript, 1985. + +\bibitem[PeS81]{Pet:Complete} +Peterson, G. E. and Stickel, M. E.: +Complete Sets of Reductions for Some Equational Theories. {\em J.\ ACM}, +{\bf 28}, 223--264 (1981). +% +\end{thebibliography} + +\ifCUPmtlplainloaded +\newpage +\appendix +\section{Notes for editors} + +This appendix contains additional information which may be useful to those +who are involved with the final production stages of an article. Authors, +who are generally not typesetting the final pages in the journal's correct +typeface (Monotype Times), do not need this information. + +\subsection{Catchline commands} + +To be placed in the preamble: +\begin{itemize} +\item \verb"\pubyear{}" +\item \verb"\volume{}" +\item \verb"\pagerange{}" +\end{itemize} + +\subsection{New and changed things} + +\subsubsection{\tt FAClogo.sty} + +The \verb"faclogo" style option has been modified for use in electronic papers +(Computer Modern) as well as in the production typeface (Monotype Times). +The correct fonts are automatically selected. +Do not use the old \verb"CMLOGO.STY". + +\subsubsection{Short communications} + +The modifications made by the old style file \verb"newtitle.sty" have been +built into the main style file (\verb"FAC.sty"). To activate this option you +have to place \verb"\shortcom" in the preamble of the article. Then you have +to add the `edited by' information with the \verb"\editor{}" command. +Do not use \verb"newtitle.sty". + +\subsubsection{Forthcoming events} + +The old version(s) of the style file ($<$v1.2), required the use of +\verb"fac2col.sty", to allow two-column mode (which is normally disaabled +in FAC). The main style file has an new document option \verb"forthevt", +which automatically allows FAC to use two-column and loads the extra +\verb"facevent.sty". You should not load \verb"facevent" yourself. +The \verb"fac2col.sty" option should not be used. + + +\newcommand\lra{\quad\longrightarrow\quad} + +\section{Macros provided by {\tt FACsym.sty}} + +\subsection{Automatic font/character changes} + +\begin{itemize}\itemsep=6pt +\item The \verb|\le|, \verb|\leq|, \verb|\ge|, \verb|\geq| commands +use the equivalent AMS slanted symbols: +\[ +\oldle \oldleq \oldge \oldgeq + \lra +\le \leq \ge \geq +\] +The normal characters can be obtained by using the \verb|\old| form +(\eg \verb|\oldge|). + +\item The \verb"\normalsize" size is fully loaded, so that all font styles +should work in text, script and scriptscript sizes. +\end{itemize} + +\subsection{Additional fonts} + +\begin{itemize}\itemsep=6pt +\item The complete (v1) AMS symbols are available using the normal names: +\[ +\hbox{\verb"\boxdot \boxplus \boxtimes"} \lra + \boxdot \boxplus \boxtimes +\] + +\item Blackboard bold: +\[ +\hbox{\verb"$\Bbb{ABC}$"} \lra \Bbb{ABC} +\] + +\item Fraktur/Gothic: +\[ + \hbox{\verb"$\frak{ABC}$"} \lra \frak{ABC} +\] + +\item Monotype Script and bold Script:\\[6pt] +\verb" $\mathscr{ABCabc}$ " $\lra \mathscr{ABCabc}$\\ +\verb" $\mathbscr{ABCabc}$" $\lra \mathbscr{ABCabc}$\\[6pt] +You may still use \verb"\cal" to obtain upper-case Script characters. + +\item Bold math italic/symbols are provided by the \verb"\bmath" macro. +\verb"FACsym" also defines most of the +symbols from Appendix F of the \TeX book. These can be obtained by using +their normal (unbold) symbol name prefixed with a `b'. \eg \verb|\nabla| +becomes \verb|\bnabla|. The only exception to this rule is \verb|\eta|, +which whould lead to a clash with \verb|\beta|. In this case use +\verb|\boldeta| for bold eta. + +\item Upright Greek: The \verb"\upmath" and \verb"\bupmath" macros are provided to obtain +upright lowercase Greek characters.\\[6pt] +% +\verb" $\upmath{\alpha}$" $\lra \upmath{\alpha}$ \qquad +\verb"$\bupmath{\alpha}$" $\lra \bupmath{\alpha}$ + +\item Sans serif symbols: +The \verb"\sf" command changes the typeface to sans serif, giving upright characters. +Occasionally, bold-sloping sans serif is needed. You should use the following supplied +macros to obtain these fonts.\\[6pt] +% +\verb" {\sf text} " $\lra$ {\sf text} + \qquad \verb"${\sf math}$ " $\lra {\sf math}$\\ +\verb" \textsfi{text} " $\lra$ \textsfi{text} + \qquad \verb"$\mathsfi{math}$ " $\lra \mathsfi{math}$\\ +\verb" \textsfb{text} " $\lra$ \textsfb{text} + \qquad \verb"$\mathsfb{math}$ " $\lra \mathsfb{math}$\\ +\verb" \textsfbi{text}" $\lra$ \textsfbi{text} + \qquad \verb"$\mathsfbi{math}$" $\lra \mathsfbi{math}$\\[6pt] + +\end{itemize} + +\section{Producing electronic versions of papers} + +If an electronic version of a paper is required, this is normally supplied +to the customer as a PostScript file. As we are not allowed to re-distribute +PostScript Type~1 font data to other people (for licensing reasons), we must +be very careful what we supply. + +The source files for electronic articles should be stored away from the normal +printed articles in the \verb"ELECTRON" directory in the FAC work area. + +An electronic article should be printable using the old (TR)DVIPS PostScript driver +-- if it isn't please seek help. +The electronic article should only use Computer Modern fonts and/or AMS v2.0 symbol +fonts (any other bitmap fonts generated with {\sf MetaFont} are also allowed). +You can use the DVIWindo `Fonts/DVI File Fonts' (or CTRL-K) function to check this. +If your are in any doubt about the fonts used -- again seek advice. + +Before proceeding ensure that the article has been \TeX'ed three times, and there +are no reference problems. Then use TRDVIPS to generate the PostScript file: +\begin{verbatim} + trdvips -V +\end{verbatim} +During the generation of the PostScript, TRDVIPS may automatically call +MetaFont to produce the required bitmap fonts. When the process has finished, +if there are still error messages -- seek help. The \verb"-V" option tells +TRDVIPS to generate a PostScript file containing only bitmap fonts (at the +300dpi default resolution). + +If no further error messages are given, you can run TRDVIPS once again (as above) +to ensure that the generated PostScript is complete. + +Finally, place the final \verb".ps" file on to a PC 3$\frac{1}{2}$ +floppy disk. You may need to use the ZIP program to compress the file, +if it is too large. e.g. +\begin{verbatim} + zip -9 +\end{verbatim} +e.g. +\begin{verbatim} + zip -9 fac264 fac264.ps +\end{verbatim} +Will produce \verb"fac264.zip", which should then be copied to the floppy disk. + +Remember to remove any \verb".zip" and \verb".ps" file(s) you have generated +from the job directory when you have finished. +\fi + +\label{lastpage} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/lgraph/lgraph.p b/obsolete/macros/latex209/contrib/lgraph/lgraph.p new file mode 100644 index 0000000000..2029add6f8 --- /dev/null +++ b/obsolete/macros/latex209/contrib/lgraph/lgraph.p @@ -0,0 +1,457 @@ +(**************************************************************************) +(* This program simulates a graph environment for LaTeX. Using a list of *) +(* parameters, it generates LaTeX commands to produce a complete graph. *) +(* see the latexgraph.doc file for detailed documentation. *) +(* author:Sunil Podar, podar@sbcs.csnet, ...!{allegra,philabs}!sbcs!podar *) +(* Please quote the following date when sending bug reports. *) +(* last update: Feb 2, 1987 (fixed bugs: wasn't doings things right when *) +(* (0,0) was not on the graph. Also removed the printing of *) +(* a few of the margin commands from preamble. *) +(* last update: Oct 5, 1986 *) +(**************************************************************************) +program main (input,output); +const delim = '@'; (* Latex never uses @ except for \@ for a little *) + (* space before a sentence-ending period *) + maxchar = 'F';(* maximum types of characters permitted for plotchar*) + (* A..F i.e. 6 distinct chars permitted *) +type wholeline = packed array[1..80] of char; + tenchar = packed array[1..10] of char; + ninechar = packed array[1..9] of char; + twochar = packed array[1..2] of char; + plotstufftype = record + chardef : wholeline; + charname : wholeline + end; +var + plotstuff : array['A'..maxchar] of plotstufftype; + error1,itsreal :boolean; + picwd,picht,pos,Xdeltabar, + Ydeltabar,i,Xlegloc,Ylegloc,Xdeltanum,Ydeltanum : integer; + Xaxisstrg,Yaxisstrg,capstring,blank80,labelname,fontname : wholeline; + legendloc,captiontwo,prepost : twochar; + string,blank10,captiontype,fignumber : tenchar; + plotchar,c : char; + string9 : ninechar; + Xscalegraph,Yscalegraph : integer; + XGorig,YGorig,XP1orig,YP1orig,XP2orig,YP2orig : integer; + Xscalereal,Yscalereal,xreality, yreality, xgraph, ygraph, + unitlngth,textwd,Xorignum,Yorignum,deln,num : real; + +procedure strreadline(var commandstr: wholeline); +var charac:char; + i : integer; + endoffile, endofline:boolean; +begin + i:=1; + endoffile :=false; + endofline:=false; + commandstr:=blank80; + repeat + read(charac); + if (i < 80) then commandstr[i] := charac; (* 80th char remains @ *) + i := i+1; + if eof then endoffile :=true + else if eoln then endofline :=true + until (endoffile or endofline); + if (i <= 80) then commandstr[i] := delim; + if not endoffile then readln +end; (*strreadline*) + +procedure strreadword(var string: tenchar; var string9: ninechar); +var charac:char; + i : integer; +begin + i:=1; + string:=blank10; + read(charac); + repeat + string[i] := charac; + read(charac); + i := i+1 + until ((charac = '/') or (charac = ' ') or (i > 10) or eoln); + (* so I'm reading the / without assigning it to string, neat *) + if (eoln and (i <=10)) then string[i]:= charac; + (* a kluge, to capture the last charac when using this procedure to *) + (* read the argument. normally I use it only for parameters. *) + for i:= 1 to 9 do string9[i] := string[i] +end; (*strreadword*) + +procedure strwrite(str: wholeline); +var i : integer; +begin +i := 1; +while (str[i] <> delim) do + begin + write(str[i]); i := i+1 + end +end; + +procedure legendread; +var i : integer; + temp : twochar; +begin + temp := ' '; + legendloc := ' '; i := 0; + if (not eoln) then + repeat + i := i+1; read(legendloc[i]); + until (eoln) or (i >= 2) or (legendloc[i] = '/'); + if (not eoln) then if (legendloc[i] <> '/') then read(temp[1]); + if (temp[1] = '/') or (legendloc[i] = '/') + then readln(Xlegloc,Ylegloc) + else readln +end; (* legendread *) + +(* in the following procedures, the boolean var XorY: true => X & false => Y*) +procedure putbars(XorY:boolean; Xpos, Ypos, deltabar, distance: integer); +var times: integer; +begin + times := distance div abs(deltabar); + if times > 0 then + if XorY (* X *) + then writeln('\multiput(',Xpos:1,',',Ypos:1,')(', + deltabar:1,',0){',times:1,'}{\line(0,1){2}}') + else writeln('\multiput(',Xpos:1,',',Ypos:1,')(0,', + deltabar:1,'){',times:1,'}{\line(1,0){2}}'); +end; (* putbars *) + +(* see a note about putnumbers in the main program. *) +(* because we may have real numbers, we can't use a counter *) +(* in conjunction with a \multiput statement. *) +procedure putnumbers(XorY:boolean; fixedpos, initpos:integer; + initnum, deln:real; deltanum:integer; limit:real); +var pos: integer; + num: real; +begin + num:=initnum; pos:= initpos; + if (abs(num) - round(abs(num) - 0.5)) > 0 then itsreal := true; + while abs(pos) < abs(limit) do + begin + if XorY then (* X *) + write('\put(',pos:1,',',fixedpos:1,'){\makebox(0,0)[t]{') + else write('\put(',fixedpos:1,',',pos:1,'){\makebox(0,0)[r]{'); + if itsreal then writeln(num:1:2,'}}') + else writeln(trunc(num):1,'}}'); + pos := pos + deltanum; + num := num + deln + end; +end; (* putnumbers *) + +begin(* main *) + (*----------------------------------*) + (* Initializations & default values *) + (*----------------------------------*) + error1 := false; + itsreal:=false; + for i := 1 to 10 do blank10[i] := ' '; + for i := 1 to 79 do blank80[i] := ' '; blank80[80] := delim; + captiontype := blank10; captiontype := 'no '; (*default 'no' *) + fignumber := blank10; + fontname := blank80; (* just playing it safe *) + fontname := '{normalsize}'; fontname[13] := delim; + labelname := blank80; labelname[1] := 'n'; (* default 'no' *) + prepost := 'no'; + unitlngth := 1.0; + picwd := 100; picht := 100; XP1orig := 0; YP1orig := 0; + legendloc := 'no'; + Xscalegraph := 10; Xscalereal := 10; + Yscalegraph := 10; Yscalereal := 10; + Xdeltabar := 5; Xdeltanum := 10; + Ydeltabar := 5; Ydeltanum := 10; + Xorignum := 0; + Yorignum := 0; + for c := 'A' to maxchar do + begin + plotstuff[c].chardef[1] := 'n'; (* default value is 'no' *) + plotstuff[c].charname := blank80; + plotstuff[c].charname[1] := c; + plotstuff[c].charname[2] := delim + end; + Xlegloc := -999999; + Ylegloc := -999999; + strreadword(string, string9); + while string <> '%%%%%%%%%%' do + begin + if string = '%pre&post?' then readln(prepost[1]) + else if string = '%unitlngth' then readln(unitlngth) + else if string = '%font-name' then strreadline(fontname) + else if string = '%picdimens' then readln(picwd,picht,XP1orig,YP1orig) + else if string = '%??caption' then begin + strreadword(captiontype, string9); + readln + end + else if string = '%fignumber' then begin + strreadword(fignumber, string9); + readln + end + else if string = '%Xaxisstrg' then strreadline(Xaxisstrg) + else if string = '%Yaxisstrg' then strreadline(Yaxisstrg) + else if string = '%capstring' then strreadline(capstring) + else if string = '%labelname' then strreadline(labelname) + else if string = '%legendloc' then legendread + else if string = '%Xdeltab:n' then readln(Xdeltabar,Xdeltanum) + else if string = '%Xoriginum' then readln(Xorignum) + else if string = '%Ydeltab:n' then readln(Ydeltabar,Ydeltanum) + else if string = '%Yoriginum' then readln(Yorignum) + else if string = '%Xratiog:r' then readln(Xscalegraph,Xscalereal) + else if string = '%Yratiog:r' then readln(Yscalegraph,Yscalereal) + else if string9 = '%plotchar' then + strreadline(plotstuff[string[10]].chardef) + else if string9 = '%plotname' then + strreadline(plotstuff[string[10]].charname) + else begin + readln;writeln; + writeln('**********************************************'); + writeln('error: unknown string: "',string,'"'); + writeln('**********************************************'); + error1:=true + end; + string := blank10; + strreadword(string, string9) + end; (* while *) + readln; (* this readln is to finish reading the %%%%%.. line*) + + (* THE FUN BEGINS HERE *) + if not error1 then + begin + textwd := picwd*unitlngth + 15.0; (* in mm *) + if (textwd < 170) then textwd := 170; + if textwd >240 + then begin + writeln('% *****************************************************'); + writeln('% max-possible-picwd is about 240mm which will have '); + writeln('% to be in Landscape. You''ll have to reduce scales.'); + writeln('% *****************************************************') + end + else if textwd > 170 then + begin + writeln('% *****************************************************'); + writeln('% THIS TEXT IS A BIT TOO WIDE FOR VERTICAL PAPER MODE.'); + writeln('% YOU WILL HAVE TO USE LANDSCAPE MODE TO PRINT.'); + writeln('% *****************************************************') + end; + + if prepost[1] = 'y' then + begin + writeln('\documentstyle{article}'); + writeln('\setlength{\textwidth}{',textwd:1:2,'mm}'); + writeln('\pagestyle{empty} % => no page number '); + writeln('\begin{document}'); + writeln; + end; (* end prepost *) + + write('\newcommand{\xaxis}{'); strwrite(Xaxisstrg); + writeln('} % the literal for X-axis'); + write('\newcommand{\yaxis}{'); strwrite(Yaxisstrg); + writeln('} % the literal for Y-axis'); + c := 'A'; + while (plotstuff[c].chardef[1] <> 'n') and (c <= maxchar) do + begin + write('\newcommand{\pchar',c,'}'); + strwrite(plotstuff[c].chardef); writeln; + c := chr(ord(c) + 1) + end; + writeln; + write('\begin'); strwrite(fontname); writeln; (* fontname contains braces*) + writeln('\begin{figure}[p] %you might want different options here'); + + (* XGorig & YGorig refer to the origin of the graph. *) + (* XP1orig & YP1orig refer to the bottom-left origin of the picture box.*) + (* XP2orig & YP2orig refer to the bottom-right corner of the picture box.*) + (* see if (0,0) is on the graph or not *) + XGorig := 0; YGorig := 0; + if XP1orig >= 0 then XGorig := XP1orig + else if (picwd + XP1orig) < 0 then XGorig := XP1orig + picwd; + if YP1orig >= 0 then YGorig := YP1orig + else if (picht + YP1orig) < 0 then YGorig := YP1orig + picht; + XP2orig := picwd + XP1orig; + YP2orig := picht + YP1orig; + writeln('\unitlength = ',unitlngth:1:2,'mm'); + writeln('\begin{center}'); + writeln('\begin{picture}(',(picwd+10):1,',',(picht+10):1,')(', + (XP1orig-5):1,',',(YP1orig-5):1,')'); + (* need a box of +10 on both axes to account for -10 origins & to *) + (* get proper centering *) + writeln('\thicklines'); + (* plot the horizontal axis *) + if (XP2orig - XGorig) > 0 then + begin + writeln('\put(',XGorig:1,',',YGorig:1,'){\vector(1,0){', + abs(XP2orig-XGorig):1,'}}'); + writeln('\put(',(XP2orig+2):1,',',YGorig:1,'){\makebox(0,0)[l]{X}}') + end; + if (XGorig - XP1orig) > 0 then + begin + writeln('\put(',XGorig:1,',',YGorig:1,'){\vector(-1,0){', + abs(XGorig-XP1orig):1,'}}'); + writeln('\put(',(XP1orig-2):1,',',YGorig:1, + '){\makebox(0,0)[r]{X}}') + end; + (* plot the vertical axis *) + if (YP2orig - YGorig) > 0 then + begin + writeln('\put(',XGorig:1,',',YGorig:1,'){\vector(0,1){', + abs(YP2orig-YGorig):1,'}}'); + writeln('\put(',XGorig:1,',',(YP2orig+2):1,'){\makebox(0,0)[b]{Y}}') + end; + if (YGorig - YP1orig) > 0 then + begin + writeln('\put(',XGorig:1,',',YGorig:1,'){\vector(0,-1){', + abs(YGorig-YP1orig):1,'}}'); + writeln('\put(',XGorig:1,',',(YP1orig-2):1, + '){\makebox(0,0)[t]{Y}}') + end; + writeln('\thinlines'); + + (*********************************************************************) + (*the following put numbers & bars along X-axis and Y-axis *) + (*********************************************************************) + putbars(true,XGorig,(YGorig-1),Xdeltabar,abs(XP2orig-XGorig)); + putbars(true,XGorig,(YGorig-1),-Xdeltabar,abs(XGorig-XP1orig)); + putbars(false,(XGorig-1),YGorig,Ydeltabar,abs(YP2orig-YGorig)); + putbars(false,(XGorig-1),YGorig,-Ydeltabar,abs(YGorig-YP1orig)); + +(* Before invoking putnumbers, we must explicitly check if it needs to + be invoked at all. This is because in the procedure putnumbers I use + absolute values as the stopping condition for while loop. + We use absolute values in the procedure so as to handle plotting + numbers on both the positive and negative halves of the axes. + deln below represents the delta graph units corresponding to X|Ydeltanum. +*) + writeln('% Add a line similar to next one if number at origin desired.'); + deln := (Xscalereal*Xdeltanum) / Xscalegraph; + pos := XGorig + Xdeltanum; num:=Xorignum + deln; + if pos < XP2orig then + putnumbers(true,(YGorig-2),pos,num,deln,Xdeltanum,XP2orig); + pos := XGorig - Xdeltanum; num:=Xorignum - deln; + if pos > XP1orig then + putnumbers(true,(YGorig-2),pos,num,-deln,-Xdeltanum,XP1orig); + + deln := ( Yscalereal*Ydeltanum) / Yscalegraph; + pos := YGorig + Ydeltanum; num:=Yorignum + deln; + if pos < YP2orig then + putnumbers(false,(XGorig-2),pos,num,deln,Ydeltanum,YP2orig); + pos := YGorig - Ydeltanum; num:=Yorignum - deln; + if pos > YP1orig then + putnumbers(false,(XGorig-2),pos,num,-deln,-Ydeltanum,YP1orig); + + (***********************) + (* put the legend box *) + (***********************) + if (legendloc <> 'no') then + begin (* and if it is then obviously do nothing *) + if (Xlegloc = -999999) and (Ylegloc = -999999) then + begin (* implies explicit coordinates not specified *) + (* if they are then they are set in legendread *) + Xlegloc := picwd div 2; (* default is center *) + Ylegloc := picht div 2; (* default is center *) + if (legendloc[1] = 't') or (legendloc[2] = 't') + then if YP2orig > 0 then Ylegloc := picht else Ylegloc := picht-10; + if (legendloc[1] = 'b') or (legendloc[2] = 'b') + then if YP1orig >= 0 then Ylegloc := 10 else Ylegloc := 0; + if (legendloc[1] = 'l') or (legendloc[2] = 'l') + then if XP1orig >= 0 then Xlegloc := 10 else Xlegloc := 0; + if (legendloc[1] = 'r') or (legendloc[2] = 'r') + then if XP2orig > 0 then Xlegloc := picwd else Xlegloc := picwd-10; + Xlegloc := Xlegloc + XP1orig; + Ylegloc := Ylegloc + YP1orig + end; + + write('\put(',Xlegloc:1,',',Ylegloc:1,'){\makebox(0,0)'); + i:= 1; write('['); + while (i <= 2) do + begin + if (legendloc[i] <> ' ') and (legendloc[i] <> '/') then + write(legendloc[i]); + i:=i+1 + end; + write(']'); + writeln('{\fbox{\shortstack[l]{'); + c:='A'; + while (plotstuff[c].chardef[1] <> 'n') and (c <= maxchar) do + begin + write(' {\makebox(4,2)[lb]{\put(2,1){\pchar',c,'}}}: '); + strwrite(plotstuff[c].charname); writeln('\\'); + c := chr(ord(c) + 1) + end; + writeln(' {\makebox(4,4)[b]{X}}: \xaxis \\'); + writeln(' {\makebox(4,2)[b]{Y}}: \yaxis'); + writeln(' }}}}') + end; (* not 'no' of legendloc*) + + (* put the caption if explicit *) + captiontwo[1]:=capstring[1]; + captiontwo[2]:=capstring[2]; + if captiontype[1] = 'e' then (* "e"xplicit, anything else other than *) + (* "L" for LaTeX => no *) + if captiontwo = 'YX' then + begin + writeln('% if the caption line is longer than the graphwidth, comment'); + writeln('% out the second line and use first one. you might have to'); + writeln('% fiddle with the width of parbox in the second stmt.'); + write('%\put(',XP1orig:1,',',(YP1orig-18):1, + '){\makebox(',picwd:1,',0)[tl]{'); + writeln('Figure ',fignumber,'$\!$: \parbox[t]{',(textwd-32):1:1,'mm}{%'); + write('\put(',XP1orig:1,',',(YP1orig-18):1, + '){\makebox(',picwd:1,',0)[t]{'); + writeln('Figure ',fignumber,'$\!$: {%'); + writeln('%\yaxis\ vs.\ \xaxis}}}') + end + else (* means explicit string is specified *) + begin + write('%\put(',XP1orig:1,',',(YP1orig-18):1, + '){\makebox(',picwd:1,',0)[tl]{'); + writeln('Figure ',fignumber,'$\!$: \parbox[t]{',(textwd-32):1:1,'mm}{%'); + write('\put(',XP1orig:1,',',(YP1orig-18):1, + '){\makebox(',picwd:1,',0)[t]{'); + writeln('Figure ',fignumber,'$\!$: {%'); + strwrite(capstring); writeln; + writeln('}}}'); + end; + + writeln('% beginning of data'); + while not eof do + begin + readln(plotchar,xreality,yreality); + xgraph := (xreality*Xscalegraph)/Xscalereal; + ygraph := (yreality*Yscalegraph)/Yscalereal; + writeln('\put(',xgraph:1:5,',',ygraph:1:5,'){\pchar',plotchar,'}') + end; + writeln('% end of data'); + writeln('\end{picture}'); + writeln('\end{center}'); + + (* put the LaTeX \caption if so specified *) + if captiontype[1] = 'L' then (* "L"aTeX . if it is not = 'L' or 'e'*) + (* then interpreted as 'no' *) + begin + writeln('% if the caption line is longer than the graphwidth,use a'); + writeln('% \parbox[t]{...mm}{.......} like statement for the argument'); + writeln('% with suitable args for parbox to get things centered.'); + if captiontwo = 'YX' + then begin + writeln('% You might want to add a [] to \caption below.'); + writeln('\caption{\protect\normalsize \yaxis\ vs.\ \xaxis }') + end + else begin + writeln('\caption{\protect\normalsize '); + strwrite(capstring); writeln; + writeln('}') + end; + if labelname[1] = '{' then (* anything else => 'no' *) + begin + write('\label'); strwrite(labelname); writeln + (* labelname contains the braces *) + end + end; + + writeln('\end{figure}'); + writeln; (* a blank line is supposedly needed before \end fontname *) + (* so says the latex manual *) + write('\end'); strwrite(fontname); writeln; (* fontname contains braces *) + writeln; + + if prepost[1] = 'y' then + writeln('\end{document}'); + end (* not error1 *) +end. diff --git a/obsolete/macros/latex209/contrib/lgraph/lgraph.skel b/obsolete/macros/latex209/contrib/lgraph/lgraph.skel new file mode 100644 index 0000000000..23e1fb1b20 --- /dev/null +++ b/obsolete/macros/latex209/contrib/lgraph/lgraph.skel @@ -0,0 +1,32 @@ +%pre&post?/yes +%unitlngth 1.0 +%font-name/{footnotesize} +%picdimens 140 120 -70 -60 +%Xaxisstrg/Number of Hops. +%Yaxisstrg/\%age of Hops +%??caption/explicit +%fignumber/1-1 +%capstring/Half-Length of Symmetric Intervals as \%-age of Lifetime means +%labelname/{my-graph-1} +%legendloc/tr +%Xratiog:r 10 10 +%Xdeltab:n 5 10 +%Xoriginum 0 +%Yratiog:r 10 10 +%Ydeltab:n 5 10 +%Yoriginum 0 +%plotcharA/{\circle*{1.0}} +%plotnameA/Message Switching +%plotcharB/{\makebox(0,0){$\otimes$}} +%plotnameB/Circuit Switching +%plotcharD/no +%plotcharE/no +%%%%%%%%%% +A 20 20 +A 20 -20 +A -20 20 +A -20 -20 +B 30 10 +B 30 -10 +B -30 10 +B -30 -10 diff --git a/obsolete/macros/latex209/contrib/misc/10pt.sty b/obsolete/macros/latex209/contrib/misc/10pt.sty new file mode 100644 index 0000000000..661bd79c25 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/10pt.sty @@ -0,0 +1,7 @@ +%%% Save file as: 10pt.sty Source: FILESERV@SHSU.BITNET +%%% The following checksum includes all SHSU-generated topmatter. +%%% checksum = "57724 7 44 319" +% A simple style file to give you 10pt text. It does nothing but makes +% \documentstyle[10pt]{article} +% equivalent to +% \documentstyle{article} diff --git a/obsolete/macros/latex209/contrib/misc/9pt.sty b/obsolete/macros/latex209/contrib/misc/9pt.sty new file mode 100644 index 0000000000..92cd1623b1 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/9pt.sty @@ -0,0 +1,126 @@ +% 9pt.sty 17-Apr-90 Patrick van der Smagt +% changed lines are preceded by a comment marker +% +% Available font sizes: vpt, vipt, viipt, viiipt, ixpt, xpt, +% xipt, xiipt, xivpt, xviipt, xxpt, xxvpt +% +\def\@normalsize{\@setsize\normalsize{10.8pt}\ixpt\@ixpt +\abovedisplayskip 8pt plus2pt minus4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 5pt plus3pt +minus3pt\let\@listi\@listI} +% +\def\small{\@setsize\small{9.6pt}\viiipt\@viiipt +\abovedisplayskip 7.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus 2pt +\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 2pt minus 2pt\parsep 2pt +plus 1pt minus 1pt +\itemsep \parsep}} +% +\def\footnotesize{\@setsize\footnotesize{7.5pt}\viipt\@viipt +\abovedisplayskip 5pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus +2pt +% +\def\@listi{\leftmargin\leftmargini \topsep 2.5pt plus 1pt minus 1pt\parsep 2pt +plus 1pt minus 1pt +\itemsep \parsep}} +% +\def\scriptsize{\@setsize\scriptsize{7.2pt}\vipt\@vipt} +% +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +% +\def\large{\@setsize\large{12pt}\xpt\@xpt} +% +\def\Large{\@setsize\Large{14.4pt}\xiipt\@xiipt} +% +\def\LARGE{\@setsize\LARGE{16.8pt}\xivpt\@xivpt} +% +\def\huge{\@setsize\huge{20.4pt}\xviipt\@xviipt} +% +\def\Huge{\@setsize\Huge{24pt}\xxpt\@xxpt} +\normalsize + +\if@twoside \oddsidemargin 44pt \evensidemargin 82pt \marginparwidth 107pt +\else \oddsidemargin 63pt \evensidemargin 63pt + \marginparwidth 90pt +\fi +\marginparsep 11pt + \topmargin 27pt \headheight 12pt \headsep 25pt \footskip 30pt + +\textheight = 43\baselineskip +\advance\textheight by \topskip +\textwidth 345pt \columnsep 10pt \columnseprule 0pt + +\footnotesep 6.65pt +\skip\footins 9pt plus 4pt minus 2pt +\floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt +\intextsep 12pt plus 2pt minus 2pt \@maxsep 20pt \dblfloatsep 12pt plus 2pt +minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt +\@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil +\marginparpush 5pt + +\parskip 0pt plus 1pt \parindent 15pt \partopsep 2pt plus 1pt minus 1pt +\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 +\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty +-\@lowpenalty + + +\def\part{\par \addvspace{4ex} \@afterindentfalse \secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{part} +\addcontentsline{toc}{part}{\thepart \hspace{1em}#1}\else +\addcontentsline{toc}{part}{#1}\fi { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne \Large \bf Part \thepart \par \nobreak \fi \huge +\bf #2\markboth{}{}\par } \nobreak \vskip 3ex \@afterheading } +\def\@spart#1{{\parindent 0pt \raggedright + \huge \bf + #1\par} \nobreak \vskip 3ex \@afterheading } +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus + -.2ex}{2.3ex plus .2ex}{\Large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus + -.2ex}{1.5ex plus .2ex}{\large\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus +-1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\bf}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{3.25ex plus 1ex minus + .2ex}{-1em}{\normalsize\bf}} + + +\setcounter{secnumdepth}{3} + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + + +\leftmargini 25pt +\leftmarginii 22pt \leftmarginiii 18.7pt \leftmarginiv 17pt \leftmarginv 10pt +\leftmarginvi 10pt +\leftmargin\leftmargini +\labelsep 5pt +\labelwidth\leftmargini\advance\labelwidth-\labelsep +% +\def\@listI{\leftmargin\leftmargini \parsep 3.5pt plus 2pt minus 1pt\topsep 6pt +plus 1pt minus 3pt\itemsep 2.5pt plus 2pt minus 1pt} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep +% + \topsep 3.5pt plus 2pt minus 1pt + \parsep 2pt plus 1pt minus 1pt + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ \partopsep 1pt plus 0pt minus 1pt + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} diff --git a/obsolete/macros/latex209/contrib/misc/a4wide.sty b/obsolete/macros/latex209/contrib/misc/a4wide.sty new file mode 100644 index 0000000000..2985221f9b --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/a4wide.sty @@ -0,0 +1,36 @@ +% +% "moretext" document style option. +% Jean-Francois Lamy, July 86 +% +% Redefines the margins so that they are more in line with +% what we are used to see. +% + +\input a4.sty + +\ifcase \@ptsize + % mods for 10 pt + \oddsidemargin 0.15 in % Left margin on odd-numbered pages. + \evensidemargin 0.35 in % Left margin on even-numbered pages. + \marginparwidth 1 in % Width of marginal notes. + \oddsidemargin 0.25 in % Note that \oddsidemargin = \evensidemargin + \evensidemargin 0.25 in + \marginparwidth 0.75 in + \textwidth 5.875 in % Width of text line. +\or % mods for 11 pt + \oddsidemargin 0.1 in % Left margin on odd-numbered pages. + \evensidemargin 0.15 in % Left margin on even-numbered pages. + \marginparwidth 1 in % Width of marginal notes. + \oddsidemargin 0.125 in % Note that \oddsidemargin = \evensidemargin + \evensidemargin 0.125 in + \marginparwidth 0.75 in + \textwidth 6.125 in % Width of text line. +\or % mods for 12 pt + \oddsidemargin -10 pt % Left margin on odd-numbered pages. + \evensidemargin 10 pt % Left margin on even-numbered pages. + \marginparwidth 1 in % Width of marginal notes. + \oddsidemargin 0 in % Note that \oddsidemargin = \evensidemargin + \evensidemargin 0 in + \marginparwidth 0.75 in + \textwidth 6.375 true in % Width of text line. +\fi diff --git a/obsolete/macros/latex209/contrib/misc/a5.sty b/obsolete/macros/latex209/contrib/misc/a5.sty new file mode 100644 index 0000000000..cf619734e5 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/a5.sty @@ -0,0 +1,30 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Mario Wolczko", +%%% version = "10", +%%% date = "21 May 1992", +%%% time = "20:51:10 BST", +%%% filename = "a5.sty", +%%% email = "mario@acm.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "LaTeX, A5 page size, page layout", +%%% supported = "no", +%%% docstring = "Sets page layout to A5 size, with equal +%%% spaces to left, middle and right and top:side:bottom space = +%%% 2:3:4. See also a5comb.sty, a4.sty" +%%% } +%%% ==================================================================== +% +% This file is in the public domain. +% +% based on ratios suggested by Dick Wakefield + +\headheight=12truept \headsep=18truept +\topmargin= -35.62truept % Nominal distance from top of paper to top of page +% top paper margin of 48.72pt +% (between top of page and top of text, excluding header) +\textwidth=313truept +\evensidemargin=-0.47truept \oddsidemargin=-35.77truept +\textheight=426truept % 10pt only (\baselineskip=12pt) + +\footskip=36truept \footheight=12truept diff --git a/obsolete/macros/latex209/contrib/misc/algorithm.sty b/obsolete/macros/latex209/contrib/misc/algorithm.sty new file mode 100644 index 0000000000..4ad31b578e --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/algorithm.sty @@ -0,0 +1,108 @@ +%%%%%%%%%%% ALGORITHMS STYLE %%%%%%%%%%% +% This style defines an environment for algorithms with the following +% features: +% +% 1) Defines an Theorem like environment (not exactly one) for +% algorithms called ``algorithm''. +% \begin{algorithm}{NAME} ... \end{algorithm} +% NAME is the NAME of the algorithm. +% Algorithms are numbered using a counter called ``algorithm''. +% +% 2) Inside this environment, the following commands are defined. +% +% \= Put the small left arrow commonly used for assignment. +% +% \invariant{INVARIANT} Use to describe invariants, put its parameter +% between ``{}'' in math mode. +% +% \begin{Block} ... \end{Block} Environment use to start a indented +% block of instructions \end{Block} put +% an ``end'' to close the block. +% +% \nextBlock{SEPARATOR} Inside a Block, it allows to put a separator +% of parts of the indented block. Usefull for +% constructions like ``IF..THEN..ELSE..END'' +% i.e. If cond then +% \begin{Block} +% then part +% \nextBlock{else} +% else part +% \end{Block} +% +% 3) \Blockindent and \algorithmindent are length that specify the +% indentention of Blocks and of the algorithm resp. +% +% 4) Instructions are separated by ``\\'', ``\par'' or by leaving a +% blank line. Before an ``\end{Block}'' a ``\\'' can't be used. +% +% +% Created by Jose Alberto Fernandez R. +% e-mail: alberto@cs.umd.edu +% + +% +\newcounter{algorithm} +\newtheorem{Alg@orithm}[algorithm]{Algorithm} +% Invariants +\newcommand{\inv@ariant}[1]{\mbox{$\{#1\}$}} +% Steps environment +\newenvironment{ste@ps}[1]{ +\begin{list}{} +{\setlength\labelsep{0in} +\addtolength\partopsep\topsep +\addtolength\partopsep\parsep +\setlength\parsep{0in} +\setlength\topsep{0in} +\setlength\itemsep{0in} +\setlength\labelwidth{0in} +\setlength\rightmargin{0in} +\setlength\leftmargin{#1}} +}{ +\end{list} +} + +% Block environment +% Indentation of the Block +\newlength{\Blockindent} +% NextBlock command +\newcommand{\next@Block}[1]{ +\end{ste@ps} +#1 +\begin{ste@ps}{\Blockindent} +\item +} + +\newenvironment{Blo@ck}{ +\let\nextBlock\next@Block +\begin{ste@ps}{\Blockindent} +\item +}{ +\end{ste@ps} +end +} +% Algorithm environment +% Assign command +\newcommand{\ass@ign}{\mbox{$\leftarrow$}} +% Indentation of the algorithm +\newlength{\algorithmindent} +% Algorithm definition +\newenvironment{algorithm}[1]{ +\let\=\ass@ign +\let\invariant\inv@ariant +\let\Block\Blo@ck +\let\endBlock\endBlo@ck +\begin{Alg@orithm} #1 +\rm\par +\begin{ste@ps}{\algorithmindent} +\item +}{ +\end{ste@ps} +\bf end +\end{Alg@orithm} +} + +% Setting default indentation +\setlength{\algorithmindent}{1em} +\setlength{\Blockindent}{2em} + +% End of algorithm.sty diff --git a/obsolete/macros/latex209/contrib/misc/alltt.sty b/obsolete/macros/latex209/contrib/misc/alltt.sty new file mode 100644 index 0000000000..b7290b7563 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/alltt.sty @@ -0,0 +1,32 @@ +% ALLTT DOCUMENT-STYLE OPTION - released 17 December 1987 +% for LaTeX version 2.09 +% Copyright (C) 1987 by Leslie Lamport + +% Defines the `alltt' environment, which is like the `verbatim' +% environment except that `\', `\{', and `\}' have their usual meanings. +% Thus, other commands and environemnts can appear within an `alltt' +% environment. Here are some things you may want to do in an `alltt' +% environment: +% +% * Change fonts--e.g., by typing `{\em empasized text\/}'. +% +% * Insert text from a file foo.tex by typing `input{foo}'. Beware that +% each stars a new line, so if foo.tex ends with a +% you can wind up with an extra blank line if you're not careful. +% +% * Insert a math formula. Note that `$' just produces a dollar sign, +% so you'll have to type `\(...\)' or `\[...\]'. Also, `^' and `_' +% just produce their characters; use `\sp' or `\sb' for super- and +% subscripts, as in `\(x\sp{2}\)'. + +\def\docspecials{\do\ \do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~} + +\def\alltt{\trivlist \item[]\if@minipage\else\vskip\parskip\fi +\leftskip\@totalleftmargin\rightskip\z@ +\parindent\z@\parfillskip\@flushglue\parskip\z@ +\@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par} +\obeylines \tt \catcode``=13 \@noligs \let\do\@makeother \docspecials + \frenchspacing\@vobeyspaces} + +\let\endalltt=\endtrivlist diff --git a/obsolete/macros/latex209/contrib/misc/amsfonts.sty b/obsolete/macros/latex209/contrib/misc/amsfonts.sty new file mode 100644 index 0000000000..754deb1baf --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/amsfonts.sty @@ -0,0 +1,414 @@ +% This style file makes it possible to work with the AmS fonts +% in LaTeX +% calling sequence: \documentstyle[...,amsfonts,...]{....} +% Slightly modified from a version snarfed from LISTSERV at DHDURZ1 +% One modification is that \Huge also uses the same sizes +% like the CMR family of fonts. +% The other modification is using the command \@addto to +% modify the virtual font size definitions later used +% by ARTxx.STY or REPxx.STy or so on. +% I found \@addto in VDM.STY by Mario Wolcko. +% The advantage is that using this trick you can add +% different families of fonts to the existing LATEX fonts +% and the later style options do not remove font families added +% by previous style option. SO you an add selectively +% e.g. the MSXMxx and MSYMxx families and later also +% the Euler Fraktur and the cyrillic fonts without anz changes +% in the style files. Without \@addto this is rather difficult +% to accomplish. +% Updates 11/20/1988 by E. Neuwirth (A4422DAB at AWIUNI11) + + \def\@addto#1#2{\ifx#1\undefined % do nothing + \else \toks0=\expandafter{#1}\toks1={#2}% + \global\edef#1{\the\toks0 \the\toks1 }\fi} + +\catcode`@=11 + + \font\twtymsx=msxm10 \@magscale4 + \font\svtnmsx=msxm10 \@magscale3 + \font\frtnmsx=msxm10 \@magscale2 + \font\twelvemsx=msxm10 \@magscale1 + \font\elevenmsx=msxm10 \@halfmag + \font\tenmsx=msxm10 + \font\ninemsx=msxm9 + \font\eightmsx=msxm8 + \font\sevenmsx=msxm7 + \font\sixmsx=msxm6 + \font\fivemsx=msxm5 + % + \font\twtymsy=msym10 \@magscale4 + \font\svtnmsy=msym10 \@magscale3 + \font\frtnmsy=msym10 \@magscale2 + \font\twelvemsy=msym10 \@magscale1 + \font\elevenmsy=msym10 \@halfmag + \font\tenmsy=msym10 + \font\ninemsy=msym9 + \font\eightmsy=msym8 + \font\sevenmsy=msym7 + \font\sixmsy=msym6 + \font\fivemsy=msym5 + + +\newfam\msxfam +\newfam\msyfam + +% Hier sind jetzt geaenderte LFONTS Definitionen (fuer LaTeX) + +\@addto\@vpt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\fivemsx}\textfont\msxfam=\fivemsx + \scriptfont\msxfam=\fivemsx \scriptscriptfont\msxfam=\fivemsx +\def\msy{\fam\msyfam\fivemsy}\textfont\msyfam=\fivemsy + \scriptfont\msyfam=\fivemsy \scriptscriptfont\msyfam=\fivemsy +\@setstrut\rm} + + +\@addto\@vipt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\sixmsx}\textfont\msxfam=\sixmsx + \scriptfont\msxfam=\sixmsx \scriptscriptfont\msxfam=\sixmsx +\def\msy{\fam\msyfam\sixmsy}\textfont\msyfam=\sixmsy + \scriptfont\msyfam=\sixmsy \scriptscriptfont\msyfam=\sixmsy +\@setstrut\rm} + + +\@addto\@viipt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\sevenmsx}\textfont\msxfam=\sevenmsx + \scriptfont\msxfam=\fivemsx \scriptscriptfont\msxfam=\fivemsx +\def\msy{\fam\msyfam\sevenmsy}\textfont\msyfam=\sevenmsy + \scriptfont\msyfam=\fivemsy \scriptscriptfont\msyfam=\fivemsy +\@setstrut \rm} + + +\@addto\@viiipt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\eightmsx}\textfont\msxfam=\eightmsx + \scriptfont\msxfam=\sixmsx \scriptscriptfont\msxfam=\fivemsx +\def\msy{\fam\msyfam\eightmsy}\textfont\msyfam=\eightmsy + \scriptfont\msyfam=\sixmsy \scriptscriptfont\msyfam=\fivemsy +\@setstrut \rm} + + +\@addto\@ixpt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\ninemsx}\textfont\msxfam=\ninemsx + \scriptfont\msxfam=\sixmsx \scriptscriptfont\msxfam=\fivemsx +\def\msy{\fam\msyfam\ninemsy}\textfont\msyfam=\ninemsy + \scriptfont\msyfam=\sixmsy \scriptscriptfont\msyfam=\fivemsy +\@setstrut \rm} + + +\@addto\@xpt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\tenmsx}\textfont\msxfam=\tenmsx + \scriptfont\msxfam=\sevenmsx \scriptscriptfont\msxfam=\fivemsx +\def\msy{\fam\msyfam\tenmsy}\textfont\msyfam=\tenmsy + \scriptfont\msyfam=\sevenmsy \scriptscriptfont\msyfam=\fivemsy +\@setstrut \rm} + + +\@addto\@xipt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\elevenmsx}\textfont\msxfam=\elevenmsx + \scriptfont\msxfam=\eightmsx \scriptscriptfont\msxfam=\sixmsx +\def\msy{\fam\msyfam\elevenmsy}\textfont\msyfam=\elevenmsy + \scriptfont\msyfam=\eightmsy \scriptscriptfont\msyfam=\sixmsy +\@setstrut \rm} + + +\@addto\@xiipt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\twelvemsx}\textfont\msxfam=\twelvemsx + \scriptfont\msxfam=\eightmsx \scriptscriptfont\msxfam=\sixmsx +\def\msy{\fam\msyfam\twelvemsy}\textfont\msyfam=\twelvemsy + \scriptfont\msyfam=\eightmsy \scriptscriptfont\msyfam=\sixmsy + \@setstrut \rm} + + +\@addto\@xivpt{\textfont\z@\frtnrm +% Hier AmS-Fonts +\def\msx{\fam\msxfam\frtnmsx}\textfont\msxfam=\frtnmsx + \scriptfont\msxfam=\tenmsx \scriptscriptfont\msxfam=\sevenmsx +\def\msy{\fam\msyfam\frtnmsy}\textfont\msyfam=\frtnmsy + \scriptfont\msyfam=\tenmsy \scriptscriptfont\msyfam=\sevenmsy +\@setstrut \rm} + + +\@addto\@xviipt{\textfont\z@\svtnrm +% Hier AmS-Fonts +\def\msx{\fam\msxfam\svtnmsx}\textfont\msxfam=\svtnmsx + \scriptfont\msxfam=\twelvemsx \scriptscriptfont\msxfam=\tenmsx +\def\msy{\fam\msyfam\svtnmsy}\textfont\msyfam=\svtnmsy + \scriptfont\msyfam=\twelvemsy \scriptscriptfont\msyfam=\tenmsy +\@setstrut \rm} + + +\@addto\@xxpt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\twtymsx}\textfont\msxfam=\twtymsx + \scriptfont\msxfam=\frtnmsx \scriptscriptfont\msxfam=\twelvemsx +\def\msy{\fam\msyfam\twtymsy}\textfont\msyfam=\twtymsy + \scriptfont\msyfam=\frtnmsy \scriptscriptfont\msyfam=\twelvemsy +\@setstrut \rm} + + +\@addto\@xxvpt{ +% Hier AmS-Fonts +\def\msx{\fam\msxfam\twtymsx}\textfont\msxfam=\twtymsx + \scriptfont\msxfam=\twtymsx \scriptscriptfont\msxfam=\svtnmsx +\def\msy{\fam\msyfam\twtymsy}\textfont\msyfam=\twtymsy + \scriptfont\msyfam=\twtymsy \scriptscriptfont\msyfam=\svtnmsy +\@setstrut \rm} + + +%\def\text{\relaxnext@\ifmmode\let\next\text@\else\let\next\text@@\fi\next} +%\def\text@@#1{\leavevmode\hbox{#1}} + +\def\relaxnext@{\let\next\relax} + +\def\accentfam@{7} +\def\noaccents@{\def\accentfam@{0}} + +\def\hexnumber@#1{\ifnum#1<10 \number#1\else + \ifnum#1=10 A\else\ifnum#1=11 B\else\ifnum#1=12 C\else + \ifnum#1=13 D\else\ifnum#1=14 E\else\ifnum#1=15 F\fi\fi\fi\fi\fi\fi\fi} + +\def\mathhexbox@#1#2#3{\hbox{$\m@th\mathchar"#1#2#3$}} + +\edef\msx@{\hexnumber@\msxfam} +\edef\msy@{\hexnumber@\msyfam} + +\mathchardef\boxdot="2\msx@00 +\mathchardef\boxplus="2\msx@01 +\mathchardef\boxtimes="2\msx@02 +\mathchardef\square="0\msx@03 +\mathchardef\blacksquare="0\msx@04 +\mathchardef\centerdot="2\msx@05 +\mathchardef\lozenge="0\msx@06 +\mathchardef\blacklozenge="0\msx@07 +\mathchardef\circlearrowright="3\msx@08 +\mathchardef\circlearrowleft="3\msx@09 +\mathchardef\rightleftharpoons="3\msx@0A +\mathchardef\leftrightharpoons="3\msx@0B +\mathchardef\boxminus="2\msx@0C +\mathchardef\Vdash="3\msx@0D +\mathchardef\Vvdash="3\msx@0E +\mathchardef\vDash="3\msx@0F +\mathchardef\twoheadrightarrow="3\msx@10 +\mathchardef\twoheadleftarrow="3\msx@11 +\mathchardef\leftleftarrows="3\msx@12 +\mathchardef\rightrightarrows="3\msx@13 +\mathchardef\upuparrows="3\msx@14 +\mathchardef\downdownarrows="3\msx@15 +\mathchardef\upharpoonright="3\msx@16 +\let\restriction\upharpoonright +\mathchardef\downharpoonright="3\msx@17 +\mathchardef\upharpoonleft="3\msx@18 +\mathchardef\downharpoonleft="3\msx@19 +\mathchardef\rightarrowtail="3\msx@1A +\mathchardef\leftarrowtail="3\msx@1B +\mathchardef\leftrightarrows="3\msx@1C +\mathchardef\rightleftarrows="3\msx@1D +\mathchardef\Lsh="3\msx@1E +\mathchardef\Rsh="3\msx@1F +\mathchardef\rightsquigarrow="3\msx@20 +\mathchardef\leftrightsquigarrow="3\msx@21 +\mathchardef\looparrowleft="3\msx@22 +\mathchardef\looparrowright="3\msx@23 +\mathchardef\circeq="3\msx@24 +\mathchardef\succsim="3\msx@25 +\mathchardef\gtrsim="3\msx@26 +\mathchardef\gtrapprox="3\msx@27 +\mathchardef\multimap="3\msx@28 +\mathchardef\therefore="3\msx@29 +\mathchardef\because="3\msx@2A +\mathchardef\doteqdot="3\msx@2B +\let\Doteq\doteqdot +\mathchardef\triangleq="3\msx@2C +\mathchardef\precsim="3\msx@2D +\mathchardef\lesssim="3\msx@2E +\mathchardef\lessapprox="3\msx@2F +\mathchardef\eqslantless="3\msx@30 +\mathchardef\eqslantgtr="3\msx@31 +\mathchardef\curlyeqprec="3\msx@32 +\mathchardef\curlyeqsucc="3\msx@33 +\mathchardef\preccurlyeq="3\msx@34 +\mathchardef\leqq="3\msx@35 +\mathchardef\leqslant="3\msx@36 +\mathchardef\lessgtr="3\msx@37 +\mathchardef\backprime="0\msx@38 +\mathchardef\risingdotseq="3\msx@3A +\mathchardef\fallingdotseq="3\msx@3B +\mathchardef\succcurlyeq="3\msx@3C +\mathchardef\geqq="3\msx@3D +\mathchardef\geqslant="3\msx@3E +\mathchardef\gtrless="3\msx@3F +\mathchardef\sqsubset="3\msx@40 +\mathchardef\sqsupset="3\msx@41 +\mathchardef\vartriangleright="3\msx@42 +\mathchardef\vartriangleleft ="3\msx@43 +\mathchardef\trianglerighteq="3\msx@44 +\mathchardef\trianglelefteq="3\msx@45 +\mathchardef\bigstar="0\msx@46 +\mathchardef\between="3\msx@47 +\mathchardef\blacktriangledown="0\msx@48 +\mathchardef\blacktriangleright="3\msx@49 +\mathchardef\blacktriangleleft="3\msx@4A +\mathchardef\vartriangle="0\msx@4D +\mathchardef\blacktriangle="0\msx@4E +\mathchardef\triangledown="0\msx@4F +\mathchardef\eqcirc="3\msx@50 +\mathchardef\lesseqgtr="3\msx@51 +\mathchardef\gtreqless="3\msx@52 +\mathchardef\lesseqqgtr="3\msx@53 +\mathchardef\gtreqqless="3\msx@54 +\mathchardef\Rrightarrow="3\msx@56 +\mathchardef\Lleftarrow="3\msx@57 +\mathchardef\veebar="2\msx@59 +\mathchardef\barwedge="2\msx@5A +\mathchardef\doublebarwedge="2\msx@5B +\mathchardef\angle="0\msx@5C +\mathchardef\measuredangle="0\msx@5D +\mathchardef\sphericalangle="0\msx@5E +\mathchardef\varpropto="3\msx@5F +\mathchardef\smallsmile="3\msx@60 +\mathchardef\smallfrown="3\msx@61 +\mathchardef\Subset="3\msx@62 +\mathchardef\Supset="3\msx@63 +\mathchardef\Cup="2\msx@64 +\let\doublecup\Cup +\mathchardef\Cap="2\msx@65 +\let\doublecap\Cap +\mathchardef\curlywedge="2\msx@66 +\mathchardef\curlyvee="2\msx@67 +\mathchardef\leftthreetimes="2\msx@68 +\mathchardef\rightthreetimes="2\msx@69 +\mathchardef\subseteqq="3\msx@6A +\mathchardef\supseteqq="3\msx@6B +\mathchardef\bumpeq="3\msx@6C +\mathchardef\Bumpeq="3\msx@6D +\mathchardef\lll="3\msx@6E +\let\llless\lll +\mathchardef\ggg="3\msx@6F +\let\gggtr\ggg +\mathchardef\circledS="0\msx@73 +\mathchardef\pitchfork="3\msx@74 +\mathchardef\dotplus="2\msx@75 +\mathchardef\backsim="3\msx@76 +\mathchardef\backsimeq="3\msx@77 +\mathchardef\complement="0\msx@7B +\mathchardef\intercal="2\msx@7C +\mathchardef\circledcirc="2\msx@7D +\mathchardef\circledast="2\msx@7E +\mathchardef\circleddash="2\msx@7F +\def\ulcorner{\delimiter"4\msx@70\msx@70 } +\def\urcorner{\delimiter"5\msx@71\msx@71 } +\def\llcorner{\delimiter"4\msx@78\msx@78 } +\def\lrcorner{\delimiter"5\msx@79\msx@79 } +\def\yen{{\mathhexbox@\msx@55 }} +\def\checkmark{{\mathhexbox@\msx@58 }} +\def\circledR{{\mathhexbox@\msx@72 }} +\def\maltese{{\mathhexbox@\msx@7A }} +\mathchardef\lvertneqq="3\msy@00 +\mathchardef\gvertneqq="3\msy@01 +\mathchardef\nleq="3\msy@02 +\mathchardef\ngeq="3\msy@03 +\mathchardef\nless="3\msy@04 +\mathchardef\ngtr="3\msy@05 +\mathchardef\nprec="3\msy@06 +\mathchardef\nsucc="3\msy@07 +\mathchardef\lneqq="3\msy@08 +\mathchardef\gneqq="3\msy@09 +\mathchardef\nleqslant="3\msy@0A +\mathchardef\ngeqslant="3\msy@0B +\mathchardef\lneq="3\msy@0C +\mathchardef\gneq="3\msy@0D +\mathchardef\npreceq="3\msy@0E +\mathchardef\nsucceq="3\msy@0F +\mathchardef\precnsim="3\msy@10 +\mathchardef\succnsim="3\msy@11 +\mathchardef\lnsim="3\msy@12 +\mathchardef\gnsim="3\msy@13 +\mathchardef\nleqq="3\msy@14 +\mathchardef\ngeqq="3\msy@15 +\mathchardef\precneqq="3\msy@16 +\mathchardef\succneqq="3\msy@17 +\mathchardef\precnapprox="3\msy@18 +\mathchardef\succnapprox="3\msy@19 +\mathchardef\lnapprox="3\msy@1A +\mathchardef\gnapprox="3\msy@1B +\mathchardef\nsim="3\msy@1C +\mathchardef\napprox="3\msy@1D +\mathchardef\varsubsetneq="3\msy@20 +\mathchardef\varsupsetneq="3\msy@21 +\mathchardef\nsubseteqq="3\msy@22 +\mathchardef\nsupseteqq="3\msy@23 +\mathchardef\subsetneqq="3\msy@24 +\mathchardef\supsetneqq="3\msy@25 +\mathchardef\varsubsetneqq="3\msy@26 +\mathchardef\varsupsetneqq="3\msy@27 +\mathchardef\subsetneq="3\msy@28 +\mathchardef\supsetneq="3\msy@29 +\mathchardef\nsubseteq="3\msy@2A +\mathchardef\nsupseteq="3\msy@2B +\mathchardef\nparallel="3\msy@2C +\mathchardef\nmid="3\msy@2D +\mathchardef\nshortmid="3\msy@2E +\mathchardef\nshortparallel="3\msy@2F +\mathchardef\nvdash="3\msy@30 +\mathchardef\nVdash="3\msy@31 +\mathchardef\nvDash="3\msy@32 +\mathchardef\nVDash="3\msy@33 +\mathchardef\ntrianglerighteq="3\msy@34 +\mathchardef\ntrianglelefteq="3\msy@35 +\mathchardef\ntriangleleft="3\msy@36 +\mathchardef\ntriangleright="3\msy@37 +\mathchardef\nleftarrow="3\msy@38 +\mathchardef\nrightarrow="3\msy@39 +\mathchardef\nLeftarrow="3\msy@3A +\mathchardef\nRightarrow="3\msy@3B +\mathchardef\nLeftrightarrow="3\msy@3C +\mathchardef\nleftrightarrow="3\msy@3D +\mathchardef\divideontimes="2\msy@3E +\mathchardef\varnothing="0\msy@3F +\mathchardef\nexists="0\msy@40 +\mathchardef\mho="0\msy@66 +\mathchardef\eth="0\msy@67 +\mathchardef\beth="0\msy@69 +\mathchardef\gimel="0\msy@6A +\mathchardef\daleth="0\msy@6B +\mathchardef\lessdot="3\msy@6C +\mathchardef\gtrdot="3\msy@6D +\mathchardef\ltimes="2\msy@6E +\mathchardef\rtimes="2\msy@6F +\mathchardef\shortmid="3\msy@70 +\mathchardef\shortparallel="3\msy@71 +\mathchardef\smallsetminus="2\msy@72 +\mathchardef\thicksim="3\msy@73 +\mathchardef\thickapprox="3\msy@74 +\mathchardef\approxeq="3\msy@75 +\mathchardef\succapprox="3\msy@76 +\mathchardef\precapprox="3\msy@77 +\mathchardef\curvearrowleft="3\msy@78 +\mathchardef\curvearrowright="3\msy@79 +\mathchardef\digamma="0\msy@7A +\mathchardef\varkappa="0\msy@7B +\mathchardef\hslash="0\msy@7D +\mathchardef\hbar="0\msy@7E +\mathchardef\backepsilon="3\msy@7F +\def\Bbb{\relaxnext@\ifmmode\let\next\Bbb@\else + \def\next{\Err@{Use \string\Bbb\space only in math mode}}\fi\next} +\def\Bbb@#1{{\Bbb@@{#1}}} +\def\Bbb@@#1{\noaccents@\fam\msyfam#1} +%\def\fontlist@{\\{\tenrm}\\{\sevenrm}\\{\fiverm}\\{\teni}\\{\seveni}% +%\\{\fivei}\\{\tensy}\\{\sevensy}\\{\fivesy}\\{\tenex}\\{\tenbf}\\{\sevenbf}% +%\\{\fivebf}\\{\tensl}\\{\tenit}% +% AmS-Fonts Anfang +%\\{\tenmsx}\\{\sevenmsx}\\{\fivemsx}\\{\tenmsy}\\{\sevenmsy}\\{\fivemsy }% +% AmS-Fonts Anfang + +\def\AmSTeX{{$\cal A$}\kern-.1667em\lower.5ex\hbox + {$\cal M$}\kern-.125em{$\cal S$}-\TeX} + +\catcode`@=12 % at signs are no longer letters diff --git a/obsolete/macros/latex209/contrib/misc/amssymbols.sty b/obsolete/macros/latex209/contrib/misc/amssymbols.sty new file mode 100644 index 0000000000..fda9335849 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/amssymbols.sty @@ -0,0 +1,292 @@ +% Adapted by Charles Karney (Karney%PPC.MFENET@NMFECC.ARPA) 1986/07/28. +% This style option loads up the AMS symbol fonts and associated symbol +% definitions. See the Nov 85 issue of TUGBoat for a listing of these +% symbols. Only \textfont, \scriptfont, and \scriptscriptfont sizes are +% provided. 10pt, 11pt, 12pt styles are supported. + +%% This is the LATEX version of MSSYMB.TEX. +%% Changes: +%% (1) take out the \catcode`\@ business (LaTeX takes care of this) +%% (2) Set font sizes according to \@ptsize + +% +% ***** MSSYMB.TeX ***** 4 Nov 85 +% +% This file contains the definitions for the symbols in the two +% "extra symbols" fonts created at the American Math. Society. + +%% \catcode`\@=11 + +%% \font\tenmsx=msxm10 +%% \font\sevenmsx=msxm7 +%% \font\fivemsx=msxm5 +%% \font\tenmsy=msym10 +%% \font\sevenmsy=msym7 +%% \font\fivemsy=msym5 + +\ifcase\@ptsize + \font\tenmsx=msxm10 + \font\sevenmsx=msxm7 + \font\fivemsx=msxm5 + \font\tenmsy=msym10 + \font\sevenmsy=msym7 + \font\fivemsy=msym5 +\or + \font\tenmsx=msxm10 scaled \magstephalf + \font\sevenmsx=msxm8 + \font\fivemsx=msxm6 + \font\tenmsy=msym10 scaled \magstephalf + \font\sevenmsy=msym8 + \font\fivemsy=msym6 +\or + \font\tenmsx=msxm10 scaled \magstep1 + \font\sevenmsx=msxm8 + \font\fivemsx=msxm6 + \font\tenmsy=msym10 scaled \magstep1 + \font\sevenmsy=msym8 + \font\fivemsy=msym6 +\fi + +\newfam\msxfam +\newfam\msyfam +\textfont\msxfam=\tenmsx \scriptfont\msxfam=\sevenmsx + \scriptscriptfont\msxfam=\fivemsx +\textfont\msyfam=\tenmsy \scriptfont\msyfam=\sevenmsy + \scriptscriptfont\msyfam=\fivemsy + +\def\hexnumber@#1{\ifnum#1<10 \number#1\else + \ifnum#1=10 A\else\ifnum#1=11 B\else\ifnum#1=12 C\else + \ifnum#1=13 D\else\ifnum#1=14 E\else\ifnum#1=15 F\fi\fi\fi\fi\fi\fi\fi} + +\def\msx@{\hexnumber@\msxfam} +\def\msy@{\hexnumber@\msyfam} +\mathchardef\boxdot="2\msx@00 +\mathchardef\boxplus="2\msx@01 +\mathchardef\boxtimes="2\msx@02 +\mathchardef\square="0\msx@03 +\mathchardef\blacksquare="0\msx@04 +\mathchardef\centerdot="2\msx@05 +\mathchardef\lozenge="0\msx@06 +\mathchardef\blacklozenge="0\msx@07 +\mathchardef\circlearrowright="3\msx@08 +\mathchardef\circlearrowleft="3\msx@09 +\mathchardef\rightleftharpoons="3\msx@0A +\mathchardef\leftrightharpoons="3\msx@0B +\mathchardef\boxminus="2\msx@0C +\mathchardef\Vdash="3\msx@0D +\mathchardef\Vvdash="3\msx@0E +\mathchardef\vDash="3\msx@0F +\mathchardef\twoheadrightarrow="3\msx@10 +\mathchardef\twoheadleftarrow="3\msx@11 +\mathchardef\leftleftarrows="3\msx@12 +\mathchardef\rightrightarrows="3\msx@13 +\mathchardef\upuparrows="3\msx@14 +\mathchardef\downdownarrows="3\msx@15 +\mathchardef\upharpoonright="3\msx@16 +\let\restriction=\upharpoonright +\mathchardef\downharpoonright="3\msx@17 +\mathchardef\upharpoonleft="3\msx@18 +\mathchardef\downharpoonleft="3\msx@19 +\mathchardef\rightarrowtail="3\msx@1A +\mathchardef\leftarrowtail="3\msx@1B +\mathchardef\leftrightarrows="3\msx@1C +\mathchardef\rightleftarrows="3\msx@1D +\mathchardef\Lsh="3\msx@1E +\mathchardef\Rsh="3\msx@1F +\mathchardef\rightsquigarrow="3\msx@20 +\mathchardef\leftrightsquigarrow="3\msx@21 +\mathchardef\looparrowleft="3\msx@22 +\mathchardef\looparrowright="3\msx@23 +\mathchardef\circeq="3\msx@24 +\mathchardef\succsim="3\msx@25 +\mathchardef\gtrsim="3\msx@26 +\mathchardef\gtrapprox="3\msx@27 +\mathchardef\multimap="3\msx@28 +\mathchardef\therefore="3\msx@29 +\mathchardef\because="3\msx@2A +\mathchardef\doteqdot="3\msx@2B +\let\Doteq=\doteqdot +\mathchardef\triangleq="3\msx@2C +\mathchardef\precsim="3\msx@2D +\mathchardef\lesssim="3\msx@2E +\mathchardef\lessapprox="3\msx@2F +\mathchardef\eqslantless="3\msx@30 +\mathchardef\eqslantgtr="3\msx@31 +\mathchardef\curlyeqprec="3\msx@32 +\mathchardef\curlyeqsucc="3\msx@33 +\mathchardef\preccurlyeq="3\msx@34 +\mathchardef\leqq="3\msx@35 +\mathchardef\leqslant="3\msx@36 +\mathchardef\lessgtr="3\msx@37 +\mathchardef\backprime="0\msx@38 +\mathchardef\risingdotseq="3\msx@3A +\mathchardef\fallingdotseq="3\msx@3B +\mathchardef\succcurlyeq="3\msx@3C +\mathchardef\geqq="3\msx@3D +\mathchardef\geqslant="3\msx@3E +\mathchardef\gtrless="3\msx@3F +\mathchardef\sqsubset="3\msx@40 +\mathchardef\sqsupset="3\msx@41 +\mathchardef\vartriangleright="3\msx@42 +\mathchardef\vartriangleleft="3\msx@43 +\mathchardef\trianglerighteq="3\msx@44 +\mathchardef\trianglelefteq="3\msx@45 +\mathchardef\bigstar="0\msx@46 +\mathchardef\between="3\msx@47 +\mathchardef\blacktriangledown="0\msx@48 +\mathchardef\blacktriangleright="3\msx@49 +\mathchardef\blacktriangleleft="3\msx@4A +\mathchardef\vartriangle="3\msx@4D +\mathchardef\blacktriangle="0\msx@4E +\mathchardef\triangledown="0\msx@4F +\mathchardef\eqcirc="3\msx@50 +\mathchardef\lesseqgtr="3\msx@51 +\mathchardef\gtreqless="3\msx@52 +\mathchardef\lesseqqgtr="3\msx@53 +\mathchardef\gtreqqless="3\msx@54 +\mathchardef\Rrightarrow="3\msx@56 +\mathchardef\Lleftarrow="3\msx@57 +\mathchardef\veebar="2\msx@59 +\mathchardef\barwedge="2\msx@5A +\mathchardef\doublebarwedge="2\msx@5B +\mathchardef\angle="0\msx@5C +\mathchardef\measuredangle="0\msx@5D +\mathchardef\sphericalangle="0\msx@5E +\mathchardef\varpropto="3\msx@5F +\mathchardef\smallsmile="3\msx@60 +\mathchardef\smallfrown="3\msx@61 +\mathchardef\Subset="3\msx@62 +\mathchardef\Supset="3\msx@63 +\mathchardef\Cup="2\msx@64 +\let\doublecup=\Cup +\mathchardef\Cap="2\msx@65 +\let\doublecap=\Cap +\mathchardef\curlywedge="2\msx@66 +\mathchardef\curlyvee="2\msx@67 +\mathchardef\leftthreetimes="2\msx@68 +\mathchardef\rightthreetimes="2\msx@69 +\mathchardef\subseteqq="3\msx@6A +\mathchardef\supseteqq="3\msx@6B +\mathchardef\bumpeq="3\msx@6C +\mathchardef\Bumpeq="3\msx@6D +\mathchardef\lll="3\msx@6E +\let\llless=\lll +\mathchardef\ggg="3\msx@6F +\let\gggtr=\ggg +\mathchardef\circledS="0\msx@73 +\mathchardef\pitchfork="3\msx@74 +\mathchardef\dotplus="2\msx@75 +\mathchardef\backsim="3\msx@76 +\mathchardef\backsimeq="3\msx@77 +\mathchardef\complement="0\msx@7B +\mathchardef\intercal="2\msx@7C +\mathchardef\circledcirc="2\msx@7D +\mathchardef\circledast="2\msx@7E +\mathchardef\circleddash="2\msx@7F +\def\ulcorner{\delimiter"4\msx@70\msx@70 } +\def\urcorner{\delimiter"5\msx@71\msx@71 } +\def\llcorner{\delimiter"4\msx@78\msx@78 } +\def\lrcorner{\delimiter"5\msx@79\msx@79 } +\def\yen{\mathhexbox\msx@55 } +\def\checkmark{\mathhexbox\msx@58 } +\def\circledR{\mathhexbox\msx@72 } +\def\maltese{\mathhexbox\msx@7A } +\mathchardef\lvertneqq="3\msy@00 +\mathchardef\gvertneqq="3\msy@01 +\mathchardef\nleq="3\msy@02 +\mathchardef\ngeq="3\msy@03 +\mathchardef\nless="3\msy@04 +\mathchardef\ngtr="3\msy@05 +\mathchardef\nprec="3\msy@06 +\mathchardef\nsucc="3\msy@07 +\mathchardef\lneqq="3\msy@08 +\mathchardef\gneqq="3\msy@09 +\mathchardef\nleqslant="3\msy@0A +\mathchardef\ngeqslant="3\msy@0B +\mathchardef\lneq="3\msy@0C +\mathchardef\gneq="3\msy@0D +\mathchardef\npreceq="3\msy@0E +\mathchardef\nsucceq="3\msy@0F +\mathchardef\precnsim="3\msy@10 +\mathchardef\succnsim="3\msy@11 +\mathchardef\lnsim="3\msy@12 +\mathchardef\gnsim="3\msy@13 +\mathchardef\nleqq="3\msy@14 +\mathchardef\ngeqq="3\msy@15 +\mathchardef\precneqq="3\msy@16 +\mathchardef\succneqq="3\msy@17 +\mathchardef\precnapprox="3\msy@18 +\mathchardef\succnapprox="3\msy@19 +\mathchardef\lnapprox="3\msy@1A +\mathchardef\gnapprox="3\msy@1B +\mathchardef\nsim="3\msy@1C +\mathchardef\napprox="3\msy@1D +\mathchardef\varsubsetneq="3\msy@20 +\mathchardef\varsupsetneq="3\msy@21 +\mathchardef\nsubseteqq="3\msy@22 +\mathchardef\nsupseteqq="3\msy@23 +\mathchardef\subsetneqq="3\msy@24 +\mathchardef\supsetneqq="3\msy@25 +\mathchardef\varsubsetneqq="3\msy@26 +\mathchardef\varsupsetneqq="3\msy@27 +\mathchardef\subsetneq="3\msy@28 +\mathchardef\supsetneq="3\msy@29 +\mathchardef\nsubseteq="3\msy@2A +\mathchardef\nsupseteq="3\msy@2B +\mathchardef\nparallel="3\msy@2C +\mathchardef\nmid="3\msy@2D +\mathchardef\nshortmid="3\msy@2E +\mathchardef\nshortparallel="3\msy@2F +\mathchardef\nvdash="3\msy@30 +\mathchardef\nVdash="3\msy@31 +\mathchardef\nvDash="3\msy@32 +\mathchardef\nVDash="3\msy@33 +\mathchardef\ntrianglerighteq="3\msy@34 +\mathchardef\ntrianglelefteq="3\msy@35 +\mathchardef\ntriangleleft="3\msy@36 +\mathchardef\ntriangleright="3\msy@37 +\mathchardef\nleftarrow="3\msy@38 +\mathchardef\nrightarrow="3\msy@39 +\mathchardef\nLeftarrow="3\msy@3A +\mathchardef\nRightarrow="3\msy@3B +\mathchardef\nLeftrightarrow="3\msy@3C +\mathchardef\nleftrightarrow="3\msy@3D +\mathchardef\divideontimes="2\msy@3E +\mathchardef\varnothing="0\msy@3F +\mathchardef\nexists="0\msy@40 +\mathchardef\mho="0\msy@66 +\mathchardef\thorn="0\msy@67 +\mathchardef\beth="0\msy@69 +\mathchardef\gimel="0\msy@6A +\mathchardef\daleth="0\msy@6B +\mathchardef\lessdot="3\msy@6C +\mathchardef\gtrdot="3\msy@6D +\mathchardef\ltimes="2\msy@6E +\mathchardef\rtimes="2\msy@6F +\mathchardef\shortmid="3\msy@70 +\mathchardef\shortparallel="3\msy@71 +\mathchardef\smallsetminus="2\msy@72 +\mathchardef\thicksim="3\msy@73 +\mathchardef\thickapprox="3\msy@74 +\mathchardef\approxeq="3\msy@75 +\mathchardef\succapprox="3\msy@76 +\mathchardef\precapprox="3\msy@77 +\mathchardef\curvearrowleft="3\msy@78 +\mathchardef\curvearrowright="3\msy@79 +\mathchardef\digamma="0\msy@7A +\mathchardef\varkappa="0\msy@7B +\mathchardef\hslash="0\msy@7D +\mathchardef\hbar="0\msy@7E +\mathchardef\backepsilon="3\msy@7F +% Use the next 4 lines with AMS-TeX: +%\def\Bbb{\relaxnext@\ifmmode\let\next\Bbb@\else +% \def\next{\Err@{Use \string\Bbb\space only in math mode}}\fi\next} +%\def\Bbb@#1{{\Bbb@@{#1}}} +%\def\Bbb@@#1{\noaccents@\fam\msyfam#1} +% Use the next 4 lines if NOT using AMS-TeX: +\def\Bbb{\ifmmode\let\next\Bbb@\else + \def\next{\errmessage{Use \string\Bbb\space only in math mode}}\fi\next} +\def\Bbb@#1{{\Bbb@@{#1}}} +\def\Bbb@@#1{\fam\msyfam#1} + +%% \catcode`\@=12 diff --git a/obsolete/macros/latex209/contrib/misc/askinclude.sty b/obsolete/macros/latex209/contrib/misc/askinclude.sty new file mode 100644 index 0000000000..ed0b74d1e8 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/askinclude.sty @@ -0,0 +1,96 @@ +% askinclude.sty - interactive asking of included files +% +% VERSION 1.0 November 7, 1991 +% +% (c) 1991 by Pablo A. Straub. Permission is granted to copy and use this +% in any way and for any purpose, except direct commercial advantage, +% provided that you retain this copyright notice. +% +% HISTORY +% +% 0.95 11/05/91 First beta-test version (asked two questions) +% 0.99 11/05/91 Second beta-test version (asks one question; uses * and -.) +% 1.0 11/07/91 Changed prompts (sent to comp.text.tex) +% +% Please send enhancements and corrections to straub@cs.umd.edu. +% +% USAGE +% +% \documentstyle[...,askinclude,...]{...} +% +% HOW IT WORKS +% +% The askinclude style option asks the user which files to include. If +% the user presses return, the files from the previous run are included +% automatically (except on the first run, in which case all files are +% included); if the answer is * all files are included; if the answer +% is - no files are included; otherwise the specified files (separated +% by commas, with no embedded spaces) are included. +% +% RESTRICTIONS +% +% This file redefines \document, the command executed with \begin{document}. +% It may be incompatible with other styles that also redefine \document. +% +% The user's input is not validated. Anything that is not a * or a - or an +% empty line is passed to \includeonly. +% +% ACKNOWLEDGEMENT +% +% Tom Scavo (scavo@cie.uoregon.edu) suggested saving the include file list +% from the previous run and a simplified user interface. + + +\def\@includeonly{\@gobble} % assume we do not include from last run + +\def\@inputs{*} % assume all files included + + +% determine which files to include + +\def\@star{*} % used for comparing user's answer +\def\@minus{-} % ditto + +\typeout { } +\typeout {Enter file(s) to include (separated by commas and no spaces),} +\typeout {or enter * for all files, or enter - for none, or} +\typein [\inputfiles]{press Return if this run is the same as the last.} + +\ifx\inputfiles\@star % all files included + % do nothing +\else \ifx\inputfiles\@minus % no files included + \includeonly{} + \def\@inputs{} +\else \ifx\inputfiles\empty % include according to previous run + \def\@includeonly#1{% + \gdef\@inputs{#1} + \ifx\@inputs\@star \else \global\@partswtrue\global\edef\@partlist{#1}\fi} +\else + \def\@inputs{\inputfiles} % include these files + \includeonly{\inputfiles} +\fi\fi\fi + + +% \document - redefinition of \begin{document} to handle last included files + +\def\document{\endgroup + \@colht\textheight \@colroom\textheight \vsize\textheight + \columnwidth\textwidth \@clubpenalty\clubpenalty + \if@twocolumn \advance\columnwidth -\columnsep + \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue + \fi + \hsize\columnwidth \linewidth\hsize + \begingroup\@floatplacement\@dblfloatplacement + \makeatletter\let\@writefile\@gobbletwo + \@input{\jobname.aux}\endgroup + \if@filesw \immediate\openout\@mainaux=\jobname.aux + \immediate\write\@mainaux{\relax}% + \immediate\write\@mainaux{\string\@includeonly\string{\@inputs\string}}%NEW + \fi + \def\@includeonly{} %NEW + \def\do##1{\let ##1\@notprerr} + \@preamblecmds + \let\do\noexpand + \@normalsize\everypar{}} + +% END OF FILE askinclude.sty diff --git a/obsolete/macros/latex209/contrib/misc/braille.sty b/obsolete/macros/latex209/contrib/misc/braille.sty new file mode 100644 index 0000000000..f8f974dc48 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/braille.sty @@ -0,0 +1,49 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% LaTeX-Style zur Definition der 6-Punkt Braille-Schrift-Umgebung +% V. 1.0 11.11.88 +% +% copyright FernUniversit\"at Hagen Nicht-kommerzielle +% Rechenzentrum Weitergabe an wissenschaft- +% J. Breuer / G. Barg liche Institutionen erlaubt +% EARN: RZB02 at DHAFEU11 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Zugeh\"orige Dateien: +% braille.sty diese Datei +% braille.tfm +% braille.pk (bzw. braille.1500pk) oder: +% braille.pxl (bzw. braille.1500pxl) +% Ausgabe-Zeichenvorrat: +% alle druckbaren Zeichen nach deutscher 7 Bit ASCII / +% 6-Punkt Braille-Zuordnung (also ohne Gro\ss{}buchstaben) +% Aufruf: +% \begin{braille} ... \end{braille} +% Eingabe: +% Gro\ss{}- und Kleinbuchstaben benutzbar, +% Umlaute und und Esszet nach der \"ublichen TeX-Konvention +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newenvironment{braille}% +{\font\braille=braille +\braille +\def\"##1{\if##1a\char91% +\else\if##1o\char92% +\else\if##1u\char93% +\else\if##1A\char91% +\else\if##1O\char92% +\else\if##1U\char93% +\else\if##1s\char126% +\fi\fi\fi\fi\fi\fi\fi}% +\def\ss##1{\char126}% +\begin{raggedright} +\spaceskip=18pt +\xspaceskip=18pt +\newcount\oldtolerance \oldtolerance=\tolerance +\newcount\oldpretolerance \oldpretolerance=\pretolerance +\newcount\oldhyphenpenalty \oldhyphenpenalty=\hyphenpenalty +\tolerance=10000\pretolerance=-10000\hyphenpenalty=0%trennt trotz flatterrand +}% +{ +\tolerance=\oldtolerance +\pretolerance=\oldpretolerance +\hyphenpenalty=\oldhyphenpenalty +\end{raggedright} +}% diff --git a/obsolete/macros/latex209/contrib/misc/briefdoc.tex b/obsolete/macros/latex209/contrib/misc/briefdoc.tex new file mode 100644 index 0000000000..315ae6b1e7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/briefdoc.tex @@ -0,0 +1,283 @@ +\documentstyle[a4]{artikel1} + +\begin{document} +\title{De Nederlandse Briefstijl} +\author{Victor Eijkhout} +\maketitle + +\begin{abstract} +Een bescheiden handleiding voor de Nederlandse briefstijl, +met opmerkingen over het wat, hoe en waarom. +\end{abstract} + +\section{Verantwoording} + +De Nederlandse \LaTeX-stijl `brief' conformeert zich aan +NEN-normen\footnote{Mijn zeer grote dank aan Jan Grootenhuis +die mijn aandacht vestigde op het bestaan van de normbladen.} +1026 voor briefpapier, 3162 voor het indelen van documenten, +1025 voor enveloppen, en 3516 voor het ontwerp van formulieren. + +Briefontwerp is controversieel. Iedereen heeft een smaak, en +met name bij briefpapier is die vaak zeer uitgesproken. +Ik wil beklemtonen dat ik bij de implementatie van de briefstijl +bijna nergens mijn smaak nodig heb gehad. Dankzij de NEN-normen +is het ontwerp van briefpapier een zaak van exacte wetenschap, +niet van schone kunsten. + +Deze stijl is redelijk incompatibel met de \LaTeX\ `letter' stijl. +Hij is in bescheiden mate met opties in te stellen, +en de sleutelwoorden kunnen uit een aantal talen +gekozen worden. Alle teksten zijn verder geparametriseerd. +Het is dus goed mogelijk stijlopties te maken om deze stijl +aan een specifieke omgeving aan te passen. + +Als de gebruiker geen gebruik maakt van een voorgedrukt briefhoofd, +kan hij zijn eigen briefhoofd in \LaTeX\ implementeren, of +door de stijl een briefhoofd geleverd krijgen. Het ontwerp van +dit briefhoofd is de enige plaats waar mijn smaak zich heeft +doen gelden, maar zelfs dit ontwerp heb ik gejat uit een NEN-norm. + +Opmerking: zeker bij het gebruik van vensterenveloppen is het +voor de briefstijl +van cruciaal belang dat de gebruikte printer goed afgesteld +staat. Dit valt te controleren aan de hand van het adres: +dit dient op 33mm van de linker kantlijn te staan, terwijl +de `baseline' van de eerste regel zich 59mm onder de bovenrand +van het papier dient te bevinden. + +\section{Velden van het briefpapier} + +Deze sectie behandelt de indeling van brieven aan de hand +van NEN-norm~1026. + +\subsection{Marges} + +Alle marges conformeren zich aan NEN-1026, behalve de +rechtermarge die ik voor een evenwichtiger bladverdeling +gelijk gemaakt heb aan de linkermarge. +Met een gezette brief ziet dit er beduidend beter uit. + +De linkermarge is 33 millimeter; er zijn nog geen voorzieningen +voor de versmalde marge van 20 millimeter, die voor facturen +beter is. +Dit zal misschien ooit een optie worden. + +Om aan te sluiten by traditionele getypte briefopmaak +is `raggedright' bij verstek ingeschakeld. +Aangezien briefhoofd, referentieregels, en voetregel de brief +vrij breed kunnen maken, is de corpsgrootte bij verstek 11-punt. +10~en~12 zijn opties. + +\subsection{Briefhoofd} + +Het moeilijkste deel van een brief, en de voornaamste plek waar +de ontwerper van briefpapier zijn creativiteit kwijt kan +is het briefhoofd. +In de huidige stijl heeft de gebruiker drie mogelijkheden. + +Een. Hij gebruikt voorgedrukt briefpapier. Als dit zich een +beetje aan NEN-normen houdt is er verder niets aan de hand. + +Twee. De gebruiker kan zelf een macro \verb.\briefhoofd. schrijven. +Als dit binnen de hoogte van +\verb.\@headheight. blijft, is er niets aan de hand; +voorkeursbreedte is \verb.4\refveldbreedte., dat wil zeggen, de +breedte van de referentieregel. + +Drie. Er is een macro van twee argumenten, `maakbriefhoofd', +die een briefhoofd levert dat ge\"\i nspireerd is op de +voorbeeldbrief in NEN-1026. Voorbeeld: +\begin{verbatim} +\maakbriefhoofd{WG13}{Werkgroep 13\\ Mathematisch Instituut + \\ Toernooiveld 5\\ 6525 ED Nijmegen}\end{verbatim} +Het eerste argument levert +een tekst op die links boven een verticale lijn gezet wordt. +Het links aanlijnen gebeurt met \verb.\hfil., dus met een +\verb.\hfill. in het argument kan een deel van het hoofd naar +rechts worden geschoven. + +Het tweede argument van `maakbriefhoofd' wordt als een blokje tekst +rechts onder de lijn in het briefhoofd gehangen. +In principe is dit argument er voor het adres van de afzender. +Er is echter een mogelijkheid het antwoordadres +in het adresveld op te nemen, zie hier onder. +In het briefhoofd kan dan een omschrijving als +`adviesburo voor gespecialiseerde algemeenheden' staan. + +Het tekstblok in het tweede argument lijnt links met de datum en +het vierde voetitem (zie onder), en blijft idealiter binnen +de marge van de pagina. Er worden echter geen +`overfull box' meldingen gegeven als de tekst te breed is. + +Er is een `sterretje'-versie van `maakbriefhoofd'; +deze geeft op de vervolgbladen alleen het eerste argument +plus de streep. Dat maakt de kop van de pagina wat minder +zwaar. + +\subsection{Adresveld} + +Het adresveld wordt zodanig geplaatst dat het in het +venster van een vensterenvelop zichtbaar is als het +venster 5cm onder de bovenrand van de envelop begint. +Omdat er zowel vensterenveloppen zijn met het venster +links als rechts, is er een optie {\tt adresrechts} +die het adresveld rechts plaatst. De voorkeurspositie +is echter links; er blijft dan namelijk rechts een +`ontvangerruimte' waar de geadresseerde stempels (`binnen +gekomen dd.') en dergelijke kan zetten. + +Het adresveld komt op dezelfde manier tot stand als in de +oude `letter' stijl: de gebruiker geeft +\begin{verbatim} +\begin{brief}{Jan \TeX er\\ Overfullplein 10000 \\ Baselinestad} +\end{verbatim} +in, en hieruit destilleert \LaTeX\ de naam en het verdere +adres van de geadresseerde. +De naam komt nog voor op de vervolgbladen. + +Het schijnt van de PTT te mogen dat er (helemaal boven) in het ruitje +van de vensterenvelop een antwoordadres wordt opgenomen, +als dat maar gebeurt zodanig dat het geen verwarring +schept met het adres. Er is een commando \verb.\antwoordadres. +dat een adres als argument accepteert, +met de regels gescheiden door~\verb.\\.. +Voorbeeld: +\begin{verbatim} +\maakbriefhoofd{WG13}{De de facto standaard \\ in Vaderlandse + \\ \TeX verwerking} +\antwoordadres{Mathematisch Instituut \\ Toernooiveld 5 + \\ 6525 ED Nijmegen}\end{verbatim} + + +\subsection{De Referentieregels} + +Direct onder het adresveld volgt ruimte voor gegevens +van de geadresseerde, `Uw brief van' en `Uw kenmerk', +en van afzender, `Ons kenmerk' en `Datum'. + +Voor deze referentiegegevens staan de gebruiker +de commando's \verb.\uwbriefvan., \verb.\uwkenmerk., +\verb.\onskenmerk., en \verb.\datum. ter beschikking. +Deze macro's hebben elk \'e\'en argument tussen accolades. +De datum wordt automatisch ingevuld; niet ingevulde +gegevens worden niet opgenomen. + +De teksten die hier in de kopjes staan worden +in eerste instantie door de taalopties bepaald. +Verstekwaarde is natuurlijk `nederlands', maar er +zijn `engels', `amerikaans', en `duits' beschikbaar. +Ik houd me aanbevolen voor correcte terminologie +in andere talen; enkele fouten in de Duitse termen +zijn op aanwijzing van Marc van Woerkom verbeterd. +Wie geeft me de Franse termen? + +De teksten in de referentieregel +zijn waardes van de macros +\verb.\uwbriefvantekst., \verb.\uwkenmerktekst., +\verb.\onskenmerktekst., en \verb.\datumtekst.. +Het is dus mogelijk `doorkiesnummer' in plaats van `ons kenmerk' +te krijgen door deze tekst +als `onskernmerktekst' te declareren, bij voorbeeld +met \verb.\renewcommand. in het preamble. + + +\subsection{De tekst van de brief} + +Hier hoeft op deze plaats niets over gezegd te worden, +anders dan dat de aanhef, net als in de `letter' stijl +met \verb.\opening. gebeurt. Er is een `betreft' commando. + +Ook de afsluiting staat in het \LaTeX-boek beschreven, +maar de commandonamen zijn Nederlands geworden: +`ondertekening' (was `signature'), +`afsluiting' (was `closing'), `ps', en `cc' Dit is Engels, +maar bijna niemand weet wat het betekent. +Verder is er zowel een `bijlage' als +`bijlagen' (was~`encl'). + + +\subsection{Voetruimte} + +`In de voetruimte' (ik citeer NEN-1026) `komen die gegevens +van de afzender die niet reeds in het briefhoofd zijn +vermeld'. De keuze hiervan wordt aan de gebruiker overgelaten. +Enkele suggesties zijn: kantooradres, telefoonnummer van de +centrale, faxnummer, inschrijvingsnummer en -plaats in het +handelsregister. + +Er kunnen maximaal vier voetitems zijn. +Items verschijnen op de pagina in de volgorder waarin de +gebruiker ze gedeclareerd heeft. +Bij twee items of meer is het laatste rechtsgeplaatst. Goeie truc. + +Omdat hier beduidend meer keuze is dan bij de referentieregel, +moet de gebruiker zelf het hoofdje en de daaronder +geplaatste tekst van items in de voetregel voorschrijven. +De macro van twee argumenten \verb.\voetitem. staat +hem/haar daartoe ter beschikking. Elke van de argumenten +kan meer dan \'e\'en regel lang zijn, gebruik~\verb.\\.. +Voorbeeld: +\begin{verbatim} +\voetitem{fax:}{12345 Winat nl} +\voetitem{telefoon:}{080-613169\\ bgg: 612986} +\voetitem{telefoon\\ priv\'e:}{080-448664}\end{verbatim} + +\subsection{Hulplijntjes; vouwstreepjes} + +Door een optie `streepjes' in te schakelen, is het briefpapier +van hulpstreepjes te voorzien. + +Volgens NEN-1026 heeft briefpapier een instelstreepje halverwege, +niet voor vouwen in twee\"en zoals hele volksstammen denken, maar +voor het aanlijnen van de perforator. +Aan de rechterzijde van het blad zijn twee vouwstreepjes, een +voor vouwen in drie\"en, en een voor vouwen in twee\"en. +Geen van beide bevindt zich op de helft of een-derde van de +papierhoogte. Omdat enveloppen hoger zijn dan een A4-tje gedeeld +door 2 of~3 zou dat ook niet kunnen. Vensters, weet U wel? + +Ik ben uitgegaan van envelopformaten EN-C5 ($162\times229$mm +voor een A4 in twee\"en) en EN-DL ($110\times220$ voor +een A4 in drie\"en) volgens NEN-1025 en ISO 269-1979. +Vouwstreepjes bevinden zich op 105mm en 155mm onder de +bovenrand van het papier. + + +\section{Vervolgbladen} + +Boven elk vervolgblad komt het briefhoofd (mogelijk verkort, +zie boven) en een verkorte +vorm van de referentieregel; deze regel bevat het +bladnummer. + +Als het briefhoofd met daaronder de `vervolgreferentieregel' +(galgje! galgje!) te veel ruimte innemen, gaat de extra ruimte +af van de teksthoogte. Voor dit mechanisme durf ik niet +voor de volle achtien-en-een-half procent in te staan. +Het lijkt in ieder geval te werken. + + +\section{Opties} + +De optie `adresrechts' is boven al genoemd, evenals `streepjes'; +verder is er nog een optie `typhulp' die een +hulplijntje voor het aanlijnen van het adres zet. Misschien leuk +als je deze stijl gebruikt voor briefpapier dat daarna voor de +typmachine gebruikt wordt. + +Belangrijker zijn natuurlijk de taalopties. + +Voor mensen met te goede of slechte ogen zijn er de 10- en +12-punts opties. Let op: de kopjes in de referentie- en +voetregel blijven in {\tt cmssq8} staan. + +Puur voor het genoegen van de implementator van de briefstijl +is er de optie `USletter' die het papier 19.7 millimeter +korter maakt. + +\section{Labels} + +Pijnlijk punt. Dit moet nog gedaan worden. +\end{document} + diff --git a/obsolete/macros/latex209/contrib/misc/captcont.sty b/obsolete/macros/latex209/contrib/misc/captcont.sty new file mode 100644 index 0000000000..70f662ee25 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/captcont.sty @@ -0,0 +1,16 @@ +% SubStyle file to permit the use of captions in continuations of floats. +% +% \captcont is like \caption, except that it doesn't update the counter, and +% it doesn't make an entry in the list of figures or list of tables. + +\def\captcont{\@dblarg{\@captcont\@captype}} + +\long\def\@captcont#1[#2]#3{ +% \addcontentsline{\csname ext@#1\endcsname}{#1}{\protect\numberline{\csname +% the#1\endcsname}{\ignorespaces #2}} + \par + \begingroup + \@parboxrestore + \normalsize + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} diff --git a/obsolete/macros/latex209/contrib/misc/changebar.sty b/obsolete/macros/latex209/contrib/misc/changebar.sty new file mode 100644 index 0000000000..c0532ade63 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/changebar.sty @@ -0,0 +1,155 @@ +% Change bar document-style option for LaTeX. +% +% Copyright (C) 1990 by David B. Johnson (dbj@titan.rice.edu). + +% These macros draw a solid bar down the right margin of the output, +% covering a range of the input file that has been declared to be changed. +% +% The beginning and end of a change bar in the text are marked with +% \chgbarbegin and \chgbarend, respectively. For example, +% +% Here is some sample text \chgbarbegin that was +% changed\chgbarend{} and some that wasn't changed. +% +% The change bar is drawn continuously between the line of output +% containing the \chgbarbegin and the line of output containing the +% \chgbarend. These lines can end up on separate pages, and the +% division at page boundaries is handled automatically. + +% Two dimensions control the size and placement of the change bars: +% \chgbarwidth The width of a change bar +% \chgbarsep The distance between the text and the change bar + +% Warning: it does not appear to be possible to do this completely +% correctly, due to the time at which the verticle glue on a page is +% finally set, and the way that page breaks are decided. With +% \raggedbottom, this normally works fine. It hasn't been tested with +% \flushbottom, but will probably behave worse. In strange rare +% situations, a change bar might be drawn from the first line of a page +% up off the top of a page; this can usually be fixed by slightly moving +% the \chngbarend around, or by breaking a single change bar range +% into two ranges. + +\newdimen\chgbarwidth \newdimen\chgbarsep +\chgbarwidth 4pt +\chgbarsep .25in + +\def\chgbarbegin{\ifhmode\@chgbar{-2}\else\@chgbar{-3}\fi} +\def\chgbarend{\@chgbar{-4}} + +\marginparpush 0pt + +% The remainder of this is hacked up based on the LaTeX 2.09 latex.tex. + +% copied from \marginpar +\def\@chgbar#1{\ifhmode \@bsphack\@floatpenalty -\@Mii\else + \@floatpenalty-\@Miii\fi\ifinner + \@parmoderr\@floatpenalty\z@ + \else\@next\@currbox\@freelist{\global + \count\@currbox#1}{\@floatpenalty\z@ \@fltovf + \def\@currbox{\@tempboxa}}\fi + \setbox\@tempboxa\vbox + \bgroup\end@float\@esphack} + +\newdimen\@chgbarbegin +\newif\if@inchgbar \@inchgbarfalse + +\def\@addmarginpar{% +\ifnum\count\@currbox = -2 % change bar begin from hmode + \global\@chgbarbegin\@pageht \global\advance\@chgbarbegin -\baselineskip + \global\@inchgbartrue + \@cons\@freelist\@currbox +\else +\ifnum\count\@currbox = -3 % change bar begin not from hmode + \global\@chgbarbegin\@pageht + \global\@inchgbartrue + \@cons\@freelist\@currbox +\else +\ifnum\count\@currbox = -4 % change bar end + \if@inchgbar\else\@latexbug\fi + \@tempdima\@pageht \advance\@tempdima -\@chgbarbegin + \nointerlineskip + \@tempcnta\@ne + \if@twocolumn + \if@firstcolumn \@tempcnta\m@ne \fi + \else + \if@mparswitch + \ifodd\c@page \else\@tempcnta\m@ne \fi + \fi + \if@reversemargin \@tempcnta -\@tempcnta \fi + \fi + \hbox to\columnwidth + {\ifnum \@tempcnta >\z@ + \hskip\columnwidth \hskip\chgbarsep + \else \hskip -\chgbarsep \fi +\hbox{\vbox to 0pt{\vss + \hrule \@height\@tempdima \@width\chgbarwidth \@depth\z@ +}} +\hss} + \nointerlineskip + \global\@inchgbarfalse + \@cons\@freelist\@currbox +\else + \@next\@marbox\@currlist{\@cons\@freelist\@marbox + \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne + \if@twocolumn + \if@firstcolumn \@tempcnta\m@ne \fi + \else + \if@mparswitch + \ifodd\c@page \else\@tempcnta\m@ne \fi + \fi + \if@reversemargin \@tempcnta -\@tempcnta \fi + \fi + \ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi + \@tempdima\@mparbottom \advance\@tempdima -\@pageht + \advance\@tempdima\ht\@marbox \ifdim\@tempdima >\z@ + \@warning{Marginpar on page \thepage\space moved}\else\@tempdima\z@ \fi + \global\@mparbottom\@pageht \global\advance\@mparbottom\@tempdima + \global\advance\@mparbottom\dp\@marbox + \global\advance\@mparbottom\marginparpush + \advance\@tempdima -\ht\@marbox + \global\ht\@marbox\z@ \global\dp\@marbox\z@ + \vskip -\@pagedp \vskip\@tempdima\nointerlineskip + \hbox to\columnwidth + {\ifnum \@tempcnta >\z@ + \hskip\columnwidth \hskip\marginparsep + \else \hskip -\marginparsep \hskip -\marginparwidth \fi + \box\@marbox \hss} + \vskip -\@tempdima + \nointerlineskip + \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp} +\fi\fi\fi} + +\def\@makecol{\setbox\@outputbox\box\@cclv + \if@inchgbar + \@tempcnta\@ne + \if@twocolumn + \if@firstcolumn \@tempcnta\m@ne \fi + \else + \if@mparswitch + \ifodd\c@page \else\@tempcnta\m@ne \fi + \fi + \if@reversemargin \@tempcnta -\@tempcnta \fi + \fi + \@tempdima\ht\@outputbox \advance\@tempdima -\@chgbarbegin + \advance\@tempdima -\baselineskip + \setbox\@outputbox + \vbox{\boxmaxdepth \maxdepth + \unvbox\@outputbox \nointerlineskip \hbox to\columnwidth + {\ifnum \@tempcnta >\z@ + \hskip\columnwidth \hskip\chgbarsep + \else \hskip -\chgbarsep \fi + \hbox{\vbox to 0pt{\vss + \hrule \@height\@tempdima \@width\chgbarwidth \@depth\z@}}\hss}} + \global\@chgbarbegin 0pt +\fi + \ifvoid\footins\else\setbox\@outputbox + \vbox{\boxmaxdepth \maxdepth + \unvbox\@outputbox\vskip\skip\footins\footnoterule\unvbox\footins}\fi + \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats + \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth + \@texttop\dimen128=\dp\@outputbox\unvbox\@outputbox + \vskip-\dimen128\@textbottom} + \global\maxdepth\@maxdepth} + + diff --git a/obsolete/macros/latex209/contrib/misc/chappg.sty b/obsolete/macros/latex209/contrib/misc/chappg.sty new file mode 100644 index 0000000000..8ed6c14249 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/chappg.sty @@ -0,0 +1,15 @@ +% Author: Max Hailperin +% Define \thepage to output chapter-page (such as 1-3, 5-2, etc.) +% and have each chapter's page number begin on 1. +% Original source: TeXMaG Vol. 5, No. 3 (part 1) +% +% \documentstyle[chappg]{report} or whatnot: + +\renewcommand{\thepage}{\arabic{chapter}-\arabic{page}}% chapter-page numbering +\@addtoreset{page}{chapter}% reset page number when chapter is stepped +% The next magic makes the page counter be reset to one rather than zero +\def\@stpelt#1{\global\csname c@#1\endcsname + \expandafter\ifx \csname#1\endcsname \page + \@ne + \else + \z@ \fi} diff --git a/obsolete/macros/latex209/contrib/misc/citesort.sty b/obsolete/macros/latex209/contrib/misc/citesort.sty new file mode 100644 index 0000000000..de21ebb252 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/citesort.sty @@ -0,0 +1,56 @@ +%NAME: citesort.sty +% A replacement for \@citex which sorts citation numbers as well as +% compressing and allowing breaks. Based on cite.sty by Donald +% Arseneau. +% +% for use in LaTeX say, \documentstyle[...,citesort,...]{...} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Allow, but strongly discourage, line breaks within a long +% series of citations. Compress lists of successive numbers +% to one number range, e.g., 5,6,7,8,9 --> 5--9. Compatible +% with versions of \@cite that use exponents. +% -- Donald Arseneau 1989 +% +% Modified to sort the numbers so they come out in increasing order, +% regardless of the way they appear in the source. O(N^2) sort! +% Ian Green, CUED, 10-Dec-1991. Improvements to img@eng.cam.ac.uk +% please. Version 1 + +\newcount\@minsofar +\newcount\@min +\newcount\@cite@temp +\def\@citex[#1]#2{% +\if@filesw \immediate \write \@auxout {\string \citation {#2}}\fi +\@tempcntb\m@ne \let\@h@ld\relax \def\@citea{}% +\@min\m@ne% +\@cite{% + \@for \@citeb:=#2\do {\@ifundefined {b@\@citeb}% + {\@h@ld\@citea\@tempcntb\m@ne{\bf ?}% + \@warning {Citation `\@citeb ' on page \thepage \space undefined}}% +{\@minsofar\z@ \@for \@scan@cites:=#2\do {% + \@ifundefined{b@\@scan@cites}% + {\@cite@temp\m@ne} + {\@cite@temp\number\csname b@\@scan@cites \endcsname \relax}% +\ifnum\@cite@temp > \@min% select the next one to list + \ifnum\@minsofar = \z@ + \@minsofar\number\@cite@temp + \edef\@scan@copy{\@scan@cites}\else + \ifnum\@cite@temp < \@minsofar + \@minsofar\number\@cite@temp + \edef\@scan@copy{\@scan@cites}\fi\fi\fi}\@tempcnta\@min + \ifnum\@minsofar > \z@ % some more + \advance\@tempcnta\@ne + \@min\@minsofar + \ifnum\@tempcnta=\@minsofar % Number follows previous--hold on to it + \ifx\@h@ld\relax + \edef \@h@ld{\@citea\csname b@\@scan@copy\endcsname}% + \else \edef\@h@ld{\ifmmode{-}\else--\fi\csname b@\@scan@copy\endcsname}% + \fi + \else \@h@ld\@citea\csname b@\@scan@copy\endcsname + \let\@h@ld\relax + \fi % no more +\fi}% +\def\@citea{,\penalty\@highpenalty\,}}\@h@ld}{#1}} + +% end of citesort.sty diff --git a/obsolete/macros/latex209/contrib/misc/doublespace.sty b/obsolete/macros/latex209/contrib/misc/doublespace.sty new file mode 100644 index 0000000000..34b33e1f0c --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/doublespace.sty @@ -0,0 +1,208 @@ +%% Copyright 1986 Stephen Page +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `unmaintained'. +% +% This work consists of the file doublespace.sty. +% +% The licence statement above was added by Clea F. Rees on behalf of +% Stephen Page on 2008/10/31. +%------------------------------------------------------------------------------ +% +% LaTeX Document style option "doublespace" +% -- usage: \documentstyle[...,doublespace,...]{...} +% +% This style option produces a double-spaced document by redefining +% the LaTeX parameter \baselinestretch to 2. +% +% It also fixes a number of problems with standard LaTeX, as follows: +% +% 1. A new environment "singlespace" is provided, within which single +% spacing will apply. +% JFL - changed so that it works in regular text and so that vertical +% space is before and after is correctly computed +% 2. Double spacing is turned off within footnotes and floats (figures +% and tables). +% 3. Proper double spacing happens below tabular environments and in other +% places where LaTeX uses a strut. +% 4. Slightly more space is inserted before footnotes. +% 5. JFL - fixes spacing before and after displayed math +% 6. MAR - fix to work with new font selection scheme if used +% 7. KPC - fix superfluous space bug. +% 8. HGS - fixed for use with NFSS2 +% +% Note: This version sets a baselinestretch of 2. If this is too much, +% put \setstretch{1.7} (or some appropriate value) before the +% \begin{document} command. To print the document with single spacing +% again, without removing "singlespace" environments, just put a +% \setstretch{1} at the top of the document. +% +% PLEASE REPORT ANY BUGS +% +% Modified by: Kaja P. Christiansen, kaja@daimi.aau.dk +% +% Modified by: Mark A. Roth, mroth@afit.af.mil +% +% Modified by: Jean-Francois Lamy +% lamy@ai.toronto.edu +% lamy@utai.uucp +% +% Modified by: Hendrik G. Seliger (HGS) +% hank@Blimp.automat.uni-essen.de +% +% Author: Stephen Page -- sdpage@prg.oxford.ac.uk +% sdpage%prg.oxford.ac.uk@cs.ucl.ac.uk +% +% Release date: 6 July 1986 - September 3, 1986 +% +% Known bugs: +% . It might be nice if spacing before the footnote rule (\footins) +% were provided in a tidier way. +% . Increasing struts may possibly cause some other obscure part of +% formatting to fall over. +% . \begin{singlespace}\begin{quote} produces the wrong spacing before +% the quote (extra glue is inserted), use \begin{quote}\begin{singlespace} +% . shouldn't @setsize stretch parskip as well? +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%---Set up double spacing + +\def\baselinestretch{2} + + +%---New command "\setstretch" (slightly more mnemonic... and easier to type) + +\def\setstretch#1{\renewcommand{\baselinestretch}{#1}} + +%---Stretch the baseline BEFORE calculating the strut size. This improves +% spacing below tabular environments etc., probably... +% Comments are welcomed. +% This change not needed with new font selection scheme-MAR + +\ifx\undefined\selectfont %then new font selection scheme not invoked-MAR +\def\@setsize#1#2#3#4{\@nomath#1%-KPC + \let\@currsize#1\baselineskip + #2\baselineskip\baselinestretch\baselineskip + \parskip\baselinestretch\parskip + \setbox\strutbox\hbox{\vrule height.7\baselineskip + depth.3\baselineskip width\z@}%-KPC + \normalbaselineskip\baselineskip#3#4} +\else %new font selection scheme is defined, set up way to change baselines-MAR + % NFSS2 does not have \setnew@baselineskip anymore - HGS +\def\@newbaseline{% + \ifx\undefined\setnew@baselineskip% HGS + \baselineskip\f@baselineskip\relax% + \else% HGS + \setnew@baselineskip% + \fi% HGS + \baselineskip\baselinestretch\baselineskip + \setbox\strutbox\hbox{\vrule\@height.7\baselineskip + \@depth.3\baselineskip \@width\z@}% + \normalbaselineskip\baselineskip}% -MAR +\fi %-MAR + + +%---Increase the space between last line of text and footnote rule. +% This is a very untidy way to do it! + +\skip\footins 20pt plus4pt minus4pt + + +%---Reset baselinestretch within footnotes and floats. Originally stolen +% from Stanford thesis style. + +\def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty -\@Mii\else + \@floatpenalty-\@Miii\fi\def\@captype{#1}\ifinner + \@parmoderr\@floatpenalty\z@ + \else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname + \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n + \@tfor \@tempa :=#2\do + {\if\@tempa h\advance\@tempcnta \@ne\fi + \if\@tempa t\advance\@tempcnta \tw@\fi + \if\@tempa b\advance\@tempcnta 4\relax\fi + \if\@tempa p\advance\@tempcnta 8\relax\fi + }\global\count\@currbox\@tempcnta}\@fltovf\fi + \global\setbox\@currbox\vbox\bgroup + \def\baselinestretch{1} + \ifx\undefined\selectfont %then new font selection scheme not invoked-MAR + \small\normalsize + \else %else new font selection scheme is invoked-MAR + \@newbaseline %include new baselinestretch-MAR + \fi %-MAR + \boxmaxdepth\z@ + \hsize\columnwidth \@parboxrestore} +\long\def\@footnotetext#1{\insert\footins{\def\baselinestretch{1}\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext + {\rule{\z@}{\footnotesep}\ignorespaces + #1\strut}}} + +% Stolen from MIT. +% +% A single spaced quote (say) is done by surrounding singlespace with quote. +% +\def\singlespace{% +\vskip\parskip% +\vskip\baselineskip% +\def\baselinestretch{1}% +\ifx\undefined\selectfont %then new font selection scheme not invoked-MAR +\ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% +\else %else new font selection scheme is invoked-MAR +\@newbaseline %include new baselinestretch-MAR +\fi %-MAR +\vskip-\parskip% +\vskip-\baselineskip% +} + +\def\endsinglespace{\par} + +% spacing, doublespace and onehalfspace all are meant to INCREASE the +% spacing (i.e. calling onehalfspace from within doublespace will not +% produce a graceful transition between spacings) +% +\def\spacing#1{\par% + \begingroup % moved from \endspacing by PGBR 1-29-91 + \def\baselinestretch{#1}% + \ifx\undefined\selectfont %then new font selection scheme not invoked-MAR + \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi + \else %else new font selection scheme is invoked-MAR + \@newbaseline %include new baselinestretch-MAR + \fi %-MAR +} + +\def\endspacing{\par% + \vskip \parskip% + \vskip \baselineskip% + \endgroup% + \vskip -\parskip% + \vskip -\baselineskip% +} %\begingroup used to be here, PGBR 1-29-91 + +\def\onehalfspace{\spacing{1.5}} +\let\endonehalfspace=\endspacing + +\def\doublespace{\spacing{2}} +\let\enddoublespace=\endspacing %corrected--first end missing-MAR + +% Fix up spacing before and after displayed math +% (arraystretch seems to do a fine job for inside LaTeX displayed math, +% since array and eqnarray seem to be affected as expected) +% Changing \baselinestretch and doing a font change also works if done here, +% but then you have to change @setsize to remove the call to @nomath) +% +\everydisplay{ + \abovedisplayskip \baselinestretch\abovedisplayskip% + \belowdisplayskip \abovedisplayskip% + \abovedisplayshortskip \baselinestretch\abovedisplayshortskip% + \belowdisplayshortskip \baselinestretch\belowdisplayshortskip} + diff --git a/obsolete/macros/latex209/contrib/misc/endfloat.sty b/obsolete/macros/latex209/contrib/misc/endfloat.sty new file mode 100644 index 0000000000..8427156bc5 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/endfloat.sty @@ -0,0 +1,350 @@ +%% Save file as: ENDFLOAT.STY Source: FILESERV@SHSU.BITNET +% Name: endfloat.sty +% Description: LaTeX style to put figures and tables at end of article +% Keywords: LaTeX, style-option, float, figure, table +% Author: James Darrell McCauley +% Latest Version: Version 2.0 <02 Jun 1992> +% Archives: pasture.ecn.purdue.edu, shsu.edu or FILESERV@SHSU.BITNET +% Note: See USAGE, CHANGE LOG, and BUGS below. +% See also: comment.sty, endnotes.sty +% +% WHAT IS THIS STYLE FOR? +% The purpose of this style is to put all figures on pages by themselves +% at the end of an article in a section named Figures. Likewise for tables. +% Reference can be made in the text of where the figure should have been +% (only caption appears - see \markersintext [default] and \nomarkersintext +% below. \ref and \label always works on the ones at the end). This is +% usually required when preparing submissions to journals. +% +% WARNING! +% This creates two extra files: \jobname.fff and \jobname.ttt +% It may also necessitate another latex cycle because of the float +% movement (when you use \label and \ref) and bibtex. +% +% WHY WRITE THIS STYLE? +% Many journals require tables and figures to be separated from the text +% when you submit those ugly doublespaced copies. They also usually want +% a list of figures/tables before these sections (capability added in v2.0). +% +% I am writing a set of styles that look exactly like a journal, but just +% by adding one style option, I wanted the user to meet the requirements +% for formatting submissions. I encourage others to do the same. +% +% USAGE: +% if you use: \documentstyle{article} +% change it to: \documentstyle[endfloat]{article} +% That's all you have to do. This will produce two extra files with +% .ttt and .fff extensions (for tables and figures, respectively). +% +% This puts all figures and tables at the end of your document +% and creates a List of Figures and/or List of Tables section +% at the end (when appropriate). If you do not want a these, they +% can be turned off by putting \nofiglist and \notablist in the +% preamble of your document. +% +% It also leaves notes in the text (i.e., ``[Figure 4 about here.]''). +% If you would rather not have these, this can be turned off by +% putting \nomarkersintext in the preamble of your document. If you +% do not like this marker, you can change it by using \renewcommand +% (see PREPARING A FOREIGN LANGUAGE VERSION below). +% +% HOW DID I WRITE THIS? +% +% Overview: redefine the figure and table environment following % bj +% the \begin{comment} ... \end{comment} environment of % bj +% comment.sty by Victor Eijkhout . +% Instead of processing what was between \begin{...} and \end{...}, +% every line is written to a file (\jobname.fff for figures, \jobname.ttt +% for tables). Then, when you do an \end{document}, the figure section +% is processed, then the table section is processed. This could easily +% be reversed (tables first) if necessary. +% +% After initial versions, I received much help from Ronald Kappert +% and Brian Junker (see CHANGE LOG below). +% If anyone has any bugs/suggestions to report, mail them to +% jdm5548@diamond.tamu.edu. +% Darrell McCauley <02 Jun 1992> +% +% PREPARING A FOREIGN LANGUAGE VERSION +% +% 10-03-92: Announcements in any language can be generated with +% a \renewcommand{\figureplace} or \renewcommand{\tableplace} +% with default +%\def\figureplace{\bf\figurename~\thepostfig should be placed near here.} +% and +%\def\tableplace{\bf\tablename~\theposttbl should be placed near here.} +% The name of figures and tables is governed by standard +% LaTeX variables \figurename and \tablename. +% The name of the section with the figures can be governed with +% a \renewcommand{\figuresection}{...Name of Figs. section...} +% Ditto for \tablesection. Default is \def\tablesection{Tables} +% and \def\figuresection{Figures}. +% +% URC (RJHK) +% +% CHANGE LOG +% (if you make any changes to this, record them here) +% <25 Feb 1992> v0.1 - created by Darrell McCauley +% <01 Mar 1992> v1.0 - cleaned up and released +% +% <10 Mar 1992> v1.0 - some adaptions for LaTeX 2.09 <14-1-92> and +% international namegiving by Ronald Kappert +% . +% <13 Mar 1992> v1.1 - verified that floats were used before a section was +% created for them. +% <14 Mar 1992> v1.2 - corrected typo that may have caused figures not +% to be printed. +% +% <27 May 1992> ???? - (1) changed "comment" to "figure" and "komment" to +% "table" throughout, to avoid collisions with other +% style files' definitions of "\comment". Also +% fixes "\begin{table} ends with \end{komment}" +% error generated by my (older) version of PC TeX. +% +% (2) Fixed gobble of float position specifiers. +% There are two ways to do this: (a) \write +% \ifnextchar[{\gobbleuntilnext}{} into every +% environment written to \jobname.fff, etc.; (b) +% save LaTeX's old def's of \figure and \table +% and re-use them when processing fig's and tables. +% I chose the latter approach, for maximum +% consistency with LaTeX, other style files, etc. +% +% (3) Added def's of \tablename and \figurename, +% which my version of PC-TeX seemed to need. +% %jdm +% +% (4) Moved formatting of figure/table markers to +% \figureplace and \tableplace. +% +% (5) Style change: in-text markers are now +% centered reminders like "[Figure 4 about here.]". +% +% (6) Style change: added list of tables and +% figures to the table and figure sections. +% Change back to old format with \nofiglist and +% \notablist. +% +% (7) Changed default to \markersintext. +% +% (8) Fixed trivial typo in \@openposttbls +% +% All changes marked "% bj" at end of line. +% Brian Junker +% <02 Jun 1992> v2.0 - incorporated changes made by Junker (see above). +% Corrected problem of extra blank spaces in +% the output when \nomarkersintext was in effect +% (bug reported by ). +% +% BUGS: +% <14 Mar 1992> still needs to gobble float position specifiers. +% +\newif\if@domarkers +\def\markersintext{ + \@domarkerstrue } +\def\nomarkersintext{ + \@domarkersfalse +} +%\nomarkersintext +\markersintext % bj + +\newif\if@tablist % bj +\def\dotablist{\@tablisttrue} % bj +\def\notablist{\@tablistfalse} % bj +\dotablist % bj + +\newif\if@figlist % bj +\def\dofiglist{\@figlisttrue} % bj +\def\nofiglist{\@figlistfalse} % bj +\dofiglist % bj + +\newcounter{postfig} +\newwrite\@postfigs +\newif\if@postfigsopen \global\@postfigsopenfalse + \def\@openpostfigs{\immediate\openout\@postfigs=\jobname.fff\relax + \message{(\jobname.fff)}% + \global\@postfigsopentrue} + +\newcounter{posttbl} +\newwrite\@posttbls +\newif\if@posttblsopen \global\@posttblsopenfalse + +\def\@openposttbls{\immediate\openout\@posttbls=\jobname.ttt\relax + \message{(\jobname.ttt)}% % bj + \global\@posttblsopentrue} + +\def\makeinnocent#1{\catcode`#1=12 } + +%\def\figureplace{\bf\figurename~\thepostfig should be placed near here.} % bj +%\def\tableplace{\bf\tablename~\theposttbl should be placed near here.} % bj + +\@ifundefined{figurename}{\def\figurename{Figure}}{} % bj +\@ifundefined{tablename}{\def\tablename{Table}}{} % bj + +\def\figureplace{\begin{center} % bj +[\figurename~\thepostfig\ about here.] % bj +\end{center}} % bj +\def\tableplace{\begin{center} % bj +[\tablename~\theposttbl\ about here.] % bj +\end{center}} % bj + +\def\@gobbleuntilnext[#1]{} +%\let\eatarg\@gobbleuntilnext % bj +%\let\ifnextchar\@ifnextchar % bj + +\let\@bfig\figure % bj +\let\@efig\endfigure % bj +\let\@btab\table % bj +\let\@etab\endtable % bj +\let\endfigure\relax % bj +\let\endtable\relax % bj + +% +% the {blank space } appearing with \nomarkersintext was fixed by adding +% a percent sign (%) at strategic locations, determined by setting +% \tracingcommands=1 % Darrell +% + +\def\figure{% +% \if@nextchar[{ + \if@postfigsopen \else \@openpostfigs \fi% + \immediate\write\@postfigs{\string\begin{figure}}% +% \immediate\write\@postfigs{\string\ifnextchar[{\string\eatarg}{}} % bj + \if@domarkers% + \addtocounter{postfig}{1}% % bj + \figureplace% % bj + \fi% + \def\@currenvir{figure}% + \begingroup% + \let\do\makeinnocent \dospecials% + \makeinnocent\^^L% and whatever other special cases + \endlinechar`\^^M \catcode`\^^M=12 \xfigure}% +{\catcode`\^^M=12 \endlinechar=-1 % + \gdef\xfigure#1^^M{\def\test{#1}% + \ifx\test\endfiguretest% + \def\next{\endgroup\end{figure}% + \immediate\write\@postfigs{\string\end{figure}}% + \immediate\write\@postfigs{\string\clearpage}% + \immediate\write\@postfigs{ }}% + \else\ifx\test\enddblfiguretest% + \def\next{\endgroup\end{figure}% + \immediate\write\@postfigs{\string\end{figure}}% + \immediate\write\@postfigs{\string\clearpage}% + \immediate\write\@postfigs{ }}% + % skip over float position specifier (fps) + \else\@ifnextchar[% + \@whilesw \ifx\test\CB \fi% + \@gobble% + \else% + \if@postfigsopen \else \@openpostfigs \fi% + \immediate\write\@postfigs{#1}% + \let\next\xfigure% + \fi \fi \next}% +}% + +%hello +{\escapechar=-1% + \xdef\CB{]}% + \xdef\endfiguretest{\string\\end\string\{figure\string\}}% + \xdef\enddblfiguretest{\string\\end\string\{figure*\string\}}% +}% + +\def\table{\if@posttblsopen \else \@openposttbls \fi + \immediate\write\@posttbls{\string\begin{table}}% +% \immediate\write\@posttbls{\string\ifnextchar[{\string\eatarg}{}} % bj + \if@domarkers + \addtocounter{posttbl}{1} % bj + \tableplace % bj + \fi + \def\@currenvir{table}% + \begingroup + \let\do\makeinnocent \dospecials + \makeinnocent\^^L% and whatever other special cases + \endlinechar`\^^M \catcode`\^^M=12 \xtable} +{\catcode`\^^M=12 \endlinechar=-1 % + \gdef\xtable#1^^M{\def\test{#1} + \ifx\test\enddbltabletest + \def\next{\endgroup\end{table} + \immediate\write\@posttbls{\string\end{table}} + \immediate\write\@posttbls{\string\clearpage} + \immediate\write\@posttbls{ }} + \else\ifx\test\endtabletest + \def\next{\endgroup\end{table} + \immediate\write\@posttbls{\string\end{table}} + \immediate\write\@posttbls{\string\clearpage} + \immediate\write\@posttbls{ }} + \else + \if@posttblsopen \else \@openposttbls \fi + \immediate\write\@posttbls{#1}% + \let\next\xtable + \fi \fi \next} +} + +{\escapechar=-1 + \xdef\enddbltabletest{\string\\end\string\{table*\string\}} + \xdef\endtabletest{\string\\end\string\{table\string\}} +} +%% end of stuff from comment.sty + +% \let\figure=\figure +%\ let\table=\table +\@namedef{figure*}{\figure} +\@namedef{table*}{\table} +\def\endfloat{\endfigure} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\figuresection{Figures} +\def\tablesection{Tables} + +\def\processfigures{ + \if@postfigsopen + \immediate\closeout\@postfigs \global\@postfigsopenfalse +% \let\figure={\@float{figure}} % bj +% \let\endfigure=\end@float % bj + \let\figure\@bfig % bj + \let\endfigure\@efig % bj + \clearpage % bj + \if@figlist % bj + {\normalsize\listoffigures} % bj + \clearpage % bj + \else % bj + \section*{\figuresection} % bj + \markboth{\uppercase{\figuresection}}{\uppercase{\figuresection}}% bj + \fi % bj + { % bj + \def\baselinestretch{1}\tiny\normalsize % bj + \@input{\jobname.fff} % bj + } % bj + \fi} + +\def\processtables{ +\if@posttblsopen + \immediate\closeout\@posttbls \global\@posttblsopenfalse +% \let\table={\@float{table}} % bj +% \let\endtable=\end@float % bj + \let\table\@btab % bj + \let\endtable\@etab % bj + \clearpage % bj + \if@tablist % bj + {\normalsize\listoftables} % bj + \clearpage % bj + \else % bj + \section*{\tablesection} % bj + \markboth{\uppercase{\tablesection}}{\uppercase{\tablesection}}% bj + \fi % bj + { % bj + \def\baselinestretch{1}\tiny\normalsize % bj + \@input{\jobname.ttt} % bj + } + \fi} + +\def\enddocument{\onecolumn\processfigures\clearpage\processtables +\@checkend{document}\clearpage\begingroup +\if@filesw \immediate\closeout\@mainaux +\def\global\@namedef##1##2{}\def\newlabel{\@testdef r}% +\def\bibcite{\@testdef b}\@tempswafalse \makeatletter\input \jobname.aux +\if@tempswa \@warning{Label(s) may have changed. Rerun to get +cross-references right}\fi\fi\endgroup\deadcycles\z@\@@end} + +\endinput diff --git a/obsolete/macros/latex209/contrib/misc/endnote.sty b/obsolete/macros/latex209/contrib/misc/endnote.sty new file mode 100644 index 0000000000..0a6f9af68e --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/endnote.sty @@ -0,0 +1,34 @@ +% Use \endnote{1}{text}. At the end of your document, type +% \producenotes to actually flush all end notes to be printed. +% +% macros for making endnotes instead of footnotes +% We make @ signs act like letters, temporarily, to avoid conflict +% between user names and internal control sequences of plain format. +\catcode`@=11 +\newbox\endnotebox + +\def\setendnotefont#1{\gdef\endnotefont{#1}} +\setendnotefont{\normalsize\rm} +\@definecounter{endnotei} +\def\theendnotei{\arabic{endnotei}} +\def\labelendnotei{(\theendnotei)} + +\def\endnote#1{\let\@sf\empty + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi + \stepcounter{endnotei} $^{\theendnotei}$\@sf% \vendnote + {\global\setbox\endnotebox= + \vbox{\parindent=0pt\endnotefont\unvbox\endnotebox\bgroup \theendnotei.\ + #1\@endnote}}} + +\def\no@te{\ifcat\bgroup\noexpand\next \let\next\n@@te + \else\let\next\n@t\fi }%\next} + +\def\n@@te{\bgroup\aftergroup\@endnote\let\next} + +\def\n@t#1{#1\@endnote} + +\def\@endnote{\strut\unskip\hfil \penalty -\@M\relax \egroup} % + +\def\producenotes{% +\ifvoid\endnotebox\else\medskip\unvbox\endnotebox\par\fi} +\catcode`@=12 % at signs are no longer letters diff --git a/obsolete/macros/latex209/contrib/misc/endnotes.sty b/obsolete/macros/latex209/contrib/misc/endnotes.sty new file mode 100644 index 0000000000..4d28e593ad --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/endnotes.sty @@ -0,0 +1,325 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Save file as: ENDNOTES.STY +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% **************************************** +% * ENDNOTES * +% **************************************** +% +% Date of this version: 24 September 1991. +% +% Based on the FOOTNOTES section of +% LATEX.TEX (VERSION 2.09 - RELEASE OF 19 April 1986), with +% "footnote" changed to "endnote" and "fn" changed to "en" (where +% appropriate), with all the minipage stuff pulled out, and with +% some small changes for the different operation of endnotes. +% +% Uses an extra external file, with .ENT extension, to hold the +% text of the endnotes. This may be deleted after the run; a new +% version is generated each time. +% +% This code does not obey \nofiles. Perhaps it should. +% +% John Lavagnino (lav@brandeis.bitnet), 9/23/88 +% Department of English and American Literature, +% Brandeis University +% +% To turn all the footnotes in your documents into endnotes, say +% +% \let\footnote=\endnote +% +% in your preamble, and then add something like +% +% \newpage +% \begingroup +% \parindent 0pt +% \parskip 2ex +% \def\enotesize{\normalsize} +% \theendnotes +% \endgroup +% +% as the last thing in your document. +% +% **************************************** +% * CHANGE LOG * +% **************************************** +% +% JL Modified to include \addtoendnotes. JL, 10/22/89. +% +% JK Modification by J"org Knappen 25. 2. 1991: +% JK +% JK Introduced \notesname in the spirit of international \LaTeX. +% JK \notesname is set per default to be {Notes}, but can easily +% JK be redifined, e.g. for german language +% JK \renewcommand{\notesname}{Anmerkungen} +% +% DW Modification by Dominik Wujastyk, London, 19 September 1991: +% DW +% DW Moved the line +% DW \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark} +% DW out of the definition of \@endnotetext and into the definition +% DW of \@doanenote so that \label and \ref commands work correctly in +% DW endnotes. Otherwise, the \label just pointed to the last section +% DW heading (or whatever) preceding the \theendnotes command. +% +% JL Revised documentation and macros. 24 Sept 1991. +% +% **************************************** +% * ENDNOTE COMMANDS * +% **************************************** +% +% +% \endnote{NOTE} : User command to insert a endnote. +% +% \endnote[NUM]{NOTE} : User command to insert a endnote numbered +% NUM, where NUM is a number -- 1, 2, +% etc. For example, if endnotes are numbered +% *, **, etc. within pages, then \endnote[2]{...} +% produces endnote '**'. This command does not +% step the endnote counter. +% +% \endnotemark[NUM] : Command to produce just the endnote mark in +% the text, but no endnote. With no argument, +% it steps the endnote counter before generating +% the mark. +% +% \endnotetext[NUM]{TEXT} : Command to produce the endnote but no +% mark. \endnote is equivalent to +% \endnotemark \endnotetext . +% +% \addtoendnotes{TEXT} : Command to add text or commands to current +% endnotes file: for inserting headings, +% pagebreaks, and the like into endnotes +% sections. TEXT a moving argument: +% \protect required for fragile commands. +% +% **************************************** +% * ENDNOTE USER COMMANDS * +% **************************************** +% +% Endnotes use the following parameters, similar to those relating +% to footnotes: +% +% \enotesize : Size-changing command for endnotes. +% +% \theendnote : In usual LaTeX style, produces the endnote number. +% +% \@theenmark : Holds the current endnote's mark--e.g., \dag or '1' or 'a'. +% +% \@makeenmark : A macro to generate the endnote marker from \@theenmark +% The default definition is \hbox{$^\@theenmark$}. +% +% \@makeentext{NOTE} : +% Must produce the actual endnote, using \@theenmark as the mark +% of the endnote and NOTE as the text. It is called when effectively +% inside a \parbox, with \hsize = \columnwidth. For example, it might +% be as simple as +% $^{\@theenmark}$ NOTE +% +% +% **************************************** +% * ENDNOTE PSEUDOCODE * +% **************************************** +% +% \endnote{NOTE} == +% BEGIN +% \stepcounter{endnote} +% \@theenmark :=G eval (\theendnote) +% \@endnotemark +% \@endnotetext{NOTE} +% END +% +% \endnote[NUM]{NOTE} == +% BEGIN +% begingroup +% counter endnote :=L NUM +% \@theenmark :=G eval (\theendnote) +% endgroup +% \@endnotemark +% \@endnotetext{NOTE} +% END +% +% \@endnotetext{NOTE} == +% BEGIN +% write to \@enotes file: "\@doanenote{ENDNOTE MARK}" +% begingroup +% \next := NOTE +% set \newlinechar for \write to \space +% write to \@enotes file: \meaning\next +% (that is, "macro:->NOTE) +% endgroup +% END +% +% \addtoendnotes{TEXT} == +% BEGIN +% open endnotes file if not already open +% begingroup +% let \protect to \string +% set \newlinechar for \write to \space +% write TEXT to \@enotes file +% endgroup +% END +% +% \endnotemark == +% BEGIN \stepcounter{endnote} +% \@theenmark :=G eval(\theendnote) +% \@endnotemark +% END +% +% \endnotemark[NUM] == +% BEGIN +% begingroup +% endnote counter :=L NUM +% \@theenmark :=G eval(\theendnote) +% endgroup +% \@endnotemark +% END +% +% \@endnotemark == +% BEGIN +% \leavevmode +% IF hmode THEN \@x@sf := \the\spacefactor FI +% \@makeenmark % put number in main text +% IF hmode THEN \spacefactor := \@x@sf FI +% END +% +% \endnotetext == +% BEGIN \@theenmark :=G eval (\theendnote) +% \@endnotetext +% END +% +% \endnotetext[NUM] == +% BEGIN begingroup counter endnote :=L NUM +% \@theenmark :=G eval (\theendnote) +% endgroup +% \@endnotetext +% END +% +% **************************************** +% * ENDNOTE MACROS * +% **************************************** +% + +\@definecounter{endnote} +\def\theendnote{\arabic{endnote}} + +% Default definition +\def\@makeenmark{\hbox{$^{\@theenmark}$}} + +\newdimen\endnotesep + +\def\endnote{\@ifnextchar[{\@xendnote}{\stepcounter + {endnote}\xdef\@theenmark{\theendnote}\@endnotemark\@endnotetext}} + +\def\@xendnote[#1]{\begingroup \c@endnote=#1\relax + \xdef\@theenmark{\theendnote}\endgroup + \@endnotemark\@endnotetext} + +% Here begins endnote code that's really different from the footnote +% code of LaTeX. + +\let\@doanenote=0 +\let\@endanenote=0 + +\newwrite\@enotes +\newif\if@enotesopen \global\@enotesopenfalse + +\def\@openenotes{\immediate\openout\@enotes=\jobname.ent\relax + \global\@enotesopentrue} + +% The stuff with \next and \meaning is a trick from the TeXbook, 382, +% there intended for setting verbatim text, but here used to avoid +% macro expansion when the footnote text is written. \next will have +% the entire text of the footnote as one long line, which might well +% overflow limits on output line length; the business with \newlinechar +% makes every space become a newline in the \@enotes file, so that all +% of the lines wind up being quite short. + +\long\def\@endnotetext#1{% + \if@enotesopen \else \@openenotes \fi + \immediate\write\@enotes{\@doanenote{\@theenmark}}% + \begingroup + \def\next{#1}% + \newlinechar='40 + \immediate\write\@enotes{\meaning\next}% + \endgroup + \immediate\write\@enotes{\@endanenote}} + +% \addtoendnotes works the way the other endnote macros probably should +% have, requiring the use of \protect for fragile commands. + +\long\def\addtoendnotes#1{% + \if@enotesopen \else \@openenotes \fi + \begingroup + \newlinechar='40 + \let\protect\string + \immediate\write\@enotes{#1}% + \endgroup} + +% End of unique endnote code + +\def\endnotemark{\@ifnextchar[{\@xendnotemark + }{\stepcounter{endnote}\xdef\@theenmark{\theendnote}\@endnotemark}} + +\def\@xendnotemark[#1]{\begingroup \c@endnote #1\relax + \xdef\@theenmark{\theendnote}\endgroup \@endnotemark} + +\def\@endnotemark{\leavevmode\ifhmode + \edef\@x@sf{\the\spacefactor}\fi \@makeenmark + \ifhmode\spacefactor\@x@sf\fi\relax} + +\def\endnotetext{\@ifnextchar + [{\@xendnotenext}{\xdef\@theenmark{\theendnote}\@endnotetext}} + +\def\@xendnotenext[#1]{\begingroup \c@endnote=#1\relax + \xdef\@theenmark{\theendnote}\endgroup \@endnotetext} + + +% \theendnotes actually prints out the endnotes. + +% The user may want separate endnotes for each chapter, or a big +% block of them at the end of the whole document. As it stands, +% either will work; you just say \theendnotes wherever you want the +% endnotes so far to be inserted. However, you must add +% \setcounter{endnote}{0} after that if you want subsequent endnotes +% to start numbering at 1 again. + +% \enoteformat is provided so user can specify some special formatting +% for the endnotes. It needs to set up the paragraph parameters, start +% the paragraph, and print the label. The \leavemode stuff is to make +% and undo a dummy paragraph, to get around the games \section* +% plays with paragraph indenting. + +\def\notesname{Notes}% <------ JK +\def\enoteheading{\section*{\notesname + \@mkboth{\uppercase{\notesname}}{\uppercase{\notesname}}}% + \leavevmode\par\vskip-\baselineskip} + +\def\enoteformat{\rightskip\z@ \leftskip\z@ \parindent=1.8em + \leavevmode\llap{\hbox{$^{\@theenmark}$}}} + +\def\enotesize{\footnotesize} + +% The definition of \ETC. is needed only for versions of TeX prior +% to 2.992. Those versions limited \meaning expansions to 1000 +% characters; in 2.992 and beyond there is no limit. At Brandeis the +% BIGLATEX program changed the code in the token_show procedure of +% TeX to eliminate this problem, but most ``big'' versions of TeX +% will not solve this problem. + +\def\theendnotes{\immediate\closeout\@enotes \global\@enotesopenfalse + \begingroup + \makeatletter + \def\@doanenote##1##2>{\def\@theenmark{##1}\par\begingroup + \edef\@currentlabel{\csname p@endnote\endcsname\@theenmark} %DW + \enoteformat} + \def\@endanenote{\par\endgroup}% + \def\ETC.{\errmessage{Some long endnotes will be truncated; % + use BIGLATEX to avoid this}% + \def\ETC.{\relax}} + \enoteheading + \enotesize + \@input{\jobname.ent}% + \endgroup} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput diff --git a/obsolete/macros/latex209/contrib/misc/float.sty b/obsolete/macros/latex209/contrib/misc/float.sty new file mode 100644 index 0000000000..3ff0fd8b81 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/float.sty @@ -0,0 +1,815 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% filename = "float.sty", +%%% version = "1.1c", +%%% date = "18 December 1992", +%%% time = "10:00:00 CET", +%%% author = "Anselm Lingnau", +%%% address = "Hochschulrechenzentrum/FB Mathematik +%%% Johann Wolfgang Goethe-Universit\"at +%%% Postfach 11 19 32 +%%% DW-6000 Frankfurt am Main +%%% Germany", +%%% telephone = "+49 798 2554", +%%% checksum = "56253 815 4764 35676" +%%% email = "lingnau@math.uni-frankfurt.de (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "LaTeX, figure, table, floats", +%%% supported = "yes", +%%% docstring = " +%%% +%%% float.sty +%%% +%%% A LaTeX style option which defines a \newfloat command +%%% to define new classes of floats in the spirit of \newtheorem. +%%% Floats can be defined to use any of various 'float styles'. +%%% float.sty also incorporates the functionality of David Carlisle's +%%% here.sty, giving floats a [H] option, meaning 'do not float', +%%% or 'PUT IT HERE'. +%%% +%%% Documentation requires Frank Mittelbach's doc.sty.", +%%% } +%%% ======================================================================== +% +% Beware of file version and date in banner at top of implementation below. +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% * Version 1.1a, added here.sty functionality. +% * Version 1.1b, \@Esphack in place of \@esphack. Removed spurious +% * whitespace. Fixed documentation. Thanks to David Carlisle. +% * Version 1.1c, \@Esphack hack for compatibility with old LaTeXes. Fixed +% * checksums. Removed spurious blank line at end of file. Thanks again. +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%<*x> +% This file may be used without modification as a style (.sty) file. +% +% If you have Mittelbach's doc.sty, this file may be formatted with a +% command like: +% latex float.sty +% +% If you have the Mittelbach/Duchier/Braams docstrip utility, you may +% produce a faster loading .sty file. Rename this file to: float.doc +% Then run this file through *plain* TeX: +% tex float.doc +% This should produce the file float.sty. +% If you do not have plain TeX on your system, you can trick LaTeX into +% doing the work as follows: +% latex \def\fmtname{plain} \input float.doc +% Note that you may need to quote the arguments here to stop your +% operating system treating the \ characters incorrectly. +% +% latex float.doc +% will produce a typeset version of the documentation, as above. +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\plain{plain}\ifx\fmtname\plain\csname fi\endcsname + \def\batchfile{float.doc} + \input docstrip + \preamble + Do not distribute the stripped version of this file. + + \endpreamble + \generateFile{float.sty}{t}{\from{float.doc}{}} + \endinput +\fi +% +\ifcat a\noexpand @\let\next\relax\else\def\next{% + \documentstyle[float,doc]{article}\MakePercentIgnore}\fi\next +% +%\def\eatmodule<#1>{}\eatmodule +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \textwidth=355pt ^^A Allow macrocode text with 72 columns +% \CodelineIndex ^^A Code lines numbered +% \EnableCrossrefs ^^A No Cross References +% \MakeShortVerb{\|} ^^A |\foo| works like \verb+|\foo| +% \CheckSum{467} +% +% \DoNotIndex{\@Esphack,\@Mii,\@Miv,\@cons,\@currlist,\@dblarg,\@dbldeferlist} +% \DoNotIndex{\@dblfloat,\@dottedtocline,\@eha,\@esphack,\@float} +% \DoNotIndex{\@floatpenalty,\@ifnextchar,\@ifundefined,\@latexerr} +% \DoNotIndex{\@mkboth,\@namedef,\@nameuse,\@parboxrestore,\@spaces} +% \DoNotIndex{\@starttoc,\@tempa,\@tempboxa,\@tempdima,\@warning} +% \DoNotIndex{\addcontentsline,\advance,\arabic,\bf,\bgroup,\box,\chapter} +% \DoNotIndex{\columnwidth,\csname,\def,\dimen,\docdate,\edef,\egroup,\else} +% \DoNotIndex{\endcsname,\endinput,\expandafter,\fi,\filedate,\fileversion} +% \DoNotIndex{\global,\hbadness,\hbox,\hfil,\hrule,\hsize,\ht,\if@twocolumn} +% \DoNotIndex{\ifdim,\iffalse,\ifnum,\iftrue,\ifvbox,\ifx,\ignorespaces} +% \DoNotIndex{\intextsep,\kern,\let,\long,\moveleft,\newbox,\newcount} +% \DoNotIndex{\newcounter,\newif,\noexpand,\normalsize,\numberline,\par} +% \DoNotIndex{\parindent,\penalty,\prevdepth,\protect,\refstepcounter,\relax} +% \DoNotIndex{\rm,\section,\setbox,\space,\textheight,\the,\typeout,\unvbox} +% \DoNotIndex{\uppercase,\vadjust,\vbox,\vrule,\vskip,\wd,\wlog,\z@} +% +% \title{An Improved Environment for Floats} +% \author{Anselm Lingnau\thanks{Hochschulrechenzentrum/Fachbereich Mathematik, +% Johann Wolfgang Goethe-Universit\"at, Postfach 11\,19\,32, +% DW-6000 Frankfurt am Main. +% E-Mail: {\tt lingnau@math.uni-frankfurt.de}}% +% \thanks{Part of this style option is based on +% {\tt here.sty} by David Carlisle ({\tt carlisle@cs.man.ac.uk}), +% who also provided helpful criticism.}} +% \date{8 October 1992} +% \floatstyle{ruled} +% \newfloat{Program}{tbp}{lop}[section] +% \floatstyle{plain} +% \newfloat{Example}{t}{lox}[section] +% \floatstyle{boxed} +% \restylefloat{table} +% \begin{document} +% \maketitle +% +% \begin{abstract} +% This style option improves the interface for defining floating +% objects such as figures and tables in \LaTeX{}. +% It adds the notion of a `float style' that governs appearance +% of floats. +% New kinds of floats may be defined using a |\newfloat| command +% analogous to |\newtheorem|. +% This style option also incorporates the functionality +% of David Carlisle's {\tt here.sty}, +% giving floating environments a {\tt [H]} option which means `PUT IT HERE' +% (as opposed to the standard {\tt [h]} option which means +% `You may put it here if you like'). +% \end{abstract} +% +% \section{Introduction} +% +% Among the features of \LaTeX\ are `floating' figures and tables +% that drift from where they appear in the input text to, say, the top +% of a page. The contents and formatting of floats is pretty much up +% to the user, except that there is a |\caption| command that +% governs formatting of the caption --- it is centered if it is short, +% and formatted as a paragraph if it is longer than a single line of text. +% Sometimes other types of floating objects, e.g., algorithms or programs, +% are desirable, but they must be defined by analogy to the existing +% floats since there is no simple command for doing this. This goes +% beyond the knowledge or inclination of the average \LaTeX\ user. +% +% In this style option, I present an interface to floating objects +% that attempts to fix some of these shortcomings. +% First of all, I introduce the notion of a `float style'. +% A float style governs the appearance of a class of floats like a page style +% governs the appearance of a page (\LaTeX\ has page styles {\tt plain}, +% {\tt empty} and {\tt headings}, among others). This style option +% provides some exemplary float styles: +% \begin{description} +% \item[plain] This is the float style that \LaTeX\ normally applies to +% its floats, i.e., nothing in particular. The only difference is +% that the caption comes out {\em below\/} the body of the float, +% regardless of where it is given in the text. +% \item[boxed] The body of the float is printed inside a box. The caption +% goes below that box. +% \item[ruled] This float style is patterned on the table style of +% {\sl Concrete Mathematics}. The caption is printed at the top of the +% float, surrounded by rules; another rule finishes off the float. +% \end{description} +% +% \begin{Program} +% \begin{verbatim} +% #include +% +% int main(int argc, char **argv) +% { +% int i; +% for (i = 0; i < argc; ++i) +% printf("argv[%d] = %s\n", i, argv[i]); +% return 0; +% } +% \end{verbatim} +% \caption{The first program. This hasn't got anything to do with the style +% but is included as an example. Note the {\tt ruled} float style.% +% \label{prog1.1}} +% \end{Program} +% To facilitate the definition of new floating objects, {\tt float.sty} +% supports the |\newfloat| command. This command is comparable to +% |\newtheorem| in that it allows the user to add a new class of floats +% at the document level. No style option hacking is necessary. +% There's also a |\listof| command that prints a listing of all the +% floats of a given type, like |\listoffigures| and |\listoftables| +% in vanilla \LaTeX. +% +% \section{The User Interface --- New Floats} +% +% \DescribeMacro{\newfloat} +% The most important command in {\tt float.sty} is the |\newfloat| +% command. As mentioned above, it is patterned on |\newtheorem|. +% The |\newfloat| command takes three required and one optional +% argument; it is of the form\\[2pt] +% \hspace*{\MacroIndent}|\newfloat{|\meta{type}|}{|^^A +% \meta{placement}|}{|\meta{ext}|}[|\meta{within}{\tt]}\\[2pt] +% \meta{type} is the `type' of the new class of floats, like {\tt program} +% or {\tt algorithm}. After the appropriate |\newfloat|, commands +% like |\begin{program}| or |\end{algorithm*}| will be available. +% \meta{placement} gives the default placement parameters for this class +% of floats. The placement parameters are the same as in standard \LaTeX, +% i.e., {\tt t}, {\tt b}, {\tt p} and {\tt h} for `top', `bottom', +% `page' and `here', respectively. +% When \LaTeX\ writes the captions to an auxiliary file for the list +% of figures (or whatever), it'll use the job name followed by \meta{ext} +% as a file name. +% Finally, the optional argument \meta{within} determines whether floats +% of this class will be numbered within some sectional unit of the document. +% For example, if \meta{within}$=${\tt chapter}, the floats will be numbered +% within chapters. (In standard \LaTeX, this happens with figures and tables +% in the {\tt report} and {\tt book} document styles.) +% As an example, Program~\ref{prog1.1} above was created by a command +% sequence similar to that shown in the following Example. +% \begin{Example}[H] +% \begin{verse} +% |\floatstyle{ruled}|\\ +% |\newfloat{Program}{tbp}{lop}[section]|\\ +% \dots\ loads o' stuff \dots\\ +% |\begin{Program}|\\ +% |\begin{verbatim}|\\ +% \dots\ program text \dots\\ +% |\end{verbatim}|\\ +% |\caption{|\dots\ caption \dots|}|\\ +% |\end{Program}| +% \end{verse} +% \caption{This is another silly floating Example. Except that this one +% doesn't actually float because it uses the {\tt[H]} optional parameter +% to appear {\bf Here}. (Gotcha.)} +% \end{Example} +% +% \DescribeMacro{\floatstyle} +% The |\floatstyle| command sets a default float style. This float style +% will be used for all the floats that are subsequently defined using +% |\newfloat|, until another |\floatstyle| command appears. +% The |\floatstyle| command takes one argument, the name of a float +% style. For instance, |\floatstyle{ruled}|. Specifying a string that +% does not name a valid float style is an error. +% +% \DescribeMacro{\floatname} +% The |\floatname| command lets you define the {\em float name\/} that +% \LaTeX\ uses in the caption of a float, i.e., `Figure' for a figure +% and so on. For example, |\floatname{program}{Program}|. +% The |\newfloat| command sets the float name to its argument +% \meta{type} if no other name has been specified before. +% +% \DescribeMacro{\floatplacement} +% The |\floatplacement| command resets the default placement specifier +% of a class of floats. E.g., |\floatplacement{figure}{tp}|. +% +% \DescribeMacro{\restylefloat} +% The |\restylefloat| command is necessary to change styles for the +% standard float types {\tt figure} and {\tt table}. Since these aren't +% usually defined via |\newfloat|, they don't have a style associated +% with them. Thus you have to say, for example,\\[2pt] +% \hspace*{\MacroIndent}|\floatstyle{ruled}|\\ +% \hspace*{\MacroIndent}|\restylefloat{table}|\\[2pt] +% to have tables come out {\tt ruled}. The command also lets you change +% style for floats that you define via |\newfloat|, although this +% is, typographically speaking, not a good idea. +% See table~\ref{table1} for an example. +% \DeleteShortVerb{\|} +% \begin{table} \def\B#1{$\displaystyle{n\choose#1}$} +% \begin{center} \begin{tabular}{c|ccccc} +% $n$&\B0&\B1&\B2&\B3&\B4\\ \hline +% 0 & 1\\ +% 1 & 1&1\\ +% 2 & 1&2&1\\ +% 3 & 1&3&3&1\\ +% 4 & 1&4&6&4&1 +% \end{tabular} \end{center} +% \caption{Pascal's triangle. This is a re-styled \LaTeX\ {\tt table}.% +% \label{table1}} +% \end{table} +% \MakeShortVerb{\|} +% +% \DescribeMacro{\listof} +% The |\listof| command produces a list of all the floats of a given +% class. Its syntax is\\[2pt] +% \hspace*{\MacroIndent}|\listof{|\meta{type}|}{|\meta{title}^^A +% |}|\\[2pt] +% \meta{type} is the float type given in the |\newfloat| command. +% \meta{title} is used for the title of the list as well as the headings +% if the current page style includes them. Otherwise, the |\listof| +% command is analogous to the built-in \LaTeX\ commands +% |\listoffigures| and |\listoftables|. +% +% \section{The User Interface --- {\tt[H]} Placement Specifier} +% +% Many people find \LaTeX's float placement specifiers too restrictive. +% A Commonly Uttered Complaint (CUC) calls for a way to place a float +% exactly at the spot where it occurs in the input file, i.e., to {\em not\/} +% have it float at all. +% It seems that the {\tt[h]} specifier should do that, but in fact it +% only suggests to \LaTeX\ something along the lines of ``put the float +% here if it's OK with you''. As it turns out, \LaTeX\ hardly ever feels +% inclined to actually do that. This situation can be improved by +% judicious manipulation of float style parameters. +% +% The same effect can be achieved by changing the actual method of +% placing floats. David Carlisle's {\tt here.sty} introduces a new float +% placement specifier, namely {\tt[H]}, which, when added to a float, +% tells \LaTeX\ to ``put it HERE, period''. If there isn't enough space +% left on the page, the float is carried over to the next page together +% with whatever follows, even though there might still be room left for +% some of that. +% This style option provides the {\tt[H]} specifier for newly defined +% classes of floats as well as the predefined {\tt figure}s and +% {\tt table}s, thereby superseding {\tt here.sty}. David suggests +% that the {\tt here.sty} be withdrawn from the archives in due course. +% +% The {\tt[H]} specifier may simply be added to the float as an optional +% argument, like all the other specifiers. +% It may {\em not\/} be used in conjunction with any other placement +% specifiers, so {\tt[Hhtbp]} is illegal. +% Neither may it be used as the default placement specifier for a whole +% class of floats. +% The following table is +% defined like this: +% \begin{verse} +% |\begin{table}[H]|\\ +% |\begin{tabular}{cl}|\\ +% |\tt t & Top of the page\\|\\ +% \dots\ more stuff \dots\\ +% \end{verse} +% (It seems that I have to add some extraneous chatter here just so that +% the float actually comes out right in the middle of a printed page. +% When I \LaTeX ed the documentation just now it turned out that there +% was a page break that fell exactly between the ``So now'' line and the +% float. This wouldn't Prove Anything. Bother.) +% So now we have the following float placement specifiers: +% \begin{table}[H] +% \begin{tabular}{cl} +% \tt t & Top of the page\\ +% \tt b & Bottom of the page\\ +% \tt p & Page of floats\\ +% \tt h & Here, if possible\\ +% \tt H & Here, definitely +% \end{tabular} +% ^^A\caption{Could it be that this just needs a caption?} +% \end{table} +% +% \typeout{End of the Introduction.} +% \typein[\answer]% +% {Do you want an annotated listing of the macro definitions (y/n) ?} +% \def\next{y}\ifx\answer\next\else\expandafter\stop\fi +% \StopEventually{\PrintIndex} +% +% \section{Implementation} +% +% As usual, the file identifies itself in the log file. +% But only if this file's macros aren't yet defined. +% `Old' versions of \LaTeX\ (those before March 1992) don't have |\@Esphack|. +% We do an |\@esphack| hack to get around that. +% \begin{macrocode} +\@ifundefined{newfloat}{}{\endinput} +\wlog{Style-Option: `float' 1.1c 18 Dec 92 (AL)} +\@ifundefined{@Esphack}{\let\@Esphack\@esphack}{} +% \end{macrocode} +% In \LaTeX, floats are assigned `type numbers' that are powers of two. +% Since there are only two classes of floats, their type numbers are +% hardwired into the document styles. We need to be somewhat more flexible, +% and thus we initialize a counter to hold the next type number to be +% assigned. This counter will be incremented appropriately later. +% \begin{macrocode} +\newcount\float@type +\@ifundefined{c@figure}{\float@type=1}{\float@type=4} +% \end{macrocode} +% To warm up, we'll look at some of the simpler commands first. +% \begin{macro}{\floatstyle} +% The |\floatstyle| command puts its argument into the +% |\float@style| macro as the name of the new float style. +% But if the argument doesn't denote a float style, an error message +% is output instead: Each float style \meta{style} has a corresponding command +% |\fs@|\meta{style} that contains the appropriate declarations. +% If the control sequence |\fs@|\meta{arg} (which goes with the +% argument \meta{arg} to |\floatstyle|) is undefined, i.e., +% equals |\relax| under |\ifx|, then the float style \meta{arg} +% is unknown, and we call |\float@error{|\meta{arg}|}| for the +% error message. +% \begin{macrocode} +\def\floatstyle#1{\expandafter\ifx\csname fs@#1\endcsname\relax + \float@error{#1}\else\def\float@style{#1}\fi} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\float@error} +% Here's the error message. |\@eha| is the help message that says +% `Your command was ignored.' +% \begin{macrocode} +\def\float@error#1{\@latexerr{Unknown float style `#1'}\@eha} +% \end{macrocode} +% \end{macro} +% +% The next two commands are even simpler. \LaTeX\ says that +% |\fps@|\meta{float} contains the default placement specifier for +% the class of floats \meta{float}. |\fname@|\meta{float} expands +% to the name that appears in \meta{float} captions, e.g., `Figure'. +% (This is our own definition.) +% \begin{macrocode} +\def\floatname#1#2{\@namedef{fname@#1}{#2}} +\def\floatplacement#1#2{\@namedef{fps@#1}{#2}} +% \end{macrocode} +% +% \begin{macro}{\restylefloat} +% The |\restylefloat| command sets up everything so that subsequent +% commands like |\begin{|\meta{float}|}| use the appropriate +% float style. It defines |\fst@|\meta{float} to expand to a command +% that sets up the currently selected float style (|\fs@|\meta{style}). +% Then it defines the commands |\begin{|\meta{float}|}|, +% |\end{|\meta{float}|}|, |\begin{|\meta{float}|*}| and +% |\end{|\meta{float}|*}|. +% \begin{macrocode} +\def\restylefloat#1{\expandafter\edef\csname + fst@#1\endcsname{\expandafter\noexpand\csname + fs@\float@style\endcsname}% + \@namedef{#1}{\bgroup\@nameuse{fst@#1}\@float{#1}}% + \@namedef{#1*}{\bgroup\@nameuse{fst@#1}\@dblfloat{#1}}% + \expandafter\let\csname end#1\endcsname\float@end + \expandafter\let\csname end#1*\endcsname\float@dblend} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\newfloat} +% Now we can explain how to define a new class of floats. Recall that +% the three required arguments to |\newfloat| are \meta{type}, +% \meta{placement} and \meta{ext}, respectively. First we save the +% latter two. +% \begin{macrocode} +\def\newfloat#1#2#3{\@namedef{ext@#1}{#3} + \floatplacement{#1}{#2}% +% \end{macrocode} +% Then we figure out a default value for the `caption name' of this +% class of floats. If the |\fname@|\meta{type} isn't already defined, +% we tentatively use \meta{type} as the name. This is convenient if +% \meta{type} is, say, {\tt Program}, since no |\floatname| command +% is necessary at all. +% \begin{macrocode} + \expandafter\ifx\csname fname@#1\endcsname\relax + \floatname{#1}{#1}\fi +% \end{macrocode} +% Then we set up the type number for \LaTeX\ in |\ftype@|\meta{type}. +% Afterwards we have to set the |\float@type| to the next greater power +% of two, so that it is ready for the next |\newfloat|. Fortunately, +% we just have to double it by adding. We don't bother to check for overflow +% since it is pretty unlikely that somebody will define 25 different classes +% of floats. Finally, we call |\restylefloat| to define the style and +% commands for this class of floats. +% \begin{macrocode} + \expandafter\edef\csname ftype@#1\endcsname{\the\float@type}% + \advance\float@type by\float@type + \restylefloat{#1}% +% \end{macrocode} +% Now all that's left is to assemble the |\fnum@|\meta{type} macro +% that \LaTeX\ wants to use in its captions. Basically it is just +% `caption name'${}+{}$`counter value', disguised so that the command +% {\em names\/} appear in the definition instead of their expansions. +% \begin{macrocode} + \expandafter\edef\csname fnum@#1\endcsname% + {\expandafter\noexpand\csname fname@#1\endcsname{} + \expandafter\noexpand\csname the#1\endcsname} +% \end{macrocode} +% Finally, we have to take care of the optional argument, \meta{within}. +% If the optional argument is present, we pass control to |\@xnewfloat|. +% Otherwise, we just define the counter for this class of floats. +% By default, the numbers come out |\arabic|. +% \begin{macrocode} + \@ifnextchar[{\@xnewfloat{#1}}% + {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}% + {}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@xnewfloat} +% Here we deal with the optional argument to |\newfloat|. We have +% to create a new counter as per |\newcounter{|\meta{type}|}| +% and add that counter to the list of counters to be reset whenever +% counter \meta{within} is stepped. The standard command +% |\newcounter{|\meta{type}|}[|\meta{within}{\tt]} takes care of that. +% However, we can't define the \meta{type} counter if it's already defined. +% While this case is simply ignored when \meta{within} is not present, +% we issue a warning here since what comes out is probably not what the user +% expects. +% \begin{macrocode} +\def\@xnewfloat#1[#2]{\@ifundefined{c@#1}{\newcounter{#1}[#2]% + \expandafter\edef\csname the#1\endcsname{% + \expandafter\noexpand\csname + the#2\endcsname.\noexpand\arabic{#1}}}% + {\@warning{Can't redefine counter variable for #1.}}} +% \end{macrocode} +% \end{macro} +% +% We have to adapt some of \LaTeX's internal macros to our needs. +% There are several things that have to be changed around +% in order to provide the functionality of David Carlisle's {\tt here.sty}. +% The following is thus lifted from {\tt here.sty}, with changes and with +% David's permission: +% +% \begin{macro}{\@Hxfloat} +% We save the original version of |\@xfloat|. (This macro is called from +% |\@float|, which we used above to define the environment commands for a +% new class of floats.) +% \begin{macrocode} +\let\@Hxfloat\@xfloat +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@xfloat} +% The new version of |\@xfloat| looks for a |[H]| argument. +% If it is present |\@HHfloat| is called, otherwise the original macro +% (renamed to |\@Hxfloat|) is called. +% \begin{macrocode} +\def\@xfloat#1[{\@ifnextchar{H}{\@HHfloat{#1}[}{\@Hxfloat{#1}[}} +% \end{macrocode} +% \end{macro} +% Later on we'll need a box to save a |[H]| float. +% \begin{macrocode} +\newbox\float@box +\newif\if@flstyle +% \end{macrocode} +% \begin{macro}{\@HHfloat} +% First gobble the |[H]|. Note that {\tt H} should not be used in +% conjunction with the other placement options, nor as the value of the +% default placement, as set in |\fps@|{\it type}. +% \begin{macrocode} +\def\@HHfloat#1[H]{% +% \end{macrocode} +% Locally redefine the end of the environment. +% \begin{macrocode} + \expandafter\let\csname end#1\endcsname\float@endH +% \end{macrocode} +% We don't get a |\@currbox| if we don't actually use the float mechanism. +% Therefore we fake one using the |\float@box| defined above. +% \begin{macrocode} + \let\@currbox\float@box +% \end{macrocode} +% Now we save the current float class name for use in constructing the +% |\caption|. The caption box (defined below) is initialised to an empty +% box to avoid trouble with floats not having a caption. Then we start the +% box that'll hold the float itself. +% |\parindent| is set to zero for compatibility with the standard {\tt [h]} +% option. +% \begin{macrocode} + \def\@captype{#1}\setbox\@floatcapt=\vbox{}% + \expandafter\ifx\csname fst@#1\endcsname\relax + \@flstylefalse\else\@flstyletrue\fi + \setbox\@currbox=\vbox\bgroup\parindent\z@ +% \end{macrocode} +% The final |\ignorespaces| is needed to gobble any spaces or newlines +% after the {\tt[H]} tokens. +% \begin{macrocode} + \ignorespaces} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\float@makebox} +% Basically, we must arrange for `style commands' to be executed +% at certain points during the generation of the float. +% \LaTeX\ puts a float into a vertical box |\@currbox| which it takes +% off a list of empty boxes for insertions. When the |\float@makebox| macro +% is called, |\@currbox| contains the complete float, minus the caption +% --- we'll see later that we use our own |\caption| command to +% put the caption into a |\vbox| of its own. This is the only way +% we can control the position of the caption by the float style, +% regardless of where the caption appears in the float's input text itself. +% So the `style commands' are |\@fs@pre|, which is inserted at the +% very beginning of the float, |\@fs@mid|, which comes between the +% float and the caption (or the caption and the float, if captions are put +% at the top), and |\@fs@post|, which finishes off the float. +% The caption may appear at the top or at the bottom of the float, +% as defined by |\@fs@iftopcapt|. Therefore, before we hand the +% float to \LaTeX\ for positioning, it is taken apart and reassembled +% using the style commands. +% \begin{macrocode} +\def\float@makebox{% + \vbox{\hsize\columnwidth \@parboxrestore + \@fs@pre\@fs@iftopcapt + \ifvbox\@floatcapt\unvbox\@floatcapt\par\@fs@mid\fi + \unvbox\@currbox + \else\unvbox\@currbox + \ifvbox\@floatcapt\par\@fs@mid\unvbox\@floatcapt\fi + \fi\par\@fs@post\vskip\z@}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\float@end} +% The internal macro |\end@float| appears here under the name of |\float@end|. +% The main thing which is changed is that we call |\float@makebox| to +% reconstruct the float according to the float style. +% \begin{macrocode} +\def\float@end{\egroup + \global\setbox\@currbox\float@makebox +% \end{macrocode} +% Now \LaTeX\ takes over again. +% \begin{macrocode} + \ifnum\@floatpenalty <\z@ \@cons\@currlist\@currbox + \ifdim \ht\@currbox >\textheight + \ht\@currbox\textheight \fi + \ifnum\@floatpenalty < -\@Mii + \penalty -\@Miv \@tempdima\prevdepth + \vbox{}\prevdepth \@tempdima \penalty\@floatpenalty + \else \vadjust{\penalty -\@Miv + \vbox{}\penalty\@floatpenalty}\@Esphack + \fi\fi\egroup} +% \end{macrocode} +% (The final |\egroup| is not present in the original definition; +% we need it to finish off the |\bgroup| that precedes the +% |\@nameuse| in the |\begin{|\meta{float}|}| commands. +% This is to keep the style commands local.) +% \end{macro} +% +% \begin{macro}{\float@endH} +% The |\float@endH| command is, again, derived from {\tt here.sty}. It'll +% deal correctly with a non-floating float, inserting the proper amounts +% of white space above and below. +% \begin{macrocode} +\def\float@endH{\egroup \vskip\intextsep + \if@flstyle\float@makebox\else\box\@currbox\fi + \vskip\intextsep\egroup} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\float@dblend} +% The |\float@dblend| macro is an almost-verbatim copy of +% |\end@dblfloat| but for the last part, from |\fi\egroup| on. +% The |\egroup| is, of course, necessary because of the |\bgroup| +% at the very beginning of the float. And we have to call |\float@end| +% instead of |\end@float|, naturally. +% \begin{macrocode} +\def\float@dblend{\if@twocolumn + \par\vskip\z@\egroup + \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi + \ifnum \@floatpenalty =-\@Mii \@Esphack\fi\egroup\else\float@end\fi} +% \end{macrocode} +% \end{macro} +% +% Now for the caption routines. +% We use a box, |\@floatcapt|, to hold the caption while the float +% is assembled. +% \begin{macrocode} +\newbox\@floatcapt +% \end{macrocode} +% +% \begin{macro}{\caption} +% This is the only \LaTeX\ macro that this document style supersedes. +% Our |\caption| command checks whether there is a custom style +% defined for the current float (whose type can be found in |\@captype|). +% If so, the caption routines from {\tt float.sty} are used, otherwise +% we call the vanilla \LaTeX\ routines. +% The |\@flcapt| conditional is used to tell the float-assembly routines +% that there actually {\em is\/} a caption. We need this to properly handle +% {\tt figure}s and {\tt table}s that have been restyled. +% \begin{macrocode} +\def\caption{\refstepcounter\@captype + \expandafter\ifx\csname fst@\@captype\endcsname\relax + \let\@tempf\@caption + \else\let\@tempf\float@caption\fi \@dblarg{\@tempf\@captype}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\float@caption} +% The |\float@caption| macro takes care of entering the caption into +% the appropriate listing. It also controls the typesetting of the caption +% itself, although a style-dependent macro |\@fs@capt| is called +% to handle the specifics. Note that because the caption is saved in a box +% instead of being output to the float right away, you cannot simply put +% a legend after the caption proper; it has to follow the |\caption| +% command in an optional argument. +% +% First of all, we call |\addcontentsline| to update the list of +% floats of this class. Note that |\float@caption| is |\long| +% to allow for paragraph breaks in its arguments. +% \begin{macrocode} +\long\def\float@caption#1[#2]#3{\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}} +% \end{macrocode} +% Now we collect the caption proper. The caption name and number are +% taken from |\fnum@|\meta{float}, where \meta{float} is the class +% of float we're currently handling. +% \begin{macrocode} + \global\setbox\@floatcapt\vbox\bgroup\@parboxrestore + \normalsize\@fs@capt{\csname fnum@#1\endcsname}{\ignorespaces #3}% +% \end{macrocode} +% Finally we check for the presence of the optional argument. If there is +% one, we call |\float@ccon| to pick it up; otherwise, the |\egroup| +% finishes off the box. +% \begin{macrocode} + \@ifnextchar[{\float@ccon}{\egroup}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\float@ccon} +% The |\float@ccon| macro expands to the optional argument of a +% |\caption| command, followed by |\par\egroup|. Note that this +% precludes using |\verb| \& Co.\ in the optional argument; the +% interested reader is urged to fix this problem as an exercise. +% \begin{macrocode} +\long\def\float@ccon[#1]{#1\par\egroup} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\listof} +% The |\listof| command reads the desired list of floats from the +% appropriate auxiliary file. The file is then restarted. +% Currently the list appears at the chapter or the section level, depending +% on whether chapters are supported in the document style at all. +% First of all, we check whether the float style that's supposed to be +% listed is actually defined. If not, we output a |\float@error|. +% \begin{macrocode} +\def\listof#1#2{\expandafter\ifx\csname + ext@#1\endcsname\relax\float@error{#1}% +% \end{macrocode} +% All's well until now. We determine whether the list is going to be a +% chapter or a section, and we define the |\l@|\meta{float} command +% that \LaTeX\ needs for formatting the list. +% After that, we call |\@starttoc| with the correct file extension +% to do the actual work. +% \begin{macrocode} + \else + \@ifundefined{chapter}{\def\@tempa{\section*}}% + {\def\@tempa{\chapter*}}% + \@tempa{#2\@mkboth{\uppercase{#2}}{\uppercase{#2}}}% + \expandafter\def\csname + l@#1\endcsname{\@dottedtocline{1}{1.5em}{2.3em}}% + \@starttoc{\csname ext@#1\endcsname}\fi} +% \end{macrocode} +% \end{macro} +% +% \section{The Float Styles} +% +% Finally, we define the three standard float styles that were outlined +% in the Introduction. Every float style \meta{style} corresponds to a +% command |\fs@|\meta{style} which contains the definitions of the +% style commands, namely +% \begin{center}\begin{tabular}{rl} +% |\@fs@pre|&top of the float\\ +% |\@fs@mid|&between float and caption\\ +% |\@fs@post|&bottom of the float\\ +% |\@fs@capt|&formatting routine for caption\\ +% |\@fs@cfont|&font for caption name \& number +% \end{tabular}\end{center} +% +% \begin{macro}{\floatc@plain} +% The |\floatc@plain| macro formats a caption the way \LaTeX\ does +% it: if the caption is fairly short, it is centered, otherwise it is +% formatted as a paragraph. The only difference is that the portion +% containing the caption name and number uses the |\@fs@captfont|. +% \begin{macrocode} +\def\floatc@plain#1#2{\setbox\@tempboxa\hbox{{\@fs@cfont #1:} #2}% + \ifdim\wd\@tempboxa>\hsize {\@fs@cfont #1:} #2\par + \else\hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\fs@plain} +% The {\tt plain} float style is similar to what \LaTeX\ does of its +% own accord; the only difference is that the caption is guaranteed +% to come out at the bottom of the float. +% \begin{macrocode} +\def\fs@plain{\def\@fs@cfont{\rm}\let\@fs@capt\floatc@plain + \def\@fs@pre{}\def\@fs@post{}\def\@fs@mid{\vskip10pt\relax}% + \let\@fs@iftopcapt\iffalse} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\floatc@ruled} +% The |\floatc@ruled| command is even simpler than the +% |\floatc@plain| macro. The caption is simply printed `as is'. +% \begin{macrocode} +\def\floatc@ruled#1#2{{\@fs@cfont #1} #2\par} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fs@ruled} +% In the {\tt ruled} float style, the caption appears at the top of the +% float, preceded and followed by horizontal rules. +% Another rule followes the whole of the float. +% \begin{macrocode} +\def\fs@ruled{\def\@fs@cfont{\bf}\let\@fs@capt\floatc@ruled + \def\@fs@pre{\hrule height.8pt depth0pt \kern2pt}% + \def\@fs@post{\kern2pt\hrule\relax}% + \def\@fs@mid{\kern2pt\hrule\kern2pt}% + \let\@fs@iftopcapt\iftrue} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\fs@boxed} +% The {\tt boxed} float style puts the float into a box (which is slightly +% larger than the usual |\textwidth|). The caption appears below +% the box. +% \begin{macrocode} +\@namedef{fs@boxed}{\def\@fs@cfont{\bf}\let\@fs@capt\floatc@plain + \def\@fs@pre{\dimen0=\hsize \advance\dimen0 by6.8pt \hbadness10000 + \moveleft3.4pt\vbox\bgroup\hsize=\dimen0\hrule + \hbox to\dimen0\bgroup\vrule\kern3pt\vbox\bgroup\kern3pt}% + \def\@fs@mid{\kern3pt\egroup\kern3pt\vrule\egroup + \hrule\egroup\kern2pt}% + \def\@fs@post{}\let\@fs@iftopcapt\iffalse} +% \end{macrocode} +% \end{macro} +% +% Before we finish, we set the float style to {\tt plain}. +% \begin{macrocode} +\floatstyle{plain} +% \end{macrocode} +% Other float styles can be added without much ado. +% If there are many more float styles, it should be worthwhile +% to invent a scheme similar to that used in Frank Mittelbach's +% {\tt theorem} option in order to conserve space, i.e., put the +% float styles into individual files that can be loaded on demand. +% I would like to hear from people who define interesting +% float styles. +% \Finale +% \end{document} +\endinput diff --git a/obsolete/macros/latex209/contrib/misc/fnpara.sty b/obsolete/macros/latex209/contrib/misc/fnpara.sty new file mode 100644 index 0000000000..03e909b7e3 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/fnpara.sty @@ -0,0 +1,138 @@ +% FNPARA.STY +% A LaTeX style to typeset footnotes in run-on paragraphs. +% See end of this file (after \endinput) for comments. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% From LaTeX.tex : +\long\def\@footnotetext#1{\insert\footins{\footnotesize +%CCCC ---the next four lines are probably redundant, since: +% the paragraphing takes place later; +% and this style of footnote never gets split. + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox +%CCCC ---these two lines will need to be reproduced when doing the unboxing. + \hsize\columnwidth + \@parboxrestore +%CCCC + \floatingpenalty \@MM +\edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark} +%CCCC --- need to set each footnote in an hbox and apply +% the fudge factor here: + \setbox0=\hbox{% + \@makefntext +%CCCC --- this needs a parameter +% --- the rule should be moved to the beginning of the footnote +% paragraph: +% --- but the \ignorespaces should be left here. +% \rule{\z@}{\footnotesep} + {\ignorespaces + #1\strut +%CCCC --- penalty to help line breaking in footnote para goes here: +% value from TeXbook. + \penalty -10 + \hskip\footglue + } % end of parameter + } % end of \hbox + \dp0=0pt \ht0=\fudgefactor\wd0 \box0 + } % end of \footins + } % end of \def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%CCCC --- from TeXbook +\newskip\footglue \footglue=1em plus.3em minus.3em +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Cut down from ARTICLE.TEX : +\long\def\@makefntext#1{{$^{\@thefnmark}$}\nobreak\hskip.5em\relax#1} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% From LaTeX.TEX: +\def\@makecol{\ifvoid\footins \setbox\@outputbox\box\@cclv + \else\setbox\@outputbox + \vbox{\boxmaxdepth \maxdepth + \unvbox\@cclv\vskip\skip\footins\footnoterule + \global\setbox1\vbox{\makefootnoteparagraph}\unvbox1}\fi + \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats + \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth + \@texttop\dimen128=\dp\@outputbox\unvbox\@outputbox + \vskip-\dimen128\@textbottom} + \global\maxdepth\@maxdepth} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% From TeXbook, p.398 ff., AVOIDING the redefinition of \\ in LaTeX!! +{\catcode`p=12 \catcode`t=12 \gdef\@ennumber#1pt{#1}} + +{\footnotesize \newdimen\footnotebaselineskip +%CCCC --definitely needed: + \global + \footnotebaselineskip=\normalbaselineskip} + +\dimen0=\footnotebaselineskip \multiply\dimen0 by 1024 +\divide \dimen0 by \columnwidth \multiply\dimen0 by 64 +\xdef\fudgefactor{\expandafter\@ennumber\the\dimen0 } + +\def\makefootnoteparagraph{\unvbox\footins \makehboxofhboxes + \setbox0=\hbox{\unhbox0 \removehboxes} +%CCCC ---now we are ready to set the paragraph: + \hsize\columnwidth + \@parboxrestore + \baselineskip=\footnotebaselineskip + \noindent +%CCCC ---this is where the strut is needed: + \rule{\z@}{\footnotesep}% + \unhbox0\par} +\def\makehboxofhboxes{\setbox0=\hbox{} + \loop\setbox2=\lastbox \ifhbox2 \setbox0=\hbox{\box2\unhbox0}\repeat} +\def\removehboxes{\setbox0=\lastbox + \ifhbox0{\removehboxes}\unhbox0 \fi} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput + + FNPARA.STY + A LaTeX style to typeset footnotes in run-on paragraphs. + +History: + +A vain attempt at this LaTeX modification was tried in late +September 1988 by Dominik Wujastyk, and sent to TeXhax and UKTeX +for comment. Chris Rowley came up with a working +version a few days later, but it still needs thorough testing. + +The Style: + +This LaTeX style changes the way LaTeX does footnotes. With this +style invoked (\documentstyle[fnpara]{article}), footnotes will +be typeset in a running paragraph, instead of one above another. +It is suitable for texts such as critical editions, which contain +many short footnotes. + +This is based on the TeX macros described by Knuth in the +TeXbook, Dirty Tricks, pages 398--400. It is not tested beyond +some simple examples. In particular, it has not been tested +properly in connection with even the simplest of environments, nor with +other floats. + +(In fact, ordinary LaTeX footnotes sometimes do not work well +if they need splitting (e.g. producing blank pages, +or appearing in shufled form): but these +problems should not affect this style. +I --CR-- have sent in a Bug Report about some +of these problems.) + +Be aware of Knuth's note on the limitations of this method of +doing the job: the TeX stack is used four times per footnote, +and the stack is limited (TeXbook pp. 300--301). So if you have +very many footnotes (in the hundreds) and encounter + "! TeX capacity exceeded, sorry [... save size ...]" +errors, you may need to break your text into smaller sections. +Fortunately, this is very easy to do with LaTeX. And the +footnote counter can be reset to make the joins seamless. + +Chris Rowley +Office tel: (England) 01 794 0575 +Janet: CA_ROWLEY@UK.AC.OPEN.ACS.VAX + +Dominik Wujastyk +Office tel: (England) 01 387 4477 x 3013 +Janet: Wujastyk@UK.AC.UCL.EUCLID + + +October 3, 1988 diff --git a/obsolete/macros/latex209/contrib/misc/index.doc b/obsolete/macros/latex209/contrib/misc/index.doc new file mode 100644 index 0000000000..7060e05772 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/index.doc @@ -0,0 +1,1367 @@ +% \iffalse +% ==================================================================== +% @LaTeX-style-file{ +% author = "David M. Jones", +% version = "3.02", +% date = "15 September 1993", +% time = "15:11:39 EDT", +% filename = "index.doc", +% address = "MIT Laboratory for Computer Science +% Room NE43-316 +% 545 Technology Square +% Cambridge, MA 02139 +% USA", +% telephone = "(617) 253-5936", +% FAX = "(617) 253-3480", +% checksum = "61047 1367 6478 49767", +% email = "dmjones@theory.lcs.mit.edu", +% codetable = "ISO/ASCII", +% keywords = "LaTeX, index", +% supported = "yes", +% docstring = "This is a reimplementation of LaTeX's +% indexing macros to provide better support +% for indexing in LaTeX. For example, it +% supports multiple indexes in a single +% document and provides a more robust \index +% command. +% +% The checksum field above contains a CRC-16 +% checksum as the first value, followed by +% the equivalent of the standard UNIX wc +% (word count) utility output of lines, +% words, and characters. This is produced +% by Robert Solovay's checksum utility.", +% +% } +% ==================================================================== +% \fi +% +% \iffalse +% +% HOW TO INSTALL THIS FILE: +% +% If you have the latest versions of DocStrip and doc.sty installed on +% your system, type "tex index.doc" to unpack the files index.sty and +% sample.tex. Then install index.sty wherever style files belong on +% your system and read the comments at the beginning of sample.tex to +% see how to run the test. Finally, format the documentation by +% executing the following three commands: +% +% latex index.doc +% makeindex -s gind.ist index +% latex index.doc +% +% If you don't already have DocStrip and doc.sty installed on your +% system, you should get them from one of the following sources: +% +% ftp.uni-stuttgart.de:soft/tex/macros/latex/distribs/doc +% pip.shsu.edu:tex-archive/macros/latex/distribs/doc +% ftp.tex.ac.uk:tex-archive//macros/latex/distribs/doc +% +% If for some reason you really can't install the doc package on your +% system, then you can name this file index.sty and use it as a style +% file. However, you will likely notice some slowness in loading this +% file, due to the large number of comments that have to be skipped +% over. +% +% CAUTION: Use only as directed. Do not take internally. May cause +% rash if applied directly to skin. Federal law prohibits +% distributing without a proscription. +% +% __ __ +% / \ / \ +% / \ / \ +% / \ \ / \ \ +% / ) \ / ) \ +% \ ( / \ ( / +% \ \ / \ \ / +% \ / \ / +% \__/ \__/ +% || || +% || || +% ------ ------ +% +% Now the real fun starts. This file is designed to serve 4 (or 5, if +% you prefer) distinct functions: +% +% (1) In the absence of DocStrip, it can be named index.sty and used +% as a LaTeX style file. +% +% (2) It is a DocStrip batch file that can be used to unpack index.sty +% and sample.tex. This function is triggered when the file is used as +% an input file for plain TeX, i.e., when the command "tex index.doc" +% is executed. +% +% (3) It is the driver file for the documentation of index.sty. This +% function is triggered when the file is used as an input file for +% LaTeX, i.e., when the command "latex index.doc" is executed. +% +% (4) It is the source file for steps 2 and 3. +% +% To make this work, we have to be able to determine which of these +% cases we are in and take appropriate action. +% +% The next few lines of code accomplish this. First, note that if +% this file is used as input to the doc.sty \DocInput command, then +% the \iffalse ... \fi will cause this code to be ignored. Similarly, +% the guard prevents this code from being copied into any +% output files by DocStrip. +% +% Next comes the more interesting code. We need two auxiliary +% commands to make sure that the correct commands get executed at the +% correct time. In order to avoid impinging on the user's namespace, +% I use two macro names from index.sty. +% +% \proofmodetrue: This is a no-op, unless we are producing +% documentation (i.e., the user has typed "latex index.doc"), in +% which case it expands to the appropriate initialization code, +% namely a \documentstyle command, plus \MakePercentIgnore to set +% things up for doc.sty, and a call to \csname iffalse\endcsname +% to match the fi that follows. (The earlier iffalse was ignored +% because when that line was read, % was still a comment character +% and not an ignored character.) +% +% \renewindex: This eats its argument unless this file is being used +% as a DocStrip batchfile (i.e., the user has typed "tex +% index.doc"), in which case it simply regurgitates its argument. +% The commands inside the \renewindex commands are just normal +% DocStrip batchfile commands. +% +% Before doing anything else, we check to make sure that \newindex is +% not already defined. If it is, that means this file has already +% been loaded once as a style file (or else someone else has already +% defined a \newindex command), which means we should not load the +% file a second time. (This is the same test that will be used later +% to determine whether or not index.sty has already been loaded. So, +% if you are using index.doc as index.sty, this test will actually be +% made twice, but that should be ok.) +% +% Finally, we determine whether we are inside plain TeX or LaTeX by +% checking to see if \documentstyle is defined. If we are inside +% LaTeX, we check to see if we are being used as a style file or a +% documentation file by checking to see if the \catcode of @ is 11 +% (letter) or not. +% +% The braces around the first two blocks of code below are necessary +% because DocStrip will open this file and start reading it +% line-by-line. The braces ensure that the entire \ifx ... \fi +% structures are picked up at once. +% +% No doubt strange and terrible things will happen if you feed this +% file to any dialect of TeX other than plain TeX or LaTeX. +% +% The blame for much of the following code goes to David Wald +% , who forced me to adopt this approach +% after I had already come up with a safer alternative that was almost +% as easy to unpack. If anything goes wrong, it's his fault. +% +% \fi +% +% \iffalse +%<*install> +{\expandafter\ifx\csname newindex\endcsname\relax\else\endinput\fi} +{ + \global\let\proofmodetrue\relax + \expandafter\ifx\csname documentstyle\endcsname\relax + \gdef\renewindex#1{#1} + \else + \gdef\renewindex#1{} + \ifcat a\noexpand @\else + \gdef\proofmodetrue{% + \documentstyle[doc]{article}\MakePercentIgnore + \csname iffalse\endcsname + } + \fi + \fi +} +\renewindex{\def\batchfile{index.doc}} +\renewindex{\input docstrip.tex } +\renewindex{\generateFile{index.sty}{t}{\from{index.doc}{style}}} +\renewindex{\generateFile{sample.tex}{t}{\from{index.doc}{test}}} +\renewindex{\endinput} +\proofmodetrue +% +% \fi + +\def\fileversion{v3.02} +\def\filedate{15 September 1993} +\def\docdate {15 September 1993} + +%% \CheckSum{692} +%% \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 \~} +%% +% +% \DoNotIndex{\!,\/,\?,\@,\^,\_} +% \DoNotIndex{\@@par,\@M,\@auxout,\@bsphack,\@esphack,\@depth,\@ehc} +% \DoNotIndex{\@for,\@flushglue,\@gobble,\@gobbletwo,\@height,\@idxitem} +% \DoNotIndex{\@ifnextchar,\@ifstar,\@ifundefined,\@input,\@latexerr} +% \DoNotIndex{\@makeschapterhead,\@namedef,\@nameuse,\@nil} +% \DoNotIndex{\@nobreakfalse,\@restonecolfalse,\@restonecoltrue} +% \DoNotIndex{\@tempa,\@tempf,\@temptokena,\@themark,\@width} +% \DoNotIndex{\active,\aindex,\baselineskip,\begin,\begingroup,\box} +% \DoNotIndex{\c@page,\catcode,\chapter,\char,\chardef,\closeout} +% \DoNotIndex{\CodelineIndex,\sp,\sb,\label,\leavevmode,\mark} +% \DoNotIndex{\mark,\newinsert,\newwrite,\newtoks,\xdef} +% \DoNotIndex{\columnsep,\columnseprule,\columnwidth,\csname,\def} +% \DoNotIndex{\dimen,\do,\DocInput,\documentstyle,\edef,\else,\em} +% \DoNotIndex{\EnableCrossrefs,\end,\endcsname,\endgroup,\endinput} +% \DoNotIndex{\everypar,\expandafter,\fi,\filedate,\fileversion} +% \DoNotIndex{\footnotesize,\gdef,\global,\glossary,\hangindent} +% \DoNotIndex{\if@filesw,\if@nobreak,\if@twocolumn,\if@twoside} +% \DoNotIndex{\hsize,\hskip,\ifhmode,\ifmmode,\ifodd,\ifvmode,\ifx} +% \DoNotIndex{\immediate,\insert,\item,\jobname,\long} +% \DoNotIndex{\let,\lineskip,\marginparsep,\marginparwidth,\maxdimen} +% \DoNotIndex{\makeatletter,\noexpand,\openout,\protect,\rlap} +% \DoNotIndex{\min,\newpage,\nobreak,\normalbaselineskip} +% \DoNotIndex{\normallineskip,\p@,\par,\parfillskip,\parindent,\parskip} +% \DoNotIndex{\penalty,\relax,\section,\sin,\sloppy,\space,\string} +% \DoNotIndex{\tableofcontents,\the,\thepage,\thispagestyle,\toks,\tt} +% \DoNotIndex{\twocolumn,\typeout,\uppercase,\vbox,\vrule,\vskip,\vss} +% \DoNotIndex{\write,\z@,\z@skip} +% +% \MakeShortVerb{\=} +% +% \setcounter{StandardModuleDepth}{1} +% +% \CodelineIndex +% +% \title{A new implementation of \LaTeX's indexing +% commands\thanks{This file has version number \fileversion, +% last revised \filedate, documentation dated \docdate. The +% definitive version of this file is +% {\tt theory.lcs.mit.edu:pub/tex/index.doc}.}} +% +% \author{David M. Jones} +% +% \date{\filedate} +% +% \begin{document} +% +% \maketitle +% +% \section{Introduction} +% +% This style file reimplements \LaTeX's indexing macros to provide +% better and more robust support for indexes. In particular, it +% provides the following features: +% \begin{enumerate} +% +% \item +% Support for multiple indexes. +% +% \item +% A $*$-variant of the =\index= command that, in addition to putting +% it's argument in the index, also typesets it in the running text. +% +% \item +% A =\shortindexingon= command that makes =^= and =_= shorthand for +% =\index= and =\index*=, respectively (but only outside of math mode, +% of course). This can be turned of with the =\shortindexingoff= +% command. +% +% \item +% The {\tt showidx} style option has been merged into this file. The +% command =\proofmodetrue= can be used to enable the printing of index +% entries in the margin of pages. The size and style of font can be +% controlled with the =\indexproofstyle= command. +% +% \item +% A two-stage process for creating the raw index files, similar to +% that used to create tables of contents. This means that if you have +% a large document consisting of several =\include='d files, you no +% longer lose the index if you format only part of the document with +% =\includeonly=. +% +% \item +% The =\index= command has been rewritten to be more robust. In +% particular, it no longer depends on =\catcode= changes to work +% properly, so the new =\index= command can be used in places that the +% original couldn't, such as inside the arguments of other macros. +% +% \end{enumerate} +% +% +% \section{Creating an index with \LaTeX} +% +% Conceptually, there are three stages to creating an index with +% \LaTeX. First, the raw index information has to be written out to a +% file. Then, the raw information needs to be processed and turned +% into a finished index. Finally, the finished index has to be read +% back in by \LaTeX\ and formated. +% +% In \LaTeX, this is accomplished with the commands =\makeindex=, +% =\index=, =\printindex=, and (most often) with the auxiliary program +% {\tt makeindex}. Assuming that your main file is called {\tt +% foo.tex}, =\makeindex= opens the file {\tt foo.idx} and initializes +% it for holding the raw index entries and =\index= is used to put raw +% index entries into {\tt foo.idx}. Then the raw index file is +% processed by {\tt makeindex}, which puts the finished index in {\tt +% foo.ind}. Finally, the =\printindex= command is used in your +% \LaTeX\ document to indicate where the file {\tt foo.idx} should be +% read back in, i.e., where the index should appear in your document. +% +% This style modifies the =\makeindex=, =\index=, and =\printindex= +% commands, as described below. +% +% +% \section{The user interface} +% +% There are four pieces of information associated with each index: +% \begin{enumerate} +% +% \item +% A short, unique tag that identifies the index. +% +% \item +% The extension of the output file where the raw index information +% will be put by \LaTeX. +% +% \item +% The extension of the input file where the processed information will +% be put by {\tt makeindex} to be read in later by \LaTeX. +% +% \item +% The title of the index. +% +% \end{enumerate} +% +% +% \DescribeMacro{\newindex} +% Correspondingly, the =\newindex= command takes four arguments. For +% example, if you wanted to declare an author index, you might use the +% following: +% \begin{verbatim} +% \newindex{aut}{adx}{and}{Name Index} +% \end{verbatim} +% Here, =aut= is the tag used to identify the author index, and ``Name +% Index'' is the title of the index. If the name of your main file is +% =root.tex=, then \LaTeX\ will write the raw index entries to the +% file =root.adx=, and you will execute the following {\tt makeindex} +% command to process the author index: +% \begin{verbatim} +% makeindex -o root.and root.adx +% \end{verbatim} +% +% +% \DescribeMacro{\renewindex} +% The =\renewindex= command takes the same four arguments as the +% =\newindex= command and can be used to redefine indexes that have +% been previously declared. +% +% +% \DescribeMacro{\makeindex} +% For backwards compatibility, the =\makeindex= command is redefined +% to use =\newindex=. It is essentially equivalent to +% \begin{verbatim} +% \newindex{default}{idx}{ind}{Index} +% \end{verbatim} +% The index labeled =default= is special: it is the one that will be +% used by =\index= and =\printindex= unless another index is +% specified (see below). +% +% +% \DescribeMacro{\printindex} +% The =\printindex= command is modified by the addition of an optional +% argument, which is the tag of the index that should be printed. +% +% +% \DescribeMacro{\index} +% The =\index= command is modified in two ways. First, there is a +% $*$-variant of the command that, in addition to putting its +% argument in an index, also typesets it on the page. Second, +% =\index= now takes an optional argument that should be the tag of +% the index where its argument should be put. If no such tag is +% supplied, the =default= index (such as that opened by =\makeindex= +% above) is used. +% +% +% \DescribeMacro{\shortindexingon} +% \DescribeMacro{\shortindexingoff} +% Perhaps the most dubious feature of =index.sty= is that it allows +% you to define the characters =^= and =_= to be abbreviations for +% =\index*= and =\index= outside of math mode. These abbreviations +% are enables by the =\shortindexingon= command and disabled by the +% =\shortindexingoff= command. Both of these commands make their +% changes locally rather than globally, so they can be used to enable +% or disable the abbreviations within a group. (This might be useful, +% for example, if you wanted the abbreviations turned on throughout +% most of the documentation, but turned off in one particular +% environment.) In addition, +% \DescribeMacro{shortindexingon}=shortindexingon= can be used as an +% environment if that seems appropriate. +% +% +% \DescribeMacro{\proofmodetrue} +% \DescribeMacro{\proofmodefalse} +% \DescribeMacro{\indexproofstyle} +% As mentioned above, the =showidx= document-style option has been +% merged into =index.sty=. It can be turned on with =\proofmodetrue= +% and turned off with =\proofmodefalse=. When it is turned on, +% all\footnote{Well, most, at least. There are some circumstances +% under which the index entries won't show up in the proofs, although +% they will show up in the index.} index entries will be put in the +% margin of the page where they appear. By default, they appear in +% the typewriter font at =\footnotesize=, but the user can override +% this with the =\indexproofstyle= command, for example, +% \begin{verbatim} +% \indexproofstyle{\footnotesize\it} +% \end{verbatim} +% will cause them to be put in italics instead. +% +% +% \DescribeMacro{\disableindex} +% There are some circumstances where it might be helpful to suppress +% the writing of a particular raw index file. The =\disableindex= +% command is provided for this purpose. It takes one argument, a +% comma-separated list of tags of the indexes that should be disabled. +% This command should come {\em before\/} the declarations for the +% indexes that are being disabled\footnote{This limits its usefulness +% somewhat, but since the output file for an index is opened when the +% index is declared, the damage has already been done. We could close +% the file, but we can't prevent a new output stream from being +% allocated and we can't keep the old file from being truncated.}. +% One situation where the =\disableindex= command might be useful is +% if you have so many indexes that you are exhausting \TeX's supply of +% output streams\footnote{\TeX\ only has 16 output streams, which are +% allocated with the {\tt\string\newwrite} command. The standard +% \LaTeX\ styles use from 3 to 7 of these, which should leave room for +% up to 9 indexes. Of course, if you have extra output files, then +% there will be fewer output streams left for indexes.}. For example, +% suppose you have 10 indexes, but only 5 output streams available for +% indexes. Then you could add a =\disableindex= command to the top of +% your file to suppress the writing of all but 5 of the indexes. +% (Note that the index entries would still get written to the =.aux= +% file; they just wouldn't get copied to the individual raw index +% files at the end of the run.) At the end of the run, you could then +% re-run your main file a couple of times with different indexes +% disabled until you had created all of the raw index files. This is +% somewhat clumsy, but safer than any alternative I've come up +% with\footnote{A less clumsy (for the user, at least) solution would +% be to read the =.aux= file multiple times at the end of the run, +% each time writing just one of the raw index files. The main +% disadvantage of this scheme is that it would require a modification +% of {\tt\string\enddocument}.}. +% +% +% \section{Caveats} +% +% In order to implement this style file, it's been necessary to modify +% a number of \LaTeX\ commands seemingly unrelated to indexing, +% namely, =\@starttoc=, =\raggedbottom=, =\flushbottom=, +% =\addcontentsline=, =\markboth=, and =\markright=. Naturally, this +% could cause incompatibilities between {\tt index.sty} and any style +% files that either redefine these same commands or make specific +% assumptions about how they operate. See Section~\ref{sec:thecode} +% for explanations of why these various commands needed modification. +% +% It's also been necessary to modify the =\theindex= environment, but +% I've tried to do so very conservatively. If your style file uses +% =\indexname= and your definition of =\theindex= doesn't take any +% arguments, you should be ok. Otherwise, you'll have to redefine the +% =\theindex= environment yourself if you don't want the \LaTeX\ {\tt +% book.sty} default. +% +% In the current implementation, {\tt index.sty} uses one output +% stream for each index. Since there are a limited number of output +% indexes, this means that there is a limit on the number of indexes +% you can have in a document. See the description of =\disableindex= +% for a fuller discussion of this problem and one way around it. +% +% +% \section{To do's} +% +% It might be nice if the =\index*= command parsed its argument so +% that, for example, instead of writing `=\index{sin@$\sin$}$\sin$=', +% one could write `=\index*{sin@$\sin$}='. However, this fraught with +% numerous dangers, and I'm both too lazy and too cowardly to +% undertake it now. +% +% Maybe the user should be given the option of deciding which +% characters are used for the shortindexing abbreviations +% +% The documentation should be carefully read, edited, and finished. +% (In particular, I should add some scathing comments about some of +% the problems that made it necessary to redefine so many of \LaTeX's +% commands.) +% +% Maybe it would be nice if this package were compatible with plain +% \TeX. +% +% \StopEventually{} +% +% \section{The code} +% \label{sec:thecode} +% +% As is customary, we first make sure the file is loaded only once. +% Then we print an identifying message to the terminal. +% loaded +% \begin{macrocode} +%<*style> +\@ifundefined{newindex}{}{\endinput} + +\typeout{Style-Option: `index' \fileversion\space <\filedate> (dmj)} +% \end{macrocode} +% +% \begin{macro}{\@ifundefined} +% We begin by redefining the \LaTeX\ command =\@ifundefined= to +% prevent it from expanding its arguments prematurely. This also +% requires us to redefine =\@leftmark= and =\@rightmark= to make them +% =\long=. The following three definitions are borrowed from {\tt +% amsart.sty}, v1.1b $\langle$31 Jul 1991$\rangle$. I rely heavily +% upon this more robust definition of =\@ifundefined=. +% \begin{macrocode} +\def\@ifundefined#1{% + \expandafter\ifx\csname#1\endcsname\relax + \expandafter\@leftmark + \else + \expandafter\@rightmark + \fi +} + +\long\def\@leftmark#1#2{#1} +\long\def\@rightmark#1#2{#2} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\disableindex} +% The =\disableindex= should come before the declarations of the +% indexes it refers to. (Question: If an index has been disabled, +% should it show up in index proofs? Maybe there should be a separate +% command to disable index proofs on and index-by-index basis.) +% \begin{macrocode} +\def\disableindex#1{% + \@for\@tempa:=#1\do{% + \@namedef{disable@\@tempa}{}% + \@ifundefined{tf@\@tempa}{}{% + \typeout{index.sty> Warning! It's too late to disable the + `\@tempa' index; the output}% + \typeout{index.sty> file \jobname.\@tempa\space has already + been opened for output. You should}% + \typeout{index.sty> put the \string\disableindex\space + command before the declaration of the}% + \typeout{index.sty> `\@tempa' index.}% + }% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\if@newindex} +% \begin{macro}{\newindex} +% \begin{macro}{\renewindex} +% The =\newindex= and =\renewindex= commands are defined on analogy +% with the =\[re]newcommand= macros. Each index is identified by a +% unique tag, which is specified in the first argument of =\newindex=. +% Most of the information about the index labeled \meta{tag} is kept +% in the macro =\idx@=\meta{tag}, so we can check to see if a +% particular index has already been defined by checking whether +% =\idx@=\meta{tag} is defined. =\newindex= and =\renewindex= both +% check to see if their first argument is already associated with an +% index and then either issue an appropriate error message or call +% =\@newindex=. +% +% The =\if@newindex= flag will be used to keep =\renewindex= from +% re-allocating =\write= and =\toks= registers later. +% \begin{macrocode} +\newif\if@newindex + +\def\newindex#1{% + \@ifundefined{idx@#1}% + {\@newindextrue\@newindex{#1}}% + {% + \@latexerr{Index type `\string#1' already defined}\@ehc + \expandafter\@gobble\@gobbletwo + }% +} + +\def\renewindex#1{% + \@ifundefined{idx@#1}% + {% + \@newindextrue + \@latexerr{Index type `\string#1' not defined}\@ehc + }% + {\@newindexfalse}% + \@newindex{#1}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@preamblecmds} +% Neither =\newindex=, =\renewindex=, nor =\disableindex= should be +% used anywhere except inside style files or in the preamble of a +% document, so we add them to the =\@preamblecmds= list. +% \begin{macrocode} +\begingroup + \def\do{\noexpand\do\noexpand}% + \xdef\@preamblecmds{% + \@preamblecmds + \do\newindex + \do\renewindex + \do\disableindex + } +\endgroup +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@newindex} +% =\@newindex= does most of the work. First, it picks up the first +% three arguments of the =\[re]newindex= command and stores the second +% two in an appropriate =\idx@= macro. The title of the index is +% treated differently, however, since it is potentially fragile in a +% particularly odd way. To prevent mishaps, it is stored in a token +% register. In addition to stashing away the information about the +% index, =\@newindex= also opens an appropriate output files if we are +% writing auxiliary files (i.e., unless =\nofiles= has been called). +% +% \begin{macro}{\my@newtoks} +% Since we need to declare new token registers on the fly, we need a +% non-=\outer= version of =\newtoks=. +% \begin{macrocode} +\def\my@newtoks{\csname newtoks\endcsname} + +\def\@newindex#1#2#3{% + \@namedef{idx@#1}{#2:#3}% + \if@filesw + \@ifundefined{disable@#1}{% + \if@newindex + \expandafter\newwrite\csname tf@#1\endcsname + \expandafter\my@newtoks\csname idxtitle@#1\endcsname + \else + \immediate\closeout\@nameuse{tf@#1}% + \fi + \immediate\openout\@nameuse{tf@#1}=\jobname.#2 % + \typeout{index.sty> Writing index file \jobname.#2 }% + } + {\typeout{index.sty> Index `#2' disabled -- not opening + \jobname.#2 }}% + \fi + \expandafter\csname idxtitle@#1\endcsname +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@second} +% This is a useful macro for retreiving the second field of an index +% specification. +% \begin{macrocode} +\def\@second#1:#2\@nil{#2} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@nearverbatim} +% \begin{macro}{\@meaning} +% =\@nearverbatim\foo= is much like =\meaning\foo=, except that it +% suppresses the ``=macro ->='' string produced when =\meaning= +% expands a macro. It is used by =\@wrindex= and =\@vwritefile= to +% produce an ``almost verbatim'' copy of their arguments. This method +% replaces the use of =\@sanitize= from latex.tex and allows indexing +% macros to be used in places (such as inside macro arguments) where +% the original =\index= command could not. Thanks to Donald Arseneau +% $\langle${\tt asnd@erich.triumf.ca}$\rangle$ for pointing out this +% trick to me. (For more information on this trick, see Dirty Trick +% \#3 of the \TeX book, page 382). +% +% As defined, \@nearverbatim only works on macros. It would be nice +% if it could work with other tokens, but it's more important that it +% work only by expansion, which means we can't put in tests to see +% what the next token is. +% \begin{macrocode}{\@nearverbatim} +\def\@nearverbatim{\expandafter\@meaning\meaning} + +\def\@meaning#1>{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% Now we define the =\index= macro itself. The following definitions +% are adapted from {\tt latex.tex} v2.09 $\langle$25 March +% 1992$\rangle$. +% +% \begin{macro}{\makeindex} +% First we redefine =\makeindex= to define the default index using +% =\newindex=. We use =\edef= to make sure that =\indexname= gets +% expanded here. Otherwise we'll get into an infinite loop later on +% when we try to redefine =\indexname= inside the =\theindex= +% environment. +% \begin{macrocode} +\edef\makeindex{% + \noexpand\newindex{default}{idx}{ind}{% + \expandafter\ifx\csname indexname\endcsname\relax + Index% + \else + \indexname + \fi + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\if@silentindex} +% \begin{macro}{\if@addtoindex} +% \begin{macro}{\if@proofmode} +% We need three new flags. The first, =\if@silentindex=, indicates +% whether the entry should be typeset in running text, as well as +% written out to the index; this is used to implement the =\index*= +% command. The second, =\if@addtoindex=, indicates whether entries +% should be written to the index; this is used to disable the =\index= +% command inside of page headings and tables of contents. The third, +% =\ifproofmode=, indicates whether index entries should be put in the +% margin of the page for proofing purposes. +% \begin{macrocode} +\newif\if@silentindex\@silentindextrue + +\newif\if@addtoindex\@addtoindextrue + +\newif\ifproofmode\proofmodefalse +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\index} +% \begin{macro}{\p@index} +% \begin{macro}{\x@index} +% =\index= will be made self-protecting (a la =\em=, etc.) so it can +% be used inside, for example, sectioning commands. Unfortunately, to +% really make =\index= robust, we have to redefine some of \LaTeX's +% commands for dealing with tables of contents and page headings. +% (See below.) $*$sigh$*$ +% \begin{macrocode} +\def\index{\protect\p@index} + +\def\p@index{% + \if@silentindex\@bsphack\fi + \@ifstar{\@silentindexfalse\@xindex}{\@silentindextrue\@xindex}% +} + +\def\@xindex{\@ifnextchar[{\@index}{\@index[default]}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@index} +% \begin{macro}{\@@index} +% \begin{macro}{\@wrindex} +% The following is much more complicated than it should have to be. +% First, note the check to see if =\index= is equal to =\@gobble=. +% This is so I don't have to redefine =\@outputpage=, which +% temporarily disables =\label=, =\index=, and =\glossary= by +% =\let='ing them equal to =\@gobble=. (For this reason, we have to +% be very careful to make sure that =\index= has expanded to +% =\p@index= before it gets to =\@outputpage=.) Second, note that if +% =\if@addtoindex= is false, we don't complain about undefined index +% types. This is because if your page headings, for example, are +% being typeset in all uppercase, you might end up with something like +% =\index[AUT]{...}= instead of =\index[aut]{...}=. +% \begin{macrocode} +\def\@index[#1]{% + \ifx\index\@gobble + \@addtoindexfalse + \fi + \def\@tempf{\@@index{#1}}% + \if@addtoindex + \@ifundefined{idx@#1}% + {% + \def\@tempf{% + \@latexerr{Index type `\string#1' undefined}% + \@ehc + \@silentindextrue + \@gobble + }% + }% + {}% + \fi + \@tempf +} + +\def\@@index#1#2{% + \if@addtoindex + \if@filesw\@wrindex{#1}{#2}\fi + \ifproofmode\@showidx{#2}\fi + \fi + \if@silentindex\expandafter\@esphack\else\@silentindextrue#2\fi +} + +\def\@wrindex#1#2{% + \begingroup + \let\thepage\relax + \def\@tempa{#2}% + \edef\@tempa{% + \write\@auxout{% + \string\@vwritefile{#1}{% + \string\indexentry{\@nearverbatim\@tempa}{\thepage}% + }% + }% + }% + \expandafter\endgroup\@tempa + \if@nobreak\ifvmode\nobreak\fi\fi +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\seename} +% \begin{macro}{\see} +% \begin{macro}{\printindex} +% \begin{macro}{\@printindex} +% The following are adapted from {\tt makeidx.sty}, v2.09 $\langle$21 +% Oct 91$\rangle$. +% \begin{macrocode} +\@ifundefined{seename}{\def\seename{see}}{} + +\def\see#1#2{{\em \seename\/} #1} + +\def\printindex{\@ifnextchar [{\@printindex}{\@printindex[default]}} + +\def\@printindex[#1]{% + \def\@indextype{#1}% + \@ifundefined{idx@#1}% + {\@latexerr{Index type `\string#1' undefined}\@ehc}% + {% + \edef\@tempa{\@nameuse{idx@#1}}% + \@input{\jobname.\expandafter\@second\@tempa\@nil}% + }% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@indexstar@} +% Now we set things up for =\shortindexing=. First, we define a +% one-token shorthand for =\index*=. This will be needed in the +% definition of =\idx@activehat=. +% \begin{macrocode} +\def\@indexstar@{\index*} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\idx@activehat} +% \begin{macro}{\idx@activebar} +% Next, we define the values that =^= and =_= will have when +% shortindexing is turned on. +% \begin{macrocode} +\def\idx@activehat{% + \relax + \ifmmode\expandafter\sp\else\expandafter\@indexstar@\fi +} + +\def\idx@activebar{ + \relax + \ifmmode\expandafter\sb\else\expandafter\index\fi +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\shortindexingon} +% \begin{macro}{\shortindexingoff} +% Now we define the =\shortindexingon= and =\shortindexinoff= commands +% to turn shortindexing on and off (surprise!). =\shortindexingon= +% saves the old definitions and =\catcode='s of =^= and =_= so they +% can later be restored by =\shortindexingoff=. Both of these make +% their changes local to any enclosing group, so they can be used as +% declarations to disable or enable shortindexing temporarily. In +% addition, {\tt shortindexingon} can also be used as an environment. +% +% This is potentially very confusing. My basic rationale (if it can +% be described as such) was that under normal circumstances, one would +% put =\shortindexingon= in the preamble of one's document, and never +% want to turn it off. =\shortindexingoff= is an attempt to make +% allowance for the contingency that someone might want to turn +% shortindexing off, either permanently or temporarily. +% \begin{macrocode} +\newif\if@shortindexing + +\begingroup + + \catcode`\^=\active + \catcode`\_=\active + + \gdef\shortindexingon{% + \@shortindexingtrue + \chardef\old@idxhatcode=\catcode`\^\relax + \chardef\old@idxbarcode=\catcode`\_\relax + \catcode`\^=\active + \catcode`\_=\active + \let\old@idxhat=^% + \let\old@idxbar=_% + \let^\idx@activehat + \let_\idx@activebar + } + + \gdef\shortindexingoff{% + \if@shortindexing + \@shortindexingfalse + \let^=\old@idxhat + \let_=\old@idxbar + \catcode`\^=\old@idxhatcode + \catcode`\_=\old@idxbarcode + \fi + } + +\endgroup +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% Now we redefine =\theindex=. We try to make the minimal possible +% change, but if the user's style doesn't know about =\indexname=, we +% have no alternative but to redefine the entire environment and issue +% a warning. +% +% Thanks to Alan Jeffrey $\langle${\tt +% alanje@cogs.sussex.ac.uk}$\rangle$ for pointing out how the package +% should behave when =\indexname= is already defined and for the code +% to implement that case. +% \begin{macrocode} +\expandafter\ifx\csname indexname\endcsname\relax + + \typeout{index.sty> Uh oh! It looks like your document style + doesn't use \string\indexname.} + \typeout{index.sty> I'll have to redefine the + \string\theindex\space environment, using} + \typeout{index.sty> the `book' style default.} + + \def\indexname{Index} +% \end{macrocode} +% The following is adapted from {\tt book.sty} v2.09 $\langle$14 Jan +% 92$\rangle$. +% \begin{macrocode} + \def\theindex{% + \@restonecoltrue + \if@twocolumn\@restonecolfalse\fi + \columnseprule\z@ \columnsep 35\p@ + \edef\@indexname{% + \expandafter\the\@nameuse{idxtitle@\@indextype}% + }% + \twocolumn[\@makeschapterhead{\@indexname}]% + \@mkboth{\uppercase{\@indexname}}{\uppercase{\@indexname}}% + \thispagestyle{plain}% + \parindent\z@ + \parskip\z@ plus .3\p@\relax\let\item\@idxitem + } + +\else + + \@temptokena={% + \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% + } + \toks0=\expandafter{\theindex} + \edef\theindex{\the\@temptokena\the\toks0} + +\fi +% \end{macrocode} +% +% \begin{macro}{\@vwritefile} +% \begin{macro}{\x@vwritefile} +% \begin{macro}{\y@vwritefile} +% Now we define the =\@vwritefile= macro, which copies information +% from the =aux= file to one of the other auxiliary files. +% =\@vwritefile= performs essentially the same function as +% =\@writefile=, except that it does not expand it second argument +% (i.e., it writes it out verbatim (well, almost verbatim)). +% +% NOTE: There doesn't seem to be any reason why =\@writefile= *should* +% expand its second argument and in fact, we later redefine +% =\addcontentsline= to use =\@vwritefile= instead of =\@writefile=. +% A slight extension of this idea could be used to solve the problem +% of fragility in sectioning commands. +% +% =\@vwritefile=, like =\@writefile=, should be disabled when the +% =aux= file is being read by =\begin{document}=. To avoid having to +% redefine =\document=, we make the behaviour of =\@vwritefile= +% conditional on the current meaning of =\@writefile=. +% \begin{macrocode} +\def\@vwritefile{% + \ifx\@writefile\@gobbletwo + \expandafter\@gobbletwo + \else + \expandafter\x@vwritefile + \fi +} + +\def\x@vwritefile#1{% + \@ifundefined{tf@#1}{\@gobbletwo}{\y@vwritefile}{#1}% +} + +\long\def\y@vwritefile#1#2{% + \def\@tempa{#2}% + \immediate\write\csname tf@#1\endcsname{\@nearverbatim\@tempa}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% Now we take some code from {\tt showidx.sty} and merge it into our +% new system. There are four reasons for redefining the commands here +% rather than just inputting {\tt showidx.sty} (or requiring the user +% to do so). First, {\tt showidx.sty} ends with a call to +% =\flushbottom=, which I want to avoid. Second, the instructions for +% successfully using {\tt showidx.sty} along with {\tt index.sty} +% would be somewhat tricky. This way, I can just tell users not to +% use {\tt showidx.sty} at all. Third, I need to make some +% alterations to =\@showidx= anyway. In particular, (a) I need to add +% the =\@sanitizeat= command so this works correctly with AMS-\LaTeX\ +% and (b) I want to add the =\indexproofstyle= command so the user can +% customize the size and font used for the index proofs. Finally, +% {\tt showidx.sty} has at least two annoying bugs in it. See the +% edit-history for version 2.01 for a description. +% +% \begin{macro}{\@indexbox} +% This code is adapted from {\tt showidx.sty}, v2.09 $\langle$16 Jun +% 1991$\rangle$. +% \begin{macrocode} +\newinsert\@indexbox + +\dimen\@indexbox=\maxdimen +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@sanitizeat} +% The definition of =\@sanitizeat= is slightly tricky, since we need +% =@= to be active when this macro is defined, but we also need it to +% be part of the control sequence name. +% \begin{macrocode} +\begingroup + \catcode`\@=\active + \expandafter\gdef\csname\string @sanitizeat\endcsname + {\def @{\char`\@}} +\endgroup +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\indexproofstyle} +% \begin{macro}{\@showidx} +% \begin{macro}{\@leftidx} +% \begin{macro}{\@rightidx} +% \begin{macro}{\@mkidx} +% \begin{macro}{\raggedbottom} +% \begin{macro}{\flushbottom} +% \begin{macro}{\@texttop} +% Note the cautious way of calling =\reset@font=, which is necessary +% for this to work correctly under both the Old and New Font Selection +% Schemes. +% \begin{macrocode} +\newtoks\indexproofstyle + +\indexproofstyle{\footnotesize\csname reset@font\endcsname\tt} + +\def\@showidx#1{% + \insert\@indexbox{% + \@sanitizeat + \the\indexproofstyle + \hsize\marginparwidth + \hangindent\marginparsep \parindent\z@ + \everypar{}\let\par\@@par \parfillskip\@flushglue + \lineskip\normallineskip + \baselineskip .8\normalbaselineskip\sloppy + \raggedright \leavevmode + \vrule \@height .7\normalbaselineskip \@width \z@\relax#1\relax + \vrule \@height\z@ \@depth.3\normalbaselineskip \@width\z@\relax + }% + \ifhmode\penalty\@M \hskip\z@skip\fi +} + +\def\@leftidx{\hskip-\marginparsep \hskip-\marginparwidth} + +\def\@rightidx{\hskip\columnwidth \hskip\marginparsep} + +\def\@mkidx{% + \vbox to \z@{% + \rlap{% + \if@twocolumn + \if@firstcolumn \@leftidx \else \@rightidx \fi + \else + \if@twoside + \ifodd\c@page \@rightidx \else \@leftidx \fi + \else + \@rightidx + \fi + \fi + \box\@indexbox + }% + \vss + }% +} + +\def\raggedbottom{% + \def\@textbottom{\vskip\z@ plus.0001fil}% + \let\@texttop\@mkidx +} + +\def\flushbottom{\let\@textbottom\relax \let\@texttop\@mkidx} + +\let\@texttop\@mkidx +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% Now, this next bit really gets up my nose. The only way to make +% sure that the =\index= command gets handled correctly when used +% inside of sectioning commands is to redefine a bunch of \LaTeX's +% table of contents and running-heads macros. $*$blech$*$ Fragility +% rears its ugly head again. (Incidentally, it should be possible to +% use the =\@nearverbatim= trick to make arguments of sectioning +% commands robust. I'll have to explore this.) +% +% These are based on {\tt latex.tex} 2.09 $\langle$25 March +% 1992$\rangle$. +% +% \begin{macro}{\addcontentsline} +% We need to redefine =\addcontentsline= to keep it from expanding +% =\index= commands too far. In particular, we have removed =\index= +% from the list of macros that are set equal to =\@gobble= and we +% substitute =\@vwritefile= for =\@writefile=. This latter change +% also means that we can simplify the definition of =\protect= +% somewhat. +% \begin{macrocode} +\def\addcontentsline#1#2#3{% + \if@filesw + \begingroup + \let\label\@gobble + \let\glossary\@gobble + \def\protect##1{\string##1\space}% + \@temptokena{\thepage}% + \edef\@tempa{% + \write\@auxout{% + \string\@vwritefile{#1}{\string\contentsline{#2}{#3}% + {\the\@temptokena}}% + }% + }% + \@tempa + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@starttoc} +% We need to redefine =\@starttoc= to =\@addtoindexfalse= so that items +% don't get written to the index from within tables of contents. The +% only change here is the addition of =\@addtoindexfalse=. +% \begin{macrocode} +\def\@starttoc#1{% + \begingroup + \@addtoindexfalse + \makeatletter + \@input{\jobname.#1}% + \if@filesw + \expandafter\newwrite\csname tf@#1\endcsname + \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax + \fi + \global\@nobreakfalse + \endgroup +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\markboth} +% \begin{macro}{\markright} +% Finally, we have to redefine =\markboth= and =\markright= to keep +% them from disabling the expansion of =\index= while putting section +% heads into the =\mark=. Otherwise, we'd end up with ``=\index='' in +% the mark, which would cause problems when =\@outputpage= redefines +% =\index= to be equal to =\@gobble=. Instead, we want =\index= to +% expand to =\p@index= in the =\mark=, so we retain control over what +% happens in \@outputpage. +% +% This time, the only change is to remove =\index= from the list of +% macros that are =\let= equal to =\relax=. +% \begin{macrocode} +\def\markboth#1#2{% + \gdef\@themark{{#1}{#2}}% + \begingroup + \let\protect\noexpand + \let\label\relax + \let\glossary\relax + \mark{\@themark}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi +} + +\def\markright#1{% + \begingroup + \let\protect\noexpand + \let\label\relax + \let\glossary\relax + \expandafter\@markright\@themark{#1}% + \mark{\@themark}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi +} +% +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \section{Edit history} +% +% \begin{description} +% +% \item[v1.00 (4 Mar 1993)] +% initial version, posted to comp.text.tex. +% +% \item[v1.01 (4 Mar 1993)] +% added =\renewindex= command and checking to make sure index is (or +% is not) defined in =\newindex=, =\index= and =\printindex=. Also +% tightened up the code in various places and added check to make sure +% file is only loaded once. +% +% \item[v2.00 (24 Mar 1993)] +% added support for =\index*=, proofmode, =\shortindexingon= and +% =\shortindexingoff=. +% +% \item[v2.01 (24 Jun 1993)] +% Fixed 3 bugs. (1) If proofmode was turned on, then something like +% ``=\index{WORD}WORD='' would suppress the hyphenation of WORD. This +% was fixed by adding ``=\penalty\@M\hskip\z@skip='' to the end of +% =\@showidx=. (This is just the definition of =\allowhyphens= +% borrowed from german.sty, v2 $\langle$4 Nov 1988$\rangle$). (2) The +% =\hbox= in =\@mkidx= was being set at its natural width, which had a +% tendency to interfere with the width of the page. The =\hbox= is +% now replaced by =\rlap=. (3) If the title of an index (i.e., the +% fourth argument of =\newindex=) contained a particularly fragile +% command like~=\d=, havoc would ensue when =\theindex= tried to +% extract the title. Titles are now kept in token registers to +% prevent such unpleasantness. Bugs (2) and (3) were reported by +% Dominik Wujastyk $\langle$D.Wujastyk@ucl.ac.uk$\rangle$ on 24 June +% 1993. Note that bugs (1) and (2) are actually bugs in showidx.sty, +% v2.09 $\langle$16 Jun 1991$\rangle$. +% +% \item[v2.02 (25 Jun 1993)] +% Rewrote the code that implements the short indexing commands (=^= +% and =_=) to make index.sty compatible with other style files that +% need to make =^= and =_= active in some contexts. See the code for +% more details. +% +% \item[v2.03 (30 Jun 1993)] +% Once again rewrote the code that implements the short indexing +% commands. Dumped the shortindexing environment and rewrote the +% =\shortindexingon= and =\shortindxingoff= commands to save and +% restore the =\catcode='s and meanings of =^= and =_= in the safest +% possible (I hope) order. Also added the =\if@shortindexing= flag to +% keep =\shortindexingoff= from doing anything if it is called outside +% of the scope of a =\shortindexingon= command. (Question: Should +% =\shortindexingon= check that flag before doing anything?) +% +% \item[v2.04 (beta) (14 Jul 1993)] +% Added =\disableindex= command. Added =\newindex= and =\renewindex= +% to =\@preamblecmds=. Add =\if@newindex= flag to =\@newindex= to +% prevent =\renewindex= from re-allocating new =\write= and =\toks= +% registers. Rewrote using {\tt doc.sty} and {\tt DocStrip}. Also +% cleaned up the code somewhat. +% +% \item[v3.00 (15 Jul 1993)] +% Made further minor tweaks to code and internal documentation. +% Booted version number up to 3.00 and released on the world. +% +% \item[v3.01 (19 Jul 1993)] +% Fixed {\tt DocStrip} CheckSum. +% +% \item[v3.02 (15 Sep 1993)] +% Corrected spelling of =\@shortindexingfalse= in definition of +% =\shortindexingoff=. Thanks to Hendrik G. Seliger $\langle +% hank@Blimp.automat.uni-essen.de\rangle$ for this bug report. Also +% added redefinitions of =\@leftmark= and =\@rightmark= to fix a bug +% reported by Dominik Wujastyk $\langle$D.Wujastyk@ucl.ac.uk$\rangle$. +% +% \end{description} +% +% \DisableCrossrefs +% +% \section{The sample file} +% +% \begin{macrocode} +%%% This is a sample file for index.sty. To run the sample, +%%% execute the following commands: +%%% +%%% latex sample.tex +%%% makeindex sample +%%% makeindex -o sample.and sample.adx +%%% makeindex -o sample.nnd sample.ndx +%%% latex sample.tex +% +%\documentstyle[index]{book} +% +%\makeindex +%\newindex{aut}{adx}{and}{Name Index} +%\newindex{not}{ndx}{nnd}{List of Notation} +% +%\shortindexingon +% +%\proofmodetrue +% +%\def\aindex{\index*[aut]} +% +%\begin{document} +% +%\tableofcontents +% +%\newpage +% +%\chapter{Here is a ^[aut]{chapter} title} +% +%\section{Section header\index[aut]{section}} +% +%Here is some text.\index{subject} +% +%Here is \index[not]{notation}some more \index[not]{sin@$\sin$} +%text. +% +%Here is some ^{more} _[not]{notation} text. +% +%Here is yet more \aindex{text}. +% +%\section{Another Section header _[aut]{section2}} +% +%And here is some math: $x^1_b$. +% +%Here is an ^[aut]{index} entry \fbox{inside an +%\index[not]{min@$\min$}fbox} +% +%\fbox{Here is an ^[aut]{entry} in a box.} +% +%\printindex[not] +% +%\printindex[aut] +% +%\printindex +% +%\end{document} +% \end{macrocode} +% +% \PrintIndex +% \PrintChanges +% +% \Finale +% +% \end{document} +\endinput diff --git a/obsolete/macros/latex209/contrib/misc/nar.sty b/obsolete/macros/latex209/contrib/misc/nar.sty new file mode 100644 index 0000000000..59a0a10766 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/nar.sty @@ -0,0 +1,282 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Tom Schneider", +%%% version = "2.00", +%%% date = "10 Sep 1991", +%%% filename = "nar.sty", +%%% address = "National Cancer Institute +%%% Laboratory of Mathematical Biology +%%% Frederick, Maryland 21701-1013 +%%% USA", +%%% checksum = "64913 282 628 9329", +%%% email = "toms@ncifcrf.gov (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "nucleic acid research", +%%% supported = "yes", +%%% docstring = "This LaTeX style file is for the journal +%%% Nucleic Acid Research. It should be used +%%% as a major style, with +%%% \documentstyle[...]{nar}. +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility." +%%% } +%%% ==================================================================== + +% version = 2.00 of nar.sty 1990 April 30 +% +% from: +% article.sty 16-Mar-88 + +% +% All cases of 'newcounter' were commented out because these +% were `already used' by LaTeX. Why this is necessary, I don't know! +% + +\typeout{Document Style `nar' <16 Mar 88>.} +%\typeout{Document Style `article' <16 Mar 88>.} + + +\def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} +\def\ds@twoside{\@twosidetrue \@mparswitchtrue} \def\ds@draft{\overfullrule +5pt} +\@options +\input art1\@ptsize.sty\relax + + +\def\labelenumi{\theenumi.} +\def\theenumi{\arabic{enumi}} +\def\labelenumii{(\theenumii)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{\theenumiii.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\theenumiv.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist +\def\quotation{\list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \bf #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} +\let\enddescription\endlist + + +\def\theequation{\arabic{equation}} + + +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +\arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt +\tabbingsep \labelsep + +\skip\@mpfootins = \skip\footins +\fboxsep = 3pt \fboxrule = .4pt + +%\newcounter{part} +%\newcounter {section} +%\newcounter {subsection}[section] +%\newcounter {subsubsection}[subsection] +%\newcounter {paragraph}[subsubsection] +%\newcounter {subparagraph}[paragraph] + +\def\thepart{\Roman{part}} \def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +\def\tableofcontents{\section*{Contents\@mkboth{CONTENTS}{CONTENTS}} + \@starttoc{toc}} +\def\l@part#1#2{\addpenalty{\@secpenalty} + \addvspace{2.25em plus 1pt} \begingroup + \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip +-\@pnumwidth + {\large \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak \endgroup} +\def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt} +\@tempdima 1.5em \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bf \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil +\nobreak\hbox to\@pnumwidth{\hss #2}\par + \endgroup} + +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} +\def\listoffigures{\section*{List of Figures\@mkboth + {LIST OF FIGURES}{LIST OF FIGURES}}\@starttoc{lof}} +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\def\listoftables{\section*{List of Tables\@mkboth + {LIST OF TABLES}{LIST OF TABLES}}\@starttoc{lot}} +\let\l@table\l@figure + + +% This next line alters the cite from [] to () (worked the first time!!!) +\def\@cite#1#2{({#1\if@tempswa , #2\fi})} +% Modified from line 6317 in the DEFAULT DEFINITIONS of the file latex.tex, +% which is: LATEX VERSION 2.09 - RELEASE OF 27 October 1986 + +\def\thebibliography#1{\section*{References\@mkboth + {REFERENCES}{REFERENCES}}\list + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + + +\newif\if@restonecol +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi +\columnseprule \z@ +\columnsep 35pt\twocolumn[\section*{Index}] + \@mkboth{INDEX}{INDEX}\thispagestyle{plain}\parindent\z@ + \parskip\z@ plus .3pt\relax\let\item\@idxitem} +\def\@idxitem{\par\hangindent 40pt} +\def\subitem{\par\hangindent 40pt \hspace*{20pt}} +\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} + +\def\footnoterule{\kern-3\p@ + \hrule width .4\columnwidth + \kern 2.6\p@} + +\long\def\@makefntext#1{\parindent 1em\noindent + \hbox to 1.8em{\hss$^{\@thefnmark}$}#1} + + +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +\long\def\@makecaption#1#2{ + \vskip 10pt + \setbox\@tempboxa\hbox{#1: #2} + \ifdim \wd\@tempboxa >\hsize #1: #2\par \else \hbox +to\hsize{\hfil\box\@tempboxa\hfil} + \fi} + + +%\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} +%\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + + +\def\maketitle{\par + \begingroup + \def\thefootnote{\fnsymbol{footnote}} + \def\@makefnmark{\hbox + to 0pt{$^{\@thefnmark}$\hss}} + \if@twocolumn + \twocolumn[\@maketitle] + \else \newpage + \global\@topnum\z@ \@maketitle \fi\thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} +\def\@maketitle{\newpage + \null + \vskip 2em \begin{center} + {\LARGE \@title \par} \vskip 1.5em {\large \lineskip .5em +\begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vskip 1em {\large \@date} \end{center} + \par + \vskip 1.5em} +\def\abstract{\if@twocolumn +\section*{Abstract} +\else \small +\begin{center} +{\bf Abstract\vspace{-.5em}\vspace{0pt}} +\end{center} +\quotation +\fi} +\def\endabstract{\if@twocolumn\else\endquotation\fi} + +\mark{{}{}} + +\if@twoside \def\ps@headings{\let\@mkboth\markboth +\def\@oddfoot{}\def\@evenfoot{}\def\@evenhead{\rm \thepage\hfil \sl +\leftmark}\def\@oddhead{\hbox{}\sl \rightmark \hfil +\rm\thepage}\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth +>\z@ + \thesection\hskip 1em\relax \fi ##1}}{}}\def\subsectionmark##1{\markright +{\ifnum \c@secnumdepth >\@ne + \thesubsection\hskip 1em\relax \fi ##1}}} +\else \def\ps@headings{\let\@mkboth\markboth +\def\@oddfoot{}\def\@evenfoot{}\def\@oddhead{\hbox {}\sl \rightmark \hfil +\rm\thepage}\def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth +>\z@ + \thesection\hskip 1em\relax \fi ##1}}}} +\fi +\def\ps@myheadings{\let\@mkboth\@gobbletwo +\def\@oddhead{\hbox{}\sl\rightmark \hfil +\rm\thepage}\def\@oddfoot{}\def\@evenhead{\rm \thepage\hfil\sl\leftmark\hbox +{}}\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} + + +\def\today{\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 + \space\number\day, \number\year} + +\ps@plain \pagenumbering{arabic} \onecolumn \if@twoside\else\raggedbottom\fi diff --git a/obsolete/macros/latex209/contrib/misc/natsci.sty b/obsolete/macros/latex209/contrib/misc/natsci.sty new file mode 100644 index 0000000000..9114409fcd --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/natsci.sty @@ -0,0 +1,61 @@ +%NAME: natsci.sty +% natsci.sty 22 Feb 89 + +% Correctly formats citations in the NATSCI bibliography style. +% You also need the file natsci.bst to get the most out of this. + +% Use with LaTeX version 2.09 article document style +% and the natsci bibliography style: +% \documentstyle[natsci]{article} +% \begin{document} +% \bibliographystyle{natsci} + +% Copyright (c) 1987 by Stephen Gildea +% Permission to copy all or part of this work is granted, provided +% that the copies are not made or distributed for resale, and that +% the copyright notice and this notice are retained. +% +% THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO +% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, +% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS +% FOR ANY PARTICULAR PURPOSE. + +% If you make any improvements, I'd like to hear about them. + +% Stephen Gildea +% MIT Earth Resources Lab +% Cambridge, Mass. 02139 +% mit-erl!gildea +% gildea@erl.mit.edu + +% This definition has to be changed slightly for different document +% styles such as report. +\def\thebibliography#1{\section*{References\@mkboth + {REFERENCES}{REFERENCES}}\list + %% default is no labels, for those not using \cite or BibTeX + {}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}\@bibsetup} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} + +% Don't put the citation in an hbox. +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{\@citesep}\@ifundefined + {b@\@citeb}{{\bf ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} + +% undent first line of a reference by using negative \itemindent. +\def\@bibsetup{\itemindent=-\leftmargin \itemsep=0pt} + +% Use a semicolon instead of a comma between multiple citations. +\def\@citesep{; } + +% round parens instead of square brackets +\def\@cite#1#2{({#1\if@tempswa , #2\fi})} + +% Labels should not be printed in References +\def\@biblabel#1{\hfill} diff --git a/obsolete/macros/latex209/contrib/misc/nofm.sty b/obsolete/macros/latex209/contrib/misc/nofm.sty new file mode 100644 index 0000000000..062c1b6738 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/nofm.sty @@ -0,0 +1,56 @@ +% nofm.sty +% +% This is a LaTeX document style option for "n of m" style pagination. +% It produces a centered header in the above style, and no footer; +% variations to put the information elsewhere, incorporate other +% information, or include the word "page" should be easy. This option +% works by recording the last page's page number in the .aux file +% (using the standard label/pageref mechanism). Therefore, you will +% have to run LaTeX a second time if the number of pages changes, in +% order to get correct output. +% +% -- Max Hailperin, 9/27/88 +% +% 25 Feb 91 - Don't clobber \pagestyle, redefine \ps@plain. +% Define \@lastpageref to eliminate warnings. +% clayton@thumper.bellcore.com + + +% Make the plain page style be the same as the empty page style to +% avoid having a footer-centered page number on the first page and on +% index pages (in article style, anyway). + +\let \ps@plain = \ps@empty + + +% The below is reproduced from the latex.tex file, version 2.09 of 27 October +% 1986, Copyright (C) 1985 by Leslie Lamport, with the exception of the +% marked change in the first line----vvvvvvvvvvvvvvvvvv. + +\def\enddocument{\@checkend{document}\label{@lastpage}\clearpage\begingroup +\if@filesw \immediate\closeout\@mainaux +\def\global\@namedef##1##2{}\def\newlabel{\@testdef r}% +\def\bibcite{\@testdef b}\@tempswafalse \makeatletter\input \jobname.aux +\if@tempswa \@warning{Label(s) may have changed. Rerun to get +cross-references right}\fi\fi\endgroup\deadcycles\z@\@@end} + + +% Define a special-purpose \pageref to avoid having a "Reference +% @lastpage undefined" warning on every page. + +\def\@lastpageref{% + \@ifundefined{r@@lastpage}{{\bf ??}}% + {\edef\@tempa{\@nameuse{r@@lastpage}}% + \expandafter\@cdr\@tempa\@nil\null + }% +} + + +% The page number is centered in the header. Change the definitions +% to make it something else. + +\def \@oddhead{\rm\hfil\thepage\ of \@lastpageref\hfil} +\def \@evenhead{\@oddhead} +\def \@oddfoot{} +\def \@evenfoot{\@oddfoot} + diff --git a/obsolete/macros/latex209/contrib/misc/preprint.sty b/obsolete/macros/latex209/contrib/misc/preprint.sty new file mode 100644 index 0000000000..f6da168d40 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/preprint.sty @@ -0,0 +1,149 @@ +% aps12.sty +% March 12, 1989 version +\global\twelvepointontrue + +\lineskip 2pt \normallineskip 2pt%<== were 1pt each +\def\baselinestretch{1}% + +\def\@normalsize{\@setsize\normalsize{16pt%14.5pt +}\xiipt\@xiipt +\abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt +minus3pt} +\def\small{\@setsize\small{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt +minus3pt +\def\@listi{\parsep 4.5pt plus 2pt minus 1pt + \itemsep \parsep + \topsep 9pt plus 3pt minus 5pt}} +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt +\def\@listi{\topsep 6pt plus 2pt minus 2pt\parsep 3pt plus 2pt minus 1pt +\itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{18pt}\xivpt\@xivpt} +\def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} +\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} +\def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} +\let\Huge=\huge +\normalsize + + + +\if@twoside \oddsidemargin 21pt \evensidemargin 59pt \marginparwidth 85pt +\else \oddsidemargin 39.5pt \evensidemargin 39.5pt + \marginparwidth 68pt +\fi +\marginparsep 10pt + \topmargin 27pt \headheight 12pt \headsep 25pt \footheight 12pt \footskip +30pt + +\textheight 536.5pt \textwidth 390pt \columnsep 10pt \columnseprule 0pt + +\footnotesep 8.4pt +\skip\footins 10.8pt plus 4pt minus 2pt +\floatsep 14pt plus 2pt minus 4pt \textfloatsep 20pt plus 2pt minus 4pt +\intextsep 14pt plus 4pt minus 4pt \@maxsep 20pt \dblfloatsep 14pt plus 2pt +minus 4pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt +\@fptop 0pt plus 1fil \@fpsep 10pt plus 2fil \@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil \@dblfpsep 10pt plus 2fil \@dblfpbot 0pt plus 1fil +\marginparpush 7pt + +\parskip 0pt plus 1pt \parindent 1.5em \topsep 10pt plus 4pt minus 6pt +\partopsep 3pt plus 2pt minus 2pt \itemsep 5pt plus 2.5pt minus 1pt +\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 +\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty +-\@lowpenalty + +\def\part{\cleardoublepage \thispagestyle{plain} \if@twocolumn \onecolumn +\@tempswatrue \else \@tempswafalse \fi \hbox{}\vfil \bgroup \centering +\secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax \refstepcounter{part} +\addcontentsline{toc}{part}{\thepart \hspace{1em}#1}\else +\addcontentsline{toc}{part}{#1}\fi \markboth{}{} + \ifnum \c@secnumdepth >-2\relax \huge\bf Part \thepart \par \vskip 20pt \fi +\Huge \bf #1\@endpart} +\def\@endpart{\par\egroup \vfil\newpage \if@twoside \hbox{} +\thispagestyle{empty} + \newpage + \fi \if@tempswa \twocolumn \fi} +\def\@spart#1{\Huge \bf #1\@endpart} + +\def\@makechapterhead#1{ \vspace*{50pt} { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne \huge\bf \@chapapp{} \thechapter \par + \vskip 20pt \fi \Huge \bf #1\par + \nobreak \vskip 40pt } } + +\def\@makeschapterhead#1{ \vspace*{50pt} { \parindent 0pt \raggedright + \Huge \bf #1\par + \nobreak \vskip 40pt } } + +\def\chapter{\clearpage \thispagestyle{plain} \global\@topnum\z@ +\@afterindentfalse \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter} + \typeout{\@chapapp\space\thechapter.} + \addcontentsline{toc}{chapter}{\protect + \numberline{\thechapter}#1}\else + \addcontentsline{toc}{chapter}{#1}\fi + \chaptermark{#1} + \addtocontents{lof}{\protect\addvspace{10pt}} +\addtocontents{lot}{\protect\addvspace{10pt}} \if@twocolumn +\@topnewpage[\@makechapterhead{#2}] + \else \@makechapterhead{#2} + \@afterheading \fi} +\def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}] + \else \@makeschapterhead{#1} + \@afterheading\fi} + +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus + -.2ex}{2.3ex plus .2ex}{\Large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus + -.2ex}{1.5ex plus .2ex}{\large\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus + -1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\bf}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{3.25ex plus 1ex minus + .2ex}{-1em}{\normalsize\bf}} + +\def\chaptermark#1{} + +\setcounter{secnumdepth}{2} + +\def\appendix{\par + \setcounter{chapter}{0} + \setcounter{section}{0} + \def\@chapapp{Appendix} + \def\thechapter{\Alph{chapter}}} + + +\leftmargini 2.5em +\leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep +\labelsep .5em +\parsep 5pt plus 2.5pt minus 1pt +\def\@listi{\leftmargin\leftmargini} +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 5pt plus 2.5pt minus 1pt + \parsep 2.5pt plus 1pt minus 1pt + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 2.5pt plus 1pt minus 1pt + \parsep \z@ \partopsep 1pt plus 0pt minus 1pt + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + diff --git a/obsolete/macros/latex209/contrib/misc/refman.sty b/obsolete/macros/latex209/contrib/misc/refman.sty new file mode 100644 index 0000000000..02e177cdc7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/refman.sty @@ -0,0 +1,502 @@ +% This is REFMAN.STY by H.Partl, TU Wien, Version 1.1 of 4 Oct 1989. +% Revised 30.08.93 +% -------------------------------------------------------------------------- +% Modifikations: +% 30.08.93 by Wolfgang Kaspar; kaspar@uni-muenster.de +% The correction of a LaTeX bug that occurs when marginpars and footnotes +% appear on the same page (by Chris Rowley, TUGboat 9/2 Aug.88) is +% no longer needed. +% -------------------------------------------------------------------------- +% Document Style Option to `article' and `report', +% for technical reference manuals, users' guides and articles, +% with a design similar to that of the PostScript Reference Manual: +% All pages have a wide left margin and no right margin, and section +% headings and other `guiding' material appear in that margin. +% Supports one-column only. REFMAN should be specified as the LAST +% optional argument of the \documentstyle command, e.g. +% \documentstyle[11pt,twoside,german,refman]{article} +% +% It CAN be used with twoside, fleqn and others. +% It can NOT be used with twocolumn, titlepage, fullpage, a4, a4wide +% and others. +% +% +-----------------------------------------------------------------+ +% ! This style file has been designed for reference manuals, users' ! +% ! guides, short instants, and related papers at the EDP centre of ! +% ! the Technical University of Vienna. It must be re-designed and ! +% ! changed before application at any other institution or for any ! +% ! other purpose. ! +% +-----------------------------------------------------------------+ +% Copyright H.Partl TU Wien 1988. + +% Process this file only once: +\@ifundefined{leftmarginwidth}{}{\endinput} + +\typeout{ TU Wien Refman Style - Version 1.1 as of 4 Oct 1989, revised 30.08.93 } + +\newdimen\leftmarginwidth % value of odd & evensidemargin, set below. +\newdimen\fullwidth % = \textwidth + \leftmarginwidth +\newdimen\emptyheadtopmargin % used by some pagestyles +\newdimen\emptyfoottopmargin % dto. + +% \longhrule and \longthickhrule are defined for \hrule's of width \fullwidth + +\def\longhrule{\par\hbox to \linewidth{\hss + \vrule width \fullwidth height 0.4pt depth 0pt}\par} +\def\longthickhrule{\par\hbox to \linewidth{\hss + \vrule width \fullwidth height 1.0pt depth 0pt}\par} + +% Re-definitions of the \section commands to use \fullwidth and smaller +% vertical skips and smaller fonts. +% (Note that the afterskip must be >zero, not =zero) + +\def\secshape{\leftskip=-\leftmarginwidth % use \fullwidth + \rightskip=\@flushglue % raggedright + \hyphenpenalty=2000} % no hyphenation + +\def\section{\@startsection {section}{1}{\z@}{-2ex plus -1ex minus + -.2ex}{0.5ex plus .2ex}{\secshape\large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-1.5ex plus -.5ex minus + -.2ex}{0.5ex plus .2ex}{\secshape\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-1.5ex plus +-.5ex minus -.2ex}{0.5ex plus .2ex}{\secshape\normalsize\rm}} +\def\paragraph{\@startsection + {paragraph}{4}{\z@}{2ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}} +\def\subparagraph{\@startsection + {subparagraph}{4}{\parindent}{2ex plus 1ex minus + .2ex}{-1em}{\normalsize\bf}} + +% For ARTICLE: +% Re-definitions of \maketitle and \part (\clearpage, \fullwidth, \hrules). +% This \maketitle prints the \title only. +% A \makeauthor command is defined to print the \author (to be used either +% just after \maketitle or at the end of the article, without \thanks). + +\def\@redefinemaketitle{ + +\def\maketitle{\par + \begingroup + \if@twocolumn + \twocolumn[\@maketitle] + \else \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle \fi\thispagestyle{plain} + \endgroup + \setcounter{footnote}{0}} + +\def\@maketitle{\clearpage + \longthickhrule\bigskip + {\secshape\parskip\z@\parindent\z@ \Large\bf \@title\par} + \bigskip\longthickhrule\bigskip} + +\def\makeauthor{\par\nopagebreak\vskip 2ex plus 1ex minus 1ex + \begin{flushright}\normalsize\sl \@author \end{flushright}\par + \vskip 2ex plus 1ex minus 1ex\relax } + +\def\and{\\*} +\def\thanks{\footnote} + +% In \part, only \thepart (the Roman part number) is printed, without +% the word `Part' in front of it, and \markboth is replaced by \@mkboth +% to preserve the marks with the myheadings and myfootings page styles. + +\def\part{\par \clearpage \thispagestyle{plain} + \@afterindentfalse \secdef\@part\@spart} + +\def\@part[##1]##2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{part} + \addcontentsline{toc}{part}{\thepart \hspace{1em}##1}\else + \addcontentsline{toc}{part}{##1}\fi + \longhrule\medskip + {\secshape\parskip\z@\parindent\z@ \Large\rm + \ifnum \c@secnumdepth >\m@ne \thepart.\quad \fi ##2\par} + \medskip\longhrule\bigskip \@mkboth{}{}\@afterheading } + +\def\@spart##1{\longhrule\medskip + {\secshape\parskip\z@\parindent\z@ \Large\rm ##1\par} + \medskip\longhrule\bigskip \@afterheading } + +} % end of \@redefinemaketitle + +% For REPORT: +% Re-definition of \chapter (\clearpage, \fullwidth, \hrules). +% However, \maketitle and \part remain unchanged. + +\def\@redefinechapter{ + +\def\@makechapterhead##1{\longthickhrule\bigskip + {\secshape\parskip\z@\parindent\z@ \Large\bf + \ifnum \c@secnumdepth >\m@ne \@chapapp{} \thechapter.\quad \fi + ##1\par} + \bigskip\longthickhrule\bigskip} + +\def\@makeschapterhead##1{\longthickhrule\bigskip + {\secshape\parskip\z@\parindent\z@ \Large\bf ##1\par} + \bigskip\longthickhrule\bigskip} + +% No word `Chapter'/`Kapitel' before the chapter number, but the word +% `Appendix'/`Anhang' will still be inserted after \appendix ! +\def\@chapapp{} + +% Note that \chapter itself is defined like this: +% \def\chapter{\clearpage \thispagestyle{plain} \global\@topnum\z@ +% \@afterindentfalse \secdef\@chapter\@schapter} +% This definition and those of \@chapter and \@schapter remain unchanged. + +} % end of \@redefinechapter + +% Now, do either the first one or the second one, depending on the main +% document style (article= \chapter undefined, or report= \chapter defined). +% (Note that \par must not appear inside \@ifundefined, therefore this +% indirect approach is taken.) + +\@ifundefined{chapter}{\@redefinemaketitle}{\@redefinechapter} + +% Re-defintion of the \marginpar command to use always the left margin +% (never the right margin). Be careful that Marginpars do not come to +% near to each other! + +\def\@addmarginpar{\@next\@marbox\@currlist{\@cons\@freelist\@marbox + \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne +%- \if@twocolumn +%- \if@firstcolumn \@tempcnta\m@ne \fi +%- \else +%- \if@mparswitch +%- \ifodd\c@page \else\@tempcnta\m@ne \fi +%- \fi +%- \if@reversemargin \@tempcnta -\@tempcnta \fi +%- \fi + \@tempcnta\m@ne % always to left margin <--- + \ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi + \@tempdima\@mparbottom \advance\@tempdima -\@pageht + \advance\@tempdima\ht\@marbox \ifdim\@tempdima >\z@ + \@warning{Marginpar on page \thepage\space moved}\else\@tempdima\z@ \fi + \global\@mparbottom\@pageht \global\advance\@mparbottom\@tempdima + \global\advance\@mparbottom\dp\@marbox + \global\advance\@mparbottom\marginparpush + \advance\@tempdima -\ht\@marbox + \global\ht\@marbox\z@ \global\dp\@marbox\z@ + \vskip -\@pagedp \vskip\@tempdima\nointerlineskip + \hbox to\columnwidth + {\ifnum \@tempcnta >\z@ + \hskip\columnwidth \hskip\marginparsep + \else \hskip -\marginparsep \hskip -\marginparwidth \fi + \box\@marbox \hss} + \vskip -\@tempdima + \nointerlineskip + \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}} + +% Special Marginpars: +% \marginlabel{X} puts X into a flushright Marginpar. +% To be used like description-items or short +% \subsubsection* headings. +% \attention puts ! --> to the left of the text. +% To mark an important piece of text. +% \seealso{X} puts a small ---> X to the very left. +% To mark a reference within the text. +% These three commands start with an empty \mbox, i.e. they can be used +% before the first word of a paragraph and still have the desired +% effect, namely that the marginal stuff appears next to the first +% line of this paragraph, not at the last line of the previous one. +% They end with \ignorespaces, i.e. blanks (spaces) after the argument's +% } are allowed and do NOT appear in the printed text. +% Like all \marginpar's, they cannot be used in math mode or inside boxes. + +\def\marginlabel#1{\mbox{}\marginpar{\raggedleft #1}\ignorespaces} +\def\attention{\mbox{}\marginpar{\raggedleft \large\bf ! $\rightarrow$}} +\def\seealso#1{\mbox{}\marginpar{\small $\rightarrow$ #1}\ignorespaces} + +% The description environment is redefined such that the item labels use +% the whole left margin (and are in roman, right bound, with colon). +% \labelwidth = \leftmarginwidth + previous\@totalleftmargin + +% + new\leftmargin - \labelsep +% \descriptioncolontrue and -false can be used to select whether a colon +% is added to the item label. +% \descriptionlefttrue and -false can be used to select whether the item labels +% are set left bound or right bound. + +\newif\ifdescriptioncolon \descriptioncolontrue +\newif\ifdescriptionleft \descriptionleftfalse +\def\descriptionlabel#1{\ifdescriptionleft\else \hfil \fi + \rm #1\ifdescriptioncolon :\fi + \ifdescriptionleft \hfil \fi} +\def\description{\list{}{\labelsep=\marginparsep + \labelwidth=\leftmarginwidth \advance\labelwidth by \@totalleftmargin + \advance\labelwidth by \leftmargin \advance\labelwidth by -\labelsep + \let\makelabel=\descriptionlabel}} +\let\enddescription=\endlist + +% The maxipage environment is a minipage that uses the \fullwidth, +% with \hrules above and below. Marginpars are not allowed. +% To be used for wide tables, long math equations, and the like. +% It cannot be split across pages. +% It can be used in floats, e.g. like +% \begin{table}\begin{maxipage} +% ... a wide table ... \caption{the caption} +% \end{maxipage}\end{table} +% \maxipageruletrue and -false can be used to select whether \hrule's are +% added to the minpage. + +\newif\ifmaxipagerule \maxipageruletrue +\def\maxipage{\par % (here a \vskip\parskip will happen by the final \par) + \mbox{}\kern-\leftmarginwidth \kern-\@totalleftmargin + \begin{minipage}{\fullwidth} + \medskip \ifmaxipagerule \hrule\medskip \fi + \parskip = 0.5\baselineskip % <--- same as outside minipage + \def\marginpar{\typeout{Marginpar not allowed within Maxipage.}}} +\def\endmaxipage{\par \vskip\parskip + \medskip \ifmaxipagerule \hrule\medskip \fi + \end{minipage}\par} + +% The fullpage environment changes the page layout such that normal text +% and all environments use the \fullwidth. Marginpars are not allowed. +% Both \begin{fullpage} and \end{fullpage} start a new page before switching +% to the other layout. +% To be used for one or several special pages where the full line length is +% needed. + +\def\fullpage{\clearpage \leftmarginwidth\z@ \textwidth=\fullwidth + \oddsidemargin=\z@ \evensidemargin\z@ + \hsize=\fullwidth \linewidth=\fullwidth \columnwidth=\fullwidth + \def\marginpar{\typeout{Marginpar not allowed within Fullpage.}}} +\def\endfullpage{\clearpage} + +% The example environment is a verse enironment with \tt font and with +% trying to avoid page breaks at the \begin{example}. Lines in the example +% should be separated by \\*. + +\def\example{\@beginparpenalty=\@highpenalty \verse \tt } +\let\endexample=\endverse + +% Page Styles: +% The pagestyles plain, headings and myheadings are redefined and new +% pagestyles footings and myfootings are defined, which all use the +% \fullwidth, with \thepage on the outer side of the (odd/even) page +% and some with a \hrule below the head line or above the foot line. +% My favourite is +% \pagestyle{myfootings} +% \markboth{the title of the paper}{the title of the paper} +% (Note that the \markboth is not destroyed by the new \part command.) + +% The pagestyles headings and myheadings set \topmargin to \emptyfoottopmargin. +% The pagestyles footings and myfootings set \topmargin to \emptyheadtopmargin. +% The pagestyles empty and plain do not change \topmargin. +% Therefore, within one document, +% - you may switch between headings, myheadings, empty, and plain, +% - or you may switch between footings, myfootings, empty, and plain, +% - but you should not mix (my)headings with (my)footings pages. + +% As a compromise between article (section+subsection) and report +% (chapter+section), \sectionmark (without uppercase) will be put on +% both side pages in the headings and footings style (neither chapter +% nor subsection). + +\def\ps@plain{\let\@mkboth\@gobbletwo + \def\@oddhead{}\def\@evenhead{}% + \def\@oddfoot{\rm\hfil\thepage}% + \def\@evenfoot{\hss \hbox to \fullwidth{\normalsize\rm\thepage\hfil}}} + +\if@twoside % If two-sided printing. +\def\ps@headings{\let\@mkboth\markboth \topmargin\emptyfoottopmargin +\def\@oddfoot{}\def\@evenfoot{}% No feet. +\def\@evenhead{\hss\vbox to 0pt{\vss \hsize=\fullwidth + \hbox to \fullwidth{\normalsize\rm\thepage \hfil + \small\sl \leftmark}% + \vskip 3pt \hrule}}% +\def\@oddhead{\hss\vbox to 0pt{\vss \hsize=\fullwidth + \hbox to \fullwidth{\small\sl \rightmark \hfil + \normalsize\rm\thepage}% + \vskip 3pt \hrule}}% +\def\sectionmark##1{\markboth + {{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}% + {{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}}% +\def\subsectionmark##1{}} +\else % If one-sided printing. +\def\ps@headings{\let\@mkboth\markboth \topmargin\emptyfoottopmargin +\def\@oddfoot{}\def\@evenfoot{}% No feet. +\def\@oddhead{\hss\vbox to 0pt{\vss \hsize=\fullwidth + \hbox to \fullwidth{\small\sl \rightmark \hfil + \normalsize\rm\thepage}% + \vskip 3pt \hrule}}% +\def\sectionmark##1{\markright {{\ifnum \c@secnumdepth >\z@ + \thesection\hskip 1em\relax \fi ##1}}}} +\fi + +\if@twoside % If two-sided printing. +\def\ps@footings{\let\@mkboth\markboth \topmargin\emptyheadtopmargin +\def\@oddhead{}\def\@evenhead{}% No heads. +\def\@evenfoot{\hss\vbox to 0pt{\vss \hsize=\fullwidth \hrule \vskip 3pt + \hbox to \fullwidth{\normalsize\rm\thepage \hfil + \small\sl\leftmark}}}% +\def\@oddfoot{\hss\vbox to 0pt{\vss \hsize=\fullwidth \hrule \vskip 3pt + \hbox to \fullwidth{\small\sl\rightmark \hfil + \normalsize\rm\thepage}}}% +\def\sectionmark##1{\markboth + {{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}% + {{\ifnum \c@secnumdepth >\z@ \thesection\hskip 1em\relax \fi ##1}}}% +\def\subsectionmark##1{}} +\else % If one-sided printing. +\def\ps@footings{\let\@mkboth\markboth \topmargin\emptyheadtopmargin +\def\@oddhead{}\def\@evenhead{}% No heads. +\def\@oddfoot{\hss\vbox to 0pt{\vss \hsize=\fullwidth \hrule \vskip 3pt + \hbox to \fullwidth{\small\sl\rightmark \hfil + \normalsize\rm\thepage}}}% +\def\sectionmark##1{\markright {{\ifnum \c@secnumdepth >\z@ + \thesection\hskip 1em\relax \fi ##1}}}} +\fi + +\def\ps@myheadings{\let\@mkboth\@gobbletwo \topmargin\emptyfoottopmargin +\def\@evenhead{\hss\vbox to 0pt{\vss \hsize=\fullwidth + \hbox to \fullwidth{\normalsize\rm\thepage \hfil + \small\sl\leftmark}% + \vskip 3pt \hrule}}% +\def\@oddhead{\hss\vbox to 0pt{\vss \hsize=\fullwidth + \hbox to \fullwidth{\small\sl\rightmark \hfil + \normalsize\rm\thepage}% + \vskip 3pt \hrule}}% +\def\@oddfoot{}\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} + +\def\ps@myfootings{\let\@mkboth\@gobbletwo \topmargin\emptyheadtopmargin +\def\@evenfoot{\hss\vbox to 0pt{\vss \hsize=\fullwidth \hrule \vskip 3pt + \hbox to \fullwidth{\normalsize\rm\thepage \hfil + \small\sl\leftmark}}}% +\def\@oddfoot{\hss\vbox to 0pt{\vss \hsize=\fullwidth \hrule \vskip 3pt + \hbox to \fullwidth{\small\sl\rightmark \hfil + \normalsize\rm\thepage}}}% +\def\@oddhead{}\def\@evenhead{}\def\sectionmark##1{}\def\subsectionmark##1{}} + +% The \condbreak{length} command is defined for conditional pagebreaks: +% If less then length vertical space remains on the current page, then +% a new page is started. This means that the following stuff remains +% together (either on the current or the next page). + +\def\condbreak#1{\vskip 0pt plus #1\pagebreak[3]\vskip 0pt plus -#1\relax} + +% The \noparskip command is defined to take away the vertical Parskip, +% just like \noindent takes away the horizontal Parindent. + +\def\noparskip{\vskip-\parskip} + +% Correction of a LaTeX bug that occurs when marginpars and footnotes +% appear on the same page (by Chris Rowley, TUGboat 9/2 Aug.88) +% +% no longer needed. 30.08.93 kaspar@uni-muenster.de + +%\def\@specialoutput{\ifnum\outputpenalty > -\@Mii +% \@doclearpage +% \else +% \ifnum \outputpenalty <-\@Miii +% \ifnum\outputpenalty<-\@MM \deadcycles\z@\fi +% \global\setbox\@holdpg\vbox{\unvbox\@cclv} +% \else \setbox\@tempboxa\box\@cclv +% \@pagedp\dp\@holdpg \@pageht\ht\@holdpg +% \unvbox\@holdpg +%%- \ifvoid\footins\else\advance\@pageht\ht\footins +%%- \advance\@pageht\skip\footins \advance\@pagedp\dp\footins +%%- \insert\footins{\unvbox\footins}\fi +% \@next\@currbox\@currlist{\ifnum\count\@currbox >\z@ +%% moved ---> +% \ifvoid\footins\else\advance\@pageht\ht\footins +% \advance\@pageht\skip\footins \advance\@pagedp\dp\footins +% \insert\footins{\unvbox\footins}\fi +% \@addtocurcol\else +%% moved and changed ---> +% \ifvoid\footins\else +% \insert\footins{\unvbox\footins}\fi +% \@addmarginpar\fi}\@latexbug +% \ifnum \outputpenalty <\z@ \penalty \z@ \fi +% \fi\fi} + + +% Setting of the Layout Parameters and Dimensions: +% ------------------------------------------------ + +% Switch to \onecolumn and disable \twocolumn. +\onecolumn +\let\onecolumn=\relax +\def\twocolumn{\typeout{Twocolumn not allowed with Refman.}} + +% Horizontal Layout: +% \fullwidth = \leftmarginwidth + \textwidth +% \odd&evensidemargin = \leftmarginwidth - 3mm +% (DIN-A4 paper is about 6mm narrower than 8.5 Inch.) +% \marginparwidth = \leftmarginwidth - \marginparsep + +% \textwidth, \columnwidth, \linewidth remain unchanged from art10...rep12 +\fullwidth=6.5in +\leftmarginwidth=\fullwidth \advance\leftmarginwidth by -\textwidth +\oddsidemargin=\leftmarginwidth \advance\oddsidemargin by -3mm +\evensidemargin=\oddsidemargin +\marginparwidth=\leftmarginwidth \advance\marginparwidth by -\marginparsep + +% The horizontal layout can be changed in the preamble with the command +% \setleftmarginwidth{length} +% This sets \leftmarginwidth=length and \textwidth=\fullwidth- . +% Example: \setleftmarginwidth{2.5in} ---> 2.5 : 4 = 4 : 6.5 + +\newdimen\templength@ +\def\setleftmarginwidth#1{\templength@=#1\relax + \leftmarginwidth=\templength@ + \textwidth=\fullwidth \advance\textwidth by -\templength@ + \oddsidemargin=\leftmarginwidth \advance\oddsidemargin by -3mm + \evensidemargin=\oddsidemargin + \marginparwidth=\leftmarginwidth \advance\marginparwidth by -\marginparsep + \hsize=\textwidth \linewidth=\textwidth \columnwidth=\textwidth } + +% Vertical Layout (for DIN-A4 paper): +% The Top Margin is made smaller by 4.5 baselineskips, +% the Head and Foot separations are increased by 0.5 baselineskips each, +% the Textheight is increased by 10 lines. +% On DIN-A4 paper (which is about 2 lines higher than 11 Inch), this +% makes the Bootom Margin equal to the Top Margin. +% \raggedbottom is switched on (even for twoside). +% With some pagestyles, the page contents are shifted up or down a bit, +% by using \emptyheadtopmargin or \emptyfoottopmargin, respectively. + +\advance\topmargin by -4.5\baselineskip +\advance\headsep by 0.5\baselineskip +\advance\footskip by 0.5\baselineskip +\advance\textheight by 10\baselineskip +\@colht=\textheight \@colroom=\textheight +\emptyheadtopmargin=\topmargin \advance\emptyheadtopmargin by -1\baselineskip +\emptyfoottopmargin=\topmargin \advance\emptyfoottopmargin by 1\baselineskip +\raggedbottom + +% Zero minimal vertical separation between Marginpars (because we use a lot +% of them, and all must find room above each other). + +\marginparpush=\z@ + +% Paragraph Layout: +% Zero Parindent and non-zero Parskip. The stretchable glue in \parskip +% helps LaTeX in finding the best place for page breaks. + +\parskip=0.5\baselineskip \advance\parskip by 0pt plus 2pt +\parindent=\z@ + +% Redefinition of the vertical spacing in the list environments +% to use the same as \parskip in all relevant places (normalsize only): +% \parsep = \parskip +% \itemsep = \z@ % add nothing to \parskip between items +% \topsep = \z@ % add nothing to \parskip before first item + +\def\@listI{\leftmargin\leftmargini + \topsep\z@ \parsep\parskip \itemsep\z@} +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep\z@ \parsep\parskip \itemsep\z@} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep\z@ \parsep\parskip \itemsep\z@} + +% Note that listiv, listv and listvi don't change vertical parameters. + + +% Switch on the new version of the plain pagestyle. +\pagestyle{plain} + +% This is the end of REFMAN.STY. +\endinput diff --git a/obsolete/macros/latex209/contrib/misc/shadethm.sty b/obsolete/macros/latex209/contrib/misc/shadethm.sty new file mode 100644 index 0000000000..a974cb7e21 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/shadethm.sty @@ -0,0 +1,187 @@ +\typeout{ LaTeX 2.09 substyle: ShadeThm <94/07/11 jh>} +% ShadeThm.sty +% Shaded theorem environments in LaTeX 2.09 with \newshadetheorem instead of +% \newtheorem. Requires PostScript. +% +% USAGE +% Used as a LaTeX substyle +% \documentstyle[...,shadethm,...]{...} +% it allows declarations like +% \newshadetheorem{theorem}{Theorem} +% so that +% \begin{theorem} $e=mc^2$ \end{theorem} +% will produce the usual theorem text, only placed in a shaded box. +% +% REMARKS +% (1) You can of course have non-shaded environments, also. The +% \newtheorem command still works (but see Remark (2)). +% (2) Numbering within: +% LaTeX allows you to say \newtheorem{guess}{Conjecture}[section] so +% that at each new section the conjectures are numbered starting again +% at 1. So does \newshadetheorem. +% LaTeX also allows you to say \newtheorem{remark}[guess]{Remark} so +% that remark and guess use the same counter: +% \begin{guess} +% Dinosaurs are small at one end, large in the middle, +% and very small again at the other end. +% \end{guess} +% \begin{remark} +% This conjecture is due to me. +% \end{remark} +% gets printed as +% Conjecture 1 Dinosaurs are small at one end, large in the middle, and +% very small again at the other end. +% Remark 2 This conjecture is due to me. +% The \newshadetheorem allows the same thing, but with one change. If you want +% to refer to a theorem environment `xxx' that was declared with +% \newshadetheorem{xxx}{Xxx} then you must call it `shadexxx': e.g., +% \newshadetheorem{thm}{Theorem} +% \newshadetheorem{note}[shadethm]{Note} +% (references to non-shaded theorem environments, of course, go as usual). +% (3) Uses fancybox.sty and pstricks.sty. They are available, for instance, +% in the TeX-archive at pip.shsu.edu. In particular, they require PostScript +% for the shade. If you want to figure out a way to, for example, use PiCTeX +% to shade, then that could work also. (I use dvips; PSTricks may work with +% other PS drivers but it definitely works with dvips.) +% +% INSTALLATION +% Put this where your TeX looks for .sty files. In emTeX that is probably +% c:\emtex\texinput\shadethm.sty. +% There are three parameters to set the default for (try it as it is, first). +% (i) thmshade the darkness of the shading +% (ii) shadeparindent the paragraph indentation inside the shaded text +% (iii) frameboxsep the length by which the shade box surrounds the text +% Find them by using your editor to find `PARAMETER'. +% If you want this file to input fancybox and pstricks (that is, you don't +% want to ask for them yourself) uncomment those lines. +% +% BUGS +% 1) Page breaks are a problem since it sets the theorem before it shades it. +% 2) I haven't tested it with the new LaTeX. +% +% HISTORY +% 94VII11 jim hefferon hefferon@smcvax.smcvt.edu. First written (after lots +% of sporadic tries, over months; I couldn't get any of the extant shading +% macros to work with theorems) from a hint in TvZ's Fancybox writeup. +% It's all so easy once you know how. +% +%\input{fancybox.sty} +%\input{pstricks.sty} + +% PARAMETER: thmshade +% Set the default darkness for the shading. +% I find .97 looks good out of my printer, but a darker shade like .92 is +% needed to make it copy well. (PostScript sets 0 as black and 1 as white.) +% This can be reset in each document, say with \newgray{thmshade}{.92} +% (or with \newrgbcolor{thmshade}{num1 num2 num3} for color, I think). +\newgray{thmshade}{.97} + +% PARAMETER: saveparindent +% Normally, in theorems, paragraphs retain their usual indent. But inside +% a minipage they lose their indent, so I need to restore it once I'm inside +% the minipage that is to be shaded. This can be changed inside of each +% document, say with \resetlength{\saveparindent}{0pt}. +\newlength{\saveparindent} %to have paragraphs default to their +\setlength{\saveparindent}{\parindent} %usual indent inside the minipage + +% PARAMETER: frameboxsep +% I think the shading looks best if the text doesn't run all the way to the +% exact edge of the gray. That is, I like the gray to overlap outside the text +% box a little. That amount is this number. This can be changed inside of +% each document, say with \resetlength{\frameboxsep}{.2ex}. +\newlength{\frameboxsep} % user can change in a .sty file or on +\setlength{\frameboxsep}{2pt} % a per-document basis. + +\newbox{\shadesavebox} % no `@'; users can redefine shadebox if they want +\newenvironment{shadebox}% % shadow boxes or something. +{\beginsbox{\shadesavebox}\begin{minipage}{\textwidth}% +\setlength{\parindent}{\saveparindent}}% +{\end{minipage}\endsbox% +{\begin{trivlist}\item[]% +\psframebox*[fillcolor=thmshade,boxsep=false,framesep=\frameboxsep]{% +\usebox{\shadesavebox}}% +\end{trivlist}}} + +% The definition of \newshadetheorem is modelled on the one for \newtheorem +% in latex.tex. +% The invocation possibilities are: +% \newshadetheorem{NAME}{TEXT}[COUNTER] +% e.g., \newshadetheorem{theorem}{Theorem}[section] meaning to allow +% one to say \begin{theorem} $e=mc^2$ \end{theorem} to produce +% Theorem 1.1.1 e=mc2 +% shaded and numbered by section. +% \newshadetheorem{NAME}[OLDNAME]{TEXT} +% e.g., \newshadetheorem{remark}[theorem]{Remark} meaning to allow +% one to say \begin{remark} Obvious. \end{remark} to produce +% Remark 1.1.2 Obvious. +% shaded and numbered with the same counter used for theorems. +% The flowchart for parsing the arguments goes like this. +% 1) \newshadetheorem{#1} (note #1<--NAME) +% 2) If the next character is `[' then we have the second case. This +% is handled by \shade@othm +% 3) If not, go to \shade@nthm. There are two cases here, either there +% is an optional argument (this is handled by \shade@xnthm) or there is +% not (this is handled by \shade@ynthm). +% (Possibly these cases could be folded somewhat as all use the same tail.) +% Notice I have to have different names for the theorem and the environment. +% I elected to call the theorem `xxx' by the name `shadexxx' so the user +% just says `\begin{xxx} ...' for the environment. (All this is, of course, +% just adapted from Lamport's code.) +% +\def\newshadetheorem#1{\@ifnextchar[{\shade@othm{#1}}{\shade@nthm{#1}}} + +\def\shade@othm#1[#2]#3{% +\newtheorem{shade#1}[#2]{#3}% +\newenvironment{#1}% +{\begin{shadebox}\begin{shade#1}}% +{\end{shade#1}\end{shadebox}}} + +\def\shade@nthm#1#2{\@ifnextchar[{\shade@xnthm{#1}{#2}}{\shade@ynthm{#1}{#2}}} + +\def\shade@xnthm#1#2[#3]{% +\newtheorem{shade#1}{#2}[#3]% +\newenvironment{#1}% +{\begin{shadebox}\begin{shade#1}}% +{\end{shade#1}\end{shadebox}}} + +\def\shade@ynthm#1#2{% +\newtheorem{shade#1}{#2}% +\newenvironment{#1}% +{\begin{shadebox}\begin{shade#1}}% +{\end{shade#1}\end{shadebox}}} + +\endinput %end shadethm.sty +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-test.tex-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +\documentstyle[fancybox,pstricks,shadethm]{article} + +\newshadetheorem{theorem}{Theorem} +\newshadetheorem{cor}[shadetheorem]{Corollary} +\newtheorem{remark}[shadetheorem]{Remark} + +\begin{document} +Here is some initial text before the shaded box. + +\begin{theorem} +This is the text to be shaded. +\end{theorem} + +This is some text after the first shade. +It is separated from the environments by a blank line; that is +all handled as usual in \LaTeX. + +\begin{cor} +This is more text to be shaded. +It is numbered with the same counter as the environment above. + +Multiple paragraphs will be handled with the usual paragraph indentation, +unless of course the user asks for a different paragraph indentation inside +the environment. +\end{cor} + +\begin{remark} +More text. +This time not set in shade, however it is numbered in the same sequence. +\end{remark} + +Finishing text. +\end{document} diff --git a/obsolete/macros/latex209/contrib/misc/shadow.sty b/obsolete/macros/latex209/contrib/misc/shadow.sty new file mode 100644 index 0000000000..4c4d5e76a6 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/shadow.sty @@ -0,0 +1,84 @@ +%%% ====================================================================== +%%% @LaTeX-style-file{ +%%% filename = "shadow.sty", +%%% version = "1.2.1", +%%% date = "16 September 1996", +%%% time = "16:26:21.52 MET", +%%% author = "Mauro Orlandini", +%%% address = "TeSRE Institute/CNR +%%% Area della Ricerca di Bologna +%%% Via Gobetti 101 +%%% 40129 Bologna - Italy", +%%% Email = "orlandini@tesre.bo.cnr.it (Internet) +%%% 38045::ORLANDINI (DECnet)", +%%% telephone = "+39 51 639-8667", +%%% FAX = "+39 51 639-8723", +%%% supported = "yes", +%%% archived = "TeX archive", +%%% keywords = "shadow", +%%% abstract = "The command \shabox has the same meaning of the +%%% LaTeX command \fbox except for the fact that a +%%% "shadow" is added to the bottom and the right side +%%% of the box. It computes the right dimension of the +%%% box, even if the text spans over more than one +%%% line; in this case a warning messagge is given.", +%%% codetable = "ISO/ASCII", +%%% checksum = "15806 84 430 4506", +%%% docstring = "There are three parameters governing: +%%% 1. the width of the lines delimiting the box: +%%% \sboxrule +%%% 2. the separation between the edge of the box and +%%% its contents: \sboxsep +%%% 3. the dimension of the shadow: \sdim +%%% Sintax: \shabox{} +%%% where is the text to be put in the +%%% framed box. It can be an entire paragraph. +%%% Adapted from the file dropshadow.tex by +%%% drstrip@cd.sandia.gov. +%%% V1.1 Works in a double column environment. +%%% V1.2 When there is an online shadow box, it +%%% will be centered on the line (in V1.1 the +%%% box was aligned with the baseline). +%%% (Courtesy by Mike Piff) +%%% V1.2.1 Dropped of unwanted CRs by Ralf Nitsch +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility." +%%% } +%%% ====================================================================== +\typeout{Style Option: `shadow' v1.2.1 <16 September 1996> (M.O.)} +\newdimen\txtwdth \newdimen\sht \newdimen\shw \newbox\shbox +\newdimen\sboxsep \newdimen\sboxrule \newdimen\sdim +\sboxsep = 10pt +\sdim = 4pt +\sboxrule = .4pt +\def\shabox#1{\setbox\@tempboxa\hbox{#1}% <-- V1.2.1 Added by R. Nitsch +\shw\wd\@tempboxa +\if@twocolumn\txtwdth\columnwidth\else\txtwdth\textwidth\fi +\ifdim\shw<\txtwdth + \leavevmode\setbox\@tempboxa\hbox{#1}% <-- V1.2.1 Added by R. Nitsch +\else + \typeout{Shadow Warning: Box dimension greater than textwidth.} + \setbox\@tempboxa\vbox{\hsize\txtwdth\advance\hsize-2\sboxsep + \advance\hsize-2\sboxrule \advance\hsize-2\sdim \advance\hsize-15pt#1} +\fi + \setbox\shbox\hbox{\@tempdima\sboxrule + \advance\@tempdima \sboxsep \advance\@tempdima \dp\@tempboxa + \hbox{\lower \@tempdima\hbox + {\vbox{\hrule \@height \sboxrule + \hbox{\vrule \@width \sboxrule \hskip\sboxsep + \vbox{\vskip\sboxsep \box\@tempboxa\vskip\sboxsep}\hskip + \sboxsep\vrule \@width \sboxrule} + \hrule \@height \sboxrule}}}}% <-- V1.2.1 Added by R. Nitsch +\sht\ht\shbox \advance\sht-\sdim +\leavevmode\vbox{\baselineskip0pt\lineskip0pt\vtop{%% V1.2 + %% Added \vtop + %% From M.Piff + \hbox{\copy\shbox\vrule width\sdim height\sht} + \hbox{\kern\sdim\vrule height\sdim width \wd\shbox}}}} + +\endinput diff --git a/obsolete/macros/latex209/contrib/misc/showlabels.sty b/obsolete/macros/latex209/contrib/misc/showlabels.sty new file mode 100644 index 0000000000..47d445c670 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/showlabels.sty @@ -0,0 +1,28 @@ +% showlabels.sty +% gil@svax.cs.cornell.edu (Gil Neiger) +% +% Change \label, \ref, and \pageref to show labels in line +% + +\def\ref#1{\@ifundefined{r@#1}{\mbox{\tt#1?}\@warning + {Reference `#1' on page \thepage \space + undefined}}{\edef\@tempa{\@nameuse{r@#1}}\expandafter + \@car\@tempa \@nil\null}} + +\def\pageref#1{\@ifundefined{r@#1}{\mbox{\tt#1?}\@warning + {Reference `#1' on page \thepage \space + undefined}}{\edef\@tempa{\@nameuse{r@#1}}\expandafter + \@cdr\@tempa\@nil\null}} + +\def\label#1{\@bsphack\if@filesw {\let\thepage\relax + \xdef\@gtempa{\write\@auxout{\string + \newlabel{#1}{{\@currentlabel}{\thepage}}}}}\@gtempa + \if@nobreak \ifvmode\nobreak\fi\fi\fi\@esphack + \mbox{\tt[#1]}} + +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{,}\@ifundefined + {b@\@citeb}{\mbox{\tt\@citeb?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +\hbox{\csname b@\@citeb\endcsname}}}{#1}} diff --git a/obsolete/macros/latex209/contrib/misc/spie.sty b/obsolete/macros/latex209/contrib/misc/spie.sty new file mode 100644 index 0000000000..d8c965cea3 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/spie.sty @@ -0,0 +1,126 @@ +\typeout{Document Style Option `spie proceedings style'.} +% +% Prepared by Rick Zaccone on 6/3/91. +% Modified by Adrian F Clark on 11-Jan-1992. +% +% Usage: +% \documentstyle[spie]{article} +% +% The user needs to make a few adjustments manually: +% +% 1. Section titles should be in upper case. +% 2. Title, subsection, subsubsection, etc. should be in lower case except +% for the first letter. +% 3. Format authors as follows +% \author{author1 \\[12pt] +% affiliation\\ +% affiliation\\[12pt] +% author2 \\[12pt] +% affiliation\\ +% affiliation\\[12pt]} +% +% 4. No date: use \date{} +% -------------------------------------------------------------------- + +% No headers or footers + +\oddsidemargin -.15in \evensidemargin -.15in \topmargin .1in +\headheight 0in \headsep 0in +\footheight 0in \footskip 0in +\pagestyle{empty} % No page numbers + + +% Page parameters + +\parskip 12pt +\textheight 8.8in \textwidth 6.8in +\floatsep 6pt plus 2pt minus 4pt \textfloatsep 30pt plus 20pt minus 10pt + + +% Center section headings and make them produce indexted next lines (ugh) + +\def\section{\@startsection {section}{1}{\z@}{3.5ex plus -1ex minus + -.2ex}{2.3ex plus .2ex}{\centering\Large\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@}{3.25ex plus -1ex minus + -.2ex}{1.5ex plus .2ex}{\large\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{3.25ex plus +-1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\bf}} + + +% Add theorem, lemma, and definition environments + +\def\@begintheorem#1#2{\par\bgroup{\sc #1\ #2. }\it\ignorespaces} +\def\@opargbegintheorem#1#2#3{\par\bgroup{\sc #1\ #2\ (#3). }\it\ignorespaces} +\def\@endtheorem{\egroup} +\def\proof{\par{\it Proof}. \ignorespaces} +\def\endproof{{\ \vbox{\hrule\hbox{% + \vrule height1.3ex\hskip0.8ex\vrule}\hrule + }}\par} +\newtheorem{theorem}{Theorem}[section] +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{definition}[theorem]{Definition} + + +% The abstract + +\def\abstract{ +\section*{ABSTRACT} +} +\def\endabstract{} + +% Citations are superscripts (taken from aip.sty) + +% Superscript citations -- skip optional arg to \cite +% Move citation after period and comma. + +\def\@cite#1#2{\unskip\nobreak\relax + \def\@tempa{$\m@th^{\hbox{\the\scriptfont0 #1}}$}% + \futurelet\@tempc\@citexx} +\def\@citexx{\ifx.\@tempc\let\@tempd=\@citepunct\else + \ifx,\@tempc\let\@tempd=\@citepunct\else + \let\@tempd=\@tempa\fi\fi\@tempd} +\def\@citepunct{\@tempc\edef\@sf{\spacefactor=\the\spacefactor\relax}\@tempa + \@sf\@gobble} + +% \citenum emits the plain citation number without ornament +% \citea puts its argument into the ornamentation for citations +% thus \cite{foo} is equivalent to \citea{\citenum{foo}} + +\def\citenum#1{{\def\@cite##1##2{##1}\cite{#1}}} +\def\citea#1{\@cite{#1}{}} + +% Collapse citation numbers to ranges. Non-numeric and undefined labels +% are handled. No sorting is done. E.g., 1,3,2,3,4,5,foo,1,2,3,?,4,5 +% gives 1,3,2-5,foo,1-3,?,4,5 + +\newcount\@tempcntc +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@ifundefined + {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bf ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% + \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne + \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}% + \else + \advance\@tempcntb\@ne + \ifnum\@tempcntb=\@tempcntc + \else\advance\@tempcntb\m@ne\@citeo + \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}} +\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea\def\@citea{,}% + \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else + {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi + \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi} + + +% Give the references section a section number + +\def\thebibliography#1{\section{REFERENCES\@mkboth + {REFERENCES}{REFERENCES}}\list + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist diff --git a/obsolete/macros/latex209/contrib/misc/subfigure.sty b/obsolete/macros/latex209/contrib/misc/subfigure.sty new file mode 100644 index 0000000000..b8a448e7f9 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/subfigure.sty @@ -0,0 +1,446 @@ +%$% subfigure.sty +%$% Subfigure/table command for use with the LaTeX figure environment. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Copyright (C) 1988-1995 Steven Douglas Cochran. +%%% +%%% The subfigure style is made available for academic and research +%%% purposes only. No commercial license is hereby granted. Copying +%%% and other reproduction is authorized only for research, education, +%%% and other non-commercial purposes. No warranties, either +%%% expressed or impiled, are made regarding the operation, use, or +%%% results of the subfigure style. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% @LaTeX-style-file{ +%%% Author = "Steven Douglas Cochran", +%%% Version = "2.0 (LaTeX209 version)", +%%% Date = "1995 Mar 06", +%%% Time = "12:43:14 EDT", +%%% Filename = "subfigure.sty", +%%% Address = "Digital Mapping Laboratory +%%% School of Computer Science +%%% Carnegie-Mellon University +%%% 5000 Forbes Avenue +%%% Pittsburgh, PA 15213-3891 +%%% USA", +%%% Telephone = "(412) 268-5654", +%%% FAX = "(412) 268-5576", +%%% checksum = "23098 438 1899 18286", +%%% Email = "sdc+@CS.CMU.EDU (Internet)", +%%% CodeTable = "ISO/ASCII", +%%% Keywords = "LaTeX, float, figure, table", +%%% Supported = "yes", +%%% Abstract = "LaTeX document-style option for +%%% providing support for the inclusion of +%%% small `sub' figures and tables. It +%%% simplifies the positioning, captioning +%%% and labeling of them within a single +%%% figure or table environment.", +%%% DocString = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by +%%% the equivalent of the standard UNIX wc +%%% (word count) utility output of lines, +%%% words, and characters. This is produced +%%% by Robert Solovay's checksum utility." +%%% } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% $Log: subfigure.sty,v $ +%$% Revision 2.0 95/03/06 12:43:14 sdc +%$% This version of `subfigure' is the first to be ported to LaTeX2e +%$% (with backward compatibility to LaTeX 2.09). "\subfigure" and +%$% "\subtable" are now identical and the environment controls +%$% internal differences between them. Now, the caption setting +%$% portion of "\@subfloat" is broken into the separate macros +%$% "\@makesubfigurecaption" and "\@makesubtablecaption" to allow a +%$% separate hook for the modification of how the caption is +%$% constructed and to allow the table and figure captions to be +%$% different. In addition, support of the `normal', `hang', +%$% `center', `centerlast', 'nooneline'; `scriptsize', \ldots, +%$% `Large'; `up', `it', `sl', `sc', `md', `bf', `rm', `sf', and `tt' +%$% package options were added for compatibility with the caption.sty +%$% by H.A. Sommerfeldt.} +%$% +%$% Revision 1.6 93/05/13 12:58:34 sdc +%$% Changed to use the \thefigure macro in building the referenced +%$% label. The old form caused a problem when used with the +%$% report.sty as pointed out by Andrew Anselmo +%$% (anselmo@cumesb.mech.columbia.edu). Also modified to restrict +%$% the scope of the subfigure \label to the body of the subfigure. +%$% Added \@thesubfigure to allow a separate labeling of the +%$% subfigure in the figure and in the text. By default it is the +%$% same as \thesubfigure with space appended. Added some hooks to +%$% print the subfigure captions to the list-of-figures file if +%$% desired. Finally, added the corresponding support for sub-tables +%$% as well as sub-figures. NOTE: the optional caption is now a +%$% moving argument and any fragile commands that appear in the +%$% caption must be preceded by a \protect (just like that of the +%$% \caption command). +%$% +%$% Revision 1.5 92/08/11 23:13:12 sdc +%$% Fixed a bug which caused an problem with captions that contained +%$% expressions like \sqrt; This was pointed out by Tom Scavo +%$% (scavo@cie.uoregon.edu). A separate bug was fixed which caused +%$% different sized captions to be misaligned; This problem was +%$% pointed out by Simon Marshall (S.Marshal@Hull.ac.uk). Also +%$% cleaned up the code a mite and *changed* the figure spacing so that +%$% if no optional section is given, then the figure is only followed +%$% by \subfigbottomskip and not that plus (\subfigcapskip + \strut +%$% height). This should make it easier to adjust spacing as desired. +%$% +%$% Revision 1.4 92/06/27 10:40:34 sdc +%$% Added a hack to allow the \label command to be used within the +%$% body of the subfigure giving a reference label in the form +%$% \arabic{thefigure}\thesubfigure. Added standard file header for +%$% style. +%$% +%$% Revision 1.3 90/10/22 17:04:28 cochran +%$% Changed test for empty caption inside of \@subfigure to compare +%$% tokens and not the caption vs. \@empty. The former (incorrect) +%$% test caused an error when the first two letters of the caption +%$% were the same. +%$% +%$% Revision 1.2 89/08/30 07:18:29 cochran +%$% Added a separate bottom margin and expanded the comments. +%$% +%$% Revision 1.1 88/11/02 11:03:46 cochran +%$% Initial revision. +%$% +%$% 05 Mar 86 cochran@dworkin.usc.edu (USC-IRIS) +%$% Created. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%$% Usage: \documentstyle[...,subfigure,...]{...} +%$% +%$% \subfigure[CAPTIONtext]{FIGUREbox} +%%% +%%% Creates a subfigure box with an optional CAPTION under a FIGURE. +%%% The FIGURE is centered with \subfigtopskip of vertical space added +%%% above. If there is a CAPTION, then \subfigcapskip vertical space +%%% is added below the FIGURE followed by the CAPTION. Finally, +%%% \subfigbottomskip of vertical space added at the bottom. +%%% +%%% If a CAPTION is given (including a null CAPTION `[]') then the +%%% subfigure is labeled with a counter formatted by the macro +%%% `\thesubfigure' which returns `(a)', `(b)', etc. If desired, +%%% this macro may be redefined. The counter used for labeling the +%%% subfigures is `subfigure' and is incremented for each subfigure +%%% regardless of whether a CAPTION was printed. +%%% +%$% \subfigure[CAPTIONtext]{FIGUREbox} +%%% +%%% The subtable command is symmetric to the subfigure command defined +%%% above. +%%% +%%% One example of use is to surround the figure in a center +%%% environment or to specifying \centering: +%%% +%%% *---------* +%%% \newcommand{\goodgap}{% | .. . | *---------* +%%% \hspace{\subfigtopskip}% | . . | | . . . | +%%% \hspace{\subfigbottomskip}} | .. . . | | . . .. | +%%% ... *---------* *---------* +%%% \begin{figure}% (a) First (b) Second +%%% \centering Figure +%%% \subfigure[First]{...}\goodgap +%%% \subfigure[Second Figure]{...}\\ *---------* +%%% \subfigure[Third]{\label{3figs-c}...}% | . .. . | +%%% \caption{Three Subfigures.} | . .. . | +%%% \label{3figs} *---------* +%%% \end{figure} (c) Third +%%% ... Figure 1. Three Subfigures. +%%% Figure~\ref{3figs} contains +%%% two top `subfigures' and Figure 1 contains two top `sub- +%%% Figure~\ref{3figs-c}. figures' and Figure 1(c). +%%% +%%% A second example is to change the way that the subfigures are labeled +%%% and to have the subfigure captions printed in the list-of-figures. +%%% +%%% \renewcommand{\thesubfigure}{\thefigure.\arabic{subfigure}} +%%% \makeatletter +%%% \renewcommand{\@thesubfigure}{\thesubfigure:\space} +%%% \renewcommand{p@subfigure}{} +%%% \makeatother +%%% ... +%%% \setcounter{lofdepth}{2} +%%% \listoffigures +%%% ... +%%% \begin{figure}% +%%% \begin{center}% +%%% \subfigure[First]{% *--------------* *--------------* +%%% \label{fig:first}% | .. . . | | . ... .. . . | +%%% ...}% | . . . . | | . . . . .. | +%%% \goodgap | .. . . . . | | . . . .. .. | +%%% \subfigure[Second]{% *--------------* *--------------* +%%% \label{fig:second}% +%%% ...}% 1.1: First 1.2: Second +%%% \end{center}% +%%% \caption{Two Subfigures.} Figure 1. Two Subfigures. +%%% \end{figure} +%%% ... See subfigures 1.1 and 1.2. +%%% See subfigures \ref{fig:first} +%%% and \ref{fig:second}. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Options: +%%% +%%% I. Subfloat caption shape. +%%% By default the caption paragraphs are centered under the +%%% subfigure or table with a little indentation at each side. +%%% There are three options that may be used to change the shape +%%% of the centered paragraph -- they only have an effect when the +%%% caption is more than one line long. These should be set in +%%% the preamble of your LaTeX file: +%%% +%%% \subcaphangtrue Causes the label to be a hanging +%%% indentation to the caption paragraph. +%%% \subcapcentertrue Causes each line of the paragraph +%%% to be separately centered. +%%% \subcapcenterlasttrue Causes the last line only to be +%%% centered. +%%% \subcapnooneline If a caption fits on one line it +%%% will, by default, be centered. +%%% This option left-justifies the one +%%% line caption. +%%% +%%% The hang option may be used in addition to either center +%%% option. (If both center options are true it is the same as if +%%% only the \subcapcenter was true.) +%%% +%%% +%%% II. Subfloat label font. +%%% The subfloat label font may be separately set by changing the +%%% definition of \subcaplabelfont. For example: +%%% +%%% \newcommand{\subcaplabelfont}{\it} +%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% +%%% Identification +%%% +\ifx\if@compatibility\undefined\else + \NeedsTeXFormat{LaTeX2e} + \ProvidesPackage{subfigure}[1995/03/06 v2.0 subfigure package] + \typeout{Package: subfigure 1995/03/06 v2.0} +\fi + +%%% +%%% Initialization and Shared constants +%%% +\newif\ifsubcaphang +\newif\ifsubcapcenter +\newif\ifsubcapcenterlast +\newif\ifsubcapnooneline + +%% +%% Common values (mention of `subfig' in names is for upward compatibility) +%% +\newcommand{\subfigtopskip}{10pt} % Length from the top of the subfloat + % box to the begining of the FIGURE box. +\newcommand{\subfigbottomskip}{10pt} % Length from the bottom of the CAPTION + % to the bottom of the subfloat. +\newcommand{\subfigcapskip}{10pt} % Length from the bottom of the FIGURE box + % to the begining of the CAPTION. +\newcommand{\subfigcapmargin}{10pt} % Indentation of the caption from the + % sides of the subfloat box (This should + % always be positive). +\newcommand{\subcapsize}{} % Size of the CAPTION font. +\newcommand{\subcaplabelfont}{} % Font of the caption label. + +%% +%% Subfigure values +%% +\newcounter{subfigure}[figure] % Subfigure counter. +\def\thesubfigure{(\alph{subfigure})} % Generate CAPTION label (text). +\newcommand{\@thesubfigure}{% % Generate CAPTION label (figure). + {\subcaplabelfont\thesubfigure}\space} +\let\p@subfigure\thefigure % Figure number for \label. + +\let\ext@subfigure\ext@figure % Default SubFigure file extension. +\newcommand{\l@subfigure}{% % How to print an LOF subfigure line. + \@dottedxxxline{\ext@subfigure}{2}{3.9em}{2.3em}} +\newcounter{lofdepth} % LOF depth counter. +\setcounter{lofdepth}{1} % Default is to NOT print an LOF line. + +%% +%% Subtable values +%% +\newcounter{subtable}[table] % Subtable counter. +\def\thesubtable{(\alph{subtable})} % Generate CAPTION label (text). +\newcommand{\@thesubtable}{% % Generate CAPTION label (figure). + {\subcaplabelfont\thesubtable}\space} +\let\p@subtable\thetable % Figure number for \label. + +\let\ext@subtable\ext@table % Default SubTable file extension. +\newcommand{\l@subtable}{% % How to print an LOT subtable line. + \@dottedxxxline{\ext@subtable}{2}{3.9em}{2.3em}} +\newcounter{lotdepth} % LOT depth counter. +\setcounter{lotdepth}{1} % Default is to NOT print an LOT line. + + +%% +%% Declaration of options +%% +\ifx\if@compatibility\undefined + \subcaphangfalse + \subcapcenterfalse + \subcapcenterlastfalse + \subcapnoonelinefalse + \def\subcapsize{\footnotesize} +\else + \DeclareOption{normal}{% + \subcaphangfalse + \subcapcenterfalse + \subcapcenterlastfalse} + \DeclareOption{hang}{\subcaphangtrue} + \DeclareOption{center}{\subcapcentertrue} + \DeclareOption{centerlast}{\subcapcenterlasttrue} + \DeclareOption{nooneline}{\subcapnoonelinetrue} + \DeclareOption{isu}{\ExecuteOption{hang}} + \DeclareOption{anne}{\ExecuteOption{centerlast}} + + \DeclareOption{scriptsize}{\renewcommand{\subcapsize}{\scriptsize}} + \DeclareOption{footnotesize}{\renewcommand{\subcapsize}{\footnotesize}} + \DeclareOption{small}{\renewcommand{\subcapsize}{\small}} + \DeclareOption{normalsize}{\renewcommand{\subcapsize}{\normalsize}} + \DeclareOption{large}{\renewcommand{\subcapsize}{\large}} + \DeclareOption{Large}{\renewcommand{\subcapsize}{\Large}} + \DeclareOption{up}{\renewcommand{\subcaplabelfont}{\upshape}} + \DeclareOption{it}{\renewcommand{\subcaplabelfont}{\itshape}} + \DeclareOption{sl}{\renewcommand{\subcaplabelfont}{\slshape}} + \DeclareOption{sc}{\renewcommand{\subcaplabelfont}{\scshape}} + \DeclareOption{md}{\renewcommand{\subcaplabelfont}{\mdseries}} + \DeclareOption{bf}{\renewcommand{\subcaplabelfont}{\bfseries}} + \DeclareOption{rm}{\renewcommand{\subcaplabelfont}{\rmfamily}} + \DeclareOption{sf}{\renewcommand{\subcaplabelfont}{\sffamily}} + \DeclareOption{tt}{\renewcommand{\subcaplabelfont}{\ttfamily}} + + \ExecuteOptions{normal,footnotesize} + \ProcessOptions +\fi + + +%%% +%%% Define the subfigure and subtable commands +%%% +\newcommand{\subfigure}{% + \bgroup + % Since the table caption is usually generated later, we + % must locally anticipate the future value of its counter. + \advance\csname c@\@captype\endcsname\@ne + \refstepcounter{sub\@captype}% + \leavevmode + \@ifnextchar [% + {\@subfloat{sub\@captype}}% + {\@subfloat{sub\@captype}[\@empty]}} +\let\subtable\subfigure + +%%% +%%% Define the common subfloat macro +%%% +\def\@subfloat#1[#2]#3{% + \setbox\@tempboxa \hbox{#3}% + \@tempdima=\wd\@tempboxa + \vtop{% + %% Put the top spacing and the figure in the top box + \vbox{% + \vskip\subfigtopskip + \box\@tempboxa}% + %% Now skip down and add the caption paragraph + %% (unless #2 == \@empty) + \ifx \@empty#2\relax \else + \vskip\subfigcapskip + \@subcaption{#1}{#2}% + \fi + %% Finally add the bottom spacing. + \vskip\subfigbottomskip}% + \egroup} + +\newcommand{\@subfigcaptionlist}{} + +\newcommand{\@subcaption}[2]{% + \begingroup + \let\label\@gobble + \def\protect{\string\string\string}% + \xdef\@subfigcaptionlist{% + \@subfigcaptionlist,% + {\protect\numberline {\@currentlabel}% + \noexpand{\ignorespaces #2}}}% + \endgroup + \@nameuse{@make#1caption}{\@nameuse{@the#1}}{#2}} + +\newcommand{\@makesubfigurecaption}[2]{% + \setbox\@tempboxa \hbox{% + \subcapsize + \ignorespaces #1% + \ignorespaces #2}% + \@tempdimb=-\subfigcapmargin + \multiply\@tempdimb\tw@ + \advance\@tempdimb\@tempdima + \hbox to\@tempdima{% + \hfil + \ifdim \wd\@tempboxa >\@tempdimb + \subfig@caption{#1}{#2}% + \else\ifsubcapnooneline + \subfig@caption{#1}{#2}% + \else + \box\@tempboxa + \fi\fi + \hfil}} + +\let\@makesubtablecaption\@makesubfigurecaption + +\newcommand{\subfig@caption}[2]{% + \ifsubcaphang + \sbox{\@tempboxa}{% + \subcapsize + \ignorespaces #1}% + \addtolength{\@tempdimb}{-\wd\@tempboxa}% + \usebox{\@tempboxa}% + \subfig@captionpar{\@tempdimb}{#2}% + \else + \subfig@captionpar{\@tempdimb}{#1#2}% + \fi} + +\newcommand{\subfig@captionpar}[2]{% + \parbox[t]{#1}{% + \strut + \ifsubcapcenter + \setlength{\leftskip}{\@flushglue}% + \setlength{\rightskip}{\@flushglue}% + \setlength{\parfillskip}{\z@skip}% + \else\ifsubcapcenterlast + \addtolength{\leftskip}{0pt plus 1fil}% + \addtolength{\rightskip}{0pt plus -1fil}% + \setlength{\parfillskip}{0pt plus 2fil}% + \fi\fi + \subcapsize + \ignorespaces #2}} + +%%% +%%% Generalized wrapper for the \@dottedtocline macro. This checks for +%%% the level based on the output file (#1) and not using only +%%% \@tocdepth. +%%% +\newcommand{\@dottedxxxline}[6]{% + \ifnum #2>\@nameuse{c@#1depth}\else + \@dottedtocline{0}{#3}{#4}{#5}{#6} + \fi} + +%%% +%%% Finally, wrap the \@caption macro to dump any sub-captions saved +%%% after calling the standard \@caption. +%%% +\let\subfig@oldcaption\@caption + +\long\def\@caption#1[#2]#3{% + \subfig@oldcaption{#1}[{#2}]{#3}% + \@for \@tempa:=\@subfigcaptionlist \do {% + \ifx\@empty\@tempa\relax \else + \addcontentsline + {\@nameuse{ext@sub#1}}% + {sub#1}% + {\@tempa}% + \fi}% + \gdef\@subfigcaptionlist{}} +\endinput + +%%% +%%% End of file `subfigure.sty'. diff --git a/obsolete/macros/latex209/contrib/misc/texnames.sty b/obsolete/macros/latex209/contrib/misc/texnames.sty new file mode 100644 index 0000000000..7314a8de47 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/texnames.sty @@ -0,0 +1,13 @@ +\font\mf=logo10 +\hyphenchar\mf=-1 +\newcommand{\METAFONT}{{\mf METAFONT}} +\newcommand{\AMSTEX}{$\cal A$\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em + $\cal S$-\TeX} +\newcommand{\AMSTeX}{\AMSTEX} +\newcommand{\BibTeX}{{\sc Bib}\TeX} +\newcommand{\VorTeX}{{V\kern-2.7pt\lower.5ex\hbox{O\kern-1.4pt R}\kern-2.6pt + T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}} +\newcommand\FergTeX{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX} +\font\gut=cminch +\hyphenchar\gut=-1 +\newcommand{\Gut}{{\gut GUT}{\Huge \kern-1em\hbox{enberg}}} diff --git a/obsolete/macros/latex209/contrib/misc/threepart.sty b/obsolete/macros/latex209/contrib/misc/threepart.sty new file mode 100644 index 0000000000..8d9104688d --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/threepart.sty @@ -0,0 +1,40 @@ +% Three part head and foot macros. 1/87 +% Lance Berc +% Olsen & Associates mcvax!unizh!olsen!lance@seismo.css.gov +% Seefeldstrasse 233 +% CH-8008 Zurich + +% How users can set the head and foot text. +\def\lhead#1{\gdef\@lhead{#1}} \def\lfoot#1{\gdef\@lfoot{#1}} +\def\chead#1{\gdef\@chead{#1}} \def\cfoot#1{\gdef\@cfoot{#1}} +\def\rhead#1{\gdef\@rhead{#1}} \def\rfoot#1{\gdef\@rfoot{#1}} + +% Initialization of the head and foot text. +% By default the page number is at the center of the foot and everything +% else is empty. +\def\@lhead{} \def\@lfoot{} +\def\@chead{} \def\@cfoot{{\rm \thepage}} +\def\@rhead{} \def\@rfoot{} + +% Put together a three part header or footer given the left, center and +% right text. The \lap commands put the text into an hbox of zero size, +% so overlapping text is not detected (it just overlaps). +\def\@threepart#1#2#3{\rlap{#1} \hfil {#2} \hfil \llap{#3}} + +% Swap the notices on odd and even pages when twosided. +\def\ps@threepartheadings + { + \def\@oddhead{\@threepart{\@lhead}{\@chead}{\@rhead}} + \def\@oddfoot{\@threepart{\@lfoot}{\@cfoot}{\@rfoot}} + + \if@twoside + \def\@evenhead{\@threepart{\@rhead}{\@chead}{\@lhead}} + \def\@evenfoot{\@threepart{\@rfoot}{\@cfoot}{\@lfoot}} + \else + \def\@evenhead{\@threepart{\@lhead}{\@chead}{\@rhead}} + \def\@evenfoot{\@threepart{\@lfoot}{\@cfoot}{\@rfoot}} + \fi + } + +% Default page style +\ps@threepartheadings diff --git a/obsolete/macros/latex209/contrib/misc/twoup.sty b/obsolete/macros/latex209/contrib/misc/twoup.sty new file mode 100644 index 0000000000..b9fb4796d0 --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/twoup.sty @@ -0,0 +1,20 @@ +% Gary Levin gary@sun.mcs.clarkson.edu +% +% to format files for two up printing use the following style file +% feel free to modify before you install. the units are pretty good, so +% don't fiddle much. leaves enough room for punching holes at the top. +% +% once latex'ed, reorganize the file using +% dvidvi '2:0(-0.35in,-0.25in),1(4.65in,-0.25in)' $1.dvi twoup.dvi +% then print using dvi2ps -L +% probably should package as a shell file +% +\newcommand\twoup{ +\topmargin 0.00in +\oddsidemargin 0.00in +\evensidemargin 0.00in +\headheight 0.25in +\headsep 0.20in +\textheight 6.50in +\pagestyle{headings} +} diff --git a/obsolete/macros/latex209/contrib/misc/varioref.sty b/obsolete/macros/latex209/contrib/misc/varioref.sty new file mode 100644 index 0000000000..0d895e04bc --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/varioref.sty @@ -0,0 +1,168 @@ +%% +%% This is file `varioref.sty', generated +%% on <1993/5/1> with the docstrip utility (2.1e). +%% +%% The original source files were: +%% +%% varioref.doc (with options: `style') +%% +%% +%% Copyright (C) 1992,1993 by Frank Mittelbach. All rights reserved. +%% +%% +%% IMPORTANT NOTICE: +%% +%% You are not allowed to change this file. You may however copy this +%% file to a file with a different name and then change the copy. +%% +%% You are NOT ALLOWED to distribute this file alone. You are NOT +%% ALLOWED to take money for the distribution or use of this file (or a +%% changed version) except for a nominal charge for copying etc. +%% +%% You are allowed to distribute this file under the condition that it is +%% distributed together with all files mentioned in readme.mz7. +%% +%% If you receive only some of these files from someone, complain! +%% +%% However, if these files are distributed by established suppliers as +%% part of a complete TeX distribution, and the structure of the +%% distribution would make it difficult to distribute the whole set of +%% files, *those parties* are allowed to distribute only some of the +%% files provided that it is made clear that the user will get a complete +%% distribution-set upon request to that supplier (not me). Notice that +%% this permission is not granted to the end user. +%% +%% For error reports in case of UNCHANGED versions see readme files. +%% +%% +%% + +\def\filename{varioref} +\def\fileversion{v0.1g} +\def\filedate{93/02/14} +\def\docdate {93/02/14} + +%% \CheckSum{257} +%% \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 \~} +%% +%% Style-option varioref to use with LaTeX v2.09 +%% Copyright (C) 1992-1993 Frank Mittelbach, all rights reserved. +\@ifundefined{c@vrcnt}{}{\endinput} +\typeout{Style option: `varioref' + \fileversion\space <\filedate> (FMi)} +\typeout{English documentation + \@spaces\@spaces\space<\docdate> (FMi)} +\newcounter{vrcnt} +\def\vpageref{\protect\p@vpageref} +\def\p@vpageref{\@ifnextchar[% + \@vpageref{\@vpageref[\reftextcurrent]}% +} +\def\@vpageref[#1]{\@ifnextchar[% + \@@vpageref{\@@vpageref[#1][\unskip\space]}} +\def\@@vpageref[#1][#2]#3{% + \leavevmode\unskip + \global\advance\c@vrcnt\@ne + \@ifundefined{r@vr@\the\c@vrcnt}% + {\@namedef{r@vr@\the\c@vrcnt}{{??}{??}}}{}% + \edef\@tempa{\expandafter\expandafter\expandafter + \@cdr\csname r@vr@\the\c@vrcnt\endcsname + \@nil}% + \@ifundefined{r@xvr@\the\c@vrcnt}% + {\@namedef{r@xvr@\the\c@vrcnt}{{??}{??}}}{}% + \edef\@tempb{\expandafter\expandafter\expandafter + \@cdr\csname r@xvr@\the\c@vrcnt\endcsname + \@nil}% + {\let\@currentlabel\@empty\label{xvr@\the\c@vrcnt}}% + \ifx\@tempa\@tempb\else + \vref@err{***^^J% + * Warning: \noexpand\vref over page boundary + \@tempa-\@tempb\space (may loop)^^J% + ***}% + \fi + \@ifundefined{r@#3}{\@namedef{r@#3}{{??}{??}}}{}% + \edef\@tempb{\expandafter\expandafter\expandafter + \@cdr\csname r@#3\endcsname + \@nil}% + \space + \ifx\@tempa\@tempb + #1% + \else + #2% + \is@pos@number\@tempb + {% + \is@pos@number\@tempa + {\@tempcnta\@tempa + \advance\@tempcnta\@ne + }% + {\@tempcnta\maxdimen}% + \ifnum \@tempb =\@tempcnta + \ifodd\@tempcnta + \if@twoside + \reftextfaceafter + \else + \reftextafter + \fi + \else + \reftextafter + \fi + \else + \advance\@tempcnta-2 + \ifnum \@tempb =\@tempcnta + \ifodd\@tempcnta + \reftextbefore + \else + \if@twoside + \reftextfacebefore + \else + \reftextbefore + \fi + \fi + \else + \reftextfaraway{#3}% + \fi + \fi + }% + {\reftextfaraway{#3}}% + \fi + {\let\@currentlabel\@empty\label{vr@\the\c@vrcnt}}% +} +\def\vrefwarning{\let\vref@err\typeout} +\let\vref@err\errmessage +\def\vref{\protect\p@vref} +\def\p@vref#1{% + \unskip~\ref{#1}% + \@vpageref[\unskip]{#1}% +} +\def\is@pos@number#1{\is@pos@num0#1\space\@nil} +\def\is@pos@num{\afterassignment\is@pos@num@ \count@} +\def\is@pos@num@#1\@nil{% + \if0#10% + \expandafter\@firstarg \else + \expandafter\@secondarg \fi} +\def\@firstarg#1#2{#1} +\def\@secondarg#1#2{#2} +\def\reftextvario#1#2{\ifodd\c@vrcnt #1\else#2\fi} +\def\reftextfaceafter {on the \reftextvario{facing}{next} page} +\def\reftextfacebefore{on the \reftextvario{facing}{preceding} page} +\def\reftextafter {on the \reftextvario{following}{next} page} +\def\reftextbefore {on the \reftextvario{preceding page}{page before}} +\def\reftextcurrent {on \reftextvario{this}{the current} page} +\def\reftextfaraway#1{on page~\pageref{#1}} +\def\fullref#1{\ref{#1} on page~\pageref{#1}} +\endinput +%% +%% End of file `varioref.sty'. diff --git a/obsolete/macros/latex209/contrib/misc/xr.sty b/obsolete/macros/latex209/contrib/misc/xr.sty new file mode 100644 index 0000000000..b4b11da30c --- /dev/null +++ b/obsolete/macros/latex209/contrib/misc/xr.sty @@ -0,0 +1,207 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "David Carlisle", +%%% version = "5.01", +%%% date = "20 July 1993", +%%% time = "10:57:34 BST", +%%% filename = "xr.sty", +%%% address = "Computer Science Department +%%% Manchester University +%%% Oxford Road +%%% Manchester +%%% England +%%% M13 9PL", +%%% telephone = "+44 61 275 6139", +%%% FAX = "+44 61 275 6236", +%%% checksum = "04455 207 971 7348", +%%% email = "carlisle@cs.man.ac.uk (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "LaTeX, \ref, \pageref, \label", +%%% supported = "yes", +%%% docstring = " +%%% +%%% xr.sty +%%% +%%% A style which allows the use \[page]ref in one file to access +%%% labels defined by \label in another document. +%%% Each such file which is to be cross referenced is declared with +%%% the \externaldocument command. +%%% +%%% Versions 1-4 of this style were written by Jean-Pierre Drucbert +%%% +%%% Version 5 re-implements the main mechanism, and adds an +%%% optional argument to allow the user to resolve conflicts if two +%%% files use the same \label. +%%% +%%% The checksum field above was produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +% +% Version 5.00 07 July 1993 +% New mechanism (\read instead of \input). +% +% Version 5.01 20 July 1993 +% V5.00 did not import aux files of \include'ed files. (Reported by +% Jean-Pierre Drucbert.) +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%<*x> +% This file may be used without modification as a style (.sty) file. +% +% If you have Mittelbach's doc.sty, this file may be formatted with a +% command like: +% latex xr.sty +% +% If you have the Mittelbach/Duchier/Braams docstrip utility, you may +% produce a faster loading .sty file. Rename this file to: xr.doc +% Then run this file through *plain* TeX: +% tex xr.doc +% This should produce the file xr.sty. +% If you do not have plain TeX on your system, you can trick LaTeX into +% doing the work as follows: +% latex \def\fmtname{plain} \input xr.doc +% Note that you may need to quote the arguments here to stop your +% operating system treating the \ characters incorrectly. +% +% latex xr.doc +% Will produce a typeset version of the documentation, as above. +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\plain{plain}\ifx\fmtname\plain\csname fi\endcsname + \def\batchfile{xr.doc} + \input docstrip + \preamble + + Do not distribute the stripped version of this file. + The checksum in the header refers to the documented version. + + \endpreamble + \generateFile{xr.sty}{t}{\from{xr.doc}{}} + \endinput +\fi +% +\ifcat a\noexpand @\let\next\relax\else\def\next{% + \documentstyle[doc]{article}\MakePercentIgnore}\fi\next +% +%\def\eatmodule<#1>{}\eatmodule +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \textwidth=355pt ^^A Allow macrocode text with 72 columns. +% \CodelineIndex ^^A Code lines numbered. +% \DisableCrossrefs ^^A No Cross references. +% \MakeShortVerb{\"} ^^A "\foo" works like \verb+\foo+ +% +% \title{xr.sty} +% \author{D. P. Carlisle^^A +% \thanks{The Author of Versions 1--4 was Jean-Pierre Drucbert}} +% \date{20 July 1993} +% +% \begin{document} +% \maketitle +% +% This style implements a system for eXternal References. +% +% If one document needs to refer to sections of another, say "aaa.tex", +% then this style may be given as a "\documentstyle" option in the main +% file, and the command "\externaldocument{aaa}" given in the preamble. +% +% Then you may use "\ref" and "\pageref" to refer to anything which has +% been given a "\label" in either "aaa.tex" or the main document. +% You may declare any number of such external documents. +% +% If any of the external documents, or the main document, use the same +% "\label" then an error will occur as the label will be multiply +% defined. To overcome this problem "\externaldocument" has an optional +% argument. If you declare "\externaldocument[A-]{aaa}" Then all +% references from "aaa" are prefixed by "A-". So for instance, if a +% section of "aaa" had "\label{intro}", then this could be referenced +% with "\ref{A-intro}". The prefix need not be "A-", it can be any +% string chosen to ensure that all the labels imported from external +% files are unique. Note however that if your style declares certain +% active characters (":" in French, \verb|"| in German) then these +% characters can not usually be used in "\label", and similarly may not +% be used in the optional argument to "\externaldocument". +% +% \typeout{End of the Introduction and Examples.} +% \typein[\answer]% +% {Do you want an annotated listing of the macro definitions (y/n) ?} +% \def\next{y}\ifx\answer\next\else\expandafter\stop\fi +% +% \section{The macros} +% Check for the optional argument. +% \begin{macrocode} +\def\externaldocument{\@ifnextchar[{\XR@}{\XR@[]}} +% \end{macrocode} +% +% Save the optional prefix. Start processing the first "aux" file. +% \begin{macrocode} +\def\XR@[#1]#2{{% + \makeatletter + \def\XR@prefix{#1}% + \XR@next#2.aux\relax\\}} +% \end{macrocode} +% +% Process the next "aux" file in the list and remove it from the head of +% the list of files to process. +% \begin{macrocode} +\def\XR@next#1\relax#2\\{% + \edef\XR@list{#2}% + \XR@loop{#1}} +% \end{macrocode} +% +% Check whether the list of "aux" files is empty. +% \begin{macrocode} +\def\XR@aux{% + \ifx\XR@list\@empty\else\expandafter\XR@explist\fi} +% \end{macrocode} +% + +% Expand the list of aux files, and call "\XR@next" to process the first +% one. +% \begin{macrocode} +\def\XR@explist{\expandafter\XR@next\XR@list\\} +% \end{macrocode} +% +% If the "aux" file exists, loop through line by line, looking for +% "\newlabel" and "\@input". Otherwise process the next file in the +% list. +% \begin{macrocode} +\def\XR@loop#1{\openin\@inputcheck#1\relax + \ifeof\@inputcheck + \typeout{^^JNo file #1^^JLABELS NOT IMPORTED.^^J}% + \expandafter\XR@aux + \else + \typeout{IMPORTING LABELS FROM #1}% + \expandafter\XR@read\fi} +% \end{macrocode} +% +% Read the next line of the aux file. +% \begin{macrocode} +\def\XR@read{% + \read\@inputcheck to\XR@line +% \end{macrocode} +% The "..." make sure that "\XR@test" always has sufficient arguments. +% \begin{macrocode} + \expandafter\XR@test\XR@line...\XR@} +% \end{macrocode} +% +% Look at the first token of the line. +% If it is "\newlabel", do the "\newlabel". If it is "\@input", add the +% filename to the list of files to process. Otherwise ignore. +% Go around the loop if not at end of file. Finally process the next +% file in the list. +% \begin{macrocode} +\long\def\XR@test#1#2#3#4\XR@{% + \ifx#1\newlabel + \newlabel{\XR@prefix#2}{#3}% + \else\ifx#1\@input + \edef\XR@list{\XR@list#2\relax}% + \fi\fi + \ifeof\@inputcheck\expandafter\XR@aux + \else\expandafter\XR@read\fi} +% \end{macrocode} +% +% \end{document} +\endinput diff --git a/obsolete/macros/latex209/contrib/mitthesis/mitthesis-sample.tex b/obsolete/macros/latex209/contrib/mitthesis/mitthesis-sample.tex new file mode 100644 index 0000000000..60dee20994 --- /dev/null +++ b/obsolete/macros/latex209/contrib/mitthesis/mitthesis-sample.tex @@ -0,0 +1,135 @@ +% mitthesis-sample.tex 12 Sep 89 +% by Stephen Gildea +\documentstyle[11pt,mitthesis]{report} +\begin{document} + +\title{Mixed Mode Oblique Ionograms in Transverse Shear Deformations +of Epitaxial Laminar Turbulent Circular Cylindrical Shells} + +\author{J. Casey Salas} +\prevdegrees{B.S., University of California (1978) \\ + S.M., Massachusetts Institute of Technology (1981)} +\department{Department of Electrical Engineering and Computer Science} + +% If the thesis is for two degrees simultaneously, list them both +% separated by \and like this: +% \degree{Doctor of Philosophy \and Master of Science} +\degree{Doctor of Philosophy} + +\degreemonth{February} +\degreeyear{1987} +\thesisdate{December 10, 1986} + +% If the thesis is copyright by the Institute, leave this line out and +% the standard copyright line will be used instead. +\copyrightnotice{J. Casey Salas, 1986} + +% If there is more than one supervisor, use the \supervisor command +% once for each. +\supervisor{John D. Galli}{Director, Sound Instrument Laboratory} + +% The \supervisor command takes an optional argument in case you +% want to label a person other than "Thesis Supervisor". For example, +% \supervisor[Thesis Co-supervisor]{Michael Prange}{Senior Research Scientist} + +% this is the department committee chairman, not the thesis committee chairman +\chairman{Arthur C. Smith} + {Chairman, Departmental Committee on Graduate Students} + +% Make the titlepage based on the above information. If you need +% something special and can't use the standard form, you can specify +% the exact text of the titlepage yourself. Put it in a titlepage +% environment and leave blank lines where you want vertical space. +% The spaces will be adjusted to fill the entire page. The dotted +% lines for the signatures are made with the \signature command. +\maketitle + +% The abstractpage environment sets up everything on the page except +% the text itself. The title and other header material are put at the +% top of the page, and the supervisors are listed at the bottom. A +% new page is begun both before and after. Of course, an abstract may +% be more than one page itself. If you need more control over the +% format of the page, you can use the abstract environment, which puts +% the word "Abstract" at the beginning and single spaces its text. + +\begin{abstractpage} +Recursive lattice least squares (RLLS) was selected as the baseline +algorithm for the identification. Simulation results on a +one-dimensional LSS demonstrated that it provided good estimates, was +not ill-conditioned in the presence of under-excited modes, allowed +activity by a supervisory control system which prevented damage to the +LSS or excessive drift, and was capable of real-time processing for +typical LSS models. + +The editor generates data files +representing this model that can be used as input to a ray-tracing +program. The description of the file format is +written in a high-level declarative language, so that the editor can +be easily modified to support other formats. +\end{abstractpage} + +% The text of the thesis itself begins here. + +% You may want to put a \tableofcontents command here. + +% An acknowledgments section (probably begun with +% \section*{Acknowledgments}) might go here. + +\chapter{Introduction} + +\section{Background} +Observed elevation changes near the 1979 hypocenter +(on the southern end of Imperial fault) and in the Brawley Seismic Zone show +significant deviations from those predicted by models of fault slip +inferred from strong ground motion measurements. Specifically, the +geodetic data suggest that +slip on the Imperial fault is significantly lower in the +vicinity of the earthquake hypocenter +than along the central and northern sections of the +fault. In addition, +there is marginal evidence that the dip of the Imperial fault +changes along strike from approximately vertical +just north of the US-Mexico border to between $70^\circ$ and $80^\circ$ near +the northernmost extent of the 1979 surface break. This change in dip +may be related to a change in local strike along the fault. Large +elevation changes ($>15$ cm) also occur within the Brawley Seismic +Zone well north of the primary surface faulting. + +While these +movements are consistent with a number of possible fault +models, our prefered interpretation based on geodetic and seismic +observations (aftershock locations and focal mechanisms) +involves right lateral, aseismic slip on a northwest +striking fault along the east side of the Brawley Seismic Zone and +conjugate left lateral faulting on a northeast striking fault +(possibly associated with a M=5.8 aftershock).\footnote{Buried creep on this +same right lateral fault in the Brawley Seismic Zone can also +account for vertical deformation during the postseismic period of the +1940, M=7.1 Imperial Valley earthquake as well as deformation during the +interseismic period between the 1940 and 1979 events.} + +Substantial +right lateral slip in the Brawley Seismic Zone suggests that a +significant part of the shear strain released during and following the +1940 and 1979 earthquakes on the Imperial fault is transferred through +the Brawley Seismic Zone to the southern end of the San Andreas +fault. + +Elevation changes in the Imperial Valley, California derived from +repeated leveling surveys for the time period including the 1979, +M=6.6 earthquake, provide some constraints on fault geometry and slip +distribution associated with this event. Many of the first order +features of the observed vertical movements are well matched by simple +models consisting of variable slip on planar faults in an elastic +half-space using fault offsets +inferred from strong ground motion observations (Archuleta, 1984) and measured +after-slip. The geodetic and seismic observations suggest that +significant slip is confined to depths above +13 km with maximum right lateral offset reaching about 1.5 m on the +Imperial fault. Dip slip occurs predominantly in +the sediments on the upper 5 km of the Imperial fault and on the +Brawley fault. Right lateral after-slip is confined to the upper 5 km +of the Imperial fault and reaches about 30 cm for the period 1979 to +1981. + +\end{document} diff --git a/obsolete/macros/latex209/contrib/mitthesis/mitthesis.sty b/obsolete/macros/latex209/contrib/mitthesis/mitthesis.sty new file mode 100644 index 0000000000..a70bd4bfc1 --- /dev/null +++ b/obsolete/macros/latex209/contrib/mitthesis/mitthesis.sty @@ -0,0 +1,186 @@ +% mitthesis.sty 12 Sep 89 +% For Massachusetts Institute of Technology theses (grad and undergrad), +% based on "Specifications for Thesis Preparation" Revised 1986. +% +% This style option is designed to work with the report document +% style of LaTeX version 2.09. Use +% \documentstyle[mitthesis]{report} + +% "Preferably, the text should appear on only one side of the paper." +% Hence no doubleside option. + +% Copyright (c) 1987 by Stephen Gildea +% Permission to copy all or part of this work is granted, provided +% that the copies are not made or distributed for resale, and that +% the copyright notice and this notice are retained. +% +% THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO +% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, +% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS +% FOR ANY PARTICULAR PURPOSE. + +% If you make any improvements, I'd like to hear about them. + +% Stephen Gildea +% MIT Earth Resources Lab +% Cambridge, Massachusetts 02139 +% mit-erl!gildea +% gildea@erl.mit.edu + +% 29 Jun 87 original version +% 12 Sep 89 \supervisor optional arg added + +% "Margins must be at least an inch and a quarter on the binding margin +% (normally the left side), and at least one inch on the other sides." +\oddsidemargin .25in +\evensidemargin 0in + +\topmargin 0in +\headheight 0in % no header +\headsep \headheight + +\textwidth 6.25in +\textheight 8.5in + +\footskip .4in + +% "The main body of the text should utilize a space and a half or double +% spacing. The abstract, biography, footnotes, and bibliography +% sections may be single spaced" +\input doublespace.sty %available from Clarkson LaTeX-style collection +\def\baselinestretch{1.5} + +%% End of formatting parameters %% + +%% Define all the pieces that go on the title page and the abstract. + +% \title and \author already exist + +\def\prevdegrees#1{\gdef\@prevdegrees{#1}} +\def\@prevdegrees{} + +\def\department#1{\gdef\@department{#1}} + +% If you are getting two degrees, use \and between the names. +\def\degree#1{\setbox0\hbox{#1} %for side effect of setting \@degreeword + \gdef\@degree{#1}} + +% \and is used inside the \degree argument to separate two degrees +\def\and{\gdef\@degreeword{degrees} \par and \par} +\def\@degreeword{degree} + +% If there is no \copyrightnotice command, it is asssumed that MIT +% holds the copyright. This commands adds the copyright symbol to the +% beginning, and puts the standard permission notice below. +\def\copyrightnotice#1{\copyrightnoticetext{\copyright\ #1\par\permission}} + +% Occacionally you will need to exactly specify the text of the +% copyright notice. The \copyrightnoticetext command is then useful. +\long\def\copyrightnoticetext#1{\gdef\@copyrightnotice{#1}} +\def\@copyrightnotice{\copyright\ \Mit\ \@degreeyear} + +\def\thesisdate#1{\gdef\@thesisdate{#1}} + +% typically just a month and year +\def\degreemonth#1{\gdef\@degreemonth{#1}} +\def\degreeyear#1{\gdef\@degreeyear{#1}} + +% Usage: \supervisor{name}{title} +% \chairman{name}{title} + +% since there can be more than one supervisor, +% we build the appropriate boxes for the titlepage and +% the abstractpage as the user makes multiple calls +% to \supervisor +\newbox\@titlesupervisor \newbox\@abstractsupervisor + +% The \supervisor command takes an optional argument in case you +% want to label a person other than "Thesis Supervisor". For example, +% \supervisor[Thesis Co-supervisor]{Arthur Cheng}{Principle Research Scientist} + +\def\supervisor{\@ifnextchar[{\@supervisor}{\@supervisor[Thesis Supervisor]}} +\def\@supervisor[#1]#2#3{\setbox\@titlesupervisor\vbox + {\unvbox\@titlesupervisor \vskip 10pt plus 1fil minus 1fil + \def\baselinestretch{1}\large + \signature{Certified by}{#2 \\ #3 \\ #1}} + \setbox\@abstractsupervisor\vbox{\unvbox\@abstractsupervisor + \vskip\baselineskip \def\baselinestretch{1}\@normalsize + \par\noindent #1: #2 \\ Title: #3}} + +% department chairman, not thesis committee chairman +\def\chairman#1#2{\gdef\@chairmanname{#1}\gdef\@chairmantitle{#2}} + +\def\maketitle{\begin{titlepage} +\large +{\def\baselinestretch{1.2}\Large\bf \@title \par} +by\par +{\Large \@author} +\par +\@prevdegrees +\par +Submitted to the \@department \\ +in partial fulfillment of the requirements for the \@degreeword\ of +\par +\@degree +\par +at the +\par\MIT\par +\@degreemonth\ \@degreeyear +\par +\@copyrightnotice +\par +\vskip \baselineskip +\signature{Signature of Author}{\@department \\ \@thesisdate} +\par +\unvbox\@titlesupervisor +\par +\signature{Accepted by}{\@chairmanname \\ \@chairmantitle} +\end{titlepage}} + +% this environment should probably be called abstract, +% but we want people to also be able to get at the more +% basic abstact environment +\def\abstractpage{\newpage +\begin{center}{\large{\bf \@title} \\ +by \\ +\@author \\[\baselineskip]} +\par +\def\baselinestretch{1}\@normalsize +Submitted to the \@department \\ +on \@thesisdate, in partial fulfillment of the \\ +requirements for the \@degreeword\ of \\ +\@degree +\end{center} +\par +\begin{abstract}} + +\def\endabstractpage{\end{abstract}\noindent + \unvbox\@abstractsupervisor \newpage} + +% You can use the titlepage environment to do it all yourself if you +% don't want to use \maketitle. If the titlepage environment, the +% paragraph skip is infinitely stretchable, so if you leave a blank line +% between lines that you want space between, the space will stretch so +% that the title page fills up the entire page. +\def\titlepage{\newpage\centering + \thispagestyle{empty} + \parindent 0pt \parskip 10pt plus 1fil minus 1fil + \def\baselinestretch{1}\@normalsize\vbox to \vsize\bgroup\vbox to 9in\bgroup} +% The \kern0pt pushes any depth into the height. Thanks to Richard Stone. +\def\endtitlepage{\par\kern 0pt\egroup\vss\egroup\newpage} + +\def\MIT{MASSACHUSETTS INSTITUTE OF TECHNOLOGY} +\def\Mit{Massachusetts Institute of Technology} + +\def\permission{\par\noindent{\centering + The author hereby grants to MIT permission to reproduce and \\* + to distribute copies of this thesis document in whole or in part.}\par} + +\def\signature#1#2{\par\noindent#1\dotfill\null\\* + {\raggedleft #2\par}} + +\def\abstract{\subsection*{Abstract}\small\def\baselinestretch{1}\@normalsize} +\def\endabstract{\par} + +% If using the report style, use - instead of . in the figure number. +\@ifundefined{thechapter}{}{\def\thefigure{\thechapter-\arabic{figure}}} diff --git a/obsolete/macros/latex209/contrib/ml/ascii.tcp b/obsolete/macros/latex209/contrib/ml/ascii.tcp new file mode 100644 index 0000000000..02ad35e136 Binary files /dev/null and b/obsolete/macros/latex209/contrib/ml/ascii.tcp differ diff --git a/obsolete/macros/latex209/contrib/ml/babel.com b/obsolete/macros/latex209/contrib/ml/babel.com new file mode 100644 index 0000000000..b1c6936d47 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/babel.com @@ -0,0 +1,152 @@ +%% +%% This is file `babel.com', generated +%% on <1993/12/9> with the docstrip utility (2.1e). +%% +%% The original source files were: +%% +%% babel.doc (with options: `code') +%% +%% Copyright (C) 1989-1993 by Johannes Braams. +%% All rights reserved. +%% +%% This file is part of the Babel package, version 3.3. +%% +%% IMPORTANT NOTICE: +%% +%% You are not allowed to change this file. You may however copy +%% this file to a file with a different name and then change the copy +%% if you obey the restrictions on file changes described in +%% readme.babel. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.babel. +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. You are NOT +%% ALLOWED to take money for the distribution or use of either this +%% file or a changed version, except for a nominal charge for copying +%% etc. +%% +%% For error reports in case of UNCHANGED versions see readme files. +%% +%% Please do not request updates from me directly. Distribution is +%% done through Mail-Servers and TeX organizations. +%% +%%%\iffalse +%%% @LaTeX-file{ +%%% author = "Johannes L. Braams", +%%% version = "3.3.2", +%%% date = "23 September 1993", +%%% time = "23:26:20 MET", +%%% filename = "babel.doc", +%%% address = "PTT Research +%%% St. Paulusstraat 4 +%%% 2264 XZ Leidschendam +%%% The Netherlands", +%%% telephone = "(70) 3325051", +%%% FAX = "(70) 3326477", +%%% checksum = "52222 1292 6341 53569", +%%% email = "J.L.Braams@research.ptt.nl (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "babel", +%%% supported = "yes", +%%% docstring = "This file ,babel.doc contains the core of +%%% the babel system as it was described in +%%% TuGboat Volume 12 no 2 and Volume 14 no 1. +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% \fi +%% +\def\fileversion{babel-3.3.2} +\def\filedate{23 september 1993} +\wlog{Style option `babel' version \fileversion\space <\filedate>} +\ifx\undefined\iflanguage + \input babel.switch\relax +\fi +\let\babel@core@loaded\relax +\def\babel@add@special#1{\begingroup + \def\do{\noexpand\do\noexpand}% + \def\@makeother{\noexpand\@makeother\noexpand}% + \edef\x{\endgroup + \def\noexpand\dospecials{\dospecials\do#1}% + \expandafter\ifx\csname @sanitize\endcsname\relax \else + \def\noexpand\@sanitize{\@sanitize\@makeother#1}% + \fi}% + \x} +\def\babel@remove@special#1{\begingroup + \def\x##1##2{\ifnum`#1=`##2\noexpand\empty + \else\noexpand##1\noexpand##2\fi}% + \def\do{\x\do}% + \def\@makeother{\x\@makeother}% + \edef\x{\endgroup + \def\noexpand\dospecials{\dospecials}% + \expandafter\ifx\csname @sanitize\endcsname\relax \else + \def\noexpand\@sanitize{\@sanitize}% + \fi}% + \x} +\def\babel@beginsave{\babel@savecnt\z@} +\newcount\babel@savecnt +\babel@beginsave +\def\babel@save#1{% + \expandafter\let\csname babel@\number\babel@savecnt\endcsname #1\relax + \begingroup + \toks@\expandafter{\originalTeX \let#1=}% + \edef\x{\endgroup + \def\noexpand\originalTeX{\the\toks@ \expandafter\noexpand + \csname babel@\number\babel@savecnt\endcsname\relax}}% + \x + \advance\babel@savecnt\@ne} +\def\babel@savevariable#1{\begingroup + \toks@\expandafter{\originalTeX #1=}% + \edef\x{\endgroup + \def\noexpand\originalTeX{\the\toks@ \the#1\relax}}% + \x} +\def\addto#1#2{% + \ifx\undefined#1\def#1{#2}\else + \expandafter\def\expandafter#1\expandafter{#1#2}% + \fi +} +\def\allowhyphens{\penalty\@M \hskip\z@skip} +\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}% + \dimen\z@\ht\z@ \advance\dimen\z@ -\ht\tw@% + \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht\tw@ \dp\z@\dp\tw@} +\def\save@sf@q#1{{\ifhmode + \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi \leavevmode #1\@SF}} +{\def\format{lplain} +\ifx\fmtname\format +\else + \aftergroup\endinput +\fi} +\long\def\babel@sanitize@arg#1#2{\bgroup\def\@tempa{#2}% + \expandafter\babel@strip@meaning\meaning\@tempa\relax{#1}} +\def\babel@strip@meaning#1->#2\relax#3{\egroup #3{#2}} +\let\LTX@label=\label +\def\label#1{\babel@sanitize@arg\LTX@label{#1}} +\let\LTX@newlabel=\newlabel +\def\newlabel#1#2{\babel@sanitize@arg\LTX@newlabel{#1}{#2}} +\let\LTX@ref=\ref +\def\ref#1{\babel@sanitize@arg\LTX@ref{#1}} +\let\LTX@pageref=\pageref +\def\pageref#1{\babel@sanitize@arg\LTX@pageref{#1}} +\let\LTX@@citex\@citex +\def\@citex[#1]#2{\babel@sanitize@arg{\LTX@@citex[#1]}{#2}} +\let\LTX@nocite\nocite +\def\nocite#1{\babel@sanitize@arg\LTX@nocite{#1}} +\let\LTX@bibcite\bibcite +\def\bibcite#1#2{\babel@sanitize@arg\LTX@bibcite{#1}{#2}} +\let\LTX@@bibitem\@bibitem +\def\@bibitem#1{\babel@sanitize@arg\LTX@@bibitem{#1}} +\let\LTX@@lbibitem\@lbibitem +\def\@lbibitem[#1]#2{\babel@sanitize@arg{\LTX@@lbibitem[#1]}{#2}} +\let\LTX@@testdef=\@testdef +\def\@testdef#1#2{\babel@sanitize@arg{\LTX@@testdef{#1}}{#2}} +\endinput +%% +%% End of file `babel.com'. diff --git a/obsolete/macros/latex209/contrib/ml/babel.sty b/obsolete/macros/latex209/contrib/ml/babel.sty new file mode 100644 index 0000000000..ad6c30562f --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/babel.sty @@ -0,0 +1,207 @@ +%% +%% This is file `babel.sty', generated on <1993/5/18> +%% with the docstrip utility (2.0r). +%% +%% The original source file was `babel.doc'. +%% +%% +%% IMPORTANT NOTICE: +%% You are not allowed to distribute this file. +%% For distribution of the original source see +%% the copyright notice in the file babel.doc. +%% +\def\filename{babel.doc} +\let\thisfilename\filename +\def\fileversion{babel-3.0c} +\def\filedate{15 july 1991} +\def\docdate{6 juni 1991} +%% \CheckSum{5282} +%% \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 \~} +%% +\wlog{Style option `babel' version \fileversion\space <\filedate>} +\wlog{English documentation dated <\docdate>} +\@ifundefined{iflanguage}{\input babel.switch\relax}{\relax} +\let\babel@core@loaded\relax +{\def\format{plain} +\ifx\fmtname\format + \aftergroup\endinput +\fi} +\@ifundefined{doc@style}% + {\def\doc@style{0}% + \@ifundefined{opening}% + {\@ifundefined{chapter}% + {\def\doc@style{1}}% + {\def\doc@style{2}}% + }{\def\doc@style{3}}% + }{\relax}% +\newif\if@restonecol +\@ifundefined{figurename}{\def\fnum@figure{\figurename{} \thefigure}}{} +\@ifundefined{tablename}{\def\fnum@table{\tablename{} \thetable}}{} +\ifcase \doc@style\relax +\or +\@ifundefined{contentsname}% + {\def\tableofcontents{\section*{\contentsname% + \@mkboth{\uppercase\expandafter{\contentsname}}% + {\uppercase\expandafter{\contentsname}}}% + \@starttoc{toc}}}{}% + +\@ifundefined{listfigurename}% + {\def\listoffigures{\section*{\listfigurename\@mkboth% + {\uppercase\expandafter{\listfigurename}}% + {\uppercase\expandafter{\listfigurename}}}\@starttoc{lof}}}{}% + +\@ifundefined{listtablename}% + {\def\listoftables{\section*{\listtablename\@mkboth% + {\uppercase\expandafter{\listtablename}}% + {\uppercase\expandafter{\listtablename}}}\@starttoc{lot}}}{}% +\@ifundefined{refname}% + {\def\thebibliography#1{\section*{\refname% + \@mkboth{\uppercase\expandafter{\refname}}% + {\uppercase\expandafter{\refname}}}% + \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]} + \leftmargin\labelwidth% + \advance\leftmargin\labelsep% + \usecounter{enumi}}% + \def\newblock{\hskip 0.11em plus 0.33em minus 0.07em}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=1000\relax}}{}% + +\@ifundefined{indexname}% + {\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi% + \columnseprule \z@% + \columnsep 35pt\twocolumn[\section*{\indexname}]% + \@mkboth{\uppercase\expandafter{\indexname}}% + {\uppercase\expandafter{\indexname}}\thispagestyle{plain}% + \parindent\z@ \parskip\z@ plus 0.3pt\relax\let\item\@idxitem}}{}% +\@ifundefined{abstractname}% + {\def\abstract{\if@twocolumn% + \section*{\abstractname}% + \else \small% + \begin{center}% + {\bf \abstractname\vspace{-0.5em}\vspace{0pt}}% + \end{center}% + \quotation% + \fi}}{}% +\@ifundefined{partname}% +{\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 + \refstepcounter{part} % THEN step part counter + \addcontentsline{toc}{part}{\thepart % add toc line + \hspace{1em}#1}\else % ELSE add unnumbered line + \addcontentsline{toc}{part}{#1}\fi % FI + { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1 + \Large \bf \partname{} \thepart % THEN Print 'Part' and + \par \nobreak % number in \Large boldface. + \fi % FI + \huge \bf % Select \huge boldface. + #2\markboth{}{}\par } % Print title and set heading marks null. + \nobreak % TeX penalty to prevent page break. + \vskip 3ex % Space between title and text. + \@afterheading % Routine called after part and + } % section heading. +}{}% +\or +\@ifundefined{contentsname}% + {\def\tableofcontents{\@restonecolfalse% + \if@twocolumn\@restonecoltrue\onecolumn% + \fi\chapter*{\contentsname% + \@mkboth{\uppercase\expandafter{\contentsname}}% + {\uppercase\expandafter{\contentsname}}}% + \@starttoc{toc}\if@restonecol\twocolumn\fi}}{}% + +\@ifundefined{listfigurename} + {\def\listoffigures{\@restonecolfalse% + \if@twocolumn\@restonecoltrue\onecolumn% + \fi\chapter*{\listfigurename% + \@mkboth{\uppercase\expandafter{\listfigurename}}% + {\uppercase\expandafter{\listfigurename}}}% + \@starttoc{lof}\if@restonecol\twocolumn\fi}}{}% + +\@ifundefined{listtablename} + {\def\listoftables{\@restonecolfalse% + \if@twocolumn\@restonecoltrue\onecolumn% + \fi\chapter*{\listtablename% + \@mkboth{\uppercase\expandafter{\listtablename}}% + {\uppercase\expandafter{\listtablename}}}% + \@starttoc{lot}\if@restonecol\twocolumn\fi}}{}% +\@ifundefined{bibname} + {\def\thebibliography#1{\chapter*{\bibname% + \@mkboth{\uppercase\expandafter{\bibname}}% + {\uppercase\expandafter{\bibname}}}% + \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}% + \leftmargin\labelwidth \advance\leftmargin\labelsep% + \usecounter{enumi}}% + \def\newblock{\hskip 0.11em plus 0.33em minus 0.07em}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=1000\relax}}{}% + +\@ifundefined{indexname} + {\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi% + \columnseprule \z@% + \columnsep 35pt\twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\uppercase\expandafter{\indexname}}% + {\uppercase\expandafter{\indexname}}% + \thispagestyle{plain}\parindent\z@% + \parskip\z@ plus 0.3pt\relax\let\item\@idxitem}}{}% +\@ifundefined{abstractname} + {\def\abstract{\titlepage% + \null\vfil% + \begin{center}% + {\bf \abstractname}% + \end{center}}}{}% +\@ifundefined{chaptername}{\def\@chapapp{\chaptername}}{} + +\@ifundefined{appendixname} + {\def\appendix{\par% + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \def\@chapapp{\appendixname}% + \def\thechapter{\Alph{chapter}}}}{}% + +\@ifundefined{partname} + {\def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax% IF secnumdepth > -2 + \refstepcounter{part} % THEN step part counter + \addcontentsline{toc}{part}{\thepart% add toc line + \hspace{1em}#1}\else % ELSE add unnumbered line + \addcontentsline{toc}{part}{#1}\fi % FI + \markboth{}{} + {\centering % %% added 19 Jan 88 + \ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2 + \huge\bf \partname{} \thepart % THEN Print 'Part' and number + \par % in \huge bold. + \vskip 20pt \fi % Add space before title. + \Huge \bf % FI + #1\par}\@endpart}}{} % Print Title in \Huge bold. +\or +\@ifundefined{ccname}% + {\def\cc#1{\par\noindent% + \parbox[t]{\textwidth}% + {\@hangfrom{\rm \ccname : }\ignorespaces #1\strut}\par}}{}% + +\@ifundefined{enclname}% + {\def\encl#1{\par\noindent% + \parbox[t]{\textwidth}% + {\@hangfrom{\rm \enclname : }\ignorespaces #1\strut}\par}}{}% +\@ifundefined{headtoname} + {\def\ps@headings{% + \def\@oddhead{\sl \headtoname{} \ignorespaces\toname \hfil% + \@date \hfil \headpagename{} \thepage}% + \def\@oddfoot{}}}{}% +\fi +\endinput +%% +%% End of file `babel.sty'. diff --git a/obsolete/macros/latex209/contrib/ml/babel.swi b/obsolete/macros/latex209/contrib/ml/babel.swi new file mode 100644 index 0000000000..33d15a1aa7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/babel.swi @@ -0,0 +1,138 @@ +%% +%% This is file `babel.switch', generated +%% on <1993/9/27> with the docstrip utility (2.0r). +%% +%% The original source files were: +%% +%% hyphen.doc +%% +%% Copyright (C) 1989-1993 by Johannes Braams. +%% All rights reserved. +%% +%% This file is part of the Babel package, version 3.3. +%% +%% IMPORTANT NOTICE: +%% +%% You are not allowed to change this file. You may however copy +%% this file to a file with a different name and then change the copy +%% if you obey the restrictions on file changes described in +%% readme.babel. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.babel. +%% If you receive only some of these files from someone, complain! +%% +%% You are NOT ALLOWED to distribute this file alone. You are NOT +%% ALLOWED to take money for the distribution or use of either this +%% file or a changed version, except for a nominal charge for copying +%% etc. +%% +%% For error reports in case of UNCHANGED versions see readme files. +%% +%% Please do not request updates from me directly. Distribution is +%% done through Mail-Servers and TeX organizations. +%% +%%%\iffalse +%%% @LaTeX-style-file{ +%%% author = "Braams J.L.", +%%% version = "1.1f", +%%% date = "11 July 1993, +%%% time = "00:08:27 MET, +%%% filename = "hyphen.doc", +%%% address = "PTT Research +%%% St. Paulusstraat 4 +%%% 2264 XZ Leidschendam +%%% The Netherlands", +%%% telephone = "(70) 3325051", +%%% FAX = "(70) 3326477", +%%% checksum = "62265 567 3115 23933", +%%% email = "J.L.Braams@research.ptt.nl (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "babel", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "This file contains the part of the babel +%%% core that implements the language switching +%%% mechanism. It also contains the code to +%%% switch hyphenation tables for versions of +%%% TeX later than 3.0. With the docstrip +%%% program two variants of this file can be +%%% produced.", +%%% } +%%% \fi +\expandafter\ifx\csname iflanguage\endcsname\relax \else +\expandafter\endinput +\fi +\ifx\language\undefined + \csname newcount\endcsname\language +\fi +\ifx\newlanguage\undefined + \csname newcount\endcsname\last@language +\else + \countdef\last@language=19 +\fi +\ifx\newlanguage\undefined + \def\addlanguage#1{% + \global\advance\last@language \@ne + \ifnum\last@language<\@cclvi + \else + \errmessage{No room for a new \string\language!}% + \fi + \global\chardef#1\last@language + \wlog{\string#1 = \string\language\the\last@language}} +\else + \def\addlanguage{\alloc@9\language\chardef\@cclvi} +\fi +\def\adddialect#1#2{% + \global\chardef#1#2\relax + \wlog{\string#1 = a dialect from \string\language#2}} +\def\iflanguage#1#2#3{% + \expandafter\ifx\csname l@#1\endcsname\relax + \@nolanerr{#1}% + \else + \ifnum\csname l@#1\endcsname=\language #2% + \else#3\fi + \fi} +\def\selectlanguage#1{\protect\p@selectlanguage{% + \ifnum\escapechar=\expandafter`\string#1\empty + \else \string#1\empty\fi}} +\ifx\undefined\protect\let\protect\relax\fi +\def\p@selectlanguage#1{\relax + \expandafter\ifx\csname l@#1\endcsname\relax + \@nolanerr{#1}% + \else + \language=\csname l@#1\endcsname\relax + \originalTeX + \edef\languagename{#1}% + \expandafter\def\expandafter\originalTeX + \expandafter{\csname noextras#1\endcsname + \let\originalTeX\empty}% + \babel@beginsave + \csname captions#1\endcsname + \csname date#1\endcsname + \csname extras#1\endcsname\relax + \fi}% +\ifx\undefined\originalTeX\let\originalTeX\empty\fi +\ifx\undefined\babel@beginsave\let\babel@beginsave\relax\fi +\def\@nolanerr#1{% + \errhelp{Your command will be ignored, type to proceed}% + \errmessage{You haven't defined the language #1\space yet}} +%% \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 \~} +%% +\endinput +%% +%% End of file `babel.switch'. diff --git a/obsolete/macros/latex209/contrib/ml/cmcyr.sty b/obsolete/macros/latex209/contrib/ml/cmcyr.sty new file mode 100644 index 0000000000..47e02fceac --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/cmcyr.sty @@ -0,0 +1,277 @@ +%% +%% This is file `cmcyr.sty' +%% Modified for use with DVIps +\def\fileversion{1.1} +\def\filedate{94/09/16} +\def\docdate {} + +\expandafter\ifx\csname daterussian\endcsname\else\endinput\fi +\typeout{Style Option: `cmcyr' + \fileversion\space <\filedate>} +%\typeout{English Documentation: +% \@spaces\space <\docdate>} + +%\def\@fonterr#1#2{% +%\edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}% +%\typeout{Font Selection error.^^J +% Type \space H \space for immediate help.}\errmessage{#1}} +% +\wlog{Style Option: `cmcyr' \fileversion\space <\filedate>} +\expandafter\ifx\csname selectfont\endcsname + \typeout{The `cmcyr' style option can only be used + ^^Jwith the new font selection scheme.}\endinput\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Cyrillic +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%+ +% Medium weight series +%- +% +% Cyrillic-Regular +% +\new@fontshape{cyr}{m}{n}{% + <5>cmcyr10 at4.82pt% + <6>cmcyr10 at6pt% + <7>cmcyr10 at6.94pt% + <8>cmcyr10 at8.33pt% + <9>cmcyr10 at9pt% + <10>cmcyr10 at10pt% + <11>cmcyr10 at10.95pt% + <12>cmcyr10 at12pt% + <14>cmcyr10 at14.4pt% + <17>cmcyr10 at17.28pt% + <20>cmcyr10 at20.74pt% + <25>cmcyr10 at24.88pt% + }{} +% +% Cyrillic-SansSerif +% +%\new@fontshape{cyr}{m}{sf}{% +% <5>cmcss10 at4.82pt% +% <6>cmcss10 at5.79pt% +% <7>cmcss10 at6.94pt% +% <8>cmcss10 at8.33pt% +% <9>cmcss10 at9pt% +% <10>cmcss10 at10pt% +% <11>cmcss10 at10.95pt% +% <12>cmcss10 at12pt% +% <14>cmcss10 at14.4pt% +% <17>cmcss10 at17.28pt% +% <20>cmcss10 at20.74pt% +% <25>cmcss10 at24.88pt% +% }{} +% +% Cyrillic-Italic +% +\new@fontshape{cyr}{m}{it}{% + <5>cmcti10 at4.82pt% + <6>cmcti10 at5.79pt% + <7>cmcti10 at6.94pt% + <8>cmcti10 at8.33pt% + <9>cmcti10 at9pt% + <10>cmcti10 at10pt% + <11>cmcti10 at10.95pt% + <12>cmcti10 at12pt% + <14>cmcti10 at14.4pt% + <17>cmcti10 at17.28pt% + <20>cmcti10 at20.74pt% + <25>cmcti10 at24.88pt% + }{} +% +% Cyrillic-Slanted +% +\new@fontshape{cyr}{m}{sl}{% + <5>cmcsl10 at4.82pt% + <6>cmcsl10 at5.79pt% + <7>cmcsl10 at6.94pt% + <8>cmcsl10 at8.33pt% + <9>cmcsl10 at9pt% + <10>cmcsl10 at10pt% + <11>cmcsl10 at10.95pt% + <12>cmcsl10 at12pt% + <14>cmcsl10 at14.4pt% + <17>cmcsl10 at17.28pt% + <20>cmcsl10 at20.74pt% + <25>cmcsl10 at24.88pt% + }{} +% +% Cyrillic-TypewriterType +% +\new@fontshape{cyr}{m}{tt}{% + <5>cmctt10 at4.82pt% + <6>cmctt10 at5.79pt% + <7>cmctt10 at6.94pt% + <8>cmctt10 at8.33pt% + <9>cmctt10 at9pt% + <10>cmctt10 at10pt% + <11>cmctt10 at10.95pt% + <12>cmctt10 at12pt% + <14>cmctt10 at14.4pt% + <17>cmctt10 at17.28pt% + <20>cmctt10 at20.74pt% + <25>cmctt10 at24.88pt% + }{} +%+ +% The bold weight series +%- +% +% Cyrillic-Bold +% +\new@fontshape{cyr}{b}{n}{% + <5>cmcbx10 at4.82pt% + <6>cmcbx10 at5.79pt% + <7>cmcbx10 at6.94pt% + <8>cmcbx10 at8.33pt% + <9>cmcbx10 at9pt% + <10>cmcbx10 at10pt% + <11>cmcbx10 at10.95pt% + <12>cmcbx10 at12pt% + <14>cmcbx10 at14.4pt% + <17>cmcbx10 at17.28pt% + <20>cmcbx10 at20.74pt% + <25>cmcbx10 at24.88pt% + }{} +% +% Cyrillic-BoldItalic +% +\new@fontshape{cyr}{b}{it}{% + <5>cmcbxti1 at4.82pt% + <6>cmcbxti1 at5.79pt% + <7>cmcbxti1 at6.94pt% + <8>cmcbxti1 at8.33pt% + <9>cmcbxti1 at9pt% + <10>cmcbxti1 at10pt% + <11>cmcbxti1 at10.95pt% + <12>cmcbxti1 at12pt% + <14>cmcbxti1 at14.4pt% + <17>cmcbxti1 at17.28pt% + <20>cmcbxti1 at20.74pt% + <25>cmcbxti1 at24.88pt% + }{} +% +% Cyrillic-BoldSlanted +% +\new@fontshape{cyr}{b}{sl}{% + <5>cmcbxsl1 at4.82pt% + <6>cmcbxsl1 at5.79pt% + <7>cmcbxsl1 at6.94pt% + <8>cmcbxsl1 at8.33pt% + <9>cmcbxsl1 at9pt% + <10>cmcbxsl1 at10pt% + <11>cmcbxsl1 at10.95pt% + <12>cmcbxsl1 at12pt% + <14>cmcbxsl1 at14.4pt% + <17>cmcbxsl1 at17.28pt% + <20>cmcbxsl1 at20.74pt% + <25>cmcbxsl1 at24.88pt% + }{} +% +% Cyrillic-BoldSansSerif +% +\new@fontshape{cyr}{b}{sf}{% + <5>cmcssdc1 at4.82pt% + <6>cmcssdc1 at5.79pt% + <7>cmcssdc1 at6.94pt% + <8>cmcssdc1 at8.33pt% + <9>cmcssdc1 at9pt% + <10>cmcssdc1 at10pt% + <11>cmcssdc1 at10.95pt% + <12>cmcssdc1 at12pt% + <14>cmcssdc1 at14.4pt% + <17>cmcssdc1 at17.28pt% + <20>cmcssdc1 at20.74pt% + <25>cmcssdc1 at24.88pt% + }{} + +\extra@def{cyr}{}{} + +\def\graffiti{\protect\pgraffiti} +\def\@makefnmark{\raise 1ex\hbox{\scriptsize\@thefnmark}} + +%+ +% Now make these fonts the defaults?? +%- +\gdef\cyrmode{% +\def\pgraffiti{\family{cyr}\series{c}\shape{sl}\size{9}{10pt}\selectfont}% + \chardef\Zh='021% + \chardef\zh='031% + \chardef\Ui='022% + \chardef\ui='032% + \chardef\Kh='110% + \chardef\kh='150% + \chardef\Ts='103% + \chardef\ts='143% + \chardef\Ch='121% + \chardef\ch='161% + \chardef\Sh='130% + \chardef\sh='170% + \chardef\Shch='127% + \chardef\shch='167% + \chardef\cDprime='137% + \chardef\cdprime='176% + \chardef\cPrime='136% + \chardef\cprime='176% + \chardef\Ee='003% + \chardef\ee='013% + \chardef\Yu='020% + \chardef\yu='030% + \chardef\Ya='027% + \chardef\ya='037} +\gdef\transcyr{\family{cmr}\selectfont\@ifnextchar + [{\@transcyr}{\@transcyr[n]}} +\def\@transcyr[#1]{\if #1s% + \def\Zh{\v{Z}}% + \def\zh{\v{z}}% + \def\Ui{J}% + \def\ui{j}% + \def\Kh{Ch}% + \def\kh{ch}% + \def\Ts{C}% + \def\ts{c}% + \def\Ch{\v{C}}% + \def\ch{\v{c}}% + \def\Sh{\v{S}}% + \def\sh{\v{s}}% + \def\Shch{\v{S}\v{c}}% + \def\shch{\v{s}\v{c}}% + \def\cprime{\kern0pt'\kern0pt\relax}% + \def\cPrime{\kern0pt'\kern0pt\relax}% + \def\cdprime{\kern0pt'\kern0pt'\kern0pt\relax}% + \def\cDprime{\kern0pt'\kern0pt'\kern0pt\relax}% + \def\Ee{\`{E}}% + \def\ee{\`{e}}% + \def\Yu{\t{J}{u}}% + \def\yu{\t{\j}{u}}% + \def\Ya{\t{J}{a}}% + \def\ya{\t{\j}{a}}% +\else\if #1n% + \def\Zh{\t{Z}{h}}% + \def\zh{\t{z}{h}}% + \def\Ui{\t{U}{i}}% + \def\ui{\t{u}{i}}% + \def\Kh{\t{K}{h}}% + \def\kh{\t{k}{h}}% + \def\Ts{\t{T}{s}}% + \def\ts{\t{t}{s}}% + \def\Ch{\t{C}{h}}% + \def\ch{\t{c}{h}}% + \def\Sh{\t{S}{h}}% + \def\sh{\t{s}{h}}% + \def\Shch{\t{S}{h}\t{c}{h}}% + \def\shch{\t{s}{h}\t{c}{h}}% + \def\cprime{$^\prime$}% + \def\cPrime{$\underline{^\prime}$}% + \def\cDprime{$^{\prime\prime}$}% + \def\cdprime{$\underline{^{\prime\prime}}$}% + \def\Ee{\`{E}}% + \def\ee{\`{e}}% + \def\Yu{\t{Y}{u}}% + \def\yu{\t{y}{u}}% + \def\Ya{\t{Y}{a}}% + \def\ya{\t{y}{a}}% +\fi\fi} +\gdef\cyr{\family{cyr}\selectfont\cyrmode\frenchpunctuation} +\endinput diff --git a/obsolete/macros/latex209/contrib/ml/doc.sty b/obsolete/macros/latex209/contrib/ml/doc.sty new file mode 100644 index 0000000000..f466b2e3be --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/doc.sty @@ -0,0 +1,741 @@ +%% +%% This is file `doc.sty', generated +%% on <1993/9/27> with the docstrip utility (2.0r). +%% +%% The original source files were: +%% +%% doc.doc (with options: `style,multicol') +%% +%% Copyright (C) 1989-1992 by Frank Mittelbach. All rights reserved. +%% +%% This file is part of the doc package. +%% +%% IMPORTANT NOTICE: +%% +%% You are not allowed to change this file. You may however copy +%% this file to a file with a different name and then change the +%% copy if you obey the restrictions on file changes described in +%% readme.mz. +%% +%% You are NOT ALLOWED to distribute this file alone. You are NOT +%% ALLOWED to take money for the distribution or use of this file +%% (or a changed version) except for a nominal charge for copying +%% etc. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in +%% readme.mz0. +%% +%% If you receive only some of these files from someone, complain! +%% +%% However, if these files are distributed by established suppliers +%% as part of a complete TeX distribution, and the structure of the +%% distribution would make it difficult to distribute the whole set +%% of files, *those parties* are allowed to distribute only some of +%% the files provided that it is made clear that the user will get +%% a complete distribution-set upon request to that supplier (not +%% me). Notice that this permission is not granted to the end +%% user. +%% +%% +%% For error reports in case of UNCHANGED versions see readme.mz +%% +%% + +\def\fileversion{v1.7k} +\def\filedate{92/08/24} +\def\docdate {92/08/28} + +%% \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 \~} +%% + +%% Copyright (C) 1989-1992 Frank Mittelbach, all rights reserved. +%%% \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 \~} +%%% +\@ifundefined{macro@cnt}{}{\endinput} \typeout{Style-Option: `doc' +\fileversion \@spaces\space\space <\filedate> (FMi)} \typeout{English + Documentation \@spaces\@spaces\space <\docdate> (DLo, FMi, RMCS)} +\catcode`\^^A=14 +\def\macrocode{\macro@code + \frenchspacing \@vobeyspaces + \xmacro@code} +\def\macro@code{% + \topsep \MacrocodeTopsep + \@beginparpenalty \predisplaypenalty + \trivlist \parskip \z@ \item[]% + \macro@font + \leftskip\@totalleftmargin \advance\leftskip\MacroIndent + \rightskip\z@ \parindent\z@ \parfillskip\@flushglue + \blank@linefalse \def\par{\ifblank@line + \leavevmode\fi + \blank@linetrue\@@par + \penalty\interlinepenalty} + \obeylines \let\do\@makeother \catcode`\`\active \@noligs \dospecials + \global\@newlistfalse + \global\@minipagefalse + \ifcodeline@index + \everypar{\global\advance\c@CodelineNo\@ne + \llap{\theCodelineNo\ \hskip\@totalleftmargin}% + \check@module}% + \else \everypar{\check@module}% + \fi + \init@crossref} +\newif\ifblank@line +\def\endmacrocode{% + \ifpm@module \endgroup \pm@modulefalse \fi + \everypar{}% + \global\@inlabelfalse + \endtrivlist + \close@crossref} +\@ifundefined{MacroFont}{% + \ifx\undefined\selectfont + \def\MacroFont{\small\tt}\else + \def\MacroFont{\math@fontsfalse\reset@font\small\tt}\fi + }{} +\@ifundefined{AltMacroFont}{% + \ifx\undefined\selectfont + \def\AltMacroFont{\small\tt}\else + \def\AltMacroFont{\math@fontsfalse\small\reset@font\it\tt}\fi + }{} +\let\macro@font=\MacroFont +\def\check@module{% + \ifcheck@modules + \ifpm@module \endgroup \pm@modulefalse \fi + \expandafter\futurelet\expandafter\next\expandafter\ch@percent + \fi} +\newif\ifpm@module +\def\DontCheckModules{\check@modulesfalse} +\def\CheckModules{\check@modulestrue} +\newif\ifcheck@modules \check@modulestrue +\def\ch@percent{% + \if \percentchar\next + \expandafter\check@angle + \fi} +\def\check@angle#1{\futurelet\next\ch@angle} +\def\ch@angle{\if<\next + \expandafter\ch@plus@etc + \else \percentchar \fi} +\def\ch@plus@etc<{\futurelet\next\check@plus@etc} +\def\check@plus@etc{% + \if +\next + \let\next\pm@module + \else\if -\next + \let\next\pm@module + \else\if *\next + \let\next\star@module + \else\if /\next + \let\next\slash@module + \else + \let\next\pm@module + \fi\fi\fi\fi + \next} +\def\pm@module#1>{\pm@moduletrue + \Module{#1}\begingroup + \advance\guard@level\@ne + \ifnum\guard@level>\c@StandardModuleDepth\AltMacroFont\fi +} +\def\star@module#1>{% + \Module{#1}% + \global \advance \guard@level\@ne + \ifnum \guard@level>\c@StandardModuleDepth + \global\let\macro@font=\AltMacroFont \macro@font + \fi} +\def\slash@module#1>{% + \Module{#1}% + \global \advance \guard@level\m@ne + \ifnum \guard@level=\c@StandardModuleDepth + \global\let\macro@font\MacroFont \macro@font + \fi +} +\newcounter{StandardModuleDepth} +\newcount \guard@level +\@ifundefined{Module}{% + \ifx\undefined\selectfont + \def\Module#1{{\mod@math@codes$\fam\sffam\langle #1\rangle$}} + \else + \expandafter\ifx\csname ds@oldlfont\endcsname\relax + \def\Module#1{{\mod@math@codes$\langle\sfmath{#1}\rangle$}} + \else + \def\Module#1{{\mod@math@codes$\langle{\sfmath #1}\rangle$}} + \fi + \fi}{} +\def\mod@math@codes{\mathcode`\|="226A \mathcode`\&="2026} +\ifx\selectfont\undefined +\else + \ifx\sfmath\undefined + \newmathalphabet*{\sfmath}{\sfdefault}{m}{n}\fi +\fi +\newskip\MacrocodeTopsep \MacrocodeTopsep = 3pt plus 1.2pt minus 1pt +\newdimen\MacroIndent +\settowidth\MacroIndent{\rm\scriptsize 00\ } +\@namedef{macrocode*}{\macro@code\sxmacro@code} +\expandafter\let\csname endmacrocode*\endcsname = \endmacrocode +\catcode`\!=\catcode`\% ^^A In this section there must not be + ^^A any exclamation marks. + ^^A +\begingroup +\catcode`\|=\z@ \catcode`\[=\@ne \catcode`\]=\tw@ +\catcode`\{=12 \catcode`\}=12 +\catcode`\%=12 \catcode`\ =\active \catcode`\\=\active +!% \end{macrocode*} +! Next follows the actual definition of \verb+\macro@code+; +! notice the +! use of the new escape character. We manage to get the argument +! surrounded by the string \verb+\end{macrocode}+, but at the end +! however, in spite of the actual characters used during the +! definition of +! this macro, \verb+\end+ with the argument \verb+{macrocode}+ +! will be executed, to ensure a balanced environment. +! \begin{macrocode*} +|gdef|xmacro@code#1% \end{macrocode}[#1|end[macrocode]] +!% \end{macrocode*} +! \begin{macro}{\sxmacro@code} +! The definition of \verb+\sxmacro@code+ is completely analogous, +! only +! here a slightly different terminating string will be used. +! Note that the space is not active in this environment. +! \begin{macrocode} +|catcode`| =12 +|gdef|sxmacro@code#1% \end{macrocode*}[#1|end[macrocode*]] +!% \end{macrocode} +! because the \verb+\catcode+ changes have been made local by +! commencing a +! new group, there now follows the matching \verb+\endgroup+ +! in a rather +! unusual style of writing. +! \begin{macrocode} +|endgroup +!% \end{macrocode} +\catcode`\!=12 +\def\DescribeMacro{\leavevmode\@bsphack + \begingroup\MakePrivateLetters\Describe@Macro} +\def\Describe@Macro#1{\endgroup + \marginpar{\raggedleft\PrintDescribeMacro{#1}}% + \SpecialUsageIndex{#1}\@esphack\ignorespaces} +\def\DescribeEnv{\leavevmode\@bsphack\begingroup\MakePrivateLetters + \Describe@Env} +\def\Describe@Env#1{\endgroup + \marginpar{\raggedleft\PrintDescribeEnv{#1}}% + \SpecialEnvIndex{#1}\@esphack\ignorespaces} +\reversemarginpar +\setlength\marginparpush{0pt} \setlength\marginparwidth{8pc} +{\catcode`\|=\z@ \catcode`\\=12 +|gdef|bslash{\}} +\def\verbatim{\@beginparpenalty \predisplaypenalty \@verbatim + \MacroFont \frenchspacing \@vobeyspaces \@xverbatim} +\@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim + \MacroFont \@sxverbatim} +\def\@verbatim{\trivlist \item[]\if@minipage\else\vskip\parskip\fi + \leftskip\@totalleftmargin\rightskip\z@ + \parindent\z@\parfillskip\@flushglue\parskip\z@ + \@@par + \@tempswafalse + \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par + \penalty\interlinepenalty + \check@percent}% + \obeylines \catcode`\`\active \@noligs \let\do\@makeother + \dospecials} +{\catcode`\%=12 + \long\gdef\check@percent#1{\ifx #1%\let\next\@empty \else + \let\next=#1\fi \next}} +\begingroup + \lccode`\~=`\^^M + \lowercase{% + \gdef\verb{\relax + \ifmmode \hbox \else \leavevmode\null \fi + \bgroup + \tt \catcode`\`\active \@noligs + \let~\verb@err + \catcode`\^^M\active + \let\do\@makeother \dospecials + \@ifstar\@sverb{\@vobeyspaces \frenchspacing \@sverb}}} +\endgroup +\def\verb@err{\egroup\@latexerr{\string\verb\space + command ended by end of line.}\@ehc} +\def\@sverb#1{% + \catcode`#1\active \lccode`\~`#1% + \lowercase{\let~\egroup}} +\newcount\macro@cnt \macro@cnt=0 +\newcount\macro@level \macro@level=0 +\def\macro{% + \ifnum\macro@level=\z@ \begingroup \fi + \catcode`\\12 + \MakePrivateLetters \m@cro@} +\long\def\m@cro@#1{\endgroup \topsep\MacroTopsep \trivlist + \advance\macro@level\@ne + \edef\saved@macroname{\string#1}% + \def\makelabel##1{\llap{##1}}% + \if@inlabel + \let\@tempa\@empty \count@\macro@cnt + \loop \ifnum\count@>\z@ + \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat + \edef\makelabel##1{\llap{\vtop to\baselineskip + {\@tempa\hbox{##1}\vss}}}% + \advance \macro@cnt \@ne + \else \macro@cnt\@ne \fi + \edef\@tempa{\noexpand\item[\noexpand\PrintMacroName{\string#1}]}% + \@tempa + {\advance\c@CodelineNo\@ne\SpecialMainIndex{#1}\nobreak}% + \DoNotIndex{#1}% + \ignorespaces} +\def\endmacro{% + \endtrivlist + \ifnum\macro@level>\@ne \advance\macro@level\m@ne \begingroup \fi} +\newskip\MacroTopsep \MacroTopsep = 7pt plus 2pt minus 2pt +\@ifundefined{PrintMacroName} + {\def\PrintMacroName#1{\strut \MacroFont \string #1\ }}{} +\@ifundefined{PrintDescribeMacro} + {\def\PrintDescribeMacro#1{\strut \MacroFont \string #1\ }}{} +\@ifundefined{PrintDescribeEnv} + {\def\PrintDescribeEnv#1{\strut \MacroFont #1\ }}{} +\begingroup +\catcode`\~\active +\gdef\SpecialEscapechar#1{% + \begingroup + \uccode`\~`#1% + \uppercase{\gdef\active@escape@char{~}}% + \escapechar\m@ne \xdef\special@escape@char{\string#1}% + \endgroup} +\endgroup +\begingroup \catcode`\|=\z@ \catcode`\\=\active +|gdef|init@crossref{|catcode`|\|active |let\|bslash + |MakePrivateLetters + |catcode|expandafter`|special@escape@char|active + |expandafter|let|active@escape@char|scan@macro} +|endgroup +\SpecialEscapechar{\\} +\@ifundefined{MakePrivateLetters} + {\let\MakePrivateLetters\makeatletter}{} +\def\close@crossref{\SpecialEscapechar\\} +\def\scan@macro{% + \special@escape@char + \step@checksum + \ifscan@allowed + \let\macro@namepart\@empty + \def\next{\futurelet\next\macro@switch}% + \else \let\next\@empty \fi + \next} +\newif\ifscan@allowed \scan@allowedtrue +\def\DisableCrossrefs{\@bsphack\scan@allowedfalse\@esphack} +\def\EnableCrossrefs{\@bsphack\scan@allowedtrue + \def\DisableCrossrefs{\@bsphack\@esphack}\@esphack} +\def\macro@switch{\ifcat\noexpand\next a% + \let\next\macro@name + \else \let\next\short@macro \fi + \next} +\def\short@macro#1{\begingroup + \catcode`\&=11 \uccode`\&=\expandafter`\string#1% + \uppercase{\def\macro@namepart{&}}% + \endgroup + \ifnot@excluded + \produce@index{#1}\fi + \scan@allowedfalse#1% + \scan@allowedtrue } +\def\produce@index#1{% + \if\noexpand#1\special@escape@char + \scan@allowedfalse \it@is@a\special@escape@char \else + \if\noexpand#1\bslash \it@is@a\bslash \else + \if\noexpand#1\space \it@is@a\space \else + \ifx#1\par + \it@is@a\space \else + \ifx#1\relax \else + \if\noexpand#1\bgroup \LeftBraceIndex \else + \if\noexpand#1\egroup \RightBraceIndex \else + \if\noexpand#1\percentchar \PercentIndex \else + \it@is@a{\string#1}% + \fi \fi \fi \fi \fi \fi \fi \fi} +\def\macro@name#1{\edef\macro@namepart{\macro@namepart#1}% + \futurelet\next\more@macroname} +\def\more@macroname{\ifcat\noexpand\next a% + \let\next\macro@name + \else \let\next\macro@finish \fi + \next} +\def\macro@finish{% + \macro@namepart + \ifnot@excluded + \edef\@tempa{\noexpand\SpecialIndex{\bslash\macro@namepart}}% + \@tempa \fi} +\def\DoNotIndex{\begingroup \MakePrivateLetters + \catcode`\\12 + \do@not@index} +\long\def\do@not@index#1{% + \endgroup + \addto@hook\index@excludelist{#1,}} +\long\def\addto@hook#1#2{#1\expandafter{\the#1#2}} +\newtoks\index@excludelist +\index@excludelist{} +\begingroup +\catcode`\|=0% +\catcode`\\=12 +|gdef|ifnot@excluded{|expandafter + |expanded@notin|expandafter{|expandafter + \|macro@namepart,}{|the|index@excludelist}} +|endgroup +\def\expanded@notin#1#2{% + \def\in@@##1#1##2##3\in@@{% + \ifx\expanded@notin##2}% + \expandafter\in@@#2#1\expanded@notin\in@@} +\@ifundefined{actualchar}{\def\actualchar{=}}{} +\@ifundefined{quotechar}{\def\quotechar{!}}{} +\@ifundefined{levelchar}{\def\levelchar{>}}{} +\@ifundefined{encapchar}{\def\encapchar{|}}{} +\@ifundefined{verbatimchar}{\def\verbatimchar{+}}{} +\def\SpecialIndex#1{\@bsphack\special@index{\expandafter\@gobble + \string#1\actualchar + \string\verb\quotechar*\verbatimchar\string#1\verbatimchar}% + \@esphack} + +\def\SpecialMainIndex#1{\@bsphack\special@index{\expandafter\@gobble + \string#1\actualchar + \string\verb + \quotechar*\verbatimchar + \string#1\verbatimchar + \encapchar main}% + \@esphack} +\def\SpecialUsageIndex#1{\@bsphack\index{\expandafter\@gobble\string#1% + \actualchar\string\verb\quotechar*\verbatimchar + \string#1\verbatimchar + \encapchar usage}\@esphack} +\def\SpecialEnvIndex#1{\@bsphack + \index{#1\actualchar{\tt #1} (environment)\encapchar usage}% + \index{environments:\levelchar{\tt #1}\encapchar usage}\@esphack} +\def\SortIndex#1#2{\index{#1\actualchar#2}} +\def\it@is@a#1{\special@index{\quotechar #1\actualchar + \string\verb\quotechar*\verbatimchar + \quotechar\bslash\quotechar#1\verbatimchar}} +\@ifundefined{LeftBraceIndex}{\def\LeftBraceIndex{% + \special@index{\bgroup\actualchar\string\verb\quotechar*\verbatimchar + \quotechar\bslash{\verbatimchar\string\iffalse}\string\fi}}}{} + +\@ifundefined{RightBraceIndex}{\def\RightBraceIndex{% + \special@index{\egroup\actualchar\string\iffalse{\string\fi\string\verb + \quotechar*\verbatimchar\quotechar\bslash}\verbatimchar}}}{} +\@ifundefined{PercentIndex} + {\def\PercentIndex{\it@is@a\percentchar}}{} +\def\OldMakeindex{\def\PercentIndex{% + \special@index{\quotechar\percentchar\actualchar\string\verb + \quotechar*\verbatimchar\quotechar\bslash + \percentchar\percentchar\verbatimchar}}} +{\catcode`\%=12 \gdef\percentchar{%}} +\newif\ifhave@multicol +\openin\@ne multicol.sty +\ifeof\@ne \else \have@multicoltrue \fi +\closein\@ne \relax +\have@multicoltrue +\ifhave@multicol \input{multicol.sty} \fi +\newdimen\IndexMin \IndexMin = 80pt +\newcount\c@IndexColumns \c@IndexColumns = 3 +\ifhave@multicol + \renewenvironment{theindex} + {\begin{multicols}\c@IndexColumns[\index@prologue][\IndexMin]% + \IndexParms \let\item\@idxitem \ignorespaces}% + {\end{multicols}} +\else + \typeout{Can't find multicols.sty -- will use normal index layout if + necessary.} + \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule \z@ \columnsep 35\p@ + \twocolumn[\index@prologue]% + \IndexParms \let\item\@idxitem \ignorespaces} + \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\fi +\long\def\IndexPrologue#1{\@bsphack\def\index@prologue{#1}\@esphack} +\@ifundefined{index@prologue} + {\def\index@prologue{\section*{Index}% + \markboth{Index}{Index}% + The italic numbers denote the pages where the + corresponding entry is described, + numbers underlined point to the definition, + all others indicate the places where it is used. + }}{} +\@ifundefined{IndexParms} + {\def\IndexParms{% + \parindent \z@ + \columnsep 15pt + \parskip 0pt plus 1pt + \rightskip 15pt + \mathsurround \z@ + \parfillskip=-15pt + \small + \def\@idxitem{\par\hangindent 30pt}% + \def\subitem{\@idxitem\hspace*{15pt}}% + \def\subsubitem{\@idxitem\hspace*{25pt}}% + \def\indexspace{\par\vspace{10pt plus 2pt minus 3pt}}% + }}{} +\def\efill{\hfill\nopagebreak}% +\def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip\z@ plus 1fill}% +\def\dotfil{\leaders\hbox to.6em{\hss .\hss}\hfil}% +\def\pfill{\unskip~\dotfill\penalty500\strut\nobreak + \dotfil~\ignorespaces}% +\def\*{\leavevmode\lower.8ex\hbox{$\,\widetilde{\ }\,$}} +\@ifundefined{main}{\def\main#1{\underline{#1}}}{} +\@ifundefined{usage}{\def\usage#1{{\it #1}}}{} +\def\PrintIndex{\@input{\jobname.ind}} +\def\printindex{\typeout{\string\printindex\space is obsolete!}% + \typeout{Please use \string\PrintIndex\space + if you are a macro implementor^^J + or get a newer version of the documented + software if you are a user}% + \PrintIndex} +\def\changes{\@bsphack\begingroup\@sanitize + \catcode`\\\z@ \catcode`\ 10 \MakePercentIgnore + \changes@} +\def\changes@#1#2#3{% + \def\protect##1{\string##1\space}% + \edef\@tempa{\noexpand\glossary{#1\levelchar + \expandafter\@gobble + \saved@macroname\actualchar + \string\verb\quotechar*% + \verbatimchar\saved@macroname + \verbatimchar:\levelchar #3}}% + \@tempa\endgroup\@esphack} +\def\saved@macroname{"General"} +\let\RecordChanges\makeglossary +\newdimen\GlossaryMin \GlossaryMin = 80pt +\newcount\c@GlossaryColumns \c@GlossaryColumns = 2 +\ifhave@multicol + \newenvironment{theglossary}{% + \begin{multicols}\c@GlossaryColumns + [\glossary@prologue][\GlossaryMin]% + \GlossaryParms \let\item\@idxitem \ignorespaces}% + {\end{multicols}} +\else + \newenvironment{theglossary}{% + \@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule \z@ \columnsep 35\p@ + \twocolumn[\glossary@prologue]% + \GlossaryParms \let\item\@idxitem \ignorespaces} + {\if@restonecol\onecolumn\else\clearpage\fi} +\fi +\long\def\GlossaryPrologue#1{\@bsphack + \def\glossary@prologue{#1}% + \@esphack} +\@ifundefined{glossary@prologue} + {\def\glossary@prologue{\section*{{Change History}}% + \markboth{{Change History}}{{Change History}}% + }}{} +\@ifundefined{GlossaryParms}{\let\GlossaryParms\IndexParms}{} +\def\PrintChanges{\@input{\jobname.gls}} +\long\def\StopEventually#1{\@bsphack\gdef\Finale{#1% + \check@checksum}% + \init@checksum + \@esphack} +\def\OnlyDescription{\@bsphack\long\def\StopEventually##1{% + ##1\endinput}\@esphack} +\begingroup +\obeyspaces% +\catcode`\^^M\active% +\gdef\meta{\begingroup\obeyspaces\catcode`\^^M\active% +\let^^M\do@space\let \do@space% +\def\-{\egroup\discretionary{-}{}{}\hbox\bgroup\it}% +\m@ta}% +\endgroup +\def\m@ta#1{\leavevmode\hbox\bgroup$\langle$\it#1\/$\rangle$\egroup + \endgroup} +\def\do@space{\egroup\space + \hbox\bgroup\it\futurelet\next\sp@ce} +\def\sp@ce{\ifx\next\do@space\expandafter\sp@@ce\fi} +\def\sp@@ce#1{\futurelet\next\sp@ce} +\def\IndexInput#1{% + \begingroup \macro@code + \frenchspacing \@vobeyspaces + \input{#1}\endmacrocode + \endgroup} +\def\maketitle{\par + \begingroup \def \thefootnote {\fnsymbol {footnote}}% + \setcounter {footnote}\z@ + \def \@makefnmark {\hbox to \z@{$^{\@thefnmark }$\hss }}% + \if@twocolumn \twocolumn [\@maketitle ]% + \else \newpage \global \@topnum \z@ \@maketitle \fi + \thispagestyle{titlepage}\@thanks \endgroup + \setcounter {footnote}\z@ + \gdef\@date{\today}\gdef\@thanks{}% + \gdef\@author{}\gdef\@title{}} +\@ifundefined{ps@titlepage} + {\let\ps@titlepage=\ps@plain}{} +\def\MakeShortVerb#1{% + \typeout{*** Made \expandafter\@gobble\string#1\space a short + reference for \string\verb \on@line\space ***}% + \add@special{#1}% + \expandafter + \xdef\csname cc\string#1\endcsname{\the\catcode`#1}% + \begingroup + \catcode`\~\active \lccode`\~`#1% + \lowercase{% + \global\expandafter\let + \csname ac\string#1\endcsname~% + \gdef~{\verb~}}% + \endgroup + \global\catcode`#1\active} +\def\DeleteShortVerb#1{% + \expandafter\ifx\csname cc\string#1\endcsname\relax + \else + \typeout{*** Deleted \expandafter\@gobble\string#1\space as short + reference for \string\verb \on@line\space ***}% + \rem@special{#1}% + \global\catcode`#1\csname cc\string#1\endcsname + \ifnum\catcode`#1=\active + \begingroup + \catcode`\~\active \lccode`\~`#1% + \lowercase{% + \global\expandafter\let\expandafter~% + \csname ac\string#1\endcsname}% + \endgroup \fi \fi} +\def\add@special#1{% + \rem@special{#1}% + \expandafter\gdef\expandafter\dospecials\expandafter + {\dospecials \do #1}% + \expandafter\gdef\expandafter\@sanitize\expandafter + {\@sanitize \@makeother #1}} +\def\rem@special#1{% + \def\do##1{% + \ifnum`#1=`##1 \else \noexpand\do\noexpand##1\fi}% + \xdef\dospecials{\dospecials}% + \begingroup + \def\@makeother##1{% + \ifnum`#1=`##1 \else \noexpand\@makeother\noexpand##1\fi}% + \xdef\@sanitize{\@sanitize}% + \endgroup} +\def\MakeShortverb{\typeout{*** Switch to \noexpand\MakeShortVerb + syntax, this is obsolete ***}\MakeShortVerb} +\def\DeleteShortverb{\typeout{*** Switch to \noexpand\DeleteShortVerb + syntax, this is obsolete ***}\DeleteShortVerb} +\def\init@checksum{\relax + \global\bslash@cnt\z@} +\def\check@checksum{\relax + \ifnum\check@sum=\z@ + \typeout{**********************************}% + \typeout{* This macro file has no checksum!}% + \typeout{* The checksum should be \the\bslash@cnt!}% + \typeout{**********************************}% + \else + \ifnum\check@sum=\bslash@cnt + \typeout{*******************}% + \typeout{* Checksum passed *}% + \typeout{*******************}% + \else + \errhelp\wrong@checksum + \errmessage{Checksum not passed + (\the\check@sum<>\the\bslash@cnt)}% + \fi + \fi + \global\check@sum\z@} +\newcount\check@sum \check@sum = \z@ +\newcount\bslash@cnt \bslash@cnt = \z@ +\newhelp\wrong@checksum + {The currently documented file seems to be wrong.^^J% + Try to get a correct version.}% +\def\CheckSum#1{\@bsphack\global\check@sum#1\relax\@esphack} +\def\step@checksum{\global\advance\bslash@cnt\@ne} +\def\CharacterTable{\begingroup \CharTableChanges \character@table} +\begingroup + \catcode`\~=11 + \gdef\character@table#1{\def\used~table{#1}% + \ifx\used~table\default~table + \typeout{***************************}% + \typeout{* Character table correct *}% + \typeout{***************************}% + \else + \errhelp\wrong@table + \errmessage{Character table corrupted}% + \show\default~table + \show\used~table + \fi + \endgroup} + \global\let\CharTableChanges\@empty + \makeatother + \gdef\default~table + {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 \~} +\endgroup + \newhelp\wrong@table{Some of the ASCII characters are corrupted.^^J + I now \string\show\space you both tables for comparison.} +\newif\ifcodeline@index \codeline@indexfalse +\def\codeline@wrindex#1{\if@filesw + \immediate\write\@indexfile + {\string\indexentry{#1}% + {\number\c@CodelineNo}}\fi} +\let\special@index = \@gobble +\def\CodelineIndex{\makeindex + \codeline@indextrue + \let\special@index\codeline@wrindex} +\def\PageIndex{\makeindex + \codeline@indexfalse + \let\special@index\index} +\newcount\c@CodelineNo \c@CodelineNo\z@ +\@ifundefined{theCodelineNo} + {\ifx\selectfont\undefined + \def\theCodelineNo{\rm\scriptsize\arabic{CodelineNo}}% + \else + \def\theCodelineNo{\reset@font\scriptsize\arabic{CodelineNo}}% + \fi} + {} + \tolerance=1000\relax +{ \catcode`\"=12 + \global\mathcode`\\="705C \global\mathcode`\@="7040 } +\@ifundefined{DocstyleParms}{}{} +\DocstyleParms \let\DocstyleParms\relax +\@ifundefined{AmSTeX} + {\def\AmSTeX{\leavevmode\hbox{$\cal A\kern-.2em\lower.376ex% + \hbox{$\cal M$}\kern-.2em\cal S$-\TeX}}}{} +\@ifundefined{BibTeX} + {\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em% + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}}{} +\@ifundefined{SliTeX} + {\def\SliTeX{{\rm S\kern-.06emL\kern-.18em\raise.32ex\hbox + {\sc i}\kern -.03em\TeX}}}{} +\@ifundefined{PlainTeX}{\def\PlainTeX{{\sc Plain}\kern2pt\TeX}}{} +\@ifundefined{Web}{\def\Web{{\sc Web}}}{} +\def\MakePercentIgnore{\catcode`\%9\relax} +\def\MakePercentComment{\catcode`\%14\relax} +\def\DocInput#1{\MakePercentIgnore\input{#1}\MakePercentComment} +\ifx\on@line\undefined + \def\on@line{ on input line \the\inputlineno} + \errhelp{Support for input line numbers has been added + to latex.tex .^^J^^J% + Please update to a newer LaTeX release.} + \errmessage{Obsolete LaTeX release (older than Dec.91)} +\fi +\endinput +%% +%% End of file `doc.sty'. diff --git a/obsolete/macros/latex209/contrib/ml/dutch.tex b/obsolete/macros/latex209/contrib/ml/dutch.tex new file mode 100644 index 0000000000..9ec0817281 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/dutch.tex @@ -0,0 +1,199 @@ +%% +%% This is file `dutch.tex', generated on <1994/9/16> +%% +\def\filename{dutch.tex} +\def\fileversion{dutch-1.2} +\def\filedate{16 sept 1994} +%% +{\def\format{plain} +\ifx\fmtname\format + \expandafter\ifx\csname @ifundefined\endcsname\relax + \gdef\next{latexhax.com} + \aftergroup\input\aftergroup\next + \fi +\fi} +\chardef\atcatcode=\catcode`\@ +\makeatletter +\@ifundefined{captionsdutch}{}{\catcode`\@=\atcatcode\endinput} +\wlog{Language: `Dutch' version \fileversion\space<\filedate>} +\ifx\undefined\babel@core@loaded\input babel.com\fi +\ifx\undefined\originalTeX \let\originalTeX\relax \else\originalTeX\fi +\ifx\undefined\l@dutch + \message{!! The language `Dutch' doesn't have hyphenation patterns.} + \message{!! I will use the patterns loaded for \string\language=0 instead.} + \adddialect\l@dutch0\fi +\def\captionsdutch{% +\def\dashes{--}% +\def\leftquotes{\dlqq}% +\def\rightquotes{\drqq}% +\def\presentname{Aanwezig:}% +\def\notpresentname{Niet Aanwezig:}% +\def\agendaname{Agenda}% +\def\openname{Opening}% +\def\signname{Getekend:}% +\def\tlxname{telex:}% +\def\telname{telefoon:}% +\def\faxname{telefax:}% +\def\emailname{E-mail:}% +\def\fidoname{Fidonet:}% +\def\bankname{rekeningnr.:}% +\def\of{van }% +\def\Of{van }% +\def\In{In }% +\def\from{Uit }% +\def\and{en }% +\def\page{p. }% +\def\pages{pp. }% +\def\atplace{te }% +\def\volume{Deel}% +\def\editor{(ed.)}% +\def\editors{(eds.)}% +\def\ownedition{Uitgegeven in eigen beheer}% +\def\first{Eerste druk}% +\def\second{Tweede druk}% +\def\third{Derde druk}% +\def\secondrevised{Tweede herziene druk}% +\def\thirdrevised{Derde herziene druk}% +\def\fourthrevised{Vierde herziene druk}% +\def\fifthrevised{Vijfde herziene druk}% +\def\sixthrevised{Zesde herziene druk}% +\def\seventhrevised{Zevende herziene druk}% +\def\eightthrevised{Achtste herziene druk}% +\def\ninthrevised{Negende herziene druk}% +\def\higher{$^{\rm e}$ druk}% +\def\technicalreport{Intern Rapport}% +\def\masters{Doktoraalskriptie}% +\def\conference{Referaat voor een Congres }% +\def\phdthesis{Dissertatie}% +\def\tbp{Nog te publiceren}% +\def\seename{zie ook}% +\def\jan{januari }% +\def\feb{februari }% +\def\mar{maart }% +\def\apr{april }% +\def\may{mei }% +\def\jun{juni }% +\def\jul{juli }% +\def\aug{augustus }% +\def\sep{september }% +\def\oct{oktober }% +\def\nov{november }% +\def\dec{december }% +\def\exercisename{Oefening}% +\def\lessonname{Les}% +\def\prefname{Voorwoord}% +\def\refname{Referenties}% +\def\rename{Onderwerp:}% +\def\yourlettername{Uw brief van}% +\def\yourrefname{Uw kenmerk}% +\def\ourrefname{Ons kenmerk}% +\def\datetext{Datum}% +\def\abstractname{Samenvatting}% +\def\bibname{Bibliografie}% +\def\notesname{Noten}% +\def\chaptername{Hoofdstuk}% +\def\appendixname{Bijlage:}% +\def\contentsname{Inhoudsopgave}% +\def\listfigurename{Lijst van figuren}% +\def\listtablename{Lijst van tabellen}% +\def\indexname{Index}% +\def\figurename{Figuur}% +\def\tablename{Tabel}% +\def\partname{Deel}% +\def\enclname{Bijlagen:}% +\def\ccname{i.a.a.:}% +\def\psname{P.S.:}% +\def\headtoname{Geaddresseerde}% +\def\headpagename{Bladnummer}% +\def\arabicedname{Arabische uitgave}% +\def\croatianedname{Kroatische uitgave}% +\def\czechedname{Tsjechische uitgave}% +\def\danishedname{Deense uitgave}% +\def\dutchedname{Nederlandse uitgave}% +\def\englishedname{Engelse uitgave}% +\def\esperantoedname{Esperanto uitgave}% +\def\finnishedname{Finse uitgave}% +\def\frenchedname{Franse uitgave}% +\def\germanedname{Duitse uitgave}% +\def\greekedname{Griekse uitgave}% +\def\hebrewedname{Hebreeuwse uitgave}% +\def\hindiedname{Hindi uitgave}% +\def\italianedname{Italiaanse uitgave}% +\def\maasaiedname{Maasai uitgave}% +\def\magyaredname{Hongaarse uitgave}% +\def\norskedname{Noorse uitgave}% +\def\polishedname{Poolse uitgave}% +\def\portugesedname{Portugese uitgave}% +\def\romanianedname{Roemeense uitgave}% +\def\russianedname{Russische uitgave}% +\def\sloveneedname{Sloveense uitgave}% +\def\spanishedname{Spaanse uitgave}% +\def\swahiliedname{Swahili uitgave}% +\def\swedishedname{Zweedse uitgave}% +\def\tamiledname{Tamil uitgave}% +\def\turkishedname{Turkse uitgave}% +\def\nul{\ifnum\ii=0 nul\else\getall\fi}% +\def\getall{\ifcase\ii\or\qmeen\or\qmtwee\or\qmdrie\or\qmvier\or\qmvijf\or% + \qmzes\or\qmze\-ven\or\qmacht\or\qmne\-gen\or\qmtien\or\qmelf\or\qmtwaalf\or% + \qmder\-tien\or\qmveer\-tien\else% + \jj=\ii\ifnum\ii<100 \divide\jj by 10 \edef\tig{\ifcase\jj\or tien\or% + twin\-tig\or der\-tig\or veer\-tig\or vijf\-tig\or zes\-tig\or ze\-ven\-tig\or% + tach\-tig\or ne\-gen\-tig\fi}\multiply\jj by 10 \advance\ii by-\jj\getall% + \ifnum\jj=10 \else\ifcase\ii\or\-en\or"en\or"en\else\-en\fi\fi\qm\tig% + \else\ifnum\ii<1000 \num100 \qmhon\-derd% + \else\ifnum\ii<1100 \num1000 \qmdui\-zend% + \else\ifnum\ii<2000 \num100 \qmhon\-derd% + \else\ifnum\ii<1000000 \num1000 \qmdui\-zend% + \else\num1000000 \qmmil\-joen% + \fi\fi\fi\fi\fi\fi}} +\def\datedutch{% +\def\today{\number\day~\ifcase\month\or + januari\or februari\or maart\or april\or mei\or juni\or juli\or + augustus\or september\or oktober\or november\or december\fi + \space \number\year}} +\begingroup \catcode`\"\active +\gdef\extrasdutch{% + \frenchspacing\let\resetspacing\nonfrenchspacing% + \let\original@dospecials\dospecials% + \let\original@sanitize\@sanitize% + \let\original@dieresis\"% + \let\original@dq="% + \edef\original@xcode{\catcode`\noexpand\"=\the\catcode`\"\relax} + \catcode`\"\active% + \def"{\protect\active@dq}% +% \def\"{\protect\@umlaut}% + \righthyphenmin=2% + \umlautlow% +} +\endgroup +\begingroup\catcode`\"=\active +\gdef\noextrasdutch{% + \catcode`\"12% + \original@xcode + \let"\original@dq + \let\"\original@dieresis% + \let\dospecials\original@dospecials% + \let\@sanitize\original@sanitize% + \resetspacing% +}\endgroup +\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}% + \dimen\z@\ht\z@ \advance\dimen\z@ -\ht\tw@% + \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht\tw@ \dp\z@\dp\tw@} +\def\dlqq{\protect\@dlqq} +\def\@dlqq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else% + \let\@SF\empty \fi \leavevmode% + \set@low@box{''}\box\z@\kern-.04em\allowhyphens\@SF\relax}} +\def\drqq{\protect\@drqq} +\def\@drqq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else% + \let\@SF\empty \fi ''\@SF\relax}} +\let\dieresis\" +%\def\@umlaut#1{% +% \ifx #1u\dieresis{u}\else +% \allowhyphens\discretionary{-}{#1}{\dieresis #1}\allowhyphens\fi} +\def\-{\allowhyphens\discretionary{-}{}{}\allowhyphens} +\@ifundefined{l@dutch}{\adddialect\l@dutch0}{} + +\catcode`\@=\atcatcode \let\atcatcode\relax +\endinput +%% +%% End of file `dutch.tex'. diff --git a/obsolete/macros/latex209/contrib/ml/english.tex b/obsolete/macros/latex209/contrib/ml/english.tex new file mode 100644 index 0000000000..74fb2013bf --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/english.tex @@ -0,0 +1,174 @@ + +%% +%% This is file `english.tex', generated on <1994/2/16>. +%% +\def\filename{english.tex} +\def\fileversion{english-1.2} +\def\filedate{16 sept 1994} +%% +{\def\format{plain} +\ifx\fmtname\format + \expandafter\ifx\csname @ifundefined\endcsname\relax + \gdef\next{latexhax.com} + \aftergroup\input\aftergroup\next + \fi +\fi} +\chardef\atcatcode=\catcode`\@ +\makeatletter +\@ifundefined{captionsenglish}{}{\catcode`\@=\atcatcode\endinput} +\wlog{Language: `English' version \fileversion\space<\filedate>} +\ifx\undefined\babel@core@loaded\input babel.com\fi +\ifx\undefined\originalTeX \let\originalTeX\relax \else\originalTeX\fi +\ifx\undefined\l@english + \message{!! The language `English' doesn't have hyphenation patterns.} + \message{!! I will use the patterns loaded for \string\language=0 instead.} + \adddialect\l@english0\fi +\def\captionsenglish{% +\def\dashes{---}% +\def\leftquotes{``}% +\def\rightquotes{''}% +\def\presentname{Attendance:}% +\def\notpresentname{Not Attended:}% +\def\agendaname{Agenda}% +\def\openname{Opening}% +\def\signname{Signed:}% +\def\telname{telephone:}% +\def\faxname{telefax:}% +\def\emailname{E-mail:}% +\def\fidoname{Fidonet:}% +\def\bankname{Bank account:}% +\def\of{of }% +\def\Of{of }% +\def\In{In }% +\def\from{In }% +\def\and{and }% +\def\page{page }% +\def\pages{pages }% +\def\atplace{in }% +\def\volume{volume}% +\def\editor{editor}% +\def\editors{editors}% +\def\ownedition{Published under own control}% +\def\first{first edition}% +\def\second{second edition}% +\def\third{third edition}% +\def\secondrevised{second revised edition}% +\def\thirdrevised{third revised edition}% +\def\fourthrevised{fourth revised edition}% +\def\fifthrevised{fifth revised edition}% +\def\sixthrevised{sixth revised edition}% +\def\seventhrevised{seventh revised edition}% +\def\eightthrevised{eighth revised edition}% +\def\ninthrevised{ninth revised edition}% +\def\higher{$^{\rm th}$ edition}% +\def\technicalreport{Technical Report}% +\def\masters{Master's thesis}% +\def\conference{Paper for a Conference }% +\def\phdthesis{PhD thesis}% +\def\tbp{To be published}% +\def\seename{see}% +\def\jan{January }% +\def\feb{February }% +\def\mar{March }% +\def\apr{April }% +\def\may{May }% +\def\jun{June }% +\def\jul{July }% +\def\aug{August }% +\def\sep{September }% +\def\oct{October }% +\def\nov{November }% +\def\dec{December }% +\def\exercisename{Exercise }% +\def\lessonname{Lesson }% +\def\prefname{Preface}% +\def\refname{References}% +\def\rename{Re}% +\def\yourlettername{Your letter of}% +\def\yourrefname{Your reference}% +\def\ourrefname{Our reference}% +\def\datetext{Date}% +\def\abstractname{Abstract}% +\def\bibname{Bibliography}% +\def\notesname{Notes}% +\def\chaptername{Chapter }% +\def\appendixname{Appendix }% +\def\contentsname{Contents}% +\def\listfigurename{List of Figures}% +\def\listtablename{List of Tables}% +\def\indexname{Index}% +\def\figurename{Figure}% +\def\tablename{Table}% +\def\partname{Part}% +\def\enclname{Enclosure:}% +\def\enclnames{Enclosures:}% +\def\ccname{cc:}% +\def\psname{P.S.:}% +\def\headtoname{To}% +\def\headpagename{Page}% +\def\arabicedname{Arabic edition}% +\def\croatianedname{Croatian edition}% +\def\czechedname{Czech edition}% +\def\danishedname{Danish edition}% +\def\dutchedname{Dutch edition}% +\def\englishedname{English edition}% +\def\esperantoedname{Esperanto edition}% +\def\finnishedname{Finnish edition}% +\def\frenchedname{French edition}% +\def\germanedname{German edition}% +\def\greekedname{Greek edition}% +\def\hebrewedname{Hebrew edition}% +\def\hindiedname{Hindi edition}% +\def\italianedname{Italian edition}% +\def\maasaiedname{Maasai edition}% +\def\magyaredname{Hungarian edition}% +\def\norskedname{Norwegian edition}% +\def\polishedname{Polish edition}% +\def\portugesedname{Portuguese edition}% +\def\romanianedname{Romanian edition}% +\def\russianedname{Russian edition}% +\def\sloveneedname{Slovenian edition}% +\def\spanishedname{Spanish edition}% +\def\swahiliedname{Swahili edition}% +\def\swedishedname{Swedish edition}% +\def\tamiledname{Tamil edition}% +\def\turkishedname{Turkish edition}} +\def\dateenglish{% +\def\today{\ifcase\day\or + 1st\or 2nd\or 3rd\or 4th\or 5th\or + 6th\or 7th\or 8th\or 9th\or 10th\or + 11th\or 12th\or 13th\or 14th\or 15th\or + 16th\or 17th\or 18th\or 19th\or 20th\or + 21st\or 22nd\or 23rd\or 24th\or 25th\or + 26th\or 27th\or 28th\or 29th\or 30th\or + 31st\fi~\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 + \space \number\year}} +\def\dateamerican{% +\def\today{\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 + \space\number\day, \number\year}} +\def\extrasenglish{\nonfrenchspacing} +\def\noextrasenglish{} +\@ifundefined{l@english}{\adddialect\l@english0}{} +\adddialect\l@american\l@english +\let\captionsamerican\captionsenglish +\let\extrasamerican\extrasenglish +\let\noextrasamerican\noextrasenglish +\hyphenation{Ki-twai Ma-ta-pa-to} +%\@bsphack\@ifundefined{l@english}{\@nolanerr{english}}% +% {\language=\csname l@english\endcsname\relax +% \l@nguage=\csname l@english\endcsname\relax +% \originalTeX +% \csname captionsenglish\endcsname +% \csname dateenglish\endcsname +% \csname extrasenglish\endcsname +% \def\originalTeX{\csname noextrasenglish\endcsname}% +% \@esphack}% + +\catcode`\@=\atcatcode \let\atcatcode\relax +\endinput +%% +%% End of file `english.tex'. diff --git a/obsolete/macros/latex209/contrib/ml/french.tex b/obsolete/macros/latex209/contrib/ml/french.tex new file mode 100644 index 0000000000..828b198d65 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/french.tex @@ -0,0 +1,163 @@ +%% +%% This is file `french.tex', generated on <1994/9/16>. +%% +\def\filename{french.tex} +\def\fileversion{french-1.2} +\def\filedate{16 sept 1994} +%% +{\def\format{plain} +\ifx\fmtname\format + \expandafter\ifx\csname @ifundefined\endcsname\relax + \gdef\next{latexhax.com} + \aftergroup\input\aftergroup\next + \fi +\fi} +\chardef\atcatcode=\catcode`\@ +\makeatletter +\@ifundefined{captionsfrench}{}{\catcode`\@=\atcatcode\endinput} +\wlog{Language: `French' version \fileversion\space<\filedate>} +\ifx\undefined\babel@core@loaded\input babel.com\fi +\ifx\undefined\originalTeX \let\originalTeX\relax \else\originalTeX\fi +\ifx\undefined\l@french + \message{!! The language `French' doesn't have hyphenation patterns.} + \message{!! I will use the patterns loaded for \string\language=0 instead.} + \adddialect\l@french0\fi +\def\captionsfrench{% +\def\dashes{---} +\def\leftquotes{\ouvreguillemet\everypar={\ouvreguillemet\ }\,}% +\def\rightquotes{\,\fermeguillemet\everypar={}}% +\def\presentname{Pr\'esent:}% +\def\notpresentname{Absent:}% +\def\agendaname{Agenda}% +\def\openname{Ouverture}% +\def\signname{Sign\'e:}% +\def\tlxname{T\'elex:}% +\def\telname{T\'el\'ephone:}% +\def\faxname{T\'el\'ecopier:}% +\def\emailname{Courrier \'electronique:}% +\def\fidoname{R\'eseau de Fido:}% +\def\bankname{num\'ero de compte:}% +\def\of{de la S\'erie }% +\def\Of{au s\'eminaire de l'Organisation }% +\def\in{Dans }% +\def\from{Dans }% +\def\and{at }% +\def\page{page }% +\def\pages{pages }% +\def\atplace{\`a }% +\def\volume{Tome}% +\def\editor{\'ed.}% +\def\editors{\'eds.}% +\def\ownedition{Publi\'e en regie propre}% +\def\first{\'edition simplex}% +\def\second{seconde \'edition}% +\def\third{troisi\`eme \'edition}% +\def\secondrevised{seconde \'edition revis\'ee}% +\def\thirdrevised{troisi\`eme \'edition revis\'ee}% +\def\fourthrevised{quatri\`eme \'edition revis\'ee}% +\def\fifthrevised{cinqui\`eme \'edition revis\'ee}% +\def\sixthrevised{sizi\`eme \'edition revis\'ee}% +\def\seventhrevised{septi\`eme \'edition revis\'ee}% +\def\eightthrevised{huiti\`eme \'edition revis\'ee}% +\def\ninthrevised{neuvi\`eme \'edition revis\'ee}% +\def\higher{$^{\rm e}$ \'edition}% +\def\technicalreport{Rapport Interne}% +\def\masters{M\'emoire de licence}%Th\`ese de Doctorat +\def\conference{Communication pr\'esent\'ee }% +\def\phdthesis{Th\`ese}%Dissertation doctorale +\def\tbp{A publier}% +\def\seename{voir}% +\def\jan{janvier }% +\def\feb{f\'evrier }% +\def\mar{mars }% +\def\apr{avril }% +\def\may{mai }% +\def\jun{juin }% +\def\jul{juillet }% +\def\aug{ao\^ut }% +\def\sep{septembre }% +\def\oct{octobre }% +\def\nov{novembre }% +\def\dec{d\'ecembre }% +\def\lessonname{Le\c{c}on }% +\def\exercisename{Exercise }% +\def\prefname{Pr\'eface}% +\def\refname{R\'ef\'erences}% +\def\rename{Objet:}% +\def\yourlettername{Votre lettre du}% +\def\yourrefname{Vos r\'ef\'erences:}% +\def\ourrefname{Nos r\'ef\'erences:}% +\def\datetext{Date:}% +\def\abstractname{R\'esum\'e}% +\def\bibname{Bibliographie}% +\def\notesname{Notes}% +\def\chaptername{Chapitre }% +\def\appendixname{Annexe }% +\def\contentsname{Table des mati\`eres}% +\def\listfigurename{Liste des figures}% +\def\listtablename{Liste des tableaux}% +\def\indexname{Index}% +\def\figurename{Figure}% +\def\tablename{Tableau}% +\def\partname{Partie}% +\def\enclname{Pi\`ece jointe:}% +\def\enclnames{Pi\`eces jointes:}% +\def\ccname{Copie \`a:}% +\def\psname{P.S.:}% +\def\headtoname{\`A l'attention de}% +\def\headpagename{Page}% +\def\arabicedname{\'edition arabe}% +\def\croatianedname{\'edition croate}% +\def\czechedname{\'edition tch\`eque}% +\def\danishedname{\'edition danoise}% +\def\dutchedname{\'edition hollandaise}% +\def\englishedname{\'edition anglaise}% +\def\esperantoedname{\'edition esperanto}% +\def\finnishedname{\'edition finnoise}% +\def\frenchedname{\'edition fran\c{c}aise}% +\def\germanedname{\'edition allemande}% +\def\greekedname{\'edition grecque}% +\def\hebrewedname{\'edition hebreue}% +\def\hindiedname{\'edition hindi}% +\def\italianedname{\'edition italienne}% +\def\maasaiedname{\'edition maasai}% +\def\magyaredname{\'edition hongroise}% +\def\norskedname{\'edition norv\'egienne}% +\def\polishedname{\'edition polonaise}% +\def\portugesedname{\'edition portugu\`ese}% +\def\romanianedname{\'edition roumaine}% +\def\russianedname{\'edition russe}% +\def\sloveneedname{\'edition slovaine}% +\def\spanishedname{\'edition espagnole}% +\def\swahiliedname{\'edition swahili}% +\def\swedishedname{\'edition su\'edoise}% +\def\tamiledname{\'edition tamil}% +\def\turkishedname{\'edition turque}} +\def\datefrench{% +\def\today{\ifnum\day=1\relax 1\/$^{\rm er}$\else + \number\day\fi \space\ifcase\month\or + janvier\or f\'evrier\or mars\or avril\or mai\or juin\or + juillet\or ao\^ut\or septembre\or octobre\or novembre\or d\'ecembre\fi + \space\number\year}} +\begingroup +\def\do{\noexpand\do\noexpand}% +\xdef\french@dospecials{\dospecials\do\;\do:\do\!\do\?}% +\expandafter\ifx\csname @sanitize\endcsname\relax \else + \def\@makeother{\noexpand\@makeother\noexpand}% + \xdef\french@sanitize{\@sanitize% + \@makeother\;\@makeother\;\@makeother\!\@makeother?}% +\fi +\endgroup +\@ifundefined{l@french}{\adddialect\l@french0}{} +% \l@nguage=\csname l@french\endcsname\relax +% \originalTeX +% \csname captionsfrench\endcsname +% \csname datefrench\endcsname +% \csname extrasfrench\endcsname +% \def\originalTeX{\csname noextrasfrench\endcsname}% +% \@esphack}% + +\catcode`\@=\atcatcode \let\atcatcode\relax +\endinput +%% +%% End of file `french.tex'. diff --git a/obsolete/macros/latex209/contrib/ml/german.tex b/obsolete/macros/latex209/contrib/ml/german.tex new file mode 100644 index 0000000000..c8d50c2491 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/german.tex @@ -0,0 +1,222 @@ +%% +%% This is file `german.tex', generated on <1994/2/16>. +%% +\def\filename{german.tex} +\def\fileversion{german-1.2} +\def\filedate{16 sept 1994} +%% +{\def\format{plain} +\ifx\fmtname\format + \expandafter\ifx\csname @ifundefined\endcsname\relax + \gdef\next{latexhax.com} + \aftergroup\input\aftergroup\next + \fi +\fi} +\chardef\atcatcode=\catcode`\@ +\makeatletter +\@ifundefined{captionsgerman}{}{\catcode`\@=\atcatcode\endinput} +\wlog{Language: `German' version \fileversion\space<\filedate>} +\ifx\undefined\babel@core@loaded\input babel.com\fi +\ifx\undefined\originalTeX \let\originalTeX\relax \else\originalTeX\fi +\ifx\undefined\l@german + \message{!! The language `German' doesn't have hyphenation patterns.} + \message{!! I will use the patterns loaded for \string\language=0 instead.} + \adddialect\l@german0\fi +\def\captionsgerman{% +\def\dashes{--}% +\def\leftquotes{\glqq\/}% +\def\rightquotes{\grqq}% +\def\presentname{Anwesend:}% +\def\notpresentname{Abwesend:}% +\def\agendaname{Agenda}% +\def\openname{\"Offnung}% +\def\signname{Unterzeichnet:}% +\def\tlxname{Telex:}% +\def\telname{Telephon:}% +\def\faxname{Telefax:}% +\def\emailname{E-mail:}% +\def\fidoname{Fidonetz:}% +\def\bankname{Bankkonto:}% +\def\of{aus der Reihe }% +\def\Of{von }% +\def\in{In }% +\def\from{Aus }% +\def\and{und }% +\def\page{Seite }% +\def\pages{Seiten }% +\def\atplace{in }% +\def\volume{Band}% +\def\editor{Hrsg.}% +\def\editors{Hrsg.}% +\def\ownedition{Im Selbstverlag}% +\def\first{erste Auf"|lage}% +\def\second{zweite Auf"|lage}% +\def\third{dritte Auf"|lage}% +\def\secondrevised{zweite neubearbeitete Auf"|lage}% +\def\thirdrevised{dritte neubearbeitete Auf"|lage}% +\def\fourthrevised{vierte neubearbeitete Auf"|lage}% +\def\fifthrevised{f\"unfte neubearbeitete Auf"|lage}% +\def\sixthrevised{sechste neubearbeitete Auf"|lage}% +\def\seventhrevised{siebte neubearbeitete Auf"|lage}% +\def\eightthrevised{achtste neubearbeitete Auf"|lage}% +\def\ninthrevised{neunte neubearbeitete Auf"|lage}% +\def\higher{. Auf"|lage}% +\def\technicalreport{Interner Rapport}% +\def\masters{Doktorandenarbeit}% +\def\conference{Vortrag f\"ur eine Tagung }% +\def\phdthesis{Dissertation}% +\def\tbp{Noch zu ver\"offentlichen}% +\def\seename{siehe}% +\def\jan{Januar }% +\def\feb{Februar }% +\def\mar{M\"arz }% +\def\apr{April }% +\def\may{Mai }% +\def\jun{Juni }% +\def\jul{Juli }% +\def\aug{August }% +\def\sep{September }% +\def\oct{October }% +\def\nov{November }% +\def\dec{Dezember }% +\def\exercisename{\"Ubung }% +\def\lessonname{Lektion }% +\def\prefname{Vorwort}% +\def\refname{Literatur}% +\def\rename{Betreff}% +\def\yourlettername{Ihr Brief vom}% +\def\yourrefname{Ihr Zeichen:}% +\def\ourrefname{Unser Zeichen:}% +\def\datetext{Datum:}% +\def\abstractname{Zusammenfassung}% +\def\bibname{Literaturverzeichnis}% +\def\notesname{Anmerkungen}% +\def\chaptername{Kapitel }%% +\def\appendixname{Anhang }%% +\def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt +\def\listfigurename{Abbildungsverzeichnis}% +\def\listtablename{Tabellenverzeichnis}% +\def\indexname{Index}% +\def\figurename{Abbildung}% +\def\tablename{Tabelle}% % oder: Tafel +\def\partname{Teil}% +\def\enclname{Anlage:}% % oder: Beilage(n) +\def\enclnames{Anlagen:}% % oder: Beilage(n) +\def\ccname{Verteiler:}% % oder: Kopien an +\def\psname{P.S.:}% +\def\headtoname{An}% +\def\headpagename{Seite}% +\def\arabicedname{Arabische Ausgabe}% +\def\croatianedname{Kroatische Ausgabe}% +\def\czechedname{Tchechische Ausgabe}% +\def\danishedname{D\"anische Ausgabe}% +\def\dutchedname{Holl\"andische Ausgabe}% +\def\englishedname{Englische Ausgabe}% +\def\esperantoedname{Esperanto Ausgabe}% +\def\finnishedname{Finnische Ausgabe}% +\def\frenchedname{Franz\"osische Ausgabe}% +\def\germanedname{Deutsche Ausgabe}% +\def\greekedname{Griechische Ausgabe}% +\def\hebrewedname{Hebr\"aische Ausgabe}% +\def\hindiedname{Hindi Ausgabe}% +\def\italianedname{Italienische Ausgabe}% +\def\maasaiedname{Maasai Ausgabe}% +\def\magyaredname{Ungarische Ausgabe}% +\def\norskedname{Nordische Ausgabe}% +\def\polishedname{Polnische Ausgabe}% +\def\portugesedname{Portugiesische Ausgabe}% +\def\romanianedname{Rum\"anische Ausgabe}% +\def\russianedname{Russische Ausgabe}% +\def\sloveneedname{Slovenische Ausgabe}% +\def\spanishedname{Spanische Ausgabe}% +\def\swahiliedname{Suaheli Ausgabe}% +\def\swedishedname{Schwedische Ausgabe}% +\def\tamiledname{Tamil Ausgabe}% +\def\turkishedname{T\"urkische Ausgabe}% +\def\nul{\ifnum\ii=0 null\else\ifnum\ii=1 eins\getall\fi\fi}% +\def\getall{\ifcase\ii\or\qmein\or\qmzwei\or\qmdrei\or\qmvier\or\qmf"unf\or% + \qmsechs\or\qmsie\-ben\or\qmacht\or\qmneun\or\qmzehn\or\qmelf\or\qmzw"olf\or% + \qmdrei\-zehn\or\qmvier\-zehn\else% + \jj=\ii\ifnum\ii<100 \divide\jj by 10 \edef\zig{\ifcase\jj\or zehn\or% + zwan\-zig\or drei\-"ssig\or vier\-zig\or f"unf\-zig\or sechs\-zig\or% + sieb\-zig\or ach\-zig\or neun\-zig\fi}\multiply\jj by 10 \advance\ii% + by-\jj\getall \ifnum\jj=10 \else\ifcase\ii\or\-und\else\-und\fi\fi\qm\zig% + \else\ifnum\ii<1000 \num100 \qmhun\-dert% + \else\ifnum\ii<1100 \num1000 \qmtau\-send% + \else\ifnum\ii<2000 \num100 \qmhun\-dert% + \else\ifnum\ii<1000000 \num1000 \qmtau\-send% + \else\num1000000 \qmmil\-jon% + \fi\fi\fi\fi\fi\fi}} +\def\dategerman{% +\def\today{\number\day.~\ifcase\month\or + Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or + Juli\or August\or September\or Oktober\or November\or Dezember\fi + \space\number\year}} +\def\dateaustrian{% +\def\today{\number\day.~\ifcase\month\or + J\"anner\or Februar\or M\"arz\or April\or Mai\or Juni\or + Juli\or August\or September\or Oktober\or November\or Dezember\fi + \space\number\year}} +\begingroup \catcode`\"\active +\def\extrasgerman{% + \ifnum\the\sfcode`\.=\@m\frenchspacing\fi% + \let\original@three\3% + \let\original@dieresis\"% + \let\original@dq="% + \edef\original@xcode{\lccode`\noexpand\^^Y=\the\lccode`\^^Y\relax% + \catcode`\noexpand\"=\the\catcode`\"\relax} + \lccode`\^^Y=`\^^Y% + \let\3\ss% + \catcode`\"\active% + \umlautlow% + \def"{\protect\active@dq}}% +\endgroup +\begingroup\catcode`\"=\active +\def\noextrasgerman{% + \catcode`\"12% + \original@xcode + \let"\original@dq% + \let\"\original@dieresis% \umlauthigh% + \let\3\original@three% +}\endgroup +\def\umlauthigh{\let\"=\dieresis} +\def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1} + \dimen\z@\ht\z@ \advance\dimen\z@ -\ht\tw@ + \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht\tw@ \dp\z@\dp\tw@} +\def\glqq{\protect\@glqq} +\def\@glqq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi \leavevmode + \set@low@box{''}\box\z@\kern-.04em\allowhyphens\@SF\relax}} +\def\grqq{\protect\@grqq} +\def\@grqq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi \kern-.07em``\kern.07em\@SF\relax}} +\def\glq{\protect\@glq} +\def\@glq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi \leavevmode + \set@low@box{'}\box\z@\kern-.04em\allowhyphens\@SF\relax}} +\def\grq{\protect\@grq} +\def\@grq{\kern-.07em`\kern.07em} +\begingroup \catcode`\"=\active +\global\let"\dq +\global\let\active@dq\dq +\endgroup +\@ifundefined{l@german}{\adddialect\l@german0}{} +\adddialect\l@austrian\l@german +\let\captionsaustrian\captionsgerman +\let\extrasaustrian\extrasgerman +\let\noextrasaustrian\noextrasgerman +\def\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens} +%\@bsphack\@ifundefined{l@german}{\@nolanerr{german}}% +% {\language=\csname l@german\endcsname\relax +% \l@nguage=\csname l@german\endcsname\relax +% \originalTeX +% \csname captionsgerman\endcsname +% \csname dategerman\endcsname +% \csname extrasgerman\endcsname +% \def\originalTeX{\csname noextrasgerman\endcsname}% +% \@esphack}}% + +\catcode`\@=\atcatcode \let\atcatcode\relax +\endinput +%% +%% End of file `german.tex'. diff --git a/obsolete/macros/latex209/contrib/ml/greek.tex b/obsolete/macros/latex209/contrib/ml/greek.tex new file mode 100644 index 0000000000..17e634c6aa --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/greek.tex @@ -0,0 +1,205 @@ +%% +%% This is file `greek.tex', generated on <1993/6/16>. +%% +\def\fileversion{greek-1.2} +\def\filedate{16 sept 1994} +%% +{\def\format{plain} +\ifx\fmtname\format + \expandafter\ifx\csname @ifundefined\endcsname\relax + \gdef\next{latexhax.com} + \aftergroup\input\aftergroup\next + \fi +\fi} +\chardef\atcatcode=\catcode`\@ +\makeatletter +\@ifundefined{captionsgreek}{}{\catcode`\@=\atcatcode\endinput} +\wlog{Language: `Greek' version \fileversion\space<\filedate>} +\ifx\undefined\babel@core@loaded\input babel.com\fi +\ifx\undefined\originalTeX \let\originalTeX\relax \else\originalTeX\fi +\ifx\undefined\l@greek + \message{!! The language `Greek' doesn't have hyphenation patterns.} + \message{!! I will use the patterns loaded for \string\language=0 instead.} + \adddialect\l@greek0\fi +\openin1 rgreekmac \ifeof1 + \typeout{! I can't find file `rgreekmac.tex'.} + \else\closein1 \relax\input{rgreekmac}\fi + \def\begingreek{\bgroup\family{greek}\selectfont% + \ifx\keybgreek\undefined\relax\else\keybgreek\fi% + \greektrue} + \def\beginmgreek{\typeout{Warning: + Use monotoniko.sty for monotonical greek!}% + \family{mgreek}\selectfont\ifx\keybgreek\undefined\relax% + \else\keybgreek\fi\greektrue} + \def\monotoniko{\family{mgreek}\selectfont} + \def\polutoniko{\family{greek}\selectfont} +\ifx\selectfont\undefined\endinput\fi + +\gdef\captionsgreek{% +\def\dashes{---}% +\def\leftquotes{((}% +\def\rightquotes{))}% +\def\presentname{Parous'ia:}% +\def\notpresentname{>Apous'ia:}% +\def\agendaname{Shmeiwmat'arion}% +\def\openname{>'Anoigma}% +\def\signname{>Upograf'h:}% +\def\tlxname{Thl'etupon:}% +\def\telname{Thl'efwnon:}% +\def\faxname{Thl'efax:}% +\def\emailname{E-mail:}% +\def\fidoname{Fidonet:}% +\def\bankname{Trapezitik'os logariasm'os:}% +\def\of{\ifgreek\relax\else\begingreek\fi t~hs Seir~as \endgreek}% +\def\Of{\ifgreek\relax\else\begingreek\fi t~hs Diorgan'wsews \endgreek}% +\def\in{\ifgreek\relax\else\begingreek\fi >Ev \endgreek}% +\def\from{\ifgreek\relax\else\begingreek\fi >Ek \endgreek}% +\def\and{\ifgreek\relax\else\begingreek\fi ka`i \endgreek}% +\def\page{\ifgreek\relax\else\begingreek\fi sel. \endgreek}% +\def\pages{\ifgreek\relax\else\begingreek\fi sel. \endgreek}% +\def\atplace{\ifgreek\relax\else\begingreek\fi >en \endgreek}% +\def\volume{\ifgreek\relax\else\begingreek\fi T'omos\endgreek}% +\def\editor{\ifgreek\relax\else\begingreek\fi >ekd'oths\endgreek}% +\def\editors{\ifgreek\relax\else\begingreek\fi >ekd'otes\endgreek}% +\def\ownedition{\ifgreek\relax\else\begingreek\fi +di`a logariasm`on to~u suggraf'ews\endgreek}% +\def\first{\ifgreek\relax\else\begingreek\fi pr~wth >ekt'upwsh\endgreek}% +\def\second{\ifgreek\relax\else\begingreek\fi de'uterh >ekt'upwsh\endgreek}% +\def\third{\ifgreek\relax\else\begingreek\fi tr'ith >ekt'upwsh\endgreek}% +\def\secondrevised{\ifgreek\relax\else\begingreek\fi +de'uterh >ekt'upwsh, n'ea >exergas'ia\endgreek}% +\def\thirdrevised{\ifgreek\relax\else\begingreek\fi +tr'ith >ekt'upwsh, n'ea >exergas'ia\endgreek}% +\def\fourthrevised{\ifgreek\relax\else\begingreek\fi +tet'arth >ekt'upwsh, n'ea >exergas'ia\endgreek}% +\def\fifthrevised{\ifgreek\relax\else\begingreek\fi +p'empth >ekt'upwsh, n'ea >exergas'ia\endgreek}% +\def\sixthrevised{\ifgreek\relax\else\begingreek\fi +<'ekth >ekt'upwsh, n'ea >exergas'ia\endgreek}% +\def\seventhrevised{\ifgreek\relax\else\begingreek\fi +ekt'upwsh, n'ea >exergas'ia\endgreek}% +\def\eightthrevised{\ifgreek\relax\else\begingreek\fi +>ogd'oh >ekt'upwsh, n'ea >exergas'ia\endgreek}% +\def\ninthrevised{\ifgreek\relax\else\begingreek\fi +>en'ath >ekt'upwsh, n'ea >exergas'ia\endgreek}% +\def\higher{\ifgreek\relax\else\begingreek\fi $^h$ +>ekt'upwsh\endgreek}% +\def\technicalreport{\ifgreek\relax\else\begingreek\fi +>Eswterik'o >Anafor'a\endgreek}% +\def\masters{\ifgreek\relax\else\begingreek\fi +Didaktorik'h diatrib'h\endgreek}% +\def\conference{\ifgreek\relax\else\begingreek\fi +Di'alexh gi`a Sunedr'iasin \endgreek}% +\def\phdthesis{\ifgreek\relax\else\begingreek\fi +>Ena'isimos diatrib'h\endgreek}% +\def\tbp{\ifgreek\relax\else\begingreek\fi N`a dhme'uein\endgreek}% +\def\seename{\ifgreek\relax\else\begingreek\fi bl'epe\endgreek}% +\def\jan{\ifgreek\relax\else\begingreek\fi >Ianou'arios \endgreek}% +\def\feb{\ifgreek\relax\else\begingreek\fi Febrou'arios \endgreek}% +\def\mar{\ifgreek\relax\else\begingreek\fi M'artios \endgreek}% +\def\apr{\ifgreek\relax\else\begingreek\fi >Apr'ilios \endgreek}% +\def\may{\ifgreek\relax\else\begingreek\fi M'a"ios \endgreek}% +\def\jun{\ifgreek\relax\else\begingreek\fi >Io'unios \endgreek}% +\def\jul{\ifgreek\relax\else\begingreek\fi >Io'ulios \endgreek}% +\def\aug{\ifgreek\relax\else\begingreek\fi A>'ugoustos \endgreek}% +\def\sep{\ifgreek\relax\else\begingreek\fi Sept'embrios \endgreek}% +\def\oct{\ifgreek\relax\else\begingreek\fi >Okt'wbrios \endgreek}% +\def\nov{\ifgreek\relax\else\begingreek\fi No'embrios \endgreek}% +\def\dec{\ifgreek\relax\else\begingreek\fi Dek'embrios \endgreek}% +\def\lessonname{M'ajhma}% +\def\exercisename{>'Askhsh}% +\def\prefname{Pr'ologos}% +\def\rename{ikon~wn}% +\def\listtablename{Kat'alogos p'inakwn}% +\def\indexname{P'inax perieqom'enwn}% +\def\figurename{E>ik'ona}% +\def\tablename{P'inax}% +\def\partname{M'eros}% +\def\enclname{>Es'wkleiston:}% +\def\enclnames{>Es'wkleista:}% +\def\ccname{Dianome~us:}% +\def\psname{U.G.:}% +\def\headtoname{Pr`os}% +\def\headpagename{Sel'ida}% +\def\arabicedname{>'ekdosis >arabik'h}% +\def\croatianedname{>'ekdosis kroatik'h}% +\def\czechedname{>'ekdosis tseqik'h}% +\def\danishedname{>'ekdosis danik'h}% +\def\dutchedname{>'ekdosis 'ekdosis >agglik'h}% +\def\esperantoedname{>'ekdosis >esper'anto}% +\def\finnishedname{>'ekdosis fillandik'h}% +\def\frenchedname{>'ekdosis gallik'h}% +\def\germanedname{>'ekdosis germanik'h}% +\def\greekedname{>'ekdosis 'ekdosis 'ekdosis 'ekdosis >italik'h}% +\def\maasaiedname{>'ekdosis maasai}% +\def\magyaredname{>'ekdosis o>uggrik'h}% +\def\norskedname{>'ekdosis norbhgik'h}% +\def\polishedname{>'ekdosis polwnik'h}% +\def\portugesedname{>'ekdosis portogallik'h}% +\def\romanianedname{>'ekdosis roumanik'h}% +\def\russianedname{>'ekdosis rwssik'h}% +\def\sloveneedname{>'ekdosis slobenik'h}% +\def\spanishedname{>'ekdosis 'ekdosis souhdik'h}% +\def\tamiledname{>'ekdosis t'amil}% +\def\turkishedname{>'ekdosis tourkik'h}} +\gdef\dategreek{% +\def\today{\ifnum\day=1\relax 1h\else + \number\day\fi \space\ifcase\month\or + >Ianouar'iou\or Febrouar'iou\or Mart'iou\or >April'iou\or Ma'iou\or + >Ioun'iou\or >Ioul'iou\or A>ugo'ustou\or Septembr'iou\or + >Oktwbr'iou\or Noembr'iou\or Dekembr'iou\fi + \space\number\year}} +\def\extrasgreek{\ifnum\the\sfcode`\.=\@m\frenchspacing\fi} +\let\regulargreek\rm% +\let\slantedgreek\sl% +\let\italicgreek\it% +\let\boldgreek\bf% +\let\smallcapsgreek\sc% +\def\noextrasgreek{} +%\@ifundefined{l@greek}{\adddialect\l@greek0}{} +\adddialect\l@greek\l@english +\let\noextrasgreek\noextrasenglish +\gdef\begingrk{\bgroup\family{greek}\selectfont% +\greektrue\greekmode\keybgreek% +\def\rm{\regulargreek}% +\def\sl{\slantedgreek}% +\def\it{\italicgreek}% +\def\bf{\boldgreek}% +\def\sc{\smallcapsgreek}% +\def\smc{\smallcapsgreek}% +} +\gdef\begingreek{\protect\begingrk} + +%\@bsphack\@ifundefined{l@greek}{\@nolanerr{greek}}% +% {\language=\csname l@greek\endcsname\relax +% \l@nguage=\csname l@greek\endcsname\relax +% \originalTeX +% \csname captionsgreek\endcsname +% \csname dategreek\endcsname +% \csname extrasgreek\endcsname +% \def\originalTeX{\csname noextrasgreek\endcsname}% +% \@esphack}% +%\family{greek}\selectfont\ifx\keybgreek\undefined\relax\else\keybgreek\fi + +\catcode`\@=\atcatcode \let\atcatcode\relax +\begingreek +\endinput +%% +%% End of file `greek.tex'. diff --git a/obsolete/macros/latex209/contrib/ml/ibmkbd.sty b/obsolete/macros/latex209/contrib/ml/ibmkbd.sty new file mode 100644 index 0000000000..c78820fba7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/ibmkbd.sty @@ -0,0 +1,315 @@ +\typeout{The extended characters used with this style + correspond with ASCII.TCP.} +\newif\ifgreek +\newif\ifdots\dotstrue +\def\adddialect#1#2{% + \global\chardef#1#2 + \wlog{\string#1 = a dialect from \string\language#2}} +\def\ifnextchar#1#2#3{\let\tempe #1\def\tempa{#2}\def\tempb{#3}\futurelet + \tempc\ifnch} +\def\ifnch{\ifx\tempc\tempe\let\tempd\tempa\else\let\tempd\tempb\fi\tempd} +\ifx\iflanguage\undefined\def\iflanguage#1#2#3{#3}\fi +\def\root#1{\ifmmode\sqrt#1\else\begin{math}\sqrt#1\end{math}\fi} +\def\asciicxxviii{\iflanguage{russian}A{\c{C}}} % 128 € +\def\asciicxxix{\iflanguage{russian}B{\"u}} % 129 +\def\asciicxxx{\iflanguage{russian}V\eac} % 130 ‚ +\def\asciicxxxi{\iflanguage{russian}G\ahat} % 131 ƒ +\def\asciicxxxii{\iflanguage{russian}D{\"a}} % 132 „ +\def\asciicxxxiii{\iflanguage{russian}E\agr} % 133 … +\def\asciicxxxiv{\iflanguage{russian}{\Z }{\aa }} % 134 † +\def\asciicxxxv{\iflanguage{russian}Z{\c{c}}} % 135 ‡ +\def\asciicxxxvi{\iflanguage{russian}I\ehat} % 136 ˆ +\def\asciicxxxvii{\iflanguage{russian}J{\"e}} % 137 ‰ +\def\asciicxxxviii{\iflanguage{russian}K\egr} % 138 Š +\def\asciicxxxix{\iflanguage{russian}L\idots} % 139 ‹ +\def\asciicxl{\iflanguage{russian}M\ihat} % 140 Œ +\def\asciicxli{\iflanguage{russian}N\igr} % 141 +\def\asciicxlii{\iflanguage{russian}O{\"A}} % 142 Ž +\def\asciicxliii{\iflanguage{russian}P\AA } % 143 +\def\asciicxliv{\iflanguage{russian}R\'E} % 144 +\def\asciicxlv{\iflanguage{russian}S{\ae }} % 145 ‘ +\def\asciicxlvi{\iflanguage{russian}T{\AE }} % 146 ’ +\def\asciicxlvii{\iflanguage{russian}U\ohat} % 147 “ +\def\asciicxlviii{\iflanguage{russian}F{\"o}} % 148 ” +\def\asciicxlix{\iflanguage{russian}H\ogr} % 149 • +\def\asciicl{\iflanguage{russian}C\uhat} % 150 – +\def\asciicli{\iflanguage{russian}{\Cz}\ugr} % 151 — +\def\asciiclii{\iflanguage{russian}{\S}{\allowhyphens + i\kern-0.06pt j\allowhyphens}} % 152 ˜ +\def\asciicliii{\iflanguage{russian}{\Scz}{\"O}} % 153 ™ +\def\asciicliv{\iflanguage{russian}{\tz}{\"U}} % 154 š +\def\asciiclvi{\iflanguage{russian}{\mz}{\pounds }} % 156 œ +\def\asciiclviii{\iflanguage{russian}{\Ju}{}} % 158 ž +\def\asciiclix{\iflanguage{russian}{\Ja}{{\it f\,}}} % 159 Ÿ +\def\asciiclx{\iflanguage{russian}a\aac} % 160   +\def\asciiclxi{\iflanguage{russian}b\iac} % 161 ¡ +\def\asciiclxii{\iflanguage{russian}v\oac} % 162 ¢ +\def\asciiclxiii{\iflanguage{russian}g\uac} % 163 £ +\def\asciiclxiv{\iflanguage{russian}d\ntilde} % 164 ¤ +\def\asciiclxv{\iflanguage{russian}e\~N} % 165 ¥ +\def\asciiclxvi{\iflanguage{russian}{\z}{}} % 166 ¦ +\def\asciiclxviii{\iflanguage{russian}i{?`}} % 168 ¨ +\def\asciiclxx + {\iflanguage{russian}k{\ifmmode\neg\else{\begin{math}\neg\end{math}}\fi{}}} +% 170 ª +\def\asciiclxxi{\iflanguage{russian}{l} + \ifmmode{\frac{1}{2}}\else{\begin{math}\frac{1}{2}\end{math}}\fi{}} % 171 « +\def\asciiclxxii{\iflanguage{russian}{m} + \ifmmode{\frac{1}{4}}\else{\begin{math}\frac{1}{4}\end{math}}\fi{}} % 172 ¬ +\def\asciiclxxiii{\iflanguage{russian}n{!`}} % 173 ­ +\def\asciiclxxiv{\iflanguage{russian}o\leftquotes } % 174 ® +\def\asciiclxxv{\iflanguage{russian}p\rightquotes } % 175 ¯ +\def\asciiclxxix{\,/\,\allowhyphens} % 179 ³ +\def\asciiclxxxvi{\ifmmode\|\else{\begin{math}\|\end{math}}\fi{}} % 186 º +\def\asciicxci{\iflanguage{russian}{\leftquotes }{\rceil }} % 191 ¿ +\def\asciicxcii{\iflanguage{russian}{\rightquotes }{\lfloor }} % 192 À +\def\asciicxciii{\ifmmode\bot\else{\begin{math}\bot\end{math}}\fi{}} % 193 Á +\def\asciicxciv{\ifmmode\top\else{\begin{math}\top\end{math}}\fi{}} % 194  +\def\asciicxcvi#1 {\mbox{\dashes#1}{ }} % 196 Ä +\def\asciicxcvii{\dag } % 197 Å +\def\asciicxcviii{\ifmmode\models\else{\begin{math}\models\end{math}}\fi{}} % 198 Æ +\def\asciiccxvi{\ddag } % 216 Ø +\def\asciiccxvii{\rfloor } % 217 Ù +\def\asciiccxviii{\lceil } % 218 Ú +\def\asciiccxxi{\discretionary{-}{}{\kern.03em}} % Ý +\def\asciiccxxiv{\ifgreek{a}\else\iflanguage{russian}{r} + {\ifmmode\alpha\else{\begin{math}\alpha\end{math}}\fi}\fi{}} % 224 à +\def\asciiccxxv{\ifgreek{b}\else\iflanguage{russian}s\ss{}\fi{}} % 225 á +\def\asciiccxxvi{\ifgreek{G}\else\iflanguage{russian}{t} + {\ifmmode\Gamma\else{\begin{math}\Gamma\end{math}}\fi}\fi{}}% 226 â +\def\asciiccxxvii{\ifgreek{p}\else\iflanguage{russian}{u} + {\ifmmode\pi\else{\begin{math}\pi\end{math}}\fi}\fi{}} % 227 ã +\def\asciiccxxviii{\ifgreek{S}\else\iflanguage{russian}{v} + {\ifmmode\Sigma\else{\begin{math}\Sigma\end{math}}\fi}\fi{}} % 228 ä +\def\asciiccxxix{\ifgreek{s}\else\iflanguage{russian}{h} + {\ifmmode\sigma\else{\begin{math}\sigma\end{math}}\fi}\fi{}} % 229 å +\def\asciiccxxx{\ifgreek{m}\else\iflanguage{russian}{c} + {\ifmmode\mu\else{\begin{math}\mu\end{math}}\fi}\fi{}} % 230 æ +\def\asciiccxxxi{\ifgreek{g}\else\iflanguage{russian}{\cz} + {\ifmmode\gamma\else{\begin{math}\gamma\end{math}}\fi}\fi{}} % 231 ç +\def\asciiccxxxii{\ifgreek{F}\else\iflanguage{russian}{\s} + {\ifmmode\Phi\else{\begin{math}\Phi\end{math}}\fi}\fi{}} % 231 è +\def\asciiccxxxiii{\ifgreek{j}\else\iflanguage{russian}{\scz} + {\ifmmode\theta\else{\begin{math}\theta\end{math}}\fi}\fi{}} % 233 é +\def\asciiccxxxiv{\ifgreek{W}\else\iflanguage{russian}{\Tz} + {\ifmmode\Omega\else{\begin{math}\Omega\end{math}}\fi}\fi{}} % 234 ê +\def\asciiccxxxv{\ifgreek{d}\else\iflanguage{russian}{y} + {\ifmmode\delta\else{\begin{math}\delta\end{math}}\fi}\fi{}} % 235 ë +\def\asciiccxxxvi{\iflanguage{russian}{\Mz} + {\ifmmode\infty\else{\begin{math}\infty\end{math}}\fi{}}} % 236 ì +\def\asciiccxxxvii{\iflanguage{russian}z{\o }} % 237 í +\def\asciiccxxxviii{\ifgreek{e}\else\iflanguage{russian}{\ju} + {\ifmmode\varepsilon\else{\begin{math}\varepsilon\end{math}}\fi}\fi{}} +% 238 î +\def\asciiccxxxix{\iflanguage{russian}{\ja} +{\ifmmode\bigcap\else{\begin{math}\bigcap\end{math}}\fi{}}} % 239 ï +\def\asciiccxl{\ifmmode\equiv\else{\begin{math}\equiv\end{math}}\fi{}} % 240 ð +\def\asciiccxli{\iflanguage{russian}{"e} + {\ifmmode\pm\else{\begin{math}\pm\end{math}}\fi{}}} % 241 ñ +\def\asciiccxlii{\iflanguage{russian} + {\ifmmode^{2}\else{\begin{math}^{2}\end{math}}\fi{}} + {\ifmmode\geq\else{\begin{math}\geq\end{math}}\fi{}}} % 242 ò +\def\asciiccxliii{\iflanguage{russian}{\footnote} + {\ifmmode\leq\else{\begin{math}\leq\end{math}}\fi{}}} % 243 ó +\def\asciiccxlvi{\ifmmode\div\else{\begin{math}\div\end{math}}\fi{}} % 246 ö +\def\asciiccxlvii{\ifmmode\approx\else{\begin{math}\approx\end{math}}\fi{}} % 247 ÷ +\def\asciiccxlviii{\ifmmode{^0}\else{\begin{math}^0\end{math}}\fi{}} % 248 ø +\def\asciiccxlix{\pel} % 249 ù +\def\asciiccla{\ifdots\hbox\bgroup\fi%\else\unskip\penalty-301\fi + \ifnextchar\asciiccl{\ifmmode\mathinner{\ldotp\,} + \else\begin{math}\mathinner{\ldotp\,}\end{math}\fi\dotsfalse} + {\ifmmode\mathinner{\ldotp\,} + \else\begin{math}\mathinner{\ldotp\,}\end{math}\fi\egroup\dotstrue}} +\def\asciiccl{\protect\asciiccla} % +%\@ifnextcharú{\ifmmode\ldotp\,\else +% \begin{math}\ldotp\,\end{math}\fi\linebreak} +% {\ifmmode\ldotp\,\else +% \begin{math}\ldotp\,\end{math}\fi\nolinebreak} +% % 250 ú +\def\asciiccli{\root} % û +\def\asciicclii{\footnote} % ü +\def\asciiccliii{\ifmmode{^2}\else{\begin{math}^2\end{math}}\fi} +\def\asciiccliv{\item } % þ +\gdef\agr{\`{a}} +\gdef\egr{\`{e}} +\gdef\igr{\`{\i}} +\gdef\ogr{\`{o}} +\gdef\ugr{\`{u}} +\gdef\aac{\'{a}} +\gdef\eac{\'{e}} +\gdef\iac{\'{\i}} +\gdef\oac{\'{o}} +\gdef\uac{\'{u}} +\gdef\ahat{\^{a}} +\gdef\ehat{\^{e}} +\gdef\ihat{\^{\i}} +\gdef\ohat{\^{o}} +\gdef\uhat{\^{u}} +\catcode`\"\active +\gdef\idots{"i} +\catcode`\"12 +\gdef\ntilde{\~{n}} +\gdef\E{\relax} +\gdef\e{\relax} +\gdef\S{\relax} +\gdef\s{\relax} +\gdef\Z{\relax} +\gdef\z{\relax} +\gdef\Ja{\relax} +\gdef\ja{\relax} +\gdef\Ju{\relax} +\gdef\ju{\relax} +\gdef\Cz{\relax} +\gdef\cz{\relax} +\gdef\Mz{\relax} +\gdef\mz{\relax} +\gdef\Tz{\relax} +\gdef\tz{\relax} +\gdef\Scz{\relax} +\gdef\scz{\relax} +\catcode\lq\'=11 +\catcode\lq\`=11 +\catcode\lq\~=11 +\lccode\lq\'=\lq\'% +\lccode\lq\`=\lq\`% +\lccode\lq\~=\lq\~% +\def\gobble#1{} +\def\keybgreek{\ifx‚\undefined% +\typeout{Warning: Be sure your TeX version uses ascii.tcp^^J +\@spaces\@spaces +or do not use an extended keyboard!}\fi% +\def\eac{'e}% +\def\ahat{~a}% +\def\agr{`a}% +\def\ehat{~e}% +\def\egr{`e}% +\def\ogr{`o}% +\def\ihat{~i}% +\def\igr{`i}% +\def\ohat{~o}% +\def\uhat{~u}% +\def\ugr{`u}% +\def\aac{'a}% +\def\iac{'i}% +\def\oac{'o}% +\def\uac{'u}% +\def\ntilde{~h}% +\def\asciiccxxxvi{~w}% +} +\catcode\lq\'=12 +\catcode\lq\`=12 +\catcode\lq\~=13 +\lccode\lq\'=\lq\'% +\lccode\lq\`=\lq\`% +\lccode\lq\~=\lq\~% +\newcount\vwl +\newcount\acct +\def\lt{<} +\def\gt{>} +{% +\catcode\lq\<=13% +\catcode\lq\>=13% +\catcode\lq\~=11% +\catcode\lq\"=11% +\catcode\lq\|=11% +\catcode\lq\'=13% +\catcode\lq\`=13% +\lccode\lq\>=\lq\>% +\lccode\lq\<=\lq\<% +\lccode\lq\~=\lq\~% +\lccode\lq\"=\lq\"% +\lccode\lq\|=\lq\|% +\lccode\lq\'=\lq\'% +\lccode\lq\`=\lq\`% + \gdef'{\ifnextchar `{\expandafter\smoothgrave\gobble}% + {\ifnextchar ~{\expandafter\smoothcircumflex\gobble}% + {\ifnextchar '{\expandafter\accent\rq136\gobble}% + {\ifnextchar\asciiclx{\expandafter\aaclenis\gobble}% + {\ifnextchar\asciicxxx{\expandafter\eaclenis\gobble}% + {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}% + {\ifnextchar\asciiclxii{\expandafter\oaclenis\gobble}% + {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}% + {\ifnextchar\asciicxxxiii{\expandafter\agrlenis\gobble}% + {\ifnextchar\asciicxxxviii{\expandafter\egrlenis\gobble}% + {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}% + {\ifnextchar\asciicxlix{\expandafter\ogrlenis\gobble}% + {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}% + {\char\lq\'}}}}}}}}}}}}}} + \gdef`{\ifnextchar `{\expandafter\roughgrave\gobble}% + {\ifnextchar ~{\expandafter\roughcircumflex\gobble}% + {\ifnextchar '{\expandafter\accent\rq126\gobble}% + {\ifnextchar\asciiclx{\expandafter\aacasper\gobble}% + {\ifnextchar\asciicxxx{\expandafter\eacasper\gobble}% + {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}% + {\ifnextchar\asciiclxii{\expandafter\oacasper\gobble}% + {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}% + {\ifnextchar\asciicxxxiii{\expandafter\agrasper\gobble}% + {\ifnextchar\asciicxxxviii{\expandafter\egrasper\gobble}% + {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}% + {\ifnextchar\asciicxlix{\expandafter\ograsper\gobble}% + {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}% + {\char\lq\`}}}}}}}}}}}}}} + \gdef>{\ifnextchar `{\expandafter\smoothgrave\gobble}% + {\ifnextchar ~{\expandafter\smoothcircumflex\gobble}% + {\ifnextchar '{\expandafter\accent\rq136\gobble}% + {\ifnextchar\asciiclx{\expandafter\aaclenis\gobble}% + {\ifnextchar\asciicxxx{\expandafter\eaclenis\gobble}% + {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}% + {\ifnextchar\asciiclxii{\expandafter\oaclenis\gobble}% + {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}% + {\ifnextchar\asciicxxxiii{\expandafter\agrlenis\gobble}% + {\ifnextchar\asciicxxxviii{\expandafter\egrlenis\gobble}% + {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}% + {\ifnextchar\asciicxlix{\expandafter\ogrlenis\gobble}% + {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}% + {\char\lq\>}}}}}}}}}}}}}} + \gdef\aaclenis{\accent\rq136 a\relax} + \gdef\eaclenis{\accent\rq136 e\relax} + \gdef\iaclenis{\accent\rq136 i\relax} + \gdef\oaclenis{\accent\rq136 o\relax} + \gdef\uaclenis{\accent\rq136 u\relax} + \gdef\agrlenis{\accent\rq137 a\relax} + \gdef\egrlenis{\accent\rq137 e\relax} + \gdef\igrlenis{\accent\rq137 i\relax} + \gdef\ogrlenis{\accent\rq137 o\relax} + \gdef\ugrlenis{\accent\rq137 u\relax} + \gdef<{\ifnextchar `{\expandafter\roughgrave\gobble}% + {\ifnextchar ~{\expandafter\roughcircumflex\gobble}% + {\ifnextchar '{\expandafter\accent\rq126\gobble}% + {\ifnextchar\asciiclx{\expandafter\aacasper\gobble}% + {\ifnextchar\asciicxxx{\expandafter\eacasper\gobble}% + {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}% + {\ifnextchar\asciiclxii{\expandafter\oacasper\gobble}% + {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}% + {\ifnextchar\asciicxxxiii{\expandafter\agrasper\gobble}% + {\ifnextchar\asciicxxxviii{\expandafter\egrasper\gobble}% + {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}% + {\ifnextchar\asciicxlix{\expandafter\ograsper\gobble}% + {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}% + {\char\lq\<}}}}}}}}}}}}}} + \gdef\aacasper{\accent\rq126 a\relax} + \gdef\eacasper{\accent\rq126 e\relax} + \gdef\iacasper{\accent\rq126 i\relax} + \gdef\oacasper{\accent\rq126 o\relax} + \gdef\uacasper{\accent\rq126 u\relax} + \gdef\agrasper{\accent\rq103 a\relax} + \gdef\egrasper{\accent\rq103 e\relax} + \gdef\igrasper{\accent\rq103 i\relax} + \gdef\ograsper{\accent\rq103 o\relax} + \gdef\ugrasper{\accent\rq103 u\relax} + \gdef\smoothgrave#1{\acct=\rq137 \vwl=\lq#1 \dobreathinggrave} + \gdef\roughgrave#1{\acct=\rq103 \vwl=\lq#1 \dobreathinggrave} + \gdef\dobreathinggrave{\ifnum\vwl\lt\rq133%40 %if uppercase + \ifnum\vwl\gt\rq100% + \char\the\acct\char\the\vwl\else\expandafter\testiota\fi\fi} + \gdef\smoothcircumflex#1{\acct=\rq134 \vwl=\lq#1 \dobreathingcircumflex} + \gdef\roughcircumflex#1{\acct=\rq100 \vwl=\lq#1 \dobreathingcircumflex} + \gdef\dobreathingcircumflex{\ifnum\vwl\lt\rq140 %if uppercase + \char\the\acct\kern -.2em\char\the\vwl\else + \doaccent\fi} + \gdef\doaccent{\accent\the\acct \char\the\vwl\relax} + \gdef\testiota{\ifnextchar |{\addiota\doaccent\gobble}{\doaccent}} + \gdef\addiota{\ifnum\vwl=\lq a\vwl=\rq370% + \else\ifnum\vwl=\lq h\vwl=\rq371 \else\vwl=\rq372 \fi\fi} + \gdef\doaccent{\accent\the\acct \char\the\vwl\relax} +} diff --git a/obsolete/macros/latex209/contrib/ml/ipa.sty b/obsolete/macros/latex209/contrib/ml/ipa.sty new file mode 100644 index 0000000000..67329c5aa6 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/ipa.sty @@ -0,0 +1,294 @@ +%% +%% This is file `ipa.sty' + +\def\fileversion{v1.2} +\def\filedate{93/1/20} + +\typeout{Style Option: `ipa' + \fileversion\space <\filedate>} +\@ifundefined{selectfont} + {\@latexerr{`ipa' style option could only be used + with the new font selection scheme}\@eha + \endinput}{} +\new@fontshape{ipa}{m}{n}{% + <5>wsuipa8 at5pt% + <6>wsuipa8 at5.6pt% + <7>wsuipa8 at7pt% + <8>wsuipa8% + <9>wsuipa9% + <10>wsuipa10% + <11>wsuipa11% + <12>wsuipa12% + <14>wsuipa10 at14.4pt% + <17>wsuipa17% + <20>wsuipa12 at20.74pt% + <25>wsuipa12 at24.88pt}{}% +\new@fontshape{ipa}{m}{sl}{% + <5>wslipa8 at5pt% + <6>wslipa8 at5.6pt% + <7>wslipa8 at7pt% + <8>wslipa8% + <9>wslipa9% + <10>wslipa10% + <11>wslipa11% + <12>wslipa12% + <14>wslipa10 at14.4pt% + <17>wslipa17% + <20>wslipa12 at20.74pt% + <25>wslipa12 at24.88pt}{}% +\new@fontshape{ipa}{bx}{n}{% + <5>wbxipa8 at5pt% + <6>wbxipa8 at5.6pt% + <7>wbxipa8 at7pt% + <8>wbxipa8% + <9>wbxipa9% + <10>wbxipa10% + <11>wbxipa11% + <12>wbxipa12% + <14>wbxipa10 at14.4pt% + <17>wbxipa17% + <20>wbxipa12 at20.74pt% + <25>wbxipa12 at24.88pt}{}% +\extra@def{ipa}{}{} + +\def\graffiti{\protect\pgraffiti} +\def\pgraffiti{\family{ipa}\series{c}\shape{sl}\size{9}{10pt}\selectfont} +\def\@makefnmark{\raise 1ex\hbox{\scriptsize\@thefnmark}} + +\gdef\ipa#1{{\protect\family{ipa}\protect\selectfont#1}} % \ipa redefined + +%% The following macro is necessary to place an accent over the +%% character definitions below. For example, you should say: +%% \diatop[\^|\openo] +%% + +\def\diatop[#1|#2]{{\setbox1=\hbox{{#1{}}}\setbox2=\hbox{{#2{}}}% + \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi% + \dimen1=\ht2\advance\dimen1by-1ex% + \setbox1=\hbox to1\dimen0{\hss#1\hss}% + \rlap{\raise1\dimen1\box1}% + \hbox to1\dimen0{\hss#2\hss}}}% + +%% As an alternative, you could uncomment the following two lines: +%% +%% \catcode`"=\active +%% \def"#1#2{\diatop[#1|#2]} +%% +%% And then you could place an accent over the ipa character by +%% calling the macro " which itself calls \diatop. For example, you +%% would say: +%% +%% "\^\openo + +%% THE FOLLOWING macros access the IPA chars from the WSU IPA font + +%% A-type shapes: +\def\inva{{\ipa{\char'000}}}% +\def\scripta{{\ipa{\char'001}}}% +\def\nialpha{{\ipa{\char'002}}}% +\def\invscripta{{\ipa{\char'003}}}% +\def\invv{{\ipa{\char'004}}}% + +%% B-type shapes: +\def\crossb{{\ipa{\char'005}}}% +\def\barb{{\ipa{\char'006}}}% +\def\slashb{{\ipa{\char'007}}}% +\def\hookb{{\ipa{\char'010}}}% +\def\nibeta{{\ipa{\char'011}}}% + +%% C-type shapes: +\def\slashc{{\ipa{\char'012}}}% +\def\curlyc{{\ipa{\char'013}}}% +\def\clickc{{\ipa{\char'014}}}% + +%% D-type shapes: +\def\crossd{{\ipa{\char'015}}}% +\def\bard{{\ipa{\char'016}}}% +\def\slashd{{\ipa{\char'017}}}% +\def\hookd{{\ipa{\char'020}}}% +\def\taild{{\ipa{\char'021}}}% +\def\dz{{\ipa{\char'022}}}% +\def\eth{{\ipa{\char'023}}}% +\def\scd{{\ipa{\char'024}}}% + +%% E-type shapes: +\def\schwa{{\ipa{\char'025}}}% +\def\er{{\ipa{\char'026}}}% +\def\reve{{\ipa{\char'027}}}% +\def\niepsilon{{\ipa{\char'030}}}% +\def\revepsilon{{\ipa{\char'031}}}% +\def\hookrevepsilon{{\ipa{\char'032}}}% +\def\closedrevepsilon{{\ipa{\char'033}}}% + +%% G-type shapes: +\def\scriptg{{\ipa{\char'034}}}% +\def\hookg{{\ipa{\char'035}}}% +\def\scg{{\ipa{\char'036}}}% +\def\nigamma{{\ipa{\char'037}}}% +\def\ipagamma{{\ipa{\char'040}}}% +\def\babygamma{{\ipa{\char'041}}}% + +%% H-type shapes: +\def\hv{{\ipa{\char'042}}}% +\def\crossh{{\ipa{\char'043}}}% +\def\hookh{{\ipa{\char'044}}}% +\def\hookheng{{\ipa{\char'045}}}% +\def\invh{{\ipa{\char'046}}}% + +%% I-type shapes: +\def\bari{{\ipa{\char'047}}}% +\def\dlbari{{\ipa{\char'050}}}% ``dotless bar i'' +\def\niiota{{\ipa{\char'051}}}% +\def\sci{{\ipa{\char'052}}}% +\def\barsci{{\ipa{\char'053}}}% ``barred small cap i'' + +%% J-type shape: +\def\invf{{\ipa{\char'054}}}% + +%% L-type shapes: +\def\tildel{{\ipa{\char'055}}}% +\def\barl{{\ipa{\char'056}}}% +\def\latfric{{\ipa{\char'057}}}% +\def\taill{{\ipa{\char'060}}}% +\def\lz{{\ipa{\char'061}}}% +\def\nilambda{{\ipa{\char'062}}}% +\def\crossnilambda{{\ipa{\char'063}}}% + +%% M-type shapes: +\def\labdentalnas{{\ipa{\char'064}}}% +\def\invm{{\ipa{\char'065}}}% +\def\legm{{\ipa{\char'066}}}% + +%% N-type shapes: +\def\nj{{\ipa{\char'067}}}% +\def\eng{{\ipa{\char'070}}}% +\def\tailn{{\ipa{\char'071}}}% +\def\scn{{\ipa{\char'072}}}% + +%% O-type shapes: +\def\clickb{{\ipa{\char'073}}}% +\def\baro{{\ipa{\char'074}}}% +\def\openo{{\kern.05em\ipa{\char'075}\kern-.05em}}% +\def\niomega{{\ipa{\char'076}}}% +\def\closedniomega{{\ipa{\char'077}}}% +\def\oo{{\ipa{\char'100}}}% + +%% P-type shapes: +\def\barp{{\ipa{\char'101}}}% +\def\thorn{{\ipa{\char'102}}}% +\def\niphi{{\ipa{\char'103}}}% + +%% R-type shapes: +\def\flapr{{\ipa{\char'104}}}% +\def\legr{{\ipa{\char'105}}}% +\def\tailr{{\ipa{\char'106}}}% +\def\invr{{\ipa{\char'107}}}% +\def\tailinvr{{\ipa{\char'110}}}% +\def\invlegr{{\ipa{\char'111}}}% +\def\scr{{\ipa{\char'112}}}% +\def\invscr{{\ipa{\char'113}}}% + +%% S-type shapes: +\def\tails{{\ipa{\char'114}}}% +\def\esh{{\ipa{\char'115}}}% +\def\curlyesh{{\ipa{\char'116}}}% +\def\nisigma{{\ipa{\char'117}}}% + +%% T-type shapes: +\def\tailt{{\ipa{\char'120}\kern-.05em}}% +\def\tesh{{\ipa{\char'121}}}% +\def\clickt{{\ipa{\char'122}}}% +\def\nitheta{{\ipa{\char'123}}}% + +%% U-type shapes: +\def\baru{{\ipa{\char'124}}}% +\def\slashu{{\ipa{\char'125}}}% +\def\niupsilon{{\ipa{\char'126}}}% +\def\scu{{\ipa{\char'127}}}% +\def\barscu{{\ipa{\char'130}}}% + +%% V-type shape: +\def\scriptv{{\ipa{\char'131}}}% + +%% W-type shape: +\def\invw{{\ipa{\char'132}}}% + +%% X-type shape: +\def\nichi{{\ipa{\char'133}}}% + +%% Y-type shapes: +\def\invy{{\ipa{\char'134}}}% +\def\scy{{\ipa{\char'135}}}% + +%% Z-type shapes: +\def\curlyz{{\ipa{\char'136}}}% +\def\tailz{{\ipa{\char'137}}}% +\def\yogh{{\ipa{\char'140}}}% +\def\curlyyogh{{\ipa{\char'141}}}% + +%% ?-type shapes: +\def\glotstop{{\ipa{\char'142}}}% +\def\revglotstop{{\ipa{\char'143}}}% +\def\invglotstop{{\ipa{\char'144}}}% +\def\ejective{{\ipa{\char'145}}}% +\def\reveject{{\ipa{\char'146}}}% + +%% AND that should be it, as far as actual characters go. +%% +%% THE following is the set of diacritics. Please try to get +%% the 4 t-bars lined up above the 4 pointers, so you may +%% have to reshuffle things a bit. Not to worry too much. I +%% think the diacritics can be grouped more according to +%% shape, so comma-like things are together, etc. +%% + +\def\dental#1{\oalign{#1\crcr + \hidewidth{\ipa{\char'147}}\hidewidth}} + +\def\upt{{\ipa{\char'154}}}% These are IPA pointers +\def\downt{{\ipa{\char'155}}}% +\def\leftt{{\ipa{\char'156}}}% +\def\rightt{{\ipa{\char'157}}}% + + % These are American versions of t-bars +\def\upp{{\ipa{\char'164}}}% +\def\downp{{\ipa{\char'165}}}% +\def\leftp{{\ipa{\char'166}}}% +\def\rightp{{\ipa{\char'167}}}% + +\def\stress{{\ipa{\char'150}}}% primary stress +\def\secstress{{\ipa{\char'151}}}% secondary stress + +\def\syllabic{{\ipa{\char'152}}}% syllabic marker + +\def\corner{{\ipa{\char'153}}}% + + % American equivalent: raised dot +\def\halflength{{\ipa{\char'160}}}% + % American equivalent: colon +\def\length{{\ipa{\char'161}}}% + +\def\underdots{{\ipa{\char'162}}}% + + % ``reversed apostrophe'', p. 216 +\def\ain{{\ipa{\char'163}}}% + +\def\overring{{\ipa{\char'170}}}% +\def\underring{{\ipa{\char'171}}}% + +\def\open{{\ipa{\char'172}}}% + +\def\midtilde{{\ipa{\char'173}}}% +\def\undertilde{{\ipa{\char'174}}}% + +\def\underwedge{{\ipa{\char'175}}}% + +\def\polishhook{{\ipa{\char'176}}}% + +\def\underarch#1{\oalign{#1\crcr + \hidewidth{\ipa{\char'177}}\hidewidth}} + +%% AND that's it for the diacritics. + +\endinput +%% End of file `ipa.sty'. diff --git a/obsolete/macros/latex209/contrib/ml/logos.sty b/obsolete/macros/latex209/contrib/ml/logos.sty new file mode 100644 index 0000000000..be509486b7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/logos.sty @@ -0,0 +1,109 @@ +% File : logos.sty +% Author : Hans Stoks with ideas from Johannes Braams (JL_Braams@pttrnl.nl) +% Date : 8-apr-1991 +% Version: 1.0 +% Purpose: Defines a new version of the LaTeX-logo and others for use +% with the new font-selectionscheme by Mittelbach and Schoepf +% Works with LaTeX 2.09 with lfonts.new (FMi & RS) +% +% With the new fontselection it becomes possible to ask for the +% current size of the current font. Thus it becomes possible to +% select the letter A from a font two steps smaller than the current +% font instead of a \sc A. +% The advantage is that \LaTeX now also works with \it, \bf and the like. +% With 6-point we also chose 5-point for the letter a since no 4-point +% font is available. +%- +\ifx\logosloaded\undefined\let\logosloaded\relax\else\endinput\fi +\@ifundefined{selectfont}{\relax}{% +\new@fontshape{manual}{m}{n}{% + <5>manfnt at4.82pt% + <6>manfnt at5.79pt% + <7>manfnt at6.94pt% + <8>manfnt at8.33pt% + <9>manfnt at9pt% + <10>manfnt% + <11>manfnt at10.95pt% + <12>manfnt at12pt% + <14>manfnt at14.4pt% + <17>manfnt at17.28pt% + <20>manfnt at20.74pt + <25>manfnt at24.88pt% + <30>manfnt}{}% +\extra@def{manual}{}{} +\new@fontshape{dunhill}{m}{n}{% + <5>cmdunh10 at4.82pt% + <6>cmdunh10 at5.79pt% + <7>cmdunh10 at6.94pt% + <8>cmdunh10 at8.33pt% + <9>cmdunh10 at9pt% + <10>cmdunh10% + <11>cmdunh10 at10.95pt% + <12>cmdunh10 at12pt% + <14>cmdunh10 at14.4pt% + <17>cmdunh10 at17.28pt% + <20>cmdunh10 at20.74pt + <25>cmdunh10 at24.88pt% + <30>cmdunh10}{}% +\extra@def{dunhill}{}{} +\gdef\graffiti{\protect\pgraffiti} +\gdef\pgraffiti{\family{manual}\series{c}\shape{sl}\size{9}{10pt}\selectfont} +\gdef\@makefnmark{\raise 1ex\hbox{\scriptsize\@thefnmark}} +\gdef\smaller{\count0=\f@size\relax% +\ifnum\count0=6\size{5}{\baselineskip}\else% +\ifnum\count0=7\size{5}{\baselineskip}\else% +\ifnum\count0=8\size{6}{\baselineskip}\else% +\ifnum\count0=9\size{7}{\baselineskip}\else% +\ifnum\count0=10\size{8}{\baselineskip}\else% +\ifnum\count0=11\size{9}{\baselineskip}\else% +\ifnum\count0=12\size{10}{\baselineskip}\else% +\ifnum\count0=14\size{11}{\baselineskip}\else% +\ifnum\count0=17\size{12}{\baselineskip}\else% +\ifnum\count0=20\size{14}{\baselineskip}\else% +\ifnum\count0=25\size{17}{\baselineskip}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\selectfont}% +\newcount\mfc@unt +\gdef\Metafont{% +\mfc@unt=\f@size\relax% +\ifnum\mfc@unt=6\size{6}{\baselineskip}% +{\family{manual}\selectfont META\-FONT}\else% +\ifnum\mfc@unt=7\size{7}{\baselineskip}% +{\family{manual}\selectfont META\-FONT}\else% +\ifnum\mfc@unt=8\size{10}{\baselineskip}% +{\family{manual}\selectfont opqr\-stuq}\else% +\ifnum\mfc@unt=9\size{10}{\baselineskip}% +{\family{manual}\selectfont hijk\-lmnj}\else% +\ifnum\mfc@unt=10\size{10}{\baselineskip}% +{\family{manual}\selectfont META\-FONT}\else% +\ifnum\mfc@unt=11\size{11}{\baselineskip}% +{\family{manual}\selectfont META\-FONT}\else% +\ifnum\mfc@unt=12\size{12}{\baselineskip}% +{\family{manual}\selectfont META\-FONT}\else% +\ifnum\mfc@unt=14\size{14}{\baselineskip}% +{\family{manual}\selectfont META\-FONT}\else% +\ifnum\mfc@unt=17\size{17}{\baselineskip}% +{\family{manual}\selectfont META\-FONT}\else% +\ifnum\mfc@unt=20\size{20}{\baselineskip}% +{\family{manual}\selectfont META\-FONT}\else% +\ifnum\mfc@unt=25\size{25}{\baselineskip}% +{\family{manual}\selectfont META\-FONT}\else% +\ifnum\mfc@unt=30\size{10}{\baselineskip}% +{\family{manual}\selectfont{\vbox to30pt{}()*+,-.*}}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}}% +\let\metafont\MF +\let\latex\LaTeX +\gdef\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025emb}\kern-.08em\TeX}} +\gdef\LaTeX{\@ifundefined{selectfont}{\latex}{% +L\kern-.36em\raise.3ex\hbox{\protect\smaller A}\kern-.15em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} +\gdef\MF{\@ifundefined{selectfont}{{\small\sf META}\-{\small\sf FONT}}% + {\Metafont}}%{{\protect\smaller\sf META}\-{\protect\smaller\sf FONT}} +\gdef\WEB{{\tt WEB}}% +\gdef\STEGON{\@ifundefined{selectfont}% + {{\sf\small ST{\Large\rm\ital{\kern-.1em\t{}\kern-.1667em e}}GON}}% + {{\protect\smaller\sf +ST{\LARGE\rm\ital{\protect\smaller\kern-.1em\t{}\kern-.1667em e}}GON}}}% +\gdef\de_Volkskrant{\@ifundefined{selectfont}% + {de Volks\-krant}% + {{\family{dunhill}\selectfont\protect\smaller de Volks\-krant}}}% +\endinput diff --git a/obsolete/macros/latex209/contrib/ml/ltugboat.sty b/obsolete/macros/latex209/contrib/ml/ltugboat.sty new file mode 120000 index 0000000000..052eefff3e --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/ltugboat.sty @@ -0,0 +1 @@ +../../../../../macros/latex209/contrib/tugboat/ltugboat.sty \ No newline at end of file diff --git a/obsolete/macros/latex209/contrib/ml/minutes.sty b/obsolete/macros/latex209/contrib/ml/minutes.sty new file mode 100644 index 0000000000..9d3c1b14bb --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/minutes.sty @@ -0,0 +1,181 @@ +% This is MINUTES.STY in text format +% a style for generating minutes of a meeting +\def\fileversion{0.1}\def\filedate{16 sept 1994} +% Author: +% Hans Stoks +% u251006@vm.uci.kun.nl +\typeout{Document Style `Minutes'. Version <\fileversion>, <\filedate>} +\input a4.sty +\input outline.sty + +\def\@ptsize{1} +\@namedef{ds@10pt}{\def\@ptsize{0}} +\@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} +\@twosidefalse +\@options +\lineskip 1pt \normallineskip 1pt +\def\baselinestretch{1} +% separation between text en foot +\newdimen\footsep \footsep=1.5cm % like headsep +\advance\footskip by \footsep +\def\ps@empty{ + \def\@oddhead{}\def\@oddfoot{} + \def\@evenhead{}\def\@evenfoot{}} +\def\ps@plain{ + \def\@oddhead{}\def\@evenhead{} + \def\@oddfoot{\rm\hfil\thepage} + \let\@evenfoot=\@oddfoot} +\ifcase \@ptsize\relax\parindent15pt +\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt} +\def\small{\@setsize\small{11pt}\ixpt\@ixpt +\abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus 2pt} +\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt +\abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus +2pt} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\or\parindent17pt +\def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt +minus3pt} +\def\small{\@setsize\small{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt} +\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt +\abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 4pt plus 2pt minus +2pt} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\or\parindent1.5em +\def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt +\abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt +minus3pt} +\def\small{\@setsize\small{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt +minus3pt} +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{18pt}\xivpt\@xivpt} +\def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} +\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} +\def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} +\let\Huge=\huge +\fi +\normalsize +\def\topfraction{.7} +\def\bottomfraction{.3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} +\newdimen\@inspring +\newdimen\@restlijn +\@inspring=8em +\@restlijn=\textwidth +\advance \@restlijn by -\@inspring + +\gdef\title#1#2{% + \begin{flushleft} + {\Large\bf#1}\\ + {\it#2} + \end{flushleft} + \vspace{2\baselineskip}} + +\gdef\f@rstskip{\vspace{2\baselineskip}} +\gdef\pr@sent{\presentname} +\gdef\notpr@sent{\notpresentname} + +\def\present#1{\f@rstskip\par + \halign{\vtop{\hsize\@inspring\noindent##} & + \vtop{\hsize\@restlijn\noindent##} \cr \pr@sent & + #1\cr}\def\pr@sent{\hspace\@inspring}\let\f@rstskip\relax} + +\def\notpresent#1{\f@rstskip\par + \halign{\vtop{\hsize\@inspring\noindent##} & + \vtop{\hsize\@restlijn\noindent##} \cr \notpr@sent & + #1\cr}\def\notpr@sent{\hspace\@inspring}\let\f@rstskip\relax} + +\newcounter{agenda} +\def\theagenda{\arabic{agenda}} +\def\agendamark#1{} +%\def\l@agenda{} +\def\numberline#1{\noindent{#1. }} +\def\contentsline#1#2#3{#2\\} +\def\head#1{% + \vspace{0.5\baselineskip} + \item + \begin{flushleft} + {\large\bf#1} + \end{flushleft} + \vspace{0.2\baselineskip} + \parskip0.3\baselineskip} + +\def\l@agenda#1#2{\addpenalty{\@secpenalty}% good place for page break + \addvspace{1.0em plus\p@}% + \@tempdima 1.5em + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bf + \leavevmode + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par + \endgroup} +\setcounter{secnumdepth}{3} +\def\point{\@startsection{agenda}{1}{\z@}{-3.25ex + plus-1ex minus-.2ex}{1.5ex + plus.2ex}{\reset@font\normalsize\bf}} +\def\makeagenda{\point*\agendaname\@starttoc{toc}} +\def\opening{\point*\openname}%\addtocounter{agenda}{-1}} + +\def\signature#1{\def\fromsig{#1}}\def\fromsig{} + +\def\approval{\par\interlinepenalty200\parindent\z@\relax} + +\long\def\closing#1{\par\nobreak\vspace{\parskip} + \interlinepenalty\@M\noindent + \ifx\@empty\fromsig + \else\ignorespaces #1\signname + \vspace{6\medskipamount} + \halign{\vtop{\hsize\@inspring\noindent##} & + \vtop{\hsize\@restlijn\noindent##} \cr \hspace{\@inspring} & + \fromsig\cr} + \fi \par} + +\setoutlinesep{0.2\baselineskip} + +\parskip .7em plus .3em minus .2em +\topsep .4em \partopsep 0pt \itemsep .4em +\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 +\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty +-\@lowpenalty +\sloppy\ps@plain +\pagenumbering{arabic} \onecolumn \@fileswtrue +\ifx\undefined\presentname\def\presentname{Attendance}\fi +\ifx\undefined\notpresentname\def\notpresentname{Not Attended}\fi +\ifx\undefined\agendaname\def\agendaname{Agenda}\fi +\ifx\undefined\openname\def\openname{Opening}\fi +\ifx\undefined\signname\def\signname{Signed}\fi diff --git a/obsolete/macros/latex209/contrib/ml/ml.bib b/obsolete/macros/latex209/contrib/ml/ml.bib new file mode 100644 index 0000000000..f5e26a7c6a --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/ml.bib @@ -0,0 +1,454 @@ +@STRING{dutch = {\dutchedition}} +@STRING{english = {\englishedition}} +@STRING{french = {\frenchedition}} +@STRING{german = {\germanedition}} +@STRING{greek = {\greekedition}} +@STRING{maasai = {\maasaiedition}} +@STRING{russian = {\russianedition}} +@STRING{spanish = {\spanishedition}} +@STRING{swahili = {\swahiliedition}} + +@STRING{Alphen = + {\iflanguage{greek}{>'Alfen >`an d`e Ra~in} + {\iflanguage{russian}{Alfn v Rejne} + {Al\-phen aan de Rijn}}}} +@STRING{Amersfoort = + {\iflanguage{greek}{>'Amersfort} + {Amers\-foort}}} +@STRING{Amman = + {\iflanguage{greek}{>Amm'an} + {Amman}}} +@STRING{Amsterdam = + {\iflanguage{greek}{>Amsterd'am} + {Am\-ster\-dam}}} +@STRING{Assen = + {\iflanguage{greek}{>'Assen} + {As\-sen}}} +@STRING{Athens = + {\iflanguage{greek}{>Aj~hnai} + {\iflanguage{russian}{Afiny} + {\iflanguage{english}{Athens} + {\iflanguage{french}{Ath\`ene} + {\iflanguage{spanish}{Atenas} + {Athene}}}}}}} +@STRING{Auxerre = + {\iflanguage{greek}{>Wxa~ir} + {\iflanguage{russian}{Aukserre} + {Auxerre}}}} +@STRING{Baarn = + {\iflanguage{greek}{B'arnh} + {Baarn}}} +@STRING{Bale = + {\iflanguage{greek}{B~al} + {\iflanguage{russian}{Bal{\Mz}} + {\iflanguage{english}{Bale} + {B\^ale}}}}} +@STRING{Baltimore = + {\iflanguage{greek}{B'altimwr} + {Baltimore}}} +@STRING{Berlin = + {\iflanguage{greek}{Berol~ino} + {\iflanguage{dutch}{Berlijn} + {\iflanguage{spanish}{Berl\'{\i}n} + {Ber\-lin}}}}} +@STRING{Bern = + {\iflanguage{greek}{B'ernh} + {\iflanguage{french}{Berne} + {Bern}}}} +@STRING{Bloomington = + {\iflanguage{greek}{Blo'umigktwn} + {\iflanguage{russian}{Blumington} + {Bloomington}}}} +@STRING{Bonn = + {\iflanguage{greek}{B'onnh} + {Bonn}}} +@STRING{Bruges = + {\iflanguage{greek}{Br'ugh} + {\iflanguage{russian}{Br{\ju}ge} + {\iflanguage{dutch}{Brugge} + {\iflanguage{german}{Br\"ugge} + {\iflanguage{spanish}{Brujas} + {Bruges}}}}}}} +@STRING{Brunswick = + {\iflanguage{greek}{Br'aounsoueiq} + {\iflanguage{russian}{Braun{\s}veig} + {\iflanguage{dutch}{Brunswijk} + {\iflanguage{german}{Braunschweig} + {Brunswick}}}}}} +@STRING{Brussels = + {\iflanguage{greek}{Brux'ellai} + {\iflanguage{russian}{Br{\ju}ssel{\Mz}} + {\iflanguage{dutch}{Brussel} + {\iflanguage{english}{Brussels} + {\iflanguage{french}{Bruxelles} + {\iflanguage{german}{Br\"ussel} + {\iflanguage{spanish}{Bruselas}{}}}}}}}}} +@STRING{Bussum = + {\iflanguage{greek}{Bo'ussoum} + {Bus\-sum}}} +@STRING{Cambridge = + {\iflanguage{greek}{K'embrits} + {\iflanguage{russian}{Kembrid{\z}} + {Cambridge}}}} +@STRING{Caracas = + {\iflanguage{greek}{Kar'akas} + {\iflanguage{russian}{Karakas} + {Ca\-ra\-cas}}}} +@STRING{Chicago = + {\iflanguage{greek}{Sik'agon} + {\iflanguage{russian}{Cikago} + {\iflanguage{german}{Chikago} + {Chicago}}}}} +@STRING{Cologne = + {\iflanguage{greek}{Kol'wnia} + {\iflanguage{russian}{Keln{\Mz}} + {\iflanguage{dutch}{Keulen} + {\iflanguage{english}{Brussels} + {\iflanguage{french}{Bruxelles} + {\iflanguage{german}{K\"oln} + {\iflanguage{spanish}{Colonia} + {Cologne}}}}}}}}} +@STRING{Dakar = + {\iflanguage{greek}{D'akar} + {Dakar}}} +@STRING{Dar = + {\iflanguage{greek}{Dar es Salaam} + {\iflanguage{russian}{Dar es Salaam} + {Dar es Salaam}}}} +@STRING{Delft = + {\iflanguage{greek}{D'elft} + {Delft}}} +@STRING{Deventer = + {\iflanguage{greek}{D'ebenter} + {De\-ven\-ter}}} +@STRING{Diemen = + {\iflanguage{greek}{D'imen} + {\iflanguage{russian}{Dimn} + {Die\-men}}}} +@STRING{Dordrecht = + {\iflanguage{greek}{D'ordreqt} + {\iflanguage{russian}{Dordre{\ch}t} + {Dor\-drecht}}}} +@STRING{Evanston = + {\iflanguage{greek}{H>'uanston (>'illinois)} + {\iflanguage{russian}{Ivanston (Illinois)} + {Evanston (Illinois)}}}} +@STRING{Frankfurt = + {\iflanguage{greek}{Fragkfo'urth} + {\iflanguage{russian}{Frankfurt} + {Frank\-furt am Main}}}} +@STRING{Garden = + {\iflanguage{greek}{G'arden S'ith} + {\iflanguage{russian}{Gardn Siti{\ui}} + {Garden City}}}} +@STRING{Geneva = + {\iflanguage{greek}{Gen'euh} + {\iflanguage{russian}{{\Z}eneva} + {\iflanguage{english}{Geneva} + {\iflanguage{german}{Genf} + {\iflanguage{spanish}{Ginebra} + {Gen\`eve}}}}}}} +@STRING{Glencoe = + {\iflanguage{greek}{Gl'enkw (Illinois)} + {\iflanguage{russian}{Glenko (Illinois)} + {Glencoe (Illinois)}}}} +@STRING{Glueckstadt = + {\iflanguage{greek}{Gl'ukstadt} + {\iflanguage{russian}{Gl{\ju}kstadt} + {\iflanguage{german}{Gl\"uckstadt} + {Glueckstadt}}}}} +@STRING{Godesberg = + {\iflanguage{greek}{G'wdesberg} + {Go\-des\-berg}}} +@STRING{Goettingen = + {\iflanguage{greek}{Go~itiggen} + {\iflanguage{russian}{Getingn} + {\iflanguage{german}{G\"ottingen} + {Goettingen}}}}} +@STRING{Gorinchem = + {\iflanguage{greek}{G'orinqem} + {\iflanguage{russian}{Gorin{\kh}em} + {Gorinchem}}}} +@STRING{Goteborg = + {\iflanguage{greek}{Go~iteborg} + {\iflanguage{russian}{Geteborg} + {G\o{}teborg}}}} +@STRING{Groningen = + {\iflanguage{greek}{Gr'wniggen} + {Gro\-nin\-gen}}} +@STRING{Guetersloh = + {\iflanguage{greek}{G'uterslw} + {\iflanguage{russian}{G{\ju}trslo} + {\iflanguage{german}{G\"utersloh} + {Guetersloh}}}}} +@STRING{Haarlem = + {\iflanguage{greek}{Q'arlem} + {\iflanguage{russian}{{\Ch}arlm} + {\iflanguage{english}{Harlem (The Netherlands)} + {\iflanguage{french}{Harlem (Pays-Bas)} + {Haar\-lem}}}}}} +@STRING{Hague = + {\iflanguage{greek}{Q'agh} + {\iflanguage{russian}{Den {\Ch}ag} + {\iflanguage{french}{La Haye} + {\iflanguage{spanish}{La Haya} + {Den Haag}}}}}} +@STRING{Harmondsworth = + {\iflanguage{greek}{Q'armondsborj (M'iddlesex)} + {\iflanguage{russian}{{\Ch}armondsvyrf (Middleseks)} + {Harmondsworth (Middlesex)}}}} +@STRING{Heidelberg = + {\iflanguage{greek}{Qe~idelberg} + {\iflanguage{russian}{{\Ch}ejdlberg} + {Hei\-del\-berg}}}} +@STRING{Indiana = + {\iflanguage{greek}{O>uin'wna Leik, >Indi'ana} + {\iflanguage{russian}{Vinona Lejk, Indiana} + {Winona Lake, Indiana}}}} +@STRING{Italy = + {\iflanguage{dutch}{Itali\"e} + {\iflanguage{french}{L'Italie} + {\iflanguage{german}{Italien} + {\iflanguage{greek}{>Ital'ia} + {\iflanguage{spanish}{Italia} + {\iflanguage{russian}{Itali{\ya}} + {Italy}}}}}}}} +@STRING{Ithaca = + {\iflanguage{greek}{>Ij'akh} + {\iflanguage{russian}{Ifaka} + {Ithaca}}}} +@STRING{Kampen = + {\iflanguage{greek}{K'ampen} + {Kam\-pen}}} +@STRING{Kenya = + {\iflanguage{dutch}{Kenia} + {\iflanguage{german}{Kenia} + {\iflanguage{greek}{K'enia} + {Kenya}}}}} +@STRING{LA = + {\iflanguage{greek}{L`os >'Aggeles} + {Los Angeles}}} +@STRING{Leipzig = + {\iflanguage{greek}{La'iptsig} + {\iflanguage{russian}{Lejpcig} + {Leip\-zig}}}} +@STRING{Leyden = + {\iflanguage{greek}{Le'iden} + {\iflanguage{russian}{Lejdn} + {\iflanguage{french}{Leyde} + {\iflanguage{german}{Leyden} + {Lei\-den}}}}}} +@STRING{London = + {\iflanguage{greek}{Lond\'ino} + {\iflanguage{dutch}{Londen} + {\iflanguage{french}{Londres} + {\iflanguage{spanish}{Londres} + {London}}}}}} +@STRING{Louvain = + {\iflanguage{greek}{Loua~in} + {\iflanguage{russian}{Lyvn} + {\iflanguage{dutch}{Leuven} + {Louvain}}}}} +@STRING{Malden = + {\iflanguage{greek}{M'alden} + {Mal\-den}}} +@STRING{Manchester = + {\iflanguage{greek}{M'entsester} + {\iflanguage{russian}{Mencestr} + {Manchester}}}} +@STRING{Mannheim = + {\iflanguage{greek}{M'anqaim} + {\iflanguage{russian}{Man{\ch}aim} + {Mannheim}}}} +@STRING{Meppel = + {\iflanguage{greek}{M'epl} + {Mep\-pel}}} +@STRING{Metuchen = + {\iflanguage{greek}{Meto'utsen (N'ea 'Oxford} + {\iflanguage{russian}{Oksford} + {Oxford}}}} +@STRING{Pennsylvania = + {\iflanguage{greek}{Pensulu'enia} + {Pennsylvania}}} +@STRING{Paramaribo = + {\iflanguage{greek}{Param'aribw} + {Paramaribo}}} +@STRING{Paris = + {\iflanguage{greek}{Par'isi} + {\iflanguage{russian}{Pari{\z}} + {\iflanguage{dutch}{Par"ys} + {Paris}}}}} +@STRING{Pittsburgh = + {\iflanguage{greek}{P'ittsbourg} + {\iflanguage{russian}{Pittsburg} + {Pittsburgh}}}} +@STRING{Rome = + {\iflanguage{greek}{R'wmh} + {\iflanguage{russian}{Rim} + {\iflanguage{italian}{Roma} + {\iflanguage{spanish}{Roma} + {Rome}}}}}} +@STRING{Rotterdam = + {\iflanguage{greek}{Rotterd'am} + {Rot\-ter\-dam}}} +@STRING{Saarbruecken = + {\iflanguage{greek}{Zarbro'uken} + {\iflanguage{russian}{Zarbr{\ju}kn} + {\iflanguage{english}{Saar\-bruecken} + {Saarbr\"ucken}}}}} +@STRING{Sachsenmuehle = + {\iflanguage{greek}{Z'axenmule} + {\iflanguage{russian}{Zaksm{\ju}l{\Mz}} + {\iflanguage{english}{Sachsenmuehle} + {Sachsenm\"uhle}}}}} +@STRING{StFe = + {\iflanguage{greek}{S`anta F'e (N'eo Mexik'on)} + {\iflanguage{russian}{Santa F{\e} (N{\ju} Meksika)} + {\iflanguage{spanish}{Santa Fe (Neuvo Mexico)} + {Santa Fe (New Mexico)}}}}} +@STRING{Stuttgart = + {\iflanguage{greek}{Sto'uttgart} + {\iflanguage{russian}{{\S}tuttgart} + {Stuttgart}}}} +@STRING{Suriname = + {\iflanguage{greek}{S'uriname} + {Su\-ri\-na\-me}}} +@STRING{Tanzania = + {\iflanguage{french}{La Tanzanie} + {\iflanguage{german}{Tansania} + {\iflanguage{greek}{Tanzan'ia} + {Tanzania}}}}} +@STRING{Thessalonica = + {\iflanguage{greek}{Jessalon'ikh} + {\iflanguage{russian}{Fessaloniki} + {\iflanguage{french}{Thessalonique} + {Thessalonica}}}}} +@STRING{Tucson = + {\iflanguage{greek}{T'akson} + {\iflanguage{russian}{Takson} + {Tucson}}}} +@STRING{Utrecht = + {\iflanguage{greek}{O>'utreqt} + {\iflanguage{russian}{{\Ju}tre{\ch}t} + {\mbox{Utrecht}}}}} +@STRING{Vienna = + {\iflanguage{greek}{B'ienna} + {\iflanguage{russian}{Vena} + {\iflanguage{dutch}{Wenen} + {\iflanguage{french}{Vienne} + {\iflanguage{german}{Wien} + {\iflanguage{spanish}{Viena}{}}}}}}}} +@STRING{Wageningen = + {\iflanguage{greek}{O>u'ageniggen} + {\iflanguage{russian}{Vageningn} + {Wa\-ge\-nin\-gen}}}} +@STRING{Washington = + {\iflanguage{greek}{O>u'asigktwn} + {\iflanguage{russian}{Va{\s}ington} + {Washington}}}} +@STRING{Weisweil = + {\iflanguage{greek}{O>u'a"isoua"il} + {\iflanguage{russian}{Vajsvajl{\Mz}} + {Weis\-weil}}}} +@STRING{Wiesbaden = + {\iflanguage{greek}{O>u'ismbaden} + {\iflanguage{russian}{Visbadn} + {Wies\-ba\-den}}}} +@STRING{Wikor = + {\iflanguage{greek}{O>u'ikor} + {\iflanguage{russian}{Vikor} + {Wikor}}}} +@STRING{Yaunde = + {\iflanguage{greek}{I>ao~unde} + {\iflanguage{russian}{{\Ya}unde} + {Yaunde}}}} +@STRING{Zurich = + {\iflanguage{greek}{Zur'iqh} + {\iflanguage{russian}{{\Cz\ju}ri{\ch}} + {\iflanguage{french}{Zurich} + {Z\"u\-rich}}}}} +@STRING{Zutphen = + {\iflanguage{greek}{Z'utfen} + {\iflanguage{russian}{Z{\ju}tfn} + {Zutphen}}}} + +@STRING{Herodotus = + {\iflanguage{greek}{<'Hr'odotos} + {\iflanguage{russian}{{\Ch\e}rodotos} + {\iflanguage{german}{Herodot} + {Herodotus}}}}} +@STRING{Historiae = + {\iflanguage{greek}{ Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +% +%\iffalse +% +% ML DOCUMENT-STYLE option for LaTeX version 2.09 +% Copyright (C) 1993 by Hans Stoks, Malden, The Netherlands +% +% Please report errors to: J.W.H.M. Stoks +% U251006@VM.UCI.KUN.NL +%\fi +% +% \changes{ml~1.3}{20 febr 93}{Corrected some bugs} +% \changes{ml~1.9}{15 june 93}{Except for ml.sty renamed the sty files to +% be input to .tex} +% +% \DoNotIndex{\!,\',\,,\.,,\:,\;,\?,\/,\^,\`,\@M} +% \DoNotIndex{\@,\@ne,\@m,\@afterheading,\@date,\@endpart} +% \DoNotIndex{\@hangfrom,\@idxitem,\@makeschapterhead,\@mkboth} +% \DoNotIndex{\@oddfoot,\@oddhead,\@restonecolfalse,\@restonecoltrue} +% \DoNotIndex{\@starttoc,\@unused} +% \DoNotIndex{\accent,\active} +% \DoNotIndex{\addcontentsline,\advance,\Alph,\arabic} +% \DoNotIndex{\baselineskip,\begin,\begingroup,\bf,\box,\c@secnumdepth} +% \DoNotIndex{\catcode,\centering,\char,\chardef,\clubpenalty} +% \DoNotIndex{\columnsep,\columnseprule,\crcr,\csname} +% \DoNotIndex{\day,\def,\dimen,\discretionary,\divide,\dp,\do,\docdate} +% \DoNotIndex{\edef,\else,\empty,\end,\endgroup,\endcsname,\endinput} +% \DoNotIndex{\errhelp,\errmessage,\expandafter,\fi,\filedate} +% \DoNotIndex{\fileversion,\fmtname,\fnum@figure,\fnum@table,\fontdimen} +% \DoNotIndex{\gdef,\global} +% \DoNotIndex{\hbox,\hidewidth,\hfil,\hskip,\hspace,\ht,\Huge,\huge,\ialign} +% \DoNotIndex{\if@twocolumn,\ifcase,\ifcat,\ifhmode,\ifmmode,\ifnum} +% \DoNotIndex{\ifx,\immediate,\ignorespaces,\input,\item,\kern,\labelsep,\Large} +% \DoNotIndex{\large,\labelwidth,\lccode,\leftmargin,\leavevmode,\let} +% \DoNotIndex{\lineskip,\list,\ll,\long,\lower,\m@ne} +% \DoNotIndex{\mathchar,\mathaccent,\markboth,\month,\multiply} +% \DoNotIndex{\newblock,\newbox,\newcount,\newdimen,\newwrite} +%^^A\newif is defined \outer +% \DoNotIndex{\nobreak,\noexpand,\noindent,\null,\number} +% \DoNotIndex{\onecolumn,\or} +% \DoNotIndex{\p@,\parbox,\parindent,\parskip,\penalty,\protect,\ps@headings} +%^^A\par is defined \outer +% \DoNotIndex{\quotation,\raggedright,\raise,\refstepcounter,\relax,\rm,\setbox} +% \DoNotIndex{\section,\setcounter,\settowidth,\scriptscriptstyle} +% \DoNotIndex{\sfcode,\sl,\sloppy,\small,\space,\strut} +% \DoNotIndex{\textwidth,\thechapter,\thefigure,\thepage,\spacefactor,\string} +% \DoNotIndex{\the,\thepart,\thetable,\thispagestyle,\titlepage,\tracingmacros} +% \DoNotIndex{\tw@,\twocolumn,\typeout,\uppercase,\usecounter,\vbox,\vfil} +% \DoNotIndex{\vskip,\vspace,\vss,\widowpenalty,\write,\xdef,\year,\z@,\z@skip} +% +% +% \title {ML, a multilingual style-option system for use +% with \LaTeX's standard document styles\thanks{ +% I took this mainly from J.~Braam's babel.doc, since +% I wanted my ml to be compatible with his babel.}} +% +% \author{Hans Stoks} +% \address{Kroonsingel 36\\ +% 6581 BM Malden\\ +% The Netherlands} +% {\catcode`\"12 +% \netaddress{u251006@vm.uci.kun.nl} +% } +% \date{Printed \today} +% +% \maketitle +% +% \section{History} +% For a long time I have been struggling to make documents +% using different languages in the same document. +% When M.~Ferguson came up with his ml.tex and H.~Partl with his german.sty +% I started working at a styleoption which was mainly based on Partl's +% example. +% +% The first problem I faced (on my 8088 processor) was to input so many +% hyphenation patterns. I discovered that with only two pattern files, +% say one for american and one for continental hyphenation, +% I was able to hyphenate most modern languages correctly. I took +% the original hyphen.tex (ahyphen.tex) for american and the {\sc celex} +% patterns for continental hyphenation. However, I had to modify +% especially the {\sc celex} patterns to have them function also with german +% and french (for that reason I renamed the latter to euhyphen). +% +% Another thing I usually hate very much is to have to decide before +% beginning my document how many and which different languages I am going +% to use. So I made the call for the different languages automatic: +% I just say \verb=\dutch=, or \verb=\Dutch=, or \verb=\dutchTeX=, to +% switch to dutch (in fact these commands all input the file nl.sty). +% Then {\sf babel} came and for a long time I continued with my ml.sty +% (since it suited me well). However, I knew one day I just had to look at +% this style especially since it seems to me to be accepted widely. +% +% This new version of ml.sty is a modification to make it compatible +% with {\sf babel.} I designed it so that my old documents (and those of +% some beta testers whom I gave my style) do not have to be changed; +% i.e. the only style option requested is ml. I renamed the different +% style files to be input to .tex and modified them somewhat +% with ideas from the different style files coming with {\sf babel.} However, +% basically I wanted to keep my files since they do much more translating +% than J.~Braam's files. +% +% \section{The user interface} +% +% The user interface of this system of style options is quite simple. +% It consists of only two commands. These commands can be used to +% select another language or to find out what the current language is. +% +% \DescribeMacro\selectlanguage +% When a user wants to switch from one language to another he +% can do so using the macro \verb=\selectlanguage=. This macro +% takes the language, defined previously by a language-specific option, +% as its argument. It calls several macros that should be +% defined in the language-specific files to activate the special +% definitions for the language chosen. For compatibility with +% the original {\tt german.tex} (as much as possible) +% the synonym +% \verb=\setlanguage= is available, if it isn't already defined. +% And for compatibility with my older ml.sty the commands \verb=\dutch=, +% \verb=\Dutch=, or \verb=\dutchTeX=, \verb=\german=, \verb=\German=, or +% \verb=\germanTeX=, \verb=\french=, \verb=\French=, or \verb=\frenchTeX=, +% \verb=\english=, \verb=\English=, or \verb=\originalTeX= +% \verb=\russian=, \verb=\Russian=, or \verb=\cyrTeX=, and +% \verb=\greekTeX= still function in the same way they did. +% +% \DescribeMacro\iflanguage +% If more than one language is used it might be necessary to know +% which language is active at a specific time. This can be checked +% by a call to \verb=\iflanguage=. This macro takes three arguments. +% The first argument is the name of a language, +% the second and third arguments are the actions +% to take if the result of the test is {\tt true} or {\tt false} +% respectively. +% +%\StopEventually{% +% \clearpage +% \let\filename\thisfilename +% \clearpage +% \def\filename{index} +% \PrintIndex +% \clearpage +% \def\filename{changes} +% \PrintChanges +% \makesignature +% } +% +% \section{The implementation} +% +% The first thing to do is to write the current version of this +% file\footnote{The file described in this section is called +% {\tt \filename}, +% has version number~\fileversion, +% was last revised on~\filedate, +% while the documentation was last revised on~\docdate.}. +% \begin{macrocode} +\wlog{Style option `ml' version \fileversion\space <\filedate>} +\wlog{English documentation dated <\docdate>} +% \end{macrocode} +% +% We want to be compatible with the {\sf babel} system, so we first +% input babel.sty. +% \begin{macrocode} +\ifx\undefined\mdqon\relax\else\endinput\fi +\@ifundefined{iflanguage}{\input babel.sty\relax}{\relax} +\ifx\undefined\babel@core@loaded\input babel.com\fi +% \end{macrocode} +% +%\let\filename\thisfilename +% +% \subsection{Correcting and adding some LaTeX commands} +% +% Every now and then I find in my reader list a message concerning some +% correction on some LaTeX command. I use to collect them and keep them +% here in my ml style since I am using this style as my default anyway. +% +% \begin{macrocode} +\let\firstcolmark\relax +\def\@outputdblcol{\if@firstcolumn +\xdef\firstcolmark{\firstmark} +\global\@firstcolumnfalse + \global\setbox\@leftcolumn\box\@outputbox + \else \global\@firstcolumntrue + \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth + {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil + \hbox to\columnwidth{\box\@outputbox \hss}}}\@combinedblfloats + \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup + \fi} +\def\ps@right +{\let\@mkboth\markboth +\def\@oddfoot{}\def\@evenfoot{}\def\@evenhead{\rm \thepage\hfil \sl +\leftmark}\def\@oddhead{\hbox{}\sl \rightmark \hfil +\hbox to 0pt{\kern30pt \rm\thepage\hss} +}\def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection\hskip 1em\relax \fi ##1}}}} +% \end{macrocode} +% +% Correction on \verb=\tt_=: +% +% \begin{macrocode} +\let\typewriter\tt +\gdef\tt{\typewriter\def\_{\char95}} +% \end{macrocode} +% +% \subsubsection{Some useful definitions} +% +% I have done quite some nice things with H.~Partl's macros containing +% the double quote, not only while using german. So I already define +% \verb=\mdqon= and \verb=\mdqoff= right here +% +% \begin{macrocode} +\def\mdqon{\catcode`\"\active} +\def\mdqoff{\catcode`\"12} +% \end{macrocode} +% +% Now I would like to be able to switch to a lower trema in different +% languages\ldots +% +% \begin{macrocode} +\gdef\allowhyphens{\penalty\@M \hskip\z@skip} +\newcount\U@C\newbox\U@B\newdimen\U@D +\gdef\umlauthigh{\def\"{\protect{\accent127 ##1}}} +\gdef\umlautlow{\def\"{\protect\newumlaut}} +\gdef\newumlaut#1{\leavevmode\allowhyphens + \vbox{\baselineskip\z@skip \lineskip.25ex + \ialign{##\crcr\hidewidth + \setbox\U@B\hbox{#1}\U@D .01\p@\U@C\U@D + \U@D\ht\U@B\advance\U@D -1ex\divide\U@D \U@C + \U@C\U@D\U@D\the\fontdimen1\the\font + \multiply\U@D \U@C\divide\U@D 100\kern\U@D + \vbox to .20ex + {\hbox{\char127}\vss}\hidewidth\crcr#1\crcr}}\allowhyphens} +\gdef\@UMLAUT{\"} +\gdef\@MATHUMLAUT{\mathaccent"707F } +\gdef\@SS{\mathchar"7019 } +\gdef\dq{"} +\gdef\highumlaut#1{\leavevmode\allowhyphens% + \accent127 #1\allowhyphens}% +% \end{macrocode} +% +% I add the quotes to the definitions of dospecials and sanitize: +% +% \begin{macrocode} +\begingroup +\def\do{\noexpand\do\noexpand}% +\xdef\dospecials{\dospecials\do\"}% +\expandafter\ifx\csname @sanitize\endcsname\relax \else + \def\@makeother{\noexpand\@makeother\noexpand}% + \xdef\@sanitize{\@sanitize\@makeother\"}% +\fi +\endgroup +% \end{macrocode} +% +% and can now use the double quotes for fancy effects (I need a +% dieresis for use in a discretionary command and, for efficiency, +% I define a short macro for the most frequent characters used after +% the double quotes). +% +% \begin{macrocode} +{\mdqon +\gdef"{\protect\active@dq} +\gdef\dieresis{\"} +\gdef\active@dq#1{% + \ifx #1s\ifmmode\@SS\else\ss\fi{}% +\else\ifx #1a\ifmmode\@MATHUMLAUT a\else\@UMLAUT a\fi +\else\ifx #1o\ifmmode\@MATHUMLAUT o\else\@UMLAUT o\fi +\else\ifx #1u\ifmmode\@MATHUMLAUT u\else\@UMLAUT u\fi +\else\ifx #1A\ifmmode\@MATHUMLAUT A\else\@UMLAUT A\fi +\else\ifx #1O\ifmmode\@MATHUMLAUT O\else\@UMLAUT O\fi +\else\ifx #1U\ifmmode\@MATHUMLAUT U\else\@UMLAUT U\fi +\else\ifx #1`\leftquotes{}% +\else\ifx #1'\rightquotes{}% +\else\other@active@dq{#1}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi } +% now a separate command for the less frequent ones: +\gdef\other@active@dq#1{% + \ifx #1e\ifmmode\@MATHUMLAUT e\else\highumlaut e\fi +\else\ifx #1i\ifmmode\discretionary{-}{#1}{\@MATHUMLAUT i} + \else\discretionary{-}{#1}{\dieresis\i}\fi +\else\ifx #1j\ifmmode\discretionary{-}{#1}{\@MATHUMLAUT j} + \else\discretionary{-}{#1}{\dieresis\j}\fi +\else\ifx #1E\ifmmode\@MATHUMLAUT E\else\highumlaut E\fi +\else\ifx #1I\ifmmode\@MATHUMLAUT I\else\highumlaut I\fi +\else\ifx #1SSS% +\else\ifx #1-\allowhyphens\-\allowhyphens +\else\ifx #1"\hskip\z@skip\allowhyphens +\else\ifx #1|\discretionary{-}{}{\kern.03em}% +\else\ifx #1c\allowhyphens\discretionary{k-}{}{c}\allowhyphens +\else\ifx #1f\allowhyphens\discretionary{ff-}{}{f}\allowhyphens +\else\ifx #1k\allowhyphens\discretionary{k-}{}{}\allowhyphens %% Maasai +\else\ifx #1l\allowhyphens\discretionary{ll-}{}{l}\allowhyphens +\else\ifx #1m\allowhyphens\discretionary{mm-}{}{m}\allowhyphens +\else\ifx #1n\allowhyphens\discretionary{nn-}{}{n}\allowhyphens +\else\ifx #1p\allowhyphens\discretionary{pp-}{}{p}\allowhyphens +\else\ifx #1t\allowhyphens\discretionary{tt-}{}{t}\allowhyphens +\else\ifx #1C\allowhyphens\discretionary{K-}{}{C}\allowhyphens +\else\ifx #1F\allowhyphens\discretionary{FF-}{}{F}\allowhyphens +\else\ifx #1K\allowhyphens\discretionary{K-}{}{}\allowhyphens %% Maasai +\else\ifx #1L\allowhyphens\discretionary{LL-}{}{L}\allowhyphens +\else\ifx #1M\allowhyphens\discretionary{MM-}{}{M}\allowhyphens +\else\ifx #1N\allowhyphens\discretionary{NN-}{}{N}\allowhyphens +\else\ifx #1P\allowhyphens\discretionary{PP-}{}{Pp}\allowhyphens +\else\ifx #1T\allowhyphens\discretionary{TT-}{}{T}\allowhyphens +\else\ifx #1y\allowhyphens i\kern-0.06\p@ j\allowhyphens% +\else\ifx #1Y\allowhyphens I\kern-0.05\p@ J\allowhyphens% +\else\ifx #1<\flqq{}% +\else\ifx #1>\frqq{}% +\else \dq #1% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\fi\fi\fi\fi\fi\fi\fi\fi } +\gdef\at{{\char '100}} +\gdef\boi{{\tt\char '134}} +\gdef\circonflexe{{\char '136}} +\gdef\tild{{\char '176}} +\gdef\degre{{\char '27}} +\gdef\french@circumflex#1{{\accent'136\if#1i\i\else#1\fi}} +\gdef\french@dieresis#1{{\accent'177\if#1i\i\else#1\fi}} +\gdef\up#1{\raise 1ex\hbox{\small#1}} +\gdef\No{\kern-.25em\lower.2ex\hbox{\degre}} +\gdef\ieme{$^{\rm e }$\kern+.17em} +\gdef\FrenchEnumerate#1{$#1^{\rm o}$\kern+.29em} +\gdef\FrenchPopularEnumerate#1{#1\No\kern-.25em)\kern+.3em} +\gdef\primo{\FrenchEnumerate1} +\gdef\secundo{\FrenchEnumerate2} +\gdef\tertio{\FrenchEnumerate3} +\gdef\quatro{\FrenchEnumerate4} +\gdef\fprimo){\FrenchPopularEnumerate1} +\gdef\fsecundo){\FrenchPopularEnumerate2} +\gdef\ftertio){\FrenchPopularEnumerate3} +\gdef\fquatro){\FrenchPopularEnumerate4} +\gdef\flqq{\protect\@flqq} +\gdef\@flqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode \ll \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle \ll $}\fi \@SF\relax} +\gdef\frqq{\protect\@frqq} +\gdef\@frqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode \gg \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle \gg $}\fi \@SF\relax} +\gdef\flq{\protect\@flq} +\gdef\@flq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode < \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle < $}\fi \@SF\relax} +\gdef\frq{\protect\@frq} +\gdef\@frq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode > \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle > $}\fi \@SF\relax} +} +\gdef\ouvreguillemet{\leavevmode\hbox{\ly(\kern-0.13em(}\nobreak} +\gdef\fermeguillemet{\nobreak\leavevmode\hbox{\ly)\kern-0.13em)}} +% \end{macrocode} +% +% This is where I end having made quotes active (mdqon). Now +% I would like to add some more useful definitions to make the +% input of my files a little bit more convenient. +% +% To avoid having to make lots of italic corrections: +% +% \begin{macrocode} +\gdef\bold#1{{\bf#1\/}} +\gdef\emph#1{{\em#1\/}} +\gdef\ital#1{{\it#1\/}} +\gdef\slant#1{{\sl#1\/}} +% \end{macrocode} +% +% To prevent overfull hboxes with words containing (): +% +% \begin{macrocode} +\let\stopmath\) +\gdef\specialhyphen{% +\ifmmode\stopmath\else\allowhyphens\discretionary{-)}{}{-)}\allowhyphens\fi} +\def\){\protect\specialhyphen} +% \end{macrocode} +% +% For an underline in italic: +% +% \begin{macrocode} +\gdef\B#1{\kern-.0667em\b{\kern.1788em#1}} +% \end{macrocode} +% +% Some of the definitions I collected: +% +% \begin{macrocode} +\gdef\rref#1{\ref{#1}\begingroup + \def\x{#1}\edef\x{\expandafter\GetMeaning\meaning\x\MeaningEnd}% + \ref{\x}\marginpar{\verb^ \x ^}\endgroup} +\gdef\llabel#1{\label{#1}\begingroup + \def\x{#1}\edef\x{\expandafter\GetMeaning\meaning\x\MeaningEnd}% + \ref{\x}\marginpar{\verb^ \x ^}\endgroup} +\gdef\trademark{\raise 1ex\hbox{\ooalign{\hfil\raise.07ex\hbox{\sevenrm + R}\hfil\crcr\mathhexbox20D}}} +% \end{macrocode} +% +% For chemical formulas: +% +% \begin{macrocode} +\gdef\ch#1{$\textfont1=\the\font#1$} +% \end{macrocode} +% +% Finally there are some macros which I would like to incorporate but +% witch I leave out for the moment since they are not quite worked out yet. +% +% So I have been thinking of a definition for big initials or photos: +% +% \begin{verbatim} +% \def\photo#1#2{\hangindent#1\noindent\hangafter-#2} +% \def\initial#1#2#3 +% {\hangindent#1\noindent\hangafter-#2\smash{\lower#2\baselineskip\hbox +% to0pt{#3\hfill}}} +% \end{verbatim} +% +% Eventually I want to have something for generating grammar paradigms: +% +% \begin{verbatim} +% {\def\adjpar#1#2#3{ \begin{tabular}{rllll} +% & & Masc. & Fem. & Neut. \\ +% Sg. & Nom. & #1 & #2 & #3 \\ +% \adjpari } +% \def\adjpari#1#2#3{ & Gen. & #1 & #2 & #3 \\ \adjparii} +% \def\adjparii#1#2#3{ & Dat. & #1 & #2 & #3 \\ \adjpariii} +% \def\adjpariii#1#2#3{ & Acc. & #1 & #2 & #3 \\ \adjpariv} +% \def\adjpariv#1#2#3{ Pl. & Nom. & #1 & #2 & #3 \\ \adjparv} +% \def\adjparv#1#2#3{ & Gen. & #1 & #2 & #3 \\ \adjparvi} +% \def\adjparvi#1#2#3{ & Dat. & #1 & #2 & #3 \\ \adjparvii} +% \def\adjparvii#1#2#3{ & Acc. & #1 & #2 & #3 \end{tabular}}} +% \end{verbatim} +% +%\section{The actual ml style code} +% +% \subsection{My extra multilingual macros} +% +% Maybe David van Leeuwen's (DAVID@HLERUL59) `getallen' are useful: +% +% \begin{macrocode} +\newcount\ii\newcount\jj\newif\ifhyphen +\gdef\numb{\hyphenfalse\afterassignment\nul\ii=} +\gdef\num#1 #2 {\divide\jj by #1 \ifnum\jj>1 {\ii=\jj\getall}\fi + #2\multiply\jj by #1 \advance\ii by -\jj\getall} +\gdef\qm{\ifhyphen\-\else\global\hyphentrue\fi} +\gdef\s#1 {\showhyphens{\numb#1}} +\newcount\n\newcount\m +\n=0 +\m=1 +% \end{macrocode} +% +% Some (school) books have exercises\ldots +% +% \begin{macrocode} +\def\lesson{\def\chaptername{\lessonname}\chapter} +\def\exercise{\section*{\centering{\exercisename{}\thesection}}} +\def\singleexercise{\section*{\centering{\exercisename{}\thechapter}}} +\gdef\beginexercise{\@ifnextchar[\beginsingleexercise\begin@xercise} + \gdef\begin@xercise{ + \refstepcounter{section}\exercise{} + \begin{itemize}\begin{enumerate}} + \gdef\beginsingleexercise[]{ + \refstepcounter{section}\singleexercise{} + \begin{itemize}\begin{enumerate}} +\gdef\endexercise{\end{enumerate}\end{itemize}} +% \end{macrocode} +% +% And some books happen to have been published in different editions: +% +% \begin{macrocode} +\gdef\higherthenthird#1{\bgroup% + \def\arabicedition{\arabicedname}% + \def\croatianedition{\croatianedname}% + \def\czechedition{\czechedname}% + \def\danishedition{\danishedname}% + \def\dutchedition{\dutchedname}% + \def\englishedition{\englishedname}% + \def\esperantoedition{\esperantoedname}% + \def\finnishedition{\finnishedname}% + \def\frenchedition{\frenchedname}% + \def\germanedition{\germanedname}% + \def\greekedition{\greekedname}% + \def\hebrewedition{\hebrewedname}% + \def\hindiedition{\hindiedname}% + \def\italianedition{\italianedname}% + \def\maasaiedition{\maasaiedname}% + \def\magyaredition{\magyaredname}% + \def\norskedition{\norskedname}% + \def\polishedition{\polishedname}% + \def\portugesedition{\portugesedname}% + \def\romanianedition{\romanianedname}% + \def\russianedition{\russianedname}% + \def\sloveneedition{\sloveneedname}% + \def\spanishedition{\spanishedname}% + \def\swahiliedition{\swahiliedname}% + \def\swedishedition{\swedishedname}% + \def\tamiledition{\tamiledname}% + \def\turkishedition{\turkishedname}\if#12% + {2\higher}\else\if#13% + {3\higher}\else\if#14% + {4\higher}\else\if#15% + {5\higher}\else\if#16% + {6\higher}\else\if#17% + {7\higher}\else\if#18% + {8\higher}\else\if#19% + {9\higher}\else#1\fi\fi\fi\fi\fi\fi\fi\fi\egroup} +\gdef\edition#1{\@bsphack\@ifundefined{l@#1}{\@nolanerr{#1}}% + {\language\csname l@#1\endcsname\@esphack}}% +\gdef\arabicedition{\edition{arabic}} +\gdef\croatianedition{\edition{croatian}} +\gdef\czechedition{\edition{czech}} +\gdef\danishedition{\edition{danish}} +\gdef\dutchedition{\edition{dutch}} +\gdef\englishedition{\edition{english}} +\gdef\esperantoedition{\edition{esperanto}} +\gdef\finnishedition{\edition{finnish}} +\gdef\frenchedition{\edition{french}} +\gdef\germanedition{\edition{german}} +\gdef\greekedition{\edition{greek}} +\gdef\hebrewedition{\edition{hebrew}} +\gdef\hindiedition{\edition{hindi}} +\gdef\italianedition{\edition{italian}} +\gdef\maasaiedition{\edition{maasai}} +\gdef\magyaredition{\edition{magyar}} +\gdef\norskedition{\edition{norsk}} +\gdef\polishedition{\edition{polish}} +\gdef\portugesedition{\edition{portuges}} +\gdef\romanianedition{\edition{romanian}} +\gdef\russianedition{\edition{russian}} +\gdef\sloveneedition{\edition{slovene}} +\gdef\spanishedition{\edition{spanish}} +\gdef\swahiliedition{\edition{swahili}} +\gdef\swedishedition{\edition{swedish}} +\gdef\tamiledition{\edition{tamil}} +\gdef\turkishedition{\edition{turkish}} +% \end{macrocode} +% +% Then a book is supposed to begin with a preamble and to end with +% a postamble. +% +% \begin{macrocode} +\gdef\subtitle#1{\def\@subtitle{#1}} +\gdef\soustitre#1{\begin{flushright}{\it#1}\end{flushright}} +\gdef\see#1#2{{\em\seename\ #1,} #2} +\newif\ifpagenumbering\pagenumberingtrue +\gdef\sschapter#1{\ifpagenumbering + \bgroup\@schapter{#1}\pagenumbering{arabic}\egroup\pagenumberingfalse + \else\@schapter{#1}\fi} +\gdef\cchapter[#1]#2{\ifpagenumbering\bgroup\@chapter[#1]{#2} + \pagenumbering{arabic}\egroup\pagenumberingfalse + \else\@chapter[#1]{#2}\fi} +\gdef\ch@pter{\clearpage\relax\if@twoside \ifodd\c@page\else + \hbox{}\relax\newpage\thispagestyle{empty} + \if@twocolumn\hbox{}\newpage\fi\fi\fi + \thispagestyle{plain}\global\@topnum\z@\@afterindentfalse + \secdef\cchapter\sschapter} +\gdef\maketitlepages{\def\chapter{\thispagestyle{empty}\ch@pter} + \pagenumbering{roman} + \begin{titlepage}\setcounter{page}{-3} + \null + \vfil + \vskip2\baselineskip \begin{center} + {\Huge\sc \@title \par}\end{center} + \end{titlepage}\begin{titlepage}\setcounter{page}{-2}\null\vfil + \end{titlepage}\begin{titlepage} + \let\footnotesize\small \let\footnoterule\relax\setcounter{page}{-1} + \null + \vfil + \vskip 60pt \begin{center} + {\LARGE\sc \@title \par} \ifx\@subtitle\undefined\relax\else + {\large \@subtitle \par}\fi \vskip 3em {\large + \lineskip .75em + \begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vfil {\large \@date \par} \end{center} + \end{titlepage}\begin{titlepage}\null\vfil\end{titlepage} + \setcounter{footnote}{0} \let\thanks\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\maketitle\relax} +\gdef\tableofcontents{\bgroup\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn + \fi\pagenumberingfalse\chapter*{\contentsname + \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}} + \@starttoc{toc}\if@restonecol\twocolumn\fi\egroup} +\gdef\listoffigures{\bgroup\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn + \fi\pagenumberingfalse\chapter*{\listfigurename\@mkboth + {\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}\@starttoc + {lof}\if@restonecol + \twocolumn\fi\egroup} +\gdef\listoftables{\bgroup\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn + \fi\pagenumberingfalse\chapter*{\listtablename\@mkboth + {\uppercase{\listtablename}}{\uppercase{\listtablename}}}\@starttoc + {lot}\if@restonecol + \twocolumn\fi\egroup} +\def\preface{\bgroup\pagenumberingfalse\chapter*{\prefname} + \addcontentsline{toc}{chapter}{\prefname}\egroup} +% \end{macrocode} +% +% I want to make \verb=\footnote= also function in section headings---but +% I do not want footnotemarks to appear in the table of contents---and +% let it report indexentries in it. +% +% \begin{macrocode} +\long\gdef\@footnotetext#1{\insert\footins{\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext + \def\@wrindex{\wrindex}{\rule{\z@}{\footnotesep}\ignorespaces + #1\strut}}} +\global\let\f@@tnote\footnote% +\global\let\c@ntentsline\contentsline% +\gdef\footnote{\rm\kern.05em\protect\f@@tnote} +\gdef\nofootnote#1{\relax} +\gdef\contentsline{% + \def\f@@tnote{\nofootnote}\let\footnotemark\relax\c@ntentsline} +% \end{macrocode} +% +% Finally I want the bibliography and the index to appear in the toc. +% +% \begin{macrocode} +\gdef\mlbibfilename#1{\def\bibfn{#1}} +\gdef\bibliography#1{% + \if@filesw\immediate\write\@auxout{\string\bibdata{\bibfn,#1}}\fi + \@input{\jobname.bbl}} +\gdef~{\penalty1000\ } +\gdef\notename#1{#1\,n.} +\gdef\index#1{\ifx\ind@x\undefined\relax\else\protect\ind@x{#1}\fi} +\global\let\enddoc\enddocument +\gdef\wrindex#1{\let\thepage\relax\xdef\@gtempa{% + \write\@indexfile{\string\indexentry{#1|notename}{\thepage}}} + \endgroup\@gtempa\if@nobreak \ifvmode\nobreak\fi\fi\@esphack} +\gdef\makeindex{\if@filesw \newwrite\@indexfile + \immediate\openout\@indexfile=\jobname.idx + \def\ind@x{\@bsphack\begingroup\ifx\no@french@active@punct\undefined\relax + \else\no@french@active@punct\def\'{\accent 19}\fi + \def\protect####1{\string####1\space}\@sanitize\@wrindex} + \typeout{Writing index file \jobname.idx}\fi + \def\theidx{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule.4pt\small\columnsep 35pt + \twocolumn[\@makeschapterhead{\indexname}] + \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}} + \thispagestyle{plain}\parindent\z@\parskip\z@ plus .3pt\relax% + \let\item\@idxitem\addcontentsline{toc}{chapter}{\indexname}} + \def\theindex{\ifx\multicols\undefined + \makeatletter\inputstyle{multicol}\makeatother + \ifx\multicols\undefined\theidx\else + \columnseprule=.4pt\small\chapter*{\indexname} + \parindent\z@\parskip\z@ plus.3pt\relax\let\item\@idxitem + \addcontentsline{toc}{chapter}{\indexname} + \begin{multicols}{2}\fi\fi} + \def\endtheindex{\ifx\multicols\undefined\if@restonecol\onecolumn\else + \clearpage\fi\else\end{multicols}\fi} + \def\enddocument{\@input{\jobname.ind}\enddoc}} +\gdef\cover{\@input{\jobname.ind}\def\enddocument{\enddoc}\pagestyle{empty}} +% \end{macrocode} +% +% \section{Parallel Columns} +% +% I think a feature generating parallel columns, viz. one column of text +% to the left and one column of (translated) text to the right, is essential +% to a multilingual system. I have been working on this for a long time and +% up till now I am not quite content with the result. The following code I +% took basically from some macro I found in my reader list. I adapted it +% somewhat and the result is not bad. However, a big problem is generating +% footnotes. The numbers of the footnotes do not correspond with the +% footnotes on the same page. Actually it seems footnotes appear on the +% page {\em before\/} they appear in the text. Anyway, for the time being +% I shall have to do with this code. For the future, however, I am thinking +% of a more complex mechanism. Maybe I shall have to make two runs: First +% to collect the text of one column, in order to know where exactly it skips +% to the next page and then with this knowledge inserting the next column. +% +% \begin{macrocode} +\newinsert\mcpfootins +\long\def\mcpfootnote#1{\footnotemark\addtocounter{footnote}{-1} + \global\setbox\mcpfootins \vbox{\unvcopy\mcpfootins\footnotesize% + \interlinepenalty\interfootnotelinepenalty\floatingpenalty=20000 + \splittopskip\footnotesep%\splitmaxdepth \dp\strutbox% + \hsize\columnwidth\pagebreak[3] + \parindent 1em\noindent\hbox to 1.8em{\hss\footnotemark} + {\rule{0pt}{\footnotesep}\ignorespaces #1\strut}}} +\gdef\multicolpar#1{\def\f@@tnote{\mcpfootnote}\let\footins\mcpfootins + \addvspace\topsep\pretolerance1001\tolerance9999 + \finalhyphendemerits3000000\hbadness5000\vbadness10001 + \advance\baselineskip0pt\multicolumnparallelparagraphs{#1}{2em}} +\gdef\endmulticolpar{\xpar\egroup\egroup\leavevmode} +\newcount\columnsleft \newcount\totalcolumns \newdimen\separation +\gdef\multicolumnparallelparagraphs#1#2{\totalcolumns#1\separation#2 + \let\xpar\par\vskip\parskip\columnsleft\totalcolumns\relax + \hbox to\hsize\bgroup\let\par\nextmulticolumnparallelparagraph + % Set hsize = (old hsize - (#1 - 1)*#2 ) / #1 + \dimen0\separation\advance\hsize-\columnsleft\dimen0 + \advance\hsize\dimen0\divide\hsize\columnsleft\relax + \leavevmode\vtop\bgroup\parindent0pt} +\gdef\nextmulticolumnparallelparagraph{\strut\egroup\advance\columnsleft-1 + \ifnum\columnsleft>0\hfil\leavevmode\vtop\bgroup\parindent0pt + \else\strut\egroup\xpar\vskip\parskip\xpar + \multicolumnparallelparagraphs\totalcolumns\separation + \fi} +% \end{macrocode} +% +% Now we get the language selecting mechanism. I define a newcount +% \verb=\l@nguage= in order to avoid conflicts with several dialects +% using the same language count. Consequently I redefine +% \verb=\p@selectlanguage= so that it contains also this newcount, and +% \verb=\iflanguage= so that it also knows about different dialects. +% +% But first I have to take into account special languages, those that +% use different alphabets. +% +% \begin{macrocode} +\newcount\l@nguage +\newif\ifgreek +\newif\ifrussian +\begingroup +\catcode`\;=\active \catcode`\:=\active +\catcode`\!=\active \catcode`\?=\active +\gdef\french@active@punct{% + \catcode`\;=\active\catcode`\:=\active% + \catcode`\!=\active\catcode`\?=\active\relax} +\gdef\no@french@active@punct{% + \catcode`\;=12\catcode`\:=12% + \catcode`\!=12\catcode`\?=12\relax} +\endgroup +\begingroup +\catcode`\;=\active \catcode`\:=\active +\catcode`\!=\active \catcode`\?=\active +\gdef\extrasfrench{% + \let\original@dospecials\dospecials% + \let\original@sanitize\@sanitize% + \let\original@ref\ref% + \let\original@pageref\pageref% + \let\original@cite\cite% + \let\original@label\label% + \let\original@newlabel\newlabel% + \let\original@bibcite\bibcite% + \let\original@@bibitem\@bibitem% + \let\original@@lbitem\@lbitem% + \let\original@@testdef\@testdef% + \let\original@sc=;\let\original@co=:% + \let\original@em=!\let\original@qm=?% + \let\original@dieresis\"% + \let\original@circumflex\^% + \let\original@active@sc\active@sc% + \let\original@active@co\active@co% + \let\original@active@em\active@em% + \let\original@active@qm\active@qm% + \edef\original@xcode{% + \catcode`\noexpand\:=\the\catcode`\:\relax% + \catcode`\noexpand\;=\the\catcode`\;\relax% + \catcode`\noexpand\!=\the\catcode`\!\relax% + \catcode`\noexpand\?=\the\catcode`\?\relax}% + \let\dospecials\french@dospecials% + \let\@sanitize\french@sanitize% + \def\"{\protect\french@dieresis}% + \def\^{\protect\french@circumflex}% + \french@active@punct% + \def;{\protect\active@sc}% + \def:{\protect\active@co}% + \def!{\protect\active@em}% + \def?{\protect\active@qm}% + \let\active@sc\french@active@sc% + \let\active@co\french@active@co% + \let\active@em\french@active@em% + \let\active@qm\french@active@qm% + \let\ref\french@ref% + \let\pageref\french@pageref% + \let\cite\french@cite% + \let\label\french@label% + \let\newlabel\french@newlabel% + \let\@testdef\french@@testdef% + \let\@bibitem\french@@bibitem% + \let\@lbitem\french@lbitem% + \let\bibcite\french@bibcite% + \frenchspacing\let\resetspacing\nonfrenchspacing% +}\endgroup +\begingroup\french@active@punct +\def\noextrasfrench{% + \no@french@active@punct% + \original@xcode; + \let;\original@sc% + \let:\original@co% + \let!\original@em% + \let?\original@qm% + \let\active@sc\original@active@sc% + \let\active@co\original@active@co% + \let\active@em\original@active@em% + \let\active@qm\original@active@qm% + \let\"\original@dieresis% + \let\^\original@circumflex% + \let\dospecials\original@dospecials% + \let\@sanitize\original@sanitize% + \let\ref\original@ref% + \let\pageref\original@pageref% + \let\cite\original@cite% + \let\label\original@label% + \let\newlabel\original@newlabel% + \let\@testdef\original@@testdef% + \let\@bibitem\original@@bibitem% + \let\@lbitem\original@lbitem% + \let\bibcite\original@bibcite% + \resetspacing% +}\endgroup +\def\french@active@sc{% + \ifmmode% + \string;% + \else\relax% + \ifhmode% +% \ifdim\lastskip>\z@% + \unskip\penalty\@M\,% +% \fi% + \fi% + \string;% + \fi}% +\def\french@active@co{\ifmmode\string:\else\relax% + \ifhmode%\ifdim\lastskip>\z@% + \unskip\penalty\@M\,%\fi + \fi\string:\fi} +\def\french@active@em{\ifmmode\string!\else\relax% + \ifhmode%\ifdim\lastskip>\z@% + \unskip\penalty\@M\,%\fi + \fi\string!\fi} +\def\french@active@qm{% + \ifmmode\string?% + \else\relax% + \ifhmode%\ifdim\lastskip>\z@% + \unskip\kern\fontdimen2\font% + \kern-1.4\fontdimen3\font% + \fi%\fi% + \string?\fi} +\def\french@ref{\no@french@active@punct\@french@ref} +\def\@french@ref#1{\original@ref{#1}\french@active@punct} +\def\french@pageref{\no@french@active@punct\@french@pageref} +\def\@french@pageref#1{\original@pageref{#1}\french@active@punct} +\def\french@cite{\no@french@active@punct\@french@cite} +\def\@french@cite#1{\original@cite{#1}\french@active@punct} +\def\french@label{\no@french@active@punct\@french@label} +\def\@french@label#1{\original@label{#1}\french@active@punct} +\def\french@newlabel{\no@french@active@punct\@french@newlabel} +\def\@french@newlabel#1#2{\original@newlabel{#1}{#2}% + \french@active@punct} +\def\french@bibcite{\no@french@active@punct\@french@bibcite} +\def\@french@bibcite#1#2{\original@bibcite{#1}{#2}\french@active@punct} +\def\french@@bibitem{\no@french@active@punct\@french@@bibitem} +\def\@french@@bibitem#1{\original@@bibitem{#1}\french@active@punct} +\def\french@@lbitem{\no@french@active@punct\@french@@lbitem} +\def\@french@@lbitem#1{\original@@lbitem{#1}\french@active@punct} +\def\french@@testdef{\no@french@active@punct\@french@@testdef} +\def\@french@@testdef #1#2#3{\original@@testdef{#1}{#2}{#3}% + \french@active@punct} +\gdef\p@selectlanguage#1{\ifgreek\endgreek\fi\russianfalse + \no@french@active@punct + \@bsphack\input#1 + \expandafter\ifx\csname l@#1\endcsname\relax + \@nolanerr{#1} + \else + \language=\csname l@#1\endcsname\relax + \l@nguage=\csname l@#1\endcsname\relax + \originalTeX\mdqon + \edef\languagename{#1} + \expandafter\def\expandafter\originalTeX + \expandafter{\csname noextras#1\endcsname + \let\originalTeX\empty} + \babel@beginsave + \csname captions#1\endcsname + \csname date#1\endcsname + \csname extras#1\endcsname\relax + \fi} +\gdef\iflanguage#1#2#3{\@bsphack\@ifundefined{l@#1}{#3} + {\ifnum\l@nguage=\csname l@#1\endcsname\relax#2\else#3\fi\@esphack}} +% \end{macrocode} +% Because of their non roman alphabets I shall have to put in Greek +% and Russian here. For the convenience of editing I also defined a +% special ibmkbd.sty that could be input separately and since we are +% inputting now anyway I could as well add some other useful styles. +% However, if you do not have or want to use these styles, you can +% skip them. +% For that reason I define the command \verb=\inputstyle= which loads a +% style file only if it exists. +% \begin{macrocode} +\gdef\inputstyle#1{\openin1 #1.sty \ifeof1 + \typeout{! I can't find file `#1.sty'.} + \else\closein1 \relax\input{#1.sty}\fi} +\inputstyle{ibmkbd} % for an extended keyboard +\inputstyle{picins} % to insert pictures (in columns) +\inputstyle{setspace} % to manipulate interline spacing +\inputstyle{logos} % some frequently used logos +\inputstyle{rgreek} +\inputstyle{cmcyr} +\gdef\dutchTeX{\selectlanguage{dutch}} +\gdef\frenchTeX{\selectlanguage{french}} +\gdef\germanTeX{\selectlanguage{german}} +\gdef\greekTeX{\selectlanguage{greek}} +\gdef\cyrTeX{\selectlanguage{russian}} +\gdef\english{\selectlanguage{english}} +\gdef\English{\selectlanguage{english}} +\global\let\dutch\dutchTeX +\global\let\french\frenchTeX +\global\let\german\germanTeX +\global\let\greek\greekTeX +\global\let\russian\cyrTeX +\global\let\Dutch\dutchTeX +\global\let\French\frenchTeX +\global\let\German\germanTeX +\global\let\Greek\greekTeX +\global\let\Russian\cyrTeX +% +% \end{macrocode} +% +% Some people call French Francais [sic]. Now, if language French +% is not defined, neither is Francais, we can just relax. But if +% French is not defined, but Francais is I would French like to be +% Francais so I can use its hyphenation patterns. Otherwise, if +% Francais is not defined, but French is I would Francais like to be +% French. +% +% \begin{macrocode} +\ifx\undefined\l@french + \ifx\undefined\l@francais +\else + \global\let\l@french\l@francais + \fi +\fi +\ifx\undefined\l@francais + \ifx\undefined\l@french +\else + \global\let\l@francais\l@french + \fi +\fi +\mlbibfilename{ml} +% \end{macrocode} +% +% \section{Some corrections on the NFSS} +% +% Since I am using the NFSS as my default and since I think the +% capability to use different fonts should be part of a multilingual +% system I include some corrections on the NFSS I found while using it. +% +% \begin{macrocode} +\global\let\mathit\mit +\expandafter\ifx\csname selectfont\endcsname\relax\else +\gdef\ly{\family{lasy}\selectfont} +\gdef\tensf{\family{cmss}\series{m}\shape{n}\size{10}{13pt}\selectfont} +\gdef\tensl{\family{cmsl}\series{m}\shape{n}\size{10}{12pt}\selectfont} +\fi +\selectlanguage{english} +% \end{macrocode} +% +% \Finale +\endinput diff --git a/obsolete/macros/latex209/contrib/ml/ml.sty b/obsolete/macros/latex209/contrib/ml/ml.sty new file mode 100644 index 0000000000..32dc58989b --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/ml.sty @@ -0,0 +1,496 @@ +%% +%% This is file `ml.sty', generated on <1994/7/21> +%% with the docstrip utility (2.0r). +%% +%% The original source file was `ml.doc'. +%% +%% +%% IMPORTANT NOTICE: +%% You are not allowed to distribute this file. +%% For distribution of the original source see +%% the copyright notice in the file ml.doc. +%% +\def\filename{ml.doc} +\let\thisfilename\filename +\def\fileversion{ml-1.9} +\def\filedate{15 june 1993} +\def\docdate{15 june 1993} +%% \CheckSum{1920} +%% \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 \~} +%% +\wlog{Style option `ml' version \fileversion\space <\filedate>} +\wlog{English documentation dated <\docdate>} +\makeatletter +\ifx\undefined\mdqon\relax\else\endinput\fi +\@ifundefined{iflanguage}{\input babel.sty\relax}{\relax} +\ifx\undefined\babel@core@loaded\input babel.com\fi +\let\firstcolmark\relax +\def\@outputdblcol{\if@firstcolumn +\xdef\firstcolmark{\firstmark} +\global\@firstcolumnfalse + \global\setbox\@leftcolumn\box\@outputbox + \else \global\@firstcolumntrue + \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth + {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil + \hbox to\columnwidth{\box\@outputbox \hss}}}\@combinedblfloats + \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup + \fi} +\def\ps@right +{\let\@mkboth\markboth +\def\@oddfoot{}\def\@evenfoot{}\def\@evenhead{\rm \thepage\hfil \sl +\leftmark}\def\@oddhead{\hbox{}\sl \rightmark \hfil +\hbox to 0pt{\kern30pt \rm\thepage\hss} +}\def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection\hskip 1em\relax \fi ##1}}}} +\let\typewriter\tt +\gdef\tt{\typewriter\def\_{\char95}} +\def\mdqon{\catcode`\"\active} +\def\mdqoff{\catcode`\"12 } +\gdef\allowhyphens{\penalty\@M \hskip\z@skip} +\newcount\U@C\newbox\U@B\newdimen\U@D +\gdef\umlauthigh{\def\"{\protect{\accent127 ##1}}} +\gdef\umlautlow{\def\"{\protect\newumlaut}} +\gdef\newumlaut#1{\leavevmode\allowhyphens + \vbox{\baselineskip\z@skip \lineskip.25ex + \ialign{##\crcr\hidewidth + \setbox\U@B\hbox{#1}\U@D .01\p@\U@C\U@D + \U@D\ht\U@B\advance\U@D -1ex\divide\U@D \U@C + \U@C\U@D\U@D\the\fontdimen1\the\font + \multiply\U@D \U@C\divide\U@D 100\kern\U@D + \vbox to .20ex + {\hbox{\char127}\vss}\hidewidth\crcr#1\crcr}}\allowhyphens} +\gdef\@UMLAUT{\"} +\gdef\@MATHUMLAUT{\mathaccent"707F } +\gdef\@SS{\mathchar"7019 } +\gdef\dq{"} +\gdef\highumlaut#1{\leavevmode\allowhyphens% + \accent127 #1\allowhyphens}% +\begingroup +\def\do{\noexpand\do\noexpand}% +\xdef\dospecials{\dospecials\do\"}% +\expandafter\ifx\csname @sanitize\endcsname\relax \else + \def\@makeother{\noexpand\@makeother\noexpand}% + \xdef\@sanitize{\@sanitize\@makeother\"}% +\fi +\endgroup +{\mdqon +\gdef"{\protect\active@dq} +\gdef\dieresis{\"} +\gdef\active@dq#1{% + \ifx #1s\ifmmode\@SS\else\ss\fi{}% +\else\ifx #1a\ifmmode\@MATHUMLAUT a\else\@UMLAUT a\fi +\else\ifx #1o\ifmmode\@MATHUMLAUT o\else\@UMLAUT o\fi +\else\ifx #1u\ifmmode\@MATHUMLAUT u\else\@UMLAUT u\fi +\else\ifx #1A\ifmmode\@MATHUMLAUT A\else\@UMLAUT A\fi +\else\ifx #1O\ifmmode\@MATHUMLAUT O\else\@UMLAUT O\fi +\else\ifx #1U\ifmmode\@MATHUMLAUT U\else\@UMLAUT U\fi +\else\ifx #1`\leftquotes{}% +\else\ifx #1'\rightquotes{}% +\else\other@active@dq{#1}% +\fi\fi\fi\fi\fi\fi\fi\fi\fi } +\gdef\other@active@dq#1{% + \ifx #1e\ifmmode\@MATHUMLAUT e\else\highumlaut e\fi +\else\ifx #1i\ifmmode\discretionary{-}{#1}{\@MATHUMLAUT i} + \else\discretionary{-}{#1}{\dieresis\i}\fi +\else\ifx #1j\ifmmode\discretionary{-}{#1}{\@MATHUMLAUT j} + \else\discretionary{-}{#1}{\dieresis\j}\fi +\else\ifx #1E\ifmmode\@MATHUMLAUT E\else\highumlaut E\fi +\else\ifx #1I\ifmmode\@MATHUMLAUT I\else\highumlaut I\fi +\else\ifx #1SSS% +\else\ifx #1-\allowhyphens\-\allowhyphens +\else\ifx #1"\hskip\z@skip\allowhyphens +\else\ifx #1|\discretionary{-}{}{\kern.03em}% +\else\ifx #1c\allowhyphens\discretionary{k-}{}{c}\allowhyphens +\else\ifx #1f\allowhyphens\discretionary{ff-}{}{f}\allowhyphens +\else\ifx #1k\allowhyphens\discretionary{k-}{}{}\allowhyphens %% Maasai +\else\ifx #1l\allowhyphens\discretionary{ll-}{}{l}\allowhyphens +\else\ifx #1m\allowhyphens\discretionary{mm-}{}{m}\allowhyphens +\else\ifx #1n\allowhyphens\discretionary{nn-}{}{n}\allowhyphens +\else\ifx #1p\allowhyphens\discretionary{pp-}{}{p}\allowhyphens +\else\ifx #1t\allowhyphens\discretionary{tt-}{}{t}\allowhyphens +\else\ifx #1C\allowhyphens\discretionary{K-}{}{C}\allowhyphens +\else\ifx #1F\allowhyphens\discretionary{FF-}{}{F}\allowhyphens +\else\ifx #1K\allowhyphens\discretionary{K-}{}{}\allowhyphens %% Maasai +\else\ifx #1L\allowhyphens\discretionary{LL-}{}{L}\allowhyphens +\else\ifx #1M\allowhyphens\discretionary{MM-}{}{M}\allowhyphens +\else\ifx #1N\allowhyphens\discretionary{NN-}{}{N}\allowhyphens +\else\ifx #1P\allowhyphens\discretionary{PP-}{}{Pp}\allowhyphens +\else\ifx #1T\allowhyphens\discretionary{TT-}{}{T}\allowhyphens +\else\ifx #1y\allowhyphens i\kern-0.06\p@ j\allowhyphens% +\else\ifx #1Y\allowhyphens I\kern-0.05\p@ J\allowhyphens% +\else\ifx #1<\flqq{}% +\else\ifx #1>\frqq{}% +\else \dq #1% +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\fi\fi\fi\fi\fi\fi\fi\fi } +\gdef\at{{\char '100}} +\gdef\boi{{\tt\char '134}} +\gdef\circonflexe{{\char '136}} +\gdef\tild{{\char '176}} +\gdef\degre{{\char'27}} +\gdef\french@circumflex#1{{\accent"5E \if#1i\i\else#1\fi}} +\gdef\french@dieresis#1{{\accent"7F \if#1i\i\else#1\fi}} +\gdef\up#1{\raise 1ex\hbox{\small#1}} +\gdef\No{\kern-.25em\lower.2ex\hbox{\degre}} +\gdef\ieme{$^{\rm e }$\kern+.17em} +\gdef\FrenchEnumerate#1{$#1^{\rm o}$\kern+.29em} +\gdef\FrenchPopularEnumerate#1{#1\No\kern-.25em)\kern+.3em} +\gdef\primo{\FrenchEnumerate1} +\gdef\secundo{\FrenchEnumerate2} +\gdef\tertio{\FrenchEnumerate3} +\gdef\quatro{\FrenchEnumerate4} +\gdef\fprimo){\FrenchPopularEnumerate1} +\gdef\fsecundo){\FrenchPopularEnumerate2} +\gdef\ftertio){\FrenchPopularEnumerate3} +\gdef\fquatro){\FrenchPopularEnumerate4} +} % end of \mdqon +\mdqon +\gdef\flqq{\protect\@flqq} +\gdef\@flqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode \ll \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle \ll $}\fi \@SF\relax} +\gdef\frqq{\protect\@frqq} +\gdef\@frqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode \gg \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle \gg $}\fi \@SF\relax} +\gdef\flq{\protect\@flq} +\gdef\@flq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode < \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle < $}\fi \@SF\relax} +\gdef\frq{\protect\@frq} +\gdef\@frq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else + \let\@SF\empty \fi + \ifmmode > \else \leavevmode + \raise .2ex \hbox{$\scriptscriptstyle > $}\fi \@SF\relax} +\gdef\bold#1{{\bf#1\/}} +\gdef\emph#1{{\em#1\/}} +\gdef\ital#1{{\it#1\/}} +\gdef\slant#1{{\sl#1\/}} +\let\stopmath\) +\gdef\specialhyphen{% +\ifmmode\stopmath\else\allowhyphens\discretionary{-)}{}{-)}\allowhyphens\fi} +\def\){\protect\specialhyphen} +\gdef\B#1{\kern-.0667em\b{\kern.1788em#1}} +\gdef\rref#1{\ref{#1}\begingroup + \def\x{#1}\edef\x{\expandafter\GetMeaning\meaning\x\MeaningEnd}% + \ref{\x}\marginpar{\verb^ \x ^}\endgroup} +\gdef\llabel#1{\label{#1}\begingroup + \def\x{#1}\edef\x{\expandafter\GetMeaning\meaning\x\MeaningEnd}% + \ref{\x}\marginpar{\verb^ \x ^}\endgroup} +\gdef\trademark{\raise 1ex\hbox{\ooalign{\hfil\raise.07ex\hbox{\sevenrm + R}\hfil\crcr\mathhexbox20D}}} +\gdef\ch#1{$\textfont1=\the\font#1$} +\gdef\framepar#1{\framebox[\hsize]{\vbox{\begin{quote}#1\end{quote}}}} +\newcount\ii\newcount\jj\newif\ifhyphen +\gdef\numb{\hyphenfalse\afterassignment\nul\ii=} +\gdef\num#1 #2 {\divide\jj by #1 \ifnum\jj>1 {\ii=\jj\getall}\fi + #2\multiply\jj by #1 \advance\ii by -\jj\getall} +\gdef\qm{\ifhyphen\-\else\global\hyphentrue\fi} +\gdef\s#1 {\showhyphens{\numb#1}} +\newcount\n\newcount\m +\n=0 +\m=1 +\def\lesson{\def\chaptername{\lessonname}\chapter} +\def\exercise{\section*{\centering{\exercisename{}\thesection}}} +\def\singleexercise{\section*{\centering{\exercisename{}\thechapter}}} +\gdef\beginexercise{\@ifnextchar[\beginsingleexercise\begin@xercise} + \gdef\begin@xercise{ + \refstepcounter{section}\exercise{} + \begin{itemize}\begin{enumerate}} + \gdef\beginsingleexercise[]{ + \refstepcounter{section}\singleexercise{} + \begin{itemize}\begin{enumerate}} +\gdef\endexercise{\end{enumerate}\end{itemize}} +\gdef\editions#1{\bgroup +\if#1{arabic}\arabicedname\else +\if#1{croatian}\croatianedname\else +\if#1{czech}\czechedname\else +\if#1{danish}\danishedname\else +\if#1{dutch}\dutchedname\else +\if#1{english}\englishedname\else +\if#1{esperanto}\esperantoedname\else +\if#1{finnish}\finnishedname\else +\if#1{french}\frenchedname\else +\if#1{german}\germanedname\else +\if#1{greek}\greekedname\else +\if#1{hebrew}\hebrewedname\else +\if#1{italian}\italianedname\else +\if#1{maasai}\maasaiedname\else +\if#1{magyar}\magyaredname\else +\if#1{norsk}\norskedname\else +\if#1{polish}\polishedname\else +\if#1{portuges}\portugesedname\else +\if#1{romanian}\romanianedname\else +\if#1{russian}\russianedname\else +\if#1{slovene}\sloveneedname\else +\if#1{spanish}\spanishedname\else +\if#1{swahili}\swahiliedname\else +\if#1{swedish}\swedishedname\else +\typeout{Language not supported!} +\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\gdef\higherthenthird#1{\bgroup% + \def\arabicedition{\arabicedname}% + \def\croatianedition{\croatianedname}% + \def\czechedition{\czechedname}% + \def\danishedition{\danishedname}% + \def\dutchedition{\dutchedname}% + \def\englishedition{\englishedname}% + \def\esperantoedition{\esperantoedname}% + \def\finnishedition{\finnishedname}% + \def\frenchedition{\frenchedname}% + \def\germanedition{\germanedname}% + \def\greekedition{\greekedname}% + \def\hebrewedition{\hebrewedname}% + \def\hindiedition{\hindiedname}% + \def\italianedition{\italianedname}% + \def\maasaiedition{\maasaiedname}% + \def\magyaredition{\magyaredname}% + \def\norskedition{\norskedname}% + \def\polishedition{\polishedname}% + \def\portugesedition{\portugesedname}% + \def\romanianedition{\romanianedname}% + \def\russianedition{\russianedname}% + \def\sloveneedition{\sloveneedname}% + \def\spanishedition{\spanishedname}% + \def\swahiliedition{\swahiliedname}% + \def\swedishedition{\swedishedname}% + \def\tamiledition{\tamiledname}% + \def\turkishedition{\turkishedname}\if#12% + {2\higher}\else\if#13% + {3\higher}\else\if#14% + {4\higher}\else\if#15% + {5\higher}\else\if#16% + {6\higher}\else\if#17% + {7\higher}\else\if#18% + {8\higher}\else\if#19% + {9\higher}\else#1\fi\fi\fi\fi\fi\fi\fi\fi\egroup} +\gdef\edition#1{\@bsphack\@ifundefined{l@#1}{\@nolanerr{#1}}% + {\language\csname l@#1\endcsname\@esphack}}% +\gdef\arabicedition{\edition{arabic}} +\gdef\croatianedition{\edition{croatian}} +\gdef\czechedition{\edition{czech}} +\gdef\danishedition{\edition{danish}} +\gdef\dutchedition{\edition{dutch}} +\gdef\englishedition{\edition{english}} +\gdef\esperantoedition{\edition{esperanto}} +\gdef\finnishedition{\edition{finnish}} +\gdef\frenchedition{\edition{french}} +\gdef\germanedition{\edition{german}} +\gdef\greekedition{\edition{greek}} +\gdef\hebrewedition{\edition{hebrew}} +\gdef\hindiedition{\edition{hindi}} +\gdef\italianedition{\edition{italian}} +\gdef\maasaiedition{\edition{maasai}} +\gdef\magyaredition{\edition{magyar}} +\gdef\norskedition{\edition{norsk}} +\gdef\polishedition{\edition{polish}} +\gdef\portugesedition{\edition{portuges}} +\gdef\romanianedition{\edition{romanian}} +\gdef\russianedition{\edition{russian}} +\gdef\sloveneedition{\edition{slovene}} +\gdef\spanishedition{\edition{spanish}} +\gdef\swahiliedition{\edition{swahili}} +\gdef\swedishedition{\edition{swedish}} +\gdef\tamiledition{\edition{tamil}} +\gdef\turkishedition{\edition{turkish}} +\gdef\subtitle#1{\def\@subtitle{#1}} +\gdef\soustitre#1{\begin{flushright}{\it#1}\end{flushright}} +\gdef\see#1#2{{\em\seename\ #1,} #2} +\newif\ifpagenumbering\pagenumberingtrue +\gdef\sschapter#1{\ifpagenumbering + \bgroup\@schapter{#1}\pagenumbering{arabic}\egroup\pagenumberingfalse + \else\@schapter{#1}\fi} +\gdef\cchapter[#1]#2{\ifpagenumbering\bgroup\@chapter[#1]{#2} + \pagenumbering{arabic}\egroup\pagenumberingfalse + \else\@chapter[#1]{#2}\fi} +\gdef\ch@pter{\clearpage\relax\if@twoside \ifodd\c@page\else + \hbox{}\relax\newpage\thispagestyle{empty} + \if@twocolumn\hbox{}\newpage\fi\fi\fi + \thispagestyle{plain}\global\@topnum\z@\@afterindentfalse + \secdef\cchapter\sschapter} +\gdef\maketitlepages{\def\chapter{\thispagestyle{empty}\ch@pter} + \pagenumbering{roman} + \begin{titlepage}\setcounter{page}{-3} + \null + \vfil + \vskip2\baselineskip \begin{center} + {\Huge\sc \@title \par}\end{center} + \end{titlepage}\begin{titlepage}\setcounter{page}{-2}\null\vfil + \end{titlepage}\begin{titlepage} + \let\footnotesize\small \let\footnoterule\relax\setcounter{page}{-1} + \null + \vfil + \vskip 60pt \begin{center} + {\LARGE\sc \@title \par} \ifx\@subtitle\undefined\relax\else + {\large \@subtitle \par}\fi \vskip 3em {\large + \lineskip .75em + \begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vfil {\large \@date \par} \end{center} + \end{titlepage}\begin{titlepage}\null\vfil\end{titlepage} + \setcounter{footnote}{0} \let\thanks\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\maketitle\relax} +\gdef\tableofcontents{\bgroup\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn + \fi\pagenumberingfalse\chapter*{\contentsname + \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}} + \@starttoc{toc}\if@restonecol\twocolumn\fi\egroup} +\gdef\listoffigures{\bgroup\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn + \fi\pagenumberingfalse\chapter*{\listfigurename\@mkboth + {\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}\@starttoc + {lof}\if@restonecol + \twocolumn\fi\egroup} +\gdef\listoftables{\bgroup\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn + \fi\pagenumberingfalse\chapter*{\listtablename\@mkboth + {\uppercase{\listtablename}}{\uppercase{\listtablename}}}\@starttoc + {lot}\if@restonecol + \twocolumn\fi\egroup} +\def\preface{\bgroup\pagenumberingfalse\chapter*{\prefname} + \addcontentsline{toc}{chapter}{\prefname}\egroup} +\long\gdef\@footnotetext#1{\insert\footins{\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext + \def\@wrindex{\wrindex}{\rule{\z@}{\footnotesep}\ignorespaces + #1\strut}}} +\global\let\f@@tnote\footnote% +\global\let\c@ntentsline\contentsline% +\gdef\footnote{\rm\kern.05em\protect\f@@tnote} +\gdef\nofootnote#1{\relax} +\gdef\contentsline{% + \def\f@@tnote{\nofootnote}\let\footnotemark\relax\c@ntentsline} +\gdef\mlbibfilename#1{\def\bibfn{#1}} +\gdef\bibliography#1{\addcontentsline{toc}{chapter}{\bibname} + \if@filesw\immediate\write\@auxout{\string\bibdata{\bibfn,#1}}\fi + \@input{\jobname.bbl}} +\gdef~{\penalty1000\ } +\gdef\notename#1{#1\,n.} +\gdef\index#1{\ifx\ind@x\undefined\relax\else\protect\ind@x{#1}\fi} +\global\let\enddoc\enddocument +\gdef\wrindex#1{\let\thepage\relax\xdef\@gtempa{% + \write\@indexfile{\string\indexentry{#1|notename}{\thepage}}} + \endgroup\@gtempa\if@nobreak \ifvmode\nobreak\fi\fi\@esphack} +\gdef\makeindex{\if@filesw \newwrite\@indexfile + \immediate\openout\@indexfile=\jobname.idx + \def\ind@x{\@bsphack\begingroup\ifx\no@french@active@punct\undefined\relax + \else\no@french@active@punct\def\'{\accent 19}\fi + \def\protect####1{\string####1\space}\@sanitize\@wrindex} + \typeout{Writing index file \jobname.idx}\fi + \def\theidx{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule.4pt\small\columnsep 35pt + \twocolumn[\@makeschapterhead{\indexname}] + \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}} + \thispagestyle{plain}\parindent\z@\parskip\z@ plus .3pt\relax% + \let\item\@idxitem\addcontentsline{toc}{chapter}{\indexname}} + \def\theindex{\ifx\multicols\undefined + \makeatletter\inputstyle{multicol}\makeatother + \ifx\multicols\undefined\theidx\else + \columnseprule=.4pt\small\chapter*{\indexname} + \parindent\z@\parskip\z@ plus.3pt\relax\let\item\@idxitem + \addcontentsline{toc}{chapter}{\indexname} + \begin{multicols}{2}\fi\fi} + \def\endtheindex{\ifx\multicols\undefined\if@restonecol\onecolumn\else + \clearpage\fi\else\end{multicols}\fi} + \def\enddocument{\@input{\jobname.ind}\enddoc}} +\gdef\cover{\@input{\jobname.ind}\def\enddocument{\enddoc}\pagestyle{empty}} +\newinsert\mcpfootins +\long\def\mcpfootnote#1{\footnotemark\addtocounter{footnote}{-1} + \global\setbox\mcpfootins \vbox{\unvcopy\mcpfootins\footnotesize% + \interlinepenalty\interfootnotelinepenalty\floatingpenalty=20000 + \splittopskip\footnotesep%\splitmaxdepth \dp\strutbox% + \hsize\columnwidth\pagebreak[3] + \parindent 1em\noindent\hbox to 1.8em{\hss\footnotemark} + {\rule{0pt}{\footnotesep}\ignorespaces #1\strut}}} +\gdef\multicolpar#1{\def\f@@tnote{\mcpfootnote}\let\footins\mcpfootins + \addvspace\topsep\pretolerance1001\tolerance9999 + \finalhyphendemerits3000000\hbadness5000\vbadness10001 + \advance\baselineskip0pt\multicolumnparallelparagraphs{#1}{2em}} +\gdef\endmulticolpar{\xpar\egroup\egroup\leavevmode} +\newcount\columnsleft \newcount\totalcolumns \newdimen\separation +\gdef\multicolumnparallelparagraphs#1#2{\totalcolumns#1\separation#2 + \let\xpar\par\vskip\parskip\columnsleft\totalcolumns\relax + \hbox to\hsize\bgroup\let\par\nextmulticolumnparallelparagraph + % Set hsize = (old hsize - (#1 - 1)*#2 ) / #1 + \dimen0\separation\advance\hsize-\columnsleft\dimen0 + \advance\hsize\dimen0\divide\hsize\columnsleft\relax + \leavevmode\vtop\bgroup\parindent0pt} +\gdef\nextmulticolumnparallelparagraph{\strut\egroup\advance\columnsleft-1 + \ifnum\columnsleft>0\hfil\leavevmode\vtop\bgroup\parindent0pt + \else\strut\egroup\xpar\vskip\parskip\xpar + \multicolumnparallelparagraphs\totalcolumns\separation + \fi} +\newcount\l@nguage +\newif\ifgreek +\newif\ifrussian +\gdef\p@selectlanguage#1{\ifgreek\endgreek\fi\russianfalse\@bsphack\input#1 + \@ifundefined{l@#1}{\@nolanerr{#1}}% + {\language=\csname l@#1\endcsname\relax + \l@nguage=\csname l@#1\endcsname\relax + \originalTeX\mdqon + \csname captions#1\endcsname + \csname date#1\endcsname + \csname extras#1\endcsname + \def\originalTeX{\csname noextras#1\endcsname}% + \@esphack}}% +\gdef\iflanguage#1#2#3{\@bsphack\@ifundefined{l@#1}{#3} + {\ifnum\l@nguage=\csname l@#1\endcsname\relax#2\else#3\fi\@esphack}} +\gdef\inputstyle#1{\openin1 #1.sty \ifeof1 + \typeout{! I can't find file `#1.sty'.} + \else\closein1 \relax\input{#1.sty}\fi} +\inputstyle{ibmkbd} % for an extended keyboard +\inputstyle{setspace} % to manipulate interline spacing +\inputstyle{logos} % some frequently used logos +\inputstyle{rgreek} +\inputstyle{cmcyr} +\gdef\dutchTeX{\selectlanguage{dutch}} +\gdef\frenchTeX{\selectlanguage{french}} +\gdef\germanTeX{\selectlanguage{german}} +\gdef\greekTeX{\selectlanguage{greek}} +\gdef\begingreek{\selectlanguage{greek}} +\gdef\beginmgreek{\selectlanguage{greek}\monotoniko} +\gdef\cyrTeX{\selectlanguage{russian}} +\gdef\english{\selectlanguage{english}} +\gdef\English{\selectlanguage{english}} +\global\let\dutch\dutchTeX +\global\let\french\frenchTeX +\global\let\german\germanTeX +\global\let\greek\greekTeX +\global\let\russian\cyrTeX +\global\let\Dutch\dutchTeX +\global\let\French\frenchTeX +\global\let\German\germanTeX +\global\let\Greek\greekTeX +\global\let\Russian\cyrTeX +\mlbibfilename{ml} +\expandafter\ifx\csname selectfont\endcsname +\def\ly{\family{lasy}\selectfont} +\let\mathit\mit +\def\tensf{\family{cmss}\series{m}\shape{n}\size{10}{13pt}\selectfont} +\def\tensl{\family{cmsl}\series{m}\shape{n}\size{10}{12pt}\selectfont} +\else \endinput \fi +\selectlanguage{english}\makeatother\mdqoff +\endinput +%% +%% End of file `ml.sty'. diff --git a/obsolete/macros/latex209/contrib/ml/mldoc.tex b/obsolete/macros/latex209/contrib/ml/mldoc.tex new file mode 100644 index 0000000000..43b0a2aafa --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/mldoc.tex @@ -0,0 +1,52 @@ +\documentstyle[newdoc]{ltugboat} +% +% \EnableCrossrefs + \DisableCrossrefs % use \DisableCrossrefs if the index is ready + + \RecordChanges +% \OnlyDescription +% \PageIndex + \CodelineIndex + + \SelfDocumenting % macro defined in ltugboat.sty + +% ------------------------------------------------- +%^^A! aanwijzingen voor TUGboat-redactie in het Engels +% define \dlqq so that we can give an example of "' +% ------------------------------------------------- +\makeatletter +\gdef\dlqq{{\setbox\tw@=\hbox{,}\setbox\z@=\hbox{''}% + \dimen\z@=\ht\z@ \advance\dimen\z@-\ht\tw@ + \setbox\z@=\hbox{\lower\dimen\z@\box\z@}\ht\z@=\ht\tw@ + \dp\z@=\dp\tw@ \box\z@\kern-.04em}} +%+ +% Some extra definitions needed in the article +%- +\def\langvar{$\langle \it lang \rangle$} +\def\ttbs{\char'134} +\def\note#1{{\bf #1}} +%\def\note#1{} +\def\bsl{\protect\bslash} +% +\renewenvironment{theglossary}{% + \glossary@prologue% + \GlossaryParms \let\item\@idxitem \ignorespaces}% + {} +% +\ifx\indefined\selectfont +\else + \def\tensl{\shape{sl}\size{10}{12pt}\selectfont} +\fi +\makeatother +% +\setcounter{page}{1} +\def\rtitlex{The implementation of the {\sf ml} system} +\def\midrtitle{} +\def\PrelimDraftfooter{% + \dlap{\kern\textheight\kern3pc + \rlap{\hbox to \pagewd{\filename\hfil{\tensl printed \Now}}} + }} + +\begin{document} + \DocInput{ml.doc} +\end{document} diff --git a/obsolete/macros/latex209/contrib/ml/mlletter.sty b/obsolete/macros/latex209/contrib/ml/mlletter.sty new file mode 100644 index 0000000000..6846358926 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/mlletter.sty @@ -0,0 +1,570 @@ +% This is MLLETTER.STY in text format +% a modification of Victor Eijkhout's BRIEF.STY, +% a letter style following Dutch NEN-norms 1025, 1026, and 3162. +\def\fileversion{0.1}\def\filedate{16 sept 1994} +% A MultiLingual letterstyle compatible with letter.sty +% +% Author: +% Hans Stoks +% u251006@vm.uci.kun.nl +% +% Main changes of BRIEF.STY: +% do away with \b@language, +% let translation be done by external files + +\typeout{Document Style `Mlletter'. Version <\fileversion>, <\filedate>} + +\def\@ptsize{1} +\@namedef{ds@10pt}{\def\@ptsize{0}} +\@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} +\@twosidefalse +\def\ds@draft{\overfullrule 5pt} + +\def\ds@USletter{\@elfinchtrue} \newif\if@elfinch +\@namedef{ds@a4}{\message{You do not need an A4-option: +paper is adjusted automatically.}} +\def\ds@sober{} + +\def\ds@typhulp{\@typhulptrue} \newif\if@typhulp +\def\ds@streepjes{\@streepjestrue} \newif\if@streepjes +\def\ds@adresrechts{\@adresrechtstrue} \newif\if@adresrechts + +\@options + +\lineskip 1pt \normallineskip 1pt +\def\baselinestretch{1} + +%%%%%%%%%%%%%%%%%%%%%%% point size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifcase \@ptsize\relax +\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt} +\def\small{\@setsize\small{11pt}\ixpt\@ixpt +\abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus 2pt} +\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt +\abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus +2pt} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\or +\def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt +minus3pt} +\def\small{\@setsize\small{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt} +\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt +\abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 4pt plus 2pt minus +2pt} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\or +\def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt +\abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt +minus3pt} +\def\small{\@setsize\small{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt +minus3pt} +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt minus3pt} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{18pt}\xivpt\@xivpt} +\def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} +\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} +\def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} +\let\Huge=\huge +\fi +\normalsize + +%%%%%%%%%%%%%%%%%%%%%% Paper Size %%%%%%%%%%%%%%%%%%%%%%%%%% +% 33mm leftmargin +\oddsidemargin=7.6mm \evensidemargin=\oddsidemargin + +% rightmargin according to NEN 10mm; maybe better 33mm. +\textwidth=144mm \@rightskip=0cm plus 5cm \rightskip=\@rightskip +% no margin notes. +\marginparwidth=0pt \marginparsep=0pt \marginparpush=0pt + +% topmargin 13mm +\topmargin-12.4mm +% heading up to 50mm from the top +\headheight=37mm \headsep=0mm +% textheight, the leftover +\textheight=197mm +\if@elfinch \advance\textheight by -17.6mm \fi + +% a possibillity to use other windows (vensters) +\newdimen\vensterskip \vensterskip=50mm %% the default +\newdimen\@vensterskip +\newdimen\@firstheadheight \newdimen\@otherheadheight +\newdimen\@othertextheight +\newdimen\@otherheadsep \newdimen\@vervolgsep +\@otherheadsep=2mm +\def\@prepareerhoofden{\@vensterskip=\vensterskip + \advance\@vensterskip by -50mm + \@firstheadheight=\headheight + \@otherheadheight=\headheight % this should not be here + \@othertextheight=\textheight % idem + } + +% separation between text en foot +\newdimen\footsep \footsep=1.5cm % like headsep + +\columnsep 10pt \columnseprule 0pt % if you want columns?! +\raggedbottom %% hm! we seem to need this. + +%%%%%%%%%%%%%V we'll get to this later +\footnotesep 12pt \skip\footins 10pt plus 2pt minus 4pt +\floatsep 12pt plus 2pt minus 2pt +\textfloatsep 20pt plus 2pt minus 4pt +\intextsep 12pt plus 2pt minus 2pt +\dblfloatsep 12pt plus 2pt minus 2pt +\dbltextfloatsep 20pt plus 2pt minus 4pt +\@maxsep 20pt +\@dblmaxsep 20pt +\@fptop 0pt plus 1fil +\@fpsep 8pt plus 2fil +\@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil +\@dblfpsep 8pt plus 2fil +\@dblfpbot 0pt plus 1fil + +%%%%%%%%%%%%%%%%%%%%%%%%%%% opening / closing %%%%%%%%%%%%%%%%%%%%% +\font\refkopfont=cmssq8 +\font\kleinvet=cmbx7 + +\def\opening#1{\thispagestyle{firstpage} + \adresveld + \prevdepth=-1000pt \vskip-2pt %% ???? + \referentieregel + \@dosubject #1\par\nobreak} +\def\ondertekening#1{\def\fromsig{#1}}\def\fromsig{} +% It is possible now to declare a signature +% (\ondertekening) after the closing (\afsluiting). +\long\def\afsluiting#1{\par\nobreak\vspace{\parskip} + \stopbreaks \noindent + \ifx\@empty\fromsig + \def\ondertekening##1{\def\fromsig{##1} + \parbox{.5\textwidth}{\raggedright + \ignorespaces #1\\[6\medskipamount] \fromsig \strut}} + \else \parbox{.5\textwidth}{\raggedright + \ignorespaces #1\\[6\medskipamount] + \fromsig \strut} + \fi \par} + +\def\betreft#1{\def\@subject{#1}} \def\@subject{} +\def\@dosubject{\ifx\@empty\@subject + \else \par\noindent + \parbox[t]{\textwidth}{\@hangfrom{\refkopfont \rename + \enspace}\rm\ignorespaces \@subject\strut}\par\fi} +\def\ps{\par\startbreaks\psname\ } +\def\cc#1{\par\noindent + \parbox[t]{\textwidth}{\@hangfrom{\ccname\ }\ignorespaces + #1\strut}\par} +\def\bijlage#1{\par\noindent + \parbox[t]{\textwidth}{\@hangfrom{\rm \enclname\ }\ignorespaces + #1\strut}\par} +\def\bijlagen#1{\par\noindent + \parbox[t]{\textwidth}{\@hangfrom{\rm \enclnames\ }\ignorespaces + #1\strut}\par} +\def\stopletter{} + +\long\def\brief#1{\newpage + \c@page\@ne + \interlinepenalty=200 \@processto{#1} + \@defrefveld{\@Ad}{\headtoname}{\toname} +%% only without any date the user will get \today. + \ifdim\wd\@Dt=0cm \@defrefveld{\@Dt}{\datetext}{\today}\fi +%% maybe the user has a different windowsize, +% which he specified; +% so it is only now that we can prepare the headings. + \@prepareerhoofden % (looks like we are cannibals) +%% maybe some more headheight and less textheight +% for the subsequent pages. Nb: no changes of textheight +% on the first page. + {\setbox\@tempboxa=\vervolghoofd + \@tempdima=\ht\@tempboxa + \advance\@tempdima by -\@otherheadheight + \ifdim\@tempdima>0cm + \global\advance\@otherheadheight by \@tempdima + \global\advance\@othertextheight by -\@tempdima \fi} +%% idem look at the foot + {\setbox\@tempboxa=\vbox{\voetregel} + \global\footskip=\ht\@tempboxa % maybe a little bit less? + \global\advance\footskip by \footsep} + } % except if it has been there already!!! + +\def\endbrief{\stopletter\@@par\pagebreak\@@par + \if@filesw \begingroup + \def\protect{\string} \let\\=\relax + \def\protect##1{\string##1\space} + \immediate\write\@auxout{\string\mlabel{\returnaddress} + {\toname\\ \toaddress}} + \endgroup \fi + } + +\long\def\@processto#1{\@xproc #1\\@@@\ifx\toaddress\@empty + \else \@yproc #1@@@\fi} +\long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}} +\long\def\@yproc #1\\#2@@@{\def\toaddress{#2}} +\def\stopbreaks{\interlinepenalty \@M + \def\par{\@@par\nobreak}\let\\=\@nobreakcr + \let\vspace\@nobreakvspace} +\def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}} +\def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else + \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi} +\def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}} +\def\startbreaks{\let\\=\@normalcr + \interlinepenalty 200\relax + \def\par{\@@par\penalty 200\relax}} + +% relics of 'letter', not used. +\def\name#1{\def\fromname{#1}} +\long\def\address#1{\def\fromaddress{#1}}\def\fromaddress{} +\def\location#1{\def\fromlocation{#1}}\def\fromlocation{} +\def\telephone#1{\def\telephonenum{#1}}\def\telephonenum{} +\def\returnaddress{} + +\def\document{\endgroup + \@colht\textheight \@colroom\textheight \vsize\textheight + \columnwidth\textwidth \@clubpenalty\clubpenalty + \if@twocolumn \advance\columnwidth -\columnsep + \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue + \fi + \hsize\columnwidth \linewidth\hsize + \begingroup\@floatplacement\@dblfloatplacement\endgroup + \if@filesw \immediate\openout\@mainaux=\jobname.aux + \immediate\write\@mainaux{\string\startlabels\string\@startlabels}\fi + \csname process@table\endcsname %% new font selection scheme + \def\do##1{\let ##1\@notprerr} + \@preamblecmds + \let\do\noexpand + \@normalsize\everypar{}} +\def\enddocument{\@checkend{document}\newpage\begingroup + \if@filesw \immediate\closeout\@mainaux + \makeatletter\input \jobname.aux\clearpage + \fi\endgroup\deadcycles\z@\@@end} + +\def\makelabels{\@fileswtrue}\let\maaketiketten=\makelabels +\def\@startlabels{} +\newcount\labelcount + +%%%%%%%%%%%%%%%%%%%%%%%% address %%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newdimen\adresveldbreedte +\newif\if@antwoordadres +\def\backaddress#1{\@antwoordadrestrue\def\@antwoordadres{#1}} +\def\@antwoordadres{} +\def\adresveld{\hbox{}\kern-\topskip + \kern\@vensterskip + \begingroup + \if@adresrechts \adresveldbreedte=4\refveldbreedte + \advance\adresveldbreedte by -76mm + \def\@tempa{\moveright 76mm} + \else \let\@tempa\relax \adresveldbreedte=83mm\fi + \setbox\@tempboxa= % addressee plus address + \vtop{\hsize=\adresveldbreedte \@normalsize + \rightskip=0cm plus \adresveldbreedte + \let\\=\@nobreakcr\toname\\ \toaddress} + \bgroup\baselineskip=0pt %% this avoids a lot of problems. + \lineskip=0pt %% this also + \if@antwoordadres\@tempa\vbox to 0cm{ + \hbox to \adresveldbreedte{\kleinvet + \def\\{\unskip\enspace$\bullet$\enspace\ignorespaces}% + \@antwoordadres\hfil}\kern2pt + \hrule \vss}\fi + \if@typhulp \@tempa\llap{\vbox to 0cm + {\vskip9mm\streepje\vss}} \fi + \kern9mm \kern-\ht\@tempboxa \@tempdima=\dp\@tempboxa + \@tempa\box\@tempboxa \kern-\@tempdima + \vskip31mm + \egroup\endgroup} + + +%%%%%%%%%%%%%%%%%%%%%% reference %%%%%%%%%%%%%%%%%%%%%%%%%% +\newdimen\refveldbreedte +\refveldbreedte=38mm %% 3/2 inch. see NEN 3516 + +\def\@defrefveld#1#2#3{\setbox#1=\@refveld{#2}{#3}} +\def\@refveld#1#2{\vtop{\hsize=\refveldbreedte \parskip=0cm + \everypar{}% this might be in the preamble!! + \lineskiplimit=\z@ \baselineskip=12pt + \lineskip=\z@ + \rightskip=0cm plus \refveldbreedte + minus .5\refveldbreedte + \vbox{\refkopfont\baselineskip=10pt + #1\@@par}\kern2pt\strut\ignorespaces#2}} + +% references will stay if there are more than one letter to be processed +\newbox\@UB \newbox\@UK \newbox\@OK \newbox\@Dt +\def\yourletter#1{\@defrefveld{\@UB}{\yourlettername}{#1}} +\def\yourref#1{\@defrefveld{\@UK}{\yourrefname}{#1}} +\def\ourref#1{\@defrefveld{\@OK}{\ourrefname}{#1}} +\def\date#1{\def\@tempa{}\def\@tempb{#1}\ifx\@tempa\@tempb + \setbox\@Dt\hbox{ }\else\@defrefveld{\@Dt}{\datetext}{#1}\fi} +% Date is initialized to \today in \brief, +% without any statement concerning date there will not be any. + +\def\referentieregel{\hbox + {\hbox to \refveldbreedte{\copy\@UB\hfil}% + \hbox to \refveldbreedte{\copy\@UK\hfil}% + \hbox to \refveldbreedte{\copy\@OK\hfil}% + \hbox to \refveldbreedte{\copy\@Dt\hfil}\hss}} + +\newbox\@Ad % To: initialized in \brief +\def\vervolgreferentieregel{\hbox + {\hbox to \refveldbreedte{\copy\@Ad\hfil}% + \hskip\refveldbreedte + \hbox to \refveldbreedte{\copy\@Dt\hfil}% + \@refveld{\headpagename}{\thepage}\hss}} + +%%%%%%%%%%%%%%%%%%%%%%%%% headers / footers %%%%%%%%%%%%%%%%%%%%%%% +\def\briefhoofd{}\def\vervolghoofd{\vbox{}} +\def\maakbriefhoofd + {\@ifstar {\@kortvervolgbriefhoofd}{\@langvervolgbriefhoofd}} +\def\@kortvervolgbriefhoofd + #1#2{ + \@maakbriefhoofd{#1}{#2} + \def\vervolghoofd{\vbox{\hsize=4\refveldbreedte + \hbox to \hsize{\Large \sf #1\strut\hfil} + \hrule \kern2mm \vervolgreferentieregel}}} +\def\@langvervolgbriefhoofd + #1#2{ + \@maakbriefhoofd{#1}{#2} + \def\vervolghoofd{\vbox{\briefhoofd\vskip2mm + \vervolgreferentieregel + \vbox{}}}} +\def\@maakbriefhoofd#1#2{\def\briefhoofd{% + \vbox{\hsize=4\refveldbreedte + \hbox to \hsize{\Large \sf #1\strut\hfil} + \hrule + \moveright 3\refveldbreedte\@refveld{\strut #2}{} + \vbox{}}}} +\newbox\@voetruimte \setbox\@voetruimte=\hbox{} +\newcount\@voetteller +\def\voetregel{\copy\@voetruimte} +\def\voetitem#1#2{\advance\@voetteller by 1 + \setbox\@voetruimte=\hbox to 4\refveldbreedte + {\unhbox\@voetruimte + \ifcase\@voetteller \relax \or \relax \or + \hfil \else \hfill \fi + \@refveld{#1}{#2}\hskip0cm plus 3\refveldbreedte}} +\def\ps@empty{ + \def\@oddhead{}\def\@oddfoot{} + \def\@evenhead{}\def\@evenfoot{}} +\def\ps@plain{ + \def\@oddhead{}\def\@evenhead{} + \def\@oddfoot{\rm\hfil\thepage} + \let\@evenfoot=\@oddfoot} +%% hss because head and foot are to wide. +\def\@hss{\hskip 0cm plus 1filll minus 1filll\relax} +\def\ps@headings{ + \def\@oddhead{\vbox to \@otherheadheight + {\vervolghoofd\vfil + \if@streepjes\streepjes{\@otherheadheight}\fi}% + \hss} + \let\@evenhead=\@oddhead + \def\@oddfoot{\voetregel\hss} \let\@evenfoot=\@oddfoot} +\def\ps@firstpage{\global\headheight=\@otherheadheight + \global\textheight=\@othertextheight %?? werkt dit ?? + \global\headsep=\@otherheadsep + \def\@oddhead{\vbox to \@firstheadheight + {\briefhoofd\vfil + \if@streepjes\streepjes{\@firstheadheight}\fi}% + \hss} + \def\@evenhead{} + \def\@oddfoot{\voetregel\hss} \let\@evenfoot=\@oddfoot} + +\ps@headings + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% strips %%%%%%%%%%%%%%%%%%%%%%%%%% +%% only for envelopes EN-DL-V implemented +\def\streepje{\hbox to 2mm{\hrulefill}} +\def\streepjes#1{\vbox to 0cm + {\kern-#1 %% to the top of the heading, 13mm below + \hbox to \textwidth %% the top of the paper + {\llap{\perfstreepje\kern24mm}\hfill %% 7mm from the top at 33mm + \rlap{\kern24mm\vouwstreepjes}} %% 7mm from the top at 33mm + \vss}} %% see textwidth above. +\def\perfstreepje {\vtop{\kern\z@ + \kern 135mm %% 297/2 - 13 + \streepje}} +\def\vouwstreepjes{\vtop{\kern\z@ + \kern 92mm %% 105-13 + \streepje %% supposed to be without any width + \kern 50mm %% 155-150 + \streepje}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%% lists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% from `artikel3' +\def\@listi{\leftmargin\leftmargini + \labelsep=.5em + \labelwidth=\leftmargin \advance\labelwidth by -\labelsep + \topsep=-.5\parskip plus 1pt %V half the amount of white around lists + \parsep \z@ %V defaults added + \itemsep \parsep} %V defaults added +\def\@listii{\leftmargin\leftmarginii \labelsep=.5em + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep=-.5\parskip plus 1pt %V half the amount of white around lists + \parsep \z@ %V zeroed + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii \labelsep=.5em + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep=-.5\parskip plus 1pt %V half the amount of white around lists + \parsep \z@ + \partopsep \z@ %V zeroed + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv \labelsep=.5em + \topsep=-.5\parskip plus 1pt %V half the amount of white around lists + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv \labelsep=.5em + \topsep=-.5\parskip plus 1pt %V half the amount of white around lists + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi \labelsep=.5em + \topsep=-.5\parskip plus 1pt %V half the amount of white around lists + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\leftmargini 2.5em +\leftmarginii 2.2em \leftmarginiii 1.87em +\leftmarginiv 1.7em \leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelwidth\leftmargini\advance\labelwidth-\labelsep +\labelsep 5pt +\parsep 0pt + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% varia %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\parskip .7em plus .3em minus .2em +\parindent 0pt \topsep .4em \partopsep 0pt \itemsep .4em +\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 +\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty +-\@lowpenalty + + +\def\labelenumi{\arabic{enumi}.} +\def\theenumi{\arabic{enumi}} +\def\labelenumii{(\alph{enumii})} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{\roman{enumiii}.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\Alph{enumiv}.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -15pt\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 15pt}\item[]} +\let\endverse\endlist +\def\quotation{\list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin}\item[]} +\let\endquotation=\endlist +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \bf #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} +\let\enddescription\endlist + + +\def\theequation{\arabic{equation}} + +\arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt +\tabbingsep \labelsep +\skip\@mpfootins = \skip\footins +\fboxsep = 3pt \fboxrule = .4pt + +\def\footnoterule{\kern-1\p@ + \hrule width .4\columnwidth + \kern .6\p@} + +\long\def\@makefntext#1{\noindent + \hbox to \leftmargini{${\@thefnmark}$.\hfil}#1} + + +\c@topnumber=2 +\def\topfraction{.7} +\c@bottomnumber=1 +\def\bottomfraction{.3} +\c@totalnumber=3 +\def\textfraction{.2} +\def\floatpagefraction{.5} +\c@dbltopnumber= 2 +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + + +\smallskipamount=.5\parskip \medskipamount=\parskip +\bigskipamount=2\parskip +\pagenumbering{arabic} \onecolumn \@fileswfalse + +%%%%%%%%%%%%%%%%%%%%%%%%%% labels %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\startlabels{\labelcount=0 \baselineskip=0pt \lineskip=0pt +\pagestyle{empty} +\let\@texttop=\relax +\topmargin -50pt +\headsep 0pt +\oddsidemargin -35pt +\evensidemargin -35pt +\textheight 10in +\@colht\textheight \@colroom\textheight \vsize\textheight +\textwidth 550pt +\columnsep 25pt +\xpt +\baselineskip=0pt +\lineskip=0pt +\boxmaxdepth=0pt +\twocolumn\relax} +\def\mlabel#1#2{\setbox0\vbox{\parbox[b]{3.6in}{\strut\ignorespaces #2}} + \vbox to 2in{\vss \box0 \vss}} + +%% and finally, muchos against my will, emulation of original +%% LaTeX letter style. +\let\letter=\brief \let\endletter=\endbrief +\let\closing=\afsluiting +\def\signature{\ondertekening} +\def\encl{\@ifstar{\bijlage}{\bijlagen}} +\def\address#1{\maakbriefhoofd*{}{#1}} +\let\re=\betreft + +%% with english translations of extra commands +\let\footitem=\voetitem +\def\windowright{\@adresrechtstrue} +\gdef\b@ckaddress#1{\def\backaddressname{#1}} +\gdef\makehead{\let\backaddress\b@ckaddress\maakbriefhoofd} +\ifx\undefined\rename\def\rename{Re}\fi +\ifx\undefined\psname\def\psname{P.S.:}\fi +\ifx\undefined\ccname\def\psname{cc.:}\fi +\ifx\undefined\enclname\def\enclname{Enclosure:}\fi +\ifx\undefined\enclnames\def\enclnames{Enclosures:}\fi +\ifx\undefined\headtoname\def\headtoname{To}\fi +\ifx\undefined\yourlettername\def\yourlettername{Your letter of}\fi +\ifx\undefined\yourrefname\def\yourrefname{Your reference}\fi +\ifx\undefined\ourrefname\def\ourrefname{Our reference}\fi +\ifx\undefined\datetext\def\datetext{Date}\fi +\ifx\undefined\headpagename\def\headpagename{Page}\fi +\endinput diff --git a/obsolete/macros/latex209/contrib/ml/mlletter.tex b/obsolete/macros/latex209/contrib/ml/mlletter.tex new file mode 100644 index 0000000000..217e7b7838 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/mlletter.tex @@ -0,0 +1,33 @@ +% +% Generic TeX/LaTeX preamble for address.tex . +% +\ifundefined{LaTeX} % TeX + \magnification=\magstep1 + \voffset=0in + \hoffset=0in + \vsize=9in + \hsize=6.5in + \nopagenumbers + % + \def\\{\hfil\break} + \def\newpage{\vfil\eject} +\else % LaTeX + \documentstyle[12pt,ml,places,streepjes]{mlletter} + \topmargin 0in + \headheight 0in + \headsep 0in + \oddsidemargin 0in + \textheight 9in + \textwidth 6.5in + \pagestyle{empty} + \def\letter{} + \def\endletter{} + \makeatletter + \long\def\letter{\ifx\@empty\fromaddress + \brief{\Name\relax\\\AddrBlock{1}}\else + \brief{\Name\relax\\\AddrBlock{1}\address}\fi} + \let\endletter\endbrief + \makeatother +\fi +% For sending within the country: +\def\holland{} diff --git a/obsolete/macros/latex209/contrib/ml/multicol.sty b/obsolete/macros/latex209/contrib/ml/multicol.sty new file mode 100644 index 0000000000..3a17442a04 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/multicol.sty @@ -0,0 +1,525 @@ +%% +%% This is file `multicol.sty', generated +%% on <1993/9/27> with the docstrip utility (2.0r). +%% +%% The original source files were: +%% +%% multicol.doc (with options: `style,check,marktrace') +%% +%% Copyright (C) 1989-1992 by Frank Mittelbach. All rights reserved. +%% +%% This file is part of the multicol package. +%% +%% IMPORTANT NOTICE: +%% +%% You are not allowed to change this file. You may however copy +%% this file to a file with a different name and then change the copy +%% if you obey the restrictions on file changes described in +%% readme.mz. +%% +%% You are NOT ALLOWED to distribute this file alone. You are NOT +%% ALLOWED to take money for the distribution or use of this file (or +%% a changed version) except for a nominal charge for copying etc. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in readme.mz1. +%% +%% If you receive only some of these files from someone, complain! +%% +%% However, if these files are distributed by established suppliers +%% as part of a complete TeX distribution, and the structure of the +%% distribution would make it difficult to distribute the whole set +%% of files, *those parties* are allowed to distribute only some of +%% the files provided that it is made clear that the user will get a +%% complete distribution-set upon request to that supplier (not me). +%% Notice that this permission is not granted to the end user. +%% +%% +%% For error reports in case of UNCHANGED versions see readme.mz +%% +%% +\def\fileversion{v1.4m} +\def\filedate{92/09/04} +\def\docdate {92/09/04} + +%% \CheckSum{1101} +%% \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 \~} +%% +%% Style-option `multicol' to use with LaTeX v2.09 +%% Copyright (C) 1989-1992 Frank Mittelbach, all rights reserved. +\@ifundefined{mult@cols}{}{\endinput} +\typeout{Style option: `multicol' + \fileversion\space <\filedate> (FMi)} +\typeout{English documentation + \@spaces\@spaces\space<\docdate> (FMi)} +\def\multicols#1{\col@number#1\relax + \ifnum\col@number<\tw@ + \@warning{Using `\number\col@number' + columns doesn't seem a good idea.^^J + I therefore use two columns instead}% + \col@number\tw@ \fi + \ifnum\col@number>5 + \@warning{Current implementation doesn't + support more than five columns.^^J + I therefore use five columns instead}% + \col@number5 \fi + \@ifnextchar[\mult@cols{\mult@cols[]}} +\def\mult@cols[#1]{\@ifnextchar[% + {\mult@@cols{#1}}% + {\mult@@cols{#1}[\premulticols]}} +\def\mult@@cols#1[#2]{% + \par + \ifinner \@boxedmulticolstrue + \else + \ifnum \doublecol@number>\z@ + \@boxedmulticolstrue + \fi + \fi + \ifnum\c@tracingmulticols>\z@ + \typeout{^^J^^JStarting multicolumn + output with \the\col@number + \space columns% + \if@boxedmulticols\space + (boxed mode)\fi + \on@line:^^J}\fi + \enough@room{#2}% + {#1\par}\addvspace\multicolsep + \begingroup + \prepare@multicols + \if@boxedmulticols + \setbox\mult@box\vbox\bgroup + \penalty-\@M + \fi + \ignorespaces} +\newif\if@boxedmulticols \@boxedmulticolsfalse +\newbox\mult@box +\def\enough@room#1{% + \if@boxedmulticols\else + \par + \bgroup\@nobreakfalse\addpenalty\z@\egroup + \page@free \pagegoal + \advance \page@free -\pagetotal + \ifnum \c@tracingmulticols>\z@ + \typeout{Current page:}% + \message{\@spaces goal height=% + \the\pagegoal: used \the\pagetotal + \space -> free=\the\page@free}% + \typeout{\@spaces needed \the#1 + (for \string#1)}\fi + \ifdim \page@free <#1\newpage \fi + \fi} +\def\prepare@multicols{% + \multicol@leftmargin\@totalleftmargin + \@totalleftmargin\z@ + \parshape\z@ + \doublecol@number\col@number + \multiply\doublecol@number\tw@ + \if@boxedmulticols + \let\l@kept@firstmark\kept@firstmark + \let\l@kept@botmark\kept@botmark + \global\let\kept@firstmark\@empty + \global\let\kept@botmark\@empty + \else + \nointerlineskip \null + \output{% + \global\setbox\partial@page\vbox + {% + \ifvoid\partial@page\else + \@latexerr{Error saving partial + page\on@line}% + {The part of the page before + the multicols environment was + nearly full with the result + that starting the environment + will produce an overfull + page. Some text may be lost! + Please increase \premulticols + either generally or for this + environment by specifying a + suitable value in the second + optional argument to the + multicols environment.} + \unvbox\partial@page + \box\last@line + \fi + \unvbox\@cclv + \global\setbox\last@line\lastbox + }% + \prep@keptmarks + \global\let\kept@topmark\firstmark + }\eject + \advance\@colroom-\ht\partial@page + \vsize\col@number\@colroom + \advance\vsize\c@collectmore\baselineskip + \output{\multi@column@out}% + \multiply\count\footins\col@number + \multiply\skip \footins\col@number + \reinsert@footnotes + \fi + \vbadness10001 \hbadness5000 + \tolerance\multicoltolerance + \pretolerance\multicolpretolerance + \setemergencystretch\col@number\hsize + \set@floatcmds + \advance\baselineskip\multicolbaselineskip + \hsize\linewidth \advance\hsize\columnsep + \advance\hsize-\col@number\columnsep + \divide\hsize\col@number + \full@width\linewidth + \linewidth\hsize +} +\newdimen\multicol@leftmargin +\def\endmulticols{\par + \if@boxedmulticols + \egroup + \setbox\@tempboxa\vsplit\mult@box to\z@ + \balance@columns + \return@nonemptymark{first}\kept@firstmark + \return@nonemptymark{bot}\kept@botmark + \page@sofar + \global\let\kept@firstmark\l@kept@firstmark + \global\let\kept@botmark\l@kept@botmark + \ifnum\c@tracingmulticols>\tw@ + \typeout{Restore kept marks to% + ^^J first: \meaning\kept@firstmark% + ^^J bot\space\space: + \meaning\kept@botmark }% + \fi + \else + \bgroup\@nobreakfalse\addpenalty\z@\egroup + \output{\balance@columns@out}\eject + \ifvbox\partial@page\unvbox\partial@page\fi + \global\let\kept@firstmark\@empty + \global\let\kept@botmark\@empty + \ifnum\c@tracingmulticols>\tw@ + \typeout{Make kept marks empty}% + \fi + \fi + \@checkend{multicols}% + \endgroup + \if@boxedmulticols\else + \reinsert@footnotes + \fi + \global\c@unbalance\z@ + \enough@room\postmulticols + \addvspace\multicolsep + \ifnum\c@tracingmulticols>\z@ + \typeout{^^JEnding multicolumn + output% + \if@boxedmulticols + \space(boxed mode)\fi + .^^J^^J}\fi} +\newcount\c@unbalance +\newcount\c@collectmore +\newcount\c@tracingmulticols +\newcount\col@number +\newcount\doublecol@number +\newcount\multicoltolerance +\newcount\multicolpretolerance +\newdimen\full@width +\newdimen\page@free +\newdimen\premulticols +\newdimen\postmulticols +\newskip\multicolsep +\newskip\multicolbaselineskip +\newbox\partial@page +\newbox\last@line +\c@unbalance = 0 +\c@collectmore = 0 +\c@tracingmulticols = 0 +\col@number = 1 +\multicoltolerance = 9999 +\multicolpretolerance = -1 +\premulticols = 50pt +\postmulticols= 20pt +\multicolsep = 12pt plus 4pt minus 3pt +\multicolbaselineskip=0pt +\def\process@cols#1#2{\count@#1\relax + \loop #2% + \advance\count@\tw@ + \ifnum\count@<\doublecol@number + \repeat} +\def\page@sofar{% + \process@cols\z@{\wd\count@\hsize}% + \ifnum\c@tracingmulticols>\z@ + \typeout{Column spec: + (\the\multicol@leftmargin\space --> + \the\full@width\space = \the\hsize + \space x \the\col@number)^^J}% + \fi +\ifvmode\else\errmessage{Multicol Error}\fi + \moveright\multicol@leftmargin + \hbox to\full@width{% + \process@cols\tw@{\box\count@ + \hss\vrule\@width\columnseprule\hss}% + \box\z@ + \rlap{\phantom p}% +}% +} +\def\reinsert@footnotes{\ifvoid\footins\else + \insert\footins{}\fi} +\def\multi@column@out{% + \ifnum\outputpenalty <-\@Mi + \speci@ls \else + \splittopskip\topskip + \splitmaxdepth\maxdepth + \dimen@\@colroom + \divide\skip\footins\col@number + \ifvoid\footins \else + \advance\dimen@-\skip\footins + \advance\dimen@-\ht\footins \fi + \process@cols\tw@{\setbox\count@ + \vsplit\@cclv to\dimen@ + \set@keptmarks + \ifshr@nking + \setbox\count@\vbox to\dimen@ + {\unvbox\count@\vfill}% + \fi + }% + \setbox\z@\vsplit\@cclv to\dimen@ + \set@keptmarks + \ifshr@nking + \setbox\z@\vbox to\dimen@ + {\unvbox\z@\vfill}% + \fi + \ifvoid\@cclv \else + \unvbox\@cclv + \penalty\outputpenalty + \ifvoid\footins\else + \@warning{I moved some lines to + the next page.^^J + \@spaces Footnotes on page + \thepage\space might be wrong}% + \fi + \ifnum \c@tracingmulticols>\thr@@ + \hrule\allowbreak \fi + \fi + \ifx\@empty\kept@firstmark + \let\firstmark\kept@topmark + \let\botmark\kept@topmark + \else + \let\firstmark\kept@firstmark + \let\botmark\kept@botmark + \fi + \ifnum\c@tracingmulticols>\tw@ + \typeout{Use kept top + \space\space mark: + `\meaning\kept@topmark'% + ^^JUse kept first mark: + `\meaning\kept@firstmark'% + ^^JUse kept bot + \space\space mark: + `\meaning\kept@botmark'% + ^^JProduce first mark: + `\meaning\firstmark'% + ^^JProduce bot + \space\space mark: + `\meaning\botmark'}% + \fi + \setbox\@cclv\vbox{\unvbox\partial@page + \page@sofar}% + \@makecol\@outputpage + \global\let\kept@topmark\botmark + \global\let\kept@firstmark\@empty + \global\let\kept@botmark\@empty + \ifnum\c@tracingmulticols>\tw@ + \typeout{(Re)Init top + \space\space mark: + `\meaning\kept@topmark'}% + \fi + \global\@colroom\@colht + \process@deferreds + \@whilesw\if@fcolmade\fi{\@outputpage + \global\@colroom\@colht + \process@deferreds}% + \ifnum\c@tracingmulticols>\@ne + \typeout{Colroom: \the\@colht\space + after float space removed + = \the\@colroom }\fi + \global\vsize\col@number\@colroom + \global\advance\vsize + \c@collectmore\baselineskip + \fi} +\def\speci@ls{% + \typeout{Floats and marginpars not + allowed inside `multicols' + environment!}% + \unvbox\@cclv\reinsert@footnotes + \xdef\@freelist{\@freelist\@currlist}% + \gdef\@currlist{}} +\def\process@deferreds{% + \@floatplacement + \@tryfcolumn\@deferlist + \if@fcolmade\else + \begingroup + \let\@tempb\@deferlist + \gdef\@deferlist{}% + \let\@elt\@scolelt + \@tempb \endgroup + \fi} +\newif\ifshr@nking +\def\raggedcolumns{% + \@bsphack\shr@nkingtrue\@esphack} +\def\flushcolumns{% + \@bsphack\shr@nkingfalse\@esphack} +\def\balance@columns@out{% + \setbox\mult@box\vbox{\unvbox\@cclv}% + \balance@columns + \global\vsize\@colroom + \global\advance\vsize\ht\partial@page + \unvbox\partial@page + \return@nonemptymark{first}\kept@firstmark + \return@nonemptymark{bot}\kept@botmark + \page@sofar} +\def\balance@columns{% + \setbox\mult@box\vbox to\ht\mult@box{% + \unvbox\mult@box + \remove@discardable@items + }% + \get@keptmarks\mult@box + \splittopskip\topskip + \splitmaxdepth\maxdepth + \@tempdima\ht\mult@box + \advance\@tempdima\dp\mult@box + \divide\@tempdima\col@number + \count@\@tempdima + \divide\count@\baselineskip + \dimen@\count@\baselineskip + \advance\dimen@\topskip + \ifdim \dimen@ >\@tempdima + \advance\dimen@-\baselineskip + \fi + \advance\dimen@\c@unbalance\baselineskip + \ifnum\c@tracingmulticols>\@ne + \typeout{Balance columns\on@line: + \ifnum\c@unbalance=\z@\else + (off balance=\number\c@unbalance)\fi}% + \fi + \ifnum\dimen@<\topskip + \ifnum\c@tracingmulticols>\@ne + \typeout{Start value + \the\dimen@ \space -> + \the\topskip \space (corrected)}% + \fi + \dimen@\topskip + \fi + \vbadness\@M \loop + {\process@cols\@ne{\global\setbox\count@ + \box\voidb@x}}% + \global\setbox\@ne\copy\mult@box + {\process@cols\thr@@{% + \global\setbox\count@ + \vsplit\@ne to\dimen@ + }}% + \boxmaxdepth\maxdepth + \global\setbox\@ne\vbox{\unvbox\@ne}% + \ifnum\c@tracingmulticols>\@ne + \message{\@spaces First column + = \the\ht\thr@@}\fi + \ifshr@nking \global\setbox\thr@@ + \vbox{\unvbox\thr@@}% + \ifnum\c@tracingmulticols>\@ne + \message{ after shrinking + \the\ht\thr@@}\fi\fi + \ifnum\c@tracingmulticols>\@ne + \message{<> last column = + \the\ht\@ne^^J}% + \fi + \ifdim\ht\@ne >\ht\thr@@ + \advance\dimen@\p@ + \repeat + \dimen@\ht\thr@@ + \ifdim\dimen@>\@colroom + \dimen@\@colroom + \fi + \process@cols\z@{\@tempcnta\count@ + \advance\@tempcnta\@ne + \setbox\count@\vbox to\dimen@ + {\unvbox\@tempcnta + \ifshr@nking\vfill\fi}}% +} +\@ifundefined{emergencystretch} + {\newdimen\emergencystretch}{} +\def\setemergencystretch#1#2{% + \emergencystretch 4pt + \multiply\emergencystretch#1} + +\def\set@floatcmds{% + \let\@dblfloat\@dbflt + \def\end@dblfloat{\par + \vskip\z@\egroup + \ifnum\@floatpenalty<\z@ + \@cons\@deferlist\@currbox + \fi + \ifnum\@floatpenalty=-\@Mii + \@esphack + \fi}} +\def\kept@topmark{{}{}} +\let\kept@firstmark\@empty +\let\kept@botmark\@empty +\def\return@nonemptymark#1#2{% + \ifx#2\@empty + \else + \ifnum\c@tracingmulticols>\tw@ + \typeout{Returned #1 mark: \meaning#2}% + \nobreak + \fi + \mark{#2}% + \nobreak + \fi} +\def\get@keptmarks#1{% + \begingroup + \vbadness\@M + \setbox#1\copy#1% + \setbox#1\vsplit#1to\maxdimen + \set@keptmarks + \endgroup +} +\def\set@keptmarks{% + \ifx\kept@firstmark\@empty + \expandafter\gdef\expandafter + \kept@firstmark + \expandafter{\splitfirstmark}% + \ifnum\c@tracingmulticols>\tw@ + \ifx\kept@firstmark\@empty\else + \typeout{Set kept first mark: + `\meaning\kept@firstmark'}% + \fi + \fi + \fi + \expandafter\def\expandafter\@tempa + \expandafter{\splitbotmark}% + \ifx\@tempa\@empty\else + \global\let\kept@botmark\@tempa + \ifnum\c@tracingmulticols>\tw@ + \typeout{Set kept bot mark: + `\meaning\kept@botmark'}% + \fi + \fi}% +\def\prep@keptmarks{% + \if@boxedmulticols \else + \get@keptmarks\partial@page + \fi} +\def\remove@discardable@items{% + \unskip\unpenalty\unkern + \unskip\unpenalty\unkern + \unskip\unpenalty\unkern + \unskip\unpenalty\unkern +} +\endinput +%% +%% End of file `multicol.sty'. diff --git a/obsolete/macros/latex209/contrib/ml/newdoc.sty b/obsolete/macros/latex209/contrib/ml/newdoc.sty new file mode 100644 index 0000000000..581c985fae --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/newdoc.sty @@ -0,0 +1,65 @@ +%% +%% This is file `newdoc.sty', generated +%% on <1993/9/27> with the docstrip utility (2.0r). +%% +%% The original source files were: +%% +%% newdoc.doc +%% +%% Copyright (C) 1989-1992 by Frank Mittelbach. All rights reserved. +%% +%% This file is part of the doc package. +%% +%% IMPORTANT NOTICE: +%% +%% You are not allowed to change this file. You may however copy +%% this file to a file with a different name and then change the +%% copy if you obey the restrictions on file changes described in +%% readme.mz. +%% +%% You are NOT ALLOWED to distribute this file alone. You are NOT +%% ALLOWED to take money for the distribution or use of this file +%% (or a changed version) except for a nominal charge for copying +%% etc. +%% +%% You are allowed to distribute this file under the condition that +%% it is distributed together with all files mentioned in +%% readme.mz0. +%% +%% If you receive only some of these files from someone, complain! +%% +%% However, if these files are distributed by established suppliers +%% as part of a complete TeX distribution, and the structure of the +%% distribution would make it difficult to distribute the whole set +%% of files, *those parties* are allowed to distribute only some of +%% the files provided that it is made clear that the user will get +%% a complete distribution-set upon request to that supplier (not +%% me). Notice that this permission is not granted to the end +%% user. +%% +%% +%% For error reports in case of UNCHANGED versions see readme.mz +%% +%% + +%% \CheckSum{1} +%% \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 \~} +%% +\input{doc.sty} +\endinput +%% +%% End of file `newdoc.sty'. diff --git a/obsolete/macros/latex209/contrib/ml/places.sty b/obsolete/macros/latex209/contrib/ml/places.sty new file mode 100644 index 0000000000..630cc580c1 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/places.sty @@ -0,0 +1,63 @@ +\def\belgium {\iflanguage{dutch} {Belgi\"e} + {\iflanguage{french} {La Belgique} + {\iflanguage{german} {Belgien} + {\iflanguage{greek} {B'elgion} + {\iflanguage{russian} {Bel{\cprime}gi{\ya}} + {Belgium}}}}}} +\def\ethiopia {\iflanguage{dutch} {Ethiopi\"e} + {\iflanguage{french} {L'\'Ethiopie} + {\iflanguage{german} {\"Athiopien} + {\iflanguage{greek} {>Aijiop'ia} + {\iflanguage{russian} {\Efiopi{\ya}} + {Ethiopia}}}}}} +\def\germany {\iflanguage{dutch} {Duitsland} + {\iflanguage{french} {L'Alemagne} + {\iflanguage{german} {Deutschland} + {\iflanguage{greek} {German'ia} + {\iflanguage{russian} {Germani{\ya}} + {Germany}}}}}} +\def\holland {\iflanguage{dutch} {Nederland} + {\iflanguage{french} {Les Pays Bas} + {\iflanguage{german} {Die Niederlande} + {\iflanguage{greek} {K'atw Q~wrai} + {\iflanguage{russian} {Niderlandy} + {The Netherlands}}}}}} +\def\ireland {\iflanguage{dutch} {Ierland} + {\iflanguage{french} {L'Irlande} + {\iflanguage{german} {Irland} + {\iflanguage{greek} {>Irland'ia} + {\iflanguage{russian} {Irlandi{\ya}} + {Ireland}}}}}} +\def\israel {\iflanguage{dutch} {Isra\"el} + {\iflanguage{french} {L'Israel} + {\iflanguage{greek} {>Isra'hl} + {\iflanguage{russian} {Izrail{\cprime}} + {Israel}}}}} +\def\italy {\iflanguage{dutch} {Itali\"e} + {\iflanguage{french} {L'Italie} + {\iflanguage{german} {Italien} + {\iflanguage{greek} {>Ital'ia} + {\iflanguage{russian} {Itali{\ya}} + {Italy}}}}}} +\def\kenya {\iflanguage{german} {Kenia} + {\iflanguage{greek} {K'enia} + {\iflanguage{russian} {Ken{\ya}} + {Kenya}}}} +\def\rwanda {\iflanguage{dutch} {Rwanda} + {\iflanguage{french} {Le Rwanda} + {\iflanguage{greek} {Rou'anda} + {Rwanda}}}} +\def\tanzania {\iflanguage{french} {La Tanzanie} + {\iflanguage{german} {Tansania} + {\iflanguage{greek} {Tanzan'ia} + {Tanzania}}}} +\def\usa {\iflanguage{dutch} {Verenigde Staten} + {\iflanguage{french} {Les \'Etats-Unies} + {\iflanguage{german} {Vereinigte Staaten} + {\iflanguage{greek} { } + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " \and " * t * } % <---------- + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", \editors" * } % <---------- + { ", \editor" * } % <---------- + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {format.isbn} +{ isbn empty$ + { "" } + { "{\sc isbn}~" isbn * } + if$ +} + +FUNCTION {format.conference} +{ organization empty$ + { "\conference\atplace " address * } + { "\conference\Of " organization * " \atplace " address * * } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year + { month " " * year * } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "\volume~" volume * %% tie.or.space.connect % <---------- ff. + series empty$ + 'skip$% { ", \volume" } % + { " \of " * series emphasize * }%{ ", " series emphasize * ", \volume" * } % + if$ + "volume and number" number either.or.check% volume tie.or.space.connect % + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " \in " * series * } % \In ? + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { edition "1" = + { "\first" } % Tweede + { edition "2" = + { "\second" } + { edition "3" = + { "\third" } + { "\higherthenthird" edition * } + if$ + } + if$ + } + if$ + % output.state mid.sentence = + % { "l" change.case$ " \edition" * } % <---------- + % { "t" change.case$ " \edition" * } % <---------- + % if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "\pages" pages n.dashify tie.or.space.connect } % <---------- + { "\page" pages tie.or.space.connect } % <---------- + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ":" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "\chaptername" } % <---------- + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "\from " booktitle emphasize * } % <---------- Uit ! + { "\from " format.editors * ", " * booktitle emphasize * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "\technicalreport" } % <---------- + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "\from {\em " journal * "\/}" * } % <---------- In ! + if$ + } + { "\from " key * } % <---------- In ! + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " \and " * editor #2 "{vv~}{ll}" format.name$ * } % <---------- + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "\from " % <---------- In ! + } + { "\volume~" volume %% tie.or.space.connect % <---------- + " \of " * % <---------- + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "\from {\em " booktitle * "\/}" * } % <---------- + if$ + } + { "\from " key * } % <---------- + if$ + } + { "\from " format.crossref.editor * } % <---------- + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + format.isbn "isbn" output.check + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + format.isbn "isbn" output.check + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + organization output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {conference} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check + } + { format.conference "conference" output.check + format.date "year" output.check + new.sentence + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { address new.block.checka + address output + } + 'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + "\masters" format.thesis.type output.nonnull % <---------- + school "school" output.check + address output + format.date "year" output.check + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + "\phdthesis" format.thesis.type output.nonnull % <---------- + school "school" output.check + address output + format.date "year" output.check + format.isbn "isbn" output.check + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + new.block + note output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + note "note" output.check + address output %% ! %% + format.date output + abstract empty$ %% + { fin.entry } %% + { abstract.entry } %% + if$ %% +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"\jan"} % <---------- ff. +MACRO {feb} {"\feb"} +MACRO {mar} {"\mar"} +MACRO {apr} {"\apr"} +MACRO {may} {"\may"} +MACRO {jun} {"\jun"} +MACRO {jul} {"\jul"} +MACRO {aug} {"\aug"} +MACRO {sep} {"\sep"} +MACRO {oct} {"\oct"} +MACRO {nov} {"\nov"} +MACRO {dec} {"\dec"} + +MACRO {acmcs} {"{\sc Acm} Computing Surveys"} +MACRO {acta} {"Acta Informatica"} +MACRO {cacm} {"Communications of the {\sc Acm}"} +MACRO {ibmjrd} {"{\sc Ibm} Journal of Research and Development"} +MACRO {ibmsj} {"{\sc Ibm} Systems Journal"} +MACRO {ieeese} {"{\sc Ieee} Transactions on Software Engineering"} +MACRO {ieeetc} {"{\sc Ieee} Transactions on Computers"} +MACRO {ieeetcad} + {"{\sc Ieee} Transactions on Computer-Aided Design of Integrated Circuits"} +MACRO {ipl} {"Information Processing Letters"} +MACRO {jacm} {"Journal of the {\sc Acm}"} +MACRO {jcss} {"Journal of Computer and System Sciences"} +MACRO {scp} {"Science of Computer Programming"} +MACRO {sicomp} {"{\sc Siam} Journal on Computing"} +MACRO {tocs} {"{\sc Acm} Transactions on Computer Systems"} +MACRO {tods} {"{\sc Acm} Transactions on Database Systems"} +MACRO {tog} {"{\sc Acm} Transactions on Graphics"} +MACRO {toms} {"{\sc Acm} Transactions on Mathematical Software"} +MACRO {toois} {"{\sc Acm} Transactions on Office Information Systems"} +MACRO {poplas} {"{\sc Acm} Transactions on Programming Languages and Systems"} +MACRO {tcs} {"Theoretical Computer Science"} +MACRO {Dokl} {"{\cyr Doklady Akademij Nauk SSSR}"} +MACRO {Usp} {"{\cyr Uspe\ch i Akademij Nauk SSSR}"} +MACRO {FizElJa} + {"{\cyr Fizika {\E}lementarni\ch\ {\Cz}astic i Atomnogo {\Ja}dra}"} +MACRO {PiZETF} {"{\cyr Pis{\mz}ma v {\Z}\E TF}"} +MACRO {ZETF} + {"{\cyr {\Z}urnal \Eksperimental{\mz}noj i Teoreti{\cz}eskoj Fiziki}"} + +MACRO {AcP} {"Acta Physica"} +MACRO {AcPA} {"Acta Physica Austriaca"} +MACRO {AcPP} {"Acta Physica Polonica"} +MACRO {AdP} {"Advances in Physics"} +MACRO {AdNP} {"Advances in Nuclear Physics"} +MACRO {AmJP} {"American Journal of Physics"} +MACRO {ANA} {"Apostolate to the Nomads of {\sc Amecea}"} +MACRO {AnPDu} {"Annalen der Physik (Leipzig)"} +MACRO {AnPFr} {"Annales de Physique (\paris)"} +MACRO {AnPNY} {"Annals of Physics (\ny)"} +MACRO {ARevNS} {"Annual Review of Nuclear Science"} +MACRO {ADNDT} {"Atomic Data and Nuclear Data Tables"} +MACRO {AusJP} {"Australian Journal of Physics"} +MACRO {CanJP} {"Canadian Journal Physics"} +MACRO {CPC} {"Computer Physics Communications"} +MACRO {EJP} {"European Journal of Physics"} +MACRO {EPL} {"Europhysics Letters"} +MACRO {FBS} {"Few Body Systems"} +MACRO {FBSSup} {"Few Body Systems Supplement"} +MACRO {FortP} {"Fortschritte der Physik"} +MACRO {HePA} {"Helvetica Physica Acta"} +MACRO {IEEE} {"{\sc Ieee} Transactions"} +MACRO {IJMP} {"International Journal of Modern Physics"} +MACRO {JETP} {"{\sc Jetp}"} +MACRO {JETPL} {"{\sc Jetp} Letters"} +MACRO {JaFi} {"{\cyr {\Ja}derna\ja Fizika}"} +MACRO {JPFr} {"Journal de Physique (Paris)"} +MACRO {JP} {"Journal of Physics"} +MACRO {JPSJ} {"Journal of the Physical Society of Japan"} +MACRO {JPSJSup}{"Journal of the Physical Society of Japan Supplement"} +MACRO {MPL} {"Modern Physics Letters"} +MACRO {NCim} {"Il Nuovo Cimento"} +MACRO {NDS} {"Nuclear Data Sheets"} +MACRO {NP} {"Nuclear Physics"} +MACRO {PL} {"Physics Letters"} +MACRO {PRSLon} {"Proceedings of the Royal Society of London"} +MACRO {PR} {"Physical Review"} +MACRO {PRL} {"Physical Review Letters"} +MACRO {PRep} {"Physics Reports"} +MACRO {PScr} {"Physica Scripta"} +MACRO {PToday} {"Physics Today"} +MACRO {PTP} {"Progress of Theoretical Physics"} +MACRO {RMP} {"Reviews of Modern Physics"} +MACRO {ScAm} {"Scientific American"} +MACRO {SSin} {"Scienta Sinica"} +MACRO {SovJNP} {"Soviet Journal of Nuclear Physics"} +MACRO {SovJPN} {"Soviet Journal of Particles and Nuclei"} +MACRO {SovPDo} {"Soviet Physics Doklady"} +MACRO {SovPUs} {"Soviet Physics Uspekhi"} +MACRO {STS} {"Bulletin of Science, Technology and Social Affairs"} +MACRO {ZfN} {"Zeitschrift f{\H{u}}r Naturforschung"} +MACRO {ZfP} {"Zeitschrift f{\H{u}}r Physik"} + +MACRO {KUN} {"Katholieke Universiteit Nij\-me\-gen"} +MACRO {RUU} {"Rijksuniversiteit te Utrecht"} +MACRO {UvA} {"Universiteit van Amsterdam"} +MACRO {RUG} {"Rijksuniversiteit te Groningen"} +MACRO {RUL} {"Rijksuniversiteit te Leiden"} +MACRO {VU} {"Vrije Universiteit"} +MACRO {TUD} {"Technische Universiteit Delft"} + +MACRO {revised2} {"\secondrevised"} +MACRO {revised3} {"\thirdrevised"} +MACRO {revised4} {"\fourthrevised"} +MACRO {revised5} {"\fifthrevised"} +MACRO {revised6} {"\sixhrevised"} +MACRO {revised7} {"\seventhrevised"} +MACRO {revised8} {"\eightthrevised"} +MACRO {revised9} {"\ninthrevised"} + +MACRO {tbp} {"\tbp"} % <---------- +MACRO {own} {"\ownedition"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" +% s num.names$ 'numnames := +% numnames 'namesleft := +% { namesleft #0 > } +% { nameptr #1 > +% { " " * } +% 'skip$ +% if$ + s nameptr "{ll{ } }{vv{ }}{ f{ }}{ jj{ }}" format.name$ 't := % s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := +% nameptr numnames = t "others" = and +% { "et al" * } +% { +t sortify * %} +% if$ +% nameptr #1 + 'nameptr := +% namesleft #1 - 'namesleft := +% } +% while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ + "\addcontentsline{toc}{chapter}{\bibname}" write$ newline$ + "\def\makeabstract#1{\openin1{#1}\ifeof1 \relax" write$ newline$ + "\else\closein1 \relax\input{#1}\fi}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/obsolete/macros/latex209/contrib/ml/readme b/obsolete/macros/latex209/contrib/ml/readme new file mode 100644 index 0000000000..9657ae14c4 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/readme @@ -0,0 +1,24 @@ +This is ml.sty, a multilingual style option to generate documents in +LaTeX built on babel.sty (so you need babel.sty babel.switch and +babel.com) but which does much more translation than babel does. It is +still in the process of being developed. But I do not think I shall be +working on it for quite some time since I am leaving for Africa soon. +It is not yet compatible with LaTeX2e. Run docstrip on ml.doc. give +ml as your first option in your document. Select a language with the +command \selectlanguage{}. More information in the file mldoc.tex + +Some things to think about: + +I want the diaeresis to be closer to the character ("i) + +I want parallel columns + +I want compatability with LaTeX2e + +have fun + +Hans Stoks +somewhere in Africa +(E-mail: sanders@studs.sci.kun.nl --- Note: This is my brother, who +posted the package on the net for me. *Don't* flood him with mail about +ml.sty, as he doesn't know much about it.) diff --git a/obsolete/macros/latex209/contrib/ml/rgreek.sty b/obsolete/macros/latex209/contrib/ml/rgreek.sty new file mode 100644 index 0000000000..982fc6c514 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/rgreek.sty @@ -0,0 +1,129 @@ +\def\fileversion{v1.1} +\def\filedate{94/09/16} +\def\docdate {94/09/16} + +\expandafter\ifx\csname dategreek\endcsname\else\endinput\fi +\expandafter\ifx\csname selectfont\endcsname + \typeout{The `rgreek' style option can only be used + ^^Jwith the new font selection scheme.}\endinput\fi + \openin1 rgreekmac \ifeof1 + \typeout{! I can't find file `rgreekmac.tex'.} + \else\closein1 \relax\input{rgreekmac}\fi +\typeout{Style Option: `rgreek' + \fileversion\space <\filedate>} +\typeout{English Documentation: + \@spaces\space <\docdate>} + +\new@fontshape{greek}{m}{n}{% + <5>grreg8 at5pt% + <6>grreg8 at5.6pt% + <7>grreg8 at7pt% + <8>grreg8% + <9>grreg9% + <10>rgrrg10% + <11>rgrrg10 at10.95pt% + <12>rgrrg10 at12pt% + <14>rgrrg10 at14.4pt% + <17>rgrrg10 at17.28pt% + <20>rgrrg10 at20.74pt + <25>rgrrg10 at24.88pt}{}% +\new@fontshape{greek}{m}{tt}{% + <5>grtt8 at5pt% + <6>grtt8 at5.6pt% + <7>grtt8 at7pt% + <8>grtt8% + <9>grtt9% + <10>grtt10% + <11>grtt10 at10.95pt% + <12>grtt10 at12pt% + <14>grtt10 at14.4pt% + <17>grtt10 at17.28pt% + <20>grtt10 at20.74pt% + <25>grtt10 at24.88pt}{}% +\new@fontshape{greek}{m}{sl}{% + <5>rgrsl10 at5pt% + <6>rgrsl10 at5.6pt% + <7>rgrsl10 at7pt% + <8>rgrsl10 at8pt% + <9>rgrsl10 at9pt% + <10>rgrsl10% + <11>rgrsl10 at10.95pt% + <12>rgrsl10 at12pt% + <14>rgrsl10 at14.4pt% + <17>rgrsl10 at17.28pt% + <20>rgrsl10 at20.74pt% + <25>rgrsl10 at24.88pt}{}% +\new@fontshape{greek}{m}{it}{% + <5>rgrti10 at5pt% + <6>rgrti10 at5.6pt% + <7>rgrti10 at7pt% + <8>rgrti10 at8pt% + <9>rgrti10 at9pt% + <10>rgrti10% + <11>rgrti10 at10.95pt% + <12>rgrti10 at12pt% + <14>rgrti10 at14.4pt% + <17>rgrti10 at17.28pt% + <20>rgrti10 at20.74pt% + <25>rgrti10 at24.88pt}{}% +\new@fontshape{greek}{m}{sc}{% + <5>rgrsc10 at5pt% + <6>rgrsc10 at5.6pt% + <7>rgrsc10 at7pt% + <8>rgrsc10 at8pt% + <9>rgrsc10 at9pt% + <10>rgrsc10% + <11>rgrsc10 at10.95pt% + <12>rgrsc10 at12pt% + <14>rgrsc10 at14.4pt% + <17>rgrsc10 at17.28pt% + <20>rgrsc10 at20.74pt% + <25>rgrsc10 at24.88pt}{}% +\new@fontshape{greek}{bf}{n}{% + <5>grbld8 at5pt% + <6>grbld8 at5.6pt% + <7>grbld8 at7pt% + <8>grbld8% + <9>grbld9% + <10>rgrbf10% + <11>rgrbf10 at10.95pt% + <12>rgrbf10 at12pt% + <14>rgrbf10 at14.4pt% + <17>rgrbf10 at17.28pt% + <20>rgrbf10 at20.74pt% + <25>rgrbf10 at24.88pt}{}% +\extra@def{greek}{}{} + +\def\graffiti{\protect\pgraffiti} +\def\pgraffiti{\family{greek}\series{c}\shape{sl}\size{9}{10pt}\selectfont} +\def\@makefnmark{\raise 1ex\hbox{\scriptsize\@thefnmark}} +\gdef\pel{\raisebox{.6ex}{.}\ } % punctus elevatus + +\newif\ifgreek\greekfalse +\def\greekmode{% +\catcode`\<=13% +\catcode`\>=13% +\catcode`\'=13%11 +\catcode`\`=13%11 +\catcode`\~=11% +\catcode`\"=11% +\catcode`\|=11% +\lccode`\<=`\<% +\lccode`\>=`\>% +\lccode`\'=`\'% +\lccode`\`=`\`% +\lccode`\~=`\~% +\lccode`\"=`\"% +\lccode`\|=`\|% +\family{greek}\selectfont% +\ifx\keybgreek\undefined\relax\else\keybgreek\fi\greektrue} +\def\begingreek{\bgroup\greekmode} +\def\endgreek{\egroup} + +\let\math=$ +{\catcode`\$=13 +\gdef\greekdelims{\catcode`\$=13 +\def${\ifgreek\endgreek\else\begingreek\fi} +\def\display{\math\math}\def\enddisplay{\math\math}}} + +\endinput diff --git a/obsolete/macros/latex209/contrib/ml/rgreekma.tex b/obsolete/macros/latex209/contrib/ml/rgreekma.tex new file mode 100644 index 0000000000..54c3fb4770 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/rgreekma.tex @@ -0,0 +1,151 @@ +\def\lt{<} +\def\gt{>} +\newcount\fontnumber +\fontnumber=0 +\newif\ifoneaccent\oneaccenttrue +\def\ifnextchar#1#2#3{\let\tempe #1\def\tempa{#2}\def\tempb{#3}\futurelet + \tempc\ifnch} +\def\ifnch{\ifx\tempc\tempe\let\tempd\tempa\else\let\tempd\tempb\fi\tempd} +\def\gobble#1{} +\def\greekmode{% +\catcode`\<=13% +\catcode`\>=13% +\catcode`\'=13%11 +\catcode`\`=13% +\catcode`\~=11% +\catcode`\"=13% +\lccode`\<=`\<% +\lccode`\>=`\>% +\lccode`\'=`\'% +\lccode`\~=`\~% +\lccode`\"=`\"% +\def\rg{\fontnumber=1\tengr}% +\def\sl{\fontnumber=2\tengrsl}% +\def\it{\fontnumber=3\tengrit}% +\def\bf{\fontnumber=4\tengrbf}% +\def\smc{\fontnumber=5\tengrsmc}% +\def\I##1{\setbox0\hbox{##1}\ifdim\ht0=1ex\accent\lq174 ##1% + \else{\ooalign{\hidewidth\char\lq174\hidewidth\crcr\unhbox0}}\fi}}% +\newcount\vwl +\newcount\acct +{ + \greekmode + \gdef"{\ifnextchar '{\expandafter\diaeresisacute\gobble}{\accent\lq\"}} + \gdef\diaeresisacute#1{\accent\rq043 #1} + \gdef`{'} +} + +\newif\ifgreek\greekfalse + +\def\begingreek{\bgroup\font\tengr=rgrrg10\font\tengrsl=rgrsl10% +\font\tengrbf=rgrbf10\font\tengrit=rgrti10\font\tengrsmc=rgrsc10% +\greektrue\greekmode\rg} +\def\beginmgreek{\bgroup\font\tengr=mrgrrg10\font\tengrsl=mrgrsl10% +\font\tengrbf=mrgrbf10\font\tengrit=mrgrti10\font\tengrsmc=rgrsc10% +\greektrue\greekmode\rg} +\def\endgreek{\egroup} +\def\endmgreek{\egroup} +\def\monotoniko{% +\font\tengr=mrgrrg10\font\tengrsl=mrgrsl10% +\font\tengrbf=mrgrbf10\font\tengrit=mrgrti10% +\ifnum\fontnumber=5\smc% + \else\ifnum\fontnumber=4\bf% + \else\ifnum\fontnumber=3\it% + \else\ifnum\fontnumber=2\sl% + \else\rg% + \fi% + \fi% + \fi% +\fi% +} +\def\polutoniko{% +\font\tengr=rgrrg10\font\tengrsl=rgrsl10% +\font\tengrbf=rgrbf10\font\tengrit=rgrti10% +\ifnum\fontnumber=5\smc% + \else\ifnum\fontnumber=4\bf% + \else\ifnum\fontnumber=3\it% + \else\ifnum\fontnumber=2\sl% + \else\rg% + \fi% + \fi% + \fi% +\fi% +} +\let\math=$% +{\catcode`\$=13% +\gdef\greekdelims{\catcode`\$=13% +\def${\ifgreek\endgreek\else\begingreek\fi} +\def\display{\math\math}\def\enddisplay{\math\math}}} +\def\grave#1{{\edef\next{\the\font}\smc\accent\rq001\next#1}} +\def\roughgrave#1{{\edef\next{\the\font}\smc\accent\rq002\next#1}} +\def\smoothgrave#1{{\edef\next{\the\font}\smc\accent\rq003\next#1}} +\def\diaeresisgrave#1{{\edef\next{\the\font}\smc\accent\rq004\next#1}} +\def\diaeresiscircumflex#1{{\edef\next{\the\font}\smc\accent\rq005\next#1}} +\def\breve#1{{\edef\next{\the\font}\smc\accent\rq006\next#1}} +\def\macron#1{{\edef\next{\the\font}\smc\accent\rq007\next#1}} +\def\rhorough{{\tengrsmc +\ifnum\fontnumber=5\char\rq162 + \else\ifnum\fontnumber=4\char\rq016 + \else\ifnum\fontnumber=3\char\rq014 + \else\ifnum\fontnumber=2\char\rq012 + \else\char\rq010 + \fi + \fi + \fi +\fi +}} +\def\rhosmooth{{\tengrsmc +\ifnum\fontnumber=5\char\rq162 + \else\ifnum\fontnumber=4\char\rq017 + \else\ifnum\fontnumber=3\char\rq015 + \else\ifnum\fontnumber=2\char\rq013 + \else\char\rq011 + \fi + \fi + \fi +\fi +}} +\def\digamma{{\smc\char\rq135}} +\def\smallDigamma{{\smc\char\rq140}} +\def\Digamma{{\tengrsmc +\ifnum\fontnumber=5\char\rq021 + \else\ifnum\fontnumber=4\char\rq027 + \else\ifnum\fontnumber=3\char\rq025 + \else\ifnum\fontnumber=2\char\rq023 + \else\char\rq021 + \fi + \fi + \fi +\fi +}} +\def\vardigamma{{\tengrsmc +\ifnum\fontnumber=5\char\rq020 + \else\ifnum\fontnumber=4\char\rq026 + \else\ifnum\fontnumber=3\char\rq024 + \else\ifnum\fontnumber=2\char\rq022 + \else\char\rq020 + \fi + \fi + \fi +\fi +}} +\def\understroke{{\smc\char\rq046}} +\def\overstroke{{\smc\char\rq044}} +\def\sanpi{{\smc\char\rq136}} +\def\Sanpi{{\smc\char\rq137}} +\def\qoppa{{\smc\char\rq133}} +\def\varqoppa{{\smc\char\rq134}} +\def\Qoppa{{\smc\char\rq103}} +\def\Tao{{\smc\char\rq177}} +\def\ssh{\breve{s}}\def\SSH{\breve{S}} +\def\dz{\breve{z}}\def\DZ{\breve{Z}} +\def\psh{\breve{y}}\def\PSH{\breve{Y}} +\def\ksh{\breve{x}}\def\KSH{\breve{X}} +\def\inviota{{\smc\char\rq126}} +\def\grMF{{\smc\char\rq030\char\rq031\char\rq032\char\rq033}\-{\smc% +\char\rq034\char\rq036\char\rq037\char\rq032}} +\def\MF{{\smc\char\rq030\char\rq031\char\rq032\char\rq033}\-{\smc% +\char\rq040\char\rq036\char\rq037\char\rq032}} + +\endinput + diff --git a/obsolete/macros/latex209/contrib/ml/russian.tex b/obsolete/macros/latex209/contrib/ml/russian.tex new file mode 100644 index 0000000000..c2a7f8e686 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/russian.tex @@ -0,0 +1,176 @@ +%% +%% This is file `russian.tex' +%% +\def\filename{russian.tex} +\def\fileversion{1.1} +\def\filedate{16 sept 1994} +\def\docdate {} + +% \ifundefined{daterussian} or \daterussian=\relax +\expandafter\ifx\csname daterussian\endcsname\endinput +% \then go ahead \else do nothing +\else \relax \fi +\ifx\undefined\l@russian + \message{!! The language `Russian' doesn't have hyphenation patterns.} + \message{!! I will use the patterns loaded for \string\language=0 instead.} + \adddialect\l@russian0\fi +\gdef\daterussian{\def\today{\number\day ogo\space\ifcase\month\or + {\ya}nvar{\ya}\or Fevral{\ya}\or Marta\or Aprel{\ya}\or Ma{\ya}\or + i{\yu}n{\ya}\or I{\yu}l{\ya}\or Avgusta\or Sent{\ya}br{\ya}\or + Okt{\ya}br{\ya}\or No{\ya}br{\ya}\or Dekabr{\ya}\fi + \space\number\year}} + +\gdef\russianedition{\fhyph} +\ifx\fhyph\undefined\gdef\fhyph{\relax}\fi +\gdef\captionsrussian{\fhyph% +\def\dashes{---}% +\def\leftquotes{\ouvreguillemet\everypar={\ouvreguillemet\ }\,}% +\def\rightquotes{\,\fermeguillemet\everypar={}}% +\def\presentname{Prisustvu{\yu\shch}ie:}% +\def\notpresentname{Otsustvu{\yu\shch}ie:}% +\def\agendaname{Slu{\zh}ebnik}% +\def\openname{Otkrytie}% +\def\signname{Podpicanie:}% +\def\tlxname{Teleks:}% +\def\telname{Telefon:}% +\def\faxname{Telefaks:}% +\def\emailname{E-mail:}% +\def\fidoname{Fidonet:}% +\def\bankname{Teku{\shch}i{\ui} S{\ch\"e}t:}% +\def\of{iz serii }% +\def\Of{Organizacii }% +\def\in{Vo }% +\def\from{Iz }% +\def\and{i }% +\def\page{stranica }% +\def\pages{stranicy }% +\def\atplace{vo }% +\def\volume{Tom}% +\def\editor{izdatel{\cprime}}% +\def\editors{izdateli}% +\def\ownedition{izdanie avtora}% +\def\first{pervoe izdanie}% +\def\second{vtoroe izdanie}% +\def\third{tretoe izdanie}% +\def\secondrevised{vtoroe pererabotannoe izdanie}% +\def\thirdrevised{tretoe pererabotannoe izdanie}% +\def\fourthrevised{{\ch}etv\"{e}rtoe pererabotannoe izdanie}% +\def\fifthrevised{p{\ya}toe pererabotannoe izdanie}% +\def\sixthrevised{{\sh}ectoe pererabotannoe izdanie}% +\def\seventhrevised{ced{\cprime}moe pererabotannoe izdanie}% +\def\eightthrevised{boc{\cprime}moe pererabotannoe izdanie}% +\def\ninthrevised{dev{\ya}toe pererabotannoe izdanie}% +\def\higher{oe izdanie}% +\def\technicalreport{Vnutrennoe Donesenie}% +\def\masters{Vypusknoe Co{\ch}inenie}% +\def\conference{Referat dl{\ya} zasedani{\ya}}% +\def\phdthesis{Dissertaci{\ya}}% +\def\tbp{Opublikovat{\cprime}}% +\def\seename{cmotri}% +\def\jan{{\ya}nvar{\cprime}}% +\def\feb{fevral{\cprime}}% +\def\mar{mart}% +\def\apr{aprel{\cprime}}% +\def\may{ma{\ui}}% +\def\jun{i{\yu}n{\cprime}}% +\def\jul{i{\yu}l{\cprime}}% +\def\aug{avgust}% +\def\sep{sent{\ya}br{\cprime}}% +\def\oct{okt{\ya}br{\cprime}}% +\def\nov{no{\ya}br{\cprime}}% +\def\dec{dekabr{\cprime}}% +\def\lessonname{Urok }% +\def\exercisename{Upra{\zh}nenie }% +\def\prefname{Predislovie }% +\def\refname{Spisok literatur}% +\def\rename{Kasaets{\ya}:}% +\def\yourlettername{Va{\sh}e pic{\cprime}o ot}% +\def\yourrefname{Va{\sh}a pometka:}% +\def\ourrefname{Na{\sh}a pometka:}% +\def\datetext{{\ch}uclo:}% +\def\abstractname{Rez{\yu}me}% +\def\bibname{Bibliografi{\ya}}% +\def\notesname{Zametki}% +\def\chaptername{Glava}% +\def\appendixname{Prilo{\zh}enie}% +\def\contentsname{Soder{\zh}anie}% +\def\listfigurename{Spisok izobra{\zh}enii}% +\def\listtablename{Spisok tablic}% +\def\indexname{Indekc}% +\def\figurename{Izobra{\zh}enie}% +\def\tablename{Tablica}% +\def\partname{{\Ch}ast{\cprime}}% +\def\enclname{prilo{\zh}enie}% +\def\enclnames{prilo{\zh}eni{\ya}}% +\def\ccname{Raspredelenie:}% +\def\psname{P.S.:}% +\def\headtoname{Vo}% +\def\headpagename{Stranica}% +\def\arabicedname{po arabski}% +\def\croatianedname{po {\kh}orvacki}% +\def\czechedname{po ce{\sh}ski}% +\def\danishedname{po datski}% +\def\dutchedname{po gollandski}% +\def\englishedname{po angli{\ui}ski}% +\def\esperantoedname{po esperantski}% +\def\finnishedname{po finski}% +\def\frenchedname{po francuzki}% +\def\germanedname{po nemecki}% +\def\greekedname{po gre{\ch}eski}% +\def\hebrewedname{po evre{\ui}ski}% +\def\hindiedname{po indi{\ui}ski}% +\def\italianedname{po ital{\cprime\ya}nski}% +\def\maasaiedname{po maasa{\ui}ski}% +\def\magyaredname{po vengerski}% +\def\norskedname{po norve{\zh}ski}% +\def\polishedname{po pol{\cprime}ski}% +\def\portugesedname{po portugal{\cprime}ski}% +\def\romanianedname{po rumynski}% +\def\russianedname{po russki}% +\def\sloveneedname{po slowenski}% +\def\spanishedname{po ispanski}% +\def\swahiliedname{po sva{\kh}ili}% +\def\swedishedname{po {\sh}vedski}% +\def\tamiledname{po tamil{\cprime}ski}% +\def\turkishedname{po turecki}% +} +\let\extrasrussian\extrasfrench +\let\noextrasrussian\noextrasfrench +\@ifundefined{l@russian}{\adddialect\l@russian0}{} +\endinput +% Q: What kind of transliteration schemes are there? +% A: The most important one is called KOI-7: the Russian alphabet is +% given by the ASCII characters (note the exchange of upper and lower +% cases): +% +% UPPER CASE: abwgde$vzijklmnoprstufhc~{}"yx|`q +% lower case: ABWGDE#VZIJKLMNOPRSTUFHC^[]_YX\@Q +% +% The following extensions to the official standard KOI-7 are supported +% in Glen Thobe's conversion programs for invertibility: +% '"'=YER, '#'=yo, '$'=YO, '<'=left guillemet, '>'=right guillemet. +% +% A slightly different (multicharacter) scheme is employed by Steve +% Gaardner's (gaarder@theory.tc.cornell.edu) conversion code from Old +% KOI-8. This provides easy readability but suffers from some +% transliteration weirdness, such as mapping short ii and yeri on the +% same character: +% +% #include +% char transtbl[64][5] = +% {"yu", "a", "b", "ts", "d" , "e", "f", "g", "kh", "i", "y" , "k", "l", +% "m", "n", "o", "p", "ya", "r" , "s", "t", "u", "zh", "v", "'", +% "y", "z", "sh", "e", "shch", "ch", "`", +% "YU", "A", "B", "TS", "D" , "E", "F", "G", "KH", "I", "Y" , "K", "L", +% "M", "N", "O", "P", "YA", "R" , "S", "T", "U", "ZH", "V", "'", +% "Y", "Z", "SH", "E", "SHCH", "CH", "`" }; +% main() +% { +% int c; +% +% while ((c = getchar()) != EOF) +% { if ( c > 0x80) c -= 0x80; +% if ( c < 0x40) putchar(c); +% else printf("%s",transtbl[c-0x40]); +% } +% } diff --git a/obsolete/macros/latex209/contrib/ml/setspace.sty b/obsolete/macros/latex209/contrib/ml/setspace.sty new file mode 100644 index 0000000000..d8006c13bf --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/setspace.sty @@ -0,0 +1,178 @@ +%% FILE: setspace.sty in SYS2.TEX.PUB.ISULATEX.STYLES +%% AUTHOR: Erica M. S. Harris +%% DATE: April 1990 +%% DESCR: LaTeX Document style option "setspace" +%% Usage: \documentstyle[...,setspace,...]{...} +%% Based on the doublespace option created by Stephen Page. +%% +%% This style option provides commands and environments for doing +%% double and one-and-a-half spacing based on pt size. +%% +%% Single spacing is the default. +%% +%% Three commands, \doublespacing, \onehalfspacing, and +%% \singlespacing, are for use in the preamble to set the overall +%% spacing for the document. If a different spacing is required then +%% the \setstretch{baselinestretch} command can be used in the +%% preamble to set the baselinestretch appropriately. The default +%% spacing with this style option is single spacing. +%% +%% Three environments, singlespace, onehalfspace, and doublespace, +%% allow the spacing to be changed within the document. Both the +%% onehalfspace and doublespace environments are intended to increase +%% the spacing, so the onehalfspace environment should not be used in +%% a double spaced document. If an increased spacing different from +%% one-and-a-half or double spacing is required then the spacing +%% environment can be used. The spacing environment takes one +%% argument which is the larger baselinestretch to use, +%% e.g., \begin{spacing}{2.5}. +%% +%% \footins is adjusted the same as \parskip - appears to work. Lose +%% stretch parts but don't consider that to be crucial +%% +%% Removed code for altering spacing before and after displayed +%% equations - just looked too much. +%% +%% MODS: +%% +%% PLEASE REPORT ANY BUGS +%% +%% Old Documentation follows: +%% 1. A new environment "singlespace" is provided, within which single +%% spacing will apply. +%% JFL - changed so that it works in regular text and so that +%% vertical space before and after is correctly computed +%% 2. Double spacing is turned off within footnotes and floats (figures +%% and tables). +%% 3. Proper double spacing happens below tabular environments and in +%% other places where LaTeX uses a strut. +%% 4. Slightly more space is inserted before footnotes. +%% 5. JFL - fixes spacing before and after displayed math +%% +%% +%% mods: Jean-Francois Lamy +%% lamy@ai.toronto.edu +%% lamy@utai.uucp +%% +%% POSSIBLE BUGS: +%% . Increasing struts may possibly cause some other obscure part of +%% formatting to fall over. +%% . \begin{singlespace}\begin{quote} produces the wrong spacing before +%% the quote (extra glue is inserted). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%---Set up double spacing + +\def\doublespacing{\ifcase \@ptsize \relax % 10pt + \def\baselinestretch{1.667} + \or % 11pt + \def\baselinestretch{1.618} + \or % 12pt + \def\baselinestretch{1.655} + \fi} +%\doublespacing % the default + +\def\onehalfspacing{\ifcase \@ptsize \relax % 10pt + \def\baselinestretch{1.25} + \or % 11pt + \def\baselinestretch{1.213} + \or % 12pt + \def\baselinestretch{1.241} + \fi} + +\def\singlespacing{\def\baselinestretch{1}} + +\def\setstretch#1{\renewcommand{\baselinestretch}{#1}} + +%---Stretch the baseline BEFORE calculating the strut size. This improves +% spacing below tabular environments etc., probably... +% Comments are welcomed. +\ifx\selectfont\undefined\gdef\@setsize#1#2#3#4{\@nomath#1\let\@currsize#1 % + \baselineskip #2\baselineskip\baselinestretch\baselineskip% + \parskip\baselinestretch\parskip% + \setbox\strutbox\hbox{\vrule height.7\baselineskip + depth.3\baselineskip width\z@}% + \skip\footins\baselinestretch\skip\footins% + \normalbaselineskip\baselineskip#3#4}\else +\gdef\@setsize#1#2#3#4{\@nomath#1\size{#4}{#2}\selectfont% + \let\@currsize#1\baselineskip\baselinestretch\baselineskip% + \parskip\baselinestretch\parskip% + \skip\footins\baselinestretch\skip\footins}\fi + +%---Increase the space between last line of text and footnote rule. +%\skip\footins 20pt plus4pt minus4pt + +%---Reset baselinestretch within footnotes and floats. + +\def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty -\@Mii\else + \@floatpenalty-\@Miii\fi\def\@captype{#1}\ifinner + \@parmoderr\@floatpenalty\z@ + \else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname + \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n + \@tfor \@tempa :=#2\do + {\if\@tempa h\advance\@tempcnta \@ne\fi + \if\@tempa t\advance\@tempcnta \tw@\fi + \if\@tempa b\advance\@tempcnta 4\relax\fi + \if\@tempa p\advance\@tempcnta 8\relax\fi + }\global\count\@currbox\@tempcnta}\@fltovf\fi + \global\setbox\@currbox\vbox\bgroup + \def\baselinestretch{1}\@normalsize + \boxmaxdepth\z@ + \hsize\columnwidth \@parboxrestore} + +\long\def\@footnotetext#1{\insert\footins{\def\baselinestretch{1}\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext + {\rule{\z@}{\footnotesep}\ignorespaces + #1\strut}}} + +% A single spaced quote (say) is done by surrounding singlespace with quote. +% +\def\singlespace{% +\vskip\parskip% +\vskip\baselineskip% +\def\baselinestretch{1}% +\ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% +\vskip-\parskip% +\vskip-\baselineskip} + +\def\endsinglespace{\par} + +% spacing, doublespace and onehalfspace all are meant to INCREASE the +% spacing (i.e. calling onehalfspace from within doublespace will not +% produce a graceful transition between spacings) +% +\def\spacing#1{\par% + \def\baselinestretch{#1}% + \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi} + +\def\endspacing{\par% + \vskip \parskip% + \vskip \baselineskip% +}% \endgroup% +% \vskip -\parskip% +% \vskip -\baselineskip% +% \begingroup} + +% one and a half spacing is 1.5 x pt size +\def\onehalfspace{\ifcase \@ptsize \relax % 10pt + \spacing{1.25} + \or % 11pt + \spacing{1.213} + \or % 12pt + \spacing{1.241} + \fi} +\let\endonehalfspace=\endspacing + +% double spacing is 2 x pt size +\def\doublespace{\ifcase \@ptsize \relax % 10pt + \spacing{1.667} + \or % 11pt + \spacing{1.618} + \or % 12pt + \spacing{1.655} + \fi} +\let\enddoublespace=\endspacing diff --git a/obsolete/macros/latex209/contrib/ml/swahili.tex b/obsolete/macros/latex209/contrib/ml/swahili.tex new file mode 100644 index 0000000000..1ccb5c3537 --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/swahili.tex @@ -0,0 +1,219 @@ +%% +%% This is file `swahili.tex', generated on <1994/6/09> +%% +\def\filename{swahili.tex} +\def\fileversion{swahili-1.1} +\def\filedate{16 june 1994} +%% +{\def\format{plain} +\ifx\fmtname\format + \expandafter\ifx\csname @ifundefined\endcsname\relax + \gdef\next{latexhax.com} + \aftergroup\input\aftergroup\next + \fi +\fi} +\chardef\atcatcode=\catcode`\@ +\makeatletter +\@ifundefined{captionsswahili}{}{\catcode`\@=\atcatcode\endinput} +\wlog{Language: `Swahili' version \fileversion\space<\filedate>} +\ifx\undefined\babel@core@loaded\input babel.com\fi +\ifx\undefined\originalTeX \let\originalTeX\relax \else\originalTeX\fi +\gdef\higherthenthird#1{\bgroup% + \def\arabicedition{\arabicedname}% + \def\croatianedition{\croatianedname}% + \def\czechedition{\czechedname}% + \def\danishedition{\danishedname}% + \def\dutchedition{\dutchedname}% + \def\englishedition{\englishedname}% + \def\esperantoedition{\esperantoedname}% + \def\finnishedition{\finnishedname}% + \def\frenchedition{\frenchedname}% + \def\germanedition{\germanedname}% + \def\greekedition{\greekedname}% + \def\hebrewedition{\hebrewedname}% + \def\hindiedition{\hindiedname}% + \def\italianedition{\italianedname}% + \def\maasaiedition{\maasaiedname}% + \def\magyaredition{\magyaredname}% + \def\norskedition{\norskedname}% + \def\polishedition{\polishedname}% + \def\portugesedition{\portugesedname}% + \def\romanianedition{\romanianedname}% + \def\russianedition{\russianedname}% + \def\sloveneedition{\sloveneedname}% + \def\spanishedition{\spanishedname}% + \def\swahiliedition{\swahiliedname}% + \def\swedishedition{\swedishedname}% + \def\tamiledition{\tamiledname}% + \def\turkishedition{\turkishedname}\if#12% + {\higher 2}\else\if#13% + {\higher 3}\else\if#14% + {\higher 4}\else\if#15% + {\higher 5}\else\if#16% + {\higher 6}\else\if#17% + {\higher 7}\else\if#18% + {\higher 8}\else\if#19% + {\higher 9}\else#1\fi\fi\fi\fi\fi\fi\fi\fi\egroup} +\def\captionsswahili{% +\def\dashes{---}% +\def\leftquotes{``}% +\def\rightquotes{''}% +\def\telname{Simu: }% +\def\faxname{Faks: }% +\def\of{ya }% +\def\Of{Ya }% +\def\In{Kwenye }% +\def\from{Kutoka }% +\def\and{na }% +\def\page{uk.~}% +\def\pages{kr.~}% +\def\atplace{}% +\def\volume{Hatua}% +\def\editor{(mtunzi)}% +\def\editors{(watunzi)}% +\def\ownedition{Kimetungwa na mwandishi}% +\def\first{Utunzi wa kwanza}% +\def\second{Utunzi wa pili}% +\def\third{Utunzi wa tatu}% +\def\secondrevised{Utunzi wa pili na marekebisho}% +\def\thirdrevised{Utunzi wa tatu na marekebisho}% +\def\fourthrevised{Utunzi wa nne na marekebisho}% +\def\fifthrevised{Utunzi wa tano na marekebisho}% +\def\sixthrevised{Utunzi wa sita na marekebisho}% +\def\seventhrevised{Utunzi wa saba na marekebisho}% +\def\eightthrevised{Utunzi wa nane na marekebisho}% +\def\ninthrevised{Utunzi wa tisa na marekebisho}% +\def\higher{Utunzi wa }% +\def\technicalreport{Ripoti}% +\def\masters{Stashahada}% +\def\conference{Hotuba ya semina }% +\def\phdthesis{Dissertatie}% +\def\tbp{Kinachapishwa}% +\def\seename{angalia}% +\def\jan{mwezi wa kwanza }% +\def\feb{mwezi wa pili }% +\def\mar{mwezi wa tatu }% +\def\apr{mwezi wa nne }% +\def\may{mwezi wa tano }% +\def\jun{mwezi wa sita }% +\def\jul{mwezi wa saba }% +\def\aug{mwezi wa nane }% +\def\sep{mwezi wa tisa }% +\def\oct{mwezi wa kumi }% +\def\nov{mwezi wa kumi na moja }% +\def\dec{mwezi wa kumi na mbili }% +\def\exercisename{Zoezi}% +\def\lessonname{Somo}% +\def\prefname{Dibaji}% +\def\refname{Maelekezo}% +\def\rename{Yahusu}% +\def\abstractname{Kifupi}% +\def\bibname{Bibliografie}% +\def\notesname{Maelezo}% +\def\chaptername{Sura ya }% +\def\appendixname{Viambatisho sehemu ya }% +\def\contentsname{Yaliyomo}% +\def\listfigurename{Picha zilizomo}% +\def\listtablename{Lijst van tabellen}% +\def\indexname{Index}% +\def\figurename{Picha}% +\def\tablename{Tabel}% +\def\partname{Sehemu}% +\def\enclname{Ambatanisha}% +\def\ccname{Nakala}% +\def\psname{P.S.}% +\def\headtoname{Kwa}% +\def\headpagename{Ukurasa wa}% +\def\arabicedname{Tolea la kiarabu}% +\def\croatianedname{Tolea la kikroatsia}% +\def\czechedname{Tolea la kichekoslovakia}% +\def\danishedname{Tolea la kidenmak}% +\def\dutchedname{Tolea la kidachi}% +\def\englishedname{Tolea la kiingereza}% +\def\esperantoedname{Tolea la kiesperanto}% +\def\finnishedname{Tolea la kifinland}% +\def\frenchedname{Tolea la kifaransa}% +\def\germanedname{Tolea la kijerumani}% +\def\greekedname{Tolea la kigiriki}% +\def\hebrewedname{Tolea la kiebrania}% +\def\hindiedname{Tolea la kihindi}% +\def\italianedname{Tolea la kiitalia}% +\def\maasaiedname{Tolea la kimasai}% +\def\magyaredname{Tolea la kihangari}% +\def\norskedname{Tolea la kinorwei}% +\def\polishedname{Tolea la kipoland}% +\def\portugesedname{Tolea la kireno}% +\def\romanianedname{Tolea la kiromania}% +\def\russianedname{Tolea la kirusi}% +\def\sloveneedname{Tolea la kisloven}% +\def\spanishedname{Tolea la kihispania}% +\def\swahiliedname{Tolea la kiswahili}% +\def\swedishedname{Tolea la kiswiden}% +\def\tamiledname{Tolea la kitamil}% +\def\turkishedname{Tolea la kituruki}% +%\def\nul{\ifnum\ii=0 nul\else\hesabu\fi}% +%\def\getall{\ifcase\ii\or\qmeen\or\qmtwee\or\qmdrie\or\qmvier\or\qmvijf\or% +%\qmzes\or\qmze\-ven\or\qmacht\or\qmne\-gen\or\qmtien\or\qmelf\or\qmtwaalf\or% +% \qmder\-tien\or\qmveer\-tien\else% +% \jj=\ii\ifnum\ii<100 \divide\jj by 10 \edef\tig{\ifcase\jj\or tien\or% +% twin\-tig\or der\-tig\or veer\-tig\or vijf\-tig\or zes\-tig\or +%ze\-ven\-tig\or% +% tach\-tig\or ne\-gen\-tig\fi}\multiply\jj by 10 \advance\ii +%by-\jj\getall% +% \ifnum\jj=10 +%\else\ifcase\ii\or\-en\or"en\or"en\else\-en\fi\fi\qm\tig% +% \else\ifnum\ii<1000 \num100 \qmhon\-derd% +% \else\ifnum\ii<1100 \num1000 \qmdui\-zend% +% \else\ifnum\ii<2000 \num100 \qmhon\-derd% +% \else\ifnum\ii<1000000 \num1000 \qmdui\-zend% +% \else\num1000000 \qmmil\-joen% +% \fi\fi\fi\fi\fi\fi} +} +\def\dateswahili{% +\def\today{\number\day~\ifcase\month\or + mwezi wa kwanza\or mwezi wa pili\or mwezi wa tatu\or mwezi wa nne\or + mwezi wa tano\or mwezi wa sita\or mwezi wa saba\or mwezi wa nane\or + mwezi wa tisa\or mwezi wa kumi\or mwezi wa kumi na moja\or + mwezi wa kumi na mbili\fi + \space \number\year}} +\begingroup \catcode`\"\active +\gdef\extrasswahili{% + \ifnum\the\sfcode`\.=\@m\frenchspacing\fi% + \let\original@dospecials\dospecials% + \let\original@sanitize\@sanitize% + \let\original@dieresis\"% + \let\original@dq="% + \edef\original@xcode{\catcode`\noexpand\"=\the\catcode`\"\relax} + \catcode`\"\active% + \umlautlow% +% \def"{\protect\active@dq}% +% \def\"{\protect\@umlaut}% +} +\endgroup +\begingroup\catcode`\"=\active +\gdef\noextrasswahili{% + \catcode`\"12% + \original@xcode + \let"\original@dq + \let\"\original@dieresis% + \let\dospecials\original@dospecials% + \let\@sanitize\original@sanitize% +}\endgroup +%\@ifundefined{l@swahili}{\adddialect\l@swahili0}{} +\adddialect\l@swahili\l@french + +%\@bsphack\@ifundefined{l@swahili}{\@nolanerr{swahili}}% +% {\language=\csname l@swahili\endcsname\relax +% \l@nguage=\csname l@swahili\endcsname\relax +\hyphenation{Ne-der-as-selt Ritschl} +% \originalTeX +% \csname captionsswahili\endcsname +% \csname dateswahili\endcsname +% \csname extrasswahili\endcsname +% \def\originalTeX{\csname noextrasswahili\endcsname}% +% \@esphack}% + +\catcode`\@=\atcatcode \let\atcatcode\relax +\endinput +%% +%% End of file `swahili.tex'. diff --git a/obsolete/macros/latex209/contrib/ml/tugboat.cmn b/obsolete/macros/latex209/contrib/ml/tugboat.cmn new file mode 120000 index 0000000000..a10c88d36c --- /dev/null +++ b/obsolete/macros/latex209/contrib/ml/tugboat.cmn @@ -0,0 +1 @@ +../../../../../macros/plain/contrib/tugboat/tugboat.cmn \ No newline at end of file diff --git a/obsolete/macros/latex209/contrib/mnras/README b/obsolete/macros/latex209/contrib/mnras/README new file mode 100644 index 0000000000..a4e513707f --- /dev/null +++ b/obsolete/macros/latex209/contrib/mnras/README @@ -0,0 +1,17 @@ +% readme.txt (v1.1 released 5th September 1994) +% for Monthly Notices LaTeX style file +% +% The files for MN are as follows: +% +% README.TXT this file +% MN.STY the style file +% MNGUIDE.TEX authors' instructions +% MNSAMPLE.TEX sample pages +% MNLAND.TEX landscape page for sample pages +% +% If you have obtained this package by FTP you should have one large +% file in which the above files are concatenated. Use a text editor, +% or word-processor to split these files at the text `CUT HERE'. +% +% Typeset MNGUIDE.TEX and the sample pages with MN.STY for +% instructions and examples. diff --git a/obsolete/macros/latex209/contrib/mnras/mn.sty b/obsolete/macros/latex209/contrib/mnras/mn.sty new file mode 100644 index 0000000000..cfc54307d3 --- /dev/null +++ b/obsolete/macros/latex209/contrib/mnras/mn.sty @@ -0,0 +1,1873 @@ +% Blackwell Science MN journal document style +% v1.4, released 14th September 1995 +% +% Copyright (C) Cambridge University Press 1994 +% for LaTeX version 2.09, 1988, by Leslie Lamport +% based on the original LaTeX ARTICLE DOCUMENT STYLE +% modifications by Sue Brooks, Alison Woollatt and Mark Reed 1993, 1994 +% +% > Incorporating also parts of authordate.sty +% by David Rhead, Cripps Computing Centre (Feb 1990). +% > Incorporating special symbol code from laa.sty v1.1 (25th Feb 1991) +% used with the permission of Springer Verlag. +% > Incorporating parts of mssymb.tex (8th July 1987). +% > Incorporating newfont.sty vALPHA pl 8 (16th August 1994), by M. Reed +% +% v0.1.01 SFB text area, abstract heading, secnumdepth, +% \dblfloatpagefraction +% v0.1.02 SFB landscape, galley and referee options; +% new catchline; enumerated lists; correct raggedright +% on section headings; +% v0.1.03 SFB continued floats with \caption* (removed now), +% short captions centred +% v0.1.04 SFB appendices, unnumbered list (using description) +% v0.1.05 AJW roman catchline, final statement +% v1.0 RM BSP note, \bsp, added to cup specials +% v1.1 AJW / MR, 28th January 1994. NFSS 1/2 compatible, +% Springer-Verlag macros added +% v1.2 AJW, 18th July 1994. Improved cont. captions, +% MR font selection check improved, +% MR removed some redundant code, AW \sevensize added, +% MR Added MR's `NewFont' support, MR Improved NFSS 1/2 support, +% MR Added support for Bold math and AMS symbols for NFSS 1, +% MR par's in abstract now have par indents. +% MR added \ifCUPmtlplainloaded switch for use in documents. +% MR Added mnsym.tex (for Times version). +% v1.25 MR, not released to authors 16th August 1994. +% Replaced existing Newfont.sty code with updated code, after +% discovering several bugs. This version not released to authors +% because they are unlikely to find the bugs unless: +% 1) they have an extremely long article, +% 2) have used many \New.. commands (no docs were supplied for +% these anyway). +% v1.3 MR, 5 September 1994. Added printing of style file version to +% 'Printed' info in catchline. Will help us identify how the +% article was produced (TeX/LaTeX) and the version number of the +% macros. +% MR Tables and Figures no longer get double spaced when using the +% `referee' or `doublespacing' options. +% MR Corrected 7th footnote symbol: made a \star\star (was **). +% MR Corrected problem where some headings were not upper-case +% when they should have been (\section*). +% v1.4 AJW, 14th September 1995. Add footlines and \newauthor, +% correct \listparindent in enumerate environment. + +\newif\ifoldfss +\newif\ifnfssone +\newif\ifnfsstwo +\def\f@s@s{} + +\@ifundefined{DeclareFontShape}% + {% + \@ifundefined{selectfont}% + {\global\oldfsstrue\let\reset@font=\relax% + \def\f@s@s{with OFSS,\space}}% old font selection scheme + {\global\nfssonetrue\def\f@s@s{with NFSS release 1,\space}}% + }% + {\global\nfsstwotrue\def\f@s@s{with NFSS release 2,\space}}% + +\def\@version{1.4} + +\typeout{Document Style `MN' \f@s@s v\@version, released 14th September 1995} + +% Journals use two-sided printing. +% +\@twosidetrue +\@twocolumntrue +\@mparswitchtrue +\def\ds@draft{\overfullrule 5pt} +\def\ds@twocolumn{\@twocolumntrue} +\def\ds@onecolumn{\@twocolumnfalse} + +% letters option +% +\newif\if@letters +\def\ds@letters{\@letterstrue} + +% landscape option +% +\newif\ifSFB@landscape +\def\ds@landscape{\SFB@landscapetrue} + +% galley option +% +\newif\ifSFB@galley +\def\ds@galley{\SFB@galleytrue} + +% referee option +% +\newif\ifSFB@referee +\def\ds@referee{% + \SFB@refereetrue + \@twocolumnfalse +} +\newif\ifdoublesp@cing +\def\ds@doublespacing{% + \doublesp@cingtrue +}% +\@options +% +% **************************************** +% * FONTS * +% **************************************** +% +\lineskip 1pt +\normallineskip 1pt +\ifSFB@referee + \def\baselinestretch{1.5} +\else + \ifdoublesp@cing + \def\baselinestretch{2} +\else + \def\baselinestretch{1} +\fi\fi +\if@twocolumn + \def\@normalsize{\@setsize\normalsize{11pt}\ixpt\@ixpt + \abovedisplayskip 6pt plus 2pt minus 2pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 6pt plus 2pt + \belowdisplayshortskip \abovedisplayshortskip + \let\@listi\@listI} + \else + \ifSFB@referee + \def\@normalsize{\@setsize\normalsize{14pt}\xiipt\@xiipt + \abovedisplayskip 4pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 4pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \let\@listi\@listI} + \else + \def\@normalsize{\@setsize\normalsize{12pt}\ixpt\@ixpt + \abovedisplayskip 4pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 4pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \let\@listi\@listI} + \fi +\fi +\def\small{\@setsize\small{10pt}\viiipt\@viiipt + \abovedisplayskip 4pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 4pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \def\@listi{\leftmargin\leftmargini + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ + \itemsep 2pt}} +\def\footnotesize{\@setsize\footnotesize{10pt}\viiipt\@viiipt + \abovedisplayskip 4pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 4pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \def\@listi{\leftmargin\leftmargini + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ + \itemsep 2pt}} +\def\scriptsize{\@setsize\scriptsize{8pt}\vipt\@vipt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +% +\if@twocolumn + \def\large{\@setsize\large{11pt}\xpt\@xpt} + \else + \def\large{\@setsize\large{12pt}\xpt\@xpt} + \fi +\def\Large{\@setsize\Large{14pt}\xiipt\@xiipt} +\def\LARGE{\@setsize\LARGE{17pt}\xivpt\@xivpt} +\def\huge{\@setsize\huge{20pt}\xviipt\@xviipt} +\def\Huge{\@setsize\Huge{25pt}\xxpt\@xxpt} +% +\def\sevensize{\@setsize\sevensize{8pt}\viipt\@viipt} +% +\normalsize + +%%%%%%%%%%%%%%%%%%%%%%%% Extra Math / Symbol code %%%%%%%%%%%%%%%%%%%%%%%% + +\def\hexnumber#1{\ifcase#1 0\or1\or2\or3\or4\or5\or6\or7% + \or8\or9\or A\or B\or C\or D\or E\or F\fi} + +\def\setboxz@h{\setbox\z@\hbox} +\def\wdz@{\wd\z@} +\def\boxz@{\box\z@} +\def\setbox@ne{\setbox\@ne} +\def\wd@ne{\wd\@ne} + +\def\math@atom#1#2{% + \binrel@{#1}\binrel@@{#2}} +\def\binrel@#1{\setboxz@h{\thinmuskip0mu + \medmuskip\m@ne mu\thickmuskip\@ne mu$#1\m@th$}% + \setbox@ne\hbox{\thinmuskip0mu\medmuskip\m@ne mu\thickmuskip + \@ne mu${}#1{}\m@th$}% + \setbox\tw@\hbox{\hskip\wd@ne\hskip-\wdz@}} +\def\binrel@@#1{\ifdim\wd2<\z@\mathbin{#1}\else\ifdim\wd\tw@>\z@ + \mathrel{#1}\else{#1}\fi\fi} + +% These must be here because \newif and \newtoks are defined \outer. +\newif\iffirstta +\newtoks\math@groups +\newif\ifd@f + +\ifoldfss +% +% newfont.sty +% ALPHA VERSION patchlevel 8, 16th August 1994, M. Reed + +% \addtom@thgroup{math font loading info} +% Adds to internal \math@groups definition, which is executed at the end +% of each size changing command. It is called by \NewSymbolFont. + +\math@groups={} +\def\addtom@thgroup#1#2{#1\expandafter{\the#1#2}} % \mac={new\the\mac} + + +% Redefine \@setsize to allow math fonts to be reloaded automatically. +% \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE +% \@setsize\tiny{6pt}\vpt\@vpt + +\def\@setsize#1#2#3#4{\@nomath#1\let\@currsize#1\baselineskip + #2\setbox\strutbox\hbox{\vrule height.7\baselineskip + depth.3\baselineskip width\z@}\baselineskip\baselinestretch\baselineskip + \normalbaselineskip\baselineskip#3#4\relax + \the\math@groups +} + + +% Make LaTeX change the values of \s@ze, \ss@ze, \sss@ze when \@npt is +% executed. This makes it possible for math characters to be loaded +% at the correct size automatically when the size is changed. + +% \addtosizeh@ok{x}{10}{7}{5} + +\def\addtosizeh@ok#1#2#3#4{% + \expandafter\def\csname @#1pt\endcsname{% + \def\s@ze{#2}\def\ss@ze{#3}\def\sss@ze{#4}% + }% +} + + +% \resetsizehook allows the size parameters to be reset after \addtosizeh@ok +% has been called (it re-defines \@npt). +% e.g JFM which requires \xpt to have 10.5pt instead of 10pt. +% Note: \resetsizehook must be used BEFORE \begin{document}, and BEFORE any +% \New... commands. + +% e.g. \resetsizehook{x}{10.5}{7}{5} + +\let\resetsizehook=\addtosizeh@ok + + +% Standard LaTeX sizes + +\ifx\CUP@mtlplain@loaded\undefined + \addtosizeh@ok{v} {5} {5} {5} + \addtosizeh@ok{vi} {6} {6} {6} + \addtosizeh@ok{vii} {7} {6} {5} + \addtosizeh@ok{viii} {8} {6} {5} + \addtosizeh@ok{ix} {9} {6} {5} + \addtosizeh@ok{x} {10} {7} {5} + \addtosizeh@ok{xi} {10.95} {8} {6} + \addtosizeh@ok{xii} {12} {8} {6} + \addtosizeh@ok{xiv} {14.4} {10} {7} + \addtosizeh@ok{xvii} {17.28} {12} {10} + \addtosizeh@ok{xx} {20.74} {14.4} {12} + \addtosizeh@ok{xxv} {24.88} {20.74} {17.28} +\else + \addtosizeh@ok{v} {5} {5} {5} + \addtosizeh@ok{vi} {6} {6} {6} + \addtosizeh@ok{vii} {7} {6} {5} + \addtosizeh@ok{viii} {8} {6} {5} + \addtosizeh@ok{ix} {9} {6} {5} + \addtosizeh@ok{x} {10}{7} {5} + \addtosizeh@ok{xi} {11}{8} {6} + \addtosizeh@ok{xii} {12}{8} {6} + \addtosizeh@ok{xiv} {14}{10} {7} + \addtosizeh@ok{xvii} {17}{12}{10} + \addtosizeh@ok{xx} {20}{14}{12} + \addtosizeh@ok{xxv} {25}{20}{17} +\fi + + +\def\get@font#1#2#3{% + \edef\fonts@ze{\romannumeral#3}% 10 -> x + \edef\fontn@me{\fonts@ze#1}% AMSa -> xAMSa + \@ifundefined{\fontn@me}% + {%%\typeout{defining \fontn@me}% + \global\expandafter\font\csname \fontn@me\endcsname=#2 at #3pt}% + {}% +} + +\def\ass@tfont#1#2{% + \xdef\fam@name{\csname #1\endcsname}% + \xdef\font@name{\csname #2\endcsname}% + \let\textfont@name\font@name + \textfont\fam@name\textfont@name +} + +\def\ass@sfont#1#2{% + \xdef\fam@name{\csname #1\endcsname}% + \xdef\font@name{\csname #2\endcsname}% + \let\textfont@name\font@name + \scriptfont\fam@name\textfont@name +} + +\def\ass@ssfont#1#2{% + \xdef\fam@name{\csname #1\endcsname}% + \xdef\font@name{\csname #2\endcsname}% + \let\textfont@name\font@name + \scriptscriptfont\fam@name\textfont@name +} + + +% fam name base font (allocates a \newfam) +% \NewSymbolFont {AMSa} {mtxm10} + +\def\NewSymbolFont#1#2{% + \expandafter\ifx\csname sym#1fam\endcsname\relax % if not defined + \expandafter\newfam\csname sym#1fam\endcsname + \expandafter\edef\csname sym#1fam\endcsname{\the\allocationnumber}% + \addtom@thgroup\math@groups{% + \get@font{#1}{#2}{\s@ze}% + \ass@tfont{sym#1fam}{\fontn@me}% + \get@font{#1}{#2}{\ss@ze}% + \ass@sfont{sym#1fam}{\fontn@me}% + \get@font{#1}{#2}{\sss@ze}% + \ass@ssfont{sym#1fam}{\fontn@me}% + }% + \else + \errmessage{Family `#1' already defined}% + \fi +} + + +% symbol type fam pos (hex) +% \NewMathSymbol {\blacksquare} {0} {AMSa} {04} + +\def\NewMathSymbol#1#2#3#4{% + \edef\f@mly{\expandafter\hexnumber{\csname sym#3fam\endcsname}}% + \mathchardef#1="#2\f@mly#4\relax +} + + +% macro name type fam1 pos fam2 pos +% \NewMathDelimiter{\ulcorner} {4} {AMSa} {70} {AMSb} {70} + +\def\NewMathDelimiter#1#2#3#4#5#6{% + \d@ftrue + \expandafter\ifx\csname sym#3fam\endcsname\relax + \d@ffalse \errmessage{Family `#3' is not defined}% + \fi + \expandafter\ifx\csname sym#5fam\endcsname\relax + \d@ffalse \errmessage{Family `#5' is not defined}% + \fi + \ifd@f + \edef\f@mly{\expandafter\hexnumber{\csname sym#3fam\endcsname}}% + \edef\f@mlytw@{\expandafter\hexnumber{\csname sym#5fam\endcsname}}% + \xdef#1{\delimiter"#2\f@mly #4\f@mlytw@ #6\relax}% + \fi +} + + +% macro name base font skewchar setting e.g '60 (octal) +% \NewMathAlphabet {mathbssi} {mtmisb10} {} + +\def\m@thit{1} + +\def\set@skchar#1{\global\expandafter\skewchar + \csname\fontn@me\endcsname=#1\relax} + +\def\NewMathAlphabet#1#2#3{% + \def\tst{#3}% + \ifx\tst\empty\else % if a \skewchar setting is present + \expandafter\gdef\csname #1@sc\endcsname{}% \def\cmd@sc{..} + \fi + % + \expandafter\def\csname #1\endcsname{% \def\cmd{\protect\@cmd} + \protect\csname @#1\endcsname}% + % + \expandafter\def\csname @#1\endcsname##1{% \def\@cmd{..} + {% + \begingroup + \get@font{#1}{#2}{\s@ze}% + \@ifundefined{#1@sc}{}{\set@skchar{#3}}% + \ass@tfont{m@thit}{\fontn@me}% + \get@font{#1}{#2}{\ss@ze}% + \@ifundefined{#1@sc}{}{\set@skchar{#3}}% + \ass@sfont{m@thit}{\fontn@me}% + \get@font{#1}{#2}{\sss@ze}% + \@ifundefined{#1@sc}{}{\set@skchar{#3}}% + \ass@ssfont{m@thit}{\fontn@me}% + % + \math@atom{##1}{% + \mathchoice% + {\hbox{$\m@th\displaystyle##1$}}% + {\hbox{$\m@th\textstyle##1$}}% + {\hbox{$\m@th\scriptstyle##1$}}% + {\hbox{$\m@th\scriptscriptstyle##1$}}}% + \endgroup + }% + }% +} + + +% macro name base font hyphenchar setting e.g -1 (off) +% \NewTextAlphabet {textbfit} {mtbxti10} {} + +% save a family if \NewTextAlphabet is not used. +\firsttatrue + +\def\set@hchar#1{\global\expandafter\hyphenchar + \csname\fontn@me\endcsname=#1\relax} + +\def\NewTextAlphabet#1#2#3{% + \iffirstta + \global\firsttafalse + \newfam\scratchfam + \edef\scrt@fam{\the\allocationnumber}% + \fi + \def\tst{#3}% + \ifx\tst\empty\else % if a \hyphenchar setting is required + \expandafter\gdef\csname #1@hc\endcsname{}% \def\cmd@sc{..} + \fi + % + \expandafter\def\csname #1\endcsname{% \def\cmd{\protect\t@cmd} + \protect\csname t@#1\endcsname}% + % + \long\expandafter\def\csname t@#1\endcsname##1{% \def\t@cmd{..} + \ifmmode + \typeout{Warning: do not use \expandafter\string\csname #1\endcsname + \space in math mode}\fi% + {% + \get@font{#1}{#2}{\s@ze}\let\t@xtfnt=\fontn@me\relax + \@ifundefined{#1@hc}{}{\set@hchar{#3}}% + \ass@tfont{scrt@fam}{\fontn@me}% + \get@font{#1}{#2}{\ss@ze}% + \@ifundefined{#1@hc}{}{\set@hchar{#3}}% + \ass@sfont{scrt@fam}{\fontn@me}% + \get@font{#1}{#2}{\sss@ze}% + \@ifundefined{#1@hc}{}{\set@hchar{#3}}% + \ass@ssfont{scrt@fam}{\fontn@me}% + \fam\scratchfam\csname\t@xtfnt\endcsname + ##1% + }% + }% + % + \expandafter\def\csname #1shape% \def\cmdshape{\protect\@cmdshape} + \endcsname{\protect\csname @#1shape\endcsname}% + % + \expandafter\def\csname @#1shape\endcsname{% \def\@cmdshape + \ifmmode + \typeout{Warning: do not use \expandafter\string\csname + #1shape\endcsname \space in math mode}\fi + % + \get@font{#1}{#2}{\s@ze}\let\t@xtfnt=\fontn@me\relax + \@ifundefined{#1@hc}{}{\set@hchar{#3}}% + \ass@tfont{scrt@fam}{\fontn@me}% + \get@font{#1}{#2}{\ss@ze}% + \@ifundefined{#1@hc}{}{\set@hchar{#3}}% + \ass@sfont{scrt@fam}{\fontn@me}% + \get@font{#1}{#2}{\sss@ze}% + \@ifundefined{#1@hc}{}{\set@hchar{#3}}% + \ass@ssfont{scrt@fam}{\fontn@me}% + \fam\scratchfam\csname\t@xtfnt\endcsname + }% +} + + +% \bmath{math text} + +\ifx\CUP@mtlplain@loaded\undefined + \def\math@itfnt{cmmib10} + \def\math@syfnt{cmbsy10} +\else + \def\math@itfnt{mtmib10} + \def\math@syfnt{mtbsy10} +\fi + +\def\m@thsy{2} + +\def\bmath{\protect\@bmath} +\def\@bmath#1{% + {% + \begingroup + \get@font{mthit}{\math@itfnt}{\s@ze}\set@skchar{'177}% + \ass@tfont{m@thit}{\fontn@me}% + \get@font{mthit}{\math@itfnt}{\ss@ze}\set@skchar{'177}% + \ass@sfont{m@thit}{\fontn@me}% + \get@font{mthit}{\math@itfnt}{\sss@ze}\set@skchar{'177}% + \ass@ssfont{m@thit}{\fontn@me}% + % + \get@font{mthsy}{\math@syfnt}{\s@ze}\set@skchar{'60}% + \ass@tfont{m@thsy}{\fontn@me}% + \get@font{mthsy}{\math@syfnt}{\ss@ze}\set@skchar{'60}% + \ass@sfont{m@thsy}{\fontn@me}% + \get@font{mthsy}{\math@syfnt}{\sss@ze}\set@skchar{'60}% + \ass@ssfont{m@thsy}{\fontn@me}% + % + \math@atom{#1}{% + \mathchoice% + {\hbox{$\m@th\displaystyle#1$}}% + {\hbox{$\m@th\textstyle#1$}}% + {\hbox{$\m@th\scriptstyle#1$}}% + {\hbox{$\m@th\scriptscriptstyle#1$}}}% + \endgroup + }% +} +% +\fi % End of ofss + +% Make these do nothing (for backwards compatibility} +\let\loadboldmathitalic=\relax +\let\loadboldgreek=\relax + +\ifoldfss % if NFSS release 1 or 2 +\else + % + \def\mathch{\protect\p@mathch} + \def\p@mathch#1#2{% + \begingroup + \let\@nomath\@gobble \mathversion{#1}% + \math@atom{#2}{% + \mathchoice% + {\hbox{$\m@th\displaystyle#2$}}% + {\hbox{$\m@th\textstyle#2$}}% + {\hbox{$\m@th\scriptstyle#2$}}% + {\hbox{$\m@th\scriptscriptstyle#2$}}}% + \endgroup} + % + \def\bmath{\protect\p@boldm} + \def\p@boldm#1{\mathch{bold}{#1}} + % +\fi + + +% Define lowercase bold Greek. +% Use \boldeta for bold \eta (clashes with \beta). + +\ifnfsstwo % if OFSS or NFSS release 1 +\else +% + \def\balpha{\bmath{\alpha}} + \def\bbeta{\bmath{\beta}} + \def\bgamma{\bmath{\gamma}} + \def\bdelta{\bmath{\delta}} + \def\bepsilon{\bmath{\epsilon}} + \def\bzeta{\bmath{\zeta}} + \def\boldeta{\bmath{\eta}} + \def\btheta{\bmath{\theta}} + \def\biota{\bmath{\iota}} + \def\bkappa{\bmath{\kappa}} + \def\blambda{\bmath{\lambda}} + \def\bmu{\bmath{\mu}} + \def\bnu{\bmath{\nu}} + \def\bxi{\bmath{\xi}} + \def\bpi{\bmath{\pi}} + \def\brho{\bmath{\rho}} + \def\bsigma{\bmath{\sigma}} + \def\btau{\bmath{\tau}} + \def\bupsilon{\bmath{\upsilon}} + \def\bphi{\bmath{\phi}} + \def\bchi{\bmath{\chi}} + \def\bpsi{\bmath{\psi}} + \def\bomega{\bmath{\omega}} + \def\bvarepsilon{\bmath{\varepsilon}} + \def\bvartheta{\bmath{\vartheta}} + \def\bvarpi{\bmath{\varpi}} + \def\bvarrho{\bmath{\varrho}} + \def\bvarsigma{\bmath{\varsigma}} + \def\bvarphi{\bmath{\varphi}} + % +\fi + +\ifnfsstwo + % + \let\mit=\mathnormal + % + % The following is needed beause NFSS release 2 does not define the bold + % math symbol font to be available! + % + \SetSymbolFont{symbols}{bold}{OMS}{cmsy}{b}{n} + % + \DeclareSymbolFont{bmisymbols}{OML}{cmm}{b}{it} + \DeclareMathSymbol{\balpha}{0}{bmisymbols}{"0B} + \DeclareMathSymbol{\bbeta}{0}{bmisymbols}{"0C} + \DeclareMathSymbol{\bgamma}{0}{bmisymbols}{"0D} + \DeclareMathSymbol{\bdelta}{0}{bmisymbols}{"0E} + \DeclareMathSymbol{\bepsilon}{0}{bmisymbols}{"0F} + \DeclareMathSymbol{\bzeta}{0}{bmisymbols}{"10} + \DeclareMathSymbol{\boldeta}{0}{bmisymbols}{"11} + \DeclareMathSymbol{\btheta}{0}{bmisymbols}{"12} + \DeclareMathSymbol{\biota}{0}{bmisymbols}{"13} + \DeclareMathSymbol{\bkappa}{0}{bmisymbols}{"14} + \DeclareMathSymbol{\blambda}{0}{bmisymbols}{"15} + \DeclareMathSymbol{\bmu}{0}{bmisymbols}{"16} + \DeclareMathSymbol{\bnu}{0}{bmisymbols}{"17} + \DeclareMathSymbol{\bxi}{0}{bmisymbols}{"18} + \DeclareMathSymbol{\bpi}{0}{bmisymbols}{"19} + \DeclareMathSymbol{\brho}{0}{bmisymbols}{"1A} + \DeclareMathSymbol{\bsigma}{0}{bmisymbols}{"1B} + \DeclareMathSymbol{\btau}{0}{bmisymbols}{"1C} + \DeclareMathSymbol{\bupsilon}{0}{bmisymbols}{"1D} + \DeclareMathSymbol{\bphi}{0}{bmisymbols}{"1E} + \DeclareMathSymbol{\bchi}{0}{bmisymbols}{"1F} + \DeclareMathSymbol{\bpsi}{0}{bmisymbols}{"20} + \DeclareMathSymbol{\bomega}{0}{bmisymbols}{"21} + \DeclareMathSymbol{\bvarepsilon}{0}{bmisymbols}{"22} + \DeclareMathSymbol{\bvartheta}{0}{bmisymbols}{"23} + \DeclareMathSymbol{\bvarpi}{0}{bmisymbols}{"24} + \DeclareMathSymbol{\bvarrho}{0}{bmisymbols}{"25} + \DeclareMathSymbol{\bvarsigma}{0}{bmisymbols}{"26} + \DeclareMathSymbol{\bvarphi}{0}{bmisymbols}{"27} + % +\fi + + +% Define font shapes for Euler upright Math, bold upright Math, +% AMS symbol fonts A and B, sans-serif bold, bold text italic, +% math italic bold and bold math symbol. +% These font shapes are defined in mnsym.tex to use Times fonts. + +\ifx\CUP@mtlplain@loaded\undefined + % + \ifnfssone + % + \new@fontshape{eur}{m}{n}{% + <5>eurm5<6>eurm6<7>eurm7<8>eurm8<9>eurm9<10>eurm10% + <11>eurm10 at 10.95pt<12>eurm10 at 12pt<14>eurm10 at 14.4pt% + <17>eurm10 at 17.28pt<20>eurm10 at 20.74pt<25>eurm10 at 24.88pt}{} + % + \new@fontshape{eur}{b}{n}{% + <5>eurb5<6>eurb6<7>eurb7<8>eurb8<9>eurb9<10>eurb10% + <11>eurb10 at 10.95pt<12>eurb10 at 12pt<14>eurb10 at 14.4pt% + <17>eurb10 at 17.28pt<20>eurb10 at 20.74pt<25>eurb10 at 24.88pt}{} + % + \new@fontshape{msa}{m}{n}{% + <5>msam5<6>msam6<7>msam7<8>msam8<9>msam9<10>msam10% + <11>msam10 at 10.95pt<12>msam10 at 12pt<14>msam10 at 14.4pt% + <17>msam10 at 17.28pt<20>msam10 at 20.74pt<25>msam10 at 24.88pt}{} + % + \new@fontshape{msb}{m}{n}{% + <5>msbm5<6>msbm6<7>msbm7<8>msbm8<9>msbm9<10>msbm10% + <11>msbm10 at 10.95pt<12>msbm10 at 12pt<14>msbm10 at 14.4pt% + <17>msbm10 at 17.28pt<20>msbm10 at 20.74pt<25>msbm10 at 24.88pt}{} + % + \new@fontshape{cmss}{bx}{n}{% + <5>cmssbx10 at5pt<6>cmssbx10 at6pt<7>cmssbx10 at7pt<8>cmssbx10 at8pt% + <9>cmssbx10 at9pt<10>cmssbx10<11>cmssbx10 at10.95pt<12>cmssbx10 at12pt% + <14>cmssbx10 at14.4pt<17>cmssbx10 at17.28pt<20>cmssbx10 at20.74pt% + <25>cmssbx10 at24.88pt}{} + % + \new@fontshape{cmr}{bx}{it}{% + <5>cmbxti10 at5pt<6>cmbxti10 at6pt<7>cmbxti10 at7pt<8>cmbxti10 at8pt% + <9>cmbxti10 at9pt<10>cmbxti10<11>cmbxti10 at10.95pt<12>cmbxti10 at12pt% + <14>cmbxti10 at14.4pt<17>cmbxti10 at17.28pt<20>cmbxti10 at20.74pt% + <25>cmbxti10 at24.88pt}{} + % + \new@fontshape{cmm}{b}{it}{% + <5>cmmib10 at5pt<6>cmmib10 at6pt<7>cmmib10 at7pt<8>cmmib10 at8pt% + <9>cmmib10 at9pt<10>cmmib10<11>cmmib10 at10.95pt<12>cmmib10 at12pt% + <14>cmmib10 at14.4pt<17>cmmib10 at17.28pt<20>cmmib10 at20.74pt% + <25>cmmib10 at24.88pt}{} + % + \new@fontshape{cmsy}{b}{n}{% + <5>cmbsy10 at5pt<6>cmbsy10 at6pt<7>cmbsy10 at7pt<8>cmbsy10 at8pt% + <9>cmbsy10 at9pt<10>cmbsy10<11>cmbsy10 at10.95pt<12>cmbsy10 at12pt% + <14>cmbsy10 at14.4pt<17>cmbsy10 at17.28pt<20>cmbsy10 at20.74pt% + <25>cmbsy10 at24.88pt}{} + % + \def\UseAMStwoboldmath{% + \new@fontshape{cmm}{b}{it}{% + <5>cmmib5<6>cmmib6<7>cmmib7<8>cmmib8<9>cmmib9<10>cmmib10% + <11>cmmib10 at10.95pt<12>cmmib10 at12pt<14>cmmib10 at14.4pt% + <17>cmmib10 at17.28pt<20>cmmib10 at20.74pt<25>cmmib10 at24.88pt}{} + % + \new@fontshape{cmsy}{b}{n}{% + <5>cmbsy5<6>cmbsy6<7>cmbsy7<8>cmbsy8<9>cmbsy9<10>cmbsy10% + <11>cmbsy10 at10.95pt<12>cmbsy10 at12pt<14>cmbsy10 at14.4pt% + <17>cmbsy10 at17.28pt<20>cmbsy10 at20.74pt<25>cmbsy10 at24.88pt}{} + }% + % + \fi % End of NFSS release 1 +\else + \let\UseAMStwoboldmath=\relax +\fi + + +% Astronomy and Astrophysics symbol macros + +\def\la{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr<\cr\sim\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +<\cr\sim\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +<\cr\sim\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +<\cr\sim\cr}}}}} + +\def\ga{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr>\cr\sim\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +>\cr\sim\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +>\cr\sim\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +>\cr\sim\cr}}}}} + +\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr\gets\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +\gets\cr\to\cr}}}}} + +\def\cor{\mathrel{\mathchoice {\hbox{$\widehat=$}}{\hbox{$\widehat=$}} +{\hbox{$\reset@font\scriptstyle\hat=$}} +{\hbox{$\reset@font\scriptscriptstyle\hat=$}}}} + +\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr<\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr<\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +<\cr +\noalign{\vskip0.9pt}=\cr}}}}} + +\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr>\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr>\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +>\cr +\noalign{\vskip0.9pt}=\cr}}}}} + +\def\sol{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr\sim\cr<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr\sim\cr +<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr\sim\cr +<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +\sim\cr<\cr}}}}} + +\def\sog{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr\sim\cr>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr\sim\cr +>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +\sim\cr>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +\sim\cr>\cr}}}}} + +\def\lse{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr<\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +<\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +<\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +<\cr\simeq\cr}}}}} + +\def\gse{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr>\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +>\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +>\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +>\cr\simeq\cr}}}}} + +\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1.5pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +>\cr\noalign{\vskip-1.5pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +>\cr\noalign{\vskip-1pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.5pt}<\cr}}}}} + +\def\leogr{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr<\cr\noalign{\vskip-1.5pt}>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +<\cr\noalign{\vskip-1.5pt}>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +<\cr\noalign{\vskip-1pt}>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +<\cr\noalign{\vskip-0.5pt}>\cr}}}}} + +\def\loa{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr<\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +<\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +<\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +<\cr\approx\cr}}}}} + +\def\goa{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr>\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +>\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +>\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +>\cr\approx\cr}}}}} + +\def\sun{\hbox{$\odot$}} +\def\degr{\hbox{$^\circ$}} +\def\diameter{{\ifmmode\mathchoice +{\ooalign{\hfil\hbox{$\reset@font\displaystyle/$}\hfil\crcr +{\hbox{$\reset@font\displaystyle\mathchar"20D$}}}} +{\ooalign{\hfil\hbox{$\reset@font\textstyle/$}\hfil\crcr +{\hbox{$\reset@font\textstyle\mathchar"20D$}}}} +{\ooalign{\hfil\hbox{$\reset@font\scriptstyle/$}\hfil\crcr +{\hbox{$\reset@font\scriptstyle\mathchar"20D$}}}} +{\ooalign{\hfil\hbox{$\reset@font\scriptscriptstyle/$}\hfil\crcr +{\hbox{$\reset@font\scriptscriptstyle\mathchar"20D$}}}} +\else{\ooalign{\hfil/\hfil\crcr\mathhexbox20D}}% +\fi}} + +\def\sq{\ifmmode\squareforqed\else{\unskip\nobreak\hfil +\penalty50\hskip1em\null\nobreak\hfil\squareforqed +\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} +\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}} + +\ifoldfss + \newcommand{\r@mn}[1] {{\rm #1}}% +\else + \newcommand{\r@mn}[1] {\mathrm{#1}}% +\fi + +\def\fd{\hbox{$.\!\!^{\reset@font\r@mn{d}}$}} +\def\fh{\hbox{$.\!\!^{\reset@font\r@mn{h}}$}} +\def\fm{\hbox{$.\!\!^{\reset@font\r@mn{m}}$}} +\def\fs{\hbox{$.\!\!^{\reset@font\r@mn{s}}$}} +\def\fdg{\hbox{$.\!\!^\circ$}} +\def\farcm{\hbox{$.\mkern-4mu^\prime$}} +\def\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\def\fp{\hbox{$.\!\!^{\reset@font\scriptscriptstyle\r@mn{p}}$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} + +%%%%%%%%%%%%%%%%%%%%% End of Extra Math / Symbol code %%%%%%%%%%%%%%%%%%%%% + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% SIDE MARGINS: +\if@twocolumn + \oddsidemargin -2.5pc \evensidemargin -2.5pc +\else + \ifSFB@referee + \oddsidemargin \z@ \evensidemargin \z@ + \else + \oddsidemargin -2pc \evensidemargin -2pc + \fi +\fi +\marginparwidth 4pc +\marginparsep 0.5pc + +% VERTICAL SPACING: +%\if@twocolumn +% \topmargin -2pc +%\else + \topmargin \z@ +%\fi +\headheight 14pt +\headsep 15pt +\topskip 9pt +\footheight 11pt +\footskip 22pt % was 26pt +% +% DIMENSION OF TEXT: % SFB 0.1.01 +% +\newdimen\SFB@measure +\SFB@measure 42pc +% +\textheight 682pt +\textwidth \SFB@measure +% +\ifSFB@landscape + \textwidth \textheight + \textheight \SFB@measure +\fi +\ifSFB@referee + \textwidth 39pc +\fi +\columnsep 2pc +\columnseprule 0pt + +% FOOTNOTES: +\footnotesep 6pt +\skip\footins 19.5pt plus 12pt minus 1pt + +% FLOATS: +\floatsep 12pt plus 5.5pt minus 1pt +\textfloatsep 12pt plus 7.5pt +\intextsep 12pt plus 5.5pt minus 2pt +\@maxsep 15pt +\dblfloatsep 12pt plus 5.5pt minus 2pt +\dbltextfloatsep 15pt plus 4.5pt minus 3pt +\@dblmaxsep 15pt +\@fptop 0pt plus 0fil +\@fpsep 12pt plus 0fil +\@fpbot 0pt plus 0fil% 3fil ajw +\@dblfptop 0pt plus 0fil +\@dblfpsep 12pt plus 0fil +\@dblfpbot 0pt plus 0fil% 3fil ajw +\marginparpush 5pt + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\newdimen\realparindent % needed for abstract +\parskip \z@ plus .1pt +\parindent 18pt +\realparindent=\parindent +\partopsep 0pt plus 1pt +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\clubpenalty=0 +\widowpenalty=10000 + +% **************************************** +% * PARTS & SECTIONS NUMBERS * +% **************************************** +% +\newcounter {part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] +\def\thepart {\arabic{part}} +\def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + +% **************************************** +% * PARTS * +% **************************************** +% +\def\part{\par \addvspace{4ex}\@afterindentfalse + \secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{part} + \addcontentsline{toc}{part}{Part \thepart: #1} + \else \addcontentsline{toc}{part}{#1} + \fi + {\parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne + \reset@font\large\rm PART + \ifcase\thepart \or ONE \or TWO \or THREE \or FOUR \or FIVE + \or SIX \or SEVEN \or EIGHT \or NINE \or TEN \else \fi + \par \nobreak + \fi + \reset@font\LARGE \rm #2 \markboth{}{}\par } + \nobreak \vskip 3ex \@afterheading} +\def\@spart#1{{\parindent 0pt \raggedright + \reset@font\LARGE \rm #1\par} + \nobreak \vskip 3ex \@afterheading} + +% **************************************** +% * SECTIONS * +% **************************************** +% +% \@startsection modified to leave less space before \subsection +% if it immediately follows \section + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} + +\newif\if@levelone + +\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifnum #2=\@ne % if level=1 ie. section + \global\@levelonetrue + \else + \global\@levelonefalse + \fi + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi + \if@nobreak + \everypar{}\ifnum#2=2 \vskip 0pt plus1pt\fi % was 6pt + \else + \addpenalty{\@secpenalty}\addvspace{\@tempskipa} + \fi \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} + +%\def\SFB@hangraggedright{\rightskip\@flushglue \let\\=\newline} +%\def\SFB@raggedright{\rightskip\@flushglue \let\\=\@centercr +% \parindent=\SFB@indent} + +\def\SFB@hangraggedright{\rightskip=\@flushglue \let\\=\@centercr \parindent=0pt} + +\def\section{\@startsection{section}{1}{\z@} + {-24pt plus -12pt minus -1pt}{6pt} + {\SFB@hangraggedright\reset@font\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {-18pt plus -9pt minus -1pt}{6pt} + {\SFB@hangraggedright\reset@font\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {-18pt plus -9pt minus -1pt}{6pt} + {\SFB@hangraggedright\reset@font\normalsize\it}} +\def\paragraph{\@startsection{paragraph}{4}{\z@} + {12pt plus 2.25pt minus 1pt}{-0.5em}{\reset@font\normalsize\bf}} +\def\subparagraph{\@startsection{subparagraph}{5}{\parindent} + {12pt plus 2.25pt minus 1pt}{-0.5em}{\reset@font\normalsize\it}} +\setcounter{secnumdepth}{4} % SFB 0.1.01 +% +% \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[ARG1]{ARG2} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \def\@svsec{}% + \else + \refstepcounter{#1}% + \if@levelone % is it a \section or \section* + \ifSFB@appendix + \edef\@svsec{}% + \else + \edef\@svsec{\csname the#1\endcsname\hskip 1em}% + \fi + \else + \edef\@svsec{\csname the#1\endcsname\hskip 1em}% + \fi + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \if@levelone + \ifSFB@appendix + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + APPENDIX \csname the#1\endcsname:\hskip 0.5em\uppercase{#8}\par}% + \else + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \uppercase{#8}\par}% + \fi + \else + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}% + \fi + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else %ajw + \protect\numberline{\csname the#1\endcsname}\fi #7}%ajw + \else + \def\@svsechd{#6\hskip #3\@svsec \if@levelone \uppercase{#8}\else #8\fi + \csname #1mark\endcsname{#7} + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else %ajw + \protect\numberline{\csname the#1\endcsname}\fi#7}%ajw + }\fi + \@xsect{#5}} + +% from latex.tex +% \@ssect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{ARG} +\def\@ssect#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\@hangfrom{\hskip #1}{% + \interlinepenalty \@M + \if@levelone + \uppercase{#5}% + \else {#5}% + \fi\par}% + \endgroup + \else + \def\@svsechd{#4\hskip #1\relax + \if@levelone + \uppercase{#5}% + \else {#5}% + \fi} + \fi + \@xsect{#3}% +} + +\newif\ifSFB@appendix +\def\appendix{\par + \SFB@appendixtrue + \@addtoreset{equation}{section} + \@addtoreset{table}{section} + \@addtoreset{figure}{section} + \setcounter{section}{0} + \setcounter{equation}{0} + \setcounter{figure}{0} + \setcounter{table}{0} + \def\thesection{\Alph{section}} + \def\thesubsection{\thesection\arabic{subsection}} + \def\theequation{\thesection\arabic{equation}} + \def\thefigure{\thesection\@arabic\c@figure} + \def\thetable{\thesection\@arabic\c@table} +} + +% **************************************** +% * SKIPS * +% **************************************** +% +\newskip\@indentskip +\newskip\smallindent +\newskip\@footindent +\newskip\@leftskip +\@indentskip=18pt +\smallindent=1.5em +\@footindent=\smallindent +\@leftskip=\z@ + +% **************************************** +% * LISTS * +% **************************************** +% +\leftmargini \z@ +\leftmarginii 1.25pc +\leftmarginiii 1.25pc +\leftmarginiv 1.25pc +\leftmarginv 1pc +\leftmarginvi 1pc +\leftmargin\leftmargini +\labelsep 0.5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep +% +% label macros for Range-Left and Range-Right labels +\def\makeRLlabel#1{\rlap{#1}\hss} +\def\makeRRlabel#1{\hss\llap{#1}} +\def\makenewlabel#1{#1} +% +\def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 6pt plus 1pt minus 1pt + \itemsep \z@ plus .1pt +} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 6pt plus 1pt minus 1pt + \parsep \z@ + \itemsep \z@ plus .1pt +} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 6pt plus 1pt minus 1pt + \parsep \z@ + \partopsep \z@ + \itemsep \topsep +} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep +} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep +} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep +} +% +% ITEMIZE +\def\itemize{% + \ifnum \@itemdepth >3 \@toodeep + \else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\let\makelabel\makeRRlabel}% + \parindent 1em% + \leftmargin 3.5em\labelsep 0.5em\itemindent 2.0em\labelwidth 0.5em% + \fi} +\def\labelitemi{$\bullet$} +\def\labelitemii{--} +\def\labelitemiii{$\cdot$} +\def\labelitemiv{*} +% +% ENUMERATE +% SFB -- enumerate with optional argument to set left margin... +\def\enumerate{\ifnum \@enumdepth >3 \@toodeep \else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + \fi + \@ifnextchar [{\@enumeratetwo}{\@enumerateone}% +} +\def\@enumeratetwo[#1]{% + \list{\csname label\@enumctr\endcsname}% + {\settowidth\labelwidth{[#1]} + \leftmargin\z@ + \listparindent 1em + \usecounter{\@enumctr} + \let\makelabel\makenewlabel} +} +\def\@enumerateone{% + \list{\csname label\@enumctr\endcsname}% + {\usecounter{\@enumctr}\itemindent 1em\listparindent 1em + \let\makelabel\makenewlabel}} +% +\def\labelenumi{\theenumi} +\def\theenumi{(\roman{enumi})} +\def\labelenumii{(\theenumii)} +\def\theenumii{(\alph{enumii})} +\def\p@enumii{\theenumi} +\def\labelenumiii{\theenumiii} +\def\theenumiii{(\arabic{enumiii})} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\theenumiv} +\def\theenumiv{(\Alph{enumiv})} +\def\p@enumiv{\p@enumiii\theenumiii} +% +% DESCRIPTION +%\def\descriptionlabel#1{\hspace\labelsep \reset@font\bf #1} +%\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin +% \leftmargin 1em +% \itemindent-1em +%}} +\def\descriptionlabel#1{\reset@font\bf #1} +\def\description{\list{}{\labelwidth\z@ + \leftmargin \z@ + \itemindent 1em +}} +\let\enddescription\endlist + +% **************************************** +% * DISPLAYED TEXT * +% **************************************** +% +% VERSE +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ + \itemindent -\@indentskip + \listparindent \itemindent + \rightmargin\leftmargin + \advance\leftmargin \@indentskip}\item[]} +\let\endverse\endlist +% +% QUOTATION +\def\quotation{\list{}{\listparindent \smallindent +% \itemindent\listparindent + \leftmargin\z@\rightmargin\leftmargin + \parsep 0pt plus 1pt}\item[]\reset@font\small} +\let\endquotation=\endlist +% +% QUOTE +\def\quote{\list{}{\leftmargin\z@\rightmargin\leftmargin}\item[]% + \reset@font\small} +\let\endquote=\endlist + +% **************************************** +% * OTHER ENVIRONMENTS * +% **************************************** +% +% THEOREM +\def\@begintheorem#1#2{\reset@font\rm \trivlist \item[\hskip \labelsep + {\reset@font\bf #1\ #2.}]} +\def\@opargbegintheorem#1#2#3{\reset@font\rm \trivlist + \item[\hskip \labelsep{\reset@font\bf #1\ #2.\ (#3)}]} +\def\@endtheorem{\endtrivlist} +% +% PROOF +\def\proof{\reset@font\rm \trivlist \item[\hskip \labelsep + {\reset@font\it Proof.}]} +\def\endproof{\hspace*{1em}{\begin{picture}(6.5,6.5)% + \put(0,0){\framebox(6.5,6.5){}}\end{picture}}\endtrivlist} +\@namedef{proof*}{\reset@font\rm \trivlist \item[\hskip \labelsep + {\reset@font\it Proof.}]} +\@namedef{endproof*}{\endtrivlist} +\def\proofbox{\begin{picture}(6.5,6.5)% + \put(0,0){\framebox(6.5,6.5){}}\end{picture}} +% +% TITLEPAGE +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +% ARRAY AND TABULAR +% +\arraycolsep 5pt +\tabcolsep 6pt +\arrayrulewidth .5pt +\doublerulesep 1.5pt + +\def\tabular{\def\@halignto{} + \def\hline{\noalign{\ifnum0=`}\fi + \vskip 3pt + \hrule \@height \arrayrulewidth +% {\hbox to 0.667\textwidth{\hrulefill}} + \vskip 3pt + \futurelet \@tempa\@xhline} + \def\fullhline{\noalign{\ifnum0=`}\fi + \vskip 3pt + \hrule \@height \arrayrulewidth +% {\hbox to \textwidth{\hrulefill}} + \vskip 3pt + \futurelet \@tempa\@xhline} + \def\@xhline{\ifx\@tempa\hline + \vskip -6pt + \vskip \doublerulesep + \fi + \ifnum0=`{\fi}} + \def\@arrayrule{\@addtopreamble{\hskip -.5\arrayrulewidth +% \vrule \@width \arrayrulewidth + \hskip .5\arrayrulewidth}} +\@tabular +} +% TABBING +% +\tabbingsep \labelsep + +% MINIPAGE +% +\skip\@mpfootins = \skip\footins + +% FRAMEBOX +% +% Space left between box and text by \fbox and \framebox. +\fboxsep = 3pt +% Width of rules in box made by \fbox and \framebox. +\fboxrule = \arrayrulewidth + +% **************************************** +% * TITLE AND ABSTRACT * +% **************************************** +% +\def\maketitle{\par + \begingroup + \if@twocolumn + \twocolumn[\vspace*{17pt}\@maketitle] + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{titlepage} + \endgroup + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@author{} + \gdef\@title{} + \let\thanks\relax +} +\def\newauthor{% + \end{author@tabular}\par + \begin{author@tabular}[t]{@{}l@{}}% +} +\def\and{% + \end{author@tabular}\vskip 3pt\par + \begin{author@tabular}[t]{@{}l@{}}% +} +\def\@maketitle{\newpage + \vspace*{7pt} + {\raggedright \sloppy + {\reset@font\huge \bf \@title \par} + \vskip 23pt + {\reset@font\LARGE + \begin{author@tabular}[t]{@{}l@{}}\@author + \end{author@tabular}\par} + \vskip 22pt + } + \par\noindent + {\reset@font\small \@date \par} + \vskip 22pt +} +% +\def\abstract{\if@twocolumn + \start@SFBbox\@abstract + \else + \@abstract + \fi} +\def\endabstract{\if@twocolumn + \endlist\finish@SFBbox + \else + \endlist + \fi} +\def\@abstract{\list{}{% + \listparindent\realparindent + \itemindent\z@ + \labelwidth\z@ \labelsep\z@ + \leftmargin 11pc\rightmargin\z@ + \parsep 0pt plus 1pt}\item[]% + \reset@font\normalsize{\bf ABSTRACT}\\\reset@font\large +} % SFB 0.1.01 +% +\newif\ifSFB@keywords +\def\keywords{\if@twocolumn + \start@SFBbox\@keywords + \else + \@keywords + \fi +} +\def\@keywords{\list{}{% + \labelwidth\z@ \labelsep\z@ + \leftmargin 11pc\rightmargin\z@ + \parsep 0pt plus 1pt}\item[]\reset@font\large{\bf Key words: }% +} +\def\endkeywords{\if@twocolumn + \endlist\addvspace{37pt plus 0.5\baselineskip}\finish@SFBbox + \else + \endlist + \fi + \@thanks + \gdef\@thanks{} + \SFB@keywordstrue +} +\def\nokeywords{\ifSFB@keywords\else + \if@twocolumn \start@SFBbox\addvspace{37pt}\finish@SFBbox \fi + \@thanks + \gdef\@thanks{}\fi +} + +\def\author@tabular{\def\@halignto{}\@authortable} +\let\endauthor@tabular=\endtabular +% +\def\author@tabcrone{\vspace{2pt}{\ifnum0=`}\fi% + \@xtabularcr[-7pt]\reset@font\small\it + \let\\=\author@tabcrtwo\ignorespaces} +% +\def\author@tabcrtwo{{\ifnum0=`}\fi\@xtabularcr[-7pt]\reset@font\small\it + \let\\=\author@tabcrtwo\ignorespaces} +% +\def\@authortable{\leavevmode \hbox \bgroup $\let\@acol\@tabacol + \let\@classz\@tabclassz \let\@classiv\@tabclassiv + \let\\=\author@tabcrone\ignorespaces \@tabarray} + +\def\start@SFBbox{\@next\@currbox\@freelist{}{}% + \global\setbox\@currbox + \vbox\bgroup + \hsize \textwidth + \@parboxrestore +} +\def\finish@SFBbox{\par\vskip -\dbltextfloatsep + \egroup + \global\count\@currbox\tw@ + \global\@dbltopnum\@ne + \global\@dbltoproom\maxdimen\@addtodblcol + \global\vsize\@colht + \global\@colroom\@colht +} + +% **************************************** +% * PAGE STYLES * +% **************************************** +% +\mark{{}{}} +\gdef\@author{\mbox{}} +\def\author{\@ifnextchar [{\@authortwo}{\@authorone}} +\def\@authortwo[#1]#2{\gdef\@author{#2}\gdef\@shortauthor{#1}} +\def\@authorone#1{\gdef\@author{#1}\gdef\@shortauthor{#1}} +%\def\shortauthor#1{\gdef\@shortauthor{#1}} +\gdef\@shortauthor{} +\gdef\@title{\mbox{}} +\def\title{\@ifnextchar [{\@titletwo}{\@titleone}} +\def\@titletwo[#1]#2{\gdef\@title{#2}\gdef\@shorttitle{#1}} +\def\@titleone#1{\gdef\@title{#1}\gdef\@shorttitle{#1}} +%\def\shorttitle#1{\gdef\@shorttitle{#1}} +\gdef\@shorttitle{} +\def\volume#1{\gdef\@volume{#1}} +\gdef\@volume{000} +\def\tod@y{\today} +\def\microfiche#1{\gdef\@microfiche{#1}} +\gdef\@microfiche{} +\def\pubyear#1{\gdef\@pubyear{#1}} +\gdef\@pubyear{0000} +\def\pagerange#1{\gdef\@pagerange{#1}} +\gdef\@pagerange{000--000} +\def\journal#1{\gdef\@journal{#1}} +\def\plate#1{\gdef\pl@te{#1}} +\ifx\CUP@mtlplain@loaded\undefined + \def\@printed{\qquad Printed \tod@y\qquad + (MN \LaTeX\ style file v\@version)} +\else + \def\@printed{} +\fi +\gdef\@journal{{Mon.\ Not.\ R.\ Astron.\ Soc.} {\bf \@volume}, \@pagerange\ +% (\number\year) \@microfiche\@printed} + (\@pubyear) \@microfiche\@printed} +% +% \ps@empty and \ps@plain defined in LATEX.TEX +% +\def\@ddell{} +\if@letters + \def\@ddell{L} +\fi +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\Large\hfill{\it\@shorttitle}\hspace{1.5em}% + \rm\@ddell\thepage} + \def\@oddfoot{\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, \@pagerange\hfil} + \def\@evenhead{\Large\@ddell\thepage\hspace{1.5em}\it\@shortauthor\hfill} + \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, \@pagerange} + \def\sectionmark##1{\markboth{##1}{}} + \def\subsectionmark##1{\markright{##1}}} + +\def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@oddhead{\Large\hfill\it\rightmark\hspace{1.5em}\rm\@ddell\thepage} + \def\@oddfoot{\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, \@pagerange\hfil} + \def\@evenhead{\Large\@ddell\thepage\hspace{1.5em}\it\leftmark\hfill} + \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, \@pagerange} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +\def\ps@titlepage{\let\@mkboth\@gobbletwo + \def\@oddhead{\footnotesize\@journal\hfill} + \def\@oddfoot{\small\copyright\ \@pubyear\ RAS\hfil} + \def\@evenhead{\footnotesize\@journal\hfill} + \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ RAS} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +\def\ps@plate{\let\@mkboth\@gobbletwo + \def\@oddhead{\footnotesize\pl@te\hfill} + \def\@oddfoot{\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, + \@pagerange\hfil} + \def\@evenhead{\footnotesize\pl@te\hfill} + \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ RAS, MNRAS {\bf \@volume}, + \@pagerange} +} + +% **************************************** +% * TABLE OF CONTENTS, ETC. * +% **************************************** +% +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{2} +\def\@undottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth + \else + \vskip \z@ plus .2pt + {\hangindent #2\relax + \rightskip \@tocrmarg \parfillskip -\rightskip + \parindent #2\relax \@afterindenttrue + \interlinepenalty\@M \leavevmode + \@tempdima #3\relax #4\nobreak \hfill \nobreak + \hbox to\@pnumwidth{\hfil\reset@font\rm \ }\par}\fi} +\def\tableofcontents{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{CONTENTS} \@starttoc{toc} + \if@restonecol\twocolumn\fi \par\vspace{12pt}} +\def\l@part#1#2{\addpenalty{-\@highpenalty} + \addvspace{2.25em plus 1pt} + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\reset@font\normalsize\rm + \leavevmode \hspace*{3pc} + #1\hfil \hbox to\@pnumwidth{\hss \ }}\par + \nobreak \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}\endgroup} +\def\l@section#1#2{\addpenalty{\@secpenalty} + \@tempdima 1.5em + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth \reset@font\rm \leavevmode + \advance\leftskip\@tempdima \hskip -\leftskip + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss \ }\par + \endgroup} +\def\l@subsection{\@undottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@undottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@undottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@undottedtocline{5}{10em}{5em}} +\def\listoffigures{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{LIST OF FIGURES\@mkboth{LIST OF FIGURES}{LIST OF FIGURES}} + \@starttoc{lof} \if@restonecol\twocolumn\fi} +\def\l@figure{\@undottedtocline{1}{1.5em}{2.3em}} +\def\listoftables{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{LIST OF TABLES\@mkboth{LIST OF TABLES}{LIST OF TABLES}} + \@starttoc{lot} \if@restonecol\twocolumn\fi} +\let\l@table\l@figure + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** +% + +\newcounter{dummy} +\def\thebibliography#1{\section*{REFERENCES} + \addcontentsline{toc}{section}{REFERENCES} + \list{}{\usecounter{dummy}% + \labelwidth\z@ + \leftmargin 1.5em + \itemsep \z@ + \itemindent-\leftmargin} + \reset@font\small + \parindent\z@ + \parskip\z@ plus .1pt\relax + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax +} +\let\endthebibliography=\endlist +\def\@biblabel#1{\hspace*{\labelsep}[#1]} + +% **************************************** +% * THE INDEX * +% **************************************** +% +\newif\if@restonecol +\def\theindex{\section*{INDEX} + \addcontentsline{toc}{section}{INDEX} + \reset@font\footnotesize \parindent\z@ \parskip\z@ plus .1pt\relax + \let\item\@idxitem} +\def\@idxitem{\par\hangindent 1em} +\def\subitem {\par\hangindent 1em \hspace*{1em}} +\def\subsubitem{\par\hangindent 1em\hspace*{1em}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par\vskip\baselineskip \relax} + +% **************************************** +% * FOOTNOTES * +% **************************************** +% +\def\footnoterule{\kern-3\p@ \hrule width 12pc height \z@ \kern 3\p@} + +\renewcommand{\thefootnote}{\mbox{{$\fnsymbol{footnote}$}}} + +\def\@fnsymbol#1{\ifcase#1\or \mbox{$\star$}\or \dagger\or \ddagger\or + \S \or \P \or \|\or \mbox{$\star\star$}\or \dagger\dagger + \or \ddagger\ddagger\or \S\S\or \P\P\or \|\|\else *** + \fi\relax} + +\long\def\@makefntext#1{\parindent 1em\noindent + $^{\@thefnmark}$\hspace{4pt}#1} + +%\long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize +% \advance\@tempdima-18pt\parshape \@ne 18pt\@tempdima}\par +% \noindent \hbox to \z@{\hss$^{\@thefnmark}$\hspace{0.5em}}#1} + +% **************************************** +% * FIGURES AND TABLES * +% **************************************** +% +\setcounter{topnumber}{2} +\def\topfraction{.9} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.9} +\setcounter{totalnumber}{3} +\def\textfraction{.1} +\def\floatpagefraction{.9} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.9} +\def\dblfloatpagefraction{.9} + +\newif\ifst@rredfloat +\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{1} +\def\fstyle@table{\reset@font\small\rm} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\def\baselinestretch{1}% + \let\@makecaption=\SFB@maketablecaption% + \@float{table}\fstyle@table} +\let\endtable\end@float +\@namedef{table*}{\def\baselinestretch{1}\st@rredfloattrue + \let\@makecaption=\SFB@maketablecaption% + \@dblfloat{table}\centering\fstyle@table} +\@namedef{endtable*}{\end@dblfloat\st@rredfloatfalse} + +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{2} +\def\fstyle@figure{\reset@font\small\rm} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\def\baselinestretch{1}% + \let\@makecaption=\SFB@makefigurecaption% + \@float{figure}\fstyle@figure} +\let\endfigure\end@float +\@namedef{figure*}{\def\baselinestretch{1}\st@rredfloattrue + \let\@makecaption=\SFB@makefigurecaption% + \@dblfloat{figure}\centering\fstyle@figure} +\@namedef{endfigure*}{\end@dblfloat\st@rredfloatfalse} + +\long\def\SFB@makefigurecaption#1#2{\vskip 6pt + \setbox\@tempboxa\hbox{\reset@font\small{\bf #1}% + \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}% + \ifdim \wd\@tempboxa >\hsize + {\reset@font\small{\bf #1}% + \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}% + \else + \ifst@rredfloat + \hbox to\hsize{\hfill\box\@tempboxa\hfill}% + \else + \hbox to\hsize{\hfill\box\@tempboxa\hfill}% + \fi + \fi + \vskip 6pt + \@contfalse +} + +\long\def\SFB@maketablecaption#1#2{\vskip 6pt + \setbox\@tempboxa\hbox{\reset@font\small{\bf #1}% + \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}% + \ifdim \wd\@tempboxa >\hsize + {\reset@font\small{\bf #1}% + \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}% + \else + \hbox to\hsize{\box\@tempboxa\hfill}% + \fi + \vskip 6pt + \@contfalse +} + +\newif\if@cont +\def\caption{\refstepcounter\@captype \@dblarg{\@caption\@captype}} +\def\contcaption{\@conttrue\SFB@caption\@captype} + +\long\def\SFB@caption#1#2{%\par + \begingroup + \@parboxrestore + \reset@font\normalsize + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #2}\par + \endgroup} + +% **************************************** +% * CUP specials * +% **************************************** +% +% +% The following code is taken from authordate.sty, by David Rhead, of +% the Cripps Computing Centre (February 1990), with some modifications +% by ggw. It is intended for documents +% that use the author-date citation system. When used in conjunction with +% authordate1.bst, ... , authordate4.bst, it allows citations of the +% form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. +% When +% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... +% appears in the input file, +% ... (Bloggs, 1960) ... (1960) ... +% appears in the final document. +% +% Code taken from apalike.sty. +% +\def\@cite#1#2{(#1\if@tempswa , #2\fi)} +\def\@biblabel#1{} + +% Set length of hanging indentation for bibliography entries +% +\newlength{\bibhang} +\setlength{\bibhang}{2em} + +% Define default title and page-head text. +% +\def\bibtitle{References} +\def\bibheadtitle{REFERENCES} + +% Code taken from aaai.sty. +% +% don't box citations, add space between multiple citations, separate with ; +\def\@citex[#1]#2{% + \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{; }\@ifundefined + {b@\@citeb}{{\reset@font\bf ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +% Allow short (name-less) citations, when used in +% conjunction with a bibliography style that creates labels like +% \citename{, } +\let\@internalcite\cite +\def\cite{\def\citename##1{##1}\@internalcite} +\def\shortcite{\def\citename##1{}\@internalcite} + +% RM for BSP note at end of article +\def\bsp{\medskip\reset@font\normalsize\noindent This paper has been + produced using the Royal Astronomical Society/Blackwell Science + \LaTeX\ style file.} + + +% **************************************** +% * FLEQN * +% **************************************** +% +% FLEQN DOCUMENT-STYLE OPTION - released 9 March 1987 +% for LaTeX version 2.09 +% Copyright (C) 1987 by Leslie Lamport +% +% The following commands make the displayed math environments flush left, +% with an indentation of \mathindent from the prevailing left margin. + +\def\[{\relax\ifmmode\@badmath\else\begin{trivlist}\item[]\leavevmode + \hbox to\linewidth\bgroup$ + \displaystyle + \hskip\mathindent\bgroup\fi} + +\def\]{\relax\ifmmode \egroup $\hfil + \egroup \end{trivlist}\else \@badmath \fi} + +\def\equation{\refstepcounter{equation}\trivlist \item[]\leavevmode + \hbox to\linewidth\bgroup $ + \displaystyle +\hskip\mathindent} + + +\def\endequation{$\hfil + \displaywidth\linewidth\@eqnnum\egroup \endtrivlist} + +\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation +\global\@eqnswtrue +\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr +\abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi +\belowdisplayskip\abovedisplayskip +\belowdisplayshortskip\abovedisplayskip +\abovedisplayshortskip\abovedisplayskip +$$\halign +to \linewidth\bgroup\@eqnsel\hskip\@centering$\displaystyle\tabskip\z@ + {##}$&\global\@eqcnt\@ne \hskip 2\arraycolsep \hfil${##}$\hfil + &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle{##}$\hfil + \tabskip\@centering&\llap{##}\tabskip\z@\cr} + +\def\endeqnarray{\@@eqncr\egroup + \global\advance\c@equation\m@ne$$\global\@ignoretrue} + +\newdimen\mathindent +\mathindent = \z@ + +% **************************************** +% * MISCELLANEOUS * +% **************************************** +% +% DATE +\def\today{\number\day\ \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 \ \number\year} + +% **************************************** +% * INITIALIZATION * +% **************************************** +% +% +\newif\ifCUPmtlplainloaded +\ifx\CUP@mtlplain@loaded\undefined +\else + \global\CUPmtlplainloadedtrue + \input mnsym +\fi +% +\flushbottom +\ps@headings +\ifSFB@galley + \raggedbottom + \ps@empty +\fi +\ifSFB@referee + \raggedbottom +\fi +\pagenumbering{arabic} +\if@twocolumn + \twocolumn + \sloppy +\else + \onecolumn +\fi +\frenchspacing + +% end of MN.sty diff --git a/obsolete/macros/latex209/contrib/mnras/mnguide.tex b/obsolete/macros/latex209/contrib/mnras/mnguide.tex new file mode 100644 index 0000000000..bf5cc70dd2 --- /dev/null +++ b/obsolete/macros/latex209/contrib/mnras/mnguide.tex @@ -0,0 +1,1853 @@ +% mnguide.tex +% +% v1.3 released 14th September 1995 +% v1.2 released 5th September 1994 (M. Reed) +% v1.1 released 18th July 1994 +% v1.0 released 28th January 1994 + +\documentstyle{mn} + +% If your system has the AMS fonts version 2.0 installed, MN.sty can be +% made to use them by uncommenting the line: %\AMStwofontstrue +% +% By doing this, you will be able to obtain upright Greek characters. +% e.g. \umu, \upi etc. See the section on "Upright Greek characters" in +% this guide for further information. +% +% If you are using AMS 2.0 fonts, bold math letters/symbols are available +% at a larger range of sizes for NFSS release 1 and 2 (using \boldmath or +% preferably \bmath). + +\newif\ifAMStwofonts +%\AMStwofontstrue + +%%%%% AUTHORS - PLACE YOUR OWN MACROS HERE %%%%% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifoldfss + % + \newcommand{\rmn}[1] {{\rm #1}} + \newcommand{\itl}[1] {{\it #1}} + \newcommand{\bld}[1] {{\bf #1}} + % + \ifCUPmtlplainloaded \else + \NewTextAlphabet{textbfit} {cmbxti10} {} + \NewTextAlphabet{textbfss} {cmssbx10} {} + \NewMathAlphabet{mathbfit} {cmbxti10} {} % for math mode + \NewMathAlphabet{mathbfss} {cmssbx10} {} % " " " + \fi + % + \ifAMStwofonts + % + \ifCUPmtlplainloaded \else + \NewSymbolFont{upmath} {eurm10} + \NewSymbolFont{AMSa} {msam10} + \NewMathSymbol{\upi} {0}{upmath}{19} + \NewMathSymbol{\umu} {0}{upmath}{16} + \NewMathSymbol{\upartial}{0}{upmath}{40} + \NewMathSymbol{\leqslant}{3}{AMSa}{36} + \NewMathSymbol{\geqslant}{3}{AMSa}{3E} + \let\oldle=\le \let\oldleq=\leq + \let\oldge=\ge \let\oldgeq=\geq + \let\leq=\leqslant \let\le=\leqslant + \let\geq=\geqslant \let\ge=\geqslant + \fi + % + \fi +% +\fi % End of OFSS + +\ifnfssone + % + \newmathalphabet{\mathit} + \addtoversion{normal}{\mathit}{cmr}{m}{it} + \addtoversion{bold}{\mathit}{cmr}{bx}{it} + % + \newcommand{\rmn}[1] {\mathrm{#1}} + \newcommand{\itl}[1] {\mathit{#1}} + \newcommand{\bld}[1] {\mathbf{#1}} + % + \def\textbfit{\protect\txtbfit} + \def\textbfss{\protect\txtbfss} + \long\def\txtbfit#1{{\fontfamily{cmr}\fontseries{bx}\fontshape{it}% + \selectfont #1}} + \long\def\txtbfss#1{{\fontfamily{cmss}\fontseries{bx}\fontshape{n}% + \selectfont #1}} + % + \newmathalphabet{\mathbfit} % math mode version of \textbfit{..} + \addtoversion{normal}{\mathbfit}{cmr}{bx}{it} + \addtoversion{bold}{\mathbfit}{cmr}{bx}{it} + % + \newmathalphabet{\mathbfss} % math mode version of \textbfss{..} + \addtoversion{normal}{\mathbfss}{cmss}{bx}{n} + \addtoversion{bold}{\mathbfss}{cmss}{bx}{n} + % + \ifAMStwofonts + % + \ifCUPmtlplainloaded \else + % + % Make NFSS 1 use the extra sizes available for bold math italic and + % bold math symbol. These definitions may already be loaded if your + % NFSS format was built with fontdef.max. + % + \UseAMStwoboldmath + % + \makeatletter + \new@mathgroup\upmath@group + \define@mathgroup\mv@normal\upmath@group{eur}{m}{n} + \define@mathgroup\mv@bold\upmath@group{eur}{b}{n} + \edef\UPM{\hexnumber\upmath@group} + % + \new@mathgroup\amsa@group + \define@mathgroup\mv@normal\amsa@group{msa}{m}{n} + \define@mathgroup\mv@bold\amsa@group{msa}{m}{n} + \edef\AMSa{\hexnumber\amsa@group} + \makeatother + % + \mathchardef\upi="0\UPM19 + \mathchardef\umu="0\UPM16 + \mathchardef\upartial="0\UPM40 + \mathchardef\leqslant="3\AMSa36 + \mathchardef\geqslant="3\AMSa3E + % + \let\oldle=\le \let\oldleq=\leq + \let\oldge=\ge \let\oldgeq=\geq + \let\leq=\leqslant \let\le=\leqslant + \let\geq=\geqslant \let\ge=\geqslant + % + \fi + \fi + % +\fi % End of NFSS release 1 + +\ifnfsstwo + % + \newcommand{\rmn}[1] {\mathrm{#1}} + \newcommand{\itl}[1] {\mathit{#1}} + \newcommand{\bld}[1] {\mathbf{#1}} + % + \def\textbfit{\protect\txtbfit} + \def\textbfss{\protect\txtbfss} + \long\def\txtbfit#1{{\fontfamily{cmr}\fontseries{bx}\fontshape{it}% + \selectfont #1}} + \long\def\txtbfss#1{{\fontfamily{cmss}\fontseries{bx}\fontshape{n}% + \selectfont #1}} + % + \DeclareMathAlphabet{\mathbfit}{OT1}{cmr}{bx}{it} + \SetMathAlphabet\mathbfit{bold}{OT1}{cmr}{bx}{it} + \DeclareMathAlphabet{\mathbfss}{OT1}{cmss}{bx}{n} + \SetMathAlphabet\mathbfss{bold}{OT1}{cmss}{bx}{n} + % + \ifAMStwofonts + % + \ifCUPmtlplainloaded \else + \DeclareSymbolFont{UPM}{U}{eur}{m}{n} + \SetSymbolFont{UPM}{bold}{U}{eur}{b}{n} + \DeclareSymbolFont{AMSa}{U}{msa}{m}{n} + \DeclareMathSymbol{\upi}{0}{UPM}{"19} + \DeclareMathSymbol{\umu}{0}{UPM}{"16} + \DeclareMathSymbol{\upartial}{0}{UPM}{"40} + \DeclareMathSymbol{\leqslant}{3}{AMSa}{"36} + \DeclareMathSymbol{\geqslant}{3}{AMSa}{"3E} + % + \let\oldle=\le \let\oldleq=\leq + \let\oldge=\ge \let\oldgeq=\geq + \let\leq=\leqslant \let\le=\leqslant + \let\geq=\geqslant \let\ge=\geqslant + % + \fi + \fi + % +\fi % End of NFSS release 2 + +\ifCUPmtlplainloaded \else + \ifAMStwofonts \else % If no AMS fonts + \def\upi{\pi} + \def\umu{\mu} + \def\upartial{\partial} + \fi +\fi + +\long\def\boxit#1{\noindent\ignorespaces + \framebox[\hsize][l]{\hbox{\vbox{\raggedright #1\par}}}\par + \medskip\noindent\ignorespaces +} % for guide only + + +\title[Monthly Notices: \LaTeX\ guide for authors] + {Monthly Notices of the Royal Astronomical + Society: \\ \LaTeX\ style guide for authors} +\author[A. Woollatt et al.] + {A.~Woollatt,$^1$\thanks{Affiliated to ICRA.} + M.~Reed,$^1$ R.~Mulvey,$^1$ K.~Matthews,$^1$ + D.~Starling,$^1$ Y.~Yu,$^1$ + \newauthor % starts a new line in the + % author environment + A.~Richardson$^1$ and P.~Smith$^2$\\ + $^1$Cambridge University Press, Shaftesbury + Road, Cambridge CB2 2BS\\ + $^2$Blackwell Science, + 23 Ainslie Place, Edinburgh EH3 6AJ} +\date{Accepted 1993 December 11. Received 1993 March 17} +\pagerange{\pageref{firstpage}--\pageref{lastpage}} +\pubyear{1994} + +\def\LaTeX{L\kern-.36em\raise.3ex\hbox{a}\kern-.15em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX} + +\newtheorem{theorem}{Theorem}[section] + +\begin{document} + +\label{firstpage} + +\maketitle + +\begin{abstract} + This guide is for authors who are preparing papers for the + Monthly Notices of the Royal Astronomical Society using the +\LaTeX\ document preparation system and the MN style file. +\end{abstract} + +\begin{keywords} + \LaTeX\ -- style files: \verb"mn.sty"\ -- sample text -- user guide. +\end{keywords} + +\section{Introduction} + +In addition to the standard submission of hardcopy from authors, +Monthly Notices accepts machine-readable forms of papers in \LaTeX. +The layout design for Monthly Notices has been implemented as a +\LaTeX\ style file. The MN style is based on the \verb"ARTICLE" style +as discussed in the \LaTeX\ manual \cite {la}. Commands which differ +from the standard \LaTeX\ interface, or which are provided in addition +to the standard interface, are explained in this guide. This guide is +not a substitute for the \LaTeX\ manual itself. Authors planning to +submit their papers in \LaTeX\ are advised to use \verb"mn.sty" as +early as possible in the creation of their files. + +\subsection{The MN document style} + +The use of \LaTeX\ document styles allows a simple change of style +(or style option) to transform the appearance of your document. The +MN style file preserves the standard \LaTeX\ interface such that any +document that can be produced using the standard \LaTeX\ \verb"ARTICLE" +style can also be produced with the MN style. However, the measure (or +width of text) is narrower than the default for \verb"ARTICLE", and even +narrower than for the \verb"A4" style, therefore line breaks will change +and long equations may need re-setting. + +When your article is printed in the Monthly Notices journal, it is typeset +in Monotype Times. As most authors do not have this font, it is likely that +the make-up will change with the change of font. For this reason, we ask +you to ignore details such as slightly long lines, page stretching, or +figures falling out of synchronization, because these details can be dealt with at a later stage. + +\subsection{General style issues} + +For general style issues, authors are referred to the `Instructions for + Authors' on the inside back cover of Monthly Notices. Authors +who are interested in the details of style are referred to Butcher +\shortcite {bu} and The Chicago Manual \shortcite {ch}. The language of +the journal is British English and spelling should conform to this. + +Use should be made of symbolic references (\verb"\ref") in order to +protect against late changes of order, etc. + +\subsection{Submission of \LaTeX\ articles to the journal} + +Authors are urged to state that electronic submission is intended when +first submitting their paper. +Papers should initially be submitted in the usual way to the Executive +Secretary, Royal Astronomical Society, Burlington House, London W1V 0NL, +as set out on the inside front cover of +each issue of Monthly Notices. Three hard copies should be supplied. +One of these copies should +be single-sided and double-spaced throughout, while the other two should +be weight-reduced, by being either single-spaced or double-sided. Note +that articles, or revised versions thereof, may not be submitted by +electronic mail. Appropriate gaps should be left for figures, original +versions and copies of which should also be supplied. Authors should +ensure that their figures are suitable (in terms of lettering size, etc.) +for the reductions they intend. + +Authors who wish to include PostScript artwork dir\-ectly into their +articles can do so, by using either Tomas Rokicki's {\sf EPSF} macros +or Trevor Darrell's {\sf PSFIG} macros (both of which are supplied with +the DVIPS PostScript driver). Please remember to supply any additional +figure macros you use with your article. +Please also supply hard copies of your figures, for the use of production +editors and as a back-up. +Authors should not attempt to +use implementation specific \verb"\special"'s directly. + +The correct Monthly Notices House Style should be used -- details are +given in the Instructions for Authors, in the Style Guide published +in the 1 January 1993 issue (\hbox{MNRAS}, 260, 1), and in Appendix~C of +this guide. No disk should be submitted +at this initial stage. When the paper has been accepted, the double-spaced +copy will be marked up by sub-editors at Blackwell Science +(BS) and returned to you for correction. When the requested corrections +have been made, you should send the following to BS: +% +\begin{enumerate} +\item a 3.5-inch or 5.25-inch PC disk (double- or high-density or + Apple Mac), containing the {\em corrected\/} version of the paper, + plus any macro files you have been using. The files for the final + version should be text-only, with no system-dependent control codes + (often called an ASCII file); +\item two hard copies of the corrected version, plus the original marked + copy of the article; {\em any further author corrections should be + clearly indicated on the latter\/}; +\item a signed statement that the revised copy and the disk do indeed + correspond. +\end{enumerate} +% +In addition, you should submit the following information concerning the +disk and its contents: +% +\begin{enumerate} +\item the disk format (e.g. IBM 360k); +\item how many files the disk contains, their names, + a description of the file contents and the number of pages each file + will produce when printed; details of any user-defined macros; +\item the computer system and implementation of \LaTeX\ used (e.g. + IBM AT, PC\TeX\ v3.0). +\end{enumerate} +% +Ensure that any author-defined macros are gathered together in the file, +just before the \verb"\begin{document}" command. + +Unless the layout of the paper has to be significantly changed by the +typesetter (for example, if the gaps left for the figures are not +suitable), it will not be necessary to send you a typeset proof to check, +as the paper will be set directly from your submitted disk. However, you +should note that, if serious problems are encountered with the coding of +your paper (missing author-defined macros, for example), it may prove +necessary to divert the paper to conventional typesetting. + +\section{Using the MN style} + +If the file \verb"mn.sty" is not already in the appropriate system +directory for \LaTeX\ files, either arrange for it to be put there, +or copy it to your working directory. The MN document style is implemented +as a complete document style, {\em not\/} a document style option. In +order to use the MN style, replace \verb"article" by \verb"mn" in the +\verb"\documentstyle" command at the beginning of your document: +% +\begin{verbatim} +\documentstyle{article} +\end{verbatim} +% +is replaced by +% +\begin{verbatim} +\documentstyle{mn} +\end{verbatim} +% +In general, the following standard document style options should {\em +not\/} be used with the MN style: +% +\begin{enumerate} + \item {\tt 10pt}, {\tt 11pt}, {\tt 12pt} -- unavailable; + \item {\tt twoside} (no associated style file) -- {\tt + twoside} is the default; + \item {\tt fleqn}, {\tt leqno}, {\tt titlepage} -- + should not be used (\verb"fleqn" is already incorporated into + the MN style); + \item {\tt twocolumn} -- is not necessary as it is the default style. +\end{enumerate} +% +If necessary, {\tt draft}, {\tt proc}, {\tt ifthen} and {\tt bezier} can be used. + +The MN style file has been designed to operate with the standard version +of \verb"lfonts.tex" that is distributed as part of \LaTeX. If you have +access to the source file for this guide, \verb"mnguide.tex", and to the +specimen article, \verb"mnsample.tex", attempt to typeset both of these. +If you find font problems you might investigate whether a non-standard +version of \verb"lfonts.tex" has been installed in your system. + +\subsection{Additional document style options} + +The following additional style options are available with the MN style: +\begin{description} + \item {\tt onecolumn} -- to be used {\it only} when two-column output + is unable to accommodate long equations; + \item {\tt landscape} -- for producing wide figures and tables which + need to be included in landscape format (i.e.\ sideways) rather + than portrait (i.e.\ upright). This option is described below. + \item {\tt doublespacing} -- this will double-space your + article by setting \verb"\baselinestretch" to 2. + \item {\tt referee} -- 12/20pt text size, single column, + measure 16.45cm, left margin 2.75cm on A4 page. + \item {\tt galley} -- no running heads, no attempt to align + the bottom of columns. +\end{description} + +\subsection{Landscape pages} + +If a table or illustration is too wide to fit the standard measure, it +must be turned, with its caption, through 90 degrees anticlockwise. +Landscape illustrations and/or tables cannot be produced directly +using the MN style file because \TeX\ itself cannot turn the +page, and not all device drivers provide such a facility. +The following procedure can be used to produce such pages. +% +\begin{enumerate} + \item Use the \verb"table*" or \verb"figure*" environments in your + document to create the space for your table or figure on the + appropriate page of your document. Include an empty + caption in this environment to ensure the correct + numbering of subsequent tables and figures. For instance, the + following code prints a page with the running head, a message + half way down and the figure number towards the bottom. If you + are including a plate, the running headline is different, and you + need to key in the three lines that are marked with \verb"% **", + with an appropriate headline. +% +\begin{verbatim} +% ** \clearpage +% ** \thispagestyle{plate} +% ** \plate{Opposite p.~812, MNRAS, {\bf 261}} +\begin{figure*} + \vbox to220mm{\vfil Landscape figure to go here. + \caption{} + \vfil} + \label{landfig} +\end{figure*} +\end{verbatim} +% +\item Create a separate document with the corresponding document style + but also with the \verb"landscape" document style option, and + include the \verb"\pagestyle" command, as follows: +% +\begin{verbatim} +\documentstyle[landscape]{mn} +\pagestyle{empty} +\end{verbatim} +% + \item Include your complete tables and illustrations (or space for + these) with captions using the \verb"table*" and \verb"figure*" + environments. + \item Before each float environment, use the + \verb"\setcounter" command to ensure the correct numbering of + the caption. For example, +% +\begin{verbatim} +\setcounter{table}{0} +\begin{table*} + \begin{minipage}{115mm} + \caption{The Largest Optical Telescopes.} + \label{tab1} + \begin{tabular}{@{}llllcll} + : + \end{tabular} + \end{minipage} +\end{table*} +\end{verbatim} +% +The corresponding example for a figure would be: +% +\begin{verbatim} +\clearpage +\setcounter{figure}{12} +\begin{figure*} + \vspace{144mm} + \caption{Chart for a cold plasma.} + \label{fig13} +\end{figure*} +\end{verbatim} +\end{enumerate} + + +\section{Additional facilities} + +In addition to all the standard \LaTeX\ design elements, the MN style +includes the following features. +% +\begin{enumerate} + \item Extended commands for specifying a short version of the title and + author(s) for the running headlines. + \item A \verb"keywords" environment and a \verb"\nokeywords" command. + \item Use of the \verb"description" environment for unnumbered lists. + \item A \verb"\contcaption" command to produce captions for continued + figures or tables. + \end{enumerate} +% +In general, once you have used the additional \verb"mn.sty" facilities +in your document, do not process it with a standard \LaTeX\ style file. + +\subsection{Titles and author's name} + +In the MN style, the title of the article and the author's name (or +authors' names) are used both at the beginning of the article for the +main title and throughout the article as running headlines at the top +of every page. The title is used on odd-numbered pages (rectos) and the +author's name appears on even-numbered pages (versos). Although the +main heading can run to several lines of text, the running headline +must be a single line ($\le 45$ characters). Moreover, the main +heading can also incorporate new line commands (e.g. \verb"\\") but +these are not acceptable in a running headline. To enable you to +specify an alternative short title and an alternative short author's +name, the standard \verb"\title" and \verb"\author" commands have been +extended to take an optional argument to be used as the running +headline. The running headlines for this guide were produced using the +following code: +% +\begin{verbatim} +\title[Monthly Notices: \LaTeX\ guide for authors] + {Monthly Notices of the Royal Astronomical + Society: \\ \LaTeX\ style guide for authors} +\end{verbatim} +% +and +% +\begin{verbatim} +\author[A. Woollatt et al.] + {A.~Woollatt,$^1$\thanks{Affiliated to ICRA.} + M.~Reed,$^1$ R.~Mulvey,$^1$ K.~Matthews,$^1$ + D.~Starling,$^1$ Y.~Yu,$^1$ + \newauthor % starts a new line in the + % author environment + A.~Richardson$^1$ and P.~Smith$^2$\\ + $^1$Cambridge University Press, Shaftesbury + Road, Cambridge CB2 2BS\\ + $^2$Blackwell Science, + 23 Ainslie Place, Edinburgh EH3 6AJ} +\end{verbatim} +% +The \verb"\thanks" note produces a footnote to the title or author. + +\subsection{Key words and abstracts} + +At the beginning of your article, the title should be generated in the +usual way using the \verb"\maketitle" command. Immediately following +the title you should include an abstract followed by a list of key +words. The abstract should be enclosed within an \verb"abstract" +environment, followed immediately by the key words enclosed in a +\verb"keywords" environment. For example, the titles for this guide +were produced by the following source: +% +\begin{verbatim} +\maketitle +\begin{abstract} + This guide is for authors who are preparing + papers for the Monthly Notices of the + Royal Astronomical Society using the \LaTeX\ + document preparation system and the MN style + file. +\end{abstract} +\begin{keywords} + \LaTeX\ -- style files: \verb"mn.sty"\ -- + sample text -- user guide. +\end{keywords} + +\section{Introduction} + : +\end{verbatim} +% +The heading `{\bf Key words}' is included automatically and the key +words are followed by vertical space. If, for any reason, there are no +key words, you should insert the \verb"\nokeywords" command immediately +after the end of the \verb"abstract" environment. This ensures that the +vertical space after the abstract and/or title is correct and that any +\verb"thanks" acknowledgments are correctly included at the bottom of +the first column. For example, +% +\begin{verbatim} +\maketitle +\begin{abstract} + : +\end{abstract} +\nokeywords + +\section{Introduction} + : +\end{verbatim} + +\subsection{Lists} + +The MN style provides numbered lists using the \verb"enumerate" +environment and unnumbered lists using the \verb"description" +environment with an empty label. Bulleted lists are not part of the MN +style and the \verb"itemize" environment should not be used. + +The enumerated list numbers each list item with roman numerals: +% +\begin{enumerate} + \item first item + \item second item + \item third item +\end{enumerate} +% +Alternative numbering styles can be achieved by inserting a +redefinition of the number labelling command after the +\verb"\begin{enumerate}". For example, the list +% +\begin{enumerate} +\renewcommand{\theenumi}{(\arabic{enumi})} + \item first item + \item second item + \item etc\ldots +\end{enumerate} +% +was produced by: +% +\begin{verbatim} +\begin{enumerate} + \renewcommand{\theenumi}{(\arabic{enumi})} + \item first item + : +\end{enumerate} +\end{verbatim} +% +Unnumbered lists are provided using the \verb"description" environment. +For example, +\begin{description} + \item First unnumbered item which has no label and is indented from + the left margin. + \item Second unnumbered item. + \item Third unnumbered item. +\end{description} +was produced by: +% +\begin{verbatim} +\begin{description} + \item First unnumbered item... + \item Second unnumbered item. + \item Third unnumbered item. +\end{description} +\end{verbatim} + +\subsection{Captions for continued figures and tables}\label{contfigtab} + +The \verb"\contcaption" command may be used to produce a caption with the +same number as the previous caption (for the corresponding type of +float). For instance, if a very large table does not fit on one page, +it must be split into two floats; the second float should use the +\verb"\contcaption" command: +% +\begin{verbatim} +\begin{table} + \contcaption{} + \begin{tabular}{@{}lccll} + : + \end{tabular} +\end{table} +\end{verbatim} + + +\section[]{Some guidelines for using\\* standard facilities} + +The following notes may help you achieve the best effects with the MN +style file. + +\subsection{Sections} + +\LaTeX\ provides five levels of section headings and they are all +defined in the MN style file: +\begin{description} + \item \verb"\section" + \item \verb"\subsection" + \item \verb"\subsubsection" + \item \verb"\paragraph" + \item \verb"\subparagraph" +\end{description} +Section numbers are given for section, subsection, subsubsection +and paragraph headings. Section headings are automatically converted to +upper case; if you need any other style, see the example in Section~\ref{headings}. + +If you find your section/subsection (etc.)\ headings are wrapping round, +you must use the \verb"\\*" to end individual lines and include the +optional argument \verb"[]" in the section command. This ensures that +the turnover is flushleft. + +\subsection{Illustrations (or figures)} + +The MN style will cope with most positioning of your illustrations and +you should not normally use the optional positional qualifiers on the +\verb"figure" environment which would override these decisions. See +`Instructions for Authors' in Monthly Notices for submission of +artwork. Figure captions should be below the figure itself, therefore +the \verb"\caption" command should appear after the figure or space +left for an illustration. For example, Fig.~\ref{sample-figure} is +produced using the following commands: +% +\begin{verbatim} +\begin{figure} + \vspace{5.5cm} + \caption{An example figure in which space has + been left for the artwork.} + \label{sample-figure} +\end{figure} +\end{verbatim} + +\begin{figure} + \vspace{5.5cm} + \caption{An example figure in which space has been + left for the artwork.} + \label{sample-figure} +\end{figure} + +\subsection{Tables} + +The MN style will cope with most positioning of your tables and you +should not normally use the optional positional qualifiers on the +\verb"table" environment which would override these decisions. Table +captions should be at the top, therefore the \verb"\caption" command +should appear before the body of the table. + +The \verb"tabular" environment can be used to produce tables with +single horizontal rules, which are allowed, if desired, at the head and +foot only. This environment has been modified for the MN style in the +following ways: +% +\begin{enumerate} + \item additional vertical space is inserted on either side of a rule; + \item vertical lines are not produced. +\end{enumerate} +% +Commands to redefine quantities such as \verb"\arraystretch" should be +omitted. For example, Table~\ref{symbols} is produced using the +following commands. Note that \verb"\rmn" will produce a roman character +in math mode. It has been defined in two ways in the source code of +the guide, one way for authors using the New Font Selection Scheme, and +the other for authors using the old font selection scheme. There are +also \verb"\bld" and \verb"\itl", which produce bold face and text italic +in math mode. +\begin{table} + \caption{Radio-band beaming model parameters + for FSRQs and BL Lacs.} + \label{symbols} + \begin{tabular}{@{}lcccccc} + Class & $\gamma _1$ & $\gamma _2$ + & $\langle \gamma \rangle$ + & $G$ & $f$ & $\theta _{\rmn{c}}$ \\ + BL Lacs &5 & 36 & 7 & $-4.0$ + & $1.0\times 10^{-2}$ & 10$^\circ$ \\ + FSRQs & 5 & 40 & 11 & $-2.3$ + & $0.5\times 10^{-2}$ & 14$^\circ$ \\ + \end{tabular} + + \medskip + {\em G} is the slope of the Lorentz factor distribution, i.e. + $n(\gamma)\propto \gamma ^G$, extending between $\gamma _1$ and + $\gamma_2$, with mean value $\langle \gamma \rangle$, {\em f\/} is the + ratio between the intrinsic jet luminosity and the extended, unbeamed + luminosity, while $\theta_{\rmn{c}}$ is the critical angle separating + the beamed class from the parent population. +\end{table} +\begin{verbatim} +\begin{table} + \caption{Radio-band beaming model parameters + for FSRQs and BL Lacs.} + \label{symbols} + \begin{tabular}{@{}lcccccc} + Class & $\gamma _1$ & $\gamma _2$ + & $\langle \gamma \rangle$ + & $G$ & $f$ & $\theta _{\rmn{c}}$ \\ + BL Lacs &5 & 36 & 7 & $-4.0$ + & $1.0\times 10^{-2}$ & 10$^\circ$ \\ + FSRQs & 5 & 40 & 11 & $-2.3$ + & $0.5\times 10^{-2}$ & 14$^\circ$ \\ + \end{tabular} + + \medskip + {\em G} is the slope of the Lorentz factor + : + class from the parent population. +\end{table} +\end{verbatim} +% +If you have a table that is to extend over two columns, you need to use +\verb"table*" in a minipage environment, i.e., you can say +% +\begin{verbatim} +\begin{table*} +\begin{minipage}{80mm} + \caption{Caption which will wrap round to the + width of the minipage environment.} + \begin{tabular}{% + : + \end{tabular} +\end{minipage} +\end{table*} +\end{verbatim} +% +The width of the minipage should more or less be the width of your table, +so you can only guess on a value on the first pass. The value will have to +be adjusted when your article is typeset in Times, so don't worry about +making it the exact size. + +\subsection{Running headlines} + +As described above, the title of the article and the author's name (or +authors' names) are used as running headlines at the top of every page. +The headline on left-hand pages can list up to three names; for more than +three use et~al. The \verb"\pagestyle" and \verb"\thispagestyle" +commands should {\em not\/} be used. Similarly, the commands +\verb"\markright" and \verb"\markboth" should not be necessary. + + +\subsection[]{Typesetting mathematics}\label{TMth} + +\subsubsection{Displayed mathematics} + +The MN style will set displayed mathematics flush with the left margin, +provided that you use the \LaTeX\ standard of open and closed square +brackets as delimiters. The equation +\[ + \sum_{i=1}^p \lambda_i = \rmn{trace}(\bld{S}) +\] +was typeset in the MN style using the commands +% +\begin{verbatim} +\[ + \sum_{i=1}^p \lambda_i = \rmn{trace}(\bld{S}) +\] +\end{verbatim} +% +Note the difference between the positioning of this equation and of +the following centred equation, +$$ \alpha_{j+1} > \bar{\alpha}+ks_{\alpha} $$ +which was (wrongly) typeset using double dollars as follows: +% +\begin{verbatim} +$$ \alpha_{j+1} > \bar{\alpha}+ks_{\alpha} $$ +\end{verbatim} + + +\subsubsection{Bold math italic / bold symbols} + +To get bold math italic you can use \verb"\boldmath" (which only works for +the `normal' size), but in many implementations of \LaTeX\ this has not +been defined at 9pt. An alternative is to use \verb"\bmath" which works +for all sizes. e.g. +% +\begin{verbatim} +\[ + d(\bmath{s_{t_u}}) = \langle [RM(\bmath{X_y} + + \bmath{s_t}) - RM(\bmath{x_y})]^2 \rangle +\] +\end{verbatim} +% +to produce: +\[ + d(\bmath{s_{t_u}}) = \langle [RM(\bmath{X_y} + + \bmath{s_t}) - RM(\bmath{x_y})]^2 \rangle +\] +Working this way, scriptstyle and scriptscriptstyle sizes will take care of themselves. + +\subsubsection{Bold Greek}\label{boldgreek} + +Bold lowercase Greek characters can now be obtained by prefixing +the normal (unbold) symbol name with a `b', e.g.\ \verb"\bgamma" gives +$\bgamma$. This rule does not apply to bold \verb"\eta", as this would lead +to a name clash with \verb"\beta". Instead use \verb"\boldeta" for bold eta. +Note that there is no \verb"\omicron" (so there is no \verb"\bomicron"), +just use `o' in math mode for omicron ($o$) and `\verb"\bmath{o}"' for bold omicron ($\bmath{o}$). + +For bold uppercase Greek, prefix the unbold character name with +\ifoldfss +% +\verb"\bf", e.g.\ \verb"\bf\Gamma" gives $\bf\Gamma$. +% +\else +% +\verb"\mathbf", e.g.\ \verb"\mathbf\Gamma" gives $\mathbf\Gamma$. +% +\fi +Upper and lowercase Greek characters are available in all typesizes. + +You can then use these definitions in math mode, as you would normal Greek +characters: +% +\ifoldfss +% +\begin{verbatim} +\[ + \balpha_{\bmu} = {\bf\Theta} \alpha. +\] +\end{verbatim} +% +\else +% +\begin{verbatim} +\[ + \balpha_{\bmu} = \mathbf{\Theta} \alpha. +\] +\end{verbatim} +% +\fi +% +will produce +% +\ifoldfss +% +\[ + \balpha_{\bmu} = {\bf\Theta} \alpha. +\] +% +\else +% +\[ + \balpha_{\bmu} = \mathbf{\Theta} \alpha. +\] +% +\fi + +\subsubsection{Upright Greek characters}\label{upgreek} + +You can obtain upright Greek characters if you have access to the +American Maths Society Euler fonts (version 2.0), but you may not +have these. In this case, you will have to use the normal math italic +symbols and the typesetter will substitute the corresponding upright +characters. You will make this easier if you can use the macros \verb|\upi|, +\verb|\umu| and \verb|\upartial| etc.\ in your text to indicate the need for upright characters, together with the following definitions in the preamble +(before \verb|\begin{document}|): + +\subsubsection*{Authors with AMS fonts} + +\ifoldfss +% +\begin{verbatim} +\ifCUPmtlplainloaded \else + \NewSymbolFont{upmath} {eurm10} + \NewMathSymbol{\upi} {0}{upmath}{19} + \NewMathSymbol{\umu} {0}{upmath}{16} + \NewMathSymbol{\upartial}{0}{upmath}{40} +\fi +\end{verbatim} +% +\fi + +\ifnfssone +% +\begin{verbatim} +\ifCUPmtlplainloaded \else + \makeatletter + \new@mathgroup\upmath@group + \define@mathgroup\mv@normal\upmath@group{eur}{m}{n} + \define@mathgroup\mv@bold\upmath@group{eur}{b}{n} + \edef\UPM{\hexnumber\upmath@group} + \makeatother + \mathchardef\upi="0\UPM19 + \mathchardef\umu="0\UPM16 + \mathchardef\upartial="0\UPM40 +\fi +\end{verbatim} +% +\fi + +\ifnfsstwo +% +\begin{verbatim} +\ifCUPmtlplainloaded \else + \DeclareSymbolFont{UPM}{U}{eur}{m}{n} + \SetSymbolFont{UPM}{bold}{U}{eur}{b}{n} + \DeclareMathSymbol{\upi}{0}{UPM}{"19} + \DeclareMathSymbol{\umu}{0}{UPM}{"16} + \DeclareMathSymbol{\upartial}{0}{UPM}{"40} +\fi +\end{verbatim} +% +\fi + +\subsubsection*{Authors without AMS fonts} + +\begin{verbatim} +\ifCUPmtlplainloaded \else + \def\umu{\mu} + \def\upi{\pi} + \def\upartial{\partial} +\fi +\end{verbatim} +Wether you have AMS fonts or not, the \verb|\if..| and \verb|\fi| are +required in the above examples to ensure that when your article is +typeset in Monotype Times, the correct definitions for these symbols +are used. + +The sample pages and guide can be made to use AMS fonts if you have them. +To use them, just uncomment the following line in the preamble +of \verb|mnguide.tex| and \verb|mnsample.tex|: +% +\begin{verbatim} +%\AMStwofontstrue +\end{verbatim} +% +If you do this, the following upright symbols are used in the +sample pages and guide: \verb|\upi|, \verb|\umu| and \verb|\upartial|. + + +\subsubsection{Special symbols}\label{SVsymbols} + +The macros for the special symbols in Tables~\ref{mathmode} and~\ref{anymode} +have been taken from the Springer Verlag `Astronomy and Astrophysics' +design, with their permission. They are directly compatible and use the +same macro names. +These symbols will work in all text sizes, but are only guaranteed to work +in text and displaystyles. Some of the symbols will not get any smaller when +they are used in sub- or superscripts, and will therefore be displayed at the +wrong size. Don't worry about this as the typesetter will be able to sort +this out. +% +\begin{table*} +\begin{minipage}{110mm} +\caption{Special symbols which can only be used in math mode.} +\label{mathmode} +\begin{tabular}{@{}llllll} +Input & Explanation & Output & Input & Explanation & Output\\ +\hline +\verb"\la" & less or approx & $\la$ & + \verb"\ga" & greater or approx & $\ga$\\[2pt] +\verb"\getsto" & gets over to & $\getsto$ & + \verb"\cor" & corresponds to & $\cor$\\[2pt] +\verb"\lid" & less or equal & $\lid$ & + \verb"\gid" & greater or equal & $\gid$\\[2pt] +\verb"\sol" & similar over less & $\sol$ & + \verb"\sog" & similar over greater & $\sog$\\[2pt] +\verb"\lse" & less over simeq & $\lse$ & + \verb"\gse" & greater over simeq & $\gse$\\[2pt] +\verb"\grole" & greater over less & $\grole$ & + \verb"\leogr" & less over greater & $\leogr$\\[2pt] +\verb"\loa" & less over approx & $\loa$ & + \verb"\goa" & greater over approx & $\goa$\\ +\hline +\end{tabular} +\end{minipage} +\end{table*} +% +\begin{table*} +\begin{minipage}{120mm} +\caption{Special symbols which don't have to be +used in math mode.} +\label{anymode} +\begin{tabular}{@{}llllll} +Input & Explanation & Output & Input & Explanation & Output\\ +\hline +\verb"\sun" & sun symbol & $\sun$ & + \verb"\degr" & degree & $\degr$\\[2pt] +\verb"\diameter" & diameter & \diameter & + \verb"\sq" & square & \squareforqed\\[2pt] +\verb"\fd" & fraction of day & \fd & + \verb"\fh" & fraction of hour & \fh\\[2pt] +\verb"\fm" & fraction of minute & \fm & + \verb"\fs" & fraction of second & \fs\\[2pt] +\verb"\fdg" & fraction of degree & \fdg & + \verb"\fp" & fraction of period & \fp\\[2pt] +\verb"\farcs" & fraction of arcsecond & \farcs & + \verb"\farcm" & fraction of arcmin & \farcm\\[2pt] +\verb"\arcsec" & arcsecond & \arcsec & + \verb"\arcmin" & arcminute & \arcmin\\ +\hline +\end{tabular} +\end{minipage} +\end{table*} + +\subsection{Bibliography} + +References to published literature should be quoted in text by author +and date: e.g. Draine (1978) or (Begelman, Blandford \& Rees 1984). +Where more than one reference is cited having the same author(s) and date, +the letters a,b,c, \ldots\ should follow the date; e.g.\ Smith (1988a), +Smith (1988b), etc. + +\subsubsection{References in the text} + +References in the text are given by author and date, and, whichever +method is used to produce the bibliography, the references in the text +are done in the same way. Each bibliographical entry has a key, which +is assigned by the author and used to refer to that entry in the text. +There is one form of citation -- \verb"\cite{key}" -- to produce the +author and date, and another form -- \verb"\shortcite{key}" -- which +produces the date only. Thus, Stella \& Campana \shortcite{sc} is +produced by +% +\begin{verbatim} +Stella \& Campana \shortcite{sc} +\end{verbatim} +% +while \cite{mtw} is produced by +% +\begin{verbatim} +\cite{mtw} +\end{verbatim} +% +When you introduce a three-author paper, you should list all +three authors at the first citation, and thereafter use et al. + +\subsubsection{The list of references} + +The following listing shows some references prepared in the style of +the journal; the code produces the references at the end of this guide. +The following rules apply for the ordering of your references: +% +\begin{enumerate} + \item if an author has written several papers, some with other authors, + the rule is that the single-author papers precede the two-author + papers, which, in turn, precede the multi-author papers; + \item within the two-author paper citations, the order is determined + by the second author's surname, regardless of date; + \item within the multi-author paper citations, the order is + chronological, regardless of authors' surnames. +\end{enumerate} +% +\begin{verbatim} +\begin{thebibliography}{} + \bibitem[\protect\citename{Butcher }1992]{bu} + Butcher J., 1992, Copy-editing: The Cambridge + Handbook, 3rd edn. Cambridge Univ. Press, + Cambridge + \bibitem[\protect\citename{The Chicago Manual }% + 1982]{ch} The Chicago Manual of Style, 1982. + Univ. Chicago Press, Chicago + \bibitem[\protect\citename{Blanco }1991]{bl} + Blanco P., 1991, PhD thesis, Edinburgh + University + \bibitem[\protect\citename{Brown \& Jones }% + 1989]{bj} Brown A. B., Jones C. D., 1989, + in Robinson E. F., Smith G. H., eds, + Proc. IAU Symp. 345, Black Dwarfs. + Kluwer, Dordrecht, p. 210 + \bibitem[\protect\citename{Edelson }1987]{ed} + Edelson R. A., 1987, ApJ, 313, 651 + \bibitem[\protect\citename{Lamport }1986]{la} + Lamport L., 1986, \LaTeX: A Document + Preparation System. Addison--Wesley, New York + \bibitem[\protect\citename{Mirabel \& Sanders }% + 1989]{ms} Mirabel I. F., Sanders D. B., 1989, + ApJ, 340, L53 + \bibitem[\protect\citename{Misner et al.\ }% + 1973]{mtw} Misner C. W., Thorne K. S., + Wheeler J. A., 1973, Gravitation. + Freeman, San Francisco + \bibitem[\protect\citename{Sopp \& Alexander }% + 1991]{sa} Sopp H. M., Alexander P., 1991, + MNRAS, 251, 112 + \bibitem[\protect\citename{Stella \& Campana }% + 1991]{sc} Stella L., Campana S., 1991, in + Treves A., Perola G. C., Stella L., eds, + Iron Line Diagnostic in X-ray Sources. + Springer--Verlag, Berlin, p. 230 +\end{thebibliography} +\end{verbatim} +% +Each entry takes the form +% +\begin{verbatim} +\bibitem[\protect\citename{Author(s), }% + Date]{tag} Bibliography entry +\end{verbatim} +% +where \verb"Author(s)" should be the author names as they are cited in +the text, \verb"Date" is the date to be cited in the text, and +\verb"tag" is the tag that is to be used as an argument for the +\verb"\cite{}" and \verb"\shortcite{}" commands. \verb"Bibliography +entry" should be the material that is to appear in the bibliography, +suitably formatted. + +\subsection{Appendices} + +The appendices in this guide were generated by typing: +% +\begin{verbatim} +\appendix +\section{For authors} + : +\section{For editors} +\end{verbatim} +% +You only need to type \verb"\appendix" once. Thereafter, every +\verb"\section" command will generate a new appendix which will be +numbered A, B, etc. + + +\section[]{Example of section heading with\\* + S{\sevensize\bf MALL} C{\sevensize\bf APS}, + \lowercase{lowercase}, \textbfit{italic}, + and bold\\* Greek such as + $\bmu^{\bkappa}$}\label{headings} + +\ifoldfss +% +There are at least two ways of achieving this section head. The first +involves the use of \verb"\boldmath". You could say: +% +\begin{verbatim} +\section[]{Example of section heading with\\* + S{\sevensize\bf MALL} C{\sevensize\bf APS}, + \lowercase{lowercase}, \textbfit{italic}, + and bold\\* Greek such as + \mbox{\boldmath{$\mu^{\kappa}$}}} +\end{verbatim} +% +Many implementations of \LaTeX\ do not support \verb"\boldmath" at 9pt, +so you may need to use the bold Greek characters as described in +Section~\ref{boldgreek}, and typeset the section head as follows: +% +\begin{verbatim} +\section[]{Example of section heading with\\* + S{\sevensize\bf MALL} C{\sevensize\bf APS}, + \lowercase{lowercase}, \textbfit{italic}, + and bold\\* Greek such as + $\bmu^{\bkappa}$} +\end{verbatim} +% +\else % nfss +% +Was produced with: +% +\begin{verbatim} +\section[]{Example of section heading with\\* + S{\sevensize MALL} C{\sevensize APS}, + \lowercase{lowercase}, \textbfit{italic}, + and bold\\* Greek such as + $\bmu^{\bkappa}$} +\end{verbatim} +% +\fi + +\begin{thebibliography}{} + \bibitem[\protect\citename{Butcher }1992]{bu} + Butcher J., 1992, Copy-editing: The Cambridge + Handbook, 3rd edn. Cambridge Univ. Press, + Cambridge + \bibitem[\protect\citename{The Chicago Manual }% + 1982]{ch} The Chicago Manual of Style 1982. Univ. + Chicago Press, Chicago + \bibitem[\protect\citename{Blanco }1991]{bl} + Blanco P., 1991, PhD thesis, Edinburgh + University + \bibitem[\protect\citename{Brown \& Jones }% + 1989]{bj} Brown A. B., Jones C. D., 1989, + in Robinson E. F., Smith G. H., eds, + Proc. IAU Symp. 345, Black Dwarfs. + Kluwer, Dordrecht, p. 210 + \bibitem[\protect\citename{Edelson }1987]{ed} + Edelson R. A., 1987, ApJ, 313, 651 + \bibitem[\protect\citename{Lamport }1986]{la} + Lamport L., 1986, \LaTeX: A Document + Preparation System. Addison--Wesley, New York + \bibitem[\protect\citename{Mirabel \& Sanders }% + 1989]{ms} Mirabel I. F., Sanders D. B., 1989, + ApJ, 340, L53 + \bibitem[\protect\citename{Misner et al.\ }% + 1973]{mtw} Misner C. W., Thorne K. S., + Wheeler J. A., 1973, Gravitation. + Freeman, San Francisco + \bibitem[\protect\citename{Sopp \& Alexander }% + 1991]{sa} Sopp H. M., Alexander P., 1991, + MNRAS, 251, 112 + \bibitem[\protect\citename{Stella \& Campana }% + 1991]{sc} Stella L., Campana S., 1991, in + Treves A., Perola G. C., Stella L., eds, + Iron Line Diagnostic in X-ray Sources. + Springer--Verlag, Berlin, p. 230 +\end{thebibliography} + + +\appendix +\section{For authors} + +Table~\ref{authors} is a list of design macros which are unique to MN. The +list displays each macro's name and description. + +\begin{table*} +\begin{minipage}{155mm} +\caption{Authors' notes.} +\label{authors} +\begin{tabular}{@{}ll} +\verb"\title[optional short title]{long title}" + & short title used in running head\\ +\verb"\author[optional short author(s)]{long author(s)}" + & short author(s) used in running head\\ +\verb"\newauthor" & starts a new line in the author environment\\ +\verb"\begin{abstract}...\end{abstract}"& for abstract on titlepage\\ +\verb"\begin{keywords}...\end{keywords}"& for keywords on titlepage\\ +\verb"\nokeywords" & if there are no keywords on titlepage\\ +\verb"\begin{figure*}...\end{figure*}" & for a double spanning figure in two-column mode\\ +\verb"\begin{table*}...\end{table*}" & for a double spanning table in + two-column mode\\ +\verb"\plate{Opposite p.~812, MNRAS, {\bf 261}}" + & used with \verb"\thispagestyle{plate}" for plate pages\\ +\verb"\contcaption{}" & for continuation figure and table captions\\ +\verb"\bmath{math text}" & Bold math italic / symbols.\\ +\verb"\textbfit{text}", \verb"\mathbfit{text}" & Bold text italic + (defined in the preamble of \verb"mnsample.tex").\\ +\verb"\textbfss{text}", \verb"\mathbfss{text}" & Bold text sans serif + (defined in the preamble of \verb"mnsample.tex").\\ +\end{tabular} +\end{minipage} +\end{table*} + + +\section{For editors} + +The additional features shown in Table~\ref{editors} may be used for +production purposes. + +\begin{table*} +\begin{minipage}{155mm} +\caption{Editors' notes.} +\label{editors} +\begin{tabular}{@{}lp{270pt}} +\verb"\pagerange{000--000}"& for catchline, note use of en-rule\\ +\verb"\pagerange{L00--L00}"& for letters option, used in catchline\\ +\verb"\volume{000}" & volume number, for catchline\\ +\verb"\pubyear{0000}" & publication year, for catchline\\ +\verb"\microfiche{MN000/0}" & for articles accompanied by microfiche\\ +\verb"\journal" & replace the whole catchline at one go\\ +\verb"[doublespacing]" & documentstyle option for doublespacing\\ +\verb"[galley]" & documentstyle option for running to galley\\ +\verb"[landscape]" & documentstyle option for landscape illustrations\\ +\verb"[letters]" & documentstyle option, for short communications + (adds L to folios)\\ +\verb"[onecolumn]" & documentstyle option for one-column \\ +\verb"[referee]" & documentstyle option for 12/20pt, single col, + 39pc measure\\ +\verb"\bsp" & typesets the final phrase `This paper has been produced + using the\\ + & Royal Astronomical Society/Blackwell Science \LaTeX\ style + file.'\\ +\end{tabular} +\end{minipage} +\end{table*} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\makeatletter +% define \thebiblio (same as thebibliography, but +% without the section heading) +\def\thebiblio#1{% + \list{}{\usecounter{dummy}% + \labelwidth\z@ + \leftmargin 1.5em + \itemsep \z@ + \itemindent-\leftmargin} + \reset@font\small + \parindent\z@ + \parskip\z@ plus .1pt\relax + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax +} +\let\endthebiblio=\endlist +\makeatother + + +\section{Monthly Notices journal style} + +Authors submitting \TeX\ or \LaTeX\ papers to Monthly Notices +may wish to note the following points regarding journal style. +Adherence to correct style from the start will obviously save time +and effort later on, in terms of fewer requested subeditorial +corrections. The notes given here relate to common style errors found +in Monthly Notices manuscripts, and are {\it not\/} intended to be +exhaustive. Please see the editorials in issues 257/2 and 260/1, as +well as any recent issue of the journal, for more details. As far +as possible, the subeditor will indicate which of your changes +would be best done globally, thus saving you time. + +\subsection{Punctuation} + +When deciding where to add commas, it may be helpful to read +through the sentence and note where the natural `pauses' occur. +The needs of readers for whom English is not a first language +should be borne in mind when punctuating long sentences. For +example, consider the following sentence as it appeared in Monthly Notices: +`When we do not limit ourselves by constraints arising +from the choice of an initial fluctuation spectrum, structures in +an open universe, including the peculiar velocity structure, can +be reproduced in a flat Lema\^{\i}tre universe for a large part of +their evolution.' Now consider the same sentence without commas: +`When we do not limit ourselves by constraints arising from the +choice of an initial fluctuation spectrum structures in an open +universe including the peculiar velocity structure can be reproduced +in a flat Lema\^{\i}tre universe for a large part of their +evolution.' + +\subsection{Spelling} + +Please use British spelling -- e.g.\ centre not center, labelled +not labeled. The following style regarding -ise and -ize spellings is +followed. -ise: devise, surprise, comprise, revise, +exercise, analyse. -ize: recognize, criticize, minimize, emphasize, organize. + +\subsection{Titles and section/subsection headings} + +With the exception of section headings (e.g.\ +{\bf INTRO\-DUC\-TION}\ldots), +capital letters should be used only where they occur in a normal +sentence -- e.g.\ +`\textbfit{ROSAT\/} {\bf observations of the unusual star}\ldots', not +`\textbfit{ROSAT\/} {\bf Observations of the Unusual Star}\ldots'. + +\subsection{Key words} + +The list of Monthly Notices key words is published with the 4th +issue of each volume. No other key words should be used. Please +use the correct layout for key words: +\smallskip + +\noindent {\bf Key words:} galaxies: active -- galaxies: Seyfert -- +radio continuum: galaxies. + +\subsection{Hyphens and N-rules} + +\begin{enumerate} +\item Hyphens (one dash in \TeX/\LaTeX). Monthly Notices uses hyphens +for compound adjectives (e.g.\ low-density gas, least-squares fit, +two-component model). This also applies to simple units (e.g.\ +1.5-m telescope, 284.5-nm line), but not to complex units or +ranges, which could become cumbersome (e.g.\ 15 km s$^{-1}$ feature, +100--200 $\umu$m observations). + +\item N-rules (two dashes in \TeX/\LaTeX). These are used (a) to +separate key words, (b) as parentheses (e.g.\ `the results -- +assuming no temperature gradient -- are indicative of\ldots), (c) to +denote a range (e.g.\ 1.6--2.2 $\umu$m), and (d) to denote the joining +of two words (e.g.\ Kolmogorov--Smirnov test, Herbig--Haro +object). + +\item The M-rule (three dashes in \TeX/\LaTeX) is not used in +Monthly Notices. +\end{enumerate} + + +\subsection{References} + +It is important to use the correct reference style, details of +which can be found in the editorials cited above, and which is +demonstrated in any recent issue of the journal. The main points +are summarized below. +% +\begin{enumerate} +\item In text -- for three-author papers, give all three authors +at first mention, and `et al.' thereafter. + +\item In references list -- no bold or italic, no commas after +author surnames, and no ampersand between final two author names. +Use simplified abbreviations for frequently used journals (e.g.\ +MNRAS, ApJ, A\&A, PASP -- see full list in editorial in issue +260/1). List all authors if eight or less, otherwise `et al.' For +example, +\end{enumerate} + +\begin{thebiblio}{}% you should use {thebibliography} here. +\bibitem{} Biggs J.D., Lyne A.G., 1992, MNRAS, 254, 257 + +\bibitem{} Brown A.B., Jones C.D., 1989, in Robinson E.F., +Smith G.H., eds, Proc. IAU Symp. 345, Black Dwarfs. Kluwer, Dordrecht, +p.~210 + +\bibitem{} Felsteiner J., Opher R., 1991, in Treves A., ed., +Iron Line Diagnostics in X-ray Sources. Springer-Verlag, Berlin, p.~209 + +\bibitem{} Gunn J.E., Knapp G., 1993, in Soifer B.T., ed., ASP +Conf.\ Ser.\ Vol.~43, Sky Surveys. Astron.\ Soc.\ Pac., San Francisco, p.~267 + +\bibitem{} Peebles P.J.E., 1980, The Large-Scale Structure of the Universe. Princeton Univ. Press, Princeton, NJ + +\bibitem{} Pounds K.A. et al., 1993, MNRAS, 260, 77 + +\bibitem{} Williams B.G., 1992, PhD thesis, Univ.\ Edinburgh +\end{thebiblio} + +\subsection{Maths} +Scalar variables are italic; vectors are bold italic; matrices +are `bold Univers' font (like bold sans serif). Differential d, +complex i, exponential e, sin, cos, tan, log, etc., are roman. +Sub/superscripts that are physical variables are italic, while +those that are just labels are roman (e.g.\ $C_p$, but $T_{\rmn{eff}}$). +Equations should be punctuated as part of the sentence. + +\subsection{Miscellaneous} + +e.g., i.e., cf., etc., are roman. +Single quotes ` ' not double quotes `` ". +Take care to use correct units -- see recent \hbox{issues} for details. +Use superscript $-1$, not solidus /, for units -- e.g.\ km~s$^{-1}$ not +km/s. The unit of arcseconds is arcsec when used to denote angular +size or separation (e.g.\ `beamsize 12~arcsec', `30~arcsec +west of the star'); use \arcsec\ for positions (e.g.\ +Dec.~$-30^\circ$~29\arcmin~23\arcsec) (similarly for arcminutes). +The unit of magnitudes is mag, +not superscript m. Percentages should be written `per cent', not +\%. Use the degree symbol $^\circ$ (\verb"$^\circ$") except to denote, e.g., areas, where +`deg$^2$' may be more appropriate (e.g.\ `a survey area of 3~deg$^2$'). +Degree symbols should be positioned above the decimal point if +there is one -- i.e.\ 23\fdg 4 not 23.4$^\circ$ (similarly for superscript +h, m, s, and \arcmin, \arcsec\ symbols in coordinates). See guide for coding. +Ionized species should be denoted by small caps, with a thin +space -- e.g.\ \hbox{He\,{\sc ii}}, \hbox{C\,{\sc iv}}, +\hbox{[Fe\,{\sc ii}]} 465.8 nm, \hbox{N\,{\sc iii}} 463.4~nm. If +lack of the correct font at your site prevents this from coming +out on your printout, it would be helpful if you were to indicate +as such on your manuscript so that the subeditor knows that there +is no need for correction. +Computer software (e.g.\ {\sc figaro}) should be in small capitals. +Satellite names should be italic (e.g.\ {\it Ginga, IRAS\/}). +The correct bracket order is \{[( )]\}. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Trouble-shooting} + +Authors may from time to time encounter problems with the preparation +of their papers in \TeX/\LaTeX. The appropriate action to +take will depend on the nature of the problem -- the following is +intended to act as a guide. +% +\begin{enumerate} +\item If a problem is with \TeX/\LaTeX\ itself, rather than with the +actual macros, please refer to the appropriate handbooks for +initial advice.\footnote{\TeX : Knuth D., 1986, The \TeX book. +Addison Wesley; \LaTeX: Lamport L., 1985, \LaTeX\ User's Guide and +Reference Manual. Addison Wesley.} If the +solution cannot be found, and you suspect that the problem lies +with the macros, then please contact the RAS Journal Production +team at Blackwell Science (BS), 23 Ainslie +Place, Edinburgh EH3 6AJ, UK (Tel: 031 226 7232; Fax: 031 226 3803; +omit the first zero if calling from outside the UK). +The BS office will shortly be +accessible by email -- please see the Instructions for Authors on +the inside back cover of Monthly Notices for details. Please +provide precise details of the problem (what you were trying to +do -- ideally, include examples of source code as well -- and +what exactly happened; what error message was received). + +\item Problems with page make-up, particularly in the two-column +mode (e.g.\ large spaces between paragraphs, or under headings or +figures; uneven columns; figures/tables appearing out of order). +Please do {\it not\/} attempt to remedy these yourself using `hard' page +make-up commands -- the typesetters at Cambridge University Press +(CUP) will sort out problems when typesetting. (You may, if you +wish, draw attention to particular problems when submitting the +final version of your paper.) + +\item If a required font is not available at your site, allow \TeX\ +to substitute the font and report the problem on your disk +documentation form. + +\item If you choose to use \verb"\boldmath", you may find that boldmath has not been defined locally for use with a particular size of font. If this is the case, you will get a message that reads something like: +% +\begin{verbatim} +LaTeX Warning: No \boldmath typeface in this size, +using \unboldmath on input line 44. +\end{verbatim} + +If you get this message, you are advised to use the alternative described +in this guide for attaining bold face math italic characters, +i.e.\ \verb"\bmath{...}". +\end{enumerate} + + +\subsection{Fixes for coding problems} + +The new versions of the style files and macros have been designed +to minimize the need for user-defined macros to create special +symbols. Authors are urged, wherever possible, to use the following +coding rather than create their own. This will minimize the +danger of author-defined macros being accidentally `over-ridden' +when the paper is typeset in Monotype Times (see Section~\ref{TMth}, +`Typesetting mathematics', in the \LaTeX\ author guide). +% +\begin{enumerate} +\item Fonts in sections and paper titles. The following are examples +of styles that sometimes prove difficult to code. +\end{enumerate} + + +\subsubsection*{P\lowercase{aper titles}} + +\boxit{\huge\bf + A survey of \textbfit{IRAS\/} galaxies at + $\bmath{\delta > \bld{50}^\circ}$} +% +is produced by: +% +\begin{verbatim} +\title[A survey of IRAS galaxies at + $\delta > 50^\circ$] + {A survey of \textbfit{IRAS\/} galaxies at + $\bmath{\delta > \bld{50}^\circ}$} +\end{verbatim} +\bigskip + +\boxit{\huge\bf Observations of compact H\,{\Large\bf II} regions} +% +is produced by: +% +\begin{verbatim} +\title[Observations of compact H\,{\normalsize + \it II} regions] + {Observations of compact H\,{\Large\bf II} + regions} +\end{verbatim} + + +\subsubsection*{S\lowercase{ection headings}} + +\boxit{\bf 1\quad THE \textbfit{IRAS\/} DATA FOR + $\bmath{\delta > \bld{50}^\circ}$} +% +is produced by: +% +\begin{verbatim} +\section[]{The \textbfit{IRAS\/} data for + $\bmath{\delta > \bld{50}^\circ}$ +\end{verbatim} +\bigskip + +\boxit{\bf 2\quad H\,{\sevensize\bf II} GALAXIES AT + $\bmath{\lowercase{z} > \bld{1.6}}$} +% +is produced by: +% +\begin{verbatim} +\section[]{H\,{\sevensize\bf II} galaxies at + $\bmath{\lowercase{z} > \bld{1.6}}$} +\end{verbatim} + + +\subsubsection*{S\lowercase{ubsection headings}} + +\boxit{\bf 2.1\quad The \textbfit{IRAS\/} data for + $\bmath{\delta > \bld{50}^\circ}$: galaxies\\ + at $\bmath{z > \bld{1.5}}$} +% +is produced by: +% +\begin{verbatim} +\subsection[]{The \textbfit{IRAS\/} data for + $\bmath{\delta > \bld{50}^\circ}$: galaxies\\ + at $\bmath{z > \bld{1.5}}$} +\end{verbatim} +\bigskip + +\boxit{\bf 2.2\quad Observations of compact H\,{\sevensize\bf II} regions} +% +is produced by: +% +\begin{verbatim} +\subsection[]{Observations of compact + H\,{\sevensize\bf II} regions} +\end{verbatim} +\bigskip + +\boxit{\it 2.2.1\quad A survey of radio galaxies for + $\delta > \itl{50}^\circ$} +% +is produced by: +% +\begin{verbatim} +\subsubsection[]{A survey of radio galaxies for + $\delta > \itl{50}^\circ$} +\end{verbatim} +\bigskip + +\boxit{\it 2.2.2\quad Determination of T$_{eff}$ in compact + H\,{\sevensize\it II} regions} +% +is produced by: +% +\begin{verbatim} +\subsubsection[]{Determination of T$_{eff}$ in + compact H\,{\sevensize\it II} regions} +\end{verbatim} +\bigskip + +\begin{enumerate} +\stepcounter{enumi} + +\item Small capitals and other unusual fonts in table and figure captions: +\par\smallskip +\boxit{\small {\bf Figure 1.} Profiles of the H$\alpha$ and + N\,{\sc iii} lines observed.} +% +is produced by: +% +\begin{verbatim} +\caption{Profiles of the H$\alpha$ and + N\,{\sc iii} lines observed.} +\end{verbatim} + +\item Multiple author lists (to get the correct vertical spacing +and wraparound on the title page of a multiple-author paper). +\par\smallskip + +\boxit{\huge\bf + The variation in the\newline + strength of low-$\bmath{l}$ solar + $\bmath{p}$-modes: 1981--2 +\medskip + +\LARGE + Y. Elsworth, R. Howe, G.R. Isaac, C.P. McLeod, + B.A. Miller, R. New, + C.C. Speake and S.J. Wheeler} +% +is produced by: +% +\begin{verbatim} +\title[The variation in the strength of low-$l$ + solar $p$-modes: 1981--2]% + {The variation in the strength of + low-$\bmath{l}$ solar + $\bmath{p}$-modes: 1981--2} + +\author[Y. Elsworth et al.] + {Y. Elsworth, R. Howe, G.R. Isaac,\cr + C.P. McLeod, B.A. Miller, R. New,\cr + C.C. Speake and S.J. Wheeler} +\end{verbatim} + +\item Ionized species (as used in the examples above). The correct +style calls for the use of small capitals and a thin space after +the symbol for the element: e.g.\ for \hbox{H\,{\sc ii}}, use the code +\verb"\hbox{H\,{\sc ii}}". The use of the \verb"\hbox" will stop the +H and the {\sc ii} being separated. + +\item Lower case greek pi ($\pi$), mu ($\mu$) and partial ($\partial$). +In certain circumstances, the Monthly Notices style calls for these to be +roman [when pi is used to denote the constant 3.1415$\ldots$, mu is +used to denote `micro' in a unit (e.g.\ $\umu$m, $\umu$Jy), and partial +is a differential symbol]. See Subsubsection~\ref{upgreek} for instructions. + +\item Decimal degrees, arcmin, arcsec, hours, minutes and seconds. +The symbol needs to be placed vertically above the decimal point. +For example, the sentence +% +\begin{quote} +The observations were made along position angle +120\fdg 5, starting from the central coordinates +$\rmn{RA}(1950)=19^{\rmn{h}}~22^{\rmn{m}}~18\fs2$, +$\rmn{Dec.}~(1950)=45^\circ~18'~36\farcs 4$ +\end{quote} +% +uses the following coding: +% +\begin{verbatim} +The observations were made along position angle +120\fdg 5, starting from the central coordinates +$\rmn{RA}(1950)=19^{\rmn{h}}~22^{\rmn{m}}~18\fs2$, +$\rmn{Dec.}~(1950)=45^\circ~18'~36\farcs 4$ +\end{verbatim} + +\item The correct coding for the prime symbol \arcmin\ is +\verb"\arcmin", and that for \arcsec\ is \verb"\arcsec"; see the two +tables on special symbols. + +\item N-rules, hyphens and minus signs (see style guide for +correct usage). To create the correct symbols in the sentence +% +\begin{quote} +The high-resolution observations were made along a +line at an angle of $-15^\circ$ (east from north) +from the axis of the jet, which runs north--south +\end{quote} +you would use the following code: +% +\begin{verbatim} +The high-resolution observations were made along a +line at an angle of $-15^\circ$ (east from north) +from the axis of the jet, which runs north--south +\end{verbatim} + +\item Vectors and matrices should be bold italic and bold sans +serif respectively. To create the correct fonts for the vector $\bmath{x}$ +and the matrix \textbfss{P}, you should use \verb"$\bmath{x}$" and +\verb"\textbfss{P}" respectively; \verb"\mathbfss" is for use in +math mode. Bold face text italic can be obtained by using +\verb"\textbfit{..}" and \verb"\mathbfit{..}" for math mode. + +\item Bold italic superscripts and subscripts. To get these +to come out in the correct font and the right size, +you need to use \verb"\bmath". You can create the output +$\bmath{k_x}$ by typing \verb"$\bmath{k_x}$". +Try to avoid using \LaTeX\ commands to determine script sizes +that are already defined in the style file. For example, macros such as +% +\begin{verbatim} +\newcommand{\th}{^\mbox{\tiny th}} +\end{verbatim} +% +are generating extra work; +% +\begin{verbatim} +\newcommand{\th}{^{th}} +\end{verbatim} +% +will do, and will get the size of the superscript right whether +in main text, tables or captions (the use of \verb"\tiny" over-rides +the style file). +Also, the \verb"\mbox" is not necessary, as \TeX\ won't split a +superscript/subscript from its variable at a line break. + +\item Calligraphic letters (uppercase only). +% +\ifnfsstwo +% +Normal uppercase calligraphic can be produced with \verb"\mathcal" as +normal (in math mode). Bold calligraphic can be produced with \verb"\bmath". +e.g.\ \verb"$\bmath{\mathcal A}$" gives $\bmath{\mathcal A}$. +% +\else +% +Normal uppercase calligraphic can be produced with \verb"\cal" as +normal (in math mode). Bold calligraphic can be produced with \verb"\bmath". +e.g.\ \verb"$\bmath{\cal A}$" gives $\bmath{\cal A}$. +% +\fi + +\item Automatic scaling of brackets. The codes \verb"\left" and +\verb"\right" should be used to scale brackets automatically to +fit the equation being set. For example, to get +\[ + v = x \left( \frac{N+2}{N} \right) +\] +use the code +% +\begin{verbatim} +\[ + v = x \left( \frac{N+2}{N} \right) +\] +\end{verbatim} + +\item Roman font in equations. It is often necessary to make some +symbols roman in an equation (e.g.\ units, subscripts). For example, +to get the following output: +\[ + \sigma \simeq (r/13~h^{-1}~\rmn{Mpc})^{-0.9}, + \qquad \omega = \frac{N-N_{\rmn{s}}}{N_{\rmn{R}}}, +\] +you should use: +% +\begin{verbatim} +\[ + \sigma \simeq (r/13~h^{-1}~\rmn{Mpc})^{-0.9}, + \qquad \omega=\frac{N-N_{\rmn{s}}}{N_{\rmn{R}}}, +\] +\end{verbatim} + +\item Continuation figure and table captions. +See Section~\ref{contfigtab}. +\end{enumerate} + + +\subsection{Springer-Verlag macro names} + +These have been incorporated from the Astronomy \& Astrophysics \LaTeX\ +style file, to aid in the creation of various commonly used +astronomical symbols. Please see Subsection~\ref{SVsymbols} for details. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\bsp % ``This paper has been produced using the ...'' + +\label{lastpage} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/mnras/mnland.tex b/obsolete/macros/latex209/contrib/mnras/mnland.tex new file mode 100644 index 0000000000..c462b066b6 --- /dev/null +++ b/obsolete/macros/latex209/contrib/mnras/mnland.tex @@ -0,0 +1,34 @@ +% mnland.tex, landscape material for sample pages +% v1.1 released 18th July 1994 +% v1.0 released 28th January 1994 + +\documentstyle[landscape]{mn} + +\ifoldfss + \newcommand{\rmn}[1] {{\rm #1}} +\else + \newcommand{\rmn}[1] {\mathrm{#1}} +\fi + +\pagestyle{empty} + +\begin{document} + +% only use the following if your dvi driver understands `landscape' +%\hbox{\special{landscape}} + +\clearpage +\setcounter{figure}{3} +\begin{figure*} +\vspace{144mm} +\caption{Photometric comparisons in the overlap areas between the + fields. The differences between photometry of individual images from + different fields for the overlapping fields 52--51, 50--51, 50--28 and + 30--29 are shown for the $B_{\rmn{J}}$ and $R$ wavebands. The axes are as + follows. Left-hand panels: $\Delta B$ ($-1$ to 1) against + $\langle B \rangle$ (13 to 21). Right-hand panels: $\Delta R$ ($-1$ to 1) + against $\langle R \rangle$ (12 to 20).} +\label{landfig} +\end{figure*} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/mnras/mnsample.tex b/obsolete/macros/latex209/contrib/mnras/mnsample.tex new file mode 100644 index 0000000000..ec0105d7a4 --- /dev/null +++ b/obsolete/macros/latex209/contrib/mnras/mnsample.tex @@ -0,0 +1,743 @@ +% mnsample.tex +% +% v1.2 released 5th September 1994 (M. Reed) +% v1.1 released 18th July 1994 +% v1.0 released 28th January 1994 + +\documentstyle{mn} + +% If your system has the AMS fonts version 2.0 installed, MN.sty can be +% made to use them by uncommenting the line: %\AMStwofontstrue +% +% By doing this, you will be able to obtain upright Greek characters. +% e.g. \umu, \upi etc. See the section on "Upright Greek characters" in +% this guide for further information. +% +% If you are using AMS 2.0 fonts, bold math letters/symbols are available +% at a larger range of sizes for NFSS release 1 and 2 (using \boldmath or +% preferably \bmath). + +\newif\ifAMStwofonts +%\AMStwofontstrue + +%%%%% AUTHORS - PLACE YOUR OWN MACROS HERE %%%%% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifoldfss + % + \newcommand{\rmn}[1] {{\rm #1}} + \newcommand{\itl}[1] {{\it #1}} + \newcommand{\bld}[1] {{\bf #1}} + % + \ifCUPmtlplainloaded \else + \NewTextAlphabet{textbfit} {cmbxti10} {} + \NewTextAlphabet{textbfss} {cmssbx10} {} + \NewMathAlphabet{mathbfit} {cmbxti10} {} % for math mode + \NewMathAlphabet{mathbfss} {cmssbx10} {} % " " " + \fi + % + \ifAMStwofonts + % + \ifCUPmtlplainloaded \else + \NewSymbolFont{upmath} {eurm10} + \NewSymbolFont{AMSa} {msam10} + \NewMathSymbol{\upi} {0}{upmath}{19} + \NewMathSymbol{\umu} {0}{upmath}{16} + \NewMathSymbol{\upartial}{0}{upmath}{40} + \NewMathSymbol{\leqslant}{3}{AMSa}{36} + \NewMathSymbol{\geqslant}{3}{AMSa}{3E} + \let\oldle=\le \let\oldleq=\leq + \let\oldge=\ge \let\oldgeq=\geq + \let\leq=\leqslant \let\le=\leqslant + \let\geq=\geqslant \let\ge=\geqslant + \fi + % + \fi +% +\fi % End of OFSS + +\ifnfssone + % + \newmathalphabet{\mathit} + \addtoversion{normal}{\mathit}{cmr}{m}{it} + \addtoversion{bold}{\mathit}{cmr}{bx}{it} + % + \newcommand{\rmn}[1] {\mathrm{#1}} + \newcommand{\itl}[1] {\mathit{#1}} + \newcommand{\bld}[1] {\mathbf{#1}} + % + \def\textbfit{\protect\txtbfit} + \def\textbfss{\protect\txtbfss} + \long\def\txtbfit#1{{\fontfamily{cmr}\fontseries{bx}\fontshape{it}% + \selectfont #1}} + \long\def\txtbfss#1{{\fontfamily{cmss}\fontseries{bx}\fontshape{n}% + \selectfont #1}} + % + \newmathalphabet{\mathbfit} % math mode version of \textbfit{..} + \addtoversion{normal}{\mathbfit}{cmr}{bx}{it} + \addtoversion{bold}{\mathbfit}{cmr}{bx}{it} + % + \newmathalphabet{\mathbfss} % math mode version of \textbfss{..} + \addtoversion{normal}{\mathbfss}{cmss}{bx}{n} + \addtoversion{bold}{\mathbfss}{cmss}{bx}{n} + % + \ifAMStwofonts + % + \ifCUPmtlplainloaded \else + % + % Make NFSS 1 use the extra sizes available for bold math italic and + % bold math symbol. These definitions may already be loaded if your + % NFSS format was built with fontdef.max. + % + \UseAMStwoboldmath + % + \makeatletter + \new@mathgroup\upmath@group + \define@mathgroup\mv@normal\upmath@group{eur}{m}{n} + \define@mathgroup\mv@bold\upmath@group{eur}{b}{n} + \edef\UPM{\hexnumber\upmath@group} + % + \new@mathgroup\amsa@group + \define@mathgroup\mv@normal\amsa@group{msa}{m}{n} + \define@mathgroup\mv@bold\amsa@group{msa}{m}{n} + \edef\AMSa{\hexnumber\amsa@group} + \makeatother + % + \mathchardef\upi="0\UPM19 + \mathchardef\umu="0\UPM16 + \mathchardef\upartial="0\UPM40 + \mathchardef\leqslant="3\AMSa36 + \mathchardef\geqslant="3\AMSa3E + % + \let\oldle=\le \let\oldleq=\leq + \let\oldge=\ge \let\oldgeq=\geq + \let\leq=\leqslant \let\le=\leqslant + \let\geq=\geqslant \let\ge=\geqslant + % + \fi + \fi + % +\fi % End of NFSS release 1 + +\ifnfsstwo + % + \newcommand{\rmn}[1] {\mathrm{#1}} + \newcommand{\itl}[1] {\mathit{#1}} + \newcommand{\bld}[1] {\mathbf{#1}} + % + \def\textbfit{\protect\txtbfit} + \def\textbfss{\protect\txtbfss} + \long\def\txtbfit#1{{\fontfamily{cmr}\fontseries{bx}\fontshape{it}% + \selectfont #1}} + \long\def\txtbfss#1{{\fontfamily{cmss}\fontseries{bx}\fontshape{n}% + \selectfont #1}} + % + \DeclareMathAlphabet{\mathbfit}{OT1}{cmr}{bx}{it} + \SetMathAlphabet\mathbfit{bold}{OT1}{cmr}{bx}{it} + \DeclareMathAlphabet{\mathbfss}{OT1}{cmss}{bx}{n} + \SetMathAlphabet\mathbfss{bold}{OT1}{cmss}{bx}{n} + % + \ifAMStwofonts + % + \ifCUPmtlplainloaded \else + \DeclareSymbolFont{UPM}{U}{eur}{m}{n} + \SetSymbolFont{UPM}{bold}{U}{eur}{b}{n} + \DeclareSymbolFont{AMSa}{U}{msa}{m}{n} + \DeclareMathSymbol{\upi}{0}{UPM}{"19} + \DeclareMathSymbol{\umu}{0}{UPM}{"16} + \DeclareMathSymbol{\upartial}{0}{UPM}{"40} + \DeclareMathSymbol{\leqslant}{3}{AMSa}{"36} + \DeclareMathSymbol{\geqslant}{3}{AMSa}{"3E} + % + \let\oldle=\le \let\oldleq=\leq + \let\oldge=\ge \let\oldgeq=\geq + \let\leq=\leqslant \let\le=\leqslant + \let\geq=\geqslant \let\ge=\geqslant + % + \fi + \fi + % +\fi % End of NFSS release 2 + +\ifCUPmtlplainloaded \else + \ifAMStwofonts \else % If no AMS fonts + \def\upi{\pi} + \def\umu{\mu} + \def\upartial{\partial} + \fi +\fi + + +\title{Dust envelopes around RV Tauri stars} +\author[A. V. Raveendran] + {A. V. Raveendran \\ + Indian Institute of Astrophysics, Bangalore 560034, India} +\date{Accepted 1988 December 15. + Received 1988 December 14; + in original form 1988 October 11} + +\pagerange{\pageref{firstpage}--\pageref{lastpage}} +\pubyear{1994} + +\begin{document} + +\maketitle + +\label{firstpage} + +\begin{abstract} +In the {\it IRAS\/} [12]--[25], [25]--[60] colour--colour diagram, RV +Tauri stars are found to populate cooler temperature regions +$(T<600\,\rmn{K})$, distinctly different from those occupied by the +oxygen and carbon Miras. The {\it IRAS\/} fluxes are consistent with the +dust density in the envelope varying as the inverse square of the +radial distance, implying that the grain formation processes in these +objects are most probably continuous and not sporadic. It is found that +the spectroscopic subgroups A and B are well separated in the +far-infrared two-colour diagram, with group B objects having +systematically cooler dust envelopes. We interpret this as being due to +a difference in the nature of grains, including the chemical +composition, in the two cases. +\end{abstract} + +\begin{keywords} +circumstellar matter -- infrared: stars. +\end{keywords} + +\section{Introduction} + +It has been well established that RV Tauri variables possess infrared +emission far in excess of their expected blackbody continuum, arising +from their extended cool dust envelopes (Gehrz \& Woolf 1970; Gehrz +1972; Gehrz \& Ney 1972). Recently, Lloyd Evans (1985) and Goldsmith +et al.\ (1987) have given detailed descriptions of the +near-infrared properties of RV Tauri stars. In this paper we present an +analysis of the {\it IRAS\/} data of RV Tauri stars with the help of the +far-infrared two-colour diagram and a grid computed using a simple +model of the dust envelope. Such two-colour plots have already been +employed extensively by several investigators to study the +circumstellar envelopes around oxygen-rich and carbon-rich objects +which are in the late stages of stellar evolution (Hacking et al.\ +1985; Zuckerman \& Dyck 1986; van der Veen \& Habing 1988; Willems \& +de Jong 1988). + +Table 1 summarizes the basic data on the 17 objects detected at +\hbox{60\,$\umu$m}. Apart from the {\it IRAS\/} identification and the flux +densities at 12-, 25-, 60- and 100-$\umu$m wavebands, it gives the +spectroscopic groups of Preston et al.\ (1963), the light-curve classes +of Kukarkin et al.\ (1969) and the periods of light variation. The +list, which contains about 20 per cent of all the known RV Tauri +stars, is essentially the same as that given by Jura (1986). The +spectroscopic subgroups are from either Preston et al.\ (1963) or Lloyd +Evans (1985). +\begin{table*} + \centering + \begin{minipage}{140mm} + \caption{Data on the RV Tauri stars detected by {\it IRAS}.} + \begin{tabular}{@{}llrrrrlrlr@{}} + Name & & \multicolumn{4}{c}{Flux density (Jy)% + \footnote{Observed by {\em IRAS}.}}\\ + Variable & {\it IRAS} & 12$\,\umu$m & 25$\,\umu$m & 60$\,\umu$m + & 100$\,\umu$m & Sp. & Period & Light- & $T_0\,(\rmn{K})$ \\ + & & & & & & group & (d) & curve \\ + & & & & & & & & type \\[10pt] + TW Cam & 04166$+$5719 & 8.27 & 5.62 & 1.82 & $<$1.73 & A & 85.6 & a & 555 \\ + RV Tau & 04440$+$2605 & 22.53 & 18.08 & 6.40 & 2.52 & A & 78.9 & b & 460 \\ + DY Ori & 06034$+$1354 & 12.44 & 14.93 & 4.12 & $<$11.22 & B & 60.3 & & 295 \\ + CT Ori & 06072$+$0953 & 6.16 & 5.57 & 1.22 & $<$1.54 & B & 135.6 & & 330 \\ + SU Gem & 06108$+$2734 & 7.90 & 5.69 & 2.16 & $<$11.66 & A & 50.1 & b & 575 \\ + UY CMa & 06160$-$1701 & 3.51 & 2.48 & 0.57 & $<$1.00 & B & 113.9 & a & 420 \\ + U Mon & 07284$-$0940 & 124.30 & 88.43 & 26.28 & 9.24 & A & 92.3 & b & 480 \\ + AR Pup & 08011$-$3627 & 131.33 & 94.32 & 25.81 & 11.65 & B & 75.0 & b & 450 \\ + IW Car & 09256$-$6324 & 101/06 & 96.24 & 34.19 & 13.07 & B & 67.5 & b & 395 \\ + GK Car & 11118$-$5726 & 2.87 & 2.48 & 0.78 & $<$12.13 & B & 55.6 & & 405 \\ + RU Cen & 12067$-$4508 & 5.36 & 11.02 & 5.57 & 2.01 & B & 64.7 & & 255 \\ + SX Cen & 12185$-$4856 & 5.95 & 3.62 & 1.09 & $<$1.50 & B & 32.9 & b & 590 \\ + AI Sco & 17530$-$3348 & 17.68 & 11.46 & 2.88 & $<$45.62 & A & 71.0 & b & 480 \\ + AC Her & 18281$+$2149 & 41.47 & 65.33 & 21.12 & 7.79 & B & 75.5 & a & 260 \\ + R Sct & 18448$-$0545 & 20.88 & 9.30 & 8.10 & $<$138.78 & A & 140.2 & a \\ + R Sge & 20117$+$1634 & 10.63 & 7.57 & 2.10 & $<$1.66 & A & 70.6 & b & 455 \\ + V Vul & 20343$+$2625 & 12.39 & 5.72 & 1.29 & $<$6.96 & A & 75.7 & a & 690 +\end{tabular} +\end{minipage} +\end{table*} + +\section[]{Description of the Envelope\\* Model} + +If we assume that the dust grains in the envelope are predominantly of +the same kind and are in thermal equilibrium, the luminosity at +frequency $\nu$ in the infrared is given by +\begin{equation} + L(\nu)=\mskip-12mu\int\limits_{\rmn{envelope}}\mskip-12mu + \rho(r)Q_{\rmn{abs}}(\nu)B[\nu,T_{\rmn{g}}(r)]\exp [-\tau(\nu,r)]\> + \rmn{d}V, +\end{equation} + where + $Q_{\rmn{abs}}(\nu)$ is the absorption efficiency at frequency $\nu$, + $\rho(r)$ is the dust grain density, + $T_{\rmn{g}}(\nu)$ is the grain temperature, + $B[\nu,T_{\rmn{g}}(r)]$ is the Planck function, and + $\tau(\nu,r)$ is the optical depth at distance {\it r\/} from the + centre of the star. + +The temperature $T_{\rmn{g}}(r)$ is determined by the condition of energy +balance: amount of energy radiated = amount of energy absorbed. The +amount of energy absorbed at any point is proportional to the total +available energy at that point, which consists of: +\begin{enumerate} + \item the attenuated and diluted stellar radiation; + \item scattered radiation, and + \item reradiation from other grains. +\end{enumerate} + +Detailed solutions of radiative transfer in circumstellar dust shells +by Rowan-Robinson \& Harris (1983a,b) indicate that the effect of +heating by other grains becomes significant only at large optical +depths at the absorbing frequencies $[\tau(\rmn{UV})\gg 10]$, and at +optical depths $\tau(\rmn{UV})<1$ the grains have approximately the +same temperature that they would have if they were seeing the starlight +unattenuated and no other radiation. + +The Planck mean optical depths of circumstellar envelopes around +several RV Tauri stars, derived from the ratios of the luminosities of +the dust shell (at infrared wavelengths) and the star, range from 0.07 +to 0.63 (Goldsmith et al.\ 1987). There is much uncertainty in the +nature of the optical properties of dust grains in the envelope. The +carbon-rich RV Tauri stars are also reported to show the 10-$\umu$m +silicate emission feature typical of oxygen-rich objects (Gehrz \& Ney +1972; Olnon \& Raimond 1986). The pure terrestrial silicates or lunar +silicates are found to be completely unsuitable to account for the +infrared emission from circumstellar dust shells around M-type stars +(Rowan-Robinson \& Harris 1983a). We assume that the absorption +efficiency $Q_{\rmn{abs}} (\nu)$ in the infrared varies as +$\nu^{\gamma}$. ${\gamma}=1$ appears to provide a reasonable fit in a +variety of sources (Harvey, Thronson \& Gatley 1979; Jura 1986). Under +these circumstances the condition of energy balance implies that the +dust temperature $T_{\rmn{g}}$ will vary as $r^{\beta}$. + +In view of the low value of the observed Planck mean optical depth for +the stellar radiation and the nature of the assumed frequency +dependence of the absorption efficiency, the extinction of the infrared +radiation by the dust envelope can be neglected. If we consider the +envelope to be spherically symmetric, equation (1) reduces to +\begin{equation} + L(\nu)=\!\!\int_{r_{1}}^{r_{2}}\!\!4\upi r^2\rho(r)\> Q_{\rmn{abs}}(\nu)B[\nu,T_{\rmn{g}}(r)]\> {\rmn{d}}r, +\end{equation} +where $r_1$ and $r_2$ are the inner and outer radii of the shell. For +a dusty density distribution $\rho(r)\propto r^{\alpha}$ and $r_2\gg +r_1$, equation (2) reduces to +\begin{equation} + L(\nu)\propto \nu^{2+\gamma-Q}\int_{X_0}^{\infty}{{x^Q}\over + {\rmn{e}^x-1}}\rmn{d}x , +\end{equation} +where $Q=-(\alpha+\beta+3)/\beta$ and $X_0=(h\nu /kT_0)$. $T_0$ +represents the temperature at the inner boundary of the dust shell +where grains start condensing. In a steady radiation pressure driven +mass outflow in the optically thin case, values of $\alpha$ lie near $-2$ +(Gilman 1972). $\gamma$ and $\beta$ are related by +$\beta=-2/(\gamma+4)$. + +In the {\it IRAS\/} Point Source Catalog (PSC, Beichman et al.\ 1985a), +the flux densities have been quoted at the effective wavelengths 12, +25, 60 and \hbox{100\,$\umu$m}, assuming a flat energy spectrum $[\nu F(\nu)=1]$ +for the observed sources. For each model given by equation (3), using +the relative system response, the colour-correction factors (Beichman +et al.\ 1985b) in each of the {\it IRAS\/} passbands were +calculated and the fluxes were converted into flux densities expected +for a flat energy distribution, as assumed in the {\it IRAS\/} PSC, so +that the computed colours can be directly compared with the colours +determined from the catalogue quantities. Such a procedure is +more appropriate than correcting the {\it IRAS\/} colours for the energy +distribution given by a particular model and then comparing them with +those computed by the model. + +\subsection{Colour--colour diagram} + +The IR colour is defined as +\[ + [\nu_1]-[\nu_2]=-2.5\log [f(\nu_1)/f(\nu_2)], +\] + where $\nu_1$ and $\nu_2$ are any two wavebands and $f(\nu_1)$ +and $f(\nu_2)$ are the corresponding flux densities assuming a flat +energy spectrum for the source. +In Fig.~1, we have plotted the [25]--[60] colours of RV Tauri stars +against their corresponding [12]--[25] colours derived from the {\it +IRAS\/} data. Filled circles represent stars of group A and open circles +stars of group B. The two sets of near-parallel lines represent the +loci of constant inner shell temperature $T_0$ and the quantity $Q$ +defined above. The models correspond to the case of absorption +efficiency $Q_{\rmn{abs}}(\nu)$ varying as $\nu$ (with $\gamma=1$ and +hence $\beta=-0.4$). We have omitted R Sct in Fig.~1 because it shows a +large deviation from the average relation shown by all the other +objects. R Sct has a comparatively large excess at 60$\,\umu$m, but the +extent of a possible contamination by the infrared cirrus (Low et +al. 1984) is unknown. Goldsmith et al.\ (1987) found no evidence +of the presence of a dust envelope at near-IR wavelengths and the +spectrum was consistent with a stellar continuum. This explains why R +Sct lies well below the mean relation shown by stars of groups A and C +between the [3.6]--[11.3] colour excess and the photometrically +determined (Fe/H) (Dawson 1979). R Sct has the longest period of +140$\,$d among the RV Tauri stars detected at far-infrared wavelengths +and does not have the 10-$\umu$m emission feature seen in other objects +(Gehrz 1972; Olnon \& Raimond 1986). R Sct is probably the most +irregular RV Tauri star known (McLaughlin 1932). + +\begin{figure} + \vspace{302pt} + \caption{Plot of [25]--[60] colours of RV Tauri stars against their + [12]--[25] colours after normalizing as indicated in Beichman et al.\ + (1985b). Some of the objects are identified by their variable-star + names. Typical error bars are shown in the bottom right-hand corner. + The lines represent the loci for constant inner shell temperature and + the quantity $Q$. Note the separation of group A and B stars at $T_0 + \sim$ 460$\,$\,K. Positions occupied by a sample of carbon and oxygen + Miras are also shown. The $Q=1.0$ line differs from the blackbody line + by a maximum of $\sim 0.05$.} +\end{figure} +The inner shell temperatures $(T_0)$ derived for the various objects +are also given in Table~1 and we find the majority of them to have +temperatures in the narrow range 400--600$\,$K. If the dependences of +$Q_{\rmn{abs}}(\nu)$ on $\nu$ and $\rho(r)$ on $r$ are similar in all +the objects considered, then in the colour--colour diagram they all +should lie along a line corresponding to different values of $T_0$ and +in Fig.~1 we find that this is essentially the case. In view of the +quoted uncertainties in the flux measurements, we cannot attach much +significance to the scatter in Fig.~1. + +At \hbox{100\,$\umu$m} the infrared sky is characterized by emission, called +infrared cirrus, from interstellar dust on all spatial scales (Low et +al. 1984), thereby impairing the measurements at far-infrared +wavelengths. In Fig.~2, we have plotted the [60]--[100] colours of the +six RV Tauri stars detected at \hbox{100\,$\umu$m} against their [25]--[60] +colours, along with the grid showing the regions of different values +for inner shell temperature $T_0$ and the quantity $Q$, as in Fig.~1. +The results indicated by Fig.~2 are consistent with those derived from +Fig.~1. AR Pup shows a large excess at \hbox{100\,$\umu$m} but, in view of the +large values for the cirrus flags given in the catalogue, the intrinsic +flux at \hbox{100\,$\umu$m} is uncertain. + +\subsection{Radial distribution of dust} + +\begin{figure*} + \vspace*{174pt} + \caption{Plot of the [60]--[100] colours of RV Tauri stars against + their [25]--[60] colours after normalizing as indicated in Beichman + et al.\ (1985b). The solid lines represent the loci for constant + inner shell temperature and the quantity $Q$. The dashed line shows + the locus for a blackbody distribution.} +\end{figure*} + +From Fig.~1, it is evident that all RV Tauri stars lie between the +lines corresponding to $Q=1.5$ and 0.5. With + \[ + \alpha=-(1+Q)\beta-3, + \] + these values suggest limits of $r^{-2.0}$ and $r^{-2.4}$ for the +dust density variation, indicating a near-constant mass-loss rate. Jura +(1986) has suggested that the density in the circumstellar envelope +around RV Tauri stars varies as $r^{-1}$, implying a mass-loss rate +that was greater in the past than it is currently. By fitting a power +law to the observed fluxes, such that $f(\nu)$ varies as $\nu^q$, +values of $q$ determined by him for the various objects given in Table~1 +lie in the range 0.6--1.2, with a mean $\skew5\bar q=0.98$. The +assumption of a power law corresponds to the case of $X_0=0$ in +equation (3) and hence we get + \[ + q=2+\gamma -Q. + \] +Since we assume that $Q_{\rmn{abs}}(\nu)$ varies as $\nu$, the +resulting value for $Q$=2.0. None of the objects is found to lie in the +corresponding region in the colour--colour diagram. Even this extreme +value for $Q$ implies a density which varies as $r^{-1.8}$. + +Goldsmith et al.\ (1987) have reported that the simultaneous +optical and near-IR data of AC Her can be fitted by a combination of +two blackbodies at 5680 and 1800\,K, representing, respectively, the +stellar and dust shell temperatures, and suggested that in RV Tauri +stars the grain formation is a sporadic phenomenon and not a continuous +process. Apparently, they have been influenced by the remark by Gehrz +\& Woolf (1970) that their data in the 3.5--11$\,\umu$m region of AC Her +indicated a dust temperature of $\sim$300\,K. We find that the {\it K--L\/} +colours given by Gehrz (1972), Lloyd Evans (1985) and Goldsmith et +al. (1987) are all consistent with each other. Surely, hot dust ($\sim +1800\,$K), if present at the time of observations by Goldsmith et +al. (1987), would have affected the {\it K--L\/} colour significantly. +AC Her, like other members of its class, is found to execute elongated +loops in the ({\it U--B\/}), ({\it B--V\/}) plane (Preston et al.\ +1963), indicating that significant departure of the stellar continuum +from the blackbody is to be expected. Further, their data show only a +marginal excess at the near-IR wavelengths. We feel that the case for +the existence of hot dust around AC Her and hence for the sporadic +grain formation around RV Tauri stars is not strong. In Fig.~3 we find that AC Her and RU Cen lie very close to R Sct +which, according to Goldsmith et al.\ (1987), shows no evidence +for the presence of a hot dust envelope. + +\subsubsection{Comparison with oxygen and carbon Miras} + +In Fig.~1 we have also shown the positions of a sample of oxygen-rich +and carbon-rich Miras. At the low temperatures characteristic of the +Miras, a part of the emission at 12$\,\umu$m comes from the photosphere. +For a blackbody at 2000$\,$K, the ratio of fluxes at wavelengths of 12 +and 2$\,\umu$m $(f_{12}/f_{2})\sim 0.18$. The Miras shown in Fig.~1 have +$(f_{12}/f_{2})$ ratios larger than twice the above value. It is +clear that the three groups of objects populate three different regions +of the diagram. Hacking et al.\ (1985) have already noticed that +there are distinct differences between the {\it IRAS\/} colours of +oxygen-rich and carbon-rich objects. On the basis of an analysis, using +a bigger sample of bright giant stars in the {\it IRAS\/} catalogue, this +has been interpreted by Zuckerman \& Dyck (1986) as being due to a +systematic difference in the dust grain emissivity index. U Mon shows +the 10-$\umu$m silicate emission convincingly and, in most of the other +objects for which low-resolution spectra in the near-infrared have been +reported (Gehrz 1972; Olnon \& Raimond 1986), the 10-$\umu$m emission +may be partly attributed to silicates. Hence it is reasonable to expect +that, in the envelopes around at least some of the RV Tauri stars, the +dust grains are predominantly of silicates, as in the case of oxygen +Miras (Rowan-Robinson \& Harris 1983a). The fact that none of the RV +Tauri stars is found in the region of the two-colour diagram occupied +by the oxygen Miras indicates that the emissivity indices of the +silicate grains in the two cases are different. Because of the higher +temperatures and luminosities, the environment of grain formation will +be different in RV Tauri stars. + +\subsubsection{Correlation with subgroups} + +Preston et al.\ (1963) have identified three spectroscopic +subgroups, which are designated as groups A, B and C. Objects of group +A are metal-rich; group C are metal-poor; group B objects are also +metal-poor, but show carbon enhancements (Preston et al.\ 1963; Lloyd +Evans 1974; Dawson 1979; Baird 1981). It is interesting to see that +Table~1 contains no group C objects and that in Fig.~1 there is a clear +separation of the two spectroscopic subgroups A and B, with the +demarcation occurring at an inner shell temperature of about 450$\,$K, +group B stars having lower temperatures than group A. SX Cen is the +only exception. Lloyd Evans (1974) has reported that metal lines are +stronger in SX Cen than in other group B objects. It may be worth +noting that SX Cen has the shortest period among the 100 or so objects +with the RV Tauri classification. RU Cen has the coolest inner shell +temperature, as already suggested by the near-infrared spectrum (Gehrz +\& Ney 1972). +\begin{figure} + \vspace*{174pt} + \caption{Plot of ({\it K--L\/}) colours of RV Tauri stars detected by + {\it IRAS\/} against their corresponding ({\it J--K\/}) colours. The + position of AR Pup is indicated. The three objects lying close to the + blackbody line are AC Her, RU Cen and R Sct.} +\end{figure} + +Group B objects follow a different mean relationship from those of group +A, having systematically larger 11-$\umu$m excess for a given excess at +3$\,\umu$m (Lloyd Evans 1985). For a general sample of RV Tauri stars, +the distinction between the oxygen-rich and carbon-rich objects is not +that apparent in the {\it JHKL\/} bands. In Fig.~3 we have plotted the +near-IR magnitudes of the objects given in Table~1 (except V Vul which +has no available measurements) in the {\it J--K, K--L\/} plane. The +colours, taken from Lloyd Evans (1985) and Goldsmith et al.\ +(1987), are averaged if more than one observation exists, because the +internal agreements are found to be often of the order of observational +uncertainties, in accordance with the earlier finding by Gehrz (1972) +that variability has relatively little effect on colours. Barring RU +Cen and AC Her, it is evident that stars belonging to group B show +systematically larger excesses at {\it L\/} band for a given excess at +{\it K}. The low excesses at near-IR wavelengths for AC Her and RU Cen +are consistent with the very low dust temperatures indicated by the +far-infrared colours. +% +\begin{figure*} +\vbox to 220mm{\vfil +Landscape figure to go here. This figure was not part of the original +paper and is inserted here for illustrative purposes.\\ See the author +guide for details on how to handle landscape figures or tables, and +\verb|mnland.tex|. +\caption{} +\vfil} +\label{landfig} +\end{figure*} + +It is already well established that from {\it UBV\/} photometry one can +distinguish between groups A and B, members of group A being +significantly redder than those of group B (Preston et al.\ 1963). +Similarly, Dawson (1979) has found that the two spectroscopic groups +are well separated in the DDO colour--colour diagrams when mean colours +are used for the individual objects. + +The clear separation of the spectroscopic subgroups A and B in the IR +two-colour diagram suggests that the natures of dust grains in the +envelopes in the two cases are not identical. This is to be expected +because of the differences in the physical properties of the stars +themselves. The average colours of group B stars are bluer than group +A, but the envelope dust temperatures of B are cooler than those of A. +The near-IR spectra of AC Her and RU Cen are extremely similar (Gehrz +\& Ney 1972). The striking similarities in the optical spectra of AC +Her and RU Cen have been pointed out by Bidelman (O'Connell 1961). We +feel that the physical properties, including the chemical composition, +of the grains formed in the circumstellar envelope strongly depend on +those of the embedded star. This, probably, explains the diversity of +the energy distributions of RV Tauri stars in the near-infrared found +by Gehrz \& Ney (1972). On the basis of the observed differences in +chemical abundances and space distribution of RV Tauri stars, Lloyd +Evans (1985) has already pointed out that there is no direct +evolutionary connection between group A and group B objects, thus +ruling out the possibility that group B objects are the evolutionary +successors of group A, in which grain formation has stopped and the +cooler temperatures for the former are caused by an envelope expansion. + +Kukarkin et al.\ (1969) have subdivided RV Tauri stars +into two classes, RVa and RVb, on the basis of their light curves; the +former shows a constant mean brightness, whereas the latter shows a +cyclically varying mean brightness. Extensive observations in the +near-infrared show that, on average, RVb stars are redder than RVa +stars, and Lloyd Evans (1985) has suggested that in RVb stars dust +shells are denser in the inner regions and hence radiate strongly in +the 1--3$\,\umu$m region. Fig.~3 confirms this; RVb objects show +systematically larger ({\it J--K\/}) and ({\it K--L\/}) colours than RVa +objects. Apparently, there is no distinction between objects of the two +light-curve types at far-infrared wavelengths (Fig.~1). + +\section{Conclusions} + +In the [12]--[25], [25]--[60] colour diagram, RV Tauri stars populate +cooler temperature regions $(T<600 \,\rmn{K})$, distinctly different from +those occupied by the oxygen and carbon Miras. Using a simple model +in which +\begin{enumerate} + \item the envelope is spherically symmetric, + \item the IR-emitting grains are predominantly of the same kind, and + \item in the infrared the absorption efficiency $Q_{\rmn{abs}} + (\nu)\propto\nu$, +\end{enumerate} +we find that the {\it IRAS\/} fluxes are +consistent with the density in the envelope $\rho(r)\propto r^{-2}$, +where {\it r\/} is the radial distance. Such a dependence for the dust +density implies that the mass-loss rates in RV Tauri stars have not +reduced considerably during the recent past, contrary to the suggestion +by Jura (1986). In the two-colour diagram, the blackbody line and the +line corresponding to $\rho(r)\propto r^{-2.2}$ nearly overlap and the +present data are insufficient to resolve between the two cases. The +latter case is more physically reasonable, however. + +The spectroscopic subgroups A and B are well separated in the {\it +IRAS\/} two-colour diagram, with group B objects having systematically +cooler dust envelopes. If we consider only the objects detected by {\it +IRAS}, we find that stars belonging to group B show systematically +larger excess at {\it L\/} band for a given excess at {\it K}. +Apparently, there is no correlation between the light-curve types (RVa +and RVb) and the far-infrared behaviour of these objects. It is fairly +certain that the physical properties, including the chemical +composition, of the embedded stars are directly reflected by those of +the dust grains. Most probably, the grain formation process in RV Tauri +stars is continuous and not sporadic as suggested by Goldsmith et +al.\ (1987). + +\section*{Acknowledgments} + +I thank Professor N. Kameswara Rao for some helpful suggestions, +Dr H. C. Bhatt for a critical reading of the original version of the +paper and an anonymous referee for very useful comments that improved +the presentation of the paper. + + +\begin{thebibliography}{99} +\bibitem{b1} Baird S.R., 1981, ApJ, 245, 208 +\bibitem{b2} Beichman C.A., Neugebauer G., Habing H.J., Clegg P.E., + Chester T.J., 1985a, {\it IRAS\/} Point Source Catalog. Jet + Propulsion Laboratory, Pasadena +\bibitem{b3} Beichman C.A., Neugebauer G., Habing H.J., Clegg P.E., + Chester T.J., 1985b, {\it IRAS\/} Explanatory Supplement. Jet + Propulsion Laboratory, Pasadena +\bibitem{b4} Dawson D.W., 1979, ApJS, 41, 97 +\bibitem{b5} Gerhz R.D., 1972, ApJ, 178, 715 +\bibitem{b6} Gerhz R.D., Ney E.P., 1972, PASP, 84, 768 +\bibitem{b7} Gerhz R.D., Woolf N.J., 1970, ApJ, 161, L213 +\bibitem{b8} Gilman R.C., 1972, ApJ, 178, 423 +\bibitem{b9} Goldsmith M.J., Evans A., Albinson J.S., Bode M.F., 1987, MNRAS, + 227, 143 +\bibitem{b10} Hacking P. et al., 1985, PASP, 97, 616 +\bibitem{b11} Harvey P.M., Thronson H.A., Gatley I., 1979, ApJ, 231, 115 +\bibitem{b12} Jura M., 1986, ApJ, 309, 732 +\bibitem{b13} Kukarkin B.V. et al., 1969, General Catalogue of Variable Stars. + Moscow +\bibitem{b14} Lloyd Evans T., 1974, MNRAS, 167, 17{\sc p} +\bibitem{b15} Lloyd Evans T., 1985, MNRAS, 217, 493 +\bibitem{b16} Low F.J. et al., 1984, ApJ, 278, L19 +\bibitem{b17} McLaughlin D.B., 1932, Publ. Univ. Obs. Mich., 4, 135 +\bibitem{b18} O'Connell J.K., 1961, Specola Vaticana Ric. Astron., 6, 341 +\bibitem{b19} Olnon F.M., Raimond E., 1986, A\&AS, 65, 607 +\bibitem{b20} Preston G.W., Krzeminski W., Smak J., Williams J.A., + 1963, ApJ, 137, 401 +\bibitem{b21} Rowan-Robinson M., Harris S., 1983a, MNRAS, 202, 767 +\bibitem{b22} Rowan-Robinson M., Harris S., 1983b, MNRAS, 202, 797 +\bibitem{b23} van der Veen W.E.C.J., Habing H.J., 1988, A\&A, 194, 125 +\bibitem{b24} Willems F.J., de Jong T., 1988, A\&A, 196, 173 +\bibitem{b25} Zuckerman B., Dyck H.M., 1986, ApJ, 311, 345 +\end{thebibliography} + +\appendix + +\section[]{Large gaps in L\lowercase{y}${\balpha}$ forests\\* due to fluctuations in line distribution} + +(This appendix was not part of the original paper by A.V.~Raveendran +and is included here just for illustrative purposes.) + +Spectroscopic observations of bright quasars show that the mean number +density of Ly$\alpha$ forest lines, which satisfy certain criteria, +evolves like $\rmn{d}N/\rmn{d}z=A(1+z)^\gamma$, where $A$ and~$\gamma$ are two +constants. Given the above intrinsic line distribution we examine the +probability of finding large gaps in the Ly$\alpha$ forests. We +concentrate here only on the statistics and neglect all observational +complications such as the line blending effect (see Ostriker, Bajtlik +\&~Duncan 1988). + +Suppose we have observed a Ly$\alpha$ forest between redshifts $z_1$ +and~$z_2$ and found $N-1$ lines. For high-redshift quasars $z_2$~is +usually the emission redshift $z_{\rmn{em}}$ and $z_1$ is set to +$(\lambda_{\rmn{Ly}\beta}/\lambda_{\rmn{Ly}\alpha})(1+z_{\rmn{em}})=0.844 +(1+z_{\rmn{em}})$ to avoid contamination by Ly$\beta$ lines. We +want to know whether the largest gaps observed in the forest are +significantly inconsistent with the above line distribution. To do +this we introduce a new variable~$x$: +% +\begin{equation} +x={(1+z)^{\gamma+1}-(1+z_1)^{\gamma+1} \over + (1+z_2)^{\gamma+1}-(1+z_1)^{\gamma+1}}. +\end{equation} +% +$x$ varies from 0 to 1. We then have $\rmn{d}N/\rmn{d}x=\lambda$, where $\lambda$ +is the mean number of lines between $z_1$ and $z_2$ and is given by +% +\begin{equation} +\lambda\equiv{A[(1+z_2)^{\gamma+1}-(1+z_1)^{\gamma+1}]\over\gamma+1}. +\end{equation} +% +This means that the Ly$\alpha$ forest lines are uniformly +distributed in~$x$. The probability of finding $N-1$ lines between $z_1$ +and~$z_2$, $P_{N-1}$, is assumed to be the Poisson distribution. +% +\newpage +% +\begin{figure} +\vspace{11pc} +\caption{$P(>x_{\rmn{gap}})$ as a function of $x_{\rmn{gap}}$ for, + from left to right, $N=160$, 150, 140, 110, 100, 90, 50, 45 and~40.} +\label{appenfig} +\end{figure} + +\subsection{Subsection title} + +We plot in Fig.~\ref{appenfig} $P(>x_{\rmn{gap}})$ for several $N$ values. +We see that, for $N=100$ and $x_{\rmn{gap}}=0.06$, $P(>0.06)\approx20$ +per cent. This means that the probability of finding a gap with a size +larger than six times the mean separation is not significantly small. +When the mean number of lines is large, $\lambda\sim N>>1$, our +$P(>x_{\rmn{gap}})$ approaches the result obtained by Ostriker et al.\ +(1988) for small (but still very large if measured in units of the mean +separation) $x_{\rmn{gap}}$, i.e., $P(>x_{\rmn{gap}})\sim N(1- +x_{\rmn{gap}})^{N-1}\sim N {\rmn{exp}}(-\lambda x_{\rmn{gap}})$. + +\bsp + +\label{lastpage} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/multido/md-doc.dvi b/obsolete/macros/latex209/contrib/multido/md-doc.dvi new file mode 100644 index 0000000000..74803b62d7 Binary files /dev/null and b/obsolete/macros/latex209/contrib/multido/md-doc.dvi differ diff --git a/obsolete/macros/latex209/contrib/multido/md-doc.tex b/obsolete/macros/latex209/contrib/multido/md-doc.tex new file mode 100644 index 0000000000..ed44f56a26 --- /dev/null +++ b/obsolete/macros/latex209/contrib/multido/md-doc.tex @@ -0,0 +1,459 @@ +%%%%%%%%%%%%%%%%%%%%%%%% md-doc.tex Version 1.0, 92/09/28 %%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%% COPYING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% COPYRIGHT 1992, by Timothy Van Zandt, tvz@Princeton.EDU +%% +%% Copying of part or all of this file is allowed under the following +%% conditions only: +%% (1) You may freely distribute unchanged copies of the file. Please +%% include the documentation when you do so. +%% (2) You may modify a renamed copy of the file, but only for personal +%% use or use within an organization. +%% (3) You may copy fragments from the file, for personal use or for +%% distribution, as long as credit is given where credit is due. +%% +%% You are NOT ALLOWED to take money for the distribution or use of +%% this file or modified versions or fragments thereof, except for +%% a nominal charge for copying etc. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% multido.tex contains a loop macro, \multido, that supports floating +%% point addition and has a nice interface. Among other things, it +%% is useful for pictures and putting numbers on axes. multido.tex +%% is compatible with most TeX macro packages. Name a copy of the file +%% multido.sty if you want to use as a LaTeX style option. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GETTING MULTIDO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% The complete multido.tex distribution is available in .tar.Z form from +%% the /pub directory at Princeton.EDU. multido.tex is also available +%% at various TeX archives. However, all you really need is multido.tex +%% and md-doc.tex. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + %%%%%%%%%%%%%%%%%%%%%%%%%% PRINTING THE DOCUMENTATION +%%%%%%%%%%%%%%%%%%%%%%%% %% +%% multido.tex is also distributed with the documentation already +%% typeset. Check the /pub directory at Princeton.EDU if you can +%% handle .tar.Z files. +%% +%% This file contains the Usage Notes, Run with LaTeX with or without NFSS. +%% +%% If you include the doc style option, the documented code +%% in multido.doc is also printed at the end. For this, +%% you must have the files doc.sty and gind.ist from Frank +%% Mittelbach's doc package (try the /soft/tex/latex-supported/doc +%% directory at ftp.uni-stuttgart.de ). This documented was originally +%% prepared using v1.7k (92/08/24) of doc.sty. +%% +%% To make an index on UNIX using makeindex, resolve cross-references and +%% give the command: +%% makeindex -s gind.ist multido.idx +%% and run the file again. The index is only for the documented code. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%% BEGIN PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\documentstyle[12pt]{article} +\input multido.tex +\catcode`\@=11 +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%% DOC? STUFF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Check whether doc.sty has been input. If not, code won't be printed. +%% \CodeLineIndex can only be used in preamble. Other code-specific +%% preamble stuff has been left to the end of this file. +%% +\@ifundefined{StopEventually}% + {\def\StopEventually{\end{document}}}% + {\CodelineIndex} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%% PAGE PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\setlength{\parindent}{0pt} % paragraph indent +\setlength{\parskip}{4pt plus 1pt minus 1pt} +\setlength{\oddsidemargin}{4pc} +\setlength{\evensidemargin}{4pc} +\setlength{\topmargin}{-2.5pc} +\setlength{\headheight}{12pt} % height of running head +\setlength{\headsep}{20pt} % distance between header and text +\setlength{\textheight}{54pc} % height of text on page +\setlength{\textwidth}{35pc} % total width of a page +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%% VERBATIM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This is good for examples, using \verb or whatever explicitly. +\def\Ex{\quote\tt} +\def\endEx{\endquote} +%% +%% In the verbatim environment, \trivlist is changed to \list, so that +%% verbatim code is offset from the left margin. +%% +\def\@verbatim{% + \list{}{} \item[]% + \leftskip\@totalleftmargin\rightskip\z@ + \parindent\z@\parfillskip\@flushglue + \@@par\leavevmode\parskip=\z@ + \def\par{\leavevmode\null\@@par}% + \obeylines + \let\do\@makeother \dospecials\catcode`\>=14\tt} +\def\endverbatim{\endlist} +%% +\def\m#1{{\rm\it #1}} % For just putting things in italics (m=>meta>) +\def\M#1{{\tt\{}\m{#1}{\tt\}}} % Argument is in italic, enclosed in tt braces. +\def\N#1{{\tt\string#1}} % For in-line macro names +\catcode`\>=13\def>{} % Now we can write \LaTeX> without problem. +%% +%% This is adapted from Mittelbach's doc.sty: +\def\MyShortVerb#1{% + \expandafter + \xdef\csname cc\string#1\endcsname{\the\catcode`#1}% + \begingroup + \catcode`\~\active \lccode`\~`#1% + \lowercase{% + \global\expandafter\let + \csname ac\string#1\endcsname~% + \gdef~{\verb~}}% + \endgroup + \global\catcode`#1\active} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%%%%%%%%%%%%%%%%%%%%%%%%% SECTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Section headings use customizable fonts, leave less space above +%% and below, and may overhang on left. +%% +\def\section{\@startsection{section}{1}{\sechang}{-3ex plus -1ex + minus -.2ex}{1.5ex plus .2ex}{\secfont}} +\def\subsection{\@startsection{subsection}{2}{\subsechang}{-2.75ex plus -1ex + minus -.2ex}{1.25ex plus .2ex}{\subsecfont}} +\newdimen\sechang +\newdimen\subsechang +\sechang=-.6in +\subsechang=-.375in +\def\secfont{\Large\bf} % Section headings +\def\subsecfont{\tt\large} % Subsection heading +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%%%%%%%%%%%%%%%%%%%%% DATES, VERSIONS AND TITLES %%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\def\expanddate#1/#2/#3/{\number#3{} \month=#2 \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 + 19#1} +\def\thefiledate{\expandafter\expanddate\filedate/} +\date{Version \fileversion\\ \thefiledate} +\def\@maketitle{\newpage + \null + \begin{center} + {\Large\bf \@title \par} + \vskip 1.2em {\lineskip .5em + \begin{tabular}[t]{c}\@author\end{tabular}\par} + \vskip .8em {\@date}% + \end{center} + \par + \vskip .5em} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%% PAGE STYLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\pagestyle{myheadings} +\markright{Documentation for multido.tex \hfill + v.\fileversion\hskip 1em \thefiledate\hfill}% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%% END PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\MyShortVerb\" +\catcode`\@=12 +\begin{document} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\title{Documentation for multido.tex:\\[2pt] + A loop macro for Generic \protect\TeX} +\author{Timothy Van Zandt% + \thanks{Author's address: Department of Economics, Princeton University, + Princeton, NJ 08544-1021, USA. Internet: {\tt tvz@Princeton.EDU}}} +\maketitle + + +\section{Usage notes} + + "multido.tex"/"multido.sty" contains the \N\multido> macro, which is a loop +facility for Generic TeX. This macro happens to be useful for drawing +pictures, and was originally developed for the PSTricks +package,\footnote{PSTricks is an extensive collection of PostScript-based +macros for Generic TeX. It is available from the /pub directory at +Princeton.EDU, and \TeX> archives.} but you can use it for other purposes as +well. + + A special feature is support of fixed-point addition. For example, PSTricks +uses the \N\multido> to put numbers on axes, much like in the following +\LaTeX> example: + PSTricks uses "\multdo" internally to put numbers on axes, much like in this +\LaTeX> example: +\begin{verbatim}> +\setlength{\unitlength}{1cm} +\small +\begin{picture}(8,1)(0,-.5) +\put(0,0){\vector(1,0){8}} +\multido{\i=0+1,\n=0+0.25}{8}{% + \put(\i,-.1){\line(0,1){.2}} + \put(\i,-.2){\makebox[t](0,0){\n}}} +\end{picture} +\end{verbatim} +\begin{center}\leavevmode +\setlength{\unitlength}{1cm} +\small +\begin{picture}(8,1)(0,-.5) +\put(0,0){\vector(1,0){8}} +\multido{\i=0+1,\n=0+0.25}{8}{% + \put(\i,-.1){\line(0,1){.2}} + \put(\i,-.2){\makebox(0,0)[t]{\n}}} +\end{picture} +\end{center} + +The general syntax for \N\multido> is: +\begin{Ex} +"\multido"\M{variables}\M{repetitions}\M{stuff} +\end{Ex} + \m{stuff} is whatever you want repeated; it can be any balanced \TeX{} input. +\m{repetitions} is the number times \m{stuff} is repeated. + + The first argument is the interesting one. \m{variables} is a comma-separated +list of variable declarations.\footnote{Don't use commas to mark the decimal +point within the \protect\m{variables} argument, as they will be confused for +delimiters.} Each variable declaration is of the form: +\begin{center}\em + variable "=" initial value "+" increment +\end{center} + \m{variable} is a command sequence that can be used in \m{stuff}. It is +initially set to {\em initial value}, and is then incremented by {\em +increment} with each repetition. + + The first letter of the variable name determines the variable type. There are +four variable types: +\begin{description} + \item[Dimension (d or D)] The initial value and the increment should be +dimensions (lengths, in \LaTeX> parlance). The substitution text is a +dimension, with "sp" units. E.g., "\dx=4cm+5pt". + + \item[Number (n or N)] The initial value and increment should be integers or +numbers with the same number of digits to the right of the decimal. The one +exception is that it is always OK for the initial value to be an integer. +There can be at most 8 digits on each side of the decimal. The substitution +text is a number, with fixed-point addition. E.g., "\n=3+7.05", +"\Nx=5.30+-1.25". + + \item[Integer (i or I)] The initial value and increment should be integers. +This gives the same result as using a number variable, but it is faster. E.g., +"\I=2+-1". + + \item[Real (r or R)] The initial value and increment should be integers or +numbers with at most 4 digits on each side of the decimal. The substitution +text is a number, but with floating point addition and occasional small +errors. This gives a less satisfactory result than using a number variable, +but it is faster. E.g., "\ry=4.2+1.05". +\end{description} + + Here are some examples that illustrate how the substitution text is +determined: +\begin{quote} +"\multido{}{10}{\TeX\ }"\\[3pt] +\hbox to 2em{}\multido{}{10}{\TeX\ }{}\\[8pt] +"\multido{\d=2pt+3pt}{5}{\d, }"\\[3pt] +\hbox to 2em{}\multido{\d=2pt+3pt}{5}{\d, }{}\\[8pt] +"\multido{\n=2+3}{10}{\n, }"\\[3pt] +\hbox to 2em{}\multido{\n=2+3}{10}{\n, }{}\\[8pt] +"\multido{\i=2+3}{10}{\i, }"\\[3pt] +\hbox to 2em{}\multido{\i=2+-3}{10}{\i, }{}\\[8pt] +"\multido{\r=2+3.05}{6}{\r, }"\\[3pt] +\hbox to 2em{}\multido{\r=2+3.05}{6}{\r, }{}\\[8pt] +"\multido{\n=2.00+3.05}{8}{\n, }"\\[3pt] +\hbox to 2em{}\multido{\n=2.00+-3.05}{8}{\n, }{} +\end{quote} + +Here are some details about the choice of names: +\begin{itemize} + \item Your computer won't explode if you use names that conflict with \TeX> +internal commands, but you might want to check name conflicts if you get +inexplicable errors. The command "\MultidoCheckNames" can be useful in this +case. It causes \N\multido> to report an error whenever you use a variable +name that is already defined. But see the next item. + \item The whole \N\multido> loop is grouped. This means, e.g., that although +"\i" is a Plain \TeX{} command sequence (giving a dotless ``\i''), you can use +the variable "\i" if you do not use any dotless i's in \m{stuff} (and if you +do not use "\MultidoCheckNames"). +\end{itemize} + +Here are a few more details: +\begin{itemize} +\item \N\Multido> commands can be nested. + \item Spaces after a \N\multido> command are ignored. This makes \N\multido> +more hospitable for pictures. + \item Spaces between the various parts of the \m{variables} argument are +ignored. +\end{itemize} + + And finally here a few special features, some of which are of interest mainly +macro writers and other \TeX nicians: +\begin{itemize} + \item The material that is repeated is not grouped, so that you can insert +your own recursive routines. + \item There is a variant, "\mmultido", which works just like "\multido" +except that the variables are all incremented once before starting. + \item There are variants, "\Multido" and "\MMultido" of "\multido" and +"\mmultido", resp., that do not group the whole loop. This can be useful, +e.g., for making entries in an alignment environment. However, these cannot be +nested within any "\multido" macro. + \item If the number of repetitions is a negative number, the variables are +incremented backwards. + \item The count register "\multidocount" keeps track of the number of the +iterations. + \item The command "\multidostop" causes the "\multido" loop to quit at the +end of the current iteration. +\item Fixed point addition is performed by \N\FPadd> and \N\FPsub: +\begin{Ex} +"\FPadd"\M{num1}\M{num2}\M{cs}\\ +"\FPsub"\M{num1}\M{num2}\M{cs} +\end{Ex} + \m{num2}\/ is added to or subtracted from \m{num1}, and the answers is stored +in the command sequence given as the third argument. The rules about decimals +and so on that apply to number variables apply here as well. E.g., after +\begin{Ex} + "\FPsub{1.75}{-0.15}{\answer}" +\end{Ex} +the definition of "\answer" is 1.90. +\end{itemize} + +\clearpage + +%%%%%%%%%%%%%%%%%% STOP HERE IF DOC.STY NOT INPUT%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\StopEventually{} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%% BEGIN CODE-SPECIFIC PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\catcode`\@=11 +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%% CHANGE TO MACRO ENVIRONMENTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% A change to the doc.sty's macro environment. +%% Prints macro names like subsections, instead of as marginal notes. +%% Argument is comma separated list of macro names. +%% No nested macro environments. +%% +%% WHY: Don't need as many \begin{macro} ... \end{macro}. +%% Works even there isn't anything between \begin{macro} and +%% \begin{macrocode}. +%% +\newif\iffirst@macroname +\newif\ifnestedmacro +\def\macro{% + \ifnum\macro@level=\z@ + \def\next{\MakePrivateLetters \m@cro@}% + \else + \def\next{\@latexerr{Nested \string\begin{macro}}\@eha + \endgroup\end{macro}\macro@level=\z@\begin{macro}} + \fi + \next} +\def\m@cro@#1{% + \first@macronametrue + \m@@cro@@#1,\@nil,} +\def\m@@cro@@#1,{% + \def\@tempa{#1}\def\@tempb{\@nil}% + \ifx\@tempa\@tempb + \let\next\finishm@@cro@@ + \else + {\advance\c@CodelineNo\@ne\SpecialMainIndex{#1}\nobreak}% + \DoNotIndex{#1}% + \iffirst@macroname + \edef\saved@macronames{\string#1}% + \first@macronamefalse + \else + \def\comma{\noexpand\comma}% + \edef\saved@macronames{\saved@macronames\comma\string#1}% + \fi + \let\next\m@@cro@@ + \fi + \next} +\def\finishm@@cro@@{% + \advance\macro@level\@ne + \def\comma{{\rm, }}% + \subsection*{\tt\saved@macronames}} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%% DO NOT INDEX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\DoNotIndex{\ ,\!,\[,\\,\],\^,\`,\{,\},\~} +\DoNotIndex{\@ifundefined,\@namedef,\@spaces,\@tempa,\@tempb} +\DoNotIndex{\@warning,\active} +\DoNotIndex{\begingroup,\catcode,\char,\csname,\def,\do} +\DoNotIndex{\docdate,\dospecials,\edef,\else,\endcsname,\endgroup} +\DoNotIndex{\expandafter,\fi,\filedate,\fileversion} +\DoNotIndex{\gdef,\if,\ifcat} +\DoNotIndex{\ifx,\immediate,\lccode,\let} +\DoNotIndex{\lowercase,\next,\noexpand} +\DoNotIndex{\relax,\space,\the} +\DoNotIndex{\toks@,\count@,\dimen@,\dimen@ii} +\DoNotIndex{\theatcode,\string,\t,\@empty,\@nil,\@nnil,\advance} +\DoNotIndex{\dimen@i,\@,\endinput,\errhelp,\errmessage,\global,ifnum} +\DoNotIndex{\p,\number,\newtoks,\ignorespaces,\message,\multido@temp} +\DoNotIndex{\newcount,\xdef,\z@,\@ne,\tw@,\number,\undefined,\ifnum} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%% OTHER DOC PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\setcounter{IndexColumns}{2} % two column index; + +%\DisableCrossrefs +\EnableCrossrefs + + \IndexPrologue{This index is only for the documented code. Underlined numbers +refer roughly to the line number of the entry's definition, and all others +indicate code lines where it is used.} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%% END CODE-SPECIFIC PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\catcode`\@=12 +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Documented code} + +\DocInput{multido.doc} + +\clearpage + +\PrintIndex + +\end{document} diff --git a/obsolete/macros/latex209/contrib/multido/md-make.tex b/obsolete/macros/latex209/contrib/multido/md-make.tex new file mode 100644 index 0000000000..5cdd5d72c7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/multido/md-make.tex @@ -0,0 +1,83 @@ +%% md-make.tex 1992 tvz@Princeton.EDU +%% +%% Run Plain TeX or LaTeX on this file to create a macro file multido.tex +%% from multido.doc, stripped of comments. +%% +%% This is basically a take-off from F. Mittelbach's docstrip.tex +%% +%% This macros can be used for stripping comments from any TeX file. +%% Just change these two lines: +\def\outfile{multido.tex} +\def\infile{multido.doc} + +\catcode`\@=11 +\expandafter\ifx\csname @latexerr\endcsname\relax\else\let\end\@@end\fi + +\newread\@infile +\newwrite\@outfile + +\def\typeout{\immediate\write16} +\typeout{} +\typeout{Preparing to make stripped macro file \outfile.} + +\immediate\openin1=\outfile\relax +\ifeof1\else + \typeout{% + File `\outfile' exists and will be overwritten if in current directory!!!} +\fi + +\def\check@@OK#1#2\@nil{\ifx#1y\else\expandafter\end\fi} + +\typeout{Make `\outfile'? (y=yes, n=no)} +\read16 to\OK +\expandafter\check@@OK\OK\@nil + +\newif\ifflag + +{\catcode`\%=12\gdef\%{%}} +\edef\@@percent{\%\%} + +\def\process@line{\expandafter\process@@line\inline\relax\relax\@nil} +\def\process@@line#1#2#3\@nil{% + \def\temp{#1}% + \ifx\temp\% + \def\temp{#1#2}% + \ifx\temp\@@percent\owrite\inline\fi + \else + \owrite\inline + \fi} + +\def\owrite#1{\immediate\write\@outfile{#1}} + +\def\mo#1{\catcode`#1=12\relax} +\def\sanitize{\mo\ \mo\\\mo\$\mo\&\mo\#\mo\^\mo\_\mo\%\mo\~\mo\}\mo\{} + +\def\stripfile{% + \begingroup + \sanitize + \endlinechar-1 + \flagtrue + \loop + \read\@infile to\inline + \ifeof\@infile\flagfalse\fi + \ifflag + \process@line + \repeat + \endgroup} + +\immediate\openout\@outfile\outfile\relax + +\owrite{\%\% This is file `\outfile' generated on + <\the\year/\the\month/\the\day>.} +\owrite{\%\% The original source file was `\infile'.} +\owrite{\%\%} + +\immediate\openin\@infile\infile\relax +\stripfile +\immediate\closein\@infile + +\owrite{\%\%}% +\owrite{\%\% End of file `\outfile'.}% +\immediate\closeout\@outfile + +\end diff --git a/obsolete/macros/latex209/contrib/multido/md-read.me b/obsolete/macros/latex209/contrib/multido/md-read.me new file mode 100644 index 0000000000..7045f62ac1 --- /dev/null +++ b/obsolete/macros/latex209/contrib/multido/md-read.me @@ -0,0 +1,60 @@ +*********************************************************************** +**** "readme" file for multido.tex, v1.0, 92/09/28 **** +*********************************************************************** + +COPYRIGHT 1992, by Timothy Van Zandt, tvz@Princeton.EDU + +COPYING: + + Copying of part or all of any file in the multido.tex distribution + is allowed under the following conditions only: + + (1) You may freely distribute unchanged copies of the files. Please + include the documentation when you do so. + (2) You may modify a renamed copy of any file, but only for personal + use or use within an organization. + (3) You may copy fragments from the files, for personal use or for use + in a macro package for distribution, as long as credit is given + where credit is due. + + You are NOT ALLOWED to take money for the distribution or use of + these files or modified versions or fragments thereof, except for + a nominal charge for copying etc. + +DESCRIPTION: + + multido.tex contains a loop macro, \multido, that supports floating + point addition and has a nice interface. Among other things, it + is useful for pictures and putting numbers on axes. multido.tex + is compatible with most TeX macro packages. + +GETTING MULTIDO + + The complete multido.tex distribution is available in .tar.Z form from + the /pub directory at Princeton.EDU. multido.tex is also available + at various TeX archives. However, all you really need is multido.tex + and md-doc.tex. + +FILES: + + multido.tex: The stripped input file. + multido.sty: Same as multido.tex, but with .sty extension. + multido.doc: Documented code, from which multido.tex was extracted. + md-doc.dvi: Documentation, already typeset. + md-doc.tex: The LaTeX file from which md-doc.dvi was generated. + md-make.tex: For getting multido.tex from multido.doc. + md-read.me: This file. + +PRINTING THE DOCUMENTATION: + + Pages 1-4 of md-doc.dvi are the User's Guide. Pages 5-12 are the + documentated code - probably not worth printing as there isn't much + documentation. + + If this prints out OK for you, then you don't need to typeset md-doc.tex. + +INSTALLATION: + + Put multido.tex and multido.sty where your TeX looks for inputs. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END md-read.me %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/obsolete/macros/latex209/contrib/multido/multido.doc b/obsolete/macros/latex209/contrib/multido/multido.doc new file mode 100644 index 0000000000..0ce7f128aa --- /dev/null +++ b/obsolete/macros/latex209/contrib/multido/multido.doc @@ -0,0 +1,907 @@ +%\iffalse%%%%%%%%%%%%% BEGIN multido.doc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\fileversion{1.2} +\def\filedate{92/10/12} +% +% DESCRIPTION: +% multido.tex/multido.sty contains a loop macro, \multido, that supports +% fixed point addition and has a nice interface. Among other things, it +% is useful for pictures and putting numbers on axes. multido.tex +% is compatible with most TeX macro packages, including Plain TeX, LaTeX, +% AmSTeX, and Ams-LaTeX. +% +% INSTALLATION: +% This file can be used as the input file. However, stripped input files +% will load faster. To extract these files and typeset the documentation, +% uncomment this line: +%{}\let\endinput\relax +% Plus one or more of the next three lines: +%{}\let\PrintUsage\relax % To typeset Usage Notes. +%{}\let\PrintCode\relax % To typeset Usage Notes and code. +%{}\let\ExtractFiles\relax % To extract stripped multido.tex/multido.sty. +% (Each line should still begin with {}) +% To print Usage Notes and/or Code, you must use LaTeX. +% To extract files only, you can use Plain TeX or LaTeX. +% To typeset code, you must have Frank Mittelbach's doc.sty, preferably +% v1.7k (or later?), and gind.ist to make an index with +% makeindex -s gind.ist multido.idx , if desired. +% +% CHANGES: +% +% V1.1: Fixed bug in FPadd that gave wrong answer for, e.g., 3.4 + -0.2. +% +% V1.2: Make unit optional for dimension variables when using PSTricks. +% +%--------------------------- BEGIN DOCUMENTED CODE ------------------------- +%% +%% File multido.tex, for use with Generic TeX. +%% +%% COPYRIGHT 1992, by Timothy Van Zandt, tvz@Princeton.EDU +%% +%% Copying of part or all of this file is allowed under the following +%% conditions only: +%% (1) You may freely distribute unchanged copies of the file. Please +%% include the documentation when you do so. +%% (2) You may modify a renamed copy of the file, but only for personal +%% use or use within an organization. +%% (3) You may copy fragments from the file, for personal use or for +%% distribution, as long as credit is given where credit is due. +%% +%% You are NOT ALLOWED to take money for the distribution or use of +%% this file or modified versions or fragments thereof, except for +%% a nominal charge for copying etc. +%% +% \fi +% \CheckSum{528} +% \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 \~} +% +% Yes, the documentation is pretty scimpy. +% +% These macros use \TeX{} primitives, plus the Plain \TeX{} commands: +% \begin{quote} +% "\dimen@", "\dimen@i", "\count@", "\newcount", "\newtoks", "\@ne", +% "\tw@", and "\@z@". +% \end{quote} +% +% Check whether file has been loaded already. +% \begin{macrocode} +\expandafter\ifx\csname multido@\endcsname\relax\else + \expandafter\endinput +\fi +% \end{macrocode} +% +% Identify the file on the terminal: +% \begin{macrocode} +\message{\space\space v\fileversion\space\space + \filedate\space\space } +% \end{macrocode} +% +% Take care of the catcode of "@": +% \begin{macrocode} +\edef\MultidoAtCode{\the\catcode`\@} +\catcode`\@=11 +% \end{macrocode} +% +% These are some hacks borrowed from PSTricks, which are loaded if PSTricks is +% not being used. "\@dimtonum" strips the value of "#1", a dimension register, +% of the "pt", and assigns the result to "#2", a command sequence. +% \begin{macrocode} +\expandafter\ifx\csname @pstrickserr\endcsname\relax + \def\@empty{} + \def\@nnil{\@nil} + \def\@dimtonum#1#2{\edef#2{\@@dimtonum#1}} + \def\@@dimtonum#1{\expandafter\@@@dimtonum\the#1} + {\let\@nnil\expandafter\catcode`\p=12\catcode`\t=12 + \global\@nnil\def\csname @@@dimtonum\endcsname#1pt{#1}} +\fi +% \end{macrocode} +% +% \begin{macro}{\multido@count,\multidocount} +% "\multido@count" stores the number of repetitions. "\multidocount" keeps +% track of the iteration. These are also used locally as scratch counters by +% "\FPadd@". +% \begin{macrocode} +\newcount\multido@count +\newcount\multidocount +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multido@stuff} +% "\multido@stuff" is used to store the \m{stuff} that is to be repeated. +% \begin{macrocode} +\newtoks\multido@stuff +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multido,\mmultido,\Multido,\MMultido} +% \begin{macrocode} +\def\multido{\multido@{}{\begingroup}{\endgroup}} +\def\mmultido{\multido@{\multido@stepvar}{\begingroup}{\endgroup}} +\def\Multido{\multido@{}{}{}} +\def\MMultido{\multido@{\multido@stepvar}{}{}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multido@} +% "\multido@initvar" processes the variable declarations, initializing the +% value of the variables and defining "\multido@stepvar" to increment the +% variables with each repetition. "\multido@count" is set to the number of +% repetitions. +% \begin{macrocode} +\def\multido@#1#2#3#4#5#6{%\ + #2% + \multido@count=#5\relax + \def\multido@stepvar{}% + \def\do{\noexpand\do\noexpand}% + \multido@initvar#4,\@nil,% + \let\do\noexpand + \edef\multido@stepvar{\multido@stepvar}% + \ifnum\multido@count<\z@\multido@count=-\multido@count\fi + \multidocount=1\relax + #1% + \multido@stuff{#6}% + \multido@loop + #3% + \ignorespaces} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multido@loop} +% "\multido@loop" does the repetition. +% \begin{macrocode} +\def\multido@loop{% + \the\multido@stuff + \ifnum\multidocount<\multido@count + \advance\multidocount\@ne + \multido@stepvar + \expandafter\multido@loop + \fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multidostop} +% \begin{macrocode} +\def\multidostop{\multidocount=\multido@count} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multido@initvar,\multido@@initvar,\multido@getvartype} +% "\multido@initvar" passes each variable declaration to "\multido@@initvar". +% \begin{macrocode} +\def\multido@badvar{% + \multido@count=0 + \errhelp{\multido command will be skipped.}% + \errmessage{Bad \string\multido\space variable declaration}} +\def\multido@initvar#1,{% + \def\multido@temp{#1}% + \ifx\multido@temp\@nnil\else + \ifx\multido@temp\@empty\else + \multido@@initvar#1\@nil=+\@nil\relax + \fi + \expandafter\multido@initvar + \fi} +\def\multido@@initvar#1=#2+#3\@nil#4\relax{% + \ifx\@empty#4\@empty + \multido@badvar + \else + \multido@vartype#1\@empty + \ifx\multido@temp\relax + \multido@badvar + \else + \multido@temp{#2}{#3}#1% + \fi + \fi} +\def\multido@vartype#1{% + \ifcat\noexpand\@nil\noexpand#1% + \expandafter\multido@@vartype\string#1\@nil + \else + \let\multido@temp\relax + \fi} +\def\multido@@vartype#1#2#3\@nil{% + \expandafter\let\expandafter\multido@temp + \csname multido@init@#2\endcsname} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\MultidoCheckNames} +% \begin{macrocode} +\def\MultidoCheckNames{% + \let\multido@@@vartype\multido@vartype + \def\multido@vartype##1{% + \ifx\undefined##1% + \multido@@@vartype{##1}% + \else + \errhelp{\multido command will be skipped.}% + \errmessage{Multido variable \string##1 already defined}% + \let\multido@temp\relax + \fi}} +% \end{macrocode} +% \end{macro} +% +% For each variable type, we must now define "\multido@init"\m{vartype}. The +% syntax of these macros is: +% \begin{quote}\tt +% "\multido@init@"\m{vartype}\M{initial value}\M{increment}\M{variable} +% \end{quote} +% and the outcome should be: +% \begin{enumerate} +% \item Set \m{variable} to the initial value. +% \item Invoke "\multido@addtostep"\M{step stuff}, where \m{step stuff} is +% whatever should be done to increment the variable. \M{step stuff} is +% expanded first, with expansion suppressed by "\do". +% \end{enumerate} +% +% \begin{macro}{\multido@addtostep} +% \begin{macrocode} +\def\multido@addtostep#1{\edef\multido@stepvar{\multido@stepvar#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multido@init@d,\multido@init@D,\multido@step@d} +% We start with the variable type for dimensions ("d", "D"). +% \begin{macrocode} +\def\multido@init@d#1#2#3{% + \expandafter\ifx\csname pssetlength\endcsname\relax + \dimen@=#1\relax\dimen@i=#2\relax + \else + \pssetlength\dimen@{#1}\pssetlength\dimen@i{#2}% + \fi + \edef#3{\number\dimen@ sp}% + \ifnum\multido@count<\z@\dimen@i=-\dimen@i\fi + \multido@addtostep{\do\multido@step@d{\do#3}{\number\dimen@i sp}}} +\def\multido@step@d#1#2{% + \dimen@=#1\advance\dimen@#2 + \edef#1{\number\dimen@ sp}}% +\def\multido@init@D{\multido@init@d} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multido@init@i,\multido@init@I,\multido@step@i} +% Now the variable type for integers ("i", "I"). +% \begin{macrocode} +\def\multido@init@i#1#2#3{% + \count@=#1\relax + \edef#3{\the\count@}% + \count@=#2\relax + \ifnum\multido@count<\z@\count@=-\count@\fi + \multido@addtostep{\do\multido@step@i{\do#3}{\the\count@}}} +\def\multido@step@i#1#2{% + \count@=#1\advance\count@ by #2 + \edef#1{\the\count@}} +\def\multido@init@I{\multido@init@i} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multido@init@r,\multido@init@R,\multido@step@r} +% Now the variable type for reals ("r", "R"). +% \begin{macrocode} +\def\multido@init@r#1#2#3{% + \dimen@=#1pt + \@dimtonum\dimen@#3% + \dimen@=#2pt + \ifnum\multido@count<\z@\dimen@=-\dimen@\fi + \multido@addtostep{\do\multido@step@r{\do#3}{\number\dimen@ sp}}} +\def\multido@step@r#1#2{% + \dimen@=#1pt\advance\dimen@#2 + \@dimtonum\dimen@#1} +\def\multido@init@R{\multido@init@r} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\multido@init@n,\multido@step@n} +% Now the variable type for numbers ("n", "N"). +% \begin{macrocode} +\def\multido@init@n#1#2#3{% + \edef#3{#1}% + \ifnum\multido@count<\z@\expandafter\FPsub\else\expandafter\FPadd\fi + {0}{#2}\multido@temp + \multido@addtostep{\do\FPadd{\do#3}{\multido@temp}{\do#3}}} +\def\multido@init@N{\multido@init@n} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\FPadd,\FPsub} +% Simple fixed-point addition couldn't be harder. "\dimen@" and "\dimen@i" are +% used as scratch {\em counters} (to avoid creating a new counter). "\count@", +% "\multido@count" and "\multidocount" are also used as scratch counters. % +% This is probably pretty optimal, given the requirements that leading and +% trailing spaces be OK in the arguments, and that there need not be any +% numbers to the left of the decimal. +% \begin{macrocode} +\def\FPadd#1#2#3{% + \edef\multido@temp{#1..\noexpand\@nil#2}% + \expandafter\FPadd@\multido@temp..\@nil + \let#3\multido@temp} +\def\FPsub#1#2{% + \edef\multido@temp{\noexpand\FPsub@#2\noexpand\@empty}% + \FPadd{#1}{\multido@temp}} +\def\FPsub@#1{\ifx-#1\else-#1\fi} +\def\FPadd@#1.#2.#3\@nil#4.#5.#6\@nil{% + \begingroup + \def\multido@temp{\let\next\relax}% + \let\next\z@ + \afterassignment\multido@temp\count@=#1\next + \dimen@i=0#2sp\relax + \let\next\z@ + \afterassignment\multido@temp\multido@count=#4\next + \multidocount=0#5\relax + \dimen@=\number\count@ sp + \count@=\@ne + \FPadd@@@#500000000\@nil + \ifnum#11<\z@ + \count@=-\tw@ + \dimen@=-\dimen@ + \fi + \ifnum#41<\z@ + \count@=-\count@ + \multido@count=-\multido@count + \fi + \ifnum\count@>\z@ + \advance\multido@count\dimen@ + \advance\multidocount\dimen@i + \ifnum\multidocount<\multido@temp\relax + \advance\multidocount\multido@temp\relax + \else + \advance\multido@count\@ne + \fi + \advance\count@-3 + \else + \advance\multido@count-\dimen@ + \advance\multidocount-\dimen@i + \ifnum\multido@count<\z@ + \multido@count=-\multido@count + \multidocount=-\multidocount + \advance\count@\@ne + \else + \ifnum\multido@count=\z@ + \ifnum\multidocount<\z@ + \multidocount=-\multidocount + \advance\count@\@ne + \fi + \fi + \fi + \ifnum\multidocount<\z@ + \advance\multidocount\multido@temp + \advance\multido@count-\@ne + \fi + \advance\multidocount\multido@temp\relax + \fi + \expandafter\FPadd@@\the\multidocount\@empty\@nil + \endgroup} +\def\FPadd@@#1#2#3\@nil{\xdef\multido@temp{% + \ifnum\count@=-1-\fi + \the\multido@count\ifx#2\@empty\else.#2#3\fi}} +\def\FPadd@@@#1#2#3#4#5#6#7#8#9\@nil{\def\multido@temp{1#9}} +% \end{macrocode} +% +% \end{macro} +% \begin{macrocode} +\catcode`\@=\MultidoAtCode\relax +% \end{macrocode} +% +% \Finale +% \Endinput +% +\endinput +% +%%%%%%%%%%%%%%%%%%%%%%%% END DOCUMENTED CODE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\catcode`\@=11 + +%%%%%%%%%%%%%%%%%%%%%%%% INPUT FILE EXTRACTION %%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifx\ExtractFiles\relax\else + \begingroup + \catcode`\*=0 *catcode`*\=12 + *long*def*next#1\relax\relax\relax{*endgroup} + *def*do#1{*catcode`#1=12}*dospecials*expandafter*next*fi +\fi + +\def\infile{multido.doc} +\def\outfile{multido.tex} +\def\styfile{multido.sty} + +\newread\Infile +\newwrite\Outfile + +\def\typeout{\immediate\write16} +\newif\ifflag +\def\CheckOK#1#2+{\ifx#1y\flagtrue\else\flagfalse\fi} + +\def\CheckFile#1{% + \typeout{} + \typeout{Preparing to make file `#1'.} + \immediate\openin1=#1\relax + \ifeof1\else + \typeout{% + File `#1' exists and will be overwritten if in current directory!!!} + \fi + \typeout{Make `#1'? (y=yes, n=no)} + \read16 to\OK + \expandafter\CheckOK\OK+} + +\begingroup + \catcode`\{=12 + \catcode`\}=12 + \catcode`\(=1 + \catcode`\)=2 + \catcode`\%=12 + \gdef\%(%) + \gdef\Percent(%%) + \gdef\Braces({}) +\endgroup + +\def\temp#1{} +\edef\Endinput{\expandafter\temp\string\\endinput} + +\def\ProcessLine{\expandafter\ProcessLINE\inline\relax\relax\nil} +\def\ProcessLINE#1#2#3\nil{% + \def\tempa{#1}% + \def\tempb{#1#2}% + \ifx\tempa\% + \ifx\tempb\Percent\owrite\inline\fi + \else + \ifx\tempb\Braces\else\owrite\inline\fi + \fi} + +\def\owrite#1{\immediate\write\Outfile{#1}} + +\def\stripfile{% + \begingroup + \def\do##1{\catcode`##1=12\relax} + \dospecials + \endlinechar-1 + \flagtrue + \loop + \read\Infile to\inline + \ifx\inline\Endinput\flagfalse\fi + \ifeof\Infile\flagfalse\fi + \ifflag + \ProcessLine + \repeat + \endgroup} + +\CheckFile{\outfile} + +\ifflag + \immediate\openout\Outfile\outfile\relax + + \owrite{\%\% This is file `\outfile' generated on + \the\year/\the\month/\the\day.} + \owrite{\%\% The original source file was `\infile'.} + \owrite{\%\%} + + \immediate\openin\Infile\infile\relax + \stripfile + \immediate\closein\Infile + + \owrite{\Endinput} + \owrite{\%\%} + \owrite{\%\% End of file `\outfile'.} + \immediate\closeout\Outfile +\fi + +\expandafter\ifx\csname styfile\endcsname\relax\flagfalse\else + \CheckFile{\styfile} +\fi + +\ifflag + \immediate\openout\Outfile\styfile\relax + \immediate\write\Outfile{\string\input\space \outfile} + \immediate\write\Outfile{\Endinput} + \immediate\closeout\Outfile +\fi +\relax\relax\relax +%%%%%%%%%%%%%%%%%%% END INPUT FILE EXTRACTION %%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifx\PrintUsage\relax + \let\next\relax +\else + \ifx\PrintCode\relax + \let\next\relax + \else + \expandafter\ifx\csname @latexerr\endcsname\relax + \let\next\end\else\let\next\@@end + \fi + \fi +\fi +\next + +%%%%%%%%%%%%%% BEGIN PREAMBLE FOR DOCUMENATION %%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% +\let\FileVersion\fileversion +\let\FileDate\filedate +%% +\documentstyle[12pt]{article} +\makeatletter +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%% DOC? STUFF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Check whether doc.sty has been input. If not, code won't be printed. +%% \CodeLineIndex can only be used in preamble. Other code-specific +%% preamble stuff has been left to the end of this file. +%% +\ifx\PrintCode\relax\@input{doc.sty}\CodelineIndex\else + \def\StopEventually{\end{document}} +\fi +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%% PAGE PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\setlength{\parindent}{0pt} % paragraph indent +\setlength{\parskip}{4pt plus 1pt minus 1pt} +\setlength{\oddsidemargin}{4pc} +\setlength{\evensidemargin}{4pc} +\setlength{\topmargin}{-2.5pc} +\setlength{\headheight}{12pt} % height of running head +\setlength{\headsep}{20pt} % distance between header and text +\setlength{\textheight}{54pc} % height of text on page +\setlength{\textwidth}{35pc} % total width of a page +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%% VERBATIM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This is good for examples, using \verb or whatever explicitly. +\def\Ex{\quote\tt} +\def\endEx{\endquote} +%% +%% In the verbatim environment, \trivlist is changed to \list, so that +%% verbatim code is offset from the left margin. +%% +\def\@verbatim{% + \list{}{} \item[]% + \leftskip\@totalleftmargin\rightskip\z@ + \parindent\z@\parfillskip\@flushglue + \@@par\leavevmode\parskip=\z@ + \def\par{\leavevmode\null\@@par}% + \obeylines + \let\do\@makeother \dospecials\catcode`\>=14\tt} +\def\endverbatim{\endlist} +%% +\def\m#1{{\rm\it #1}} % For just putting things in italics (m=>meta>) +\def\M#1{{\tt\{}\m{#1}{\tt\}}} % Argument is in italic, enclosed in tt braces. +\def\N#1{{\tt\string#1}} % For in-line macro names +\catcode`\>=13\def>{} % Now we can write \LaTeX> without problem. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%%%%%%%%%%%%%%%%%%%%%%%%% SECTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Section headings use customizable fonts, leave less space above +%% and below, and may overhang on left. +%% +\def\section{\@startsection{section}{1}{\sechang}{-3ex plus -1ex + minus -.2ex}{1.5ex plus .2ex}{\secfont}} +\def\subsection{\@startsection{subsection}{2}{\subsechang}{-2.75ex plus -1ex + minus -.2ex}{1.25ex plus .2ex}{\subsecfont}} +\newdimen\sechang +\newdimen\subsechang +\sechang=-.6in +\subsechang=-.375in +\def\secfont{\Large\bf} % Section headings +\def\subsecfont{\tt\large} % Subsection heading +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%%%%%%%%%%%%%%%%%%%%% DATES, VERSIONS AND TITLES %%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\def\expanddate#1/#2/#3/{\number#3{} \month=#2 \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 + 19#1} +\def\thefiledate{\expandafter\expanddate\FileDate/} +\date{Version \FileVersion\\ \thefiledate} +\def\@maketitle{\newpage + \null + \begin{center} + {\Large\bf \@title \par} + \vskip 1.2em {\lineskip .5em + \begin{tabular}[t]{c}\@author\end{tabular}\par} + \vskip .8em {\@date}% + \end{center} + \par + \vskip .5em} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%% PAGE STYLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\pagestyle{myheadings} +\markright{Documentation for multido.tex \hfill + v.\FileVersion\hskip 1em \thefiledate\hfill}% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%% END PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\catcode`\"=13 +\def"{\verb"} +\catcode`\@=12 +\begin{document} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\title{Documentation for multido.tex:\\[2pt] + A loop macro for Generic \protect\TeX} +\author{Timothy Van Zandt% + \thanks{Author's address: Department of Economics, Princeton University, + Princeton, NJ 08544-1021, USA. Internet: {\tt tvz@Princeton.EDU}}} +\maketitle + + +\section{Usage notes} + + "multido.tex"/"multido.sty" contains the \N\multido> macro, which is a loop +facility for Generic TeX. This macro happens to be useful for drawing +pictures, and was originally developed for the PSTricks +package,\footnote{PSTricks is an extensive collection of PostScript-based +macros for Generic TeX. It is available from the /pub directory at +Princeton.EDU, and \TeX> archives.} but you can use it for other purposes as +well. + + A special feature is support of fixed-point addition. For example, PSTricks +uses the \N\multido> to put numbers on axes, much like in the following +\LaTeX> example: +\begin{verbatim}> +\setlength{\unitlength}{1cm} +\small +\begin{picture}(8,1)(0,-.5) +\put(0,0){\vector(1,0){8}} +\multido{\i=0+1,\n=0+0.25}{8}{% + \put(\i,-.1){\line(0,1){.2}} + \put(\i,-.2){\makebox(0,0)[t]{\n}}} +\end{picture} +\end{verbatim} +\begin{center}\leavevmode +\setlength{\unitlength}{1cm} +\small +\begin{picture}(8,1)(0,-.5) +\put(0,0){\vector(1,0){8}} +\multido{\i=0+1,\n=0+0.25}{8}{% + \put(\i,-.1){\line(0,1){.2}} + \put(\i,-.2){\makebox(0,0)[t]{\n}}} +\end{picture} +\end{center} + +The general syntax for \N\multido> is: +\begin{Ex} +"\multido"\M{variables}\M{repetitions}\M{stuff} +\end{Ex} + \m{stuff} is whatever you want repeated; it can be any balanced \TeX{} input. +\m{repetitions} is the number times \m{stuff} is repeated. + + The first argument is the interesting one. \m{variables} is a comma-separated +list of variable declarations.\footnote{Don't use commas to mark the decimal +point within the \protect\m{variables} argument, as they will be confused for +delimiters.} Each variable declaration is of the form: +\begin{center}\em + variable "=" initial value "+" increment +\end{center} + \m{variable} is a command sequence that can be used in \m{stuff}. It is +initially set to {\em initial value}, and is then incremented by {\em +increment} with each repetition. + + The first letter of the variable name determines the variable type. There are +four variable types: +\begin{description} + \item[Dimension (d or D)] The initial value and the increment should be +dimensions (lengths, in \LaTeX> parlance). The substitution text is a +dimension, with "sp" units. E.g., "\dx=4cm+5pt".\footnote{For PSTricks users, +the unit is optional.} + + \item[Number (n or N)] The initial value and increment should be integers or +numbers with the same number of digits to the right of the decimal. The one +exception is that it is always OK for the initial value to be an integer. +There can be at most 8 digits on each side of the decimal. The substitution +text is a number, with fixed-point addition. E.g., "\n=3+7.05", +"\Nx=5.30+-1.25". + + \item[Integer (i or I)] The initial value and increment should be integers. +This gives the same result as using a number variable, but it is faster. E.g., +"\I=2+-1". + + \item[Real (r or R)] The initial value and increment should be integers or +numbers with at most 4 digits on each side of the decimal. The substitution +text is a number, but with floating point addition and occasional small +errors. This gives a less satisfactory result than using a number variable, +but it is faster. E.g., "\ry=4.2+1.05". +\end{description} + + Here are some examples that illustrate how the substitution text is +determined: +\begin{quote} +"\multido{}{10}{\TeX\ }"\\[3pt] +\hbox to 2em{}\multido{}{10}{\TeX\ }{}\\[8pt] +"\multido{\d=2pt+3pt}{5}{\d, }"\\[3pt] +\hbox to 2em{}\multido{\d=2pt+3pt}{5}{\d, }{}\\[8pt] +"\multido{\n=2+3}{10}{\n, }"\\[3pt] +\hbox to 2em{}\multido{\n=2+3}{10}{\n, }{}\\[8pt] +"\multido{\i=2+-3}{10}{\i, }"\\[3pt] +\hbox to 2em{}\multido{\i=2+-3}{10}{\i, }{}\\[8pt] +"\multido{\r=2+3.05}{6}{\r, }"\\[3pt] +\hbox to 2em{}\multido{\r=2+3.05}{6}{\r, }{}\\[8pt] +"\multido{\n=2.00+-3.05}{8}{\n, }"\\[3pt] +\hbox to 2em{}\multido{\n=2.00+-3.05}{8}{\n, }{} +\end{quote} + +Here are some details about the choice of names: +\begin{itemize} + \item Your computer won't explode if you use names that conflict with \TeX> +internal commands, but you might want to check name conflicts if you get +inexplicable errors. The command "\MultidoCheckNames" can be useful in this +case. It causes \N\multido> to report an error whenever you use a variable +name that is already defined. But see the next item. + \item The whole \N\multido> loop is grouped. This means, e.g., that although +"\i" is a Plain \TeX{} command sequence (giving a dotless ``\i''), you can use +the variable "\i" if you do not use any dotless i's in \m{stuff} (and if you +do not use "\MultidoCheckNames"). +\end{itemize} + +Here are a few more details: +\begin{itemize} +\item \N\Multido> commands can be nested. + \item Spaces after a \N\multido> command are ignored. This makes \N\multido> +more hospitable for pictures. + \item Spaces between the various parts of the \m{variables} argument are +ignored. +\end{itemize} + + And finally here a few special features, some of which are of interest mainly +macro writers and other \TeX nicians: +\begin{itemize} + \item The material that is repeated is not grouped, so that you can insert +your own recursive routines. + \item There is a variant, "\mmultido", which works just like "\multido" +except that the variables are all incremented once before starting. + \item There are variants, "\Multido" and "\MMultido" of "\multido" and +"\mmultido", resp., that do not group the whole loop. This can be useful, +e.g., for making entries in an alignment environment. However, these cannot be +nested within any "\multido" macro. + \item If the number of repetitions is a negative number, the variables are +incremented backwards. + \item The count register "\multidocount" keeps track of the number of current +iteration. + \item The command "\multidostop" causes the "\multido" loop to quit at the +end of the current iteration. +\item Fixed point addition is performed by \N\FPadd> and \N\FPsub: +\begin{Ex} +"\FPadd"\M{num1}\M{num2}\M{\string\cs}\\ +"\FPsub"\M{num1}\M{num2}\M{\string\cs} +\end{Ex} + \m{num2}\/ is added to or subtracted from \m{num1}, and the answers is stored +in the command sequence given as the third argument. The rules about decimals +and so on that apply to number variables apply here as well. E.g., after +\begin{Ex} + "\FPsub{1.75}{-0.15}{\answer}" +\end{Ex} +the definition of "\answer" is 1.90. +\end{itemize} + +\clearpage + +%%%%%%%%%%%%%%%%%% STOP HERE IF DOC.STY NOT INPUT%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\StopEventually{} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%% BEGIN CODE-SPECIFIC PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\catcode`\@=11 +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%% CHANGE TO MACRO ENVIRONMENTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% A change to the doc.sty's macro environment. +%% Prints macro names like subsections, instead of as marginal notes. +%% Argument is comma separated list of macro names. +%% No nested macro environments. +%% +%% WHY: Don't need as many \begin{macro} ... \end{macro}. +%% Works even there isn't anything between \begin{macro} and +%% \begin{macrocode}. +%% +\newif\iffirst@macroname +\newif\ifnestedmacro +\def\macro{% + \ifnum\macro@level=\z@ + \def\next{\MakePrivateLetters \m@cro@}% + \else + \def\next{\@latexerr{Nested \string\begin{macro}}\@eha + \endgroup\end{macro}\macro@level=\z@\begin{macro}} + \fi + \next} +\def\m@cro@#1{% + \first@macronametrue + \m@@cro@@#1,\@nil,} +\def\m@@cro@@#1,{% + \def\@tempa{#1}\def\@tempb{\@nil}% + \ifx\@tempa\@tempb + \let\next\finishm@@cro@@ + \else + {\advance\c@CodelineNo\@ne\SpecialMainIndex{#1}\nobreak}% + \DoNotIndex{#1}% + \iffirst@macroname + \edef\saved@macronames{\string#1}% + \first@macronamefalse + \else + \def\comma{\noexpand\comma}% + \edef\saved@macronames{\saved@macronames\comma\string#1}% + \fi + \let\next\m@@cro@@ + \fi + \next} +\def\finishm@@cro@@{% + \advance\macro@level\@ne + \def\comma{{\rm, }}% + \subsection*{\tt\saved@macronames}} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%% DO NOT INDEX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\DoNotIndex{\ ,\!,\[,\\,\],\^,\`,\{,\},\~} +\DoNotIndex{\@ifundefined,\@namedef,\@spaces,\@tempa,\@tempb} +\DoNotIndex{\@warning,\active} +\DoNotIndex{\begingroup,\catcode,\char,\csname,\def,\do} +\DoNotIndex{\docdate,\dospecials,\edef,\else,\endcsname,\endgroup} +\DoNotIndex{\expandafter,\fi,\filedate,\fileversion} +\DoNotIndex{\gdef,\if,\ifcat} +\DoNotIndex{\ifx,\immediate,\lccode,\let} +\DoNotIndex{\lowercase,\next,\noexpand} +\DoNotIndex{\relax,\space,\the} +\DoNotIndex{\toks@,\count@,\dimen@,\dimen@ii} +\DoNotIndex{\theatcode,\string,\t,\@empty,\@nil,\@nnil,\advance} +\DoNotIndex{\dimen@i,\@,\endinput,\errhelp,\errmessage,\global,ifnum} +\DoNotIndex{\p,\number,\newtoks,\ignorespaces,\message,\multido@temp} +\DoNotIndex{\newcount,\xdef,\z@,\@ne,\tw@,\number,\undefined,\ifnum} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%% OTHER DOC PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\setcounter{IndexColumns}{2} % two column index; + +%\DisableCrossrefs +\EnableCrossrefs + +\IndexPrologue{This index is only for the documented code. Underlined numbers refer roughly to the line number of the entry's definition, and all others indicate code lines where it is used.} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%% END CODE-SPECIFIC PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\catcode`\@=12 +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Documented code} + +\def\Endinput{\clearpage\PrintIndex\end{document}} + +\DocInput{multido.doc} +%%%%%%%%%%%%%%%%%%% END DOCUMENTATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%% END multido.doc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + diff --git a/obsolete/macros/latex209/contrib/multido/multido.readme b/obsolete/macros/latex209/contrib/multido/multido.readme new file mode 100644 index 0000000000..e99bf86a04 --- /dev/null +++ b/obsolete/macros/latex209/contrib/multido/multido.readme @@ -0,0 +1,24 @@ +From: tvz@zandtwerk.Princeton.EDU +Newsgroups: comp.text.tex +Date: 21 Oct 92 19:12:29 GMT +Organization: Princeton University +Nntp-Posting-Host: zandtwerk.princeton.edu + +(This is a repost. The previously posted file had lines exceeeding 78 +characters.) + +Appended is v1.2 of multido.tex/multido.sty. v1.1 fixed a bug in +fixed-point addition, and v1.2 made the unit optional for dimension +variables when used with PSTricks. The version distributed with v0.92 +of PSTricks is v1.1. + +The appended file is called multido.doc. It can be used as the input +file without modification, but it can also be used to extract stripped +input files and to print the documentation. + +Tim +--- +Timothy Van Zandt (609)258-4050 tvz@Princeton.EDU (NeXTMail) +Dept. of Economics, Princeton University, Princeton, NJ 08544 + + diff --git a/obsolete/macros/latex209/contrib/multido/multido.sty b/obsolete/macros/latex209/contrib/multido/multido.sty new file mode 100644 index 0000000000..da78169679 --- /dev/null +++ b/obsolete/macros/latex209/contrib/multido/multido.sty @@ -0,0 +1,2 @@ +\input multido.tex +\endinput diff --git a/obsolete/macros/latex209/contrib/multido/multido.tex b/obsolete/macros/latex209/contrib/multido/multido.tex new file mode 100644 index 0000000000..45c86505df --- /dev/null +++ b/obsolete/macros/latex209/contrib/multido/multido.tex @@ -0,0 +1,563 @@ +%%% Save file as: MULTIDO.TEX/MULTIDO.STY Source: FILESERV@SHSU.BITNET +%%% NOTE: The documentation for this TeX macro/LaTeX style option appears +%%% in multido.doc, a LaTeX file which follows \endinput +%%% The following checksum includes all SHSU-generated topmatter +%%% checksum = "61709 563 2028 19405" +%% BEGIN multido.tex/multido.sty +%% +\def\fileversion{1.3} +\def\filedate{92/11/06} +%% +%% COPYRIGHT 1992, by Timothy Van Zandt, tvz@Princeton.EDU +%% +%% DESCRIPTION: +%% multido.tex/multido.sty contains a loop macro, \multido, that supports +%% fixed-point addition and has a nice interface. Among other things, it +%% is useful for pictures and putting numbers on axes. multido.tex +%% is compatible with most TeX macro packages, including Plain TeX, LaTeX, +%% AmSTeX, and Ams-LaTeX. +%% +%% INSTALLATION: +%% Put this file where your TeX looks for inputs, under the name multido.tex. +%% Name a copy multido.sty to use as a LaTeX style option, or create a file +%% multido.sty with the lines: +%% \input multido.tex +%% \endinput +%% +%% DOCUMENTATION: +%% See multido.doc, which might be appended to this file. +%% +%% COPYING: +%% Copying of part or all of this file is allowed under the following +%% conditions only: +%% (1) You may freely distribute unchanged copies of the file. Please +%% include the documentation when you do so. +%% (2) You may modify a renamed copy of the file, but only for personal +%% use or use within an organization. +%% (3) You may copy fragments from the file, for personal use or for +%% distribution, as long as credit is given where credit is due. +%% +%% You are NOT ALLOWED to take money for the distribution or use of +%% this file or modified versions or fragments thereof, except for +%% a nominal charge for copying etc. +%% +%% CODE: +% These macros use TeX primitives, plus the Plain TeX commands: +% \dimen@, \dimen@i, \count@, \newcount, \newtoks, \@ne, \tw@, \@z@. +% +% Check if file is loaded, announce file on terminal, and take care of @: +% +\expandafter\ifx\csname multido@\endcsname\relax\else\expandafter\endinput\fi +\message{\space\space v\fileversion\space\space\filedate\space\space } +\edef\MultidoAtCode{\the\catcode`\@}\catcode`\@=11 +% +% These are some hacks borrowed from PSTricks, which are loaded if PSTricks is +% not being used. "\@dimtonum" strips the value of "#1", a dimension register, +% of the "pt", and assigns the result to "#2", a command sequence. +% +\expandafter\ifx\csname @pstrickserr\endcsname\relax + \def\@empty{} + \def\@nnil{\@nil} + \def\@dimtonum#1#2{\edef#2{\@@dimtonum#1}} + \def\@@dimtonum#1{\expandafter\@@@dimtonum\the#1} + {\let\@nnil\expandafter\catcode`\p=12\catcode`\t=12 + \global\@nnil\def\csname @@@dimtonum\endcsname#1pt{#1}} +\fi +% +% "\multido@count" stores the number of repetitions. "\multidocount" keeps +% track of the iteration. These are also used locally as scratch counters by +% "\FPadd@". "\multido@stuff" is used to store the that is to be +% repeated. +% +\newcount\multido@count +\newcount\multidocount +\newtoks\multido@stuff +% +\def\multido{\multido@{}{\begingroup}{\endgroup}} +\def\mmultido{\multido@{\multido@stepvar}{\begingroup}{\endgroup}} +\def\Multido{\multido@{}{}{}} +\def\MMultido{\multido@{\multido@stepvar}{}{}} +% +% "\multido@initvar" processes the variable declarations, initializing the +% value of the variables and defining "\multido@stepvar" to increment the +% variables with each repetition. "\multido@count" is set to the number of +% repetitions. +% +\long\def\multido@#1#2#3#4#5#6{% + #2% + \multido@count=#5\relax + \ifnum\multido@count=\z@\else\multido@@{#1}{#4}{#6}\fi + #3% + \ignorespaces} +\def\multido@@#1#2#3{% + \def\multido@stepvar{}% + \def\do{\noexpand\do\noexpand}% + \multido@initvar#2,\@nil,% + \let\do\noexpand + \edef\multido@stepvar{\multido@stepvar}% + \ifnum\multido@count<\z@\multido@count=-\multido@count\fi + \multidocount=1\relax + #1% + \multido@stuff{#3}% + \multido@loop} +\def\multido@loop{% + \the\multido@stuff + \ifnum\multidocount<\multido@count + \advance\multidocount\@ne + \multido@stepvar + \expandafter\multido@loop + \fi} +\def\multidostop{\multidocount=\multido@count} +\def\multido@badvar{% + \multido@count=0 + \errhelp{\multido command will be skipped.}% + \errmessage{Bad \string\multido\space variable declaration}} +\def\multido@initvar#1,{% + \def\multido@temp{#1}% + \ifx\multido@temp\@nnil\else + \ifx\multido@temp\@empty\else + \multido@@initvar#1\@nil=+\@nil\relax + \fi + \expandafter\multido@initvar + \fi} +\def\multido@@initvar#1=#2+#3\@nil#4\relax{% + \ifx\@empty#4\@empty + \multido@badvar + \else + \multido@vartype#1\@empty + \ifx\multido@temp\relax + \multido@badvar + \else + \multido@temp{#2}{#3}#1% + \fi + \fi} +\def\multido@vartype#1{% + \ifcat\noexpand\@nil\noexpand#1% + \expandafter\multido@@vartype\string#1\@nil + \else + \let\multido@temp\relax + \fi} +\def\multido@@vartype#1#2#3\@nil{% + \expandafter\let\expandafter\multido@temp + \csname multido@init@#2\endcsname} +\def\MultidoCheckNames{% + \let\multido@@@vartype\multido@vartype + \def\multido@vartype##1{% + \ifx\undefined##1% + \multido@@@vartype{##1}% + \else + \errhelp{\multido command will be skipped.}% + \errmessage{Multido variable \string##1 already defined}% + \let\multido@temp\relax + \fi}} +% +% For each variable type, we must now define \multido@init. The +% syntax of these macros is: +% +% \multido@init@{initial value}{increment}{variable} +% +% and the outcome should be: +% +% 1. Set to the initial value. +% 2. Invoke \multido@addtostep{step stuff}, where is whatever +% should be done to increment the variable. is expanded first, +% with expansion suppressed by "\do". +% +\def\multido@addtostep#1{\edef\multido@stepvar{\multido@stepvar#1}} +% +% Variable type for dimensions ("d", "D"): +% +\def\multido@init@d#1#2#3{% + \expandafter\ifx\csname pssetlength\endcsname\relax + \dimen@=#1\relax\dimen@i=#2\relax + \else + \pssetlength\dimen@{#1}\pssetlength\dimen@i{#2}% + \fi + \edef#3{\number\dimen@ sp}% + \ifnum\multido@count<\z@\dimen@i=-\dimen@i\fi + \multido@addtostep{\do\multido@step@d{\do#3}{\number\dimen@i sp}}} +\def\multido@step@d#1#2{% + \dimen@=#1\advance\dimen@#2 + \edef#1{\number\dimen@ sp}}% +\def\multido@init@D{\multido@init@d} +% +% Variable type for integers ("i", "I"): +% +\def\multido@init@i#1#2#3{% + \count@=#1\relax + \edef#3{\the\count@}% + \count@=#2\relax + \ifnum\multido@count<\z@\count@=-\count@\fi + \multido@addtostep{\do\multido@step@i{\do#3}{\the\count@}}} +\def\multido@step@i#1#2{% + \count@=#1\advance\count@ by #2 + \edef#1{\the\count@}} +\def\multido@init@I{\multido@init@i} +% +% Variable type for reals ("r", "R"). +% +\def\multido@init@r#1#2#3{% + \dimen@=#1pt + \@dimtonum\dimen@#3% + \dimen@=#2pt + \ifnum\multido@count<\z@\dimen@=-\dimen@\fi + \multido@addtostep{\do\multido@step@r{\do#3}{\number\dimen@ sp}}} +\def\multido@step@r#1#2{% + \dimen@=#1pt\advance\dimen@#2 + \@dimtonum\dimen@#1} +\def\multido@init@R{\multido@init@r} +% +% Variable type for numbers ("n", "N"). +% +\def\multido@init@n#1#2#3{% + \edef#3{#1}% + \ifnum\multido@count<\z@\expandafter\FPsub\else\expandafter\FPadd\fi + {0}{#2}\multido@temp + \multido@addtostep{\do\FPadd{\do#3}{\multido@temp}{\do#3}}} +\def\multido@init@N{\multido@init@n} +% +% Simple fixed-point addition couldn't be harder. "\dimen@" and "\dimen@i" are +% used as scratch {\em counters} (to avoid creating a new counter). "\count@", +% "\multido@count" and "\multidocount" are also used as scratch counters. +% +% This is probably pretty close to optimal, given the requirements that +% leading and trailing spaces be OK in the arguments, and that there need not +% be any numbers to the left of the decimal. +% +\def\FPadd#1#2#3{% + \edef\multido@temp{#1..\noexpand\@nil#2}% + \expandafter\FPadd@\multido@temp..\@nil + \let#3\multido@temp} +\def\FPsub#1#2{% + \edef\multido@temp{\noexpand\FPsub@#2\noexpand\@empty}% + \FPadd{#1}{\multido@temp}} +\def\FPsub@#1{\ifx-#1\else-#1\fi} +\def\FPadd@#1.#2.#3\@nil#4.#5.#6\@nil{% + \begingroup + \def\multido@temp{\let\next\relax}% + \let\next\z@ + \afterassignment\multido@temp\count@=#1\next + \dimen@i=0#2sp\relax + \let\next\z@ + \afterassignment\multido@temp\multido@count=#4\next + \multidocount=0#5\relax + \dimen@=\number\count@ sp + \count@=\@ne + \FPadd@@@#500000000\@nil + \ifnum#11<\z@ + \count@=-\tw@ + \dimen@=-\dimen@ + \fi + \ifnum#41<\z@ + \count@=-\count@ + \multido@count=-\multido@count + \fi + \ifnum\count@>\z@ + \advance\multido@count\dimen@ + \advance\multidocount\dimen@i + \ifnum\multidocount<\multido@temp\relax + \advance\multidocount\multido@temp\relax + \else + \advance\multido@count\@ne + \fi + \advance\count@-3 + \else + \advance\multido@count-\dimen@ + \advance\multidocount-\dimen@i + \ifnum\multido@count<\z@ + \multido@count=-\multido@count + \multidocount=-\multidocount + \advance\count@\@ne + \else + \ifnum\multido@count=\z@ + \ifnum\multidocount<\z@ + \multidocount=-\multidocount + \advance\count@\@ne + \fi + \fi + \fi + \ifnum\multidocount<\z@ + \advance\multidocount\multido@temp + \advance\multido@count-\@ne + \fi + \advance\multidocount\multido@temp\relax + \fi + \expandafter\FPadd@@\the\multidocount\@empty\@nil + \endgroup} +\def\FPadd@@#1#2#3\@nil{\xdef\multido@temp{% + \ifnum\count@=-1-\fi + \the\multido@count\ifx#2\@empty\else.#2#3\fi}} +\def\FPadd@@@#1#2#3#4#5#6#7#8#9\@nil{\def\multido@temp{1#9}} +% +\catcode`\@=\MultidoAtCode\relax +\endinput +%% END multido.tex/multido.sty + +%% BEGIN multido.doc +%% +%% Documentation for multido.tex/multido.sty. +%% Run through LaTeX, with or without the NFSS. +%% +%% If you find this file appended to multido.tex, copy it to a separate file +%% or simply add "\let\endinput\relax" to the beginning of multido.tex. +%% +\documentstyle[12pt]{article} +\input multido.tex + +\makeatletter + +%% PAGE PARAMETERS: +\setlength{\parindent}{0pt} % paragraph indent +\setlength{\parskip}{4pt plus 1pt minus 1pt} +\setlength{\topmargin}{-2.5pc} +\setlength{\headheight}{12pt} % height of running head +\setlength{\headsep}{30pt} % distance between header and text +\setlength{\textheight}{54pc} % height of text on page +%% +%% DATES, VERSIONS AND TITLES: +%% +\def\expanddate#1/#2/#3/{\year=19#1 \month=#2 \day=#3} +\begingroup + \expandafter\expanddate\filedate/ + \xdef\thefiledate{\today} +\endgroup +\date{Version \fileversion\\ \thefiledate} +\def\@maketitle{% + \begin{center} + {\Large\bf \@title \par} + \vskip 1.2em {\lineskip .5em + \begin{tabular}[t]{c}\@author\end{tabular}\par} + \vskip .8em {\@date}% + \end{center} + \par + \vskip .5em} +%% +%% PAGE STYLE: +%% +\pagestyle{myheadings} +\markright{Documentation for multido.tex \hfill + v.\fileversion\hskip 1em \thefiledate\hfill}% +%% +%% VERBATIM: +%% +\begingroup + \catcode`\{=12 \catcode`\}=12 + \catcode`\(=1 \catcode`\)=2 + \catcode`\+=0 \catcode`\\=12 + +gdef+|(\) % \| = character \ + +gdef+{({) % \{ = character { + +gdef+}(}) % \} = character } ++endgroup +\def\Backslash{\protect\|} +%% +%% Define some functional font commands: +%% +\def\MainFont{\tt} % For macro definitions. +\def\UsageFont{\tt} % For in-line macro names. +\def\InlineFont{\tt} % For other in-line snipets of code. +\def\MetaFont{\rm\it} % For meta arguments. +%% +%% Short-cuts for font commands: +%% +\def\s#1{\string#1} +\def\t#1{{\InlineFont\string#1}} % For other in-line code. +\def\m#1{{\MetaFont #1\/}} % For just putting things in italics +\def\M#1{{\InlineFont\{\m{#1}\}}} % Arg is in italic, enclosed in tt braces. +\let\N\t % For in-line macro names. +\catcode`\<=13 \def<#1>{\m{#1}} % +%% +%% This is for listing macro definitions in a quote-like environment. +%% +\begingroup + \catcode`\[=1 \catcode`\]=2 + \catcode`\{=13 \catcode`\}=12 + \gdef\@MD[% + \catcode`\{=13 \catcode`\}=12 + \def{##1}[\{[\MetaFont ##1]\}]] +\endgroup +\def\MD{% + \quote + \begingroup + \@MD + \def\end{\endgroup\end}% + \def\\{\@centercr\s}% + \MainFont + \s} +\def\endMD{\endquote} +%% +%% END PREAMBLE: +%% +\catcode`\"=13 +\def"{\verb"} +\catcode`\@=12 +\begin{document} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\title{Documentation for multido.tex:\\[2pt] + A loop macro for Generic \protect\TeX} +\author{Timothy Van Zandt% + \thanks{Author's address: Department of Economics, Princeton University, + Princeton, NJ 08544-1021, USA. Internet: {\tt tvz@Princeton.EDU}}} +\maketitle + + "multido.tex"/"multido.sty" contains the \N\multido\ macro, which is a loop +facility for Generic TeX. This macro happens to be useful for drawing +pictures, and was originally developed for the PSTricks +package,\footnote{PSTricks is an extensive collection of PostScript-based +macros for Generic TeX. It is available from the /pub directory at +Princeton.EDU, and \TeX\ archives.} but you can use it for other purposes as +well. + + A special feature is support of fixed-point addition. For example, PSTricks +uses the \N\multido\ to put numbers on axes, much like in the following +\LaTeX\ example: +\begin{verbatim} + \setlength{\unitlength}{1cm} + \small + \begin{picture}(8,1)(0,-.5) + \put(0,0){\vector(1,0){8}} + \multido{\i=0+1,\n=0+0.25}{8}{% + \put(\i,-.1){\line(0,1){.2}} + \put(\i,-.2){\makebox(0,0)[t]{\n}}} + \end{picture} +\end{verbatim} +\begin{center} + \setlength{\unitlength}{1cm} + \small + \begin{picture}(8,1)(0,-.5) + \put(0,0){\vector(1,0){8}} + \multido{\i=0+1,\n=0+0.25}{8}{% + \put(\i,-.1){\line(0,1){.2}} + \put(\i,-.2){\makebox(0,0)[t]{\n}}} + \end{picture} +\end{center} + +The general syntax for \N\multido\ is: +\begin{MD} + \multido{variables}{repetitions}{stuff} +\end{MD} + is whatever you want repeated; it can be any balanced \TeX\ input. + is the number times is repeated. + + The first argument is the interesting one. is a comma-separated +list of variable declarations.\footnote{Don't use commas to mark the decimal +point within the \protect argument, as they will be confused for +delimiters.} Each variable declaration is of the form: +\begin{center}\tt + = + +\end{center} + is a command sequence that can be used in . It is initially +set to , and is then incremented by with each +repetition. + + The first letter of the variable name determines the variable type. There are +four variable types: +\begin{description} + \item[Dimension (d or D)] The initial value and the increment should be +dimensions (lengths, in \LaTeX\ parlance). The substitution text is a +dimension, with "sp" units. E.g., "\dx=4cm+5pt".\footnote{For PSTricks users, +the unit is optional.} + + \item[Number (n or N)] The initial value and increment should be integers or +numbers with the same number of digits to the right of the decimal. The one +exception is that it is always OK for the initial value to be an integer. +There can be at most 8 digits on each side of the decimal. The substitution +text is a number, with fixed-point addition. E.g., "\n=3+7.05", +"\Nx=5.30+-1.25". + + \item[Integer (i or I)] The initial value and increment should be integers. +This gives the same result as using a number variable, but it is faster. E.g., +"\I=2+-1". + + \item[Real (r or R)] The initial value and increment should be integers or +numbers with at most 4 digits on each side of the decimal. The substitution +text is a number, but with floating point addition and occasional small +errors. This gives a less satisfactory result than using a number variable, +but it is faster. E.g., "\ry=4.2+1.05". +\end{description} + + Here are some examples that illustrate how the substitution text is +determined: +\begin{quote} + "\multido{}{10}{\TeX\ }"\\[3pt] + \hbox to 2em{}\multido{}{10}{\TeX\ }{}\\[8pt] + "\multido{\d=2pt+3pt}{5}{\d, }"\\[3pt] + \hbox to 2em{}\multido{\d=2pt+3pt}{5}{\d, }{}\\[8pt] + "\multido{\n=2+3}{10}{\n, }"\\[3pt] + \hbox to 2em{}\multido{\n=2+3}{10}{\n, }{}\\[8pt] + "\multido{\i=2+-3}{10}{\i, }"\\[3pt] + \hbox to 2em{}\multido{\i=2+-3}{10}{\i, }{}\\[8pt] + "\multido{\r=2+3.05}{6}{\r, }"\\[3pt] + \hbox to 2em{}\multido{\r=2+3.05}{6}{\r, }{}\\[8pt] + "\multido{\n=2.00+-3.05}{8}{\n, }"\\[3pt] + \hbox to 2em{}\multido{\n=2.00+-3.05}{8}{\n, }{} +\end{quote} + +Here are some details about the choice of names: +\begin{itemize} + \item Your computer won't explode if you use names that conflict with \TeX\ +internal commands, but you might want to check name conflicts if you get +inexplicable errors. The command \N\MultidoCheckNames\ can be useful in this +case. It causes \N\multido\ to report an error whenever you use a variable +name that is already defined. But see the next item. + \item The whole \N\multido\ loop is grouped. This means, e.g., that although +"\i" is a Plain \TeX\ command sequence (giving a dotless ``\i''), you can use +the variable "\i" if you do not use any dotless i's in (and if you do +not use \N\MultidoCheckNames). +\end{itemize} + +Here are a few more details: +\begin{itemize} +\item \N\Multido\ commands can be nested. + \item Spaces after a \N\multido\ command are ignored. This makes \N\multido\ +more hospitable for pictures. + \item Spaces between the various parts of the argument are +ignored. +\end{itemize} + + And finally here a few special features, some of which are of interest mainly +macro writers and other \TeX nicians: +\begin{itemize} + \item The material that is repeated is not grouped, so that you can insert +your own recursive routines. + \item There is a variant, "\mmultido", which works just like "\multido" +except that the variables are all incremented once before starting. + \item If you use "\Multido" or "\MMultido" instead of "\multido" or +"\mmultido", resp., then the whole loop is not grouped. This can be useful, +e.g., for making entries in an alignment environment. However, these cannot be +nested within any "\multido" macro. + \item If the number of repetitions is a negative number, the variables are +incremented backwards. + \item The count register "\multidocount" keeps track of the number of current +iteration. + \item The command "\multidostop" causes the "\multido" loop to quit at the +end of the current iteration. +\item Fixed point addition is performed by \N\FPadd\ and \N\FPsub: +\begin{MD} + \FPadd{num1}{num2}{command}\\ + \FPsub{num1}{num2}{command} +\end{MD} + is added to or subtracted from , and the answers is stored in +the command sequence given as the third argument. The rules about decimals and +so on that apply to number variables apply here as well. E.g., after +\begin{verbatim} + \FPsub{1.75}{-0.15}{\answer} +\end{verbatim} +the definition of "\answer" is 1.90. +\end{itemize} + +\subsection*{Changes:} + +\begin{description} + \item[V1.1] Fixed bug in \N\FPadd\ that gave wrong answer for, e.g., $3.4 + +-0.2.$ + +\item[V1.2] Made unit optional for dimension variables when using PSTricks. + + \item[V1.3] Now 0 repetitions really gets 0 repetitions. "\def\multido@" +changed to "\long\def\multido@". +\end{description} + +\end{document} +%% END multido.doc diff --git a/obsolete/macros/latex209/contrib/outline/outline.sty b/obsolete/macros/latex209/contrib/outline/outline.sty new file mode 100644 index 0000000000..0a309d0586 --- /dev/null +++ b/obsolete/macros/latex209/contrib/outline/outline.sty @@ -0,0 +1,50 @@ +% Save file as: OUTLINE.STY Source: FILESERV@SHSU.BITNET +% outline.sty by Peter Halvorson, Georgia Institute of Technology, +% Nuclear Engineering, (404) 894-8710 peter@fission.gatech.edu +% ne201ph@prism.gatech.edu +% As of January 10, 1991 +% Create six-level list environment {outline} for making outlines; mark +% each outline topic with \item. Use of label/ref sequences provided. +% A direct hack of the enumerate code from latex.tex ( added more depth and +% outline style numbering). Use as you would use the enumerate environment. + +\@definecounter{@outlndepth} +\newcount\@outlndepth \@outlndepth = 0 + +\@definecounter{outlni} +\@definecounter{outlnii} +\@definecounter{outlniii} +\@definecounter{outlniv} +\@definecounter{outlnv} +\@definecounter{outlnvi} + +\def\outline{\ifnum \@outlndepth >5 \@toodeep\else + \advance\@outlndepth \@ne + \edef\@outlnctr{outln\romannumeral\the\@outlndepth}\list + {\csname label\@outlnctr\endcsname}{\usecounter + {\@outlnctr}\def\makelabel##1{\hss\llap{##1}}}\fi} + +\let\endoutline =\endlist + +\def\labeloutlni{\theoutlni.} +\def\theoutlni{\Roman{outlni}} + +\def\labeloutlnii{\theoutlnii.} +\def\theoutlnii{\Alph{outlnii}} +\def\p@outlnii{\theoutlni} + +\def\labeloutlniii{\theoutlniii.} +\def\theoutlniii{\arabic{outlniii}} +\def\p@outlniii{\p@outlnii\theoutlnii} + +\def\labeloutlniv{\theoutlniv.} +\def\theoutlniv{\alph{outlniv}} +\def\p@outlniv{\p@outlniii\theoutlniii} + +\def\labeloutlnv{(\theoutlnv)} +\def\theoutlnv{\arabic{outlnv}} +\def\p@outlnv{\p@outlniv\theoutlniv} + +\def\labeloutlnvi{(\theoutlnvi)} +\def\theoutlnvi{\alph{outlnvi}} +\def\p@outlnvi{\p@outlnv\theoutlnv} diff --git a/obsolete/macros/latex209/contrib/outline/outline.tex b/obsolete/macros/latex209/contrib/outline/outline.tex new file mode 100644 index 0000000000..aad701566d --- /dev/null +++ b/obsolete/macros/latex209/contrib/outline/outline.tex @@ -0,0 +1,94 @@ +% Save file as: OUTLINE-SAMPLE.TEX Source: FILESERV@SHSU.BITNET +\documentstyle[outline]{report} + +% [outline] includes new outline environment. I. A. 1. a. (1) (a) +% use \begin{outline} \item ... \end{outline} + +\pagestyle{empty} + +\begin{document} + +\begin{outline} + \item {\bf Introduction } + \begin{outline} + \item {\bf Applications } \\ + Motivation for research and applications related to the + subject. + \item {\bf Organization } \\ + Explain organization of the report, what is included, and what + is not. + \end{outline} + \item {\bf Literature Survey } + \begin{outline} + \item {\bf Experimental Work } \\ + Literature describing experiments with something in common with + my experiment. My experiment is subdivided into section + relating to each aspect of the whole. + \begin{outline} + \item {\bf Drop Delivery } \\ + Literature relating to the production of droplets. + \begin{outline} + \item {\bf Continuous } \\ + Continuous drop production methods, i.e. jet methods. + \item {\bf Drop on Demand } \\ + Drop on demand methods, i.e. ink jet devices. Produce drops + whenever needed, simplifies control of frequency. + \item {\bf Flexibility } \\ + Best methods in terms of flexible velocities, volumes, and + frequencies. + \item {\bf Control Circuitry } \\ + Circuitry necessary to control the drops, may include + control of generation, size, and frequency. Divertors and + drop chargers. + \item {\bf Extensibility } \\ + Methods extensible to 2D applications. + \item {\bf Recirculation } \\ + Recirculation techniques, pump, none, capillary. + \end{outline} + \item {\bf Instrumentation } \\ + Literature dealing with measurement of various parameters. + \begin{outline} + \item {\bf Temperature } + \begin{outline} + \item {\bf Heater Surface } + \item {\bf Fluid Temperature } + \item {\bf Heat Flux } + \item {\bf Heat Transfer Coefficient } + \end{outline} + \item {\bf Drop Characteristics } + \begin{outline} + \item {\bf Size } + \item {\bf Velocity } + \item {\bf Frequency } + \end{outline} + \end{outline} + \item {\bf Heating Element } \\ + Literature dealing with the heating element. Material + properties, surface properties, heat sources. + \begin{outline} + \item {\bf Material } + \item {\bf Heat Source } + \end{outline} + \end{outline} + \item {\bf Analytical Work } + \begin{outline} + \item {\bf Evaporation } + \item {\bf Boiling } + \item {\bf Leidenfrost Temperatures } + \item {\bf Heat Transfer } + \item {\bf Numerical Analysis } + \begin{outline} + \item {\bf Drop Characteristics } + \item {\bf Surface Wetting } + \item {\bf Transient Temperatures } + \end{outline} + \end{outline} + \end{outline} + \item {\bf Proposed Research } + \begin{outline} + \item {\bf Experimental Work } + \item {\bf Analytical Work } + \end{outline} +\end{outline} + +\end{document} diff --git a/obsolete/macros/latex209/contrib/outline/outlineitems.sty b/obsolete/macros/latex209/contrib/outline/outlineitems.sty new file mode 100644 index 0000000000..a12bd00651 --- /dev/null +++ b/obsolete/macros/latex209/contrib/outline/outlineitems.sty @@ -0,0 +1,51 @@ +% Save file as: OUTLINEITEMS.STY Source: FILESERV@SHSU.BITNET +%% OUTLINEITEMS.STY -- Different outline \item options for LaTeX version 2.09 +%% September 28, 1988; revised January 9, 1991 (label/ref now operable) +%% George D. Greenwade (BED_GDG@SHSU), Department of Economics and Business +%% Analysis, Sam Houston State University, Huntsville, TX 77341-2118 +%% +%% Includes original FULLPAGE.STY as default. Defines \outlineitems +%% for traditional outline enumerations; retains standard +%% default for enumeration under \normalitems. + +\marginparwidth 0pt +\oddsidemargin 0pt +\evensidemargin 0pt +\marginparsep 0pt + +\topmargin 0pt + +\textwidth 6.5in +\textheight 8.5 in + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% define the enumeration options %% +%% (\outlineitems and \normalitems) %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\outlineitems{ +\def\theenumi{\Roman{enumi}} +\def\labelenumi{\theenumi.} +\def\theenumii{\Alph{enumii}} +\def\p@enumii{\theenumi.} +\def\labelenumii{\theenumii.} +\def\theenumiii{\arabic{enumiii}} +\def\p@enumiii{\p@enumii\theenumii.} +\def\labelenumiii{\theenumiii.} +\def\theenumiv{\alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii.} +\def\labelenumiv{\theenumiv.} +} + +\def\normalitems{ +\def\theenumi{\arabic{enumi}} +\def\labelenumi{\theenumi.} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi.} +\def\labelenumii{\theenumii.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\p@enumii\theenumii.} +\def\labelenumiii{\theenumiii.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii.} +\def\labelenumiv{\theenumiv.} +} diff --git a/obsolete/macros/latex209/contrib/resume/res-sample.tex b/obsolete/macros/latex209/contrib/resume/res-sample.tex new file mode 100644 index 0000000000..7c7d570917 --- /dev/null +++ b/obsolete/macros/latex209/contrib/resume/res-sample.tex @@ -0,0 +1,83 @@ +\documentstyle[margin,line]{res} + +% Logos +% ===== + +\font\attand=cmr7 +%\font\MetafontLogoFont=logo10 + +\def\PS{{\tt P\small OST\tt S\small CRIPT}} +\def\ATT{{AT{\attand \&}T}} +\def\MF{{METAFONT}} +\def\Cplusplus{{\rm C\raise.5ex\hbox{\small ++}}} +\def\AmSTeX{{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em +S$-\TeX}} + +\begin{document} + +\name{Michael R. DeCorte} +\address{2300 Naudain St\\ +Phily, PA\\ +(215) 546-0497\ +{\tt mrd@sun.soe.clarkson.edu}} + +\begin{resume} + +\section{Objective:} +Gee, why can't I put ``To play with cool toys and have fun''? + +\section{Education:} +{\bf Major:} Bachelor of Science, Computer Science, Clarkson +University May 1989\\ + + +\section{Publications:} +My picture was in my HS newpaper onc. Does that count? + + +\section{Projects:} +{\tt Eclipse}\\ +During a lunar eclipse the moon projects its shadow over the earth. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% I put the experience stuff here +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{format} +\title{l}\dates{r}\\ +\body\\ +\end{format} + +\title{Unix Wizard} +\dates{September 1986 to Present} + +\section{Experience:} +\begin{position} +{\it Math and Computer Science},Clarkson University--- +Well, people keep asking me all these nifty questions about Unix +so that makes me a Wizard right? +\end{position} + +\title{\TeX{} Wizard} +\dates{September 1986 to Present} + +\begin{position} +{\it Math and Computer Science},Clarkson University--- +See Unix Wizard for a description and substitue \TeX{} for Unix. +\end{position} + +\section{Systems:} +\begin{ncolumn}{4} +$\bullet$ Unix 4.x &$\bullet$ Unix V &$\bullet$ Sun OS +&$\bullet$ VMS\\ +\end{ncolumn} + +\section{References:} +Call me I will see if I can dig someone up. I hope my old room mate +counts. + +\end{resume} +\end{document} + + + diff --git a/obsolete/macros/latex209/contrib/resume/res-sample2.tex b/obsolete/macros/latex209/contrib/resume/res-sample2.tex new file mode 100644 index 0000000000..891c60c0a9 --- /dev/null +++ b/obsolete/macros/latex209/contrib/resume/res-sample2.tex @@ -0,0 +1,149 @@ +\documentstyle[margin,line]{res} + +% Logos +% ===== + +\font\attand=cmr7 +%\font\MetafontLogoFont=logo10 + +\def\PS{{\tt P\small OST\tt S\small CRIPT}} +\def\ATT{{AT{\attand \&}T}} +\def\MF{{METAFONT}} +\def\Cplusplus{{\rm C\raise.5ex\hbox{\small ++}}} +\def\AmSTeX{{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em +S$-\TeX}} + +\oddsidemargin -.5in +\evensidemargin -.5in +\textwidth=6.0in + +\begin{document} + + +\name{Mark R. Anderson} +\address{mail code c-014\\ +University of California, San Diego\\ +La Jolla, CA 92093} + +\begin{resume} + +\section{\sc Objective} +I wish to join a team involved in software development of a parallel +processing system. + +\section{\sc Education} +University of California at San Diego, San Diego, CA. \newline +M.S. in Computer Science, June 1985; GPA: 4.0 + +Harvey Mudd College, Claremont, CA. \newline +B.S. in Mathematics, May 1982; GPA: 3.3 + +Graduate coursework includes: +Advanced Compiler Construction, +Automata Theory, +Combinatorial Algorithms, +Operating Systems, +Software Engineering, +Parallel Processing Seminars, +Formal Semantics of Programming Languages Seminars. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% I put the experience stuff here +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{format} +\title{l}\employer{r}\\ +\location{l}\dates{r}\\ +\body\\ +\end{format} + +\title{\em Research Assistant.} +\employer{\bf Prep-P Project.} +\dates{\bf Sep. 1984 -- Present.} +\location{UCSD} + +\section{\sc Research and Work Experience} +\begin{position} +The Prep-P project is +developing a preprocessor for the CHiP parallel architecture. +The goal of the preprocessor is to map problems that use an arbitrary +number of processes onto the processing elements of a fixed +size machine. +On this project I have served as co-supervisor. +My duties included devising tasks for and supervising the work of others +as well as writing and maintaining programs written in C. +\end{position} + +\title{\em Teaching Assistant} +\employer{\bf Department of EECS} +\dates{\bf Sep. 1984 -- Dec. 1985.} +\location{UCSD} +\begin{position} +I graded homework and +conducted review sessions for graduate and undergraduate classes. +\end{position} + +\title{\em Consultant} +\employer{\bf Simple Software} +\dates{\bf Feb. 1984 -- Apr. 1984.} +\location{San Diego, CA.} +\begin{position} +I was hired as a consultant to develop a file compression +system on micros. +The system was written in C. +\end{position} + +\title{\em Programmer/Analyst} +\employer{\bf System Development Corporation} +\dates{\bf May 1982 -- Sep. 1983.} +\location{Santa Monica, CA.} +\begin{position} +I was a member of a group developing an interactive testing system +for the Jovial programming language. I wrote parts of a Jovial to +threaded code compiler in CWIC. CWIC is SDC's Lisp based compiler +writing system. +\end{position} + +\title{\em Research Assistant.} +\employer{\bf Self-Sorting Memory Project} +\dates{\bf Sep. 1981 -- Dec. 1981.} +\location{Harvey Mudd College} +\begin{position} +I wrote a simulation of an algorithm which performed Gaussian elimination +on a parallel machine using self-sorting memory modules. +The simulator was written in Fortran. +\end{position} + +\section{\sc Special Skills} +Programming Languages: Algol, C, Fortran, Jovial, Lisp, Pascal, Snobol, and +SETL. \newline +Assembly Languages: 6502, 8051, 8086. \newline +Operating Systems: IBM CMS, Unix, Vax VMS. + +\section{\sc Honors and Awards} +University of California Regents Fellowship \newline +Graduation with Distinction from Harvey Mudd College + +\section{\sc Publications:} +D. Beeman, R. Lynds, and M. R. Anderson, ``Structural +and vibrational properties of a model vitreous $As_{2}O_{3}$,'' +Journal of Non-Crystalline Solids Vol. 42 pp. 61-7 (October 1980). + +D. Beeman, J. Silverman, R. Lynds, and M. R. Anderson, +``Modeling studies of amorphous carbon.,'' Physics Review +B Vol. 30 pp. 870-5 (July 15, 1984). + +M. Anderson and F. Berman, ``A Complexity Measure for +Demand Driven Data Flow Models,'' UCSD Dept. of Computer +Science Technical Report (CS-087) (September 1986). + +M. Anderson and F. Berman, ``Removing Useless Tokens from +a Dataflow Computation,'' submitted for publication (Jan 1987). + + +\section{\sc References} +Available on request. + +\end{resume} +\end{document} + diff --git a/obsolete/macros/latex209/contrib/resume/res.sty b/obsolete/macros/latex209/contrib/resume/res.sty new file mode 100644 index 0000000000..3885051dba --- /dev/null +++ b/obsolete/macros/latex209/contrib/resume/res.sty @@ -0,0 +1,781 @@ +% RESUME DOCUMENT STYLE -- Released 23 Nov 1989 +% for LaTeX version 2.09 +% Copyright (C) 1988,1989 by Michael DeCorte + +\typeout{Document Style `res' <26 Sep 89>.} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% res.sty +% +% \documentstyle{res} +% +% Copyright (c) 1988 by Michael DeCorte +% Permission to copy all or part of this work is granted, provided +% that the copies are not made or distributed for resale, and that +% the copyright notice and this notice are retained. +% +% THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO +% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, +% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS +% FOR ANY PARTICULAR PURPOSE. +% +% If you make any improvements, I'd like to hear about them. +% +% Michael DeCorte +% P.O. Box 652 +% Potsdam NY 13676 +% mrd@sun.soe.clarkson.edu +% mrd@clutx.bitnet +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% You can have multiple style options the legal options ones are: +% +% centered the name and address are centered at the top of the +% page (default) +% +% line the name is the left with a horizontal line then +% the address to the right +% +% overlapped the section titles overlap the body text (default) +% +% margin the section titles are to the left of the body text +% +% 11pt use 11 point fonts instead of 10 point fonts +% +% 12pt use 12 point fonts instead of 10 point fonts +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Commands +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \Resume prints the word resume but typeset nicely +% +% \newsectionwidth{dimen} +% defines the amount of space the labels extend +% into the left margin. +% DO NOT TRY to change any of the dimensions +% yourself. You will probably confuse the style file. +% +% \name{text} defines your name +% +% \address{text} +% defines your address +% this can be called twice if you have two addresses +% use \\'s to indicate where either line breaks or +% comas should go +% +% \opening this prints your name and address at that spot +% this is not normally needed, as \begin{resume} +% does this but is provided just in case you need +% to do something odd +% +% \begin{resume} ... \end{resume} +% all of the resume should go inside of this +% environment +% +% \section{text} +% This prints 'text' in the left hand margin. +% Its exact placement depends on what the style +% options has been set to. (overlapped or margin) +% You should use \\ to start a new line. If the +% style option is margin, the \\ is converted +% to a space. +% To use this in any of the list environments, put +% the \section after the \item[] but before the +% text. +% Eg. +% \begin{itemize} +% \item\section{text} +% text +% \end{itemize} +% +% \begin{ncolumn}{n} ... \end{ncolumn} +% creates a tabular environment with n equally +% spaced columns. Separate columns by & and +% end them with \\ +% +% \begin{position} ... \end{position} +% this is used to print a job description. There should +% be only one job description in it. Information +% related to the job (such as title, dates...) will +% be printed. +% +% \begin{format} ... \end{format} +% used to change the default format for the position +% environment. Within it the recognized commands are: +% \title{option} +% \employer{option} +% \location{option} +% \dates{option} +% \body +% \\ +% where option is one of l,r,c standing for left, right, center. +% The format will eventually be used to make several +% tabular environments and you are defining the number of columns +% and the placement of text within the columns of the tabulars. +% Each row is terminated by a \\. Any number of options can +% be on a line, they will each be set in their own columns. +% Any of the options except \body may be left out. +% +% Eg. +% \begin{format} +% \title{l}\employer{r}\\ +% \dates{r}\\ +% \body\\ +% \location{l}\\ +% \end{format} +% +% In this example the title and employer information +% are set in 2 columns left justified and right justified +% respectively. Then the date is set right justified. +% Then the body is set. Then the location is set left +% justified. +% +% \employer{text} +% \title{text} +% \dates{text} +% \location{text} +% declare text for the next invocation of the position +% environment +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Glue +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% sectionskip the amount of horizontal before a section +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Dimensions +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% sectionwidth the amount that the section titles go in the +% left margin +% +% resumewidth the width of the total resume from the left +% margin to the right. Don't use textwidth +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Definitions +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% sectionfont the font used to print section titles +% use \renewcommand to change it +% +% namefont the font used to print your name +% use \renewcommand to change it +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% THINGS TO DO +% +% add lm,rm options to format style to allow things to be placed +% in the left or right margin respectivly +% +% add capability so that \body doesn't have to be proceeded (followed) +% by a \\ allowing part of the description (eg. location) to be the +% first (last) thing of the body +% +% clean up the list building procedures +% +% write docs to tell people how to use this + + +\nofiles % resume's don't need .aux files + + +\newtoks\tabular@text % holds the current list being processed +\newtoks\tabular@head % holds the head tabular list +\newtoks\tabular@tail % holds the tail tabular list +\newtoks\@ta % used by \@append +\newtoks\undefined@token\undefined@token={} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% prints a centered name with the address centered +% or the two address on opposite sides of the page +% +\def\@printcentername{\begingroup + % print the name centered + \leavevmode\hbox to \textwidth{\hfil\@tablebox{\namefont\@name}\hfil}\par + \@ifundefined{@addressone}{% + % do nothing + }{% + \@ifundefined{@addresstwo}{ + % only one address + \leavevmode\hbox to \textwidth{\hfil\@tablebox{\@addressone}\hfil}\par + }{ + % two addresses + \leavevmode\hbox to \textwidth{\@tablebox{\@addressone}\hfil + \@tablebox{\@addresstwo}}\par + }% + }% +\endgroup} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% this is used to print the name and address at the top of +% the page with a hline in between +% +\def\namefont{\large\bf} +\def\@linename{\begingroup + \def\\{, } + {\namefont\@name} + \vskip 2pt + \fullline + \vskip 2pt + % where do you live? + \@ifundefined{@addressone}{% + % do nothing + }{% + \leavevmode\hbox to \textwidth + {\hfill\vbox{\hbox{\@addressone} + \hbox{\@addresstwo} + }% + }\par + } +\endgroup} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% HEADINGS: +% There are two types of headings: +% 1) one with the name centered and the address centered or +% in the left and right side if there are two address +% 2) one where the name is in the upper left corner +% the a line accross the paper +% then the address all on one line in the right corner +% the second address will be directly below the first if defined +% +\let\print@name\relax +\def\ds@centered{\ifx\print@name\relax\let\print@name\@printcentername\fi} +\def\ds@line{\ifx\print@name\relax\let\print@name\@linename\fi} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Use this to set the sectionwidth. +% It adjust the width of the text as well as the hoffset +% You probably shouldn't touch any of the size paramaters +% unless you really understand all of this but it is not +% hard. Either way, it can only be executed once +% +\def\sectionfont{\bf} +\newdimen\sectionwidth +\newskip\sectionskip +\newdimen\resumewidth + +\resumewidth=6.5in +\sectionskip=3.5ex plus 1ex minus -.2ex % values stolen from LaTeX + +\def\newsectionwidth#1{% + \sectionwidth=#1 + \textwidth=\resumewidth + \advance\textwidth-\sectionwidth + \hsize=\textwidth + \hoffset=\sectionwidth +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% This is for sectiontitles that are entirely in the left margin. +% multiline sectiontitles are permited and will be broken by +% \TeX{} to fit into a box \verb|\sectionwidth| wide. It is advised +% that \verb|\\| be used to break the lines by hand as \TeX{} will +% probably not do what you want. +% +% When using this with {\tt tabbing} and {\tt list} (or anything +% that is made out of {\tt list}) put the \section's inside of +% the \verb|\begin{}| and the \verb|\item|Eg. +% \begin{verbatim} +% \begin{trivlist} +% \item[] +% \section{foo} +% text +% \end{trivlist} +% \end{verbatim} +% +\def\boxed@sectiontitle#1{% + % this macro may be called in a tabular. Special code must be written + % to accomodate this. In LaTeX, a tabular is made out of hboxes. + % TeX never goes into horizontal mode because of this; it only + % gets into vertical mode and restricted horizontal mode. Certain + % indenting problems must be handled because of this. They + % are delt with at the end of this routine. + % It is also necessary to close the hbox that was created before + % the \section and create a new one when this macro has ended. + % This macro therefore simulates a \kill, so that any text before + % the \section not be printed. The proper use is therefore + % ... + % text\\ + % \section{foo} + % more text\\ + % ... + \ifx\\\@tabcr % is this in a tabular? (this *should* work but is a cludge) + \@stopfield % the is the first part of a \kill + \else + \@@par % This will end the previous paragraph if needed and + % go into vertical mode. If this was already in + % vertical mode then the \par does nothing. + + \fi + \begingroup + \everypar={}% + \def\par{\@@par}% + \let\\=\@normalcr + \addpenalty{\@secpenalty} % this would be a good place for a page break + % \@secpenalty is what LaTeX uses before its + % section's. It happens to be -300 + \addvspace{\sectionskip} % put in a bit of glue + % The following hbox will be contributed to the page list without going + % into horizontal mode. Therefore, any \parindent's, \parshape's, \leftskip + % will be ignored but \hoffset's are not. The result is that the box will + % only by \hoffset. This is what I want + \hbox to 0pt{% + \hss % this is an llap. In other words, this glue + % will shrink by the width of the stuff in the vbox + % (\sectionwidth) into the left margin and then + % insert the contents of the vbox. + \vtop to 0pt{% make a 0pt height paragraph, with the baseline at the + % lined up with the baseline of the first box in the list + \leftskip=0pt + \hsize=\sectionwidth + \textwidth=\sectionwidth + \raggedright % you don't want this filled out to the right margin + \sectionfont + #1\vss % Go into horizontal mode; do the paragraph; + % go into vertical mode; add some negative glue + % to give a box of 0pt height and depth + }% + }% + \addpenalty{-\@secpenalty} % this would be a bad place for a page break + \vskip-\baselineskip % when the next box is processed, baselineskip glue + % glue will be added (the box has no depth because of + % the \vss; therefore, we don't have to worry about + % \lineskiplimit). This -\baselineskip glue + % is to undo this. \nointerlineskip doesn't + % work because the baseline of this line would be lined + % up with the top of the top of the next box. We + % want the baselines lined up. + % + % It may have been possible to do this by forcing the + % baseline of this box to be the top of the box but + % then the interline skip between this box and the + % previous box would be off as the baselines of the + % this box (the one that being made above) and the + % previous line would be separated by \baselineskip + % (probably, it may be separted by the depth of the + % previous box + \lineskip) but as the baseline of + % this box has been moved to the top, the box's would + % separted by to much glue. The exact amount being + % the height of this box. + \endgroup + \ifx\\\@tabcr % is this in a tabular? (this *should* work but is a cludge) + % this is the second part of the \kill; it starts the next tabbing line + % Because this routine will never get into paragraph mode when used in + % tabbing the \parskip that is discussed below will never be inserted. + % Therefore it should not be negated as done below. + \@startline + \ignorespaces + \else + \vskip-\parskip % The next thing to be contributed will be a paragraph. + % Right before being contributed though a \vskip\parskip + % will be inserted. This is to negate it. + % + % I do consider this to be a bit of a cludge but + % I can not find a way to write \unskipfutureskip + % or a way to make TeX think that nothing has + % been contributed to the page list. + \fi +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% This is for sectiontitles that are entirely above the section text +% +\def\unboxed@sectiontitle#1{% + \ifx\\\@tabcr % see boxed@sectiontitle for explation + \@stopfield + \else + \@@par + \fi + \begingroup + \everypar={}% + \def\par{\@@par}% + \def\\{ } + \addpenalty{\@secpenalty} + \addvspace{\sectionskip} + \hbox to 0pt{\hss\hbox to \sectionwidth{\sectionfont#1\hss}} + \addpenalty{-\@secpenalty} % this would be a bad place for a page break + \endgroup + \ifx\\\@tabcr % see boxed@sectiontitle for explation + \@startline + \else + \vskip-\parskip + \fi + \ignorespaces +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% There are two types of section headings: +% 1) the section heading is all on one line and directly +% below it, is the body of the text +% 2) the section heading is entirely in the left margin +% (possibly taking multiple lines) with the body of +% the text next to it +% +\let\@@section\relax +\def\ds@overlapped{\ifx\@@section\relax\newsectionwidth{0.5in}\let + \@@section\unboxed@sectiontitle\fi} +\def\ds@margin{\ifx\@@section\relax\newsectionwidth{1.3in}\let + \@@section\boxed@sectiontitle\fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% DEFAULTS: (some of them) +% +% centered name +% overlapped section titles +% +% format is: +% title employer +% location dates +% body +% with everything in the left of its column + +\input article.sty + +\ds@centered +\ds@overlapped + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% typeset resume all nice and pretty +% +\def\Resume{{R\'{e}sum\'{e}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% makes a line of width \textwidth starting at -\hoffset +% +\def\fullline{ % hrules only listen to \hoffset + \nointerlineskip % so I have this code + \moveleft\hoffset\vbox{\hrule width\textwidth} + \nointerlineskip +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% create a multiline box. +% +\def\@tablebox#1{\begin{tabular}[t]{@{}l@{\extracolsep{\fill}}}#1\end{tabular}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% use this to define your name +% +\def\name#1{\def\@name{#1}} + +\def\@name{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% use this to define your address, this may be called more than once. +% +\let\@addressone\relax +\let\@addresstwo\relax + +\def\address#1{ + \@ifundefined{@addressone}{\def\@addressone{#1}}{\def\@addresstwo{#1}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% if you want to print your name and address is a slightly +% different format than sugessted, then this can be used +% to place it exactly where you want +% +\def\opening{\def\@opening{} + \begingroup + \leftskip=-\hoffset % I use leftskip to move things to the left as + \advance\textwidth\hoffset % changing hoffset doesn't work. But this + \hsize=\textwidth % doesn't really work as hboxes are rules + % are unaffeted + \let\par=\@@par + \parindent=0pt + \parskip=0pt + \print@name + \endgroup +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% all of the resume goes in the resume environment +% +\newenvironment{resume}{\begingroup + \@ifundefined{@opening}{\opening}{} +}{\endgroup} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% gives you a tabular environment with n equally spaced columns +% \begin{ncolumn}{#} ... \end{ncolumn} +% +% The p option of LaTeX is broken in all but the newest verion +% of latex.tex, this is how to fix it +% +\def\@endpbox{\par\egroup\hfil} +\let\@@endpbox=\@endpbox + +\newdimen\@columnwidth % the width of each column equal to +\def\ncolumn#1{% + % \@columnwidth = \textwidth / #1 + \@columnwidth=\textwidth \divide\@columnwidth by #1 + \begin{tabular*}{\textwidth}[t]% + {*{#1}{@{}p{\@columnwidth}@{\extracolsep{\fill}}}} +} + +\def\endncolumn{\end{tabular*}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \employer{text} defines employer to be text +% \location{text} defines location to be text +% \dates{text} defines dates to be text +% \title{text} defines title to be text +% \body +% + +\def\employer#1{\def\@employer{\print@employer{#1}}} +\def\location#1{\def\@location{\print@location{#1}}} +\def\dates#1{\def\@dates{\print@dates{#1}}} +\def\title#1{\def\@title{\print@title{#1}}} + +\let\l@justify\raggedright +\let\r@justify\raggedleft +\let\c@justify\centering + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \@format{name}{justify} +% will define \print@#1 to print it's one argument +% justified according to #2 which can be +% l = left +% r = right +% c = center +% +% eg. +% \@format{employer}{c} +% is the same as \def\print@employer#1{{\centering #1\par}} +% +\def\@format#1#2{% + \expandafter\gdef\csname print@#1\endcsname##1{% + {\csname#2@justify\endcsname##1\par}} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% this is used to define how the position environment should +% formated. +% +% \begin{format} positioning text \end{format} +% where positioning text may be +% \employer{pos} +% \location{pos} +% \dates{pos} +% \title{pos} +% \body (for the body of the position environment) +% where pos is +% l for left +% r for right +% c for center +% use \\ to break the line +% you don't have to use all of the options. +% on any one line, you should indicate what you want on that line +% and where it should go within its column. +% eg. +% the following prints the employer in the left with the location +% centered within that its column. It then prints the date on the +% right. Then it prints the body of the position environment. Then +% it prints the title centered within its column; as there is only +% one column here it is really just centered. +% +% \begin{format} +% \employer{l}\location{c}\\ +% \dates{r}\\ +% \body\\ +% \title{c}\\ +% \end{format} + +\newcounter{numberofcolumns} +\newenvironment{format}{% + \def\end@line@head{\append@tabular@head{tabular@text}\tabular@text={}% + \c@numberofcolumns 0} + \def\end@line@tail{\append@tabular@tail{tabular@text}\tabular@text={}% + \c@numberofcolumns 0} + \tabular@text={} + \tabular@head={} + \tabular@tail={} + \c@numberofcolumns 0 + \let\\=\end@line@head + \def\employer##1{\advance\c@numberofcolumns 1 + \@format{employer}{##1} + \append@tabular@text{employer}} + \def\location##1{\advance\c@numberofcolumns 1 + \@format{location}{##1} + \append@tabular@text{location}} + \def\dates##1{\advance\c@numberofcolumns 1 + \@format{dates}{##1} + \append@tabular@text{dates}} + \def\title##1{\advance\c@numberofcolumns 1 + \@format{title}{##1} + \append@tabular@text{title}} + \def\body{\iftoks\tabular@head\undefined@token\then + \else + \@append{\noexpand\\}\to\tabular@head + \skotfi + \let\\=\end@line@tail}}{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%taken from page 378 of TeXbook but freely hacked +% +% appends the expansion of #1 to the token list #2 + +\def\@append#1\to#2{% + \@ta=\expandafter{#1}% + \xdef\@append@temp{\the#2\the\@ta} + \global#2=\expandafter{\@append@temp}% +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% CHAA006%vaxb.rhbnc.ac.uk@NSS.Cs.Ucl.AC.UK +% texhax.88.078 +% is used to see if two token lists are equal +% there must be a better way +% + +\let \then = \empty +\def \iftoks #1#2\then #3\else #4\skotfi{ + \edef \1{\the #1} + \edef \2{\the #2} + \ifx \1\2\then #3\else #4\fi} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \append@tabular@text{command} +% +% appends command to the end of \tabular@text. +% NOTE: command MUST be a command but without the \ +% Eg. \append@tabular@text{relax} +% +% used to define \tabular@text for the tabular environment +% used by append@tabular@head and append@tabular@tail +% + +\def\append@tabular@text#1{% +\iftoks\tabular@text\undefined@token\then + \global\tabular@text=\expandafter{\csname @#1\endcsname} +\else + \@append{&}\to\tabular@text + \@append{\csname @#1\endcsname}\to\tabular@text +\skotfi +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% append@tabular@head +% +% appends command to the end of \tabular@text@head +% NOTE: command MUST be a command but without the \ +% Eg. \append@tabular@head{relax} +% +% used to define \tabular@head for the tabular environment +% used by the position environment +% +\def\append@tabular@head#1{% + \ifnum\the\c@numberofcolumns=0\relax + \else + \iftoks\tabular@head\undefined@token\then + \relax + \else + \@append{\noexpand\\}\to\tabular@head + \@append{\noexpand\penalty-\@secpenalty}\to\tabular@head + \skotfi + \@append{\noexpand\begin{ncolumn}}\to\tabular@head + \@append{\expandafter{\the\c@numberofcolumns}}\to\tabular@head + \@append{\the\csname#1\endcsname}\to\tabular@head + \@append{\noexpand\end{ncolumn}}\to\tabular@head + \fi +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% append@tabular@tail +% +% appends command to the end of \tabular@text@htail +% NOTE: command MUST be a command but without the \ +% Eg. \append@tabular@tail{relax} +% +% used to define \tabular@tail for the tabular environment +% used by the position environment +% +\def\append@tabular@tail#1{% + \ifnum\the\c@numberofcolumns=0\relax + \else + \iftoks\tabular@tail\undefined@token\then + \else + \@append{\noexpand\\}\to\tabular@tail + \@append{\noexpand\penalty-\@secpenalty}\to\tabular@tail + \skotfi + \@append{\noexpand\begin{ncolumn}}\to\tabular@tail + \@append{\expandafter{\the\c@numberofcolumns}}\to\tabular@tail + \@append{\the\csname#1\endcsname}\to\tabular@tail + \@append{\noexpand\end{ncolumn}}\to\tabular@tail + \fi +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% put the actual job descriptions here +% \begin{postion} ... \end{position} +% in the ... describe the position. +% don't put the \dates \location etc in here. define them before hand +\newenvironment{position}% + {% + \begingroup + \par + \the\tabular@head +% \addpenalty{-\@secpenalty}% bad place for a page break + \penalty -\@secpenalty % bad place for a page break + \penalty 10000 + \ignorespaces + }{% + \the\tabular@tail +% \addpenalty{\@secpenalty}% good place for a page break + \penalty \@secpenalty % good place for a page break + \endgroup +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% DEFAULTS: (the rest of them) +% +% centered name +% overlapped section titles +% +% format is: +% title employer +% location dates +% body +% with everything in the left of its column + +\@secpenalty = -500 +\topmargin 0pt +\headheight 0pt +\headsep 0pt +\textheight 9in +\parindent 0pt +\topmargin 0in +\oddsidemargin 0pt +\evensidemargin 0pt +\marginparwidth 0pt +\parindent 0pt +\parskip \baselineskip +\setcounter{secnumdepth}{0} +\def\@listI{\leftmargin\leftmargini +\topsep 0pt +\parskip 0pt +\partopsep 2pt plus 2pt +\parsep 2pt plus 2pt +\itemsep \parsep} + +\pagestyle{empty} % don't want page numbers + +\begin{format} +\title{l}\employer{r}\\ +\location{l}\dates{r}\\ +\body\\ +\end{format} + +\let\section\@@section + diff --git a/obsolete/macros/latex209/contrib/resume/resume-sample.tex b/obsolete/macros/latex209/contrib/resume/resume-sample.tex new file mode 100644 index 0000000000..8522f68afd --- /dev/null +++ b/obsolete/macros/latex209/contrib/resume/resume-sample.tex @@ -0,0 +1,58 @@ +% resume-sample.tex 23 Oct 89 +% An example using the resume style option +% By Stephen Gildea + +% original version 28 Sep 88 +% minor changes 23 Oct 89 + +\documentstyle[11pt,resume]{article} +\begin{document} + +\name{TERRY R. GENSYM} + +\addresses +{{\bf Work Address} \\ +MIT Room E34--660 \\ +77 Massachusetts Ave. \\ +Cambridge, MA 02139 \\ +(617) 253--7955} +{{\bf Home Address} \\ +72 West St.~Apt.~1 \\ +Cambridge, MA 02138 \\ +(617) 492--5543} + +\begin{llist} +\sectiontitle{Objective} +A large office, good pay, and very little work. +Frequent expense-account trips to exotic lands would be a plus. + +\sectiontitle{Experience} +\employer{CHENG'S CHINESE RESTAURANT} \location{Cambridge, MA} +\dates{1970--1979} +Soup taster for a small family-owned restaurant. Had final +responsibility for the amount of Soy Sauce that went into the soups. + +\employer{CARL'S FASHIONS} \location{Watertown, MA} +\dates{1979--1982} +Needle-threader for Kelly Hormel, a leading tailor in the Boston area. +Duties included keeping all needles ready for use and threaded with +the appropriate type and color of thread for each day's jobs. + +\employer{INSIDIOUS BLUE MACHINES} \location{San Jose, CA} +\dates{1982--present} +Chief light bulb changer, with over 1500 square feet of office under my +jurisdiction. The eyes of thousands were on me. + +\sectiontitle{Education} +\employer{MASSACHUSETTS INSTITUTE OF TECHNOLOGY} \location{Cambridge, MA} +B.A. in English History June 1970. Graduated at the top of my class. + +\sectiontitle{Publications} +``A Multi-Threaded System for Needle Management,'' {\em Womens Wear Daily,} +August 20, 1981. + +``The Representation of Flavor,'' with August Rancatori, {\em IEEE 1985 +Proceedings of the Workshop on Taste in Computers.} + +\end{llist} +\end{document} diff --git a/obsolete/macros/latex209/contrib/resume/resume.sty b/obsolete/macros/latex209/contrib/resume/resume.sty new file mode 100644 index 0000000000..e70ec0c86c --- /dev/null +++ b/obsolete/macros/latex209/contrib/resume/resume.sty @@ -0,0 +1,100 @@ +% resume.sty 08 Mar 89 +% style option for formatting resumes. + +% This style option is designed to work with the article document +% style of LaTeX version 2.09. Use +% \documentstyle[resume]{article} + +% Copyright (c) 1987 by Stephen Gildea +% Permission to copy all or part of this work is granted, provided +% that the copies are not made or distributed for resale, and that +% the copyright notice and this notice are retained. +% +% THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO +% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, +% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS +% FOR ANY PARTICULAR PURPOSE. + +% If you make any improvements, I'd like to hear about them. + +% Stephen Gildea +% MIT Earth Resources Lab +% Cambridge, Mass. 02139 +% mit-erl!gildea +% gildea@erl.mit.edu + +% 23 May 87 version 1 +% 08 Jun 88 center single \address lines +% 02 Sep 88 enhancement to \employer from Jerry Leichter +% LEICHTER-JERRY@cs.yale.edu or +% 08 Mar 89 allow \\ in \sectiontitle to make multi-line titles + +\topmargin 0pt +\headheight 0pt +\headsep 0pt +\textheight 9in +\pagestyle{empty} +\parindent 0pt +\parskip \baselineskip +\topmargin 0in +\oddsidemargin 0in +\evensidemargin 0in +\textwidth 6.5in + +\setcounter{secnumdepth}{0} + +% use this to print your name at the top of the page +\def\name#1{{\large\centering#1\\[2\baselineskip]}} + +% one address +\def\address#1{{\centering #1\par}} + +% two addresses (say, home and work). They get printed side by side +\def\addresses#1#2{\hbox to \hsize{\@tablebox{#1}\hfil\@tablebox{#2}}} + +\def\@tablebox#1{\begin{tabular}[t]{@{}l@{}}#1\end{tabular}} + +\newbox\@title + +% Most of the resume goes inside a llist environment. Within it, use +% the \sectiontitle{title} command to begin new sections. The title +% of the section is put in the left margin. The section text begins +% on the next line if the sectiontitle is too long. +\newenvironment{llist}{\begin{list}{}{\setlength + \labelwidth{1in}\setlength\leftmargin{\labelwidth}\addtolength + \leftmargin{\labelsep}\itemsep 5pt plus 2pt minus 2pt + \parsep 10pt plus 2pt minus 2pt + %% Set the depth of the title to 0 in case more than one line. + %% If the title takes more lines than the body, you lose. + \def\sectiontitle##1{\setbox\@title=\hbox{{\bf\@tablebox{##1}}}\dp\@title=0pt + \item[\copy\@title]\ifdim\wd\@title>\labelwidth + \leavevmode \\* \else \fi} + \def\makelabel##1{##1\hfill}}}{\end{list}} + +% like itemize but bullets are at the left margin +\newenvironment{items}{\begin{list}{$\bullet$} + {\setlength\labelwidth{.5em}\setlength\leftmargin{1em} + \def\makelabel##1{##1\hfill}}}{\end{list}} + +% Use the \employer and \location commands to print the names and +% cities of your employers. \employer always starts a new paragraph, +% and should be followed by \location. +% +% \employer* is like \employer but is used for additional information +% about the employer. It does NOT start a new paragraph, must +% NOT be followed by \location, and always forces a new line after itself. +\def\employer{\@ifstar{\@semployer}{\@employer}} +\def\@employer#1{\par{\sc #1}} +\def\@semployer#1{{\sc #1}\\} + +% The location is always flush right. It is moved to the next +% line if there is not room left on this one. +% See the TeXbook Chapter 14. +\def\location#1{{\unskip\nobreak\hfill\penalty50\hskip2em + \hbox{}\nobreak\hfill \hbox{#1}\finalhyphendemerits=0 \\}} + +% This prints the date flush left. +% The major shortcoming of this file: +% There needs to be an option to print the date in the left margin, +% because many people like to do it that way. +\def\dates#1{#1\\[2pt]} diff --git a/obsolete/macros/latex209/contrib/script/checkprt.tex b/obsolete/macros/latex209/contrib/script/checkprt.tex new file mode 100644 index 0000000000..6c4d8ed87a --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/checkprt.tex @@ -0,0 +1,104 @@ +% checkprt.tex -- by Frank Neukam (01 Dec 1993) + +\typeout{} +\typeout{*** checkprt.tex v2.0 by Frank Neukam <01 Dec 1993> ***} +\typeout{} +\documentstyle{script_s} +\pagestyle{empty} + +\textwidth 210mm +\textheight 297mm +\oddsidemargin -1in +\evensidemargin -1in +\marginparwidth 0in +\marginparsep 0in +\topmargin -1in +\headheight 0in +\headsep 0in +\footheight 0in +\footskip 0in +\topskip 0in +\parindent 0in + +\begin{document} +\scriptsize\sf +\newcounter{unitcnt} +\setlength{\unitlength}{1sp} +\begin{picture}(0,0) +\put(9323400,-27690498){\line(1,0){20511480}} +\put(19579140,-9323400){\line(0,-1){36734196}} +% +% left +% mm +\multiput(186468,-27690498)(186468,0){50}{\line(0,1){372936}} +\multiput(932340,-27690498)(932340,0){10}{\line(0,1){559404}} +\multiput(1864680,-27690498)(1864680,0){5}{\line(0,1){745872}} +\setcounter{unitcnt}{10} +\multiput(1864680,-26571690)(1864680,0){5}% + {\makebox(0,0){\arabic{unitcnt}}\addtocounter{unitcnt}{10}} +\put(10255740,-27354856){mm} +% inch +\multiput(236815,-27690498)(236815,0){40}{\line(0,-1){372936}} +\multiput(473629,-27690498)(473629,0){20}{\line(0,-1){559404}} +\multiput(4736290,-27690498)(4736290,0){2}{\line(0,-1){745872}} +\setcounter{unitcnt}{1} +\multiput(4736290,-28809306)(4736290,0){2}% + {\makebox(0,0){\arabic{unitcnt}}\addtocounter{unitcnt}{1}} +\put(10255740,-28343136){inch} +% +% right +% mm +\multiput(38971812,-27690498)(-186468,0){50}{\line(0,1){372936}} +\multiput(38225940,-27690498)(-932340,0){10}{\line(0,1){559404}} +\multiput(37293600,-27690498)(-1864680,0){5}{\line(0,1){745872}} +\setcounter{unitcnt}{10} +\multiput(37293600,-26571690)(-1864680,0){5}% + {\makebox(0,0){\arabic{unitcnt}}\addtocounter{unitcnt}{10}} +\put(27932906,-27354856){mm} +% inch +\multiput(38921465,-27690498)(-236815,0){40}{\line(0,-1){372936}} +\multiput(38684651,-27690498)(-473629,0){20}{\line(0,-1){559404}} +\multiput(34421990,-27690498)(-4736290,0){2}{\line(0,-1){745872}} +\setcounter{unitcnt}{1} +\multiput(34421990,-28809306)(-4736290,0){2}% + {\makebox(0,0){\arabic{unitcnt}}\addtocounter{unitcnt}{1}} +\put(27932906,-28343136){inch} +% +% top +% mm +\multiput(19579140,-186468)(0,-186468){50}{\line(-1,0){372936}} +\multiput(19579140,-932340)(0,-932340){10}{\line(-1,0){559404}} +\multiput(19579140,-1864680)(0,-1864680){5}{\line(-1,0){745872}} +\setcounter{unitcnt}{10} +\multiput(18460332,-1864680)(0,-1864680){5}% + {\makebox(0,0){\arabic{unitcnt}}\addtocounter{unitcnt}{10}} +\put(18460332,-10442208){\makebox(0,0)[b]{mm}} +% inch +\multiput(19579140,-236815)(0,-236815){40}{\line(1,0){372936}} +\multiput(19579140,-473629)(0,-473629){20}{\line(1,0){559404}} +\multiput(19579140,-4736290)(0,-4736290){2}{\line(1,0){745872}} +\setcounter{unitcnt}{1} +\multiput(20697948,-4736290)(0,-4736290){2}% + {\makebox(0,0){\arabic{unitcnt}}\addtocounter{unitcnt}{1}} +\put(20697948,-10442208){\makebox(0,0)[b]{inch}} +% +% bottom +% mm +\multiput(19579140,-55194528)(0,186468){50}{\line(-1,0){372936}} +\multiput(19579140,-54448656)(0,932340){10}{\line(-1,0){559404}} +\multiput(19579140,-53516316)(0,1864680){5}{\line(-1,0){745872}} +\setcounter{unitcnt}{10} +\multiput(18460332,-53516316)(0,1864680){5}% + {\makebox(0,0){\arabic{unitcnt}}\addtocounter{unitcnt}{10}} +\put(18460332,-45311724){\makebox(0,0)[b]{mm}} +% inch +\multiput(19579140,-55144181)(0,236815){40}{\line(1,0){372936}} +\multiput(19579140,-54907367)(0,473629){20}{\line(1,0){559404}} +\multiput(19579140,-50644706)(0,4736290){2}{\line(1,0){745872}} +\setcounter{unitcnt}{1} +\multiput(20697948,-50644706)(0,4736290){2}% + {\makebox(0,0){\arabic{unitcnt}}\addtocounter{unitcnt}{1}} +\put(20697948,-45311724){\makebox(0,0)[b]{inch}} +\end{picture} +\end{document} + diff --git a/obsolete/macros/latex209/contrib/script/dir.tex b/obsolete/macros/latex209/contrib/script/dir.tex new file mode 100644 index 0000000000..1aa7b8d117 --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/dir.tex @@ -0,0 +1,74 @@ +% dir.tex -- by Frank Neukam (01 Dec 1993) +% Generates a directory from given .ADR file +% Remove `german' two lines below if german.sty is unavailable or useless + +\documentstyle[german,10pt,twoside]{script_s} +\headseplineon +\raggedbottom + +\def\empty{} +\def\adrfile{} +\def\adrtitle{} + +\typeout{} +\typeout{*** dir.tex v2.0 by Frank Neukam <01 Dec 1993> ***} +\typeout{} +\typein[\adrfile]{Name of .ADR file (without .ADR): } +\typeout{} +\typein[\adrtitle]{Title of directory: } +\typeout{} +\ifx\adrtitle\empty\def\adrtitle{\ }\fi + +\newdimen\paperwidth +\newdimen\leftfield +\newdimen\rightfield +\newdimen\adrindent +\paperwidth 210mm +\leftfield 40mm +\rightfield 25mm +\adrindent 1em +\advance\leftfield by -\adrindent +\textwidth 70mm +\oddsidemargin -1in +\evensidemargin -1in +\advance\oddsidemargin by 9mm +\advance\evensidemargin by \paperwidth +\advance\evensidemargin by -9mm +\advance\evensidemargin by -\textwidth +\textheight 120mm +\headheight 1\baselineskip +\headsep 0.5\baselineskip +\footheight 1\baselineskip +\footskip 1.5\baselineskip +\topmargin -1in +\advance\topmargin by 8mm +\marginparwidth 0in +\marginparsep 0in +\marginparpush 0in +\parskip 0.5\baselineskip +\parindent 0in + +\begin{document} +\def\headfont{\sfb} +\def\adrchar#1{\clearpage\typeout{#1}\markboth{#1}{#1}} +\def\adrentry#1#2#3#4#5#6#7#8{\hspace{\adrindent}% + \parbox[b]{\leftfield}{\raggedright \hspace{-\adrindent}{\sc #1}% + \ifx #2\empty \else , #2\fi% + \ifx #3\empty \else \par #3\fi% + \ifx #7\empty \else \par (#7)\fi}% + \hfill% + \parbox[b]{\rightfield}{\raggedright% + \ifx #8\empty \else {\scriptsize #8}\par \fi #4}\par} +\ifx\adrfile\empty \else + \pagestyle{empty} + \null\vfil + \begin{center} + {\Large \sfb \adrtitle} + \end{center} + \vfil\vfil\null + \cleardoublepage + \pagestyle{myheadings} + \input\adrfile.adr\relax +\fi +\end{document} + diff --git a/obsolete/macros/latex209/contrib/script/phone.tex b/obsolete/macros/latex209/contrib/script/phone.tex new file mode 100644 index 0000000000..e58671e268 --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/phone.tex @@ -0,0 +1,31 @@ +% phone.tex -- by Frank Neukam (01 Dec 1993) +% Generates a list of phone numbers from given .ADR file +% Remove `german' two lines below if german.sty is unavailable or useless + +\documentstyle[german,12pt]{script_s} + +\def\empty{} +\def\adrfile{} +\def\adrtitle{} + +\typeout{} +\typeout{*** phone.tex v2.0 by Frank Neukam <01 Dec 1993> ***} +\typeout{} +\typein[\adrfile]{Name of .ADR file (without .ADR): } +\typeout{} +\typein[\adrtitle]{Title of the list of phone numbers: } +\typeout{} + +\parindent 0pt +\pagestyle{empty} +\begin{document} +{\LARGE \sfb \null\hfill\adrtitle\hfill\null\par \vspace{3ex}} +\def\adrchar#1{\vspace{1ex}} +\def\adrentry#1#2#3#4#5#6#7#8{\setbox0\hbox{#4} + {\sc #1}% + \ifx #2\empty \else , #2\fi% + \ifx #7\empty \else \ (#7)\fi% + \ \dotfill\ \unhbox0\par} +\ifx\adrfile\empty \else \input\adrfile.adr\relax \fi +\end{document} + diff --git a/obsolete/macros/latex209/contrib/script/script.dvi b/obsolete/macros/latex209/contrib/script/script.dvi new file mode 100644 index 0000000000..71460cb122 Binary files /dev/null and b/obsolete/macros/latex209/contrib/script/script.dvi differ diff --git a/obsolete/macros/latex209/contrib/script/script.sty b/obsolete/macros/latex209/contrib/script/script.sty new file mode 100644 index 0000000000..e4d32f55d1 --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/script.sty @@ -0,0 +1,673 @@ +% script.sty -- by Frank Neukam (01 Dec 1993) +% based on Leslie Lamport's report and book styles. + +\typeout{Document Style `script' v2.0 by Frank Neukam <01 Dec 1993>} + +\ifx\selectfont\undefined + \font\tensfb =cmssbx10 scaled \magstep0 + \font\elvsfb =cmssbx10 scaled \magstephalf + \font\twlsfb =cmssbx10 scaled \magstep1 + \font\frtnsfb =cmssbx10 scaled \magstep2 + \font\svtnsfb =cmssbx10 scaled \magstep3 + \font\twtysfb =cmssbx10 scaled \magstep4 + \font\twfvsfb =cmssbx10 scaled \magstep5 +\else + \def\tensfb{\family{\sfdefault}\series{bx}\shape{n}\size{10}{12pt}\selectfont} + \def\elvsfb{\family{\sfdefault}\series{bx}\shape{n}\size{11}{13.6pt}\selectfont} + \def\twlsfb{\family{\sfdefault}\series{bx}\shape{n}\size{12}{14.5pt}\selectfont} + \def\frtnsfb{\family{\sfdefault}\series{bx}\shape{n}\size{14}{18pt}\selectfont} + \def\svtnsfb{\family{\sfdefault}\series{bx}\shape{n}\size{17}{22pt}\selectfont} + \def\twtysfb{\family{\sfdefault}\series{bx}\shape{n}\size{20}{25pt}\selectfont} + \def\twfvsfb{\family{\sfdefault}\series{bx}\shape{n}\size{25}{30pt}\selectfont} +\fi + +\def\@ptsize{1} +\@namedef{ds@10pt}{\def\@ptsize{0}} +\@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} +\newdimen\paperwidth +\newdimen\paperheight +\paperwidth 210mm +\paperheight 297mm +\@namedef{ds@DINA3}{\paperwidth=297mm \paperheight=420mm} +\@namedef{ds@DINA4}{\paperwidth=210mm \paperheight=297mm} +\@namedef{ds@DINA5}{\paperwidth=148.5mm \paperheight=210mm} +\@namedef{ds@DINA6}{\paperwidth=105mm \paperheight=148.5mm} +\@namedef{ds@DINA3l}{\paperwidth=420mm \paperheight=297mm} +\@namedef{ds@DINA4l}{\paperwidth=297mm \paperheight=210mm} +\@namedef{ds@DINA5l}{\paperwidth=210mm \paperheight=148.5mm} +\@namedef{ds@DINA6l}{\paperwidth=148.5mm \paperheight=105mm} +\def\ds@draft{\overfullrule 5pt} +\def\ds@twoside{\@twosidetrue \@mparswitchtrue} +\@options +\input script1\@ptsize.sty\relax +\normalsize + +\newif\if@hincl +\def\headincludeon{\@hincltrue} +\def\headincludeoff{\@hinclfalse} +\newif\if@hsl +\def\headseplineon{\@hsltrue \@hincltrue} +\def\headseplineoff{\@hslfalse \@hinclfalse} +\headseplineoff +\newif\if@fincl +\def\footincludeon{\@fincltrue} +\def\footincludeoff{\@finclfalse} +\newif\if@fsl +\def\footseplineon{\@fsltrue \@fincltrue} +\def\footseplineoff{\@fslfalse \@finclfalse} +\footseplineoff +\newdimen\sc@bcor +\newcount\sc@div +\newdimen\sc@hblk +\newdimen\sc@vblk +\newdimen\sc@temp +\def\typearea{\@ifnextchar [{\@typearea}{\@typearea[0mm]}} +\def\@typearea[#1]#2{ + \normalsize + \sc@bcor #1 + \sc@div=#2 + \sc@hblk \paperwidth + \advance \sc@hblk by -\sc@bcor + \divide\sc@hblk by \sc@div + \oddsidemargin -1in + \evensidemargin -1in + \if@twoside + \advance\oddsidemargin by \sc@hblk + \advance\oddsidemargin by \sc@bcor + \advance\evensidemargin by 2\sc@hblk + \else + \advance\oddsidemargin by 1.5\sc@hblk + \advance\oddsidemargin by \sc@bcor + \evensidemargin\oddsidemargin + \fi + \textwidth \paperwidth + \advance\textwidth by -\sc@bcor + \advance\textwidth by -3\sc@hblk + \headheight 15pt + \headsep 1.5\baselineskip + \footskip 3.5\baselineskip + \sc@vblk \paperheight + \divide\sc@vblk by \sc@div + \sc@temp \paperheight + \advance\sc@temp by -3\sc@vblk + \if@hincl + \advance\sc@temp by -\headheight + \advance\sc@temp by -\headsep + \fi + \if@fincl + \advance\sc@temp by -\footskip + \fi + \textheight \topskip + \@whiledim\textheight<\sc@temp + \do{\advance\textheight by \baselineskip} + \topmargin \sc@vblk + \advance\topmargin by -1in + \if@hincl \else + \advance\topmargin by -\headheight + \advance\topmargin by -\headsep + \fi + \if@twoside + \marginparwidth 1.5\sc@hblk + \else + \marginparwidth \sc@hblk + \fi + \marginparsep 1cc + \marginparpush 0.45\baselineskip} +\def\areaset{\@ifnextchar [{\@areaset}{\@areaset[0mm]}} +\def\@areaset[#1]#2#3{ + \normalsize + \sc@bcor #1 + \textwidth #2 + \textheight #3 + \sc@hblk \paperwidth + \advance\sc@hblk by -\sc@bcor + \advance\sc@hblk by -\textwidth + \divide\sc@hblk by 3 + \oddsidemargin -1in + \evensidemargin -1in + \if@twoside + \advance\oddsidemargin by \sc@hblk + \advance\oddsidemargin by \sc@bcor + \advance\evensidemargin by 2\sc@hblk + \else + \advance\oddsidemargin by 1.5\sc@hblk + \advance\oddsidemargin by \sc@bcor + \evensidemargin\oddsidemargin + \fi + \headheight 15pt + \headsep 1.5\baselineskip + \footskip 3.5\baselineskip + \sc@vblk \paperheight + \advance\sc@vblk by -\textheight + \divide\sc@vblk by 3 + \if@hincl + \advance\textheight by -\headheight + \advance\textheight by -\headsep + \fi + \if@fincl + \advance\textheight by -\footskip + \fi + \topmargin \sc@vblk + \advance\topmargin by -1in + \if@hincl \else + \advance\topmargin by -\headheight + \advance\topmargin by -\headsep + \fi + \if@twoside + \marginparwidth 1.5\sc@hblk + \else + \marginparwidth \sc@hblk + \fi + \marginparsep 1cc + \marginparpush 0.45\baselineskip} +\ifcase \@ptsize\relax \typearea{8} \or \typearea{10} \or \typearea{12} \fi + +\parskip 0pt plus 1pt +\parindent 1em +\partopsep 3pt plus 2pt minus 2pt +\footnotesep 0.6\baselineskip +\skip\footins 0.75\baselineskip plus 4pt minus 2pt +\skip\@mpfootins = \skip\footins +\columnsep 1cc +\columnseprule 0pt +\floatsep 1\baselineskip plus 2pt minus 2pt +\textfloatsep 20pt plus 2pt minus 4pt +\intextsep 1\baselineskip plus 2pt minus 2pt +\@maxsep 20pt +\dblfloatsep 1\baselineskip plus 2pt minus 2pt +\dbltextfloatsep 20pt plus 2pt minus 4pt +\@dblmaxsep 20pt +\@fptop 0pt plus 1fil +\@fpsep 0.7\baselineskip plus 2fil +\@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil +\@dblfpsep 0.7\baselineskip plus 2fil +\@dblfpbot 0pt plus 1fil + +\arraycolsep 5pt +\tabcolsep 6pt +\arrayrulewidth 0.4pt +\doublerulesep 2pt +\fboxsep 3pt +\fboxrule 0.4pt +\tabbingsep \labelsep + +\labelsep .5em +\leftmargini 2.5em +\leftmarginii 2.2em +\leftmarginiii 1.87em +\leftmarginiv 1.7em +\leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelwidth\leftmargini +\advance\labelwidth-\labelsep +\def\@listI{\leftmargin\leftmargini + \topsep 0.8em plus 0.2em minus 0.4em + \parsep 0.4em plus 2pt minus 1pt + \itemsep \parsep} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 0.4em plus 2pt minus 1pt + \parsep 0.2em plus 1pt minus 1pt + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 0.2em plus 1pt minus 1pt + \parsep \z@ + \partopsep 1pt plus 0pt minus 1pt + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty + +\def\theenumi{\arabic{enumi}} +\def\theenumii{\alph{enumii}} +\def\theenumiii{\roman{enumiii}} +\def\theenumiv{\Alph{enumiv}} +\def\labelenumi{\theenumi.} +\def\labelenumii{\theenumii)} +\def\labelenumiii{\theenumiii.} +\def\labelenumiv{\theenumiv.} +\def\p@enumii{\theenumi} +\def\p@enumiii{\theenumi\theenumii)} +\def\p@enumiv{\p@enumiii\theenumiii} +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\triangleright$} +\def\labelitemiv{$\cdot$} + +\newcounter{part} +\newcounter {chapter} +\newcounter {section}[chapter] +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] + +\def\thepart {\Roman{part}} +\def\thechapter {\arabic{chapter}} +\def\thesection {\thechapter.\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + +\setcounter{secnumdepth}{2} +\setcounter{tocdepth}{2} + +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist + +\def\quotation{\list{}{\listparindent 1em + \itemindent\listparindent + \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist + +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \descfont #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} +\let\enddescription\endlist +\newdimen\descriptionmargin +\descriptionmargin=3em + +\def\labelinglabel#1{#1\hfil\sc@septext} +\def\labeling{\@ifnextchar [{\@labeling}{\@labeling[]}} +\def\@labeling[#1]#2{\def\sc@septext{#1} + \list{}{\settowidth{\labelwidth}{#2#1} + \leftmargin\labelwidth \advance\leftmargin by \labelsep + \let\makelabel\labelinglabel}} +\let\endlabeling\endlist + +\def\marginline#1{\marginpar% + {\if@twoside \ifodd\c@page \raggedright \else \raggedleft \fi + \else \raggedright \fi #1}} + +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +\def\next@tpage{\newpage\thispagestyle{empty}\null} +\def\@extratitle{} +\long\def\extratitle#1{\def\@extratitle{#1}} +\def\@titlehead{} +\long\def\titlehead#1{\def\@titlehead{#1}} +\def\@subject{} +\def\subject#1{\def\@subject{#1}} +\def\@publishers{} +\def\publishers#1{\def\@publishers{#1}} +\def\@uppertitleback{} +\long\def\uppertitleback#1{\def\@uppertitleback{#1}} +\def\@lowertitleback{} +\long\def\lowertitleback#1{\def\@lowertitleback{#1}} +\def\@dedication{} +\def\dedication#1{\def\@dedication{#1}} +\def\maketitle{\@ifnextchar [{\@maketitle}{\@maketitle[1]}} +\def\@maketitle[#1]{\bgroup \@restonecolfalse + \if@twocolumn \@restonecoltrue\onecolumn \else \newpage \fi + \thispagestyle{empty}\null + \setcounter{page}{#1} + \let\footnotesize\small + \let\footnoterule\relax + \ifx\@extratitle\@empty \else + \noindent\@extratitle \next@tpage \if@twoside \next@tpage \fi + \fi + \ifx\@titlehead\@empty \else + \noindent\begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null \vfill + \ifx\@subject\@empty \else + {\centering \Large \@subject \par} + \vskip 3em + \fi + {\centering \huge \sectfont \@title \par} + \vskip 3em + {\centering \Large \lineskip 0.75em + \begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vskip 1.5em + {\centering \Large \@date \par} + \vskip 0pt plus 3fill + {\centering \Large \@publishers \par} + \vskip 3em + \par \@thanks + \if@twoside \next@tpage + \noindent\begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \noindent\begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty \else + \next@tpage \vfill + {\centering \Large \@dedication \par} + \vskip 0pt plus 3fill + \if@twoside \next@tpage \fi + \fi + \if@restonecol\twocolumn \else \newpage \fi + \egroup + \setcounter{footnote}{0} + \let\thanks\relax \gdef\@extratitle{}\gdef\@titlehead{}\gdef\@subject{}% + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@publishers{}% + \gdef\@uppertitleback{}\gdef\@lowertitleback{}\gdef\@dedication{}% + \let\maketitle\relax \let\@maketitle\relax} + +\newif\if@abstrt +\def\abstracton{\@abstrttrue} +\def\abstractoff{\@abstrtfalse} +\def\abstractname{Abstract} +\def\abstract{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty} \null \vfil + \if@abstrt \begin{center} {\sectfont \abstractname} \end{center}\fi} +\def\endabstract{\par \vfil \null + \if@twoside \next@tpage \fi + \if@restonecol\twocolumn \else \newpage \fi} + +\def\partname{Part} +\def\part{\cleardoublepage \thispagestyle{empty} \if@twocolumn \onecolumn + \@tempswatrue \else \@tempswafalse \fi \null \vfil \secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax \refstepcounter{part} + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}\else + \addcontentsline{toc}{part}{#1}\fi \markboth{}{} + {\centering \ifnum \c@secnumdepth >-2\relax \huge \sectfont\partname{} + \thepart \par \vskip 20pt \fi \Huge \sectfont #2\par}\@endpart} +\def\@spart#1{{\centering \Huge \sectfont #1\par}\@endpart} +\def\@endpart{\vfil\newpage \if@twoside \null \thispagestyle{empty} + \newpage \fi \if@tempswa \twocolumn \fi} + +\def\chaptername{Chapter} +\def\@chapapp{\chaptername} +\def\chaptermark#1{} +\def\chapter{\clearpage \thispagestyle{plain} \global\@topnum\z@ + \@afterindentfalse \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter} + \typeout{\@chapapp\space\thechapter.} + \addcontentsline{toc}{chapter}{\protect \numberline{\thechapter.}#1} + \else + \addcontentsline{toc}{chapter}{#1}\fi + \chaptermark{#1} + \addtocontents{lof}{\protect\addvspace{10pt}} + \addtocontents{lot}{\protect\addvspace{10pt}} + \if@twocolumn \@topnewpage[\@makechapterhead{#2}] + \else \@makechapterhead{#2} \fi \@afterheading} +\def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}] + \else \@makeschapterhead{#1} \fi \@afterheading} +\def\@makechapterhead#1{\vspace*{50pt} {\Huge \sectfont + \@hangfrom{\ifnum \c@secnumdepth >\m@ne \thechapter. \fi}% + {\raggedright \interlinepenalty \@M #1\par}} \nobreak \vskip 40pt} +\def\@makeschapterhead#1{\vspace*{50pt} {\Huge \sectfont \@hangfrom{}% + {\raggedright \interlinepenalty \@M #1\par}} \nobreak \vskip 40pt} + +\def\addchap{\clearpage \thispagestyle{plain} \global\@topnum\z@ + \@afterindentfalse \secdef\@addchap\@saddchap} +\def\@addchap[#1]#2{\typeout{#2} + \addcontentsline{toc}{chapter}{#1} + \if@twoside \markboth{#1}{}\else \markright{#1} \fi + \addtocontents{lof}{\protect\addvspace{10pt}} + \addtocontents{lot}{\protect\addvspace{10pt}} + \if@twocolumn \@topnewpage[\@makeschapterhead{#2}] + \else \@makeschapterhead{#2} \fi \@afterheading} +\def\@saddchap#1{\markboth{}{} + \if@twocolumn \@topnewpage[\@makeschapterhead{#1}] + \else \@makeschapterhead{#1} \fi \@afterheading} + +\def\appendixname{Appendix} +\def\appendix{\par + \setcounter{chapter}{0} + \setcounter{section}{0} + \def\@chapapp{\appendixname} + \def\thechapter{\Alph{chapter}}} + +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus + -.2ex}{2.3ex plus .2ex}{\Large \sectfont}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus + -.2ex}{1.5ex plus .2ex}{\large \sectfont}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus -1ex + minus -.2ex}{1.5ex plus .2ex}{\sectfont}} +\def\paragraph{\@startsection{paragraph}{4}{\z@}{3.25ex plus 1ex minus + .2ex}{-1em}{\sectfont}} +\def\subparagraph{\@startsection{subparagraph}{4}{\parindent}{3.25ex plus + 1ex minus .2ex}{-1em}{\sectfont}} + +\def\minisec#1{\@afterindentfalse \vskip 1.5ex {\parindent 0pt \raggedright + \sectfont #1\par\nobreak}\@afterheading} + +\def\contentsname{Contents} +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\def\tableofcontents{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \chapter*{\contentsname \@mkboth{\contentsname}{\contentsname}} + \@starttoc{toc}\if@restonecol\twocolumn\fi} +\def\l@part#1#2{\addpenalty{-\@highpenalty} + \addvspace{2.25em plus 1pt} \begingroup + \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip + -\@pnumwidth + {\sectfont \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak \global\@nobreaktrue \everypar{\global\@nobreakfalse\everypar{}} + \endgroup} +\def\l@chapter#1#2{\addpenalty{-\@highpenalty} + \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \sectfont \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss #2}\par + \penalty\@highpenalty \endgroup} +\def\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\def\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} +\def\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} +\def\l@paragraph{\@dottedtocline{4}{10em}{5em}} +\def\l@subparagraph{\@dottedtocline{5}{12em}{6em}} + +\def\listfigurename{List of Figures} +\def\listoffigures{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \chapter*{\listfigurename \@mkboth{\listfigurename}{\listfigurename}} + \@starttoc{lof}\if@restonecol\twocolumn\fi} +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} + +\def\listtablename{List of Tables} +\def\listoftables{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \chapter*{\listtablename \@mkboth{\listtablename}{\listtablename}} + \@starttoc{lot}\if@restonecol\twocolumn\fi} +\let\l@table\l@figure + +\def\bibname{Bibliography} +\def\thebibliography#1{\chapter*{\bibname \@mkboth{\bibname}{\bibname}} + \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip 0.11em plus 0.33em minus 0.07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + +\def\indexname{Index} +\newif\if@restonecol +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule \z@ + \columnsep 35pt\twocolumn[\@makeschapterhead{\indexname}] + \@mkboth{\indexname}{\indexname} + \thispagestyle{plain}\parindent\z@ + \parskip\z@ plus 0.3pt\relax\let\item\@idxitem} +\def\@idxitem{\par\hangindent 40pt} +\def\subitem{\par\hangindent 40pt \hspace*{20pt}} +\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} + +\@addtoreset{footnote}{chapter} +\def\footnoterule{\kern-3\p@ + \hrule width 0.4\columnwidth + \kern 2.6\p@} +\long\def\@makefntext#1{\noindent \sc@temp\columnwidth% + \advance\sc@temp by -1.5em \hbox to 1em{\hss$^{\@thefnmark}$}\hskip .5em% + \parbox[t]{\sc@temp}{\parindent 0pt\parskip 0pt\hskip -.5em #1}} + +\@addtoreset{equation}{chapter} +\def\theequation{\thechapter.\arabic{equation}} + +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +\long\def\@makecaption#1#2{\vskip 10pt + \setbox\@tempboxa\hbox{\captfont #1: #2} + \ifdim \wd\@tempboxa >\hsize \@hangfrom{\captfont #1: }% + {\captfont #2\par} + \else \hbox to\hsize{\hfil\box\@tempboxa\hfil} + \fi} + +\def\figurename{Figure} +\newcounter{figure}[chapter] +\def\thefigure{\thechapter.\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename{} \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +\def\tablename{Table} +\newcounter{table}[chapter] +\def\thetable{\thechapter.\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename{} \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + +\mark{{}{}} +\if@twoside + \def\ps@plain{\let\@mkboth\@gobbletwo + \def\@evenhead{}% + \def\@oddhead{}% + \def\@evenfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\thepage\hfil}}}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage}}}} + \def\ps@headings{\let\@mkboth\markboth + \def\@evenhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\leftmark\hfil} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\hfil\rightmark} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@evenfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\thepage\hfil}}}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage}}}% + \def\chaptermark##1{\markboth {\ifnum \c@secnumdepth >\m@ne + \thechapter. \ \fi ##1}{}}% + \def\sectionmark##1{\markright {\ifnum \c@secnumdepth >\z@ + \thesection\ \ \fi ##1}}% + \def\subsectionmark##1{}} + \def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@evenhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\leftmark\hfil} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\hfil\rightmark} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@evenfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\thepage\hfil}}}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage}}}% + \def\chaptermark##1{}% + \def\sectionmark##1{}% + \def\subsectionmark##1{}} +\else + \def\ps@plain{\let\@mkboth\@gobbletwo + \def\@evenhead{}% + \def\@oddhead{}% + \def\@evenfoot{}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage\hfil}}}} + \def\ps@headings{\let\@mkboth\markboth + \def\@evenhead{}% + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\hfil\rightmark\hfil} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@evenfoot{}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage\hfil}}}% + \def\chaptermark##1{\markright {\ifnum \c@secnumdepth >\m@ne + \thechapter. \ \fi ##1}}% + \def\sectionmark##1{}% + \def\subsectionmark##1{}} + \def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@evenhead{}% + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\hfil\rightmark\hfil} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@evenfoot{}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage\hfil}}}% + \def\chaptermark##1{}% + \def\sectionmark##1{}% + \def\subsectionmark##1{}} +\fi + +\def\today{\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 + \space\number\day, \number\year} + +\@abstrttrue +\ps@headings +\pagenumbering{arabic} +\onecolumn +\if@twoside \else \raggedbottom \fi +\frenchspacing +\def\captfont{\rm} +\def\descfont{\sfb} +\def\headfont{\it} +\def\pnumfont{\rm} +\def\sectfont{\sfb} + diff --git a/obsolete/macros/latex209/contrib/script/script.tex b/obsolete/macros/latex209/contrib/script/script.tex new file mode 100644 index 0000000000..28b2479786 --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/script.tex @@ -0,0 +1,1466 @@ +\documentstyle[twoside,german]{script} +\headseplineon +\typearea{10} +\sloppy +\def\com#1{{\tt \char92 #1}} + +\date{1. Dezember 1993} + +\begin{document} + +\title{Die Document-Style-Familie\\"`Script"'} +\author{Version 2.0} +\uppertitleback{Haftungsausschlu"s:\\Es wird keinerlei Haftung "ubernommen + f"ur irgendwelche Sch"aden, die aus der Benutzung der Programme des hier + beschriebenen Paketes folgen.} +\maketitle[-1] + +\tableofcontents + +\chapter{Allgemeines} + +\section{Einleitung} + +Urspr"unglich versuchte ich im Rahmen eines gr"o"seren Projektes\footnote{es +handelte sich um ein Vorlesungs-Skript -- daher auch der Name f"ur die hier +beschriebene Style-Familie} lediglich den "`boldface extended"'-Font +({\tt cmbx}) in "Uberschriften durch einen sch"oneren zu ersetzen und +forschte deshalb in den Style-Dateien nach "Anderungsm"oglichkeiten. +Ungef"ahr gleichzeitig bekam ich ein sehr gutes Buch "uber Typographie% +\footnote{{\sc Jan Tschichold}: Ausgew"ahlte Aufs"atze "uber die Gestalt des +Buches und der Typographie, Zweite Auf\/lage, Birkh"auser Verlag Basel 1987} +in die Hand, und es wurde mir sehr bald klar: es m"ussen komplett +neue Styles her, die auch die europ"aischen typographischen Regeln und +Papierformate (insbesondere DIN A4) ber"ucksichtigen. + +Nach einigen Wochen Arbeit habe ich am 6. Juni 1992 die Version~1.0 +der Document-Style-Familie "`Script"' per FTP ver"offentlicht und +war sehr "uberrascht "uber die gro"se Resonanz. Neben +vielen kleineren Problemen (die allerdings meistens auf \LaTeX\ und +nicht auf {\tt script} zur"uckzuf"uhren waren) wurde auch eine echte +Unzul"anglichkeit zur Verbesserung an mich herangetragen: der {\tt +script\_l}-Style lieferte in Verbindung mit dem neuen Fontauswahlschema +von Mittelbach und Sch"opf einige Fehlermeldungen. Dieses Schema -- +im folgenden kurz NFSS genannt -- war damals auf meinem Rechner noch +nicht installiert, so da"s mir dieses Manko nicht aufgefallen war. +Die jetzt vorliegende "`Script"'-Version~2.0 sollte nun in allen +Teilen sowohl mit dem alten als auch dem neuen Fontauswahlschema +fehlerfrei laufen. "Ubrigens kann ich das NFSS besten Gewissens jedermann +empfehlen; es ist sehr angenehm damit zu arbeiten und wird ab der +n"achsten \LaTeX -Version sowieso Standard. + +Der Erstbenutzer von "`Script"' kann einen ersten Eindruck von den +durchgef"uhrten "Anderungen gegen"uber den Standardstyles durch diese +Dokumentation selbst bekommen; sie wurde mit +\verb|\documentstyle[twoside,german]{script}| und nachtr"aglicher +Einstellung von \verb|\headseplineon| (siehe S.~\pageref{HEADSEPLINE}) +gesetzt. Doch auch "`alten Hasen"' sei die Lekt"ure ans Herz gelegt, +da sich so manche Kleinigkeit gegen"uber Version~1.0 ge"andert hat. +Diese Modifikationen sind jedoch aufw"artskompatibel und im Text gesondert +erw"ahnt. + +\section{Autor, Copyright und Danksagungen} + +Die Document-Style-Familie {\tt script} und die dazugeh"orige Dokumentation +(die Sie gerade lesen) wurden von Frank Neukam geschrieben. "`Script"' +ist, wie bei \TeX\ "ublich, frei kopierbar (public domain). +Nachtr"agliche "Anderungen Ihrerseits sind nat"urlich wie +bei den Originalen legitim, nur bitte ich darum, bei Minimalmodifikationen +der Styles die Autorenangabe nicht allzu dreist zu ver"andern (oder gar +meinen werten Namen frech durch den eigenen zu ersetzen!), sondern +Kommentarzeilen wie "`Modified by \dots"' einzuf"ugen. Au"serdem sollte dann +in der typeout message und der ersten Kommentarzeile das Datum aktualisiert +und jede "Anderung kommentiert werden. + +Sollten Sie Ihre modifizierte Version ver"offentlichen wollen, +so bitte ich, diese nicht (wie schon geschehen) als "`offizielle"' neue +Ausgabe mit neuer Versionsnummer zu verbreiten und wom"oglich sogar das +alte Original auf einer Mailbox oder einem FTP-Server zu "uberschreiben. +Bitte kennzeichnen Sie in diesem Fall Ihre Version eindeutig als "`Patch"', +belassen Sie die Versionsnummer (sonst gibt es irgendwann zig verschiedene +Modifikationen mit identischen Nummern) und speichern Sie sie in einem +anderen Verzeichnis oder Archiv als das Original. Falls Sie Ihre "Anderungen +gerne in einer neuen "`offiziellen"' Version von {\tt script} sehen w"urden, +so setzen Sie sich bitte mit mir in Verbindung (Adresse siehe unten). + +Mein besonderer Dank gilt an dieser Stelle dem Rechenzentrum der +Universit"at Karlsruhe f"ur viele Probeausdrucke, Thorsten Hoeppner, +Klaus-J"urgen Wald und Christian Wurll f"ur Ideen und Kritik, Uta +Janssen f"ur typographische Beratung, Dr.~Karlheinz Fingerle f"ur die +Bereitstellung des NFSS, Oliver Schurr f"ur seinen Artikel "uber "`Script"' +im DANTE-Magazin\footnote{Die \TeX nische Kom"odie, Heft 3/92}, Markus +Kohm f"ur das Patch zur Papiergr"o"seneinstellung, Sven Gohlke f"ur +Programmierarbeit und Tips bez"uglich der Sprachumschaltung beim {\tt +script\_l.sty} sowie allen eifrigen Briefeschreibern, deren Lob, Kritik und +Verbesserungsvorschl"agen Sie diese neue Version zu verdanken haben. + +\section{Was ist was} + +Das komplette Paket der Version~2.0 besteht aus folgenden Files: +\begin{labeling}[\ ]{\tt checkprt.tex} +\item[\tt checkprt.tex] Testseite zur genauen Einstellung von + Druckertreibern +\item[\tt dir.tex] Programm zum Drucken eines Adre"sbuches aus einem + {\tt .adr}-File (siehe S.~\pageref{ADR}) +\item[\tt phone.tex] Programm zum Drucken eines + Telefonnummern-Verzeichnisses aus einem {\tt .adr}-File; + erst seit Version~2.0 Bestandteil des Paketes +\item[\tt script.dvi] Dokumentation zur "`Script"'-Stylefamilie +\item[\tt script.sty] Style-Hauptdatei; entspricht einem Mittelding aus + {\tt report.sty} und {\tt book.sty} +\item[\tt script.tex] Quelltext zu {\tt script.dvi} +\item[\tt script10.sty] Hilfsdatei f"ur alle drei Hauptstyles; wird von + diesen bei Einstellung der 10pt-Schrift nachgeladen +\item[\tt script11.sty] Dito, f"ur 11 pt +\item[\tt script12.sty] Dito, f"ur 12 pt +\item[\tt script\_l.sty] Style-Hauptdatei "`script\_letter"'; entspricht dem + {\tt letter.sty} +\item[\tt script\_s.sty] Style-Hauptdatei "`script\_small"'; entspricht dem + {\tt article.sty} +\item[\tt sctitle.sty] Pendant zu {\tt titlepage.sty}; erzeugt eine eigene + Titelseite +\item[\tt typearea.sty] Style-Option zur einfacheren Satzspiegeleinstellung +\end{labeling} + +\section{Kompatibilit"at zu den Originalstyles} + +Alle Befehle, die in den zugrundeliegenden Original-Styles {\tt article}, +{\tt report}, {\tt book} und {\tt letter} vorhanden sind, +sind auch weiterhin verf"ugbar. Es wurden lediglich Befehle hinzugef"ugt +bzw. schon vorhandene Einstellungen und Befehlsdefinitionen modifiziert. +Dadurch mu"s man bei Verwendung der "`Script"'-Styles eigentlich nichts +besonders beachten, nur das Ergebnis wird etwas anders aussehen als +gewohnt. So ist es auch kein Problem, "`alte"' Texte dem neuen Layout +anzupassen, indem man in der Definition des Document-Styles z.B. +{\tt article} einfach durch {\tt script\_s} ersetzt. Um die neuen +M"oglichkeiten jedoch voll aussch"opfen zu k"onnen, ist die Lekt"ure +dieser Anleitung unumg"anglich. + +\section{Fehler} + +Als Entsch"adigung daf"ur, da"s sich mit Sicherheit irgendwo neue Fehler +in die Styles eingeschlichen haben, wurden ein paar bei den Originalen +vorhandene entfernt. Falls Sie einen Fehler finden, der eindeutig +auf eine Fehlprogrammierung der verwendeten Style-Dateien zur"uckzuf"uhren +ist, bitte ich Sie, mir das auch im Interesse der anderen Benutzer zu +schreiben, damit ich ihn beim n"achsten Update entfernen kann. +Aber auch f"ur sonstige Kritik und Verbesserungsvorschl"age bin +ich immer dankbar; bitte bestehen Sie jedoch nicht auf einer R"uckantwort +und bestellen Sie keine Styles bei mir (irgendwoher m"ussen Sie diese +Anleitung ja haben, da sind auch die Styles selbst bestimmt nicht weit). +Hier meine Adresse: +\begin{quote} +Frank Neukam\\ +Franz-Stadelmayer-Str. 30\\ +97074 W"urzburg +\end{quote} + +\chapter{Das neue Layout} + +\section{Die neuen Fonts} + +"Uberall, wo fr"uher Extended Boldface verwendet wurde (also in allen +"Uberschriften, im Inhaltsverzeichnis und im {\tt description} Environment) +wird jetzt standardm"a"sig ein neuer Font benutzt, n"amlich Sansserif +Bold Extended ({\tt cmssbx}). Es handelt sich dabei um eine serifenlose +Schrift in halbfetter Ausf"uhrung, die durch den Befehl \verb|\sfb|% +\footnote{Bei Verwendung des NFSS ist die Befehlsfolge \com{sf}\com{bf} +dem \com{sfb}-Kommando vorzuziehen, da \com{sfb} aus Kompatibilit"atsgr"unden +wie ein "`alter"' Fontselektionsbefehl arbeitet, also {\em alle\/} +Fontparameter einstellt.} selektiert wird. Zu beachten ist lediglich, da"s +als kleinste Gr"o"se ein 10pt-Font zur Verf"ugung steht; wird z.B. mittels +\verb|\tiny\sfb| eine kleinere Schrift gew"unscht, so wird aus +Lesbarkeitsgr"unden die normale Extended Boldface eingestellt, da diese +auch noch in kleineren Entwurfsgr"o"sen vorhanden ist. + +\section{Der Satzspiegel} + +\subsection{Grundlegendes} + +Der Satzspiegel definiert die Gr"o"se des bedruckten Bereichs einer Seite% +\footnote{Im folgenden auch "`Textbereich"' genannt; Kopfzeile, Fu"szeile +und Randnoten z"ahlen jedoch nicht dazu.} und dessen Positionierung auf +der Seite; seine Breite ist abh"angig von der gew"ahlten Schriftart und +-gr"o"se (optimale Lesbarkeit ist bei ca. 60-70 Zeichen pro Zeile gegeben). +Bei seiner Konstruktion ist besonders auf die Seitenproportionen +(Verh"altnis von Breite zu H"ohe) sowie auf seinen Stand auf der Seite zu +achten. + +Jan Tschichold hat in dem in der Einleitung angegebenen Buch eine +Konstruktion vorgeschlagen, die einfach durchf"uhrbar ist und bei jedem +Seitenverh"altnis des gew"ahlten Papierformats (also auch bei dem +"`unklassischen"' DIN A4-Format mit dem Seitenverh"altnis 1:$\sqrt{2}$, von +dem in allen {\tt script}-Hauptstyles normalerweise ausgegangen wird) sehr +ansprechende Ergebnisse liefert. Dies liegt wohl in der Hauptsache daran, +da"s hier der Satzspiegel die gleichen Seitenverh"altnisse wie die zu +bedruckende Seite selbst aufweist; auch die R"ander stehen in einer sehr +einfachen Relation zueinander (innerer zu "au"serer bzw. oberer zu unterer +Rand verhalten sich wie 1:2; bei einseitigem Druck, also ohne die +{\tt twoside}-Option, sind innerer und "au"serer Rand gleich gro"s). + +\subsection{Konstruktion} + +Die Konstruktion basiert auf einer Einteilung der Breite und H"ohe +der Seite in $n$ gleiche Teile. Das Ergebnis ist je eine L"angenangabe f"ur +die Horizontale -- im folgenden mit HLE (horizontale L"angeneinheit) +abgek"urzt -- und die Vertikale (VLE). + +\begin{description} +\item[Beispiel: ] F"ur eine DIN A4-Seite (210 mm $\times$ 297 mm) ergibt + sich bei Zehnteilung der Seite ($n=10$) f"ur die horizontale + L"angeneinheit HLE = 210 mm $\div$ 10 = 21 mm und f"ur die + vertikale L"angeneinheit VLE = 297 mm $\div$ 10 = 29.7 mm. +\end{description} + +\noindent Nun wird bei doppelseitigem Druck einfach der innere Rand% +\footnote{Es ist hier der effektiv sichtbare Rand gemeint, nicht die odd- +bzw. evensidemargin-Einstellung; diese Gr"o"sen werden intern so +errechnet, da"s eben genau der gew"unschte Rand sichtbar ist.} auf eine +Breite von 1 HLE und der "au"sere Rand auf 2 HLE gesetzt. Soll einseitig +gedruckt werden, so wird sowohl der innere als auch der "au"sere Rand auf +1.5 HLE eingestellt. Analog dazu wird ein oberer Rand von 1 VLE und ein +unterer Rand von 2 VLE freigelassen. F"ur den Textbereich bleibt so eine +Fl"ache von $(n-3)$ HLE Breite mal $(n-3)$ VLE H"ohe. Randbemerkungen +("`marginal notes"') stehen im "au"seren Rand und sind auf eine Breite von +1.5 HLE (bei Verwendung der {\tt twoside}-Option) bzw. 1 HLE (sonst) +begrenzt. + +\begin{description} +\item[Beispiel: ] Bei Sechsteilung der Seite ($n=6$) sind der linke und + rechte Rand zusammen 3 HLE und der Textbereich ebenfalls + $6-3=3$ HLE breit. Das gleiche gilt f"ur die vertikalen + Gr"o"sen. Damit ist bei einer Sechsteilung der Seite der + Textbereich genau halb so breit und hoch wie die gesamte + Seite. +\end{description} + +\noindent Die \TeX-Forderung, da"s die Textbereichsbreite +(\verb|\textwidth|) ein Vielfaches der Zeichenbreite der +{\tt Typewriter}-Schrift sein soll, wird durch die beschriebene exakte +Konstruktion nicht erf"ullt. +Sie wird allerdings selbst von den Original-Styles nicht eingehalten und +ist nur bei komplett in {\tt Typewriter}-Schrift geschriebenen Zeilen von +Belang. In Abschnitt~\ref{AREASET} wird eine M"oglichkeit aufgezeigt, wie +z.B. f"ur Programmlistings der Satzspiegel doch noch der \verb|\tt|-Schrift +angepa"st werden kann. + +Die zweite Regel der Satzspiegelkonstruktion, da"s \verb|\textheight| (die +H"ohe des Textbereiches) gleich \verb|\topskip| vermehrt um ein ganzzahliges +Vielfaches des Grundlinienabstandes (\verb|\baselineskip|) sein soll, wurde +jedoch befolgt. Damit wird erreicht, da"s bei komplett mit Flie"stext +gef"ullten Seiten (also Seiten ohne "Uberschriften, Tabellen, {\em displayed +material\/} o."a.) die Abs"atze nicht auseinandergezogen werden m"ussen, um +zu gew"ahrleisten, da"s die unterste Zeile mit dem unteren Rand des +Textbereichs zusammenf"allt. Der Satzspiegel kann dadurch maximal eine +knappe Zeile h"oher werden als dies bei einer exakten Konstruktion der Fall +gewesen w"are. + +\subsection{Auswahl des gew"unschten Satzspiegels} + +Man erkennt leicht, da"s f"ur kleine $n$ auch der Textbereich im Verh"altnis +zur Seitengr"o"se klein ist, und f"ur sehr gro"se $n$ der Textbereich die +Seite nahezu ausf"ullt (Randbemerkungen sind bei $n$ gr"o"ser als 12 mangels +Platz kaum noch m"oglich bzw. sinnvoll umbrechbar). So l"a"st sich mit +lediglich einer Gr"o"se der Satzspiegel in weiten Grenzen ver"andern, und +man hat au"serdem noch die Garantie, da"s er immer optimal konstruiert ist. + +Optional l"a"st sich noch ein Bindungs-Korrektur-Ma"s {\em BCOR\/} (f"ur +binding-correction) angeben, so da"s bei der Satzspiegelkonstruktion +ber"ucksichtigt wird, da"s ein Teil der Seite durch Heftung oder Bindung +nicht sichtbar ist oder abgefr"ast wird. Die Seite wird dazu um {\em BCOR\/} +schm"aler betrachtet, als sie wirklich ist, der Satzspiegel auf dieser Basis +berechnet, und anschlie"send der innere Rand um dieses St"uck vergr"o"sert. + +\begin{description} +\item[Beispiel: ] Ist durch eine Klebebindung, bei der sich die Seiten nicht + mehr bis ganz innen aufschlagen lassen, der sichtbare + Bereich der Seite nicht mehr 210 mm breit (DIN A4), sondern + 8 mm weniger, so gibt man f"ur {\em BCOR\/} 8 mm an (wie und wo + steht weiter unten) und schon steht der Satzspiegel z.B. bei + einseitigem Druck wieder exakt mittig auf dem sichtbaren + Teil der Seite und hat auch die gleichen Proportionen wie + dieser (202:297 statt 210:297). +\end{description} + +\noindent Der Satzspiegel wird durch Angabe des Befehls +\begin{quote} +\verb|\typearea[|{\em BCOR\/}\verb|]{|{\em DIV\/}\verb|}| +\end{quote} +neu konstruiert. Weil interne Gr"o"sen wie \verb|\oddsidemargin| u."a. +ver"andert werden, die nur in der Pr"aambel (dem Teil der Textquelldatei vor +\verb|\begin{document}|) modifiziert werden d"urfen, ist auch der +\verb|\typearea|-Befehl nur in der Pr"aambel erlaubt. Die Optionalangabe +{\em BCOR\/} stellt die gleichnamige Gr"o"se zur Bindungs-Korrektur ein, +w"ahrend {\em DIV\/} die Rolle des oben genannten Divisors $n$ "ubernimmt. +{\em BCOR\/} bedarf einer Ma"seinheit, wobei alle bei \TeX\ erlaubten +Einheiten m"oglich sind (pt, mm, cm, in, \dots), {\em DIV\/} hingegen mu"s +eine ganze Zahl gr"o"ser als 3 sein. + +Bei Verwendung des {\tt script} oder {\tt script\_s}-Styles wird +{\em DIV\/} nach Tabelle~\ref{DIV1} gew"ahlt (wobei keine Bindungs-Korrektur +vorgenommen wird) und der \verb|\typearea|-Befehl durch den +\verb|\documentstyle|-Befehl automatisch ausgef"uhrt. + +\begin{table} +\centering +\begin{tabular}{|c|c|} +\hline +Textfontgr"o"se & {\em DIV} \\ +\hline +10pt & 8 \\ +11pt & 10 \\ +12pt & 12 \\ +\hline +\end{tabular} + +\caption{{\em DIV\/}-Voreinstellungen} +\label{DIV1} +\end{table} + +Als Anhaltspunkt f"ur die manuelle {\em DIV\/}-Einstellung kann +Tabelle~\ref{DIV2} dienen. Dabei wurde {\em BCOR\/} = 0 und das Papierformat +DIN A4 sowie zweiseitiger Druck zugrundegelegt; die Abstimmung der +Textbereichsh"ohe auf den (von der gew"ahlten Schriftgr"o"se abh"angigen) +Grundlinienabstand, die die Textbereichsh"ohe nochmals um maximal 14.5 pt +$\simeq$ 5.1 mm vergr"o"sern kann, wurde nicht ber"ucksichtigt. + +\begin{table} +\centering +\begin{tabular}{|c||c|c|c|c|} +\hline + & \multicolumn{2}{c|}{Textbereich} & \multicolumn{2}{c|}{R"ander}\\ +{\em DIV}& Breite [mm] & H"ohe [mm] & oben [mm] & innen [mm] \\ +\hline +6 & 105.00 & 148.50 & 49.50 & 35.00 \\ +7 & 120.00 & 169.71 & 42.43 & 30.00 \\ +8 & 131.25 & 185.63 & 37.13 & 26.25 \\ +9 & 140.00 & 198.00 & 33.00 & 23.33 \\ +10 & 147.00 & 207.90 & 29.70 & 21.00 \\ +11 & 152.73 & 216.00 & 27.00 & 19.09 \\ +12 & 157.50 & 222.75 & 24.75 & 17.50 \\ +13 & 161.54 & 228.46 & 22.85 & 16.15 \\ +14 & 165.00 & 233.36 & 21.21 & 15.00 \\ +15 & 168.00 & 237.60 & 19.80 & 14.00 \\ +\hline +\end{tabular} + +\caption{Satzspiegelma"se in Abh"angigkeit von {\em DIV}} +\label{DIV2} +\end{table} + +\subsection{Ungew"ohnliche Satzspiegel\label{AREASET}} + +Wird ein Satzspiegel gew"unscht, der ungew"ohnliche Proportionen hat oder +zwar wie oben angegeben konstruiert werden soll, jedoch {\em exakt\/} die +in der vorstehenden Tabelle aufgef"uhrten Ma"se (ohne die Korrektur auf +Vielfache des Grundlinienabstandes) haben soll, so gibt es noch alternativ +zu \verb|\typearea| den Befehl +\begin{quote} +\verb|\areaset[|{\em BCOR\/}\verb|]{|{\em WIDTH\/}\verb|}{|{\em HEIGHT\/}% +\verb|}| +\end{quote} +der die Textbereichsbreite auf {\em WIDTH\/} und die Textbereichsh"ohe auf +{\em HEIGHT\/} setzt (jeweils ohne jede nachtr"agliche Korrektur) und die +Rand- und Randnoten-Einstellungen so vornimmt, da"s der Textbereich sinnvoll +positioniert wird ("ahnlich wie beim \verb|\typearea|-Befehl). Auch die +Wirkung der optionalen {\em BCOR\/}-Angabe ist wie schon oben beschrieben. + +Damit ist es nun sehr einfach m"oglich, z.B. genau quadratische oder sehr +schmale hohe Satzspiegel zu verwirklichen. Wenn die automatische +Positionierung nicht gef"allt, kann diese durch die entsprechenden Befehle +nat"urlich auch noch nachtr"aglich ver"andert werden. Weiterhin ist es +hiermit m"oglich, die Satzspiegelbreite auf die Breite eines vorgegebenen +Textes abzustimmen. +Als Beispiel soll, wie weiter oben angek"undigt, der Textbereich der Breite +von 30 Zeichen in {\tt Typewriter}-Schrift angepa"st werden. Eine +Befehlsfolge, die dieses durchf"uhrt, w"urde etwa lauten: +\begin{quote} +\verb|\newlength{\thirtytt}|\\ +\verb|\settowidth{\thirtytt}{\tt 123456789012345678901234567890}|\\ +\verb|\areaset{\thirtytt}{20cm} % Textbereichsh"ohe: 20cm| +\end{quote} +Auch dieser Befehl darf selbstverst"andlich nur in der Pr"aambel +auftreten. + +\subsection{Ber"ucksichtigung von Kopf- und/oder Fu"szeile} + +Manchmal ist es sinnvoll, da"s bei der Konstruktion des Satzspiegels auch +die Kopf- und/oder Fu"szeile als zum Textbereich dazugeh"orig betrachtet wird. +Dies ist z.B. der Fall, wenn der Kolumnentitel wie in dieser Dokumentation +durch eine horizontale Linie vom eigentlichen Text getrennt ist und dadurch +optisch n"aher an diesen heranr"uckt. + +Bei Angabe des \verb|\headincludeon| Befehls gilt bei einer nachfolgenden +Satzspiegelberechnung mit Hilfe des \verb|\typearea|- oder +\verb|\areaset|-Befehls alles, was oben "uber den Textbereich gesagt wurde, +f"ur Textbereich plus Kopfzeile. Dieses Verhalten l"a"st sich nat"urlich mit +der komplement"aren Anweisung \verb|\headincludeoff| wieder abschalten. +F"ur Fu"szeilen gibt es ab der Version~2.0 von {\tt script} die entsprechenden +Befehle \verb|\footincludeon| bzw. \verb|\footincludeoff|. + +\subsection{Andere Papierformate} + +Sollen sich die Satzspiegelberechnungen nicht auf DIN A4 +(wie es hier voreingestellt ist), sondern auf ein anderes Papierformat +beziehen, so mu"s nun nicht mehr -- wie dies noch in der Version~1.0 +der "`Script"'-Styles der Fall war -- die Datei {\tt typearea.sty} +modifiziert werden. Ab Version~2.0 lassen sich andere Blattma"se als +DIN A4 einfach durch die "Anderung der Variablen \verb|\paperwidth| bzw. +\verb|\paperheight| (vor dem Aufruf des \verb|\typearea|- bzw. +\verb|\areaset|-Befehls) einstellen. Einem Vorschlag von Markus Kohm folgend, +werden diese beiden Variablen automatisch durch die Angabe einer der +Optionen \verb|DINA3|, \verb|DINA4|\footnote{Diese Option wurde nur der +Vollst"andigkeit halber mit aufgenommen, da auch ohne deren Angabe das +Papierformat DIN~A4 zugrunde gelegt wird.}, \verb|DINA5|, \verb|DINA6|, +\verb|DINA3l|, \verb|DINA4l|, \verb|DINA5l| oder \verb|DINA6l| im +\verb|\documentstyle| Befehl gesetzt und der Satzspiegel entsprechend +berechnet. Der Buchstabe \verb|l| am Ende dieser Optionen kennzeichnet +dabei die Verwendung des Querformats (\verb|l| steht f"ur "`Landscape"', +dem englischen Fachbegriff f"ur Druck im Querformat). + +\begin{description} +\item[Beispiel 1: ] Ein Gedichtb"andchen soll im DIN A5-Format gedruckt + werden. Dazu gen"ugt nun die Angabe von \verb|DINA5| als + Styleoption, z.B.: + \begin{quote} + \verb|\documentstyle[german,DINA5]{script}| + \end{quote} +\item[Beispiel 2: ] Der Textbereich eines Zeitplanes im DIN A4 + {\em Quer\/}format soll exakt 270~mm mal 190~mm + gro"s sein. Dies wird erreicht durch die Angabe von + \begin{quote} + \verb|\documentstyle[german,DINA4l]{script_s}|\\ + \verb|\areaset{270mm}{190mm}| + \end{quote} + und einer (systemabh"angigen) Anweisung an den Druckertreiber, + im Querformat zu drucken. +\item[Beispiel 3: ] Beim Gedichtb"andchen aus Beispiel~1 soll zus"atzlich + eine Abfr"asung von 1,5~mm ber"ucksichtigt werden. Dazu mu"s + der Satzspiegel nochmal neu konstruiert werden, z.B. mit + \begin{quote} + \verb|\documentstyle[german,DINA5]{script}|\\ + \verb|\typearea[1.5mm]{12}| + \end{quote} +\item[Beispiel 4: ] Es soll auf Endlospapier mit den Ma"sen + $8\frac{1}{4}$~inch mal 12~inch gedruckt werden, und auch dort + soll der Satzspiegel ordentlich aussehen. Mit den Befehlen + \begin{quote} + \verb|\paperwidth 8.25in|\\ + \verb|\paperheight 12in|\\ + \verb|\typearea{10}| + \end{quote} + wird dies erreicht. Druckt man "ofters auf Endlospapier, so + empfiehlt es sich, diese Anweisungen in eine eigene Optionsdatei + (z.B. \verb|endlos.sty|) zu schreiben, die man dann einfach + z.B. mit + \begin{quote} + \verb|\documentstyle[endlos,german]{script}| + \end{quote} + verwenden kann. Soll zus"atzlich das Argument des + \verb|\typearea|-Befehls abh"angig von der gew"ahlten + Schriftgr"o"se sein, so ersetzt man in dieser Optionsdatei + \verb|\typearea{10}| durch + \begin{quote} + \verb|\ifcase \@ptsize\relax|\\ + \verb| \typearea{8} %10pt|\\ + \verb| \or \typearea{10} %11pt|\\ + \verb| \or \typearea{12} %12pt|\\ + \verb|\fi| + \end{quote} +\end{description} + +\subsection{Einbindung der Befehle zur Satzspiegeleinstellung} + +In die beiden Hauptstyles {\tt script} und {\tt script\_s} sind die +Befehle \verb|\typearea| und \verb|\areaset| bereits eingebunden. Da der +brieferzeugende {\tt script\_l}-Style einen besonderen und vor allem +festen Satzspiegel besitzt, wurde bei ihm auf die Einbindung verzichtet. + +Um diese Befehle auch in anderen Styles benutzen zu k"onnen, wurden ihre +Definitionen zus"atzlich seperat in die Optionsdatei {\tt typearea.sty} +geschrieben. Diese nimmt auch die von der gew"ahlten Schriftgr"o"se +abh"angigen Voreinstellungen des Satzspiegels vor. Bei Verwendung des +originalen {\tt article}-Styles wird also durch Angabe von +\begin{quote} +\verb|\documentstyle[11pt,typearea]{article}| +\end{quote} +die 11pt-Schrift ausgew"ahlt und anschlie"send der neu eingebundene +\verb|\typearea{10}|-Befehl automatisch ausgef"uhrt. + +Selbstverst"andlich kann {\tt typearea.sty} auch in Verbindung mit jedem +anderen Style benutzt werden, jedoch ist dieses nur sinnvoll, wenn dieser +nicht von einem festen Layout ausgeht (wie dies z.B. beim {\tt letter}-Style +und seinen Varianten der Fall ist). + +\section{Sonstige "Anderungen} + +\subsection{Default-Fontgr"o"se} + +Wird in der Definition des Document-Styles nichts anderes angegeben, so wird +standardm"a"sig als Textfont der 11pt-Font verwendet (wie z.B. in dieser +Dokumentation). Eine Ausnahme hiervon bildet wieder der +{\tt script\_l}-Style, bei dem ohne Optionsangabe die 12pt-Schrift benutzt +wird. Im Gegensatz zu den Originalstyles wird jedoch keine Fehlermeldung +erzeugt, wenn der Default-Font trotzdem als Option angegeben wird +(probieren Sie doch einmal \verb|\documentstyle[10pt]{article}|\dots). + +\subsection{Kapitel"uberschriften und Nummerierung} + +Kapitel"uberschriften im {\tt script}-Style werden ohne die bei {\tt report} +und {\tt book} "ublichen eigenen Zeilen f"ur das Wort "`Kapitel"' und die +Kapitelnummer gesetzt, sondern wie bei "Uberschriften niedrigerer Priorit"at +mit der Kapitelnummer direkt vor der eigentlichen "Uberschrift. Da hierdurch +ein Anhang leicht f"ur ein normales Kapitel gehalten werden kann (er +unterscheidet sich von diesen ja nur durch die Art der Nummerierung), ist +es empfehlenswert, ihn mit \verb|\part*{Anhang}| deutlich vom Rest des +Dokumentes abzusetzen. + +Nach einfachen Abschnittsnummern steht einheitlich ein Punkt (1. statt 1 , +aber nicht 1.1. sondern 1.1). Die einzige Ausnahme bildet die Nummerierung +der Parts, da bei r"omischer Z"ahlung ein nachfolgender Punkt un"ublich ist. +Dies gilt selbstverst"andlich auch f"ur Eintr"age in Kolumnentitel und in +das Inhaltsverzeichnis. + +\subsection{Kolumnentitel und Pagina} + +Der {\tt script}-Style benutzt als Default den Pagestyle {\tt headings}, +der in den Kopfteil der Seiten das aktuelle Kapitel (linke Seiten) bzw. +den aktuellen Abschnitt (rechte Seiten) schreibt (sog. lebender +Kolumnentitel bzw. running head). Weiterhin wird eine Seitennummer in den +Fu"sbereich der Seite gesetzt (sog. Pagina). {\tt script\_s} stellt +standardm"a"sig {\tt plain} als Pagestyle ein, jedoch sind nat"urlich +auch hier {\tt headings}, {\tt myheadings} und {\tt empty} verf"ugbar. +Beim Brief stehen teilweise andere Seitenstile zur Auswahl, die in +Abschnitt~\ref{PAGESTYLES} behandelt werden. + +Normalerweise werden Kolumnentitel und Pagina zentriert; wurde jedoch die +{\tt twoside} Option angegeben, so wird beides an den "au"seren Rand der +Seite gesetzt. + +Die Definitionen der Pagestyles {\tt headings}, {\tt myheadings} und +{\tt plain}, sowie die Befehle zum automatischen Setzen der Kolumnentitel +durch Befehle wie \verb|\section| oder \verb|\tableofcontents| wurden +dahingehend ver"andert, da"s die Kolumnentitel mit normaler +Gro"s-Klein-Schreibung (vorher alles gro"s), standardm"a"sig in +{\it Italics} (vorher {\sl slanted}) und bei Kapiteln ohne das Wort +CHAPTER bzw. KAPITEL gesetzt werden. Die Seitennummer wurde generell aus +der Kopfzeile in die sonst leere Fu"szeile verbannt. +Diese Ma"snahmen haben neben der besseren Lesbarkeit ("`Inhaltsverzeichnis"' +liest sich viel angenehmer als "`INHALTSVERZEICHNIS"') vor allem den +Vorteil, da"s nun auch wesentlich l"angere Abschnitts-"Uberschriften in die +Kopfzeile passen ohne abgeschnitten zu werden. + +Wird unter den Kolumnentiteln eine horizontale Linie gew"unscht, so ist +auch dies jetzt ohne Probleme m"oglich\label{HEADSEPLINE}: sie l"a"st sich +einfach mit +\begin{quote} +\verb|\headseplineon| +\end{quote} +an- bzw. durch +\begin{quote} +\verb|\headseplineoff| +\end{quote} +wieder ausschalten. Das funktioniert nat"urlich nur bei den Pagestyles +{\tt headings} und {\tt myheadings}, da ja alle anderen keinen Kolumnentitel +generieren. Durch diese Befehle wird auch \verb|\headinclude| +automatisch sinnvoll miteingestellt, d.h. \verb|\headincludeon| bei +\verb|\headseplineon| und \verb|\headincludeoff| bei \verb|\headseplineoff|. +Damit dies zum Tragen kommt, mu"s allerdings nach einer Ver"anderung dieses +Schalters der Satzspiegel neu konstruiert werden. Default ist in den beiden +Hauptstyles {\tt script} und {\tt script\_s} (bei {\tt script\_l} ist wieder +alles anders; siehe Abschnitt~\ref{PAGESTYLES}) \verb|\headseplineoff|. + +\begin{description} +\item[Beispiel: ] In der vorliegenden Dokumentation wurde + mit \verb|\headseplineon| der horizontale Strich unter den + Kolumnentiteln eingeschaltet (dadurch wurde auch gleichzeitig + \verb|\headincludeon| ausgef"uhrt). Damit der Satzspiegel dieser + "Anderung angepa"st wird, mu"ste dieser mit \verb|\typearea{10}| neu + berechnet werden. +\end{description} + +\noindent Ab der Version~2.0 von {\tt script} und {\tt script\_s} gilt das +oben f"ur eine horizontale Linie unter den Kolumnentiteln gesagte auch f"ur +die Fu"szeile. Mit +\begin{quote} +\verb|\footseplineon| +\end{quote} +kann man die Erzeugung einer solche Linie oberhalb der Seitennummer in +den Pagestyles {\tt plain}, {\tt headings} und {\tt myheadings} an-, +und mit +\begin{quote} +\verb|\footseplineoff| +\end{quote} +wieder abschalten. Analog zu den \verb|\headinclude|-Befehlen existieren +auch die Varianten f"ur die Fu"szeile \verb|\footincludeon| und +\verb|\footincludeoff|. + +\subsection{Kleinere kosmetische Ver"anderungen} + +In Fu"snoten ist ein kleiner horizontaler Bereich (1 em) nur f"ur die +Fu"snotennummer reserviert, der eigentliche Text beginnt also immer erst +diesen Abstand vom linken Rand entfernt. Bei mehrzeiligen Fu"snoten werden +die Folgezeilen nochmals 0.5 em links eingezogen. Dadurch setzen +sich diese besser voneinander ab. + +Abs"atze werden ohne vertikalen Zwischenraum und mit einem Einzug von +1 em (entspricht 1 \verb|\quad|) gesetzt. + +Zus"atzlich wurde der im europ"aischen Raum "ubliche "`franz"osische"' +Punktbehandlungsmodus (\verb|\frenchspacing|) selektiert, was den Vorteil +hat, da"s man nicht mehr hinter Abk"urzungen, die mit einem Kleinbuchstaben +enden, ein \verb*|\ | schreiben mu"s, um einen zu gro"sen Zwischenraum zu +vermeiden. + +Bei der {\tt enumerate}-Umgebung wurde in der zweiten Ebene eine Klammer +entfernt, so da"s a) statt (a) geschrieben wird. Weiterhin wurde in der +dritten Ebene des {\tt itemize}-Environments der "`$\ast$"' durch +ein "`$\triangleright$"' ersetzt (das sieht zumindest f"ur meinen +Geschmack etwas gef"alliger aus). + +Die Autoren- und Datumsangaben in Titeln erscheinen nicht in \verb|\large|, +sondern in \verb|\Large|. + +In mehrzeiligen Captions (Unterschriften von {\tt table} bzw. {\tt figure}) +werden die zweiten und folgenden Zeilen so weit links einger"uckt, da"s +diese nicht mehr unter "`Abbildung \dots:"', sondern unter dem eigentlichen +Text der ersten Zeile beginnen. + +Es wurden noch etliche weitere Kleinigkeiten im Layout ver"andert, +die allerdings dem unge"ubten Auge kaum auf\/fallen werden. So ist etwa der +Spaltenabstand im zweispaltigen Satz von 10 pt auf die "ubliche 1 cc +verg"o"sert worden (1 Cicero $\simeq$ 12 pt). Will man alles ganz genau +wissen, so kann man ja immer noch die jeweilige Style-Datei studieren +(dazu sollte man allerdings auch die niedrigeren \TeX-Befehle kennen bzw. +zuerst die {\tt .doc}-Versionen der Originalstyles durcharbeiten). + +\chapter{Zus"atzliche Befehle} + +\section{Die Erweiterungen des Abstracts und der Titelseite} + +Bei Abstracts besteht nun die M"oglichkeit, die automatisch erzeugte +"Uberschrift (z.B. "`Zusammenfassung"') mit \verb|\abstractoff| aus- bzw. +mit \verb|\abstracton| wieder anzuschalten (voreingestellt ist +\verb|\abstracton|). + +Der \verb|\maketitle|-Befehl des {\tt script}-Hauptstyles wurde durch die +folgenden optionalen Angaben wesentlich erweitert: +\begin{itemize} +\item \verb|\extratitle{|{\em Schmutztitel\/}\verb|}| erzeugt eine eigene + Seite, auf der der sog. "`Schmutztitel"'\footnote{Fr"uher war der + Buchblock oftmals nicht durch einen Buchdeckel vor Verschmutzung + gesch"utzt; diese Aufgabe "ubernahm dann die erste Seite des Buches, die + meist einen Kurztitel, eben jenen "`Schmutztitel"', trug. Auch heute + noch wird gerne eine Extraseite vor dem eigentlichen Haupttitel f"ur + Verlagsname, Buchreihennummer o."a. benutzt.} steht. Dieser wird wie + normaler Text, also ohne Zentrierung und in normaler Schriftart und + -gr"o"se gesetzt. Dadurch ist dessen Gestaltung v"ollig dem Anwender + "uberlassen. Die R"uckseite ist auch im zweiseitigen Druck leer. +\item In den Kopfteil der Haupttitelseite kann nun mittels \verb|\titlehead| + zus"atzlicher Text wie z.B. eine Institutsadresse geschrieben werden. +\item Direkt oberhalb des eigentlichen Titels wird durch \verb|\subject| + eine Zusatzangabe (z.B. "`Diplomarbeit"') in etwas gr"o"serer Schrift + eingef"ugt. +\item \verb|\publishers{|{\em Verlag\/}\verb|}| plaziert den Verlagsnamen + in den unteren Teil der Haupttitelseite. +\item Im zweiseitigen Druck l"a"st sich die R"uckseite des Haupttitels f"ur + weitere Informationen (im Beispiel dieser Dokumentation ist dies + der Haftungsausschlu"s) nutzen. Dazu stehen die Befehle + \verb|\uppertitleback| und \verb|\lowertitleback| zur Verf"ugung. +\item \verb|\dedication{|{\em Widmung\/}\verb|}| erzeugt eine seperate + Widmungsseite, wobei {\em Widmung\/} zentriert und in etwas gr"o"serer + Schrift gesetzt wird. Wie bei \verb|\extratitle| ist die R"uckseite + grunds"atzlich leer. +\end{itemize} + +\begin{description} +\item[Beispiel: ] \ +\begin{verbatim} +\titlehead{Institut f"ur Nachrichtentechnik \hfill SS1993 + \\Hochschulstr.12 + \\3456 Unistadt} +\subject{Diplomarbeit} +\title{Digitale Raumsimulation mit dem DSP56004} +\author{Ulrich Ungenannt} +\lowertitleback{Diese Diplomarbeit wurde mit dem Textsatzsystem + \TeX\ erstellt.} +\maketitle +\end{verbatim} +\end{description} + +\noindent Der Titel (Kurz- oder Haupttitel) beginnt normalerweise auf Seite +1; im Original war hierf"ur Seite 0 vorgesehen, was zu der unangenehmen +Tatsache f"uhrte, da"s die Titelseite im zweiseitigen Druck links zu liegen +kam. Durch Angabe einer Zusatzoption (z.B. \verb|\maketitle[-1]|) l"a"st +sich die Startseite jetzt beliebig festlegen. + +Im {\tt script\_s}-Hauptstyle ist von den genannten Features lediglich +\verb|\titlehead| und \verb|\subject| vorhanden. Um jedoch auch dort oder +in anderen Styles wie z.B. {\tt article} eine eigene Titelseite mit allen +zus"atzlichen M"oglichkeiten zur Verf"ugung zu stellen, wurden alle dazu +notwendigen Definitionen in die Optionsdatei {\tt sctitle.sty} geschrieben. +Ab Version~2.0 dieses Files ist jedoch zu beachten, da"s der Font, in dem +der Haupttitel und der Titel des Abstracts erscheint, vom Hauptstyle +abh"angig ist: Bei Verwendung von {\tt script\_s}, Version~2.0, werden die +Titel mit dem Zeichensatz gesetzt, der im \verb|\sectfont|-Befehl +definiert ist (siehe Abschnitt~\ref{SECTFONT}). In Verbindung mit allen +Hauptstyles, die diesen Befehl nicht kennen (das d"urften fast alle +anderen sein, z.B. {\tt article}, {\tt report}, {\tt book}, {\tt script\_s} +Version~1.0 usw.), wird f"ur die Titel \verb|\bf| selektiert. + +\section{Die "`xxxxfont"'-Variablen\label{SECTFONT}} + +Seit der Version~2.0 des "`Script"'-Paketes sind mehrere Variablen +zur globalen Schrift\-"an\-de\-rung in Kolumnentiteln, Paginierung, Captions, +"Uberschriften und dem {\tt description}-Environment bereitgestellt. +Dadurch lassen sich mit einem einzigen Befehl z.B. s"amtliche "Uberschriften +statt in \verb|\sfb| in \verb|\rm| ausgegeben. Dazu mu"s nur (am besten +in der Pr"aambel) die Anweisung +\begin{quote} +\verb|\def\sectfont{\rm}| +\end{quote} +oder, was gleichbedeutend ist, +\begin{quote} +\verb|\renewcommand{\sectfont}{\rm}| +\end{quote} +stehen. Auf die gleiche Art und Weise k"onnen auch die anderen +Fonteinstellungen ge"andert werden: + +\vspace{3ex} +\begin{tabular}{lll} +Variable & Wirkung auf: & Default \\ +\hline +\verb|\captfont| & Caption-Texte & \verb|\rm| \\ +\verb|\descfont| & Item-Texte des {\tt description}-Environments + & \verb|\sfb| \\ +\verb|\headfont| & Kolumnentitel & \verb|\it| \\ +\verb|\pnumfont| & Paginierung & \verb|\rm| \\ +\verb|\sectfont| & S"amtliche "Uberschriften und Titel + & \verb|\sfb| \\ +\end{tabular} +\vspace{3ex} + +\noindent Selbstverst"andlich sind nicht nur Fonteinstellungs-, sondern +auch Gr"o"sen"anderungsbefehle m"oglich. Im {\tt script\_l}-Style ist +keiner dieser Variablen definiert, da es dort weder Captions noch +"Uberschriften gibt und Kopf- sowie Fu"szeilen h"aufig grundlegend +modifiziert werden. + +\section{Die "`marginline"'} + +Analog zum \verb|\marginpar| wurde die \verb|\marginline| eingef"uhrt, die +f"ur einzeilige Randnotizen gedacht ist. Bei diesen tritt n"amlich im +{\tt twoside}-Modus auf linken Seiten das Problem auf, da"s sie mit +\verb|\marginpar| nicht rechtsb"undig gesetzt werden (was sinnvoll w"are), +sondern durch den Blocksatz einer nicht vollen Zeile linksb"undig +erscheinen. Bei Verwendung von \verb|\marginline{|{\em Randnotiz\/}\verb|}| +werden einzeilige Texte sinnvoll in den "au"seren Rand gesetzt, was zum +Beispiel zum Hervorheben von Querverweisen n"utzlich ist. + +\section{Der "`addchap"'- bzw. "`addsec"'-Befehl} + +F"ur unnummerierte Abschnitte wie z.B. ein Vorwort oder Danksagungen +stand bisher nur der \verb|\chapter*|- bzw. \verb|\section*|-Befehl zur +Verf"ugung, die allerdings den Nachteil haben, da"s sie zwar das bis auf die +Nummerierung komplette "Uberschrifts-Layout erzeugen, jedoch weder einen +Eintrag ins Inhaltsverzeichnis noch einen Kolumnentitel generieren. Dies +mu"ste, falls dies erw"unscht war, nachtr"aglich von Hand durchgef"uhrt +werden, was wohl nicht ganz der \LaTeX-Philosophie entspricht. + +Gerade f"ur die oben genannten Anwendungen wurden daher die neuen Befehle +\verb|\addchap| ("`additional chapter"', bei {\tt script.sty}) und +\verb|\addsec| ("`additional section"', bei {\tt script\_s.sty}) +implementiert, die bis auf die fehlende Nummerierung genauso wie der +\verb|\chapter|- bzw. \verb|\section|-Befehl (ohne Stern!) arbeiten, also +alle Eintr"age an den entsprechenden Stellen erzeugen. +Nat"urlich existieren auch \verb|\addchap*| bzw. \verb|\addsec*|, +die den Stern-Versionen der "ublichen Befehle sehr "ahnlich sind, +nur da"s zus"atzlich die Kolumnentitel gel"oscht werden (geht z.B. der zu +einem \verb|\chapter*| geh"orende Text "uber mehrere Seiten, so tauchen +die -- veralteten! -- Kolumnentitel pl"otzlich wieder auf). Zus"atzlich ist +als Optionalargument wie bei den Originalen ein anderer Eintrag ins +Inhaltsverzeichnis als die Abschnitts"uberschrift angebbar. + +\section{Der "`minisec"'-Befehl} + +Manchmal ist eine Art "Uberschrift w"unschenswert, die zwar etwas +hervortritt (etwa durch die Wahl einer anderen Schrift), ansonsten aber eng +mit dem nachfolgenden Text zusammenh"angt, also nicht wie bei den "ublichen +Sektionierungsbefehlen relativ viel vertikalen Freiraum vor und nach der +"Uberschrift l"a"st. + +\minisec{Wirkung des neuen "`minisec"'-Befehls:} +Der Befehl \verb|\minisec| ("`minisec"' steht f"ur "`mini-section"') +bewirkt nun genau das oben genannte, indem er das Argument in +\verb|\sfb| mit einem vertikalen Freiraum von 1.5 ex vorher und keinem +danach setzt. Die obige Zwischen"uberschrift wurde als Beispiel mit +\verb|\minisec{Wirkung des ...}| gesetzt. Mini-Sections werden nicht mit +ins Inhaltsverzeichnis aufgenommen. Da von vorneherein keine Nummerierung +vorgesehen ist, existiert auch keine Version mit Stern von diesem Befehl. +Genauso wie \verb|\marginline|, \verb|\addchap|, \verb|\addsec| und die +Titelseitenerweiterungen existiert \verb|\minisec| nicht im +{\tt script\_l}-Style. + +\section{Das "`labeling"'-Environment} + +\begin{labeling}{Wirkung:} +\item[Wirkung:] Wie in dieser tabellarischen Aufstellung, die auch + gleichzeitig wieder ein Beispiel f"ur die Wirkung des + Environments ist, setzt "`labeling"' Text + wie in einem normalen Absatz, nur da"s zus"atzlich ein Titel + vorangestellt werden kann (in diesem Fall "`Wirkung"'). + + Pro Titel sind, wie hier vorgef"uhrt, mehrere Abs"atze m"oglich, um + auch umfangreichere Texte "ubersichtlich gliedern zu k"onnen. +\item[Syntax:] "`labeling"' ist ein gew"ohnliches Environment mit einer + Zusatzangabe plus einem Optionalargument: + \begin{quote} + \verb|\begin{labeling}[|{\em Trennzeichen\/}\verb|]{|% + {\em l"angster Titel\/}\verb|}|\\ + \verb|\item[|{\em Titel\/}\verb|]| {\tt ...}\\ + \ {\tt ...}\\ + \verb|\end{labeling}| + \end{quote} + Dabei ist {\em l"angster Titel\/} das l"angste \verb|\item|-Argument + inklusive allen eventuellen Schrift"anderungsbefehlen. Wird kein + Trennzeichen ben"otigt, so kann dieses zusammen mit dem eckigen + Klammerpaar weggelassen werden. +\item[Beispiel:] Die Standardform eines mathematischen Beweises wird + folgenderma"sen erzeugt: + \begin{quote} + \begin{verbatim} +\begin{labeling}[:]{\sfb Auss.} +\item[\sfb Vor.] $x$ sei ... +\item[\sfb Auss.] Es gilt ... +\item[\sfb Bew.] Nach Satz ... +\end{labeling} + \end{verbatim} + \end{quote} + Dies bewirkt die Ausgabe: + \begin{labeling}[:]{\sfb Auss.} + \item[\sfb Vor.] $x$ sei \dots + \item[\sfb Auss.] Es gilt \dots + \item[\sfb Bew.] Nach Satz \dots + \end{labeling} +\end{labeling} + +\chapter{Der script\_l-Style} + +\section{Das Original} + +Nur wenige \LaTeX-Anwender haben bisher auch Briefe mit \TeX\ geschrieben, +was wohl vor allem daran liegt, da"s der originale {\tt letter}-Style sehr +auf das amerikanische Brief\/format zugeschnitten und au"serdem schlecht +dokumentiert ist. Daher soll hier kurz der Aufbau eines Quelltextes +f"ur Briefe erl"autert werden. Ein typisches Eingabefile hat folgende +Form: +\begin{quote} +\begin{verbatim} +\documentstyle[german]{letter} +\name{Name des Absenders} +\address{Adresse des Absenders} +\signature{Unterschrift} +\begin{document} + +\begin{letter}{Name und Adresse des Empf"angers des ersten Briefes} +\opening{Anrede (z.B. Sehr geehrte Damen und Herren,)} +Brieftext...Brieftext...Brieftext +\closing{Gru"sformel (z.B. Mit freundlichen Gr"u"sen)} +\ps{Postskriptum} +\cc{Verteiler (z.B. Direktion\\Personalb"uro)} +\encl{Anlagen (z.B. Lebenslauf\\Lichtbild)} +\end{letter} + +\begin{letter}{Name und Adresse des Empf"angers des zweiten Briefes} + ... +\end{letter} + + ... +\end{document} +\end{verbatim} +\end{quote} +Die Befehle \verb|\signature|, \verb|\closing|, \verb|\ps|, \verb|\cc| +und \verb|\encl| sind optional. Bei fehlender \verb|\signature|-Angabe wird +das \verb|\name|-Argument als Unterschrift gesetzt. Ist eine gedruckte +Unterschrift v"ollig unerw"unscht, so kann diese durch \verb|\signature{\ }| +unterdr"uckt werden. + +Zu beachten ist weiterhin, da"s Adre"sfeld, Datum usw. +erst durch den \verb|\opening|-Befehl erzeugt werden (wichtig z.B. bei +Rechnungen ohne Anrede; dort mu"s dann trotzdem ein leerer +\verb|\opening{}|-Befehl stehen). Dies hat weiterhin zur Folge, da"s +z.B. bei einer zu langen {\tt backaddress} (s.u.) eine "`Overfull +hbox"' in der Zeile gemeldet wird, in der der \verb|\opening|-Befehl +steht, obwohl dieser gar nicht die eigentliche Ursache ist. Bei einer +solchen Warnung sind also auch alle vorherigen Befehle zu pr"ufen! + +Um sich bei jedem Brief die wiederholte Eingabe der eigenen Adresse und +sonstiger Voreinstellungen zu ersparen, ist es empfehlenswert, diese in eine +eigene Datei (z.B. {\tt privat.sty}) zu schreiben, die dann einfach als +Option beim \verb|\documentstyle| angegeben wird (ohne {\tt .sty}). +Ein Beispiel f"ur eine solche Datei findet sich auf Seite~\pageref{PRIVAT}. + +\section{Zus"atzliche Eigenschaften des script\_l-Styles} + +Der neue {\tt script\_l}-Hauptstyle ist gegen"uber dem Original wesentlich +erweitert und flexibler gestaltet worden. Ihn zeichnet vor allem die +M"oglichkeit der Benutzung eigener Adre"sdateien und nahezu +uneingeschr"ankte Serienbrief\/f"ahigkeit aus. Im Gegensatz zum +{\tt letter}-Style, der die fontgr"o"senabh"angigen Einstellungen selbst +vornimmt, verwendet {\tt script\_l} die Hilfsdateien {\tt script10.sty}, +{\tt script11.sty} und {\tt script12.sty}. + +\subsection{Mehrsprachigkeit} + +Der {\tt script\_l}-Style wurde von vorneherein mehrsprachig ausgelegt +(englisch, amerikanisches englisch, deutsch, "osterreichisch und franz"osisch; +voreingestellt ist amerikanisches englisch). Seit der Version~2.0 von +{\tt script\_l} wird die Mehrsprachigkeit von \TeX3 voll unterst"utzt; +dies hat allerdings zur Folge, da"s die Benutzung eines "`antiken"' \TeX\ +("alter als Version~3) in Verbindung mit dem neuen Briefstyle eine +Fehlermeldung mit Abbruchm"oglichkeit produziert. + +Zur Einstellung der Sprache der automatisch gesetzten ("`Caption"'-) Texte +wie "`Betreff"', "`Seite"', "`Anlagen"' usw. stehen die folgenden Befehle +zur Verf"ugung: +\begin{quote} +\verb|\captionsenglish|\\ +\verb|\captionsUSenglish|\\ +\verb|\captionsgerman|\\ +\verb|\captionsaustrian|\\ +\verb|\captionsfrench| +\end{quote} + +\noindent Die Schreibweise des Datums wird wird durch die nachstehenden +Befehle festgelegt: +\begin{labeling}[ :]{\com{dateUSenglish}} +\item[\com{dateenglish}] 1/12/1993 +\item[\com{dateUSenglish}] 12/1/1993 +\item[\com{dategerman}] 1.\,12.\,1993 +\item[\com{dateaustrian}] 1.\,12.\,1993 +\item[\com{datefrench}] 1.\,12.\,1993 +\end{labeling} + +\noindent Es ist generell empfehlenswert (aber nicht zwingend notwendig), +grunds"atzlich {\tt german} oder {\tt german3} als Option im +\verb|\documentstyle|-Befehl anzugeben, da diese Styles den sehr +komfortablen \verb|\selectlanguage|-Befehl zur Verf"ugung stellen, der +gleichzeitig Captiontexte, die Schreibweise des Datums, einige +sprachspezifische Extras und Trennregeln der verwendeten Sprache anpa"st. +Im Zusammenhang mit {\tt script\_l} ist jedoch zu beachten, da"s +\verb|\selectlanguage| erst {\em nach\/} \verb|\begin{document}| verwendet +werden sollte\footnote{Die briefspezifischen Caption-Texte und Datumsformate +werden nach einem Vorschlag von Sven Gohlke erst durch den +\com{begin\{document\}}-Befehl definiert. Daher werden diese erst nach +diesem Befehl aktiv.}. + +\begin{description} +\item[Beispiel 1: ] F"ur eine Datei mit rein englischsprachigen Briefen +(amerikanisches Englisch) gen"ugt: +\begin{quote} +\begin{verbatim} +\documentstyle{script_l} +\begin{document} +\begin{letter}{...} +(...) +\end{verbatim} +\end{quote} +\item[Beispiel 2: ] F"ur eine Datei mit rein deutschsprachigen Briefen +gen"ugt: +\begin{quote} +\begin{verbatim} +\documentstyle[german]{script_l} +\begin{document} +\begin{letter}{...} +(...) +\end{verbatim} +\end{quote} +\item[Beispiel 3: ] Bei gemischtsprachigen Briefen empfiehlt sich: +\begin{quote} +\begin{verbatim} +\documentstyle[german]{script_l} +\begin{document} + +\selectlanguage{USenglish} +\begin{letter}{...} +(...) +\end{letter} + +\selectlanguage{german} +\begin{letter}{...} +(...) +\end{letter} + +(...) +\end{verbatim} +\end{quote} +\end{description} + +\subsection{Zweiseitiger Druck} + +Zweiseitig gedruckte Briefe werden durch Angabe der {\tt twoside}-Option +unterst"utzt; jedoch "andert sich hier im Gegensatz zum {\tt script}- oder +{\tt script\_s}-Style der Satzspiegel nicht, sondern es wird lediglich +sichergestellt, da"s ein neuer Brief immer auf einer ungeraden +{\em Druck\/}seite beginnt. Die {\em interne\/} \TeX-Seitenz"ahlung startet +bei jedem \verb|\begin{letter}|-Befehl wieder bei 1. + +\subsection{Layout} + +Der {\tt script\_l}-Style verwendet einen festen Satzspiegel, an dem +nichts mehr ver"andert werden sollte. Er ist recht anspruchsvoll, was +Ma"shaltigkeit und bedruckbaren Bereich des verwendeten Druckers angeht, da +Falzmarken so weit links wie m"oglich und die Adresse wirklich im +Adre"sfenster eines Fensterbriefumschlages stehen sollen. Aus diesem Grund +wurde dem Paket eine Datei {\tt checkprt.tex} mitgegeben, die eine Testseite +zur Drucker(treiber)einstellung erzeugt. Mit ihrer Hilfe kann sehr leicht in +Millimetern und Inch gemessen werden, welcher Bereich der Seite bedruckbar +ist und ob die Offsets des {\tt dvi}-Treibers stimmen. + +Die H"ohe des Kopfbereichs der Seite ist in der {\tt script\_l}-Version~2.0 +von 20~mm auf 22~mm vergr"o"sert worden\footnote{Dadurch ist der Abstand +des oberen Papierrandes vom Briefkopf von 10~mm auf 9~mm geschrumpft; +die meisten mir bekannten Laser- und Tintenstrahldrucker kommen jedoch +auch damit noch zurecht. Sollten durch diese "Anderung Probleme entstehen, +so k"onnen diese durch geeignete Einstellung des Druckertreibers in der +Regel umgangen werden.}; damit gibt es hoffentlich keine +Probleme mehr bei Verwendung des voreingestellten Briefkopf-Formates% +\footnote{Diese Probleme traten auf bei Verwendung der 12pt-Schrift und +wenn beide Zeilen der Adresse Unterl"angen besa"sen. Dreizeilige Adressangaben +sind jedoch nach wie vor mangels Platz nicht m"oglich. Falls mehr Information +im Briefkopf untergebracht werden soll, so mu"s ein eigener entwickelt +werden.}. Der Fu"sbereich der Seite ist 20 mm hoch, linker und +rechter Rand sind beide 25.4 mm breit. + +Abs"atze werden ohne Einzug und mit einem vertikalen Abstand von einem +halben \verb|\baselineskip| gesetzt. Ein unterer Randausgleich wird auch im +zweiseitigen Druck nicht durchgef"uhrt (\verb|\raggedbottom|). + +Gegen"uber der Version~1.0 wurde die Brieftext-Zentrierung leicht +verbessert, was die Probleme bei umfangreicheren Briefen mit sehr langen +Abs"atzen hoffentlich beseitigt hat. + +\subsection{Adre"sfeld und Zusatz-"`location"'-Feld} + +Zur Beschriftung des Briefumschlages gab es im Original den +\verb|\makelabels|-Befehl, der dazu gedacht war, Adre"setiketten zu +bedrucken. Da mir keine Konfiguration bekannt ist, in der dieser Befehl +mit all seinen Anforderungen bez"uglich Papierwechsel etc. wirklich Sinn +macht, habe ich ihn erst gar nicht in den neuen Briefstyle +miteinbezogen (mal ehrlich: haben Sie \verb|\makelabels| benutzt?) +Hier sehe ich auch die -- hoffentlich -- einzige M"oglichkeit, wo eine +Inkompatibilit"at zu den Originalstyles auftreten kann. + +Als Entsch"adigung erm"oglicht {\tt script\_l} die Verwendung von +Fensterbriefumschl"agen, die Adre"setiketten "uberfl"ussig machen. In einem +Feld der H"ohe \verb|\addrheight| und Breite \verb|\addrwidth|, das +\verb|\addrvskip| von der Textbereichsoberkante und (\verb|\addrindent| +plus 25.4 mm) vom linken Rand des Papiers entfernt ist, wird dazu die bei +\verb|\begin{letter}| angegebene Adresse vertikal zentriert. Optional kann +noch mit +\begin{quote} +\verb|\backaddress{|{\em R"ucksende-Adresse\/}\verb|}| +\end{quote} +eine kleingeschriebene R"ucksende-Adresse und mit +\begin{quote} +\verb|\specialmail{|{\em Versandart\/}\verb|}| +\end{quote} +eine spezielle Versandart (z.B. Einschreiben) in dieses Feld eingeblendet +werden. + +Im freien Raum rechts neben dem Adre"sfeld l"a"st sich noch zus"atzlicher +Text (z.B. Zweigstellen einer Firma) unterbringen. Dieser wird durch +\begin{quote} +\verb|\location{|{\em Zusatz-Information\/}\verb|}| +\end{quote} +in ein \verb|\locwidth| breites Feld geschrieben, dessen rechter Rand mit +der rechten Begrenzung des Textbereiches "ubereinstimmt. + +Beide Felder zusammen sind durch \verb|\addrfieldoff| ab- bzw. mit +\verb|\addrfieldon| wieder anschaltbar (Default: \verb|\addrfieldon|). +Dies kann z.B. f"ur pers"onliche Schreiben ohne Gesch"aftsbriefcharakter von +Nutzen sein (wenngleich ich in diesem Falle eher zum F"uller greifen +w"urde). + +Noch eine kleine Anmerkung zur Schreibweise des Wortes "`Adresse"': +deutsch schreibt es sich mit {\em einem\/} "`d"', w"ahrend es im Englischen +"`a{\em dd\/}ress"' hei"st. Daher ist bei allen Befehlen, die "`address"' +enthalten, auf das doppelte "`d"' zu achten. Anweisungen, die etwas mit +dem unten beschriebenen {\tt .adr}-File zu tun haben, werden allerdings mit +{\em einem\/} "`d"' geschrieben (\verb|\adrentry| und \verb|\adrchar|). + +\subsection{Referenzfeld} + +Unterhalb des Adre"sfeldes steht normalerweise das Datum bzw. bei +Gesch"aftsbriefen ein Referenzfeld mit vorgedruckten Unterfeldern f"ur +Kundennummer, Durchwahl, Sachbearbeiter und "ahnliches. Dies ist jetzt +auch m"oglich: ohne weitere Angabe erscheint rechtsb"undig Ort (definiert +durch \verb|\place{|{\em Ort\/}\verb|}|) und Datum, w"ahrend bei Benutzung +mindestens eines der folgenden Befehle das Datum in Vordruckform und die +gew"unschten Unterfelder horizontal gegeneinander zentriert gesetzt werden: +\begin{quote} +\verb|\yourref{|{\em Ihr Zeichen\/}\verb|}|\\ +\verb|\yourmail{|{\em Ihr Schreiben vom\/}\verb|}|\\ +\verb|\myref{|{\em Unser Zeichen\/}\verb|}|\\ +\verb|\customer{|{\em Kundennummer\/}\verb|}|\\ +\verb|\invoice{|{\em Rechnungsnummer\/}\verb|}|\\ +\verb|\refitemi{|{\em Eigenes Feld 1\/}\verb|}|\\ +\verb|\refitemii{|{\em Eigenes Feld 2\/}\verb|}|\\ +\verb|\refitemiii{|{\em Eigenes Feld 3\/}\verb|}| +\end{quote} +Die "`Vordrucke"' der selbstdefinierten Unterfelder lassen sich mit +\verb|\refitemnamei|, \verb|\refitemnameii| und \verb|\refitemnameiii| +bestimmen. + +\subsection{Titel und Betreff} + +Keine eigene Titelseite, sondern eine fettgedruckte "Uberschrift (z.B. +"`Rechnung"', "`1. Mahnung"') wird durch +\begin{quote} +\verb|\title{|{\em "Uberschrift\/}\verb|}| +\end{quote} +unterhalb des Referenzfeldes erzeugt. + +\noindent Ein "`Betreff"' l"a"st sich mit +\begin{quote} +\verb|\subject{|{\em Kurzinhalt des Briefes\/}\verb|}| +\end{quote} +angeben, wobei mit \verb|\subjecton| bzw. \verb|\subjectoff| das Wort +"`Betr."' selbst an- und ausgeschaltet werden kann (voreingestellt ist +\verb|\subjectoff|). + +\subsection{Seitenstile\label{PAGESTYLES}} + +Im {\tt script\_l}-Style stehen nach wie vor die Seitenstile {\tt empty}, +{\tt plain} und {\tt headings} zur Verf"ugung (Default ist {\tt plain}). +Zus"atzlich gibt es noch speziell f"ur die erste Seite eines Briefes +den Pagestyle {\tt firstpage}. Der eigentliche Clou an der Sache ist nun, +da"s die Eintr"age in den Kopf- und Fu"sbereich der Seiten bei +{\tt firstpage} und {\tt headings} frei gestaltbar sind. Dies geschieht +durch die Befehle \verb|\firsthead|, \verb|\firstfoot|, \verb|\nexthead| und +\verb|\nextfoot|, die bei einer "Anderung auf jeden Fall {\em vor\/} dem +Aufruf des zugeh"origen \verb|\pagestyle{...}|- bzw. +\verb|\begin{letter}|-Befehls ausgef"uhrt werden m"ussen. Als Beispiel +sollen die Vorbelegungen der Styledatei dienen\footnote{Das Verst"andnis +der Definitionen ist zugegebenerma"sen nicht ganz einfach. Die Bedeutung der +verwendeten Variablen schlagen Sie bitte in der Variablen"ubersicht in +Abschnitt~\ref{VARIABLEN} nach.}: +\begin{quote} +\begin{verbatim} +\firsthead{\parbox[b]{\textwidth}{\begin{center} + {\sc \ignorespaces \fromname}\\[-8pt] + \rule{\textwidth}{.4pt}\\ + \ignorespaces \fromaddress \end{center}}} +\firstfoot{} +\nexthead{\parbox[b]{\textwidth}{{% + \sc \ignorespaces \fromname}\\[8pt] \headtoname\ + \ignorespaces \toname \hfill \datename:\ \today + \hfill \pagename\ \thepage\\[-8pt] + \rule{\textwidth}{.4pt}}} +\nextfoot{} +\end{verbatim} +\end{quote} +Dadurch ist es nun m"oglich, eigene Briefk"opfe und Fu"sleisten (z.B. f"ur +Bankverbindungen, Gerichtsstand etc.) zu entwerfen. Der Phantasie sind +eigentlich nur durch die zur Verf"ugung stehenden Zeichens"atze Grenzen +gesetzt; Ausgefallenes l"a"st sich durch das {\tt picture}-Environment +oder "`Metafont"' realisieren. + +\subsection{Adre"sdateien} + +Um nicht in jedem Brief die komplette Anschrift des Adressaten nachschlagen +und vor allem eingeben zu m"ussen, wurden Adre"sdateien ({\tt .adr}-Files) +\label{ADR} eingef"uhrt. Sie enthalten f"ur jeden Adressaten einen Eintrag +in Form eines \verb|\adrentry|-Befehles, der acht Argumente mit folgender +Bedeutung hat: +\begin{labeling}[. Argument:]{8} +\item[1] Name +\item[2] Vorname +\item[3] Adresse +\item[4] Telefonnummer +\item[5] zur freien Verf"ugung +\item[6] zur freien Verf"ugung +\item[7] Kommentar +\item[8] K"urzel +\end{labeling} +Eine solche Adre"sdatei bindet man mit \verb|\input| entweder direkt in +den Quelltext des Briefes (am besten noch in der Pr"aambel) oder in das +oben vorgeschlagene Optionsfile, das die Voreinstellungen enth"alt, ein. + +\begin{description} +\item[Beispiel: ] Mein pers"onliches Optionsfile\label{PRIVAT} sieht +folgenderma"sen aus: +\begin{verbatim} +% privat.sty +\name{Frank Neukam} +\address{Franz-Stadelmayer-Str. 30\\97074 W"urzburg} +\backaddress{F. Neukam, F.-Stadelmayer-Str. 30, 97074 W"urzburg} +\place{W"urzburg, } +\input{privat.adr} +\end{verbatim} +\end{description} + +\noindent F"ur jeden {\tt .adr}-Eintrag wird dann die komplette Anschrift +unter dem jeweiligen K"urzel als \TeX-Makro abgelegt. Um das "Uberschreiben +von \TeX- oder \LaTeX-Befehlen zu vermeiden, ist es empfehlenswert, f"ur +K"urzel nur Gro"sbuchstaben zu verwenden. Lautet also z.B. ein +{\tt .adr}-Eintrag +\begin{quote} +\begin{verbatim} +\adrentry{abc-Lernsysteme} + {} + {z.Hd. Frau Streb\\Schulstr.1\\2345 Paukstadt} + {0\,678 / 90\,12\,34} + {} + {} + {} + {ABC} +\end{verbatim} +\end{quote} +so schreibt man anstelle der kompletten Adresse nur noch +\begin{quote} +\verb|\begin{letter}{\ABC}| +\end{quote} + +\noindent Mit Hilfe des im {\tt script}-Paket enthaltenen +{\tt dir.tex}-Files kann aus einer {\tt .adr}-Datei ein Adre"sheft erzeugt +werden, das nach Zurechtschneidung in die Standard-Taschenkalenderh"ullen +pa"st. Dazu sollten die Eintr"age alphabetisch sortiert sein und vor jedem +neu begonnenen Anfangsbuchstaben des Nachnamens ein +\begin{quote} +\verb|\adrchar{|{\em Anfangsbuchstabe\/}\verb|}| +\end{quote} +stehen. Vom {\tt script\_l.sty} wird dieser Befehl ignoriert; {\tt dir.tex} +jedoch beginnt bei einer solchen Anweisung eine neue Seite und schreibt +diesen Buchstaben in die Kopfzeile. Am besten probieren Sie dieses Programm +einfach einmal anhand einer kleinen Adre"sdatei aus, alle ben"otigten +Informationen werden w"ahrend des \TeX-Kompilerlaufes erfragt. + +"Ahnlich wie {\tt dir.tex} arbeitet das Programm {\tt phone.tex}, +nur da"s dieses anstelle eines Adre"sheftes ein Telefonnummern-Verzeichnis +anlegt. \verb|\adrchar| erzeugt hier lediglich einen kleinen vertikalen +Zwischenraum. + +\subsection{Serienbriefe} + +Eine weitere Anwendung der {\tt .adr}-Dateien sind Serienbriefe. + +\begin{description} +\item[Beispiel: ] Mit der folgenden kurzen Datei kann eine Einladung an +s"amtliche Kollegen eines Betriebes erzeugt werden: +\begin{verbatim} +\documentstyle[privat,german]{script_l} +\begin{document} +\def\adrentry#1#2#3#4#5#6#7#8{ + \begin{letter}{#2 #1\\#3} + \opening{Liebe Kolleginnen und Kollegen,} + anl"a"slich meines ... + \closing{Mit freundlichen Gr"u"sen} + \end{letter} +} +\input{kollegen.adr} +\end{document} +\end{verbatim} +\end{description} + +\noindent Soll der Brieftext abh"angig von Adressatenmerkmalen, die in den +beiden noch freien Argumenten des \verb|\adrentry|-Befehls stehen, +ver"anderlich sein, k"onnen Konstrukte der folgenden Form verwendet +werden\footnote{Als Beispiel ist das Geschlecht des Empf"angers im Argument +\#5 kodiert : m f"ur m"annlich, w f"ur weiblich. In Argument \#6 steht die +Anzahl der Kinder.}: +\begin{quote} +\begin{verbatim} +\def\adrentry#1#2#3#4#5#6#7#8{ + \ifcase #6 + % Dieser Zweig wird bei #6 = 0 abgearbeitet. + % In diesem Beispiel sind Empf"anger ohne Kinder uninteressant, + % weshalb im \else-Zweig nur Briefe an Kunden mit mindestens + % einem Kind erzeugt werden. + \else + % #6 > 0 + \begin{letter}{#2 #1\\#3} + \if #5m \opening{Sehr geehrter Herr #1,} \fi + \if #5w \opening{Sehr geehrte Frau #1,} \fi + + Sie als% Direkt nach 'als' mu"s ein % stehen, da der \if-Befehl + % vor 'gl"ucklich..' einen zus"atzlichen Leerraum + % generiert. + \if #5m gl"ucklicher Vater \fi + \if #5w gl"uckliche Mutter \fi + wissen sicher am besten, was gut f"ur + \ifnum #6 < 2 + Ihr Kind + \else + Ihre Kinder + \fi + ist. Um Sie... + + \closing{Mit freundlichen Gr"u"sen} + \end{letter} + \fi +} +\end{verbatim} +\end{quote} +Es ist also auch m"oglich, den Brieftext auf bestimmte Empf"angermerkmale +gezielt abzustimmen und so den Eindruck eines pers"onlichen Schreibens +zu erwecken. Die Anwendungsbreite ist lediglich durch die maximale Anzahl +von zwei freien \verb|\adrchar|-Argumenten begrenzt. + +\newpage +\section{Befehls- und Variablen"ubersicht\label{VARIABLEN}} + +\minisec{Briefspezifische Befehle, die strukturbeschreibend sind oder eine +Ausgabe erzeugen:} +\vspace{0.5em} +\begin{labeling}{\tt 12345678901234567890123} +\item[\com{begin\{letter\}\{}{\em Adressat\/\tt \}}] + Markiert den Beginn eines Briefes an {\em Adressat\/} und beginnt eine + neue Seite +\item[\com{end\{letter\}}] + Markiert das Ende eines Briefes +\item[\com{opening\{}{\em Anrede\/\tt \}}] + Setzt alle Teile eines Briefes oberhalb und einschlie"slich der + {\em Anrede} +\item[\com{closing\{}{\em Gru"sformel\/\tt \}}] + Setzt {\em Gru"sformel\/} und Unterschrift +\item[\com{ps\{}{\em Postskriptum\/\tt \}}] + Setzt ein {\em Postskriptum} +\item[\com{cc\{}{\em Verteiler\/\tt \}}] + Setzt eine Verteilerliste (Eintr"age durch \com{}\com{} abgetrennt) +\item[\com{encl\{}{\em Anlagen\/\tt \}}] + Setzt eine Anlagenliste (Eintr"age durch \com{}\com{} abgetrennt) +\end{labeling} +\vspace{1em} + +\minisec{Befehle der Adre"sdateien:} +\vspace{0.5em} +\verb|\adrchar| und \verb|\adrentry| (s.o.) +\vspace{1.5em} + +\minisec{Befehle zur Sprachumschaltung:} +\vspace{0.5em} +\begin{labeling}{\com{captionsUSenglish}} +\item[\com{captionsenglish}] Selektiert englische Caption-Texte +\item[\com{captionsUSenglish}] Selektiert amerikanische Caption-Texte +\item[\com{captionsgerman}] Selektiert deutsche Caption-Texte +\item[\com{captionsaustrian}] Selektiert "osterreichische Caption-Texte +\item[\com{captionsfrench}] Selektiert franz"osische Caption-Texte +\item[\com{dateenglish}] Englisches Datum (1/12/1993) +\item[\com{dateUSenglish}] Amerikanisches Datum (12/1/1993) +\item[\com{dategerman}] Deutsches Datum (1.\,12.\,1993) +\item[\com{dateaustrian}] "Osterreichisches Datum (1.\,12.\,1993) +\item[\com{datefrench}] Franz"osisches Datum (1.\,12.\,1993) +\end{labeling} +\vspace{1em} + +\minisec{Sprachabh"angige Variablen} +\vspace{0.5em} +(d"urfen an beliebiger Stelle nach dem \verb|\begin{document}|-Befehl +verwendet werden, k"onnen aber nur mit Hilfe von \verb|\def| oder +\verb|\renewcommand| ge"andert werden; die Liste enth"alt die Variableninhalte +nur in englisch, deutsch und franz"osisch, da die amerikanischen Namen +den englischen und die "osterreichischen den deutschen entsprechen): +\vspace{0.5em} +\begin{labeling}{\tt 1234567890123} +\item[\com{yourrefname}] + Your ref. / Ihr Zeichen / Vos r\'ef\'erences +\item[\com{yourmailname}] + Your letter of / Ihr Schreiben vom / Votre lettre du +\item[\com{myrefname}] + Our ref. / Unser Zeichen / Nos r\'ef\'erences +\item[\com{customername}] + Customer no. / Kundennummer / Num\'ero de client +\item[\com{invoicename}] + Invoice no./ Rechnungsnummer / Num\'ero de facture +\item[\com{subjectname}] + Subject / Betr. / Concernant +\item[\com{ccname}] + cc / Kopien an / Copie \`a +\item[\com{enclname}] + encl / Anlagen / Annexes +\item[\com{headtoname}] + To / An / A +\item[\com{datename}] + Date / Datum / Date +\item[\com{pagename}] + Page / Seite / Page +\end{labeling} +\vspace{1em} + +\minisec{Briefspezifische Variablen und deren Befehle zur Neu- oder +Umdefininierung} +\vspace{0.5em} +(Variablen mit \verb|@| sind gesch"utzt; alle anderen k"onnen +an beliebiger Stelle verwendet werden): +\vspace{0.5em} +\begin{labeling}["andert]{\tt 123456789012345} +\item[\com{name}] \com{fromname} +\item[\com{signature}] \com{fromsig} +\item[\com{address}] \com{fromaddress} +\item[\com{place}] \com{fromplace} +\item[\com{location}] \com{fromlocation} +\item[\com{backaddress}] \com{frombackaddress} +\item[\com{telephone}] \com{telephonenum} +\item[\com{yourref}] \com{varyourref} +\item[\com{yourmail}] \com{varyourmail} +\item[\com{myref}] \com{varmyref} +\item[\com{customer}] \com{varcustomer} +\item[\com{invoice}] \com{varinvoice} +\item[\com{refitemi}] \com{varrefitemi} +\item[\com{refitemii}] \com{varrefitemii} +\item[\com{refitemiii}] \com{varrefitemiii} +\item[\com{refitemnamei}] \com{varrefitemnamei} +\item[\com{refitemnameii}] \com{varrefitemnameii} +\item[\com{refitemnameiii}] \com{varrefitemnameiii} +\item[\com{specialmail}] \verb|\@specialmail| +\item[\com{title}] \verb|\@title| +\item[\com{subject}] \verb|\@subject| +\item[\com{firsthead}] \verb|\@firsthead| +\item[\com{firstfoot}] \verb|\@firstfoot| +\item[\com{nexthead}] \verb|\@nexthead| +\item[\com{nextfoot}] \verb|\@nextfoot| +\end{labeling} +\vspace{1em} + +\minisec{Briefspezifische L"angenangaben} +\vspace{0.5em} +(voreingestellte L"ange in eckigen Klammern; die Ma"se \verb|\foldvskipi| +bis \verb|\foldvskipiii| sind erst ab der Version~2.0 Bestandteil des +{\tt script\_l.sty}): +\vspace{0.5em} +\begin{labeling}{\tt 1234567890123} +\item[\com{foldhskip}] Abstand der Falzmarken vom linken Papierrand [3.5 mm] +\item[\com{foldvskipi}] Abstand der ersten Falzmarke vom oberen + Papierrand [65 mm] +\item[\com{foldvskipii}] Abstand der zweiten Falzmarke von der ersten + Falzmarke [40.5 mm] +\item[\com{foldvskipiii}] Abstand der dritten Falzmarke von der zweiten + Falzmarke [58.5 mm] +\item[\com{addrvskip}] Abstand des Adre"sfensters von der + Textbereichs-Oberkante [7.5 mm] +\item[\com{addrindent}] Abstand des Adre"sfensters vom linken Rand des + Textbereiches [0 mm] +\item[\com{addrwidth}] Breite des Adre"sfensters [70 mm] +\item[\com{addrheight}] H"ohe des Adre"sfensters [35 mm] +\item[\com{locwidth}] Breite des "`Location"'-Feldes [(\verb|\textwidth| + $-$ \verb|\addrwidth|)/2] +\item[\com{refvskip}] Abstand des Referenzfeldes von der + Adre"sfeld-Unterkante [5.5 mm] +\item[\com{sigindent}] Abstand der Gru"sformel und der Unterschrift vom + linken Rand des Textbereiches [0 mm] +\end{labeling} +\vspace{1em} + +\minisec{Schalter} +\vspace{0.5em} +(an jeden Schalternamen ist noch {\tt on} bzw. {\tt off} anzuh"angen): +\vspace{0.5em} +\begin{labeling}[schaltet]{\tt 1234567890} +\item[\com{foldmarks}] Falzmarken [Default = on] +\item[\com{addrfield}] Adre"s- und "`Location"'-Feld [Default = on] +\item[\com{subject}] "`Betreff"'-Text [Default = off] +\end{labeling} + +\end{document} + diff --git a/obsolete/macros/latex209/contrib/script/script10.sty b/obsolete/macros/latex209/contrib/script/script10.sty new file mode 100644 index 0000000000..7ef7fec147 --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/script10.sty @@ -0,0 +1,39 @@ +% script10.sty -- by Frank Neukam (01 Dec 1993) + +\lineskip 1pt +\normallineskip 1pt +\def\baselinestretch{1} + +\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt + \let\sfb=\tensfb + \abovedisplayskip 10pt plus2pt minus5pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus3pt + \belowdisplayshortskip 6pt plus3pt minus3pt + \let\@listi\@listI} +\def\small{\@setsize\small{11pt}\ixpt\@ixpt + \let\sfb=\bf + \abovedisplayskip 8.5pt plus 3pt minus 4pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus2pt + \belowdisplayshortskip 4pt plus2pt minus 2pt + \def\@listi{\leftmargin\leftmargini \topsep 4pt plus 2pt minus 2pt + \parsep 2pt plus 1pt minus 1pt + \itemsep \parsep}} +\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt + \let\sfb=\bf + \abovedisplayskip 6pt plus 2pt minus 4pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus 1pt + \belowdisplayshortskip 3pt plus 1pt minus 2pt + \def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt + \parsep 2pt plus 1pt minus 1pt + \itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt \let\sfb=\bf} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt \let\sfb=\bf} +\def\large{\@setsize\large{14.5pt}\xiipt\@xiipt \let\sfb=\twlsfb} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt \let\sfb=\frtnsfb} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt \let\sfb=\svtnsfb} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt \let\sfb=\twtysfb} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt \let\sfb=\twfvsfb} + diff --git a/obsolete/macros/latex209/contrib/script/script11.sty b/obsolete/macros/latex209/contrib/script/script11.sty new file mode 100644 index 0000000000..8508c0c0db --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/script11.sty @@ -0,0 +1,39 @@ +% script11.sty -- by Frank Neukam (01 Dec 1993) + +\lineskip 1pt +\normallineskip 1pt +\def\baselinestretch{1} + +\def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt + \let\sfb=\elvsfb + \abovedisplayskip 11pt plus3pt minus6pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus3pt + \belowdisplayshortskip 6.5pt plus3.5pt minus3pt + \let\@listi\@listI} +\def\small{\@setsize\small{12pt}\xpt\@xpt + \let\sfb=\tensfb + \abovedisplayskip 10pt plus2pt minus5pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus3pt + \belowdisplayshortskip 6pt plus3pt minus3pt + \def\@listi{\leftmargin\leftmargini \topsep 6pt plus 2pt minus 2pt + \parsep 3pt plus 2pt minus 1pt + \itemsep \parsep}} +\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt + \let\sfb=\bf + \abovedisplayskip 8pt plus 2pt minus 4pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus 1pt + \belowdisplayshortskip 4pt plus 2pt minus 2pt + \def\@listi{\leftmargin\leftmargini \topsep 4pt plus 2pt minus 2pt + \parsep 2pt plus 1pt minus 1pt + \itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt \let\sfb=\bf} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt \let\sfb=\bf} +\def\large{\@setsize\large{14.5pt}\xiipt\@xiipt \let\sfb=\twlsfb} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt \let\sfb=\frtnsfb} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt \let\sfb=\svtnsfb} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt \let\sfb=\twtysfb} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt \let\sfb=\twfvsfb} + diff --git a/obsolete/macros/latex209/contrib/script/script12.sty b/obsolete/macros/latex209/contrib/script/script12.sty new file mode 100644 index 0000000000..2a7edd7852 --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/script12.sty @@ -0,0 +1,39 @@ +% script12.sty -- by Frank Neukam (01 Dec 1993) + +\lineskip 1pt +\normallineskip 1pt +\def\baselinestretch{1} + +\def\@normalsize{\@setsize\normalsize{14.5pt}\xiipt\@xiipt + \let\sfb=\twlsfb + \abovedisplayskip 12pt plus3pt minus7pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus3pt + \belowdisplayshortskip 6.5pt plus3.5pt minus3pt + \let\@listi\@listI} +\def\small{\@setsize\small{13.6pt}\xipt\@xipt + \let\sfb=\elvsfb + \abovedisplayskip 11pt plus3pt minus6pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus3pt + \belowdisplayshortskip 6.5pt plus3.5pt minus3pt + \def\@listi{\leftmargin\leftmargini \parsep 4.5pt plus 2pt minus 1pt + \itemsep \parsep + \topsep 9pt plus 3pt minus 5pt}} +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt + \let\sfb=\tensfb + \abovedisplayskip 10pt plus2pt minus5pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip \z@ plus3pt + \belowdisplayshortskip 6pt plus3pt minus3pt + \def\@listi{\leftmargin\leftmargini \topsep 6pt plus 2pt minus 2pt + \parsep 3pt plus 2pt minus 1pt + \itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt \let\sfb=\bf} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt \let\sfb=\bf} +\def\large{\@setsize\large{18pt}\xivpt\@xivpt \let\sfb=\frtnsfb} +\def\Large{\@setsize\Large{22pt}\xviipt\@xviipt \let\sfb=\svtnsfb} +\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt \let\sfb=\twtysfb} +\def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt \let\sfb=\twfvsfb} +\let\Huge=\huge + diff --git a/obsolete/macros/latex209/contrib/script/script_l.sty b/obsolete/macros/latex209/contrib/script/script_l.sty new file mode 100644 index 0000000000..3b8577d87d --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/script_l.sty @@ -0,0 +1,514 @@ +% script_l.sty -- by Frank Neukam (01 Dec 1993) +% based on Leslie Lamport's letter style. + +\typeout{Document Style `script_l' v2.0 by Frank Neukam <01 Dec 1993>} + +\expandafter\ifx\csname language\endcsname\relax + \errhelp{Use script_l v1.0 or install TeX3 or MLTeX.} + \errmessage{script_l v2.0 can only be used with TeX3 or MLTeX!} +\fi + +\ifx\selectfont\undefined + \font\tensfb =cmssbx10 scaled \magstep0 + \font\elvsfb =cmssbx10 scaled \magstephalf + \font\twlsfb =cmssbx10 scaled \magstep1 + \font\frtnsfb =cmssbx10 scaled \magstep2 + \font\svtnsfb =cmssbx10 scaled \magstep3 + \font\twtysfb =cmssbx10 scaled \magstep4 + \font\twfvsfb =cmssbx10 scaled \magstep5 +\else + \def\tensfb{\family{\sfdefault}\series{bx}\shape{n}\size{10}{12pt}\selectfont} + \def\elvsfb{\family{\sfdefault}\series{bx}\shape{n}\size{11}{13.6pt}\selectfont} + \def\twlsfb{\family{\sfdefault}\series{bx}\shape{n}\size{12}{14.5pt}\selectfont} + \def\frtnsfb{\family{\sfdefault}\series{bx}\shape{n}\size{14}{18pt}\selectfont} + \def\svtnsfb{\family{\sfdefault}\series{bx}\shape{n}\size{17}{22pt}\selectfont} + \def\twtysfb{\family{\sfdefault}\series{bx}\shape{n}\size{20}{25pt}\selectfont} + \def\twfvsfb{\family{\sfdefault}\series{bx}\shape{n}\size{25}{30pt}\selectfont} +\fi + +\def\@ptsize{2} +\@namedef{ds@10pt}{\def\@ptsize{0}} +\@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} +\def\ds@draft{\overfullrule 5pt} +\def\ds@twoside{\@twosidetrue \@mparswitchtrue} +\@options +\input script1\@ptsize.sty\relax +\normalsize + +\let\sc@document=\document +\def\document{\sc@document + \def\captionsenglish{% + \def\yourrefname{Your ref.} + \def\yourmailname{Your letter of} + \def\myrefname{Our ref.} + \def\customername{Customer no.} + \def\invoicename{Invoice no.} + \def\subjectname{Subject} + \def\ccname{cc} + \def\enclname{encl} + \def\headtoname{To} + \def\datename{Date} + \def\pagename{Page}} + \let\captionsUSenglish=\captionsenglish + \def\captionsgerman{% + \def\yourrefname{Ihr Zeichen} + \def\yourmailname{Ihr Schreiben vom} + \def\myrefname{Unser Zeichen} + \def\customername{Kundennummer} + \def\invoicename{Rechnungsnummer} + \def\subjectname{Betr.} + \def\ccname{Kopien an} + \def\enclname{Anlagen} + \def\headtoname{An} + \def\datename{Datum} + \def\pagename{Seite}} + \let\captionsaustrian=\captionsgerman + \def\captionsfrench{% + \def\yourrefname{Vos r\'ef\'erences} + \def\yourmailname{Votre lettre du} + \def\myrefname{Nos r\'ef\'erences} + \def\customername{Num\'ero de client} + \def\invoicename{Num\'ero de facture} + \def\subjectname{Concernant} + \def\ccname{Copie \`a} + \def\enclname{Annexes} + \def\headtoname{A} + \def\datename{Date} + \def\pagename{Page}} + \def\dateenglish{\def\today{\number\day/\number\month/\number\year}} + \def\dateUSenglish{\def\today{\number\month/\number\day/\number\year}} + \def\dategerman{\def\today{\number\day.\,\number\month.\,\number\year}} + \let\dateaustrian=\dategerman + \let\datefrench=\dategerman + \ifcase\language + \captionsUSenglish + \dateUSenglish + \or + \captionsgerman + \dategerman + \or + \captionsfrench + \datefrench + \fi} + +\oddsidemargin 0in +\evensidemargin 0in +\marginparwidth 0.9in +\marginparsep 0.1in +\marginparpush 0.45\baselineskip +\topmargin -15.5mm +\headheight 22mm +\headsep 9mm +\footheight 20mm +\footskip 30mm +\textheight 217mm +\textwidth 159.2mm + +\parskip 0.5\baselineskip +\parindent 0pt +\smallskipamount=0.5\parskip +\medskipamount=\parskip +\bigskipamount=2\parskip +\footnotesep 0.8\baselineskip +\skip\footins 0.75\baselineskip plus 2pt minus 4pt +\skip\@mpfootins = \skip\footins +\columnsep 1cc +\columnseprule 0pt +\floatsep 1\baselineskip plus 2pt minus 2pt +\textfloatsep 20pt plus 2pt minus 4pt +\intextsep 1\baselineskip plus 2pt minus 2pt +\@maxsep 20pt +\dblfloatsep 1\baselineskip plus 2pt minus 2pt +\dbltextfloatsep 20pt plus 2pt minus 4pt +\@dblmaxsep 20pt +\@fptop 0pt plus 1fil +\@fpsep 0.7\baselineskip plus 2fil +\@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil +\@dblfpsep 0.7\baselineskip plus 2fil +\@dblfpbot 0pt plus 1fil + +\arraycolsep 5pt +\tabcolsep 6pt +\arrayrulewidth 0.4pt +\doublerulesep 2pt +\fboxsep 3pt +\fboxrule 0.4pt +\tabbingsep \labelsep + +\topsep 0.25\baselineskip +\partopsep 0pt +\itemsep 0.25\baselineskip +\parsep 0.25\baselineskip +\labelsep .5em +\leftmargini 2.5em +\leftmarginii 2.2em +\leftmarginiii 1.87em +\leftmarginiv 1.7em +\leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelwidth\leftmargini +\advance\labelwidth-\labelsep +\def\@listI{\leftmargin\leftmargini} +\let\@listi\@listI +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} +\@listi + +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty + +\def\theenumi{\arabic{enumi}} +\def\theenumii{\alph{enumii}} +\def\theenumiii{\roman{enumiii}} +\def\theenumiv{\Alph{enumiv}} +\def\labelenumi{\theenumi.} +\def\labelenumii{\theenumii)} +\def\labelenumiii{\theenumiii.} +\def\labelenumiv{\theenumiv.} +\def\p@enumii{\theenumi} +\def\p@enumiii{\theenumi\theenumii)} +\def\p@enumiv{\p@enumiii\theenumiii} +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\triangleright$} +\def\labelitemiv{$\cdot$} + +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist + +\def\quotation{\list{}{\listparindent 1em + \itemindent\listparindent + \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist + +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \sfb #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} +\let\enddescription\endlist +\newdimen\descriptionmargin +\descriptionmargin=3em + +\def\labelinglabel#1{#1\hfil\sc@septext} +\def\labeling{\@ifnextchar [{\@labeling}{\@labeling[]}} +\def\@labeling[#1]#2{\def\sc@septext{#1} + \list{}{\settowidth{\labelwidth}{#2#1} + \leftmargin\labelwidth \advance\leftmargin by \labelsep + \let\makelabel\labelinglabel}} +\let\endlabeling\endlist + +\def\fromname{} +\def\fromsig{} +\def\fromaddress{} +\def\fromplace{} +\def\fromlocation{} +\def\frombackaddress{} +\def\telephonenum{} +\def\varyourref{} +\def\varyourmail{} +\def\varmyref{} +\def\varcustomer{} +\def\varinvoice{} +\def\varrefitemi{} +\def\varrefitemii{} +\def\varrefitemiii{} +\def\varrefitemnamei{} +\def\varrefitemnameii{} +\def\varrefitemnameiii{} +\def\@specialmail{} +\def\@title{} +\def\@subject{} + +\def\name#1{\def\fromname{#1}} +\def\signature#1{\def\fromsig{#1}} +\long\def\address#1{\def\fromaddress{#1}} +\def\place#1{\def\fromplace{#1}} +\long\def\location#1{\def\fromlocation{#1}} +\def\backaddress#1{\def\frombackaddress{#1}} +\def\telephone#1{\def\telephonenum{#1}} +\def\yourref#1{\def\varyourref{#1}} +\def\yourmail#1{\def\varyourmail{#1}} +\def\myref#1{\def\varmyref{#1}} +\def\customer#1{\def\varcustomer{#1}} +\def\invoice#1{\def\varinvoice{#1}} +\def\refitemi#1{\def\varrefitemi{#1}} +\def\refitemii#1{\def\varrefitemii{#1}} +\def\refitemiii#1{\def\varrefitemiii{#1}} +\def\refitemnamei#1{\def\varrefitemnamei{#1}} +\def\refitemnameii#1{\def\varrefitemnameii{#1}} +\def\refitemnameiii#1{\def\varrefitemnameiii{#1}} +\def\specialmail#1{\def\@specialmail{#1}} +\def\title#1{\def\@title{#1}} +\def\subject#1{\def\@subject{#1}} +\long\def\firsthead#1{\def\@firsthead{#1}} +\long\def\firstfoot#1{\def\@firstfoot{#1}} +\long\def\nexthead#1{\def\@nexthead{#1}} +\long\def\nextfoot#1{\def\@nextfoot{#1}} + +\newif\if@fold +\newif\if@afield +\newif\if@subj +\def\foldmarkson{\@foldtrue} +\def\foldmarksoff{\@foldfalse} +\def\addrfieldon{\@afieldtrue} +\def\addrfieldoff{\@afieldfalse} +\def\subjecton{\@subjtrue} +\def\subjectoff{\@subjfalse} + +\newdimen\sc@temp +\newdimen\sc@@temp +\newdimen\foldhskip +\newdimen\foldvskipi +\newdimen\foldvskipii +\newdimen\foldvskipiii +\newdimen\addrvskip +\newdimen\addrindent +\newdimen\addrwidth +\newdimen\addrheight +\newdimen\locwidth +\newdimen\refvskip +\newdimen\sigindent + +\foldhskip 3.5mm +\foldvskipi 65mm +\foldvskipii 40.5mm +\foldvskipiii 58.5mm +\addrvskip 7.5mm +\addrindent 0mm +\addrwidth 70mm +\addrheight 35mm +\locwidth\textwidth +\advance\locwidth by -\addrwidth +\divide\locwidth by 2 +\refvskip 5.5mm +\sigindent 0mm + +\def\adrentry#1#2#3#4#5#6#7#8{\ifx #8\@empty \else + \ifx #2\@empty + \expandafter\def\csname #8\endcsname{#1\\#3} + \else + \expandafter\def\csname #8\endcsname{#2 #1\\#3} + \fi \fi} +\def\adrchar#1{} + +\long\def\letter#1{\newpage + \if@twoside\ifodd\c@page\else \thispagestyle{empty}\null\newpage \fi\fi + \c@page\@ne \interlinepenalty=200 \@processto{#1}} +\def\stopletter{} +\def\endletter{\stopletter\@@par\pagebreak\@@par} +\long\def\@processto#1{\expandafter\@xproc #1\\@@@\ifx\toaddress\@empty + \else\expandafter\@yproc #1@@@\fi} +\long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}} +\long\def\@yproc #1\\#2@@@{\def\toaddress{#2}} + +\def\stopbreaks{\interlinepenalty \@M + \def\par{\@@par\nobreak}\let\\=\@nobreakcr + \let\vspace\@nobreakvspace} +\def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}} +\def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else + \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi} +\def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}} +\def\startbreaks{\let\\=\@normalcr + \interlinepenalty 200\def\par{\@@par\penalty 200}} + +\def\@foldmarks{\if@fold \bgroup + \reversemarginpar\vspace{\foldvskipi} + \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}} \vspace{\foldvskipii} + \marginpar{\hspace{\foldhskip}\rule{4mm}{.2pt}} \vspace{\foldvskipiii} + \marginpar{\hspace{\foldhskip}\rule{2mm}{.2pt}} + \vspace{-\foldvskipiii}\vspace{-\foldvskipii}\vspace{-\foldvskipi} + \egroup \fi} + +\def\@addrfield{\bgroup + \setbox0\vbox{\hsize\addrwidth + \ifx\frombackaddress\@empty \else + \underline{\scriptsize \sf \frombackaddress} \fi} + \setbox1\vbox{\hsize\addrwidth + \ifx\@specialmail\@empty \else \underline{\@specialmail} \fi} + \setbox2\vbox{\hsize\addrwidth + \toname \\ \toaddress} + \vskip\addrvskip \hskip\addrindent + \vbox to \addrheight{% + \ifx\frombackaddress\@empty \else \box0 \fi + \ifx\@specialmail\@empty \else \vfil\box1 \fi + \vfil\box2\vfil}\egroup} + +\def\@locfield{\begin{minipage}[b]{\locwidth}\fromlocation\end{minipage}} + +\newif\if@ref +\def\@datefield{\@reffalse + \ifx\varyourref\@empty \else \@reftrue \fi + \ifx\varyourmail\@empty \else \@reftrue \fi + \ifx\varmyref\@empty \else \@reftrue \fi + \ifx\varcustomer\@empty \else \@reftrue \fi + \ifx\varinvoice\@empty \else \@reftrue \fi + \ifx\varrefitemi\@empty \else \@reftrue \fi + \ifx\varrefitemii\@empty \else \@reftrue \fi + \ifx\varrefitemiii\@empty \else \@reftrue \fi + \vskip -\parskip + \vskip \refvskip + \if@ref + \ifx\varyourref\@empty \else + \settowidth{\sc@temp}{\varyourref} + \setbox0\hbox{\scriptsize \sf \yourrefname} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourref}\hfill + \fi + \ifx\varyourmail\@empty \else + \settowidth{\sc@temp}{\varyourmail} + \setbox0\hbox{\scriptsize \sf \yourmailname} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourmail}\hfill + \fi + \ifx\varmyref\@empty \else + \settowidth{\sc@temp}{\varmyref} + \setbox0\hbox{\scriptsize \sf \myrefname} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varmyref}\hfill + \fi + \ifx\varcustomer\@empty \else + \settowidth{\sc@temp}{\varcustomer} + \setbox0\hbox{\scriptsize \sf \customername} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varcustomer}\hfill + \fi + \ifx\varinvoice\@empty \else + \settowidth{\sc@temp}{\varinvoice} + \setbox0\hbox{\scriptsize \sf \invoicename} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varinvoice}\hfill + \fi + \ifx\varrefitemi\@empty \else + \settowidth{\sc@temp}{\varrefitemi} + \setbox0\hbox{\scriptsize \sf \varrefitemnamei} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemi}\hfill + \fi + \ifx\varrefitemii\@empty \else + \settowidth{\sc@temp}{\varrefitemii} + \setbox0\hbox{\scriptsize \sf \varrefitemnameii} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemii}\hfill + \fi + \ifx\varrefitemiii\@empty \else + \settowidth{\sc@temp}{\varrefitemiii} + \setbox0\hbox{\scriptsize \sf \varrefitemnameiii} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemiii}\hfill + \fi + \ifx\@date\@empty \else + \settowidth{\sc@temp}{\@date} + \setbox0\hbox{\scriptsize \sf \datename} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \@date} + \fi + \par + \vspace{2.5\baselineskip} + \else + {\ifx\@date\@empty \else \raggedleft\fromplace\@date\par \fi} + \vspace{1.5\baselineskip} + \fi} + +\def\maketitle{\ifx\@title\@empty \else + {\centering \LARGE \sfb \@title\par} \vspace{1\baselineskip} \fi} + +\def\@subjfield{\if@subj% + \ifx\@subject\@empty\else\subjectname: \fi + \fi \@subject \par \vspace{1\baselineskip}} + +\def\opening#1{\thispagestyle{firstpage} \null \@foldmarks + \if@afield \@addrfield \hfill \@locfield \par \fi + \@datefield + \maketitle + \@subjfield + #1\par\nobreak} + +\long\def\closing#1{\par\nobreak\vspace{0.5\baselineskip} + \stopbreaks \noindent \sc@temp\textwidth \advance\sc@temp by + -\sigindent \hspace{\sigindent}% + \parbox{\sc@temp}{\raggedright \ignorespaces #1\\[6\medskipamount] + \ifx\@empty\fromsig \fromname \else \fromsig \fi\strut}\par + \vspace{1.5\baselineskip}} + +\def\ps{\par\startbreaks} + +\def\cc#1{\par\noindent \parbox[t]{\textwidth}{\@hangfrom{\ccname: }% + \ignorespaces #1\strut}\par} + +\def\encl#1{\par\noindent \parbox[t]{\textwidth}{\@hangfrom{\enclname: }% + \ignorespaces #1\strut}\par} + +\def\footnoterule{\kern-1\p@ + \hrule width 0.4\columnwidth + \kern .6\p@} +\long\def\@makefntext#1{\noindent \sc@temp\columnwidth% + \advance\sc@temp by -1.5em \hbox to 1em{\hss$^{\@thefnmark}$}\hskip .5em% + \parbox[t]{\sc@temp}{\parindent 0pt\parskip 0pt\hskip -.5em #1}} + +\def\theequation{\arabic{equation}} + +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +\def\@firsthead{\parbox[b]{\textwidth}{\begin{center} + {\sc \ignorespaces \fromname}\\[-8pt] \rule{\textwidth}{.4pt}\\ + \ignorespaces \fromaddress \end{center}}} +\def\@firstfoot{} +\def\@nexthead{\parbox[b]{\textwidth}{{% + \sc \ignorespaces \fromname}\\[8pt] \headtoname\ \ignorespaces \toname + \hfill \datename:\ \@date \hfill \pagename\ + \thepage\\[-8pt] \rule{\textwidth}{.4pt}}} +\def\@nextfoot{} + +\mark{{}{}} +\def\ps@plain{\def\@evenhead{\rm\hfil-- \thepage\ --\hfil}% + \let\@oddhead\@evenhead% + \def\@evenfoot{}% + \def\@oddfoot{}} +\def\ps@firstpage{% + \def\@evenhead{\@firsthead}% + \let\@oddhead\@evenhead% + \def\@evenfoot{\@firstfoot}% + \let\@oddfoot\@evenfoot} +\def\ps@headings{% + \def\@evenhead{\@nexthead}% + \let\@oddhead\@evenhead% + \def\@evenfoot{\@nextfoot}% + \let\@oddfoot\@evenfoot} + +\@foldtrue +\@afieldtrue +\@subjfalse +\ps@plain +\pagenumbering{arabic} +\onecolumn +\raggedbottom +\frenchspacing + diff --git a/obsolete/macros/latex209/contrib/script/script_s.sty b/obsolete/macros/latex209/contrib/script/script_s.sty new file mode 100644 index 0000000000..e0a4347c06 --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/script_s.sty @@ -0,0 +1,602 @@ +% script_s.sty -- by Frank Neukam (01 Dec 1993) +% based on Leslie Lamport's article style. + +\typeout{Document Style `script_s' v2.0 by Frank Neukam <01 Dec 1993>} + +\ifx\selectfont\undefined + \font\tensfb =cmssbx10 scaled \magstep0 + \font\elvsfb =cmssbx10 scaled \magstephalf + \font\twlsfb =cmssbx10 scaled \magstep1 + \font\frtnsfb =cmssbx10 scaled \magstep2 + \font\svtnsfb =cmssbx10 scaled \magstep3 + \font\twtysfb =cmssbx10 scaled \magstep4 + \font\twfvsfb =cmssbx10 scaled \magstep5 +\else + \def\tensfb{\family{\sfdefault}\series{bx}\shape{n}\size{10}{12pt}\selectfont} + \def\elvsfb{\family{\sfdefault}\series{bx}\shape{n}\size{11}{13.6pt}\selectfont} + \def\twlsfb{\family{\sfdefault}\series{bx}\shape{n}\size{12}{14.5pt}\selectfont} + \def\frtnsfb{\family{\sfdefault}\series{bx}\shape{n}\size{14}{18pt}\selectfont} + \def\svtnsfb{\family{\sfdefault}\series{bx}\shape{n}\size{17}{22pt}\selectfont} + \def\twtysfb{\family{\sfdefault}\series{bx}\shape{n}\size{20}{25pt}\selectfont} + \def\twfvsfb{\family{\sfdefault}\series{bx}\shape{n}\size{25}{30pt}\selectfont} +\fi + +\def\@ptsize{1} +\@namedef{ds@10pt}{\def\@ptsize{0}} +\@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} +\newdimen\paperwidth +\newdimen\paperheight +\paperwidth 210mm +\paperheight 297mm +\@namedef{ds@DINA3}{\paperwidth=297mm \paperheight=420mm} +\@namedef{ds@DINA4}{\paperwidth=210mm \paperheight=297mm} +\@namedef{ds@DINA5}{\paperwidth=148.5mm \paperheight=210mm} +\@namedef{ds@DINA6}{\paperwidth=105mm \paperheight=148.5mm} +\@namedef{ds@DINA3l}{\paperwidth=420mm \paperheight=297mm} +\@namedef{ds@DINA4l}{\paperwidth=297mm \paperheight=210mm} +\@namedef{ds@DINA5l}{\paperwidth=210mm \paperheight=148.5mm} +\@namedef{ds@DINA6l}{\paperwidth=148.5mm \paperheight=105mm} +\def\ds@draft{\overfullrule 5pt} +\def\ds@twoside{\@twosidetrue \@mparswitchtrue} +\@options +\input script1\@ptsize.sty\relax +\normalsize + +\newif\if@hincl +\def\headincludeon{\@hincltrue} +\def\headincludeoff{\@hinclfalse} +\newif\if@hsl +\def\headseplineon{\@hsltrue \@hincltrue} +\def\headseplineoff{\@hslfalse \@hinclfalse} +\headseplineoff +\newif\if@fincl +\def\footincludeon{\@fincltrue} +\def\footincludeoff{\@finclfalse} +\newif\if@fsl +\def\footseplineon{\@fsltrue \@fincltrue} +\def\footseplineoff{\@fslfalse \@finclfalse} +\footseplineoff +\newdimen\sc@bcor +\newcount\sc@div +\newdimen\sc@hblk +\newdimen\sc@vblk +\newdimen\sc@temp +\def\typearea{\@ifnextchar [{\@typearea}{\@typearea[0mm]}} +\def\@typearea[#1]#2{ + \normalsize + \sc@bcor #1 + \sc@div=#2 + \sc@hblk \paperwidth + \advance \sc@hblk by -\sc@bcor + \divide\sc@hblk by \sc@div + \oddsidemargin -1in + \evensidemargin -1in + \if@twoside + \advance\oddsidemargin by \sc@hblk + \advance\oddsidemargin by \sc@bcor + \advance\evensidemargin by 2\sc@hblk + \else + \advance\oddsidemargin by 1.5\sc@hblk + \advance\oddsidemargin by \sc@bcor + \evensidemargin\oddsidemargin + \fi + \textwidth \paperwidth + \advance\textwidth by -\sc@bcor + \advance\textwidth by -3\sc@hblk + \headheight 15pt + \headsep 1.5\baselineskip + \footskip 3.5\baselineskip + \sc@vblk \paperheight + \divide\sc@vblk by \sc@div + \sc@temp \paperheight + \advance\sc@temp by -3\sc@vblk + \if@hincl + \advance\sc@temp by -\headheight + \advance\sc@temp by -\headsep + \fi + \if@fincl + \advance\sc@temp by -\footskip + \fi + \textheight \topskip + \@whiledim\textheight<\sc@temp + \do{\advance\textheight by \baselineskip} + \topmargin \sc@vblk + \advance\topmargin by -1in + \if@hincl \else + \advance\topmargin by -\headheight + \advance\topmargin by -\headsep + \fi + \if@twoside + \marginparwidth 1.5\sc@hblk + \else + \marginparwidth \sc@hblk + \fi + \marginparsep 1cc + \marginparpush 0.45\baselineskip} +\def\areaset{\@ifnextchar [{\@areaset}{\@areaset[0mm]}} +\def\@areaset[#1]#2#3{ + \normalsize + \sc@bcor #1 + \textwidth #2 + \textheight #3 + \sc@hblk \paperwidth + \advance\sc@hblk by -\sc@bcor + \advance\sc@hblk by -\textwidth + \divide\sc@hblk by 3 + \oddsidemargin -1in + \evensidemargin -1in + \if@twoside + \advance\oddsidemargin by \sc@hblk + \advance\oddsidemargin by \sc@bcor + \advance\evensidemargin by 2\sc@hblk + \else + \advance\oddsidemargin by 1.5\sc@hblk + \advance\oddsidemargin by \sc@bcor + \evensidemargin\oddsidemargin + \fi + \headheight 15pt + \headsep 1.5\baselineskip + \footskip 3.5\baselineskip + \sc@vblk \paperheight + \advance\sc@vblk by -\textheight + \divide\sc@vblk by 3 + \if@hincl + \advance\textheight by -\headheight + \advance\textheight by -\headsep + \fi + \if@fincl + \advance\textheight by -\footskip + \fi + \topmargin \sc@vblk + \advance\topmargin by -1in + \if@hincl \else + \advance\topmargin by -\headheight + \advance\topmargin by -\headsep + \fi + \if@twoside + \marginparwidth 1.5\sc@hblk + \else + \marginparwidth \sc@hblk + \fi + \marginparsep 1cc + \marginparpush 0.45\baselineskip} +\ifcase \@ptsize\relax \typearea{8} \or \typearea{10} \or \typearea{12} \fi + +\parskip 0pt plus 1pt +\parindent 1em +\partopsep 3pt plus 2pt minus 2pt +\footnotesep 0.6\baselineskip +\skip\footins 0.75\baselineskip plus 4pt minus 2pt +\skip\@mpfootins = \skip\footins +\columnsep 1cc +\columnseprule 0pt +\floatsep 1\baselineskip plus 2pt minus 2pt +\textfloatsep 20pt plus 2pt minus 4pt +\intextsep 1\baselineskip plus 2pt minus 2pt +\@maxsep 20pt +\dblfloatsep 1\baselineskip plus 2pt minus 2pt +\dbltextfloatsep 20pt plus 2pt minus 4pt +\@dblmaxsep 20pt +\@fptop 0pt plus 1fil +\@fpsep 0.7\baselineskip plus 2fil +\@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil +\@dblfpsep 0.7\baselineskip plus 2fil +\@dblfpbot 0pt plus 1fil + +\arraycolsep 5pt +\tabcolsep 6pt +\arrayrulewidth 0.4pt +\doublerulesep 2pt +\fboxsep 3pt +\fboxrule 0.4pt +\tabbingsep \labelsep + +\labelsep .5em +\leftmargini 2.5em +\leftmarginii 2.2em +\leftmarginiii 1.87em +\leftmarginiv 1.7em +\leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelwidth\leftmargini +\advance\labelwidth-\labelsep +\def\@listI{\leftmargin\leftmargini + \topsep 0.8em plus 0.2em minus 0.4em + \parsep 0.4em plus 2pt minus 1pt + \itemsep \parsep} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 0.4em plus 2pt minus 1pt + \parsep 0.2em plus 1pt minus 1pt + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 0.2em plus 1pt minus 1pt + \parsep \z@ + \partopsep 1pt plus 0pt minus 1pt + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty + +\def\theenumi{\arabic{enumi}} +\def\theenumii{\alph{enumii}} +\def\theenumiii{\roman{enumiii}} +\def\theenumiv{\Alph{enumiv}} +\def\labelenumi{\theenumi.} +\def\labelenumii{\theenumii)} +\def\labelenumiii{\theenumiii.} +\def\labelenumiv{\theenumiv.} +\def\p@enumii{\theenumi} +\def\p@enumiii{\theenumi\theenumii)} +\def\p@enumiv{\p@enumiii\theenumiii} +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\triangleright$} +\def\labelitemiv{$\cdot$} + +\newcounter{part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] + +\def\thepart {\Roman{part}} +\def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + +\setcounter{secnumdepth}{3} +\setcounter{tocdepth}{3} + +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist + +\def\quotation{\list{}{\listparindent 1em + \itemindent\listparindent + \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist + +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \descfont #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} +\let\enddescription\endlist +\newdimen\descriptionmargin +\descriptionmargin=3em + +\def\labelinglabel#1{#1\hfil\sc@septext} +\def\labeling{\@ifnextchar [{\@labeling}{\@labeling[]}} +\def\@labeling[#1]#2{\def\sc@septext{#1} + \list{}{\settowidth{\labelwidth}{#2#1} + \leftmargin\labelwidth \advance\leftmargin by \labelsep + \let\makelabel\labelinglabel}} +\let\endlabeling\endlist + +\def\marginline#1{\marginpar% + {\if@twoside \ifodd\c@page \raggedright \else \raggedleft \fi + \else \raggedright \fi #1}} + +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +\def\@titlehead{} +\long\def\titlehead#1{\def\@titlehead{#1}} +\def\@subject{} +\def\subject#1{\def\@subject{#1}} +\def\maketitle{\par \begingroup + \def\thefootnote{\fnsymbol{footnote}} + \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}} + \if@twocolumn + \twocolumn[\@maketitle] + \else + \newpage \global\@topnum\z@ \@maketitle + \fi + \thispagestyle{plain}\@thanks \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@titlehead{}\gdef\@subject{}% + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} +\def\@maketitle{\newpage + \ifx\@titlehead\@empty \else + \noindent\begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par\null\vskip 1em + \fi + \null \vskip 2em + \ifx\@subject\@empty \else + {\centering \Large \@subject \par} + \vskip 1.5em + \fi + \begin{center} + {\huge \sectfont \@title \par} \vskip 1.5em {\Large \lineskip .5em + \begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vskip 1em {\Large \@date} + \end{center} + \par \vskip 5em} + +\newif\if@abstrt +\def\abstracton{\@abstrttrue} +\def\abstractoff{\@abstrtfalse} +\def\abstractname{Abstract} +\def\abstract{\if@abstrt \if@twocolumn \section*{\abstractname} \else + \begin{center} {\sectfont \abstractname \vspace{-.5em}} \end{center}\fi + \quotation \fi} +\def\endabstract{\if@twocolumn \else \endquotation \fi} + +\def\partname{Part} +\def\part{\par \addvspace{4ex} \@afterindentfalse \secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{part} + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}\else + \addcontentsline{toc}{part}{#1}\fi \markboth{}{} + {\parindent 0pt \raggedright \ifnum \c@secnumdepth >\m@ne \LARGE \sectfont + \partname{} \thepart \par\nobreak \fi \huge \sectfont #2\par}\@endpart} +\def\@spart#1{{\parindent 0pt \raggedright \huge \sectfont #1\par}\@endpart} +\def\@endpart{\nobreak \vskip 3ex \@afterheading} + +\def\section{\@afterindentfalse \secdef\@section\@ssection} +\def\@section[#1]#2{\ifnum \c@secnumdepth >\z@ + \refstepcounter{section} + \addcontentsline{toc}{section}{\protect \numberline{\thesection.}#1} + \else + \addcontentsline{toc}{section}{#1}\fi + \sectionmark{#1} + \@makesectionhead{#2} \@afterheading} +\def\@ssection#1{\@makessectionhead{#1} \@afterheading} +\def\@makesectionhead#1{\vskip 3.5ex plus 1ex minus .2ex {\Large \sectfont + \@hangfrom{\ifnum \c@secnumdepth >\z@ \thesection.\hskip .7em\fi}% + {\raggedright \interlinepenalty \@M #1\par}} \nobreak \vskip 2.3ex + plus .2ex} +\def\@makessectionhead#1{\vskip 3.5ex plus 1ex minus .2ex {\Large \sectfont + \@hangfrom{}{\raggedright \interlinepenalty \@M #1\par}} \nobreak + \vskip 2.3ex plus .2ex} + +\def\addsec{\secdef\@addsec\@saddsec} +\def\@addsec[#1]#2{\addcontentsline{toc}{section}{#1} + \if@twoside \markboth{#1}{}\else \markright{#1}\fi \section*{#2}} +\def\@saddsec#1{\section*{#1}\markboth{}{}} + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus + -.2ex}{1.5ex plus .2ex}{\large \sectfont}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus -1ex + minus -.2ex}{1.5ex plus .2ex}{\sectfont}} +\def\paragraph{\@startsection{paragraph}{4}{\z@}{3.25ex plus 1ex minus + .2ex}{-1em}{\sectfont}} +\def\subparagraph{\@startsection{subparagraph}{4}{\parindent}{3.25ex plus + 1ex minus .2ex}{-1em}{\sectfont}} + +\def\minisec#1{\@afterindentfalse \vskip 1.5ex {\parindent 0pt \raggedright + \sectfont #1\par\nobreak}\@afterheading} + +\def\contentsname{Contents} +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\def\tableofcontents{\section*{\contentsname + \@mkboth{\contentsname}{\contentsname}} + \@starttoc{toc}} +\def\l@part#1#2{\addpenalty{\@secpenalty} + \addvspace{2.25em plus 1pt} \begingroup + \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip + -\@pnumwidth + {\sectfont \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak \endgroup} +\def\l@section#1#2{\addpenalty{\@secpenalty} + \addvspace{1.0em plus 1pt} \@tempdima 1.5em \begingroup + \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth + \sectfont \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip% + #1\nobreak \hfil\nobreak\hbox to\@pnumwidth{\hss #2}\par + \endgroup} +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} + +\def\listfigurename{List of Figures} +\def\listoffigures{\section*{\listfigurename\@mkboth + {\listfigurename}{\listfigurename}} \@starttoc{lof}} +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} + +\def\listtablename{List of Tables} +\def\listoftables{\section*{\listtablename\@mkboth + {\listtablename}{\listtablename}} \@starttoc{lot}} +\let\l@table\l@figure + +\def\refname{References} +\def\thebibliography#1{\section*{\refname \@mkboth{\refname}{\refname}} + \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip 0.11em plus 0.33em minus 0.07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + +\def\indexname{Index} +\newif\if@restonecol +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule \z@ + \columnsep 35pt\twocolumn[\section*{\indexname}] + \@mkboth{\indexname}{\indexname} + \thispagestyle{plain}\parindent\z@ + \parskip\z@ plus 0.3pt\relax\let\item\@idxitem} +\def\@idxitem{\par\hangindent 40pt} +\def\subitem{\par\hangindent 40pt \hspace*{20pt}} +\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} + +\def\footnoterule{\kern-3\p@ + \hrule width 0.4\columnwidth + \kern 2.6\p@} +\long\def\@makefntext#1{\noindent \sc@temp\columnwidth% + \advance\sc@temp by -1.5em \hbox to 1em{\hss$^{\@thefnmark}$}\hskip .5em% + \parbox[t]{\sc@temp}{\parindent 0pt\parskip 0pt\hskip -.5em #1}} + +\def\theequation{\arabic{equation}} + +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +\long\def\@makecaption#1#2{\vskip 10pt + \setbox\@tempboxa\hbox{\captfont #1: #2} + \ifdim \wd\@tempboxa >\hsize \@hangfrom{\captfont #1: }% + {\captfont #2\par} + \else \hbox to\hsize{\hfil\box\@tempboxa\hfil} + \fi} + +\def\figurename{Figure} +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename{} \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +\def\tablename{Table} +\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename{} \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + +\mark{{}{}} +\if@twoside + \def\ps@plain{\let\@mkboth\@gobbletwo + \def\@evenhead{}% + \def\@oddhead{}% + \def\@evenfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\thepage\hfil}}}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage}}}} + \def\ps@headings{\let\@mkboth\markboth + \def\@evenhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\leftmark\hfil} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\hfil\rightmark} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@evenfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\thepage\hfil}}}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage}}}% + \def\sectionmark##1{\markboth {\ifnum \c@secnumdepth >\z@ + \thesection. \ \fi ##1}{}}% + \def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne + \thesubsection\ \ \fi ##1}}} + \def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@evenhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\leftmark\hfil} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\hfil\rightmark} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@evenfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\thepage\hfil}}}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage}}}% + \def\sectionmark##1{}% + \def\subsectionmark##1{}} +\else + \def\ps@plain{\let\@mkboth\@gobbletwo + \def\@evenhead{}% + \def\@oddhead{}% + \def\@evenfoot{}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage\hfil}}}} + \def\ps@headings{\let\@mkboth\markboth + \def\@evenhead{}% + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\hfil\rightmark\hfil} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@evenfoot{}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage\hfil}}}% + \def\sectionmark##1{\markright {\ifnum \c@secnumdepth >\z@ + \thesection. \ \fi ##1}}% + \def\subsectionmark##1{}} + \def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@evenhead{}% + \def\@oddhead{\vbox{\hsize=\textwidth + \hbox to \textwidth{\headfont\hfil\rightmark\hfil} + \if@hsl \vskip 1.5pt \hrule \fi}}% + \def\@evenfoot{}% + \def\@oddfoot{\vbox{\hsize=\textwidth + \if@fsl \hrule \vskip 3pt \fi + \hbox to \textwidth{\pnumfont\hfil\thepage\hfil}}}% + \def\sectionmark##1{}% + \def\subsectionmark##1{}} +\fi + +\def\today{\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 + \space\number\day, \number\year} + +\@abstrttrue +\ps@plain +\pagenumbering{arabic} +\onecolumn +\if@twoside \else \raggedbottom \fi +\frenchspacing +\def\captfont{\rm} +\def\descfont{\sfb} +\def\headfont{\it} +\def\pnumfont{\rm} +\def\sectfont{\sfb} + diff --git a/obsolete/macros/latex209/contrib/script/sctitle.sty b/obsolete/macros/latex209/contrib/script/sctitle.sty new file mode 100644 index 0000000000..a6140e017a --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/sctitle.sty @@ -0,0 +1,88 @@ +% sctitle.sty -- by Frank Neukam (01 Dec 1993) + +\ifx\sectfont\undefined + \def\@sectfont{\bf} +\else + \let\@sectfont=\sectfont +\fi + +\def\next@tpage{\newpage\thispagestyle{empty}\null} +\def\@extratitle{} +\long\def\extratitle#1{\def\@extratitle{#1}} +\def\@titlehead{} +\long\def\titlehead#1{\def\@titlehead{#1}} +\def\@subject{} +\def\subject#1{\def\@subject{#1}} +\def\@publishers{} +\def\publishers#1{\def\@publishers{#1}} +\def\@uppertitleback{} +\long\def\uppertitleback#1{\def\@uppertitleback{#1}} +\def\@lowertitleback{} +\long\def\lowertitleback#1{\def\@lowertitleback{#1}} +\def\@dedication{} +\def\dedication#1{\def\@dedication{#1}} +\def\maketitle{\@ifnextchar [{\@maketitle}{\@maketitle[1]}} +\def\@maketitle[#1]{\bgroup \@restonecolfalse + \if@twocolumn \@restonecoltrue\onecolumn \else \newpage \fi + \thispagestyle{empty}\null + \setcounter{page}{#1} + \let\footnotesize\small + \let\footnoterule\relax + \ifx\@extratitle\@empty \else + \noindent\@extratitle \next@tpage \if@twoside \next@tpage \fi + \fi + \ifx\@titlehead\@empty \else + \noindent\begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null \vfill + \ifx\@subject\@empty \else + {\centering \Large \@subject \par} + \vskip 3em + \fi + {\centering \huge \@sectfont \@title \par} + \vskip 3em + {\centering \Large \lineskip 0.75em + \begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vskip 1.5em + {\centering \Large \@date \par} + \vskip 0pt plus 3fill + {\centering \Large \@publishers \par} + \vskip 3em + \par \@thanks + \if@twoside \next@tpage + \noindent\begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \noindent\begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty \else + \next@tpage \vfill + {\centering \Large \@dedication \par} + \vskip 0pt plus 3fill + \if@twoside \next@tpage \fi + \fi + \if@restonecol\twocolumn \else \newpage \fi + \egroup + \setcounter{footnote}{0} + \let\thanks\relax \gdef\@extratitle{}\gdef\@titlehead{}\gdef\@subject{}% + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@publishers{}% + \gdef\@uppertitleback{}\gdef\@lowertitleback{}\gdef\@dedication{}% + \let\maketitle\relax \let\@maketitle\relax} + +\newif\if@abstrt +\def\abstracton{\@abstrttrue} +\def\abstractoff{\@abstrtfalse} +\def\abstractname{Abstract} +\def\abstract{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty} \null \vfil + \if@abstrt \begin{center} {\@sectfont \abstractname} \end{center}\fi} +\def\endabstract{\par \vfil \null + \if@twoside \next@tpage \fi + \if@restonecol\twocolumn \else \newpage \fi} + diff --git a/obsolete/macros/latex209/contrib/script/typearea.sty b/obsolete/macros/latex209/contrib/script/typearea.sty new file mode 100644 index 0000000000..46eb39f9ba --- /dev/null +++ b/obsolete/macros/latex209/contrib/script/typearea.sty @@ -0,0 +1,120 @@ +% typearea.sty -- by Frank Neukam (01 Dec 1993) + +\newif\if@hincl +\def\headincludeon{\@hincltrue} +\def\headincludeoff{\@hinclfalse} +\@hinclfalse +\newif\if@fincl +\def\footincludeon{\@fincltrue} +\def\footincludeoff{\@finclfalse} +\@finclfalse +\newdimen\paperwidth +\newdimen\paperheight +\newdimen\ta@bcor +\newcount\ta@div +\newdimen\ta@hblk +\newdimen\ta@vblk +\newdimen\ta@temp +\paperwidth 210mm +\paperheight 297mm +\def\typearea{\@ifnextchar [{\@typearea}{\@typearea[0mm]}} +\def\@typearea[#1]#2{ + \normalsize + \ta@bcor #1 + \ta@div=#2 + \ta@hblk \paperwidth + \advance \ta@hblk by -\ta@bcor + \divide\ta@hblk by \ta@div + \oddsidemargin -1in + \evensidemargin -1in + \if@twoside + \advance\oddsidemargin by \ta@hblk + \advance\oddsidemargin by \ta@bcor + \advance\evensidemargin by 2\ta@hblk + \else + \advance\oddsidemargin by 1.5\ta@hblk + \advance\oddsidemargin by \ta@bcor + \evensidemargin\oddsidemargin + \fi + \textwidth \paperwidth + \advance\textwidth by -\ta@bcor + \advance\textwidth by -3\ta@hblk + \headheight 15pt + \headsep 1.5\baselineskip + \footskip 3.5\baselineskip + \ta@vblk \paperheight + \divide\ta@vblk by \ta@div + \ta@temp \paperheight + \advance\ta@temp by -3\ta@vblk + \if@hincl + \advance\ta@temp by -\headheight + \advance\ta@temp by -\headsep + \fi + \if@fincl + \advance\ta@temp by -\footskip + \fi + \textheight \topskip + \@whiledim\textheight<\ta@temp + \do{\advance\textheight by \baselineskip} + \topmargin \ta@vblk + \advance\topmargin by -1in + \if@hincl \else + \advance\topmargin by -\headheight + \advance\topmargin by -\headsep + \fi + \if@twoside + \marginparwidth 1.5\ta@hblk + \else + \marginparwidth \ta@hblk + \fi + \marginparsep 1cc + \marginparpush 0.45\baselineskip} +\def\areaset{\@ifnextchar [{\@areaset}{\@areaset[0mm]}} +\def\@areaset[#1]#2#3{ + \normalsize + \ta@bcor #1 + \textwidth #2 + \textheight #3 + \ta@hblk \paperwidth + \advance\ta@hblk by -\ta@bcor + \advance\ta@hblk by -\textwidth + \divide\ta@hblk by 3 + \oddsidemargin -1in + \evensidemargin -1in + \if@twoside + \advance\oddsidemargin by \ta@hblk + \advance\oddsidemargin by \ta@bcor + \advance\evensidemargin by 2\ta@hblk + \else + \advance\oddsidemargin by 1.5\ta@hblk + \advance\oddsidemargin by \ta@bcor + \evensidemargin\oddsidemargin + \fi + \headheight 15pt + \headsep 1.5\baselineskip + \footskip 3.5\baselineskip + \ta@vblk \paperheight + \advance\ta@vblk by -\textheight + \divide\ta@vblk by 3 + \if@hincl + \advance\textheight by -\headheight + \advance\textheight by -\headsep + \fi + \if@fincl + \advance\textheight by -\footskip + \fi + \topmargin \ta@vblk + \advance\topmargin by -1in + \if@hincl \else + \advance\topmargin by -\headheight + \advance\topmargin by -\headsep + \fi + \if@twoside + \marginparwidth 1.5\ta@hblk + \else + \marginparwidth \ta@hblk + \fi + \marginparsep 1cc + \marginparpush 0.45\baselineskip} +\ifcase \@ptsize\relax \typearea{8} \or \typearea{10} \or \typearea{12} \fi + diff --git a/obsolete/macros/latex209/contrib/siam/fixup.sty b/obsolete/macros/latex209/contrib/siam/fixup.sty new file mode 100644 index 0000000000..da8fe4e450 --- /dev/null +++ b/obsolete/macros/latex209/contrib/siam/fixup.sty @@ -0,0 +1,167 @@ +% FIXUP DOCUMENT STYLE OPTION +% for LaTeX Version 2.09 <25 Jan 1988> +% by John Hobby +% +% If the fleqn style option is also used, it should precede this one. + + +\hyphenation{bi-dif-fer-en-tial buzz-word data-path equi-vari-ant gauss-ian + hexa-dec-i-mal le-gendre mass-a-chu-setts non-smooth + qua-si-smooth stand-alone time-stamp wave-guide white-space} + + + + +% Fix Plain's \bigl, \Bigl, etc. macros so that they try to scale with +% LaTeX size changes. This uses the fact that \@setsize sets \ht\strutbox +% to be 70% of the normal unstretched baselineskip. + +\def\big#1{{\hbox{$\left#1\vcenter to1.428\ht\strutbox{}\right.\n@space$}}} +\def\Big#1{{\hbox{$\left#1\vcenter to2.142\ht\strutbox{}\right.\n@space$}}} +\def\bigg#1{{\hbox{$\left#1\vcenter to2.857\ht\strutbox{}\right.\n@space$}}} +\def\Bigg#1{{\hbox{$\left#1\vcenter to3.571\ht\strutbox{}\right.\n@space$}}} + + + + + +% Fix \sbox and \mbox so that they do not take the box contents as a parameter. +% This makes environments that depend on catcode changes work inside + +\def\sbox#1{\setbox#1\hbox} +\def\mbox{\leavevmode\hbox} + + + + + + +% Apply \addpenalty's trick for not confusing \addvspace so that the \write +% from \addtocontents or \addcontentsline will not mess up vertical spacing + +\def\addvstuff#1{% + \ifvmode\ifdim\lastskip=\z@ #1% + \else \@tempskipb\lastskip + \vskip -\lastskip #1\vskip\@tempskipb + \fi + \else #1\fi} + +\def\addpenalty#1{\ifvmode + \if@minipage\else\if@nobreak\else + \addvstuff{\penalty#1}% + \fi\fi + \else\@noitemerr\fi} + +\long\def\addtocontents#1#2{% + \if@filesw \begingroup + \let\label\@gobble \let\index\@gobble + \def\protect##1{\string\string\string##1\string\space\space}% + \edef\@tempa{\write \@auxout {\string\@writefile{#1}{#2}}}% + \addvstuff{\@tempa \if@nobreak \ifvmode\nobreak\fi\fi}% + \endgroup\fi} + +\def\addcontentsline#1#2#3{% + \if@filesw \begingroup + \let\label\@gobble \let\index\@gobble + \def\protect##1{\string\string\string##1\string\space\space}% + \@temptokena{\thepage}% + \edef\@tempa{\write \@auxout{\string\@writefile{#1}% + {\protect\contentsline{#2}{#3}{\the\@temptokena}}}}% + \addvstuff{\@tempa \if@nobreak \ifvmode\nobreak\fi\fi}% + \endgroup\fi} + + + + +% Make floats use the trick from the minipage environment to avoid extraneous +% space at the top. e.g., "\begin{figure} \begin{center}..." + +\def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty -\@Mii\else + \@floatpenalty-\@Miii\fi\def\@captype{#1}\ifinner + \@parmoderr\@floatpenalty\z@ + \else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname + \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n + \@tfor \@tempa :=#2\do + {\if\@tempa h\advance\@tempcnta \@ne\fi + \if\@tempa t\advance\@tempcnta \tw@\fi + \if\@tempa b\advance\@tempcnta 4\relax\fi + \if\@tempa p\advance\@tempcnta 8\relax\fi + }\global\count\@currbox\@tempcnta}\@fltovf\fi + \global\setbox\@currbox\vbox\bgroup + \hsize\columnwidth \@parboxrestore + \@minipagetrue + \everypar{\global\@minipagefalse\everypar{}}} + + + + +% We now redefine the eqnarray environment to correct the space around +% the operator. Since the fleqn document style option also redefines +% this environment, we carefully check the previous definition before +% making any changes. Any changes to the definition in LaTeX itself +% or in the fleqn document style option will cause the `Warning: unable...' +% message to appear. If this happens it will be necessary to update the +% definitions of \@tempa and \@tempb below and incorperate the changes into +% the new definitions of \eqnarray. + + +% This is the current definition of \eqnarray for the fleqn document style +% option: + +\def\@tempa{\stepcounter{equation}\let\@currentlabel=\theequation +\global\@eqnswtrue +\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr +\abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi +\belowdisplayskip\abovedisplayskip +\belowdisplayshortskip\abovedisplayskip +\abovedisplayshortskip\abovedisplayskip +$$\halign to +\linewidth\bgroup\@eqnsel\hskip\@centering$\displaystyle\tabskip\z@ +{##}$&\global\@eqcnt\@ne \hskip 2\arraycolsep \hfil${##}$\hfil +&\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle{##}$\hfil +\tabskip\@centering&\llap{##}\tabskip\z@\cr} + + +% Here is the corresponding defintion from latex.tex: + +\def\@tempb{\stepcounter{equation}\let\@currentlabel=\theequation +\global\@eqnswtrue +\global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr +$$\halign to \displaywidth\bgroup\@eqnsel\hskip\@centering + $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne + \hskip 2\arraycolsep \hfil${##}$\hfil + &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil + \tabskip\@centering&\llap{##}\tabskip\z@\cr} + + +\ifx\eqnarray\@tempa % If the fleqn document style option is in effect + + \def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation + \global\@eqnswtrue + \global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr + \abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi + \belowdisplayskip\abovedisplayskip + \belowdisplayshortskip\abovedisplayskip + \abovedisplayshortskip\abovedisplayskip + $$\halign to \linewidth\bgroup\hfil + $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne + \hfil$\displaystyle{{}##{}}$\hfil + &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil + \tabskip\@centering&\llap{##}\tabskip\z@\cr} + +\else\ifx\eqnarray\@tempb % Else try the default eqnarray environment + + \def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation + \global\@eqnswtrue + \global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr + $$\halign to \displaywidth\bgroup\hfil + $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne + \hfil$\displaystyle{{}##{}}$\hfil + &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil + \tabskip\@centering&\llap{##}\tabskip\z@\cr} + +\else \typeout{Warning: Unable to fix unknown version of \string\enarray.} +\fi\fi + +\def\@tempa{} % Free up TeX's memory +\def\@tempb{} diff --git a/obsolete/macros/latex209/contrib/siam/numinsec.sty b/obsolete/macros/latex209/contrib/siam/numinsec.sty new file mode 100644 index 0000000000..a849c4965a --- /dev/null +++ b/obsolete/macros/latex209/contrib/siam/numinsec.sty @@ -0,0 +1,16 @@ +% SIAM Style option to get numbering of equations, figures, tables within sections + +\@addtoreset{equation}{section} % Makes \section reset 'equation' counter. +\def\theequation{\thesection.\arabic{equation}} + +\@addtoreset{theorem}{section} +\def\thetheorem{\thesection.\@arabic\c@theorem} +\def\thelemma{\thesection.\@arabic\c@theorem} +\def\thecorollary{\thecorollary.\@arabic\c@theorem} +\def\theproposition{\theproposition.\@arabic\c@theorem} + +\@addtoreset{figure}{section} +\def\thefigure{\thesection.\@arabic\c@figure} + +\@addtoreset{table}{section} +\def\thetable{\thesection.\@arabic\c@table} diff --git a/obsolete/macros/latex209/contrib/siam/siam-doc.tex b/obsolete/macros/latex209/contrib/siam/siam-doc.tex new file mode 100644 index 0000000000..85325cabef --- /dev/null +++ b/obsolete/macros/latex209/contrib/siam/siam-doc.tex @@ -0,0 +1,166 @@ +\documentstyle{siam} +\title{Using the SIAM \LaTeX\ Style% + \thanks{This document was written September 24, 1986.}} +\author{Howard Trickey% + \thanks{AT\&T Bell Laboratories, 600 Mountain Ave., + Murray Hill, NJ 07974. + {\tt research!trickey} or {\tt trickey@btl.csnet}}} +\begin{document} +\maketitle +\begin{abstract} +This note explains how to use a \LaTeX\ style that produces a good +approximation to the style used in SIAM journals. +The note is itself an example of the {\tt siam} style in action. +\end{abstract} +\begin{keywords} +Document preparation, \LaTeX, SIAM +\end{keywords} + +\section{Introduction} +The {\em Society for Industrial and Applied Mathematics (SIAM)\/} +publishes a number of journals, as shown in Table~\ref{pub-table}. +Authors who have prepared their articles using \LaTeX\ \cite{latexbook} +can get them formatted in a style identical to a typical paper +in one of those journals. +Input that is suitable for the \LaTeX\ {\tt article} style needs +only a couple of modifications besides changing the document style +to {\tt siam}. + +\begin{table}\label{pub-table} +\caption{SIAM Publications} +\begin{center} +\begin{tabular}{l} +\hline +SIAM Journal on Algebraic and Discrete Methods\\ +SIAM Journal on Applied Mathematics\\ +SIAM Journal on Computing\\ +SIAM Journal on Control and Optimization\\ +SIAM Journal on Mathematical Analysis\\ +SIAM Journal on Numerical Analysis\\ +SIAM Journal on Scientific and Statistical Computing\\ +\hline +\end{tabular} +\end{center} +\end{table} + +This paper itself gives an example of the {\tt siam} style. +Figure~\ref{outline-fig} is an outline of the input used. + +\begin{figure} +\begin{center} +\begin{verbatim} +\documentstyle{siam} +\title{Using the SIAM \LaTeX\ Style% + \thanks{This document was written September 24, 1986.}} +\author{Howard Trickey% + \thanks{AT\&T Bell Laboratories, 600 Mountain Ave., + Murray Hill, NJ 07974. + {\tt research!trickey} or {\tt trickey@btl.csnet}}} +\begin{document} +\maketitle +\begin{abstract} +This note explains ... +\end{abstract} +\begin{keywords} +Document preparation, \LaTeX, SIAM +\end{keywords} + +\section{Introduction} +... +\section*{Acknowledgment} +\bibliography{siam} +\bibliographystyle{siam} +\end{document} +\end{verbatim} +\end{center} +\caption{Input used to produce this paper}\label{outline-fig} +\end{figure} + +\section{Title Material} +Use the \LaTeX\ \verb|\title| and \verb|\author| declarations and the +\verb|\maketitle| command as usual. +SIAM journals don't put author affiliations below or beside +the author(s); instead, use \verb|\thanks| to list addresses. +In fact, it is an error to use \verb|\\| in the \verb|\author| +command, because it interferes with some fairly fancy +footwork that the style uses to change the author and title +to all uppercase. +If there are several authors with the same affiliation, +the best I can suggest is to \verb|\thanks| only one, see +what footnote mark comes out, and manually place it after +the others (sorry). + +The \verb|\maketitle| can be followed by an abstract and/or a keywords +section, as shown in the introduction. + +\section{Figures and Tables} +SIAM tables have their captions above the table contents, +while figures have captions below the contents. +Place the \verb|\caption| command accordingly. +Figure~\ref{outline-fig} and Table~\ref{pub-table} +were examples. + +\section{Mathematics} +Equations are entered as usual. +SIAM journals put equation numbers on the left. +It appears to be up to the author whether equations are numbered +within a section (e.g., (4.2)) or within the paper (e.g., (2)). +The {\tt siam} style uses the latter, as this example from +the {\em SIAM Journal on Numerical Analysis\/} +\cite{bube} shows: +\begin{equation} +r_k=\int_{-\Delta}^{\Delta} r(2k\Delta+\tau)\,d\tau\qquad (0\le k \le n) +\end{equation} + +There are four ``theorem-like'' environments predefined: +theorem, lemma, corollary, and proposition. +Again, SIAM does not appear to prescribe the exact numbering scheme +to be used. +The {\tt siam} style numbers them all in the same index space, and +not within each section. +There is also a \verb|\proof| environment. +For example, here is Theorem~1 of the example paper \cite{bube}: +\begin{theorem} +Suppose the ramp reflectance is sampled. Then +\begin{equation}\label{theq} +\|R_j\|_2 \le c_0 \equiv \|R_X\| < 1 +\end{equation} +whenever $(j+1)\Delta\le X$; +thus the discrete inverse problem can be solved, +yielding a positive discrete impedance profile. +\end{theorem} +\begin{proof} +Fix $\Delta$, and fix $j$ and $x$ with $0 } + { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +STRINGS { last.authors } + +FUNCTION {init.last.authors} +{ "" 'last.authors := +} + +FUNCTION {format.authors} +{ author empty$ + { "" 'last.authors := + "" + } + { author last.authors = + { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" } + { author format.names scapify } + if$ + author 'last.authors := + } + if$ +} + +FUNCTION {format.organization} +{ organization empty$ + { "" 'last.authors := + "" + } + { organization last.authors = + { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" } + { organization scapify } + if$ + organization 'last.authors := + } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" 'last.authors := + "" + } + { editor last.authors = + { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" } + { editor format.names scapify } + if$ + editor num.names$ #1 > + { ", eds." * } + { ", ed." * } + if$ + editor 'last.authors := + } + if$ +} + +FUNCTION {format.ineditors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", eds." * } + { ", ed." * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ emphasize } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year + { month " " * year * } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "vol.~" volume * + series empty$ + 'skip$ + { " of " * series * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { "no.~" number * + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { edition "l" change.case$ "~ed." * } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp.~" pages n.dashify * } + { "p.~" pages * } + if$ + } + if$ +} + +FUNCTION {format.vol.year} +{ volume field.or.null + year empty$ + { "empty year in " cite$ * warning$ } + { " (" year * ")" * * } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "ch.~" chapter * } + { type "l" change.case$ chapter tie.or.space.connect } + if$ + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "in " booktitle * } + { "in " booktitle * ", " * format.ineditors * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "l" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Tech. Report" } + 'type + if$ + number empty$ + { "l" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "in " journal * } + if$ + } + { "in " key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "in " + } + { "vol.~" volume * + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "in " booktitle * } + if$ + } + { "in " key * } + if$ + } + { "in " format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { journal "journal" output.check + format.vol.year output + } + { format.article.crossref output.nonnull } + if$ + format.pages output + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + publisher "publisher" output.check + address output + } + { format.book.crossref output.nonnull } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + format.title "title" output.check + howpublished new.block.checka + howpublished output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + publisher "publisher" output.check + address output + } + { format.book.crossref output.nonnull } + if$ + format.edition output + format.date "year" output.check + format.chapter.pages "chapter and pages" output.check + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull } + if$ + format.chapter.pages output + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + address empty$ + { organization output + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + organization output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull } + if$ + format.pages output + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { format.organization output } + { format.authors output.nonnull } + if$ + format.btitle "title" output.check + author empty$ + 'skip$ + { organization output } + if$ + address output + format.edition output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + "master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + format.title output + howpublished new.block.checka + howpublished output + format.date output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + format.btitle "title" output.check + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { format.organization output } + { format.editors output.nonnull } + if$ + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + 'skip$ + { organization output } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + format.title "title" output.check + new.block + note "note" output.check + format.date output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +MACRO {acmcs} {"ACM Comput. Surveys"} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Comm. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Softw. Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~Assoc. Comput. Mach."} + +MACRO {jcss} {"J.~Comput. System Sci."} + +MACRO {scp} {"Sci. Comput. Programming"} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Gr."} + +MACRO {toms} {"ACM Trans. Math. Softw."} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} + +MACRO {tcs} {"Theoretical Comput. Sci."} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +EXECUTE {init.last.authors} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/obsolete/macros/latex209/contrib/siam/siam.sty b/obsolete/macros/latex209/contrib/siam/siam.sty new file mode 100644 index 0000000000..3eeff39ab7 --- /dev/null +++ b/obsolete/macros/latex209/contrib/siam/siam.sty @@ -0,0 +1,340 @@ +% siam.sty 11 Feb 88, based on article.sty 5 Feb 88 +% Changed to hardwire the right headings for publications +% Christian Bischof, 22January1990 +% last modified by P. Duggan 11/5/91 +% description-environment indention modified 6 Nov 91 +\typeout{Document Style 'siam'. Released 11 February 1988} +\def\myoddhead{ } +\def\myevenhead{ } +%\typeout{*******************************************************} +%\typeout{*** Make sure running heads are correct in siam.sty ***} +%\typeout{*******************************************************} + +\def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} +\def\ds@twoside{\@twosidetrue \@mparswitchtrue} \def\ds@draft{\overfullrule +5pt} +\@options +\input siam1\@ptsize.sty\relax + + +\def\labelenumi{\arabic{enumi}.} +\def\theenumi{\arabic{enumi}} +\def\labelenumii{(\alph{enumii})} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{\roman{enumiii}.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\Alph{enumiv}.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist +\def\quotation{\list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +%\def\descriptionlabel#1{\hspace\labelsep \bf #1} +\def\descriptionlabel#1{\bf #1} +%\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin +\def\description{\list{}{\labelwidth10pt + \let\makelabel\descriptionlabel}} +\let\enddescription\endlist + +\newcounter{part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] + +\def\@begintheorem#1#2{\par\bgroup{\sc #1\ #2. }\it\ignorespaces} +\def\@opargbegintheorem#1#2#3{\par\bgroup{\sc #1\ #2\ (#3). }\it\ignorespaces} +\def\@endtheorem{\egroup} +\def\proof{\par{\it Proof}. \ignorespaces} +\def\endproof{{\ \vbox{\hrule\hbox{% + \vrule height1.3ex\hskip0.8ex\vrule}\hrule + }}\par} +\newtheorem{theorem}{Theorem}[section] +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{corollary}[theorem]{Corollary} +\newtheorem{proposition}[theorem]{Proposition} + +\def\theequation{\arabic{equation}} +\def\@eqnnum{\hbox to .01pt{}\rlap{\rm \hskip -\displaywidth(\theequation)}} + + +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +\arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt +\tabbingsep \labelsep + +\skip\@mpfootins = \skip\footins +\fboxsep = 3pt \fboxrule = .4pt + +\def\thepart{\Roman{part}} \def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection .\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip .5em }\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par} + \endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3\@svsec #8.\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M +#5.\par}\endgroup + \else \def\@svsechd{#4\hskip #1\relax #5.}\fi + \@xsect{#3}} + + +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +\def\tableofcontents{\section*{Contents\@mkboth{CONTENTS}{CONTENTS}} + \@starttoc{toc}} +\def\l@part#1#2{\addpenalty{\@secpenalty} + \addvspace{2.25em plus 1pt} \begingroup + \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip +-\@pnumwidth + {\bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak \endgroup} +\def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt} +\@tempdima 1.5em \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bf \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip #1\nobreak\hfil +\nobreak\hbox to\@pnumwidth{\hss #2}\par + \endgroup} +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} +\def\listoffigures{\section*{List of Figures\@mkboth + {LIST OF FIGURES}{LIST OF FIGURES}}\@starttoc{lof}} +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\def\listoftables{\section*{List of Tables\@mkboth + {LIST OF TABLES}{LIST OF TABLES}}\@starttoc{lot}} +\let\l@table\l@figure + + +\def\thebibliography#1{\par\addvspace{.25in}% +\begin{center}\footnotesize REFERENCES\end{center}\@mkboth + {REFERENCES}{REFERENCES}\addvspace{.15in}\nopagebreak\list + {[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep \advance\leftmargin 16pt \itemindent -16pt + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax\footnotesize} +\let\endthebibliography=\endlist + + +\newif\if@restonecol +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi +\columnseprule \z@ +\columnsep 35pt\twocolumn[\section*{Index}] + \@mkboth{INDEX}{INDEX}\thispagestyle{plain}\parindent\z@ + \parskip\z@ plus .3pt\relax\let\item\@idxitem} +\def\@idxitem{\par\hangindent 40pt} +\def\subitem{\par\hangindent 40pt \hspace*{20pt}} +\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} + +\def\footnoterule{\kern-3\p@ + \hrule width .5in + \kern 2.6\p@} + +\long\def\@makefntext#1{\parindent .25in\noindent + \hbox to .25in{\hss$^{\@thefnmark}$\kern 3pt}#1} + + +\setcounter{topnumber}{2} +\def\topfraction{.9} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.1} +\setcounter{totalnumber}{3} +\def\textfraction{.1} +\def\floatpagefraction{.91} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +\def\@figtxt{figure} +\long\def\@makecaption#1#2{\footnotesize + \setlength{\parindent}{1.5pc} + \ifx\@captype\@figtxt + \vskip 10pt + \setbox\@tempboxa\hbox{{\sc #1}. {\it #2}} + \ifdim \wd\@tempboxa >\hsize {\sc #1}. {\it #2}\par \else \hbox +to\hsize{\hfil\box\@tempboxa\hfil}% + \fi\else\hbox to\hsize{\hfil{\sc #1}\hfil}% + \setbox\@tempboxa\hbox{{\it #2}}% + \ifdim \wd\@tempboxa >\hsize {\it #2}\par \else + \hbox to \hsize{\hfil\box\@tempboxa\hfil}\fi + \vskip 10pt + \fi} + + +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Fig.\ \thefigure} +\def\figure{\@float{figure}} +\let\endfigure\end@float +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} +\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{tp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + + +\def\maketitle{\par + \begingroup + \def\thefootnote{\fnsymbol{footnote}} + \def\@makefnmark{\hbox + to 0pt{$^{\@thefnmark}$\hss}} + \if@twocolumn + \twocolumn[\@maketitle] + \else %%%% commented out for \newpage + \global\@topnum\z@ \@maketitle \fi\thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} +\def\@maketitle{%%% commented out\newpage + \null + \begin{center} + {\bf\@ucnothanks\@title\par}\vskip .075in + {\footnotesize\spaceskip=1.5\fontdimen2\the\font + \def\and{\ \scriptsize AND }\@tempswafalse\expandafter\@doauth\@author\and\relax} + \end{center} + \par \vskip .11in} +\def\@ucnothanks#1{\expandafter\@ucnt#1\thanks\relax} +\def\@ucnt#1\thanks{\uppercase{#1}\futurelet\@tempa\@ucnta} +\def\@ucnta{\ifx\@tempa\relax\else\@ucntb\fi} +\def\@ucntb#1\thanks\relax{\thanks{#1}} +\def\@doauth#1\and{\let\@nextdoa=\@doauth + \def\@tempc{\@ucnothanks{#1}} + \futurelet\@tempa\@doautha} +\def\@doautha{\ifx\@tempa\relax + \if@tempswa {\and}\fi + \let\@nextdoa=\relax + \else + \if@tempswa \gdef\and{,\ \scriptsize AND }, \fi + \fi + \@tempc\unskip\@tempswatrue\@nextdoa} +\let\and=\relax +\def\@abssec#1{\vspace{.05in}\footnotesize \parindent .2in +{\bf #1. }\ignorespaces} +\def\abstract{\@abssec{Abstract}} +\def\keywords{\@abssec{Key words}} +\def\AMSMOS{\@abssec{AMS(MOS) subject classifications}} + +\def\endabstract{\par\vspace{.1in}} +\let\endkeywords\endabstract +\let\endAMSMOS\endabstract + +\mark{{}{}} + +\def\ps@plain{\let\@mkboth\@gobbletwo + \def\@oddhead{}\def\@oddfoot{\footnotesize\rm\hfil\thepage + \hfil}\def\@evenhead{}\let\@evenfoot\@oddfoot} +\if@twoside \def\ps@headings{\let\@mkboth\markboth +\def\@oddfoot{}\def\@evenfoot{}\def\@evenhead{ +\rm\rlap{\thepage}\footnotesize\rm +\hfil \leftmark\hfil}\def\@oddhead{\hbox{}\hfil +{\footnotesize\rm\rightmark \hfil}\llap{\rm\thepage}} +\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth +>\z@ + \thesection.\hskip 1em\relax \fi ##1}}{}}\def\subsectionmark##1{\markright +{\ifnum \c@secnumdepth >\@ne + \thesubsection.\hskip 1em\relax \fi ##1}}} +\else \def\ps@headings{\let\@mkboth\markboth\def\@oddfoot{}\def\@evenfoot{}% +\def\@oddhead{\hbox{}\hfil{\footnotesize\rm \rightmark}\hfil +\llap{\rm\thepage}}\def\sectionmark##1{\markright +{\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection.\hskip 1em\relax \fi ##1}}}} +\fi +\def\ps@myheadings{\let\@mkboth\@gobbletwo +\def\@oddhead{\hbox{}\hfil{\footnotesize\rm {\scriptsize \myoddhead} +\rightmark}\hfil +\llap{\rm\thepage}}\def\@oddfoot{}% +\def\@evenhead{\rm\rlap{\thepage}\footnotesize\rm +\hfil \leftmark {\scriptsize \myevenhead} +\hfil\hbox{}}\def\@evenfoot{}\def\sectionmark##1{}% +\def\subsectionmark##1{}} + +\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt} + +\def\endproof{\vbox{\hrule\hbox{% + \vrule height1.3ex\hskip0.8ex\vrule}\hrule + }} + +\def\today{\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 + \space\number\day, \number\year} + + +\ps@plain \pagenumbering{arabic} \onecolumn \if@twoside\else\raggedbottom\fi + + +\font\sevbf=cmbx7 +\@addfontinfo\@xpt{\def\pbf{\fam\bffam\tenbf}\scriptfont\bffam\sevbf} + +%\font\eightbf=cmbx8 +%\@addfontinfo\@viiipt{\def\pbf{\fam\bffam\tenbf}\textfont\bffam\eightbf} + +%\font\sevsyb=cmbsy7 +%\@addfontinfo\@xpt{\def\pbf{\fam\bffam\tensyb}\scriptfont\bffam\sevsyb} + +\font\sevsf=cmss8 +\@addfontinfo\@xpt{\def\psf{\fam\sffam\tensf}\scriptfont\sffam\sevsf} + +%\font\sevmib=cmmib7 +%\@addfontinfo\@xpt{\def\boldmath{\@prtct\@nomathbold +%\scriptfont\@ne\sevmib \@prtct\@boldtrue}} + diff --git a/obsolete/macros/latex209/contrib/siam/siam10.sty b/obsolete/macros/latex209/contrib/siam/siam10.sty new file mode 100644 index 0000000000..d93acc5525 --- /dev/null +++ b/obsolete/macros/latex209/contrib/siam/siam10.sty @@ -0,0 +1,103 @@ +% ====================== SIAM10.STY ============================== % +% siam10.sty 5 Feb 88, based on art10.sty 22 Dec 87 +\lineskip 1pt \normallineskip 1pt +\def\baselinestretch{1} + +\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \abovedisplayskip +\belowdisplayshortskip \belowdisplayskip \let\@listi\@listI} +\def\small{\@setsize\small{11pt}\ixpt\@ixpt +\abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \abovedisplayskip\belowdisplayshortskip \belowdisplayskip +\def\@listi{\leftmargin\leftmargini \leftmargin\leftmargini \topsep \z@\parsep \z@ +\itemsep \parsep}} +\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt +\abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \abovedisplayskip\belowdisplayshortskip \belowdisplayskip +\def\@listi{\leftmargin\leftmargini \topsep \z@\parsep \z@ +\itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\normalsize + +\oddsidemargin .5in \evensidemargin .5in +\marginparwidth 1.25in \marginparsep .25in + \topmargin \z@ \headheight 10pt \headsep .2in \footskip .2in + +\textheight 8.25in \textwidth 5.125in \columnsep 10pt \columnseprule 0pt + +\footnotesep 6.65pt +\skip\footins 13pt plus 4pt minus 2pt +\floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt +\intextsep 12pt plus 2pt minus 2pt \@maxsep 20pt \dblfloatsep 12pt plus 2pt +minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt +\@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil +\marginparpush 5pt + +\parskip 0pt plus 1pt \parindent .25in \partopsep \z@ +\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 +\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty +-\@lowpenalty + + +\def\part{\par \addvspace{4ex} \@afterindentfalse \secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{part} +\addcontentsline{toc}{part}{\thepart \hspace{1em}#1}\else +\addcontentsline{toc}{part}{#1}\fi { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne \bf Part \thepart \par \nobreak \fi +\bf #2\markboth{}{}\par } \nobreak \vskip 3ex \@afterheading } +\def\@spart#1{{\parindent 0pt \raggedright + \bf + #1\par} \nobreak \vskip 3ex \@afterheading } +\def\section{\@startsection {section}{1}{.25in}{1.3ex plus .5ex minus + .2ex}{-.5em plus -.1em}{\bf}} +\def\subsection{\@startsection {subsection}{2}{.25in}{1.3ex plus .5ex minus + .2ex}{-.5em plus -.1em}{\bf}} +\def\subsubsection{\@startsection {subsubsection}{3}{.25in}{1.3ex plus .5ex minus + .2ex}{-.5em plus -.1em}{\bf}} +\def\paragraph{\@startsection {paragraph}{4}{.25in}{1.3ex plus .5ex minus + .2ex}{-.5em plus -.1em}{\it}} +\def\subparagraph{\@startsection {subparagraph}{4}{.25in}{1.3ex plus .5ex minus + .2ex}{-.5em plus -.1em}{\it}} + + +\setcounter{secnumdepth}{3} + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + + +\leftmargini .5in +\leftmarginii 22pt \leftmarginiii 18.7pt \leftmarginiv 17pt \leftmarginv 10pt +\leftmarginvi 10pt +\leftmargin\leftmargini +\labelsep 5pt +\labelwidth\leftmargini\advance\labelwidth-\labelsep +\def\@listI{\leftmargin\leftmargini \parsep \z@ \topsep \z@ \itemsep \parsep} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep \z@ + \parsep \z@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep \z@ + \parsep \z@ \partopsep \z@ + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} diff --git a/obsolete/macros/latex209/contrib/siam/siam11.sty b/obsolete/macros/latex209/contrib/siam/siam11.sty new file mode 100644 index 0000000000..2764392c10 --- /dev/null +++ b/obsolete/macros/latex209/contrib/siam/siam11.sty @@ -0,0 +1,104 @@ +% siam11.sty 5 Feb 88, based on art11.sty 22 Dec 87 +\lineskip 1pt \normallineskip 1pt +\def\baselinestretch{1} + +\def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@ixpt +\abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \abovedisplayskip +\belowdisplayshortskip \belowdisplayskip \let\@listi\@listI} +\def\small{\@setsize\small{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \abovedisplayskip\belowdisplayshortskip \belowdisplayskip +\def\@listi{\leftmargin\leftmargini \topsep \z@\parsep \z@ +\itemsep \parsep}} +\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt +\abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \abovedisplayskip\belowdisplayshortskip \belowdisplayskip +\def\@listi{\leftmargin\leftmargini \topsep \z@\parsep \z@ +\itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{14pt}\xiipt\@xiipt} +\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} +\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} +\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\normalsize + +\voffset -.4in +\oddsidemargin .3in \evensidemargin .3in +\marginparwidth 1.14in \marginparsep .25in + \topmargin \z@ \headheight 11pt \headsep .22in \footskip .22in + +\textheight 9in \textwidth 5.64in \columnsep 11pt \columnseprule 0pt + +\footnotesep 7.3pt +\skip\footins 14pt plus 4pt minus 2pt +\floatsep 12pt plus 2pt minus 2pt \textfloatsep 20pt plus 2pt minus 4pt +\intextsep 12pt plus 2pt minus 2pt \@maxsep 20pt \dblfloatsep 12pt plus 2pt +minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt +\@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil +\marginparpush 5pt + +\parskip 0pt plus 1pt \parindent .275in \partopsep \z@ +\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 +\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty +-\@lowpenalty + + +\def\part{\par \addvspace{4ex} \@afterindentfalse \secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{part} +\addcontentsline{toc}{part}{\thepart \hspace{1em}#1}\else +\addcontentsline{toc}{part}{#1}\fi { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne \bf Part \thepart \par \nobreak \fi +\bf #2\markboth{}{}\par } \nobreak \vskip 3ex \@afterheading } +\def\@spart#1{{\parindent 0pt \raggedright + \bf + #1\par} \nobreak \vskip 3ex \@afterheading } +\def\section{\@startsection {section}{1}{.275in}{1.4ex plus .5ex minus + .2ex}{-.55em plus -.1em}{\bf}} +\def\subsection{\@startsection {subsection}{2}{.275in}{1.4ex plus .5ex minus + .2ex}{-.55em plus -.1em}{\bf}} +\def\subsubsection{\@startsection {subsubsection}{3}{.275in}{1.4ex plus .5ex minus + .2ex}{-.55em plus -.1em}{\bf}} +\def\paragraph{\@startsection {paragraph}{4}{.275in}{1.4ex plus .5ex minus + .2ex}{-.55em plus -.1em}{\it}} +\def\subparagraph{\@startsection {subparagraph}{4}{.275in}{1.4ex plus .5ex minus + .2ex}{-.55em plus -.1em}{\it}} + + +\setcounter{secnumdepth}{3} + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + + +\leftmargini .55in +\leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelsep .5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep +\def\@listI{\leftmargin\leftmargini \parsep \z@ \topsep \z@ \itemsep \parsep} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep \z@ + \parsep \z@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep \z@ + \parsep \z@ \partopsep \z@ + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + diff --git a/obsolete/macros/latex209/contrib/siam/siam12.sty b/obsolete/macros/latex209/contrib/siam/siam12.sty new file mode 100644 index 0000000000..b4c119b317 --- /dev/null +++ b/obsolete/macros/latex209/contrib/siam/siam12.sty @@ -0,0 +1,105 @@ +% siam12.sty 5 Feb 88, based on art12.sty 22 Dec 87 +\lineskip 1pt \normallineskip 1pt +\def\baselinestretch{1} + +\def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt +\abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \abovedisplayskip +\belowdisplayshortskip \belowdisplayskip \let\@listi\@listI} +\def\small{\@setsize\small{13.6pt}\xipt\@xipt +\abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \abovedisplayskip\belowdisplayshortskip \belowdisplayskip +\def\@listi{\leftmargin\leftmargini \topsep \z@\parsep \z@ +\itemsep \parsep}} +\def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt +\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \abovedisplayskip\belowdisplayshortskip \belowdisplayskip +\def\@listi{\leftmargin\leftmargini \topsep \z@\parsep \z@ +\itemsep \parsep}} +\def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt} +\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} +\def\large{\@setsize\large{18pt}\xivpt\@xivpt} +\def\Large{\@setsize\Large{22pt}\xviipt\@xviipt} +\def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt} +\def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt} +\let\Huge=\huge +\normalsize + +\voffset -.4in +\if@twoside \oddsidemargin .5in \evensidemargin -.15in +\else \oddsidemargin .25in \evensidemargin .25in \fi +\marginparwidth 1in \marginparsep .25in + \topmargin \z@ \headheight 12pt \headsep .24in \footskip .2in + +\textheight 9in \textwidth 6.15in \columnsep 12pt \columnseprule 0pt + +\footnotesep 8pt +\skip\footins 16pt plus 5pt minus 3pt +\floatsep 14pt plus 4pt minus 4pt \textfloatsep 20pt plus 2pt minus 4pt +\intextsep 14pt plus 4pt minus 4pt \@maxsep 20pt \dblfloatsep 12pt plus 2pt +minus 2pt \dbltextfloatsep 20pt plus 2pt minus 4pt \@dblmaxsep 20pt +\@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil +\@dblfptop 0pt plus 1fil \@dblfpsep 8pt plus 2fil \@dblfpbot 0pt plus 1fil +\marginparpush 5pt + +\parskip 0pt plus 1pt \parindent .3in \partopsep \z@ +\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 +\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty +-\@lowpenalty + + +\def\part{\par \addvspace{4ex} \@afterindentfalse \secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{part} +\addcontentsline{toc}{part}{\thepart \hspace{1em}#1}\else +\addcontentsline{toc}{part}{#1}\fi { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne \bf Part \thepart \par \nobreak \fi +\bf #2\markboth{}{}\par } \nobreak \vskip 3ex \@afterheading } +\def\@spart#1{{\parindent 0pt \raggedright + \bf + #1\par} \nobreak \vskip 3ex \@afterheading } +\def\section{\@startsection {section}{1}{.3in}{1.6ex plus .6ex minus + .2ex}{-.5em plus -.1em}{\bf}} +\def\subsection{\@startsection {subsection}{2}{.3in}{1.6ex plus .6ex minus + .2ex}{-.5em plus -.1em}{\bf}} +\def\subsubsection{\@startsection {subsubsection}{3}{.3in}{1.6ex plus .6ex minus + .2ex}{-.5em plus -.1em}{\bf}} +\def\paragraph{\@startsection {paragraph}{4}{.3in}{1.6ex plus .6ex minus + .2ex}{-.5em plus -.1em}{\it}} +\def\subparagraph{\@startsection {subparagraph}{4}{.3in}{1.6ex plus .6ex minus + .2ex}{-.5em plus -.1em}{\it}} + + +\setcounter{secnumdepth}{3} + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + + +\leftmargini .6in +\leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em +\leftmarginvi 1em +\leftmargin\leftmargini +\labelsep .5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep +\def\@listI{\leftmargin\leftmargini \parsep \z@ \topsep \z@ \itemsep \parsep} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep \z@ + \parsep \z@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep \z@ + \parsep \z@ \partopsep \z@ + \itemsep \topsep} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + diff --git a/obsolete/macros/latex209/contrib/springer/jnsl/jns.sty b/obsolete/macros/latex209/contrib/springer/jnsl/jns.sty new file mode 100644 index 0000000000..12b9b490ab --- /dev/null +++ b/obsolete/macros/latex209/contrib/springer/jnsl/jns.sty @@ -0,0 +1,801 @@ +% JNS DOCUMENT STYLE -- Released 16 July 1990 +% i.e. Journal of Nonlinear Science document style +% for LaTeX version 2.09 + +% This style file is an adaptation of +% the original LaTeX article.sty, by: +% Frank Holzwarth, Springer-Verlag Heidelberg, +% Tiergartenstrasse 17, D-6900 Heidelberg. + +\typeout{Document Style `jns' <16 Jul 90>.} + +\frenchspacing +\def~{\penalty\@M\kern3pt} + +\def\thebibliography#1{\section*{References}\small\list + {\arabic{enumi}.}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumi}} + \def\newblock{\hskip .11em plus .33em minus -.07em} + \sloppy + \sfcode`\.=1000\relax} + +\def\ds@citeauthoryear{\def\thebibliography##1{\section*{References}% + \small\list{}{\settowidth\labelwidth{}\leftmargin\parindent + \itemindent=-\parindent + \labelsep=\z@ + \usecounter{enumi}}% + \def\newblock{\hskip .11em plus .33em minus -.07em}% + \sloppy + \sfcode`\.=1000\relax}% + \def\@cite##1{##1}% + \def\@lbibitem[##1]##2{\item[]\if@filesw + {\def\protect####1{\string ####1\space}\immediate + \write\@auxout{\string\bibcite{##2}{##1}}}\fi\ignorespaces}}% + +\newif\if@envcountreset\@envcountresetfalse +\def\ds@envcountreset{\@envcountresettrue} + +\def\@mbi{cmmib10} +\def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}} +\@namedef{ds@12pt}{\def\@ptsize{2}} +\def\ds@twoside{\@twosidetrue \@mparswitchtrue} +\def\ds@draft{\overfullrule +5pt} +\@options + +\ds@twoside + +\lineskip 1pt \normallineskip 1pt +\def\baselinestretch{1} + +\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt +\abovedisplayskip=3 mm plus6pt minus 4pt +\belowdisplayskip=3 mm plus6pt minus 4pt +\abovedisplayshortskip=0mm plus6pt minus 2pt +\belowdisplayshortskip=2 mm plus4pt minus 4pt} + +\mathchardef\Gamma="0100 +\mathchardef\Delta="0101 +\mathchardef\Theta="0102 +\mathchardef\Lambda="0103 +\mathchardef\Xi="0104 +\mathchardef\Pi="0105 +\mathchardef\Sigma="0106 +\mathchardef\Upsilon="0107 +\mathchardef\Phi="0108 +\mathchardef\Psi="0109 +\mathchardef\Omega="010A + +\def\small{\@setsize\small{10pt}\viiipt\@viiipt +\abovedisplayskip=2.5 mm plus5pt minus 3pt +\belowdisplayskip=2.5 mm plus5pt minus 3pt +\abovedisplayshortskip=0mm plus6pt minus 2pt +\belowdisplayshortskip=2 mm plus4pt minus 4pt +\def\@listi{\topsep 4pt plus 2pt minus 2pt}} + +\def\footnotesize{\@setsize\footnotesize{10pt}\viiipt\@viiipt +\abovedisplayskip=2.5 mm plus5pt minus 3pt +\belowdisplayskip=2.5 mm plus5pt minus 3pt +\abovedisplayshortskip=0mm plus6pt minus 2pt +\belowdisplayshortskip=2 mm plus4pt minus 4pt +\def\@listi{\topsep 4pt plus 2pt minus 2pt}} + +\def\scriptsize{\@setsize\scriptsize{8.4pt}\viipt\@viipt} + +\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} +\def\large{\@setsize\large{13.2pt}\xipt\@xipt} +\def\Large{\@setsize\Large{14.4pt}\xiipt\@xiipt} +\def\LARGE{\@setsize\LARGE{16pt}\xivpt\@xivpt} +\def\huge{\@setsize\huge{22pt}\xxpt\@xxpt} +\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} +\@normalsize + +\if@twoside + \oddsidemargin 44pt + \evensidemargin 82pt + \marginparwidth 107pt +\else \oddsidemargin 63pt \evensidemargin 63pt + \marginparwidth 90pt +\fi +\marginparsep 11pt +\topmargin 11pt \headheight 12pt \headsep 13.66pt +\footheight 12pt \footskip 30pt +\textwidth 12.2cm +\textheight 19.4cm +\columnsep 1cc \columnseprule 0pt + +\footnotesep 7.7pt +\skip\footins 9pt plus 4pt minus 2pt +\floatsep 12pt plus 2pt minus 2pt +\textfloatsep 8mm plus 2pt minus 4pt +\intextsep 8mm plus 2pt minus 2pt +\@maxsep 8mm + +\dblfloatsep 12pt plus 2pt minus 2pt +\dbltextfloatsep 20pt plus 2pt minus 4pt +\@dblmaxsep 20pt + +\@fptop 0pt plus 1fil \@fpsep 8pt plus 2fil \@fpbot 0pt plus 1fil +\@dblfptop0pt plus1fil \@dblfpsep8pt plus2fil\@dblfpbot 0pt plus1fil +\marginparpush 5pt + +\parskip 0pt plus 1pt \parindent 1.5em \topsep 8pt plus 2pt minus 4pt +\partopsep 2pt plus 1pt minus 1pt \itemsep \z@ +\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 +\@beginparpenalty-\@lowpenalty\@endparpenalty -\@lowpenalty\@itempenalty +-\@lowpenalty + +\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle\bf#1$}} +{\mbox{\boldmath$\textstyle\bf#1$}} +{\mbox{\boldmath$\scriptstyle\bf#1$}} +{\mbox{\boldmath$\scriptscriptstyle\bf#1$}}} + +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname. }\fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \noindent{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par} + \endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname + {#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}}\fi + \@xsect{#5}} + +\def\part{\par \addvspace{4ex} \@afterindentfalse \secdef\@part\@spart} + +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{part} +\addcontentsline{toc}{part}{\thepart \hspace{1em}#1}\else +\addcontentsline{toc}{part}{#1}\fi { \parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne \Large \bf + Part\thepart\par\nobreak\fi\huge +\bf #2\markboth{}{}\par } \nobreak \vskip 3ex \@afterheading } + +\def\@spart#1{{\parindent 0pt \raggedright + \huge \bf + #1\par} \nobreak \vskip 3ex \@afterheading } + +\def\section{\@startsection {section}{1}{\z@}{-18pt plus -4pt minus +-4pt}{12pt plus 4pt minus 4pt}{\normalsize\bf\boldmath +\pretolerance=10000\relax\rightskip=0pt plus8em}} +\def\subsection{\@startsection{subsection}{2}{\z@}{-18pt plus-4pt minus + -4pt}{8pt plus 4pt minus 4pt}{\normalsize\it +\pretolerance=10000\relax\rightskip=0pt plus8em}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-18pt plus-4pt + minus -4pt}{-0.5em plus -.22em minus -0.1em}{\normalsize\bf\boldmath}} +\def\paragraph{\@startsection{paragraph}{4}{\z@}{-12pt plus -4pt minus + -4pt}{-0.5em plus -.22em minus -0.1em}{\normalsize\it}} +\def\subparagraph#1{\typeout{JNS Warning: You should not use +\protect\subparagraph \space in this style.}\vskip0.5cm +You should not use $\backslash${\tt subparagraph} in this +style.\vskip0.5cm} + +\setcounter{secnumdepth}{2} + +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + +% Define \keywords +\def\keywords{\par\vspace{12pt}\noindent{\bf Key words: }\ignorespaces} + +% Define \acknowledgements +\def\acknowledgements{\vspace{12pt}\noindent{\em Acknowledgements.\/ }} + +% The `abstract' environment has been renamed to `abstr' so a new environment +% `abstract' can be defined in terms of the old one. +\def\abstr{{\noindent \bf Summary. }% +\ignorespaces} +\def\endabstr{\relax} + +\newenvironment{abstract}{\begin{abstr}}{\end{abstr}} + +\leftmargini 17pt \leftmarginii 17pt +\leftmarginiii 17pt \leftmarginiv 17pt +\leftmarginv 10pt \leftmarginvi 10pt +\leftmargin\leftmargini \labelwidth\leftmargini +\advance\labelwidth-\labelsep +\labelsep 5pt +\parsep 0pt plus 1pt +\def\@listi{\leftmargin\leftmargini} +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 0pt plus 1pt} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 0pt plus 1pt} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + \topsep 0pt plus 1pt} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + \topsep 0pt plus 1pt} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + \topsep 0pt plus 1pt} + +\def\labelenumi{\arabic{enumi}.} +\def\theenumi{\arabic{enumi}} +\def\labelenumii{(\alph{enumii})} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{\roman{enumiii}.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\Alph{enumiv}.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +\def\labelitemi{\bf --} +\def\labelitemii{$\bullet$} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist +\def\quotation{\list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin}\item[]} +\let\endquotation=\endlist +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \bf #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} +\let\enddescription\endlist + +\def\theequation{\arabic{equation}} + +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +\arraycolsep 1.4pt \tabcolsep 1.4pt \arrayrulewidth .4pt \doublerulesep +2pt +\tabbingsep \labelsep + +\skip\@mpfootins = \skip\footins +\fboxsep = 3pt \fboxrule = .4pt + +\newcounter{part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] + +\def\thepart{\Roman{part}} +\def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} + +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +\def\tableofcontents{\section*{Table of Contents} + \@starttoc{toc}} +\def\l@part#1#2{\addpenalty{\@secpenalty} + \addvspace{2.25em plus 1pt} \begingroup + \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip +-\@pnumwidth + {\Large \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak \endgroup} +% +\def\numberline#1{\advance\hangindent by\@tempdima% +\hbox to\@tempdima{\hss#1\enspace}} +% +\def\bf@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else + \vskip \z@ plus .2pt + {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax \advance\leftskip \@tempdima \hbox{}\hskip -\leftskip +{\bf#4}\nobreak\leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep + mu$}\hfill \nobreak \hbox to\@pnumwidth{\hfil\rm #5}\par}\fi} +% +\def\l@section{\vskip2mm\bf@dottedtocline{1}{0em}{1.7em}} +\def\l@subsection{\@dottedtocline{2}{1.7em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{4em}{2em}} +\def\l@paragraph{\@dottedtocline{4}{6em}{2em}} +\def\l@subparagraph{\@dottedtocline{5}{8em}{2em}} +\def\listoffigures{\section*{List of Figures\markboth + {List of Figures}{List of Figures}}\@starttoc{lof}} +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\def\listoftables{\section*{List of Tables\markboth + {List of Tables}{List of Tables}}\@starttoc{lot}} +\let\l@table\l@figure + +\def\endthebibliography{\endlist\normalsize} + +\newif\if@restonecol +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi +\columnseprule \z@ +\columnsep 35pt\twocolumn[\section*{Index}] + \markboth{Index}{Index}\thispagestyle{plain}\parindent\z@ + \parskip\z@ plus .3pt\relax\let\item\@idxitem} +\def\@idxitem{\par\hangindent 40pt} +\def\subitem{\par\hangindent 40pt \hspace*{20pt}} +\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax} + +\def\footnoterule{\kern-3\p@\hrule width 2 true cm\kern 2.6\p@} + +\long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize + \advance\@tempdima-1em\parshape \@ne 1em\@tempdima}\par + \parindent 1em\noindent \hbox to \z@{\hss$^{\@thefnmark}$\ }#1} + +\setcounter{topnumber}{2} +\def\topfraction{.9} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.15} +\def\floatpagefraction{.85} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.85} +\def\dblfloatpagefraction{.85} + +\long\def\@makecaption#1#2{ + \vskip 10pt + \setbox\@tempboxa\hbox{{\bf #1} #2} + \ifdim \wd\@tempboxa >\hsize \unhbox\@tempboxa\par \else \hbox +to\hsize{\box\@tempboxa\hfil} + \fi\vskip5pt} + +\long\def\@caption#1[#2]#3{\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\par + \begingroup + \@parboxrestore + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} + +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} + +\def\fps@figure{htbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Fig.\thinspace\thefigure.} +\def\figure{\@float{figure}\small\rm} +\def\endfigure{\vskip-5pt\end@float} +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{htbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable.} +\def\table{\@float{table}\small\rm} +\let\endtable\end@float +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + +% LaTeX does not provide a command to enter the authors institute +% addresses. The \institute command is defined here. + +\newcounter{@inst} +\newcounter{@auth} +\newdimen\instindent + +\def\institute#1{\gdef\@institute{#1}} + +\def\institutename{\par + \begingroup + \parskip=0pt + \setcounter{@inst}{1}% + \def\and{\par\stepcounter{@inst}% + \hangindent\instindent\hangafter=0\noindent + \llap{$^{\the@inst}$\enspace}\ignorespaces}% + \setbox0=\vbox{\def\thanks##1{}\@institute}% + \ifnum\c@@inst>9\relax\setbox0=\hbox{$^{88}$\enspace}% + \else\setbox0=\hbox{$^{8}$\enspace}\fi + \instindent=\wd0\relax + \ifnum\c@@inst=1\relax\else + \setcounter{footnote}{\c@@inst}% + \setcounter{@inst}{1}% + \hangindent\instindent\hangafter=0\noindent + \llap{$^{\the@inst}$\enspace}\fi\ignorespaces + \@institute\par + \endgroup} + +\def\@thanks{} + +\def\@fnsymbol#1{\ifcase#1\or\star\or{\star\star}\or{\star\star\star}% + \or \dagger\or \ddagger\or + \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger + \or \ddagger\ddagger\else\@ctrerr\fi\relax} + +\def\inst#1{\unskip\/$^{#1}$} + +\def\subtitle#1{\gdef\@subtitle{#1}} +\def\@subtitle{} + +\def\titlerunning#1{\gdef\@titlerunning{#1}} +\def\@titlerunning{} + +\def\authorrunning#1{\gdef\@authorrunning{#1}} +\def\@authorrunning{} + +\def\Logo{\setbox254=\hbox{ THE JOURNAL OF }% +\vbox{\hrule\hbox{\vrule\vbox{\kern3pt +\copy254 +\hbox to\wd254{\hfil NONLINEAR\hfil} +\hbox to\wd254{\hfil SCIENCE\hfil} +\hbox to\wd254{\hfil\number\day.\number\month.\number\year\hfil} +\kern3pt}\vrule}\hrule}} +\def\makeheadbox{\hbox to\hsize{\hfil +\Logo}} + +\def\maketitle{\par + \begingroup + \parindent=\z@ + \def\thefootnote{\fnsymbol{footnote}} + \if@twocolumn + \twocolumn[\@maketitle] + \else \newpage + \global\@topnum\z@ \@maketitle \fi\thispagestyle{empty}\@thanks + \endgroup + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}% + \let\thanks\relax} + +\def\@maketitle{\newpage + \rm + \makeheadbox + {\LARGE \bf\boldmath + \pretolerance=10000 + \rightskip=0pt plus 4cm + \vskip2.1cm + \@title \par}\vskip .4cm +\if!\@subtitle!\else {\bf\boldmath + \vskip -.2cm + \pretolerance=10000 + \rightskip=0pt plus 3cm + \@subtitle \par}\vskip .4cm\fi +{\bf\@author\vskip.1cm +\def\\{ }\def\inst##1{}\def\thanks##1{}\def\and{}% +\setcounter{@auth}{1}% +\if!\@titlerunning!\else\def\@title{\@titlerunning}\fi +\if!\@authorrunning!\else\def\@author{\@authorrunning}\fi +\xdef\@author{\@author\unskip\unskip}% +\xdef\@title{\ignorespaces\@title}% +\instindent=\hsize\advance\instindent by-1cm\relax +\setbox0=\hbox{\small\@author}\ifdim\wd0>\instindent +\typeout{Warning: The running head produced by the +\protect\author \space command}\typeout{exceeds the pagewidth, +please supply a short form with \protect\authorrunning.}% +\def\@author{Author(s) suppressed due to excessive length, +please use {\tt$\backslash$authorrunning}.}\fi +\setbox0=\hbox{\small\@title}\ifdim\wd0>\instindent +\typeout{Warning: The running head produced by the +\protect\title \space command}\typeout{exceeds the pagewidth, +please supply a short form with \protect\titlerunning.}% +\def\@title{Title suppressed due to excessive length, +please use {\tt$\backslash$titlerunning}.}\fi +\markboth{\@author}{\@title}} + {\small\rm\institutename + \par + \vskip 0.3cm + \@date + \par} + \vskip 0.8cm} + +\mark{{}{}} + +\if@twoside +\def\ps@headings{\def\@oddfoot{}\def\@evenfoot{}% +\def\@evenhead{\small\rm +\thepage\hfil\leftmark}\def\@oddhead{\hbox{}\small\rm\rightmark \hfil +\thepage}\def\sectionmark##1{}% +\def\subsectionmark##1{}} +\else \def\ps@headings{\def\@oddfoot{}\def\@evenfoot{}\def +\@oddhead{\hbox +{}\sl \rightmark \hfil \rm\thepage}\def\sectionmark##1{\markright +{\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection\hskip 1em\relax \fi ##1}}}} +\fi +\def\ps@myheadings{\def\@oddhead{\hbox{}\sl\rightmark \hfil +\rm\thepage}\def\@oddfoot{}\def\@evenhead{\rm \thepage\hfil\sl +\leftmark\hbox +{}}\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} + +\def\today{\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 + \space\number\day, \number\year} + +\ps@headings \pagenumbering{arabic} \onecolumn +\if@twoside\else\raggedbottom\fi + +% new environments and theorems +% borrowed form the LTMP-style of Springer-Verlag +% designed by Dr. Christoph Ender +% +% define the new theorem like environments +% define a new style of environments where it is possible to define +% the font % used as the theorem name and the fontfamily for the text. +% +% \newstytheorem{name}{thefont}{txtfont}{Text}[Counter] +% \newstytheorem{name}{thefont}{txtfont}[oldname]{Text} +% +% #1 - name of theorem +% #2 - theorem font +% #3 - text font +% +\def\newstytheorem#1#2#3{% +\@ifnextchar[{\che@othm{#1}{#2}{#3}}{\che@nthm{#1}{#2}{#3}}} +% +% #1 - name of theorem +% #2 - theorem font +% #3 - text font +% #4 - text string of theorem name +% +\def\che@nthm#1#2#3#4{% +\@ifnextchar[{\che@xnthm{#1}{#2}{#3}{#4}}{\che@ynthm{#1}{#2}{#3}{#4}}} +% +% #1 - name of theorem +% #2 - theorem font +% #3 - text font +% #4 - text string of thorem name +% #5 - add theorem counter to reset list of another counter +% +\def\che@xnthm#1#2#3#4[#5]{\expandafter +\@ifdefinable\csname #1\endcsname +{\@definecounter{#1}\if@envcountreset\@addtoreset{#1}{#5}\fi +\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% +\global\@namedef{#1}{\che@thm{#1}{#4}{#2}{#3}}\global +\@namedef{end#1}{\@endtheorem}}} +% +% #1 - name of theorem +% #2 - theorem font +% #3 - text font +% #4 - text string of thorem name +% +\def\che@ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname +{\@definecounter{#1}% +\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% +\global\@namedef{#1}{\che@thm{#1}{#2}{#3}{#4}}\global +\@namedef{end#1}{\@endtheorem}}} +% +% change oldthm if oldname in specification is '*' +% then don't use a counter +% #1 - countername +% #2 - theorem font +% #3 - text font +% #4 - counter used +% #5 - string containing theorem name to print +% +\def\che@othm#1#2#3[#4]#5{\expandafter\@ifdefinable +\csname#1\endcsname% +{\@@othm@{#1}{#2}{#3}{#4}{#5}\global\@namedef{end#1}{\@endtheorem}}} +% +\def\@@othm@#1#2#3#4#5{\if *#4{\global\@namedef{the#1}{\relax} +\global\@namedef{#1}{\@bthm@{}{#5}{#2}{#3}}}\else +{\global\@namedef{the#1}{\@nameuse{the#4}}% define the counter +\global\@namedef{#1}{\che@thm{#4}{#5}{#2}{#3}}}\fi} +% +% new defs for theorem environment che 17-MAR-1989 +% it improves the option possible +% +% #1 - countername = theorem name +% #2 - string containing theorem name to print +% #3 - theorem font +% #4 - text font +\def\che@thm#1#2#3#4{\@ifnextchar({\@athm{#1}{#2}{#3}{#4}}{% +\@ifnextchar *{\@bthm{#1}{#2}{#3}{#4}}% +{\@@thm{#1}{#2}{#3}{#4}}}} +% +% \begin{thm}(A.1)[test] results in: +% \end{thm} thm A.1 (test) .... +% #1 - theorem +% #2 - string of theorem name +% #3 - font for theorem name and label +% #4 - Text font +% #5 - is the new label +% #6 - optional string +% +\def\@athm#1#2#3#4(#5){\@ifnextchar[{% +\@aythm{#1}{#2}{#3}{#4}{#5}}{\@axthm{#1}{#2}{#3}{#4}{#5}}} +\def\@axthm#1#2#3#4#5{\@@locthmlab{#1}{#5}% +\@begintheorem{#2}{#5}{#3}{#4}\ignorespaces} +\def\@aythm#1#2#3#4#5[#6]{\@@locthmlab{#1}{#5}% +\fuh@opargbegintheorem{#2}{#5}{#6}{#3}{#4}\ignorespaces} +% +% \begin{thm}*[xytest] results in: +% \end{thm} thm (xytest) .... +% #1 - theorem +% #2 - string of theorem name +% #3 - font for theorem name and label +% #4 - Text font +% #5 - optional string +% +\def\@bthm@#1#2#3#4{\@ifnextchar[{\@bythm{#1}{#2}{#3}{#4}}{% +\@bxthm{#1}{#2}{#3}{#4}}} +\def\@bthm#1#2#3#4*{\@ifnextchar[{\@bythm{#1}{#2}{#3}{#4}}{% +\@bxthm{#1}{#2}{#3}{#4}}} +\def\@bxthm#1#2#3#4{\if !#1!\relax\else\@@locthmlab{#1}{}\fi +\@@begintheorem{#2}{#3}{#4}\ignorespaces} +\def\@bythm#1#2#3#4[#5]{% +\@@opargbegintheorem{#2}{#3}{#4}{#5}\ignorespaces} +% +% define local label +% if no number or a user specified label occured +% +\def\@@locthmlab#1#2{\expandafter\def\csname the#1\endcsname{#2} +\let\@chetempa\protect\def\protect{\noexpand\protect\noexpand}% +\edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}% +\let\protect\@chetempa} +% +% #1 - counter = theorem name +% #2 - string with name +% #3 - font for theorem name and label +% #4 - font for text +\def\@@thm#1#2#3#4{\refstepcounter + {#1}\@ifnextchar[{\che@ythm{#1}{#2}{#3}{#4}}{% + \che@xthm{#1}{#2}{#3}{#4}}} +% +\def\che@xthm#1#2#3#4{\che@begintheorem{#2}{\csname +the#1\endcsname}{#3}{#4}\ignorespaces} +\def\che@ythm#1#2#3#4[#5]{\che@opargbegintheorem{#2}{\csname + the#1\endcsname}{#5}{#3}{#4}\ignorespaces} +% +% #1 - name of theorem +% #2 - label string +% #3 - font for name and lable +% #4 - text fomt +% +\def\che@begintheorem#1#2#3#4{#4\trivlist\item[#3 #1\ts #2.]} +% +% #1 - name of theorem +% #2 - label string +% #3 - additonal text +% #4 - font for name and lable +% #5 - text fomt +% +\def\che@opargbegintheorem#1#2#3#4#5{#5 \trivlist +\item[#4 #1\ts #2\ #3.]} +% +\def\fuh@opargbegintheorem#1#2#3{\it \trivlist + \item[\hskip \labelsep{\bf #1\ #2\ (#3).}]} +% +\def\@@begintheorem#1#2#3{#3\trivlist\item[#2 #1.]} +\def\@@opargbegintheorem#1#2#3#4{#3\trivlist\item[#2 #1 #4.]} + +\newstytheorem{theorem}{\bf}{\it}{Theorem}[section] +\newstytheorem{example}{\it}{\rm}{Example}[section] +\newstytheorem{proposition}{\bf}{\it}[theorem]{Proposition} +\newstytheorem{corollary}{\bf}{\it}[theorem]{Corollary} +\newstytheorem{lemma}{\bf}{\it}[theorem]{Lemma} +\newstytheorem{proof}{\it}{\rm}[*]{Proof} +\newstytheorem{definition}{\bf}{\rm}[theorem]{Definition} +\newstytheorem{remark}{\it}{\rm}[*]{Remark} +\newstytheorem{exercise}{\it}{\rm}[theorem]{Exercise} +\newstytheorem{problem}{\it}{\rm}[theorem]{Problem} +\newstytheorem{solution}{\it}{\rm}[theorem]{Solution} +\newstytheorem{note}{\it}{\rm}[theorem]{Note} +\newstytheorem{question}{\it}{\rm}[theorem]{Question} + +\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil +\penalty50\hskip1em\null\nobreak\hfil\squareforqed +\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} + +\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +\gets\cr\to\cr}}}}} +\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +<\cr +\noalign{\vskip0.9pt}=\cr}}}}} +\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr +\noalign{\vskip0.9pt}=\cr}}}}} +\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr +>\cr\noalign{\vskip-1pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.8pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.3pt}<\cr}}}}} +\def\bbbr{{\rm I\!R}} %reelle Zahlen +\def\bbbm{{\rm I\!M}} +\def\bbbn{{\rm I\!N}} %natuerliche Zahlen +\def\bbbf{{\rm I\!F}} +\def\bbbh{{\rm I\!H}} +\def\bbbk{{\rm I\!K}} +\def\bbbp{{\rm I\!P}} +\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} +{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} +\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} +\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} +\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} +\def\bbbs{{\mathchoice +{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox +to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox +to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} +\def\bbbz{{\mathchoice {\hbox{$\sf\textstyle Z\kern-0.4em Z$}} +{\hbox{$\sf\textstyle Z\kern-0.4em Z$}} +{\hbox{$\sf\scriptstyle Z\kern-0.3em Z$}} +{\hbox{$\sf\scriptscriptstyle Z\kern-0.2em Z$}}}} +\def\ts{\thinspace} + +\def\typeset{\vfill\small\noindent This article was processed using +the \LaTeX{} macro package with JNS style\par} + +\def\enddocument{\par\typeset +\@checkend{document}\clearpage\begingroup +\if@filesw \immediate\closeout\@mainaux +\def\global\@namedef##1##2{}\def\newlabel{\@testdef r}% +\def\bibcite{\@testdef b}\@tempswafalse\makeatletter\input \jobname.aux +\if@tempswa \@warning{Label(s) may have changed. Rerun to get +cross-references right}\fi\fi\endgroup\deadcycles\z@\@@end} diff --git a/obsolete/macros/latex209/contrib/springer/jnsl/jnsl.dem b/obsolete/macros/latex209/contrib/springer/jnsl/jnsl.dem new file mode 100644 index 0000000000..8a082828dc --- /dev/null +++ b/obsolete/macros/latex209/contrib/springer/jnsl/jnsl.dem @@ -0,0 +1,354 @@ +% This is JNSL.DEM the demonstration file of +% the LaTeX macro package from Springer-Verlag +% for the Journal of Nonlinear Science +% version of 16 July 1990 +\def\12{{1\ov 2}} +\def\al{\alpha} +\def\Aun{A_\un} +\def\aun{a_\un} +\def\bullet{\cdot} +\def\Bun{B_\un} +\def\bun{b_\un} +\def\de{\delta} +\def\dx{\dot x} +\def\ep{\varepsilon} +\def\fa{\forall} +\def\for{{\rm for}} +\def\Lai{\Lambda} +\def\lb{\left[} +\def\lg{\left\{} +\def\degr{\hbox{$^\circ$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +\def\liminfuu{{\rm lim inf}\,} +\def\liminfu{\mathop{\vphantom{\tst\sum}\hbox{\liminfuu}}} +\def\limsupuu{{\rm lim sup}\,} +\def\limsupu{\mathop{\vphantom{\tst\sum}\hbox{\limsupuu}}} +\def\lr{\left(} +\def\lss{\left\|} +\def\Min{{\rm Min\,}} +\def\NN{\bbbn} +\def\ol{\overline} +\def\om{\omega} +\def\ov{\over} +\def\rb{\right]} +\def\rg{\right\}} +\def\RRn{\bbbr^{2n}} +\def\RR{\bbbr} +\def\rr{\right)} +\def\rss{\right\|} +\def\sm{\setminus} +\def\tst{\textstyle} +\def\tx{\wt x} +\def\un{\infty} +\def\wt{\widetilde} +\def\ZZ{\bbbz} +\documentstyle{jns} +\begin{document} + +\title{Haupttitel 14 pt halbfett/Title boldface -- 14/16} +\titlerunning{Expression of Cellular Oncogenes} +\subtitle{Untertitel 10 pt halbfett/Subtitle boldface -- 10/11} + +\author{Ivar Ekeland\inst{1} and Roger Temam\inst{2}} +\authorrunning{R. M\"uller} + +\institute{Princeton University, Princeton NJ 08544, USA +\and +Universit\'e de Paris-Sud, +Laboratoire d'Analyse Num\'erique, B\^atiment 425,\\ +F-91405 Orsay Cedex, France} + +\date{Received June 5, 1989} + +\maketitle + +\begin{abstract} +A new variant of the multi-grid algorithms is presented. It uses +multiple coarse-grid corrections with particularly associated +prolongations and restrictions. In this paper the robustness with +respect to anisotropic problems is considered. + +\keywords multi-grid method -- coarse--grid correction -- +singular perturbation -- robustness. +\end{abstract} + +\section{The Anisotropic Equation and Standard Multi-Grid Methods} +\subsection{Introduction} +Multi-grid methods are known as very fast solvers of a large class of +discretised partial differential equations. However, the multi-grid +method cannot be understood as a fixed algorithm. Usually, the +components of the multi-grid iteration have to be adapted to the given +problem and sometimes the problems are modified in order to make them +acceptable for multi-grid methods. In particular, the smoothing +iteration is the most delicated part of the multi-grid process. + +An iteration is called a {\em robust} one, if it works for a sufficient +large class of problems. Attempts have been made to construct robust +multi-grid iterations by means of sophisticated smoothing processes\dots +\newpage +With this chapter, the preliminaries are over, and we begin the search +for periodic solutions to Hamiltonian systems. All this will be done in +the convex case; that is, we shall study the boundary-value problem +\begin{eqnarray*}\dot x&=&JH' (t,x)\\ x(0) &=& x(T) +\end{eqnarray*} +with $H(t,\bullet )$ a convex function of $x$, going to $+\un$ when +$\lss x\rss \to \un$. + +\subsection{Autonomous Systems} +In this section, we will consider the case when the Hamiltonian $H(x)$ +is autonomous. For the sake of simplicity, we shall also assume that it +is $C^1$. + +We shall first consider the question of nontriviality, within the +general framework of $\lr \Aun , \Bun\rr$-subquadratic Hamiltonians. In +the second subsection, we shall look into the special case when $H$ is +$\lr 0,\bun\rr$-subquadratic, and we shall try to derive additional +information. +\subsubsection{ The General Case: Nontriviality.} +We assume that $H$ is $\lr \Aun , \Bun \rr$-sub\-qua\-dra\-tic at infinity, +for some constant symmetric matrices $\Aun$ and $\Bun$, with $\Bun +-\Aun$ positive definite. Set: +\begin{eqnarray} +\gamma :&=&{\rm smallest\ eigenvalue\ of}\ \ \Bun - \Aun \\ +\lambda : &=& {\rm largest\ negative\ eigenvalue\ of}\ \ J {d\ov dt} ++\Aun\ . \end{eqnarray} + +Theorem 21 tells us that if $\lambda +\gamma < 0$, the boundary-value +problem: +\begin{equation}\begin{array}{rcl} \dx&=&JH' (x)\\ +x(0)&=&x (T)\end{array}\end{equation} +has at least one solution $\ol x$, which is found by minimizing the dual +action functional: +\begin{equation} \psi (u) = \int_o^T \lb \12 \lr \Lai_o^{-1} u,u\rr + N^\ast (-u)\rb +dt\end{equation} + +\noindent on the range of $\Lai$, which is a subspace $R (\Lai )\sb L^2$ with +finite codimension. Here +\begin{equation} N(x) := H(x) - \12 \lr \Aun x,x\rr\end{equation} +is a convex function, and +\begin{equation} N(x) \le \12 \lr \lr \Bun - \Aun\rr x,x\rr + c\ \ \ \fa x\ +.\end{equation} + +\begin{proposition} Assume $H'(0)=0$ and $ H(0)=0$. Set: +\begin{equation} \de := \liminfu_{x\to 0} 2 N (x) \lss x\rss^{-2}\ . +\label{eq:one} +\end{equation} + +If $\gamma < - \lambda < \de$, the solution $\ol u$ is non-zero: +\begin{equation} \ol x (t) \ne 0\ \ \ \fa t\ .\end{equation} +\end{proposition} +\begin{proof} Condition (\ref{eq:one}) means that, for every $\de ' > +\de$, there is some $\ep > 0$ such that +\begin{equation} \lss x\rss \le \ep \Rightarrow N (x) \le {\de '\ov 2} \lss x\rss^2\ +.\end{equation} + +It is an exercise in convex analysis, into which we shall not go, to +show that this implies that there is an $\eta > 0$ such that +\begin{equation} f\lss x\rss \le \eta \Rightarrow N^\ast (y) \le {1\ov 2\de '} \lss +y\rss^2\ .\label{eq:two}\end{equation} + +\begin{figure} +\vspace{2.5cm} +\caption{This is the caption of the figure displaying a white eagle and +a white horse on a snow field} +\end{figure} + +Since $u_1$ is a smooth function, we will have $\lss hu_1\rss_\un \le +\eta$ for $h$ small enough, and inequality (\ref{eq:two}) will hold, +yielding thereby: +\begin{equation} \psi (hu_1) \le {h^2\ov 2} {1\ov \lambda} \lss u_1 \rss_2^2 + {h^2\ov 2} +{1\ov \de '} \lss u_1\rss^2\ .\end{equation} + +If we choose $\de '$ close enough to $\de$, the quantity $\lr {1\ov \lambda} ++ {1\ov \de '}\rr$ will be negative, and we end up with +\begin{equation} \psi (hu_1) < 0\ \ \ \ \ \for\ +\ h\ne 0\ \ {\rm small}\ .\end{equation} + +On the other hand, we check directly that $\psi (0) = 0$. This shows +that 0 cannot be a minimizer of $\psi$, not even a local one. So $\ol u +\ne 0$ and $\ol u \ne \Lai_o^{-1} (0) = 0$. \qed +\end{proof} +\begin{corollary} Assume $H$ is $C^2$ and $\lr \aun +,\bun\rr$-subquadratic at infinity. Let +$\xi_1,\allowbreak\dots,\allowbreak\xi_N$ be the +equilibria, that is, the solutions of $H' (\xi ) = 0$. Denote by $\om_k$ +the smallest eigenvalue of $H'' \lr \xi_k\rr$, and set: +\begin{equation} \om : = \Min \lg \om_1 , \dots , \om_k\rg\ .\end{equation} +If: +\begin{equation} {T\ov 2\pi} \bun < - E \lb - {T\ov 2\pi}\aun\rb < {T\ov +2\pi}\om\label{eq:three}\end{equation} +then minimization of $\psi$ yields a non-constant $T$-periodic solution +$\ol x$.\end{corollary} + +We recall once more that by the integer part $E [\al ]$ of $\al \in +\RR$, we mean the $a\in \ZZ$ such that $a< \al \le a+1$. For instance, +if we take $\aun = 0$, Corollary 2 tells us that $\ol x$ exists and is +non-constant provided that: + +\begin{equation} {T\ov 2\pi} \bun < 1 < {T\ov 2\pi}\end{equation} +or +\begin{equation} T\in \lr {2\pi\ov \om},{2\pi\ov \bun}\rr\ . +\label{eq:four}\end{equation} + +\begin{proof} The spectrum of $\Lai$ is ${2\pi\ov T} \ZZ +\aun$. The +largest negative eigenvalue $\lambda$ is given by ${2\pi\ov T}k_o +\aun$, +where +\begin{equation} {2\pi\ov T}k_o + \aun < 0\le {2\pi\ov T} (k_o +1) + \aun\ +.\end{equation} +Hence: +\begin{equation} k_o = E \lb - {T\ov 2\pi} \aun\rb \ .\end{equation} + +The condition $\gamma < -\lambda < \de$ now becomes: +\begin{equation} \bun - \aun < - {2\pi\ov T} k_o -\aun < \om -\aun\end{equation} +which is precisely condition (\ref{eq:three}).\qed +\end{proof} + +\begin{lemma} Assume that $H$ is $C^2$ on $\RRn \sm \{ 0\}$ and +that $H'' (x)$ is non-de\-gen\-er\-ate for any $x\ne 0$. Then any local +minimizer $\tx$ of $\psi$ has minimal period $T$.\end{lemma} +\begin{proof} We know that $\tx$, or $\tx + \xi$ for some constant $\xi +\in \RRn$, is a $T$-periodic solution of the Hamiltonian system: +\begin{equation} \dx = JH' (x)\ .\end{equation} + +There is no loss of generality in taking $\xi = 0$. So $\psi (x) \ge +\psi (\tx )$ for all $\tx$ in some neighbourhood of $x$ in $W^{1,2} \lr +\RR / T\ZZ ; \RRn\rr$. + +But this index is precisely the index $i_T (\tx )$ of the $T$-periodic +solution $\tx$ over the interval $(0,T)$, as defined in Sect.~2.6. So +\begin{equation} i_T (\tx ) = 0\ .\label{eq:five}\end{equation} + +Now if $\tx$ has a lower period, $T/k$ say, we would have, by Corollary +31: +\begin{equation} i_T (\tx ) = i_{kT/k}(\tx ) \ge ki_{T/k} (\tx ) + k-1 \ge k-1 \ge +1\ .\end{equation} + +This would contradict (\ref{eq:five}), and thus cannot happen.\qed +\end{proof} +\paragraph{Notes and Comments.} The results in this section are a +refined version of \cite{clar:eke}; the minimality result of Proposition +14 was the first of its kind. + +To understand the nontriviality conditions, such as the one in formula +(\ref{eq:four}), one may think of a one-parameter family $x_T$, $T\in +\lr 2\pi\om^{-1}, 2\pi \bun^{-1}\rr$ of periodic solutions, $x_T (0) = +x_T (T)$, with $x_T$ going away to infinity when $T\to 2\pi \om^{-1}$, +which is the period of the linearized system at 0. + +\begin{table} +\caption[ ]{Observational results from NGC 4827} +\begin{flushleft} +\renewcommand{\arraystretch}{1.2} +\begin{tabular}{llllllllllllll} +\hline + & & \multicolumn{3}{l}{RA (1950)} &\ & \multicolumn{3}{l}{Dec (1950)} + & $S$ & Pol & \% & $\log P$\\ +\cline{3-5}\cline{7-9} + & &(h) &(m) & (s) & & (\degr) & (\arcmin) & (\arcsec) + & (mJy) & (mJy) & & (W Hz$^{-1}$)\\ +\hline +Core & (5 GHz) & 12 & 54 & 18.0 & & 27 & 26 & 56.2 + & 8 & & & 21.64 \\ +Total&(327 MHz)& & & & & & & + & 210 & & & 23.13 \\ + &(1.4 GHz)& & & & & & & + & 57 & 1.3 & 2 & 22.49 \\ + & (5 GHz) & & & & & & & + & 26 & 0.73 & 3 & 22.15 \\ +\hline +\end{tabular} +\renewcommand{\arraystretch}{1} +\end{flushleft} +\end{table} +\begin{theorem} [(Ghoussoub-Preiss)] Assume $H(t,x)$ is +$(0,\ep )$-subquadratic at +infinity for all $\ep > 0$, and $T$-periodic in $t$ +\begin{equation} H (t,\bullet )\ \ \ \ \ {\rm is\ convex}\ \ \fa t\end{equation} +\begin{equation} H (\bullet ,x)\ \ \ \ \ {\rm is}\ \ T{\rm -periodic}\ \ \fa x +\end{equation} +\begin{equation} H (t,x)\ge n\lr \lss x\rss\rr\ \ \ \ \ {\rm with}\ \ n (s)s^{-1}\to +\un\ \ {\rm as}\ \ s\to \un\end{equation} +\begin{equation} \fa \ep > 0\ ,\ \ \ \exists c\ :\ H(t,x) \le {\ep\ov 2}\lss x\rss^2 + +c\ .\end{equation} + +Assume also that $H$ is $C^2$, and $H'' (t,x)$ is positive definite +everywhere. Then there is a sequence $x_k$, $k\in \NN$, of $kT$-periodic +solutions of the system +\begin{equation} \dx = JH' (t,x)\end{equation} +such that, for every $k\in \NN$, there is some $p_o\in\NN$ with: +\begin{equation} p\ge p_o\Rightarrow x_{pk} \ne x_k\ . +\end{equation} +\qed +\end{theorem} +\begin{example} [{\rm(External forcing)}] Consider the system: +\begin{equation} \dx = JH' (x) + f(t)\end{equation} +where the Hamiltonian $H$ is $\lr 0,\bun\rr$-subquadratic, and the +forcing term is a distribution on the circle: +\begin{equation} f = {d\ov dt} F + f_o\ \ \ \ \ {\rm with}\ \ F\in L^2 \lr \RR / T\ZZ +; \RRn\rr\ ,\end{equation} +where $f_o : = T^{-1}\int_o^T f (t) dt$. For instance, +\begin{equation} f (t) = \sum_{k\in \NN} \de_k \xi\ ,\end{equation} +where $\de_k$ is the Dirac mass at $t= k$ and $\xi \in \RRn$ is a +constant, fits the prescription. This means that the system $\dx = JH' +(x)$ is being excited by a series of identical shocks at interval $T$. +\end{example} +\begin{definition} Let $A_\un (t)$ and $B_\un (t)$ be symmetric +operators in $\RRn$, depending continuously on $t\in [0,T]$, such that +$A_\un (t) \le B_\un (t)$ for all $t$. + +A Borelian function $H: [0,T]\times \RRn \to \RR$ is called $\lr A_\un +,B_\un\rr$-{\it subquadratic at infinity} if there exists a function +$N(t,x)$ such that: +\begin{equation} H (t,x) = \12 \lr A_\un (t) x,x\rr + N(t,x)\end{equation} +\begin{equation} \fa t\ ,\ \ \ N(t,x)\ \ \ \ \ {\rm is\ convex\ with\ respect\ to}\ +\ x\end{equation} +\begin{equation} N(t,x) \ge n\lr \lss x\rss\rr\ \ \ \ \ {\rm with}\ \ n(s)s^{-1}\to ++\un\ \ {\rm as}\ \ s\to +\un\end{equation} +\begin{equation} \exists c\in \RR\ :\ \ \ H (t,x) \le \12 \lr B_\un (t) x,x\rr + c\ \ +\ \fa x\ .\end{equation} + +If $A_\un (t) = a_\un I$ and $B_\un (t) = b_\un I$, with $a_\un \le +b_\un \in \RR$, we shall say that $H$ is $\lr a_\un +,b_\un\rr$-subquadratic at infinity. As an example, the function $\lss x +\rss^\al$, with $1\le \al < 2$, is $(0,\ep )$-subquadratic at infinity +for every $\ep > 0$. Similarly, the Hamiltonian +\begin{equation} H (t,x) = \12 k \lss k\rss^2 +\lss x\rss^\al\end{equation} +is $(k,k+\ep )$-subquadratic for every $\ep > 0$. Note that, if $k<0$, +it is not convex. +\end{definition} + +\paragraph{Notes and Comments.} The first results on subharmonics were +obtained by Rabinowitz in \cite{rab}, who showed the existence of +infinitely many subharmonics both in the subquadratic and superquadratic +case, with suitable growth conditions on $H'$. Again the duality +approach enabled Clarke and Ekeland in \cite{clar:eke:2} to treat the +same problem in the convex-subquadratic case, with growth conditions on +$H$ only. + +Recently, Michalek and Tarantello (see \cite{mich:tar} and \cite{tar}) +have obtained lower bound on the number of subharmonics of period $kT$, +based on symmetry considerations and on pinching estimates, as in +Sect.~5.2 of this article. + +\begin{thebibliography}{MT1} +\bibitem[CE1]{clar:eke} Clarke, F., Ekeland, I.: Nonlinear oscillations +and +boundary-value problems for Hamiltonian systems. Arch. Rat. Mech. Anal. +{\bf 78} (1982) 315--333 +\bibitem[CE2]{clar:eke:2} Clarke, F., Ekeland, I.: Solutions +p\'eriodiques, du +p\'eriode donn\'ee, des \'equations hamiltoniennes. Note CRAS Paris {\bf +287} (1978) 1013--1015 +\bibitem[MT1]{mich:tar} Michalek, R., Tarantello, G.: Subharmonic +solutions with +prescribed minimal period for nonautonomous Hamiltonian systems. J. +Diff. Eq. {\bf 72} (1988) 28--55 +\bibitem[Ta1]{tar} Tarantello, G.: Subharmonic solutions for Hamiltonian +systems via a $\bbbz_p$ pseudoindex theory. Annali di Matematica Pura +(to appear) +\bibitem[Ra1]{rab} Rabinowitz, P.: On subharmonic solutions of a +Hamiltonian +system. Comm. Pure Appl. Math. {\bf 33} (1980) 609--633 +\end{thebibliography} +\end{document} diff --git a/obsolete/macros/latex209/contrib/springer/jnsl/jnsl.doc b/obsolete/macros/latex209/contrib/springer/jnsl/jnsl.doc new file mode 100644 index 0000000000..45d3abd88c --- /dev/null +++ b/obsolete/macros/latex209/contrib/springer/jnsl/jnsl.doc @@ -0,0 +1,1162 @@ +% This is JNSL.DOC the documentation file of +% the LaTeX macro package from Springer-Verlag +% for the Journal of Nonlinear Science +% version of 16 July 1990 +\documentstyle[jnsldoc]{jns} +% +\newfont{\titelfont}{cmr10 scaled 1728} +\newfont{\titelbffont}{cmbx10 scaled 2074} +\newfont{\titelbigfont}{cmr10 scaled 2488} +\markboth{Style File for Authors Coding with \LaTeX{}}{Style File +for Authors Coding with \LaTeX{}} +% +\begin{document} +\thispagestyle{empty} +\begin{flushleft} +{\titelbffont Style File}\\[6pt] +{\titelbffont for Authors Coding with \LaTex{}}\\[2cm] +\end{flushleft} +\rule{\textwidth}{1pt} +\vspace{2pt} +\begin{flushright} +\begin{tabular}{@{}l} +{\titelbigfont The Journal of}\\[9pt] +{\titelbigfont Nonlinear Science}\\[10pt] +\end{tabular} +\end{flushright} +\rule{\textwidth}{1pt} +\vfill +\begin{flushright} +\begin{tabular}{@{}l} +{\titelfont Springer-Verlag}\\[5pt] +{\titelfont New \kern-4pt York Berlin Heidelberg Tokyo}\\[5pt] +{\titelfont London Paris Hong \kern-3pt Kong} +\end{tabular} +\end{flushright} +\newpage +% +\section*{For further information please contact us:} +% +\begin{flushleft} +\begin{tabular}{l@{\quad}l@{\hspace{3mm}}l} +$\bullet$ & \multicolumn{2}{l}{\bf Springer-Verlag New \kern-3pt +York}\\[0.5mm] + & \multicolumn{2}{l}{Springer-Verlag New \kern-2pt York, 175 Fifth + Avenue,}\\ + & & New \kern-2pt York, New \kern-2pt York 10010 + USA\\[0.5mm] + & Telex: & 232235\\ + & Fax: & (212)437-6272\\ + & Editorial: & (Mon--Fr; preferably between 9 a.m. + and 4 p.m. --\\ + & & Mountain Standard Time)\\ + & & Telephone (212)460-1565\\ + & net-address: & TROWBRIDGE@COMPUSERVE.COM\\[1mm] +$\bullet$ & \multicolumn{2}{l}{\bf Springer-Verlag Heidelberg}\\[1mm] + & \multicolumn{2}{l}{Springer-Verlag, Postfach 105280, D-6900 Heidelberg + 1, FRG}\\[0.5mm] + & DATEX-P dial: & FRG 456 221 4305\\ + & & If you do not yet have an account, press RETURN\\ + & & when asked for your name; then simply leave a message.\\ + & & The file name should be your name and country\\ + & & or state, e.g.\ smith-texas\\ + & Telex: & 461723\\ + & Telefax: & (06221)43982\\ + & Editorial: & (Mon--Fr; preferably between 9 a.m.\\ + & & and 4 p.m. -- European local time)\\ + & & Telephone (0049)(0)6221-487534\\ + & \multicolumn{2}{l}{\TeX{}nical and \LaTeX{}nical information + (Mon--Fri; preferably between}\\ + & & 9 a.m. and 1 p.m. -- European local time):\\ + & & Telephone (0049)(0)6221-487478\\ + &bitnet/EARN:& SPRINGER@DHDSPRI6 +\end{tabular} +\end{flushleft} +\rule{\textwidth}{1pt} +% +\section*{Mailing address for your disk/magnetic tape and output:} +% +\begin{quote} +Springer-Verlag New \kern-2pt York, Inc.\\ +175 Fifth Avenue\\ +New \kern-2pt York, New \kern-2pt York 10010 USA +\end{quote} +The following formats are acceptable: 5.25$^{\prime\prime}$ diskette +MS-DOS, 5.25$^{\prime\prime}$ CP/M, 3.5$^{\prime\prime}$ diskette +MS-DOS, 3.5$^{\prime\prime}$ diskette Apple MacIntosh, 9-track 1600 +bpi magnetic tape VAX/VMS, 9-track 1600 bpi magnetic tape ANSI with +label, 9-track 1600 bpi magnetic tape, SUN-Streamer Tape. + +Once you have completed your work using this macro package, +please submit your own printout of the {\it final +version together with the disk or magnetic tape}, containing your +\LaTeX{} input (source) file und the final DVI-file and make sure +that the text is {\it identical in both cases.} + +Contributions coded with \LaTeX{} but not with the JNS style, cannot be +accepted for electronic processing; they will be typeset in the +conventional way. +% +\newpage +\tableofcontents +\newpage +% +\section{Introduction} +% +Authors wishing to code their contribution +for the +\begin{center} +{\it Journal of Nonlinear Science,} +\end{center} +with \LaTeX{}, as well as those who have already coded with \LaTeX{}, +will be provided with a style file that will give the text the +desired layout. Authors are requested to +adhere strictly to these instructions; {\it the style +file must not be changed}. + +The text output area is automatically set within an area of +12.2\,cm horizontally and 19.4\,cm vertically, excluding +running heads. + +If you are already familiar with \LaTeX{}, then the +JNS style file should not give you any major difficulties. +This style file will change the layout to the required JNS style +(it will for instance define the layout of \verb|\section|). +We had to invent some extra commands, +which are not provided by \LaTeX{} (e.g.\ +\verb|\institute|, see also Sect.\,\ref{contbegin}) + +For the main body of the paper (the text) you +should use the commands of the standard \LaTeX{} ``article'' style. +Even if you are familiar with those commands, we urge you to read +this entire documentation thoroughly. It contains many suggestions on +how to use our commands properly; thus your paper +will be formatted exactly to JNS standard. +For the input of the references at the end of your contribution, +please follow our instructions given in Sect.\,\ref{refer} References. + +The majority of these hints are not specific for JNS; they may improve +your use of \LaTeX{} in general. +Furthermore, the documentation provides suggestions about the proper +editing and use +of the input files (capitalization, abbreviation etc.) (see +Sect.\,\ref{refedit} How to Edit Your Input File). +% +\section{How to Proceed} +% +Please insert the enclosed diskette or tape into your computer. You will +find the following files: +\begin{flushleft} +\begin{tabular}{@{}p{2.5cm}l} +{\it jnsl.doc} & General instructions (this document),\\ + & {\it jnsl.doc} means jns latex.documentation\\ +{\it jnsl.dem} & An example showing how to code the text\\ +{\it jns.sty} & Style file to invoke \LaTeX{} +\end{tabular} +\end{flushleft} +You have to run each file twice with: \verb|latex file.name|. +% +\subsection{How to Invoke the JNS Style File} +% +The JNS style file is an adaptation of the \LaTeX{} ``article'' style. +Therefore you may use all ``article'' style commands to prepare your +manuscript. +JNS style is invoked by replacing ``article'' by ``jns'' in the first +line of your document: +\begin{verbatim} +\documentstyle{jns}| +% +\begin{document} + +\end{document} +\end{verbatim} +% +\subsection{Contributions Already Coded with \protect\LaTeX{} without +the JNS Style File} +% +If your file is already coded with \LaTeX{} you can easily +adapt it a posteriori to JNS style. Contributions submitted +to us in \LaTeX{} but not adapted to JNS style, +cannot be accepted for electronic processing; they will be typeset +in the conventional way. + +Please refrain from using any \LaTeX{} or \TeX{} commands +that affect the layout or formatting of your document (i.e. commands +like \verb|\textheight|, \verb|\vspace|, \verb|\hoffset| etc.). +There may nevertheless be exceptional occasions on which to +use some of them. + +The JNS style has been carefully designed to produce the right layout +from your \LaTeX{} input. If there is anything specific you would like +to do and for which the style file does not provide a command, +{\em please contact us.\/} +% +\section{General Rules for Coding Formulas} +% +With mathematical formulas you may proceed as described +in Sect.\,3.3 of the {\em \LaTeX{} User's Guide \& Reference +Manual\/} by Leslie Lamport (1986), Addison-Wesley Publishing +Company, Reading, Mass. + +Equations are automatically numbered sequentially throughout +your contribution using arabic numerals in parentheses on the right-hand side. + +When you are working in math mode everything is typeset in italics. +Sometimes you need to insert non-mathematical elements (e.g.\ +words or phrases). Such insertions should be coded in roman +(with \verb|\mbox|) as illustrated in the following example: +\begin{flushleft} +{\it Sample Input} +\end{flushleft} +\begin{verbatim} +\begin{equation} + \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad + \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace . +\end{equation} +\end{verbatim} +{\it Sample Output} +\begin{equation} + \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad + \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace . +\end{equation} + +If you wish to start a new paragraph immediately after a displayed +equation, insert a blank line so as to produce the required +indentation. If there is no new paragraph either do not insert +a blank line or code \verb|\noindent| immediately before +continuing the text. Titles have no end punctuation. + +Please punctuate a displayed equation in the same way as other +ordinary text but with an \verb|\enspace| before end punctuation. + +Note that the sizes of the parentheses or other delimiter +symbols used in equations should ideally match the height of the +formulas being enclosed. This is automatically taken care of by +the following \LaTeX{} commands:\\[2mm] +\verb|\left(| or \verb|\left[| and +\verb|\right)| or \verb|\right]|. +% +\subsection{Italic and Roman Type in Math Mode} +% +\begin{alpherate} +\item +In math mode \TeX{} and \LaTeX{} treat all letters as though they +were mathematical or physical variables, hence they are typeset in +italics. However, for certain components of formulas, like short texts, +this would be incorrect and therefore coding in roman is required. +Roman should also be used for +subscripts and superscripts {\it in formulas\/} where these are +merely labels and not in themselves variables, +e.g.\ $T_{\rm eff}$ \ not \ $T_{eff}$, +$T_{\rm K}$ \ not \ $T_K$ (K = Kelvin), +$m_{\rm e}$ \ not \ $m_e$ (e = electron). +However, do not code for roman +if the sub/superscripts represent variables, +e.g.\ $\sum_{i=1}^{n} a_{i}$. +\item +Please ensure that {\em physical units\/} (e.g.\ pc, erg s$^{-1}$ +K, cm$^{-3}$, W m$^{-2}$ Hz$^{-1}$, m kg s$^{-2}$ A$^{-2}$) and +{\it abbreviations} such as Ord, Var, GL, SL, sgn, const.\ +are always set in roman type. To ensure +this use the \verb|\rm| command: \verb|{\rm Hz}|. +On p.\ 46 of the {\em \LaTeX{} User's Guide \& Reference +Manual\/} by Leslie Lamport you will find the names of +common mathe\-matical functions, such as log, sin, exp, max and sup. +These should be coded as \verb|\log|, +\verb|\sin|, \verb|\exp|, \verb|\max|, \verb|\sup| +and will appear in roman. +\item +Chemical symbols and formulas should be coded for roman, +e.g.\ Fe not $Fe$, H$_2$O not {\em H$_2$O\/}. +\item +Familiar foreign words and phrases, e.g.\ et al., +a priori, in situ, brems\-strah\-lung, eigenvalues should not be +italicized. +\end{alpherate} +% +\section{How to Edit Your Input (Source) File} +\label{refedit} +% +\subsection{Headings} +% +All words in headings should be capitalized except for +conjunctions, prepositions +(e.g.\ on, of, by, and, or, but, from, with, without, under) +and definite and indefinite articles (the, a, an) unless they appear at +the beginning. Formula letters must be typeset as in the text. +% +\subsection{Capitalization and Non-capitalization} +% +\begin{alpherate} +\item +The following should always be capitalized: +\begin{itemize} +\item +Headings (see preceding Sect.\,4.1) +\item +Abbreviations and expressions +in the text such as Fig(s)., Table(s), Sect(s)., Chap(s)., +Theorem, Corollary, Definition etc. when used with numbers, e.g.\ +Fig.\,3, Table\,1, Theorem 2. +\end{itemize} +Please follow the special rules in Sect.\,4.3 for referring to equations. +\item +The following should {\it not\/} be capitalized: +\begin{itemize} +\item +The words figure(s), table(s), equation(s), +theorem(s) in the text when used without an accompanying number +\item +Figure legends and table captions except for names and +abbreviations. +\end{itemize} +\end{alpherate} +% +\subsection{Abbreviation of Words} +% +\begin{alpherate} +\item +The following {\it should} be abbreviated +when they appear in running text {\it +unless\/} they come at the beginning of a sentence: Chap., Sect., Fig.; +e.g.\ The results are depicted in Fig.\,5. Figure 9 reveals that \dots .\\ +{\it Please note\/}: Equations should usually be referred to solely by their +number in parentheses: e.g.\ (14). However, when the reference comes at the +beginning of a sentence, the unabbreviated word ``Equation'' +should be used: e.g.\ Equation (14) is very important. However, (15) +makes it clear that \dots . +\item +If abbreviations of names or concepts are used +throughout the text, they should be defined at first occurrence, +e.g.\ Plurisubharmonic (PSH) Functions, Strong Optimization (SOPT) +Problem. +\end{alpherate} +% +\section{How to Code the Beginning of Your Contribution} +\label{contbegin} +% +The title of your contribution should be coded as follows: +\begin{verbatim} +\title{} +\end{verbatim} +All words in titles should be capitalized except for +conjunctions, prepositions +(e.g.\ on, of, by, and, or, but, from, with, without, under) +and definite and indefinite articles (the, a, an) unless they appear at +the beginning. Formula letters must be typeset as in the text. +Titles have no end punctuation. + +If a long \verb|\title| must be divided please use the +code \verb|\\| (for new line).\\[6mm] +Now the name(s) of the authors(s) must be given: +\begin{verbatim} +\author{} +\end{verbatim} +Numbers referring to different addresses are +to be attached to each author. +If you have done this correctly, the entry now reads, for example: +\begin{verbatim} +\author{Ivar Ekeland\inst{1} and Roger Temam\inst{2}} +\end{verbatim} +The first name\footnote{Other initials are optional +and may be inserted if this is the usual +way of writing your name, e.g.\ Alfred J.~Holmes, E.~Henry Green.} +is followed by the surname. + +If there is more than one author, the order is up to you. +However, if there are more than two authors, you must separate the names +by commas. If the authors have different affiliations, +each name has to be followed by: +\begin{verbatim} +\inst{no} +\end{verbatim} +\newpage +Next the address(es) of institute(s), company etc. is (are) required. +If there is more than one address, the entries are numbered +automatically with \verb|\and|, in the order in which you type them. +Please make sure that the numbers match those placed next to +to the authors' names. +\begin{verbatim} +\institute{ +\and +\and } +\end{verbatim} +Unlike usual \LaTeX{} the \verb|\and| command is used with the +\verb|\institute| and not with the \verb|\author| command. + +\medskip +If footnotes are needed in \verb|\title| please code +(immediately after the word where the footnote +indicator should be placed): +\begin{verbatim} +\thanks{} +\end{verbatim} +\verb|\thanks| may only appear in \verb|\title|, \verb|\author| +and \verb|\institute| (see below) to footnote anything. + +\medskip\noindent +The command +\begin{verbatim} +\maketitle +\end{verbatim} +formats the complete heading of your article. If you leave +it out the work done so far will produce {\bf no} text, +see {\it Sample Input} on p.~\pageref{samppage}. +% +\section{How to Code Your Text} +% +The contribution title and all headings should be capitalized +except for conjunctions, prepositions +(e.g.\ on, of, by, and, or, but, from, with, without, under) +and definite and indefinite articles (the, a, an) unless they appear at +the beginning. Formula letters must be typeset as in the text. + +Headings will be automatically numbered by the following codes.\\[2mm] +{\it Sample Input} +\begin{verbatim} +\section{This is a First-Order Title} +\subsection{This is a Second-Order Title} +\subsubsection{This is a Third-Order Title.} +\paragraph{This is a Fourth-Order Title.} +\end{verbatim} +\verb|\section| and \verb|\subsection| have no end punctuation.\\ +\verb|\subsubsection| and \verb|\paragraph| +need to be punctuated at the end. + +Note that \verb|\title| and \verb|\author| will create the page +header (running head), but it may happen that you need to shorten your +title for the page header, because only one line is allowed (our macro +will produce an error message whereupon you must provide a shortened +version of the title for the page header). In this case you should use +the following coding directly after the coding of \verb|\title| +or \verb|\author|. +\begin{verbatim} +\titlerunning{Abbreviated contribution title} +\authorrunning{Abbreviated authors} +\end{verbatim} +\newpage +In addition to the above-mentioned headings your text may be structured +by subsections indicated by run-in headings (theorem-like environments). +All the theorem-like environments are numbered automatically +throughout the sections of your file. +If you call lemma once, this will be numbered 1; if corollary follows, +this will be numbered 2; if you then call lemma again, this will be +numbered 3. + +But in case you want to reset this counter at 1 in each section, +please give the document style option \verb|envcountreset|: +\begin{verbatim} +\documentstyle[envcountreset]{jns} +\end{verbatim} + +\vspace{.5cm}\noindent +The following possibilities for run-in headings are available: +\begin{flushleft} +\verb|\begin{lemma} Text of the lemma \end{lemma}|\quad (see Output +Sample 1)\\[2mm] +% +\verb|\begin{lemma}[additional explanation of lemma] Text of +lemma \end{lemma}| \quad (see Output Sample 2)\\[2mm] +% +\verb|\begin{lemma}(overriding automatic numbering.) Text of the lemma +\end{lemma}| \quad (see Output Sample 3)\\[2mm] +% +\verb|\begin{lemma}(x)[additional explanation of lemma] Text of +lemma\end{lemma}| \quad (see Output Sample 4)\\[2mm] +% +\verb|\begin{lemma}* Text of lemma \end{lemma}| \quad (see Output +Sample 5)\\[2mm] +% +\verb|\begin{lemma}*[additional explanation of lemma] Text of +lemma\end{lemma}| \quad (see Output Sample 6) +\end{flushleft} +% +\begin{flushleft} +{\it Output Sample 1} +\begin{lemma}Text of lemma\end{lemma} +% +{\it Output Sample 2} +\begin{lemma}[additional explanation of lemma] Text of lemma\end{lemma} +% +{\it Output Sample 3} +\begin{lemma}(overriding automatic numbering.) Text of lemma\end{lemma} +% +{\it Output Sample 4} +\begin{lemma}(x)[additional explanation of lemma] Text of lemma\end{lemma} +% +{\it Output Sample 5} +\begin{lemma}* Text of lemma\end{lemma} +% +{\it Output Sample 6} +\begin{lemma}*[additional explanation of lemma] Text of lemma\end{lemma} +\end{flushleft} +\newpage +\noindent +The following variety of run-in headings are at your disposal: +\begin{alpherate} +\item +{\bf Bold} run-in headings with italicized text +as built-in environments: +\begin{verbatim} +\begin{proposition} \end{proposition} +\begin{corollary} \end{corollary} +\begin{lemma} \end{lemma} +\begin{theorem} \end{theorem} +\end{verbatim} +\item +The following must generally appear as {\it italic} run-in heading: +\begin{verbatim} +\begin{proof} \qed \end{proof} +\end{verbatim} +\item +Further {\it italic} or {\bf bold} run-in headings may also occur: +\begin{verbatim} +\begin{definition} \end{definition} +\begin{example} \end{example} +\begin{remark} \end{remark} +\begin{exercise} \end{exercise} +\begin{problem} \end{problem} +\begin{solution} \end{solution} +\begin{note} \end{note} +\begin{question} \end{question} +\end{verbatim} +\end{alpherate} +% +\subsubsection*{Defining Your Own Environments.} +% +You can define additional environments using the command +\verb|\newstytheorem| which has five parameters. The first is the name +your environment should have (e.g.\ \verb|conjecture|). +After this follows the +font family used for this heading (please use only \verb|\bf| for bold +or \verb|\it| for italic) and the font family to use for the text of +this new environment (e.g.\ \verb|\it| or \verb|\rm|). Then the name of +an already known environment should be given in brackets (e.g.\ +\verb|[theorem]|). Your new environment will be numbered like the old +one. Finally comes the real text of the new run-in heading (e.g.\ +\verb|Conjecture|).\\ +Sample definition: +\begin{verbatim} +\newstytheorem{conjecture}{\bf}{\it}[theorem]{Conjecture} +\end{verbatim} +\newstytheorem{conjecture}{\bf}{\it}[theorem]{Conjecture} +Use of that definition: +\begin{verbatim} +\begin{conjecture} \end{conjecture} +\end{verbatim} +e.g. +\begin{verbatim} +\begin{conjecture} It is clear that ...\end{conjecture} +\end{verbatim} +Its output: +\begin{conjecture} +It is clear that \dots +\end{conjecture} +\newpage +% +\noindent +{\it Sample Input} +\label{samppage} +\begin{verbatim} +\title{Hamiltonian Mechanics} + +\author{Ivar Ekeland\inst{1} and Roger Temam\inst{2}} + +\institute{Princeton University, Princeton NJ 08544, USA +\and +Universit\'{e} de Paris-Sud, +Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ +F-91405 Orsay Cedex, France} + +\maketitle +% +\section{Fixed-Period Problems: The Sublinear Case} +% +With this chapter, the preliminaries are over, and we begin the +search for periodic solutions \dots +% +\subsection{Autonomous Systems} +% +In this section we will consider the case when the Hamiltonian +$H(x)$ \dots +% +\subsubsection*{The General Case: Nontriviality.} +% +We assume that $H$ is +$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic +at infinity, for some constant \dots +% +\paragraph{Notes and Comments.} +The first results on subharmonics were \dots +% +\begin{proposition} +Assume $H'(0)=0$ and $ H(0)=0$. Set \dots +\end{proposition} +\begin{proof}[of proposition] +Condition (8) means that, for every $\delta'>\delta$, there is +some $\varepsilon>0$ such that \dots \qed +\end{proof} +% +\begin{example}[\rm (External forcing)] +Consider the system \dots +\end{example} +\begin{corollary} +Assume $H$ is $C^{2}$ and +$\left(a_{\infty}, b_{\infty}\right)$-subquadratic +at infinity. Let \dots +\end{corollary} +\begin{lemma} +Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$ +and that $H''(x)$ is \dots +\end{lemma} +\begin{theorem}[(Ghoussoub-Preiss)] +Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots +\end{theorem} +\begin{definition} +We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$ +satisfies \dots +\end{definition} +\end{verbatim} +{\it Sample Output\/} (follows on the next page together with +examples of the above run-in headings) +% +\setcounter{theorem}{0} +\title{Hamiltonian Mechanics} + +\author{Ivar Ekeland\inst{1} and Roger Temam\inst{2}} + +\institute{Princeton University, Princeton NJ 08544, USA +\and +Universit\'{e} de Paris-Sud, +Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ +F-91405 Orsay Cedex, France} + +\maketitle +% +\section*{1 \ Fixed-Period Problems: The Sublinear Case} +% +With this chapter, the preliminaries are over, and we begin the search +for periodic solutions \dots +% +\subsection*{1.1 \ Autonomous Systems} +% +In this section we will consider the case when the Hamiltonian +$H(x)$ \dots +% +\subsubsection*{The General Case: Nontriviality.} +% +We assume that $H$ is +$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic at +infinity, for some constant \dots +% +\paragraph{Notes and Comments.} +The first results on subharmonics were \dots +% +\begin{proposition} +Assume $H'(0)=0$ and $ H(0)=0$. Set \dots +\end{proposition} +\begin{proof}[of proposition] +Condition (8) means that, for every $\delta'>\delta$, there is +some $\varepsilon>0$ such that \dots \qed +\end{proof} +% +\begin{example}[\rm (External forcing)] +Consider the system \dots +\end{example} +\begin{corollary} +Assume $H$ is $C^{2}$ and +$\left(a_{\infty}, b_{\infty}\right)$-subquadratic +at infinity. Let \dots +\end{corollary} +\begin{lemma} +Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$ +and that $H''(x)$ is \dots +\end{lemma} +\begin{theorem}[(Ghoussoub-Preiss)] +Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots +\end{theorem} +\begin{definition} +We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$ satisfies \dots +\end{definition} +\newpage +% +\markboth{Style File for Authors Coding with \LaTeX{}}{Style File +for Authors Coding with \LaTeX{}} +\section{Fine Tuning of the Text} +% +The following should be used to improve the readability of the text: +\begin{flushleft} +\begin{tabular}{@{}p{.19\textwidth}p{.79\textwidth}} +\verb|\,| & a thin space, e.g.\ between numbers or between units + and num\-bers; a line division will not be made + following this space\\ +\verb|--| & en dash; two strokes, without a space at either end\\ +\verb*| -- | & en dash; two strokes, with a space at either end\\ +\verb|-| & hyphen; one stroke, no space at either end\\ +\verb|$-$| & minus, in the text {\em only} \\[8mm] +{\em Input} & \verb|21\,$^{\circ}$C etc.,|\\ + & \verb|Dr h.\,c.\,Rockefellar-Smith \dots|\\ + & \verb|20,000\,km and Prof.\,Dr Mallory \dots|\\ + & \verb|1950--1985 \dots|\\ + & \verb|this -- written on a computer -- is now printed|\\ + & \verb|$-30$\,K \dots|\\[3mm] +{\em Output} & 21\,$^{\circ}$C etc., Dr h.\,c.\,Rockefellar-Smith \dots\\ + & 20,000\,km and Prof.\,Dr Mallory \dots\\ + & 1950--1985 \dots\\ + & this -- written on a computer -- is now printed\\ + & $-30$\,K \dots +\end{tabular} +\end{flushleft} +% +\section {Special Typefaces} +% +Normal type (roman) need not be coded. {\it Italic} +(not {\sl slanted}) or, if necessary, {\bf boldface} +should be used for emphasis in the text. +\begin{flushleft} +\begin{tabular}{@{}p{.19\textwidth}p{.79\textwidth}} +\verb|{\it Text}| & {\it Italicized Text}\\ +\verb|{\em Text}| & {\em Emphasized Text}\\ + & {\it If you would like to emphasize a {\em definition} within an + italicized text (e.g.\ of a {\em theorem)} you should code the + expression to be emphasized by} \verb|\em|.\\ +\verb|{\bf Text}| & {\bf Important Text}\\ +\verb|\vec{Symbol}| & Vectors may only appear in math mode. The default + \LaTeX{} vector symbol has been adapted to JNS conventions.\\ + & \verb|$\vec{A times B\cdot C}| yields $\vec{A\times B\cdot C}$\\ + & \verb|$\vec{A}^{T} \otimes \vec{B} \otimes \vec{\hat{D}}$|\\ + & yields $\vec{A}^{T} \otimes \vec{B} \otimes \vec{\hat{D}}$ +\end{tabular} +\end{flushleft} +\newpage +% +\section {Footnotes} +% +Footnotes within the text should be coded: +\begin{verbatim} +\footnote{Text} +\end{verbatim} +{\it Sample Input} +\begin{flushleft} +Text with a footnote\verb|\footnote{The footnote is automatically +numbered.}| and text continues \dots +\end{flushleft} +{\it Sample Output} +\begin{flushleft} +Text with a footnote\footnote{The footnote is automatically numbered.} +and text continues \dots +\end{flushleft} +% +\section {Lists} +% +Please code lists as described below:\\[2mm] +{\it Sample Input} +\begin{verbatim} +\begin{enumerate} + \item First item + \item Second item + \begin{enumerate} + \item First nested item + \item Second nested item + \end{enumerate} + \item Third item +\end{enumerate} +\end{verbatim} +{\it Sample Output} + \begin{enumerate} +\item First item +\item Second item + \begin{enumerate} + \item First nested item + \item Second nested item + \end{enumerate} +\item Third item +\end{enumerate} +\newpage +% +\section {Figures} +% +Figure legends should be inserted after (not in) +the paragraph in which the figure is first mentioned. +They will be numbered automatically. + +{\it The figures\/} (line drawings and those containing halftone inserts +as well as halftone figures) {\it should not be pasted into your +laserprinter output}. They should be enclosed separately in camera-ready +form (original artwork, glossy prints, photographs and/or slides). The +lettering should be suitable for reproduction, and after reduction the +height of capital letters should be at least +1.8\,mm and not more than 2.5\,mm. +Check that lines and other details are uniformly black and +that the lettering on figures is clearly legible. + +To leave the desired amount of space for the height of +your figures, please use the coding described below. +As can be seen in the output, we will automatically +provide 1\,cm space above and below the figure, +so that you should only leave the space equivalent to the size of the +figure itself. Please note that ``\verb|x|'' in the following +coding stands for the actual height of the figure: +\begin{verbatim} +\begin{figure} +\vspace{x cm} +\caption[ ]{...text of caption...} (Do type [ ]) +\end{figure} +\end{verbatim} +\begin{flushleft} +{\it Sample Input} +\end{flushleft} +\begin{verbatim} +\begin{figure} +\vspace{2.5cm} +\caption{This is the caption of the figure displaying a white +eagle and a white horse on a snow field} +\end{figure} +\end{verbatim} +\begin{flushleft} +{\it Sample Output} +\end{flushleft} +\begin{figure} +\vspace{2.5cm} +\caption{This is the caption of the figure displaying a white eagle and +a white horse on a snow field} +\end{figure} +% +\section{Tables} +% +Table captions should be treated +in the same way as figure legends, except that +the table captions appear {\it above} the tables. The tables +will be numbered automatically. +% +\subsection{Tables Coded with \protect\LaTeX{}} +% +Please use the following coding:\\[2mm] +{\it Sample Input} +\begin{verbatim} +\begin{table} +\caption[ ]{Observational results from NGC 4827} +\begin{flushleft} +\begin{tabular}{llllllllllllll} +\hline + & & \multicolumn{3}{l}{RA (1950)} &\ + & \multicolumn{3}{l}{Dec (1950)} + & $S$ & Pol & \% & $\log P$\\ +\cline{3-5}\cline{7-9} + & &(h) &(m) & (s) & & (\degr) + & (\arcmin) & (\arcsec) + & (mJy) & (mJy) & & (W Hz$^{-1}$)\\ +\hline +Core & (5 GHz) & 12 & 54 & 18.0 & & 27 & 26 & 56.2 + & 8 & & & 21.64 \\ +Total&(327 MHz)& & & & & & & + & 210 & & & 23.13 \\ + &(1.4 GHz)& & & & & & & + & 57 & 1.3 & 2 & 22.49 \\ + & (5 GHz) & & & & & & & + & 26 & 0.73 & 3 & 22.15 \\ +\hline +\end{tabular} +\end{flushleft} +\end{table} + +Before continuing your text you need an empty line. \dots +\end{verbatim} + +\begin{table} +\caption[ ]{Observational results from NGC 4827} +\begin{flushleft} +\renewcommand{\arraystretch}{1.2} +\begin{tabular}{llllllllllllll} +\hline + & & \multicolumn{3}{l}{RA (1950)} &\ & \multicolumn{3}{l}{Dec (1950)} + & $S$ & Pol & \% & $\log P$\\ +\cline{3-5}\cline{7-9} + & &(h) &(m) & (s) & & (\degr) & (\arcmin) & (\arcsec) + & (mJy) & (mJy) & & (W Hz$^{-1}$)\\ +\hline +Core & (5 GHz) & 12 & 54 & 18.0 & & 27 & 26 & 56.2 + & 8 & & & 21.64 \\ +Total&(327 MHz)& & & & & & & + & 210 & & & 23.13 \\ + &(1.4 GHz)& & & & & & & + & 57 & 1.3 & 2 & 22.49 \\ + & (5 GHz) & & & & & & & + & 26 & 0.73 & 3 & 22.15 \\ +\hline +\end{tabular} +\renewcommand{\arraystretch}{1} +\end{flushleft} +\end{table} + +Before continuing your text you need an empty line. \dots + +\vspace{3mm} +For further information you will find a complete description of +the tabular environment +on p.~63~ff. and p.~182 of the {\em \LaTeX{} User's Guide \& Reference +Manual\/} by Leslie Lamport. +% +\subsection{Tables Not Coded with \protect\LaTeX{}} +% +If you do not wish to code your table using \LaTeX{} +but prefer to have it reproduced separately, +proceed as for figures and use the following coding:\\[2mm] +{\it Sample Input} +\begin{verbatim} +\begin{table} +\caption{text of your caption} +\vspace{x cm} % the actual height needed for your table +\end{table} +\end{verbatim} +% +\subsection{Signs and Characters} +% +\subsubsection*{Special Signs.} +% +You may need to use special signs. The available ones are listed in the +{\em \LaTeX{} User's Guide \& Reference Manual\/} by Leslie Lamport, +pp.~44\,ff. +We have created further symbols for math mode (enclosed in \$): +\begin{center} +\begin{tabular}{l@{\hspace{1em}yields\hspace{1em}} +c@{\hspace{3em}}l@{\hspace{1em}yields\hspace{1em}}c} +\verb|\grole| & $\grole$ & \verb|\getsto| & $\getsto$\\ +\verb|\lid| & $\lid$ & \verb|\gid| & $\gid$ +\end{tabular} +\end{center} +% +\subsubsection*{Gothic (Fraktur).} +% +If gothic letters are {\it necessary}, please use those of the +relevant \AmSTeX{} alphabet which are available from the +American Mathematical Society. + +In \LaTeX{} only the following gothic letters are +available: \verb|$\Re$| yields $\Re$ and \verb|$\Im$| yields $\Im$. +These should {\it not\/} be used when you need gothic letters for your +contribution. Use \AmSTeX{} gothic as explained above. +For the real and the imaginary parts of a complex number within math mode +you should use instead: \verb|$\rm Re$| (which yields Re) or +\verb|$\rm Im$| (which yields Im). +% +\subsubsection*{Script.} +% +For script capitals use the coding +\begin{center} +\begin{tabular}{l@{\hspace{1em}which yields\hspace{1em}}c} +\verb|$\cal AB$| & $\cal AB$ +\end{tabular} +\end{center} +(see p.~43 of the \LaTeX{} book). +% +\subsubsection*{Special Roman.} +% +If you need other symbols than those below, you could use +the blackboard bold characters of \AmSTeX{}, but there might arise +capacity problems +in loading additional \AmSTeX{} fonts. Therefore we created +the blackboard bold characters listed below. +\begin{flushleft} +\begin{tabular}{@{}ll@{ yields } +c@{\hspace{1.1em}}ll@{ yields }c} +\verb|\bbbc| & (complex numbers) & $\bbbc$ + & \verb|\bbbf| & (blackboard bold F) & $\bbbf$\\ +\verb|\bbbh| & (blackboard bold H) & $\bbbh$ + & \verb|\bbbk| & (blackboard bold K) & $\bbbk$\\ +\verb|\bbbm| & (blackboard bold M) & $\bbbm$ + & \verb|\bbbn| & (natural numbers N) & $\bbbn$\\ +\verb|\bbbp| & (blackboard bold P) & $\bbbp$ + & \verb|\bbbq| & (rational numbers) & $\bbbq$\\ +\verb|\bbbr| & (real numbers) & $\bbbr$ + & \verb|\bbbs| & (blackboard bold S) & $\bbbs$\\ +\verb|\bbbt| & (blackboard bold T) & $\bbbt$ + & \verb|\bbbz| & (whole numbers) & $\bbbz$\\ +\verb|\bbbone| & (symbol one) & $\bbbone$ +\end{tabular} +\end{flushleft} +\begin{displaymath} +\begin{array}{c} +\bbbc^{\bbbc^{\bbbc}} \otimes +\bbbf_{\bbbf_{\bbbf}} \otimes +\bbbh_{\bbbh_{\bbbh}} \otimes +\bbbk_{\bbbk_{\bbbk}} \otimes +\bbbm^{\bbbm^{\bbbm}} \otimes +\bbbn_{\bbbn_{\bbbn}} \otimes +\bbbp^{\bbbp^{\bbbp}}\\[2mm] +\otimes +\bbbq_{\bbbq_{\bbbq}} \otimes +\bbbr^{\bbbr^{\bbbr}} \otimes +\bbbs^{\bbbs_{\bbbs}} \otimes +\bbbt^{\bbbt^{\bbbt}} \otimes +\bbbz \otimes +\bbbone^{\bbbone_{\bbbone}} +\end{array} +\end{displaymath} +% +\subsubsection*{Sans Serif.} +% +Using our macros you can also choose this font family; +use the command \verb|\sf| for {\sf sans serif} +(like \verb|\it| for {\it italic style}). +% +\section{References} +\label{refer} +% +There are three reference systems available; only one, of course, +should be used for your contribution. With each system (by author-year, +by number only or by letter-number) a reference list +containing all citations in the +text, should be included at the end of your contribution placing the +\LaTeX{} environment \verb|thebibliography| there. +For an overall information on that environment +see the {\em \LaTeX{} User's Guide \& Reference +Manual\/} by Leslie Lamport, p.~73. +% +\subsection{Author-Year System} +% +References are cited in the text by name and year in parentheses +and should look as follows: +(Smith 1970, 1980), (Ekeland et al. 1985, Theorem 2), (Jones and Jaffe +1986; Farrow 1988, Chap.\,2). If the name is part of the sentence +only the year may appear in parentheses, +e.g.\ Ekeland et al. (1985, Sect.\,2.1) +The reference list should contain all citations occurring in the text, +ordered alphabetically by surname (with initials following). If there +are several works by the same author(s) the references should be listed +in the appropriate order indicated below: +\begin{alpherate} +\item +One author: list works chronologically; +\item +Author and same co-author(s): list works chronologically; +\item +Author and different co-authors: list works alphabetically +according to co-authors. +\end{alpherate} +If there are several works by the same author(s) and in the same year, +but which are cited separately, they should be distinguished by +the use of ``a'', ``b'' etc., e.g.\ (Smith 1982a), (Ekeland et al. 1982b). +% +\subsubsection*{How to Code Author-Year System.} +% +If you want to use this system you have to specify in \verb|documentstyle| +the option \verb|[citeauthoryear]|, like: +\begin{verbatim} +\documentstyle[citeauthoryear]{jns} +\end{verbatim} +Write your citations in the +text explicitly except for the year, leaving that up to \LaTeX{} with the +\verb|\cite| command. Then give only the appropriate year as the optional +argument (i.e. the label in square brackets) with the \verb|\bibitem| +command(s).\\[2mm] +{\it Sample Input} +\begin{verbatim} +The results in this section are a refined version +of Clarke and Ekeland (\cite{clar:eke}); the minimality result of +Proposition~14 was the first of its kind. +\end{verbatim} +The above input produces the citation: ``\dots\ refined version of +Clarke and Ekeland (1982); the minimality\dots''. Then the +\verb|\bibitem| +entry of the \verb|thebibliography| environment should read: +\begin{verbatim} +\begin{thebibliography}{} % (do not forget {}) +. +. +\bibitem[1982]{clar:eke} +Clarke, F., Ekeland, I.: +Nonlinear oscillations and boundary-value problems for +Hamiltonian systems. +Arch. Rat. Mech. Anal. {\bf 78} (1982) 315--333 +. +. +\end{thebibliography} +\end{verbatim} +{\it Sample Output} +\bibauthoryear +% +\subsection{References by Letter-Number or by Number Only} +% +References are cited in the text -- using the \verb|\cite| +command of \LaTeX{} -- by number or by letter-number in square +brackets, e.g.\ [1] or [E1, S2], [P1], according to your use of the +\verb|\bibitem| command in the \verb|thebibliography| environment. The +coding is as follows: if you choose your own label for the sources by +giving an optional argument to the \verb|\bibitem| command the citations +in the text are marked with the label you supplied. Otherwise a simple +numbering is done. +\begin{verbatim} +The results in this section are a refined version +of \cite{clar:eke}; the minimality result of Proposition~14 +was the first of its kind. +\end{verbatim} +The above input produces the citation: ``\dots\ refined version of +[CE1]; the min\-i\-mality\dots''. Then the \verb|\bibitem| entry of +the \verb|thebibliography| environment should read: +\begin{verbatim} +\begin{thebibliography}{MT1} +. +. +\bibitem[CE1]{clar:eke} +Clarke, F., Ekeland, I.: +Nonlinear oscillations and boundary-value problems for +Hamiltonian systems. +Arch. Rat. Mech. Anal. {\bf 78} (1982) 315--333 +. +. +\end{thebibliography} +\end{verbatim} +The complete bibliography looks like this: +% +\begin{thebibliography}{MT1} +% +\bibitem[CE1]{clar:eke} +Clarke, F., Ekeland, I.: +Nonlinear oscillations and +boundary-value problems for Hamiltonian systems. +Arch. Rat. Mech. Anal. {\bf 78} (1982) 315--333 +% +\bibitem[CE2]{clar:eke:2} +Clarke, F., Ekeland, I.: +Solutions p\'{e}riodiques, du +p\'{e}riode donn\'{e}e, des \'{e}quations hamiltoniennes. +Note CRAS Paris {\bf 287} (1978) 1013--1015 +% +\bibitem[MT1]{mich:tar} +Michalek, R., Tarantello, G.: +Subharmonic solutions with prescribed minimal +period for nonautonomous Hamiltonian systems. +J. Diff. Eq. {\bf 72} (1988) 28--55 +% +\bibitem[Ta1]{tar} +Tarantello, G.: +Subharmonic solutions for Hamiltonian +systems via a $\bbbz_{p}$ pseudoindex theory. +Annali di Matematica Pura (to appear) +% +\bibitem[Ra1]{rab} +Rabinowitz, P.: +On subharmonic solutions of a Hamiltonian system. +Comm. Pure Appl. Math. {\bf 33} (1980) 609--633 +\end{thebibliography} +% +\subsubsection*{Number-Only System.} +% +For this system do not use the optional argument +in the \verb|\bibitem| command: then, only numbers will +appear for the citations in the text (enclosed in square brackets) +as well as for the marks in your +bibliography (here the number is only end-punctuated without +square brackets). +\begin{verbatim} +\begin{thebibliography}{1} +\bibitem[CE1]{clar:eke} +Clarke, F., Ekeland, I.: +Nonlinear oscillations and boundary-value problems for +Hamiltonian systems. +Arch. Rat. Mech. Anal. {\bf 78} (1982) 315--333 +\end{thebibliography} +\end{verbatim} +% +\end{document} diff --git a/obsolete/macros/latex209/contrib/springer/jnsl/jnsldoc.sty b/obsolete/macros/latex209/contrib/springer/jnsl/jnsldoc.sty new file mode 100644 index 0000000000..41f2ab345e --- /dev/null +++ b/obsolete/macros/latex209/contrib/springer/jnsl/jnsldoc.sty @@ -0,0 +1,39 @@ +% This is JNSLDOC.STY the modification of the +% JNS style file for the documentation of +% the LaTeX macro package from Springer-Verlag +% for the Journal of Nonlinear Science +% version of 16 July 1990 +\def\LaTex{{\xxvpt +\def\psc{\@getfont\psc\scfam\@xxvpt{\@mcsc\@magscale5}}\LaTeX}} +\def\textfontii{\the\textfont\tw@} +\def\AmSTeX{{\textfontii A}\kern-.1667em\lower.5ex\hbox + {\textfontii M}\kern-.125em{\textfontii S}-\TeX} +% +\def\degr{\hbox{$^\circ$}} +\def\arcmin{\hbox{$^\prime$}} +\def\arcsec{\hbox{$^{\prime\prime}$}} +% +\renewcommand{\labelitemi}{--} +\newenvironment{alpherate}% +{\renewcommand{\labelenumi}{\alph{enumi})}\begin{enumerate}}% +{\end{enumerate}\renewcommand{\labelenumi}{enumi}} +% +\def\bibauthoryear{\begingroup +\def\thebibliography##1{\section*{References}% + \small\list{}{\settowidth\labelwidth{}\leftmargin\parindent + \itemindent=-\parindent + \labelsep=\z@ + \usecounter{enumi}}% + \def\newblock{\hskip .11em plus .33em minus -.07em}% + \sloppy + \sfcode`\.=1000\relax}% + \def\@cite##1{##1}% + \def\@lbibitem[##1]##2{\item[]\if@filesw + {\def\protect####1{\string ####1\space}\immediate + \write\@auxout{\string\bibcite{##2}{##1}}}\fi\ignorespaces}% +\begin{thebibliography}{} +\bibitem[1982]{clar:eke} Clarke, F., Ekeland, I.: Nonlinear +oscillations and boundary-value problems for Hamiltonian systems. +Arch. Rat. Mech. Anal. {\bf 78} (1982) 315--333 +\end{thebibliography} +\endgroup} diff --git a/obsolete/macros/latex209/contrib/springer/laa/laa.dem b/obsolete/macros/latex209/contrib/springer/laa/laa.dem new file mode 100644 index 0000000000..672c5ae1c9 --- /dev/null +++ b/obsolete/macros/latex209/contrib/springer/laa/laa.dem @@ -0,0 +1,467 @@ +% laa.dem version 1.1 as of 25-Feb-91 +% +% This is LAA.DEM, the demonstration file of the +% LaTeX style file from Springer-Verlag for the +% Astronomy and Astrophysics Main Journal +% +% It is for use with LaTeX version 2.09 +% +% Please report all errors via e-mail to SPRINGER@DHDSPRI6.bitnet +% or to the address mentioned on page 2 of the documentation +% +%\documentstyle{laamt} % LaTeX A&A Monotype Times Fonts +\documentstyle{laa} % LaTeX A&A Standard Fonts + +%_____________________________________ `Thermodynamical' derivatives. +% +\newcommand{\DXDYCZ}[3]{\left( \frac{ \partial #1 }{ \partial #2 } + \right)_{#3} + } + +\begin{document} + + \thesaurus{06 % A&A Section 6: Form. struct. and evolut. of stars + (03.11.1; % Cosmogony, + 16.06.1; % Planets and satellites: general, + 19.06.1; % Solar system: general, + 19.37.1; % Stars: formation of, + 19.53.1; % Stars: oscillations of, + 19.63.1) % Stars: structure of. + } +% + \title{Hydrodynamics of giant planet formation} + + \subtitle{I. Overviewing the $\kappa$-mechanism} + + \author{G. Wuchterl +% \inst{1} + } + +% \offprints{G. Wuchterl} + + \institute{Institut f\"ur Theoretische + Astrophysik der Universit\"at Heidelberg, Im Neuenheimer + Feld 561,\\ + W--6900 Heidelberg, Federal Republic of Germany\\ + EARN: WCAH at DS0RUS1I + } + + \date{Received September 15, 1989; accepted March 16, 1990} + + \maketitle + + \begin{abstract} +%______________________________________ Do not leave a blank line here! +% +% 14.Sep.'90: Demo-Vs. +%_____________________________________ Do not leave a blank line here! + To investigate the physical nature of the `nucleated instability' + of proto giant planets (Mizuno 1980), the stability of layers + in static, + radiative gas spheres is analysed on the basis of Baker's + 1966 standard one-zone model. It is shown that stability + depends only upon the equations of state, the opacities + and the local thermodynamic state in the layer. Stability + and instability can therefore be expressed in the form + of stability equations of state which are universal for a + given composition. + + The stability equations of state are + calculated for solar composition and are displayed in the domain + $-14 \leq \lg \rho / {\rm [g\, cm^{-3}]} \leq 0 $, + $ 8.8 \leq \lg e / {\rm [erg\, g^{-1}]} \leq 17.7$. These displays + may be + used to determine the one-zone stability of layers in stellar + or planetary structure models by directly reading off the value of + the stability equations for the thermodynamic state of these layers, + specified + by state quantities as density $\rho$, temperature $T$ or + specific internal energy $e$. + Regions of instability in the $(\rho,e)$-plane are described + and related to the underlying microphysical processes. + Vibrational instability is found to be a common phenomenon + at temperatures lower than the second He ionisation + zone. The $\kappa$-mechanism is widespread under `cool' + conditions. + + \keywords{giant planet formation -- + $\kappa$-mechanism -- + stability of gas spheres + } + \end{abstract} + +% +% 14.Sep.'90: Demo-Vs. +%________________________________________________________________ + +\section{Introduction} + + In the {\em nucleated instability\/} (also called core + instability) hypothesis of giant planet + formation, a critical mass for static core envelope + protoplanets has been found. Mizuno (1980) determined + the critical mass of the core to be about $12 \,M_\oplus$ + ($M_\oplus=5.975 \, 10^{27}\rm \,g$ is the Earth mass), which + is independent of the outer boundary + conditions and therefore independent of the location in the + solar nebula. This critical value for the core mass corresponds + closely to the cores of today's giant planets. + + Although no hydrodynamical study was available many workers + conjectured that a collapse or rapid contraction will ensue + after accumulating the critical mass. The main motivation for + this article + is to investigate the stability of the static envelope at the + critical mass. With this aim the local, linear stability of static + radiative gas spheres is investigated on the basis of Baker's + (1966) standard one-zone model. The nonlinear, hydrodynamic + evolution of the protogiant planet + beyond the critical mass, as calculated by Wuchterl + (1989), will be described in a forthcoming article. + + The fact that Wuchterl (1989) found the excitation of + hydrodynamical waves in his models raises considerable interest + on the transition from static to dynamic evolutionary phases + of the protogiant planet at the critical mass. + The waves + play a crucial role in the development of the so-called + nucleated instability in the nucleated instability hypothesis. + They lead to the formation of + shock waves and massive outflow phenomena. + The protoplanet evolves into a new quasi-equilibrium structure + with a {\em pulsating} envelope, after the mass loss phase + has declined. + + Phenomena similar to the ones described above for giant planet + formation have been found in hydrodynamical models concerning + star formation where protostellar cores explode + (Tscharnuter 1987, Balluch 1988), + whereas earlier studies found quasi-steady collapse flows. The + similarities in the + (micro)physics, i.e., constitutive relations of protostellar cores and + protogiant planets serve as a further motivation for this study. + +% +% 14.Sep.'90: Demo-Vs. +%__________________________________________________________________ + +\section{Baker's standard one-zone model} + +% Two column figure (place early!) +%______________________________________________ Gamma_1 (lg rho, lg e) + \begin{figure*} + \picplace{4cm} + \caption{Adiabatic exponent $\Gamma_1$. + $\Gamma_1$ is plotted as a function of + $\lg$ internal energy $\rm [erg\,g^{-1}]$ and $\lg$ density + $\rm [g\,cm^{-3}]$ + } + \label{FigGam} + \end{figure*} +% + In this section the one-zone model of Baker (1966), originally + used to study the Cephe{\"{\i}}d pulsation mechanism, will + be briefly reviewed. The resulting stability criteria will + be rewritten in terms of local state variables, local timescales + and constitutive relations. + + Baker (1966) investigates the stability of thin layers in + self-gravitating, + spherical gas clouds with the following properties: + \begin{itemize} + \item hydrostatic equilibrium, + \item thermal equilibrium, + \item energy transport by grey radiation diffusion. + \end{itemize} + For the one-zone-model Baker obtains necessary conditions + for dynamical, secular and vibrational (or pulsational) + stability [Eqs.\ (34a,\,b,\,c) in Baker 1966]. Using Baker's + notation: + \[ + \begin{array}{lp{0.8\linewidth}} + M_{\rm r} & mass internal to the radius $r$ \\ + m & mass of the zone \\ + r_0 & unperturbed zone radius \\ + \rho_0 & unperturbed density in the zone \\ + T_0 & unperturbed temperature in the zone \\ + L_{r0} & unperturbed luminosity \\ + E_{\rm th} & thermal energy of the zone + \end{array} + \] +\noindent + and with the definitions of the {\em local cooling time\/} + (see Fig.~\ref{FigGam}) + \begin{equation} + \tau_{\rm co} = \frac{E_{\rm th}}{L_{r0}} \,, + \end{equation} + and the {\em local free-fall time\/} + \begin{equation} + \tau_{\rm ff} = + \sqrt{ \frac{3 \pi}{32 G} \frac{4\pi r_0^3}{3 M_{\rm r}} }\,, + \end{equation} + Baker's $K$ and $\sigma_0$ have the following form: + \begin{eqnarray} + \sigma_0 & = & \frac{\pi}{\sqrt{8}} + \frac{1}{ \tau_{\rm ff} } \\ + K & = & \frac{\sqrt{32}}{\pi} \frac{1}{\delta} + \frac{ \tau_{\rm ff} } + { \tau_{\rm co} }\,; + \end{eqnarray} + where $ E_{\rm th} \approx m (P_0/{\rho_0})$ has been used and + \begin{equation} + \delta = - \left( + \frac{ \partial \ln \rho }{ \partial \ln T } + \right)_P + \end{equation} + is a thermodynamical quantity which is + %of order $1$ and + equal to $1$ for nonreacting mixtures of classical perfect + gases. + The physical meaning of $ \sigma_0 $ and $K$ is clearly visible in + the equations above. $\sigma_0$ represents a frequency of the order one + per free-fall time. $K$ is + proportional to the ratio of the free-fall time and the cooling time. + Substituting into Baker's criteria, using thermodynamic identities + and definitions of thermodynamic quantities, + \begin{equation} + \Gamma_1 = \DXDYCZ{\ln P}{\ln \rho}{S} \; , \; + \chi^{}_\rho = \DXDYCZ{\ln P}{\ln \rho}{T} \; , \; + \kappa^{}_{P} = \DXDYCZ{\ln \kappa}{\ln P}{T} \, , + \end{equation} + \begin{equation} + \nabla_{\rm ad} = \DXDYCZ{\ln T}{\ln P}{S} \; , \; + \chi^{}_T = \DXDYCZ{\ln P}{\ln T}{\rho} \; , \; + \kappa^{}_{T} = \DXDYCZ{\ln \kappa}{\ln T}{T} \, , + \end{equation} + one obtains, after some pages of algebra, the conditions for + {\em stability} given + below: + \begin{eqnarray} + \frac{\pi^2}{8} \frac{1}{\tau_{\rm ff}^2} + ( 3 \Gamma_1 - 4 ) + & > & 0 \label{ZSDynSta} \\ + \frac{\pi^2}{\tau_{\rm co} + \tau_{\rm ff}^2} + \Gamma_1 \nabla_{\rm ad} + \left[ \frac{ 1- 3/4 \chi^{}_\rho }{ \chi^{}_T } + ( \kappa^{}_T - 4 ) + + \kappa^{}_P + 1 + \right] + & > & 0 \label{ZSSecSta} \\ + \frac{\pi^2}{4} \frac{3}{\tau_{ \rm co } + \tau_{ \rm ff }^2 + } + \Gamma_1^2 \, \nabla_{\rm ad} \left[ + 4 \nabla_{\rm ad} + - ( \nabla_{\rm ad} \kappa^{}_T + + \kappa^{}_P + ) + - \frac{4}{3 \Gamma_1} + \right] + & > & 0 \label{ZSVibSta} + \end{eqnarray} +% + For a physical discussion of the stability criteria see Baker (1966) + or Cox (1980). + + We observe that these criteria for dynamical, secular and + vibrational stability, respectively, can be factorized into + \begin{enumerate} + \item a factor containing local timescales only, + \item a factor containing only constitutive relations and + their derivatives. + \end{enumerate} + The first factors, depending on only timescales, are positive + by definition. The signs of the left hand sides of the + inequalities~(\ref{ZSDynSta}), (\ref{ZSSecSta}) and (\ref{ZSVibSta}) + therefore depend exclusively on the second factors containing + the constitutive relations. Since they depend only + on state variables, the stability criteria themselves are {\em + functions of the thermodynamic state in the local zone}. The + one-zone stability can therefore be determined + from a simple equation of state, given for example, as a function + of density and + temperature. Once the microphysics, i.e.\ the thermodynamics + and opacities (see Table~\ref{KapSou}), are specified (in practice +% + by specifying a chemical composition) the one-zone stability can + be inferred if the thermodynamic state is specified. + The zone -- or in + other words the layer -- will be stable or unstable in + whatever object it is imbedded as long as it satisfies the + one-zone-model assumptions. Only the specific growth rates + (depending upon the time scales) will be different for layers + in different objects. + +%__________________________________________________ One column table + \begin{table} + \caption{Opacity sources} + \label{KapSou} + \[ + \begin{array}{p{0.5\linewidth}l} + \hline + \noalign{\smallskip} + Source & T / {[\rm K]} \\ + \noalign{\smallskip} + \hline + \noalign{\smallskip} + Yorke 1979, Yorke 1980a & \leq 1700 \\ + Kr\"ugel 1971 & 1700 \leq T \leq 5000 \\ + Cox \& Stewart 1969 & 5000 \leq \\ + \noalign{\smallskip} + \hline + \end{array} + \] + \end{table} +% +% +%___________________________________ Two column table (place early!) + \begin{table*} + \caption{Regions of secular instability} + \label{TabSecInst} + \picplace{4cm} + \end{table*} + We will now write down the sign (and therefore stability) + determining parts of the left-hand sides of the inequalities + (\ref{ZSDynSta}), (\ref{ZSSecSta}) and (\ref{ZSVibSta}) and thereby + obtain {\em stability equations of state}. + + The sign determining part of inequality~(\ref{ZSDynSta}) is + $3\Gamma_1 - 4$ and it reduces to the + criterion for dynamical stability + \begin{equation} + \Gamma_1 > \frac{4}{3}\,. + \end{equation} + Stability of the thermodynamical equilibrium demands + \begin{equation} + \chi^{}_\rho > 0, \;\; c_v > 0\, , + \end{equation} + and + \begin{equation} + \chi^{}_T > 0 + \end{equation} + holds for a wide range of physical situations. + With + \begin{eqnarray} + \Gamma_3 - 1 = \frac{P}{\rho T} \frac{\chi^{}_T}{c_v}&>&0\\ + \Gamma_1 = \chi_\rho^{} + \chi_T^{} (\Gamma_3 -1)&>&0\\ + \nabla_{\rm ad} = \frac{\Gamma_3 - 1}{\Gamma_1} &>&0 + \end{eqnarray} + we find the sign determining terms in inequalities~(\ref{ZSSecSta}) + and (\ref{ZSVibSta}) respectively and obtain the following form + of the criteria for dynamical, secular and vibrational + {\em stability}, respectively: + \begin{eqnarray} + 3 \Gamma_1 - 4 =: S_{\rm dyn} > & 0 & \label{DynSta} \\ +% + \frac{ 1- 3/4 \chi^{}_\rho }{ \chi^{}_T } ( \kappa^{}_T - 4 ) + + \kappa^{}_P + 1 =: S_{\rm sec} > & 0 & \label{SecSta} \\ +% + 4 \nabla_{\rm ad} - ( \nabla_{\rm ad} \kappa^{}_T + \kappa^{}_P ) + - \frac{4}{3 \Gamma_1} =: S_{\rm vib} + > & 0\,.& \label{VibSta} + \end{eqnarray} + The constitutive relations are to be evaluated for the + unperturbed thermodynamic state (say $(\rho_0, T_0)$) of the zone. + We see that the one-zone stability of the layer depends only on + the constitutive relations $\Gamma_1$, + $\nabla_{\rm ad}$, $\chi_T^{},\,\chi_\rho^{}$, + $\kappa_P^{},\,\kappa_T^{}$. + These depend only on the unperturbed + thermodynamical state of the layer. Therefore the above relations + define the one-zone-stability equations of state + $S_{\rm dyn},\,S_{\rm sec}$ + and $S_{\rm vib}$. See Fig.~\ref{FigVibStab} for a picture of + $S_{\rm vib}$. Regions of secular instability are + listed in Table~\ref{TabSecInst}. + +% +% One column figure +%----------------------------------------------------------- S_vib + \begin{figure}[htbp] + \picplace{5cm} + \caption{Vibrational stability equation of state + $S_{\rm vib}(\lg e, \lg \rho)$. + $>0$ means vibrational stability + } + \label{FigVibStab} + \end{figure} +% +% +% 14.Sep.'90: Demo Vs. +%______________________________________________________________ + +\section{Conclusions} + + \begin{enumerate} + \item The conditions for the stability of static, radiative + layers in gas spheres, as described by Baker's (1966) standard + one-zone model, can be expressed as stability equations + of state. These stability equations of state depend only on + the local thermodynamic state of the layer. + \item If the constitutive relations -- equations of state and + Rosseland mean opacities -- are specified, the stability + equations of state can be evaluated without specifying + properties of the layer. + \item For solar composition gas the $\kappa$-mechanism is + working in the regions of the ice and dust features + in the opacities, the $\rm H_2$ dissociation and the + combined H, first He ionization zone, as + indicated by vibrational instability. These regions + of instability are much larger in extent and degree of + instability than the second He ionization zone + that drives the Cephe{\"\i}d pulsations. + \end{enumerate} + + \acknowledgements +%________________________________________ Do not leave a blank line here! + Part of this work was supported by the German + {\em Deut\-sche For\-schungs\-ge\-mein\-schaft, DFG\/} project + number Ts~17/2--1. + +% +% 14.Sep.'90: Demo-Vs. +%_____________________________________________________________________ + +\begin{thebibliography}{} + + \bibitem{} Baker N., 1966, + in: Stellar Evolution, + eds.\ R. F. Stein, A. G. W. Cameron, + Plenum, New York, p.\ 333 + + \bibitem{} Balluch M., 1988, + A\&A 200, 58 + + \bibitem{} Cox J. P., 1980, + Theory of Stellar Pulsation, + Princeton University Press, Princeton, p.\ 165 + + \bibitem{} Cox A. N., Stewart J. N., 1969, + Academia Nauk, Scientific Information 15, 1 + + \bibitem{} Kr\"ugel E., 1971, + Der Rosselandsche Mittelwert bei tiefen Temperaturen, + Diplom--Thesis, Univ.\ G\"ottingen + + \bibitem{} Mizuno H., 1980, + Prog. Theor. Phys. 64, 544 + + \bibitem{} Tscharnuter W. M., 1987, + A\&A 188, 55 + + \bibitem{} Wuchterl G., 1989, + Zur Entstehung der Gasplaneten.\ Ku\-gel\-sym\-me\-tri\-sche + Gas\-str\"o\-mun\-gen auf Pro\-to\-pla\-ne\-ten, + Dissertation, Univ.\ Wien + + \bibitem{} Yorke H. W., 1979, + A\&A 80, 215 + + \bibitem{} Yorke H. W., 1980a, + A\&A 86, 286 + +\end{thebibliography} + +\end{document} + \ No newline at end of file diff --git a/obsolete/macros/latex209/contrib/springer/laa/laa.doc b/obsolete/macros/latex209/contrib/springer/laa/laa.doc new file mode 100644 index 0000000000..97fe2458d9 --- /dev/null +++ b/obsolete/macros/latex209/contrib/springer/laa/laa.doc @@ -0,0 +1,1458 @@ +% laa.doc version 1.1 as of 25-Feb-91 +% +% This is LAA.DOC, the documentation of the +% LaTeX style file from Springer-Verlag for the +% Astronomy and Astrophysics Main Journal +% +% It is for use with LaTeX version 2.09 +% +% Please report all errors via e-mail to SPRINGER@DHDSPRI6.bitnet +% or to the address mentioned on page 2 of the documentation +% +\documentstyle{laa} +\def\LaTex{{\xviipt{\rm L\kern-.36em\raise.3ex\hbox{\xviipt\sc a}\kern-.15em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}} +\def\textfontii{\the\textfont\tw@} +\def\AmSTeX{{\textfontii A}\kern-.1667em\lower.5ex\hbox + {\textfontii M}\kern-.125em{\textfontii S}-\TeX} +% +\renewcommand{\labelitemi}{--} +\newenvironment{alpherate}% +{\renewcommand{\labelenumi}{(\alph{enumi})}\begin{enumerate}}% +{\renewcommand{\labelenumi}{enumi}\end{enumerate}} +% +\setlength{\textwidth}{14.5truecm} +\addtolength{\fboxsep}{2pt} +\setlength{\fboxrule}{0.4pt} +\newcommand{\BibTeX}{{\sc Bib}\TeX} +\newcommand{\laa}{\LaTeX{} A\&A style} +\newcommand{\Msun}{M_{\odot}} +\newcommand{\listing}[1]{\begin{verbatim}\input#1} +% +% demonstration article for A&A +% units etc. +\newcommand{\cm}{\ {\rm cm}} +\newcommand{\mG}{\ {\rm mG}} +\newcommand{\dyn}{\ {\rm dyn}} +\newcommand{\erg}{\ {\rm erg}} +\newcommand{\kpc}{\ {\rm kpc}} +\newcommand{\yr}{\ {\rm yr}} +\newcommand{\secnd}{\ {\rm s}} +\newcommand{\Msol}{M_{\odot}} +% +% references +% +\newcommand{\araa}{ARA\&A} % Annual Review of Astronomy and Astrophys. +\newcommand{\afz}{Afz} % Astrofizica +\newcommand{\aj}{AJ} % Astronomical Journal +\newcommand{\azh}{AZh} % Astronomicekij Zhurnal +\newcommand{\aaa}{A\&A} % Astronomy and Astrophysics +\newcommand{\aas}{A\&AS} % Astronomy and Astrophys. Supplement Series +\newcommand{\aar}{A\&AR} % Astronomy and Astrophysics Review +\newcommand{\apj}{ApJ} % Astronphysical Journal +\newcommand{\apss}{Ap\&SS} % Astronphysics and Space Science +\newcommand{\baas}{BAAS} % Bulletin of the American Astron. Society +\newcommand{\jaa}{JA\&A} % Journal of Astronomy and Astrophysics +\newcommand{\mnras}{MNRAS} % Monthly Notices of the Roy. Astron. Society +\newcommand{\nat}{Nat} % Nature +\newcommand{\pasj}{PASJ} % Publ. of the Astron. Society of Japan +\newcommand{\pasp}{PASP} % Publ. of the Astron. Society of the Pacific +\newcommand{\paspc}{PASPC} % Publ. Astron. Soc. Pacific Conf. Proc. +\newcommand{\qjras}{QJRAS} % Quart. Journal of the Royal Astron. Society +\newcommand{\Sci}{Sci} % Science +\newcommand{\sova}{SvA} % Soviet Astronomy +\newcommand{\rasav}{Ric.~astr.~Specola astr.~Vatic.} +% Richerche Astronomicha. Specola astronomica Vaticana +\newcommand{\sca}{Scient.~Am.} % Scientific American +\newcommand{\stel}{Sky Telesc.} % Sky and Telescope +\newcommand{\spsrev}{Space Sci.~Rev.} % Space Science Reviews +\newcommand{\phfl}{Phys. Fluids} +\newcommand{\phrev}{Phys. Rev.} +\newcommand{\rprph}{Rep. Prog. Phys.} +\newcommand{\rmph}{Rev. Mod. Phys.} +\newcommand{\jplph}{J. Plasma Phys.} +\newcommand{\jmph}{J. Math. Phys.} +\newcommand{\jgeores}{J. Geophys. Res.} +% +\newfont{\mytitlebigfont}{cmr10 scaled \magstep5} +\newfont{\mytitlefont}{cmr10 scaled \magstep3} +% +\begin{document} +\onecolumn +\begin{titlepage} +\thispagestyle{empty} +\renewcommand{\baselinestretch}{4}\small\normalsize +\vspace*{.5cm} +\begin{center} +\mytitlebigfont +ASTRONOMY\\ +AND\\ +ASTROPHYSICS +\end{center} +\vspace{2cm} +\begin{center} +\mytitlefont +A European Journal\\[3cm] +Springer Verlag\\ +\LaTex{} A\&A style file\\ +1990 +\end{center} +\renewcommand{\baselinestretch}{1}\small\normalsize +\end{titlepage} +% +\addtocounter{page}{1} +\section*{For further information please contact us at Springer-Verlag, +Heidelberg:} +\label{assist} +% +\begin{flushleft} +\begin{tabular}{@{}l@{\hspace{.5cm}}p{.5\textwidth}} +Mailing address: & Springer-Verlag\\ + & New Technologies/Product Developement\\ + & P.O.~Box 105280\\ + & D-6900 Heidelberg 1, FRG\\[2mm] +Datex-P dial: & FRG 456 221 4305\\ + & If you do not yet have an account, press RETURN when + asked for your name; then simply leave a message.\\ + & The file name should be your name and country + or state, e.g. smith-texas\\[2mm] +bitnet/EARN: & SPRINGER @ DHDSPRI6 \\[2mm] +Telex: & 46\,17\,23 \\[2mm] +Telefax: & (0) 62\,21 43\,982 +\end{tabular} +\end{flushleft} +\rule{\textwidth}{1pt} +% +\section*{Mailing address for your disk/magnetic tape and output:} +% +\begin{flushleft} +\begin{tabular*}{\textwidth}% +{@{}l@{\extracolsep{\fill}}ll@{\extracolsep{0pt}}} +J.~Lequeux (Editor in Chief) & M.~Grewing (Editor in Chief) & + S.~R.~Pottasch (Letters Editor)\\ +Astronomy and Astrophysics & Astronomy and Astrophysics & Kapteyn + Astronomical Institute\\ +Editorial Office & Editorial Office & P.O.~Box 800\\ +Observatoire de Meudon & c/o Astronomisches Institut & + NL--9700 AV Groningen\\ +F--92\,195 Meudon Principal Cedex & Waldh\"auserstra\ss{}e 64 & The + Netherlands\\ +France & D--7400 T\"ubingen & Tel. (31-50) 63\,40\,93\\ +Tel. (33-1) 45-07-06-30 & Fed.~Rep.~of Germany & Telex (44) 53\,572 + stars nl\\ +Telex (42) 27\,09\,12 obsastr & Tel. (49-70\,71) 29\,49\,82 & Telefax + (31-50) 63\,40\,33\\ +Telefax (33-1) 46\,26\,62\,93 & Telefax (49-0\,70\,71) 29\,34\,58\\ + & Telex (41) 7\,262\,714 ait d \\ +E-Mail: & E-Mail\\ +EARN AANDA @ FRMEU 51 & Datex-P 02\,62-45\,707\,130\,039\\ +SPAN MESIOA::AANDA & SPAN AITMVX::AAPTUE +\end{tabular*} +\end{flushleft} +The following formats are acceptable: 5.25$^{\prime\prime}$ diskette +MS-DOS, 5.25$^{\prime\prime}$ CP/M, 3.5$^{\prime\prime}$ diskette +MS-DOS, 3.5$^{\prime\prime}$ diskette Apple MacIntosh, 9-track 1600 +bpi magnetic tape VAX/VMS, 9-track 1600 bpi magnetic tape ANSI with +label, 9-track 1600 bpi magnetic tape SUN-Streamer Tape. + +Once you have completed your work using this style file, +please submit your own printout of the +{\em final version together with the disk +or magnetic tape\/} containing your +\LaTeX{} input (source) file and the final DVI-file and {\em make sure +that the text in each is identical.} + +Articles coded with \LaTeX{} but not with the \laa{} file, +and those not using Monotype Times fonts (MT fonts), cannot be +accepted for electronic processing; they will be typeset in the +conventional way. +% +\newpage +\tableofcontents +\newpage +% +\section{Introduction} +% +Authors wishing to code their article for +\begin{center} +{\em Astronomy and Astrophysics} +\end{center} +with \LaTeX{}, as well as +those who have already coded it with \LaTeX{}, +will be provided with a style file that will give the text the +desired layout. Authors are requested +to adhere strictly to these instructions; {\em the \laa{} file +must not be changed}. + +For the main body of the paper (the text) +you should use the commands of standard \LaTeX{}. +Even if you are familiar with these commands, we urge you to read +this entire document thoroughly. It contains many suggestions on +how to use our commands properly; thus with little work your paper +will be formatted exactly to the A\&A standard. + +If you are already familiar with \LaTeX{}, then the +\laa{} file should not give you any major difficulties. +This style file will change the layout to the required A\&A style +(for instance it will define the layout of \verb|\section|). +We have also invented some extra commands, +which are not provided by \LaTeX{} (e.g. +\verb|\institute|, see Sect.~\ref{contbegin}). + +The majority of these hints are not specific for A\&A; they may improve +your use of \LaTeX{} in general. +Furthermore, the documentation provides suggestions for the proper +editing and use +of the input files (capitalization, abbreviation, etc. -- see +Sect.~\ref{refedit}). + +Depending on your \LaTeX{} installation, especially the file +\verb|LFONTS.TEX|, you can get the +\LaTeX{} warning: \verb|No \boldmath typeface +in this size, using \unboldmath.| This can be ignored because in +the final version with the original MT fonts it will be correct. + +Articles using \LaTeX{} but not coded and formatted with the \laa{} file +or {\em without} using MT fonts will have to be processed in the conventional +way. +% +\subsection{Preparing the final version for submission} +% +Before submitting the {\em final} version of an article to the editorial +office, authors must run \LaTeX{} with the MTLPLAIN format file. +(Run it twice if you have citations or references.) +In this way the original Monotype Times fonts (MT fonts) +can be simulated, i.e. the length of lines, paragraphs, width of +characters, and word divisions are absolutely identical with the printed +version. Thus, proofreading becomes unnecessary and, at the same time, +publication times are shortened. The installation of the MT fonts is +described on page \pageref{mtinstr}. + +We do not advise using M\LaTeX{} (see Sect.~\ref{mlatex}) +from the start. Please note +that the fonts will be only a simulation of the Monotype +Times fonts. +They may not appear well proportioned on your own printout +if you use, for example, HP Laserjet, Apple Laserwriter +(in general Postscript capable printers), +this will be automatically corrected in the final version +produced by the printers. +The Previewer from Arbortext will work with the simulated +fonts; however, other preview programs may not work. +\begin{flushleft} +\addtolength{\textwidth}{-11pt} +\fbox{\parbox{\textwidth}{Once you have +completed your work using this style file, +please submit your own printout of the final version +{\em together with the disk or magnetic tape} containing your +\LaTeX{} input (source) file and the final DVI-file and {\em make sure +that the text in each is identical.}}} +\addtolength{\textwidth}{11pt} +\end{flushleft} +% +\section{How to begin} +% +Please insert the enclosed diskette or tape into your computer. You will +find the following files: +\begin{flushleft} +\begin{tabular}{l@{\hspace{5mm}}l@{\hspace{5mm}}l} +Directory &Files&Contents \\ +\verb|\latex|&{\em laa.doc} + & General instructions (this document).\\ +\verb|\latex|&{\em laa.dem} & Run this to get a sample output.\\ +\verb|\latex|&{\em laa.sty} + & {\rm \laa{}} file for use with normal CM-Fonts.\\ +\verb|\latex|&{\em laamt.sty} + & {\rm \laa{}} file for use with MT-Fonts.\\[1.5mm] +\verb|\|&{\em aa.the} +& List of thesaurus codes (print it using the plain package +\verb|\plain\aa.cmm|). +\end{tabular} +\end{flushleft} +You need to run your file with the command: +\verb|latex filename| or \verb|mlatex filename|. +If you have citations or references run it +once more with the same command. + +In order to facilitate the refereeing process (and to yield fine +preprints!), please generate a ``referee version'' (single column, +double-line spacing), before using the MT fonts +by giving the following document-style option in +the line \verb|\documentstyle{laa}| (or see in laatext.dem): +\begin{verbatim} +\documentstyle[referee]{laa} +\end{verbatim} +After acceptance of your paper, delete this option in order to generate +the final version. +% +\subsection{How to invoke the \protect\laa{} file} +% +The \laa{} file is an adaptation of the \LaTeX{} ``article'' style. +Therefore you may use all ``article'' style commands to prepare your +manuscript. \laa{} file is invoked by requesting ``laa'' in the +\verb|documentstyle|-command: +\begin{verbatim} +\documentstyle{laa} + \begin{document} + + \end{document} +\end{verbatim} +Do not use any other document-style options except for \verb|referee|! +% +\subsection{Articles already coded with \LaTeX{} without +the \protect\laa{} file} +% +If your file is already coded with \LaTeX{} +you can easily adapt it a posteriori to \laa{}. +Articles using \LaTeX{} but not coded and formatted with the +\laa{} file cannot be accepted at the present +time; they will have to be processed in the conventional way. + +Please refrain from using any \LaTeX{} or \TeX{} commands +that affect the layout or formatting of your document (i.e. commands +like \verb|\textheight|, \verb|\vspace|, \verb|\hoffset|, etc.). +There may nevertheless be exceptional occasions +when some of them may be used. + +The \laa{} file has been carefully designed to produce the right layout +from your \LaTeX{} input. If there is anything specific you would like +to do and for which the style file does not provide a command, +{\em please contact us.\/} + +If you have your own macros or definitions, insert them as shown here: +\begin{verbatim} +\documentstyle{laa} + + \begin{document} + + \end{document} +\end{verbatim} +% +\section{General rules for coding formulas} +% +With mathematical formulas, you may proceed as described +in Sect.~3.3 of the {\em \LaTeX{} User's Guide \& Reference +Manual\/} by Leslie Lamport (1986), Addison-Wesley Publishing +Company, Reading, Mass. + +A formula that appears in the running text is produced by enclosing +it in \verb|$| signs, e.g. \verb|$ x^{2} $| +produces $x^{2}$.\label{math} + +Displayed formulas are produced by the +equation environment; here +equations are automatically numbered sequentially throughout +your article using arabic +numerals in parentheses on the right-hand side. + +If you have to break equations, please use the eqnarray environment +described in Sect.~3.3.5 on p.~49 of the \LaTeX{} book. + +If you wish to start a new paragraph immediately after a displayed +equation, insert a blank line to produce the required +indention. If there is no new paragraph either do not insert +a blank line or insert a blank line and +code \verb|\noindent| immediately before continuing the text. + +Please punctuate a displayed equation in the same way as +ordinary text. + +Note that the sizes of the parentheses or other delimiter +symbols used in equations should ideally match the height of the +formulas being enclosed. This is automatically taken care of by +the following \LaTeX{} commands, e.g.\ \ +\verb|\left(| \quad or \quad \verb|\left[| \quad and \quad +\verb|\right)| \quad or \quad \verb|\right]|. +% +\subsection{Italic and roman type in the math mode} +% +\begin{alpherate} +\item +In the math mode \TeX{} and \LaTeX{} treat all letters as though they +were mathematical or physical variables; hence they are typeset in +italics. However, any textual elements within formulas should be +coded for roman. Roman should also be used for +subscripts and superscripts {\em in formulas\/} where these are +merely labels and not in themselves variables, e.g.\\ +\verb|$T_{\rm eff} = 5\,10^{9} \mbox{ K}$| produce +$T_{\rm eff} = 5\,10^{9} \mbox{ K}$\\ +\verb|$T_{\rm K}$| produce $T_{\rm K}$ (K = Kelvin)\\ +\verb|$m_{\rm e}$| produce $m_{\rm e}$ (e = electron). + +However, do not code for roman +if the subscripts or superscripts represent variables, +e.g. $\sum_{i=1}^{n} a_{i}$. + +\paragraph{Sample input} +\begin{verbatim} +\begin{equation} + \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad + \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr. +\end{equation} +\end{verbatim} + +\paragraph{Sample output} +\begin{equation} + \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad + \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr. +\end{equation} +% +\item +Please ensure that {\em physical units\/} (e.g.\ pc, erg s$^{-1}$ +K, cm$^{-3}$, W m$^{-2}$ Hz$^{-1}$, m kg s$^{-2}$ A$^{-2}$) and +{\em abbreviations} such as Ord, Var, GL, SL, sgn, const.\ +are always set in roman type. To ensure +this use the \verb|\mbox| command: \verb|\mbox{Hz}|. +On p.\ 46 of the {\em \LaTeX{} User's Guide \& Reference +Manual\/} by Leslie Lamport you will find the names of +common mathe\-matical functions, such as log, sin, exp, max and sup. +These should be coded as \verb|\log|, +\verb|\sin|, \verb|\exp|, \verb|\max|, \verb|\sup| +and will then automatically appear in roman. +% +\item +In order +to distinguish ``d'' used as ``differential sign'' and ``e'' +used as ``exponential function'' from normal variables, +please code ``d'' and ``e'' for roman. +% +\item +Chemical symbols and formulas should be coded for roman, +e.g.\ Fe not $Fe$, H$_{2}$O not {\em H$_{2}$O\/}, H$\alpha$ not +{\em H${\alpha}$}. +\end{alpherate} +% +\section{How to edit your input (source) file} +\label{refedit} +% +\subsection{Headings} +% +The main title, subtitle, and all headings should not be capitalized, +except, of course, for the first letter and any other words which are +always capitalized. Titles have no end punctuation. +% +\subsection{Capitalization and non-capitalization} +\label{capit} +% +\begin{alpherate} +\item +The following should always be capitalized: +\begin{itemize} +\item +Abbreviations and expressions in the text such as +Fig(s)., Table(s), Sect(s)., Chap(s)., Paper, Theorem, +etc. but only when used with numbers, e.g. Fig.~3, Table~1, +Paper III, Theorem 2. +\end{itemize} +Please follow the special rules +in Sect.~4.3 for referring to equations. +\item +The following should {\em not\/} be capitalized: +\begin{itemize} +\item +The words figure(s), table(s), equation(s), +theorem(s) in the text when used without an accompanying number. +\item +Figure legends and table captions except for names, +certain abbreviations, and the opening letter. +\end{itemize} +\end{alpherate} +% +\subsection{Abbreviation of words} +% +\begin{alpherate} +\item +The following {\em should\/} be abbreviated +when they appear in running text followed by a number {\em unless\/} +they come at the beginning of a sentence: +Chap., Sect., Fig., Eq.; e.g.\\ +The results are depicted in Fig.~5. Figure 9 reveals that \dots\\ +{\em Please note\/}: Equations should be referred by the abbreveation +``Eq.'' and the respective number in parentheses, +e.g.\ Eq.~(14). However, when the reference comes at the +beginning of a sentence, the unabbreviated word ``Equation'' +should be used, e.g.\\ +Equation (14) is very important. However, Eq.~(15) +makes it clear that \dots +\item +If abbreviations of names or concepts are used throughout +the article, they should be defined at first occurrence, +e.g. active galactic nuclei (AGN), magnetohydrodynamic (MHD). +If these names or concepts are also mentioned in the Abstract, +they should be defined there as well. +\end{alpherate} +% +\subsection{Foreign words and phrases} +% +Foreign words that have not come into general use are italicized. +If a word or phrase or its abbrevation can be found in the main body +of {\em Webster's\/} (and this also applies to British usage), +it and its abbrevation are considered to be in general use and +are not italicized. E.g. et al., cf., e.g., +a priori, in situ, brems\-strah\-lung, eigenvalues, should not be +italicized. +% +\section{How to code the beginning of your article} +\label{contbegin} +% +\subsection{Section number and thesaurus codes} +\label{thescode} +% +When your article is published, the title and author(s) +will be printed in the table of contents under the appropriate section +heading (e.g. ``Cosmology'', ``Extragalactic astronomy'' etc.) In the +annual index (and later in the 5-year index) your article will appear +under between one and six (maximum) different subject headings +(or key words). For computer storage and sorting, it is +necessary that the {\em section number\/} and {\em thesaurus +code numbers\/} are typeset above the title in the page proofs. +The thirteen subject sections are listed on the first page of each +issue of the journal. The list of thesaurus code numbers (revised in +December 1989) is to be found on pages 471--473 of the 1989 annual +index (A\&A 226/2, December II, 1989). These numbers correspond to +the subject headings (or key words) used in the annual indexes. +\begin{verbatim} +\thesaurus{} +\end{verbatim} + +\paragraph{Example:} +An article on ``Magnetohydrodynamic shock waves'' belongs to +Sect.~3 (``Extragalactic astronomy'') and will be listed in the annual +index under ``Acceleration mechanisms'' (01.01.1), +``Galaxies: jets of'' +(07.13.1) and ``Hydromagnetics'' (08.01.1). The complete coding, printed +automatically in boldface at the top of the +first page, should have the following +presentation (note that the codes within the parentheses are +separated by semicolons): +\begin{verbatim} +\thesaurus{03(01.01.1; 07.13.1; 08.01.1)} +\end{verbatim} +The list of possible thesaurus codes and their meanings are included on +the file {\em laa.the} in the root directory of the distribution +disk (to be \TeX{}'ed using the plain\,\TeX{} package +\verb|\plain\aa.cmm|). +% +\subsection{The title} +% +Code the title of your article as follows: +\begin{verbatim} +\title{} +\subtitle{} +\end{verbatim} +The main title and the subtitle should not be capitalized, +except for the first letter and any other words which are +always capitalized. + +If a long \verb|\title| or \verb|\subtitle| +needs to be divided, please use the code \verb|\\| \ \ (for new line). +% +\subsection{Names of authors} +% +The preferred form for each name is: initial(s) +of the forename(s) followed by the family name. +\begin{verbatim} +\author{ +\and ...} +\end{verbatim} +If there is more than one author, the order is optional. +The names should be separated by \verb|\and|. + +If the authors have different affiliations, each name has to be +followed by +\begin{verbatim} +\inst{} +\end{verbatim} +Numbers referring to +different addresses should be attached to each author. + +If there is more than one author, please provide an address for +offprint requests, for example +\begin{verbatim} +\offprints{} +\end{verbatim} +% +\subsection{Addresses} +% +If there is more than one address, +the entries are numbered automatically +with \verb|\and|, in the order in which you type them. +Please make sure that the numbers match those placed next to +to the authors' names. +\begin{verbatim} +\institute{ +\and ...} +\end{verbatim} +(Unlike usual \LaTeX{} the \verb|\and| command is also used with the +\verb|\institute| command.) +% +\subsection{Footnotes to the title block other than addresses} +% +If footnotes to the title, subtitle, author's names or institute +addresses are needed, please code immediately after the word +where the footnote indicator should be placed. These footnotes +are marked by asterisks ($\star$). Please make the following +input: +\begin{verbatim} +\thanks{} +\end{verbatim} +% +\subsection{Dates of receipt and acceptance} +% +Although the dates of receipt and acceptance of your +manuscript will be fixed by the editors and inserted +by the publisher, please make the following input: +\verb|\date{Received date; accepted date}| + +The date is inserted later in the format {\tt month day, +year}. +\paragraph{Example:}\verb|\date{Received June 2, accepted September 22, +1988}| +\subsection{Typesetting the header} +% +After having entered the commands described so far in this section, +please enter the command +\begin{verbatim} +\maketitle +\end{verbatim} +It will format the complete heading of your article. If you leave +it out, the work done so far will produce {\em no\/} text. +You will find a complete example of the beginning of an article +later in this section. +% +\subsection{Abstract} +% +Proceed as follows: +\begin{verbatim} +\begin{abstract} + +\keywords{} +\end{abstract} +\end{verbatim} + +Please make sure that there is no blank line between +the \verb|\begin{abstract}| string +and the text of your abstract. +% +\subsection{Key words} +% +For the sake of simplicity and uniformity, authors should choose +not more than six key words which are identical to those already +chosen as thesaurus codes in Sect.~\ref{thescode} above. +The heading ``Key words'' appears automatically. +The individual key words +should be separated by an en-dash (see Sect.~\ref{finetune}) +with one blank before and after. +% +\subsection{A complete example for the beginning} +% +\begin{verbatim} +\thesaurus{03(01.01.1; 07.13.1; 08.01.1)} +\title{Magnetohydrodynamic shock waves} +\subtitle{I. Investigation of the structure of hot spots in + extragalactic radio jets} +\author{N.~Copernicus\inst{1} \and G.~Galilei\inst{1,2} \and + E.P.~Hubble\inst{2,3} \and I.~Newton\inst{4}\thanks{On leave from + the Max-Planck-Institut f\"ur Radioastronomie, Auf dem H\"ugel 69, + D-5300 Bonn 1, Federal Republic of Germany} + \and C.~Ptolemaeus\inst{5}} +\offprints{E.P.~Hubble} +\institute{Institute of Physics, Pedagogical University, Pl.~Slowianski + 6, PL-65-069 Zielona Gora, Poland +\and + Instituto di Fisica Generale, Via Pietro Giuria 1, I-10125 + Torino, Italiy +\and + Havard-Smithsonian Center for Astrophysics, 60 Garden Street, + Cambridge, MA 02138, USA +\and + Armagh Observatory, Armagh, BT 61 9 DG, Northern Ireland +\and + Department of Astronomy, University of Athens, Panepistimiopolis, + GR-15771 Zografos, Greece} +\date{Received date; accepted date} +\maketitle +\begin{abstract} +The theory of special relativistic magnetohydrodynamic shock waves is +... +\keywords{acceleration mechanisms -- galaxies: jets of -- hydromagnetics} +\end{abstract} +\end{verbatim} +% +\section{How to code your text} +% +As for the main title and subtitle, headings should not be capitalized, +except, of course, for the first letter and any other words which +are always capitalized. Similary, headings -- except for italic run-in +headings (produced by \verb|\paragraph{...}|) -- have no end +punctuation. + +Main headings will be automatically numbered by the following makros. + +\paragraph{Sample input} +\begin{verbatim} +\section{This is a first-order title} +\subsection{This is a second-order title} +\subsubsection{This is a third-order title} +\paragraph{This is an italic run-in heading.} +\end{verbatim} + +\paragraph{Sample output} +\section*{1. This is a first-order title} +\subsection*{1.1. This is a second-order title} +\subsubsection*{1.1.1. This is a third-order title} +\paragraph{This is an italic run-in heading.} The text +continues in regular roman typeface. +% +\section{Fine tuning of the text} +\label{finetune} +% +The following should be used to improve the readability of the text: +\begin{flushleft} +\begin{tabular}{@{}l@{\hspace{.5cm}}p{.7\textwidth}} +\verb|\,| & a thin space, e.g.\ between numbers with more than + 5 digits; a line division will not be made + following this space,\\ +\verb|--| & en-dash; two strokes, without a space at either end,\\ +\verb*| -- | & em-dash; two strokes, with a space at either end,\\ +\verb|-| & hyphen; one stroke, no space at either end,\\ +\verb|$-$| & minus, in the text {\em only},\\ +\verb|~| & tilde between parts of names. +\end{tabular} +\end{flushleft} + +\paragraph{Sample input} +\begin{verbatim} +20\,000 km, 1\,000\,000 s, NGC 468\,324 +1950--1985, p.~11--21 +this -- written on a computer -- is now printed +signal-to-noise ration, early-type, metal-poor, non-relativistic +$-30$ K, $-5^{\circ}$C +Dr~h.c.~Rockefeller-Smith and Prof.~Dr~Mallory +\end{verbatim} + +\paragraph{Sample output} +\begin{flushleft} +20\,000 km, 1\,000\,000 s, NGC 468\,324\\ +1950--1985, p.~11--21\\ +this -- written on a computer -- is now printed\\ +signal-to-noise ration, early-type, metal-poor, non-relativistic\\ +$-30$ K, $-5^{\circ}$C\\ +Dr~h.c.~Rockefeller-Smith and Prof.~Dr~Mallory +\end{flushleft} +% +\section{Special typefaces} +% +Normal type (roman) need not be specified. {\em Emphasize\/} +(not {\sl slanted\/}) should be used for emphasis in the text. +\begin{flushleft} +\begin{tabular}{@{}l@{\hspace{.5cm}}l} +\verb|{\em Text}| & {\em Emphasized Text}.\\ +\verb|\vec{Symbol}| & Vectors may only appear in math mode. +See note below.\\ + & \verb|$\vec{A} \times \vec{B} \cdot \vec{C}| + yields $\vec{A}\times\vec{B}\cdot\vec{C}$.\\ + & \verb|$\vec{A\/}^{\rm T} \otimes \vec{B} \otimes \vec{\hat D}$|\\ + & yields $\vec{A\/}^{\rm T} \otimes \vec{B} \otimes \vec{\hat D}$.\\ +\verb|\tens{Symbol}| & Tensors may only appear in math mode. \\ + & \verb|\tens{ABC}| yields $\tens{ABC}.$ +\end{tabular} +\end{flushleft} +\paragraph{Note:} +Normally vectors are typeset as boldface italic symbols. But depending +on your \LaTeX{} installation, especially the file \verb|LFONTS.TEX|, +you might get the vectors printed as normal mathematical symbols, i.e. +in italic typeface. You then will get the \LaTeX{} warning: \verb|No +\boldmath typeface in this size, using \unboldmath.| This can be ignored +because in the final version with the original MT fonts it will be +correct. +% +\section{Footnotes} +% +Footnotes need to be punctuated at the end. +Footnotes within the text should be coded +\begin{verbatim} +\footnote{} +\end{verbatim} + +\paragraph{Sample input} +\begin{verbatim} +Text with a footnote\footnote{The footnote is automatically +numbered.} and text continues \dots +\end{verbatim} + +\paragraph{Sample output} +\begin{flushleft} +Text with a footnote\footnote{The footnote is automatically +numbered.} and text continues \dots +\end{flushleft} +% +\section{Lists} +% +Please code lists as described below: + +\paragraph{Sample input} +\begin{verbatim} +\begin{enumerate} + \item First item, + \item second item, + \begin{enumerate} + \item first nested item, + \item second nested item, + \end{enumerate} + \item third item. +\end{enumerate} +\end{verbatim} + +\paragraph{Sample output} +\begin{enumerate} +\item First item, +\item second item, +\begin{enumerate} +\item first nested item, +\item second nested item, +\end{enumerate} +\item third item. +\end{enumerate} +% +\newpage +\section{Figures} +% +The final positioning of floating objects (i.e. figures and tables) +should be done at the end of development of your text. + +For further information see also Sect.~3.6.2 on p.~63 of the +{\em \LaTeX{} User's Guide \& Reference +Manual\/} by Leslie Lamport (1986), Addison-Wesley Publishing +Company, Reading, Mass. +Figure legends should be inserted after or before +(not in) the paragraph in which the figure is first mentioned. +They will be numbered automatically. + +The figure, including the legend, must not exceed 23~cm in height. +Taller figures will be swallowed by \LaTeX{} without warning. + +{\em No\/} figures ({\em line drawings, halftone figures\/}, +or {\em figures containing halftone areas\/}) +should be pasted in, these will be reproduced separately. +They should be enclosed separately in camera-ready form (glossy prints +or photographs). + +As can be seen in the output, we will automatically +leave 1~cm free above the box for the figure and 0.5~cm below. +Please note that ``\verb|x|'' in the following +coding stands for the {\em actual\/} height +of the figure. +% +\subsection{Figures of width up to 8.8~cm (one column)} +% +Please code as follows: +\begin{flushleft} +\verb|\begin{figure}|\\ +\verb|\picplace{x cm}|\\ +\verb|\caption[ ]{...text of caption...}| \quad + (Type [ ] to save auxiliary space)\\ +\verb|\end{figure}| +\end{flushleft} + +\paragraph{Sample input} +\begin{verbatim} +\begin{figure} +\picplace{2.5cm} +\caption[ ]{This is the caption of width up to 8.8~cm (one column)} +\end{figure} +\end{verbatim} + +\begin{figure}[h] +\fbox{\rule[-1.6cm]{7.8cm}{0cm}\phantom{Text}} +\caption[ ]{This is the caption of width up to 8.8~cm (one column)} +\end{figure} +% +\subsection{Figures of width up to 18~cm (extending over both columns)} +% +\begin{flushleft} +\verb|\begin{figure*}|\\ +\verb|\picplace{x cm}|\\ +\verb|\caption[ ]{...text of caption...}| \quad + (Type [ ] to save auxiliary space)\\ +\verb|\end{figure*}| +\end{flushleft} + +\paragraph{Sample input} +\begin{verbatim} +\begin{figure*} +\picplace{1.5cm} +\caption[ ]{This is the caption of the figure of width 18~cm + (extending over both columns)} +\end{figure*} +\end{verbatim} + +\newpage +\typeout{The following overfull \string\hbox\space message can be +ignored, the box is} +\typeout{intentionally wider than the \string\textwidth\space of +this documentation} +\typeout{to demonstrate the output of double column figures in +the journal.} +\begin{figure*}[h] +\fbox{\rule[-0.9cm]{17cm}{0cm}\phantom{Text}} +\caption[ ]{This is the caption of the +figure of width 18~cm (extending over both columns)} +\end{figure*} +% +\section{Tables} +% +Tables should be treated +in the same way as figure legends, except that +the table captions appear {\em above\/} the tables. The tables +will be numbered automa\-tically. + +Table columns should be set flush left. Vertical lines +are normally not necessary and should only be inserted +in exceptional cases for the sake of clarity. + +For further information you will find a complete description of +the table and tabular environment +on p.~63~ff. and p.~182 of the {\em \LaTeX{} User's Guide \& +Reference Manual\/} by Leslie Lamport. + +Height of tables must not exceed 23 cm. Taller tables will be swallowed +by \LaTeX{} without warning. +% +\subsection{Tables coded with \LaTeX{} of width up to 8.8~cm +(one column)} +% +As an example for simple coding of a table we give you +the following advice for the coding. +(Before continuing your text after the +table environment you need an empty line.) + +\paragraph{Sample input} +\begin{verbatim} +\begin{table} +\caption[ ]{Critical $N$ values} +\begin{flushleft} +\begin{tabular}{llllll} +\hline +$\Msun$ & $beta_{0}$ & $T_{\rm c6}$ & $\gamma$ & $N_{\rm crit}^{\rm L}$ + & $N_{\rm crit}^{\rm Te}$\\ +\hline + 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\ + 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\ +120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\ +\hline +\end{tabular} +\end{flushleft} +\end{table} +\end{verbatim} + +\begin{table}[h] +\caption[ ]{Critical $N$ values} +\begin{flushleft} +\renewcommand{\arraystretch}{1.2} +\begin{tabular}{llllll} +\hline +$\Msun$ & $\beta_{0}$ & $T_{\rm c6}$ & $\gamma$ & $N_{\rm crit}^{\rm L}$ + & $N_{\rm crit}^{\rm Te}$\\ +\hline + 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\ + 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\ +120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\ +\hline +\end{tabular} +\renewcommand{\arraystretch}{1} +\end{flushleft} +\end{table} +% +\subsection{Tables coded with \LaTeX{} of width up to 18~cm (extending +over both columns)} +% +\paragraph{Sample input} +\begin{verbatim} +\begin{table*} +\caption[ ]{Observational results from NGC 4827} +\begin{flushleft} +\begin{tabular}{llllllllllllll} +\hline + & & \multicolumn{3}{l}{RA (1950)} &\ & \multicolumn{3}{l}{Dec (1950)} + & $S$ & Pol & \% & $\log P$\\ +\cline{3-5}\cline{7-9} + & &(h) &(m) & (s) & & (\degr) & (\arcmin) & (\arcsec) + & (mJy) & (mJy) & & (W Hz$^{-1}$)\\ +\hline +Core & (5 GHz) & 12 & 54 & 18.0 & & 27 & 26 & 56.2 + & 8 & & & 21.64 \\ +Total&(327 MHz)& & & & & & & + & 210 & & & 23.13 \\ + &(1.4 GHz)& & & & & & & + & 57 & 1.3 & 2 & 22.49 \\ + & (5 GHz) & & & & & & & + & 26 & 0.73 & 3 & 22.15 \\ +\hline +\end{tabular} +\end{flushleft} +\end{table*} +\end{verbatim} + +\begin{table*}[h] +\caption[ ]{Observational results from NGC 4827} +\begin{flushleft} +\renewcommand{\arraystretch}{1.2} +\begin{tabular}{llllllllllllll} +\hline + & & \multicolumn{3}{l}{RA (1950)} &\ & \multicolumn{3}{l}{Dec (1950)} + & $S$ & Pol & \% & $\log P$\\ +\cline{3-5}\cline{7-9} + & &(h) &(m) & (s) & & (\degr) & (\arcmin) & (\arcsec) + & (mJy) & (mJy) & & (W Hz$^{-1}$)\\ +\hline +Core & (5 GHz) & 12 & 54 & 18.0 & & 27 & 26 & 56.2 + & 8 & & & 21.64 \\ +Total&(327 MHz)& & & & & & & + & 210 & & & 23.13 \\ + &(1.4 GHz)& & & & & & & + & 57 & 1.3 & 2 & 22.49 \\ + & (5 GHz) & & & & & & & + & 26 & 0.73 & 3 & 22.15 \\ +\hline +\end{tabular} +\renewcommand{\arraystretch}{1} +\end{flushleft} +\end{table*} +% +\subsection{Tables not coded with \LaTeX{}} +% +If you do not wish to code your table using \LaTeX{} +but prefer to have it reproduced separately, +proceed similarily as for figures and use the following coding: + +\paragraph{Sample input} +\begin{flushleft} +\verb|\begin{table}| \quad + or \verb|\begin{table*}| for double-column table\\ +\verb|\caption[ ]{... text of caption ...}|\\ +\verb|\vspace{x cm}| \quad \verb|x| is the actual + height needed for your table\\ +\verb|\end{table}| \quad or \verb|\end{table*}| for double-column table +\end{flushleft} +% +\section{Acknowledgements} +% +\paragraph{Sample input} +\begin{flushleft} +\verb|\acknowlegements{This research was partially supported by the +Sonderforschungsbereich}| +\end{flushleft} + +\acknowledgements This research was partially supported by the +Sonderforschungsbereich +% +\section{Appendices} +% +Type \verb|\appendix| \\ +% +Sets all sectioncounter etc to 0. +Begin the actual appendix by typing\\ +\verb|\section{Appendix}| +% +\section{Signs and characters} +% +\subsection{Special signs} +% +You may need to use special signs. +The available ones are listed in the +{\em \LaTeX{} User's Guide \& Reference +Manual\/} by Leslie Lamport, pp.~44~ff. +We have created further symbols for math mode +(see p.~\pageref{math}): +\begin{flushleft} +\renewcommand{\arraystretch}{1.25} +\begin{tabular}{lll@{\hspace{2.5cm}}lll} +\hline +Input & Explanation & Output & Input & Explanation & Output\\ +\hline +\verb|\la| & less or approx & $\la$ & + \verb|\ga| & greater or approx & $\ga$\\ +\verb|\getsto| & gets over to & $\getsto$ & + \verb|\cor| & corresponds to & $\cor$\\ +\verb|\lid| & less or equal & $\lid$ & + \verb|\gid| & greater or equal & $\gid$\\ +\verb|\sol| & similar over less & $\sol$ & + \verb|\sog| & similar over greater & $\sog$\\ +\verb|\lse| & less over simeq & $\lse$ & + \verb|\gse| & greater over simeq & $\gse$\\ +\verb|\grole| & greater over less & $\grole$ & + \verb|\leogr| & less over greater & $\leogr$\\ +\verb|\loa| & less over approx & $\loa$ & + \verb|\goa| & greater over approx & $\goa$\\ +\hline +\end{tabular} +\renewcommand{\arraystretch}{1} +\end{flushleft} + +% +%\newpage +\subsection{Special characters in general} +% +\begin{flushleft} +\renewcommand{\arraystretch}{1.25} +\begin{tabular}{lll@{\hspace{2cm}}lll} +\hline +Input & Explanation & Output & Input & Explanation & Output\\ +\hline +\verb|\sun| & sun symbol & $\sun$ & + \verb|\degr| & degree & $\degr$\\ +\verb|\diameter| & diameter & \diameter & + \verb|\sq| & square & \squareforqed\\ +\verb|\fd| & fraction of day & \fd & + \verb|\fh| & fraction of hour & \fh\\ +\verb|\fm| & fraction of minute & \fm & + \verb|\fs| & fraction of second & \fs\\ +\verb|\fdg| & fraction of degree & \fdg & + \verb|\fp| & fraction of period & \fp\\ +\verb|\farcs| & fraction of arcsecond & \farcs & + \verb|\farcm| & fraction of arcmin & \farcm\\ +\verb|\arcsec| & arcsecond & \arcsec & + \verb|\arcmin| & arcminute & \arcmin\\ +\hline +\end{tabular} +\renewcommand{\arraystretch}{1} +\end{flushleft} +% +\subsection{Gothic (Fraktur)} +% +In \LaTeX{} only the following gothic letters are +available: \verb|$\Re$| which yields $\Re$, and \verb|$\Im$| +which yields $\Im$. +For the real and the imaginary parts of a complex number within math mode +you should use instead \verb|$\mbox{Re}$| (which yields +$\mbox{Re}$) or \verb|$\mbox{Im}$| (which yields $\mbox{Im}$). +% +\subsection{Script} +% +For script capitals use the coding\\ +\verb|${\cal AB}$| which yields ${\cal AB}$ +(see p.~43 of the \LaTeX{} book). +% +\subsection{Special roman} +% +We have created +the blackboard bold characters also named special roman +characters listed below. +\begin{flushleft} +\renewcommand{\arraystretch}{1.25} +\begin{tabular}{lll@{\hspace{2cm}}lll} +\hline +Input & Explanation & Output & Input & Explanation & Output\\ +\hline +\verb|$\bbbc$| & complex numbers & $\bbbc$ & +\verb|$\bbbf$| & blackboard bold F & $\bbbf$ \\ +\verb|$\bbbh$| & blackboard bold H & $\bbbh$ & +\verb|$\bbbk$| & blackboard bold K & $\bbbk$ \\ +\verb|$\bbbm$| & blackboard bold M & $\bbbm$ & +\verb|$\bbbn$| & natural numbers N & $\bbbn$ \\ +\verb|$\bbbp$| & blackboard bold P & $\bbbp$ & +\verb|$\bbbq$| & rational numbers & $\bbbq$ \\ +\verb|$\bbbr$| & real numbers & $\bbbr$ & +\verb|$\bbbs$| & blackboard bold S & $\bbbs$ \\ +\verb|$\bbbt$| & blackboard bold T & $\bbbt$ & +\verb|$\bbbz$| & integer numbers & $\bbbz$ \\ +\verb|$\bbbone$| & symbol one & $\bbbone$ & & & \\ +\hline +\end{tabular} +\renewcommand{\arraystretch}{1} +\end{flushleft} +% +\subsection{Small capitals} +% +Small capitals are used for roman numerals denoting ``degree of +ionization'' e.g.\ H\,{\sc i}, H\,{\sc ii} region, C\,{\sc iv} produced +by \verb|H\,{\sc i}|, \verb|H\,{\sc ii} region|, \verb|C\,{\sc iv}|. +% +\subsection{Invented symbols} +% +If you use your own home-grown symbols, we need a list of these for the +further processing. +% +Our package automatically produces a list of all special symbols if they +have names of the form \verb|\special| xx where xx is a roman numeral. +% +So either define your symbols giving them names \verb|\speciali +\specialii| etc. or assign these names as ``aliases"\\ +\verb|\def\peter{...}|\\ +\verb|\let\speciali =\peter|\\ +% +Be sure your makros work without math mode. +% +\section{References} +\label{refer} +% +For overall information on the reference environment +see the {\em \LaTeX{} User's Guide \& Reference +Manual\/} by Leslie Lamport, p.~73. + +Please abbreviate journal names according to the lists 16.2 and 16.3 +only. +% +\subsection{Author--year system} +% +References are cited in the text by name and year in parentheses +and should look as follows: +(Smith 1970, 1980; Ekeland et al. 1985, Theorem 2; Jones \& Jaffe +1986; Farrow 1988, Chap.~2). If the name is part of the sentence +only the year may appear in parentheses, +e.g.\ Ekeland et al. (1985, Sect.~2.1). +The reference list should contain all citations occurring in the text, +ordered alphabetically by surname (with initials following). If there +are several works by the same author(s) the references should be listed +in the appropriate order indicated below: +\begin{alpherate} +\item +One author: list works chronologically; +\item +Author and same co-author(s): list works chronologically; +\item +Author and different co-authors: list works alphabetically +according to co-authors. +\end{alpherate} +If there are several works by the same author(s) and in the same year, +but which are cited separately, they should be distinguished by +the use of ``a'', ``b'' etc., e.g. (Smith 1982a; Ekeland et al. 1982b). +% +\subsubsection{How to code author-year system} +% +Write the surname of the author for your citation in the +text explicitly, leaving the year up to \LaTeX{} with the +\verb|\cite{