From 6bcc21c10c700fd635e0a6b8a319eac766ed28a0 Mon Sep 17 00:00:00 2001
From: James D'Alton <jda1g15@soton.ac.uk>
Date: Sun, 24 Nov 2019 17:25:38 +0000
Subject: [PATCH] re-added accidentally deleted report

---
 report/00_Introduction.tex |    5 +
 report/0_Abstract.tex      |    1 +
 report/10_FutureWork.tex   |    5 +
 report/11_Bibliography.tex |    5 +
 report/12_Appendices.tex   |    8 +
 report/1_Chapter1.tex      |    5 +
 report/2_Chapter2.tex      |    4 +
 report/3_Chapter3.tex      |    4 +
 report/4_Chapter4.tex      |    4 +
 report/5_Chapter5.tex      |    4 +
 report/6_Chapter6.tex      |    4 +
 report/7_Chapter7.tex      |    4 +
 report/8_Chapter8.tex      |    6 +
 report/9_Conclusions.tex   |    5 +
 report/Makefile            |   24 +
 report/README.md           |   18 +
 report/images/.gitkeep     |    0
 report/master.bbl          |   24 +
 report/master.bib          |    8 +
 report/master.dvi          |  Bin 0 -> 42284 bytes
 report/master.lol          |    0
 report/master.pdf          |  Bin 0 -> 111567 bytes
 report/master.tex          |   68 +
 report/src/IEEEtran.bst    | 2417 ++++++++++++++++++++++++++++++++++++
 report/src/definitions.tex |  143 +++
 report/src/ecsgdp.cls      |  345 +++++
 26 files changed, 3111 insertions(+)
 create mode 100644 report/00_Introduction.tex
 create mode 100644 report/0_Abstract.tex
 create mode 100644 report/10_FutureWork.tex
 create mode 100644 report/11_Bibliography.tex
 create mode 100644 report/12_Appendices.tex
 create mode 100644 report/1_Chapter1.tex
 create mode 100644 report/2_Chapter2.tex
 create mode 100644 report/3_Chapter3.tex
 create mode 100644 report/4_Chapter4.tex
 create mode 100644 report/5_Chapter5.tex
 create mode 100644 report/6_Chapter6.tex
 create mode 100644 report/7_Chapter7.tex
 create mode 100644 report/8_Chapter8.tex
 create mode 100644 report/9_Conclusions.tex
 create mode 100644 report/Makefile
 create mode 100644 report/README.md
 create mode 100644 report/images/.gitkeep
 create mode 100644 report/master.bbl
 create mode 100644 report/master.bib
 create mode 100644 report/master.dvi
 create mode 100644 report/master.lol
 create mode 100644 report/master.pdf
 create mode 100644 report/master.tex
 create mode 100644 report/src/IEEEtran.bst
 create mode 100644 report/src/definitions.tex
 create mode 100644 report/src/ecsgdp.cls

