%\iffalse
% fomsdt.dtx generated using makedtx version 0.94b (c) Nicola Talbot
% Command line args:
%   -src "fom(.*)src\.cls=>fom\1.cls"
%   -src "fom(.*)src\.sty=>fom\1.sty"
%   -src "fom(.*)src\.ist=>fom\1.ist"
%   -date "2007/10/29"
%   -author "Axel Kesseler"
%   -v "1"
%   -license "gpl"
%   -dir "src"
%   -setambles "fom(.*)\.cls=>\usepreamble\defaultpreamble"
%   -setambles "fom(.*)\.sty=>\usepreamble\defaultpreamble"
%   -setambles "fom(.*)\.ist=>\usepreamble\defaultpreamble"
%   -doc "doc\\fomman.tex"
%   -codetitle "Implementierung"
%   fomsdt
% Created on 2007/10/29 01:08
%\fi
%\iffalse
%<*package>
%% \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         \~}
%</package>
%\fi
% \iffalse
% Doc-Source file to use with LaTeX2e
% Copyright (C) 2007/10/29 Axel Kesseler, all rights reserved.
% \fi
% \iffalse
%<*driver>
%%----------------------------------------------------------
%%
%%       --- FOM Scientific Document Template ---
%%
%%   This file contains the  whole user documentation for 
%%  the 'fomsdt' package consisting of the following files.
%%
%% fomsdt.cls -- FOM Scientific Document Template (the class)
%% fomdss.sty -- FOM Document Start Section
%% fomdes.sty -- FOM Document End Section
%% fompar.sty -- FOM Paragraph Definition
%% fomfod.sty -- FOM Floating Object Definition
%% fomisc.sty -- FOM Miscellaneous Definition
%% fomidx.ist -- FOM Index Style Definition
%%
%%----------------------------------------------------------
%% Document loading setting (needed for \filexxx).
%%----------------------------------------------------------
\def\FileName{fomsdt.dtx}
\def\FileDate{2007/10/29}
\def\FileVersion{v1.0}
\def\FileInfo{FOM Scientific Document Template}
%%----------------------------------------------------------
%% Document loading.
%%----------------------------------------------------------
\documentclass[a4paper,12pt]{ltxdoc}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{color}
\usepackage{hyperref}
\usepackage{ifpdf}
\usepackage[normalem]{ulem}
%%----------------------------------------------------------
%% Hyperlink setup.
%%----------------------------------------------------------
\definecolor{linkcolor}{rgb}{0,0,0}
\hypersetup{
  pdfauthor={Axel Kesseler},
  pdftitle={fomsdt : FOM Scientific Document Template},
  pdfborder=0 0 0,
  colorlinks=true,
  plainpages=false,
  bookmarksopen=true,
  bookmarksnumbered=true,
  linkcolor=linkcolor,
  citecolor=linkcolor,
  filecolor=linkcolor,
  urlcolor=linkcolor}
