summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/sageep
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/sageep
Initial commit
Diffstat (limited to 'macros/latex/contrib/sageep')
-rw-r--r--macros/latex/contrib/sageep/Makefile65
-rw-r--r--macros/latex/contrib/sageep/README17
-rw-r--r--macros/latex/contrib/sageep/sageep.bib103
-rw-r--r--macros/latex/contrib/sageep/sageep.bst1552
-rw-r--r--macros/latex/contrib/sageep/sageep.dtx515
-rw-r--r--macros/latex/contrib/sageep/sageep.ins32
-rw-r--r--macros/latex/contrib/sageep/sageep.pdfbin0 -> 200557 bytes
-rw-r--r--macros/latex/contrib/sageep/sageep_graphic2009.jpgbin0 -> 55219 bytes
-rw-r--r--macros/latex/contrib/sageep/sample.pdfbin0 -> 129189 bytes
-rw-r--r--macros/latex/contrib/sageep/sample.tex65
10 files changed, 2349 insertions, 0 deletions
diff --git a/macros/latex/contrib/sageep/Makefile b/macros/latex/contrib/sageep/Makefile
new file mode 100644
index 0000000000..d2eb3621bc
--- /dev/null
+++ b/macros/latex/contrib/sageep/Makefile
@@ -0,0 +1,65 @@
+#
+# Makefile for sageep package
+#
+# This file is in public domain
+#
+# $Id: Makefile,v 1.4 2009-01-09 19:14:43 boris Exp $
+#
+
+PACKAGE=sageep
+
+SAMPLES = sample.tex
+
+
+PDF = $(PACKAGE).pdf ${SAMPLES:%.tex=%.pdf}
+
+all: ${PDF} $(PACKAGE).bst
+
+
+%.pdf: %.dtx $(PACKAGE).cls
+ pdflatex $<
+ - bibtex $*
+ pdflatex $<
+ - makeindex -s gind.ist -o $*.ind $*.idx
+ - makeindex -s gglo.ist -o $*.gls $*.glo
+ pdflatex $<
+ while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
+ do pdflatex $<; done
+
+
+%.cls: %.ins %.dtx
+ pdflatex $<
+
+%.pdf: %.tex $(PACKAGE).cls $(PACKAGE).bst
+ pdflatex $<
+ - bibtex $*
+ pdflatex $<
+ pdflatex $<
+ while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
+ do pdflatex $<; done
+
+
+.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).cls
+
+
+clean:
+ $(RM) $(PACKAGE).cls *.log *.aux \
+ *.glo *.idx *.toc *.tbc \
+ *.ilg *.ind *.out *.lof \
+ *.lot *.bbl *.blg *.gls *.sty *.ist \
+ *.dvi *.ps *.thm *.tgz *.zip
+
+distclean: clean
+ $(RM) $(PDF)
+
+#
+# Archive for the distribution. Includes typeset documentation
+#
+archive: all clean
+ tar -czvf $(PACKAGE).tgz --exclude 'debug*' \
+ --exclude '*~' --exclude '*.tgz' --exclude '*.zip' --exclude CVS .
+
+
+zip: all clean
+ zip -r $(PACKAGE).zip * \
+ -x 'debug*' -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*' \ No newline at end of file
diff --git a/macros/latex/contrib/sageep/README b/macros/latex/contrib/sageep/README
new file mode 100644
index 0000000000..8246708c5f
--- /dev/null
+++ b/macros/latex/contrib/sageep/README
@@ -0,0 +1,17 @@
+ LaTeX Style for Environmental and Engineering Geophysical
+ Society's Annual Meeting Papers
+ Version 1.0
+
+
+The Environmental and Engineering Geophysical Society (EEGS) is an
+international scientific organization with about 700 members. One of
+its main activities is its annual meetings, the Application of
+Geophysics to Engineering and Environmental Problems (SAGEEP). The
+papers for this meeting are accepted as PDF files. This class
+typesets papers according to the guidelines, intended for SAGEEP-2009.
+It should probably work for the future SAGEEP, unless EEGS changes its
+guidelines.
+
+The class was commissioned and paid for by US Army Corps of Engineers,
+Engineer Research and Development Center, 3909 Halls Ferry Road,
+Vicksburg, MS 39180-6199.
diff --git a/macros/latex/contrib/sageep/sageep.bib b/macros/latex/contrib/sageep/sageep.bib
new file mode 100644
index 0000000000..2e0caf64bc
--- /dev/null
+++ b/macros/latex/contrib/sageep/sageep.bib
@@ -0,0 +1,103 @@
+@misc{TeXFAQ,
+ author = {UK \TeX{} Users Group},
+ howpublished = {\url{http://www.tex.ac.uk/cgi-bin/texfaq2html}},
+ title = {{UK} List of {\TeX} Frequently Asked Questions},
+ year = {2006},
+}
+
+@Manual{Schmidt04:PSNFSS9.2,
+ title = {Using Common {P}ost{S}cript Fonts With {\LaTeX}.
+ {PSNFSS} Version 9.2},
+ author = {Walter Schmidt},
+ month = {September},
+ year = 2004,
+ note = {\url{http://ctan.tug.org/tex-archive/macros/latex/required/psnfss}}
+}
+
+@Manual{Umeki08:Geometry,
+ title = {The \textsf{geometry} Package},
+ author = {Hideo Umeki},
+ month = {December},
+ year = 2008,
+ note = {\url{http://ctan.tug.org/tex-archive/macros/latex/contrib/geometry}}
+}
+
+
+@Manual{Carlisle05:Graphics,
+ title = {Packages in the `Graphics' Bundle},
+ author = {D. P. Carlisle},
+ month = {November},
+ year = 2005,
+ note = {\url{http://ctan.tug.org/tex-archive/macros/latex/required/graphics}}
+}
+
+@BOOK{Lamport94,
+ author = {Leslie Lamport},
+ year = 1994,
+ title = {{\LaTeX}: a Document Preparation System},
+ edition = 2,
+ publisher = {Addison-Wesley Publishing Company},
+ address = {Reading, Ma.},
+ note = {Illustrations by Duane Bibby}
+}
+
+@Misc{EEGS_web_site,
+ title = {{EEGS} Web Site},
+ howpublished = {\url{http://www.eegs.org/}, accessed December 2008}
+}
+
+
+
+@Misc{SAGEEP09,
+ title = {A sample Paper Showing the Format Required
+ for Your Contribution To the {SAGEEP 2009} Proceedings},
+ howpublished = {\url{http://www.eegs.org/pdf_files/sageep09_formatting.doc}},
+ month = {October},
+ year = 2008
+}
+
+@Manual{Daly07:Natbib,
+ title = {Natural Sciences Citations and References
+ (Author-Year and Numerical Schemes)},
+ author = {Patrick W. Daly},
+ month = {February},
+ year = 2007,
+ note = {\url{http://ctan.tug.org/tex-archive/macros/latex/contrib/natbib}}
+}
+
+@Manual{Downes04:amsart,
+ title = {The \textsf{amsart}, \textsf{amsproc}, and
+ \textsf{amsbook} document~classes},
+ author = {Michael Downes and Barbara Beeton},
+ organization = {American Mathematical Society},
+ year = 2004,
+ month = {August},
+ note = {\url{http://www.ctan.org/tex-archive/macros/latex/required/amslatex/classes}}
+}
+
+@Manual{Sommerfeldt07:Caption,
+ title = {Typesetting Captions with the \textsf{caption} Package},
+ author = {Axel Sommerfeldt},
+ month = {February},
+ year = 2007,
+ note = {\url{http://ctan.tug.org/tex-archive/macros/latex/contrib/caption}}
+}
+
+@Article{Flynn01:TeXMassMarket,
+ author = {Peter Flynn},
+ title = {{\TeX}---a Mass-Market Product?
+ Or Just an Image in Need of a Makeover?},
+ journal = {TUGboat},
+ year = 2001,
+ volume = 22,
+ number = 3,
+ pages = {137--139}
+}
+
+@Misc{Oostrum97:Floats,
+ author = {Piet van Oostrum},
+ title = {Floats in {\LaTeX}},
+ howpublished = {\url{http://people.cs.uu.nl/piet/floats/}},
+ month = {February},
+ year = 1997
+}
diff --git a/macros/latex/contrib/sageep/sageep.bst b/macros/latex/contrib/sageep/sageep.bst
new file mode 100644
index 0000000000..c033884cdb
--- /dev/null
+++ b/macros/latex/contrib/sageep/sageep.bst
@@ -0,0 +1,1552 @@
+%%
+%% This is file `sageep.bst',
+%%
+%% It was generated from
+%% merlin.mbs (with options: `ay,nat,nm-rev,jnrlst,keyxyr,blkyear,dt-beg,note-yr,atit-u,jttl-rm,vnum-cm,volp-com,pp-last,num-xser,btit-rm,bt-rm,isbn,issn,doi,blk-com,ppx,xedn,url,url-blk,nfss,')
+%% (Copyright 1994-2007 Patrick W Daly)
+%% And then edited to make @MANUAL formatted according to SAGEEP
+%% requirements.
+%% This file is (Copyright 2009, Boris Veytsman)
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3 of this license or (at your option) any
+% later version.
+% The latest version of the license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2005/12/01 or later.
+ % ===============================================================
+ % 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}[2007/04/24 4.20 (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., 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
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ 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$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+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}
+{ "editors" }
+
+FUNCTION {bbl.editor}
+{ "editor" }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edition" }
+
+FUNCTION {bbl.volume}
+{ "volume" }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "number" }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "" }
+
+FUNCTION {bbl.page}
+{ "" }
+
+FUNCTION {bbl.chapter}
+{ "chapter" }
+
+FUNCTION {bbl.techrep}
+{ "Technical Report" }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+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$
+}
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\urlprefix\url{" url * "}" * }
+ 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
+ "{vv~}{ll}{, f.}{, 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.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
+ *
+ }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "\doi{" swap$ * "}" *
+ }
+ 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
+ "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 *
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+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
+ { type$ "manual" =
+ 'organization
+ 'author.key.full
+ if$
+ }
+ 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 {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ }
+ 'skip$
+ if$
+ extra.label *
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ }
+ 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$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ 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
+ {
+ n.dashify
+ }
+ {
+ }
+ if$
+ "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$
+ 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$ *
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ { "" }
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ ", " *
+ * 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
+ "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ }
+ if$
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+ format.issn output
+ format.doi output
+ format.url output
+ 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.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.isbn output
+ format.doi output
+ format.url 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.isbn output
+ format.doi output
+ format.url 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.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ format.pages "pages" output.check
+ format.doi output
+ format.url 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.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.publisher.address output
+ format.edition output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ format.doi output
+ format.url 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.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages "pages" output.check
+ format.doi output
+ format.url output
+ format.note output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ {
+ organization "organization" bibinfo.check output
+ }
+ {
+ format.authors output
+ author format.key output
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ author empty$
+ 'skip$
+ {
+ organization "organization" bibinfo.check output
+ }
+ if$
+ address "address" bibinfo.check output
+ format.edition output
+ format.doi output
+ format.url 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.btitle
+ "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.url 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.url 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.btitle
+ "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.url 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.isbn output
+ format.issn output
+ format.doi output
+ format.url 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 output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.url 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.url 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 *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ { type$ "manual" =
+ 'organization
+ 'author.key.label
+ if$
+ }
+ 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 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 {organization.sort}
+{ organization empty$
+ { key empty$
+ { "to sort, need organization or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { organization sort.format.title }
+ 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
+ { type$ "manual" =
+ 'organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ 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
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\providecommand{\url}[1]{\texttt{#1}}"
+ write$ newline$
+ "\providecommand{\urlprefix}{URL }"
+ 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 `sageep.bst'.
diff --git a/macros/latex/contrib/sageep/sageep.dtx b/macros/latex/contrib/sageep/sageep.dtx
new file mode 100644
index 0000000000..df214840e4
--- /dev/null
+++ b/macros/latex/contrib/sageep/sageep.dtx
@@ -0,0 +1,515 @@
+% \iffalse
+% $Id: sageep.dtx,v 1.7 2009-01-14 21:43:46 boris Exp $
+%
+% Copyright 2008, Boris Veytsman
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3 of this license or (at your option) any
+% later version.
+% The latest version of the license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Boris Veytsman,
+% <borisv@lk.net>
+%
+% This work consists of the files sageep.dtx, sageep.bst and the
+% derived file sageep.cls
+%
+% \fi
+% \CheckSum{129}
+%
+%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%
+%\iffalse
+% Taken from xkeyval.dtx
+%\fi
+%\makeatletter
+%\def\DescribeOption#1{\leavevmode\@bsphack
+% \marginpar{\raggedleft\PrintDescribeOption{#1}}%
+% \SpecialOptionIndex{#1}\@esphack\ignorespaces}
+%\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
+%\def\SpecialOptionIndex#1{\@bsphack
+% \index{#1\actualchar{\protect\ttfamily#1}
+% (option)\encapchar usage}%
+% \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
+% usage}\@esphack}
+%\def\DescribeOptions#1{\leavevmode\@bsphack
+% \marginpar{\raggedleft\strut\emph{options}%
+% \@for\@tempa:=#1\do{%
+% \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
+% }}\@esphack\ignorespaces}
+%\makeatother
+% \newcommand{\progname}[1]{\textsf{#1}}
+%
+% \MakeShortVerb{|}
+% \GetFileInfo{sageep.dtx}
+% \title{\LaTeX{} Style for Environmental and Engineering Geophysical
+% Society's Annual Meeting Papers
+% \thanks{\copyright 2008, Boris Veytsman}}
+% \author{Boris Veytsman\thanks{%
+% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}},
+% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}}
+% \date{\filedate, \fileversion}
+% \maketitle
+% \begin{abstract}
+% This package provides class for typesetting papers for
+% Environmental and Engineering Geophysical Society's Annual
+% Meeting, SAGEEP. It is based on the recommendations for
+% SAGEEP-2009.
+% \end{abstract}
+% \changes{v0.1}{2008/12/19}{First fully functional version}
+% \changes{v1.0}{2009/01/14}{First publicly released version}
+% \tableofcontents
+%
+% \clearpage
+%\section{Introduction}
+%\label{sec:intro}
+%
+% The Environmental and Engineering Geophysical Society (EEGS) is an
+% international scientific organization with about 700
+% members~\cite{EEGS_web_site}. One of its main activities is its
+% annual meetings, the Application of Geophysics to Engineering and
+% Environmental Problems (SAGEEP). The papers for this meeting are
+% accepted as PDF files. This class typesets papers according to the
+% guidelines~\cite{SAGEEP09}, intended for SAGEEP-2009. It should
+% probably work for the future SAGEEP, unless EEGS changes its
+% guidelines.
+%
+% The class was commissioned and paid for by US Army Corps of
+% Engineers, Engineer Research and Development Center, 3909 Halls
+% Ferry Road, Vicksburg, MS 39180-6199.
+%
+%
+%\section{User Guide}
+%\label{sec:user_guide}
+%
+%
+%
+%\subsection{Installation}
+%\label{sec:ug_install}
+%
+% The class uses some \LaTeX{} packages. Normally they should be
+% present in any up-to-date distribution. If you do not have them,
+% you can download them using the links below prior to using the class.
+%
+% You will need \progname{PSFNSS}~\cite{Schmidt04:PSNFSS9.2}: the
+% \LaTeX{} package providing the access to common PostScript fonts.
+% Of course you will need the fonts themselves. You will also need
+% packages \progname{geometry}~\cite{Umeki08:Geometry},
+% \progname{caption}~cite{Sommerfeldt07:Caption} and
+% \progname{natbib}~\cite{Daly07:Natbib}.
+%
+%
+% The installation of the class follows the usual
+% practice~\cite{TeXFAQ} for \LaTeX{} packages:
+% \begin{enumerate}
+% \item Run \progname{latex} on |sageep.ins|. This will produce the
+% \LaTeX{} class |sageep.cls|.
+% \item Put the files |sageep.cls| and |sageep.bst| to
+% the places where \LaTeX{} and Bib\TeX{} can find them (see
+% \cite{TeXFAQ} or the documentation for your \TeX{}
+% system).\label{item:install}
+% \item Update the database of file names. Again, see \cite{TeXFAQ}
+% or the documentation for your \TeX{} system for the system-specific
+% details.\label{item:update}
+% \item The file |sageep.pdf| provides the documentation for the
+% package (this is the file you are probably reading now).
+% \end{enumerate}
+% As an alternative to items~\ref{item:install} and~\ref{item:update}
+% you can just put the files |sageep.cls| and |sageep.bst| in the
+% working directory where your |.tex| file is.
+%
+%
+%\subsection{Invocation}
+%\label{sec:ug_invocation}
+%
+% To use the class, put in the preamble of your document
+% \begin{flushleft}
+% |\documentclass[|\meta{options}|]{sageep}|
+% \end{flushleft}
+%
+% The class recoginzes the standard \LaTeX{} options, shared by the
+% most document classes~\cite{Lamport94}.
+% \DescribeOptions{8pt,9pt,10pt,11pt,12pt} The default font size
+% changing options (|8pt|, |9pt|, \dots, |12pt|) have no effect other
+% than producing a warning in the log.
+%
+%
+%\subsection{Use of the Class}
+%\label{sec:ug_use}
+%
+% Most of the standard \LaTeX{} commands work with the class. Here we
+% document only the differences from the standard system.
+%
+%
+%\subsubsection{Front Matter}
+%\label{sec:ug_frontmatter}
+%
+%
+% \DescribeMacro{\title}
+% \DescribeMacro{\author}
+% \DescribeMacro{\maketitle}
+% The |\title| command works as usual. The |\author| command should
+% include both the author's name and affiliation in the format
+% described in~\cite{SAGEEP09} (first name, middle initial, last
+% name, name of organization/institution, city and state abbreviation
+% or country). For papers with several authors you can issue several
+% |\author| commands. For example,
+% \begin{verbatim}
+% \author{Sam A. Llaun, Academy of Lagado, Lagado, Balnibarbi}
+% \author{James Incandenza, Interdependence University, Boston, MA}
+% \end{verbatim}
+% The command |\maketitle| should be put \emph{after} |\title| and
+% |\author| commands.
+%
+%
+%\subsubsection{Sections}
+%\label{sec:ug_sections}
+%
+% \DescribeMacro{section}
+% The sections in SAGEEP articles are unnumbered. Accordingly, the
+% command |\section| does not produce section number (and is
+% equivalent to the command |\section*|).
+%
+% There is a certain inconsistency in the format
+% guidelines~\cite{SAGEEP09}: the text says that section headings
+% should be in initial caps, while the headings in the sample are
+% uppercase. Therefore the class does not change the case of the
+% headings and subheadings. If
+% you enter them with initial caps, they will be typeset with initial
+% caps. If you enter them in upper case, they will be typeset in
+% upper case.
+%
+% Note that ``Abstract'' should be the first section of the paper. The
+% other obligatory sections are ``Conclusions'' and ``References''.
+%
+%
+%\subsubsection{Tables and Figures}
+%\label{sec:ug_floats}
+%
+% \DescribeMacro{\caption}
+% There is an important difference between the style of tables
+% required by~\cite{SAGEEP09} and the standard \LaTeX{} style: the
+% caption of a table must be placed \emph{above} the table rather than
+% below it. The class takes care of the proper spacing between the
+% caption and the table body, but it is your responsibility to put
+% the |\caption| command in a table first, and then the body of the
+% table, for example:
+% \begin{verbatim}
+% \begin{table}[htbp]
+% \caption{North American Paper Sizes}
+% \label{tab:paper}
+% \begin{tabular}{lll}
+% \hline
+% Size & in $\times$ in &mm $\times$ mm\\
+% \hline
+% Letter &8.5 $\times$ 11 &216 $\times$ 279\\
+% Legal &8.5 $\times$ 14 &216 $\times$ 356\\
+% Junior Legal &8 x 5 &\\
+% Ledger &17 $\times$ 11 &432 $\times$ 279\\
+% Tabloid &11 $\times$ 17 &279 $\times$ 432\\
+% \hline
+% \end{tabular}
+% \end{table}
+% \end{verbatim}
+% Do not center table or figure body.
+%
+% To include graphics you can use, for example, the
+% \progname{graphics} bundle~\cite{Carlisle05:Graphics}. It is
+% \emph{not} loaded automatically.
+%
+%
+%\subsubsection{References}
+%\label{sec:ug_refs}
+%
+% \DescribeMacro{\cite}
+% The class loads \progname{natbib} package~\cite{Daly07:Natbib} to
+% properly format the references. It also redefines |\cite| to work
+% as |\citep|, producing a parenthetical (author, year) citation. You
+% can get the other forms of citation using |\citet|, |\citeauthor| or
+% |\citeyear| commands of \progname{natbib}.
+%
+% The Bib\TeX{} style |sageep.bst| is supplied with the class to
+% format the list of references. If you use Bib\TeX, just select this
+% bibliography style with |\bibliographystyle{sageep}|.
+%
+% \changes{v0.2}{2009/01/11}{Bibliography style change for manuals}
+% This style has a non-standard treatment of manuals as required by
+% SAGEEP style: the organization that published the manual is used as
+% an author of the manual for sorting and citation purposes. Of
+% course this means that manuals should not have real authors, which
+% is usually the case with technical manuals.
+%
+%\StopEventually{%
+% \clearpage
+% \bibliography{sageep}
+% \bibliographystyle{unsrt}}
+% \clearpage
+%\section{Implementation}
+%\label{sec:impl}
+%
+%\subsection{Identification}
+%\label{sec:ident}
+%
+% We start with the declaration who we are. Most |.dtx| files put
+% driver code in a separate driver file |.drv|. We roll this code into the
+% main file, and use the pseudo-guard |<gobble>| for it.
+% \begin{macrocode}
+%<class>\NeedsTeXFormat{LaTeX2e}
+%<*gobble>
+\ProvidesFile{sageep.dtx}
+%</gobble>
+%<class>\ProvidesClass{sageep}
+[2009/01/14 v1.0 Typesetting Papers for Environmental and
+ Engineering Geophysical Society's Annual Meeting]
+% \end{macrocode}
+%
+% And the driver code:
+% \begin{macrocode}
+%<*gobble>
+\documentclass{ltxdoc}
+\usepackage{array}
+\usepackage{url,amsfonts}
+\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
+ pagecolor=black,urlcolor=black,hyperindex=false]{hyperref}
+\PageIndex
+\CodelineIndex
+\RecordChanges
+\EnableCrossrefs
+\begin{document}
+ \DocInput{sageep.dtx}
+\end{document}
+%</gobble>
+%<*class>
+% \end{macrocode}
+%
+%
+%\subsection{Options}
+%\label{sec:options}
+%
+% \begin{macro}{\sageep@size@warning}
+% The font-changing options are not used in our setup, so we just
+% produce a warning:
+% \begin{macrocode}
+\long\def\sageep@size@warning#1{%
+ \ClassWarning{sageep}{Size-changing option #1 will not be
+ honored}}%
+\DeclareOption{8pt}{\sageep@size@warning{\CurrentOption}}%
+\DeclareOption{9pt}{\sageep@size@warning{\CurrentOption}}%
+\DeclareOption{10pt}{\sageep@size@warning{\CurrentOption}}%
+\DeclareOption{11pt}{\sageep@size@warning{\CurrentOption}}%
+\DeclareOption{12pt}{\sageep@size@warning{\CurrentOption}}%
+% \end{macrocode}
+% \end{macro}
+%
+% All other options are just sent to the main class:
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+%\subsection{Loading Class and Packages}
+%\label{sec:loading}
+%
+% We start with the base class
+% \begin{macrocode}
+\LoadClass[12pt]{article}
+% \end{macrocode}
+%
+%\subsection{Fonts}
+%\label{sec:fonts}
+%
+% We use Times for the main font. The guidelines say nothing about other
+% fonts, but to reproduce the familiar look, we also use Helvetica for
+% the sans serifed font, and Courier for the monospaced font:
+% \begin{macrocode}
+\usepackage{mathptmx}
+\usepackage[scaled]{helvet}
+\usepackage{courier}
+% \end{macrocode}
+%
+%\subsection{Page Dimensions and Paragraphing}
+%\label{sec:page}
+%
+% The requirements are 0.75'' margin top, left and right, and 1''
+% bottom.
+%
+% \begin{macrocode}
+\RequirePackage[top=0.75in, left=0.75in, right=0.75in, bottom=1in]{geometry}
+% \end{macrocode}
+%
+%
+% \begin{macro}{\parindent}
+% The paragraphs have 0.5'' indentation
+% \begin{macrocode}
+\setlength{\parindent}{0.5in}
+% \end{macrocode}
+% \end{macro}
+%
+% We indent even the paragraphs after section heads:
+% \begin{macrocode}
+\RequirePackage{indentfirst}
+% \end{macrocode}
+%
+%
+%\subsection{Headers and Footers}
+%\label{sec:headers}
+%
+% No footers or headers:
+% \begin{macrocode}
+\pagestyle{empty}
+% \end{macrocode}
+%
+%
+%
+%\subsection{Front Matter}
+%\label{sec:frontmatter}
+%
+% \begin{macro}{\author}
+% The |\author| command can be repeated. Each invocation adds an
+% author and affiliation to the list of authors. The following is
+% adapted from~\cite{Downes04:amsart}.
+% \begin{macrocode}
+\renewcommand{\author}[1]{%
+ \ifx\@empty\authors
+ \gdef\authors{#1}%
+ \else
+ \g@addto@macro\authors{\and#1}%
+ \fi}
+\let\authors\@empty
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\maketitle}
+% Now we are ready to make the title. The title and authors are
+% centered.
+% \begin{macrocode}
+\def\maketitle{%
+ \bgroup
+ \centering
+ \ifx\@empty\@title\relax
+ \else
+ {\large\bfseries\MakeUppercase{\@title}\par\vspace{\baselineskip}}%
+ \fi
+ \ifx\@empty\authors\relax
+ \else
+ {\let\and=\linebreak
+ \normalfont\itshape\authors\par\vspace{\baselineskip}}%
+ \fi
+ \egroup}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+%\subsection{Sectioning}
+%\label{sec:sectioning}
+%
+%
+% We do not number sections:
+% \begin{macrocode}
+\setcounter{secnumdepth}{0}
+% \end{macrocode}
+%
+%
+% \begin{macro}{\section}
+% Sections are in 14\,pt bold centered.
+% \begin{macrocode}
+\renewcommand\section{\@startsection{section}{1}{0pt}{\baselineskip}%
+ {\baselineskip}{\normalfont\centering\large\bfseries}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\subsection}
+% Subsections are bold, italics, normal size:
+% \begin{macrocode}
+\renewcommand\subsection{\@startsection{subsection}{2}{0pt}{\baselineskip}%
+ {1sp}{\normalfont\normalsize\itshape\bfseries}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%\subsection{Floats}
+%\label{sec:floats}
+%
+% We use \progname{caption} package~\cite{Sommerfeldt07:Caption} for
+% control of captions:
+% \begin{macrocode}
+\RequirePackage{caption}
+% \end{macrocode}
+%
+% Captions are justified left with ``Figure'' or ``table'' in boldface:
+% \begin{macrocode}
+\captionsetup{labelfont=bf, indent=0pt, singlelinecheck=off}
+% \end{macrocode}
+%
+% For tables the caption is above the table:
+% \begin{macrocode}
+\captionsetup[table]{position=above}
+% \end{macrocode}
+%
+% \changes{v0.2}{2009/01/11}{Changed floats parameters}
+% We change the parameters of float placement according to the
+% recommendations from~\cite{Oostrum97:Floats}:
+% \begin{macrocode}
+\renewcommand{\textfraction}{0.05}
+\renewcommand{\topfraction}{0.95}
+\renewcommand{\bottomfraction}{0.95}
+\renewcommand{\floatpagefraction}{0.35}
+\setcounter{totalnumber}{5}
+% \end{macrocode}
+%
+%
+%
+%\subsection{Bibliography}
+%\label{sec:biblio}
+%
+% We use \progname{natbib}~\cite{Daly07:Natbib}.
+% \begin{macrocode}
+\RequirePackage[round]{natbib}
+% \end{macrocode}
+% \begin{macro}{\cite}
+% We redefine |\cite| to be |\citep|:
+% \begin{macrocode}
+\let\cite=\citep
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \subsection{The final word}
+%\label{sec:final}
+%
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
+%
+%\Finale
+%\clearpage
+%
+%\PrintChanges
+%\clearpage
+%\PrintIndex
+%
+\endinput
diff --git a/macros/latex/contrib/sageep/sageep.ins b/macros/latex/contrib/sageep/sageep.ins
new file mode 100644
index 0000000000..a9956c6c04
--- /dev/null
+++ b/macros/latex/contrib/sageep/sageep.ins
@@ -0,0 +1,32 @@
+%
+% Doctrip file for sageep
+% This file is in public domain
+% $Id: sageep.ins,v 1.2 2008-12-22 04:42:31 boris Exp $
+%
+\def\batchfile{sageep.ins}
+\input docstrip
+\keepsilent
+\showprogress
+
+
+\askforoverwritefalse
+
+\generate{%
+ \file{sageep.cls}{\from{sageep.dtx}{class}}}
+
+\obeyspaces
+\Msg{*****************************************************}%
+\Msg{* Congratulations! You successfully generated the *}%
+\Msg{* sageep package. *}%
+\Msg{* *}%
+\Msg{* Please move the file sageep.cls to a place where *}%
+\Msg{* LaTeX files are stored on your system. Move the *}%
+\Msg{* file sageep.bst to the a place where BibTeX files *}%
+\Msg{* are stored on your system. *}%
+\Msg{* *}%
+\Msg{* The manual is sageep.pdf. *}%
+\Msg{* *}%
+\Msg{* The package is released under LPPL *}%
+\Msg{* *}%
+\Msg{* Happy TeXing! *}%
+\Msg{*****************************************************}% \ No newline at end of file
diff --git a/macros/latex/contrib/sageep/sageep.pdf b/macros/latex/contrib/sageep/sageep.pdf
new file mode 100644
index 0000000000..3038b1c9c0
--- /dev/null
+++ b/macros/latex/contrib/sageep/sageep.pdf
Binary files differ
diff --git a/macros/latex/contrib/sageep/sageep_graphic2009.jpg b/macros/latex/contrib/sageep/sageep_graphic2009.jpg
new file mode 100644
index 0000000000..f76a57ad02
--- /dev/null
+++ b/macros/latex/contrib/sageep/sageep_graphic2009.jpg
Binary files differ
diff --git a/macros/latex/contrib/sageep/sample.pdf b/macros/latex/contrib/sageep/sample.pdf
new file mode 100644
index 0000000000..f1c2f7bc00
--- /dev/null
+++ b/macros/latex/contrib/sageep/sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/sageep/sample.tex b/macros/latex/contrib/sageep/sample.tex
new file mode 100644
index 0000000000..81b1a970fe
--- /dev/null
+++ b/macros/latex/contrib/sageep/sample.tex
@@ -0,0 +1,65 @@
+\documentclass{sageep}
+\usepackage{lipsum}
+\usepackage{graphicx}
+\begin{document}
+\title{New Green Technology: A Method of Extracting Sun Energy From
+ Fresh Cucumbers}
+\author{Sam U. Llaun, Academy of Lagado, Lagado, Balnibarbi}
+\author{James Incandenza, Interdependence University, Boston, MA}
+\maketitle
+
+\section{Abstract}
+
+\lipsum[1]
+
+\section{Discussion}
+
+
+
+\subsection{First Subsection}
+
+The use of PostScript fonts is described in
+\cite{Schmidt04:PSNFSS9.2}. The popular \LaTeX{} manual is
+\cite{Lamport94}. The use of \TeX{} in scientific
+publishing\footnote{As well as in other publishing fields} was
+discussed in \cite{Flynn01:TeXMassMarket}.
+
+
+\begin{figure}[bhp]
+ \includegraphics{sageep_graphic2009}
+ \caption{SAGEEP Meeting}
+ \label{fig:sageep}
+\end{figure}
+
+\begin{table}[htbp]
+ \caption{North American Paper Sizes}
+ \label{tab:paper}
+ \begin{tabular}{lll}
+ \hline
+ Size & in $\times$ in &mm $\times$ mm\\
+ \hline
+ Letter &8.5 $\times$ 11 &216 $\times$ 279\\
+ Legal &8.5 $\times$ 14 &216 $\times$ 356\\
+ Junior Legal &8 x 5 &\\
+ Ledger &17 $\times$ 11 &432 $\times$ 279\\
+ Tabloid &11 $\times$ 17 &279 $\times$ 432\\
+ \hline
+ \end{tabular}
+\end{table}
+
+
+\lipsum[2-5]
+
+
+\subsection{Second Subsection}
+
+\lipsum[5-8]
+
+\section{Conclusions}
+
+\lipsum[9-10]
+
+\bibliography{sageep}
+\bibliographystyle{sageep}
+
+\end{document}