Abschlussarbeit/LTXKursTitel.sty

171 lines
7.4 KiB
Plaintext
Raw Normal View History

2023-05-10 22:06:03 +00:00
% 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>