doc-isac/mlehnfeld/master/thesis/hgb.sty
changeset 55404 ab97437e021a
child 55466 55c2d2ee3f92
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/doc-isac/mlehnfeld/master/thesis/hgb.sty	Wed Mar 12 17:43:22 2014 +0100
     1.3 @@ -0,0 +1,590 @@
     1.4 +%% hgb.sty
     1.5 +%% Autor: Wilhelm Burger (wilhelm.burger@fh-hagenberg.at)
     1.6 +%% Diese Datei ist Teil des hagenberg-Package zur Erstellung von 
     1.7 +%% Bachelor- und Diplomarbeiten.
     1.8 +
     1.9 +\NeedsTeXFormat{LaTeX2e}
    1.10 +\newcommand{\hgbDate}{2013/02/19}	%Versionsdatum
    1.11 +\ProvidesPackage{hgb}[\hgbDate]
    1.12 +
    1.13 +% options german/english are passed from the class file
    1.14 +\DeclareOption{english}{\providecommand{\hgb@MainLanguage}{english}}
    1.15 +\DeclareOption{german}{\providecommand{\hgb@MainLanguage}{german}}
    1.16 +\ProcessOptions\relax
    1.17 +
    1.18 +
    1.19 +%% ------ Shadowing conflicting symbols from other packages -------
    1.20 +
    1.21 +% Macros for resolving name conflicts (from symbols.tex by Scott Pakin):
    1.22 +% There are a number of symbols (e.g., \Square) that are defined by      %
    1.23 +% multiple packages.  In order to typeset all the variants in this       %
    1.24 +% document, we have to give glyph a unique name.  To do that, we define  %
    1.25 +% \savesymbol{XXX}, which renames a symbol from \XXX to \origXXX, and    %
    1.26 +% \restoresymbol{yyy}{XXX}, which renames \origXXX back to \XXX and     %
    1.27 +% defines a new command, \yyyXXX, which corresponds to the most recently %
    1.28 +% loaded version of \XXX.   
    1.29 +% Wilbur: modified to use "orig@" instead of "orig" (not visible to users)
    1.30 +
    1.31 +% Save a symbol that we know is going to get redefined.
    1.32 +\def\@savesymbol#1{%
    1.33 +  \expandafter\let\expandafter\origsym\expandafter=\csname#1\endcsname
    1.34 +  \expandafter\let\csname orig@#1\endcsname=\origsym
    1.35 +  \expandafter\let\csname#1\endcsname=\relax
    1.36 +}
    1.37 +
    1.38 +% Restore a previously saved symbol, and rename the current one.
    1.39 +\def\@restoresymbol#1#2{%
    1.40 +  \expandafter\let\expandafter\newsym\expandafter=\csname#2\endcsname
    1.41 +  \expandafter\global\expandafter\let\csname#1#2\endcsname=\newsym
    1.42 +  \expandafter\let\expandafter\origsym\expandafter=\csname orig@#2\endcsname
    1.43 +  \expandafter\global\expandafter\let\csname#2\endcsname=\origsym
    1.44 +}
    1.45 +
    1.46 +% example:
    1.47 +%\@savesymbol{EUR}	% shadows \EUR command defined in eurosym-Package
    1.48 +%\RequirePackage{marvosym} % package defines \EUR again
    1.49 +%\@restoresymbol{eurosim}{EUR}	%original \EUR is now available as \eurosimEUR
    1.50 +
    1.51 +%% ------------------ Required Packages ----------------------
    1.52 +
    1.53 +\RequirePackage{cmap}								%utf8-change
    1.54 +%\RequirePackage[latin1]{inputenc} 	%utf8-change
    1.55 +\RequirePackage[utf8]{inputenc} 		%utf8-change
    1.56 +% see http://tex.stackexchange.com/questions/1390/latin-modern-vs-cm-super
    1.57 +\RequirePackage{lmodern}						%utf8-change, Latin Modern Fonts
    1.58 +
    1.59 +% T1-Fonts zur besseren Silbentrennung bei Umlauten etc.,
    1.60 +% verwendet automatisch die cm-super Type1 Postscript Schriften 
    1.61 +% (in MikTeX ab 2.4 installiert):
    1.62 +\RequirePackage[T1]{fontenc}
    1.63 +
    1.64 +\RequirePackage{ifthen}
    1.65 +\RequirePackage[english,german,ngerman]{babel}
    1.66 +\RequirePackage{datetime}
    1.67 +
    1.68 +\RequirePackage{eurosym} % provides \euro - conflict with marvosym on \EUR!
    1.69 +%\RequirePackage{marvosym} % provides \EUR and other unusual symbols!
    1.70 +%\@ifundefined{euro}%
    1.71 +%   {\newcommand*{\euro}{\EUR}}%
    1.72 +%	 {}
    1.73 +
    1.74 +\@ifundefined{hgb@MainLanguage}%
    1.75 +   {\newcommand*{\hgb@MainLanguage}{german}}%
    1.76 +	 {}
    1.77 +
    1.78 +% Hauptsprache einstellen (babel):
    1.79 +\ifthenelse{\equal{\hgb@MainLanguage}{german}}%
    1.80 +	{\main@language{ngerman}}{}
    1.81 +\ifthenelse{\equal{\hgb@MainLanguage}{english}}%
    1.82 +	{\main@language{english}}{}
    1.83 +	
    1.84 +%\RequirePackage[fixlanguage]{babelbib} %removed for biblatex
    1.85 +
    1.86 +%\RequirePackage[dvips]{graphicx} % zur Einbindung von EPS-Grafiken, %utf8-change
    1.87 +\RequirePackage{graphicx} 	%utf8-change, no dvips any longer
    1.88 +
    1.89 +\RequirePackage[T1,hyphens,obeyspaces,spaces,lowtilde]{url}
    1.90 +\urlstyle{sf}
    1.91 +
    1.92 +\RequirePackage{verbatim}
    1.93 +\RequirePackage{moreverb}
    1.94 +\def\verbatimtabsize{2\relax}
    1.95 +
    1.96 +%\RequirePackage[noadjust]{cite} % vermeidet zusätzliches Spacing vor [..]
    1.97 +
    1.98 +\RequirePackage{float}
    1.99 +%\floatplacement{figure}{tbp}
   1.100 +%\floatplacement{table}{tbp}
   1.101 +\floatstyle{plain}
   1.102 +
   1.103 +
   1.104 +% Captions mit Fontgroesse "small" und Abstand vom Seitenrand
   1.105 +\RequirePackage[small,bf]{caption}
   1.106 +\setlength{\captionmargin}{5mm}
   1.107 +\setlength{\abovecaptionskip}{10pt}
   1.108 +\setlength{\belowcaptionskip}{10pt}
   1.109 +
   1.110 +%\RequirePackage[small,rm,loose]{subfigure}
   1.111 +%\setlength{\subfigtopskip}{7pt}
   1.112 +%\setlength{\subfigcapskip}{7pt}
   1.113 +%\setlength{\subfigcaptopadj}{0pt} 
   1.114 +%\setlength{\subfigbottomskip}{-3pt}
   1.115 +%\setlength{\subfigcapmargin}{0pt} 
   1.116 +%\setlength{\subfiglabelskip}{0.33em plus 0.07em minus 0.03em}
   1.117 +
   1.118 +\RequirePackage{exscale}
   1.119 +% Skaliert Mathe-Modus Ausgaben in allen Umgebungen richtig.
   1.120 +
   1.121 +\RequirePackage{upquote}
   1.122 +% Setzt "richtige" Quotes in verbatim-Umgebung
   1.123 +
   1.124 +%\RequirePackage{psfrag}	%utf8-change, no psfrag no more
   1.125 +
   1.126 +% AMS-Math für mathematischen Schriftsatz
   1.127 +\RequirePackage{amsmath}
   1.128 +\RequirePackage{amsfonts}
   1.129 +\RequirePackage{amsbsy}
   1.130 +
   1.131 +%% ---------------------- Environments -------------------------
   1.132 +
   1.133 +%\newenvironment{sourcecode}%
   1.134 +%{\begin{minipage}{0.95\textwidth}%
   1.135 +%   \hrule%
   1.136 +%   \bigskip%
   1.137 +%   \begin{footnotesize}%
   1.138 +%}%
   1.139 +%{\end{footnotesize}
   1.140 +%   \hrule\end{minipage}%
   1.141 +%}
   1.142 +
   1.143 +% Umschalten von Deutsch auf Englisch (babel)
   1.144 +\newenvironment{english}%
   1.145 +{\begin{otherlanguage}{english}}%
   1.146 +{\end{otherlanguage}}
   1.147 +
   1.148 +\newenvironment{german}%
   1.149 +{\begin{otherlanguage}{ngerman}}%
   1.150 +{\end{otherlanguage}}
   1.151 +
   1.152 +
   1.153 +%% --------------------- Makros --------------------------------
   1.154 +
   1.155 +%\newcommand{\latex}{{\rm \LaTeX}\xspace} % aus Bequemlichkeit
   1.156 +%\newcommand{\latex}{{\sl La\-TeX}\xspace} % kein schnoerkeliges LaTeX mehr
   1.157 +\newcommand{\latex}{La\-TeX\xspace} % kein schnoerkeliges LaTeX mehr
   1.158 +
   1.159 +%\newcommand{\tex}{{\sl TeX}\xspace}     % kein schnoerkeliges TeX mehr
   1.160 +\newcommand{\tex}{TeX\xspace}     % kein schnoerkeliges TeX mehr
   1.161 +
   1.162 +%\newcommand{\bs}{\char '134} % Backslash character
   1.163 +\newcommand{\bs}{\textbackslash} % Backslash character
   1.164 +
   1.165 +%inline fractions
   1.166 +\def\fraction#1/#2{\leavevmode\kern.0em
   1.167 +  \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em
   1.168 +  /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
   1.169 +
   1.170 +\newcommand\trennstrich{%
   1.171 +  \nopagebreak[4]
   1.172 +  \vskip 1.5ex %
   1.173 +%  \nopagebreak[4]
   1.174 +  \noindent\makebox[\textwidth]{\rule{4cm}{0.4pt}}
   1.175 +  \vskip 2.5ex}
   1.176 +  
   1.177 +%Div. Abkürzungen (in Anlehnung an Jochen Küpper, jkthesis):
   1.178 +%\usepackage{xspace}
   1.179 +\RequirePackage{xspace}
   1.180 +
   1.181 +\newcommand{\bzgl}{bzgl.\@\xspace}
   1.182 +\newcommand{\bzw}{bzw.\@\xspace}
   1.183 +\newcommand{\ca}{ca.\@\xspace}
   1.184 +\newcommand{\dah}{d.\thinspace{}h.\@\xspace}
   1.185 +\newcommand{\Dah}{D.\thinspace{}h.\@\xspace}
   1.186 +\newcommand{\ds}{d.\thinspace{}sind\@\xspace}
   1.187 +\newcommand{\evtl}{evtl.\@\xspace}
   1.188 +\newcommand{\ia}{i.\thinspace{}Allg.\@\xspace}
   1.189 +\newcommand{\sa}{s.\ auch\@\xspace}
   1.190 +\newcommand{\so}{s.\ oben\xspace}
   1.191 +\newcommand{\su}{s.\ unten\@\xspace}
   1.192 +
   1.193 +\newcommand{\ua}{u.\thinspace{}a.\@\xspace}
   1.194 +\newcommand{\Ua}{U.\thinspace{}a.\@\xspace}
   1.195 +\newcommand{\uae}{u.\thinspace{}Ä.\@\xspace}
   1.196 +\newcommand{\usw}{usw.\@\xspace}
   1.197 +\newcommand{\uva}{u.\thinspace{}v.\thinspace{}a.\@\xspace}
   1.198 +\newcommand{\uvm}{u.\thinspace{}v.\thinspace{}m.\@\xspace}
   1.199 +\newcommand{\va}{vor allem\@\xspace}
   1.200 +\newcommand{\vgl}{vgl.\@\xspace}
   1.201 +\newcommand{\zB}{z.\thinspace{}B.\@\xspace}
   1.202 +\newcommand{\ZB}{Zum Beispiel\xspace}
   1.203 +
   1.204 +%Zeichen fuer die reellen, komplexen ... Zahlen (AMS Blackboard)
   1.205 +%\RequirePackage{amsfonts}
   1.206 +%\RequirePackage{amsbsy}
   1.207 +\newcommand{\R}{\ensuremath{\mathbb{R}}}
   1.208 +\newcommand{\Z}{\ensuremath{\mathbb{Z}}}
   1.209 +\newcommand{\N}{\ensuremath{\mathbb{N}}}
   1.210 +%\newcommand{\C}{\mathbb{C}} % utf8-change (problem with T1 encoding)
   1.211 +\newcommand{\Cpx}{\ensuremath{\mathbb{C}}}	% utf8-change
   1.212 +\newcommand{\Q}{\ensuremath{\mathbb{Q}}}
   1.213 +
   1.214 +%Messbox zur Druckkontrolle:
   1.215 +\newcommand{\Messbox}[2]{% Parameters: #1=Breite, #2=Hoehe
   1.216 +\setlength{\unitlength}{1.0mm}%
   1.217 +\begin{picture}(#1,#2)%
   1.218 +\linethickness{0.05mm}%
   1.219 +\put(0,0){\dashbox{0.2}(#1,#2)%
   1.220 +{\parbox{#1mm}{%
   1.221 +\centering\footnotesize 
   1.222 +%{\bf MESSBOX}\\ 
   1.223 +Breite $ = #1 {\rm\ mm}$\\
   1.224 +H\"ohe $ = #2 {\rm\ mm}$
   1.225 +}}}\end{picture}
   1.226 +}
   1.227 +
   1.228 +%% ------------- Einstellungen fuer's Layout --------------
   1.229 +
   1.230 +%\nonfrenchspacing    % erzeugt breitere Abstände zwischen Sätzen
   1.231 +\frenchspacing     	  % erzeugt normale Abstände zwischen Sätzen
   1.232 +%\pagestyle{headings}  % Normale Kopfzeilen
   1.233 +
   1.234 +%% div. Parameter: nur dann ändern, wenn man genau weiss was man tut!
   1.235 +%\setlength{\hoffset}{-1in}
   1.236 +%\setlength{\voffset}{-1in}
   1.237 +%\setlength{\oddsidemargin}{3cm}
   1.238 +%\setlength{\evensidemargin}{2.5cm}
   1.239 +%\setlength{\textwidth}{15.5cm}
   1.240 +%\setlength{\textheight}{22.8cm}
   1.241 +%\setlength{\topmargin}{2.54cm}
   1.242 +%\setlength{\headheight}{1ex}
   1.243 +%\setlength{\headsep}{1cm}
   1.244 +%\parindent0pt
   1.245 +%\parskip1.5ex plus0.5ex minus0.5ex % flexibler Absatzabstand
   1.246 +
   1.247 +% Make float placement easier    
   1.248 +\renewcommand{\floatpagefraction}{.9}  % vorher: .5
   1.249 +\renewcommand{\textfraction}{.01}      % vorher: .2
   1.250 +\renewcommand{\topfraction}{.9}        % vorher: .7
   1.251 +\renewcommand{\bottomfraction}{.7}     % vorher: .3
   1.252 +\setcounter{topnumber}{3}              % vorher: 2
   1.253 +\setcounter{bottomnumber}{2}           % vorher: 1
   1.254 +\setcounter{totalnumber}{5}            % vorher: 3
   1.255 +
   1.256 +%% ------------- Math Stuff --------------
   1.257 +%% Problem mit Satzzeichen im Math-Modus!
   1.258 +%% Verwende Komma (statt Punkt) als Trennzeichen in Dezimalzahlen 
   1.259 +%\DeclareMathSymbol{,}{\mathpunct}{letters}{"3B}
   1.260 +%\DeclareMathSymbol{.}{\mathord}{letters}{"3B}
   1.261 +%\DeclareMathSymbol{\decimal}{\mathord}{letters}{"3A}
   1.262 +
   1.263 +%% ------------- Algorithms Stuff ---------
   1.264 +
   1.265 +% 'algorithm' liefert die Float-Umgebung für Algorithmen (\begin{algorithm}...)
   1.266 +\@ifundefined{chapter}%
   1.267 +  {\RequirePackage[ruled]{algorithm}}%
   1.268 +	{\RequirePackage[ruled,chapter]{algorithm}}
   1.269 +
   1.270 +%\floatname{algorithm}{Algorithmus}
   1.271 +%\DeclareCaptionLabelSeparator{colon}{: } % Anpassung an den standard caption style
   1.272 +\DeclareCaptionStyle{ruled}{labelfont=bf,labelsep=colon} 
   1.273 +
   1.274 +% 'algorithmicx' liefert das Innere der Algorithmen (\begin{algorithmic}[1]...)
   1.275 +\RequirePackage{algorithmicx}
   1.276 +\RequirePackage{algpseudocode}
   1.277 +\algsetlanguage{pseudocode}
   1.278 +\renewcommand{\algorithmicprocedure}{} % use no 'Procedure' keyword
   1.279 +
   1.280 +
   1.281 +
   1.282 +%% ------------- Program environment / code listings --------------
   1.283 +
   1.284 +% define the program float environment:
   1.285 +\@ifundefined{chapter}%
   1.286 +   {\newfloat{program}{tbp}{lop}}%
   1.287 +	 {\newfloat{program}{tbp}{lop}[chapter]}
   1.288 +%\floatname{program}{Programm}
   1.289 +%\floatname{program}{\@ProgramName}
   1.290 +\floatstyle{plain}
   1.291 +\restylefloat*{program}
   1.292 +	
   1.293 +\ifthenelse{\equal{\bbl@main@language}{german} \or \equal{\bbl@main@language}{ngerman}}%
   1.294 +{	\floatname{program}{Programm}
   1.295 +  \floatname{algorithm}{Algorithmus}
   1.296 +}{}
   1.297 +
   1.298 +\ifthenelse{\equal{\bbl@main@language}{english}}%
   1.299 +{	\floatname{program}{Program}
   1.300 +  \floatname{algorithm}{Algorithm}
   1.301 +}{}
   1.302 +
   1.303 +
   1.304 +\RequirePackage{color}
   1.305 +\definecolor{lightgray}{gray}{0.9}
   1.306 +\definecolor{midgray}{gray}{0.5}
   1.307 +\color{black}
   1.308 +\newcommand{\@MissingArg}[1]{\textcolor{red}{#1}}
   1.309 +
   1.310 +%\RequirePackage{listings}			% utf8-change
   1.311 +\RequirePackage{listingsutf8} 	% utf8-change
   1.312 +\lstset{
   1.313 +%language=Java,%
   1.314 +inputencoding=utf8,	% utf8-change
   1.315 +extendedchars=true,	% utf8-change
   1.316 +basicstyle=\ttfamily\footnotesize,%
   1.317 +keywordstyle=,%\ttfamily,%\bfseries,
   1.318 +identifierstyle=,%\sffamily, %\bfseries
   1.319 +commentstyle=\normalfont\itshape,%
   1.320 +stringstyle=\ttfamily,%
   1.321 +showstringspaces=false,%
   1.322 +columns = flexible,% fixed, 
   1.323 +breaklines=true,%
   1.324 +tabsize=2, %
   1.325 +backgroundcolor=\color{lightgray},
   1.326 +xleftmargin=6mm,%
   1.327 +frame=none,
   1.328 +framexleftmargin=6mm,
   1.329 +numbers=left,%
   1.330 +numbersep=5pt,%
   1.331 +numberstyle=\normalfont\scriptsize,%
   1.332 +stepnumber=1,%
   1.333 +numberfirstline=true,%
   1.334 +numberblanklines=true,%
   1.335 +texcl=true,%		%important: read program comments as Latex content
   1.336 +mathescape=false,	%set false by default?
   1.337 +upquote=true,%
   1.338 +keepspaces=true,%
   1.339 +}
   1.340 +
   1.341 +\lstset{literate=% to allow Umlauts etc. in listed code % utf8-change
   1.342 +{Ö}{{\"O}}1
   1.343 +{Ä}{{\"A}}1
   1.344 +{Ü}{{\"U}}1
   1.345 +{ß}{{\ss}}2
   1.346 +{ü}{{\"u}}1
   1.347 +{ä}{{\"a}}1
   1.348 +{ö}{{\"o}}1
   1.349 +}
   1.350 +
   1.351 +\lstnewenvironment{JavaCode}[1][]	% code environment for Java 
   1.352 +{\lstset{%
   1.353 +	language=Java,
   1.354 +	escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.)
   1.355 +	#1}}
   1.356 +{}
   1.357 +
   1.358 +\lstnewenvironment{CCode}[1][]	% code environment for C (ANSI)
   1.359 +{\lstset{%
   1.360 +	language=[ANSI]C,
   1.361 +	escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.)
   1.362 +	#1}}
   1.363 +{}
   1.364 +
   1.365 +\lstnewenvironment{CppCode}[1][]	% code environment for C++ (ISO)
   1.366 +{\lstset{%
   1.367 +	language=[ISO]C++,
   1.368 +	escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.)
   1.369 +	#1}}
   1.370 +{}
   1.371 +
   1.372 +\lstnewenvironment{PhpCode}[1][]
   1.373 +{\lstset{%
   1.374 +  language=PHP,
   1.375 +%  mathescape=false,
   1.376 +  escapeinside={/+}{+/},
   1.377 +  #1}}%
   1.378 +{}
   1.379 +
   1.380 +\lstnewenvironment{HtmlCode}[1][]
   1.381 +{\lstset{%
   1.382 +  language=HTML,
   1.383 +%  mathescape=false,
   1.384 +  escapeinside={/+}{+/},
   1.385 +  #1}}%
   1.386 +{}
   1.387 +
   1.388 +\lstdefinelanguage{CSS}
   1.389 +{	morekeywords={color,background,margin,padding,font,weight,display,position,top,%
   1.390 +			left,right,bottom,list,style,border,size,white,space,min,width},
   1.391 +	sensitive=false,
   1.392 +	morecomment=[l]{//},
   1.393 +	morecomment=[s]{/*}{*/},
   1.394 +	morestring=[b]"
   1.395 +}
   1.396 +
   1.397 +\lstnewenvironment{CssCode}[1][]
   1.398 +{\lstset{%
   1.399 +  language=CSS,
   1.400 +%  mathescape=false,
   1.401 +  escapeinside={/+}{+/},
   1.402 +  #1}}%
   1.403 +{}
   1.404 +
   1.405 +\lstnewenvironment{XmlCode}[1][]
   1.406 +{\lstset{%
   1.407 +  language=XML,
   1.408 +%  mathescape=false,
   1.409 +  escapeinside={/+}{+/},
   1.410 +  #1}}%
   1.411 +{}
   1.412 +
   1.413 +\lstdefinelanguage{JavaScript}
   1.414 +{	keywords={attributes, class, classend, do, empty, endif, endwhile, fail, function,% 
   1.415 +			functionend, if, implements, in, inherit, inout, not, of, operations, out, 
   1.416 +			return, set, then, types, while, use},
   1.417 +	sensitive=false,
   1.418 +	morecomment=[l]{//},
   1.419 +	morecomment=[s]{/*}{*/}
   1.420 +}
   1.421 +
   1.422 +\lstnewenvironment{JsCode}[1][]
   1.423 +{\lstset{%
   1.424 +  language=JavaScript,
   1.425 +  mathescape=false,
   1.426 +  escapeinside={/+}{+/},
   1.427 +  #1}}%
   1.428 +{}
   1.429 +
   1.430 +\lstnewenvironment{LaTeXCode}[1][]	% code environment for Latex
   1.431 +{\lstset{%
   1.432 +	language=[LaTeX]TeX,
   1.433 +	commentstyle={},
   1.434 +	texcl=false,
   1.435 +	escapechar={},
   1.436 +	%	mathescape=false,
   1.437 +	escapeinside={/+}{+/},
   1.438 +	#1}}%
   1.439 +{}
   1.440 +
   1.441 +\lstnewenvironment{GenericCode}[1][]	% generic code environment
   1.442 +{\lstset{%
   1.443 +	language={},
   1.444 +	keepspaces=true,
   1.445 +	commentstyle={},
   1.446 +	texcl=false,
   1.447 +	escapechar={},
   1.448 +	escapeinside={},
   1.449 +%	mathescape=false,
   1.450 +	#1}}
   1.451 +{}
   1.452 +
   1.453 +%% ------------- Experimental --------------
   1.454 +
   1.455 +\newenvironment{NarrowList}%
   1.456 +{\begin{list}{}%
   1.457 +{\setlength{\leftmargin}{2.5em}
   1.458 + \setlength{\labelwidth}{1em}
   1.459 + \setlength{\labelsep}{0.5em}
   1.460 + \setlength{\itemsep}{0.5ex}
   1.461 + \setlength{\parsep}{0ex}
   1.462 + \setlength{\topsep}{0ex}
   1.463 +\raggedright
   1.464 +}}%
   1.465 +{\end{list}}
   1.466 +
   1.467 +\newenvironment{FileList}[1]%
   1.468 +{\paragraph{Pfad:} \url{#1}
   1.469 + \begin{list}{}%
   1.470 +{\setlength{\leftmargin}{5cm}
   1.471 + \setlength{\labelwidth}{4cm}
   1.472 + \setlength{\labelsep}{0.25cm}
   1.473 + \setlength{\rightmargin}{0cm}
   1.474 + \setlength{\itemindent}{0cm}
   1.475 + \setlength{\itemsep}{0.5ex}
   1.476 + \setlength{\parsep}{0ex}
   1.477 + \setlength{\topsep}{1ex}
   1.478 +\raggedright
   1.479 +}}%
   1.480 +{\end{list}}
   1.481 +
   1.482 +\def\widedotfill{\leaders\hbox to 8pt{\hfil.\hfil}\hfill}
   1.483 +
   1.484 +\newcommand{\fitem}[1]{%
   1.485 +%\item[\url{#1}\hfill]
   1.486 +%\item[\url{#1}\dotfill]
   1.487 +\item[\url{#1}\widedotfill]
   1.488 +}
   1.489 +
   1.490 +\newcommand{\Frametext}[1]{%
   1.491 +\setlength{\fboxrule}{0.05mm}%
   1.492 +\setlength{\fboxsep}{0.5mm}%
   1.493 +\fbox{\vphantom{Ag}#1}%
   1.494 +}
   1.495 +
   1.496 +\newcommand{\FramePic}[1]{%
   1.497 +\setlength{\fboxrule}{0.1mm}%
   1.498 +\setlength{\fboxsep}{0mm}%
   1.499 +\fbox{#1}%
   1.500 +}
   1.501 +
   1.502 +\newcommand{\optbreaknh}{\hskip 0pt } %optional break without hyphen: e.g. PlugIn{\optbrknh}Filter
   1.503 +
   1.504 +% Erzeugt einen neuen, nicht eingerückten Absatz
   1.505 +% mit zusätzlichem Abstand:
   1.506 +\newcommand{\SuperPar}[0]{% 
   1.507 +\par\bigskip\noindent%
   1.508 +}
   1.509 +
   1.510 +%%% Date-related commands ----------------------------------
   1.511 +
   1.512 +\RequirePackage{datetime}
   1.513 +\showdowfalse	% do not show day of week
   1.514 +
   1.515 +% adapted from \newdate in datetime.sty
   1.516 +\newcommand*{\@modifydate}[4]{%
   1.517 +\@namedef{date@#1@d}{#2}%
   1.518 +\@namedef{date@#1@m}{#3}%
   1.519 +\@namedef{date@#1@y}{#4}%
   1.520 +}
   1.521 +
   1.522 +\newdate{hgb@date}{\the\day}{\the\month}{\the\year}
   1.523 +\newcommand{\Date}[3]{%	example for use: \Date{16}{5}{2008}
   1.524 +  \@modifydate{hgb@date}{#1}{#2}{#3}
   1.525 +}
   1.526 +
   1.527 +\newcommand{\hgb@GetDateDay}{\getdateday{hgb@date}}
   1.528 +\newcommand{\hgb@GetDateMonth}{\getdatemonth{hgb@date}}
   1.529 +\newcommand{\hgb@GetDateYear}{\getdateyear{hgb@date}}
   1.530 +\newcommand{\hgb@DisplayDate}{\displaydate{hgb@date}}
   1.531 +
   1.532 +%%% Experimental:
   1.533 +%\RequirePackage{hyperref}		% ignores \pdfinfo commmands % utf8-change
   1.534 +\RequirePackage[unicode]{hyperref}	% utf8-change
   1.535 +\definecolor{@darkblue}{RGB}{0,0,140}
   1.536 +\definecolor{@darkgreen}{RGB}{0,100,70}
   1.537 +\hypersetup{
   1.538 +  colorlinks   = true, %Colours links instead of ugly boxes
   1.539 +  urlcolor     = @darkblue, %Colour for external hyperlinks
   1.540 +  linkcolor    = @darkblue, %Colour of internal links
   1.541 +  citecolor    = @darkgreen %Colour of citations
   1.542 +}	%see https://www.tug.org/applications/hyperref/manual.html
   1.543 +
   1.544 +
   1.545 +\RequirePackage[all]{hypcap} % fixes hyperref problem with references to float captions
   1.546 +%\RequirePackage[novbox]{pdfsync} % ersetzt durch -synctex=-1 option
   1.547 +%\RequirePackage[noadjust]{cite} % vermeidet zusätzliches Spacing vor [..] % entfernt wegen biblatex
   1.548 +
   1.549 +\RequirePackage{ifpdf}
   1.550 +\ifpdf % LaTeX is in native PDF mode (pdflatex) 
   1.551 +  \RequirePackage{epstopdf}		% zur automatischen Konvertierung von EPS-Dateien nach PDF für pdflatex
   1.552 +%  \pdfcompresslevel=0			  % 0 = keine Kompression, 9 = max. Kompression
   1.553 +%  \pdfimageresolution=300
   1.554 +\else % LaTeX is in emulation mode (DVI-PS-PDF)
   1.555 +  \RequirePackage[hyphenbreaks]{breakurl}	% erlaubt Zeilenumbruch von URLs auch ohne pdflatex (DIV, PS, PDF)
   1.556 +\fi	
   1.557 +	
   1.558 +\RequirePackage{enumitem}	% fix excessive vertical spacing in lists
   1.559 +\setlist{%
   1.560 +	partopsep = .0ex plus .1ex, 
   1.561 +	topsep = .6ex plus .3ex, 
   1.562 +	itemsep = .0ex plus .1ex, 
   1.563 +	parsep = .4ex plus .2ex
   1.564 +}
   1.565 +%\setlist{nolistsep}	% kein Spacing zwischen items
   1.566 +%\setlist{noitemsep}  % überhaupt kein vertik. Spacing
   1.567 +
   1.568 +%% -------------------------------------------------------
   1.569 +
   1.570 +\newcommand{\TurnWidowsOff}{%
   1.571 +\clubpenalty=10000%
   1.572 +\widowpenalty=10000%
   1.573 +\displaywidowpenalty=10000}
   1.574 +
   1.575 +\newenvironment{nowidows}%
   1.576 +{\TurnWidowsOff}%
   1.577 +{}
   1.578 +
   1.579 +%%Beispiel
   1.580 +%\begin{nowidows}
   1.581 +%Beliebiger Text, in dem absolut keine Hurenkinder zugelassen werden.
   1.582 +%\end{nowidows}
   1.583 +
   1.584 +%%How to display TeX parameters:
   1.585 +\newcommand{\ShowParameter}[1]{\relax\the#1\showthe#1}
   1.586 +%Beispiel: \ShowParameter{\clubpenalty}
   1.587 +
   1.588 +\setlength{\parskip}{0pt plus 0.1pt}
   1.589 +%\flushbottom
   1.590 +\raggedbottom
   1.591 +
   1.592 +%% -------------------------------------------------------
   1.593 +