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