ltcp/bericht/zihpub.cls

1250 lines
28 KiB
TeX

%%
%% ZIH Style-File fuer ZIH Publikationen
%%
%% Autor: Guido Juckeland (guido.juckeland@tu-dresden.de)
%% Datum: Aug 14, 2012
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{zihpub}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Load packages
% Font-Codierung setzen
\RequirePackage[T1]{fontenc}
% Schriftart setzen
\RequirePackage{times}
% Bilder einbinden
\RequirePackage{graphicx}
% URL's zulassen
\RequirePackage{url}
% schoene Listings
\RequirePackage{fancyvrb}
% Mathe-krempel laden
\RequirePackage{amsmath}
\RequirePackage{amsfonts}
\RequirePackage{amssymb}
% farbe fuer correctme
\RequirePackage{color}
% enumerates mit benutzerdefinierten labels
\RequirePackage{enumerate}
% besseres 1.5 zeilig
\RequirePackage{setspace}
% Sprachwechsel Deutsch-Englisch
\RequirePackage[ngerman,american]{babel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Provide Options
% Proseminar-Vorlage
\newif\if@proseminar
\@proseminarfalse
\DeclareOption{proseminar}{%
\@proseminartrue
}
% Hauptseminar-Vorlage
\newif\if@hauptseminar
\@hauptseminarfalse
\DeclareOption{hauptseminar}{%
\@hauptseminartrue
}
% Seminar Mathematik Vorlage
\newif\if@mathseminar
\@mathseminarfalse
\DeclareOption{mathseminar}{%
\@mathseminartrue
}
% Grosser Beleg-Vorlage
\newif\if@beleg
\@belegfalse
\DeclareOption{beleg}{%
\@belegtrue
}
% Diplom Inf-Vorlage
\newif\if@diplominf
\@diplominffalse
\DeclareOption{diplominf}{%
\@diplominftrue
}
% Bachelor Inf-Vorlage
\newif\if@bachinf
\@bachinffalse
\DeclareOption{bachinf}{%
\@bachinftrue
}
% Master Inf-Vorlage
\newif\if@mastinf
\@mastinffalse
\DeclareOption{mastinf}{%
\@mastinftrue
}
% Diplom IST-Vorlage
\newif\if@diplomist
\@diplomistfalse
\DeclareOption{diplomist}{%
\@diplomisttrue
}
% Diplom TechMath-Vorlage
\newif\if@diplomtmath
\@diplomtmathfalse
\DeclareOption{diplomtmath}{%
\@diplomtmathtrue
}
% Diss rer nat
\newif\if@dissrernat
\@dissrernatfalse
\DeclareOption{dissrernat}{%
\@dissrernattrue
}
% Diss ing
\newif\if@dissing
\@dissingfalse
\DeclareOption{dissing}{%
\@dissingtrue
}
% keine Aufgabenstellung
\newif\if@kurz
\@kurzfalse
\DeclareOption{kurz}{%
\@kurztrue%
}%
% fuer die Frauen das "in" am Titel
\newif\if@female
\@femalefalse
\DeclareOption{female}{%
\@femaletrue
}
% plain-vorlage article
\newif\if@plainarticle
\@plainarticlefalse
\DeclareOption{plainarticle}{%
\@plainarticletrue
}
% plain-vorlage article
\newif\if@plainreport
\@plainreportfalse
\DeclareOption{plainreport}{%
\@plainreporttrue
}
% ZIH auf Titelseite nicht RA
\newif\if@zihtitle
\@zihtitlefalse
\DeclareOption{zihtitle}{%
\@zihtitletrue
}
% References numbered not alpha
\newif\if@bibnum
\@bibnumfalse
\DeclareOption{bibnum}{\@bibnumtrue}
% Abbildungsverzeichnis
\newif\if@lof
\@loffalse
\DeclareOption{lof}{\@loftrue}
% Tabellenverzeichnis
\newif\if@lot
\@lotfalse
\DeclareOption{lot}{\@lottrue}
% Hyperref
\newif\if@hyperref
\@hyperreffalse
\DeclareOption{hyperref}{%
\@hyperreftrue
}
% Nomenclature
\newif\if@nomencl
\@nomenclfalse
\DeclareOption{nomencl}{%
\@nomencltrue
}
%utf8-Zeichenkodierung
\newif\if@utf
\@utffalse
\DeclareOption{utf8}{
\@utftrue
}
%german-Option verarbeiten
\newif\if@german
\@germanfalse
\DeclareOption{german}{%
\@germantrue%
}%
% formatierung fuer zih-report
\newif\if@final
\@finalfalse
\DeclareOption{final}{%
\@finaltrue%
}%
% kein Inhaltsverzeichnis
\newif\if@notoc
\@notocfalse
\DeclareOption{notoc}{%
\@notoctrue%
}%
% keine Aufgabenstellung
\newif\if@noproblem
\@noproblemfalse
\DeclareOption{noproblem}{%
\@noproblemtrue%
}%
% zweiseitig wenn nicht 'final'
\newif\if@twoside
\@twosidefalse
\DeclareOption{twoside}{%
\@twosidetrue%
}%
\ProcessOptions
% jetzt ``vergewaltigen'' wir ein paar variablen fuer eigene zwecke
\newcommand\matno[1]{\def\@matno{#1}}
\newcommand\betreuer[1]{\def\@betreuer{#1}}
\newcommand\hsl[1]{\def\@hsl{#1}}
\newcommand\copyrighterklaerung[1]{\def\@copyrighterklaerung{#1}}
\newcommand\bibfiles[1]{\def\@bibfiles{#1}}
\newcommand\gutachter[1]{\def\@gutachter{#1}}
\newcommand\birthday[1]{\def\@birthdate{#1}}
\newcommand\placeofbirth[1]{\def\@birthplace{#1}}
\newcommand\acknowledgments[1]{\def\@acknowledgments{#1}}
%\newif\if@isreport \@isreportfalse \DeclareOption{isreport}{\@isreporttrue}
\def\@acknowledgments{}
\def\@isreport{}
\def\@isplain{}
\def\@isdiploma{}
\def\@isdiss{}
\def\@bibfiles{}
\def\@copyrighterklaerung{}
\def\@abstractde{}
\def\@abstracten{}
\def\@hsl{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% set document type
\if@beleg
\def\@isreport{1}
\fi
\if@diplominf
\def\@isreport{1}
\def\@isdiploma{1}
\fi
\if@mastinf
\def\@isreport{1}
\def\@isdiploma{1}
\fi
\if@bachinf
\def\@isreport{1}
\def\@isdiploma{1}
\fi
\if@diplomist
\def\@isreport{1}
\def\@isdiploma{1}
\fi
\if@diplomtmath
\def\@isreport{1}
\def\@isdiploma{1}
\fi
\if@dissrernat
\if@kurz
\else
\def\@isreport{1}
\fi
\def\@isdiss{1}
\fi
\if@dissing
\if@kurz
\else
\def\@isreport{1}
\fi
\def\@isdiss{1}
\fi
\if@plainreport
\def\@isreport{1}
\def\@isplain{1}
\fi
\if@plainarticle
\def\@isplain{1}
\fi
\ifx\@empty\@isreport
\if@final
\LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, twoside,titlepage,headings=normal]{scrartcl}%
\else
\if@twoside
\LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, twoside,titlepage,headings=normal]{scrartcl}%
\else
\LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, oneside,titlepage,headings=normal]{scrartcl}%
\fi
\fi
\else
\if@final
\LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, twoside,titlepage,openright,headings=normal]{scrreprt}%
\else
\if@twoside
\LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, twoside,titlepage,openright,headings=normal]{scrreprt}%
\else
\LoadClass[cleardoublepage=empty, listof=totoc, bibliography=totoc, index=totoc, 11pt, abstracton, numbers=noenddot, oneside,titlepage,openright,headings=normal]{scrreprt}%
\fi
\fi
\fi
% deckblatttitel, je nachdem, was fuer ein dokument erstellt werden soll
\newcommand{\titleheader}[0]{$\quad$}
\newcommand{\copyrightinfo}[0]{ }
\newcommand{\betreuerlabel}[0]{ }
\newcommand{\hsllabel}[0]{ }
\newcommand{\matnolabel}[0]{ }
\newcommand{\matnoclosing}[0]{ }
\newcommand{\birthstart}[0]{ }
\newcommand{\birthmiddle}[0]{ }
\newcommand{\birthclosing}[0]{ }
\if@proseminar%
\renewcommand{\titleheader}[0]{Proseminar ``Rechnerarchitektur''}
\fi
\if@hauptseminar%
\renewcommand{\titleheader}[0]{Hauptseminar\\ ``Rechnerarchitektur und Programmierung''}
\fi
\if@mathseminar%
\renewcommand{\titleheader}[0]{Seminar ``Programmier- und Compilertechniken im
Wissenschaftlichen Hochleistungsrechnen''}
\fi
\if@beleg%
\renewcommand{\titleheader}[0]{Gro{\ss}er Beleg}
\fi
\if@female
\def\@female{in}
\else
\def\@female{}
\fi
\ifx\@empty\@isdiploma
\else
\if@bachinf
\def\@doctype{Bachelor-Arbeit}
\else
\if@mastinf
\def\@doctype{Master-Arbeit}
\else
\def\@doctype{Diplomarbeit}
\fi
\fi
\fi
\if@diplominf%
\renewcommand{\titleheader}[0]{Diplomarbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Diplom-Informatiker\@female}
\def\@faculty{Informatik}
\fi
\if@bachinf%
\renewcommand{\titleheader}[0]{Bachelor-Arbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Bachelor of Science}
\def\@faculty{Informatik}
\fi
\if@mastinf%
\renewcommand{\titleheader}[0]{Master-Arbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Master of Science}
\def\@faculty{Informatik}
\fi
\if@diplomist%
\renewcommand{\titleheader}[0]{Diplomarbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Diplomingenieur\@female~f\"{u}r Informationssystemtechnik}
\def\@faculty{Elektrotechnik und Informationstechnik}
\fi
\if@diplomtmath%
\renewcommand{\titleheader}[0]{Diplomarbeit \\[1cm]\large zur Erlangung des akademischen Grades\\ Diplom-Mathematiker\@female~(Technomathematik)}
\def\@faculty{Mathematik und Naturwissenschaften, Fachrichtung Mathematik}
\fi
\if@dissrernat%
\if@kurz
\renewcommand{\titleheader}[0]{\begin{large}\textbf{Kurzfassung}\\[1cm]zur Erlangung des akademischen Grades Doktor rerum naturalium (Dr.\ rer.\ nat.)\end{large}}
\else
\renewcommand{\titleheader}[0]{\begin{large}\textbf{Dissertation}\\[1cm]zur Erlangung des akademischen Grades Doktor rerum naturalium (Dr.\ rer.\ nat.)\end{large}}
\fi
\def\@faculty{Informatik}
\fi
\if@dissing%
\if@kurz
\renewcommand{\titleheader}[0]{\begin{large}\textbf{Kurzfassung}\\[1cm]zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.)\end{large}}
\else
\renewcommand{\titleheader}[0]{\begin{large}\textbf{Dissertation}\\[1cm]zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.)\end{large}}
\fi
\def\@faculty{Informatik}
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Set page-layout
% Definition der Seitenraender
%\setlength{\hoffset}{-1in}
%\addtolength{\hoffset}{2cm}
%\setlength{\voffset}{-1in}
%\addtolength{\voffset}{2cm}
%\addtolength{\voffset}{-\baselineskip}
%\setlength{\topmargin}{0mm}
%\setlength{\headheight}{2.0\baselineskip}
%\setlength{\headsep}{\baselineskip}
\setlength{\textheight}{24.5cm}
\setlength{\textwidth}{16cm}
\setlength{\evensidemargin}{0mm}
\setlength{\oddsidemargin}{0mm}
%\setlength{\marginparsep}{0mm}
%\setlength{\marginparwidth}{0mm}
%\setlength{\marginparpush}{0mm}
%\setlength{\footskip}{\baselineskip}
\setlength{\parindent}{0mm}
%\setlength{\parskip}{2mm}
%\setlength{\partopsep}{0mm}
\renewcommand{\cleardoublepage}{\cleardoublestandardpage}
\def\@chapapp{}
% enhanced tables
\RequirePackage{tabularx}
\RequirePackage{longtable}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Option "german" bearbeiten
%Neudeutsch laden
\if@german%
\RequirePackage{ngerman}%
\fi
%Da man bei Neudeutsch ebenfalls Zitate in Altdeutsch haben wird,
%Wird das german-Paket auf jeden Fall benoetigt.
\if@german%
\RequirePackage{german}%
\def\@copyrightlabel{Erkl\"{a}rungen zum Urheberrecht}
\renewcommand\copyrightinfo[0]{%
\cleardoublepage
\ifx\@empty\@isreport
\section*{\@copyrightlabel}
\else
\chapter*{\@copyrightlabel}
\fi
\@copyrighterklaerung}
\ifx\@empty\@isplain
\renewcommand{\betreuerlabel}[0]{Betreuer: }
\renewcommand{\hsllabel}[0]{Hochschullehrer: }
\renewcommand{\matnolabel}[0]{(Mat.-Nr.: }
\renewcommand{\matnoclosing}[0]{)}
\renewcommand{\birthstart}[0]{(Geboren am }
\renewcommand{\birthmiddle}[0]{ in }
\renewcommand{\birthclosing}[0]{)}
\fi
\else
\def\@copyrightlabel{Copyright Information}
\renewcommand\copyrightinfo[0]{%
\cleardoublepage
\ifx\@empty\@isreport
\section*{\@copyrightlabel}
\else
\chapter*{\@copyrightlabel}
\fi
\@copyrighterklaerung}
\ifx\@empty\@isplain
\renewcommand{\betreuerlabel}[0]{Tutor: }
\renewcommand{\hsllabel}[0]{Professor: }
\renewcommand{\matnolabel}[0]{(Mat.-No.: }
\renewcommand{\matnoclosing}[0]{)}
\renewcommand{\birthstart}[0]{(Born }
\renewcommand{\birthmiddle}[0]{ in }
\renewcommand{\birthclosing}[0]{)}
\fi
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Format der Eingabedateien; Standard: latin1
%\if@utf
%\RequirePackage[utf8]{inputenc}
%\else
%\RequirePackage[latin1]{inputenc}
%\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Hyperref laden, wenn gewuenscht
\if@hyperref
\RequirePackage{hyperref}
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Nomenclature laden
\if@nomencl
\if@german
\RequirePackage[german,intoc]{nomencl}
\else
\RequirePackage[intoc]{nomencl}
\fi
% Randbreite definieren
\def\@nomenclmargin{3cm}
\newcommand\setnomenclmargin[1]{\def\@nomenclmargin{#1}}
% index erstellen
\makenomenclature
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Abstracts zusammenbauen
\newcommand{\abstractde}[1]{\def\@abstractde{#1}}
\newcommand{\abstracten}[1]{\def\@abstracten{#1}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Gliederung und Numerierung
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% kopfzeile auch bei chapters
\ifx\@empty\@isreport
\else
\renewcommand*{\chapterpagestyle}{fancy}
\fi
% kopfzeile auch bei abstract
\let\@altab=\abstract
\let\end@altab=\endabstract
\renewenvironment{abstract}{%
\fancyfoot{}
\fancyhead{}
\if@final
\fancyhead[LE,RO]{\thepage}
\else
\if@twoside
\fancyhead[LE,RO]{\thepage}
\else
\fancyhead[R]{\thepage}
\fi
\fi
\begin{@altab}%
\thispagestyle{fancy}}{\end{@altab}%
\cleardoublepage
\ifx\@empty\@isreport
\if@final
\fancyhead[LO]{\@author}
\fancyhead[RE]{\@title}
\else
\if@twoside
\fancyhead[LO]{\@author}
\fancyhead[RE]{\@title}
\else
\fancyhead[L]{\@author -- \@title}
\fi
\fi
\else
\if@final
\fancyhead[LO]{\rightmark}
\fancyhead[RE]{\leftmark}
\else
\if@twoside
\fancyhead[LO]{\rightmark}
\fancyhead[RE]{\leftmark}
\else
\fancyhead[L]{\rightmark}
\fi
\fi
\fi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Institution fuer Titelseite
\if@zihtitle
\if@german
\newcommand{\@institution}{
\begin{center}
%Institution an der die Arbeit geschrieben wurde
\huge
\textsc{Technische Universit\"{a}t Dresden}
\bigskip
\Large
\textsc{Zentrum f\"{u}r Informationsdienste\\ und Hochleistungsrechnen\\
Prof. Dr. Wolfgang E. Nagel\\
$\quad$\\
$\quad$}
\end{center}
}
\else
\newcommand{\@institution}{
\begin{center}
%Institution an der die Arbeit geschrieben wurde
\huge
\textsc{Technische Universit\"{a}t Dresden}
\bigskip
\Large
\textsc{Center for Information Services\\ \& High Performance Computing\\
Prof. Dr. Wolfgang E. Nagel\\
$\quad$\\
$\quad$}
\end{center}
}
\fi
\else
\if@mathseminar
% Seminare nur in Deutsch
\newcommand{\@institution}{
\begin{center}
%Institution an der die Arbeit geschrieben wurde
\huge
\textsc{Technische Universit\{"a}t Dresden}
\bigskip
\Large
\textsc{Fakult\"{a}t Mathematik und Naturwissenschaften\\
Fachrichtung Mathematik\\
Institut f\"{u}r Wissenschaftliches Rechnen\\
Professur f\"{u}r Angewandte Diskrete Mathematik\\
Prof. Dr. Wolfgang V. Walter}
\end{center}
}
\else
\if@german
\newcommand{\@institution}{
\begin{center}
%Institution an der die Arbeit geschrieben wurde
\huge
\textsc{Technische Universit\"{a}t Dresden}
\bigskip
\Large
\textsc{Fakult\"{a}t Informatik\\
Institut f\"{u}r Technische Informatik\\
Professur f\"{u}r Rechnerarchitektur\\
Prof. Dr. Wolfgang E. Nagel}
\end{center}
}
\else
\newcommand{\@institution}{
\begin{center}
%Institution an der die Arbeit geschrieben wurde
\huge
\textsc{Technische Universit\"{a}t Dresden}
\bigskip
\Large
\textsc{Department of Computer Science\\
Institute of Computer Engineering\\
Chair of Computer Architecture\\
Prof. Dr. Wolfgang E. Nagel}
\end{center}
}
\fi
\fi
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Style fuer Bibliography
\if@bibnum
\if@german
\bibliographystyle{plaindin}
\else
\bibliographystyle{plain}
\fi
\else
\if@german
\bibliographystyle{alphadin}
\else
\bibliographystyle{alpha}
\fi
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% List of tables/figures hinzu falls gewuenscht
\if@lof
\newcommand{\printlof}{\listoffigures}
\else
\newcommand{\printlof}{ }
\fi
\if@lot
\newcommand{\printlot}{\listoftables}
\else
\newcommand{\printlot}{ }
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% zeile unter dem autor zusammenstellen
\ifx\@empty\@isdiss
\ifx\@empty\@isdiploma
\ifx\@empty\@isplain
\def\@subauthor{\matnolabel\@matno\matnoclosing}
\else
\def\@subauthor{$\quad$}
\fi
\else
\def\@subauthor{\birthstart\@birthdate \birthmiddle\@birthplace\birthclosing}
\fi
\else
\def\@subauthor{geboren am \@birthdate in \@birthplace}
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Literatur-, Abbildungs- und Tabellenverzeichnis vor dem Anhang
\def\@haveapp{}
\let\@altapp=\appendix
\renewcommand{\appendix}[0]{\cleardoublestandardpage
\ifx\@empty\@bibfiles
\else
\bibliography{\@bibfiles}
\fi
\cleardoublestandardpage
\printlof
\cleardoublestandardpage
\printlot
\cleardoublestandardpage
\@altapp
\def\@haveapp{1}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Kopfzeile
\RequirePackage{fancyhdr}
% Automatische Generierung des Dokumentgrundgeruests
\ifx\@empty\@isdiss
\let\@altdoc=\document
\let\end@altdoc=\enddocument
\renewenvironment{document}{%
\begin{@altdoc}%
%\thispagestyle{empty}
%\pagestyle{empty}
\ifx\@empty\@isplain
\else
\def\@publishers{$\quad$}
\def\@subject{$\quad$}
\fi
\begin{titlepage}
\enlargethispage{1cm}
\@institution
\vspace{2cm}
\begin{center}
% Titel der Arbeit
\huge
\titleheader\\[1.5cm]
\huge
\@title
\vspace{2cm}
% Zweck der Arbeit
\Large
{\Large \@author }\\\@subauthor\\[2cm]
\end{center}
\vfill
\begin{flushleft}
\Large
\ifx\@empty\@isplain
\ifx\@empty\@hsl
\hsllabel Prof. Dr. Wolfgang E. Nagel
\\
\else
\hsllabel \@hsl
\\
\fi
\betreuerlabel \@betreuer
\\[1cm]
\else
$\quad$\\[1cm]
\fi
Dresden, \@date\\[2cm]
\end{flushleft}
\end{titlepage}
\pagestyle{empty}
\cleardoublepage
% Seitenstil festlegen
\fancyfoot{}
\fancyhead{}
\pagestyle{fancy}
\thispagestyle{fancy}
% Aufgabenstellung
\ifx\@empty\@isdiploma
\else
\if@noproblem
\else
\textbf{\Large Hier Aufgabenstellung einf\"{u}gen!}
\fi
\fi
\cleardoublestandardpage
%Selbst‰ndigkeitserklaerung
\ifx\@empty\@isdiploma
\else
\if@german
\else
\selectlanguage{ngerman}
\fi
\chapter*{Selbstst\"{a}ndigkeitserkl\"{a}rung}
Hiermit erkl\"{a}re ich, dass ich die von mir am heutigen Tag dem Pr\"{u}fungsausschuss der Fakult\"{a}t \@faculty~eingereichte \@doctype~zum Thema:
\begin{center}
\textit{\@title}
\end{center}
vollkommen selbstst\"{a}ndig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich gemacht habe.\\[2cm]
Dresden, den \@date\\[3cm]
\@author
\if@german
\else
\selectlanguage{american}
\fi
\fi
\cleardoublestandardpage
%Zusammenfassung
\ifx\@empty\@isdiploma
\else
\if@german
{\vspace*{2cm}
\minisec{Kurzfassung}
\@abstractde
\vspace{2cm}
\selectlanguage{american}
\minisec{Abstract}
\@abstracten
\selectlanguage{ngerman}
}
\else
{\vspace*{2cm}
\selectlanguage{ngerman}
\minisec{Kurzfassung}
\@abstractde
\selectlanguage{american}
\vspace{2cm}
\minisec{Abstract}
\@abstracten
}
\fi
\fi
% zeilenabstand ja nach variante
\if@final
%\singlespacing
\else
\onehalfspacing
\fi
\normalsize
\cleardoublestandardpage
%Inhaltsverzeichnis
\pagenumbering{arabic}
\if@final
\fancyhead[LE,RO]{\thepage}
\else
\if@twoside
\fancyhead[LE,RO]{\thepage}
\else
\fancyhead[R]{\thepage}
\fi
\fi
\if@notoc
\else
\tableofcontents
\cleardoublestandardpage
\fi
%Nomenclature
\if@nomencl
% \if@german
% \addcontentsline{toc}{chapter}{Symbolverzeichnis}
% \else
% \addcontentsline{toc}{chapter}{Nomenclature}
% \fi
% \label{sec:Nomenclature}
\printnomenclature[\@nomenclmargin]
\fi
%Kopfzeile basteln
\markboth{}{}
\ifx\@empty\@isreport
\if@final
\fancyhead[LO]{\@author}
\fancyhead[RE]{\@title}
\else
\if@twoside
\fancyhead[LO]{\@author}
\fancyhead[RE]{\@title}
\else
\fancyhead[L]{\@author -- \@title}
\fi
\fi
\else
\if@final
\fancyhead[LO]{\rightmark}
\fancyhead[RE]{\leftmark}
\else
\if@twoside
\fancyhead[LO]{\rightmark}
\fancyhead[RE]{\leftmark}
\else
\fancyhead[L]{\leftmark}
\fi
\fi
\fi}{%
% Literatur-, Abbildungs- und Tabellenverzeichnis, wenn nicht schon bei
% \appendix automatisch davor eingefuegt
\ifx\@empty\@haveapp
\cleardoublestandardpage
\ifx\@empty\@bibfiles
\else
\bibliography{\@bibfiles}
\fi
\cleardoublestandardpage
\printlof
\cleardoublestandardpage
\printlot
\fi
\cleardoublestandardpage
%Danksagung
\ifx\@empty\@acknowledgments
\else
\if@german
\@mkboth{Danksagung}{}
\else
\@mkboth{Acknowledgments}
\fi
\ifx\@empty\@isreport
\if@german
\section*{Danksagung}
\else
\section*{Acknowledgments}
\fi
\else
\if@german
\chapter*{Danksagung}
\else
\chapter*{Acknowledgments}
\fi
\fi
\@acknowledgments
\fi
% Copyright-Kram
\cleardoublestandardpage
\ifx\@empty\@copyrighterklaerung
\else
\@mkboth{\@copyrightlabel}{}
\copyrightinfo
\fi
\cleardoublestandardpage
\end{@altdoc}}
\else
\let\@altdoc=\document
\let\end@altdoc=\enddocument
\renewenvironment{document}{%
\begin{@altdoc}%
%\thispagestyle{empty}
%\pagestyle{empty}
\begin{titlepage}
\enlargethispage{1cm}
\begin{center}
\sffamily
\vspace*{25mm}
\begin{Large}
\textbf{\@title}
\end{Large}
\vspace{20mm}
\titleheader\\[1.5cm]
\begin{large}
\vspace{18mm}
vorgelegt an der\\
Technischen Universit\"at Dresden\\
Fakult\"{a}t \@faculty
\vspace{12mm}
eingereicht von
\vspace{6mm}
{\textbf{\@author}}\\\@subauthor\\[2cm]
\vfill
%\vspace{18mm}
Betreuender Hochschullehrer: \@gutachter\\[2cm]
\bigskip
% \textbf{Tag der Verteidigung:} 16. Dezember 2008
%
% \bigskip
Dresden, \@date\\[2cm]
\end{large}
\end{center}
\end{titlepage}
\cleardoubleemptypage
\ifx\@dedication\@empty \else
\next@tpage\null\vfill
{\centering \em \@dedication \par}%
\vskip \z@ \@plus3fill
\if@twoside \next@tpage\cleardoubleemptypage \fi
\fi
% Seitenstil festlegen
\fancyfoot{}
\fancyhead{}
\pagestyle{fancy}
\thispagestyle{fancy}
% zeilenabstand ja nach variante
\if@final
%\singlespacing
\else
\onehalfspacing
\fi
\normalsize
\cleardoublestandardpage
\if@kurz
\else
%Zusammenfassung
\if@german
{\vspace*{2cm}
\minisec{Kurzfassung}
\@abstractde
\vspace{2cm}
\selectlanguage{american}
\minisec{Abstract}
\@abstracten
\selectlanguage{ngerman}
}
\else
{\vspace*{2cm}
\selectlanguage{ngerman}
\minisec{Kurzfassung}
\@abstractde
\selectlanguage{american}
\vspace{2cm}
\minisec{Abstract}
\@abstracten
}
\fi
\cleardoublestandardpage
\fi
%Inhaltsverzeichnis
\pagenumbering{arabic}
\if@final
\fancyhead[LE,RO]{\thepage}
\else
\if@twoside
\fancyhead[LE,RO]{\thepage}
\else
\fancyhead[R]{\thepage}
\fi
\fi
\if@notoc
\else
\tableofcontents
\cleardoublestandardpage
\fi
%Nomenclature
\if@nomencl
% \if@german
% \addcontentsline{toc}{chapter}{Symbolverzeichnis}
% \else
% \addcontentsline{toc}{chapter}{Nomenclature}
% \fi
% \label{sec:Nomenclature}
\printnomenclature[\@nomenclmargin]
\fi
%Kopfzeile basteln
\markboth{}{}
\ifx\@empty\@isreport
\if@final
\fancyhead[LO]{\@author}
\fancyhead[RE]{\@title}
\else
\if@twoside
\fancyhead[LO]{\@author}
\fancyhead[RE]{\@title}
\else
\fancyhead[L]{\@author -- \@title}
\fi
\fi
\else
\if@final
\fancyhead[LO]{\rightmark}
\fancyhead[RE]{\leftmark}
\else
\if@twoside
\fancyhead[LO]{\rightmark}
\fancyhead[RE]{\leftmark}
\else
\fancyhead[L]{\leftmark}
\fi
\fi
\fi
}{%
% Literatur-, Abbildungs- und Tabellenverzeichnis, wenn nicht schon bei
% \appendix automatisch davor eingefuegt
\ifx\@empty\@haveapp
\cleardoublestandardpage
\ifx\@empty\@bibfiles
\else
\bibliography{\@bibfiles}
\fi
\cleardoublestandardpage
\printlof
\cleardoublestandardpage
\printlot
\fi
\cleardoublestandardpage
%Danksagung
\ifx\@empty\@acknowledgments
\else
\if@german
\@mkboth{Danksagung}{}
\else
\@mkboth{Acknowledgments}
\fi
\ifx\@empty\@isreport
\if@german
\section*{Danksagung}
\else
\section*{Acknowledgments}
\fi
\else
\if@german
\chapter*{Danksagung}
\else
\chapter*{Acknowledgments}
\fi
\fi
\@acknowledgments
\fi
% Copyright-Kram
\cleardoublestandardpage
\ifx\@empty\@copyrighterklaerung
\else
\@mkboth{\@copyrightlabel}{}
\copyrightinfo
\fi
\cleardoublestandardpage
\end{@altdoc}
}
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Nuetzliche Zusatzkommandos
\newcommand\longcite[2]{(vgl.~\cite{#1}, S.~#2)}
\newcommand\shortcite[2]{(\cite{#1}, S.~#2)}
%% itemize ohne abstand zw. den items
%\let\@altitemize=\itemize
%\let\end@altitemize=\enditemize
%\renewenvironment{itemize}{%
%\begin{@altitemize}%
%\ifnum \@itemdepth = 1
% \vspace{-10pt}
% \setlength{\itemsep}{-1pt}
%\else
% \ifnum \@itemdepth = 2
% \vspace{-6pt}
% \setlength{\itemsep}{0pt}
% \else
% \ifnum \@itemdepth = 3
% \vspace{-2pt}
% \setlength{\itemsep}{1pt}
% \else
% \vspace{0pt}
% \setlength{\itemsep}{2pt}
% \fi
% \fi
%\fi
% \setlength{\parsep}{0pt}
%\setlength{\labelsep}{12pt}
%}%
%{\end{@altitemize}\vspace{-2pt}}
%% enumerate ohne abstand zw. den items
%\def\enumerate{%
% \ifnum \@enumdepth >3 \@toodeep\else
% \ifnum \@enumdepth = 0
% \vspace{-10pt}
% \setlength{\itemsep}{-1pt}
% \else
% \ifnum \@enumdepth = 1
% \vspace{-6pt}
% \setlength{\itemsep}{0pt}
% \else
% \ifnum \@enumdepth = 2
% \vspace{-2pt}
% \setlength{\itemsep}{1pt}
% \else
% \vspace{0pt}
% \setlength{\itemsep}{2pt}
% \fi
% \fi
% \fi
% \setlength{\parsep}{0pt}
% \setlength{\labelsep}{12pt}
% \advance\@enumdepth \@ne
% \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
% \@ifnextchar[{\@@enum@}{\@enum@}}
%\def\@@enum@[#1]{%
% \@enLab{}\let\@enThe\@enQmark
% \@enloop#1\@enum@
% \ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
% ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
% \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}%
% \expandafter\let\csname the\@enumctr\endcsname\@enThe
% \csname c@\@enumctr\endcsname7
% \expandafter\settowidth
% \csname leftmargin\romannumeral\@enumdepth\endcsname
% {\the\@enLab\hspace{\labelsep}}%
% \@enum@}
%\def\@enum@{\list{\csname label\@enumctr\endcsname}%
% {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}}}
% paragraph mit Zeilenumbruch nach der Ueberschrift
\newcommand\Paragraph[1]{\minisec{#1}}
% im text korrekturen anzeigen
\newcommand{\correctme}[1]{\textcolor{red}{#1}}
% korrekturen ueber mehrere absaetze
\newenvironment{correctmore}{\color{red}}{\color{black}}