Initial commit of master's thesis
This is the version I submitted to RWTH Aachen University at November 9, 2018.
This commit is contained in:
315
template/acsthesis.cls
Normal file
315
template/acsthesis.cls
Normal file
@@ -0,0 +1,315 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesClass{template/acsthesis}[2015/05/21 Template for Student Theses at ACS]
|
||||
|
||||
\LoadClass[12pt, % Fontsize
|
||||
a4paper, % Paper format
|
||||
listof=totoc, % 'List of Tables' and 'List of Figures' in table of contents (toc)
|
||||
numbers=noenddot, % Deactivate dot behind last number in toc
|
||||
index=totoc, % Add index to toc
|
||||
BCOR=1cm, % additional margin for binding
|
||||
]{scrbook}
|
||||
|
||||
%------------------------------------------------------------------------------%
|
||||
% Include packages
|
||||
%------------------------------------------------------------------------------%
|
||||
% Footnote has to be included _before_ hyperref
|
||||
\usepackage{fnpct}
|
||||
|
||||
\RequirePackage[table]{xcolor}
|
||||
\RequirePackage[utf8]{luainputenc} % Enconding of the tex file
|
||||
\RequirePackage{cmap} % Nice ligatures
|
||||
\RequirePackage[T1]{fontenc} % Encoding of the output PDF
|
||||
\RequirePackage{textcomp} % ????
|
||||
\RequirePackage{lmodern} % Use modern Linux fonts
|
||||
\RequirePackage{graphicx} % Include graphics via 'includegraphic'
|
||||
\RequirePackage{makeidx} % Create an index if desired
|
||||
\RequirePackage[binary-units]{siunitx} % Nice numbers with units
|
||||
\RequirePackage{hyperref} % Links within document
|
||||
\RequirePackage{xparse} % NewDocumentCommand etc.
|
||||
\RequirePackage{etoolbox} % If-then-else
|
||||
\RequirePackage{ifthen} % If-then-else
|
||||
\RequirePackage{babel} %
|
||||
\RequirePackage{booktabs} % nicer tables
|
||||
\RequirePackage{tikz} % draw pictures
|
||||
\RequirePackage{pgfplots} % use for printing diagrams
|
||||
\RequirePackage{listings}
|
||||
\RequirePackage{relsize}
|
||||
|
||||
%For German hyphenation in statement and admonition
|
||||
\hyphenation{Vor-schrif-ten}
|
||||
%------------------------------------------------------------------------------%
|
||||
% Command and environment definitions
|
||||
%------------------------------------------------------------------------------%
|
||||
\newcommand{\addinstitute}[3]{} % Institute hinzufuegen
|
||||
% #1 Kuerzel fuer Referenz, z.B. lfbs
|
||||
% #2 Titel des Instituts, z.B. Chair for OS, RWTH Aachen University
|
||||
% #3 Referenzzeichen, z.B. (*) oder irgendein Symbol
|
||||
|
||||
|
||||
\newcommand{\printinstitutes}{}
|
||||
\newcommand{\printsupervisors}{}
|
||||
\newcommand{\printsecondreferees}{}
|
||||
|
||||
% ----- Abstract (german and english)
|
||||
\addto\captionsgerman{%
|
||||
\RenewDocumentCommand \abstractname {} {Kurzfassung}
|
||||
\def\@keywordName{Stichw\"orter}
|
||||
\def\@keywords{\@keywordsDE}
|
||||
}
|
||||
\addto\captionsngerman{%
|
||||
\RenewDocumentCommand \abstractname {} {Kurzfassung}
|
||||
\def\@keywordName{Stichw\"orter}
|
||||
\def\@keywords{\@keywordsDE}
|
||||
}
|
||||
\addto\captionsenglish{%
|
||||
\def\@keywordName{Keywords}
|
||||
\def\@keywords{\@keywordsEN}
|
||||
}
|
||||
|
||||
\NewDocumentEnvironment{abstract}{}%
|
||||
{
|
||||
\addchap*{\abstractname}
|
||||
}%
|
||||
{%end-defs
|
||||
\bigskip\par
|
||||
\textbf{\@keywordName:} \@keywords
|
||||
}
|
||||
|
||||
% ----- User commands
|
||||
\def\@titleEN{\@title}
|
||||
\def\@thesisType{Unknown Thesis Type}
|
||||
\NewDocumentCommand \titleDE { m } {\def\@titleDE{#1}}
|
||||
\NewDocumentCommand \titleEN { m } {\def\@titleEN{#1}}
|
||||
\NewDocumentCommand \matrNr { m } {\def\@matrNr{#1}}
|
||||
\NewDocumentCommand \submissionDate { m } {\def\@submissionDate{#1}}
|
||||
\NewDocumentCommand \addSupervisor { m } {\edef\@supervisors{#1}}
|
||||
\NewDocumentCommand \keywordsDE { m } {\def\@keywordsDE{#1}}
|
||||
\NewDocumentCommand \keywordsEN { m } {\def\@keywordsEN{#1}}
|
||||
\NewDocumentCommand \thesisType { m } {%
|
||||
\ifstrequal{#1}{master}{%
|
||||
\iflanguage{ngerman}{%
|
||||
\def\@thesisType{Masterarbeit}
|
||||
}{%
|
||||
\def\@thesisType{Master Thesis}
|
||||
}
|
||||
\def\@thesisTypeDeclaration{Masterarbeit}
|
||||
}{%
|
||||
}
|
||||
\ifstrequal{#1}{bachelor}{%
|
||||
\iflanguage{ngerman}{%
|
||||
\def\@thesisType{Bachelorarbeit}
|
||||
}{%
|
||||
\def\@thesisType{Bachelor Thesis}
|
||||
}
|
||||
\def\@thesisTypeDeclaration{Bachelorarbeit}
|
||||
}{%
|
||||
}
|
||||
}
|
||||
\newtoggle{printSignatures}
|
||||
\togglefalse{printSignatures}
|
||||
\NewDocumentCommand \printSignatures { } {%
|
||||
\toggletrue{printSignatures}
|
||||
}
|
||||
|
||||
|
||||
%
|
||||
% Institut hinzufuegen (falls mehrere Institute/Firmen involviert)
|
||||
% #1 Kuerzel (zur Verwendung mit \instituteref)
|
||||
% #2 Kompletter Name des Instituts
|
||||
% #3 Symbol zur Kennzeichnung von Betreuer/Institut
|
||||
%
|
||||
\newtoggle{printInstitutes}
|
||||
\togglefalse{printInstitutes}
|
||||
\renewcommand{\printinstitutes}{}
|
||||
\newcommand{\instref}{}
|
||||
\renewcommand{\addinstitute}[3]{%
|
||||
\expandafter\def\csname instref#1\endcsname{#3}% % Definiere z.B. \instreflfbs als #3
|
||||
\expandafter\def\csname instname#1\endcsname{#2}% % Definiere z.B. \instnamelfbs als #2
|
||||
% Neues Institut an "Tabelle" anhaengen
|
||||
\protected@edef\printinstitutes{\printinstitutes#3 #2\\}% % \printinstitutes expandieren und mit Zusatz
|
||||
% wieder speichern
|
||||
\toggletrue{printInstitutes}% % Wenn wir ein Inst. definiert haben, auch drucken
|
||||
}
|
||||
% Anwenderbefehl zum referenzieren des Instituts
|
||||
\NewDocumentCommand \instituteref { m }{ % Definiere z.B. \instituteref{lfbs} als \instreflfbs
|
||||
\expandafter\csname instref#1\endcsname
|
||||
% \csdef{instref#1}{}
|
||||
}
|
||||
|
||||
|
||||
%
|
||||
% Betreuer hinzufuegen
|
||||
%
|
||||
\newlength{\@templength}
|
||||
\newlength{\@supervisorlength} % Laenge des laengsten Betreuernamens
|
||||
\newlength{\@supervisorlabellength} % Laenge des laengsten Betreuerlabels (Betreuer, Zweitgutachter etc.)
|
||||
\newlength{\@supervisornamelength} % Laenge des Betreuerlabels (z.B. Betreuer)
|
||||
\newlength{\@secondrefereenamelength} % Laenge des Zweitgutachterlabels (z.B. Zweitgutachter)
|
||||
|
||||
|
||||
\NewDocumentCommand \addsupervisor { O{} m }{%
|
||||
\ifcsundef{instref#1}{% \instrefxyz not defined
|
||||
\ClassError{template/acsthesis}
|
||||
{Institute "#1" not defined. Institute must be defined before using a reference to it}
|
||||
{Please define institute before using a reference to it.}
|
||||
}{%else
|
||||
\settowidth{\@templength}{#2 \instituteref{#1}}
|
||||
\ifnumcomp{\@templength}{>}{\@supervisorlength}{%
|
||||
\setlength{\@supervisorlength}{\@templength}
|
||||
}{%else
|
||||
}
|
||||
% Neuen Betreuer an "Tabelle" anhaengen
|
||||
\ifthenelse{\equal{\printsupervisors}{}}
|
||||
{\g@addto@macro\printsupervisors{#2 \instituteref{#1}}} %1. Eintrag
|
||||
{\g@addto@macro\printsupervisors{\\ #2 \instituteref{#1}}} %Folgende Eintraege
|
||||
}
|
||||
}
|
||||
|
||||
%
|
||||
% Zweitgutachter hinzufuegen
|
||||
%
|
||||
\newtoggle{secondReferee}
|
||||
\togglefalse{secondReferee}
|
||||
\NewDocumentCommand \addsecondreferee { O{} m }{%
|
||||
\ifcsundef{instref#1}{% \instrefxyz not defined
|
||||
\ClassError{template/acsthesis}
|
||||
{Institute "#1" not defined. Institute must be defined before using a reference to it}
|
||||
{Please define institute before using a reference to it.}
|
||||
}{%else
|
||||
\settowidth{\@templength}{#2 \instituteref{#1}}
|
||||
\ifthenelse{\@templength>\@supervisorlength}
|
||||
{\setlength{\@supervisorlength}{\@templength}}%true
|
||||
{}%false
|
||||
% Neuen Zweitgutachter an "Tabelle" anhaengen
|
||||
\ifthenelse{\equal{\printsecondreferees}{}}
|
||||
{\g@addto@macro\printsecondreferees{#2 \instituteref{#1}}} %1. Eintrag
|
||||
{\g@addto@macro\printsecondreferees{\\ #2 \instituteref{#1}}} %Folgende Eintraege
|
||||
\toggletrue{secondReferee}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
% ----- Statement of authorship
|
||||
\NewDocumentCommand \statementOfAuthorship { } {%
|
||||
\thispagestyle{empty}
|
||||
|
||||
%\vspace*{\stretch{2}}
|
||||
|
||||
\@statement
|
||||
\vspace{0.5cm}
|
||||
\@datesignature \\
|
||||
%\vspace{\stretch{1}}
|
||||
\vspace{1cm}
|
||||
|
||||
\@admonition
|
||||
\vspace{0.5cm}
|
||||
\@datesignature
|
||||
%\vspace{\stretch{1}}
|
||||
}
|
||||
|
||||
\def\@statement{%
|
||||
\subsection*{Eidesstattliche Versicherung}
|
||||
Ich, \@author{} (Matrikelnummer \@matrNr{}), versichere hiermit an Eides Statt, dass ich die vorliegende \@thesisTypeDeclaration{} mit dem Titel
|
||||
\begin{center}
|
||||
\textit
|
||||
\@titleDE
|
||||
\end{center}
|
||||
selbstständig und ohne unzulässige fremde Hilfe erbracht habe. Ich habe keine anderen als die angegebenen Quellen und Hilfsmittel benutzt. Für den Fall, dass die Arbeit zusätzlich auf einem Datenträger eingereicht wird, erkläre ich, dass die schriftliche und die elektronische Form vollständig übereinstimmen. Die Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen.
|
||||
|
||||
\vspace{.5cm}
|
||||
}
|
||||
|
||||
\def\@admonition{%
|
||||
\subsection*{Belehrung}
|
||||
\subsubsection*{\smaller \S 156 StGB: Falsche Versicherung an Eides Statt}
|
||||
{\smaller%
|
||||
Wer vor einer zur Abnahme einer Versicherung an Eides Statt zuständigen Behörde eine solche Versicherung falsch abgibt oder unter Berufung auf eine solche Versicherung falsch aussagt, wird mit einer Freiheitsstrafe bis zu drei Jahren oder mit Geldstrafe bestraft.
|
||||
}
|
||||
|
||||
\subsubsection*{\smaller \S 161 StGB: Fahrlässiger Falscheid; fahrlässige falsche Versicherung an Eides Statt}
|
||||
{\smaller%
|
||||
\begin{itemize}
|
||||
\item[(1)] Wenn eine der in den \S\S{} 154 bis 156 bezeichneten Handlungen aus Fahrlässigkeit begangen worden ist, so tritt Freiheitsstrafe bis zu einem Jahr oder Geldstrafe ein.
|
||||
\item[(2)] Straflosigkeit tritt ein, wenn der Täter die falsche Angabe rechtzeitig berichtigt. Die Vorschriften des \S 158 Abs. 2 und 3 gelten entsprechend.
|
||||
\end{itemize}
|
||||
Die vorstehende Belehrung habe ich zur Kenntnis genommen:
|
||||
}
|
||||
|
||||
\vspace{.5cm}
|
||||
}
|
||||
|
||||
% ----- Language dependent variables
|
||||
\iflanguage{ngerman}{%
|
||||
\def\@tpName{Titelseite}
|
||||
\def\@tocName{Inhaltsverzeichnis}
|
||||
\def\@mainTitle{\@titleDE}
|
||||
\def\@subTitle{\@titleEN}
|
||||
\def\@matrNrName{Matrikelnummer}
|
||||
\def\@supervisorName{Betreuer}
|
||||
\def\@secondRefereeName{Zweitgutachter}
|
||||
\def\@firstExaminer{Erstprüfer}
|
||||
\def\@secondExaminer{Zweitprüfer}
|
||||
\def\@aachenDateName{Aachen, den \@submissionDate}
|
||||
\def\@datesignature{\makebox[6cm]{\hrulefill} \hfill \makebox[7cm]{\hrulefill} \makebox[6cm]{Ort, Datum} \hfill \makebox[7cm]{Unterschrift}}
|
||||
\def\@rwthAcsName{%
|
||||
Diese Arbeit wurde vorgelegt an der\\
|
||||
Rheinisch-Westf\"alischen Technischen Hochschule Aachen\\
|
||||
Fakult\"at f\"ur Elektrotechnik und Informationstechnik\\
|
||||
Lehrstuhl f\"ur Automation of Complex Power Systems\\
|
||||
Univ.-Prof. Antonello Monti, Ph.\,D.
|
||||
}
|
||||
}{%
|
||||
\renewcommand\lstlistlistingname{List of Listings}
|
||||
%
|
||||
\def\@tpName{Title Page}
|
||||
\def\@tocName{Table of Contents}
|
||||
\def\@mainTitle{\@titleEN}
|
||||
\def\@subTitle{\@titleDE}
|
||||
\def\@matrNrName{Matriculation Number}
|
||||
\def\@supervisorName{Supervisors}
|
||||
\def\@secondRefereeName{Second Referee}
|
||||
\def\@firstExaminer{1\textsuperscript{st} Examiner}
|
||||
\def\@secondExaminer{2\textsuperscript{nd} Examiner}
|
||||
\def\@aachenDateName{Aachen, \@submissionDate}
|
||||
\def\@datesignature{ \makebox[6cm]{\hrulefill} \hfill \makebox[7cm]{\hrulefill} \makebox[6cm]{Ort, Datum} \hfill \makebox[7cm]{Unterschrift}}
|
||||
\def\@rwthAcsName{%
|
||||
The present work was submitted to \\
|
||||
RWTH Aachen University\\
|
||||
Faculty of Electrical Engineering and Information Technology\\
|
||||
Institute for Automation of Complex Power Systems\\
|
||||
Univ.-Prof. Antonello Monti, Ph.\,D.
|
||||
}
|
||||
}
|
||||
|
||||
\input{template/titlepage}
|
||||
|
||||
%------------------------------------------------------------------------------%
|
||||
% Create cover, table of contents, etc.
|
||||
%------------------------------------------------------------------------------%
|
||||
\AtBeginDocument{%
|
||||
% Everything before the first chapter with roman page numbers
|
||||
\frontmatter
|
||||
\clearpage
|
||||
\phantomsection
|
||||
\pdfbookmark[0]{Title Page}{title}
|
||||
\maketitle
|
||||
\cleardoublepage
|
||||
\statementOfAuthorship
|
||||
\cleardoublepage
|
||||
\phantomsection\pdfbookmark{\abstractname}{abstract}
|
||||
\input{abstract}
|
||||
\cleardoublepage
|
||||
\phantomsection\pdfbookmark{\@tocName}{toc}
|
||||
\tableofcontents
|
||||
|
||||
% Here comes the students code
|
||||
\mainmatter
|
||||
}
|
||||
|
||||
\AtEndDocument{%
|
||||
\cleardoublepage
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{chapter}{Bibliography}
|
||||
\printbibliography
|
||||
\printindex
|
||||
}
|
27
template/config.tex
Normal file
27
template/config.tex
Normal file
@@ -0,0 +1,27 @@
|
||||
\title{Implementation and Analysis of an\\ InfiniBand based Communication in a Real-Time Co-Simulation Framework}
|
||||
\titleDE{Implementierung und Analyse einer auf\\ InfiniBand basierten Kommunikation in einem Echtzeit Co-Simulationsframework}
|
||||
\thesisType{master} % 'bachelor' or 'master'
|
||||
\author{Dennis Potter}
|
||||
\matrNr{315248}
|
||||
\submissionDate{\today}
|
||||
\keywordsDE{InfiniBand, Co-Simulation, RDMA, Echtzeit, VILLASframework, VILLASnode, OFED, OpenFabrics, HPC}
|
||||
\keywordsEN{InfiniBand, co-simulation, RDMA, real-time, VILLASframework, VILLASnode, OFED, OpenFabrics, HPC}
|
||||
|
||||
\printSignatures % print signatures
|
||||
% on title page for
|
||||
% the registration
|
||||
|
||||
\addsupervisor{Lukas Razik} % Supervisor
|
||||
\addsupervisor{Steffen Vogel} % Second supervisor
|
||||
|
||||
% In case of a second referee
|
||||
%\addsecondreferee{Dr.\,rer.\,nat. Unknown} % Second referee
|
||||
|
||||
% In case of more than one intitute (e.g., external thesis)
|
||||
%\addinstitute{acs}{Institute for Automation of Complex Power Systems}{(')}
|
||||
%\addinstitute{osl}{Open Systems Laboratory, Indiana University}{(*)}
|
||||
%\addsupervisor[acs]{Univ.-Prof. Dr. Antonello Monti}
|
||||
%\addsupervisor[osl]{Dipl.-Ing. Mark Musterassi} % Betreuer
|
||||
%\addsecondreferee{Dr.\,rer.\,nat. Unknown} % Zweitgutachter
|
||||
|
||||
|
268
template/includes.tex
Normal file
268
template/includes.tex
Normal file
@@ -0,0 +1,268 @@
|
||||
% Add further definitions and additional packages here
|
||||
\usetikzlibrary{positioning, arrows, shapes, shadows, calc, fit}
|
||||
\usepackage{subcaption}
|
||||
\usepackage{csquotes}
|
||||
|
||||
% Avoid warning about deprecated packages
|
||||
\usepackage{scrhack}
|
||||
|
||||
% Math packages
|
||||
\usepackage{amssymb}
|
||||
\usepackage{mathtools}
|
||||
|
||||
% Settings for sublistings
|
||||
\usepackage{newfloat,caption}
|
||||
\usepackage{subcaption}
|
||||
\DeclareFloatingEnvironment[fileext=frm,placement={!ht},name=Listing,within=section]{listing}
|
||||
|
||||
% Reference packages
|
||||
\usepackage{nameref}
|
||||
\newcommand*{\Appendixautorefname}{appendix}
|
||||
\def\equationautorefname{equation}
|
||||
\def\subsectionautorefname{subsection}
|
||||
\def\sectionautorefname{section}
|
||||
\def\chapterautorefname{chapter}
|
||||
|
||||
\let\orgautoref\autoref
|
||||
\providecommand{\Autoref}[1]{%
|
||||
\begingroup%
|
||||
\def\chapterautorefname{Chapter}%
|
||||
\def\sectionautorefname{Section}%
|
||||
\def\subsectionautorefname{Subsection}%
|
||||
\def\appendixautorefname{Appendix}%
|
||||
\def\listingautorefname{Listing}%
|
||||
\def\figureautorefname{Figure}%
|
||||
\def\tableautorefname{Table}%
|
||||
\def\equationautorefname{Equation}%
|
||||
\orgautoref{#1}%
|
||||
\endgroup
|
||||
}
|
||||
\makeatletter
|
||||
\def\tagform@#1{\maketag@@@{\ignorespaces#1\unskip\@@italiccorr}}
|
||||
\let\orgtheequation\theequation
|
||||
\def\theequation{(\orgtheequation)}
|
||||
\makeatother
|
||||
|
||||
\newcommand{\autorefap}[1]{{\hyperref[#1]{appendix}~\ref{#1}}}
|
||||
\newcommand{\Autorefap}[1]{{\hyperref[#1]{Appendix}~\ref{#1}}}
|
||||
|
||||
% Use subcaption packet
|
||||
\usepackage{subcaption}
|
||||
|
||||
% Define listing styles
|
||||
\definecolor{custom_gray}{RGB}{250, 250, 250}
|
||||
\definecolor{number_gray}{RGB}{135, 135, 135}
|
||||
\lstdefinestyle{customc}{
|
||||
numbers=left,
|
||||
frame=single,
|
||||
backgroundcolor=\color{custom_gray},
|
||||
numberstyle=\color{number_gray},
|
||||
captionpos=b,
|
||||
language=C,
|
||||
showstringspaces=false,
|
||||
basicstyle=\footnotesize\ttfamily,
|
||||
keywordstyle=\bfseries\color{green!40!black},
|
||||
commentstyle=\itshape\color{purple!40!black},
|
||||
identifierstyle=\color{blue},
|
||||
stringstyle=\color{orange},
|
||||
morekeywords={uint64_t,size_t,json_t,time_t,uint32_t,pthread_t, atomic_int, ptrdiff_t}
|
||||
}
|
||||
\lstdefinestyle{customconfig}{
|
||||
numbers=left,
|
||||
frame=single,
|
||||
backgroundcolor=\color{custom_gray},
|
||||
numberstyle=\color{number_gray},
|
||||
captionpos=b,
|
||||
showstringspaces=false,
|
||||
basicstyle=\footnotesize\ttfamily
|
||||
}
|
||||
|
||||
% The bibliography
|
||||
\usepackage[style=alphabetic, backend=biber]{biblatex}
|
||||
\addbibresource{bibliography.bib}
|
||||
|
||||
% Table packages
|
||||
\usepackage{multirow}
|
||||
\usepackage{makecell}
|
||||
\usepackage{longtable}
|
||||
\usepackage{hhline}
|
||||
\usepackage{boldline}
|
||||
\usepackage{diagbox}
|
||||
\usepackage{adjustbox}
|
||||
|
||||
\definecolor{table_gray}{HTML}{E8E8E8}
|
||||
\definecolor{table_green}{HTML}{BCED91}
|
||||
\definecolor{table_red}{HTML}{FA8072}
|
||||
\definecolor{plot_gray}{HTML}{808080}
|
||||
\definecolor{plot_blue}{HTML}{00549f}
|
||||
\definecolor{plot_light_blue}{HTML}{8ebae5}
|
||||
\newcommand{\graycell}[1]{{\cellcolor{table_gray}#1}}
|
||||
\newcommand{\greencell}[1]{{\cellcolor{table_green}#1}}
|
||||
\newcommand{\redcell}[1]{{\cellcolor{table_red}#1}}
|
||||
\newcommand{\graycellleftline}[1]{{\multicolumn{1}{p{0.6cm}}{\cellcolor{table_gray}#1}}}
|
||||
\newcommand{\graycellright}[1]{{\multicolumn{1}{p{1.3cm}}{\cellcolor{table_gray}#1}}}
|
||||
|
||||
\usepackage{adjustbox}
|
||||
\usepackage{array}
|
||||
\newcolumntype{R}[2]{%
|
||||
>{\adjustbox{angle=#1,lap=\width-(#2)}\bgroup}%
|
||||
l%
|
||||
<{\egroup}%
|
||||
}
|
||||
\newcommand*\rot{\footnotesize\multicolumn{1}{R{58}{0mm}}}% no optional argument here, please!
|
||||
\newcommand*\rotright{\footnotesize\multicolumn{1}{R{58}{1em}}}% no optional argument here, please!
|
||||
|
||||
|
||||
% define "struts", as suggested by Claudio Beccari in
|
||||
% a piece in TeX and TUG News, Vol. 2, 1993.
|
||||
\newcommand\Tstrut{\rule{0pt}{2.6ex}} % = `top' strut
|
||||
\newcommand\Bstrut{\rule[-0.9ex]{0pt}{0pt}} % = `bottom' strut
|
||||
\newcommand\Bstrutlarger{\rule[-1.4ex]{0pt}{0pt}} % = `bottom' strut
|
||||
|
||||
% Fix underscore
|
||||
\newcommand{\undershort}{{\fontfamily{ptm}\selectfont\textunderscore}}
|
||||
|
||||
% Math commands
|
||||
\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
|
||||
|
||||
% Nomenclature
|
||||
%\usepackage[toc, acronym]{glossaries-extra}
|
||||
\usepackage[toc, acronym]{glossaries}
|
||||
\makeglossaries
|
||||
|
||||
\newacronymstyle{long-short-emph}%
|
||||
{%
|
||||
\ifglshaslong{\glslabel}%
|
||||
{% acronym
|
||||
% This is an adaptation of \glsgenacfmt
|
||||
\ifdefempty\glscustomtext
|
||||
{%
|
||||
\ifglsused\glslabel
|
||||
{%
|
||||
\glsifplural
|
||||
{%
|
||||
\glscapscase
|
||||
{%
|
||||
\acronymfont{\glsentryshortpl{\glslabel}}\glsinsert
|
||||
}%
|
||||
{%
|
||||
\acronymfont{\Glsentryshortpl{\glslabel}}\glsinsert
|
||||
}%
|
||||
{%
|
||||
\mfirstucMakeUppercase
|
||||
{\acronymfont{\glsentryshortpl{\glslabel}}\glsinsert}%
|
||||
}%
|
||||
}%
|
||||
{%
|
||||
\glscapscase
|
||||
{%
|
||||
\acronymfont{\glsentryshort{\glslabel}}\glsinsert
|
||||
}%
|
||||
{%
|
||||
\acronymfont{\Glsentryshort{\glslabel}}\glsinsert
|
||||
}%
|
||||
{%
|
||||
\mfirstucMakeUppercase
|
||||
{\acronymfont{\glsentryshort{\glslabel}}\glsinsert}%
|
||||
}%
|
||||
}%
|
||||
}%
|
||||
{%
|
||||
\glsifplural
|
||||
{%
|
||||
\glscapscase
|
||||
{%
|
||||
\emph{\glsentrylongpl{\glslabel}\glsinsert}\space%
|
||||
(\firstacronymfont{\glsentryshortpl{\glslabel}})%
|
||||
}%
|
||||
{%
|
||||
\emph{\Glsentrylongpl{\glslabel}{\glsinsert}}\space%
|
||||
(\firstacronymfont{\glsentryshortpl{\glslabel}})%
|
||||
}%
|
||||
{%
|
||||
\mfirstucMakeUppercase
|
||||
{\emph{\glsentrylongpl{\glslabel}{\glsinsert}}\space%
|
||||
(\firstacronymfont{\glsentryshortpl{\glslabel}})}%
|
||||
}%
|
||||
}%
|
||||
{%
|
||||
\glscapscase
|
||||
{%
|
||||
\emph{\glsentrylong{\glslabel}\glsinsert}\space%
|
||||
(\firstacronymfont{\glsentryshort{\glslabel}})%
|
||||
}%
|
||||
{%
|
||||
\emph{\Glsentrylong{\glslabel}\glsinsert}\space%
|
||||
(\firstacronymfont{\glsentryshort{\glslabel}})%
|
||||
}%
|
||||
{%
|
||||
\mfirstucMakeUppercase
|
||||
{\emph{\glsentrylong{\glslabel}\glsinsert}\space%
|
||||
(\firstacronymfont{\glsentryshort{\glslabel}})}%
|
||||
}%
|
||||
}%
|
||||
}%
|
||||
}%
|
||||
{%
|
||||
\glscustomtext
|
||||
}%
|
||||
}%
|
||||
{% regular term
|
||||
\ifglsused{\glslabel}{\glsgenentryfmt}{\emph{\glsgenentryfmt}}%
|
||||
}%
|
||||
}%
|
||||
{%
|
||||
\GlsUseAcrStyleDefs{long-short}%
|
||||
}
|
||||
|
||||
\setacronymstyle{long-short-emph}
|
||||
|
||||
% Remove ugly borders aroung hyperlinks
|
||||
\hypersetup{
|
||||
colorlinks,
|
||||
linkcolor={blue!0!black},
|
||||
citecolor={blue!50!blue},
|
||||
urlcolor={blue!80!blue}
|
||||
}
|
||||
|
||||
% Macros
|
||||
\def\one{\texttt{‘1’}}
|
||||
\def\zero{\texttt{‘0’}}
|
||||
\def\comma{,~}
|
||||
|
||||
% Font
|
||||
\usepackage{bold-extra}
|
||||
|
||||
% SI units
|
||||
\usepackage[binary-units]{siunitx}
|
||||
\sisetup{mode=text,range-phrase = {\text{~to~}}, detect-weight=true}
|
||||
\DeclareSIUnit\gigabitethernet{GbE}
|
||||
|
||||
% Fix command to print SM and TM sign
|
||||
\renewcommand\textservicemark{\ensuremath{{}^\textsf{\scriptsize SM}}}
|
||||
\renewcommand\texttrademark{\ensuremath{{}^\textsf{\scriptsize TM}}}
|
||||
|
||||
% Prevent single lines to be printed on the next page
|
||||
\clubpenalty = 10000
|
||||
\widowpenalty = 10000
|
||||
\displaywidowpenalty = 10000
|
||||
|
||||
% Bookmark
|
||||
\usepackage{bookmark}
|
||||
\bookmarksetup{numbered}
|
||||
|
||||
% Appendix
|
||||
\usepackage[page,toc]{appendix}
|
||||
|
||||
% pifon
|
||||
\usepackage{pifont}
|
||||
\newcommand*\OK{\ding{51}}
|
||||
\newcommand*\NO{\ding{55}}
|
||||
|
||||
% font
|
||||
\newcommand{\textbi}[1]{{\textbf{\textit{#1}}}}
|
||||
|
||||
% hyphenation
|
||||
\hyphenation{at-o-mic-i-ty}
|
||||
\hyphenation{da-ta-path}
|
||||
\hyphenation{name-space}
|
125
template/titlepage.tex
Normal file
125
template/titlepage.tex
Normal file
@@ -0,0 +1,125 @@
|
||||
% ----- Define title page
|
||||
\newtoggle{printLogos}
|
||||
\togglefalse{printLogos}
|
||||
\RenewDocumentCommand \maketitle { } {%
|
||||
\hypersetup{%
|
||||
pdftitle={\@mainTitle}, % Titel, Autor und Subject in
|
||||
pdfsubject={\@thesisType}, % PDF-Eigenschaften eintragen
|
||||
pdfauthor={\@author}
|
||||
}%
|
||||
\settowidth{\@supervisornamelength}{\@supervisorName}
|
||||
\settowidth{\@secondrefereenamelength}{\@secondRefereeName}
|
||||
\iftoggle{secondReferee}{%
|
||||
\ifnumcomp{\@supervisornamelength}{>}{\@secondrefereenamelength}{%
|
||||
\setlength{\@supervisorlabellength}{\@supervisornamelength}
|
||||
}{%else
|
||||
\setlength{\@supervisorlabellength}{\@secondrefereenamelength}
|
||||
}
|
||||
}{%else
|
||||
\setlength{\@supervisorlabellength}{\@supervisornamelength}
|
||||
}
|
||||
|
||||
\begin{titlepage}
|
||||
\begin{tikzpicture}[
|
||||
remember picture,
|
||||
overlay,
|
||||
base/.style={
|
||||
outer sep=0,
|
||||
inner sep=0,
|
||||
},
|
||||
title/.style={
|
||||
base,
|
||||
font=\sffamily\LARGE\bfseries,
|
||||
align=center,
|
||||
text width=.9*\paperwidth,
|
||||
},
|
||||
subtitle/.style={
|
||||
title,
|
||||
font=\sffamily\Large\bfseries,
|
||||
},
|
||||
aligned/.style={
|
||||
base,
|
||||
align=center,
|
||||
},
|
||||
thesis/.style={
|
||||
base,
|
||||
font=\bfseries,
|
||||
},
|
||||
]
|
||||
\iftoggle{printLogos}{%
|
||||
\node [anchor=north east] at ($(current page.north east)-(1cm, 1cm)$) {\includegraphics[width=.4\paperwidth]{logos/rwth_acs_combined}};
|
||||
}
|
||||
|
||||
% distances
|
||||
\coordinate (pageHeight) at ($(current page.north)-(current page.south)$);
|
||||
\coordinate (titlePos) at ($(current page.north)!.20!(current page.south)$);
|
||||
\coordinate (signaturePos) at ($(current page.south)!.08!(current page.north)$);
|
||||
\coordinate (titleSep) at ($.025*(pageHeight)$);
|
||||
\coordinate (authorSep) at ($.05*(pageHeight)$);
|
||||
\coordinate (thesisSep) at ($.15*(pageHeight)$);
|
||||
\coordinate (rwthacsnameSep) at ($.05*(pageHeight)$);
|
||||
\coordinate (supervisorSep) at ($.05*(pageHeight)$);
|
||||
\coordinate (instituteSep) at ($.025*(pageHeight)$);
|
||||
|
||||
% titles
|
||||
\node [title, anchor=north] (mainTitle) at (titlePos) {\@mainTitle};
|
||||
\node [subtitle, anchor=north] (subTitle) at ($(mainTitle.south)-(titleSep)$) {\@subTitle};
|
||||
|
||||
% author / matriculation number
|
||||
\node [aligned, anchor=north] (author) at ($(subTitle.south)-(authorSep)$) {%
|
||||
\@author\\
|
||||
\@matrNrName: \@matrNr
|
||||
};
|
||||
|
||||
% thesis type
|
||||
\node [thesis, anchor=north] (thesis) at ($(author.south)-(thesisSep)$) {\@thesisType};
|
||||
|
||||
% rwth / acs / faculty
|
||||
\node [aligned, anchor=north] (rwthacsname) at ($(thesis.south)-(rwthacsnameSep)$) {\@rwthAcsName};
|
||||
|
||||
% supervisor
|
||||
\node [base, anchor=north] (supervisor) at ($(rwthacsname.south)-(supervisorSep)$) {
|
||||
\begin{tikzpicture}
|
||||
\node [] (supervisorLab) at (0,0) {\@supervisorName:};
|
||||
\node [anchor=north west] (supervisors) at ($(supervisorLab.north west)+(\@supervisorlabellength, 0)+(1em, 0)$) {
|
||||
\begin{minipage}[t]{\@supervisorlength}%
|
||||
\printsupervisors
|
||||
\end{minipage}
|
||||
};
|
||||
\iftoggle{secondReferee}{%
|
||||
\coordinate (supervisorBtm) at ($(supervisorLab.north west)!(supervisors.south west)!(supervisorLab.south west)$);
|
||||
\node [anchor=north west] (sndRefereeLab) at (supervisorBtm) {\@secondRefereeName:};
|
||||
\node [anchor=north west] (supervisors) at ($(sndRefereeLab.north west)+(\@supervisorlabellength, 0)+(1em, 0)$) {
|
||||
\begin{minipage}[t]{\@supervisorlength}%
|
||||
\printsecondreferees
|
||||
\end{minipage}
|
||||
};
|
||||
}{}
|
||||
\end{tikzpicture}
|
||||
};
|
||||
|
||||
\iftoggle{printInstitutes}{%
|
||||
\node [aligned, anchor=north] (institutes) at ($(supervisor.south)-(instituteSep)$) {\printinstitutes};
|
||||
}{}
|
||||
|
||||
% signatures
|
||||
\iftoggle{printSignatures}{%
|
||||
\node [aligned, anchor=south] (signatures) at (signaturePos) {%
|
||||
\edef\signatureLength{6cm}
|
||||
\begin{tikzpicture}[
|
||||
signature/.style={
|
||||
font=\scriptsize,
|
||||
},
|
||||
]
|
||||
\node [] (signatureLineProf) at (0, 0) {\makebox[\signatureLength]{\hrulefill}};
|
||||
\node [anchor=west] (signatureLineJury) at ($(signatureLineProf.east)+(.5*\signatureLength, 0)$) {\makebox[\signatureLength]{\hrulefill}};
|
||||
\node [signature, anchor=north] (signatureProf) at ($(signatureLineProf.south)-(0, 1ex)$) {(\@firstExaminer)};
|
||||
\node [signature, anchor=north] (signatureJury) at ($(signatureLineJury.south)-(0, 1ex)$) {(\@secondExaminer)};
|
||||
|
||||
\end{tikzpicture}
|
||||
};
|
||||
}{}
|
||||
\end{tikzpicture}
|
||||
|
||||
\end{titlepage}
|
||||
}
|
Reference in New Issue
Block a user