% ^^A -*- latex -*-
% \def\docdate {2006/04/01} ^^A not style'able!!
% \iffalse meta-comment
%    \begin{macrocode}
%<*package>
\def\fileversion{1.0}
\def\filedate{01 Apr 2006 17:05:29 CEST}
\def\filename{fhACtitlepage.dtx}
\def\Copyright{Copyright (C) 2006 Juergen A. Lamers,
   DokuTransData, Aachen, Germany}
%</package>
%    \end{macrocode}
% ======================================================================
% fhACtitlepage.dtx
% Copyright (c) 2006 Jürgen A. Lamers <jaloma@dokutransdata.de>
%
% This program may be distributed and/or modified under the conditions
% of the LaTeX Project Public License, either version 1.3 of this
% license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
% 
% This Current Maintainer of this work is Paul Abraham.
%
% This program consists of the files fhACtitlepage.dtx, 
% fhACtitlepage.ins, logoFH.eps, README.
% ----------------------------------------------------------------------
% fhACtitlepage.dtx
% Copyright (c) 2006 Jürgen A. Lamers <jaloma@dokutransdata.de>
%
% Dieses Programm kann nach den Regeld der LaTeX Project Public
% License Version 1.3 oder (nach Ihrer Wahl) einer späteren Version
% weiterverbreitet werden.
% Die aktuellste Version dieser Lizens findet sich in
%   http://www.latex-project.org/lppl.txt
% und Version 1.3 oder eine spaetere Version ist Teil aller
% Verteilungen von LaTeX Version 2003/12/01 oder spaeteren Versionen.
%
% Dieses Projekt hat den LPPL Betreuerstatus "maintained".
%
% Der aktuelle Betreuer des Projekts ist Jürgen A. Lamers
%
% Dieses Programm besteht aus den Dateien fhACtitlepage.dtx,
% fhACtitlepage.ins, logoFH.eps, README
% \fi
% \iffalse
% ======================================================================
%<*dtx>
\ProvidesFile{fhACtitlepage.dtx}
  [2006/04/01 v1.0a titlepage for diploma thesis with scrreprt.cls]
%</dtx>
%<driver>\ProvidesFile{fhACtitlepage.tex}
%<*driver>
\documentclass{ltxdoc}
\usepackage[latin1]{inputenc}
\usepackage[final]{graphicx}
\usepackage{german}
\usepackage{url}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
%\OnlyDescription
\begin{document}
  \DocInput{fhACtitlepage.dtx}
  \DocInput{gloss_add.dtx.input}
  \DocInput{doxygen_header.dtx.input}
  \clearpage
  \PrintIndex
  \PrintChanges
\end{document}
%</driver>
%\fi
% \changes{v1.0}{2006/04/01}{Initial version}
%
% \GetFileInfo{fhACtitlepage.dtx}
% \DoNotIndex{\newcommand,\newenvironment,\addtolength,\caption,\centering,\cleardoublepage, \clearemptydoublepage, \DeclareOption,\def,\definecolor,\deftripstyle,\documentclass,\dotfill,\else,\empty,\end,\endcsname,\endinput,\evensidemargin,\expandafter,\fi,\aux,\noexpands,\rightmark,\setcounter,\setlength,\subsection,\subsubsection,\topmargin,\typeout,\uppercase,\usepackage,\vfill,\voffset,\hoffset, \large, \Large, \LARGE, \ldots, \let, \minisec, \NeedsTeXFormat, \newif, \newline, \newpage, \newtheorem, \next@tpage, \nobreak, \noindent, \normalfont, \normalsize, \null, \oddsidemargin, \pagemark, \pagenumbering, \pageref, \pagestyle, \par, \parbox, \parindent, \PassOptionsToPackage, \ProcessOptions, \proofname, \providecommand, \ProvidesFile, \ProvidesPackage, \raggedsection, \ref, \relax, \renewcommand, \RequirePackage, \restylefloat, \sffamily, \size@subsection, \size@subsubsection, \string, \tableofcontents, \thispagestyle, \vfil, \vskip, \vspace, \write, \z@, \,, \@afterheading, \@afterindentfalse, \@auxout, \@empty, \@ifundefined, \@minus, \@plus, \@startsection, \\, \ , \begin, \bf, \bfseries, \color, \csname, \CurrentOption, \footrulewidth, \footskip, \gdef, \graphicspath, \headheight, \headsep, \hfill, \hrulefill, \Huge, \iffalse, \iftrue, \ifx, \immediate, \includegraphics, \InputIfFileExists, \item, \label, \citation, \Copyright, \makeindex, \filedate}
% \title{Titelseite zu Diplomarbeiten an der FH Aachen\thanks{\ifnum\language=2%
%           Diese Datei hat die Versionsnummer \fileversion, wurde zuletzt
%           bearbeitet am \filedate, und die Dokumentation datiert vom
%           \docdate.
% \else
%          This file has the version number \fileversion. It has been worked 
%          at at last on \filedate and the documentation has been dated 
%          on \docdate.
% \fi}}
% \author{Jürgen A.\,Lamers\\\texttt{jaloma@dokutransdata.de}}
% \date{\docdate}
% \maketitle
% \begin{abstract}
% Wer eine Diplomarbeit schreibt, hat nicht unbedingt den Kopf sich
% auch um die Ausgestaltung der Titelseite zu kümmern, hier soll dieser
% Style kurz helfen.
% \end{abstract}
%
% \tableofcontents
%
%
% \section{Voraussetzungen}
% Die hier vorgeführte Implementierung einer Titelseite geht von
% der Klasse \texttt{scrreprt.cls} aus.
%    \begin{macrocode}
%<*package>
%    \end{macrocode}
%    \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1998/06/01]
\ProvidesPackage{fhACtitlepage}
  [2006/04/01 v1.0 titlepage for diploma thesis with scrreprt.cls]
