Newer
Older
\RequirePackage{kvoptions}
\SetupKeyvalOptions{prefix={\@currname @opt@}}
\def\thud@tmpcmd{\relax}
\DeclareStringOption[\relax]{beamer}[]
\DeclareStringOption{target}
\ProcessKeyvalOptions{\@currname}
\newif\ifthud@beamer
\ifx\thud@opt@beamer\thud@tmpcmd\else\thud@beamertrue\fi
\def\thud@save#1{\expandafter\let\csname thud@save@#1\expandafter\endcsname\csname#1\endcsname}
\def\thud@restore#1{\expandafter\let\csname#1\expandafter\endcsname\csname thud@save@#1\endcsname}
\def\@ifplus#1{\@ifnextchar+{\@firstoftwo{#1}}}
\def\thud@tmpcmd{bach}
\ifx\thud@opt@target\thud@tmpcmd
\chardef\thud@target\z@\relax
\else
\def\thud@tmpcmd{mst}
\ifx\thud@opt@target\thud@tmpcmd
\chardef\thud@target\@ne\relax
\else
\def\thud@tmpcmd{phd}
\ifx\thud@opt@target\thud@tmpcmd
\chardef\thud@target\tw@\relax
\else
\ClassError{\@currname}{Invalid value for the \protect"target\protect" option}
{Specify one of \protect"bach\protect", \protect"mst\protect" or \protect"phd\protect"}
\fi
\fi
\fi
\newif\ifthud@phd
\ifnum\thud@target=\tw@\relax\thud@phdtrue\fi
\ifthud@beamer
\LoadClass[\thud@opt@beamer]{beamer}
\else
\def\thud@nonegiven#1{\ClassError{thud}{No \expandafter\string\csname#1\endcsname\space given}{Provide an \expandafter\string\csname#1\endcsname.}}
\def\@author{\thud@nonegiven{author}}
\def\@date{\begingroup\expandafter\advance\expandafter\year\ifnum\month>3 -1 \else -2 \fi\the\year-\advance\year1 \the\year\endgroup}
\RequirePackage[\thudbabelopt]{babel}
\ifthud@beamer\else
\RequirePackage{setspace}
\RequirePackage[\ifthud@phd c5paper\else a4paper\fi]{geometry}
\fi
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
\addto\captionsenglish{%
\def\abstractname{Abstract}%
\def\acknowledgementsname{Acknowledgements}%
\def\authorcontactsname{Author's Contacts}%
\def\candidatename{Candidate}%
\def\chairname{Chair}%
\def\conclusionsname{Conclusions}%
\def\cosupervisorname{Co-Supervisor}%
\def\cosupervisorsname{Co-Supervisors}%
\def\cyclename{Cycle}%
\def\datename{Academic Year}%
\def\indexname{Index}%
\def\institutecontactsname{Institute Contacts}%
\def\introductionname{Introduction}%
\def\prefacename{Preface}%
\def\reviewername{Reviewer}%
\def\reviewersname{Reviewers}%
\def\shortdatename{A.Y.}%
\def\summaryname{Summary}%
\def\supervisorname{Supervisor}%
\def\supervisorsname{Supervisors}%
\def\thesisname{\ifcase\thud@target Bachelor\space\or Master\space\or Ph.D.~\fi Thesis}%
\def\tutorname{Tutor}%
\def\tutorsname{Tutors}%
}
\addto\captionsitalian{%
\def\abstractname{Sommario}%
\def\acknowledgementsname{Ringraziamenti}%
\def\authorcontactsname{Contatti dell'autore}%
\def\candidatename{Candidato}%
\def\chairname{Direttore}%
\def\conclusionsname{Conclusioni}%
\def\cosupervisorname{Co-relatore}%
\def\cosupervisorsname{Co-relatori}%
\def\cyclename{Ciclo}%
\def\datename{Anno accademico}%
\def\indexname{Indice analitico}%
\def\institutecontactsname{Contatti dell'Istituto}%
\def\introductionname{Introduzione}%
\def\prefacename{Prefazione}%
\def\reviewername{Controrelatore}%
\def\reviewersname{Controrelatori}%
\def\shortdatename{A.A.}%
\def\summaryname{Riassunto}%
\def\supervisorname{Relatore}%
\def\supervisorsname{Relatori}%
\def\thesisname{Tesi di \ifcase\thud@target Laurea\or Laurea Magistrale\or Dottorato\fi}%
\def\tutorname{Tutor aziendale}%
\def\tutorsname{Tutor aziendali}%
}
\gdef\thud@universityA{%
Universit\`a degli Studi di Udine\\[\thud@unisep]%
Dipartimento di Scienze Matematiche, Informatiche e Fisiche\\[\thud@unisep]%
\ifcase\thud@target Corso di Laurea\or Corso di Laurea Magistrale\or Dottorato di Ricerca\fi\space in \thud@course%
}
\gdef\thud@universityB{%
Dipartimento di Scienze Matematiche, Informatiche e Fisiche\\%
Universit\`a degli Studi di Udine\\
Via delle Scienze, 206\\
33100 Udine --- Italia\\
+39 0432 558400\\
\@ifundefined{url}\texttt\url{http://www.dimi.uniud.it/}
\def\@true{true}
\define@key{defentry}{long}[true]{%
\def\thud@de@a{#1}%
\ifx\@true\thud@de@a\let\thud@de@b\long\fi%
\define@key{defentry}{phd}[true]{%
\def\thud@de@a{#1}%
\ifx\@true\thud@de@a%
\expandafter\let\csname ifthud@de@c\expandafter\endcsname\csname ifthud@phd\endcsname%
\define@key{defentry}{nonempty}[true]{%
\def\thud@de@a{#1}%
\ifx\@true\thud@de@a%
\expandafter\let\csname ifthud@de@d\expandafter\endcsname\csname iftrue\endcsname%
\newcommand\thud@defentry[2][]{
\let\thud@de@b\relax
\let\ifthud@de@c\iftrue
\let\ifthud@de@d\iffalse
\setkeys{defentry}{#1}%
\ifthud@de@d%% Either \iftrue or \iffalse
\@namedef{thud@#2}{\thud@nonegiven{#2}}
\else
\expandafter\let\csname thud@#2\endcsname\@empty
\fi
\expandafter\thud@de@b\ifthud@de@c%% Either \iftrue or \ifthud@phd
\@namedef{#2}##1{\expandafter\gdef\csname thud@#2\endcsname{##1}}
\@namedef{#2}##1{\ClassWarning{\@currname}{\expandafter\string\csname#2\endcsname\space in non-PhD thesis}}
\thud@defentry[nonempty]{course}
\thud@defentry[phd]{email}
\thud@defentry[phd]{homepage}
\thud@defentry[phd]{phdnumber}
\thud@defentry[phd]{reviewer}
\thud@defentry[phd,long]{rights}
\thud@defentry[phd]{telephone}
\thud@defentry[phd]{cycle}
\newsavebox\thud@tmpbox
\def\thud@showentry@#1#2{%
\expandafter\ifx\csname thud@#2\endcsname\@empty\else%
\def\thud@varname{\@nameuse{#2name}}%
#1%% Either \iftrue or \iffalse
\def\and{\\[\thud@se@and]\gdef\thud@varname{\@nameuse{#2sname}}}%
\else%
\let\and\@undefined
\fi%
\begin{lrbox}{\thud@tmpbox}\parbox[t]{\linewidth}{\@nameuse{thud@#2}}\end{lrbox}%
\textsc{\thud@varname}\\[\thud@se@qual]%
\usebox{\thud@tmpbox}\\[\thud@se@sep]\null%
\def\thud@showentry{\@ifstar{\expandafter\thud@showentry@\noexpand\iffalse}{\expandafter\thud@showentry@\noexpand\iftrue}}
\input{\ifthud@beamer beamer\else book\fi.thud.tex}