summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/uafthesis
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/uafthesis
Initial commit
Diffstat (limited to 'macros/latex/contrib/uafthesis')
-rw-r--r--macros/latex/contrib/uafthesis/Makefile28
-rw-r--r--macros/latex/contrib/uafthesis/README.md64
-rw-r--r--macros/latex/contrib/uafthesis/bib_styles/agufull08.bst1828
-rw-r--r--macros/latex/contrib/uafthesis/bib_styles/unsrtabbrv3.bst948
-rw-r--r--macros/latex/contrib/uafthesis/example/abstract.tex4
-rw-r--r--macros/latex/contrib/uafthesis/example/acknowledgements.tex7
-rw-r--r--macros/latex/contrib/uafthesis/example/apx1.tex28
-rwxr-xr-xmacros/latex/contrib/uafthesis/example/build.sh8
-rw-r--r--macros/latex/contrib/uafthesis/example/ch1.tex74
-rw-r--r--macros/latex/contrib/uafthesis/example/ch2.tex146
-rw-r--r--macros/latex/contrib/uafthesis/example/ch3.tex66
-rw-r--r--macros/latex/contrib/uafthesis/example/custom-macros.tex1
-rw-r--r--macros/latex/contrib/uafthesis/example/example.loa.bk2
-rw-r--r--macros/latex/contrib/uafthesis/example/example.tex72
-rw-r--r--macros/latex/contrib/uafthesis/example/example.toc.bk17
-rw-r--r--macros/latex/contrib/uafthesis/example/fig/fivebatteries.pngbin0 -> 8855 bytes
-rw-r--r--macros/latex/contrib/uafthesis/example/fig/onebattery.pngbin0 -> 6651 bytes
-rw-r--r--macros/latex/contrib/uafthesis/example/quotepage.tex13
-rw-r--r--macros/latex/contrib/uafthesis/uafthesis.cls897
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
new file mode 100644
index 0000000000..5639e9f41b
--- /dev/null
+++ b/macros/latex/contrib/uafthesis/example/fig/fivebatteries.png
Binary files differ
diff --git a/macros/latex/contrib/uafthesis/example/fig/onebattery.png b/macros/latex/contrib/uafthesis/example/fig/onebattery.png
new file mode 100644
index 0000000000..193712344e
--- /dev/null
+++ b/macros/latex/contrib/uafthesis/example/fig/onebattery.png
Binary files differ
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