PhdThesisRealOne/LaTeXTemplates_masters-doctoral-thesis_v2/MastersDoctoralThesis.cls
changeset 467 599239394c51
parent 466 31abe0e496bc
child 468 a0f27e21b42c
--- a/PhdThesisRealOne/LaTeXTemplates_masters-doctoral-thesis_v2/MastersDoctoralThesis.cls	Thu Mar 24 20:59:43 2022 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,544 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Masters/Doctoral Thesis 
-% Class File
-% Version 1.6 (27/8/17)
-%
-% This class was downloaded from:
-% http://www.LaTeXTemplates.com
-%
-% Authors:
-% Vel (vel@latextemplates.com)
-% Johannes Böttcher
-%
-% Notes:
-% 1) This class file defines the structure and layout of the template file (main.tex).
-% 2) It has been written in such a way that under most circumstances you should not need
-% to edit it; updating it to a newer version will be harder. If you do make changes, please change the name of
-% the file and add comments to make your changes more visible.
-%
-% Class license:
-% LPPL v1.3c (http://www.latex-project.org/lppl)
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%----------------------------------------------------------------------------------------
-%	CLASS DEFINITION AND PARAMETERS
-%----------------------------------------------------------------------------------------
-
-\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\newcommand{\classname}{MastersDoctoralThesis}
-\ProvidesClass{\classname}[2017/08/27 v1.6 LaTeXTemplates.com]
-\providecommand{\baseclass}{book}
-\RequirePackage{etoolbox}
-\RequirePackage{xparse}
-\newbool{nolistspace}
-\newbool{chapteroneline}
-\newbool{listtoc}
-\newbool{toctoc}
-\newbool{parskip}
-\newbool{hyperrefsupport}
-\booltrue{hyperrefsupport}
-\newbool{headsepline}
-\newbool{consistentlayout}
-
-\DeclareOption{nohyperref}{\boolfalse{hyperrefsupport}}
-\DeclareOption{nolistspacing}{\booltrue{nolistspace}}
-\DeclareOption{liststotoc}{\booltrue{listtoc}}
-\DeclareOption{chapterinoneline}{\booltrue{chapteroneline}}
-\DeclareOption{toctotoc}{\booltrue{toctoc}}
-\DeclareOption{parskip}{\booltrue{parskip}}
-\DeclareOption{headsepline}{\booltrue{headsepline}}
-\DeclareOption{consistentlayout}{\booltrue{consistentlayout}}
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\baseclass}}
-
-\ProcessOptions\relax
-
-\LoadClass{\baseclass}
-
-%  Simple interface for the user  to customize the chapter titles 
-\ProvideDocumentCommand{\abovechapterskip}{}{\vspace*{20pt}}
-\ProvideDocumentCommand{\chapterbelowskip}{}{\vspace*{40pt}}
-\ProvideDocumentCommand{\chapterinbetweenskip}{}{\vspace*{20pt}}
-\ProvideDocumentCommand{\autodot}{}{}
-\ProvideDocumentCommand{\mdtChapapp}{}{}
-\ProvideDocumentCommand{\chapteralign}{}{\raggedright}
-\ProvideDocumentCommand{\chapterfont}{}{\Huge\bfseries}
-\ProvideDocumentCommand{\chapterprefixfont}{}{\LARGE\bfseries}
-\DeclareDocumentCommand{\@makechapterhead}{ m }{%
-	\abovechapterskip
-	{\parindent \z@ \chapteralign \normalfont
-		\ifnum \c@secnumdepth >\m@ne
-		\if@mainmatter
-		\ifbool{chapteroneline}{%
-			\chapterfont \mdtChapapp\thechapter\autodot\enspace
-		}{%
-			\chapterprefixfont \@chapapp\space \thechapter
-			\par\nobreak
-			\chapterinbetweenskip
-		}%
-		\fi
-		\fi
-		\interlinepenalty\@M%
-		\chapterfont #1\par\nobreak
-		\chapterbelowskip
-	}
-	\thispagestyle{\chapter@p@gestyle}
-}
-\def\@makeschapterhead#1{%
-	\abovechapterskip
-	{\parindent \z@ \chapteralign
-		\normalfont
-		\interlinepenalty\@M
-		\chapterfont  #1\par\nobreak
-		\chapterbelowskip
-	}
-	\thispagestyle{\chapter@p@gestyle}
-}
-
-
-% Addchap provides unnumbered chapters with an entry in the table of contents as well as an updated header
-\ProvideDocumentCommand{\addchap}{ s o m }{%
-	\chapter*{#3}%
-	\markboth{}{}%
-	\IfBooleanTF{#1}{%
-	}{%
-		\IfNoValueTF{#2}{%
-			\addchaptertocentry{#3}%
-			\markboth{\MakeMarkcase{#3}}{\MakeMarkcase{#3}}%
-		}{%
-			\addchaptertocentry{#2}%
-			\markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
-		}%
-	}%
-}%
-
-\ProvideDocumentCommand{\addsec}{ s o m }{%
-	\section*{#3}%
-	\markright{}%
-	\IfBooleanTF{#1}{%
-	}{%
-		\IfNoValueTF{#2}{%
-			\addcontentsline{toc}{section}{#3}%
-			\markright{\MakeMarkcase{#3}}%%
-		}{%
-			\addcontentsline{toc}{section}{#2}%
-			\markright{\MakeMarkcase{#2}}%
-		}%
-	}%
-}%
-
-%----------------------------------------------------------------------------------------
-%	CLASS OPTIONS
-%----------------------------------------------------------------------------------------
-
-\ifbool{parskip}{\RequirePackage{parskip}} % If the parskip option is passed to the class, require the parskip package 
-
-
-\ifbool{listtoc}{% If the liststotoc option has been passed to the class, add the lists to the table of contents
-	\patchcmd{\listoftables}{\@starttoc{lot}}{%
-		\addchaptertocentry{\listtablename}\@starttoc{lot}%
-	}{}{}%
-	\patchcmd{\listoffigures}{\@starttoc{lof}}{%
-		\addchaptertocentry{\listfigurename}\@starttoc{lof}%
-	}{}{}%
-}
-
-\ifbool{toctoc}{% If the toctotoc options has been passed to the class, add the table of contents to the table of contents
-	\patchcmd{\tableofcontents}{\@starttoc{toc}%
-}{%
-	\addchaptertocentry{\contentsname}\@starttoc{toc}}{}{}%
-}
-
-\patchcmd{\tableofcontents}{\MakeUppercase}{\MakeMarkcase}{}{}
-\patchcmd{\tableofcontents}{\MakeUppercase}{\MakeMarkcase}{}{}
-\patchcmd{\listoffigures}{\MakeUppercase}{\MakeMarkcase}{}{}
-\patchcmd{\listoffigures}{\MakeUppercase}{\MakeMarkcase}{}{}
-\patchcmd{\listoftables}{\MakeUppercase}{\MakeMarkcase}{}{}
-\patchcmd{\listoftables}{\MakeUppercase}{\MakeMarkcase}{}{}
-
-% If the option `nolistspacing' is given, the spacing in the different lists is reduced to single spacing. This option is only useful, if the spacing of the document has been changed to onehalfspacing or doublespacing.
-\ifbool{nolistspace}{
-	\patchcmd{\listoffigures}{%
-		\@starttoc{lof}
-	}{%
-		\begingroup%
-		\singlespace\@starttoc{lof}\endgroup%
-	}{}{}%
-	\patchcmd{\listoftables}{%
-		\@starttoc{lot}
-	}{%
-		\begingroup%
-		\singlespace\@starttoc{lot}\endgroup%
-	}{}{}%
-	\patchcmd{\tableofcontents}{%
-		\@starttoc{toc}
-	}{%
-		\begingroup%
-		\singlespace\@starttoc{toc}\endgroup%
-	}{}{}%
-}{}
-
-
-%----------------------------------------------------------------------------------------
-%	REQUIRED PACKAGES
-%----------------------------------------------------------------------------------------
-
-\RequirePackage{babel} % Required for automatically changing names of document elements to languages besides english
-
-\RequirePackage{scrbase} % Required for handling language-dependent names of sections/document elements
-
-\RequirePackage{scrhack} % Loads fixes for various packages
-
-\RequirePackage{setspace} % Required for changing line spacing
-
-\RequirePackage{longtable} % Required for tables that span multiple pages (used in the symbols, abbreviations and physical constants pages)
-
-\RequirePackage{siunitx} % Required for \SI commands
-
-\RequirePackage{graphicx} % Required to include images
-\graphicspath{{Figures/}{./}} % Specifies where to look for included images
-
-\RequirePackage{booktabs} % Required for better table rules
-
-\RequirePackage{caption} % Required for customising the captions
-\captionsetup{justification=centerlast,font=small,labelfont=sc,margin=50pt}
-
-%----------------------------------------------------------------------------------------
-%	DEFINE CUSTOM THESIS INFORMATION COMMANDS
-%----------------------------------------------------------------------------------------
-
-\NewDocumentCommand{\thesistitle} { o m }{%
- \IfValueTF{#1}{\def\shorttitle{#1}}{\def\shorttitle{#2}}%
- \def\@title{#2}%
- \def\ttitle{#2}%
-}
-\DeclareDocumentCommand{\author}{m}{\newcommand{\authorname}{#1}\renewcommand{\@author}{#1}}
-\NewDocumentCommand{\supervisor}{m}{\newcommand{\supname}{#1}}
-\NewDocumentCommand{\examiner}{m}{\newcommand{\examname}{#1}}
-\NewDocumentCommand{\degree}{m}{\newcommand{\degreename}{#1}}
-\NewDocumentCommand{\addresses}{m}{\newcommand{\addressname}{#1}}
-\NewDocumentCommand{\university}{m}{\newcommand{\univname}{#1}}
-\NewDocumentCommand{\department}{m}{\newcommand{\deptname}{#1}}
-\NewDocumentCommand{\group}{m}{\newcommand{\groupname}{#1}}
-\NewDocumentCommand{\faculty}{m}{\newcommand{\facname}{#1}}
-\NewDocumentCommand{\subject}{m}{\newcommand{\subjectname}{#1}}
-\NewDocumentCommand{\keywords}{m}{\newcommand{\keywordnames}{#1}}
-
-\newcommand{\checktoopen}{% New command to move content to the next page which prints to the next odd page if twosided mode is active  
-	\if@openright\cleardoublepage\else\clearpage\fi
-	\ifdef{\phantomsection}{\phantomsection}{}% The \phantomsection command is necessary for hyperref to jump to the correct page
-}
-
-\NewDocumentCommand{\bhrule}{}{\typeout{--------------------}}
-\NewDocumentCommand{\tttypeout}{m}{\bhrule\typeout{\space #1}\bhrule}
-
-\newcommand{\HRule}{\rule{.9\linewidth}{.6pt}} % New command to make the lines in the title page
-\newcommand{\decoRule}{\rule{.8\textwidth}{.4pt}} % New command for a rule to be used under figures
-
-\setcounter{tocdepth}{3} % The depth to which the document sections are printed to the table of contents
-\ProvideDocumentCommand{\addchaptertocentry}{ m }{%
-	\addcontentsline{toc}{chapter}{#1}%
-}
-
-%----------------------------------------------------------------------------------------
-%	COLOURS
-%----------------------------------------------------------------------------------------
-
-\usepackage{xcolor} % Required for specifying custom colours
-
-\colorlet{mdtRed}{red!50!black}
-
-%----------------------------------------------------------------------------------------
-%	MARGINS
-%----------------------------------------------------------------------------------------
-
-\RequirePackage{geometry}
-\geometry{
-	headheight=4ex,
-	includehead,
-	includefoot
-}
-
-\raggedbottom
-
-%----------------------------------------------------------------------------------------
-%	PENALTIES
-%----------------------------------------------------------------------------------------
-
-\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
-
-%----------------------------------------------------------------------------------------
-%	HEADERS AND FOOTERS
-%----------------------------------------------------------------------------------------
-
-\RequirePackage[markcase=used]{scrlayer-scrpage}
-\providepairofpagestyles{thesisSimple}{%
-	\clearpairofpagestyles%
-	\automark[chapter]{chapter}
-	\ihead{\headmark}% Inner header
-	\ohead[\pagemark]{\pagemark}% Outer header
-}
-\ifoot{}% Inner footer
-\ofoot{}% Outer footer
-\pagestyle{thesisSimple}
-\providepairofpagestyles[thesisSimple]{thesis}{%
-	\automark*[section]{}%
-}
-\providepairofpagestyles[thesisSimple]{review}{%
-	\ofoot[\shorttitle/\authorname]{\shorttitle/\authorname}
-	\ifoot[\today]{\today}
-}
-\pagestyle{thesis}
-\ifbool{headsepline}{\KOMAoption{headsepline}{true}}{}
-\PreventPackageFromLoading[\ClassError{\classname}{Package `fancyhdr' is
-incompatible\MessageBreak with this class}{The pagesyles are defined 
-	using package `scrlayer-scrpage', please consult the\MessageBreak 
-KOMA-script documentation for details.}]{fancyhdr}
-
-
-\newcommand{\blank@p@gestyle}{empty}
-\newcommand{\chapter@p@gestyle}{plain}
-\NewDocumentCommand{\blankpagestyle}{ m }{%
-	\ClassWarning{\classname}{\string\blankpagestyle\space is
-	obsolete,\MessageBreak use \string\setblankpagestyle \space  instead}\renewcommand{\blank@p@gestyle}{}{#1}
-}
-\NewDocumentCommand{\setblankpagestyle}{ m }{\renewcommand{\blank@p@gestyle}{#1}}
-\NewDocumentCommand{\setchapterpagestyle}{ m }{\renewcommand{\chapter@p@gestyle}{#1}}
-
-\DeclareDocumentCommand\cleardoublepage{}{\clearpage\if@twoside \ifodd\c@page\else
-	\hbox{}
-	\thispagestyle{\blank@p@gestyle}
-	\newpage
-	\if@twocolumn\hbox{}\newpage\fi\fi\fi%
-}
-
-%----------------------------------------------------------------------------------------
-%	ABBREVIATIONS PAGE DESIGN
-%----------------------------------------------------------------------------------------
-
-\newcommand{\abbrevname}{List of Abbreviations}
-\providecaptionname{english,british,american}{\abbrevname}{List of Abbreviations}
-\providecaptionname{ngerman,german,austrian,naustrian}{\abbrevname}{Abk\"urzungsverzeichnis}
-\NewDocumentEnvironment{abbreviations}{ m }{%
-	\ifbool{nolistspace}{\begingroup\singlespacing}{}
-	\ifbool{listtoc}{\addchap{\abbrevname}}{\addchap*{\abbrevname}}
-	\begin{longtable}{#1}
-	}{%
-	\end{longtable}
-	\addtocounter{table}{-1}% Don't count this table as one of the document tables
-	\ifbool{nolistspace}{\endgroup}{}
-}
-
-%----------------------------------------------------------------------------------------
-%	ABSTRACT PAGE DESIGN
-%----------------------------------------------------------------------------------------
-
-\DeclareDocumentCommand{\abstractauthorfont}{}{}
-\DeclareDocumentCommand{\abstracttitlefont}{}{}
-\newcommand{\byname}{by}
-\newcommand{\abstractname}{Abstract}
-\providecaptionname{german,ngerman,austrian,naustrian}{\byname}{von}
-\providecaptionname{american,australian,british,canadian,english,newzealand,UKenglish,USenglish}{\byname}{by}
-\ifbool{consistentlayout}{
-	\DeclareDocumentEnvironment{abstract}{ O{} }{%
-		\addchap*{\abstractname}%
-		{\chapteralign\normalsize\abstractauthorfont \authorname \par}% Author name
-		\vspace{\baselineskip}
-		{\chapteralign\parbox{.7\linewidth}{\chapteralign\normalsize\itshape\abstracttitlefont\@title}\par}% Thesis title
-		\bigskip\noindent\ignorespaces
-	}%
-	{}%end alt-abstract
-}{%
-	\DeclareDocumentEnvironment{abstract}{ O{\null\vfill} }{
-		\checktoopen
-		\tttypeout{\abstractname}
-		#1%added to be able to have abstract more than one page long
-		\thispagestyle{plain}
-		\begin{center}
-			{\normalsize \MakeUppercase{\univname} \par}% University name in capitals
-			\bigskip
-			{\huge\textit{\abstractname} \par}
-			\bigskip
-			{\normalsize \facname \par}% Faculty name
-			{\normalsize \deptname \par}% Department name
-			\bigskip
-			{\normalsize \degreename\par}% Degree name
-			\bigskip
-			{\normalsize\bfseries \@title \par}% Thesis title
-			\medskip
-			{\normalsize \byname{} \authorname \par}% Author name
-			\bigskip
-		\end{center}
-	}
-	{
-		\vfill\null
-	}
-}
-
-\DeclareDocumentEnvironment{extraAbstract}{ O{\null\vfill} }{
-	\checktoopen
-	\tttypeout{\abstractname}
-	#1%added to be able to have abstract more than one page long
-	\thispagestyle{empty}
-	\begin{center}
-		{\normalsize \MakeUppercase{\univname} \par}% University name in capitals
-		\bigskip
-		{\huge\textit{\abstractname} \par}
-		\bigskip
-		{\normalsize \facname \par}% Faculty name
-		{\normalsize \deptname \par}% Department name
-		\bigskip
-		{\normalsize \degreename\par}% Degree name
-		\bigskip
-		{\normalsize\bfseries \@title \par}% Thesis title
-		\medskip
-		{\normalsize \byname{} \authorname \par}% Author name
-		\bigskip
-	\end{center}
-}
-{
-	\vfill\null
-}
-
-%----------------------------------------------------------------------------------------
-%	ACKNOWLEDGEMENTS PAGE DESIGN
-%----------------------------------------------------------------------------------------
-
-\usepackage{xcolor}
-\colorlet{mdtRed}{red!50!black}
-\newcommand{\acknowledgementname}{Acknowledgements}
-\providecaptionname{american,australian,british,canadian,english,newzealand,UKenglish,USenglish} {\acknowledgementname}{Acknowledgements} % Acknowledgement text for English countries
-\providecaptionname{german,ngerman,austrian,naustrian}{\acknowledgementname}{Danksagung} % Acknowledgement text for Germanic countries
-
-\ifbool{consistentlayout}{
-	\DeclareDocumentEnvironment{acknowledgements}{}{%
-		\tttypeout{\acknowledgementname}
-		\addchap*{\acknowledgementname}
-	}
-}
-{
-	\DeclareDocumentEnvironment{acknowledgements}{}{%
-		\checktoopen
-		\tttypeout{\acknowledgementname}
-		\thispagestyle{plain}
-		\begin{center}{\huge\textit{\acknowledgementname}\par}\end{center}
-	}
-	{
-		\vfil\vfil\null
-	}
-}
-
-%----------------------------------------------------------------------------------------
-%	DECLARATION PAGE DESIGN
-%----------------------------------------------------------------------------------------
-
-\newcommand{\authorshipname}{Declaration of Authorship}
-\providecaptionname{american,australian,british,canadian,english,newzealand,UKenglish,USenglish}{\authorshipname}{Declaration of Authorship} % Declaration of Authorship text for English countries
-\providecaptionname{german,ngerman,austrian,naustrian}{\authorshipname}{Eidesstattliche Erkl\"arung} % Declaration of Authorship text for Germanic countries
-
-\ifbool{consistentlayout}{
-	\DeclareDocumentEnvironment{declaration}{}{
-		\addchap*{\authorshipname}
-		}{}%
-}{
-	\DeclareDocumentEnvironment{declaration}{}{
-		\checktoopen
-		\tttypeout{\authorshipname}
-		\thispagestyle{plain}
-		\null\vfil
-		{\noindent\huge\bfseries\authorshipname\par\vspace{10pt}}
-	}{}
-}
-
-%----------------------------------------------------------------------------------------
-%	DEDICATION PAGE DESIGN
-%----------------------------------------------------------------------------------------
-
-\ifbool{consistentlayout}{
-	\DeclareDocumentCommand{\dedicatory}{
-		m O{\vspace*{.7\textheight} }  }{
-			\checktoopen\tttypeout{Dedicatory}
-			\markboth{}{}
-			#2
-			{\hfill\parbox{.4\textwidth}{\flushright#1\par}}
-		}
-}{
-	\newcommand\dedicatory[1]{
-		\checktoopen
-		\tttypeout{Dedicatory}
-		\null\vfil
-		\thispagestyle{plain}
-		\begin{center}{\Large\slshape #1}\end{center}
-		\vfil\null
-	}
-}
-
-
-%----------------------------------------------------------------------------------------
-%	PHYSICAL CONSTANTS PAGE DESIGN
-%----------------------------------------------------------------------------------------
-
-\newcommand{\constantsname}{Physical Constants}
-\providecaptionname{english,british,american}{\constantsname}{Physical Constants}
-\providecaptionname{ngerman,german,austrian,naustrian}{\constantsname}{Physikalische Konstanten}
-
-\NewDocumentEnvironment{constants}{ m }{%
-	\ifbool{nolistspace}{\begingroup\singlespacing}{}
-	\ifbool{listtoc}{\addchap{\constantsname}}{\addchap*{\constantsname}}
-	\begin{longtable}{#1}
-	}{%
-	\end{longtable}
-	\addtocounter{table}{-1}% Don't count this table as one of the document tables
-	\ifbool{nolistspace}{\endgroup}{}
-}
-
-%----------------------------------------------------------------------------------------
-%	SYMBOLS PAGE DESIGN
-%----------------------------------------------------------------------------------------
-
-\newcommand{\symbolsname}{List of Symbols}
-\providecaptionname{english,british,american}{\symbolsname}{List of Symbols}
-\providecaptionname{ngerman,german,austrian,naustrian}{\symbolsname}{Symbolverzeichnis}
-
-\NewDocumentEnvironment{symbols}{ m }{%
-	\ifbool{nolistspace}{\begingroup\singlespacing}{}
-	\ifbool{listtoc}{\addchap{\symbolsname}}{\addchap*{\symbolsname}}
-	\begin{longtable}{#1}
-	}{%
-	\end{longtable}
-	\addtocounter{table}{-1}% Don't count this table as one of the document tables
-	\ifbool{nolistspace}{\endgroup}{}
-}
-
-%----------------------------------------------------------------------------------------
-
-\ifbool{hyperrefsupport}{% If the nohyperref class option has not been specified
-\AtEndPreamble{\RequirePackage{hyperref}
-\hypersetup{pdfpagemode={UseOutlines},
-bookmarksopen=true,
-bookmarksopenlevel=0,
-hypertexnames=false,
-colorlinks=true,% Set to false to disable coloring links
-citecolor=magenta,% The color of citations
-linkcolor=red,% The color of references to document elements (sections, figures, etc)
-urlcolor=mdtRed,% The color of hyperlinks (URLs)
-pdfstartview={FitV},
-unicode,
-breaklinks=true,
-}
-
-\pdfstringdefDisableCommands{% If there is an explicit linebreak in a section heading (or anything printed to the pdf-bookmarks), it is replaced by a space
-	\let\\\space%
-}
-	}
-}{%nothing
-}
-
-%----------------------------------------------------------------------------------------
-
-\endinput
-% lazyLizardTracer