diff options
author | Karl Berry <karl@freefriends.org> | 2021-07-13 20:04:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-07-13 20:04:44 +0000 |
commit | 666952d96dc5c76c733cecc54f661f13a2f71195 (patch) | |
tree | a1a1ef75d1b7e7d7a66d0b8ac188157fcf558f6d /Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls | |
parent | 3879f5443ec624b0f958ce876d5b31234e093755 (diff) |
uantwerpendocs (13jul21)
git-svn-id: svn://tug.org/texlive/trunk@59920 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls | 724 |
1 files changed, 261 insertions, 463 deletions
diff --git a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls index 57aa706f3e7..b0719dbe890 100644 --- a/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls +++ b/Master/texmf-dist/tex/latex/uantwerpendocs/uantwerpenphdthesis.cls @@ -24,23 +24,25 @@ %% %% The Current Maintainer of this work is Walter Daems. %% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{uantwerpenphdthesis} - [2021/03/23 v3.2 .dtx skeleton file] -\def\fileversion{3.2} -\def\filedate{2021/03/23} -\newif\if@titlepagenoartwork -\DeclareOption{titlepagenoartwork}{\@titlepagenoartworktrue} -\newif\if@titlepagetableonly -\DeclareOption{titlepagetableonly}{\@titlepagetableonlytrue} + [2021/07/11 v4.0 .dtx skeleton file] +\def\fileversion{4.0} +\def\filedate{2021/07/11} \newif\if@filled \DeclareOption{filled}{\@filledtrue} +\input{uantwerpencommonoptions.clo} \ExecuteOptions{a4paper,11pt,final,oneside,openright} \ProcessOptions\relax \LoadClassWithOptions{book} \setlength{\parindent}{0pt} \addtolength{\parskip}{0.75\baselineskip} \setcounter{secnumdepth}{3} -\RequirePackage[top=1in, bottom=1in, left=1in, right=1in]{geometry} +\RequirePackage[paperwidth=180mm,paperheight=260mm, + top=2.5cm,bottom=2.5cm,left=2.6cm,right=1.8cm,twoside] + {geometry} +\RequirePackage{expl3} +\RequirePackage{xparse} \RequirePackage{iftex} \RequirePackage{xstring} \RequirePackage{etoolbox} @@ -48,11 +50,14 @@ \IfFileExists{shellesc.sty}{\RequirePackage{shellesc}}{} \newcommand{\@emptymacro}{} \RequirePackage{graphicx} +\RequirePackage[export]{adjustbox} \RequirePackage{color} \RequirePackage{tikz} \usetikzlibrary{positioning} \RequirePackage{eso-pic} \usepackage{ean13isbn} +\RequirePackage{uantwerpencolorlogoscheme} + \RequirePackage{fancyhdr} \definecolor{uacorpbord}{cmyk} {0.00,1.00,0.60,0.37} \definecolor{uacorpblue}{cmyk} {1.00,0.25,0.00,0.50} @@ -63,347 +68,178 @@ \definecolor{lightgray}{cmyk} {0.00,0.00,0.00,0.05} \definecolor{darkgray}{cmyk} {0.00,0.00,0.00,0.80} \definecolor{watermark}{cmyk} {0.00,0.00,0.00,0.05} -\newcommand\uaname{University of Antwerp} -\newcommand\arrname{All rights reserved} -\newcommand\orname{of} -\newcommand\domainname{uantwerp.be} -\newcommand\datename{Date} -\newcommand\subjectname{Subject} -\newcommand\academicyearname{Academic year} -\newcommand\masterthesisname{Master's thesis} -\newcommand\bachelorthesisname{Bachelor's thesis} -\newcommand\supervisorsname{Supervisors} -\newcommand\juryname{Jury} -\newcommand\jurymembersname{Members} -\newcommand\jurychairmanname{Chairman} -\newcommand\bmthesisname{Thesis to obtain the degree of} -\newcommand\pthesisnamei{Thesis submitted in fulfilment of the - requirements for the degree of} -\newcommand\pthesisnameii{at University of Antwerp} -\newcommand\@faculty{~} -\newcommand\@logo{Logos/logo-uantwerpen-ua-en-cmyk-pos} -\newcommand\faccpg{ - \renewcommand\@faculty{Centre Pieter Gillis} - \renewcommand\@logo{Logos/logo-uantwerpen-ua-en-cmyk-pos}} -\newcommand\facfbd{ - \renewcommand\@faculty{Faculty of Pharmaceutical, Biomedical and - Veterinary Sciences} - \renewcommand\@logo{Logos/logo-uantwerpen-fbd-en-cmyk-pos}} -\newcommand\facggw{ - \renewcommand\@faculty{Faculty of Medicine and Health Sciences} - \renewcommand\@logo{Logos/logo-uantwerpen-ggw-en-cmyk-pos}} -\newcommand\insiob{ - \renewcommand\@faculty{Insitute of Development Policy} - \renewcommand\@logo{Logos/logo-uantwerpen-iob-en-cmyk-pos}} -\newcommand\asoe{ - \renewcommand\@faculty{Antwerp School of Education} - \renewcommand\@logo{Logos/logo-uantwerpen-ua-en-cmyk-pos}} -\newcommand\faclw{ - \renewcommand\@faculty{Faculty of Arts} - \renewcommand\@logo{Logos/logo-uantwerpen-lw-en-cmyk-pos}} -\newcommand\facow{ - \renewcommand\@faculty{Faculty of Design Sciences} - \renewcommand\@logo{Logos/logo-uantwerpen-ow-en-cmyk-pos}} -\newcommand\facsw{ - \renewcommand\@faculty{Faculty of Social Sciences} - \renewcommand\@logo{Logos/logo-uantwerpen-sw-en-cmyk-pos}} -\newcommand\facre{ - \renewcommand\@faculty{Faculty of Law} - \renewcommand\@logo{Logos/logo-uantwerpen-re-en-cmyk-pos}} -\newcommand\facbe{ - \renewcommand\@faculty{Faculty of Business and Economics} - \renewcommand\@logo{Logos/logo-uantwerpen-be-en-cmyk-pos}} -\newcommand\facti{ - \renewcommand\@faculty{Faculty of Applied Engineering} - \renewcommand\@logo{Logos/logo-uantwerpen-ti-en-cmyk-pos}} -\newcommand\facwe{ - \renewcommand\@faculty{Faculty of Science} - \renewcommand\@logo{Logos/logo-uantwerpen-we-en-cmyk-pos}} -\newcommand\weightname{Weight} +\ExplSyntaxOn +\prop_new:N \g__uantwerpendocs_data_prop +\NewDocumentCommand{\uantwerpendocsprop}{m}{ + \prop_item:Nn \g__uantwerpendocs_data_prop{#1} +} +\NewDocumentCommand{\uantwerpendocsPROP}{m}{ + \str_uppercase:f { \prop_item:Nn \g__uantwerpendocs_data_prop{#1} } +} +\NewDocumentCommand{\uantwerpendocspropread}{m}{ + \__uantwerpendocs_datareader:n { #1 } +} +\cs_new_nopar:Npn \__uantwerpendocs_dataparser:w #1 = #2!! { + \tl_set:Nn \l_tmpa_tl {#1} + \tl_set:Nn \l_tmpb_tl {#2} + \tl_trim_spaces:N \l_tmpa_tl + \tl_trim_spaces:N \l_tmpb_tl + \prop_gput:Nxx \g__uantwerpendocs_data_prop { \l_tmpa_tl} { \l_tmpb_tl } +} +\ior_new:N \l__uantwerpendocs_data_ior +\cs_new_nopar:Nn \__uantwerpendocs_datareader:n { + \ior_open:Nn \l__uantwerpendocs_data_ior { uantwerpendocs-#1.data } + \ior_str_map_inline:Nn \l__uantwerpendocs_data_ior { + \regex_match:nnTF {=} {##1} { + \__uantwerpendocs_dataparser:w ##1!! + } + {} + } + \ior_close:N \l__uantwerpendocs_data_ior +} +\clist_map_inline:nn {en} { + \__uantwerpendocs_datareader:n { #1 } +} +\ExplSyntaxOff +\newcommand*\@logo{\logopos} \AtBeginDocument{ + \makeatother \@ifpackageloaded{babel}{ + \addto\captionsenglish{% + \uantwerpendocspropread{en} + } \addto\captionsdutch{% - \renewcommand\uaname{Universiteit Antwerpen} - \renewcommand\arrname{Alle rechten voorbehouden} - \renewcommand\orname{van} - \renewcommand\domainname{uantwerpen.be} - \renewcommand\subjectname{Onderwerp}% - \renewcommand\datename{Datum}% - \renewcommand\academicyearname{Academiejaar} - \renewcommand\masterthesisname{Masterproef} - \renewcommand\bachelorthesisname{Bachelorproef} - \renewcommand\supervisorsname{Promotoren} - \renewcommand\juryname{Jury} - \renewcommand\jurymembersname{Leden} - \renewcommand\jurychairmanname{Voorzitter} - \renewcommand\bmthesisname{Proefschrift tot het behalen van de - graad van} - \renewcommand\pthesisnamei{Proefschrift voorgelegd tot het - behalen van de graad van} - \renewcommand\pthesisnameii{aan de \uaname{} te - verdedigen door} - \renewcommand\faccpg{ - \renewcommand\@faculty{Centrum Pieter Gillis} - \renewcommand\@logo{Logos/logo-uantwerpen-ua-nl-cmyk-pos}} - \renewcommand\facfbd{ - \renewcommand\@faculty{ - Faculteit Farmaceutische, Biomedische en Diergeneeskundige - Wetenschappen} - \renewcommand\@logo{Logos/logo-uantwerpen-fbd-nl-cmyk-pos}} - \renewcommand\facggw{ - \renewcommand\@faculty{Faculteit Geneeskunde en - Gezondheidswetenschappen} - \renewcommand\@logo{Logos/logo-uantwerpen-ggw-nl-cmyk-pos}} - \renewcommand\insiob{ - \renewcommand\@faculty{Instituut voor Ontwikkelingsbeleid- en - beheer} - \renewcommand\@logo{Logos/logo-uantwerpen-iob-nl-cmyk-pos}} - \renewcommand\asoe{ - \renewcommand\@faculty{Antwerp School of Education} - \renewcommand\@logo{Logos/logo-uantwerpen-ua-nl-cmyk-pos}} - \renewcommand\faclw{\renewcommand\@faculty{Faculteit - Letteren en Wijsbegeerte} - \renewcommand\@logo{Logos/logo-uantwerpen-lw-nl-cmyk-pos}} - \renewcommand\facow{ - \renewcommand\@faculty{Faculteit Ontwerpwetenschappen} - \renewcommand\@logo{Logos/logo-uantwerpen-ow-nl-cmyk-pos}} - \renewcommand\facsw{ - \renewcommand\@faculty{Faculteit Sociale Wetenschappen} - \renewcommand\@logo{Logos/logo-uantwerpen-sw-nl-cmyk-pos}} - \renewcommand\facre{ - \renewcommand\@faculty{Faculteit Rechten} - \renewcommand\@logo{Logos/logo-uantwerpen-re-nl-cmyk-pos}} - \renewcommand\facbe{ - \renewcommand\@faculty{Faculteit Bedrijfswetenschappen en Economie} - \renewcommand\@logo{Logos/logo-uantwerpen-be-nl-cmyk-pos}} - \renewcommand\facti{ - \renewcommand\@faculty{Faculteit Toegepaste - Ingenieurswetenschappen} - \renewcommand\@logo{Logos/logo-uantwerpen-ti-nl-cmyk-pos}} - \renewcommand\facwe{ - \renewcommand\@faculty{Faculteit Wetenschappen} - \renewcommand\@logo{Logos/logo-uantwerpen-we-nl-cmyk-pos}} - \renewcommand\weightname{Gewicht} + \uantwerpendocspropread{nl} } } {} + \makeatletter +} + +\newcommand*{\facultyacronym}[1]{ + \PackageError{uantwerpendocs} + {The '\protect\facultyacronym{}' macro is no longer available. Use + your faculty abbreviation in lowercase as class options instead} + {The interface of uantwerpendocs 4.0 has been changed. See + the uantwerpendocs manual under section '5.2 The class options explained'} +} +\newcommand*{\@subtitle}{~} +\newcommand*{\subtitle}[1]{% + \renewcommand*\@subtitle{#1} +} +\newcommand\@affiliation{ + \PackageError{uantwerpendocs} + {Please, define the affiliation of the author using the + '\protect\affiliation{}' command in the preamble of your + document.} + {See the uantwerpendocs manual} } -\newcommand{\@facultyacronym}{~} -\newcommand{\facultyacronym}[1]{ - \renewcommand{\@facultyacronym}{#1} - \AtBeginDocument{ - \ifthenelse{\equal{#1}{CPG}}{\faccpg}{ - \ifthenelse{\equal{#1}{FBD}}{\facfbd}{ - \ifthenelse{\equal{#1}{GGW}}{\facggw}{ - \ifthenelse{\equal{#1}{IOB}}{\insiob}{ - \ifthenelse{\equal{#1}{ASoE}}{\asoe}{ - \ifthenelse{\equal{#1}{LW}}{\faclw}{ - \ifthenelse{\equal{#1}{OW}}{\facow}{ - \ifthenelse{\equal{#1}{SW}}{\facsw}{ - \ifthenelse{\equal{#1}{RE}}{\facre}{ - \ifthenelse{\equal{#1}{BE}}{\facbe}{ - \ifthenelse{\equal{#1}{TI}}{\facti}{ - \ifthenelse{\equal{#1}{WE}}{\facwe}{ - \errmessage{Error: wrong faculty acronym; choose one of CPG, FBD, GGW, - IOB, ASoE, LW, OW, SW, RE, BE, TI, WE}}}}}}}}}}}}}} -} -\newcommand{\@subtitle}{~} -\newcommand{\@qrsubtitle}{} -\newcommand{\subtitle}[1]{% - \renewcommand\@subtitle{#1} - \ifx\@qrsubtitle\@emptymacro - \renewcommand\@qrsubtitle{#1} - \fi -} -\newcommand{\qrsubtitle}[1]{% - \renewcommand\@qrsubtitle{#1} -} -\newcommand\@affiliation{\errmessage{Please, define the affiliation of - the author using the \textbackslash{}affiliation command in the - preamble of your document.}} \newcommand\affiliation[1]{\renewcommand\@affiliation{#1}} -\newcommand\@supervisori{\errmessage{Please define a supervisor of - your thesiswork using the \textbackslash{}supervisori to iv - commands} in the preamble of your document.} -\newcommand\@supervisoriaff{} -\newcommand\@supervisorii{} -\newcommand\@supervisoriiaff{} -\newcommand\@supervisoriii{} -\newcommand\@supervisoriiiaff{} -\newcommand\@supervisoriv{} -\newcommand\@supervisorivaff{} -\newcommand{\supervisori}[2]{ - \renewcommand\@supervisori{#1}\renewcommand\@supervisoriaff{#2}} -\newcommand{\supervisorii}[2]{ - \renewcommand\@supervisorii{#1}\renewcommand\@supervisoriiaff{#2}} -\newcommand{\supervisoriii}[2]{ - \renewcommand\@supervisoriii{#1}\renewcommand\@supervisoriiiaff{#2}} -\newcommand{\supervisoriv}[2]{ - \renewcommand\@supervisoriv{#1}\renewcommand\@supervisorivaff{#2}} -\newcommand{\@jurychairman}{\errmessage{Please define a chairman of the jurya - using the \textbackslash{}jurychairman command in the preamble of - your document.}} -\newcommand{\@jurychairmanaff}{} -\newcommand{\jurychairman}[2]{ - \renewcommand{\@jurychairman}{#1}\renewcommand{\@jurychairmanaff}{#2}} -\newcommand{\@jurymemberi}{\errmessage{Please define jury members - using the \textbackslash{}jurymemberi to vi commands in the - preamble of your document.}} -\newcommand\@jurymemberiaff{} -\newcommand\@jurymemberii{} -\newcommand\@jurymemberiiaff{} -\newcommand\@jurymemberiii{} -\newcommand\@jurymemberiiiaff{} -\newcommand\@jurymemberiv{} -\newcommand\@jurymemberivaff{} -\newcommand\@jurymemberv{} -\newcommand\@jurymembervaff{} -\newcommand\@jurymembervi{} -\newcommand\@jurymemberviaff{} -\newcommand{\jurymemberi}[2]{ - \renewcommand\@jurymemberi{#1}\renewcommand\@jurymemberiaff{#2}} -\newcommand{\jurymemberii}[2]{ - \renewcommand\@jurymemberii{#1}\renewcommand\@jurymemberiiaff{#2}} -\newcommand{\jurymemberiii}[2]{ - \renewcommand\@jurymemberiii{#1}\renewcommand\@jurymemberiiiaff{#2}} -\newcommand{\jurymemberiv}[2]{ - \renewcommand\@jurymemberiv{#1}\renewcommand\@jurymemberivaff{#2}} -\newcommand{\jurymemberv}[2]{ - \renewcommand\@jurymemberv{#1}\renewcommand\@jurymembervaff{#2}} -\newcommand{\jurymembervi}[2]{ - \renewcommand\@jurymembervi{#1}\renewcommand\@jurymemberviaff{#2}} -\newcommand\@phddegree{\errmessage{Please, specify the offical PhD - degree description using the \textbackslash{}phddegree macro in - the preamble of your document.}} -\newcommand\phddegree[1]{\renewcommand\@phddegree{#1}} -\newcommand{\@programmet}{} % type -\newcommand{\@programmec}{} % class -\newcommand{\@programmecqr}{} % class for qr code -\newcommand{\@programmes}{} % class -\newcommand{\@programmeq}{} % qualifier -\newcommand{\programme}[3]{% - \ifthenelse{\equal{#1}{BA}}% - {\renewcommand{\@programmet}{Bachelor of Science in de }}{% - \ifthenelse{\equal{#1}{MA}}% - {\renewcommand{\@programmet}{Master of Science in de }}{% - \ifthenelse{\equal{#1}{PHD}}% - {\renewcommand{\@programmet}{Doctor in de }}{% - \ifthenelse{\equal{#1}{VP}}% - {\renewcommand{\@programmet}{Voorbereidingsprogramma in de }}{% - \ifthenelse{\equal{#1}{SP}}% - {\renewcommand{\@programmet}{Schakelprogramma in de }}{% - \ifthenelse{\equal{#1}{FREE}}% - {}{ - \errmessage{Error in 1st arg of macro programme[3]: invalid - programme type!}}}}}}}% - % - \ifthenelse{\equal{#2}{IW}}% - {\renewcommand{\@programmec}{industri\"ele wetenschappen} - \renewcommand{\@programmecqr}{industriƫle wetenschappen}}{ - \ifthenelse{\equal{#2}{}}% - {}{ - \errmessage{{Error in 2nd arg of macro programme[3]: invalid - programme class! }}}}% - % - \ifthenelse{\equal{#3}{BK}}% - {\renewcommand{\@programmeq}{Bouwkunde}}{% - \ifthenelse{\equal{#3}{CH}}% - {\renewcommand{\@programmeq}{Chemie}}{% - \ifthenelse{\equal{#3}{BCH}}% - {\renewcommand{\@programmeq}{Biochemie}}{% - \ifthenelse{\equal{#3}{EM}}% - {\renewcommand{\@programmeq}{Elektromechanica}}{% - \ifthenelse{\equal{#3}{EI}}% - {\renewcommand{\@programmeq}{Elektronica-ICT}}{% - \ifthenelse{\equal{#3}{}}% - {}{% - \ifthenelse{\equal{#1}{FREE}} - {\renewcommand{\@programmeq}{#3}}{ - \errmessage{Error in 3rd arg to macro programme[3]: invalid - programme qualifier}}}}}}}}% - % - \ifthenelse{\equal{#2}{IW}\and\not\equal{#3}{}} - {\renewcommand{\@programmes}{: }}{} -} -\newcommand{\@diplomalevel}{ERROR} -\newcommand{\@diploma}{ERROR} -\newcommand{\diploma}[1]{ - \newcommand{\MoS}{Master of Science} - \newcommand{\MoSIW}{Master of Science in de industri\"ele wetenschappen} - \newcommand{\BoSIW}{Bachelor of Science in de industri\"ele wetenschappen} - \newcommand{\MoSTEW}{Master of Science in de toegepaste economische wetenschappen} - \renewcommand{\@diploma}{ - \ifthenelse{\equal{#1}{BA-IW-BK}} - {\BoSIW: bouwkunde}{ - \ifthenelse{\equal{#1}{BA-IW-BCH}} - {\BoSIW: biochemie}{ - \ifthenelse{\equal{#1}{BA-IW-CH}} - {\BoSIW: chemie}{ - \ifthenelse{\equal{#1}{BA-IW-EI}} - {\BoSIW: elektronica-ICT}{ - \ifthenelse{\equal{#1}{BA-IW-EM}} - {\BoSIW: elektromechanica}{ - \ifthenelse{\equal{#1}{MA-IW-BK}} - {\MoSIW: bouwkunde}{ - \ifthenelse{\equal{#1}{MA-IW-BCH}} - {\MoSIW: biochemie}{ - \ifthenelse{\equal{#1}{MA-IW-CH}} - {\MoSIW: chemie}{ - \ifthenelse{\equal{#1}{MA-IW-EI}} - {\MoSIW: elektronica-ICT}{ - \ifthenelse{\equal{#1}{MA-IW-EI-CPS}} - {\MoSIW:\\elektronica-ICT, optie - Cyber-Physical Systems}{ - \ifthenelse{\equal{#1}{MA-IW-EI-IOT}} - {\MoSIW:\\elektronica-IOT, optie Internet of - Things}{ - \ifthenelse{\equal{#1}{MA-IW-EI-DAI}} - {\MoSIW:\\elektronica-IOT, optie Distributed - Artificial Intelligence}{ - \ifthenelse{\equal{#1}{MA-IW-EM-OE}} - {\MoSIW:\\elektromechanica, optie Offshore - Engineering}{ - \ifthenelse{\equal{#1}{MA-IW-EM-EN}} - {\MoSIW:\\elektromechanica, optie Energie}{ - \ifthenelse{\equal{#1}{MA-IW-EM-OP}} - {\MoSIW:\\elektromechanica, optie Ontwerp en - Productie}{ - \ifthenelse{\equal{#1}{MA-IW-EM-AU}} - {\MoSIW:\\elektromechanica, optie Automatisering}{ - \ifthenelse{\equal{#1}{MA-IW-EM}} - {\MoSIW:\\elektromechanica}{ - \ifthenelse{\equal{#1}{MA-BE-HI}} - {\MoS handelsingenieur}{ - \ifthenelse{\equal{#1}{MA-BE-HIBI}} - {\MoS handelsingenieur in de beleidsinformatica}{ - \ifthenelse{\equal{#1}{MA-BE-EB}} - {\MoSTEW: economisch beleid}{ - \ifthenelse{\equal{#1}{MA-BE-BK}} - {\MoSTEW: bedrijfskunde} - {\errmessage{Error in argument to macro diploma: must be one of - BA-IW-XXX with XXX one of BK, BCH, CH, EI or EM, or MA-IW-XXX - with XXX one of BK, BCH, CH, EI, EI-CPS, EI-IOT, EI-DAI, - EM-OE, EM-AU, EM-OP, EM-EN, MA-BE-YYY with YYY one of HI, - HIBI, EB, BK! <<}}}}}}}}}}}}}}}}}}}}}} - } - \newcommand\thesisname{ERROR} - \IfSubStr{#1}{MA-}{\renewcommand\thesisname{\masterthesisname}}{} - \IfSubStr{#1}{BA-}{\renewcommand\thesisname{\bachelorthesisname}}{} -} -\newcommand\@defensedate{ERROR} -\newcommand{\defensedate}[1]{\renewcommand\@defensedate{#1}} -\newcommand\@defenselocation{Antwerpen} -\newcommand{\defenselocation}[1]{\renewcommand\@defenselocation{#1}} -\newcommand\@titlepageimage{} -\newcommand\titlepageimage[1]{\renewcommand\@titlepageimage{#1}} -\newcommand{\@isbn}{} -\newcommand{\isbn}[1]{\renewcommand{\@isbn}{#1}} -\newcommand{\@depot}{} -\newcommand{\depot}[1]{\renewcommand{\@depot}{#1}} -\newcommand{\@address}{\errmessage{Please, set your multi-line address - and contact details using the \textbackslash{}address\{\} command - in the preamble of your document}} -\newcommand{\address}[1]{\renewcommand{\@address}{#1}} +\ExplSyntaxOn + +\seq_new:N \g__uantwerpendocs_supervisors +\seq_new:N \g__uantwerpendocs_supervisorswithaffiliation +\cs_new:Nn \__uantwerpendocs_addsupervisor:nn { + \seq_gpush:Nn \g__uantwerpendocs_supervisors { #1 } + \seq_gpush:Nn \g__uantwerpendocs_supervisorswithaffiliation { #1,~#2 } +} +\NewDocumentCommand{\supervisor}{mm}{ + \__uantwerpendocs_addsupervisor:nn { #1 } { #2 } +} +\NewDocumentCommand{\jointsupervisors}{m}{ + \seq_use:Nn \g__uantwerpendocs_supervisors { #1 } +} +\NewDocumentCommand{\jointsupervisorswithaffiliation}{m}{ + \seq_use:Nn \g__uantwerpendocs_supervisorswithaffiliation { #1 } +} +\NewDocumentCommand{\supervisorsname}{}{ + \if_int_compare:w \seq_count:N \g__uantwerpendocs_supervisors > 1 + \uantwerpendocsprop{supervisorsname} + \else: + \if_int_compare:w \seq_count:N \g__uantwerpendocs_supervisors = 1 + \uantwerpendocsprop{supervisorname} + \else: + \fi: + \fi: +} +\AtBeginDocument{ + \seq_greverse:N \g__uantwerpendocs_supervisors + \seq_greverse:N \g__uantwerpendocs_supervisorswithaffiliation +} +\ExplSyntaxOff +\newcommand*{\@jurychairman}{ + \PackageError{uantwerpendocs} + {Please, define a chairman of the jury using the + '\protect\jurychairman{}' command in the preamble of your + document.} + {See the uantwerpendocs manual} +} +\newcommand*{\@jurychairmanaff}{} +\newcommand*{\jurychairman}[2]{ + \renewcommand*{\@jurychairman}{#1}\renewcommand*{\@jurychairmanaff}{#2}} +\ExplSyntaxOn +\seq_new:N \g__uantwerpendocs_jurymemberswithaffiliation +\cs_new:Nn \__uantwerpendocs_addjurymember:nn { + \seq_gpush:Nn \g__uantwerpendocs_jurymemberswithaffiliation { #1,~#2 } +} +\NewDocumentCommand{\jurymember}{mm}{ + \__uantwerpendocs_addjurymember:nn { #1 } { #2 } +} +\NewDocumentCommand{\jointjurymembers}{m}{ + \seq_use:Nn \g__uantwerpendocs_jurymemberswithaffiliation { #1 } +} +\AtBeginDocument{ + \seq_greverse:N \g__uantwerpendocs_jurymemberswithaffiliation +} +\ExplSyntaxOff +\newcommand*\phddegree{ + \PackageError{uantwerpendocs} + {The '\protect\phddegree{}' macro is no longer available. Use + '\protect\degree{}' instead} + {The interface of uantwerpendocs 4.0 has been changed. Use the + '\protect\degree' macro to specify your degree in full text (see + the uantwerpendocs manual)'} +} +\newcommand*\@degree{ + \PackageError{uantwerpendocs} + {Please, specify the offical degree description using + the '\protect\degree{}' macro in the preamble of your document.} + {See the uantwerpendocs manual} +} +\newcommand*\degree[1]{\renewcommand*\@degree{#1}} +\newcommand*{\programme}[3]{ + \PackageError{uantwerpendocs} + {The '\protect\programme{}{}{}' macro is no longer available. Use + '\protect\degree{}' instead} + {The interface of uantwerpendocs 4.0 has been changed. Use the + '\protect\degree' macro to specify your degree in full text (see + the uantwerpendocs manual)'} +} +\newcommand*{\diploma}[1]{ + \PackageError{uantwerpendocs} + {The '\protect\diploma{}' macro is no longer available. Use + '\protect\degree{}' instead} + {The interface of uantwerpendocs 4.0 has been changed. Use the + '\protect\degree' macro to specify your degree in full text (see + the uantwerpendocs manual)'} +} +\newcommand*\@defensedate{ERROR} +\newcommand*{\defensedate}[1]{\renewcommand*\@defensedate{#1}} +\newcommand*\@defenselocation{Antwerpen} +\newcommand*{\defenselocation}[1]{\renewcommand*\@defenselocation{#1}} +\newcommand*\@titlepageimage{} +\newcommand*\titlepageimage[1]{\renewcommand*\@titlepageimage{#1}} +\newcommand*{\@isbn}{} +\newcommand*{\isbn}[1]{\renewcommand*{\@isbn}{#1}} +\newcommand*{\@depot}{} +\newcommand*{\depot}[1]{\renewcommand*{\@depot}{#1}} +\newcommand*{\@address}{ + \PackageError{uantwerpendocs} + {Please, set your multi-line address and contact details using the + '\protect\address{}' command in the preamble of your document} + {See the uantwerpendocs manual} +} +\newcommand*{\address}[1]{\renewcommand*{\@address}{#1}} \if@twoside \lhead[\thepage]{\slshape\rightmark} \chead[]{} @@ -420,8 +256,8 @@ \rfoot[]{} \fi -\renewcommand{\headrulewidth}{0pt} -\renewcommand{\footrulewidth}{0pt} +\renewcommand*{\headrulewidth}{0pt} +\renewcommand*{\footrulewidth}{0pt} \if@filled\else \raggedright \fi @@ -465,103 +301,93 @@ \def\appendix{ \setcounter{chapter}{0} \renewcommand*{\thechapter}{\Alph{chapter}} - \renewcommand\chaptername\appendixname -} -\pgfmathsetmacro{\ua@X}{\paperwidth} -\pgfmathsetmacro{\ua@Y}{\paperheight} -\pgfmathsetmacro{\ua@R}{6*\paperwidth} -\pgfmathsetmacro{\ua@B}{(\ua@X+\ua@Y)/15} -\pgfmathsetmacro{\ua@L}{0.25*\ua@X} -\pgfmathsetmacro{\ua@Z}{0.1*\ua@L} -\pgfmathsetmacro{\ua@H}{0.3*\ua@L} -\pgfmathsetmacro{\ua@h}{0.5*(\ua@B-\ua@H)} + \renewcommand*\chaptername\appendixname +} \renewcommand\maketitle{% \pagestyle{empty} \begin{titlepage} - \if@titlepagetableonly - Dit is een doctoraatsthesis van Universiteit Antwerpen. - \else - \begin{tikzpicture}[remember picture,overlay] - \node at (current page.center) { - \begin{tikzpicture}[inner sep=0pt] + \AddToShipoutPicture*{% + \put(0,0){% + \begin{tikzpicture}[inner sep=0pt,outer sep=0pt] \clip (0,0) rectangle(\paperwidth,\paperheight); - - \filldraw[uacorpblue] - (0.5*\ua@X pt,\ua@B+\ua@R pt) circle (\ua@R pt) - (\ua@X pt, 0.25*\ua@Y+\ua@R pt) circle (\ua@R pt); - - \node[anchor=south east] at (\ua@X-3*\ua@Z pt,\ua@h pt) - {\includegraphics[width=\ua@L pt]{\@logo}}; - + \fill[lightgray] + (2.125,19) rectangle (\paperwidth,6); \begin{scope} - \clip - (\ua@X pt, 0.25*\ua@Y+\ua@R pt) circle (\ua@R pt) - (0.375*\ua@X pt,\ua@R+0.666*\ua@Y pt) circle (\ua@R pt); - - \node[anchor=south] at (0.5*\ua@X pt, 2.1*\ua@B pt) - {\includegraphics[width=\ua@X pt]{\@titlepageimage}}; + \clip (2.125,19) rectangle (\paperwidth,6); + \node[anchor=south west] + at (2.125,6) + {\ifx\@titlepageimage\@empty + \else + \includegraphics[keepaspectratio, + scale=0.01, + min size={15.875cm}{13cm}]{\@titlepageimage} + \fi}; \end{scope} - \filldraw[uacorpbord] - (0.375*\ua@X pt,\ua@R+0.666*\ua@Y pt) circle (\ua@R pt); + \node + [anchor=west,text width=13.75cm,align=left,font=\Huge,uauaside] + at (2.125,23.5) + { + \textsf{\textbf{\@title}} + }; - \filldraw[white] - (0.1*\ua@X pt,\ua@R+0.666*\ua@Y pt) circle (\ua@R pt); + \node + [anchor=west,text width=13.75cm,align=left,font=\Large,uauaside] + at (2.125,21.5) + { + \textsf{\textbf{\@subtitle}} + }; - \node[anchor=north west,align=left,font=\large] - at (3*\ua@Z pt, \ua@B - \ua@h pt) - { \textcolor{uacorpblue}{\textsf{\@defenselocation, - \@defensedate}} }; + \node + [anchor=base west,maincolor, + text width=13.75cm,align=left,font=\LARGE] + at (2.125,20) + {\textsf{\textbf{\@author}}}; - \node[anchor=south west,text width=\textwidth,align=left,font=\large] - at (3*\ua@Z pt, 1.4*\ua@B pt) - { \textcolor{white}{\textsf{\@affiliation}} }; + \fill[maincolor] (2.125,6) + -- (\paperwidth,6) + -- (\paperwidth,2.625) + -- (2.55,2.625) + arc (-90:-180:0.425) + -- cycle; - \node[anchor=south east,text width=\textwidth,align=right,font=\large] - at (\ua@X - 3*\ua@Z pt, 1.4*\ua@B pt) - { \textcolor{white}{\textsf{ - \supervisorsname\\ - \@supervisori% - \ifdefvoid{\@supervisorii}{}{\\\@supervisorii}% - \ifdefvoid{\@supervisoriii}{}{\\\@supervisoriii}% - \ifdefvoid{\@supervisoriv}{}{\\\@supervisoriv}}} + \node[white,anchor=west,align=left,font=\large] + (SN) at (2.55,4.9) + { + \begin{tabular}{@{}l@{~\,}p{11.5cm}} + \textsf{\supervisorsname} + & \textsf{\textbf{\jointsupervisors{ | }}} + \end{tabular} }; - \node[anchor=north west,text - width=\ua@X-6*\ua@Z,align=left,font=\Huge] - (title) - at (3*\ua@Z pt,\ua@Y-4*\ua@Z pt) - { \textsf{\textbf{\@title}} }; - - \node[anchor=north west,below=2.5ex of title, - text width=\ua@X-6*\ua@Z,align=left,font=\large] - { \textsf{\textbf{\@subtitle}} }; - - \node[anchor=north west,text width=\ua@X-6*\ua@Z,align=left] - at (3*\ua@Z pt,\ua@Y - 12.5*\ua@Z pt) - { \textsf{\pthesisnamei{} \@phddegree{} \pthesisnameii{}} }; + \node[white,anchor=west,text width=14.5cm,align=left,font=\small] + at (2.55,3.7) + {\textsf{\uantwerpendocsprop{pthesisnamei} + \@degree{}}\\ + \textsf{\textbf{\@faculty{} + | \@defenselocation, \@defensedate}}}; - \node[anchor=north west, text width=\textwidth,align=left,font=\LARGE] - at (3*\ua@Z pt, \ua@Y-15.5*\ua@Z pt) - { \textsf{\textbf{\@author}} }; + \node[anchor=west] at + (2.125,1.313) + {\includegraphics[width=4.75cm]{\logoposua}}; \end{tikzpicture} - }; - \end{tikzpicture} - \fi + } + } \end{titlepage}% + ~\par\relax \cleardoublepage \begin{center} - \includegraphics[width=\ua@L pt]{\@logo} + \includegraphics[width=4.75cm]{\logoposua} \vfill \@faculty\\ - \@programmeq\par + \@degree\par \vfill \Huge\textsf{\@title}\par \large\textsf{\@subtitle}\par \vfill - \normalsize\pthesisnamei\\ - \@phddegree\\ - \pthesisnameii\\ + \normalsize\uantwerpendocsprop{pthesisnamei}\\ + \@degree\\ + \uantwerpendocsprop{pthesisnameii}\\ \medskip \textbf{\@author} \vfill @@ -572,40 +398,19 @@ \begin{minipage}[b]{0.4\textwidth} \flushright \supervisorsname\\ - \@supervisori% - \ifdefvoid{\@supervisorii}{}{\\\@supervisorii}% - \ifdefvoid{\@supervisoriii}{}{\\\@supervisoriii}% - \ifdefvoid{\@supervisoriv}{}{\\\@supervisoriv} + \jointsupervisors{\\} \end{minipage} \end{center} \clearpage - \textbf{\juryname}\hfill\par - \textbf{\jurychairmanname}\hfill\break + \textbf{\uantwerpendocsprop{juryname}}\hfill\par + \textbf{\uantwerpendocsprop{jurychairmanname}}\hfill\break \@jurychairman{}\ifdefvoid{\@jurychairmanaff}{}{, \@jurychairmanaff}\\ \hfill\break \textbf{\supervisorsname}\hfill\break - \ifdefvoid{\@supervisori}{}{\@supervisori - \ifdefvoid{\@supervisoriaff}{}{, \@supervisoriaff}\\} - \ifdefvoid{\@supervisorii}{}{\@supervisorii - \ifdefvoid{\@supervisoriiaff}{}{, \@supervisoriiaff}\\} - \ifdefvoid{\@supervisoriii}{}{\@supervisoriii - \ifdefvoid{\@supervisoriiiaff}{}{, \@supervisoriiiaff}\\} - \ifdefvoid{\@supervisoriv}{}{\@supervisoriv - \ifdefvoid{\@supervisorivaff}{}{, \@supervisorivaff}\\} + \jointsupervisorswithaffiliation{\\}\\ \hfill\break - \textbf{\jurymembersname}\hfill\break - \ifdefvoid{\@jurymemberi}{}{\@jurymemberi - \ifdefvoid{\@jurymemberiaff}{}{, \@jurymemberiaff\\}} - \ifdefvoid{\@jurymemberii}{}{\@jurymemberii - \ifdefvoid{\@jurymemberiiaff}{}{, \@jurymemberiiaff\\}} - \ifdefvoid{\@jurymemberiii}{}{\@jurymemberiii - \ifdefvoid{\@jurymemberiiiaff}{}{, \@jurymemberiiiaff\\}} - \ifdefvoid{\@jurymemberiv}{}{\@jurymemberiv - \ifdefvoid{\@jurymemberivaff}{}{, \@jurymemberivaff\\}} - \ifdefvoid{\@jurymemberv}{}{\@jurymemberv - \ifdefvoid{\@jurymembervaff}{}{, \@jurymembervaff\\}} - \ifdefvoid{\@jurymembervi}{}{\@jurymembervi - \ifdefvoid{\@jurymemberviaff}{}{, \@jurymemberviaff\\}} + \textbf{\uantwerpendocsprop{jurymembersname}}\hfill\break + \jointjurymembers{\\} \hfill\break \vfill \textbf{Contact}\\ @@ -615,7 +420,7 @@ \@address\\ \vfill \copyright{} \@defensedate{} \@author\\ - \arrname. + \uantwerpendocsprop{arr}. \vfill \begin{minipage}[b]{.5\linewidth} \ifdefempty{\@isbn}{}{ISBN \@isbn}~\\ @@ -640,8 +445,6 @@ \ } \newcommand\makefinalpage{ - \if@titlepagetableonly - \else \cleardoublepage \thispagestyle{empty} ~% intentionally blank page @@ -651,19 +454,17 @@ \node at (current page.center) { \begin{tikzpicture}[inner sep=0pt] \clip (0,0) rectangle(\paperwidth,\paperheight); - \fill[uacorpblue] (0,0) rectangle(\ua@X pt,\ua@Y pt); - \filldraw [white] (1.2*\ua@X pt,\ua@R+0.125*\ua@Y pt) circle (\ua@R pt); - \filldraw [uacorpbord] (1.375*\ua@X pt,\ua@R+0.666*\ua@Y pt) - circle (\ua@R pt); + \fill[sidecolor] (0,0) rectangle (2.125cm,2.625cm); \end{tikzpicture} }; \end{tikzpicture} - \fi } -\IfFileExists{varioref.sty}{\RequirePackage{varioref}}{} -\IfFileExists{hyperref.sty}{ - \RequirePackage[backref,hyperindex=true,pagebackref=true]{hyperref} +\AtBeginDocument{ + \@ifpackageloaded{hyperref}{ \hypersetup{ + backref=true, + hyperindex=true, + pagebackref=true, breaklinks=true, colorlinks=true, citecolor=black, @@ -671,16 +472,13 @@ linkcolor=black, pageanchor=true, pdfpagemode=UseOutlines, - urlcolor=black + urlcolor=black, + pdftitle={\@title}, + pdfsubject={\@subtitle}, + pdfauthor={\@author} } - \AtBeginDocument{ - \hypersetup{ - pdftitle={\@title}, - pdfsubject={\@subtitle}, - pdfauthor={\@author} - } - } -}{} + }{} +} \endinput %% %% End of file `uantwerpenphdthesis.cls'. |