diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/uafthesis |
Initial commit
Diffstat (limited to 'macros/latex/contrib/uafthesis')
19 files changed, 4203 insertions, 0 deletions
diff --git a/macros/latex/contrib/uafthesis/Makefile b/macros/latex/contrib/uafthesis/Makefile new file mode 100644 index 0000000000..06a19ea316 --- /dev/null +++ b/macros/latex/contrib/uafthesis/Makefile @@ -0,0 +1,28 @@ +example.pdf: + @echo "-> building example.pdf..." + @cd example && ./build.sh > /dev/null + @mv example/example.pdf ./ + +clean: + @echo "-> cleaning..." + @git clean -xdf > /dev/null + @rm example.pdf + +test: clean example.pdf + @# Feel free to make this smarter. + @echo "-> Opening example.pdf in evince. Does it look okay?" + @`evince example.pdf &2> /dev/null` + +publish: example.pdf clean + @echo "-> creating tarball..." + @tar -czf /tmp/uafthesis.tgz --exclude=.git ../uafthesis > /dev/null + curl --form "contribution=uafthesis" \ + --form "name=Joshua Holbrook" \ + --form "email=josh.holbrook@gmail.com" \ + --form "summary=Document class for theses at University of Alaska Fairbanks." \ + --form "version=12.12" \ + --form "directory=/macros/latex/contrib/uafthesis" \ + --form "license=free" \ + --form "freeversion=lppl" \ + --form "file=@/tmp/uafthesis.tgz" \ + http://www.tex.ac.uk/cgi-bin/ctan-upload.cgi diff --git a/macros/latex/contrib/uafthesis/README.md b/macros/latex/contrib/uafthesis/README.md new file mode 100644 index 0000000000..699f9cd046 --- /dev/null +++ b/macros/latex/contrib/uafthesis/README.md @@ -0,0 +1,64 @@ +# uafthesis + +## What is this? + +*uafthesis* is a LaTeX document class meant for using with a University of Alaska Fairbanks-style thesis. It would be used like so: + + \documentclass{uafthesis} + +Its development web site is at <https://github.com/jesusabdullah/uafthesis>. + +## Basic Contents: + +* `uafthesis.cls`: The class file itself. +* `bib_styles/`: A few common bibliography styles for BibTeX: + * `/agufull08.bst` is the 2008 edition of the AGU bibliography style + * `unsrtabbrv3.bst` is a style written by one of the authors of `uafthesis.cls`. +* `example.pdf`: Describes how to use `uafthesis.cls` while showing what it looks like. +* `example/`: Contains the source code for `example.pdf`. +* `README.md`: This file. + +## Branches: + +* `master` is the main branch, and is based on the 2004 thesis class. +* `2006` is a side branch which contains Ryan Woodard's 2006 version of `uafthesis.cls` which also tackled the missing "page" headers problem. A cursory analysis based on `diff uafthesis2004.cls uafthesis2006.cls` indicates that my solution to the "page heading" problem is probably better/easier. However, I may be wrong, and I really appreciate Ryan's work, so it's included in its own branch. + +## Help + +If you don't know how to use LaTeX or need general support, I would recommend the following resources for learning and asking questions: + +* <http://en.wikibooks.org/wiki/LaTeX> +* <http://tex.stackexchange.com> +* <irc://freenode.net/#latex> + +For questions directly pertaining to `uafthesis.tex`, refer to `example/example.pdf` or contact the latest author via [github](https://github.com/jesusabdullah/uafthesis/issues), twitter (http://twitter.com/jesusabdullah) or [email](email:josh.holbrook@gmail.com). + +## Call to Arms + +If you're a UAF student writing a thesis in LaTeX and have some improvements to +make, you should do so and share! `uafthesis.cls` could honestly use some TLC. + +If you would like to use Github, here's the process for submitting changes: + +2. Fork this project. There's a button on the upper-right corner of the main page. +3. *git clone* your new repository. +4. Make changes. +5. *git commit -m"Some changes I made for great justice."* +6. *git push origin master* +7. Hit me up with a pull request. This is also on the upper-right corner of the main page. + +If you would rather not use git (if, for example, version control is scary and +confusing), feel free to contact me at josh.holbrook@gmail.com and we can find +another way of updating the class file. + +## Authors: + +* **Curt A. L. Szuberla** 13 November 1996 +* **Matt Heavner** 5 February 1999 +* **Dana Moudry** 18 December 2002 +* **Ryan Woodard** 2 December 2004 +* **Joshua Holbrook** (present) + +## Licensing + +Nothing is included with the original bundle, but based on the sources of the original latex materials, it's safe to say (imo) that the project is covered by the [**LaTeX Project Public License**](http://www.latex-project.org/lppl.txt). diff --git a/macros/latex/contrib/uafthesis/bib_styles/agufull08.bst b/macros/latex/contrib/uafthesis/bib_styles/agufull08.bst new file mode 100644 index 0000000000..c4a69f6eb8 --- /dev/null +++ b/macros/latex/contrib/uafthesis/bib_styles/agufull08.bst @@ -0,0 +1,1828 @@ +%% +%% This is file `agufull08.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `head,ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') +%% physjour.mbs (with options: `ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') +%% geojour.mbs (with options: `ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') +%% photjour.mbs (with options: `ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') +%% merlin.mbs (with options: `tail,ay,nat,seq-labc,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}') +%% ---------------------------------------- +%% *** For journals of the American Geophysical Union *** +%% *** NOTE: this version does not limit the number of authors in ref list. +%% *** Use agu08.bst to limit authors to maximum 9. +%% *** +%% ---------------------------------------- +%% *** Version 3.1 from 2008/08/27 +%% *** Multiple authors of same first author and year now in order of citation +%% *** and other minor fixes +%% *** Renamed to agu08.bst and agufull08.bst +%% *** +%% *** Version 3.0 from 2004/02/06 +%% *** Changed date format for AGU journals +%% *** The date now appears in parentheses after authors +%% *** +%% *** Version 2.2 from 2003/06/26 +%% *** (with bug fix from 2003/08/19) +%% *** Includes new fields eid and doi +%% *** The eid is what the AGU calls "citation number" +%% *** and doi is the DOI number; both of these are +%% *** used as substitution for page number +%% *** The issue number is now also included as +%% *** 84(3) for vol. 84, nr. 3 +%% *** +%% *** Version 2.1d from 1999/05/20 +%% *** Book editors done right as P. James (Ed.), +%% *** Missing italics with some authors fixed +%% *** +%% *** Version 2.1c from 1999/02/11 +%% *** This version does not crash older BibTeX installations with +%% *** more than 3000 wiz-functions +%% *** +%% *** Version 2.1b from 1997/11/18 +%% *** (page numbers over 9999 are broken with commas, as 12,345) +%% *** +%% *** Version 2.1a from 1997/05/26 +%% *** (contains improvements from copy editor comments, +%% *** notes added with first word lowercase (bug in 2.1 fixed) +%% *** and journal `number' never output +%% *** abbreviation for grl corrected) +%% *** +%% +%% Copyright 1994-2008 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2008/08/27 4.30 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{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! + % With natbib v5.3, a full list of authors may also follow the year. + % 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: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + doi + edition + editor + eid + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label short.list } +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 {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 {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +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$ "" } + { "\textit{" swap$ * "}" * } + if$ +} +FUNCTION {cite.name.font} +{ emphasize } +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +MACRO {jan} {"Jan."} + +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."} + + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)] +MACRO {aa}{"Astron. \& Astrophys."} +MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} +MACRO {aj} {"Astron. J."} +MACRO {aph} {"Acta Phys."} +MACRO {advp} {"Adv. Phys."} +MACRO {ajp} {"Amer. J. Phys."} +MACRO {ajm} {"Amer. J. Math."} +MACRO {amsci} {"Amer. Sci."} +MACRO {anofd} {"Ann. Fluid Dyn."} +MACRO {am} {"Ann. Math."} +MACRO {ap} {"Ann. Phys. (NY)"} +MACRO {adp} {"Ann. Phys. (Leipzig)"} +MACRO {ao} {"Appl. Opt."} +MACRO {apl} {"Appl. Phys. Lett."} +MACRO {app} {"Astroparticle Phys."} +MACRO {apj} {"Astrophys. J."} +MACRO {apjsup} {"Astrophys. J. Suppl."} +MACRO {apss} {"Astrophys. Space Sci."} +MACRO {araa} {"Ann. Rev. Astron. Astrophys."} +MACRO {baas} {"Bull. Amer. Astron. Soc."} +MACRO {baps} {"Bull. Amer. Phys. Soc."} +MACRO {cmp} {"Comm. Math. Phys."} +MACRO {cpam} {"Commun. Pure Appl. Math."} +MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} +MACRO {cpc} {"Comp. Phys. Comm."} +MACRO {cqg} {"Class. Quant. Grav."} +MACRO {cra} {"C. R. Acad. Sci. A"} +MACRO {fed} {"Fusion Eng. \& Design"} +MACRO {ft} {"Fusion Tech."} +MACRO {grg} {"Gen. Relativ. Gravit."} +MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} +MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} +MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} +MACRO {ip} {"Infrared Phys."} +MACRO {irp} {"Infrared Phys."} +MACRO {jap} {"J. Appl. Phys."} +MACRO {jasa} {"J. Acoust. Soc. America"} +MACRO {jcp} {"J. Comp. Phys."} +MACRO {jetp} {"Sov. Phys.--JETP"} +MACRO {jfe} {"J. Fusion Energy"} +MACRO {jfm} {"J. Fluid Mech."} +MACRO {jmp} {"J. Math. Phys."} +MACRO {jne} {"J. Nucl. Energy"} +MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} +MACRO {jnm} {"J. Nucl. Mat."} +MACRO {jpc} {"J. Phys. Chem."} +MACRO {jpp} {"J. Plasma Phys."} +MACRO {jpsj} {"J. Phys. Soc. Japan"} +MACRO {jsi} {"J. Sci. Instrum."} +MACRO {jvst} {"J. Vac. Sci. \& Tech."} +MACRO {nat} {"Nature"} +MACRO {nature} {"Nature"} +MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} +MACRO {nf} {"Nucl. Fusion"} +MACRO {nim} {"Nucl. Inst. \& Meth."} +MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} +MACRO {np} {"Nucl. Phys."} +MACRO {npb} {"Nucl. Phys. B"} +MACRO {nt/f} {"Nucl. Tech./Fusion"} +MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} +MACRO {inc} {"Nuovo Cimento"} +MACRO {nc} {"Nuovo Cimento"} +MACRO {pf} {"Phys. Fluids"} +MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} +MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} +MACRO {pl} {"Phys. Lett."} +MACRO {pla} {"Phys. Lett. A"} +MACRO {plb} {"Phys. Lett. B"} +MACRO {prep} {"Phys. Rep."} +MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} +MACRO {pp} {"Phys. Plasmas"} +MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} +MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} +MACRO {prl} {"Phys. Rev. Lett."} +MACRO {pr} {"Phys. Rev."} +MACRO {physrev} {"Phys. Rev."} +MACRO {pra} {"Phys. Rev. A"} +MACRO {prb} {"Phys. Rev. B"} +MACRO {prc} {"Phys. Rev. C"} +MACRO {prd} {"Phys. Rev. D"} +MACRO {pre} {"Phys. Rev. E"} +MACRO {ps} {"Phys. Scripta"} +MACRO {procrsl} {"Proc. Roy. Soc. London"} +MACRO {rmp} {"Rev. Mod. Phys."} +MACRO {rsi} {"Rev. Sci. Inst."} +MACRO {science} {"Science"} +MACRO {sciam} {"Sci. Am."} +MACRO {sam} {"Stud. Appl. Math."} +MACRO {sjpp} {"Sov. J. Plasma Phys."} +MACRO {spd} {"Sov. Phys.--Doklady"} +MACRO {sptp} {"Sov. Phys.--Tech. Phys."} +MACRO {spu} {"Sov. Phys.--Uspeki"} +MACRO {st} {"Sky and Telesc."} + % End module: physjour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)] +MACRO {aisr} {"Adv. Space Res."} +MACRO {ag} {"Ann. Geophys."} +MACRO {anigeo} {"Ann. Geofis."} +MACRO {angl} {"Ann. Glaciol."} +MACRO {andmet} {"Ann. d. Meteor."} +MACRO {andgeo} {"Ann. d. Geophys."} +MACRO {andphy} {"Ann. Phys.-Paris"} +MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmos. Ocean"} +MACRO {ass}{"Astrophys. Space Sci."} +MACRO {atenv} {"Atmos. Environ."} +MACRO {aujag} {"Aust. J. Agr. Res."} +MACRO {aumet} {"Aust. Meteorol. Mag."} +MACRO {blmet} {"Bound.-Lay. Meteorol."} +MACRO {bams} {"Bull. Amer. Meteorol. Soc."} +MACRO {cch} {"Clim. Change"} +MACRO {cdyn} {"Clim. Dynam."} +MACRO {cbul} {"Climatol. Bull."} +MACRO {cap} {"Contrib. Atmos. Phys."} +MACRO {dsr} {"Deep-Sea Res."} +MACRO {dhz} {"Dtsch. Hydrogr. Z."} +MACRO {dao} {"Dynam. Atmos. Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environ. Res."} +MACRO {envst} {"Environ. Sci. Technol."} +MACRO {ecms} {"Estuarine Coastal Mar. Sci."} +MACRO {expa}{"Exper. Astron."} +MACRO {geoint} {"Geofis. Int."} +MACRO {geopub} {"Geofys. Publ."} +MACRO {geogeo} {"Geol. Geofiz."} +MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} +MACRO {gfd} {"Geophys. Fluid Dyn."} +MACRO {geomag} {"Geophys. Mag."} +MACRO {georl} {"Geophys. Res. Lett."} +MACRO {grl} {"Geophys. Res. Lett."} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} +MACRO {ijawp} {"Int. J. Air Water Pollut."} +MACRO {ijc} {"Int. J. Climatol."} +MACRO {ijrs} {"Int. J. Remote Sens."} +MACRO {jam} {"J. Appl. Meteorol."} +MACRO {jaot} {"J. Atmos. Ocean. Technol."} +MACRO {jatp} {"J. Atmos. Terr. Phys."} +MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."} +MACRO {jce} {"J. Climate"} +MACRO {jcam} {"J. Climate Appl. Meteor."} +MACRO {jcm} {"J. Climate Meteor."} +MACRO {jcy} {"J. Climatol."} +MACRO {jgr} {"J. Geophys. Res."} +MACRO {jga} {"J. Glaciol."} +MACRO {jh} {"J. Hydrol."} +MACRO {jmr} {"J. Mar. Res."} +MACRO {jmrj} {"J. Meteor. Res. Japan"} +MACRO {jm} {"J. Meteor."} +MACRO {jpo} {"J. Phys. Oceanogr."} +MACRO {jra} {"J. Rech. Atmos."} +MACRO {jaes} {"J. Aeronaut. Sci."} +MACRO {japca} {"J. Air Pollut. Control Assoc."} +MACRO {jas} {"J. Atmos. Sci."} +MACRO {jmts} {"J. Mar. Technol. Soc."} +MACRO {jmsj} {"J. Meteorol. Soc. Japan"} +MACRO {josj} {"J. Oceanogr. Soc. Japan"} +MACRO {jwm} {"J. Wea. Mod."} +MACRO {lao} {"Limnol. Oceanogr."} +MACRO {mwl} {"Mar. Wea. Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergeb."} +MACRO {map} {"Meteorol. Atmos. Phys."} +MACRO {metmag} {"Meteor. Mag."} +MACRO {metmon} {"Meteor. Monogr."} +MACRO {metrun} {"Meteor. Rundsch."} +MACRO {metzeit} {"Meteor. Z."} +MACRO {metgid} {"Meteor. Gidrol."} +MACRO {mwr} {"Mon. Weather Rev."} +MACRO {nwd} {"Natl. Weather Dig."} +MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} +MACRO {npg} {"Nonlin. Proc. Geophys."} +MACRO {om} {"Oceanogr. Meteorol."} +MACRO {ocac} {"Oceanol. Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Phys. Chem. Earth"} +MACRO {pmg} {"Pap. Meteor. Geophys."} +MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} +MACRO {physzeit} {"Phys. Z."} +MACRO {pps} {"Planet. Space Sci."} +MACRO {pss} {"Planet. Space Sci."} +MACRO {pag} {"Pure Appl. Geophys."} +MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} +MACRO {quatres} {"Quat. Res."} +MACRO {rsci} {"Radio Sci."} +MACRO {rse} {"Remote Sens. Environ."} +MACRO {rgeo} {"Rev. Geophys."} +MACRO {rgsp} {"Rev. Geophys. Space Phys."} +MACRO {rdgeo} {"Rev. Geofis."} +MACRO {revmeta} {"Rev. Meteorol."} +MACRO {sgp}{"Surveys in Geophys."} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Sci. Rev."} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theor. Appl. Climatol."} +MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} +MACRO {wrr} {"Water Resour. Res."} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather Forecast."} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"WMO Bull."} +MACRO {zeitmet} {"Z. Meteorol."} + % End module: geojour.mbs + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] + +MACRO {appopt} {"Appl. Opt."} +MACRO {bell} {"Bell Syst. Tech. J."} +MACRO {ell} {"Electron. Lett."} +MACRO {jasp} {"J. Appl. Spectr."} +MACRO {jqe} {"IEEE J. Quantum Electron."} +MACRO {jlwt} {"J. Lightwave Technol."} +MACRO {jmo} {"J. Mod. Opt."} +MACRO {josa} {"J. Opt. Soc. America"} +MACRO {josaa} {"J. Opt. Soc. Amer.~A"} +MACRO {josab} {"J. Opt. Soc. Amer.~B"} +MACRO {jdp} {"J. Phys. (Paris)"} +MACRO {oc} {"Opt. Commun."} +MACRO {ol} {"Opt. Lett."} +MACRO {phtl} {"IEEE Photon. Technol. Lett."} +MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} +MACRO {sse} {"Solid-State Electron."} +MACRO {sjot} {"Sov. J. Opt. Technol."} +MACRO {sjqe} {"Sov. J. Quantum Electron."} +MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} +MACRO {stph} {"Sov. Phys.--Techn. Phys."} +MACRO {stphl} {"Sov. Techn. Phys. Lett."} +MACRO {vr} {"Vision Res."} +MACRO {zph} {"Z. f. Physik"} +MACRO {zphb} {"Z. f. Physik~B"} +MACRO {zphd} {"Z. f. Physik~D"} + +MACRO {CLEO} {"CLEO"} +MACRO {ASSL} {"Adv. Sol.-State Lasers"} +MACRO {OSA} {"OSA"} + % End module: photjour.mbs +%% Copyright 1994-2008 Patrick W Daly +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +INTEGERS { nameptr namesleft numnames } + + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + duplicate$ #1 > + { "{f.~}{vv~}{ll}{, jj}" } + { "{vv~}{ll}{, f.}{, jj}" } + if$ + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + "," * + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { + + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.book.pages} +{ pages "pages" bibinfo.check + duplicate$ empty$ 'skip$ + { " " * bbl.pages * } + if$ +} +FUNCTION {format.doi} +{ doi empty$ + { "" } + { + "\doi{" doi * "}" * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + cite.name.font + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + t "others" = + 'skip$ + { cite.name.font } + if$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {if.digit} +{ duplicate$ "0" = + swap$ duplicate$ "1" = + swap$ duplicate$ "2" = + swap$ duplicate$ "3" = + swap$ duplicate$ "4" = + swap$ duplicate$ "5" = + swap$ duplicate$ "6" = + swap$ duplicate$ "7" = + swap$ duplicate$ "8" = + swap$ "9" = or or or or or or or or or +} +FUNCTION {n.separate} +{ 't := + "" + #0 'numnames := + { t empty$ not } + { t #-1 #1 substring$ if.digit + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #5 = + { duplicate$ #1 #2 substring$ swap$ + #3 global.max$ substring$ + "," swap$ * * + } + 'skip$ + if$ + } + while$ +} +FUNCTION {n.dashify} +{ + n.separate + '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} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + " (" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + 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 duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + emphasize + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + format.bvolume duplicate$ empty$ 'pop$ + { ", " swap$ * * } + if$ + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + bbl.edby + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + format.vol.num.pages output + format.doi output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.note output + 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.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + format.edition output + format.book.pages output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.doi output + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.book.pages output + format.doi output + format.note output + 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.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + format.edition output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.doi output + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.edition output + format.chapter.pages output + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.doi output + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.number.series output + format.pages output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.doi output + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + format.doi output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.doi output + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + howpublished "howpublished" bibinfo.check output + format.doi output + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.doi output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.doi output + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + format.tr.number emphasize output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.doi output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + format.doi output + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +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 := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + cite.name.font + "others" 't := + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + cite.name.font + "others" 't := + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ + t "others" = + 'skip$ + { cite.name.font } + 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.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" 't := } + 'skip$ + if$ + numnames #2 > nameptr #2 = and + { "zz" * year field.or.null * " " * + #1 'namesleft := + } + { t sortify * } + if$ + } + { 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 {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 + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + "a" chr.to.int$ #1 - 'last.extra.num.blank := + last.extra.num.blank 'last.extra.num.extended := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num "z" chr.to.int$ > + { "a" chr.to.int$ 'last.extra.num := + last.extra.num.extended #1 + 'last.extra.num.extended := + } + 'skip$ + if$ + last.extra.num.extended last.extra.num.blank > + { last.extra.num.extended int.to.chr$ + last.extra.num int.to.chr$ + * 'extra.label := } + { last.extra.num int.to.chr$ 'extra.label := } + if$ + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + 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 + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else" + write$ newline$ + " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi" + 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 +%% +%% End of file `agufull08.bst'. diff --git a/macros/latex/contrib/uafthesis/bib_styles/unsrtabbrv3.bst b/macros/latex/contrib/uafthesis/bib_styles/unsrtabbrv3.bst new file mode 100644 index 0000000000..685810bfad --- /dev/null +++ b/macros/latex/contrib/uafthesis/bib_styles/unsrtabbrv3.bst @@ -0,0 +1,948 @@ +% BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { 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$
+ 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.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ '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 * }
+ { 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 }
+ 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
+ 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 =
+ { "number" }
+ { "Number" }
+ 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$ " edition" * }
+ { 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$
+ { "chapter" }
+ { 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$
+ { "In " booktitle emphasize * }
+ { "In " 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$
+ { "Technical Report" }
+ '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$
+ ""
+ }
+ { "In {\em " 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 "
+ }
+ { "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$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" 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
+ 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$
+ 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
+ new.block
+ note output
+ fin.entry
+}
+
+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
+ 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$
+ 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
+ fin.entry
+}
+
+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
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" 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
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+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
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ "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
+ title howpublished new.block.checkb
+ 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
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "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$
+ { 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
+ fin.entry
+}
+
+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
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ 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. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. 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.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. 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
+
+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}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/macros/latex/contrib/uafthesis/example/abstract.tex b/macros/latex/contrib/uafthesis/example/abstract.tex new file mode 100644 index 0000000000..ae92e213f0 --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/abstract.tex @@ -0,0 +1,4 @@ +This document gives a quick, relatively minimal example of the use of +\texttt{uafthesis.cls}, while trying to show its features. + +This section is contained in \texttt{abstract.tex}. diff --git a/macros/latex/contrib/uafthesis/example/acknowledgements.tex b/macros/latex/contrib/uafthesis/example/acknowledgements.tex new file mode 100644 index 0000000000..7dca8297e9 --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/acknowledgements.tex @@ -0,0 +1,7 @@ +\texttt{uafthesis.cls} was originally written by Curt A. L. Szuberla, ``kludged from the [standard] latex2e \texttt{report.cls} and from \texttt{ucthesis.cls}'' +in Fall 1996. It has since been updated by Matt Heavner in 1999, Dana Moudry in +2002, and Ryan Woodard in 2004. As the author of the more recent updates (2011), +I would just like to point out that 99\% of the work was done by, well, a +\emph{lot} of other people. + +Thanks, guys. diff --git a/macros/latex/contrib/uafthesis/example/apx1.tex b/macros/latex/contrib/uafthesis/example/apx1.tex new file mode 100644 index 0000000000..56aab7152a --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/apx1.tex @@ -0,0 +1,28 @@ +\chapter{Extraneous Images and Tables} + +\begin{figure}[h] +\label{fig:onebattery} +\centering +\includegraphics[width=0.4\textwidth]{fig/onebattery} +\caption{Eating \(1\) battery} +\end{figure} + +\begin{figure}[h] +\label{fig:fivebatteries} +\centering +\includegraphics[width=0.4\textwidth]{fig/fivebatteries} +\caption{Eating \(5\) batteries} +\end{figure} + +\begin{table}[h] +\label{tab:ssb} +\caption{Captain Falcon} +\centering +\begin{tabular}{r | l} +Falcons & Not Falcons\\ +\hline +FALCON & KICK\\ +FALCON & KICK\\ +FALCON & PUNCH!! +\end{tabular} +\end{table} diff --git a/macros/latex/contrib/uafthesis/example/build.sh b/macros/latex/contrib/uafthesis/example/build.sh new file mode 100755 index 0000000000..96dd98907c --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/build.sh @@ -0,0 +1,8 @@ +pdflatex example +pdflatex example +pdflatex example +bibtex example +pdflatex example +cp example.toc.bk example.toc +cp example.loa.bk example.loa +pdflatex example diff --git a/macros/latex/contrib/uafthesis/example/ch1.tex b/macros/latex/contrib/uafthesis/example/ch1.tex new file mode 100644 index 0000000000..bd649adb9d --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/ch1.tex @@ -0,0 +1,74 @@ +\chapter{What's All This, Then?} + +\section{Introduction} + +This is the project for the \texttt{uafthesis} \LaTeX document class, the +official unofficial volunteer-driven document class for theses written for the +University of Alaska Fairbanks, in \LaTeX. + +\section{Prerequisites} + +Before you decide to write your thesis in \LaTeX, you should already know a +little \LaTeX and feel comfortable writing and compiling a simple document, +especially one with figures and tables. + +Additionally, you will have to use \texttt{bibtex} (or some alternative) to keep +track of references. It's not particularly difficult, but chances are you will +have to either learn it or give yourself a refresher. + +One thing you will see in this example that you may not have encountered before +is the use of \textbackslash input and \textbackslash include to split the project into multiple, smaller +files. The most important difference is that \textbackslash include will wrap the included +file in page-breaks, while \textbackslash input may as well be a copy-paste job. + +Another issue that may come up is having to run \texttt{pdflatex} and +\texttt{bibtex} multiple times. In order to do a full compile without anything +wrong, you will have to run something like the following commands: + +\begin{verbatim} +pdflatex example +pdflatex example +pdflatex example +bibtex example +pdflatex example +pdflatex example +\end{verbatim} + +That's right, \texttt{pdflatex} gets ran five times. A similar situation arises +from the use of vanilla \texttt{latex}. This is because of how \LaTeX generates +files while compiling that it uses to fill in data during subsequent +run-throughs. + +This can be mitigated somewhat by using some sort of build system. For example, +Ryan Woodard advocated using a makefile to ease the pain. Another option may +be Rubber, or even the full set of commands in a shell script. There are many +techniques, some more appropriate than others. \cite{buildsystems} + +It is also worth your time to read other theses, to get an idea of how they +should be written. This may seem obvious, but I will admit that I did not, and +I ended up going through many a rewrite. Also obvious: This document is +\emph{not} written like a thesis. Duh. + +Finally, \textbf{at least skim the UAF Thesis Handbook}. \cite{handbook} It's +not hard, and it will give you an idea of what to expect in terms of formatting. +In particular, as \texttt{uafthesis} is a volunteer effort, \emph{there is no +guarantee that the graduate school's formatting guidelines are met by this +document class.} Moreover, some things (such as proper initial capitals in title +headings) are on you, and not something \texttt{uafthesis} does for you. + + +\section{Installation} + +Like any \LaTeX files, there are basically two ways: + +\begin{itemize} +\item Copy \texttt{uafthesis.cls} into the same folder as your project. This is +probably the easiest way. +\item Set yourself up with a properly indexed \texttt{~/texmf/latex} folder, +create a new folder called ``uafthesis,'' and put \texttt{uafthesis.cls} into +that folder. This involves some initial effort, but if you use \LaTeX regularly +it's worthwhile for holding all sorts of packages. In fact, if you are a +regular \LaTeX user, you may have already done this. +\end{itemize} + +Which method you choose is up to you. diff --git a/macros/latex/contrib/uafthesis/example/ch2.tex b/macros/latex/contrib/uafthesis/example/ch2.tex new file mode 100644 index 0000000000..8bd13b00d0 --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/ch2.tex @@ -0,0 +1,146 @@ +\chapter{Basic Use} + +\section{Introduction} + +In this section, I take the main file, show some snippets, and explain what +they all mean, or why you would want to use these things. + +\section{example.tex} + +\begin{verbatim} +\documentclass{uafthesis} +\end{verbatim} + +This is where the secret sauce is. + +\begin{verbatim} +\usepackage{fixltx2e} % Allows \(\) in captions, amongst other things. +\usepackage{ppl} % The Paladino font +\usepackage{amsmath, amssymb, amsfonts} % Thanks, AMS! +\usepackage{graphicx, float} % Graphics stuff +\usepackage{verbatim} % For very basic listings and multi-line comments. +%\usepackage{chapterbib} % This is an option for those bundling papers. +\usepackage[square]{natbib} +%\usepackage{tocbibind} % This fixes the "bibliography in ToC" problem. + % Use with chapterbib. +\usepackage{url} % I quote some URLs in the bibliography" +\end{verbatim} + +\texttt{fixltx2e} fixes an annoying bug where using inline mathematics +delimiters in captions for graphics and tables would cause errors in the +compiler. Alternately, one may simply use the dollar signs instead. + +\texttt{ppl} is the ``Paladino'' font, which has been extremely popular for +UAF theses in the past. There is, however, no rule against using ``Computer +Modern'' or some other font, and in fact ``Paladino'' was originally intended +for headings only when it was designed (fun fact). + +Some writers of theses end up bundling multiple published papers into a thesis, +especially in the case of PhD candidates. \texttt{chapterbib} allows for +separate bibliographies for each chapter, which is the most appropriate format +given this bundled-paper style of thesis. Many theses---mine included---only +have a single bibliography. + +Finally, \texttt{natbib} allows one to change how citations appear. + +\small +\begin{verbatim} +\input{custom-macros.tex} +\end{verbatim} +\normalsize + +Many authors write their own \LaTeX macros in order to make writing their thesis +easier. This document does not have any custom macros. + +\small +\begin{verbatim} +\begin{document} + +\title{An Example Thesis Document} +\author{Joshua Holbrook} + +\degreeyear{2011} +\degreemonth{May} +\degree{Master of Arts} +\department{Dept. of Fresh Beats} +\numberofmembers{3} % Make sure this is right! The grad school hates empty + % signature lines. +\prevdegrees{B.A.M.F.} +\college{College of Pwning Noobs} + +\makesig +\maketitle +\end{verbatim} +\normalsize + +In this section, the important information about the thesis is filled in, and +then the signature page and title page are generated. + +\small +\begin{verbatim} +% Wondering when to use `input' and when to use `include?' +% read http://en.wikibooks.org/wiki/LaTeX/Basics#Big_Projects . +\begin{abstract} + \input abstract.tex +\end{abstract} + +%Table of Contents and such +\tableofcontents +\listoffigures +\listoftables +%\listofothermaterials +\listofappendices +\end{verbatim} +\normalsize + +Here, the abstract is inserted, then the table of contents and other tables. +Note that the appendices are in a separate table. \textbf{This is not typical} +in \LaTeX and requires special handling, as detailed in the next chapter. +Similarly with the List of Other Materials, if your thesis has one (think +CDs and such). + +\small +\begin{verbatim} +\begin{acknowledgements} + \input acknowledgements.tex +\end{acknowledgements} + +\begin{quotepage} + \input quotepage.tex +\end{quotepage} + +\include{ch1} +\include{ch2} +\include{ch3} +\end{verbatim} +\normalsize + +After inputting a few more pages, the chapters (separate documents) are all +included. + +\small +\begin{verbatim} +\nocite{wikibook} +\bibliographystyle{agufull08} +\bibliography{thesis} +\end{verbatim} +\normalsize + +This generates the bibliography. Note that the bibliography style is set to +\texttt{agufull08}. Generally, the graduate school isn't picky about +bibliography style, as long as it's consistent. For geophysics papers (very +common at UAF), the AGU style is a great choice. It is included here, but may +also be found at AGU's web site. + +\small +\begin{verbatim} +\appendix +\include{apx1} + +\end{document} +\end{verbatim} +\normalsize + +This is how appendices are included. In fact, they are written just like +regular chapters, and the \textbackslash appendix flag signals that following +chapters should be given letters (A, B, C...) instead of numbers (1, 2, 3...). diff --git a/macros/latex/contrib/uafthesis/example/ch3.tex b/macros/latex/contrib/uafthesis/example/ch3.tex new file mode 100644 index 0000000000..573d661668 --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/ch3.tex @@ -0,0 +1,66 @@ +\chapter{Gotchas and Caveats} + +\section{Introduction} + +\texttt{uafthesis} is not perfect. It still has issues that you need to keep +in mind. + +\section{List of Appendices Chicanery} + +In an ideal world, \texttt{uafthesis} would write your appendices to the +list of appendices instead of the table of contents. This is currently a bug, +and will be fixed in the future. + +The workaround is this: + +\begin{enumerate} +\item After generating a pretty-much-done thesis, open up the .toc file. In +this case, the file is called ``example.toc.'' Also open up a corresponding +.loa file (``example.loa''). +\item Cut the lines that refer to appendices out of the .toc file and paste +them into the .loa file. Save both. Make sure the first line in the .loa +that adds "Page" above the pages column stays put. +\item \emph{Make backups of both files.} This is because \LaTeX will overwrite +the .toc file in the next step. +\item Compile (\texttt{pdflatex example}) \emph{exactly once.} +\end{enumerate} + +\section{List of Other Materials} + +A similar process applies to the List of Other Materials as well: + +\begin{quotation} +{ \it ``If you add a pocket or anything else to your thesis (like a CD-ROM) +then you have to have one more List in the Table of Contents. Follow +the exact same procedure as in step 14, but now you must add the +command: + +\textbackslash listofothermaterials + +Notice that this goes before the \textbackslash listofappendices. The file that you +must edit is the thesis12.lom file. You have to create this by hand. +It is simple. Here is the example: + +\textbackslash renewcommand\textbackslash @pnumwidth\{3.55em\} +\textbackslash contentsline \{section\}{\textbackslash numberline \{A\}CD-ROM of Thesis, Defense and Sandpile Code\}\{Pocket\} +\textbackslash renewcommand\textbackslash @pnumwidth\{1.55em\} + +Again, once you save this and run latex once, it will be erased. A +good habit is to make thesis12.lom.bak and thesis12.loa.bak so they +will always be there. Then copy them to thesis12.lom and thesis12.loa +and run latex your final time. + +I did the \textbackslash @pnumwidth stuff above because the word `Pocket' is wider +than is allowed for a page number. So I changed it just for this one +line and then changed it back to what it was (as found in the +uafthesis2004.cls file).''\\ +\hspace*{1in}---Ryan Woodard +\end{quotation} + +I suspect that there's a better way to do this, but I haven't gotten that far +yet. + +\section{Bibliography Listings} + +If you use \texttt{chapterbib}, also use \texttt{tocbibind} to make sure that +your bibliographies show up in the Table of Contents. diff --git a/macros/latex/contrib/uafthesis/example/custom-macros.tex b/macros/latex/contrib/uafthesis/example/custom-macros.tex new file mode 100644 index 0000000000..d79ff26623 --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/custom-macros.tex @@ -0,0 +1 @@ +\renewcommand{\cite}[1]{\citep{#1}} diff --git a/macros/latex/contrib/uafthesis/example/example.loa.bk b/macros/latex/contrib/uafthesis/example/example.loa.bk new file mode 100644 index 0000000000..0940946722 --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/example.loa.bk @@ -0,0 +1,2 @@ +\nobreakspace {}\hfill \textbf {Page}\par +\contentsline {chapter}{\numberline {A}Extraneous Images}{8} diff --git a/macros/latex/contrib/uafthesis/example/example.tex b/macros/latex/contrib/uafthesis/example/example.tex new file mode 100644 index 0000000000..1305452cfe --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/example.tex @@ -0,0 +1,72 @@ +\documentclass{../uafthesis} + +\usepackage{amsmath, amssymb, amsfonts} % Thanks, AMS! +\usepackage{fixltx2e} % Allows \(\) in captions, amongst other things. +%\usepackage{ppl} % The Paladino font (tough to find?) +\usepackage{pxfonts} % Paladino-like fonts +\usepackage{graphicx, float} % Graphics stuff +\usepackage{verbatim} % Mostly for the comment environment. +%\usepackage{chapterbib} % This is an option for those bundling papers. +\usepackage[square]{natbib} +%\usepackage{tocbibind} % This fixes the "bibliography in ToC" problem. + % Use with chapterbib. +\usepackage{url} % I quote some URLs in the bibliography" + +\input{custom-macros.tex} + +\begin{document} + +\title{An Example Thesis Document} +\author{Joshua Holbrook} + +\degreeyear{2011} +\degreemonth{May} +\degree{Master of Arts} +\department{Dept. of Fresh Beats} +\numberofmembers{3} % Make sure this is right! The grad school hates empty + % signature lines. +\committeewidth{4in} +\approvedwidth{4in} +\comitteespace{\hfill} +\approvedspace{\hfill} + +\prevdegrees{B.A.M.F.} +\college{College of Pwning Noobs} + + +\makesig +\maketitle + +% Wondering when to use `input' and when to use `include?' +% read http://en.wikibooks.org/wiki/LaTeX/Basics#Big_Projects . +\begin{abstract} + \input abstract.tex +\end{abstract} + + +%Table of Contents and such +\tableofcontents +\listoffigures +\listoftables +%\listofothermaterials +\listofappendices + +\begin{acknowledgements} + \input acknowledgements.tex +\end{acknowledgements} + +\begin{quotepage} + \input quotepage.tex +\end{quotepage} + +\include{ch1} +\include{ch2} + +\nocite{wikibook} +\bibliographystyle{agufull08} +\bibliography{example} + +\appendix +\include{apx1} + +\end{document} diff --git a/macros/latex/contrib/uafthesis/example/example.toc.bk b/macros/latex/contrib/uafthesis/example/example.toc.bk new file mode 100644 index 0000000000..81f373978d --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/example.toc.bk @@ -0,0 +1,17 @@ +\nobreakspace {}\hfill \textbf {Page}\par +\contentsline {section}{Signature Page}{i} +\contentsline {section}{Title Page}{ii} +\contentsline {section}{Abstract}{iii} +\contentsline {section}{Table of Contents}{iv} +\contentsline {section}{List of Figures}{v} +\contentsline {section}{List of Tables}{vi} +\contentsline {section}{List of Appendices}{vii} +\contentsline {section}{Acknowledgements}{viii} +\contentsline {chapter}{\numberline {1}What's All This, Then?}{1} +\contentsline {section}{\numberline {1.1}Introduction}{1} +\contentsline {section}{\numberline {1.2}Prerequisites}{1} +\contentsline {section}{\numberline {1.3}Installation}{2} +\contentsline {chapter}{\numberline {2}Basic Use}{3} +\contentsline {section}{\numberline {2.1}Introduction}{3} +\contentsline {section}{\numberline {2.2}example.tex}{3} +\contentsline {chapter}{Bibliography}{7} diff --git a/macros/latex/contrib/uafthesis/example/fig/fivebatteries.png b/macros/latex/contrib/uafthesis/example/fig/fivebatteries.png Binary files differnew file mode 100644 index 0000000000..5639e9f41b --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/fig/fivebatteries.png diff --git a/macros/latex/contrib/uafthesis/example/fig/onebattery.png b/macros/latex/contrib/uafthesis/example/fig/onebattery.png Binary files differnew file mode 100644 index 0000000000..193712344e --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/fig/onebattery.png diff --git a/macros/latex/contrib/uafthesis/example/quotepage.tex b/macros/latex/contrib/uafthesis/example/quotepage.tex new file mode 100644 index 0000000000..5c0b38194d --- /dev/null +++ b/macros/latex/contrib/uafthesis/example/quotepage.tex @@ -0,0 +1,13 @@ +\vspace{2in}
+
+\begin{quotation}
+ {\it ``It looks...perfect. Wow.''} \\
+ \hspace*{1in}---Faith Rayfield, Past Thesis Checker
+\end{quotation}
+
+\vspace{1in}
+
+\begin{quotation}
+ {\it ``The title on the Title Page needs to be the same font size as the rest of the page.''} \\
+ \hspace*{1in}---Laura Bender, Graduate School Director (2011)
+\end{quotation}
diff --git a/macros/latex/contrib/uafthesis/uafthesis.cls b/macros/latex/contrib/uafthesis/uafthesis.cls new file mode 100644 index 0000000000..bb04d8e5b4 --- /dev/null +++ b/macros/latex/contrib/uafthesis/uafthesis.cls @@ -0,0 +1,897 @@ +%% uafthesis.cls -- curt a.l. szuberla 1996/11/13
+%%
+%% produces a UAF approved thesis format; kludged from the
+%% std. latex2e report.cls and from ucthesis.cls; uses many
+%% features of the former and is not so complex as the
+%% latter; for my comments, see the "%%" marks
+%%
+
+%% Edited by Matt Heavner 1999/02/05
+%% Add index (so it'll show up on the toc)
+%% Increment the version number
+%% Edited by Dana Moudry 2002/12/18
+
+%% Edited by Ryan Woodard 2004/8/16
+%% Made all fonts the same size so that Craven will shut up.
+%%
+%% Edited by Joshua Holbrook 2010/3/08
+%% Fixed font size in title page, added "Page" headings.
+%%
+%% Edited by Jesse Frey 2012/12/6
+%% Messed with the signature page some of us need longer lines
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{uafthesis}
+%% [2011/04/20 v5.0 UAF thesis class]
+%% [2004/08/17 v4.9 UAF thesis class]
+%% [2002/12/18 v4.8 UAF thesis class]
+%% [1999/02/05 v4.7 UAF thesis class]
+\newcommand\@ptsize{}
+\newif\if@restonecol
+\newif\if@openright
+\newif\if@openbib
+\newif\if@arabic
+\newif\if@chapterone
+\@chapteronetrue
+\@arabicfalse
+\@openbibfalse
+
+% These add the "page" headings. They are placed early to ensure that
+% they are the *first* item.
+\addtocontents{toc}{~\hfill \textbf{Page}\par}
+\addtocontents{loa}{~\hfill \textbf{Page}\par}
+\addtocontents{lot}{~\hfill \textbf{Page}\par}
+\addtocontents{lof}{~\hfill \textbf{Page}\par}
+\addtocontents{lom}{~\hfill \textbf{Page}\par}
+
+%% options have been reduced to what is reasonable for a uaf thesis
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
+\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+\DeclareOption{openright}{\@openrighttrue}
+\DeclareOption{openany}{\@openrightfalse}
+\DeclareOption{leqno}{\input{leqno.clo}}
+\DeclareOption{fleqn}{\input{fleqn.clo}}
+\DeclareOption{openbib}{\@openbibtrue}
+\DeclareOption{arabic}{\@arabictrue}
+\ExecuteOptions{11pt,oneside,final,openany}
+\ProcessOptions
+
+%% too lazy to deconvolve columnar options, so hard-wired to onecolumn!
+\@twocolumnfalse
+\setlength\paperheight {11in}%
+ \setlength\paperwidth {8.5in}
+\input{size1\@ptsize.clo}
+\setlength\lineskip{1\p@}
+\setlength\normallineskip{1\p@}
+
+%% typset the thing in 1.5ish spacing; but provide for singlespaced
+%% captions; redefine to 2.0, etc. if you don't like 1.37
+\renewcommand\baselinestretch{1.37}
+\def\ssp{\def\baselinestretch{1.0}\large\normalsize}
+\def\dsp{\def\baselinestretch{1.37}\large\normalsize}
+\setlength\parskip{0\p@ \@plus \p@}
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+\setcounter{topnumber}{2}
+\renewcommand\topfraction{.7}
+\setcounter{bottomnumber}{1}
+\renewcommand\bottomfraction{.3}
+\setcounter{totalnumber}{3}
+\renewcommand\textfraction{.2}
+\renewcommand\floatpagefraction{.5}
+\setcounter{dbltopnumber}{2}
+\renewcommand\dbltopfraction{.7}
+\renewcommand\dblfloatpagefraction{.5}
+
+%% We need a degree!
+\def\@department{Department of Physics}
+\def\department#1{\gdef\@department{#1}}
+
+%% declarations used to declare arguments needed for the
+%% construction of the front matter.
+%% The year the degree will be officially conferred
+\def\degreeyear#1{\gdef\@degreeyear{#1}}
+%% The month the degree will be officially conferred
+\def\degreemonth#1{\gdef\@degreemonth{#1}}
+%% The full (unabbreviated) name of the degree
+\def\degree#1{\gdef\@degree{#1}}
+%% All previous degrees: one per line in chronological order
+\def\prevdegrees#1{\gdef\@prevdegrees{#1}}
+%% The number of committee members, which provides for the
+%% correct number of lines on the signature page. INCLUDE THE
+%% CHAIR IN THIS NUMBER!
+\def\@numberofmembers{3}
+\def\numberofmembers#1{\gdef\@numberofmembers{#1}}
+%% The name of your college or school
+\def\college#1{\gdef\@college{#1}}
+%% The width of committee signature lines
+\def\@committeewidth{3in}
+\def\committeewidth#1{\gdef\@committeewidth{#1}}
+%% The width of approval signature and date lines
+\def\@approvedwidth{3.75in}
+\def\approvedwidth#1{\gdef\@approvedwidth{#1}}
+%% The space between "RECOMMENDED:" and the committee signature lines
+\def\@comitteespace{\hfill}
+\def\comitteespace#1{\gdef\@comitteespace{#1}}
+%% The space between "APPROVED:" and the approval lines
+\def\@approvedspace{\hspace{0.75in}}
+\def\approvedspace#1{\gdef\@approvedspace{#1}}
+
+
+%% \maketitle makes titlepage. requires all the above macros
+\def\maketitle{
+{ \let\footnotesize\small
+ \let\footnoterule\relax
+ \if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+ \setcounter{page}{2}
+ \thispagestyle{empty}
+ \addcontentsline{toc}{section}{\titlename}
+ \null\vfill
+ \begin{center}
+ {\bfseries {\expandafter\uppercase\expandafter{\@title}} \par}
+ \bigskip \bigskip \medskip
+ A \par
+ \medskip
+ THESIS \par
+ \bigskip \bigskip \medskip
+ Presented to the Faculty \par
+ \medskip
+ of the University of Alaska Fairbanks \par
+ \bigskip \medskip
+ in Partial Fulfillment of the Requirements \par
+ \medskip
+ for the Degree of \par
+ \bigskip \bigskip \medskip
+ {\expandafter\uppercase\expandafter{\@degree}} \par
+ \bigskip \bigskip \bigskip
+ By \par
+ \bigskip
+ {\@author}, {\@prevdegrees} \par
+ \bigskip \bigskip
+ Fairbanks, Alaska \par
+ \bigskip
+ {\@degreemonth} {\@degreeyear}
+ \end{center}
+ \vfill\null
+\setcounter{footnote}{0}
+}\newpage}
+
+%% The \makesig macro emits a UAF-approved signature page ready for
+%% your committee's signature. requires the the \title, \author, and
+%% \college macros have been defined. (this bastard finally is
+%% independant of the font you choose for the thesis!)
+\def\makesig{
+\setcounter{page}{1}
+\thispagestyle{empty}
+\if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+\addcontentsline{toc}{section}{\signame}
+\begin{center}
+ {\large \bfseries {\expandafter\uppercase\expandafter{\@title}} \par}
+ \bigskip \bigskip
+ By \par
+ \bigskip \bigskip
+ {\@author} \par
+ \bigskip \bigskip \medskip
+\vspace{.25in}
+\end{center}
+RECOMMENDED:\@comitteespace
+\begin{minipage}[t]{\@committeewidth}
+ \rule{\@committeewidth}{.05mm}\vskip2.5ex\relax
+ \rule{\@committeewidth}{.05mm}
+ \vskip2.5ex\relax
+ \rule{\@committeewidth}{.05mm}
+ \vskip2.5ex\relax
+ \ifnum \@numberofmembers = 3
+ \vskip-3.5ex\relax
+ \relax Advisory Committee Chair \vskip2.5ex
+ \fi
+ \ifnum \@numberofmembers = 4
+ \rule{\@committeewidth}{.05mm}
+ \vskip-1ex\relax
+ \relax Advisory Committee Chair \vskip2.5ex
+ \fi
+ \ifnum \@numberofmembers = 5
+ \rule{\@committeewidth}{.05mm}
+ \vskip2.5ex\relax
+ \rule{\@committeewidth}{.05mm}
+ \vskip-1ex\relax
+ \relax Advisory Committee Chair \vskip2.5ex
+ \fi
+ \ifnum \@numberofmembers = 6
+ \rule{\@committeewidth}{.05mm}
+ \vskip2.5ex\relax
+ \rule{\@committeewidth}{.05mm}
+ \vskip2.5ex\relax
+ \rule{\@committeewidth}{.05mm}
+ \vskip-1ex\relax
+ \relax Advisory Committee Chair \vskip2.5ex
+ \fi
+ \rule{\@committeewidth}{.05mm}
+ \vskip-1ex\relax
+ \relax Chair, \@department
+\end{minipage}
+\bigskip \bigskip \bigskip \par
+%\noindent APPROVED: \@approvedspace
+\noindent APPROVED: \@approvedspace
+\begin{minipage}[t]{\@approvedwidth}
+ \rule{\@approvedwidth}{.05mm}
+ \vskip-1ex\relax
+ Dean, {\@college}
+ \vskip2.5ex\relax
+ \rule{\@approvedwidth}{.05mm}
+ \vskip-1ex\relax
+ Dean of the Graduate School
+ \vskip2.5ex\relax
+ \rule{\@approvedwidth}{.05mm}
+ \vskip-1ex\relax
+ Date
+\end{minipage}
+\newpage
+}
+
+%% the abstract goes here and gets its page set to 3, as req'd (note:
+%% abstract and acknowledgements are frontschap's --> defined later)
+\newenvironment{abstract}{
+\if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+\setcounter{page}{3}\frontchap*{\abstractname}
+\addcontentsline{toc}{section}{\abstractname}
+}
+{\newpage\renewcommand{\thepage}{\arabic{page}}}
+
+%% after the acknowledgements we reset to arabic page #'s if req'd
+\newenvironment{acknowledgements}
+{
+\if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+\newpage\addcontentsline{toc}{section}{\acknowledgename}
+\frontchap*{\acknowledgename}
+}
+{\newpage\renewcommand{\thepage}{\arabic{page}}}
+
+%% a page for quotes, etc. is allowed here; it is unnumbered
+%% but page counter advances
+\newenvironment{quotepage}
+{
+\if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+\frontchap*{\relax}\thispagestyle{empty}
+}
+{\newpage\renewcommand{\thepage}{\arabic{page}}}
+
+%% just for heavner
+\newenvironment{preface}
+{
+\if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+\newpage\addcontentsline{toc}{section}{\prefname}
+\frontchap*{\prefname}
+}
+{\newpage\renewcommand{\thepage}{\arabic{page}}}
+
+%% Index (use /index in text,
+%% have \begin{nindex}\printindex\end{nindex} (after Bib)
+\newenvironment{nindex}
+{
+%\if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+%%\newpage\addcontentsline{toc}{section}{\indname}
+\newpage\addcontentsline{toc}{section}{\indname}
+%%\frontchap*{\prefname}
+}
+%%{\newpage\renewcommand{\thepage}{\arabic{page}}}
+
+%%%%%%%%%%%%%%%
+\if@twoside
+ \def\ps@headings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ \fi
+ ##1}}{}}%
+ \def\sectionmark##1{%
+ \markright {\uppercase{\ifnum \c@secnumdepth >\z@
+ \thesection. \ \fi
+ ##1}}}}
+\else
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ \fi
+ ##1}}}}
+\fi
+\def\ps@myheadings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\@gobbletwo
+ \let\chaptermark\@gobble
+ \let\sectionmark\@gobble
+ }
+\newcommand\chaptermark[1]{}
+\setcounter{secnumdepth}{2}
+\newcounter {part}
+\newcounter {chapter}
+\newcounter {section}[chapter]
+\newcounter {subsection}[section]
+\newcounter {subsubsection}[subsection]
+\newcounter {paragraph}[subsubsection]
+\newcounter {subparagraph}[paragraph]
+\renewcommand\thepart {\Roman{part}}
+\renewcommand\thechapter {\arabic{chapter}}
+\renewcommand\thesection {\thechapter.\arabic{section}}
+\renewcommand\thesubsection {\thesection.\arabic{subsection}}
+\renewcommand\thesubsubsection {\thesubsection .\arabic{subsubsection}}
+\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}}
+\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}}
+\newcommand\@chapapp{\chaptername}
+\newcommand\part{\cleardoublepage
+ \thispagestyle{myheadings}%
+ \if@twocolumn
+ \onecolumn
+ \@tempswatrue
+ \else
+ \@tempswafalse
+ \fi
+ \hbox{}\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
+ \interlinepenalty \@M
+ \reset@font
+ \ifnum \c@secnumdepth >-2\relax
+ \normalsize\bfseries \partname~\thepart
+ \par
+ \fi
+ \normalsize \bfseries #2\par}%
+ \@endpart}
+\def\@spart#1{%
+ {\centering
+ \interlinepenalty \@M
+ \reset@font
+ \normalsize \bfseries #1\par}%
+ \@endpart}
+\def\@endpart{\vfil\newpage
+ \if@twoside
+ \hbox{}%
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
+\newcommand\chapter{
+\if@arabic\relax\else\if@chapterone\setcounter{page}{1}\else\relax\fi\fi
+\@chapteronefalse
+ \if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{myheadings}%
+ \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{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \addtocontents{lom}{\protect\addvspace{10\p@}}%
+ \addtocontents{loa}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi}
+\def\@makechapterhead#1{%
+ {\parindent \z@ \centering \reset@font
+ \ifnum \c@secnumdepth >\m@ne
+ \normalsize\bfseries \@chapapp{} \thechapter
+ \par
+ \fi
+ \normalsize \bfseries #1\par
+ \nobreak
+ }}
+\def\@schapter#1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi}
+\def\@makeschapterhead#1{%
+ {\parindent \z@ \centering
+ \reset@font
+ \normalsize \bfseries #1\par
+ \nobreak
+ }}
+
+%% here's the frontchap stuff, TOTALLY the same as a chapter, but with
+%% centered chapter title
+\newcommand\frontchap{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{myheadings}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@frontchap\@sfrontchap}
+\def\@frontchap[#1]#2{\ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{frontchap}%
+ \typeout{\@chapapp\space\thefrontchap.}%
+ \addcontentsline{toc}{frontchap}%
+ {\protect\numberline{\thefrontchap}#1}%
+ \else
+ \addcontentsline{toc}{frontchap}{#1}
+ \fi
+ \frontchapmark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \addtocontents{lom}{\protect\addvspace{10\p@}}%
+ \addtocontents{loa}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makefrontchaphead{#2}]%
+ \else
+ \@makefrontchaphead{#2}%
+ \@afterheading
+ \fi}
+\def\@makefrontchaphead#1{%
+ {\parindent \z@ \centering \reset@font
+ \ifnum \c@secnumdepth >\m@ne
+ \normalsize\bfseries \@chapapp{} \thefrontchap
+ \par
+ \fi
+ \centering \bfseries #1\par
+ \nobreak
+ }}
+\def\@sfrontchap#1{\if@twocolumn
+ \@topnewpage[\@makesfrontchaphead{#1}]%
+ \else
+ \@makesfrontchaphead{#1}%
+ \@afterheading
+ \fi}
+\def\@makesfrontchaphead#1{%
+%% put these suckers at top of page
+%% \vspace*{50\p@}%
+ {\parindent \z@ \centering
+ \reset@font
+ \begin{center}
+ \normalsize \bfseries #1\end{center}\par
+ \nobreak
+%% \vskip 40\p@
+ }}
+\newcommand\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {0.1ex }%
+ {\reset@font\normalsize\bfseries}}
+\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\reset@font\normalsize\bfseries}}
+\if@twocolumn
+ \setlength\leftmargini {2em}
+\else
+ \setlength\leftmargini {2.5em}
+\fi
+\setlength\leftmarginii {2.2em}
+\setlength\leftmarginiii {1.87em}
+\setlength\leftmarginiv {1.7em}
+\if@twocolumn
+ \setlength\leftmarginv {.5em}
+ \setlength\leftmarginvi {.5em}
+\else
+ \setlength\leftmarginv {1em}
+ \setlength\leftmarginvi {1em}
+\fi
+\setlength\leftmargin {\leftmargini}
+\setlength \labelsep {.5em}
+\setlength \labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+\renewcommand\theenumi{\arabic{enumi}}
+\renewcommand\theenumii{\alph{enumii}}
+\renewcommand\theenumiii{\roman{enumiii}}
+\renewcommand\theenumiv{\Alph{enumiv}}
+\newcommand\labelenumi{\theenumi.}
+\newcommand\labelenumii{(\theenumii)}
+\newcommand\labelenumiii{\theenumiii.}
+\newcommand\labelenumiv{\theenumiv.}
+\renewcommand\p@enumii{\theenumi}
+\renewcommand\p@enumiii{\theenumi(\theenumii)}
+\renewcommand\p@enumiv{\p@enumiii\theenumiii}
+\newcommand\labelitemi{$\m@th\bullet$}
+\newcommand\labelitemii{\normalfont\bfseries --}
+\newcommand\labelitemiii{$\m@th\ast$}
+\newcommand\labelitemiv{$\m@th\cdot$}
+\newenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \let\makelabel\descriptionlabel}}
+ {\endlist}
+\newcommand\descriptionlabel[1]{\hspace\labelsep
+ \normalfont\bfseries #1}
+\newenvironment{verse}
+ {\let\\=\@centercr
+ \list{}{\itemsep \z@
+ \itemindent -1.5em%
+ \listparindent\itemindent
+ \rightmargin \leftmargin
+ \advance\leftmargin 1.5em}%
+ \item[]}
+ {\endlist}
+\newenvironment{quotation}
+ {\list{}{\listparindent 1.5em%
+ \itemindent \listparindent
+ \rightmargin \leftmargin
+ \parsep \z@ \@plus\p@}%
+ \item[]}
+ {\endlist}
+\newenvironment{quote}
+ {\list{}{\rightmargin\leftmargin}%
+ \item[]}
+ {\endlist}
+\newcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \renewcommand\@chapapp{\appendixname}%
+ \renewcommand\thechapter{\Alph{chapter}}}
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+\skip\@mpfootins = \skip\footins
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+\@addtoreset{equation}{chapter}
+\renewcommand\theequation{\thechapter.\arabic{equation}}
+\newcounter{figure}[chapter]
+\renewcommand\thefigure{\thechapter.\@arabic\c@figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename~\thefigure}
+\newenvironment{figure}
+ {\@float{figure}}
+ {\end@float}
+\newenvironment{figure*}
+ {\@dblfloat{figure}}
+ {\end@dblfloat}
+\newcounter{table}[chapter]
+\renewcommand\thetable{\thechapter.\@arabic\c@table}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename~\thetable}
+\newenvironment{table}
+ {\@float{table}}
+ {\end@float}
+\newenvironment{table*}
+ {\@dblfloat{table}}
+ {\end@dblfloat}
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{0\p@}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{#1. #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ {\ssp#1. #2\par}
+ \else
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\def\cal{\protect\pcal}
+\newcommand{\pcal}{\@fontswitch{\relax}{\mathcal}}
+\def\mit{\protect\pmit}
+\newcommand{\pmit}{\@fontswitch{\relax}{\mathnormal}}
+\newcommand\@pnumwidth{1.55em}
+\newcommand\@tocrmarg {2.55em}
+\newcommand\@dotsep{4.5}
+\setcounter{tocdepth}{2}
+\newcommand\tableofcontents{%
+ \@chapteronefalse
+ \if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+ \newpage\addcontentsline{toc}{section}{\contentsname} %added by LEif
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\contentsname
+ \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}%
+ \@chapteronetrue
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+ \newpage\renewcommand{\thepage}{\arabic{page}}}
+\newcommand\l@part[2]{%
+ \ifnum \c@tocdepth >-2\relax
+ \addpenalty{-\@highpenalty}%
+ \addvspace{2.25em \@plus\p@}%
+ \begingroup
+ \setlength\@tempdima{3em}%
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ {\leavevmode
+ \normalsize \bfseries #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
+ \nobreak
+ \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}
+ \endgroup
+ \fi}
+\newcommand\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \setlength\@tempdima{1.5em}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode \bfseries
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+\newcommand\l@section {\@dottedtocline{1}{1.5em}{2.3em}}
+\newcommand\l@subsection {\@dottedtocline{2}{3.8em}{3.2em}}
+\newcommand\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+\newcommand\l@paragraph {\@dottedtocline{4}{10em}{5em}}
+\newcommand\l@subparagraph {\@dottedtocline{5}{12em}{6em}}
+\newcommand\listofappendices{%
+ \@chapteronefalse
+ \if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listappname
+ \@mkboth{\uppercase{\listappname}}%
+ {\uppercase{\listappname}}}%
+ \@chapteronetrue
+ %% get this in contents as a section
+ \addcontentsline{toc}{section}{\listappname}
+ \@starttoc{loa}%
+ \if@restonecol\twocolumn\fi
+ \newpage\renewcommand{\thepage}{\arabic{page}}}
+\newcommand\listofothermaterials{%
+ \@chapteronefalse
+ \if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listothermatname
+ \@mkboth{\uppercase{\listothermatname}}%
+ {\uppercase{\listothermatname}}}%
+ \@chapteronetrue
+ %% get this in contents as a section
+ \addcontentsline{toc}{section}{\listothermatname}
+ \@starttoc{lom}%
+ \if@restonecol\twocolumn\fi
+ \newpage\renewcommand{\thepage}{\arabic{page}}}
+\newcommand\listoffigures{%
+ \@chapteronefalse
+ \if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listfigurename
+ \@mkboth{\uppercase{\listfigurename}}%
+ {\uppercase{\listfigurename}}}%
+ \@chapteronetrue
+ %% get this in contents as a section
+ \addcontentsline{toc}{section}{\listfigurename}
+ \@starttoc{lof}%
+ \if@restonecol\twocolumn\fi
+ \newpage\renewcommand{\thepage}{\arabic{page}}}
+\newcommand\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
+\newcommand\listoftables{%
+ \@chapteronefalse
+ \if@arabic\relax\else\renewcommand{\thepage}{\roman{page}}\fi
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listtablename
+ \@mkboth{\uppercase{\listtablename}}{\uppercase{\listtablename}}}%
+ %% get this in contents as a section
+ \@chapteronetrue
+ \addcontentsline{toc}{section}{\listtablename}
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi
+ \newpage\renewcommand{\thepage}{\arabic{page}}}
+\let\l@table\l@figure
+\newdimen\bibindent
+\bibindent=1.5em
+\newenvironment{thebibliography}[1]
+ {
+ \chapter*{\bibname
+ \@mkboth{\uppercase{\bibname}}{\uppercase{\bibname}}
+ }%
+ \list{\@biblabel{\arabic{enumiv}}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \if@openbib
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ \fi
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\arabic{enumiv}}}%
+ \if@openbib
+ \renewcommand\newblock{\par}
+ \else
+ \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
+ \fi
+ \sloppy\clubpenalty4000\widowpenalty4000%
+ \sfcode`\.=\@m
+ \@pageheadingtrue
+ }
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+\newcommand\newblock{}
+\newenvironment{theindex}
+ {\if@twocolumn
+ \@restonecolfalse
+ \else
+ \@restonecoltrue
+ \fi
+ \columnseprule \z@
+ \columnsep 35\p@
+ \twocolumn[\@makeschapterhead{\indexname}]%
+ \@mkboth{\uppercase{\indexname}}%
+ {\uppercase{\indexname}}%
+ \thispagestyle{myheadings}\parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\@idxitem}
+ {\if@restonecol\onecolumn\else\clearpage\fi}
+\newcommand\@idxitem {\par\hangindent 40\p@}
+\newcommand\subitem {\par\hangindent 40\p@ \hspace*{20\p@}}
+\newcommand\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}
+\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+\renewcommand\footnoterule{%
+ \kern-3\p@
+ \hrule width .4\columnwidth
+ \kern 2.6\p@}
+\@addtoreset{footnote}{chapter}
+\long\def\@makefntext#1{%
+ \parindent 1em%
+ \noindent
+ \hbox to 1.8em{\hss\@makefnmark}#1}
+
+%% this little gem provides for single-spaced footnotes
+\long\def\@footnotetext#1{\insert\footins{\ssp\reset@font\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}}}
+
+%% change names here if'n you'd rather call 'em by a different name
+\newcommand\contentsname{Table of Contents}
+\newcommand\signame{Signature Page}
+\newcommand\titlename{Title Page}
+\newcommand\listfigurename{List of Figures}
+\newcommand\listtablename{List of Tables}
+\newcommand\listothermatname{List of Other Materials}
+\newcommand\listappname{List of Appendices}
+\newcommand\bibname{Bibliography}
+\newcommand\indexname{Index}
+\newcommand\figurename{Figure}
+\newcommand\tablename{Table}
+\newcommand\partname{Part}
+\newcommand\chaptername{Chapter}
+\newcommand\appendixname{Appendix}
+\newcommand\abstractname{Abstract}
+\newcommand\acknowledgename{Acknowledgements}
+\newcommand\prefname{Preface}
+\newcommand\indname{Index}
+
+%% get bibliography in contents as a chapter (robustly)
+\renewcommand\bibliography[1]{
+ \newpage
+ \addcontentsline{toc}{chapter}{\bibname}
+\if@filesw
+ \immediate\write\@auxout{\string\bibdata{#1}}\fi
+ \@input@{\jobname.bbl}}
+
+
+\newcommand\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}
+\setlength\columnsep{10\p@}
+\setlength\columnseprule{0\p@}
+\pagestyle{myheadings}
+\pagenumbering{arabic} % Arabic page numbers
+\if@twoside
+\else
+ \raggedbottom
+\fi
+\if@twocolumn
+ \twocolumn
+ \sloppy
+ \flushbottom
+\else
+ \onecolumn
+\fi
+
+%% here's where we meet the page layout requirements of the grad school
+\oddsidemargin 0.5in % Note that \oddsidemargin = \evensidemargin
+ \evensidemargin 0.5in
+ \marginparwidth 0pt
+\marginparsep 10pt % Horizontal space between outer margin and
+ % marginal note
+\topmargin 0.0in % 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 = 11pt % '\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.
+\textheight = 8.0truein
+%\advance\textheight by \topskip
+\textwidth 6.0truein % Width of text line.
+ % For two-column mode:
+\columnsep 10pt % Space between columns
+\columnseprule 0pt % Width of rule between columns.
+
+%% force a raggedbottom here so page numbers at fronts o' chap's don't
+%% spill over bottom margins
+\raggedbottom
+
+%% lastly, get page numbers where we want 'em (mixed top-right/bottom-
+%% center) (the arabic/roman controversy is solved in each frontmatter
+%% section so that separate parts can be consistently produced)
+\pagestyle{myheadings}
+
+\endinput
+%% that's all she wrote
|