1
0
Files
BSc-Thesis/thesis/vutinfth.cls

851 lines
28 KiB
TeX

%%
%% 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 <thomas@auzinger.name>
%%
%% 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 <thomas@auzinger.name>
\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'.