%%****************************************
%%*                                      *
%%* TU Dresden                           *
%%* Lehrstuhl für Wirtschaftsinformatik, *
%%* insbesondere Systementwicklung       *
%%*                                      *
%%****************************************
%%
%% LaTeX-Vorlage fuer Doktor-, Diplom-, Bachelor-, Master- und Seminararbeiten
%% Hauptteil
%%
%% Version: $Revision: 1.16 $

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{wise}[19/03/2004 Vorlage fuer Dokumente an der WiSe von 
Andreas Gehlert]
\LoadClass[cleardoubleempty, liststotoc, bibtotoc, idxtotoc, 12pt, abstracton, pointlessnumbers]{scrartcl}

%Auswertung der Paketoptionen
%Behandlung der pdf-Option. Dies wird eingeführt, um Übersetzungszeit
%zu sparen, wenn nur ein .ps erzeugt werden soll.
\newif\if@pdf
\@pdffalse
\DeclareOption{pdf} {%
    \@pdftrue%
}%
%ngerman-Option verarbeiten
\newif\if@ngerman
\@ngermanfalse
\DeclareOption{ngerman}{%
  \@ngermantrue%
}%
%mp-Option verarbeiten
\newif\if@mp
\@mpfalse
\DeclareOption{mp}{%
  \@mptrue%
}%
%mppdf-Option verarbeiten; pdf-Option mit einschalten.
\newif\if@mppdf
\@mppdffalse
\DeclareOption{mppdf}{%
  \@mppdftrue%
  \@pdftrue%
}%
% Option für eine vierte numerierte Gliederungsebene
\newif\if@xlevel
\@xlevelfalse
\DeclareOption{xlevel}{%
   \@xleveltrue
}
% Option zum Einsatz des Hyperref Paketes
\newif\if@hyperref
\@hyperreffalse
\DeclareOption{hyperref}{
  \@hyperreftrue
}
%Option für die veränderte Kopfzeilenbeschriftung
\newif\if@partmarking
\@partmarkingfalse
\DeclareOption{partmarking}{
  \@partmarkingtrue
}


%Alle uebrigen Optionen werden an scrartcl weitergereicht
\DeclareOption*{%
    \typeout{Option \CurrentOption\space is passed to package scrartcl!}
    \PassOptionsToPackage{\CurrentOption}{scrartcl}
}%
\ProcessOptions\relax

%Seitenaufteilung festlegen.
\RequirePackage{geometry}

\newcommand\@normalgeometry{%
  \geometry{a4paper, tmargin=10mm,bmargin=30mm,lmargin=30mm,rmargin=20mm,
    headheight=15mm,headsep=7mm,ignorefoot,includehead}
}
\newcommand\@mpgeometry{%
  \geometry{a4paper,tmargin=10mm,bmargin=30mm,lmargin=23mm,rmargin=27mm,%
    headheight=15mm,headsep=7mm,ignorefoot,includehead}%
  \setlength{\marginparsep}{5mm}
}
\newcommand\@mppdfgeometry{%
  \geometry{a4paper,tmargin=10mm,bmargin=30mm,lmargin=18mm,rmargin=32mm,%
    headheight=15mm,headsep=7mm,ignorefoot,includehead}%
  \setlength{\marginparsep}{10mm}
}

%Fuer die mp bzw. mppdf wird eine andere Seitenaufteilung
%vereinbart
\if@mp%
  %Seitenaufteilung mit Randnotizen
  \@mpgeometry
\else
  \if@mppdf%
    %Seitenaufteilung fuer Randnotizen und pdf
    \@mppdfgeometry
  \else
    %normale Seitenaufteilung
    \@normalgeometry
  \fi
\fi

% Wenn wir ein pdf erzeugen, dann für das Inhaltsverzeichnis
% ein bookmark einfügen
\if@pdf\if@hyperref
  \let\@tableofcontents\tableofcontents
  \renewcommand\tableofcontents{%
    \hypertarget{tableofcontents.1}{}%
    \pdfbookmark[1]{Inhaltsverzeichnis}{tableofcontents}%
    \@tableofcontents%
  }
\fi\fi

%Neudeutsch laden
\if@ngerman%
\RequirePackage{ngerman}%
\fi
%Da man bei Neudeutsch ebenfalls Zitate in Altdeutsch haben wird,
%Wird das german-Paket auf jeden Fall benoetigt.
\RequirePackage{german}

% Veränderungen in der Gliederungsebene (Einführung einer vierten numerierten
% Ebene)
% Dabei werden die Schriftarten des Paragraphen auf die Normalgröße
% reduziert. Der subparagraph wird dann schräg gesetzt.
\if@xlevel
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\fi

%Große Überschriften beginnen stets auf einer neuen Seite, dessen Stil
%empty ist
\addtokomafont{section}{\clearpage\thispagestyle{empty}}
%Abschnitte beginnen auf einer neuen Doppelseite mit leerem Stil und
%2cm vom oberen Rand entfernt
\addtokomafont{partnumber}{\cleardoublepage\thispagestyle{empty}\vspace*{2cm}}
% Festlegen der neuen Schriftarten für den Paragraphen und den
% Subparagraphen.
\setkomafont{paragraph}{\normalcolor\sffamily\bfseries}
\setkomafont{subparagraph}{\normalcolor\sffamily\slshape}


