summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/adfathesis
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/adfathesis
Initial commit
Diffstat (limited to 'macros/latex/contrib/adfathesis')
-rw-r--r--macros/latex/contrib/adfathesis/README58
-rw-r--r--macros/latex/contrib/adfathesis/adfathesis.bst1327
-rw-r--r--macros/latex/contrib/adfathesis/adfathesis.dtx861
-rw-r--r--macros/latex/contrib/adfathesis/adfathesis.ins31
-rw-r--r--macros/latex/contrib/adfathesis/adfathesis.pdfbin0 -> 191570 bytes
-rw-r--r--macros/latex/contrib/adfathesis/template.tex78
6 files changed, 2355 insertions, 0 deletions
diff --git a/macros/latex/contrib/adfathesis/README b/macros/latex/contrib/adfathesis/README
new file mode 100644
index 0000000000..6f454d59fc
--- /dev/null
+++ b/macros/latex/contrib/adfathesis/README
@@ -0,0 +1,58 @@
+Adfathesis
+
+This class modifies the standard report class to meet the requirements
+of the Australian Defence Force Academy (a college of the University
+of New South Wales) as given in the `University College Handbook'.
+This class is ultimately derived from the old suthesis style.
+
+The main changes in this class are firstly to use space and a half
+interline spacing, except in footnote, figure and table environments
+where normal spacing is used. Secondly the chapter and section
+headings are changed to be less `shouting' than the standard LaTeX
+designs. Thirdly less profligate use was made of vertical spacing.
+There is more information in a short document appended to the end of
+adfathesis.cls (I have not progressed to using a .dtx).
+
+Since two sided theses are now accepted for theses, I used the
+adfathesis class with the following options:
+
+\documentclass[a4paper,12pt,openright,twoside]{adfathesis}
+
+As supplied adfathesis automatically uses the Harvard package and the
+supplied `adfathesis.bst' is designed to work with the Harvard
+package. If you wish to use a different bst, such as `plain.bst',
+this will not be appropriate. There is a class option `normalbib'
+which stops the automatic use of the Harvard package, and hence allows
+use of either the standard LaTeX bibliography style or an alternative
+package.
+
+Version 2.3
+
+Changes: \cleardoublepage modified to ensure that blank pages use the
+empty pagestyle (from the fancyhdr documentation). Changes to default
+penalty values affecting widows/orphans, following suggestions in a
+post by Michael Downs on comp.text.tex. The table and table*
+environments are defined to automatically swap the settings for
+abovecaptionskip and belowcaptionskip, so table captions have the
+correct spacing when above the table.
+
+Version 2.4
+
+Changes: added an option `honours' that changes the titlepage to one
+more appropriate to a Honours report. For this option you should set
+\degreetype in the preamble to the appropriate faculty, it defaults to
+`Science'. Improved vertical spacing around chapter headings.
+
+The files supplied are as follows:
+
+ adfathesis.bst
+ adfathesis.cls
+ adfathesis.sty
+ 00readme.txt
+ template.tex
+
+Version 2.5
+
+Changes: modified to use docstrip. No other changes were made.
+
+Stephen Harker sjh@ph.adfa.edu.au
diff --git a/macros/latex/contrib/adfathesis/adfathesis.bst b/macros/latex/contrib/adfathesis/adfathesis.bst
new file mode 100644
index 0000000000..502615fda1
--- /dev/null
+++ b/macros/latex/contrib/adfathesis/adfathesis.bst
@@ -0,0 +1,1327 @@
+% BibTeX standard bibliography style `adfathesis' (one of the harvard family)
+ % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
+
+% ACKNOWLEDGEMENT:
+% This document is a modified version of jphysicsB.bst which in turn is a
+% modified version of alpha.bst to which it owes much of its functionality.
+
+% Modified by Stephen Harker (sjh@phadfa.ph.adfa.edu.au) to include
+% article and incollection titles, parenthesis for the year in the label,
+% et al. in italic. Designed for thesis style at ADFA.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ URL
+ volume
+ year
+ }
+ { field.used etal.allowed etal.required} %%%XXX change
+ { extra.label sort.label list.year }
+
+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 f }
+
+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 {item.check}
+{ 't :=
+ empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {embolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {quote}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "`" swap$ * "'" * }
+ if$
+}
+
+FUNCTION {write.url}
+{ URL empty$
+ { skip$ }
+ { "\newline\harvardurl{" URL * "}" * write$ newline$ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ 'f :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr f format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " {\em et~al.}" * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{ f{~}}" author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { "{vv~}{ll}{, jj}{ f{~}}" editor format.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "" }
+ { "{f{~}}{ vv~}{ ll}{, jj}" editor format.names
+ editor num.names$ #1 >
+ { ", eds" * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ 'title
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "Vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " {\em in} " * series quote * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edn" * }
+ { edition "t" change.case$ " edn" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume embolden field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ",~" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "{\em in} " booktitle emphasize * }
+ { "{\em in} " format.editors.reverse * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in {\em " journal * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "Vol." volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/} \cite{" * crossref * "}" *}
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+ }
+ { " \citeasnoun{" * crossref * "}" * }
+ if$
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in {\em " booktitle * "\/}" * " \cite{" * crossref * "}" *}
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+ }
+ { "{\em in} \citeasnoun{" crossref * "}" * }
+ if$
+
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { ind tsslen }
+
+STRINGS { tss ret rss istr }
+
+FUNCTION {replace.substring}{
+ 'rss :=
+ 'tss :=
+ 'istr :=
+ "" 'ret :=
+ tss text.length$ 'tsslen :=
+ #1 'ind :=
+ { istr ind tsslen substring$ "" = not }
+ { istr ind tsslen substring$ tss =
+ { ret rss * 'ret :=
+ ind tsslen + 'ind :=
+ }
+ { ret istr ind #1 substring$ * 'ret :=
+ ind #1 + 'ind :=
+ }
+ if$
+ }
+ while$
+ ret
+}
+
+FUNCTION {format.lab.names.abbr}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #2 >
+ { s #1 "{vv~}{ll}" format.name$ " {\em et~al.}" * }
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { s #1 "{vv~}{ll}" format.name$ " {\em et~al.}" * }
+ { s #1 "{vv~}{ll}" format.name$ " \harvardand\ " *
+ s #2 "{vv~}{ll}" format.name$ *
+ }
+ if$
+ }
+ if$
+ }
+ { s #1 "{vv~}{ll}" format.name$ }
+ if$
+}
+
+FUNCTION {format.lab.names.full}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { t "others" =
+ { " {\em et~al.}" * }
+ { " \harvardand\ " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+INTEGERS { author.field editor.field organization.field title.field key.field }
+
+FUNCTION {init.field.constants}
+{ #0 'author.field :=
+ #1 'editor.field :=
+ #2 'organization.field :=
+ #3 'title.field :=
+ #4 'key.field :=
+}
+
+FUNCTION {make.list.label}
+{ author.field field.used =
+ { format.authors }
+ { editor.field field.used =
+ { format.editors }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.full.label}
+{ author.field field.used =
+ { author format.lab.names.full }
+ { editor.field field.used =
+ { editor format.lab.names.full }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ { "Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {make.abbr.label} %%%XXX change
+{
+ etal.allowed
+ { author.field field.used =
+ { author format.lab.names.abbr }
+ { editor.field field.used =
+ { editor format.lab.names.abbr }
+ { organization.field field.used =
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ { title.field field.used =
+ { format.btitle }
+ { key.field field.used =
+ { key #3 text.prefix$ }
+ {"Internal error :001 on " cite$ * " label" * warning$ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ { make.full.label }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\harvarditem{" write$
+ make.abbr.label write$
+ "}{" write$
+ list.year write$
+ "}{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {list.label.output}
+{ make.list.label " " * write$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ new.block
+ format.title "title" output.check
+ crossref missing$
+ { journal emphasize "journal" duplicate$ item.check
+ " " * format.vol.num.pages * output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {book}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ new.block
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ new.block
+ title.field field.used =
+ { skip$ }
+ { format.title quote "title" output.check }
+ if$
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ new.block
+ author empty$
+ { editor "author and editor" item.check }
+ { crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ format.edition output
+ }
+ if$
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ new.block
+ author "author" item.check
+ new.block
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ new.block
+ author "author" item.check
+ new.block
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ }
+ { organization output
+ publisher output
+ address output.nonnull
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ new.block
+ title.field field.used =
+ { skip$ }
+ { format.btitle "title" output.check }
+ if$
+ format.edition output
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ title.field field.used =
+ { skip$ }
+ { format.title quote output }
+ if$
+ howpublished output
+ new.block
+ note output
+ fin.entry
+ write.url
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { title "title" output.check }
+ if$
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { skip$ }
+ { organization output
+ }
+ if$
+ publisher output
+ }
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ address output.nonnull
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ new.block
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+ write.url
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ list.label.output
+ " \harvardyearleft " list.year * "\harvardyearright " * output.nonnull
+ author "author" item.check
+ title.field field.used =
+ { skip$ }
+ { format.title "title" output.check }
+ if$
+ new.block
+ note "note" output.check
+ fin.entry
+ write.url
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+EXECUTE {init.field.constants}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+FUNCTION {sortify.names}
+{ " \harvardand\ " " " replace.substring
+ " et~al." " zzz" replace.substring
+ sortify
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { title.field 'field.used := }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { author.field 'field.used := }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { title.field 'field.used := }
+ { organization.field 'field.used := }
+ if$
+ }
+ { key.field 'field.used := }
+ if$
+ }
+ { editor.field 'field.used := }
+ if$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {calc.label} %%%XXX change
+{ make.abbr.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ year field.or.null purify$ #-1 #4 substring$ sortify
+ *
+ 'sort.label :=
+}
+
+FUNCTION {preliminaries} %%%XXX change
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ author.field field.used = %%%XXX change
+ {
+ author num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ {
+ editor.field field.used =
+ {
+ editor num.names$ #2 >
+ { #1 }
+ { #0 }
+ if$
+ }
+ { #0 }
+ if$
+ 'etal.required :=
+ }
+ if$
+ #1 'etal.allowed :=
+}
+
+FUNCTION {first.presort}
+{ calc.label
+ sort.label
+ title.field field.used =
+ { skip$ }
+ { " "
+ *
+ make.list.label sortify.names
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {preliminaries}
+
+ITERATE {first.presort}
+
+SORT
+
+STRINGS { last.sort.label next.extra last.full.label}
+
+INTEGERS { last.extra.num last.etal.allowed}
+
+FUNCTION {initialize.confusion}
+{ #0 int.to.chr$ 'last.sort.label :=
+ #0 int.to.chr$ 'last.full.label :=
+ #1 'last.etal.allowed :=
+}
+
+FUNCTION {confusion.pass}
+{ last.sort.label sort.label =
+ { last.etal.allowed
+ { last.full.label make.full.label sortify.names =
+ { skip$ }
+ { #0 'etal.allowed :=
+ #0 'last.etal.allowed :=
+ }
+ if$
+ }
+ { #0 'etal.allowed := }
+ if$
+ }
+ { sort.label 'last.sort.label :=
+ make.full.label sortify.names 'last.full.label :=
+ #1 'last.etal.allowed :=
+ }
+ if$
+}
+
+EXECUTE {initialize.confusion}
+
+ITERATE {confusion.pass}
+
+EXECUTE {initialize.confusion}
+
+REVERSE {confusion.pass}
+
+FUNCTION {initialize.last.extra.num}
+{ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ year empty$
+ { "n.d." extra.label emphasize * 'list.year := }
+ { year extra.label emphasize * 'list.year := }
+ if$
+ extra.label 'next.extra :=
+}
+
+ITERATE {first.presort}
+
+SORT
+
+EXECUTE {initialize.last.extra.num}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {second.presort}
+{ make.list.label
+ title.field field.used =
+ { sort.format.title }
+ { sortify.names }
+ if$
+ " "
+ *
+ list.year field.or.null sortify
+ *
+ " "
+ *
+ title.field field.used =
+ { skip$ }
+ { title field.or.null
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {second.presort}
+
+SORT
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { "\harvardpreambledefs{%" write$ newline$
+ preamble$ write$ "}" write$ newline$
+ "\harvardpreambletext{%" write$ newline$
+ preamble$ write$ "}" write$ newline$ }
+ if$
+ "\begin{thebibliography}{xx}" write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/macros/latex/contrib/adfathesis/adfathesis.dtx b/macros/latex/contrib/adfathesis/adfathesis.dtx
new file mode 100644
index 0000000000..31e1c20839
--- /dev/null
+++ b/macros/latex/contrib/adfathesis/adfathesis.dtx
@@ -0,0 +1,861 @@
+% \iffalse meta comment
+% File: adfathesis.dtx
+%
+% ADFATHESIS.CLS by Stephen Harker, Dept. of Physics, ADFA: 12-JUN-94
+% These macros are placed in the public domain. They may be freely
+% transmitted, reproduced, or modified. No rights are reserved.
+%
+% This is based on the Monash University version of SUTHESIS.STY called
+% MONTHESIS.STY by Tony McGrath, Dept. of Physics, Monash Uni: 5-NOV-87
+% and the ADFATHESIS.STY that is/was on ccadfa.cc.adfa.oz.au
+%
+% PhD thesis style --- modifications to the REPORT class:
+% Style information from the `1993 Handbook' for the University College
+% known as the `Blue Book', see pages 168 to 170. Updated for 1997.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%
+% \fi
+% \CheckSum{1075}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesClass{adfathesis}
+%<package> [2004/04/16 \space v2.50 \space ADFA thesis class]
+%
+%<*driver>
+\documentclass{ltxdoc}
+ \title{The \texttt{adfathesis} class}
+ \author{Stephen Harker}
+ \date{Printed \today}
+ \MakeShortVerb{\=}
+ \MakeShortVerb{\"}
+ \newcommand{\bs}{\char '134 } % A backslash character for \tt font
+\begin{document}
+ \maketitle
+ \DeleteShortVerb{\|}
+ \DocInput{adfathesis.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \begin{abstract}
+% This article describes the \textsf{adfathesis} class, which is designed as
+% the ADFA
+% PhD thesis style --- a modification to the \textsf{report} class:
+% Style information from the `1993 Handbook' for the University College
+% known as the `Blue Book', see pages 168 to 170. Updated for 1997.
+% This version is modified only to use the \textsf{docstrip} mechanism.
+% \end{abstract}
+%
+% \section{Introduction}
+%
+% The adfathesis class is based on the Monash University version of
+% \textsf{suthesis.sty} called
+% \textsf{monthesis.sty} by Tony McGrath, Dept. of Physics, Monash Uni: 5-NOV-87
+% and the \textsf{adfathesis.sty} that is/was on ccadfa.cc.adfa.oz.au.
+%
+% Some basic information on
+% the use of \textsf{adfathesis} follows. This class file can only be used
+% under \LaTeXe. Firstly an example of use:
+
+% \begin{quote}
+% \small
+% \begin{verbatim}
+% \documentclass[a4paper,12pt,openright,twoside]{adfathesis}
+
+% % Control which chapters are LaTeX'd in this run with
+
+% \includeonly{chapter1,chapter2,chapter3}
+
+% \title{How to Write Theses\\
+% With Two Line Titles}
+% \authornameonly{John Henry Candidate}
+% \author{\Authornameonly \\ B.Sc.(Hons)}
+% \copyrightfalse % No copyright page
+% \figurespagefalse % No List of Figures
+% \tablespagefalse % No List of Tables
+
+% \begin{document}
+% \beforepreface
+% \prefacesection{Abstract}
+% This thesis tells you all you need to know about...
+% \declaration % Declaration page
+% \prefacesection{Acknowledgements}
+% I would like to thank...
+% \afterpreface
+
+% \include{chapter1} % Introduction
+% ...
+% \include{chapter6} % Conclusions
+% ...
+% \appendix
+% \include{appendix1} % A Long Proof
+% ...
+% \clearpage % Needed to get page
+% \addcontentsline{toc}{chapter}{References} % in TOC correct.
+% \bibliographystyle{adfathesis}
+% \bibliography{mybib}
+% \end{document}
+% \end{verbatim}
+% \end{quote}
+
+% \section{Documentation:}
+% This class modifies the standard report class
+% to meet the \textsc{adfa} requirements given in the `\emph{University
+% College Handbook}'. It sets the margins, interline spacing, the
+% figure and table numbering style, and disallows page breaks at
+% hyphens.
+
+% The `\texttt{\bs{}beforepreface}' command creates the title page, a
+% copyright page (optionally), and the table of contents. Then the user
+% should put preface section(s), using the command
+% `\texttt{\bs{}prefacesection\{}\emph{Section Title}\texttt{\}}', this
+% should include the declaration page. The tables of tables and figures
+% are then produced by the `\texttt{\bs{}afterpreface}' command, which
+% also sets things up to start the main body (on arabic page~1).
+
+% The following commands can control what goes in the front matter
+% material:
+% \begin{description}
+% \small
+% \item{\ttfamily\bs{}title\{\emph{thesis title}\}} Title of the thesis.
+% \item{\ttfamily\bs{}authornameonly\{\emph{name}\}} The author's name
+% without degrees earned, needed for the declaration.
+% \item{\ttfamily\bs{}author\{\emph{name}\}} The author's name with
+% degrees earned, for the titlepage.
+% \item{\ttfamily\bs{}dept\{\emph{department}\}} The default value is
+% School of `\emph{Physics}'.
+% \item{\ttfamily\bs{}thesistype\{\emph{Type of thesis}\}} The default
+% value is `\emph{Doctor of Philosophy}', for an Honours report this should
+% be the faculty (e.g.\ `\emph{Science}').
+% \item{\ttfamily\bs{}degreetype\{\emph{Faculty for degree}\}} The default
+% value is `\emph{Science}', used for Honours only.
+% \item{\ttfamily\bs{}submitdate\{\emph{date}\}} Month and year in which
+% submitted; date \LaTeX{}'d if omitted.
+% \item{\ttfamily\bs{}copyrightyear\{\emph{year}\}} Year degree
+% conferred, or year \LaTeX{}'d if omitted (next year if in December).
+% \item{\ttfamily\bs{}declaration} Produce the required declaration that
+% the thesis is all the author's own work.
+% \item{\ttfamily\bs{}copyrighttrue} Produce or
+% \texttt{\bs{}copyrightfalse} don't produce a `\emph{copyright}' page
+% (true by default).
+% \item{\ttfamily\bs{}figurespagetrue} Produce or
+% \texttt{\bs{}figurespagefalse} don't produce a `\emph{List of
+% Figures}' page (true by default).
+% \item{\ttfamily\bs{}tablespagetrue} Produce or
+% \texttt{\bs{}tablespagefalse} don't produce a `\emph{List of
+% Tables}' page (true by default).
+% \end{description}
+
+% This class uses space and a half interline spacing, except in
+% footnote, figure and table environments where normal spacing is used.
+% The command: `\texttt{\bs{}linespread\}\-\{1.655\}}' can be used to
+% change this (use whatever you want instead of 1.655). For 12 point
+% Computer Modern fonts 1.241 corresponds to space and a half, and 1.655
+% to double spacing. This command should be given in the preamble
+% (i.e.\ before the `\texttt{\bs{}begin\{document\}}').
+
+% The example given shows the \textsf{12pt} option being used. This is
+% required by the 1997 handbook, but may be omitted (at your own risk)
+% to get smaller print. There are three options which may be declared
+% in \texttt{\bs{}documentclass[a4paper,12pt]\{adfathesis\}}:
+% \begin{itemize}
+% \item \texttt{draft} which changes the pagestyle to include the date
+% on the page header.
+% \item \texttt{normalbib} which stops the document using the
+% \textsf{Harvard} style, and hence allows use of either the standard
+% \LaTeX\ bibliography style or an alternative package. The supplied
+% \textsf{adfathesis.bst} may not be appropriate in this case. so you
+% could use an alternative such as \textsf{plain.bst}.
+% \item \textsf{honours} which changes the titlepage to one more
+% appropriate to an Honours report.
+% \end{itemize}
+
+% To get the correct page number for the bibliography in the table of
+% contents you need to put a `\texttt{\bs{}clearpage}' command before
+% the `\texttt{\bs{}addcontentsline}' command. The thickness of the
+% rules used for the chapter headings is controlled by
+% `\texttt{\bs{}chaprule}' and can be set to another value, say 0~pt, by
+% the command `\texttt{\bs{}setlength\{\bs{}chaprule\}\{0pt\}}' in the
+% preamble. There is a maximum value of 6~pt for
+% `\texttt{\bs{}chaprule}'.
+%
+% \StopEventually
+%
+% \section{The code\label{code}}
+% The current version is defined at the top of the file looking
+% something like this
+% \begin{macrocode}
+%<*package>
+%\NeedsTeXFormat{LaTeX2e}
+%\ProvidesPackage{adfathesis}
+% [\filedate\space version\fileversion]
+% \end{macrocode}
+%
+% First we set up some new flags:
+% A new flag for draft printing,
+% at this stage all I do is reset the page style.
+% This is not true by default, must be changed in the thesis BASE file
+% A new flag whether to use the Harvard bib package?
+% This is true by default, must be changed in the thesis BASE file
+% A new flage whether a Honours report rather than PhD or Masters thesis?
+% This is not true by default, must be changed in the thesis BASE file
+% \begin{macrocode}
+\newif\ifATdr@ft
+\ATdr@ftfalse
+\newif\ifAT@harvbib
+\AT@harvbibtrue
+\newif\ifATh@nours
+\ATh@noursfalse
+% \end{macrocode}
+%
+% Now we define the default values for the flags, and
+% make 12 point text the default.
+%
+% \begin{macrocode}
+\newcommand{\ptsize}{}
+\DeclareOption{draft}
+ {\ATdr@fttrue
+ \PassOptionsToClass{draft}{report}}
+\DeclareOption{normalbib}
+ {\AT@harvbibfalse}
+\DeclareOption{harvard}
+ {\AT@harvbibtrue}
+\DeclareOption{honours}
+ {\ATh@nourstrue}
+\DeclareOption{10pt}{\renewcommand{\ptsize}{10pt}}
+\DeclareOption{11pt}{\renewcommand{\ptsize}{11pt}}
+\DeclareOption{12pt}{\renewcommand{\ptsize}{12pt}}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
+\ExecuteOptions{12pt}
+% \end{macrocode}
+% Now process the options and load the standard report class. We merely
+% make modifications to the report classs.
+%
+% \begin{macrocode}
+\ProcessOptions\relax
+\LoadClass[a4paper,\ptsize]{report}
+\ifAT@harvbib\IfFileExists{harvard.sty}{\RequirePackage{harvard}}%
+ {\ClassError{\filename}{%
+ The Harvard package was not found.}{%
+ The Harvard package controls the bibliography appearance. \MessageBreak
+ \space It is used by default unless you specify the normalbib option. \MessageBreak
+ \space The Harvard package can be obtained from, e.g., ctan.unsw.edu.au
+ }}\fi
+% \end{macrocode}
+% From the Blue book we find the following regulations:
+% The size of the paper shall approximate A4 (297mm x 210 mm).
+% The margins on each sheet shall be not less than 40mm on the left
+% hand side, 20mm on the right hand side, 30mm at the top and 20mm at
+% the bottom.
+% \TeX\ has default margins of 1 inch (25.4mm) at the top and left.
+%
+% Use the code from \textsf{size12.clo} to set \verb|\textheight| to an integer
+% multiple of \verb|\baselineskip|s. Use \verb|\raggedbottom| and add one
+% \verb|\baselineskip| to \verb|\topskip| to allow pagelength to vary.
+% \begin{macrocode}
+\setlength{\oddsidemargin} {1.5cm}
+\setlength{\evensidemargin} {-0.5cm}
+\setlength{\marginparwidth} {40\p@}
+\setlength{\marginparsep} {10\p@}
+\setlength{\topmargin} {-0.6cm}
+\setlength{\headheight} {15\p@}
+\setlength{\headsep} {0.5cm}
+\setlength{\textwidth} {14.9cm}
+\setlength\@tempdima{\paperheight}
+\addtolength\@tempdima{-30mm}
+\addtolength\@tempdima{-20mm}
+\divide\@tempdima\baselineskip
+\@tempcnta=\@tempdima
+\setlength\textheight{\@tempcnta\baselineskip}
+\addtolength\textheight{\topskip}
+\setlength{\topskip}{1\topskip \@plus 1\baselineskip}
+\setlength{\parskip}{0pt}
+\raggedbottom
+% \end{macrocode}
+%
+% Set spacing for space and a half, using values from setspace.sty.
+% Use the new \verb|\linespread| command rather than
+% \verb|\renewcommand{\baselinestretch}{1.25}| etc.
+% \begin{macrocode}
+\ifcase \@ptsize \relax % 10pt
+ \linespread{1.25}%
+\or % 11pt
+ \linespread{1.213}%
+\or % 12pt
+ \linespread{1.241}%
+\fi
+% \end{macrocode}
+%
+% Next two sections taken from \textsf{setspace}.
+% \begin{macrocode}
+\newcommand{\displayskipstretch}{\baselinestretch}
+\newcommand{\setdisplayskipstretch}[1]{\renewcommand{\displayskipstretch}{#1}}
+% \end{macrocode}
+%
+% Fix up spacing before and after displayed math
+% (\verb|arraystretch| seems to do a fine job for inside LaTeX
+% displayed math,
+% since \verb|array| and \verb|eqnarray| seem to be affected as expected).
+% Changing \verb|\baselinestretch| and doing a font change also works
+% if done here,
+% but then you have to change \verb|@setsize| to remove the call to
+% \verb|@nomath|).
+%
+% \begin{macrocode}
+\everydisplay\expandafter{%
+ \the\everydisplay
+ \abovedisplayskip \displayskipstretch\abovedisplayskip
+ \belowdisplayskip \displayskipstretch\belowdisplayskip
+ \abovedisplayshortskip \displayskipstretch\abovedisplayshortskip
+ \belowdisplayshortskip \displayskipstretch\belowdisplayshortskip
+}
+% \end{macrocode}
+%
+% The Following changed by Stephen Harker, October 1993 to:%
+% \begin{itemize}
+% \item Make Chapter title centred, and modify size to \verb|\Large| not
+% \verb|\Huge|, use small caps for `chapter' and rules above and
+% below. Rule thickness defined by new length \verb|\chaprule|.
+% To change this use \verb|\setlength|.
+% The value is forced to be less than 6 points below!
+% \item Make corresponding reductions to size of section,
+% subsection and subsubsection headers.
+% \item Rename Bibliography section to References.
+% \end{itemize}
+% \begin{macrocode}
+\newlength{\chaprule}
+\newlength{\ATchapskip}
+\setlength{\chaprule}{0.4\p@}
+\setlength{\ATchapskip}{10\p@}
+\advance \ATchapskip by -1\chaprule
+\renewcommand{\@makechapterhead}[1]{%
+ \ifdim\chaprule>6\p@ \setlength{\chaprule}{6\p@}\fi
+ \vspace*{\ATchapskip}%
+ \noindent\rule{\textwidth}{\chaprule}\par%
+ \vskip 10\p@
+ {\parindent \z@ \centering \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ {\Large\scshape \@chapapp\space \thechapter}
+ \par\nobreak
+ \vskip 8\p@
+ \fi
+ \interlinepenalty\@M
+ \Large #1\par\nobreak
+ \vskip 10\p@
+ \noindent\rule{\textwidth}{\chaprule}\par%
+ \vskip\ATchapskip
+ }}
+\renewcommand{\@makeschapterhead}[1]{%
+ \ifdim\chaprule>6\p@ \setlength{\chaprule}{6\p@}\fi
+ \vspace*{\ATchapskip}%
+ \noindent\rule{\textwidth}{\chaprule}\par%
+ \vskip 10\p@
+ {\parindent \z@ \centering
+ \normalfont
+ \interlinepenalty\@M
+ \Large #1\par\nobreak
+ \vskip 10\p@
+ \noindent\rule{\textwidth}{\chaprule}\par%
+ \vskip\ATchapskip
+ }}
+
+\renewcommand{\section}{\@startsection{section}{1}{\z@}%
+ {-1.5ex \@plus-1ex \@minus -.2ex}{0.8ex \@plus.2ex}%
+ {\normalfont\large\raggedright}}
+\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
+ {-1.2ex \@plus -.5ex \@minus-.2ex}{0.5ex \@plus.1ex}%
+ {\normalfont\normalsize\itshape\raggedright}}
+\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
+ {-1.0ex\@plus -.5ex \@minus -.2ex}{0.3ex \@plus .1ex}%
+ {\normalfont\normalsize\itshape\raggedright}}
+\renewcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
+ {1.0ex \@plus.5ex \@minus.2ex}{-1em}%
+ {\normalfont\normalsize\itshape\raggedright}}
+\renewcommand{\subparagraph}{\@startsection{subparagraph}{5}{\parindent}%
+ {1.0ex \@plus.5ex \@minus .2ex}{-1em}%
+ {\normalfont\normalsize\itshape\raggedright}}
+
+\renewcommand{\bibname}{References}
+% \end{macrocode}
+%
+% The following is taken from \textsf{sober.sty}, Nico Poppelier and
+% \textsf{rapport1.cls} (NTG classes).
+% Makes list (\texttt{enumerate} and \texttt{itemize}) more reasonable
+% in vertical space,
+% by adjusting the spacing between items.
+% Unfortunately in the \verb|size*.clo| files \verb|\small| etc also
+% redefine these
+% values. We could redefine \verb|\small| etc, but they are size dependent!
+% Leave alone, since \verb|\small| is not usually used as an environment, at
+% least not for large sections of a document.
+% \begin{macrocode}
+\def\@listi{\leftmargin\leftmargini
+ \labelsep .5em%
+ \labelwidth\leftmargini
+ \advance\labelwidth-\labelsep
+ \parsep \z@
+ \topsep 0.4ex \@plus\p@
+ \itemsep 0\p@ \@plus1\p@}
+\let\@listI\@listi
+\@listi
+\def\@listii{\leftmargin\leftmarginii
+ \labelsep .5em%
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep 0\p@ \@plus\p@
+ \parsep \z@ \@plus\p@
+ \itemsep \parsep}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelsep .5em%
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep 0\p@ \@plus\p@
+ \parsep \z@
+ \partopsep \z@ \@plus\p@
+ \itemsep \topsep}
+\def\@listiv{\leftmargin\leftmarginiv
+ \labelsep .5em%
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep
+ \topsep 0\p@ \@plus\p@
+ \parsep \z@
+ \partopsep \z@ \@plus\p@
+ \itemsep \topsep}
+\def\@listv{\leftmargin\leftmarginv
+ \labelsep .5em%
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep%
+ \topsep 0\p@ \@plus\p@
+ \parsep \z@
+ \itemsep \z@ \@plus\p@}
+\def\@listvi{\leftmargin\leftmarginvi
+ \labelsep .5em
+ \labelwidth\leftmarginvi
+ \advance\labelwidth{-\labelsep}%
+ \topsep 0\p@ \@plus\p@
+ \parsep \z@
+ \itemsep \z@ \@plus\p@}
+% \end{macrocode}
+%
+% Next re-define \verb|\cleardoublepage| as recommended by Piet van
+% Oostrum in the
+% documentation for \textsf{fancyhdr.sty} page 15. This is to avoid
+% blank pages having headers or footers.
+% \begin{macrocode}
+\renewcommand{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else
+ \thispagestyle{empty}
+ \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
+% \end{macrocode}
+%
+% Reduce widow/orphan problems, mainly from a posting from Donald
+% Arsenau on \texttt{comp.text.tex}, 24 Sep 1995.
+% Updated to follow comments from Michael Downes on \texttt{comp.text.tex},
+% 31 Aug 1998.
+% \begin{macrocode}
+\doublehyphendemerits=10000 % No consecutive line hyphens.
+\brokenpenalty=4991 % Reduce broken words across columns/pages.
+\widowpenalty=9999 % Almost no widows at bottom of page.
+\clubpenalty=9996 % Almost no orphans at top of page.
+\interfootnotelinepenalty=9999 % Almost never break footnotes.
+\predisplaypenalty=10000 % Default value
+\postdisplaypenalty=1549 % Few breaks between display and widows
+\displaywidowpenalty=1602 % At least as high as \postdisplaypenalty
+% \end{macrocode}
+%
+% Change float placement parameters to reduce problems. Based on
+% values posted by Donald Arsenau on \texttt{comp.text.tex} at various times.
+% See in particular 17th Nov 1997.
+% \begin{macrocode}
+\renewcommand{\topfraction}{.85}
+\renewcommand{\bottomfraction}{.7}
+\renewcommand{\textfraction}{.15}
+\renewcommand{\floatpagefraction}{.66}
+\renewcommand{\dbltopfraction}{.66}
+\renewcommand{\dblfloatpagefraction}{.66}
+\setcounter{topnumber}{9}
+\setcounter{bottomnumber}{9}
+\setcounter{totalnumber}{20}
+\setcounter{dbltopnumber}{9}
+% \end{macrocode}
+%
+% Make tables and figures default to small text and be single spaced,
+% and modify caption macro to allow this to take effect in the caption.
+% Use this version rather than previous redefinition of
+% \verb|\@xfloat|, see
+% \textsf{setspace.sty} for an improved example of the latter.
+% From \texttt{comp.text.tex}, Donald Arsenau 25 July 1996.
+% Also reverse \verb|\abovecaptionskip| and \verb|\belowcaptionskip|
+% for tables.
+% \begin{macrocode}
+\renewenvironment{table}
+ {\setlength{\abovecaptionskip}{0\p@}
+ \setlength{\belowcaptionskip}{10\p@}
+ \linespread{1}\normalfont\small\@float{table}}
+ {\end@float}
+\renewenvironment{table*}
+ {\setlength{\abovecaptionskip}{0\p@}
+ \setlength{\belowcaptionskip}{10\p@}
+ \linespread{1}\normalfont\small\@dblfloat{table}}
+ {\end@dblfloat}
+\renewenvironment{figure}
+ {\linespread{1}\normalfont\small\@float{figure}}
+ {\end@float}
+\renewenvironment{figure*}
+ {\linespread{1}\normalfont\small\@dblfloat{figure}}
+ {\end@dblfloat}
+\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
+ ext@#1\endcsname}{#1}{\protect\numberline{\csname
+ the#1\endcsname}{\ignorespaces #2}}\begingroup
+ \@parboxrestore
+ \if@minipage
+ \@setminipage
+ \fi
+ \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+ \endgroup}
+% \end{macrocode}
+%
+% Also use Donald Arsenau's modified \verb|\@makecaption| which fixes problems
+% with spacing of captions before tables. Taken from \texttt{comp.text.tex}
+% 21 May 1997. Regular version (acts like regular caption, but with
+% Donald Arsenau's improvements).
+% \begin{macrocode}
+\def\onecaptflag{268 }
+\renewcommand{\@makecaption}[2]{\let\@tempa\relax
+ \ifdim\prevdepth>-99\p@ \vskip\abovecaptionskip \relax
+ \else \def\@tempa{\vbox to\topskip{}}\fi
+ {#1: }\@tempa \vadjust{\penalty \onecaptflag}%
+ #2\@finalstrut\strutbox\par
+ \ifnum\lastpenalty=\onecaptflag % single line; centre it
+ \unpenalty \setbox\@tempboxa\lastbox
+ \nointerlineskip
+ \hbox to\hsize{\hskip\parfillskip\unhbox\@tempboxa}%
+ \fi \vskip\belowcaptionskip}
+% \end{macrocode}
+%
+% Number figures, tables and equations by chapter. Re-define footnotes
+% and minipage footnotes to be single spaced. Make new macros needed
+% for thesis definitions.
+% \begin{macrocode}
+\renewcommand{\thefigure}{\thechapter.\@arabic\c@figure}
+\renewcommand{\thetable}{\thechapter.\@arabic\c@table}
+\renewcommand{\theequation}{\thechapter.\@arabic\c@equation}
+% \end{macrocode}
+%
+% Re-define \verb|\@footnotetext| and \verb|\@mpfootnotetext| to use
+% single spacing
+% rather than the space-and-a-half that is the default elsewhere.
+%
+% \begin{macrocode}
+\renewcommand{\@footnotetext}[1]{\insert\footins{%
+ \linespread{1}\normalfont\footnotesize%
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}
+
+\renewcommand{\@mpfootnotetext}[1]{%
+ \global\setbox\@mpfootins\vbox{%
+ \unvbox \@mpfootins
+ \linespread{1}\normalfont\footnotesize%
+ \hsize\columnwidth
+ \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}
+% \end{macrocode}
+%
+% Now Define thesis related commands.
+% Another change is to add \verb|\thesistype| which can be defined
+% as appropriate for Masters or Doctoral thesis (default Doctoral).
+% \begin{macrocode}
+\newcommand{\dept}[1]{\gdef\@dept{#1}}
+\newcommand{\thesistype}[1]{\gdef\@thesistype{#1}}
+\newcommand{\degreetype}[1]{\gdef\@degreetype{#1}}
+\newcommand{\principaladviser}[1]{\gdef\@principaladviser{#1}}
+\newcommand{\advis@r}{Adviser}
+\newcommand{\principaladvisor}[1]{\gdef\@principaladviser{#1}%
+ \gdef\advis@r{Advisor}}
+\newcommand{\firstreader}[1]{\gdef\@firstreader{#1}}
+\newcommand{\secondreader}[1]{\gdef\@secondreader{#1}}
+\newcommand{\submitdate}[1]{\gdef\@submitdate{#1}}
+\newcommand{\copyrightyear}[1]{\gdef\@copyrightyear{#1}} % \author, \title
+ % in report
+
+\renewcommand{\@title}{}
+\renewcommand{\@author}{}
+\newcommand{\@dept}{Physics}
+\newcommand{\@thesistype}{Doctor of Philosophy}
+\newcommand{\@degreetype}{Science}
+\newcommand{\@principaladviser}{}
+\newcommand{\@firstreader}{}
+\newcommand{\@secondreader}{}
+\newcommand{\@submitdate}{\ifcase\the\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space \number\the\year}
+\ifnum\month=12
+ \@tempcnta=\year \advance\@tempcnta by 1
+ \edef\@copyrightyear{\number\the\@tempcnta}
+\else
+ \newcommand{\@copyrightyear}{\number\the\year}
+\fi
+
+\newif\ifcopyright
+\newif\iffigurespage
+\newif\iftablespage
+\copyrighttrue
+\figurespagetrue
+\tablespagetrue
+% \end{macrocode}
+%
+% A new definition, mainly for the declaration.
+%
+% \begin{macrocode}
+\newcommand{\authornameonly}[1]{\gdef\Authornameonly{#1}}
+% \end{macrocode}
+%
+% Title page, copyrightpage and declaration page definitions.
+% Add re-definition for Honours reports rather than Higher Degree
+% theses.
+% \begin{macrocode}
+\newcommand{\titlep}{%
+ \pagestyle{empty}%
+ \null\vskip2.5cm%
+ \begin{center}
+ {\rmfamily\Large\uppercase\expandafter{\@title}}
+ \end{center}
+ \vfill
+ \begin{center}
+ \textsc{A thesis submitted for the degree of \\
+ \expandafter{\@thesistype}}
+ \end{center}
+ \vfill
+ \begin{center}
+ {\rmfamily\normalsize By\\
+ \@author}\\
+ \end{center}
+ \vfill
+ \begin{center} % Department changed to School July 1995
+ {\rmfamily\normalsize School of \expandafter{\@dept},\\
+ University College, \\
+ The University of New South Wales, \\
+ Australian Defence Force Academy.} \\
+ \vskip1cm
+ {\rmfamily\normalsize \@submitdate}\\
+ \end{center}
+ \vskip1cm
+ \newpage}
+\ifATh@nours\renewcommand{\titlep}{%
+ \pagestyle{empty}%
+ \null\vskip2.5cm%
+ \begin{center}
+ {\rmfamily\Large\uppercase\expandafter{\@title}}
+ \end{center}
+ \vfill
+ \begin{center}
+ {\rmfamily\normalsize \@author}\\
+ \end{center}
+ \vskip1cm
+ \begin{center} % Department changed to School July 1995
+ {\rmfamily\normalsize School of \expandafter{\@dept},\\
+ University College, \\
+ The University of New South Wales, \\
+ Australian Defence Force Academy.} \\
+ \vskip1cm
+ {\rmfamily\normalsize \@submitdate}\\
+ \end{center}
+ \vfill
+ \begin{center}
+ \small\textsc{Submitted in partial fulfillment of the
+ requirements of the degree of \\
+ Bachelor of \expandafter{\@degreetype} with Honours}
+ \end{center}
+ \newpage}\fi
+
+\newcommand{\copyrightpage}{%
+ \null\vfill
+ \begin{center}
+ {\Large\copyright\ Copyright \@copyrightyear\\
+ by\\
+ \@author}\\
+ \end{center}
+ \vfill\newpage}
+
+\newcommand{\declaration}{%
+\newpage
+\null\vfill
+\begin{center}
+\begin{minipage}{11cm}
+\setlength{\parindent}{0\p@}
+\setlength{\parskip}{2ex \@plus0.5ex}
+{\rmfamily\normalsize
+
+I hereby declare that this submission is my own work and to the best
+of my knowledge it contains no material previously published or
+written by another person, nor material which to a substantial extent
+has been accepted for the award of any other degree or diploma at UNSW
+or any other educational institution, except where due acknowledgement
+is made in the thesis. Any contribution made to the research by
+colleagues, with whom I have worked at UNSW or elsewhere, during my
+candidature, is fully acknowledged.
+
+I also declare that the intellectual content of this thesis is the
+product of my own work, except to the extent that assistance from
+others in the project's design and conception or in style,
+presentation and linguistic expression is acknowledged.}
+\par
+\vspace{2.5cm}
+\mbox{}\hfill\Authornameonly
+\end{minipage}
+\end{center}
+\vfill\null
+\addcontentsline{toc}{chapter}{Declaration}}
+% \end{macrocode}
+%
+% Add definitions for \verb|\beforepreface|, \verb|\prefacesection|
+% and \verb|\afterpreface|
+% to allow page numbering and headerstyle to be changed.
+%
+% \begin{macrocode}
+\newcommand{\beforepreface}{%
+ \pagestyle{empty}
+ \titlep
+ \if@twoside\cleardoublepage\fi
+ \pagenumbering{roman}
+ \ifATdr@ft\pagestyle{draft}\else\pagestyle{plain}\fi
+ \setcounter{page}\@ne% Reset the page number to 1, i.e. titlepage is page 0
+ \ifcopyright\copyrightpage\fi
+ }
+
+\newcommand{\prefacesection}[1]{%
+ \chapter*{#1}
+ \addcontentsline{toc}{chapter}{#1}}
+
+\newcommand{\afterpreface}{%
+ \if@twoside
+ \cleardoublepage
+ \else\newpage
+ \fi
+ \tableofcontents
+ \if@twoside
+ \cleardoublepage
+ \else\newpage
+ \fi
+ \iftablespage
+ {\addvspace{10\p@}
+ \let\saveaddvspace=\addvspace
+ \def\addvspace##1{}
+ \listoftables
+ \let\addvspace=\saveaddvspace}
+ \if@twoside
+ \cleardoublepage
+ \else\newpage
+ \fi
+ \fi
+ \iffigurespage
+ {\addvspace{10\p@}
+ \let\saveaddvspace=\addvspace
+ \def\addvspace##1{}
+ \listoffigures
+ \let\addvspace=\saveaddvspace}
+ \if@twoside
+ \cleardoublepage
+ \else\newpage
+ \fi
+ \fi
+ \pagenumbering{arabic}
+ \ifATdr@ft\pagestyle{draft}\else\pagestyle{plain}\fi}
+% \end{macrocode}
+%
+% Create a brand new page style to include the date in the page header.
+% \begin{macrocode}
+\newcommand{\ps@draft}{%\let\@mkboth\@gobbletwo
+ \renewcommand{\@oddfoot}{\@empty}%
+ \renewcommand{\@oddhead}{\rmfamily\slshape\today\hfil\thepage}%
+ \renewcommand{\@evenhead}{\rmfamily\slshape\thepage\hfil\today}%
+ \renewcommand{\@evenfoot}{\@oddfoot}}
+% \end{macrocode}
+%
+% Start with \verb|\pagestyle{plain}| in case front matter isn't processed.
+%
+% \begin{macrocode}
+\pagestyle{plain}
+% \end{macrocode}
+%
+% Modify Table of contents entry for chapter to normal font not bold.
+% Second use word Chapter/Appendix before number. Use \verb|\appendixname|
+% rather than \verb|\@chapapp| to set width for this element as it is longer!
+%
+% \begin{macrocode}
+\newlength{\@chapwidth}%
+\renewcommand*\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \vskip 1.0em \@plus\p@
+ \settowidth{\@chapwidth}{\appendixname}% not \@chapapp
+ \addtolength{\@chapwidth}{\@pnumwidth}
+ \setlength\@tempdima{\@chapwidth}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode \normalfont
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+\def\@chapter[#1]#2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\expandafter\@chapapp\space\thechapter}#1}%
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \Finale
+%
diff --git a/macros/latex/contrib/adfathesis/adfathesis.ins b/macros/latex/contrib/adfathesis/adfathesis.ins
new file mode 100644
index 0000000000..745f5e2a5d
--- /dev/null
+++ b/macros/latex/contrib/adfathesis/adfathesis.ins
@@ -0,0 +1,31 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% adfathesis.ins -- installation file for adfathesis.cls
+%% Stephen Harker
+%%
+%% These macros are placed in the public domain. They may be freely
+%% transmitted, reproduced, or modified. No rights are reserved.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\batchfile{adfathesis.ins}
+\input docstrip.tex
+\preamble
+
+adfathesis.cls -- A LaTeX thesis style for the Australian Defence
+Force Academy.
+Stephen Harker
+
+These macros are placed in the public domain. They may be freely
+transmitted, reproduced, or modified. No rights are reserved.
+
+\endpreamble
+\def\batchfile{adfathesis.dst}
+\input docstrip
+\keepsilent
+
+\generateFile{adfathesis.cls}{t}{%
+ \from{adfathesis.dtx}{package}}
diff --git a/macros/latex/contrib/adfathesis/adfathesis.pdf b/macros/latex/contrib/adfathesis/adfathesis.pdf
new file mode 100644
index 0000000000..1d915c1a4b
--- /dev/null
+++ b/macros/latex/contrib/adfathesis/adfathesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/adfathesis/template.tex b/macros/latex/contrib/adfathesis/template.tex
new file mode 100644
index 0000000000..80fbb3da6d
--- /dev/null
+++ b/macros/latex/contrib/adfathesis/template.tex
@@ -0,0 +1,78 @@
+\documentclass[a4paper,12pt,openright,twoside]{adfathesis}
+\usepackage{dcolumn}
+\usepackage{graphicx}
+
+%-----------------------------------------------------------------------
+% Harvard citation style control.
+%-----------------------------------------------------------------------
+\citationstyle{agsm}
+\renewcommand{\harvardand}{and}
+
+%-----------------------------------------------------------------------
+% Setup Decimal column alignment (using dcolumn).
+%-----------------------------------------------------------------------
+
+\newcolumntype{d}[1]{D{.}{\cdot}{#1}}
+
+%-----------------------------------------------------------------------
+% Control included chapters here
+%-----------------------------------------------------------------------
+
+\includeonly{chapter2}
+
+\title{A fascinating thesis}
+\authornameonly{Fred Nerk}
+\author{\Authornameonly \\ B.Sc.}
+\copyrightfalse % Set true to get copyright page.
+\thesistype{Doctor of Philosophy} % Default value.
+\figurespagetrue % Set false to avoid list of figures.
+\tablespagefalse % Set true to get list of tables.
+
+\begin{document}
+
+\beforepreface
+% \declaration % Declaration page.
+\prefacesection{Abstract}
+ This thesis tells you all you need to know about...
+\prefaceseciton{Acknowledgements}
+ I would like to thank...
+\afterpreface
+
+%-----------------------------------------------------------------------
+% Begin thesis: use \include for each chapter as a separate file.
+%-----------------------------------------------------------------------
+
+% chapter 1
+\include{chapter1} % Introduction
+
+% chapter 2
+\include{chapter2}
+
+% chapter 3
+\include{chapter3}
+
+% chapter 6
+\include{chapter6} % Conclusions
+
+%-----------------------------------------------------------------------
+% Appendices: use \appendix switch to change to appendices.
+%-----------------------------------------------------------------------
+\appendix
+
+
+% First appendix
+\include{appendix1} % A long proof
+
+% Second Appendix
+\include{appendix2}
+
+
+%-----------------------------------------------------------------------
+% Bibliography: The clearpage is needed to get the page reference right.
+%-----------------------------------------------------------------------
+\clearpage
+\addcontentsline{toc}{chapter}{References}
+\bibliographystyle{adfathesis}
+\bibliography{mybib}
+
+\end{document}