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 +