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@55404
|
301 |
\RequirePackage{color}
|
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 |
|