% \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