\typeout{Package 'fhACtitlepage' <\filedate>.}
\typeout{\Copyright}
%    \end{macrocode}
%
%
% \section{Die Optionen des Pakets}
% 
% Die Optionen des Pakets sind die Schalter, mit denen die Eigenschaften
% eines Pakets global und zentral beeinflusst werden können.
% Mit der Option \texttt{declaration} kann gesteuert werden, ob eine Seite mit der Erklärung zur selbstständigen Erstellung der Diplomarbeit erstellt werden soll. Diese Option ist zum Beispiel für die Verwendung der Titelseite bei der Dokumentation der Programmierschnittstelle mittels \texttt{doxygen} nützlich-
%    \begin{macrocode}
\newif\if@declaration
\@declarationfalse
\DeclareOption{declaration}{\@declarationtrue}
%    \end{macrocode}
% Mit der Option \texttt{colored} kann gesteuert werden, ob auf der Titelseite einige Texte farbig dargestellt werden sollen.
%    \begin{macrocode}
\newif\if@colored
\@coloredfalse
\DeclareOption{colored}{\@coloredtrue}
%    \end{macrocode}
% Ist mit der Option \texttt{colored} die Farbgebung für die Titelseite eingeschaltet, kann mit der Option \texttt{sectionheader} auch eine farbige Gestaltung der Abschnittsüberschriften eingeschaltet werden.
%    \begin{macrocode}
\newif\if@sectionheader
\@sectionheaderfalse
\DeclareOption{sectionheader}{\@sectionheadertrue}
%    \end{macrocode}
% Neben den Texten die vom Diplomanden eingesetzt werden müssen, gibt es vorgegebene Texte.
%    \begin{macrocode}
\providecommand*{\@thesistype}{Diploma Thesis}
\providecommand*{\advis@r}{Adviser}
\providecommand*{\@Advisedby}{This thesis was advised by}
\providecommand*{\@presentedby}{presented by}
\providecommand*{\@advisedby}{advised by}
\providecommand*{\@sign}{Sign}
\providecommand*{\@declarationtext}{}
\DeclareOption{german}{
  \renewcommand{\@thesistype}{Diplomarbeit}
  \renewcommand{\advis@r}{Betreuer}
  \renewcommand{\@presentedby}{vorgelegt von}
  \renewcommand{\@advisedby}{betreut von}
  \renewcommand{\@Advisedby}{Diese Arbeit wurde betreut von}
  \renewcommand{\@sign}{Unterschrift}
  \renewcommand{\@declarationtext}{Diese Diplomarbeit ist von mir selbstst"andig abgefertigt und
    verfasst. Es sind keine anderen als die angegebenen Quellen und
    Hilfsmittel benutzt worden.
    }
}
%    \end{macrocode}
%
%    \begin{macrocode}
\ProcessOptions*
%    \end{macrocode}
%
%    \begin{macrocode}
\RequirePackage{color}
\if@colored
\definecolor{sectcolor}{rgb}{0.0,0.2,0.4}
\definecolor{ssectcolor}{rgb}{0.0157,0.3804,0.9804}
\definecolor{sssectcolor}{rgb}{0.0,0.4,1.0}
\else
\definecolor{sectcolor}{rgb}{0.0,0.0,0.0}
\definecolor{ssectcolor}{rgb}{0.0,0.0,0.0}
\definecolor{sssectcolor}{rgb}{0.0,0.0,0.0}
\fi

