doc-isac/mlehnfeld/master/thesis/hgb.sty
changeset 55404 ab97437e021a
child 55466 55c2d2ee3f92
equal deleted inserted replaced
55403:d2d4125a92ad 55404:ab97437e021a
       
     1 %% hgb.sty
       
     2 %% Autor: Wilhelm Burger (wilhelm.burger@fh-hagenberg.at)
       
     3 %% Diese Datei ist Teil des hagenberg-Package zur Erstellung von 
       
     4 %% Bachelor- und Diplomarbeiten.
       
     5 
       
     6 \NeedsTeXFormat{LaTeX2e}
       
     7 \newcommand{\hgbDate}{2013/02/19}	%Versionsdatum
       
     8 \ProvidesPackage{hgb}[\hgbDate]
       
     9 
       
    10 % options german/english are passed from the class file
       
    11 \DeclareOption{english}{\providecommand{\hgb@MainLanguage}{english}}
       
    12 \DeclareOption{german}{\providecommand{\hgb@MainLanguage}{german}}
       
    13 \ProcessOptions\relax
       
    14 
       
    15 
       
    16 %% ------ Shadowing conflicting symbols from other packages -------
       
    17 
       
    18 % Macros for resolving name conflicts (from symbols.tex by Scott Pakin):
       
    19 % There are a number of symbols (e.g., \Square) that are defined by      %
       
    20 % multiple packages.  In order to typeset all the variants in this       %
       
    21 % document, we have to give glyph a unique name.  To do that, we define  %
       
    22 % \savesymbol{XXX}, which renames a symbol from \XXX to \origXXX, and    %
       
    23 % \restoresymbol{yyy}{XXX}, which renames \origXXX back to \XXX and     %
       
    24 % defines a new command, \yyyXXX, which corresponds to the most recently %
       
    25 % loaded version of \XXX.   
       
    26 % Wilbur: modified to use "orig@" instead of "orig" (not visible to users)
       
    27 
       
    28 % Save a symbol that we know is going to get redefined.
       
    29 \def\@savesymbol#1{%
       
    30   \expandafter\let\expandafter\origsym\expandafter=\csname#1\endcsname
       
    31   \expandafter\let\csname orig@#1\endcsname=\origsym
       
    32   \expandafter\let\csname#1\endcsname=\relax
       
    33 }
       
    34 
       
    35 % Restore a previously saved symbol, and rename the current one.
       
    36 \def\@restoresymbol#1#2{%
       
    37   \expandafter\let\expandafter\newsym\expandafter=\csname#2\endcsname
       
    38   \expandafter\global\expandafter\let\csname#1#2\endcsname=\newsym
       
    39   \expandafter\let\expandafter\origsym\expandafter=\csname orig@#2\endcsname
       
    40   \expandafter\global\expandafter\let\csname#2\endcsname=\origsym
       
    41 }
       
    42 
       
    43 % example:
       
    44 %\@savesymbol{EUR}	% shadows \EUR command defined in eurosym-Package
       
    45 %\RequirePackage{marvosym} % package defines \EUR again
       
    46 %\@restoresymbol{eurosim}{EUR}	%original \EUR is now available as \eurosimEUR
       
    47 
       
    48 %% ------------------ Required Packages ----------------------
       
    49 
       
    50 \RequirePackage{cmap}								%utf8-change
       
    51 %\RequirePackage[latin1]{inputenc} 	%utf8-change
       
    52 \RequirePackage[utf8]{inputenc} 		%utf8-change
       
    53 % see http://tex.stackexchange.com/questions/1390/latin-modern-vs-cm-super
       
    54 \RequirePackage{lmodern}						%utf8-change, Latin Modern Fonts
       
    55 
       
    56 % T1-Fonts zur besseren Silbentrennung bei Umlauten etc.,
       
    57 % verwendet automatisch die cm-super Type1 Postscript Schriften 
       
    58 % (in MikTeX ab 2.4 installiert):
       
    59 \RequirePackage[T1]{fontenc}
       
    60 
       
    61 \RequirePackage{ifthen}
       
    62 \RequirePackage[english,german,ngerman]{babel}
       
    63 \RequirePackage{datetime}
       
    64 
       
    65 \RequirePackage{eurosym} % provides \euro - conflict with marvosym on \EUR!
       
    66 %\RequirePackage{marvosym} % provides \EUR and other unusual symbols!
       
    67 %\@ifundefined{euro}%
       
    68 %   {\newcommand*{\euro}{\EUR}}%
       
    69 %	 {}
       
    70 
       
    71 \@ifundefined{hgb@MainLanguage}%
       
    72    {\newcommand*{\hgb@MainLanguage}{german}}%
       
    73 	 {}
       
    74 
       
    75 % Hauptsprache einstellen (babel):
       
    76 \ifthenelse{\equal{\hgb@MainLanguage}{german}}%
       
    77 	{\main@language{ngerman}}{}
       
    78 \ifthenelse{\equal{\hgb@MainLanguage}{english}}%
       
    79 	{\main@language{english}}{}
       
    80 	
       
    81 %\RequirePackage[fixlanguage]{babelbib} %removed for biblatex
       
    82 
       
    83 %\RequirePackage[dvips]{graphicx} % zur Einbindung von EPS-Grafiken, %utf8-change
       
    84 \RequirePackage{graphicx} 	%utf8-change, no dvips any longer
       
    85 
       
    86 \RequirePackage[T1,hyphens,obeyspaces,spaces,lowtilde]{url}
       
    87 \urlstyle{sf}
       
    88 
       
    89 \RequirePackage{verbatim}
       
    90 \RequirePackage{moreverb}
       
    91 \def\verbatimtabsize{2\relax}
       
    92 
       
    93 %\RequirePackage[noadjust]{cite} % vermeidet zusätzliches Spacing vor [..]
       
    94 
       
    95 \RequirePackage{float}
       
    96 %\floatplacement{figure}{tbp}
       
    97 %\floatplacement{table}{tbp}
       
    98 \floatstyle{plain}
       
    99 
       
   100 
       
   101 % Captions mit Fontgroesse "small" und Abstand vom Seitenrand
       
   102 \RequirePackage[small,bf]{caption}
       
   103 \setlength{\captionmargin}{5mm}
       
   104 \setlength{\abovecaptionskip}{10pt}
       
   105 \setlength{\belowcaptionskip}{10pt}
       
   106 
       
   107 %\RequirePackage[small,rm,loose]{subfigure}
       
   108 %\setlength{\subfigtopskip}{7pt}
       
   109 %\setlength{\subfigcapskip}{7pt}
       
   110 %\setlength{\subfigcaptopadj}{0pt} 
       
   111 %\setlength{\subfigbottomskip}{-3pt}
       
   112 %\setlength{\subfigcapmargin}{0pt} 
       
   113 %\setlength{\subfiglabelskip}{0.33em plus 0.07em minus 0.03em}
       
   114 
       
   115 \RequirePackage{exscale}
       
   116 % Skaliert Mathe-Modus Ausgaben in allen Umgebungen richtig.
       
   117 
       
   118 \RequirePackage{upquote}
       
   119 % Setzt "richtige" Quotes in verbatim-Umgebung
       
   120 
       
   121 %\RequirePackage{psfrag}	%utf8-change, no psfrag no more
       
   122 
       
   123 % AMS-Math für mathematischen Schriftsatz
       
   124 \RequirePackage{amsmath}
       
   125 \RequirePackage{amsfonts}
       
   126 \RequirePackage{amsbsy}
       
   127 
       
   128 %% ---------------------- Environments -------------------------
       
   129 
       
   130 %\newenvironment{sourcecode}%
       
   131 %{\begin{minipage}{0.95\textwidth}%
       
   132 %   \hrule%
       
   133 %   \bigskip%
       
   134 %   \begin{footnotesize}%
       
   135 %}%
       
   136 %{\end{footnotesize}
       
   137 %   \hrule\end{minipage}%
       
   138 %}
       
   139 
       
   140 % Umschalten von Deutsch auf Englisch (babel)
       
   141 \newenvironment{english}%
       
   142 {\begin{otherlanguage}{english}}%
       
   143 {\end{otherlanguage}}
       
   144 
       
   145 \newenvironment{german}%
       
   146 {\begin{otherlanguage}{ngerman}}%
       
   147 {\end{otherlanguage}}
       
   148 
       
   149 
       
   150 %% --------------------- Makros --------------------------------
       
   151 
       
   152 %\newcommand{\latex}{{\rm \LaTeX}\xspace} % aus Bequemlichkeit
       
   153 %\newcommand{\latex}{{\sl La\-TeX}\xspace} % kein schnoerkeliges LaTeX mehr
       
   154 \newcommand{\latex}{La\-TeX\xspace} % kein schnoerkeliges LaTeX mehr
       
   155 
       
   156 %\newcommand{\tex}{{\sl TeX}\xspace}     % kein schnoerkeliges TeX mehr
       
   157 \newcommand{\tex}{TeX\xspace}     % kein schnoerkeliges TeX mehr
       
   158 
       
   159 %\newcommand{\bs}{\char '134} % Backslash character
       
   160 \newcommand{\bs}{\textbackslash} % Backslash character
       
   161 
       
   162 %inline fractions
       
   163 \def\fraction#1/#2{\leavevmode\kern.0em
       
   164   \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em
       
   165   /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
       
   166 
       
   167 \newcommand\trennstrich{%
       
   168   \nopagebreak[4]
       
   169   \vskip 1.5ex %
       
   170 %  \nopagebreak[4]
       
   171   \noindent\makebox[\textwidth]{\rule{4cm}{0.4pt}}
       
   172   \vskip 2.5ex}
       
   173   
       
   174 %Div. Abkürzungen (in Anlehnung an Jochen Küpper, jkthesis):
       
   175 %\usepackage{xspace}
       
   176 \RequirePackage{xspace}
       
   177 
       
   178 \newcommand{\bzgl}{bzgl.\@\xspace}
       
   179 \newcommand{\bzw}{bzw.\@\xspace}
       
   180 \newcommand{\ca}{ca.\@\xspace}
       
   181 \newcommand{\dah}{d.\thinspace{}h.\@\xspace}
       
   182 \newcommand{\Dah}{D.\thinspace{}h.\@\xspace}
       
   183 \newcommand{\ds}{d.\thinspace{}sind\@\xspace}
       
   184 \newcommand{\evtl}{evtl.\@\xspace}
       
   185 \newcommand{\ia}{i.\thinspace{}Allg.\@\xspace}
       
   186 \newcommand{\sa}{s.\ auch\@\xspace}
       
   187 \newcommand{\so}{s.\ oben\xspace}
       
   188 \newcommand{\su}{s.\ unten\@\xspace}
       
   189 
       
   190 \newcommand{\ua}{u.\thinspace{}a.\@\xspace}
       
   191 \newcommand{\Ua}{U.\thinspace{}a.\@\xspace}
       
   192 \newcommand{\uae}{u.\thinspace{}Ä.\@\xspace}
       
   193 \newcommand{\usw}{usw.\@\xspace}
       
   194 \newcommand{\uva}{u.\thinspace{}v.\thinspace{}a.\@\xspace}
       
   195 \newcommand{\uvm}{u.\thinspace{}v.\thinspace{}m.\@\xspace}
       
   196 \newcommand{\va}{vor allem\@\xspace}
       
   197 \newcommand{\vgl}{vgl.\@\xspace}
       
   198 \newcommand{\zB}{z.\thinspace{}B.\@\xspace}
       
   199 \newcommand{\ZB}{Zum Beispiel\xspace}
       
   200 
       
   201 %Zeichen fuer die reellen, komplexen ... Zahlen (AMS Blackboard)
       
   202 %\RequirePackage{amsfonts}
       
   203 %\RequirePackage{amsbsy}
       
   204 \newcommand{\R}{\ensuremath{\mathbb{R}}}
       
   205 \newcommand{\Z}{\ensuremath{\mathbb{Z}}}
       
   206 \newcommand{\N}{\ensuremath{\mathbb{N}}}
       
   207 %\newcommand{\C}{\mathbb{C}} % utf8-change (problem with T1 encoding)
       
   208 \newcommand{\Cpx}{\ensuremath{\mathbb{C}}}	% utf8-change
       
   209 \newcommand{\Q}{\ensuremath{\mathbb{Q}}}
       
   210 
       
   211 %Messbox zur Druckkontrolle:
       
   212 \newcommand{\Messbox}[2]{% Parameters: #1=Breite, #2=Hoehe
       
   213 \setlength{\unitlength}{1.0mm}%
       
   214 \begin{picture}(#1,#2)%
       
   215 \linethickness{0.05mm}%
       
   216 \put(0,0){\dashbox{0.2}(#1,#2)%
       
   217 {\parbox{#1mm}{%
       
   218 \centering\footnotesize 
       
   219 %{\bf MESSBOX}\\ 
       
   220 Breite $ = #1 {\rm\ mm}$\\
       
   221 H\"ohe $ = #2 {\rm\ mm}$
       
   222 }}}\end{picture}
       
   223 }
       
   224 
       
   225 %% ------------- Einstellungen fuer's Layout --------------
       
   226 
       
   227 %\nonfrenchspacing    % erzeugt breitere Abstände zwischen Sätzen
       
   228 \frenchspacing     	  % erzeugt normale Abstände zwischen Sätzen
       
   229 %\pagestyle{headings}  % Normale Kopfzeilen
       
   230 
       
   231 %% div. Parameter: nur dann ändern, wenn man genau weiss was man tut!
       
   232 %\setlength{\hoffset}{-1in}
       
   233 %\setlength{\voffset}{-1in}
       
   234 %\setlength{\oddsidemargin}{3cm}
       
   235 %\setlength{\evensidemargin}{2.5cm}
       
   236 %\setlength{\textwidth}{15.5cm}
       
   237 %\setlength{\textheight}{22.8cm}
       
   238 %\setlength{\topmargin}{2.54cm}
       
   239 %\setlength{\headheight}{1ex}
       
   240 %\setlength{\headsep}{1cm}
       
   241 %\parindent0pt
       
   242 %\parskip1.5ex plus0.5ex minus0.5ex % flexibler Absatzabstand
       
   243 
       
   244 % Make float placement easier    
       
   245 \renewcommand{\floatpagefraction}{.9}  % vorher: .5
       
   246 \renewcommand{\textfraction}{.01}      % vorher: .2
       
   247 \renewcommand{\topfraction}{.9}        % vorher: .7
       
   248 \renewcommand{\bottomfraction}{.7}     % vorher: .3
       
   249 \setcounter{topnumber}{3}              % vorher: 2
       
   250 \setcounter{bottomnumber}{2}           % vorher: 1
       
   251 \setcounter{totalnumber}{5}            % vorher: 3
       
   252 
       
   253 %% ------------- Math Stuff --------------
       
   254 %% Problem mit Satzzeichen im Math-Modus!
       
   255 %% Verwende Komma (statt Punkt) als Trennzeichen in Dezimalzahlen 
       
   256 %\DeclareMathSymbol{,}{\mathpunct}{letters}{"3B}
       
   257 %\DeclareMathSymbol{.}{\mathord}{letters}{"3B}
       
   258 %\DeclareMathSymbol{\decimal}{\mathord}{letters}{"3A}
       
   259 
       
   260 %% ------------- Algorithms Stuff ---------
       
   261 
       
   262 % 'algorithm' liefert die Float-Umgebung für Algorithmen (\begin{algorithm}...)
       
   263 \@ifundefined{chapter}%
       
   264   {\RequirePackage[ruled]{algorithm}}%
       
   265 	{\RequirePackage[ruled,chapter]{algorithm}}
       
   266 
       
   267 %\floatname{algorithm}{Algorithmus}
       
   268 %\DeclareCaptionLabelSeparator{colon}{: } % Anpassung an den standard caption style
       
   269 \DeclareCaptionStyle{ruled}{labelfont=bf,labelsep=colon} 
       
   270 
       
   271 % 'algorithmicx' liefert das Innere der Algorithmen (\begin{algorithmic}[1]...)
       
   272 \RequirePackage{algorithmicx}
       
   273 \RequirePackage{algpseudocode}
       
   274 \algsetlanguage{pseudocode}
       
   275 \renewcommand{\algorithmicprocedure}{} % use no 'Procedure' keyword
       
   276 
       
   277 
       
   278 
       
   279 %% ------------- Program environment / code listings --------------
       
   280 
       
   281 % define the program float environment:
       
   282 \@ifundefined{chapter}%
       
   283    {\newfloat{program}{tbp}{lop}}%
       
   284 	 {\newfloat{program}{tbp}{lop}[chapter]}
       
   285 %\floatname{program}{Programm}
       
   286 %\floatname{program}{\@ProgramName}
       
   287 \floatstyle{plain}
       
   288 \restylefloat*{program}
       
   289 	
       
   290 \ifthenelse{\equal{\bbl@main@language}{german} \or \equal{\bbl@main@language}{ngerman}}%
       
   291 {	\floatname{program}{Programm}
       
   292   \floatname{algorithm}{Algorithmus}
       
   293 }{}
       
   294 
       
   295 \ifthenelse{\equal{\bbl@main@language}{english}}%
       
   296 {	\floatname{program}{Program}
       
   297   \floatname{algorithm}{Algorithm}
       
   298 }{}
       
   299 
       
   300 
       
   301 \RequirePackage{color}
       
   302 \definecolor{lightgray}{gray}{0.9}
       
   303 \definecolor{midgray}{gray}{0.5}
       
   304 \color{black}
       
   305 \newcommand{\@MissingArg}[1]{\textcolor{red}{#1}}
       
   306 
       
   307 %\RequirePackage{listings}			% utf8-change
       
   308 \RequirePackage{listingsutf8} 	% utf8-change
       
   309 \lstset{
       
   310 %language=Java,%
       
   311 inputencoding=utf8,	% utf8-change
       
   312 extendedchars=true,	% utf8-change
       
   313 basicstyle=\ttfamily\footnotesize,%
       
   314 keywordstyle=,%\ttfamily,%\bfseries,
       
   315 identifierstyle=,%\sffamily, %\bfseries
       
   316 commentstyle=\normalfont\itshape,%
       
   317 stringstyle=\ttfamily,%
       
   318 showstringspaces=false,%
       
   319 columns = flexible,% fixed, 
       
   320 breaklines=true,%
       
   321 tabsize=2, %
       
   322 backgroundcolor=\color{lightgray},
       
   323 xleftmargin=6mm,%
       
   324 frame=none,
       
   325 framexleftmargin=6mm,
       
   326 numbers=left,%
       
   327 numbersep=5pt,%
       
   328 numberstyle=\normalfont\scriptsize,%
       
   329 stepnumber=1,%
       
   330 numberfirstline=true,%
       
   331 numberblanklines=true,%
       
   332 texcl=true,%		%important: read program comments as Latex content
       
   333 mathescape=false,	%set false by default?
       
   334 upquote=true,%
       
   335 keepspaces=true,%
       
   336 }
       
   337 
       
   338 \lstset{literate=% to allow Umlauts etc. in listed code % utf8-change
       
   339 {Ö}{{\"O}}1
       
   340 {Ä}{{\"A}}1
       
   341 {Ü}{{\"U}}1
       
   342 {ß}{{\ss}}2
       
   343 {ü}{{\"u}}1
       
   344 {ä}{{\"a}}1
       
   345 {ö}{{\"o}}1
       
   346 }
       
   347 
       
   348 \lstnewenvironment{JavaCode}[1][]	% code environment for Java 
       
   349 {\lstset{%
       
   350 	language=Java,
       
   351 	escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.)
       
   352 	#1}}
       
   353 {}
       
   354 
       
   355 \lstnewenvironment{CCode}[1][]	% code environment for C (ANSI)
       
   356 {\lstset{%
       
   357 	language=[ANSI]C,
       
   358 	escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.)
       
   359 	#1}}
       
   360 {}
       
   361 
       
   362 \lstnewenvironment{CppCode}[1][]	% code environment for C++ (ISO)
       
   363 {\lstset{%
       
   364 	language=[ISO]C++,
       
   365 	escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.)
       
   366 	#1}}
       
   367 {}
       
   368 
       
   369 \lstnewenvironment{PhpCode}[1][]
       
   370 {\lstset{%
       
   371   language=PHP,
       
   372 %  mathescape=false,
       
   373   escapeinside={/+}{+/},
       
   374   #1}}%
       
   375 {}
       
   376 
       
   377 \lstnewenvironment{HtmlCode}[1][]
       
   378 {\lstset{%
       
   379   language=HTML,
       
   380 %  mathescape=false,
       
   381   escapeinside={/+}{+/},
       
   382   #1}}%
       
   383 {}
       
   384 
       
   385 \lstdefinelanguage{CSS}
       
   386 {	morekeywords={color,background,margin,padding,font,weight,display,position,top,%
       
   387 			left,right,bottom,list,style,border,size,white,space,min,width},
       
   388 	sensitive=false,
       
   389 	morecomment=[l]{//},
       
   390 	morecomment=[s]{/*}{*/},
       
   391 	morestring=[b]"
       
   392 }
       
   393 
       
   394 \lstnewenvironment{CssCode}[1][]
       
   395 {\lstset{%
       
   396   language=CSS,
       
   397 %  mathescape=false,
       
   398   escapeinside={/+}{+/},
       
   399   #1}}%
       
   400 {}
       
   401 
       
   402 \lstnewenvironment{XmlCode}[1][]
       
   403 {\lstset{%
       
   404   language=XML,
       
   405 %  mathescape=false,
       
   406   escapeinside={/+}{+/},
       
   407   #1}}%
       
   408 {}
       
   409 
       
   410 \lstdefinelanguage{JavaScript}
       
   411 {	keywords={attributes, class, classend, do, empty, endif, endwhile, fail, function,% 
       
   412 			functionend, if, implements, in, inherit, inout, not, of, operations, out, 
       
   413 			return, set, then, types, while, use},
       
   414 	sensitive=false,
       
   415 	morecomment=[l]{//},
       
   416 	morecomment=[s]{/*}{*/}
       
   417 }
       
   418 
       
   419 \lstnewenvironment{JsCode}[1][]
       
   420 {\lstset{%
       
   421   language=JavaScript,
       
   422   mathescape=false,
       
   423   escapeinside={/+}{+/},
       
   424   #1}}%
       
   425 {}
       
   426 
       
   427 \lstnewenvironment{LaTeXCode}[1][]	% code environment for Latex
       
   428 {\lstset{%
       
   429 	language=[LaTeX]TeX,
       
   430 	commentstyle={},
       
   431 	texcl=false,
       
   432 	escapechar={},
       
   433 	%	mathescape=false,
       
   434 	escapeinside={/+}{+/},
       
   435 	#1}}%
       
   436 {}
       
   437 
       
   438 \lstnewenvironment{GenericCode}[1][]	% generic code environment
       
   439 {\lstset{%
       
   440 	language={},
       
   441 	keepspaces=true,
       
   442 	commentstyle={},
       
   443 	texcl=false,
       
   444 	escapechar={},
       
   445 	escapeinside={},
       
   446 %	mathescape=false,
       
   447 	#1}}
       
   448 {}
       
   449 
       
   450 %% ------------- Experimental --------------
       
   451 
       
   452 \newenvironment{NarrowList}%
       
   453 {\begin{list}{}%
       
   454 {\setlength{\leftmargin}{2.5em}
       
   455  \setlength{\labelwidth}{1em}
       
   456  \setlength{\labelsep}{0.5em}
       
   457  \setlength{\itemsep}{0.5ex}
       
   458  \setlength{\parsep}{0ex}
       
   459  \setlength{\topsep}{0ex}
       
   460 \raggedright
       
   461 }}%
       
   462 {\end{list}}
       
   463 
       
   464 \newenvironment{FileList}[1]%
       
   465 {\paragraph{Pfad:} \url{#1}
       
   466  \begin{list}{}%
       
   467 {\setlength{\leftmargin}{5cm}
       
   468  \setlength{\labelwidth}{4cm}
       
   469  \setlength{\labelsep}{0.25cm}
       
   470  \setlength{\rightmargin}{0cm}
       
   471  \setlength{\itemindent}{0cm}
       
   472  \setlength{\itemsep}{0.5ex}
       
   473  \setlength{\parsep}{0ex}
       
   474  \setlength{\topsep}{1ex}
       
   475 \raggedright
       
   476 }}%
       
   477 {\end{list}}
       
   478 
       
   479 \def\widedotfill{\leaders\hbox to 8pt{\hfil.\hfil}\hfill}
       
   480 
       
   481 \newcommand{\fitem}[1]{%
       
   482 %\item[\url{#1}\hfill]
       
   483 %\item[\url{#1}\dotfill]
       
   484 \item[\url{#1}\widedotfill]
       
   485 }
       
   486 
       
   487 \newcommand{\Frametext}[1]{%
       
   488 \setlength{\fboxrule}{0.05mm}%
       
   489 \setlength{\fboxsep}{0.5mm}%
       
   490 \fbox{\vphantom{Ag}#1}%
       
   491 }
       
   492 
       
   493 \newcommand{\FramePic}[1]{%
       
   494 \setlength{\fboxrule}{0.1mm}%
       
   495 \setlength{\fboxsep}{0mm}%
       
   496 \fbox{#1}%
       
   497 }
       
   498 
       
   499 \newcommand{\optbreaknh}{\hskip 0pt } %optional break without hyphen: e.g. PlugIn{\optbrknh}Filter
       
   500 
       
   501 % Erzeugt einen neuen, nicht eingerückten Absatz
       
   502 % mit zusätzlichem Abstand:
       
   503 \newcommand{\SuperPar}[0]{% 
       
   504 \par\bigskip\noindent%
       
   505 }
       
   506 
       
   507 %%% Date-related commands ----------------------------------
       
   508 
       
   509 \RequirePackage{datetime}
       
   510 \showdowfalse	% do not show day of week
       
   511 
       
   512 % adapted from \newdate in datetime.sty
       
   513 \newcommand*{\@modifydate}[4]{%
       
   514 \@namedef{date@#1@d}{#2}%
       
   515 \@namedef{date@#1@m}{#3}%
       
   516 \@namedef{date@#1@y}{#4}%
       
   517 }
       
   518 
       
   519 \newdate{hgb@date}{\the\day}{\the\month}{\the\year}
       
   520 \newcommand{\Date}[3]{%	example for use: \Date{16}{5}{2008}
       
   521   \@modifydate{hgb@date}{#1}{#2}{#3}
       
   522 }
       
   523 
       
   524 \newcommand{\hgb@GetDateDay}{\getdateday{hgb@date}}
       
   525 \newcommand{\hgb@GetDateMonth}{\getdatemonth{hgb@date}}
       
   526 \newcommand{\hgb@GetDateYear}{\getdateyear{hgb@date}}
       
   527 \newcommand{\hgb@DisplayDate}{\displaydate{hgb@date}}
       
   528 
       
   529 %%% Experimental:
       
   530 %\RequirePackage{hyperref}		% ignores \pdfinfo commmands % utf8-change
       
   531 \RequirePackage[unicode]{hyperref}	% utf8-change
       
   532 \definecolor{@darkblue}{RGB}{0,0,140}
       
   533 \definecolor{@darkgreen}{RGB}{0,100,70}
       
   534 \hypersetup{
       
   535   colorlinks   = true, %Colours links instead of ugly boxes
       
   536   urlcolor     = @darkblue, %Colour for external hyperlinks
       
   537   linkcolor    = @darkblue, %Colour of internal links
       
   538   citecolor    = @darkgreen %Colour of citations
       
   539 }	%see https://www.tug.org/applications/hyperref/manual.html
       
   540 
       
   541 
       
   542 \RequirePackage[all]{hypcap} % fixes hyperref problem with references to float captions
       
   543 %\RequirePackage[novbox]{pdfsync} % ersetzt durch -synctex=-1 option
       
   544 %\RequirePackage[noadjust]{cite} % vermeidet zusätzliches Spacing vor [..] % entfernt wegen biblatex
       
   545 
       
   546 \RequirePackage{ifpdf}
       
   547 \ifpdf % LaTeX is in native PDF mode (pdflatex) 
       
   548   \RequirePackage{epstopdf}		% zur automatischen Konvertierung von EPS-Dateien nach PDF für pdflatex
       
   549 %  \pdfcompresslevel=0			  % 0 = keine Kompression, 9 = max. Kompression
       
   550 %  \pdfimageresolution=300
       
   551 \else % LaTeX is in emulation mode (DVI-PS-PDF)
       
   552   \RequirePackage[hyphenbreaks]{breakurl}	% erlaubt Zeilenumbruch von URLs auch ohne pdflatex (DIV, PS, PDF)
       
   553 \fi	
       
   554 	
       
   555 \RequirePackage{enumitem}	% fix excessive vertical spacing in lists
       
   556 \setlist{%
       
   557 	partopsep = .0ex plus .1ex, 
       
   558 	topsep = .6ex plus .3ex, 
       
   559 	itemsep = .0ex plus .1ex, 
       
   560 	parsep = .4ex plus .2ex
       
   561 }
       
   562 %\setlist{nolistsep}	% kein Spacing zwischen items
       
   563 %\setlist{noitemsep}  % überhaupt kein vertik. Spacing
       
   564 
       
   565 %% -------------------------------------------------------
       
   566 
       
   567 \newcommand{\TurnWidowsOff}{%
       
   568 \clubpenalty=10000%
       
   569 \widowpenalty=10000%
       
   570 \displaywidowpenalty=10000}
       
   571 
       
   572 \newenvironment{nowidows}%
       
   573 {\TurnWidowsOff}%
       
   574 {}
       
   575 
       
   576 %%Beispiel
       
   577 %\begin{nowidows}
       
   578 %Beliebiger Text, in dem absolut keine Hurenkinder zugelassen werden.
       
   579 %\end{nowidows}
       
   580 
       
   581 %%How to display TeX parameters:
       
   582 \newcommand{\ShowParameter}[1]{\relax\the#1\showthe#1}
       
   583 %Beispiel: \ShowParameter{\clubpenalty}
       
   584 
       
   585 \setlength{\parskip}{0pt plus 0.1pt}
       
   586 %\flushbottom
       
   587 \raggedbottom
       
   588 
       
   589 %% -------------------------------------------------------
       
   590