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