summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/afthesis
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/afthesis
Initial commit
Diffstat (limited to 'macros/latex/contrib/afthesis')
-rw-r--r--macros/latex/contrib/afthesis/README23
-rw-r--r--macros/latex/contrib/afthesis/afthes10.sty213
-rw-r--r--macros/latex/contrib/afthesis/afthes11.sty212
-rw-r--r--macros/latex/contrib/afthesis/afthes12.sty201
-rw-r--r--macros/latex/contrib/afthesis/afthesis.cls771
-rw-r--r--macros/latex/contrib/afthesis/afthesis.sty4
-rw-r--r--macros/latex/contrib/afthesis/thesnumb.bst1242
-rw-r--r--macros/latex/contrib/afthesis/thesnumb.doc387
-rw-r--r--macros/latex/contrib/afthesis/usethesis.pdfbin0 -> 35799 bytes
-rw-r--r--macros/latex/contrib/afthesis/usethesis.tex338
10 files changed, 3391 insertions, 0 deletions
diff --git a/macros/latex/contrib/afthesis/README b/macros/latex/contrib/afthesis/README
new file mode 100644
index 0000000000..34174edebc
--- /dev/null
+++ b/macros/latex/contrib/afthesis/README
@@ -0,0 +1,23 @@
+This is the Air Force Institute of Technology thesis class.
+It is based on the standard LaTeX2e report class and
+uses the caption2 style from Harald Sommerfeldt to
+provide nice hung captions. This was ported to
+LaTeX2e from an archaic nasty latex 209 version.
+
+The afthesis.cls also uses excerpts from doublespace.sty
+as needed to provide clean doublespace support.
+
+usethesis.tex provides some minimal documentation.
+
+
+Those portions of this class not covered by other
+copyrights (like those portions from doublespace)
+are in the public domain.
+
+This is my first attempt at class writing and
+I appreciate any and all comments. There is no
+.dtx version.
+
+
+Joel Young
+jdyoung@afit.af.mil
diff --git a/macros/latex/contrib/afthesis/afthes10.sty b/macros/latex/contrib/afthesis/afthes10.sty
new file mode 100644
index 0000000000..9b12cc0595
--- /dev/null
+++ b/macros/latex/contrib/afthesis/afthes10.sty
@@ -0,0 +1,213 @@
+% thes10.sty 22 Nov 93
+% cleaned up (some) by Joel Young 16 Nov 96
+% Attempt to only have those things that are different from
+% .../texmf/tex/latex/base/size11.clo
+%
+\lineskip 1pt \normallineskip 1pt
+\def\baselinestretch{2}
+\def\str@tchamount{2}
+
+\setlength\oddsidemargin {19.5pt}
+\setlength\evensidemargin {19.5pt}
+
+\setlength\topmargin {-4pt}
+\setlength\headheight {18pt}
+\setlength\headsep {4pt}
+\setlength\footskip {26pt}
+\setlength\topskip {10pt}
+
+\if@compatibility
+ \setlength\footheight {24pt}
+ \setlength\@maxsep {20pt}
+ \setlength\@dblmaxsep {20pt}
+\fi
+
+\setlength\textheight {618pt}
+\setlength\textwidth {429pt}
+\setlength\columnsep {10pt}
+\setlength\columnseprule {0pt}
+
+\setlength\parskip {5pt plus 1.5pt minus .5pt}
+\setlength\parindent {2.5em} % same as leftmargini--quote margin
+\setlength\itemsep {0pt plus .5pt}
+
+\setlength\topsep {8pt plus 2pt minus 4pt}
+\setlength\partopsep {2pt plus 1pt minus 1pt}
+
+
+\def\@makechapterhead#1{%
+ \ \vspace*{-36pt}%
+ {\parindent 0pt
+ \begin{center}
+ \baselineskip=18.5pt
+ \ifnum \c@secnumdepth >\m@ne
+ \ifx\@chapapp\appfl@g
+ \large{\em Appendix \thechapter.\ \ #1}
+ \else
+ \large{\em \thechapter.\ \ #1}
+ \fi
+ \else
+ \large{\em #1}
+ \fi
+ \end{center}
+ \par\par \nobreak
+ }}
+
+\def\@makeschapterhead#1{%
+ \ \vspace*{-36pt}%
+ {\parindent 0pt%
+ \begin{center}%
+ \baselineskip=18.5pt%
+ \large{\em #1}%
+ \end{center}%
+ \par\par \nobreak%
+ }}
+
+\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{afitplain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+
+\def\@chapter[#1]#2{
+ \ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}
+ \ifx\@chapapp\appfl@g{} \else \ifnum\value{chapter}=1
+ \setcounter{page}{1}
+ \pagestyle{afitplain} \ \vspace*{-18pt}
+ \begin{center}
+ \begin{singlespace}
+
+ \large\baselineskip=22.5pt\ti@tle
+
+ \end{singlespace}
+ \end{center}
+ \addvspace{30pt}\fi
+ \fi
+ \ifx\ch@ptnum\ch@ptnumflag %then sequential
+ \def\thepage{\arabic{page}}
+ \def\theequation{\arabic{equation}}
+ \def\thefigure{\arabic{figure}}
+ \def\thetable{\arabic{table}}
+ \else %number by chapter
+ \ifx\@chapapp\appfl@g
+ \def\theequation{\Alph{chapter}.\arabic{equation}}
+ \def\thepage{\Alph{chapter}-\arabic{page}}
+ \def\thefigure{\Alph{chapter}.\arabic{figure}}
+ \def\thetable{\Alph{chapter}.\arabic{table}}
+ \else
+ \def\theequation{\arabic{chapter}.\arabic{equation}}
+ \def\thepage{\arabic{chapter}-\arabic{page}}
+ \def\thefigure{\arabic{chapter}.\arabic{figure}}
+ \def\thetable{\arabic{chapter}.\arabic{table}}
+ \fi
+ \setcounter{page}{1}
+ \setcounter{equation}{0}
+ \setcounter{figure}{0}
+ \setcounter{table}{0}
+ \addtocontents{lof}{\protect\addvspace{10pt}}
+ \addtocontents{lot}{\protect\addvspace{10pt}}
+ \fi
+ \typeout{^^J\@chapapp\space\arabic{chapter}.}
+ \setstretch{\str@tchamount}\normalsize
+ \ifx\@chapapp\appfl@g
+ \addcontentsline{toc}{appendix}
+ {\protect\numberline{Appendix \thechapter.}#1}
+ \else
+ \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter.}#1}
+ \fi
+ \else
+ \addcontentsline{toc}{chapter}{#1}
+ \fi
+ \chaptermark{#1}
+ \@makechapterhead{#2} \@afterheading
+ }
+
+\def\@schapter#1{\if@toc
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \typeout{^^J#1.}
+ \@makeschapterhead{#1}%
+ \@afterheading
+ }
+
+%redefined from latex.tex for underlining option and to supply a period
+%when subsections and below use this macro
+
+%normal sections use this, mod made if nosectionnumbers option chosen
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty\else
+ \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em}\fi
+ \if@nosectnum\let\@svsec\@empty\fi% added - MAR
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #6\relax
+ \@hangfrom{\hskip #3\relax{\em\@svsec}}{\interlinepenalty \@M %
+ {\em #8}\par}% added \em - MAR
+ \endgroup
+ \csname #1mark\endcsname{#7}
+ \addcontentsline{toc}{#1}
+ {\ifnum #2>\c@secnumdepth
+ \else\protect\numberline{\csname the#1\endcsname}\fi #7}
+ \else
+ \def\@svsechd{%
+ #6\hskip #3\relax %% \relax added 2 May 90
+ {\setbox\z@=\hbox{\lowercase{#8}\ifnum\spacefactor>\@m
+ \gdef\@@t{#8}\else\gdef\@@t{#8\@.}\fi}\em\@svsec\@@t}
+ \csname #1mark\endcsname{#7}
+ \addcontentsline{toc}{#1}
+ {\ifnum #2>\c@secnumdepth
+ \else\protect\numberline{\csname the#1\endcsname}\fi #7}%
+ }
+ \fi
+ \@xsect{#5}}
+
+%starred sections use this
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax %added \em in below - MAR
+ \ifdim \@tempskipa>\z@
+ \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M {\em #5}\par}
+ \endgroup
+ \else \def\@svsechd{#4\hskip #1\relax
+ {\setbox\z@=\hbox{\lowercase{#5}\ifnum\spacefactor>\@m
+ \gdef\@@t{#5}\else\gdef\@@t{#5\@.}\fi}\em\@@t}}
+ \fi
+ \@xsect{#3}}
+
+\def\section{\@startsection{section}{1}{\z@}{.25in}{0.01in}{\normalsize}}
+\def\subsection{\@startsection{subsection}{2}{\parindent}{2ex}
+ {-1.5ex}{\normalsize}}
+\def\subsubsection{\@startsection{subsubsection}{3}{2\parindent}
+ {2ex}{-1.5ex}{\normalsize}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{3\parindent}{2ex}{-1em}{\normalsize}}
+\def\subparagraph{\@startsection
+ {subparagraph}{4}{4\parindent}{2ex}{-1em}{\normalsize}}
+
+\def\chaptermark#1{}
+
+\setcounter{secnumdepth}{3}
+
+\setlength\leftmargini {\parindent} % 2.5em
+\setlength\leftmargin {\leftmargini}
+\setlength\labelwidth {\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\setlength\parsep {5pt plus 2.5pt minus 1pt}
+\def\@listi{\leftmargin\leftmargini}
+\let\@listI\@listi
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep 5pt plus 2.5pt minus 1pt
+ \parsep 2.5pt plus 1pt minus 1pt
+ \itemsep \parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep 2.5pt plus 1pt minus 1pt
+ \parsep \z@
+ \partopsep 1pt plus 0pt minus 1pt
+ \itemsep \topsep}
+\endinput
+%%
+%% End of file `afthes10.sty'.
diff --git a/macros/latex/contrib/afthesis/afthes11.sty b/macros/latex/contrib/afthesis/afthes11.sty
new file mode 100644
index 0000000000..1e21028a3c
--- /dev/null
+++ b/macros/latex/contrib/afthesis/afthes11.sty
@@ -0,0 +1,212 @@
+% thes11.sty 22 Nov 93
+% cleaned up (some) by Joel Young 16 Nov 96
+% Attempt to only have those things that are different from
+% .../texmf/tex/latex/base/size11.clo
+%
+\lineskip 1pt \normallineskip 1pt
+\def\baselinestretch{1.5}
+\def\str@tchamount{1.5}
+
+\setlength\oddsidemargin {19.5pt}
+\setlength\evensidemargin {19.5pt}
+
+\setlength\topmargin {-4pt}
+\setlength\headheight {18pt}
+\setlength\headsep {4pt}
+\setlength\footskip {26pt}
+\setlength\topskip {10pt}
+
+\if@compatibility
+ \setlength\footheight {24pt}
+ \setlength\@maxsep {20pt}
+ \setlength\@dblmaxsep {20pt}
+\fi
+
+\setlength\textheight {618pt}
+\setlength\textwidth {429pt}
+\setlength\columnsep {10pt}
+\setlength\columnseprule {0pt}
+
+\setlength\parskip {5pt plus 1.5pt minus .5pt}
+\setlength\parindent {2.5em} % same as leftmargini--quote margin
+\setlength\itemsep {0pt plus .5pt}
+
+\setlength\topsep {9pt plus 3pt minus 5pt}
+\setlength\partopsep {3pt plus 1pt minus 2pt}
+
+\def\@makechapterhead#1{%
+ \ \vspace*{-27pt}%
+ {\parindent 0pt
+ \begin{center}
+ \baselineskip=18.5pt
+ \ifnum \c@secnumdepth >\m@ne
+ \ifx\@chapapp\appfl@g
+ \large{\em Appendix \thechapter.\ \ #1}
+ \else
+ \large{\em \thechapter.\ \ #1}
+ \fi
+ \else
+ \large{\em #1}
+ \fi
+ \end{center}
+ \par \nobreak
+ }}
+
+\def\@makeschapterhead#1{%
+ \ \vspace*{-27pt}%
+ {\parindent 0pt%
+ \begin{center}%
+ \baselineskip=18.5pt%
+ \large{\em #1}%
+ \end{center}%
+ \par \nobreak%
+ }}
+
+\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{afitplain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+
+\def\@chapter[#1]#2{
+ \ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}
+ \ifx\@chapapp\appfl@g{} \else \ifnum\value{chapter}=1
+ \setcounter{page}{1}
+ \pagestyle{afitplain} \ \vspace*{-18pt}
+ \begin{center}
+ \begin{singlespace}
+
+ \large\baselineskip=25pt\ti@tle
+
+ \end{singlespace}
+ \end{center}
+ \addvspace{30pt}\fi
+ \fi
+ \ifx\ch@ptnum\ch@ptnumflag %then sequential
+ \def\thepage{\arabic{page}}
+ \def\theequation{\arabic{equation}}
+ \def\thefigure{\arabic{figure}}
+ \def\thetable{\arabic{table}}
+ \else %number by chapter
+ \ifx\@chapapp\appfl@g
+ \def\theequation{\Alph{chapter}.\arabic{equation}}
+ \def\thepage{\Alph{chapter}-\arabic{page}}
+ \def\thefigure{\Alph{chapter}.\arabic{figure}}
+ \def\thetable{\Alph{chapter}.\arabic{table}}
+ \else
+ \def\theequation{\arabic{chapter}.\arabic{equation}}
+ \def\thepage{\arabic{chapter}-\arabic{page}}
+ \def\thefigure{\arabic{chapter}.\arabic{figure}}
+ \def\thetable{\arabic{chapter}.\arabic{table}}
+ \fi
+ \setcounter{page}{1}
+ \setcounter{equation}{0}
+ \setcounter{figure}{0}
+ \setcounter{table}{0}
+ \addtocontents{lof}{\protect\addvspace{10pt}}
+ \addtocontents{lot}{\protect\addvspace{10pt}}
+ \fi
+ \typeout{^^J\@chapapp\space\arabic{chapter}.}
+ \setstretch{\str@tchamount}\normalsize
+ \ifx\@chapapp\appfl@g
+ \addcontentsline{toc}{appendix}
+ {\protect\numberline{Appendix \thechapter.}#1}
+ \else
+ \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter.}#1}
+ \fi
+ \else
+ \addcontentsline{toc}{chapter}{#1}
+ \fi
+ \chaptermark{#1}
+ \@makechapterhead{#2} \@afterheading
+ }
+
+\def\@schapter#1{\if@toc
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \typeout{^^J#1.}
+ \@makeschapterhead{#1}%
+ \@afterheading
+ }
+
+%redefined from latex.tex for underlining option and to supply a period
+%when subsections and below use this macro
+
+%normal sections use this, mod made if nosectionnumbers option chosen
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty\else
+ \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em}\fi
+ \if@nosectnum\let\@svsec\@empty\fi% added - MAR
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #6\relax
+ \@hangfrom{\hskip #3\relax{\em\@svsec}}{\interlinepenalty \@M %
+ {\em #8}\par}% added \em - MAR
+ \endgroup
+ \csname #1mark\endcsname{#7}
+ \addcontentsline{toc}{#1}
+ {\ifnum #2>\c@secnumdepth
+ \else\protect\numberline{\csname the#1\endcsname}\fi #7}
+ \else
+ \def\@svsechd{%
+ #6\hskip #3\relax %% \relax added 2 May 90
+ {\setbox\z@=\hbox{\lowercase{#8}\ifnum\spacefactor>\@m
+ \gdef\@@t{#8}\else\gdef\@@t{#8\@.}\fi}\em\@svsec\@@t}
+ \csname #1mark\endcsname{#7}
+ \addcontentsline{toc}{#1}
+ {\ifnum #2>\c@secnumdepth
+ \else\protect\numberline{\csname the#1\endcsname}\fi #7}%
+ }
+ \fi
+ \@xsect{#5}}
+
+%starred sections use this
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax %added \em in below - MAR
+ \ifdim \@tempskipa>\z@
+ \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M {\em #5}\par}
+ \endgroup
+ \else \def\@svsechd{#4\hskip #1\relax
+ {\setbox\z@=\hbox{\lowercase{#5}\ifnum\spacefactor>\@m
+ \gdef\@@t{#5}\else\gdef\@@t{#5\@.}\fi}\em\@@t}}
+ \fi
+ \@xsect{#3}}
+
+\def\section{\@startsection {section}{1}{\z@}{.225in}{.01in}{\normalsize}}
+\def\subsection{\@startsection{subsection}{2}{\parindent}{2ex}
+ {-1.5ex plus .1ex}{\normalsize}}
+\def\subsubsection{\@startsection{subsubsection}{3}{2\parindent}
+ {2ex}{-1.5ex}{\normalsize}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{3\parindent}{2ex}{-1em}{\normalsize}}
+\def\subparagraph{\@startsection
+ {subparagraph}{4}{4\parindent}{2ex}{-1em}{\normalsize}}
+
+\def\chaptermark#1{}
+
+\setcounter{secnumdepth}{3}
+
+\setlength\leftmargini {\parindent} % 2.5em
+\setlength\leftmargin {\leftmargini}
+\setlength\labelwidth {\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\setlength\parsep {5pt plus 2.5pt minus 1pt}
+\def\@listi{\leftmargin\leftmargini}
+\let\@listI\@listi
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep 5pt plus 2.5pt minus 1pt
+ \parsep 2.5pt plus 1pt minus 1pt
+ \itemsep \parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep 2.5pt plus 1pt minus 1pt
+ \parsep \z@
+ \partopsep 1pt plus 0pt minus 1pt
+ \itemsep \topsep}
+\endinput
+%%
+%% End of file `afthes11.sty'.
diff --git a/macros/latex/contrib/afthesis/afthes12.sty b/macros/latex/contrib/afthesis/afthes12.sty
new file mode 100644
index 0000000000..d7485f68cb
--- /dev/null
+++ b/macros/latex/contrib/afthesis/afthes12.sty
@@ -0,0 +1,201 @@
+% thes12.sty 22 Nov 93
+% cleaned up (some) by Joel Young 16 Nov 96
+% Attempt to only have those things that are different from
+% .../texmf/tex/latex/base/size11.clo
+%
+\lineskip 1pt \normallineskip 1pt
+\def\baselinestretch{1.5}
+\def\str@tchamount{1.5}
+
+\setlength\oddsidemargin {19.5pt}
+\setlength\evensidemargin {19.5pt}
+
+\setlength\topmargin {-4pt}
+\setlength\headheight {18pt}
+\setlength\headsep {4pt}
+\setlength\footskip {26pt}
+\setlength\topskip {10pt}
+
+\if@compatibility
+ \setlength\footheight {24pt}
+ \setlength\@maxsep {20pt}
+ \setlength\@dblmaxsep {20pt}
+\fi
+
+\setlength\textheight {618pt}
+\setlength\textwidth {429pt}
+\setlength\columnsep {10pt}
+\setlength\columnseprule {0pt}
+
+\setlength\parskip {5pt plus 1.5pt minus .5pt}
+\setlength\parindent {2.5em} % same as leftmargini--quote margin
+\setlength\itemsep {0pt plus .5pt}
+
+\setlength{\skip\footins} {20pt plus 4pt minus 4pt}
+\setlength\floatsep {14pt plus 2pt minus 4pt}
+\setlength\textfloatsep {20pt plus 2pt minus 4pt}
+\setlength\topsep {10pt plus 4pt minus 6pt}
+
+\def\@makechapterhead#1{%
+ \ \vspace*{-18pt}%
+ {\parindent 0pt
+ \begin{center}
+ \baselineskip=18.5pt
+ \ifnum \c@secnumdepth >\m@ne
+ \ifx\@chapapp\appfl@g
+ \large{\em Appendix \thechapter.\ \ #1}
+ \else
+ \large{\em \thechapter.\ \ #1}
+ \fi
+ \else
+ \large{\em #1}
+ \fi
+ \end{center}
+ \par \nobreak
+ }}
+
+\def\@makeschapterhead#1{%
+ \ \vspace*{-18pt}%
+ {\parindent 0pt%
+ \begin{center}%
+ \baselineskip=18.5pt%
+ \large{\em #1}%
+ \end{center}%
+ \par \nobreak%
+ }}
+
+\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{afitplain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+
+\def\@chapter[#1]#2{
+ \ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}
+ \ifx\@chapapp\appfl@g{} \else \ifnum\value{chapter}=1
+ \setcounter{page}{1}
+ \pagestyle{afitplain} \ \vspace*{-18pt}
+ \begin{center}
+ \begin{singlespace}
+
+ \large\baselineskip=27.5pt\ti@tle
+
+ \end{singlespace}
+ \end{center}
+ \addvspace{30pt}\fi
+ \fi
+ \ifx\ch@ptnum\ch@ptnumflag %then sequential
+ \def\thepage{\arabic{page}}
+ \def\theequation{\arabic{equation}}
+ \def\thefigure{\arabic{figure}}
+ \def\thetable{\arabic{table}}
+ \else %number by chapter
+ \ifx\@chapapp\appfl@g
+ \def\theequation{\Alph{chapter}.\arabic{equation}}
+ \def\thepage{\Alph{chapter}-\arabic{page}}
+ \def\thefigure{\Alph{chapter}.\arabic{figure}}
+ \def\thetable{\Alph{chapter}.\arabic{table}}
+ \else
+ \def\theequation{\arabic{chapter}.\arabic{equation}}
+ \def\thepage{\arabic{chapter}-\arabic{page}}
+ \def\thefigure{\arabic{chapter}.\arabic{figure}}
+ \def\thetable{\arabic{chapter}.\arabic{table}}
+ \fi
+ \setcounter{page}{1}
+ \setcounter{equation}{0}
+ \setcounter{figure}{0}
+ \setcounter{table}{0}
+ \addtocontents{lof}{\protect\addvspace{10pt}}
+ \addtocontents{lot}{\protect\addvspace{10pt}}
+ \fi
+ \typeout{^^J\@chapapp\space\arabic{chapter}.}
+ \setstretch{\str@tchamount}\normalsize
+ \ifx\@chapapp\appfl@g
+ \addcontentsline{toc}{appendix}
+ {\protect\numberline{Appendix \thechapter.}#1}
+ \else
+ \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter.}#1}
+ \fi
+ \else
+ \addcontentsline{toc}{chapter}{#1}
+ \fi
+ \chaptermark{#1}
+ \@makechapterhead{#2} \@afterheading
+ }
+
+\def\@schapter#1{\if@toc
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \typeout{^^J#1.}
+ \@makeschapterhead{#1}%
+ \@afterheading
+ }
+
+%redefined from latex.tex for underlining option and to supply a period
+%when subsections and below use this macro
+
+%normal sections use this, mod made if nosectionnumbers option chosen
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty\else
+ \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em}\fi
+ \if@nosectnum\let\@svsec\@empty\fi% added - MAR
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #6\relax
+ \@hangfrom{\hskip #3\relax{\em\@svsec}}{\interlinepenalty \@M %
+ {\em #8}\par}% added \em - MAR
+ \endgroup
+ \csname #1mark\endcsname{#7}
+ \addcontentsline{toc}{#1}
+ {\ifnum #2>\c@secnumdepth
+ \else\protect\numberline{\csname the#1\endcsname}\fi #7}
+ \else
+ \def\@svsechd{%
+ #6\hskip #3\relax %% \relax added 2 May 90
+ {\setbox\z@=\hbox{\lowercase{#8}\ifnum\spacefactor>\@m
+ \gdef\@@t{#8}\else\gdef\@@t{#8\@.}\fi}\em\@svsec\@@t}
+ \csname #1mark\endcsname{#7}
+ \addcontentsline{toc}{#1}
+ {\ifnum #2>\c@secnumdepth
+ \else\protect\numberline{\csname the#1\endcsname}\fi #7}%
+ }
+ \fi
+ \@xsect{#5}}
+
+%starred sections use this
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax %added \em in below - MAR
+ \ifdim \@tempskipa>\z@
+ \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M {\em #5}\par}
+ \endgroup
+ \else \def\@svsechd{#4\hskip #1\relax
+ {\setbox\z@=\hbox{\lowercase{#5}\ifnum\spacefactor>\@m
+ \gdef\@@t{#5}\else\gdef\@@t{#5\@.}\fi}\em\@@t}}
+ \fi
+ \@xsect{#3}}
+
+\def\section{\@startsection {section}{1}{\z@}{.2in}{.01in}{\normalsize}}
+\def\subsection{\@startsection{subsection}{2}{\parindent}{2ex}
+ {-1.5ex plus .1ex}{\normalsize}}
+\def\subsubsection{\@startsection{subsubsection}{3}{2\parindent}
+ {2ex}{-1.5ex}{\normalsize}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{3\parindent}{2ex}{-1em}{\normalsize}}
+\def\subparagraph{\@startsection
+ {subparagraph}{4}{4\parindent}{2ex}{-1em}{\normalsize}}
+
+\def\chaptermark#1{}
+
+\setcounter{secnumdepth}{3}
+
+\setlength\leftmargini {\parindent} % 2.5em
+\setlength\leftmargin {\leftmargini}
+\setlength\labelwidth {\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\setlength\parsep {5pt plus 2.5pt minus 1pt}
+\def\@listi{\leftmargin\leftmargini}
+\let\@listI\@listi
+\@listi
+\endinput
+%%
+%% End of file `afthes12.sty'.
diff --git a/macros/latex/contrib/afthesis/afthesis.cls b/macros/latex/contrib/afthesis/afthesis.cls
new file mode 100644
index 0000000000..1960514034
--- /dev/null
+++ b/macros/latex/contrib/afthesis/afthesis.cls
@@ -0,0 +1,771 @@
+%% NEW AFIT THESIS STYLE --
+%% Adapted by the work of Mark Roth et al
+%%
+%% Joel Young --- jdyoung@afit.af.mil
+%
+%
+% Needs:
+%
+% report.cls
+% captions2.sty
+%
+% included:
+% afthes10.tex (10pt support)
+% afthes11.tex (11pt support)
+% afthes12.tex (12pt support)
+%
+% usethesis.tex provides some documentation
+% README provides some other info...
+%
+%
+%%
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{afthesis}[1996/12/14 v2.7 -- AFIT THESIS STYLE]
+\typeout{by Joel Young adapted from work by Mark Roth}
+
+\LoadClassWithOptions{report}
+
+\RequirePackage[hang]{caption2}
+\renewcommand\captionlabeldelim{\hspace{12pt}}
+
+\input{afthes1\@ptsize.sty}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%Date: Sat, 30 Jul 1994 17:58:55 PST
+%From: Donald Arseneau <asnd@erich.triumf.ca>
+%
+%From removefr.tex at
+% CTAN:: macros/latex/contrib/other/fragments/removefr.tex
+%
+% \@removefromreset{FOO}{BAR} : Removes counter FOO from the list of
+% counters \cl@BAR to be reset when counter BAR
+% is stepped. The opposite of \@addtoreset.
+\def\@removefromreset#1#2{\let\@tempb\@elt
+ \expandafter\let\expandafter\@tempa\csname c@#1\endcsname
+ \def\@elt##1{\expandafter\ifx\csname c@##1\endcsname\@tempa\else
+ \noexpand\@elt{##1}\fi}%
+ \expandafter\edef\csname cl@#2\endcsname{\csname cl@#2\endcsname}%
+ \let\@elt\@tempb}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\renewcommand\thechapter {\Roman{chapter}}
+\renewcommand\thesection {\arabic{chapter}.\arabic{section}}
+\renewcommand\thesubsection {\thesection.\arabic{subsection}}
+\renewcommand\thesubsubsection {\thesubsection.\arabic{subsubsection}}
+\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}}
+\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}}
+
+% NUMBER BY CHAPTER
+% if the user specifies \numberbychapter then pages, figures, tables
+% and equations will all be numbered by chapter. Here we set a flag to
+% test in other commands. Also we increase pnumwidth and tocrmarg for
+% the number by chapter option since the page numbers will be much
+% larger.
+\def\ch@ptnum{seq}
+\def\ch@ptnumflag{seq}
+\def\numberbychapter{\def\ch@ptnum{byc}}
+
+% set up for numberbychapter option:
+\ifx\ch@ptnum\ch@ptnumflag
+ \def\thefigure{\arabic{figure}}
+ \def\thetable{\arabic{table}}
+ \def\theequation{\arabic{equation}}
+ \@removefromreset{figure}{chapter}
+ \@removefromreset{table}{chapter}
+ \@removefromreset{equation}{chapter}
+ \gdef\@pnumwidth{3.5em}
+ \gdef\@tocrmarg{4em}
+\else
+ \gdef\@pnumwidth{2em}
+ \gdef\@tocrmarg{2.5em}
+\fi
+
+
+% NO SECTION NUMBERS
+% if the user specifies \nosectionnumbers then section numbers are not
+% used in the text and in the table of contents. A flag is set so that
+% it can be tested when we change the section numbering scheme in
+% the appendices
+\newif\if@nosectnum \@nosectnumfalse
+\def\nosectionnumbers{\@nosectnumtrue
+ \def\thesection{\hskip-1em} %the negative hskip is to counteract the
+ %space which normally appears after the
+ %section number and before the section
+ %title
+ \def\thesubsection{\hskip-1em}
+ \def\thesubsubsection{\hskip-1em}
+
+ \def\l@section{\@dottedtocline{1}{3.5em}{2.3em}}
+ \def\l@subsection{\@dottedtocline{2}{5.5em}{3.2em}}
+ \def\l@subsubsection{\@dottedtocline{3}{7.5em}{4.1em}}
+ \def\l@paragraph{\@dottedtocline{4}{9.5em}{5em}}
+ \def\l@subparagraph{\@dottedtocline{5}{11.5em}{6em}}
+}
+
+% UNDERLINE OPTION
+% if the user specifies \underlineoption then underlining is used
+% instead of italics for emphasized text, including chapter,
+% section, etc. headings
+\newif\if@uloption \@uloptionfalse
+\def\underlineoption{
+ \@uloptiontrue
+ \RequirePackage{ulem}
+ \if@compatibility\else
+ \newcount\@clb
+ \fi
+}
+
+% **************************************
+% * APPENDIX *
+% **************************************
+%
+\newcommand\appfl@g{\appendixname} %used to test \@chapapp
+%
+\renewcommand\appendix{\par\clearpage
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \renewcommand\@chapapp{\appendixname}%
+ \renewcommand\thechapter{\Alph{chapter}}
+ \if@nosectnum\else
+ \renewcommand\thesection{\Alph{chapter}.\arabic{section}}
+ \fi
+}
+
+
+% FIGURE
+% redefine the @caption command to put a period after the figure or
+% table number in the lof and lot tables
+\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
+ ext@#1\endcsname}{#1}{\protect\numberline{\csname
+ the#1\endcsname.}{\ignorespaces #2}}\begingroup
+ \@parboxrestore
+ \normalsize
+ \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+ \endgroup}
+
+% QUOTATION
+% Fills lines
+% Indents paragraph
+% Singlespace
+\renewenvironment{quotation}
+ {\list{}{\listparindent 1.5em%
+ \itemindent \listparindent
+ \rightmargin \leftmargin
+ \parsep \z@ \@plus\p@}%
+ \medskip\singlespace\item\relax}
+ {\endlist}
+
+% modify \@endparenv to get rid of \addvspace which isn't needed in a
+% doublespaced document
+\def\@endparenv{\addpenalty\@endparpenalty\@endpetrue}
+
+% QUOTE -- same as quotation except no paragraph indentation,
+%
+\renewenvironment{quote}
+ {\list{}{\rightmargin\leftmargin}%
+ \smallskip\singlespace\item\relax}
+ {\endlist}
+
+
+% ****************************************
+% * TABLE OF CONTENTS, ETC. *
+% ****************************************
+
+\renewcommand\contentsname{Table of Contents}
+
+\newif\if@toc \@tocfalse
+\renewcommand\tableofcontents{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \begingroup% temporarily set if@toc so that \@schapter will not
+ % put Table of Contents in the table of contents.
+ \@toctrue
+ \chapter*{\contentsname}
+ \endgroup
+ \thispagestyle{afittoc}
+ \baselineskip=18pt plus .5pt minus .5pt
+ {\raggedleft Page \par\vskip-\parskip}
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+ \baselineskip=\normalbaselineskip
+ }
+
+\def\l@appendix{\pagebreak[3]
+ \vskip 1.0em plus 1pt % space above appendix line
+ \@dottedtocline{0}{0em}{8em}}
+
+\def\l@chapter{\pagebreak[3]
+ \vskip 1.0em plus 1pt % space above appendix line
+ \@dottedtocline{0}{0em}{4em}}
+
+\if@nosectnum\else
+ \renewcommand\l@section{\@dottedtocline{1}{5.5em}{2.4em}}
+ \renewcommand\l@subsection{\@dottedtocline{2}{8.5em}{3.2em}}
+ \renewcommand\l@subsubsection{\@dottedtocline{3}{11em}{4.1em}}
+ \renewcommand\l@paragraph{\@dottedtocline{4}{13.5em}{5em}}
+ \renewcommand\l@subparagraph{\@dottedtocline{5}{16em}{6em}}
+\fi
+
+% LIST OF FIGURES
+%
+\def\listoffigures{%
+ \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi
+ \chapter*{\listfigurename}%
+ \thispagestyle{afitlof}%
+ \baselineskip=18pt plus .5pt minus .5pt%
+ {\hbox to \hsize{Figure\hfil Page} \par\vskip-\parskip}%
+ \@starttoc{lof}%
+ \if@restonecol\twocolumn\fi%
+ \baselineskip=\normalbaselineskip}%
+
+\def\l@figure{\@dottedtocline{1}{1em}{4.0em}}
+
+% LIST OF TABLES
+%
+\def\listoftables{%
+ \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi
+ \chapter*{\listtablename}%
+ \thispagestyle{afitlot}%
+ \baselineskip=18pt plus .5pt minus .5pt%
+ {\hbox to \hsize{Table\hfil Page} \par\vskip-\parskip}%
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi%
+ \baselineskip=\normalbaselineskip}%
+
+\let\l@table\l@figure
+
+% LIST OF SYMBOLS
+%
+\newcommand\listsymbolname{List of Symbols}
+
+\def\listofsymbols{%
+ \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi
+ \chapter*{\listsymbolname}%
+ \thispagestyle{afitlos}%
+ \baselineskip=18pt plus .5pt minus .5pt%
+ {\hbox to \hsize{Symbol\hfil Page} \par\vskip-\parskip}%
+ \@starttoc{los}%
+ \if@restonecol\twocolumn\fi%
+ \baselineskip=\normalbaselineskip}%
+
+%add symbol to los and in text with optional definition in the los
+ \def\symbol{\@ifnextchar[{\@symboldef}{\@symbolnodef}}
+ \def\@symboldef[#1]#2{#2\addcontentsline{los}{figure}{#2\ #1}}
+ \def\@symbolnodef#1{#1\addcontentsline{los}{figure}{#1}}
+
+% LIST OF ABBREVIATIONS
+%
+\newcommand\listabbrevename{List of Abbreviations}
+
+\def\listofabbreviations{%
+ \@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi
+ \chapter*{\listabbrevename}%
+ \thispagestyle{afitloa}%
+ \baselineskip=18pt plus .5pt minus .5pt%
+ {\hbox to \hsize{Abbreviation\hfil Page} \par\vskip-\parskip}%
+ \@starttoc{loa}%
+ \if@restonecol\twocolumn\fi%
+ \baselineskip=\normalbaselineskip}%
+
+%add abbreviation to loa and in text with optional definition in the loa
+ \def\abbreviation{\@ifnextchar[{\@abbreviationdef}{\@abbreviationnodef}}
+ \def\@abbreviationdef[#1]#2{#2\addcontentsline{loa}{figure}{#2\ #1}}
+ \def\@abbreviationnodef#1{#1\addcontentsline{loa}{figure}{#1}}
+
+% ****************************************
+% * BIBLIOGRAPHY *
+% ****************************************
+%
+\def\@cite#1#2{({#1\if@tempswa :#2\fi})}
+\def\@biblabel#1{#1.\hfill} %change from the default [#1]
+
+\renewenvironment{thebibliography}[1]
+ {
+ \chapter*{\bibname
+ \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}%
+ \ifx\ch@ptnum\ch@ptnumflag{}
+ \else\gdef\thepage{BIB-\arabic{page}}
+ \setcounter{page}{1}\fi
+ \vspace{2.5ex}
+ \singlespace
+ \list{\@biblabel{\arabic{enumiv}}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \usecounter{enumiv}%
+ \itemsep 0.02in
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\arabic{enumiv}}%
+ }
+ \sloppy\clubpenalty4000\widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+
+% ****************************************
+% * PAGE STYLES *
+% ****************************************
+%
+\def\ps@afittoc{%
+ \let\@mkboth\@gobbletwo
+ \def \@oddhead{}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afittocn}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+\def\ps@afittocn{\let\@mkboth\@gobbletwo
+ \def \@oddhead{\rm \hfil\raisebox{10pt}{Page}}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afittocn}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+
+\def\ps@afitlof{\let\@mkboth\@gobbletwo
+ \def \@oddhead{}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afitlofn}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+\def\ps@afitlofn{\let\@mkboth\@gobbletwo
+ \def \@oddhead{\rm
+ \raisebox{10pt}{Figure}\hfil\raisebox{10pt}{Page}}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afitlofn}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+
+\def\ps@afitlot{\let\@mkboth\@gobbletwo
+ \def \@oddhead{}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afitlotn}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+\def\ps@afitlotn{\let\@mkboth\@gobbletwo
+ \def \@oddhead{\rm
+ \raisebox{10pt}{Table}\hfil\raisebox{10pt}{Page}}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afitlotn}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+
+\def\ps@afitlos{\let\@mkboth\@gobbletwo
+ \def \@oddhead{}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afitlosn}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+\def\ps@afitlosn{\let\@mkboth\@gobbletwo
+ \def \@oddhead{\rm
+ \raisebox{10pt}{Symbol}\hfil\raisebox{10pt}{Page}}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afitlosn}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+
+\def\ps@afitloa{\let\@mkboth\@gobbletwo
+ \def \@oddhead{}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afitloan}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+\def\ps@afitloan{\let\@mkboth\@gobbletwo
+ \def \@oddhead{\rm
+ \raisebox{10pt}{Abbreviation}\hfil\raisebox{10pt}{Page}}
+ \def \@oddfoot{\rm
+ \hfil\raisebox{-9pt}{\thepage}\hfil\thispagestyle{afitloan}}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+
+\def\ps@afitplain{\let\@mkboth\@gobbletwo
+ \def \@oddhead{}
+ \def \@oddfoot{\rm \hfil\raisebox{-9pt}{\thepage}\hfil}
+ \let \@evenhead\@oddhead \let \@evenfoot\@oddfoot}
+
+
+% ****************************************
+% * DOUBLESPACE *
+% ****************************************
+%
+%The following taken from doublespace.sty, it allows the thesis to be
+%double spaced and still look fairly decent
+
+\def\setstretch#1{\renewcommand{\baselinestretch}{#1}}
+
+\def\@newbaseline{%
+ \baselineskip\f@baselineskip\relax%
+ \baselineskip\baselinestretch\baselineskip
+ \setbox\strutbox\hbox{\vrule\@height.7\baselineskip
+ \@depth.3\baselineskip \@width\z@}%
+ \normalbaselineskip\baselineskip}% -MAR
+
+%---Increase the space between last line of text and footnote rule.
+% This is a very untidy way to do it!
+
+\skip\footins 20pt plus4pt minus4pt
+
+%---Reset baselinestretch within footnotes and floats. Originally stolen
+% from Stanford thesis style.
+
+\let\latex@xfloat=\@xfloat
+\def\@xfloat #1[#2]{%
+ \latex@xfloat #1[#2]%
+ \singlespace
+ \normalsize
+}
+
+\long\def\@footnotetext#1{\insert\footins{\def\baselinestretch{1}\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+ {\rule{\z@}{\footnotesep}\ignorespaces
+ #1\strut}}}
+
+\def\singlespace{%
+ \def\baselinestretch{1}%
+ \ifx\undefined\selectfont
+ \ifx\@currsize\normalsize\normalsize\else\@currsize\fi%
+ \else %else new font selection scheme is invoked-MAR
+ \@newbaseline %include new baselinestretch-MAR
+ \fi %-MAR
+}
+\def\endsinglespace{\par}
+
+\def\spacing#1{\par%
+ \begingroup % moved from \endspacing by PGBR 1-29-91
+ \def\baselinestretch{#1}%
+ \def\str@tchamount{#1}
+ \ifx\undefined\selectfont %then new font selection scheme not invoked-MAR
+ \ifx\@currsize\normalsize\normalsize\else\@currsize\fi
+ \else %else new font selection scheme is invoked-MAR
+ \@newbaseline %include new baselinestretch-MAR
+ \fi %-MAR
+}
+
+\def\endspacing{\par%
+ \vskip \parskip%
+ \vskip \baselineskip%
+ \endgroup%
+ \vskip -\parskip%
+ \vskip -\baselineskip%
+} %\begingroup used to be here, PGBR 1-29-91
+
+% one and a half spacing is 1.5 x pt size
+\def\onehalfspace{\ifcase \@ptsize \relax % 10pt
+ \spacing{1.25}
+ \or % 11pt
+ \spacing{1.213}
+ \or % 12pt
+ \spacing{1.241}
+ \fi}
+\let\endonehalfspace=\endspacing
+
+
+\def\doublespace{%
+ \if case \@ptsize \relax % 10pt
+ \spacing{1.667}
+ \or % 11pt
+ \spacing{1.618}
+ \or % 12pt
+ \spacing{1.655}
+ \fi
+}
+\let\enddoublespace=\endspacing
+
+
+\everydisplay{
+ \abovedisplayskip \baselinestretch\abovedisplayskip%
+ \belowdisplayskip \abovedisplayskip%
+ \abovedisplayshortskip \baselinestretch\abovedisplayshortskip%
+ \belowdisplayshortskip \baselinestretch\belowdisplayshortskip}
+
+
+%
+% ****************************************
+% * THESIS TYPE AND DEFAULT VALUES *
+% ****************************************
+%
+\def\TH@SISTYPE{THESIS}\def\th@sistype{thesis}
+\def\pr@viousdegrees{}
+\def\pr@viousdegreestwo{}
+\def\d@gree{}
+\def\gr@duationdate{\ifcase\month\or
+ March\or March\or March\or June\or June\or June\or September\or
+ September\or September\or December\or December\or December\fi
+ \ \number\year}
+\def\r@nk{}
+\def\sch@ol{}
+\def\ti@tle{}
+\def\sqti@tle{}
+\def\disclaim@r{The views expressed in this \th@sistype\ are those of
+ the \if@twoauthor authors \else author \fi and do not
+ reflect the official policy or position of the
+ Department of Defense or the United States Government.}
+\def\d@stribution{Approved for public release; distribution unlimited}
+\def\d@signator{}
+\def\d@an{}
+
+\def\diss@flag{dissertation}
+\def\report@flag{report}
+\def\thesis@flag{thesis}
+
+\def\mastersreport{\def\TH@SISTYPE{REPORT}\def\th@sistype{report}}
+\def\dissertation{\def\TH@SISTYPE{DISSERTATION}\def\th@sistype{dissertation}}
+
+%
+% ****************************************
+% * DATA OF AUTHOR AND THESIS *
+% ****************************************
+%
+\newif\if@twoauthor \@twoauthorfalse
+\def\twoauthor{\@twoauthortrue}
+\newif\if@flyleafframe \@flyleafframefalse
+\def\flyleafframe{\@flyleafframetrue}
+\def\author#1{\def\auth@r{#1}}
+\def\authortwo#1{\def\auth@rtwo{#1}}
+\def\designator#1{\def\d@signator{#1}}
+\def\rank#1{\def\r@nk{#1}}
+\def\ranktwo#1{\def\r@nktwo{#1}}
+\def\dean#1{\def\d@an{#1}}
+\def\school#1{\def\sch@ol{#1}}
+\def\distribution#1{\def\d@stribution{#1}}
+\def\bl@nk{}
+\def\title#1{\def\ti@tle{#1}\ifx\sqti@tle\bl@nk\def\sqti@tle{#1}\fi}
+\def\flytitle#1{\def\sqti@tle{#1}}
+\def\previousdegrees#1{\def\pr@viousdegrees{#1}}
+\def\previousdegreestwo#1{\def\pr@viousdegreestwo{#1}}
+\def\degree#1{\def\d@gree{#1}}
+\def\graduationdate#1{\def\gr@duationdate{#1}}
+\def\address#1{\def\addr@ss{#1}}
+\def\addresstwo#1{\def\addr@sstwo{#1}}
+
+
+%
+% **************************************
+% * COMPONENTS OF THESIS *
+% **************************************
+%
+%
+% APPROVAL PAGE
+%
+% Comma delimited list of committee members is the parameter.
+% e.g.
+%\committee{Dr. Eugene Santos Jr\\Committee Chair,
+% Dr. Lamont\\Committee Member,
+% Maj. Banks\\Committee Member}
+%
+\def\appr@val{\leftline{Approved:\hfill}\bigskip}
+
+\def\committee#1{\gdef\@committee{#1}}
+
+%prints out signaturelines in aproval page
+\def\sign@turelines{\@ifundefined{@committee}%
+ {\@warning{Missing \string\committee\space command!}%
+ \def\@comem{MEMBER HERE\\TITLE HERE}%
+ \sign@line\sign@line\sign@line}%
+ {\@for \@comem:=\@committee \do{\sign@line}}%
+}
+
+% format of signature line...
+\def\sign@line{\par
+ \begingroup%
+ \singlespace%
+ \setlength{\parskip}{0pt}
+ \hskip 65pt%
+ \hbox to 3in{\hrulefill}%
+ \hskip 10pt%
+ \hbox to 1.2in{\hrulefill}\par%
+ \hskip 65pt%
+ \parbox[t]{3in}{\raggedright \@comem}%
+ \hskip 10pt Date%
+ \par%
+ \bigskip\bigskip%
+ \endgroup
+}
+
+% The approval page itself...
+\def\approvalpage{%
+ \thispagestyle{empty}%
+ \newpage%
+ \typeout{^^JApproval Page.}
+ \leftline{\d@signator\hfill}
+ \vspace*{40pt}
+ \baselineskip=22.5pt plus .5pt minus .2 pt
+ \begin{center}%
+ \large\rm\ti@tle\\[\bigskipamount] \normalsize
+ \auth@r\ifx\pr@viousdegrees\@empty\else, \pr@viousdegrees\fi%
+ \\[\medskipamount] \r@nk
+ \end{center}
+ \vfill
+ \appr@val\bigskip\medskip
+ \sign@turelines
+ \ifx\th@sistype\diss@flag
+ \begingroup
+ \singlespace
+ \vspace{40pt}
+ \leftline{\hskip 2in\hskip 15pt\hbox to 3in{\hrulefill}\hfil}
+ \leftline{\hskip 2in\hskip 15pt\d@an\hfil}
+ \leftline{\hskip 2in\hskip 15pt Dean\hfil}
+ \endgroup
+ \fi
+ \vspace{100pt}\newpage
+}
+
+
+% FLYLEAF
+%
+\def\newheadline{\protect\\}
+\def\flyleaf{\thispagestyle{empty}
+ \typeout{^^JFly Leaf.}
+ \leftline{\d@signator\hfill}
+ \vspace{4.08in}
+ \centerline{%
+ \if@flyleafframe\framebox[4.00in]{\fi
+ \vbox to 2in{
+ \baselineskip=22.5pt plus .5pt minus 10pt
+ \begin{center} \sqti@tle \end{center} \vfill
+ \begin{center} \TH@SISTYPE \end{center} \vfill
+ \baselineskip=18.5pt plus .5pt minus 6pt
+ \if@twoauthor
+ \centerline{
+ \begin{minipage}[t]{2in}\singlespace
+ \centerline{\auth@r}
+ \centerline{\r@nk}
+ \end{minipage}
+ \begin{minipage}[t]{2in}\singlespace
+ \centerline{\auth@rtwo}
+ \centerline{\r@nktwo}
+ \end{minipage}
+ }
+ \else\singlespace
+ \centerline{\auth@r}
+ \centerline{\r@nk}
+ \fi
+ \vfill
+ \begin{center}\d@signator\end{center}
+ }%end vbox
+ \if@flyleafframe}\fi %end framebox
+ }%end centerline
+ \vfill
+ \begin{center}\singlespace\d@stribution\end{center}%
+ \newpage\baselineskip=\normalbaselineskip}
+
+% DISCLAIMER
+%
+\def\disclaimerpage{%
+ \typeout{^^JDisclaimer Page.}
+ \thispagestyle{empty}
+ \ \vfill
+ \noindent\disclaim@r
+ \vfill \newpage
+ }
+
+% TITLEPAGE
+%
+\def\titlepage{\setcounter{page}{1}
+ \typeout{^^JTitle Page.}
+ \thispagestyle{empty}
+ \leftline{\d@signator\hfill}
+ \vspace*{5pt}\vfill
+ \begin{center} \baselineskip 22.5pt\large\rm\ti@tle \end{center}
+ \vspace*{30pt}
+ \begin{center} \baselineskip 22.5pt
+ \TH@SISTYPE\\[30pt] Presented to the Faculty of the \sch@ol\\
+ of the Air Force Institute of Technology\\
+ Air University\\
+ In Partial Fulfillment of the\\
+ Requirements for the Degree of\\
+ \d@gree
+ \end{center}\vfill\baselineskip 22.5pt
+ \if@twoauthor
+ \begin{minipage}[t]{.49\textwidth}
+ \centerline{\auth@r\ifx\pr@viousdegrees\@empty%
+ \else, \pr@viousdegrees\fi}
+ \centerline{\r@nk}
+ \end{minipage}
+ \begin{minipage}[t]{.49\textwidth}
+ \centerline{\auth@rtwo\ifx\pr@viousdegreestwo\@empty%
+ \else, \pr@viousdegreestwo\fi}
+ \centerline{\r@nktwo}
+ \end{minipage}
+ \else
+ \centerline{\auth@r\ifx\pr@viousdegrees\@empty%
+ \else, \pr@viousdegrees\fi}
+ \centerline{\r@nk}
+ \fi
+ \vfill
+ \centerline{\gr@duationdate}
+ \vfill
+ \begin{center}\singlespace\d@stribution\end{center}%
+ \newpage\baselineskip=\normalbaselineskip}
+
+% ACKNOWLEDGEMENTS OR PREFACE
+%
+\newenvironment{acknowledgements}{\ackhead}{\acktail}
+\newenvironment{acknowledgments}{\ackhead}{\acktail} %for upward compatibility
+\def\ackhead{\chapter*{Acknowledgements}
+ \setstretch{\str@tchamount}\normalsize} %back to doublespace
+\def\acktail{\par\bigskip\bigskip \leftline{\hfill\auth@r}
+\if@twoauthor\leftline{\hfill\auth@rtwo}\fi}
+
+\newenvironment{preface}{\prefacehead}{\acktail}
+\def\prefacehead{\chapter*{Preface}
+ \setstretch{\str@tchamount}\normalsize} %back to doublespace
+
+% ABSTRACT
+%
+\renewenvironment{abstract}{\abshead}{\abstail}
+\def\abshead{%
+ \clearpage%
+ \typeout{^^JAbstract.}%
+ \thispagestyle{afitplain}%
+ \leftline{\d@signator\hfill}%
+ \addcontentsline{toc}{chapter}{Abstract}%
+ \vspace*{18pt}%
+ \centerline{\large{\em Abstract}}\par\par\nobreak%
+ \setstretch{\str@tchamount}\normalsize}
+\def\abstail{\par}
+
+% VITA
+%
+\newif\if@vitatwo \@vitatwofalse
+\newenvironment{vita}{\vitahead}{\vitatail}
+\def\vitahead{%
+ \clearpage%
+ \typeout{^^JVita.}%
+ \ifx\ch@ptnum\ch@ptnumflag{}\else%
+ \gdef\thepage{VITA-\arabic{page}}%
+ \if@vitatwo\else\setcounter{page}{1}\fi\fi%
+ \centerline{\large{\em Vita}}\par\par\nobreak%
+ \setstretch{\str@tchamount}\normalsize%
+ \if@vitatwo\else\addcontentsline{toc}{chapter}{Vita}\fi%
+}%end vitahead
+\def\vitatail{\vfill%\par\vspace{50pt}\par
+ \singlespace
+ \hfill Permanent address:
+ \begin{tabular}[t]{l}
+ \if@twoauthor
+ \if@vitatwo \addr@sstwo
+ \else
+ \addr@ss
+ \global\@vitatwotrue %set so next time vita prints 2nd author's addr
+ \fi
+ \else \addr@ss
+ \fi
+ \end{tabular}
+}%end vitatail
+
+% ****************************************
+% * INITIALIZATION *
+% ****************************************
+%
+% Default initializations
+
+\ps@afitplain % 'afitplain' page style with lowered page nos.
+\onecolumn % Single-column.
+\pagenumbering{roman} % the first chapter will change pagenumbering
+ % to arabic
+\setcounter{page}{1} % in case a titlepage is not requested
+ % otherwise titlepage sets page to 1 since the
+ % flyleaf is not counted as a page
+\widowpenalty 10000 % completely discourage widow lines
+\clubpenalty 10000 % completely discourage club (orphan) lines
+\raggedbottom % don't force alignment of bottom of pages
+
+\endinput
diff --git a/macros/latex/contrib/afthesis/afthesis.sty b/macros/latex/contrib/afthesis/afthesis.sty
new file mode 100644
index 0000000000..7a7c138398
--- /dev/null
+++ b/macros/latex/contrib/afthesis/afthesis.sty
@@ -0,0 +1,4 @@
+\NeedsTeXFormat{LaTeX2e}
+\@obsoletefile{afthesis.cls}{afthesis.sty}
+\LoadClass{afthesis}
+\endinput
diff --git a/macros/latex/contrib/afthesis/thesnumb.bst b/macros/latex/contrib/afthesis/thesnumb.bst
new file mode 100644
index 0000000000..9475d28f67
--- /dev/null
+++ b/macros/latex/contrib/afthesis/thesnumb.bst
@@ -0,0 +1,1242 @@
+% BibTeX AFIT Thesis numbered bibliography style `thesnumb' version 1.3
+ % created from plain.bst and ieeetr.bst by M. Roth 04-24-89
+ % modified incollection and inproceedings (conference) 4-15-91
+ % modified rest of page formats to eliminate word "page" or "pages" 5-15-91
+ % modified inproceedings (conference) to fix editor entry, 10-7-91
+ % follows for the most part the AFIT style guide
+ %
+ % for BibTeX versions 0.99a or later, LaTeX version 2.09.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ designator
+ dticnumber
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ umfnumber
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.quote after.sentence
+ after.quoted.block after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.quote :=
+ #3 'after.sentence :=
+ #4 'after.quoted.block :=
+ #5 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.quote =
+ { " " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.quoted.block =
+ { write$
+ newline$
+ "\newblock " write$
+ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ 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 {blank.sep}
+{ after.quote 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ output.state after.quoted.block =
+ 'skip$
+ 'add.period$
+ if$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { output.state after.quote =
+ { after.quoted.block 'output.state := }
+ { after.block 'output.state := }
+ if$
+ }
+ 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 {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "\/}" * }
+ if$
+}
+
+FUNCTION {format.addr.inst}
+{ institution empty$
+ { "" }
+ { address empty$
+ { "" }
+ { address ": " * }
+ if$
+ institution *
+ }
+ if$
+}
+
+FUNCTION {format.addr.pub}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { "" }
+ { address ": " * }
+ if$
+ publisher *
+ }
+ if$
+}
+
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names} %set 1 or 2 names, if > 2 names use 1 name & et al.
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { numnames #2 >
+ { ", et~al." *
+ #1 'namesleft := %to exit loop now
+ }
+ { " and " * s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ * }
+ if$
+ }
+ { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.in.names} %set 1 or 2 names, if > 2 names use 1 name & et al.
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { numnames #2 >
+ { ", et~al." *
+ #1 'namesleft := %to exit loop now
+ }
+ { " and " * s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ * }
+ if$
+ }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ }
+ 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.in.editors}
+{ editor empty$
+ { "" }
+ { "edited by "
+ editor format.in.names *
+ }
+ if$
+}
+
+FUNCTION {format.title.p}
+{ title empty$
+ { "" }
+ { "``" title * ".''" * }
+ 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.date.a}
+{ 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.edition}
+{ edition empty$
+ { "" }
+ { " (" edition "t" change.case$ " Edition)" * *}
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize format.edition *
+}
+
+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 emphasize
+ series empty$
+ 'skip$
+ {". " * series *}
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.btitle.volume}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle emphasize format.edition * format.bvolume * "." * }
+ { booktitle emphasize format.edition * format.bvolume * }
+ if$
+ }
+ 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$
+}
+
+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 n.dashify tie.or.space.connect }
+ { "" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.dticnumber}
+{ dticnumber empty$
+ { "" }
+ { " (" dticnumber * ")" * }
+ if$
+}
+
+FUNCTION {format.umfnumber}
+{ umfnumber empty$
+ { "" }
+ { " (" umfnumber * ")" * }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume emphasize
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.booktitle}
+{ booktitle empty$
+ { "" }
+ { booktitle emphasize }
+ 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
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { }
+ { 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
+ format.title "title" output.check
+ blank.sep
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ blank.sep
+ format.date.a "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
+ format.addr.pub "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ 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 {brochure}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ new.block
+ author empty$
+ { address new.block.checka
+ address output
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {govpub}
+{ output.bibitem
+ organization "organization" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ new.block
+ format.addr.pub output
+ format.date "year" output.check
+ 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
+ format.addr.pub "publisher" output.check
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title.p "title" output.check
+ blank.sep
+ crossref missing$
+ { format.in.booktitle "booktitle" output.check
+ format.edition output
+ blank.sep
+ format.bvolume output
+ format.number.series output
+ format.in.editors output
+ format.chapter.pages output
+ format.addr.pub "publisher" output.check
+ 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
+ format.title.p "title" output.check
+ blank.sep
+ crossref missing$
+ { format.btitle.volume "booktitle" output.check
+ volume empty$
+ { editor empty$ {new.block} 'skip$ if$}
+ 'skip$ if$
+ format.number.series output
+ format.in.editors output
+ new.block
+ format.pages output
+ new.block
+ format.addr.pub output
+ format.date "year" output.check
+ }
+ { 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.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "MS thesis" format.thesis.type output.nonnull
+ designator output
+ school "school" output.check
+ address output
+ format.date format.dticnumber * "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title empty$
+ { howpublished new.sentence.checka }
+ { howpublished empty$ not
+ month empty$ year empty$ and
+ or
+ { format.title.p output.nonnull }
+ { format.title output.nonnull }
+ if$
+ blank.sep
+ }
+ if$
+ 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 dissertation" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date format.dticnumber * format.umfnumber * "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
+ format.addr.pub output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ format.addr.inst "institution" output.check
+ format.date format.dticnumber * "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title.p "title" output.check
+ blank.sep
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {afit} {"Air Force Institute of Technology (AETC)"}
+
+MACRO {en} {"Graduate School of Engineering, Air Force Institute of Technology (AETC)"}
+
+MACRO {log} {"Graduate School of Logistics and Acquisition Management, Air Force Institute of Technology (AETC)"}
+
+MACRO {wpafb} {"Wright-Patterson AFB OH"}
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ type$ "govpub" =
+ or
+ type$ "brochure" =
+ or
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/macros/latex/contrib/afthesis/thesnumb.doc b/macros/latex/contrib/afthesis/thesnumb.doc
new file mode 100644
index 0000000000..5c66c84ee7
--- /dev/null
+++ b/macros/latex/contrib/afthesis/thesnumb.doc
@@ -0,0 +1,387 @@
+%the examples below show how to create entries in a .bib file for your
+%thesis. Use the thesnumb bibliography style as in \bibliographystyle{thesnumb}
+%to get the standard AFIT bibliography style as shown in the ``Style Guide
+%for Theses and Dissertations." For the most part the standard types and
+%fields are available. Additions include:
+% New types: govpub -- for government publications like regs, laws, etc.
+% Required fields: organization, title, year
+% Optional fields: type, number, publisher, address, month, note
+% brochure -- for company brochures, ads, etc which may be
+% numbered. The standard manual type is similar.
+% Required fields: title
+% Optional fields: author, organization, type, number, address,
+% month, year, note
+% New fields: dticnumber -- DTIC number (e.g., AD-A1111) added as an optional
+% field to mastersthesis, phdthesis, techreport
+% designator -- AFIT thesis designator added as an optional
+% field to mastersthesis
+% umfnumber -- University Microfilm Number added as an optional
+% field to phdthesis
+% NOTE: this style only works with BIBTEX version .99a or higher
+% QUESTION or SUGGESTIONS: email to mroth (Mark Roth, AFIT/ENG, 53576)
+
+% Most of these examples taken from the Style Guide:
+
+@book{book-simple-entry,
+author="Peter S. Maybeck",
+title="Stochastic Models, Estimating, and Control",
+publisher="Academic Press",
+address="New York",
+year=1979
+}
+
+@book{book-two-authors,
+author="John J. D'Azzo and Constantine H. Houpis",
+title="Linear Control Systems Analysis and Design",
+publisher="McGraw-Hill Book Company",
+address="New York",
+year=1981
+}
+
+@book{book-edition,
+author="Harold B. Kepler",
+title="Basic Graphical Kinematics",
+edition="Second",
+publisher="McGraw-Hill Book Company",
+address="New York",
+year=1973
+}
+
+@book{book-three-or-more-authors,
+author="John A. Muller and others",
+title="Development and Validation of Effective Composition Instruments",
+publisher="Jardin Publishing Company",
+address="New York",
+year=1983
+}
+
+@incollection{chapter-in-an-anthology,
+author="Rehg, Virgil",
+title="Application of Quality Circles",
+booktitle="New Directions in Effective Management",
+volume=3,
+editor="Juanita Klosterman",
+publisher="Kenny Press",
+address="Boston",
+year=1980
+}
+
+@inbook{signed-foreword,
+author="Triscari, Capt Thomas, Jr. and Maj Ronald W. Hitzelberger",
+title="New Directions in Systems Management",
+type="Forward",
+chapter="by Richard T. Taliferro",
+publisher="Garden State Publishers",
+address="River Edge NJ",
+year=1982
+}
+
+@article{periodical-simple-entry,
+author="Donn G. Shankland",
+title="A Numerically Efficient Procedure for the Theil-van de Panne
+ Quadratic Programming Methods",
+journal="Journal of Optimization Theory and Application",
+volume=31,
+pages="117-123",
+month=may,
+year=1980
+}
+
+@article{periodical-two-authors,
+author="Harrington, Maj Thomas C. and William A. Fischer",
+title="Portfolio Modeling in Multiple-Criteria Situations Uncertainty",
+journal="Decision Sciences",
+volume=4,
+pages="171-173",
+month=jan,
+year=1980
+}
+
+@article{periodical-three-or-more--authors,
+author="Ernest A. Dorko and others",
+title="Kinetic Studies of Kitan Red-S Photodecomposition Under Continuous
+ Working and Flash Photolytic Conditions",
+journal="Journal of Photochemistry",
+volume=12,
+pages="345-356",
+month=apr,
+year=1980
+}
+
+@article{periodical-nonconsective-pages,
+author="Freda L. Stohrer",
+title="Passive Voice Structures",
+journal="Journal of Neurosemantics",
+volume=23,
+pages="58-64+",
+month=jul,
+year=1983
+}
+
+@article{unsigned-article-1,
+title="Fifty and a Hundred Years Ago Today",
+key="Fifty",
+journal="Quarterly Review of Economics and Business",
+volume=22,
+pages="83-85",
+month="Summer",
+year=1982
+}
+
+@article{unsigned-article-2,
+title="The View From the Top",
+key="View",
+journal="Management Quarterly",
+volume=8,
+pages="12-14",
+month="Winter",
+year=1986
+}
+
+@govpub{report,
+organization="Bureau of the Census",
+title="Population Estimates and Projections",
+type="Report Series",
+number="P25; No. 108",
+address="Washington",
+publisher="Government Printing Office",
+year=1980
+}
+
+@govpub{regulation,
+organization="Department of the Air Force",
+title="Administrative Communications: Air Force Standard Functional
+ Address System",
+type="AFR",
+number="10-6",
+address="Washington",
+publisher="HQ USAF",
+month="22 " # jan,
+year=1982
+}
+
+@govpub{manual,
+organization="Department of the Air Force",
+title="USAF Formal Schools Catalog",
+type="AFM",
+number="50-5",
+address="Washington",
+publisher="HQ USAF",
+month="1 " # jun,
+year=1980
+}
+
+@govpub{directive,
+organization="Department of Defense",
+title="Distribution Statements of Technical Documents",
+type="DOD Directive",
+number="5200.20",
+address="Washington",
+publisher="Government Printing Office",
+month="26 " # mar,
+year=1971
+}
+
+@govpub{law,
+organization="U. S. Congress",
+title="National Security Act of 1979",
+type="Public Law",
+number="No. 193, 96th Congress, 1st Session",
+address="Washington",
+publisher="Government Printing Office",
+year=1979
+}
+
+@govpub{hearing,
+organization="U. S. Congress, House of Representatives, Committee on the
+ Judiciary, Subcommittee on Monopolies",
+title="Hearings on Restoring Effective Enforcement of Antitrust Law",
+type="Hearing,",
+number="96th Congress, 2nd Session, 1979",
+address="Washington",
+publisher="Government Printing Office",
+year=1979
+}
+
+@mastersthesis{thesis,
+author="Carpenter, Capt Dennis M.",
+title="Relating Expected Inventory Backorders of Safety Stock Investment
+ Levels",
+designator="AFIT/GIM/LSM/86S-153",
+school=log,
+address=wpafb,
+month=sep,
+year=1981,
+dticnumber="AD-A1103970"
+}
+
+@phdthesis{dissertation-afit,
+author="Neumann, Capt David W.",
+title="Observation and Analysis of LiCa and MiMg Excimers",
+school=en,
+address=wpafb,
+month=jun,
+year=1980,
+dticnumber="AD-A1113137",
+umfnumber="ON7229905"
+}
+
+@phdthesis{dissertation-civilian,
+author="Miro, Donald J.",
+title="A Comparative Evaluation of Relaxation Training Strategies
+ Using EMG Biofeedback",
+school="Loyola University of Chicago",
+address="Chicago IL",
+year=1981,
+umfnumber="ON8119983"
+}
+
+@inproceedings{conference-paper,
+author="DeWispelare, Capt Aaron R.",
+title="Algorithm Efficiency in Generating Nondenominated Solution Sets",
+booktitle="Proceedings of the IEEE 12th Annual Symposium in System Theory",
+pages="218-222",
+publisher="IEEE Press",
+address="New York",
+year=1980
+}
+
+@techreport{research-report,
+author="Morton F. Blair and Milburn J. Werle",
+title="The Influence of Freestream Turbulance in the Zero Pressure Gradient
+ Fully Turbulent Boundary Layer: Interim Report, {\rm 1 June 1982--
+ 1 June 1983}",
+type="Contract",
+number="F4962078C00064",
+address="East Hartford CN",
+institution="Adkins Research Center",
+month=sep,
+year=1982,
+dticnumber="AD-A1913094"
+}
+
+@brochure{company-brochure-1,
+organization="Dynocanque Task Group",
+title="Procedure for Retrofit of the Dynocanque II",
+type="Dealer Maintenance Bulletin",
+number="8-48",
+address="Engineering Department, Hodges Manufacturing Company,
+ Philadelphia PA",
+month=jul,
+year=1982
+}
+
+@brochure{company-brochure-2,
+title="Honing Supplies",
+key="Hon",
+type="Product Catalog",
+number="X-SP-50502",
+address="Sunnen Products Company, St. Louis MO",
+year="undated"
+}
+
+@unpublished{speech,
+author="Antonellis, Kevin B., Assistant Secretary of State-Middle East",
+title="A Riddle Wrapped in an Enigma",
+note="Address to AFIT students. " # afit # ", " # wpafb,
+month="8 " # jan,
+year=1985
+}
+
+@misc{class-lectures-or-handouts,
+author="Dean, William A.",
+howpublished="Class handout distributed in SYS 228, Basic Configuration
+ Management. " # log # ", " # wpafb,
+month=jul,
+year=1986
+}
+
+@misc{correspondence,
+author="Murray, Doris, President",
+howpublished="Personal Correspondence. Telemetrodynamics Corporation,
+ Dayton OH",
+month="1 " # apr,
+year=1986
+}
+
+@unpublished{electronic-message,
+author="{HQ USAFE}", comment="prevent last name, first name reversal",
+title="Advanced Contract Administration and Contract Law Site",
+note="Electronic Message",
+month="151500Z, 20 " # may,
+year=1984
+}
+
+@misc{telephone-interview,
+author="Smith, C. Doss, Vice President for Sales",
+howpublished="Telephone interview. Telemetrodynamics Corporation,
+ Dayton OH",
+month="9 " # apr,
+year=1986
+}
+
+@misc{personal-interview-1,
+author="May, Marian, Vice President for Manufacturing",
+howpublished="Personal interview. Telemetrodynamics Corporation,
+ Dayton OH",
+month="10 " # may,
+year=1986
+}
+
+@misc{personal-interview-2,
+author="Elrod, Lt Col William B., {Chief, Quality Assurance Division}",
+howpublished="Personal interviews. HQ AFLC, " # wpafb,
+month="8 " # jul # " through 9 " # sep,
+year=1982
+}
+
+@misc{memorandum,
+author="{Aeronautical Systems Division, Air Force Systems Command}",
+howpublished="Memorandum of Agreement with Air Force Contract Maintenance
+ Center. " # wpafb,
+month="18 " # sep,
+year=1985
+}
+
+@misc{contract,
+author="{Aeronautical Systems Division, Air Force Systems Command}",
+howpublished="Contract F35980-81C-0396 with Northrup Corporation. " # wpafb,
+month="12 " # oct,
+year=1985
+}
+
+@unpublished{report-1,
+author="McNichols, Lt Col Charles W. and T. Roger Manley",
+title="Quality of Life in the United States Air Force, 1984 Quick Look Report",
+note="Report to DCS Personnel. HQ USAF, Washington DC",
+month=jun,
+year=1984
+}
+
+@techreport{report-2,
+author="Franke, Col Milton P.",
+title="The Effects of High Altitude Ablation on Air Force Readiness",
+type="Unpublished report",
+number="No. 4328",
+institution="Air War College",
+address="Maxwell AFB AL",
+year=1983
+}
+
+@misc{report-3,
+author="Wyte, Charles E., Director of Production Engineering Activity",
+title="{\em Schedule for 1982 Changeover in Assembly Plants\/}",
+howpublished="Report to chairmen of GMC automotive divisions.
+ Fisher Body Division, General Motors Corporation, Warren MI",
+month="8 " # jul,
+year=1986
+}
+
+@misc{tv-progam,
+author="Doe, John J., {Col, USAF}",
+title="Comments broadcast on {\em The McNeill-Lehrer News Hour\/}",
+howpublished="Public Broadcasting System",
+month="7 " # jun,
+year=1986
+}
+
diff --git a/macros/latex/contrib/afthesis/usethesis.pdf b/macros/latex/contrib/afthesis/usethesis.pdf
new file mode 100644
index 0000000000..8ec3880f95
--- /dev/null
+++ b/macros/latex/contrib/afthesis/usethesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/afthesis/usethesis.tex b/macros/latex/contrib/afthesis/usethesis.tex
new file mode 100644
index 0000000000..07243d951c
--- /dev/null
+++ b/macros/latex/contrib/afthesis/usethesis.tex
@@ -0,0 +1,338 @@
+%
+% AFIT THESIS MACRO PACKAGE DOCUMENTATION
+% for version 2.7 of afthesis.cls
+%
+%
+% This file shows the directions of preparing your thesis using the
+% `afthesis' LaTeX document class. This class is an extremely modifed
+% `report' document class with new commands added and some old
+% commands modified to produce the proper format for the Air Force
+% Institute of Technology thesis or dissertation.
+%
+% To keep everything simple, this file is designed so that you can use a
+% a copy of this file as your LaTeX input file after replacing the
+% necessary data by your own data, and inserting your text in the proper
+% positions. Inserting text can be done by:
+% -- actually typing the text, or
+% -- using LaTeX \input or \include command
+% in the designated position.
+% Note that your LaTeX input file name should have the .tex extension,
+% as are the files to be \input'd or \include'd.
+%
+% The commands \input{foo} inside mythesis.tex will have the effect as
+% if the contents of foo.tex is inserted in the position where the
+% \input command is encountered. To run LaTeX, use the
+% command
+%
+% latex mythesis
+%
+% To be able to write the inserted text correctly, you are supposed to
+% know basic LaTeX. All you need to know about LaTeX is written in
+% Leslie Lamport's
+% `LaTeX: A Document Preparation System' (Addison-Wesley 1986), which is
+% available in local bookstores.
+
+\documentclass[11pt]{afthesis}
+
+%\documentclass[10pt]{afthesis} %if you want 10pt instead of 11
+%\documentclass[12pt]{afthesis} %if you want 12pt instead of 11
+
+% THESIS, REPORT, OR DISSERTATION ?
+%
+% If you are preparing a master's thesis, don't use \mastersreport or
+% \dissertation. If you are preparing a master's report instead of
+% thesis, remove the `%' character in the beginning of next line:
+
+%\mastersreport % print REPORT instead of THESIS on the title pages
+
+% If you are preparing a PhD dissertation, remove `%' from the
+% following line:
+
+%\dissertation % print DISSERTATION instead of THESIS on the title
+
+% NUMBER BY CHAPTER ?
+%
+% You may specify the numbering in your thesis/dissertation to be
+% chapter numbering instead of the default of sequential numbering.
+% If you select this option you will get pages, figures, tables, and
+% equations numbered by chapter (e.g., Table 2.3, Figure 3.4,
+% page numbers 2-40, A-1)
+% To not get chapter numbering add a `%' character to the beginning of
+% the next line
+
+\numberbychapter
+
+% PRINT SECTION NUMBERS ?
+%
+% You may select not to have section (and subsection, etc.) numbers
+% printed in the text and in the table of contents. In fact this is
+% the way the AFIT thesis guide shows it, but I like section numbers
+% so I made having section numbers the default.
+% To get no section numbers remove the `%' character in the beginning
+% of the next line
+
+%\nosectionnumbers
+
+% UNDERLINE OR ITALICS FOR EMPHASIS ?
+%
+% You may select to have your emphasized text (like chapter and section
+% headings, book titles, foreign phrases, etc.) underlined instead of
+% set in an italic font. By selecting this option, appropriate titles
+% are automatically changed, plus anytime you use the command {\em ...}
+% you will get underlined text, instead of italic text. NOTE: this
+% option is not recommended for typeset quality documents. It is here
+% only for those who are old fashioned, type-writer personalities.
+% To get underlining instead of italics remove the `%' character in the
+% beginning of the next line
+
+%\underlineoption
+
+% FLYLEAF FRAME ?
+%
+% You can select to have a 4in by 2in frame put around your flyleaf
+% material. This makes it look a little nicer if you don't have the
+% cover with the hole in it.
+% To get a flyleaf frame remove the `%' character in the beginning of
+% the next line.
+
+%\flyleafframe
+
+% LINE SPACING
+%
+% The default line spacing is to doublespace except in quotations,
+% quotes, and the bibliography. This approximates the spacing you
+% get if you "doublespace" on a typewriter. If you want to change
+% the line spacing use the command \spacing{n} where n is a real
+% number at the start of the document and \endspacing at the end
+% of the document. Use 1 for n to get singlespacing, 1.5 for space
+% and a half, etc. If you want to change the linespacing to
+% singlespace for a particular section of text, you can use the
+% singlespace environment bracketting your text with
+% \begin{singlespace} and \end{singlespace} \spacing{2} is the
+% default line spacing for the thesis in 10pt \spacing{1.5} is the
+% default line spacing for the thesis in 11pt and 12pt
+%
+% THE ABOVE LINE SPACING INFORMATION IS NOT QUITE ACCURATE
+%
+% DATA OF AUTHOR AND THESIS: The following data will be used throughout
+% your thesis when they are needed. Please replace the dots in the
+% commands by your own data. For some commands, the specified default
+% value will be assumed when the command is omitted. For a two author
+% thesis, specify the command \twoauthor and then enter the appropriate
+% additional fields. Remember you will need two vitas specified in
+% author order. Authors should be specfied in alphabetical order.
+
+%\twoauthor %uncomment if two authors
+\author{First Author}
+
+%\authortwo{Second Author} %uncomment for twoauthor option
+
+%
+% Replace `First Author' in the command by your name as it should
+% appear on the title page. If your name is Ben Lee User, then the
+% above command should be `\author{Ben Lee User}'.
+% Don't use B. L. USER, BEN L. USER, or even BEN LEE USER.
+
+\rank{...}
+%\ranktwo{...} %uncomment for twoauthor option
+% Replace the dots in the above command by your rank and
+% service/agency, seperated by a comma, or just your service/agency.
+% Don't abbreviate. Use `\rank{Defense Nuclear Agency}' or
+% \rank{First Lieutenant, USAF} and not \rank{1LT, USAF}.
+% If you don't have a rank or agency, just leave this command out.
+
+\title{...}
+%
+% Replace the dots in the above command by your thesis title,
+% e.g., `\title{A TALE OF GNUS, GNATS AND\\ARMADILLOS}'.
+% Use capital letters. If the title consists of more than one line,
+% it should be in inverted pyramid form. You have to specify the
+% line breakings by \\ commands.
+
+%\flytitle{...}
+%
+% Remove the % and replace the dots in the above command with your
+% thesis title as it should be on the flyleaf. This is only needed
+% if your flyleaf title has different line breaks
+% (because it must fit in 4 inches)
+% than the way it appears on the title page and on the first page.
+
+\designator{AFIT/???/???/??-?}
+ %
+ % Replace the dots in the above command with the thesis or dissertation
+ % designator. For example, `AFIT/GCS/ENG/87-5'.
+
+%\distribution{...}
+ %
+ % Replace the dots in the above command with the distribution
+ % statement for your thesis. The default if commented out is
+ % `Approved for public release; distribution unlimited'.
+
+\previousdegrees{...}
+%\previousdegreestwo{...} %uncomment for twoauthor option
+ %
+ % Replace the dots in the above command with the
+ % abbreviated form of your previous degree(s), e.g., B.S. or B.A., M.S.
+ % Leave this command out if you have no previous degrees.
+
+\degree{Master of Science}
+ %
+ % The degree sought as determined by your program.
+ % For example, `\degree{Master of Science}', or
+ % `\degree{Master of Science in Electrical Engineering}'.
+ % The default value is `Doctor of Philosophy' for dissertation.
+
+%\graduationdate{...}
+ %
+ % Replace the dots in the above command with the
+ % graduation date, in the form as `\graduationdate{May, 1986}'.
+ % The default value is guessed according to the time of running LaTeX.
+
+\address{...\\...}
+%\addresstwo{...\\...} %uncomment for twoauthor option
+ %
+ % Replace the dots in the above command with your permanent address.
+ % Use \\ to separate address lines. This is used in the Vita.
+ % e.g., `\address{4533 Avenue A\\ Austin, Texas 78751}'.
+
+\school{...}
+ %
+ % Replace the dots in the above command with the name of your school.
+ % For example, `\school{School of Engineering}'
+
+%**********for dissertations only, remove the % signs and add the data
+%\dean{...}
+ % Needed for disserations only.
+ % The name of your dean, e.g., `\dean{Robert A. Calico, Jr}
+
+\committee{Dr. Advisor\\Thesis Advisor,
+ Dr. Member\\Committee Member,
+ Maj. Member\\Committee Member}
+ %
+ % The default value is 5 for dissertation.
+
+\begin{document}
+%
+% THE BODY OF YOUR THESIS STARTS HERE
+% The following commands will automatically generate headings, adjust
+% vertical spacings, break pages, etc.
+% You should probably leave all of these prefatory pages commented out
+% or in a \include file until your thesis is ready for final draft
+
+\flyleaf % Generates the flyleaf.
+
+\disclaimerpage % Produces the disclaimer page
+
+\titlepage % Produces the title page.
+
+\approvalpage % Produces the approvalpage
+
+\begin{preface}
+ %
+ %Insert the text of your preface here. Your name will appear
+ %automatically. If this is an acknowledgments section instead of
+ %preface, use \begin{acknowledgments} and \end{acknowledgments}
+ % instead.
+ %
+\end{preface}
+
+\tableofcontents % Table of Contents will be automatically
+ % generated and placed here.
+
+\listoffigures % List of Figures, List of Tables, and List of
+\listoftables % Symbols will be placed here, if applicable.
+\listofsymbols % DO NOT use these if you have no such lists.
+% To put symbols in the list use command \symbol[#1]{#2}
+% where #2 is the symbol and #1 is the definition to be put in the
+% list of symbols. The symbol is also automatically put in
+% your text. Leave out [#1] if you don't want a definition.
+
+\listofabbreviations
+% similar to the list of symbols. Use command \abbreviation[#1]{#2}
+% where #2 is the abbreviation and #1 is the definition to be put in the
+% list of abbreviations. The abbreviation is also automatically put in
+% your text. Leave out [#1] if you don't want a definition.
+
+\begin{abstract}
+ Abstract goes here.
+\end{abstract}
+
+
+\chapter{This is the first chapter title} % The first chapter.
+ % \chapter command is of the form
+ % \chapter[..]{..} or \chapter{..} where
+ ... text ... % {chapter heading} and [entry in table of
+ % contents].
+\section{The first section} %
+ % IMPORTANT: If your chapter heading consists
+ % of more than one lines, it will be auto-
+ ... text ... % matically broken into separate lines.
+ % However, if you don't like the way LaTeX
+ % breaks the chapter heading into lines, use
+\section{The second section} % `\newheadline' command to break lines.
+ % NEVER USE \\ IN SECTIONAL (E.G., CHAPTER,
+ ... text ... % SECTION, SUBSECTION) HEADINGS!!!!!!!!
+
+\chapter{The second chapter title} % This is Chapter 2.
+
+ ... text ...
+
+\section{This is a section in the second chapter}
+
+ ... text...
+
+\subsection{A subsection}
+
+Note: subsection's and below should be
+printed with some sort of punctuation.
+A period is automatically supplied if you
+don't supply some punctuation.
+
+ ... more text ...
+
+
+
+\appendix % Appendix begins here
+
+\chapter{First appendix title}
+
+\section{In an appendix}
+
+This is appendix section A.1.
+
+Note: I highly recommend you create each chapter in a separate file
+including the \verb|\chapter| command and \verb|\include| the file.
+Then you can use \verb|\includeonly| to process selected chapters and
+you avoid having to latex/preview/print your entire document every
+time.
+
+%\begin{Bibliography} % CAUTION: the first B is capital B.
+%\bibitem[key] A listing ... % You can also use the `thebibliography'
+%\bibitem[key2] A another % environment described in LaTeX manual.
+%\bibitem[key3]... % The usages of \bibitem and \cite{..} are
+%\end{Bibliography} % explained in Section 4.3 of the LaTeX manual.
+
+% you can also use BibTeX instead of the above as I have done below.
+% see the LaTeX manual and the
+% documentation available from /usr/TeX/doc. There is an AFIT
+% bibliography style called thesnumb. It has some special types
+% and fields. See some sample entries and info in thesnumb.doc.
+% Note: thisthesis bibliography style only works with bibtex
+% version .99a or higher.
+
+\bibliographystyle{thesnumb}
+\bibliography{mybib1,mybib2,...}
+
+\begin{vita}
+ Insert your brief biographical sketch here. Your permanent
+ address is generated automatically.
+\end{vita}
+
+%\begin{vita} %uncomment for twoauthor option
+% The second vita.
+% Insert the second authors brief biographical sketch here.
+%\end{vita}
+
+\end{document}
+
+% Please mail your suggestions and complaints to jdyoung@afit.af.mil.