summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/jasthesis
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/jasthesis
Initial commit
Diffstat (limited to 'macros/latex/contrib/jasthesis')
-rw-r--r--macros/latex/contrib/jasthesis/README17
-rw-r--r--macros/latex/contrib/jasthesis/jasthesis.cls320
-rw-r--r--macros/latex/contrib/jasthesis/jasthesis.pdfbin0 -> 47639 bytes
-rw-r--r--macros/latex/contrib/jasthesis/jasthesis.tex142
4 files changed, 479 insertions, 0 deletions
diff --git a/macros/latex/contrib/jasthesis/README b/macros/latex/contrib/jasthesis/README
new file mode 100644
index 0000000000..956a69100e
--- /dev/null
+++ b/macros/latex/contrib/jasthesis/README
@@ -0,0 +1,17 @@
+jasthesis.cls
+
+This class sets up LaTeX to produce a document conforming to the standards
+required by the University of Bristol, UK. It should also be approximately
+BS4821:1990 standard.
+
+Please see the jasthesis.tex or .dvi file for instructions and further
+details.
+
+This distribution contains:
+README (this file)
+jasthesis.cls
+jasthesis.tex
+jasthesis.dvi
+
+
+23/05/2002 (www.jamesAshepherd.com) \ No newline at end of file
diff --git a/macros/latex/contrib/jasthesis/jasthesis.cls b/macros/latex/contrib/jasthesis/jasthesis.cls
new file mode 100644
index 0000000000..227166c496
--- /dev/null
+++ b/macros/latex/contrib/jasthesis/jasthesis.cls
@@ -0,0 +1,320 @@
+% Version 0.5
+% 23rd May 2002 (jAs)
+%
+\typeout{ }
+\typeout{You can probably use this in much earlier versions of LaTeX2e}
+\NeedsTeXFormat{LaTeX2e}[2000/06/01]
+\ProvidesClass{jasthesis}[2002/05/22 v0.5 (www.jamesAshepherd.com)]
+\RequirePackage{ifthen}
+
+\typeout{ }
+\typeout{jasthesis.cls 2002/05/22 v0.5 (www.jaemsAshepherd.com)}
+\typeout{ }
+\typeout{This LaTeX class conforms to the requirements of}
+\typeout{a thesis to be submitted to the University of Bristol}
+\typeout{that is, roughtly BS4821:1990}
+\typeout{ }
+
+\typeout{ }
+\typeout{Checking for option 'jasheads' to have section numbering in the margin}
+\newboolean{jas@heads} \setboolean{jas@heads}{false}
+\DeclareOption{jasheads}{\renewcommand{\@seccntformat}[1]{{\protect\makebox[0pt][r]{\@nameuse{the#1}.~}}}
+ \setboolean{jas@heads}{true}}
+\ProcessOptions*
+
+\typeout{ }
+\typeout{12pt text, A4 paper, twosided}
+\LoadClass[12pt,a4paper,twoside]{book}
+
+\typeout{ }
+\typeout{linespacing set at 1.5}
+\renewcommand{\baselinestretch}{1.5}
+
+\typeout{ }
+\typeout{Centre page number at bottom, left heading section, right heading chapter}
+\typeout{Margins: Binding 40mm, others 20mm}
+\let\jas@headings=\ps@headings
+\newcommand{\ps@jasthesis}{\jas@headings
+ \ifthenelse{\boolean{jas@heads}}{
+ \renewcommand{\@evenhead}{\ifthenelse{\value{chapter}=0}{}{
+ \begin{minipage}{\textwidth}
+ \normalfont\bfseries\sffamily\chaptername~\thechapter~~\jas@eventext\hfill
+ \\[-1em]\rule{\textwidth}{0.6pt}
+ \end{minipage}}}
+ \renewcommand{\@oddhead}{\ifthenelse{\value{chapter}=0}{}{
+ \begin{minipage}{\textwidth}
+ \normalfont\bfseries\sffamily\hfill\thesection~~\jas@oddtext
+ \\[-1em]\rule{\textwidth}{0.6pt}
+ \end{minipage}}}
+ }
+ {
+ \renewcommand{\@evenhead}{\leftmark\hfill}
+ \renewcommand{\@oddhead}{\hfill\rightmark}
+ }{}
+ \renewcommand{\@evenfoot}{\hfill\thepage\hfill}
+ \renewcommand{\@oddfoot}{\@evenfoot}
+
+ \setlength{\voffset}{-1in}
+ \setlength{\hoffset}{-1in}
+ \setlength{\oddsidemargin}{45mm}
+ \setlength{\evensidemargin}{20mm}
+ \ifthenelse{\boolean{jas@heads}}{
+ \addtolength{\evensidemargin}{5mm}
+ \setlength{\headheight}{1em}
+ \setlength{\headsep}{2em}
+ }{}
+ \setlength{\topmargin}{\evensidemargin}
+ \setlength{\textwidth}{\paperwidth} \addtolength{\textwidth}{-\oddsidemargin}
+ \addtolength{\textwidth}{-\evensidemargin}
+ \setlength{\textheight}{\paperheight} \addtolength{\textheight}{-2\topmargin}
+ \addtolength{\textheight}{-\headheight}
+ \addtolength{\textheight}{-\headsep}
+}
+
+\newcommand{\ps@jastitlepage}{\jas@headings
+ \renewcommand{\@evenhead}{}
+ \renewcommand{\@oddhead}{}
+ \renewcommand{\@evenfoot}{}
+ \renewcommand{\@oddfoot}{}
+
+ \setlength{\headheight}{0mm}
+ \setlength{\headsep}{\footskip}
+ \setlength{\voffset}{-1in}
+ \setlength{\hoffset}{-1in}
+ \setlength{\oddsidemargin}{45mm}
+ \setlength{\evensidemargin}{20mm}
+ \setlength{\topmargin}{\evensidemargin}
+ \setlength{\textwidth}{\paperwidth} \addtolength{\textwidth}{-\oddsidemargin}
+ \addtolength{\textwidth}{-\evensidemargin}
+ \setlength{\textheight}{\paperheight} \addtolength{\textheight}{-2\topmargin}
+ \addtolength{\textheight}{-\headheight}
+ \addtolength{\textheight}{-\headsep}
+ \renewcommand{\baselinestretch}{1}
+}
+
+\ifthenelse{\boolean{jas@heads}}{
+ \newcommand{\ps@jaschapter}{\jas@headings
+ \renewcommand{\@evenhead}{}
+ \renewcommand{\@oddhead}{}
+ \renewcommand{\@evenfoot}{\hfill\thepage\hfill}
+ \renewcommand{\@oddfoot}{\@evenfoot}
+
+ \setlength{\voffset}{-1in}
+ \setlength{\hoffset}{-1in}
+ \setlength{\oddsidemargin}{45mm}
+ \setlength{\evensidemargin}{20mm}
+
+ \addtolength{\evensidemargin}{5mm}
+ \setlength{\headheight}{2\baselineskip}
+ \setlength{\headsep}{2em}
+
+ \setlength{\topmargin}{\evensidemargin}
+ \setlength{\textwidth}{\paperwidth} \addtolength{\textwidth}{-\oddsidemargin}
+ \addtolength{\textwidth}{-\evensidemargin}
+ \setlength{\textheight}{\paperheight} \addtolength{\textheight}{-2\topmargin}
+ \addtolength{\textheight}{-\headheight}
+ \addtolength{\textheight}{-\headsep}
+ \renewcommand{\baselinestretch}{1.5}
+}
+}{}
+\pagestyle{jasthesis}
+
+\newcommand{\jas@title}{}
+\newcommand{\thesistitle}[1]{\renewcommand{\jas@title}{#1}}
+
+\newcommand{\jas@subtitle}{}
+\newcommand{\thesissubtitle}[1]{\renewcommand{\jas@subtitle}{#1}}
+
+\newcommand{\jas@volume}{}
+\newcommand{\thesisvolume}[1]{\renewcommand{\jas@volume}{#1}}
+
+\newcommand{\jas@author}{}
+\newcommand{\thesisauthor}[1]{\renewcommand{\jas@author}{#1}}
+
+\newcommand{\jas@degree}{}
+\newcommand{\thesisdegree}[1]{\renewcommand{\jas@degree}{#1}}
+
+\newcommand{\jas@wordcount}{}
+\newcommand{\thesiswordcount}[1]{\renewcommand{\jas@wordcount}{#1}}
+
+\newcommand{\thesismaketitle}{
+ \thispagestyle{jastitlepage}\addtocounter{page}{-2}
+ \mbox{}\begin{minipage}[t][0mm]{\textwidth}
+ \begin{center}\Huge\sffamily\bfseries\jas@title\end{center}
+ \mbox{}
+ \begin{center}\sffamily\bfseries\jas@subtitle\end{center}
+ \mbox{}
+ \begin{center}\sffamily\jas@volume\end{center}
+ \end{minipage}
+ \vfill
+ \mbox{}\begin{minipage}{\textwidth}
+ \begin{center}\Large\sffamily\jas@author\end{center}
+ \end{minipage}
+ \vfill
+ \mbox{}\begin{minipage}[b][0pt]{\textwidth}
+ \begin{center}
+ \jas@degree
+ \end{center}
+ \hfill\jas@wordcount
+ \end{minipage}
+ \newpage\thispagestyle{jastitlepage}\mbox{}\pagebreak
+}
+
+\ifthenelse{\boolean{jas@heads}}{
+ \newcommand{\jas@eventext}{}
+ \newcommand{\jas@oddtext}{}
+
+ \renewcommand{\section}[2][]{
+ \ifthenelse{\equal{#1}{}}%
+ {\renewcommand{\jas@oddtext}{#2}
+ \@startsection{section}{0}{0pt}{-3.5ex plus -1ex minus -.2ex}{2.3ex plus .2ex}%
+ {\normalfont\bfseries\Large}{#2}
+ }
+ {\renewcommand{\jas@oddtext}{#1}
+ \@startsection{section}{0}{0pt}{-3.5ex plus -1ex minus -.2ex}{2.3ex plus .2ex}%
+ {\normalfont\bfseries\Large}[#1]{#2}
+ }
+ }
+}{}
+
+\newcommand{\thesisabstract}[1]{
+ \cleardoublepage
+ \renewcommand{\baselinestretch}{1}\normalfont
+ \mbox{}\vspace{6em}\\
+ {\Huge\bfseries Abstract}
+ \begin{quotation}#1\end{quotation}
+ \par\renewcommand{\baselinestretch}{1.5}\normalfont
+}
+
+\newcommand{\thesisdedication}[1]{
+ \cleardoublepage
+ \renewcommand{\baselinestretch}{1}\normalfont
+ \mbox{}\vspace{6em}\\
+ {\Huge\bfseries Dedication and\\ Acknowledgements}
+ \begin{quotation}\slshape#1\end{quotation}
+ \par\renewcommand{\baselinestretch}{1.5}\normalfont
+}
+
+\newcommand{\thesisdeclaration}[1]{
+ \cleardoublepage
+ \renewcommand{\baselinestretch}{1}\normalfont
+ \mbox{}\vspace{6em}\\
+ {\Huge\bfseries Author's Declaration}
+ \begin{quotation}
+ #1
+ ~\\~\\
+ \makebox[0pt][r]{Signed:}\makebox[8cm]{~\dotfill}
+ ~\\~\\
+ \makebox[0pt][r]{Date:}\makebox[4cm]{~\dotfill}
+ \end{quotation}
+ \par\renewcommand{\baselinestretch}{1.5}\normalfont
+}
+
+
+\typeout{ }
+\typeout{Ensuring contents page/list of figures/list of tables/titles is singlespaced}
+\typeout{I'm afraid I can't see anyway of making the contents pages singleside}
+% put \addtocontents{toc}{\cleardoublepage} in the section where you want the page break
+
+\let\jas@contents=\tableofcontents
+\renewcommand{\tableofcontents}{
+ \par\renewcommand{\baselinestretch}{1}\normalfont
+ \jas@contents
+ \par\renewcommand{\baselinestretch}{1.5}\normalfont
+}
+
+\let\jas@figures=\listoffigures
+\renewcommand{\listoffigures}{
+ \par\renewcommand{\baselinestretch}{1}\normalfont
+ \jas@figures
+ \par\renewcommand{\baselinestretch}{1.5}\normalfont
+}
+
+\let\jas@tables=\listoftables
+\renewcommand{\listoftables}{
+ \par\renewcommand{\baselinestretch}{1}\normalfont
+ \jas@tables
+ \par\renewcommand{\baselinestretch}{1.5}\normalfont
+}
+
+% Edited from book.cls
+%----------------------------------------------------------------------------
+
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}#1}%
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \chaptermark{#1}%
+ \renewcommand{\jas@eventext}{#1}
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi}
+\def\@makechapterhead#1{%
+ \vspace*{5\p@}%
+ {\parindent \z@ \raggedright \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \par\renewcommand{\baselinestretch}{1}\normalfont
+ \centering\huge\bfseries \@chapapp\space \thechapter
+ \par\nobreak\renewcommand{\baselinestretch}{1.5}\normalfont
+ \vskip 20\p@
+ \fi
+ \fi
+ \interlinepenalty\@M
+ \par\renewcommand{\baselinestretch}{1}\normalfont
+ \centering\Huge \bfseries #1\par\nobreak\renewcommand{\baselinestretch}{1}\normalfont
+ \vskip 40\p@
+ }}
+
+\renewcommand\section[2][]{\par\renewcommand{\baselinestretch}{1}\normalfont
+ \ifthenelse{\equal{#1}{}}{\renewcommand{\jas@oddtext}{#2}
+ \@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}{#2}}
+ {\renewcommand{\jas@oddtext}{#1}
+ \@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}[#1]{#2}}
+ \par\nobreak\renewcommand{\baselinestretch}{1.5}\normalfont}
+
+\renewcommand\subsection[2][]{\par\renewcommand{\baselinestretch}{1}\normalfont
+ \ifthenelse{\equal{#1}{}}{%
+ \@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries}{#2}}
+ {\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries}[#1]{#2}}
+ \par\nobreak\renewcommand{\baselinestretch}{1.5}\normalfont}
+
+\renewcommand\subsubsection[2][]{\par\renewcommand{\baselinestretch}{1}\normalfont
+ \ifthenelse{\equal{#1}{}}{%
+ \@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}{#2}}
+ {\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}[#1]{#2}}
+ \par\nobreak\renewcommand{\baselinestretch}{1.5}\normalfont}
+%----------------------------------------------------------------------------
+
+\typeout{ } \ No newline at end of file
diff --git a/macros/latex/contrib/jasthesis/jasthesis.pdf b/macros/latex/contrib/jasthesis/jasthesis.pdf
new file mode 100644
index 0000000000..f54ce6ea6c
--- /dev/null
+++ b/macros/latex/contrib/jasthesis/jasthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/jasthesis/jasthesis.tex b/macros/latex/contrib/jasthesis/jasthesis.tex
new file mode 100644
index 0000000000..8f340c4947
--- /dev/null
+++ b/macros/latex/contrib/jasthesis/jasthesis.tex
@@ -0,0 +1,142 @@
+\documentclass[jasheads]{jasthesis}
+
+\begin{document}
+
+\thesistitle{The \texttt{jasthesis} \LaTeX\ class}
+
+\thesissubtitle{(How to typeset a thesis)}
+
+\thesisvolume{Volume 1 of 1}
+
+\thesisauthor{James A. Shepherd}
+
+\thesisdegree{A dissertation submitted to the University of Life in accordance
+with the requirements of\ldots}
+
+\thesiswordcount{Word Count: \texttt{many}}
+
+\thesismaketitle
+
+\thesisabstract{A \LaTeX\ class that conforms to the requirements of a
+University Thesis. It is approximately BS4821:1990.
+
+Briefly these requirements are:
+
+\begin{itemize}
+\item A4 papersize
+\item Consecutive numbering at the bottom center of each page.
+\item Text in 1.5 line spacing (Titles and contents pages are still singlespaced)
+\item 12pt font size.
+\item Doublesided printing.
+\item Top, bottom and outer margin at least 15mm. Inner margin 40mm.
+\item Preliminary pages of:
+\begin{itemize}
+\item Title Page (listing chapters and sections)
+\item Abstract
+\item Dedication and acknowledgements
+\item Author's Declaration
+\item Table of Contents, List of Figures, List of Tables
+\end{itemize}
+\item Top left heading is the current chapter, top right current section
+\end{itemize}
+
+Note that when using the option \texttt{jasheads} the $*$-form of the {\ttfamily section}
+command is not supported properly.
+
+Also, the requirement that headings be in no more than 14pt is ignored.
+This would look silly, given the large gaps in the text due to displayed
+mathematics. Though if you really want it, the class file would not take much
+editing to do it.
+}
+
+\thesisdedication{This document class is dedicated to my girlfriend, Codina Cotar.}
+
+\thesisdeclaration{I declare that the work in this dissertation was carried out
+in accordance with the Regulations of the\ldots}
+
+\tableofcontents
+
+%-------------------------------------------------------------------------------
+
+\chapter{Using the Class}
+
+Place a copy of the \texttt{jasthesis.cls} file in the same directory/folder
+as the \texttt{.tex} file you are editing. Alternatively, if you are able to,
+install the class in your \LaTeX\ source tree.
+
+At the beginning of you \LaTeX\ use the command:
+
+{\ttfamily\verb=\documentclass{jasthesis}=}
+
+\noindent instead of your usual {\ttfamily\verb=\documentclass{\ldots}=}.
+
+\section{Options}
+
+The option {\ttfamily\verb=jasheads=} gives more modern headings on the top left
+and right. So, you would invoke this with:
+
+{\ttfamily\verb=\documentclass{jasthesis}=}
+
+\noindent instead of the above command.
+
+All the remaining command will usually be used immediately after the above.
+
+\chapter{Title and Contents Pages}
+
+\section{Title Page}
+
+Use the following commands to enter the details for the title page:
+
+{\ttfamily\verb=\thesistitle{\ldots}=}
+
+{\ttfamily\verb=\thesissubtitle{\ldots}=}
+
+{\ttfamily\verb=\thesisvolume{\ldots}=}
+
+{\ttfamily\verb=\thesisauthor{\ldots}=}
+
+{\ttfamily\verb=\thesisdegree{\ldots}=}
+
+{\ttfamily\verb=\thesiswordcount{\ldots}=}
+
+Then use the command {\ttfamily\verb=\thesismaketitle=} to actually produce the page.
+
+\section{Contents Pages}
+
+Using the standard \LaTeX\ command {\ttfamily\verb=\tableofcontents=}
+will produce the table of contents with chapters and sections. It will
+be only singlespaced.
+
+If you require a single sided contents page, then this will have to be done manually.
+Where you want the page break on the contents page, go to that section in your
+\texttt{.tex} file and after the section command put the command:
+
+{\ttfamily\verb=\addtocontents{toc}{\cleardoublepage}=}
+
+The standard \LaTeX\ commands {\ttfamily\verb=\listoffigures=} and
+{\ttfamily\verb=\listoftables=} may be used as usual.
+
+
+\chapter{Abstract, Dedication, and Declaration}
+
+These details are entered using the commands:
+
+{\ttfamily\verb=\thesisabstract{\ldots}=}
+
+{\ttfamily\verb=\thesisdedication{\ldots}=}
+
+{\ttfamily\verb=\thesisdeclaration{\ldots}=}
+
+These commands also produce the pages. The second one typesets the text in italics.
+The last one produces the signed and date lines.
+
+\chapter{Other}
+
+The rest of the text will be 1.5 linespaced.
+
+I guess that's all.
+
+~
+
+{\ttfamily\verb=http://www.jamesAshepherd.com/=}
+\end{document}