%% This is file `tudathesis.cfg' version 3.29 (2022/12/11), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- %% %% Copyright (C) 2018--2022 by Marei Peischl %% %% ============================================================================ %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% 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.3c or later is part of all distributions of LaTeX %% version 2008/05/04 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainers of this work are %% Marei Peischl %% Markus Lazanowski %% %% The development respository can be found at %% https://github.com/tudace/tuda_latex_templates %% Please use the issue tracker for feedback! %% %% ============================================================================ %% \def\fileversion{3.29} \def\filedate{2022/12/11} \RequirePackage{expl3} \ProvidesExplFile{tudathesis.cfg} {\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)} \RequirePackage{l3keys2e} \tl_new:N \g_ptxcd_thesis_drtext_tl \clist_if_exist:NF \g_ptxcd_Required_title_data_clist {\clist_new:N \g_ptxcd_Required_title_data_clist} %Declare macros for department \cs_new:Nn \ptxcd_select_department:n { \str_case:nnTF {#1} { {arch} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Architektur} {Architecture}} {bauing} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Bau-~und~Umweltingenieurwissenschaften}{Civil~and~Environmental~Engineering}} {bio} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Biologie}{Biology}} {chem} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Chemie}{Chemistry}} {etit} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Elektrotechnik~und~Informationstechnik}{Electrical~Engineering~and~Information~Technology}} {gugw} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Gesellschafts-~und~Geschichtswissenschaften}{History~and~Social~Sciences}} {humanw} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Humanwissenschaften}{Human~Sciences}} {inf} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Informatik}{Computer~Science}} {mb} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Maschinenbau}{Mechanical~Engineering}} {matgeo} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Material-~und~Geowissenschaften}{Materials~and~Earth~Sciences}} {math} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Mathematik}{Mathematics}} {phys} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Physik}{Physics}} {wi} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Rechts-~und~Wirtschaftswissenschaften}{Law~and~Economics}} } { \ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department} \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of} \ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department:} { \ptxcd_department:{}~ \text_titlecase:n{\departmentname}} } {\bool_if:NTF \g_ptxcd_dr_bool { \msg_warning:nnn{tudapub/thesis} {unrecognized-department} {#1} \gdef\ptxcd_department:{#1} \ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department} } {\ptxcd_select_studyfield:n {#1}} } } \cs_new:Nn \ptxcd_select_studyfield:n { \str_case:nnTF {#1} { {ce}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Computational\nobreakspace Engineering}{Computational\nobreakspace Engineering}} {ese}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Energy~Science~and~Engineering}{Energy~Science~and~Engineering}} {ist}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Informationssystemtechnik} {Information~Systems~Technology}} {mech}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Mechanik}{Mechanics}} {metro}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Mechatronik}{Mechatronics}} } { \ptxcd_declare_caption:Nnn \departmentname {Studienbereich} {field~of~study} \ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department:} {\departmentname{}:~\ptxcd_department:} \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname} \ptxcd_declare_caption:Nnn \ptxcd_in_department {\ptxcd_departmentprefix:{}~\ptxcd_department:} {\ptxcd_departmentprefix:{}~``\ptxcd_department:''} } { \msg_warning:nnn{tudapub/thesis} {unrecognized-department} {#1} \gdef\ptxcd_department:{#1} \ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department} } } \cs_new:Nn \ptxcd_insert_studentID:n { (\ptxcd_studentIDname :\nobreakspace#1) } \ptxcd_declare_caption:Nnn \ptxcd_byname {von} {by} \ptxcd_declare_caption:Nnn \ptxcd_fromname {aus} {from} \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of} \ptxcd_declare_caption:Nnn \ptxcd_reviewname {Gutachten}{review} \ptxcd_declare_caption:Nnnn \ptxcd_examdatename {Tag~ der~ Prüfung}{Date~ of~ thesis~ defense}{Date~ of~ thesis~ defence} \ptxcd_declare_caption:Nnn \ptxcd_submissiondatename {Tag~ der~ Einreichung}{Date~ of~ submission} \ptxcd_declare_caption:Nnn \ptxcd_studentIDname {Matrikelnummer} {Student\nobreakspace ID} %Fallback content for box if not overwritten \newcommand*\ptxcd_box_department {\cs_if_exist_use:NF \departmentfullname {\ptxcd_department:}} \newcommand*\ptxcd_in_department {} \newcommand*{\ptxcd_thesisStatus}{} \tl_new:N \g__ptxcd_affidavit_version_tl \def\@ThesisTypeArticle{die} \keys_define:nn {ptxcd/thesis} { dr .choice:, dr/rernat .code:n = \tl_gset:Nn \g_ptxcd_thesis_drtext_tl {Zur~Erlangung~des~Grades~eines~Doktors~der~Naturwissenschaften~(Dr.\,rer.\,nat.)}, dr/ing .code:n = \tl_gset:Nn \g_ptxcd_thesis_drtext_tl {Zur~Erlangung~des~akademischen~Grades~Doktor-Ingenieur~(Dr.-Ing.)}, dr/phil .code:n = \tl_gset:Nn \g_ptxcd_thesis_drtext_tl {Zur~Erlangung~des~Grades~eines~Doktor~der~Philosophie~(Dr.\,phil.)}, dr/rerpol .code:n = \tl_gset:Nn \g_ptxcd_thesis_drtext_tl {Zur~Erlangung~des~Grades~eines~Doctor~rerum~politicarum (Dr. rer. pol.)}, type .choice:, type/sta .code:n = {\def\ptxcd_thesisType{Studienarbeit} \clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, date} \bool_gset_false:N \g_ptxcd_dr_bool }, % type/diplom .code:n = {\def\ptxcd_thesisType{Diplomarbeit}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, reviewer, department}}, type/bsc .meta:n = {type=bachelor}, type/bachelor .code:n = {\ptxcd_declare_caption:Nnn \ptxcd_thesisType{Bachelorarbeit}{bachelor~ thesis}\def\@ThesisTypeArticle{die}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_ptxcd_dr_bool}, type/pp .code:n = { \ptxcd_declare_caption:Nnn \ptxcd_thesisType {Project-Proposal}{project~ proposal}\def\@ThesisTypeArticle{das}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, date, department}\bool_gset_false:N \g_ptxcd_dr_bool}, type/msc .meta:n = {type=master}, type/master .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType{Masterarbeit}{master~ thesis}\def\@ThesisTypeArticle{die}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_ptxcd_dr_bool, type/dr .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType{Dissertation}{doctoral~ thesis}\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{vorgelegte}{submitted}\def\@ThesisTypeArticle{die}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate , birthplace, department, reviewer}\bool_gset_true:N \g_ptxcd_dr_bool, type/drfinal .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType {Dissertation}{doctoral~ thesis}\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{genehmigte}{accepted}\def\@ThesisTypeArticle{die}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate,examdate, birthplace, department, reviewer}\bool_gset_true:N \g_ptxcd_dr_bool, type/unknown .code:n = \def\ptxcd_thesisType{#1}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {}\def\@ThesisTypeArticle{die}\bool_gset_false:N \g_ptxcd_dr_bool, ignore-missing-data .bool_gset:N = \g_ptxcd_missing_data_warning_bool, ignore-missing-data .initial:n = false, department .tl_gset:N = \g_ptxcd_department_choice_tl, status .code:n = \tl_if_head_is_group:nTF {#1} {\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus #1 {}} {\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{#1}{#1}}, fieldofstudy .meta:n ={department = #1}, ignore-title-language .bool_gset:N = \g_ptxcd_ignore_title_language_bool, ignore-title-language .initial:n ={false}, noinstbox .bool_gset:N = \g_ptxcd_manual_info_box_bool, instbox .bool_gset_inverse:N = \g_ptxcd_manual_info_box_bool, instbox .initial:n = true, reviewer-on-uppertitleback .bool_gset:N = \g__ptxcd_reviewer_on_uppertitleback_bool, reviewer-on-uppertitleback .initial:n = false } \prop_map_inline:Nn \g_ptxcd_unknown_clsopts_prop { \keys_if_exist:nnT {ptxcd/thesis} {#1} { \keys_set:nn {ptxcd/thesis} {#1=#2} } } \tl_if_empty:NF \g_ptxcd_thesis_options_tl {\keys_set:nV {ptxcd/thesis} \g_ptxcd_thesis_options_tl} \cs_new:Npn \drtext #1 {\tl_gset:Nn \g_ptxcd_thesis_drtext_tl {#1}} \tl_new:N \g_ptxcd_titleintro_tl \cs_new:Npn \titleintro #1 {\tl_gset:Nn \g_ptxcd_titleintro_tl {#1}} \tl_new:N \g_ptxcd_titleaddendum_tl \cs_new:Npn \titleaddendum #1 {\tl_gset:Nn \g_ptxcd_titleaddendum_tl {#1}} \msg_new:nnnn{tudapub/thesis} {required-data-missing} {You~did~not~provide~#1~data~for~the~title.~Either~provide~it~or~change~your~publication~type.} {See~ the~ TUDa-CI~ documentation~ for~ further~ information~ and~ workarounds.} \cs_new:Nn \ptxcd_missing_title_data:n { \bool_if:NTF \g_ptxcd_missing_data_warning_bool \msg_warning:nnn \msg_error:nnn{tudapub/thesis} {required-data-missing} {#1} } \cs_new:Nn \ptxcd_check_title_data:Nn { \clist_if_in:NnT \g_ptxcd_Required_title_data_clist {#2} { \tl_if_empty:NT #1 { \bool_if:NTF \g_ptxcd_missing_data_warning_bool {\msg_warning:nnn} {\msg_error:nnn} {tudapub/thesis} {required-data-missing} {#2} } } } \cs_generate_variant:Nn \ptxcd_check_title_data:Nn {cn} \renewcommand*\author[2][]{ \seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#2} \tl_if_empty:nTF {#1} {\tl_set:Nn \l_ptxcd_signature_tl {#2}} {\tl_set:Nn \l_ptxcd_signature_tl {#1}} } \newcommand*{\studentID}[1]{ \tl_set:Nn \l_ptxcd_studentID_tl {#1} } \gdef\ptxcd_institution{} \gdef\ptxcd_institute{} \gdef\ptxcd_department:{} %\gdef\ptxcd_studentID{} \NewDocumentCommand{\department}{som}{% \IfBooleanTF{#1}{ \tl_gset:Nn \ptxcd_department: {#3} \tl_gset:Nn \ptxcd_in_department{#3} \IfNoValueTF {\tl_gset:Nn \ptxcd_box_department {#3}} {\tl_gset:Nn \ptxcd_box_department{#2}} \clist_remove_all:Nn \g_ptxcd_Required_title_data_clist {department} }{ \tl_gset:Nn \g_ptxcd_department_choice_tl {#3} \IfNoValueF {#2} {\tl_gset:Nn \ptxcd_departmentprefix: {#2}} } } \newcommand*{\institute}[1]{ \gdef\ptxcd_institute{#1} } \gdef\ptxcd_group{} \newcommand*{\group}[1]{% \gdef\ptxcd_group{#1} } \gdef\ptxcd_birthplace{} \newcommand*{\birthplace}[1]{% \bool_if:NTF \g_ptxcd_dr_bool {\gdef\ptxcd_birthplace{#1}} {\msg_info:nnn{tudapub/thesis} {dr-field-only} {birthplace}} } \publishers{Darmstadt\bool_if:NT \g_ptxcd_dr_bool {,~Technische~Universität~Darmstadt}} \seq_new:N \g_ptxcd_reviewer_seq \NewDocumentCommand{\reviewer}{som}{ \IfNoValueF {#2} { \IfBooleanTF{#1} {\setupReviewName*{#2}} {\setupReviewName{#2}} } \tl_if_empty:nTF {#3} {\let\@reviewer\@empty} {\seq_gset_split:Nnn \g_ptxcd_reviewer_seq {\and} {#3}} } \cs_set:Nn \ptxcd_thesis_print_reviewer: { \clist_if_in:NnT \g_ptxcd_Required_title_data_clist {reviewer} { \seq_if_empty:NT \g_ptxcd_reviewer_seq {\ptxcd_missing_title_data:n {reviewer}} } \int_zero:N \l_tmpb_int \par\vspace*{\baselineskip} { \seq_map_inline:Nn \g_ptxcd_reviewer_seq { \int_incr:N \l_tmpb_int \cs_if_exist_use:cF {__ptxcd_reviewname_\int_use:N \l_tmpb_int :} {\int_to_arabic:n {\l_tmpb_int}.~\text_titlecase:n{\ptxcd_reviewname}} :~\exp_not:n {##1}\\ } } } \gdef\ptxcd_examdate{} \newcommand*{\examdate}[1]{ \bool_if:NTF \g_ptxcd_dr_bool {\gdef\ptxcd_examdate{#1}} {\msg_info:nnn{tudapub/thesis} {dr-field-only} {examdate}} } \gdef\ptxcd_submissiondate{} \newcommand*{\submissiondate}[1]{ \gdef\ptxcd_submissiondate{#1} } \gdef\@date{} \cs_new:Nn \ptxcd_thesis_print_dates:n { \bool_set_false:N \l_tmpa_bool \tl_if_empty:NF \@date { \ptxcd_datename\tl_if_empty:NF \ptxcd_datename {\ptxcd_dateseparator}\@date \bool_set_true:N \l_tmpa_bool } \tl_if_empty:NF \ptxcd_submissiondate { \bool_if:NTF \l_tmpa_bool {#1} {\bool_set_true:N \l_tmpa_bool}\ptxcd_submissiondatename\ptxcd_dateseparator\ptxcd_submissiondate } \tl_if_empty:NF \ptxcd_examdate { \bool_if:NTF \l_tmpa_bool {#1} {\bool_set_true:N \l_tmpa_bool}\ptxcd_examdatename\ptxcd_dateseparator\ptxcd_examdate } } \tl_new:N \g_ptxcd_license_info_tl \keys_define:nn {ptxcd/thesis} { urn .tl_gset:N =\g_ptxcd_thesis_urn_tl, urn .initial:V = \c_empty_tl, printid .tl_gset:N = \g_ptxcd_thesis_tuprints_tl, printid .initial:V = \c_empty_tl, doi .tl_gset:N = \g_ptxcd_thesis_doi_tl, year .tl_gset:N = \g_ptxcd_thesis_publication_year_tl, year .initial:n = , license .choices:nn = {cc-by-4.0,cc-by-sa-4.0,cc-by-nc-sa-4.0,cc-by-nc-4.0,cc-by-nd-4.0,cc-by-nc-nd-4.0} { \tl_gset:Nx \g_ptxcd_license_info_tl {\exp_not:N \g__ptxcd_cc_license:n {\l_keys_choice_tl} \exp_not:N \iflanguage{\exp_not:N \bbl@main@language}{}{\exp_not:n {\par\smallskip\otherlanguage{\bbl@main@language}}{\exp_not:N \g__ptxcd_cc_license:n {\l_keys_choice_tl}}}} }, license / cc-by-nc-nd-2.0-de .code:n = \tl_gset:Nn \g_ptxcd_license_info_tl {\use:c {g__ptxcd_cc-by-nc-nd-2.0-de:}}, license / initial .code:n = { \keys_set:nn {ptxcd/thesis} {license=cc-by-nc-nd-2-de} \tl_put_right:Nn \g_ptxcd_license_info_tl {\msg_warning:nn {tudapub/thesis} {default-license-will-change}} }, license / unknown .code:n = \tl_gset:Nn \g_ptxcd_license_info_tl {#1}, license .initial:n = initial, signature .tl_set:N = \l_ptxcd_signature_tl, studentID .tl_set:N = \l_ptxcd_studentID_tl, studentID .initial:n =, signature-image .tl_set:N = \l_ptxcd_signature_image_tl, signature-image .initial:n =, signature-location .tl_set:N = \l_ptxcd_signature_location_tl, signature-location .initial:n = Darmstadt, } \msg_new:nnnn {tudapub/thesis} {default-license-will-change} { TUprints~changed~their~default~license.\\ tuda-ci~will~adapt~this~change~in~the~next~major~update.~\\ Please~choose~your~license~manually~to~avoid~unintended~changes. } {Use~either~the~old~default~value~license=cc-by-nc-nd-2.0-de or~license=cc-by-4.0~or~license={}~with~\string\tuprints.} \cs_new:cn {g__ptxcd_cc-by-nc-nd-2.0-de:} { Die~Veröffentlichung~steht~unter~folgender~Creative~Commons~Lizenz:\\ Namensnennung~--~Keine~kommerzielle~Nutzung~--~Keine~Bearbeitung~ 2.0~Deutschland\\ \url{http://creativecommons.org/licenses/by-nc-nd/2.0/de/} } \defcaptionname{ngerman, german}{\g__ptxcd_cc_attr_by:}{Namensnennung} \defcaptionname{ngerman, german}{\g__ptxcd_cc_attr_nc:}{Nicht~kommerziell} \defcaptionname{ngerman, german}{\g__ptxcd_cc_attr_sa:}{Weitergabe~unter~gleichen~Bedingungen} \defcaptionname{ngerman, german}{\g__ptxcd_cc_attr_nd:}{Keine~Bearbeitungen} \defcaptionname{english, USenglish, american, UKenglish, british}{\g__ptxcd_cc_attr_by:}{Attribution} \defcaptionname{english, USenglish, american, UKenglish, british}{\g__ptxcd_cc_attr_nc:}{NonCommercial} \defcaptionname{english, USenglish, american, UKenglish, british}{\g__ptxcd_cc_attr_sa:}{ShareAlike} \defcaptionname{english, USenglish, american, UKenglish, british}{\g__ptxcd_cc_attr_nd:}{NoDerivatives} \defcaptionname{ngerman,german}{\g__ptxcd_cc_intro:}{Die~Veröffentlichung~steht~unter~folgender~Creative~Commons~Lizenz:} \defcaptionname{english, USenglish, american, UKenglish, british}{\g__ptxcd_cc_intro:}{This~work~is~licensed~under~a~Creative~Commons~License:} \defcaptionname{ngerman,german}{\g__ptxcd_cc_sep:}{~--~} \defcaptionname{english, USenglish, american, UKenglish, british}{\g__ptxcd_cc_sep:}{--} \cs_new:Nn \g__ptxcd_cc_license:n { \group_begin: \g__ptxcd_cc_intro:\\ \seq_set_split:Nnn \l_tmpa_seq {-} {#1} \bool_set_false:N \l_tmpa_bool \seq_remove_all:Nn \l_tmpa_seq {cc} \seq_pop_right:NN \l_tmpa_seq \l_tmpa_tl \seq_map_inline:Nn \l_tmpa_seq { \bool_if:NTF \l_tmpa_bool {\g__ptxcd_cc_sep:} {\bool_set_true:N \l_tmpa_bool} \use:c {g__ptxcd_cc_attr_##1:} }~\l_tmpa_tl{}~International\\ \url{https://creativecommons.org/licenses/\seq_use:Nn \l_tmpa_seq {-}/\l_tmpa_tl/} \group_end: } \newcommand{\tuprints}[1]{% \tl_if_in:nnTF {#1} {=} {\keys_set:nn {ptxcd/thesis} {#1}} {\keys_set:nn {ptxcd/thesis} {printid=#1}} \lowertitleback{ \urlstyle{same} \selectlanguage{ngerman} Bitte~zitieren~Sie~dieses~Dokument~als: \tl_if_empty:NF \g_ptxcd_thesis_urn_tl {\\URN:~urn:nbn:de:tuda-tuprints-\g_ptxcd_thesis_urn_tl}\\ URL:~\url{http://tuprints.ulb.tu-darmstadt.de/\g_ptxcd_thesis_tuprints_tl}\\ \tl_if_empty:NF \g_ptxcd_thesis_doi_tl {DOI:~\url{https://doi.org/\g_ptxcd_thesis_doi_tl}\\} \tl_if_empty:NF \g_ptxcd_thesis_publication_year_tl {Jahr~der~Veröffentlichung~auf~TUprints:~\g_ptxcd_thesis_publication_year_tl} \par\vspace{\baselineskip} Dieses~Dokument~wird~bereitgestellt~von~tuprints,\\ E-Publishing-Service~der~TU~Darmstadt\\ \url{http://tuprints.ulb.tu-darmstadt.de}\\ \url{tuprints@ulb.tu-darmstadt.de}\\[2\baselineskip] \tl_if_empty:NF \g_ptxcd_license_info_tl {\\[2\baselineskip]\g_ptxcd_license_info_tl} }% } \gdef\@subject{ \text_titlecase_first:n{\tl_if_empty:NF \ptxcd_thesisStatus {\ptxcd_thesisStatus{}~}\ptxcd_thesisType}~ \tl_if_empty:NF \ptxcd_in_department {\ptxcd_in_department{}~} \seq_if_empty:NF \g_ptxcd_author_seq {\ptxcd_byname\nobreakspace\@author} \tl_if_empty:NF \ptxcd_birthplace {\space\ptxcd_fromname\space\ptxcd_birthplace} \tl_if_empty:NF \l_ptxcd_studentID_tl {\space\ptxcd_insert_studentID:n {\l_ptxcd_studentID_tl}} } \uppertitleback{ \liningnums \raggedright \@title\par\@subtitle \par\vspace*{\baselineskip} %ignore birthplace on english subject \let\ptxcd_birthplace\@empty \@subject \bool_if:NT \g__ptxcd_reviewer_on_uppertitleback_bool \ptxcd_thesis_print_reviewer: \exp_args:Nx \tl_if_empty:nF {\@date\ptxcd_submissiondate}{ \par\vspace*{\baselineskip} \ptxcd_thesis_print_dates:n {\\} } \tl_if_empty:NF \@publishers { \par\vspace*{\baselineskip} \@publishers } } %%Studienbereich (field of study): %%ce - Computational Engineering %%ese - Energy Science and Engineering %%ist - Informationssystemtechnik %%mech - Mechanik %%metro - Mechatronik % %{ce}{Computational~Engineering}{Computational~Engineering} %{ese}{Energy~Science~and~Engineering}{Energy~Science~and~Engineering} %{ist}{Information~Systems~Engineering}{Information~Systems~Engineering} %{mech}{Mechanics}{Mechanics} %{metro}{Mechatronics}{Mechatronics} \defcaptionname{english}{\researchgroupname}{research group} \defcaptionname{ngerman, german}{\researchgroupname}{Fachgebiet} \defcaptionname{english}{\institutename}{institute} \defcaptionname{ngerman, german}{\istitutename}{Institut} \renewcommand{\titlepagestyle}{title.TUDa} \box_new:N \g_ptxcd_thesis_institution_box % The following macro is an adapted version of the corresponding KOMA-Script macro % Copyright (c) 1994-2019 Markus Kohm [komascript at gmx info] \renewcommand*{\maketitle}[1][1]{ \bool_if:NF \g_ptxcd_ignore_title_language_bool { \bool_set_false:N \l_tmpa_bool \clist_map_inline:nn {english, british, ngerman, german} { \iflanguage{##1} {\bool_set_true:N \l_tmpa_bool \clist_map_break:}{} } \bool_if:NF \l_tmpa_bool { \msg_error:nnx{tudapub/thesis} {unsupported-title-language} {\languagename} } } \exp_args:NV \ptxcd_select_department:n \g_ptxcd_department_choice_tl \clist_map_inline:nn {author, date} { \ptxcd_check_title_data:cn {@##1} {##1} } \clist_map_inline:nn {examdate, birthplace, group, department, institution} { \ptxcd_check_title_data:cn {TUDa@##1} {##1} } \cs_if_exist_use:N \ptxcd_pass_TitleData: \ptxcd_disable_marginpar: \cleardoublepage \begin{titlepage} \setcounter{page}{% #1% }% \def\thefootnote{\fnsymbol{footnote}} \if@titlepageiscoverpage \def\titlepage@restore{% \endgroup \ptxcd_restore_typearea: \bool_if:nT {! \g_ptxcd_geometry_bool && \g_ptxcd_marginpar_bool} { \dim_sub:Nn \evensidemargin {\marginparwidth+\marginparsep} \dim_add:Nn \textwidth {\marginparwidth+\marginparsep} \columnwidth=\textwidth \hsize=\columnwidth } \global\@titlepageiscoverpagefalse \let\titlepage@restore\relax }% \begingroup \topmargin=\dimexpr \coverpagetopmargin-1in\relax \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax \textwidth=\dimexpr \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax \textheight=\dimexpr \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax \headheight=0pt \headsep=0pt \footskip=\baselineskip \@colht=\textheight \@colroom=\textheight \vsize=\textheight \columnwidth=\textwidth \hsize=\columnwidth \linewidth=\hsize \else \let\titlepage@restore\relax \fi \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ptxcd_setup_sponsor_box: \hbox_gset:Nn \g_ptxcd_title_box { \parbox[t]{\linewidth}{ \begin{minipage}[b]{\bool_if:NT \g__ptxcd_LogoInHead_bool {.75}\linewidth} \bool_lazy_and:nnT {\g_ptxcd_colorback_bool} {\g_ptxcd_colorbacktitle_bool} {\color{textonaccentcolor}} \tl_if_empty:NF \@titlehead { \begin{addmargin}{3mm} {\usekomafont{titlehead}{\@titlehead\par}} \end{addmargin} } \begin{addmargin}[\dim_eval:n {\box_if_empty:NF \g_ptxcd_PaperID_box {\box_wd:N\g_ptxcd_PaperID_box+.5\c_ptxcd_logoheight_dim} +3mm}]{3mm} \raggedright \leavevmode\usekomafont{title} \expandafter\fontsize\ptxcd_title_fontsize: \selectfont \llap{\raisebox{\dimexpr-\height+.5\baselineskip}[0pt][0pt]{\box_use:N \g_ptxcd_PaperID_box}\hspace{.5\c_ptxcd_logoheight_dim}} \@title\strut \par \box_if_empty:NTF \g_ptxcd_PaperID_box {\vskip0pt} {\rule{0pt}{.5\c_ptxcd_logoheight_dim}} \end{addmargin} \end{minipage}% \bool_if:NT \g_ptxcd_colorbacksubtitle_bool {\color{textonaccentcolor}} \par\nointerlineskip \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par\vspace{\c_ptxcd_rulesep_dim} \begin{addmargin}{3mm} \usekomafont{titleinfo} \raggedright \expandafter\fontsize\ptxcd_titleinfo_fontsize: \selectfont {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% \usekomafont{subject} \bool_if:NT \g_ptxcd_dr_bool {\selectlanguage{ngerman}} \tl_if_empty:NF \g_ptxcd_titleintro_tl {\g_ptxcd_titleintro_tl\par} \tl_if_empty:NF \g_ptxcd_thesis_drtext_tl {\g_ptxcd_thesis_drtext_tl\par} {% \usekomafont{author} \lineskip 0.75em \@subject \par }% {\usekomafont{date}{\ptxcd_thesis_print_dates:n {,~}\par}}% \ptxcd_thesis_print_reviewer:\par {\usekomafont{publishers}{\@publishers \par}}% \tl_if_empty:NF \g_ptxcd_titleaddendum_tl {\g_ptxcd_titleaddendum_tl\par} \end{addmargin} \tl_if_empty:NF \@thanks { \expandafter\fontsize\ptxcd_titlethanks_fontsize:\selectfont\par \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par \begin{addmargin}{3mm} \let\footnotetext\ptxcd_title@footnote \@thanks \end{addmargin} \par\vspace{-\dp\strutbox} } \normalcolor \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par } } \let\@thanks\@empty \bool_if:NF \g_ptxcd_manual_info_box_bool { \exp_args:Nf \tl_if_empty:nF {\ptxcd_institution\ptxcd_department:\ptxcd_institute\ptxcd_group} { \addTitleBox{ \setlength{\parskip}{\c_ptxcd_rulesep_dim} \tl_if_empty:NF \ptxcd_institution {\ptxcd_institution\par} \tl_if_empty:NF \ptxcd_box_department {\ptxcd_box_department\par} \tl_if_empty:NF \ptxcd_institute {\ptxcd_institute\par} \tl_if_empty:NF \ptxcd_group {\ptxcd_group} }} } \ptxcd_adjust_titlepage_style: \thispagestyle{title.TUDa} \nointerlineskip\box_use:N \g_ptxcd_title_box \par \vfill \box_if_empty:NTF \g_ptxcd_sponsor_box { \raisebox{-\c_ptxcd_rulesep_dim}[0pt][0pt]{\rule{\linewidth}{\g_ptxcd_titlerule_dim}} }{ \box_use:N \g_ptxcd_sponsor_box } \if@twoside \@tempswatrue \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax \else \ifx\@uppertitleback\@empty \ifx\@lowertitleback\@empty \@tempswafalse \fi \fi \fi \else \exp_args:Nf \tl_if_empty:nTF {\g_ptxcd_thesis_urn_tl\g_ptxcd_thesis_tuprints_tl} {\@tempswafalse} {\@tempswatrue} \fi \if@tempswa \next@tpage \begin{minipage}[t]{\textwidth} \@uppertitleback \end{minipage}\par \vfill \begin{minipage}[b]{\textwidth} \@lowertitleback \end{minipage}\par \@thanks\let\@thanks\@empty \fi \ifx\@dedication\@empty \else \next@tdpage\null\vfill {\centering\usekomafont{dedication}{\@dedication \par}}% \vskip \z@ \@plus3fill \@thanks\let\@thanks\@empty \cleardoubleemptypage \fi \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi \end{titlepage} \setcounter{footnote}{0}% \global\let\and\relax \cleardoublepage \ptxcd_restore_typearea: \aftergroup\ptxcd_restore_typearea: } \newcommand*{\@ThesisType}{\ptxcd_thesisType} \bool_if:NTF \g_ptxcd_dr_bool { \keys_define:nn {ptxcd/thesis} { affidavit .choices:nn = {dr}{\tl_gset_eq:NN \g__ptxcd_affidavit_version_tl \l_keys_choice_tl}, affidavit / default .meta:n = {affidavit=dr}, affidavit .initial:n = dr, } } { \keys_define:nn {ptxcd/thesis} { affidavit .choices:nn = {digital,print}{\tl_gset_eq:NN \g__ptxcd_affidavit_version_tl \l_keys_choice_tl}, affidavit / default .meta:n = {affidavit=print}, affidavit .initial:n = default, } } \NewDocumentCommand{\affidavit}{so}{% \IfNoValueF {#2} {% \tl_if_in:nnTF {#2} {=} {\keys_set:nn {ptxcd/thesis} {#2}} {\keys_set:nn {ptxcd/thesis} {affidavit=#2}}% }% \clearpage \begin{otherlanguage}{ngerman} \bool_if:NTF \g_ptxcd_dr_bool { \g__ptxcd_affidavit_dr_tl } { \tl_use:c {g__ptxcd_affidavit_\g__ptxcd_affidavit_version_tl _tl} } \par \bigskip \AffidavitSignature \end{otherlanguage} \IfBooleanF{#1}{\clearpage} } \ExplSyntaxOff \expandafter\def\csname g__ptxcd_affidavit_dr_tl\endcsname {% \section*{Erklärungen laut Promotionsordnung} \subsection*{\S\,8 Abs. 1 lit. c PromO} Ich versichere hiermit, dass die elektronische Version meiner Dissertation mit der schriftlichen Version übereinstimmt. \subsection*{\S\,8 Abs. 1 lit. d PromO} Ich versichere hiermit, dass zu einem vorherigen Zeitpunkt noch keine Promotion versucht wurde. In diesem Fall sind nähere Angaben über Zeitpunkt, Hochschule, Dissertationsthema und Ergebnis dieses Versuchs mitzuteilen. \subsection*{\S\,9 Abs. 1 PromO} Ich versichere hiermit, dass die vorliegende Dissertation selbstständig und nur unter Verwendung der angegebenen Quellen verfasst wurde. \subsection*{\S\,9 Abs. 2 PromO} Die Arbeit hat bisher noch nicht zu Prüfungszwecken gedient. } \expandafter\def\csname g__ptxcd_affidavit_digital_tl\endcsname {% \section*{Erklärung zur Abschlussarbeit gemäß\\\S\,22~Abs.~7~APB TU~Darmstadt} \begin{sloppypar}% Hiermit versichere ich, \@author, \@ThesisTypeArticle{} vorliegende \@ThesisType{} gemäß \S\,22~Abs.~7~APB der TU Darmstadt ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. \end{sloppypar}% \par Mir ist bekannt, dass im Falle eines Plagiats (\S\,38~Abs.~2 ~APB) ein Täuschungsversuch vorliegt, der dazu führt, dass die Arbeit mit 5,0 bewertet und damit ein Prüfungsversuch verbraucht wird. Abschlussarbeiten dürfen nur einmal wiederholt werden. \par Bei einer Thesis des Fachbereichs Architektur entspricht die eingereichte elektronische Fassung dem vorgestellten Modell und den vorgelegten Plänen. } \expandafter\def\csname g__ptxcd_affidavit_print_tl\endcsname {% \section*{Erklärung zur Abschlussarbeit\\gemäß \S\,22~Abs.~7 und \S\,23~Abs.~7~APB der TU~Darmstadt} Hiermit versichere ich, \@author, \@ThesisTypeArticle{} vorliegende \@ThesisType{} ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. \par Mir ist bekannt, dass im Fall eines Plagiats (\S\,38~Abs.~2~APB) ein Täuschungsversuch vorliegt, der dazu führt, dass die Arbeit mit 5,0 bewertet und damit ein Prüfungsversuch verbraucht wird. Abschlussarbeiten dürfen nur einmal wiederholt werden. \par Bei der abgegebenen Thesis stimmen die schriftliche und die zur Archivierung eingereichte elektronische Fassung gemäß \S\,23~Abs.~7~APB überein. \par Bei einer Thesis des Fachbereichs Architektur entspricht die eingereichte elektronische Fassung dem vorgestellten Modell und den vorgelegten Plänen. } \ExplSyntaxOn \NewDocumentEnvironment{affidavit*}{om}{ \IfNoValueF {#1} {\begin{otherlanguage}{#1}} \section*{#2} }{ \IfNoValueF {#1} {\end{otherlanguage}} } \NewDocumentCommand{\AffidavitSignature}{o}{ \par \begingroup \IfNoValueF {#1} {% \tl_if_in:nnTF {#1} {=} {\keys_set:nn {ptxcd/thesis} {#1}} {\keys_set:nn {ptxcd/thesis} {signature-location=#1}}% }% \tl_if_empty:NT \l_ptxcd_signature_image_tl {\bigskip} \noindent \l_ptxcd_signature_location_tl,~ \ptxcd_submissiondate\hfill \SignatureBox{\l_ptxcd_signature_tl} \endgroup \\\strut } \newcommand*{\SignatureBox}[2][5cm]{\parbox[t]{#1}{\centering \tl_if_empty:NF \l_ptxcd_signature_image_tl {\let\width\linewidth\l_ptxcd_signature_image_tl\par\nointerlineskip} \rule{\linewidth}{.3pt}\\\makebox[0pt][c]{#2}} } %messages: \msg_new:nnn{tudapub/thesis} {dr-field-only} { You~submitted~#1~data~for~title~information.\\ This~field~is~only~used~for~type=dr/drfinal.\\ It~will~be~ignored. } \msg_new:nnn{tudapub/thesis} {unrecognized-department} { I~can't~recognize~your~department~#1.\\ I~will~use~the~string~'#1'~directly.\\ Ensure~your~department~has~to~shortcut.\\ See~tudathesis~documentation~for~further~details. } \msg_new:nnnn{tudapub/thesis} {unsupported-title-language} { You~chose~an~unsupported~language~"#1".\\ \string\maketitle\ ~ist~not~configured~for~this~language. }{ You~can~manually~configure~it,~as~described~in~tudathesis~documentation.\\ Use~"ignore-title-language"~Option~to~ignore~this~message~at~your~own~risk. } \PassOptionsToPackage{ngerman}{babel} \AtBeginDocument{ \@ifpackageloaded{babel}{}{ \msg_new:nnnn{tudapub/thesis} {missing-babel} { The~babel~package~is~not~loaded.\\ Please~load~babel~with~option\\ main=\\ to~ensure~correct~hyphenation. }{ I~will~use~a~workaround~(redefine~\string\otherlanguagen)~to~be~able~to~compile,~but~can't~configure~hyphenation~correctly. } \msg_warning:nn {tudapub/thesis} {missing-babel} \renewenvironment{otherlanguage}[1]{}{} } } % Fallback mechanism for older l3 kernels \cs_if_exist:NF \text_titlecase:n { \cs_set_eq:NN \text_titlecase:n \tl_mixed_case:n } \seq_new:N \g_ptxcd_reviewer_name_seq \NewDocumentCommand{\setupReviewName}{som}{ \IfBooleanTF {#1} { \clist_map_inline:nn {#3} { \int_incr:N \l_tmpb_int \cs_set:cn {__ptxcd_reviewname_\int_use:N \l_tmpb_int :} {##1} } } { \IfNoValueTF {#2} { \cs_set:Npn \ptxcd_reviewname {#3} } { \ifnum #2 > 0 \cs_set:cn {__ptxcd_reviewname_#2:} {#3} \fi } } } \endinput