% Vorlage für Examensarbeit
% Classfile
% Version: 1.0
% Autor: Daniel Spittank
% E-Mail: vorlagen.latex@daniel.spittank.net
% Lizenz: CC-BY-NC-SA

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{examensarbeit}[2011/11/11]

% Sprache, Codierung
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[ngerman]{babel}

% Paketoptionen

\PassOptionsToPackage{left=5cm,top=1.5cm,right=2cm,bottom=1.5cm,footskip=0.8cm}{geometry}

% Print: Für Ausdruck optimieren (Keine Linkhervorhebung etc.)
\newcommand{\farbigelinks}{true}
\newcommand{\glossarstil}{altlisthypergroup}
\PassOptionsToClass{oneside}{scrreprt}

\DeclareOption{print}{
	\renewcommand{\farbigelinks}{false}
	\renewcommand{\glossarstil}{altlistgroup}

}

% Metadaten-Standardwerte

\newcommand{\veranstaltung}{Der Titel des Seminars}
\newcommand{\gutachter}{Prof. Dr. Name des Gutachters}
\newcommand{\gutachterzwei}{Prof. Dr. Name des Gutachters}

\newcommand{\titel}{Der Titel der Arbeit}

\newcommand{\uniname}{Bergische Universität Wuppertal}
\newcommand{\unilogo}{imgs/logos/uni_logo}

\newcommand{\fbname}{Fachbereich C - Mathematik und Informatik}
\newcommand{\fblogo}{imgs/logos/uni_logo}

\newcommand{\datum}{10.10.2010}

\newcommand{\zusammenfassung}{Eine Zusammenfassung.}

% Metadaten-Setter
\newcommand{\setVeranstaltung}[1]{\renewcommand{\veranstaltung}{#1}}
\newcommand{\setGutachter}[1]{\renewcommand{\gutachter}{#1}}
\newcommand{\setGutachterZwei}[1]{\renewcommand{\gutachterzwei}{#1}}

\newcommand{\setTitel}[1]{\renewcommand{\titel}{#1}}

\newcommand{\setUniName}[1]{\renewcommand{\uniname}{#1}}
\newcommand{\setUniLogo}[1]{\renewcommand{\unilogo}{#1}}

\newcommand{\setFbName}[1]{\renewcommand{\fbname}{#1}}
\newcommand{\setFbLogo}[1]{\renewcommand{\fblogo}{#1}}

\newcommand{\setDatum}[1]{\renewcommand{\datum}{#1}}

\newcommand{\setZusammenfassung}[1]{\renewcommand{\zusammenfassung}{#1}}

% Weitere Optionen durchreichen
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrreprt}}
\ProcessOptions
\LoadClass[abstracton,a4paper]{scrreprt}

% Struktur

\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
	{-3.25ex\@plus -1ex \@minus -.2ex}%
	{1.5ex \@plus .2ex}%
	{\normalfont\normalsize\bfseries}}
\makeatother

% Farben
\RequirePackage[usenames,dvipsnames]{xcolor}
\definecolor{buw}{RGB}{153,204,51}
\definecolor{buwMid}{RGB}{118,153,51}
\definecolor{buwDark}{RGB}{79,102,34}

\definecolor{grayOne}{gray}{0.90}
\definecolor{grayTwo}{gray}{0.80}
\definecolor{grayThree}{gray}{0.70}
\definecolor{grayFour}{gray}{0.60}
\definecolor{grayFive}{gray}{0.50}

% Formatierung
\RequirePackage{geometry}
%\RequirePackage[onehalfspacing]{setspace}   % Für optimierten 1,5fachen Zeilenabstand
\RequirePackage{multicol}   
\RequirePackage{ragged2e}   
\RequirePackage{booktabs}    
\RequirePackage{tabularx}
\RequirePackage[final]{pdfpages}
\RequirePackage[font=small,labelfont=bf]{caption}

% Überschriftenformatierung
\renewcommand{\partheadstartvskip}{% Teil-Überschrift beginnen mit
  \cleardoublepage% neuer Seite
}

% Grafik
\RequirePackage{graphicx}      
\RequirePackage{tikz}      
\usetikzlibrary{positioning}
\usetikzlibrary{plotmarks}


% Aufzählungen
\RequirePackage{paralist}

% Links und Bookmarks
\RequirePackage[hyphens]{url}
\RequirePackage[pdftex,unicode]{hyperref}
\RequirePackage{bookmark}

% Tools
\RequirePackage{etoolbox}
\RequirePackage{ifthen}
\RequirePackage{xstring}
\RequirePackage{blindtext}
\RequirePackage{eurosym}

% Tabellen
\RequirePackage{booktabs}
\RequirePackage{tabularx}

% Datenaufbereitung und Statistiken
\RequirePackage{datatool}
\RequirePackage{datapie}
\RequirePackage{databar}
\RequirePackage{dataplot}
\newcommand{\DTLfempty}[1]{\DTLifeq{}{#1}{---}{#1}}

% Autoren
\newcommand{\autorblock}[6]{ % Ein Block im Autorenblock
	\multicolumn{2}{c}{\Large\textsc{#1}\vspace{0.2cm}} \\
	 & \\
	\textbf{Adresse: } & #2 \\
	\textbf{E-Mail: } & #3 \\
	\textbf{Matrikelnr.: } & #4 \\
	 & \\
	\textbf{Studiengang: } & #5 \\
	\textbf{Studienfächer: } &  #6 \\
}

\newcommand{\autorenblock}{}
\newcommand{\autorenstring}{}
\newcommand{\setAutor}[6]{ % Name, Adresse, E-Mail, Matrikelnummer, Studiengang, Studienfächer
	
	% Block für den Autor zum Autorenblock hinzufügen
	\renewcommand{\autorenblock}{\autorblock{#1}{#2}{#3}{#4}{#5}{#6}}

	% Autor zum Autorenstring hinzufügen
	\renewcommand{\autorenstring}{#1}
  	
}

% TODOs
%\RequirePackage[textsize=footnotesize,textwidth=30mm]{todonotes}
%\reversemarginpar
%\setlength{\marginparwidth}{30mm}
%\newcommand{\td}[2][]
%{\todo[caption={#2}, size=\footnotesize, #1]{\renewcommand{\baselinestretch}{0.5}\selectfont#2\par}}


% Abkürzungen
\newcommand{\SuS}{Schülerinnen und Schüler }
\newcommand{\SuSn}{Schülerinnen und Schülern }

% Abkürzungsverzeichnis und Glossar
\RequirePackage[toc,translate=false,acronym,nonumberlist]{glossaries}
\renewcommand{\acronymname}{Abkürzungsverzeichnis}
\renewcommand{\glossaryname}{Glossar}
\renewcommand*{\glspostdescription}{}
\RequirePackage{glossary-mcols}
\renewcommand*{\glsmcols}{2}
\makeglossaries
% Akronym mit Glossareintrag
\newcommand{\newacronymex}[4]{
	\newacronym{#1}{#2}{\gls{long#1}}
	\newglossaryentry{long#1}{
		name={#3},
		description={#4}
	}
}

% z.B.
\newcommand{\zb}{z.\,B. }

% Quelltexte
\RequirePackage{listings}
\lstset{showspaces=false,
		showstringspaces=false
		showtabs=false}
\lstset{tabsize=3}
\lstset{frame=single,
		frameround=ffff}
\lstset{extendedchars=true}
\lstset{basicstyle=\ttfamily\small,
		keywordstyle=\color{black}\underbar\bfseries,
		identifierstyle=,
		commentstyle=\color{gray}}
\lstset{backgroundcolor=\color{white}}
\lstset{numbers=left,
		numberstyle=\sffamily\tiny,
		stepnumber=1,
		numbersep=5pt}
\lstset{captionpos=b}
\lstset{breaklines=true}

\lstset{literate=%
{Ö}{{\"O}}1
{Ä}{{\"A}}1
{Ü}{{\"U}}1
{ß}{{\ss}}2
{ü}{{\"u}}1
{ä}{{\"a}}1
{ö}{{\"o}}1
}

% Referenzen
\newcommand{\referenztyp}[1]{\IfBeginWith{#1}{fig}{Abbildung}{\IfBeginWith{#1}{alg}{Algorithmus}{\IfBeginWith{#1}{tab}{Tabelle}{\IfBeginWith{#1}{sec}{Abschnitt}{\IfBeginWith{#1}{chp}{Kapitel}{\IfBeginWith{#1}{par}{Abschnitt}{\IfBeginWith{#1}{box}{Kasten in Abschnitt}{}}}}}}}}
\newcommand{\referenz}[1]{\referenztyp{#1}~\ref{#1}}
\newcommand{\referenzseite}[1]{\referenztyp{#1}~\ref{#1} auf Seite~\pageref{#1}}

% Zitation
\RequirePackage[german=quotes,threshold=15,thresholdtype=words]{csquotes}
\RequirePackage{natbib}
\newcommand{\allebibs}{}
\newcommand{\addBib}[1]{
	% Bib hinzufügen
	\csappto{allebibs}{\bibliography{#1}}
}

% Zitate
\newcommand{\zitat}[4][]{\textquote[{\citealp[S.~#4]{#3}}]{#2}#1}
%\newcommand{\zitatblock}[4][]{\singlespacing \small \blockquote[{\citealp[S.~#4]{#3}}]{\textcolor{gray}{#2}}#1 \normalsize \onehalfspacing}
\newcommand{\zitatblock}[4][]{\small \blockquote[{\citealp[S.~#4]{#3}}]{\textcolor{gray}{#2}}#1 \normalsize}
\newcommand{\vgl}[3][vgl.]{\footnote{\cite[#1][S.~#3]{#2}}}
\newcommand{\vgln}[2][vgl.]{\footnote{\cite[#1][]{#2}}}
\newcommand{\vglr}[2][vgl.]{\footnote{(#1 \referenz{#2})}}

% Boxen 
\RequirePackage[framemethod=tikz]{mdframed}
\definecolor{grey}{rgb}{0.5,0.5,0.5}
\RequirePackage{wrapfig}
\setlength{\fboxsep}{10pt}
\newcommand{\floatingBox}[3]{
	\begin{wrapfigure}{r}{#1}
		\vspace{-10pt}
		\begin{mdframed}[roundcorner=10,%
		frametitle=#2,%
		frametitlerule=true,%
		frametitlebackgroundcolor=grayTwo,%
		backgroundcolor=grayOne,%
		]
			\small #3
		\end{mdframed}
		\vspace{-10pt}
	\end{wrapfigure}
} 
\newcommand{\staticBox}[2]{
	
	\begin{mdframed}[%
	roundcorner=10,%
	skipabove=5pt,%
	frametitle=#1,%
	frametitlerule=true,%
	frametitlebackgroundcolor=grayTwo,%
	backgroundcolor=grayOne,%
	]
		\small #2
	\end{mdframed}
} 

% Metadaten
\title{\titel}
\author{\autorenstring}

% PDF-Daten
\AtEndPreamble{\hypersetup{
    unicode=true,          % non-Latin characters in Acrobat’s bookmarks
    pdftoolbar=true,        % show Acrobat’s toolbar?
    pdfmenubar=true,        % show Acrobat’s menu?
    pdffitwindow=false,     % window fit to page when opened
    pdfstartview={FitH},    % fits the width of the page to the window
    pdftitle={\titel},    % title
    pdfauthor={\autorenstring},     % author
    pdfsubject={\veranstaltung},   % subject of the document
    pdfkeywords={\titel \veranstaltung \gutachter}, % list of keywords
	pdfborder={0 0 0},
    colorlinks=\farbigelinks,       % false: boxed links; true: colored links
    linkcolor=buwDark,          % color of internal links
    citecolor=buwDark,        % color of links to bibliography
    filecolor=buw,      % color of file links
    urlcolor=buwDark           % color of external links
}}

% Titelseite
\AtBeginDocument{

\begin{titlepage}
	\begin{center}
	  
		\textsc{\Huge \titel}
	
		\vspace*{1.5cm}

		\parbox{10cm}{
			Schriftliche Hausarbeit im Rahmen der ersten Staatsprüfung, dem Landesprüfungsamt für Erste Staatsprüfungen für Lehrämter an Schulen vorglegt von:
		}
	  
		\vspace*{1cm}
		
		\begin{tabular}{ll}
		\autorenblock 
		 & \\
		 & \\
		 \textbf{Beilage:} & CD mit Materialien \\
		\textbf{Abgabedatum:} & \datum \\
		\textbf{Erstgutachter:} & \gutachter \\
		\textbf{Zweitgutachter:} & \gutachterzwei
		\end{tabular}
		
		\vfill
	
		\includegraphics[width=0.5\textwidth]{\fblogo}
	
	
		\vfill
		
		\textsc{\Large \veranstaltung}
	
		\bigskip
	
		\textsc{\large \gutachter}
	
		\vspace*{1cm}
	  
	  	\includegraphics[width=0.1\textwidth]{\unilogo}
	  
	  	\uniname
	
	  	\fbname
	\end{center}
\end{titlepage}

\cleardoublepage

\begin{abstract}
	\zusammenfassung
\end{abstract}

\cleardoublepage	

\tableofcontents
\cleardoublepage

\newpage 
%\onehalfspacing
}


\newcommand{\Erklaerung}{
	\ 
	\vfill

	\begin{center}
		\addcontentsline{toc}{chapter}{Erklärungen}
		{\bfseries\Huge Abschließende Erklärung}
		
		\vspace*{0.4cm}

		{\Large gem. §~17~Abs.~7 LPO 2003}
		\vspace*{0.8cm}		
	\end{center}

	\noindent Ich versichere, dass ich die schriftliche Hausarbeit -- einschließlich beigefügter Zeichnungen, Kartenskizzen und Darstellungen -- selbständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe. Alle Stellen der Arbeit, die dem Wortlaut oder dem Sinne nach anderen Werken entnommen sind, habe ich in jedem Fall unter Angabe der Quelle deutlich als Entlehnung kenntlich gemacht.
	
	\vspace*{2cm}
	
	\noindent \hrulefill \hfill \hrulefill
	
	\noindent Datum \hfill Unterschrift
	
	\vfill
	
	\begin{center}
		{\bfseries\Huge Erklärung zur weiteren Verwendung}
		\vspace*{0.8cm}		
	\end{center}

	\noindent Hiermit erkläre ich mich damit einverstanden, dass diese Arbeit wissenschaftlich interessierten Personen oder Institutionen zur Einsichtnahme zur Verfügung gestellt werden kann.
Korrektur- oder Bewertungshinweise in meiner Arbeit dürfen nicht zitiert werden.

	
	\vspace*{2cm}
	
	\noindent \hrulefill \hfill \hrulefill
	
	\noindent Datum \hfill Unterschrift
	
	\vfill	
	
}


% Verzeichnisse, Glossar, Bibliographie, Erklärung

\renewcommand{\glsnamefont}[1]{\textsf{#1}}
\renewcommand{\lstlistlistingname}{Quelltextverzeichnis}

\newcommand{\examenAbschluss}{
	\glsaddall
	{\RaggedRight
		\glossarystyle{mcolindex}
		\printglossary[type=\acronymtype]
	}
	\newpage
	\glossarystyle{\glossarstil}
	\printglossary
	\newpage
	\addcontentsline{toc}{chapter}{Abbildungsverzeichnis}
	\listoffigures
	\begingroup
		\addcontentsline{toc}{chapter}{Tabellenverzeichnis}
		\let\clearpage\relax
		\listoftables
	\endgroup
	\begingroup
		\addcontentsline{toc}{chapter}{Quelltextverzeichnis}
		\let\clearpage\relax
		\lstlistoflistings
	\endgroup
	\begin{flushleft}
		\bibliographystyle{natdin}
		\addcontentsline{toc}{chapter}{Literaturverzeichnis}
		\allebibs
	\end{flushleft}
	\newpage
	\Erklaerung
}


                                                                                                                                                 