diff --git a/report/00_Introduction.tex b/report/00_Introduction.tex
new file mode 100644
index 00000000..02d1e842
--- /dev/null
+++ b/report/00_Introduction.tex
@@ -0,0 +1,5 @@
+%% ----------------------------------------------------------------
+%% Introduction.tex
+%% ---------------------------------------------------------------- 
+\chapter{Introduction} \label{Chapter:Introduction}
+Example Introduction
\ No newline at end of file
diff --git a/report/0_Abstract.tex b/report/0_Abstract.tex
new file mode 100644
index 00000000..fbf39cc6
--- /dev/null
+++ b/report/0_Abstract.tex
@@ -0,0 +1 @@
+This is the abstract
\ No newline at end of file
diff --git a/report/10_FutureWork.tex b/report/10_FutureWork.tex
new file mode 100644
index 00000000..c818d957
--- /dev/null
+++ b/report/10_FutureWork.tex
@@ -0,0 +1,5 @@
+%% ----------------------------------------------------------------
+%% FutureWork.tex
+%% ---------------------------------------------------------------- 
+\chapter{Future Work} \label{Chapter: Future Work}
+It works.
diff --git a/report/11_Bibliography.tex b/report/11_Bibliography.tex
new file mode 100644
index 00000000..225e0ac5
--- /dev/null
+++ b/report/11_Bibliography.tex
@@ -0,0 +1,5 @@
+%% ----------------------------------------------------------------
+%% Bibliography.tex
+%% ---------------------------------------------------------------- 
+\chapter{Bibliography} \label{Chapter: Bibliography}
+It works.
diff --git a/report/12_Appendices.tex b/report/12_Appendices.tex
new file mode 100644
index 00000000..fd15e2a2
--- /dev/null
+++ b/report/12_Appendices.tex
@@ -0,0 +1,8 @@
+%% ----------------------------------------------------------------
+%% Appendices.tex
+%% ---------------------------------------------------------------- 
+\chapter{Appendix A: Photos} \label{appendix1}
+This is an appendix
+
+\chapter{Appendix B: Code Listings} \label{appendix2}
+This is an appendix
\ No newline at end of file
diff --git a/report/1_Chapter1.tex b/report/1_Chapter1.tex
new file mode 100644
index 00000000..f9072e69
--- /dev/null
+++ b/report/1_Chapter1.tex
@@ -0,0 +1,5 @@
+%% ----------------------------------------------------------------
+%% Chapter1.tex
+%% ---------------------------------------------------------------- 
+\chapter{Project Goals} \label{Chapter:one}
+Example Chapter
\ No newline at end of file
diff --git a/report/2_Chapter2.tex b/report/2_Chapter2.tex
new file mode 100644
index 00000000..22287de2
--- /dev/null
+++ b/report/2_Chapter2.tex
@@ -0,0 +1,4 @@
+%% ----------------------------------------------------------------
+%% Chapter2.tex
+%% ---------------------------------------------------------------- 
+\chapter{Background and Literature Review} \label{Chapter:two}
diff --git a/report/3_Chapter3.tex b/report/3_Chapter3.tex
new file mode 100644
index 00000000..10e26393
--- /dev/null
+++ b/report/3_Chapter3.tex
@@ -0,0 +1,4 @@
+%% ----------------------------------------------------------------
+%% Chapter3.tex
+%% ---------------------------------------------------------------- 
+\chapter{Designs} \label{Chapter:three}
\ No newline at end of file
diff --git a/report/4_Chapter4.tex b/report/4_Chapter4.tex
new file mode 100644
index 00000000..790d962d
--- /dev/null
+++ b/report/4_Chapter4.tex
@@ -0,0 +1,4 @@
+%% ----------------------------------------------------------------
+%% Chapter4.tex
+%% ---------------------------------------------------------------- 
+\chapter{Implementation} \label{Chapter:four}
\ No newline at end of file
diff --git a/report/5_Chapter5.tex b/report/5_Chapter5.tex
new file mode 100644
index 00000000..ef328322
--- /dev/null
+++ b/report/5_Chapter5.tex
@@ -0,0 +1,4 @@
+%% ----------------------------------------------------------------
+%% Chapter5.tex
+%% ---------------------------------------------------------------- 
+\chapter{Testing and Software Validation} \label{Chapter:five}
\ No newline at end of file
diff --git a/report/6_Chapter6.tex b/report/6_Chapter6.tex
new file mode 100644
index 00000000..63bcdcb7
--- /dev/null
+++ b/report/6_Chapter6.tex
@@ -0,0 +1,4 @@
+%% ----------------------------------------------------------------
+%% Chapter6.tex
+%% ---------------------------------------------------------------- 
+\chapter{Results and Analysis} \label{Chapter:six}
\ No newline at end of file
diff --git a/report/7_Chapter7.tex b/report/7_Chapter7.tex
new file mode 100644
index 00000000..b6b5726d
--- /dev/null
+++ b/report/7_Chapter7.tex
@@ -0,0 +1,4 @@
+%% ----------------------------------------------------------------
+%% Chapter7.tex
+%% ---------------------------------------------------------------- 
+\chapter{Evaluation} \label{Chapter:seven}
\ No newline at end of file
diff --git a/report/8_Chapter8.tex b/report/8_Chapter8.tex
new file mode 100644
index 00000000..35aca70d
--- /dev/null
+++ b/report/8_Chapter8.tex
@@ -0,0 +1,6 @@
+%% ----------------------------------------------------------------
+%% Chapter8.tex
+%% ---------------------------------------------------------------- 
+\chapter{Project Management} \label{Chapter:eight}
+It works.
+
diff --git a/report/9_Conclusions.tex b/report/9_Conclusions.tex
new file mode 100644
index 00000000..56041283
--- /dev/null
+++ b/report/9_Conclusions.tex
@@ -0,0 +1,5 @@
+%% ----------------------------------------------------------------
+%% Conclusions.tex
+%% ---------------------------------------------------------------- 
+\chapter{Conclusions} \label{Chapter: Conclusions}
+It works.
diff --git a/report/Makefile b/report/Makefile
new file mode 100644
index 00000000..ed1531b1
--- /dev/null
+++ b/report/Makefile
@@ -0,0 +1,24 @@
+TARGET = master
+
+latex:
+	pdflatex $(TARGET).tex
+bibtex:
+	bibtex $(TARGET).tex
+spell_%:
+	aspell check $%.tex
+report:
+	pdflatex $(TARGET).tex
+	bibtex $(TARGET)	
+	pdflatex $(TARGET).tex
+	pdflatex $(TARGET).tex
+all:  report view  count clean
+view: 
+	evince $(TARGET).pdf &
+count:
+	texcount -inc -html -v -sum $(TARGET).tex > results.html
+	firefox results.html &
+
+clean:
+	rm *.aux *.out  *.fls *.log *.lol *.lof *.fdb_latexmk *.lot *.toc
+	rm *.pdf 
+
diff --git a/report/README.md b/report/README.md
new file mode 100644
index 00000000..f8f2bac0
--- /dev/null
+++ b/report/README.md
@@ -0,0 +1,18 @@
+# ecslatex
+ECS LaTeX Template reconfigured for compilation in newer versions of TeX
+
+To use, make LaTeX files and include them in `master.tex`. Three chapters have been included as an example.
+
+This document uses IEEE Referencing (through `IEEETran.bst`) - This is available from [here](https://www.ieee.org/conferences_events/conferences/publishing/templates.html)
+
+This is based on the original `ecsgdp.cls`, by [Steve R Gunn](https://www.ecs.soton.ac.uk/people/srg), and which can be found [here](http://users.ecs.soton.ac.uk/srg/softwaretools/document/)
+
+## Usage
+
+To compile this, simply open up `master.tex` with your favourite LaTeX compiler (I use `pdflatex`) and compile.
+
+You can edit the master BibTeX Bibliography file at `master.bib`.
+
+Remember, as with all LaTeX stuff, if you're using a Bibliography, compile using LaTeX, then BibTeX, then LaTeX then LaTeX again (see `Makefile`) so that your references are all inserted nicely.
+
+If you want to use the `Makefile`, simply `cd` into this repository directory and type `make`.
diff --git a/report/images/.gitkeep b/report/images/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/report/master.bbl b/report/master.bbl
new file mode 100644
index 00000000..8b8b2c1d
--- /dev/null
+++ b/report/master.bbl
@@ -0,0 +1,24 @@
+% Generated by IEEEtran.bst, version: 1.12 (2007/01/11)
+\begin{thebibliography}{}
+\providecommand{\url}[1]{#1}
+\csname url@samestyle\endcsname
+\providecommand{\newblock}{\relax}
+\providecommand{\bibinfo}[2]{#2}
+\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}
+\providecommand{\BIBentryALTinterwordstretchfactor}{4}
+\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus
+\BIBentryALTinterwordstretchfactor\fontdimen3\font minus
+  \fontdimen4\font\relax}
+\providecommand{\BIBforeignlanguage}[2]{{%
+\expandafter\ifx\csname l@#1\endcsname\relax
+\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%
+\typeout{** loaded for the language `#1'. Using the pattern for}%
+\typeout{** the default language instead.}%
+\else
+\language=\csname l@#1\endcsname
+\fi
+#2}}
+\providecommand{\BIBdecl}{\relax}
+\BIBdecl
+
+\end{thebibliography}
diff --git a/report/master.bib b/report/master.bib
new file mode 100644
index 00000000..d3e12566
--- /dev/null
+++ b/report/master.bib
@@ -0,0 +1,8 @@
+%% ----------------------------------------------------------------
+%% ECS.bib
+%% ---------------------------------------------------------------- 
+@MISC{Gunn:2001:pdflatex,
+  author =       {S.R. Gunn},
+  title =        {PDFLaTeX Instructions},
+  url =          {http://www.ecs.soton.ac.uk/~srg/softwaretools/document/}
+}
diff --git a/report/master.dvi b/report/master.dvi
new file mode 100644
index 0000000000000000000000000000000000000000..eb53a26b127b950a72c12cf14c5492e5de75af96
GIT binary patch
literal 42284
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
MWMEj5!*m}60Gb>JYXATM

literal 0
HcmV?d00001

diff --git a/report/master.lol b/report/master.lol
new file mode 100644
index 00000000..e69de29b
diff --git a/report/master.pdf b/report/master.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..082369ce94a795f58ba33d5a3d7999d17bea8acd
GIT binary patch
literal 111567
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
U@H~s5fvJIsDVM6MtG^o;07*=lG5`Po

literal 0
HcmV?d00001

diff --git a/report/master.tex b/report/master.tex
new file mode 100644
index 00000000..8b02971a
--- /dev/null
+++ b/report/master.tex
@@ -0,0 +1,68 @@
+%% ----------------------------------------------------------------
+%% REPORT-NAME.tex
+%% ---------------------------------------------------------------- 
+\documentclass{src/ecsgdp}
+\graphicspath{{./images/}}
+\hypersetup{colorlinks=true}
+\input{src/definitions}
+%% ----------------------------------------------------------------
+\begin{document}
+\frontmatter
+\title      {Electronics and Computer Science\\Faculty of Engineering and Physical Sciences\\University of Southampton}
+\authors	{
+{James D'Alton}
+}
+\addresses  {\groupname\\\deptname\\\univname}
+\date       {October 21st, 2019}
+\subject    {Automatically Generated Cyber Security Compliance Engine}
+\keywords   {}
+\supervisor {Dr. Nawfal Fadhel}
+\examiner   {Dr Person B}
+\degree     {Bachelor of Science}
+\reporttype {individual project report} % Change here if you're doing a 3YP report
+\maketitle
+
+\begin{abstract}
+\include{0_Abstract}
+\end{abstract}
+
+\tableofcontents
+\listoffigures
+\listoftables
+\lstlistoflistings
+
+%% ----------------------------------------------------------------
+% Optional extra pages
+%\listofsymbols{ll}{$w$ & The weight vector}
+\acknowledgements{Here are some acknowledgements}
+%\dedicatory{To \dots}
+%% ----------------------------------------------------------------
+
+% \mainmatter means that we've gone from i, ii, iii, iv, v etc. introduction 
+% numbering to 1,2,3,4,5 chapter numbering
+
+\mainmatter
+
+\include{00_Introduction}
+\include{1_Chapter1}
+\include{2_Chapter2}
+\include{3_Chapter3}
+\include{4_Chapter4}
+\include{5_Chapter5}
+\include{6_Chapter6}
+\include{7_Chapter7}
+\include{8_Chapter8}
+\include{9_Conclusions}
+\include{10_FutureWork}
+\include{11_Bibliography}
+
+% \backmatter means that we've gone from 1,2,3,4,5 chapter numbering 
+% to unnumbered bibliography/appendices. 
+\backmatter
+
+\bibliographystyle{src/IEEEtran}
+\bibliography{master}
+\appendix
+\include{12_Appendices}
+
+\end{document}
diff --git a/report/src/IEEEtran.bst b/report/src/IEEEtran.bst
new file mode 100644
index 00000000..4b841273
--- /dev/null
+++ b/report/src/IEEEtran.bst
@@ -0,0 +1,2417 @@
+%%
+%% IEEEtran.bst
+%% BibTeX Bibliography Style file for IEEE Journals and Conferences (unsorted)
+%% Version 1.12 (2007/01/11)
+%% 
+%% Copyright (c) 2003-2007 Michael Shell
+%% 
+%% Original starting code base and algorithms obtained from the output of
+%% Patrick W. Daly's makebst package as well as from prior versions of
+%% IEEE BibTeX styles:
+%% 
+%% 1. Howard Trickey and Oren Patashnik's ieeetr.bst  (1985/1988)
+%% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993)
+%% 
+%% Support sites:
+%% http://www.michaelshell.org/tex/ieeetran/
+%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/
+%% and/or
+%% http://www.ieee.org/
+%% 
+%% For use with BibTeX version 0.99a or later
+%%
+%% This is a numerical citation style.
+%% 
+%%*************************************************************************
+%% Legal Notice:
+%% This code is offered as-is without any warranty either expressed or
+%% implied; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE! 
+%% User assumes all risk.
+%% In no event shall IEEE or any contributor to this code be liable for
+%% any damages or losses, including, but not limited to, incidental,
+%% consequential, or any other damages, resulting from the use or misuse
+%% of any information contained here.
+%%
+%% All comments are the opinions of their respective authors and are not
+%% necessarily endorsed by the IEEE.
+%%
+%% This work is distributed under the LaTeX Project Public License (LPPL)
+%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used,
+%% distributed and modified. A copy of the LPPL, version 1.3, is included
+%% in the base LaTeX documentation of all distributions of LaTeX released
+%% 2003/12/01 or later.
+%% Retain all contribution notices and credits.
+%% ** Modified files should be clearly indicated as such, including  **
+%% ** renaming them and changing author support contact information. **
+%%
+%% File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib,
+%%                    IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst,
+%%                    IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf
+%%*************************************************************************
+%
+%
+% Changelog:
+%
+% 1.00 (2002/08/13) Initial release
+%
+% 1.10 (2002/09/27)
+%  1. Corrected minor bug for improperly formed warning message when a
+%     book was not given a title. Thanks to Ming Kin Lai for reporting this.
+%  2. Added support for CTLname_format_string and CTLname_latex_cmd fields
+%     in the BST control entry type.
+%
+% 1.11 (2003/04/02)
+%  1. Fixed bug with URLs containing underscores when using url.sty. Thanks
+%     to Ming Kin Lai for reporting this.
+%
+% 1.12 (2007/01/11)
+%  1. Fixed bug with unwanted comma before "et al." when an entry contained
+%     more than two author names. Thanks to Pallav Gupta for reporting this.
+%  2. Fixed bug with anomalous closing quote in tech reports that have a
+%     type, but without a number or address. Thanks to Mehrdad Mirreza for
+%     reporting this.
+%  3. Use braces in \providecommand in begin.bib to better support
+%     latex2html. TeX style length assignments OK with recent versions
+%     of latex2html - 1.71 (2002/2/1) or later is strongly recommended.
+%     Use of the language field still causes trouble with latex2html.
+%     Thanks to Federico Beffa for reporting this.
+%  4. Added IEEEtran.bst ID and version comment string to .bbl output.
+%  5. Provide a \BIBdecl hook that allows the user to execute commands
+%     just prior to the first entry.
+%  6. Use default urlstyle (is using url.sty) of "same" rather than rm to
+%     better work with a wider variety of bibliography styles.
+%  7. Changed month abbreviations from Sept., July and June to Sep., Jul.,
+%     and Jun., respectively, as IEEE now does. Thanks to Moritz Borgmann
+%     for reporting this.
+%  8. Control entry types should not be considered when calculating longest
+%     label width.
+%  9. Added alias www for electronic/online.
+% 10. Added CTLname_url_prefix control entry type.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% These are the defaults for the user adjustable controls. The values used
+% here can be overridden by the user via IEEEtranBSTCTL entry type.
+
+% NOTE: The recommended LaTeX command to invoke a control entry type is:
+% 
+%\makeatletter
+%\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}}
+%\def\@bstctlcite[#1]#2{\@bsphack
+%  \@for\@citeb:=#2\do{%
+%    \edef\@citeb{\expandafter\@firstofone\@citeb}%
+%    \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}%
+%  \@esphack}
+%\makeatother
+%
+% It is called at the start of the document, before the first \cite, like:
+% \bstctlcite{IEEEexample:BSTcontrol}
+%
+% IEEEtran.cls V1.6 and later does provide this command.
+
+
+
+% #0 turns off the display of the number for articles.
+% #1 enables
+FUNCTION {default.is.use.number.for.article} { #1 }
+
+
+% #0 turns off the display of the paper and type fields in @inproceedings.
+% #1 enables
+FUNCTION {default.is.use.paper} { #1 }
+
+
+% #0 turns off the forced use of "et al."
+% #1 enables
+FUNCTION {default.is.forced.et.al} { #0 }
+
+% The maximum number of names that can be present beyond which an "et al."
+% usage is forced. Be sure that num.names.shown.with.forced.et.al (below)
+% is not greater than this value!
+% Note: There are many instances of references in IEEE journals which have
+% a very large number of authors as well as instances in which "et al." is
+% used profusely.
+FUNCTION {default.max.num.names.before.forced.et.al} { #10 }
+
+% The number of names that will be shown with a forced "et al.".
+% Must be less than or equal to max.num.names.before.forced.et.al
+FUNCTION {default.num.names.shown.with.forced.et.al} { #1 }
+
+
+% #0 turns off the alternate interword spacing for entries with URLs.
+% #1 enables
+FUNCTION {default.is.use.alt.interword.spacing} { #1 }
+
+% If alternate interword spacing for entries with URLs is enabled, this is
+% the interword spacing stretch factor that will be used. For example, the
+% default "4" here means that the interword spacing in entries with URLs can
+% stretch to four times normal. Does not have to be an integer. Note that
+% the value specified here can be overridden by the user in their LaTeX
+% code via a command such as: 
+% "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to
+% that via the IEEEtranBSTCTL entry type.
+FUNCTION {default.ALTinterwordstretchfactor} { "4" }
+
+
+% #0 turns off the "dashification" of repeated (i.e., identical to those
+% of the previous entry) names. IEEE normally does this.
+% #1 enables
+FUNCTION {default.is.dash.repeated.names} { #1 }
+
+
+% The default name format control string.
+FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" }
+
+
+% The default LaTeX font command for the names.
+FUNCTION {default.name.latex.cmd}{ "" }
+
+
+% The default URL prefix.
+FUNCTION {default.name.url.prefix}{ "[Online]. Available:" }
+
+
+% Other controls that cannot be accessed via IEEEtranBSTCTL entry type.
+
+% #0 turns off the terminal startup banner/completed message so as to
+% operate more quietly.
+% #1 enables
+FUNCTION {is.print.banners.to.terminal} { #1 }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FILE VERSION AND BANNER %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION{bst.file.version} { "1.12" }
+FUNCTION{bst.file.date} { "2007/01/11" }
+FUNCTION{bst.file.website} { "http://www.michaelshell.org/tex/ieeetran/bibtex/" }
+
+FUNCTION {banner.message}
+{ is.print.banners.to.terminal
+     { "-- IEEEtran.bst version" " " * bst.file.version *
+       " (" * bst.file.date * ") " * "by Michael Shell." *
+       top$
+       "-- " bst.file.website *
+       top$
+       "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." *
+       top$
+     }
+     { skip$ }
+   if$
+}
+
+FUNCTION {completed.message}
+{ is.print.banners.to.terminal
+     { ""
+       top$
+       "Done."
+       top$
+     }
+     { skip$ }
+   if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING CONSTANTS %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {bbl.and}{ "and" }
+FUNCTION {bbl.etal}{ "et~al." }
+FUNCTION {bbl.editors}{ "eds." }
+FUNCTION {bbl.editor}{ "ed." }
+FUNCTION {bbl.edition}{ "ed." }
+FUNCTION {bbl.volume}{ "vol." }
+FUNCTION {bbl.of}{ "of" }
+FUNCTION {bbl.number}{ "no." }
+FUNCTION {bbl.in}{ "in" }
+FUNCTION {bbl.pages}{ "pp." }
+FUNCTION {bbl.page}{ "p." }
+FUNCTION {bbl.chapter}{ "ch." }
+FUNCTION {bbl.paper}{ "paper" }
+FUNCTION {bbl.part}{ "pt." }
+FUNCTION {bbl.patent}{ "Patent" }
+FUNCTION {bbl.patentUS}{ "U.S." }
+FUNCTION {bbl.revision}{ "Rev." }
+FUNCTION {bbl.series}{ "ser." }
+FUNCTION {bbl.standard}{ "Std." }
+FUNCTION {bbl.techrep}{ "Tech. Rep." }
+FUNCTION {bbl.mthesis}{ "Master's thesis" }
+FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" }
+FUNCTION {bbl.st}{ "st" }
+FUNCTION {bbl.nd}{ "nd" }
+FUNCTION {bbl.rd}{ "rd" }
+FUNCTION {bbl.th}{ "th" }
+
+
+% This is the LaTeX spacer that is used when a larger than normal space
+% is called for (such as just before the address:publisher).
+FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " }
+
+% The LaTeX code for dashes that are used to represent repeated names.
+% Note: Some older IEEE journals used something like
+% "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along
+% the baseline. However, IEEE now uses a thinner, above baseline,
+% six dash long sequence.
+FUNCTION {repeated.name.dashes} { "------" }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% PREDEFINED STRING MACROS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"Jun."}
+MACRO {jul} {"Jul."}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sep."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% ENTRY FIELDS %%
+%%%%%%%%%%%%%%%%%%
+
+ENTRY
+  { address
+    assignee
+    author
+    booktitle
+    chapter
+    day
+    dayfiled
+    edition
+    editor
+    howpublished
+    institution
+    intype
+    journal
+    key
+    language
+    month
+    monthfiled
+    nationality
+    note
+    number
+    organization
+    pages
+    paper
+    publisher
+    school
+    series
+    revision
+    title
+    type
+    url
+    volume
+    year
+    yearfiled
+    CTLuse_article_number
+    CTLuse_paper
+    CTLuse_forced_etal
+    CTLmax_names_forced_etal
+    CTLnames_show_etal
+    CTLuse_alt_spacing
+    CTLalt_stretch_factor
+    CTLdash_repeated_names
+    CTLname_format_string
+    CTLname_latex_cmd
+    CTLname_url_prefix
+  }
+  {}
+  { label }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%% INTEGER VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%%
+
+INTEGERS { prev.status.punct this.status.punct punct.std
+           punct.no punct.comma punct.period 
+           prev.status.space this.status.space space.std
+           space.no space.normal space.large
+           prev.status.quote this.status.quote quote.std
+           quote.no quote.close
+           prev.status.nline this.status.nline nline.std
+           nline.no nline.newblock 
+           status.cap cap.std
+           cap.no cap.yes}
+
+INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames }
+
+INTEGERS { is.use.number.for.article
+           is.use.paper
+           is.forced.et.al
+           max.num.names.before.forced.et.al
+           num.names.shown.with.forced.et.al
+           is.use.alt.interword.spacing
+           is.dash.repeated.names}
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+STRINGS { bibinfo
+          longest.label
+          oldname
+          s
+          t
+          ALTinterwordstretchfactor
+          name.format.string
+          name.latex.cmd
+          name.url.prefix}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LOW LEVEL FUNCTIONS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.controls}
+{ default.is.use.number.for.article 'is.use.number.for.article :=
+  default.is.use.paper 'is.use.paper :=
+  default.is.forced.et.al 'is.forced.et.al :=
+  default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al :=
+  default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al :=
+  default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing :=
+  default.is.dash.repeated.names 'is.dash.repeated.names :=
+  default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor :=
+  default.name.format.string 'name.format.string :=
+  default.name.latex.cmd 'name.latex.cmd :=
+  default.name.url.prefix 'name.url.prefix :=
+}
+
+
+% This IEEEtran.bst features a very powerful and flexible mechanism for
+% controlling the capitalization, punctuation, spacing, quotation, and
+% newlines of the formatted entry fields. (Note: IEEEtran.bst does not need
+% or use the newline/newblock feature, but it has been implemented for
+% possible future use.) The output states of IEEEtran.bst consist of
+% multiple independent attributes and, as such, can be thought of as being
+% vectors, rather than the simple scalar values ("before.all", 
+% "mid.sentence", etc.) used in most other .bst files.
+% 
+% The more flexible and complex design used here was motivated in part by
+% IEEE's rather unusual bibliography style. For example, IEEE ends the
+% previous field item with a period and large space prior to the publisher
+% address; the @electronic entry types use periods as inter-item punctuation
+% rather than the commas used by the other entry types; and URLs are never
+% followed by periods even though they are the last item in the entry.
+% Although it is possible to accommodate these features with the conventional
+% output state system, the seemingly endless exceptions make for convoluted,
+% unreliable and difficult to maintain code.
+%
+% IEEEtran.bst's output state system can be easily understood via a simple
+% illustration of two most recently formatted entry fields (on the stack):
+%
+%               CURRENT_ITEM
+%               "PREVIOUS_ITEM
+%
+% which, in this example, is to eventually appear in the bibliography as:
+% 
+%               "PREVIOUS_ITEM," CURRENT_ITEM
+%
+% It is the job of the output routine to take the previous item off of the
+% stack (while leaving the current item at the top of the stack), apply its
+% trailing punctuation (including closing quote marks) and spacing, and then
+% to write the result to BibTeX's output buffer:
+% 
+%               "PREVIOUS_ITEM," 
+% 
+% Punctuation (and spacing) between items is often determined by both of the
+% items rather than just the first one. The presence of quotation marks
+% further complicates the situation because, in standard English, trailing
+% punctuation marks are supposed to be contained within the quotes.
+% 
+% IEEEtran.bst maintains two output state (aka "status") vectors which
+% correspond to the previous and current (aka "this") items. Each vector
+% consists of several independent attributes which track punctuation,
+% spacing, quotation, and newlines. Capitalization status is handled by a
+% separate scalar because the format routines, not the output routine,
+% handle capitalization and, therefore, there is no need to maintain the
+% capitalization attribute for both the "previous" and "this" items.
+% 
+% When a format routine adds a new item, it copies the current output status
+% vector to the previous output status vector and (usually) resets the
+% current (this) output status vector to a "standard status" vector. Using a
+% "standard status" vector in this way allows us to redefine what we mean by
+% "standard status" at the start of each entry handler and reuse the same
+% format routines under the various inter-item separation schemes. For
+% example, the standard status vector for the @book entry type may use
+% commas for item separators, while the @electronic type may use periods,
+% yet both entry handlers exploit many of the exact same format routines.
+% 
+% Because format routines have write access to the output status vector of
+% the previous item, they can override the punctuation choices of the
+% previous format routine! Therefore, it becomes trivial to implement rules
+% such as "Always use a period and a large space before the publisher." By
+% pushing the generation of the closing quote mark to the output routine, we
+% avoid all the problems caused by having to close a quote before having all
+% the information required to determine what the punctuation should be.
+%
+% The IEEEtran.bst output state system can easily be expanded if needed.
+% For instance, it is easy to add a "space.tie" attribute value if the
+% bibliography rules mandate that two items have to be joined with an
+% unbreakable space. 
+
+FUNCTION {initialize.status.constants}
+{ #0 'punct.no :=
+  #1 'punct.comma :=
+  #2 'punct.period :=
+  #0 'space.no := 
+  #1 'space.normal :=
+  #2 'space.large :=
+  #0 'quote.no :=
+  #1 'quote.close :=
+  #0 'cap.no :=
+  #1 'cap.yes :=
+  #0 'nline.no :=
+  #1 'nline.newblock :=
+}
+
+FUNCTION {std.status.using.comma}
+{ punct.comma 'punct.std :=
+  space.normal 'space.std :=
+  quote.no 'quote.std :=
+  nline.no 'nline.std :=
+  cap.no 'cap.std :=
+}
+
+FUNCTION {std.status.using.period}
+{ punct.period 'punct.std :=
+  space.normal 'space.std :=
+  quote.no 'quote.std :=
+  nline.no 'nline.std :=
+  cap.yes 'cap.std :=
+}
+
+FUNCTION {initialize.prev.this.status}
+{ punct.no 'prev.status.punct :=
+  space.no 'prev.status.space :=
+  quote.no 'prev.status.quote :=
+  nline.no 'prev.status.nline :=
+  punct.no 'this.status.punct :=
+  space.no 'this.status.space :=
+  quote.no 'this.status.quote :=
+  nline.no 'this.status.nline :=
+  cap.yes 'status.cap :=
+}
+
+FUNCTION {this.status.std}
+{ punct.std 'this.status.punct :=
+  space.std 'this.status.space :=
+  quote.std 'this.status.quote :=
+  nline.std 'this.status.nline :=
+}
+
+FUNCTION {cap.status.std}{ cap.std 'status.cap := }
+
+FUNCTION {this.to.prev.status}
+{ this.status.punct 'prev.status.punct :=
+  this.status.space 'prev.status.space :=
+  this.status.quote 'prev.status.quote :=
+  this.status.nline 'prev.status.nline :=
+}
+
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+
+FUNCTION {and}
+{   { skip$ }
+    { pop$ #0 }
+  if$
+}
+
+FUNCTION {or}
+{   { pop$ #1 }
+    { skip$ }
+  if$
+}
+
+
+% convert the strings "yes" or "no" to #1 or #0 respectively
+FUNCTION {yes.no.to.int}
+{ "l" change.case$ duplicate$
+    "yes" =
+    { pop$  #1 }
+    { duplicate$ "no" =
+        { pop$ #0 }
+        { "unknown boolean " quote$ * swap$ * quote$ *
+          " in " * cite$ * warning$
+          #0
+        }
+      if$
+    }
+  if$
+}
+
+
+% pushes true if the single char string on the stack is in the
+% range of "0" to "9"
+FUNCTION {is.num}
+{ chr.to.int$
+  duplicate$ "0" chr.to.int$ < not
+  swap$ "9" chr.to.int$ > not and
+}
+
+% multiplies the integer on the stack by a factor of 10
+FUNCTION {bump.int.mag}
+{ #0 'multiresult :=
+    { duplicate$ #0 > }
+    { #1 -
+      multiresult #10 +
+      'multiresult :=
+    }
+  while$
+pop$
+multiresult
+}
+
+% converts a single character string on the stack to an integer
+FUNCTION {char.to.integer}
+{ duplicate$ 
+  is.num
+    { chr.to.int$ "0" chr.to.int$ - }
+    {"noninteger character " quote$ * swap$ * quote$ *
+          " in integer field of " * cite$ * warning$
+    #0
+    }
+  if$
+}
+
+% converts a string on the stack to an integer
+FUNCTION {string.to.integer}
+{ duplicate$ text.length$ 'namesleft :=
+  #1 'nameptr :=
+  #0 'numnames :=
+    { nameptr namesleft > not }
+    { duplicate$ nameptr #1 substring$
+      char.to.integer numnames bump.int.mag +
+      'numnames :=
+      nameptr #1 +
+      'nameptr :=
+    }
+  while$
+pop$
+numnames
+}
+
+
+
+
+% The output routines write out the *next* to the top (previous) item on the
+% stack, adding punctuation and such as needed. Since IEEEtran.bst maintains
+% the output status for the top two items on the stack, these output
+% routines have to consider the previous output status (which corresponds to
+% the item that is being output). Full independent control of punctuation,
+% closing quote marks, spacing, and newblock is provided.
+% 
+% "output.nonnull" does not check for the presence of a previous empty
+% item.
+% 
+% "output" does check for the presence of a previous empty item and will
+% remove an empty item rather than outputing it.
+% 
+% "output.warn" is like "output", but will issue a warning if it detects
+% an empty item.
+
+FUNCTION {output.nonnull}
+{ swap$
+  prev.status.punct punct.comma =
+     { "," * }
+     { skip$ }
+   if$
+  prev.status.punct punct.period =
+     { add.period$ }
+     { skip$ }
+   if$ 
+  prev.status.quote quote.close =
+     { "''" * }
+     { skip$ }
+   if$
+  prev.status.space space.normal =
+     { " " * }
+     { skip$ }
+   if$
+  prev.status.space space.large =
+     { large.space * }
+     { skip$ }
+   if$
+  write$
+  prev.status.nline nline.newblock =
+     { newline$ "\newblock " write$ }
+     { skip$ }
+   if$
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull
+  if$
+}
+
+FUNCTION {output.warn}
+{ 't :=
+  duplicate$ empty$
+    { pop$ "empty " t * " in " * cite$ * warning$ }
+    'output.nonnull
+  if$
+}
+
+% "fin.entry" is the output routine that handles the last item of the entry
+% (which will be on the top of the stack when "fin.entry" is called).
+
+FUNCTION {fin.entry}
+{ this.status.punct punct.no =
+     { skip$ }
+     { add.period$ }
+   if$
+   this.status.quote quote.close =
+     { "''" * }
+     { skip$ }
+   if$
+write$
+newline$
+}
+
+
+FUNCTION {is.last.char.not.punct}
+{ duplicate$
+   "}" * add.period$
+   #-1 #1 substring$ "." =
+}
+
+FUNCTION {is.multiple.pages}
+{ '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 {capitalize}{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+    { pop$ "" }
+    { "\emph{" swap$ * "}" * }
+  if$
+}
+
+FUNCTION {do.name.latex.cmd}
+{ name.latex.cmd
+  empty$
+    { skip$ }
+    { name.latex.cmd "{" * swap$ * "}" * }
+  if$
+}
+
+% IEEEtran.bst uses its own \BIBforeignlanguage command which directly
+% invokes the TeX hyphenation patterns without the need of the Babel
+% package. Babel does a lot more than switch hyphenation patterns and
+% its loading can cause unintended effects in many class files (such as
+% IEEEtran.cls).
+FUNCTION {select.language}
+{ duplicate$ empty$ 'pop$
+    { language empty$ 'skip$
+        { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { " " }
+  if$
+  swap$
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {space.word}{ " " swap$ * " " * }
+
+
+% Field Conditioners, Converters, Checkers and External Interfaces
+
+FUNCTION {empty.field.to.null.string}
+{ duplicate$ empty$
+    { pop$ "" }
+    { skip$ }
+  if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+    { pop$ }
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {empty.entry.warn}
+{ author empty$ title empty$ howpublished empty$
+  month empty$ year empty$ note empty$ url empty$
+  and and and and and and
+    { "all relevant fields are empty in " cite$ * warning$ }
+    'skip$
+  if$
+}
+
+
+% The bibinfo system provides a way for the electronic parsing/acquisition
+% of a bibliography's contents as is done by ReVTeX. For example, a field
+% could be entered into the bibliography as:
+% \bibinfo{volume}{2}
+% Only the "2" would show up in the document, but the LaTeX \bibinfo command
+% could do additional things with the information. IEEEtran.bst does provide
+% a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is
+% currently not used as the bogus bibinfo functions defined here output the
+% entry values directly without the \bibinfo wrapper. The bibinfo functions
+% themselves (and the calls to them) are retained for possible future use.
+% 
+% bibinfo.check avoids acting on missing fields while bibinfo.warn will
+% issue a warning message if a missing field is detected. Prior to calling
+% the bibinfo functions, the user should push the field value and then its
+% name string, in that order.
+
+FUNCTION {bibinfo.check}
+{ swap$ duplicate$ missing$
+    { pop$ pop$ "" }
+    { duplicate$ empty$
+        { swap$ pop$ }
+        { swap$ pop$ }
+      if$
+    }
+  if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$ duplicate$ missing$
+    { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" }
+    { duplicate$ empty$
+        { swap$ "empty " swap$ * " in " * cite$ * warning$ }
+        { swap$ pop$ }
+      if$
+    }
+  if$
+}
+
+
+% IEEE separates large numbers with more than 4 digits into groups of
+% three. IEEE uses a small space to separate these number groups. 
+% Typical applications include patent and page numbers.
+
+% number of consecutive digits required to trigger the group separation.
+FUNCTION {large.number.trigger}{ #5 }
+
+% For numbers longer than the trigger, this is the blocksize of the groups.
+% The blocksize must be less than the trigger threshold, and 2 * blocksize
+% must be greater than the trigger threshold (can't do more than one
+% separation on the initial trigger).
+FUNCTION {large.number.blocksize}{ #3 }
+
+% What is actually inserted between the number groups.
+FUNCTION {large.number.separator}{ "\," }
+
+% So as to save on integer variables by reusing existing ones, numnames
+% holds the current number of consecutive digits read and nameptr holds
+% the number that will trigger an inserted space.
+FUNCTION {large.number.separate}
+{ 't :=
+  ""
+  #0 'numnames :=
+  large.number.trigger 'nameptr :=
+  { t empty$ not }
+  { t #-1 #1 substring$ is.num
+      { numnames #1 + 'numnames := }
+      { #0 'numnames := 
+        large.number.trigger 'nameptr :=
+      }
+    if$
+    t #-1 #1 substring$ swap$ *
+    t #-2 global.max$ substring$ 't :=
+    numnames nameptr =
+      { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$
+        nameptr large.number.blocksize - #1 + global.max$ substring$
+        large.number.separator swap$ * *
+        nameptr large.number.blocksize - 'numnames :=
+        large.number.blocksize #1 + 'nameptr :=
+      }
+      { skip$ }
+    if$
+  }
+  while$
+}
+
+% Converts all single dashes "-" to double dashes "--".
+FUNCTION {n.dashify}
+{ large.number.separate
+  't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+        { t #1 #2 substring$ "--" = not
+            { "--" *
+              t #2 global.max$ substring$ 't :=
+            }
+            {   { t #1 #1 substring$ "-" = }
+                { "-" *
+                  t #2 global.max$ substring$ 't :=
+                }
+              while$
+            }
+          if$
+        }
+        { t #1 #1 substring$ *
+          t #2 global.max$ substring$ 't :=
+        }
+      if$
+    }
+  while$
+}
+
+
+% This function detects entries with names that are identical to that of
+% the previous entry and replaces the repeated names with dashes (if the
+% "is.dash.repeated.names" user control is nonzero).
+FUNCTION {name.or.dash}
+{ 's :=
+   oldname empty$
+     { s 'oldname := s }
+     { s oldname =
+         { is.dash.repeated.names
+              { repeated.name.dashes }
+              { s 'oldname := s }
+            if$
+         }
+         { s 'oldname := s }
+       if$
+     }
+   if$
+}
+
+% Converts the number string on the top of the stack to
+% "numerical ordinal form" (e.g., "7" to "7th"). There is
+% no artificial limit to the upper bound of the numbers as the
+% least significant digit always determines the ordinal form.
+FUNCTION {num.to.ordinal}
+{ duplicate$ #-1 #1 substring$ "1" =
+     { bbl.st * }
+     { duplicate$ #-1 #1 substring$ "2" =
+         { bbl.nd * }
+         { duplicate$ #-1 #1 substring$ "3" =
+             { bbl.rd * }
+             { bbl.th * }
+           if$
+         }
+       if$
+     }
+   if$
+}
+
+% If the string on the top of the stack begins with a number,
+% (e.g., 11th) then replace the string with the leading number
+% it contains. Otherwise retain the string as-is. s holds the
+% extracted number, t holds the part of the string that remains
+% to be scanned.
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+  "" 's :=
+  { t empty$ not }
+  { t #1 #1 substring$
+    t #2 global.max$ substring$ 't :=
+    duplicate$ is.num
+      { s swap$ * 's := }
+      { pop$ "" 't := }
+    if$
+  }
+  while$
+  s empty$
+    'skip$
+    { pop$ s }
+  if$
+}
+
+% Converts the word number string on the top of the stack to
+% Arabic string form. Will be successful up to "tenth".
+FUNCTION {word.to.num}
+{ duplicate$ "l" change.case$ 's :=
+  s "first" =
+    { pop$ "1" }
+    { skip$ }
+  if$
+  s "second" =
+    { pop$ "2" }
+    { skip$ }
+  if$
+  s "third" =
+    { pop$ "3" }
+    { skip$ }
+  if$
+  s "fourth" =
+    { pop$ "4" }
+    { skip$ }
+  if$
+  s "fifth" =
+    { pop$ "5" }
+    { skip$ }
+  if$
+  s "sixth" =
+    { pop$ "6" }
+    { skip$ }
+  if$
+  s "seventh" =
+    { pop$ "7" }
+    { skip$ }
+  if$
+  s "eighth" =
+    { pop$ "8" }
+    { skip$ }
+  if$
+  s "ninth" =
+    { pop$ "9" }
+    { skip$ }
+  if$
+  s "tenth" =
+    { pop$ "10" }
+    { skip$ }
+  if$
+}
+
+
+% Converts the string on the top of the stack to numerical
+% ordinal (e.g., "11th") form.
+FUNCTION {convert.edition}
+{ duplicate$ empty$ 'skip$
+    { duplicate$ #1 #1 substring$ is.num
+        { extract.num
+          num.to.ordinal
+        }
+        { word.to.num
+          duplicate$ #1 #1 substring$ is.num
+            { num.to.ordinal }
+            { "edition ordinal word " quote$ * edition * quote$ *
+              " may be too high (or improper) for conversion" * " in " * cite$ * warning$
+            }
+          if$
+        }
+      if$
+    }
+  if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LATEX BIBLIOGRAPHY CODE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {start.entry}
+{ newline$
+  "\bibitem{" write$
+  cite$ write$
+  "}" write$
+  newline$
+  ""
+  initialize.prev.this.status
+}
+
+% Here we write out all the LaTeX code that we will need. The most involved
+% code sequences are those that control the alternate interword spacing and
+% foreign language hyphenation patterns. The heavy use of \providecommand
+% gives users a way to override the defaults. Special thanks to Javier Bezos,
+% Johannes Braams, Robin Fairbairns, Heiko Oberdiek, Donald Arseneau and all
+% the other gurus on comp.text.tex for their help and advice on the topic of
+% \selectlanguage, Babel and BibTeX.
+FUNCTION {begin.bib}
+{ "% Generated by IEEEtran.bst, version: " bst.file.version * " (" * bst.file.date * ")" *
+  write$ newline$
+  preamble$ empty$ 'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"  longest.label  * "}" *
+  write$ newline$
+  "\providecommand{\url}[1]{#1}"
+  write$ newline$
+  "\csname url@samestyle\endcsname"
+  write$ newline$
+  "\providecommand{\newblock}{\relax}"
+  write$ newline$
+  "\providecommand{\bibinfo}[2]{#2}"
+  write$ newline$
+  "\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}"
+  write$ newline$
+  "\providecommand{\BIBentryALTinterwordstretchfactor}{"
+  ALTinterwordstretchfactor * "}" *
+  write$ newline$
+  "\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus "
+  write$ newline$
+  "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}"
+  write$ newline$
+  "\providecommand{\BIBforeignlanguage}[2]{{%"
+  write$ newline$
+  "\expandafter\ifx\csname l@#1\endcsname\relax"
+  write$ newline$
+  "\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%"
+  write$ newline$
+  "\typeout{** loaded for the language `#1'. Using the pattern for}%"
+  write$ newline$
+  "\typeout{** the default language instead.}%"
+  write$ newline$
+  "\else"
+  write$ newline$
+  "\language=\csname l@#1\endcsname"
+  write$ newline$
+  "\fi"
+  write$ newline$
+  "#2}}"
+  write$ newline$
+  "\providecommand{\BIBdecl}{\relax}"
+  write$ newline$
+  "\BIBdecl"
+  write$ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$ "\end{thebibliography}" write$ newline$ }
+
+FUNCTION {if.url.alt.interword.spacing}
+{ is.use.alt.interword.spacing 
+     {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$}
+     { skip$ }
+   if$
+}
+
+FUNCTION {if.url.std.interword.spacing}
+{ is.use.alt.interword.spacing 
+     {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$}
+     { skip$ }
+   if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% LONGEST LABEL PASS %%
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+  #1 'number.label :=
+  #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ type$ "ieeetranbstctl" =
+    { skip$ }
+    { 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$
+    }
+  if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%
+%% FORMAT HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%%
+
+%% Lower Level Formats (used by higher level formats)
+
+FUNCTION {format.address.org.or.pub.date}
+{ 't :=
+  ""
+  year empty$
+    { "empty year in " cite$ * warning$ }
+    { skip$ }
+  if$
+  address empty$ t empty$ and
+  year empty$ and month empty$ and
+    { skip$ }
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+      address "address" bibinfo.check *
+      t empty$
+        { skip$ }
+        { punct.period 'prev.status.punct :=
+          space.large 'prev.status.space :=
+          address empty$
+            { skip$ }
+            { ": " * }
+          if$
+          t *
+        }
+      if$
+      year empty$ month empty$ and
+        { skip$ }
+        { t empty$ address empty$ and
+            { skip$ }
+            { ", " * }
+          if$
+          month empty$
+            { year empty$
+                { skip$ }
+                { year "year" bibinfo.check * }
+              if$
+            }
+            { month "month" bibinfo.check *
+              year empty$
+                 { skip$ }
+                 { " " * year "year" bibinfo.check * }
+              if$
+            }
+          if$
+        }
+      if$
+    }
+  if$
+}
+
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+  duplicate$ empty$ 'skip$ {
+  this.to.prev.status
+  this.status.std
+  's :=
+  "" 't :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr
+      name.format.string
+      format.name$
+      bibinfo bibinfo.check
+      't :=
+      nameptr #1 >
+        { nameptr num.names.shown.with.forced.et.al #1 + =
+          numnames max.num.names.before.forced.et.al >
+          is.forced.et.al and and
+            { "others" 't :=
+              #1 'namesleft :=
+            }
+            { skip$ }
+          if$
+          namesleft #1 >
+            { ", " * t do.name.latex.cmd * }
+            { s nameptr "{ll}" format.name$ duplicate$ "others" =
+                { 't := }
+                { pop$ }
+              if$
+              t "others" =
+                { " " * bbl.etal emphasize * }
+                { numnames #2 >
+                    { "," * }
+                    { skip$ }
+                  if$
+                  bbl.and
+                  space.word * t do.name.latex.cmd *
+                }
+              if$
+            }
+          if$
+        }
+        { t do.name.latex.cmd }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+  cap.status.std
+  } if$
+}
+
+
+
+
+%% Higher Level Formats
+
+%% addresses/locations
+
+FUNCTION {format.address}
+{ address duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+    }
+  if$
+}
+
+
+
+%% author/editor names
+
+FUNCTION {format.authors}{ author "author" format.names }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+    { ", " *
+      get.bbl.editor
+      capitalize
+      *
+    }
+  if$
+}
+
+
+
+%% date
+
+FUNCTION {format.date}
+{
+  month "month" bibinfo.check duplicate$ empty$
+  year  "year" bibinfo.check duplicate$ empty$
+    { swap$ 'skip$
+        { this.to.prev.status
+          this.status.std
+          cap.status.std
+         "there's a month but no year in " cite$ * warning$ }
+      if$
+      *
+    }
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+      swap$ 'skip$
+        {
+          swap$
+          " " * swap$
+        }
+      if$
+      *
+    }
+  if$
+}
+
+FUNCTION {format.date.electronic}
+{ month "month" bibinfo.check duplicate$ empty$
+  year  "year" bibinfo.check duplicate$ empty$
+    { swap$ 
+        { pop$ }
+        { "there's a month but no year in " cite$ * warning$
+        pop$ ")" * "(" swap$ *
+        this.to.prev.status
+        punct.no 'this.status.punct :=
+        space.normal 'this.status.space :=
+        quote.no 'this.status.quote :=
+        cap.yes  'status.cap :=
+        }
+      if$
+    }
+    { swap$ 
+        { swap$ pop$ ")" * "(" swap$ * }
+        { "(" swap$ * ", " * swap$ * ")" * }
+      if$
+    this.to.prev.status
+    punct.no 'this.status.punct :=
+    space.normal 'this.status.space :=
+    quote.no 'this.status.quote :=
+    cap.yes  'status.cap :=
+    }
+  if$
+}
+
+
+
+%% edition/title
+
+% Note: IEEE considers the edition to be closely associated with
+% the title of a book. So, in IEEEtran.bst the edition is normally handled 
+% within the formatting of the title. The format.edition function is 
+% retained here for possible future use.
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      convert.edition
+      status.cap
+        { "t" }
+        { "l" }
+      if$ change.case$
+      "edition" bibinfo.check
+      "~" * bbl.edition *
+      cap.status.std
+    }
+  if$
+}
+
+% This is used to format the booktitle of a conference proceedings.
+% Here we use the "intype" field to provide the user a way to 
+% override the word "in" (e.g., with things like "presented at")
+% Use of intype stops the emphasis of the booktitle to indicate that
+% we no longer mean the written conference proceedings, but the
+% conference itself.
+FUNCTION {format.in.booktitle}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      select.language
+      intype missing$
+        { emphasize
+          bbl.in " " *
+        }
+        { intype " " * }
+      if$
+      swap$ *
+      cap.status.std
+    }
+  if$
+}
+
+% This is used to format the booktitle of collection.
+% Here the "intype" field is not supported, but "edition" is.
+FUNCTION {format.in.booktitle.edition}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      select.language
+      emphasize
+      edition empty$ 'skip$
+        { ", " *
+          edition
+          convert.edition
+          "l" change.case$
+          * "~" * bbl.edition *
+        }
+      if$
+      bbl.in " " * swap$ *
+      cap.status.std
+    }
+  if$
+}
+
+FUNCTION {format.article.title}
+{ title duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      "t" change.case$
+    }
+  if$
+  "title" bibinfo.check
+  duplicate$ empty$ 'skip$
+    { quote.close 'this.status.quote :=
+      is.last.char.not.punct
+        { punct.std 'this.status.punct := }
+        { punct.no 'this.status.punct := }
+      if$
+      select.language
+      "``" swap$ *
+      cap.status.std
+    }
+  if$
+}
+
+FUNCTION {format.article.title.electronic}
+{ title duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+      "t" change.case$ 
+    }
+  if$
+  "title" bibinfo.check
+  duplicate$ empty$ 
+    { skip$ } 
+    { select.language }
+  if$
+}
+
+FUNCTION {format.book.title.edition}
+{ title "title" bibinfo.check
+  duplicate$ empty$
+    { "empty title in " cite$ * warning$ }
+    { this.to.prev.status
+      this.status.std
+      select.language
+      emphasize
+      edition empty$ 'skip$
+        { ", " *
+          edition
+          convert.edition
+          status.cap
+            { "t" }
+            { "l" }
+          if$
+          change.case$
+          * "~" * bbl.edition *
+        }
+      if$
+      cap.status.std
+    }
+  if$
+}
+
+FUNCTION {format.book.title}
+{ title "title" bibinfo.check
+  duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+      select.language
+      emphasize
+    }
+  if$
+}
+
+
+
+%% journal
+
+FUNCTION {format.journal}
+{ journal duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+      select.language
+      emphasize
+    }
+  if$
+}
+
+
+
+%% how published
+
+FUNCTION {format.howpublished}
+{ howpublished duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+    }
+  if$
+}
+
+
+
+%% institutions/organization/publishers/school
+
+FUNCTION {format.institution}
+{ institution duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+    }
+  if$
+}
+
+FUNCTION {format.organization}
+{ organization duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+    }
+  if$
+}
+
+FUNCTION {format.address.publisher.date}
+{ publisher "publisher" bibinfo.warn format.address.org.or.pub.date }
+
+FUNCTION {format.address.publisher.date.nowarn}
+{ publisher "publisher" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.address.organization.date}
+{ organization "organization" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.school}
+{ school duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      cap.status.std
+    }
+  if$
+}
+
+
+
+%% volume/number/series/chapter/pages
+
+FUNCTION {format.volume}
+{ volume empty.field.to.null.string
+  duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      bbl.volume 
+      status.cap
+        { capitalize }
+        { skip$ }
+      if$
+      swap$ tie.or.space.prefix
+      "volume" bibinfo.check
+      * *
+      cap.status.std
+    }
+  if$
+}
+
+FUNCTION {format.number}
+{ number empty.field.to.null.string
+  duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      status.cap
+         { bbl.number capitalize }
+         { bbl.number }
+       if$
+      swap$ tie.or.space.prefix
+      "number" bibinfo.check
+      * *
+      cap.status.std
+    }
+  if$
+}
+
+FUNCTION {format.number.if.use.for.article}
+{ is.use.number.for.article 
+     { format.number }
+     { "" }
+   if$
+}
+
+% IEEE does not seem to tie the series so closely with the volume
+% and number as is done in other bibliography styles. Instead the
+% series is treated somewhat like an extension of the title.
+FUNCTION {format.series}
+{ series empty$ 
+   { "" }
+   { this.to.prev.status
+     this.status.std
+     bbl.series " " *
+     series "series" bibinfo.check *
+     cap.status.std
+   }
+ if$
+}
+
+
+FUNCTION {format.chapter}
+{ chapter empty$
+    { "" }
+    { this.to.prev.status
+      this.status.std
+      type empty$
+        { bbl.chapter }
+        { type "l" change.case$
+          "type" bibinfo.check
+        }
+      if$
+      chapter tie.or.space.prefix
+      "chapter" bibinfo.check
+      * *
+      cap.status.std
+    }
+  if$
+}
+
+
+% The intended use of format.paper is for paper numbers of inproceedings.
+% The paper type can be overridden via the type field.
+% We allow the type to be displayed even if the paper number is absent
+% for things like "postdeadline paper"
+FUNCTION {format.paper}
+{ is.use.paper
+     { paper empty$
+        { type empty$
+            { "" }
+            { this.to.prev.status
+              this.status.std
+              type "type" bibinfo.check
+              cap.status.std
+            }
+          if$
+        }
+        { this.to.prev.status
+          this.status.std
+          type empty$
+            { bbl.paper }
+            { type "type" bibinfo.check }
+          if$
+          " " * paper
+          "paper" bibinfo.check
+          *
+          cap.status.std
+        }
+      if$
+     }
+     { "" } 
+   if$
+}
+
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+    { this.to.prev.status
+      this.status.std
+      duplicate$ is.multiple.pages
+        {
+          bbl.pages swap$
+          n.dashify
+        }
+        {
+          bbl.page swap$
+        }
+      if$
+      tie.or.space.prefix
+      "pages" bibinfo.check
+      * *
+      cap.status.std
+    }
+  if$
+}
+
+
+
+%% technical report number
+
+FUNCTION {format.tech.report.number}
+{ number "number" bibinfo.check
+  this.to.prev.status
+  this.status.std
+  cap.status.std
+  type duplicate$ empty$
+    { pop$ 
+      bbl.techrep
+    }
+    { skip$ }
+  if$
+  "type" bibinfo.check 
+  swap$ duplicate$ empty$
+    { pop$ }
+    { tie.or.space.prefix * * }
+  if$
+}
+
+
+
+%% note
+
+FUNCTION {format.note}
+{ note empty$
+    { "" }
+    { this.to.prev.status
+      this.status.std
+      punct.period 'this.status.punct :=
+      note #1 #1 substring$
+      duplicate$ "{" =
+        { skip$ }
+        { status.cap
+          { "u" }
+          { "l" }
+        if$
+        change.case$
+        }
+      if$
+      note #2 global.max$ substring$ * "note" bibinfo.check
+      cap.yes  'status.cap :=
+    }
+  if$
+}
+
+
+
+%% patent
+
+FUNCTION {format.patent.date}
+{ this.to.prev.status
+  this.status.std
+  year empty$
+    { monthfiled duplicate$ empty$
+        { "monthfiled" bibinfo.check pop$ "" }
+        { "monthfiled" bibinfo.check }
+      if$
+      dayfiled duplicate$ empty$
+        { "dayfiled" bibinfo.check pop$ "" * }
+        { "dayfiled" bibinfo.check 
+          monthfiled empty$ 
+             { "dayfiled without a monthfiled in " cite$ * warning$
+               * 
+             }
+             { " " swap$ * * }
+           if$
+        }
+      if$
+      yearfiled empty$
+        { "no year or yearfiled in " cite$ * warning$ }
+        { yearfiled "yearfiled" bibinfo.check 
+          swap$
+          duplicate$ empty$
+             { pop$ }
+             { ", " * swap$ * }
+           if$
+        }
+      if$
+    }
+    { month duplicate$ empty$
+        { "month" bibinfo.check pop$ "" }
+        { "month" bibinfo.check }
+      if$
+      day duplicate$ empty$
+        { "day" bibinfo.check pop$ "" * }
+        { "day" bibinfo.check 
+          month empty$ 
+             { "day without a month in " cite$ * warning$
+               * 
+             }
+             { " " swap$ * * }
+           if$
+        }
+      if$
+      year "year" bibinfo.check 
+      swap$
+      duplicate$ empty$
+        { pop$ }
+        { ", " * swap$ * }
+      if$
+    }
+  if$
+  cap.status.std
+}
+
+FUNCTION {format.patent.nationality.type.number}
+{ this.to.prev.status
+  this.status.std
+  nationality duplicate$ empty$
+    { "nationality" bibinfo.warn pop$ "" }
+    { "nationality" bibinfo.check
+      duplicate$ "l" change.case$ "united states" =
+        { pop$ bbl.patentUS }
+        { skip$ }
+      if$
+      " " *
+    }
+  if$
+  type empty$
+    { bbl.patent "type" bibinfo.check }
+    { type "type" bibinfo.check }
+  if$  
+  *
+  number duplicate$ empty$
+    { "number" bibinfo.warn pop$ }
+    { "number" bibinfo.check
+      large.number.separate
+      swap$ " " * swap$ *
+    }
+  if$ 
+  cap.status.std
+}
+
+
+
+%% standard
+
+FUNCTION {format.organization.institution.standard.type.number}
+{ this.to.prev.status
+  this.status.std
+  organization duplicate$ empty$
+    { pop$ 
+      institution duplicate$ empty$
+        { "institution" bibinfo.warn }
+        { "institution" bibinfo.warn " " * }
+      if$
+    }
+    { "organization" bibinfo.warn " " * }
+  if$
+  type empty$
+    { bbl.standard "type" bibinfo.check }
+    { type "type" bibinfo.check }
+  if$  
+  *
+  number duplicate$ empty$
+    { "number" bibinfo.check pop$ }
+    { "number" bibinfo.check
+      large.number.separate
+      swap$ " " * swap$ *
+    }
+  if$ 
+  cap.status.std
+}
+
+FUNCTION {format.revision}
+{ revision empty$
+    { "" }
+    { this.to.prev.status
+      this.status.std
+      bbl.revision
+      revision tie.or.space.prefix
+      "revision" bibinfo.check
+      * *
+      cap.status.std
+    }
+  if$
+}
+
+
+%% thesis
+
+FUNCTION {format.master.thesis.type}
+{ this.to.prev.status
+  this.status.std
+  type empty$
+    {
+      bbl.mthesis
+    }
+    { 
+      type "type" bibinfo.check
+    }
+  if$
+cap.status.std
+}
+
+FUNCTION {format.phd.thesis.type}
+{ this.to.prev.status
+  this.status.std
+  type empty$
+    {
+      bbl.phdthesis
+    }
+    { 
+      type "type" bibinfo.check
+    }
+  if$
+cap.status.std
+}
+
+
+
+%% URL
+
+FUNCTION {format.url}
+{ url empty$
+    { "" }
+    { this.to.prev.status
+      this.status.std
+      cap.yes 'status.cap :=
+      name.url.prefix " " *
+      "\url{" * url * "}" *
+      punct.no 'this.status.punct :=
+      punct.period 'prev.status.punct :=
+      space.normal 'this.status.space :=
+      space.normal 'prev.status.space :=
+      quote.no 'this.status.quote :=
+    }
+  if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%
+%% ENTRY HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%
+
+
+% Note: In many journals, IEEE (or the authors) tend not to show the number
+% for articles, so the display of the number is controlled here by the
+% switch "is.use.number.for.article"
+FUNCTION {article}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors "author" output.warn
+  name.or.dash
+  format.article.title "title" output.warn
+  format.journal "journal" bibinfo.check "journal" output.warn
+  format.volume output
+  format.number.if.use.for.article output
+  format.pages output
+  format.date "year" output.warn
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {book}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  author empty$
+    { format.editors "author and editor" output.warn }
+    { format.authors output.nonnull }
+  if$
+  name.or.dash
+  format.book.title.edition output
+  format.series output
+  author empty$
+    { skip$ }
+    { format.editors output }
+  if$
+  format.address.publisher.date output
+  format.volume output
+  format.number output
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {booklet}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors output
+  name.or.dash
+  format.article.title "title" output.warn
+  format.howpublished "howpublished" bibinfo.check output
+  format.organization "organization" bibinfo.check output
+  format.address "address" bibinfo.check output
+  format.date output
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {electronic}
+{ std.status.using.period
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors output
+  name.or.dash
+  format.date.electronic output
+  format.article.title.electronic output
+  format.howpublished "howpublished" bibinfo.check output
+  format.organization "organization" bibinfo.check output
+  format.address "address" bibinfo.check output
+  format.note output
+  format.url output
+  fin.entry
+  empty.entry.warn
+  if.url.std.interword.spacing
+}
+
+FUNCTION {inbook}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  author empty$
+    { format.editors "author and editor" output.warn }
+    { format.authors output.nonnull }
+  if$
+  name.or.dash
+  format.book.title.edition output
+  format.series output
+  format.address.publisher.date output
+  format.volume output
+  format.number output
+  format.chapter output
+  format.pages output
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {incollection}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors "author" output.warn
+  name.or.dash
+  format.article.title "title" output.warn
+  format.in.booktitle.edition "booktitle" output.warn
+  format.series output
+  format.editors output
+  format.address.publisher.date.nowarn output
+  format.volume output
+  format.number output
+  format.chapter output
+  format.pages output
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {inproceedings}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors "author" output.warn
+  name.or.dash
+  format.article.title "title" output.warn
+  format.in.booktitle "booktitle" output.warn
+  format.series output
+  format.editors output
+  format.volume output
+  format.number output
+  publisher empty$
+    { format.address.organization.date output }
+    { format.organization "organization" bibinfo.check output
+      format.address.publisher.date output
+    }
+  if$
+  format.paper output
+  format.pages output
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {manual}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors output
+  name.or.dash
+  format.book.title.edition "title" output.warn
+  format.howpublished "howpublished" bibinfo.check output 
+  format.organization "organization" bibinfo.check output
+  format.address "address" bibinfo.check output
+  format.date output
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {mastersthesis}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors "author" output.warn
+  name.or.dash
+  format.article.title "title" output.warn
+  format.master.thesis.type output.nonnull
+  format.school "school" bibinfo.warn output
+  format.address "address" bibinfo.check output
+  format.date "year" output.warn
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {misc}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors output
+  name.or.dash
+  format.article.title output
+  format.howpublished "howpublished" bibinfo.check output 
+  format.organization "organization" bibinfo.check output
+  format.address "address" bibinfo.check output
+  format.pages output
+  format.date output
+  format.note output
+  format.url output
+  fin.entry
+  empty.entry.warn
+  if.url.std.interword.spacing
+}
+
+FUNCTION {patent}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors output
+  name.or.dash
+  format.article.title output
+  format.patent.nationality.type.number output
+  format.patent.date output
+  format.note output
+  format.url output
+  fin.entry
+  empty.entry.warn
+  if.url.std.interword.spacing
+}
+
+FUNCTION {periodical}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.editors output
+  name.or.dash
+  format.book.title "title" output.warn
+  format.series output
+  format.volume output
+  format.number output
+  format.organization "organization" bibinfo.check output
+  format.date "year" output.warn
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {phdthesis}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors "author" output.warn
+  name.or.dash
+  format.article.title "title" output.warn
+  format.phd.thesis.type output.nonnull
+  format.school "school" bibinfo.warn output
+  format.address "address" bibinfo.check output
+  format.date "year" output.warn
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {proceedings}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.editors output
+  name.or.dash
+  format.book.title "title" output.warn
+  format.series output
+  format.volume output
+  format.number output
+  publisher empty$
+    { format.address.organization.date output }
+    { format.organization "organization" bibinfo.check output
+      format.address.publisher.date output
+    }
+  if$
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {standard}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors output
+  name.or.dash
+  format.book.title "title" output.warn
+  format.howpublished "howpublished" bibinfo.check output 
+  format.organization.institution.standard.type.number output
+  format.revision output
+  format.date output
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {techreport}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors "author" output.warn
+  name.or.dash
+  format.article.title "title" output.warn
+  format.howpublished "howpublished" bibinfo.check output 
+  format.institution "institution" bibinfo.warn output
+  format.address "address" bibinfo.check output
+  format.tech.report.number output.nonnull
+  format.date "year" output.warn
+  format.note output
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+FUNCTION {unpublished}
+{ std.status.using.comma
+  start.entry
+  if.url.alt.interword.spacing
+  format.authors "author" output.warn
+  name.or.dash
+  format.article.title "title" output.warn
+  format.date output
+  format.note "note" output.warn
+  format.url output
+  fin.entry
+  if.url.std.interword.spacing
+}
+
+
+% The special entry type which provides the user interface to the
+% BST controls
+FUNCTION {IEEEtranBSTCTL}
+{ is.print.banners.to.terminal
+    { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." *
+      top$
+    }
+    { skip$ }
+  if$
+  CTLuse_article_number
+  empty$
+    { skip$ }
+    { CTLuse_article_number
+      yes.no.to.int
+      'is.use.number.for.article :=
+    }
+  if$
+  CTLuse_paper
+  empty$
+    { skip$ }
+    { CTLuse_paper
+      yes.no.to.int
+      'is.use.paper :=
+    }
+  if$
+  CTLuse_forced_etal
+  empty$
+    { skip$ }
+    { CTLuse_forced_etal
+      yes.no.to.int
+      'is.forced.et.al :=
+    }
+  if$
+  CTLmax_names_forced_etal
+  empty$
+    { skip$ }
+    { CTLmax_names_forced_etal
+      string.to.integer
+      'max.num.names.before.forced.et.al :=
+    }
+  if$
+  CTLnames_show_etal
+  empty$
+    { skip$ }
+    { CTLnames_show_etal
+      string.to.integer
+      'num.names.shown.with.forced.et.al :=
+    }
+  if$
+  CTLuse_alt_spacing
+  empty$
+    { skip$ }
+    { CTLuse_alt_spacing
+      yes.no.to.int
+      'is.use.alt.interword.spacing :=
+    }
+  if$
+  CTLalt_stretch_factor
+  empty$
+    { skip$ }
+    { CTLalt_stretch_factor
+      'ALTinterwordstretchfactor :=
+      "\renewcommand{\BIBentryALTinterwordstretchfactor}{"
+      ALTinterwordstretchfactor * "}" *
+      write$ newline$
+    }
+  if$
+  CTLdash_repeated_names
+  empty$
+    { skip$ }
+    { CTLdash_repeated_names
+      yes.no.to.int
+      'is.dash.repeated.names :=
+    }
+  if$
+  CTLname_format_string
+  empty$
+    { skip$ }
+    { CTLname_format_string
+      'name.format.string :=
+    }
+  if$
+  CTLname_latex_cmd
+  empty$
+    { skip$ }
+    { CTLname_latex_cmd
+      'name.latex.cmd :=
+    }
+  if$
+  CTLname_url_prefix
+  missing$
+    { skip$ }
+    { CTLname_url_prefix
+      'name.url.prefix :=
+    }
+  if$
+
+
+  num.names.shown.with.forced.et.al max.num.names.before.forced.et.al >
+    { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$ 
+      max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al :=
+    }
+    { skip$ }
+  if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%
+%% ENTRY ALIASES %%
+%%%%%%%%%%%%%%%%%%%
+FUNCTION {conference}{inproceedings}
+FUNCTION {online}{electronic}
+FUNCTION {internet}{electronic}
+FUNCTION {webpage}{electronic}
+FUNCTION {www}{electronic}
+FUNCTION {default.type}{misc}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% MAIN PROGRAM %%
+%%%%%%%%%%%%%%%%%%
+
+READ
+
+EXECUTE {initialize.controls}
+EXECUTE {initialize.status.constants}
+EXECUTE {banner.message}
+
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
+
+EXECUTE{completed.message}
+
+
+%% That's all folks, mds.
diff --git a/report/src/definitions.tex b/report/src/definitions.tex
new file mode 100644
index 00000000..04abf040
--- /dev/null
+++ b/report/src/definitions.tex
@@ -0,0 +1,143 @@
+%% ----------------------------------------------------------------
+%% Definitions.tex
+%% ---------------------------------------------------------------- 
+\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
+
+%% People
+\newcounter{address}
+\setcounter{address}{1}
+\renewcommand{\theaddress}{\textsuperscript{\fnsymbol{address}}}
+\newcommand{\address}[1]{\refstepcounter{address}\theaddress#1\\}
+\newcommand{\Name}[3]{\texorpdfstring{\href{mailto:#3}{#2}#1}{#2}\xspace}
+
+%% Dingbats
+\newcommand{\tick}{\ding{51}}
+\newcommand{\cross}{\ding{55}}
+
+%% Calculus
+\newcommand{\pd}[2]{\ensuremath{\frac{\partial #1}{\partial #2}}\xspace}
+\newcommand{\fd}[2]{\ensuremath{\frac{d #1}{d #2}}\xspace}
+\newcommand{\dint}{\ensuremath{\int\!\!\!\int}\xspace}
+\newcommand{\tint}{\ensuremath{\int\!\!\!\int\!\!\!\int}\xspace}
+
+%% Math Sets
+\newcommand{\Q}[1]{\ensuremath{\mathbb{#1}}\xspace}
+\newcommand{\R}{\Q{R}}
+
+%% Matrix, Vector
+\newcommand{\V}[1]{\ensuremath{\boldsymbol{#1}}\xspace}
+\newcommand{\M}[1]{\ensuremath{\boldsymbol{#1}}\xspace}
+\newcommand{\0}{\V{0}}
+\newcommand{\1}{\V{1}}
+\newcommand{\I}{\M{I}}
+
+%% Math Functions
+\newcommand{\F}[1]{\ensuremath{\mathrm{#1}}\xspace}
+\newcommand{\sgn}{\F{sgn}}
+\newcommand{\tr}{\F{trace}}
+\newcommand{\diag}{\F{diag}}
+
+%% Math Names
+\newcommand{\N}[1]{\ensuremath{\mathit{#1}}\xspace}
+
+%% Data
+\newcommand{\mc}[1]{\ensuremath{\mathcal{#1}}\xspace}
+\newcommand{\Hyp}{\mc{H}}
+\newcommand{\D}{\mc{D}}
+
+%% Kernel
+\newcommand{\K}{\M{K}}
+\newcommand{\eins}{\texorpdfstring{\ensuremath{\epsilon}}{\textepsilon}-insensitive\xspace}
+\newcommand{\e}{\ensuremath{\epsilon}\xspace}
+\newcommand{\Bxi}{\ensuremath{\boldsymbol{\xi}}\xspace}
+\newcommand{\Kanova}{\ensuremath{\mathit{K_{ANOVA}}}\xspace}
+\newcommand{\Kspline}{\ensuremath{\mathit{K_{spline}}}\xspace}
+
+%% Bayesian
+\newcommand{\MP}{\ensuremath{\mathit{{\scriptscriptstyle \hspace{-1.5pt}M\hspace{-1.5pt}P}}}\xspace}
+\newcommand{\ML}{\ensuremath{\mathit{{\scriptscriptstyle \hspace{-1.5pt}M\hspace{-1.5pt}L}}}\xspace}
+\newcommand{\Qw}{\ensuremath{Q_{\w}(\w)}\xspace}
+\newcommand{\Qa}{\ensuremath{Q_{\Ba}(\Ba)}\xspace}
+\newcommand{\Qb}{\ensuremath{Q_{\beta}(\beta)}\xspace}
+\newcommand{\wMPab}{\ensuremath{\w_{\MP|\bar {\Ba},\bar \beta}}\xspace}
+\newcommand{\wMP}{\ensuremath{\w_{\MP}}\xspace}
+\newcommand{\yMP}{\ensuremath{y_{\MP}}\xspace}
+\newcommand{\BaMP}{\ensuremath{\Ba_{\hspace{1pt}\MP}}\xspace}
+\newcommand{\aMP}{\ensuremath{\alpha_{\hspace{1pt}\MP}}\xspace}
+\newcommand{\bMP}{\ensuremath{\beta_{\hspace{1pt}\MP}}\xspace}
+\newcommand{\Sab}{\ensuremath{\M{\Sigma}_{\bar \Ba,\bar \beta}}\xspace}
+\newcommand{\Ba}{\ensuremath{\boldsymbol{\alpha}}\xspace}
+\newcommand{\Bb}{\ensuremath{\boldsymbol{\beta}}\xspace}
+\newcommand{\Bm}{\ensuremath{\boldsymbol{\mu}}\xspace}
+\newcommand{\BL}{\ensuremath{\boldsymbol{\Lambda}}\xspace}
+\newcommand{\BPhi}{\ensuremath{\boldsymbol{\Phi}}\xspace}
+\newcommand{\SMP}{\ensuremath{\M{\Sigma}_{\MP}}\xspace}
+
+\newcommand{\Pa}{\ensuremath{P(\alpha|\mathcal{H})}\xspace}
+\newcommand{\Pb}{\ensuremath{P(\beta|\mathcal{H})}\xspace}
+\newcommand{\Pab}{\ensuremath{P(\alpha,\beta|\mathcal{H})}\xspace}
+\newcommand{\Pw}{\ensuremath{P(\w|\mathcal{H})}\xspace}
+\newcommand{\PD}{\ensuremath{P(\D|\mathcal{H})}\xspace}
+\newcommand{\PwIa}{\ensuremath{P(\w|\alpha,\mathcal{H})}\xspace}
+\newcommand{\PDIwb}{\ensuremath{P(\D|\w,\beta,\mathcal{H})}\xspace}
+\newcommand{\PDwab}{\ensuremath{P(\D,\w,\alpha,\beta|\mathcal{H})}\xspace}
+\newcommand{\PDIw}{\ensuremath{P(\D|\w,\mathcal{H})}\xspace}
+\newcommand{\PwID}{\ensuremath{P(\w|\D,\mathcal{H})}\xspace}
+\newcommand{\PwabID}{\ensuremath{P(\w,\alpha,\beta|\D,\mathcal{H})}\xspace}
+
+\newcommand{\PanH}{\ensuremath{P(\alpha)}\xspace}
+\newcommand{\PbnH}{\ensuremath{P(\beta)}\xspace}
+\newcommand{\PabnH}{\ensuremath{P(\alpha,\beta)}\xspace}
+\newcommand{\PwnH}{\ensuremath{P(\w)}\xspace}
+\newcommand{\PDnH}{\ensuremath{P(\D)}\xspace}
+\newcommand{\PwIanH}{\ensuremath{P(\w|\alpha)}\xspace}
+\newcommand{\PDIwbnH}{\ensuremath{P(\D|\w,\beta)}\xspace}
+\newcommand{\PDwabnH}{\ensuremath{P(\D,\w,\Ba,\beta)}\xspace}
+\newcommand{\PDIwnH}{\ensuremath{P(\D|\w)}\xspace}
+\newcommand{\PwIDnH}{\ensuremath{P(\w|\D)}\xspace}
+\newcommand{\PwabIDnH}{\ensuremath{P(\w,\alpha,\beta|\D)}\xspace}
+
+\newcommand{\PDwBab}{\ensuremath{P(\D,\w,\Ba,\beta|\mathcal{H})}\xspace}
+\newcommand{\PwIBa}{\ensuremath{P(\w|\Ba,\mathcal{H})}\xspace}
+\newcommand{\PBab}{\ensuremath{P(\Ba,\beta|\mathcal{H})}\xspace}
+\newcommand{\PwBabID}{\ensuremath{P(\w,\Ba,\beta|\D,\mathcal{H})}\xspace}
+
+\newcommand{\PBanH}{\ensuremath{P(\Ba)}\xspace}
+\newcommand{\PwIBanH}{\ensuremath{P(\w|\Ba)}\xspace}
+
+%% Snakes
+\newcommand{\Esnake}{\ensuremath{\mathit{E_{snake}}}\xspace}
+\newcommand{\Eimage}{\ensuremath{\mathit{E_{image}}}\xspace}
+\newcommand{\Econt}{\ensuremath{\mathit{E_{cont}}}\xspace}
+\newcommand{\Ecurv}{\ensuremath{\mathit{E_{curv}}}\xspace}
+\newcommand{\Eint}{\ensuremath{\mathit{E_{int}}}\xspace}
+\newcommand{\Eext}{\ensuremath{\mathit{E_{ext}}}\xspace}
+\newcommand{\Eterm}{\ensuremath{\mathit{E_{term}}}\xspace}
+\newcommand{\Eline}{\ensuremath{\mathit{E_{line}}}\xspace}
+\newcommand{\Eedge}{\ensuremath{\mathit{E_{edge}}}\xspace}
+\newcommand{\Econ}{\ensuremath{\mathit{E_{con}}}\xspace}
+\newcommand{\Eangle}{\ensuremath{\mathit{E_{angle}}}\xspace}
+\newcommand{\Elshape}{\ensuremath{\mathit{E_{lshape}}}\xspace}
+\newcommand{\Eedgedir}{\ensuremath{\mathit{E_{edgedir}}}\xspace}
+\newcommand{\Emodel}{\ensuremath{\mathit{E_{model}}}\xspace}
+\newcommand{\wte}{\ensuremath{\mathit{w_{term}}}\xspace}
+\newcommand{\wli}{\ensuremath{\mathit{w_{line}}}\xspace}
+\newcommand{\wed}{\ensuremath{\mathit{w_{edge}}}\xspace}
+\newcommand{\wco}{\ensuremath{\mathit{w_{con}}}\xspace}
+
+%% Environments
+\newcounter{alg}
+\newenvironment{algorithm}[1]
+{
+    \stepcounter{alg}
+    \begin{table}[htb]
+    \centering
+    \begin{tabular}[t]{ll}
+    \hline&\\
+    \multicolumn{2}{l}{\bf Algorithm \arabic{alg}: #1}\\&\\
+} {
+    &\\
+    \hline
+    \end{tabular}
+    \end{table}
+}
diff --git a/report/src/ecsgdp.cls b/report/src/ecsgdp.cls
new file mode 100644
index 00000000..90e6f367
--- /dev/null
+++ b/report/src/ecsgdp.cls
@@ -0,0 +1,345 @@
+%%
+%% This is file `ecsgdp.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ecsdocs.dtx  (with options: `gdp')
+%% 
+%% Copyright (C) 2001 by Steve R. Gunn
+%% 
+%% This file is part of the ECSDocs class distribution
+%% 
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\ProvidesClass{ecsgdp}
+              [2003/25/04 v1.6
+   LaTeX document class]
+\def\baseclass{book}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\baseclass}}
+\def\@checkoptions#1#2{
+  \edef\@curroptions{\@ptionlist{\@currname.\@currext}}
+  \@tempswafalse
+  \@tfor\@this:=#2\do{
+    \@expandtwoargs\in@{,\@this,}{,\@curroptions,}
+    \ifin@ \@tempswatrue \@break@tfor \fi}
+  \let\@this\@empty
+  \if@tempswa \else \PassOptionsToClass{#1}{\baseclass}\fi
+}
+\@checkoptions{11pt}{{10pt}{11pt}{12pt}}
+\PassOptionsToClass{a4paper}{\baseclass}
+\ProcessOptions\relax
+\LoadClass{\baseclass}
+\newcommand\bhrule{\typeout{------------------------------------------------------------------------------}}
+\newcommand\btypeout[1]{\bhrule\typeout{\space #1}\bhrule}
+\usepackage{setspace}
+\onehalfspacing
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{2.0ex plus0.5ex minus0.2ex}
+\usepackage{vmargin}
+\setmarginsrb           { 1.5in}  % left margin
+                        { 0.6in}  % top margin
+                        { 1.0in}  % right margin
+                        { 0.8in}  % bottom margin
+                        {  20pt}  % head height
+                        {0.25in}  % head sep
+                        {   9pt}  % foot height
+                        { 0.3in}  % foot sep
+\raggedbottom
+\setlength{\topskip}{1\topskip \@plus 5\p@}
+\doublehyphendemerits=10000       % No consecutive line hyphens.
+\brokenpenalty=10000              % No broken words across columns/pages.
+\widowpenalty=9999                % Almost no widows at bottom of page.
+\clubpenalty=9999                 % Almost no orphans at top of page.
+\interfootnotelinepenalty=9999    % Almost never break footnotes.
+\usepackage{fancyhdr}
+\lhead[\rm\thepage]{\fancyplain{}{\sl{\rightmark}}}
+\rhead[\fancyplain{}{\sl{\leftmark}}]{\rm\thepage}
+\chead{}\lfoot{}\rfoot{}\cfoot{}
+\pagestyle{fancy}
+\renewcommand{\chaptermark}[1]{\btypeout{\thechapter\space #1}\markboth{\@chapapp\ \thechapter\ #1}{\@chapapp\ \thechapter\ #1}}
+\renewcommand{\sectionmark}[1]{}
+\renewcommand{\subsectionmark}[1]{}
+\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
+\hbox{}
+\thispagestyle{empty}
+\newpage
+\if@twocolumn\hbox{}\newpage\fi\fi\fi}
+\usepackage{amsmath,amsfonts,amssymb,amscd,amsthm,xspace}
+\theoremstyle{plain}
+\newtheorem{example}{Example}[chapter]
+\newtheorem{theorem}{Theorem}[chapter]
+\newtheorem{corollary}[theorem]{Corollary}
+\newtheorem{lemma}[theorem]{Lemma}
+\newtheorem{proposition}[theorem]{Proposition}
+\newtheorem{axiom}[theorem]{Axiom}
+\theoremstyle{definition}
+\newtheorem{definition}[theorem]{Definition}
+\theoremstyle{remark}
+\newtheorem{remark}[theorem]{Remark}
+%\usepackage[centerlast,small,sc]{caption2}
+%\setlength{\captionmargin}{20pt}
+\newcommand{\fref}[1]{Figure~\ref{#1}}
+\newcommand{\tref}[1]{Table~\ref{#1}}
+\newcommand{\eref}[1]{Equation~\ref{#1}}
+\newcommand{\cref}[1]{Chapter~\ref{#1}}
+\newcommand{\sref}[1]{Section~\ref{#1}}
+\newcommand{\aref}[1]{Appendix~\ref{#1}}
+\renewcommand{\topfraction}{0.85}
+\renewcommand{\bottomfraction}{.85}
+\renewcommand{\textfraction}{0.1}
+\renewcommand{\dbltopfraction}{.85}
+\renewcommand{\floatpagefraction}{0.75}
+\renewcommand{\dblfloatpagefraction}{.75}
+\setcounter{topnumber}{9}
+\setcounter{bottomnumber}{9}
+\setcounter{totalnumber}{20}
+\setcounter{dbltopnumber}{9}
+\usepackage{graphicx}
+\usepackage{epstopdf}
+\usepackage[scriptsize]{subfigure}
+\usepackage{booktabs}
+\usepackage{rotating}
+\usepackage{listings}
+\lstset{captionpos=b,
+        frame=tb,
+        basicstyle=\scriptsize\ttfamily,
+        showstringspaces=false,
+        keepspaces=true}
+\lstdefinestyle{matlab} {
+        language=Matlab,
+        keywordstyle=\color{blue},
+        commentstyle=\color[rgb]{0.13,0.55,0.13}\em,
+        stringstyle=\color[rgb]{0.7,0,0} }
+\usepackage[pdfpagemode={UseOutlines},bookmarks=true,bookmarksopen=true,
+   bookmarksopenlevel=0,bookmarksnumbered=true,hypertexnames=false,
+   colorlinks,linkcolor={blue},citecolor={blue},urlcolor={red},
+   pdfstartview={FitV},unicode,breaklinks=true]{hyperref}
+\pdfstringdefDisableCommands{
+   \let\\\space
+}
+\newcommand*{\supervisor}[1]{\def\supname{#1}}
+\newcommand*{\examiner}[1]{\def\examname{#1}}
+\newcommand*{\degree}[1]{\def\degreename{#1}}
+\newcommand*{\reporttype}[1]{\def\reporttype{#1}}
+\newcommand*{\authors}[1]{\def\authornames{#1}}
+\newcommand*{\addresses}[1]{\def\addressnames{#1}}
+\newcommand*{\university}[1]{\def\univname{#1}}
+\newcommand*{\UNIVERSITY}[1]{\def\UNIVNAME{#1}}
+\newcommand*{\department}[1]{\def\deptname{#1}}
+\newcommand*{\DEPARTMENT}[1]{\def\DEPTNAME{#1}}
+\newcommand*{\group}[1]{\def\groupname{#1}}
+\newcommand*{\GROUP}[1]{\def\GROUPNAME{#1}}
+\newcommand*{\faculty}[1]{\def\facname{#1}}
+\newcommand*{\FACULTY}[1]{\def\FACNAME{#1}}
+\newcommand*{\subject}[1]{\def\subjectname{#1}}
+\newcommand*{\keywords}[1]{\def\keywordnames{#1}}
+\supervisor  {}
+\examiner    {}
+\degree      {}
+\authors     {}
+\university  {\texorpdfstring{\href{http://www.soton.ac.uk}
+                {University of Southampton}}
+                {University of Southampton}}
+\UNIVERSITY  {\texorpdfstring{\href{http://www.soton.ac.uk}
+                {UNIVERSITY OF SOUTHAMPTON}}
+                {UNIVERSITY OF SOUTHAMPTON}}
+\department  {\texorpdfstring{\href{http://www.ecs.soton.ac.uk}
+                {School of Electronics and Computer Science}}
+                {School of Electronics and Computer Science}}
+\DEPARTMENT  {\texorpdfstring{\href{http://www.ecs.soton.ac.uk}
+                {SCHOOL OF ELECTRONICS AND COMPUTER SCIENCE}}
+                {SCHOOL OF ELECTRONICS AND COMPUTER SCIENCE}}
+\group       {\texorpdfstring{\href{http://www.isis.ecs.soton.ac.uk}
+                {Image, Speech and Intelligent Systems Group}}
+                {Image, Speech and Intelligent Systems Group}}
+\GROUP       {\texorpdfstring{\href{http://www.isis.ecs.soton.ac.uk}
+                {IMAGE, SPEECH AND INTELLIGENT SYSTEMS GROUP}}
+                {IMAGE, SPEECH AND INTELLIGENT SYSTEMS GROUP}}
+\faculty     {\texorpdfstring{\href{http://www.ecs.soton.ac.uk}
+                {Faculty of Physical Sciences and Engineering}}
+                {Faculty of Physical Sciences and Engineering}}
+\FACULTY     {\texorpdfstring{\href{http://www.ecs.soton.ac.uk}
+                {FACULTY OF PHYSICAL SCIENCES AND ENGINEERING}}
+                {FACULTY OF PHYSICAL SCIENCES AND ENGINEERING}}
+\addresses   {}
+\subject     {}
+\keywords    {}
+\renewcommand\maketitle{
+  \btypeout{Title Page}
+  \hypersetup{pdftitle={\@title}}
+  \hypersetup{pdfsubject=\subjectname}
+  \hypersetup{pdfauthor=\authornames}
+  \hypersetup{pdfkeywords=\keywordnames}
+  \thispagestyle{empty}
+  \begin{titlepage}
+    \let\footnotesize\small
+    \let\footnoterule\relax
+    \let \footnote \thanks
+    \setcounter{footnote}{0}
+    \null\vfil
+    \vskip 60\p@
+    \begin{center}
+      \setlength{\parskip}{0pt}
+      {\large\textbf{\UNIVNAME}\par}
+      {\large \facname \par}
+      \vfill
+      {\large An \reporttype{} submitted for}
+      {\large the award of \par \degreename \par}
+      \vfill
+      {\normalsize Supervisor: \supname \par}
+      {\normalsize Examiner: \examname \par}
+      \vfill
+      \hspace{6mm}\parbox[t][51mm][s]{89mm}{
+        \center
+        \vfill
+        {\large \bf \@title \par}
+        \vfill
+        {\normalsize by \authornames \par}
+        \vfill
+        {\normalsize \@date \par}
+        \vfill
+      }
+      \parbox[t][95mm][s]{89mm}{}
+    \end{center}
+    \par
+    \@thanks
+    \vfil\null
+  \end{titlepage}
+  \setcounter{footnote}{0}%
+  \global\let\thanks\relax
+  \global\let\maketitle\relax
+  \global\let\@thanks\@empty
+  \global\let\@author\@empty
+  \global\let\@date\@empty
+  \global\let\@title\@empty
+  \global\let\title\relax
+  \global\let\author\relax
+  \global\let\date\relax
+  \global\let\and\relax
+  \cleardoublepage
+}
+\newenvironment{abstract}
+{
+  \btypeout{Abstract Page}
+  \thispagestyle{empty}
+  \null\vfil
+  \begin{center}
+    \setlength{\parskip}{0pt}
+    {\normalsize \UNIVNAME \par}
+    \bigskip
+    {\underline{ABSTRACT} \par}
+    \bigskip
+    {\normalsize \FACNAME \par}
+    \bigskip
+    {\normalsize \underline{A \reporttype{} submitted for the award of \degreename}\par}
+    \bigskip
+    {\normalsize\bf \@title \par}
+    \medskip
+    {\normalsize by \authornames \par}
+    \bigskip
+  \end{center}
+}
+{
+  \vfil\vfil\vfil\null
+  \cleardoublepage
+}
+\addtocounter{secnumdepth}{1}
+\setcounter{tocdepth}{6}
+\newcounter{dummy}
+\newcommand\addtotoc[1]{
+\refstepcounter{dummy}
+\addcontentsline{toc}{chapter}{#1}}
+\renewcommand\tableofcontents{
+\btypeout{Table of Contents}
+\begin{spacing}{1}{
+    \setlength{\parskip}{1pt}
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+    \chapter*{\contentsname
+        \@mkboth{
+           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}
+    \@starttoc{toc}
+    \if@restonecol\twocolumn\fi
+   \cleardoublepage
+}\end{spacing}
+}
+\renewcommand\listoffigures{
+\btypeout{List of Figures}
+\begin{spacing}{1}{
+    \setlength{\parskip}{1pt}
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+    \chapter*{\listfigurename
+      \@mkboth{\MakeUppercase\listfigurename}
+              {\MakeUppercase\listfigurename}}
+    \@starttoc{lof}
+    \if@restonecol\twocolumn\fi
+    \cleardoublepage
+}\end{spacing}
+}
+\renewcommand\listoftables{
+\btypeout{List of Tables}
+\begin{spacing}{1}{
+    \setlength{\parskip}{1pt}
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+    \chapter*{\listtablename
+      \@mkboth{
+          \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}
+    \@starttoc{lot}
+    \if@restonecol\twocolumn\fi
+    \cleardoublepage
+}\end{spacing}
+}
+\newcommand\listsymbolname{List of Symbols}
+\usepackage{longtable}
+\newcommand\listofsymbols[2]{
+\btypeout{\listsymbolname}
+\addtotoc{\listsymbolname}
+    \chapter*{\listsymbolname
+      \@mkboth{
+          \MakeUppercase\listsymbolname}{\MakeUppercase\listsymbolname}}
+\begin{longtable}[c]{#1}#2\end{longtable}\par
+    \cleardoublepage
+}
+\newcommand\acknowledgements[1]{
+\btypeout{Acknowledgements}
+\addtotoc{Acknowledgements}
+\thispagestyle{plain}
+\null\vfil
+\vskip 60\p@
+\begin{center}{\Large\bf Acknowledgements \par}\end{center}
+{\normalsize #1}
+\vfil\vfil\null
+\cleardoublepage
+}
+\newcommand\dedicatory[1]{
+\btypeout{Dedicatory}
+\thispagestyle{plain}
+\null\vfil
+\vskip 60\p@
+\begin{center}{\Large \sl #1}\end{center}
+\vfil\null
+\cleardoublepage
+}
+\renewcommand\backmatter{
+  \if@openright
+    \cleardoublepage
+  \else
+    \clearpage
+  \fi
+  \addtotoc{\bibname}
+  \btypeout{\bibname}
+  \@mainmatterfalse}
+\endinput
+%%
+%% End of file `ecsgdp.cls'.
-- 
GitLab