%%----------------------------------------------------------
%% Paragraph setup.
%%----------------------------------------------------------
\setlength{\parskip}{0.5\baselineskip plus 0.5ex minus 0.3ex}
\setlength{\parindent}{0mm}
\sloppy
%%----------------------------------------------------------
%% Page setup and page boundary.
%%----------------------------------------------------------
\clubpenalty=10000
\widowpenalty=10000\displaywidowpenalty=10000
\addtolength\oddsidemargin {40pt}
\addtolength\evensidemargin{40pt}
\addtolength{\textwidth}  {-40pt}
%%----------------------------------------------------------
%% 'dos.sty' setup.
%%----------------------------------------------------------
\OnlyDescription
\PageIndex % use page number instead of code line index
\setcounter{IndexColumns}{2}
\IndexPrologue{\section*{Index}}
\DoNotIndex{\newcommand,\newenvironment}
%%----------------------------------------------------------
%% This code was originally copied from file 'doc.sty'
%% Some adoptions and extensions has been made!
%%----------------------------------------------------------
\def\File{Datei}
\def\Files{Dateien}
\def\Command{Befehl}
\def\Commands{Befehle}
\def\Option{Option}
\def\Options{Optionen}
\def\Macro{Makro}
\def\Macros{Makros}
\def\Env{Umgebung}
\def\Envs{Umgebungen}
\def\Depend{Abhängigkeit}
\def\Depends{Abhängigkeiten}
\def\Problems{Bekannte Probleme}
\makeatletter
\def\CommandIndex#1{%
	\MakePrivateLetters{\print@env{#1}}%
	\special@indexother{#1}{\Command}{\Commands}}%
\def\FileIndex#1{%
	\MakePrivateLetters{\print@env{#1}}%
	\special@indexother{#1}{\File}{\Files}}%
\def\EnvIndex#1{%
  \MakePrivateLetters{\print@env{#1}}%
  \special@indexother{#1}{\Env}{\Envs}}%
\def\OptionIndex#1{%
  \MakePrivateLetters{\print@env{#1}}%
  \special@indexother{#1}{\Option}{\Options}}%
\def\MacroIndex#1{%
  \MakePrivateLetters{\print@macro{#1}}%
  \special@indexmacro{#1}{\Macro}{\Macros}}%
\def\DependsIndex#1{%
  \MakePrivateLetters{\print@package{#1}}%
  \special@depends{#1}{\Depend}{\Depends}}%
\def\print@macro#1{\strut\MacroFont\string#1}
\def\print@env#1{\strut\MacroFont#1}
\def\print@package#1{\strut\textsf{#1}}
\def\special@indexmacro#1#2#3{%
  \@bsphack%
    \special@index{%
      \expandafter\@gobble\string#1\actualchar%
      \string\verb\quotechar*\verbatimchar\string#1\verbatimchar{%
        \space\scriptsize\textsl{#2}}}%
    \special@index{#3>%
      \expandafter\@gobble\string#1\actualchar%
      \string\verb\quotechar*\verbatimchar\string#1\verbatimchar}%
    \@esphack}%
\def\special@indexother#1#2#3{%
  \@bsphack%
    \special@index{%
      \expandafter\string#1\actualchar{%
        \protect\ttfamily\string#1}{%
          \space\scriptsize\textsl{#2}}}%
    \special@index{#3>%
      \expandafter\string#1\actualchar{%
        \protect\ttfamily\string#1}}%
    \@esphack}%
\def\special@depends#1#2#3{%
  \@bsphack%
    \special@index{%
      \expandafter\string#1\actualchar{%
        \protect\sffamily\string#1}{%
          \space\scriptsize\textsl{#2}}}%
    \special@index{#3>%
      \expandafter\string#1\actualchar{%
        \protect\sffamily\string#1}}%
    \@esphack}%
\def\DescFile{\pagebreak[2]\leavevmode\@bsphack%
   \begingroup\MakePrivateLetters\desc@file}%
\def\desc@file#1{\endgroup%
  \marginpar{\raggedleft\print@env{#1}}%
  \special@indexother{#1}{\File}{\Files}\@esphack\ignorespaces}%
\def\DescOption{\pagebreak[2]\leavevmode\@bsphack%
  \begingroup\MakePrivateLetters\desc@opt}%
\def\desc@opt#1{\endgroup%
  \marginpar{\raggedleft\print@env{#1}}%
  \special@indexother{#1}{\Option}{\Options}\@esphack\ignorespaces}%
\def\DescMacro{\pagebreak[2]\leavevmode\@bsphack%
  \begingroup\MakePrivateLetters\desc@macro}%
\def\desc@macro#1{\endgroup%
  \marginpar{\raggedleft\print@macro{#1}}%
  \special@indexmacro{#1}{\Macro}{\Macros}\@esphack\ignorespaces}%
\def\DescEnv{\pagebreak[2]\leavevmode\@bsphack%
  \begingroup\MakePrivateLetters\desc@env}%
\def\desc@env#1{\endgroup%
  \marginpar{\raggedleft\print@env{#1}}%
  \special@indexother{#1}{\Env}{\Envs}\@esphack\ignorespaces}%
\def\DescDepends{\pagebreak[2]\leavevmode\@bsphack%
   \begingroup\MakePrivateLetters\desc@depends}%
\def\desc@depends#1{\endgroup%
  \marginpar{\raggedleft\print@package{#1}}%
  \special@depends{#1}{\Depend}{\Depends}\@esphack\ignorespaces}%
\newcommand\DescOnly{\pagebreak[2]\leavevmode\@bsphack%
  \begingroup\MakePrivateLetters\desc@only}%
\def\desc@only#1{\endgroup%
  \marginpar{\raggedleft{\small\bfseries#1}}%
  \index{#1}\@esphack\ignorespaces}%
\newcommand\DescOnlyNoIdx{\pagebreak[2]\leavevmode\@bsphack%
  \begingroup\MakePrivateLetters\desc@onlyex}%
\def\desc@onlyex#1{\endgroup%
  \marginpar{\raggedleft{\footnotesize\bfseries#1}}%
  \@esphack\ignorespaces}%
\makeatother

\newcommand\OptExplain[3][10mm]{%
  \begin{list}{}{%
    \setlength{\topsep}{\parskip}%
    \setlength{\parsep}{\parskip}%
    \setlength{\leftmargin}{#1}%
    \setlength{\labelwidth}{0.9\leftmargin}%
    \setlength{\labelsep}{0.1\leftmargin}%
    \renewcommand{\makelabel}[1]{##1\ \hfil}}%
  \item[#2]#3%
  \end{list}}

\newcommand{\See}[1]{\space\textsl{\scriptsize $\to$~#1}}

%%----------------------------------------------------------
%% Local macro declaration.
%%----------------------------------------------------------
\DeclareRobustCommand{\package}[1]{\textsf{#1}}
\DeclareRobustCommand{\defval}[1]{\textbf{\textsl{#1}}}
\DeclareRobustCommand{\bs}{$\backslash$}
\DeclareRobustCommand{\holder}[1]{%
  \textsl{\small$\langle$#1$\rangle$}}
\DeclareRobustCommand{\file}[1]{\texttt{\small#1}}
\DeclareRobustCommand{\option}[1]{\texttt{\small#1}}
\DeclareRobustCommand{\optionex}[1]{%
  \texttt{\small\lbrack#1\rbrack}}
\DeclareRobustCommand{\secfile}[1]{\texttt{#1}}

\newcommand{\FOMSDT}{\emph{FOM Scientific Document Template}}
\newcommand{\FOMDSS}{\emph{FOM Document Start Section}}
\newcommand{\FOMDES}{\emph{FOM Document End Section}}
\newcommand{\FOMPAR}{\emph{FOM Paragraph Definition}}
\newcommand{\FOMFOD}{\emph{FOM Floating Object Definition}}
\newcommand{\FOMISC}{\emph{FOM Miscellaneous Definition}}
\newcommand{\FOMIDX}{\emph{FOM Index Style Definition}}

\newcommand{\fomsdt}{\package{fomsdt}}
\newcommand{\fomdss}{\package{fomdss}}
\newcommand{\fomdes}{\package{fomdes}}
\newcommand{\fompar}{\package{fompar}}
\newcommand{\fomfod}{\package{fomfod}}
\newcommand{\fomisc}{\package{fomisc}}
\newcommand{\fomidx}{\package{fomidx}}

\newcommand{\fomsdtpdf}{fomsdt.pdf}
\newcommand{\fomsdtdtx}{fomsdt.dtx}
\newcommand{\fomsdtins}{fomsdt.ins}
\newcommand{\readmetxt}{readme.txt}
\newcommand{\fomsdtcls}{fomsdt.cls}
\newcommand{\fomdsssty}{fomdss.sty}
\newcommand{\fomdessty}{fomdes.sty}
\newcommand{\fomparsty}{fompar.sty}
\newcommand{\fomfodsty}{fomfod.sty}
\newcommand{\fomiscsty}{fomisc.sty}
\newcommand{\fomidxist}{fomidx.ist}

\newenvironment{summary}{\small%
  \begin{center}{\bfseries \abstractname\vspace{-.5em}}\end{center}%
  \list{}{%
    \listparindent 0em%
    \itemindent \listparindent%
    \rightmargin \leftmargin%
    \parsep \parskip}\item[]}{\endlist}%

\newenvironment{example}
  {\vspace{1.5\parskip}\begin{small}}
  {\end{small}\vspace{1.5\parskip}}

%%----------------------------------------------------------
%% The writing...
%%----------------------------------------------------------
\begin{document}
\DocInput{fomsdt.dtx}
\end{document}
%</driver>
%\fi
%\begin{titlepage}
%\renewcommand*{\thepage}{Title}
%\thispagestyle{empty}
%\null\vfil\vspace{35pt}
%\begin{center}
%{\LARGE\bfseries \fomsdt: Paket zur Erstellung\par%
%                 wissenschaftlicher Arbeiten\par}
%\vspace{20pt}
%{\Large Axel Kesseler\\*%
%        \texttt{\small<axel.kesseler@gmx.net>}\par}
%\vspace{20pt}
%\today\par
%\null\vfill
%Dieses Dokument wurde aus der Datei \file{\FileName}\\
%in der Version~\FileVersion\ vom~\FileDate\ erzeugt.
%\end{center}
%\null\vfill
%\begin{summary}
%Das Paket \fomsdt\ ist das Ergebnis einer Diplomarbeit an 
%der FOM -- Fachhochschule für Oekonomie \& Management in 
%Essen und soll den Studierenden das Verfassen ihrer 
%wissenschaftlichen Arbeiten unter Verwendung des Textsatzsystems 
%\LaTeX\ erleichtern.
%
%\fomsdt\ basiert auf den an der FOM im Fachbereich 
%Wirtschaftsinformatik anerkannten Regeln zu Erstellung 
%wissentschaftlicher Arbeiten.
%\end{summary}
%\end{titlepage}
%
%\tableofcontents
%
%\section{Distribution}
%
%Zum Lieferumfang des Pakets\index{Paket>Umfang} \fomsdt\ 
%gehören die Dateien\index{Paket>Dateien} \file{\fomsdtins}, 
%\file{\fomsdtdtx} und \file{\readmetxt}. Diese Installationsdateien 
%beinhalten neben den eigentlichen Paketdateien, bestehend aus 
%eine Klassendatei und mehreren Stildateien, auch die zum Paket 
%gehörende Anleitung.
%
%\DescFile{\fomsdtins} Die Datei \file{\fomsdtins} beinhaltet 
%das zur Extraktion des Pakets \fomsdt\ notwendige \LaTeX"~Skript, 
%dessen Hauptaufgabe darin besteht, die Aufteilung des Inhalts 
%der Datei \file{\fomsdtdtx} vorzunehmen.
%
%\DescFile{\fomsdtdtx} Der vollständige Paketcode ist in der 
%Datei \file{\fomsdtdtx} enthalten. Ebenfalls in dieser Datei 
%enthalten ist der Code zur Erstellung die hier vorliegende 
%Paketdokumentation.
%
%\DescFile{\readmetxt} Die Datei \file{\readmetxt} enthält neben 
%allgemeinen Informationen auch ein Kurzanleitung zur Erstellung 
%der hier vorliegenden Dokumentation.
%
%Die hieran anschließenden Kapitel gehen sowohl auf die Erstellung 
%der Dokumentation als auch auf die Extraktion und die Installation 
%des Pakets \fomsdt\ im \LaTeX"~System ein.
%
%\section{Dokumentation}\label{DocCreation}
%
%Zur Erstellung der Dokumentation wird zunächst die Datei 
%\file{\FileName} einmal kompiliert. Traten hierbei keine Fehler 
%auf, wird die Datei \file{\FileName} ein zweites mal kompiliert. 
%Dies ist notwendig, da erst jetzt alle Indexeinträge auf die 
%"`richtigen"' Seiten verweisen. 
%
%Daran anschließend wird der Index generiert. Traten auch hierbei 
%keine Fehler auf, ist die Datei \file{\FileName} noch ein drittes 
%und abschließendes mal zu kompilieren.
%
%Der gesamte Prozess zur Erstellung der Paketdokumentation
%\index{Paket>Dokumentation} wird durch die Eingabe verschiedener 
%\LaTeX"~Kommandos\index{Paket>Dokumentation>Kommandos} am Prompt 
%einer Shell beziehungsweise Konsole durchgeführt. Die nachfolgende 
%Sequenz zeigt die einzelnen Befehle, mit deren Hilfe die 
%Dokumentation generiert wird.
%
%\begin{verbatim}
% $ pdflatex fomsdt.dtx
% $ pdflatex fomsdt.dtx
% $ makeindex -s gind.ist -o fomsdt.ind fomsdt.idx
% $ pdflatex fomsdt.dtx
%\end{verbatim}
%
%Sollten nach dem dritten Kompiliervorgang eventuell noch Fehler 
%oder Warnungen auftreten, dann empfiehlt es sich, das Kommando 
%\CommandIndex{pdflatex}{\small| fomsdt.dtx|} erneut anzuwenden, 
%um die Dokumentation ein viertes mal zu kompilieren.
%
%Nach Beendigung des Kompiliervorganges sollte im aktuellen 
%Verzeichnis nun auch die Datei \FileIndex{\fomsdtpdf}, neben 
%weiteren Ausgabedateien, vorhanden sein. 
%
%\section{Installation}
%
%Die Installation des Pakets \fomsdt\ wird in mehreren 
%Einzelschritten durchgeführt. Dabei muss an einigen Stellen 
%auf die Besonderheiten der unterschiedlichen Betriebssysteme 
%Rücksicht genommen werden. Entsprechende Hinweise erfolgen an 
%den jeweiligen Stellen.
%
%\subsection{Verzeichnisstruktur}\label{DirCreation}
%
%Der erste Schritt der Installation des Pakets \fomsdt\ ist 
%die Erzeugung der notwendigen Verzeichnisstruktur. Hierfür 
%werden innerhalb der \LaTeX"~Umgebung insgesamt zwei 
%Verzeichnisse\index{Installation>Verzeichnisses}, jedes mit 
%dem Namen \file{fomsdt}, angelegt. Dabei ist zu beachten, 
%dass diese Verzeichnisse als Unterverzeichnisse der Verzeichnisse 
%\file{\$TEXROOT/tex/latex} und \file{\$TEXROOT/makeindex} 
%erstellt werden müssen!
%
%Der Bezeichner \file{\$TEXROOT} dient an dieser Stelle nur 
%als Platzhalter, da das entsprechende \LaTeX"~Basisverzeichnis 
%stark vom eingesetzten Betriebssystem abhängt.
%
%\DescOnly{Windows} Unter Windows wird zumeist MiK\TeX\ als 
%\LaTeX"~Umgebung eingesetzt. Daher ist für \file{\$TEXROOT} 
%das Verzeichnis der installierten MiK\TeX"~Distribution zu 
%verwenden\index{Paket>Verzeichnisse>Windows}. Dies könnte zum 
%Beispiel \file{C:\bs{}Programme\bs{}MiKTeX\bs{}} sein. Somit 
%ergeben sich für dieses Beispiel und das Betriebssystem Windows 
%die beiden Verzeichnisse 
%\file{C:\bs{}Programme\bs{}MiKTeX\bs{}tex\bs{}latex\bs{}fomsdt} 
%und \file{C:\bs{}Programme\bs{}MiKTeX\bs{}makeindex\bs{}fomsdt}.
%
%\DescOnly{Linux} Unter Linux wird die \LaTeX"~Distribution 
%zumeist im Verzeichnis \file{/usr/share/texmf/} 
%installiert\index{Paket>Verzeichnisse>Linux}, sodass als
%\file{\$TEXROOT} genau dieser Pfad als Basis zu verwenden ist. 
%Somit ergeben sich für dieses Beispiel und das Betriebssystem 
%Linux die beiden vollständigen Pfade 
%\file{/usr/share/texmf/tex/latex/fomsdt} und 
%\file{/usr/share/texmf/makeindex/fomsdt}.
%
%\subsection{Kopieren und Entpacken}
%
%Nachdem zuvor die Zielverzeichnisse, wie in 
%Abschnitt~\ref{DirCreation} beschrieben, erstellt wurden, 
%werden die zum Paket gehörenden Dateien \FileIndex{\fomsdtins}, 
%\FileIndex{\fomsdtdtx} und \FileIndex{\readmetxt} von ihrer 
%Quelle, beispielsweise das Verzeichnis, in welchem die Dateien 
%nach ihrem Download gespeichert wurden, in das Verzeichnis 
%\file{\$TEXROOT/tex/latex/fomsdt} 
%kopiert\index{Paket>Dateien>kopieren}. 
%
%Die unter Kapitel~\ref{DocCreation} generierte Datei 
%\FileIndex{\fomsdtpdf} wird ebenfalls in dieses Verzeichnis 
%kopiert. Dies weicht zwar von der \LaTeX"~Empfehlung für den 
%Dokumentenspeicherort ab, dient aber dem Zusammenhalt des 
%gesamten Pakets. 
%
%Jetzt wird im Verzeichnis \file{\$TEXROOT/tex/latex/fomsdt} 
%eine Shell beziehungsweise Konsole geöffnet und darin der 
%Befehl zum Entpacken\index{Paket>Dateien>entpacken} des 
%Pakets wie folgt eingegeben und ausgeführt:
%
%\begin{example}
%| $ |\CommandIndex{pdflatex}| fomsdt.ins|
%\end{example}
%
%Konnten bis hierhin alle Schritte fehlerfrei ausgeführt werden, 
%dann sollten im Verzeichnis\index{Dateien>Zielverzeichnis} 
%\file{\$TEXROOT/tex/latex/fomsdt} mindestens die hier gezeigten 
%Dateien vorhanden sein.
%
%\begin{center}
%\begin{tabular}{ccccc}
%\file{\fomsdtdtx} && \file{\fomsdtcls} && \file{\fomfodsty} \\
%\file{\fomsdtins} && \file{\fomdsssty} && \file{\fomiscsty} \\
%\file{\readmetxt} && \file{\fomdessty} && \file{\fomidxist} \\
%\file{\fomsdtpdf} && \file{\fomparsty} &&                   \\
%\end{tabular}
%\end{center}
%
%Als nächstes ist noch die Datei \file{\fomidxist} in das 
%Verzeichnis \file{\$TEXROOT/makeindex/fomsdt/} zu 
%verschieben\index{Paket>Dateien>verschieben}!
%
%\subsection{Aktualisierung der Umgebung}
%
%Als dritter und letzter Schritt der Installation des Pakets 
%\fomsdt\ ist nun noch die 
%Aktualisierung\index{Paket>Aktualisierung>Umgebung} 
%der \LaTeX"~Umgebung durchzuführen. Hierfür wird am Prompt 
%der noch geöffneten Eingabeaufforderung das 
%Aktualisierungskommando\index{Paket>Aktualisierung>Kommando} 
%wie folgt eingegeben:
%
%\begin{example}
%| $ |\CommandIndex{texhash}
%\end{example}
%
%Speziell für die Benutzer einer MiK\TeX"~Distribution gilt: 
%Sollte das Kommando \CommandIndex{texhash} \emph{nicht} zur 
%gewünschten Aktualisierung des 
%\LaTeX"~Systems\index{Paket>Aktualisierung} führen, dann sollte 
%das Aktualisierungskommando der MiK\TeX"~Distribution verwendet 
%werden. In diesem Fall ist am Prompt stattdessen das Kommando 
%\CommandIndex{initexmf}{\small| -u|} einzugeben.
%
%Mit der fehlerfreien Registrierung ist nun auch die Installation 
%des Pakets erfolgreich beendet. Das Paket \fomsdt\ kann von 
%nun an zusammen mit \LaTeX\ verwendet werden.
%
%\subsection{Kurzanleitung}
%
%Für die Eiligen, die Kurzfassung\index{Installation>Kurzfassung} 
%der Anleitung zur Installation des Pakets \fomsdt\ im 
%\LaTeX"~System.
%
%\begin{itemize}
%\item Jeweils ein Unterverzeichnis mit dem Namen \file{fomsdt} 
%\begin{itemize}
%  \item im Verzeichnis \file{\$TEXROOT/tex/latex} und 
%  \item im Verzeichnis \file{\$TEXROOT/makeindex}
%\end{itemize}
%erstellen.
%\item Die Dateien \file{\fomsdtins}, \file{\fomsdtdtx} und 
%  \file{\readmetxt} in das Verzeichnis 
%  \file{\$TEXROOT/tex/latex/fomsdt} kopieren.
%\item Die Paketdokumentation, also die Datei \file{\fomsdtpdf}, 
%  ebenfalls in das Verzeichnis \file{\$TEXROOT/tex/latex/fomsdt} 
%  kopieren! Oder, falls noch nicht vorhanden, in diesem 
%  Verzeichnis erst erstellen.
%\item Im Verzeichnis \file{\$TEXROOT/tex/latex/fomsdt} eine Shell 
%  öffnen und dort den Befehl 
%  \CommandIndex{pdflatex}~\file{\fomsdtins} eingeben und ausführen.
%\item Die nun vorhandene Datei \file{\fomidxist} in das Verzeichnis 
%  \file{\$TEXROOT/makeindex/fomsdt} verschieben!
%\item Zur Aktualisierung des \LaTeX"~Systems am Kommandoprompt 
%  noch den Befehl \CommandIndex{texhash} eingeben.
%\end{itemize}
%
%Happy \TeX{}ing!
%
%\section{Paketübersicht}
%
%Dieser Abschnitt verschafft einen Überblick über die einzelnen 
%Komponenten\index{Paket>Übersicht} der \emph{\LaTeX"~Nomenklatur 
%\fomsdt\ zur Erstellung wissenschaftlicher Arbeiten} und geht 
%kurz auf die Aufgaben sowie die Bedeutung der einzelnen 
%Komponenten ein.
%
%\DescFile{\fomsdtcls} Die Datei \file{\fomsdtcls} meint \FOMSDT\ 
%und enthält den Code der Dokumentenklasse des Pakets. Weiterhin 
%werden von dieser Paketklassse verschiedene Optionen zur Änderung 
%des Dokumentenlayouts angeboten. Zusätzlich verfügt diese 
%Dokumentenklasse auch über Alternativen zur Deckblattgestaltung.
%
%\DescFile{\fomdsssty} Die Datei \file{\fomdsssty} meint \FOMDSS\ 
%und enthält Makros, die es dem Benutzer erlauben, den einleitenden 
%Teil einer wissenschaftlichen Arbeit mit leichter Hand zu 
%erstellen. Beispielsweise beinhaltet der Einleitungsteil das 
%Inhaltsverzeichnis und ein Abbildungsverzeichnis. Weitere 
%Verzeichnisse werden ebenfalls unterstützt.
%
%\DescFile{\fomdessty} Die Datei \file{\fomdessty} meint \FOMDES\ 
%und enthält Makros für den abschließenden Teil der 
%wissenschaftlichen Arbeit. Beispielsweise beinhaltet der 
%Dokumentenabschluss den Index, das Glossar und ähnliches.
%
%\DescFile{\fomparsty} Die Datei \file{\fomparsty} meint \FOMPAR\ 
%und enthält spezielle aber auch nützliche Makros zur Formatierung 
%von Absätzen. Beispielsweise können hierdurch beidseitig 
%eingezogene Absätze oder auch einseitig eingezogene Absätze 
%mit einem Betreffbezeichner erzeugt werden.
%
%\DescFile{\fomfodsty} Die Datei \file{\fomfodsty} meint \FOMFOD\ 
%und enthält Makros zur Einbindung von Abbildungen, zur Gestalltung 
%von Tabellen und zur Erzeugung von Codelistings. Der Vorteil 
%dieser Definitionsdatei besteht in der Einfachheit der Anwendung 
%der bereitgestellten Makros.
%
%\DescFile{\fomiscsty} Die Datei \file{\fomiscsty} meint \FOMISC\ 
%und dient als Sammelbecken für weitere nützliche Makros, die 
%vom Sinnzusammenhang in keiner anderen Definitionsdatei 
%untergebracht werden können.
%
%\DescFile{\fomidxist} Die Datei \file{\fomidxist} meint \FOMIDX\ 
%und enthält verschiedene Konfigurationen für eine ansprechendere 
%Gestaltung des Indexes. Sie wird durch das Programm 
%\CommandIndex{make\-in\-dex} verwendet und ist daher nur indirekt 
%verwendbar. Zudem enthält diese Datei keine Makros im klassischen 
%Sinne. Aus diesem Grund wird innerhalb dieser Dokumentation 
%auf die weiterführende Beschreibung der Datei \file{\fomidxist} 
%verzichtet.
%
%\DescOnly{Mehrsprachigkeit} Das Paket \fomsdt\ unterstützt 
%derzeit noch nicht die Verwendung unterschiedlicher Sprachen. 
%Somit ist der Benutzer aufgefordert, bei einer von Deutsch 
%verschiedenen Sprache, die Standardwerte der jeweiligen 
%Makros zu überschreiben.
%
%\section{Dokumentenklasse}
%
%Die Dokumentenklasse \fomsdt, implemetiert in der Datei 
%\FileIndex{\fomsdtcls}, basiert auf der \LaTeX"~eigenen Klasse 
%\DependsIndex{article}. Sie verfügt somit über alle Optionen 
%ihrer Basisklasse. Weiterhin verfügt \fomsdt\ über eigene 
%Optionen, die in diesem Abschnitt einzeln beschrieben werden.
%
%\DescMacro{\documentclass} Verwendet wird die Klasse \fomsdt\ 
%analog zur Verwendung aller anderen \LaTeX"~Dokumentenklassen. 
%Daher ist die erste Zeile der Hauptdatei eines neuen Dokuments 
%basierend auf der Klasse \fomsdt\ die Zeile 
%{\small|\documentclass|\oarg{Optionen}|{fomsdt}|}.
%
%Die Angabe mehrerer Parameter im Optionsteil des Kommandos 
%{\small|\documentclass|} ist möglich, wobei einzelne Optionen 
%durch ein Komma voneinander getrennt werden.
%
%An dieser Stelle noch ein Kurzbeispiel\index{Beispiel>Hallo Welt} 
%zu Illustration der zuvor beschriebenen Details zur Verwendung 
%der Klasse \fomsdt.
%
%\begin{verbatim}
% \documentclass[nochapter,noheadrule]{fomsdt}
% \begin{document}
%  Hallo Welt!
% \end{document}
%\end{verbatim}
%
%\subsection{Optionen}
%
%Die Klasse \fomsdt\ verfügt über Optionen, die vornehmlich 
%zur Steuerung des Layouts eines Dokuments dienlich sind. 
%Diese Optionen werden im Folgenden näher beschrieben.
%
%\DescOption{moderntitle} Die wissenschaftliche Arbeit soll 
%über ein Titelblatt\index{Titelblatt} mit "`modernem"' Aussehen 
%verfügen. Als Standard für den Stil des Titels wird 
%\defval{kein Stil} verwendet.
%
%\DescOption{classictitle} Die wissenschaftliche Arbeit soll 
%über ein Titelblatt\index{Titelblatt} mit "`klassischem"' Aussehen 
%verfügen. Als Standard für den Stil des Titels wird 
%\defval{kein Stil} verwendet.
%
%Wird als Stil des Titelblatts weder die Option \option{moderntitle} 
%noch die Option \option{classictitle} angegeben, dann können 
%zur Erzeugung des Titels weiterhin die \LaTeX"~eigenen Makros 
%verwendet werden.
%
%Werden hingegen beide Stiloptionen des Titelblatts gemeinsam 
%verwendet, die Reihenfolge ist dabei unerheblich, dann wird 
%als Standard der klassische Titelstil verwendet.
%
%\DescOption{lockflag} Diese Option schaltet den 
%Sperrvermerks\index{Sperrvermerk} auf der Seite direkt hinter 
%der Titelseite ein. Der Standardwert für die Verwendung des 
%Sperrvermerks ist \defval{aus}. 
%
%Die Verwendung des Sperrvermerks ist jedoch nur bei den 
%wissenschaftlichen Arbeiten notwendig, die der Öffentlichkeit 
%unzugänglich sein sollen. Dies ist beispielsweise häufig bei 
%Diplomarbeiten der Fall, da sie eventuell firmeninterne Daten 
%enthalten.
%
%\DescOption{affidavit} Mit Hilfe diese Option wird die 
%eidesstattliche Versicherung\index{Versicherung (eidesstattlich)} 
%des Autos auf der letzten Seite der wissenschaftlichen Arbeit 
%aktiviert. Der Standard für die Verwendung der eidesstattlichen 
%Versicherung ist \defval{aus}. 
%
%Verwendet wird die eidesstattlichen Versicherung in der Regel 
%nur bei Diplomarbeiten. Daher kann bei Studienarbeiten, 
%Hausarbeiten oder Fallstudien grundsätzlich auf die eidesstattliche 
%Versicherung verzichtet werden.
%
%\DescOption{noheadrule} Diese Option schaltet die Linie zwischen 
%der Kopfzeile und dem restlichen Text aus. Der Standardwert 
%für die Verwendung dieser Trennlinie ist \defval{an}.
%
%\DescOption{nochapter} Diese Option schaltet die Anzeige des 
%Kapitels in der Kopfzeile aus. Der Standardwert für die Verwendung 
%des Kapitels in der Kopfzeile ist \defval{an}.
%
%\DescOption{coloredlinks} Die wissenschaftliche Arbeit zeigt 
%Hyperlinks in PDF"~Aus\-gabedateien in \emph{blau}. Der 
%Standardwert für die Hyperlinkfarbe ist \defval{schwarz}.
%
%\subsection{Makros}
%
%Werden in den Klassenoptionen entweder \option{moderntitle} oder 
%\option{classictitle} als Stil für die Titelseite angegeben, dann 
%ist die Angabe weiterer Informationen unumgänglich. Hierfür werden 
%von \fomsdt\ entsprechende Makros bereitgestellt.
%
%\DescMacro{\General} Dieser Wert legt die Art der wissenschaftlichen 
%Ausarbeitung fest. Es handelt sich hierbei um einen optionalen 
%Parameter. Der Standardwert ist \defval{Hausarbeit}. 
%
%\DescMacro{\Date} Dieser Wert gibt das Datum der wissenschaftlichen 
%Ausarbeitung an. Es handelt sich hierbei um einen optionalen 
%Parameter. Der Standardwert ist \defval{Essen, den \bs{}today}.
%
%\DescMacro{\Institute} Dieser Wert legt fest, an welcher Hochschule 
%die wissenschaftliche Ausarbeitung geschrieben wurde. Es handelt 
%sich hierbei um einen optionalen Parameter. Der Standardwert ist 
%\defval{FOM -- Fachhochschule für Oekonomie \& Management Essen}.
%
%\DescMacro{\Course} Dieser Wert definiert den Studiengang, für 
%den die wissenschaftliche Ausarbeitung geschrieben wurde. Es 
%handelt sich hierbei um einen optionalen Parameter. Der 
%Standardwert ist \defval{Berufsbegleitender Studiengang}.
%
%\DescMacro{\Semester} Dieser Wert gibt das Semester an, in dem 
%die wissenschaftliche Ausarbeitung erstellt wurde. Es handelt 
%sich hierbei um einen optionalen Parameter. Der Standardwert 
%ist \defval{\holder{nichts}}.
%
%\DescMacro{\Subject} Dieser Pflichtwert gibt entweder das Fach 
%oder das Thema der wissenschaftlichen Ausarbeitung an.
%
%\DescMacro{\Title} Dieser Pflichtwert definiert den Titel der 
%wissenschaftlichen Ausarbeitung.
%
%\DescMacro{\Professor} Dieser Pflichtwert legt den Betreuer des 
%Studierenden fest. Das Makro verfügt sowohl über einen optionalen 
%Parameter als auch über einen Pflichtparameter. Die Verwendung 
%erfolgt als {\small|\Professor|\oarg{Label}\marg{Name}}. Der 
%Standardwert für den optionalen Parameter \holder{Label} ist 
%\defval{Betreuer:}.
%
%\DescMacro{\Student} Dieser Pflichtwert legt den Autor der 
%wissenschaftlichen Ausarbeitung fest. Das Makro verfügt sowohl über 
%einen optionalen Parameter als auch über einen Pflichtparameter. Die 
%Verwendung erfolgt als {\small|\Student|\oarg{Label}\marg{Name}}. Der 
%Standardwert für den optionalen Parameter \holder{Label} ist 
%\defval{Autor:}.
%
%An dieser Stelle zur Illustration ein Beispiel zur Verwendung der 
%Parameter für die Titelseite\index{Beispiel>Titelblatt}.
%
%\begin{verbatim}
% \General{Hausarbeit}
% \Date{Stadt, den \today}
% \Institute{FOM}
% \Course{Berufsbegleitendes Studium}
% \Semester{6. Semester}
% \Subject{Hausarbeit}
% \Title{Betriebssysteme}
% \Professor[Betreuer:]{Prof. Karl Muster}
% \Student[Autor:]{Karin Muster (291067)}
% \maketitle
%\end{verbatim}
%
%Wird zur Erstellung der Arbeit das Programm \CommandIndex{pdflatex} 
%verwendet, dann besteht die Möglichkeit, zusätzliche Angaben über 
%das erstellte Dokument in den PDF"~Eigenschaften zu hinterlegen.
%
%Wird hingegen das Programm \CommandIndex{latex} anstelle von 
%\CommandIndex{pdflatex} zur Erstellung der Arbeit verwendet, dann 
%werden eventuell gesetzte PDF"~Eigenschaften ignoriert.
%
%In jedem Fall ist bei der Verwendung der im Folgenden beschriebenen 
%Makros zu beachten, dass sie in der Präambel, also noch vor der Zeile 
%{\small|\begin{document}|}, zu verwenden sind! 
%
%\DescMacro{\PDFTitle} Dieser Wert setzt die Eigenschaft \emph{Titel} 
%der PDF"~Aus\-ga\-be\-da\-tei. Der Standardwert ist 
%\defval{\holder{leer}}.
%
%\DescMacro{\PDFAuthor} Dieser Wert setzt die Eigenschaft \emph{Autor} 
%der PDF"~Aus\-ga\-be\-da\-tei. Der Standardwert ist 
%\defval{\holder{leer}}.
%
%\DescMacro{\PDFSubject} Dieser Wert  setzt die Eigenschaft 
%\emph{Thema} der PDF"~Aus\-ga\-be\-da\-tei. Der Standardwert 
%ist \defval{\holder{leer}}.
%
%\DescMacro{\PDFProducer} Dieser Wert setzt die Eigenschaft 
%\emph{Erzeuger} der PDF"~Aus\-ga\-be\-da\-tei. Der Standardwert 
%ist \defval{PDFLaTeX}.
%
%Zur Illustration hier ein Beispiel\index{Beispiel>PDF"~Eigenschaften} 
%zur Verwendung der zuvor genannten Makros.
%
%\begin{verbatim}
% \PDFTitle{Betriebssysteme}
% \PDFAuthor{Karin Muster}
% \PDFSubject{Hausarbeit}
% \PDFProducer{MiKTeX}
%\end{verbatim}
%
%Soll in einer wissenschaftlichen Ausarbeitung ein Sperrvermerk 
%verwendet werden, dann ist die Angabe weiterer Informationen 
%notwendig. Hierfür werden von \fomsdt\ die im Folgenden beschriebenen 
%Makros zur Verfügung gestellt.
%
%\DescMacro{\LockflagContent} Mit Hilfe des Makros 
%{\small|\LockflagContent|\oarg{Signatur}\marg{Inhalt}} ist es möglich, 
%den Inhalt des Sperrvermerks zu beeinflussen. Hierbei bestimmt der 
%Pflichtparameter \marg{Inhalt} den Text\index{Sperrvermerk>Text} 
%Sperrvermerks wie folgt:
%
%\OptExplain{\option{std}}{Wird {\small|\bs{}LockflagContent\{std\}|} 
%verwendet, dann enthält der Sperrvermerk einen Standardtext, der 
%bereits zum Zeitpunkt des Ladens der Dokumentenklasse \fomsdt\ 
%voreingestellt wird.}
%
%\OptExplain{\option{fom}}{Wird {\small|\bs{}LockflagContent\{fom\}|} 
%verwendet, dann enthält der Sperrvermerk einen FOM"~spezifischen 
%Text.}
%
%\OptExplain{\option{\dots}}{Wird weder \option{std} noch \option{fom} 
%als Parameter verwendet, dann enthält der Sperrvermerk den in 
%{\small|\{\dots\}|} angegebenen und somit frei wählbaren Text.}
%
%Der optionale Parameter \oarg{Signatur} erlaubt das explizite 
%Einschalten der Signatur\index{Sperrvermerk>Signatur} des 
%Sperrvermerks wie folgt:
%
%\OptExplain{\option{sig}}{Wird als optionaler Parameter \option{sig} 
%verwendet, dann enthält der Sperrvermerk eine aus den Feldern 
%{\small|(Ort, Datum)|} und {\small|(Eigenhändige Unterschrift)|} 
%bestehende Signatur.}
%
%\DescMacro{\LockflagDate} Dieses Makro wird verwendet, um Ort und 
%Datum der Signatur des Sperrvermerks festzulegen. Hierfür ist jedoch 
%die Angabe des optionalen Parameters \oarg{Signatur} des Markos 
%{\small|\LockflagContent|} notwendig. Anderenfalls hat die Verwendung 
%von {\small|\LockflagDate|} keine Auswirkung. Der Standardwert für 
%{\small|\LockflagDate|} ist \defval{\holder{leer}}.
%
%\DescMacro{\LockflagCompany} Dieses Makro wird verwendet, um den Namen 
%der Firma festzulegen, der innerhalb des Sperrvermerks zu verwenden 
%ist.  Der Standardwert ist \defval{???}.
%
%\DescOnlyNoIdx{Achtung!} Die Verwendung des Sperrvermerks verursacht 
%Abhängigkeiten\index{Sperrvermerk>Abhängigkeit} zu anderen 
%\fomsdt"~Makros, die an dieser Stelle kurz zusammengefasst werden:
%
%\begin{itemize}
%\item Wird {\small|\LockflagContent{fom}|} verdendet, dann werden 
%durch den FOM"~spezifischen Sperrvermerk die Inhalte der Makros 
%\MacroIndex{\General}, \MacroIndex{\Title} und 
%\MacroIndex{\LockflagCompany} verwendet!
%
%\item Wird {\small|\LockflagContent{std}|} verdendet, dann werden 
%durch den Standardsperrvermerk die Inhalte der Makros 
%\MacroIndex{\General} und \MacroIndex{\LockflagCompany} verwendet!
%
%\item Wird {\small|\LockflagContent|\marg{freier Text}} verdendet, 
%dann besteht keine Abhängigkeit zu anderen Makros!
%
%\item Wird {\small|\LockflagContent[sig]|\marg{Inhalt}} verdendet, 
%dann wird durch die Signatur des Sperrvermerks der Inhalt des Makros 
%\MacroIndex{\LockflagDate} verwendet!
%\end{itemize}
%
%\DescMacro{\LockflagHeader} Dieses Makro dient der Änderung 
%der Überschrift des Sperrvermerks. Hierfür wird im Parameter 
%\marg{Überschrift} der geänderte Text der Überschrift angegeben. 
%Der Standardwert für {\small|\LockflagHeader|} ist 
%\defval{\holder{Sperrvermerk}}.
%
%\DescMacro{\LockflagSigLeft} Dieses Makro wird verwendet, um den 
%linken Teil der Signatur des Sperrvermerks zu ändern. Hierfür wird 
%im Parameter \marg{lin\-ker Sig\-na\-tur\-teil} der geänderte Text 
%des linken Signatur\-teils angegeben. Der Standardwert für 
%{\small|\LockflagSigLeft|} ist \defval{\holder{(Ort, Datum)}}.
%
%\DescMacro{\LockflagSigRight} Dieses Makro wird verwendet, um den 
%rechten Teil der Sig\-na\-tur des Sperrvermerks zu ändern. Hierfür 
%wird im Parameter \marg{rech\-ter Sig\-na\-tur\-teil} der geänderte 
%Text des rechten Sig\-na\-tur\-teils angegeben. Der Standardwert 
%für {\small|\LockflagSigRight|} ist \defval{\holder{(Eigenhändige 
%Unterschrift)}}.
%
%\DescMacro{\AffidavitContent}
%Das Makro {\small|\AffidavitContent|\oarg{Signatur}\marg{Inhalt}} 
%ermöglicht es, den Inhalt der eidesstattlichen Versicherung zu 
%beeinflussen. Hierbei bestimmt der Pflichtparameter \marg{Inhalt} den 
%Text\index{Versicherung (eidesstattlich)>Text} der eidesstattlichen 
%Versicherung wie folgt:
%
%\OptExplain{\option{std}}{Wird {\small|\bs{}AffidavitContent\{std\}|} 
%verwendet, dann enthält die eidesstattliche Versicherung einen 
%Standardtext, der bereits zum Zeitpunkt des Ladens der 
%Dokumentenklasse \fomsdt\ voreingestellt wird.}
%
%\OptExplain{\option{\dots}}{Wird der Parameter \option{std} nicht 
%verwendet, dann enthält die eidesstattliche Versicherung den in 
%{\small|\{\dots\}|} angegebenen und somit frei wählbaren Text.}
%
%Der optionale Parameter \oarg{Signatur} erlaubt das explizite 
%Einschalten der Signatur\index{Versicherung (eidesstattlich)>Signatur} 
%der eidesstattlichen Versicherung wie folgt:
%
%\OptExplain{\option{sig}}{Wird als optionaler Parameter \option{sig} 
%verwendet, dann enthält die eidesstattliche Versicherung eine aus den 
%Feldern {\small|(Ort, Datum)|} und {\small|(Eigenhändige Unterschrift)|} 
%bestehende Signatur.}
%
%\DescMacro{\AffidavitDate} Dieses Makro wird verwendet, um Ort und 
%Datum der Signatur der eidesstattlichen Versicherung festzulegen. 
%Hierfür ist jedoch die Angabe des optionalen Parameters 
%\oarg{Signatur} des Markos {\small|\AffidavitContent|} notwendig. 
%Anderenfalls hat die Verwendung von {\small|\AffidavitDate|} keine 
%Auswirkung. Der Standardwert ist \defval{\holder{leer}}.
%
%\DescOnlyNoIdx{Achtung!} Die Verwendung der eidesstattlichen 
%Versicherung verursacht 
%Abhängigkeiten\index{Versicherung (eidesstattlich)>Abhängigkeit} 
%zu anderen \fomsdt"~Makros, die an dieser Stelle kurz zusammengefasst 
%werden:
%
%\begin{itemize}
%\item Wird {\small|\AffidavitContent{std}|} benutzt, dann wird von 
%der eidesstattlichen Versicherung der Inhalt des Makros 
%\MacroIndex{\General} verwendet!
%
%\item Wird {\small|\AffidavitContent|\marg{freier Text}} benutzt, 
%dann besteht keine Abhängigkeit zu anderen Makros!
%
%\item Wird {\small|\AffidavitContent[sig]|\marg{Inhalt}} benutzt, 
%dann wird durch die Signatur der eidesstattlichen Versicherung der 
%Inhalt des Makros \MacroIndex{\AffidavitDate} verwendet!
%\end{itemize}
%
%\DescMacro{\AffidavitHeader} Dieses Makro dient der Änderung der 
%Überschrift der eidesstattlichen Versicherung. Hierfür wird im 
%Parameter \marg{Ü\-ber\-schrift} der geänderte Text der Überschrift 
%angegeben. Der Standardwert für {\small|\AffidavitHeader|} ist 
%\defval{\holder{Eh\-ren\-wört\-liche Er\-klä\-rung}}.
%
%\DescMacro{\AffidavitSigLeft} Dieses Makro wird verwendet, um den 
%linken Teil der Sig\-na\-tur der eidesstattlichen Versicherung zu 
%ändern. Hierfür wird im Parameter \marg{linker Signatur\-teil} der 
%geänderte Text des linken Signatur\-teils angegeben. Der Standardwert 
%für {\small|\AffidavitSigLeft|} ist \defval{\holder{(Ort, Datum)}}.
%
%\DescMacro{\AffidavitSigRight} Dieses Makro wird verwendet, um den 
%rechten Teil der Sig\-na\-tur der eidesstattlichen Versicherung zu 
%ändern. Hierfür wird im Parameter \marg{rechter Signatur\-teil} der 
%geänderte Text des rechten Signatur\-teils angegeben. Der Standardwert 
%für {\small|\AffidavitSigRight|} ist \defval{\holder{(Eigenhändige 
%Unterschrift)}}.
%
%Zur Unterstützung der Verständlichkeit der zuvor beschriebenen 
%Zusammenhänge hier noch einige Beispiele zur Verwendung des 
%Sperrvermerks und der eidesstattlichen Versicherung.
%
%\index{Beispiel>Sperrvermerk}\begin{verbatim}
% % Ein Dokument mit Titelseite und Sperrvermerk für 
% % wissenschaftliche Arbeiten aber OHNE eidesstattliche 
% % Versicherung. Der Sperrvermerk 'fom', der Inhalt von 
% % \General und die Signatur inklusive Signaturdatum 
% % werden verwendet.
% \documentclass[lockflag,classictitle]{fomsdt}
% \begin{document}
% \General{Fallstudie}
% \Title{Betriebssysteme}
% \Professor{Prof. Karl Muster}
% \Student{Karin Muster (291067)}
% \LockflagDate{Essen, den \today}
% \LockflagCompany{Müller GmbH \& Co KG}
% \LockflagContent[sig]{fom}
% \maketitle% Sperrvermerk wird erzeugt!
% Der Text des Dokuments ...
% \end{document}
%\end{verbatim}
%
%\index{Beispiel>Versicherung (eidesst.)}\vspace{2\parskip}
%\begin{minipage}{\textwidth}
%\begin{verbatim}
% % Ein Dokument mit Titelseite und eidesstattlicher
% % Versicherung für wissenschaftliche Arbeiten aber 
% % OHNE Sperrvermerk. Die eidesstattliche Versicherung 
% % verwendet einen freien Text ohne Signatur.
% \documentclass[affidavit,classictitle]{fomsdt}
% \AffidavitContent{Hiermit versichere ich ...} 
% \begin{document}
% \General{Fallstudie}
% \Title{Betriebssysteme}
% \Professor{Prof. Karl Muster}
% \Student{Karin Muster (291067)}
% \maketitle
% Der Text des Dokuments ...
% \end{document}% Eidesst. Versicherung wird erzeugt!
%\end{verbatim}
%\end{minipage}\vspace{2\parskip}
%
%\section{Dokumentenbeginn}
%
%Jede wissenschaftliche Arbeit beginnt\index{Dokumentenbeginn} mit 
%einer Reihe von Verzeichnissen, welche die Struktur der Arbeit 
%widerspiegeln. Die Bereitstellung dieser Verzeichnisse ist Aufgabe 
%von \fomdss, welche in der Datei \FileIndex{\fomdsssty} implementiert 
%ist.
%
%\DescMacro{\usepackage}
%Die Verwendung des Stils \fomdss\ erfolgt analog der Verwendung 
%aller anderen \LaTeX"~Stildateien. Somit wird in der Präambel 
%der Hauptdatei eines neuen Dokuments die Zeile 
%{\small|\usepackage|\oarg{Optionen}|{fomdss}|} eingetragen.
%
%Die Angabe mehrerer Parameter im Optionsteil des Kommandos 
%{\small|\usepackage|} ist möglich, wobei einzelne Optionen durch 
%ein Komma voneinander getrennt werden.
%
%Zur Illustration ein 
%Beispieldokument\index{Beispiel>Inhaltsverzeichnis}, das ein 
%Inhaltsverzeichnis mit einer Haupt"~ und zwei Unterüberschriften 
%erzeugt. Der Bezeichner des Inhaltsverzeichnisses wird ebenfalls 
%mit in das generierte Inhaltsverzeichnis eingetragen.
%
%\begin{verbatim}
% \documentclass{fomsdt}
% \usepackage[toctotoc]{fomdss}
% \begin{document}
% \PrintContents
% \section{Überschrift 1}
% \subsection{Überschrift 1.1}
% \subsection{Überschrift 1.2}
% \end{document}
%\end{verbatim}
%
%\subsection{Optionen}
%
%Zur Steuerung des Layouts der verwendeten Verzeichnisse verfügt 
%\fomdss\ über die im Folgenden gezeigten Optionen. Bei unbekannten 
%oder nicht unterstützten Optionen wird eine Warnmeldung ausgegeben, 
%die zur Information des Benutzers dient.
%
%\DescOption{toctotoc} Diese Option fügt die Überschrift des 
%Inhaltsverzeichnisses mit in das Inhaltsverzeichnis selbst ein. Der 
%Standardwert ist \defval{nicht einfügen}.
%
%\DescOption{nopagebreak} Diese Option verhindert den erzwungenen 
%Seitenwechsel nach jeweils dem Abkürzungs"~, dem Abbildungs"~ und 
%dem Tabellenverzeichnis. Sie kann besonders bei kurzen Verzeichnissen 
%nützlich sein. Dies gilt jedoch nicht für das Inhaltsverzeichnis! 
%Der Standardwert ist \defval{Seitenumbruch}.
%
%\DescOption{abbreviation} Diese Option legt fest, ob das 
%Abkürzungsverzeichnis überhaupt erzeugt werden soll. Dies ist 
%notwendig, da das Abkürzungsverzeichnis mit Hilfe des Pakets 
%\DependsIndex{nomencl} erstellt wird, das standardmäßig \emph{nicht} 
%installiert ist! Bei Verwendung dieser Option wird auf der Ausgabe 
%eine Meldung angezeigt, wie unter Verwendung des Programms 
%\CommandIndex{makeindex} das Abkürzungsverzeichnis erstellt werden 
%muss. Der Standardwert ist \defval{nicht verwenden}.
%
%\DescOption{abbrevrefpage} Diese Option legt fest, ob im 
%Abkürzungsverzeichnis eine Seitenreferenz für das jeweils erste 
%Auftreten einer Abkürzung innerhalb des Textes enthalten sein soll. 
%Sie ist aber nur dann wirksam, wenn \fomdss\ ebenfalls mit der Option 
%\option{abbreviation} geladen wird. Anderenfalls hat die Option 
%\option{abbrevrefpage} keine Auswirkungen. Als Standardwert wird 
%\defval{keine Seitenreferenz} im Abkürzungsverzeichnis verwendet.
%
%\subsection{Makros}
%
%Ungeachtet der Ladeoptionen werden von \fomdss\ zur Erstellung 
%verschiedener Verzeichnisses die hier gezeigten Makros zur Verfügung 
%gestellt.
%
%\DescMacro{\PrintContents} Dieses Makro dient der Erzeugung des 
%Inhaltsverzeichnisses\index{Inhaltsverzeichnis}. Es verfügt über einen 
%optionalen Parameter zur Anpassung des Titels dieses Verzeichnisses. 
%Als Standardwert wird \defval{Inhalt} verwendet.
%
%\DescMacro{\PrintFigures} Dieses Makro dient der Erzeugung des 
%Abbildungsverzeichnisses\index{Abbildungsverzeichnis}. Es verfügt 
%über einen optionalen Parameter zur Anpassung des Titels dieses 
%Verzeichnisses. Als Standardwert wird \defval{Abbildungen} verwendet.
%
%\DescMacro{\PrintTables} Dieses Makro dient der Erzeugung des 
%Tabellenverzeichnisses\index{Tabellenverzeichnis}. Es verfügt 
%über einen optionalen Parameter zur Anpassung des Titels dieses 
%Verzeichnisses. Als Standardwert wird \defval{Tabellen} verwendet.
%
%Wurde \fomdss\ zuvor mit der Option \option{abbreviation} 
%geladen, dann stehen spezielle Makros zur Erzeugung des 
%Abkürzungsverzeichnisses bereit.
%
%\DescMacro{\PrintAbbrev} Dieses Makro dient der Erzeugung des 
%Abkürzungsverzeichnisses\index{Abkürzungsverzeichnis}. Es verfügt 
%über einen optionalen Parameter zur Anpassung des Titels dieses 
%Verzeichnisses. Als Standardwert wird \defval{Abkürzungen} verwendet.
%
%\DescMacro{\Abbrev} Mit Hilfe des Makros 
%{\small|\Abbrev|\marg{Abkürzung}\marg{Beschreibung}} werden innerhalb 
%des normalen Textes die Passagen markiert, die später in das 
%Abkürzungsverzeichnis übernommen werden sollen. Dabei beinhaltet der 
%erste Parameter die Abkürzung selbst und der zweite Parameter enthält 
%die Bedeutung der im ersten Parameter angegebenen Abkürzung. Siehe 
%hierzu nachfolgendes Beispiel.
%
%\DescMacro{\Mark} Das Makro {\small|\Mark|\marg{Buchstabe}} dient der 
%Hervorhebung der relevanten Buchstaben innerhalb der Beschreibung 
%einer Abkürzung. Alle hierdurch eingefassten Buchstaben werden später 
%im Abkürzungsverzeichnis unterstrichen dargestellt. Siehe hierzu 
%nachfolgendes Beispiel.
%
%Zur Illustration und zur Verbesserung des Verständnisses der 
%Verwendung der Makros {\small|\Abbrev|} und {\small|\Mark|} 
%an dieser Stelle das bereits angekündigte 
%Beispiel\index{Beispiel>Abkürzungsverzeichnis}.
%
%\begin{verbatim}
% \documentclass{fomsdt}
% \usepackage[abbreviation]{fomdss}
% \begin{document}
% \PrintAbbrev
% \Abbrev{IC} {\Mark{I}ntegrated \Mark{C}ircuit}
% \Abbrev{PIN}{\Mark{P}ersonal \Mark{I}dentification 
%              \Mark{N}umber}
% \end{document}
%\end{verbatim}
%
%Der dargestellt Codeschnipsel bewirkt, dass im Abkürzungsverzeichnis 
%die beiden Einträge \defval{IC} und \defval{PIN} wie folgt hinzugefügt 
%werden:
%
%\begin{list}{}{
%    \setlength{\leftmargin}{.2\textwidth}
%    \setlength{\labelwidth}{\leftmargin}
%    \setlength{\labelsep}{0pt}
%    \renewcommand{\makelabel}[1]{\textbf{#1}\ \dotfill\space}}
%    \item[IC]{\uline{I}ntegrated \uline{C}ircuit}
%    \item[PIN]{\uline{P}ersonal \uline{I}dentification \uline{N}umber}
%\end{list}
%
%\DescOnlyNoIdx{Hinweis\index{Abkürzungsverzeichnis>Hinweis}} Für die 
%Darstellung von Abkürzungen, Punkte inklusive, wird im 
%Abkürzungsverzeichnis die fest eingestellte Breite von 20\% der 
%aktuellen Textbreite verwendet. In den meisten Fällen ist dies auch 
%völlig ausreichend. Sollte die voreingestellte Standardbreite jedoch 
%einmal nicht ausreichend sein, kann sie mit Hilfe des Kommandos
%
%\begin{example}
%| \setlength{\nomlabelwidth}{|\holder{Breite}|}|
%\end{example}
%
%neu eingestellt werden. Diese Anpassung kann sowohl in der Präambel 
%als auch direkt vor Aufruf des Makros \MacroIndex{\PrintAbbrev} 
%erfolgen.
%
%Die Änderung des Layouts der im Abkürzungsverzeichnis eingetragenen 
%Abkürzungen ist ebenfalls möglich. Hierfür wird dann das folgende 
%Kommando verwendet:
%
%\begin{example}
%| \renewcommand{\nomlabel}[1]{|\holder{Formatierung}|}|
%\end{example}
%
%Möchte man zum Beispiel die Abkürzungen des Abkürzungsverzeichnisses 
%als schräg gestellten Text und ohne Füllpunkte darstellen, dann kann 
%dies durch Anwendung des Kommandos 
%
%\begin{example}
%| \renewcommand{\nomlabel}[1]{\textsl{#1}}|
%\end{example}
%
%erreicht werden. Auch hierbei gilt, dass die Anpassung entweder in der 
%Präambel oder direkt vor Aufruf des Makros \MacroIndex{\PrintAbbrev} 
%erfolgen sollte.
%
%Unter Umständen kann es sinnvoll sein, die im Abkürzungsverzeichnis 
%verwendete Standardseitenreferenz zu ändern. Soll nun beispielsweise 
%die Seitenreferenz in \defval{, page \holder{Seite}} geändert werden, 
%dann kann dies durch die Anwendung des folgenden Kommandos erfolgen:
%
%\begin{example}
%| \renewcommand{\pagedeclaration}[1]{, page~#1}|
%\end{example}
%
%Wie oben bereits angesprochen, wird zur Erzeugung des 
%Abkürzungsverzeichnisses ein spezielles \LaTeX"~Paket verwendet. 
%Dieses Paket wird \emph{nur} zusammen mit dem Programm 
%\CommandIndex{makeindex}, in Verbindung mit speziellen 
%Aufrufparametern, verwendet. Daher an dieser Stelle die Syntax zur 
%Verwendung von \file{makeindex} zur Erstellung des 
%Abkürzungsverzeichnisses.
%
%\begin{example}
%| $ |\CommandIndex{makeindex}| <file>.nlo -s nomencl.ist -o <file>.nls|
%\end{example}
%
%\section{Dokumentenende}
%
%Jede wissenschaftliche Arbeit endet\index{Dokumentenende} mit 
%einer Reihe von Verzeichnissen, die dem Leser als zusätzlich 
%Informationsquelle dienen. Die Bereitstellung dieser Verzeichnisse 
%ist Aufgabe von \fomdes, welche in der Datei \FileIndex{\fomdessty} 
%implementiert ist.
%
%\DescMacro{\usepackage}
%Die Verwendung des Stils \fomdes\ erfolgt analog der Verwendung aller 
%anderen \LaTeX"~Stildateien. Somit wird in der Präambel der Hauptdatei 
%eines neuen Dokuments die Zeile 
%{\small|\usepackage|\oarg{Optionen}|{fomdes}|} eingetragen.
%
%Die Angabe mehrerer Parameter im Optionsteil des Kommandos 
%{\small|\usepackage|} ist möglich, wobei einzelne Optionen durch 
%ein Komma voneinander getrennt werden.
%
%\subsection{Optionen}
%
%Zur Wahl der Verzeichnisse am Ende einer wissenschaftlichen Arbeit 
%verfügt \fomdes\ über die im Folgenden gezeigten Optionen. Bei 
%unbekannten oder nicht unterstützten Optionen wird eine Warnmeldung 
%ausgegeben, die zur Information des Benutzers dient.
%
%\DescOption{listings} Diese Option aktiviert die Verwendung des 
%Verzeichnisses für Codelistings\index{Gleitobjekt>Codelisting}. Der 
%Standardwert für die Verwendung des Verzeichnisses für Codelistings 
%ist \defval{aus}. 
%
%\DescOption{glossary} Diese Option aktiviert die Verwendung des 
%Glossars\index{Glossar} beziehungsweise des 
%Sachwortverzeichnisses\index{Sachwortverzeichnis\See{Glossar}}. 
%Der Standardwert für die Verwendung des Glossars ist \defval{aus}. 
%Wird diese Option verwendet, dann wird während des Kompilierens eine 
%Meldung ausgegeben, die den Benutzer darauf hinweist, dass zur 
%Erstellung des Glossars das Kommando 
%\CommandIndex{bibtex}| <file>.gls| aufgerufen werden muss.
%
%\DescOption{glossrefpage} Diese Option legt fest, ob im 
%Sachwortverzeichnis eine Seitenreferenz für das jeweils erste 
%Auftreten eines Glossareintrages enthalten sein soll. Sie ist aber 
%nur dann wirksam, wenn \fomdes\ ebenfalls mit der Option 
%\option{glossary} geladen wird. Anderenfalls hat die Option 
%\option{glossrefpage} keine Auswirkungen. Als Standardwert wird 
%\defval{keine Seitenreferenz} im Glossar verwendet.
%
%\DescOption{nobibliography} Diese Option verhindert die Aktivierung 
%des Literaturverzeichnisses\index{Literaturverzeichnis}. Der 
%Standardwert für die Verwendung des Literaturverzeichnisses ist 
%\defval{an}. Wird diese Option \emph{nicht} verwendet, dann wird 
%während des Kompilierens eine Meldung ausgegeben, die den Benutzer 
%darauf hinweist, dass zur Erstellung des Literaturverzeichnisses das 
%Kommando \CommandIndex{bibtex}| <file>.aux| aufgerufen werden muss.
%
%\DescOption{index} Diese Option aktiviert die Verwendung des 
%Indexes\index{Index} beziehungsweise des 
%Stichwortverzeichnisses\index{Stichwortverzeichnis\See{Index}}.
%Der Standardwert für die Indexerzeugung ist \defval{aus}. Wird diese 
%Option verwendet, dann wird während des Kompilierens eine Meldung 
%ausgegeben, die den Benutzer darauf hinweist, dass zur Erstellung des 
%Indexes das Kommando \CommandIndex{makeindex}| <file>.idx| aufgerufen 
%werden muss.
%
%\DescOption{nopagebreak} Diese Option verhindert den erzwungenen 
%Seitenwechsel nach jeweils jedem der oben beschriebenen Verzeichnisse. 
%Sie kann besonders bei kurzen Verzeichnissen nützlich sein. Der 
%Standardwert ist \defval{Seitenumbruch}.
%
%\subsection{Makros}
%
%\DescMacro{\PrintListings} 
%Das Makro {\small|\PrintListings|\oarg{Überschrift}} dient der 
%Erstellung des Verzeichnisses für Codelistings. Hierbei ist es durch 
%den optionalen Parameter möglich, die Überschrift des 
%Listingverzeichnisses zu ändern. Der Standardwert für die Überschrift 
%des Listingverzeichnisses ist \defval{Listings}. 
%
%Zur Aktivierung des Makros \MacroIndex{\PrintListings} ist es 
%notwendig, den Stil \fomdes\ zuvor mit der Option 
%\OptionIndex{listings} zu laden. Anderenfalls bleibt die Verwendung 
%von \MacroIndex{\PrintListings} wirkungslos.
%
%\DescMacro{\PrintGlossary} 
%Das Makro {\small|\PrintGlossary| \oarg{Üb\-er\-schrift} 
%\optionex{all} \marg{Glos\-sar\-da\-tei}} dient der Erstellung des 
%Glossars oder auch Sachwortverzeichnisses. Dieses Makro verfügt, im 
%Gegensatz zu dem zuvor beschriebenen Makro, nicht nur über optionale 
%Parameter, sondern auch über einen Pflichtparameter!
%
%Mit Hilfe der Option \oarg{Überschrift} kann die Überschrift des 
%Glossars individuell verändert werden. Der Standardwert für die 
%Glossarüberschrift ist \defval{Glossar}.
%
%Der zweite optionale Parameter \optionex{all} erzwingt die Ausgabe 
%aller in der Bibliothek vorhandenen Glossareinträge. Dieser Parameter 
%ist besonders dann hilfreich, wenn in der Glossarbibliothek 
%zusätzliche Datensätze vorhanden sind, die zuvor im Text noch nicht 
%verwendet wurden.
%
%\DescOnlyNoIdx{Achtung!\index{Glossar>Achtung}} Die Angabe des 
%optionalen Parameters \optionex{all} führt zur Warnmeldung 
%\option{Package gloss Warning: Term '*' on page \holder{n} not 
%defined in glossary 'default' on input line \holder{m}}!
%
%\DescOnlyNoIdx{Empfehlung\index{Glossar>Empfehlung}} Von der 
%Verwendung des Parameters \optionex{all} sollte \emph{nur} zu 
%Testzwecken und in Ausnahmefällen Gebrauch gemacht werden, da 
%Sachwortverzeichnisse in wissenschaftlichen Arbeiten ausschließlich 
%Begriffe enthalten, die auch im Text verwendet werden!
%
%Auf Grund der Tatsache, dass \fomdes\ zur Erzeugung eines Glossars 
%das Packet \DependsIndex{gloss} verwendet, müssen die einzelnen 
%Glossareinträge in einer externen Datei gespeichert werden. Die 
%Angabe dieses Dateinamens ist Aufgabe des Pflichtparameters 
%\marg{Glossardatei}. Diese Angabe erfogt jedoch immer \emph{ohne} 
%die Dateiendung!
%
%Da die Erstellung eines Glossars etwas komplexer ist, soll das 
%folgende Beispiel\index{Beispiel>Glossar} der Darstellung aller 
%notwendigen Schritte zur Erstellung des Glossars dienen.
%
%\begin{itemize}
%\item Als erstes wird unter dem Dateinamen \file{glsbsp.bib} die 
%Bibliothek des Glossars angelegt und in dieser Datei der Datensatzes 
%"`gls1"' wie folgt eingetragen:
%
%\begin{verbatim}
% @GLOSSDEF{gls1,
%   word       = {Lange Beschreibung},
%   short      = {kurz},
%   definition = {Hier ist beschrieben, 
%                 was "`kurz"' bedeutet.}}
%\end{verbatim}
%
%\item Im nächsten Schritt wird ein \LaTeX"~Dokument mit dem Dateinamen 
%\file{glsbsp.tex} erzeugt, welches über den folgenden Inhalt verfügt:
%
%\begin{verbatim}
% \documentclass{fomsdt}
% \usepackage[glossary,nopagebreak]{fomdes}
% \begin{document}
% In diesem Text befindet sich 
% "`\gloss[short]{gls1}"' ein Hinweis 
% auf {\bf\gloss{gls1}}.
% % glsbsp.bib OHNE .bib einbinden!
% \PrintGlossary{glsbsp}
% \end{document}
%\end{verbatim}
%
%\item Nachdem zuvor alle Dateien gespeichert wurden, kann mit dem 
%Kompiliervorgang begonnen werden. Hierfür sind die folgenden Kommandos 
%der Reihe nach auszuführen:
%
%\begin{verbatim}
% $ pdflatex glsbsp.tex
% $ bibtex glsbsp.gls
% $ pdflatex glsbsp.tex
% $ pdflatex glsbsp.tex
%\end{verbatim}
%
%\end{itemize}
%
%\DescOnlyNoIdx{Hinweis\index{Glossar>Hinweis}} Werden in der 
%Glossarbibliothek Datensätze hinzugefügt oder geändert, ist ein 
%erneuter Aufruf des Programms \CommandIndex{bibtex} erforderlich!
%
%Unter Umständen kann es sinnvoll sein, die im Glossar verwendete 
%Standardseitenreferenz zu ändern. Soll nun beispielsweise die 
%voreingestellte Seitenreferenz \defval{(Seite \holder{Seite})} 
%in zum Beispiel \defval{(see page \holder{Seite})} geändert werden, 
%dann kann dies durch die Anwendung des folgenden Kommandos erfolgen:
%
%\begin{example}
%| \renewcommand{\glosspage}[1]{\space(see page~#1)}|
%\end{example}
%
%An dieser Stelle noch die vom Paket \DependsIndex{gloss} unterstützten 
%Schlüsselwörter zur Definition von Datensätzen in einer 
%Glossarbibliothek.
%
%\begin{verbatim}
% @GLOSSDEF{label,             % Pflichtangabe
%   word       = "word",       % Pflichtangabe
%   definition = "definition", % Pflichtangabe
%   short      = "short",      % Optional
%   sort-word  = "sort-word",  % Optional
%   group      = "group",      % Optional
%   heading    = "heading"     % Optional
% }
%\end{verbatim}
%
%\DescMacro{\PrintBibliography} Das Makro 
%{\small|\PrintBibliography|\oarg{Überschrift}\oarg{Stil}\marg{Litera\-turdatei}} 
%dient der Erstellung des Literaturverzeichnisses. Es verfügt ebenfalls 
%über zwei optionale Parameter und auch über einen Pflichtparameter!
%
%Mit Hilfe der Option \oarg{Überschrift} kann die Überschrift 
%des Literaturverzeichnisses individuell verändert werden. Der 
%Standardwert für die Überschrift des Literaturverzeichnisses ist 
%\defval{Literatur}.
%
%Der zweite optionale Parameter \oarg{Stil} ermöglicht die Änderung 
%des Layouts des zu erstellenden Literaturverzeichnisses. Als Angabe 
%wird hier der Name einer Datei mit der Endung \file{.bst} erwartet! 
%Der Standardwert für das Layout des Literaturverzeichnisses ist das 
%DIN"~gerechte Layout \defval{dinat}.
%
%\DescOnlyNoIdx{Empfehlung\index{Literaturverzeichnis>Empfehlung}} Für 
%die Erstellung wissenschaftlicher Arbeiten wird von der Verwendung der 
%Option \oarg{Stil} abgeraten, da dies ein Abweichen vom DIN"~gerechten 
%Standardlayout zur Folge hat!
%
%Auf Grund der Tatsache, dass \fomdes\ zur Erzeugung des 
%Literaturverzeichnisses das Packet \DependsIndex{natbib} verwendet, 
%müssen die einzelnen Literaturverweise in einer externen Datei 
%gespeichert werden. Die Angabe dieses Dateinamens ist Aufgabe des 
%Pflichtparameters \marg{Literaturdatei}. Diese Angabe erfogt jedoch 
%immer \emph{ohne} die Dateiendung!
%
%Da die Erstellung eines Literaturverzeichnisses etwas komplexer ist, 
%soll das folgende Beispiel\index{Beispiel>Literaturverzeichnis} der 
%Darstellung aller notwendigen Schritte zur Erstellung des 
%Literaturverzeichnisses dienen.
%
%\begin{itemize}
%\item Als erstes wird unter dem Dateinamen \file{litbsp.bib} die 
%Literaturbibliothek angelegt und in dieser Datei der Datensatzes 
%"`bib1"' wie folgt eingetragen:
%
%\begin{verbatim}
% @BOOKLET{bib1,
%   title   = {The Art of Computer Programming},
%   author  = {Donald~E. Knuth},
%   year    = {1999},
%   month   = {Januar},
%   url     = {http://www.amazon.de/},
%   urldate = {2007-08-01}}
%\end{verbatim}
%
%Der hier gezeigten Datensatz dient ausschließlich zur Demonstration! 
%Aus diesem Grund wird an dieser Stelle auf die umfangreich vorhandene 
%Literatur zur Erstellung von Literaturverzeichnissen verwiesen, da 
%eine ausführliche Beschreibung der vielfältigen 
%Variationsmöglichkeiten den Rahmen dieser Anleitung sprengen würde.
%
%\item Im nächsten Schritt wird ein \LaTeX"~Dokument mit dem Dateinamen 
%\file{litbsp.tex} erzeugt, welches über den folgenden Inhalt verfügt:
%
%\begin{verbatim}
% \documentclass{fomsdt}
% \usepackage[nopagebreak]{fomdes}
% \begin{document}
% In diesem Text befindet sich ein Verweis 
% auf eine Literaturquelle~\cite{bib1}.
% % litbsp.bib OHNE .bib einbinden!
% \PrintBibliography{litbsp}
% \end{document}
%\end{verbatim}
%
%\item Nachdem zuvor alle Dateien gespeichert wurden, kann mit dem 
%Kompiliervorgang begonnen werden. Hierfür sind die folgenden Kommandos 
%der Reihe nach auszuführen:
%
%\begin{verbatim}
% $ pdflatex litbsp.tex
% $ bibtex litbsp.aux
% $ pdflatex litbsp.tex
% $ pdflatex litbsp.tex
%\end{verbatim}
%
%Zu bemerken bleibt noch, dass einige Versionen des Programms 
%\CommandIndex{bibtex} die Angabe der Dateiendung \file{.aux} 
%erlauben und andere Implementierungen die Annahme dieser 
%Dateiendung verweigern. In diesem Fall würde dann das 
%Kommandos \CommandIndex{bibtex}| <file>.aux| zu einer 
%Fehlermeldung führen, die in etwa \option{I couldn't open file 
%name `litbsp.aux.aux'} lautet. In einem solchen Fall sollte dann 
%die Dateiendung einfach weggelassen werden.
%
%\end{itemize}
%
%\DescOnlyNoIdx{Hinweis\index{Literaturverzeichnis>Hinweis}} Werden 
%in der Literaturbibliothek Datensätze hinzugefügt oder geändert, ist 
%ein erneuter Aufruf des Programms \CommandIndex{bibtex} erforderlich!
%
%\DescMacro{\PrintIndex} 
%Das Makro {\small|\PrintIndex|\oarg{Überschrift}\oarg{Spalten}} dient 
%der Erstellung des Indexes. Hierbei ist es möglich, über die beiden 
%optionalen Parameter, das Aussehen des Stichwortverzeichnisses zu 
%beeinflussen.
%
%Mit Hilfe der Option \oarg{Überschrift} kann die Überschrift des 
%Indexes individuell verändert werden. Der Standardwert für die 
%Indexüberschrift ist \defval{Index}.
%
%Mit Hilfe der Option \oarg{Spalten} ist es möglich, die Anzahl der 
%Spalten des Stichwortverzeichnisses zu variieren. Gültige Werte für 
%die Spaltenzahl sind:
%
%\OptExplain[15mm]{\option{single}}{Wird 
%{\small|\bs{}PrintIndex[...][single]|} verwendet, dann besteht das 
%Stichwortverzeichnisses aus einer einzelnen Spalte.}
%
%\OptExplain[15mm]{\option{double}}{Wird 
%{\small|\bs{}PrintIndex[...][double]|} verwendet, dann besteht das 
%Stichwortverzeichnisses aus zwei Spalten.}
%
%\OptExplain[15mm]{\option{triple}}{Wird 
%{\small|\bs{}PrintIndex[...][triple]|} verwendet, dann besteht das 
%Stichwortverzeichnisses aus drei Spalten.}
%
%Wird der optionale Parameter \oarg{Spalten} nicht angegeben, dann 
%wird \defval{double} als Standardwert für die Anzahl der Spalten des 
%Stichwortverzeichnisses verwendet.
%
%Das folgende kleine Beispiel\index{Beispiel>Index} demonstriert die 
%Verwendung des Makros \MacroIndex{\PrintIndex} in Verbindung mit der 
%zur Aktivierung notwendigen Paketoption \OptionIndex{index}.
%
%\begin{verbatim}
% \documentclass{fomsdt}
% \usepackage[index]{fomdes}
% \begin{document} 
% Dieser Text\index{Text} verwendet einen 
% Index\index{Index\see{Text}} mit zwei 
% Einträgen sowie einem Querverweis im 
% Index selbst.
% \PrintIndex
% \end{document}
%\end{verbatim}
%
%\DescOnlyNoIdx{Besonderheit\index{Index>Besonderheit}} Im Zusammenhang 
%mit der Erstellung eines Stichwortverzeichnisses sind es noch einige 
%Besonderheiten zu beachten. Grundsätzlich gilt hierbei, dass die 
%alleinige Aktivierung des Indexes, zum Beispiel durch die Verwendung 
%von \MacroIndex{\PrintIndex}, nicht ausreicht, um den Index auch 
%tatsächlich in das erzeugte Dokument zu übertragen. Hierfür ist 
%zusätzlich der Aufruf des Programms \CommandIndex{makeindex} 
%erforderlich!
%
%Weiterhin ist die Einhaltung eine bestimmte 
%Reihenfolge\index{Index>Reihenfolge} der Schritte zur 
%Dokumentenerstellung notwendig. Diese Reihenfolge soll nun näher 
%erläutert werden:
%
%\begin{itemize}
%\item Das Dokument wird zuerst einmal kompiliert. Dies kann durch das 
%  Kommando \CommandIndex{pdflatex}{\small| <file>.tex|} erfolgen.
%\item Nun \emph{muss} das Dokument ein zweites mal kompiliert werden! 
%  Somit erfolgt eine erneute Anwendung des Kommandos 
%  \CommandIndex{pdflatex}{\small| <file>.tex|}. Dieser zweite 
%  Kompiliervorgang ist erforderlich, da erst hiernach alle 
%  Querverweise auf die "`richtigen"' Seiten verweisen!
%\item Erst jetzt kann das Stichwortverzeichnis richtig erstellt 
%  werden. Dies geschieht durch Anwendung des Kommandos 
%  \CommandIndex{makeindex}{\small| <file>.idx|}.
%\item Abschließend wird das Dokument ein weiteres mal mit dem Befehl 
%  \CommandIndex{pdflatex}{\small| <file>.tex|} kompiliert.
%\end{itemize}
%
%\DescOnlyNoIdx{Empfehlung\index{Index>Empfehlung}} Da die 
%Indexerstellung mit der zuvor gezeigten Methode einige Probleme, wie 
%beispielsweise die fehlerhafte Anzeige deutscher Umlaute, verursacht, 
%wird anstelle des Kommandos 
%\CommandIndex{makeindex}{\small| <hauptdatei>.idx|} die Erzeugung des 
%Stichwortverzeichnisses wie folgt empfohlen\index{Index>Empfehlung}:
%
%\begin{example}
%| $ |\CommandIndex{makeindex}| <file>.idx -g -s |\FileIndex{\fomidxist}
%\end{example}
%
%\DescMacro{\SeeAlso} 
%Das Makro {\small|\SeeAlso|\marg{Verweis}} ist für die einheitliche 
%Formatierung von Querverweisen innerhalb des Indexes oder auch für 
%Glossareinträge sehr hilfreich. Es erzeugt einen kleinen Pfeil mit 
%dahinter befindlichen schräg gestelltem Text. Diese Art der 
%Formatierung dient der besseren Hervorhebung. 
%
%Mit Hilfe der Option \marg{Verweis} kann nicht nur reiner Text 
%verarbeitet werden, vielmehr besteht auch die Möglichkeit, weitere 
%Makros mit einzubinden, wie folgende kleine Beispiele demonstrieren.
%
%Das erste Beispiel\index{Beispiel>Index} veranschaulicht die 
%Verwendung des Makros \MacroIndex{\SeeAlso} im Zusammenhang mit 
%Querverweisen innerhalb eines Indexes. Nimmt man zum Beispiel an, 
%dass im Index des Dokuments bereits ein Eintrag für "`Bildschirm"' 
%existiert und möchte man nun den Eintrag "`Monitor"' mit einem 
%Querverweis auf "`Bildschirm"' zum Index hinzufügen, dann würde man 
%im Quelltext des Dokuments folgendes eingeben:
%
%\begin{verbatim}
% ... Dieser Monitor\index{Monitor\SeeAlso{Bildschirm}} 
% zeigt die Zustandsparameter des Gesamtsystems, ...
%\end{verbatim}
%
%Nach erneuter Erstellung des Ausgabedokuments stellt sich das 
%Ergebnis im Index wie folgt dar:
%
%\begin{example}
%Monitor $\to$ \textsl{Bildschirm} \dots\dots \holder{Seite}
%\end{example}
%
%Das zweite Beispiel\index{Beispiel>Glossar} zeigt die Verwendung 
%des Makros \MacroIndex{\SeeAlso} zusammen mit den Einträgen eines 
%Glossars. Hierfür wird angenommen, dass in der Glossardatei 
%\file{glsbsp.bib} die beiden Datensätze "`pin"' und "`pinpad"' 
%bereits eingefügt wurden. Nun wird unter Anwendung des Makros 
%\MacroIndex{\SeeAlso} im Feld \option{definition} des Datensatzes 
%\option{pinpad} der Querverweis auf den Datensatz \option{pin} wie 
%hier dargestellt eingefügt:
%
%\begin{verbatim}
% @GLOSSDEF{pinpad,
%   word       = {PIN"~Pad},
%   definition = {Das PIN"~Pad wird zur Eingabe 
%                 der \SeeAlso{\gloss[short]{pin}} 
%                 verwendet.}}
%\end{verbatim}
%
%Nach erneuter Erstellung des Ausgabedokuments stellt sich das 
%Ergebnis im Glossar wie folgt dar:
%
%{\small\paragraph{\sf PIN"~Pad}Das PIN"~Pad wird zur Eingabe der 
%$\to$ \textsl{PIN} verwendet.}
%
%\section{Absatzdefinition}
%
%Die spezielle Formatierung von Absätzen\index{Absatzformatierung} 
%ist in \LaTeX\ eine nicht"~triviale Angelegenheit. Jedoch ist es 
%in wissenschaftlichen Arbeiten üblich, Textpassagen besonders 
%hervorzuheben. Daher bietet die Absatzdefinition \fompar, die in 
%der Datei \FileIndex{\fomparsty} implementiert ist, dem Benutzer 
%einige hilfreiche Makros zur Hervorhebung von Absätzen.
%
%\DescMacro{\usepackage}
%Die Verwendung des Stils \fompar\ erfolgt analog der Verwendung aller 
%anderen \LaTeX"~Stildateien. Somit wird in der Präambel der Hauptdatei 
%die Zeile {\small|\usepackage{fompar}|} eingefügt, wobei die Angabe 
%von Optionen nicht erforderlich ist.
%
%\subsection{Makros und Umgebungen}
%
%Nachdem der Stil \fompar\ geladen wurde, stehen dem Anwender die hier 
%beschriebenen Makros zur Verfürgung.
%
%\DescEnv{Citation} Längere Zitate werden in wissenschaftlichen 
%Arbeiten in der Regel in eigenen, zusammenhängenden Absätzen 
%dargestellt. Dabei werden diese Zitate nicht nur durch doppelte 
%Anführungszeichen hervorgehoben, sondern oft auch mit einem 
%zusätzlichen linken und rechten Einzug versehen. 
%
%Die Formatierung dieser Art Textpassagen ist Aufgabe der Umgebung 
%{\small|\begin{Citation} ... \end{Citation}|}.
%
%Neben der optionalen Angabe des \oarg{Abstands} zum vorherigen 
%und nachfolgenden Text, müssen zur Verwendung dieser Umgebung der 
%\marg{linke} und \marg{rechte} Absatzeinzug unbedingt angegeben 
%werden. Die genaue Anwendung der Umgebung {\small|Citation|} zeigt 
%folgendes Beispiel\index{Beispiel>Absatz}.
%
%\begin{verbatim}
% \begin{Citation}  % Begin of the environment 
%       [2\parskip] % Leading/following gap (optional)
%       {12mm}      % Left indent
%       {1.5cm}     % Right indent
% Text des Zitats...
% \end{Citation}    % End of the environment 
%\end{verbatim}
%
%Der Standardwert des optionalen Arguments \oarg{Abstand} ist auf 
%den aktuellen Wert von \defval{\bs{}parskip} eingestellt.
%
%\DescMacro{\Remark}
%Das Makro 
%{\small|\Remark|\oarg{Einzug}\oarg{Abstand}\marg{Label}\marg{Text}} 
%erzeugt einen linksseitig eingezogenen Absatz, dem ein linksbündig 
%ausgerichteter Bezeichner vorangestellt ist. Daher eignet sich dieses 
%Makro gut für die Hervorhebung wichtiger Informationen innerhalb eines 
%Textes.
%
%Die optionalen Parameter \oarg{Einzug} und \oarg{Abstand} ermöglichen 
%sowohl die Anpassung des linksseitigen Einzugs als auch die Änderung 
%des Abstandes zum vorherigen und nachfolgenden Text. Als Standardwert 
%des linken Einzugs werden \defval{3cm} und für den Abstand zum 
%umgebenden Text wird der aktuell eingestellte Wert von 
%\defval{\bs{}parskip} verwendet. 
%
%An dieser Stelle  nun ein kleines Beispiel\index{Beispiel>Absatz} zur 
%Illustration der Verwendung des Makros {\small|\Remark|}.
%
%\begin{verbatim}
% \Remark[2cm]       % left indent
%        [2\parskip] % gap before/after
%        {\bf Label} % label, bold
%        {Text...}   % body text
%\end{verbatim}
%
%\DescMacro{\Item} Das Makro 
%{\small|\Item|\oarg{Einzug}\oarg{Abstand}\marg{Label}\marg{Text}} 
%erzeugt, genau wie das Makro {\small|\Remark|}, einen linksseitig 
%eingezogenen Absatz. Jedoch wird hier dem Absatz ein rechtsbündiger 
%Bezeichner vorangestellt. Somit eignet sich dieses Makro gut für die 
%Hervorhebung von zum Beispiel Befehlen oder Kommandos eines Programms.
%
%Der Standardwert des Parameters \oarg{Einzug} verwendet \defval{4cm} 
%und der Parameter \oarg{Abstand} ist auf den aktuellen Wert von 
%\defval{\bs{}parskip} eingestellt. Ansonsten erfolgt die Verwendung 
%des Makros {\small|\Item|} analog zur Verwendung des Makros 
%{\small|\Remark|}.
%
%Werden innerhalb einer wissenschaftlichen Arbeit beide zuvor 
%beschriebenen Makros {\small|\Remark|} und {\small|\Item|} häufiger 
%verwendet und weichen dabei der Einzug und/oder der Textabstand von 
%den Standardwerten ab, bietet sich eine grundsätzliche Anpassung der 
%Standardwerten an. Zu diesem Zweck werden von \fompar\ die im 
%Folgenden beschriebenen Makros angeboten.
%
%\DescMacro{\RemarkIndent} Das Makro 
%{\small|\RemarkIndent|\marg{Einzug}} ändert den Standardwert des 
%linksseitigen Einzugs des Makros {\small|\Remark|} auf den im Argument 
%\oarg{Einzug} angegebenen Wert.
%
%\DescMacro{\DefaultRemarkIndent} Das Makro 
%{\small|\DefaultRemarkIndent|} setzt den Standardwert des 
%linksseitigen Einzugs des Makros {\small|\Remark|} auf den Standard 
%von \defval{3cm} zurück.
%
%\DescMacro{\RemarkOffset} Das Makro 
%{\small|\RemarkOffset|\marg{Abstand}} ändert den Standardwert des 
%Abstandes zum umgebenden Text des Makro {\small|\Remark|} auf den 
%im Argument \oarg{Abstand} angegebenen Wert.
%
%\DescMacro{\DefaultRemarkOffset} Das Makro 
%{\small|\DefaultRemarkOffset|} setzt den Standardwert des Abstandes 
%zum umgebenden Text des Makros {\small|\Remark|} auf den Standard 
%\defval{\bs{}parskip} zurück.
%
%\DescMacro{\ItemIndent} Das Makro {\small|\ItemIndent|\marg{Einzug}} 
%ändert den Standardwert des linksseitigen Einzugs des Makros 
%{\small|\Item|} auf den im Argument \oarg{Einzug} angegebenen Wert.
%
%\DescMacro{\DefaultItemIndent} Das Makro {\small|\DefaultItemIndent|} 
%setzt den Standardwert des linksseitigen Einzugs des Makros 
%{\small|\Item|} auf den Standard von \defval{4cm} zurück.
%
%\DescMacro{\ItemOffset} Das Makro {\small|\ItemOffset|\marg{Abstand}} 
%ändert den Standardwert des Abstandes zum umgebenden Text des Makro 
%{\small|\Item|} auf den im Argument \oarg{Abstand} angegebenen Wert.
%
%\DescMacro{\DefaultItemOffset} Das Makro {\small|\DefaultItemOffset|} 
%setzt den Standardwert des Abstandes zum umgebenden Text des Makros 
%{\small|\Item|} auf den Standard \defval{\bs{}parskip} zurück.
%
%Zur Verbesserung des Verständnisses der Anwendung der zuvor 
%beschriebenen Makros an dieser Stelle noch ein 
%Kurzbeispiel\index{Beispiel>Absatz}. Dabei sei nochmals daran 
%erinnert, dass die Makros {\small|\Remark|} und {\small|\Item|} sich 
%nur in der Ausrichtung ihrer Bezeichner unterscheiden.
%
%\begin{verbatim}
% \ItemIndent{25mm}
% \ItemOffset{1.5\parskip}
% \Item{\tt copy()}{Der Befehl kopiert ...}
% \Item{\tt move()}{Der Befehl verschiebt ...}
% \Item{\tt list()}{Der Befehl listet ...}
% \DefaultItemIndent
% \DefaultItemOffset
%\end{verbatim}
%
%\DescOnlyNoIdx{Achtung!} Zu Beginn des Dokuments werden von \fompar\ 
%die Standardwerte der Makros {\small|\Remark|} und {\small|\Item|} 
%neu eingestellt. Aus diesem Grund ist eine Verwendung der Makros 
%{\small|\RemarkIndent|}, {\small|\RemarkOffset|}, 
%{\small|\ItemIndent|} und {\small|\ItemOffset|} in der Präambel nicht 
%empfehlenswert!
%
%\DescMacro{\Description} Das Makro 
%{\small|\Description|\oarg{Format}\marg{Überschrift}\marg{Text}} 
%generiert einen Absatz, der über eine Überschrift verfügt und ist 
%als Alternative zum \LaTeX"~eigenen Makro {\small|\paragraph|} 
%gedacht. Dabei unterscheidet sich {\small|\Description|} in zwei 
%grundlegenden Eigenschaften vom Makro {\small|\paragraph|}. 
%
%\begin{itemize}
%\item Der erste Unteschied besteht darin, dass die im Parameter 
%\marg{Überschrift} übergebene Überschrift in einer eigenen Zeile 
%dargestellt wird, ohne dabei den gesamten Absatz zu "`zerreißen"'. 
%\item Der zweite Unterschied zum Standardmakro {\small|\paragraph|} 
%ist dadurch gegeben, dass die im Parameter \marg{Über\-schrift} 
%übergebene Überschrift \emph{niemals} im Inhaltsverzeichnis der 
%Ausarbeitung auftauchen wird, wie dies eventuell bei einer Verwendung 
%von {\small|\paragraph|} der Fall sein könnte.
%\end{itemize}
%
%Neben den Pflichtparametern verfügt das Makro {\small|\Description|} 
%auch über einen optionalen Parameter mit dessen Hilfe die 
%Absatzüberschrift formatiert werden kann. Die Standardformatierung 
%der Überschrift ist \defval{fett}. Weiterhin ist die Angabe folgender 
%Optionen möglich:
%
%\OptExplain{\option{b}}{Die Überschrift ist fett (bold) (Standard).}
%\OptExplain{\option{n}}{Die Überschrift nicht (not) formatiert.}
%\OptExplain{\option{s}}{Die Überschrift ist schräg gestellt (slanted).}
%\OptExplain{\option{u}}{Die Überschrift ist unterstrichen (underlined).}
%
%Die bespielhafte Erzeugung eines Absatzes mit unterstrichener 
%Überschrift zeigt der folgende kurze 
%Codeschnipsel\index{Beispiel>Absatz}.
%
%\begin{verbatim}
% \Description[u]{Überschrift}{Text...}
%\end{verbatim}
%
%\section{Gleitobjektdefinition}
%
%Die Besonderheiten der Formatierung so genannter 
%Gleitobjekte\index{Gleitobjekt}, dazu zählen Abbildungen, Tabellen 
%und im weiteren Sinne auch Codelistings, werden in wissenschaftlichen 
%Ausarbeitungen oft unterschätzt. Daher bietet die 
%Gleitobjektdefinition \fomfod, die in der Datei \FileIndex{\fomfodsty} 
%implementiert ist, entsprechende Makros an, die der einfachen und 
%einheitlichen Integration von Gleitobjekten in wissenschaftlichen 
%Arbeiten dienen.
%
%\DescMacro{\usepackage}
%Die Verwendung des Stils \fomfod\ erfolgt analog der Verwendung 
%aller anderen \LaTeX"~Stildateien. Somit wird die Zeile 
%{\small|\usepackage|\oarg{Optionen}|{fomfod}|} in der Präambel 
%der Hauptdatei eingefügt.
%
%Die Angabe mehrerer Parameter im Optionsteil des Kommandos 
%{\small|\usepackage|} ist möglich, wobei einzelne Optionen 
%durch ein Komma voneinander getrennt werden.
%
%\subsection{Optionen}
%
%Der Stil \fomfod\ bietet Optionen zur grundsätzlichen Anpassung der 
%Gleitobjekte einer wissenschaftlichen Arbeit an, die im Folgenden 
%näher beschrieben sind. Bei unbekannten oder nicht unterstützten 
%Optionen wird eine Warnmeldung ausgegeben, die der Information des 
%Benutzers dient.
%
%\DescOption{classiccaption}
%Diese Option aktiviert die Verwendung der Serifenschrift für 
%die Beschriftungen der einzelnen 
%Gleitobjekte\index{Gleitobjekt>Beschriftung}. Als Standardeinstellung 
%für Objektbeschriftungen wird eine \defval{serifenlose Schriftart} 
%verwendet.
%
%\DescOption{listingcolored}
%Diese Option aktiviert die Unterstützung der farblichen Hervorhebung 
%von Schlüsselwörtern und Kommentaren innerhalb von Codelistings. Der 
%Standardwert für die farbliche Hervorhebung ist \defval{nicht farbig}.
%
%\subsection{Makros und Umgebungen}
%
%Die von \fomfod\ angebotenen Makros zur Einbindung von Gleitobjekten 
%lassen sich in die drei Kategorien Abbildungen, Tabellen und 
%Codelistings unterteilen, die im Folgenden auch in dieser Reihenfolge 
%vorgestellt werden.
%
%\DescMacro{\SinglePicture}
%Die Abbildung\index{Abbildung\See{Gleitobjekt}} stellt in 
%wissenschaftlichen Arbeiten die wohl am häufigsten verwendete Form 
%von Gleitobjekten\index{Gleitobjekt>Abbildung} dar. Daher bietet das 
%Makro {\small|\SinglePicture| \oarg{Brei\-te} |[box]| 
%\marg{Be\-schrif\-tung} 
%\marg{Re\-fe\-renz\-la\-bel} \marg{Bild\-da\-tei} 
%\marg{Quel\-len\-an\-ga\-be}} 
%einem Benutzer die Möglichkeit, auf einfache Weise die Integration 
%von Abbildungen zu realisieren.
%
%Der optionale Parameter \oarg{Brei\-te} ermöglicht eine Anpassung 
%der Abbildungsbreite in Abbhängikeit von der aktuellen Textbreite 
%\MacroIndex{\textwidth}. Die Höhe der Abbildung wird vom 
%\LaTeX"~System automatisch angepasst. Der Standardwert für die 
%Abbildungsbreite ist \defval{0.9}, also 90\% von 
%\option{\bs{}textwidth}.
%
%Der optionale Parameter \option{|[box]|} erzeugt einen Rahmen um die 
%eingebundene Abbildung. Der Standardwert für Abbildungsrahmen ist 
%\defval{aus}.
%
%\DescOnlyNoIdx{Empfehlung} Von der Darstellung eines Rahmens um 
%Abbildungen sollte nur in seltenen Fällen gebrauche gemacht werden, 
%da sich Rahmen und Linien jeglicher Art störend auf den Lesefluss 
%auswirken können\index{Gleitobjekt>Abbildung>Empfehlung}.
%
%Der Pflichtparameter \marg{Be\-schrif\-tung} gestattet die Angabe der
%Abbildungsunterschrift. 
%
%Der Pflichtparameter \marg{Re\-fe\-renz\-la\-bel} ermöglicht die 
%Definition eines Bezeichners, mit dessen Hilfe auf die entsprechende 
%Abbildung Bezug genommen werden kann. Üblicherweise folgt das Label 
%einer Abbildung dem Schema \option{fig:\holder{Label}}.
%
%Der Pflichtparameter \marg{Bild\-da\-tei} verwendet den Namen 
%der Abbildungsdatei. Dabei können Pfade zu unterschiedlichen 
%Abbildungsquellverzeichnissen mit Hilfe des \LaTeX"~eigenen Makros 
%\MacroIndex{\graphicspath}\marg{re\-la\-ti\-ver Pfad} 
%gesteuert werden.
%
%Der Parameter \marg{Quel\-len\-an\-ga\-be} gehört ebenfalls zu den 
%Pflichtangaben des Makros \option{\bs{}SinglePicture} und stellt im 
%Hinblick auf wissenschaftliche Ausarbeitungen einen eher wichtigen 
%Parameter dar.
%
%\DescOnlyNoIdx{Hinweis} Es ist nicht nur höflich sondern auch zwingend 
%erforderlich, in wissenschaftlichen Arbeiten das geistige Eigentum 
%Dritter entsprechend zu Kennzeichnen! Daher wird bei Abbildungen, die 
%einer anderen als die eigene Geistesleistung entspringen \emph{immer} 
%die Quelle angegeben. Diese Quellenangabe erfolgt typischerweise 
%rechtsbündig und direkt unterhalb der jeweiligen 
%Abbildung\label{ImgSrcAdvice}\protect.
%
%Zur Illustration und zur Verbesserung des Verständnisses nun ein 
%Beispiel zur Verwendung des Makros 
%\MacroIndex{\SinglePicture}\index{Beispiel>Abbildung}.
%
%\begin{verbatim}
% \SinglePicture[1.2] % 120% of text width
%               [box] % Including an image box
%               {Die Darstellung von Spiralen}
%               {fig:SpiraleA}
%               {spirale} % image file name
%               {Quelle: www.spiralen.de}
%\end{verbatim}
%
%\DescMacro{\DoublePicture}
%In wissenschaftlichen Arbeiten kommt es häufig vor, dass 
%Abbildungen\index{Gleitobjekt>Abbildung} zum Beispiel zum Vergleich 
%gegenüber gestellt werden. Hierfür bietet das Makro 
%{\small|\DoublePicture| |[box]| \marg{Haupt\-be\-schrif\-tung} 
%\marg{Haupt\-re\-fe\-renz\-la\-bel} \marg{lin\-ke Ab\-bil\-dung} 
%\marg{rech\-te Ab\-bil\-dung}} den notwendigen 
%Rahmen.
%
%Der optionale Parameter \option{|[box]|} erzeugt einen Rahmen um die 
%jeweilige Unterabbildung. Der Standardwert für Abbildungsrahmen ist 
%\defval{aus}.
%
%\DescOnlyNoIdx{Empfehlung} Von der Darstellung eines Rahmens um 
%Abbildungen sollte nur in seltenen Fällen gebrauche gemacht werden, 
%da sich Rahmen und Linien jeglicher Art störend auf den Lesefluss 
%auswirken können\index{Gleitobjekt>Abbildung>Empfehlung}.
%
%Der Pflichtparameter \marg{Haupt\-be\-schrif\-tung} gestattet die 
%Angabe der Hauptunterschrift der Doppelabbildung. 
%
%Der Pflichtparameter \marg{Haupt\-re\-fe\-renz\-la\-bel} ermöglicht 
%die Definition eines Bezeichners, mit dessen Hilfe auf die 
%entsprechende Doppelabbildung Bezug genommen werden kann. 
%Üblicherweise folgt das Label einer Doppelabbildung dem Schema 
%\option{fig:\holder{Hauptlabel}}.
%
%Die beiden Pflichtparameter \marg{lin\-ke Ab\-bil\-dung} und 
%\marg{rech\-te Ab\-bil\-dung} dienen der Definition der linken und 
%rechten Unterabbildung und sind an dieser Stelle als Platzhalter 
%für das im Folgende beschriebene Makro \MacroIndex{\DoubleSubPicture} 
%gedacht.
%
%\DescMacro{\DoubleSubPicture}
%Die Definition der linken oder rechten Unterabbildung obliegt dem 
%Makro {\small|\DoubleSubPicture| \marg{Un\-ter\-be\-schrif\-tung} 
%\marg{Un\-ter\-re\-fe\-renz\-la\-bel} \marg{Un\-ter\-bild\-da\-tei} 
%\marg{Un\-ter\-quel\-len\-an\-ga\-be}}.
%
%Der Pflichtparameter \marg{Un\-ter\-be\-schrif\-tung} gestattet die 
%Angabe der Beschriftung der linken beziehungsweise der rechten 
%Unterabbildung.
%
%Der Pflichtparameter \marg{Un\-ter\-re\-fe\-renz\-la\-bel} ermöglicht 
%die vom Hauptreferenzlabel unabhängige Definition eines Bezeichners, 
%mit dessen Hilfe auf die entsprechende Unterabbildung Bezug genommen 
%werden kann. Üblicherweise folgt das Label einer Abbildung dem Schema 
%\option{fig:\holder{Label}}.
%
%Der Pflichtparameter \marg{Un\-ter\-bild\-da\-tei} verwendet den 
%Namen der linken oder rechten Unterabbildungsdatei. Dabei können 
%Pfade zu unterschiedlichen Abbildungsquellverzeichnissen mit Hilfe 
%des \LaTeX"~eigenen Makros 
%\MacroIndex{\graphicspath}\marg{re\-la\-ti\-ver Pfad} gesteuert 
%werden.
%
%Der Parameter \marg{Un\-ter\-quel\-len\-an\-ga\-be} gehört ebenfalls 
%zu den Pflichtangaben des Makros \option{\bs{}Double\-Sub\-Picture} 
%und stellt im Hinblick auf wissenschaftliche Ausarbeitungen einen 
%eher wichtigen Parameter dar. 
%
%An dieser Stelle bitte ebenfalls den Hinweis zur Quellenangabe bei 
%Abbildungen auf Seite~\pageref{ImgSrcAdvice} beachten!
%
%\DescOnlyNoIdx{Achtung!} Die individuelle Anpassung der 
%Abbildungsbreite ist weder bei {\small|\DoublePicture|} noch 
%bei {\small|\DoubleSubPicture|} möglich! Vielmehr werden beide 
%Abbildungen so platziert, dass jede in etwa 42\% der aktuellen 
%Textbreite verwendet. Zuzüglich einer kleinen Lücke zwischen beiden 
%Abbildungen ist somit die Breite der gesamten Doppelabbildung auf 
%circa 90\% der verfügbaren Textbreite begrenzt.
%
%Zur Illustration und zur Verbesserung des Verständnisses nun ein 
%Beispiel zur Verwendung des Makros \MacroIndex{\DoublePicture} 
%zusammen mit dem Makro 
%\MacroIndex{\DoubleSubPicture}\index{Beispiel>Abbildung}.
%
%\begin{verbatim}
% \DoublePicture
%      [box] % Including image boxes
%      {Der Vergleich von Linien} % Main caption
%      {fig:LinienA}              % Main label
%      {\DoubleSubPicture         % Left sub picture 
%            {Gerade Linien}      % Left caption (a)
%            {fig:LinienAleft}    % Left label
%            {linien}             % Left image file.
%            {Quelle: www.linien.de}}
%      {\DoubleSubPicture         % Right sub picture    
%            {Gekrümmte Linien}   % Right caption (b)     
%            {fig:LinienAright}   % Right label       
%            {kurven}             % Right image file.   
%            {Quelle: www.kurven.de}}
%\end{verbatim}
%
%\DescOnlyNoIdx{Bemerkung} Manch Einer wird sich fragen: 'Warum nur 
%die Aufteilung in zwei voneinander unabhängige Makros?'. Die Antwort 
%ist einfach! Das Makro {\small|\DoublePicture|} würde für eine 
%vollständige Verarbeitung aller Informationen insgesamt elf Parameter 
%benötigen. In \LaTeX\ ist jedoch die maximale Parameteranzahl auf 
%insgesamt neun beschränkt. Aus diesem Grund erfolgte eine 
%Unterteilung in zwei unabhängige Makros!
%
%\DescEnv{PlainFigure}
%Eine weitere Variante zur Einbindung von 
%Abbildungen\index{Gleitobjekt>Abbildung} in eine wissenschaftliche 
%Arbeit bietet sich durch die Verwendung der frei konfigurierbaren 
%Umgebung {\small|\begin{PlainFigure}| \oarg{Brei\-te} |[box]| 
%\marg{Be\-schrif\-tung} \marg{Re\-fe\-renz\-la\-bel} 
%\marg{Quel\-len\-an\-ga\-be} |... \end{PlainFigure}|}
%
%Der optionale Parameter \oarg{Brei\-te} ermöglicht eine Anpassung 
%der Abbildungsbreite in Abhängigkeit von der aktuellen Textbreite 
%\MacroIndex{\textwidth}. Die Höhe der Abbildung wird vom 
%\LaTeX"~System automatisch angepasst. Der Standardwert für die 
%Abbildungsbreite ist \defval{0.9}, also 90\% von 
%\option{\bs{}textwidth}.
%
%Der optionale Parameter \option{|[box]|} erzeugt einen Rahmen um den 
%eingebundenen Inhalt. Der Zwischenraum zwischen Rahmen und Inhalt 
%beträgt \defval{5pt}, also fünf Punkte. Dieser Zwischenraum kann von 
%außen nicht geändert werden. Der Standardwert für Abbildungsrahmen 
%ist \defval{aus}.
%
%Der Pflichtparameter \marg{Be\-schrif\-tung} gestattet die Angabe 
%der Abbildungsunterschrift. 
%
%Der Pflichtparameter \marg{Re\-fe\-renz\-la\-bel} ermöglicht die 
%Definition eines Bezeichners, mit dessen Hilfe auf die entsprechende 
%Abbildung Bezug genommen werden kann. Üblicherweise folgt das Label 
%einer Abbildung dem Schema \option{fig:\holder{Label}}.
%
%Der Parameter \marg{Quel\-len\-an\-ga\-be} gehört ebenfalls zu den 
%Pflichtangaben der Umgebung \option{PlainFigure} und stellt im 
%Hinblick auf wissenschaftliche Ausarbeitungen einen eher wichtigen 
%Parameter dar.
%
%An dieser Stelle bitte ein weiters mal den Hinweis zur Quellenangabe 
%bei Abbildungen auf Seite~\pageref{ImgSrcAdvice} beachten!
%
%Zur Illustration und zur Verbesserung des Verständnisses nun ein 
%Beispiel zur Verwendung der Umgebung 
%\EnvIndex{PlainFigure}\index{Beispiel>Abbildung}.
%
%\begin{verbatim}
% \begin{PlainFigure}[0.7] % 70% of text width
%                    [box] % Including an image box
%                    {Darstellung einer Textabbildung}
%                    {fig:TextFigure}
%                    {Quelle: www.texte.de}
% Hier befindet sich der frei 
% wählbare Inhalt der Abbildung...
% \end{PlainFigure}
%\end{verbatim}
%
%\DescEnv{Table} 
%Tabellen\index{Gleitobjekt>Tabelle}\index{Tabelle\See{Gleitobjekt}}
%bilden ebenfalls einen wichtigen Bestandteil wissenschaftlicher 
%Arbeiten. Da es jedoch hin und wieder vorkommt, dass Tabellen nicht 
%standardgerecht formatiert werden, bietet \fomfod\ die entsprechend 
%konfigurierte Umgebung {\small|\begin{Table}| \marg{Be\-schrif\-tung} 
%\marg{Re\-fe\-renz\-la\-bel} \marg{Quel\-len\-an\-ga\-be} 
%|... \end{Table}|} an.
%
%Diese Umgebung ist in der Lage, die gängigen, zum \LaTeX"~Sys\-tem 
%gehörenden Umgebungen für Tabellendefinitionen zu verarbeiten.
%
%Der Pflichtparameter \marg{Be\-schrif\-tung} gestattet die Angabe 
%der Überschrift der Tabelle. 
%
%Der Pflichtparameter \marg{Re\-fe\-renz\-la\-bel} ermöglicht die 
%Definition eines Bezeichners, mit dessen Hilfe auf die entsprechende 
%Tabelle Bezug genommen werden kann. Üblicherweise folgt das Label 
%einer Tabelle dem Schema \option{tab:\holder{Label}}.
%
%Der Parameter \marg{Quel\-len\-an\-ga\-be} gehört ebenfalls zu den 
%Pflichtangaben der Umgebung \option{Table} und stellt im Hinblick auf 
%wissenschaftliche Ausarbeitungen einen eher wichtigen Parameter dar.
%
%\DescOnlyNoIdx{Hinweis} Auch bei Tabellen muss, sofern sie 
%beziehungsweise deren Inhalt geistiges Eigentum Dritter sind, der 
%Ursprung entsprechend kenntlich gemacht werden! Hierbei erfolgt die 
%Quellenangabe typischerweise zentriert und direkt unterhalb der 
%jeweiligen Tabelle.
%
%Aufgrund der vielfältigen Möglichkeiten, eine Tabelle zu gestallten, 
%ist die weitere Abstraktion und Vereinfachung der Erstellung von 
%Tabellen nur schwer möglich. Daher soll das folgende Beispiel nur 
%stellvertretend für die Tabellenerstellung 
%sein\index{Beispiel>Tabelle}.
%
%\begin{verbatim}
% \begin{Table}
%   {Eine kleine Tabelle}     % Table caption
%   {tab:small1}              % Reference label
%   {Quelle: www.tabellen.de} % Table source
%   \begin{tabular}{lcr}      % Table body
%   links & mitte & rechts \\
%   \end{tabular}
% \end{Table}
%\end{verbatim}
%
%\DescOnlyNoIdx{Empfehlung} Zur besseren Kontrolle der Formatierung 
%einzelner Tabellenspalte wird die Verwendung der Umgebung 
%\EnvIndex{tabularx} des gleichnamigen Pakets \DependsIndex{tabularx} 
%empfohlen\index{Gleitobjekt>Tabelle>Empfehlung}.
%
%Wird nun eine Tabelle mit der Umgebung \EnvIndex{tabularx} erstellt, 
%dann stellt \fomfod\ spezielle Spaltenformatierungsmakros bereit, 
%auf die an dieser Stelle näher eingegangen wird.
%
%\OptExplain{\option{R}}{Erzeugt eine rechts ausgerichtete 
%Tabellenspalte.}
%\OptExplain{\option{C}}{Erzeugt eine zentriert ausgerichtete 
%Tabellenspalte.}
%\OptExplain{\option{L}}{Erzeugt eine links ausgerichtete 
%Tabellenspalte.}
%\OptExplain{\option{B}}{Erzeugt eine im Blocksatz ausgerichtete 
%Tabellenspalte.} 
%
%Zur Veranschaulichung an dieser Stelle noch ein kleines Beispiel zur 
%Verwendung der \fomfod"~eigenen Umgebung \EnvIndex{Table}, wie sie 
%gemeinsam mit der Umgebung \EnvIndex{tabularx} genutzt werden 
%kann\index{Beispiel>Tabelle}.
%
%\begin{verbatim}
% \begin{Table}
%   {Eine weitere Tabelle}
%   {tab:tabX}
%   {Quelle: www.tabularx.de}
%   \begin{tabularx}{8cm}
%     {>{\hsize=2cm}L>{\hsize=1cm}C>{\hsize=5cm}R}
%   links 2cm & mitte 1cm & rechts 5cm \\
%   \end{tabularx}
% \end{Table}
%\end{verbatim}
%
%\DescEnv{CodeListing}
%Gerade auf dem Gebiet der Informatik kommt es immer wieder vor, 
%dass so genannte Codelistings\index{Gleitobjekt>Codelisting} in 
%wissenschaftliche Arbeiten integriert werden müssen. Die Einbindung 
%dieser Quelltexte, sowie deren einheitliche Gestaltung, ist die 
%vornehmliche Aufgabe der Umgebung {\small|\begin{CodeListing}| 
%\oarg{Ein\-zug} \marg{Be\-schrif\-tung} \marg{Re\-fe\-renz\-la\-bel} 
%|... \end{CodeListing}|}
%
%Der optionale Parameter \oarg{Ein\-zug} kann verwendet werden, um 
%den linken und rechten Einzug des Listings zu variieren. Dabei ist 
%der linke und rechte Standardeinzug auf eine Breite von \defval{7pt} 
%voreingestellt.
%
%Der Pflichtparameter \marg{Be\-schrif\-tung} erlaubt die Angabe 
%der Überschrift des Listings. 
%
%Der Pflichtparameter \marg{Re\-fe\-renz\-la\-bel} ermöglicht die 
%Verwendung eines Bezeichners, mit dessen Hilfe auf das entsprechende 
%Codelisting Bezug genommen werden kann. Üblicherweise folgt das 
%Quelltextlabel dem Schema \option{lst:\holder{Label}}.
%
%Hier noch ein kleines Anwendungsbeispiel der Codelistingumgebung 
%zur Anzeige des Quelltextes des C"~Programms 
%"`Hallo Welt!"'\index{Beispiel>Hallo Welt}, inklusive einer 
%farblichen Syntaxhervorhebung.
%
%\begin{verbatim}
% \documentclass{fomsdt}
% \usepackage[listingcolored]{fomfod}
% \begin{document}
% \begin{CodeListing}[35mm]{"`Hallo Welt!"'}{lst:hello}
%   #include <stdio.h>
%   void main(void) {
%     printf("Hallo Welt!\n");
%   }
% \end{CodeListing}
% \end{document}
%\end{verbatim}
%
%\DescOnlyNoIdx{Hinweis} Die Umgebung \EnvIndex{CodeListing} ist 
%speziell für kurze Listings gedacht, da hierfür der gesamte 
%Quellcode zwischen \option{\bs{}begin} und \option{\bs{}end} 
%stehen muss. Bei längeren Quelltexten kann dies jedoch zu 
%einer nicht zu unterschätzenden Unübersichtlichkeit führen!
%
%\DescMacro{\CodeListingFile}
%Im Gegensatz zur zuvor beschriebenen Umgebung für Codelistings 
%bietet das Makro {\small|\CodeListingFile|} \oarg{Ein\-zug} 
%\marg{Be\-schrif\-tung} \marg{Re\-fe\-renz\-la\-bel} 
%\marg{Quell\-code\-da\-tei} die Möglichkeit, den Inhalt ganzer 
%Codedateien in eine wissenschaftliche Arbeit einzubinden.
%
%Der optionale Parameter \oarg{Ein\-zug} kann verwendet werden, um 
%den linken und rechten Einzug des Listings zu variieren. Dabei ist 
%linke und rechte Standardeinzug auf eine Breite von \defval{7pt} 
%voreingestellt.
%
%Der Pflichtparameter \marg{Be\-schrif\-tung} erlaubt die Angabe der 
%Überschrift des Listings. 
%
%Der Pflichtparameter \marg{Re\-fe\-renz\-la\-bel} ermöglicht die 
%Verwendung eines Bezeichners, mit dessen Hilfe auf das entsprechende 
%Codelisting Bezug genommen werden kann. Üblicherweise folgt das 
%Quelltextlabel dem Schema \option{lst:\holder{Label}}.
%
%Der Pflichtparameter \marg{Quell\-code\-da\-tei} ermöglicht die 
%Angabe des Dateinamens der einzubindenden Quelltextdatei.
%
%Hier nochmals das obige Beispiel für das C"~Programm "`Hallo 
%Welt!"'\index{Beispiel>Hallo Welt}, jedoch nun mit der Einbindung 
%der entsprechenden Quellcodedatei \file{hello.c}.
%
%\begin{verbatim}
% \documentclass{fomsdt}
% \usepackage[listingcolored]{fomfod}
% \begin{document}
% \CodeListingFile{"`Hallo Welt!"'}{lst:hello}{hello.c}
% \end{document}
%\end{verbatim}
%
%\DescMacro{\ListingFontSize}
%Eventuell kann es vorkommen, dass die Darstellung der Zeichen eines 
%Codelistings zu groß oder gar zu klein erscheinen. Dies könnte dann 
%unter Umständen zu dem ungewollten Effekt führen, dass einzelnen 
%Zeilen des Quelltextes umgebrochen werden. Das könnte durch die 
%Anpassung der Schriftgröße behoben werden. Die Einstellung dieser 
%Schriftgröße ist Aufgabe des Makros {\small|\ListingFontSize| 
%\oarg{Schrift\-grö\-ße}}.
%
%Der optionale Parameter \oarg{Schrift\-grö\-ße} erlaubt hierbei 
%die Verwendung vordefinierter Größenangaben zur Einstellung der 
%bevorzugten Schriftgröße wie folgt:
%
%\OptExplain[15mm]{\option{normal}}{Diese Option verwendet 
%\option{\bs{}footnotesize} als Größe der Schrift und erlaubt damit 
%die Darstellung von etwa 60 Zeichen pro Codezeile.}
%\OptExplain[15mm]{\option{large}}{Diese Option verwendet 
%\option{\bs{}small} als Größe der Schrift und erlaubt damit die 
%Darstellung von etwa 55 Zeichen pro Codezeile.}
%\OptExplain[15mm]{\option{small}}{Diese Option verwendet 
%\option{\bs{}scriptsize} als Größe der Schrift und erlaubt damit 
%die Darstellung von etwa 74 Zeichen pro Codezeile.}
%
%\DescMacro{\DefaultListingConfig} 
%Das Makro {\small|\DefaultListingConfig|} dient der Einstellung 
%aller Standardwerte für Codelistings. Einige dieser Einstellungen 
%sind von besonderem Interesse und sollen aus diesem Grund etwas 
%näher betrachtet werden.
%
%\DescOnlyNoIdx{Quelltextsprache}
%Die Quelltextsprache ist nur dann von besonderem Interesse, wenn 
%\fomfod\ zuvor mit der Option \option{listingcolored} geladen wurde, 
%dass heißt, wenn auch tatsächlich die farbliche Hervorhebung für 
%Quellcodes aktiviert wurde. In diesem Fall wird die Syntaxhervorhebung 
%für Quelltexte in C++ verwendet!
%
%Soll durch ein Listing die Syntaxhervorhebung einer anderen 
%Quelltextsprache verwenden, dann kann die Standardeinstellung C++ mit 
%Hilfe des Kommandos {\small|\lstset{language=|\holder{Spra\-che}|}|}, 
%das in \DependsIndex{listings} definiert ist, geändert werden. Alle 
%durch \DependsIndex{listings} unterstützten Sprachen, inklusiver 
%diverser Dialekte, werden ausführlich in der zu diesem Paket 
%gehörenden Dokumentation beschrieben.
%
%\DescOnlyNoIdx{Beschriftung}
%Für die Positionierung der Beschriftung eines Codelistings kann keine 
%verbindliche Aussage getroffen werden. Sinnvoll erscheint jedoch, die 
%Beschriftung an den Anfang des Quelltextes zu setzen, da ein Leser bei 
%einer Textunterbrechung durch zum Beispiel ein Codelisting zumindest 
%einen Hinweis  darauf erwartet, warum sein Lesefluss gestört wurde.
%
%Sollte man aus irgendeinem Grund von der vorkonfigurierten 
%Beschriftungsposition oberhalb des Listings abweichen müssen, dann 
%kann dies durch den im Paket \DependsIndex{listings} definierten 
%Befehl {\small|\lstset{captionpos=b}|} erreicht werden.
%
%\DescOnlyNoIdx{Zeilenumbruch}
%Unter Umständen kann es vorkommen, dass Codezeilen eines eingebundenen 
%Listings trotz der Anpassung des Schriftgrades nicht in eine einzelne 
%Textzeile passen. Für diesen Fall wurde \fomfod\ so konfiguriert, 
%dass das Codelisting selbstständig einen Umbruch der betroffenen 
%Zeilen durchführt und eine so umgebrochene Codezeile dann mit \dots\ 
%beendet und in der nächsten Zeile mit einer Einrückung und weiteren 
%\dots\ fortgeführt wird.
%
%\section{Vermischtes}
%
%Als Sammelbecken für weiter nützliche und hilfreiche Makros dient 
%\fomisc, das in der Datei \FileIndex{\fomiscsty} implementiert ist. 
%Hierin befinden sich Makros, die von ihrem Sinnzusammenhang in keiner 
%anderen Datei des Pakets untergebracht werden können. 
%
%\DescMacro{\usepackage}
%Die Verwendung des Stils \fomisc\ erfolgt analog der Verwendung aller 
%anderen \LaTeX"~Stildateien. Somit wird in der Präambel der Hauptdatei 
%die Zeile {\small|\usepackage{fomisc}|} eingefügt, wobei die Angabe 
%von Optionen nicht erforderlich ist.
%
%\subsection{Makros}
%
%\DescMacro{\Raise} Grundsätzlich kann hochgestellter Text durch den 
%mathematischen Satz erzeugt werden. Jedoch führt die Verwendung des 
%mathematischen Satzes nicht immer zum erwarteten Ergebnis. 
%Beispielsweise wird hierbei hochgestellter Text kursiv dargestellt. 
%Dies kann durchaus irritierent auf den Leser einer wissenschaftlichen 
%Arbeit wirken. Daher wird zur verbesserten Darstellung hochgestellter 
%Texte die Verwendung des Makros {\small|\Raise|\marg{Hochtext}} 
%empfohlen.
%
%\DescMacro{\TodayShort} Manchmal kann es sehr hilfreich sein, das 
%aktuelle Datum in einer kurzen Variante anzugeben. Zu diesem Zweck 
%wird durch \fomisc\ das Makro {\small|\TodayShort| \oarg{For\-mat} 
%\oarg{Trenn\-zei\-chen}} bereitgestellt.
%
%Dabei bestimmt der optionale Parameter \oarg{For\-mat} das 
%grundsätzlich Aussehen des erzeugten Datums. Als Standardwert für 
%diesen Parameters wird \defval{din} verwendet. Weiterhin sind die 
%im Folgenden gezeigten vordefinierten Schlüsselwörter für diesen 
%Parameter verfügbar:
%
%\OptExplain{\option{din}}{Diese Option verwendet \textsc{dd.mm.yyyy} 
%zur Formatierung des aktuellen Datums und entspricht damit den 
%Empfehlungen gemäß Norm DIN~5008.}
%
%\OptExplain{\option{iso}}{Diese Option verwendet \textsc{yyyy"~mm"~dd} 
%zur Formatierung des aktuellen Datums und entspricht damit den 
%Empfehlungen gemäß der Normen ISO~8601:2004 und EN~28601.}
%
%Die Zeichen, die zur Trennung der einzelnen Bestandteile des Datums 
%verwendet werden, sind bereits normengrecht! Sollte dennoch eine 
%Anpassung der Trennzeichen erfolgen müssen, zum Beispiel für eine 
%US"~amerikanische Formatierung mit Schrägstrichen als Trennzeichen, 
%dann kann dieses vom Standard abweichende Trennzeichen durch den 
%optionalen Parameter \oarg{Trenn\-zei\-chen} geändert werden. Dieser 
%Parameter verwendet \defval{def} als Standardwert.
%
%\OptExplain{\option{def}}{Diese Option bewirkt die Verwendung des 
%Stan\-dard\-trenn\-zei\-chens für Datumsangaben in Abhängigkeit vom 
%gewählten Datumsformat. 
%
%Im Falle einer ISO"~gerechten Formatierung, also bei Angabe von 
%\option{iso} im Parameter \oarg{For\-mat}, wird der Gedankenstrich 
%('-') zur Trennung verwendet. 
%
%Für den Fall der DIN"~gerechten Formatierung, also bei Angabe von 
%\option{din} im Parameter \oarg{For\-mat}, wird ein Punkt ('.') als 
%Trennzeichen verwendet.}
%
%\OptExplain{\option{\dots}}{Das angegebene, beliebige Zeichens, oder 
%auch eine Zeichenkette, wird zur Trennung der Datumsbestandteile 
%verwendet. Die Verwendung eines "`leeren"' Zeichens ist ebenfalls 
%möglich.}
%
%Folgende Übersicht zeigt beispielhaft\index{Beispiel>Kurzdatum} die 
%Anwendungsmöglichkeiten des Makros \MacroIndex{\TodayShort} sowie die 
%hieraus resultierenden Ergebnisse:
%
%\begin{tabular}{lll}
%\option{\bs{}TodayShort}          & 01.08.2007   & 
%  {$\Rightarrow$\space\scriptsize DIN"~gerecht}\\
%\option{\bs{}TodayShort[din]}     & 01.08.2007   & 
%  {$\Rightarrow$\space\scriptsize DIN"~gerecht}\\
%\option{\bs{}TodayShort[din][def]}& 01.08.2007   & 
%  {$\Rightarrow$\space\scriptsize DIN"~gerecht}\\
%\option{\bs{}TodayShort[din][]}   & 01082007     & 
%  {$\Rightarrow$\space\scriptsize DIN ohne Trennung}\\
%\option{\bs{}TodayShort[din][/]}  & 01/08/2007   & 
%  {$\Rightarrow$\space\scriptsize US"~amerikanisch}\\
%\option{\bs{}TodayShort[iso]}     & 2007"~08"~01 & 
%  {$\Rightarrow$\space\scriptsize ISO"~konform}\\
%\option{\bs{}TodayShort[iso][def]}& 2007"~08"~01 & 
%  {$\Rightarrow$\space\scriptsize ISO"~konform}\\
%\option{\bs{}TodayShort[iso][]}   & 20070801     & 
%  {$\Rightarrow$\space\scriptsize ISO ohne Trennung}\\
%\option{\bs{}TodayShort[iso][/]}  & 2007/08/01   & 
%  {$\Rightarrow$\space\scriptsize US"~amerikanisch}\\
%\end{tabular}
%
%Autoren wissenschaftlicher Arbeiten beziehen sich häufig auf Produkte 
%und Marken von Herstellern, die mit dem Vermerk "`Registered"', 
%"`Copyright"' oder "`Trademark"' belegt sind. Hierfür werden in der 
%Regel spezielle Symbole verwendet, die von \fomisc\ bereitgestellt 
%werden.
%
%\DescMacro{\Registered} Trägt ein Produkt oder eine Marke den Vermerk 
%"`Registered"', dann kann das Makro {\small|\Registered|} für die 
%Erzeugung des entsprechenden Symbols verwendet werden.
%
%\DescMacro{\Copyright} Trägt ein Produkt oder eine Marke den Vermerk 
%"`Copyright"', dann kann das Makro {\small|\Copyright|} für die 
%Erzeugung des entsprechenden Symbols verwendet werden.
% 
%\DescMacro{\Trademark} Trägt ein Produkt oder eine Marke den Vermerk 
%"`Trademark"', dann kann das Makro {\small|\Trademark|} für die 
%Erzeugung des entsprechenden Symbols verwendet werden.
%
%\DescMacro{\Axel} Das Makro {\small|\Axel|} dient der Illustration 
%der Erzeugung von Texten, deren einzelne Buchstaben "`aus der Reihe 
%tanzen"'. Beispiele solcher Texte sind die Eigennamen \TeX\ und 
%\LaTeX.
%
%\section*{\Problems}\addcontentsline{toc}{section}{\Problems}
%
%Dieses Kapitel verschafft einen Überblick über bekannte 
%Probleme\index{Probleme} und erläutert deren Zusammenhang oder auch 
%deren Umgehung. Treten während der Verwendung des Pakets \fomsdt\ 
%weitere, bisher nicht bekannte Probleme, Konflikte oder Fehler auf, 
%dann sollten die Benutzer nicht vor einer entsprechenden Email 
%zurückschrecken.
%
%\DescMacro{\PrintIndex} 
%Dieses durch die Datei \FileIndex{\fomdessty} definiert Kommando 
%wird ebenfalls durch die Datei \FileIndex{doc.sty} 
%definiert\index{Probleme>\file{doc.sty}} und ist somit nach der 
%Installation des Pakets \fomsdt\ doppelt im \LaTeX"~System verfügbar. 
%Hierdurch sollten jedoch keinerlei Beeinträchtigungen im Umgang mit 
%dem Paket \fomsdt\ entstehen, da die Datei \file{doc.sty} in aller 
%Regel nur im Zusammenhang mit der Erstellung der 
%Quellcodedokumentation von \LaTeX"~Paketen verwendet wird.
%
%\DescOnlyNoIdx{Leeres Verzeichnis\index{Probleme>Verzeichnis (leer)}} 
%Die Anwendung der Makros {\small|\Print|\holder{Ver\-zeich\-nis}} 
%führen unter Umständen zu dem Effekt, dass die korrespondierenden und 
%automatisch erstellten Verzeichnisse \emph{nur} aus ihrer Überschrift 
%bestehen und somit über keinerlei  sinnvollen Inhalt verfügen. 
%
%Tritt dieser Effekt auf, dann sollte zunächst einmal überprüft werden, 
%ob die benötigten Querverweise überhaupt im Dokument vorhanden sind. 
%Als Beispiel hierfür sei das Fehlen von 
%{\small|\index{|\holder{Begriff}|}|} bei gleichzeitiger Anwendung 
%von {\small|\PrintIndex|} genannt.
%
%Als nächstes sollte geprüft werden, ob zur Erstellung des jeweiligen 
%Verzeichnisses nicht noch weitere Kompiliervorgänge notwendig sind. 
%Gegebenenfalls ist auch eine Anwendung der Programme 
%\CommandIndex{makeindex} und/oder \CommandIndex{bibtex} erforderlich.
%
%\DescOnlyNoIdx{cygwin\index{Probleme>cygwin}} Von der Erstellung 
%der \LaTeX"~Do\-ku\-men\-te zusammen mit dem Paket \fomsdt\ wird 
%unter \emph{cygwin}, einer Linux"~artigen\index{Linux} Umgebung 
%für Windowssysteme\index{Windows}, dringend abgeraten, da hierbei 
%gleich mehrere Probleme auftreten können. 
%
%Eines dieser Probleme ist, dass die Erstellung des Indexes zusammen 
%mit dem Stil \FileIndex{\fomidxist} fehlschlägt, da in der unter 
%\emph{cygwin} verfügbaren \LaTeX"~Umgebung einige Abhängigkeite 
%für die DIN"~gerechte, deutschsprachige Indexerstellung standardmäßig 
%nicht installiert sind!
%
%\DescOnlyNoIdx{Seitenvorschub\index{Probleme>Seitenvorschub}} 
%Das Erzwingen eines Seitenvorschubes für einzelne Kapitel durch 
%Änderung des Kommandos \MacroIndex{\section} führt eventuell zu 
%dem unerwünschten Nebeneffekt, dass die Verzeichnisse der Stile 
%\FileIndex{\fomdsssty} und \FileIndex{\fomdessty} trotz angegebener 
%Option \OptionIndex{nopagebreak} nicht fortlaufend ausgegeben 
%werden. Dieses Problem kann durch den hier gezeigten Workaround 
%umgangen werden:
%
%\begin{verbatim}
% ... 
% \begin{document}
% ... 
% \PrintContents 
% \PrintAbbrev 
% \PrintFigures 
% \PrintTables 
% ... 
% % Seitenvorschub zu Kapitelbeginn erzwingen! 
% \let\tempsection\section 
% \renewcommand\section{\clearpage\tempsection} 
% ... the writing ...
% % Seitenvorschub zurücksetzen! 
% \let\section\tempsection 
% ... 
% \PrintListings 
% \PrintBibliography 
% \PrintGlossary 
% \PrintIndex 
% ... 
% \end{document}
%\end{verbatim}
%
%\DescOnlyNoIdx{\package{beamer}"~Klasse\index{Probleme>beamer}} 
%Wird \fomfod\ zusammen mit der Dokumentenklasse \DependsIndex{beamer} 
%geladen, dann treten hierbei verschiedentliche Konflikte und Fehler 
%in den Paketen \DependsIndex{caption} und \DependsIndex{subfig} 
%auf. Zwar sind diese Probleme den entsprechenden Paketentwicklern 
%bekannt, jedoch existiert derzeit noch keine geeignete Fehlerbehebung. 
%
%Aus diesem Grund wird das Laden des Pakets \package{subfig} 
%unterdrückt, wenn \fomfod\ zusammen mit der Klasse \package{beamer} 
%verwendet wird. Entsprechende Paketwarnungen werden während des 
%Kompiliervorgangs durch \fomfod\ ausgegeben.
%
%Diese Unterdrückung hat leider auch zur Folge, dass eine Verwendung 
%des Makros \MacroIndex{\DoublePicture} nicht mehr möglich ist! Wird 
%\MacroIndex{\DoublePicture} unter diesen Umständen dennoch verwendet, 
%dann wird in der Präsentation anstelle der einzelnen Bilder eine 
%entsprechende Textmeldung angezeigt.
%
%Wohlgemerkt, die zuvor beschriebenen Probleme treten nur dann auf, 
%wenn \fomfod\ zusammen mit der Dokumentenklasse \package{beamer} 
%verwendet wird!
%
%\section*{\Depends}\addcontentsline{toc}{section}{\Depends}
%
%Dieser Abschnitt verschafft einen Überblick über die Abhängigkeiten 
%des Paket \fomsdt\ zu anderen \LaTeX"~Pakete.
%
%\DescDepends{a4wide} Das Paket zur Verwendung der gesamten verfügbaren 
%Seitengröße für DIN~A4 wird ohne Optionen durch \fomsdt\ geladen.
%
%\DescDepends{caption} Das Paket zur Formatierung von Unter-- und 
%Überschriften für Abbildungen, Tabellen und Listings wird ohne 
%Optionen durch \fomfod\ geladen.
%
%\DescDepends{color} Das Paket zur Unterstützung von farbigen Texten, 
%die in Dokumenten unter anderem für Hyperlinks verwendet werden, wird 
%ohne Optionen durch \fomsdt\ und \fomfod\ geladen.
%
%\DescDepends{fancyhdr} Das Paket zur Unterstützung der Formatierung 
%von Kopf-- und Fußzeilen wird ohne Optionen durch \fomsdt\ geladen.
%
%\DescDepends{fontenc} Das Paket zur Unterstützung verschiedener 
%Schriftarten wird mit der Option \option{T1} durch \fomsdt\ geladen.
%
%\DescDepends{footmisc} Das Paket zur Unterstützung der Formatierung 
%von Fußnoten mit hängendem Einzug wird mit den Optionen \option{hang} 
%und \option{stable} durch \fomsdt\ geladen.
%
%\DescDepends{gloss} Das Paket zur Erzeugung des Sachwortverzeichnisses 
%wird mit der Option \option{german} durch \fomdes\ geladen, wenn 
%dieser Stil zuvor mit der Option \option{glossary} geladen wurde. 
%Wurde die Option \option{glossrefpage} ebenfalls mit angegeben, dann 
%wird das Paket \package{gloss} zusätzlich mit der Option 
%\option{refpages} geladen.
%
%\DescOnlyNoIdx{Achtung!\index{Glossar>Achtung}} Eventuell ist das 
%Paket \package{gloss} \emph{nicht} im \LaTeX"~System installiert und 
%muss deshalb nachinstalliert werden, wenn in der wissenschaftlichen 
%Arbeit ein Glossars verwendet werden soll! Empfohlen wird die 
%Installation des Pakets \package{gloss} in der Version v1.5.2 vom 
%26.~07.~2002 (oder höher).
%
%\DescDepends{graphicx} Das Paket zur Grafikunterstützung wird ohne 
%Optionen durch \fomfod\ und \fomisc\ geladen. 
%
%\DescDepends{hyperref} Das Paket zur Unterstützung von Hyperlinks 
%wird mit den Optionen \option{colorlinks = true}, 
%\option{bookmarks = true} und \option{plainpages = false} geladen. 
%Es wird durch \fomsdt\ nur dann geladen, wenn ein Dokument mit dem 
%Programm \CommandIndex{pdflatex} erstellt wird.
%
%\DescDepends{ifpdf} Das Paket zur Prüfung des Ausgabeformats PDF 
%bei Verwendung des Programms \CommandIndex{pdflatex} wird ohne 
%Optionen durch \fomsdt, \fomdss\ und \fomdes\ geladen.
%
%\DescDepends{ifthen} Das Paket zur Unterstützung von 
%Bedingungsabfragen wird zur intern Auswertung von Übergabeparameter 
%verwendet und durch \fomsdt, \fomfod, \fomdes\ und \fomisc\ geladen.
%
%\DescDepends{inputenc} Das Paket zur Unterstützung des Zeichensatzes 
%für Eingabedaten wird mit der Option \option{latin1} durch \fomsdt\ 
%geladen. 
%
%\DescDepends{listings} Das Paket zur Unterstützung von Codelistings 
%wird ohne Optionen durch \fomfod\ geladen.
%
%\DescDepends{makeidx} Das Paket zur Unterstützung der Indexerstellung 
%wird ohne Optionen durch \fomdes\ geladen, wenn dieser Stil mit zuvor 
%der Option \option{index} geladen wurde.
%
%\DescDepends{multicol} Das Paket zur Unterstützung der mehrerer 
%Spalten wird ohne Optionen durch \fomdes\ geladen, wenn dieser Stil 
%zuvor mit der Option \option{index} geladen wurde.
%
%\DescDepends{natbib} Das Paket zur Erzeugung des 
%Literaturverzeichnisses wird mit den Optionen \option{square} und 
%\option{numbers} durch \fomdes\ geladen, wenn dieser Stil zuvor 
%\emph{nicht} mit der Option \option{nobibliography} geladen wurde. 
%In diesem Fall erfolgt die Erzeugung eines Literaturverzeichnisses 
%unter Verwendung des DIN"~gerechten Verzeichnisstils \defval{dinat}.
%
%\DescOnlyNoIdx{Achtung!\index{Literaturverzeichnis>Achtung}} 
%Eventuell ist die Stildatei \FileIndex{dinat.bst} zur DIN"~gerechten 
%Literaturverzeichniserstellung \emph{nicht} im \LaTeX"~System 
%installiert und muss deshalb nachinstalliert werden!
%
%\DescDepends{ngerman} Das Paket zur Unterstützung der 
%Besonderheiten der deutschen Sprache wird ohne Optionen durch 
%\fomsdt\ geladen.
%
%\DescDepends{nomencl} Das Paket zur Erstellung des 
%Abkürzungsverzeichnisses wird nur dann geladen, wenn \fomdss\ zuvor 
%mit der Option \option{ab\-bre\-via\-tion} geladen wurde. In diesem 
%Fall wird \package{nomencl} mit der Option \option{german} geladen. 
%Wurde \fomdss\ ebenfalls mit der Option \option{abbrevrefpage} 
%geladen, dann wird \package{nomencl} zusätzlich mit der Option 
%\option{refpage} geladen.
%
%\DescOnlyNoIdx{Achtung!\index{Abkürzungsverzeichnis>Achtung}} 
%\package{nomencl} ist grundsätzlich \emph{nicht} im \LaTeX"~System 
%installiert und muss deshalb eventuell nachinstalliert werden! Auf 
%einigen Systemen ist dieses Paket bereits in einer älteren und leider 
%auch inkompatiblen Version installiert. In diesem Fall sollte die 
%vorinstallierte Version des Pakets \package{nomencl} mindestens durch 
%die Version v4.2 vom 22.~09.~2005 (oder höher) ersetzt werden!
%
%\DescDepends{rotating} Das Paket zur Unterstützung von rotierten 
%Texten wird ohne Optionen durch \fomsdt\ geladen.
%
%\DescDepends{subfig} Das Paket Unterstützung von Untergrafiken wird 
%ohne Optionen durch \fomfod\ geladen.
%
%\DescDepends{tabularx} Das Paket zur Unterstützung von Tabellen mit 
%fester Spaltenbreite wird ohne Optionen durch \fomfod\ geladen.
%
%\DescDepends{textfit} Das Paket zur Skalierung von Texten wird ohne 
%Optionen durch \fomisc\ geladen.
%
%\DescDepends{textpos} Das Paket zur Unterstützung spezieller Textboxen 
%wird mit der Option \option{overlay} durch \fomsdt\ geladen, wenn die 
%Klasse zuvor entweder mit der Option \option{moderntitle} oder der 
%Option \option{classictitle} geladen wurde.
%
%\DescDepends{ulem} Das Paket zur Unterstützung von Unterstreichungen 
%im Abkürzungsverzeichnisses wird mit der Option \option{normalem} 
%geladen. Dieses Paket wird nur dann geladen, wenn \fomdss\ mit der 
%Option \option{abbreviation} geladen wurde. Weiterhin wird 
%\package{ulem} ohne weitere Einschränkung durch \fompar, ebenfalls 
%mit der Option \option{normalem}, geladen. 
%
%\StopEventually{%
%\renewcommand\refname{Weiterführende Literatur}
%\phantomsection\addcontentsline{toc}{section}{\refname}
%\csname begin\endcsname{thebibliography}{1}
%\bibitem{listings07}
%\textsc{Brooks}, Moses; \textsc{Carsten}, Heinz: The \package{Listings} 
%Package. Januar 2007
%\ifpdf
%\href{http://tug.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf}
%{(Link zu: \tt{\small listings.pdf}).}
%\else
%URL http://tug.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf.
%\fi
%\bibitem{tabularx99}
%\textsc{Carlisle}, David: The tabularx package. Januar 1999
%\ifpdf
%\href{http://www.ctan.org/tex-archive/macros/latex/required/tools/tabularx.pdf}
%{(Link zu: \tt{\small tabularx.pdf}).}
%\else
%URL http://www.ctan.org/tex-archive/macros/latex/required/tools/tabularx.pdf.
%\fi
%\bibitem{natbib07}
%\textsc{Daly}, Patrick~W.: Natural Sciences Citations and References. 
%Februar 2007
%\ifpdf
%\href{http://tug.ctan.org/tex-archive/macros/latex/contrib/natbib/natbib.pdf}
%{(Link zu: \tt{\small natbib.pdf}).}
%\else
%URL http://tug.ctan.org/tex-archive/macros/latex/contrib/natbib/natbib.pdf.
%\fi
%\bibitem{gloss02}
%\textsc{Díiaz}, Jose Luis; \textsc{Bezos}, Javier: The \package{gloss} 
%Package. Juli 2002
%\ifpdf
%\href{http://tug.ctan.org/tex-archive/macros/latex/contrib/gloss/gloss.pdf}
%{(Link zu: \tt{\small gloss.pdf}).}
%\else
%URL http://tug.ctan.org/tex-archive/macros/latex/contrib/gloss/gloss.pdf.
%\fi
%\bibitem{latex4wp03}
%\textsc{Gonzato}, Guido: \LaTeX\ for Word Processor Users. Dezember 
%2003
%\ifpdf
%\href{ftp://ftp.ntg.nl/mirror/tex-archive/info/latex4wp/latex4wp.pdf}
%{(Link zu: \tt{\small latex4wp.pdf}).}
%\else
%URL ftp://ftp.ntg.nl/mirror/tex-archive/info/latex4wp/latex4wp.pdf.
%\fi
%\bibitem{Goossens93}
%\textsc{Goossens}, Michel; \textsc{Samarin}, Alexander; 
%\textsc{Mittelbach}, Frank: The \LaTeX\ companion. Addison-Wesley 
%Professional; Auflage: 2nd ed.; Mai 2004.
%\bibitem{latex1}
%\textsc{Jürgens}, Manuela: \LaTeX\ - eine Einführung und ein bisschen 
%mehr. März 2000
%\ifpdf
%\href{ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a026.pdf}
%{(Link zu: \tt{\small a026.pdf}).}
%\else
%URL ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a026.pdf.
%\fi
%\bibitem{latex2}
%\textsc{Jürgens}, Manuela: \LaTeX\ - Fortgeschrittene Anwendungen. 
%Oktober 1995
%\ifpdf
%\href{ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a027.pdf}
%{(Link zu: \tt{\small a027.pdf}).}
%\else
%URL ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a027.pdf.
%\fi
%\bibitem{Kopka98}
%\textsc{Kopka}, Helmut; \textsc{Daly}, Patrick~W.: A guide to \LaTeX. 
%Addison-Wesley Professional; 3 Sub edition; Januar 1999.
%\bibitem{makeindex87}
%\textsc{Lamport}, Leslie: \textsl{MakeIndex:} An Index Processor For 
%\LaTeX. Februar 1987
%\ifpdf
%\href{http://tug.ctan.org/tex-archive/indexing/makeindex/doc/makeindex.pdf}
%{(Link zu: \tt{\small makeindex.pdf}).}
%\else
%URL http://tug.ctan.org/tex-archive/indexing/makeindex/doc/makeindex.pdf.
%\fi
%\bibitem{makeidx98}
%\textsc{Mösgen}, Peter: Makeindex, Sachregister erstellen mit \LaTeX. 
%Mai 1998
%\ifpdf
%\href{http://www1.ku-eichstaett.de/urz/schriften/makeidx.pdf}
%{(Link zu: \tt{\small makeidx.pdf}).}
%\else
%URL http://www1.ku-eichstaett.de/urz/schriften/makeidx.pdf.
%\fi
%\bibitem{lshort07}
%\textsc{Oetiker}, Tobias; \textsc{Partl}, Hubert; \textsc{Schlegl}, 
%Elisabeth; \textsc{Hyna}, Irene: The Not So Short Introduction to 
%\LaTeXe. Juni 2007
%\ifpdf
%\href{http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf}
%{(Link zu: \tt{\small lshort.pdf}).}
%\else
%URL http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf.
%\fi
%\bibitem{epslatex06}
%\textsc{Reckdahl}, Keith: Using Imported Graphics in \LaTeX\ and 
%pdf\LaTeX. Januar 2006
%\ifpdf
%\href{ftp://ftp.tex.ac.uk/tex-archive/info/epslatex.pdf}
%{(Link zu: \tt{\small epslatex.pdf}).}
%\else
%URL ftp://ftp.tex.ac.uk/tex-archive/info/epslatex.pdf.
%\fi
%\bibitem{l2kurz03}
%\textsc{Schmidt}, Walter; \textsc{Knappen}, Jörg; \textsc{Partl}, 
%Hubert; \textsc{Hyna}, Irene: \LaTeXe-Kurzbeschreibung. April 2003
%\ifpdf
%\href{http://www.ctan.org/tex-archive/info/lshort/german/l2kurz.pdf}
%{(Link zu: \tt{\small l2kurz.pdf}).}
%\else
%URL http://www.ctan.org/tex-archive/info/lshort/german/l2kurz.pdf.
%\fi
%\bibitem{nomencl05}
%\textsc{Veytsman}, Boris; \textsc{Schandl}, Bernd: \package{nomencl}: 
%A Package to Create a Nomenclature. September 2005
%\ifpdf
%\href{http://tug.ctan.org/tex-archive/macros/latex/contrib/nomencl/nomencl.pdf}
%{(Link zu: \tt{\small nomencl.pdf}).}
%\else
%URL http://tug.ctan.org/tex-archive/macros/latex/contrib/nomencl/nomencl.pdf.
%\fi
%\csname end\endcsname{thebibliography}
%
%\phantomsection\addcontentsline{toc}{section}{Index}
%\PrintIndex}
%
%
%
%\section{Implementierung}
%\iffalse
%    \begin{macrocode}
%<*fomsdt.cls>
%    \end{macrocode}
%\fi
%%----------------------------------------------------------
% 
% File:        fomsdt.cls
% 
% Description: Definition file for the LaTeX document class 
%              "FOM Scientific Document Template".
% 
% Author:      Axel Kesseler
% 
% Version:     1.0.8
%
% Date:        2007/10/29
%
%-----------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{fomsdt}
  [2007/10/29 v1.0 FOM Scientific Document Template]
%-----------------------------------------------------------
% Declaration of all package options.
%-----------------------------------------------------------
% Option 'moderntitle' enables the usage of title pages with 
% modern look and feel. A special title page style is NOT 
% used by default.
\newif\if@usetitlemodern
\@usetitlemodernfalse
\DeclareOption{moderntitle}
  {\@usetitlemoderntrue%
   \@usetitleclassicfalse}
% Option 'classictitle' enables the usage of title pages with 
% modern look and feel. A special title page style is NOT 
% used by default.
\newif\if@usetitleclassic
\@usetitleclassicfalse
\DeclareOption{classictitle}
  {\@usetitlemodernfalse%
   \@usetitleclassictrue}
% Option 'coloredlinks' enables the usage of colored links 
% to highlight cross references within a document. Colored 
% links are NOT used by default.
\newif\if@usecoloredlinks
\@usecoloredlinksfalse
\DeclareOption{coloredlinks}
  {\@usecoloredlinkstrue}
% Define a value to store the width of a separation line 
% between the page heading and the rest of the text. The 
% default width of this line is set to 0.5pt.
\newlength{\@headrule}
\setlength{\@headrule}{0.5pt}
% Option 'noheadrule' disables the usage of a separation 
% line between page heading and the rest of the text simply 
% through reset the value of '@headrule' to 0pt. The heading 
% separation is used by default.
\DeclareOption{noheadrule}
  {\setlength{\@headrule}{0pt}}
% Option 'nochapter' disables the usage of chapter within 
% page headings. The chapter within page headings will be 
% used by default.
\newif\if@usechapter
\@usechaptertrue
\DeclareOption{nochapter}
  {\@usechapterfalse}
% Option 'lockflag' enables the usage of the "lock flag" 
% on the page behind the title page. The "lock flag" is 
% NOT used by default.
\newif\if@uselockflag
\@uselockflagfalse
\DeclareOption{lockflag}
  {\@uselockflagtrue}
% Option 'affidavit' enables the usage of the affidavit 
% on the last page. The affidavit is NOT used by default.
\newif\if@useaffidavit
\@useaffidavitfalse
\DeclareOption{affidavit}
  {\@useaffidavittrue}
%-----------------------------------------------------------
% Declare additionally options which are used to configure 
% the base class 'article'. All these options are already 
% defined within the base class!
%-----------------------------------------------------------
% This IF is used to distinguish between default font size 
% and a font size given by the user. The assumption is that 
% the user hasn't used this originally article-class option.
\newif\if@defaultfontsize
\@defaultfontsizetrue
% Declare supported font size options.
\DeclareOption{10pt}{%
  \@defaultfontsizefalse
  \PassOptionsToClass{10pt}{article}}
\DeclareOption{11pt}{%
  \@defaultfontsizefalse
  \PassOptionsToClass{11pt}{article}}
% This IF is used to distinguish between default page size 
% and a page size given by the user. The assumption is that 
% the user hasn't used this originally article-class option.
\newif\if@defaultpagesize
\@defaultpagesizetrue
% Declare supported paper size options.
\DeclareOption{a5paper}{%
  \@defaultpagesizefalse
  \PassOptionsToClass{a5paper}{article}}
\DeclareOption{b5paper}{%
  \@defaultpagesizefalse
  \PassOptionsToClass{b5paper}{article}}
\DeclareOption{letterpaper}{%
  \@defaultpagesizefalse
  \PassOptionsToClass{letterpaper}{article}}
\DeclareOption{legalpaper}{%
  \@defaultpagesizefalse
  \PassOptionsToClass{legalpaper}{article}}
\DeclareOption{executivepaper}{%
  \@defaultpagesizefalse
  \PassOptionsToClass{executivepaper}{article}}
% Pass all further (unknown for class 'fomsdt') options 
% to base class 'article'.
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
% Use default settings only if necessary!
\if@defaultfontsize
  \PassOptionsToClass{12pt}{article}
\fi
\if@defaultpagesize
  \PassOptionsToClass{a4paper}{article}
\fi
%-----------------------------------------------------------
% Now load the base class 'article'.
%-----------------------------------------------------------
\ProcessOptions\relax%
\LoadClass{article}
%-----------------------------------------------------------
% Load all depending packages.
%-----------------------------------------------------------
% Load package 'inputenc' with option 'latin1' to specify 
% that 'latin1' input encoding should use.
\RequirePackage[latin1]{inputenc}
% Load package 'ngerman' to support german stuff.
\RequirePackage{ngerman}
% Load package 'fontenc' with option 'T1' to specify the 
% font encodings to be used.
\RequirePackage[T1]{fontenc}
% Load package 'color' to support the usage of different 
% text colors.
\RequirePackage{color}
% Internally used to check macro parameters.
\RequirePackage{ifthen}
% Load package 'a4wide' to support the usage of the whole 
% printable area of an A4 page.
\RequirePackage{a4wide}
% Load package 'footmisc' with options 'hang' and 'stable'
% to support special footnote layout.
\RequirePackage[hang,stable]{footmisc}
% Load package 'fancyhdr' to support different layouts of
% of headings and footers.
\RequirePackage{fancyhdr}
% Used to check the output format.
\RequirePackage{ifpdf}
%-----------------------------------------------------------
% Adjust page size and page margin.
%-----------------------------------------------------------
\setlength{\topmargin}     {0cm}
\setlength{\marginparsep}  {0cm}
\setlength{\marginparwidth}{0cm}
\setlength{\oddsidemargin} {1cm}
\setlength{\evensidemargin}{1cm}
\setlength{\headheight}    {1cm}
\setlength{\headsep}       {0.8cm}
%% REMARK: Set text width BEFORE adjusting the settings 
%%         of headings and footer because it's using it!
%\addtolength{\textwidth}   {-2cm}
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-35mm}
\addtolength{\textwidth}{-35mm}
%-----------------------------------------------------------
% General paragraph settings.
%-----------------------------------------------------------
\newlength{\default@parskip}
\setlength{\default@parskip}{%
  0.5\baselineskip plus 0.5ex minus 0.3ex}
\setlength{\parskip}{\default@parskip}
\setlength{\parindent}{0mm}
\sloppy
%-----------------------------------------------------------
% Settings for footnotes.
%-----------------------------------------------------------
\setlength{\footnotemargin}{2.6ex}
%-----------------------------------------------------------
% Settings for headings and footer.
%-----------------------------------------------------------
\pagestyle{fancy}
\if@usechapter
  \renewcommand{\sectionmark}[1]{\markboth{#1}{#1}}
\else
  \renewcommand{\sectionmark}[1]{}
  \renewcommand{\markboth}[2]{}{}
\fi
\fancyhf{}
\fancyhead[R]{\nouppercase{\rightmark}}
\fancyhead[R]{\nouppercase{\leftmark}}
\fancyfoot[C]{\vspace{1ex}\small{\thepage}}
\renewcommand{\headrulewidth}{\@headrule}
%% ATTENTION: Leave a single line empty 
%%            after the next code line!
\fancypagestyle{plain}

%-----------------------------------------------------------
% Clubber and widow settings.
%-----------------------------------------------------------
\clubpenalty=10000
\widowpenalty=10000
\displaywidowpenalty=10000
%-----------------------------------------------------------
% Definition of lock flag depending macros
%-----------------------------------------------------------
\newif\if@siglockflag
\newif\if@fomlockflag
\newif\if@stdlockflag
% If the user sets the option 'lockflag' then the lock flag 
% will be generated on a blank page automatically. This page 
% directly follows the title page. 
\newcommand\print@lockflag{%
% Do not modify current page style if option 'lockflag' is 
% NOT used.
\if@uselockflag
  \clearpage\thispagestyle{empty}
\fi
% Start with lock flag.
\parbox[b]{\textwidth}{\list{}{%
  \setlength{\listparindent}{0em}
  \setlength{\itemindent}{\listparindent}
  \setlength{\leftmargin}{15mm}
  \setlength{\rightmargin}{\leftmargin}
  \setlength{\parsep}{\default@parskip}
  \setlength{\itemsep}{\parsep}}
  \item\textbf{\large\lockflag@header}
  \item\lockflag@text
	% Print the signature if it should be used.
  \if@siglockflag
    \par\vspace{6em}
    \addtolength{\textwidth}{-2\leftmargin}
    \parbox[b]{0.45\textwidth}{%
      \raggedright{%
        {\lockflag@date}\par%
         \footnotesize\lockflag@sigleft}} 
    \parbox[b]{0.54\textwidth}{%
      \raggedleft{%
        \footnotesize\lockflag@sigright}}
    \addtolength{\textwidth}{2\leftmargin}
  \fi
\endlist}%
% Do not use a new page if option 'lockflag' is NOT used.
\if@uselockflag\clearpage\fi}
% Data of this macro will be used within lock flag 'fom' 
% and 'std'.
\newcommand{\LockflagCompany}[1]{%
  \def\lockflag@company{#1}}
% Data of this macro will be used within lock flag's 
% signature.
\newcommand{\LockflagDate}[1]{\def\lockflag@date{#1}}
% This macro generates lock flag content depending on given 
% parameter #2.
% ** If parameter #2 equals 'fom' then the FOM stanard lock 
%    flag will be used.
%    -- In this case the macros '\General', '\Title' 
%       and '\LockflagCompany' has to be used to set 
%       appropriated data beforehand!
% ** If parameter #2 equals 'std' then a general lock flag 
%    will be used.
%    -- In this case the macros '\General' and 
%       '\LockflagCompany' has to be used to set 
%       appropriated data beforehand!
% ** Otherwise given parameter #2 will be printed as it is.
%    -- In this case the macros '\General', '\Title' and 
%       '\LockflagCompany' will be ignored within this 
%       context!
% If the given optional parameter #1 equals 'sig' then the 
% lock flag's signature will also be used.
% ** In this case the macro '\LockflagDate' has to be used 
%    to set appropriated data beforehand!
\newcommand\LockflagContent[2][]{%
  \ifthenelse{\equal{#1}{sig}}%
    {\@siglockflagtrue}%
    {\@siglockflagfalse}%
  \ifthenelse{\equal{#2}{std}}%
    {\@stdlockflagtrue%
     \@fomlockflagfalse}%
    {\ifthenelse{\equal{#2}{fom}}%
      {\@fomlockflagtrue%
       \@stdlockflagfalse}%
      {\@stdlockflagfalse%
       \@fomlockflagfalse}}%
	% Prepare general lock flag content.
  \if@stdlockflag
    \long\def\lockflag@text{Die vorliegende {\@General} %
    beinhaltet interne vertrauliche Informationen der %
    Firma {\lockflag@company}. Die Weitergabe des Inhalts %
    der {\@General} im Gesamten oder in Teilen sowie das %
    Anfertigen von Kopien oder Abschriften -- auch in %
    digitaler Form -- sind grundsätzlich untersagt. %
    Ausnahmen bedürfen der schriftlichen Genehmigung %
    der Firma {\lockflag@company}.}%
	% Prepare FOM specific lock flag content.
  \else\if@fomlockflag
    \long\def\lockflag@text{Die vorliegende {\@General} %
    mit dem Titel {\@Title} enthält unternehmensinterne %
    Daten der Firma {\lockflag@company}. Daher ist sie %
    nur zur Vorlage bei der FOM sowie den Begutachtern %
    der Arbeit bestimmt. Für die Öffentlichkeit und %
    dritte Personen darf sie nicht zugänglich sein.}%
	% Just use data of parameter #2.
  \else
    \long\def\lockflag@text{#2}
\fi\fi}%
% This macro allows to change lockflag's left signature 
% content. The default value for the left signature side 
% is set to '(Ort, Datum)'.
\newcommand{\LockflagSigLeft}[1]{%
  \def\lockflag@sigleft{#1}}
% This macro allows to change lockflag's right signature 
% content. The default value for the right signature side 
% is set to '(Eigenhändige Unterschrift)'.
\newcommand{\LockflagSigRight}[1]{%
  \def\lockflag@sigright{#1}}
% This macro allows to change the content of lockflag's 
% header. The default value of the lockflag header is set 
% to 'Sperrvermerk'.
\newcommand{\LockflagHeader}[1]{%
  \def\lockflag@header{#1}}
% Set lock flag's defaults to avoid error messages.
\LockflagDate{}
\LockflagCompany{\textbf{\textsl{???}}}
\LockflagContent{std}
\LockflagSigLeft{(Ort, Datum)}
\LockflagSigRight{(Eigenhändige Unterschrift)}
\LockflagHeader{Sperrvermerk}
%-----------------------------------------------------------
% Definition of affidavit depending macros
%-----------------------------------------------------------
\newif\if@sigaffidavit
\newif\if@stdaffidavit
\newcommand\print@affidavit{%
	% Do not print the affidavit if the option 'affidavit' 
	% is not used.
  \if@useaffidavit
		% Ensure an empty new page.
    \clearpage\thispagestyle{empty}
		% Start with affidavit.
    \parbox[b]{\textwidth}{\list{}{%
      \setlength{\listparindent}{0em}
      \setlength{\itemindent}{\listparindent}
      \setlength{\leftmargin}{15mm}
      \setlength{\rightmargin}{\leftmargin}
      \setlength{\parsep}{\default@parskip}
      \setlength{\itemsep}{\parsep}}
      \item\textbf{\large\affidavit@header}
      \item\affidavit@text
			% Print the signature if it should be used.
      \if@sigaffidavit
        \par\vspace{6em}
        \addtolength{\textwidth}{-2\leftmargin}
        \parbox[b]{0.45\textwidth}{%
          \raggedright{%
            {\affidavit@date}\par%
             \footnotesize\affidavit@sigleft}}
        \parbox[b]{0.54\textwidth}{%
          \raggedleft{%
            \footnotesize\affidavit@sigright}}
        \addtolength{\textwidth}{2\leftmargin}
      \fi
    \endlist}
  \fi}
% Data of this macro will be used within affidavit's 
% signature.
\newcommand{\AffidavitDate}[1]{\def\affidavit@date{#1}}
% This macro generates affidavit's content depending on 
% given parameter #2.
% ** If parameter #2 equals 'std' then a general affidavit 
%    will be used.
%    -- In this case the macro '\General' has to be used to 
%       set appropriated data beforehand!
% ** Otherwise the given parameter #2 will be printed as it 
%    is.
%    -- In this case the macro '\General' will be ignored 
%       within this context!
% If the given optional parameter #1 equals 'sig' then the 
% affidavit's signature will also be used.
% ** In this case the macro '\AffidavitDate' has to be used 
%    to set appropriated data beforehand!
\newcommand\AffidavitContent[2][]{
  \ifthenelse{\equal{#1}{sig}}
    {\@sigaffidavittrue}
    {\@sigaffidavitfalse}
  \ifthenelse{\equal{#2}{std}}
    {\@stdaffidavittrue}
    {\@stdaffidavitfalse}
	% Prepare general affidavit content.
  \if@stdaffidavit
    \long\def\affidavit@text{Hiermit versichere ich, %
    dass die vorliegende {\@General} von mir selbstständig %
    und ohne unerlaubte Hilfe angefertigt worden ist, %
    insbesondere, dass ich alle Stellen, die wörtlich oder %
    annähernd wörtlich aus Veröffentlichungen entnommen %
    sind, durch Zitate als solche gekennzeichnet habe. %
    Ich versichere auch, dass die von mir eingereichte %
    schriftliche Version mit der digitalen Version %
    übereinstimmt. Weiterhin erkläre ich, dass die %
    {\@General} in gleicher oder ähnlicher Form noch %
    keiner anderen Prüfungsbehörde vorgelegen hat.}%
	% Just use data of parameter #2.
  \else
    \long\def\affidavit@text{#2}
  \fi}
% This macro allows to change affidavit's left signature 
% content. The default value for the left signature side 
% is set to '(Ort, Datum)'.
\newcommand{\AffidavitSigLeft}[1]{%
  \def\affidavit@sigleft{#1}}
% This macro allows to change affidavit's right signature 
% content. The default value for the right signature side 
% is set to '(Eigenhändige Unterschrift)'.
\newcommand{\AffidavitSigRight}[1]{%
  \def\affidavit@sigright{#1}}
% This macro allows to change the content of affidavit's 
% header. The default value of the affidavit header is set 
% to 'Ehrenwörtliche Erklärung'.
\newcommand{\AffidavitHeader}[1]{%
  \def\affidavit@header{#1}}
% Set affidavit's defaults to avoid error messages.
\AffidavitDate{}
\AffidavitContent{std}
\AffidavitSigLeft{(Ort, Datum)}
\AffidavitSigRight{(Eigenhändige Unterschrift)}
\AffidavitHeader{Ehrenwörtliche Erklärung}
%-----------------------------------------------------------
% PDF document settings.
%-----------------------------------------------------------
\ifpdf
	% Load hyperref-package only for PDF output formats.
  \RequirePackage[%
    colorlinks=true,%
    bookmarks=true,%
    plainpages=false%
  ]{hyperref}%
	% Define PDF properties. Every of the following macros 
	% uses one obligational parameter which changes the 
	% corresponding PDF property.
  \newcommand{\PDFTitle}[1]{%
    \hypersetup{pdftitle={#1}}}
  \newcommand{\PDFAuthor}[1]{%
    \hypersetup{pdfauthor={#1}}}
  \newcommand{\PDFSubject}[1]{%
    \hypersetup{pdfsubject={#1}}}
  \newcommand{\PDFProducer}[1]{%
    \hypersetup{pdfproducer={#1}}}
	% Set defaults for PDF properties.
  \PDFTitle{}
  \PDFAuthor{}
  \PDFSubject{}
  \PDFProducer{PDFLaTeX}
	% Define hyperlink color for the dokument.
  \if@usecoloredlinks
    \definecolor{linkcolor}{rgb}{0,0,0.75}
  \else
    \definecolor{linkcolor}{rgb}{0,0,0}
  \fi
	% Setup hyperlink color for the whole document.
  \hypersetup{%
    pdfborder         = 0 0 0,
    bookmarksopen     = true,
    bookmarksnumbered = true,
    linkcolor         = linkcolor,
    citecolor         = linkcolor,
    filecolor         = linkcolor,
    urlcolor          = linkcolor}
\else
	% Define it to avoid error messages.
  \newcommand{\PDFTitle}[1]{#1}
  \newcommand{\PDFAuthor}[1]{#1}
  \newcommand{\PDFSubject}[1]{#1}
  \newcommand{\PDFProducer}[1]{#1}
\fi
%-----------------------------------------------------------
% Document's title settings.
%-----------------------------------------------------------
\newcommand{\General}[1]{%
  \def\@General{#1}}
\newcommand{\Date}[1]{%
  \def\@Date{#1}}
\newcommand{\Institute}[1]{%
  \def\@Institute{#1}}
\newcommand{\Course}[1]{%
  \def\@Course{#1}}
\newcommand{\Semester}[1]{%
  \def\@Semester{#1}}
\newcommand{\Subject}[1]{%
  \def\@Subject{#1}}
\newcommand{\Title}[1]{%
  \def\@Title{#1}}
\newcommand{\Professor}[2][Betreuer:]{%
  \def\@ProfessorLabel{#1}\def\@ProfessorName{#2}}
\newcommand{\Student}[2][Autor:]{%
  \def\@StudentLabel{#1}\def\@StudentName{#2}}
%-----------------------------------------------------------
% Set title default values.
%-----------------------------------------------------------
% All values which are not initialized with defaults will
% produce an error message while compilation!
\General  {Hausarbeit}
\Date     {Essen, den \today}
\Institute{FOM -- Fachhochschule für %
           Oekonomie \& Management Essen}
\Course   {Berufsbegleitender Studiengang}
\Semester {}
%-----------------------------------------------------------
% Configure title page.
%-----------------------------------------------------------
\if@usetitlemodern
	% Load further required packages.
  \RequirePackage{rotating}
  \RequirePackage[overlay]{textpos}
	% Overwrite command for titel creation.
  \renewcommand\maketitle{%
    \begin{titlepage}%
			% Reset page margin temporarily.
      \setlength{\topmargin}     {0cm}
      \setlength{\headheight}    {0cm}
      \setlength{\headsep}       {0cm}
      \setlength{\oddsidemargin} {0cm}
      \setlength{\evensidemargin}{0cm}
      \setlength{\marginparsep}  {0cm}
      \setlength{\marginparwidth}{0cm}
      \setlength{\footskip}      {0cm}
			% Save original text height and width!
      \newlength{\OLDtextheight}
      \newlength{\OLDtextwidth}
      \setlength{\OLDtextheight}{\textheight}
      \setlength{\OLDtextwidth}{\textwidth}
			% Increase text height and width!
      \setlength{\textheight}  {\paperheight}
      \addtolength{\textheight}{-2in}
      \setlength{\textwidth}   {\paperwidth}
      \addtolength{\textwidth} {-2in}
			% Used for a proper PDF linkage.
      \renewcommand*{\thepage}{Title}
			% Textbox for rotated left side text.
        \begin{textblock*}{0.14\textwidth}(0pt,0pt)%
        \textcolor[rgb]{0.8,0.8,0.8}{%
          \begin{sideways}%
            \parbox{\textheight}{%
              \begin{flushright}%
                \usefont{T1}{phv}{bx}{sl}%
                  \selectfont\Huge\@General\normalfont
              \end{flushright}}%
          \end{sideways}%
        \rule{1pt}{\textheight}}%
      \end{textblock*}%
			% Create textbox for main part.
      \begin{textblock*}%
        {0.88\textwidth}(0.14\textwidth,0pt)%
        \parbox[t][0.86\textheight][c]{\textwidth}{%
          \begin{flushright}%
              {\huge\bf\@Institute \par}\vspace{18mm}%
              {\large\bf\@Course   \par}\vspace{5mm}%
              {\bf\@Semester       \par}\vspace{18mm}%
              {\Large\bf\@Subject  \par}\vspace{18mm}%
              {\Large\bf\@Title    \par}%
          \end{flushright}}%
      \end{textblock*}%
			% Create author textbox below main part.
      \begin{textblock*}%
        {0.88\textwidth}(0.14\textwidth,0.88\textheight)%
      \begin{minipage}[t][0.12\textheight][b]{\textwidth}%
        \begin{list}{}{%
          \setlength{\leftmargin}{5em}%
          \setlength{\labelwidth}{0.9\leftmargin}%
          \setlength{\labelsep}{0.1\leftmargin}%
          \renewcommand{\makelabel}[1]{##1\hfil}}%
        \item[\@ProfessorLabel]\@ProfessorName%
        \item[\@StudentLabel]\@StudentName%
        \item[\@Date]%
        \end{list}%
      \end{minipage}%
      \end{textblock*}%
			% Restore original text height and width!
      \setlength{\textheight}{\OLDtextheight}
      \setlength{\textwidth}{\OLDtextwidth}  
    \end{titlepage}
    \if@uselockflag
			% In this case the page counter has to be adjusted. 
			% This is necessary to suppress LaTeX-warning 
			% "destination with the same identifier".
      \setcounter{page}{0}
      \print@lockflag
      \setcounter{page}{1}
    \fi
  }%
\else\if@usetitleclassic
	% Load further required packages.
  \RequirePackage[overlay]{textpos}
	% Overwrite command for titel creation.
  \renewcommand\maketitle{%
    \begin{titlepage}%
			% Used for a proper PDF linkage.
      \renewcommand*{\thepage}{Title}
			% Create textbox for main part.
      \begin{textblock*}{\textwidth}(0pt,0pt)%
        \parbox[t][0.86\textheight][c]{\textwidth}{%
          \begin{center}
              {\huge\bf\@Institute \par}\vspace{18mm}%
              {\large\bf\@Course   \par}\vspace{5mm}%
              {\bf\@Semester       \par}\vspace{18mm}%
              {\Large\bf\@Subject  \par}\vspace{18mm}%
              {\Large\bf\@Title    \par}%
          \end{center}}%
      \end{textblock*}%
			% Create author textbox below main part.
      \begin{textblock*}{\textwidth}(0pt,0.90\textheight)%
      \begin{minipage}[t][0.12\textheight][b]{\textwidth}%
        \begin{list}{}{%
          \setlength{\leftmargin}{4.7em}%
          \setlength{\labelwidth}{0.9\leftmargin}%
          \setlength{\labelsep}{0.1\leftmargin}%
          \renewcommand{\makelabel}[1]{##1\hfil}}%
        \item[\@ProfessorLabel]\@ProfessorName%
        \item[\@StudentLabel]\@StudentName%
        \item[\@Date]%
        \end{list}%
      \end{minipage}%
      \end{textblock*}%
    \end{titlepage}
    \if@uselockflag
			% In this case the page counter has to be adjusted. 
			% This is necessary to suppress LaTeX-warning 
			% "destination with the same identifier".
      \setcounter{page}{0}
      \print@lockflag
      \setcounter{page}{1}
    \fi
  }%
\else
	% For scientific documents the usage of the standard 
	% LaTeX title macros is not recommended. In this case 
	% print a warnig to inform the user about this.
  \ClassWarningNoLine{fomsdt}%
    {Using standard LaTeX-Title is not recommended!}
\fi\fi 
%-----------------------------------------------------------
% Do all jobs at the end of the document.
%-----------------------------------------------------------
\AtEndDocument{%
	% The affidavit should always be on the last page!
  \print@affidavit%
}%
%
%-----------------------------------------------------------
% Finish class file.
%%----------------------------------------------------------
%\iffalse
%    \begin{macrocode}
%</fomsdt.cls>
%    \end{macrocode}
%\fi
%\iffalse
%    \begin{macrocode}
%<*fomdes.sty>
%    \end{macrocode}
%\fi
%%----------------------------------------------------------
% 
% File:        fomdes.sty (FOM Document End Section)
% 
% Description: This file defines macros for a document's  
%              end section. A scientific document mostly  
%              includes a glossary, an index, a list of  
%              code listings etc.
%
% Author:      Axel Kesseler
% 
% Version:     1.0.7
%
% Date:        2007/10/29
%
%-----------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{fomdes}
  [2007/10/29 v1.0 FOM Document End Section]
%-----------------------------------------------------------
% Declaration of all package options.
%-----------------------------------------------------------
% Option 'index' enables the usage of an index wihtin the 
% document's end section because an index is NOT used by 
% default.
\newif\if@useindex
\@useindexfalse
\DeclareOption{index}
  {\@useindextrue}
% Option 'listings' enables the usage of the "table of code
% listings" within the document's end section because the 
% table of code listings is NOT used by default.
\newif\if@uselistings
\@uselistingsfalse
\DeclareOption{listings}
  {\@uselistingstrue}
% Option 'glossary' enables the usage of the glossary within 
% the document's end section because the usage of a glossary 
% is NOT used by default.
\newif\if@useglossary
\@useglossaryfalse
\DeclareOption{glossary}
  {\@useglossarytrue}
% Option 'glossrefpage' enables the usage of a page reference 
% within the glossary because the page reference is NOT used 
% by default.
\newif\if@useglossrefpage
\@useglossrefpagefalse
\DeclareOption{glossrefpage}
  {\@useglossrefpagetrue}
% Option 'nobibliography' avoids a usage of the bibliography 
% within the document's end section. For scientific documents 
% the usage of the bibliography is stricly recommended. 
% That's the reason why the bibliography has to be swiched 
% off explicitly. The bibliography is used by default.
\newif\if@usebibliography
\@usebibliographytrue
\DeclareOption{nobibliography}
  {\@usebibliographyfalse}
% Option 'nopagebreak' avoids the usage of new pages for 
% every single directory list within the document's end 
% section. For scientific documents every directory list 
% should start on a new page. That's the reason why the 
% page break has to be swiched off explicitly. The page 
% break is used by default.
\newif\if@desusenewpage
\@desusenewpagetrue
\DeclareOption{nopagebreak}
  {\@desusenewpagefalse}
% Print a warning if the package receives an unknown option 
% just to inform the user.
\DeclareOption*{\PackageWarningNoLine{fomdes}
  {Unknown option '\CurrentOption'}}
\ProcessOptions\relax%
%-----------------------------------------------------------
% Load all depending packages.
%-----------------------------------------------------------
% Used to check the output format.
\RequirePackage{ifpdf}
% Internally used to check macro parameters.
\RequirePackage{ifthen}
%-----------------------------------------------------------
% Index depending settings and definitions.
%-----------------------------------------------------------
% Definition of an if-statement to distinguish between the 
% usage of single- or multi-columns for the index. This 'if' 
% has to be defined "out of every block"! Otherwise an error 
% message comes up while compilation.
\newif\if@useidxcols
% An index should be used within the current document. 
% 'if@useindex' is TRUE when the user loads the package with 
% option 'index'. By default 'if@useindex' is FALSE.
\if@useindex
	% As mentioned in the package documentation the usage of
	% an index produces a message to inform the user about 
	% "How to handle the index creation". Just print this user 
	% message.
  \typeout{%
    ***************************************************^^J%
    * PLEASE NOTE! Index creation requires to run:^^J%
    * makeindex <file>.idx^^J%
    * But it is recommended to create an index based on^^J%
    * ISO style. For this run:^^J%
    * makeindex <file>.idx -s fomidx.ist^^J%
    * Especially for German index creation users should^^J%
    * use option '-g' to ensure German word ordering^^J%
    * rules according to DIN 5007. In this case run:^^J%
    * makeindex <file>.idx -g -s fomidx.ist^^J%
    ***************************************************}%
	% Load package 'multicol' to support multiple index
	% columns. In conjunction with the support of "suppress 
	% page break" the usage of package 'multicol' is the 
	% "better way" instead the usage of macro '\twocolumn',
	% which always performs a page break.
  \RequirePackage{multicol}
	% Load package 'makeidx' (the core of index creation) and 
	% also activate the index generation.
  \RequirePackage{makeidx}
  \makeindex
	% Following definitions are imported for words starting 
	% with german umlauts in conjunction with an index 
	% creation. Otherwise, words starting with "ä,ö,ü" would 
	% be inserted in the symbols section of the index.
  \newcommand\org@wrindex{}
  \let\org@wrindex\@wrindex
  \def\@wrindex{%
    \edef"{\string"}%
    \def Ä{"A}%
    \def Ö{"O}%
    \def Ü{"U}%
    \def ä{"a}%
    \def ö{"o}%
    \def ü{"u}%
    \def ß{"s}%
    \org@wrindex}
	% Definition of macro which creates the index. This macro 
	% supports two optional parameters which can be used to 
	% fine tune the layout of index.
	% Param1: Represents the index's heading to be used. The 
	%         default heading is set to 'Index'.
	% Param2: Represents the index's number of columns to be 
	%         used and its default is set to 'double'. The 
	%         following pre-defined key words are available 
	%         to this parameter:
	%         single: The index uses only one column.
	%         double: The index uses two columns [default]!
	%         triple: The index uses three columns.
	%         Every different key word given through the 
	%         second parameter will produce a package waring
	%         and results in a usage of the default number of 
	%         columns!
  \newcommand{\PrintIndex}[1][Index]{%
    \@ifnextchar[%
      {\@iiPrintIndex[#1]}
      {\@iiPrintIndex[#1][double]}%]
  }
  \long\def\@iiPrintIndex[#1][#2]{%
		% Set index's heading (defualt is 'Index').
    \renewcommand{\indexname}{#1}
		% Re-define the index environment for better parameter 
		% handling.
    \renewenvironment{theindex}{%
			% Setup index section name.
      \section*{\indexname}
			% The Index always belongs to the TOC!
      \addcontentsline{toc}{section}{\indexname}
			% Setup index heading (if set through the class).
      \sectionmark{\indexname}
			% Prepare index column setup.
      \newcounter{idxcols}
      \ifthenelse{\equal{#2}{single}}
				% Switch multi-columns off.
        {\@useidxcolsfalse}
				% Switch multi-columns on.
        {\@useidxcolstrue
					% Set number of multi-columns.
          \ifthenelse{\equal{#2}{double}}
          {\setcounter{idxcols}{2}}
          {\ifthenelse{\equal{#2}{triple}}
            {\setcounter{idxcols}{3}}
						% In this error case use default value and 
						% produce a warning to inform the user.
            {\setcounter{idxcols}{2}
             \PackageWarningNoLine{fomdes}
                {PrintIndex: Unknown column option '#2'. 
                 Use 2 columns instead}}}}
			% Setup multi-column (if requested).
      \if@useidxcols
				% Change column's gap (default is 1.5pc).
        \setlength{\columnsep}{20pt}
        \begin{multicols}{\value{idxcols}}
      \fi
			% Set a gap between every single index entry.
      \setlength{\parskip}{\z@ \@plus 0.5\p@}%
			% Use index item entry as "the item".
      \let\item\@idxitem}
			% End of 'theindex'.
      {\if@useidxcols\end{multicols}\fi}
		% Force a page break only if it's requested.
    \if@desusenewpage\clearpage\fi
	% Used to fix a bug within hyperef-package.
    \ifpdf\phantomsection\fi
	% Create the Index.
    \printindex% 
		% Force a page break only if it's requested.
    \if@desusenewpage\clearpage\fi
  }%
\else
	% The macro \PrintIndex will be also available if the 
	% package option 'index' wasn't used. This avoids error 
	% messages while compilation!
  \newcommand{\PrintIndex}[1][]{%
    \@ifnextchar[%
      {\@iiPrintIndex[#1]}
      {\@iiPrintIndex[#1][]}%]
  }
  \long\def\@iiPrintIndex[#1][#2]{}
\fi
%-----------------------------------------------------------
% Table of code listings' depending settings and definitions.
%-----------------------------------------------------------
% A table of code listings should be used within the current 
% document. 'if@uselistings' is TRUE when the user loads the 
% package with option 'listings'. By default 'if@uselistings'
% is FALSE.
\if@uselistings
	% Definition of macro which creates the table of code 
	% listings. This macro supports one optional parameter 
	% which can be used to fine tune the table of code 
	% listings' layout.
	% Param1: Represents the table of code listings' heading 
	%         to be used. The default heading is set to 
	%         'Listings'.
  \newcommand{\PrintListings}[1][Listings]{%
	% Do not create a table of code listings if the listings 
	% original heading macro does not exist! Possibly the 
	% package 'fomfod' was not loaded beforehand!
    \ifx\lstlistlistingname\@undefined\else
			% Set listings' heading (defualt is 'Listings'),
      \renewcommand{\lstlistlistingname}{#1}
			% Force a page break only if it's requested.
      \if@desusenewpage\clearpage\fi
			% Used to fix a bug within hyperef-package.
      \ifpdf\phantomsection\fi
			% The table of code listings always belongs to the TOC!
      \addcontentsline{toc}{section}{\lstlistlistingname}
			% Create the table of code listings.
      \lstlistoflistings%
			% Force a page break only if it's requested.
      \if@desusenewpage\clearpage\fi
		\fi
  }%
\else
	% The macro \PrintListings will be also available if the 
	% package option 'listings' wasn't used. This avoids error 
	% messages while compilation!
  \newcommand{\PrintListings}[1][]{}
\fi
%-----------------------------------------------------------
% Glossary depending settings and definitions.
%-----------------------------------------------------------
% The glossary should be used within the current document. 
% 'if@useglossary' is TRUE when the user loads the package 
% with option 'glossary'. By default 'if@useglossary' is 
% FALSE.
\if@useglossary
	% As mentioned in the package documentation the usage of
	% the glossary produces a message to inform the user about 
	% "How to handle the glossary creation". Just print this 
	% user message.
  \typeout{%
    ***************************************************^^J%
    * PLEASE NOTE! The usage of a glossary requires to^^J%
    * run: bibtex <file>.gls^^J%
    ***************************************************}%
	% Load package 'gloss' with option 'german' to support 
	% german glossary look and feel and if reference page
	% is enabled the page of its first occurrence will also
	% be displayed.
  \if@useglossrefpage
    \RequirePackage[german,refpages]{gloss}
    \renewcommand{\glosspage}[1]{\space(Seite~#1)}
  \else
    \RequirePackage[german]{gloss}
  \fi
	% Ensures non-grouping mode and no indention. Otherwise 
	% every glossary group (alphabetic order) will be led by
	% a group letter and every glossary entry has an indention.
  \renewcommand{\glossheading}[1]{}
  \renewcommand{\glosshang}{0pt}
	% The glossary has to be activated.
  \makegloss
	% Definition of macro which creates the glossary. This 
	% macro defines one obligational parameter and supports 
	% two optional parameters. All these parameters can be 
	% used to fine tune the layout of glossary.
	% Param1: Represents the glossary's heading to be used. 
	%         The default heading is set to 'Glossar'.
	% Param2: Can be used to take over all available entries
	%         from the glossary's database. The following 
	%         pre-defined key words are available to this 
	%         parameter:
	%         all: All entries from the glossary's database 
	%              will be available within the document.
	%              The default is "Only referenced entries  
	%              will be used within glossary". 
	%              Remark: The usage of this parameter will 
	%                      cause the 'gloss' package to 
	%                      produce a package warning which 
	%                      can be ignored! 
	% Param3: This obligational parameter defines the name of 
	%         the file which contains the glossary's library 
	%         to be used with the glossary.
  \newcommand{\PrintGlossary}[1][Glossar]{%
    \@ifnextchar[%
      {\@iiPrintGlossary[#1]}
      {\@iiPrintGlossary[#1][]}%]
  }
  \long\def\@iiPrintGlossary[#1][#2]#3{%
		% Set glossary's heading (defualt is 'Glossar').
    \renewcommand{\glossname}{#1}
		% Force a page break only if it's requested.
    \if@desusenewpage\clearpage\fi
		% Used to fix a bug within hyperef-package.
    \ifpdf\phantomsection\fi
		% Use all entries from glossary database if requested.
    \ifthenelse{\equal{#2}{all}}{\gloss[nocite]{*}}{}
		% Create the glossary based on given database.
    \printgloss{#3}
		% Force a page break only if it's requested.
    \if@desusenewpage\clearpage\fi
  }%
\else
	% The macro \PrintGlossary will be also available if the 
	% package option 'glossary' wasn't used. This avoids error 
	% messages while compilation!
  \newcommand{\PrintGlossary}[1][]{%
    \@ifnextchar[%
      {\@iiPrintGlossary[#1]}
      {\@iiPrintGlossary[#1][]}%]
  }
  \long\def\@iiPrintGlossary[#1][#2]#3{}
\fi
%-----------------------------------------------------------
% Bibliography depending settings and definitions.
%-----------------------------------------------------------
% The bibliography should be used within the current 
% document. 'if@usebibliography' is TRUE by default. When 
% the user loads the package with option 'nobibliography' 
% 'if@usebibliography' is set to FALSE.
\if@usebibliography
	% As mentioned in the package documentation the usage of
	% the bibliography produces a message to inform the user 
	% about "How to handle the bibliography creation". Just 
	% print this user message.
  \typeout{%
    ***************************************************^^J%
    * PLEASE NOTE! The usage of a bibliography requires^^J%
    * to run: bibtex <file>.aux^^J%
    ***************************************************}%
	% Load package 'natbib' with options 'square' and 'numbers'
	% to support DIN equivalent look and feel of bibliography,
	% which shows references as '[<number>]'.
  \RequirePackage[square,numbers]{natbib}
	% Definition of macro which creates the bibliography. This 
	% macro defines one obligational parameter and supports 
	% two optional parameters. All these parameters can be 
	% used to fine tune the layout of bibliography.
	% Param1: Represents the bibliography's heading to be used. 
	%         The default heading is set to 'Literatur'.
	% Param2: Represents the style of the bibliography. It 
	%         sets the name of a file which contains the 
	%         concrete style definition. As default value the 
	%         style file 'dinat.bst' (without its extension) 
	%         is used.
	% Param3: This obligational parameter defines the name 
	%         of the file which contains the bibliography's 
	%         library to be used with the bibliography.
  \newcommand{\PrintBibliography}[1][Literatur]{%
    \@ifnextchar[%
      {\@iiPrintBibliography[#1]}
      {\@iiPrintBibliography[#1][dinat]}%]
  }
  \long\def\@iiPrintBibliography[#1][#2]#3{%
		% Set bibliography's heading (defualt is 'Literatur').
    \renewcommand{\refname}{#1}
		% Force a page break only if it's requested.
    \if@desusenewpage\clearpage\fi
		% Used to fix a bug within hyperef-package.
    \ifpdf\phantomsection\fi
		% The bibliography always belongs to the TOC!
    \addcontentsline{toc}{section}{\refname}
		% Use given bibliography style.
    \bibliographystyle{#2}
		% Create the bibliography based on given database.
    \bibliography{#3}
		% Force a page break only if it's requested.
    \if@desusenewpage\clearpage\fi
  }%
\else
	% The macro \PrintBibliography will be also available if 
	% the package option 'glossary' wasn't used. This avoids 
	% error messages while compilation!
  \newcommand{\PrintBibliography}[1][]{%
    \@ifnextchar[%
      {\@iiPrintBibliography[#1]}
      {\@iiPrintBibliography[#1][]}%]
  }
  \long\def\@iiPrintBibliography[#1][#2]#3{}
\fi
%-----------------------------------------------------------
% Further macro definitions.
%-----------------------------------------------------------
% Defines a new style for the "see also" command with an 
% arrow followed by a slanted text.
\newcommand{\SeeAlso}[1]{~$\to$~\textsl{#1}}
%
%-----------------------------------------------------------
% Finish style file.
%%----------------------------------------------------------
%\iffalse
%    \begin{macrocode}
%</fomdes.sty>
%    \end{macrocode}
%\fi
%\iffalse
%    \begin{macrocode}
%<*fomdss.sty>
%    \end{macrocode}
%\fi
%%----------------------------------------------------------
% 
% File:        fomdss.sty (FOM Document Start Section)
% 
% Description: This file defines macros for a document's 
%              startup section. A scientific document 
%              always includes a table of contents and 
%              mostly a list of abbreviations, list of 
%              figures and also a list of tables.
%
% Author:      Axel Kesseler
% 
% Version:     1.0.7
%
% Date:        2007/10/29
%
%-----------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{fomdss}
  [2007/10/29 v1.0 FOM Document Start Section]
%-----------------------------------------------------------
% Declaration of all package options.
%-----------------------------------------------------------
% Option 'toctotoc' puts the heading of "table of contents" 
% (value of \contentsname) into the table of contents itself.
% The heading of TOC is NOT part of TOC by default.
\newif\if@usetoctotoc
\@usetoctotocfalse
\DeclareOption{toctotoc}
  {\@usetoctotoctrue}
% Option 'nopagebreak' avoids the usage of new pages for 
% every single directory list within the document's start 
% section. For scientific documents every directory list 
% should start on a new page. That's the reason why the 
% page break has to be swiched off explicitly. The page 
% break is used by default.
\newif\if@dssusenewpage
\@dssusenewpagetrue
\DeclareOption{nopagebreak}
  {\@dssusenewpagefalse}
% Option 'abbreviation' enables the usage of the "list of 
% abbreviations" within the document's start section because 
% the usage of a "list of abbreviations" is NOT used by 
% default.
\newif\if@useabbreviation
\@useabbreviationfalse
\DeclareOption{abbreviation}
  {\@useabbreviationtrue}
% Option 'abbrevrefpage' enables the usage of a page 
% reference within "list of abbreviations" because the 
% page reference is NOT used by default.
\newif\if@useabbrevrefpage
\@useabbrevrefpagefalse
\DeclareOption{abbrevrefpage}
  {\@useabbrevrefpagetrue}
% Print a warning if the package receives an unknown option 
% just to inform the user.
\DeclareOption*{\PackageWarningNoLine{fomdss}
  {Unknown option '\CurrentOption'}}
\ProcessOptions\relax%
%-----------------------------------------------------------
% Load all depending packages.
%-----------------------------------------------------------
% Used to check the output format.
\RequirePackage{ifpdf}
%-----------------------------------------------------------
% Declarations for table of contents (TOC)
%-----------------------------------------------------------
% Definition of macro which creates the table of contents. 
% This macro supports one optional parameters which can be 
% used to change the TOC's heading.
% Param1: Represents the heading of the table of contents 
%         to be used and its default is set to 'Inhalt'.
\newcommand{\PrintContents}[1][Inhalt]{%
	% Set TOC's heading (defualt is 'Inhalt').
  \renewcommand{\contentsname}{#1}
	% Always force a page break for TOC!
  \clearpage%
	% Used to fix a bug within hyperef-package.
  \ifpdf\phantomsection\fi
	% If TOC's heading has to appear within the TOC itself 
	% then add it to the TOC!
  \if@usetoctotoc
    \addcontentsline{toc}{section}{\contentsname}
  \fi
	% Create the tabel of contents.
  \tableofcontents%
	% Always force a page break for TOC!
  \clearpage%
}%
%-----------------------------------------------------------
% Declarations for list of abbreviations (LOA).
%-----------------------------------------------------------
% A list of abbreviations should be used within the current 
% document. 'if@useabbreviation' is TRUE when the user loads 
% the package with option 'abbreviation'. By default 
% 'if@useabbreviation' is FALSE.
\if@useabbreviation
	% As mentioned in the package documentation the usage of
	% the list of abbreviations produces a message to inform 
	% the user about "How to handle the creation of list of 
	% abbreviations". Just print this user message.
  \typeout{%
    ***************************************************^^J%
    * PLEASE NOTE! The usage of fomdss' abbreviations^^J%
    * requires the nomencl package! Please ensure that^^J%
    * nomencl package is installed on your LaTeX system^^J%
    * in version 4.2, dated at 2005/09/22 (or higher).^^J%
    * Furthermore you have to run the program 'makeindex'^^J%
    * with options:^^J%
    * makeindex <file>.nlo -s nomencl.ist -o <file>.nls^^J%
    ***************************************************}%
	% Load package 'nomencl' to support the "list of 
	% abbreviations" depending on package option 
	% 'abbrevrefpage'.
  \if@useabbrevrefpage
    \RequirePackage[german,refpage]{nomencl}
  \else
    \RequirePackage[german]{nomencl}
  \fi
	% Load package 'ulem' with option 'normalem' to support 
	% single underlined text.
  \RequirePackage[normalem]{ulem}
	% Definition of macro which marks an abbreviation within 
	% a text to be added to the list of abbreviations. This 
	% macro defines two obligational parameters. The first 
	% parameter will be also printed within the text.
	% Param1: Represents the abbreviation itself.
	% Param2: Represents the explanation of the abbreviation.
	% Sample: The following piece of code produces the text 
	%         fragment "... a PC is used ..." and also adds 
	%         "PC ... Personal Computer" to the list of 
	%         abbreviations":
	%         ... a \Abbrev{PC}{Personal Computer} is used ...
  \newcommand\Abbrev[2]{#1\nomenclature{#1}{#2}}
	% Setup the width of abbreviation labels to 20% of 
	% currently used text width.
  \setlength{\nomlabelwidth}{.2\textwidth}
	% Reset the layout of abbreviation's label: Used bold font 
	% and fill the gap between label and explanation with dots.
  \renewcommand{\nomlabel}[1]{\textbf{#1} \dotfill}
	% Set gap between every abbreviation list entry to 50% of
	% currently used paragraph separator.
  \setlength{\nomitemsep}{0.5\parsep}
	% Definition of macro to highlight abbreviation letters 
	% within an abbreviation explanation. This macro defines 
	% one obligational parameter which underlines the enclosed 
	% text.
	% Param1: Represents the abbreviation's letter to be 
	%         highlighted within an abbreviation's explanation.
	% Sample: The following piece of code produces the text 
	%         fragment "... a PC is used ..." and also adds 
	%         "PC ... Personal Computer" with underlined "P" 
	%         and "C" to the list of abbreviations":
	%         ... a \Abbrev{PC}{\Mark{P}ersonal \Mark{C}omputer}
	%         is used ...
  \newcommand{\Mark}[1]{\uline{#1}}
	% The list of abbreviationa has to be activated.
  \makenomenclature
	% Definition of macro which creates the list of 
	% abbreviations. This macro supports one optional 
	% parameter which can be used to change the list of 
	% abbreviations' heading.
	% Param1: Represents the list of abbreviations' heading 
	%         to be used. The default heading is set to 
	%         'Abkürzungen'.
  \newcommand{\PrintAbbrev}[1][Abkürzungen]{%
		% Set list of abbreviations' heading (default is 
		% 'Abkürzungen').
    \renewcommand{\nomname}{#1}
		% Force a page break only if it's requested.
    \if@dssusenewpage\clearpage\fi
		% Used to fix a bug within hyperef-package.
    \ifpdf\phantomsection\fi
		% Add list of abbreviations' heading to TOC!
    \addcontentsline{toc}{section}{\nomname}
		% Create the list of abbreviations.
    \printnomenclature%
		% Reset headings! This command has been placed here 
		% because of some problems with heading!
    \sectionmark{\nomname}
		% Force a page break only if it's requested.
    \if@dssusenewpage\clearpage\fi
  }%
\else
	% The macros \Abbrev, \Mark and \PrintAbbrev will be also 
	% available if the package option 'abbreviation' wasn't 
	% used. This avoids error messages while compilation!
  \newcommand{\Abbrev}[2]{#1}
  \newcommand{\Mark}[1]{}
  \newcommand{\PrintAbbrev}[1]{}
\fi
%-----------------------------------------------------------
% Declarations for list of figures (LOF)
%-----------------------------------------------------------
% Definition of macro which creates the list of figures. 
% This macro supports one optional parameter which can be 
% used to change list of figures' heading. This macro is 
% always available and cannot be suppressed by another 
% package option.
% Param1: Represents the list of figures' heading to be used. 
%         The default heading is set to 'Abbildungen'.
\newcommand{\PrintFigures}[1][Abbildungen]{%
	% Set list of figures' heading (default is 'Abbildungen').
  \renewcommand{\listfigurename}{#1}
	% Force a page break only if it's requested.
  \if@dssusenewpage\clearpage\fi
	% Used to fix a bug within hyperef-package.
  \ifpdf\phantomsection\fi
	% Add list of figures' heading to TOC!
  \addcontentsline{toc}{section}{\listfigurename}
	% Create list of figures.
  \listoffigures%
	% Force a page break only if it's requested.
  \if@dssusenewpage\clearpage\fi
}%
%-----------------------------------------------------------
% Declarations for list of tables (LOT)
%-----------------------------------------------------------
% Definition of macro which creates the list of tables. 
% This macro supports one optional parameter which can be 
% used to change list of tables' heading. This macro is 
% always available and cannot be suppressed by another 
% package option.
% Param1: Represents the list of tables' heading to be used. 
%         The default heading is set to 'Tabellen'.
\newcommand{\PrintTables}[1][Tabellen]{%
	% Set list of figures' heading (default is 'Tabellen').
  \renewcommand{\listtablename}{#1}
	% Force a page break only if it's requested.
  \if@dssusenewpage\clearpage\fi
	% Used to fix a bug within hyperef-package.
  \ifpdf\phantomsection\fi
	% Add list of tables' heading to TOC!
  \addcontentsline{toc}{section}{\listtablename}
	% Create list of tables.
  \listoftables%
	% Force a page break only if it's requested.
  \if@dssusenewpage\clearpage\fi
}%
%
%-----------------------------------------------------------
% Finish style file.
%%----------------------------------------------------------
%\iffalse
%    \begin{macrocode}
%</fomdss.sty>
%    \end{macrocode}
%\fi
%\iffalse
%    \begin{macrocode}
%<*fomfod.sty>
%    \end{macrocode}
%\fi
%%----------------------------------------------------------
% 
% File:        fomfod.sty (FOM Floating Object Definition)
% 
% Description: Definition of specific floating object 
%              formatting macros for a usage in conjunction 
%              with "FOM Scientific Document Template".
% 
% Author:      Axel Kesseler
% 
% Version:     1.0.10
%
% Date:        2007/10/29
%
%-----------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{fomfod}
  [2007/10/29 v1.0 FOM Floating Object Definition]
%-----------------------------------------------------------
% Declaration of all package options.
%-----------------------------------------------------------
% Option 'classiccaption' enables the usage of captions 
% with "classic text layout". This means the usage of a 
% font with "serifs". A sans serif font is used by default.
\newif\if@usestdcaption
\@usestdcaptionfalse
\DeclareOption{classiccaption}
  {\@usestdcaptiontrue}
% Option 'listingcolored' enables the usage of colored 
% source code listings. Source code listings are uncolored 
% (black/white) by default.
\newif\if@uselstcolor
\@uselstcolorfalse
\DeclareOption{listingcolored}
  {\@uselstcolortrue}
% Print a warning if the package receives an unknown option 
% just to inform the user.
\DeclareOption*{\PackageWarningNoLine{fomfod}
  {Unknown option '\CurrentOption'}}
\ProcessOptions\relax%
%-----------------------------------------------------------
% Avoid package loading when 'letter' class is loaded!
%-----------------------------------------------------------
\@ifclassloaded{letter}{%
  \PackageError{fomfod}{^^JThis package cannot be used with %
                           document class 'letter'!^^J}
  \endinput%
}{}% Build break!
%-----------------------------------------------------------
% Bugfix for the 'beamer' class!
%-----------------------------------------------------------
%% BUGFIX: Usage of class 'beamer' produces at lot of errors!
%%         To avoid these error the usage of package 'subfig'
%%         will be disabled. Furthermore, the package 'caption'
%%         needs to define the macro '\@makecaption' while 
%%         using this package together with class 'beamer'!
\newif\if@usebeamer
\@ifclassloaded{beamer}{%
  \@usebeamertrue%
}{%
  \@usebeamerfalse%
}%
%-----------------------------------------------------------
% Load all depending packages.
%-----------------------------------------------------------
%% Fix bugs in 'beamer' class before loading package 'caption'!
\if@usebeamer% Bugfix for 'caption' and 'beamer' packages!
  \@ifundefined{@makecaption}{%
    \PackageWarning{fomfod}{^^JThe beamer class is used! %
          In this case caption^^Jpackage macro 'makecaption' %
          will be pre-defined!^^J}
    \newcommand\@makecaption[2]{}%
}\fi% End of: Bugfix for 'caption' package!
% Used to support different caption layouts.
\RequirePackage{caption}
% Used to support graphics/figures within a document.
\RequirePackage{graphicx}
\if@usebeamer%
  \PackageWarning{fomfod}{^^JThe beamer class is used! In %
        this case^^Jpackage subfig is not supported!^^J}
\else% Disable 'subfig' package only if 'beamer' class is loaded!
	% Used to support sub-figures within a figure.
  \RequirePackage{subfig}
\fi% End of disabling 'subfig' package!
% Internally used to check macro parameters.
\RequirePackage{ifthen}
% Used to support tables with a defined column width.
\RequirePackage{tabularx}
% Used to support source code listings within a document.
\RequirePackage{listings}
% Used to support different colors within a document.
\RequirePackage{color}
%-----------------------------------------------------------
% Predefine caption depending styles.
%-----------------------------------------------------------
% Global setup for all supported captions depending on 
% package option 'classiccaption'. 
\if@usestdcaption
	% Define standard caption styles.
  \DeclareCaptionFont{capfont}{\small}
  \DeclareCaptionFont{lblfont}{\bfseries}
  \DeclareCaptionFont{txtfont}{}
	% Also adapt text style for source boxes.
  \def\@srcboxfmt#1{\tiny{#1}}
\else
	% Define modern caption styles.
  \DeclareCaptionFont{capfont}{\small}
  \DeclareCaptionFont{lblfont}{\bfseries\sffamily}
  \DeclareCaptionFont{txtfont}{\sffamily}
	% Also adapt text style for source boxes.
  \def\@srcboxfmt#1{\tiny{\textsf{#1}}}
\fi
% Always use this type of a separator!
\DeclareCaptionLabelSeparator{lblsep}{:\quad}
%-----------------------------------------------------------
% Adjust all supported captions.
%-----------------------------------------------------------
% Adjust figure's caption.
\captionsetup[figure]{format=hang}
\captionsetup[figure]{format=hang}
\captionsetup[figure]{font=capfont}
\captionsetup[figure]{textfont=txtfont}
\captionsetup[figure]{labelfont=lblfont}
\captionsetup[figure]{labelsep=lblsep}
% Adjust sub-figure's caption.
\captionsetup[subfigure]{margin=0pt}
\captionsetup[subfigure]{font=capfont}
\captionsetup[subfigure]{listofformat=subparens}
\captionsetup[subfigure]{labelformat=parens}
\captionsetup[subfigure]{labelsep=quad}
% Adjusting table's caption.
\captionsetup[table]{format=hang}
\captionsetup[table]{margin=10pt}
\captionsetup[table]{font=capfont}
\captionsetup[table]{textfont=txtfont}
\captionsetup[table]{labelfont=lblfont}
\captionsetup[table]{labelsep=lblsep}
\captionsetup[table]{aboveskip=0pt}
% Adjusting listing's caption.
\captionsetup[lstlisting]{format=hang}
\captionsetup[lstlisting]{margin=10pt}
\captionsetup[lstlisting]{font=capfont}
\captionsetup[lstlisting]{textfont=txtfont}
\captionsetup[lstlisting]{labelfont=lblfont}
\captionsetup[lstlisting]{labelsep=lblsep}
%-----------------------------------------------------------
% Define a box for usage as source reference.
%-----------------------------------------------------------
% This internally used macro create a box to place a floating 
% object's source reference. It defines two obligational 
% parameters and supports one optional parameter.
% Param1: Represents the text alignment to be used. All 
%         alignment values of macro \makebox are available 
%         and right alignment will be used by default.
% Param2: Represents source box's width. The value depends 
%         on the caller of this macro.
% Param3: Represents source box's text to be printed out. 
%         The value depends on the caller of this macro.
\newcommand{\@sourcebox}[3][r]{%
  \parbox[b][3mm]{#2}{%
    \makebox[\linewidth][#1]{\@srcboxfmt{#3}}}}
%-----------------------------------------------------------
% General plain image formatting definition (plain figure).
%-----------------------------------------------------------
% Definition of an environment which handles the usage of a 
% plain figure. This environment defines three obligational 
% parameters and supports two optional parameters. All these 
% parameters can be used to fine tune the layout of the figure.
% Param1: Represents the percentaged width of the figure 
%         to be used depending on current text width. The 
%         default is set to 90% of text width.
% Param2: Represents the usage of a box around the figure's
%         content. The following pre-defined key word is 
%         available to this parameter:
%         box: A box will be shown. The default is "do not 
%              show a box". 
% Param3: This obligational parameter defines the figure's 
%         caption to be used.
% Param4: This obligational parameter defines the figure's 
%         reference label to be used.
% Param5: This obligational parameter defines the figure's 
%         source description.
% Sample: The following piece of code includes a self defined 
%         figure content and sets the caption, reference 
%         label and a source description (default width and 
%         no box is used):
%         \begin{PlainFigure}{This is my first plain figure}
%                            {fig:myfirstfigure}
%                            {Source: www.ctan.org}
%         Freely definable figure content...
%         \end{PlainFigure}
\newenvironment{PlainFigure}[1][0.9]{%
  \@ifnextchar[%
    {\begin{@iiPlainFigure}[#1]}
    {\begin{@iiPlainFigure}[#1][]}%]
}{\end{@iiPlainFigure}}%
% Needed to display a framed box around the minipage (has to 
% be defined outside any other macro).
\newsavebox{\pf@box}
% Definition of plain figure's environment begin section.
\def\@iiPlainFigure[#1][#2]#3#4#5{%
	% Save given parameters for a later usage.
  \def\pf@width{#1\textwidth}
  \def\pf@caption{#3}
  \def\pf@label{#4}
  \def\pf@source{#5}
	% Prepare content settings depending on given parameter.
  \ifthenelse{\equal{#2}{box}}{%
    \def\pf@content{%
      \begin{lrbox}{\pf@box}
      \begin{minipage}{\pf@width}}
    \def\endpf@content{%
      \end{minipage}
      \end{lrbox}
      \setlength{\fboxsep}{5pt}
      \fbox{\usebox{\pf@box}}}}{%
    \def\pf@content{%
      \begin{minipage}{\pf@width}}
    \def\endpf@content{%
      \end{minipage}}}
	% Begin with environment start section.
  \begin{figure}[htb]%
  \bigskip%
  \centering%
  \begin{pf@content}
}%
% Definition of plain figure's environment end section.
\def\end@iiPlainFigure{%
	% End with content environment.
  \end{pf@content}
	% Display source data and figure caption.
  \setlength{\abovecaptionskip}{4pt}
  \@sourcebox{\pf@width}{\pf@source}
  \parbox{\pf@width}{%
    \caption{\pf@caption}\protect\label{\pf@label}}
	% End all other environments.
  \end{figure}%
}%
%-----------------------------------------------------------
% Define some figure depending internal values.
%-----------------------------------------------------------
% Definition of an if-statement to find out if a box should 
% be used around a figure. This 'if' has to be defined "out 
% of every block"! Otherwise an error message comes up while 
% compilation.
\newif\if@usefigurebox
% Define some internally used length values.
\newlength{\@figurewidth}
%-----------------------------------------------------------
% General image formatting definition (single picture).
%-----------------------------------------------------------
% Definition of macro which handles the usage of a single 
% picture. This macro defines four obligational parameters 
% and supports two optional parameters. All these parameters 
% can be used to fine tune the layout of the figure.
% Param1: Represents the percentaged width of the figure 
%         to be used depending on current text width. The 
%         default is set to 90% of text width.
% Param2: Represents the usage of a box around the figure. 
%         The following pre-defined key word is available 
%         to this parameter:
%         box: A box will be shown. The default is "do not 
%              show a box". 
% Param3: This obligational parameter defines the figure's 
%         caption to be used.
% Param4: This obligational parameter defines the figure's 
%         reference label to be used.
% Param5: This obligational parameter defines the figure's 
%         image file name without its extension to be used.
% Param6: This obligational parameter defines the figure's 
%         source description.
% Sample: The following piece of code includes an image file 
%         named 'myimage.jpg' and sets the caption, reference 
%         label and a source description (default width and 
%         no box is used):
%         \SinglePicture{This is my first image}
%                       {fig:myfirstimage}
%                       {myimage}
%                       {Source: www.ctan.org}
\newcommand{\SinglePicture}[1][0.9]{%
    \@ifnextchar[%
      {\@iiSinglePicture[#1]}
      {\@iiSinglePicture[#1][]}%]
}%
\def\@iiSinglePicture[#1][#2]#3#4#5#6{%
  \ifthenelse{\equal{#2}{box}}
    {\@usefigureboxtrue}
    {\@usefigureboxfalse}
  \setlength{\@figurewidth}{#1\textwidth}
  \begin{figure}[htb]%
    \bigskip%
    \centering%
    \if@usefigurebox
      \fbox{\includegraphics[width=\@figurewidth]{#5}}
    \else
      \includegraphics[width=\@figurewidth]{#5}
    \fi
    \setlength{\abovecaptionskip}{4pt}
    \@sourcebox{\@figurewidth}{#6}
    \parbox{\@figurewidth}{%
      \caption{#3}\protect\label{#4}}%
  \end{figure}%
}%
%-----------------------------------------------------------
% General image formatting definition (double picture).
%-----------------------------------------------------------
% General remark to the "double picture" implementation!
% The support of double pictures has to be split into two 
% separat macros. The main reason for this is the "number 
% of parameters" limitaion because LaTeX provides only up 
% to nine macro parameters!
%
% This macro definition acts as a kind of a "framework" 
% for its sub-pictures and it defines four obligational 
% parameters and supports one optional parameter. All 
% these parameters can be used to fine tune the layout 
% of the figure. Width of both images will be adjusted 
% to 42% of current text width automatically.
% Param1: Represents the usage of a box around the 
%         sub-figure. The following pre-defined key word 
%         is available to this parameter:
%         box: A box will be shown. The default is "do not 
%              show a box". 
% Param2: This obligational parameter defines the figure's 
%         main caption to be used.
% Param3: This obligational parameter defines the figure's 
%         main reference label to be used.
% Param4: Takes the definition of left image (see also 
%         macro \DoubleSubPicture).
% Param5: Takes the definition of right image (see also 
%         macro \DoubleSubPicture).
% Sample: See sample shown in \DoubleSubPicture.
\newcommand{\DoublePicture}[5][]{%
  \ifthenelse{\equal{#1}{box}}
    {\@usefigureboxtrue}
    {\@usefigureboxfalse}
  \setlength{\@figurewidth}{0.42\textwidth}
  \begin{figure}[htb]%
    \centering%
    {#4}\qquad{#5}
    \parbox{2\@figurewidth}{% two images!
      \caption{#2}\protect\label{#3}}%
  \end{figure}%
}%
% This macro is used the setup the left/right image of 
% a double picture. It defines only four obligational 
% parameters.
% Param1: This obligational parameter defines the 
%         sub-figure's caption to be used.
% Param2: This obligational parameter defines the 
%         sub-figure's reference label to be used.
% Param3: This obligational parameter defines the 
%         sub-figure's image file name without its 
%         extension to be used.
% Param4: This obligational parameter defines the 
%         sub-figure's source description.
% Sample: The following piece of code shows how a combination 
%         of \DoublePicture and \DoubleSubPicture should be
%         used (box is not used):
%         \DoublePicture{double picture main caption}
%                       {fig:mainref}
%                       {\DoubleSubPicture{left sub-caption}
%                                         {fig:leftref}
%                                         {leftimage}
%                                         {www.ctan.org}}
%                       {\DoubleSubPicture{rigth sub-caption}
%                                         {fig:rigthref}
%                                         {rigthimage}
%                                         {www.ctan.org}}
\newcommand{\DoubleSubPicture}[4]{%
  \if@usebeamer% Disable usage of '\subfloat' if 'beamer' is loaded!
    \parbox{\@figurewidth}{%
      Package \textsf{\textbf{subfig}} is not supported %
      if \textsf{\textbf{beamer}} class is loaded!\par
      \setlength{\parskip}{0pt}
      \@sourcebox{\@figurewidth}{#4}
    }%
  \else% Use macro '\subfloat'!
    \subfloat[#1\protect\label{#2}]{%
      \parbox{\@figurewidth}{%
        \if@usefigurebox
          \fbox{%
            \includegraphics[width=\@figurewidth]{#3}}%
        \else
          \includegraphics[width=\@figurewidth]{#3}%
        \fi
        \setlength{\parskip}{0pt}
        \@sourcebox{\@figurewidth}{#4}
      }%
    }%
  \fi% End of disabling usage of macro '\subfloat'!
}%
%-----------------------------------------------------------
% Definition of 'tabularx' column alignment.
%-----------------------------------------------------------
% Definition of 'tabularx' specific column alignment types
% which are used as a short cut only!
% Right aligned column.
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
% Centered aligned column.
\newcolumntype{C}{>{\centering\arraybackslash}X}
% Left aligned column
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
% Block aligned column (default).
\newcolumntype{B}{X} 
%-----------------------------------------------------------
% Definition of a pre-configured table environment.
%-----------------------------------------------------------
% Create needed box to calculate the width of enclosed table.
\newsavebox{\tab@box}
% Create needed dimension to store calculate table width.
\newdimen{\tab@width}
% This environment acts as a kind of "framework" to handle 
% special table formatting issues. It defines three 
% obligational parameters to setup the environment.
% Param1: This obligational parameter defines the table's 
%         caption to be used.
% Param2: This obligational parameter defines the table's 
%         reference label to be used.
% Param3: This obligational parameter defines the table's 
%         source description.
\newenvironment{Table}[3]{%
	% Save given source data for later usage.
  \def\tab@source{#3}%
  \begin{table}[htb]%
    \medskip%
    \centering%
    \caption{#1}\label{#2}\medskip%
    \begin{lrbox}{\tab@box}}{%         start measure box
    \end{lrbox}%                       stop measure box
    \setbox0=\hbox{\usebox{\tab@box}}% calc box width
    \tab@width=\wd0%                   save box width
    \usebox{\tab@box}%                 display box data
    \par\@sourcebox{\tab@width}{\tab@source\hspace{1em}}%
  \end{table}%
}%
%-----------------------------------------------------------
% Some length values depending on listing environment.
%-----------------------------------------------------------
% Definition of an internal length used as code listing's 
% indention. The default indention is set to 5pt.
\newlength\@lstindent
\setlength{\@lstindent}{5pt}
% Definition of an internal length used as code listing's 
% border margin. The default indention is set to 6pt.
\newlength\@lstborder
\setlength{\@lstborder}{6pt}
% Definition of an internal length used as code listing's 
% default value for optional parameters. The default value 
% is set to 7pt.
\newlength\@lstdefmargin
\setlength{\@lstdefmargin}{7pt}
% Definition of an internal totally use margin for code 
% listings. The default value is set to 0pt and will be
% calculated at runtime.
\newlength\@lstmargin
\setlength{\@lstmargin}{0pt}
%-----------------------------------------------------------
% Definition of listing environment.
%-----------------------------------------------------------
% Definition of an environment which supports code listings
% directly written within the document. It defines two 
% obligational parameters and supports one optional parameter 
% to setup the code listing.
% Param1: Represents the margin to be used around the code 
%         listing. The value of \@lstdefmargin (=7pt) will 
%         be used by default.
% Param2: This obligational parameter defines the code 
%         listing's caption to be used.
% Param3: This obligational parameter defines the code 
%         listing's reference label to be used.
\lstnewenvironment{CodeListing}[3][\@lstdefmargin]{%
  \@lstsetup{#1}{#2}{#3}}{}
%-----------------------------------------------------------
% Definition of listing command for file input.
%-----------------------------------------------------------
% Definition of macro which supports code listings read from
% an external file. It defines three obligational parameters 
% and supports one optional parameter to setup the code 
% listing.
% Param1: Represents the margin to be used around the code 
%         listing. The value of \@lstdefmargin (=7pt) will 
%         be used by default.
% Param2: This obligational parameter defines the code 
%         listing's caption to be used.
% Param3: This obligational parameter defines the code 
%         listing's reference label to be used.
% Param4: This obligational parameter defines the file name 
%         to be used as code listing's input file.
\newcommand{\CodeListingFile}[4][\@lstdefmargin]{%
  \@lstsetup{#1}{#2}{#3}\lstinputlisting{#4}}
%-----------------------------------------------------------
% Special listing setup depends on given parameter.
%-----------------------------------------------------------
% Definition of an internally used macro which really does 
% the work of supporting code listings. It defines three 
% obligational parameters to setup the code listing.
% Param1: This obligational parameter defines the additional 
%         border width around a code listing. The real border 
%         width is calculated from value of \@lstborder plus
%         value of this parameter.
% Param2: This obligational parameter defines the code 
%         listing's caption to be used.
% Param3: This obligational parameter defines the code 
%         listing's reference label to be used.
\newcommand{\@lstsetup}[3]{%
	% Setup additional margin!
  \setlength{\@lstmargin}{\@lstborder}
	% Add additional indent to the listing (if needed).
  \addtolength{\@lstmargin}{#1}
	% Setup listing's left and right indent!
  \lstset{xleftmargin=\@lstmargin}
  \lstset{xrightmargin=\@lstmargin}
	% Set listing's caption.
  \lstset{caption={#2}}
	% Set listing's reference label.
  \lstset{label=#3}
}%
%-----------------------------------------------------------
% Listings font size setup macro.
%-----------------------------------------------------------
% Definition of macro which adjusts the code listing's font
% size to be used. It defines one optional parameter.
% Param1: Represents the font size to be used with code 
%         listings. The following pre-defined key words are 
%         available to this parameter:
%         small:  A smaller font size will be used. This 
%                 parameter uses \scriptsize and allows 
%                 about 74 characters per code line.
%         normal: The normal (=default) font size will be 
%                 used. This parameter uses \footnotesize 
%                 and allows about 60 characters per code 
%                 line.
%         large:  A bigger font size will be used. This 
%                 parameter uses \small and allows about 55 
%                 characters per code line.
\newcommand{\ListingFontSize}[1][normal]{%
	% Option [normal] allows about 60 characters.
  \ifthenelse{\equal{#1}{normal}}
    {\lstset{basicstyle=\footnotesize\ttfamily}}
		% Option [large] allows about 55 characters.
    {\ifthenelse{\equal{#1}{large}}
      {\lstset{basicstyle=\small\ttfamily}}
			% Option [small] allows about 74 characters.
      {\ifthenelse{\equal{#1}{small}}
        {\lstset{basicstyle=\scriptsize\ttfamily}}
        {\lstset{basicstyle=\footnotesize\ttfamily}}}}
}%
%-----------------------------------------------------------
% General setup for all listings.
%-----------------------------------------------------------
% Definition of macro which restore all pre-configured code 
% listing settings because the user has the opportunity to 
% change all code listing setting through macro \lstset
% offered by 'listings' package. To give an user a chance 
% to return to the settings pre-configured by this package 
% this macro can be called. This macro does not support 
% parameters.
\newcommand{\DefaultListingConfig}{%
	% Use color depending on package option.
  \definecolor{bkgcol}{rgb}{1,1,1}
  \if@uselstcolor
    \definecolor{remcol}{rgb}{0,0.5,0}
    \definecolor{strcol}{rgb}{0.5,0.5,0.5}
    \definecolor{keycol}{rgb}{0,0,1}
  \else
    \definecolor{remcol}{rgb}{0,0,0}
    \definecolor{strcol}{rgb}{0,0,0}
    \definecolor{keycol}{rgb}{0,0,0}
  \fi
	% Set defualt code language.
  \lstset{language=[ISO]C++}
	% Caption on the top of the listing.
  \lstset{captionpos=t}
	% Skip above the caption.
  \lstset{aboveskip=1.5\bigskipamount}
	% Skip below the caption.
  \lstset{belowcaptionskip=\medskipamount}
	% Skip below the listing.
  \lstset{belowskip=\bigskipamount}
	% Expand 'tab' into two spaces.
  \lstset{tabsize=2}
	% Set background color to 'lightgray'.
  \lstset{backgroundcolor=\color{bkgcol}}
	% Font and style setup (Default = [normal]).
  \lstset{basicstyle=\footnotesize\ttfamily}
  \lstset{commentstyle=\ttfamily\color{remcol}}
  \lstset{stringstyle=\ttfamily\color{strcol}}
  \lstset{keywordstyle=\color{keycol}}
	% Some further self-explaining settings.
  \lstset{showstringspaces=false}
  \lstset{breaklines=true}
  \lstset{breakatwhitespace=true}
  \lstset{prebreak={\dots{}}}
  \lstset{postbreak={\dots{}}}
}%
%-----------------------------------------------------------
% Default setup at document's begin!
%-----------------------------------------------------------
% All pre-configured code listing settings should take place 
% at the beginnig of a document.
\AtBeginDocument{%
  \DefaultListingConfig%
}%
%
%-----------------------------------------------------------
% Finish style file.
%%----------------------------------------------------------
%\iffalse
%    \begin{macrocode}
%</fomfod.sty>
%    \end{macrocode}
%\fi
%\iffalse
%    \begin{macrocode}
%<*fomisc.sty>
%    \end{macrocode}
%\fi
%%----------------------------------------------------------
% 
% File:        fomisc.sty (FOM Miscellaneous Definition) 
% 
% Description: Definition file of miscellaneous macros for 
%              a usage in conjunction with "FOM Scientific 
%              Document Template".
% 
% Author:      Axel Kesseler
%
% Version:     1.0.9
%
% Date:        2007/10/29
%
%-----------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{fomisc}
  [2007/10/29 v1.0 FOM Miscellaneous Macros]
%-----------------------------------------------------------
% Declaration of all package options.
%-----------------------------------------------------------
% --- No options defined at the moment! ---
% Print a warning if the package receives an unknown option 
% just to inform the user.
\DeclareOption*{\PackageWarningNoLine{fomisc}
  {Unknown option '\CurrentOption'}}
\ProcessOptions\relax%
%-----------------------------------------------------------
% Load all depending packages.
%-----------------------------------------------------------
% Used to move and/or resize text fragments.
\RequirePackage{textfit}
% Internally used to check macro parameters.
\RequirePackage{ifthen}
% Needed to use macro '\scalebox'
\RequirePackage{graphicx}
%-----------------------------------------------------------
% Macro for a high-positioned text.
%-----------------------------------------------------------
% Definition of macro which creates a text raised above 
% the baseline. The printed result looks much better than 
% the usage of "math" style like 'I$^2$C which set letters
% italic. This macro defines one obligational parameter.
% Param1: Represents the text to be raised above the 
%         baseline.
% Sample: The following piece of code produces the text 
%         fragment "... I2C is bus system ...":
%         "... I\Raise{2}C is bus system ..."
\newcommand{\Raise}[1]{%
	% Position 85% of X-height above base line.
  \raisebox{0.85ex}{%
		% Shrink to 70% of text size.
    \scalebox{0.7}{#1}}%
}%
%-----------------------------------------------------------
% Definition of DIN/ISO styled date macro.
%-----------------------------------------------------------
% Definition of macro which typesets the current date 
% (like macro \today does) in a short form. It supports 
% two optional parameters which can be used to adjust 
% the date layout.
% Param1: Represents the kind of date formatting to be 
%         used. Its default value is set to 'din' and the
%         following pre-defined key words are available to 
%         this parameter:
%         din: [default] Layout of current date will be 
%              set to 'DD.MM.YYYY' according to DIN 5008.
%         iso: Layout of current date will be typeset to 
%              'YYYY-MM-DD' according to ISO 8601:2004 
%              and EN 28601.
% Param2: Represents the date delimiter to be used. The
%         default delimiter depends on given base format 
%         announce through parameter #1. In case of 
%         parameter #1 equals 'din' a dot ('.') is used 
%         as this default delimiter. If 'iso' is used 
%         within parameter #1 than a dash ('-') will be 
%         used as default delimiter. The following 
%         pre-defined key words are available to this 
%         parameter:
%         def: [default] Either a dor or a dash is used 
%              as default delimiter.
%         The usage of 'def' as the default key word 
%         makes sense in case of the usage of NO delimiter!
%         In this case it is possible to use command 
%         '\TodayShort[iso][]' which produces a date like 
%         'YYYYMMDD', in other words without a delimiter.
\DeclareRobustCommand\TodayShort[1][din]{%
  \@ifnextchar[%
    {\@iiTodayShort[#1]}
    {\@iiTodayShort[#1][def]}%]
}%
\def\@iiTodayShort[#1][#2]{%
	% Select date layout depending 
	% on parameter #1
  \ifthenelse{\equal{#1}{iso}}
		% According to ISO 8601:2004 and EN 28601 a date should 
		% be formatted like: YYYY-MM-DD
    {%
			% Adjust date delimiter depending on parameter #2
      \ifthenelse{\equal{#2}{def}}
        {\def\@delim{"~}}
        {\def\@delim{#2}}
      \number\year\@delim%
			% Use leading '0' if current month is less than 
			% 10th of year!
      {\ifnum\month<10{\number 0}\fi\number\month\@delim}%
			% Use leading '0' if current day is less than 
			% 10th of month!
      {\ifnum\day<10{\number 0}\fi\number\day}%
    }%
		% According to DIN 5008 a date should be formatted 
		% like: DD.MM.YYYY
    {%
			% Adjust date delimiter depending on parameter #2
      \ifthenelse{\equal{#2}{def}}
        {\def\@delim{.}}
        {\def\@delim{#2}}
			% Use leading '0' if current day is less than 
			% 10th of month!
      {\ifnum\day<10{\number 0}\fi\number\day\@delim}%
			% Use leading '0' if current month is less than 
			% 10th of year!
      {\ifnum\month<10{\number 0}\fi\number\month\@delim}%
      \number\year%
    }%
}%
%-----------------------------------------------------------
% Definition of various symbols.
%-----------------------------------------------------------
% Definition of macros which are used as a short cut only!
% All these macros do not have parameters.
% \Registered: Serves as a short cut of the "registered" 
%              symbol like '®'.
\DeclareRobustCommand\Registered{$^{\scalebox{0.7}[0.65]{\textregistered}}$}%
% \Copyright:  Serves as a short cut of the "copyright" 
%              symbol like '©'.
\DeclareRobustCommand\Copyright{\textcopyright}%
% \Trademark:  Serves as a short cut of the "trademark" 
%              symbol like 'TM'.
\DeclareRobustCommand\Trademark{$^{\scalebox{0.55}[0.5]{TM}}$}%
%-----------------------------------------------------------
% The authors first name as a sample for "jumping" text.
%-----------------------------------------------------------
% This macro definition is used to show how a "jumping" 
% text like \LaTeX can be defined. This macro does not have 
% parameters.
\newcommand{\Axel}{A%   First letter is normal.
  \raisebox{0.4ex}{%    Second letter moved up,
    \hspace{-0.13em}{%  then moved left,
      \scaletoheight{0.95ex}{x}}}% lower cases and smaller.
  \raisebox{-0.15ex}{%  Third letter moved down,
    \hspace{-0.07em}{%  then moved left,
      \scaletoheight{1.1ex}{E}}}% upper cases and bigger.
  \raisebox{0.2ex}{%    Fourth letter moved up,
    \hspace{-0.025em}{% then moved left,
      \scaletoheight{1.4ex}{l}}}}% lower cases and bigger.
%
%-----------------------------------------------------------
% Finish style file.
%%----------------------------------------------------------
%\iffalse
%    \begin{macrocode}
%</fomisc.sty>
%    \end{macrocode}
%\fi
%\iffalse
%    \begin{macrocode}
%<*fompar.sty>
%    \end{macrocode}
%\fi
%%----------------------------------------------------------
% 
% File:        fompar.sty (FOM Paragraph Definition)
% 
% Description: Definition of specific paragraph formatting 
%              macros for a usage in conjunction with "FOM 
%              Scientific Document Template".
% 
% Author:      Axel Kesseler
% 
% Version:     1.0.7
%
% Date:        2007/10/29
%
%-----------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{fompar}
  [2007/10/29 v1.0 FOM Paragraph Definition]
%-----------------------------------------------------------
% Declaration of all package options.
%-----------------------------------------------------------
% --- No options defined at the moment! ---
% Print a warning if the package receives an unknown option 
% just to inform the user.
\DeclareOption*{\PackageWarningNoLine{fompar}
  {Unknown option '\CurrentOption'}}
\ProcessOptions\relax%
%-----------------------------------------------------------
% Load all depending packages.
%-----------------------------------------------------------
% Load package 'ulem' with option 'normalem' to support 
% single underlined text.
\RequirePackage[normalem]{ulem}
%-----------------------------------------------------------
% Some configuration settings at the begin of a document.
%-----------------------------------------------------------
% All pre-configured paragraph settings should take place 
% at the beginnig of a document.
\AtBeginDocument{%
  \DefaultRemarkIndent
  \DefaultRemarkOffset
  \DefaultItemIndent
  \DefaultItemOffset
}%
%-----------------------------------------------------------
% A paragraph with label (left aligned) and body.
%-----------------------------------------------------------
% A length value to store left indention globally. The value 
% of 'remark@leftmargin' will be used by macro \Remark.
\newlength{\remark@leftmargin}
% This macro is used to change left indention of paragraphs 
% globally. It resets the value of 'remark@leftmargin' which 
% is used by macro \Remark. It defines one obligational 
% parameters to setup left indention.
% Param1: This obligational parameter set the left indention 
%         of paragraphs created by macro \Remark.
\newcommand{\RemarkIndent}[1]{%
  \setlength{\remark@leftmargin}{#1}}
% This macro is used the reset left indention of paragraphs 
% created by macro \Remark to its default indention of 3cm. 
% This macro does not have parameters.
\newcommand{\DefaultRemarkIndent}{%
  \RemarkIndent{3cm}}
% A length value to store paragraph's leading gap globally. 
% The value of 'remark@topsep' will be used by macro \Remark.
\newlength{\remark@topsep}
% This macro is used to change leading gap of paragraphs 
% globally. It resets the value of 'remark@topsep' which 
% is used by macro \Remark. It defines one obligational 
% parameters to setup leading gap.
% Param1: This obligational parameter set the leading gap 
%         of paragraphs created by macro \Remark.
\newcommand{\RemarkOffset}[1]{%
  \setlength{\remark@topsep}{#1}}
% This macro is used the reset leading gap of paragraphs 
% created by macro \Remark to its default value of \parskip. 
% This macro does not have parameters.
\newcommand{\DefaultRemarkOffset}{%
  \RemarkOffset{\parskip}}
% Definition of macro which supports a paragraph formatting 
% with a label and a body like a desription. The label of 
% the paragraph will be LEFT aligned (the only difference 
% to macro \Item). This macro defines two obligational  
% parameters and two optional parameters.
% Param1: Represents the paragraph's left indention. The 
%         label will have 90% of this width and the gap  
%         between label and body will be set to the rest.
% Param2: Represents the paragraph's gap to the text 
%         before.
% Param3: This obligational parameter is used as paragraph's 
%         label and can be formatted by the user.
% Param4: This obligational parameter is used as paragraph's 
%         body and can contain multiple paragraphs.
% Sample: The recommended usage of this macro is for 
%         paragraphs which explain something special like:
%         Attention:   This is not allowed for 
%                      an administrator!
\newcommand{\Remark}[1][\remark@leftmargin]{%
  \@ifnextchar[%
    {\@iiRemark[#1]}
    {\@iiRemark[#1][\remark@topsep]}%]
}%
\long\def\@iiRemark[#1][#2]#3#4{%
  \begin{list}{}{%
    \setlength{\topsep}{#2}%
    \setlength{\parsep}{\parskip}%
    \setlength{\leftmargin}{#1}%
    \setlength{\labelwidth}{0.9\leftmargin}%
    \setlength{\labelsep}{0.1\leftmargin}%
    \renewcommand{\makelabel}[1]{##1\ \hfil}}%
  \item[#3]#4%
  \end{list}%
}%
%-----------------------------------------------------------
% A paragraph with a label (right aligned) and a body.
%-----------------------------------------------------------
% A length value to store left indention globally. The value 
% of 'item@leftmargin' will be used by macro \Item.
\newlength{\item@leftmargin}
% This macro is used to change left indention of paragraphs 
% globally. It resets the value of 'item@leftmargin' which 
% is used by macro \Item. It defines one obligational 
% parameters to setup left indention.
% Param1: This obligational parameter set the left indention 
%         of paragraphs created by macro \Item.
\newcommand{\ItemIndent}[1]{%
  \setlength{\item@leftmargin}{#1}}
% This macro is used the reset left indention of paragraphs 
% created by macro \Item to its default indention of 4cm. 
% This macro does not have parameters.
\newcommand{\DefaultItemIndent}{%
  \ItemIndent{4cm}}
% A length value to store paragraph's leading gap globally. 
% The value of 'item@topsep' will be used by macro \Item.
\newlength{\item@topsep}
% This macro is used to change leading gap of paragraphs 
% globally. It resets the value of 'item@topsep' which 
% is used by macro \Item. It defines one obligational 
% parameters to setup leading gap.
% Param1: This obligational parameter set the leading gap 
%         of paragraphs created by macro \Item.
\newcommand{\ItemOffset}[1]{%
  \setlength{\item@topsep}{#1}}
% This macro is used the reset leading gap of paragraphs 
% created by macro \Item to its default value of \parskip. 
% This macro does not have parameters.
\newcommand{\DefaultItemOffset}{%
  \ItemOffset{\parskip}}
% Definition of macro which supports a paragraph formatting 
% with a label and a body like a desription. The label of 
% the paragraph will be RIGHT aligned (the only difference 
% to macro \Remark). This macro defines two obligational  
% parameters and two optional parameters.
% Param1: Represents the paragraph's left indention. The 
%         label will have 90% of this width and the gap  
%         between label and body will be set to the rest.
% Param2: Represents the paragraph's gap to the text 
%         before.
% Param3: This obligational parameter is used as paragraph's 
%         label and can be formatted by the user.
% Param4: This obligational parameter is used as paragraph's 
%         body and can contain multiple paragraphs.
% Sample: The recommended usage of this macro is for 
%         paragraphs which explain for example source 
%         code commands like:
%              rm -rf: This command shouldn't be used 
%                      within the root directory!
\newcommand{\Item}[1][\item@leftmargin]{%
  \@ifnextchar[%
    {\@iiItem[#1]}
    {\@iiItem[#1][\item@topsep]}%]
}%
\long\def\@iiItem[#1][#2]#3#4{%
  \begin{list}{}{%
    \setlength{\topsep}{#2}%
    \setlength{\parsep}{\parskip}%
    \setlength{\leftmargin}{#1}%
    \setlength{\labelwidth}{0.9\leftmargin}%
    \setlength{\labelsep}{0.1\leftmargin}}%
  \item[#3]#4%
  \end{list}%
}%
%-----------------------------------------------------------
% Macros for special paragraph representation.
%-----------------------------------------------------------
% Definition of macro which supports a paragraph with a kind 
% of headline. The difference to the LeTeX-owned macros 
% \paragraph and \subparagraph is, that the heading of macro
% \Description will NEVER be a part of TOC! Furthermore the 
% heading uses a separate text line. This macro defines two 
% obligational parameters and one optional parameter.
% Param1: Represents the paragraph's heading layout. The 
%         following pre-defined key words are available to 
%         this parameter:
%         n: The heading given with second parameter is 
%            not formatted.
%         b: The heading given with second parameter is 
%            bold (=default).
%         s: The heading given with second parameter is 
%            slanted.
%         u: The heading given with second parameter is 
%            underlined.
% Param2: This obligational parameter is used as paragraph's 
%         heading.
% Param3: This obligational parameter is used as paragraph's 
%         body.
\newcommand{\Description}[3][b]{%
  \vspace{\parskip}% Leading space
	% Headline formatting requested through parameter #1.
  \if      #1n{#2}%
  \else\if #1s{\textsl{#2}}%
  \else\if #1u{\uline {#2}}%
  \else       {\textbf{#2}}%
  \fi\fi\fi%
  \nopagebreak\par\vspace{-.5\parskip}{#3}%
}%
%-----------------------------------------------------------
% A paragraph with left and right indention.
%-----------------------------------------------------------
% Definition of an environment which allows a left and 
% right paragraph indention. Both indentions can be set 
% independently. This macro defines two obligational 
% parameters and one optional parameter.
% Param1: Represents the paragraph's leading gap. The value 
%         of \parskip is used by default.
% Param2: This obligational parameter is used to set 
%         paragraph's left indention.
% Param3: This obligational parameter is used to set 
%         paragraph's right indention.
\newenvironment{Citation}[3][\parskip]{%
  \begin{list}{}{%
    \setlength{\partopsep}{#1}%
    \setlength{\topsep}{0pt}%
    \setlength{\parsep}{\parskip}%
    \setlength{\itemsep}{0pt}%
    \setlength{\listparindent}{0pt}%
    \setlength{\labelwidth}{0pt}%
    \setlength{\labelsep}{0pt}%
    \setlength{\leftmargin}{#2}%
    \setlength{\rightmargin}{#3}%
  }\item[]}%
  {\end{list}%
}%
%
%-----------------------------------------------------------
% Finish style file.
%%----------------------------------------------------------
%\iffalse
%    \begin{macrocode}
%</fompar.sty>
%    \end{macrocode}
%\fi
%\iffalse
%    \begin{macrocode}
%<*fomidx.ist>
%    \end{macrocode}
%\fi
%%----------------------------------------------------------
% 
% File:        fomidx.ist (FOM Index Style Definition)
% 
% Description: This file contains configurations to create 
%              a suitable index based on DIN index style.
%
% Author:      Axel Kesseler
% 
% Version:     1.0.7
%
% Date:        2007/10/29
%
%-----------------------------------------------------------
% Based on DIN index style (supports german umlauts).
include "base/din.ist"
% Needed to use 'makeindex -g ...'.
quote '+'
% Index group configuration.
group_skip     "\n\n  \\indexspace%\n  \\indexspace%\n  \\indexspace%\n\n"
lethead_prefix "{\\sffamily\\bfseries\\large "
lethead_suffix " }\\nopagebreak%\n  \\indexspace\\nopagebreak%\n"
lethead_flag   1
heading_prefix "{\\sffamily\\bfseries\\large "
heading_suffix " }\\nopagebreak%\n  \\indexspace\\nopagebreak%\n"
headings_flag  1
% Special group heading configuration.
numhead_positive "Zahlen"
numhead_negative "zahlen"
symhead_positive "Symbole"
symhead_negative "symbole"
% Index item configuration.
delim_0 " \\space\\dotfill\\quad "
delim_1 " \\space\\dotfill\\quad "
delim_2 " \\space\\dotfill\\quad "
% Index passes more than three pages.
delim_r "~--~"
% Index passes two pages.
suffix_2p "\\,f."
% Index passes three pages.
suffix_3p "\\,ff."
% Index item prefix configuration.
item_1  "\n    \\subitem\\hspace{-19pt}--, "
item_2  "\n      \\subsubitem\\hspace{-15pt}--, "
item_01 "\n    \\subitem\\hspace{-19pt}--, "
item_12 "\n      \\subsubitem\\hspace{-15pt}--, "
item_x1 "\n    \\subitem\\hspace{-19pt}--, "
item_x2 "\n      \\subsubitem\\hspace{-15pt}--, "
%
%-----------------------------------------------------------
% Finish index style file.
%%----------------------------------------------------------
%\iffalse
%    \begin{macrocode}
%</fomidx.ist>
%    \end{macrocode}
%\fi
%\Finale
\endinput