\RequirePackage{lxextras}

%\RequirePackage[latin1]{inputenc}
\RequirePackage[utf8]{inputenc}
\RequirePackage{times}

\RequirePackage{graphicx}
\RequirePackage{url}

%Zeilenabstand 1.5-zeilig
\RequirePackage[onehalfspacing]{setspace}

%Kopfzeile einblenden mit vernünftiger Formatierung (keine
%Silbentrennung und Begrenzung der Textlaufweite
\RequirePackage[headsepline, automark]{scrpage2}
%Wir schalten sämtliche Anhänge erst mal aus
\clearscrheadings\clearscrplain

\ohead{Seite:~\pagemark}\ihead{\scshape\headmark}\chead{}
%Zeichensätze der Kopfzeile setzen
\setkomafont{pagehead}{\normalfont}
\setkomafont{pagenumber}{\normalfont}
%Nummerierung in der Kopfzeile ausblenden
\renewcommand\sectionmarkformat{}
\renewcommand\subsectionmarkformat{}

%Falls die Teilemarkierung in die Kopfzeile soll, müssen wir
%etwas umständlicher verfahren, da das scrpage2-Paket die Option
%\automark{part} nicht kennt. Wir müssen das also manuell
%bewerkstelligen.
%Dazu definieren wir einfach das subsectionmark um.
\if@partmarking
%Subsectionmark so umschreiben, dass es nun die Teilmarkierung aufnimmt.
\renewcommand{\subsectionmark}[1]{\markright{\partmark}}
%Teilmarkierung initial definieren
\newcommand\partmark{}
%Den part-Befehl kopieren
\let\@my@part\@part
%Und redefinieren, um dabei die rechte Kopfzeile markieren zu können.
\def\@part[#1]#2{
  \@my@part[#1]{#2}
  \def\partmark{#1}
}
\fi
%Kopfzeile einschalten
\pagestyle{scrheadings}

%%Anhaenge einbauen
\RequirePackage[header, title, toc]{wiseapp}
\renewcommand{\appendixtocname}{Anh\"ange}

%Für den Vorspann des Werkes, bitte folgende Umgebung nutzen:
\newenvironment{preface}{%
  \cleardoublepage
  \pagenumbering{roman}
}{%
  \cleardoublepage
  \pagenumbering{arabic}
}

%Zusatzbefehle------------------------------------------
%
%Einleitung. Beginnt mit Punkt 0 und  ab hier gilt die arabische Nummerierung
\newcommand\introduction{%
  \setcounter{section}{-1}%
  \section{Einleitung}%
}

%Abkürzungsverzeichnis
\newcommand\listofabbreviations{%
  \addsec{Abkürzungsverzeichnis}
}

%Befehl für eine Abkürzung
\newcommand\abbreviation[2]{
  \noindent%
  \setlength{\tabcolsep}{0pt}%
  \begin{tabular}{p{4.5cm}p{10cm}}
    #1 & #2 \\
  \end{tabular}
  \newline
}

%Kommando zum zitieren von ([FeSi1994], S.12)
\newcommand\shortcite[2] {(\cite{#1}, S.~#2)}
%Kommando zum Zitieren von (vgl. [FeSi1994], S.15)
\newcommand\longcite[2] {(vgl.~\cite{#1}, S.~#2)}

%Zusatzbefehle fuer erweiterte Boxen fuer die roemischen Zahlen
%Da diese Befehle auch in tocloft definiert werden, schreiben wir
%einfach 'wise' davor.
\newcommand{\wisecftsetpnumwidth}[1]{%
    \renewcommand{\@pnumwidth}{#1}
}
\newcommand{\wisecftsetrmarg}[1]{%
    \renewcommand{\@tocrmarg}{#1}
}
\newcommand{\wisecftlocalchange}[3]{%
    \addtocontents{#1}{\protect\wisecftsetpnumwidth{#2}
        \protect\wisecftsetrmarg{#3}}
}    

%Standardmaessig formatieren wir die Herausgeber eines Werkes mal
%fett. Wer will, kann diesen Befehl einfach überschreiben und damit
%den Default außer Kraft setzen.
\newcommand{\empheditors}[1]{
  \textbf{#1}
}

%Redefinitionen-----------------------------------------
%
% Paragraphen und Subparagraphen werden wie eine Überschrift gesetzt
% und nicht, wie im LaTeX-Standard in den Text integriert.
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\raggedsection\normalfont\sectfont\nobreak\size@paragraph\nobreak}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\raggedsection\normalfont\sectfont\nobreak\size@subparagraph\nobreak}}

%Abbildungs- & Tabellenverzeichnisse sollen ganz links beginnen.
\renewcommand*\l@figure{\@dottedtocline{1}{0em}{2.3em}}

%Literaturverzeichnis statt nur Literatur
\renewcommand{\refname}{Literaturverzeichnis}

%Seitenstil der Indexumgebung auf empty zurücksetzen (Standard: plain!)
\renewcommand{\indexpagestyle}{empty}

%Formatierung der Randnotizen, falls ueber die mp oder
%mppdf-Option aktiviert. Anosnsten bleibt der Befehl
%ohne Wirkung
\setlength{\marginparwidth}{1.5cm}
%Umschreiben des \marginpar-Befehls
\let\@mymarginpar\marginpar
\renewcommand\marginpar[1] {%
  \if@mp%
  \@mymarginpar[\raggedleft{\vspace{1em}\tiny#1}]{\raggedright \vspace{1em}\tiny#1}
%  \marginline{\vspace{1em}\tiny#1}
  \fi%
}

%Umgebungen------------------------------------
%Abstract Befehl bereitstellen. Ab hier kleine römische Seitennumerrierung
\renewenvironment{abstract}{%
  \section*{Abstract}%
  \pagestyle{empty}%
}{%
  \pagestyle{scrheadings}
  \setcounter{page}{0}
}

%Dann gibt es die entsprechende Umgebung
%Nummerierung Roman, danach wieder arabic
\renewenvironment{appendix}{%
  \cleardoublepage
  \pagenumbering{Roman}
  %Vergroesserung des Platzes fuer Seitenzahlen
  \wisecftlocalchange{toc}{4em}{5em}
  \wisecftlocalchange{lof}{4em}{5em}
  \wisecftlocalchange{lot}{4em}{5em}
}{%
  %%Urspruegliche Breiten einstellen
  \wisecftlocalchange{toc}{1.55em}{2.55em}
  \wisecftlocalchange{lof}{1.55em}{2.55em}
  \wisecftlocalchange{lot}{1.55em}{2.55em}
  \cleardoublepage
}

%Auswertung der Hyperref Option
\if@hyperref%
    \if@pdf
        % PDF Option eingeschaltet -> Entsprechenden Backend Treiber für
        % Hyperref laden
        \AtEndOfPackage{
        \RequirePackage[pdftex,colorlinks=true, linkcolor=blue, urlcolor=magenta,
            citecolor=cyan]{hyperref} 
         }
     \else
        % Keine PDF Option -> Standardtreiber für dvips laden
        \AtEndOfPackage{
        \RequirePackage[colorlinks=true, linkcolor=blue, urlcolor=magenta,
            citecolor=cyan]{hyperref} 
        }
     \fi
\fi%
\RequirePackage{wisetext}


%$Log: wise.cls,v $
%Revision 1.16  2009/11/06 19:19:31  sina
%DeckblŠtter fŸr Master- und Bachelorarbeiten eingefŸgt,
%Paragraphenangaben entsprechend der neuen PrŸfungsordnungen angepasst
%
%Revision 1.15  2004/03/19 14:49:51  gehlert
%Version korrigiert.
%
%Revision 1.14  2004/03/19 14:42:14  gehlert
%Vereinfachung der Formatierung der Überschriften \addtokomafont
%
%Revision 1.12  2002/12/03 10:05:37  gehlert
%Ändern der Einzüge bei Verzeichnissen.
%Ändern der Überschriftenformatierung.
%
%Revision 1.5  2001/10/22 08:30:50  andreasg
%* Bei einem \cleardoublepage wurde bisher im Falle einer Leerseite die Kopfzeile
%  auf diese Leerseite gedruckt. Dies wird jetzt unterbunden.
%* Umwandlung der \clearpage in \cleardoublepage-Befehle, um auch bei
%  doppelseitigem Ausdruck die entsprechenden Leerseiten zu erzeugen
%* In die Kopfzeilen kommen beim doppelseitigen Druck nun abwechselnd die Haupt- und
%  die Unterüberschriften und zwar ohne Überschriftennummern
%* Die Formatierung von mehr als zwei Autoren im Literaturverzeichnis, wird geändert
%  auf die ersten drei (bisher vier) Anfangsbuchstaben des Nachnamen und ein "+".
%* Aktualisierung der Dokumentation um die Beschreibung der Formatierung der
%  Kopfzeilen sowie Einarbeiten des Hinweises von Sven.
%* Hinzufügen der partmarking-Option, die es erlaubt, die Kopfzeilen
%  durch den \part und den \section-Befehl alternativ markieren zu lassen.
%
%Revision 1.4  2001/10/22 08:18:40  andreasg
%no message
%
%Revision 1.3  2001/10/22 08:07:27  andreasg
%* pointlessnumbers-Option hinzu. Es ist zwar generell richtig, dass
%  die scrartcl-Vorlage die Punktnummerierung beim Nutzen von römischen
%  Zahlen einschaltet (Siehe entsprechende Doku), beim Nutzen des
%  part-Befehls jedoch, kommt eine Nummerierung I.1. nicht vor,
%  d.h. für die Zwecke dieser Vorlage kann auf die Besonderheit der
%  Punktnummierierung verzichtet werden.
%
%Revision 1.2  2001/10/22 07:57:37  andreasg
%no message
%
