You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
253 lines
7.0 KiB
253 lines
7.0 KiB
%%
|
|
%% This is file `zhawthesis.cls',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% zhawthesis.dtx (with options: `class')
|
|
%% ----------------------------------------------------------------
|
|
%% zhawthesis --- A LaTeX class for writing a thesis at ZHAW.
|
|
%% E-mail: camerden@students.zhaw.ch
|
|
%% Released under the LaTeX Project Public License v1.3c or later
|
|
%% See http://www.latex-project.org/lppl.txt
|
|
%% ----------------------------------------------------------------
|
|
%%
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesClass{zhawthesis}[2019/02/28 v1.0 Initial version]
|
|
%% ========================================================================== %%
|
|
%% Thesis class %%
|
|
%% ========================================================================== %%
|
|
|
|
\def\zhaw@babellangde{nswissgerman}
|
|
\def\zhaw@babellangen{english}
|
|
|
|
\newcommand{\zhaw@lang}{de}
|
|
\newcommand{\zhaw@babellang}{\zhaw@langde}
|
|
\newif\if@german\@germantrue
|
|
|
|
\newcommand{\zhaw@thesistype}{}
|
|
\newcommand{\zhaw@thesistypelong}{}
|
|
|
|
\DeclareOption{ba}{
|
|
\renewcommand{\zhaw@thesistype}{BA}
|
|
\renewcommand{\zhaw@thesistypelong}{%
|
|
\if@german{Bachelorarbeit}\else{Bachelor thesis}\fi%
|
|
}
|
|
}
|
|
\DeclareOption{pa}{
|
|
\renewcommand{\zhaw@thesistype}{PA}
|
|
\renewcommand{\zhaw@thesistypelong}{%
|
|
\if@german{Projektarbeit}\else{Project work}\fi%
|
|
}
|
|
}
|
|
|
|
\DeclareOption{german}{
|
|
\@germantrue
|
|
\renewcommand{\zhaw@lang}{de}
|
|
\renewcommand{\zhaw@babellang}{\zhaw@babellangde}
|
|
\PassOptionsToClass{\zhaw@babellang}{scrbook}
|
|
}
|
|
\DeclareOption{english}{
|
|
\@germanfalse
|
|
\renewcommand{\zhaw@lang}{en}
|
|
\renewcommand{\zhaw@babellang}{\zhaw@babellangen}
|
|
\PassOptionsToClass{\zhaw@babellang}{scrbook}
|
|
}
|
|
|
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}}
|
|
\ProcessOptions
|
|
|
|
\RequirePackage[T1]{fontenc}
|
|
\RequirePackage[utf8]{inputenc}
|
|
|
|
\LoadClass[listof=totoc,bibliography=totoc]{scrbook}
|
|
|
|
\RequirePackage{microtype}
|
|
\RequirePackage{graphicx}
|
|
|
|
\if@german
|
|
\RequirePackage[\zhaw@babellangen,main=\zhaw@babellangde]{babel}
|
|
\else
|
|
\RequirePackage[\zhaw@babellangde,main=\zhaw@babellangen]{babel}
|
|
\fi
|
|
\babeltags{de=\zhaw@babellangde,en=\zhaw@babellangen}
|
|
\RequirePackage{iflang}
|
|
|
|
\RequirePackage[autostyle=try,strict=true,german=swiss,english=british]{csquotes}
|
|
|
|
\RequirePackage[output-decimal-marker={.},group-separator={'}]{siunitx}
|
|
\sisetup{detect-all}
|
|
|
|
\RequirePackage[pdfpagelabels]{hyperref}
|
|
\hypersetup{%
|
|
unicode,
|
|
pdfauthor={\@author},
|
|
pdftitle={\@title},
|
|
pdfsubject={\zhaw@thesistypelong},
|
|
pdfkeywords={Thesis;LaTeX}, % TODO: Complete
|
|
pdfcreator={pdfLaTeX},
|
|
pdfduplex={DuplexFlipLongEdge},
|
|
pdflang={\zhaw@lang},
|
|
bookmarksopen,
|
|
bookmarksnumbered
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\RequirePackage[automark]{scrlayer-scrpage}
|
|
\automark[chapter]{chapter}
|
|
\clearpairofpagestyles
|
|
\lehead{\@title}
|
|
\rohead{\@author}
|
|
\ofoot[\pagemark]{\pagemark}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\newcommand{\zhaw@institute}{}
|
|
\providecommand{\zhawinstitute}[1]{\renewcommand{\zhaw@institute}{#1}}
|
|
|
|
\newcommand{\zhaw@logocolour}{pantone2945}
|
|
\providecommand{\zhawlogocolour}[1]{\renewcommand{\zhaw@logocolour}{#1}}
|
|
|
|
\newcommand{\zhaw@major}{}
|
|
\providecommand{\major}[1]{\renewcommand{\zhaw@major}{#1}}
|
|
|
|
\newcommand{\zhaw@semester}{}
|
|
\providecommand{\zhawsemester}[1]{\renewcommand{\zhaw@semester}{#1}}
|
|
|
|
\newcommand{\zhaw@mainsupervisor}{}
|
|
\providecommand{\mainsupervisor}[1]{\renewcommand{\zhaw@mainsupervisor}{#1}}
|
|
|
|
\newcommand{\zhaw@subsupervisor}{}
|
|
\providecommand{\subsupervisor}[1]{\renewcommand{\zhaw@subsupervisor}{#1}}
|
|
|
|
\newcommand\zhaw@industrypartner{}
|
|
\providecommand{\industrypartner}[1]{\renewcommand{\zhaw@industrypartner}{#1}}
|
|
|
|
\newcommand{\zhaw@extsupervisor}{}
|
|
\providecommand{\externalsupervisor}[1]{\renewcommand{\zhaw@extsupervisor}{#1}}
|
|
|
|
\newcommand{\zhaw@titlepagerow}[2]{%
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
\hrule\vskip 5mm
|
|
\textbf{#1}
|
|
\end{minipage}
|
|
% \hskip 0.03\textwidth
|
|
\hfil
|
|
\begin{minipage}[t]{0.67\textwidth}
|
|
\hrule\vskip 5mm
|
|
#2 \\
|
|
\end{minipage}%
|
|
}
|
|
|
|
\newcommand{\zhaw@maketitlepage}{
|
|
\thispagestyle{empty}
|
|
\clearpage
|
|
\begin{titlepage}
|
|
\sffamily
|
|
% Logo
|
|
\begin{picture}(0,0)
|
|
\put(-30,-50){
|
|
\includegraphics[width=84.2mm]{logos/zhaw/\zhaw@lang-zhaw-\zhaw@institute-\zhaw@logocolour}
|
|
}
|
|
\end{picture}
|
|
|
|
\vskip 10mm
|
|
\hskip 26mm
|
|
\begin{minipage}[b]{0.91\textwidth}
|
|
\vskip 20mm
|
|
{\huge
|
|
% Projekt Name (max. 2 Zeilen)
|
|
\textbf{\underline{{\zhaw@thesistypelong} in {\zhaw@major}}} \\
|
|
\textbf{\underline{{\zhaw@semester}}} \\
|
|
|
|
% Projekt Titel (max. 4 Zeilen)
|
|
{
|
|
\huge{\@title} \\[1.25ex]
|
|
\large{\@subtitle}
|
|
}
|
|
\vspace{9mm}
|
|
}
|
|
|
|
\zhaw@titlepagerow{\IfLanguageName{nswissgerman}{Autoren}{Author}}{%
|
|
\@author \\
|
|
}
|
|
|
|
\if\zhaw@mainsupervisor\empty\else
|
|
\zhaw@titlepagerow{\IfLanguageName{nswissgerman}{Hauptbetreuung}{Main supervisor}}{%
|
|
\zhaw@mainsupervisor \\
|
|
}
|
|
\fi
|
|
|
|
\if\zhaw@subsupervisor\empty\else
|
|
\zhaw@titlepagerow{\IfLanguageName{nswissgerman}{Nebenbetreuung}{Sub supervisor}}{%
|
|
\zhaw@subsupervisor \\
|
|
}
|
|
\fi
|
|
|
|
\if\zhaw@industrypartner\empty\else
|
|
\zhaw@titlepagerow{\IfLanguageName{nswissgerman}{Industriepartner}{Industrial partner}}{%
|
|
\zhaw@industrypartner \\
|
|
}
|
|
\fi
|
|
|
|
\if\zhaw@extsupervisor\empty\else
|
|
\zhaw@titlepagerow{\IfLanguageName{nswissgerman}{Externe Betreuung}{External supervisor}}{%
|
|
\zhaw@extsupervisor \\
|
|
}
|
|
\fi
|
|
|
|
\zhaw@titlepagerow{\IfLanguageName{nswissgerman}{Datum}{Date}}{%
|
|
\@date \\
|
|
}
|
|
\end{minipage}
|
|
\vskip 5mm
|
|
\end{titlepage}
|
|
}
|
|
\renewcommand{\maketitle}{\zhaw@maketitlepage}
|
|
|
|
\RequirePackage{pdfpages}
|
|
\providecommand{\makedeclarationoforiginality}{%
|
|
\cleardoublepage%
|
|
\if@german%
|
|
\includepdf{includes/Erklaerung_Selbstaendigkeit_SoE_\zhaw@thesistype_de.pdf}
|
|
\else%
|
|
\includepdf{includes/Declaration_of_Originality_SoE_\zhaw@thesistype_en.pdf}
|
|
\fi%
|
|
}
|
|
|
|
\AtBeginDocument{%
|
|
\pagestyle{scrheadings}
|
|
|
|
% Set 1st level itemize bullet symbol to --
|
|
\def\labelitemi{--}
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\providecommand\norm[1]{\left\lVert#1\right\rVert}
|
|
|
|
\def\signed #1{{\leavevmode\unskip\nobreak\hfil\penalty50\hskip2em
|
|
\hbox{}\nobreak\hfil(#1)%
|
|
\parfillskip=0pt \finalhyphendemerits=0 \endgraf}}
|
|
|
|
%%
|
|
%% Copyright (C) 2019 by Dennis Camera <camerden@students.zhaw.ch>
|
|
%%
|
|
%% This work may be distributed and/or modified under the
|
|
%% conditions of the LaTeX Project Public License (LPPL), either
|
|
%% version 1.3c of this license or (at your option) any later
|
|
%% version. The latest version of this license is in the file:
|
|
%%
|
|
%% http://www.latex-project.org/lppl.txt
|
|
%%
|
|
%% This work is "maintained" (as per LPPL maintenance status).
|
|
%%
|
|
%% This work consists of the file zhawthesis.dtx
|
|
%% and the derived files zhawthesis.ins,
|
|
%% zhawthesis.pdf and
|
|
%% zhawthesis.cls.
|
|
%%
|
|
%%
|
|
%% End of file `zhawthesis.cls'.
|