\newcommand{\bssectfont}{\sffamily\bfseries\color{ssectcolor}}
\newcommand{\bsssectfont}{\sffamily\bfseries\color{sssectcolor}}

\if@sectionheader
\renewcommand{\sectfont}{\sffamily\bfseries\color{sectcolor}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\raggedsection\normalfont\size@subsection\bssectfont}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\raggedsection\normalfont\size@subsubsection\bsssectfont}}
\renewcommand\minisec[1]{\@afterindentfalse \vskip 1.5ex
  {\parindent \z@ \raggedsection\sectfont #1\par\nobreak}%
  \@afterheading}
\fi
%    \end{macrocode}
%
%
% \section{Gestaltung der Titelseite}
%
% \DescribeMacro{\title}
% \DescribeMacro{\author}
% \DescribeMacro{\subject}
% Diese Makros aus dem Paket \texttt{scrreprt} werden benutzt.
% \texttt{subject} sollte bei zusätzlicher Dokumentation eingesetzt
% werden, die mit dieser Titelseite ausgeliefert werden.
%
%\begin{macro}{\submitdate}
% Veraltet.
%    \begin{macrocode}
\newcommand{\@submitdate}{}
\newcommand{\submitdate}[1]{\gdef\@submitdate{#1}}
%    \end{macrocode}
%\end{macro}
%
% \DescribeMacro{\submitdatetown}
% Gibt das Datum und Stadt der Veröffentlichung an.
%
%    \begin{macrocode}
\newcommand{\@submitdatetown}{}
\newcommand{\submitdatetown}[1]{\gdef\@submitdatetown{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\uniname}
% Gibt den Namen der Universität bzw. Fachhochschule an.
%
%    \begin{macrocode}
\newcommand{\@uniname}{}
\newcommand{\uniname}[1]{\gdef\@uniname{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\abtname}
% Gibt den Standort der Universität bzw. Fachhochschule an.
%
%    \begin{macrocode}
\newcommand{\@abtname}{}
\newcommand{\abtname}[1]{\gdef\@abtname{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\deptname}
% Gibt den Name der Abteilung, des Institutes an bei dem die Diplomarbeit erstellt wurde.
%
%    \begin{macrocode}
\newcommand{\@deptname}{}
\newcommand{\deptname}[1]{\gdef\@deptname{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\profname}
% Gibt den Name des Institutsleiters.
%
%    \begin{macrocode}
\newcommand{\@profname}{}
\newcommand{\profname}[1]{\gdef\@profname{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\thesistype}
% Art der Arbeit (Diplomarbeit, Magisterarbeit etc.)
%
%    \begin{macrocode}
\newcommand{\thesistype}[1]{\gdef\@thesistype{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\logofile}
% Datei für ein Logo auf der Titelseite
%
%    \begin{macrocode}
\newcommand{\@logofile}{}
\newcommand{\logofile}[1]{\gdef\@logofile{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\obtaining}
% Genauer Text zu welchem Titel die Diplomarbeit eingereicht werden soll:
%
%    \begin{macrocode}
\newcommand{\@obtaining}{}
\newcommand{\obtaining}[1]{\gdef\@obtaining{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\principaladviser}
% \DescribeMacro{\principaladvisor}
% Namen aller Betreuer zur Diplomarbeit.
%
%    \begin{macrocode}
\newcommand{\@principaladviser}{}
\newcommand{\principaladviser}[1]{\gdef\@principaladviser{#1}}
\newcommand{\principaladvisor}[1]{\gdef\@principaladviser{#1}}
%    \end{macrocode}
%
%    \begin{macrocode}
\InputIfFileExists{fhACtitlepage.cfg}
  {\typeout{Using fhACtitlepage.cfg}}
  {}
%    \end{macrocode}
%
% \DescribeMacro{\maketitle}
% And here it comes\ldots 
%    \begin{macrocode}
\renewcommand{\maketitle}{
  \begin{titlepage}
 \setlength{\headheight}{0mm}
 \setlength{\headsep}{\footskip}
 \setlength{\voffset}{-1in}
 \setlength{\hoffset}{-1in}
 \setlength{\oddsidemargin}{20mm}
 \setlength{\evensidemargin}{25mm}
 \setlength{\topmargin}{20mm}%evensidemargin}
 \setlength{\textwidth}{\paperwidth} 
 \addtolength{\textwidth}{-\oddsidemargin}
 \addtolength{\textwidth}{-\evensidemargin}
 \setlength{\textheight}{\paperheight} %\addtolength{\textheight}{+2\topmargin}
 \addtolength{\textheight}{-\headheight}
 \addtolength{\textheight}{-\headsep}
% 
 \@titlep{}
 \if@twoside \next@tpage\cleardoublepage \fi
 \if@declaration
 \@declarationp{}
 \fi
\end{titlepage}
}
%    \end{macrocode}
%
% \DescribeMacro{\@titlep}
%    \begin{macrocode}
\newcommand{\@titlep}{%
        \pagestyle{empty}%
        \null%\vskip1.5cm%
        \begin{center}
          {\bf\sffamily\Huge\color{sectcolor}\expandafter{\@uniname}}

        \ifx\empty\@logofile%
        \else%
\vskip1ex%
          \includegraphics{\@logofile}
\vskip1ex%
        \fi
          {\bf\sffamily\LARGE\color{sectcolor}\expandafter{\@abtname}}\\

          {\bf\sffamily\Large\color{sectcolor}\expandafter{\@deptname}}\\
          {\bf\sffamily\Large\color{sectcolor}\expandafter{\@profname}}
%
        \vskip10ex%
\parbox{\textwidth}{\hrulefill}\\[1.75ex]
                {\sffamily\Large\color{sectcolor}\uppercase\expandafter{\@title}}
\parbox{\textwidth}{\hrulefill}

    \ifx\@subject\@empty \else
        {\bf\sffamily\Large \@subject \par}
        \vskip 3em
    \fi
        \vfill

          {\bf\sffamily\LARGE\color{sectcolor} \expandafter{\@thesistype}}\\[2ex]
\sffamily \expandafter{\@obtaining}

        \vfill

                {\sffamily\normalsize \@presentedby\\
                \Large\color{sectcolor}\@author}%\\      
\ifx\empty\@principaladviser%
\else
        \vskip0.5ex
%        \begin{center}
{\centering
                \sffamily\normalsize \@advisedby\\
                \Large\color{sectcolor}\centering\@principaladviser\\[2.5ex]
}
%        \end{center}
\fi
         \vfill
           \@submitdatetown
        \end{center}
        \vskip0.5ex
        \newpage
}
%    \end{macrocode}
%
% \DescribeMacro{\@declarationp}
%    \begin{macrocode}
\newcommand{\@declarationp}{
        \thispagestyle{empty}
  \begin{minipage}[t]{.95\textwidth}
    \@declarationtext\par
    \vspace*{3ex}
    \hfill\begin{tabular}{l@{}c}
      \@author,&\parbox{6cm}{\hrulefill}\\
      &\@sign\\
    \end{tabular}
  \end{minipage}
  \vfil
  \noindent
  \@Advisedby:\\
  \@principaladviser
  \if@twoside \next@tpage\cleardoublepage \fi
%        \newpage
}
\providecommand*{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
%    \end{macrocode}
%
% 
%    \begin{macrocode}
%</package>
%    \end{macrocode}
%
% \section{Beispiel}
%    \begin{macrocode}
%<*example>
% diplomArbeit.ltx
\documentclass[german, 
a4paper, 
abstracton, 
titlepage,
bibtotoc,
idxtotoc,
liststotoc, 
pointlessnumbers,
openright,
twoside,
12pt]{scrreprt}
\usepackage{graphicx}
%Eingabe von ü,ö,ä,ß erlaubt:
\usepackage[latin1]{inputenc}
\usepackage{german}
\usepackage[declaration,colored]{fhACtitlepage}
\usepackage[
center, % Bilder grundsaetzlich zentrieren 
nocaptionlist
]{figbib_add}
% figbib = Style zum verwalten von Bildern in BibTeX-Dateien (_add Ergänzungen durch Jürgen A.Lamers)
\usepackage{gloss_add}
\makegloss{}
% gloss = Glossar mit BibTeX, (_add Ergänzungen durch Jürgen A.Lamers)
\begin{document}
\maketitle
%Inhaltsverzeichnis soll römisch numeriert sein:
\pagenumbering{roman}\setcounter{page}{1}
\begin{abstract}
  Alles was zur Diplomarbeit so gehört oder auch nicht\ldots
\end{abstract}
\clearemptydoublepage
\tableofcontents
\clearemptydoublepage
%
%Der Rest soll arabisch numeriert sein:
\pagenumbering{arabic}\setcounter{page}{1}
\end{document}
%</example>
%    \end{macrocode}
%
% \section{Konfigurationsdatei}
%
%    \begin{macrocode}
%<*cfg>
\ProvidesFile{fhACtitlepage.cfg}
  [2006/04/01 v0.1 fhACtitlepage demo configuration]
% Spezielle Titelseite Dipl.Arbeiten an der FH Aachen, Standort Jülich
\title{Ich habe etwas besonderes entwickelt}
\author{Eine wirds gewesen sein}
\uniname{Fachhochschule Aachen}
\logofile{LogoFH}
\abtname{Standort Jülich}
\deptname{Labor für Medizinische-Informatik}
\profname{Prof.~Dr.~rer.~nat. W.\,Hillen}
\thesistype{Diplomarbeit}
\submitdatetown{Jülich, im April 2006}
\obtaining{zur Erlangung des Grades eines\\
Diplom-Ingenieurs der Physikalischen Technik\\
Fachrichtung: Biomedizinische Technik}
\principaladvisor{Prof.~Dr.~rer.~nat. W.\,Hillen\\Hat mich Betreut}%Alle Betreuer!!
%</cfg>
%    \end{macrocode}
%
% \section{Erg"anzung zu figbib}
%
% Ich habe den Style \texttt{figbib.sty} noch etwas erweitert, so kann
% man weiterhin die normale \texttt{figure}-Umgebung benutzen und darin
% den neuen Befehl \texttt{fbEntry} einsetzen um das Bild zu
% registrieren.
%
%    \begin{macrocode}
%<*figbib>
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{figbib_add}[2006/04/01]

\let\if@figbiblistcaption\iftrue
\DeclareOption{nocaptionlist}{\let\if@figbiblistcaption\iffalse}

\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{figbib}}
\ProcessOptions\relax
\RequirePackage{figbib}
\def\figbib@WriteEntry#1{%
  \if@filesw\immediate\write\figbib@aux{\string\citation{#1}}\fi
}
\def\fbEntry#1{
\figbib@WriteEntry{#1}
}
% Benutzung
% \begin{figure}[htbp]
%   \includegraphics{abhaengigkeit_targets}
%   \caption{Test}
%   \label{figbib:abhaengigkeit} % Der Praefix figbib: ist erforderlich, der Suffix muss der Schluessel aus der figbib-Datei sein.
% \fbEntry{abhaengigkeit} % Argument muss der Schluessel aus der figbib-Datei sein.
% \end{figure}

\renewcommand*{\figbibitem}[6]{%
  {%
    \figbib@noexpands
    \immediate\write\@auxout{\string\figbibdefmain{#1}{#2}}
    \immediate\write\@auxout{\string\figbibdefadd{#1}{#3}}
    \immediate\write\@auxout{\string\figbibdeffile{#1}{#4}}
    \immediate\write\@auxout{\string\figbibdefcaption{#1}{#6}}
  }%
%  \item[\@ifundefined{figbibr@#1}{\figbibFig}{\csname figbibr@#1\endcsname}~\ref{figbib:#1}%
%  :] %
  \item[\ref{figbib:#1}%
  ] 
  \if@figbiblistcaption%
  #6 %
  \else%
  #2%
  \fi \dotfill %
  \if@figbibrefpage%
  \ \pageref{figbib:#1}%
  \fi%
  \newline
  \ifx #3\@empty\else%
    #3.
  \fi%
  \if@figbibsource\ifx #5\@empty\else\ \figbibFrom\ #5\fi\fi%
  %
}
\endinput
%</figbib>
%    \end{macrocode}
%
% \Finale
\endinput
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~     A umlaut      \Ä
%   O umlaut      \Ö     U umlaut      \Ü     a umlaut      \ä
%   o umlaut      \ö     u umlaut      \ü     sharp s       \ß}
% End of file 'fhACtitlepage.dtx'
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End:
