diff --git a/thesis/.gitignore b/thesis/.gitignore new file mode 100644 index 0000000..fcbbe84 --- /dev/null +++ b/thesis/.gitignore @@ -0,0 +1,20 @@ +!graphics/ +/intro.* +/example.* +/*.pdf +/*.txt +*.acn +*.aux +*.glo +*.glsdefs +*.idx +*.ist +*.loa +*.lof +*.log +*.lot +*.mw +*.out +*.toc +*.xmpdata +*.xmpi diff --git a/thesis/Makefile b/thesis/Makefile new file mode 100644 index 0000000..90e068a --- /dev/null +++ b/thesis/Makefile @@ -0,0 +1,13 @@ + +.PHONY: all clean clean-out +all: thesis.pdf clean-out + +%.pdf: %.tex + pdflatex $< + pdflatex $< + +clean: clean-out + rm -rf *.pdf + +clean-out: + rm -rf *.acn *.aux *.glo *.glsdefs *.idx *.ist *.loa *.lof *.log *.lot *.mw *.out *.toc *.xmpdata *.xmpi diff --git a/thesis/graphics/Logo-schwarz.pdf b/thesis/graphics/Logo-schwarz.pdf new file mode 100644 index 0000000..cbdd303 Binary files /dev/null and b/thesis/graphics/Logo-schwarz.pdf differ diff --git a/thesis/graphics/TUWI-Logo-Code.png b/thesis/graphics/TUWI-Logo-Code.png new file mode 100644 index 0000000..c9a5b21 Binary files /dev/null and b/thesis/graphics/TUWI-Logo-Code.png differ diff --git a/thesis/graphics/TU_INF_Logo_partial.png b/thesis/graphics/TU_INF_Logo_partial.png new file mode 100644 index 0000000..470d8cc Binary files /dev/null and b/thesis/graphics/TU_INF_Logo_partial.png differ diff --git a/thesis/thesis.tex b/thesis/thesis.tex index e69de29..2259e21 100644 --- a/thesis/thesis.tex +++ b/thesis/thesis.tex @@ -0,0 +1,178 @@ +% Copyright (C) 2014-2024 by Thomas Auzinger + +\documentclass[draft,final]{vutinfth} % Remove option 'final' to obtain debug information. + +% Define convenience functions to use the author name and the thesis title in the PDF document properties. +\newcommand{\authorname}{Forename Surname} % The author name without titles. +\newcommand{\thesistitle}{Title of the Thesis} % The title of the thesis. The English version should be used, if it exists. + +% Create the XMP metadata file for the creation of PDF/A compatible documents. +\begin{filecontents*}[overwrite]{\jobname.xmpdata} +\Author{\authorname} % The author's name in the document properties. +\Title{\thesistitle} % The document's title in the document properties. +\Language{de-AT} % The document's language in the document properties. Select 'en-US', 'en-GB', or 'de-AT'. +\Keywords{a\sep list\sep of\sep keywords} % The document's keywords in the document properties (separated by '\sep '). +\Publisher{TU Wien} % The document's publisher in the document properties. +\Subject{Thesis} % The document's subject in the document properties. +\end{filecontents*} + +% Load packages to allow in- and output of non-ASCII characters. +\usepackage{lmodern} % Use an extension of the original Computer Modern font to minimize the use of bitmapped letters. +\usepackage[T1]{fontenc} % Determines font encoding of the output. Font packages have to be included before this line. +\usepackage[utf8]{inputenc} % Determines encoding of the input. All input files have to use UTF8 encoding. + +% Extended LaTeX functionality is enables by including packages with \usepackage{...}. +\usepackage{amsmath} % Extended typesetting of mathematical expression. +\usepackage{amssymb} % Provides a multitude of mathematical symbols. +\usepackage{mathtools} % Further extensions of mathematical typesetting. +\usepackage{microtype} % Small-scale typographic enhancements. +\usepackage[inline]{enumitem} % User control over the layout of lists (itemize, enumerate, description). +\usepackage{multirow} % Allows table elements to span several rows. +\usepackage{booktabs} % Improves the typesetting of tables. +\usepackage{subcaption} % Allows the use of subfigures and enables their referencing. +\usepackage[ruled,linesnumbered,algochapter]{algorithm2e} % Enables the writing of pseudo code. +\usepackage[dvipsnames,table]{xcolor} % Allows the definition and use of colors. This package has to be included before tikz. +\usepackage{nag} % Issues warnings when best practices in writing LaTeX documents are violated. +\usepackage{todonotes} % Provides tooltip-like todo notes. +\usepackage{morewrites} % Increases the number of external files that can be used. +\usepackage[a-2b,mathxmp]{pdfx} % Enables PDF/A compliance. Loads the package hyperref and has to be included second to last. +\usepackage[acronym,toc]{glossaries} % Enables the generation of glossaries and lists of acronyms. This package has to be included last. + +% Set PDF document properties +\hypersetup{ + pdfpagelayout = TwoPageRight, % How the document is shown in PDF viewers (optional). + linkbordercolor = {Melon}, % The color of the borders of boxes around hyperlinks (optional). +} + +\setpnumwidth{2.5em} % Avoid overfull hboxes in the table of contents (see memoir manual). +\setsecnumdepth{subsection} % Enumerate subsections. + +\nonzeroparskip % Create space between paragraphs (optional). +\setlength{\parindent}{0pt} % Remove paragraph indentation (optional). + +\makeindex % Use an optional index. +\makeglossaries % Use an optional glossary. +%\glstocfalse % Remove the glossaries from the table of contents. + +% Set persons with 4 arguments: +% {title before name}{name}{title after name}{gender} +% where both titles are optional (i.e. can be given as empty brackets {}). +\setauthor{Pretitle}{\authorname}{Posttitle}{female} +\setadvisor{Pretitle}{Forename Surname}{Posttitle}{male} + +% For bachelor and master theses: +\setfirstassistant{Pretitle}{Forename Surname}{Posttitle}{male} +\setsecondassistant{Pretitle}{Forename Surname}{Posttitle}{male} +\setthirdassistant{Pretitle}{Forename Surname}{Posttitle}{male} + +% For dissertations: +\setfirstreviewer{Pretitle}{Forename Surname}{Posttitle}{male} +\setsecondreviewer{Pretitle}{Forename Surname}{Posttitle}{male} + +% For dissertations at the PhD School and optionally for dissertations: +\setsecondadvisor{Pretitle}{Forename Surname}{Posttitle}{male} % Comment to remove. + +% Required data. +\setregnumber{0123456} +\setdate{01}{01}{2001} % Set date with 3 arguments: {day}{month}{year}. +\settitle{\thesistitle}{Titel der Arbeit} % Sets English and German version of the title (both can be English or German). If your title contains commas, enclose it with additional curvy brackets (i.e., {{your title}}) or define it as a macro as done with \thesistitle. +\setsubtitle{Optional Subtitle of the Thesis}{Optionaler Untertitel der Arbeit} % Sets English and German version of the subtitle (both can be English or German). + +% Select the thesis type: bachelor / master / doctor. +% Bachelor: +\setthesis{bachelor} +% +% Master: +%\setthesis{master} +%\setmasterdegree{dipl.} % dipl. / rer.nat. / rer.soc.oec. / master +% +% Doctor: +%\setthesis{doctor} +%\setdoctordegree{rer.soc.oec.}% rer.nat. / techn. / rer.soc.oec. + +% For bachelor and master: +\setcurriculum{Media Informatics and Visual Computing}{Medieninformatik und Visual Computing} % Sets the English and German name of the curriculum. + +% Optional reviewer data: +\setfirstreviewerdata{Affiliation, Country} +\setsecondreviewerdata{Affiliation, Country} + + +\begin{document} + +\frontmatter % Switches to roman numbering. +% The structure of the thesis has to conform to the guidelines at +% https://informatics.tuwien.ac.at/study-services + +\addtitlepage{naustrian} % German title page. +\addtitlepage{english} % English title page. +\addstatementpage + +\begin{danksagung*} +\todo{Ihr Text hier.} +\end{danksagung*} + +\begin{acknowledgements*} +\todo{Enter your text here.} +\end{acknowledgements*} + +\begin{kurzfassung} +\todo{Ihr Text hier.} +\end{kurzfassung} + +\begin{abstract} +\todo{Enter your text here.} +\end{abstract} + +% Select the language of the thesis, e.g., english or naustrian. +\selectlanguage{english} + +% Add a table of contents (toc). +\tableofcontents % Starred version, i.e., \tableofcontents*, removes the self-entry. + +% Switch to arabic numbering and start the enumeration of chapters in the table of content. +\mainmatter + +\chapter{Introduction} +\todo{Enter your text here.} + +\chapter{Additional Chapter} +\todo{Enter your text here.} + +% Remove following line for the final thesis. +\input{intro.tex} % A short introduction to LaTeX. + +\backmatter + +% Declare the use of AI tools as mentioned in the statement of originality. +% Use either the English aitools or the German kitools. +\begin{aitools} +\todo{Ihr Text hier.} +\end{aitools} + +\begin{kitools} +\todo{Enter your text here.} +\end{kitools} + +% Use an optional list of figures. +\listoffigures % Starred version, i.e., \listoffigures*, removes the toc entry. + +% Use an optional list of tables. +\cleardoublepage % Start list of tables on the next empty right hand page. +\listoftables % Starred version, i.e., \listoftables*, removes the toc entry. + +% Use an optional list of alogrithms. +\listofalgorithms +\addcontentsline{toc}{chapter}{List of Algorithms} + +% Add an index. +\printindex + +% Add a glossary. +\printglossaries + +% Add a bibliography. +\bibliographystyle{alpha} +\bibliography{intro} + +\end{document} \ No newline at end of file diff --git a/thesis/vutinfth.cls b/thesis/vutinfth.cls new file mode 100644 index 0000000..9b9db77 --- /dev/null +++ b/thesis/vutinfth.cls @@ -0,0 +1,850 @@ +%% +%% This is file `vutinfth.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% vutinfth.dtx (with options: `class') +%% +%% This is a generated file. +%% Copyright (C) 2014-2024 by Thomas Auzinger +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Thomas Auzinger. +%% +%% This work consists of the files vutinfth.dtx and vutinfth.ins +%% and the derived file vutinfth.cls. +%% This work also consists of the file intro.tex. +%% +%% vutinfth.dtx +%% Copyright (C) 2014-2024 by Thomas Auzinger +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesClass{vutinfth} + [2024/05/29 v1.13 TU Wien Informatics thesis template] +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\DeclareOption*{% + \PassOptionsToClass{\CurrentOption}{memoir}% +}% +\ProcessOptions\relax +\LoadClass[a4paper,11pt]{memoir}% +\chapterstyle{veelo}% +\RequirePackage[scaled]{helvet}% +\RequirePackage{lmodern}% +\RequirePackage{courier}% +\RequirePackage[T1]{fontenc}% +\RequirePackage[english,naustrian]{babel}% +\RequirePackage[useregional]{datetime2}% +\RequirePackage{geometry}% +\RequirePackage{calc}% +\RequirePackage{etoolbox}% +\RequirePackage{graphicx}% +\graphicspath{{graphics/}}% +\newcommand{\@namexdef}[1]{\expandafter\xdef\csname#1\endcsname}% +\newcommand{\ifestrequal}[4]{% + \begingroup + \edef\vutinfth@tempa{{#1}}% + \edef\vutinfth@tempb{{#2}}% + \expandafter\expandafter\expandafter\ifstrequal + \expandafter\vutinfth@tempa\vutinfth@tempb{#3}{#4}% + \endgroup +}% +\newcommand{\vutinfth@HUGE}{\fontsize{30}{34}\selectfont}% +\newcommand{\vutinfth@huge}{\fontsize{20}{23}\selectfont}% +\newcommand{\vutinfth@LARGE}{\fontsize{17}{22}\selectfont}% +\newcommand{\vutinfth@Large}{\fontsize{14}{18}\selectfont}% +\newcommand{\vutinfth@large}{\fontsize{12}{14.5}\selectfont}% +\newcommand{\vutinfth@normalsize}{\fontsize{11}{13.6}\selectfont}% +\newenvironment{SFFont}[1]{% + \begingroup + \sffamily + \global\let\vutinfth@f@family@tmp=\f@family + \endgroup + \renewcommand{\sfdefault}{#1}% + \ifdefstrequal{\f@family}{\vutinfth@f@family@tmp}{\sffamily}{}% +}{% + \renewcommand{\sfdefault}{\vutinfth@f@family@tmp}% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\setdate}[3]{% + \DTMsavedate{vutinfth@date@signing}{#3-#2-#1}% +}% +\newcommand{\vutinfth@def@data}[2]{% + \@namedef{vutinfth@data@#1@def}{}% + \@namedef{vutinfth@data@#1}{#2}% +}% +\newcommand{\vutinfth@def@data@invalid}[2]{% + \@namedef{vutinfth@data@#1@error}{% + \ClassError{vutinfth}{No #2 issued}{Set #1 with #2.}% + }% + \@namedef{vutinfth@data@#1}{\@nameuse{vutinfth@data@#1@error}}% +}% +\newcommand{\CreateData}[1]{% + \@namedef{set#1}##1{% + \vutinfth@def@data{#1}{##1}% + }% + \vutinfth@def@data@invalid{#1}{\string\set#1}% +}% +\newcommand{\vutinfth@person@male}{male}% +\newcommand{\vutinfth@person@female}{female}% +\newcommand{\ifmale}[2]{% + \ifcsstring{vutinfth@person@#1@gender}{\vutinfth@person@male}{#2}{}% +}% +\newcommand{\iffemale}[2]{% + \ifcsstring{vutinfth@person@#1@gender}{\vutinfth@person@female}{#2}{}% +}% +\newcommand{\vutinfth@def@person}[5]{% + \@namedef{vutinfth@person@#1@def}{}% + \@namedef{vutinfth@person@#1@pretitle}{#2}% + \@namedef{vutinfth@person@#1@name}{#3}% + \@namedef{vutinfth@person@#1@posttitle}{#4}% + \ifdefstring{\vutinfth@person@male}{#5}{% + \@namedef{vutinfth@person@#1@gender}{\vutinfth@person@male}% + }{}% + \ifdefstring{\vutinfth@person@female}{#5}{% + \@namedef{vutinfth@person@#1@gender}{\vutinfth@person@female}% + }{}% + \ifstrempty{#3}{% + \ifstrempty{#2}{% + \@namedef{vutinfth@person@#1@fullname}{#4}% + }{% + \ifstrempty{#4}{% + \@namedef{vutinfth@person@#1@fullname}{#2}% + }{% + \@namedef{vutinfth@person@#1@fullname}{#2 #4}% + }% + }% + }{% + \ifstrempty{#2}{% + \ifstrempty{#4}{% + \@namedef{vutinfth@person@#1@fullname}{#3}% + }{% + \@namedef{vutinfth@person@#1@fullname}{#3, #4}% + }% + }{% + \ifstrempty{#4}{% + \@namedef{vutinfth@person@#1@fullname}{#2 #3}% + }{% + \@namedef{vutinfth@person@#1@fullname}{#2 #3, #4}% + }% + }% + }% +}% +\newcommand{\vutinfth@def@person@invalid}[2]{% + \@namedef{vutinfth@person@#1@error}{% + \ClassError{vutinfth}{No #2 issued}{Set #1 with #2.}% + }% + \@namedef{vutinfth@person@#1@name}{% + \@nameuse{vutinfth@person@#1@error}}% + \@namedef{vutinfth@person@#1@pretitle}{% + \@nameuse{vutinfth@person@#1@error}}% + \@namedef{vutinfth@person@#1@posttitle}{% + \@nameuse{vutinfth@person@#1@error}}% + \@namedef{vutinfth@person@#1@gender}{% + \@nameuse{vutinfth@person@#1@error}}% + \@namedef{vutinfth@person@#1@fullname}{% + \@nameuse{vutinfth@person@#1@error}}% +}% +\newcommand{\CreatePerson}[1]{% + \@namedef{set#1}##1##2##3##4{% + \vutinfth@def@person{#1}{##1}{##2}{##3}{##4}% + }% + \vutinfth@def@person@invalid{#1}{\string\set#1}% +}% +\newcommand{\AddLanguage}[1]{% + \@namedef{KV@vutinfth@#1}##1{% + \@namedef{vutinfth@current@#1}{##1}% + }% + \@nameuse{KV@vutinfth@#1}{}% + \ifundef{\vutinfth@allocate@polylingual}{% + \newcommand{\vutinfth@allocate@polylingual}[1]{\@empty}% + }{}% + \@namelet{vutinfth@allocate@polylingual@#1}% + \vutinfth@allocate@polylingual + \renewcommand{\vutinfth@allocate@polylingual}[1]{% + \@nameuse{vutinfth@allocate@polylingual@#1}{##1}% + \@namexdef{vutinfth@##1@#1}{% + \ifcsempty{vutinfth@current@#1}{% + \ifdraftdoc{% + [Draft: No `#1' text for polylingual `##1'.]% + }\else{% + \relax + }\fi + }{% + \@nameuse{vutinfth@current@#1}% + }% + }% + }% + \ifundef{\vutinfth@selectlanguage@polylingual}{% + \newcommand{\vutinfth@selectlanguage@polylingual}[1]{\@empty}% + }{}% + \@namelet{vutinfth@selectlanguage@polylingual@#1}% + \vutinfth@selectlanguage@polylingual + \renewcommand{\vutinfth@selectlanguage@polylingual}[1]{% + \@nameuse{vutinfth@selectlanguage@polylingual@#1}{##1}% + \ifdefstring{\languagename}{#1}{\@nameuse{vutinfth@##1@#1}}{}% + }% +}% +\newcommand{\CreatePolylingual}[2][]{% + \begingroup + \setkeys{vutinfth}{#1}% + \vutinfth@allocate@polylingual{#2}% + \endgroup + \@namedef{vutinfth@polylingual@#2}{% + \vutinfth@selectlanguage@polylingual{#2}}% +}% +\newcommand{\vutinfth@thesis@basetype@undergraduate}{% + vutinfth@undergraduate}% +\newcommand{\vutinfth@thesis@basetype@graduate}{% + vutinfth@graduate}% +\newcommand{\ifundergraduate}[1]{% + \ifestrequal{\vutinfth@thesis@basetype}{% + \vutinfth@thesis@basetype@undergraduate + }{#1}{}% +}% +\newcommand{\ifgraduate}[1]{% + \ifestrequal{\vutinfth@thesis@basetype}{% + \vutinfth@thesis@basetype@graduate + }{#1}{}% +}% +\newcommand{\vutinfth@thesis@basetype}{% + \ClassError{vutinfth}{No \string\setthesis \space issued}{% + Set thesis type with \string\setthesis.}% +}% +\newcommand{\vutinfth@polylingual@degreename}{% + \ClassError{vutinfth}{No \string\setthesis \space issued}{% + Set thesis type with \string\setthesis.}% +}% +\newcommand{\vutinfth@polylingual@thesisname}{% + \ClassError{vutinfth}{No \string\setthesis \space issued}{% + Set thesis type with \string\setthesis.}% +}% +\newcommand{\vutinfth@thesis@bachelor}{bachelor}% +\newcommand{\vutinfth@thesis@master}{master}% +\newcommand{\vutinfth@thesis@doctor}{doctor}% +\newcommand{\@setthesisname}[1]{% + \renewcommand{\vutinfth@polylingual@thesisname}{#1}}% +\newcommand{\@setdegreename}[1]{% + \renewcommand{\vutinfth@polylingual@degreename}{#1}}% +\newcommand{\@setgendereddegreename}[2]{% + \ifmale{author}{\@setdegreename{#1}}% + \iffemale{author}{\@setdegreename{#2}}% +}% +\newcommand{\setthesis}[1]{% + \ifdefstring{\vutinfth@thesis@bachelor}{#1}{% + \renewcommand{\vutinfth@thesis@basetype}{% + \vutinfth@thesis@basetype@undergraduate}% + \@setthesisname{\vutinfth@polylingual@BACHELORTHESIS}% + \@setdegreename{\vutinfth@polylingual@Bdeg}% + }{}% + \ifdefstring{\vutinfth@thesis@master}{#1}{% + \renewcommand{\vutinfth@thesis@basetype}{% + \vutinfth@thesis@basetype@undergraduate}% + \@setthesisname{% + \ClassError{vutinfth}{No \string\setmasterdegree \space issued}{% + Set masterdegree with \string\setmasterdegree.}% + }% + \@setdegreename{% + \ClassError{vutinfth}{No \string\setmasterdegree \space issued}{% + Set master degree with \string\setmasterdegree.}% + }% + }{}% + \ifdefstring{\vutinfth@thesis@doctor}{#1}{% + \renewcommand{\vutinfth@thesis@basetype}{% + \vutinfth@thesis@basetype@graduate}% + \@setthesisname{\vutinfth@polylingual@DOCTORTHESIS}% + \@setdegreename{% + \ClassError{vutinfth}{No \string\setdoctordegree \space issued}{% + Set doctor degree with \string\setdoctordegree.}% + }% + }{}% +}% +\newcommand{\vutinfth@thesis@mdeg@dipl}{dipl.}% +\newcommand{\vutinfth@thesis@mdeg@master}{master}% +\newcommand{\vutinfth@thesis@mdeg@rernat}{rer.nat.}% +\newcommand{\vutinfth@thesis@mdeg@rersocoec}{rer.soc.oec.}% +\newcommand{\setmasterdegree}[1]{% + \ifdefstring{\vutinfth@thesis@mdeg@dipl}{#1}{% + \@setthesisname{\vutinfth@polylingual@DIPLOMATHESIS}% + \@setgendereddegreename{% + \vutinfth@polylingual@MdegDiplMale + }{% + \vutinfth@polylingual@MdegDiplFemale + }% + }{}% + \ifdefstring{\vutinfth@thesis@mdeg@master}{#1}{% + \@setthesisname{\vutinfth@polylingual@MASTERTHESIS}% + \@setdegreename{\vutinfth@polylingual@MdegMaster}% + }{}% + \ifdefstring{\vutinfth@thesis@mdeg@rernat}{#1}{% + \@setthesisname{\vutinfth@polylingual@MASTERTHESIS}% + \@setgendereddegreename{% + \vutinfth@polylingual@MdegRerNatMale + }{% + \vutinfth@polylingual@MdegRerNatFemale + }% + }{}% + \ifdefstring{\vutinfth@thesis@mdeg@rersocoec}{#1}{% + \@setthesisname{\vutinfth@polylingual@MASTERTHESIS}% + \@setgendereddegreename{% + \vutinfth@polylingual@MdegRerSocOecMale + }{% + \vutinfth@polylingual@MdegRerSocOecFemale + }% + }{}% +}% +\newcommand{\vutinfth@thesis@ddeg@rernat}{rer.nat.}% +\newcommand{\vutinfth@thesis@ddeg@techn}{techn.}% +\newcommand{\vutinfth@thesis@ddeg@rersocoec}{rer.soc.oec.}% +\newcommand{\setdoctordegree}[1]{% + \ifdefstring{\vutinfth@thesis@ddeg@rernat}{#1}{% + \@setgendereddegreename{% + \vutinfth@polylingual@DdegRerNatMale + }{% + \vutinfth@polylingual@DdegRerNatFemale + }% + }{}% + \ifdefstring{\vutinfth@thesis@ddeg@techn}{#1}{% + \@setgendereddegreename{% + \vutinfth@polylingual@DdegTechnMale + }{% + \vutinfth@polylingual@DdegTechnFemale + }% + }{}% + \ifdefstring{\vutinfth@thesis@ddeg@rersocoec}{#1}{% + \@setgendereddegreename{% + \vutinfth@polylingual@DdegRerSocOecMale + }{% + \vutinfth@polylingual@DdegRerSocOecFemale + }% + }{}% +}% +\CreateData{regnumber}% +\CreateData{firstreviewerdata}% +\CreateData{secondreviewerdata}% +\CreatePerson{author}% +\CreatePerson{advisor}% +\CreatePerson{secondadvisor}% +\CreatePerson{firstassistant}% +\CreatePerson{secondassistant}% +\CreatePerson{thirdassistant}% +\CreatePerson{firstreviewer}% +\CreatePerson{secondreviewer}% +\AddLanguage{english}% +\AddLanguage{naustrian}% +\CreatePolylingual[ + english=Advisor, + naustrian=Betreuung]{Advisor}% +\CreatePolylingual[ + english=Second advisor, + naustrian=Zweitbetreuung]{Secondadvisor}% +\CreatePolylingual[ + english=submitted in partial fulfillment of the requirements + for the degree of, + naustrian=zur Erlangung des akademischen Grades]{submission}% +\CreatePolylingual[ + english=in, + naustrian=im Rahmen des Studiums]{in}% +\CreatePolylingual[ + english=by, + naustrian=eingereicht von]{by}% +\CreatePolylingual[ + english=Registration Number, + naustrian=Matrikelnummer]{Registrationnumber}% +\CreatePolylingual[ + english=to the Faculty of Informatics, + naustrian=an der Fakult\"at f\"ur Informatik]{faculty}% +\CreatePolylingual[ + english=at the TU Wien, + naustrian=der Technischen Universit\"at Wien]{university}% +\CreatePolylingual[ + english=Assistance, + naustrian=Mitwirkung]{Assistance}% +\CreatePolylingual[ + english=The dissertation has been reviewed by:, + naustrian=Diese Dissertation haben begutachtet:]{Reviewed}% +\CreatePolylingual[ + english=External reviewers:]{Reviewers}% +\CreatePolylingual[ + english=Vienna, + naustrian=Wien]{Place}% +\CreatePolylingual[ + english=Declaration of Authorship, + naustrian=Erkl\"arung zur Verfassung der Arbeit]{StatementChapter}% +\CreatePolylingual[ + english={I hereby declare that I have written this Doctoral Thesis + independently, that I have completely specified the utilized + sources and resources and that I have definitely marked all parts + of the work - including tables, maps and figures - which belong + to other works or to the internet, literally or extracted, by + referencing the source as borrowed.}, + naustrian={Hiermit erkl\"are ich, dass ich diese Arbeit + selbst\"andig verfasst habe, dass ich die verwendeten Quellen + und Hilfsmittel vollst\"andig angegeben habe und dass ich die + Stellen der Arbeit -- einschlie{\ss}lich Tabellen, Karten und + Abbildungen --, die anderen Werken oder dem Internet im Wortlaut + oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe + der Quelle als Entlehnung kenntlich gemacht habe.}]{Statement}% +\CreatePolylingual[ + english={I further declare that I have used generative AI tools only as an aid, + and that my own intellectual and creative efforts predominate in this + work. In the appendix ``Overview of Generative AI Tools Used'' I have + listed all generative AI tools that were used in the creation of this + work, and indicated where in the work they were used. If whole passages + of text were used without substantial changes, I have indicated the + input (prompts) I formulated and the IT application used with its + product name and version number/date.}, + naustrian={Ich erkl\"are weiters, dass ich mich generativer KI-Tools lediglich als + Hilfsmittel bedient habe und in der vorliegenden Arbeit mein + gestalterischer Einfluss \"uberwiegt. Im Anhang \glqq\"Ubersicht verwendeter + Hilfsmittel\grqq\ habe ich alle generativen KI-Tools gelistet, die verwendet + wurden, und angegeben, wo und wie sie verwendet wurden. F\"ur + Textpassagen, die ohne substantielle \"Anderungen \"ubernommen wurden, haben + ich jeweils die von mir formulierten Eingaben (Prompts) und die + verwendete IT- Anwendung mit ihrem Produktnamen und Versionsnummer/Datum + angegeben.}]{AIStatement}% +\CreatePolylingual[ + english=Overview of Generative AI Tools Used, + naustrian=Übersicht verwendeter Hilfsmittel]{AIToolsChapter}% +\CreatePolylingual[ + english=Bachelor of Science, + naustrian=Bachelor of Science]{Bdeg}% +\CreatePolylingual[ + english=Master of Science, + naustrian=Master of Science]{MdegMaster}% +\CreatePolylingual[ + english=Diplom-Ingenieur, + naustrian=Diplom-Ingenieur]{MdegDiplMale}% +\CreatePolylingual[ + english=Diplom-Ingenieurin, + naustrian=Diplom-Ingenieurin]{MdegDiplFemale}% +\CreatePolylingual[ + english=Magister der Naturwissenschaften, + naustrian=Magister der Naturwissenschaften]{MdegRerNatMale}% +\CreatePolylingual[ + english=Magistra der Naturwissenschaften, + naustrian=Magistra der Naturwissenschaften]{MdegRerNatFemale}% +\CreatePolylingual[ + english=Magister der Sozial- und Wirtschaftswissenschaften, + naustrian=Magister der Sozial- und Wirtschaftswissenschaften]{% + MdegRerSocOecMale}% +\CreatePolylingual[ + english=Magistra der Sozial- und Wirtschaftswissenschaften, + naustrian=Magistra der Sozial- und Wirtschaftswissenschaften]{% + MdegRerSocOecFemale}% +\CreatePolylingual[ + english=Doktor der Naturwissenschaften, + naustrian=Doktor der Naturwissenschaften]{DdegRerNatMale}% +\CreatePolylingual[ + english=Doktorin der Naturwissenschaften, + naustrian=Doktorin der Naturwissenschaften]{DdegRerNatFemale}% +\CreatePolylingual[ + english=Doktor der Technischen Wissenschaften, + naustrian=Doktor der Technischen Wissenschaften]{DdegTechnMale}% +\CreatePolylingual[ + english=Doktorin der Technischen Wissenschaften, + naustrian=Doktorin der Technischen Wissenschaften]{DdegTechnFemale}% +\CreatePolylingual[ + english=Doktor der Sozial- und Wirtschaftswissenschaften, + naustrian=Doktor der Sozial- und Wirtschaftswissenschaften]{% + DdegRerSocOecMale}% +\CreatePolylingual[ + english=Doktorin der Sozial- und Wirtschaftswissenschaften, + naustrian=Doktorin der Sozial- und Wirtschaftswissenschaften]{% + DdegRerSocOecFemale}% +\CreatePolylingual[ + english=BACHELOR'S THESIS, + naustrian=BACHELORARBEIT]{BACHELORTHESIS}% +\CreatePolylingual[ + english=MASTER'S THESIS, + naustrian=MASTERARBEIT]{MASTERTHESIS}% +\CreatePolylingual[ + english=DIPLOMA THESIS, + naustrian=DIPLOMARBEIT]{DIPLOMATHESIS}% +\CreatePolylingual[ + english=DISSERTATION, + naustrian=DISSERTATION]{DOCTORTHESIS}% +\newcommand{\settitle}[2]{% + \CreatePolylingual[english=#1,naustrian=#2]{Title}% +}% +\newcommand{\setsubtitle}[2]{% + \CreatePolylingual[english=#1,naustrian=#2]{Subtitle}% +}% +\newcommand{\setcurriculum}[2]{% + \CreatePolylingual[english=#1,naustrian=#2]{Curriculum}% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\newsetlength}[2]{% + \newlength{#1}% + \setlength{#1}{#2}% +}% +\newcommand{\vutinfth@squarebullet}{\rule[0.47ex]{0.4ex}{0.4ex}}% +\newlength{\vutinfth@tmp@parindent}% +\newlength{\vutinfth@tmp@baselineskip}% +\newlength{\vutinfth@tmp@parskip}% +\newcommand{\vutinfth@savelayout}{% + \setlength{\vutinfth@tmp@parindent}{\parindent}% + \setlength{\vutinfth@tmp@baselineskip}{\baselineskip}% + \setlength{\vutinfth@tmp@parskip}{\parskip}% +}% +\newcommand{\vutinfth@restorelayout}{% + \setlength{\parindent}{\vutinfth@tmp@parindent}% + \setlength{\baselineskip}{\vutinfth@tmp@baselineskip}% + \setlength{\parskip}{\vutinfth@tmp@parskip}% +}% +\newsetlength{\vutinfth@logo@offset@x}{10.6mm}% +\newsetlength{\vutinfth@logo@offset@y}{22mm}% +\newsetlength{\vutinfth@logo@width@safe}{74mm}% +\newsetlength{\vutinfth@logo@height}{11mm}% +\newsetlength{\vutinfth@header@width}{\paperwidth - \vutinfth@logo@offset@x - \vutinfth@logo@offset@x}% +\newsetlength{\vutinfth@header@height}{\vutinfth@logo@height}% +\newsetlength{\vutinfth@header@separator}{-12mm}% +\newcommand{\vutinfth@header@titlepage}{% + \setlength{\unitlength}{1mm}% + \begin{picture}(74, 11)% + {\includegraphics[height=\vutinfth@logo@height]{Logo-schwarz.pdf}} + \end{picture}\hfill +}% +\newcommand{\vutinfth@footer@titlepage}{% + \centering + \begin{minipage}{\textwidth}% + \centering\vutinfth@normalsize\sffamily + Technische Universit\"{a}t Wien\\ + A-1040 Wien \vutinfth@squarebullet\space + Karlsplatz 13 \vutinfth@squarebullet\space + Tel. +43-1-58801-0 \vutinfth@squarebullet\space + www.tuwien.at% + \end{minipage}% +}% +\makepagestyle{vutinfth@pagestyle@titlepage}% +\makerunningwidth{vutinfth@pagestyle@titlepage}[\textwidth]{% + \vutinfth@header@width}% +\makeheadposition{vutinfth@pagestyle@titlepage}{% + center}{center}{center}{center}% +\makeevenhead{vutinfth@pagestyle@titlepage}{}{% + \vutinfth@header@titlepage}{}% +\makeoddhead{vutinfth@pagestyle@titlepage}{}{% + \vutinfth@header@titlepage}{}% +\makefootrule{vutinfth@pagestyle@titlepage}{% + \vutinfth@pagestyle@titlepagefootrunwidth}{0.5pt}{\footruleskip}% +\makeevenfoot{vutinfth@pagestyle@titlepage}{}{% + \vutinfth@footer@titlepage}{}% +\makeoddfoot{vutinfth@pagestyle@titlepage}{}{% + \vutinfth@footer@titlepage}{}% +\newsetlength{\vutinfth@bigskipamount}{6mm}% +\newcommand{\vutinfth@bigskip}{\vspace{\vutinfth@bigskipamount}}% +\newcommand{\AdvisorBlock}{% + \ifundergraduate{% + \begin{minipage}[t][2.5cm][t]{\textwidth}% + \vutinfth@normalsize + \begin{tabular}{@{}l@{ }l}% + \vutinfth@polylingual@Advisor: & + \vutinfth@person@advisor@fullname\\ + \ifdef{\vutinfth@person@firstassistant@def}{% + \vutinfth@polylingual@Assistance: & + \vutinfth@person@firstassistant@fullname\\ + }{}% + \ifdef{\vutinfth@person@secondassistant@def}{% + \ifundef{\vutinfth@person@firstassistant@def}{% + \vutinfth@person@firstassistant@error + }{% + & \vutinfth@person@secondassistant@fullname\\ + }% + }{}% + \ifdef{\vutinfth@person@thirdassistant@def}{% + \ifundef{\vutinfth@person@firstassistant@def}{% + \vutinfth@person@firstassistant@error + }{% + \ifundef{\vutinfth@person@secondassistant@def}{% + \vutinfth@person@secondassistant@error + }{% + & \vutinfth@person@thirdassistant@fullname\\ + }% + }% + }{}% + \end{tabular}% + \end{minipage}% + }% + \ifgraduate{% + \begin{minipage}[t][1.6cm][t]{\textwidth}% + \vutinfth@normalsize + \vutinfth@polylingual@Advisor: + \vutinfth@person@advisor@fullname + \ifdef{\vutinfth@person@secondadvisor@def}{% + \\ + \vutinfth@polylingual@Secondadvisor: + \vutinfth@person@secondadvisor@fullname + }{}% + \end{minipage}\par% + }% +}% +\newsetlength{\vutinfth@signature@height}{25mm}% +\newsetlength{\vutinfth@signature@width}{51mm}% +\newsetlength{\vutinfth@placedate@width}{50mm}% +\newcommand{\SignatureFields}[3][n]{% + {\vutinfth@normalsize + \ifstrequal{#1}{y}{% + \begin{minipage}[b][\vutinfth@signature@height]{% + \vutinfth@placedate@width + }% + \vutinfth@polylingual@Place, + \DTMusedate{vutinfth@date@signing}\vspace*{\baselineskip}% + \end{minipage}% + \hfill + }{}% + \ifstrequal{#1}{n}{}{}% + \ifstrequal{#1}{h}{% + \hspace*{\vutinfth@placedate@width}% + \hfill + }{}% + \ifstrempty{#2}{% + \hspace*{\vutinfth@signature@width}% + \hfill + }{% + \begin{minipage}[b][\vutinfth@signature@height]{% + \vutinfth@signature@width + }% + \centering + \rule{\vutinfth@signature@width}{0.5pt}\\ + #2% + \end{minipage}% + \hfill + }% + \ifstrempty{#3}{}{% + \begin{minipage}[b][\vutinfth@signature@height]{% + \vutinfth@signature@width + }% + \centering + \rule{\vutinfth@signature@width}{0.5pt}\\ + #3% + \end{minipage}% + }% + }% +}% + +\newcommand{\ReviewerBlock}{% + \ifgraduate{% + {\vutinfth@normalsize + \vutinfth@polylingual@Reviewed\\ + \SignatureFields[h]{% + \vutinfth@person@firstreviewer@name + }{% + \vutinfth@person@secondreviewer@name + }% + }% + }% +}% +\newcommand{\SignatureBlock}{% + \ifundergraduate{% + {\vutinfth@normalsize + \SignatureFields[y]{% + \vutinfth@person@author@name + }{% + \vutinfth@person@advisor@name + }% + }% + }% + \ifgraduate{% + {\vutinfth@normalsize + \SignatureFields[y]{}{% + \vutinfth@person@author@name + }% + }% + }% +}% +\newcommand{\AddTitlePage}{ + \thispagestyle{vutinfth@pagestyle@titlepage}% + \newgeometry{% + left=2.4cm,right=2.4cm,bottom=2.5cm,top=2cm, + headsep=\vutinfth@header@separator, + head=\vutinfth@header@height + }% + \vutinfth@savelayout + \setlength{\parindent}{0pt}% + \setlength{\baselineskip}{13.6pt}% + \setlength{\parskip}{0pt plus 1pt}% + \begin{SFFont}{phv}% + \sffamily + {\centering + \vspace*{1.2cm}\par + \begin{minipage}[t][5cm][b]{\textwidth}% + \centering + \vutinfth@HUGE{\bfseries\vutinfth@polylingual@Title}\\ + \bigskip + \vutinfth@huge{\bfseries + \ifdef{\vutinfth@polylingual@Subtitle}{% + \vutinfth@polylingual@Subtitle}{% + }% + }% + \end{minipage}\par + \vutinfth@bigskip\vutinfth@bigskip + {\vutinfth@LARGE\vutinfth@polylingual@thesisname}\par + \vutinfth@bigskip + {\vutinfth@large\vutinfth@polylingual@submission}\par + \vutinfth@bigskip + \ifundergraduate{% + {\vutinfth@LARGE{\bfseries\vutinfth@polylingual@degreename}}\par + \vutinfth@bigskip + {\vutinfth@large\vutinfth@polylingual@in}\par + \vutinfth@bigskip + {\vutinfth@Large{\bfseries\vutinfth@polylingual@Curriculum}}\par + }% + \ifgraduate{% + {\vutinfth@LARGE{\bfseries\vutinfth@polylingual@degreename}}\par + }% + \vutinfth@bigskip + {\vutinfth@large\vutinfth@polylingual@by}\par + \vutinfth@bigskip + {\vutinfth@Large{\bfseries\vutinfth@person@author@fullname}}\par + \smallskip + {\vutinfth@large\vutinfth@polylingual@Registrationnumber\ + \vutinfth@data@regnumber}\par + }% + \vutinfth@bigskip\vutinfth@bigskip + \begin{minipage}[b][1.6cm][c]{\textwidth}% + \vutinfth@normalsize% + \vutinfth@polylingual@faculty\par + \vutinfth@polylingual@university + \end{minipage}\par + \AdvisorBlock\par + \vfill + \ReviewerBlock\par + \SignatureBlock\par + \vspace*{1cm}% + \end{SFFont}% + \pagestyle{empty}% + \cleardoublepage + \vutinfth@restorelayout + \restoregeometry +}% +\newcommand{\AddStatementPage}{ + \vutinfth@savelayout + \setlength{\parindent}{0pt}% + \setlength{\baselineskip}{13.6pt}% + \setlength{\parskip}{0pt plus 1pt}% + \begin{SFFont}{phv}% + \sffamily + \chapter*{\vutinfth@polylingual@StatementChapter}% + \vutinfth@person@author@fullname\par + \vspace{1.2cm}% + {\normalfont\vutinfth@polylingual@Statement}\par + {\normalfont\vutinfth@polylingual@AIStatement}\par + \vspace{1.2cm}% + \SignatureFields[y]{\vutinfth@person@author@name}{}% + \end{SFFont}% + \cleardoublepage + \vutinfth@restorelayout +}% +\newcommand{\addtitlepage}[1]{% + \selectlanguage{#1}% + \AddTitlePage +}% +\newcommand{\addstatementpage}{% + \selectlanguage{naustrian}% + \AddStatementPage +}% +\newenvironment{acknowledgements}{% + \selectlanguage{english}% + \chapter{Acknowledgements}% +}{% + \cleardoublepage +}% +\newenvironment{acknowledgements*}{% + \selectlanguage{english}% + \chapter*{Acknowledgements}% +}{% + \cleardoublepage +}% +\newenvironment{danksagung}{% + \selectlanguage{naustrian}% + \chapter{Danksagung}% +}{% + \cleardoublepage +}% +\newenvironment{danksagung*}{% + \selectlanguage{naustrian}% + \chapter*{Danksagung}% +}{% + \cleardoublepage +}% +\renewenvironment{abstract}{% + \selectlanguage{english}% + \chapter{Abstract}% +}{% + \cleardoublepage +}% +\newenvironment{abstract*}{% + \selectlanguage{english}% + \chapter*{Abstract}% +}{% + \cleardoublepage +}% +\newenvironment{kurzfassung}{% + \selectlanguage{naustrian}% + \chapter{Kurzfassung}% +}{% + \cleardoublepage +}% +\newenvironment{kurzfassung*}{% + \selectlanguage{naustrian}% + \chapter*{Kurzfassung}% +}{% + \cleardoublepage +}% +\newenvironment{aitools}{% + \selectlanguage{english}% + \chapter[\vutinfth@AIToolsChapter@english]{\vutinfth@polylingual@AIToolsChapter}% +}{% + \cleardoublepage +}% +\newenvironment{aitools*}{% + \selectlanguage{english}% + \chapter*{\vutinfth@polylingual@AIToolsChapter}% +}{% + \cleardoublepage +}% +\newenvironment{kitools}{% + \selectlanguage{naustrian}% + \chapter[\vutinfth@AIToolsChapter@naustrian]{\vutinfth@polylingual@AIToolsChapter}% +}{% + \cleardoublepage +}% +\newenvironment{kitools*}{% + \selectlanguage{naustrian}% + \chapter*{\vutinfth@polylingual@AIToolsChapter}% +}{% + \cleardoublepage +}% +\makepagestyle{vutinfth@pagestyle@default}% +\makeevenfoot{vutinfth@pagestyle@default}{\thepage}{}{}% +\makeoddfoot{vutinfth@pagestyle@default}{}{}{\thepage}% +\aliaspagestyle{chapter}{vutinfth@pagestyle@default}% +\aliaspagestyle{part}{vutinfth@pagestyle@default}% +\addto\frontmatter{\pagestyle{vutinfth@pagestyle@default}}% +\addto\mainmatter{\pagestyle{Ruled}}% +\addto\backmatter{\pagestyle{vutinfth@pagestyle@default}}% +\endinput +%% +%% End of file `vutinfth.cls'.