Merge branch 'master' into master
This commit is contained in:
436
ruthesis.sty
436
ruthesis.sty
@@ -9,48 +9,16 @@
|
||||
%% Details at LICENSE.md
|
||||
%% --------------- Identification ----------------------------
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\typeout{Thesis package for Reykjavik University V3.0 <2022/05/2>, by Joseph Timothy Foley, foley at RU.IS}
|
||||
|
||||
%% ---------------- Critical packages -----------------------------
|
||||
\RequirePackage{etoolbox}% \newbool, \ifbool, etc.
|
||||
%% Toolbox of many many macros that make a lot of latex code smarter and more robust
|
||||
%% http://texdoc.net/texmf-dist/doc/latex/etoolbox/etoolbox.pdf
|
||||
\RequirePackage{ifluatex} %% \ifluatex
|
||||
|
||||
%% ---------------- Boolean switches -----------------------------
|
||||
%% Booleans make it easy to enable and disable parts of the template
|
||||
\newbool{debug}
|
||||
\newbool{draftbool}
|
||||
\newbool{IS}
|
||||
\newbool{proof}
|
||||
|
||||
|
||||
%% ---------------- Declaration of Package Options--------------------
|
||||
%% Remember that we have \AtEndOfPackage{}
|
||||
%% \AtBeginDocument{}, \AtEndDocument{}
|
||||
%% If you want execution conditional on file existence
|
||||
%% \IfFileExists{filename}{true}{false}
|
||||
%% \InputIfFileExists{filename}{true}{false}
|
||||
%% For error reporting
|
||||
%% \PackageError{class-name}{error-text}{help-text}
|
||||
|
||||
% Generalized settings
|
||||
\DeclareOption{debug}{%
|
||||
\booltrue{debug}
|
||||
\typeout{ruthesis option: debug}%
|
||||
\typeout{DEBUG MODE ENABLED! PREPARE FOR VERBOSITY!}}
|
||||
|
||||
\DeclareOption{draft}{\booltrue{draftbool}}
|
||||
|
||||
\DeclareOption{IS}{\booltrue{IS}}
|
||||
|
||||
\ProvidesPackage{ruthesis}[2024/11/15 RU Thesis Formatting V3.2]
|
||||
%% --------------- Option Processing--------------------------
|
||||
%% The forcegraphics option renders graphics even in draft mode
|
||||
\DeclareOption{forcegraphics}{%
|
||||
\PassOptionsToPackage{final}{graphicx}
|
||||
\PassOptionsToPackage{final}{pdfpages}
|
||||
\PassOptionsToPackage{final}{hyperref}
|
||||
%% add any other elements that should be included in draft
|
||||
\finalifforcegraphics{graphicx}%We have to catch graphicx early
|
||||
\setbool{forcegraphics}{true}\typeout{ruthesis option: forcegraphics}%
|
||||
\typeout{ruthesis option: forcegraphics}%
|
||||
}%
|
||||
|
||||
%%% Memoir test: Memoir Manual 21.2 p.367
|
||||
@@ -65,63 +33,40 @@
|
||||
%% carefully before modifying any of the execution and previous section.
|
||||
%% ---------------- Package Loading -----------------------------
|
||||
|
||||
%% Now to print the status of all the booleans if debug boolean is set
|
||||
%% Any boolean testing must be after the \LoadClass otherwise the Option execution
|
||||
%% has not completed.
|
||||
\ifbool{debug}{%
|
||||
\ifbool{forcegraphics}{\typeout{ruthesis bool: forcegraphics}}{}
|
||||
\ifbool{proof}{\typeout{ruthesis bool: proof}}{}
|
||||
\ifbool{debug}{\typeout{ruthesis bool: debug}}{}
|
||||
}{}
|
||||
|
||||
%% ---------------- Internationalization -----------------------------
|
||||
%% Unicode setup
|
||||
\ifluatex\relax\else\RequirePackage[utf8]{inputenc}\RequirePackage[T1]{fontenc}\fi
|
||||
% Font setup
|
||||
% Standardized STIX2 fonts that print well, display on
|
||||
% e-readers/screens clearly, and have compatible licensing
|
||||
% requirements
|
||||
\RequirePackage{stix2}
|
||||
% allows UTF encoding, needed for Icelandic and other accented characters
|
||||
|
||||
\ifbool{IS}
|
||||
{\RequirePackage[english,icelandic]{babel}}%%Icelandic main language
|
||||
{\RequirePackage[icelandic,english]{babel}}%%English main language
|
||||
%% Babel allows various automatic text to be in selected languages
|
||||
%% But to use the options, you have to always load it, even for english
|
||||
%% The languages must be specified in order.
|
||||
|
||||
|
||||
\usepackage[useregional]{datetime2}
|
||||
%% Smart manipulation of dates
|
||||
\renewcommand{\date}[3]{\newcommand{\thedate}{\DTMdisplaydate{#1}{#2}{#3}{-1}}}
|
||||
\RequirePackage{unicode-math}% loads STIX and math unicode characters
|
||||
\setmathfont{STIX Two Math}
|
||||
\setmainfont{STIX Two Text}[
|
||||
Extension={.otf},
|
||||
UprightFont={*-Regular},
|
||||
BoldFont={*-Bold},
|
||||
ItalicFont={*-Italic},
|
||||
BoldItalicFont={*-BoldItalic}]
|
||||
%% ---------------- Page and Margin Sizes -----------------------------
|
||||
\setxlvchars{}\setlxvchars{}
|
||||
\pageaiv{}
|
||||
\setlrmarginsandblock{25.4mm}{25.4mm}{*}
|
||||
\setulmarginsandblock{25.4mm}{25.4mm}{*}
|
||||
\setpagecc{\paperheight}{\paperwidth}{*}%page area on middle center for cutting
|
||||
\checkandfixthelayout% implement the margins if we weren't using canonic
|
||||
|
||||
%% ---------------- Graphics ------------------------------
|
||||
\RequirePackage{graphicx}
|
||||
%% GraphicsX converts and includes graphics intelligently
|
||||
|
||||
|
||||
%% GraphicsX converts and includes graphics intelligently which is needed for jpg, png, etc.
|
||||
|
||||
%% ---------------- URLs and Paths -----------------------------
|
||||
\PassOptionsToPackage{obeyspaces,spaces,hyphens,allowmove}{url}
|
||||
\RequirePackage{url}
|
||||
%% The url package typesets \url{} and unix file \path{} nicely.
|
||||
\RequirePackage{xurl}
|
||||
%% The xurl package typesets \url{} and unix file \path{} nicely.
|
||||
%% Watch out that you leave a space after a last \ e.g. \path{C:\ }
|
||||
%% Warning: allowmove makes URLs not-fragile, so they can go in things that move
|
||||
%% If this breaks you will get very very weird errors
|
||||
%% ---------------- Miscellaneous Packages ----------------------
|
||||
%% ---------------- Fonts -----------------------------
|
||||
%% Important: The template has switched to STIX2 fonts and memoir defaults
|
||||
%% to massively simplify font selection. You should not need to mess with fonts.
|
||||
|
||||
% save the current font size
|
||||
\newlength{\normaltextsize}
|
||||
\setlength{\normaltextsize}{\f@size pt}
|
||||
|
||||
%%%%%%%%%%%%%%%%% Colors %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
|
||||
\RequirePackage{xcolor}
|
||||
\definecolor{rugray}{rgb}{0.2,0.2,0.2}
|
||||
\definecolor{rured}{rgb}{0.84,0.10,0.13}
|
||||
|
||||
%% ---------------- Main Code -----------------------------
|
||||
%% Remember that we can declare commands (to make fragile things safe)
|
||||
@@ -131,8 +76,6 @@
|
||||
%% For checking if commands are redefined
|
||||
%% \CheckCommand{cmd}[num][default]{definition}
|
||||
|
||||
|
||||
|
||||
%% Comprehensive list of styles for memoir is in 7.2 (page 106)
|
||||
%% If you need to adjust the style on the chapters, modify chapter
|
||||
%% predefined styles:
|
||||
@@ -141,30 +84,66 @@
|
||||
%% simple: pagenum and marks on top outer edges
|
||||
%\makeoddhead{chapter}{}{}{} %to change only one side
|
||||
|
||||
%% Information about Institution, Author, Degree, and Program
|
||||
\newcommand{\thesubtitle}{\quad}
|
||||
\newcommand{\theInstitution}{Reykjav\'{\i}k University}%
|
||||
\newcommand{\theDocumentType}{Dissertation}
|
||||
\newcommand{\theDegreeAbbrv}{Ph.D.}
|
||||
\newcommand{\theDegreeLong}{Doctorate}
|
||||
\newcommand{\theProgram}{\LaTeX{} Magic}
|
||||
\newcommand{\theECTS}{30}
|
||||
\newcommand{\theSchool}{School of Awesomeness}
|
||||
\newcommand{\DocumentInfo}[6]{
|
||||
\renewcommand{\theDocumentType}{#1}
|
||||
\renewcommand{\theDegreeAbbrv}{#2}
|
||||
\renewcommand{\theDegreeLong}{#3}
|
||||
\renewcommand{\theProgram}{#4}
|
||||
\renewcommand{\theECTS}{#5}
|
||||
% ECTS Only applicable on BSc. and MSc.
|
||||
% Leave blank
|
||||
\renewcommand{\theSchool}{#6}
|
||||
}
|
||||
|
||||
\newcommand{\subtitle}[1]{\renewcommand{\thesubtitle}{#1}}
|
||||
\newcommand{\supervisors@ruthesis}{\item No Advisor}
|
||||
\newcommand{\Supervisors}[1]{\renewcommand{\supervisors@ruthesis}[1]{#1}}
|
||||
\newcommand{\supervisorheading@ruthesis}{Supervisor}
|
||||
\newcommand{\SupervisorHeading}[1]{\renewcommand{\supervisorheading@ruthesis}{#1}}
|
||||
|
||||
\newcommand{\examiners@ruthesis}{\item No Examiner}
|
||||
\newcommand{\Examiners}[1]{\renewcommand{\examiners@ruthesis}[1]{#1}}
|
||||
\newcommand{\examinerheading@ruthesis}{Examiner}
|
||||
\newcommand{\ExaminerHeading}[1]{\renewcommand{\examinerheading@ruthesis}{#1}}
|
||||
|
||||
\newcommand{\docdesc@ruthesis}{\theDocumentType{} of \theECTS{} ECTS credits
|
||||
submitted to the \theSchool{} at \theInstitution{} in partial fulfillment
|
||||
of the requirements for the degree of \theDegreeLong}
|
||||
\newcommand{\DocumentDescription}[1]{\renewcommand{\docdesc@ruthesis}{#1}}%nop for now
|
||||
\newcommand{\pubplaceyear@ruthesis}{Reykjavik, 2025}
|
||||
\newcommand{\publocation}[1]{\renewcommand{\pubplaceyear@ruthesis}{#1}}
|
||||
\newcommand{\logo@ruthesis}{graphics/smiley-logo}
|
||||
\newcommand{\logo}[1]{\renewcommand{\logo@ruthesis}{#1}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%% TITLE PAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% Memoir titlepage definition and info at p.64
|
||||
|
||||
|
||||
%% Some may need a different front logo
|
||||
\newcommand{\frontlogo@ruthesis}{ru-logo}
|
||||
\newcommand{\frontlogo}[1]{\renewcommand{\frontlogo@ruthesis}{#1}}
|
||||
|
||||
|
||||
%% This hook puts a RU logo over the title
|
||||
%\renewcommand{\maketitlehooka}{\begin{centering}\includegraphics[width=4cm]{\frontlogo@ruthesis}\par\end{centering}\vspace{2mm}}%
|
||||
|
||||
\renewcommand{\pretitle}{\begin{center}}%
|
||||
\renewcommand{\posttitle}{\par\end{center}}
|
||||
|
||||
% \renewcommand{\maketitlehookb}{\begin{center}\titletextfont{}by\end{center}\vspace{1mm}}
|
||||
% 1mm adjustment to center the "by". I've disabled it because I think the "by" looks unprofessional.
|
||||
|
||||
\renewcommand{\preauthor}{\begin{center}\large\par}
|
||||
\renewcommand{\postauthor}{\par\end{center}}
|
||||
\newcommand{\titledetails}[1]{\renewcommand{\maketitlehookc}{#1}}
|
||||
\renewcommand{\predate}{\begin{center}\large}
|
||||
\renewcommand{\postdate}{\par\end{center}}
|
||||
%% \title is ignoring formatting for reasons I don't understand
|
||||
\renewcommand{\maketitlehooka}{
|
||||
\begin{center}
|
||||
\includegraphics[width=0.3\textwidth]{\logo@ruthesis}
|
||||
\par\end{center}\vspace{0.7cm}
|
||||
}
|
||||
%% TODO: investigate why bold isn't working on the title
|
||||
%\droptitle{}% length moves the title position up and down
|
||||
\pretitle{\begin{center}\bfseries\Huge}
|
||||
\posttitle{\par\end{center}\vspace{1.55cm}}
|
||||
\preauthor{\begin{center}\Large}
|
||||
\postauthor{\par\end{center}\vfill}
|
||||
\renewcommand{\maketitlehookc}{\begin{center}\textbf{\Large \theDegreeAbbrv{} \theDocumentType{} in \theProgram}\par\end{center}\vspace{1cm}}
|
||||
\predate{\begin{center}\large Graduation }
|
||||
\postdate{\par\end{center}\vspace*{0.4cm}}
|
||||
\renewcommand{\maketitlehookd}{\begin{center}
|
||||
\textbf{{\Large \theSchool}}\par\end{center}
|
||||
}
|
||||
\aliaspagestyle{title}{empty}
|
||||
|
||||
%% ----- COPYRIGHT PAGE -----------------------------------------------------------------------
|
||||
@@ -210,13 +189,29 @@
|
||||
\vfill
|
||||
\vspace*{2\baselineskip}
|
||||
\end{coverleft}
|
||||
\clearpage
|
||||
}
|
||||
|
||||
% %% names moved to inside cover
|
||||
% % change \personinfo to make the entries needed
|
||||
% % Because this is inside a command, we escape the #1 as ##1
|
||||
% \renewcommand{\personinfo}[5]{\item[] ##1, ##2\\##3, ##4, ##5}
|
||||
% % \setlength{\pltopsep}{0.5\baselineskip} % first/top space
|
||||
% % \setlength{\plparsep}{0.5\baselineskip} % space between entries
|
||||
% % \setlength{\plitemsep}{0.5\baselineskip} % space between lines
|
||||
% \begin{itemize}[label={}]
|
||||
% \item \supervisorheading@ruthesis{}:
|
||||
% \begin{itemize}[label={}]\setlength\itemsep{\baselineskip}
|
||||
% \supervisors@ruthesis{}
|
||||
% \end{itemize}
|
||||
% \end{itemize}
|
||||
% }\vfill}
|
||||
|
||||
|
||||
%% ---------- Page Styles --------------------------------------------------------------
|
||||
%% ---------------------------------------------------------------------------------------------
|
||||
%% Setup the formatting at the beginning of the document (Front material)
|
||||
%% TODO: use the memoir \frontmatter \mainmatter \backmatter
|
||||
%% See documentation, page 73
|
||||
%% See Memoir documentation, page 73
|
||||
|
||||
%%%%%%%%% PARAGRAPH ADJUSTMENTS %%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\newlength{\savedparindent}
|
||||
@@ -230,31 +225,31 @@
|
||||
}
|
||||
|
||||
%% Disable clearforchapter on formats that do not need blank pages
|
||||
\ifbool{draftbool}{\renewcommand{\clearforchapter}{\newpage}}
|
||||
% waste less blank pages in draft mode
|
||||
% see p123 http://ctan.uib.no/macros/latex/contrib/memoir/memman.pdf
|
||||
%\renewcommand{\clearforchapter}{\newpage}
|
||||
% waste less blank pages in draft mode
|
||||
% see p123 http://ctan.uib.no/macros/latex/contrib/memoir/memman.pdf
|
||||
|
||||
\newenvironment{cover}% commonalities for the cover material
|
||||
{\thispagestyle{cover}%
|
||||
\pagestyle{cover}%
|
||||
\clearforchapter%
|
||||
{ \clearforchapter%
|
||||
\thispagestyle{cover}%
|
||||
\disableindents%
|
||||
\SingleSpacing}%
|
||||
{%\setlength{\TPMargin}{0mm} %% margins inside the textblock
|
||||
\enableindents{}\newpage}%
|
||||
|
||||
|
||||
\newenvironment{coverleft}%This is material that is OK being on the
|
||||
%backside
|
||||
{\thispagestyle{cover}%
|
||||
\pagestyle{cover}%
|
||||
\cleartoverso%
|
||||
%\clearforchapter% clear to chapter setting
|
||||
%% I don't remember why we need to mess with \TPmargin
|
||||
%% Might be OK to remove --foley
|
||||
\enableindents{}}%
|
||||
\newenvironment{coverleft}% material that must be on the even (back) side
|
||||
{ \cleartoverso%
|
||||
\thispagestyle{cover}%
|
||||
\disableindents%
|
||||
\SingleSpacing}%
|
||||
{%\setlength{\TPMargin}{0mm} %% margins inside the textblock
|
||||
%% I don't remember why we need to mess with \TPmargin --foley
|
||||
\enableindents{}\newpage}%
|
||||
{\enableindents{}}%
|
||||
% \newenvironment{coveranyside}%This is material that can start on even or odd
|
||||
% { \clearpage%
|
||||
% \thispagestyle{cover}%
|
||||
% \disableindents%
|
||||
% \SingleSpacing}%
|
||||
% {\enableindents{}}%
|
||||
|
||||
|
||||
|
||||
@@ -263,30 +258,11 @@
|
||||
\begin{center}\em}
|
||||
{\end{center}\normalfont\end{vplace}\end{cover}}
|
||||
|
||||
%%%%%%%%%%%% DRAFT AND PROOF MARKS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\newcommand{\draftmark}{}
|
||||
\newcommand{\draftbigmark}{}
|
||||
|
||||
\ifbool{proof}{\renewcommand{\draftmark}{{\color{blue}\textsc{Proof}}}%
|
||||
\renewcommand{\draftbigmark}{{\color{blue}\warningfont{}*** \draftmark{} *** \\PLEASE DO NOT DISTRIBUTE\\}}}{}
|
||||
\ifbool{draftbool}{\renewcommand{\draftmark}{{\color{red}\textsc{Draft}}}%
|
||||
\renewcommand{\draftbigmark}{{\color{red}\warningfont{}*** \draftmark{} *** \\PLEASE DO NOT DISTRIBUTE\\}}}{}%
|
||||
%%% Page styles Memoir Manual ch7.2 p109
|
||||
\aliaspagestyle{book}{simple}
|
||||
\aliaspagestyle{chapter}{plain}%At the beginning we want page numbers on chapters
|
||||
\aliaspagestyle{cleared}{simple}
|
||||
\aliaspagestyle{part}{empty}
|
||||
\aliaspagestyle{title}{simple}
|
||||
\aliaspagestyle{titlinpage}{empty}
|
||||
|
||||
% \ifboolexpr{bool {draftbool} or bool {proof}}{
|
||||
% \makeoddfoot{cover}{}{\thepage}{\draftmark}
|
||||
% \makeevenfoot{cover}{\draftmark}{\thepage}{}
|
||||
% %\makeoddfoot{plain}{}{\thepage}{\draftmark}
|
||||
% %\makeevenfoot{plain}{\draftmark}{\thepage}{}
|
||||
% \makeoddfoot{simple}{}{}{\draftmark}
|
||||
% \makeevenfoot{simple}{\draftmark}{}{}
|
||||
% }{}
|
||||
|
||||
\makepagestyle{plain}% Just page numbers in corners
|
||||
\makeevenhead{plain}{\thepage}{}{}
|
||||
@@ -296,32 +272,34 @@
|
||||
\makeoddfoot{cover}{}{}{}
|
||||
\makeevenfoot{cover}{}{}{}
|
||||
|
||||
\newcommand{\coverchapter}[1]{\clearforchapter\pagestyle{cover}\chapter{#1}\thispagestyle{cover}}
|
||||
|
||||
\newcommand{\frontmatterhead}[1]{{%based upon \chapterhead from memman.pdf p.84
|
||||
% \clearpage% move to correct page
|
||||
\disableindents%
|
||||
\thispagestyle{chapter} % set the page style
|
||||
\insertchapterspace% space between previous and the title
|
||||
\chapterheadstart%\beforchapskip space before heading
|
||||
\printchaptertitle{#1}% title
|
||||
\addcontentsline{toc}{chapter}{#1}
|
||||
\afterchaptertitle% \afterchapskip space after title
|
||||
}}
|
||||
|
||||
%%% Section numbering and the Table of Contents
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55
|
||||
\maxsecnumdepth{subsubsection} % default by \mainmatter in preamble
|
||||
%\setsecnumdepth{subsubsection} % can be changed later
|
||||
\maxtocdepth{subsubsection} % default by \mainmatter in preamble
|
||||
%\settocdepth{subsubsection} % can be changed later
|
||||
|
||||
%%% Code to include files if they exist
|
||||
\newcommand{\InputIfExists}[1]{\IfFileExists{#1}{\input{#1}}{}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% TWEAKS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%
|
||||
%% Some adjustments to float placement
|
||||
\setcounter{topnumber}{5} \def\topfraction{1} \setcounter{bottomnumber}{4}
|
||||
\def\bottomfraction{1} \setcounter{totalnumber}{10} \def\textfraction{0}
|
||||
\def\floatpagefraction{.5}
|
||||
|
||||
%\def\@makefnmark{\rlap{\@textsuperscript{\@thefnmark}}}
|
||||
%% Not sure why there was a footnote adjustment on the cover
|
||||
%% Disabling for now.
|
||||
|
||||
%% Penalties for various text placement issues
|
||||
%% They can cause strange paragraph spacing on some pages
|
||||
%% Disabling for now --foley
|
||||
@@ -335,59 +313,6 @@
|
||||
%% Allowing ragged bottoms keeps the spacing consistent between paragraphs
|
||||
%% Alternatively: \setlength{\parskip}{0pt}
|
||||
|
||||
%\newcommand{\draftnote}[1]{\ifdraft{{\color{gray}#1}}}
|
||||
|
||||
%% We need the paralist and dashrule package in order to format the signature pages
|
||||
\RequirePackage{paralist}
|
||||
\RequirePackage{dashrule}
|
||||
|
||||
%% Information about Institution, Author, Degree, and Program
|
||||
\newcommand{\theInstitution}{Reykjav\'{\i}k University}%
|
||||
\newcommand{\theInstitutionAddress}{Menntavegur 1\\102 Reykjavík, Iceland}
|
||||
\newcommand{\theInstitutionPhone}{+354 599 6200}
|
||||
\newcommand{\theInstitutionURL}{www.ru.is}%
|
||||
|
||||
\newcommand{\theDocumentType}{Dissertation}
|
||||
\newcommand{\theDegreeAbbrv}{Ph.D.}
|
||||
\newcommand{\theDegreeLong}{Doctorate}
|
||||
\newcommand{\theProgram}{\LaTeX{} Magic}
|
||||
\newcommand{\theECTS}{30}
|
||||
\newcommand{\theSchool}{School of Awesomeness}
|
||||
\newcommand{\DocumentInfo}[6]{
|
||||
\renewcommand{\theDocumentType}{#1}
|
||||
\renewcommand{\theDegreeAbbrv}{#2}
|
||||
\renewcommand{\theDegreeLong}{#3}
|
||||
\renewcommand{\theProgram}{#4}
|
||||
\renewcommand{\theECTS}{#5}
|
||||
% ECTS Only applicable on BSc. and MSc.
|
||||
% Leave blank
|
||||
\renewcommand{\theSchool}{#6}
|
||||
}
|
||||
\newcommand{\theDegreeAndDepartment}{\theDegreeLong (\theDegreeAbbrv) in \theProgram{}}
|
||||
|
||||
|
||||
|
||||
\newcommand{\supervisors@ruthesis}{\item No Advisor}
|
||||
\newcommand{\Supervisors}[1]{\renewcommand{\supervisors@ruthesis}[1]{#1}}
|
||||
\newcommand{\supervisorheading@ruthesis}{Supervisor}
|
||||
\newcommand{\SupervisorHeading}[1]{\renewcommand{\supervisorheading@ruthesis}{#1}}
|
||||
|
||||
\newcommand{\examiners@ruthesis}{\item No Examiner}
|
||||
\newcommand{\Examiners}[1]{\renewcommand{\examiners@ruthesis}[1]{#1}}
|
||||
\newcommand{\examinerheading@ruthesis}{Examiner}
|
||||
\newcommand{\ExaminerHeading}[1]{\renewcommand{\examinerheading@ruthesis}{#1}}
|
||||
|
||||
\newcommand{\personinfo}[5]{
|
||||
\item[] #1, #2\\#3, #4, #5 %Stub to be customized later
|
||||
}
|
||||
|
||||
\newenvironment{peoplelist}
|
||||
{\begin{compactitem}[\hspace{10mm}]}
|
||||
{\end{compactitem}}
|
||||
|
||||
\newenvironment{rolelist}
|
||||
{\begin{compactitem}[\hspace{10mm}]}
|
||||
{\end{compactitem}}
|
||||
|
||||
|
||||
%% Clean up some formatting for the text
|
||||
@@ -398,96 +323,11 @@
|
||||
%\renewcommand{\thefootnote}{\scriptsize\arabic{footnote}} %to fix large footnote text errors in some documents
|
||||
|
||||
\renewcommand{\bibname}{Bibliography} %Renaming the bibliography section (if omitted it will be named "references")
|
||||
|
||||
|
||||
%% ----- PRINTED FRONT COVER (PHD) ----------------------------------------------------------
|
||||
%% This cover will be on the outside (not with window)
|
||||
%% Needs textpos package!
|
||||
\RequirePackage{calc}%arithmetic on lengths
|
||||
|
||||
\RequirePackage{printlen}% display lengths in arbitrary units
|
||||
\ifbool{debug}{\PassOptionsToPackage{showboxes}{textpos}}
|
||||
\RequirePackage[absolute, verbose]{textpos}%
|
||||
|
||||
%% These commands set the units in \begin{textblock} when not
|
||||
%% directly specified
|
||||
%% We set them to the page sizes so we can align from them
|
||||
\setlength{\TPHorizModule}{\paperwidth}
|
||||
\setlength{\TPVertModule}{\paperheight}
|
||||
\setlength{\TPMargin}{2mm}%% margins inside the textblock*
|
||||
\textblockorigin{0mm}{0mm}% start everything near the top-left corner
|
||||
\newlength{\pagecenterx}%
|
||||
\setlength{\pagecenterx}{0.5\stockwidth}
|
||||
\newlength{\pagecentery}
|
||||
\setlength{\pagecentery}{0.5\stockheight}
|
||||
|
||||
%% ----- INTERNAL TITLE PAGE WITH COMMITTEE ---------------------------------------------------
|
||||
%% TODO: make counter for supervisors in the very rare case that there
|
||||
%% is only one supervisor
|
||||
\newcommand{\DocumentDescription}[1]{\renewcommand{\maketitlehookc}{{\begin{center}#1\par\end{center}}}}
|
||||
|
||||
%% maketitlehookd is after the date
|
||||
\renewcommand{\maketitlehookd}{{%
|
||||
\vspace{2\baselineskip}
|
||||
% change \personinfo to make the entries needed
|
||||
% Because this is inside a command, we escape the #1 as ##1
|
||||
\renewcommand{\personinfo}[5]{\item[] ##1, ##2\\##3, ##4, ##5}
|
||||
\setlength{\pltopsep}{0.5\baselineskip} % first/top space
|
||||
\setlength{\plparsep}{0.5\baselineskip} % space between entries
|
||||
\setlength{\plitemsep}{0.5\baselineskip} % space between lines
|
||||
\begin{rolelist}
|
||||
\item \supervisorheading@ruthesis{}:
|
||||
\begin{peoplelist}
|
||||
\supervisors@ruthesis{}
|
||||
\end{peoplelist}
|
||||
\end{rolelist}
|
||||
}\vfill}
|
||||
|
||||
|
||||
%% ----- SIGNATURE PAGE, ONLY THESIS -----------------------------------------------------
|
||||
\newlength{\signaturey}
|
||||
\setlength{\signaturey}{8mm}
|
||||
\newlength{\signaturex}
|
||||
\setlength{\signaturex}{100mm}
|
||||
|
||||
\newcommand{\signaturepage}{
|
||||
\begin{cover}
|
||||
The undersigned hereby certify that they recommend to the
|
||||
\theSchool{} at \theInstitution{} for acceptance this
|
||||
\theDocumentType{} entitled \textbf{\thetitle}
|
||||
submitted by \textbf{\theauthor} in partial fulfillment
|
||||
of the requirements for the degree of \textbf{\theDegreeAndDepartment}%
|
||||
\vspace*{2\baselineskip}
|
||||
|
||||
\newcommand{\signline}[2]{\item \hdashrule{##2}{1pt}{1pt}\\##1}
|
||||
\renewcommand{\personinfo}[5]{\item\hdashrule{\signaturex}{1pt}{1pt}\\##1, ##2\\##3, ##4, ##5\\\vspace{\signaturey}\\}
|
||||
\setlength{\pltopsep}{2\baselineskip} % first/top space
|
||||
\setlength{\plparsep}{2\baselineskip} % space between entries
|
||||
\setlength{\plitemsep}{0.5\baselineskip} % space between lines
|
||||
{%\sigtextfont%
|
||||
% change \personinfo to make the entries needed
|
||||
% Because this is inside a command, we escape the #1 as ##1
|
||||
\renewcommand{\personinfo}[5]{&\hdashrule{\signaturex}{1pt}{1pt}\\&##1\\\vspace{\signaturey}\\}
|
||||
\begin{compactitem}[]
|
||||
\signline{date}{50mm}
|
||||
\end{compactitem}
|
||||
\begin{tabular}{lll}
|
||||
Student:\\
|
||||
\personinfo{\theauthor}{}{}{}{}\\
|
||||
\supervisorheading@ruthesis:\\
|
||||
\supervisors@ruthesis{}\\
|
||||
%\examinerheading@ruthesis:\\%% MSc old template
|
||||
%\examiners@ruthesis{}
|
||||
\end{tabular}
|
||||
}% end sigtextfont
|
||||
\end{cover}
|
||||
}
|
||||
|
||||
|
||||
|
||||
\renewenvironment{abstract}
|
||||
{\begin{coverleft}{\centering%
|
||||
{{\Large \thetitle}\\}%%
|
||||
{\begin{cover}{\centering%
|
||||
{{\Large \@title}\\}%%
|
||||
\vspace{\baselineskip}
|
||||
\theauthor\\%
|
||||
\vspace{\baselineskip}
|
||||
@@ -495,10 +335,28 @@
|
||||
}%
|
||||
\enableindents{}
|
||||
\textbf{Abstract}\par\vspace{1ex}}
|
||||
{\par\end{coverleft}\newpage}
|
||||
{\par\end{cover}\newpage}
|
||||
|
||||
|
||||
%%% from the old cs template, if so desired
|
||||
%\makepagestyle{oldstyle}
|
||||
%\makeoddhead{oldstyle}{\footnotesize{\authorHeader@ruthesis}}{}{\footnotesize{\thepage}}
|
||||
%\makeevenhead{oldstyle}{\footnotesize{\thepage}}{}{\footnotesize{\thetitle}}
|
||||
|
||||
%%%%%%%%%% Metadata for pdf file %%%%%%%%%%%%%%%%%%%%%%
|
||||
\AddToHook{beforedocument/before}{%
|
||||
%% package hyperref needs to be last, so we use a hook
|
||||
\PassOptionsToPackage{hidelinks}{hyperref}%disable boxes around links
|
||||
\RequirePackage{hyperref}
|
||||
\hypersetup{
|
||||
pdfauthor = {\theauthor{}},
|
||||
pdftitle = {\thetitle},
|
||||
%pdfsubject = {Templates},
|
||||
%pdfkeywords = {\theInstitution{}, Template, Thesis}
|
||||
}
|
||||
}
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "main"
|
||||
%%% TeX-engine: luatex
|
||||
%%% End:
|
||||
|
||||
Reference in New Issue
Block a user