% ^^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:
