From 27b4c78ed38e6e8c99d0215d3d740f049b1e2bf6 Mon Sep 17 00:00:00 2001 From: Starbeamrainbowlabs Date: Fri, 3 May 2019 13:34:58 +0100 Subject: [PATCH] Create short-report example --- build | 7 + report/report.pdf | Bin 49753 -> 49753 bytes short-report/chapters/1-introduction.tex | 7 + short-report/chapters/2-example.tex | 9 + short-report/chapters/7-appendix.tex | 12 + short-report/hull.bst | 1559 ++++++++++++++++++++++ short-report/short-report.bib | 319 +++++ short-report/short-report.pdf | Bin 0 -> 39239 bytes short-report/short-report.tex | 51 + short-report/title_page/UoH_Logo.pdf | Bin 0 -> 51628 bytes short-report/title_page/page.tex | 33 + 11 files changed, 1997 insertions(+) create mode 100644 short-report/chapters/1-introduction.tex create mode 100644 short-report/chapters/2-example.tex create mode 100644 short-report/chapters/7-appendix.tex create mode 100644 short-report/hull.bst create mode 100644 short-report/short-report.bib create mode 100644 short-report/short-report.pdf create mode 100644 short-report/short-report.tex create mode 100644 short-report/title_page/UoH_Logo.pdf create mode 100644 short-report/title_page/page.tex diff --git a/build b/build index cc8b29b..0489ec6 100755 --- a/build +++ b/build @@ -59,10 +59,15 @@ task_setup() { task_render() { _render-latex-pdf "report/report.tex"; + _render-latex-pdf "short-report/short-report.tex"; } # $1 - Location of top-level LaTeX file _render-latex-pdf() { + if [[ ! -f "$1" ]]; then + task_end 1 "Error: Couldn't find '$1'"; + fi + task_begin "Entering directory"; latex_filename="$(basename "$1")"; latex_directory="$(dirname "$1")"; @@ -98,6 +103,8 @@ _render-latex-pdf() { pdflatex --output-directory=. "${latex_filename}"; set +e; task_end $? "Error: Failed to build report"; + + cd -; } diff --git a/report/report.pdf b/report/report.pdf index b9ac7d1e7d1188809b3651235491d0cf940570d0..c4977183d1bf39628432d505b09591fb5756f08a 100644 GIT binary patch delta 100 zcmccF!hExZd4u;B7Go1*gUS9|1Q4Bae^%?->Qja&^} Y&0Sn99WC7~ob42B2q@VsaL|(x0Lu&;GXMYp delta 100 zcmccF!hExZd4u;B79&$blga*D> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + eid + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + add.blank +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{ \textit{" swap$ * "})\/}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edition" } + +FUNCTION {bbl.volume} +{ "volume" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "number" } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.chapter} +{ "chapter" } + +FUNCTION {bbl.techrep} +{ "Technical Report" } + +FUNCTION {bbl.dissertation} +{ "Dissertation" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +INTEGERS { nameptr namesleft numnames } + + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, jj}{, f.}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + "\&" + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.note} +{ + url empty$ + 'skip$ + { "\urlprefix\url{" url * "}" * output } + if$ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + "\&" + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + " (" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +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$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + n.dashify + } + { + } + if$ + "pages" bibinfo.check + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + "(" swap$ * ") " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + add.blank + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.sentence + format.number.series output + format.edition output + format.publisher.address output + } + { + new.sentence + format.book.crossref output.nonnull + } + if$ + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.sentence + format.number.series output + format.edition output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.sentence + format.book.crossref output.nonnull + } + if$ + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.edition output + format.chapter.pages output + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + new.sentence + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.sentence + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {dissertation} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.sentence + bbl.dissertation format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + new.sentence + howpublished "howpublished" bibinfo.check output + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.sentence + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {presentation} +{ output.bibitem + format.authors output + author format.key output + format.title output + new.sentence + format.organization.address "organization and address" output.check + month "month" output.check + year "year" output.check + format.note output + new.sentence + type missing$ 'skip$ + {"(" type capitalize * ")" * output} + if$ + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + new.sentence + format.tr.number emphasize output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { " \& " * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" 't := } + 'skip$ + if$ + t sortify * + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + "a" chr.to.int$ #1 - 'last.extra.num.blank := + last.extra.num.blank 'last.extra.num.extended := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num "z" chr.to.int$ > + { "a" chr.to.int$ 'last.extra.num := + last.extra.num.extended #1 + 'last.extra.num.extended := + } + 'skip$ + if$ + last.extra.num.extended last.extra.num.blank > + { last.extra.num.extended int.to.chr$ + last.extra.num int.to.chr$ + * 'extra.label := } + { last.extra.num int.to.chr$ 'extra.label := } + if$ + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ + "\expandafter\ifx\csname url\endcsname\relax" + write$ newline$ + " \def\url#1{{\tt #1}}\fi" + write$ newline$ + "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `hull.bst'. diff --git a/short-report/short-report.bib b/short-report/short-report.bib new file mode 100644 index 0000000..078d1ea --- /dev/null +++ b/short-report/short-report.bib @@ -0,0 +1,319 @@ +ARTICLE{Canny1986, + author={J. Canny}, + journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, + title={A Computational Approach to Edge Detection}, + year={1986}, + volume={8}, + number={6}, + pages={679-698}, +} + +Book{Stroustrup2013, + author = {Bjarne Stroustrup}, + title = {The C++ Programming Language}, + publisher = {Addison-Wesley}, + year = {2013}, + edition = {4th}, +} + +inproceedings{Kazhdan2006, + author = {Kazhdan, Michael and Bolitho, Matthew and Hoppe, Hugues}, + title = {Poisson Surface Reconstruction}, + booktitle = {Proceedings of the Fourth Eurographics Symposium on Geometry Processing}, + series = {SGP '06}, + year = {2006}, + location = {Cagliari, Sardinia, Italy}, + pages = {61--70}, + publisher = {Eurographics Association}, +} + +Misc{Vulkan2016, + author = {{The Khronos Vulkan Working Group}}, + title = {Vulkan 1.0.31 - A Specification}, + howpublished = {Available online: \url{https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html}} [Accessed 15/10/2016]}, + year = {2016}, +} + +Misc{Hull2016HarvardRef, + author = {{University of Hull}}, + title = {Harvard Referencing}, + howpublished = {Available online: \url{http://www2.hull.ac.uk/lli/referencing/harvard.html}} [Accessed 15/10/2016]}, + year = {2016}, +} + +@Misc{Atom2018, + author = {{Github, Inc.}}, + year = {2018}, + title = {Atom}, + howpublished = {Available online; \url{https://atom.io/} [Accessed 2/05/2018]} +} + +@Misc{Bison2015, + author = {{Free Software Foundation, Inc.}}, + year = {2015}, + title = {GNU Bison Manual}, + howpublished = {Available online: \url{https://www.gnu.org/software/bison/manual/} [Accessed 19/04/2018]} +} + +@Misc{BroMonitor2018, + author = {{Bro Project Team}}, + year = {2018}, + title = {The Bro Network Security Monitor}, + howpublished = {Available online: \url{https://www.bro.org/} [Accessed 17/01/2018]} +} + +@Misc{ByronJ2017, + author = {{Byron, J.}}, + year = {2017}, + title = {MIDI Tutorial - learn.sparkfun.com}, + howpublished = {Available online: \url{https://learn.sparkfun.com/tutorials/midi-tutorial/all} [Accessed 18/01/2018]} +} + +@article{Cole1988, + author = { W. A. Macdonald and B. L. Cole }, + title = {Evaluating the role of colour in a flight information cockpit display}, + journal = {Ergonomics}, + volume = {31}, + number = {1}, + pages = {13-37}, + year = {1988}, + publisher = {Taylor & Francis}, + doi = {10.1080/00140138808966646}, + note ={PMID: 3359985}, + URL = {https://doi.org/10.1080/00140138808966646}, + eprint = {https://doi.org/10.1080/00140138808966646} +} + +@Misc{DaveMarshall2001, + author = {Dave Marshall}, + title = {MIDI Messages}, + year = {2001}, + howpublished = {Available online: \url{https://users.cs.cf.ac.uk/Dave.Marshall/Multimedia/node158.html} [Accessed 18/01/2018]} +} + +@Book{DickGrune2008, + author = {Dick Grune and Ceriel J.H. Jacobs}, + title = {Parsing Techniques}, + publisher = {Springer US}, + year = {2008}, + edition = {2nd}, + isbn = {9781441919014} +} + +@mastersthesis{Dixon2012, + author = {{Dixon, J. W. D.}}, + title = {Sound Based Network Analysis Tool}, + school = {University of Hull}, + year = {2012}, + howpublished = {Available online: \url{https://hydra.hull.ac.uk/assets/hull:6391a/content} [Accessed 10/13/2017]} +} + +@Book{DragonBook2006, + author = {Aho, Alfred V. and Lam, Monica S. and Sethi, Ravi and Ullman, Jeffrey D.}, + title = {Compilers: Principles, Techniques, and Tools}, + edition = {2nd}, + year = {2006}, + isbn = {0321486811}, + publisher = {Addison-Wesley Longman Publishing Co., Inc.}, +} + +@Misc{FluidSynth2017, + author = "Tom Moebert and Contributors", + title = {FluidSynth | Software synthesizer based on the SoundFont 2 specifications}, + year = {2017}, + howpublished = {Available online: \url{http://www.fluidsynth.org/} [Accessed 13/10/2017]} +} + +@manual{grep, + title = {{GREP(1) - User Commands}}, + author = "Free Software Foundation, Inc.", + edition = {3.1}, + year = {2017} +} + +@manual{iftop, + title = {{IFTOP(8) - System Manager's Manual}}, + author = {Paul Warren}, + edition = {1.0pre4}, + year = {2014} +} + +@Misc{IpsumDump2017, + author = {Eddie Kohler}, + year = {2017}, + title = {Ipsumdump and Ipaggcreate}, + howpublished = {Available online: \url{https://web.archive.org/web/20170909151053/http://www.read.seas.harvard.edu/~kohler/ipsumdump/} [Accessed 17/01/2018]} +} + +@Misc{Naudio2018, + author = "Mark Heath and Contributors", + year = {2018}, + title = {naudio/NAudio: Audio and MIDI library for .NET}, + howpublished = {Available online: \url{https://github.com/naudio/NAudio} [Accessed 17/01/2018]} +} + +@Misc{Kampe2012, + author = {{Mark Kampe}}, + year = {2012}, + title = {Guidelines for Command Line Interface Design}, + howpublished = {Available online: \url{http://www.cs.pomona.edu/classes/cs181f/supp/cli.html} [Accessed 27/04/2018]} +} + +@manual{man, + title = {{MAN(1) - Manual pager utils}}, + author = "Colin Watson and Contributors", + edition = {2.7.6.1}, + year = {2016} +} + +@Misc{ManagedMidi2018, + author = {{Atsushi Eno}}, + title = {atsushieno/managed-midi: Cross-platform MIDI processing library for mono and .NET}, + year = {2018}, + howpublished = {Available online: \url{https://github.com/atsushieno/managed-midi/} [Accessed 17/01/2018]} +} + +@Misc{McGooganEtAl2017, + author = "McGoogan, Cara and Titcomb, J. and Krol, C.", + year = {2017}, + title = {What is WannaCry and how does ransomware work?}, + howpublished = {Available online: \url{http://www.telegraph.co.uk/technology/0/ransomware-does-work/} [Accessed 13/10/2017]} +} + +@Misc{MidiAssociation2017, + author = {{The MIDI Association}}, + year = {2017}, + title = {About MIDI-Part 3:MIDI Messages}, + howpublished = {Available online: \url{https://www.midi.org/articles/about-midi-part-3-midi-messages} [Accessed 07/05/2018]} +} + +@Misc{MidiAssociationSummary2017, + author = {{The MIDI Association}}, + year = {2017}, + title = {Summary of MIDI Messages}, + howpublished = {Available online: \url{https://www.midi.org/specifications/item/table-1-summary-of-midi-message} [Accessed 07/05/2018]} +} + +@Misc{MidiToolkit2007, + author = {{Leslie Sanford}}, + year = {2007}, + title = {C\# MIDI Toolkit - CodeProject}, + howpublished = {Available online: \url{https://www.codeproject.com/Articles/6228/C-MIDI-Toolkit} [Accessed 17/01/2018]} +} + +@dissertation{Mulholland2013, + author = {{Mulholland, D. C.}}, + year = {2013}, + title = {Sound Based Network Intrusion Detection.}, + school = {The University of Hull}, + howpublished = {Available online: \url{https://hydra.hull.ac.uk/assets/hull:7736a/content} [Accessed 13/10/2017]} +} + +@Misc{PacketNet2018, + author = "Chris Morgan and Contributors", + year = {2017}, + title = {antmicro/Packet.Net: Forked from \url{http://sourceforge.net/projects/packetnet/}}, + howpublished = {Available online: \url{https://github.com/antmicro/Packet.Net} [Accessed 17/01/2018]} +} + +@Misc{Pygame2018, + author = {{Pygame contributors}}, + year = {2018}, + title = {{Pygame Front Page — Pygame v1.9.2 documentation}}, + howpublished = {Available online: \url{http://www.pygame.org/docs/} [Accessed 14/01/2018]} +} + +@Misc{Roos2008, + author = {{Roos, D.}}, + year = {2008}, + title = {How MIDI Works}, + howpublished = {Available online: \url{http://entertainment.howstuffworks.com/midi1.htm} [Accessed 13/10/2017]} +} + +@Misc{SharpPcap2018, + author = "Chris Morgan and Contributors", + year = {2017}, + title = {chmorgan/sharppcap: Official repository - Fully managed, cross platform (Windows, Mac, Linux) .NET library for capturing packets}, + howpublished = {Available online: \url{https://github.com/chmorgan/sharppcap} [Accessed 17/01/2018]} +} + +@Misc{Snort2018, + author = {{The Snort Project}}, + year = {2018}, + title = {{Snort - Network Intrusion Detection \& Prevention System}}, + howpublished = {Available online: \url{https://www.snort.org/} [Accessed 17/01/2018]} +} + +@manual{tcpdump, + title = {{TCPDUMP(8) - System Manager's Manual}}, + author = {tcpdump.org}, + edition = {4.9.2}, + year = {2017} +} + +% The url is here is causing an error because of the tilde +% TODO: Ask Brian about it +@Misc{TheodoreNorvell1999, + author = {Theodore Norvell}, + year = {1999}, + title = {Parsing Expressions by Recursive Descent}, + howpublished = {Available online: \url{https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm} [Accessed 19/04/2018]} +} + +@Misc{TiMidity2004, + author = {{Masanao Izumo et al.}}, + year = {2004}, + title = {TiMidity++}, + howpublished = {Available online: \url{http://timidity.sourceforge.net/} [Accessed 17/01/2018]} +} + +@Misc{TonalSoft2005, + author = {{Tonalsoft Inc.}}, + year = {2005}, + title = {Midi Note-on Message, Midi Note-off Message}, + howpublished = {Available online: \url{http://www.tonalsoft.com/pub/pitch-bend/pitch.2005-08-31.17-00.aspx} [Accessed 18/01/2018]} +} + +@Misc{USCERT2016, + author = {{US-CERT}}, + year = {2016}, + title = {OpenSSL 'Heartbleed' vulnerability (CVE-2014-0160)}, + howpublished = {Available online: \url{https://www.us-cert.gov/ncas/alerts/TA14-098A} [Accessed 13/10/2017]} +} + +@dissertation{VictorvanderHelm2016, + author = {{Victor van der Helm}}, + year = {2016}, + title = {Sound Based Network Intrusion System}, + school = {The University of Hull} +} + +@Misc{VisualStudioCode2018, + author = {{Microsoft Corporation}}, + year = {2018}, + title = {Visual Studio Code - Code Editing. Redefined}, + howpublished = {Available online: \url{https://code.visualstudio.com/} [Accessed 02/05/2018]} +} + +@dissertation{Walsh2010, + author = {{Walsh, S. K.}}, + year = {2010}, + title = {Sound Based Network Intrusion Detection}, + school = {The University of Hull}, + howpublished = {Available online: \url{https://hydra.hull.ac.uk/assets/hull:2817a/content} [Accessed +13/10/2017]} +} + +@Misc{Wireshark2018, + author = {{Wireshark Foundation}}, + year = {2018}, + title = {Wireshark · Go Deep.}, + howpublished = {Available online: \url{https://www.wireshark.org/} [Accessed 18/01/2018]} +} + +@Misc{WiresharkUsersGuide2014, + author = {{Wireshark Foundation}}, + year = {2014}, + title = {Wireshark User’s Guide}, + howpublished = {Available online: \url{https://www.wireshark.org/download/docs/user-guide-a4.pdf} [Accessed 18/01/2018]} +} diff --git a/short-report/short-report.pdf b/short-report/short-report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..560d4b3dc7979ce6e8d66d44bea60e31dd4ea434 GIT binary patch literal 39239 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 z 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