s1210629013@55404: %% hgb.sty s1210629013@55404: %% Autor: Wilhelm Burger (wilhelm.burger@fh-hagenberg.at) s1210629013@55404: %% Diese Datei ist Teil des hagenberg-Package zur Erstellung von s1210629013@55404: %% Bachelor- und Diplomarbeiten. s1210629013@55404: s1210629013@55404: \NeedsTeXFormat{LaTeX2e} s1210629013@55404: \newcommand{\hgbDate}{2013/02/19} %Versionsdatum s1210629013@55404: \ProvidesPackage{hgb}[\hgbDate] s1210629013@55404: s1210629013@55404: % options german/english are passed from the class file s1210629013@55404: \DeclareOption{english}{\providecommand{\hgb@MainLanguage}{english}} s1210629013@55404: \DeclareOption{german}{\providecommand{\hgb@MainLanguage}{german}} s1210629013@55404: \ProcessOptions\relax s1210629013@55404: s1210629013@55404: s1210629013@55404: %% ------ Shadowing conflicting symbols from other packages ------- s1210629013@55404: s1210629013@55404: % Macros for resolving name conflicts (from symbols.tex by Scott Pakin): s1210629013@55404: % There are a number of symbols (e.g., \Square) that are defined by % s1210629013@55404: % multiple packages. In order to typeset all the variants in this % s1210629013@55404: % document, we have to give glyph a unique name. To do that, we define % s1210629013@55404: % \savesymbol{XXX}, which renames a symbol from \XXX to \origXXX, and % s1210629013@55404: % \restoresymbol{yyy}{XXX}, which renames \origXXX back to \XXX and % s1210629013@55404: % defines a new command, \yyyXXX, which corresponds to the most recently % s1210629013@55404: % loaded version of \XXX. s1210629013@55404: % Wilbur: modified to use "orig@" instead of "orig" (not visible to users) s1210629013@55404: s1210629013@55404: % Save a symbol that we know is going to get redefined. s1210629013@55404: \def\@savesymbol#1{% s1210629013@55404: \expandafter\let\expandafter\origsym\expandafter=\csname#1\endcsname s1210629013@55404: \expandafter\let\csname orig@#1\endcsname=\origsym s1210629013@55404: \expandafter\let\csname#1\endcsname=\relax s1210629013@55404: } s1210629013@55404: s1210629013@55404: % Restore a previously saved symbol, and rename the current one. s1210629013@55404: \def\@restoresymbol#1#2{% s1210629013@55404: \expandafter\let\expandafter\newsym\expandafter=\csname#2\endcsname s1210629013@55404: \expandafter\global\expandafter\let\csname#1#2\endcsname=\newsym s1210629013@55404: \expandafter\let\expandafter\origsym\expandafter=\csname orig@#2\endcsname s1210629013@55404: \expandafter\global\expandafter\let\csname#2\endcsname=\origsym s1210629013@55404: } s1210629013@55404: s1210629013@55404: % example: s1210629013@55404: %\@savesymbol{EUR} % shadows \EUR command defined in eurosym-Package s1210629013@55404: %\RequirePackage{marvosym} % package defines \EUR again s1210629013@55404: %\@restoresymbol{eurosim}{EUR} %original \EUR is now available as \eurosimEUR s1210629013@55404: s1210629013@55404: %% ------------------ Required Packages ---------------------- s1210629013@55404: s1210629013@55404: \RequirePackage{cmap} %utf8-change s1210629013@55404: %\RequirePackage[latin1]{inputenc} %utf8-change s1210629013@55404: \RequirePackage[utf8]{inputenc} %utf8-change s1210629013@55404: % see http://tex.stackexchange.com/questions/1390/latin-modern-vs-cm-super s1210629013@55404: \RequirePackage{lmodern} %utf8-change, Latin Modern Fonts s1210629013@55404: s1210629013@55404: % T1-Fonts zur besseren Silbentrennung bei Umlauten etc., s1210629013@55404: % verwendet automatisch die cm-super Type1 Postscript Schriften s1210629013@55404: % (in MikTeX ab 2.4 installiert): s1210629013@55404: \RequirePackage[T1]{fontenc} s1210629013@55404: s1210629013@55404: \RequirePackage{ifthen} s1210629013@55404: \RequirePackage[english,german,ngerman]{babel} s1210629013@55404: \RequirePackage{datetime} s1210629013@55404: s1210629013@55404: \RequirePackage{eurosym} % provides \euro - conflict with marvosym on \EUR! s1210629013@55404: %\RequirePackage{marvosym} % provides \EUR and other unusual symbols! s1210629013@55404: %\@ifundefined{euro}% s1210629013@55404: % {\newcommand*{\euro}{\EUR}}% s1210629013@55404: % {} s1210629013@55404: s1210629013@55404: \@ifundefined{hgb@MainLanguage}% s1210629013@55404: {\newcommand*{\hgb@MainLanguage}{german}}% s1210629013@55404: {} s1210629013@55404: s1210629013@55404: % Hauptsprache einstellen (babel): s1210629013@55404: \ifthenelse{\equal{\hgb@MainLanguage}{german}}% s1210629013@55404: {\main@language{ngerman}}{} s1210629013@55404: \ifthenelse{\equal{\hgb@MainLanguage}{english}}% s1210629013@55404: {\main@language{english}}{} s1210629013@55404: s1210629013@55404: %\RequirePackage[fixlanguage]{babelbib} %removed for biblatex s1210629013@55404: s1210629013@55404: %\RequirePackage[dvips]{graphicx} % zur Einbindung von EPS-Grafiken, %utf8-change s1210629013@55404: \RequirePackage{graphicx} %utf8-change, no dvips any longer s1210629013@55404: s1210629013@55404: \RequirePackage[T1,hyphens,obeyspaces,spaces,lowtilde]{url} s1210629013@55404: \urlstyle{sf} s1210629013@55404: s1210629013@55404: \RequirePackage{verbatim} s1210629013@55404: \RequirePackage{moreverb} s1210629013@55404: \def\verbatimtabsize{2\relax} s1210629013@55404: s1210629013@55404: %\RequirePackage[noadjust]{cite} % vermeidet zusätzliches Spacing vor [..] s1210629013@55404: s1210629013@55404: \RequirePackage{float} s1210629013@55404: %\floatplacement{figure}{tbp} s1210629013@55404: %\floatplacement{table}{tbp} s1210629013@55404: \floatstyle{plain} s1210629013@55404: s1210629013@55404: s1210629013@55404: % Captions mit Fontgroesse "small" und Abstand vom Seitenrand s1210629013@55404: \RequirePackage[small,bf]{caption} s1210629013@55404: \setlength{\captionmargin}{5mm} s1210629013@55404: \setlength{\abovecaptionskip}{10pt} s1210629013@55404: \setlength{\belowcaptionskip}{10pt} s1210629013@55404: s1210629013@55404: %\RequirePackage[small,rm,loose]{subfigure} s1210629013@55404: %\setlength{\subfigtopskip}{7pt} s1210629013@55404: %\setlength{\subfigcapskip}{7pt} s1210629013@55404: %\setlength{\subfigcaptopadj}{0pt} s1210629013@55404: %\setlength{\subfigbottomskip}{-3pt} s1210629013@55404: %\setlength{\subfigcapmargin}{0pt} s1210629013@55404: %\setlength{\subfiglabelskip}{0.33em plus 0.07em minus 0.03em} s1210629013@55404: s1210629013@55404: \RequirePackage{exscale} s1210629013@55404: % Skaliert Mathe-Modus Ausgaben in allen Umgebungen richtig. s1210629013@55404: s1210629013@55404: \RequirePackage{upquote} s1210629013@55404: % Setzt "richtige" Quotes in verbatim-Umgebung s1210629013@55404: s1210629013@55404: %\RequirePackage{psfrag} %utf8-change, no psfrag no more s1210629013@55404: s1210629013@55404: % AMS-Math für mathematischen Schriftsatz s1210629013@55404: \RequirePackage{amsmath} s1210629013@55404: \RequirePackage{amsfonts} s1210629013@55404: \RequirePackage{amsbsy} s1210629013@55404: s1210629013@55404: %% ---------------------- Environments ------------------------- s1210629013@55404: s1210629013@55404: %\newenvironment{sourcecode}% s1210629013@55404: %{\begin{minipage}{0.95\textwidth}% s1210629013@55404: % \hrule% s1210629013@55404: % \bigskip% s1210629013@55404: % \begin{footnotesize}% s1210629013@55404: %}% s1210629013@55404: %{\end{footnotesize} s1210629013@55404: % \hrule\end{minipage}% s1210629013@55404: %} s1210629013@55404: s1210629013@55404: % Umschalten von Deutsch auf Englisch (babel) s1210629013@55404: \newenvironment{english}% s1210629013@55404: {\begin{otherlanguage}{english}}% s1210629013@55404: {\end{otherlanguage}} s1210629013@55404: s1210629013@55404: \newenvironment{german}% s1210629013@55404: {\begin{otherlanguage}{ngerman}}% s1210629013@55404: {\end{otherlanguage}} s1210629013@55404: s1210629013@55404: s1210629013@55404: %% --------------------- Makros -------------------------------- s1210629013@55404: s1210629013@55404: %\newcommand{\latex}{{\rm \LaTeX}\xspace} % aus Bequemlichkeit s1210629013@55404: %\newcommand{\latex}{{\sl La\-TeX}\xspace} % kein schnoerkeliges LaTeX mehr s1210629013@55404: \newcommand{\latex}{La\-TeX\xspace} % kein schnoerkeliges LaTeX mehr s1210629013@55404: s1210629013@55404: %\newcommand{\tex}{{\sl TeX}\xspace} % kein schnoerkeliges TeX mehr s1210629013@55404: \newcommand{\tex}{TeX\xspace} % kein schnoerkeliges TeX mehr s1210629013@55404: s1210629013@55404: %\newcommand{\bs}{\char '134} % Backslash character s1210629013@55404: \newcommand{\bs}{\textbackslash} % Backslash character s1210629013@55404: s1210629013@55404: %inline fractions s1210629013@55404: \def\fraction#1/#2{\leavevmode\kern.0em s1210629013@55404: \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em s1210629013@55404: /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}} s1210629013@55404: s1210629013@55404: \newcommand\trennstrich{% s1210629013@55404: \nopagebreak[4] s1210629013@55404: \vskip 1.5ex % s1210629013@55404: % \nopagebreak[4] s1210629013@55404: \noindent\makebox[\textwidth]{\rule{4cm}{0.4pt}} s1210629013@55404: \vskip 2.5ex} s1210629013@55404: s1210629013@55404: %Div. Abkürzungen (in Anlehnung an Jochen Küpper, jkthesis): s1210629013@55404: %\usepackage{xspace} s1210629013@55404: \RequirePackage{xspace} s1210629013@55404: s1210629013@55404: \newcommand{\bzgl}{bzgl.\@\xspace} s1210629013@55404: \newcommand{\bzw}{bzw.\@\xspace} s1210629013@55404: \newcommand{\ca}{ca.\@\xspace} s1210629013@55404: \newcommand{\dah}{d.\thinspace{}h.\@\xspace} s1210629013@55404: \newcommand{\Dah}{D.\thinspace{}h.\@\xspace} s1210629013@55404: \newcommand{\ds}{d.\thinspace{}sind\@\xspace} s1210629013@55404: \newcommand{\evtl}{evtl.\@\xspace} s1210629013@55404: \newcommand{\ia}{i.\thinspace{}Allg.\@\xspace} s1210629013@55404: \newcommand{\sa}{s.\ auch\@\xspace} s1210629013@55404: \newcommand{\so}{s.\ oben\xspace} s1210629013@55404: \newcommand{\su}{s.\ unten\@\xspace} s1210629013@55404: s1210629013@55404: \newcommand{\ua}{u.\thinspace{}a.\@\xspace} s1210629013@55404: \newcommand{\Ua}{U.\thinspace{}a.\@\xspace} s1210629013@55404: \newcommand{\uae}{u.\thinspace{}Ä.\@\xspace} s1210629013@55404: \newcommand{\usw}{usw.\@\xspace} s1210629013@55404: \newcommand{\uva}{u.\thinspace{}v.\thinspace{}a.\@\xspace} s1210629013@55404: \newcommand{\uvm}{u.\thinspace{}v.\thinspace{}m.\@\xspace} s1210629013@55404: \newcommand{\va}{vor allem\@\xspace} s1210629013@55404: \newcommand{\vgl}{vgl.\@\xspace} s1210629013@55404: \newcommand{\zB}{z.\thinspace{}B.\@\xspace} s1210629013@55404: \newcommand{\ZB}{Zum Beispiel\xspace} s1210629013@55404: s1210629013@55404: %Zeichen fuer die reellen, komplexen ... Zahlen (AMS Blackboard) s1210629013@55404: %\RequirePackage{amsfonts} s1210629013@55404: %\RequirePackage{amsbsy} s1210629013@55404: \newcommand{\R}{\ensuremath{\mathbb{R}}} s1210629013@55404: \newcommand{\Z}{\ensuremath{\mathbb{Z}}} s1210629013@55404: \newcommand{\N}{\ensuremath{\mathbb{N}}} s1210629013@55404: %\newcommand{\C}{\mathbb{C}} % utf8-change (problem with T1 encoding) s1210629013@55404: \newcommand{\Cpx}{\ensuremath{\mathbb{C}}} % utf8-change s1210629013@55404: \newcommand{\Q}{\ensuremath{\mathbb{Q}}} s1210629013@55404: s1210629013@55404: %Messbox zur Druckkontrolle: s1210629013@55404: \newcommand{\Messbox}[2]{% Parameters: #1=Breite, #2=Hoehe s1210629013@55404: \setlength{\unitlength}{1.0mm}% s1210629013@55404: \begin{picture}(#1,#2)% s1210629013@55404: \linethickness{0.05mm}% s1210629013@55404: \put(0,0){\dashbox{0.2}(#1,#2)% s1210629013@55404: {\parbox{#1mm}{% s1210629013@55404: \centering\footnotesize s1210629013@55404: %{\bf MESSBOX}\\ s1210629013@55404: Breite $ = #1 {\rm\ mm}$\\ s1210629013@55404: H\"ohe $ = #2 {\rm\ mm}$ s1210629013@55404: }}}\end{picture} s1210629013@55404: } s1210629013@55404: s1210629013@55404: %% ------------- Einstellungen fuer's Layout -------------- s1210629013@55404: s1210629013@55404: %\nonfrenchspacing % erzeugt breitere Abstände zwischen Sätzen s1210629013@55404: \frenchspacing % erzeugt normale Abstände zwischen Sätzen s1210629013@55404: %\pagestyle{headings} % Normale Kopfzeilen s1210629013@55404: s1210629013@55404: %% div. Parameter: nur dann ändern, wenn man genau weiss was man tut! s1210629013@55404: %\setlength{\hoffset}{-1in} s1210629013@55404: %\setlength{\voffset}{-1in} s1210629013@55404: %\setlength{\oddsidemargin}{3cm} s1210629013@55404: %\setlength{\evensidemargin}{2.5cm} s1210629013@55404: %\setlength{\textwidth}{15.5cm} s1210629013@55404: %\setlength{\textheight}{22.8cm} s1210629013@55404: %\setlength{\topmargin}{2.54cm} s1210629013@55404: %\setlength{\headheight}{1ex} s1210629013@55404: %\setlength{\headsep}{1cm} s1210629013@55404: %\parindent0pt s1210629013@55404: %\parskip1.5ex plus0.5ex minus0.5ex % flexibler Absatzabstand s1210629013@55404: s1210629013@55404: % Make float placement easier s1210629013@55404: \renewcommand{\floatpagefraction}{.9} % vorher: .5 s1210629013@55404: \renewcommand{\textfraction}{.01} % vorher: .2 s1210629013@55404: \renewcommand{\topfraction}{.9} % vorher: .7 s1210629013@55404: \renewcommand{\bottomfraction}{.7} % vorher: .3 s1210629013@55404: \setcounter{topnumber}{3} % vorher: 2 s1210629013@55404: \setcounter{bottomnumber}{2} % vorher: 1 s1210629013@55404: \setcounter{totalnumber}{5} % vorher: 3 s1210629013@55404: s1210629013@55404: %% ------------- Math Stuff -------------- s1210629013@55404: %% Problem mit Satzzeichen im Math-Modus! s1210629013@55404: %% Verwende Komma (statt Punkt) als Trennzeichen in Dezimalzahlen s1210629013@55404: %\DeclareMathSymbol{,}{\mathpunct}{letters}{"3B} s1210629013@55404: %\DeclareMathSymbol{.}{\mathord}{letters}{"3B} s1210629013@55404: %\DeclareMathSymbol{\decimal}{\mathord}{letters}{"3A} s1210629013@55404: s1210629013@55404: %% ------------- Algorithms Stuff --------- s1210629013@55404: s1210629013@55404: % 'algorithm' liefert die Float-Umgebung für Algorithmen (\begin{algorithm}...) s1210629013@55404: \@ifundefined{chapter}% s1210629013@55404: {\RequirePackage[ruled]{algorithm}}% s1210629013@55404: {\RequirePackage[ruled,chapter]{algorithm}} s1210629013@55404: s1210629013@55404: %\floatname{algorithm}{Algorithmus} s1210629013@55404: %\DeclareCaptionLabelSeparator{colon}{: } % Anpassung an den standard caption style s1210629013@55404: \DeclareCaptionStyle{ruled}{labelfont=bf,labelsep=colon} s1210629013@55404: s1210629013@55404: % 'algorithmicx' liefert das Innere der Algorithmen (\begin{algorithmic}[1]...) s1210629013@55404: \RequirePackage{algorithmicx} s1210629013@55404: \RequirePackage{algpseudocode} s1210629013@55404: \algsetlanguage{pseudocode} s1210629013@55404: \renewcommand{\algorithmicprocedure}{} % use no 'Procedure' keyword s1210629013@55404: s1210629013@55404: s1210629013@55404: s1210629013@55404: %% ------------- Program environment / code listings -------------- s1210629013@55404: s1210629013@55404: % define the program float environment: s1210629013@55404: \@ifundefined{chapter}% s1210629013@55404: {\newfloat{program}{tbp}{lop}}% s1210629013@55404: {\newfloat{program}{tbp}{lop}[chapter]} s1210629013@55404: %\floatname{program}{Programm} s1210629013@55404: %\floatname{program}{\@ProgramName} s1210629013@55404: \floatstyle{plain} s1210629013@55404: \restylefloat*{program} s1210629013@55404: s1210629013@55404: \ifthenelse{\equal{\bbl@main@language}{german} \or \equal{\bbl@main@language}{ngerman}}% s1210629013@55404: { \floatname{program}{Programm} s1210629013@55404: \floatname{algorithm}{Algorithmus} s1210629013@55404: }{} s1210629013@55404: s1210629013@55404: \ifthenelse{\equal{\bbl@main@language}{english}}% s1210629013@55404: { \floatname{program}{Program} s1210629013@55404: \floatname{algorithm}{Algorithm} s1210629013@55404: }{} s1210629013@55404: s1210629013@55404: s1210629013@55466: \RequirePackage{xcolor} s1210629013@55404: \definecolor{lightgray}{gray}{0.9} s1210629013@55404: \definecolor{midgray}{gray}{0.5} s1210629013@55404: \color{black} s1210629013@55404: \newcommand{\@MissingArg}[1]{\textcolor{red}{#1}} s1210629013@55404: s1210629013@55404: %\RequirePackage{listings} % utf8-change s1210629013@55404: \RequirePackage{listingsutf8} % utf8-change s1210629013@55404: \lstset{ s1210629013@55404: %language=Java,% s1210629013@55404: inputencoding=utf8, % utf8-change s1210629013@55404: extendedchars=true, % utf8-change s1210629013@55404: basicstyle=\ttfamily\footnotesize,% s1210629013@55404: keywordstyle=,%\ttfamily,%\bfseries, s1210629013@55404: identifierstyle=,%\sffamily, %\bfseries s1210629013@55404: commentstyle=\normalfont\itshape,% s1210629013@55404: stringstyle=\ttfamily,% s1210629013@55404: showstringspaces=false,% s1210629013@55404: columns = flexible,% fixed, s1210629013@55404: breaklines=true,% s1210629013@55404: tabsize=2, % s1210629013@55404: backgroundcolor=\color{lightgray}, s1210629013@55404: xleftmargin=6mm,% s1210629013@55404: frame=none, s1210629013@55404: framexleftmargin=6mm, s1210629013@55404: numbers=left,% s1210629013@55404: numbersep=5pt,% s1210629013@55404: numberstyle=\normalfont\scriptsize,% s1210629013@55404: stepnumber=1,% s1210629013@55404: numberfirstline=true,% s1210629013@55404: numberblanklines=true,% s1210629013@55404: texcl=true,% %important: read program comments as Latex content s1210629013@55404: mathescape=false, %set false by default? s1210629013@55404: upquote=true,% s1210629013@55404: keepspaces=true,% s1210629013@55404: } s1210629013@55404: s1210629013@55404: \lstset{literate=% to allow Umlauts etc. in listed code % utf8-change s1210629013@55404: {Ö}{{\"O}}1 s1210629013@55404: {Ä}{{\"A}}1 s1210629013@55404: {Ü}{{\"U}}1 s1210629013@55404: {ß}{{\ss}}2 s1210629013@55404: {ü}{{\"u}}1 s1210629013@55404: {ä}{{\"a}}1 s1210629013@55404: {ö}{{\"o}}1 s1210629013@55404: } s1210629013@55404: s1210629013@55404: \lstnewenvironment{JavaCode}[1][] % code environment for Java s1210629013@55404: {\lstset{% s1210629013@55404: language=Java, s1210629013@55404: escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.) s1210629013@55404: #1}} s1210629013@55404: {} s1210629013@55404: s1210629013@55404: \lstnewenvironment{CCode}[1][] % code environment for C (ANSI) s1210629013@55404: {\lstset{% s1210629013@55404: language=[ANSI]C, s1210629013@55404: escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.) s1210629013@55404: #1}} s1210629013@55404: {} s1210629013@55404: s1210629013@55404: \lstnewenvironment{CppCode}[1][] % code environment for C++ (ISO) s1210629013@55404: {\lstset{% s1210629013@55404: language=[ISO]C++, s1210629013@55404: escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.) s1210629013@55404: #1}} s1210629013@55404: {} s1210629013@55404: s1210629013@55404: \lstnewenvironment{PhpCode}[1][] s1210629013@55404: {\lstset{% s1210629013@55404: language=PHP, s1210629013@55404: % mathescape=false, s1210629013@55404: escapeinside={/+}{+/}, s1210629013@55404: #1}}% s1210629013@55404: {} s1210629013@55404: s1210629013@55404: \lstnewenvironment{HtmlCode}[1][] s1210629013@55404: {\lstset{% s1210629013@55404: language=HTML, s1210629013@55404: % mathescape=false, s1210629013@55404: escapeinside={/+}{+/}, s1210629013@55404: #1}}% s1210629013@55404: {} s1210629013@55404: s1210629013@55404: \lstdefinelanguage{CSS} s1210629013@55404: { morekeywords={color,background,margin,padding,font,weight,display,position,top,% s1210629013@55404: left,right,bottom,list,style,border,size,white,space,min,width}, s1210629013@55404: sensitive=false, s1210629013@55404: morecomment=[l]{//}, s1210629013@55404: morecomment=[s]{/*}{*/}, s1210629013@55404: morestring=[b]" s1210629013@55404: } s1210629013@55404: s1210629013@55404: \lstnewenvironment{CssCode}[1][] s1210629013@55404: {\lstset{% s1210629013@55404: language=CSS, s1210629013@55404: % mathescape=false, s1210629013@55404: escapeinside={/+}{+/}, s1210629013@55404: #1}}% s1210629013@55404: {} s1210629013@55404: s1210629013@55404: \lstnewenvironment{XmlCode}[1][] s1210629013@55404: {\lstset{% s1210629013@55404: language=XML, s1210629013@55404: % mathescape=false, s1210629013@55404: escapeinside={/+}{+/}, s1210629013@55404: #1}}% s1210629013@55404: {} s1210629013@55404: s1210629013@55404: \lstdefinelanguage{JavaScript} s1210629013@55404: { keywords={attributes, class, classend, do, empty, endif, endwhile, fail, function,% s1210629013@55404: functionend, if, implements, in, inherit, inout, not, of, operations, out, s1210629013@55404: return, set, then, types, while, use}, s1210629013@55404: sensitive=false, s1210629013@55404: morecomment=[l]{//}, s1210629013@55404: morecomment=[s]{/*}{*/} s1210629013@55404: } s1210629013@55404: s1210629013@55404: \lstnewenvironment{JsCode}[1][] s1210629013@55404: {\lstset{% s1210629013@55404: language=JavaScript, s1210629013@55404: mathescape=false, s1210629013@55404: escapeinside={/+}{+/}, s1210629013@55404: #1}}% s1210629013@55404: {} s1210629013@55404: s1210629013@55404: \lstnewenvironment{LaTeXCode}[1][] % code environment for Latex s1210629013@55404: {\lstset{% s1210629013@55404: language=[LaTeX]TeX, s1210629013@55404: commentstyle={}, s1210629013@55404: texcl=false, s1210629013@55404: escapechar={}, s1210629013@55404: % mathescape=false, s1210629013@55404: escapeinside={/+}{+/}, s1210629013@55404: #1}}% s1210629013@55404: {} s1210629013@55404: s1210629013@55404: \lstnewenvironment{GenericCode}[1][] % generic code environment s1210629013@55404: {\lstset{% s1210629013@55404: language={}, s1210629013@55404: keepspaces=true, s1210629013@55404: commentstyle={}, s1210629013@55404: texcl=false, s1210629013@55404: escapechar={}, s1210629013@55404: escapeinside={}, s1210629013@55404: % mathescape=false, s1210629013@55404: #1}} s1210629013@55404: {} s1210629013@55404: s1210629013@55404: %% ------------- Experimental -------------- s1210629013@55404: s1210629013@55404: \newenvironment{NarrowList}% s1210629013@55404: {\begin{list}{}% s1210629013@55404: {\setlength{\leftmargin}{2.5em} s1210629013@55404: \setlength{\labelwidth}{1em} s1210629013@55404: \setlength{\labelsep}{0.5em} s1210629013@55404: \setlength{\itemsep}{0.5ex} s1210629013@55404: \setlength{\parsep}{0ex} s1210629013@55404: \setlength{\topsep}{0ex} s1210629013@55404: \raggedright s1210629013@55404: }}% s1210629013@55404: {\end{list}} s1210629013@55404: s1210629013@55404: \newenvironment{FileList}[1]% s1210629013@55404: {\paragraph{Pfad:} \url{#1} s1210629013@55404: \begin{list}{}% s1210629013@55404: {\setlength{\leftmargin}{5cm} s1210629013@55404: \setlength{\labelwidth}{4cm} s1210629013@55404: \setlength{\labelsep}{0.25cm} s1210629013@55404: \setlength{\rightmargin}{0cm} s1210629013@55404: \setlength{\itemindent}{0cm} s1210629013@55404: \setlength{\itemsep}{0.5ex} s1210629013@55404: \setlength{\parsep}{0ex} s1210629013@55404: \setlength{\topsep}{1ex} s1210629013@55404: \raggedright s1210629013@55404: }}% s1210629013@55404: {\end{list}} s1210629013@55404: s1210629013@55404: \def\widedotfill{\leaders\hbox to 8pt{\hfil.\hfil}\hfill} s1210629013@55404: s1210629013@55404: \newcommand{\fitem}[1]{% s1210629013@55404: %\item[\url{#1}\hfill] s1210629013@55404: %\item[\url{#1}\dotfill] s1210629013@55404: \item[\url{#1}\widedotfill] s1210629013@55404: } s1210629013@55404: s1210629013@55404: \newcommand{\Frametext}[1]{% s1210629013@55404: \setlength{\fboxrule}{0.05mm}% s1210629013@55404: \setlength{\fboxsep}{0.5mm}% s1210629013@55404: \fbox{\vphantom{Ag}#1}% s1210629013@55404: } s1210629013@55404: s1210629013@55404: \newcommand{\FramePic}[1]{% s1210629013@55404: \setlength{\fboxrule}{0.1mm}% s1210629013@55404: \setlength{\fboxsep}{0mm}% s1210629013@55404: \fbox{#1}% s1210629013@55404: } s1210629013@55404: s1210629013@55404: \newcommand{\optbreaknh}{\hskip 0pt } %optional break without hyphen: e.g. PlugIn{\optbrknh}Filter s1210629013@55404: s1210629013@55404: % Erzeugt einen neuen, nicht eingerückten Absatz s1210629013@55404: % mit zusätzlichem Abstand: s1210629013@55404: \newcommand{\SuperPar}[0]{% s1210629013@55404: \par\bigskip\noindent% s1210629013@55404: } s1210629013@55404: s1210629013@55404: %%% Date-related commands ---------------------------------- s1210629013@55404: s1210629013@55404: \RequirePackage{datetime} s1210629013@55404: \showdowfalse % do not show day of week s1210629013@55404: s1210629013@55404: % adapted from \newdate in datetime.sty s1210629013@55404: \newcommand*{\@modifydate}[4]{% s1210629013@55404: \@namedef{date@#1@d}{#2}% s1210629013@55404: \@namedef{date@#1@m}{#3}% s1210629013@55404: \@namedef{date@#1@y}{#4}% s1210629013@55404: } s1210629013@55404: s1210629013@55404: \newdate{hgb@date}{\the\day}{\the\month}{\the\year} s1210629013@55404: \newcommand{\Date}[3]{% example for use: \Date{16}{5}{2008} s1210629013@55404: \@modifydate{hgb@date}{#1}{#2}{#3} s1210629013@55404: } s1210629013@55404: s1210629013@55404: \newcommand{\hgb@GetDateDay}{\getdateday{hgb@date}} s1210629013@55404: \newcommand{\hgb@GetDateMonth}{\getdatemonth{hgb@date}} s1210629013@55404: \newcommand{\hgb@GetDateYear}{\getdateyear{hgb@date}} s1210629013@55404: \newcommand{\hgb@DisplayDate}{\displaydate{hgb@date}} s1210629013@55404: s1210629013@55404: %%% Experimental: s1210629013@55404: %\RequirePackage{hyperref} % ignores \pdfinfo commmands % utf8-change s1210629013@55404: \RequirePackage[unicode]{hyperref} % utf8-change s1210629013@55404: \definecolor{@darkblue}{RGB}{0,0,140} s1210629013@55404: \definecolor{@darkgreen}{RGB}{0,100,70} s1210629013@55404: \hypersetup{ s1210629013@55404: colorlinks = true, %Colours links instead of ugly boxes s1210629013@55404: urlcolor = @darkblue, %Colour for external hyperlinks s1210629013@55404: linkcolor = @darkblue, %Colour of internal links s1210629013@55404: citecolor = @darkgreen %Colour of citations s1210629013@55404: } %see https://www.tug.org/applications/hyperref/manual.html s1210629013@55404: s1210629013@55404: s1210629013@55404: \RequirePackage[all]{hypcap} % fixes hyperref problem with references to float captions s1210629013@55404: %\RequirePackage[novbox]{pdfsync} % ersetzt durch -synctex=-1 option s1210629013@55404: %\RequirePackage[noadjust]{cite} % vermeidet zusätzliches Spacing vor [..] % entfernt wegen biblatex s1210629013@55404: s1210629013@55404: \RequirePackage{ifpdf} s1210629013@55404: \ifpdf % LaTeX is in native PDF mode (pdflatex) s1210629013@55404: \RequirePackage{epstopdf} % zur automatischen Konvertierung von EPS-Dateien nach PDF für pdflatex s1210629013@55404: % \pdfcompresslevel=0 % 0 = keine Kompression, 9 = max. Kompression s1210629013@55404: % \pdfimageresolution=300 s1210629013@55404: \else % LaTeX is in emulation mode (DVI-PS-PDF) s1210629013@55404: \RequirePackage[hyphenbreaks]{breakurl} % erlaubt Zeilenumbruch von URLs auch ohne pdflatex (DIV, PS, PDF) s1210629013@55404: \fi s1210629013@55404: s1210629013@55404: \RequirePackage{enumitem} % fix excessive vertical spacing in lists s1210629013@55404: \setlist{% s1210629013@55404: partopsep = .0ex plus .1ex, s1210629013@55404: topsep = .6ex plus .3ex, s1210629013@55404: itemsep = .0ex plus .1ex, s1210629013@55404: parsep = .4ex plus .2ex s1210629013@55404: } s1210629013@55404: %\setlist{nolistsep} % kein Spacing zwischen items s1210629013@55404: %\setlist{noitemsep} % überhaupt kein vertik. Spacing s1210629013@55404: s1210629013@55404: %% ------------------------------------------------------- s1210629013@55404: s1210629013@55404: \newcommand{\TurnWidowsOff}{% s1210629013@55404: \clubpenalty=10000% s1210629013@55404: \widowpenalty=10000% s1210629013@55404: \displaywidowpenalty=10000} s1210629013@55404: s1210629013@55404: \newenvironment{nowidows}% s1210629013@55404: {\TurnWidowsOff}% s1210629013@55404: {} s1210629013@55404: s1210629013@55404: %%Beispiel s1210629013@55404: %\begin{nowidows} s1210629013@55404: %Beliebiger Text, in dem absolut keine Hurenkinder zugelassen werden. s1210629013@55404: %\end{nowidows} s1210629013@55404: s1210629013@55404: %%How to display TeX parameters: s1210629013@55404: \newcommand{\ShowParameter}[1]{\relax\the#1\showthe#1} s1210629013@55404: %Beispiel: \ShowParameter{\clubpenalty} s1210629013@55404: s1210629013@55404: \setlength{\parskip}{0pt plus 0.1pt} s1210629013@55404: %\flushbottom s1210629013@55404: \raggedbottom s1210629013@55404: s1210629013@55404: %% ------------------------------------------------------- s1210629013@55404: