% Muster-Stylefile, LaTeX-Kurs GSO Nürnberg, SS 2008
% Dieses Package stellt eine Titelseite für eine Diplomarbeit
% zur Verfügung. Das Design ist hierbei an die Vorgaben
% der GSO angelehnt. Für die Vorgaben Ihres Fachbereiches
% müssen evtl. Anpassungen unternommen werden!
% Dieses Musterfile stellt weder Anspruch auf Vollständigkeit, noch ist es als Beispiel
% für besonders gute TeX-Programmierung zu verstehen. Es soll lediglich eine Möglichkeit
% aufzeigen, wie ein eigenes Stylefile aussehen kann.
% Versionshistorie:
% 1.0    2006/12/04(HB)    Erstausgabe für WS 2006/07
% 2.0    2007/04/21(HB)    Überarbeitung und Designanpassung, SS 2007
% 2.1    2008/05/25(HB)    Initialisierung der Variablen statisch, Fehlerabfrage bei Pflichtangaben
%
% Dieses File darf frei zur Gestaltung von akademischen Arbeiten an der GSO Nürnberg
% verwendet werden. Eine Garantie für Übereinstimmung mit eventuellen Vorgaben
% einzelner Fachbereiche wird nicht gegeben.
% Kopieren und Modifikationen ausdrücklich gestattet.
%
%
\NeedsTeXFormat{LaTeX2e} % Kompatibilität sicherstellen.
\ProvidesPackage{LTXKursTitel}[2014/07/07 v2.2 Titelblatt LaTeX-Kurs GSO Nbg.]
% Identifikation eines packages. Die Versionsinformation wird im logfile ausgegeben.
% Der Dateiname und der obige Identifikationstext müssen übereinstimmen!
\RequirePackage{calc}
% Aufruf von anderen Packages in eigenen .sty-Files nicht mit usepackage.
% \RequirePackage stellt sicher, dass das angefordere Package nicht bereits vorher u. U. mit anderen Optionen geladen wurde.
\RequirePackage{ifthen} % für vereinfachte Konditionale
\RequirePackage[absolute]{textpos} % Absolute Positionierung auf Seite
\RequirePackage{graphicx,xcolor}

% Layout
% ------
	\newlength{\RandLinks}	% Initialisierung der Längen
	\newlength{\RandRechts}
	\newlength{\RandOben}
	\newlength{\TitelBreite}
	%
	\setlength{\RandLinks}{3cm}
	\setlength{\RandRechts}{2cm}
	% Berechnung der Breite des Titels aus den Randeinstellungen
	\setlength{\TitelBreite}{\paperwidth-\RandLinks-\RandRechts}
	%
	\setlength{\RandOben}{2cm}
%	
% Die Werte können durch \setlength... im Dokument umdefiniert werden.

% Statische Texte:
% ----------------
% Diese Variablen stellen statische Textelemente
% der Titelei zur Verfügung. Vorbelegung mit den deutschen Begriffen
\newcommand{\@DAFH}{Technische Hochschule Nürnberg Georg Simon Ohm}
\newcommand{\@DAFB}{in~der~Fakultät}

% Falls Englisch als  Dokumentensprache gewählt ist:
%\renewcommand{\@DAFH}{Georg-Simon-Ohm-University of Applied Sciences Nuremberg}
%\renewcommand{\@DAFB}{at~the Faculty~of}
%\renewcommand{\@DABetreuerTextA}{Advisor}
%\renewcommand{\@DABetreuerTextB}{Advisor}
%

%Dynamische Texte :
%------------------
% Diese Texte werden zur Aufrufzeit verändert. Hierzu möchten
% wir die gleiche Syntax wie in den Standardklassen verwenden
% können, d. h. vor dem \maketitle im Dokument sollen mittels
% \DAAutor{Max Mustermann} etc. die Werte gesetzt werden können.
%
% Die Definition der Kommandos passiert in 2 Schritten:
% 1) Vorbelegung der Variablen mit "nix" = \relax
\newcommand{\@DAAutor}{\relax}
% 2) Beim Aufruf des Benutzerkommandos: Re-Definition des
%    Platzhalters mit dem Argument des Benutzerbefehls.
%    Achtung:
%    \newcommand wirkt nur innerhalb der Gruppe,
%    wir wollen aber ein globales Kommando definieren!
% LaTeX-Syntax funktioniert hier wenn dann nur zufällig!
% \newcommand{\Autor}[1]{\global\renewcommand\DAAutor[1]{#1}}
% => TeX-Syntax - handle with care!
%\newcommand{\DAAutor}[1]{\global\def\@DAAutor{#1}}
\newcommand{\DAAutor}[1]{\gdef\@DAAutor{#1}}
% \gdef macht (fast) dasselbe wie \newcommand, nur wirkt es 'g'lobal
% Nur verwenden, wenn Sie sich sicher sind, was Sie tun!
%
% Analog werden die anderen Platzhalter definiert:
\newcommand{\@DATyp}{Diplomarbeit} % hier mit Voreinstellung
\newcommand{\DATyp}[1]{\gdef\@DATyp{#1}}

\newcommand{\@DAAutorAdresse}{- Meine Adresse - }
\newcommand{\DAAutorAdresse}[1]{\gdef\@DAAutorAdresse{#1}}
%
\newcommand{\@DAFachbereich}{AW}
\newcommand{\DAFachbereich}[1]{\gdef\@DAFachbereich{#1}}
%
\newcommand{\@DATitel}{\relax}
\newcommand{\DATitel}[1]{\gdef\@DATitel{#1}}
%
\newcommand{\@DABetreuerA}{Musterbetreuer 1}
\newcommand{\DABetreuerA}[1]{\gdef\@DABetreuerA{#1}}
%
\newcommand{\@DABetreuerB}{Musterbetreuer 2}
\newcommand{\DABetreuerB}[1]{\gdef\@DABetreuerB{#1}}
%
\newcommand{\@DABetreuerTextA}{Betreuer}
\newcommand{\DABetreuerTextA}[1]{\gdef\@DABetreuerTextA{#1}}
%
\newcommand{\@DABetreuerTextB}{Betreuer}
\newcommand{\DABetreuerTextB}[1]{\gdef\@DABetreuerTextB{#1}}
%
\newcommand{\@DAOrt}{Nürnberg}
\newcommand{\DAOrt}[1]{\gdef\@DAOrt{#1}}
%
\newcommand{\@DAAbgabedatum}{\today}
\newcommand{\DAAbgabedatum}[1]{\gdef\@DAAbgabedatum{#1}}
%
\newcommand{\@DAAbgabesemester}{Sommersemester 2022}
\newcommand{\DAAbgabesemester}[1]{\gdef\@DAAbgabesemester{#1}}
%
\renewcommand{\maketitle}{% Neudefinition des \maketitle-Befehls:
%
% --------------------------------Für TeXperten!--------------------------------
% Fehlerbehandlung: bei undefiniertem \@DAAutor wird ein Fehler mit einer
% hoffentlich hilfreichen Beschreibung ausgegeben und die Erstellung ggf. abgebrochen.
\ifthenelse{\equal{\@DAAutor}{\relax}}{% Fehler: kein Autor
	\PackageError {LTXKursTitel}{Fehler beim Erstellen des Titelblatts - kein Autor definiert!\MessageBreak Bitte mit \noexpand\DAAutor\space vor \noexpand\maketitle\space definieren!}{Es wurde kein Autor definiert, bevor \noexpand\maketitle\space aufgerufen wurde.}%
	}																					% Abbrechen mit Fehlermeldung
	{\relax}%     kein Fehler: mach gar nix
%	
%% Gleiches Spiel mit dem Titel:	
\ifthenelse{\equal{\@DATitel}{\relax}}{% Fehler: kein Autor
	\PackageError {LTXKursTitel}{Fehler beim Erstellen des Titelblatts - kein Titel definiert!\MessageBreak Bitte mit \noexpand\DATitel\space vor \noexpand\maketitle\space definieren!}{Es wurde kein Titel definiert, bevor \noexpand\maketitle\space aufgerufen wurde.}%
	}																					% Abbrechen mit Fehlermeldung
	{\relax}%     kein Fehler: mach gar nix
	
% -------------------------------\Für TeXperten!--------------------------------
%
%	
%
	\thispagestyle{empty} % nötig, da sonst eine Seitenzahl ausgegeben wird
%
	\definecolor{th_blau}{HTML}{1D60A8} % oder 0046A0
	\definecolor{ohm_rot}{HTML}{C72426}
	\begin{textblock*}{\TitelBreite}(\RandLinks,\RandOben)% Textblock mit Breite \TitelBreite
% Auswahl nur Ohm-Logo oder Firmenlogo + Ohm-Logo
%		\par\vspace{5mm}~\includegraphics[width=0.3\textwidth]{Bilder/firmenlogo.jpg}\hfill\includegraphics[width=0.4\textwidth]{Bilder/ohm_logo_crop.png}\\[2mm]	% Ohm-Logo
		\par\vspace{5mm}~\hfill\includegraphics[width=0.4\textwidth]{Bilder/ohm_logo_crop.png}\\[2mm]	% Ohm-Logo
		{\color{ohm_rot}\rule{\TitelBreite}{2mm}}\\[2cm]					% Linie
		{\centering
		\sffamily\Large
		\@DAFH\\																			% Einsetzen der
		\@DATyp{} \@DAFB{} \@DAFachbereich\\[\baselineskip]				% einzelnen
		{\Huge\@DATitel}\\[\baselineskip]										% Textbausteine
		\@DAAutor\\[\baselineskip]
		\@DAAutorAdresse\\[2\baselineskip]
        \begin{center}%
        \begin{tabular}{ll}
        \@DABetreuerTextA:&~\@DABetreuerA\\
        \@DABetreuerTextB:&~\@DABetreuerB\\ \\
        \end{tabular}%
        \end{center}
		\@DAOrt, \@DAAbgabedatum \\
		\@DAAbgabesemester
		\par
		}%
	\end{textblock*}
	% ~\clearpage	% Seitenumbruch, das geschützte Leerzeichen ist notwendig,
	            % da außer dem textblock* nichts auf der Seite steht und somit
	            % die Seite als "`leer"' angesehen wird.
} % Ende der Definition von \maketitle
%
% </package>
