diff -r 31abe0e496bc -r 599239394c51 PhdThesisRealOne/LaTeXTemplates_masters-doctoral-thesis_v2/MastersDoctoralThesis.cls --- 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