Skip to content
Snippets Groups Projects
Select Git revision
  • 2b0ca73512af8ac1e38d40483156f2212b11e2f2
  • master default protected
  • v1.1
  • v1.0-rc4
  • v2.2-rc1
  • v1.0-rc3
  • v1.0-rc2
  • v2.0
  • v1.0-rc1
  • v0.9
  • v0.9.1
  • v1.0-rc
12 results

ecsproject.cls

Blame
  • Forked from UoS LaTeX Group / University of Southampton Thesis Template
    Source project has a limited visibility.
    ecsproject.cls 11.79 KiB
    %%
    %% This is file `ecsproject.cls',
    %% generated with the docstrip utility.
    %%
    %% The original source files were:
    %%
    %% ecsdocs.dtx  (with options: `project')
    %% 
    %% Copyright (C) 2001 by Steve R. Gunn
    %% 
    %% This file is part of the ECSDocs class distribution
    %% 
    
    \NeedsTeXFormat{LaTeX2e}[2007/02/26]
    \ProvidesClass{ecsproject}
                  [2018/12/20 v2.0
       LaTeX document class]
    %% ------------ Class/Formating Adjustment ----------------------
    %% Adjust the book class to match the requirements
    %% Set spacing, line and paragraph options
    %% Set LaTeX builder options (work break penalties etc.)
    \def\baseclass{book}
    \RequirePackage{xcolor}
    \colorlet{linkBlue}{blue}
    \colorlet{custGray}{gray}
    \DeclareOption{sotonlinks}{
    \definecolor{sotonMarineBlue}{RGB}{1,67,89} % Soton marine blue (P 7469C)
      \definecolor{sotonGrey}{RGB}{153,153,166} % Soton grey (P 443C)
      \colorlet{linkBlue}{sotonMarineBlue}
      \colorlet{custGray}{sotonGrey}
    }
    \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\baseclass}}
    \def\@checkoptions#1#2{
      \edef\@curroptions{\@ptionlist{\@currname.\@currext}}
      \@tempswafalse
      \@tfor\@this:=#2\do{
        \@expandtwoargs\in@{,\@this,}{,\@curroptions,}
        \ifin@ \@tempswatrue \@break@tfor \fi}
      \let\@this\@empty
      \if@tempswa \else \PassOptionsToClass{#1}{\baseclass}\fi
    }
    \@checkoptions{12pt}{{10pt}{11pt}{12pt}}
    \PassOptionsToClass{a4paper}{\baseclass}
    \ProcessOptions\relax
    \LoadClass{\baseclass}
    \newcommand\bhrule{\typeout{------------------------------------------------------------------------------}}
    \newcommand\btypeout[1]{\bhrule\typeout{\space #1}\bhrule}
    %% \usepackage[T1]{fontspec}
    \usepackage[defaultsans]{droidsans}
    \usepackage{mathpazo}
    %%\usepackage[T1]{fontenc} %This may not be necessary for english only text
    
    \usepackage{setspace}
    \onehalfspacing
    \setlength{\parindent}{0pt}
    \setlength{\parskip}{2.0ex plus0.5ex minus0.2ex}
    \usepackage{vmargin}
    \setmarginsrb           { 1.5in}  % left margin
                            { 0.6in}  % top margin
                            { 1.0in}  % right margin
                            { 0.8in}  % bottom margin
                            {  20pt}  % head height
                            {0.25in}  % head sep
                            {   9pt}  % foot height
                            { 0.3in}  % foot sep
    \raggedbottom
    \setlength{\topskip}{1\topskip \@plus 5\p@}
    \doublehyphendemerits=10000       % No consecutive line hyphens.
    \brokenpenalty=10000              % No broken words across columns/pages.
    \widowpenalty=9999                % Almost no widows at bottom of page.
    \clubpenalty=9999                 % Almost no orphans at top of page.
    \interfootnotelinepenalty=9999    % Almost never break footnotes.
    \usepackage{fancyhdr}
    \fancyhead[LE]{\textrm\thepage}
    \fancyhead[LO]{\fancyplain{}{\textsl{\rightmark}}}
    \fancyhead[RE]{\fancyplain{}{\textsl{\leftmark}}}
    \fancyhead[RO]{\textrm\thepage}
    \chead{}\lfoot{}\rfoot{}\cfoot{}
    \pagestyle{fancy}
    \fancypagestyle{plain}{
      \fancyhf{}
      \fancyhead[OR]{\thepage}
      \renewcommand{\headrulewidth}{0pt}
    }
    \renewcommand{\chaptermark}[1]{\btypeout{\thechapter.\space #1}\markboth{\chaptername\ \thechapter.\hspace{1em}#1}{}}
    \renewcommand{\sectionmark}[1]{\markright{\thesection.\hspace{1em}#1}}
    \renewcommand{\subsectionmark}[1]{}
    \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
    \hbox{}
    \thispagestyle{empty}
    \newpage
    \if@twocolumn\hbox{}\newpage\fi\fi\fi}
    \def\cleartoeven{\clearpage\if@twoside \ifodd\c@page
    \hbox{}
    \thispagestyle{empty}
    \newpage
    \if@twocolumn\hbox{}\newpage\fi\fi\fi}
    %% -------------------- Figure/Table/Eq/Listing Stying --------------------
    %% Set the styling for non text elements of the document
    \usepackage{amsmath,amsfonts,amssymb,amscd,amsthm,xspace}
    \theoremstyle{plain}
    \newtheorem{example}{Example}[chapter]
    \newtheorem{theorem}{Theorem}[chapter]
    \newtheorem{corollary}[theorem]{Corollary}
    \newtheorem{lemma}[theorem]{Lemma}
    \newtheorem{proposition}[theorem]{Proposition}
    \newtheorem{axiom}[theorem]{Axiom}
    \theoremstyle{definition}
    \newtheorem{definition}[theorem]{Definition}
    \theoremstyle{remark}
    \newtheorem{remark}[theorem]{Remark}
    \usepackage[justification=centerlast,font=small,labelfont=sc]{caption}
    \setlength{\captionmargin}{20pt}
    \newcommand{\fref}[1]{Figure~\ref{#1}}
    \newcommand{\tref}[1]{Table~\ref{#1}}
    \newcommand{\eref}[1]{Equation~\ref{#1}}
    \newcommand{\cref}[1]{Chapter~\ref{#1}}
    \newcommand{\sref}[1]{Section~\ref{#1}}
    \newcommand{\aref}[1]{Appendix~\ref{#1}}
    \renewcommand{\topfraction}{0.85}
    \renewcommand{\bottomfraction}{.85}
    \renewcommand{\textfraction}{0.1}
    \renewcommand{\dbltopfraction}{.85}
    \renewcommand{\floatpagefraction}{0.75}
    \renewcommand{\dblfloatpagefraction}{.75}
    \setcounter{topnumber}{9}
    \setcounter{bottomnumber}{9}
    \setcounter{totalnumber}{20}
    \setcounter{dbltopnumber}{9}
    \usepackage{graphicx}
    \usepackage{epstopdf}
    \usepackage[scriptsize]{subfigure}
    \usepackage{booktabs}
    \usepackage{rotating}
    \usepackage{listings}
    \lstset{captionpos=b,
            frame=tb,
            basicstyle=\scriptsize\ttfamily,
            showstringspaces=false,
            keepspaces=true}
    \lstdefinestyle{matlab} {
            language=Matlab,
            keywordstyle=\color{blue},
            commentstyle=\color[rgb]{0.13,0.55,0.13}\em,
            stringstyle=\color[rgb]{0.7,0,0} }
    \usepackage[pdfpagemode={UseOutlines},bookmarks=true,bookmarksopen=true,
       bookmarksopenlevel=0,bookmarksnumbered=true,hypertexnames=false,
       colorlinks,linkcolor={linkBlue},citecolor={linkBlue},urlcolor={linkBlue},
       pdfstartview={FitV},unicode,breaklinks=true]{hyperref}
    \pdfstringdefDisableCommands{
       \let\\\space
    }
    %% --------------------- Organisational Structure ----------------------
    \newcommand*{\supervisor}[1]{\def\supname{#1}}
    \newcommand*{\examiner}[1]{\def\examname{#1}}
    \newcommand*{\degree}[1]{\def\degreename{#1}}
    \newcommand*{\authors}[1]{\def\authornames{#1}}
    \newcommand*{\qualifications}[1]{\def\quals{#1}}
    \newcommand*{\addresses}[1]{\def\addressnames{#1}}
    \newcommand*{\doi}[1]{\def\doicode{#1}}
    \newcommand*{\orcidid}[1]{\def\orcid{#1}}
    \newcommand*{\university}[1]{\def\univname{#1}}
    \newcommand*{\UNIVERSITY}[1]{\def\UNIVNAME{#1}}
    \newcommand*{\department}[1]{\def\deptname{#1}}
    \newcommand*{\DEPARTMENT}[1]{\def\DEPTNAME{#1}}
    \newcommand*{\group}[1]{\def\groupname{#1}}
    \newcommand*{\GROUP}[1]{\def\GROUPNAME{#1}}
    \newcommand*{\faculty}[1]{\def\facname{#1}}
    \newcommand*{\FACULTY}[1]{\def\FACNAME{#1}}
    \newcommand*{\subject}[1]{\def\subjectname{#1}}
    \newcommand*{\keywords}[1]{\def\keywordnames{#1}}
    %% --------------------- Organisational Structure ----------------------
    \doi{}
    \supervisor  {}
    \examiner    {}
    \degree      {}
    \authors     {}
    \qualifications{}
    \orcidid{}
    \university  {\texorpdfstring{\href{http://www.soton.ac.uk}
                    {University of Southampton}}
                    {University of Southampton}}
    \UNIVERSITY  {\MakeUppercase{\univname}}
    \department  {\texorpdfstring{\href{http://www.ecs.soton.ac.uk}
                    {School of Electronics and Computer Science}}
                    {School of Electronics and Computer Science}}
    \DEPARTMENT  {\MakeUppercase{\deptname}}
    \group       {\texorpdfstring{\href{http://cps.ecs.soton.ac.uk}
                    {Cyber Physical Systems Group}}
                    {Cyber Physical Systems Group}}
    \GROUP       {\MakeUppercase{\groupname}}
    \faculty     {\texorpdfstring{\href{http://www.feps.soton.ac.uk}
                    {Faculty of Engineering and Physical Science}}
                    {Faculty of Engineering and Physical Science}}
    \FACULTY     {\MakeUppercase{\facname}}
    \addresses   {}
    \subject     {}
    \keywords    {}
    \usepackage{titling}
    \AtBeginDocument{
      \hypersetup{pdftitle={\thetitle}}
      \hypersetup{pdfsubject={\subjectname}}
      \hypersetup{pdfauthor={\authornames}}
      \hypersetup{pdfkeywords={\keywordnames}}
    }
    \renewcommand\maketitle{
      \btypeout{Title Page}
      \thispagestyle{empty}
      \begin{titlepage}
        \let\footnotesize\small
        \let\footnoterule\relax
        \let \footnote \thanks
        \setcounter{footnote}{0}
        \null\vfil
        \vskip 60\p@
        \begin{center}
          \setlength{\parskip}{0pt}
          {\scshape\LARGE\textbf{\univname}\par}
          %% TODO: Change all the descriptions to italic like the Thesis one
          \bigskip
          {\large \facname \par}
          {\large \deptname \par}
          \vfill
          {\large A project report submitted for the}
          {\large award of \par \degreename \par}
          \vfill
          {\normalsize Supervisor: \supname \par}
          {\normalsize Examiner: \examname \par}
          \vfill
          \hspace{6mm}\parbox[t][51mm][s]{89mm}{
            \center
            \vfill
            {\large \bf \@title \par}
            \vfill
            {\normalsize \textit{by} \textbf\authornames \par}
            \vfill
            {\normalsize \@date \par}
            \vfill
          }
          \parbox[t][95mm][s]{89mm}{}
        \end{center}
        \par
        \@thanks
        \vfil\null
      \end{titlepage}
      \setcounter{footnote}{0}%
      \global\let\thanks\relax
      \global\let\maketitle\relax
      \global\let\@thanks\@empty
      \global\let\@author\@empty
      \global\let\@date\@empty
      \global\let\title\relax
      \global\let\author\relax
      \global\let\date\relax
      \global\let\and\relax
      \cleardoublepage
    }
    \newenvironment{abstract}
    {
      \btypeout{Abstract Page}
      \thispagestyle{empty}
      \null\vfil
      \begin{center}
        \setlength{\parskip}{0pt}
        {\textsc\normalsize \univname \par}
        \bigskip
        {\underline{Abstract} \par}
        \bigskip
        {\textsc\normalsize \facname \par}
        {\textsc\normalsize \deptname \par}
        \bigskip
        {\normalsize \underline{A project report submitted for the award of \degreename}\par}
        \bigskip
        {\normalsize\bf \@title \par}
        \medskip
        {\normalsize by \authornames \par}
        \bigskip
      \end{center}
    }
    {
      \vfil\vfil\vfil\null
      \cleardoublepage
    }
    \addtocounter{secnumdepth}{1}
    \setcounter{tocdepth}{6}
    \newcounter{dummy}
    \newcommand\addtotoc[1]{
    \refstepcounter{dummy}
    \addcontentsline{toc}{chapter}{#1}}
    \renewcommand\tableofcontents{
    \hypersetup{linkcolor={black}}
    \btypeout{Table of Contents}
    \begin{spacing}{1}{
        \setlength{\parskip}{1pt}
        \if@twocolumn
          \@restonecoltrue\onecolumn
        \else
          \@restonecolfalse
        \fi
        \chapter*{\contentsname
            \@mkboth{
               \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}
        \@starttoc{toc}
        \if@restonecol\twocolumn\fi
       \cleardoublepage
    }\end{spacing}
    }
    \renewcommand\listoffigures{
    \addtotoc{\listfigurename}
    \begin{spacing}{1}{
        \setlength{\parskip}{1pt}
        \if@twocolumn
          \@restonecoltrue\onecolumn
        \else
          \@restonecolfalse
        \fi
        \chapter*{\listfigurename
          \@mkboth{\MakeUppercase\listfigurename}
                  {\MakeUppercase\listfigurename}}
        \@starttoc{lof}
        \if@restonecol\twocolumn\fi
        \cleardoublepage
    }\end{spacing}
    }
    \renewcommand\listoftables{
    \addtotoc{\listtablename}
    \begin{spacing}{1}{
        \setlength{\parskip}{1pt}
        \if@twocolumn
          \@restonecoltrue\onecolumn
        \else
          \@restonecolfalse
        \fi
        \chapter*{\listtablename
          \@mkboth{
              \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}
        \@starttoc{lot}
        \if@restonecol\twocolumn\fi
        \cleardoublepage
    }\end{spacing}
    }
    \newcommand\listsymbolname{List of Symbols}
    \usepackage{longtable}
    \newcommand\listofsymbols[2]{
    \btypeout{\listsymbolname}
    \addtotoc{\listsymbolname}
        \chapter*{\listsymbolname
          \@mkboth{
              \MakeUppercase\listsymbolname}{\MakeUppercase\listsymbolname}}
    \begin{longtable}[c]{#1}#2\end{longtable}\par
        \cleardoublepage
    }
    
    \newcommand\acknowledgements[1]{
    \btypeout{Acknowledgements}
    \addtotoc{Acknowledgements}
    \thispagestyle{plain}
    \null\vfil
    \vskip 60\p@
    \begin{center}{\Large\bf Acknowledgements \par}\end{center}
    {\normalsize #1}
    \vfil\vfil\null
    \cleardoublepage
    }
    \newcommand\dedicatory[1]{
    \btypeout{Dedicatory}
    \thispagestyle{plain}
    \null\vfil
    \vskip 60\p@
    \begin{center}{\Large \sl #1}\end{center}
    \vfil\null
    \cleardoublepage
    }
    \renewcommand\backmatter{
      \if@openright
        \cleardoublepage
      \else
        \clearpage
      \fi
      \addtotoc{\bibname}
      \btypeout{\bibname}
      \@mainmatterfalse}
    \endinput
    %%
    %% End of file `ecsproject.cls'.